From b2b04336921c9e35487d93e819228e6d8c2ad9ed Mon Sep 17 00:00:00 2001 From: kang Date: Wed, 24 Apr 2024 20:32:55 +0900 Subject: [PATCH] init: open source --- .github/workflows/release-please.yaml | 18 + .github/workflows/test.yaml | 38 + .gitignore | 45 + LICENSE | 661 +++ README.md | 25 + app.go | 125 + build/README.md | 35 + build/appicon.png | Bin 0 -> 114611 bytes build/darwin/Info.dev.plist | 68 + build/darwin/Info.plist | 63 + build/windows/icon.ico | Bin 0 -> 24910 bytes build/windows/info.json | 15 + build/windows/installer/project.nsi | 114 + build/windows/installer/wails_tools.nsh | 249 ++ build/windows/wails.exe.manifest | 15 + cmd/debug/main.go | 24 + frontend/.eslintignore | 3 + frontend/.eslintrc.json | 51 + frontend/index.html | 13 + frontend/package-lock.json | 3848 +++++++++++++++++ frontend/package.json | 32 + frontend/package.json.md5 | 1 + frontend/public/extensions/note/index.html | 1 + .../public/extensions/note/static/app.css | 1 + frontend/public/extensions/note/static/app.js | 1 + frontend/src/app/components/dir/index.tsx | 41 + frontend/src/app/components/dir/styles.scss | 60 + frontend/src/app/components/footer/index.tsx | 61 + .../src/app/components/footer/menu/common.tsx | 46 + .../src/app/components/footer/menu/delete.tsx | 65 + .../src/app/components/footer/menu/index.tsx | 166 + .../app/components/footer/menu/styles.scss | 45 + .../src/app/components/footer/styles.scss | 39 + frontend/src/app/components/header/index.tsx | 23 + .../src/app/components/header/styles.scss | 48 + frontend/src/app/components/manual/index.tsx | 55 + .../src/app/components/manual/styles.scss | 91 + .../app/components/preview/editor/index.tsx | 24 + .../editor/toolbar/images/add-block.svg | 6 + .../preview/editor/toolbar/images/bold.svg | 5 + .../preview/editor/toolbar/images/droplet.svg | 5 + .../preview/editor/toolbar/images/embed2.svg | 7 + .../editor/toolbar/images/indent-decrease.svg | 5 + .../editor/toolbar/images/indent-increase.svg | 5 + .../preview/editor/toolbar/images/italic.svg | 5 + .../preview/editor/toolbar/images/link.svg | 6 + .../preview/editor/toolbar/images/redo.svg | 5 + .../editor/toolbar/images/strikethrough.svg | 5 + .../editor/toolbar/images/underline.svg | 5 + .../preview/editor/toolbar/images/undo.svg | 5 + .../preview/editor/toolbar/index.tsx | 134 + .../preview/editor/toolbar/styles.scss | 24 + frontend/src/app/components/preview/index.tsx | 51 + .../src/app/components/preview/styles.scss | 44 + frontend/src/app/page.tsx | 62 + frontend/src/app/styles.scss | 48 + frontend/src/app/utils/index.ts | 10 + frontend/src/domain/index.ts | 1 + frontend/src/domain/usecase/editor/index.ts | 78 + frontend/src/domain/usecase/index.ts | 3 + frontend/src/domain/usecase/nav/index.ts | 351 ++ frontend/src/domain/usecase/nav/lru.ts | 44 + .../src/domain/usecase/state/common/index.ts | 1 + .../state/common/recoilExternalPortal.tsx | 64 + .../src/domain/usecase/state/editorToolbar.ts | 27 + frontend/src/domain/usecase/state/index.ts | 9 + frontend/src/domain/usecase/state/preview.ts | 23 + frontend/src/domain/usecase/state/redraw.ts | 19 + frontend/src/main.tsx | 13 + frontend/src/style.css | 10 + frontend/src/vite-env.d.ts | 2 + frontend/tsconfig.json | 38 + frontend/tsconfig.node.json | 11 + frontend/types.d.ts | 4 + frontend/vite.config.ts | 10 + frontend/wailsjs/go/main/App.d.ts | 23 + frontend/wailsjs/go/main/App.js | 43 + frontend/wailsjs/go/models.ts | 65 + frontend/wailsjs/runtime/package.json | 24 + frontend/wailsjs/runtime/runtime.d.ts | 235 + frontend/wailsjs/runtime/runtime.js | 202 + go.mod | 54 + go.sum | 138 + main.go | 56 + pkg/combine/combine.go | 113 + pkg/config/config.go | 12 + pkg/editor/handler.go | 62 + pkg/editor/pool/block.go | 185 + pkg/editor/pool/note.go | 234 + pkg/editor/pool/pool.go | 165 + pkg/file/file.go | 23 + pkg/identifier/identifier.go | 44 + pkg/local/note/ctrb.go | 103 + pkg/local/note/demo.go | 67 + pkg/local/note/demo.note.json | 15 + pkg/local/sqlite.go | 34 + pkg/logger/logger.go | 53 + pkg/nav/dir.go | 65 + pkg/nav/exec.go | 84 + pkg/nav/file.go | 62 + pkg/nav/nav.go | 39 + pkg/nav/preview.go | 92 + pkg/nav/sys_darwin.go | 37 + pkg/nav/sys_windows.go | 20 + wails.json | 12 + 105 files changed, 9716 insertions(+) create mode 100644 .github/workflows/release-please.yaml create mode 100644 .github/workflows/test.yaml create mode 100644 .gitignore create mode 100644 LICENSE create mode 100644 README.md create mode 100644 app.go create mode 100644 build/README.md create mode 100644 build/appicon.png create mode 100644 build/darwin/Info.dev.plist create mode 100644 build/darwin/Info.plist create mode 100644 build/windows/icon.ico create mode 100644 build/windows/info.json create mode 100644 build/windows/installer/project.nsi create mode 100644 build/windows/installer/wails_tools.nsh create mode 100644 build/windows/wails.exe.manifest create mode 100644 cmd/debug/main.go create mode 100644 frontend/.eslintignore create mode 100644 frontend/.eslintrc.json create mode 100644 frontend/index.html create mode 100644 frontend/package-lock.json create mode 100644 frontend/package.json create mode 100755 frontend/package.json.md5 create mode 100644 frontend/public/extensions/note/index.html create mode 100644 frontend/public/extensions/note/static/app.css create mode 100644 frontend/public/extensions/note/static/app.js create mode 100644 frontend/src/app/components/dir/index.tsx create mode 100644 frontend/src/app/components/dir/styles.scss create mode 100644 frontend/src/app/components/footer/index.tsx create mode 100644 frontend/src/app/components/footer/menu/common.tsx create mode 100644 frontend/src/app/components/footer/menu/delete.tsx create mode 100644 frontend/src/app/components/footer/menu/index.tsx create mode 100644 frontend/src/app/components/footer/menu/styles.scss create mode 100644 frontend/src/app/components/footer/styles.scss create mode 100644 frontend/src/app/components/header/index.tsx create mode 100644 frontend/src/app/components/header/styles.scss create mode 100644 frontend/src/app/components/manual/index.tsx create mode 100644 frontend/src/app/components/manual/styles.scss create mode 100644 frontend/src/app/components/preview/editor/index.tsx create mode 100644 frontend/src/app/components/preview/editor/toolbar/images/add-block.svg create mode 100644 frontend/src/app/components/preview/editor/toolbar/images/bold.svg create mode 100644 frontend/src/app/components/preview/editor/toolbar/images/droplet.svg create mode 100644 frontend/src/app/components/preview/editor/toolbar/images/embed2.svg create mode 100644 frontend/src/app/components/preview/editor/toolbar/images/indent-decrease.svg create mode 100644 frontend/src/app/components/preview/editor/toolbar/images/indent-increase.svg create mode 100644 frontend/src/app/components/preview/editor/toolbar/images/italic.svg create mode 100644 frontend/src/app/components/preview/editor/toolbar/images/link.svg create mode 100644 frontend/src/app/components/preview/editor/toolbar/images/redo.svg create mode 100644 frontend/src/app/components/preview/editor/toolbar/images/strikethrough.svg create mode 100644 frontend/src/app/components/preview/editor/toolbar/images/underline.svg create mode 100644 frontend/src/app/components/preview/editor/toolbar/images/undo.svg create mode 100644 frontend/src/app/components/preview/editor/toolbar/index.tsx create mode 100644 frontend/src/app/components/preview/editor/toolbar/styles.scss create mode 100644 frontend/src/app/components/preview/index.tsx create mode 100644 frontend/src/app/components/preview/styles.scss create mode 100644 frontend/src/app/page.tsx create mode 100644 frontend/src/app/styles.scss create mode 100644 frontend/src/app/utils/index.ts create mode 100644 frontend/src/domain/index.ts create mode 100644 frontend/src/domain/usecase/editor/index.ts create mode 100644 frontend/src/domain/usecase/index.ts create mode 100644 frontend/src/domain/usecase/nav/index.ts create mode 100644 frontend/src/domain/usecase/nav/lru.ts create mode 100644 frontend/src/domain/usecase/state/common/index.ts create mode 100644 frontend/src/domain/usecase/state/common/recoilExternalPortal.tsx create mode 100644 frontend/src/domain/usecase/state/editorToolbar.ts create mode 100644 frontend/src/domain/usecase/state/index.ts create mode 100644 frontend/src/domain/usecase/state/preview.ts create mode 100644 frontend/src/domain/usecase/state/redraw.ts create mode 100644 frontend/src/main.tsx create mode 100644 frontend/src/style.css create mode 100644 frontend/src/vite-env.d.ts create mode 100644 frontend/tsconfig.json create mode 100644 frontend/tsconfig.node.json create mode 100644 frontend/types.d.ts create mode 100644 frontend/vite.config.ts create mode 100755 frontend/wailsjs/go/main/App.d.ts create mode 100755 frontend/wailsjs/go/main/App.js create mode 100755 frontend/wailsjs/go/models.ts create mode 100644 frontend/wailsjs/runtime/package.json create mode 100644 frontend/wailsjs/runtime/runtime.d.ts create mode 100644 frontend/wailsjs/runtime/runtime.js create mode 100644 go.mod create mode 100644 go.sum create mode 100644 main.go create mode 100644 pkg/combine/combine.go create mode 100644 pkg/config/config.go create mode 100644 pkg/editor/handler.go create mode 100644 pkg/editor/pool/block.go create mode 100644 pkg/editor/pool/note.go create mode 100644 pkg/editor/pool/pool.go create mode 100644 pkg/file/file.go create mode 100644 pkg/identifier/identifier.go create mode 100644 pkg/local/note/ctrb.go create mode 100644 pkg/local/note/demo.go create mode 100755 pkg/local/note/demo.note.json create mode 100644 pkg/local/sqlite.go create mode 100644 pkg/logger/logger.go create mode 100644 pkg/nav/dir.go create mode 100644 pkg/nav/exec.go create mode 100644 pkg/nav/file.go create mode 100644 pkg/nav/nav.go create mode 100644 pkg/nav/preview.go create mode 100644 pkg/nav/sys_darwin.go create mode 100644 pkg/nav/sys_windows.go create mode 100644 wails.json diff --git a/.github/workflows/release-please.yaml b/.github/workflows/release-please.yaml new file mode 100644 index 0000000..02ce09a --- /dev/null +++ b/.github/workflows/release-please.yaml @@ -0,0 +1,18 @@ +on: + push: + branches: + - main + +permissions: + contents: write + pull-requests: write + +name: release-please + +jobs: + release-please: + runs-on: ubuntu-latest + steps: + - uses: google-github-actions/release-please-action@v3 + with: + release-type: go \ No newline at end of file diff --git a/.github/workflows/test.yaml b/.github/workflows/test.yaml new file mode 100644 index 0000000..4539ccc --- /dev/null +++ b/.github/workflows/test.yaml @@ -0,0 +1,38 @@ +name: test + +on: + push: + branches: + - main + pull_request: + branches: + - main + +jobs: + + build: + runs-on: ubuntu-latest + steps: + - name: Checkout + uses: actions/checkout@v4 + + - name: Setup Go + uses: actions/setup-go@v4 + with: + go-version: 1.22.0 + + - name: Install + run: go mod tidy + + - name: Test + run: go test -race -coverprofile=cover.prof -covermode=atomic ./pkg/... + + - name: Copy coverage profile to text + run: cp cover.prof cover.txt + + - name: Codecov + uses: codecov/codecov-action@v4 + with: + token: ${{ secrets.CODECOV_TOKEN }} + slug: notebox/nbfm + file: ./cover.txt diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..8bccb10 --- /dev/null +++ b/.gitignore @@ -0,0 +1,45 @@ +build/bin +node_modules +frontend/dist +demo.note +nbfm.log + +# dependencies +/node_modules + +# testing +/coverage + +# production +/dist + +# editor +.idea +.vscode +*.code-workspace +*.suo +*.ntvs* +*.njsproj +*.sln +*.svd +*.userprefs +*.csproj +*.pidb +*.user +*.unityproj +*.booproj +ExportedObj/ +*.xcuserstate + +# misc +.DS_Store +.env.local +.env.development.local +.env.test.local +.env.production.local +.eslintcache + +# log +npm-debug.log* +yarn-debug.log* +yarn-error.log* diff --git a/LICENSE b/LICENSE new file mode 100644 index 0000000..0ad25db --- /dev/null +++ b/LICENSE @@ -0,0 +1,661 @@ + GNU AFFERO GENERAL PUBLIC LICENSE + Version 3, 19 November 2007 + + Copyright (C) 2007 Free Software Foundation, Inc. + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + + Preamble + + The GNU Affero General Public License is a free, copyleft license for +software and other kinds of works, specifically designed to ensure +cooperation with the community in the case of network server software. + + The licenses for most software and other practical works are designed +to take away your freedom to share and change the works. By contrast, +our General Public Licenses are intended to guarantee your freedom to +share and change all versions of a program--to make sure it remains free +software for all its users. + + When we speak of free software, we are referring to freedom, not +price. Our General Public Licenses are designed to make sure that you +have the freedom to distribute copies of free software (and charge for +them if you wish), that you receive source code or can get it if you +want it, that you can change the software or use pieces of it in new +free programs, and that you know you can do these things. + + Developers that use our General Public Licenses protect your rights +with two steps: (1) assert copyright on the software, and (2) offer +you this License which gives you legal permission to copy, distribute +and/or modify the software. + + A secondary benefit of defending all users' freedom is that +improvements made in alternate versions of the program, if they +receive widespread use, become available for other developers to +incorporate. Many developers of free software are heartened and +encouraged by the resulting cooperation. However, in the case of +software used on network servers, this result may fail to come about. +The GNU General Public License permits making a modified version and +letting the public access it on a server without ever releasing its +source code to the public. + + The GNU Affero General Public License is designed specifically to +ensure that, in such cases, the modified source code becomes available +to the community. It requires the operator of a network server to +provide the source code of the modified version running there to the +users of that server. Therefore, public use of a modified version, on +a publicly accessible server, gives the public access to the source +code of the modified version. + + An older license, called the Affero General Public License and +published by Affero, was designed to accomplish similar goals. This is +a different license, not a version of the Affero GPL, but Affero has +released a new version of the Affero GPL which permits relicensing under +this license. + + The precise terms and conditions for copying, distribution and +modification follow. + + TERMS AND CONDITIONS + + 0. Definitions. + + "This License" refers to version 3 of the GNU Affero General Public License. + + "Copyright" also means copyright-like laws that apply to other kinds of +works, such as semiconductor masks. + + "The Program" refers to any copyrightable work licensed under this +License. Each licensee is addressed as "you". "Licensees" and +"recipients" may be individuals or organizations. + + To "modify" a work means to copy from or adapt all or part of the work +in a fashion requiring copyright permission, other than the making of an +exact copy. The resulting work is called a "modified version" of the +earlier work or a work "based on" the earlier work. + + A "covered work" means either the unmodified Program or a work based +on the Program. + + To "propagate" a work means to do anything with it that, without +permission, would make you directly or secondarily liable for +infringement under applicable copyright law, except executing it on a +computer or modifying a private copy. Propagation includes copying, +distribution (with or without modification), making available to the +public, and in some countries other activities as well. + + To "convey" a work means any kind of propagation that enables other +parties to make or receive copies. Mere interaction with a user through +a computer network, with no transfer of a copy, is not conveying. + + An interactive user interface displays "Appropriate Legal Notices" +to the extent that it includes a convenient and prominently visible +feature that (1) displays an appropriate copyright notice, and (2) +tells the user that there is no warranty for the work (except to the +extent that warranties are provided), that licensees may convey the +work under this License, and how to view a copy of this License. If +the interface presents a list of user commands or options, such as a +menu, a prominent item in the list meets this criterion. + + 1. Source Code. + + The "source code" for a work means the preferred form of the work +for making modifications to it. "Object code" means any non-source +form of a work. + + A "Standard Interface" means an interface that either is an official +standard defined by a recognized standards body, or, in the case of +interfaces specified for a particular programming language, one that +is widely used among developers working in that language. + + The "System Libraries" of an executable work include anything, other +than the work as a whole, that (a) is included in the normal form of +packaging a Major Component, but which is not part of that Major +Component, and (b) serves only to enable use of the work with that +Major Component, or to implement a Standard Interface for which an +implementation is available to the public in source code form. A +"Major Component", in this context, means a major essential component +(kernel, window system, and so on) of the specific operating system +(if any) on which the executable work runs, or a compiler used to +produce the work, or an object code interpreter used to run it. + + The "Corresponding Source" for a work in object code form means all +the source code needed to generate, install, and (for an executable +work) run the object code and to modify the work, including scripts to +control those activities. However, it does not include the work's +System Libraries, or general-purpose tools or generally available free +programs which are used unmodified in performing those activities but +which are not part of the work. For example, Corresponding Source +includes interface definition files associated with source files for +the work, and the source code for shared libraries and dynamically +linked subprograms that the work is specifically designed to require, +such as by intimate data communication or control flow between those +subprograms and other parts of the work. + + The Corresponding Source need not include anything that users +can regenerate automatically from other parts of the Corresponding +Source. + + The Corresponding Source for a work in source code form is that +same work. + + 2. Basic Permissions. + + All rights granted under this License are granted for the term of +copyright on the Program, and are irrevocable provided the stated +conditions are met. This License explicitly affirms your unlimited +permission to run the unmodified Program. The output from running a +covered work is covered by this License only if the output, given its +content, constitutes a covered work. This License acknowledges your +rights of fair use or other equivalent, as provided by copyright law. + + You may make, run and propagate covered works that you do not +convey, without conditions so long as your license otherwise remains +in force. You may convey covered works to others for the sole purpose +of having them make modifications exclusively for you, or provide you +with facilities for running those works, provided that you comply with +the terms of this License in conveying all material for which you do +not control copyright. Those thus making or running the covered works +for you must do so exclusively on your behalf, under your direction +and control, on terms that prohibit them from making any copies of +your copyrighted material outside their relationship with you. + + Conveying under any other circumstances is permitted solely under +the conditions stated below. Sublicensing is not allowed; section 10 +makes it unnecessary. + + 3. Protecting Users' Legal Rights From Anti-Circumvention Law. + + No covered work shall be deemed part of an effective technological +measure under any applicable law fulfilling obligations under article +11 of the WIPO copyright treaty adopted on 20 December 1996, or +similar laws prohibiting or restricting circumvention of such +measures. + + When you convey a covered work, you waive any legal power to forbid +circumvention of technological measures to the extent such circumvention +is effected by exercising rights under this License with respect to +the covered work, and you disclaim any intention to limit operation or +modification of the work as a means of enforcing, against the work's +users, your or third parties' legal rights to forbid circumvention of +technological measures. + + 4. Conveying Verbatim Copies. + + You may convey verbatim copies of the Program's source code as you +receive it, in any medium, provided that you conspicuously and +appropriately publish on each copy an appropriate copyright notice; +keep intact all notices stating that this License and any +non-permissive terms added in accord with section 7 apply to the code; +keep intact all notices of the absence of any warranty; and give all +recipients a copy of this License along with the Program. + + You may charge any price or no price for each copy that you convey, +and you may offer support or warranty protection for a fee. + + 5. Conveying Modified Source Versions. + + You may convey a work based on the Program, or the modifications to +produce it from the Program, in the form of source code under the +terms of section 4, provided that you also meet all of these conditions: + + a) The work must carry prominent notices stating that you modified + it, and giving a relevant date. + + b) The work must carry prominent notices stating that it is + released under this License and any conditions added under section + 7. This requirement modifies the requirement in section 4 to + "keep intact all notices". + + c) You must license the entire work, as a whole, under this + License to anyone who comes into possession of a copy. This + License will therefore apply, along with any applicable section 7 + additional terms, to the whole of the work, and all its parts, + regardless of how they are packaged. This License gives no + permission to license the work in any other way, but it does not + invalidate such permission if you have separately received it. + + d) If the work has interactive user interfaces, each must display + Appropriate Legal Notices; however, if the Program has interactive + interfaces that do not display Appropriate Legal Notices, your + work need not make them do so. + + A compilation of a covered work with other separate and independent +works, which are not by their nature extensions of the covered work, +and which are not combined with it such as to form a larger program, +in or on a volume of a storage or distribution medium, is called an +"aggregate" if the compilation and its resulting copyright are not +used to limit the access or legal rights of the compilation's users +beyond what the individual works permit. Inclusion of a covered work +in an aggregate does not cause this License to apply to the other +parts of the aggregate. + + 6. Conveying Non-Source Forms. + + You may convey a covered work in object code form under the terms +of sections 4 and 5, provided that you also convey the +machine-readable Corresponding Source under the terms of this License, +in one of these ways: + + a) Convey the object code in, or embodied in, a physical product + (including a physical distribution medium), accompanied by the + Corresponding Source fixed on a durable physical medium + customarily used for software interchange. + + b) Convey the object code in, or embodied in, a physical product + (including a physical distribution medium), accompanied by a + written offer, valid for at least three years and valid for as + long as you offer spare parts or customer support for that product + model, to give anyone who possesses the object code either (1) a + copy of the Corresponding Source for all the software in the + product that is covered by this License, on a durable physical + medium customarily used for software interchange, for a price no + more than your reasonable cost of physically performing this + conveying of source, or (2) access to copy the + Corresponding Source from a network server at no charge. + + c) Convey individual copies of the object code with a copy of the + written offer to provide the Corresponding Source. This + alternative is allowed only occasionally and noncommercially, and + only if you received the object code with such an offer, in accord + with subsection 6b. + + d) Convey the object code by offering access from a designated + place (gratis or for a charge), and offer equivalent access to the + Corresponding Source in the same way through the same place at no + further charge. You need not require recipients to copy the + Corresponding Source along with the object code. If the place to + copy the object code is a network server, the Corresponding Source + may be on a different server (operated by you or a third party) + that supports equivalent copying facilities, provided you maintain + clear directions next to the object code saying where to find the + Corresponding Source. Regardless of what server hosts the + Corresponding Source, you remain obligated to ensure that it is + available for as long as needed to satisfy these requirements. + + e) Convey the object code using peer-to-peer transmission, provided + you inform other peers where the object code and Corresponding + Source of the work are being offered to the general public at no + charge under subsection 6d. + + A separable portion of the object code, whose source code is excluded +from the Corresponding Source as a System Library, need not be +included in conveying the object code work. + + A "User Product" is either (1) a "consumer product", which means any +tangible personal property which is normally used for personal, family, +or household purposes, or (2) anything designed or sold for incorporation +into a dwelling. In determining whether a product is a consumer product, +doubtful cases shall be resolved in favor of coverage. For a particular +product received by a particular user, "normally used" refers to a +typical or common use of that class of product, regardless of the status +of the particular user or of the way in which the particular user +actually uses, or expects or is expected to use, the product. A product +is a consumer product regardless of whether the product has substantial +commercial, industrial or non-consumer uses, unless such uses represent +the only significant mode of use of the product. + + "Installation Information" for a User Product means any methods, +procedures, authorization keys, or other information required to install +and execute modified versions of a covered work in that User Product from +a modified version of its Corresponding Source. The information must +suffice to ensure that the continued functioning of the modified object +code is in no case prevented or interfered with solely because +modification has been made. + + If you convey an object code work under this section in, or with, or +specifically for use in, a User Product, and the conveying occurs as +part of a transaction in which the right of possession and use of the +User Product is transferred to the recipient in perpetuity or for a +fixed term (regardless of how the transaction is characterized), the +Corresponding Source conveyed under this section must be accompanied +by the Installation Information. But this requirement does not apply +if neither you nor any third party retains the ability to install +modified object code on the User Product (for example, the work has +been installed in ROM). + + The requirement to provide Installation Information does not include a +requirement to continue to provide support service, warranty, or updates +for a work that has been modified or installed by the recipient, or for +the User Product in which it has been modified or installed. Access to a +network may be denied when the modification itself materially and +adversely affects the operation of the network or violates the rules and +protocols for communication across the network. + + Corresponding Source conveyed, and Installation Information provided, +in accord with this section must be in a format that is publicly +documented (and with an implementation available to the public in +source code form), and must require no special password or key for +unpacking, reading or copying. + + 7. Additional Terms. + + "Additional permissions" are terms that supplement the terms of this +License by making exceptions from one or more of its conditions. +Additional permissions that are applicable to the entire Program shall +be treated as though they were included in this License, to the extent +that they are valid under applicable law. If additional permissions +apply only to part of the Program, that part may be used separately +under those permissions, but the entire Program remains governed by +this License without regard to the additional permissions. + + When you convey a copy of a covered work, you may at your option +remove any additional permissions from that copy, or from any part of +it. (Additional permissions may be written to require their own +removal in certain cases when you modify the work.) You may place +additional permissions on material, added by you to a covered work, +for which you have or can give appropriate copyright permission. + + Notwithstanding any other provision of this License, for material you +add to a covered work, you may (if authorized by the copyright holders of +that material) supplement the terms of this License with terms: + + a) Disclaiming warranty or limiting liability differently from the + terms of sections 15 and 16 of this License; or + + b) Requiring preservation of specified reasonable legal notices or + author attributions in that material or in the Appropriate Legal + Notices displayed by works containing it; or + + c) Prohibiting misrepresentation of the origin of that material, or + requiring that modified versions of such material be marked in + reasonable ways as different from the original version; or + + d) Limiting the use for publicity purposes of names of licensors or + authors of the material; or + + e) Declining to grant rights under trademark law for use of some + trade names, trademarks, or service marks; or + + f) Requiring indemnification of licensors and authors of that + material by anyone who conveys the material (or modified versions of + it) with contractual assumptions of liability to the recipient, for + any liability that these contractual assumptions directly impose on + those licensors and authors. + + All other non-permissive additional terms are considered "further +restrictions" within the meaning of section 10. If the Program as you +received it, or any part of it, contains a notice stating that it is +governed by this License along with a term that is a further +restriction, you may remove that term. If a license document contains +a further restriction but permits relicensing or conveying under this +License, you may add to a covered work material governed by the terms +of that license document, provided that the further restriction does +not survive such relicensing or conveying. + + If you add terms to a covered work in accord with this section, you +must place, in the relevant source files, a statement of the +additional terms that apply to those files, or a notice indicating +where to find the applicable terms. + + Additional terms, permissive or non-permissive, may be stated in the +form of a separately written license, or stated as exceptions; +the above requirements apply either way. + + 8. Termination. + + You may not propagate or modify a covered work except as expressly +provided under this License. Any attempt otherwise to propagate or +modify it is void, and will automatically terminate your rights under +this License (including any patent licenses granted under the third +paragraph of section 11). + + However, if you cease all violation of this License, then your +license from a particular copyright holder is reinstated (a) +provisionally, unless and until the copyright holder explicitly and +finally terminates your license, and (b) permanently, if the copyright +holder fails to notify you of the violation by some reasonable means +prior to 60 days after the cessation. + + Moreover, your license from a particular copyright holder is +reinstated permanently if the copyright holder notifies you of the +violation by some reasonable means, this is the first time you have +received notice of violation of this License (for any work) from that +copyright holder, and you cure the violation prior to 30 days after +your receipt of the notice. + + Termination of your rights under this section does not terminate the +licenses of parties who have received copies or rights from you under +this License. If your rights have been terminated and not permanently +reinstated, you do not qualify to receive new licenses for the same +material under section 10. + + 9. Acceptance Not Required for Having Copies. + + You are not required to accept this License in order to receive or +run a copy of the Program. Ancillary propagation of a covered work +occurring solely as a consequence of using peer-to-peer transmission +to receive a copy likewise does not require acceptance. However, +nothing other than this License grants you permission to propagate or +modify any covered work. These actions infringe copyright if you do +not accept this License. Therefore, by modifying or propagating a +covered work, you indicate your acceptance of this License to do so. + + 10. Automatic Licensing of Downstream Recipients. + + Each time you convey a covered work, the recipient automatically +receives a license from the original licensors, to run, modify and +propagate that work, subject to this License. You are not responsible +for enforcing compliance by third parties with this License. + + An "entity transaction" is a transaction transferring control of an +organization, or substantially all assets of one, or subdividing an +organization, or merging organizations. If propagation of a covered +work results from an entity transaction, each party to that +transaction who receives a copy of the work also receives whatever +licenses to the work the party's predecessor in interest had or could +give under the previous paragraph, plus a right to possession of the +Corresponding Source of the work from the predecessor in interest, if +the predecessor has it or can get it with reasonable efforts. + + You may not impose any further restrictions on the exercise of the +rights granted or affirmed under this License. For example, you may +not impose a license fee, royalty, or other charge for exercise of +rights granted under this License, and you may not initiate litigation +(including a cross-claim or counterclaim in a lawsuit) alleging that +any patent claim is infringed by making, using, selling, offering for +sale, or importing the Program or any portion of it. + + 11. Patents. + + A "contributor" is a copyright holder who authorizes use under this +License of the Program or a work on which the Program is based. The +work thus licensed is called the contributor's "contributor version". + + A contributor's "essential patent claims" are all patent claims +owned or controlled by the contributor, whether already acquired or +hereafter acquired, that would be infringed by some manner, permitted +by this License, of making, using, or selling its contributor version, +but do not include claims that would be infringed only as a +consequence of further modification of the contributor version. For +purposes of this definition, "control" includes the right to grant +patent sublicenses in a manner consistent with the requirements of +this License. + + Each contributor grants you a non-exclusive, worldwide, royalty-free +patent license under the contributor's essential patent claims, to +make, use, sell, offer for sale, import and otherwise run, modify and +propagate the contents of its contributor version. + + In the following three paragraphs, a "patent license" is any express +agreement or commitment, however denominated, not to enforce a patent +(such as an express permission to practice a patent or covenant not to +sue for patent infringement). To "grant" such a patent license to a +party means to make such an agreement or commitment not to enforce a +patent against the party. + + If you convey a covered work, knowingly relying on a patent license, +and the Corresponding Source of the work is not available for anyone +to copy, free of charge and under the terms of this License, through a +publicly available network server or other readily accessible means, +then you must either (1) cause the Corresponding Source to be so +available, or (2) arrange to deprive yourself of the benefit of the +patent license for this particular work, or (3) arrange, in a manner +consistent with the requirements of this License, to extend the patent +license to downstream recipients. "Knowingly relying" means you have +actual knowledge that, but for the patent license, your conveying the +covered work in a country, or your recipient's use of the covered work +in a country, would infringe one or more identifiable patents in that +country that you have reason to believe are valid. + + If, pursuant to or in connection with a single transaction or +arrangement, you convey, or propagate by procuring conveyance of, a +covered work, and grant a patent license to some of the parties +receiving the covered work authorizing them to use, propagate, modify +or convey a specific copy of the covered work, then the patent license +you grant is automatically extended to all recipients of the covered +work and works based on it. + + A patent license is "discriminatory" if it does not include within +the scope of its coverage, prohibits the exercise of, or is +conditioned on the non-exercise of one or more of the rights that are +specifically granted under this License. You may not convey a covered +work if you are a party to an arrangement with a third party that is +in the business of distributing software, under which you make payment +to the third party based on the extent of your activity of conveying +the work, and under which the third party grants, to any of the +parties who would receive the covered work from you, a discriminatory +patent license (a) in connection with copies of the covered work +conveyed by you (or copies made from those copies), or (b) primarily +for and in connection with specific products or compilations that +contain the covered work, unless you entered into that arrangement, +or that patent license was granted, prior to 28 March 2007. + + Nothing in this License shall be construed as excluding or limiting +any implied license or other defenses to infringement that may +otherwise be available to you under applicable patent law. + + 12. No Surrender of Others' Freedom. + + If conditions are imposed on you (whether by court order, agreement or +otherwise) that contradict the conditions of this License, they do not +excuse you from the conditions of this License. If you cannot convey a +covered work so as to satisfy simultaneously your obligations under this +License and any other pertinent obligations, then as a consequence you may +not convey it at all. For example, if you agree to terms that obligate you +to collect a royalty for further conveying from those to whom you convey +the Program, the only way you could satisfy both those terms and this +License would be to refrain entirely from conveying the Program. + + 13. Remote Network Interaction; Use with the GNU General Public License. + + Notwithstanding any other provision of this License, if you modify the +Program, your modified version must prominently offer all users +interacting with it remotely through a computer network (if your version +supports such interaction) an opportunity to receive the Corresponding +Source of your version by providing access to the Corresponding Source +from a network server at no charge, through some standard or customary +means of facilitating copying of software. This Corresponding Source +shall include the Corresponding Source for any work covered by version 3 +of the GNU General Public License that is incorporated pursuant to the +following paragraph. + + Notwithstanding any other provision of this License, you have +permission to link or combine any covered work with a work licensed +under version 3 of the GNU General Public License into a single +combined work, and to convey the resulting work. The terms of this +License will continue to apply to the part which is the covered work, +but the work with which it is combined will remain governed by version +3 of the GNU General Public License. + + 14. Revised Versions of this License. + + The Free Software Foundation may publish revised and/or new versions of +the GNU Affero General Public License from time to time. Such new versions +will be similar in spirit to the present version, but may differ in detail to +address new problems or concerns. + + Each version is given a distinguishing version number. If the +Program specifies that a certain numbered version of the GNU Affero General +Public License "or any later version" applies to it, you have the +option of following the terms and conditions either of that numbered +version or of any later version published by the Free Software +Foundation. If the Program does not specify a version number of the +GNU Affero General Public License, you may choose any version ever published +by the Free Software Foundation. + + If the Program specifies that a proxy can decide which future +versions of the GNU Affero General Public License can be used, that proxy's +public statement of acceptance of a version permanently authorizes you +to choose that version for the Program. + + Later license versions may give you additional or different +permissions. However, no additional obligations are imposed on any +author or copyright holder as a result of your choosing to follow a +later version. + + 15. Disclaimer of Warranty. + + THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY +APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT +HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY +OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, +THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM +IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF +ALL NECESSARY SERVICING, REPAIR OR CORRECTION. + + 16. Limitation of Liability. + + IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING +WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS +THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY +GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE +USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF +DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD +PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), +EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF +SUCH DAMAGES. + + 17. Interpretation of Sections 15 and 16. + + If the disclaimer of warranty and limitation of liability provided +above cannot be given local legal effect according to their terms, +reviewing courts shall apply local law that most closely approximates +an absolute waiver of all civil liability in connection with the +Program, unless a warranty or assumption of liability accompanies a +copy of the Program in return for a fee. + + END OF TERMS AND CONDITIONS + + How to Apply These Terms to Your New Programs + + If you develop a new program, and you want it to be of the greatest +possible use to the public, the best way to achieve this is to make it +free software which everyone can redistribute and change under these terms. + + To do so, attach the following notices to the program. It is safest +to attach them to the start of each source file to most effectively +state the exclusion of warranty; and each file should have at least +the "copyright" line and a pointer to where the full notice is found. + + + Copyright (C) + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU Affero General Public License as published + by the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU Affero General Public License for more details. + + You should have received a copy of the GNU Affero General Public License + along with this program. If not, see . + +Also add information on how to contact you by electronic and paper mail. + + If your software can interact with users remotely through a computer +network, you should also make sure that it provides a way for users to +get its source. For example, if your program is a web application, its +interface could display a "Source" link that leads users to an archive +of the code. There are many ways you could offer source, and different +solutions will be better for different programs; see section 13 for the +specific requirements. + + You should also get your employer (if you work as a programmer) or school, +if any, to sign a "copyright disclaimer" for the program, if necessary. +For more information on this, and how to apply and follow the GNU AGPL, see +. diff --git a/README.md b/README.md new file mode 100644 index 0000000..4d4527b --- /dev/null +++ b/README.md @@ -0,0 +1,25 @@ +# nbfm + +[![godoc - documentation](https://godoc.org/github.com/notebox/nbfm?status.svg)](https://pkg.go.dev/github.com/notebox/nbfm) +[![go report card](https://goreportcard.com/badge/github.com/notebox/nbfm)](https://goreportcard.com/report/github.com/notebox/nbfm) +[![github action - test](https://github.com/notebox/nbfm/workflows/test/badge.svg)](https://github.com/notebox/nbfm/actions) +[![codecov - code coverage](https://img.shields.io/codecov/c/github/notebox/nbfm.svg?style=flat-square)](https://codecov.io/gh/notebox/nbfm) +[![sponsor](https://img.shields.io/static/v1?label=Sponsor&message=%E2%9D%A4&logo=GitHub&color=%23fe8e86)](https://github.com/sponsors/notebox) + +[nb-editor](https://github.com/notebox/nb-editor) that enables CRDT synchronization and collaboration using a shared folder without a server + File manager (inspired by [LF](https://github.com/gokcehan/lf)) + +## Development + +### Prerequisites +Install go, npm, platform-specific dependencies, and wails by referring to [wails installation](https://wails.io/docs/gettingstarted/installation). + +### Run +``` +wails dev +``` + +## Key Shortcuts +``` +m > n (new note) +? (open manual) +``` diff --git a/app.go b/app.go new file mode 100644 index 0000000..a9fac90 --- /dev/null +++ b/app.go @@ -0,0 +1,125 @@ +package main + +import ( + "context" + "crypto/sha256" + "database/sql" + "encoding/binary" + "path/filepath" + + "github.com/rs/zerolog/log" + + "github.com/notebox/nbfm/pkg/config" + "github.com/notebox/nbfm/pkg/editor" + "github.com/notebox/nbfm/pkg/identifier" + "github.com/notebox/nbfm/pkg/local" + "github.com/notebox/nbfm/pkg/local/note" + "github.com/notebox/nbfm/pkg/logger" + "github.com/notebox/nbfm/pkg/nav" +) + +// App struct +type App struct { + Editor *editor.Editor + Logger *logger.NBLogger + + ctx context.Context + replicaID uint32 + db *sql.DB + wd *nav.WorkingDir + config *config.Config +} + +func NewApp(config *config.Config) *App { + app := &App{config: config} + logger, err := logger.New(filepath.Join(app.WD().Path, "nbfm.log")) + if err != nil { + log.Fatal().Err(err).Msg("") + } + app.Logger = logger + + wd := app.WD() + db, err := local.ConnectDB(filepath.Join(wd.HomeDir, ".nbfm", "local", "sqlite.db")) + if err != nil { + log.Fatal().Err(err).Msg("") + } + err = note.Prepare(db, wd.Path) + if err != nil { + log.Fatal().Err(err).Msg("") + } + app.db = db + + macAddr, err := identifier.MacAddrHex() + if err != nil { + log.Fatal().Err(err).Msg("") + } + hash := sha256.Sum256(append([]byte(macAddr), 0)) + app.replicaID = binary.BigEndian.Uint32(hash[:4]) + app.Editor = editor.NewEditor(config) + + return app +} + +func (a *App) Startup(ctx context.Context) { + ctx = context.WithValue(ctx, identifier.DB, a.db) + ctx = context.WithValue(ctx, identifier.ReplicaID, a.replicaID) + a.ctx = ctx +} + +func (a *App) Shutdown(ctx context.Context) { + a.Editor.Wait() + a.ctx.Done() + a.ctx.Value(identifier.DB).(*sql.DB).Close() + a.Logger.Close() +} + +func (a *App) WD() *nav.WorkingDir { + if a.wd != nil { + return a.wd + } + + wd, err := nav.NewWorkingDir() + if err != nil { + log.Fatal().Err(err).Msg("") + } + a.wd = wd + return wd +} + +func (a *App) ReadDirFiles(path string, hidden bool) ([]*nav.FileInfo, error) { + return nav.ReadDirFiles(path, hidden) +} + +func (a *App) Preview(path string, hidden bool) (*nav.PreviewInfo, error) { + a.Editor.Close() + return nav.Preview(path, hidden) +} + +func (a *App) NBError(path string, err string) { + a.Editor.Error(path, err) +} + +func (a *App) NBConnected(path string, connected bool) { + a.Editor.Connected(a.ctx, path, connected) +} + +func (a *App) NBContribute(path string, ctrbs string) { + a.Editor.Contribute(a.ctx, path, ctrbs) +} + +/** @category node manipulation */ +func (a *App) DeleteFile(path string) error { + return nav.DeleteFile(path) +} + +func (a *App) AddFile(path string) error { + return nav.AddFile(path) +} + +func (a *App) MoveFile(src, dst string) error { + return nav.MoveFile(src, dst) +} + +func (a *App) CopyFile(src, dst string) error { + return nav.CopyFile(src, dst) +} diff --git a/build/README.md b/build/README.md new file mode 100644 index 0000000..1ae2f67 --- /dev/null +++ b/build/README.md @@ -0,0 +1,35 @@ +# Build Directory + +The build directory is used to house all the build files and assets for your application. + +The structure is: + +* bin - Output directory +* darwin - macOS specific files +* windows - Windows specific files + +## Mac + +The `darwin` directory holds files specific to Mac builds. +These may be customised and used as part of the build. To return these files to the default state, simply delete them +and +build with `wails build`. + +The directory contains the following files: + +- `Info.plist` - the main plist file used for Mac builds. It is used when building using `wails build`. +- `Info.dev.plist` - same as the main plist file but used when building using `wails dev`. + +## Windows + +The `windows` directory contains the manifest and rc files used when building with `wails build`. +These may be customised for your application. To return these files to the default state, simply delete them and +build with `wails build`. + +- `icon.ico` - The icon used for the application. This is used when building using `wails build`. If you wish to + use a different icon, simply replace this file with your own. If it is missing, a new `icon.ico` file + will be created using the `appicon.png` file in the build directory. +- `installer/*` - The files used to create the Windows installer. These are used when building using `wails build`. +- `info.json` - Application details used for Windows builds. The data here will be used by the Windows installer, + as well as the application itself (right click the exe -> properties -> details) +- `wails.exe.manifest` - The main application manifest file. \ No newline at end of file diff --git a/build/appicon.png b/build/appicon.png new file mode 100644 index 0000000000000000000000000000000000000000..05911433e17a5eb524003562341a72729bfa698f GIT binary patch literal 114611 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

)T~ypMu5upX11_u+Q0rEqI+ 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 literal 0 HcmV?d00001 diff --git a/build/darwin/Info.dev.plist b/build/darwin/Info.dev.plist new file mode 100644 index 0000000..04727c2 --- /dev/null +++ b/build/darwin/Info.dev.plist @@ -0,0 +1,68 @@ + + + + CFBundlePackageType + APPL + CFBundleName + {{.Info.ProductName}} + CFBundleExecutable + {{.Name}} + CFBundleIdentifier + com.wails.{{.Name}} + CFBundleVersion + {{.Info.ProductVersion}} + CFBundleGetInfoString + {{.Info.Comments}} + CFBundleShortVersionString + {{.Info.ProductVersion}} + CFBundleIconFile + iconfile + LSMinimumSystemVersion + 10.13.0 + NSHighResolutionCapable + true + NSHumanReadableCopyright + {{.Info.Copyright}} + {{if .Info.FileAssociations}} + CFBundleDocumentTypes + + {{range .Info.FileAssociations}} + + CFBundleTypeExtensions + + {{.Ext}} + + CFBundleTypeName + {{.Name}} + CFBundleTypeRole + {{.Role}} + CFBundleTypeIconFile + {{.IconName}} + + {{end}} + + {{end}} + {{if .Info.Protocols}} + CFBundleURLTypes + + {{range .Info.Protocols}} + + CFBundleURLName + com.wails.{{.Scheme}} + CFBundleURLSchemes + + {{.Scheme}} + + CFBundleTypeRole + {{.Role}} + + {{end}} + + {{end}} + NSAppTransportSecurity + + NSAllowsLocalNetworking + + + + diff --git a/build/darwin/Info.plist b/build/darwin/Info.plist new file mode 100644 index 0000000..19cc937 --- /dev/null +++ b/build/darwin/Info.plist @@ -0,0 +1,63 @@ + + + + CFBundlePackageType + APPL + CFBundleName + {{.Info.ProductName}} + CFBundleExecutable + {{.Name}} + CFBundleIdentifier + com.wails.{{.Name}} + CFBundleVersion + {{.Info.ProductVersion}} + CFBundleGetInfoString + {{.Info.Comments}} + CFBundleShortVersionString + {{.Info.ProductVersion}} + CFBundleIconFile + iconfile + LSMinimumSystemVersion + 10.13.0 + NSHighResolutionCapable + true + NSHumanReadableCopyright + {{.Info.Copyright}} + {{if .Info.FileAssociations}} + CFBundleDocumentTypes + + {{range .Info.FileAssociations}} + + CFBundleTypeExtensions + + {{.Ext}} + + CFBundleTypeName + {{.Name}} + CFBundleTypeRole + {{.Role}} + CFBundleTypeIconFile + {{.IconName}} + + {{end}} + + {{end}} + {{if .Info.Protocols}} + CFBundleURLTypes + + {{range .Info.Protocols}} + + CFBundleURLName + com.wails.{{.Scheme}} + CFBundleURLSchemes + + {{.Scheme}} + + CFBundleTypeRole + {{.Role}} + + {{end}} + + {{end}} + + diff --git a/build/windows/icon.ico b/build/windows/icon.ico new file mode 100644 index 0000000000000000000000000000000000000000..2a8dc558e835a5f9e8a06d325da054f49c1e4e03 GIT binary patch literal 24910 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 xm9*+%Ec-I2C2Ph#*67;qOV)Sh-Y^r0 wails build --target windows/amd64 --nsis +## Then you can call makensis on this file with specifying the path to your binary: +## For a AMD64 only installer: +## > makensis -DARG_WAILS_AMD64_BINARY=..\..\bin\app.exe +## For a ARM64 only installer: +## > makensis -DARG_WAILS_ARM64_BINARY=..\..\bin\app.exe +## For a installer with both architectures: +## > makensis -DARG_WAILS_AMD64_BINARY=..\..\bin\app-amd64.exe -DARG_WAILS_ARM64_BINARY=..\..\bin\app-arm64.exe +#### +## The following information is taken from the ProjectInfo file, but they can be overwritten here. +#### +## !define INFO_PROJECTNAME "MyProject" # Default "{{.Name}}" +## !define INFO_COMPANYNAME "MyCompany" # Default "{{.Info.CompanyName}}" +## !define INFO_PRODUCTNAME "MyProduct" # Default "{{.Info.ProductName}}" +## !define INFO_PRODUCTVERSION "1.0.0" # Default "{{.Info.ProductVersion}}" +## !define INFO_COPYRIGHT "Copyright" # Default "{{.Info.Copyright}}" +### +## !define PRODUCT_EXECUTABLE "Application.exe" # Default "${INFO_PROJECTNAME}.exe" +## !define UNINST_KEY_NAME "UninstKeyInRegistry" # Default "${INFO_COMPANYNAME}${INFO_PRODUCTNAME}" +#### +## !define REQUEST_EXECUTION_LEVEL "admin" # Default "admin" see also https://nsis.sourceforge.io/Docs/Chapter4.html +#### +## Include the wails tools +#### +!include "wails_tools.nsh" + +# The version information for this two must consist of 4 parts +VIProductVersion "${INFO_PRODUCTVERSION}.0" +VIFileVersion "${INFO_PRODUCTVERSION}.0" + +VIAddVersionKey "CompanyName" "${INFO_COMPANYNAME}" +VIAddVersionKey "FileDescription" "${INFO_PRODUCTNAME} Installer" +VIAddVersionKey "ProductVersion" "${INFO_PRODUCTVERSION}" +VIAddVersionKey "FileVersion" "${INFO_PRODUCTVERSION}" +VIAddVersionKey "LegalCopyright" "${INFO_COPYRIGHT}" +VIAddVersionKey "ProductName" "${INFO_PRODUCTNAME}" + +# Enable HiDPI support. https://nsis.sourceforge.io/Reference/ManifestDPIAware +ManifestDPIAware true + +!include "MUI.nsh" + +!define MUI_ICON "..\icon.ico" +!define MUI_UNICON "..\icon.ico" +# !define MUI_WELCOMEFINISHPAGE_BITMAP "resources\leftimage.bmp" #Include this to add a bitmap on the left side of the Welcome Page. Must be a size of 164x314 +!define MUI_FINISHPAGE_NOAUTOCLOSE # Wait on the INSTFILES page so the user can take a look into the details of the installation steps +!define MUI_ABORTWARNING # This will warn the user if they exit from the installer. + +!insertmacro MUI_PAGE_WELCOME # Welcome to the installer page. +# !insertmacro MUI_PAGE_LICENSE "resources\eula.txt" # Adds a EULA page to the installer +!insertmacro MUI_PAGE_DIRECTORY # In which folder install page. +!insertmacro MUI_PAGE_INSTFILES # Installing page. +!insertmacro MUI_PAGE_FINISH # Finished installation page. + +!insertmacro MUI_UNPAGE_INSTFILES # Uinstalling page + +!insertmacro MUI_LANGUAGE "English" # Set the Language of the installer + +## The following two statements can be used to sign the installer and the uninstaller. The path to the binaries are provided in %1 +#!uninstfinalize 'signtool --file "%1"' +#!finalize 'signtool --file "%1"' + +Name "${INFO_PRODUCTNAME}" +OutFile "..\..\bin\${INFO_PROJECTNAME}-${ARCH}-installer.exe" # Name of the installer's file. +InstallDir "$PROGRAMFILES64\${INFO_COMPANYNAME}\${INFO_PRODUCTNAME}" # Default installing folder ($PROGRAMFILES is Program Files folder). +ShowInstDetails show # This will always show the installation details. + +Function .onInit + !insertmacro wails.checkArchitecture +FunctionEnd + +Section + !insertmacro wails.setShellContext + + !insertmacro wails.webview2runtime + + SetOutPath $INSTDIR + + !insertmacro wails.files + + CreateShortcut "$SMPROGRAMS\${INFO_PRODUCTNAME}.lnk" "$INSTDIR\${PRODUCT_EXECUTABLE}" + CreateShortCut "$DESKTOP\${INFO_PRODUCTNAME}.lnk" "$INSTDIR\${PRODUCT_EXECUTABLE}" + + !insertmacro wails.associateFiles + !insertmacro wails.associateCustomProtocols + + !insertmacro wails.writeUninstaller +SectionEnd + +Section "uninstall" + !insertmacro wails.setShellContext + + RMDir /r "$AppData\${PRODUCT_EXECUTABLE}" # Remove the WebView2 DataPath + + RMDir /r $INSTDIR + + Delete "$SMPROGRAMS\${INFO_PRODUCTNAME}.lnk" + Delete "$DESKTOP\${INFO_PRODUCTNAME}.lnk" + + !insertmacro wails.unassociateFiles + !insertmacro wails.unassociateCustomProtocols + + !insertmacro wails.deleteUninstaller +SectionEnd diff --git a/build/windows/installer/wails_tools.nsh b/build/windows/installer/wails_tools.nsh new file mode 100644 index 0000000..f9c0f88 --- /dev/null +++ b/build/windows/installer/wails_tools.nsh @@ -0,0 +1,249 @@ +# DO NOT EDIT - Generated automatically by `wails build` + +!include "x64.nsh" +!include "WinVer.nsh" +!include "FileFunc.nsh" + +!ifndef INFO_PROJECTNAME + !define INFO_PROJECTNAME "{{.Name}}" +!endif +!ifndef INFO_COMPANYNAME + !define INFO_COMPANYNAME "{{.Info.CompanyName}}" +!endif +!ifndef INFO_PRODUCTNAME + !define INFO_PRODUCTNAME "{{.Info.ProductName}}" +!endif +!ifndef INFO_PRODUCTVERSION + !define INFO_PRODUCTVERSION "{{.Info.ProductVersion}}" +!endif +!ifndef INFO_COPYRIGHT + !define INFO_COPYRIGHT "{{.Info.Copyright}}" +!endif +!ifndef PRODUCT_EXECUTABLE + !define PRODUCT_EXECUTABLE "${INFO_PROJECTNAME}.exe" +!endif +!ifndef UNINST_KEY_NAME + !define UNINST_KEY_NAME "${INFO_COMPANYNAME}${INFO_PRODUCTNAME}" +!endif +!define UNINST_KEY "Software\Microsoft\Windows\CurrentVersion\Uninstall\${UNINST_KEY_NAME}" + +!ifndef REQUEST_EXECUTION_LEVEL + !define REQUEST_EXECUTION_LEVEL "admin" +!endif + +RequestExecutionLevel "${REQUEST_EXECUTION_LEVEL}" + +!ifdef ARG_WAILS_AMD64_BINARY + !define SUPPORTS_AMD64 +!endif + +!ifdef ARG_WAILS_ARM64_BINARY + !define SUPPORTS_ARM64 +!endif + +!ifdef SUPPORTS_AMD64 + !ifdef SUPPORTS_ARM64 + !define ARCH "amd64_arm64" + !else + !define ARCH "amd64" + !endif +!else + !ifdef SUPPORTS_ARM64 + !define ARCH "arm64" + !else + !error "Wails: Undefined ARCH, please provide at least one of ARG_WAILS_AMD64_BINARY or ARG_WAILS_ARM64_BINARY" + !endif +!endif + +!macro wails.checkArchitecture + !ifndef WAILS_WIN10_REQUIRED + !define WAILS_WIN10_REQUIRED "This product is only supported on Windows 10 (Server 2016) and later." + !endif + + !ifndef WAILS_ARCHITECTURE_NOT_SUPPORTED + !define WAILS_ARCHITECTURE_NOT_SUPPORTED "This product can't be installed on the current Windows architecture. Supports: ${ARCH}" + !endif + + ${If} ${AtLeastWin10} + !ifdef SUPPORTS_AMD64 + ${if} ${IsNativeAMD64} + Goto ok + ${EndIf} + !endif + + !ifdef SUPPORTS_ARM64 + ${if} ${IsNativeARM64} + Goto ok + ${EndIf} + !endif + + IfSilent silentArch notSilentArch + silentArch: + SetErrorLevel 65 + Abort + notSilentArch: + MessageBox MB_OK "${WAILS_ARCHITECTURE_NOT_SUPPORTED}" + Quit + ${else} + IfSilent silentWin notSilentWin + silentWin: + SetErrorLevel 64 + Abort + notSilentWin: + MessageBox MB_OK "${WAILS_WIN10_REQUIRED}" + Quit + ${EndIf} + + ok: +!macroend + +!macro wails.files + !ifdef SUPPORTS_AMD64 + ${if} ${IsNativeAMD64} + File "/oname=${PRODUCT_EXECUTABLE}" "${ARG_WAILS_AMD64_BINARY}" + ${EndIf} + !endif + + !ifdef SUPPORTS_ARM64 + ${if} ${IsNativeARM64} + File "/oname=${PRODUCT_EXECUTABLE}" "${ARG_WAILS_ARM64_BINARY}" + ${EndIf} + !endif +!macroend + +!macro wails.writeUninstaller + WriteUninstaller "$INSTDIR\uninstall.exe" + + SetRegView 64 + WriteRegStr HKLM "${UNINST_KEY}" "Publisher" "${INFO_COMPANYNAME}" + WriteRegStr HKLM "${UNINST_KEY}" "DisplayName" "${INFO_PRODUCTNAME}" + WriteRegStr HKLM "${UNINST_KEY}" "DisplayVersion" "${INFO_PRODUCTVERSION}" + WriteRegStr HKLM "${UNINST_KEY}" "DisplayIcon" "$INSTDIR\${PRODUCT_EXECUTABLE}" + WriteRegStr HKLM "${UNINST_KEY}" "UninstallString" "$\"$INSTDIR\uninstall.exe$\"" + WriteRegStr HKLM "${UNINST_KEY}" "QuietUninstallString" "$\"$INSTDIR\uninstall.exe$\" /S" + + ${GetSize} "$INSTDIR" "/S=0K" $0 $1 $2 + IntFmt $0 "0x%08X" $0 + WriteRegDWORD HKLM "${UNINST_KEY}" "EstimatedSize" "$0" +!macroend + +!macro wails.deleteUninstaller + Delete "$INSTDIR\uninstall.exe" + + SetRegView 64 + DeleteRegKey HKLM "${UNINST_KEY}" +!macroend + +!macro wails.setShellContext + ${If} ${REQUEST_EXECUTION_LEVEL} == "admin" + SetShellVarContext all + ${else} + SetShellVarContext current + ${EndIf} +!macroend + +# Install webview2 by launching the bootstrapper +# See https://docs.microsoft.com/en-us/microsoft-edge/webview2/concepts/distribution#online-only-deployment +!macro wails.webview2runtime + !ifndef WAILS_INSTALL_WEBVIEW_DETAILPRINT + !define WAILS_INSTALL_WEBVIEW_DETAILPRINT "Installing: WebView2 Runtime" + !endif + + SetRegView 64 + # If the admin key exists and is not empty then webview2 is already installed + ReadRegStr $0 HKLM "SOFTWARE\WOW6432Node\Microsoft\EdgeUpdate\Clients\{F3017226-FE2A-4295-8BDF-00C3A9A7E4C5}" "pv" + ${If} $0 != "" + Goto ok + ${EndIf} + + ${If} ${REQUEST_EXECUTION_LEVEL} == "user" + # If the installer is run in user level, check the user specific key exists and is not empty then webview2 is already installed + ReadRegStr $0 HKCU "Software\Microsoft\EdgeUpdate\Clients{F3017226-FE2A-4295-8BDF-00C3A9A7E4C5}" "pv" + ${If} $0 != "" + Goto ok + ${EndIf} + ${EndIf} + + SetDetailsPrint both + DetailPrint "${WAILS_INSTALL_WEBVIEW_DETAILPRINT}" + SetDetailsPrint listonly + + InitPluginsDir + CreateDirectory "$pluginsdir\webview2bootstrapper" + SetOutPath "$pluginsdir\webview2bootstrapper" + File "tmp\MicrosoftEdgeWebview2Setup.exe" + ExecWait '"$pluginsdir\webview2bootstrapper\MicrosoftEdgeWebview2Setup.exe" /silent /install' + + SetDetailsPrint both + ok: +!macroend + +# Copy of APP_ASSOCIATE and APP_UNASSOCIATE macros from here https://gist.github.com/nikku/281d0ef126dbc215dd58bfd5b3a5cd5b +!macro APP_ASSOCIATE EXT FILECLASS DESCRIPTION ICON COMMANDTEXT COMMAND + ; Backup the previously associated file class + ReadRegStr $R0 SHELL_CONTEXT "Software\Classes\.${EXT}" "" + WriteRegStr SHELL_CONTEXT "Software\Classes\.${EXT}" "${FILECLASS}_backup" "$R0" + + WriteRegStr SHELL_CONTEXT "Software\Classes\.${EXT}" "" "${FILECLASS}" + + WriteRegStr SHELL_CONTEXT "Software\Classes\${FILECLASS}" "" `${DESCRIPTION}` + WriteRegStr SHELL_CONTEXT "Software\Classes\${FILECLASS}\DefaultIcon" "" `${ICON}` + WriteRegStr SHELL_CONTEXT "Software\Classes\${FILECLASS}\shell" "" "open" + WriteRegStr SHELL_CONTEXT "Software\Classes\${FILECLASS}\shell\open" "" `${COMMANDTEXT}` + WriteRegStr SHELL_CONTEXT "Software\Classes\${FILECLASS}\shell\open\command" "" `${COMMAND}` +!macroend + +!macro APP_UNASSOCIATE EXT FILECLASS + ; Backup the previously associated file class + ReadRegStr $R0 SHELL_CONTEXT "Software\Classes\.${EXT}" `${FILECLASS}_backup` + WriteRegStr SHELL_CONTEXT "Software\Classes\.${EXT}" "" "$R0" + + DeleteRegKey SHELL_CONTEXT `Software\Classes\${FILECLASS}` +!macroend + +!macro wails.associateFiles + ; Create file associations + {{range .Info.FileAssociations}} + !insertmacro APP_ASSOCIATE "{{.Ext}}" "{{.Name}}" "{{.Description}}" "$INSTDIR\{{.IconName}}.ico" "Open with ${INFO_PRODUCTNAME}" "$INSTDIR\${PRODUCT_EXECUTABLE} $\"%1$\"" + + File "..\{{.IconName}}.ico" + {{end}} +!macroend + +!macro wails.unassociateFiles + ; Delete app associations + {{range .Info.FileAssociations}} + !insertmacro APP_UNASSOCIATE "{{.Ext}}" "{{.Name}}" + + Delete "$INSTDIR\{{.IconName}}.ico" + {{end}} +!macroend + +!macro CUSTOM_PROTOCOL_ASSOCIATE PROTOCOL DESCRIPTION ICON COMMAND + DeleteRegKey SHELL_CONTEXT "Software\Classes\${PROTOCOL}" + WriteRegStr SHELL_CONTEXT "Software\Classes\${PROTOCOL}" "" "${DESCRIPTION}" + WriteRegStr SHELL_CONTEXT "Software\Classes\${PROTOCOL}" "URL Protocol" "" + WriteRegStr SHELL_CONTEXT "Software\Classes\${PROTOCOL}\DefaultIcon" "" "${ICON}" + WriteRegStr SHELL_CONTEXT "Software\Classes\${PROTOCOL}\shell" "" "" + WriteRegStr SHELL_CONTEXT "Software\Classes\${PROTOCOL}\shell\open" "" "" + WriteRegStr SHELL_CONTEXT "Software\Classes\${PROTOCOL}\shell\open\command" "" "${COMMAND}" +!macroend + +!macro CUSTOM_PROTOCOL_UNASSOCIATE PROTOCOL + DeleteRegKey SHELL_CONTEXT "Software\Classes\${PROTOCOL}" +!macroend + +!macro wails.associateCustomProtocols + ; Create custom protocols associations + {{range .Info.Protocols}} + !insertmacro CUSTOM_PROTOCOL_ASSOCIATE "{{.Scheme}}" "{{.Description}}" "$INSTDIR\${PRODUCT_EXECUTABLE},0" "$INSTDIR\${PRODUCT_EXECUTABLE} $\"%1$\"" + + {{end}} +!macroend + +!macro wails.unassociateCustomProtocols + ; Delete app custom protocol associations + {{range .Info.Protocols}} + !insertmacro CUSTOM_PROTOCOL_UNASSOCIATE "{{.Scheme}}" + {{end}} +!macroend diff --git a/build/windows/wails.exe.manifest b/build/windows/wails.exe.manifest new file mode 100644 index 0000000..17e1a23 --- /dev/null +++ b/build/windows/wails.exe.manifest @@ -0,0 +1,15 @@ + + + + + + + + + + + true/pm + permonitorv2,permonitor + + + \ No newline at end of file diff --git a/cmd/debug/main.go b/cmd/debug/main.go new file mode 100644 index 0000000..a715708 --- /dev/null +++ b/cmd/debug/main.go @@ -0,0 +1,24 @@ +package main + +import ( + "fmt" + + "github.com/rs/zerolog/log" + + "github.com/notebox/nbfm/pkg/nav" +) + +func main() { + wd, err := nav.NewWorkingDir() + if err != nil { + log.Fatal().Err(err).Msg("") + } + + fmt.Printf("%+v", wd) + dir, err := nav.ReadDirFiles(wd.Path, true) + if err != nil { + log.Fatal().Err(err).Msg("") + } + + fmt.Printf("%+#v", dir) +} diff --git a/frontend/.eslintignore b/frontend/.eslintignore new file mode 100644 index 0000000..f72dbb6 --- /dev/null +++ b/frontend/.eslintignore @@ -0,0 +1,3 @@ +dist/ +coverage/ +wailsjs/ \ No newline at end of file diff --git a/frontend/.eslintrc.json b/frontend/.eslintrc.json new file mode 100644 index 0000000..205ac96 --- /dev/null +++ b/frontend/.eslintrc.json @@ -0,0 +1,51 @@ +{ + "env": { + "browser": true + }, + "parser": "@typescript-eslint/parser", + "plugins": [ + "@typescript-eslint", + "unused-imports" + ], + "extends": [ + "eslint:recommended", + "plugin:@typescript-eslint/recommended" + ], + "rules": { + "@typescript-eslint/no-empty-function": "off", + "@typescript-eslint/no-explicit-any": "off", + "@typescript-eslint/no-non-null-assertion": "off", + "@typescript-eslint/no-unused-vars": [ + "warn", + { + "argsIgnorePattern": "^_", + "varsIgnorePattern": "^_", + "caughtErrorsIgnorePattern": "^_" + } + ], + "eqeqeq": "off", + "import/no-anonymous-default-export": "off", + "indent": ["error", 2], + "unused-imports/no-unused-imports": "error", + "quotes": [ + "error", + "double" + ], + "react/display-name": "off", + "react/no-unescaped-entities": "off", + "react-hooks/exhaustive-deps": "off", + "react-hooks/rules-of-hooks": "off", + "semi": [ + "error", + "never" + ], + "space-in-parens": [ + "error", + "never" + ], + "object-curly-spacing": [ + "error", + "never" + ] + } +} diff --git a/frontend/index.html b/frontend/index.html new file mode 100644 index 0000000..71098a5 --- /dev/null +++ b/frontend/index.html @@ -0,0 +1,13 @@ + + + + + + nbfm + + +

+ + + + diff --git a/frontend/package-lock.json b/frontend/package-lock.json new file mode 100644 index 0000000..f1a20ba --- /dev/null +++ b/frontend/package-lock.json @@ -0,0 +1,3848 @@ +{ + "name": "frontend", + "version": "0.0.0", + "lockfileVersion": 3, + "requires": true, + "packages": { + "": { + "name": "frontend", + "version": "0.0.0", + "dependencies": { + "react": "^18.2.0", + "react-dom": "^18.2.0" + }, + "devDependencies": { + "@types/react": "^18.0.17", + "@types/react-dom": "^18.0.6", + "@typescript-eslint/eslint-plugin": "^7.1.1", + "@typescript-eslint/parser": "^7.1.1", + "@vitejs/plugin-react": "^2.0.1", + "eslint-plugin-unused-imports": "^3.1.0", + "nb-editor": "github:notebox/nb-editor", + "recoil": "^0.7.7", + "sass": "^1.71.1", + "typescript": "^4.6.4", + "vite": "^3.0.7", + "vite-plugin-svgr": "^4.2.0", + "vite-tsconfig-paths": "^4.3.1" + } + }, + "node_modules/@aashutoshrathi/word-wrap": { + "version": "1.2.6", + "resolved": "https://registry.npmjs.org/@aashutoshrathi/word-wrap/-/word-wrap-1.2.6.tgz", + "integrity": "sha512-1Yjs2SvM8TflER/OD3cOjhWWOZb58A2t7wpE2S9XfBYTiIl+XFhQG2bjy4Pu1I+EAlCNUzRDYDdFwFYUKvXcIA==", + "dev": true, + "peer": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/@ampproject/remapping": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.3.0.tgz", + "integrity": "sha512-30iZtAPgz+LTIYoeivqYo853f02jBYSd5uGnGpkFV0M3xOt9aN73erkgYAmZU43x4VfqcnLxW9Kpg3R5LC4YYw==", + "dev": true, + "dependencies": { + "@jridgewell/gen-mapping": "^0.3.5", + "@jridgewell/trace-mapping": "^0.3.24" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@babel/code-frame": { + "version": "7.24.2", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.24.2.tgz", + "integrity": "sha512-y5+tLQyV8pg3fsiln67BVLD1P13Eg4lh5RW9mF0zUuvLrv9uIQ4MCL+CRT+FTsBlBjcIan6PGsLcBN0m3ClUyQ==", + "dev": true, + "dependencies": { + "@babel/highlight": "^7.24.2", + "picocolors": "^1.0.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/compat-data": { + "version": "7.24.4", + "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.24.4.tgz", + "integrity": "sha512-vg8Gih2MLK+kOkHJp4gBEIkyaIi00jgWot2D9QOmmfLC8jINSOzmCLta6Bvz/JSBCqnegV0L80jhxkol5GWNfQ==", + "dev": true, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/core": { + "version": "7.24.4", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.24.4.tgz", + "integrity": "sha512-MBVlMXP+kkl5394RBLSxxk/iLTeVGuXTV3cIDXavPpMMqnSnt6apKgan/U8O3USWZCWZT/TbgfEpKa4uMgN4Dg==", + "dev": true, + "dependencies": { + "@ampproject/remapping": "^2.2.0", + "@babel/code-frame": "^7.24.2", + "@babel/generator": "^7.24.4", + "@babel/helper-compilation-targets": "^7.23.6", + "@babel/helper-module-transforms": "^7.23.3", + "@babel/helpers": "^7.24.4", + "@babel/parser": "^7.24.4", + "@babel/template": "^7.24.0", + "@babel/traverse": "^7.24.1", + "@babel/types": "^7.24.0", + "convert-source-map": "^2.0.0", + "debug": "^4.1.0", + "gensync": "^1.0.0-beta.2", + "json5": "^2.2.3", + "semver": "^6.3.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/babel" + } + }, + "node_modules/@babel/core/node_modules/semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "dev": true, + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/@babel/generator": { + "version": "7.24.4", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.24.4.tgz", + "integrity": "sha512-Xd6+v6SnjWVx/nus+y0l1sxMOTOMBkyL4+BIdbALyatQnAe/SRVjANeDPSCYaX+i1iJmuGSKf3Z+E+V/va1Hvw==", + "dev": true, + "dependencies": { + "@babel/types": "^7.24.0", + "@jridgewell/gen-mapping": "^0.3.5", + "@jridgewell/trace-mapping": "^0.3.25", + "jsesc": "^2.5.1" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-annotate-as-pure": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.22.5.tgz", + "integrity": "sha512-LvBTxu8bQSQkcyKOU+a1btnNFQ1dMAd0R6PyW3arXes06F6QLWLIrd681bxRPIXlrMGR3XYnW9JyML7dP3qgxg==", + "dev": true, + "dependencies": { + "@babel/types": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-compilation-targets": { + "version": "7.23.6", + "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.23.6.tgz", + "integrity": "sha512-9JB548GZoQVmzrFgp8o7KxdgkTGm6xs9DW0o/Pim72UDjzr5ObUQ6ZzYPqA+g9OTS2bBQoctLJrky0RDCAWRgQ==", + "dev": true, + "dependencies": { + "@babel/compat-data": "^7.23.5", + "@babel/helper-validator-option": "^7.23.5", + "browserslist": "^4.22.2", + "lru-cache": "^5.1.1", + "semver": "^6.3.1" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-compilation-targets/node_modules/semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "dev": true, + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/@babel/helper-environment-visitor": { + "version": "7.22.20", + "resolved": "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.22.20.tgz", + "integrity": "sha512-zfedSIzFhat/gFhWfHtgWvlec0nqB9YEIVrpuwjruLlXfUSnA8cJB0miHKwqDnQ7d32aKo2xt88/xZptwxbfhA==", + "dev": true, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-function-name": { + "version": "7.23.0", + "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.23.0.tgz", + "integrity": "sha512-OErEqsrxjZTJciZ4Oo+eoZqeW9UIiOcuYKRJA4ZAgV9myA+pOXhhmpfNCKjEH/auVfEYVFJ6y1Tc4r0eIApqiw==", + "dev": true, + "dependencies": { + "@babel/template": "^7.22.15", + "@babel/types": "^7.23.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-hoist-variables": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.22.5.tgz", + "integrity": "sha512-wGjk9QZVzvknA6yKIUURb8zY3grXCcOZt+/7Wcy8O2uctxhplmUPkOdlgoNhmdVee2c92JXbf1xpMtVNbfoxRw==", + "dev": true, + "dependencies": { + "@babel/types": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-module-imports": { + "version": "7.24.3", + "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.24.3.tgz", + "integrity": "sha512-viKb0F9f2s0BCS22QSF308z/+1YWKV/76mwt61NBzS5izMzDPwdq1pTrzf+Li3npBWX9KdQbkeCt1jSAM7lZqg==", + "dev": true, + "dependencies": { + "@babel/types": "^7.24.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-module-transforms": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.23.3.tgz", + "integrity": "sha512-7bBs4ED9OmswdfDzpz4MpWgSrV7FXlc3zIagvLFjS5H+Mk7Snr21vQ6QwrsoCGMfNC4e4LQPdoULEt4ykz0SRQ==", + "dev": true, + "dependencies": { + "@babel/helper-environment-visitor": "^7.22.20", + "@babel/helper-module-imports": "^7.22.15", + "@babel/helper-simple-access": "^7.22.5", + "@babel/helper-split-export-declaration": "^7.22.6", + "@babel/helper-validator-identifier": "^7.22.20" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/helper-plugin-utils": { + "version": "7.24.0", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.24.0.tgz", + "integrity": "sha512-9cUznXMG0+FxRuJfvL82QlTqIzhVW9sL0KjMPHhAOOvpQGL8QtdxnBKILjBqxlHyliz0yCa1G903ZXI/FuHy2w==", + "dev": true, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-simple-access": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.22.5.tgz", + "integrity": "sha512-n0H99E/K+Bika3++WNL17POvo4rKWZ7lZEp1Q+fStVbUi8nxPQEBOlTmCOxW/0JsS56SKKQ+ojAe2pHKJHN35w==", + "dev": true, + "dependencies": { + "@babel/types": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-split-export-declaration": { + "version": "7.22.6", + "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.22.6.tgz", + "integrity": "sha512-AsUnxuLhRYsisFiaJwvp1QF+I3KjD5FOxut14q/GzovUe6orHLesW2C7d754kRm53h5gqrz6sFl6sxc4BVtE/g==", + "dev": true, + "dependencies": { + "@babel/types": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-string-parser": { + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.24.1.tgz", + "integrity": "sha512-2ofRCjnnA9y+wk8b9IAREroeUP02KHp431N2mhKniy2yKIDKpbrHv9eXwm8cBeWQYcJmzv5qKCu65P47eCF7CQ==", + "dev": true, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-validator-identifier": { + "version": "7.22.20", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.22.20.tgz", + "integrity": "sha512-Y4OZ+ytlatR8AI+8KZfKuL5urKp7qey08ha31L8b3BwewJAoJamTzyvxPR/5D+KkdJCGPq/+8TukHBlY10FX9A==", + "dev": true, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-validator-option": { + "version": "7.23.5", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.23.5.tgz", + "integrity": "sha512-85ttAOMLsr53VgXkTbkx8oA6YTfT4q7/HzXSLEYmjcSTJPMPQtvq1BD79Byep5xMUYbGRzEpDsjUf3dyp54IKw==", + "dev": true, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helpers": { + "version": "7.24.4", + "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.24.4.tgz", + "integrity": "sha512-FewdlZbSiwaVGlgT1DPANDuCHaDMiOo+D/IDYRFYjHOuv66xMSJ7fQwwODwRNAPkADIO/z1EoF/l2BCWlWABDw==", + "dev": true, + "dependencies": { + "@babel/template": "^7.24.0", + "@babel/traverse": "^7.24.1", + "@babel/types": "^7.24.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/highlight": { + "version": "7.24.2", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.24.2.tgz", + "integrity": "sha512-Yac1ao4flkTxTteCDZLEvdxg2fZfz1v8M4QpaGypq/WPDqg3ijHYbDfs+LG5hvzSoqaSZ9/Z9lKSP3CjZjv+pA==", + "dev": true, + "dependencies": { + "@babel/helper-validator-identifier": "^7.22.20", + "chalk": "^2.4.2", + "js-tokens": "^4.0.0", + "picocolors": "^1.0.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/parser": { + "version": "7.24.4", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.24.4.tgz", + "integrity": "sha512-zTvEBcghmeBma9QIGunWevvBAp4/Qu9Bdq+2k0Ot4fVMD6v3dsC9WOcRSKk7tRRyBM/53yKMJko9xOatGQAwSg==", + "dev": true, + "bin": { + "parser": "bin/babel-parser.js" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@babel/plugin-syntax-jsx": { + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.24.1.tgz", + "integrity": "sha512-2eCtxZXf+kbkMIsXS4poTvT4Yu5rXiRa+9xGVT56raghjmBTKMpFNc9R4IDiB4emao9eO22Ox7CxuJG7BgExqA==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.0" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-react-jsx": { + "version": "7.23.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx/-/plugin-transform-react-jsx-7.23.4.tgz", + "integrity": "sha512-5xOpoPguCZCRbo/JeHlloSkTA8Bld1J/E1/kLfD1nsuiW1m8tduTA1ERCgIZokDflX/IBzKcqR3l7VlRgiIfHA==", + "dev": true, + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.22.5", + "@babel/helper-module-imports": "^7.22.15", + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/plugin-syntax-jsx": "^7.23.3", + "@babel/types": "^7.23.4" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-react-jsx-development": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-development/-/plugin-transform-react-jsx-development-7.22.5.tgz", + "integrity": "sha512-bDhuzwWMuInwCYeDeMzyi7TaBgRQei6DqxhbyniL7/VG4RSS7HtSL2QbY4eESy1KJqlWt8g3xeEBGPuo+XqC8A==", + "dev": true, + "dependencies": { + "@babel/plugin-transform-react-jsx": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-react-jsx-self": { + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-self/-/plugin-transform-react-jsx-self-7.24.1.tgz", + "integrity": "sha512-kDJgnPujTmAZ/9q2CN4m2/lRsUUPDvsG3+tSHWUJIzMGTt5U/b/fwWd3RO3n+5mjLrsBrVa5eKFRVSQbi3dF1w==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.0" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-react-jsx-source": { + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-source/-/plugin-transform-react-jsx-source-7.24.1.tgz", + "integrity": "sha512-1v202n7aUq4uXAieRTKcwPzNyphlCuqHHDcdSNc+vdhoTEZcFMh+L5yZuCmGaIO7bs1nJUNfHB89TZyoL48xNA==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.0" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/template": { + "version": "7.24.0", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.24.0.tgz", + "integrity": "sha512-Bkf2q8lMB0AFpX0NFEqSbx1OkTHf0f+0j82mkw+ZpzBnkk7e9Ql0891vlfgi+kHwOk8tQjiQHpqh4LaSa0fKEA==", + "dev": true, + "dependencies": { + "@babel/code-frame": "^7.23.5", + "@babel/parser": "^7.24.0", + "@babel/types": "^7.24.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/traverse": { + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.24.1.tgz", + "integrity": "sha512-xuU6o9m68KeqZbQuDt2TcKSxUw/mrsvavlEqQ1leZ/B+C9tk6E4sRWy97WaXgvq5E+nU3cXMxv3WKOCanVMCmQ==", + "dev": true, + "dependencies": { + "@babel/code-frame": "^7.24.1", + "@babel/generator": "^7.24.1", + "@babel/helper-environment-visitor": "^7.22.20", + "@babel/helper-function-name": "^7.23.0", + "@babel/helper-hoist-variables": "^7.22.5", + "@babel/helper-split-export-declaration": "^7.22.6", + "@babel/parser": "^7.24.1", + "@babel/types": "^7.24.0", + "debug": "^4.3.1", + "globals": "^11.1.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/types": { + "version": "7.24.0", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.24.0.tgz", + "integrity": "sha512-+j7a5c253RfKh8iABBhywc8NSfP5LURe7Uh4qpsh6jc+aLJguvmIUBdjSdEMQv2bENrCR5MfRdjGo7vzS/ob7w==", + "dev": true, + "dependencies": { + "@babel/helper-string-parser": "^7.23.4", + "@babel/helper-validator-identifier": "^7.22.20", + "to-fast-properties": "^2.0.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@esbuild/android-arm": { + "version": "0.15.18", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.15.18.tgz", + "integrity": "sha512-5GT+kcs2WVGjVs7+boataCkO5Fg0y4kCjzkB5bAip7H4jfnOS3dA6KPiww9W1OEKTKeAcUVhdZGvgI65OXmUnw==", + "cpu": [ + "arm" + ], + "dev": true, + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-loong64": { + "version": "0.15.18", + "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.15.18.tgz", + "integrity": "sha512-L4jVKS82XVhw2nvzLg/19ClLWg0y27ulRwuP7lcyL6AbUWB5aPglXY3M21mauDQMDfRLs8cQmeT03r/+X3cZYQ==", + "cpu": [ + "loong64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@eslint-community/eslint-utils": { + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.4.0.tgz", + "integrity": "sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==", + "dev": true, + "dependencies": { + "eslint-visitor-keys": "^3.3.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "peerDependencies": { + "eslint": "^6.0.0 || ^7.0.0 || >=8.0.0" + } + }, + "node_modules/@eslint-community/regexpp": { + "version": "4.10.0", + "resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.10.0.tgz", + "integrity": "sha512-Cu96Sd2By9mCNTx2iyKOmq10v22jUVQv0lQnlGNy16oE9589yE+QADPbrMGCkA51cKZSg3Pu/aTJVTGfL/qjUA==", + "dev": true, + "engines": { + "node": "^12.0.0 || ^14.0.0 || >=16.0.0" + } + }, + "node_modules/@eslint/eslintrc": { + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-2.1.4.tgz", + "integrity": "sha512-269Z39MS6wVJtsoUl10L60WdkhJVdPG24Q4eZTH3nnF6lpvSShEK3wQjDX9JRWAUPvPh7COouPpU9IrqaZFvtQ==", + "dev": true, + "peer": true, + "dependencies": { + "ajv": "^6.12.4", + "debug": "^4.3.2", + "espree": "^9.6.0", + "globals": "^13.19.0", + "ignore": "^5.2.0", + "import-fresh": "^3.2.1", + "js-yaml": "^4.1.0", + "minimatch": "^3.1.2", + "strip-json-comments": "^3.1.1" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/@eslint/eslintrc/node_modules/brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "dev": true, + "peer": true, + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "node_modules/@eslint/eslintrc/node_modules/globals": { + "version": "13.24.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-13.24.0.tgz", + "integrity": "sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ==", + "dev": true, + "peer": true, + "dependencies": { + "type-fest": "^0.20.2" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@eslint/eslintrc/node_modules/minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "dev": true, + "peer": true, + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, + "node_modules/@eslint/js": { + "version": "8.57.0", + "resolved": "https://registry.npmjs.org/@eslint/js/-/js-8.57.0.tgz", + "integrity": "sha512-Ys+3g2TaW7gADOJzPt83SJtCDhMjndcDMFVQ/Tj9iA1BfJzFKD9mAUXT3OenpuPHbI6P/myECxRJrofUsDx/5g==", + "dev": true, + "peer": true, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + } + }, + "node_modules/@humanwhocodes/config-array": { + "version": "0.11.14", + "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.11.14.tgz", + "integrity": "sha512-3T8LkOmg45BV5FICb15QQMsyUSWrQ8AygVfC7ZG32zOalnqrilm018ZVCw0eapXux8FtA33q8PSRSstjee3jSg==", + "dev": true, + "peer": true, + "dependencies": { + "@humanwhocodes/object-schema": "^2.0.2", + "debug": "^4.3.1", + "minimatch": "^3.0.5" + }, + "engines": { + "node": ">=10.10.0" + } + }, + "node_modules/@humanwhocodes/config-array/node_modules/brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "dev": true, + "peer": true, + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "node_modules/@humanwhocodes/config-array/node_modules/minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "dev": true, + "peer": true, + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, + "node_modules/@humanwhocodes/module-importer": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz", + "integrity": "sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==", + "dev": true, + "peer": true, + "engines": { + "node": ">=12.22" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/nzakas" + } + }, + "node_modules/@humanwhocodes/object-schema": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-2.0.3.tgz", + "integrity": "sha512-93zYdMES/c1D69yZiKDBj0V24vqNzB/koF26KPaagAfd3P/4gUlh3Dys5ogAK+Exi9QyzlD8x/08Zt7wIKcDcA==", + "dev": true, + "peer": true + }, + "node_modules/@jridgewell/gen-mapping": { + "version": "0.3.5", + "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.5.tgz", + "integrity": "sha512-IzL8ZoEDIBRWEzlCcRhOaCupYyN5gdIK+Q6fbFdPDg6HqX6jpkItn7DFIpW9LQzXG6Df9sA7+OKnq0qlz/GaQg==", + "dev": true, + "dependencies": { + "@jridgewell/set-array": "^1.2.1", + "@jridgewell/sourcemap-codec": "^1.4.10", + "@jridgewell/trace-mapping": "^0.3.24" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@jridgewell/resolve-uri": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.2.tgz", + "integrity": "sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==", + "dev": true, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@jridgewell/set-array": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.2.1.tgz", + "integrity": "sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A==", + "dev": true, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@jridgewell/sourcemap-codec": { + "version": "1.4.15", + "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz", + "integrity": "sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==", + "dev": true + }, + "node_modules/@jridgewell/trace-mapping": { + "version": "0.3.25", + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.25.tgz", + "integrity": "sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==", + "dev": true, + "dependencies": { + "@jridgewell/resolve-uri": "^3.1.0", + "@jridgewell/sourcemap-codec": "^1.4.14" + } + }, + "node_modules/@nodelib/fs.scandir": { + "version": "2.1.5", + "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", + "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==", + "dev": true, + "dependencies": { + "@nodelib/fs.stat": "2.0.5", + "run-parallel": "^1.1.9" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/@nodelib/fs.stat": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz", + "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==", + "dev": true, + "engines": { + "node": ">= 8" + } + }, + "node_modules/@nodelib/fs.walk": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz", + "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==", + "dev": true, + "dependencies": { + "@nodelib/fs.scandir": "2.1.5", + "fastq": "^1.6.0" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/@rollup/pluginutils": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/@rollup/pluginutils/-/pluginutils-5.1.0.tgz", + "integrity": "sha512-XTIWOPPcpvyKI6L1NHo0lFlCyznUEyPmPY1mc3KpPVDYulHSTvyeLNVW00QTLIAFNhR3kYnJTQHeGqU4M3n09g==", + "dev": true, + "dependencies": { + "@types/estree": "^1.0.0", + "estree-walker": "^2.0.2", + "picomatch": "^2.3.1" + }, + "engines": { + "node": ">=14.0.0" + }, + "peerDependencies": { + "rollup": "^1.20.0||^2.0.0||^3.0.0||^4.0.0" + }, + "peerDependenciesMeta": { + "rollup": { + "optional": true + } + } + }, + "node_modules/@svgr/babel-plugin-add-jsx-attribute": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-add-jsx-attribute/-/babel-plugin-add-jsx-attribute-8.0.0.tgz", + "integrity": "sha512-b9MIk7yhdS1pMCZM8VeNfUlSKVRhsHZNMl5O9SfaX0l0t5wjdgu4IDzGB8bpnGBBOjGST3rRFVsaaEtI4W6f7g==", + "dev": true, + "engines": { + "node": ">=14" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@svgr/babel-plugin-remove-jsx-attribute": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-remove-jsx-attribute/-/babel-plugin-remove-jsx-attribute-8.0.0.tgz", + "integrity": "sha512-BcCkm/STipKvbCl6b7QFrMh/vx00vIP63k2eM66MfHJzPr6O2U0jYEViXkHJWqXqQYjdeA9cuCl5KWmlwjDvbA==", + "dev": true, + "engines": { + "node": ">=14" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@svgr/babel-plugin-remove-jsx-empty-expression": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-remove-jsx-empty-expression/-/babel-plugin-remove-jsx-empty-expression-8.0.0.tgz", + "integrity": "sha512-5BcGCBfBxB5+XSDSWnhTThfI9jcO5f0Ai2V24gZpG+wXF14BzwxxdDb4g6trdOux0rhibGs385BeFMSmxtS3uA==", + "dev": true, + "engines": { + "node": ">=14" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@svgr/babel-plugin-replace-jsx-attribute-value": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-replace-jsx-attribute-value/-/babel-plugin-replace-jsx-attribute-value-8.0.0.tgz", + "integrity": "sha512-KVQ+PtIjb1BuYT3ht8M5KbzWBhdAjjUPdlMtpuw/VjT8coTrItWX6Qafl9+ji831JaJcu6PJNKCV0bp01lBNzQ==", + "dev": true, + "engines": { + "node": ">=14" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@svgr/babel-plugin-svg-dynamic-title": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-svg-dynamic-title/-/babel-plugin-svg-dynamic-title-8.0.0.tgz", + "integrity": "sha512-omNiKqwjNmOQJ2v6ge4SErBbkooV2aAWwaPFs2vUY7p7GhVkzRkJ00kILXQvRhA6miHnNpXv7MRnnSjdRjK8og==", + "dev": true, + "engines": { + "node": ">=14" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@svgr/babel-plugin-svg-em-dimensions": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-svg-em-dimensions/-/babel-plugin-svg-em-dimensions-8.0.0.tgz", + "integrity": "sha512-mURHYnu6Iw3UBTbhGwE/vsngtCIbHE43xCRK7kCw4t01xyGqb2Pd+WXekRRoFOBIY29ZoOhUCTEweDMdrjfi9g==", + "dev": true, + "engines": { + "node": ">=14" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@svgr/babel-plugin-transform-react-native-svg": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-transform-react-native-svg/-/babel-plugin-transform-react-native-svg-8.1.0.tgz", + "integrity": "sha512-Tx8T58CHo+7nwJ+EhUwx3LfdNSG9R2OKfaIXXs5soiy5HtgoAEkDay9LIimLOcG8dJQH1wPZp/cnAv6S9CrR1Q==", + "dev": true, + "engines": { + "node": ">=14" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@svgr/babel-plugin-transform-svg-component": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-transform-svg-component/-/babel-plugin-transform-svg-component-8.0.0.tgz", + "integrity": "sha512-DFx8xa3cZXTdb/k3kfPeaixecQLgKh5NVBMwD0AQxOzcZawK4oo1Jh9LbrcACUivsCA7TLG8eeWgrDXjTMhRmw==", + "dev": true, + "engines": { + "node": ">=12" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@svgr/babel-preset": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/@svgr/babel-preset/-/babel-preset-8.1.0.tgz", + "integrity": "sha512-7EYDbHE7MxHpv4sxvnVPngw5fuR6pw79SkcrILHJ/iMpuKySNCl5W1qcwPEpU+LgyRXOaAFgH0KhwD18wwg6ug==", + "dev": true, + "dependencies": { + "@svgr/babel-plugin-add-jsx-attribute": "8.0.0", + "@svgr/babel-plugin-remove-jsx-attribute": "8.0.0", + "@svgr/babel-plugin-remove-jsx-empty-expression": "8.0.0", + "@svgr/babel-plugin-replace-jsx-attribute-value": "8.0.0", + "@svgr/babel-plugin-svg-dynamic-title": "8.0.0", + "@svgr/babel-plugin-svg-em-dimensions": "8.0.0", + "@svgr/babel-plugin-transform-react-native-svg": "8.1.0", + "@svgr/babel-plugin-transform-svg-component": "8.0.0" + }, + "engines": { + "node": ">=14" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@svgr/core": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/@svgr/core/-/core-8.1.0.tgz", + "integrity": "sha512-8QqtOQT5ACVlmsvKOJNEaWmRPmcojMOzCz4Hs2BGG/toAp/K38LcsMRyLp349glq5AzJbCEeimEoxaX6v/fLrA==", + "dev": true, + "dependencies": { + "@babel/core": "^7.21.3", + "@svgr/babel-preset": "8.1.0", + "camelcase": "^6.2.0", + "cosmiconfig": "^8.1.3", + "snake-case": "^3.0.4" + }, + "engines": { + "node": ">=14" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" + } + }, + "node_modules/@svgr/hast-util-to-babel-ast": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/@svgr/hast-util-to-babel-ast/-/hast-util-to-babel-ast-8.0.0.tgz", + "integrity": "sha512-EbDKwO9GpfWP4jN9sGdYwPBU0kdomaPIL2Eu4YwmgP+sJeXT+L7bMwJUBnhzfH8Q2qMBqZ4fJwpCyYsAN3mt2Q==", + "dev": true, + "dependencies": { + "@babel/types": "^7.21.3", + "entities": "^4.4.0" + }, + "engines": { + "node": ">=14" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" + } + }, + "node_modules/@svgr/plugin-jsx": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/@svgr/plugin-jsx/-/plugin-jsx-8.1.0.tgz", + "integrity": "sha512-0xiIyBsLlr8quN+WyuxooNW9RJ0Dpr8uOnH/xrCVO8GLUcwHISwj1AG0k+LFzteTkAA0GbX0kj9q6Dk70PTiPA==", + "dev": true, + "dependencies": { + "@babel/core": "^7.21.3", + "@svgr/babel-preset": "8.1.0", + "@svgr/hast-util-to-babel-ast": "8.0.0", + "svg-parser": "^2.0.4" + }, + "engines": { + "node": ">=14" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" + }, + "peerDependencies": { + "@svgr/core": "*" + } + }, + "node_modules/@types/estree": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.5.tgz", + "integrity": "sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw==", + "dev": true + }, + "node_modules/@types/json-schema": { + "version": "7.0.15", + "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.15.tgz", + "integrity": "sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==", + "dev": true + }, + "node_modules/@types/prop-types": { + "version": "15.7.12", + "resolved": "https://registry.npmjs.org/@types/prop-types/-/prop-types-15.7.12.tgz", + "integrity": "sha512-5zvhXYtRNRluoE/jAp4GVsSduVUzNWKkOZrCDBWYtE7biZywwdC2AcEzg+cSMLFRfVgeAFqpfNabiPjxFddV1Q==", + "dev": true + }, + "node_modules/@types/react": { + "version": "18.2.75", + "resolved": "https://registry.npmjs.org/@types/react/-/react-18.2.75.tgz", + "integrity": "sha512-+DNnF7yc5y0bHkBTiLKqXFe+L4B3nvOphiMY3tuA5X10esmjqk7smyBZzbGTy2vsiy/Bnzj8yFIBL8xhRacoOg==", + "dev": true, + "dependencies": { + "@types/prop-types": "*", + "csstype": "^3.0.2" + } + }, + "node_modules/@types/react-dom": { + "version": "18.2.24", + "resolved": "https://registry.npmjs.org/@types/react-dom/-/react-dom-18.2.24.tgz", + "integrity": "sha512-cN6upcKd8zkGy4HU9F1+/s98Hrp6D4MOcippK4PoE8OZRngohHZpbJn1GsaDLz87MqvHNoT13nHvNqM9ocRHZg==", + "dev": true, + "dependencies": { + "@types/react": "*" + } + }, + "node_modules/@types/semver": { + "version": "7.5.8", + "resolved": "https://registry.npmjs.org/@types/semver/-/semver-7.5.8.tgz", + "integrity": "sha512-I8EUhyrgfLrcTkzV3TSsGyl1tSuPrEDzr0yd5m90UgNxQkyDXULk3b6MlQqTCpZpNtWe1K0hzclnZkTcLBe2UQ==", + "dev": true + }, + "node_modules/@typescript-eslint/eslint-plugin": { + "version": "7.6.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-7.6.0.tgz", + "integrity": "sha512-gKmTNwZnblUdnTIJu3e9kmeRRzV2j1a/LUO27KNNAnIC5zjy1aSvXSRp4rVNlmAoHlQ7HzX42NbKpcSr4jF80A==", + "dev": true, + "dependencies": { + "@eslint-community/regexpp": "^4.10.0", + "@typescript-eslint/scope-manager": "7.6.0", + "@typescript-eslint/type-utils": "7.6.0", + "@typescript-eslint/utils": "7.6.0", + "@typescript-eslint/visitor-keys": "7.6.0", + "debug": "^4.3.4", + "graphemer": "^1.4.0", + "ignore": "^5.3.1", + "natural-compare": "^1.4.0", + "semver": "^7.6.0", + "ts-api-utils": "^1.3.0" + }, + "engines": { + "node": "^18.18.0 || >=20.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "@typescript-eslint/parser": "^7.0.0", + "eslint": "^8.56.0" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/@typescript-eslint/parser": { + "version": "7.6.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-7.6.0.tgz", + "integrity": "sha512-usPMPHcwX3ZoPWnBnhhorc14NJw9J4HpSXQX4urF2TPKG0au0XhJoZyX62fmvdHONUkmyUe74Hzm1//XA+BoYg==", + "dev": true, + "dependencies": { + "@typescript-eslint/scope-manager": "7.6.0", + "@typescript-eslint/types": "7.6.0", + "@typescript-eslint/typescript-estree": "7.6.0", + "@typescript-eslint/visitor-keys": "7.6.0", + "debug": "^4.3.4" + }, + "engines": { + "node": "^18.18.0 || >=20.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "eslint": "^8.56.0" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/@typescript-eslint/scope-manager": { + "version": "7.6.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-7.6.0.tgz", + "integrity": "sha512-ngttyfExA5PsHSx0rdFgnADMYQi+Zkeiv4/ZxGYUWd0nLs63Ha0ksmp8VMxAIC0wtCFxMos7Lt3PszJssG/E6w==", + "dev": true, + "dependencies": { + "@typescript-eslint/types": "7.6.0", + "@typescript-eslint/visitor-keys": "7.6.0" + }, + "engines": { + "node": "^18.18.0 || >=20.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } + }, + "node_modules/@typescript-eslint/type-utils": { + "version": "7.6.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-7.6.0.tgz", + "integrity": "sha512-NxAfqAPNLG6LTmy7uZgpK8KcuiS2NZD/HlThPXQRGwz6u7MDBWRVliEEl1Gj6U7++kVJTpehkhZzCJLMK66Scw==", + "dev": true, + "dependencies": { + "@typescript-eslint/typescript-estree": "7.6.0", + "@typescript-eslint/utils": "7.6.0", + "debug": "^4.3.4", + "ts-api-utils": "^1.3.0" + }, + "engines": { + "node": "^18.18.0 || >=20.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "eslint": "^8.56.0" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/@typescript-eslint/types": { + "version": "7.6.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-7.6.0.tgz", + "integrity": "sha512-h02rYQn8J+MureCvHVVzhl69/GAfQGPQZmOMjG1KfCl7o3HtMSlPaPUAPu6lLctXI5ySRGIYk94clD/AUMCUgQ==", + "dev": true, + "engines": { + "node": "^18.18.0 || >=20.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } + }, + "node_modules/@typescript-eslint/typescript-estree": { + "version": "7.6.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-7.6.0.tgz", + "integrity": "sha512-+7Y/GP9VuYibecrCQWSKgl3GvUM5cILRttpWtnAu8GNL9j11e4tbuGZmZjJ8ejnKYyBRb2ddGQ3rEFCq3QjMJw==", + "dev": true, + "dependencies": { + "@typescript-eslint/types": "7.6.0", + "@typescript-eslint/visitor-keys": "7.6.0", + "debug": "^4.3.4", + "globby": "^11.1.0", + "is-glob": "^4.0.3", + "minimatch": "^9.0.4", + "semver": "^7.6.0", + "ts-api-utils": "^1.3.0" + }, + "engines": { + "node": "^18.18.0 || >=20.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/@typescript-eslint/utils": { + "version": "7.6.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-7.6.0.tgz", + "integrity": "sha512-x54gaSsRRI+Nwz59TXpCsr6harB98qjXYzsRxGqvA5Ue3kQH+FxS7FYU81g/omn22ML2pZJkisy6Q+ElK8pBCA==", + "dev": true, + "dependencies": { + "@eslint-community/eslint-utils": "^4.4.0", + "@types/json-schema": "^7.0.15", + "@types/semver": "^7.5.8", + "@typescript-eslint/scope-manager": "7.6.0", + "@typescript-eslint/types": "7.6.0", + "@typescript-eslint/typescript-estree": "7.6.0", + "semver": "^7.6.0" + }, + "engines": { + "node": "^18.18.0 || >=20.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "eslint": "^8.56.0" + } + }, + "node_modules/@typescript-eslint/visitor-keys": { + "version": "7.6.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-7.6.0.tgz", + "integrity": "sha512-4eLB7t+LlNUmXzfOu1VAIAdkjbu5xNSerURS9X/S5TUKWFRpXRQZbmtPqgKmYx8bj3J0irtQXSiWAOY82v+cgw==", + "dev": true, + "dependencies": { + "@typescript-eslint/types": "7.6.0", + "eslint-visitor-keys": "^3.4.3" + }, + "engines": { + "node": "^18.18.0 || >=20.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } + }, + "node_modules/@ungap/structured-clone": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@ungap/structured-clone/-/structured-clone-1.2.0.tgz", + "integrity": "sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ==", + "dev": true, + "peer": true + }, + "node_modules/@vitejs/plugin-react": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/@vitejs/plugin-react/-/plugin-react-2.2.0.tgz", + "integrity": "sha512-FFpefhvExd1toVRlokZgxgy2JtnBOdp4ZDsq7ldCWaqGSGn9UhWMAVm/1lxPL14JfNS5yGz+s9yFrQY6shoStA==", + "dev": true, + "dependencies": { + "@babel/core": "^7.19.6", + "@babel/plugin-transform-react-jsx": "^7.19.0", + "@babel/plugin-transform-react-jsx-development": "^7.18.6", + "@babel/plugin-transform-react-jsx-self": "^7.18.6", + "@babel/plugin-transform-react-jsx-source": "^7.19.6", + "magic-string": "^0.26.7", + "react-refresh": "^0.14.0" + }, + "engines": { + "node": "^14.18.0 || >=16.0.0" + }, + "peerDependencies": { + "vite": "^3.0.0" + } + }, + "node_modules/acorn": { + "version": "8.11.3", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.11.3.tgz", + "integrity": "sha512-Y9rRfJG5jcKOE0CLisYbojUjIrIEE7AGMzA/Sm4BslANhbS+cDMpgBdcPT91oJ7OuJ9hYJBx59RjbhxVnrF8Xg==", + "dev": true, + "peer": true, + "bin": { + "acorn": "bin/acorn" + }, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/acorn-jsx": { + "version": "5.3.2", + "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz", + "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==", + "dev": true, + "peer": true, + "peerDependencies": { + "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0" + } + }, + "node_modules/ajv": { + "version": "6.12.6", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", + "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", + "dev": true, + "peer": true, + "dependencies": { + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" + } + }, + "node_modules/ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "dev": true, + "peer": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "dev": true, + "dependencies": { + "color-convert": "^1.9.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/anymatch": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz", + "integrity": "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==", + "dev": true, + "dependencies": { + "normalize-path": "^3.0.0", + "picomatch": "^2.0.4" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/argparse": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", + "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", + "dev": true + }, + "node_modules/array-union": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz", + "integrity": "sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/balanced-match": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", + "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", + "dev": true + }, + "node_modules/binary-extensions": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.3.0.tgz", + "integrity": "sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw==", + "dev": true, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/brace-expansion": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", + "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", + "dev": true, + "dependencies": { + "balanced-match": "^1.0.0" + } + }, + "node_modules/braces": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", + "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", + "dev": true, + "dependencies": { + "fill-range": "^7.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/browserslist": { + "version": "4.23.0", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.23.0.tgz", + "integrity": "sha512-QW8HiM1shhT2GuzkvklfjcKDiWFXHOeFCIA/huJPwHsslwcydgk7X+z2zXpEijP98UCY7HbubZt5J2Zgvf0CaQ==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/browserslist" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "dependencies": { + "caniuse-lite": "^1.0.30001587", + "electron-to-chromium": "^1.4.668", + "node-releases": "^2.0.14", + "update-browserslist-db": "^1.0.13" + }, + "bin": { + "browserslist": "cli.js" + }, + "engines": { + "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7" + } + }, + "node_modules/callsites": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", + "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/camelcase": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz", + "integrity": "sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/caniuse-lite": { + "version": "1.0.30001607", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001607.tgz", + "integrity": "sha512-WcvhVRjXLKFB/kmOFVwELtMxyhq3iM/MvmXcyCe2PNf166c39mptscOc/45TTS96n2gpNV2z7+NakArTWZCQ3w==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/caniuse-lite" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ] + }, + "node_modules/chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "dev": true, + "dependencies": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/chokidar": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.6.0.tgz", + "integrity": "sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==", + "dev": true, + "dependencies": { + "anymatch": "~3.1.2", + "braces": "~3.0.2", + "glob-parent": "~5.1.2", + "is-binary-path": "~2.1.0", + "is-glob": "~4.0.1", + "normalize-path": "~3.0.0", + "readdirp": "~3.6.0" + }, + "engines": { + "node": ">= 8.10.0" + }, + "funding": { + "url": "https://paulmillr.com/funding/" + }, + "optionalDependencies": { + "fsevents": "~2.3.2" + } + }, + "node_modules/chokidar/node_modules/glob-parent": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "dev": true, + "dependencies": { + "is-glob": "^4.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "dev": true, + "dependencies": { + "color-name": "1.1.3" + } + }, + "node_modules/color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==", + "dev": true + }, + "node_modules/concat-map": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==", + "dev": true, + "peer": true + }, + "node_modules/convert-source-map": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-2.0.0.tgz", + "integrity": "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==", + "dev": true + }, + "node_modules/cosmiconfig": { + "version": "8.3.6", + "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-8.3.6.tgz", + "integrity": "sha512-kcZ6+W5QzcJ3P1Mt+83OUv/oHFqZHIx8DuxG6eZ5RGMERoLqp4BuGjhHLYGK+Kf5XVkQvqBSmAy/nGWN3qDgEA==", + "dev": true, + "dependencies": { + "import-fresh": "^3.3.0", + "js-yaml": "^4.1.0", + "parse-json": "^5.2.0", + "path-type": "^4.0.0" + }, + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/d-fischer" + }, + "peerDependencies": { + "typescript": ">=4.9.5" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/cross-spawn": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", + "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", + "dev": true, + "peer": true, + "dependencies": { + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/csstype": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.1.3.tgz", + "integrity": "sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==", + "dev": true + }, + "node_modules/debug": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", + "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", + "dev": true, + "dependencies": { + "ms": "2.1.2" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/deep-is": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz", + "integrity": "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==", + "dev": true, + "peer": true + }, + "node_modules/dir-glob": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz", + "integrity": "sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==", + "dev": true, + "dependencies": { + "path-type": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/doctrine": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz", + "integrity": "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==", + "dev": true, + "peer": true, + "dependencies": { + "esutils": "^2.0.2" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/dot-case": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/dot-case/-/dot-case-3.0.4.tgz", + "integrity": "sha512-Kv5nKlh6yRrdrGvxeJ2e5y2eRUpkUosIW4A2AS38zwSz27zu7ufDwQPi5Jhs3XAlGNetl3bmnGhQsMtkKJnj3w==", + "dev": true, + "dependencies": { + "no-case": "^3.0.4", + "tslib": "^2.0.3" + } + }, + "node_modules/electron-to-chromium": { + "version": "1.4.730", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.730.tgz", + "integrity": "sha512-oJRPo82XEqtQAobHpJIR3zW5YO3sSRRkPz2an4yxi1UvqhsGm54vR/wzTFV74a3soDOJ8CKW7ajOOX5ESzddwg==", + "dev": true + }, + "node_modules/entities": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/entities/-/entities-4.5.0.tgz", + "integrity": "sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==", + "dev": true, + "engines": { + "node": ">=0.12" + }, + "funding": { + "url": "https://github.com/fb55/entities?sponsor=1" + } + }, + "node_modules/error-ex": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz", + "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==", + "dev": true, + "dependencies": { + "is-arrayish": "^0.2.1" + } + }, + "node_modules/esbuild": { + "version": "0.15.18", + "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.15.18.tgz", + "integrity": "sha512-x/R72SmW3sSFRm5zrrIjAhCeQSAWoni3CmHEqfQrZIQTM3lVCdehdwuIqaOtfC2slvpdlLa62GYoN8SxT23m6Q==", + "dev": true, + "hasInstallScript": true, + "bin": { + "esbuild": "bin/esbuild" + }, + "engines": { + "node": ">=12" + }, + "optionalDependencies": { + "@esbuild/android-arm": "0.15.18", + "@esbuild/linux-loong64": "0.15.18", + "esbuild-android-64": "0.15.18", + "esbuild-android-arm64": "0.15.18", + "esbuild-darwin-64": "0.15.18", + "esbuild-darwin-arm64": "0.15.18", + "esbuild-freebsd-64": "0.15.18", + "esbuild-freebsd-arm64": "0.15.18", + "esbuild-linux-32": "0.15.18", + "esbuild-linux-64": "0.15.18", + "esbuild-linux-arm": "0.15.18", + "esbuild-linux-arm64": "0.15.18", + "esbuild-linux-mips64le": "0.15.18", + "esbuild-linux-ppc64le": "0.15.18", + "esbuild-linux-riscv64": "0.15.18", + "esbuild-linux-s390x": "0.15.18", + "esbuild-netbsd-64": "0.15.18", + "esbuild-openbsd-64": "0.15.18", + "esbuild-sunos-64": "0.15.18", + "esbuild-windows-32": "0.15.18", + "esbuild-windows-64": "0.15.18", + "esbuild-windows-arm64": "0.15.18" + } + }, + "node_modules/esbuild-android-64": { + "version": "0.15.18", + "resolved": "https://registry.npmjs.org/esbuild-android-64/-/esbuild-android-64-0.15.18.tgz", + "integrity": "sha512-wnpt3OXRhcjfIDSZu9bnzT4/TNTDsOUvip0foZOUBG7QbSt//w3QV4FInVJxNhKc/ErhUxc5z4QjHtMi7/TbgA==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/esbuild-android-arm64": { + "version": "0.15.18", + "resolved": "https://registry.npmjs.org/esbuild-android-arm64/-/esbuild-android-arm64-0.15.18.tgz", + "integrity": "sha512-G4xu89B8FCzav9XU8EjsXacCKSG2FT7wW9J6hOc18soEHJdtWu03L3TQDGf0geNxfLTtxENKBzMSq9LlbjS8OQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/esbuild-darwin-64": { + "version": "0.15.18", + "resolved": "https://registry.npmjs.org/esbuild-darwin-64/-/esbuild-darwin-64-0.15.18.tgz", + "integrity": "sha512-2WAvs95uPnVJPuYKP0Eqx+Dl/jaYseZEUUT1sjg97TJa4oBtbAKnPnl3b5M9l51/nbx7+QAEtuummJZW0sBEmg==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/esbuild-darwin-arm64": { + "version": "0.15.18", + "resolved": "https://registry.npmjs.org/esbuild-darwin-arm64/-/esbuild-darwin-arm64-0.15.18.tgz", + "integrity": "sha512-tKPSxcTJ5OmNb1btVikATJ8NftlyNlc8BVNtyT/UAr62JFOhwHlnoPrhYWz09akBLHI9nElFVfWSTSRsrZiDUA==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/esbuild-freebsd-64": { + "version": "0.15.18", + "resolved": "https://registry.npmjs.org/esbuild-freebsd-64/-/esbuild-freebsd-64-0.15.18.tgz", + "integrity": "sha512-TT3uBUxkteAjR1QbsmvSsjpKjOX6UkCstr8nMr+q7zi3NuZ1oIpa8U41Y8I8dJH2fJgdC3Dj3CXO5biLQpfdZA==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/esbuild-freebsd-arm64": { + "version": "0.15.18", + "resolved": "https://registry.npmjs.org/esbuild-freebsd-arm64/-/esbuild-freebsd-arm64-0.15.18.tgz", + "integrity": "sha512-R/oVr+X3Tkh+S0+tL41wRMbdWtpWB8hEAMsOXDumSSa6qJR89U0S/PpLXrGF7Wk/JykfpWNokERUpCeHDl47wA==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/esbuild-linux-32": { + "version": "0.15.18", + "resolved": "https://registry.npmjs.org/esbuild-linux-32/-/esbuild-linux-32-0.15.18.tgz", + "integrity": "sha512-lphF3HiCSYtaa9p1DtXndiQEeQDKPl9eN/XNoBf2amEghugNuqXNZA/ZovthNE2aa4EN43WroO0B85xVSjYkbg==", + "cpu": [ + "ia32" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/esbuild-linux-64": { + "version": "0.15.18", + "resolved": "https://registry.npmjs.org/esbuild-linux-64/-/esbuild-linux-64-0.15.18.tgz", + "integrity": "sha512-hNSeP97IviD7oxLKFuii5sDPJ+QHeiFTFLoLm7NZQligur8poNOWGIgpQ7Qf8Balb69hptMZzyOBIPtY09GZYw==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/esbuild-linux-arm": { + "version": "0.15.18", + "resolved": "https://registry.npmjs.org/esbuild-linux-arm/-/esbuild-linux-arm-0.15.18.tgz", + "integrity": "sha512-UH779gstRblS4aoS2qpMl3wjg7U0j+ygu3GjIeTonCcN79ZvpPee12Qun3vcdxX+37O5LFxz39XeW2I9bybMVA==", + "cpu": [ + "arm" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/esbuild-linux-arm64": { + "version": "0.15.18", + "resolved": "https://registry.npmjs.org/esbuild-linux-arm64/-/esbuild-linux-arm64-0.15.18.tgz", + "integrity": "sha512-54qr8kg/6ilcxd+0V3h9rjT4qmjc0CccMVWrjOEM/pEcUzt8X62HfBSeZfT2ECpM7104mk4yfQXkosY8Quptug==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/esbuild-linux-mips64le": { + "version": "0.15.18", + "resolved": "https://registry.npmjs.org/esbuild-linux-mips64le/-/esbuild-linux-mips64le-0.15.18.tgz", + "integrity": "sha512-Mk6Ppwzzz3YbMl/ZZL2P0q1tnYqh/trYZ1VfNP47C31yT0K8t9s7Z077QrDA/guU60tGNp2GOwCQnp+DYv7bxQ==", + "cpu": [ + "mips64el" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/esbuild-linux-ppc64le": { + "version": "0.15.18", + "resolved": "https://registry.npmjs.org/esbuild-linux-ppc64le/-/esbuild-linux-ppc64le-0.15.18.tgz", + "integrity": "sha512-b0XkN4pL9WUulPTa/VKHx2wLCgvIAbgwABGnKMY19WhKZPT+8BxhZdqz6EgkqCLld7X5qiCY2F/bfpUUlnFZ9w==", + "cpu": [ + "ppc64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/esbuild-linux-riscv64": { + "version": "0.15.18", + "resolved": "https://registry.npmjs.org/esbuild-linux-riscv64/-/esbuild-linux-riscv64-0.15.18.tgz", + "integrity": "sha512-ba2COaoF5wL6VLZWn04k+ACZjZ6NYniMSQStodFKH/Pu6RxzQqzsmjR1t9QC89VYJxBeyVPTaHuBMCejl3O/xg==", + "cpu": [ + "riscv64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/esbuild-linux-s390x": { + "version": "0.15.18", + "resolved": "https://registry.npmjs.org/esbuild-linux-s390x/-/esbuild-linux-s390x-0.15.18.tgz", + "integrity": "sha512-VbpGuXEl5FCs1wDVp93O8UIzl3ZrglgnSQ+Hu79g7hZu6te6/YHgVJxCM2SqfIila0J3k0csfnf8VD2W7u2kzQ==", + "cpu": [ + "s390x" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/esbuild-netbsd-64": { + "version": "0.15.18", + "resolved": "https://registry.npmjs.org/esbuild-netbsd-64/-/esbuild-netbsd-64-0.15.18.tgz", + "integrity": "sha512-98ukeCdvdX7wr1vUYQzKo4kQ0N2p27H7I11maINv73fVEXt2kyh4K4m9f35U1K43Xc2QGXlzAw0K9yoU7JUjOg==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "netbsd" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/esbuild-openbsd-64": { + "version": "0.15.18", + "resolved": "https://registry.npmjs.org/esbuild-openbsd-64/-/esbuild-openbsd-64-0.15.18.tgz", + "integrity": "sha512-yK5NCcH31Uae076AyQAXeJzt/vxIo9+omZRKj1pauhk3ITuADzuOx5N2fdHrAKPxN+zH3w96uFKlY7yIn490xQ==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "openbsd" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/esbuild-sunos-64": { + "version": "0.15.18", + "resolved": "https://registry.npmjs.org/esbuild-sunos-64/-/esbuild-sunos-64-0.15.18.tgz", + "integrity": "sha512-On22LLFlBeLNj/YF3FT+cXcyKPEI263nflYlAhz5crxtp3yRG1Ugfr7ITyxmCmjm4vbN/dGrb/B7w7U8yJR9yw==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "sunos" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/esbuild-windows-32": { + "version": "0.15.18", + "resolved": "https://registry.npmjs.org/esbuild-windows-32/-/esbuild-windows-32-0.15.18.tgz", + "integrity": "sha512-o+eyLu2MjVny/nt+E0uPnBxYuJHBvho8vWsC2lV61A7wwTWC3jkN2w36jtA+yv1UgYkHRihPuQsL23hsCYGcOQ==", + "cpu": [ + "ia32" + ], + "dev": true, + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/esbuild-windows-64": { + "version": "0.15.18", + "resolved": "https://registry.npmjs.org/esbuild-windows-64/-/esbuild-windows-64-0.15.18.tgz", + "integrity": "sha512-qinug1iTTaIIrCorAUjR0fcBk24fjzEedFYhhispP8Oc7SFvs+XeW3YpAKiKp8dRpizl4YYAhxMjlftAMJiaUw==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/esbuild-windows-arm64": { + "version": "0.15.18", + "resolved": "https://registry.npmjs.org/esbuild-windows-arm64/-/esbuild-windows-arm64-0.15.18.tgz", + "integrity": "sha512-q9bsYzegpZcLziq0zgUi5KqGVtfhjxGbnksaBFYmWLxeV/S1fK4OLdq2DFYnXcLMjlZw2L0jLsk1eGoB522WXQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/escalade": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.2.tgz", + "integrity": "sha512-ErCHMCae19vR8vQGe50xIsVomy19rg6gFu3+r3jkEO46suLMWBksvVyoGgQV+jOfl84ZSOSlmv6Gxa89PmTGmA==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", + "dev": true, + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/eslint": { + "version": "8.57.0", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.57.0.tgz", + "integrity": "sha512-dZ6+mexnaTIbSBZWgou51U6OmzIhYM2VcNdtiTtI7qPNZm35Akpr0f6vtw3w1Kmn5PYo+tZVfh13WrhpS6oLqQ==", + "dev": true, + "peer": true, + "dependencies": { + "@eslint-community/eslint-utils": "^4.2.0", + "@eslint-community/regexpp": "^4.6.1", + "@eslint/eslintrc": "^2.1.4", + "@eslint/js": "8.57.0", + "@humanwhocodes/config-array": "^0.11.14", + "@humanwhocodes/module-importer": "^1.0.1", + "@nodelib/fs.walk": "^1.2.8", + "@ungap/structured-clone": "^1.2.0", + "ajv": "^6.12.4", + "chalk": "^4.0.0", + "cross-spawn": "^7.0.2", + "debug": "^4.3.2", + "doctrine": "^3.0.0", + "escape-string-regexp": "^4.0.0", + "eslint-scope": "^7.2.2", + "eslint-visitor-keys": "^3.4.3", + "espree": "^9.6.1", + "esquery": "^1.4.2", + "esutils": "^2.0.2", + "fast-deep-equal": "^3.1.3", + "file-entry-cache": "^6.0.1", + "find-up": "^5.0.0", + "glob-parent": "^6.0.2", + "globals": "^13.19.0", + "graphemer": "^1.4.0", + "ignore": "^5.2.0", + "imurmurhash": "^0.1.4", + "is-glob": "^4.0.0", + "is-path-inside": "^3.0.3", + "js-yaml": "^4.1.0", + "json-stable-stringify-without-jsonify": "^1.0.1", + "levn": "^0.4.1", + "lodash.merge": "^4.6.2", + "minimatch": "^3.1.2", + "natural-compare": "^1.4.0", + "optionator": "^0.9.3", + "strip-ansi": "^6.0.1", + "text-table": "^0.2.0" + }, + "bin": { + "eslint": "bin/eslint.js" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/eslint-plugin-unused-imports": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-unused-imports/-/eslint-plugin-unused-imports-3.1.0.tgz", + "integrity": "sha512-9l1YFCzXKkw1qtAru1RWUtG2EVDZY0a0eChKXcL+EZ5jitG7qxdctu4RnvhOJHv4xfmUf7h+JJPINlVpGhZMrw==", + "dev": true, + "dependencies": { + "eslint-rule-composer": "^0.3.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "peerDependencies": { + "@typescript-eslint/eslint-plugin": "6 - 7", + "eslint": "8" + }, + "peerDependenciesMeta": { + "@typescript-eslint/eslint-plugin": { + "optional": true + } + } + }, + "node_modules/eslint-rule-composer": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/eslint-rule-composer/-/eslint-rule-composer-0.3.0.tgz", + "integrity": "sha512-bt+Sh8CtDmn2OajxvNO+BX7Wn4CIWMpTRm3MaiKPCQcnnlm0CS2mhui6QaoeQugs+3Kj2ESKEEGJUdVafwhiCg==", + "dev": true, + "engines": { + "node": ">=4.0.0" + } + }, + "node_modules/eslint-scope": { + "version": "7.2.2", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.2.2.tgz", + "integrity": "sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg==", + "dev": true, + "peer": true, + "dependencies": { + "esrecurse": "^4.3.0", + "estraverse": "^5.2.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/eslint-visitor-keys": { + "version": "3.4.3", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz", + "integrity": "sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==", + "dev": true, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/eslint/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "peer": true, + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/eslint/node_modules/brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "dev": true, + "peer": true, + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "node_modules/eslint/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "peer": true, + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/eslint/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "peer": true, + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/eslint/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true, + "peer": true + }, + "node_modules/eslint/node_modules/escape-string-regexp": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", + "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", + "dev": true, + "peer": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/eslint/node_modules/globals": { + "version": "13.24.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-13.24.0.tgz", + "integrity": "sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ==", + "dev": true, + "peer": true, + "dependencies": { + "type-fest": "^0.20.2" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/eslint/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true, + "peer": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/eslint/node_modules/minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "dev": true, + "peer": true, + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, + "node_modules/eslint/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "peer": true, + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/espree": { + "version": "9.6.1", + "resolved": "https://registry.npmjs.org/espree/-/espree-9.6.1.tgz", + "integrity": "sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ==", + "dev": true, + "peer": true, + "dependencies": { + "acorn": "^8.9.0", + "acorn-jsx": "^5.3.2", + "eslint-visitor-keys": "^3.4.1" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/esquery": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.5.0.tgz", + "integrity": "sha512-YQLXUplAwJgCydQ78IMJywZCceoqk1oH01OERdSAJc/7U2AylwjhSCLDEtqwg811idIS/9fIU5GjG73IgjKMVg==", + "dev": true, + "peer": true, + "dependencies": { + "estraverse": "^5.1.0" + }, + "engines": { + "node": ">=0.10" + } + }, + "node_modules/esrecurse": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", + "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", + "dev": true, + "peer": true, + "dependencies": { + "estraverse": "^5.2.0" + }, + "engines": { + "node": ">=4.0" + } + }, + "node_modules/estraverse": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", + "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", + "dev": true, + "peer": true, + "engines": { + "node": ">=4.0" + } + }, + "node_modules/estree-walker": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-2.0.2.tgz", + "integrity": "sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==", + "dev": true + }, + "node_modules/esutils": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", + "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", + "dev": true, + "peer": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/fast-deep-equal": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", + "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", + "dev": true, + "peer": true + }, + "node_modules/fast-glob": { + "version": "3.3.2", + "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.2.tgz", + "integrity": "sha512-oX2ruAFQwf/Orj8m737Y5adxDQO0LAB7/S5MnxCdTNDd4p6BsyIVsv9JQsATbTSq8KHRpLwIHbVlUNatxd+1Ow==", + "dev": true, + "dependencies": { + "@nodelib/fs.stat": "^2.0.2", + "@nodelib/fs.walk": "^1.2.3", + "glob-parent": "^5.1.2", + "merge2": "^1.3.0", + "micromatch": "^4.0.4" + }, + "engines": { + "node": ">=8.6.0" + } + }, + "node_modules/fast-glob/node_modules/glob-parent": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "dev": true, + "dependencies": { + "is-glob": "^4.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/fast-json-stable-stringify": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", + "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==", + "dev": true, + "peer": true + }, + "node_modules/fast-levenshtein": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", + "integrity": "sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==", + "dev": true, + "peer": true + }, + "node_modules/fastq": { + "version": "1.17.1", + "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.17.1.tgz", + "integrity": "sha512-sRVD3lWVIXWg6By68ZN7vho9a1pQcN/WBFaAAsDDFzlJjvoGx0P8z7V1t72grFJfJhu3YPZBuu25f7Kaw2jN1w==", + "dev": true, + "dependencies": { + "reusify": "^1.0.4" + } + }, + "node_modules/file-entry-cache": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-6.0.1.tgz", + "integrity": "sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==", + "dev": true, + "peer": true, + "dependencies": { + "flat-cache": "^3.0.4" + }, + "engines": { + "node": "^10.12.0 || >=12.0.0" + } + }, + "node_modules/fill-range": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", + "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", + "dev": true, + "dependencies": { + "to-regex-range": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/find-up": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", + "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==", + "dev": true, + "peer": true, + "dependencies": { + "locate-path": "^6.0.0", + "path-exists": "^4.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/flat-cache": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-3.2.0.tgz", + "integrity": "sha512-CYcENa+FtcUKLmhhqyctpclsq7QF38pKjZHsGNiSQF5r4FtoKDWabFDl3hzaEQMvT1LHEysw5twgLvpYYb4vbw==", + "dev": true, + "peer": true, + "dependencies": { + "flatted": "^3.2.9", + "keyv": "^4.5.3", + "rimraf": "^3.0.2" + }, + "engines": { + "node": "^10.12.0 || >=12.0.0" + } + }, + "node_modules/flatted": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.3.1.tgz", + "integrity": "sha512-X8cqMLLie7KsNUDSdzeN8FYK9rEt4Dt67OsG/DNGnYTSDBG4uFAJFBnUeiV+zCVAvwFy56IjM9sH51jVaEhNxw==", + "dev": true, + "peer": true + }, + "node_modules/fs.realpath": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", + "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==", + "dev": true, + "peer": true + }, + "node_modules/fsevents": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz", + "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==", + "dev": true, + "hasInstallScript": true, + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": "^8.16.0 || ^10.6.0 || >=11.0.0" + } + }, + "node_modules/function-bind": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz", + "integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==", + "dev": true, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/gensync": { + "version": "1.0.0-beta.2", + "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz", + "integrity": "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==", + "dev": true, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/glob": { + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", + "dev": true, + "peer": true, + "dependencies": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.1.1", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + }, + "engines": { + "node": "*" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/glob-parent": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz", + "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==", + "dev": true, + "peer": true, + "dependencies": { + "is-glob": "^4.0.3" + }, + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/glob/node_modules/brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "dev": true, + "peer": true, + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "node_modules/glob/node_modules/minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "dev": true, + "peer": true, + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, + "node_modules/globals": { + "version": "11.12.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz", + "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/globby": { + "version": "11.1.0", + "resolved": "https://registry.npmjs.org/globby/-/globby-11.1.0.tgz", + "integrity": "sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==", + "dev": true, + "dependencies": { + "array-union": "^2.1.0", + "dir-glob": "^3.0.1", + "fast-glob": "^3.2.9", + "ignore": "^5.2.0", + "merge2": "^1.4.1", + "slash": "^3.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/globrex": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/globrex/-/globrex-0.1.2.tgz", + "integrity": "sha512-uHJgbwAMwNFf5mLst7IWLNg14x1CkeqglJb/K3doi4dw6q2IvAAmM/Y81kevy83wP+Sst+nutFTYOGg3d1lsxg==", + "dev": true + }, + "node_modules/graphemer": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/graphemer/-/graphemer-1.4.0.tgz", + "integrity": "sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==", + "dev": true + }, + "node_modules/hamt_plus": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/hamt_plus/-/hamt_plus-1.0.2.tgz", + "integrity": "sha512-t2JXKaehnMb9paaYA7J0BX8QQAY8lwfQ9Gjf4pg/mk4krt+cmwmU652HOoWonf+7+EQV97ARPMhhVgU1ra2GhA==", + "dev": true + }, + "node_modules/has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/hasown": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.2.tgz", + "integrity": "sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==", + "dev": true, + "dependencies": { + "function-bind": "^1.1.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/ignore": { + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.3.1.tgz", + "integrity": "sha512-5Fytz/IraMjqpwfd34ke28PTVMjZjJG2MPn5t7OE4eUCUNf8BAa7b5WUS9/Qvr6mwOQS7Mk6vdsMno5he+T8Xw==", + "dev": true, + "engines": { + "node": ">= 4" + } + }, + "node_modules/immutable": { + "version": "4.3.5", + "resolved": "https://registry.npmjs.org/immutable/-/immutable-4.3.5.tgz", + "integrity": "sha512-8eabxkth9gZatlwl5TBuJnCsoTADlL6ftEr7A4qgdaTsPyreilDSnUk57SO+jfKcNtxPa22U5KK6DSeAYhpBJw==", + "dev": true + }, + "node_modules/import-fresh": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz", + "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==", + "dev": true, + "dependencies": { + "parent-module": "^1.0.0", + "resolve-from": "^4.0.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/imurmurhash": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", + "integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==", + "dev": true, + "peer": true, + "engines": { + "node": ">=0.8.19" + } + }, + "node_modules/inflight": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", + "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", + "dev": true, + "peer": true, + "dependencies": { + "once": "^1.3.0", + "wrappy": "1" + } + }, + "node_modules/inherits": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", + "dev": true, + "peer": true + }, + "node_modules/is-arrayish": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", + "integrity": "sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==", + "dev": true + }, + "node_modules/is-binary-path": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", + "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", + "dev": true, + "dependencies": { + "binary-extensions": "^2.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/is-core-module": { + "version": "2.13.1", + "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.13.1.tgz", + "integrity": "sha512-hHrIjvZsftOsvKSn2TRYl63zvxsgE0K+0mYMoH6gD4omR5IWB2KynivBQczo3+wF1cCkjzvptnI9Q0sPU66ilw==", + "dev": true, + "dependencies": { + "hasown": "^2.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-extglob": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", + "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-glob": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", + "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", + "dev": true, + "dependencies": { + "is-extglob": "^2.1.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-number": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", + "dev": true, + "engines": { + "node": ">=0.12.0" + } + }, + "node_modules/is-path-inside": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-3.0.3.tgz", + "integrity": "sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==", + "dev": true, + "peer": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/isexe": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", + "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", + "dev": true, + "peer": true + }, + "node_modules/js-tokens": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", + "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==" + }, + "node_modules/js-yaml": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", + "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", + "dev": true, + "dependencies": { + "argparse": "^2.0.1" + }, + "bin": { + "js-yaml": "bin/js-yaml.js" + } + }, + "node_modules/jsesc": { + "version": "2.5.2", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz", + "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==", + "dev": true, + "bin": { + "jsesc": "bin/jsesc" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/json-buffer": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.1.tgz", + "integrity": "sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==", + "dev": true, + "peer": true + }, + "node_modules/json-parse-even-better-errors": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz", + "integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==", + "dev": true + }, + "node_modules/json-schema-traverse": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", + "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", + "dev": true, + "peer": true + }, + "node_modules/json-stable-stringify-without-jsonify": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz", + "integrity": "sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==", + "dev": true, + "peer": true + }, + "node_modules/json5": { + "version": "2.2.3", + "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz", + "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==", + "dev": true, + "bin": { + "json5": "lib/cli.js" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/keyv": { + "version": "4.5.4", + "resolved": "https://registry.npmjs.org/keyv/-/keyv-4.5.4.tgz", + "integrity": "sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==", + "dev": true, + "peer": true, + "dependencies": { + "json-buffer": "3.0.1" + } + }, + "node_modules/levn": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz", + "integrity": "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==", + "dev": true, + "peer": true, + "dependencies": { + "prelude-ls": "^1.2.1", + "type-check": "~0.4.0" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/lines-and-columns": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.2.4.tgz", + "integrity": "sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==", + "dev": true + }, + "node_modules/locate-path": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", + "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==", + "dev": true, + "peer": true, + "dependencies": { + "p-locate": "^5.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/lodash.merge": { + "version": "4.6.2", + "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz", + "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==", + "dev": true, + "peer": true + }, + "node_modules/loose-envify": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz", + "integrity": "sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==", + "dependencies": { + "js-tokens": "^3.0.0 || ^4.0.0" + }, + "bin": { + "loose-envify": "cli.js" + } + }, + "node_modules/lower-case": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/lower-case/-/lower-case-2.0.2.tgz", + "integrity": "sha512-7fm3l3NAF9WfN6W3JOmf5drwpVqX78JtoGJ3A6W0a6ZnldM41w2fV5D490psKFTpMds8TJse/eHLFFsNHHjHgg==", + "dev": true, + "dependencies": { + "tslib": "^2.0.3" + } + }, + "node_modules/lru-cache": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", + "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==", + "dev": true, + "dependencies": { + "yallist": "^3.0.2" + } + }, + "node_modules/magic-string": { + "version": "0.26.7", + "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.26.7.tgz", + "integrity": "sha512-hX9XH3ziStPoPhJxLq1syWuZMxbDvGNbVchfrdCtanC7D13888bMFow61x8axrx+GfHLtVeAx2kxL7tTGRl+Ow==", + "dev": true, + "dependencies": { + "sourcemap-codec": "^1.4.8" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/merge2": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", + "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==", + "dev": true, + "engines": { + "node": ">= 8" + } + }, + "node_modules/micromatch": { + "version": "4.0.5", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz", + "integrity": "sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==", + "dev": true, + "dependencies": { + "braces": "^3.0.2", + "picomatch": "^2.3.1" + }, + "engines": { + "node": ">=8.6" + } + }, + "node_modules/minimatch": { + "version": "9.0.4", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.4.tgz", + "integrity": "sha512-KqWh+VchfxcMNRAJjj2tnsSJdNbHsVgnkBhTNrW7AjVo6OvLtxw8zfT9oLw1JSohlFzJ8jCoTgaoXvJ+kHt6fw==", + "dev": true, + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=16 || 14 >=14.17" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", + "dev": true + }, + "node_modules/nanoid": { + "version": "3.3.7", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.7.tgz", + "integrity": "sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "bin": { + "nanoid": "bin/nanoid.cjs" + }, + "engines": { + "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" + } + }, + "node_modules/natural-compare": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", + "integrity": "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==", + "dev": true + }, + "node_modules/nb-editor": { + "version": "5.3.4", + "resolved": "git+ssh://git@github.com/notebox/nb-editor.git#dbeef64aeaf50d23086bb7a4d39c3592ec5554fa", + "dev": true, + "engines": { + "node": ">=12.0.0" + } + }, + "node_modules/no-case": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/no-case/-/no-case-3.0.4.tgz", + "integrity": "sha512-fgAN3jGAh+RoxUGZHTSOLJIqUc2wmoBwGR4tbpNAKmmovFoWq0OdRkb0VkldReO2a2iBT/OEulG9XSUc10r3zg==", + "dev": true, + "dependencies": { + "lower-case": "^2.0.2", + "tslib": "^2.0.3" + } + }, + "node_modules/node-releases": { + "version": "2.0.14", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.14.tgz", + "integrity": "sha512-y10wOWt8yZpqXmOgRo77WaHEmhYQYGNA6y421PKsKYWEK8aW+cqAphborZDhqfyKrbZEN92CN1X2KbafY2s7Yw==", + "dev": true + }, + "node_modules/normalize-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", + "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/once": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", + "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", + "dev": true, + "peer": true, + "dependencies": { + "wrappy": "1" + } + }, + "node_modules/optionator": { + "version": "0.9.3", + "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.3.tgz", + "integrity": "sha512-JjCoypp+jKn1ttEFExxhetCKeJt9zhAgAve5FXHixTvFDW/5aEktX9bufBKLRRMdU7bNtpLfcGu94B3cdEJgjg==", + "dev": true, + "peer": true, + "dependencies": { + "@aashutoshrathi/word-wrap": "^1.2.3", + "deep-is": "^0.1.3", + "fast-levenshtein": "^2.0.6", + "levn": "^0.4.1", + "prelude-ls": "^1.2.1", + "type-check": "^0.4.0" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/p-limit": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", + "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", + "dev": true, + "peer": true, + "dependencies": { + "yocto-queue": "^0.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/p-locate": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz", + "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==", + "dev": true, + "peer": true, + "dependencies": { + "p-limit": "^3.0.2" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/parent-module": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", + "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==", + "dev": true, + "dependencies": { + "callsites": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/parse-json": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz", + "integrity": "sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==", + "dev": true, + "dependencies": { + "@babel/code-frame": "^7.0.0", + "error-ex": "^1.3.1", + "json-parse-even-better-errors": "^2.3.0", + "lines-and-columns": "^1.1.6" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/path-exists": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", + "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", + "dev": true, + "peer": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/path-is-absolute": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", + "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==", + "dev": true, + "peer": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/path-key": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", + "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", + "dev": true, + "peer": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/path-parse": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", + "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==", + "dev": true + }, + "node_modules/path-type": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz", + "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/picocolors": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz", + "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==", + "dev": true + }, + "node_modules/picomatch": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", + "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", + "dev": true, + "engines": { + "node": ">=8.6" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } + }, + "node_modules/postcss": { + "version": "8.4.38", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.38.tgz", + "integrity": "sha512-Wglpdk03BSfXkHoQa3b/oulrotAkwrlLDRSOb9D0bN86FdRyE9lppSp33aHNPgBa0JKCoB+drFLZkQoRRYae5A==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/postcss" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "dependencies": { + "nanoid": "^3.3.7", + "picocolors": "^1.0.0", + "source-map-js": "^1.2.0" + }, + "engines": { + "node": "^10 || ^12 || >=14" + } + }, + "node_modules/prelude-ls": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz", + "integrity": "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==", + "dev": true, + "peer": true, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/punycode": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.1.tgz", + "integrity": "sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==", + "dev": true, + "peer": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/queue-microtask": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", + "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ] + }, + "node_modules/react": { + "version": "18.2.0", + "resolved": "https://registry.npmjs.org/react/-/react-18.2.0.tgz", + "integrity": "sha512-/3IjMdb2L9QbBdWiW5e3P2/npwMBaU9mHCSCUzNln0ZCYbcfTsGbTJrU/kGemdH2IWmB2ioZ+zkxtmq6g09fGQ==", + "dependencies": { + "loose-envify": "^1.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/react-dom": { + "version": "18.2.0", + "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-18.2.0.tgz", + "integrity": "sha512-6IMTriUmvsjHUjNtEDudZfuDQUoWXVxKHhlEGSk81n4YFS+r/Kl99wXiwlVXtPBtJenozv2P+hxDsw9eA7Xo6g==", + "dependencies": { + "loose-envify": "^1.1.0", + "scheduler": "^0.23.0" + }, + "peerDependencies": { + "react": "^18.2.0" + } + }, + "node_modules/react-refresh": { + "version": "0.14.0", + "resolved": "https://registry.npmjs.org/react-refresh/-/react-refresh-0.14.0.tgz", + "integrity": "sha512-wViHqhAd8OHeLS/IRMJjTSDHF3U9eWi62F/MledQGPdJGDhodXJ9PBLNGr6WWL7qlH12Mt3TyTpbS+hGXMjCzQ==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/readdirp": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", + "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", + "dev": true, + "dependencies": { + "picomatch": "^2.2.1" + }, + "engines": { + "node": ">=8.10.0" + } + }, + "node_modules/recoil": { + "version": "0.7.7", + "resolved": "https://registry.npmjs.org/recoil/-/recoil-0.7.7.tgz", + "integrity": "sha512-8Og5KPQW9LwC577Vc7Ug2P0vQshkv1y3zG3tSSkWMqkWSwHmE+by06L8JtnGocjW6gcCvfwB3YtrJG6/tWivNQ==", + "dev": true, + "dependencies": { + "hamt_plus": "1.0.2" + }, + "peerDependencies": { + "react": ">=16.13.1" + }, + "peerDependenciesMeta": { + "react-dom": { + "optional": true + }, + "react-native": { + "optional": true + } + } + }, + "node_modules/resolve": { + "version": "1.22.8", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.8.tgz", + "integrity": "sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==", + "dev": true, + "dependencies": { + "is-core-module": "^2.13.0", + "path-parse": "^1.0.7", + "supports-preserve-symlinks-flag": "^1.0.0" + }, + "bin": { + "resolve": "bin/resolve" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/resolve-from": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", + "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/reusify": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz", + "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==", + "dev": true, + "engines": { + "iojs": ">=1.0.0", + "node": ">=0.10.0" + } + }, + "node_modules/rimraf": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", + "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", + "dev": true, + "peer": true, + "dependencies": { + "glob": "^7.1.3" + }, + "bin": { + "rimraf": "bin.js" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/rollup": { + "version": "2.79.1", + "resolved": "https://registry.npmjs.org/rollup/-/rollup-2.79.1.tgz", + "integrity": "sha512-uKxbd0IhMZOhjAiD5oAFp7BqvkA4Dv47qpOCtaNvng4HBwdbWtdOh8f5nZNuk2rp51PMGk3bzfWu5oayNEuYnw==", + "dev": true, + "bin": { + "rollup": "dist/bin/rollup" + }, + "engines": { + "node": ">=10.0.0" + }, + "optionalDependencies": { + "fsevents": "~2.3.2" + } + }, + "node_modules/run-parallel": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz", + "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "dependencies": { + "queue-microtask": "^1.2.2" + } + }, + "node_modules/sass": { + "version": "1.74.1", + "resolved": "https://registry.npmjs.org/sass/-/sass-1.74.1.tgz", + "integrity": "sha512-w0Z9p/rWZWelb88ISOLyvqTWGmtmu2QJICqDBGyNnfG4OUnPX9BBjjYIXUpXCMOOg5MQWNpqzt876la1fsTvUA==", + "dev": true, + "dependencies": { + "chokidar": ">=3.0.0 <4.0.0", + "immutable": "^4.0.0", + "source-map-js": ">=0.6.2 <2.0.0" + }, + "bin": { + "sass": "sass.js" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/scheduler": { + "version": "0.23.0", + "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.23.0.tgz", + "integrity": "sha512-CtuThmgHNg7zIZWAXi3AsyIzA3n4xx7aNyjwC2VJldO2LMVDhFK+63xGqq6CsJH4rTAt6/M+N4GhZiDYPx9eUw==", + "dependencies": { + "loose-envify": "^1.1.0" + } + }, + "node_modules/semver": { + "version": "7.6.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.0.tgz", + "integrity": "sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg==", + "dev": true, + "dependencies": { + "lru-cache": "^6.0.0" + }, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/semver/node_modules/lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "dev": true, + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/semver/node_modules/yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "dev": true + }, + "node_modules/shebang-command": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", + "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", + "dev": true, + "peer": true, + "dependencies": { + "shebang-regex": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/shebang-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", + "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", + "dev": true, + "peer": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/slash": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", + "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/snake-case": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/snake-case/-/snake-case-3.0.4.tgz", + "integrity": "sha512-LAOh4z89bGQvl9pFfNF8V146i7o7/CqFPbqzYgP+yYzDIDeS9HaNFtXABamRW+AQzEVODcvE79ljJ+8a9YSdMg==", + "dev": true, + "dependencies": { + "dot-case": "^3.0.4", + "tslib": "^2.0.3" + } + }, + "node_modules/source-map-js": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.0.tgz", + "integrity": "sha512-itJW8lvSA0TXEphiRoawsCksnlf8SyvmFzIhltqAHluXd88pkCd+cXJVHTDwdCr0IzwptSm035IHQktUu1QUMg==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/sourcemap-codec": { + "version": "1.4.8", + "resolved": "https://registry.npmjs.org/sourcemap-codec/-/sourcemap-codec-1.4.8.tgz", + "integrity": "sha512-9NykojV5Uih4lgo5So5dtw+f0JgJX30KCNI8gwhz2J9A15wD0Ml6tjHKwf6fTSa6fAdVBdZeNOs9eJ71qCk8vA==", + "deprecated": "Please use @jridgewell/sourcemap-codec instead", + "dev": true + }, + "node_modules/strip-ansi": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "dev": true, + "peer": true, + "dependencies": { + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/strip-json-comments": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", + "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==", + "dev": true, + "peer": true, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dev": true, + "dependencies": { + "has-flag": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/supports-preserve-symlinks-flag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", + "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==", + "dev": true, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/svg-parser": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/svg-parser/-/svg-parser-2.0.4.tgz", + "integrity": "sha512-e4hG1hRwoOdRb37cIMSgzNsxyzKfayW6VOflrwvR+/bzrkyxY/31WkbgnQpgtrNp1SdpJvpUAGTa/ZoiPNDuRQ==", + "dev": true + }, + "node_modules/text-table": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", + "integrity": "sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==", + "dev": true, + "peer": true + }, + "node_modules/to-fast-properties": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz", + "integrity": "sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/to-regex-range": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", + "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", + "dev": true, + "dependencies": { + "is-number": "^7.0.0" + }, + "engines": { + "node": ">=8.0" + } + }, + "node_modules/ts-api-utils": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/ts-api-utils/-/ts-api-utils-1.3.0.tgz", + "integrity": "sha512-UQMIo7pb8WRomKR1/+MFVLTroIvDVtMX3K6OUir8ynLyzB8Jeriont2bTAtmNPa1ekAgN7YPDyf6V+ygrdU+eQ==", + "dev": true, + "engines": { + "node": ">=16" + }, + "peerDependencies": { + "typescript": ">=4.2.0" + } + }, + "node_modules/tslib": { + "version": "2.6.2", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz", + "integrity": "sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==", + "dev": true + }, + "node_modules/type-check": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz", + "integrity": "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==", + "dev": true, + "peer": true, + "dependencies": { + "prelude-ls": "^1.2.1" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/type-fest": { + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz", + "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==", + "dev": true, + "peer": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/typescript": { + "version": "4.9.5", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.9.5.tgz", + "integrity": "sha512-1FXk9E2Hm+QzZQ7z+McJiHL4NW1F2EzMu9Nq9i3zAaGqibafqYwCVU6WyWAuyQRRzOlxou8xZSyXLEN8oKj24g==", + "dev": true, + "bin": { + "tsc": "bin/tsc", + "tsserver": "bin/tsserver" + }, + "engines": { + "node": ">=4.2.0" + } + }, + "node_modules/update-browserslist-db": { + "version": "1.0.13", + "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.13.tgz", + "integrity": "sha512-xebP81SNcPuNpPP3uzeW1NYXxI3rxyJzF3pD6sH4jE7o/IX+WtSpwnVU+qIsDPyk0d3hmFQ7mjqc6AtV604hbg==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/browserslist" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "dependencies": { + "escalade": "^3.1.1", + "picocolors": "^1.0.0" + }, + "bin": { + "update-browserslist-db": "cli.js" + }, + "peerDependencies": { + "browserslist": ">= 4.21.0" + } + }, + "node_modules/uri-js": { + "version": "4.4.1", + "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", + "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", + "dev": true, + "peer": true, + "dependencies": { + "punycode": "^2.1.0" + } + }, + "node_modules/vite": { + "version": "3.2.10", + "resolved": "https://registry.npmjs.org/vite/-/vite-3.2.10.tgz", + "integrity": "sha512-Dx3olBo/ODNiMVk/cA5Yft9Ws+snLOXrhLtrI3F4XLt4syz2Yg8fayZMWScPKoz12v5BUv7VEmQHnsfpY80fYw==", + "dev": true, + "dependencies": { + "esbuild": "^0.15.9", + "postcss": "^8.4.18", + "resolve": "^1.22.1", + "rollup": "^2.79.1" + }, + "bin": { + "vite": "bin/vite.js" + }, + "engines": { + "node": "^14.18.0 || >=16.0.0" + }, + "optionalDependencies": { + "fsevents": "~2.3.2" + }, + "peerDependencies": { + "@types/node": ">= 14", + "less": "*", + "sass": "*", + "stylus": "*", + "sugarss": "*", + "terser": "^5.4.0" + }, + "peerDependenciesMeta": { + "@types/node": { + "optional": true + }, + "less": { + "optional": true + }, + "sass": { + "optional": true + }, + "stylus": { + "optional": true + }, + "sugarss": { + "optional": true + }, + "terser": { + "optional": true + } + } + }, + "node_modules/vite-plugin-svgr": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/vite-plugin-svgr/-/vite-plugin-svgr-4.2.0.tgz", + "integrity": "sha512-SC7+FfVtNQk7So0XMjrrtLAbEC8qjFPifyD7+fs/E6aaNdVde6umlVVh0QuwDLdOMu7vp5RiGFsB70nj5yo0XA==", + "dev": true, + "dependencies": { + "@rollup/pluginutils": "^5.0.5", + "@svgr/core": "^8.1.0", + "@svgr/plugin-jsx": "^8.1.0" + }, + "peerDependencies": { + "vite": "^2.6.0 || 3 || 4 || 5" + } + }, + "node_modules/vite-tsconfig-paths": { + "version": "4.3.2", + "resolved": "https://registry.npmjs.org/vite-tsconfig-paths/-/vite-tsconfig-paths-4.3.2.tgz", + "integrity": "sha512-0Vd/a6po6Q+86rPlntHye7F31zA2URZMbH8M3saAZ/xR9QoGN/L21bxEGfXdWmFdNkqPpRdxFT7nmNe12e9/uA==", + "dev": true, + "dependencies": { + "debug": "^4.1.1", + "globrex": "^0.1.2", + "tsconfck": "^3.0.3" + }, + "peerDependencies": { + "vite": "*" + }, + "peerDependenciesMeta": { + "vite": { + "optional": true + } + } + }, + "node_modules/vite-tsconfig-paths/node_modules/tsconfck": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/tsconfck/-/tsconfck-3.0.3.tgz", + "integrity": "sha512-4t0noZX9t6GcPTfBAbIbbIU4pfpCwh0ueq3S4O/5qXI1VwK1outmxhe9dOiEWqMz3MW2LKgDTpqWV+37IWuVbA==", + "dev": true, + "bin": { + "tsconfck": "bin/tsconfck.js" + }, + "engines": { + "node": "^18 || >=20" + }, + "peerDependencies": { + "typescript": "^5.0.0" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/vite-tsconfig-paths/node_modules/typescript": { + "version": "5.4.4", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.4.4.tgz", + "integrity": "sha512-dGE2Vv8cpVvw28v8HCPqyb08EzbBURxDpuhJvTrusShUfGnhHBafDsLdS1EhhxyL6BJQE+2cT3dDPAv+MQ6oLw==", + "dev": true, + "optional": true, + "peer": true, + "bin": { + "tsc": "bin/tsc", + "tsserver": "bin/tsserver" + }, + "engines": { + "node": ">=14.17" + } + }, + "node_modules/which": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", + "dev": true, + "peer": true, + "dependencies": { + "isexe": "^2.0.0" + }, + "bin": { + "node-which": "bin/node-which" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/wrappy": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", + "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==", + "dev": true, + "peer": true + }, + "node_modules/yallist": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", + "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==", + "dev": true + }, + "node_modules/yocto-queue": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", + "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==", + "dev": true, + "peer": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + } + } +} diff --git a/frontend/package.json b/frontend/package.json new file mode 100644 index 0000000..6f47b3b --- /dev/null +++ b/frontend/package.json @@ -0,0 +1,32 @@ +{ + "name": "frontend", + "private": true, + "version": "0.0.0", + "type": "module", + "scripts": { + "dev": "vite", + "build": "tsc && vite build", + "preview": "vite preview", + "lint": "eslint .", + "lint-fix": "eslint . --fix" + }, + "dependencies": { + "react": "^18.2.0", + "react-dom": "^18.2.0" + }, + "devDependencies": { + "@types/react": "^18.0.17", + "@types/react-dom": "^18.0.6", + "@typescript-eslint/eslint-plugin": "^7.1.1", + "@typescript-eslint/parser": "^7.1.1", + "@vitejs/plugin-react": "^2.0.1", + "eslint-plugin-unused-imports": "^3.1.0", + "nb-editor": "github:notebox/nb-editor", + "recoil": "^0.7.7", + "sass": "^1.71.1", + "typescript": "^4.6.4", + "vite": "^3.0.7", + "vite-plugin-svgr": "^4.2.0", + "vite-tsconfig-paths": "^4.3.1" + } +} diff --git a/frontend/package.json.md5 b/frontend/package.json.md5 new file mode 100755 index 0000000..e501f39 --- /dev/null +++ b/frontend/package.json.md5 @@ -0,0 +1 @@ +48ccb2f075b0fd3630dc035bb46231cb \ No newline at end of file diff --git a/frontend/public/extensions/note/index.html b/frontend/public/extensions/note/index.html new file mode 100644 index 0000000..bfd8266 --- /dev/null +++ b/frontend/public/extensions/note/index.html @@ -0,0 +1 @@ +notebox \ No newline at end of file diff --git a/frontend/public/extensions/note/static/app.css b/frontend/public/extensions/note/static/app.css new file mode 100644 index 0000000..18461f1 --- /dev/null +++ b/frontend/public/extensions/note/static/app.css @@ -0,0 +1 @@ +.nb-color-red{color:#ff3219}.nb-color-orange{color:#ff820f}.nb-color-yellow{color:#ffb400}.nb-color-green{color:#5ab42d}.nb-color-blue{color:#327dff}.nb-color-purple{color:#a550ff}.nb-color-gray{color:#aaa}.nb-bgcolor-red{background-color:rgba(255,20,0,.4)}.nb-bgcolor-orange{background-color:rgba(255,140,0,.4)}.nb-bgcolor-yellow{background-color:rgba(255,210,0,.4)}.nb-bgcolor-green{background-color:rgba(130,200,80,.4)}.nb-bgcolor-blue{background-color:rgba(80,140,255,.4)}.nb-bgcolor-purple{background-color:rgba(180,110,255,.4)}.nb-bgcolor-gray{background-color:rgba(160,160,160,.4)}:root{--font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif;--monospace-font-family: monospace, Monaco, Courier New, Courier;--ui-font-size: 14px;--accent-color: #f3a100;--thick-transparent-accent-color: rgba(230, 162, 25, 0.8);--thin-transparent-accent-color: rgba(230, 162, 25, 0.2);--transparent-accent-color: rgba(230, 162, 25, 0.4);--border-radius: 5px;--border-radius-form: 2px;--label-fg-color: white;--label-bg-color: rgba(0, 0, 0, 0.5);--nb-color-red: rgba(255, 50, 25, 1);--nb-color-orange: rgba(255, 130, 15, 1);--nb-color-yellow: rgba(255, 180, 0, 1);--nb-color-green: rgba(90, 180, 45, 1);--nb-color-blue: rgba(50, 125, 255, 1);--nb-color-purple: rgba(165, 80, 255, 1);--nb-color-gray: rgba(170, 170, 170, 1);--nb-bgcolor-red: rgba(255, 20, 0, 0.4);--nb-bgcolor-orange: rgba(255, 140, 0, 0.4);--nb-bgcolor-yellow: rgba(255, 210, 0, 0.4);--nb-bgcolor-green: rgba(130, 200, 80, 0.4);--nb-bgcolor-blue: rgba(80, 140, 255, 0.4);--nb-bgcolor-purple: rgba(180, 110, 255, 0.4);--nb-bgcolor-gray: rgba(160, 160, 160, 0.4)}:root .black-theme{--bg-color: black;--fg-color: #f4f4f4;--transparent-bg-color: rgba(0, 0, 0, 0.5);--thick-transparent-bg-color: rgba(0, 0, 0, 0.8);--thicker-transparent-bg-color: rgba(0, 0, 0, 0.9);--reverse-transparent-bg-color: rgba(255, 255, 255, 0.2);--box-shadow: rgba(255, 255, 255, 1) 0px 0px 0px 1px, rgba(255, 255, 255, 0.4) 0px 2px 4px}:root .light-theme{--bg-color: white;--fg-color: black;--transparent-bg-color: rgba(255, 255, 255, 0.5);--thick-transparent-bg-color: rgba(255, 255, 255, 0.8);--thicker-transparent-bg-color: rgba(255, 255, 255, 0.9);--reverse-transparent-bg-color: rgba(0, 0, 0, 0.2);--box-shadow: rgba(0, 0, 0, 1) 0px 0px 0px 1px, rgba(0, 0, 0, 0.4) 0px 2px 4px}.nb-no-editable{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;-webkit-user-modify:read-only}.nb-root:not(.nb-searching) .nb-no-editable-but-searchable{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;-webkit-user-modify:read-only}.nb-editor{-webkit-user-modify:read-only}.nb-editor[contenteditable=true]{-webkit-user-modify:read-write}[contenteditable=false]{cursor:default}[contenteditable=true]{outline:none;cursor:text;-webkit-user-modify:read-write;-webkit-user-select:text;-moz-user-select:text;-ms-user-select:text;user-select:text}[contenteditable=true]:empty::before{opacity:.2;content:attr(placeholder);pointer-events:none;display:block}[contenteditable],[tabindex="-1"]{outline:none}html,body{caret-color:var(--accent-color)}::selection{background:var(--transparent-accent-color)}::-moz-selection{background:var(--transparent-accent-color)}.nb-ui-layer-selection{pointer-events:none;overflow:hidden;inset:0;position:absolute;z-index:200}.nb-ui-layer-selection .nb-ui-layer-selection-container{overflow:hidden;inset:0;position:absolute}.nb-ui-layer-selection .nb-ui-layer-selection-container #nb-ui-selection-rect{position:absolute}.nb-ui-layer-selection .nb-ui-layer-selection-container .nb-ui-selection-block{position:absolute;background-color:var(--thin-transparent-accent-color);border-radius:var(--border-radius)}@keyframes fade-in{from{opacity:0}to{opacity:1}}@keyframes fade-in-scale{from{opacity:0;transform:scale(0)}to{opacity:1;transform:scale(1)}}html,body{width:100%;margin:0}.nb-root{position:relative;overflow-y:auto;overflow-x:hidden;min-height:-webkit-fill-available;display:flex}html,body,.light-theme,.black-theme{font-family:var(--font-family);font-size:18px}html,body,.light-theme,.black-theme{background-color:var(--bg-color);color:var(--fg-color)}.loading-spinner{margin:auto;box-sizing:border-box;width:64px;height:64px;border-radius:50%;border:8px solid rgba(0,0,0,0);border-top-color:var(--fg-color);border-bottom-color:var(--fg-color);animation:spinner .8s ease infinite}@keyframes spinner{from{transform:rotate(0deg)}to{transform:rotate(360deg)}}a{color:var(--fg-color)}a:visited{color:var(--fg-color)}b{font-weight:bolder}body.modal-open{overflow-y:hidden !important;position:fixed !important;padding-right:15px}@keyframes fade-in{from{opacity:0}to{opacity:1}}@keyframes fade-in-scale{from{opacity:0;transform:scale(0)}to{opacity:1;transform:scale(1)}}.nb-editor,.nb-ui-layer{flex:1}.nb-editor [data-nb-block],.nb-ui-layer [data-nb-block]{min-height:24px;padding:4px 0;display:flex}.nb-editor [data-nb-block] .nb-block-handle-container,.nb-ui-layer [data-nb-block] .nb-block-handle-container{position:relative;width:0}.nb-editor [data-nb-block] .nb-block-handle-container .nb-block-handle,.nb-ui-layer [data-nb-block] .nb-block-handle-container .nb-block-handle{position:absolute;top:0;left:-24px;height:100%}.nb-editor [data-nb-block] .nb-block-body,.nb-ui-layer [data-nb-block] .nb-block-body{flex:1;display:grid}.nb-editor [data-nb-block] .nb-block-body .nb-block-content,.nb-ui-layer [data-nb-block] .nb-block-body .nb-block-content{padding:4px;min-width:0}.nb-editor [data-nb-block] .nb-block-body .nb-block-indent,.nb-ui-layer [data-nb-block] .nb-block-body .nb-block-indent{margin-top:4px}.nb-editor [data-nb-block] .nb-block-body .nb-block-indent .nb-block-indent,.nb-ui-layer [data-nb-block] .nb-block-body .nb-block-indent .nb-block-indent{padding-left:24px;margin-bottom:-4px}@media(min-width: 1136px){.nb-editor [data-nb-block-type=NOTE]>.nb-block-body>.nb-block-indent>[data-nb-block]:not(.fill),.nb-ui-layer [data-nb-block-type=NOTE]>.nb-block-body>.nb-block-indent>[data-nb-block]:not(.fill){padding-left:calc(50% - 512px + 28px);padding-right:calc(50% - 512px + 28px)}}@media(min-width: 1024px)and (max-width: 1135px){.nb-editor [data-nb-block-type=NOTE]>.nb-block-body>.nb-block-indent>[data-nb-block]:not(.fill),.nb-ui-layer [data-nb-block-type=NOTE]>.nb-block-body>.nb-block-indent>[data-nb-block]:not(.fill){padding-left:calc(624px - 50% + 28px);padding-right:calc(624px - 50% + 28px)}}@media(min-width: 800px)and (max-width: 1023px){.nb-editor [data-nb-block-type=NOTE]>.nb-block-body>.nb-block-indent>[data-nb-block]:not(.fill),.nb-ui-layer [data-nb-block-type=NOTE]>.nb-block-body>.nb-block-indent>[data-nb-block]:not(.fill){padding-left:calc(50% - 400px + 28px);padding-right:calc(50% - 400px + 28px)}}@media(max-width: 799px){.nb-editor [data-nb-block-type=NOTE]>.nb-block-body>.nb-block-indent>[data-nb-block]:not(.fill),.nb-ui-layer [data-nb-block-type=NOTE]>.nb-block-body>.nb-block-indent>[data-nb-block]:not(.fill){padding-left:24px;padding-right:24px}}@media(min-width: 1136px){.nb-editor [data-nb-block-type=NOTE]>.nb-block-body>.nb-block-indent>[data-nb-block] .nb-db-controller,.nb-editor [data-nb-block-type=NOTE]>.nb-block-body>.nb-block-indent>[data-nb-block] .nb-db-container>.nb-db-content,.nb-ui-layer [data-nb-block-type=NOTE]>.nb-block-body>.nb-block-indent>[data-nb-block] .nb-db-controller,.nb-ui-layer [data-nb-block-type=NOTE]>.nb-block-body>.nb-block-indent>[data-nb-block] .nb-db-container>.nb-db-content{padding-left:calc(50% - 512px);padding-right:calc(50% - 512px)}}@media(min-width: 1024px)and (max-width: 1135px){.nb-editor [data-nb-block-type=NOTE]>.nb-block-body>.nb-block-indent>[data-nb-block] .nb-db-controller,.nb-editor [data-nb-block-type=NOTE]>.nb-block-body>.nb-block-indent>[data-nb-block] .nb-db-container>.nb-db-content,.nb-ui-layer [data-nb-block-type=NOTE]>.nb-block-body>.nb-block-indent>[data-nb-block] .nb-db-controller,.nb-ui-layer [data-nb-block-type=NOTE]>.nb-block-body>.nb-block-indent>[data-nb-block] .nb-db-container>.nb-db-content{padding-left:calc(624px - 50%);padding-right:calc(624px - 50%)}}@media(min-width: 800px)and (max-width: 1023px){.nb-editor [data-nb-block-type=NOTE]>.nb-block-body>.nb-block-indent>[data-nb-block] .nb-db-controller,.nb-editor [data-nb-block-type=NOTE]>.nb-block-body>.nb-block-indent>[data-nb-block] .nb-db-container>.nb-db-content,.nb-ui-layer [data-nb-block-type=NOTE]>.nb-block-body>.nb-block-indent>[data-nb-block] .nb-db-controller,.nb-ui-layer [data-nb-block-type=NOTE]>.nb-block-body>.nb-block-indent>[data-nb-block] .nb-db-container>.nb-db-content{padding-left:calc(50% - 400px);padding-right:calc(50% - 400px)}}@media(max-width: 799px){.nb-editor [data-nb-block-type=NOTE]>.nb-block-body>.nb-block-indent>[data-nb-block] .nb-db-controller,.nb-editor [data-nb-block-type=NOTE]>.nb-block-body>.nb-block-indent>[data-nb-block] .nb-db-container>.nb-db-content,.nb-ui-layer [data-nb-block-type=NOTE]>.nb-block-body>.nb-block-indent>[data-nb-block] .nb-db-controller,.nb-ui-layer [data-nb-block-type=NOTE]>.nb-block-body>.nb-block-indent>[data-nb-block] .nb-db-container>.nb-db-content{padding-left:0;padding-right:24px}}.nb-editor.dragging [data-nb-block-type=DATABASE] .nb-db-note-padding,.nb-ui-layer.dragging [data-nb-block-type=DATABASE] .nb-db-note-padding{opacity:0}[data-nb-block].fill .nb-block-content{padding:0 !important}.nb-ui-layer .nb-block-indent{padding-left:24px}.nb-editor,.nb-ui-layer{width:100%;padding-bottom:10vh}.nb-editor[contenteditable=false],.nb-ui-layer[contenteditable=false]{padding-bottom:3rem}.nb-editor .nb-block-indent,.nb-editor .note-title,.nb-ui-layer .nb-block-indent,.nb-ui-layer .note-title{display:flex;flex-direction:column}.nb-editor [data-nb-block-type=NOTE] .note-title{flex:1;margin:0;display:flex;flex-direction:column;padding-top:24px}@media(min-width: 1136px){.nb-editor [data-nb-block-type=NOTE] .note-title{padding-left:calc(50% - 512px + 28px);padding-right:calc(50% - 512px + 28px)}}@media(min-width: 1024px)and (max-width: 1135px){.nb-editor [data-nb-block-type=NOTE] .note-title{padding-left:calc(624px - 50% + 28px);padding-right:calc(624px - 50% + 28px)}}@media(min-width: 800px)and (max-width: 1023px){.nb-editor [data-nb-block-type=NOTE] .note-title{padding-left:calc(50% - 400px + 28px);padding-right:calc(50% - 400px + 28px)}}@media(max-width: 799px){.nb-editor [data-nb-block-type=NOTE] .note-title{padding-left:24px;padding-right:24px}}.nb-editor [data-nb-block-type=NOTE] .note-title [data-nb-dom-type=text]{width:100%;align-self:center;font-size:2em !important;font-weight:bold}.nb-editor.card{padding:0;display:flex}.nb-editor.card [data-nb-block-type=NOTE]{flex:1;display:flex;justify-content:center}.nb-editor.card [data-nb-block-type=NOTE] .nb-block-content{display:flex;flex-direction:column;align-items:center}.nb-editor.card [data-nb-block-type=NOTE] .nb-block-content .note-title{flex-direction:row;padding-top:24px;padding-bottom:24px}.is-hoverable{cursor:pointer}.is-hoverable:hover{background-color:var(--reverse-transparent-bg-color)}.nb-ui-section-wrap{min-width:256px;display:flex;flex-direction:column;gap:1rem;max-height:80vh;overflow-y:auto;clip-path:inset(0 0 0 0)}.nb-ui-section-wrap .ui-popup-footer{padding:1rem}.nb-ui-section-wrap .nb-ui-section{display:flex;flex-direction:column}.nb-ui-section-wrap .nb-ui-section .nb-ui-section-header{top:0;position:sticky;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background-color:var(--thick-transparent-bg-color);padding:.5rem 1rem;font-size:1.1em;font-weight:bold;display:flex;justify-content:flex-start;align-items:center;gap:.25rem}.nb-ui-section-wrap .nb-ui-section .nb-ui-list{margin:0 1rem;border:2px solid var(--reverse-transparent-bg-color);border-radius:var(--border-radius)}.nb-ui-section-wrap .nb-ui-section .nb-ui-list .nb-ui-list-item:first-child{border-top-left-radius:3px;border-top-right-radius:3px}.nb-ui-section-wrap .nb-ui-section .nb-ui-list .nb-ui-list-item:last-child{border-bottom-left-radius:3px;border-bottom-right-radius:3px}.nb-ui-section-wrap .nb-ui-section .nb-ui-list:empty::before{line-height:2em;padding-left:.25rem;opacity:.2;content:"Empty";pointer-events:none;display:block}.nb-ui-section-wrap .nb-ui-section .nb-ui-list .nb-ui-list-item{display:flex;justify-content:flex-start;align-items:center;gap:.25rem;padding:.5rem}.nb-ui-section-wrap .nb-ui-section .nb-ui-list .nb-ui-list-item:not(:last-child){border-bottom:1px solid var(--reverse-transparent-bg-color)}.nb-ui-section-wrap .nb-ui-section .nb-ui-list .nb-ui-list-item .nb-ui-list-item-trailing{flex:1;display:flex;justify-content:flex-end;align-items:center;gap:.5rem}.nb-ui-section-wrap .nb-ui-section .nb-ui-list .nb-ui-list-item .nb-ui-list-item-trailing .nb-ui-btn{padding:2px;width:16px;height:16px;display:flex;justify-content:center}.nb-ui-section-wrap .nb-ui-section .nb-ui-list .nb-ui-list-item .nb-ui-list-item-trailing .nb-ui-btn svg{width:12px;height:12px}.nbdb-adder{cursor:pointer;border-radius:var(--border-radius);width:2rem;display:flex;justify-content:center;align-items:center;padding:.5rem}.nbdb-adder:hover{background-color:var(--reverse-transparent-bg-color)}.nbdb-adder .plus-icon{height:.6rem}.nb-ui-btn{display:flex;justify-content:center;align-items:center;height:25px;border:1px solid var(--fg-color);border-radius:var(--border-radius-form);cursor:pointer;transition-duration:.1s;transition-timing-function:ease-in-out;transition-property:background-color;font-size:.8em;padding:0 .5rem}.nb-ui-btn:not(.style-label){-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;-webkit-user-modify:read-only}.nb-ui-btn:hover{background-color:var(--reverse-transparent-bg-color)}.nb-ui-btn.style-icon{border:1px solid var(--reverse-transparent-bg-color);border-radius:var(--border-radius);padding:4px;font-size:12px;height:14px;width:14px;background-color:var(--nb-bgcolor-gray);justify-content:center}.nb-ui-btn.style-icon:hover{background-color:var(--transparent-bg-color)}.nb-ui-btn.style-label{border:1px solid var(--reverse-transparent-bg-color);border-radius:var(--border-radius);padding:4px;font-weight:bold;font-size:12px;height:14px;min-width:128px;background-color:var(--nb-bgcolor-gray);justify-content:flex-start}.nb-root:not(.nb-searching) .nb-ui-btn.style-label{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;-webkit-user-modify:read-only}.nb-ui-btn.style-label:hover{background-color:var(--transparent-bg-color)}.nb-ui-btn.role-cancel{color:var(--fg-color);background-color:var(--bg-color)}.nb-ui-btn.role-cancel:hover{color:var(--bg-color);background-color:var(--fg-color)}.nb-ui-btn.role-delete{background-color:var(--nb-bgcolor-red)}.nb-ui-btn.role-delete:hover{color:var(--fg-color);background-color:var(--nb-color-red)}.nb-ui-btn.role-default{font-weight:bold;color:var(--nb-color-orange);background-color:var(--bg-color)}.nb-ui-btn.role-default:hover{color:var(--bg-color);background-color:var(--accent-color)}.nb-ui-btn.role-adder{padding:0;width:25px;color:var(--fg-color);background-color:var(--bg-color)}.nb-ui-btn.role-adder svg{width:16px;height:16px;fill:var(--fg-color)}.nb-ui-btn.role-adder:hover{color:var(--bg-color);background-color:var(--fg-color)}.nb-ui-btn.role-adder:hover svg{fill:var(--bg-color)}.nb-ui-btn[data-nb-disabled=true],.nb-ui-btn[data-nb-disabled=true]:hover{cursor:default;color:var(--nb-color-gray);background-color:var(--nb-bgcolor-gray)}div[class^=nbdb-symbol-]{flex-shrink:0;border-radius:2px;border:1px solid var(--reverse-transparent-bg-color);width:16px;height:16px;display:flex;justify-content:center;align-items:center;font-style:italic;font-family:monospace;font-size:11px;font-weight:100}div[class^=nbdb-symbol-].nbdb-symbol-bool{background-color:var(--nb-bgcolor-blue)}div[class^=nbdb-symbol-].nbdb-symbol-date{background-color:var(--nb-bgcolor-purple)}div[class^=nbdb-symbol-].nbdb-symbol-number{background-color:var(--nb-bgcolor-orange)}div[class^=nbdb-symbol-].nbdb-symbol-string{background-color:var(--nb-bgcolor-green)}div[class^=nbdb-symbol-].nbdb-symbol-any{background-color:var(--nb-bgcolor-gray)}div[class^=nbdb-symbol-].nbdb-symbol-label{background-color:var(--nb-bgcolor-yellow)}div[class^=nbdb-symbol-].nbdb-symbol-labels{background-color:var(--nb-bgcolor-yellow)}.nb-ui-list-item div[class^=nbdb-symbol-],.nbdb-formula-selector-option-header div[class^=nbdb-symbol-]{margin-right:.4rem}[data-expandable]{overflow:hidden}[data-expandable][data-expandable="0"]{max-height:0}[data-expandable][data-expandable="1"]{max-height:max-content}[data-expandable][data-expandable=false]{animation:collapsible-collapsing .3s backwards;max-height:0}[data-expandable][data-expandable=true]{animation:collapsible-expanding .3s;max-height:max-content}@keyframes collapsible-expanding{0%{max-height:0}99%{max-height:100vh}100%{max-height:max-content}}@keyframes collapsible-collapsing{0%{max-height:100vh}100%{max-height:0}}[data-expandable-container] svg.chevron-right{border:1px solid var(--reverse-transparent-bg-color);border-radius:50%;padding:2px;width:12px;height:12px;font-size:12px;display:flex;justify-content:center;align-items:center;background-color:var(--reverse-transparent-bg-color);cursor:pointer;fill:var(--fg-color);transition:transform .3s ease-in-out}[data-expandable-container][data-expandable-container=true] svg.chevron-right,[data-expandable-container][data-expandable-container="1"] svg.chevron-right{transform:rotate(90deg)}.nb-editor [data-nb-dom-type=block] .nb-block-handle,.nb-ui-layer [data-nb-dom-type=block] .nb-block-handle{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;-webkit-user-modify:read-only;pointer-events:auto;touch-action:none;display:flex;z-index:250;width:24px;flex-shrink:0;fill:var(--fg-color);padding:0 2px;cursor:pointer}.nb-editor [data-nb-dom-type=block] .nb-block-handle .dragger,.nb-ui-layer [data-nb-dom-type=block] .nb-block-handle .dragger{flex:1;display:flex;border-radius:2px;transform-origin:center 16px;animation:fade-in-scale .3s}.nb-editor [data-nb-dom-type=block] .nb-block-handle .dragger svg,.nb-ui-layer [data-nb-dom-type=block] .nb-block-handle .dragger svg{flex:1;cursor:grab}.nb-editor [data-nb-dom-type=block] .nb-block-handle .dragger svg:active,.nb-ui-layer [data-nb-dom-type=block] .nb-block-handle .dragger svg:active{cursor:grabbing}.nb-editor [data-nb-dom-type=block] .nb-block-handle:hover .dragger,.nb-ui-layer [data-nb-dom-type=block] .nb-block-handle:hover .dragger{background-color:var(--reverse-transparent-bg-color)}@keyframes fade-in{from{opacity:0}to{opacity:1}}@keyframes fade-in-scale{from{opacity:0;transform:scale(0)}to{opacity:1;transform:scale(1)}}.nb-editor [data-nb-dom-type=block].nb-dragging-prev{box-shadow:0 -2px var(--accent-color)}.nb-editor [data-nb-dom-type=block].nb-dragging-next{box-shadow:0 2px var(--accent-color)}.nb-editor [data-nb-dom-type=block]{transition:box-shadow ease .3s 0s}@keyframes fade-in{from{opacity:0}to{opacity:1}}@keyframes fade-in-scale{from{opacity:0;transform:scale(0)}to{opacity:1;transform:scale(1)}}.nbdb-label{display:inline-block;padding:.1rem .2rem;border:1px solid var(--reverse-transparent-bg-color);border-radius:var(--border-radius);min-width:1.4em;line-height:1.4em;text-align:center;min-height:1em;max-width:10rem;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.nb-root:not(.nb-searching) .nbdb-label{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;-webkit-user-modify:read-only}.nbdb-label.hoverable{cursor:pointer}.nbdb-label.hoverable:hover{color:var(--reverse-transparent-bg-color)}.nb-block-indent .nb-block-indent [data-nb-block-type=DATABASE]{margin-left:-calc(28px)}[data-nb-block-type=DATABASE]{font-family:var(--monospace-font-family)}[data-nb-block-type=DATABASE] .nb-db-controller .nb-db-panes .nb-db-pane .nb-db-template-btn{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;-webkit-user-modify:read-only}[data-nb-block-type=DATABASE] .nb-db-controller .nb-db-panes .nb-db-pane:last-child{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;-webkit-user-modify:read-only}[data-nb-block-type=DATABASE] .nb-db-container{-webkit-user-select:all;-moz-user-select:all;-ms-user-select:all;user-select:all;-webkit-user-modify:read-only}[data-nb-block-type=DATABASE] .nb-db-container>.nb-ui-footer{-webkit-user-select:text;-moz-user-select:text;-ms-user-select:text;user-select:text;font-size:0}[data-nb-block-type=DATABASE] .cross-icon,[data-nb-block-type=DATABASE] .plus-icon{height:.5rem}[data-nb-block-type=DATABASE] .plus-icon{fill:var(--fg-color)}[data-nb-block-type=DATABASE] .nb-db-boolean{display:flex;justify-content:start;align-items:center}[data-nb-block-type=DATABASE] .nb-db-container{overflow-x:auto}[data-nb-block-type=DATABASE].fill .nb-db-controller{padding-right:24px}[data-nb-block-type=DATABASE] .nb-db-controller{min-height:1em;display:flex}[data-nb-block-type=DATABASE] .nb-db-controller .nb-db-panes{flex:1;display:flex;justify-content:space-between;padding-bottom:.5rem;gap:.5rem}[data-nb-block-type=DATABASE] .nb-db-controller .nb-db-panes .nb-db-pane{display:flex;align-items:center}[data-nb-block-type=DATABASE] .nb-db-controller .nb-db-panes .nb-db-pane .nb-db-template-btn{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;-webkit-user-modify:read-only;cursor:pointer}[data-nb-block-type=DATABASE] .nb-db-controller .nb-db-panes .nb-db-pane:first-child{flex:1}[data-nb-block-type=DATABASE] .nb-db-controller .nb-db-panes .nb-db-pane:last-child{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;-webkit-user-modify:read-only}[data-nb-block-type=DATABASE] .nb-db-controller .nb-db-title{cursor:text;align-self:center;word-break:break-all}[data-nb-block-type=DATABASE] .nb-db-controller .nb-db-btns{display:flex;justify-content:flex-end;gap:.5rem}[data-nb-block-type=DATABASE] .nb-db-controller .nb-db-btns .more-icon{pointer-events:none;width:1rem;height:1rem;fill:var(--fg-color)}[data-nb-block-type=DATABASE] .nb-db-controller .nb-db-btn{white-space:nowrap;font-size:.8rem;border:1px solid gray;border-radius:var(--border-radius);cursor:pointer;color:var(--fg-color);background-color:var(--bg-color);display:flex;justify-content:center;align-items:center;padding:.2rem}[data-nb-block-type=DATABASE] .nb-db-controller .nb-db-btn:hover{background-color:var(--fg-color);color:var(--bg-color)}[data-nb-block-type=DATABASE] .nb-db-controller .nb-db-btn:hover .more-icon{fill:var(--bg-color)}[data-nb-block-type=DATABASE] .field-type{font-size:.8rem;font-style:italic;opacity:.8;padding:.1rem;background-color:rgba(128,128,128,.3);border-radius:2px;border:1px solid rgba(128,128,128,.8);width:.8rem;height:.8rem;text-align:center;line-height:.8rem;font-family:var(--font-family);font-weight:300}[data-nb-block-type=DATABASE] .nb-db-labels{display:flex;flex-wrap:wrap;align-items:flex-start;gap:.5rem}[data-nb-block-type=DATABASE] .nb-db-date-value{display:flex}[data-nb-block-type=DATABASE] .nb-db-date-value .nb-db-date-range{display:flex;flex-direction:column;justify-content:center;border-radius:5px;border:1px solid gray}[data-nb-block-type=DATABASE] .nb-db-date-value .nb-db-date-range .nb-db-date-start,[data-nb-block-type=DATABASE] .nb-db-date-value .nb-db-date-range .nb-db-date-end{text-align:center;padding:.1rem .2rem;white-space:nowrap;font-size:.9em}[data-nb-block-type=DATABASE] .nb-db-date-value .nb-db-date-range .nb-db-date-end{border-top:1px solid gray}[data-nb-block-type=DATABASE] .nb-db-bool-value{display:flex;justify-content:start}[data-nb-block-type=DATABASE] .nb-db-bool-value .nb-db-bool-field-name{padding:0 .5rem;max-width:12rem;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.table-icon,.board-icon{pointer-events:none}.table-icon .outline,.board-icon .outline{fill:var(--fg-color)}@keyframes fade-in{from{opacity:0}to{opacity:1}}@keyframes fade-in-scale{from{opacity:0;transform:scale(0)}to{opacity:1;transform:scale(1)}}[data-nb-db-template=DB_SPREADSHEET] th{background-color:rgba(128,128,128,.1);align-items:center;opacity:.9}[data-nb-db-template=DB_SPREADSHEET] th>div{display:flex;gap:.5rem}[data-nb-db-template=DB_SPREADSHEET] th>div span:empty::before{opacity:.2;content:attr(placeholder);pointer-events:none;display:block}[data-nb-db-template=DB_SPREADSHEET] .nb-db-container .nb-db-table tr{-webkit-user-select:all;-moz-user-select:all;-ms-user-select:all;user-select:all}.nb-root:not(.nb-searching) [data-nb-db-template=DB_SPREADSHEET] .nb-db-container .nb-db-table tr th,.nb-root:not(.nb-searching) [data-nb-db-template=DB_SPREADSHEET] .nb-db-container .nb-db-table tr td{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;-webkit-user-modify:read-only}[data-nb-db-template=DB_SPREADSHEET] .nb-db-container .nb-db-table thead tr,[data-nb-db-template=DB_SPREADSHEET] .nb-db-container .nb-db-table tfoot tr{-webkit-user-select:all;-moz-user-select:all;-ms-user-select:all;user-select:all}[data-nb-db-template=DB_SPREADSHEET] .nb-db-container .nb-db-table thead tr th,[data-nb-db-template=DB_SPREADSHEET] .nb-db-container .nb-db-table thead tr td,[data-nb-db-template=DB_SPREADSHEET] .nb-db-container .nb-db-table tfoot tr th,[data-nb-db-template=DB_SPREADSHEET] .nb-db-container .nb-db-table tfoot tr td{display:table-cell}[data-nb-db-template=DB_SPREADSHEET] .nb-db-container .nb-db-table thead tr th:not(:first-child),[data-nb-db-template=DB_SPREADSHEET] .nb-db-container .nb-db-table thead tr td:not(:first-child),[data-nb-db-template=DB_SPREADSHEET] .nb-db-container .nb-db-table tfoot tr th:not(:first-child),[data-nb-db-template=DB_SPREADSHEET] .nb-db-container .nb-db-table tfoot tr td:not(:first-child){padding:4px .5rem}[data-nb-db-template=DB_SPREADSHEET] .nb-db-container .nb-db-table tfoot tr th:not(:first-child),[data-nb-db-template=DB_SPREADSHEET] .nb-db-container .nb-db-table tfoot tr td:not(:first-child){padding:.5rem .5rem}[data-nb-db-template=DB_SPREADSHEET] .nb-db-container .nb-db-table tbody [contenteditable=true]{white-space:pre-wrap}[data-nb-db-template=DB_SPREADSHEET] .nb-db-container .nb-db-table tbody [contenteditable=true]:empty{vertical-align:top}[data-nb-db-template=DB_SPREADSHEET] .nb-db-container .nb-db-table tbody td .nb-ui-content-wrapper{display:flex}[data-nb-db-template=DB_SPREADSHEET] .nb-db-container .nb-db-table tbody td .nb-ui-content-wrapper .nb-ui-content{flex:1;margin:1px;outline:none;padding:.5rem;min-height:1.2em;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;-webkit-user-modify:read-only}[data-nb-db-template=DB_SPREADSHEET] .nb-db-container .nb-db-table tbody td .nb-ui-content-wrapper .nb-ui-content[contenteditable]{outline:none;cursor:text;-webkit-user-modify:read-write-plaintext-only;-webkit-user-select:text;-moz-user-select:text;-ms-user-select:text;user-select:text}[data-nb-db-template=DB_SPREADSHEET] .nb-db-table{margin-bottom:.5rem}[data-nb-db-template=DB_SPREADSHEET] .nb-db-table th,[data-nb-db-template=DB_SPREADSHEET] .nb-db-table td{font-size:.9em}[data-nb-db-template=DB_SPREADSHEET] .nb-db-table th .nb-ui-title,[data-nb-db-template=DB_SPREADSHEET] .nb-db-table td .nb-ui-title{overflow:hidden;white-space:nowrap;text-overflow:ellipsis}[data-nb-db-template=DB_SPREADSHEET] .nb-db-table .nb-db-note-padding{cursor:default !important;height:100%}[data-nb-db-template=DB_SPREADSHEET] .nb-db-table .nb-db-note-padding .nb-block-handle{height:100%;position:absolute;left:0;right:0;top:0;bottom:0}[data-nb-db-template=DB_SPREADSHEET] .nb-db-table .nb-db-note-padding .nb-block-handle .db-block-handle{width:100%}[data-nb-db-template=DB_SPREADSHEET] .nb-db-table .nb-db-add-record,[data-nb-db-template=DB_SPREADSHEET] .nb-db-table .nb-db-add-field{font-weight:bold;color:var(--fg-color);cursor:pointer;text-align:center}[data-nb-db-template=DB_SPREADSHEET] .nb-db-table .nb-db-header .nb-db-add-field{width:3rem;min-width:3rem;max-width:3rem}[data-nb-db-template=DB_SPREADSHEET] .nb-db-table .nb-db-header .nb-db-add-field svg{flex:1}[data-nb-db-template=DB_SPREADSHEET] .nb-db-table .nb-db-records .nb-db-record td{word-break:keep-all}[data-nb-db-template=DB_SPREADSHEET] .nb-db-table .nb-db-records .nb-db-record td .nb-db-boolean{margin-right:1em}[data-nb-db-template=DB_SPREADSHEET] .nb-db-table .nb-db-records .nb-db-record td[data-nbdb-working=true]{background-color:var(--transparent-accent-color);box-shadow:inset 0 0 0 4px var(--accent-color)}[data-nb-db-template=DB_SPREADSHEET] .nb-db-table .nb-db-records .nb-db-record td .nb-db-error{display:flex;justify-content:center;align-items:center;color:red}[data-nb-db-template=DB_SPREADSHEET] .nb-db-table .nb-db-footer .nb-db-add-record{text-align:left;white-space:nowrap;padding:.5rem;font-size:.8em;font-family:var(--font-family);column-span:all}[data-nb-db-template=DB_SPREADSHEET] .nb-db-table .nb-db-footer .nb-db-summary td{text-align:right;border:none;color:gray}[data-nb-db-template=DB_SPREADSHEET] .nb-db-table .nb-db-footer .nb-db-summary td .nb-db-field-footer{flex:1;display:flex;justify-content:flex-end;align-items:center}[data-nb-db-template=DB_SPREADSHEET] .nb-db-table .nb-db-footer .nb-db-summary td .nb-db-field-footer .name{font-family:var(--font-family);text-transform:uppercase;font-size:.7em}[data-nb-db-template=DB_SPREADSHEET] .nb-db-table .nb-db-footer .nb-db-summary td .nb-db-field-footer .value{white-space:nowrap;padding-left:.3rem;color:var(--fg-color)}[data-nb-db-template=DB_SPREADSHEET] .nb-db-header th.nb-dragging-prev{box-shadow:inset 2px 0 var(--accent-color)}[data-nb-db-template=DB_SPREADSHEET] .nb-db-header th.nb-dragging-next,[data-nb-db-template=DB_SPREADSHEET] .nb-db-header .nb-db-note-padding.nb-dragging-next{box-shadow:inset -2px 0 var(--accent-color)}[data-nb-db-template=DB_SPREADSHEET] .nb-db-header th,[data-nb-db-template=DB_SPREADSHEET] .nb-db-header .nb-db-note-padding{transition:box-shadow ease .3s 0s}[data-nb-db-template=DB_SPREADSHEET] .nb-db-record.nb-dragging-prev td{box-shadow:0 -2px var(--accent-color)}[data-nb-db-template=DB_SPREADSHEET] .nb-db-record.nb-dragging-next td{box-shadow:0 2px var(--accent-color)}[data-nb-db-template=DB_SPREADSHEET] .nb-db-record td{transition:box-shadow ease .3s 0s}[data-nb-db-template=DB_SPREADSHEET] table{width:100%;table-layout:auto;border-collapse:separate;border-spacing:0}[data-nb-db-template=DB_SPREADSHEET] table thead th,[data-nb-db-template=DB_SPREADSHEET] table thead td,[data-nb-db-template=DB_SPREADSHEET] table tbody th,[data-nb-db-template=DB_SPREADSHEET] table tbody td{border:.1px solid gray}[data-nb-db-template=DB_SPREADSHEET] table thead th:nth-child(2),[data-nb-db-template=DB_SPREADSHEET] table thead td:nth-child(2),[data-nb-db-template=DB_SPREADSHEET] table tbody th:nth-child(2),[data-nb-db-template=DB_SPREADSHEET] table tbody td:nth-child(2){border-left:none}[data-nb-db-template=DB_SPREADSHEET] table thead th:last-child,[data-nb-db-template=DB_SPREADSHEET] table thead td:last-child,[data-nb-db-template=DB_SPREADSHEET] table tbody th:last-child,[data-nb-db-template=DB_SPREADSHEET] table tbody td:last-child{border-right:none}[data-nb-db-template=DB_SPREADSHEET] table thead tr th,[data-nb-db-template=DB_SPREADSHEET] table thead tr td,[data-nb-db-template=DB_SPREADSHEET] table tfoot tr:first-child th,[data-nb-db-template=DB_SPREADSHEET] table tfoot tr:first-child td{border-top:1px solid var(--fg-color);border-bottom:1px solid var(--fg-color)}[data-nb-db-template=DB_SPREADSHEET] table .nb-db-note-padding{width:28px;min-width:28px;max-width:28px;word-break:break-all;padding:0;position:sticky;left:0;border:none !important;background-color:var(--thick-transparent-bg-color);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:10}[data-nb-db-template=DB_SPREADSHEET] table .nb-db-note-padding .nb-block-handle{height:100%}@media(pointer: fine){[data-nb-db-template=DB_SPREADSHEET] td:not(:first-child,:last-child):hover,[data-nb-db-template=DB_SPREADSHEET] th:not(:first-child,:last-child):hover,[data-nb-db-template=DB_SPREADSHEET] .nb-db-add-record:hover{background-color:var(--reverse-transparent-bg-color) !important}}@keyframes fade-in{from{opacity:0}to{opacity:1}}@keyframes fade-in-scale{from{opacity:0;transform:scale(0)}to{opacity:1;transform:scale(1)}}[data-nb-db-template=DB_BOARD] .nb-db-content{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;-webkit-user-modify:read-only}[data-nb-db-template=DB_BOARD] .nb-db-content .nb-db-record .nb-db-field,[data-nb-db-template=DB_BOARD] .nb-db-content .nb-db-editing-record .nb-db-field{padding:.5rem}[data-nb-db-template=DB_BOARD] .nb-db-content{display:flex;gap:8px}[data-nb-db-template=DB_BOARD] .nb-db-content .nb-db-col,[data-nb-db-template=DB_BOARD] .nb-db-content .nb-db-col-add{border-radius:2px;padding:.5rem .5rem 0 .5rem}[data-nb-db-template=DB_BOARD] .nb-db-content .nb-db-col-add{min-width:3rem}[data-nb-db-template=DB_BOARD] .nb-db-content .nb-db-col{flex:0 0 256px}[data-nb-db-template=DB_BOARD] .nb-db-content .nb-db-col:first-child{margin-left:24px}[data-nb-db-template=DB_BOARD] .nb-db-content .nb-db-col .nb-db-col-header{display:flex}[data-nb-db-template=DB_BOARD] .nb-db-content .nb-db-col .nb-db-col-header .nb-db-col-label{display:flex}[data-nb-db-template=DB_BOARD] .nb-db-content .nb-db-col .nb-db-col-header .nb-db-col-label .nbdb-label{cursor:pointer}[data-nb-db-template=DB_BOARD] .nb-db-content .nb-db-col .nb-db-col-header .nb-db-col-label .nbdb-label:hover{color:var(--reverse-transparent-bg-color)}[data-nb-db-template=DB_BOARD] .nb-db-content .nb-db-col .nb-db-col-header .nbdb-col-aggregation{font-size:.8em;padding:.2rem .5rem;margin:0 .5rem;align-self:center;opacity:.5;cursor:pointer;border-radius:var(--border-radius)}[data-nb-db-template=DB_BOARD] .nb-db-content .nb-db-col .nb-db-col-header .nbdb-col-aggregation:hover{background-color:var(--reverse-transparent-bg-color)}[data-nb-db-template=DB_BOARD] .nb-db-content .nb-db-col .nb-db-col-header .nb-db-add-record{padding:0 .5rem;cursor:pointer;border-radius:var(--border-radius)}[data-nb-db-template=DB_BOARD] .nb-db-content .nb-db-col .nb-db-col-header .nb-db-add-record:last-of-type{margin-left:auto}[data-nb-db-template=DB_BOARD] .nb-db-content .nb-db-col .nb-db-col-header .nb-db-add-record:hover{background-color:var(--reverse-transparent-bg-color)}[data-nb-db-template=DB_BOARD] .nb-db-content .nb-db-col .nbdb-field-adder,[data-nb-db-template=DB_BOARD] .nb-db-content .nb-db-col .nbdb-record-adder{display:flex;align-items:center;gap:.5rem;padding:.5rem;font-size:var(--ui-font-size);cursor:pointer;border-radius:var(--border-radius)}[data-nb-db-template=DB_BOARD] .nb-db-content .nb-db-col .nbdb-field-adder:hover,[data-nb-db-template=DB_BOARD] .nb-db-content .nb-db-col .nbdb-record-adder:hover{background-color:var(--reverse-transparent-bg-color)}[data-nb-db-template=DB_BOARD] .nb-db-content .nb-db-col .nbdb-field-adder{grid-column:1/3}[data-nb-db-template=DB_BOARD] .nb-db-content .nb-db-col .nbdb-record-adder:nth-child(2){margin-top:.5rem}[data-nb-db-template=DB_BOARD] .nb-db-content .nb-db-col .nb-db-record,[data-nb-db-template=DB_BOARD] .nb-db-content .nb-db-col .nb-db-editing-record{border-radius:var(--border-radius);box-shadow:var(--box-shadow);min-height:4em;background-color:var(--bg-color);margin:.5rem 0;font-size:.8em}[data-nb-db-template=DB_BOARD] .nb-db-content .nb-db-col .nb-db-record .nb-db-error,[data-nb-db-template=DB_BOARD] .nb-db-content .nb-db-col .nb-db-editing-record .nb-db-error{color:red}[data-nb-db-template=DB_BOARD] .nb-db-content .nb-db-col .nb-db-record{cursor:pointer}[data-nb-db-template=DB_BOARD] .nb-db-content .nb-db-col .nb-db-record:hover{background-color:var(--reverse-transparent-bg-color)}[data-nb-db-template=DB_BOARD] .nb-db-content .nb-db-col .nb-db-editing-record{padding:.5rem}[data-nb-db-template=DB_BOARD] .nb-db-content .nb-db-col .nb-db-editing-record .nb-db-editing-record-header{display:flex;justify-content:end}[data-nb-db-template=DB_BOARD] .nb-db-content .nb-db-col .nb-db-editing-record .nb-db-editing-record-header .nb-db-record-more{margin-left:auto;width:1rem;height:1rem;padding:.2rem;border-radius:var(--border-radius);cursor:pointer;border-radius:var(--border-radius)}[data-nb-db-template=DB_BOARD] .nb-db-content .nb-db-col .nb-db-editing-record .nb-db-editing-record-header .nb-db-record-more .more-icon{fill:var(--fg-color)}[data-nb-db-template=DB_BOARD] .nb-db-content .nb-db-col .nb-db-editing-record .nb-db-editing-record-header .nb-db-record-more:hover{background-color:var(--reverse-transparent-bg-color)}[data-nb-db-template=DB_BOARD] .nb-db-content .nb-db-col .nb-db-editing-record .nb-db-editing-record-body{display:grid;grid-template-columns:auto auto}[data-nb-db-template=DB_BOARD] .nb-db-content .nb-db-col .nb-db-editing-record .nb-db-editing-record-body .nb-db-field{display:contents}[data-nb-db-template=DB_BOARD] .nb-db-content .nb-db-col .nb-db-editing-record .nb-db-editing-record-body .nb-db-field .nb-db-field-title,[data-nb-db-template=DB_BOARD] .nb-db-content .nb-db-col .nb-db-editing-record .nb-db-editing-record-body .nb-db-field .nb-db-field-value{padding:.5rem}[data-nb-db-template=DB_BOARD] .nb-db-content .nb-db-col .nb-db-editing-record .nb-db-editing-record-body .nb-db-field .nb-db-field-title:hover,[data-nb-db-template=DB_BOARD] .nb-db-content .nb-db-col .nb-db-editing-record .nb-db-editing-record-body .nb-db-field .nb-db-field-value:hover{border-radius:var(--border-radius);background-color:var(--reverse-transparent-bg-color) !important}[data-nb-db-template=DB_BOARD] .nb-db-content .nb-db-col .nb-db-editing-record .nb-db-editing-record-body .nb-db-field .nb-db-field-title{font-size:.8em;opacity:.8;display:flex;align-items:center;display:flex;gap:.4rem;cursor:pointer}[data-nb-db-template=DB_BOARD] .nb-db-content .nb-db-col .nb-db-editing-record .nb-db-editing-record-body .nb-db-field .nb-db-field-title .field-type{font-size:.7rem;width:.7rem;height:.7rem}[data-nb-db-template=DB_BOARD] .nb-db-content .nb-db-col .nb-db-editing-record .nb-db-editing-record-body .nb-db-field .nb-db-field-title .plus-icon{padding:.2rem;margin:.2rem .5rem .2rem 0}[data-nb-db-template=DB_BOARD] .nb-db-content .nb-db-col .nb-db-editing-record .nb-db-editing-record-body .nb-db-field .nb-db-field-title span:empty::before{opacity:.2;content:attr(placeholder);pointer-events:none;display:block}[data-nb-db-template=DB_BOARD] .nb-db-content .nb-db-col .nb-db-editing-record .nb-db-editing-record-body .nb-db-field .nb-db-field-value{cursor:pointer;display:flex;align-items:center}[data-nb-db-template=DB_BOARD] .nb-db-content .nb-db-col .nb-db-editing-record .nb-db-editing-record-body .nb-db-field .nb-db-field-value[placeholder=Empty]:empty::before{opacity:.2;content:attr(placeholder);pointer-events:none;display:block}[data-nb-db-template=DB_BOARD] .nb-db-content [data-nb-db-col-id].nb-dragging-prev{box-shadow:-0.5rem 0 var(--thick-transparent-accent-color);border-radius:0 !important}[data-nb-db-template=DB_BOARD] .nb-db-content [data-nb-db-col-id].nb-dragging-next{box-shadow:.5rem 0 var(--thick-transparent-accent-color);border-radius:0 !important}[data-nb-db-template=DB_BOARD] .nb-db-content [data-nb-db-col-id],[data-nb-db-template=DB_BOARD] .nb-db-content .nb-db-record{transition:all cubic-bezier(0, 0.5, 0, 1) .3s 0s;transition-property:box-shadow,border-radius}[data-nb-db-template=DB_BOARD] [data-nb-db-col-id].nb-dragging-at{box-shadow:inset 0 0 0 .5rem var(--thick-transparent-accent-color)}[data-nb-db-template=DB_BOARD] .nb-db-record{transition:all cubic-bezier(0, 0.5, 0, 1) .3s 0s;transition-property:box-shadow,border-radius}[data-nb-db-template=DB_BOARD] .nb-db-record.nb-dragging-prev{box-shadow:var(--box-shadow),0 -0.5rem var(--thick-transparent-accent-color);border-top-left-radius:0 !important;border-top-right-radius:0 !important}[data-nb-db-template=DB_BOARD] .nb-db-record.nb-dragging-next{box-shadow:var(--box-shadow),0 .5rem var(--thick-transparent-accent-color) !important;border-bottom-left-radius:0 !important;border-bottom-right-radius:0 !important}.nb-editor [data-nb-block-type=H1]>.nb-block-handle,.nb-ui-layer [data-nb-block-type=H1]>.nb-block-handle{padding-top:calc(2em*.25)}.nb-editor [data-nb-block-type=H1] h1,.nb-editor [data-nb-block-type=H1] h2,.nb-editor [data-nb-block-type=H1] h3,.nb-editor [data-nb-block-type=H1] h4,.nb-editor [data-nb-block-type=H1] h5,.nb-editor [data-nb-block-type=H1] h6,.nb-ui-layer [data-nb-block-type=H1] h1,.nb-ui-layer [data-nb-block-type=H1] h2,.nb-ui-layer [data-nb-block-type=H1] h3,.nb-ui-layer [data-nb-block-type=H1] h4,.nb-ui-layer [data-nb-block-type=H1] h5,.nb-ui-layer [data-nb-block-type=H1] h6{font-size:2em;margin:0}.nb-editor [data-nb-block-type=H2]>.nb-block-handle,.nb-ui-layer [data-nb-block-type=H2]>.nb-block-handle{padding-top:calc(1.5em*.25)}.nb-editor [data-nb-block-type=H2] h1,.nb-editor [data-nb-block-type=H2] h2,.nb-editor [data-nb-block-type=H2] h3,.nb-editor [data-nb-block-type=H2] h4,.nb-editor [data-nb-block-type=H2] h5,.nb-editor [data-nb-block-type=H2] h6,.nb-ui-layer [data-nb-block-type=H2] h1,.nb-ui-layer [data-nb-block-type=H2] h2,.nb-ui-layer [data-nb-block-type=H2] h3,.nb-ui-layer [data-nb-block-type=H2] h4,.nb-ui-layer [data-nb-block-type=H2] h5,.nb-ui-layer [data-nb-block-type=H2] h6{font-size:1.5em;margin:0}.nb-editor [data-nb-block-type=H3]>.nb-block-handle,.nb-ui-layer [data-nb-block-type=H3]>.nb-block-handle{padding-top:calc(1.2em*.25)}.nb-editor [data-nb-block-type=H3] h1,.nb-editor [data-nb-block-type=H3] h2,.nb-editor [data-nb-block-type=H3] h3,.nb-editor [data-nb-block-type=H3] h4,.nb-editor [data-nb-block-type=H3] h5,.nb-editor [data-nb-block-type=H3] h6,.nb-ui-layer [data-nb-block-type=H3] h1,.nb-ui-layer [data-nb-block-type=H3] h2,.nb-ui-layer [data-nb-block-type=H3] h3,.nb-ui-layer [data-nb-block-type=H3] h4,.nb-ui-layer [data-nb-block-type=H3] h5,.nb-ui-layer [data-nb-block-type=H3] h6{font-size:1.2em;margin:0}@keyframes fade-in{from{opacity:0}to{opacity:1}}@keyframes fade-in-scale{from{opacity:0;transform:scale(0)}to{opacity:1;transform:scale(1)}}.nb-editor [data-nb-dom-type=text],.nb-ui-layer [data-nb-dom-type=text]{white-space:pre-wrap;word-break:break-word;outline:none;cursor:text;-webkit-user-select:text;-moz-user-select:text;-ms-user-select:text;user-select:text;-webkit-user-modify:read-write}.nb-editor [data-nb-dom-type=text]:empty::before,.nb-ui-layer [data-nb-dom-type=text]:empty::before{opacity:.2;content:attr(placeholder);pointer-events:none;display:block}.nb-editor [data-nb-dom-type=text] a,.nb-ui-layer [data-nb-dom-type=text] a{cursor:pointer;opacity:.7}.nb-editor [data-nb-dom-type=text] .nb-inline-code,.nb-ui-layer [data-nb-dom-type=text] .nb-inline-code{font-size:.8em;background-color:rgba(128,128,128,.3);padding:.1em 4px;margin:0 2px;border-radius:4px}.nb-editor [data-nb-dom-type=text] .nb-inline-code+.nb-inline-code,.nb-ui-layer [data-nb-dom-type=text] .nb-inline-code+.nb-inline-code{border-top-left-radius:0;border-bottom-left-radius:0;padding-left:0;margin-left:0}.nb-editor [data-nb-dom-type=text] .nb-inline-code:first-child,.nb-ui-layer [data-nb-dom-type=text] .nb-inline-code:first-child{margin-left:0}.nb-editor [data-nb-dom-type=text] .nb-inline-code:has(+.nb-inline-code),.nb-ui-layer [data-nb-dom-type=text] .nb-inline-code:has(+.nb-inline-code){border-top-right-radius:0;border-bottom-right-radius:0;padding-right:0;margin-right:0}.nb-editor[contenteditable=false] [data-nb-dom-type=text]{-webkit-user-modify:read-only !important}@keyframes fade-in{from{opacity:0}to{opacity:1}}@keyframes fade-in-scale{from{opacity:0;transform:scale(0)}to{opacity:1;transform:scale(1)}}.nb-editor [data-nb-block-type=UL] .nb-ul,.nb-editor [data-nb-block-type=UL] .nb-ol,.nb-editor [data-nb-block-type=UL] .nb-cl,.nb-editor [data-nb-block-type=OL] .nb-ul,.nb-editor [data-nb-block-type=OL] .nb-ol,.nb-editor [data-nb-block-type=OL] .nb-cl,.nb-editor [data-nb-block-type=CL] .nb-ul,.nb-editor [data-nb-block-type=CL] .nb-ol,.nb-editor [data-nb-block-type=CL] .nb-cl,.nb-ui-layer [data-nb-block-type=UL] .nb-ul,.nb-ui-layer [data-nb-block-type=UL] .nb-ol,.nb-ui-layer [data-nb-block-type=UL] .nb-cl,.nb-ui-layer [data-nb-block-type=OL] .nb-ul,.nb-ui-layer [data-nb-block-type=OL] .nb-ol,.nb-ui-layer [data-nb-block-type=OL] .nb-cl,.nb-ui-layer [data-nb-block-type=CL] .nb-ul,.nb-ui-layer [data-nb-block-type=CL] .nb-ol,.nb-ui-layer [data-nb-block-type=CL] .nb-cl{display:flex;align-items:flex-start}.nb-editor [data-nb-block-type=UL] .nb-ul [contenteditable=false],.nb-editor [data-nb-block-type=UL] .nb-ol [contenteditable=false],.nb-editor [data-nb-block-type=UL] .nb-cl [contenteditable=false],.nb-editor [data-nb-block-type=OL] .nb-ul [contenteditable=false],.nb-editor [data-nb-block-type=OL] .nb-ol [contenteditable=false],.nb-editor [data-nb-block-type=OL] .nb-cl [contenteditable=false],.nb-editor [data-nb-block-type=CL] .nb-ul [contenteditable=false],.nb-editor [data-nb-block-type=CL] .nb-ol [contenteditable=false],.nb-editor [data-nb-block-type=CL] .nb-cl [contenteditable=false],.nb-ui-layer [data-nb-block-type=UL] .nb-ul [contenteditable=false],.nb-ui-layer [data-nb-block-type=UL] .nb-ol [contenteditable=false],.nb-ui-layer [data-nb-block-type=UL] .nb-cl [contenteditable=false],.nb-ui-layer [data-nb-block-type=OL] .nb-ul [contenteditable=false],.nb-ui-layer [data-nb-block-type=OL] .nb-ol [contenteditable=false],.nb-ui-layer [data-nb-block-type=OL] .nb-cl [contenteditable=false],.nb-ui-layer [data-nb-block-type=CL] .nb-ul [contenteditable=false],.nb-ui-layer [data-nb-block-type=CL] .nb-ol [contenteditable=false],.nb-ui-layer [data-nb-block-type=CL] .nb-cl [contenteditable=false]{width:24px;height:1.2em;flex-grow:0;flex-shrink:0;align-items:center;justify-content:center;display:flex;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;-webkit-user-modify:read-only;font-family:monospace;margin-right:.4em}.nb-editor [data-nb-block-type=UL] .nb-ul [data-nb-dom-type=text],.nb-editor [data-nb-block-type=UL] .nb-ol [data-nb-dom-type=text],.nb-editor [data-nb-block-type=UL] .nb-cl [data-nb-dom-type=text],.nb-editor [data-nb-block-type=OL] .nb-ul [data-nb-dom-type=text],.nb-editor [data-nb-block-type=OL] .nb-ol [data-nb-dom-type=text],.nb-editor [data-nb-block-type=OL] .nb-cl [data-nb-dom-type=text],.nb-editor [data-nb-block-type=CL] .nb-ul [data-nb-dom-type=text],.nb-editor [data-nb-block-type=CL] .nb-ol [data-nb-dom-type=text],.nb-editor [data-nb-block-type=CL] .nb-cl [data-nb-dom-type=text],.nb-ui-layer [data-nb-block-type=UL] .nb-ul [data-nb-dom-type=text],.nb-ui-layer [data-nb-block-type=UL] .nb-ol [data-nb-dom-type=text],.nb-ui-layer [data-nb-block-type=UL] .nb-cl [data-nb-dom-type=text],.nb-ui-layer [data-nb-block-type=OL] .nb-ul [data-nb-dom-type=text],.nb-ui-layer [data-nb-block-type=OL] .nb-ol [data-nb-dom-type=text],.nb-ui-layer [data-nb-block-type=OL] .nb-cl [data-nb-dom-type=text],.nb-ui-layer [data-nb-block-type=CL] .nb-ul [data-nb-dom-type=text],.nb-ui-layer [data-nb-block-type=CL] .nb-ol [data-nb-dom-type=text],.nb-ui-layer [data-nb-block-type=CL] .nb-cl [data-nb-dom-type=text]{flex-grow:1}.nb-editor [data-nb-block-type=UL] .nb-ul [contenteditable=false],.nb-editor [data-nb-block-type=OL] .nb-ul [contenteditable=false],.nb-editor [data-nb-block-type=CL] .nb-ul [contenteditable=false],.nb-ui-layer [data-nb-block-type=UL] .nb-ul [contenteditable=false],.nb-ui-layer [data-nb-block-type=OL] .nb-ul [contenteditable=false],.nb-ui-layer [data-nb-block-type=CL] .nb-ul [contenteditable=false]{position:relative;font-family:var(--font-family)}.nb-editor [data-nb-block-type=UL] .nb-ol [contenteditable=false],.nb-editor [data-nb-block-type=OL] .nb-ol [contenteditable=false],.nb-editor [data-nb-block-type=CL] .nb-ol [contenteditable=false],.nb-ui-layer [data-nb-block-type=UL] .nb-ol [contenteditable=false],.nb-ui-layer [data-nb-block-type=OL] .nb-ol [contenteditable=false],.nb-ui-layer [data-nb-block-type=CL] .nb-ol [contenteditable=false]{position:relative}.nb-editor [data-nb-block-type=UL] .nb-ol [contenteditable=false] div,.nb-editor [data-nb-block-type=OL] .nb-ol [contenteditable=false] div,.nb-editor [data-nb-block-type=CL] .nb-ol [contenteditable=false] div,.nb-ui-layer [data-nb-block-type=UL] .nb-ol [contenteditable=false] div,.nb-ui-layer [data-nb-block-type=OL] .nb-ol [contenteditable=false] div,.nb-ui-layer [data-nb-block-type=CL] .nb-ol [contenteditable=false] div{min-width:24px;position:absolute;right:0px;text-align:right;font-size:.9em;font-weight:bolder}.nb-editor [data-nb-block-type=UL] .nb-cl [contenteditable=false],.nb-editor [data-nb-block-type=OL] .nb-cl [contenteditable=false],.nb-editor [data-nb-block-type=CL] .nb-cl [contenteditable=false],.nb-ui-layer [data-nb-block-type=UL] .nb-cl [contenteditable=false],.nb-ui-layer [data-nb-block-type=OL] .nb-cl [contenteditable=false],.nb-ui-layer [data-nb-block-type=CL] .nb-cl [contenteditable=false]{display:flex;align-items:center;justify-content:center;cursor:pointer}.nb-editor [data-nb-block-type=UL] .nb-cl.done [data-nb-dom-type=text],.nb-editor [data-nb-block-type=OL] .nb-cl.done [data-nb-dom-type=text],.nb-editor [data-nb-block-type=CL] .nb-cl.done [data-nb-dom-type=text],.nb-ui-layer [data-nb-block-type=UL] .nb-cl.done [data-nb-dom-type=text],.nb-ui-layer [data-nb-block-type=OL] .nb-cl.done [data-nb-dom-type=text],.nb-ui-layer [data-nb-block-type=CL] .nb-cl.done [data-nb-dom-type=text]{text-decoration:line-through;opacity:.5}.nb-editor[contenteditable=false] .nb-cl [contenteditable=false]{cursor:default !important}.nb-editor [data-nb-block-type=LINK] .card,.nb-ui-layer [data-nb-block-type=LINK] .card{background-color:var(--reverse-transparent-bg-color);border-radius:2px;cursor:pointer}.nb-editor [data-nb-block-type=LINK] .card img,.nb-ui-layer [data-nb-block-type=LINK] .card img{-webkit-touch-callout:none}.nb-editor [data-nb-block-type=LINK] .card img.preview,.nb-ui-layer [data-nb-block-type=LINK] .card img.preview{width:100%;height:160px;object-fit:cover}.nb-editor [data-nb-block-type=LINK] .card .content,.nb-ui-layer [data-nb-block-type=LINK] .card .content{padding:.5rem}.nb-editor [data-nb-block-type=LINK] .card .content .header,.nb-ui-layer [data-nb-block-type=LINK] .card .content .header{display:flex}.nb-editor [data-nb-block-type=LINK] .card .content .header .title,.nb-ui-layer [data-nb-block-type=LINK] .card .content .header .title{flex:1;margin:.5rem;font-weight:bold;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.nb-editor [data-nb-block-type=LINK] .card .content .header .selector,.nb-ui-layer [data-nb-block-type=LINK] .card .content .header .selector{padding:.5rem}.nb-editor [data-nb-block-type=LINK] .card .content .header .selector .more-icon,.nb-ui-layer [data-nb-block-type=LINK] .card .content .header .selector .more-icon{width:1rem;height:1rem;align-self:center;fill:var(--fg-color)}.nb-editor [data-nb-block-type=LINK] .card .content .description,.nb-ui-layer [data-nb-block-type=LINK] .card .content .description{margin:.5rem;font-weight:lighter;font-size:.8em;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;line-clamp:2;overflow:hidden}.nb-editor [data-nb-block-type=LINK] .card .content .url,.nb-ui-layer [data-nb-block-type=LINK] .card .content .url{margin:.5rem;display:flex;align-items:center;font-family:monospace;font-size:.8em}.nb-editor [data-nb-block-type=LINK] .card .content .url img.favicon,.nb-ui-layer [data-nb-block-type=LINK] .card .content .url img.favicon{width:16px;height:16px;margin-right:1rem}.nb-editor [data-nb-block-type=LINK] .card .content .url span,.nb-ui-layer [data-nb-block-type=LINK] .card .content .url span{overflow:hidden;white-space:nowrap;text-overflow:ellipsis}@keyframes fade-in{from{opacity:0}to{opacity:1}}@keyframes fade-in-scale{from{opacity:0;transform:scale(0)}to{opacity:1;transform:scale(1)}}.nb-editor [data-nb-block-type=IMG],.nb-ui-layer [data-nb-block-type=IMG]{display:flex;justify-content:center}.nb-editor [data-nb-block-type=IMG] .nb-block-content>div,.nb-ui-layer [data-nb-block-type=IMG] .nb-block-content>div{position:relative;display:flex;flex-direction:column;justify-content:center}.nb-editor [data-nb-block-type=IMG] div.loading,.nb-ui-layer [data-nb-block-type=IMG] div.loading{padding:1rem}.nb-editor [data-nb-block-type=IMG] .img-container,.nb-ui-layer [data-nb-block-type=IMG] .img-container{position:relative;width:100%;height:100%}.nb-editor [data-nb-block-type=IMG] .img-container img,.nb-ui-layer [data-nb-block-type=IMG] .img-container img{width:100%;height:100%}.nb-editor [data-nb-block-type=IMG] .img-container .open-img-btn-container,.nb-ui-layer [data-nb-block-type=IMG] .img-container .open-img-btn-container{position:absolute;top:0;left:0;right:0;bottom:0;display:flex;justify-content:center;align-items:center}.nb-editor [data-nb-block-type=IMG] .img-container .open-img-btn-container .open-img-btn,.nb-ui-layer [data-nb-block-type=IMG] .img-container .open-img-btn-container .open-img-btn{cursor:pointer;padding:.5rem;color:var(--label-fg-color);background-color:var(--label-bg-color);border-radius:var(--border-radius);animation:fade-in .3s}.nb-editor [data-nb-block-type=IMG] .nb-caption-container,.nb-ui-layer [data-nb-block-type=IMG] .nb-caption-container{display:flex;flex-direction:column;align-items:center;cursor:text}.nb-editor [data-nb-block-type=IMG] .caption,.nb-ui-layer [data-nb-block-type=IMG] .caption{font-size:.8em;text-align:center;opacity:.8;padding:.5rem 0;margin:0;border-radius:0;background-color:rgba(0,0,0,0);color:var(--fg-color);outline:none;cursor:text;-webkit-user-modify:read-write-plaintext-only;-webkit-user-select:text;-moz-user-select:text;-ms-user-select:text;user-select:text}.nb-editor [data-nb-block-type=IMG] .nb-resizer,.nb-ui-layer [data-nb-block-type=IMG] .nb-resizer{margin:auto}.nb-editor [data-nb-block-type=IMG] .nb-resizable-handle,.nb-ui-layer [data-nb-block-type=IMG] .nb-resizable-handle{animation:fade-in .3s}.nb-editor [data-nb-block-type=IMG] .nb-resizable-handle svg,.nb-ui-layer [data-nb-block-type=IMG] .nb-resizable-handle svg{transform:rotate(45deg);width:2em;height:2em;margin:.5rem;cursor:grab}.nb-editor [data-nb-block-type=IMG] .nb-resizable-handle svg:active,.nb-ui-layer [data-nb-block-type=IMG] .nb-resizable-handle svg:active{cursor:grabbing}.nb-editor [data-nb-block-type=IMG].fill img,.nb-ui-layer [data-nb-block-type=IMG].fill img{object-fit:cover}.nb-editor [data-nb-block-type=IMG].fill .nb-block-handle,.nb-ui-layer [data-nb-block-type=IMG].fill .nb-block-handle{position:absolute;left:.5rem;top:.5rem;fill:#fff}.nb-editor [data-nb-block-type=IMG].fill .nb-block-handle .dragger,.nb-editor [data-nb-block-type=IMG].fill .nb-block-handle .dragger:hover,.nb-ui-layer [data-nb-block-type=IMG].fill .nb-block-handle .dragger,.nb-ui-layer [data-nb-block-type=IMG].fill .nb-block-handle .dragger:hover{background-color:var(--label-bg-color) !important}.nb-editor [data-nb-block-type=HR] .nb-block-content,.nb-ui-layer [data-nb-block-type=HR] .nb-block-content{height:1.5em;display:flex;flex-direction:column;justify-content:center}.nb-editor [data-nb-block-type=HR] .nb-block-content>div,.nb-ui-layer [data-nb-block-type=HR] .nb-block-content>div{cursor:pointer}.nb-editor [data-nb-block-type=HR] .nb-block-content>div hr,.nb-ui-layer [data-nb-block-type=HR] .nb-block-content>div hr{border:1px solid}.nb-editor blockquote,.nb-ui-layer blockquote{margin:0;padding-left:1.2em;border-left:4px solid #ccc;font-size:1.2em}.nb-editor.black-theme [data-nb-block-type=CODEBLOCK] [data-nb-dom-type=text] code[class*=language-],.nb-editor.black-theme [data-nb-block-type=CODEBLOCK] [data-nb-dom-type=text] pre[class*=language-]{color:#f8f8f2;background:none;text-shadow:0 1px rgba(0,0,0,.3);font-family:Consolas,Monaco,"Andale Mono","Ubuntu Mono",monospace;font-size:1em;text-align:left;white-space:pre;word-spacing:normal;word-break:normal;word-wrap:normal;line-height:1.5;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-hyphens:none;-moz-hyphens:none;-ms-hyphens:none;hyphens:none}.nb-editor.black-theme [data-nb-block-type=CODEBLOCK] [data-nb-dom-type=text] pre[class*=language-]{padding:1em;margin:.5em 0;overflow:auto;border-radius:.3em}.nb-editor.black-theme [data-nb-block-type=CODEBLOCK] [data-nb-dom-type=text] :not(pre)>code[class*=language-],.nb-editor.black-theme [data-nb-block-type=CODEBLOCK] [data-nb-dom-type=text] pre[class*=language-]{background:#272822}.nb-editor.black-theme [data-nb-block-type=CODEBLOCK] [data-nb-dom-type=text] :not(pre)>code[class*=language-]{padding:.1em;border-radius:.3em;white-space:normal}.nb-editor.black-theme [data-nb-block-type=CODEBLOCK] [data-nb-dom-type=text] .token.comment,.nb-editor.black-theme [data-nb-block-type=CODEBLOCK] [data-nb-dom-type=text] .token.prolog,.nb-editor.black-theme [data-nb-block-type=CODEBLOCK] [data-nb-dom-type=text] .token.doctype,.nb-editor.black-theme [data-nb-block-type=CODEBLOCK] [data-nb-dom-type=text] .token.cdata{color:#8292a2}.nb-editor.black-theme [data-nb-block-type=CODEBLOCK] [data-nb-dom-type=text] .token.punctuation{color:#f8f8f2}.nb-editor.black-theme [data-nb-block-type=CODEBLOCK] [data-nb-dom-type=text] .token.namespace{opacity:.7}.nb-editor.black-theme [data-nb-block-type=CODEBLOCK] [data-nb-dom-type=text] .token.property,.nb-editor.black-theme [data-nb-block-type=CODEBLOCK] [data-nb-dom-type=text] .token.tag,.nb-editor.black-theme [data-nb-block-type=CODEBLOCK] [data-nb-dom-type=text] .token.constant,.nb-editor.black-theme [data-nb-block-type=CODEBLOCK] [data-nb-dom-type=text] .token.symbol,.nb-editor.black-theme [data-nb-block-type=CODEBLOCK] [data-nb-dom-type=text] .token.deleted{color:#f92672}.nb-editor.black-theme [data-nb-block-type=CODEBLOCK] [data-nb-dom-type=text] .token.boolean,.nb-editor.black-theme [data-nb-block-type=CODEBLOCK] [data-nb-dom-type=text] .token.number{color:#ae81ff}.nb-editor.black-theme [data-nb-block-type=CODEBLOCK] [data-nb-dom-type=text] .token.selector,.nb-editor.black-theme [data-nb-block-type=CODEBLOCK] [data-nb-dom-type=text] .token.attr-name,.nb-editor.black-theme [data-nb-block-type=CODEBLOCK] [data-nb-dom-type=text] .token.string,.nb-editor.black-theme [data-nb-block-type=CODEBLOCK] [data-nb-dom-type=text] .token.char,.nb-editor.black-theme [data-nb-block-type=CODEBLOCK] [data-nb-dom-type=text] .token.builtin,.nb-editor.black-theme [data-nb-block-type=CODEBLOCK] [data-nb-dom-type=text] .token.inserted{color:#a6e22e}.nb-editor.black-theme [data-nb-block-type=CODEBLOCK] [data-nb-dom-type=text] .token.operator,.nb-editor.black-theme [data-nb-block-type=CODEBLOCK] [data-nb-dom-type=text] .token.entity,.nb-editor.black-theme [data-nb-block-type=CODEBLOCK] [data-nb-dom-type=text] .token.url,.nb-editor.black-theme [data-nb-block-type=CODEBLOCK] [data-nb-dom-type=text] .language-css .token.string,.nb-editor.black-theme [data-nb-block-type=CODEBLOCK] [data-nb-dom-type=text] .style .token.string,.nb-editor.black-theme [data-nb-block-type=CODEBLOCK] [data-nb-dom-type=text] .token.variable{color:#f8f8f2}.nb-editor.black-theme [data-nb-block-type=CODEBLOCK] [data-nb-dom-type=text] .token.atrule,.nb-editor.black-theme [data-nb-block-type=CODEBLOCK] [data-nb-dom-type=text] .token.attr-value,.nb-editor.black-theme [data-nb-block-type=CODEBLOCK] [data-nb-dom-type=text] .token.function,.nb-editor.black-theme [data-nb-block-type=CODEBLOCK] [data-nb-dom-type=text] .token.class-name{color:#e6db74}.nb-editor.black-theme [data-nb-block-type=CODEBLOCK] [data-nb-dom-type=text] .token.keyword{color:#66d9ef}.nb-editor.black-theme [data-nb-block-type=CODEBLOCK] [data-nb-dom-type=text] .token.regex,.nb-editor.black-theme [data-nb-block-type=CODEBLOCK] [data-nb-dom-type=text] .token.important{color:#fd971f}.nb-editor.black-theme [data-nb-block-type=CODEBLOCK] [data-nb-dom-type=text] .token.important,.nb-editor.black-theme [data-nb-block-type=CODEBLOCK] [data-nb-dom-type=text] .token.bold{font-weight:bold}.nb-editor.black-theme [data-nb-block-type=CODEBLOCK] [data-nb-dom-type=text] .token.italic{font-style:italic}.nb-editor.black-theme [data-nb-block-type=CODEBLOCK] [data-nb-dom-type=text] .token.entity{cursor:help}.nb-editor [data-nb-block-type=CODEBLOCK] [data-nb-dom-type=text] code[class*=language-],.nb-editor [data-nb-block-type=CODEBLOCK] [data-nb-dom-type=text] pre[class*=language-]{color:#000;background:none;text-shadow:0 1px #fff;font-family:Consolas,Monaco,"Andale Mono","Ubuntu Mono",monospace;font-size:1em;text-align:left;white-space:pre;word-spacing:normal;word-break:normal;word-wrap:normal;line-height:1.5;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-hyphens:none;-moz-hyphens:none;-ms-hyphens:none;hyphens:none}.nb-editor [data-nb-block-type=CODEBLOCK] [data-nb-dom-type=text] pre[class*=language-]::-moz-selection,.nb-editor [data-nb-block-type=CODEBLOCK] [data-nb-dom-type=text] pre[class*=language-] ::-moz-selection,.nb-editor [data-nb-block-type=CODEBLOCK] [data-nb-dom-type=text] code[class*=language-]::-moz-selection,.nb-editor [data-nb-block-type=CODEBLOCK] [data-nb-dom-type=text] code[class*=language-] ::-moz-selection{text-shadow:none;background:#b3d4fc}.nb-editor [data-nb-block-type=CODEBLOCK] [data-nb-dom-type=text] pre[class*=language-]::selection,.nb-editor [data-nb-block-type=CODEBLOCK] [data-nb-dom-type=text] pre[class*=language-] ::selection,.nb-editor [data-nb-block-type=CODEBLOCK] [data-nb-dom-type=text] code[class*=language-]::selection,.nb-editor [data-nb-block-type=CODEBLOCK] [data-nb-dom-type=text] code[class*=language-] ::selection{text-shadow:none;background:#b3d4fc}@media print{.nb-editor [data-nb-block-type=CODEBLOCK] [data-nb-dom-type=text] code[class*=language-],.nb-editor [data-nb-block-type=CODEBLOCK] [data-nb-dom-type=text] pre[class*=language-]{text-shadow:none}}.nb-editor [data-nb-block-type=CODEBLOCK] [data-nb-dom-type=text] pre[class*=language-]{padding:1em;margin:.5em 0;overflow:auto}.nb-editor [data-nb-block-type=CODEBLOCK] [data-nb-dom-type=text] :not(pre)>code[class*=language-],.nb-editor [data-nb-block-type=CODEBLOCK] [data-nb-dom-type=text] pre[class*=language-]{background:#f5f2f0}.nb-editor [data-nb-block-type=CODEBLOCK] [data-nb-dom-type=text] :not(pre)>code[class*=language-]{padding:.1em;border-radius:.3em;white-space:normal}.nb-editor [data-nb-block-type=CODEBLOCK] [data-nb-dom-type=text] .token.comment,.nb-editor [data-nb-block-type=CODEBLOCK] [data-nb-dom-type=text] .token.prolog,.nb-editor [data-nb-block-type=CODEBLOCK] [data-nb-dom-type=text] .token.doctype,.nb-editor [data-nb-block-type=CODEBLOCK] [data-nb-dom-type=text] .token.cdata{color:#708090}.nb-editor [data-nb-block-type=CODEBLOCK] [data-nb-dom-type=text] .token.punctuation{color:#999}.nb-editor [data-nb-block-type=CODEBLOCK] [data-nb-dom-type=text] .token.namespace{opacity:.7}.nb-editor [data-nb-block-type=CODEBLOCK] [data-nb-dom-type=text] .token.property,.nb-editor [data-nb-block-type=CODEBLOCK] [data-nb-dom-type=text] .token.tag,.nb-editor [data-nb-block-type=CODEBLOCK] [data-nb-dom-type=text] .token.boolean,.nb-editor [data-nb-block-type=CODEBLOCK] [data-nb-dom-type=text] .token.number,.nb-editor [data-nb-block-type=CODEBLOCK] [data-nb-dom-type=text] .token.constant,.nb-editor [data-nb-block-type=CODEBLOCK] [data-nb-dom-type=text] .token.symbol,.nb-editor [data-nb-block-type=CODEBLOCK] [data-nb-dom-type=text] .token.deleted{color:#905}.nb-editor [data-nb-block-type=CODEBLOCK] [data-nb-dom-type=text] .token.selector,.nb-editor [data-nb-block-type=CODEBLOCK] [data-nb-dom-type=text] .token.attr-name,.nb-editor [data-nb-block-type=CODEBLOCK] [data-nb-dom-type=text] .token.string,.nb-editor [data-nb-block-type=CODEBLOCK] [data-nb-dom-type=text] .token.char,.nb-editor [data-nb-block-type=CODEBLOCK] [data-nb-dom-type=text] .token.builtin,.nb-editor [data-nb-block-type=CODEBLOCK] [data-nb-dom-type=text] .token.inserted{color:#690}.nb-editor [data-nb-block-type=CODEBLOCK] [data-nb-dom-type=text] .token.operator,.nb-editor [data-nb-block-type=CODEBLOCK] [data-nb-dom-type=text] .token.entity,.nb-editor [data-nb-block-type=CODEBLOCK] [data-nb-dom-type=text] .token.url,.nb-editor [data-nb-block-type=CODEBLOCK] [data-nb-dom-type=text] .language-css .token.string,.nb-editor [data-nb-block-type=CODEBLOCK] [data-nb-dom-type=text] .style .token.string{color:#9a6e3a}.nb-editor [data-nb-block-type=CODEBLOCK] [data-nb-dom-type=text] .token.atrule,.nb-editor [data-nb-block-type=CODEBLOCK] [data-nb-dom-type=text] .token.attr-value,.nb-editor [data-nb-block-type=CODEBLOCK] [data-nb-dom-type=text] .token.keyword{color:#07a}.nb-editor [data-nb-block-type=CODEBLOCK] [data-nb-dom-type=text] .token.function,.nb-editor [data-nb-block-type=CODEBLOCK] [data-nb-dom-type=text] .token.class-name{color:#dd4a68}.nb-editor [data-nb-block-type=CODEBLOCK] [data-nb-dom-type=text] .token.regex,.nb-editor [data-nb-block-type=CODEBLOCK] [data-nb-dom-type=text] .token.important,.nb-editor [data-nb-block-type=CODEBLOCK] [data-nb-dom-type=text] .token.variable{color:#e90}.nb-editor [data-nb-block-type=CODEBLOCK] [data-nb-dom-type=text] .token.important,.nb-editor [data-nb-block-type=CODEBLOCK] [data-nb-dom-type=text] .token.bold{font-weight:bold}.nb-editor [data-nb-block-type=CODEBLOCK] [data-nb-dom-type=text] .token.italic{font-style:italic}.nb-editor [data-nb-block-type=CODEBLOCK] [data-nb-dom-type=text] .token.entity{cursor:help}.nb-editor [data-nb-block-type=CODEBLOCK] .nb-block-content>div,.nb-ui-layer [data-nb-block-type=CODEBLOCK] .nb-block-content>div{border:1px solid rgba(170,170,170,.2);border-radius:2px;display:flex;flex-direction:column;font-family:monospace}.nb-editor [data-nb-block-type=CODEBLOCK] .nb-block-content>div .language,.nb-ui-layer [data-nb-block-type=CODEBLOCK] .nb-block-content>div .language{margin:1em;padding:4px;font-size:.8em;align-self:flex-end;cursor:pointer;border:1px solid rgba(170,170,170,.2);border-radius:2px}.nb-editor [data-nb-block-type=CODEBLOCK] .nb-block-content>div .code,.nb-ui-layer [data-nb-block-type=CODEBLOCK] .nb-block-content>div .code{flex:1;display:flex;overflow-x:auto}.nb-editor [data-nb-block-type=CODEBLOCK] .nb-block-content>div .code [data-nb-dom-type=text],.nb-ui-layer [data-nb-block-type=CODEBLOCK] .nb-block-content>div .code [data-nb-dom-type=text]{padding:1em;flex:1 0 auto;word-wrap:break-word;word-break:keep-all;line-height:1.5em}@keyframes fade-in{from{opacity:0}to{opacity:1}}@keyframes fade-in-scale{from{opacity:0;transform:scale(0)}to{opacity:1;transform:scale(1)}}.nb-editor [data-nb-block-type=MERMAID] .nb-block-content>div,.nb-ui-layer [data-nb-block-type=MERMAID] .nb-block-content>div{border:1px solid rgba(170,170,170,.2);border-radius:2px;display:flex;flex-direction:column;font-family:monospace}.nb-editor [data-nb-block-type=MERMAID] .nb-block-content>div [data-nb-dom-type=text],.nb-ui-layer [data-nb-block-type=MERMAID] .nb-block-content>div [data-nb-dom-type=text]{padding:1em;line-height:1.5em}.nb-editor [data-nb-block-type=MERMAID] .nb-block-content>div .nb-mermaid-draw,.nb-ui-layer [data-nb-block-type=MERMAID] .nb-block-content>div .nb-mermaid-draw{flex:1;display:flex;justify-content:center;align-items:center;cursor:pointer}.nb-editor [data-nb-block-type=MERMAID] .nb-block-content>div .nb-mermaid-draw.mermaid-syntax-error,.nb-ui-layer [data-nb-block-type=MERMAID] .nb-block-content>div .nb-mermaid-draw.mermaid-syntax-error{color:red}div[id^=dnb-mermaid-]{visibility:hidden}.checkbox-icon{width:1em;height:.9em;fill:var(--fg-color)}.nb-ui-layer{position:fixed;inset:0;pointer-events:none;overflow:hidden}.nb-ui-layer.dragging{z-index:500}.nb-ui-layer #nb-ui-layer-ghost{position:relative;z-index:500;max-width:max-content}.nb-ui-layer #nb-ui-layer-ghost *{z-index:501}.nb-ui-layer #nb-ui-layer-ghost .nb-block-handle{visibility:hidden}.nb-ui-layer #nb-ui-layer-ghost #nb-ui-layer-ghost-content{max-width:max-content}.nb-ui-layer .dragging,.nb-ui-layer .dragging *{cursor:grabbing !important;touch-action:none}.nb-ui-layer body.lock-scrolling{height:100%;overflow:hidden}@keyframes fade-in{from{opacity:0}to{opacity:1}}@keyframes fade-in-scale{from{opacity:0;transform:scale(0)}to{opacity:1;transform:scale(1)}}#nb-ui-layer-popup{z-index:300;position:fixed;left:0;right:0;top:0;bottom:0;-webkit-backdrop-filter:blur(1px);backdrop-filter:blur(1px);animation:focus 1s;background-color:var(--thicker-transparent-bg-color);padding:1rem;overflow:hidden}#nb-ui-popup{position:sticky;max-width:max-content;max-height:80vh;animation:genie-lamp .1s;border:2px solid var(--fg-color);border-radius:var(--border-radius);background-color:var(--transparent-bg-color);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);font-size:.9rem;overflow:hidden;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;-webkit-user-modify:read-only}#nb-ui-popup .light-theme{color:#000;background-color:#fff}#nb-ui-popup .black-theme{color:#fff;background-color:#000}#nb-ui-popup .nb-ui-menu{display:flex;flex-direction:column;max-height:80vh;overflow-y:auto}#nb-ui-popup .nb-ui-menu .nb-ui-menu-item{cursor:pointer;padding:.5rem;display:flex;justify-content:flex-start;align-items:center;gap:.5rem}#nb-ui-popup .nb-ui-menu .nb-ui-menu-item:not(:last-child){border-bottom:1px solid var(--fg-color)}#nb-ui-popup .nb-ui-menu .nb-ui-menu-item [class$=-icon]{width:20px;height:20px;fill:var(--fg-color)}#nb-ui-popup .nb-ui-menu .nb-ui-menu-item:hover{background-color:var(--reverse-transparent-bg-color)}@keyframes genie-lamp{from{transform:scale(0)}to{transform:scale(1)}}@keyframes focus{from{background-color:rgba(0,0,0,0)}to{background-color:var(--thicker-transparent-bg-color)}}.ui-popup-header,.ui-popup-footer{font-size:18px;display:flex;justify-content:flex-end;gap:.5rem}.ui-popup-header{padding-bottom:1rem}.ui-popup-footer{padding-top:1rem}.ui-popup-footer .nb-ui-leading{flex:1;display:flex;justify-content:flex-start}#nbdb-edit-fields .nb-ui-section-wrap,#nbdb-sorting .nb-ui-section-wrap{min-width:256px}#nbdb-labels-picker .nb-ui-section-wrap,#nbdb-edit-labels .nb-ui-section-wrap{min-width:256px}#nbdb-labels-picker .nbdb-labels,#nbdb-edit-labels .nbdb-labels{padding:.5rem;margin-top:.5rem;border-radius:var(--border-radius);border:1px solid var(--fg-color);min-height:1.5em;margin:0 1rem}#nbdb-date-picker .nb-ui-content{flex:1;display:flex;justify-self:stretch}#nbdb-date-picker .nb-ui-content input{margin:0 1rem;flex:1;font-size:1em;font-weight:bold;color:var(--bg-color)}#nb-ui-layer-popup{cursor:default}#nb-ui-layer-popup .nbdb-labels{overflow-y:auto;max-height:80vh;display:flex;flex-wrap:wrap;align-items:flex-start;gap:.5rem}#nb-ui-layer-popup .nbdb-labels .nbdb-label{cursor:pointer}#nb-ui-layer-popup .nbdb-label-editor{border:1px solid var(--reverse-transparent-bg-color);border-radius:5px;padding:.5rem;display:flex;flex-direction:column}#nb-ui-layer-popup .nbdb-label-editor .nb-color-picker{display:flex;justify-content:center;margin-top:.5rem;gap:.2rem}#nb-ui-layer-popup .nbdb-label-editor .nb-color-picker .nb-color-option{width:1.4rem;height:1.4rem;border:1px solid var(--fg-color);border-radius:50%;cursor:pointer}#nb-ui-layer-popup .nbdb-label-editor .nb-ui-btns{display:flex;justify-content:flex-end;gap:.5rem;margin-top:.5rem}#nb-ui-layer-popup .nbdb-formula{overflow-y:hidden;max-height:80vh;display:flex;flex-direction:column;font-size:12px}#nb-ui-layer-popup .nbdb-formula .nbdb-formula-writer{overflow-y:auto;clip-path:inset(0 0 0 0)}#nb-ui-layer-popup .nbdb-formula .nbdb-formula-writer .nbdb-formula-writer-header{padding:1rem 1rem 0 1rem;position:sticky;top:0;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background-color:var(--thick-transparent-bg-color);z-index:999}#nb-ui-layer-popup .nbdb-formula .nbdb-formula-writer .nbdb-formula-writer-body{padding:1rem}#nb-ui-layer-popup .nbdb-formula .nbdb-formula-selector-section-header{padding:.5rem 0;display:flex;align-items:center;gap:.5rem;font-weight:bolder;cursor:pointer}#nb-ui-layer-popup .nbdb-formula .nbdb-formula-selector-options{background-color:var(--reverse-transparent-bg-color);border-radius:var(--border-radius)}#nb-ui-layer-popup .nbdb-formula .nbdb-formula-selector-option{padding:.5rem}#nb-ui-layer-popup .nbdb-formula .nbdb-formula-selector-option:not(:last-child){border-bottom:1px solid var(--bg-color)}#nb-ui-layer-popup .nbdb-formula .nbdb-formula-selector-option .nbdb-formula-selector-option-header{display:flex;gap:.5rem;align-items:center;cursor:pointer}@media(max-width: 640px){#nb-ui-layer-popup .nbdb-formula .nbdb-formula-selector-option .nbdb-formula-selector-option-header{justify-content:space-between}}#nb-ui-layer-popup .nbdb-formula .nbdb-formula-selector-option .nbdb-formula-selector-option-details{outline:none;cursor:text;-webkit-user-modify:read-write-plaintext-only;-webkit-user-select:text;-moz-user-select:text;-ms-user-select:text;user-select:text}#nb-ui-layer-popup .nbdb-formula .nbdb-formula-selector-option .nbdb-formula-selector-option-details .nbdb-formula-selector-option-details-description{margin-top:1rem;padding:.5rem;font-weight:normal;font-size:1.1em}#nb-ui-layer-popup .nbdb-formula .nbdb-formula-selector-option .nbdb-formula-selector-option-details .nbdb-formula-selector-option-details-example{margin-bottom:.5rem}#nb-ui-layer-popup .nbdb-formula .nbdb-formula-selector-option .nbdb-formula-selector-option-details h4{margin-top:.5rem;margin-bottom:.5rem}#nb-ui-layer-popup .nbdb-formula .nbdb-formula-selector-option .nbdb-formula-selector-option-details .nbdb-formula-selector-option-details-syntax,#nb-ui-layer-popup .nbdb-formula .nbdb-formula-selector-option .nbdb-formula-selector-option-details .nbdb-formula-selector-option-details-example{background-color:var(--bg-color);padding:.5rem;border-radius:var(--border-radius);font-family:monospace;font-weight:normal}#nb-ui-layer-popup .nbdb-formula .nbdb-formula-selector-option .nbdb-formula-selector-option-details i{color:var(--nb-color-green)}#nb-ui-layer-popup .nbdb-formula .nbdb-formula-selector-option .nbdb-formula-selector-option-details b i{color:var(--nb-color-red)}#nb-ui-layer-popup .nbdb-formula .nbdb-formula-preview{min-height:1em;outline:none;cursor:text;-webkit-user-modify:read-write-plaintext-only;-webkit-user-select:text;-moz-user-select:text;-ms-user-select:text;user-select:text;border:1px solid var(--fg-color);border-radius:var(--border-radius-form);box-shadow:none;outline:none;font-size:14px;background-color:#fff;color:#000;padding:.5rem;max-height:30vh;overflow:auto;letter-spacing:1px;word-spacing:1px}#nb-ui-layer-popup .nbdb-formula .nbdb-formula-preview[contenteditable=true]{cursor:text}#nb-ui-layer-popup .nbdb-formula .nbdb-formula-preview[contenteditable=false]{cursor:pointer}#nb-ui-layer-popup .nbdb-formula .nbdb-formula-error{color:var(--nb-color-red);min-height:1.5em;padding:.25rem}#nb-ui-layer-popup .nbdb-formula .nb-formula-bool{color:var(--nb-color-purple);font-weight:bold;font-family:monospace}#nb-ui-layer-popup .nbdb-formula .nb-formula-string{color:var(--nb-color-green)}#nb-ui-layer-popup .nbdb-formula .nb-formula-number{color:var(--nb-color-blue)}#nb-ui-layer-popup .nbdb-formula .nb-formula-op{color:var(--nb-color-orange)}#nb-ui-layer-popup .nbdb-formula .nb-formula-fn{font-family:monospace}#nb-ui-layer-popup #nbdb-field-popup{padding:1rem;display:flex;flex-direction:column;max-width:480px}#nb-ui-layer-popup #nbdb-field-popup select{align-self:stretch;margin:1rem 0}#nb-ui-layer-popup #nbdb-field-popup .nbdb-field-width{margin-top:1rem;display:flex;justify-content:space-between;align-items:center}#nb-ui-layer-popup #nbdb-field-popup .nbdb-field-width .nb-ui-leading{display:flex;justify-content:center;align-items:center;gap:.25rem;margin-right:.5rem}#nb-ui-layer-popup #nbdb-field-popup .nbdb-labels-editor,#nb-ui-layer-popup #nbdb-field-popup .nbdb-formula-editor{overflow:hidden;max-height:0;transition:max-height .3s cubic-bezier(0, 1, 0, 1)}#nb-ui-layer-popup #nbdb-field-popup .nbdb-labels-editor.open,#nb-ui-layer-popup #nbdb-field-popup .nbdb-formula-editor.open{max-height:100vh;transition:max-height .3s ease-in .3s}#nb-code-language-picker{height:80vh;padding-bottom:1rem}#nb-code-language-picker .nb-ui-content{flex:1;display:flex;flex-direction:column}#nb-code-language-picker .nb-ui-content input{margin-top:.25rem}#nb-mermaid-popup{position:absolute;top:0;left:0;right:0;bottom:0;overflow:hidden;padding:1rem;display:flex;flex-direction:column;gap:1rem;justify-content:stretch;align-items:stretch;flex:1}#nb-mermaid-popup .nb-diagram-container{border:1px solid var(--fg-color);background-color:var(--bg-color);flex:1;overflow:hidden;display:flex;justify-content:center;align-items:center}#nb-mermaid-popup .nb-diagram-container .nb-img-container{touch-action:auto;overflow-x:scroll;overflow-y:scroll;max-height:100%;max-width:100%}#nb-mermaid-popup .nb-diagram-container .nb-img-container img{margin:1rem}#nb-mermaid-popup .nb-ui-footer{display:flex;align-self:stretch;justify-content:space-between;align-items:center;gap:2rem}#nb-mermaid-popup .nb-ui-footer input{flex:1;-webkit-appearance:none;height:2px;background-color:var(--fg-color)}#nb-mermaid-popup .nb-ui-footer input::-webkit-slider-thumb{-webkit-appearance:none;background-color:var(--bg-color);border:2px solid var(--fg-color);width:20px;height:20px;border-radius:10px;cursor:pointer} diff --git a/frontend/public/extensions/note/static/app.js b/frontend/public/extensions/note/static/app.js new file mode 100644 index 0000000..c1965dc --- /dev/null +++ b/frontend/public/extensions/note/static/app.js @@ -0,0 +1 @@ +(()=>{var t={7967:(t,e)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.sanitizeUrl=e.BLANK_URL=void 0;var n=/^([^\w]*)(javascript|data|vbscript)/im,r=/&#(\w+)(^\w|;)?/g,i=/&(newline|tab);/gi,a=/[\u0000-\u001F\u007F-\u009F\u2000-\u200D\uFEFF]/gim,o=/^.+(:|:)/gim,s=[".","/"];e.BLANK_URL="about:blank",e.sanitizeUrl=function(t){if(!t)return e.BLANK_URL;var c,l=(c=t,c.replace(a,"").replace(r,(function(t,e){return String.fromCharCode(e)}))).replace(i,"").replace(a,"").trim();if(!l)return e.BLANK_URL;if(function(t){return s.indexOf(t[0])>-1}(l))return l;var u=l.match(o);if(!u)return l;var h=u[0];return n.test(h)?e.BLANK_URL:l}},3832:(t,e,n)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.Block=void 0;const r=n(7795);class i{constructor(t,e,n,r,i,a,o){this.blockID=t,this.version=e,this.point=n,this.props=r,this.isDeleted=i,this.text=a,this.parentBlockID=o}get type(){return this.props.TYPE[1]}hasText(){return!!this.text}encode(){var t;return[this.blockID,this.version,this.point.encode(),this.props,this.isDeleted,null===(t=this.text)||void 0===t?void 0:t.encode(),this.parentBlockID]}static decode(t){return new a(t[0],t[1],t[2]&&r.Point.decode(t[2]),t[3],t[4],t[5]&&r.Text.decode(t[5]),t[6])}}class a extends i{genIdentifier(t,e){const n=`${t}-${this.pointNonce(t)+e}`;return this.increasePointNonce(t,e),n}genPoint(t,e,n,i,a){const o=(0,r.genPointBetween)(t,this.pointNonce(t),n,i,a);return this.increasePointNonce(t,e),o}spanFor(t,e,n={}){if(e.length<1)throw new Error("no-empty-content");const i=(0,r.genPointBetween)(t,this.pointNonce(t),n.lower,n.upper,e.isMeta());return this.increasePointNonce(t,e.length),new r.Span(i,e)}pointNonce(t){var e;return(null===(e=this.version[t])||void 0===e?void 0:e[1])||0}increasePointNonce(t,e){const n=this.version[t]||[0,0];this.version[t]=[n[0],n[1]+e]}updateVersion(t){if(t.contributor.nonce)return void(this.version[t.contributor.replicaID]=t.contributor.nonce);const e=this.version[t.contributor.replicaID]||[0,0],n={replicaID:t.contributor.replicaID,nonce:[e[0]+1,e[1]]};return this.version[n.replicaID]=n.nonce,n}mov(t){var e;if(!(0,r.checkIfNewerStamp)(null===(e=this.props.MOV)||void 0===e?void 0:e[0],t.stamp))return;const n={parentBlockID:this.parentBlockID,point:this.point},i={parentBlockID:t.parentBlockID,point:t.point};return this.parentBlockID=i.parentBlockID,this.point=i.point,this.props.MOV=[t.stamp],{blockID:this.blockID,version:this.updateVersion(t),from:n,to:i}}del(t){var e;if(!(0,r.checkIfNewerStamp)(null===(e=this.props.DEL)||void 0===e?void 0:e[0],t.stamp))return;const n=this.isDeleted;return this.isDeleted=t.isDeleted,this.props.DEL=[t.stamp],{blockID:this.blockID,version:this.updateVersion(t),from:n,to:t.isDeleted}}set(t){const e=o(this.props,t.props,t.stamp);if(e)return{blockID:this.blockID,version:this.updateVersion(t),from:e.from,to:e.to}}insText(t){return{blockID:this.blockID,delta:this.text.ins(t.span),version:this.updateVersion(t)}}delText(t){return{blockID:this.blockID,delta:this.text.del(t.span),version:this.updateVersion(t)}}fmtText(t){return this.text.fmt(t.span),{blockID:this.blockID,version:this.updateVersion(t)}}modText(t){return this.text.mod(t.span),{blockID:this.blockID,version:this.updateVersion(t),span:t.span}}insTextAt(t){return{blockID:this.blockID,span:this.text.insAt(t.index,t.content,t.contributor,this),version:this.updateVersion(t)}}delTextAt(t){const e=this.text.delAt(t.index,t.length);return e&&{blockID:this.blockID,spans:e,version:this.updateVersion(t)}}fmtTextAt(t){const e=this.text.fmtAt(t.index,t.length,t.props,t.stamp);return e&&{blockID:this.blockID,spans:e,version:this.updateVersion(t)}}}e.Block=a;const o=(t,e,n,i={},a={})=>{if(Object.keys(e).forEach((s=>{const c=e[s];let l=t[s];if((0,r.isProps)(c)){l||(l={},t[s]=l);const e=o(l,c,n,i[s],a[s]);return void(e&&(i[s]=e.from,a[s]=e.to))}if(!(0,r.checkIfNewerOrEqualStamp)(null==l?void 0:l[0],n))return;const u=null==l?void 0:l[1];u!=c&&(i[s]=u||null,a[s]=c,t[s]=null===c?[n]:[n,c])})),0!==Object.keys(a).length)return{from:i,to:a}}},3737:function(t,e,n){"use strict";var r=this&&this.__createBinding||(Object.create?function(t,e,n,r){void 0===r&&(r=n);var i=Object.getOwnPropertyDescriptor(e,n);i&&!("get"in i?!e.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return e[n]}}),Object.defineProperty(t,r,i)}:function(t,e,n,r){void 0===r&&(r=n),t[r]=e[n]}),i=this&&this.__setModuleDefault||(Object.create?function(t,e){Object.defineProperty(t,"default",{enumerable:!0,value:e})}:function(t,e){t.default=e}),a=this&&this.__importStar||function(t){if(t&&t.__esModule)return t;var e={};if(null!=t)for(var n in t)"default"!==n&&Object.prototype.hasOwnProperty.call(t,n)&&r(e,t,n);return i(e,t),e},o=this&&this.__exportStar||function(t,e){for(var n in t)"default"===n||Object.prototype.hasOwnProperty.call(e,n)||r(e,t,n)};Object.defineProperty(e,"__esModule",{value:!0}),e.OP=void 0,e.OP=a(n(5350)),o(n(3832),e)},5350:(t,e)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0})},49:(t,e,n)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.Contributor=void 0;const r=n(7795);e.Contributor=class{constructor(t,e){this._replicaID=t,this._blockNonce=e}get replicaID(){return this._replicaID}get blockNonce(){return this._blockNonce}blockPointBetween(t=r.pointMIN,e=r.pointMAX){const n=(0,r.genPointBetween)(this._replicaID,this._blockNonce,t,e);return this._blockNonce+=1,n}}},8569:(t,e)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.NewMODDelta=e.NewFMTDelta=e.NewDELDelta=e.NewINSDelta=void 0;e.NewINSDelta=(t,e)=>({index:t,content:e});e.NewDELDelta=(t,e)=>({index:t,length:e});e.NewFMTDelta=(t,e)=>({index:t,attributes:e});e.NewMODDelta=(t,e)=>({index:t,text:e})},630:function(t,e,n){"use strict";var r=this&&this.__createBinding||(Object.create?function(t,e,n,r){void 0===r&&(r=n);var i=Object.getOwnPropertyDescriptor(e,n);i&&!("get"in i?!e.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return e[n]}}),Object.defineProperty(t,r,i)}:function(t,e,n,r){void 0===r&&(r=n),t[r]=e[n]}),i=this&&this.__exportStar||function(t,e){for(var n in t)"default"===n||Object.prototype.hasOwnProperty.call(e,n)||r(e,t,n)};Object.defineProperty(e,"__esModule",{value:!0}),i(n(49),e),i(n(8569),e),i(n(6235),e)},6235:(t,e)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.checkIfNewerOrEqualStamp=e.checkIfNewerStamp=void 0;e.checkIfNewerStamp=(t,e)=>!t||!!e&&(t[1]===e[1]?t[0]!t||!!e&&(t[1]===e[1]?t[0]<=e[0]:t[1]<=e[1])},7795:function(t,e,n){"use strict";var r=this&&this.__createBinding||(Object.create?function(t,e,n,r){void 0===r&&(r=n);var i=Object.getOwnPropertyDescriptor(e,n);i&&!("get"in i?!e.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return e[n]}}),Object.defineProperty(t,r,i)}:function(t,e,n,r){void 0===r&&(r=n),t[r]=e[n]}),i=this&&this.__exportStar||function(t,e){for(var n in t)"default"===n||Object.prototype.hasOwnProperty.call(e,n)||r(e,t,n)};Object.defineProperty(e,"__esModule",{value:!0}),i(n(639),e),i(n(3737),e),i(n(630),e),i(n(2800),e),i(n(5886),e),i(n(7205),e)},2800:(t,e,n)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.validated=e.validate=e.compare=e.uint32MAX=e.uint32MID=e.uint32MIN=e.Order=e.ClosedRange=void 0;const r=n(6952);Object.defineProperty(e,"uint32MIN",{enumerable:!0,get:function(){return r.uint32MIN}}),Object.defineProperty(e,"uint32MID",{enumerable:!0,get:function(){return r.uint32MID}}),Object.defineProperty(e,"uint32MAX",{enumerable:!0,get:function(){return r.uint32MAX}}),Object.defineProperty(e,"compare",{enumerable:!0,get:function(){return r.compare}}),Object.defineProperty(e,"validate",{enumerable:!0,get:function(){return r.validate}}),Object.defineProperty(e,"validated",{enumerable:!0,get:function(){return r.validated}});const i=n(4728);Object.defineProperty(e,"ClosedRange",{enumerable:!0,get:function(){return i.ClosedRange}});const a=n(6719);Object.defineProperty(e,"Order",{enumerable:!0,get:function(){return a.Order}})},6719:(t,e)=>{"use strict";var n;Object.defineProperty(e,"__esModule",{value:!0}),e.Order=void 0,function(t){t[t.Splitting=0]="Splitting",t[t.Tagging=1]="Tagging",t[t.Less=2]="Less",t[t.Prependable=3]="Prependable",t[t.RightOverlap=4]="RightOverlap",t[t.IncludingRight=5]="IncludingRight",t[t.IncludingMiddle=6]="IncludingMiddle",t[t.IncludingLeft=7]="IncludingLeft",t[t.Equal=8]="Equal",t[t.IncludedLeft=9]="IncludedLeft",t[t.IncludedMiddle=10]="IncludedMiddle",t[t.IncludedRight=11]="IncludedRight",t[t.LeftOverlap=12]="LeftOverlap",t[t.Appendable=13]="Appendable",t[t.Greater=14]="Greater",t[t.Tagged=15]="Tagged",t[t.Splitted=16]="Splitted"}(n||(e.Order=n={}))},4728:(t,e,n)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.ClosedRange=void 0;const r=n(6719);class i{constructor(t,e){this.lower=t,this.length=e}get upper(){return this.lower+this.length-1}intersection(t){if(this.upper{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.validated=e.validate=e.compare=e.uint32MAX=e.uint32MID=e.uint32MIN=void 0;const r=n(6719);e.uint32MIN=0,e.uint32MID=2147483647,e.uint32MAX=4294967295;e.compare=(t,e)=>t!(te.uint32MAX);e.validated=t=>{if(!(0,e.validate)(t))throw new Error("invalid-uint32");return t}},5886:function(t,e,n){"use strict";var r=this&&this.__createBinding||(Object.create?function(t,e,n,r){void 0===r&&(r=n);var i=Object.getOwnPropertyDescriptor(e,n);i&&!("get"in i?!e.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return e[n]}}),Object.defineProperty(t,r,i)}:function(t,e,n,r){void 0===r&&(r=n),t[r]=e[n]}),i=this&&this.__exportStar||function(t,e){for(var n in t)"default"===n||Object.prototype.hasOwnProperty.call(e,n)||r(e,t,n)};Object.defineProperty(e,"__esModule",{value:!0}),e.tagMAX=e.tagMID=e.tagMIN=e.pointMAX=e.pointMID=e.pointMIN=e.Point=e.Tag=void 0,i(n(5999),e);var a=n(9335);Object.defineProperty(e,"Tag",{enumerable:!0,get:function(){return a.Tag}});var o=n(451);Object.defineProperty(e,"Point",{enumerable:!0,get:function(){return o.Point}}),Object.defineProperty(e,"pointMIN",{enumerable:!0,get:function(){return o.pointMIN}}),Object.defineProperty(e,"pointMID",{enumerable:!0,get:function(){return o.pointMID}}),Object.defineProperty(e,"pointMAX",{enumerable:!0,get:function(){return o.pointMAX}}),Object.defineProperty(e,"tagMIN",{enumerable:!0,get:function(){return o.tagMIN}}),Object.defineProperty(e,"tagMID",{enumerable:!0,get:function(){return o.tagMID}}),Object.defineProperty(e,"tagMAX",{enumerable:!0,get:function(){return o.tagMAX}})},451:(t,e,n)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.tagMAX=e.tagMID=e.tagMIN=e.Tag=e.pointMAX=e.pointMID=e.pointMIN=e.Point=void 0;const r=n(7795),i=n(9335);Object.defineProperty(e,"Tag",{enumerable:!0,get:function(){return i.Tag}});class a{constructor(t){this.tags=t}get lastTag(){return this.tags[this.tags.length-1]}get identifier(){return`${this.replicaID}-${this.nonce}`}get replicaID(){return this.lastTag.replicaID}get nonce(){return this.lastTag.nonce}clone(){return new a(this.tags.map((t=>t.clone())))}withNonce(t){const e=this.clone();return e.tags[e.tags.length-1]=e.lastTag.withNonce(t),e}offset(t){const e=this.clone();return e.tags[e.tags.length-1]=e.lastTag.offset(t),e}equals(t){return this.replicaID===t.replicaID&&this.nonce===t.nonce}compare(t){if(this.equals(t))return r.Order.Equal;const e=this.tags.length,n=t.tags.length,i=Math.min(e,n);for(let e=0;en?r.Order.Tagging:e===n?r.Order.Equal:r.Order.Tagged}distanceFrom(t){const e=this.compareBase(t);if(e===r.Order.Less||e===r.Order.Greater)throw new Error("invalid-distance-between-no-relation");const n=Math.min(this.tags.length,t.tags.length)-1,i=this.tags[n].nonce,a=t.tags[n].nonce,o=(0,r.compare)(i,a);return[o===r.Order.Less?a-i:i-a,o]}encode(){return this.tags.map((t=>t.encode()))}static decode(t){const e=t.map((t=>new i.Tag(...t)));return new a(e)}}e.Point=a;const o=new i.Tag(r.uint32MIN,0,1);e.tagMIN=o;const s=new i.Tag(r.uint32MID,0,3);e.tagMID=s;const c=new i.Tag(r.uint32MAX,0,2);e.tagMAX=c;const l=new a([o]);e.pointMIN=l;const u=new a([s]);e.pointMID=u;const h=new a([c]);e.pointMAX=h},5999:(t,e,n)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.genPointBetween=void 0;const r=n(7795);e.genPointBetween=(t,e,n=r.pointMIN,o=r.pointMAX,s=!1)=>{if(!s&&i(t,e,n))return n.offset(1);const c=[];let l=0,u=n.tags[l],h=o.tags[l];for(;h.priority-u.priority<2;)u.replicaID===h.replicaID?c.push(u):c.push(u.withNonce(r.uint32MAX)),l++,u=n.tags[l]||r.tagMIN,h=o.tags[l]||r.tagMAX;const d=a(u.priority,h.priority);return c.push(new r.Tag(d,t,e+1)),new r.Point(c)};const i=(t,e,n)=>n.replicaID===t&&n.nonce===e,a=(t,e)=>Math.floor((e-t)/2)+t},9335:(t,e,n)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.Tag=void 0;const r=n(7795);class i{constructor(t,e,n){this.priority=t,this.replicaID=e,this.nonce=n}clone(){return new i(this.priority,this.replicaID,this.nonce)}withNonce(t){if(tr.uint32MAX)throw new Error("invalid-nonce");return new i(this.priority,this.replicaID,t)}offset(t){const e=this.nonce+t;if(er.uint32MAX)throw new Error("invalid-offset");return new i(this.priority,this.replicaID,e)}compareBase(t){const e=(0,r.compare)(this.priority,t.priority);return e===r.Order.Equal?(0,r.compare)(this.replicaID,t.replicaID):e}compare(t){const e=this.compareBase(t);return e===r.Order.Equal?(0,r.compare)(this.nonce,t.nonce):e}encode(){return[this.priority,this.replicaID,this.nonce]}static decode(t){return new i(t[0],t[1],t[2])}}e.Tag=i},639:(t,e)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.isProps=void 0;e.isProps=t=>t&&"object"==typeof t&&!Array.isArray(t)&&!t.LEAF},7086:(t,e,n)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.adjacentOffsets=void 0;const r=n(7795),i=(t,e)=>{const n=t.span,a=n.lowerPoint.compare(e),o=t.leftLength();switch(a){case r.Order.Equal:return{lower:o>0?o-1:void 0,upper:t.right||n.length>1?o+1:void 0};case r.Order.Greater:{const n=t.left&&i(t.left,e);return n?{lower:n.lower,upper:void 0===n.upper?o:n.upper}:{lower:void 0,upper:0}}case r.Order.Less:switch(n.upperPoint.compare(e)){case r.Order.Equal:{const e=o+n.length-1;return{lower:e-1,upper:t.right?e+1:void 0}}case r.Order.Less:{const r=o+n.length,a=t.right&&i(t.right,e);return a?{lower:void 0===a.lower?r-1:a.lower+r,upper:a.upper?a.upper+r:void 0}:{lower:r-1,upper:void 0}}case r.Order.Greater:{const[t]=e.distanceFrom(n.lowerPoint),r=o+t;return{lower:r-1,upper:r+1}}}}};e.adjacentOffsets=i},9507:(t,e,n)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.adjacentPoints=void 0;const r=n(7795),i=(t,e)=>{var n,a,o;const s=t.span;switch(s.lowerPoint.compare(e)){case r.Order.Equal:return{lower:null===(n=t.predecessorSpan())||void 0===n?void 0:n.upperPoint.clone(),upper:s.length>1?e.offset(1):null===(a=t.successorSpan())||void 0===a?void 0:a.lowerPoint.clone()};case r.Order.Greater:{const n=t.left;if(n){const t=i(n,e);return{lower:t.lower,upper:t.upper||s.lowerPoint.clone()}}return{lower:void 0,upper:s.lowerPoint.clone()}}case r.Order.Less:switch(s.upperPoint.compare(e)){case r.Order.Equal:return{lower:e.offset(-1),upper:null===(o=t.successorSpan())||void 0===o?void 0:o.lowerPoint.clone()};case r.Order.Less:{const n=t.right;if(n){const t=i(n,e);return{lower:t.lower||s.upperPoint.clone(),upper:t.upper}}return{lower:s.upperPoint.clone(),upper:void 0}}case r.Order.Greater:{const[t]=e.distanceFrom(s.lowerPoint);return{lower:s.lowerPoint.offset(e.compareBase(s.lowerPoint)===r.Order.Tagging?t:t-1),upper:s.lowerPoint.offset(t+1)}}}}};e.adjacentPoints=i},3437:(t,e,n)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.del=void 0;const r=n(7795),i=(t,e,n)=>{const s=t.span,c=n+t.leftLength(),l=c+s.length;switch(s.compare(e)){case r.Order.Less:case r.Order.Prependable:return o(t,e,l);case r.Order.Greater:case r.Order.Appendable:return a(t,e,n);case r.Order.IncludingLeft:return t.setSpan(s.getAppendableSegmentTo(e)),[(0,r.NewDELDelta)(c,e.length)];case r.Order.IncludingRight:{const n=s.getPrependableSegmentTo(e);return t.setSpan(n),[(0,r.NewDELDelta)(c+n.length,e.length)]}case r.Order.IncludingMiddle:{const n=s.getPrependableSegmentTo(e);return t.setSpan(n),t.insertSuccessor(s.getAppendableSegmentTo(e)),[(0,r.NewDELDelta)(c+n.length,e.length)]}case r.Order.RightOverlap:{const r=o(t,e,l),a=e.intersection(s.toDELSpan());return i(t,a,n).concat(r)}case r.Order.LeftOverlap:{const r=e.intersection(s.toDELSpan()),o=i(t,r,n);return a(t,e,n).concat(o)}case r.Order.Equal:return t.deleteSelf(),[(0,r.NewDELDelta)(c,s.length)];case r.Order.IncludedLeft:{const r=o(t,e,l);return i(t,s.toDELSpan(),n).concat(r)}case r.Order.IncludedRight:{const r=a(t,e,n),o=i(t,s.toDELSpan(),n);return r.concat(o)}case r.Order.IncludedMiddle:{const r=o(t,e,l),c=a(t,e,n),u=i(t,s.toDELSpan(),n);return c.concat(u).concat(r)}case r.Order.Splitting:{const[r,a]=e.splitWith(s.toDELSpan()),o=i(t,a,n);return i(t,r,n).concat(o)}case r.Order.Splitted:default:return[]}};e.del=i;const a=(t,e,n)=>{if(!t.left)return[];const r=i(t.left,e,n);return t.setLeft(t.left.balance()),r},o=(t,e,n)=>{if(!t.right)return[];const r=i(t.right,e,n);return t.setRight(t.right.balance()),r}},2945:(t,e,n)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.delAt=void 0;const r=n(7795),i=(t,e,n)=>{const s=t.span,c=n+t.leftLength(),l=c+s.length,u=new r.ClosedRange(c,s.length);switch(u.compare(e)){case r.Order.Less:return o(t,e,l);case r.Order.Greater:return a(t,e,n);case r.Order.Prependable:{const n=o(t,e,l);return t.mergeRight(),n}case r.Order.Appendable:{const r=a(t,e,n);return t.mergeLeft(),r}case r.Order.RightOverlap:{const r=o(t,e,l),a=e.intersection(u);return i(t,a,n).concat(r)}case r.Order.LeftOverlap:{const r=e.intersection(u),o=i(t,r,n);return a(t,e,n).concat(o)}case r.Order.Equal:return t.deleteSelf(),new r.Spans(s);case r.Order.IncludingLeft:{const[n,i]=s.splitAt(e.length);return t.setSpan(i),new r.Spans(n)}case r.Order.IncludingRight:{const n=e.lower-u.lower,[i,a]=s.splitAt(n);return t.setSpan(i),new r.Spans(a)}case r.Order.IncludingMiddle:{const n=e.upper+1-u.lower,[i,a]=s.splitAt(n),o=e.lower-u.lower,[c,l]=i.splitAt(o);return t.setSpan(c),t.insertSuccessor(a),new r.Spans(l)}case r.Order.IncludedLeft:{const n=o(t,e,l);return t.deleteSelf(),new r.Spans(s).concat(n)}case r.Order.IncludedRight:{const r=a(t,e,n);return t.deleteSelf(),r.concat([s])}case r.Order.IncludedMiddle:{const r=o(t,e,l),i=a(t,e,n);return t.deleteSelf(),i.concat([s]).concat(r)}}};e.delAt=i;const a=(t,e,n)=>{if(!t.left)return new r.Spans;const a=i(t.left,e,n);return t.setLeft(t.left.balance()),a},o=(t,e,n)=>{if(!t.right)return new r.Spans;const a=i(t.right,e,n);return t.setRight(t.right.balance()),a}},7431:(t,e,n)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.fmt=void 0;const r=n(7795),i=(t,e,n)=>{const i=t.span,s=n+t.leftLength(),c=s+i.length;switch(i.compare(e)){case r.Order.Less:case r.Order.Prependable:return o(t,e,c);case r.Order.Greater:case r.Order.Appendable:return a(t,e,n);case r.Order.IncludingLeft:case r.Order.IncludingRight:case r.Order.IncludingMiddle:case r.Order.Equal:{const n=e.lowerPoint.nonce-i.lowerPoint.nonce,a=t.span.content.fmt(n,e.content);return[(0,r.NewFMTDelta)(s+n,a)]}case r.Order.RightOverlap:{const n=o(t,e,c),a=e.lowerPoint.nonce-i.lowerPoint.nonce,l=e.content.slice(0,i.upperPoint.nonce-e.lowerPoint.nonce+1),u=t.span.content.fmt(a,l);return[(0,r.NewFMTDelta)(s+a,u)].concat(n)}case r.Order.LeftOverlap:{const o=a(t,e,n),c=e.content.slice(i.lowerPoint.nonce-e.lowerPoint.nonce,e.content.length),l=t.span.content.fmt(0,c);return o.concat([(0,r.NewFMTDelta)(s,l)])}case r.Order.IncludedLeft:{const n=o(t,e,c),a=e.content.slice(0,i.length),l=t.span.content.fmt(0,a);return[(0,r.NewFMTDelta)(s,l)].concat(n)}case r.Order.IncludedRight:{const o=a(t,e,n),c=e.content.slice(e.length-i.length,e.length),l=t.span.content.fmt(0,c);return o.concat([(0,r.NewFMTDelta)(s,l)])}case r.Order.IncludedMiddle:{const l=a(t,e,n),u=o(t,e,c),h=i.lowerPoint.nonce-e.lowerPoint.nonce,d=e.content.slice(h,h+i.length),f=t.span.content.fmt(0,d);return l.concat([(0,r.NewFMTDelta)(s,f)]).concat(u)}case r.Order.Splitting:case r.Order.Splitted:default:return[]}};e.fmt=i;const a=(t,e,n)=>t.left?i(t.left,e,n):[],o=(t,e,n)=>t.right?i(t.right,e,n):[]},4635:(t,e,n)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.fmtAt=void 0;const r=n(7795),i=(t,e,n,i,c)=>{const l=t.span,u=c+t.leftLength(),h=u+l.length,d=new r.ClosedRange(u,l.length);switch(d.compare(e)){case r.Order.Less:case r.Order.Prependable:return o(t,e,n,i,h);case r.Order.Greater:case r.Order.Appendable:return a(t,e,n,i,c);case r.Order.IncludingLeft:case r.Order.IncludingRight:case r.Order.IncludingMiddle:case r.Order.Equal:{const r=e.lower-d.lower,a=e.length,o=t.span.content.fmtAt(r,a,n,i);return[s(t.span.lowerPoint.offset(r),a,o)]}case r.Order.RightOverlap:{const r=o(t,e,n,i,h),a=e.lower-d.lower,c=d.length-a,l=t.span.content.fmtAt(a,c,n,i);return[s(t.span.lowerPoint.offset(a),c,l)].concat(r)}case r.Order.LeftOverlap:{const r=a(t,e,n,i,c),o=e.upper-d.lower+1,l=t.span.content.fmtAt(0,o,n,i);return r.concat([s(t.span.lowerPoint,o,l)])}case r.Order.IncludedLeft:{const r=o(t,e,n,i,h),a=d.length,c=t.span.content.fmtAt(0,a,n,i);return[s(t.span.lowerPoint,a,c)].concat(r)}case r.Order.IncludedRight:{const r=a(t,e,n,i,c),o=d.length,l=t.span.content.fmtAt(0,o,n,i);return r.concat([s(t.span.lowerPoint,o,l)])}case r.Order.IncludedMiddle:{const r=a(t,e,n,i,c),l=o(t,e,n,i,h),u=d.length,f=t.span.content.fmtAt(0,u,n,i);return r.concat([s(t.span.lowerPoint,u,f)]).concat(l)}}};e.fmtAt=i;const a=(t,e,n,r,a)=>t.left?i(t.left,e,n,r,a):[],o=(t,e,n,r,a)=>t.right?i(t.right,e,n,r,a):[],s=(t,e,n)=>new r.Span(t,new r.FMTContent(e,n))},644:(t,e,n)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.adjacentOffsets=e.adjacentPoints=e.pointAt=e.modAt=e.mod=e.fmtAt=e.fmt=e.delAt=e.del=e.insAt=e.ins=void 0;const r=n(2107);Object.defineProperty(e,"ins",{enumerable:!0,get:function(){return r.ins}});const i=n(3457);Object.defineProperty(e,"insAt",{enumerable:!0,get:function(){return i.insAt}});const a=n(3437);Object.defineProperty(e,"del",{enumerable:!0,get:function(){return a.del}});const o=n(2945);Object.defineProperty(e,"delAt",{enumerable:!0,get:function(){return o.delAt}});const s=n(7431);Object.defineProperty(e,"fmt",{enumerable:!0,get:function(){return s.fmt}});const c=n(4635);Object.defineProperty(e,"fmtAt",{enumerable:!0,get:function(){return c.fmtAt}});const l=n(3581);Object.defineProperty(e,"mod",{enumerable:!0,get:function(){return l.mod}});const u=n(2988);Object.defineProperty(e,"modAt",{enumerable:!0,get:function(){return u.modAt}});const h=n(3292);Object.defineProperty(e,"pointAt",{enumerable:!0,get:function(){return h.pointAt}});const d=n(9507);Object.defineProperty(e,"adjacentPoints",{enumerable:!0,get:function(){return d.adjacentPoints}});const f=n(7086);Object.defineProperty(e,"adjacentOffsets",{enumerable:!0,get:function(){return f.adjacentOffsets}})},2107:(t,e,n)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.ins=void 0;const r=n(7795),i=(t,e,n)=>{const i=t.span,s=n+t.leftLength(),c=s+i.length;switch(i.compare(e)){case r.Order.Less:return o(t,e,c);case r.Order.Greater:return a(t,e,n);case r.Order.Prependable:{const n=o(t,e,c);return t.mergeRight(),n}case r.Order.Appendable:{const r=a(t,e,n);return t.mergeLeft(),r}case r.Order.Splitted:{const[n,a]=i.splitWith(e);t.insertPredecessor(n),t.setSpan(e);const o=s+n.length;return t.insertSuccessor(a),[(0,r.NewINSDelta)(o,e.content)]}case r.Order.Splitting:{const[r,s]=e.splitWith(i),l=o(t,s,c),u=a(t,r,n);return l.concat(u)}case r.Order.RightOverlap:case r.Order.LeftOverlap:case r.Order.IncludingLeft:case r.Order.IncludingMiddle:case r.Order.IncludingRight:case r.Order.IncludedLeft:case r.Order.IncludedMiddle:case r.Order.IncludedRight:case r.Order.Equal:default:throw new Error("no-dup-insion")}};e.ins=i;const a=(t,e,n)=>{if(t.left){const r=i(t.left,e,n);return t.setLeft(t.left.balance()),r}return t.setLeft(new r.TextNode(e)),[(0,r.NewINSDelta)(n,e.content)]},o=(t,e,n)=>{if(t.right){const r=i(t.right,e,n);return t.setRight(t.right.balance()),r}return t.setRight(new r.TextNode(e)),[(0,r.NewINSDelta)(n,e.content)]}},3457:(t,e,n)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.insAt=void 0;const r=n(2107),i=(t,e,n,i,s)=>{var c,l;const u=t.span,h=t.leftLength(),d=h+u.length;if(e{if(t.left){const o=i(t.left,e,n,r,a);return t.setLeft(t.left.balance()),o}return i(t,0,n,r,a)},o=(t,e,n,r,a)=>{if(t.right){const o=i(t.right,e,n,r,a);return t.setRight(t.right.balance()),o}const o=t.leftLength()+t.span.length;return i(t,o,n,r,a)}},3581:(t,e,n)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.mod=void 0;const r=n(7795),i=(t,e,n)=>{const i=t.span,s=n+t.leftLength(),c=s+i.length;switch(i.compare(e)){case r.Order.Less:case r.Order.Prependable:return o(t,e,c);case r.Order.Greater:case r.Order.Appendable:return a(t,e,n);case r.Order.IncludingLeft:case r.Order.IncludingRight:case r.Order.IncludingMiddle:case r.Order.Equal:{const n=e.lowerPoint.nonce-i.lowerPoint.nonce;return t.span.content.mod(n,e.content),[(0,r.NewMODDelta)(s+n,e.content.text)]}case r.Order.RightOverlap:{const n=o(t,e,c),a=e.lowerPoint.nonce-i.lowerPoint.nonce,l=e.content.slice(0,i.upperPoint.nonce-e.lowerPoint.nonce+1);return t.span.content.mod(a,l),[(0,r.NewMODDelta)(s+a,l.text)].concat(n)}case r.Order.LeftOverlap:{const o=a(t,e,n),c=e.content.slice(i.lowerPoint.nonce-e.lowerPoint.nonce,e.content.length);return t.span.content.mod(0,c),o.concat([(0,r.NewMODDelta)(s,c.text)])}case r.Order.IncludedLeft:{const n=o(t,e,c),a=e.content.slice(0,i.length);return t.span.content.mod(0,a),[(0,r.NewMODDelta)(s,a.text)].concat(n)}case r.Order.IncludedRight:{const o=a(t,e,n),c=e.content.slice(e.length-i.length,e.length);return t.span.content.mod(0,c),o.concat([(0,r.NewMODDelta)(s,c.text)])}case r.Order.IncludedMiddle:{const l=a(t,e,n),u=o(t,e,c),h=i.lowerPoint.nonce-e.lowerPoint.nonce,d=e.content.slice(h,h+i.length);return t.span.content.mod(0,d),l.concat([(0,r.NewMODDelta)(s,d.text)]).concat(u)}case r.Order.Splitting:case r.Order.Splitted:default:return[]}};e.mod=i;const a=(t,e,n)=>t.left?i(t.left,e,n):[],o=(t,e,n)=>t.right?i(t.right,e,n):[]},2988:(t,e,n)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.modAt=void 0;const r=n(7795),i=(t,e,n,i)=>{const c=t.span,l=i+t.leftLength(),u=l+c.length,h=new r.ClosedRange(l,c.length);switch(h.compare(e)){case r.Order.Less:case r.Order.Prependable:return o(t,e,n,u);case r.Order.Greater:case r.Order.Appendable:return a(t,e,n,i);case r.Order.IncludingLeft:case r.Order.IncludingRight:case r.Order.IncludingMiddle:case r.Order.Equal:{const r=e.lower-h.lower;return t.span.content.mod(r,n),[s(t.span.lowerPoint.offset(r),n)]}case r.Order.RightOverlap:{const r=o(t,e,n,u),i=e.lower-h.lower,a=n.slice(0,h.upper-e.lower+1);return t.span.content.mod(i,a),[s(t.span.lowerPoint.offset(i),a)].concat(r)}case r.Order.LeftOverlap:{const r=a(t,e,n,i),o=n.slice(h.lower-e.lower,e.length);return t.span.content.mod(0,o),r.concat([s(t.span.lowerPoint,o)])}case r.Order.IncludedLeft:{const r=o(t,e,n,u),i=n.slice(0,h.length);return t.span.content.mod(0,i),[s(t.span.lowerPoint,i)].concat(r)}case r.Order.IncludedRight:{const r=a(t,e,n,i),o=n.slice(e.length-h.length,e.length);return t.span.content.mod(0,o),r.concat([s(t.span.lowerPoint,o)])}case r.Order.IncludedMiddle:{const r=a(t,e,n,i),c=o(t,e,n,u),l=n.slice(h.lower-e.lower,h.upper-e.lower+1);return t.span.content.mod(0,l),r.concat([s(t.span.lowerPoint,l)]).concat(c)}}};e.modAt=i;const a=(t,e,n,r)=>t.left?i(t.left,e,n,r):[],o=(t,e,n,r)=>t.right?i(t.right,e,n,r):[],s=(t,e)=>new r.Span(t,e)},3292:(t,e)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.pointAt=void 0;const n=(t,e)=>{const r=t.leftLength();if(e{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.Attributes=void 0;const r=n(7795),i=n(363);class a{constructor(t){this.leaves=t}concat(t,e=!1){const n=this.leaves.length,r=this.leaves.concat(t.leaves).map((t=>t.clone(e))),i=r[n-1],o=r[n];return i&&o&&i.equalsExceptForLength(o)&&(i.length=i.length+o.length,r.splice(n,1)),new a(r)}slice(t,e){if(e-t<1)return a.decode([]);const n=this.leaves.map((t=>t.clone()));let r=n[0].length;for(;r<=t;)n.shift(),r+=n[0].length;n[0].length=r-t;let i=0;for(;re&&(n[i].length-=r-e),new a(n.slice(0,i+1))}apply(t,e){this.leaves=this.leaves.reduce(((n,r)=>{if(r.apply(t,e),n.length<1)return n.concat(r);const i=n[n.length-1];return i.equalsExceptForLength(r)?(i.length+=r.length,n):n.concat(r)}),[])}merge(t){const e=[];let n=0,a=0,o=this.leaves[n],s=t.leaves[a],c=o.length,l=s.length;for(;c>0;){let u,h,d;(0,r.checkIfNewerStamp)(o.stamp,s.stamp)?(u=s.props,h=s.stamp):(u=o.props,h=o.stamp),d=ct.clone())))}encode(){return this.leaves.map((t=>t.encode()))}static decode(t){return new a(t.map((t=>new i.Leaf(...t))))}}e.Attributes=a},4755:(t,e,n)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.Leaf=e.Attributes=void 0;const r=n(8045);Object.defineProperty(e,"Attributes",{enumerable:!0,get:function(){return r.Attributes}});const i=n(363);Object.defineProperty(e,"Leaf",{enumerable:!0,get:function(){return i.Leaf}})},363:(t,e)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.Leaf=void 0;class n{constructor(t,e,n){this.length=t,this.props=e,this.stamp=n}clone(t=!1){return new n(this.length,this.props&&Object.assign({},this.props),t?void 0:this.stamp&&[this.stamp[0],this.stamp[1]])}equalsExceptForLength(t){if(!this.props!=!t.props)return!1;if(!this.stamp!=!t.stamp)return!1;if(this.stamp&&!r(this.stamp,t.stamp))return!1;if(!this.props)return!0;const e=i(this.props),n=i(t.props);return e.length===n.length&&n.every((e=>this.props[e]===t.props[e]))}apply(t,e){const n=this.props||{};i(t).forEach((e=>{null===t[e]?delete n[e]:n[e]=t[e]})),this.props=Object.keys(n).length<1?void 0:n,this.stamp=e}encode(){return this.stamp?[this.length,this.props,this.stamp]:this.props?[this.length,this.props]:[this.length]}static decode(t){return new n(...t)}}e.Leaf=n;const r=(t,e)=>t[0]===e[0]&&t[1]===e[1],i=t=>Object.keys(t)},9135:(t,e,n)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.DELContent=void 0;const r=n(7795);class i{constructor(t){this.length=t}slice(t,e){return new i((0,r.validated)(e-t))}concat(t){return new i((0,r.validated)(this.length+t.length))}encode(){return this.length}static decode(t){return new i(t)}}e.DELContent=i},6794:(t,e,n)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.FMTContent=void 0;const r=n(7795),i=n(4755);class a{constructor(t,e){this.length=t,this.attributes=e}slice(t,e){return new a((0,r.validated)(e-t),this.attributes.slice(t,e))}concat(t){return new a((0,r.validated)(this.length+t.length),this.attributes.concat(t.attributes))}encode(){return[this.length,this.attributes.encode()]}static decode(t){return new a(t[0],i.Attributes.decode(t[1]))}}e.FMTContent=a},2958:(t,e,n)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.Leaf=e.Attributes=e.MODContent=e.FMTContent=e.DELContent=e.INSContent=void 0;const r=n(4755);Object.defineProperty(e,"Attributes",{enumerable:!0,get:function(){return r.Attributes}}),Object.defineProperty(e,"Leaf",{enumerable:!0,get:function(){return r.Leaf}});const i=n(6691);Object.defineProperty(e,"INSContent",{enumerable:!0,get:function(){return i.INSContent}});const a=n(9135);Object.defineProperty(e,"DELContent",{enumerable:!0,get:function(){return a.DELContent}});const o=n(6794);Object.defineProperty(e,"FMTContent",{enumerable:!0,get:function(){return o.FMTContent}});const s=n(493);Object.defineProperty(e,"MODContent",{enumerable:!0,get:function(){return s.MODContent}})},6691:(t,e,n)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.INSContent=void 0;const r=n(4755);class i{constructor(t,e){this.text=e,this.attributes=t}get length(){return null==this.text?1:this.text.length}isMeta(){return null==this.text}slice(t,e=this.length){if(this.isMeta())throw new Error("no-split-meta-content");const n=this.text.slice(t,e),r=this.attributes.slice(t,e);return new i(r,n)}concat(t,e=!1){if(this.isMeta()||t.isMeta())throw new Error("no-concat-meta-content");const n=this.text.concat(t.text),r=this.attributes.concat(t.attributes,e);return new i(r,n)}fmt(t,e){const n=this.attributes,r=n.slice(0,t),i=n.slice(t,t+e.length),a=n.slice(t+e.length,this.length);return i.merge(e.attributes),this.attributes=r.concat(i).concat(a),i}fmtAt(t,e,n,r){const i=this.attributes,a=i.slice(0,t),o=i.slice(t,t+e),s=i.slice(t+e,this.length);return o.apply(n,r),this.attributes=a.concat(o).concat(s),o}mod(t,e){if(this.isMeta())throw new Error("no-updatable");const n=this.text,r=n.slice(0,t),i=n.slice(t+e.length,this.length);if(n.length-r.length-i.length!==e.length)throw new Error("no-updatable");this.text=r.concat(e.text).concat(i)}toTextWithMetaPlaceholder(){return this.text||" "}clone(){return new i(this.attributes.clone(),this.text)}encode(){return this.isMeta()?[this.attributes.encode()]:[this.attributes.encode(),this.text]}static decode(t){return new i(r.Attributes.decode(t[0]),t[1])}static from(t,e,n){return new i(r.Attributes.decode([[(null==t?void 0:t.length)||1,e,n]]),t)}}e.INSContent=i},493:(t,e)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.MODContent=void 0;class n{constructor(t){this.text=t}get length(){return this.text.length}slice(t,e){const r=this.text.slice(t,e);return new n(r)}concat(t){const e=this.text.concat(t.text);return new n(e)}encode(){return this.text}static decode(t){return new n(t)}}e.MODContent=n},7205:function(t,e,n){"use strict";var r=this&&this.__createBinding||(Object.create?function(t,e,n,r){void 0===r&&(r=n);var i=Object.getOwnPropertyDescriptor(e,n);i&&!("get"in i?!e.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return e[n]}}),Object.defineProperty(t,r,i)}:function(t,e,n,r){void 0===r&&(r=n),t[r]=e[n]}),i=this&&this.__exportStar||function(t,e){for(var n in t)"default"===n||Object.prototype.hasOwnProperty.call(e,n)||r(e,t,n)};Object.defineProperty(e,"__esModule",{value:!0}),i(n(7146),e),i(n(1342),e),i(n(2958),e),i(n(6722),e)},7146:function(t,e,n){"use strict";var r=this&&this.__createBinding||(Object.create?function(t,e,n,r){void 0===r&&(r=n);var i=Object.getOwnPropertyDescriptor(e,n);i&&!("get"in i?!e.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return e[n]}}),Object.defineProperty(t,r,i)}:function(t,e,n,r){void 0===r&&(r=n),t[r]=e[n]}),i=this&&this.__exportStar||function(t,e){for(var n in t)"default"===n||Object.prototype.hasOwnProperty.call(e,n)||r(e,t,n)};Object.defineProperty(e,"__esModule",{value:!0}),e.Span=void 0;const a=n(5925);Object.defineProperty(e,"Span",{enumerable:!0,get:function(){return a.Span}}),i(n(5190),e)},5925:(t,e,n)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.Span=void 0;const r=n(7795);class i{constructor(t,e){if(e.length<1)throw new Error("no-empty-content");this.lowerPoint=t,this.content=e}get length(){return this.content.length}get replicaID(){return this.lowerPoint.replicaID}get upperPoint(){return this.nthPoint(this.length-1)}nthPoint(t){return this.lowerPoint.offset(t)}seqs(){return new r.ClosedRange(this.lowerPoint.nonce,this.length)}compare(t){const e=this.lowerPoint.compareBase(t.lowerPoint);switch(e){case r.Order.Less:case r.Order.Greater:return e;case r.Order.Equal:return this.seqs().compare(t.seqs());case r.Order.Tagged:{const[e,n]=this.lowerPoint.distanceFrom(t.lowerPoint);return n===r.Order.Greater?n:e>=this.length-1?r.Order.Less:r.Order.Splitted}case r.Order.Tagging:{const[e,n]=this.lowerPoint.distanceFrom(t.lowerPoint);return n===r.Order.Less?n:e>=t.length-1?r.Order.Greater:r.Order.Splitting}}}toDELSpan(){return new i(this.lowerPoint,new r.DELContent(this.length))}append(t){return new i(this.lowerPoint,this.content.concat(t.content))}leftSplitAt(t){const e=this.content.slice(0,t);return new i(this.lowerPoint,e)}rightSplitAt(t){const e=this.content.slice(t,this.length),n=this.nthPoint(t);return new i(n,e)}splitAt(t){return[this.leftSplitAt(t),this.rightSplitAt(t)]}splitWith(t){const[e]=this.lowerPoint.distanceFrom(t.lowerPoint);return this.splitAt(e+1)}getAppendableSegmentTo(t){const[e,n]=this.lowerPoint.distanceFrom(t.lowerPoint);if(n===r.Order.Less)return this.rightSplitAt(t.length+e);const i=t.length-e;if(i<0)throw new Error("un-appendable");return this.rightSplitAt(i)}getPrependableSegmentTo(t){const[e,n]=this.lowerPoint.distanceFrom(t.lowerPoint);if(n!==r.Order.Less||e>this.length)throw new Error("un-prependable");return this.leftSplitAt(e)}intersection(t){switch(this.compare(t)){case r.Order.Splitted:case r.Order.Less:case r.Order.Prependable:case r.Order.Appendable:case r.Order.Greater:case r.Order.Splitting:throw new Error("no-intersection")}const[e,n]=this.lowerPoint.distanceFrom(t.lowerPoint);let a,o;if(n===r.Order.Less){const n=Math.min(this.length-e,t.length);o=this.content.slice(e,e+n),a=t.lowerPoint}else{const n=Math.min(t.length-e,this.length);o=this.content.slice(0,n),a=this.lowerPoint}return new i(a,o)}clone(){return new i(this.lowerPoint.clone(),this.content.clone())}encode(){return[this.lowerPoint.encode(),this.content.encode()]}static decodeText(t){return new i(r.Point.decode(t[0]),r.INSContent.decode([[[t[1].length]],t[1]]))}}e.Span=i},5190:(t,e,n)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.Spans=void 0;const r=n(7795);class i extends Array{concat(t){return new i(...this,...t)}splitAt(t){if(0===t)return[new i,this];const e=new i,n=new i;let r=t,a=0;for(;ar){const[t,i]=this[a].splitAt(r);e.push(t),n.push(i);break}if(e.push(this[a]),t===r)break;r-=t}return[e,n.concat(this.slice(a+1))]}toINSContent(){if(0!==this.length)return this.reduce(((t,e)=>t.concat(e.content,!0)),new r.INSContent(new r.Attributes([]),""))}toDELSpans(){return this.map((t=>t.toDELSpan()))}textLength(){return this.reduce(((t,e)=>t+e.length),0)}toString(){return this.reduce(((t,e)=>t.concat(e.content.toTextWithMetaPlaceholder())),"")}}e.Spans=i},6722:function(t,e,n){"use strict";var r=this&&this.__createBinding||(Object.create?function(t,e,n,r){void 0===r&&(r=n);var i=Object.getOwnPropertyDescriptor(e,n);i&&!("get"in i?!e.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return e[n]}}),Object.defineProperty(t,r,i)}:function(t,e,n,r){void 0===r&&(r=n),t[r]=e[n]}),i=this&&this.__setModuleDefault||(Object.create?function(t,e){Object.defineProperty(t,"default",{enumerable:!0,value:e})}:function(t,e){t.default=e}),a=this&&this.__importStar||function(t){if(t&&t.__esModule)return t;var e={};if(null!=t)for(var n in t)"default"!==n&&Object.prototype.hasOwnProperty.call(t,n)&&r(e,t,n);return i(e,t),e};Object.defineProperty(e,"__esModule",{value:!0}),e.Text=void 0;const o=n(7795),s=n(7146),c=n(1342),l=a(n(644));class u{constructor(t){this.textNode=t}spans(){var t;return(null===(t=this.textNode)||void 0===t?void 0:t.spans())||new s.Spans}subSpans(t,e){const[n]=this.spans().splitAt(e),[,r]=n.splitAt(t);return r}length(){return this.spans().textLength()}toString(){return this.spans().toString()}ins(t){if(this.textNode){const e=l.ins(this.textNode,t,0);return this.textNode=this.textNode.balance(),e}return this.textNode=new c.TextNode(t),[{index:0,content:t.content}]}del(t){if(this.textNode){const e=l.del(this.textNode,t,0);return this.textNode=this.textNode.balance(),e}return[]}fmt(t){return this.textNode?l.fmt(this.textNode,t,0):[]}mod(t){return this.textNode?l.mod(this.textNode,t,0):[]}insAt(t,e,n,r){if(this.textNode){const i=l.insAt(this.textNode,t,e,n,r);return this.textNode=this.textNode.balance(),i}const i=r.spanFor(n.replicaID,e);return this.textNode=new c.TextNode(i),i}fmtAt(t,e,n,r){if(this.textNode){const i=new o.ClosedRange(t,e);return l.fmtAt(this.textNode,i,n,r,0)}return[]}delAt(t,e){if(this.textNode){const n=new o.ClosedRange(t,e),r=l.delAt(this.textNode,n,0);return this.textNode=this.textNode.balance(),r.length>0?r:void 0}}pointAt(t){if(this.textNode)return l.pointAt(this.textNode,t)}encode(){var t;return(null===(t=this.textNode)||void 0===t?void 0:t.encode())||[]}static decode(t){return new u(t.length?c.TextNode.decode(t):void 0)}}e.Text=u},1342:(t,e,n)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.TextNode=void 0;const r=n(3379);Object.defineProperty(e,"TextNode",{enumerable:!0,get:function(){return r.TextNode}})},3379:(t,e,n)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.TextNode=void 0;const r=n(7795);class i{constructor(t,e,n){this.span=t,this.left=e,this.right=n,this.rank=0,this.length=0,this.shouldBeDeleted=!1,this.update()}leftLength(){return o(this.left)}minSpan(){return this.left?this.left.minSpan():this.span}maxSpan(){return this.right?this.right.maxSpan():this.span}predecessorSpan(){return this.left?this.left.maxSpan():void 0}successorSpan(){return this.right?this.right.minSpan():void 0}spans(){let t=new r.Spans;return this.left&&(t=t.concat(this.left.spans())),t.push(this.span),this.right&&(t=t.concat(this.right.spans())),t}setLeft(t){this.left=t,this.update()}setRight(t){this.right=t,this.update()}setSpan(t){const e=t.length-this.span.length;this.span=t,this.length+=e}balance(){if(this.shouldBeDeleted)return;let t=this;for(;t.isRightUnbalanced();)t=t.rotateLeft();for(;t.isLeftUnbalanced();)t.left.isRightOriented()&&t.setLeft(t.left.rotateLeft()),t=t.rotateRight();return t}insertPredecessor(t){const e=this.left?this.left.insertMAX(t):new i(t);this.setLeft(e)}insertSuccessor(t){const e=this.right?this.right.insertMIN(t):new i(t);this.setRight(e)}insertMIN(t){const e=this.left?this.left.insertMIN(t):new i(t);return this.setLeft(e),this.balance()}insertMAX(t){const e=this.right?this.right.insertMAX(t):new i(t);return this.setRight(e),this.balance()}deletePredecessor(){this.left&&this.setLeft(this.left.deleteMAX())}deleteSuccessor(){this.right&&this.setRight(this.right.deleteMIN())}deleteMIN(){return this.left?(this.setLeft(this.left.deleteMIN()),this.balance()):this.right}deleteMAX(){return this.right?(this.setRight(this.right.deleteMAX()),this.balance()):this.left}deleteSelf(){const t=this.successorSpan();if(t)return this.deleteSuccessor(),this.setSpan(t),void this.mergeLeft();const e=this.predecessorSpan();if(e)return this.deletePredecessor(),void this.setSpan(e);this.shouldBeDeleted=!0}mergeLeft(){const t=this.span;if(t.content.isMeta())return;const e=this.predecessorSpan();e&&!e.content.isMeta()&&e.compare(t)===r.Order.Prependable&&(this.deletePredecessor(),this.setSpan(e.append(t)))}mergeRight(){const t=this.span;if(t.content.isMeta())return;const e=this.successorSpan();e&&!e.content.isMeta()&&e.compare(t)===r.Order.Appendable&&(this.deleteSuccessor(),this.setSpan(t.append(e)))}encode(){return this.spans().map((t=>t.encode()))}static decode(t){if(t)return i.fromSpans(t.map((t=>new r.Span(r.Point.decode(t[0]),r.INSContent.decode(t[1])))))}static fromSpans(t){if(0===t.length)return;const e=t.length,n=Math.floor(e/2);let r,a;n>0&&(r=i.fromSpans(t.slice(0,n)));const o=t[n];return n1}isRightOriented(){return 1===this.balanceFactor()}isLeftUnbalanced(){return this.balanceFactor()<-1}rotateLeft(){const t=this.right;return this.setRight(t.left),t.setLeft(this),t}rotateRight(){const t=this.left;return this.setLeft(t.right),t.setRight(this),t}}e.TextNode=i;const a=t=>t?t.rank:0,o=t=>t?t.length:0},7103:(t,e,n)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.Replica=void 0;const r=n(7795);class i{constructor(t,e){this.contributor=t,this.blocks=e,this.blockChildren=a(e)}get replicaID(){return this.contributor.replicaID}block(t){return this.blocks[t]}childBlocks(t,e){const n=this.blockChildren[t]||[];return e?n:n.filter((t=>!t.isDeleted))}findBlock(t){return Object.values(this.blocks).find(t)}prevSiblingBlock(t,e=!1){const n=this.siblingBlocks(t,e);if(!n)return null;const[r,i]=n;return i<1?null:r[i-1]}nextSiblingBlock(t,e=!1){const n=this.siblingBlocks(t,e);if(!n)return null;const[r,i]=n;return i===r.length-1?null:r[i+1]}prevBlock(t,e=!1){let n=this.prevSiblingBlock(t,e);if(!n){const e=this.blocks[t];return e.parentBlockID&&this.blocks[e.parentBlockID]||null}let r=this.childBlocks(n.blockID,e);for(;null==r?void 0:r.length;)n=r[r.length-1],r=this.childBlocks(n.blockID,e);return n}nextBlock(t,e=!1){const n=this.childBlocks(t,e)[0];if(n)return n;const r=this.nextSiblingBlock(t,e);if(r)return r;let i=t,a=null;for(;!a;){if(i=this.block(i).parentBlockID,!i)return null;a=this.nextSiblingBlock(i)}return a}genNewStamp(){return[this.replicaID,Math.floor(Date.now())]}replaceBlock(t){var e;(null===(e=this.blocks[t.blockID])||void 0===e?void 0:e.parentBlockID)&&this.removeFromParentBlock(this.block(t.blockID)),this.blocks[t.blockID]=t,this.addToParentBlock(t)}addToParentBlock(t){if(!t.parentBlockID)return;let e=this.blockChildren[t.parentBlockID];if(e||(e=[],this.blockChildren[t.parentBlockID]=e),e.find((e=>e.blockID===t.blockID)))return;let n=e.findIndex((e=>e.point.compare(t.point)===r.Order.Greater));n<0&&(n=e.length),e.splice(n,0,t)}removeFromParentBlock(t,e=void 0){const n=this.blocks[null!=e?e:t.parentBlockID],r=this.blockChildren[n.blockID];this.blockChildren[n.blockID]=r.filter((e=>!e.point.equals(t.point)))}siblingBlocks(t,e){const n=this.blocks[t];if(!n.parentBlockID)return null;const r=this.childBlocks(n.parentBlockID,e),i=r.findIndex((t=>t.blockID===n.blockID));return[r,i]}genIdentifier(t){return`${this.replicaID}-${t}`}genPointBetween(t,e,n,i){return(0,r.genPointBetween)(this.replicaID,t,e,n,i)}genBlockPoint(t,e){return this.contributor.blockPointBetween(t,e)}genSpanFor(t,e){return t.spanFor(this.contributor.replicaID,e)}subSpans(t,e,n){var i;return(null===(i=this.blocks[t].text)||void 0===i?void 0:i.subSpans(e,n))||new r.Spans}stringify(t){var e;return(null===(e=this.blocks[t].text)||void 0===e?void 0:e.toString())||""}pointAt(t,e){var n;return null===(n=this.blocks[t].text)||void 0===n?void 0:n.pointAt(e)}insBlock(t){let e;return e=this.blocks[t.blockID],e||(e=t,this.blocks[e.blockID]=e),this.addToParentBlock(e),!0}delBlock(t,e){const n=this.blocks[t],r=n.del(e);if(r)return e.isDeleted?this.removeFromParentBlock(n):this.addToParentBlock(n),r}movBlock(t,e){const n=this.blocks[t],r=n.mov(e);if(r)return this.removeFromParentBlock(n,r.from.parentBlockID),this.addToParentBlock(n),r}setBlock(t,e){return this.blocks[t].set(e)}insText(t,e){return this.blocks[t].insText(e)}delText(t,e){return this.blocks[t].delText(e)}fmtText(t,e){return this.blocks[t].fmtText(e)}modText(t,e){return this.blocks[t].modText(e)}insTextAt(t,e){return this.blocks[t].insTextAt(e)}delTextAt(t,e){return this.blocks[t].delTextAt(e)}fmtTextAt(t,e){return this.blocks[t].fmtTextAt(e)}encode(){return{replicaID:this.replicaID,blocks:Object.values(this.blocks).map((t=>t.encode()))}}static decode(t){const e={},n=t.replicaID;let a=0;return t.blocks.forEach((t=>{const i=r.Block.decode(t);if(e[t[0]]=r.Block.decode(t),i.point.replicaID===n){const t=i.point.nonce;t>a&&(a=t)}})),new i(new r.Contributor(n,a),e)}}e.Replica=i;const a=t=>{const e={},n=Object.keys(t),i=new Set;return n.forEach((n=>{const r=t[n],a=r.parentBlockID;if(!a)return;i.add(a);let o=e[a];o||(o=[],e[a]=o),o.push(r)})),i.forEach((t=>{e[t].sort(((t,e)=>{switch(t.point.compare(e.point)){case r.Order.Less:return-1;case r.Order.Greater:return 1;default:return 0}}))})),e}},2649:function(t,e,n){"use strict";var r=this&&this.__createBinding||(Object.create?function(t,e,n,r){void 0===r&&(r=n);var i=Object.getOwnPropertyDescriptor(e,n);i&&!("get"in i?!e.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return e[n]}}),Object.defineProperty(t,r,i)}:function(t,e,n,r){void 0===r&&(r=n),t[r]=e[n]}),i=this&&this.__exportStar||function(t,e){for(var n in t)"default"===n||Object.prototype.hasOwnProperty.call(e,n)||r(e,t,n)};Object.defineProperty(e,"__esModule",{value:!0}),i(n(7795),e),i(n(7103),e)},2684:(t,e)=>{function n(t){return n="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},n(t)}function r(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:468,e=window,r=document;if(!("scrollBehavior"in r.documentElement.style)||!0===e.__forceSmoothScrollPolyfill__){var i,a=e.HTMLElement||e.Element,o=t,s={scroll:e.scroll||e.scrollTo,scrollBy:e.scrollBy,elementScroll:a.prototype.scroll||u,scrollIntoView:a.prototype.scrollIntoView},c=e.performance&&e.performance.now?e.performance.now.bind(e.performance):Date.now,l=(i=e.navigator.userAgent,new RegExp(["MSIE ","Trident/","Edge/"].join("|")).test(i)?1:0);e.scroll=e.scrollTo=function(){void 0!==arguments[0]&&(!0!==h(arguments[0])?b.call(e,r.body,void 0!==arguments[0].left?~~arguments[0].left:e.scrollX||e.pageXOffset,void 0!==arguments[0].top?~~arguments[0].top:e.scrollY||e.pageYOffset):s.scroll.call(e,void 0!==arguments[0].left?arguments[0].left:"object"!==n(arguments[0])?arguments[0]:e.scrollX||e.pageXOffset,void 0!==arguments[0].top?arguments[0].top:void 0!==arguments[1]?arguments[1]:e.scrollY||e.pageYOffset))},e.scrollBy=function(){void 0!==arguments[0]&&(h(arguments[0])?s.scrollBy.call(e,void 0!==arguments[0].left?arguments[0].left:"object"!==n(arguments[0])?arguments[0]:0,void 0!==arguments[0].top?arguments[0].top:void 0!==arguments[1]?arguments[1]:0):b.call(e,r.body,~~arguments[0].left+(e.scrollX||e.pageXOffset),~~arguments[0].top+(e.scrollY||e.pageYOffset)))},a.prototype.scroll=a.prototype.scrollTo=function(){if(void 0!==arguments[0])if(!0!==h(arguments[0])){var t=arguments[0].left,e=arguments[0].top;b.call(this,this,void 0===t?this.scrollLeft:~~t,void 0===e?this.scrollTop:~~e)}else{if("number"==typeof arguments[0]&&void 0===arguments[1])throw new SyntaxError("Value could not be converted");s.elementScroll.call(this,void 0!==arguments[0].left?~~arguments[0].left:"object"!==n(arguments[0])?~~arguments[0]:this.scrollLeft,void 0!==arguments[0].top?~~arguments[0].top:void 0!==arguments[1]?~~arguments[1]:this.scrollTop)}},a.prototype.scrollBy=function(){void 0!==arguments[0]&&(!0!==h(arguments[0])?this.scroll({left:~~arguments[0].left+this.scrollLeft,top:~~arguments[0].top+this.scrollTop,behavior:arguments[0].behavior}):s.elementScroll.call(this,void 0!==arguments[0].left?~~arguments[0].left+this.scrollLeft:~~arguments[0]+this.scrollLeft,void 0!==arguments[0].top?~~arguments[0].top+this.scrollTop:~~arguments[1]+this.scrollTop))},a.prototype.scrollIntoView=function(){if(!0!==h(arguments[0])){var t=function(t){for(;t!==r.body&&!1===p(t);)t=t.parentNode||t.host;return t}(this),n=t.getBoundingClientRect(),i=this.getBoundingClientRect();t!==r.body?(b.call(this,t,t.scrollLeft+i.left-n.left,t.scrollTop+i.top-n.top),"fixed"!==e.getComputedStyle(t).position&&e.scrollBy({left:n.left,top:n.top,behavior:"smooth"})):e.scrollBy({left:i.left,top:i.top,behavior:"smooth"})}else s.scrollIntoView.call(this,void 0===arguments[0]||arguments[0])}}function u(t,e){this.scrollLeft=t,this.scrollTop=e}function h(t){if(null===t||"object"!==n(t)||void 0===t.behavior||"auto"===t.behavior||"instant"===t.behavior)return!0;if("object"===n(t)&&"smooth"===t.behavior)return!1;throw new TypeError("behavior member of ScrollOptions ".concat(t.behavior," is not a valid value for enumeration ScrollBehavior."))}function d(t,e){return"Y"===e?t.clientHeight+l1?1:s,n=.5*(1-Math.cos(Math.PI*a)),r=t.startX+(t.x-t.startX)*n,i=t.startY+(t.y-t.startY)*n,t.method.call(t.scrollable,r,i),r===t.x&&i===t.y||e.requestAnimationFrame(g.bind(e,t))}function b(t,n,i){var a,o,l,h,d=c();t===r.body?(a=e,o=e.scrollX||e.pageXOffset,l=e.scrollY||e.pageYOffset,h=s.scroll):(a=t,o=t.scrollLeft,l=t.scrollTop,h=u),g({scrollable:a,method:h,startTime:d,startX:o,startY:l,x:n,y:i})}}"object"===n(e)?t.exports={polyfill:r}:r()},7484:function(t){t.exports=function(){"use strict";var t=1e3,e=6e4,n=36e5,r="millisecond",i="second",a="minute",o="hour",s="day",c="week",l="month",u="quarter",h="year",d="date",f="Invalid Date",p=/^(\d{4})[-/]?(\d{1,2})?[-/]?(\d{0,2})[Tt\s]*(\d{1,2})?:?(\d{1,2})?:?(\d{1,2})?[.:]?(\d+)?$/,g=/\[([^\]]+)]|Y{1,4}|M{1,4}|D{1,2}|d{1,4}|H{1,2}|h{1,2}|a|A|m{1,2}|s{1,2}|Z{1,2}|SSS/g,b={name:"en",weekdays:"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),months:"January_February_March_April_May_June_July_August_September_October_November_December".split("_"),ordinal:function(t){var e=["th","st","nd","rd"],n=t%100;return"["+t+(e[(n-20)%10]||e[n]||e[0])+"]"}},m=function(t,e,n){var r=String(t);return!r||r.length>=e?t:""+Array(e+1-r.length).join(n)+t},y={s:m,z:function(t){var e=-t.utcOffset(),n=Math.abs(e),r=Math.floor(n/60),i=n%60;return(e<=0?"+":"-")+m(r,2,"0")+":"+m(i,2,"0")},m:function t(e,n){if(e.date()1)return t(o[0])}else{var s=e.name;v[s]=e,i=s}return!r&&i&&(w=i),i||!r&&w},E=function(t,e){if(_(t))return t.clone();var n="object"==typeof e?e:{};return n.date=t,n.args=arguments,new S(n)},T=y;T.l=x,T.i=_,T.w=function(t,e){return E(t,{locale:e.$L,utc:e.$u,x:e.$x,$offset:e.$offset})};var S=function(){function b(t){this.$L=x(t.locale,null,!0),this.parse(t),this.$x=this.$x||t.x||{},this[k]=!0}var m=b.prototype;return m.parse=function(t){this.$d=function(t){var e=t.date,n=t.utc;if(null===e)return new Date(NaN);if(T.u(e))return new Date;if(e instanceof Date)return new Date(e);if("string"==typeof e&&!/Z$/i.test(e)){var r=e.match(p);if(r){var i=r[2]-1||0,a=(r[7]||"0").substring(0,3);return n?new Date(Date.UTC(r[1],i,r[3]||1,r[4]||0,r[5]||0,r[6]||0,a)):new Date(r[1],i,r[3]||1,r[4]||0,r[5]||0,r[6]||0,a)}}return new Date(e)}(t),this.init()},m.init=function(){var t=this.$d;this.$y=t.getFullYear(),this.$M=t.getMonth(),this.$D=t.getDate(),this.$W=t.getDay(),this.$H=t.getHours(),this.$m=t.getMinutes(),this.$s=t.getSeconds(),this.$ms=t.getMilliseconds()},m.$utils=function(){return T},m.isValid=function(){return!(this.$d.toString()===f)},m.isSame=function(t,e){var n=E(t);return this.startOf(e)<=n&&n<=this.endOf(e)},m.isAfter=function(t,e){return E(t)0){for(a+=o,e=1;en)throw Error(b+t)}function N(t,e,n,r){var i,a,o,s;for(a=t[0];a>=10;a/=10)--e;return--e<0?(e+=D,i=0):(i=Math.ceil((e+1)/D),e%=D),a=k(10,D-e),s=t[i]%a|0,null==r?e<3?(0==e?s=s/100|0:1==e&&(s=s/10|0),o=n<4&&99999==s||n>3&&49999==s||5e4==s||0==s):o=(n<4&&s+1==a||n>3&&s+1==a/2)&&(t[i+1]/a/100|0)==k(10,e-2)-1||(s==a/2||0==s)&&0==(t[i+1]/a/100|0):e<4?(0==e?s=s/1e3|0:1==e?s=s/100|0:2==e&&(s=s/10|0),o=(r||n<4)&&9999==s||!r&&n>3&&4999==s):o=((r||n<4)&&s+1==a||!r&&n>3&&s+1==a/2)&&(t[i+1]/a/1e3|0)==k(10,e-3)-1,o}function B(t,e,n){for(var r,i,a=[0],o=0,s=t.length;on-1&&(void 0===a[r+1]&&(a[r+1]=0),a[r+1]+=a[r]/n|0,a[r]%=n)}return a.reverse()}A.absoluteValue=A.abs=function(){var t=new this.constructor(this);return t.s<0&&(t.s=1),P(t)},A.ceil=function(){return P(new this.constructor(this),this.e+1,2)},A.clampedTo=A.clamp=function(t,e){var n=this,r=n.constructor;if(t=new r(t),e=new r(e),!t.s||!e.s)return new r(NaN);if(t.gt(e))throw Error(b+e);return n.cmp(t)<0?t:n.cmp(e)>0?e:new r(n)},A.comparedTo=A.cmp=function(t){var e,n,r,i,a=this,o=a.d,s=(t=new a.constructor(t)).d,c=a.s,l=t.s;if(!o||!s)return c&&l?c!==l?c:o===s?0:!o^c<0?1:-1:NaN;if(!o[0]||!s[0])return o[0]?c:s[0]?-l:0;if(c!==l)return c;if(a.e!==t.e)return a.e>t.e^c<0?1:-1;for(e=0,n=(r=o.length)<(i=s.length)?r:i;es[e]^c<0?1:-1;return r===i?0:r>i^c<0?1:-1},A.cosine=A.cos=function(){var t,e,n=this,r=n.constructor;return n.d?n.d[0]?(t=r.precision,e=r.rounding,r.precision=t+Math.max(n.e,n.sd())+D,r.rounding=1,n=function(t,e){var n,r,i;if(e.isZero())return e;r=e.d.length,r<32?i=(1/Q(4,n=Math.ceil(r/3))).toString():(n=16,i="2.3283064365386962890625e-10");t.precision+=n,e=Z(t,1,e.times(i),new t(1));for(var a=n;a--;){var o=e.times(e);e=o.times(o).minus(o).times(8).plus(1)}return t.precision-=n,e}(r,J(r,n)),r.precision=t,r.rounding=e,P(2==s||3==s?n.neg():n,t,e,!0)):new r(1):new r(NaN)},A.cubeRoot=A.cbrt=function(){var t,e,n,r,i,a,o,s,c,l,u=this,h=u.constructor;if(!u.isFinite()||u.isZero())return new h(u);for(p=!1,(a=u.s*k(u.s*u,1/3))&&Math.abs(a)!=1/0?r=new h(a.toString()):(n=O(u.d),(a=((t=u.e)-n.length+1)%3)&&(n+=1==a||-2==a?"0":"00"),a=k(n,1/3),t=v((t+1)/3)-(t%3==(t<0?-1:2)),(r=new h(n=a==1/0?"5e"+t:(n=a.toExponential()).slice(0,n.indexOf("e")+1)+t)).s=u.s),o=(t=h.precision)+3;;)if(l=(c=(s=r).times(s).times(s)).plus(u),r=L(l.plus(u).times(s),l.plus(c),o+2,1),O(s.d).slice(0,o)===(n=O(r.d)).slice(0,o)){if("9999"!=(n=n.slice(o-3,o+1))&&(i||"4999"!=n)){+n&&(+n.slice(1)||"5"!=n.charAt(0))||(P(r,t+1,1),e=!r.times(r).times(r).eq(u));break}if(!i&&(P(s,t+1,0),s.times(s).times(s).eq(u))){r=s;break}o+=4,i=1}return p=!0,P(r,t,h.rounding,e)},A.decimalPlaces=A.dp=function(){var t,e=this.d,n=NaN;if(e){if(n=((t=e.length-1)-v(this.e/D))*D,t=e[t])for(;t%10==0;t/=10)n--;n<0&&(n=0)}return n},A.dividedBy=A.div=function(t){return L(this,new this.constructor(t))},A.dividedToIntegerBy=A.divToInt=function(t){var e=this.constructor;return P(L(this,new e(t),0,1,1),e.precision,e.rounding)},A.equals=A.eq=function(t){return 0===this.cmp(t)},A.floor=function(){return P(new this.constructor(this),this.e+1,3)},A.greaterThan=A.gt=function(t){return this.cmp(t)>0},A.greaterThanOrEqualTo=A.gte=function(t){var e=this.cmp(t);return 1==e||0===e},A.hyperbolicCosine=A.cosh=function(){var t,e,n,r,i,a=this,o=a.constructor,s=new o(1);if(!a.isFinite())return new o(a.s?1/0:NaN);if(a.isZero())return s;n=o.precision,r=o.rounding,o.precision=n+Math.max(a.e,a.sd())+4,o.rounding=1,(i=a.d.length)<32?e=(1/Q(4,t=Math.ceil(i/3))).toString():(t=16,e="2.3283064365386962890625e-10"),a=Z(o,1,a.times(e),new o(1),!0);for(var c,l=t,u=new o(8);l--;)c=a.times(a),a=s.minus(c.times(u.minus(c.times(u))));return P(a,o.precision=n,o.rounding=r,!0)},A.hyperbolicSine=A.sinh=function(){var t,e,n,r,i=this,a=i.constructor;if(!i.isFinite()||i.isZero())return new a(i);if(e=a.precision,n=a.rounding,a.precision=e+Math.max(i.e,i.sd())+4,a.rounding=1,(r=i.d.length)<3)i=Z(a,2,i,i,!0);else{t=(t=1.4*Math.sqrt(r))>16?16:0|t,i=Z(a,2,i=i.times(1/Q(5,t)),i,!0);for(var o,s=new a(5),c=new a(16),l=new a(20);t--;)o=i.times(i),i=i.times(s.plus(o.times(c.times(o).plus(l))))}return a.precision=e,a.rounding=n,P(i,e,n,!0)},A.hyperbolicTangent=A.tanh=function(){var t,e,n=this,r=n.constructor;return n.isFinite()?n.isZero()?new r(n):(t=r.precision,e=r.rounding,r.precision=t+7,r.rounding=1,L(n.sinh(),n.cosh(),r.precision=t,r.rounding=e)):new r(n.s)},A.inverseCosine=A.acos=function(){var t,e=this,n=e.constructor,r=e.abs().cmp(1),i=n.precision,a=n.rounding;return-1!==r?0===r?e.isNeg()?$(n,i,a):new n(0):new n(NaN):e.isZero()?$(n,i+4,a).times(.5):(n.precision=i+6,n.rounding=1,e=e.asin(),t=$(n,i+4,a).times(.5),n.precision=i,n.rounding=a,t.minus(e))},A.inverseHyperbolicCosine=A.acosh=function(){var t,e,n=this,r=n.constructor;return n.lte(1)?new r(n.eq(1)?0:NaN):n.isFinite()?(t=r.precision,e=r.rounding,r.precision=t+Math.max(Math.abs(n.e),n.sd())+4,r.rounding=1,p=!1,n=n.times(n).minus(1).sqrt().plus(n),p=!0,r.precision=t,r.rounding=e,n.ln()):new r(n)},A.inverseHyperbolicSine=A.asinh=function(){var t,e,n=this,r=n.constructor;return!n.isFinite()||n.isZero()?new r(n):(t=r.precision,e=r.rounding,r.precision=t+2*Math.max(Math.abs(n.e),n.sd())+6,r.rounding=1,p=!1,n=n.times(n).plus(1).sqrt().plus(n),p=!0,r.precision=t,r.rounding=e,n.ln())},A.inverseHyperbolicTangent=A.atanh=function(){var t,e,n,r,i=this,a=i.constructor;return i.isFinite()?i.e>=0?new a(i.abs().eq(1)?i.s/0:i.isZero()?i:NaN):(t=a.precision,e=a.rounding,r=i.sd(),Math.max(r,t)<2*-i.e-1?P(new a(i),t,e,!0):(a.precision=n=r-i.e,i=L(i.plus(1),new a(1).minus(i),n+t,1),a.precision=t+4,a.rounding=1,i=i.ln(),a.precision=t,a.rounding=e,i.times(.5))):new a(NaN)},A.inverseSine=A.asin=function(){var t,e,n,r,i=this,a=i.constructor;return i.isZero()?new a(i):(e=i.abs().cmp(1),n=a.precision,r=a.rounding,-1!==e?0===e?((t=$(a,n+4,r).times(.5)).s=i.s,t):new a(NaN):(a.precision=n+6,a.rounding=1,i=i.div(new a(1).minus(i.times(i)).sqrt().plus(1)).atan(),a.precision=n,a.rounding=r,i.times(2)))},A.inverseTangent=A.atan=function(){var t,e,n,r,i,a,o,s,c,l=this,u=l.constructor,h=u.precision,d=u.rounding;if(l.isFinite()){if(l.isZero())return new u(l);if(l.abs().eq(1)&&h+4<=I)return(o=$(u,h+4,d).times(.25)).s=l.s,o}else{if(!l.s)return new u(NaN);if(h+4<=I)return(o=$(u,h+4,d).times(.5)).s=l.s,o}for(u.precision=s=h+10,u.rounding=1,t=n=Math.min(28,s/D+2|0);t;--t)l=l.div(l.times(l).plus(1).sqrt().plus(1));for(p=!1,e=Math.ceil(s/D),r=1,c=l.times(l),o=new u(l),i=l;-1!==t;)if(i=i.times(c),a=o.minus(i.div(r+=2)),i=i.times(c),void 0!==(o=a.plus(i.div(r+=2))).d[e])for(t=e;o.d[t]===a.d[t]&&t--;);return n&&(o=o.times(2<this.d.length-2},A.isNaN=function(){return!this.s},A.isNegative=A.isNeg=function(){return this.s<0},A.isPositive=A.isPos=function(){return this.s>0},A.isZero=function(){return!!this.d&&0===this.d[0]},A.lessThan=A.lt=function(t){return this.cmp(t)<0},A.lessThanOrEqualTo=A.lte=function(t){return this.cmp(t)<1},A.logarithm=A.log=function(t){var e,n,r,i,a,o,s,c,l=this,u=l.constructor,h=u.precision,d=u.rounding;if(null==t)t=new u(10),e=!0;else{if(n=(t=new u(t)).d,t.s<0||!n||!n[0]||t.eq(1))return new u(NaN);e=t.eq(10)}if(n=l.d,l.s<0||!n||!n[0]||l.eq(1))return new u(n&&!n[0]?-1/0:1!=l.s?NaN:n?0:1/0);if(e)if(n.length>1)a=!0;else{for(i=n[0];i%10==0;)i/=10;a=1!==i}if(p=!1,o=W(l,s=h+5),r=e?F(u,s+10):W(t,s),N((c=L(o,r,s,1)).d,i=h,d))do{if(o=W(l,s+=10),r=e?F(u,s+10):W(t,s),c=L(o,r,s,1),!a){+O(c.d).slice(i+1,i+15)+1==1e14&&(c=P(c,h+1,0));break}}while(N(c.d,i+=10,d));return p=!0,P(c,h,d)},A.minus=A.sub=function(t){var e,n,r,i,a,o,s,c,l,u,h,d,f=this,g=f.constructor;if(t=new g(t),!f.d||!t.d)return f.s&&t.s?f.d?t.s=-t.s:t=new g(t.d||f.s!==t.s?f:NaN):t=new g(NaN),t;if(f.s!=t.s)return t.s=-t.s,f.plus(t);if(l=f.d,d=t.d,s=g.precision,c=g.rounding,!l[0]||!d[0]){if(d[0])t.s=-t.s;else{if(!l[0])return new g(3===c?-0:0);t=new g(f)}return p?P(t,s,c):t}if(n=v(t.e/D),u=v(f.e/D),l=l.slice(),a=u-n){for((h=a<0)?(e=l,a=-a,o=d.length):(e=d,n=u,o=l.length),a>(r=Math.max(Math.ceil(s/D),o)+2)&&(a=r,e.length=1),e.reverse(),r=a;r--;)e.push(0);e.reverse()}else{for((h=(r=l.length)<(o=d.length))&&(o=r),r=0;r0;--r)l[o++]=0;for(r=d.length;r>a;){if(l[--r](o=(a=Math.ceil(s/D))>o?a+1:o+1)&&(i=o,n.length=1),n.reverse();i--;)n.push(0);n.reverse()}for((o=l.length)-(i=u.length)<0&&(i=o,n=u,u=l,l=n),e=0;i;)e=(l[--i]=l[i]+u[i]+e)/S|0,l[i]%=S;for(e&&(l.unshift(e),++r),o=l.length;0==l[--o];)l.pop();return t.d=l,t.e=j(l,r),p?P(t,s,c):t},A.precision=A.sd=function(t){var e,n=this;if(void 0!==t&&t!==!!t&&1!==t&&0!==t)throw Error(b+t);return n.d?(e=z(n.d),t&&n.e+1>e&&(e=n.e+1)):e=NaN,e},A.round=function(){var t=this,e=t.constructor;return P(new e(t),t.e+1,e.rounding)},A.sine=A.sin=function(){var t,e,n=this,r=n.constructor;return n.isFinite()?n.isZero()?new r(n):(t=r.precision,e=r.rounding,r.precision=t+Math.max(n.e,n.sd())+D,r.rounding=1,n=function(t,e){var n,r=e.d.length;if(r<3)return e.isZero()?e:Z(t,2,e,e);n=(n=1.4*Math.sqrt(r))>16?16:0|n,e=e.times(1/Q(5,n)),e=Z(t,2,e,e);for(var i,a=new t(5),o=new t(16),s=new t(20);n--;)i=e.times(e),e=e.times(a.plus(i.times(o.times(i).minus(s))));return e}(r,J(r,n)),r.precision=t,r.rounding=e,P(s>2?n.neg():n,t,e,!0)):new r(NaN)},A.squareRoot=A.sqrt=function(){var t,e,n,r,i,a,o=this,s=o.d,c=o.e,l=o.s,u=o.constructor;if(1!==l||!s||!s[0])return new u(!l||l<0&&(!s||s[0])?NaN:s?o:1/0);for(p=!1,0==(l=Math.sqrt(+o))||l==1/0?(((e=O(s)).length+c)%2==0&&(e+="0"),l=Math.sqrt(e),c=v((c+1)/2)-(c<0||c%2),r=new u(e=l==1/0?"5e"+c:(e=l.toExponential()).slice(0,e.indexOf("e")+1)+c)):r=new u(l.toString()),n=(c=u.precision)+3;;)if(r=(a=r).plus(L(o,a,n+2,1)).times(.5),O(a.d).slice(0,n)===(e=O(r.d)).slice(0,n)){if("9999"!=(e=e.slice(n-3,n+1))&&(i||"4999"!=e)){+e&&(+e.slice(1)||"5"!=e.charAt(0))||(P(r,c+1,1),t=!r.times(r).eq(o));break}if(!i&&(P(a,c+1,0),a.times(a).eq(o))){r=a;break}n+=4,i=1}return p=!0,P(r,c,u.rounding,t)},A.tangent=A.tan=function(){var t,e,n=this,r=n.constructor;return n.isFinite()?n.isZero()?new r(n):(t=r.precision,e=r.rounding,r.precision=t+10,r.rounding=1,(n=n.sin()).s=1,n=L(n,new r(1).minus(n.times(n)).sqrt(),t+10,0),r.precision=t,r.rounding=e,P(2==s||4==s?n.neg():n,t,e,!0)):new r(NaN)},A.times=A.mul=function(t){var e,n,r,i,a,o,s,c,l,u=this,h=u.constructor,d=u.d,f=(t=new h(t)).d;if(t.s*=u.s,!(d&&d[0]&&f&&f[0]))return new h(!t.s||d&&!d[0]&&!f||f&&!f[0]&&!d?NaN:d&&f?0*t.s:t.s/0);for(n=v(u.e/D)+v(t.e/D),(c=d.length)<(l=f.length)&&(a=d,d=f,f=a,o=c,c=l,l=o),a=[],r=o=c+l;r--;)a.push(0);for(r=l;--r>=0;){for(e=0,i=c+r;i>r;)s=a[i]+f[r]*d[i-r-1]+e,a[i--]=s%S|0,e=s/S|0;a[i]=(a[i]+e)%S|0}for(;!a[--o];)a.pop();return e?++n:a.shift(),t.d=a,t.e=j(a,n),p?P(t,h.precision,h.rounding):t},A.toBinary=function(t,e){return tt(this,2,t,e)},A.toDecimalPlaces=A.toDP=function(t,e){var n=this,r=n.constructor;return n=new r(n),void 0===t?n:(M(t,0,l),void 0===e?e=r.rounding:M(e,0,8),P(n,t+n.e+1,e))},A.toExponential=function(t,e){var n,r=this,i=r.constructor;return void 0===t?n=R(r,!0):(M(t,0,l),void 0===e?e=i.rounding:M(e,0,8),n=R(r=P(new i(r),t+1,e),!0,t+1)),r.isNeg()&&!r.isZero()?"-"+n:n},A.toFixed=function(t,e){var n,r,i=this,a=i.constructor;return void 0===t?n=R(i):(M(t,0,l),void 0===e?e=a.rounding:M(e,0,8),n=R(r=P(new a(i),t+i.e+1,e),!1,t+r.e+1)),i.isNeg()&&!i.isZero()?"-"+n:n},A.toFraction=function(t){var e,n,r,i,a,o,s,c,l,u,h,d,f=this,g=f.d,m=f.constructor;if(!g)return new m(f);if(l=n=new m(1),r=c=new m(0),o=(a=(e=new m(r)).e=z(g)-f.e-1)%D,e.d[0]=k(10,o<0?D+o:o),null==t)t=a>0?e:l;else{if(!(s=new m(t)).isInt()||s.lt(l))throw Error(b+s);t=s.gt(e)?a>0?e:l:s}for(p=!1,s=new m(O(g)),u=m.precision,m.precision=a=g.length*D*2;h=L(s,e,0,1,1),1!=(i=n.plus(h.times(r))).cmp(t);)n=r,r=i,i=l,l=c.plus(h.times(i)),c=i,i=e,e=s.minus(h.times(i)),s=i;return i=L(t.minus(n),r,0,1,1),c=c.plus(i.times(l)),n=n.plus(i.times(r)),c.s=l.s=f.s,d=L(l,r,a,1).minus(f).abs().cmp(L(c,n,a,1).minus(f).abs())<1?[l,r]:[c,n],m.precision=u,p=!0,d},A.toHexadecimal=A.toHex=function(t,e){return tt(this,16,t,e)},A.toNearest=function(t,e){var n=this,r=n.constructor;if(n=new r(n),null==t){if(!n.d)return n;t=new r(1),e=r.rounding}else{if(t=new r(t),void 0===e?e=r.rounding:M(e,0,8),!n.d)return t.s?n:t;if(!t.d)return t.s&&(t.s=n.s),t}return t.d[0]?(p=!1,n=L(n,t,0,e,1).times(t),p=!0,P(n)):(t.s=n.s,n=t),n},A.toNumber=function(){return+this},A.toOctal=function(t,e){return tt(this,8,t,e)},A.toPower=A.pow=function(t){var e,n,r,i,a,o,s=this,c=s.constructor,l=+(t=new c(t));if(!(s.d&&t.d&&s.d[0]&&t.d[0]))return new c(k(+s,l));if((s=new c(s)).eq(1))return s;if(r=c.precision,a=c.rounding,t.eq(1))return P(s,r,a);if((e=v(t.e/D))>=t.d.length-1&&(n=l<0?-l:l)<=9007199254740991)return i=H(c,s,n,r),t.s<0?new c(1).div(i):P(i,r,a);if((o=s.s)<0){if(ec.maxE+1||e0?o/0:0):(p=!1,c.rounding=s.s=1,n=Math.min(12,(e+"").length),(i=V(t.times(W(s,r+n)),r)).d&&N((i=P(i,r+5,1)).d,r,a)&&(e=r+10,+O((i=P(V(t.times(W(s,e+n)),e),e+5,1)).d).slice(r+1,r+15)+1==1e14&&(i=P(i,r+1,0))),i.s=o,p=!0,c.rounding=a,P(i,r,a))},A.toPrecision=function(t,e){var n,r=this,i=r.constructor;return void 0===t?n=R(r,r.e<=i.toExpNeg||r.e>=i.toExpPos):(M(t,1,l),void 0===e?e=i.rounding:M(e,0,8),n=R(r=P(new i(r),t,e),t<=r.e||r.e<=i.toExpNeg,t)),r.isNeg()&&!r.isZero()?"-"+n:n},A.toSignificantDigits=A.toSD=function(t,e){var n=this.constructor;return void 0===t?(t=n.precision,e=n.rounding):(M(t,1,l),void 0===e?e=n.rounding:M(e,0,8)),P(new n(this),t,e)},A.toString=function(){var t=this,e=t.constructor,n=R(t,t.e<=e.toExpNeg||t.e>=e.toExpPos);return t.isNeg()&&!t.isZero()?"-"+n:n},A.truncated=A.trunc=function(){return P(new this.constructor(this),this.e+1,1)},A.valueOf=A.toJSON=function(){var t=this,e=t.constructor,n=R(t,t.e<=e.toExpNeg||t.e>=e.toExpPos);return t.isNeg()?"-"+n:n};var L=function(){function t(t,e,n){var r,i=0,a=t.length;for(t=t.slice();a--;)r=t[a]*e+i,t[a]=r%n|0,i=r/n|0;return i&&t.unshift(i),t}function e(t,e,n,r){var i,a;if(n!=r)a=n>r?1:-1;else for(i=a=0;ie[i]?1:-1;break}return a}function n(t,e,n,r){for(var i=0;n--;)t[n]-=i,i=t[n]1;)t.shift()}return function(r,i,a,s,c,l){var u,h,d,f,p,g,b,m,y,w,k,_,x,E,T,C,I,A,O,M,N=r.constructor,B=r.s==i.s?1:-1,L=r.d,R=i.d;if(!(L&&L[0]&&R&&R[0]))return new N(r.s&&i.s&&(L?!R||L[0]!=R[0]:R)?L&&0==L[0]||!R?0*B:B/0:NaN);for(l?(p=1,h=r.e-i.e):(l=S,p=D,h=v(r.e/p)-v(i.e/p)),O=R.length,I=L.length,w=(y=new N(B)).d=[],d=0;R[d]==(L[d]||0);d++);if(R[d]>(L[d]||0)&&h--,null==a?(E=a=N.precision,s=N.rounding):E=c?a+(r.e-i.e)+1:a,E<0)w.push(1),g=!0;else{if(E=E/p+2|0,d=0,1==O){for(f=0,R=R[0],E++;(d1&&(R=t(R,f,l),L=t(L,f,l),O=R.length,I=L.length),C=O,_=(k=L.slice(0,O)).length;_=l/2&&++A;do{f=0,(u=e(R,k,O,_))<0?(x=k[0],O!=_&&(x=x*l+(k[1]||0)),(f=x/A|0)>1?(f>=l&&(f=l-1),1==(u=e(b=t(R,f,l),k,m=b.length,_=k.length))&&(f--,n(b,O=10;f/=10)d++;y.e=d+h*p-1,P(y,c?a+y.e+1:a,s,g)}return y}}();function P(t,e,n,r){var i,a,o,s,c,l,u,h,d,f=t.constructor;t:if(null!=e){if(!(h=t.d))return t;for(i=1,s=h[0];s>=10;s/=10)i++;if((a=e-i)<0)a+=D,o=e,c=(u=h[d=0])/k(10,i-o-1)%10|0;else if((d=Math.ceil((a+1)/D))>=(s=h.length)){if(!r)break t;for(;s++<=d;)h.push(0);u=c=0,i=1,o=(a%=D)-D+1}else{for(u=s=h[d],i=1;s>=10;s/=10)i++;c=(o=(a%=D)-D+i)<0?0:u/k(10,i-o-1)%10|0}if(r=r||e<0||void 0!==h[d+1]||(o<0?u:u%k(10,i-o-1)),l=n<4?(c||r)&&(0==n||n==(t.s<0?3:2)):c>5||5==c&&(4==n||r||6==n&&(a>0?o>0?u/k(10,i-o):0:h[d-1])%10&1||n==(t.s<0?8:7)),e<1||!h[0])return h.length=0,l?(e-=t.e+1,h[0]=k(10,(D-e%D)%D),t.e=-e||0):h[0]=t.e=0,t;if(0==a?(h.length=d,s=1,d--):(h.length=d+1,s=k(10,D-a),h[d]=o>0?(u/k(10,i-o)%k(10,o)|0)*s:0),l)for(;;){if(0==d){for(a=1,o=h[0];o>=10;o/=10)a++;for(o=h[0]+=s,s=1;o>=10;o/=10)s++;a!=s&&(t.e++,h[0]==S&&(h[0]=1));break}if(h[d]+=s,h[d]!=S)break;h[d--]=0,s=1}for(a=h.length;0===h[--a];)h.pop()}return p&&(t.e>f.maxE?(t.d=null,t.e=NaN):t.e0?a=a.charAt(0)+"."+a.slice(1)+U(r):o>1&&(a=a.charAt(0)+"."+a.slice(1)),a=a+(t.e<0?"e":"e+")+t.e):i<0?(a="0."+U(-i-1)+a,n&&(r=n-o)>0&&(a+=U(r))):i>=o?(a+=U(i+1-o),n&&(r=n-i-1)>0&&(a=a+"."+U(r))):((r=i+1)0&&(i+1===o&&(a+="."),a+=U(r))),a}function j(t,e){var n=t[0];for(e*=D;n>=10;n/=10)e++;return e}function F(t,e,n){if(e>C)throw p=!0,n&&(t.precision=n),Error(m);return P(new t(h),e,1,!0)}function $(t,e,n){if(e>I)throw Error(m);return P(new t(d),e,n,!0)}function z(t){var e=t.length-1,n=e*D+1;if(e=t[e]){for(;e%10==0;e/=10)n--;for(e=t[0];e>=10;e/=10)n++}return n}function U(t){for(var e="";t--;)e+="0";return e}function H(t,e,n,r){var i,a=new t(1),o=Math.ceil(r/D+4);for(p=!1;;){if(n%2&&et((a=a.times(e)).d,o)&&(i=!0),0===(n=v(n/2))){n=a.d.length-1,i&&0===a.d[n]&&++a.d[n];break}et((e=e.times(e)).d,o)}return p=!0,a}function G(t){return 1&t.d[t.d.length-1]}function q(t,e,n){for(var r,i=new t(e[0]),a=0;++a17)return new d(t.d?t.d[0]?t.s<0?0:1/0:1:t.s?t.s<0?0:t:NaN);for(null==e?(p=!1,c=g):c=e,s=new d(.03125);t.e>-2;)t=t.times(s),h+=5;for(c+=r=Math.log(k(2,h))/Math.LN10*2+5|0,n=a=o=new d(1),d.precision=c;;){if(a=P(a.times(t),c,1),n=n.times(++u),O((s=o.plus(L(a,n,c,1))).d).slice(0,c)===O(o.d).slice(0,c)){for(i=h;i--;)o=P(o.times(o),c,1);if(null!=e)return d.precision=g,o;if(!(l<3&&N(o.d,c-r,f,l)))return P(o,d.precision=g,f,p=!0);d.precision=c+=10,n=a=s=new d(1),u=0,l++}o=s}}function W(t,e){var n,r,i,a,o,s,c,l,u,h,d,f=1,g=t,b=g.d,m=g.constructor,y=m.rounding,w=m.precision;if(g.s<0||!b||!b[0]||!g.e&&1==b[0]&&1==b.length)return new m(b&&!b[0]?-1/0:1!=g.s?NaN:b?0:g);if(null==e?(p=!1,u=w):u=e,m.precision=u+=10,r=(n=O(b)).charAt(0),!(Math.abs(a=g.e)<15e14))return l=F(m,u+2,w).times(a+""),g=W(new m(r+"."+n.slice(1)),u-10).plus(l),m.precision=w,null==e?P(g,w,y,p=!0):g;for(;r<7&&1!=r||1==r&&n.charAt(1)>3;)r=(n=O((g=g.times(t)).d)).charAt(0),f++;for(a=g.e,r>1?(g=new m("0."+n),a++):g=new m(r+"."+n.slice(1)),h=g,c=o=g=L(g.minus(1),g.plus(1),u,1),d=P(g.times(g),u,1),i=3;;){if(o=P(o.times(d),u,1),O((l=c.plus(L(o,new m(i),u,1))).d).slice(0,u)===O(c.d).slice(0,u)){if(c=c.times(2),0!==a&&(c=c.plus(F(m,u+2,w).times(a+""))),c=L(c,new m(f),u,1),null!=e)return m.precision=w,c;if(!N(c.d,u-10,y,s))return P(c,m.precision=w,y,p=!0);m.precision=u+=10,l=o=g=L(h.minus(1),h.plus(1),u,1),d=P(g.times(g),u,1),i=s=1}c=l,i+=2}}function K(t){return String(t.s*t.s/0)}function Y(t,e){var n,r,i;for((n=e.indexOf("."))>-1&&(e=e.replace(".","")),(r=e.search(/e/i))>0?(n<0&&(n=r),n+=+e.slice(r+1),e=e.substring(0,r)):n<0&&(n=e.length),r=0;48===e.charCodeAt(r);r++);for(i=e.length;48===e.charCodeAt(i-1);--i);if(e=e.slice(r,i)){if(i-=r,t.e=n=n-r-1,t.d=[],r=(n+1)%D,n<0&&(r+=D),rt.constructor.maxE?(t.d=null,t.e=NaN):t.e-1){if(e=e.replace(/(\d)_(?=\d)/g,"$1"),T.test(e))return Y(t,e)}else if("Infinity"===e||"NaN"===e)return+e||(t.s=NaN),t.e=NaN,t.d=null,t;if(x.test(e))n=16,e=e.toLowerCase();else if(_.test(e))n=2;else{if(!E.test(e))throw Error(b+e);n=8}for((o=e.search(/p/i))>0?(l=+e.slice(o+1),e=e.substring(2,o)):e=e.slice(2),s=(o=e.indexOf("."))>=0,r=t.constructor,s&&(o=(c=(e=e.replace(".","")).length)-o,i=H(r,new r(n),o,2*o)),o=h=(u=B(e,n,S)).length-1;0===u[o];--o)u.pop();return o<0?new r(0*t.s):(t.e=j(u,h),t.d=u,p=!1,s&&(t=L(t,i,4*c)),l&&(t=t.times(Math.abs(l)<54?k(2,l):a.pow(2,l))),p=!0,t)}function Z(t,e,n,r,i){var a,o,s,c,l=t.precision,u=Math.ceil(l/D);for(p=!1,c=n.times(n),s=new t(r);;){if(o=L(s.times(c),new t(e++*e++),l,1),s=i?r.plus(o):r.minus(o),r=L(o.times(c),new t(e++*e++),l,1),void 0!==(o=s.plus(r)).d[u]){for(a=u;o.d[a]===s.d[a]&&a--;);if(-1==a)break}a=s,s=r,r=o,o=a}return p=!0,o.d.length=u+1,o}function Q(t,e){for(var n=t;--e;)n*=t;return n}function J(t,e){var n,r=e.s<0,i=$(t,t.precision,1),a=i.times(.5);if((e=e.abs()).lte(a))return s=r?4:1,e;if((n=e.divToInt(i)).isZero())s=r?3:2;else{if((e=e.minus(n.times(i))).lte(a))return s=G(n)?r?2:3:r?4:1,e;s=G(n)?r?1:4:r?3:2}return e.minus(i).abs()}function tt(t,e,n,r){var i,a,s,c,h,d,f,p,g,b=t.constructor,m=void 0!==n;if(m?(M(n,1,l),void 0===r?r=b.rounding:M(r,0,8)):(n=b.precision,r=b.rounding),t.isFinite()){for(m?(i=2,16==e?n=4*n-3:8==e&&(n=3*n-2)):i=e,(s=(f=R(t)).indexOf("."))>=0&&(f=f.replace(".",""),(g=new b(1)).e=f.length-s,g.d=B(R(g),10,i),g.e=g.d.length),a=h=(p=B(f,10,i)).length;0==p[--h];)p.pop();if(p[0]){if(s<0?a--:((t=new b(t)).d=p,t.e=a,p=(t=L(t,g,n,r,0,i)).d,a=t.e,d=o),s=p[n],c=i/2,d=d||void 0!==p[n+1],d=r<4?(void 0!==s||d)&&(0===r||r===(t.s<0?3:2)):s>c||s===c&&(4===r||d||6===r&&1&p[n-1]||r===(t.s<0?8:7)),p.length=n,d)for(;++p[--n]>i-1;)p[n]=0,n||(++a,p.unshift(1));for(h=p.length;!p[h-1];--h);for(s=0,f="";s1)if(16==e||8==e){for(s=16==e?4:3,--h;h%s;h++)f+="0";for(h=(p=B(f,i,e)).length;!p[h-1];--h);for(s=1,f="1.";sh)for(a-=h;a--;)f+="0";else ae)return t.length=e,!0}function nt(t){return new this(t).abs()}function rt(t){return new this(t).acos()}function it(t){return new this(t).acosh()}function at(t,e){return new this(t).plus(e)}function ot(t){return new this(t).asin()}function st(t){return new this(t).asinh()}function ct(t){return new this(t).atan()}function lt(t){return new this(t).atanh()}function ut(t,e){t=new this(t),e=new this(e);var n,r=this.precision,i=this.rounding,a=r+4;return t.s&&e.s?t.d||e.d?!e.d||t.isZero()?(n=e.s<0?$(this,r,i):new this(0)).s=t.s:!t.d||e.isZero()?(n=$(this,a,1).times(.5)).s=t.s:e.s<0?(this.precision=a,this.rounding=1,n=this.atan(L(t,e,a,1)),e=$(this,a,1),this.precision=r,this.rounding=i,n=t.s<0?n.minus(e):n.plus(e)):n=this.atan(L(t,e,a,1)):(n=$(this,a,1).times(e.s>0?.25:.75)).s=t.s:n=new this(NaN),n}function ht(t){return new this(t).cbrt()}function dt(t){return P(t=new this(t),t.e+1,2)}function ft(t,e,n){return new this(t).clamp(e,n)}function pt(t){if(!t||"object"!=typeof t)throw Error(g+"Object expected");var e,n,r,i=!0===t.defaults,a=["precision",1,l,"rounding",0,8,"toExpNeg",-c,0,"toExpPos",0,c,"maxE",0,c,"minE",-c,0,"modulo",0,9];for(e=0;e=a[e+1]&&r<=a[e+2]))throw Error(b+n+": "+r);this[n]=r}if(n="crypto",i&&(this[n]=f[n]),void 0!==(r=t[n])){if(!0!==r&&!1!==r&&0!==r&&1!==r)throw Error(b+n+": "+r);if(r){if("undefined"==typeof crypto||!crypto||!crypto.getRandomValues&&!crypto.randomBytes)throw Error(y);this[n]=!0}else this[n]=!1}return this}function gt(t){return new this(t).cos()}function bt(t){return new this(t).cosh()}function mt(t,e){return new this(t).div(e)}function yt(t){return new this(t).exp()}function wt(t){return P(t=new this(t),t.e+1,3)}function vt(){var t,e,n=new this(0);for(p=!1,t=0;t=429e7?e[a]=crypto.getRandomValues(new Uint32Array(1))[0]:s[a++]=i%1e7;else{if(!crypto.randomBytes)throw Error(y);for(e=crypto.randomBytes(r*=4);a=214e7?crypto.randomBytes(4).copy(e,a):(s.push(i%1e7),a+=4);a=r/4}else for(;a=10;i/=10)r++;ra.maxE?(i.e=NaN,i.d=null):t.e=10;n/=10)e++;return void(p?e>a.maxE?(i.e=NaN,i.d=null):e{"use strict";Object.defineProperty(e,"__esModule",{value:!0});for(var n="undefined"!=typeof window&&/Mac|iPod|iPhone|iPad/.test(window.navigator.platform),r={alt:"altKey",control:"ctrlKey",meta:"metaKey",shift:"shiftKey"},i={add:"+",break:"pause",cmd:"meta",command:"meta",ctl:"control",ctrl:"control",del:"delete",down:"arrowdown",esc:"escape",ins:"insert",left:"arrowleft",mod:n?"meta":"control",opt:"alt",option:"alt",return:"enter",right:"arrowright",space:" ",spacebar:" ",up:"arrowup",win:"meta",windows:"meta"},a={backspace:8,tab:9,enter:13,shift:16,control:17,alt:18,pause:19,capslock:20,escape:27," ":32,pageup:33,pagedown:34,end:35,home:36,arrowleft:37,arrowup:38,arrowright:39,arrowdown:40,insert:45,delete:46,meta:91,numlock:144,scrolllock:145,";":186,"=":187,",":188,"-":189,".":190,"/":191,"`":192,"[":219,"\\":220,"]":221,"'":222},o=1;o<20;o++)a["f"+o]=111+o;function s(t,e,n){e&&!("byKey"in e)&&(n=e,e=null),Array.isArray(t)||(t=[t]);var r=t.map((function(t){return c(t,e)})),i=function(t){return r.some((function(e){return l(e,t)}))};return null==n?i:i(n)}function c(t,e){var n=e&&e.byKey,o={},s=(t=t.replace("++","+add")).split("+"),c=s.length;for(var l in r)o[r[l]]=!1;var d=!0,f=!1,p=void 0;try{for(var g,b=s[Symbol.iterator]();!(d=(g=b.next()).done);d=!0){var m=g.value,y=m.endsWith("?")&&m.length>1;y&&(m=m.slice(0,-1));var w=h(m),v=r[w];if(m.length>1&&!v&&!i[m]&&!a[w])throw new TypeError('Unknown modifier: "'+m+'"');1!==c&&v||(n?o.key=w:o.which=u(m)),v&&(o[v]=!y||null)}}catch(t){f=!0,p=t}finally{try{!d&&b.return&&b.return()}finally{if(f)throw p}}return o}function l(t,e){for(var n in t){var r=t[n],i=void 0;if(null!=r&&((null!=(i="key"===n&&null!=e.key?e.key.toLowerCase():"which"===n?91===r&&93===e.which?91:e.which:e[n])||!1!==r)&&i!==r))return!1}return!0}function u(t){return t=h(t),a[t]||t.toUpperCase().charCodeAt(0)}function h(t){return t=t.toLowerCase(),t=i[t]||t}e.default=s,e.isHotkey=s,e.isCodeHotkey=function(t,e){return s(t,e)},e.isKeyHotkey=function(t,e){return s(t,{byKey:!0},e)},e.parseHotkey=c,e.compareHotkey=l,e.toKeyCode=u,e.toKeyName=h},6486:function(t,e,n){var r;t=n.nmd(t),function(){var i,a="Expected a function",o="__lodash_hash_undefined__",s="__lodash_placeholder__",c=16,l=32,u=64,h=128,d=256,f=1/0,p=9007199254740991,g=NaN,b=4294967295,m=[["ary",h],["bind",1],["bindKey",2],["curry",8],["curryRight",c],["flip",512],["partial",l],["partialRight",u],["rearg",d]],y="[object Arguments]",w="[object Array]",v="[object Boolean]",k="[object Date]",_="[object Error]",x="[object Function]",E="[object GeneratorFunction]",T="[object Map]",S="[object Number]",D="[object Object]",C="[object Promise]",I="[object RegExp]",A="[object Set]",O="[object String]",M="[object Symbol]",N="[object WeakMap]",B="[object ArrayBuffer]",L="[object DataView]",P="[object Float32Array]",R="[object Float64Array]",j="[object Int8Array]",F="[object Int16Array]",$="[object Int32Array]",z="[object Uint8Array]",U="[object Uint8ClampedArray]",H="[object Uint16Array]",G="[object Uint32Array]",q=/\b__p \+= '';/g,V=/\b(__p \+=) '' \+/g,W=/(__e\(.*?\)|\b__t\)) \+\n'';/g,K=/&(?:amp|lt|gt|quot|#39);/g,Y=/[&<>"']/g,X=RegExp(K.source),Z=RegExp(Y.source),Q=/<%-([\s\S]+?)%>/g,J=/<%([\s\S]+?)%>/g,tt=/<%=([\s\S]+?)%>/g,et=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,nt=/^\w*$/,rt=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,it=/[\\^$.*+?()[\]{}|]/g,at=RegExp(it.source),ot=/^\s+/,st=/\s/,ct=/\{(?:\n\/\* \[wrapped with .+\] \*\/)?\n?/,lt=/\{\n\/\* \[wrapped with (.+)\] \*/,ut=/,? & /,ht=/[^\x00-\x2f\x3a-\x40\x5b-\x60\x7b-\x7f]+/g,dt=/[()=,{}\[\]\/\s]/,ft=/\\(\\)?/g,pt=/\$\{([^\\}]*(?:\\.[^\\}]*)*)\}/g,gt=/\w*$/,bt=/^[-+]0x[0-9a-f]+$/i,mt=/^0b[01]+$/i,yt=/^\[object .+?Constructor\]$/,wt=/^0o[0-7]+$/i,vt=/^(?:0|[1-9]\d*)$/,kt=/[\xc0-\xd6\xd8-\xf6\xf8-\xff\u0100-\u017f]/g,_t=/($^)/,xt=/['\n\r\u2028\u2029\\]/g,Et="\\ud800-\\udfff",Tt="\\u0300-\\u036f\\ufe20-\\ufe2f\\u20d0-\\u20ff",St="\\u2700-\\u27bf",Dt="a-z\\xdf-\\xf6\\xf8-\\xff",Ct="A-Z\\xc0-\\xd6\\xd8-\\xde",It="\\ufe0e\\ufe0f",At="\\xac\\xb1\\xd7\\xf7\\x00-\\x2f\\x3a-\\x40\\x5b-\\x60\\x7b-\\xbf\\u2000-\\u206f \\t\\x0b\\f\\xa0\\ufeff\\n\\r\\u2028\\u2029\\u1680\\u180e\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200a\\u202f\\u205f\\u3000",Ot="['’]",Mt="["+Et+"]",Nt="["+At+"]",Bt="["+Tt+"]",Lt="\\d+",Pt="["+St+"]",Rt="["+Dt+"]",jt="[^"+Et+At+Lt+St+Dt+Ct+"]",Ft="\\ud83c[\\udffb-\\udfff]",$t="[^"+Et+"]",zt="(?:\\ud83c[\\udde6-\\uddff]){2}",Ut="[\\ud800-\\udbff][\\udc00-\\udfff]",Ht="["+Ct+"]",Gt="\\u200d",qt="(?:"+Rt+"|"+jt+")",Vt="(?:"+Ht+"|"+jt+")",Wt="(?:['’](?:d|ll|m|re|s|t|ve))?",Kt="(?:['’](?:D|LL|M|RE|S|T|VE))?",Yt="(?:"+Bt+"|"+Ft+")"+"?",Xt="["+It+"]?",Zt=Xt+Yt+("(?:"+Gt+"(?:"+[$t,zt,Ut].join("|")+")"+Xt+Yt+")*"),Qt="(?:"+[Pt,zt,Ut].join("|")+")"+Zt,Jt="(?:"+[$t+Bt+"?",Bt,zt,Ut,Mt].join("|")+")",te=RegExp(Ot,"g"),ee=RegExp(Bt,"g"),ne=RegExp(Ft+"(?="+Ft+")|"+Jt+Zt,"g"),re=RegExp([Ht+"?"+Rt+"+"+Wt+"(?="+[Nt,Ht,"$"].join("|")+")",Vt+"+"+Kt+"(?="+[Nt,Ht+qt,"$"].join("|")+")",Ht+"?"+qt+"+"+Wt,Ht+"+"+Kt,"\\d*(?:1ST|2ND|3RD|(?![123])\\dTH)(?=\\b|[a-z_])","\\d*(?:1st|2nd|3rd|(?![123])\\dth)(?=\\b|[A-Z_])",Lt,Qt].join("|"),"g"),ie=RegExp("["+Gt+Et+Tt+It+"]"),ae=/[a-z][A-Z]|[A-Z]{2}[a-z]|[0-9][a-zA-Z]|[a-zA-Z][0-9]|[^a-zA-Z0-9 ]/,oe=["Array","Buffer","DataView","Date","Error","Float32Array","Float64Array","Function","Int8Array","Int16Array","Int32Array","Map","Math","Object","Promise","RegExp","Set","String","Symbol","TypeError","Uint8Array","Uint8ClampedArray","Uint16Array","Uint32Array","WeakMap","_","clearTimeout","isFinite","parseInt","setTimeout"],se=-1,ce={};ce[P]=ce[R]=ce[j]=ce[F]=ce[$]=ce[z]=ce[U]=ce[H]=ce[G]=!0,ce[y]=ce[w]=ce[B]=ce[v]=ce[L]=ce[k]=ce[_]=ce[x]=ce[T]=ce[S]=ce[D]=ce[I]=ce[A]=ce[O]=ce[N]=!1;var le={};le[y]=le[w]=le[B]=le[L]=le[v]=le[k]=le[P]=le[R]=le[j]=le[F]=le[$]=le[T]=le[S]=le[D]=le[I]=le[A]=le[O]=le[M]=le[z]=le[U]=le[H]=le[G]=!0,le[_]=le[x]=le[N]=!1;var ue={"\\":"\\","'":"'","\n":"n","\r":"r","\u2028":"u2028","\u2029":"u2029"},he=parseFloat,de=parseInt,fe="object"==typeof n.g&&n.g&&n.g.Object===Object&&n.g,pe="object"==typeof self&&self&&self.Object===Object&&self,ge=fe||pe||Function("return this")(),be=e&&!e.nodeType&&e,me=be&&t&&!t.nodeType&&t,ye=me&&me.exports===be,we=ye&&fe.process,ve=function(){try{var t=me&&me.require&&me.require("util").types;return t||we&&we.binding&&we.binding("util")}catch(t){}}(),ke=ve&&ve.isArrayBuffer,_e=ve&&ve.isDate,xe=ve&&ve.isMap,Ee=ve&&ve.isRegExp,Te=ve&&ve.isSet,Se=ve&&ve.isTypedArray;function De(t,e,n){switch(n.length){case 0:return t.call(e);case 1:return t.call(e,n[0]);case 2:return t.call(e,n[0],n[1]);case 3:return t.call(e,n[0],n[1],n[2])}return t.apply(e,n)}function Ce(t,e,n,r){for(var i=-1,a=null==t?0:t.length;++i-1}function Be(t,e,n){for(var r=-1,i=null==t?0:t.length;++r-1;);return n}function rn(t,e){for(var n=t.length;n--&&He(e,t[n],0)>-1;);return n}var an=Ke({À:"A",Á:"A",Â:"A",Ã:"A",Ä:"A",Å:"A",à:"a",á:"a",â:"a",ã:"a",ä:"a",å:"a",Ç:"C",ç:"c",Ð:"D",ð:"d",È:"E",É:"E",Ê:"E",Ë:"E",è:"e",é:"e",ê:"e",ë:"e",Ì:"I",Í:"I",Î:"I",Ï:"I",ì:"i",í:"i",î:"i",ï:"i",Ñ:"N",ñ:"n",Ò:"O",Ó:"O",Ô:"O",Õ:"O",Ö:"O",Ø:"O",ò:"o",ó:"o",ô:"o",õ:"o",ö:"o",ø:"o",Ù:"U",Ú:"U",Û:"U",Ü:"U",ù:"u",ú:"u",û:"u",ü:"u",Ý:"Y",ý:"y",ÿ:"y",Æ:"Ae",æ:"ae",Þ:"Th",þ:"th",ß:"ss",Ā:"A",Ă:"A",Ą:"A",ā:"a",ă:"a",ą:"a",Ć:"C",Ĉ:"C",Ċ:"C",Č:"C",ć:"c",ĉ:"c",ċ:"c",č:"c",Ď:"D",Đ:"D",ď:"d",đ:"d",Ē:"E",Ĕ:"E",Ė:"E",Ę:"E",Ě:"E",ē:"e",ĕ:"e",ė:"e",ę:"e",ě:"e",Ĝ:"G",Ğ:"G",Ġ:"G",Ģ:"G",ĝ:"g",ğ:"g",ġ:"g",ģ:"g",Ĥ:"H",Ħ:"H",ĥ:"h",ħ:"h",Ĩ:"I",Ī:"I",Ĭ:"I",Į:"I",İ:"I",ĩ:"i",ī:"i",ĭ:"i",į:"i",ı:"i",Ĵ:"J",ĵ:"j",Ķ:"K",ķ:"k",ĸ:"k",Ĺ:"L",Ļ:"L",Ľ:"L",Ŀ:"L",Ł:"L",ĺ:"l",ļ:"l",ľ:"l",ŀ:"l",ł:"l",Ń:"N",Ņ:"N",Ň:"N",Ŋ:"N",ń:"n",ņ:"n",ň:"n",ŋ:"n",Ō:"O",Ŏ:"O",Ő:"O",ō:"o",ŏ:"o",ő:"o",Ŕ:"R",Ŗ:"R",Ř:"R",ŕ:"r",ŗ:"r",ř:"r",Ś:"S",Ŝ:"S",Ş:"S",Š:"S",ś:"s",ŝ:"s",ş:"s",š:"s",Ţ:"T",Ť:"T",Ŧ:"T",ţ:"t",ť:"t",ŧ:"t",Ũ:"U",Ū:"U",Ŭ:"U",Ů:"U",Ű:"U",Ų:"U",ũ:"u",ū:"u",ŭ:"u",ů:"u",ű:"u",ų:"u",Ŵ:"W",ŵ:"w",Ŷ:"Y",ŷ:"y",Ÿ:"Y",Ź:"Z",Ż:"Z",Ž:"Z",ź:"z",ż:"z",ž:"z",IJ:"IJ",ij:"ij",Œ:"Oe",œ:"oe",ʼn:"'n",ſ:"s"}),on=Ke({"&":"&","<":"<",">":">",'"':""","'":"'"});function sn(t){return"\\"+ue[t]}function cn(t){return ie.test(t)}function ln(t){var e=-1,n=Array(t.size);return t.forEach((function(t,r){n[++e]=[r,t]})),n}function un(t,e){return function(n){return t(e(n))}}function hn(t,e){for(var n=-1,r=t.length,i=0,a=[];++n",""":'"',"'":"'"});var yn=function t(e){var n,r=(e=null==e?ge:yn.defaults(ge.Object(),e,yn.pick(ge,oe))).Array,st=e.Date,Et=e.Error,Tt=e.Function,St=e.Math,Dt=e.Object,Ct=e.RegExp,It=e.String,At=e.TypeError,Ot=r.prototype,Mt=Tt.prototype,Nt=Dt.prototype,Bt=e["__core-js_shared__"],Lt=Mt.toString,Pt=Nt.hasOwnProperty,Rt=0,jt=(n=/[^.]+$/.exec(Bt&&Bt.keys&&Bt.keys.IE_PROTO||""))?"Symbol(src)_1."+n:"",Ft=Nt.toString,$t=Lt.call(Dt),zt=ge._,Ut=Ct("^"+Lt.call(Pt).replace(it,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$"),Ht=ye?e.Buffer:i,Gt=e.Symbol,qt=e.Uint8Array,Vt=Ht?Ht.allocUnsafe:i,Wt=un(Dt.getPrototypeOf,Dt),Kt=Dt.create,Yt=Nt.propertyIsEnumerable,Xt=Ot.splice,Zt=Gt?Gt.isConcatSpreadable:i,Qt=Gt?Gt.iterator:i,Jt=Gt?Gt.toStringTag:i,ne=function(){try{var t=da(Dt,"defineProperty");return t({},"",{}),t}catch(t){}}(),ie=e.clearTimeout!==ge.clearTimeout&&e.clearTimeout,ue=st&&st.now!==ge.Date.now&&st.now,fe=e.setTimeout!==ge.setTimeout&&e.setTimeout,pe=St.ceil,be=St.floor,me=Dt.getOwnPropertySymbols,we=Ht?Ht.isBuffer:i,ve=e.isFinite,$e=Ot.join,Ke=un(Dt.keys,Dt),wn=St.max,vn=St.min,kn=st.now,_n=e.parseInt,xn=St.random,En=Ot.reverse,Tn=da(e,"DataView"),Sn=da(e,"Map"),Dn=da(e,"Promise"),Cn=da(e,"Set"),In=da(e,"WeakMap"),An=da(Dt,"create"),On=In&&new In,Mn={},Nn=ja(Tn),Bn=ja(Sn),Ln=ja(Dn),Pn=ja(Cn),Rn=ja(In),jn=Gt?Gt.prototype:i,Fn=jn?jn.valueOf:i,$n=jn?jn.toString:i;function zn(t){if(ns(t)&&!qo(t)&&!(t instanceof qn)){if(t instanceof Gn)return t;if(Pt.call(t,"__wrapped__"))return Fa(t)}return new Gn(t)}var Un=function(){function t(){}return function(e){if(!es(e))return{};if(Kt)return Kt(e);t.prototype=e;var n=new t;return t.prototype=i,n}}();function Hn(){}function Gn(t,e){this.__wrapped__=t,this.__actions__=[],this.__chain__=!!e,this.__index__=0,this.__values__=i}function qn(t){this.__wrapped__=t,this.__actions__=[],this.__dir__=1,this.__filtered__=!1,this.__iteratees__=[],this.__takeCount__=b,this.__views__=[]}function Vn(t){var e=-1,n=null==t?0:t.length;for(this.clear();++e=e?t:e)),t}function lr(t,e,n,r,a,o){var s,c=1&e,l=2&e,u=4&e;if(n&&(s=a?n(t,r,a,o):n(t)),s!==i)return s;if(!es(t))return t;var h=qo(t);if(h){if(s=function(t){var e=t.length,n=new t.constructor(e);e&&"string"==typeof t[0]&&Pt.call(t,"index")&&(n.index=t.index,n.input=t.input);return n}(t),!c)return Ai(t,s)}else{var d=ga(t),f=d==x||d==E;if(Yo(t))return Ei(t,c);if(d==D||d==y||f&&!a){if(s=l||f?{}:ma(t),!c)return l?function(t,e){return Oi(t,pa(t),e)}(t,function(t,e){return t&&Oi(e,Ns(e),t)}(s,t)):function(t,e){return Oi(t,fa(t),e)}(t,ar(s,t))}else{if(!le[d])return a?t:{};s=function(t,e,n){var r=t.constructor;switch(e){case B:return Ti(t);case v:case k:return new r(+t);case L:return function(t,e){var n=e?Ti(t.buffer):t.buffer;return new t.constructor(n,t.byteOffset,t.byteLength)}(t,n);case P:case R:case j:case F:case $:case z:case U:case H:case G:return Si(t,n);case T:return new r;case S:case O:return new r(t);case I:return function(t){var e=new t.constructor(t.source,gt.exec(t));return e.lastIndex=t.lastIndex,e}(t);case A:return new r;case M:return i=t,Fn?Dt(Fn.call(i)):{}}var i}(t,d,c)}}o||(o=new Xn);var p=o.get(t);if(p)return p;o.set(t,s),ss(t)?t.forEach((function(r){s.add(lr(r,e,n,r,t,o))})):rs(t)&&t.forEach((function(r,i){s.set(i,lr(r,e,n,i,t,o))}));var g=h?i:(u?l?aa:ia:l?Ns:Ms)(t);return Ie(g||t,(function(r,i){g&&(r=t[i=r]),nr(s,i,lr(r,e,n,i,t,o))})),s}function ur(t,e,n){var r=n.length;if(null==t)return!r;for(t=Dt(t);r--;){var a=n[r],o=e[a],s=t[a];if(s===i&&!(a in t)||!o(s))return!1}return!0}function hr(t,e,n){if("function"!=typeof t)throw new At(a);return Oa((function(){t.apply(i,n)}),e)}function dr(t,e,n,r){var i=-1,a=Ne,o=!0,s=t.length,c=[],l=e.length;if(!s)return c;n&&(e=Le(e,Je(n))),r?(a=Be,o=!1):e.length>=200&&(a=en,o=!1,e=new Yn(e));t:for(;++i-1},Wn.prototype.set=function(t,e){var n=this.__data__,r=rr(n,t);return r<0?(++this.size,n.push([t,e])):n[r][1]=e,this},Kn.prototype.clear=function(){this.size=0,this.__data__={hash:new Vn,map:new(Sn||Wn),string:new Vn}},Kn.prototype.delete=function(t){var e=ua(this,t).delete(t);return this.size-=e?1:0,e},Kn.prototype.get=function(t){return ua(this,t).get(t)},Kn.prototype.has=function(t){return ua(this,t).has(t)},Kn.prototype.set=function(t,e){var n=ua(this,t),r=n.size;return n.set(t,e),this.size+=n.size==r?0:1,this},Yn.prototype.add=Yn.prototype.push=function(t){return this.__data__.set(t,o),this},Yn.prototype.has=function(t){return this.__data__.has(t)},Xn.prototype.clear=function(){this.__data__=new Wn,this.size=0},Xn.prototype.delete=function(t){var e=this.__data__,n=e.delete(t);return this.size=e.size,n},Xn.prototype.get=function(t){return this.__data__.get(t)},Xn.prototype.has=function(t){return this.__data__.has(t)},Xn.prototype.set=function(t,e){var n=this.__data__;if(n instanceof Wn){var r=n.__data__;if(!Sn||r.length<199)return r.push([t,e]),this.size=++n.size,this;n=this.__data__=new Kn(r)}return n.set(t,e),this.size=n.size,this};var fr=Bi(kr),pr=Bi(_r,!0);function gr(t,e){var n=!0;return fr(t,(function(t,r,i){return n=!!e(t,r,i)})),n}function br(t,e,n){for(var r=-1,a=t.length;++r0&&n(s)?e>1?yr(s,e-1,n,r,i):Pe(i,s):r||(i[i.length]=s)}return i}var wr=Li(),vr=Li(!0);function kr(t,e){return t&&wr(t,e,Ms)}function _r(t,e){return t&&vr(t,e,Ms)}function xr(t,e){return Me(e,(function(e){return Qo(t[e])}))}function Er(t,e){for(var n=0,r=(e=vi(e,t)).length;null!=t&&ne}function Cr(t,e){return null!=t&&Pt.call(t,e)}function Ir(t,e){return null!=t&&e in Dt(t)}function Ar(t,e,n){for(var a=n?Be:Ne,o=t[0].length,s=t.length,c=s,l=r(s),u=1/0,h=[];c--;){var d=t[c];c&&e&&(d=Le(d,Je(e))),u=vn(d.length,u),l[c]=!n&&(e||o>=120&&d.length>=120)?new Yn(c&&d):i}d=t[0];var f=-1,p=l[0];t:for(;++f=s?c:c*("desc"==n[r]?-1:1)}return t.index-e.index}(t,e,n)}))}function Vr(t,e,n){for(var r=-1,i=e.length,a={};++r-1;)s!==t&&Xt.call(s,c,1),Xt.call(t,c,1);return t}function Kr(t,e){for(var n=t?e.length:0,r=n-1;n--;){var i=e[n];if(n==r||i!==a){var a=i;wa(i)?Xt.call(t,i,1):di(t,i)}}return t}function Yr(t,e){return t+be(xn()*(e-t+1))}function Xr(t,e){var n="";if(!t||e<1||e>p)return n;do{e%2&&(n+=t),(e=be(e/2))&&(t+=t)}while(e);return n}function Zr(t,e){return Ma(Da(t,e,ic),t+"")}function Qr(t){return Qn(zs(t))}function Jr(t,e){var n=zs(t);return La(n,cr(e,0,n.length))}function ti(t,e,n,r){if(!es(t))return t;for(var a=-1,o=(e=vi(e,t)).length,s=o-1,c=t;null!=c&&++aa?0:a+e),(n=n>a?a:n)<0&&(n+=a),a=e>n?0:n-e>>>0,e>>>=0;for(var o=r(a);++i>>1,o=t[a];null!==o&&!ls(o)&&(n?o<=e:o=200){var l=e?null:Xi(t);if(l)return dn(l);o=!1,i=en,c=new Yn}else c=e?[]:s;t:for(;++r=r?t:ii(t,e,n)}var xi=ie||function(t){return ge.clearTimeout(t)};function Ei(t,e){if(e)return t.slice();var n=t.length,r=Vt?Vt(n):new t.constructor(n);return t.copy(r),r}function Ti(t){var e=new t.constructor(t.byteLength);return new qt(e).set(new qt(t)),e}function Si(t,e){var n=e?Ti(t.buffer):t.buffer;return new t.constructor(n,t.byteOffset,t.length)}function Di(t,e){if(t!==e){var n=t!==i,r=null===t,a=t==t,o=ls(t),s=e!==i,c=null===e,l=e==e,u=ls(e);if(!c&&!u&&!o&&t>e||o&&s&&l&&!c&&!u||r&&s&&l||!n&&l||!a)return 1;if(!r&&!o&&!u&&t1?n[a-1]:i,s=a>2?n[2]:i;for(o=t.length>3&&"function"==typeof o?(a--,o):i,s&&va(n[0],n[1],s)&&(o=a<3?i:o,a=1),e=Dt(e);++r-1?a[o?e[s]:s]:i}}function $i(t){return ra((function(e){var n=e.length,r=n,o=Gn.prototype.thru;for(t&&e.reverse();r--;){var s=e[r];if("function"!=typeof s)throw new At(a);if(o&&!c&&"wrapper"==sa(s))var c=new Gn([],!0)}for(r=c?r:n;++r1&&v.reverse(),f&&uc))return!1;var u=o.get(t),h=o.get(e);if(u&&h)return u==e&&h==t;var d=-1,f=!0,p=2&n?new Yn:i;for(o.set(t,e),o.set(e,t);++d-1&&t%1==0&&t1?"& ":"")+e[r],e=e.join(n>2?", ":" "),t.replace(ct,"{\n/* [wrapped with "+e+"] */\n")}(r,function(t,e){return Ie(m,(function(n){var r="_."+n[0];e&n[1]&&!Ne(t,r)&&t.push(r)})),t.sort()}(function(t){var e=t.match(lt);return e?e[1].split(ut):[]}(r),n)))}function Ba(t){var e=0,n=0;return function(){var r=kn(),a=16-(r-n);if(n=r,a>0){if(++e>=800)return arguments[0]}else e=0;return t.apply(i,arguments)}}function La(t,e){var n=-1,r=t.length,a=r-1;for(e=e===i?r:e;++n1?t[e-1]:i;return n="function"==typeof n?(t.pop(),n):i,ao(t,n)}));function fo(t){var e=zn(t);return e.__chain__=!0,e}function po(t,e){return e(t)}var go=ra((function(t){var e=t.length,n=e?t[0]:0,r=this.__wrapped__,a=function(e){return sr(e,t)};return!(e>1||this.__actions__.length)&&r instanceof qn&&wa(n)?((r=r.slice(n,+n+(e?1:0))).__actions__.push({func:po,args:[a],thisArg:i}),new Gn(r,this.__chain__).thru((function(t){return e&&!t.length&&t.push(i),t}))):this.thru(a)}));var bo=Mi((function(t,e,n){Pt.call(t,n)?++t[n]:or(t,n,1)}));var mo=Fi(Ha),yo=Fi(Ga);function wo(t,e){return(qo(t)?Ie:fr)(t,la(e,3))}function vo(t,e){return(qo(t)?Ae:pr)(t,la(e,3))}var ko=Mi((function(t,e,n){Pt.call(t,n)?t[n].push(e):or(t,n,[e])}));var _o=Zr((function(t,e,n){var i=-1,a="function"==typeof e,o=Wo(t)?r(t.length):[];return fr(t,(function(t){o[++i]=a?De(e,t,n):Or(t,e,n)})),o})),xo=Mi((function(t,e,n){or(t,n,e)}));function Eo(t,e){return(qo(t)?Le:$r)(t,la(e,3))}var To=Mi((function(t,e,n){t[n?0:1].push(e)}),(function(){return[[],[]]}));var So=Zr((function(t,e){if(null==t)return[];var n=e.length;return n>1&&va(t,e[0],e[1])?e=[]:n>2&&va(e[0],e[1],e[2])&&(e=[e[0]]),qr(t,yr(e,1),[])})),Do=ue||function(){return ge.Date.now()};function Co(t,e,n){return e=n?i:e,e=t&&null==e?t.length:e,Qi(t,h,i,i,i,i,e)}function Io(t,e){var n;if("function"!=typeof e)throw new At(a);return t=gs(t),function(){return--t>0&&(n=e.apply(this,arguments)),t<=1&&(e=i),n}}var Ao=Zr((function(t,e,n){var r=1;if(n.length){var i=hn(n,ca(Ao));r|=l}return Qi(t,r,e,n,i)})),Oo=Zr((function(t,e,n){var r=3;if(n.length){var i=hn(n,ca(Oo));r|=l}return Qi(e,r,t,n,i)}));function Mo(t,e,n){var r,o,s,c,l,u,h=0,d=!1,f=!1,p=!0;if("function"!=typeof t)throw new At(a);function g(e){var n=r,a=o;return r=o=i,h=e,c=t.apply(a,n)}function b(t){var n=t-u;return u===i||n>=e||n<0||f&&t-h>=s}function m(){var t=Do();if(b(t))return y(t);l=Oa(m,function(t){var n=e-(t-u);return f?vn(n,s-(t-h)):n}(t))}function y(t){return l=i,p&&r?g(t):(r=o=i,c)}function w(){var t=Do(),n=b(t);if(r=arguments,o=this,u=t,n){if(l===i)return function(t){return h=t,l=Oa(m,e),d?g(t):c}(u);if(f)return xi(l),l=Oa(m,e),g(u)}return l===i&&(l=Oa(m,e)),c}return e=ms(e)||0,es(n)&&(d=!!n.leading,s=(f="maxWait"in n)?wn(ms(n.maxWait)||0,e):s,p="trailing"in n?!!n.trailing:p),w.cancel=function(){l!==i&&xi(l),h=0,r=u=o=l=i},w.flush=function(){return l===i?c:y(Do())},w}var No=Zr((function(t,e){return hr(t,1,e)})),Bo=Zr((function(t,e,n){return hr(t,ms(e)||0,n)}));function Lo(t,e){if("function"!=typeof t||null!=e&&"function"!=typeof e)throw new At(a);var n=function(){var r=arguments,i=e?e.apply(this,r):r[0],a=n.cache;if(a.has(i))return a.get(i);var o=t.apply(this,r);return n.cache=a.set(i,o)||a,o};return n.cache=new(Lo.Cache||Kn),n}function Po(t){if("function"!=typeof t)throw new At(a);return function(){var e=arguments;switch(e.length){case 0:return!t.call(this);case 1:return!t.call(this,e[0]);case 2:return!t.call(this,e[0],e[1]);case 3:return!t.call(this,e[0],e[1],e[2])}return!t.apply(this,e)}}Lo.Cache=Kn;var Ro=ki((function(t,e){var n=(e=1==e.length&&qo(e[0])?Le(e[0],Je(la())):Le(yr(e,1),Je(la()))).length;return Zr((function(r){for(var i=-1,a=vn(r.length,n);++i=e})),Go=Mr(function(){return arguments}())?Mr:function(t){return ns(t)&&Pt.call(t,"callee")&&!Yt.call(t,"callee")},qo=r.isArray,Vo=ke?Je(ke):function(t){return ns(t)&&Sr(t)==B};function Wo(t){return null!=t&&ts(t.length)&&!Qo(t)}function Ko(t){return ns(t)&&Wo(t)}var Yo=we||mc,Xo=_e?Je(_e):function(t){return ns(t)&&Sr(t)==k};function Zo(t){if(!ns(t))return!1;var e=Sr(t);return e==_||"[object DOMException]"==e||"string"==typeof t.message&&"string"==typeof t.name&&!as(t)}function Qo(t){if(!es(t))return!1;var e=Sr(t);return e==x||e==E||"[object AsyncFunction]"==e||"[object Proxy]"==e}function Jo(t){return"number"==typeof t&&t==gs(t)}function ts(t){return"number"==typeof t&&t>-1&&t%1==0&&t<=p}function es(t){var e=typeof t;return null!=t&&("object"==e||"function"==e)}function ns(t){return null!=t&&"object"==typeof t}var rs=xe?Je(xe):function(t){return ns(t)&&ga(t)==T};function is(t){return"number"==typeof t||ns(t)&&Sr(t)==S}function as(t){if(!ns(t)||Sr(t)!=D)return!1;var e=Wt(t);if(null===e)return!0;var n=Pt.call(e,"constructor")&&e.constructor;return"function"==typeof n&&n instanceof n&&Lt.call(n)==$t}var os=Ee?Je(Ee):function(t){return ns(t)&&Sr(t)==I};var ss=Te?Je(Te):function(t){return ns(t)&&ga(t)==A};function cs(t){return"string"==typeof t||!qo(t)&&ns(t)&&Sr(t)==O}function ls(t){return"symbol"==typeof t||ns(t)&&Sr(t)==M}var us=Se?Je(Se):function(t){return ns(t)&&ts(t.length)&&!!ce[Sr(t)]};var hs=Wi(Fr),ds=Wi((function(t,e){return t<=e}));function fs(t){if(!t)return[];if(Wo(t))return cs(t)?gn(t):Ai(t);if(Qt&&t[Qt])return function(t){for(var e,n=[];!(e=t.next()).done;)n.push(e.value);return n}(t[Qt]());var e=ga(t);return(e==T?ln:e==A?dn:zs)(t)}function ps(t){return t?(t=ms(t))===f||t===-1/0?17976931348623157e292*(t<0?-1:1):t==t?t:0:0===t?t:0}function gs(t){var e=ps(t),n=e%1;return e==e?n?e-n:e:0}function bs(t){return t?cr(gs(t),0,b):0}function ms(t){if("number"==typeof t)return t;if(ls(t))return g;if(es(t)){var e="function"==typeof t.valueOf?t.valueOf():t;t=es(e)?e+"":e}if("string"!=typeof t)return 0===t?t:+t;t=Qe(t);var n=mt.test(t);return n||wt.test(t)?de(t.slice(2),n?2:8):bt.test(t)?g:+t}function ys(t){return Oi(t,Ns(t))}function ws(t){return null==t?"":ui(t)}var vs=Ni((function(t,e){if(Ea(e)||Wo(e))Oi(e,Ms(e),t);else for(var n in e)Pt.call(e,n)&&nr(t,n,e[n])})),ks=Ni((function(t,e){Oi(e,Ns(e),t)})),_s=Ni((function(t,e,n,r){Oi(e,Ns(e),t,r)})),xs=Ni((function(t,e,n,r){Oi(e,Ms(e),t,r)})),Es=ra(sr);var Ts=Zr((function(t,e){t=Dt(t);var n=-1,r=e.length,a=r>2?e[2]:i;for(a&&va(e[0],e[1],a)&&(r=1);++n1),e})),Oi(t,aa(t),n),r&&(n=lr(n,7,ea));for(var i=e.length;i--;)di(n,e[i]);return n}));var Rs=ra((function(t,e){return null==t?{}:function(t,e){return Vr(t,e,(function(e,n){return Cs(t,n)}))}(t,e)}));function js(t,e){if(null==t)return{};var n=Le(aa(t),(function(t){return[t]}));return e=la(e),Vr(t,n,(function(t,n){return e(t,n[0])}))}var Fs=Zi(Ms),$s=Zi(Ns);function zs(t){return null==t?[]:tn(t,Ms(t))}var Us=Ri((function(t,e,n){return e=e.toLowerCase(),t+(n?Hs(e):e)}));function Hs(t){return Zs(ws(t).toLowerCase())}function Gs(t){return(t=ws(t))&&t.replace(kt,an).replace(ee,"")}var qs=Ri((function(t,e,n){return t+(n?"-":"")+e.toLowerCase()})),Vs=Ri((function(t,e,n){return t+(n?" ":"")+e.toLowerCase()})),Ws=Pi("toLowerCase");var Ks=Ri((function(t,e,n){return t+(n?"_":"")+e.toLowerCase()}));var Ys=Ri((function(t,e,n){return t+(n?" ":"")+Zs(e)}));var Xs=Ri((function(t,e,n){return t+(n?" ":"")+e.toUpperCase()})),Zs=Pi("toUpperCase");function Qs(t,e,n){return t=ws(t),(e=n?i:e)===i?function(t){return ae.test(t)}(t)?function(t){return t.match(re)||[]}(t):function(t){return t.match(ht)||[]}(t):t.match(e)||[]}var Js=Zr((function(t,e){try{return De(t,i,e)}catch(t){return Zo(t)?t:new Et(t)}})),tc=ra((function(t,e){return Ie(e,(function(e){e=Ra(e),or(t,e,Ao(t[e],t))})),t}));function ec(t){return function(){return t}}var nc=$i(),rc=$i(!0);function ic(t){return t}function ac(t){return Pr("function"==typeof t?t:lr(t,1))}var oc=Zr((function(t,e){return function(n){return Or(n,t,e)}})),sc=Zr((function(t,e){return function(n){return Or(t,n,e)}}));function cc(t,e,n){var r=Ms(e),i=xr(e,r);null!=n||es(e)&&(i.length||!r.length)||(n=e,e=t,t=this,i=xr(e,Ms(e)));var a=!(es(n)&&"chain"in n&&!n.chain),o=Qo(t);return Ie(i,(function(n){var r=e[n];t[n]=r,o&&(t.prototype[n]=function(){var e=this.__chain__;if(a||e){var n=t(this.__wrapped__);return(n.__actions__=Ai(this.__actions__)).push({func:r,args:arguments,thisArg:t}),n.__chain__=e,n}return r.apply(t,Pe([this.value()],arguments))})})),t}function lc(){}var uc=Gi(Le),hc=Gi(Oe),dc=Gi(Fe);function fc(t){return ka(t)?We(Ra(t)):function(t){return function(e){return Er(e,t)}}(t)}var pc=Vi(),gc=Vi(!0);function bc(){return[]}function mc(){return!1}var yc=Hi((function(t,e){return t+e}),0),wc=Yi("ceil"),vc=Hi((function(t,e){return t/e}),1),kc=Yi("floor");var _c,xc=Hi((function(t,e){return t*e}),1),Ec=Yi("round"),Tc=Hi((function(t,e){return t-e}),0);return zn.after=function(t,e){if("function"!=typeof e)throw new At(a);return t=gs(t),function(){if(--t<1)return e.apply(this,arguments)}},zn.ary=Co,zn.assign=vs,zn.assignIn=ks,zn.assignInWith=_s,zn.assignWith=xs,zn.at=Es,zn.before=Io,zn.bind=Ao,zn.bindAll=tc,zn.bindKey=Oo,zn.castArray=function(){if(!arguments.length)return[];var t=arguments[0];return qo(t)?t:[t]},zn.chain=fo,zn.chunk=function(t,e,n){e=(n?va(t,e,n):e===i)?1:wn(gs(e),0);var a=null==t?0:t.length;if(!a||e<1)return[];for(var o=0,s=0,c=r(pe(a/e));oa?0:a+n),(r=r===i||r>a?a:gs(r))<0&&(r+=a),r=n>r?0:bs(r);n>>0)?(t=ws(t))&&("string"==typeof e||null!=e&&!os(e))&&!(e=ui(e))&&cn(t)?_i(gn(t),0,n):t.split(e,n):[]},zn.spread=function(t,e){if("function"!=typeof t)throw new At(a);return e=null==e?0:wn(gs(e),0),Zr((function(n){var r=n[e],i=_i(n,0,e);return r&&Pe(i,r),De(t,this,i)}))},zn.tail=function(t){var e=null==t?0:t.length;return e?ii(t,1,e):[]},zn.take=function(t,e,n){return t&&t.length?ii(t,0,(e=n||e===i?1:gs(e))<0?0:e):[]},zn.takeRight=function(t,e,n){var r=null==t?0:t.length;return r?ii(t,(e=r-(e=n||e===i?1:gs(e)))<0?0:e,r):[]},zn.takeRightWhile=function(t,e){return t&&t.length?pi(t,la(e,3),!1,!0):[]},zn.takeWhile=function(t,e){return t&&t.length?pi(t,la(e,3)):[]},zn.tap=function(t,e){return e(t),t},zn.throttle=function(t,e,n){var r=!0,i=!0;if("function"!=typeof t)throw new At(a);return es(n)&&(r="leading"in n?!!n.leading:r,i="trailing"in n?!!n.trailing:i),Mo(t,e,{leading:r,maxWait:e,trailing:i})},zn.thru=po,zn.toArray=fs,zn.toPairs=Fs,zn.toPairsIn=$s,zn.toPath=function(t){return qo(t)?Le(t,Ra):ls(t)?[t]:Ai(Pa(ws(t)))},zn.toPlainObject=ys,zn.transform=function(t,e,n){var r=qo(t),i=r||Yo(t)||us(t);if(e=la(e,4),null==n){var a=t&&t.constructor;n=i?r?new a:[]:es(t)&&Qo(a)?Un(Wt(t)):{}}return(i?Ie:kr)(t,(function(t,r,i){return e(n,t,r,i)})),n},zn.unary=function(t){return Co(t,1)},zn.union=eo,zn.unionBy=no,zn.unionWith=ro,zn.uniq=function(t){return t&&t.length?hi(t):[]},zn.uniqBy=function(t,e){return t&&t.length?hi(t,la(e,2)):[]},zn.uniqWith=function(t,e){return e="function"==typeof e?e:i,t&&t.length?hi(t,i,e):[]},zn.unset=function(t,e){return null==t||di(t,e)},zn.unzip=io,zn.unzipWith=ao,zn.update=function(t,e,n){return null==t?t:fi(t,e,wi(n))},zn.updateWith=function(t,e,n,r){return r="function"==typeof r?r:i,null==t?t:fi(t,e,wi(n),r)},zn.values=zs,zn.valuesIn=function(t){return null==t?[]:tn(t,Ns(t))},zn.without=oo,zn.words=Qs,zn.wrap=function(t,e){return jo(wi(e),t)},zn.xor=so,zn.xorBy=co,zn.xorWith=lo,zn.zip=uo,zn.zipObject=function(t,e){return mi(t||[],e||[],nr)},zn.zipObjectDeep=function(t,e){return mi(t||[],e||[],ti)},zn.zipWith=ho,zn.entries=Fs,zn.entriesIn=$s,zn.extend=ks,zn.extendWith=_s,cc(zn,zn),zn.add=yc,zn.attempt=Js,zn.camelCase=Us,zn.capitalize=Hs,zn.ceil=wc,zn.clamp=function(t,e,n){return n===i&&(n=e,e=i),n!==i&&(n=(n=ms(n))==n?n:0),e!==i&&(e=(e=ms(e))==e?e:0),cr(ms(t),e,n)},zn.clone=function(t){return lr(t,4)},zn.cloneDeep=function(t){return lr(t,5)},zn.cloneDeepWith=function(t,e){return lr(t,5,e="function"==typeof e?e:i)},zn.cloneWith=function(t,e){return lr(t,4,e="function"==typeof e?e:i)},zn.conformsTo=function(t,e){return null==e||ur(t,e,Ms(e))},zn.deburr=Gs,zn.defaultTo=function(t,e){return null==t||t!=t?e:t},zn.divide=vc,zn.endsWith=function(t,e,n){t=ws(t),e=ui(e);var r=t.length,a=n=n===i?r:cr(gs(n),0,r);return(n-=e.length)>=0&&t.slice(n,a)==e},zn.eq=zo,zn.escape=function(t){return(t=ws(t))&&Z.test(t)?t.replace(Y,on):t},zn.escapeRegExp=function(t){return(t=ws(t))&&at.test(t)?t.replace(it,"\\$&"):t},zn.every=function(t,e,n){var r=qo(t)?Oe:gr;return n&&va(t,e,n)&&(e=i),r(t,la(e,3))},zn.find=mo,zn.findIndex=Ha,zn.findKey=function(t,e){return ze(t,la(e,3),kr)},zn.findLast=yo,zn.findLastIndex=Ga,zn.findLastKey=function(t,e){return ze(t,la(e,3),_r)},zn.floor=kc,zn.forEach=wo,zn.forEachRight=vo,zn.forIn=function(t,e){return null==t?t:wr(t,la(e,3),Ns)},zn.forInRight=function(t,e){return null==t?t:vr(t,la(e,3),Ns)},zn.forOwn=function(t,e){return t&&kr(t,la(e,3))},zn.forOwnRight=function(t,e){return t&&_r(t,la(e,3))},zn.get=Ds,zn.gt=Uo,zn.gte=Ho,zn.has=function(t,e){return null!=t&&ba(t,e,Cr)},zn.hasIn=Cs,zn.head=Va,zn.identity=ic,zn.includes=function(t,e,n,r){t=Wo(t)?t:zs(t),n=n&&!r?gs(n):0;var i=t.length;return n<0&&(n=wn(i+n,0)),cs(t)?n<=i&&t.indexOf(e,n)>-1:!!i&&He(t,e,n)>-1},zn.indexOf=function(t,e,n){var r=null==t?0:t.length;if(!r)return-1;var i=null==n?0:gs(n);return i<0&&(i=wn(r+i,0)),He(t,e,i)},zn.inRange=function(t,e,n){return e=ps(e),n===i?(n=e,e=0):n=ps(n),function(t,e,n){return t>=vn(e,n)&&t=-9007199254740991&&t<=p},zn.isSet=ss,zn.isString=cs,zn.isSymbol=ls,zn.isTypedArray=us,zn.isUndefined=function(t){return t===i},zn.isWeakMap=function(t){return ns(t)&&ga(t)==N},zn.isWeakSet=function(t){return ns(t)&&"[object WeakSet]"==Sr(t)},zn.join=function(t,e){return null==t?"":$e.call(t,e)},zn.kebabCase=qs,zn.last=Xa,zn.lastIndexOf=function(t,e,n){var r=null==t?0:t.length;if(!r)return-1;var a=r;return n!==i&&(a=(a=gs(n))<0?wn(r+a,0):vn(a,r-1)),e==e?function(t,e,n){for(var r=n+1;r--;)if(t[r]===e)return r;return r}(t,e,a):Ue(t,qe,a,!0)},zn.lowerCase=Vs,zn.lowerFirst=Ws,zn.lt=hs,zn.lte=ds,zn.max=function(t){return t&&t.length?br(t,ic,Dr):i},zn.maxBy=function(t,e){return t&&t.length?br(t,la(e,2),Dr):i},zn.mean=function(t){return Ve(t,ic)},zn.meanBy=function(t,e){return Ve(t,la(e,2))},zn.min=function(t){return t&&t.length?br(t,ic,Fr):i},zn.minBy=function(t,e){return t&&t.length?br(t,la(e,2),Fr):i},zn.stubArray=bc,zn.stubFalse=mc,zn.stubObject=function(){return{}},zn.stubString=function(){return""},zn.stubTrue=function(){return!0},zn.multiply=xc,zn.nth=function(t,e){return t&&t.length?Gr(t,gs(e)):i},zn.noConflict=function(){return ge._===this&&(ge._=zt),this},zn.noop=lc,zn.now=Do,zn.pad=function(t,e,n){t=ws(t);var r=(e=gs(e))?pn(t):0;if(!e||r>=e)return t;var i=(e-r)/2;return qi(be(i),n)+t+qi(pe(i),n)},zn.padEnd=function(t,e,n){t=ws(t);var r=(e=gs(e))?pn(t):0;return e&&re){var r=t;t=e,e=r}if(n||t%1||e%1){var a=xn();return vn(t+a*(e-t+he("1e-"+((a+"").length-1))),e)}return Yr(t,e)},zn.reduce=function(t,e,n){var r=qo(t)?Re:Ye,i=arguments.length<3;return r(t,la(e,4),n,i,fr)},zn.reduceRight=function(t,e,n){var r=qo(t)?je:Ye,i=arguments.length<3;return r(t,la(e,4),n,i,pr)},zn.repeat=function(t,e,n){return e=(n?va(t,e,n):e===i)?1:gs(e),Xr(ws(t),e)},zn.replace=function(){var t=arguments,e=ws(t[0]);return t.length<3?e:e.replace(t[1],t[2])},zn.result=function(t,e,n){var r=-1,a=(e=vi(e,t)).length;for(a||(a=1,t=i);++rp)return[];var n=b,r=vn(t,b);e=la(e),t-=b;for(var i=Ze(r,e);++n=o)return t;var c=n-pn(r);if(c<1)return r;var l=s?_i(s,0,c).join(""):t.slice(0,c);if(a===i)return l+r;if(s&&(c+=l.length-c),os(a)){if(t.slice(c).search(a)){var u,h=l;for(a.global||(a=Ct(a.source,ws(gt.exec(a))+"g")),a.lastIndex=0;u=a.exec(h);)var d=u.index;l=l.slice(0,d===i?c:d)}}else if(t.indexOf(ui(a),c)!=c){var f=l.lastIndexOf(a);f>-1&&(l=l.slice(0,f))}return l+r},zn.unescape=function(t){return(t=ws(t))&&X.test(t)?t.replace(K,mn):t},zn.uniqueId=function(t){var e=++Rt;return ws(t)+e},zn.upperCase=Xs,zn.upperFirst=Zs,zn.each=wo,zn.eachRight=vo,zn.first=Va,cc(zn,(_c={},kr(zn,(function(t,e){Pt.call(zn.prototype,e)||(_c[e]=t)})),_c),{chain:!1}),zn.VERSION="4.17.21",Ie(["bind","bindKey","curry","curryRight","partial","partialRight"],(function(t){zn[t].placeholder=zn})),Ie(["drop","take"],(function(t,e){qn.prototype[t]=function(n){n=n===i?1:wn(gs(n),0);var r=this.__filtered__&&!e?new qn(this):this.clone();return r.__filtered__?r.__takeCount__=vn(n,r.__takeCount__):r.__views__.push({size:vn(n,b),type:t+(r.__dir__<0?"Right":"")}),r},qn.prototype[t+"Right"]=function(e){return this.reverse()[t](e).reverse()}})),Ie(["filter","map","takeWhile"],(function(t,e){var n=e+1,r=1==n||3==n;qn.prototype[t]=function(t){var e=this.clone();return e.__iteratees__.push({iteratee:la(t,3),type:n}),e.__filtered__=e.__filtered__||r,e}})),Ie(["head","last"],(function(t,e){var n="take"+(e?"Right":"");qn.prototype[t]=function(){return this[n](1).value()[0]}})),Ie(["initial","tail"],(function(t,e){var n="drop"+(e?"":"Right");qn.prototype[t]=function(){return this.__filtered__?new qn(this):this[n](1)}})),qn.prototype.compact=function(){return this.filter(ic)},qn.prototype.find=function(t){return this.filter(t).head()},qn.prototype.findLast=function(t){return this.reverse().find(t)},qn.prototype.invokeMap=Zr((function(t,e){return"function"==typeof t?new qn(this):this.map((function(n){return Or(n,t,e)}))})),qn.prototype.reject=function(t){return this.filter(Po(la(t)))},qn.prototype.slice=function(t,e){t=gs(t);var n=this;return n.__filtered__&&(t>0||e<0)?new qn(n):(t<0?n=n.takeRight(-t):t&&(n=n.drop(t)),e!==i&&(n=(e=gs(e))<0?n.dropRight(-e):n.take(e-t)),n)},qn.prototype.takeRightWhile=function(t){return this.reverse().takeWhile(t).reverse()},qn.prototype.toArray=function(){return this.take(b)},kr(qn.prototype,(function(t,e){var n=/^(?:filter|find|map|reject)|While$/.test(e),r=/^(?:head|last)$/.test(e),a=zn[r?"take"+("last"==e?"Right":""):e],o=r||/^find/.test(e);a&&(zn.prototype[e]=function(){var e=this.__wrapped__,s=r?[1]:arguments,c=e instanceof qn,l=s[0],u=c||qo(e),h=function(t){var e=a.apply(zn,Pe([t],s));return r&&d?e[0]:e};u&&n&&"function"==typeof l&&1!=l.length&&(c=u=!1);var d=this.__chain__,f=!!this.__actions__.length,p=o&&!d,g=c&&!f;if(!o&&u){e=g?e:new qn(this);var b=t.apply(e,s);return b.__actions__.push({func:po,args:[h],thisArg:i}),new Gn(b,d)}return p&&g?t.apply(this,s):(b=this.thru(h),p?r?b.value()[0]:b.value():b)})})),Ie(["pop","push","shift","sort","splice","unshift"],(function(t){var e=Ot[t],n=/^(?:push|sort|unshift)$/.test(t)?"tap":"thru",r=/^(?:pop|shift)$/.test(t);zn.prototype[t]=function(){var t=arguments;if(r&&!this.__chain__){var i=this.value();return e.apply(qo(i)?i:[],t)}return this[n]((function(n){return e.apply(qo(n)?n:[],t)}))}})),kr(qn.prototype,(function(t,e){var n=zn[e];if(n){var r=n.name+"";Pt.call(Mn,r)||(Mn[r]=[]),Mn[r].push({name:e,func:n})}})),Mn[zi(i,2).name]=[{name:"wrapper",func:i}],qn.prototype.clone=function(){var t=new qn(this.__wrapped__);return t.__actions__=Ai(this.__actions__),t.__dir__=this.__dir__,t.__filtered__=this.__filtered__,t.__iteratees__=Ai(this.__iteratees__),t.__takeCount__=this.__takeCount__,t.__views__=Ai(this.__views__),t},qn.prototype.reverse=function(){if(this.__filtered__){var t=new qn(this);t.__dir__=-1,t.__filtered__=!0}else(t=this.clone()).__dir__*=-1;return t},qn.prototype.value=function(){var t=this.__wrapped__.value(),e=this.__dir__,n=qo(t),r=e<0,i=n?t.length:0,a=function(t,e,n){var r=-1,i=n.length;for(;++r=this.__values__.length;return{done:t,value:t?i:this.__values__[this.__index__++]}},zn.prototype.plant=function(t){for(var e,n=this;n instanceof Hn;){var r=Fa(n);r.__index__=0,r.__values__=i,e?a.__wrapped__=r:e=r;var a=r;n=n.__wrapped__}return a.__wrapped__=t,e},zn.prototype.reverse=function(){var t=this.__wrapped__;if(t instanceof qn){var e=t;return this.__actions__.length&&(e=new qn(this)),(e=e.reverse()).__actions__.push({func:po,args:[to],thisArg:i}),new Gn(e,this.__chain__)}return this.thru(to)},zn.prototype.toJSON=zn.prototype.valueOf=zn.prototype.value=function(){return gi(this.__wrapped__,this.__actions__)},zn.prototype.first=zn.prototype.head,Qt&&(zn.prototype[Qt]=function(){return this}),zn}();ge._=yn,(r=function(){return yn}.call(e,n,e,t))===i||(t.exports=r)}.call(this)},3231:function(t,e,n){(t=n.nmd(t)).exports=function(){"use strict";function r(t){for(var e=[],n=1;n=e?t:""+Array(e+1-r.length).join(n)+t},y={s:m,z:function(t){var e=-t.utcOffset(),n=Math.abs(e),r=Math.floor(n/60),i=n%60;return(e<=0?"+":"-")+m(r,2,"0")+":"+m(i,2,"0")},m:function t(e,n){if(e.date()1)return t(o[0])}else{var s=e.name;v[s]=e,i=s}return!r&&i&&(w=i),i||!r&&w},x=function(t,e){if(k(t))return t.clone();var n="object"==typeof e?e:{};return n.date=t,n.args=arguments,new T(n)},E=y;E.l=_,E.i=k,E.w=function(t,e){return x(t,{locale:e.$L,utc:e.$u,x:e.$x,$offset:e.$offset})};var T=function(){function b(t){this.$L=_(t.locale,null,!0),this.parse(t)}var m=b.prototype;return m.parse=function(t){this.$d=function(t){var e=t.date,n=t.utc;if(null===e)return new Date(NaN);if(E.u(e))return new Date;if(e instanceof Date)return new Date(e);if("string"==typeof e&&!/Z$/i.test(e)){var r=e.match(p);if(r){var i=r[2]-1||0,a=(r[7]||"0").substring(0,3);return n?new Date(Date.UTC(r[1],i,r[3]||1,r[4]||0,r[5]||0,r[6]||0,a)):new Date(r[1],i,r[3]||1,r[4]||0,r[5]||0,r[6]||0,a)}}return new Date(e)}(t),this.$x=t.x||{},this.init()},m.init=function(){var t=this.$d;this.$y=t.getFullYear(),this.$M=t.getMonth(),this.$D=t.getDate(),this.$W=t.getDay(),this.$H=t.getHours(),this.$m=t.getMinutes(),this.$s=t.getSeconds(),this.$ms=t.getMilliseconds()},m.$utils=function(){return E},m.isValid=function(){return this.$d.toString()!==f},m.isSame=function(t,e){var n=x(t);return this.startOf(e)<=n&&n<=this.endOf(e)},m.isAfter=function(t,e){return x(t){},debug:(...t)=>{},info:(...t)=>{},warn:(...t)=>{},error:(...t)=>{},fatal:(...t)=>{}},d=function(t="fatal"){let e=u.fatal;"string"==typeof t?(t=t.toLowerCase())in u&&(e=u[t]):"number"==typeof t&&(e=t),h.trace=()=>{},h.debug=()=>{},h.info=()=>{},h.warn=()=>{},h.error=()=>{},h.fatal=()=>{},e<=u.fatal&&(h.fatal=void console.error),e<=u.error&&(h.error=void console.error),e<=u.warn&&(h.warn=void console.warn),e<=u.info&&(h.info=void console.info),e<=u.debug&&(h.debug=void console.debug),e<=u.trace&&(h.trace=void console.debug)};var f={};Object.defineProperty(f,"__esModule",{value:!0});var p=f.sanitizeUrl=void 0,g=/^([^\w]*)(javascript|data|vbscript)/im,b=/&#(\w+)(^\w|;)?/g,m=/[\u0000-\u001F\u007F-\u009F\u2000-\u200D\uFEFF]/gim,y=/^([^:]+):/gm,w=[".","/"];function v(t){return w.indexOf(t[0])>-1}function k(t){return t.replace(b,(function(t,e){return String.fromCharCode(e)}))}function _(t){var e=k(t||"").replace(m,"").trim();if(!e)return"about:blank";if(v(e))return e;var n=e.match(y);if(!n)return e;var r=n[0];return g.test(r)?"about:blank":e}function x(t,e){return null==t||null==e?NaN:te?1:t>=e?0:NaN}function E(t,e){return null==t||null==e?NaN:et?1:e>=t?0:NaN}function T(t){let e,n,r;function i(t,r,i=0,a=t.length){if(i>>1;n(t[e],r)<0?i=e+1:a=e}while(i>>1;n(t[e],r)<=0?i=e+1:a=e}while(in&&r(t[o-1],e)>-r(t[o],e)?o-1:o}return 2!==t.length?(e=x,n=(e,n)=>x(t(e),n),r=(e,n)=>t(e)-n):(e=t===x||t===E?t:S,n=t,r=t),{left:i,center:o,right:a}}function S(){return 0}function D(t){return null===t?NaN:+t}p=f.sanitizeUrl=_;const C=T(x).right;T(D).center;const I=C;class A extends Map{constructor(t,e=B){if(super(),Object.defineProperties(this,{_intern:{value:new Map},_key:{value:e}}),null!=t)for(const[e,n]of t)this.set(e,n)}get(t){return super.get(O(this,t))}has(t){return super.has(O(this,t))}set(t,e){return super.set(M(this,t),e)}delete(t){return super.delete(N(this,t))}}function O({_intern:t,_key:e},n){const r=e(n);return t.has(r)?t.get(r):n}function M({_intern:t,_key:e},n){const r=e(n);return t.has(r)?t.get(r):(t.set(r,n),n)}function N({_intern:t,_key:e},n){const r=e(n);return t.has(r)&&(n=t.get(r),t.delete(r)),n}function B(t){return null!==t&&"object"==typeof t?t.valueOf():t}var L=Math.sqrt(50),P=Math.sqrt(10),R=Math.sqrt(2);function j(t,e,n){var r,i,a,o,s=-1;if(n=+n,(t=+t)==(e=+e)&&n>0)return[t];if((r=e0){let n=Math.round(t/o),r=Math.round(e/o);for(n*oe&&--r,a=new Array(i=r-n+1);++se&&--r,a=new Array(i=r-n+1);++s=0?(a>=L?10:a>=P?5:a>=R?2:1)*Math.pow(10,i):-Math.pow(10,-i)/(a>=L?10:a>=P?5:a>=R?2:1)}function $(t,e,n){var r=Math.abs(e-t)/Math.max(0,n),i=Math.pow(10,Math.floor(Math.log(r)/Math.LN10)),a=r/i;return a>=L?i*=10:a>=P?i*=5:a>=R&&(i*=2),e=e)&&(n=e);else{let r=-1;for(let i of t)null!=(i=e(i,++r,t))&&(n=i)&&(n=i)}return n}function U(t,e){let n;if(void 0===e)for(const e of t)null!=e&&(n>e||void 0===n&&e>=e)&&(n=e);else{let r=-1;for(let i of t)null!=(i=e(i,++r,t))&&(n>i||void 0===n&&i>=i)&&(n=i)}return n}function H(t){return t}var G=1,q=2,V=3,W=4,K=1e-6;function Y(t){return"translate("+t+",0)"}function X(t){return"translate(0,"+t+")"}function Z(t){return e=>+t(e)}function Q(t,e){return e=Math.max(0,t.bandwidth()-2*e)/2,t.round()&&(e=Math.round(e)),n=>+t(n)+e}function J(){return!this.__axis}function tt(t,e){var n=[],r=null,i=null,a=6,o=6,s=3,c=typeof window<"u"&&window.devicePixelRatio>1?0:.5,l=t===G||t===W?-1:1,u=t===W||t===q?"x":"y",h=t===G||t===V?Y:X;function d(d){var f=r??(e.ticks?e.ticks.apply(e,n):e.domain()),p=i??(e.tickFormat?e.tickFormat.apply(e,n):H),g=Math.max(a,0)+s,b=e.range(),m=+b[0]+c,y=+b[b.length-1]+c,w=(e.bandwidth?Q:Z)(e.copy(),c),v=d.selection?d.selection():d,k=v.selectAll(".domain").data([null]),_=v.selectAll(".tick").data(f,e).order(),x=_.exit(),E=_.enter().append("g").attr("class","tick"),T=_.select("line"),S=_.select("text");k=k.merge(k.enter().insert("path",".tick").attr("class","domain").attr("stroke","currentColor")),_=_.merge(E),T=T.merge(E.append("line").attr("stroke","currentColor").attr(u+"2",l*a)),S=S.merge(E.append("text").attr("fill","currentColor").attr(u,l*g).attr("dy",t===G?"0em":t===V?"0.71em":"0.32em")),d!==v&&(k=k.transition(d),_=_.transition(d),T=T.transition(d),S=S.transition(d),x=x.transition(d).attr("opacity",K).attr("transform",(function(t){return isFinite(t=w(t))?h(t+c):this.getAttribute("transform")})),E.attr("opacity",K).attr("transform",(function(t){var e=this.parentNode.__axis;return h((e&&isFinite(e=e(t))?e:w(t))+c)}))),x.remove(),k.attr("d",t===W||t===q?o?"M"+l*o+","+m+"H"+c+"V"+y+"H"+l*o:"M"+c+","+m+"V"+y:o?"M"+m+","+l*o+"V"+c+"H"+y+"V"+l*o:"M"+m+","+c+"H"+y),_.attr("opacity",1).attr("transform",(function(t){return h(w(t)+c)})),T.attr(u+"2",l*a),S.attr(u,l*g).text(p),v.filter(J).attr("fill","none").attr("font-size",10).attr("font-family","sans-serif").attr("text-anchor",t===q?"start":t===W?"end":"middle"),v.each((function(){this.__axis=w}))}return d.scale=function(t){return arguments.length?(e=t,d):e},d.ticks=function(){return n=Array.from(arguments),d},d.tickArguments=function(t){return arguments.length?(n=null==t?[]:Array.from(t),d):n.slice()},d.tickValues=function(t){return arguments.length?(r=null==t?null:Array.from(t),d):r&&r.slice()},d.tickFormat=function(t){return arguments.length?(i=t,d):i},d.tickSize=function(t){return arguments.length?(a=o=+t,d):a},d.tickSizeInner=function(t){return arguments.length?(a=+t,d):a},d.tickSizeOuter=function(t){return arguments.length?(o=+t,d):o},d.tickPadding=function(t){return arguments.length?(s=+t,d):s},d.offset=function(t){return arguments.length?(c=+t,d):c},d}function et(t){return tt(G,t)}function nt(t){return tt(V,t)}var rt={value:()=>{}};function it(){for(var t,e=0,n=arguments.length,r={};e=0&&(n=t.slice(r+1),t=t.slice(0,r)),t&&!e.hasOwnProperty(t))throw new Error("unknown type: "+t);return{type:t,name:n}}))}function st(t,e){for(var n,r=0,i=t.length;r0)for(var n,r,i=new Array(n),a=0;a=0&&"xmlns"!==(e=t.slice(0,n))&&(t=t.slice(n+1)),ut.hasOwnProperty(e)?{space:ut[e],local:t}:t}function dt(t){return function(){var e=this.ownerDocument,n=this.namespaceURI;return n===lt&&e.documentElement.namespaceURI===lt?e.createElement(t):e.createElementNS(n,t)}}function ft(t){return function(){return this.ownerDocument.createElementNS(t.space,t.local)}}function pt(t){var e=ht(t);return(e.local?ft:dt)(e)}function gt(){}function bt(t){return null==t?gt:function(){return this.querySelector(t)}}function mt(t){"function"!=typeof t&&(t=bt(t));for(var e=this._groups,n=e.length,r=new Array(n),i=0;i=v&&(v=w+1);!(y=b[v])&&++v=0;)(r=i[a])&&(o&&4^r.compareDocumentPosition(o)&&o.parentNode.insertBefore(r,o),o=r);return this}function Wt(t){function e(e,n){return e&&n?t(e.__data__,n.__data__):!e-!n}t||(t=Kt);for(var n=this._groups,r=n.length,i=new Array(r),a=0;ae?1:t>=e?0:NaN}function Yt(){var t=arguments[0];return arguments[0]=this,t.apply(null,arguments),this}function Xt(){return Array.from(this)}function Zt(){for(var t=this._groups,e=0,n=t.length;e1?this.each((null==e?le:"function"==typeof e?he:ue)(t,e,n??"")):fe(this.node(),t)}function fe(t,e){return t.style.getPropertyValue(e)||ce(t).getComputedStyle(t,null).getPropertyValue(e)}function pe(t){return function(){delete this[t]}}function ge(t,e){return function(){this[t]=e}}function be(t,e){return function(){var n=e.apply(this,arguments);null==n?delete this[t]:this[t]=n}}function me(t,e){return arguments.length>1?this.each((null==e?pe:"function"==typeof e?be:ge)(t,e)):this.node()[t]}function ye(t){return t.trim().split(/^|\s+/)}function we(t){return t.classList||new ve(t)}function ve(t){this._node=t,this._names=ye(t.getAttribute("class")||"")}function ke(t,e){for(var n=we(t),r=-1,i=e.length;++r=0&&(e=t.slice(n+1),t=t.slice(0,n)),{type:t,name:e}}))}function Xe(t){return function(){var e=this.__on;if(e){for(var n,r=0,i=-1,a=e.length;r=0&&(this._names.splice(e,1),this._node.setAttribute("class",this._names.join(" ")))},contains:function(t){return this._names.indexOf(t)>=0}};var an=[null];function on(t,e){this._groups=t,this._parents=e}function sn(){return new on([[document.documentElement]],an)}function cn(){return this}function ln(t){return"string"==typeof t?new on([[document.querySelector(t)]],[document.documentElement]):new on([[t]],an)}function un(t){return"string"==typeof t?new on([document.querySelectorAll(t)],[document.documentElement]):new on([yt(t)],an)}function hn(t,e,n){t.prototype=e.prototype=n,n.constructor=t}function dn(t,e){var n=Object.create(t.prototype);for(var r in e)n[r]=e[r];return n}function fn(){}on.prototype=sn.prototype={constructor:on,select:mt,selectAll:_t,selectChild:Ct,selectChildren:Mt,filter:Nt,data:zt,enter:Lt,exit:Ht,join:Gt,merge:qt,selection:cn,order:Vt,sort:Wt,call:Yt,nodes:Xt,node:Zt,size:Qt,empty:Jt,each:te,attr:se,style:de,property:me,classed:Se,text:Ae,html:Be,raise:Pe,lower:je,append:Fe,insert:ze,remove:He,clone:Ve,datum:We,on:Qe,dispatch:nn,[Symbol.iterator]:rn};var pn=.7,gn=1/pn,bn="\\s*([+-]?\\d+)\\s*",mn="\\s*([+-]?(?:\\d*\\.)?\\d+(?:[eE][+-]?\\d+)?)\\s*",yn="\\s*([+-]?(?:\\d*\\.)?\\d+(?:[eE][+-]?\\d+)?)%\\s*",wn=/^#([0-9a-f]{3,8})$/,vn=new RegExp(`^rgb\\(${bn},${bn},${bn}\\)$`),kn=new RegExp(`^rgb\\(${yn},${yn},${yn}\\)$`),_n=new RegExp(`^rgba\\(${bn},${bn},${bn},${mn}\\)$`),xn=new RegExp(`^rgba\\(${yn},${yn},${yn},${mn}\\)$`),En=new RegExp(`^hsl\\(${mn},${yn},${yn}\\)$`),Tn=new RegExp(`^hsla\\(${mn},${yn},${yn},${mn}\\)$`),Sn={aliceblue:15792383,antiquewhite:16444375,aqua:65535,aquamarine:8388564,azure:15794175,beige:16119260,bisque:16770244,black:0,blanchedalmond:16772045,blue:255,blueviolet:9055202,brown:10824234,burlywood:14596231,cadetblue:6266528,chartreuse:8388352,chocolate:13789470,coral:16744272,cornflowerblue:6591981,cornsilk:16775388,crimson:14423100,cyan:65535,darkblue:139,darkcyan:35723,darkgoldenrod:12092939,darkgray:11119017,darkgreen:25600,darkgrey:11119017,darkkhaki:12433259,darkmagenta:9109643,darkolivegreen:5597999,darkorange:16747520,darkorchid:10040012,darkred:9109504,darksalmon:15308410,darkseagreen:9419919,darkslateblue:4734347,darkslategray:3100495,darkslategrey:3100495,darkturquoise:52945,darkviolet:9699539,deeppink:16716947,deepskyblue:49151,dimgray:6908265,dimgrey:6908265,dodgerblue:2003199,firebrick:11674146,floralwhite:16775920,forestgreen:2263842,fuchsia:16711935,gainsboro:14474460,ghostwhite:16316671,gold:16766720,goldenrod:14329120,gray:8421504,green:32768,greenyellow:11403055,grey:8421504,honeydew:15794160,hotpink:16738740,indianred:13458524,indigo:4915330,ivory:16777200,khaki:15787660,lavender:15132410,lavenderblush:16773365,lawngreen:8190976,lemonchiffon:16775885,lightblue:11393254,lightcoral:15761536,lightcyan:14745599,lightgoldenrodyellow:16448210,lightgray:13882323,lightgreen:9498256,lightgrey:13882323,lightpink:16758465,lightsalmon:16752762,lightseagreen:2142890,lightskyblue:8900346,lightslategray:7833753,lightslategrey:7833753,lightsteelblue:11584734,lightyellow:16777184,lime:65280,limegreen:3329330,linen:16445670,magenta:16711935,maroon:8388608,mediumaquamarine:6737322,mediumblue:205,mediumorchid:12211667,mediumpurple:9662683,mediumseagreen:3978097,mediumslateblue:8087790,mediumspringgreen:64154,mediumturquoise:4772300,mediumvioletred:13047173,midnightblue:1644912,mintcream:16121850,mistyrose:16770273,moccasin:16770229,navajowhite:16768685,navy:128,oldlace:16643558,olive:8421376,olivedrab:7048739,orange:16753920,orangered:16729344,orchid:14315734,palegoldenrod:15657130,palegreen:10025880,paleturquoise:11529966,palevioletred:14381203,papayawhip:16773077,peachpuff:16767673,peru:13468991,pink:16761035,plum:14524637,powderblue:11591910,purple:8388736,rebeccapurple:6697881,red:16711680,rosybrown:12357519,royalblue:4286945,saddlebrown:9127187,salmon:16416882,sandybrown:16032864,seagreen:3050327,seashell:16774638,sienna:10506797,silver:12632256,skyblue:8900331,slateblue:6970061,slategray:7372944,slategrey:7372944,snow:16775930,springgreen:65407,steelblue:4620980,tan:13808780,teal:32896,thistle:14204888,tomato:16737095,turquoise:4251856,violet:15631086,wheat:16113331,white:16777215,whitesmoke:16119285,yellow:16776960,yellowgreen:10145074};function Dn(){return this.rgb().formatHex()}function Cn(){return this.rgb().formatHex8()}function In(){return Gn(this).formatHsl()}function An(){return this.rgb().formatRgb()}function On(t){var e,n;return t=(t+"").trim().toLowerCase(),(e=wn.exec(t))?(n=e[1].length,e=parseInt(e[1],16),6===n?Mn(e):3===n?new Pn(e>>8&15|e>>4&240,e>>4&15|240&e,(15&e)<<4|15&e,1):8===n?Nn(e>>24&255,e>>16&255,e>>8&255,(255&e)/255):4===n?Nn(e>>12&15|e>>8&240,e>>8&15|e>>4&240,e>>4&15|240&e,((15&e)<<4|15&e)/255):null):(e=vn.exec(t))?new Pn(e[1],e[2],e[3],1):(e=kn.exec(t))?new Pn(255*e[1]/100,255*e[2]/100,255*e[3]/100,1):(e=_n.exec(t))?Nn(e[1],e[2],e[3],e[4]):(e=xn.exec(t))?Nn(255*e[1]/100,255*e[2]/100,255*e[3]/100,e[4]):(e=En.exec(t))?Hn(e[1],e[2]/100,e[3]/100,1):(e=Tn.exec(t))?Hn(e[1],e[2]/100,e[3]/100,e[4]):Sn.hasOwnProperty(t)?Mn(Sn[t]):"transparent"===t?new Pn(NaN,NaN,NaN,0):null}function Mn(t){return new Pn(t>>16&255,t>>8&255,255&t,1)}function Nn(t,e,n,r){return r<=0&&(t=e=n=NaN),new Pn(t,e,n,r)}function Bn(t){return t instanceof fn||(t=On(t)),t?new Pn((t=t.rgb()).r,t.g,t.b,t.opacity):new Pn}function Ln(t,e,n,r){return 1===arguments.length?Bn(t):new Pn(t,e,n,r??1)}function Pn(t,e,n,r){this.r=+t,this.g=+e,this.b=+n,this.opacity=+r}function Rn(){return`#${Un(this.r)}${Un(this.g)}${Un(this.b)}`}function jn(){return`#${Un(this.r)}${Un(this.g)}${Un(this.b)}${Un(255*(isNaN(this.opacity)?1:this.opacity))}`}function Fn(){const t=$n(this.opacity);return`${1===t?"rgb(":"rgba("}${zn(this.r)}, ${zn(this.g)}, ${zn(this.b)}${1===t?")":`, ${t})`}`}function $n(t){return isNaN(t)?1:Math.max(0,Math.min(1,t))}function zn(t){return Math.max(0,Math.min(255,Math.round(t)||0))}function Un(t){return((t=zn(t))<16?"0":"")+t.toString(16)}function Hn(t,e,n,r){return r<=0?t=e=n=NaN:n<=0||n>=1?t=e=NaN:e<=0&&(t=NaN),new Vn(t,e,n,r)}function Gn(t){if(t instanceof Vn)return new Vn(t.h,t.s,t.l,t.opacity);if(t instanceof fn||(t=On(t)),!t)return new Vn;if(t instanceof Vn)return t;var e=(t=t.rgb()).r/255,n=t.g/255,r=t.b/255,i=Math.min(e,n,r),a=Math.max(e,n,r),o=NaN,s=a-i,c=(a+i)/2;return s?(o=e===a?(n-r)/s+6*(n0&&c<1?0:o,new Vn(o,s,c,t.opacity)}function qn(t,e,n,r){return 1===arguments.length?Gn(t):new Vn(t,e,n,r??1)}function Vn(t,e,n,r){this.h=+t,this.s=+e,this.l=+n,this.opacity=+r}function Wn(t){return(t=(t||0)%360)<0?t+360:t}function Kn(t){return Math.max(0,Math.min(1,t||0))}function Yn(t,e,n){return 255*(t<60?e+(n-e)*t/60:t<180?n:t<240?e+(n-e)*(240-t)/60:e)}hn(fn,On,{copy(t){return Object.assign(new this.constructor,this,t)},displayable(){return this.rgb().displayable()},hex:Dn,formatHex:Dn,formatHex8:Cn,formatHsl:In,formatRgb:An,toString:An}),hn(Pn,Ln,dn(fn,{brighter(t){return t=null==t?gn:Math.pow(gn,t),new Pn(this.r*t,this.g*t,this.b*t,this.opacity)},darker(t){return t=null==t?pn:Math.pow(pn,t),new Pn(this.r*t,this.g*t,this.b*t,this.opacity)},rgb(){return this},clamp(){return new Pn(zn(this.r),zn(this.g),zn(this.b),$n(this.opacity))},displayable(){return-.5<=this.r&&this.r<255.5&&-.5<=this.g&&this.g<255.5&&-.5<=this.b&&this.b<255.5&&0<=this.opacity&&this.opacity<=1},hex:Rn,formatHex:Rn,formatHex8:jn,formatRgb:Fn,toString:Fn})),hn(Vn,qn,dn(fn,{brighter(t){return t=null==t?gn:Math.pow(gn,t),new Vn(this.h,this.s,this.l*t,this.opacity)},darker(t){return t=null==t?pn:Math.pow(pn,t),new Vn(this.h,this.s,this.l*t,this.opacity)},rgb(){var t=this.h%360+360*(this.h<0),e=isNaN(t)||isNaN(this.s)?0:this.s,n=this.l,r=n+(n<.5?n:1-n)*e,i=2*n-r;return new Pn(Yn(t>=240?t-240:t+120,i,r),Yn(t,i,r),Yn(t<120?t+240:t-120,i,r),this.opacity)},clamp(){return new Vn(Wn(this.h),Kn(this.s),Kn(this.l),$n(this.opacity))},displayable(){return(0<=this.s&&this.s<=1||isNaN(this.s))&&0<=this.l&&this.l<=1&&0<=this.opacity&&this.opacity<=1},formatHsl(){const t=$n(this.opacity);return`${1===t?"hsl(":"hsla("}${Wn(this.h)}, ${100*Kn(this.s)}%, ${100*Kn(this.l)}%${1===t?")":`, ${t})`}`}}));const Xn=Math.PI/180,Zn=180/Math.PI,Qn=18,Jn=.96422,tr=1,er=.82521,nr=4/29,rr=6/29,ir=3*rr*rr,ar=rr*rr*rr;function or(t){if(t instanceof cr)return new cr(t.l,t.a,t.b,t.opacity);if(t instanceof gr)return br(t);t instanceof Pn||(t=Bn(t));var e,n,r=dr(t.r),i=dr(t.g),a=dr(t.b),o=lr((.2225045*r+.7168786*i+.0606169*a)/tr);return r===i&&i===a?e=n=o:(e=lr((.4360747*r+.3850649*i+.1430804*a)/Jn),n=lr((.0139322*r+.0971045*i+.7141733*a)/er)),new cr(116*o-16,500*(e-o),200*(o-n),t.opacity)}function sr(t,e,n,r){return 1===arguments.length?or(t):new cr(t,e,n,r??1)}function cr(t,e,n,r){this.l=+t,this.a=+e,this.b=+n,this.opacity=+r}function lr(t){return t>ar?Math.pow(t,1/3):t/ir+nr}function ur(t){return t>rr?t*t*t:ir*(t-nr)}function hr(t){return 255*(t<=.0031308?12.92*t:1.055*Math.pow(t,1/2.4)-.055)}function dr(t){return(t/=255)<=.04045?t/12.92:Math.pow((t+.055)/1.055,2.4)}function fr(t){if(t instanceof gr)return new gr(t.h,t.c,t.l,t.opacity);if(t instanceof cr||(t=or(t)),0===t.a&&0===t.b)return new gr(NaN,0()=>t;function yr(t,e){return function(n){return t+n*e}}function wr(t,e,n){return t=Math.pow(t,n),e=Math.pow(e,n)-t,n=1/n,function(r){return Math.pow(t+r*e,n)}}function vr(t,e){var n=e-t;return n?yr(t,n>180||n<-180?n-360*Math.round(n/360):n):mr(isNaN(t)?e:t)}function kr(t){return 1==(t=+t)?_r:function(e,n){return n-e?wr(e,n,t):mr(isNaN(e)?n:e)}}function _r(t,e){var n=e-t;return n?yr(t,n):mr(isNaN(t)?e:t)}const xr=function t(e){var n=kr(e);function r(t,e){var r=n((t=Ln(t)).r,(e=Ln(e)).r),i=n(t.g,e.g),a=n(t.b,e.b),o=_r(t.opacity,e.opacity);return function(e){return t.r=r(e),t.g=i(e),t.b=a(e),t.opacity=o(e),t+""}}return r.gamma=t,r}(1);function Er(t,e){e||(e=[]);var n,r=t?Math.min(e.length,t.length):0,i=e.slice();return function(a){for(n=0;na&&(i=e.slice(a,i),s[o]?s[o]+=i:s[++o]=i),(n=n[0])===(r=r[0])?s[o]?s[o]+=r:s[++o]=r:(s[++o]=null,c.push({i:o,x:Cr(n,r)})),a=Or.lastIndex;return a180?e+=360:e-t>180&&(t+=360),a.push({i:n.push(i(n)+"rotate(",null,r)-2,x:Cr(t,e)})):e&&n.push(i(n)+"rotate("+e+r)}function s(t,e,n,a){t!==e?a.push({i:n.push(i(n)+"skewX(",null,r)-2,x:Cr(t,e)}):e&&n.push(i(n)+"skewX("+e+r)}function c(t,e,n,r,a,o){if(t!==n||e!==r){var s=a.push(i(a)+"scale(",null,",",null,")");o.push({i:s-4,x:Cr(t,n)},{i:s-2,x:Cr(e,r)})}else(1!==n||1!==r)&&a.push(i(a)+"scale("+n+","+r+")")}return function(e,n){var r=[],i=[];return e=t(e),n=t(n),a(e.translateX,e.translateY,n.translateX,n.translateY,r,i),o(e.rotate,n.rotate,r,i),s(e.skewX,n.skewX,r,i),c(e.scaleX,e.scaleY,n.scaleX,n.scaleY,r,i),e=n=null,function(t){for(var e,n=-1,a=i.length;++n=0&&e._call.call(void 0,t),e=e._next;--Xr}function ui(){ei=(ti=ri.now())+ni,Xr=Zr=0;try{li()}finally{Xr=0,di(),ei=0}}function hi(){var t=ri.now(),e=t-ti;e>Jr&&(ni-=e,ti=t)}function di(){for(var t,e,n=Kr,r=1/0;n;)n._call?(r>n._time&&(r=n._time),t=n,n=n._next):(e=n._next,n._next=null,n=t?t._next=e:Kr=e);Yr=t,fi(r)}function fi(t){Xr||(Zr&&(Zr=clearTimeout(Zr)),t-ei>24?(t<1/0&&(Zr=setTimeout(ui,t-ri.now()-ni)),Qr&&(Qr=clearInterval(Qr))):(Qr||(ti=ri.now(),Qr=setInterval(hi,Jr)),Xr=1,ii(ui)))}function pi(t,e,n){var r=new si;return e=null==e?0:+e,r.restart((n=>{r.stop(),t(n+e)}),e,n),r}si.prototype=ci.prototype={constructor:si,restart:function(t,e,n){if("function"!=typeof t)throw new TypeError("callback is not a function");n=(null==n?ai():+n)+(null==e?0:+e),!this._next&&Yr!==this&&(Yr?Yr._next=this:Kr=this,Yr=this),this._call=t,this._time=n,fi()},stop:function(){this._call&&(this._call=null,this._time=1/0,fi())}};var gi=it("start","end","cancel","interrupt"),bi=[],mi=0,yi=1,wi=2,vi=3,ki=4,_i=5,xi=6;function Ei(t,e,n,r,i,a){var o=t.__transition;if(o){if(n in o)return}else t.__transition={};Ci(t,n,{name:e,index:r,group:i,on:gi,tween:bi,time:a.time,delay:a.delay,duration:a.duration,ease:a.ease,timer:null,state:mi})}function Ti(t,e){var n=Di(t,e);if(n.state>mi)throw new Error("too late; already scheduled");return n}function Si(t,e){var n=Di(t,e);if(n.state>vi)throw new Error("too late; already running");return n}function Di(t,e){var n=t.__transition;if(!n||!(n=n[e]))throw new Error("transition not found");return n}function Ci(t,e,n){var r,i=t.__transition;function a(t){n.state=yi,n.timer.restart(o,n.delay,n.time),n.delay<=t&&o(t-n.delay)}function o(a){var l,u,h,d;if(n.state!==yi)return c();for(l in i)if((d=i[l]).name===n.name){if(d.state===vi)return pi(o);d.state===ki?(d.state=xi,d.timer.stop(),d.on.call("interrupt",t,t.__data__,d.index,d.group),delete i[l]):+lwi&&n.state<_i,n.state=xi,n.timer.stop(),n.on.call(r?"interrupt":"cancel",t,t.__data__,n.index,n.group),delete a[i]):o=!1;o&&delete t.__transition}}function Ai(t){return this.each((function(){Ii(this,t)}))}function Oi(t,e){var n,r;return function(){var i=Si(this,t),a=i.tween;if(a!==n)for(var o=0,s=(r=n=a).length;o=0&&(t=t.slice(0,e)),!t||"start"===t}))}function sa(t,e,n){var r,i,a=oa(e)?Ti:Si;return function(){var o=a(this,t),s=o.on;s!==r&&(i=(r=s).copy()).on(e,n),o.on=i}}function ca(t,e){var n=this._id;return arguments.length<2?Di(this.node(),n).on.on(t):this.each(sa(n,t,e))}function la(t){return function(){var e=this.parentNode;for(var n in this.__transition)if(+n!==t)return;e&&e.removeChild(this)}}function ua(){return this.on("end.remove",la(this._id))}function ha(t){var e=this._name,n=this._id;"function"!=typeof t&&(t=bt(t));for(var r=this._groups,i=r.length,a=new Array(i),o=0;oWa(e,n).then((e=>(new DOMParser).parseFromString(e,t)))}Ga.prototype=qa.prototype={constructor:Ga,moveTo:function(t,e){this._+="M"+(this._x0=this._x1=+t)+","+(this._y0=this._y1=+e)},closePath:function(){null!==this._x1&&(this._x1=this._x0,this._y1=this._y0,this._+="Z")},lineTo:function(t,e){this._+="L"+(this._x1=+t)+","+(this._y1=+e)},quadraticCurveTo:function(t,e,n,r){this._+="Q"+ +t+","+ +e+","+(this._x1=+n)+","+(this._y1=+r)},bezierCurveTo:function(t,e,n,r,i,a){this._+="C"+ +t+","+ +e+","+ +n+","+ +r+","+(this._x1=+i)+","+(this._y1=+a)},arcTo:function(t,e,n,r,i){t=+t,e=+e,n=+n,r=+r,i=+i;var a=this._x1,o=this._y1,s=n-t,c=r-e,l=a-t,u=o-e,h=l*l+u*u;if(i<0)throw new Error("negative radius: "+i);if(null===this._x1)this._+="M"+(this._x1=t)+","+(this._y1=e);else if(h>Ua)if(Math.abs(u*s-c*l)>Ua&&i){var d=n-a,f=r-o,p=s*s+c*c,g=d*d+f*f,b=Math.sqrt(p),m=Math.sqrt(h),y=i*Math.tan(($a-Math.acos((p+h-g)/(2*b*m)))/2),w=y/m,v=y/b;Math.abs(w-1)>Ua&&(this._+="L"+(t+w*l)+","+(e+w*u)),this._+="A"+i+","+i+",0,0,"+ +(u*d>l*f)+","+(this._x1=t+v*s)+","+(this._y1=e+v*c)}else this._+="L"+(this._x1=t)+","+(this._y1=e)},arc:function(t,e,n,r,i,a){t=+t,e=+e,a=!!a;var o=(n=+n)*Math.cos(r),s=n*Math.sin(r),c=t+o,l=e+s,u=1^a,h=a?r-i:i-r;if(n<0)throw new Error("negative radius: "+n);null===this._x1?this._+="M"+c+","+l:(Math.abs(this._x1-c)>Ua||Math.abs(this._y1-l)>Ua)&&(this._+="L"+c+","+l),n&&(h<0&&(h=h%za+za),h>Ha?this._+="A"+n+","+n+",0,1,"+u+","+(t-o)+","+(e-s)+"A"+n+","+n+",0,1,"+u+","+(this._x1=c)+","+(this._y1=l):h>Ua&&(this._+="A"+n+","+n+",0,"+ +(h>=$a)+","+u+","+(this._x1=t+n*Math.cos(i))+","+(this._y1=e+n*Math.sin(i))))},rect:function(t,e,n,r){this._+="M"+(this._x0=this._x1=+t)+","+(this._y0=this._y1=+e)+"h"+ +n+"v"+ +r+"h"+-n+"Z"},toString:function(){return this._}};var Ya=Ka("image/svg+xml");function Xa(t){return Math.abs(t=Math.round(t))>=1e21?t.toLocaleString("en").replace(/,/g,""):t.toString(10)}function Za(t,e){if((n=(t=e?t.toExponential(e-1):t.toExponential()).indexOf("e"))<0)return null;var n,r=t.slice(0,n);return[r.length>1?r[0]+r.slice(2):r,+t.slice(n+1)]}function Qa(t){return(t=Za(Math.abs(t)))?t[1]:NaN}function Ja(t,e){return function(n,r){for(var i=n.length,a=[],o=0,s=t[0],c=0;i>0&&s>0&&(c+s+1>r&&(s=Math.max(1,r-c)),a.push(n.substring(i-=s,i+s)),!((c+=s+1)>r));)s=t[o=(o+1)%t.length];return a.reverse().join(e)}}function to(t){return function(e){return e.replace(/[0-9]/g,(function(e){return t[+e]}))}}var eo,no=/^(?:(.)?([<>=^]))?([+\-( ])?([$#])?(0)?(\d+)?(,)?(\.\d+)?(~)?([a-z%])?$/i;function ro(t){if(!(e=no.exec(t)))throw new Error("invalid format: "+t);var e;return new io({fill:e[1],align:e[2],sign:e[3],symbol:e[4],zero:e[5],width:e[6],comma:e[7],precision:e[8]&&e[8].slice(1),trim:e[9],type:e[10]})}function io(t){this.fill=void 0===t.fill?" ":t.fill+"",this.align=void 0===t.align?">":t.align+"",this.sign=void 0===t.sign?"-":t.sign+"",this.symbol=void 0===t.symbol?"":t.symbol+"",this.zero=!!t.zero,this.width=void 0===t.width?void 0:+t.width,this.comma=!!t.comma,this.precision=void 0===t.precision?void 0:+t.precision,this.trim=!!t.trim,this.type=void 0===t.type?"":t.type+""}function ao(t){t:for(var e,n=t.length,r=1,i=-1;r0&&(i=0)}return i>0?t.slice(0,i)+t.slice(e+1):t}function oo(t,e){var n=Za(t,e);if(!n)return t+"";var r=n[0],i=n[1],a=i-(eo=3*Math.max(-8,Math.min(8,Math.floor(i/3))))+1,o=r.length;return a===o?r:a>o?r+new Array(a-o+1).join("0"):a>0?r.slice(0,a)+"."+r.slice(a):"0."+new Array(1-a).join("0")+Za(t,Math.max(0,e+a-1))[0]}function so(t,e){var n=Za(t,e);if(!n)return t+"";var r=n[0],i=n[1];return i<0?"0."+new Array(-i).join("0")+r:r.length>i+1?r.slice(0,i+1)+"."+r.slice(i+1):r+new Array(i-r.length+2).join("0")}ro.prototype=io.prototype,io.prototype.toString=function(){return this.fill+this.align+this.sign+this.symbol+(this.zero?"0":"")+(void 0===this.width?"":Math.max(1,0|this.width))+(this.comma?",":"")+(void 0===this.precision?"":"."+Math.max(0,0|this.precision))+(this.trim?"~":"")+this.type};const co={"%":(t,e)=>(100*t).toFixed(e),b:t=>Math.round(t).toString(2),c:t=>t+"",d:Xa,e:(t,e)=>t.toExponential(e),f:(t,e)=>t.toFixed(e),g:(t,e)=>t.toPrecision(e),o:t=>Math.round(t).toString(8),p:(t,e)=>so(100*t,e),r:so,s:oo,X:t=>Math.round(t).toString(16).toUpperCase(),x:t=>Math.round(t).toString(16)};function lo(t){return t}var uo,ho,fo,po=Array.prototype.map,go=["y","z","a","f","p","n","µ","m","","k","M","G","T","P","E","Z","Y"];function bo(t){var e=void 0===t.grouping||void 0===t.thousands?lo:Ja(po.call(t.grouping,Number),t.thousands+""),n=void 0===t.currency?"":t.currency[0]+"",r=void 0===t.currency?"":t.currency[1]+"",i=void 0===t.decimal?".":t.decimal+"",a=void 0===t.numerals?lo:to(po.call(t.numerals,String)),o=void 0===t.percent?"%":t.percent+"",s=void 0===t.minus?"−":t.minus+"",c=void 0===t.nan?"NaN":t.nan+"";function l(t){var l=(t=ro(t)).fill,u=t.align,h=t.sign,d=t.symbol,f=t.zero,p=t.width,g=t.comma,b=t.precision,m=t.trim,y=t.type;"n"===y?(g=!0,y="g"):co[y]||(void 0===b&&(b=12),m=!0,y="g"),(f||"0"===l&&"="===u)&&(f=!0,l="0",u="=");var w="$"===d?n:"#"===d&&/[boxX]/.test(y)?"0"+y.toLowerCase():"",v="$"===d?r:/[%p]/.test(y)?o:"",k=co[y],_=/[defgprs%]/.test(y);function x(t){var n,r,o,d=w,x=v;if("c"===y)x=k(t)+x,t="";else{var E=(t=+t)<0||1/t<0;if(t=isNaN(t)?c:k(Math.abs(t),b),m&&(t=ao(t)),E&&0==+t&&"+"!==h&&(E=!1),d=(E?"("===h?h:s:"-"===h||"("===h?"":h)+d,x=("s"===y?go[8+eo/3]:"")+x+(E&&"("===h?")":""),_)for(n=-1,r=t.length;++n(o=t.charCodeAt(n))||o>57){x=(46===o?i+t.slice(n+1):t.slice(n))+x,t=t.slice(0,n);break}}g&&!f&&(t=e(t,1/0));var T=d.length+t.length+x.length,S=T>1)+d+t+x+S.slice(T);break;default:t=S+d+t+x}return a(t)}return b=void 0===b?6:/[gprs]/.test(y)?Math.max(1,Math.min(21,b)):Math.max(0,Math.min(20,b)),x.toString=function(){return t+""},x}function u(t,e){var n=l(((t=ro(t)).type="f",t)),r=3*Math.max(-8,Math.min(8,Math.floor(Qa(e)/3))),i=Math.pow(10,-r),a=go[8+r/3];return function(t){return n(i*t)+a}}return{format:l,formatPrefix:u}}function mo(t){return uo=bo(t),ho=uo.format,fo=uo.formatPrefix,uo}function yo(t){return Math.max(0,-Qa(Math.abs(t)))}function wo(t,e){return Math.max(0,3*Math.max(-8,Math.min(8,Math.floor(Qa(e)/3)))-Qa(Math.abs(t)))}function vo(t,e){return t=Math.abs(t),e=Math.abs(e)-t,Math.max(0,Qa(e)-Qa(t))+1}function ko(t,e){switch(arguments.length){case 0:break;case 1:this.range(t);break;default:this.range(e).domain(t)}return this}mo({thousands:",",grouping:[3],currency:["$",""]});const _o=Symbol("implicit");function xo(){var t=new A,e=[],n=[],r=_o;function i(i){let a=t.get(i);if(void 0===a){if(r!==_o)return r;t.set(i,a=e.push(i)-1)}return n[a%n.length]}return i.domain=function(n){if(!arguments.length)return e.slice();e=[],t=new A;for(const r of n)t.has(r)||t.set(r,e.push(r)-1);return i},i.range=function(t){return arguments.length?(n=Array.from(t),i):n.slice()},i.unknown=function(t){return arguments.length?(r=t,i):r},i.copy=function(){return xo(e,n).unknown(r)},ko.apply(i,arguments),i}function Eo(t){return function(){return t}}function To(t){return+t}var So=[0,1];function Do(t){return t}function Co(t,e){return(e-=t=+t)?function(n){return(n-t)/e}:Eo(isNaN(e)?NaN:.5)}function Io(t,e){var n;return t>e&&(n=t,t=e,e=n),function(n){return Math.max(t,Math.min(e,n))}}function Ao(t,e,n){var r=t[0],i=t[1],a=e[0],o=e[1];return i2?Oo:Ao,i=a=null,h}function h(e){return null==e||isNaN(e=+e)?n:(i||(i=r(o.map(t),s,c)))(t(l(e)))}return h.invert=function(n){return l(e((a||(a=r(s,o.map(t),Cr)))(n)))},h.domain=function(t){return arguments.length?(o=Array.from(t,To),u()):o.slice()},h.range=function(t){return arguments.length?(s=Array.from(t),u()):s.slice()},h.rangeRound=function(t){return s=Array.from(t),c=Pr,u()},h.clamp=function(t){return arguments.length?(l=!!t||Do,u()):l!==Do},h.interpolate=function(t){return arguments.length?(c=t,u()):c},h.unknown=function(t){return arguments.length?(n=t,h):n},function(n,r){return t=n,e=r,u()}}function Bo(){return No()(Do,Do)}function Lo(t,e,n,r){var i,a=$(t,e,n);switch((r=ro(r??",f")).type){case"s":var o=Math.max(Math.abs(t),Math.abs(e));return null==r.precision&&!isNaN(i=wo(a,o))&&(r.precision=i),fo(r,o);case"":case"e":case"g":case"p":case"r":null==r.precision&&!isNaN(i=vo(a,Math.max(Math.abs(t),Math.abs(e))))&&(r.precision=i-("e"===r.type));break;case"f":case"%":null==r.precision&&!isNaN(i=yo(a))&&(r.precision=i-2*("%"===r.type))}return ho(r)}function Po(t){var e=t.domain;return t.ticks=function(t){var n=e();return j(n[0],n[n.length-1],t??10)},t.tickFormat=function(t,n){var r=e();return Lo(r[0],r[r.length-1],t??10,n)},t.nice=function(n){null==n&&(n=10);var r,i,a=e(),o=0,s=a.length-1,c=a[o],l=a[s],u=10;for(l0;){if((i=F(c,l,n))===r)return a[o]=c,a[s]=l,e(a);if(i>0)c=Math.floor(c/i)*i,l=Math.ceil(l/i)*i;else{if(!(i<0))break;c=Math.ceil(c*i)/i,l=Math.floor(l*i)/i}r=i}return t},t}function Ro(){var t=Bo();return t.copy=function(){return Mo(t,Ro())},ko.apply(t,arguments),Po(t)}function jo(t,e){var n,r=0,i=(t=t.slice()).length-1,a=t[r],o=t[i];return o0))return s;do{s.push(o=new Date(+n)),e(n,a),t(n)}while(o=e)for(;t(e),!n(e);)e.setTime(e-1)}),(function(t,r){if(t>=t)if(r<0)for(;++r<=0;)for(;e(t,-1),!n(t););else for(;--r>=0;)for(;e(t,1),!n(t););}))},n&&(i.count=function(e,r){return Fo.setTime(+e),$o.setTime(+r),t(Fo),t($o),Math.floor(n(Fo,$o))},i.every=function(t){return t=Math.floor(t),isFinite(t)&&t>0?t>1?i.filter(r?function(e){return r(e)%t==0}:function(e){return i.count(0,e)%t==0}):i:null}),i}var Uo=zo((function(){}),(function(t,e){t.setTime(+t+e)}),(function(t,e){return e-t}));Uo.every=function(t){return t=Math.floor(t),isFinite(t)&&t>0?t>1?zo((function(e){e.setTime(Math.floor(e/t)*t)}),(function(e,n){e.setTime(+e+n*t)}),(function(e,n){return(n-e)/t})):Uo:null};const Ho=Uo;Uo.range;const Go=1e3,qo=60*Go,Vo=60*qo,Wo=24*Vo,Ko=7*Wo,Yo=30*Wo,Xo=365*Wo;var Zo=zo((function(t){t.setTime(t-t.getMilliseconds())}),(function(t,e){t.setTime(+t+e*Go)}),(function(t,e){return(e-t)/Go}),(function(t){return t.getUTCSeconds()}));const Qo=Zo;Zo.range;var Jo=zo((function(t){t.setTime(t-t.getMilliseconds()-t.getSeconds()*Go)}),(function(t,e){t.setTime(+t+e*qo)}),(function(t,e){return(e-t)/qo}),(function(t){return t.getMinutes()}));const ts=Jo;Jo.range;var es=zo((function(t){t.setTime(t-t.getMilliseconds()-t.getSeconds()*Go-t.getMinutes()*qo)}),(function(t,e){t.setTime(+t+e*Vo)}),(function(t,e){return(e-t)/Vo}),(function(t){return t.getHours()}));const ns=es;es.range;var rs=zo((t=>t.setHours(0,0,0,0)),((t,e)=>t.setDate(t.getDate()+e)),((t,e)=>(e-t-(e.getTimezoneOffset()-t.getTimezoneOffset())*qo)/Wo),(t=>t.getDate()-1));const is=rs;function as(t){return zo((function(e){e.setDate(e.getDate()-(e.getDay()+7-t)%7),e.setHours(0,0,0,0)}),(function(t,e){t.setDate(t.getDate()+7*e)}),(function(t,e){return(e-t-(e.getTimezoneOffset()-t.getTimezoneOffset())*qo)/Ko}))}rs.range;var os=as(0),ss=as(1),cs=as(2),ls=as(3),us=as(4),hs=as(5),ds=as(6);os.range,ss.range,cs.range,ls.range,us.range,hs.range,ds.range;var fs=zo((function(t){t.setDate(1),t.setHours(0,0,0,0)}),(function(t,e){t.setMonth(t.getMonth()+e)}),(function(t,e){return e.getMonth()-t.getMonth()+12*(e.getFullYear()-t.getFullYear())}),(function(t){return t.getMonth()}));const ps=fs;fs.range;var gs=zo((function(t){t.setMonth(0,1),t.setHours(0,0,0,0)}),(function(t,e){t.setFullYear(t.getFullYear()+e)}),(function(t,e){return e.getFullYear()-t.getFullYear()}),(function(t){return t.getFullYear()}));gs.every=function(t){return isFinite(t=Math.floor(t))&&t>0?zo((function(e){e.setFullYear(Math.floor(e.getFullYear()/t)*t),e.setMonth(0,1),e.setHours(0,0,0,0)}),(function(e,n){e.setFullYear(e.getFullYear()+n*t)})):null};const bs=gs;gs.range;var ms=zo((function(t){t.setUTCSeconds(0,0)}),(function(t,e){t.setTime(+t+e*qo)}),(function(t,e){return(e-t)/qo}),(function(t){return t.getUTCMinutes()}));const ys=ms;ms.range;var ws=zo((function(t){t.setUTCMinutes(0,0,0)}),(function(t,e){t.setTime(+t+e*Vo)}),(function(t,e){return(e-t)/Vo}),(function(t){return t.getUTCHours()}));const vs=ws;ws.range;var ks=zo((function(t){t.setUTCHours(0,0,0,0)}),(function(t,e){t.setUTCDate(t.getUTCDate()+e)}),(function(t,e){return(e-t)/Wo}),(function(t){return t.getUTCDate()-1}));const _s=ks;function xs(t){return zo((function(e){e.setUTCDate(e.getUTCDate()-(e.getUTCDay()+7-t)%7),e.setUTCHours(0,0,0,0)}),(function(t,e){t.setUTCDate(t.getUTCDate()+7*e)}),(function(t,e){return(e-t)/Ko}))}ks.range;var Es=xs(0),Ts=xs(1),Ss=xs(2),Ds=xs(3),Cs=xs(4),Is=xs(5),As=xs(6);Es.range,Ts.range,Ss.range,Ds.range,Cs.range,Is.range,As.range;var Os=zo((function(t){t.setUTCDate(1),t.setUTCHours(0,0,0,0)}),(function(t,e){t.setUTCMonth(t.getUTCMonth()+e)}),(function(t,e){return e.getUTCMonth()-t.getUTCMonth()+12*(e.getUTCFullYear()-t.getUTCFullYear())}),(function(t){return t.getUTCMonth()}));const Ms=Os;Os.range;var Ns=zo((function(t){t.setUTCMonth(0,1),t.setUTCHours(0,0,0,0)}),(function(t,e){t.setUTCFullYear(t.getUTCFullYear()+e)}),(function(t,e){return e.getUTCFullYear()-t.getUTCFullYear()}),(function(t){return t.getUTCFullYear()}));Ns.every=function(t){return isFinite(t=Math.floor(t))&&t>0?zo((function(e){e.setUTCFullYear(Math.floor(e.getUTCFullYear()/t)*t),e.setUTCMonth(0,1),e.setUTCHours(0,0,0,0)}),(function(e,n){e.setUTCFullYear(e.getUTCFullYear()+n*t)})):null};const Bs=Ns;function Ls(t,e,n,r,i,a){const o=[[Qo,1,Go],[Qo,5,5*Go],[Qo,15,15*Go],[Qo,30,30*Go],[a,1,qo],[a,5,5*qo],[a,15,15*qo],[a,30,30*qo],[i,1,Vo],[i,3,3*Vo],[i,6,6*Vo],[i,12,12*Vo],[r,1,Wo],[r,2,2*Wo],[n,1,Ko],[e,1,Yo],[e,3,3*Yo],[t,1,Xo]];function s(t,e,n){const r=et)).right(o,i);if(a===o.length)return t.every($(e/Xo,n/Xo,r));if(0===a)return Ho.every(Math.max($(e,n,r),1));const[s,c]=o[i/o[a-1][2]53)return null;"w"in a||(a.w=1),"Z"in a?(i=(r=Fs($s(a.y,0,1))).getUTCDay(),r=i>4||0===i?Ts.ceil(r):Ts(r),r=_s.offset(r,7*(a.V-1)),a.y=r.getUTCFullYear(),a.m=r.getUTCMonth(),a.d=r.getUTCDate()+(a.w+6)%7):(i=(r=js($s(a.y,0,1))).getDay(),r=i>4||0===i?ss.ceil(r):ss(r),r=is.offset(r,7*(a.V-1)),a.y=r.getFullYear(),a.m=r.getMonth(),a.d=r.getDate()+(a.w+6)%7)}else("W"in a||"U"in a)&&("w"in a||(a.w="u"in a?a.u%7:"W"in a?1:0),i="Z"in a?Fs($s(a.y,0,1)).getUTCDay():js($s(a.y,0,1)).getDay(),a.m=0,a.d="W"in a?(a.w+6)%7+7*a.W-(i+5)%7:a.w+7*a.U-(i+6)%7);return"Z"in a?(a.H+=a.Z/100|0,a.M+=a.Z%100,Fs(a)):js(a)}}function E(t,e,n,r){for(var i,a,o=0,s=e.length,c=n.length;o=c)return-1;if(37===(i=e.charCodeAt(o++))){if(i=e.charAt(o++),!(a=k[i in Gs?e.charAt(o++):i])||(r=a(t,n,r))<0)return-1}else if(i!=n.charCodeAt(r++))return-1}return r}function T(t,e,n){var r=l.exec(e.slice(n));return r?(t.p=u.get(r[0].toLowerCase()),n+r[0].length):-1}function S(t,e,n){var r=f.exec(e.slice(n));return r?(t.w=p.get(r[0].toLowerCase()),n+r[0].length):-1}function D(t,e,n){var r=h.exec(e.slice(n));return r?(t.w=d.get(r[0].toLowerCase()),n+r[0].length):-1}function C(t,e,n){var r=m.exec(e.slice(n));return r?(t.m=y.get(r[0].toLowerCase()),n+r[0].length):-1}function I(t,e,n){var r=g.exec(e.slice(n));return r?(t.m=b.get(r[0].toLowerCase()),n+r[0].length):-1}function A(t,n,r){return E(t,e,n,r)}function O(t,e,r){return E(t,n,e,r)}function M(t,e,n){return E(t,r,e,n)}function N(t){return o[t.getDay()]}function B(t){return a[t.getDay()]}function L(t){return c[t.getMonth()]}function P(t){return s[t.getMonth()]}function R(t){return i[+(t.getHours()>=12)]}function j(t){return 1+~~(t.getMonth()/3)}function F(t){return o[t.getUTCDay()]}function $(t){return a[t.getUTCDay()]}function z(t){return c[t.getUTCMonth()]}function U(t){return s[t.getUTCMonth()]}function H(t){return i[+(t.getUTCHours()>=12)]}function G(t){return 1+~~(t.getUTCMonth()/3)}return w.x=_(n,w),w.X=_(r,w),w.c=_(e,w),v.x=_(n,v),v.X=_(r,v),v.c=_(e,v),{format:function(t){var e=_(t+="",w);return e.toString=function(){return t},e},parse:function(t){var e=x(t+="",!1);return e.toString=function(){return t},e},utcFormat:function(t){var e=_(t+="",v);return e.toString=function(){return t},e},utcParse:function(t){var e=x(t+="",!0);return e.toString=function(){return t},e}}}var Us,Hs,Gs={"-":"",_:" ",0:"0"},qs=/^\s*\d+/,Vs=/^%/,Ws=/[\\^$*+?|[\]().{}]/g;function Ks(t,e,n){var r=t<0?"-":"",i=(r?-t:t)+"",a=i.length;return r+(a[t.toLowerCase(),e])))}function Qs(t,e,n){var r=qs.exec(e.slice(n,n+1));return r?(t.w=+r[0],n+r[0].length):-1}function Js(t,e,n){var r=qs.exec(e.slice(n,n+1));return r?(t.u=+r[0],n+r[0].length):-1}function tc(t,e,n){var r=qs.exec(e.slice(n,n+2));return r?(t.U=+r[0],n+r[0].length):-1}function ec(t,e,n){var r=qs.exec(e.slice(n,n+2));return r?(t.V=+r[0],n+r[0].length):-1}function nc(t,e,n){var r=qs.exec(e.slice(n,n+2));return r?(t.W=+r[0],n+r[0].length):-1}function rc(t,e,n){var r=qs.exec(e.slice(n,n+4));return r?(t.y=+r[0],n+r[0].length):-1}function ic(t,e,n){var r=qs.exec(e.slice(n,n+2));return r?(t.y=+r[0]+(+r[0]>68?1900:2e3),n+r[0].length):-1}function ac(t,e,n){var r=/^(Z)|([+-]\d\d)(?::?(\d\d))?/.exec(e.slice(n,n+6));return r?(t.Z=r[1]?0:-(r[2]+(r[3]||"00")),n+r[0].length):-1}function oc(t,e,n){var r=qs.exec(e.slice(n,n+1));return r?(t.q=3*r[0]-3,n+r[0].length):-1}function sc(t,e,n){var r=qs.exec(e.slice(n,n+2));return r?(t.m=r[0]-1,n+r[0].length):-1}function cc(t,e,n){var r=qs.exec(e.slice(n,n+2));return r?(t.d=+r[0],n+r[0].length):-1}function lc(t,e,n){var r=qs.exec(e.slice(n,n+3));return r?(t.m=0,t.d=+r[0],n+r[0].length):-1}function uc(t,e,n){var r=qs.exec(e.slice(n,n+2));return r?(t.H=+r[0],n+r[0].length):-1}function hc(t,e,n){var r=qs.exec(e.slice(n,n+2));return r?(t.M=+r[0],n+r[0].length):-1}function dc(t,e,n){var r=qs.exec(e.slice(n,n+2));return r?(t.S=+r[0],n+r[0].length):-1}function fc(t,e,n){var r=qs.exec(e.slice(n,n+3));return r?(t.L=+r[0],n+r[0].length):-1}function pc(t,e,n){var r=qs.exec(e.slice(n,n+6));return r?(t.L=Math.floor(r[0]/1e3),n+r[0].length):-1}function gc(t,e,n){var r=Vs.exec(e.slice(n,n+1));return r?n+r[0].length:-1}function bc(t,e,n){var r=qs.exec(e.slice(n));return r?(t.Q=+r[0],n+r[0].length):-1}function mc(t,e,n){var r=qs.exec(e.slice(n));return r?(t.s=+r[0],n+r[0].length):-1}function yc(t,e){return Ks(t.getDate(),e,2)}function wc(t,e){return Ks(t.getHours(),e,2)}function vc(t,e){return Ks(t.getHours()%12||12,e,2)}function kc(t,e){return Ks(1+is.count(bs(t),t),e,3)}function _c(t,e){return Ks(t.getMilliseconds(),e,3)}function xc(t,e){return _c(t,e)+"000"}function Ec(t,e){return Ks(t.getMonth()+1,e,2)}function Tc(t,e){return Ks(t.getMinutes(),e,2)}function Sc(t,e){return Ks(t.getSeconds(),e,2)}function Dc(t){var e=t.getDay();return 0===e?7:e}function Cc(t,e){return Ks(os.count(bs(t)-1,t),e,2)}function Ic(t){var e=t.getDay();return e>=4||0===e?us(t):us.ceil(t)}function Ac(t,e){return t=Ic(t),Ks(us.count(bs(t),t)+(4===bs(t).getDay()),e,2)}function Oc(t){return t.getDay()}function Mc(t,e){return Ks(ss.count(bs(t)-1,t),e,2)}function Nc(t,e){return Ks(t.getFullYear()%100,e,2)}function Bc(t,e){return Ks((t=Ic(t)).getFullYear()%100,e,2)}function Lc(t,e){return Ks(t.getFullYear()%1e4,e,4)}function Pc(t,e){var n=t.getDay();return Ks((t=n>=4||0===n?us(t):us.ceil(t)).getFullYear()%1e4,e,4)}function Rc(t){var e=t.getTimezoneOffset();return(e>0?"-":(e*=-1,"+"))+Ks(e/60|0,"0",2)+Ks(e%60,"0",2)}function jc(t,e){return Ks(t.getUTCDate(),e,2)}function Fc(t,e){return Ks(t.getUTCHours(),e,2)}function $c(t,e){return Ks(t.getUTCHours()%12||12,e,2)}function zc(t,e){return Ks(1+_s.count(Bs(t),t),e,3)}function Uc(t,e){return Ks(t.getUTCMilliseconds(),e,3)}function Hc(t,e){return Uc(t,e)+"000"}function Gc(t,e){return Ks(t.getUTCMonth()+1,e,2)}function qc(t,e){return Ks(t.getUTCMinutes(),e,2)}function Vc(t,e){return Ks(t.getUTCSeconds(),e,2)}function Wc(t){var e=t.getUTCDay();return 0===e?7:e}function Kc(t,e){return Ks(Es.count(Bs(t)-1,t),e,2)}function Yc(t){var e=t.getUTCDay();return e>=4||0===e?Cs(t):Cs.ceil(t)}function Xc(t,e){return t=Yc(t),Ks(Cs.count(Bs(t),t)+(4===Bs(t).getUTCDay()),e,2)}function Zc(t){return t.getUTCDay()}function Qc(t,e){return Ks(Ts.count(Bs(t)-1,t),e,2)}function Jc(t,e){return Ks(t.getUTCFullYear()%100,e,2)}function tl(t,e){return Ks((t=Yc(t)).getUTCFullYear()%100,e,2)}function el(t,e){return Ks(t.getUTCFullYear()%1e4,e,4)}function nl(t,e){var n=t.getUTCDay();return Ks((t=n>=4||0===n?Cs(t):Cs.ceil(t)).getUTCFullYear()%1e4,e,4)}function rl(){return"+0000"}function il(){return"%"}function al(t){return+t}function ol(t){return Math.floor(+t/1e3)}function sl(t){return Us=zs(t),Hs=Us.format,Us.parse,Us.utcFormat,Us.utcParse,Us}function cl(t){return new Date(t)}function ll(t){return t instanceof Date?+t:+new Date(+t)}function ul(t,e,n,r,i,a,o,s,c,l){var u=Bo(),h=u.invert,d=u.domain,f=l(".%L"),p=l(":%S"),g=l("%I:%M"),b=l("%I %p"),m=l("%a %d"),y=l("%b %d"),w=l("%B"),v=l("%Y");function k(t){return(c(t)1?0:t<-1?kl:Math.acos(t)}function Tl(t){return t>=1?_l:t<=-1?-_l:Math.asin(t)}function Sl(t){return t.innerRadius}function Dl(t){return t.outerRadius}function Cl(t){return t.startAngle}function Il(t){return t.endAngle}function Al(t){return t&&t.padAngle}function Ol(t,e,n,r,i,a,o,s){var c=n-t,l=r-e,u=o-i,h=s-a,d=h*c-u*l;if(!(d*dA*A+O*O&&(E=S,T=D),{cx:E,cy:T,x01:-u,y01:-h,x11:E*(i/k-1),y11:T*(i/k-1)}}function Nl(){var t=Sl,e=Dl,n=dl(0),r=null,i=Cl,a=Il,o=Al,s=null;function c(){var c,l,u=+t.apply(this,arguments),h=+e.apply(this,arguments),d=i.apply(this,arguments)-_l,f=a.apply(this,arguments)-_l,p=fl(f-d),g=f>d;if(s||(s=c=qa()),hvl)if(p>xl-vl)s.moveTo(h*gl(d),h*yl(d)),s.arc(0,0,h,d,f,!g),u>vl&&(s.moveTo(u*gl(f),u*yl(f)),s.arc(0,0,u,f,d,g));else{var b,m,y=d,w=f,v=d,k=f,_=p,x=p,E=o.apply(this,arguments)/2,T=E>vl&&(r?+r.apply(this,arguments):wl(u*u+h*h)),S=ml(fl(h-u)/2,+n.apply(this,arguments)),D=S,C=S;if(T>vl){var I=Tl(T/u*yl(E)),A=Tl(T/h*yl(E));(_-=2*I)>vl?(v+=I*=g?1:-1,k-=I):(_=0,v=k=(d+f)/2),(x-=2*A)>vl?(y+=A*=g?1:-1,w-=A):(x=0,y=w=(d+f)/2)}var O=h*gl(y),M=h*yl(y),N=u*gl(k),B=u*yl(k);if(S>vl){var L,P=h*gl(w),R=h*yl(w),j=u*gl(v),F=u*yl(v);if(pvl?C>vl?(b=Ml(j,F,O,M,h,C,g),m=Ml(P,R,N,B,h,C,g),s.moveTo(b.cx+b.x01,b.cy+b.y01),Cvl&&_>vl?D>vl?(b=Ml(N,B,P,R,u,-D,g),m=Ml(O,M,j,F,u,-D,g),s.lineTo(b.cx+b.x01,b.cy+b.y01),Dt?1:e>=t?0:NaN}function zl(t){return t}function Ul(){var t=zl,e=$l,n=null,r=dl(0),i=dl(xl),a=dl(0);function o(o){var s,c,l,u,h,d=(o=Bl(o)).length,f=0,p=new Array(d),g=new Array(d),b=+r.apply(this,arguments),m=Math.min(xl,Math.max(-xl,i.apply(this,arguments)-b)),y=Math.min(Math.abs(m)/d,a.apply(this,arguments)),w=y*(m<0?-1:1);for(s=0;s0&&(f+=h);for(null!=e?p.sort((function(t,n){return e(g[t],g[n])})):null!=n&&p.sort((function(t,e){return n(o[t],o[e])})),s=0,l=f?(m-d*w)/f:0;s0?h*l:0)+w,g[c]={data:o[c],index:s,value:h,startAngle:b,endAngle:u,padAngle:y};return g}return o.value=function(e){return arguments.length?(t="function"==typeof e?e:dl(+e),o):t},o.sortValues=function(t){return arguments.length?(e=t,n=null,o):e},o.sort=function(t){return arguments.length?(n=t,e=null,o):n},o.startAngle=function(t){return arguments.length?(r="function"==typeof t?t:dl(+t),o):r},o.endAngle=function(t){return arguments.length?(i="function"==typeof t?t:dl(+t),o):i},o.padAngle=function(t){return arguments.length?(a="function"==typeof t?t:dl(+t),o):a},o}Ll.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._point=0},lineEnd:function(){(this._line||0!==this._line&&1===this._point)&&this._context.closePath(),this._line=1-this._line},point:function(t,e){switch(t=+t,e=+e,this._point){case 0:this._point=1,this._line?this._context.lineTo(t,e):this._context.moveTo(t,e);break;case 1:this._point=2;default:this._context.lineTo(t,e)}}};class Hl{constructor(t,e){this._context=t,this._x=e}areaStart(){this._line=0}areaEnd(){this._line=NaN}lineStart(){this._point=0}lineEnd(){(this._line||0!==this._line&&1===this._point)&&this._context.closePath(),this._line=1-this._line}point(t,e){switch(t=+t,e=+e,this._point){case 0:this._point=1,this._line?this._context.lineTo(t,e):this._context.moveTo(t,e);break;case 1:this._point=2;default:this._x?this._context.bezierCurveTo(this._x0=(this._x0+t)/2,this._y0,this._x0,e,t,e):this._context.bezierCurveTo(this._x0,this._y0=(this._y0+e)/2,t,this._y0,t,e)}this._x0=t,this._y0=e}}function Gl(t){return new Hl(t,!0)}function ql(t){return new Hl(t,!1)}function Vl(){}function Wl(t,e,n){t._context.bezierCurveTo((2*t._x0+t._x1)/3,(2*t._y0+t._y1)/3,(t._x0+2*t._x1)/3,(t._y0+2*t._y1)/3,(t._x0+4*t._x1+e)/6,(t._y0+4*t._y1+n)/6)}function Kl(t){this._context=t}function Yl(t){return new Kl(t)}function Xl(t){this._context=t}function Zl(t){return new Xl(t)}function Ql(t){this._context=t}function Jl(t){return new Ql(t)}function tu(t,e){this._basis=new Kl(t),this._beta=e}Kl.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._y0=this._y1=NaN,this._point=0},lineEnd:function(){switch(this._point){case 3:Wl(this,this._x1,this._y1);case 2:this._context.lineTo(this._x1,this._y1)}(this._line||0!==this._line&&1===this._point)&&this._context.closePath(),this._line=1-this._line},point:function(t,e){switch(t=+t,e=+e,this._point){case 0:this._point=1,this._line?this._context.lineTo(t,e):this._context.moveTo(t,e);break;case 1:this._point=2;break;case 2:this._point=3,this._context.lineTo((5*this._x0+this._x1)/6,(5*this._y0+this._y1)/6);default:Wl(this,t,e)}this._x0=this._x1,this._x1=t,this._y0=this._y1,this._y1=e}},Xl.prototype={areaStart:Vl,areaEnd:Vl,lineStart:function(){this._x0=this._x1=this._x2=this._x3=this._x4=this._y0=this._y1=this._y2=this._y3=this._y4=NaN,this._point=0},lineEnd:function(){switch(this._point){case 1:this._context.moveTo(this._x2,this._y2),this._context.closePath();break;case 2:this._context.moveTo((this._x2+2*this._x3)/3,(this._y2+2*this._y3)/3),this._context.lineTo((this._x3+2*this._x2)/3,(this._y3+2*this._y2)/3),this._context.closePath();break;case 3:this.point(this._x2,this._y2),this.point(this._x3,this._y3),this.point(this._x4,this._y4)}},point:function(t,e){switch(t=+t,e=+e,this._point){case 0:this._point=1,this._x2=t,this._y2=e;break;case 1:this._point=2,this._x3=t,this._y3=e;break;case 2:this._point=3,this._x4=t,this._y4=e,this._context.moveTo((this._x0+4*this._x1+t)/6,(this._y0+4*this._y1+e)/6);break;default:Wl(this,t,e)}this._x0=this._x1,this._x1=t,this._y0=this._y1,this._y1=e}},Ql.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._y0=this._y1=NaN,this._point=0},lineEnd:function(){(this._line||0!==this._line&&3===this._point)&&this._context.closePath(),this._line=1-this._line},point:function(t,e){switch(t=+t,e=+e,this._point){case 0:this._point=1;break;case 1:this._point=2;break;case 2:this._point=3;var n=(this._x0+4*this._x1+t)/6,r=(this._y0+4*this._y1+e)/6;this._line?this._context.lineTo(n,r):this._context.moveTo(n,r);break;case 3:this._point=4;default:Wl(this,t,e)}this._x0=this._x1,this._x1=t,this._y0=this._y1,this._y1=e}},tu.prototype={lineStart:function(){this._x=[],this._y=[],this._basis.lineStart()},lineEnd:function(){var t=this._x,e=this._y,n=t.length-1;if(n>0)for(var r,i=t[0],a=e[0],o=t[n]-i,s=e[n]-a,c=-1;++c<=n;)r=c/n,this._basis.point(this._beta*t[c]+(1-this._beta)*(i+r*o),this._beta*e[c]+(1-this._beta)*(a+r*s));this._x=this._y=null,this._basis.lineEnd()},point:function(t,e){this._x.push(+t),this._y.push(+e)}};const eu=function t(e){function n(t){return 1===e?new Kl(t):new tu(t,e)}return n.beta=function(e){return t(+e)},n}(.85);function nu(t,e,n){t._context.bezierCurveTo(t._x1+t._k*(t._x2-t._x0),t._y1+t._k*(t._y2-t._y0),t._x2+t._k*(t._x1-e),t._y2+t._k*(t._y1-n),t._x2,t._y2)}function ru(t,e){this._context=t,this._k=(1-e)/6}ru.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._x2=this._y0=this._y1=this._y2=NaN,this._point=0},lineEnd:function(){switch(this._point){case 2:this._context.lineTo(this._x2,this._y2);break;case 3:nu(this,this._x1,this._y1)}(this._line||0!==this._line&&1===this._point)&&this._context.closePath(),this._line=1-this._line},point:function(t,e){switch(t=+t,e=+e,this._point){case 0:this._point=1,this._line?this._context.lineTo(t,e):this._context.moveTo(t,e);break;case 1:this._point=2,this._x1=t,this._y1=e;break;case 2:this._point=3;default:nu(this,t,e)}this._x0=this._x1,this._x1=this._x2,this._x2=t,this._y0=this._y1,this._y1=this._y2,this._y2=e}};const iu=function t(e){function n(t){return new ru(t,e)}return n.tension=function(e){return t(+e)},n}(0);function au(t,e){this._context=t,this._k=(1-e)/6}au.prototype={areaStart:Vl,areaEnd:Vl,lineStart:function(){this._x0=this._x1=this._x2=this._x3=this._x4=this._x5=this._y0=this._y1=this._y2=this._y3=this._y4=this._y5=NaN,this._point=0},lineEnd:function(){switch(this._point){case 1:this._context.moveTo(this._x3,this._y3),this._context.closePath();break;case 2:this._context.lineTo(this._x3,this._y3),this._context.closePath();break;case 3:this.point(this._x3,this._y3),this.point(this._x4,this._y4),this.point(this._x5,this._y5)}},point:function(t,e){switch(t=+t,e=+e,this._point){case 0:this._point=1,this._x3=t,this._y3=e;break;case 1:this._point=2,this._context.moveTo(this._x4=t,this._y4=e);break;case 2:this._point=3,this._x5=t,this._y5=e;break;default:nu(this,t,e)}this._x0=this._x1,this._x1=this._x2,this._x2=t,this._y0=this._y1,this._y1=this._y2,this._y2=e}};const ou=function t(e){function n(t){return new au(t,e)}return n.tension=function(e){return t(+e)},n}(0);function su(t,e){this._context=t,this._k=(1-e)/6}su.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._x2=this._y0=this._y1=this._y2=NaN,this._point=0},lineEnd:function(){(this._line||0!==this._line&&3===this._point)&&this._context.closePath(),this._line=1-this._line},point:function(t,e){switch(t=+t,e=+e,this._point){case 0:this._point=1;break;case 1:this._point=2;break;case 2:this._point=3,this._line?this._context.lineTo(this._x2,this._y2):this._context.moveTo(this._x2,this._y2);break;case 3:this._point=4;default:nu(this,t,e)}this._x0=this._x1,this._x1=this._x2,this._x2=t,this._y0=this._y1,this._y1=this._y2,this._y2=e}};const cu=function t(e){function n(t){return new su(t,e)}return n.tension=function(e){return t(+e)},n}(0);function lu(t,e,n){var r=t._x1,i=t._y1,a=t._x2,o=t._y2;if(t._l01_a>vl){var s=2*t._l01_2a+3*t._l01_a*t._l12_a+t._l12_2a,c=3*t._l01_a*(t._l01_a+t._l12_a);r=(r*s-t._x0*t._l12_2a+t._x2*t._l01_2a)/c,i=(i*s-t._y0*t._l12_2a+t._y2*t._l01_2a)/c}if(t._l23_a>vl){var l=2*t._l23_2a+3*t._l23_a*t._l12_a+t._l12_2a,u=3*t._l23_a*(t._l23_a+t._l12_a);a=(a*l+t._x1*t._l23_2a-e*t._l12_2a)/u,o=(o*l+t._y1*t._l23_2a-n*t._l12_2a)/u}t._context.bezierCurveTo(r,i,a,o,t._x2,t._y2)}function uu(t,e){this._context=t,this._alpha=e}uu.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._x2=this._y0=this._y1=this._y2=NaN,this._l01_a=this._l12_a=this._l23_a=this._l01_2a=this._l12_2a=this._l23_2a=this._point=0},lineEnd:function(){switch(this._point){case 2:this._context.lineTo(this._x2,this._y2);break;case 3:this.point(this._x2,this._y2)}(this._line||0!==this._line&&1===this._point)&&this._context.closePath(),this._line=1-this._line},point:function(t,e){if(t=+t,e=+e,this._point){var n=this._x2-t,r=this._y2-e;this._l23_a=Math.sqrt(this._l23_2a=Math.pow(n*n+r*r,this._alpha))}switch(this._point){case 0:this._point=1,this._line?this._context.lineTo(t,e):this._context.moveTo(t,e);break;case 1:this._point=2;break;case 2:this._point=3;default:lu(this,t,e)}this._l01_a=this._l12_a,this._l12_a=this._l23_a,this._l01_2a=this._l12_2a,this._l12_2a=this._l23_2a,this._x0=this._x1,this._x1=this._x2,this._x2=t,this._y0=this._y1,this._y1=this._y2,this._y2=e}};const hu=function t(e){function n(t){return e?new uu(t,e):new ru(t,0)}return n.alpha=function(e){return t(+e)},n}(.5);function du(t,e){this._context=t,this._alpha=e}du.prototype={areaStart:Vl,areaEnd:Vl,lineStart:function(){this._x0=this._x1=this._x2=this._x3=this._x4=this._x5=this._y0=this._y1=this._y2=this._y3=this._y4=this._y5=NaN,this._l01_a=this._l12_a=this._l23_a=this._l01_2a=this._l12_2a=this._l23_2a=this._point=0},lineEnd:function(){switch(this._point){case 1:this._context.moveTo(this._x3,this._y3),this._context.closePath();break;case 2:this._context.lineTo(this._x3,this._y3),this._context.closePath();break;case 3:this.point(this._x3,this._y3),this.point(this._x4,this._y4),this.point(this._x5,this._y5)}},point:function(t,e){if(t=+t,e=+e,this._point){var n=this._x2-t,r=this._y2-e;this._l23_a=Math.sqrt(this._l23_2a=Math.pow(n*n+r*r,this._alpha))}switch(this._point){case 0:this._point=1,this._x3=t,this._y3=e;break;case 1:this._point=2,this._context.moveTo(this._x4=t,this._y4=e);break;case 2:this._point=3,this._x5=t,this._y5=e;break;default:lu(this,t,e)}this._l01_a=this._l12_a,this._l12_a=this._l23_a,this._l01_2a=this._l12_2a,this._l12_2a=this._l23_2a,this._x0=this._x1,this._x1=this._x2,this._x2=t,this._y0=this._y1,this._y1=this._y2,this._y2=e}};const fu=function t(e){function n(t){return e?new du(t,e):new au(t,0)}return n.alpha=function(e){return t(+e)},n}(.5);function pu(t,e){this._context=t,this._alpha=e}pu.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._x2=this._y0=this._y1=this._y2=NaN,this._l01_a=this._l12_a=this._l23_a=this._l01_2a=this._l12_2a=this._l23_2a=this._point=0},lineEnd:function(){(this._line||0!==this._line&&3===this._point)&&this._context.closePath(),this._line=1-this._line},point:function(t,e){if(t=+t,e=+e,this._point){var n=this._x2-t,r=this._y2-e;this._l23_a=Math.sqrt(this._l23_2a=Math.pow(n*n+r*r,this._alpha))}switch(this._point){case 0:this._point=1;break;case 1:this._point=2;break;case 2:this._point=3,this._line?this._context.lineTo(this._x2,this._y2):this._context.moveTo(this._x2,this._y2);break;case 3:this._point=4;default:lu(this,t,e)}this._l01_a=this._l12_a,this._l12_a=this._l23_a,this._l01_2a=this._l12_2a,this._l12_2a=this._l23_2a,this._x0=this._x1,this._x1=this._x2,this._x2=t,this._y0=this._y1,this._y1=this._y2,this._y2=e}};const gu=function t(e){function n(t){return e?new pu(t,e):new su(t,0)}return n.alpha=function(e){return t(+e)},n}(.5);function bu(t){this._context=t}function mu(t){return new bu(t)}function yu(t){return t<0?-1:1}function wu(t,e,n){var r=t._x1-t._x0,i=e-t._x1,a=(t._y1-t._y0)/(r||i<0&&-0),o=(n-t._y1)/(i||r<0&&-0),s=(a*i+o*r)/(r+i);return(yu(a)+yu(o))*Math.min(Math.abs(a),Math.abs(o),.5*Math.abs(s))||0}function vu(t,e){var n=t._x1-t._x0;return n?(3*(t._y1-t._y0)/n-e)/2:e}function ku(t,e,n){var r=t._x0,i=t._y0,a=t._x1,o=t._y1,s=(a-r)/3;t._context.bezierCurveTo(r+s,i+s*e,a-s,o-s*n,a,o)}function _u(t){this._context=t}function xu(t){this._context=new Eu(t)}function Eu(t){this._context=t}function Tu(t){return new _u(t)}function Su(t){return new xu(t)}function Du(t){this._context=t}function Cu(t){var e,n,r=t.length-1,i=new Array(r),a=new Array(r),o=new Array(r);for(i[0]=0,a[0]=2,o[0]=t[0]+2*t[1],e=1;e=0;--e)i[e]=(o[e]-i[e+1])/a[e];for(a[r-1]=(t[r]+i[r-1])/2,e=0;e"u"||!Reflect.construct||Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch{return!1}}function ju(t,e,n){return(ju=Ru()?Reflect.construct:function(t,e,n){var r=[null];r.push.apply(r,e);var i=new(Function.bind.apply(t,r));return n&&Pu(i,n.prototype),i}).apply(null,arguments)}function Fu(t){return $u(t)||zu(t)||Uu(t)||Gu()}function $u(t){if(Array.isArray(t))return Hu(t)}function zu(t){if(typeof Symbol<"u"&&null!=t[Symbol.iterator]||null!=t["@@iterator"])return Array.from(t)}function Uu(t,e){if(t){if("string"==typeof t)return Hu(t,e);var n=Object.prototype.toString.call(t).slice(8,-1);if("Object"===n&&t.constructor&&(n=t.constructor.name),"Map"===n||"Set"===n)return Array.from(t);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return Hu(t,e)}}function Hu(t,e){(null==e||e>t.length)&&(e=t.length);for(var n=0,r=new Array(e);n=0&&(this._t=1-this._t,this._line=1-this._line)},point:function(t,e){switch(t=+t,e=+e,this._point){case 0:this._point=1,this._line?this._context.lineTo(t,e):this._context.moveTo(t,e);break;case 1:this._point=2;default:if(this._t<=0)this._context.lineTo(this._x,e),this._context.lineTo(t,e);else{var n=this._x*(1-this._t)+t*this._t;this._context.lineTo(n,this._y),this._context.lineTo(n,e)}}this._x=t,this._y=e}},Bu.prototype={constructor:Bu,scale:function(t){return 1===t?this:new Bu(this.k*t,this.x,this.y)},translate:function(t,e){return 0===t&0===e?this:new Bu(this.k,this.x+this.k*t,this.y+this.k*e)},apply:function(t){return[t[0]*this.k+this.x,t[1]*this.k+this.y]},applyX:function(t){return t*this.k+this.x},applyY:function(t){return t*this.k+this.y},invert:function(t){return[(t[0]-this.x)/this.k,(t[1]-this.y)/this.k]},invertX:function(t){return(t-this.x)/this.k},invertY:function(t){return(t-this.y)/this.k},rescaleX:function(t){return t.copy().domain(t.range().map(this.invertX,this).map(t.invert,t))},rescaleY:function(t){return t.copy().domain(t.range().map(this.invertY,this).map(t.invert,t))},toString:function(){return"translate("+this.x+","+this.y+") scale("+this.k+")"}},Bu.prototype;var qu=Object.hasOwnProperty,Vu=Object.setPrototypeOf,Wu=Object.isFrozen,Ku=Object.getPrototypeOf,Yu=Object.getOwnPropertyDescriptor,Xu=Object.freeze,Zu=Object.seal,Qu=Object.create,Ju=typeof Reflect<"u"&&Reflect,th=Ju.apply,eh=Ju.construct;th||(th=function(t,e,n){return t.apply(e,n)}),Xu||(Xu=function(t){return t}),Zu||(Zu=function(t){return t}),eh||(eh=function(t,e){return ju(t,Fu(e))});var nh=fh(Array.prototype.forEach),rh=fh(Array.prototype.pop),ih=fh(Array.prototype.push),ah=fh(String.prototype.toLowerCase),oh=fh(String.prototype.toString),sh=fh(String.prototype.match),ch=fh(String.prototype.replace),lh=fh(String.prototype.indexOf),uh=fh(String.prototype.trim),hh=fh(RegExp.prototype.test),dh=ph(TypeError);function fh(t){return function(e){for(var n=arguments.length,r=new Array(n>1?n-1:0),i=1;i/gm),Oh=Zu(/\${[\w\W]*}/gm),Mh=Zu(/^data-[\-\w.\u00B7-\uFFFF]/),Nh=Zu(/^aria-[\-\w]+$/),Bh=Zu(/^(?:(?:(?:f|ht)tps?|mailto|tel|callto|cid|xmpp):|[^a-z]|[a-z+.\-]+(?:[^a-z+.\-:]|$))/i),Lh=Zu(/^(?:\w+script|data):/i),Ph=Zu(/[\u0000-\u0020\u00A0\u1680\u180E\u2000-\u2029\u205F\u3000]/g),Rh=Zu(/^html$/i),jh=function(){return typeof window>"u"?null:window},Fh=function(t,e){if("object"!==Lu(t)||"function"!=typeof t.createPolicy)return null;var n=null,r="data-tt-policy-suffix";e.currentScript&&e.currentScript.hasAttribute(r)&&(n=e.currentScript.getAttribute(r));var i="dompurify"+(n?"#"+n:"");try{return t.createPolicy(i,{createHTML:function(t){return t},createScriptURL:function(t){return t}})}catch{return null}};function $h(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:jh(),e=function(t){return $h(t)};if(e.version="2.4.3",e.removed=[],!t||!t.document||9!==t.document.nodeType)return e.isSupported=!1,e;var n=t.document,r=t.document,i=t.DocumentFragment,a=t.HTMLTemplateElement,o=t.Node,s=t.Element,c=t.NodeFilter,l=t.NamedNodeMap,u=void 0===l?t.NamedNodeMap||t.MozNamedAttrMap:l,h=t.HTMLFormElement,d=t.DOMParser,f=t.trustedTypes,p=s.prototype,g=mh(p,"cloneNode"),b=mh(p,"nextSibling"),m=mh(p,"childNodes"),y=mh(p,"parentNode");if("function"==typeof a){var w=r.createElement("template");w.content&&w.content.ownerDocument&&(r=w.content.ownerDocument)}var v=Fh(f,n),k=v?v.createHTML(""):"",_=r,x=_.implementation,E=_.createNodeIterator,T=_.createDocumentFragment,S=_.getElementsByTagName,D=n.importNode,C={};try{C=bh(r).documentMode?r.documentMode:{}}catch{}var I={};e.isSupported="function"==typeof y&&x&&typeof x.createHTMLDocument<"u"&&9!==C;var A,O,M=Ih,N=Ah,B=Oh,L=Mh,P=Nh,R=Lh,j=Ph,F=Bh,$=null,z=gh({},[].concat(Fu(yh),Fu(wh),Fu(vh),Fu(_h),Fu(Eh))),U=null,H=gh({},[].concat(Fu(Th),Fu(Sh),Fu(Dh),Fu(Ch))),G=Object.seal(Object.create(null,{tagNameCheck:{writable:!0,configurable:!1,enumerable:!0,value:null},attributeNameCheck:{writable:!0,configurable:!1,enumerable:!0,value:null},allowCustomizedBuiltInElements:{writable:!0,configurable:!1,enumerable:!0,value:!1}})),q=null,V=null,W=!0,K=!0,Y=!1,X=!1,Z=!1,Q=!1,J=!1,tt=!1,et=!1,nt=!1,rt=!0,it=!1,at="user-content-",ot=!0,st=!1,ct={},lt=null,ut=gh({},["annotation-xml","audio","colgroup","desc","foreignobject","head","iframe","math","mi","mn","mo","ms","mtext","noembed","noframes","noscript","plaintext","script","style","svg","template","thead","title","video","xmp"]),ht=null,dt=gh({},["audio","video","img","source","image","track"]),ft=null,pt=gh({},["alt","class","for","id","label","name","pattern","placeholder","role","summary","title","value","style","xmlns"]),gt="http://www.w3.org/1998/Math/MathML",bt="http://www.w3.org/2000/svg",mt="http://www.w3.org/1999/xhtml",yt=mt,wt=!1,vt=null,kt=gh({},[gt,bt,mt],oh),_t=["application/xhtml+xml","text/html"],xt="text/html",Et=null,Tt=r.createElement("form"),St=function(t){return t instanceof RegExp||t instanceof Function},Dt=function(t){Et&&Et===t||((!t||"object"!==Lu(t))&&(t={}),t=bh(t),A=A=-1===_t.indexOf(t.PARSER_MEDIA_TYPE)?xt:t.PARSER_MEDIA_TYPE,O="application/xhtml+xml"===A?oh:ah,$="ALLOWED_TAGS"in t?gh({},t.ALLOWED_TAGS,O):z,U="ALLOWED_ATTR"in t?gh({},t.ALLOWED_ATTR,O):H,vt="ALLOWED_NAMESPACES"in t?gh({},t.ALLOWED_NAMESPACES,oh):kt,ft="ADD_URI_SAFE_ATTR"in t?gh(bh(pt),t.ADD_URI_SAFE_ATTR,O):pt,ht="ADD_DATA_URI_TAGS"in t?gh(bh(dt),t.ADD_DATA_URI_TAGS,O):dt,lt="FORBID_CONTENTS"in t?gh({},t.FORBID_CONTENTS,O):ut,q="FORBID_TAGS"in t?gh({},t.FORBID_TAGS,O):{},V="FORBID_ATTR"in t?gh({},t.FORBID_ATTR,O):{},ct="USE_PROFILES"in t&&t.USE_PROFILES,W=!1!==t.ALLOW_ARIA_ATTR,K=!1!==t.ALLOW_DATA_ATTR,Y=t.ALLOW_UNKNOWN_PROTOCOLS||!1,X=t.SAFE_FOR_TEMPLATES||!1,Z=t.WHOLE_DOCUMENT||!1,tt=t.RETURN_DOM||!1,et=t.RETURN_DOM_FRAGMENT||!1,nt=t.RETURN_TRUSTED_TYPE||!1,J=t.FORCE_BODY||!1,rt=!1!==t.SANITIZE_DOM,it=t.SANITIZE_NAMED_PROPS||!1,ot=!1!==t.KEEP_CONTENT,st=t.IN_PLACE||!1,F=t.ALLOWED_URI_REGEXP||F,yt=t.NAMESPACE||mt,t.CUSTOM_ELEMENT_HANDLING&&St(t.CUSTOM_ELEMENT_HANDLING.tagNameCheck)&&(G.tagNameCheck=t.CUSTOM_ELEMENT_HANDLING.tagNameCheck),t.CUSTOM_ELEMENT_HANDLING&&St(t.CUSTOM_ELEMENT_HANDLING.attributeNameCheck)&&(G.attributeNameCheck=t.CUSTOM_ELEMENT_HANDLING.attributeNameCheck),t.CUSTOM_ELEMENT_HANDLING&&"boolean"==typeof t.CUSTOM_ELEMENT_HANDLING.allowCustomizedBuiltInElements&&(G.allowCustomizedBuiltInElements=t.CUSTOM_ELEMENT_HANDLING.allowCustomizedBuiltInElements),X&&(K=!1),et&&(tt=!0),ct&&($=gh({},Fu(Eh)),U=[],!0===ct.html&&(gh($,yh),gh(U,Th)),!0===ct.svg&&(gh($,wh),gh(U,Sh),gh(U,Ch)),!0===ct.svgFilters&&(gh($,vh),gh(U,Sh),gh(U,Ch)),!0===ct.mathMl&&(gh($,_h),gh(U,Dh),gh(U,Ch))),t.ADD_TAGS&&($===z&&($=bh($)),gh($,t.ADD_TAGS,O)),t.ADD_ATTR&&(U===H&&(U=bh(U)),gh(U,t.ADD_ATTR,O)),t.ADD_URI_SAFE_ATTR&&gh(ft,t.ADD_URI_SAFE_ATTR,O),t.FORBID_CONTENTS&&(lt===ut&&(lt=bh(lt)),gh(lt,t.FORBID_CONTENTS,O)),ot&&($["#text"]=!0),Z&&gh($,["html","head","body"]),$.table&&(gh($,["tbody"]),delete q.tbody),Xu&&Xu(t),Et=t)},Ct=gh({},["mi","mo","mn","ms","mtext"]),It=gh({},["foreignobject","desc","title","annotation-xml"]),At=gh({},["title","style","font","a","script"]),Ot=gh({},wh);gh(Ot,vh),gh(Ot,kh);var Mt=gh({},_h);gh(Mt,xh);var Nt=function(t){var e=y(t);(!e||!e.tagName)&&(e={namespaceURI:yt,tagName:"template"});var n=ah(t.tagName),r=ah(e.tagName);return!!vt[t.namespaceURI]&&(t.namespaceURI===bt?e.namespaceURI===mt?"svg"===n:e.namespaceURI===gt?"svg"===n&&("annotation-xml"===r||Ct[r]):Boolean(Ot[n]):t.namespaceURI===gt?e.namespaceURI===mt?"math"===n:e.namespaceURI===bt?"math"===n&&It[r]:Boolean(Mt[n]):t.namespaceURI===mt?!(e.namespaceURI===bt&&!It[r]||e.namespaceURI===gt&&!Ct[r])&&!Mt[n]&&(At[n]||!Ot[n]):!("application/xhtml+xml"!==A||!vt[t.namespaceURI]))},Bt=function(t){ih(e.removed,{element:t});try{t.parentNode.removeChild(t)}catch{try{t.outerHTML=k}catch{t.remove()}}},Lt=function(t,n){try{ih(e.removed,{attribute:n.getAttributeNode(t),from:n})}catch{ih(e.removed,{attribute:null,from:n})}if(n.removeAttribute(t),"is"===t&&!U[t])if(tt||et)try{Bt(n)}catch{}else try{n.setAttribute(t,"")}catch{}},Pt=function(t){var e,n;if(J)t=""+t;else{var i=sh(t,/^[\r\n\t ]+/);n=i&&i[0]}"application/xhtml+xml"===A&&yt===mt&&(t=''+t+"");var a=v?v.createHTML(t):t;if(yt===mt)try{e=(new d).parseFromString(a,A)}catch{}if(!e||!e.documentElement){e=x.createDocument(yt,"template",null);try{e.documentElement.innerHTML=wt?k:a}catch{}}var o=e.body||e.documentElement;return t&&n&&o.insertBefore(r.createTextNode(n),o.childNodes[0]||null),yt===mt?S.call(e,Z?"html":"body")[0]:Z?e.documentElement:o},Rt=function(t){return E.call(t.ownerDocument||t,t,c.SHOW_ELEMENT|c.SHOW_COMMENT|c.SHOW_TEXT,null,!1)},jt=function(t){return t instanceof h&&("string"!=typeof t.nodeName||"string"!=typeof t.textContent||"function"!=typeof t.removeChild||!(t.attributes instanceof u)||"function"!=typeof t.removeAttribute||"function"!=typeof t.setAttribute||"string"!=typeof t.namespaceURI||"function"!=typeof t.insertBefore||"function"!=typeof t.hasChildNodes)},Ft=function(t){return"object"===Lu(o)?t instanceof o:t&&"object"===Lu(t)&&"number"==typeof t.nodeType&&"string"==typeof t.nodeName},$t=function(t,n,r){I[t]&&nh(I[t],(function(t){t.call(e,n,r,Et)}))},zt=function(t){var n;if($t("beforeSanitizeElements",t,null),jt(t)||hh(/[\u0080-\uFFFF]/,t.nodeName))return Bt(t),!0;var r=O(t.nodeName);if($t("uponSanitizeElement",t,{tagName:r,allowedTags:$}),t.hasChildNodes()&&!Ft(t.firstElementChild)&&(!Ft(t.content)||!Ft(t.content.firstElementChild))&&hh(/<[/\w]/g,t.innerHTML)&&hh(/<[/\w]/g,t.textContent)||"select"===r&&hh(/