diff --git a/docs/3rdpartylicenses.txt b/docs/3rdpartylicenses.txt new file mode 100644 index 0000000..1ae37dc --- /dev/null +++ b/docs/3rdpartylicenses.txt @@ -0,0 +1,469 @@ +@angular/animations +MIT + +@angular/cdk +MIT +The MIT License + +Copyright (c) 2024 Google LLC. + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. + + +@angular/common +MIT + +@angular/core +MIT + +@angular/forms +MIT + +@angular/material +MIT +The MIT License + +Copyright (c) 2024 Google LLC. + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. + + +@angular/platform-browser +MIT + +@angular/service-worker +MIT + +@kurkle/color +MIT +The MIT License (MIT) + +Copyright (c) 2018-2021 Jukka Kurkela + +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + + +@manekinekko/angular-web-bluetooth +MIT + +@uriopass/nosleep.js +MIT +The MIT License (MIT) + +Copyright (c) Rich Tibbett + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +"Software"), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE +LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION +OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION +WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + + +chart.js +MIT +The MIT License (MIT) + +Copyright (c) 2014-2022 Chart.js Contributors + +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + + +chartjs-plugin-datalabels +MIT +The MIT License (MIT) + +Copyright (c) 2017-2021 chartjs-plugin-datalabels contributors + +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + + +lodash-es +MIT +Copyright OpenJS Foundation and other contributors + +Based on Underscore.js, copyright Jeremy Ashkenas, +DocumentCloud and Investigative Reporters & Editors + +This software consists of voluntary contributions made by many +individuals. For exact contribution history, see the revision history +available at https://github.com/lodash/lodash + +The following license applies to all parts of this software except as +documented below: + +==== + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +"Software"), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE +LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION +OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION +WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +==== + +Copyright and related rights for sample code are waived via CC0. Sample +code is defined as all source code displayed within the prose of the +documentation. + +CC0: http://creativecommons.org/publicdomain/zero/1.0/ + +==== + +Files located in the node_modules and vendor directories are externally +maintained libraries used by this software which have their own +licenses; we recommend you read them, as their terms may differ from the +terms above. + + +ng2-charts +MIT +The MIT License (MIT) + +Copyright (c) 2023 Valor Labs +Copyright (c) 2023 Valor Software +Copyright (c) 2023 Dmitriy Shekhovtsov + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + + +rxjs +Apache-2.0 + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright (c) 2015-2018 Google, Inc., Netflix, Inc., Microsoft Corp. and contributors + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + + + +web-ant-plus +MIT +The MIT License (MIT) + +Copyright (c) 2015 Alessandro Vergani + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + + + +zone.js +MIT +The MIT License + +Copyright (c) 2010-2023 Google LLC. https://angular.io/license + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. diff --git a/docs/assets/icons/android/android-launchericon-144-144.png b/docs/assets/icons/android/android-launchericon-144-144.png new file mode 100644 index 0000000..dfccb36 Binary files /dev/null and b/docs/assets/icons/android/android-launchericon-144-144.png differ diff --git a/docs/assets/icons/android/android-launchericon-192-192.png b/docs/assets/icons/android/android-launchericon-192-192.png new file mode 100644 index 0000000..98131b8 Binary files /dev/null and b/docs/assets/icons/android/android-launchericon-192-192.png differ diff --git a/docs/assets/icons/android/android-launchericon-48-48.png b/docs/assets/icons/android/android-launchericon-48-48.png new file mode 100644 index 0000000..3705375 Binary files /dev/null and b/docs/assets/icons/android/android-launchericon-48-48.png differ diff --git a/docs/assets/icons/android/android-launchericon-512-512.png b/docs/assets/icons/android/android-launchericon-512-512.png new file mode 100644 index 0000000..96174d5 Binary files /dev/null and b/docs/assets/icons/android/android-launchericon-512-512.png differ diff --git a/docs/assets/icons/android/android-launchericon-72-72.png b/docs/assets/icons/android/android-launchericon-72-72.png new file mode 100644 index 0000000..e5e5045 Binary files /dev/null and b/docs/assets/icons/android/android-launchericon-72-72.png differ diff --git a/docs/assets/icons/android/android-launchericon-96-96.png b/docs/assets/icons/android/android-launchericon-96-96.png new file mode 100644 index 0000000..e90543c Binary files /dev/null and b/docs/assets/icons/android/android-launchericon-96-96.png differ diff --git a/docs/assets/icons/ios/100.png b/docs/assets/icons/ios/100.png new file mode 100644 index 0000000..1bdbd8a Binary files /dev/null and b/docs/assets/icons/ios/100.png differ diff --git a/docs/assets/icons/ios/1024.png b/docs/assets/icons/ios/1024.png new file mode 100644 index 0000000..28a7c8b Binary files /dev/null and b/docs/assets/icons/ios/1024.png differ diff --git a/docs/assets/icons/ios/114.png b/docs/assets/icons/ios/114.png new file mode 100644 index 0000000..cb4fcff Binary files /dev/null and b/docs/assets/icons/ios/114.png differ diff --git a/docs/assets/icons/ios/120.png b/docs/assets/icons/ios/120.png new file mode 100644 index 0000000..5b8e233 Binary files /dev/null and b/docs/assets/icons/ios/120.png differ diff --git a/docs/assets/icons/ios/128.png b/docs/assets/icons/ios/128.png new file mode 100644 index 0000000..17fffb9 Binary files /dev/null and b/docs/assets/icons/ios/128.png differ diff --git a/docs/assets/icons/ios/144.png b/docs/assets/icons/ios/144.png new file mode 100644 index 0000000..dfccb36 Binary files /dev/null and b/docs/assets/icons/ios/144.png differ diff --git a/docs/assets/icons/ios/152.png b/docs/assets/icons/ios/152.png new file mode 100644 index 0000000..7e2b50a Binary files /dev/null and b/docs/assets/icons/ios/152.png differ diff --git a/docs/assets/icons/ios/16.png b/docs/assets/icons/ios/16.png new file mode 100644 index 0000000..e1b3e51 Binary files /dev/null and b/docs/assets/icons/ios/16.png differ diff --git a/docs/assets/icons/ios/167.png b/docs/assets/icons/ios/167.png new file mode 100644 index 0000000..689bcff Binary files /dev/null and b/docs/assets/icons/ios/167.png differ diff --git a/docs/assets/icons/ios/180.png b/docs/assets/icons/ios/180.png new file mode 100644 index 0000000..21ad83f Binary files /dev/null and b/docs/assets/icons/ios/180.png differ diff --git a/docs/assets/icons/ios/192.png b/docs/assets/icons/ios/192.png new file mode 100644 index 0000000..98131b8 Binary files /dev/null and b/docs/assets/icons/ios/192.png differ diff --git a/docs/assets/icons/ios/20.png b/docs/assets/icons/ios/20.png new file mode 100644 index 0000000..0d63506 Binary files /dev/null and b/docs/assets/icons/ios/20.png differ diff --git a/docs/assets/icons/ios/256.png b/docs/assets/icons/ios/256.png new file mode 100644 index 0000000..61cc486 Binary files /dev/null and b/docs/assets/icons/ios/256.png differ diff --git a/docs/assets/icons/ios/29.png b/docs/assets/icons/ios/29.png new file mode 100644 index 0000000..489ef39 Binary files /dev/null and b/docs/assets/icons/ios/29.png differ diff --git a/docs/assets/icons/ios/32.png b/docs/assets/icons/ios/32.png new file mode 100644 index 0000000..64e1b74 Binary files /dev/null and b/docs/assets/icons/ios/32.png differ diff --git a/docs/assets/icons/ios/40.png b/docs/assets/icons/ios/40.png new file mode 100644 index 0000000..8bce239 Binary files /dev/null and b/docs/assets/icons/ios/40.png differ diff --git a/docs/assets/icons/ios/50.png b/docs/assets/icons/ios/50.png new file mode 100644 index 0000000..764dceb Binary files /dev/null and b/docs/assets/icons/ios/50.png differ diff --git a/docs/assets/icons/ios/512.png b/docs/assets/icons/ios/512.png new file mode 100644 index 0000000..96174d5 Binary files /dev/null and b/docs/assets/icons/ios/512.png differ diff --git a/docs/assets/icons/ios/57.png b/docs/assets/icons/ios/57.png new file mode 100644 index 0000000..93e0a98 Binary files /dev/null and b/docs/assets/icons/ios/57.png differ diff --git a/docs/assets/icons/ios/58.png b/docs/assets/icons/ios/58.png new file mode 100644 index 0000000..3514a83 Binary files /dev/null and b/docs/assets/icons/ios/58.png differ diff --git a/docs/assets/icons/ios/60.png b/docs/assets/icons/ios/60.png new file mode 100644 index 0000000..a1334db Binary files /dev/null and b/docs/assets/icons/ios/60.png differ diff --git a/docs/assets/icons/ios/64.png b/docs/assets/icons/ios/64.png new file mode 100644 index 0000000..24a3a34 Binary files /dev/null and b/docs/assets/icons/ios/64.png differ diff --git a/docs/assets/icons/ios/72.png b/docs/assets/icons/ios/72.png new file mode 100644 index 0000000..e5e5045 Binary files /dev/null and b/docs/assets/icons/ios/72.png differ diff --git a/docs/assets/icons/ios/76.png b/docs/assets/icons/ios/76.png new file mode 100644 index 0000000..75d28c6 Binary files /dev/null and b/docs/assets/icons/ios/76.png differ diff --git a/docs/assets/icons/ios/80.png b/docs/assets/icons/ios/80.png new file mode 100644 index 0000000..3637a8b Binary files /dev/null and b/docs/assets/icons/ios/80.png differ diff --git a/docs/assets/icons/ios/87.png b/docs/assets/icons/ios/87.png new file mode 100644 index 0000000..20f1277 Binary files /dev/null and b/docs/assets/icons/ios/87.png differ diff --git a/docs/assets/icons/windows11/LargeTile.scale-100.png b/docs/assets/icons/windows11/LargeTile.scale-100.png new file mode 100644 index 0000000..ee83532 Binary files /dev/null and b/docs/assets/icons/windows11/LargeTile.scale-100.png differ diff --git a/docs/assets/icons/windows11/LargeTile.scale-125.png b/docs/assets/icons/windows11/LargeTile.scale-125.png new file mode 100644 index 0000000..62a942a Binary files /dev/null and b/docs/assets/icons/windows11/LargeTile.scale-125.png differ diff --git a/docs/assets/icons/windows11/LargeTile.scale-150.png b/docs/assets/icons/windows11/LargeTile.scale-150.png new file mode 100644 index 0000000..e027cd4 Binary files /dev/null and b/docs/assets/icons/windows11/LargeTile.scale-150.png differ diff --git a/docs/assets/icons/windows11/LargeTile.scale-200.png b/docs/assets/icons/windows11/LargeTile.scale-200.png new file mode 100644 index 0000000..a11ca9c Binary files /dev/null and b/docs/assets/icons/windows11/LargeTile.scale-200.png differ diff --git a/docs/assets/icons/windows11/LargeTile.scale-400.png b/docs/assets/icons/windows11/LargeTile.scale-400.png new file mode 100644 index 0000000..d5d1530 Binary files /dev/null and b/docs/assets/icons/windows11/LargeTile.scale-400.png differ diff --git a/docs/assets/icons/windows11/SmallTile.scale-100.png b/docs/assets/icons/windows11/SmallTile.scale-100.png new file mode 100644 index 0000000..272a48d Binary files /dev/null and b/docs/assets/icons/windows11/SmallTile.scale-100.png differ diff --git a/docs/assets/icons/windows11/SmallTile.scale-125.png b/docs/assets/icons/windows11/SmallTile.scale-125.png new file mode 100644 index 0000000..0f2aad7 Binary files /dev/null and b/docs/assets/icons/windows11/SmallTile.scale-125.png differ diff --git a/docs/assets/icons/windows11/SmallTile.scale-150.png b/docs/assets/icons/windows11/SmallTile.scale-150.png new file mode 100644 index 0000000..6a72531 Binary files /dev/null and b/docs/assets/icons/windows11/SmallTile.scale-150.png differ diff --git a/docs/assets/icons/windows11/SmallTile.scale-200.png b/docs/assets/icons/windows11/SmallTile.scale-200.png new file mode 100644 index 0000000..a65479a Binary files /dev/null and b/docs/assets/icons/windows11/SmallTile.scale-200.png differ diff --git a/docs/assets/icons/windows11/SmallTile.scale-400.png b/docs/assets/icons/windows11/SmallTile.scale-400.png new file mode 100644 index 0000000..aa9f8ec Binary files /dev/null and b/docs/assets/icons/windows11/SmallTile.scale-400.png differ diff --git a/docs/assets/icons/windows11/SplashScreen.scale-100.png b/docs/assets/icons/windows11/SplashScreen.scale-100.png new file mode 100644 index 0000000..db6c9df Binary files /dev/null and b/docs/assets/icons/windows11/SplashScreen.scale-100.png differ diff --git a/docs/assets/icons/windows11/SplashScreen.scale-125.png b/docs/assets/icons/windows11/SplashScreen.scale-125.png new file mode 100644 index 0000000..16db929 Binary files /dev/null and b/docs/assets/icons/windows11/SplashScreen.scale-125.png differ diff --git a/docs/assets/icons/windows11/SplashScreen.scale-150.png b/docs/assets/icons/windows11/SplashScreen.scale-150.png new file mode 100644 index 0000000..d2ab6b1 Binary files /dev/null and b/docs/assets/icons/windows11/SplashScreen.scale-150.png differ diff --git a/docs/assets/icons/windows11/SplashScreen.scale-200.png b/docs/assets/icons/windows11/SplashScreen.scale-200.png new file mode 100644 index 0000000..5b854c9 Binary files /dev/null and b/docs/assets/icons/windows11/SplashScreen.scale-200.png differ diff --git a/docs/assets/icons/windows11/SplashScreen.scale-400.png b/docs/assets/icons/windows11/SplashScreen.scale-400.png new file mode 100644 index 0000000..81addbf Binary files /dev/null and b/docs/assets/icons/windows11/SplashScreen.scale-400.png differ diff --git a/docs/assets/icons/windows11/Square150x150Logo.scale-100.png b/docs/assets/icons/windows11/Square150x150Logo.scale-100.png new file mode 100644 index 0000000..64837e3 Binary files /dev/null and b/docs/assets/icons/windows11/Square150x150Logo.scale-100.png differ diff --git a/docs/assets/icons/windows11/Square150x150Logo.scale-125.png b/docs/assets/icons/windows11/Square150x150Logo.scale-125.png new file mode 100644 index 0000000..af514e7 Binary files /dev/null and b/docs/assets/icons/windows11/Square150x150Logo.scale-125.png differ diff --git a/docs/assets/icons/windows11/Square150x150Logo.scale-150.png b/docs/assets/icons/windows11/Square150x150Logo.scale-150.png new file mode 100644 index 0000000..d8b6be7 Binary files /dev/null and b/docs/assets/icons/windows11/Square150x150Logo.scale-150.png differ diff --git a/docs/assets/icons/windows11/Square150x150Logo.scale-200.png b/docs/assets/icons/windows11/Square150x150Logo.scale-200.png new file mode 100644 index 0000000..4557a09 Binary files /dev/null and b/docs/assets/icons/windows11/Square150x150Logo.scale-200.png differ diff --git a/docs/assets/icons/windows11/Square150x150Logo.scale-400.png b/docs/assets/icons/windows11/Square150x150Logo.scale-400.png new file mode 100644 index 0000000..29632a7 Binary files /dev/null and b/docs/assets/icons/windows11/Square150x150Logo.scale-400.png differ diff --git a/docs/assets/icons/windows11/Square44x44Logo.altform-lightunplated_targetsize-16.png b/docs/assets/icons/windows11/Square44x44Logo.altform-lightunplated_targetsize-16.png new file mode 100644 index 0000000..47ae2be Binary files /dev/null and b/docs/assets/icons/windows11/Square44x44Logo.altform-lightunplated_targetsize-16.png differ diff --git a/docs/assets/icons/windows11/Square44x44Logo.altform-lightunplated_targetsize-20.png b/docs/assets/icons/windows11/Square44x44Logo.altform-lightunplated_targetsize-20.png new file mode 100644 index 0000000..cb49454 Binary files /dev/null and b/docs/assets/icons/windows11/Square44x44Logo.altform-lightunplated_targetsize-20.png differ diff --git a/docs/assets/icons/windows11/Square44x44Logo.altform-lightunplated_targetsize-24.png b/docs/assets/icons/windows11/Square44x44Logo.altform-lightunplated_targetsize-24.png new file mode 100644 index 0000000..3c56440 Binary files /dev/null and b/docs/assets/icons/windows11/Square44x44Logo.altform-lightunplated_targetsize-24.png differ diff --git a/docs/assets/icons/windows11/Square44x44Logo.altform-lightunplated_targetsize-256.png b/docs/assets/icons/windows11/Square44x44Logo.altform-lightunplated_targetsize-256.png new file mode 100644 index 0000000..5600953 Binary files /dev/null and b/docs/assets/icons/windows11/Square44x44Logo.altform-lightunplated_targetsize-256.png differ diff --git a/docs/assets/icons/windows11/Square44x44Logo.altform-lightunplated_targetsize-30.png b/docs/assets/icons/windows11/Square44x44Logo.altform-lightunplated_targetsize-30.png new file mode 100644 index 0000000..011fc70 Binary files /dev/null and b/docs/assets/icons/windows11/Square44x44Logo.altform-lightunplated_targetsize-30.png differ diff --git a/docs/assets/icons/windows11/Square44x44Logo.altform-lightunplated_targetsize-32.png b/docs/assets/icons/windows11/Square44x44Logo.altform-lightunplated_targetsize-32.png new file mode 100644 index 0000000..40626e3 Binary files /dev/null and b/docs/assets/icons/windows11/Square44x44Logo.altform-lightunplated_targetsize-32.png differ diff --git a/docs/assets/icons/windows11/Square44x44Logo.altform-lightunplated_targetsize-36.png b/docs/assets/icons/windows11/Square44x44Logo.altform-lightunplated_targetsize-36.png new file mode 100644 index 0000000..a47c459 Binary files /dev/null and b/docs/assets/icons/windows11/Square44x44Logo.altform-lightunplated_targetsize-36.png differ diff --git a/docs/assets/icons/windows11/Square44x44Logo.altform-lightunplated_targetsize-40.png b/docs/assets/icons/windows11/Square44x44Logo.altform-lightunplated_targetsize-40.png new file mode 100644 index 0000000..defb7f1 Binary files /dev/null and b/docs/assets/icons/windows11/Square44x44Logo.altform-lightunplated_targetsize-40.png differ diff --git a/docs/assets/icons/windows11/Square44x44Logo.altform-lightunplated_targetsize-44.png b/docs/assets/icons/windows11/Square44x44Logo.altform-lightunplated_targetsize-44.png new file mode 100644 index 0000000..40d4782 Binary files /dev/null and b/docs/assets/icons/windows11/Square44x44Logo.altform-lightunplated_targetsize-44.png differ diff --git a/docs/assets/icons/windows11/Square44x44Logo.altform-lightunplated_targetsize-48.png b/docs/assets/icons/windows11/Square44x44Logo.altform-lightunplated_targetsize-48.png new file mode 100644 index 0000000..c80749a Binary files /dev/null and b/docs/assets/icons/windows11/Square44x44Logo.altform-lightunplated_targetsize-48.png differ diff --git a/docs/assets/icons/windows11/Square44x44Logo.altform-lightunplated_targetsize-60.png b/docs/assets/icons/windows11/Square44x44Logo.altform-lightunplated_targetsize-60.png new file mode 100644 index 0000000..b31708e Binary files /dev/null and b/docs/assets/icons/windows11/Square44x44Logo.altform-lightunplated_targetsize-60.png differ diff --git a/docs/assets/icons/windows11/Square44x44Logo.altform-lightunplated_targetsize-64.png b/docs/assets/icons/windows11/Square44x44Logo.altform-lightunplated_targetsize-64.png new file mode 100644 index 0000000..719673e Binary files /dev/null and b/docs/assets/icons/windows11/Square44x44Logo.altform-lightunplated_targetsize-64.png differ diff --git a/docs/assets/icons/windows11/Square44x44Logo.altform-lightunplated_targetsize-72.png b/docs/assets/icons/windows11/Square44x44Logo.altform-lightunplated_targetsize-72.png new file mode 100644 index 0000000..baa660b Binary files /dev/null and b/docs/assets/icons/windows11/Square44x44Logo.altform-lightunplated_targetsize-72.png differ diff --git a/docs/assets/icons/windows11/Square44x44Logo.altform-lightunplated_targetsize-80.png b/docs/assets/icons/windows11/Square44x44Logo.altform-lightunplated_targetsize-80.png new file mode 100644 index 0000000..25600b0 Binary files /dev/null and b/docs/assets/icons/windows11/Square44x44Logo.altform-lightunplated_targetsize-80.png differ diff --git a/docs/assets/icons/windows11/Square44x44Logo.altform-lightunplated_targetsize-96.png b/docs/assets/icons/windows11/Square44x44Logo.altform-lightunplated_targetsize-96.png new file mode 100644 index 0000000..4b2af9f Binary files /dev/null and b/docs/assets/icons/windows11/Square44x44Logo.altform-lightunplated_targetsize-96.png differ diff --git a/docs/assets/icons/windows11/Square44x44Logo.altform-unplated_targetsize-16.png b/docs/assets/icons/windows11/Square44x44Logo.altform-unplated_targetsize-16.png new file mode 100644 index 0000000..47ae2be Binary files /dev/null and b/docs/assets/icons/windows11/Square44x44Logo.altform-unplated_targetsize-16.png differ diff --git a/docs/assets/icons/windows11/Square44x44Logo.altform-unplated_targetsize-20.png b/docs/assets/icons/windows11/Square44x44Logo.altform-unplated_targetsize-20.png new file mode 100644 index 0000000..cb49454 Binary files /dev/null and b/docs/assets/icons/windows11/Square44x44Logo.altform-unplated_targetsize-20.png differ diff --git a/docs/assets/icons/windows11/Square44x44Logo.altform-unplated_targetsize-24.png b/docs/assets/icons/windows11/Square44x44Logo.altform-unplated_targetsize-24.png new file mode 100644 index 0000000..3c56440 Binary files /dev/null and b/docs/assets/icons/windows11/Square44x44Logo.altform-unplated_targetsize-24.png differ diff --git a/docs/assets/icons/windows11/Square44x44Logo.altform-unplated_targetsize-256.png b/docs/assets/icons/windows11/Square44x44Logo.altform-unplated_targetsize-256.png new file mode 100644 index 0000000..5600953 Binary files /dev/null and b/docs/assets/icons/windows11/Square44x44Logo.altform-unplated_targetsize-256.png differ diff --git a/docs/assets/icons/windows11/Square44x44Logo.altform-unplated_targetsize-30.png b/docs/assets/icons/windows11/Square44x44Logo.altform-unplated_targetsize-30.png new file mode 100644 index 0000000..011fc70 Binary files /dev/null and b/docs/assets/icons/windows11/Square44x44Logo.altform-unplated_targetsize-30.png differ diff --git a/docs/assets/icons/windows11/Square44x44Logo.altform-unplated_targetsize-32.png b/docs/assets/icons/windows11/Square44x44Logo.altform-unplated_targetsize-32.png new file mode 100644 index 0000000..40626e3 Binary files /dev/null and b/docs/assets/icons/windows11/Square44x44Logo.altform-unplated_targetsize-32.png differ diff --git a/docs/assets/icons/windows11/Square44x44Logo.altform-unplated_targetsize-36.png b/docs/assets/icons/windows11/Square44x44Logo.altform-unplated_targetsize-36.png new file mode 100644 index 0000000..a47c459 Binary files /dev/null and b/docs/assets/icons/windows11/Square44x44Logo.altform-unplated_targetsize-36.png differ diff --git a/docs/assets/icons/windows11/Square44x44Logo.altform-unplated_targetsize-40.png b/docs/assets/icons/windows11/Square44x44Logo.altform-unplated_targetsize-40.png new file mode 100644 index 0000000..defb7f1 Binary files /dev/null and b/docs/assets/icons/windows11/Square44x44Logo.altform-unplated_targetsize-40.png differ diff --git a/docs/assets/icons/windows11/Square44x44Logo.altform-unplated_targetsize-44.png b/docs/assets/icons/windows11/Square44x44Logo.altform-unplated_targetsize-44.png new file mode 100644 index 0000000..40d4782 Binary files /dev/null and b/docs/assets/icons/windows11/Square44x44Logo.altform-unplated_targetsize-44.png differ diff --git a/docs/assets/icons/windows11/Square44x44Logo.altform-unplated_targetsize-48.png b/docs/assets/icons/windows11/Square44x44Logo.altform-unplated_targetsize-48.png new file mode 100644 index 0000000..c80749a Binary files /dev/null and b/docs/assets/icons/windows11/Square44x44Logo.altform-unplated_targetsize-48.png differ diff --git a/docs/assets/icons/windows11/Square44x44Logo.altform-unplated_targetsize-60.png b/docs/assets/icons/windows11/Square44x44Logo.altform-unplated_targetsize-60.png new file mode 100644 index 0000000..b31708e Binary files /dev/null and b/docs/assets/icons/windows11/Square44x44Logo.altform-unplated_targetsize-60.png differ diff --git a/docs/assets/icons/windows11/Square44x44Logo.altform-unplated_targetsize-64.png b/docs/assets/icons/windows11/Square44x44Logo.altform-unplated_targetsize-64.png new file mode 100644 index 0000000..719673e Binary files /dev/null and b/docs/assets/icons/windows11/Square44x44Logo.altform-unplated_targetsize-64.png differ diff --git a/docs/assets/icons/windows11/Square44x44Logo.altform-unplated_targetsize-72.png b/docs/assets/icons/windows11/Square44x44Logo.altform-unplated_targetsize-72.png new file mode 100644 index 0000000..baa660b Binary files /dev/null and b/docs/assets/icons/windows11/Square44x44Logo.altform-unplated_targetsize-72.png differ diff --git a/docs/assets/icons/windows11/Square44x44Logo.altform-unplated_targetsize-80.png b/docs/assets/icons/windows11/Square44x44Logo.altform-unplated_targetsize-80.png new file mode 100644 index 0000000..25600b0 Binary files /dev/null and b/docs/assets/icons/windows11/Square44x44Logo.altform-unplated_targetsize-80.png differ diff --git a/docs/assets/icons/windows11/Square44x44Logo.altform-unplated_targetsize-96.png b/docs/assets/icons/windows11/Square44x44Logo.altform-unplated_targetsize-96.png new file mode 100644 index 0000000..4b2af9f Binary files /dev/null and b/docs/assets/icons/windows11/Square44x44Logo.altform-unplated_targetsize-96.png differ diff --git a/docs/assets/icons/windows11/Square44x44Logo.scale-100.png b/docs/assets/icons/windows11/Square44x44Logo.scale-100.png new file mode 100644 index 0000000..40d4782 Binary files /dev/null and b/docs/assets/icons/windows11/Square44x44Logo.scale-100.png differ diff --git a/docs/assets/icons/windows11/Square44x44Logo.scale-125.png b/docs/assets/icons/windows11/Square44x44Logo.scale-125.png new file mode 100644 index 0000000..8cd5a8c Binary files /dev/null and b/docs/assets/icons/windows11/Square44x44Logo.scale-125.png differ diff --git a/docs/assets/icons/windows11/Square44x44Logo.scale-150.png b/docs/assets/icons/windows11/Square44x44Logo.scale-150.png new file mode 100644 index 0000000..91af32d Binary files /dev/null and b/docs/assets/icons/windows11/Square44x44Logo.scale-150.png differ diff --git a/docs/assets/icons/windows11/Square44x44Logo.scale-200.png b/docs/assets/icons/windows11/Square44x44Logo.scale-200.png new file mode 100644 index 0000000..12f4271 Binary files /dev/null and b/docs/assets/icons/windows11/Square44x44Logo.scale-200.png differ diff --git a/docs/assets/icons/windows11/Square44x44Logo.scale-400.png b/docs/assets/icons/windows11/Square44x44Logo.scale-400.png new file mode 100644 index 0000000..8c88abc Binary files /dev/null and b/docs/assets/icons/windows11/Square44x44Logo.scale-400.png differ diff --git a/docs/assets/icons/windows11/Square44x44Logo.targetsize-16.png b/docs/assets/icons/windows11/Square44x44Logo.targetsize-16.png new file mode 100644 index 0000000..47ae2be Binary files /dev/null and b/docs/assets/icons/windows11/Square44x44Logo.targetsize-16.png differ diff --git a/docs/assets/icons/windows11/Square44x44Logo.targetsize-20.png b/docs/assets/icons/windows11/Square44x44Logo.targetsize-20.png new file mode 100644 index 0000000..cb49454 Binary files /dev/null and b/docs/assets/icons/windows11/Square44x44Logo.targetsize-20.png differ diff --git a/docs/assets/icons/windows11/Square44x44Logo.targetsize-24.png b/docs/assets/icons/windows11/Square44x44Logo.targetsize-24.png new file mode 100644 index 0000000..3c56440 Binary files /dev/null and b/docs/assets/icons/windows11/Square44x44Logo.targetsize-24.png differ diff --git a/docs/assets/icons/windows11/Square44x44Logo.targetsize-256.png b/docs/assets/icons/windows11/Square44x44Logo.targetsize-256.png new file mode 100644 index 0000000..5600953 Binary files /dev/null and b/docs/assets/icons/windows11/Square44x44Logo.targetsize-256.png differ diff --git a/docs/assets/icons/windows11/Square44x44Logo.targetsize-30.png b/docs/assets/icons/windows11/Square44x44Logo.targetsize-30.png new file mode 100644 index 0000000..011fc70 Binary files /dev/null and b/docs/assets/icons/windows11/Square44x44Logo.targetsize-30.png differ diff --git a/docs/assets/icons/windows11/Square44x44Logo.targetsize-32.png b/docs/assets/icons/windows11/Square44x44Logo.targetsize-32.png new file mode 100644 index 0000000..40626e3 Binary files /dev/null and b/docs/assets/icons/windows11/Square44x44Logo.targetsize-32.png differ diff --git a/docs/assets/icons/windows11/Square44x44Logo.targetsize-36.png b/docs/assets/icons/windows11/Square44x44Logo.targetsize-36.png new file mode 100644 index 0000000..a47c459 Binary files /dev/null and b/docs/assets/icons/windows11/Square44x44Logo.targetsize-36.png differ diff --git a/docs/assets/icons/windows11/Square44x44Logo.targetsize-40.png b/docs/assets/icons/windows11/Square44x44Logo.targetsize-40.png new file mode 100644 index 0000000..defb7f1 Binary files /dev/null and b/docs/assets/icons/windows11/Square44x44Logo.targetsize-40.png differ diff --git a/docs/assets/icons/windows11/Square44x44Logo.targetsize-44.png b/docs/assets/icons/windows11/Square44x44Logo.targetsize-44.png new file mode 100644 index 0000000..40d4782 Binary files /dev/null and b/docs/assets/icons/windows11/Square44x44Logo.targetsize-44.png differ diff --git a/docs/assets/icons/windows11/Square44x44Logo.targetsize-48.png b/docs/assets/icons/windows11/Square44x44Logo.targetsize-48.png new file mode 100644 index 0000000..c80749a Binary files /dev/null and b/docs/assets/icons/windows11/Square44x44Logo.targetsize-48.png differ diff --git a/docs/assets/icons/windows11/Square44x44Logo.targetsize-60.png b/docs/assets/icons/windows11/Square44x44Logo.targetsize-60.png new file mode 100644 index 0000000..b31708e Binary files /dev/null and b/docs/assets/icons/windows11/Square44x44Logo.targetsize-60.png differ diff --git a/docs/assets/icons/windows11/Square44x44Logo.targetsize-64.png b/docs/assets/icons/windows11/Square44x44Logo.targetsize-64.png new file mode 100644 index 0000000..719673e Binary files /dev/null and b/docs/assets/icons/windows11/Square44x44Logo.targetsize-64.png differ diff --git a/docs/assets/icons/windows11/Square44x44Logo.targetsize-72.png b/docs/assets/icons/windows11/Square44x44Logo.targetsize-72.png new file mode 100644 index 0000000..baa660b Binary files /dev/null and b/docs/assets/icons/windows11/Square44x44Logo.targetsize-72.png differ diff --git a/docs/assets/icons/windows11/Square44x44Logo.targetsize-80.png b/docs/assets/icons/windows11/Square44x44Logo.targetsize-80.png new file mode 100644 index 0000000..25600b0 Binary files /dev/null and b/docs/assets/icons/windows11/Square44x44Logo.targetsize-80.png differ diff --git a/docs/assets/icons/windows11/Square44x44Logo.targetsize-96.png b/docs/assets/icons/windows11/Square44x44Logo.targetsize-96.png new file mode 100644 index 0000000..4b2af9f Binary files /dev/null and b/docs/assets/icons/windows11/Square44x44Logo.targetsize-96.png differ diff --git a/docs/assets/icons/windows11/StoreLogo.scale-100.png b/docs/assets/icons/windows11/StoreLogo.scale-100.png new file mode 100644 index 0000000..764dceb Binary files /dev/null and b/docs/assets/icons/windows11/StoreLogo.scale-100.png differ diff --git a/docs/assets/icons/windows11/StoreLogo.scale-125.png b/docs/assets/icons/windows11/StoreLogo.scale-125.png new file mode 100644 index 0000000..9912581 Binary files /dev/null and b/docs/assets/icons/windows11/StoreLogo.scale-125.png differ diff --git a/docs/assets/icons/windows11/StoreLogo.scale-150.png b/docs/assets/icons/windows11/StoreLogo.scale-150.png new file mode 100644 index 0000000..7044183 Binary files /dev/null and b/docs/assets/icons/windows11/StoreLogo.scale-150.png differ diff --git a/docs/assets/icons/windows11/StoreLogo.scale-200.png b/docs/assets/icons/windows11/StoreLogo.scale-200.png new file mode 100644 index 0000000..1bdbd8a Binary files /dev/null and b/docs/assets/icons/windows11/StoreLogo.scale-200.png differ diff --git a/docs/assets/icons/windows11/StoreLogo.scale-400.png b/docs/assets/icons/windows11/StoreLogo.scale-400.png new file mode 100644 index 0000000..670768c Binary files /dev/null and b/docs/assets/icons/windows11/StoreLogo.scale-400.png differ diff --git a/docs/assets/icons/windows11/Wide310x150Logo.scale-100.png b/docs/assets/icons/windows11/Wide310x150Logo.scale-100.png new file mode 100644 index 0000000..c904402 Binary files /dev/null and b/docs/assets/icons/windows11/Wide310x150Logo.scale-100.png differ diff --git a/docs/assets/icons/windows11/Wide310x150Logo.scale-125.png b/docs/assets/icons/windows11/Wide310x150Logo.scale-125.png new file mode 100644 index 0000000..c785bf6 Binary files /dev/null and b/docs/assets/icons/windows11/Wide310x150Logo.scale-125.png differ diff --git a/docs/assets/icons/windows11/Wide310x150Logo.scale-150.png b/docs/assets/icons/windows11/Wide310x150Logo.scale-150.png new file mode 100644 index 0000000..111b835 Binary files /dev/null and b/docs/assets/icons/windows11/Wide310x150Logo.scale-150.png differ diff --git a/docs/assets/icons/windows11/Wide310x150Logo.scale-200.png b/docs/assets/icons/windows11/Wide310x150Logo.scale-200.png new file mode 100644 index 0000000..db6c9df Binary files /dev/null and b/docs/assets/icons/windows11/Wide310x150Logo.scale-200.png differ diff --git a/docs/assets/icons/windows11/Wide310x150Logo.scale-400.png b/docs/assets/icons/windows11/Wide310x150Logo.scale-400.png new file mode 100644 index 0000000..5b854c9 Binary files /dev/null and b/docs/assets/icons/windows11/Wide310x150Logo.scale-400.png differ diff --git a/docs/deprecated-docs.md b/docs/deprecated-docs.md deleted file mode 100644 index cfcf162..0000000 --- a/docs/deprecated-docs.md +++ /dev/null @@ -1,34 +0,0 @@ -# Deprecated documentation - -## Development server - -Run `ng serve` for a dev server. Navigate to `http://localhost:4200/`. The application will automatically reload if you change any of the source files. - -After running the web server under settings (cog icon on the toolbar) it is possible to set the WebSocket address of ESP Rowing Monitor. Once the WebGUI connects to the websocket server it will receive updates automatically and show the available metrics. - -## Build/Install - -It is possible to serve the WebGUI directly from the ESP Rowing Monitor server. In order to do this, this project needs to be built and than the files under the `dist/esp-rowing-monitor-client` folder needs to be copied to the `data/www` folder in the ESP Rowing Monitor project folder. Once thats done the LittleFs image can be built and uploaded to the ESP32 MCU. - -1. Run `ng build` to build the project. The build artifacts will be stored in the `dist/esp-rowing-monitor-client` directory. -2. Copy the files under the `dist/esp-rowing-monitor-client` to the ESP Rowing Monitor project folder `data/www` folder -3. Run `pio run --target uploadfs --environment esp32` to upload the file system image to the ESP32 chip via USB Serial - -One advantage of serving the WebGUI via the built in web server is that the WebSocket address is set automatically. - -## Experimental BLE Heart Rate Monitor Support - -- As per the specs Web BLE API is only available in [secure context](https://developer.mozilla.org/en-US/docs/Web/Security/Secure_Contexts), i.e. either when accessing locally-delivered resources such as those with `http://127.0.0.1` URLs, `http://localhost` and `http://*.localhost` URLs (e.g. `http://dev.whatever.localhost/`), and `file://` URLs. This should mean that BLE connection will not be available if WebGUI is served up from the ESP32 as it does not meet any of the above criteria (served up via http from a local IP address). Currently there are several possible workarounds: - -1) serve the page up from the computer as a [Developer server](#development-server) -2) use a simple light weight http server (it is available on most platforms including android) and serve the GUI from there and access it through localhost -3) set up proxy pass for the ESP32's IP address and rewrite rule in IIS/Apache for a `localhost` address -4) route through a secure https page (e.g. one that has a self-signed certificate) with proxy pass in IIS/Apache (I went down this route) - -None of the above are ideal especially in a DHCP local network as on the IP address change of the ESP32 these needs updating (in Option 1-2 on the WebGUI under settings, in Option 3-4 in IIS/Apache). A potential workaround is to set up a DHCP Binding in the router so the ESP32 gets assigned a reserved IP address. - -Option 1 and 2 is generally easier to setup but option 1 more cumbersome as the dev server needs starting every time, while option 3-4 is more complicated to set up initially but on the long term its more of a shoot and forget solution. - -A more robust and permanent solution to this is to implement/move to a web server library on the ESP32 that supports tls/ssl. However, while recently I was able to implement a https server (after testing libraries ending up using [this library](https://github.com/hoeken/PsychicHTTP)) on the ESP32 that worked, tests have shown that the MCU does not have sufficient memory (ssl handshakes require approx 45kb heap per socket!) making the device very unstable. I have created a separate [branch](https://github.com/Abasz/ESPRowingMonitor#http-server) on the ESP Rowing Monitor repo which has an updated README that includes the relevant considerations and observations. - -**Long story short, it is highly unlikely that a dedicated https server will make it to a stable release on the monitor and my recommendation is to use Option 2 (light weight web server).** diff --git a/docs/favicon.ico b/docs/favicon.ico new file mode 100644 index 0000000..91647d6 Binary files /dev/null and b/docs/favicon.ico differ diff --git a/docs/imgs/ESP-Rowing-Monitor-WebGUI.jpg b/docs/imgs/ESP-Rowing-Monitor-WebGUI.jpg deleted file mode 100644 index eda2472..0000000 Binary files a/docs/imgs/ESP-Rowing-Monitor-WebGUI.jpg and /dev/null differ diff --git a/docs/index.html b/docs/index.html new file mode 100644 index 0000000..d6dbb58 --- /dev/null +++ b/docs/index.html @@ -0,0 +1,19 @@ + + + + + EspRowingMonitorClient + + + + + + + + + + +
Loading monitor into cache please wait, this may take some time...
+ + + diff --git a/docs/main.d25045f58a645869.js b/docs/main.d25045f58a645869.js new file mode 100644 index 0000000..4afd1bb --- /dev/null +++ b/docs/main.d25045f58a645869.js @@ -0,0 +1 @@ +(self.webpackChunkesp_rowing_monitor_client=self.webpackChunkesp_rowing_monitor_client||[]).push([[792],{6738:(ce,D,M)=>{"use strict";function m(t,n,e,i,r,o,s){try{var a=t[o](s),c=a.value}catch(l){return void e(l)}a.done?n(c):Promise.resolve(c).then(i,r)}function I(t){return function(){var n=this,e=arguments;return new Promise(function(i,r){var o=t.apply(n,e);function s(c){m(o,i,r,s,a,"next",c)}function a(c){m(o,i,r,s,a,"throw",c)}s(void 0)})}}let v=null,w=1;const A=Symbol("SIGNAL");function b(t){const n=v;return v=t,n}function oe(t){if((!ko(t)||t.dirty)&&(t.dirty||t.lastCleanEpoch!==w)){if(!t.producerMustRecompute(t)&&!fc(t))return t.dirty=!1,void(t.lastCleanEpoch=w);t.producerRecomputeValue(t),t.dirty=!1,t.lastCleanEpoch=w}}function fc(t){Yr(t);for(let n=0;n0}function Yr(t){t.producerNode??=[],t.producerIndexOfThis??=[],t.producerLastReadVersion??=[]}let $d=null;function Ge(t){return"function"==typeof t}function p0(t){const e=t(i=>{Error.call(i),i.stack=(new Error).stack});return e.prototype=Object.create(Error.prototype),e.prototype.constructor=e,e}const ip=p0(t=>function(e){t(this),this.message=e?`${e.length} errors occurred during unsubscription:\n${e.map((i,r)=>`${r+1}) ${i.toString()}`).join("\n ")}`:"",this.name="UnsubscriptionError",this.errors=e});function qd(t,n){if(t){const e=t.indexOf(n);0<=e&&t.splice(e,1)}}class Et{constructor(n){this.initialTeardown=n,this.closed=!1,this._parentage=null,this._finalizers=null}unsubscribe(){let n;if(!this.closed){this.closed=!0;const{_parentage:e}=this;if(e)if(this._parentage=null,Array.isArray(e))for(const o of e)o.remove(this);else e.remove(this);const{initialTeardown:i}=this;if(Ge(i))try{i()}catch(o){n=o instanceof ip?o.errors:[o]}const{_finalizers:r}=this;if(r){this._finalizers=null;for(const o of r)try{b0(o)}catch(s){n=n??[],s instanceof ip?n=[...n,...s.errors]:n.push(s)}}if(n)throw new ip(n)}}add(n){var e;if(n&&n!==this)if(this.closed)b0(n);else{if(n instanceof Et){if(n.closed||n._hasParent(this))return;n._addParent(this)}(this._finalizers=null!==(e=this._finalizers)&&void 0!==e?e:[]).push(n)}}_hasParent(n){const{_parentage:e}=this;return e===n||Array.isArray(e)&&e.includes(n)}_addParent(n){const{_parentage:e}=this;this._parentage=Array.isArray(e)?(e.push(n),e):e?[e,n]:n}_removeParent(n){const{_parentage:e}=this;e===n?this._parentage=null:Array.isArray(e)&&qd(e,n)}remove(n){const{_finalizers:e}=this;e&&qd(e,n),n instanceof Et&&n._removeParent(this)}}Et.EMPTY=(()=>{const t=new Et;return t.closed=!0,t})();const g0=Et.EMPTY;function _0(t){return t instanceof Et||t&&"closed"in t&&Ge(t.remove)&&Ge(t.add)&&Ge(t.unsubscribe)}function b0(t){Ge(t)?t():t.unsubscribe()}const Ro={onUnhandledError:null,onStoppedNotification:null,Promise:void 0,useDeprecatedSynchronousErrorHandling:!1,useDeprecatedNextContext:!1},Yd={setTimeout(t,n,...e){const{delegate:i}=Yd;return i?.setTimeout?i.setTimeout(t,n,...e):setTimeout(t,n,...e)},clearTimeout(t){const{delegate:n}=Yd;return(n?.clearTimeout||clearTimeout)(t)},delegate:void 0};function v0(t){Yd.setTimeout(()=>{const{onUnhandledError:n}=Ro;if(!n)throw t;n(t)})}function Fo(){}const pL=rp("C",void 0,void 0);function rp(t,n,e){return{kind:t,value:n,error:e}}let Oo=null;function Qd(t){if(Ro.useDeprecatedSynchronousErrorHandling){const n=!Oo;if(n&&(Oo={errorThrown:!1,error:null}),t(),n){const{errorThrown:e,error:i}=Oo;if(Oo=null,e)throw i}}else t()}class Zd extends Et{constructor(n){super(),this.isStopped=!1,n?(this.destination=n,_0(n)&&n.add(this)):this.destination=xL}static create(n,e,i){return new pc(n,e,i)}next(n){this.isStopped?sp(function _L(t){return rp("N",t,void 0)}(n),this):this._next(n)}error(n){this.isStopped?sp(function gL(t){return rp("E",void 0,t)}(n),this):(this.isStopped=!0,this._error(n))}complete(){this.isStopped?sp(pL,this):(this.isStopped=!0,this._complete())}unsubscribe(){this.closed||(this.isStopped=!0,super.unsubscribe(),this.destination=null)}_next(n){this.destination.next(n)}_error(n){try{this.destination.error(n)}finally{this.unsubscribe()}}_complete(){try{this.destination.complete()}finally{this.unsubscribe()}}}const vL=Function.prototype.bind;function op(t,n){return vL.call(t,n)}class yL{constructor(n){this.partialObserver=n}next(n){const{partialObserver:e}=this;if(e.next)try{e.next(n)}catch(i){Kd(i)}}error(n){const{partialObserver:e}=this;if(e.error)try{e.error(n)}catch(i){Kd(i)}else Kd(n)}complete(){const{partialObserver:n}=this;if(n.complete)try{n.complete()}catch(e){Kd(e)}}}class pc extends Zd{constructor(n,e,i){let r;if(super(),Ge(n)||!n)r={next:n??void 0,error:e??void 0,complete:i??void 0};else{let o;this&&Ro.useDeprecatedNextContext?(o=Object.create(n),o.unsubscribe=()=>this.unsubscribe(),r={next:n.next&&op(n.next,o),error:n.error&&op(n.error,o),complete:n.complete&&op(n.complete,o)}):r=n}this.destination=new yL(r)}}function Kd(t){Ro.useDeprecatedSynchronousErrorHandling?function bL(t){Ro.useDeprecatedSynchronousErrorHandling&&Oo&&(Oo.errorThrown=!0,Oo.error=t)}(t):v0(t)}function sp(t,n){const{onStoppedNotification:e}=Ro;e&&Yd.setTimeout(()=>e(t,n))}const xL={closed:!0,next:Fo,error:function AL(t){throw t},complete:Fo},ap="function"==typeof Symbol&&Symbol.observable||"@@observable";function Qr(t){return t}let ht=(()=>{class t{constructor(e){e&&(this._subscribe=e)}lift(e){const i=new t;return i.source=this,i.operator=e,i}subscribe(e,i,r){const o=function wL(t){return t&&t instanceof Zd||function EL(t){return t&&Ge(t.next)&&Ge(t.error)&&Ge(t.complete)}(t)&&_0(t)}(e)?e:new pc(e,i,r);return Qd(()=>{const{operator:s,source:a}=this;o.add(s?s.call(o,a):a?this._subscribe(o):this._trySubscribe(o))}),o}_trySubscribe(e){try{return this._subscribe(e)}catch(i){e.error(i)}}forEach(e,i){return new(i=A0(i))((r,o)=>{const s=new pc({next:a=>{try{e(a)}catch(c){o(c),s.unsubscribe()}},error:o,complete:r});this.subscribe(s)})}_subscribe(e){var i;return null===(i=this.source)||void 0===i?void 0:i.subscribe(e)}[ap](){return this}pipe(...e){return function y0(t){return 0===t.length?Qr:1===t.length?t[0]:function(e){return t.reduce((i,r)=>r(i),e)}}(e)(this)}toPromise(e){return new(e=A0(e))((i,r)=>{let o;this.subscribe(s=>o=s,s=>r(s),()=>i(o))})}}return t.create=n=>new t(n),t})();function A0(t){var n;return null!==(n=t??Ro.Promise)&&void 0!==n?n:Promise}const SL=p0(t=>function(){t(this),this.name="ObjectUnsubscribedError",this.message="object unsubscribed"});let ue=(()=>{class t extends ht{constructor(){super(),this.closed=!1,this.currentObservers=null,this.observers=[],this.isStopped=!1,this.hasError=!1,this.thrownError=null}lift(e){const i=new cp(this,this);return i.operator=e,i}_throwIfClosed(){if(this.closed)throw new SL}next(e){Qd(()=>{if(this._throwIfClosed(),!this.isStopped){this.currentObservers||(this.currentObservers=Array.from(this.observers));for(const i of this.currentObservers)i.next(e)}})}error(e){Qd(()=>{if(this._throwIfClosed(),!this.isStopped){this.hasError=this.isStopped=!0,this.thrownError=e;const{observers:i}=this;for(;i.length;)i.shift().error(e)}})}complete(){Qd(()=>{if(this._throwIfClosed(),!this.isStopped){this.isStopped=!0;const{observers:e}=this;for(;e.length;)e.shift().complete()}})}unsubscribe(){this.isStopped=this.closed=!0,this.observers=this.currentObservers=null}get observed(){var e;return(null===(e=this.observers)||void 0===e?void 0:e.length)>0}_trySubscribe(e){return this._throwIfClosed(),super._trySubscribe(e)}_subscribe(e){return this._throwIfClosed(),this._checkFinalizedStatuses(e),this._innerSubscribe(e)}_innerSubscribe(e){const{hasError:i,isStopped:r,observers:o}=this;return i||r?g0:(this.currentObservers=null,o.push(e),new Et(()=>{this.currentObservers=null,qd(o,e)}))}_checkFinalizedStatuses(e){const{hasError:i,thrownError:r,isStopped:o}=this;i?e.error(r):o&&e.complete()}asObservable(){const e=new ht;return e.source=this,e}}return t.create=(n,e)=>new cp(n,e),t})();class cp extends ue{constructor(n,e){super(),this.destination=n,this.source=e}next(n){var e,i;null===(i=null===(e=this.destination)||void 0===e?void 0:e.next)||void 0===i||i.call(e,n)}error(n){var e,i;null===(i=null===(e=this.destination)||void 0===e?void 0:e.error)||void 0===i||i.call(e,n)}complete(){var n,e;null===(e=null===(n=this.destination)||void 0===n?void 0:n.complete)||void 0===e||e.call(n)}_subscribe(n){var e,i;return null!==(i=null===(e=this.source)||void 0===e?void 0:e.subscribe(n))&&void 0!==i?i:g0}}class ti extends ue{constructor(n){super(),this._value=n}get value(){return this.getValue()}_subscribe(n){const e=super._subscribe(n);return!e.closed&&n.next(this._value),e}getValue(){const{hasError:n,thrownError:e,_value:i}=this;if(n)throw e;return this._throwIfClosed(),i}next(n){super.next(this._value=n)}}function x0(t){return Ge(t?.lift)}function Ot(t){return n=>{if(x0(n))return n.lift(function(e){try{return t(e,this)}catch(i){this.error(i)}});throw new TypeError("Unable to lift unknown Observable type")}}function ft(t,n,e,i,r){return new DL(t,n,e,i,r)}class DL extends Zd{constructor(n,e,i,r,o,s){super(n),this.onFinalize=o,this.shouldUnsubscribe=s,this._next=e?function(a){try{e(a)}catch(c){n.error(c)}}:super._next,this._error=r?function(a){try{r(a)}catch(c){n.error(c)}finally{this.unsubscribe()}}:super._error,this._complete=i?function(){try{i()}catch(a){n.error(a)}finally{this.unsubscribe()}}:super._complete}unsubscribe(){var n;if(!this.shouldUnsubscribe||this.shouldUnsubscribe()){const{closed:e}=this;super.unsubscribe(),!e&&(null===(n=this.onFinalize)||void 0===n||n.call(this))}}}function ye(t,n){return Ot((e,i)=>{let r=0;e.subscribe(ft(i,o=>{i.next(t.call(n,o,r++))}))})}const E0="https://g.co/ng/security#xss";class V extends Error{constructor(n,e){super(function Bs(t,n){return`NG0${Math.abs(t)}${n?": "+n:""}`}(n,e)),this.code=n}}function mr(t){return{toString:t}.toString()}const Hs="__parameters__";function Us(t,n,e){return mr(()=>{const i=function lp(t){return function(...e){if(t){const i=t(...e);for(const r in i)this[r]=i[r]}}}(n);function r(...o){if(this instanceof r)return i.apply(this,o),this;const s=new r(...o);return a.annotation=s,a;function a(c,l,d){const u=c.hasOwnProperty(Hs)?c[Hs]:Object.defineProperty(c,Hs,{value:[]})[Hs];for(;u.length<=d;)u.push(null);return(u[d]=u[d]||[]).push(s),c}}return e&&(r.prototype=Object.create(e.prototype)),r.prototype.ngMetadataName=t,r.annotationCls=r,r})}const rt=globalThis;function ct(t){for(let n in t)if(t[n]===ct)return n;throw Error("Could not find renamed property on target object.")}function CL(t,n){for(const e in n)n.hasOwnProperty(e)&&!t.hasOwnProperty(e)&&(t[e]=n[e])}function rn(t){if("string"==typeof t)return t;if(Array.isArray(t))return"["+t.map(rn).join(", ")+"]";if(null==t)return""+t;if(t.overriddenName)return`${t.overriddenName}`;if(t.name)return`${t.name}`;const n=t.toString();if(null==n)return""+n;const e=n.indexOf("\n");return-1===e?n:n.substring(0,e)}function dp(t,n){return null==t||""===t?null===n?"":n:null==n||""===n?t:t+" "+n}const ML=ct({__forward_ref__:ct});function ot(t){return t.__forward_ref__=ot,t.toString=function(){return rn(this())},t}function me(t){return eu(t)?t():t}function eu(t){return"function"==typeof t&&t.hasOwnProperty(ML)&&t.__forward_ref__===ot}function q(t){return{token:t.token,providedIn:t.providedIn||null,factory:t.factory,value:void 0}}function Re(t){return{providers:t.providers||[],imports:t.imports||[]}}function tu(t){return C0(t,iu)||C0(t,M0)}function C0(t,n){return t.hasOwnProperty(n)?t[n]:null}function nu(t){return t&&(t.hasOwnProperty(up)||t.hasOwnProperty(FL))?t[up]:null}const iu=ct({\u0275prov:ct}),up=ct({\u0275inj:ct}),M0=ct({ngInjectableDef:ct}),FL=ct({ngInjectorDef:ct});class j{constructor(n,e){this._desc=n,this.ngMetadataName="InjectionToken",this.\u0275prov=void 0,"number"==typeof e?this.__NG_ELEMENT_ID__=e:void 0!==e&&(this.\u0275prov=q({token:this,providedIn:e.providedIn||"root",factory:e.factory}))}get multi(){return this}toString(){return`InjectionToken ${this._desc}`}}function gp(t){return t&&!!t.\u0275providers}const gc=ct({\u0275cmp:ct}),_p=ct({\u0275dir:ct}),bp=ct({\u0275pipe:ct}),T0=ct({\u0275mod:ct}),pr=ct({\u0275fac:ct}),_c=ct({__NG_ELEMENT_ID__:ct}),k0=ct({__NG_ENV_ID__:ct});function xe(t){return"string"==typeof t?t:null==t?"":String(t)}function vp(t,n){throw new V(-201,!1)}var je=function(t){return t[t.Default=0]="Default",t[t.Host=1]="Host",t[t.Self=2]="Self",t[t.SkipSelf=4]="SkipSelf",t[t.Optional=8]="Optional",t}(je||{});let yp;function R0(){return yp}function zn(t){const n=yp;return yp=t,n}function F0(t,n,e){const i=tu(t);return i&&"root"==i.providedIn?void 0===i.value?i.value=i.factory():i.value:e&je.Optional?null:void 0!==n?n:void vp()}const bc={},Ap="__NG_DI_FLAG__",ru="ngTempTokenPath",VL=/\n/gm,O0="__source";let zs;function Kr(t){const n=zs;return zs=t,n}function UL(t,n=je.Default){if(void 0===zs)throw new V(-203,!1);return null===zs?F0(t,void 0,n):zs.get(t,n&je.Optional?null:void 0,n)}function R(t,n=je.Default){return(R0()||UL)(me(t),n)}function ne(t,n=je.Default){return R(t,ou(n))}function ou(t){return typeof t>"u"||"number"==typeof t?t:(t.optional&&8)|(t.host&&1)|(t.self&&2)|(t.skipSelf&&4)}function xp(t){const n=[];for(let e=0;eArray.isArray(e)?$s(e,n):n(e))}function P0(t,n,e){n>=t.length?t.push(e):t.splice(n,0,e)}function au(t,n){return n>=t.length-1?t.pop():t.splice(n,1)[0]}function ri(t,n,e){let i=Ws(t,n);return i>=0?t[1|i]=e:(i=~i,function L0(t,n,e,i){let r=t.length;if(r==n)t.push(e,i);else if(1===r)t.push(i,t[0]),t[0]=e;else{for(r--,t.push(t[r-1],t[r]);r>n;)t[r]=t[r-2],r--;t[n]=e,t[n+1]=i}}(t,i,n,e)),i}function wp(t,n){const e=Ws(t,n);if(e>=0)return t[1|e]}function Ws(t,n){return function B0(t,n,e){let i=0,r=t.length>>e;for(;r!==i;){const o=i+(r-i>>1),s=t[o<n?r=o:i=o+1}return~(r<n){s=o-1;break}}}for(;o-1){let o;for(;++ro?"":r[d+1].toLowerCase(),2&i&&l!==u){if(Ti(i))return!1;s=!0}}}}else{if(!s&&!Ti(i)&&!Ti(c))return!1;if(s&&Ti(c))continue;s=!1,i=c|1&i}}return Ti(i)||s}function Ti(t){return!(1&t)}function e2(t,n,e,i){if(null===n)return-1;let r=0;if(i||!e){let o=!1;for(;r-1)for(e++;e0?'="'+a+'"':"")+"]"}else 8&i?r+="."+s:4&i&&(r+=" "+s);else""!==r&&!Ti(s)&&(n+=$0(o,r),r=""),i=s,o=o||!Ti(i);e++}return""!==r&&(n+=$0(o,r)),n}function mt(t){return mr(()=>{const n=X0(t),e={...n,decls:t.decls,vars:t.vars,template:t.template,consts:t.consts||null,ngContentSelectors:t.ngContentSelectors,onPush:t.changeDetection===du.OnPush,directiveDefs:null,pipeDefs:null,dependencies:n.standalone&&t.dependencies||null,getStandaloneInjector:null,signals:t.signals??!1,data:t.data||{},encapsulation:t.encapsulation||Ii.Emulated,styles:t.styles||We,_:null,schemas:t.schemas||null,tView:null,id:""};q0(e);const i=t.dependencies;return e.directiveDefs=uu(i,!1),e.pipeDefs=uu(i,!0),e.id=function h2(t){let n=0;const e=[t.selectors,t.ngContentSelectors,t.hostVars,t.hostAttrs,t.consts,t.vars,t.decls,t.encapsulation,t.standalone,t.signals,t.exportAs,JSON.stringify(t.inputs),JSON.stringify(t.outputs),Object.getOwnPropertyNames(t.type.prototype),!!t.contentQueries,!!t.viewQuery].join("|");for(const r of e)n=Math.imul(31,n)+r.charCodeAt(0)|0;return n+=2147483648,"c"+n}(e),e})}function l2(t){return Fe(t)||on(t)}function d2(t){return null!==t}function Oe(t){return mr(()=>({type:t.type,bootstrap:t.bootstrap||We,declarations:t.declarations||We,imports:t.imports||We,exports:t.exports||We,transitiveCompileScopes:null,schemas:t.schemas||null,id:t.id||null}))}function W0(t,n){if(null==t)return Ui;const e={};for(const i in t)if(t.hasOwnProperty(i)){const r=t[i];let o,s,a=X.None;Array.isArray(r)?(a=r[0],o=r[1],s=r[2]??o):(o=r,s=r),n?(e[o]=a!==X.None?[i,a]:i,n[o]=s):e[o]=i}return e}function J(t){return mr(()=>{const n=X0(t);return q0(n),n})}function un(t){return{type:t.type,name:t.name,factory:null,pure:!1!==t.pure,standalone:!0===t.standalone,onDestroy:t.type.prototype.ngOnDestroy||null}}function Fe(t){return t[gc]||null}function on(t){return t[_p]||null}function pn(t){return t[bp]||null}function X0(t){const n={};return{type:t.type,providersResolver:null,factory:null,hostBindings:t.hostBindings||null,hostVars:t.hostVars||0,hostAttrs:t.hostAttrs||null,contentQueries:t.contentQueries||null,declaredInputs:n,inputTransforms:null,inputConfig:t.inputs||Ui,exportAs:t.exportAs||null,standalone:!0===t.standalone,signals:!0===t.signals,selectors:t.selectors||We,viewQuery:t.viewQuery||null,features:t.features||null,setInput:null,findHostDirectiveDefs:null,hostDirectives:null,inputs:W0(t.inputs,n),outputs:W0(t.outputs),debugInfo:null}}function q0(t){t.features?.forEach(n=>n(t))}function uu(t,n){if(!t)return null;const e=n?pn:l2;return()=>("function"==typeof t?t():t).map(i=>e(i)).filter(d2)}function f2(...t){return{\u0275providers:Mp(0,t),\u0275fromNgModule:!0}}function Mp(t,...n){const e=[],i=new Set;let r;const o=s=>{e.push(s)};return $s(n,s=>{const a=s;hu(a,o,[],i)&&(r||=[],r.push(a))}),void 0!==r&&Y0(r,o),e}function Y0(t,n){for(let e=0;e{n(o,i)})}}function hu(t,n,e,i){if(!(t=me(t)))return!1;let r=null,o=nu(t);const s=!o&&Fe(t);if(o||s){if(s&&!s.standalone)return!1;r=t}else{const c=t.ngModule;if(o=nu(c),!o)return!1;r=c}const a=i.has(r);if(s){if(a)return!1;if(i.add(r),s.dependencies){const c="function"==typeof s.dependencies?s.dependencies():s.dependencies;for(const l of c)hu(l,n,e,i)}}else{if(!o)return!1;{if(null!=o.imports&&!a){let l;i.add(r);try{$s(o.imports,d=>{hu(d,n,e,i)&&(l||=[],l.push(d))})}finally{}void 0!==l&&Y0(l,n)}if(!a){const l=No(r)||(()=>new r);n({provide:r,useFactory:l,deps:We},r),n({provide:Sp,useValue:r,multi:!0},r),n({provide:Xs,useValue:()=>R(r),multi:!0},r)}const c=o.providers;if(null!=c&&!a){const l=t;Ip(c,d=>{n(d,l)})}}}return r!==t&&void 0!==t.providers}function Ip(t,n){for(let e of t)gp(e)&&(e=e.\u0275providers),Array.isArray(e)?Ip(e,n):n(e)}const m2=ct({provide:String,useValue:ct});function Tp(t){return null!==t&&"object"==typeof t&&m2 in t}function Lo(t){return"function"==typeof t}const kp=new j(""),fu={},g2={};let Rp;function mu(){return void 0===Rp&&(Rp=new lu),Rp}class zi{}class qs extends zi{get destroyed(){return this._destroyed}constructor(n,e,i,r){super(),this.parent=e,this.source=i,this.scopes=r,this.records=new Map,this._ngOnDestroyHooks=new Set,this._onDestroyHooks=[],this._destroyed=!1,Op(n,s=>this.processProvider(s)),this.records.set(V0,Ys(void 0,this)),r.has("environment")&&this.records.set(zi,Ys(void 0,this));const o=this.records.get(kp);null!=o&&"string"==typeof o.value&&this.scopes.add(o.value),this.injectorDefTypes=new Set(this.get(Sp,We,je.Self))}destroy(){this.assertNotDestroyed(),this._destroyed=!0;const n=b(null);try{for(const i of this._ngOnDestroyHooks)i.ngOnDestroy();const e=this._onDestroyHooks;this._onDestroyHooks=[];for(const i of e)i()}finally{this.records.clear(),this._ngOnDestroyHooks.clear(),this.injectorDefTypes.clear(),b(n)}}onDestroy(n){return this.assertNotDestroyed(),this._onDestroyHooks.push(n),()=>this.removeOnDestroy(n)}runInContext(n){this.assertNotDestroyed();const e=Kr(this),i=zn(void 0);try{return n()}finally{Kr(e),zn(i)}}get(n,e=bc,i=je.Default){if(this.assertNotDestroyed(),n.hasOwnProperty(k0))return n[k0](this);i=ou(i);const o=Kr(this),s=zn(void 0);try{if(!(i&je.SkipSelf)){let c=this.records.get(n);if(void 0===c){const l=function A2(t){return"function"==typeof t||"object"==typeof t&&t instanceof j}(n)&&tu(n);c=l&&this.injectableDefInScope(l)?Ys(Fp(n),fu):null,this.records.set(n,c)}if(null!=c)return this.hydrate(n,c)}return(i&je.Self?mu():this.parent).get(n,e=i&je.Optional&&e===bc?null:e)}catch(a){if("NullInjectorError"===a.name){if((a[ru]=a[ru]||[]).unshift(rn(n)),o)throw a;return function GL(t,n,e,i){const r=t[ru];throw n[O0]&&r.unshift(n[O0]),t.message=function $L(t,n,e,i=null){t=t&&"\n"===t.charAt(0)&&"\u0275"==t.charAt(1)?t.slice(2):t;let r=rn(n);if(Array.isArray(n))r=n.map(rn).join(" -> ");else if("object"==typeof n){let o=[];for(let s in n)if(n.hasOwnProperty(s)){let a=n[s];o.push(s+":"+("string"==typeof a?JSON.stringify(a):rn(a)))}r=`{${o.join(", ")}}`}return`${e}${i?"("+i+")":""}[${r}]: ${t.replace(VL,"\n ")}`}("\n"+t.message,r,e,i),t.ngTokenPath=r,t[ru]=null,t}(a,n,"R3InjectorError",this.source)}throw a}finally{zn(s),Kr(o)}}resolveInjectorInitializers(){const n=b(null),e=Kr(this),i=zn(void 0);try{const o=this.get(Xs,We,je.Self);for(const s of o)s()}finally{Kr(e),zn(i),b(n)}}toString(){const n=[],e=this.records;for(const i of e.keys())n.push(rn(i));return`R3Injector[${n.join(", ")}]`}assertNotDestroyed(){if(this._destroyed)throw new V(205,!1)}processProvider(n){let e=Lo(n=me(n))?n:me(n&&n.provide);const i=function b2(t){return Tp(t)?Ys(void 0,t.useValue):Ys(K0(t),fu)}(n);if(!Lo(n)&&!0===n.multi){let r=this.records.get(e);r||(r=Ys(void 0,fu,!0),r.factory=()=>xp(r.multi),this.records.set(e,r)),e=n,r.multi.push(n)}this.records.set(e,i)}hydrate(n,e){const i=b(null);try{return e.value===fu&&(e.value=g2,e.value=e.factory()),"object"==typeof e.value&&e.value&&function y2(t){return null!==t&&"object"==typeof t&&"function"==typeof t.ngOnDestroy}(e.value)&&this._ngOnDestroyHooks.add(e.value),e.value}finally{b(i)}}injectableDefInScope(n){if(!n.providedIn)return!1;const e=me(n.providedIn);return"string"==typeof e?"any"===e||this.scopes.has(e):this.injectorDefTypes.has(e)}removeOnDestroy(n){const e=this._onDestroyHooks.indexOf(n);-1!==e&&this._onDestroyHooks.splice(e,1)}}function Fp(t){const n=tu(t),e=null!==n?n.factory:No(t);if(null!==e)return e;if(t instanceof j)throw new V(204,!1);if(t instanceof Function)return function _2(t){if(t.length>0)throw new V(204,!1);const e=function RL(t){return t&&(t[iu]||t[M0])||null}(t);return null!==e?()=>e.factory(t):()=>new t}(t);throw new V(204,!1)}function K0(t,n,e){let i;if(Lo(t)){const r=me(t);return No(r)||Fp(r)}if(Tp(t))i=()=>me(t.useValue);else if(function Z0(t){return!(!t||!t.useFactory)}(t))i=()=>t.useFactory(...xp(t.deps||[]));else if(function Q0(t){return!(!t||!t.useExisting)}(t))i=()=>R(me(t.useExisting));else{const r=me(t&&(t.useClass||t.provide));if(!function v2(t){return!!t.deps}(t))return No(r)||Fp(r);i=()=>new r(...xp(t.deps))}return i}function Ys(t,n,e=!1){return{factory:t,value:n,multi:e?[]:void 0}}function Op(t,n){for(const e of t)Array.isArray(e)?Op(e,n):e&&gp(e)?Op(e.\u0275providers,n):n(e)}const Tt=0,Y=1,le=2,Bt=3,ki=4,xn=5,oi=6,Zs=7,bt=8,gn=9,Ri=10,ge=11,Ec=12,nx=13,Ks=14,Nt=15,wc=16,Js=17,gr=18,Sc=19,ix=20,Jr=21,_u=22,Bo=23,Ee=25,Pp=1,Gi=7,ea=9,Vt=10;var Lp=function(t){return t[t.None=0]="None",t[t.HasTransplantedViews=2]="HasTransplantedViews",t}(Lp||{});function En(t){return Array.isArray(t)&&"object"==typeof t[Pp]}function wn(t){return Array.isArray(t)&&!0===t[Pp]}function Bp(t){return!!(4&t.flags)}function Vo(t){return t.componentOffset>-1}function vu(t){return!(1&~t.flags)}function Fi(t){return!!t.template}function Vp(t){return!!(512&t[le])}class O2{constructor(n,e,i){this.previousValue=n,this.currentValue=e,this.firstChange=i}isFirstChange(){return this.firstChange}}function ax(t,n,e,i){null!==n?n.applyValueToInputSignal(n,i):t[e]=i}function Sn(){return cx}function cx(t){return t.type.prototype.ngOnChanges&&(t.setInput=P2),N2}function N2(){const t=dx(this),n=t?.current;if(n){const e=t.previous;if(e===Ui)t.previous=n;else for(let i in n)e[i]=n[i];t.current=null,this.ngOnChanges(n)}}function P2(t,n,e,i,r){const o=this.declaredInputs[i],s=dx(t)||function L2(t,n){return t[lx]=n}(t,{previous:Ui,current:null}),a=s.current||(s.current={}),c=s.previous,l=c[o];a[o]=new O2(l&&l.currentValue,e,c===Ui),ax(t,n,r,e)}Sn.ngInherit=!0;const lx="__ngSimpleChanges__";function dx(t){return t[lx]||null}const $i=function(t,n,e){},ux="svg";let fx=!1;function dt(t){for(;Array.isArray(t);)t=t[Tt];return t}function Cc(t,n){return dt(n[t])}function Pn(t,n){return dt(n[t.index])}function Mc(t,n){return t.data[n]}function ta(t,n){return t[n]}function si(t,n){const e=n[t];return En(e)?e:e[Tt]}function Gp(t){return!(128&~t[le])}function Wi(t,n){return null==n?null:t[n]}function mx(t){t[Js]=0}function z2(t){1024&t[le]||(t[le]|=1024,Gp(t)&&Ic(t))}function $p(t){return!!(9216&t[le]||t[Bo]?.dirty)}function Wp(t){t[Ri].changeDetectionScheduler?.notify(1),$p(t)?Ic(t):64&t[le]&&(function V2(){return fx}()?(t[le]|=1024,Ic(t)):t[Ri].changeDetectionScheduler?.notify())}function Ic(t){t[Ri].changeDetectionScheduler?.notify();let n=Ho(t);for(;null!==n&&!(8192&n[le])&&(n[le]|=8192,Gp(n));)n=Ho(n)}function yu(t,n){if(!(256&~t[le]))throw new V(911,!1);null===t[Jr]&&(t[Jr]=[]),t[Jr].push(n)}function Ho(t){const n=t[Bt];return wn(n)?n[Bt]:n}const _e={lFrame:wx(null),bindingsEnabled:!0,skipHydrationRootTNode:null};function _x(){return _e.bindingsEnabled}function na(){return null!==_e.skipHydrationRootTNode}function B(){return _e.lFrame.lView}function Be(){return _e.lFrame.tView}function hn(t){return _e.lFrame.contextLView=t,t[bt]}function fn(t){return _e.lFrame.contextLView=null,t}function lt(){let t=bx();for(;null!==t&&64===t.type;)t=t.parent;return t}function bx(){return _e.lFrame.currentTNode}function Xi(t,n){const e=_e.lFrame;e.currentTNode=t,e.isParent=n}function qp(){return _e.lFrame.isParent}function Yp(){_e.lFrame.isParent=!1}function Ln(){const t=_e.lFrame;let n=t.bindingRootIndex;return-1===n&&(n=t.bindingRootIndex=t.tView.bindingStartIndex),n}function Oi(){return _e.lFrame.bindingIndex++}function br(t){const n=_e.lFrame,e=n.bindingIndex;return n.bindingIndex=n.bindingIndex+t,e}function eB(t,n){const e=_e.lFrame;e.bindingIndex=e.bindingRootIndex=t,Qp(n)}function Qp(t){_e.lFrame.currentDirectiveIndex=t}function Zp(t){const n=_e.lFrame.currentDirectiveIndex;return-1===n?null:t[n]}function Kp(){return _e.lFrame.currentQueryIndex}function Au(t){_e.lFrame.currentQueryIndex=t}function nB(t){const n=t[Y];return 2===n.type?n.declTNode:1===n.type?t[xn]:null}function xx(t,n,e){if(e&je.SkipSelf){let r=n,o=t;for(;!(r=r.parent,null!==r||e&je.Host||(r=nB(o),null===r||(o=o[Ks],10&r.type))););if(null===r)return!1;n=r,t=o}const i=_e.lFrame=Ex();return i.currentTNode=n,i.lView=t,!0}function Jp(t){const n=Ex(),e=t[Y];_e.lFrame=n,n.currentTNode=e.firstChild,n.lView=t,n.tView=e,n.contextLView=t,n.bindingIndex=e.bindingStartIndex,n.inI18n=!1}function Ex(){const t=_e.lFrame,n=null===t?null:t.child;return null===n?wx(t):n}function wx(t){const n={currentTNode:null,isParent:!0,lView:null,tView:null,selectedIndex:-1,contextLView:null,elementDepthCount:0,currentNamespace:null,currentDirectiveIndex:-1,bindingRootIndex:-1,bindingIndex:-1,currentQueryIndex:0,parent:t,child:null,inI18n:!1};return null!==t&&(t.child=n),n}function Sx(){const t=_e.lFrame;return _e.lFrame=t.parent,t.currentTNode=null,t.lView=null,t}const Dx=Sx;function eg(){const t=Sx();t.isParent=!0,t.tView=null,t.selectedIndex=-1,t.contextLView=null,t.elementDepthCount=0,t.currentDirectiveIndex=-1,t.currentNamespace=null,t.bindingRootIndex=-1,t.bindingIndex=-1,t.currentQueryIndex=0}function Dn(){return _e.lFrame.selectedIndex}function jo(t){_e.lFrame.selectedIndex=t}function vt(){const t=_e.lFrame;return Mc(t.tView,t.selectedIndex)}function ia(){_e.lFrame.currentNamespace=ux}function tg(){!function oB(){_e.lFrame.currentNamespace=null}()}let Mx=!0;function kc(){return Mx}function qi(t){Mx=t}function xu(t,n){for(let e=n.directiveStart,i=n.directiveEnd;e=i)break}else n[c]<0&&(t[Js]+=65536),(a>14>16&&(3&t[le])===n&&(t[le]+=16384,Tx(a,o)):Tx(a,o)}const ra=-1;class Rc{constructor(n,e,i){this.factory=n,this.resolving=!1,this.canSeeViewProviders=e,this.injectImpl=i}}function rg(t){return t!==ra}function Fc(t){return 32767&t}function Oc(t,n){let e=function hB(t){return t>>16}(t),i=n;for(;e>0;)i=i[Ks],e--;return i}let og=!0;function Su(t){const n=og;return og=t,n}const kx=255,Rx=5;let fB=0;const Yi={};function Du(t,n){const e=Fx(t,n);if(-1!==e)return e;const i=n[Y];i.firstCreatePass&&(t.injectorIndex=n.length,sg(i.data,t),sg(n,null),sg(i.blueprint,null));const r=Cu(t,n),o=t.injectorIndex;if(rg(r)){const s=Fc(r),a=Oc(r,n),c=a[Y].data;for(let l=0;l<8;l++)n[o+l]=a[s+l]|c[s+l]}return n[o+8]=r,o}function sg(t,n){t.push(0,0,0,0,0,0,0,0,n)}function Fx(t,n){return-1===t.injectorIndex||t.parent&&t.parent.injectorIndex===t.injectorIndex||null===n[t.injectorIndex+8]?-1:t.injectorIndex}function Cu(t,n){if(t.parent&&-1!==t.parent.injectorIndex)return t.parent.injectorIndex;let e=0,i=null,r=n;for(;null!==r;){if(i=Hx(r),null===i)return ra;if(e++,r=r[Ks],-1!==i.injectorIndex)return i.injectorIndex|e<<16}return ra}function ag(t,n,e){!function mB(t,n,e){let i;"string"==typeof e?i=e.charCodeAt(0)||0:e.hasOwnProperty(_c)&&(i=e[_c]),null==i&&(i=e[_c]=fB++);const r=i&kx;n.data[t+(r>>Rx)]|=1<=0?n&kx:bB:n}(e);if("function"==typeof o){if(!xx(n,t,i))return i&je.Host?Ox(r,0,i):Nx(n,e,i,r);try{let s;if(s=o(i),null!=s||i&je.Optional)return s;vp()}finally{Dx()}}else if("number"==typeof o){let s=null,a=Fx(t,n),c=ra,l=i&je.Host?n[Nt][xn]:null;for((-1===a||i&je.SkipSelf)&&(c=-1===a?Cu(t,n):n[a+8],c!==ra&&Vx(i,!1)?(s=n[Y],a=Fc(c),n=Oc(c,n)):a=-1);-1!==a;){const d=n[Y];if(Bx(o,a,d.data)){const u=gB(a,n,e,s,i,l);if(u!==Yi)return u}c=n[a+8],c!==ra&&Vx(i,n[Y].data[a+8]===l)&&Bx(o,a,n)?(s=d,a=Fc(c),n=Oc(c,n)):a=-1}}return r}function gB(t,n,e,i,r,o){const s=n[Y],a=s.data[t+8],d=Mu(a,s,e,null==i?Vo(a)&&og:i!=s&&!!(3&a.type),r&je.Host&&o===a);return null!==d?Uo(n,s,d,a):Yi}function Mu(t,n,e,i,r){const o=t.providerIndexes,s=n.data,a=1048575&o,c=t.directiveStart,d=o>>20,h=r?a+d:t.directiveEnd;for(let f=i?a:a+d;f=c&&p.type===e)return f}if(r){const f=s[c];if(f&&Fi(f)&&f.type===e)return c}return null}function Uo(t,n,e,i){let r=t[e];const o=n.data;if(function cB(t){return t instanceof Rc}(r)){const s=r;s.resolving&&function PL(t,n){throw n&&n.join(" > "),new V(-200,t)}(function Qe(t){return"function"==typeof t?t.name||t.toString():"object"==typeof t&&null!=t&&"function"==typeof t.type?t.type.name||t.type.toString():xe(t)}(o[e]));const a=Su(s.canSeeViewProviders);s.resolving=!0;const l=s.injectImpl?zn(s.injectImpl):null;xx(t,i,je.Default);try{r=t[e]=s.factory(void 0,o,t,i),n.firstCreatePass&&e>=i.directiveStart&&function sB(t,n,e){const{ngOnChanges:i,ngOnInit:r,ngDoCheck:o}=n.type.prototype;if(i){const s=cx(n);(e.preOrderHooks??=[]).push(t,s),(e.preOrderCheckHooks??=[]).push(t,s)}r&&(e.preOrderHooks??=[]).push(0-t,r),o&&((e.preOrderHooks??=[]).push(t,o),(e.preOrderCheckHooks??=[]).push(t,o))}(e,o[e],n)}finally{null!==l&&zn(l),Su(a),s.resolving=!1,Dx()}}return r}function Bx(t,n,e){return!!(e[n+(t>>Rx)]&1<{const n=t.prototype.constructor,e=n[pr]||cg(n),i=Object.prototype;let r=Object.getPrototypeOf(t.prototype).constructor;for(;r&&r!==i;){const o=r[pr]||cg(r);if(o&&o!==e)return o;r=Object.getPrototypeOf(r)}return o=>new o})}function cg(t){return eu(t)?()=>{const n=cg(me(t));return n&&n()}:No(t)}function Hx(t){const n=t[Y],e=n.type;return 2===e?n.declTNode:1===e?t[xn]:null}function vr(t){return function pB(t,n){if("class"===n)return t.classes;if("style"===n)return t.styles;const e=t.attrs;if(e){const i=e.length;let r=0;for(;r{class t{static#e=this.THROW_IF_NOT_FOUND=bc;static#t=this.NULL=new lu;static create(e,i){if(Array.isArray(e))return $x({name:""},i,e,"");{const r=e.name??"";return $x({name:r},e.parent,e.providers,r)}}static#n=this.\u0275prov=q({token:t,providedIn:"any",factory:()=>R(V0)});static#i=this.__NG_ELEMENT_ID__=-1}return t})();function dg(t){return t.ngOriginalError}class ai{constructor(){this._console=console}handleError(n){const e=this._findOriginalError(n);this._console.error("ERROR",n),e&&this._console.error("ORIGINAL ERROR",e)}_findOriginalError(n){let e=n&&dg(n);for(;e&&dg(e);)e=dg(e);return e||null}}const qx=new j("",{providedIn:"root",factory:()=>ne(ai).handleError.bind(void 0)});let aa=(()=>{class t{static#e=this.__NG_ELEMENT_ID__=MB;static#t=this.__NG_ENV_ID__=e=>e}return t})();class CB extends aa{constructor(n){super(),this._lView=n}onDestroy(n){return yu(this._lView,n),()=>function Xp(t,n){if(null===t[Jr])return;const e=t[Jr].indexOf(n);-1!==e&&t[Jr].splice(e,1)}(this._lView,n)}}function MB(){return new CB(B())}function IB(){return ca(lt(),B())}function ca(t,n){return new Ne(Pn(t,n))}let Ne=(()=>{class t{constructor(e){this.nativeElement=e}static#e=this.__NG_ELEMENT_ID__=IB}return t})();function Qx(t){return t instanceof Ne?t.nativeElement:t}function ug(t){return n=>{setTimeout(t,void 0,n)}}const Te=class TB extends ue{constructor(n=!1){super(),this.destroyRef=void 0,this.__isAsync=n,function ex(){return void 0!==R0()||null!=function jL(){return zs}()}()&&(this.destroyRef=ne(aa,{optional:!0})??void 0)}emit(n){const e=b(null);try{super.next(n)}finally{b(e)}}subscribe(n,e,i){let r=n,o=e||(()=>null),s=i;if(n&&"object"==typeof n){const c=n;r=c.next?.bind(c),o=c.error?.bind(c),s=c.complete?.bind(c)}this.__isAsync&&(o=ug(o),r&&(r=ug(r)),s&&(s=ug(s)));const a=super.subscribe({next:r,error:o,complete:s});return n instanceof Et&&n.add(a),a}};function kB(){return this._results[Symbol.iterator]()}class Nc{static#e=Symbol.iterator;get changes(){return this._changes??=new Te}constructor(n=!1){this._emitDistinctChangesOnly=n,this.dirty=!0,this._onDirty=void 0,this._results=[],this._changesDetected=!1,this._changes=void 0,this.length=0,this.first=void 0,this.last=void 0;const e=Nc.prototype;e[Symbol.iterator]||(e[Symbol.iterator]=kB)}get(n){return this._results[n]}map(n){return this._results.map(n)}filter(n){return this._results.filter(n)}find(n){return this._results.find(n)}reduce(n,e){return this._results.reduce(n,e)}forEach(n){this._results.forEach(n)}some(n){return this._results.some(n)}toArray(){return this._results.slice()}toString(){return this._results.toString()}reset(n,e){this.dirty=!1;const i=function Gn(t){return t.flat(Number.POSITIVE_INFINITY)}(n);(this._changesDetected=!function YL(t,n,e){if(t.length!==n.length)return!1;for(let i=0;iJB}),JB="ng",gE=new j(""),yr=new j("",{providedIn:"platform",factory:()=>"unknown"}),Wn=new j(""),gg=new j("",{providedIn:"root",factory:()=>function eo(){if(void 0!==pg)return pg;if(typeof document<"u")return document;throw new V(210,!1)}().body?.querySelector("[ngCspNonce]")?.getAttribute("ngCspNonce")||null});let _E=()=>null;function wg(t,n,e=!1){return _E(t,n,e)}const xE=new j("",{providedIn:"root",factory:()=>!1});let Hu;function ua(t){return function Mg(){if(void 0===Hu&&(Hu=null,rt.trustedTypes))try{Hu=rt.trustedTypes.createPolicy("angular",{createHTML:t=>t,createScript:t=>t,createScriptURL:t=>t})}catch{}return Hu}()?.createHTML(t)||t}class zo{constructor(n){this.changingThisBreaksApplicationSecurity=n}toString(){return`SafeValue must use [property]=binding: ${this.changingThisBreaksApplicationSecurity} (see ${E0})`}}class fV extends zo{getTypeName(){return"HTML"}}class mV extends zo{getTypeName(){return"Style"}}class pV extends zo{getTypeName(){return"Script"}}class gV extends zo{getTypeName(){return"URL"}}class _V extends zo{getTypeName(){return"ResourceURL"}}function ci(t){return t instanceof zo?t.changingThisBreaksApplicationSecurity:t}function Qi(t,n){const e=function bV(t){return t instanceof zo&&t.getTypeName()||null}(t);if(null!=e&&e!==n){if("ResourceURL"===e&&"URL"===n)return!0;throw new Error(`Required a safe ${n}, got a ${e} (see ${E0})`)}return e===n}class wV{constructor(n){this.inertDocumentHelper=n}getInertBodyElement(n){n=""+n;try{const e=(new window.DOMParser).parseFromString(ua(n),"text/html").body;return null===e?this.inertDocumentHelper.getInertBodyElement(n):(e.removeChild(e.firstChild),e)}catch{return null}}}class SV{constructor(n){this.defaultDoc=n,this.inertDocument=this.defaultDoc.implementation.createHTMLDocument("sanitization-inert")}getInertBodyElement(n){const e=this.inertDocument.createElement("template");return e.innerHTML=ua(n),e}}const CV=/^(?!javascript:)(?:[a-z0-9+.-]+:|[^&:\/?#]*(?:[\/?#]|$))/i;function Uu(t){return(t=String(t)).match(CV)?t:"unsafe:"+t}function Ar(t){const n={};for(const e of t.split(","))n[e]=!0;return n}function Uc(...t){const n={};for(const e of t)for(const i in e)e.hasOwnProperty(i)&&(n[i]=!0);return n}const ME=Ar("area,br,col,hr,img,wbr"),IE=Ar("colgroup,dd,dt,li,p,tbody,td,tfoot,th,thead,tr"),TE=Ar("rp,rt"),Tg=Uc(ME,Uc(IE,Ar("address,article,aside,blockquote,caption,center,del,details,dialog,dir,div,dl,figure,figcaption,footer,h1,h2,h3,h4,h5,h6,header,hgroup,hr,ins,main,map,menu,nav,ol,pre,section,summary,table,ul")),Uc(TE,Ar("a,abbr,acronym,audio,b,bdi,bdo,big,br,cite,code,del,dfn,em,font,i,img,ins,kbd,label,map,mark,picture,q,ruby,rp,rt,s,samp,small,source,span,strike,strong,sub,sup,time,track,tt,u,var,video")),Uc(TE,IE)),kg=Ar("background,cite,href,itemtype,longdesc,poster,src,xlink:href"),kE=Uc(kg,Ar("abbr,accesskey,align,alt,autoplay,axis,bgcolor,border,cellpadding,cellspacing,class,clear,color,cols,colspan,compact,controls,coords,datetime,default,dir,download,face,headers,height,hidden,hreflang,hspace,ismap,itemscope,itemprop,kind,label,lang,language,loop,media,muted,nohref,nowrap,open,preload,rel,rev,role,rows,rowspan,rules,scope,scrolling,shape,size,sizes,span,srclang,srcset,start,summary,tabindex,target,title,translate,type,usemap,valign,value,vspace,width"),Ar("aria-activedescendant,aria-atomic,aria-autocomplete,aria-busy,aria-checked,aria-colcount,aria-colindex,aria-colspan,aria-controls,aria-current,aria-describedby,aria-details,aria-disabled,aria-dropeffect,aria-errormessage,aria-expanded,aria-flowto,aria-grabbed,aria-haspopup,aria-hidden,aria-invalid,aria-keyshortcuts,aria-label,aria-labelledby,aria-level,aria-live,aria-modal,aria-multiline,aria-multiselectable,aria-orientation,aria-owns,aria-placeholder,aria-posinset,aria-pressed,aria-readonly,aria-relevant,aria-required,aria-roledescription,aria-rowcount,aria-rowindex,aria-rowspan,aria-selected,aria-setsize,aria-sort,aria-valuemax,aria-valuemin,aria-valuenow,aria-valuetext")),MV=Ar("script,style,template");class IV{constructor(){this.sanitizedSomething=!1,this.buf=[]}sanitizeChildren(n){let e=n.firstChild,i=!0,r=[];for(;e;)if(e.nodeType===Node.ELEMENT_NODE?i=this.startElement(e):e.nodeType===Node.TEXT_NODE?this.chars(e.nodeValue):this.sanitizedSomething=!0,i&&e.firstChild)r.push(e),e=RV(e);else for(;e;){e.nodeType===Node.ELEMENT_NODE&&this.endElement(e);let o=kV(e);if(o){e=o;break}e=r.pop()}return this.buf.join("")}startElement(n){const e=RE(n).toLowerCase();if(!Tg.hasOwnProperty(e))return this.sanitizedSomething=!0,!MV.hasOwnProperty(e);this.buf.push("<"),this.buf.push(e);const i=n.attributes;for(let r=0;r"),!0}endElement(n){const e=RE(n).toLowerCase();Tg.hasOwnProperty(e)&&!ME.hasOwnProperty(e)&&(this.buf.push(""))}chars(n){this.buf.push(OE(n))}}function kV(t){const n=t.nextSibling;if(n&&t!==n.previousSibling)throw FE(n);return n}function RV(t){const n=t.firstChild;if(n&&function TV(t,n){return(t.compareDocumentPosition(n)&Node.DOCUMENT_POSITION_CONTAINED_BY)!==Node.DOCUMENT_POSITION_CONTAINED_BY}(t,n))throw FE(n);return n}function RE(t){const n=t.nodeName;return"string"==typeof n?n:"FORM"}function FE(t){return new Error(`Failed to sanitize html because the element is clobbered: ${t.outerHTML}`)}const FV=/[\uD800-\uDBFF][\uDC00-\uDFFF]/g,OV=/([^\#-~ |!])/g;function OE(t){return t.replace(/&/g,"&").replace(FV,function(n){return"&#"+(1024*(n.charCodeAt(0)-55296)+(n.charCodeAt(1)-56320)+65536)+";"}).replace(OV,function(n){return"&#"+n.charCodeAt(0)+";"}).replace(//g,">")}let zu;function NE(t,n){let e=null;try{zu=zu||function CE(t){const n=new SV(t);return function DV(){try{return!!(new window.DOMParser).parseFromString(ua(""),"text/html")}catch{return!1}}()?new wV(n):n}(t);let i=n?String(n):"";e=zu.getInertBodyElement(i);let r=5,o=i;do{if(0===r)throw new Error("Failed to sanitize html because the input is unstable");r--,i=o,o=e.innerHTML,e=zu.getInertBodyElement(i)}while(i!==o);return ua((new IV).sanitizeChildren(Rg(e)||e))}finally{if(e){const i=Rg(e)||e;for(;i.firstChild;)i.removeChild(i.firstChild)}}}function Rg(t){return"content"in t&&function NV(t){return t.nodeType===Node.ELEMENT_NODE&&"TEMPLATE"===t.nodeName}(t)?t.content:null}var _n=function(t){return t[t.NONE=0]="NONE",t[t.HTML=1]="HTML",t[t.STYLE=2]="STYLE",t[t.SCRIPT=3]="SCRIPT",t[t.URL=4]="URL",t[t.RESOURCE_URL=5]="RESOURCE_URL",t}(_n||{});const zV=/^>|^->||--!>|)/g,$V="\u200b$1\u200b";var no=function(t){return t[t.Important=1]="Important",t[t.DashCase=2]="DashCase",t}(no||{});let Pg;function Lg(t,n){return Pg(t,n)}function fa(t,n,e,i,r){if(null!=i){let o,s=!1;wn(i)?o=i:En(i)&&(s=!0,i=i[Tt]);const a=dt(i);0===t&&null!==e?null==r?YE(n,e,a):Go(n,e,a,r||null,!0):1===t&&null!==e?Go(n,e,a,r||null,!0):2===t?function Wc(t,n,e){const i=qu(t,n);i&&function dH(t,n,e,i){t.removeChild(n,e,i)}(t,i,n,e)}(n,a,s):3===t&&n.destroyNode(a),null!=o&&function fH(t,n,e,i,r){const o=e[Gi];o!==dt(e)&&fa(n,t,i,o,r);for(let a=Vt;an.replace(GV,$V))}(n))}function Wu(t,n,e){return t.createElement(n,e)}function WE(t,n){n[Ri].changeDetectionScheduler?.notify(1),Qu(t,n,n[ge],2,null,null)}function XE(t,n){const e=t[ea],i=e.indexOf(n);e.splice(i,1)}function Gc(t,n){if(t.length<=Vt)return;const e=Vt+n,i=t[e];if(i){const r=i[wc];null!==r&&r!==t&&XE(r,i),n>0&&(t[e-1][ki]=i[ki]);const o=au(t,Vt+n);!function iH(t,n){WE(t,n),n[Tt]=null,n[xn]=null}(i[Y],i);const s=o[gr];null!==s&&s.detachView(o[Y]),i[Bt]=null,i[ki]=null,i[le]&=-129}return i}function Xu(t,n){if(!(256&n[le])){const e=n[ge];e.destroyNode&&Qu(t,n,e,3,null,null),function oH(t){let n=t[Ec];if(!n)return Hg(t[Y],t);for(;n;){let e=null;if(En(n))e=n[Ec];else{const i=n[Vt];i&&(e=i)}if(!e){for(;n&&!n[ki]&&n!==t;)En(n)&&Hg(n[Y],n),n=n[Bt];null===n&&(n=t),En(n)&&Hg(n[Y],n),e=n&&n[ki]}n=e}}(n)}}function Hg(t,n){if(256&n[le])return;const e=b(null);try{n[le]&=-129,n[le]|=256,n[Bo]&&function Ud(t){if(Yr(t),ko(t))for(let n=0;n=0?i[s]():i[-s].unsubscribe(),o+=2}else e[o].call(i[e[o+1]]);null!==i&&(n[Zs]=null);const r=n[Jr];if(null!==r){n[Jr]=null;for(let o=0;o-1){const{encapsulation:o}=t.data[i.directiveStart+r];if(o===Ii.None||o===Ii.Emulated)return null}return Pn(i,e)}}(t,n.parent,e)}function Go(t,n,e,i,r){t.insertBefore(n,e,i,r)}function YE(t,n,e){t.appendChild(n,e)}function QE(t,n,e,i,r){null!==i?Go(t,n,e,i,r):YE(t,n,e)}function qu(t,n){return t.parentNode(n)}function ZE(t,n,e){return JE(t,n,e)}let Ug,JE=function KE(t,n,e){return 40&t.type?Pn(t,e):null};function Yu(t,n,e,i){const r=jg(t,i,n),o=n[ge],a=ZE(i.parent||n[xn],i,n);if(null!=r)if(Array.isArray(e))for(let c=0;cEe&&sw(t,n,Ee,!1),$i(s?2:0,r),e(i,r)}finally{jo(o),$i(s?3:1,r)}}function Wg(t,n,e){if(Bp(n)){const i=b(null);try{const o=n.directiveEnd;for(let s=n.directiveStart;snull;function hw(t,n,e,i,r){for(let o in n){if(!n.hasOwnProperty(o))continue;const s=n[o];if(void 0===s)continue;i??={};let a,c=X.None;Array.isArray(s)?(a=s[0],c=s[1]):a=s;let l=o;if(null!==r){if(!r.hasOwnProperty(o))continue;l=r[o]}0===t?fw(i,e,l,a,c):fw(i,e,l,a)}return i}function fw(t,n,e,i,r){let o;t.hasOwnProperty(e)?(o=t[e]).push(n,i):o=t[e]=[n,i],void 0!==r&&o.push(r)}function Xn(t,n,e,i,r,o,s,a){const c=Pn(n,e);let d,l=n.inputs;!a&&null!=l&&(d=l[i])?(e_(t,e,d,i,r),Vo(n)&&function DH(t,n){const e=si(n,t);16&e[le]||(e[le]|=64)}(e,n.index)):3&n.type&&(i=function SH(t){return"class"===t?"className":"for"===t?"htmlFor":"formaction"===t?"formAction":"innerHtml"===t?"innerHTML":"readonly"===t?"readOnly":"tabindex"===t?"tabIndex":t}(i),r=null!=s?s(r,n.value||"",i):r,o.setProperty(c,i,r))}function Qg(t,n,e,i){if(_x()){const r=null===i?null:{"":-1},o=function RH(t,n){const e=t.directiveRegistry;let i=null,r=null;if(e)for(let o=0;o0;){const e=t[--n];if("number"==typeof e&&e<0)return e}return 0})(s)!=a&&s.push(a),s.push(e,i,o)}}(t,n,i,Xc(t,e,r.hostVars,Se),r)}function Zi(t,n,e,i,r,o){const s=Pn(t,n);!function Kg(t,n,e,i,r,o,s){if(null==o)t.removeAttribute(n,r,e);else{const a=null==s?xe(o):s(o,i||"",r);t.setAttribute(n,r,a,e)}}(n[ge],s,o,t.value,e,i,r)}function BH(t,n,e,i,r,o){const s=o[n];if(null!==s)for(let a=0;a0&&(e[r-1][ki]=n),i!1,producerRecomputeValue:()=>{},consumerMarkedDirty:()=>{},consumerOnSignalRead:()=>{},consumerIsAlwaysLive:!0,consumerMarkedDirty:t=>{Ic(t.lView)},consumerOnSignalRead(){this.lView[Bo]=this}},ww=100;function eh(t,n=!0,e=0){const i=t[Ri],r=i.rendererFactory;r.begin?.();try{!function XH(t,n){i_(t,n);let e=0;for(;$p(t);){if(e===ww)throw new V(103,!1);e++,i_(t,1)}}(t,e)}catch(s){throw n&&Ju(t,s),s}finally{r.end?.(),i.inlineEffectRunner?.flush()}}function qH(t,n,e,i){const r=n[le];if(!(256&~r))return;n[Ri].inlineEffectRunner?.flush(),Jp(n);let s=null,a=null;(function YH(t){return 2!==t.type})(t)&&(a=function zH(t){return t[Bo]??function GH(t){const n=Ew.pop()??Object.create(WH);return n.lView=t,n}(t)}(n),s=function qr(t){return t&&(t.nextProducerIndex=0),b(t)}(a));try{mx(n),function yx(t){return _e.lFrame.bindingIndex=t}(t.bindingStartIndex),null!==e&&lw(t,n,e,2,i);const c=!(3&~r);if(c){const u=t.preOrderCheckHooks;null!==u&&Eu(n,u,null)}else{const u=t.preOrderHooks;null!==u&&wu(n,u,0,null),ng(n,0)}if(function QH(t){for(let n=sE(t);null!==n;n=aE(n)){if(!(n[le]&Lp.HasTransplantedViews))continue;const e=n[ea];for(let i=0;it.nextProducerIndex;)t.producerNode.pop(),t.producerLastReadVersion.pop(),t.producerIndexOfThis.pop()}}(a,s),function $H(t){t.lView[Bo]!==t&&(t.lView=null,Ew.push(t))}(a)),eg()}}function Sw(t,n){for(let e=sE(t);null!==e;e=aE(e))for(let i=Vt;i-1&&(Gc(n,i),au(e,i))}this._attachedToViewContainer=!1}Xu(this._lView[Y],this._lView)}onDestroy(n){yu(this._lView,n)}markForCheck(){Zc(this._cdRefInjectingView||this._lView)}detach(){this._lView[le]&=-129}reattach(){Wp(this._lView),this._lView[le]|=128}detectChanges(){this._lView[le]|=1024,eh(this._lView,this.notifyErrorHandler)}checkNoChanges(){}attachToViewContainerRef(){if(this._appRef)throw new V(902,!1);this._attachedToViewContainer=!0}detachFromAppRef(){this._appRef=null,WE(this._lView[Y],this._lView)}attachToAppRef(n){if(this._attachedToViewContainer)throw new V(902,!1);this._appRef=n,Wp(this._lView)}}let gi=(()=>{class t{static#e=this.__NG_ELEMENT_ID__=ej}return t})();const KH=gi,JH=class extends KH{constructor(n,e,i){super(),this._declarationLView=n,this._declarationTContainer=e,this.elementRef=i}get ssrId(){return this._declarationTContainer.tView?.ssrId||null}createEmbeddedView(n,e){return this.createEmbeddedViewImpl(n,e)}createEmbeddedViewImpl(n,e,i){const r=qc(this._declarationLView,this._declarationTContainer,n,{embeddedViewInjector:e,dehydratedView:i});return new Kc(r)}};function ej(){return th(lt(),B())}function th(t,n){return 4&t.type?new JH(n,t,ca(t,n)):null}let Fw=()=>null;function ga(t,n){return Fw(t,n)}class sh{}class wj{}class Ow{}class Dj{resolveComponentFactory(n){throw function Sj(t){const n=Error(`No component factory found for ${rn(t)}.`);return n.ngComponent=t,n}(n)}}let _a=(()=>{class t{static#e=this.NULL=new Dj}return t})();class l_{}let $o=(()=>{class t{constructor(){this.destroyNode=null}static#e=this.__NG_ELEMENT_ID__=()=>function Cj(){const t=B(),e=si(lt().index,t);return(En(e)?e:t)[ge]}()}return t})(),Mj=(()=>{class t{static#e=this.\u0275prov=q({token:t,providedIn:"root",factory:()=>null})}return t})();const d_={},Pw=new Set;function Ki(t){Pw.has(t)||(Pw.add(t),performance?.mark?.("mark_feature_usage",{detail:{feature:t}}))}function Lw(...t){}class de{constructor({enableLongStackTrace:n=!1,shouldCoalesceEventChangeDetection:e=!1,shouldCoalesceRunChangeDetection:i=!1}){if(this.hasPendingMacrotasks=!1,this.hasPendingMicrotasks=!1,this.isStable=!0,this.onUnstable=new Te(!1),this.onMicrotaskEmpty=new Te(!1),this.onStable=new Te(!1),this.onError=new Te(!1),typeof Zone>"u")throw new V(908,!1);Zone.assertZonePatched();const r=this;r._nesting=0,r._outer=r._inner=Zone.current,Zone.TaskTrackingZoneSpec&&(r._inner=r._inner.fork(new Zone.TaskTrackingZoneSpec)),n&&Zone.longStackTraceZoneSpec&&(r._inner=r._inner.fork(Zone.longStackTraceZoneSpec)),r.shouldCoalesceEventChangeDetection=!i&&e,r.shouldCoalesceRunChangeDetection=i,r.lastRequestAnimationFrameId=-1,r.nativeRequestAnimationFrame=function Ij(){const t="function"==typeof rt.requestAnimationFrame;let n=rt[t?"requestAnimationFrame":"setTimeout"],e=rt[t?"cancelAnimationFrame":"clearTimeout"];if(typeof Zone<"u"&&n&&e){const i=n[Zone.__symbol__("OriginalDelegate")];i&&(n=i);const r=e[Zone.__symbol__("OriginalDelegate")];r&&(e=r)}return{nativeRequestAnimationFrame:n,nativeCancelAnimationFrame:e}}().nativeRequestAnimationFrame,function Rj(t){const n=()=>{!function kj(t){t.isCheckStableRunning||-1!==t.lastRequestAnimationFrameId||(t.lastRequestAnimationFrameId=t.nativeRequestAnimationFrame.call(rt,()=>{t.fakeTopEventTask||(t.fakeTopEventTask=Zone.root.scheduleEventTask("fakeTopEventTask",()=>{t.lastRequestAnimationFrameId=-1,h_(t),t.isCheckStableRunning=!0,u_(t),t.isCheckStableRunning=!1},void 0,()=>{},()=>{})),t.fakeTopEventTask.invoke()}),h_(t))}(t)};t._inner=t._inner.fork({name:"angular",properties:{isAngularZone:!0},onInvokeTask:(e,i,r,o,s,a)=>{if(function Fj(t){return!(!Array.isArray(t)||1!==t.length)&&!0===t[0].data?.__ignore_ng_zone__}(a))return e.invokeTask(r,o,s,a);try{return Bw(t),e.invokeTask(r,o,s,a)}finally{(t.shouldCoalesceEventChangeDetection&&"eventTask"===o.type||t.shouldCoalesceRunChangeDetection)&&n(),Vw(t)}},onInvoke:(e,i,r,o,s,a,c)=>{try{return Bw(t),e.invoke(r,o,s,a,c)}finally{t.shouldCoalesceRunChangeDetection&&n(),Vw(t)}},onHasTask:(e,i,r,o)=>{e.hasTask(r,o),i===r&&("microTask"==o.change?(t._hasPendingMicrotasks=o.microTask,h_(t),u_(t)):"macroTask"==o.change&&(t.hasPendingMacrotasks=o.macroTask))},onHandleError:(e,i,r,o)=>(e.handleError(r,o),t.runOutsideAngular(()=>t.onError.emit(o)),!1)})}(r)}static isInAngularZone(){return typeof Zone<"u"&&!0===Zone.current.get("isAngularZone")}static assertInAngularZone(){if(!de.isInAngularZone())throw new V(909,!1)}static assertNotInAngularZone(){if(de.isInAngularZone())throw new V(909,!1)}run(n,e,i){return this._inner.run(n,e,i)}runTask(n,e,i,r){const o=this._inner,s=o.scheduleEventTask("NgZoneEvent: "+r,n,Tj,Lw,Lw);try{return o.runTask(s,e,i)}finally{o.cancelTask(s)}}runGuarded(n,e,i){return this._inner.runGuarded(n,e,i)}runOutsideAngular(n){return this._outer.run(n)}}const Tj={};function u_(t){if(0==t._nesting&&!t.hasPendingMicrotasks&&!t.isStable)try{t._nesting++,t.onMicrotaskEmpty.emit(null)}finally{if(t._nesting--,!t.hasPendingMicrotasks)try{t.runOutsideAngular(()=>t.onStable.emit(null))}finally{t.isStable=!0}}}function h_(t){t.hasPendingMicrotasks=!!(t._hasPendingMicrotasks||(t.shouldCoalesceEventChangeDetection||t.shouldCoalesceRunChangeDetection)&&-1!==t.lastRequestAnimationFrameId)}function Bw(t){t._nesting++,t.isStable&&(t.isStable=!1,t.onUnstable.emit(null))}function Vw(t){t._nesting--,u_(t)}class Hw{constructor(){this.hasPendingMicrotasks=!1,this.hasPendingMacrotasks=!1,this.isStable=!0,this.onUnstable=new Te,this.onMicrotaskEmpty=new Te,this.onStable=new Te,this.onError=new Te}run(n,e,i){return n.apply(e,i)}runGuarded(n,e,i){return n.apply(e,i)}runOutsideAngular(n){return n()}runTask(n,e,i,r){return n.apply(e,i)}}let il=(()=>{class t{constructor(){this.handler=null,this.internalCallbacks=[]}execute(){this.executeInternalCallbacks(),this.handler?.execute()}executeInternalCallbacks(){const e=[...this.internalCallbacks];this.internalCallbacks.length=0;for(const i of e)i()}ngOnDestroy(){this.handler?.destroy(),this.handler=null,this.internalCallbacks.length=0}static#e=this.\u0275prov=q({token:t,providedIn:"root",factory:()=>new t})}return t})();function ch(t,n,e){let i=e?t.styles:null,r=e?t.classes:null,o=0;if(null!==n)for(let s=0;s0&&rw(t,e,o.join(" "))}}(f,L,g,i),void 0!==e&&function Xj(t,n,e){const i=t.projection=[];for(let r=0;r{class t{static#e=this.__NG_ELEMENT_ID__=Yj}return t})();function Yj(){return Qw(lt(),B())}const Qj=_i,qw=class extends Qj{constructor(n,e,i){super(),this._lContainer=n,this._hostTNode=e,this._hostLView=i}get element(){return ca(this._hostTNode,this._hostLView)}get injector(){return new an(this._hostTNode,this._hostLView)}get parentInjector(){const n=Cu(this._hostTNode,this._hostLView);if(rg(n)){const e=Oc(n,this._hostLView),i=Fc(n);return new an(e[Y].data[i+8],e)}return new an(null,this._hostLView)}clear(){for(;this.length>0;)this.remove(this.length-1)}get(n){const e=Yw(this._lContainer);return null!==e&&e[n]||null}get length(){return this._lContainer.length-Vt}createEmbeddedView(n,e,i){let r,o;"number"==typeof i?r=i:null!=i&&(r=i.index,o=i.injector);const s=ga(this._lContainer,n.ssrId),a=n.createEmbeddedViewImpl(e||{},o,s);return this.insertImpl(a,r,pa(this._hostTNode,s)),a}createComponent(n,e,i,r,o){const s=n&&!function xc(t){return"function"==typeof t}(n);let a;if(s)a=e;else{const p=e||{};a=p.index,i=p.injector,r=p.projectableNodes,o=p.environmentInjector||p.ngModuleRef}const c=s?n:new sl(Fe(n)),l=i||this.parentInjector;if(!o&&null==c.ngModule){const g=(s?l:this.parentInjector).get(zi,null);g&&(o=g)}const d=Fe(c.componentType??{}),u=ga(this._lContainer,d?.id??null),f=c.create(l,r,u?.firstChild??null,o);return this.insertImpl(f.hostView,a,pa(this._hostTNode,u)),f}insert(n,e){return this.insertImpl(n,e,!0)}insertImpl(n,e,i){const r=n._lView;if(function U2(t){return wn(t[Bt])}(r)){const a=this.indexOf(n);if(-1!==a)this.detach(a);else{const c=r[Bt],l=new qw(c,c[xn],c[Bt]);l.detach(l.indexOf(n))}}const o=this._adjustIndex(e),s=this._lContainer;return Yc(s,r,o,i),n.attachToViewContainerRef(),P0(g_(s),o,n),n}move(n,e){return this.insert(n,e)}indexOf(n){const e=Yw(this._lContainer);return null!==e?e.indexOf(n):-1}remove(n){const e=this._adjustIndex(n,-1),i=Gc(this._lContainer,e);i&&(au(g_(this._lContainer),e),Xu(i[Y],i))}detach(n){const e=this._adjustIndex(n,-1),i=Gc(this._lContainer,e);return i&&null!=au(g_(this._lContainer),e)?new Kc(i):null}_adjustIndex(n,e=0){return n??this.length+e}};function Yw(t){return t[8]}function g_(t){return t[8]||(t[8]=[])}function Qw(t,n){let e;const i=n[t.index];return wn(i)?e=i:(e=gw(i,n,null,t),n[t.index]=e,Ku(n,e)),Zw(e,n,t,i),new qw(e,t,n)}let Zw=function Jw(t,n,e,i){if(t[Gi])return;let r;r=8&e.type?dt(i):function Zj(t,n){const e=t[ge],i=e.createComment(""),r=Pn(n,t);return Go(e,qu(e,r),i,function uH(t,n){return t.nextSibling(n)}(e,r),!1),i}(n,e),t[Gi]=r},__=()=>!1;class b_{constructor(n){this.queryList=n,this.matches=null}clone(){return new b_(this.queryList)}setDirty(){this.queryList.setDirty()}}class v_{constructor(n=[]){this.queries=n}createEmbeddedView(n){const e=n.queries;if(null!==e){const i=null!==n.contentQueries?n.contentQueries[0]:e.length,r=[];for(let o=0;on.trim())}(n):n}}class y_{constructor(n=[]){this.queries=n}elementStart(n,e){for(let i=0;i0)i.push(s[a/2]);else{const l=o[a+1],d=n[-c];for(let u=Vt;u=0;i--){const r=t[i];r.hostVars=n+=r.hostVars,r.hostAttrs=yc(r.hostAttrs,e=yc(e,r.hostAttrs))}}(i)}function _U(t,n){for(const e in n.inputs){if(!n.inputs.hasOwnProperty(e)||t.inputs.hasOwnProperty(e))continue;const i=n.inputs[e];if(void 0!==i&&(t.inputs[e]=i,t.declaredInputs[e]=n.declaredInputs[e],null!==n.inputTransforms)){const r=Array.isArray(i)?i[0]:i;if(!n.inputTransforms.hasOwnProperty(r))continue;t.inputTransforms??={},t.inputTransforms[r]=n.inputTransforms[r]}}}function dh(t){return t===Ui?{}:t===We?[]:t}function vU(t,n){const e=t.viewQuery;t.viewQuery=e?(i,r)=>{n(i,r),e(i,r)}:n}function yU(t,n){const e=t.contentQueries;t.contentQueries=e?(i,r,o)=>{n(i,r,o),e(i,r,o)}:n}function AU(t,n){const e=t.hostBindings;t.hostBindings=e?(i,r)=>{n(i,r),e(i,r)}:n}function Er(t){const n=t.inputConfig,e={};for(const i in n)if(n.hasOwnProperty(i)){const r=n[i];Array.isArray(r)&&r[3]&&(e[i]=r[3])}t.inputTransforms=e}class qo{}class CU{}class D_ extends qo{constructor(n,e,i){super(),this._parent=e,this._bootstrapComponents=[],this.destroyCbs=[],this.componentFactoryResolver=new Ww(this);const r=function An(t,n){const e=t[T0]||null;if(!e&&!0===n)throw new Error(`Type ${rn(t)} does not have '\u0275mod' property.`);return e}(n);this._bootstrapComponents=function li(t){return t instanceof Function?t():t}(r.bootstrap),this._r3Injector=Wx(n,e,[{provide:qo,useValue:this},{provide:_a,useValue:this.componentFactoryResolver},...i],rn(n),new Set(["environment"])),this._r3Injector.resolveInjectorInitializers(),this.instance=this._r3Injector.get(n)}get injector(){return this._r3Injector}destroy(){const n=this._r3Injector;!n.destroyed&&n.destroy(),this.destroyCbs.forEach(e=>e()),this.destroyCbs=null}onDestroy(n){this.destroyCbs.push(n)}}class C_ extends CU{constructor(n){super(),this.moduleType=n}create(n){return new D_(this.moduleType,n,[])}}class wS extends qo{constructor(n){super(),this.componentFactoryResolver=new Ww(this),this.instance=null;const e=new qs([...n.providers,{provide:qo,useValue:this},{provide:_a,useValue:this.componentFactoryResolver}],n.parent||mu(),n.debugName,new Set(["environment"]));this.injector=e,n.runEnvironmentInitializers&&e.resolveInjectorInitializers()}destroy(){this.injector.destroy()}onDestroy(n){this.injector.onDestroy(n)}}let cl=(()=>{class t{constructor(){this.taskId=0,this.pendingTasks=new Set,this.hasPendingTasks=new ti(!1)}get _hasPendingTasks(){return this.hasPendingTasks.value}add(){this._hasPendingTasks||this.hasPendingTasks.next(!0);const e=this.taskId++;return this.pendingTasks.add(e),e}remove(e){this.pendingTasks.delete(e),0===this.pendingTasks.size&&this._hasPendingTasks&&this.hasPendingTasks.next(!1)}ngOnDestroy(){this.pendingTasks.clear(),this._hasPendingTasks&&this.hasPendingTasks.next(!1)}static#e=this.\u0275fac=function(i){return new(i||t)};static#t=this.\u0275prov=q({token:t,factory:t.\u0275fac,providedIn:"root"})}return t})();function hh(t){return!!function M_(t){return null!==t&&("function"==typeof t||"object"==typeof t)}(t)&&(Array.isArray(t)||!(t instanceof Map)&&Symbol.iterator in t)}function Ji(t,n,e){return t[n]=e}function Ht(t,n,e){return!Object.is(t[n],e)&&(t[n]=e,!0)}function we(t,n,e,i,r,o,s,a){const c=B(),l=Be(),d=t+Ee,u=l.firstCreatePass?function NU(t,n,e,i,r,o,s,a,c){const l=n.consts,d=ma(n,t,4,s||null,Wi(l,a));Qg(n,e,d,Wi(l,c)),xu(n,d);const u=d.tView=Yg(2,d,i,r,o,n.directiveRegistry,n.pipeRegistry,null,n.schemas,l,null);return null!==n.queries&&(n.queries.template(n,d),u.queries=n.queries.embeddedTView(d)),d}(d,l,c,n,e,i,r,o,s):l.data[d];Xi(u,!1);const h=DS(l,c,u,t);kc()&&Yu(l,c,h,u),Cn(h,c);const f=gw(h,c,h,u);return c[d]=f,Ku(c,f),function Kw(t,n,e){return __(t,n,e)}(f,u,c),vu(u)&&Xg(l,c,u),null!=s&&qg(c,u,a),we}let DS=function CS(t,n,e,i){return qi(!0),n[ge].createComment("")};function Xe(t,n,e,i){const r=B();return Ht(r,Oi(),n)&&(Be(),Zi(vt(),r,t,n,e,i)),Xe}function Da(t,n,e,i){return Ht(t,Oi(),e)?n+xe(e)+i:Se}function vh(t,n){return t<<17|n<<2}function oo(t){return t>>17&32767}function B_(t){return 2|t}function Zo(t){return(131068&t)>>2}function V_(t,n){return-131069&t|n<<2}function H_(t){return 1|t}function rD(t,n,e,i){const r=t[e+1],o=null===n;let s=i?oo(r):Zo(r),a=!1;for(;0!==s&&(!1===a||o);){const l=t[s+1];v5(t[s],n)&&(a=!0,t[s+1]=i?H_(l):B_(l)),s=i?oo(l):Zo(l)}a&&(t[e+1]=i?B_(r):H_(r))}function v5(t,n){return null===t||null==n||(Array.isArray(t)?t[1]:t)===n||!(!Array.isArray(t)||"string"!=typeof n)&&Ws(t,n)>=0}const cn={textEnd:0,key:0,keyEnd:0,value:0,valueEnd:0};function oD(t){return t.substring(cn.key,cn.keyEnd)}function sD(t,n){const e=cn.textEnd;return e===n?-1:(n=cn.keyEnd=function E5(t,n,e){for(;n32;)n++;return n}(t,cn.key=n,e),Oa(t,n,e))}function Oa(t,n,e){for(;n=0;e=sD(n,e))ri(t,oD(n),!0)}function Ni(t,n,e,i){const r=B(),o=Be(),s=br(2);o.firstUpdatePass&&hD(o,t,s,i),n!==Se&&Ht(r,s,n)&&mD(o,o.data[Dn()],r,r[ge],t,r[s+1]=function O5(t,n){return null==t||""===t||("string"==typeof n?t+=n:"object"==typeof t&&(t=rn(ci(t)))),t}(n,e),i,s)}function Pi(t,n,e,i){const r=Be(),o=br(2);r.firstUpdatePass&&hD(r,null,o,i);const s=B();if(e!==Se&&Ht(s,o,e)){const a=r.data[Dn()];if(gD(a,i)&&!uD(r,o)){let c=i?a.classesWithoutHost:a.stylesWithoutHost;null!==c&&(e=dp(c,e||"")),j_(r,a,s,e,i)}else!function F5(t,n,e,i,r,o,s,a){r===Se&&(r=We);let c=0,l=0,d=0=t.expandoStartIndex}function hD(t,n,e,i){const r=t.data;if(null===r[e+1]){const o=r[Dn()],s=uD(t,e);gD(o,i)&&null===n&&!s&&(n=!1),n=function C5(t,n,e,i){const r=Zp(t);let o=i?n.residualClasses:n.residualStyles;if(null===r)0===(i?n.classBindings:n.styleBindings)&&(e=pl(e=U_(null,t,n,e,i),n.attrs,i),o=null);else{const s=n.directiveStylingLast;if(-1===s||t[s]!==r)if(e=U_(r,t,n,e,i),null===o){let c=function M5(t,n,e){const i=e?n.classBindings:n.styleBindings;if(0!==Zo(i))return t[oo(i)]}(t,n,i);void 0!==c&&Array.isArray(c)&&(c=U_(null,t,n,c[1],i),c=pl(c,n.attrs,i),function I5(t,n,e,i){t[oo(e?n.classBindings:n.styleBindings)]=i}(t,n,i,c))}else o=function T5(t,n,e){let i;const r=n.directiveEnd;for(let o=1+n.directiveStylingLast;o0)&&(l=!0)):d=e,r)if(0!==c){const h=oo(t[a+1]);t[i+1]=vh(h,a),0!==h&&(t[h+1]=V_(t[h+1],i)),t[a+1]=function p5(t,n){return 131071&t|n<<17}(t[a+1],i)}else t[i+1]=vh(a,0),0!==a&&(t[a+1]=V_(t[a+1],i)),a=i;else t[i+1]=vh(c,0),0===a?a=i:t[c+1]=V_(t[c+1],i),c=i;l&&(t[i+1]=B_(t[i+1])),rD(t,d,i,!0),rD(t,d,i,!1),function b5(t,n,e,i,r){const o=r?t.residualClasses:t.residualStyles;null!=o&&"string"==typeof n&&Ws(o,n)>=0&&(e[i+1]=H_(e[i+1]))}(n,d,t,i,o),s=vh(a,c),o?n.classBindings=s:n.styleBindings=s}(r,o,n,e,s,i)}}function U_(t,n,e,i,r){let o=null;const s=e.directiveEnd;let a=e.directiveStylingLast;for(-1===a?a=e.directiveStart:a++;a0;){const c=t[r],l=Array.isArray(c),d=l?c[1]:c,u=null===d;let h=e[r+1];h===Se&&(h=u?We:void 0);let f=u?wp(h,i):d===i?h:void 0;if(l&&!yh(f)&&(f=wp(c,i)),yh(f)&&(a=f,s))return a;const p=t[r+1];r=s?oo(p):Zo(p)}if(null!==n){let c=o?n.residualClasses:n.residualStyles;null!=c&&(a=wp(c,i))}return a}function yh(t){return void 0!==t}function gD(t,n){return!!(t.flags&(n?8:16))}function zt(t,n,e){Ki("NgControlFlow");const i=B(),r=Oi(),o=function $_(t,n){return t[n]}(i,Ee+t);if(Ht(i,r,n)){const a=b(null);try{if(function n_(t,n){const e=Gc(t,n);return void 0!==e&&Xu(e[Y],e),e}(o,0),-1!==n){const c=function W_(t,n){return Mc(t,n)}(i[Y],Ee+n),l=ga(o,c.tView.ssrId);Yc(o,qc(i,c,e,{dehydratedView:l}),0,pa(c,l))}}finally{b(a)}}else{const a=function Aw(t,n){const e=Vt+n;if(e(qi(!0),Wu(i,r,function Cx(){return _e.lFrame.currentNamespace}()));function X_(t,n,e){const i=B(),r=Be(),o=t+Ee,s=r.firstCreatePass?function rz(t,n,e,i,r){const o=n.consts,s=Wi(o,i),a=ma(n,t,8,"ng-container",s);return null!==s&&ch(a,s,!0),Qg(n,e,a,Wi(o,r)),null!==n.queries&&n.queries.elementStart(n,a),a}(o,r,i,n,e):r.data[o];Xi(s,!0);const a=xD(r,i,s,t);return i[o]=a,kc()&&Yu(r,i,a,s),Cn(a,i),vu(s)&&(Xg(r,i,s),Wg(r,s,i)),null!=e&&qg(i,s),X_}function q_(){let t=lt();const n=Be();return qp()?Yp():(t=t.parent,Xi(t,!1)),n.firstCreatePass&&(xu(n,t),Bp(t)&&n.queries.elementEnd(t)),q_}function gl(t,n,e){return X_(t,n,e),q_(),gl}let xD=(t,n,e,i)=>(qi(!0),Vg(n[ge],""));function wr(){return B()}function nr(t,n,e){const i=B();return Ht(i,Oi(),n)&&Xn(Be(),vt(),i,t,n,i[ge],e,!0),nr}function Y_(t,n,e){const i=B();if(Ht(i,Oi(),n)){const o=Be(),s=vt();Xn(o,s,i,t,n,yw(Zp(o.data),s,i),e,!0)}return Y_}const Ko=void 0;var cz=["en",[["a","p"],["AM","PM"],Ko],[["AM","PM"],Ko,Ko],[["S","M","T","W","T","F","S"],["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],["Su","Mo","Tu","We","Th","Fr","Sa"]],Ko,[["J","F","M","A","M","J","J","A","S","O","N","D"],["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],["January","February","March","April","May","June","July","August","September","October","November","December"]],Ko,[["B","A"],["BC","AD"],["Before Christ","Anno Domini"]],0,[6,0],["M/d/yy","MMM d, y","MMMM d, y","EEEE, MMMM d, y"],["h:mm a","h:mm:ss a","h:mm:ss a z","h:mm:ss a zzzz"],["{1}, {0}",Ko,"{1} 'at' {0}",Ko],[".",",",";","%","+","-","E","\xd7","\u2030","\u221e","NaN",":"],["#,##0.###","#,##0%","\xa4#,##0.00","#E0"],"USD","$","US Dollar",{},"ltr",function az(t){const e=Math.floor(Math.abs(t)),i=t.toString().replace(/^[^.]*\.?/,"").length;return 1===e&&0===i?1:5}];let Na={};function Bn(t){const n=function lz(t){return t.toLowerCase().replace(/_/g,"-")}(t);let e=wD(n);if(e)return e;const i=n.split("-")[0];if(e=wD(i),e)return e;if("en"===i)return cz;throw new V(701,!1)}function wD(t){return t in Na||(Na[t]=rt.ng&&rt.ng.common&&rt.ng.common.locales&&rt.ng.common.locales[t]),Na[t]}var yt=function(t){return t[t.LocaleId=0]="LocaleId",t[t.DayPeriodsFormat=1]="DayPeriodsFormat",t[t.DayPeriodsStandalone=2]="DayPeriodsStandalone",t[t.DaysFormat=3]="DaysFormat",t[t.DaysStandalone=4]="DaysStandalone",t[t.MonthsFormat=5]="MonthsFormat",t[t.MonthsStandalone=6]="MonthsStandalone",t[t.Eras=7]="Eras",t[t.FirstDayOfWeek=8]="FirstDayOfWeek",t[t.WeekendRange=9]="WeekendRange",t[t.DateFormat=10]="DateFormat",t[t.TimeFormat=11]="TimeFormat",t[t.DateTimeFormat=12]="DateTimeFormat",t[t.NumberSymbols=13]="NumberSymbols",t[t.NumberFormats=14]="NumberFormats",t[t.CurrencyCode=15]="CurrencyCode",t[t.CurrencySymbol=16]="CurrencySymbol",t[t.CurrencyName=17]="CurrencyName",t[t.Currencies=18]="Currencies",t[t.Directionality=19]="Directionality",t[t.PluralCase=20]="PluralCase",t[t.ExtraData=21]="ExtraData",t}(yt||{});const Pa="en-US";let SD=Pa;function Ue(t,n,e,i){const r=B(),o=Be(),s=lt();return J_(o,r,r[ge],s,t,n,i),Ue}function K_(t,n){const e=lt(),i=B(),r=Be();return J_(r,i,yw(Zp(r.data),e,i),e,t,n),K_}function J_(t,n,e,i,r,o,s){const a=vu(i),l=t.firstCreatePass&&vw(t),d=n[bt],u=bw(n);let h=!0;if(3&i.type||s){const g=Pn(i,n),_=s?s(g):g,x=u.length,y=s?F=>s(dt(F[i.index])):i.index;let k=null;if(!s&&a&&(k=function o4(t,n,e,i){const r=t.cleanup;if(null!=r)for(let o=0;oc?a[c]:null}"string"==typeof s&&(o+=2)}return null}(t,n,r,i.index)),null!==k)(k.__ngLastListenerFn__||k).__ngNextListenerFn__=o,k.__ngLastListenerFn__=o,h=!1;else{o=KD(i,n,d,o,!1);const F=e.listen(_,r,o);u.push(o,F),l&&l.push(r,y,x,x+1)}}else o=KD(i,n,d,o,!1);const f=i.outputs;let p;if(h&&null!==f&&(p=f[r])){const g=p.length;if(g)for(let _=0;_-1?si(t.index,n):n);let c=ZD(n,e,i,s),l=o.__ngNextListenerFn__;for(;l;)c=ZD(n,e,l,s)&&c,l=l.__ngNextListenerFn__;return r&&!1===c&&s.preventDefault(),c}}function pt(t=1){return function iB(t){return(_e.lFrame.contextLView=function px(t,n){for(;t>0;)n=n[Ks],t--;return n}(t,_e.lFrame.contextLView))[bt]}(t)}function s4(t,n){let e=null;const i=function t2(t){const n=t.attrs;if(null!=n){const e=n.indexOf(5);if(!(1&e))return n[e+1]}return null}(t);for(let r=0;r(qi(!0),function Bg(t,n){return t.createText(n)}(n[ge],i));function Li(t){return ir("",t,""),Li}function ir(t,n,e){const i=B(),r=Da(i,t,n,e);return r!==Se&&function xr(t,n,e){const i=Cc(n,t);!function $E(t,n,e){t.setValue(n,e)}(t[ge],i,e)}(i,Dn(),r),ir}function tb(t,n,e,i,r){if(t=me(t),Array.isArray(t))for(let o=0;o>20;if(Lo(t)||!t.multi){const f=new Rc(l,r,C),p=ib(c,n,r?d:d+h,u);-1===p?(ag(Du(a,s),o,c),nb(o,t,n.length),n.push(c),a.directiveStart++,a.directiveEnd++,r&&(a.providerIndexes+=1048576),e.push(f),s.push(f)):(e[p]=f,s[p]=f)}else{const f=ib(c,n,d+h,u),p=ib(c,n,d,d+h),_=p>=0&&e[p];if(r&&!_||!r&&!(f>=0&&e[f])){ag(Du(a,s),o,c);const x=function D4(t,n,e,i,r){const o=new Rc(t,e,C);return o.multi=[],o.index=n,o.componentProviders=0,MC(o,r,i&&!e),o}(r?S4:w4,e.length,r,i,l);!r&&_&&(e[p].providerFactory=x),nb(o,t,n.length,0),n.push(c),a.directiveStart++,a.directiveEnd++,r&&(a.providerIndexes+=1048576),e.push(x),s.push(x)}else nb(o,t,f>-1?f:p,MC(e[r?p:f],l,!r&&i));!r&&i&&_&&e[p].componentProviders++}}}function nb(t,n,e,i){const r=Lo(n),o=function p2(t){return!!t.useClass}(n);if(r||o){const c=(o?me(n.useClass):n).prototype.ngOnDestroy;if(c){const l=t.destroyHooks||(t.destroyHooks=[]);if(!r&&n.multi){const d=l.indexOf(e);-1===d?l.push(e,[i,c]):l[d+1].push(i,c)}else l.push(e,c)}}}function MC(t,n,e){return e&&t.componentProviders++,t.multi.push(n)-1}function ib(t,n,e,i){for(let r=e;r{e.providersResolver=(i,r)=>function E4(t,n,e){const i=Be();if(i.firstCreatePass){const r=Fi(t);tb(e,i.data,i.blueprint,r,!0),tb(n,i.data,i.blueprint,r,!1)}}(i,r?r(t):t,n)}}let C4=(()=>{class t{constructor(e){this._injector=e,this.cachedInjectors=new Map}getOrCreateStandaloneInjector(e){if(!e.standalone)return null;if(!this.cachedInjectors.has(e)){const i=Mp(0,e.type),r=i.length>0?function SS(t,n,e=null){return new wS({providers:t,parent:n,debugName:e,runEnvironmentInitializers:!0}).injector}([i],this._injector,`Standalone[${e.type.name}]`):null;this.cachedInjectors.set(e,r)}return this.cachedInjectors.get(e)}ngOnDestroy(){try{for(const e of this.cachedInjectors.values())null!==e&&e.destroy()}finally{this.cachedInjectors.clear()}}static#e=this.\u0275prov=q({token:t,providedIn:"environment",factory:()=>new t(R(zi))})}return t})();function Gt(t){Ki("NgStandalone"),t.getStandaloneInjector=n=>n.get(C4).getOrCreateStandaloneInjector(t)}function El(t,n){const e=t[n];return e===Se?void 0:e}function RC(t,n,e,i,r,o,s){const a=n+e;return function Yo(t,n,e,i){const r=Ht(t,n,e);return Ht(t,n+1,i)||r}(t,a,r,o)?Ji(t,a+2,s?i.call(s,r,o):i(r,o)):El(t,a+2)}function Ae(t,n){const e=Be();let i;const r=t+Ee;e.firstCreatePass?(i=function V4(t,n){if(n)for(let e=n.length-1;e>=0;e--){const i=n[e];if(t===i.name)return i}}(n,e.pipeRegistry),e.data[r]=i,i.onDestroy&&(e.destroyHooks??=[]).push(r,i.onDestroy)):i=e.data[r];const o=i.factory||(i.factory=No(i.type)),a=zn(C);try{const c=Su(!1),l=o();return Su(c),function d4(t,n,e,i){e>=t.data.length&&(t.data[e]=null,t.blueprint[e]=null),n[e]=i}(e,B(),r,l),l}finally{zn(a)}}function Pe(t,n,e){const i=t+Ee,r=B(),o=ta(r,i);return wl(r,i)?function kC(t,n,e,i,r,o){const s=n+e;return Ht(t,s,r)?Ji(t,s+1,o?i.call(o,r):i(r)):El(t,s+1)}(r,Ln(),n,o.transform,e,o):o.transform(e)}function Sr(t,n,e,i){const r=t+Ee,o=B(),s=ta(o,r);return wl(o,r)?RC(o,Ln(),n,s.transform,e,i,s):s.transform(e,i)}function wl(t,n){return t[Y].data[n].pure}function ob(t,n){return th(t,n)}const tM=new j(""),Mh=new j("");let fb,ub=(()=>{class t{constructor(e,i,r){this._ngZone=e,this.registry=i,this._pendingCount=0,this._isZoneStable=!0,this._callbacks=[],this.taskTrackingZone=null,fb||(function P3(t){fb=t}(r),r.addToWindow(i)),this._watchAngularEvents(),e.run(()=>{this.taskTrackingZone=typeof Zone>"u"?null:Zone.current.get("TaskTrackingZone")})}_watchAngularEvents(){this._ngZone.onUnstable.subscribe({next:()=>{this._isZoneStable=!1}}),this._ngZone.runOutsideAngular(()=>{this._ngZone.onStable.subscribe({next:()=>{de.assertNotInAngularZone(),queueMicrotask(()=>{this._isZoneStable=!0,this._runCallbacksIfReady()})}})})}increasePendingRequestCount(){return this._pendingCount+=1,this._pendingCount}decreasePendingRequestCount(){if(this._pendingCount-=1,this._pendingCount<0)throw new Error("pending async requests below zero");return this._runCallbacksIfReady(),this._pendingCount}isStable(){return this._isZoneStable&&0===this._pendingCount&&!this._ngZone.hasPendingMacrotasks}_runCallbacksIfReady(){if(this.isStable())queueMicrotask(()=>{for(;0!==this._callbacks.length;){let e=this._callbacks.pop();clearTimeout(e.timeoutId),e.doneCb()}});else{let e=this.getPendingTasks();this._callbacks=this._callbacks.filter(i=>!i.updateCb||!i.updateCb(e)||(clearTimeout(i.timeoutId),!1))}}getPendingTasks(){return this.taskTrackingZone?this.taskTrackingZone.macroTasks.map(e=>({source:e.source,creationLocation:e.creationLocation,data:e.data})):[]}addCallback(e,i,r){let o=-1;i&&i>0&&(o=setTimeout(()=>{this._callbacks=this._callbacks.filter(s=>s.timeoutId!==o),e()},i)),this._callbacks.push({doneCb:e,timeoutId:o,updateCb:r})}whenStable(e,i,r){if(r&&!this.taskTrackingZone)throw new Error('Task tracking zone is required when passing an update callback to whenStable(). Is "zone.js/plugins/task-tracking" loaded?');this.addCallback(e,i,r),this._runCallbacksIfReady()}getPendingRequestCount(){return this._pendingCount}registerApplication(e){this.registry.registerApplication(e,this)}unregisterApplication(e){this.registry.unregisterApplication(e)}findProviders(e,i,r){return[]}static#e=this.\u0275fac=function(i){return new(i||t)(R(de),R(hb),R(Mh))};static#t=this.\u0275prov=q({token:t,factory:t.\u0275fac})}return t})(),hb=(()=>{class t{constructor(){this._applications=new Map}registerApplication(e,i){this._applications.set(e,i)}unregisterApplication(e){this._applications.delete(e)}unregisterAllApplications(){this._applications.clear()}getTestability(e){return this._applications.get(e)||null}getAllTestabilities(){return Array.from(this._applications.values())}getAllRootElements(){return Array.from(this._applications.keys())}findTestabilityInTree(e,i=!0){return fb?.findTestabilityInTree(this,e,i)??null}static#e=this.\u0275fac=function(i){return new(i||t)};static#t=this.\u0275prov=q({token:t,factory:t.\u0275fac,providedIn:"platform"})}return t})();function Ih(t){return!!t&&"function"==typeof t.then}function nM(t){return!!t&&"function"==typeof t.subscribe}const iM=new j("");let mb=(()=>{class t{constructor(){this.initialized=!1,this.done=!1,this.donePromise=new Promise((e,i)=>{this.resolve=e,this.reject=i}),this.appInits=ne(iM,{optional:!0})??[]}runInitializers(){if(this.initialized)return;const e=[];for(const r of this.appInits){const o=r();if(Ih(o))e.push(o);else if(nM(o)){const s=new Promise((a,c)=>{o.subscribe({complete:a,error:c})});e.push(s)}}const i=()=>{this.done=!0,this.resolve()};Promise.all(e).then(()=>{i()}).catch(r=>{this.reject(r)}),0===e.length&&i(),this.initialized=!0}static#e=this.\u0275fac=function(i){return new(i||t)};static#t=this.\u0275prov=q({token:t,factory:t.\u0275fac,providedIn:"root"})}return t})();const rM=new j("");function aM(t,n){return Array.isArray(n)?n.reduce(aM,t):{...t,...n}}let Dr=(()=>{class t{constructor(){this._bootstrapListeners=[],this._runningTick=!1,this._destroyed=!1,this._destroyListeners=[],this._views=[],this.internalErrorHandler=ne(qx),this.afterRenderEffectManager=ne(il),this.externalTestViews=new Set,this.beforeRender=new ue,this.afterTick=new ue,this.componentTypes=[],this.components=[],this.isStable=ne(cl).hasPendingTasks.pipe(ye(e=>!e)),this._injector=ne(zi)}get destroyed(){return this._destroyed}get injector(){return this._injector}bootstrap(e,i){const r=e instanceof Ow;if(!this._injector.get(mb).done)throw!r&&function Po(t){const n=Fe(t)||on(t)||pn(t);return null!==n&&n.standalone}(e),new V(405,!1);let s;s=r?e:this._injector.get(_a).resolveComponentFactory(e),this.componentTypes.push(s.componentType);const a=function L3(t){return t.isBoundToModule}(s)?void 0:this._injector.get(qo),l=s.create(kt.NULL,[],i||s.selector,a),d=l.location.nativeElement,u=l.injector.get(tM,null);return u?.registerApplication(d),l.onDestroy(()=>{this.detachView(l.hostView),Th(this.components,l),u?.unregisterApplication(d)}),this._loadComponent(l),l}tick(){this._tick(!0)}_tick(e){if(this._runningTick)throw new V(101,!1);const i=b(null);try{this._runningTick=!0,this.detectChangesInAttachedViews(e)}catch(r){this.internalErrorHandler(r)}finally{this.afterTick.next(),this._runningTick=!1,b(i)}}detectChangesInAttachedViews(e){let i=0;const r=this.afterRenderEffectManager;for(;;){if(i===ww)throw new V(103,!1);if(e){const o=0===i;this.beforeRender.next(o);for(let{_lView:s,notifyErrorHandler:a}of this._views)V3(s,o,a)}if(i++,r.executeInternalCallbacks(),![...this.externalTestViews.keys(),...this._views].some(({_lView:o})=>pb(o))&&(r.execute(),![...this.externalTestViews.keys(),...this._views].some(({_lView:o})=>pb(o))))break}}attachView(e){const i=e;this._views.push(i),i.attachToAppRef(this)}detachView(e){const i=e;Th(this._views,i),i.detachFromAppRef()}_loadComponent(e){this.attachView(e.hostView),this.tick(),this.components.push(e);const i=this._injector.get(rM,[]);[...this._bootstrapListeners,...i].forEach(r=>r(e))}ngOnDestroy(){if(!this._destroyed)try{this._destroyListeners.forEach(e=>e()),this._views.slice().forEach(e=>e.destroy())}finally{this._destroyed=!0,this._views=[],this._bootstrapListeners=[],this._destroyListeners=[]}}onDestroy(e){return this._destroyListeners.push(e),()=>Th(this._destroyListeners,e)}destroy(){if(this._destroyed)throw new V(406,!1);const e=this._injector;e.destroy&&!e.destroyed&&e.destroy()}get viewCount(){return this._views.length}warnIfDestroyed(){}static#e=this.\u0275fac=function(i){return new(i||t)};static#t=this.\u0275prov=q({token:t,factory:t.\u0275fac,providedIn:"root"})}return t})();function Th(t,n){const e=t.indexOf(n);e>-1&&t.splice(e,1)}function V3(t,n,e){!n&&!pb(t)||function H3(t,n,e){let i;e?(i=0,t[le]|=1024):i=64&t[le]?0:1,eh(t,n,i)}(t,e,n)}function pb(t){return $p(t)}let G3=(()=>{class t{constructor(){this.zone=ne(de),this.applicationRef=ne(Dr)}initialize(){this._onMicrotaskEmptySubscription||(this._onMicrotaskEmptySubscription=this.zone.onMicrotaskEmpty.subscribe({next:()=>{this.zone.run(()=>{this.applicationRef.tick()})}}))}ngOnDestroy(){this._onMicrotaskEmptySubscription?.unsubscribe()}static#e=this.\u0275fac=function(i){return new(i||t)};static#t=this.\u0275prov=q({token:t,factory:t.\u0275fac,providedIn:"root"})}return t})();function $3(){const t=ne(de),n=ne(ai);return e=>t.runOutsideAngular(()=>n.handleError(e))}let X3=(()=>{class t{constructor(){this.subscription=new Et,this.initialized=!1,this.zone=ne(de),this.pendingTasks=ne(cl)}initialize(){if(this.initialized)return;this.initialized=!0;let e=null;!this.zone.isStable&&!this.zone.hasPendingMacrotasks&&!this.zone.hasPendingMicrotasks&&(e=this.pendingTasks.add()),this.zone.runOutsideAngular(()=>{this.subscription.add(this.zone.onStable.subscribe(()=>{de.assertNotInAngularZone(),queueMicrotask(()=>{null!==e&&!this.zone.hasPendingMacrotasks&&!this.zone.hasPendingMicrotasks&&(this.pendingTasks.remove(e),e=null)})}))}),this.subscription.add(this.zone.onUnstable.subscribe(()=>{de.assertInAngularZone(),e??=this.pendingTasks.add()}))}ngOnDestroy(){this.subscription.unsubscribe()}static#e=this.\u0275fac=function(i){return new(i||t)};static#t=this.\u0275prov=q({token:t,factory:t.\u0275fac,providedIn:"root"})}return t})();const rr=new j("",{providedIn:"root",factory:()=>ne(rr,je.Optional|je.SkipSelf)||function q3(){return typeof $localize<"u"&&$localize.locale||Pa}()}),gb=new j("");let uM=(()=>{class t{constructor(e){this._injector=e,this._modules=[],this._destroyListeners=[],this._destroyed=!1}bootstrapModuleFactory(e,i){const r=function Oj(t="zone.js",n){return"noop"===t?new Hw:"zone.js"===t?new de(n):t}(i?.ngZone,function dM(t){return{enableLongStackTrace:!1,shouldCoalesceEventChangeDetection:t?.eventCoalescing??!1,shouldCoalesceRunChangeDetection:t?.runCoalescing??!1}}({eventCoalescing:i?.ngZoneEventCoalescing,runCoalescing:i?.ngZoneRunCoalescing}));return r.run(()=>{const o=function IU(t,n,e){return new D_(t,n,e)}(e.moduleType,this.injector,function lM(t){return[{provide:de,useFactory:t},{provide:Xs,multi:!0,useFactory:()=>{const n=ne(G3,{optional:!0});return()=>n.initialize()}},{provide:Xs,multi:!0,useFactory:()=>{const n=ne(X3);return()=>{n.initialize()}}},{provide:qx,useFactory:$3}]}(()=>r)),s=o.injector.get(ai,null);return r.runOutsideAngular(()=>{const a=r.onError.subscribe({next:c=>{s.handleError(c)}});o.onDestroy(()=>{Th(this._modules,o),a.unsubscribe()})}),function sM(t,n,e){try{const i=e();return Ih(i)?i.catch(r=>{throw n.runOutsideAngular(()=>t.handleError(r)),r}):i}catch(i){throw n.runOutsideAngular(()=>t.handleError(i)),i}}(s,r,()=>{const a=o.injector.get(mb);return a.runInitializers(),a.donePromise.then(()=>(function DD(t){"string"==typeof t&&(SD=t.toLowerCase().replace(/_/g,"-"))}(o.injector.get(rr,Pa)||Pa),this._moduleDoBootstrap(o),o))})})}bootstrapModule(e,i=[]){const r=aM({},i);return function z3(t,n,e){const i=new C_(e);return Promise.resolve(i)}(0,0,e).then(o=>this.bootstrapModuleFactory(o,r))}_moduleDoBootstrap(e){const i=e.injector.get(Dr);if(e._bootstrapComponents.length>0)e._bootstrapComponents.forEach(r=>i.bootstrap(r));else{if(!e.instance.ngDoBootstrap)throw new V(-403,!1);e.instance.ngDoBootstrap(i)}this._modules.push(e)}onDestroy(e){this._destroyListeners.push(e)}get injector(){return this._injector}destroy(){if(this._destroyed)throw new V(404,!1);this._modules.slice().forEach(i=>i.destroy()),this._destroyListeners.forEach(i=>i());const e=this._injector.get(gb,null);e&&(e.forEach(i=>i()),e.clear()),this._destroyed=!0}get destroyed(){return this._destroyed}static#e=this.\u0275fac=function(i){return new(i||t)(R(kt))};static#t=this.\u0275prov=q({token:t,factory:t.\u0275fac,providedIn:"platform"})}return t})(),ao=null;const hM=new j("");function fM(t,n,e=[]){const i=`Platform: ${n}`,r=new j(i);return(o=[])=>{let s=_b();if(!s||s.injector.get(hM,!1)){const a=[...e,...o,{provide:r,useValue:!0}];t?t(a):function Z3(t){if(ao&&!ao.get(hM,!1))throw new V(400,!1);(function oM(){!function Jm(t){$d=t}(()=>{throw new V(600,!1)})})(),ao=t;const n=t.get(uM);(function pM(t){t.get(gE,null)?.forEach(e=>e())})(t)}(function mM(t=[],n){return kt.create({name:n,providers:[{provide:kp,useValue:"platform"},{provide:gb,useValue:new Set([()=>ao=null])},...t]})}(a,i))}return function K3(t){const n=_b();if(!n)throw new V(401,!1);return n}()}}function _b(){return ao?.get(uM)??null}let yi=(()=>{class t{static#e=this.__NG_ELEMENT_ID__=t8}return t})();function t8(t){return function n8(t,n,e){if(Vo(t)&&!e){const i=si(t.index,n);return new Kc(i,i)}return 47&t.type?new Kc(n[Nt],n):null}(lt(),B(),!(16&~t))}class yM{constructor(){}supports(n){return hh(n)}create(n){return new a8(n)}}const s8=(t,n)=>n;class a8{constructor(n){this.length=0,this._linkedRecords=null,this._unlinkedRecords=null,this._previousItHead=null,this._itHead=null,this._itTail=null,this._additionsHead=null,this._additionsTail=null,this._movesHead=null,this._movesTail=null,this._removalsHead=null,this._removalsTail=null,this._identityChangesHead=null,this._identityChangesTail=null,this._trackByFn=n||s8}forEachItem(n){let e;for(e=this._itHead;null!==e;e=e._next)n(e)}forEachOperation(n){let e=this._itHead,i=this._removalsHead,r=0,o=null;for(;e||i;){const s=!i||e&&e.currentIndex{s=this._trackByFn(r,a),null!==e&&Object.is(e.trackById,s)?(i&&(e=this._verifyReinsertion(e,a,s,r)),Object.is(e.item,a)||this._addIdentityChange(e,a)):(e=this._mismatch(e,a,s,r),i=!0),e=e._next,r++}),this.length=r;return this._truncate(e),this.collection=n,this.isDirty}get isDirty(){return null!==this._additionsHead||null!==this._movesHead||null!==this._removalsHead||null!==this._identityChangesHead}_reset(){if(this.isDirty){let n;for(n=this._previousItHead=this._itHead;null!==n;n=n._next)n._nextPrevious=n._next;for(n=this._additionsHead;null!==n;n=n._nextAdded)n.previousIndex=n.currentIndex;for(this._additionsHead=this._additionsTail=null,n=this._movesHead;null!==n;n=n._nextMoved)n.previousIndex=n.currentIndex;this._movesHead=this._movesTail=null,this._removalsHead=this._removalsTail=null,this._identityChangesHead=this._identityChangesTail=null}}_mismatch(n,e,i,r){let o;return null===n?o=this._itTail:(o=n._prev,this._remove(n)),null!==(n=null===this._unlinkedRecords?null:this._unlinkedRecords.get(i,null))?(Object.is(n.item,e)||this._addIdentityChange(n,e),this._reinsertAfter(n,o,r)):null!==(n=null===this._linkedRecords?null:this._linkedRecords.get(i,r))?(Object.is(n.item,e)||this._addIdentityChange(n,e),this._moveAfter(n,o,r)):n=this._addAfter(new c8(e,i),o,r),n}_verifyReinsertion(n,e,i,r){let o=null===this._unlinkedRecords?null:this._unlinkedRecords.get(i,null);return null!==o?n=this._reinsertAfter(o,n._prev,r):n.currentIndex!=r&&(n.currentIndex=r,this._addToMoves(n,r)),n}_truncate(n){for(;null!==n;){const e=n._next;this._addToRemovals(this._unlink(n)),n=e}null!==this._unlinkedRecords&&this._unlinkedRecords.clear(),null!==this._additionsTail&&(this._additionsTail._nextAdded=null),null!==this._movesTail&&(this._movesTail._nextMoved=null),null!==this._itTail&&(this._itTail._next=null),null!==this._removalsTail&&(this._removalsTail._nextRemoved=null),null!==this._identityChangesTail&&(this._identityChangesTail._nextIdentityChange=null)}_reinsertAfter(n,e,i){null!==this._unlinkedRecords&&this._unlinkedRecords.remove(n);const r=n._prevRemoved,o=n._nextRemoved;return null===r?this._removalsHead=o:r._nextRemoved=o,null===o?this._removalsTail=r:o._prevRemoved=r,this._insertAfter(n,e,i),this._addToMoves(n,i),n}_moveAfter(n,e,i){return this._unlink(n),this._insertAfter(n,e,i),this._addToMoves(n,i),n}_addAfter(n,e,i){return this._insertAfter(n,e,i),this._additionsTail=null===this._additionsTail?this._additionsHead=n:this._additionsTail._nextAdded=n,n}_insertAfter(n,e,i){const r=null===e?this._itHead:e._next;return n._next=r,n._prev=e,null===r?this._itTail=n:r._prev=n,null===e?this._itHead=n:e._next=n,null===this._linkedRecords&&(this._linkedRecords=new AM),this._linkedRecords.put(n),n.currentIndex=i,n}_remove(n){return this._addToRemovals(this._unlink(n))}_unlink(n){null!==this._linkedRecords&&this._linkedRecords.remove(n);const e=n._prev,i=n._next;return null===e?this._itHead=i:e._next=i,null===i?this._itTail=e:i._prev=e,n}_addToMoves(n,e){return n.previousIndex===e||(this._movesTail=null===this._movesTail?this._movesHead=n:this._movesTail._nextMoved=n),n}_addToRemovals(n){return null===this._unlinkedRecords&&(this._unlinkedRecords=new AM),this._unlinkedRecords.put(n),n.currentIndex=null,n._nextRemoved=null,null===this._removalsTail?(this._removalsTail=this._removalsHead=n,n._prevRemoved=null):(n._prevRemoved=this._removalsTail,this._removalsTail=this._removalsTail._nextRemoved=n),n}_addIdentityChange(n,e){return n.item=e,this._identityChangesTail=null===this._identityChangesTail?this._identityChangesHead=n:this._identityChangesTail._nextIdentityChange=n,n}}class c8{constructor(n,e){this.item=n,this.trackById=e,this.currentIndex=null,this.previousIndex=null,this._nextPrevious=null,this._prev=null,this._next=null,this._prevDup=null,this._nextDup=null,this._prevRemoved=null,this._nextRemoved=null,this._nextAdded=null,this._nextMoved=null,this._nextIdentityChange=null}}class l8{constructor(){this._head=null,this._tail=null}add(n){null===this._head?(this._head=this._tail=n,n._nextDup=null,n._prevDup=null):(this._tail._nextDup=n,n._prevDup=this._tail,n._nextDup=null,this._tail=n)}get(n,e){let i;for(i=this._head;null!==i;i=i._nextDup)if((null===e||e<=i.currentIndex)&&Object.is(i.trackById,n))return i;return null}remove(n){const e=n._prevDup,i=n._nextDup;return null===e?this._head=i:e._nextDup=i,null===i?this._tail=e:i._prevDup=e,null===this._head}}class AM{constructor(){this.map=new Map}put(n){const e=n.trackById;let i=this.map.get(e);i||(i=new l8,this.map.set(e,i)),i.add(n)}get(n,e){const r=this.map.get(n);return r?r.get(n,e):null}remove(n){const e=n.trackById;return this.map.get(e).remove(n)&&this.map.delete(e),n}get isEmpty(){return 0===this.map.size}clear(){this.map.clear()}}function xM(t,n,e){const i=t.previousIndex;if(null===i)return i;let r=0;return e&&i{class t{static#e=this.\u0275prov=q({token:t,providedIn:"root",factory:wM});constructor(e){this.factories=e}static create(e,i){if(null!=i){const r=i.factories.slice();e=e.concat(r)}return new t(e)}static extend(e){return{provide:t,useFactory:i=>t.create(e,i||wM()),deps:[[t,new su,new Gs]]}}find(e){const i=this.factories.find(r=>r.supports(e));if(null!=i)return i;throw new V(901,!1)}}return t})();const m8=fM(null,"core",[]);let p8=(()=>{class t{constructor(e){}static#e=this.\u0275fac=function(i){return new(i||t)(R(Dr))};static#t=this.\u0275mod=Oe({type:t});static#n=this.\u0275inj=Re({})}return t})();function Je(t){return"boolean"==typeof t?t:null!=t&&"false"!==t}function ts(t,n=NaN){return isNaN(parseFloat(t))||isNaN(Number(t))?n:Number(t)}function XM(t){const n=b(null);try{return t()}finally{b(n)}}let qM=null;function co(){return qM}class Z8{}const Ve=new j("");let YM=(()=>{class t{historyGo(e){throw new Error("")}static#e=this.\u0275fac=function(i){return new(i||t)};static#t=this.\u0275prov=q({token:t,factory:()=>ne(K8),providedIn:"platform"})}return t})(),K8=(()=>{class t extends YM{constructor(){super(),this._doc=ne(Ve),this._location=window.location,this._history=window.history}getBaseHrefFromDOM(){return co().getBaseHref(this._doc)}onPopState(e){const i=co().getGlobalEventTarget(this._doc,"window");return i.addEventListener("popstate",e,!1),()=>i.removeEventListener("popstate",e)}onHashChange(e){const i=co().getGlobalEventTarget(this._doc,"window");return i.addEventListener("hashchange",e,!1),()=>i.removeEventListener("hashchange",e)}get href(){return this._location.href}get protocol(){return this._location.protocol}get hostname(){return this._location.hostname}get port(){return this._location.port}get pathname(){return this._location.pathname}get search(){return this._location.search}get hash(){return this._location.hash}set pathname(e){this._location.pathname=e}pushState(e,i,r){this._history.pushState(e,i,r)}replaceState(e,i,r){this._history.replaceState(e,i,r)}forward(){this._history.forward()}back(){this._history.back()}historyGo(e=0){this._history.go(e)}getState(){return this._history.state}static#e=this.\u0275fac=function(i){return new(i||t)};static#t=this.\u0275prov=q({token:t,factory:()=>new t,providedIn:"platform"})}return t})();function QM(t,n){if(0==t.length)return n;if(0==n.length)return t;let e=0;return t.endsWith("/")&&e++,n.startsWith("/")&&e++,2==e?t+n.substring(1):1==e?t+n:t+"/"+n}function ZM(t){const n=t.match(/#|\?|$/),e=n&&n.index||t.length;return t.slice(0,e-("/"===t[e-1]?1:0))+t.slice(e)}function ns(t){return t&&"?"!==t[0]?"?"+t:t}let Sb=(()=>{class t{historyGo(e){throw new Error("")}static#e=this.\u0275fac=function(i){return new(i||t)};static#t=this.\u0275prov=q({token:t,factory:()=>ne(eG),providedIn:"root"})}return t})();const J8=new j("");let eG=(()=>{class t extends Sb{constructor(e,i){super(),this._platformLocation=e,this._removeListenerFns=[],this._baseHref=i??this._platformLocation.getBaseHrefFromDOM()??ne(Ve).location?.origin??""}ngOnDestroy(){for(;this._removeListenerFns.length;)this._removeListenerFns.pop()()}onPopState(e){this._removeListenerFns.push(this._platformLocation.onPopState(e),this._platformLocation.onHashChange(e))}getBaseHref(){return this._baseHref}prepareExternalUrl(e){return QM(this._baseHref,e)}path(e=!1){const i=this._platformLocation.pathname+ns(this._platformLocation.search),r=this._platformLocation.hash;return r&&e?`${i}${r}`:i}pushState(e,i,r,o){const s=this.prepareExternalUrl(r+ns(o));this._platformLocation.pushState(e,i,s)}replaceState(e,i,r,o){const s=this.prepareExternalUrl(r+ns(o));this._platformLocation.replaceState(e,i,s)}forward(){this._platformLocation.forward()}back(){this._platformLocation.back()}getState(){return this._platformLocation.getState()}historyGo(e=0){this._platformLocation.historyGo?.(e)}static#e=this.\u0275fac=function(i){return new(i||t)(R(YM),R(J8,8))};static#t=this.\u0275prov=q({token:t,factory:t.\u0275fac,providedIn:"root"})}return t})(),Db=(()=>{class t{constructor(e){this._subject=new Te,this._urlChangeListeners=[],this._urlChangeSubscription=null,this._locationStrategy=e;const i=this._locationStrategy.getBaseHref();this._basePath=function iG(t){if(new RegExp("^(https?:)?//").test(t)){const[,e]=t.split(/\/\/[^\/]+/);return e}return t}(ZM(KM(i))),this._locationStrategy.onPopState(r=>{this._subject.emit({url:this.path(!0),pop:!0,state:r.state,type:r.type})})}ngOnDestroy(){this._urlChangeSubscription?.unsubscribe(),this._urlChangeListeners=[]}path(e=!1){return this.normalize(this._locationStrategy.path(e))}getState(){return this._locationStrategy.getState()}isCurrentPathEqualTo(e,i=""){return this.path()==this.normalize(e+ns(i))}normalize(e){return t.stripTrailingSlash(function nG(t,n){if(!t||!n.startsWith(t))return n;const e=n.substring(t.length);return""===e||["/",";","?","#"].includes(e[0])?e:n}(this._basePath,KM(e)))}prepareExternalUrl(e){return e&&"/"!==e[0]&&(e="/"+e),this._locationStrategy.prepareExternalUrl(e)}go(e,i="",r=null){this._locationStrategy.pushState(r,"",e,i),this._notifyUrlChangeListeners(this.prepareExternalUrl(e+ns(i)),r)}replaceState(e,i="",r=null){this._locationStrategy.replaceState(r,"",e,i),this._notifyUrlChangeListeners(this.prepareExternalUrl(e+ns(i)),r)}forward(){this._locationStrategy.forward()}back(){this._locationStrategy.back()}historyGo(e=0){this._locationStrategy.historyGo?.(e)}onUrlChange(e){return this._urlChangeListeners.push(e),this._urlChangeSubscription??=this.subscribe(i=>{this._notifyUrlChangeListeners(i.url,i.state)}),()=>{const i=this._urlChangeListeners.indexOf(e);this._urlChangeListeners.splice(i,1),0===this._urlChangeListeners.length&&(this._urlChangeSubscription?.unsubscribe(),this._urlChangeSubscription=null)}}_notifyUrlChangeListeners(e="",i){this._urlChangeListeners.forEach(r=>r(e,i))}subscribe(e,i,r){return this._subject.subscribe({next:e,error:i,complete:r})}static#e=this.normalizeQueryParams=ns;static#t=this.joinWithSlash=QM;static#n=this.stripTrailingSlash=ZM;static#i=this.\u0275fac=function(i){return new(i||t)(R(Sb))};static#r=this.\u0275prov=q({token:t,factory:()=>function tG(){return new Db(R(Sb))}(),providedIn:"root"})}return t})();function KM(t){return t.replace(/\/index.html$/,"")}var Hh=function(t){return t[t.Decimal=0]="Decimal",t[t.Percent=1]="Percent",t[t.Currency=2]="Currency",t[t.Scientific=3]="Scientific",t}(Hh||{}),Hn=function(t){return t[t.Format=0]="Format",t[t.Standalone=1]="Standalone",t}(Hn||{}),gt=function(t){return t[t.Narrow=0]="Narrow",t[t.Abbreviated=1]="Abbreviated",t[t.Wide=2]="Wide",t[t.Short=3]="Short",t}(gt||{}),ui=function(t){return t[t.Short=0]="Short",t[t.Medium=1]="Medium",t[t.Long=2]="Long",t[t.Full=3]="Full",t}(ui||{});const Yt={Decimal:0,Group:1,List:2,PercentSign:3,PlusSign:4,MinusSign:5,Exponential:6,SuperscriptingExponent:7,PerMille:8,Infinity:9,NaN:10,TimeSeparator:11,CurrencyDecimal:12,CurrencyGroup:13};function jh(t,n){return xi(Bn(t)[yt.DateFormat],n)}function Uh(t,n){return xi(Bn(t)[yt.TimeFormat],n)}function zh(t,n){return xi(Bn(t)[yt.DateTimeFormat],n)}function Ai(t,n){const e=Bn(t),i=e[yt.NumberSymbols][n];if(typeof i>"u"){if(n===Yt.CurrencyDecimal)return e[yt.NumberSymbols][Yt.Decimal];if(n===Yt.CurrencyGroup)return e[yt.NumberSymbols][Yt.Group]}return i}function eI(t){if(!t[yt.ExtraData])throw new Error(`Missing extra locale data for the locale "${t[yt.LocaleId]}". Use "registerLocaleData" to load new data. See the "I18n guide" on angular.io to know more.`)}function xi(t,n){for(let e=n;e>-1;e--)if(typeof t[e]<"u")return t[e];throw new Error("Locale data API: locale data undefined")}function Mb(t){const[n,e]=t.split(":");return{hours:+n,minutes:+e}}const _G=/^(\d{4,})-?(\d\d)-?(\d\d)(?:T(\d\d)(?::?(\d\d)(?::?(\d\d)(?:\.(\d+))?)?)?(Z|([+-])(\d\d):?(\d\d))?)?$/,Gh={},bG=/((?:[^BEGHLMOSWYZabcdhmswyz']+)|(?:'(?:[^']|'')*')|(?:G{1,5}|y{1,4}|Y{1,4}|M{1,5}|L{1,5}|w{1,2}|W{1}|d{1,2}|E{1,6}|c{1,6}|a{1,5}|b{1,5}|B{1,5}|h{1,2}|H{1,2}|m{1,2}|s{1,2}|S{1,3}|z{1,4}|Z{1,5}|O{1,4}))([\s\S]*)/;var Cr=function(t){return t[t.Short=0]="Short",t[t.ShortGMT=1]="ShortGMT",t[t.Long=2]="Long",t[t.Extended=3]="Extended",t}(Cr||{}),et=function(t){return t[t.FullYear=0]="FullYear",t[t.Month=1]="Month",t[t.Date=2]="Date",t[t.Hours=3]="Hours",t[t.Minutes=4]="Minutes",t[t.Seconds=5]="Seconds",t[t.FractionalSeconds=6]="FractionalSeconds",t[t.Day=7]="Day",t}(et||{}),tt=function(t){return t[t.DayPeriods=0]="DayPeriods",t[t.Days=1]="Days",t[t.Months=2]="Months",t[t.Eras=3]="Eras",t}(tt||{});function vG(t,n,e,i){let r=function MG(t){if(iI(t))return t;if("number"==typeof t&&!isNaN(t))return new Date(t);if("string"==typeof t){if(t=t.trim(),/^(\d{4}(-\d{1,2}(-\d{1,2})?)?)$/.test(t)){const[r,o=1,s=1]=t.split("-").map(a=>+a);return $h(r,o-1,s)}const e=parseFloat(t);if(!isNaN(t-e))return new Date(e);let i;if(i=t.match(_G))return function IG(t){const n=new Date(0);let e=0,i=0;const r=t[8]?n.setUTCFullYear:n.setFullYear,o=t[8]?n.setUTCHours:n.setHours;t[9]&&(e=Number(t[9]+t[10]),i=Number(t[9]+t[11])),r.call(n,Number(t[1]),Number(t[2])-1,Number(t[3]));const s=Number(t[4]||0)-e,a=Number(t[5]||0)-i,c=Number(t[6]||0),l=Math.floor(1e3*parseFloat("0."+(t[7]||0)));return o.call(n,s,a,c,l),n}(i)}const n=new Date(t);if(!iI(n))throw new Error(`Unable to convert "${t}" into a date`);return n}(t);n=Mr(e,n)||n;let a,s=[];for(;n;){if(a=bG.exec(n),!a){s.push(n);break}{s=s.concat(a.slice(1));const d=s.pop();if(!d)break;n=d}}let c=r.getTimezoneOffset();i&&(c=nI(i,c),r=function CG(t,n,e){const i=e?-1:1,r=t.getTimezoneOffset();return function DG(t,n){return(t=new Date(t.getTime())).setMinutes(t.getMinutes()+n),t}(t,i*(nI(n,r)-r))}(r,i,!0));let l="";return s.forEach(d=>{const u=function SG(t){if(Tb[t])return Tb[t];let n;switch(t){case"G":case"GG":case"GGG":n=At(tt.Eras,gt.Abbreviated);break;case"GGGG":n=At(tt.Eras,gt.Wide);break;case"GGGGG":n=At(tt.Eras,gt.Narrow);break;case"y":n=Qt(et.FullYear,1,0,!1,!0);break;case"yy":n=Qt(et.FullYear,2,0,!0,!0);break;case"yyy":n=Qt(et.FullYear,3,0,!1,!0);break;case"yyyy":n=Qt(et.FullYear,4,0,!1,!0);break;case"Y":n=Yh(1);break;case"YY":n=Yh(2,!0);break;case"YYY":n=Yh(3);break;case"YYYY":n=Yh(4);break;case"M":case"L":n=Qt(et.Month,1,1);break;case"MM":case"LL":n=Qt(et.Month,2,1);break;case"MMM":n=At(tt.Months,gt.Abbreviated);break;case"MMMM":n=At(tt.Months,gt.Wide);break;case"MMMMM":n=At(tt.Months,gt.Narrow);break;case"LLL":n=At(tt.Months,gt.Abbreviated,Hn.Standalone);break;case"LLLL":n=At(tt.Months,gt.Wide,Hn.Standalone);break;case"LLLLL":n=At(tt.Months,gt.Narrow,Hn.Standalone);break;case"w":n=Ib(1);break;case"ww":n=Ib(2);break;case"W":n=Ib(1,!0);break;case"d":n=Qt(et.Date,1);break;case"dd":n=Qt(et.Date,2);break;case"c":case"cc":n=Qt(et.Day,1);break;case"ccc":n=At(tt.Days,gt.Abbreviated,Hn.Standalone);break;case"cccc":n=At(tt.Days,gt.Wide,Hn.Standalone);break;case"ccccc":n=At(tt.Days,gt.Narrow,Hn.Standalone);break;case"cccccc":n=At(tt.Days,gt.Short,Hn.Standalone);break;case"E":case"EE":case"EEE":n=At(tt.Days,gt.Abbreviated);break;case"EEEE":n=At(tt.Days,gt.Wide);break;case"EEEEE":n=At(tt.Days,gt.Narrow);break;case"EEEEEE":n=At(tt.Days,gt.Short);break;case"a":case"aa":case"aaa":n=At(tt.DayPeriods,gt.Abbreviated);break;case"aaaa":n=At(tt.DayPeriods,gt.Wide);break;case"aaaaa":n=At(tt.DayPeriods,gt.Narrow);break;case"b":case"bb":case"bbb":n=At(tt.DayPeriods,gt.Abbreviated,Hn.Standalone,!0);break;case"bbbb":n=At(tt.DayPeriods,gt.Wide,Hn.Standalone,!0);break;case"bbbbb":n=At(tt.DayPeriods,gt.Narrow,Hn.Standalone,!0);break;case"B":case"BB":case"BBB":n=At(tt.DayPeriods,gt.Abbreviated,Hn.Format,!0);break;case"BBBB":n=At(tt.DayPeriods,gt.Wide,Hn.Format,!0);break;case"BBBBB":n=At(tt.DayPeriods,gt.Narrow,Hn.Format,!0);break;case"h":n=Qt(et.Hours,1,-12);break;case"hh":n=Qt(et.Hours,2,-12);break;case"H":n=Qt(et.Hours,1);break;case"HH":n=Qt(et.Hours,2);break;case"m":n=Qt(et.Minutes,1);break;case"mm":n=Qt(et.Minutes,2);break;case"s":n=Qt(et.Seconds,1);break;case"ss":n=Qt(et.Seconds,2);break;case"S":n=Qt(et.FractionalSeconds,1);break;case"SS":n=Qt(et.FractionalSeconds,2);break;case"SSS":n=Qt(et.FractionalSeconds,3);break;case"Z":case"ZZ":case"ZZZ":n=Xh(Cr.Short);break;case"ZZZZZ":n=Xh(Cr.Extended);break;case"O":case"OO":case"OOO":case"z":case"zz":case"zzz":n=Xh(Cr.ShortGMT);break;case"OOOO":case"ZZZZ":case"zzzz":n=Xh(Cr.Long);break;default:return null}return Tb[t]=n,n}(d);l+=u?u(r,e,c):"''"===d?"'":d.replace(/(^'|'$)/g,"").replace(/''/g,"'")}),l}function $h(t,n,e){const i=new Date(0);return i.setFullYear(t,n,e),i.setHours(0,0,0),i}function Mr(t,n){const e=function oG(t){return Bn(t)[yt.LocaleId]}(t);if(Gh[e]??={},Gh[e][n])return Gh[e][n];let i="";switch(n){case"shortDate":i=jh(t,ui.Short);break;case"mediumDate":i=jh(t,ui.Medium);break;case"longDate":i=jh(t,ui.Long);break;case"fullDate":i=jh(t,ui.Full);break;case"shortTime":i=Uh(t,ui.Short);break;case"mediumTime":i=Uh(t,ui.Medium);break;case"longTime":i=Uh(t,ui.Long);break;case"fullTime":i=Uh(t,ui.Full);break;case"short":const r=Mr(t,"shortTime"),o=Mr(t,"shortDate");i=Wh(zh(t,ui.Short),[r,o]);break;case"medium":const s=Mr(t,"mediumTime"),a=Mr(t,"mediumDate");i=Wh(zh(t,ui.Medium),[s,a]);break;case"long":const c=Mr(t,"longTime"),l=Mr(t,"longDate");i=Wh(zh(t,ui.Long),[c,l]);break;case"full":const d=Mr(t,"fullTime"),u=Mr(t,"fullDate");i=Wh(zh(t,ui.Full),[d,u])}return i&&(Gh[e][n]=i),i}function Wh(t,n){return n&&(t=t.replace(/\{([^}]+)}/g,function(e,i){return null!=n&&i in n?n[i]:e})),t}function Bi(t,n,e="-",i,r){let o="";(t<0||r&&t<=0)&&(r?t=1-t:(t=-t,o=e));let s=String(t);for(;s.length0||a>-e)&&(a+=e),t===et.Hours)0===a&&-12===e&&(a=12);else if(t===et.FractionalSeconds)return function yG(t,n){return Bi(t,3).substring(0,n)}(a,n);const c=Ai(s,Yt.MinusSign);return Bi(a,n,c,i,r)}}function At(t,n,e=Hn.Format,i=!1){return function(r,o){return function xG(t,n,e,i,r,o){switch(e){case tt.Months:return function cG(t,n,e){const i=Bn(t),o=xi([i[yt.MonthsFormat],i[yt.MonthsStandalone]],n);return xi(o,e)}(n,r,i)[t.getMonth()];case tt.Days:return function aG(t,n,e){const i=Bn(t),o=xi([i[yt.DaysFormat],i[yt.DaysStandalone]],n);return xi(o,e)}(n,r,i)[t.getDay()];case tt.DayPeriods:const s=t.getHours(),a=t.getMinutes();if(o){const l=function hG(t){const n=Bn(t);return eI(n),(n[yt.ExtraData][2]||[]).map(i=>"string"==typeof i?Mb(i):[Mb(i[0]),Mb(i[1])])}(n),d=function fG(t,n,e){const i=Bn(t);eI(i);const o=xi([i[yt.ExtraData][0],i[yt.ExtraData][1]],n)||[];return xi(o,e)||[]}(n,r,i),u=l.findIndex(h=>{if(Array.isArray(h)){const[f,p]=h,g=s>=f.hours&&a>=f.minutes,_=s0?Math.floor(r/60):Math.ceil(r/60);switch(t){case Cr.Short:return(r>=0?"+":"")+Bi(s,2,o)+Bi(Math.abs(r%60),2,o);case Cr.ShortGMT:return"GMT"+(r>=0?"+":"")+Bi(s,1,o);case Cr.Long:return"GMT"+(r>=0?"+":"")+Bi(s,2,o)+":"+Bi(Math.abs(r%60),2,o);case Cr.Extended:return 0===i?"Z":(r>=0?"+":"")+Bi(s,2,o)+":"+Bi(Math.abs(r%60),2,o);default:throw new Error(`Unknown zone width "${t}"`)}}}const EG=0,qh=4;function tI(t){const n=t.getDay(),e=0===n?-3:qh-n;return $h(t.getFullYear(),t.getMonth(),t.getDate()+e)}function Ib(t,n=!1){return function(e,i){let r;if(n){const o=new Date(e.getFullYear(),e.getMonth(),1).getDay()-1,s=e.getDate();r=1+Math.floor((s+o)/7)}else{const o=tI(e),s=function wG(t){const n=$h(t,EG,1).getDay();return $h(t,0,1+(n<=qh?qh:qh+7)-n)}(o.getFullYear()),a=o.getTime()-s.getTime();r=1+Math.round(a/6048e5)}return Bi(r,t,Ai(i,Yt.MinusSign))}}function Yh(t,n=!1){return function(e,i){return Bi(tI(e).getFullYear(),t,Ai(i,Yt.MinusSign),n)}}const Tb={};function nI(t,n){t=t.replace(/:/g,"");const e=Date.parse("Jan 01, 1970 00:00:00 "+t)/6e4;return isNaN(e)?n:e}function iI(t){return t instanceof Date&&!isNaN(t.valueOf())}const TG=/^(\d+)?\.((\d+)(-(\d+))?)?$/;function Ob(t){const n=parseInt(t);if(isNaN(n))throw new Error("Invalid integer literal when parsing "+t);return n}const Pb=/\s+/,aI=[];let cI=(()=>{class t{constructor(e,i){this._ngEl=e,this._renderer=i,this.initialClasses=aI,this.stateMap=new Map}set klass(e){this.initialClasses=null!=e?e.trim().split(Pb):aI}set ngClass(e){this.rawClass="string"==typeof e?e.trim().split(Pb):e}ngDoCheck(){for(const i of this.initialClasses)this._updateState(i,!0);const e=this.rawClass;if(Array.isArray(e)||e instanceof Set)for(const i of e)this._updateState(i,!0);else if(null!=e)for(const i of Object.keys(e))this._updateState(i,!!e[i]);this._applyStateDiff()}_updateState(e,i){const r=this.stateMap.get(e);void 0!==r?(r.enabled!==i&&(r.changed=!0,r.enabled=i),r.touched=!0):this.stateMap.set(e,{enabled:i,changed:!0,touched:!0})}_applyStateDiff(){for(const e of this.stateMap){const i=e[0],r=e[1];r.changed?(this._toggleClass(i,r.enabled),r.changed=!1):r.touched||(r.enabled&&this._toggleClass(i,!1),this.stateMap.delete(i)),r.touched=!1}}_toggleClass(e,i){(e=e.trim()).length>0&&e.split(Pb).forEach(r=>{i?this._renderer.addClass(this._ngEl.nativeElement,r):this._renderer.removeClass(this._ngEl.nativeElement,r)})}static#e=this.\u0275fac=function(i){return new(i||t)(C(Ne),C($o))};static#t=this.\u0275dir=J({type:t,selectors:[["","ngClass",""]],inputs:{klass:[X.None,"class","klass"],ngClass:"ngClass"},standalone:!0})}return t})();class zG{constructor(n,e,i,r){this.$implicit=n,this.ngForOf=e,this.index=i,this.count=r}get first(){return 0===this.index}get last(){return this.index===this.count-1}get even(){return this.index%2==0}get odd(){return!this.even}}let dI=(()=>{class t{set ngForOf(e){this._ngForOf=e,this._ngForOfDirty=!0}set ngForTrackBy(e){this._trackByFn=e}get ngForTrackBy(){return this._trackByFn}constructor(e,i,r){this._viewContainer=e,this._template=i,this._differs=r,this._ngForOf=null,this._ngForOfDirty=!0,this._differ=null}set ngForTemplate(e){e&&(this._template=e)}ngDoCheck(){if(this._ngForOfDirty){this._ngForOfDirty=!1;const e=this._ngForOf;!this._differ&&e&&(this._differ=this._differs.find(e).create(this.ngForTrackBy))}if(this._differ){const e=this._differ.diff(this._ngForOf);e&&this._applyChanges(e)}}_applyChanges(e){const i=this._viewContainer;e.forEachOperation((r,o,s)=>{if(null==r.previousIndex)i.createEmbeddedView(this._template,new zG(r.item,this._ngForOf,-1,-1),null===s?void 0:s);else if(null==s)i.remove(null===o?void 0:o);else if(null!==o){const a=i.get(o);i.move(a,s),uI(a,r)}});for(let r=0,o=i.length;r{uI(i.get(r.currentIndex),r)})}static ngTemplateContextGuard(e,i){return!0}static#e=this.\u0275fac=function(i){return new(i||t)(C(_i),C(gi),C(xb))};static#t=this.\u0275dir=J({type:t,selectors:[["","ngFor","","ngForOf",""]],inputs:{ngForOf:"ngForOf",ngForTrackBy:"ngForTrackBy",ngForTemplate:"ngForTemplate"},standalone:!0})}return t})();function uI(t,n){t.context.$implicit=n.item}let Zh=(()=>{class t{constructor(e,i){this._viewContainer=e,this._context=new GG,this._thenTemplateRef=null,this._elseTemplateRef=null,this._thenViewRef=null,this._elseViewRef=null,this._thenTemplateRef=i}set ngIf(e){this._context.$implicit=this._context.ngIf=e,this._updateView()}set ngIfThen(e){hI("ngIfThen",e),this._thenTemplateRef=e,this._thenViewRef=null,this._updateView()}set ngIfElse(e){hI("ngIfElse",e),this._elseTemplateRef=e,this._elseViewRef=null,this._updateView()}_updateView(){this._context.$implicit?this._thenViewRef||(this._viewContainer.clear(),this._elseViewRef=null,this._thenTemplateRef&&(this._thenViewRef=this._viewContainer.createEmbeddedView(this._thenTemplateRef,this._context))):this._elseViewRef||(this._viewContainer.clear(),this._thenViewRef=null,this._elseTemplateRef&&(this._elseViewRef=this._viewContainer.createEmbeddedView(this._elseTemplateRef,this._context)))}static ngTemplateContextGuard(e,i){return!0}static#e=this.\u0275fac=function(i){return new(i||t)(C(_i),C(gi))};static#t=this.\u0275dir=J({type:t,selectors:[["","ngIf",""]],inputs:{ngIf:"ngIf",ngIfThen:"ngIfThen",ngIfElse:"ngIfElse"},standalone:!0})}return t})();class GG{constructor(){this.$implicit=null,this.ngIf=null}}function hI(t,n){if(n&&!n.createEmbeddedView)throw new Error(`${t} must be a TemplateRef, but received '${rn(n)}'.`)}let Vb=(()=>{class t{constructor(e){this._viewContainerRef=e,this._viewRef=null,this.ngTemplateOutletContext=null,this.ngTemplateOutlet=null,this.ngTemplateOutletInjector=null}ngOnChanges(e){if(this._shouldRecreateView(e)){const i=this._viewContainerRef;if(this._viewRef&&i.remove(i.indexOf(this._viewRef)),!this.ngTemplateOutlet)return void(this._viewRef=null);const r=this._createContextForwardProxy();this._viewRef=i.createEmbeddedView(this.ngTemplateOutlet,r,{injector:this.ngTemplateOutletInjector??void 0})}}_shouldRecreateView(e){return!!e.ngTemplateOutlet||!!e.ngTemplateOutletInjector}_createContextForwardProxy(){return new Proxy({},{set:(e,i,r)=>!!this.ngTemplateOutletContext&&Reflect.set(this.ngTemplateOutletContext,i,r),get:(e,i,r)=>{if(this.ngTemplateOutletContext)return Reflect.get(this.ngTemplateOutletContext,i,r)}})}static#e=this.\u0275fac=function(i){return new(i||t)(C(_i))};static#t=this.\u0275dir=J({type:t,selectors:[["","ngTemplateOutlet",""]],inputs:{ngTemplateOutletContext:"ngTemplateOutletContext",ngTemplateOutlet:"ngTemplateOutlet",ngTemplateOutletInjector:"ngTemplateOutletInjector"},standalone:!0,features:[Sn]})}return t})();function Vi(t,n){return new V(2100,!1)}class QG{createSubscription(n,e){return XM(()=>n.subscribe({next:e,error:i=>{throw i}}))}dispose(n){XM(()=>n.unsubscribe())}}class ZG{createSubscription(n,e){return n.then(e,i=>{throw i})}dispose(n){}}const KG=new ZG,JG=new QG;let Kh=(()=>{class t{constructor(e){this._latestValue=null,this.markForCheckOnValueUpdate=!0,this._subscription=null,this._obj=null,this._strategy=null,this._ref=e}ngOnDestroy(){this._subscription&&this._dispose(),this._ref=null}transform(e){if(!this._obj){if(e)try{this.markForCheckOnValueUpdate=!1,this._subscribe(e)}finally{this.markForCheckOnValueUpdate=!0}return this._latestValue}return e!==this._obj?(this._dispose(),this.transform(e)):this._latestValue}_subscribe(e){this._obj=e,this._strategy=this._selectStrategy(e),this._subscription=this._strategy.createSubscription(e,i=>this._updateLatestValue(e,i))}_selectStrategy(e){if(Ih(e))return KG;if(nM(e))return JG;throw Vi()}_dispose(){this._strategy.dispose(this._subscription),this._latestValue=null,this._subscription=null,this._obj=null}_updateLatestValue(e,i){e===this._obj&&(this._latestValue=i,this.markForCheckOnValueUpdate&&this._ref?.markForCheck())}static#e=this.\u0275fac=function(i){return new(i||t)(C(yi,16))};static#t=this.\u0275pipe=un({name:"async",type:t,pure:!1,standalone:!0})}return t})();const o$=new j(""),s$=new j("");let mI=(()=>{class t{constructor(e,i,r){this.locale=e,this.defaultTimezone=i,this.defaultOptions=r}transform(e,i,r,o){if(null==e||""===e||e!=e)return null;try{return vG(e,i??this.defaultOptions?.dateFormat??"mediumDate",o||this.locale,r??this.defaultOptions?.timezone??this.defaultTimezone??void 0)}catch(s){throw Vi()}}static#e=this.\u0275fac=function(i){return new(i||t)(C(rr,16),C(o$,24),C(s$,24))};static#t=this.\u0275pipe=un({name:"date",type:t,pure:!0,standalone:!0})}return t})(),gI=(()=>{class t{constructor(e){this._locale=e}transform(e,i,r){if(!function Hb(t){return!(null==t||""===t||t!=t)}(e))return null;r||=this._locale;try{return function PG(t,n,e){return function Rb(t,n,e,i,r,o,s=!1){let a="",c=!1;if(isFinite(t)){let l=function BG(t){let i,r,o,s,a,n=Math.abs(t)+"",e=0;for((r=n.indexOf("."))>-1&&(n=n.replace(".","")),(o=n.search(/e/i))>0?(r<0&&(r=o),r+=+n.slice(o+1),n=n.substring(0,o)):r<0&&(r=n.length),o=0;"0"===n.charAt(o);o++);if(o===(a=n.length))i=[0],r=1;else{for(a--;"0"===n.charAt(a);)a--;for(r-=o,i=[],s=0;o<=a;o++,s++)i[s]=Number(n.charAt(o))}return r>22&&(i=i.splice(0,21),e=r-1,r=1),{digits:i,exponent:e,integerLen:r}}(t);s&&(l=function LG(t){if(0===t.digits[0])return t;const n=t.digits.length-t.integerLen;return t.exponent?t.exponent+=2:(0===n?t.digits.push(0,0):1===n&&t.digits.push(0),t.integerLen+=2),t}(l));let d=n.minInt,u=n.minFrac,h=n.maxFrac;if(o){const y=o.match(TG);if(null===y)throw new Error(`${o} is not a valid digit info`);const k=y[1],F=y[3],O=y[5];null!=k&&(d=Ob(k)),null!=F&&(u=Ob(F)),null!=O?h=Ob(O):null!=F&&u>h&&(h=u)}!function VG(t,n,e){if(n>e)throw new Error(`The minimum number of digits after fraction (${n}) is higher than the maximum (${e}).`);let i=t.digits,r=i.length-t.integerLen;const o=Math.min(Math.max(n,r),e);let s=o+t.integerLen,a=i[s];if(s>0){i.splice(Math.max(t.integerLen,s));for(let u=s;u=5)if(s-1<0){for(let u=0;u>s;u--)i.unshift(0),t.integerLen++;i.unshift(1),t.integerLen++}else i[s-1]++;for(;r=l?p.pop():c=!1),h>=10?1:0},0);d&&(i.unshift(d),t.integerLen++)}(l,u,h);let f=l.digits,p=l.integerLen;const g=l.exponent;let _=[];for(c=f.every(y=>!y);p0?_=f.splice(p,f.length):(_=f,f=[0]);const x=[];for(f.length>=n.lgSize&&x.unshift(f.splice(-n.lgSize,f.length).join(""));f.length>n.gSize;)x.unshift(f.splice(-n.gSize,f.length).join(""));f.length&&x.unshift(f.join("")),a=x.join(Ai(e,i)),_.length&&(a+=Ai(e,r)+_.join("")),g&&(a+=Ai(e,Yt.Exponential)+"+"+g)}else a=Ai(e,Yt.Infinity);return a=t<0&&!c?n.negPre+a+n.negSuf:n.posPre+a+n.posSuf,a}(t,function Fb(t,n="-"){const e={minInt:1,minFrac:0,maxFrac:0,posPre:"",posSuf:"",negPre:"",negSuf:"",gSize:0,lgSize:0},i=t.split(";"),r=i[0],o=i[1],s=-1!==r.indexOf(".")?r.split("."):[r.substring(0,r.lastIndexOf("0")+1),r.substring(r.lastIndexOf("0")+1)],a=s[0],c=s[1]||"";e.posPre=a.substring(0,a.indexOf("#"));for(let d=0;d{class t{static#e=this.\u0275fac=function(i){return new(i||t)};static#t=this.\u0275mod=Oe({type:t});static#n=this.\u0275inj=Re({})}return t})();const _I="browser";function Ub(t){return t===_I}function bI(t){return"server"===t}class X$ extends Z8{constructor(){super(...arguments),this.supportsDOMEvents=!0}}class Gb extends X${static makeCurrent(){!function Q8(t){qM??=t}(new Gb)}onAndCancel(n,e,i){return n.addEventListener(e,i),()=>{n.removeEventListener(e,i)}}dispatchEvent(n,e){n.dispatchEvent(e)}remove(n){n.parentNode&&n.parentNode.removeChild(n)}createElement(n,e){return(e=e||this.getDefaultDocument()).createElement(n)}createHtmlDocument(){return document.implementation.createHTMLDocument("fakeTitle")}getDefaultDocument(){return document}isElementNode(n){return n.nodeType===Node.ELEMENT_NODE}isShadowRoot(n){return n instanceof DocumentFragment}getGlobalEventTarget(n,e){return"window"===e?window:"document"===e?n:"body"===e?n.body:null}getBaseHref(n){const e=function q$(){return Rl=Rl||document.querySelector("base"),Rl?Rl.getAttribute("href"):null}();return null==e?null:function Y$(t){return new URL(t,document.baseURI).pathname}(e)}resetBaseElement(){Rl=null}getUserAgent(){return window.navigator.userAgent}getCookie(n){return function jG(t,n){n=encodeURIComponent(n);for(const e of t.split(";")){const i=e.indexOf("="),[r,o]=-1==i?[e,""]:[e.slice(0,i),e.slice(i+1)];if(r.trim()===n)return decodeURIComponent(o)}return null}(document.cookie,n)}}let Rl=null,Z$=(()=>{class t{build(){return new XMLHttpRequest}static#e=this.\u0275fac=function(i){return new(i||t)};static#t=this.\u0275prov=q({token:t,factory:t.\u0275fac})}return t})();const $b=new j("");let CI=(()=>{class t{constructor(e,i){this._zone=i,this._eventNameToPlugin=new Map,e.forEach(r=>{r.manager=this}),this._plugins=e.slice().reverse()}addEventListener(e,i,r){return this._findPluginFor(i).addEventListener(e,i,r)}getZone(){return this._zone}_findPluginFor(e){let i=this._eventNameToPlugin.get(e);if(i)return i;if(i=this._plugins.find(o=>o.supports(e)),!i)throw new V(5101,!1);return this._eventNameToPlugin.set(e,i),i}static#e=this.\u0275fac=function(i){return new(i||t)(R($b),R(de))};static#t=this.\u0275prov=q({token:t,factory:t.\u0275fac})}return t})();class MI{constructor(n){this._doc=n}}const Wb="ng-app-id";let II=(()=>{class t{constructor(e,i,r,o={}){this.doc=e,this.appId=i,this.nonce=r,this.platformId=o,this.styleRef=new Map,this.hostNodes=new Set,this.styleNodesInDOM=this.collectServerRenderedStyles(),this.platformIsServer=bI(o),this.resetHostNodes()}addStyles(e){for(const i of e)1===this.changeUsageCount(i,1)&&this.onStyleAdded(i)}removeStyles(e){for(const i of e)this.changeUsageCount(i,-1)<=0&&this.onStyleRemoved(i)}ngOnDestroy(){const e=this.styleNodesInDOM;e&&(e.forEach(i=>i.remove()),e.clear());for(const i of this.getAllStyles())this.onStyleRemoved(i);this.resetHostNodes()}addHost(e){this.hostNodes.add(e);for(const i of this.getAllStyles())this.addStyleToHost(e,i)}removeHost(e){this.hostNodes.delete(e)}getAllStyles(){return this.styleRef.keys()}onStyleAdded(e){for(const i of this.hostNodes)this.addStyleToHost(i,e)}onStyleRemoved(e){const i=this.styleRef;i.get(e)?.elements?.forEach(r=>r.remove()),i.delete(e)}collectServerRenderedStyles(){const e=this.doc.head?.querySelectorAll(`style[${Wb}="${this.appId}"]`);if(e?.length){const i=new Map;return e.forEach(r=>{null!=r.textContent&&i.set(r.textContent,r)}),i}return null}changeUsageCount(e,i){const r=this.styleRef;if(r.has(e)){const o=r.get(e);return o.usage+=i,o.usage}return r.set(e,{usage:i,elements:[]}),i}getStyleElement(e,i){const r=this.styleNodesInDOM,o=r?.get(i);if(o?.parentNode===e)return r.delete(i),o.removeAttribute(Wb),o;{const s=this.doc.createElement("style");return this.nonce&&s.setAttribute("nonce",this.nonce),s.textContent=i,this.platformIsServer&&s.setAttribute(Wb,this.appId),e.appendChild(s),s}}addStyleToHost(e,i){const r=this.getStyleElement(e,i),o=this.styleRef,s=o.get(i)?.elements;s?s.push(r):o.set(i,{elements:[r],usage:1})}resetHostNodes(){const e=this.hostNodes;e.clear(),e.add(this.doc.head)}static#e=this.\u0275fac=function(i){return new(i||t)(R(Ve),R(Fu),R(gg,8),R(yr))};static#t=this.\u0275prov=q({token:t,factory:t.\u0275fac})}return t})();const Xb={svg:"http://www.w3.org/2000/svg",xhtml:"http://www.w3.org/1999/xhtml",xlink:"http://www.w3.org/1999/xlink",xml:"http://www.w3.org/XML/1998/namespace",xmlns:"http://www.w3.org/2000/xmlns/",math:"http://www.w3.org/1998/MathML/"},qb=/%COMP%/g,tW=new j("",{providedIn:"root",factory:()=>!0});function kI(t,n){return n.map(e=>e.replace(qb,t))}let Yb=(()=>{class t{constructor(e,i,r,o,s,a,c,l=null){this.eventManager=e,this.sharedStylesHost=i,this.appId=r,this.removeStylesOnCompDestroy=o,this.doc=s,this.platformId=a,this.ngZone=c,this.nonce=l,this.rendererByCompId=new Map,this.platformIsServer=bI(a),this.defaultRenderer=new Qb(e,s,c,this.platformIsServer)}createRenderer(e,i){if(!e||!i)return this.defaultRenderer;this.platformIsServer&&i.encapsulation===Ii.ShadowDom&&(i={...i,encapsulation:Ii.Emulated});const r=this.getOrCreateRenderer(e,i);return r instanceof FI?r.applyToHost(e):r instanceof Zb&&r.applyStyles(),r}getOrCreateRenderer(e,i){const r=this.rendererByCompId;let o=r.get(i.id);if(!o){const s=this.doc,a=this.ngZone,c=this.eventManager,l=this.sharedStylesHost,d=this.removeStylesOnCompDestroy,u=this.platformIsServer;switch(i.encapsulation){case Ii.Emulated:o=new FI(c,l,i,this.appId,d,s,a,u);break;case Ii.ShadowDom:return new oW(c,l,e,i,s,a,this.nonce,u);default:o=new Zb(c,l,i,d,s,a,u)}r.set(i.id,o)}return o}ngOnDestroy(){this.rendererByCompId.clear()}static#e=this.\u0275fac=function(i){return new(i||t)(R(CI),R(II),R(Fu),R(tW),R(Ve),R(yr),R(de),R(gg))};static#t=this.\u0275prov=q({token:t,factory:t.\u0275fac})}return t})();class Qb{constructor(n,e,i,r){this.eventManager=n,this.doc=e,this.ngZone=i,this.platformIsServer=r,this.data=Object.create(null),this.throwOnSyntheticProps=!0,this.destroyNode=null}destroy(){}createElement(n,e){return e?this.doc.createElementNS(Xb[e]||e,n):this.doc.createElement(n)}createComment(n){return this.doc.createComment(n)}createText(n){return this.doc.createTextNode(n)}appendChild(n,e){(RI(n)?n.content:n).appendChild(e)}insertBefore(n,e,i){n&&(RI(n)?n.content:n).insertBefore(e,i)}removeChild(n,e){n&&n.removeChild(e)}selectRootElement(n,e){let i="string"==typeof n?this.doc.querySelector(n):n;if(!i)throw new V(-5104,!1);return e||(i.textContent=""),i}parentNode(n){return n.parentNode}nextSibling(n){return n.nextSibling}setAttribute(n,e,i,r){if(r){e=r+":"+e;const o=Xb[r];o?n.setAttributeNS(o,e,i):n.setAttribute(e,i)}else n.setAttribute(e,i)}removeAttribute(n,e,i){if(i){const r=Xb[i];r?n.removeAttributeNS(r,e):n.removeAttribute(`${i}:${e}`)}else n.removeAttribute(e)}addClass(n,e){n.classList.add(e)}removeClass(n,e){n.classList.remove(e)}setStyle(n,e,i,r){r&(no.DashCase|no.Important)?n.style.setProperty(e,i,r&no.Important?"important":""):n.style[e]=i}removeStyle(n,e,i){i&no.DashCase?n.style.removeProperty(e):n.style[e]=""}setProperty(n,e,i){null!=n&&(n[e]=i)}setValue(n,e){n.nodeValue=e}listen(n,e,i){if("string"==typeof n&&!(n=co().getGlobalEventTarget(this.doc,n)))throw new Error(`Unsupported event target ${n} for event ${e}`);return this.eventManager.addEventListener(n,e,this.decoratePreventDefault(i))}decoratePreventDefault(n){return e=>{if("__ngUnwrap__"===e)return n;!1===(this.platformIsServer?this.ngZone.runGuarded(()=>n(e)):n(e))&&e.preventDefault()}}}function RI(t){return"TEMPLATE"===t.tagName&&void 0!==t.content}class oW extends Qb{constructor(n,e,i,r,o,s,a,c){super(n,o,s,c),this.sharedStylesHost=e,this.hostEl=i,this.shadowRoot=i.attachShadow({mode:"open"}),this.sharedStylesHost.addHost(this.shadowRoot);const l=kI(r.id,r.styles);for(const d of l){const u=document.createElement("style");a&&u.setAttribute("nonce",a),u.textContent=d,this.shadowRoot.appendChild(u)}}nodeOrShadowRoot(n){return n===this.hostEl?this.shadowRoot:n}appendChild(n,e){return super.appendChild(this.nodeOrShadowRoot(n),e)}insertBefore(n,e,i){return super.insertBefore(this.nodeOrShadowRoot(n),e,i)}removeChild(n,e){return super.removeChild(this.nodeOrShadowRoot(n),e)}parentNode(n){return this.nodeOrShadowRoot(super.parentNode(this.nodeOrShadowRoot(n)))}destroy(){this.sharedStylesHost.removeHost(this.shadowRoot)}}class Zb extends Qb{constructor(n,e,i,r,o,s,a,c){super(n,o,s,a),this.sharedStylesHost=e,this.removeStylesOnCompDestroy=r,this.styles=c?kI(c,i.styles):i.styles}applyStyles(){this.sharedStylesHost.addStyles(this.styles)}destroy(){this.removeStylesOnCompDestroy&&this.sharedStylesHost.removeStyles(this.styles)}}class FI extends Zb{constructor(n,e,i,r,o,s,a,c){const l=r+"-"+i.id;super(n,e,i,o,s,a,c,l),this.contentAttr=function nW(t){return"_ngcontent-%COMP%".replace(qb,t)}(l),this.hostAttr=function iW(t){return"_nghost-%COMP%".replace(qb,t)}(l)}applyToHost(n){this.applyStyles(),this.setAttribute(n,this.hostAttr,"")}createElement(n,e){const i=super.createElement(n,e);return super.setAttribute(i,this.contentAttr,""),i}}let sW=(()=>{class t extends MI{constructor(e){super(e)}supports(e){return!0}addEventListener(e,i,r){return e.addEventListener(i,r,!1),()=>this.removeEventListener(e,i,r)}removeEventListener(e,i,r){return e.removeEventListener(i,r)}static#e=this.\u0275fac=function(i){return new(i||t)(R(Ve))};static#t=this.\u0275prov=q({token:t,factory:t.\u0275fac})}return t})();const OI=["alt","control","meta","shift"],aW={"\b":"Backspace","\t":"Tab","\x7f":"Delete","\x1b":"Escape",Del:"Delete",Esc:"Escape",Left:"ArrowLeft",Right:"ArrowRight",Up:"ArrowUp",Down:"ArrowDown",Menu:"ContextMenu",Scroll:"ScrollLock",Win:"OS"},cW={alt:t=>t.altKey,control:t=>t.ctrlKey,meta:t=>t.metaKey,shift:t=>t.shiftKey};let lW=(()=>{class t extends MI{constructor(e){super(e)}supports(e){return null!=t.parseEventName(e)}addEventListener(e,i,r){const o=t.parseEventName(i),s=t.eventCallback(o.fullKey,r,this.manager.getZone());return this.manager.getZone().runOutsideAngular(()=>co().onAndCancel(e,o.domEventName,s))}static parseEventName(e){const i=e.toLowerCase().split("."),r=i.shift();if(0===i.length||"keydown"!==r&&"keyup"!==r)return null;const o=t._normalizeKey(i.pop());let s="",a=i.indexOf("code");if(a>-1&&(i.splice(a,1),s="code."),OI.forEach(l=>{const d=i.indexOf(l);d>-1&&(i.splice(d,1),s+=l+".")}),s+=o,0!=i.length||0===o.length)return null;const c={};return c.domEventName=r,c.fullKey=s,c}static matchEventFullKeyCode(e,i){let r=aW[e.key]||e.key,o="";return i.indexOf("code.")>-1&&(r=e.code,o="code."),!(null==r||!r)&&(r=r.toLowerCase()," "===r?r="space":"."===r&&(r="dot"),OI.forEach(s=>{s!==r&&(0,cW[s])(e)&&(o+=s+".")}),o+=r,o===i)}static eventCallback(e,i,r){return o=>{t.matchEventFullKeyCode(o,e)&&r.runGuarded(()=>i(o))}}static _normalizeKey(e){return"esc"===e?"escape":e}static#e=this.\u0275fac=function(i){return new(i||t)(R(Ve))};static#t=this.\u0275prov=q({token:t,factory:t.\u0275fac})}return t})();const PI=[{provide:yr,useValue:_I},{provide:gE,useValue:function dW(){Gb.makeCurrent()},multi:!0},{provide:Ve,useFactory:function hW(){return function KB(t){pg=t}(document),document},deps:[]}],fW=fM(m8,"browser",PI),mW=new j(""),LI=[{provide:Mh,useClass:class Q${addToWindow(n){rt.getAngularTestability=(i,r=!0)=>{const o=n.findTestabilityInTree(i,r);if(null==o)throw new V(5103,!1);return o},rt.getAllAngularTestabilities=()=>n.getAllTestabilities(),rt.getAllAngularRootElements=()=>n.getAllRootElements(),rt.frameworkStabilizers||(rt.frameworkStabilizers=[]),rt.frameworkStabilizers.push(i=>{const r=rt.getAllAngularTestabilities();let o=r.length;const s=function(){o--,0==o&&i()};r.forEach(a=>{a.whenStable(s)})})}findTestabilityInTree(n,e,i){return null==e?null:n.getTestability(e)??(i?co().isShadowRoot(e)?this.findTestabilityInTree(n,e.host,!0):this.findTestabilityInTree(n,e.parentElement,!0):null)}},deps:[]},{provide:tM,useClass:ub,deps:[de,hb,Mh]},{provide:ub,useClass:ub,deps:[de,hb,Mh]}],BI=[{provide:kp,useValue:"root"},{provide:ai,useFactory:function uW(){return new ai},deps:[]},{provide:$b,useClass:sW,multi:!0,deps:[Ve,de,yr]},{provide:$b,useClass:lW,multi:!0,deps:[Ve]},Yb,II,CI,{provide:l_,useExisting:Yb},{provide:class v${},useClass:Z$,deps:[]},[]];let VI=(()=>{class t{constructor(e){}static withServerTransition(e){return{ngModule:t,providers:[{provide:Fu,useValue:e.appId}]}}static#e=this.\u0275fac=function(i){return new(i||t)(R(mW,12))};static#t=this.\u0275mod=Oe({type:t});static#n=this.\u0275inj=Re({providers:[...BI,...LI],imports:[is,p8]})}return t})(),Kb=(()=>{class t{static#e=this.\u0275fac=function(i){return new(i||t)};static#t=this.\u0275prov=q({token:t,factory:function(i){let r=null;return r=i?new(i||t):R(bW),r},providedIn:"root"})}return t})(),bW=(()=>{class t extends Kb{constructor(e){super(),this._doc=e}sanitize(e,i){if(null==i)return null;switch(e){case _n.NONE:return i;case _n.HTML:return Qi(i,"HTML")?ci(i):NE(this._doc,String(i)).toString();case _n.STYLE:return Qi(i,"Style")?ci(i):i;case _n.SCRIPT:if(Qi(i,"Script"))return ci(i);throw new V(5200,!1);case _n.URL:return Qi(i,"URL")?ci(i):Uu(String(i));case _n.RESOURCE_URL:if(Qi(i,"ResourceURL"))return ci(i);throw new V(5201,!1);default:throw new V(5202,!1)}}bypassSecurityTrustHtml(e){return function vV(t){return new fV(t)}(e)}bypassSecurityTrustStyle(e){return function yV(t){return new mV(t)}(e)}bypassSecurityTrustScript(e){return function AV(t){return new pV(t)}(e)}bypassSecurityTrustUrl(e){return function xV(t){return new gV(t)}(e)}bypassSecurityTrustResourceUrl(e){return function EV(t){return new _V(t)}(e)}static#e=this.\u0275fac=function(i){return new(i||t)(R(Ve))};static#t=this.\u0275prov=q({token:t,factory:t.\u0275fac,providedIn:"root"})}return t})();function zI(t){return t&&Ge(t.schedule)}function Jb(t){return t[t.length-1]}function ev(t){return Ge(Jb(t))?t.pop():void 0}function Ol(t){return zI(Jb(t))?t.pop():void 0}function lo(t){return this instanceof lo?(this.v=t,this):new lo(t)}function XI(t){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var e,n=t[Symbol.asyncIterator];return n?n.call(t):(t=function rv(t){var n="function"==typeof Symbol&&Symbol.iterator,e=n&&t[n],i=0;if(e)return e.call(t);if(t&&"number"==typeof t.length)return{next:function(){return t&&i>=t.length&&(t=void 0),{value:t&&t[i++],done:!t}}};throw new TypeError(n?"Object is not iterable.":"Symbol.iterator is not defined.")}(t),e={},i("next"),i("throw"),i("return"),e[Symbol.asyncIterator]=function(){return this},e);function i(o){e[o]=t[o]&&function(s){return new Promise(function(a,c){!function r(o,s,a,c){Promise.resolve(c).then(function(l){o({value:l,done:a})},s)}(a,c,(s=t[o](s)).done,s.value)})}}}"function"==typeof SuppressedError&&SuppressedError;const ov=t=>t&&"number"==typeof t.length&&"function"!=typeof t;function qI(t){return Ge(t?.then)}function YI(t){return Ge(t[ap])}function QI(t){return Symbol.asyncIterator&&Ge(t?.[Symbol.asyncIterator])}function ZI(t){return new TypeError(`You provided ${null!==t&&"object"==typeof t?"an invalid object":`'${t}'`} where a stream was expected. You can provide an Observable, Promise, ReadableStream, Array, AsyncIterable, or Iterable.`)}const KI=function jW(){return"function"==typeof Symbol&&Symbol.iterator?Symbol.iterator:"@@iterator"}();function JI(t){return Ge(t?.[KI])}function eT(t){return function WI(t,n,e){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var r,i=e.apply(t,n||[]),o=[];return r={},s("next"),s("throw"),s("return"),r[Symbol.asyncIterator]=function(){return this},r;function s(h){i[h]&&(r[h]=function(f){return new Promise(function(p,g){o.push([h,f,p,g])>1||a(h,f)})})}function a(h,f){try{!function c(h){h.value instanceof lo?Promise.resolve(h.value.v).then(l,d):u(o[0][2],h)}(i[h](f))}catch(p){u(o[0][3],p)}}function l(h){a("next",h)}function d(h){a("throw",h)}function u(h,f){h(f),o.shift(),o.length&&a(o[0][0],o[0][1])}}(this,arguments,function*(){const e=t.getReader();try{for(;;){const{value:i,done:r}=yield lo(e.read());if(r)return yield lo(void 0);yield yield lo(i)}}finally{e.releaseLock()}})}function tT(t){return Ge(t?.getReader)}function Zt(t){if(t instanceof ht)return t;if(null!=t){if(YI(t))return function UW(t){return new ht(n=>{const e=t[ap]();if(Ge(e.subscribe))return e.subscribe(n);throw new TypeError("Provided object does not correctly implement Symbol.observable")})}(t);if(ov(t))return function zW(t){return new ht(n=>{for(let e=0;e{t.then(e=>{n.closed||(n.next(e),n.complete())},e=>n.error(e)).then(null,v0)})}(t);if(QI(t))return nT(t);if(JI(t))return function $W(t){return new ht(n=>{for(const e of t)if(n.next(e),n.closed)return;n.complete()})}(t);if(tT(t))return function WW(t){return nT(eT(t))}(t)}throw ZI(t)}function nT(t){return new ht(n=>{(function XW(t,n){var e,i,r,o;return function GI(t,n,e,i){return new(e||(e=Promise))(function(o,s){function a(d){try{l(i.next(d))}catch(u){s(u)}}function c(d){try{l(i.throw(d))}catch(u){s(u)}}function l(d){d.done?o(d.value):function r(o){return o instanceof e?o:new e(function(s){s(o)})}(d.value).then(a,c)}l((i=i.apply(t,n||[])).next())})}(this,void 0,void 0,function*(){try{for(e=XI(t);!(i=yield e.next()).done;)if(n.next(i.value),n.closed)return}catch(s){r={error:s}}finally{try{i&&!i.done&&(o=e.return)&&(yield o.call(e))}finally{if(r)throw r.error}}n.complete()})})(t,n).catch(e=>n.error(e))})}function Ir(t,n,e,i=0,r=!1){const o=n.schedule(function(){e(),r?t.add(this.schedule(null,i)):this.unsubscribe()},i);if(t.add(o),!r)return o}function iT(t,n=0){return Ot((e,i)=>{e.subscribe(ft(i,r=>Ir(i,t,()=>i.next(r),n),()=>Ir(i,t,()=>i.complete(),n),r=>Ir(i,t,()=>i.error(r),n)))})}function rT(t,n=0){return Ot((e,i)=>{i.add(t.schedule(()=>e.subscribe(i),n))})}function oT(t,n){if(!t)throw new Error("Iterable cannot be null");return new ht(e=>{Ir(e,n,()=>{const i=t[Symbol.asyncIterator]();Ir(e,n,()=>{i.next().then(r=>{r.done?e.complete():e.next(r.value)})},0,!0)})})}function In(t,n){return n?function JW(t,n){if(null!=t){if(YI(t))return function qW(t,n){return Zt(t).pipe(rT(n),iT(n))}(t,n);if(ov(t))return function QW(t,n){return new ht(e=>{let i=0;return n.schedule(function(){i===t.length?e.complete():(e.next(t[i++]),e.closed||this.schedule())})})}(t,n);if(qI(t))return function YW(t,n){return Zt(t).pipe(rT(n),iT(n))}(t,n);if(QI(t))return oT(t,n);if(JI(t))return function ZW(t,n){return new ht(e=>{let i;return Ir(e,n,()=>{i=t[KI](),Ir(e,n,()=>{let r,o;try{({value:r,done:o}=i.next())}catch(s){return void e.error(s)}o?e.complete():e.next(r)},0,!0)}),()=>Ge(i?.return)&&i.return()})}(t,n);if(tT(t))return function KW(t,n){return oT(eT(t),n)}(t,n)}throw ZI(t)}(t,n):Zt(t)}function bn(...t){return In(t,Ol(t))}function uo(t,n,e=1/0){return Ge(n)?uo((i,r)=>ye((o,s)=>n(i,o,r,s))(Zt(t(i,r))),e):("number"==typeof n&&(e=n),Ot((i,r)=>function e6(t,n,e,i,r,o,s,a){const c=[];let l=0,d=0,u=!1;const h=()=>{u&&!c.length&&!l&&n.complete()},f=g=>l{o&&n.next(g),l++;let _=!1;Zt(e(g,d++)).subscribe(ft(n,x=>{r?.(x),o?f(x):n.next(x)},()=>{_=!0},void 0,()=>{if(_)try{for(l--;c.length&&lp(x)):p(x)}h()}catch(x){n.error(x)}}))};return t.subscribe(ft(n,f,()=>{u=!0,h()})),()=>{a?.()}}(i,r,t,e)))}function $e(t,n){return Ot((e,i)=>{let r=0;e.subscribe(ft(i,o=>t.call(n,o,r++)&&i.next(o)))})}class sv{}class Tr{constructor(n){this.normalizedNames=new Map,this.lazyUpdate=null,n?"string"==typeof n?this.lazyInit=()=>{this.headers=new Map,n.split("\n").forEach(e=>{const i=e.indexOf(":");if(i>0){const r=e.slice(0,i),o=r.toLowerCase(),s=e.slice(i+1).trim();this.maybeSetNormalizedName(r,o),this.headers.has(o)?this.headers.get(o).push(s):this.headers.set(o,[s])}})}:typeof Headers<"u"&&n instanceof Headers?(this.headers=new Map,n.forEach((e,i)=>{this.setHeaderEntries(i,e)})):this.lazyInit=()=>{this.headers=new Map,Object.entries(n).forEach(([e,i])=>{this.setHeaderEntries(e,i)})}:this.headers=new Map}has(n){return this.init(),this.headers.has(n.toLowerCase())}get(n){this.init();const e=this.headers.get(n.toLowerCase());return e&&e.length>0?e[0]:null}keys(){return this.init(),Array.from(this.normalizedNames.values())}getAll(n){return this.init(),this.headers.get(n.toLowerCase())||null}append(n,e){return this.clone({name:n,value:e,op:"a"})}set(n,e){return this.clone({name:n,value:e,op:"s"})}delete(n,e){return this.clone({name:n,value:e,op:"d"})}maybeSetNormalizedName(n,e){this.normalizedNames.has(e)||this.normalizedNames.set(e,n)}init(){this.lazyInit&&(this.lazyInit instanceof Tr?this.copyFrom(this.lazyInit):this.lazyInit(),this.lazyInit=null,this.lazyUpdate&&(this.lazyUpdate.forEach(n=>this.applyUpdate(n)),this.lazyUpdate=null))}copyFrom(n){n.init(),Array.from(n.headers.keys()).forEach(e=>{this.headers.set(e,n.headers.get(e)),this.normalizedNames.set(e,n.normalizedNames.get(e))})}clone(n){const e=new Tr;return e.lazyInit=this.lazyInit&&this.lazyInit instanceof Tr?this.lazyInit:this,e.lazyUpdate=(this.lazyUpdate||[]).concat([n]),e}applyUpdate(n){const e=n.name.toLowerCase();switch(n.op){case"a":case"s":let i=n.value;if("string"==typeof i&&(i=[i]),0===i.length)return;this.maybeSetNormalizedName(n.name,e);const r=("a"===n.op?this.headers.get(e):void 0)||[];r.push(...i),this.headers.set(e,r);break;case"d":const o=n.value;if(o){let s=this.headers.get(e);if(!s)return;s=s.filter(a=>-1===o.indexOf(a)),0===s.length?(this.headers.delete(e),this.normalizedNames.delete(e)):this.headers.set(e,s)}else this.headers.delete(e),this.normalizedNames.delete(e)}}setHeaderEntries(n,e){const i=(Array.isArray(e)?e:[e]).map(o=>o.toString()),r=n.toLowerCase();this.headers.set(r,i),this.maybeSetNormalizedName(n,r)}forEach(n){this.init(),Array.from(this.normalizedNames.keys()).forEach(e=>n(this.normalizedNames.get(e),this.headers.get(e)))}}class n6{encodeKey(n){return sT(n)}encodeValue(n){return sT(n)}decodeKey(n){return decodeURIComponent(n)}decodeValue(n){return decodeURIComponent(n)}}const r6=/%(\d[a-f0-9])/gi,o6={40:"@","3A":":",24:"$","2C":",","3B":";","3D":"=","3F":"?","2F":"/"};function sT(t){return encodeURIComponent(t).replace(r6,(n,e)=>o6[e]??n)}function tf(t){return`${t}`}class ho{constructor(n={}){if(this.updates=null,this.cloneFrom=null,this.encoder=n.encoder||new n6,n.fromString){if(n.fromObject)throw new Error("Cannot specify both fromString and fromObject.");this.map=function i6(t,n){const e=new Map;return t.length>0&&t.replace(/^\?/,"").split("&").forEach(r=>{const o=r.indexOf("="),[s,a]=-1==o?[n.decodeKey(r),""]:[n.decodeKey(r.slice(0,o)),n.decodeValue(r.slice(o+1))],c=e.get(s)||[];c.push(a),e.set(s,c)}),e}(n.fromString,this.encoder)}else n.fromObject?(this.map=new Map,Object.keys(n.fromObject).forEach(e=>{const i=n.fromObject[e],r=Array.isArray(i)?i.map(tf):[tf(i)];this.map.set(e,r)})):this.map=null}has(n){return this.init(),this.map.has(n)}get(n){this.init();const e=this.map.get(n);return e?e[0]:null}getAll(n){return this.init(),this.map.get(n)||null}keys(){return this.init(),Array.from(this.map.keys())}append(n,e){return this.clone({param:n,value:e,op:"a"})}appendAll(n){const e=[];return Object.keys(n).forEach(i=>{const r=n[i];Array.isArray(r)?r.forEach(o=>{e.push({param:i,value:o,op:"a"})}):e.push({param:i,value:r,op:"a"})}),this.clone(e)}set(n,e){return this.clone({param:n,value:e,op:"s"})}delete(n,e){return this.clone({param:n,value:e,op:"d"})}toString(){return this.init(),this.keys().map(n=>{const e=this.encoder.encodeKey(n);return this.map.get(n).map(i=>e+"="+this.encoder.encodeValue(i)).join("&")}).filter(n=>""!==n).join("&")}clone(n){const e=new ho({encoder:this.encoder});return e.cloneFrom=this.cloneFrom||this,e.updates=(this.updates||[]).concat(n),e}init(){null===this.map&&(this.map=new Map),null!==this.cloneFrom&&(this.cloneFrom.init(),this.cloneFrom.keys().forEach(n=>this.map.set(n,this.cloneFrom.map.get(n))),this.updates.forEach(n=>{switch(n.op){case"a":case"s":const e=("a"===n.op?this.map.get(n.param):void 0)||[];e.push(tf(n.value)),this.map.set(n.param,e);break;case"d":if(void 0===n.value){this.map.delete(n.param);break}{let i=this.map.get(n.param)||[];const r=i.indexOf(tf(n.value));-1!==r&&i.splice(r,1),i.length>0?this.map.set(n.param,i):this.map.delete(n.param)}}}),this.cloneFrom=this.updates=null)}}class s6{constructor(){this.map=new Map}set(n,e){return this.map.set(n,e),this}get(n){return this.map.has(n)||this.map.set(n,n.defaultValue()),this.map.get(n)}delete(n){return this.map.delete(n),this}has(n){return this.map.has(n)}keys(){return this.map.keys()}}function aT(t){return typeof ArrayBuffer<"u"&&t instanceof ArrayBuffer}function cT(t){return typeof Blob<"u"&&t instanceof Blob}function lT(t){return typeof FormData<"u"&&t instanceof FormData}class Nl{constructor(n,e,i,r){let o;if(this.url=e,this.body=null,this.reportProgress=!1,this.withCredentials=!1,this.responseType="json",this.method=n.toUpperCase(),function a6(t){switch(t){case"DELETE":case"GET":case"HEAD":case"OPTIONS":case"JSONP":return!1;default:return!0}}(this.method)||r?(this.body=void 0!==i?i:null,o=r):o=i,o&&(this.reportProgress=!!o.reportProgress,this.withCredentials=!!o.withCredentials,o.responseType&&(this.responseType=o.responseType),o.headers&&(this.headers=o.headers),o.context&&(this.context=o.context),o.params&&(this.params=o.params),this.transferCache=o.transferCache),this.headers??=new Tr,this.context??=new s6,this.params){const s=this.params.toString();if(0===s.length)this.urlWithParams=e;else{const a=e.indexOf("?");this.urlWithParams=e+(-1===a?"?":au.set(h,n.setHeaders[h]),c)),n.setParams&&(l=Object.keys(n.setParams).reduce((u,h)=>u.set(h,n.setParams[h]),l)),new Nl(e,i,o,{params:l,headers:c,context:d,reportProgress:a,responseType:r,withCredentials:s})}}var cv=function(t){return t[t.Sent=0]="Sent",t[t.UploadProgress=1]="UploadProgress",t[t.ResponseHeader=2]="ResponseHeader",t[t.DownloadProgress=3]="DownloadProgress",t[t.Response=4]="Response",t[t.User=5]="User",t}(cv||{});class lv{constructor(n,e=uT.Ok,i="OK"){this.headers=n.headers||new Tr,this.status=void 0!==n.status?n.status:e,this.statusText=n.statusText||i,this.url=n.url||null,this.ok=this.status>=200&&this.status<300}}class Pl extends lv{constructor(n={}){super(n),this.type=cv.Response,this.body=void 0!==n.body?n.body:null}clone(n={}){return new Pl({body:void 0!==n.body?n.body:this.body,headers:n.headers||this.headers,status:void 0!==n.status?n.status:this.status,statusText:n.statusText||this.statusText,url:n.url||this.url||void 0})}}var uT=function(t){return t[t.Continue=100]="Continue",t[t.SwitchingProtocols=101]="SwitchingProtocols",t[t.Processing=102]="Processing",t[t.EarlyHints=103]="EarlyHints",t[t.Ok=200]="Ok",t[t.Created=201]="Created",t[t.Accepted=202]="Accepted",t[t.NonAuthoritativeInformation=203]="NonAuthoritativeInformation",t[t.NoContent=204]="NoContent",t[t.ResetContent=205]="ResetContent",t[t.PartialContent=206]="PartialContent",t[t.MultiStatus=207]="MultiStatus",t[t.AlreadyReported=208]="AlreadyReported",t[t.ImUsed=226]="ImUsed",t[t.MultipleChoices=300]="MultipleChoices",t[t.MovedPermanently=301]="MovedPermanently",t[t.Found=302]="Found",t[t.SeeOther=303]="SeeOther",t[t.NotModified=304]="NotModified",t[t.UseProxy=305]="UseProxy",t[t.Unused=306]="Unused",t[t.TemporaryRedirect=307]="TemporaryRedirect",t[t.PermanentRedirect=308]="PermanentRedirect",t[t.BadRequest=400]="BadRequest",t[t.Unauthorized=401]="Unauthorized",t[t.PaymentRequired=402]="PaymentRequired",t[t.Forbidden=403]="Forbidden",t[t.NotFound=404]="NotFound",t[t.MethodNotAllowed=405]="MethodNotAllowed",t[t.NotAcceptable=406]="NotAcceptable",t[t.ProxyAuthenticationRequired=407]="ProxyAuthenticationRequired",t[t.RequestTimeout=408]="RequestTimeout",t[t.Conflict=409]="Conflict",t[t.Gone=410]="Gone",t[t.LengthRequired=411]="LengthRequired",t[t.PreconditionFailed=412]="PreconditionFailed",t[t.PayloadTooLarge=413]="PayloadTooLarge",t[t.UriTooLong=414]="UriTooLong",t[t.UnsupportedMediaType=415]="UnsupportedMediaType",t[t.RangeNotSatisfiable=416]="RangeNotSatisfiable",t[t.ExpectationFailed=417]="ExpectationFailed",t[t.ImATeapot=418]="ImATeapot",t[t.MisdirectedRequest=421]="MisdirectedRequest",t[t.UnprocessableEntity=422]="UnprocessableEntity",t[t.Locked=423]="Locked",t[t.FailedDependency=424]="FailedDependency",t[t.TooEarly=425]="TooEarly",t[t.UpgradeRequired=426]="UpgradeRequired",t[t.PreconditionRequired=428]="PreconditionRequired",t[t.TooManyRequests=429]="TooManyRequests",t[t.RequestHeaderFieldsTooLarge=431]="RequestHeaderFieldsTooLarge",t[t.UnavailableForLegalReasons=451]="UnavailableForLegalReasons",t[t.InternalServerError=500]="InternalServerError",t[t.NotImplemented=501]="NotImplemented",t[t.BadGateway=502]="BadGateway",t[t.ServiceUnavailable=503]="ServiceUnavailable",t[t.GatewayTimeout=504]="GatewayTimeout",t[t.HttpVersionNotSupported=505]="HttpVersionNotSupported",t[t.VariantAlsoNegotiates=506]="VariantAlsoNegotiates",t[t.InsufficientStorage=507]="InsufficientStorage",t[t.LoopDetected=508]="LoopDetected",t[t.NotExtended=510]="NotExtended",t[t.NetworkAuthenticationRequired=511]="NetworkAuthenticationRequired",t}(uT||{});function dv(t,n){return{body:n,headers:t.headers,context:t.context,observe:t.observe,params:t.params,reportProgress:t.reportProgress,responseType:t.responseType,withCredentials:t.withCredentials,transferCache:t.transferCache}}let uv=(()=>{class t{constructor(e){this.handler=e}request(e,i,r={}){let o;if(e instanceof Nl)o=e;else{let c,l;c=r.headers instanceof Tr?r.headers:new Tr(r.headers),r.params&&(l=r.params instanceof ho?r.params:new ho({fromObject:r.params})),o=new Nl(e,i,void 0!==r.body?r.body:null,{headers:c,context:r.context,params:l,reportProgress:r.reportProgress,responseType:r.responseType||"json",withCredentials:r.withCredentials,transferCache:r.transferCache})}const s=bn(o).pipe(function t6(t,n){return Ge(n)?uo(t,n,1):uo(t,1)}(c=>this.handler.handle(c)));if(e instanceof Nl||"events"===r.observe)return s;const a=s.pipe($e(c=>c instanceof Pl));switch(r.observe||"body"){case"body":switch(o.responseType){case"arraybuffer":return a.pipe(ye(c=>{if(null!==c.body&&!(c.body instanceof ArrayBuffer))throw new Error("Response is not an ArrayBuffer.");return c.body}));case"blob":return a.pipe(ye(c=>{if(null!==c.body&&!(c.body instanceof Blob))throw new Error("Response is not a Blob.");return c.body}));case"text":return a.pipe(ye(c=>{if(null!==c.body&&"string"!=typeof c.body)throw new Error("Response is not a string.");return c.body}));default:return a.pipe(ye(c=>c.body))}case"response":return a;default:throw new Error(`Unreachable: unhandled observe type ${r.observe}}`)}}delete(e,i={}){return this.request("DELETE",e,i)}get(e,i={}){return this.request("GET",e,i)}head(e,i={}){return this.request("HEAD",e,i)}jsonp(e,i){return this.request("JSONP",e,{params:(new ho).append(i,"JSONP_CALLBACK"),observe:"body",responseType:"json"})}options(e,i={}){return this.request("OPTIONS",e,i)}patch(e,i,r={}){return this.request("PATCH",e,dv(r,i))}post(e,i,r={}){return this.request("POST",e,dv(r,i))}put(e,i,r={}){return this.request("PUT",e,dv(r,i))}static#e=this.\u0275fac=function(i){return new(i||t)(R(sv))};static#t=this.\u0275prov=q({token:t,factory:t.\u0275fac})}return t})();const fT=new j("");let mv;try{mv=typeof Intl<"u"&&Intl.v8BreakIterator}catch{mv=!1}let Ua,Kt=(()=>{class t{constructor(e){this._platformId=e,this.isBrowser=this._platformId?Ub(this._platformId):"object"==typeof document&&!!document,this.EDGE=this.isBrowser&&/(edge)/i.test(navigator.userAgent),this.TRIDENT=this.isBrowser&&/(msie|trident)/i.test(navigator.userAgent),this.BLINK=this.isBrowser&&!(!window.chrome&&!mv)&&typeof CSS<"u"&&!this.EDGE&&!this.TRIDENT,this.WEBKIT=this.isBrowser&&/AppleWebKit/i.test(navigator.userAgent)&&!this.BLINK&&!this.EDGE&&!this.TRIDENT,this.IOS=this.isBrowser&&/iPad|iPhone|iPod/.test(navigator.userAgent)&&!("MSStream"in window),this.FIREFOX=this.isBrowser&&/(firefox|minefield)/i.test(navigator.userAgent),this.ANDROID=this.isBrowser&&/android/i.test(navigator.userAgent)&&!this.TRIDENT,this.SAFARI=this.isBrowser&&/safari/i.test(navigator.userAgent)&&this.WEBKIT}static#e=this.\u0275fac=function(i){return new(i||t)(R(yr))};static#t=this.\u0275prov=q({token:t,factory:t.\u0275fac,providedIn:"root"})}return t})();const DT=["color","button","checkbox","date","datetime-local","email","file","hidden","image","month","number","password","radio","range","reset","search","submit","tel","text","time","url","week"];function CT(){if(Ua)return Ua;if("object"!=typeof document||!document)return Ua=new Set(DT),Ua;let t=document.createElement("input");return Ua=new Set(DT.filter(n=>(t.setAttribute("type",n),t.type===n))),Ua}let Ll,os,pv;function Bl(t){return function I6(){if(null==Ll&&typeof window<"u")try{window.addEventListener("test",null,Object.defineProperty({},"passive",{get:()=>Ll=!0}))}finally{Ll=Ll||!1}return Ll}()?t:!!t.capture}function T6(){if(null==os){if("object"!=typeof document||!document||"function"!=typeof Element||!Element)return os=!1,os;if("scrollBehavior"in document.documentElement.style)os=!0;else{const t=Element.prototype.scrollTo;os=!!t&&!/\{\s*\[native code\]\s*\}/.test(t.toString())}}return os}function gv(){let t=typeof document<"u"&&document?document.activeElement:null;for(;t&&t.shadowRoot;){const n=t.shadowRoot.activeElement;if(n===t)break;t=n}return t}function mo(t){return t.composedPath?t.composedPath()[0]:t.target}function _v(){return typeof __karma__<"u"&&!!__karma__||typeof jasmine<"u"&&!!jasmine||typeof jest<"u"&&!!jest||typeof Mocha<"u"&&!!Mocha}function ss(t,...n){return n.length?n.some(e=>t[e]):t.altKey||t.shiftKey||t.ctrlKey||t.metaKey}function or(t,n,e){const i=Ge(t)||n||e?{next:t,error:n,complete:e}:t;return i?Ot((r,o)=>{var s;null===(s=i.subscribe)||void 0===s||s.call(i);let a=!0;r.subscribe(ft(o,c=>{var l;null===(l=i.next)||void 0===l||l.call(i,c),o.next(c)},()=>{var c;a=!1,null===(c=i.complete)||void 0===c||c.call(i),o.complete()},c=>{var l;a=!1,null===(l=i.error)||void 0===l||l.call(i,c),o.error(c)},()=>{var c,l;a&&(null===(c=i.unsubscribe)||void 0===c||c.call(i)),null===(l=i.finalize)||void 0===l||l.call(i)}))}):Qr}class W6 extends Et{constructor(n,e){super()}schedule(n,e=0){return this}}const af={setInterval(t,n,...e){const{delegate:i}=af;return i?.setInterval?i.setInterval(t,n,...e):setInterval(t,n,...e)},clearInterval(t){const{delegate:n}=af;return(n?.clearInterval||clearInterval)(t)},delegate:void 0};class Ev extends W6{constructor(n,e){super(n,e),this.scheduler=n,this.work=e,this.pending=!1}schedule(n,e=0){var i;if(this.closed)return this;this.state=n;const r=this.id,o=this.scheduler;return null!=r&&(this.id=this.recycleAsyncId(o,r,e)),this.pending=!0,this.delay=e,this.id=null!==(i=this.id)&&void 0!==i?i:this.requestAsyncId(o,this.id,e),this}requestAsyncId(n,e,i=0){return af.setInterval(n.flush.bind(n,this),i)}recycleAsyncId(n,e,i=0){if(null!=i&&this.delay===i&&!1===this.pending)return e;null!=e&&af.clearInterval(e)}execute(n,e){if(this.closed)return new Error("executing a cancelled action");this.pending=!1;const i=this._execute(n,e);if(i)return i;!1===this.pending&&null!=this.id&&(this.id=this.recycleAsyncId(this.scheduler,this.id,null))}_execute(n,e){let r,i=!1;try{this.work(n)}catch(o){i=!0,r=o||new Error("Scheduled action threw falsy error")}if(i)return this.unsubscribe(),r}unsubscribe(){if(!this.closed){const{id:n,scheduler:e}=this,{actions:i}=e;this.work=this.state=this.scheduler=null,this.pending=!1,qd(i,this),null!=n&&(this.id=this.recycleAsyncId(e,n,null)),this.delay=null,super.unsubscribe()}}}const wv={now:()=>(wv.delegate||Date).now(),delegate:void 0};class Hl{constructor(n,e=Hl.now){this.schedulerActionCtor=n,this.now=e}schedule(n,e=0,i){return new this.schedulerActionCtor(this,n).schedule(i,e)}}Hl.now=wv.now;class Sv extends Hl{constructor(n,e=Hl.now){super(n,e),this.actions=[],this._active=!1}flush(n){const{actions:e}=this;if(this._active)return void e.push(n);let i;this._active=!0;do{if(i=n.execute(n.state,n.delay))break}while(n=e.shift());if(this._active=!1,i){for(;n=e.shift();)n.unsubscribe();throw i}}}const jl=new Sv(Ev),X6=jl;function kT(t,n=jl){return Ot((e,i)=>{let r=null,o=null,s=null;const a=()=>{if(r){r.unsubscribe(),r=null;const l=o;o=null,i.next(l)}};function c(){const l=s+t,d=n.now();if(d{o=l,s=n.now(),r||(r=n.schedule(c,t),i.add(r))},()=>{a(),i.complete()},void 0,()=>{o=r=null}))})}const za=new ht(t=>t.complete());function Rt(t){return t<=0?()=>za:Ot((n,e)=>{let i=0;n.subscribe(ft(e,r=>{++i<=t&&(e.next(r),t<=i&&e.complete())}))})}function RT(t){return $e((n,e)=>t<=e)}function Dv(t,n=Qr){return t=t??Y6,Ot((e,i)=>{let r,o=!0;e.subscribe(ft(i,s=>{const a=n(s);(o||!t(r,a))&&(o=!1,r=a,i.next(s))}))})}function Y6(t,n){return t===n}function Tn(t){return Ot((n,e)=>{Zt(t).subscribe(ft(e,()=>e.complete(),Fo)),!e.closed&&n.subscribe(e)})}let Q6=(()=>{class t{create(e){return typeof MutationObserver>"u"?null:new MutationObserver(e)}static#e=this.\u0275fac=function(i){return new(i||t)};static#t=this.\u0275prov=q({token:t,factory:t.\u0275fac,providedIn:"root"})}return t})(),FT=(()=>{class t{static#e=this.\u0275fac=function(i){return new(i||t)};static#t=this.\u0275mod=Oe({type:t});static#n=this.\u0275inj=Re({providers:[Q6]})}return t})();function cf(t){return null!=t&&"false"!=`${t}`}function OT(t,n=0){return function Z6(t){return!isNaN(parseFloat(t))&&!isNaN(Number(t))}(t)?Number(t):n}function lf(t){return Array.isArray(t)?t:[t]}function Jt(t){return null==t?"":"string"==typeof t?t:`${t}px`}function po(t){return t instanceof Ne?t.nativeElement:t}const{isArray:K6}=Array,{getPrototypeOf:J6,prototype:eX,keys:tX}=Object;function NT(t){if(1===t.length){const n=t[0];if(K6(n))return{args:n,keys:null};if(function nX(t){return t&&"object"==typeof t&&J6(t)===eX}(n)){const e=tX(n);return{args:e.map(i=>n[i]),keys:e}}}return{args:t,keys:null}}const{isArray:iX}=Array;function Cv(t){return ye(n=>function rX(t,n){return iX(n)?t(...n):t(n)}(t,n))}function PT(t,n){return t.reduce((e,i,r)=>(e[i]=n[r],e),{})}function Mv(...t){const n=Ol(t),e=ev(t),{args:i,keys:r}=NT(t);if(0===i.length)return In([],n);const o=new ht(function oX(t,n,e=Qr){return i=>{LT(n,()=>{const{length:r}=t,o=new Array(r);let s=r,a=r;for(let c=0;c{const l=In(t[c],n);let d=!1;l.subscribe(ft(i,u=>{o[c]=u,d||(d=!0,a--),a||i.next(e(o.slice()))},()=>{--s||i.complete()}))},i)},i)}}(i,n,r?s=>PT(r,s):Qr));return e?o.pipe(Cv(e)):o}function LT(t,n,e){t?Ir(e,t,n):n()}function BT(t=1/0){return uo(Qr,t)}function as(...t){return function sX(){return BT(1)}()(In(t,Ol(t)))}function dn(...t){const n=Ol(t);return Ot((e,i)=>{(n?as(t,e,n):as(t,e)).subscribe(i)})}const VT=new Set;let cs,HT=(()=>{class t{constructor(e,i){this._platform=e,this._nonce=i,this._matchMedia=this._platform.isBrowser&&window.matchMedia?window.matchMedia.bind(window):cX}matchMedia(e){return(this._platform.WEBKIT||this._platform.BLINK)&&function aX(t,n){if(!VT.has(t))try{cs||(cs=document.createElement("style"),n&&(cs.nonce=n),cs.setAttribute("type","text/css"),document.head.appendChild(cs)),cs.sheet&&(cs.sheet.insertRule(`@media ${t} {body{ }}`,0),VT.add(t))}catch(e){console.error(e)}}(e,this._nonce),this._matchMedia(e)}static#e=this.\u0275fac=function(i){return new(i||t)(R(Kt),R(gg,8))};static#t=this.\u0275prov=q({token:t,factory:t.\u0275fac,providedIn:"root"})}return t})();function cX(t){return{matches:"all"===t||""===t,media:t,addListener:()=>{},removeListener:()=>{}}}let Iv=(()=>{class t{constructor(e,i){this._mediaMatcher=e,this._zone=i,this._queries=new Map,this._destroySubject=new ue}ngOnDestroy(){this._destroySubject.next(),this._destroySubject.complete()}isMatched(e){return jT(lf(e)).some(r=>this._registerQuery(r).mql.matches)}observe(e){let o=Mv(jT(lf(e)).map(s=>this._registerQuery(s).observable));return o=as(o.pipe(Rt(1)),o.pipe(RT(1),kT(0))),o.pipe(ye(s=>{const a={matches:!1,breakpoints:{}};return s.forEach(({matches:c,query:l})=>{a.matches=a.matches||c,a.breakpoints[l]=c}),a}))}_registerQuery(e){if(this._queries.has(e))return this._queries.get(e);const i=this._mediaMatcher.matchMedia(e),o={observable:new ht(s=>{const a=c=>this._zone.run(()=>s.next(c));return i.addListener(a),()=>{i.removeListener(a)}}).pipe(dn(i),ye(({matches:s})=>({query:e,matches:s})),Tn(this._destroySubject)),mql:i};return this._queries.set(e,o),o}static#e=this.\u0275fac=function(i){return new(i||t)(R(HT),R(de))};static#t=this.\u0275prov=q({token:t,factory:t.\u0275fac,providedIn:"root"})}return t})();function jT(t){return t.map(n=>n.split(",")).reduce((n,e)=>n.concat(e)).map(n=>n.trim())}function zT(t,n,e){const i=GT(t,n);e=e.trim();const r=i.filter(o=>o!==e);r.length?t.setAttribute(n,r.join(" ")):t.removeAttribute(n)}function GT(t,n){return t.getAttribute(n)?.match(/\S+/g)??[]}class $T{constructor(n){this._items=n,this._activeItemIndex=-1,this._activeItem=null,this._wrap=!1,this._letterKeyStream=new ue,this._typeaheadSubscription=Et.EMPTY,this._vertical=!0,this._allowedModifierKeys=[],this._homeAndEnd=!1,this._pageUpAndDown={enabled:!1,delta:10},this._skipPredicateFn=e=>e.disabled,this._pressedLetters=[],this.tabOut=new ue,this.change=new ue,n instanceof Nc&&(this._itemChangesSubscription=n.changes.subscribe(e=>{if(this._activeItem){const r=e.toArray().indexOf(this._activeItem);r>-1&&r!==this._activeItemIndex&&(this._activeItemIndex=r)}}))}skipPredicate(n){return this._skipPredicateFn=n,this}withWrap(n=!0){return this._wrap=n,this}withVerticalOrientation(n=!0){return this._vertical=n,this}withHorizontalOrientation(n){return this._horizontal=n,this}withAllowedModifierKeys(n){return this._allowedModifierKeys=n,this}withTypeAhead(n=200){return this._typeaheadSubscription.unsubscribe(),this._typeaheadSubscription=this._letterKeyStream.pipe(or(e=>this._pressedLetters.push(e)),kT(n),$e(()=>this._pressedLetters.length>0),ye(()=>this._pressedLetters.join(""))).subscribe(e=>{const i=this._getItemsArray();for(let r=1;r!n[o]||this._allowedModifierKeys.indexOf(o)>-1);switch(e){case 9:return void this.tabOut.next();case 40:if(this._vertical&&r){this.setNextItemActive();break}return;case 38:if(this._vertical&&r){this.setPreviousItemActive();break}return;case 39:if(this._horizontal&&r){"rtl"===this._horizontal?this.setPreviousItemActive():this.setNextItemActive();break}return;case 37:if(this._horizontal&&r){"rtl"===this._horizontal?this.setNextItemActive():this.setPreviousItemActive();break}return;case 36:if(this._homeAndEnd&&r){this.setFirstItemActive();break}return;case 35:if(this._homeAndEnd&&r){this.setLastItemActive();break}return;case 33:if(this._pageUpAndDown.enabled&&r){const o=this._activeItemIndex-this._pageUpAndDown.delta;this._setActiveItemByIndex(o>0?o:0,1);break}return;case 34:if(this._pageUpAndDown.enabled&&r){const o=this._activeItemIndex+this._pageUpAndDown.delta,s=this._getItemsArray().length;this._setActiveItemByIndex(o=65&&e<=90||e>=48&&e<=57)&&this._letterKeyStream.next(String.fromCharCode(e))))}this._pressedLetters=[],n.preventDefault()}get activeItemIndex(){return this._activeItemIndex}get activeItem(){return this._activeItem}isTyping(){return this._pressedLetters.length>0}setFirstItemActive(){this._setActiveItemByIndex(0,1)}setLastItemActive(){this._setActiveItemByIndex(this._items.length-1,-1)}setNextItemActive(){this._activeItemIndex<0?this.setFirstItemActive():this._setActiveItemByDelta(1)}setPreviousItemActive(){this._activeItemIndex<0&&this._wrap?this.setLastItemActive():this._setActiveItemByDelta(-1)}updateActiveItem(n){const e=this._getItemsArray(),i="number"==typeof n?n:e.indexOf(n);this._activeItem=e[i]??null,this._activeItemIndex=i}destroy(){this._typeaheadSubscription.unsubscribe(),this._itemChangesSubscription?.unsubscribe(),this._letterKeyStream.complete(),this.tabOut.complete(),this.change.complete(),this._pressedLetters=[]}_setActiveItemByDelta(n){this._wrap?this._setActiveInWrapMode(n):this._setActiveInDefaultMode(n)}_setActiveInWrapMode(n){const e=this._getItemsArray();for(let i=1;i<=e.length;i++){const r=(this._activeItemIndex+n*i+e.length)%e.length;if(!this._skipPredicateFn(e[r]))return void this.setActiveItem(r)}}_setActiveInDefaultMode(n){this._setActiveItemByIndex(this._activeItemIndex+n,n)}_setActiveItemByIndex(n,e){const i=this._getItemsArray();if(i[n]){for(;this._skipPredicateFn(i[n]);)if(!i[n+=e])return;this.setActiveItem(n)}}_getItemsArray(){return this._items instanceof Nc?this._items.toArray():this._items}}class hX extends $T{setActiveItem(n){this.activeItem&&this.activeItem.setInactiveStyles(),super.setActiveItem(n),this.activeItem&&this.activeItem.setActiveStyles()}}let kv=(()=>{class t{constructor(e){this._platform=e}isDisabled(e){return e.hasAttribute("disabled")}isVisible(e){return function mX(t){return!!(t.offsetWidth||t.offsetHeight||"function"==typeof t.getClientRects&&t.getClientRects().length)}(e)&&"visible"===getComputedStyle(e).visibility}isTabbable(e){if(!this._platform.isBrowser)return!1;const i=function fX(t){try{return t.frameElement}catch{return null}}(function xX(t){return t.ownerDocument&&t.ownerDocument.defaultView||window}(e));if(i&&(-1===XT(i)||!this.isVisible(i)))return!1;let r=e.nodeName.toLowerCase(),o=XT(e);return e.hasAttribute("contenteditable")?-1!==o:!("iframe"===r||"object"===r||this._platform.WEBKIT&&this._platform.IOS&&!function yX(t){let n=t.nodeName.toLowerCase(),e="input"===n&&t.type;return"text"===e||"password"===e||"select"===n||"textarea"===n}(e))&&("audio"===r?!!e.hasAttribute("controls")&&-1!==o:"video"===r?-1!==o&&(null!==o||this._platform.FIREFOX||e.hasAttribute("controls")):e.tabIndex>=0)}isFocusable(e,i){return function AX(t){return!function gX(t){return function bX(t){return"input"==t.nodeName.toLowerCase()}(t)&&"hidden"==t.type}(t)&&(function pX(t){let n=t.nodeName.toLowerCase();return"input"===n||"select"===n||"button"===n||"textarea"===n}(t)||function _X(t){return function vX(t){return"a"==t.nodeName.toLowerCase()}(t)&&t.hasAttribute("href")}(t)||t.hasAttribute("contenteditable")||WT(t))}(e)&&!this.isDisabled(e)&&(i?.ignoreVisibility||this.isVisible(e))}static#e=this.\u0275fac=function(i){return new(i||t)(R(Kt))};static#t=this.\u0275prov=q({token:t,factory:t.\u0275fac,providedIn:"root"})}return t})();function WT(t){if(!t.hasAttribute("tabindex")||void 0===t.tabIndex)return!1;let n=t.getAttribute("tabindex");return!(!n||isNaN(parseInt(n,10)))}function XT(t){if(!WT(t))return null;const n=parseInt(t.getAttribute("tabindex")||"",10);return isNaN(n)?-1:n}class qT{get enabled(){return this._enabled}set enabled(n){this._enabled=n,this._startAnchor&&this._endAnchor&&(this._toggleAnchorTabIndex(n,this._startAnchor),this._toggleAnchorTabIndex(n,this._endAnchor))}constructor(n,e,i,r,o=!1){this._element=n,this._checker=e,this._ngZone=i,this._document=r,this._hasAttached=!1,this.startAnchorListener=()=>this.focusLastTabbableElement(),this.endAnchorListener=()=>this.focusFirstTabbableElement(),this._enabled=!0,o||this.attachAnchors()}destroy(){const n=this._startAnchor,e=this._endAnchor;n&&(n.removeEventListener("focus",this.startAnchorListener),n.remove()),e&&(e.removeEventListener("focus",this.endAnchorListener),e.remove()),this._startAnchor=this._endAnchor=null,this._hasAttached=!1}attachAnchors(){return!!this._hasAttached||(this._ngZone.runOutsideAngular(()=>{this._startAnchor||(this._startAnchor=this._createAnchor(),this._startAnchor.addEventListener("focus",this.startAnchorListener)),this._endAnchor||(this._endAnchor=this._createAnchor(),this._endAnchor.addEventListener("focus",this.endAnchorListener))}),this._element.parentNode&&(this._element.parentNode.insertBefore(this._startAnchor,this._element),this._element.parentNode.insertBefore(this._endAnchor,this._element.nextSibling),this._hasAttached=!0),this._hasAttached)}focusInitialElementWhenReady(n){return new Promise(e=>{this._executeOnStable(()=>e(this.focusInitialElement(n)))})}focusFirstTabbableElementWhenReady(n){return new Promise(e=>{this._executeOnStable(()=>e(this.focusFirstTabbableElement(n)))})}focusLastTabbableElementWhenReady(n){return new Promise(e=>{this._executeOnStable(()=>e(this.focusLastTabbableElement(n)))})}_getRegionBoundary(n){const e=this._element.querySelectorAll(`[cdk-focus-region-${n}], [cdkFocusRegion${n}], [cdk-focus-${n}]`);return"start"==n?e.length?e[0]:this._getFirstTabbableElement(this._element):e.length?e[e.length-1]:this._getLastTabbableElement(this._element)}focusInitialElement(n){const e=this._element.querySelector("[cdk-focus-initial], [cdkFocusInitial]");if(e){if(!this._checker.isFocusable(e)){const i=this._getFirstTabbableElement(e);return i?.focus(n),!!i}return e.focus(n),!0}return this.focusFirstTabbableElement(n)}focusFirstTabbableElement(n){const e=this._getRegionBoundary("start");return e&&e.focus(n),!!e}focusLastTabbableElement(n){const e=this._getRegionBoundary("end");return e&&e.focus(n),!!e}hasAttached(){return this._hasAttached}_getFirstTabbableElement(n){if(this._checker.isFocusable(n)&&this._checker.isTabbable(n))return n;const e=n.children;for(let i=0;i=0;i--){const r=e[i].nodeType===this._document.ELEMENT_NODE?this._getLastTabbableElement(e[i]):null;if(r)return r}return null}_createAnchor(){const n=this._document.createElement("div");return this._toggleAnchorTabIndex(this._enabled,n),n.classList.add("cdk-visually-hidden"),n.classList.add("cdk-focus-trap-anchor"),n.setAttribute("aria-hidden","true"),n}_toggleAnchorTabIndex(n,e){n?e.setAttribute("tabindex","0"):e.removeAttribute("tabindex")}toggleAnchors(n){this._startAnchor&&this._endAnchor&&(this._toggleAnchorTabIndex(n,this._startAnchor),this._toggleAnchorTabIndex(n,this._endAnchor))}_executeOnStable(n){this._ngZone.isStable?n():this._ngZone.onStable.pipe(Rt(1)).subscribe(n)}}let YT=(()=>{class t{constructor(e,i,r){this._checker=e,this._ngZone=i,this._document=r}create(e,i=!1){return new qT(e,this._checker,this._ngZone,this._document,i)}static#e=this.\u0275fac=function(i){return new(i||t)(R(kv),R(de),R(Ve))};static#t=this.\u0275prov=q({token:t,factory:t.\u0275fac,providedIn:"root"})}return t})();function QT(t){return 0===t.buttons||0===t.detail}function ZT(t){const n=t.touches&&t.touches[0]||t.changedTouches&&t.changedTouches[0];return!(!n||-1!==n.identifier||null!=n.radiusX&&1!==n.radiusX||null!=n.radiusY&&1!==n.radiusY)}const EX=new j("cdk-input-modality-detector-options"),wX={ignoreKeys:[18,17,224,91,16]},Ga=Bl({passive:!0,capture:!0});let SX=(()=>{class t{get mostRecentModality(){return this._modality.value}constructor(e,i,r,o){this._platform=e,this._mostRecentTarget=null,this._modality=new ti(null),this._lastTouchMs=0,this._onKeydown=s=>{this._options?.ignoreKeys?.some(a=>a===s.keyCode)||(this._modality.next("keyboard"),this._mostRecentTarget=mo(s))},this._onMousedown=s=>{Date.now()-this._lastTouchMs<650||(this._modality.next(QT(s)?"keyboard":"mouse"),this._mostRecentTarget=mo(s))},this._onTouchstart=s=>{ZT(s)?this._modality.next("keyboard"):(this._lastTouchMs=Date.now(),this._modality.next("touch"),this._mostRecentTarget=mo(s))},this._options={...wX,...o},this.modalityDetected=this._modality.pipe(RT(1)),this.modalityChanged=this.modalityDetected.pipe(Dv()),e.isBrowser&&i.runOutsideAngular(()=>{r.addEventListener("keydown",this._onKeydown,Ga),r.addEventListener("mousedown",this._onMousedown,Ga),r.addEventListener("touchstart",this._onTouchstart,Ga)})}ngOnDestroy(){this._modality.complete(),this._platform.isBrowser&&(document.removeEventListener("keydown",this._onKeydown,Ga),document.removeEventListener("mousedown",this._onMousedown,Ga),document.removeEventListener("touchstart",this._onTouchstart,Ga))}static#e=this.\u0275fac=function(i){return new(i||t)(R(Kt),R(de),R(Ve),R(EX,8))};static#t=this.\u0275prov=q({token:t,factory:t.\u0275fac,providedIn:"root"})}return t})();const DX=new j("liveAnnouncerElement",{providedIn:"root",factory:function CX(){return null}}),MX=new j("LIVE_ANNOUNCER_DEFAULT_OPTIONS");let IX=0,JT=(()=>{class t{constructor(e,i,r,o){this._ngZone=i,this._defaultOptions=o,this._document=r,this._liveElement=e||this._createLiveElement()}announce(e,...i){const r=this._defaultOptions;let o,s;return 1===i.length&&"number"==typeof i[0]?s=i[0]:[o,s]=i,this.clear(),clearTimeout(this._previousTimeout),o||(o=r&&r.politeness?r.politeness:"polite"),null==s&&r&&(s=r.duration),this._liveElement.setAttribute("aria-live",o),this._liveElement.id&&this._exposeAnnouncerToModals(this._liveElement.id),this._ngZone.runOutsideAngular(()=>(this._currentPromise||(this._currentPromise=new Promise(a=>this._currentResolve=a)),clearTimeout(this._previousTimeout),this._previousTimeout=setTimeout(()=>{this._liveElement.textContent=e,"number"==typeof s&&(this._previousTimeout=setTimeout(()=>this.clear(),s)),this._currentResolve?.(),this._currentPromise=this._currentResolve=void 0},100),this._currentPromise))}clear(){this._liveElement&&(this._liveElement.textContent="")}ngOnDestroy(){clearTimeout(this._previousTimeout),this._liveElement?.remove(),this._liveElement=null,this._currentResolve?.(),this._currentPromise=this._currentResolve=void 0}_createLiveElement(){const e="cdk-live-announcer-element",i=this._document.getElementsByClassName(e),r=this._document.createElement("div");for(let o=0;o .cdk-overlay-container [aria-modal="true"]');for(let r=0;r{class t{constructor(e,i,r,o,s){this._ngZone=e,this._platform=i,this._inputModalityDetector=r,this._origin=null,this._windowFocused=!1,this._originFromTouchInteraction=!1,this._elementInfo=new Map,this._monitoredElementCount=0,this._rootNodeFocusListenerCount=new Map,this._windowFocusListener=()=>{this._windowFocused=!0,this._windowFocusTimeoutId=window.setTimeout(()=>this._windowFocused=!1)},this._stopInputModalityDetector=new ue,this._rootNodeFocusAndBlurListener=a=>{for(let l=mo(a);l;l=l.parentElement)"focus"===a.type?this._onFocus(a,l):this._onBlur(a,l)},this._document=o,this._detectionMode=s?.detectionMode||df.IMMEDIATE}monitor(e,i=!1){const r=po(e);if(!this._platform.isBrowser||1!==r.nodeType)return bn();const o=function R6(t){if(function k6(){if(null==pv){const t=typeof document<"u"?document.head:null;pv=!(!t||!t.createShadowRoot&&!t.attachShadow)}return pv}()){const n=t.getRootNode?t.getRootNode():null;if(typeof ShadowRoot<"u"&&ShadowRoot&&n instanceof ShadowRoot)return n}return null}(r)||this._getDocument(),s=this._elementInfo.get(r);if(s)return i&&(s.checkChildren=!0),s.subject;const a={checkChildren:i,subject:new ue,rootNode:o};return this._elementInfo.set(r,a),this._registerGlobalListeners(a),a.subject}stopMonitoring(e){const i=po(e),r=this._elementInfo.get(i);r&&(r.subject.complete(),this._setClasses(i),this._elementInfo.delete(i),this._removeGlobalListeners(r))}focusVia(e,i,r){const o=po(e);o===this._getDocument().activeElement?this._getClosestElementsInfo(o).forEach(([a,c])=>this._originChanged(a,i,c)):(this._setOrigin(i),"function"==typeof o.focus&&o.focus(r))}ngOnDestroy(){this._elementInfo.forEach((e,i)=>this.stopMonitoring(i))}_getDocument(){return this._document||document}_getWindow(){return this._getDocument().defaultView||window}_getFocusOrigin(e){return this._origin?this._originFromTouchInteraction?this._shouldBeAttributedToTouch(e)?"touch":"program":this._origin:this._windowFocused&&this._lastFocusOrigin?this._lastFocusOrigin:e&&this._isLastInteractionFromInputLabel(e)?"mouse":"program"}_shouldBeAttributedToTouch(e){return this._detectionMode===df.EVENTUAL||!!e?.contains(this._inputModalityDetector._mostRecentTarget)}_setClasses(e,i){e.classList.toggle("cdk-focused",!!i),e.classList.toggle("cdk-touch-focused","touch"===i),e.classList.toggle("cdk-keyboard-focused","keyboard"===i),e.classList.toggle("cdk-mouse-focused","mouse"===i),e.classList.toggle("cdk-program-focused","program"===i)}_setOrigin(e,i=!1){this._ngZone.runOutsideAngular(()=>{this._origin=e,this._originFromTouchInteraction="touch"===e&&i,this._detectionMode===df.IMMEDIATE&&(clearTimeout(this._originTimeoutId),this._originTimeoutId=setTimeout(()=>this._origin=null,this._originFromTouchInteraction?650:1))})}_onFocus(e,i){const r=this._elementInfo.get(i),o=mo(e);!r||!r.checkChildren&&i!==o||this._originChanged(i,this._getFocusOrigin(o),r)}_onBlur(e,i){const r=this._elementInfo.get(i);!r||r.checkChildren&&e.relatedTarget instanceof Node&&i.contains(e.relatedTarget)||(this._setClasses(i),this._emitOrigin(r,null))}_emitOrigin(e,i){e.subject.observers.length&&this._ngZone.run(()=>e.subject.next(i))}_registerGlobalListeners(e){if(!this._platform.isBrowser)return;const i=e.rootNode,r=this._rootNodeFocusListenerCount.get(i)||0;r||this._ngZone.runOutsideAngular(()=>{i.addEventListener("focus",this._rootNodeFocusAndBlurListener,uf),i.addEventListener("blur",this._rootNodeFocusAndBlurListener,uf)}),this._rootNodeFocusListenerCount.set(i,r+1),1==++this._monitoredElementCount&&(this._ngZone.runOutsideAngular(()=>{this._getWindow().addEventListener("focus",this._windowFocusListener)}),this._inputModalityDetector.modalityDetected.pipe(Tn(this._stopInputModalityDetector)).subscribe(o=>{this._setOrigin(o,!0)}))}_removeGlobalListeners(e){const i=e.rootNode;if(this._rootNodeFocusListenerCount.has(i)){const r=this._rootNodeFocusListenerCount.get(i);r>1?this._rootNodeFocusListenerCount.set(i,r-1):(i.removeEventListener("focus",this._rootNodeFocusAndBlurListener,uf),i.removeEventListener("blur",this._rootNodeFocusAndBlurListener,uf),this._rootNodeFocusListenerCount.delete(i))}--this._monitoredElementCount||(this._getWindow().removeEventListener("focus",this._windowFocusListener),this._stopInputModalityDetector.next(),clearTimeout(this._windowFocusTimeoutId),clearTimeout(this._originTimeoutId))}_originChanged(e,i,r){this._setClasses(e,i),this._emitOrigin(r,i),this._lastFocusOrigin=i}_getClosestElementsInfo(e){const i=[];return this._elementInfo.forEach((r,o)=>{(o===e||r.checkChildren&&o.contains(e))&&i.push([o,r])}),i}_isLastInteractionFromInputLabel(e){const{_mostRecentTarget:i,mostRecentModality:r}=this._inputModalityDetector;if("mouse"!==r||!i||i===e||"INPUT"!==e.nodeName&&"TEXTAREA"!==e.nodeName||e.disabled)return!1;const o=e.labels;if(o)for(let s=0;s{class t{constructor(e,i){this._platform=e,this._document=i,this._breakpointSubscription=ne(Iv).observe("(forced-colors: active)").subscribe(()=>{this._hasCheckedHighContrastMode&&(this._hasCheckedHighContrastMode=!1,this._applyBodyHighContrastModeCssClasses())})}getHighContrastMode(){if(!this._platform.isBrowser)return ls.NONE;const e=this._document.createElement("div");e.style.backgroundColor="rgb(1,2,3)",e.style.position="absolute",this._document.body.appendChild(e);const i=this._document.defaultView||window,r=i&&i.getComputedStyle?i.getComputedStyle(e):null,o=(r&&r.backgroundColor||"").replace(/ /g,"");switch(e.remove(),o){case"rgb(0,0,0)":case"rgb(45,50,54)":case"rgb(32,32,32)":return ls.WHITE_ON_BLACK;case"rgb(255,255,255)":case"rgb(255,250,239)":return ls.BLACK_ON_WHITE}return ls.NONE}ngOnDestroy(){this._breakpointSubscription.unsubscribe()}_applyBodyHighContrastModeCssClasses(){if(!this._hasCheckedHighContrastMode&&this._platform.isBrowser&&this._document.body){const e=this._document.body.classList;e.remove(Rv,ek,tk),this._hasCheckedHighContrastMode=!0;const i=this.getHighContrastMode();i===ls.BLACK_ON_WHITE?e.add(Rv,ek):i===ls.WHITE_ON_BLACK&&e.add(Rv,tk)}}static#e=this.\u0275fac=function(i){return new(i||t)(R(Kt),R(Ve))};static#t=this.\u0275prov=q({token:t,factory:t.\u0275fac,providedIn:"root"})}return t})(),kX=(()=>{class t{constructor(e){e._applyBodyHighContrastModeCssClasses()}static#e=this.\u0275fac=function(i){return new(i||t)(R(nk))};static#t=this.\u0275mod=Oe({type:t});static#n=this.\u0275inj=Re({imports:[FT]})}return t})();const RX=new j("cdk-dir-doc",{providedIn:"root",factory:function FX(){return ne(Ve)}}),OX=/^(ar|ckb|dv|he|iw|fa|nqo|ps|sd|ug|ur|yi|.*[-_](Adlm|Arab|Hebr|Nkoo|Rohg|Thaa))(?!.*[-_](Latn|Cyrl)($|-|_))($|-|_)/i;let $a=(()=>{class t{constructor(e){this.value="ltr",this.change=new Te,e&&(this.value=function NX(t){const n=t?.toLowerCase()||"";return"auto"===n&&typeof navigator<"u"&&navigator?.language?OX.test(navigator.language)?"rtl":"ltr":"rtl"===n?"rtl":"ltr"}((e.body?e.body.dir:null)||(e.documentElement?e.documentElement.dir:null)||"ltr"))}ngOnDestroy(){this.change.complete()}static#e=this.\u0275fac=function(i){return new(i||t)(R(RX,8))};static#t=this.\u0275prov=q({token:t,factory:t.\u0275fac,providedIn:"root"})}return t})(),Ul=(()=>{class t{static#e=this.\u0275fac=function(i){return new(i||t)};static#t=this.\u0275mod=Oe({type:t});static#n=this.\u0275inj=Re({})}return t})();const PX=["text"],LX=[[["mat-icon"]],"*"],BX=["mat-icon","*"];function VX(t,n){if(1&t&&Ie(0,"mat-pseudo-checkbox",1),2&t){const e=pt();se("disabled",e.disabled)("state",e.selected?"checked":"unchecked")}}function HX(t,n){1&t&&Ie(0,"mat-pseudo-checkbox",3),2&t&&se("disabled",pt().disabled)}function jX(t,n){if(1&t&&(U(0,"span",4),ve(1),W()),2&t){const e=pt();K(),ir("(",e.group.label,")")}}const UX=["mat-internal-form-field",""],zX=["*"],$X=new j("mat-sanity-checks",{providedIn:"root",factory:function GX(){return!0}});let _t=(()=>{class t{constructor(e,i,r){this._sanityChecks=i,this._document=r,this._hasDoneGlobalChecks=!1,e._applyBodyHighContrastModeCssClasses(),this._hasDoneGlobalChecks||(this._hasDoneGlobalChecks=!0)}_checkIsEnabled(e){return!_v()&&("boolean"==typeof this._sanityChecks?this._sanityChecks:!!this._sanityChecks[e])}static#e=this.\u0275fac=function(i){return new(i||t)(R(nk),R($X,8),R(Ve))};static#t=this.\u0275mod=Oe({type:t});static#n=this.\u0275inj=Re({imports:[Ul,Ul]})}return t})();class Fv{constructor(n,e,i,r,o){this._defaultMatcher=n,this.ngControl=e,this._parentFormGroup=i,this._parentForm=r,this._stateChanges=o,this.errorState=!1}updateErrorState(){const n=this.errorState,e=this._parentFormGroup||this._parentForm,i=this.matcher||this._defaultMatcher,r=this.ngControl?this.ngControl.control:null,o=i?.isErrorState(r,e)??!1;o!==n&&(this.errorState=o,this._stateChanges.next())}}let ok=(()=>{class t{isErrorState(e,i){return!!(e&&e.invalid&&(e.touched||i&&i.submitted))}static#e=this.\u0275fac=function(i){return new(i||t)};static#t=this.\u0275prov=q({token:t,factory:t.\u0275fac,providedIn:"root"})}return t})();var Ei=function(t){return t[t.FADING_IN=0]="FADING_IN",t[t.VISIBLE=1]="VISIBLE",t[t.FADING_OUT=2]="FADING_OUT",t[t.HIDDEN=3]="HIDDEN",t}(Ei||{});class ZX{constructor(n,e,i,r=!1){this._renderer=n,this.element=e,this.config=i,this._animationForciblyDisabledThroughCss=r,this.state=Ei.HIDDEN}fadeOut(){this._renderer.fadeOutRipple(this)}}const sk=Bl({passive:!0,capture:!0});class KX{constructor(){this._events=new Map,this._delegateEventHandler=n=>{const e=mo(n);e&&this._events.get(n.type)?.forEach((i,r)=>{(r===e||r.contains(e))&&i.forEach(o=>o.handleEvent(n))})}}addHandler(n,e,i,r){const o=this._events.get(e);if(o){const s=o.get(i);s?s.add(r):o.set(i,new Set([r]))}else this._events.set(e,new Map([[i,new Set([r])]])),n.runOutsideAngular(()=>{document.addEventListener(e,this._delegateEventHandler,sk)})}removeHandler(n,e,i){const r=this._events.get(n);if(!r)return;const o=r.get(e);o&&(o.delete(i),0===o.size&&r.delete(e),0===r.size&&(this._events.delete(n),document.removeEventListener(n,this._delegateEventHandler,sk)))}}const ak={enterDuration:225,exitDuration:150},ck=Bl({passive:!0,capture:!0}),lk=["mousedown","touchstart"],dk=["mouseup","mouseleave","touchend","touchcancel"];class ff{static#e=this._eventManager=new KX;constructor(n,e,i,r){this._target=n,this._ngZone=e,this._platform=r,this._isPointerDown=!1,this._activeRipples=new Map,this._pointerUpEventsRegistered=!1,r.isBrowser&&(this._containerElement=po(i))}fadeInRipple(n,e,i={}){const r=this._containerRect=this._containerRect||this._containerElement.getBoundingClientRect(),o={...ak,...i.animation};i.centered&&(n=r.left+r.width/2,e=r.top+r.height/2);const s=i.radius||function eq(t,n,e){const i=Math.max(Math.abs(t-e.left),Math.abs(t-e.right)),r=Math.max(Math.abs(n-e.top),Math.abs(n-e.bottom));return Math.sqrt(i*i+r*r)}(n,e,r),a=n-r.left,c=e-r.top,l=o.enterDuration,d=document.createElement("div");d.classList.add("mat-ripple-element"),d.style.left=a-s+"px",d.style.top=c-s+"px",d.style.height=2*s+"px",d.style.width=2*s+"px",null!=i.color&&(d.style.backgroundColor=i.color),d.style.transitionDuration=`${l}ms`,this._containerElement.appendChild(d);const u=window.getComputedStyle(d),f=u.transitionDuration,p="none"===u.transitionProperty||"0s"===f||"0s, 0s"===f||0===r.width&&0===r.height,g=new ZX(this,d,i,p);d.style.transform="scale3d(1, 1, 1)",g.state=Ei.FADING_IN,i.persistent||(this._mostRecentTransientRipple=g);let _=null;return!p&&(l||o.exitDuration)&&this._ngZone.runOutsideAngular(()=>{const x=()=>this._finishRippleTransition(g),y=()=>this._destroyRipple(g);d.addEventListener("transitionend",x),d.addEventListener("transitioncancel",y),_={onTransitionEnd:x,onTransitionCancel:y}}),this._activeRipples.set(g,_),(p||!l)&&this._finishRippleTransition(g),g}fadeOutRipple(n){if(n.state===Ei.FADING_OUT||n.state===Ei.HIDDEN)return;const e=n.element,i={...ak,...n.config.animation};e.style.transitionDuration=`${i.exitDuration}ms`,e.style.opacity="0",n.state=Ei.FADING_OUT,(n._animationForciblyDisabledThroughCss||!i.exitDuration)&&this._finishRippleTransition(n)}fadeOutAll(){this._getActiveRipples().forEach(n=>n.fadeOut())}fadeOutAllNonPersistent(){this._getActiveRipples().forEach(n=>{n.config.persistent||n.fadeOut()})}setupTriggerEvents(n){const e=po(n);!this._platform.isBrowser||!e||e===this._triggerElement||(this._removeTriggerEvents(),this._triggerElement=e,lk.forEach(i=>{ff._eventManager.addHandler(this._ngZone,i,e,this)}))}handleEvent(n){"mousedown"===n.type?this._onMousedown(n):"touchstart"===n.type?this._onTouchStart(n):this._onPointerUp(),this._pointerUpEventsRegistered||(this._ngZone.runOutsideAngular(()=>{dk.forEach(e=>{this._triggerElement.addEventListener(e,this,ck)})}),this._pointerUpEventsRegistered=!0)}_finishRippleTransition(n){n.state===Ei.FADING_IN?this._startFadeOutTransition(n):n.state===Ei.FADING_OUT&&this._destroyRipple(n)}_startFadeOutTransition(n){const e=n===this._mostRecentTransientRipple,{persistent:i}=n.config;n.state=Ei.VISIBLE,!i&&(!e||!this._isPointerDown)&&n.fadeOut()}_destroyRipple(n){const e=this._activeRipples.get(n)??null;this._activeRipples.delete(n),this._activeRipples.size||(this._containerRect=null),n===this._mostRecentTransientRipple&&(this._mostRecentTransientRipple=null),n.state=Ei.HIDDEN,null!==e&&(n.element.removeEventListener("transitionend",e.onTransitionEnd),n.element.removeEventListener("transitioncancel",e.onTransitionCancel)),n.element.remove()}_onMousedown(n){const e=QT(n),i=this._lastTouchStartEvent&&Date.now(){!n.config.persistent&&(n.state===Ei.VISIBLE||n.config.terminateOnPointerUp&&n.state===Ei.FADING_IN)&&n.fadeOut()}))}_getActiveRipples(){return Array.from(this._activeRipples.keys())}_removeTriggerEvents(){const n=this._triggerElement;n&&(lk.forEach(e=>ff._eventManager.removeHandler(e,n,this)),this._pointerUpEventsRegistered&&dk.forEach(e=>n.removeEventListener(e,this,ck)))}}const uk=new j("mat-ripple-global-options");let Gl=(()=>{class t{get disabled(){return this._disabled}set disabled(e){e&&this.fadeOutAllNonPersistent(),this._disabled=e,this._setupTriggerEventsIfEnabled()}get trigger(){return this._trigger||this._elementRef.nativeElement}set trigger(e){this._trigger=e,this._setupTriggerEventsIfEnabled()}constructor(e,i,r,o,s){this._elementRef=e,this._animationMode=s,this.radius=0,this._disabled=!1,this._isInitialized=!1,this._globalOptions=o||{},this._rippleRenderer=new ff(this,i,e,r)}ngOnInit(){this._isInitialized=!0,this._setupTriggerEventsIfEnabled()}ngOnDestroy(){this._rippleRenderer._removeTriggerEvents()}fadeOutAll(){this._rippleRenderer.fadeOutAll()}fadeOutAllNonPersistent(){this._rippleRenderer.fadeOutAllNonPersistent()}get rippleConfig(){return{centered:this.centered,radius:this.radius,color:this.color,animation:{...this._globalOptions.animation,..."NoopAnimations"===this._animationMode?{enterDuration:0,exitDuration:0}:{},...this.animation},terminateOnPointerUp:this._globalOptions.terminateOnPointerUp}}get rippleDisabled(){return this.disabled||!!this._globalOptions.disabled}_setupTriggerEventsIfEnabled(){!this.disabled&&this._isInitialized&&this._rippleRenderer.setupTriggerEvents(this.trigger)}launch(e,i=0,r){return"number"==typeof e?this._rippleRenderer.fadeInRipple(e,i,{...this.rippleConfig,...r}):this._rippleRenderer.fadeInRipple(0,0,{...this.rippleConfig,...e})}static#e=this.\u0275fac=function(i){return new(i||t)(C(Ne),C(de),C(Kt),C(uk,8),C(Wn,8))};static#t=this.\u0275dir=J({type:t,selectors:[["","mat-ripple",""],["","matRipple",""]],hostAttrs:[1,"mat-ripple"],hostVars:2,hostBindings:function(i,r){2&i&&st("mat-ripple-unbounded",r.unbounded)},inputs:{color:[X.None,"matRippleColor","color"],unbounded:[X.None,"matRippleUnbounded","unbounded"],centered:[X.None,"matRippleCentered","centered"],radius:[X.None,"matRippleRadius","radius"],animation:[X.None,"matRippleAnimation","animation"],disabled:[X.None,"matRippleDisabled","disabled"],trigger:[X.None,"matRippleTrigger","trigger"]},exportAs:["matRipple"],standalone:!0})}return t})(),hk=(()=>{class t{static#e=this.\u0275fac=function(i){return new(i||t)};static#t=this.\u0275mod=Oe({type:t});static#n=this.\u0275inj=Re({imports:[_t,_t]})}return t})(),tq=(()=>{class t{constructor(e){this._animationMode=e,this.state="unchecked",this.disabled=!1,this.appearance="full"}static#e=this.\u0275fac=function(i){return new(i||t)(C(Wn,8))};static#t=this.\u0275cmp=mt({type:t,selectors:[["mat-pseudo-checkbox"]],hostAttrs:[1,"mat-pseudo-checkbox"],hostVars:12,hostBindings:function(i,r){2&i&&st("mat-pseudo-checkbox-indeterminate","indeterminate"===r.state)("mat-pseudo-checkbox-checked","checked"===r.state)("mat-pseudo-checkbox-disabled",r.disabled)("mat-pseudo-checkbox-minimal","minimal"===r.appearance)("mat-pseudo-checkbox-full","full"===r.appearance)("_mat-animation-noopable","NoopAnimations"===r._animationMode)},inputs:{state:"state",disabled:"disabled",appearance:"appearance"},standalone:!0,features:[Gt],decls:0,vars:0,template:function(i,r){},styles:['.mat-pseudo-checkbox{border-radius:2px;cursor:pointer;display:inline-block;vertical-align:middle;box-sizing:border-box;position:relative;flex-shrink:0;transition:border-color 90ms cubic-bezier(0, 0, 0.2, 0.1),background-color 90ms cubic-bezier(0, 0, 0.2, 0.1)}.mat-pseudo-checkbox::after{position:absolute;opacity:0;content:"";border-bottom:2px solid currentColor;transition:opacity 90ms cubic-bezier(0, 0, 0.2, 0.1)}.mat-pseudo-checkbox._mat-animation-noopable{transition:none !important;animation:none !important}.mat-pseudo-checkbox._mat-animation-noopable::after{transition:none}.mat-pseudo-checkbox-disabled{cursor:default}.mat-pseudo-checkbox-indeterminate::after{left:1px;opacity:1;border-radius:2px}.mat-pseudo-checkbox-checked::after{left:1px;border-left:2px solid currentColor;transform:rotate(-45deg);opacity:1;box-sizing:content-box}.mat-pseudo-checkbox-minimal.mat-pseudo-checkbox-checked::after,.mat-pseudo-checkbox-minimal.mat-pseudo-checkbox-indeterminate::after{color:var(--mat-minimal-pseudo-checkbox-selected-checkmark-color)}.mat-pseudo-checkbox-minimal.mat-pseudo-checkbox-checked.mat-pseudo-checkbox-disabled::after,.mat-pseudo-checkbox-minimal.mat-pseudo-checkbox-indeterminate.mat-pseudo-checkbox-disabled::after{color:var(--mat-minimal-pseudo-checkbox-disabled-selected-checkmark-color)}.mat-pseudo-checkbox-full{border-color:var(--mat-full-pseudo-checkbox-unselected-icon-color);border-width:2px;border-style:solid}.mat-pseudo-checkbox-full.mat-pseudo-checkbox-disabled{border-color:var(--mat-full-pseudo-checkbox-disabled-unselected-icon-color)}.mat-pseudo-checkbox-full.mat-pseudo-checkbox-checked,.mat-pseudo-checkbox-full.mat-pseudo-checkbox-indeterminate{background-color:var(--mat-full-pseudo-checkbox-selected-icon-color);border-color:rgba(0,0,0,0)}.mat-pseudo-checkbox-full.mat-pseudo-checkbox-checked::after,.mat-pseudo-checkbox-full.mat-pseudo-checkbox-indeterminate::after{color:var(--mat-full-pseudo-checkbox-selected-checkmark-color)}.mat-pseudo-checkbox-full.mat-pseudo-checkbox-checked.mat-pseudo-checkbox-disabled,.mat-pseudo-checkbox-full.mat-pseudo-checkbox-indeterminate.mat-pseudo-checkbox-disabled{background-color:var(--mat-full-pseudo-checkbox-disabled-selected-icon-color)}.mat-pseudo-checkbox-full.mat-pseudo-checkbox-checked.mat-pseudo-checkbox-disabled::after,.mat-pseudo-checkbox-full.mat-pseudo-checkbox-indeterminate.mat-pseudo-checkbox-disabled::after{color:var(--mat-full-pseudo-checkbox-disabled-selected-checkmark-color)}.mat-pseudo-checkbox{width:18px;height:18px}.mat-pseudo-checkbox-minimal.mat-pseudo-checkbox-checked::after{width:14px;height:6px;transform-origin:center;top:-4.2426406871px;left:0;bottom:0;right:0;margin:auto}.mat-pseudo-checkbox-minimal.mat-pseudo-checkbox-indeterminate::after{top:8px;width:16px}.mat-pseudo-checkbox-full.mat-pseudo-checkbox-checked::after{width:10px;height:4px;transform-origin:center;top:-2.8284271247px;left:0;bottom:0;right:0;margin:auto}.mat-pseudo-checkbox-full.mat-pseudo-checkbox-indeterminate::after{top:6px;width:12px}'],encapsulation:2,changeDetection:0})}return t})(),nq=(()=>{class t{static#e=this.\u0275fac=function(i){return new(i||t)};static#t=this.\u0275mod=Oe({type:t});static#n=this.\u0275inj=Re({imports:[_t]})}return t})();const fk=new j("MAT_OPTION_PARENT_COMPONENT"),mk=new j("MatOptgroup");let iq=0;class rq{constructor(n,e=!1){this.source=n,this.isUserInput=e}}let pk=(()=>{class t{get multiple(){return this._parent&&this._parent.multiple}get selected(){return this._selected}get disabled(){return this.group&&this.group.disabled||this._disabled}set disabled(e){this._disabled=e}get disableRipple(){return!(!this._parent||!this._parent.disableRipple)}get hideSingleSelectionIndicator(){return!(!this._parent||!this._parent.hideSingleSelectionIndicator)}constructor(e,i,r,o){this._element=e,this._changeDetectorRef=i,this._parent=r,this.group=o,this._selected=!1,this._active=!1,this._disabled=!1,this._mostRecentViewValue="",this.id="mat-option-"+iq++,this.onSelectionChange=new Te,this._stateChanges=new ue}get active(){return this._active}get viewValue(){return(this._text?.nativeElement.textContent||"").trim()}select(e=!0){this._selected||(this._selected=!0,this._changeDetectorRef.markForCheck(),e&&this._emitSelectionChangeEvent())}deselect(e=!0){this._selected&&(this._selected=!1,this._changeDetectorRef.markForCheck(),e&&this._emitSelectionChangeEvent())}focus(e,i){const r=this._getHostElement();"function"==typeof r.focus&&r.focus(i)}setActiveStyles(){this._active||(this._active=!0,this._changeDetectorRef.markForCheck())}setInactiveStyles(){this._active&&(this._active=!1,this._changeDetectorRef.markForCheck())}getLabel(){return this.viewValue}_handleKeydown(e){(13===e.keyCode||32===e.keyCode)&&!ss(e)&&(this._selectViaInteraction(),e.preventDefault())}_selectViaInteraction(){this.disabled||(this._selected=!this.multiple||!this._selected,this._changeDetectorRef.markForCheck(),this._emitSelectionChangeEvent(!0))}_getTabIndex(){return this.disabled?"-1":"0"}_getHostElement(){return this._element.nativeElement}ngAfterViewChecked(){if(this._selected){const e=this.viewValue;e!==this._mostRecentViewValue&&(this._mostRecentViewValue&&this._stateChanges.next(),this._mostRecentViewValue=e)}}ngOnDestroy(){this._stateChanges.complete()}_emitSelectionChangeEvent(e=!1){this.onSelectionChange.emit(new rq(this,e))}static#e=this.\u0275fac=function(i){return new(i||t)(C(Ne),C(yi),C(fk,8),C(mk,8))};static#t=this.\u0275cmp=mt({type:t,selectors:[["mat-option"]],viewQuery:function(i,r){if(1&i&&qt(PX,7),2&i){let o;Ze(o=Ke())&&(r._text=o.first)}},hostAttrs:["role","option",1,"mat-mdc-option","mdc-list-item"],hostVars:11,hostBindings:function(i,r){1&i&&Ue("click",function(){return r._selectViaInteraction()})("keydown",function(s){return r._handleKeydown(s)}),2&i&&(nr("id",r.id),Xe("aria-selected",r.selected)("aria-disabled",r.disabled.toString()),st("mdc-list-item--selected",r.selected)("mat-mdc-option-multiple",r.multiple)("mat-mdc-option-active",r.active)("mdc-list-item--disabled",r.disabled))},inputs:{value:"value",id:"id",disabled:[X.HasDecoratorInputTransform,"disabled","disabled",Je]},outputs:{onSelectionChange:"onSelectionChange"},exportAs:["matOption"],standalone:!0,features:[Er,Gt],ngContentSelectors:BX,decls:8,vars:5,consts:[["text",""],["aria-hidden","true",1,"mat-mdc-option-pseudo-checkbox",3,"disabled","state"],[1,"mdc-list-item__primary-text"],["state","checked","aria-hidden","true","appearance","minimal",1,"mat-mdc-option-pseudo-checkbox",3,"disabled"],[1,"cdk-visually-hidden"],["aria-hidden","true","mat-ripple","",1,"mat-mdc-option-ripple","mat-mdc-focus-indicator",3,"matRippleTrigger","matRippleDisabled"]],template:function(i,r){1&i&&(Mn(LX),we(0,VX,1,2,"mat-pseudo-checkbox",1),qe(1),U(2,"span",2,0),qe(4,1),W(),we(5,HX,1,1,"mat-pseudo-checkbox",3)(6,jX,2,1,"span",4),Ie(7,"div",5)),2&i&&(zt(0,r.multiple?0:-1),K(5),zt(5,r.multiple||!r.selected||r.hideSingleSelectionIndicator?-1:5),K(),zt(6,r.group&&r.group._inert?6:-1),K(),se("matRippleTrigger",r._getHostElement())("matRippleDisabled",r.disabled||r.disableRipple))},dependencies:[tq,Gl],styles:['.mat-mdc-option{display:flex;position:relative;align-items:center;justify-content:flex-start;overflow:hidden;padding:0;padding-left:16px;padding-right:16px;-webkit-user-select:none;user-select:none;-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;cursor:pointer;-webkit-tap-highlight-color:rgba(0,0,0,0);color:var(--mat-option-label-text-color);font-family:var(--mat-option-label-text-font);line-height:var(--mat-option-label-text-line-height);font-size:var(--mat-option-label-text-size);letter-spacing:var(--mat-option-label-text-tracking);font-weight:var(--mat-option-label-text-weight);min-height:48px}.mat-mdc-option:focus{outline:none}[dir=rtl] .mat-mdc-option,.mat-mdc-option[dir=rtl]{padding-left:16px;padding-right:16px}.mat-mdc-option:hover:not(.mdc-list-item--disabled){background-color:var(--mat-option-hover-state-layer-color)}.mat-mdc-option:focus.mdc-list-item,.mat-mdc-option.mat-mdc-option-active.mdc-list-item{background-color:var(--mat-option-focus-state-layer-color)}.mat-mdc-option.mdc-list-item--selected:not(.mdc-list-item--disabled) .mdc-list-item__primary-text{color:var(--mat-option-selected-state-label-text-color)}.mat-mdc-option.mdc-list-item--selected:not(.mdc-list-item--disabled):not(.mat-mdc-option-multiple){background-color:var(--mat-option-selected-state-layer-color)}.mat-mdc-option.mdc-list-item{align-items:center;background:rgba(0,0,0,0)}.mat-mdc-option.mdc-list-item--disabled{cursor:default;pointer-events:none}.mat-mdc-option.mdc-list-item--disabled .mat-mdc-option-pseudo-checkbox,.mat-mdc-option.mdc-list-item--disabled .mdc-list-item__primary-text,.mat-mdc-option.mdc-list-item--disabled>mat-icon{opacity:.38}.mat-mdc-optgroup .mat-mdc-option:not(.mat-mdc-option-multiple){padding-left:32px}[dir=rtl] .mat-mdc-optgroup .mat-mdc-option:not(.mat-mdc-option-multiple){padding-left:16px;padding-right:32px}.mat-mdc-option .mat-icon,.mat-mdc-option .mat-pseudo-checkbox-full{margin-right:16px;flex-shrink:0}[dir=rtl] .mat-mdc-option .mat-icon,[dir=rtl] .mat-mdc-option .mat-pseudo-checkbox-full{margin-right:0;margin-left:16px}.mat-mdc-option .mat-pseudo-checkbox-minimal{margin-left:16px;flex-shrink:0}[dir=rtl] .mat-mdc-option .mat-pseudo-checkbox-minimal{margin-right:16px;margin-left:0}.mat-mdc-option .mat-mdc-option-ripple{top:0;left:0;right:0;bottom:0;position:absolute;pointer-events:none}.mat-mdc-option .mdc-list-item__primary-text{white-space:normal;font-size:inherit;font-weight:inherit;letter-spacing:inherit;line-height:inherit;font-family:inherit;text-decoration:inherit;text-transform:inherit;margin-right:auto}[dir=rtl] .mat-mdc-option .mdc-list-item__primary-text{margin-right:0;margin-left:auto}.cdk-high-contrast-active .mat-mdc-option.mdc-list-item--selected:not(.mat-mdc-option-multiple)::after{content:"";position:absolute;top:50%;right:16px;transform:translateY(-50%);width:10px;height:0;border-bottom:solid 10px;border-radius:10px}[dir=rtl] .cdk-high-contrast-active .mat-mdc-option.mdc-list-item--selected:not(.mat-mdc-option-multiple)::after{right:auto;left:16px}.mat-mdc-option-multiple{--mdc-list-list-item-selected-container-color:var(--mdc-list-list-item-container-color, transparent)}.mat-mdc-option-active .mat-mdc-focus-indicator::before{content:""}'],encapsulation:2,changeDetection:0})}return t})(),gk=(()=>{class t{static#e=this.\u0275fac=function(i){return new(i||t)};static#t=this.\u0275mod=Oe({type:t});static#n=this.\u0275inj=Re({imports:[hk,_t,nq]})}return t})();const _k={capture:!0},bk=["focus","click","mouseenter","touchstart"],Ov="mat-ripple-loader-uninitialized",Nv="mat-ripple-loader-class-name",vk="mat-ripple-loader-centered",mf="mat-ripple-loader-disabled";let aq=(()=>{class t{constructor(){this._document=ne(Ve,{optional:!0}),this._animationMode=ne(Wn,{optional:!0}),this._globalRippleOptions=ne(uk,{optional:!0}),this._platform=ne(Kt),this._ngZone=ne(de),this._hosts=new Map,this._onInteraction=e=>{if(!(e.target instanceof HTMLElement))return;const r=e.target.closest(`[${Ov}]`);r&&this._createRipple(r)},this._ngZone.runOutsideAngular(()=>{for(const e of bk)this._document?.addEventListener(e,this._onInteraction,_k)})}ngOnDestroy(){const e=this._hosts.keys();for(const i of e)this.destroyRipple(i);for(const i of bk)this._document?.removeEventListener(i,this._onInteraction,_k)}configureRipple(e,i){e.setAttribute(Ov,""),(i.className||!e.hasAttribute(Nv))&&e.setAttribute(Nv,i.className||""),i.centered&&e.setAttribute(vk,""),i.disabled&&e.setAttribute(mf,"")}getRipple(e){return this._hosts.get(e)||this._createRipple(e)}setDisabled(e,i){const r=this._hosts.get(e);r?r.disabled=i:i?e.setAttribute(mf,""):e.removeAttribute(mf)}_createRipple(e){if(!this._document)return;const i=this._hosts.get(e);if(i)return i;e.querySelector(".mat-ripple")?.remove();const r=this._document.createElement("span");r.classList.add("mat-ripple",e.getAttribute(Nv)),e.append(r);const o=new Gl(new Ne(r),this._ngZone,this._platform,this._globalRippleOptions?this._globalRippleOptions:void 0,this._animationMode?this._animationMode:void 0);return o._isInitialized=!0,o.trigger=e,o.centered=e.hasAttribute(vk),o.disabled=e.hasAttribute(mf),this.attachRipple(e,o),o}attachRipple(e,i){e.removeAttribute(Ov),this._hosts.set(e,i)}destroyRipple(e){const i=this._hosts.get(e);i&&(i.ngOnDestroy(),this._hosts.delete(e))}static#e=this.\u0275fac=function(i){return new(i||t)};static#t=this.\u0275prov=q({token:t,factory:t.\u0275fac,providedIn:"root"})}return t})(),yk=(()=>{class t{static#e=this.\u0275fac=function(i){return new(i||t)};static#t=this.\u0275cmp=mt({type:t,selectors:[["div","mat-internal-form-field",""]],hostAttrs:[1,"mdc-form-field","mat-internal-form-field"],hostVars:2,hostBindings:function(i,r){2&i&&st("mdc-form-field--align-end","before"===r.labelPosition)},inputs:{labelPosition:"labelPosition"},standalone:!0,features:[Gt],attrs:UX,ngContentSelectors:zX,decls:1,vars:0,template:function(i,r){1&i&&(Mn(),qe(0))},styles:[".mdc-form-field{display:inline-flex;align-items:center;vertical-align:middle}.mdc-form-field[hidden]{display:none}.mdc-form-field>label{margin-left:0;margin-right:auto;padding-left:4px;padding-right:0;order:0}[dir=rtl] .mdc-form-field>label,.mdc-form-field>label[dir=rtl]{margin-left:auto;margin-right:0}[dir=rtl] .mdc-form-field>label,.mdc-form-field>label[dir=rtl]{padding-left:0;padding-right:4px}.mdc-form-field--nowrap>label{text-overflow:ellipsis;overflow:hidden;white-space:nowrap}.mdc-form-field--align-end>label{margin-left:auto;margin-right:0;padding-left:0;padding-right:4px;order:-1}[dir=rtl] .mdc-form-field--align-end>label,.mdc-form-field--align-end>label[dir=rtl]{margin-left:0;margin-right:auto}[dir=rtl] .mdc-form-field--align-end>label,.mdc-form-field--align-end>label[dir=rtl]{padding-left:4px;padding-right:0}.mdc-form-field--space-between{justify-content:space-between}.mdc-form-field--space-between>label{margin:0}[dir=rtl] .mdc-form-field--space-between>label,.mdc-form-field--space-between>label[dir=rtl]{margin:0}.mdc-form-field{font-family:var(--mdc-form-field-label-text-font);line-height:var(--mdc-form-field-label-text-line-height);font-size:var(--mdc-form-field-label-text-size);font-weight:var(--mdc-form-field-label-text-weight);letter-spacing:var(--mdc-form-field-label-text-tracking);color:var(--mdc-form-field-label-text-color)}.mat-internal-form-field{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased}"],encapsulation:2,changeDetection:0})}return t})();const cq=["mat-button",""],lq=[[["",8,"material-icons",3,"iconPositionEnd",""],["mat-icon",3,"iconPositionEnd",""],["","matButtonIcon","",3,"iconPositionEnd",""]],"*",[["","iconPositionEnd","",8,"material-icons"],["mat-icon","iconPositionEnd",""],["","matButtonIcon","","iconPositionEnd",""]]],dq=[".material-icons:not([iconPositionEnd]), mat-icon:not([iconPositionEnd]), [matButtonIcon]:not([iconPositionEnd])","*",".material-icons[iconPositionEnd], mat-icon[iconPositionEnd], [matButtonIcon][iconPositionEnd]"],hq=["mat-icon-button",""],fq=["*"],mq=new j("MAT_BUTTON_CONFIG"),pq=[{attribute:"mat-button",mdcClasses:["mdc-button","mat-mdc-button"]},{attribute:"mat-flat-button",mdcClasses:["mdc-button","mdc-button--unelevated","mat-mdc-unelevated-button"]},{attribute:"mat-raised-button",mdcClasses:["mdc-button","mdc-button--raised","mat-mdc-raised-button"]},{attribute:"mat-stroked-button",mdcClasses:["mdc-button","mdc-button--outlined","mat-mdc-outlined-button"]},{attribute:"mat-fab",mdcClasses:["mdc-fab","mat-mdc-fab"]},{attribute:"mat-mini-fab",mdcClasses:["mdc-fab","mdc-fab--mini","mat-mdc-mini-fab"]},{attribute:"mat-icon-button",mdcClasses:["mdc-icon-button","mat-mdc-icon-button"]}];let Ak=(()=>{class t{get ripple(){return this._rippleLoader?.getRipple(this._elementRef.nativeElement)}set ripple(e){this._rippleLoader?.attachRipple(this._elementRef.nativeElement,e)}get disableRipple(){return this._disableRipple}set disableRipple(e){this._disableRipple=e,this._updateRippleDisabled()}get disabled(){return this._disabled}set disabled(e){this._disabled=e,this._updateRippleDisabled()}constructor(e,i,r,o){this._elementRef=e,this._platform=i,this._ngZone=r,this._animationMode=o,this._focusMonitor=ne(hf),this._rippleLoader=ne(aq),this._isFab=!1,this._disableRipple=!1,this._disabled=!1;const s=ne(mq,{optional:!0}),a=e.nativeElement,c=a.classList;this.disabledInteractive=s?.disabledInteractive??!1,this._rippleLoader?.configureRipple(a,{className:"mat-mdc-button-ripple"});for(const{attribute:l,mdcClasses:d}of pq)a.hasAttribute(l)&&c.add(...d)}ngAfterViewInit(){this._focusMonitor.monitor(this._elementRef,!0)}ngOnDestroy(){this._focusMonitor.stopMonitoring(this._elementRef),this._rippleLoader?.destroyRipple(this._elementRef.nativeElement)}focus(e="program",i){e?this._focusMonitor.focusVia(this._elementRef.nativeElement,e,i):this._elementRef.nativeElement.focus(i)}_getAriaDisabled(){return null!=this.ariaDisabled?this.ariaDisabled:!(!this.disabled||!this.disabledInteractive)||null}_getDisabledAttribute(){return!(this.disabledInteractive||!this.disabled)||null}_updateRippleDisabled(){this._rippleLoader?.setDisabled(this._elementRef.nativeElement,this.disableRipple||this.disabled)}static#e=this.\u0275fac=function(i){!function aw(){throw new Error("invalid")}()};static#t=this.\u0275dir=J({type:t,inputs:{color:"color",disableRipple:[X.HasDecoratorInputTransform,"disableRipple","disableRipple",Je],disabled:[X.HasDecoratorInputTransform,"disabled","disabled",Je],ariaDisabled:[X.HasDecoratorInputTransform,"aria-disabled","ariaDisabled",Je],disabledInteractive:[X.HasDecoratorInputTransform,"disabledInteractive","disabledInteractive",Je]},features:[Er]})}return t})(),xk=(()=>{class t extends Ak{constructor(e,i,r,o){super(e,i,r,o)}static#e=this.\u0275fac=function(i){return new(i||t)(C(Ne),C(Kt),C(de),C(Wn,8))};static#t=this.\u0275cmp=mt({type:t,selectors:[["button","mat-button",""],["button","mat-raised-button",""],["button","mat-flat-button",""],["button","mat-stroked-button",""]],hostVars:14,hostBindings:function(i,r){2&i&&(Xe("disabled",r._getDisabledAttribute())("aria-disabled",r._getAriaDisabled()),so(r.color?"mat-"+r.color:""),st("mat-mdc-button-disabled",r.disabled)("mat-mdc-button-disabled-interactive",r.disabledInteractive)("_mat-animation-noopable","NoopAnimations"===r._animationMode)("mat-unthemed",!r.color)("mat-mdc-button-base",!0))},exportAs:["matButton"],standalone:!0,features:[ke,Gt],attrs:cq,ngContentSelectors:dq,decls:7,vars:4,consts:[[1,"mat-mdc-button-persistent-ripple"],[1,"mdc-button__label"],[1,"mat-mdc-focus-indicator"],[1,"mat-mdc-button-touch-target"]],template:function(i,r){1&i&&(Mn(lq),Ie(0,"span",0),qe(1),U(2,"span",1),qe(3,1),W(),qe(4,2),Ie(5,"span",2)(6,"span",3)),2&i&&st("mdc-button__ripple",!r._isFab)("mdc-fab__ripple",r._isFab)},styles:['.mdc-touch-target-wrapper{display:inline}.mdc-elevation-overlay{position:absolute;border-radius:inherit;pointer-events:none;opacity:var(--mdc-elevation-overlay-opacity, 0);transition:opacity 280ms cubic-bezier(0.4, 0, 0.2, 1)}.mdc-button{position:relative;display:inline-flex;align-items:center;justify-content:center;box-sizing:border-box;min-width:64px;border:none;outline:none;line-height:inherit;user-select:none;-webkit-appearance:none;overflow:visible;vertical-align:middle;background:rgba(0,0,0,0)}.mdc-button .mdc-elevation-overlay{width:100%;height:100%;top:0;left:0}.mdc-button::-moz-focus-inner{padding:0;border:0}.mdc-button:active{outline:none}.mdc-button:hover{cursor:pointer}.mdc-button:disabled{cursor:default;pointer-events:none}.mdc-button[hidden]{display:none}.mdc-button .mdc-button__icon{margin-left:0;margin-right:8px;display:inline-block;position:relative;vertical-align:top}[dir=rtl] .mdc-button .mdc-button__icon,.mdc-button .mdc-button__icon[dir=rtl]{margin-left:8px;margin-right:0}.mdc-button .mdc-button__progress-indicator{font-size:0;position:absolute;transform:translate(-50%, -50%);top:50%;left:50%;line-height:initial}.mdc-button .mdc-button__label{position:relative}.mdc-button .mdc-button__focus-ring{pointer-events:none;border:2px solid rgba(0,0,0,0);border-radius:6px;box-sizing:content-box;position:absolute;top:50%;left:50%;transform:translate(-50%, -50%);height:calc(100% + 4px);width:calc(100% + 4px);display:none}@media screen and (forced-colors: active){.mdc-button .mdc-button__focus-ring{border-color:CanvasText}}.mdc-button .mdc-button__focus-ring::after{content:"";border:2px solid rgba(0,0,0,0);border-radius:8px;display:block;position:absolute;top:50%;left:50%;transform:translate(-50%, -50%);height:calc(100% + 4px);width:calc(100% + 4px)}@media screen and (forced-colors: active){.mdc-button .mdc-button__focus-ring::after{border-color:CanvasText}}@media screen and (forced-colors: active){.mdc-button.mdc-ripple-upgraded--background-focused .mdc-button__focus-ring,.mdc-button:not(.mdc-ripple-upgraded):focus .mdc-button__focus-ring{display:block}}.mdc-button .mdc-button__touch{position:absolute;top:50%;height:48px;left:0;right:0;transform:translateY(-50%)}.mdc-button__label+.mdc-button__icon{margin-left:8px;margin-right:0}[dir=rtl] .mdc-button__label+.mdc-button__icon,.mdc-button__label+.mdc-button__icon[dir=rtl]{margin-left:0;margin-right:8px}svg.mdc-button__icon{fill:currentColor}.mdc-button--touch{margin-top:6px;margin-bottom:6px}.mdc-button{padding:0 8px 0 8px}.mdc-button--unelevated{transition:box-shadow 280ms cubic-bezier(0.4, 0, 0.2, 1);padding:0 16px 0 16px}.mdc-button--unelevated.mdc-button--icon-trailing{padding:0 12px 0 16px}.mdc-button--unelevated.mdc-button--icon-leading{padding:0 16px 0 12px}.mdc-button--raised{transition:box-shadow 280ms cubic-bezier(0.4, 0, 0.2, 1);padding:0 16px 0 16px}.mdc-button--raised.mdc-button--icon-trailing{padding:0 12px 0 16px}.mdc-button--raised.mdc-button--icon-leading{padding:0 16px 0 12px}.mdc-button--outlined{border-style:solid;transition:border 280ms cubic-bezier(0.4, 0, 0.2, 1)}.mdc-button--outlined .mdc-button__ripple{border-style:solid;border-color:rgba(0,0,0,0)}.mat-mdc-button{font-family:var(--mdc-text-button-label-text-font);font-size:var(--mdc-text-button-label-text-size);letter-spacing:var(--mdc-text-button-label-text-tracking);font-weight:var(--mdc-text-button-label-text-weight);text-transform:var(--mdc-text-button-label-text-transform);height:var(--mdc-text-button-container-height);border-radius:var(--mdc-text-button-container-shape);padding:0 var(--mat-text-button-horizontal-padding, 8px)}.mat-mdc-button:not(:disabled){color:var(--mdc-text-button-label-text-color)}.mat-mdc-button:disabled{color:var(--mdc-text-button-disabled-label-text-color)}.mat-mdc-button .mdc-button__ripple{border-radius:var(--mdc-text-button-container-shape)}.mat-mdc-button:has(.material-icons,mat-icon,[matButtonIcon]){padding:0 var(--mat-text-button-with-icon-horizontal-padding, 8px)}.mat-mdc-button>.mat-icon{margin-right:var(--mat-text-button-icon-spacing, 8px);margin-left:var(--mat-text-button-icon-offset, 0)}[dir=rtl] .mat-mdc-button>.mat-icon{margin-right:var(--mat-text-button-icon-offset, 0);margin-left:var(--mat-text-button-icon-spacing, 8px)}.mat-mdc-button .mdc-button__label+.mat-icon{margin-right:var(--mat-text-button-icon-offset, 0);margin-left:var(--mat-text-button-icon-spacing, 8px)}[dir=rtl] .mat-mdc-button .mdc-button__label+.mat-icon{margin-right:var(--mat-text-button-icon-spacing, 8px);margin-left:var(--mat-text-button-icon-offset, 0)}.mat-mdc-button .mat-ripple-element{background-color:var(--mat-text-button-ripple-color)}.mat-mdc-button .mat-mdc-button-persistent-ripple::before{background-color:var(--mat-text-button-state-layer-color)}.mat-mdc-button.mat-mdc-button-disabled .mat-mdc-button-persistent-ripple::before{background-color:var(--mat-text-button-disabled-state-layer-color)}.mat-mdc-button:hover .mat-mdc-button-persistent-ripple::before{opacity:var(--mat-text-button-hover-state-layer-opacity)}.mat-mdc-button.cdk-program-focused .mat-mdc-button-persistent-ripple::before,.mat-mdc-button.cdk-keyboard-focused .mat-mdc-button-persistent-ripple::before,.mat-mdc-button.mat-mdc-button-disabled-interactive:focus .mat-mdc-button-persistent-ripple::before{opacity:var(--mat-text-button-focus-state-layer-opacity)}.mat-mdc-button:active .mat-mdc-button-persistent-ripple::before{opacity:var(--mat-text-button-pressed-state-layer-opacity)}.mat-mdc-button .mat-mdc-button-touch-target{position:absolute;top:50%;height:48px;left:0;right:0;transform:translateY(-50%);display:var(--mat-text-button-touch-target-display)}.mat-mdc-button[disabled],.mat-mdc-button.mat-mdc-button-disabled{cursor:default;pointer-events:none;color:var(--mdc-text-button-disabled-label-text-color)}.mat-mdc-button.mat-mdc-button-disabled-interactive{pointer-events:auto}.mat-mdc-unelevated-button{font-family:var(--mdc-filled-button-label-text-font);font-size:var(--mdc-filled-button-label-text-size);letter-spacing:var(--mdc-filled-button-label-text-tracking);font-weight:var(--mdc-filled-button-label-text-weight);text-transform:var(--mdc-filled-button-label-text-transform);height:var(--mdc-filled-button-container-height);border-radius:var(--mdc-filled-button-container-shape);padding:0 var(--mat-filled-button-horizontal-padding, 16px)}.mat-mdc-unelevated-button:not(:disabled){background-color:var(--mdc-filled-button-container-color)}.mat-mdc-unelevated-button:disabled{background-color:var(--mdc-filled-button-disabled-container-color)}.mat-mdc-unelevated-button:not(:disabled){color:var(--mdc-filled-button-label-text-color)}.mat-mdc-unelevated-button:disabled{color:var(--mdc-filled-button-disabled-label-text-color)}.mat-mdc-unelevated-button .mdc-button__ripple{border-radius:var(--mdc-filled-button-container-shape)}.mat-mdc-unelevated-button>.mat-icon{margin-right:var(--mat-filled-button-icon-spacing, 8px);margin-left:var(--mat-filled-button-icon-offset, -4px)}[dir=rtl] .mat-mdc-unelevated-button>.mat-icon{margin-right:var(--mat-filled-button-icon-offset, -4px);margin-left:var(--mat-filled-button-icon-spacing, 8px)}.mat-mdc-unelevated-button .mdc-button__label+.mat-icon{margin-right:var(--mat-filled-button-icon-offset, -4px);margin-left:var(--mat-filled-button-icon-spacing, 8px)}[dir=rtl] .mat-mdc-unelevated-button .mdc-button__label+.mat-icon{margin-right:var(--mat-filled-button-icon-spacing, 8px);margin-left:var(--mat-filled-button-icon-offset, -4px)}.mat-mdc-unelevated-button .mat-ripple-element{background-color:var(--mat-filled-button-ripple-color)}.mat-mdc-unelevated-button .mat-mdc-button-persistent-ripple::before{background-color:var(--mat-filled-button-state-layer-color)}.mat-mdc-unelevated-button.mat-mdc-button-disabled .mat-mdc-button-persistent-ripple::before{background-color:var(--mat-filled-button-disabled-state-layer-color)}.mat-mdc-unelevated-button:hover .mat-mdc-button-persistent-ripple::before{opacity:var(--mat-filled-button-hover-state-layer-opacity)}.mat-mdc-unelevated-button.cdk-program-focused .mat-mdc-button-persistent-ripple::before,.mat-mdc-unelevated-button.cdk-keyboard-focused .mat-mdc-button-persistent-ripple::before,.mat-mdc-unelevated-button.mat-mdc-button-disabled-interactive:focus .mat-mdc-button-persistent-ripple::before{opacity:var(--mat-filled-button-focus-state-layer-opacity)}.mat-mdc-unelevated-button:active .mat-mdc-button-persistent-ripple::before{opacity:var(--mat-filled-button-pressed-state-layer-opacity)}.mat-mdc-unelevated-button .mat-mdc-button-touch-target{position:absolute;top:50%;height:48px;left:0;right:0;transform:translateY(-50%);display:var(--mat-filled-button-touch-target-display)}.mat-mdc-unelevated-button[disabled],.mat-mdc-unelevated-button.mat-mdc-button-disabled{cursor:default;pointer-events:none;color:var(--mdc-filled-button-disabled-label-text-color);background-color:var(--mdc-filled-button-disabled-container-color)}.mat-mdc-unelevated-button.mat-mdc-button-disabled-interactive{pointer-events:auto}.mat-mdc-raised-button{font-family:var(--mdc-protected-button-label-text-font);font-size:var(--mdc-protected-button-label-text-size);letter-spacing:var(--mdc-protected-button-label-text-tracking);font-weight:var(--mdc-protected-button-label-text-weight);text-transform:var(--mdc-protected-button-label-text-transform);height:var(--mdc-protected-button-container-height);border-radius:var(--mdc-protected-button-container-shape);padding:0 var(--mat-protected-button-horizontal-padding, 16px);box-shadow:var(--mdc-protected-button-container-elevation-shadow)}.mat-mdc-raised-button:not(:disabled){background-color:var(--mdc-protected-button-container-color)}.mat-mdc-raised-button:disabled{background-color:var(--mdc-protected-button-disabled-container-color)}.mat-mdc-raised-button:not(:disabled){color:var(--mdc-protected-button-label-text-color)}.mat-mdc-raised-button:disabled{color:var(--mdc-protected-button-disabled-label-text-color)}.mat-mdc-raised-button .mdc-button__ripple{border-radius:var(--mdc-protected-button-container-shape)}.mat-mdc-raised-button>.mat-icon{margin-right:var(--mat-protected-button-icon-spacing, 8px);margin-left:var(--mat-protected-button-icon-offset, -4px)}[dir=rtl] .mat-mdc-raised-button>.mat-icon{margin-right:var(--mat-protected-button-icon-offset, -4px);margin-left:var(--mat-protected-button-icon-spacing, 8px)}.mat-mdc-raised-button .mdc-button__label+.mat-icon{margin-right:var(--mat-protected-button-icon-offset, -4px);margin-left:var(--mat-protected-button-icon-spacing, 8px)}[dir=rtl] .mat-mdc-raised-button .mdc-button__label+.mat-icon{margin-right:var(--mat-protected-button-icon-spacing, 8px);margin-left:var(--mat-protected-button-icon-offset, -4px)}.mat-mdc-raised-button .mat-ripple-element{background-color:var(--mat-protected-button-ripple-color)}.mat-mdc-raised-button .mat-mdc-button-persistent-ripple::before{background-color:var(--mat-protected-button-state-layer-color)}.mat-mdc-raised-button.mat-mdc-button-disabled .mat-mdc-button-persistent-ripple::before{background-color:var(--mat-protected-button-disabled-state-layer-color)}.mat-mdc-raised-button:hover .mat-mdc-button-persistent-ripple::before{opacity:var(--mat-protected-button-hover-state-layer-opacity)}.mat-mdc-raised-button.cdk-program-focused .mat-mdc-button-persistent-ripple::before,.mat-mdc-raised-button.cdk-keyboard-focused .mat-mdc-button-persistent-ripple::before,.mat-mdc-raised-button.mat-mdc-button-disabled-interactive:focus .mat-mdc-button-persistent-ripple::before{opacity:var(--mat-protected-button-focus-state-layer-opacity)}.mat-mdc-raised-button:active .mat-mdc-button-persistent-ripple::before{opacity:var(--mat-protected-button-pressed-state-layer-opacity)}.mat-mdc-raised-button .mat-mdc-button-touch-target{position:absolute;top:50%;height:48px;left:0;right:0;transform:translateY(-50%);display:var(--mat-protected-button-touch-target-display)}.mat-mdc-raised-button:hover{box-shadow:var(--mdc-protected-button-hover-container-elevation-shadow)}.mat-mdc-raised-button:focus{box-shadow:var(--mdc-protected-button-focus-container-elevation-shadow)}.mat-mdc-raised-button:active,.mat-mdc-raised-button:focus:active{box-shadow:var(--mdc-protected-button-pressed-container-elevation-shadow)}.mat-mdc-raised-button[disabled],.mat-mdc-raised-button.mat-mdc-button-disabled{cursor:default;pointer-events:none;color:var(--mdc-protected-button-disabled-label-text-color);background-color:var(--mdc-protected-button-disabled-container-color)}.mat-mdc-raised-button[disabled].mat-mdc-button-disabled,.mat-mdc-raised-button.mat-mdc-button-disabled.mat-mdc-button-disabled{box-shadow:var(--mdc-protected-button-disabled-container-elevation-shadow)}.mat-mdc-raised-button.mat-mdc-button-disabled-interactive{pointer-events:auto}.mat-mdc-outlined-button{font-family:var(--mdc-outlined-button-label-text-font);font-size:var(--mdc-outlined-button-label-text-size);letter-spacing:var(--mdc-outlined-button-label-text-tracking);font-weight:var(--mdc-outlined-button-label-text-weight);text-transform:var(--mdc-outlined-button-label-text-transform);height:var(--mdc-outlined-button-container-height);border-radius:var(--mdc-outlined-button-container-shape);padding:0 15px 0 15px;border-width:var(--mdc-outlined-button-outline-width);padding:0 var(--mat-outlined-button-horizontal-padding, 15px)}.mat-mdc-outlined-button:not(:disabled){color:var(--mdc-outlined-button-label-text-color)}.mat-mdc-outlined-button:disabled{color:var(--mdc-outlined-button-disabled-label-text-color)}.mat-mdc-outlined-button .mdc-button__ripple{border-radius:var(--mdc-outlined-button-container-shape)}.mat-mdc-outlined-button:not(:disabled){border-color:var(--mdc-outlined-button-outline-color)}.mat-mdc-outlined-button:disabled{border-color:var(--mdc-outlined-button-disabled-outline-color)}.mat-mdc-outlined-button.mdc-button--icon-trailing{padding:0 11px 0 15px}.mat-mdc-outlined-button.mdc-button--icon-leading{padding:0 15px 0 11px}.mat-mdc-outlined-button .mdc-button__ripple{top:-1px;left:-1px;bottom:-1px;right:-1px;border-width:var(--mdc-outlined-button-outline-width)}.mat-mdc-outlined-button .mdc-button__touch{left:calc(-1 * var(--mdc-outlined-button-outline-width));width:calc(100% + 2 * var(--mdc-outlined-button-outline-width))}.mat-mdc-outlined-button>.mat-icon{margin-right:var(--mat-outlined-button-icon-spacing, 8px);margin-left:var(--mat-outlined-button-icon-offset, -4px)}[dir=rtl] .mat-mdc-outlined-button>.mat-icon{margin-right:var(--mat-outlined-button-icon-offset, -4px);margin-left:var(--mat-outlined-button-icon-spacing, 8px)}.mat-mdc-outlined-button .mdc-button__label+.mat-icon{margin-right:var(--mat-outlined-button-icon-offset, -4px);margin-left:var(--mat-outlined-button-icon-spacing, 8px)}[dir=rtl] .mat-mdc-outlined-button .mdc-button__label+.mat-icon{margin-right:var(--mat-outlined-button-icon-spacing, 8px);margin-left:var(--mat-outlined-button-icon-offset, -4px)}.mat-mdc-outlined-button .mat-ripple-element{background-color:var(--mat-outlined-button-ripple-color)}.mat-mdc-outlined-button .mat-mdc-button-persistent-ripple::before{background-color:var(--mat-outlined-button-state-layer-color)}.mat-mdc-outlined-button.mat-mdc-button-disabled .mat-mdc-button-persistent-ripple::before{background-color:var(--mat-outlined-button-disabled-state-layer-color)}.mat-mdc-outlined-button:hover .mat-mdc-button-persistent-ripple::before{opacity:var(--mat-outlined-button-hover-state-layer-opacity)}.mat-mdc-outlined-button.cdk-program-focused .mat-mdc-button-persistent-ripple::before,.mat-mdc-outlined-button.cdk-keyboard-focused .mat-mdc-button-persistent-ripple::before,.mat-mdc-outlined-button.mat-mdc-button-disabled-interactive:focus .mat-mdc-button-persistent-ripple::before{opacity:var(--mat-outlined-button-focus-state-layer-opacity)}.mat-mdc-outlined-button:active .mat-mdc-button-persistent-ripple::before{opacity:var(--mat-outlined-button-pressed-state-layer-opacity)}.mat-mdc-outlined-button .mat-mdc-button-touch-target{position:absolute;top:50%;height:48px;left:0;right:0;transform:translateY(-50%);display:var(--mat-outlined-button-touch-target-display)}.mat-mdc-outlined-button[disabled],.mat-mdc-outlined-button.mat-mdc-button-disabled{cursor:default;pointer-events:none;color:var(--mdc-outlined-button-disabled-label-text-color);border-color:var(--mdc-outlined-button-disabled-outline-color)}.mat-mdc-outlined-button.mat-mdc-button-disabled-interactive{pointer-events:auto}.mat-mdc-button-base{text-decoration:none}.mat-mdc-button,.mat-mdc-unelevated-button,.mat-mdc-raised-button,.mat-mdc-outlined-button{-webkit-tap-highlight-color:rgba(0,0,0,0)}.mat-mdc-button .mat-mdc-button-ripple,.mat-mdc-button .mat-mdc-button-persistent-ripple,.mat-mdc-button .mat-mdc-button-persistent-ripple::before,.mat-mdc-unelevated-button .mat-mdc-button-ripple,.mat-mdc-unelevated-button .mat-mdc-button-persistent-ripple,.mat-mdc-unelevated-button .mat-mdc-button-persistent-ripple::before,.mat-mdc-raised-button .mat-mdc-button-ripple,.mat-mdc-raised-button .mat-mdc-button-persistent-ripple,.mat-mdc-raised-button .mat-mdc-button-persistent-ripple::before,.mat-mdc-outlined-button .mat-mdc-button-ripple,.mat-mdc-outlined-button .mat-mdc-button-persistent-ripple,.mat-mdc-outlined-button .mat-mdc-button-persistent-ripple::before{top:0;left:0;right:0;bottom:0;position:absolute;pointer-events:none;border-radius:inherit}.mat-mdc-button .mat-mdc-button-ripple,.mat-mdc-unelevated-button .mat-mdc-button-ripple,.mat-mdc-raised-button .mat-mdc-button-ripple,.mat-mdc-outlined-button .mat-mdc-button-ripple{overflow:hidden}.mat-mdc-button .mat-mdc-button-persistent-ripple::before,.mat-mdc-unelevated-button .mat-mdc-button-persistent-ripple::before,.mat-mdc-raised-button .mat-mdc-button-persistent-ripple::before,.mat-mdc-outlined-button .mat-mdc-button-persistent-ripple::before{content:"";opacity:0}.mat-mdc-button .mdc-button__label,.mat-mdc-unelevated-button .mdc-button__label,.mat-mdc-raised-button .mdc-button__label,.mat-mdc-outlined-button .mdc-button__label{z-index:1}.mat-mdc-button .mat-mdc-focus-indicator,.mat-mdc-unelevated-button .mat-mdc-focus-indicator,.mat-mdc-raised-button .mat-mdc-focus-indicator,.mat-mdc-outlined-button .mat-mdc-focus-indicator{top:0;left:0;right:0;bottom:0;position:absolute}.mat-mdc-button:focus .mat-mdc-focus-indicator::before,.mat-mdc-unelevated-button:focus .mat-mdc-focus-indicator::before,.mat-mdc-raised-button:focus .mat-mdc-focus-indicator::before,.mat-mdc-outlined-button:focus .mat-mdc-focus-indicator::before{content:""}.mat-mdc-button._mat-animation-noopable,.mat-mdc-unelevated-button._mat-animation-noopable,.mat-mdc-raised-button._mat-animation-noopable,.mat-mdc-outlined-button._mat-animation-noopable{transition:none !important;animation:none !important}.mat-mdc-button>.mat-icon,.mat-mdc-unelevated-button>.mat-icon,.mat-mdc-raised-button>.mat-icon,.mat-mdc-outlined-button>.mat-icon{display:inline-block;position:relative;vertical-align:top;font-size:1.125rem;height:1.125rem;width:1.125rem}.mat-mdc-outlined-button .mat-mdc-button-ripple,.mat-mdc-outlined-button .mdc-button__ripple{top:-1px;left:-1px;bottom:-1px;right:-1px;border-width:-1px}.mat-mdc-unelevated-button .mat-mdc-focus-indicator::before,.mat-mdc-raised-button .mat-mdc-focus-indicator::before{margin:calc(calc(var(--mat-mdc-focus-indicator-border-width, 3px) + 2px)*-1)}.mat-mdc-outlined-button .mat-mdc-focus-indicator::before{margin:calc(calc(var(--mat-mdc-focus-indicator-border-width, 3px) + 3px)*-1)}',".cdk-high-contrast-active .mat-mdc-button:not(.mdc-button--outlined),.cdk-high-contrast-active .mat-mdc-unelevated-button:not(.mdc-button--outlined),.cdk-high-contrast-active .mat-mdc-raised-button:not(.mdc-button--outlined),.cdk-high-contrast-active .mat-mdc-outlined-button:not(.mdc-button--outlined),.cdk-high-contrast-active .mat-mdc-icon-button{outline:solid 1px}"],encapsulation:2,changeDetection:0})}return t})(),_q=(()=>{class t extends Ak{constructor(e,i,r,o){super(e,i,r,o),this._rippleLoader.configureRipple(this._elementRef.nativeElement,{centered:!0})}static#e=this.\u0275fac=function(i){return new(i||t)(C(Ne),C(Kt),C(de),C(Wn,8))};static#t=this.\u0275cmp=mt({type:t,selectors:[["button","mat-icon-button",""]],hostVars:14,hostBindings:function(i,r){2&i&&(Xe("disabled",r._getDisabledAttribute())("aria-disabled",r._getAriaDisabled()),so(r.color?"mat-"+r.color:""),st("mat-mdc-button-disabled",r.disabled)("mat-mdc-button-disabled-interactive",r.disabledInteractive)("_mat-animation-noopable","NoopAnimations"===r._animationMode)("mat-unthemed",!r.color)("mat-mdc-button-base",!0))},exportAs:["matButton"],standalone:!0,features:[ke,Gt],attrs:hq,ngContentSelectors:fq,decls:4,vars:0,consts:[[1,"mat-mdc-button-persistent-ripple","mdc-icon-button__ripple"],[1,"mat-mdc-focus-indicator"],[1,"mat-mdc-button-touch-target"]],template:function(i,r){1&i&&(Mn(),Ie(0,"span",0),qe(1),Ie(2,"span",1)(3,"span",2))},styles:['.mdc-icon-button{display:inline-block;position:relative;box-sizing:border-box;border:none;outline:none;background-color:rgba(0,0,0,0);fill:currentColor;color:inherit;text-decoration:none;cursor:pointer;user-select:none;z-index:0;overflow:visible}.mdc-icon-button .mdc-icon-button__touch{position:absolute;top:50%;height:48px;left:50%;width:48px;transform:translate(-50%, -50%)}@media screen and (forced-colors: active){.mdc-icon-button.mdc-ripple-upgraded--background-focused .mdc-icon-button__focus-ring,.mdc-icon-button:not(.mdc-ripple-upgraded):focus .mdc-icon-button__focus-ring{display:block}}.mdc-icon-button:disabled{cursor:default;pointer-events:none}.mdc-icon-button[hidden]{display:none}.mdc-icon-button--display-flex{align-items:center;display:inline-flex;justify-content:center}.mdc-icon-button__focus-ring{pointer-events:none;border:2px solid rgba(0,0,0,0);border-radius:6px;box-sizing:content-box;position:absolute;top:50%;left:50%;transform:translate(-50%, -50%);height:100%;width:100%;display:none}@media screen and (forced-colors: active){.mdc-icon-button__focus-ring{border-color:CanvasText}}.mdc-icon-button__focus-ring::after{content:"";border:2px solid rgba(0,0,0,0);border-radius:8px;display:block;position:absolute;top:50%;left:50%;transform:translate(-50%, -50%);height:calc(100% + 4px);width:calc(100% + 4px)}@media screen and (forced-colors: active){.mdc-icon-button__focus-ring::after{border-color:CanvasText}}.mdc-icon-button__icon{display:inline-block}.mdc-icon-button__icon.mdc-icon-button__icon--on{display:none}.mdc-icon-button--on .mdc-icon-button__icon{display:none}.mdc-icon-button--on .mdc-icon-button__icon.mdc-icon-button__icon--on{display:inline-block}.mdc-icon-button__link{height:100%;left:0;outline:none;position:absolute;top:0;width:100%}.mat-mdc-icon-button{color:var(--mdc-icon-button-icon-color)}.mat-mdc-icon-button .mdc-button__icon{font-size:var(--mdc-icon-button-icon-size)}.mat-mdc-icon-button svg,.mat-mdc-icon-button img{width:var(--mdc-icon-button-icon-size);height:var(--mdc-icon-button-icon-size)}.mat-mdc-icon-button:disabled{color:var(--mdc-icon-button-disabled-icon-color)}.mat-mdc-icon-button{border-radius:50%;flex-shrink:0;text-align:center;width:var(--mdc-icon-button-state-layer-size, 48px);height:var(--mdc-icon-button-state-layer-size, 48px);padding:calc(calc(var(--mdc-icon-button-state-layer-size, 48px) - var(--mdc-icon-button-icon-size, 24px)) / 2);font-size:var(--mdc-icon-button-icon-size);-webkit-tap-highlight-color:rgba(0,0,0,0)}.mat-mdc-icon-button svg{vertical-align:baseline}.mat-mdc-icon-button[disabled],.mat-mdc-icon-button.mat-mdc-button-disabled{cursor:default;pointer-events:none;color:var(--mdc-icon-button-disabled-icon-color)}.mat-mdc-icon-button.mat-mdc-button-disabled-interactive{pointer-events:auto}.mat-mdc-icon-button .mat-mdc-button-ripple,.mat-mdc-icon-button .mat-mdc-button-persistent-ripple,.mat-mdc-icon-button .mat-mdc-button-persistent-ripple::before{top:0;left:0;right:0;bottom:0;position:absolute;pointer-events:none;border-radius:inherit}.mat-mdc-icon-button .mat-mdc-button-ripple{overflow:hidden}.mat-mdc-icon-button .mat-mdc-button-persistent-ripple::before{content:"";opacity:0}.mat-mdc-icon-button .mdc-button__label{z-index:1}.mat-mdc-icon-button .mat-mdc-focus-indicator{top:0;left:0;right:0;bottom:0;position:absolute}.mat-mdc-icon-button:focus .mat-mdc-focus-indicator::before{content:""}.mat-mdc-icon-button .mat-ripple-element{background-color:var(--mat-icon-button-ripple-color)}.mat-mdc-icon-button .mat-mdc-button-persistent-ripple::before{background-color:var(--mat-icon-button-state-layer-color)}.mat-mdc-icon-button.mat-mdc-button-disabled .mat-mdc-button-persistent-ripple::before{background-color:var(--mat-icon-button-disabled-state-layer-color)}.mat-mdc-icon-button:hover .mat-mdc-button-persistent-ripple::before{opacity:var(--mat-icon-button-hover-state-layer-opacity)}.mat-mdc-icon-button.cdk-program-focused .mat-mdc-button-persistent-ripple::before,.mat-mdc-icon-button.cdk-keyboard-focused .mat-mdc-button-persistent-ripple::before,.mat-mdc-icon-button.mat-mdc-button-disabled-interactive:focus .mat-mdc-button-persistent-ripple::before{opacity:var(--mat-icon-button-focus-state-layer-opacity)}.mat-mdc-icon-button:active .mat-mdc-button-persistent-ripple::before{opacity:var(--mat-icon-button-pressed-state-layer-opacity)}.mat-mdc-icon-button .mat-mdc-button-touch-target{position:absolute;top:50%;height:48px;left:50%;width:48px;transform:translate(-50%, -50%);display:var(--mat-icon-button-touch-target-display)}.mat-mdc-icon-button._mat-animation-noopable{transition:none !important;animation:none !important}.mat-mdc-icon-button .mat-mdc-button-persistent-ripple{border-radius:50%}.mat-mdc-icon-button.mat-unthemed:not(.mdc-ripple-upgraded):focus::before,.mat-mdc-icon-button.mat-primary:not(.mdc-ripple-upgraded):focus::before,.mat-mdc-icon-button.mat-accent:not(.mdc-ripple-upgraded):focus::before,.mat-mdc-icon-button.mat-warn:not(.mdc-ripple-upgraded):focus::before{background:rgba(0,0,0,0);opacity:1}',".cdk-high-contrast-active .mat-mdc-button:not(.mdc-button--outlined),.cdk-high-contrast-active .mat-mdc-unelevated-button:not(.mdc-button--outlined),.cdk-high-contrast-active .mat-mdc-raised-button:not(.mdc-button--outlined),.cdk-high-contrast-active .mat-mdc-outlined-button:not(.mdc-button--outlined),.cdk-high-contrast-active .mat-mdc-icon-button{outline:solid 1px}"],encapsulation:2,changeDetection:0})}return t})(),Pv=(()=>{class t{static#e=this.\u0275fac=function(i){return new(i||t)};static#t=this.\u0275mod=Oe({type:t});static#n=this.\u0275inj=Re({imports:[_t,hk,_t]})}return t})();var be=function(t){return t[t.State=0]="State",t[t.Transition=1]="Transition",t[t.Sequence=2]="Sequence",t[t.Group=3]="Group",t[t.Animate=4]="Animate",t[t.Keyframes=5]="Keyframes",t[t.Style=6]="Style",t[t.Trigger=7]="Trigger",t[t.Reference=8]="Reference",t[t.AnimateChild=9]="AnimateChild",t[t.AnimateRef=10]="AnimateRef",t[t.Query=11]="Query",t[t.Stagger=12]="Stagger",t}(be||{});const kr="*";function Wa(t,n){return{type:be.Trigger,name:t,definitions:n,options:{}}}function Rr(t,n=null){return{type:be.Animate,styles:n,timings:t}}function vn(t){return{type:be.Style,styles:t,offset:null}}function Fr(t,n,e){return{type:be.State,name:t,styles:n,options:e}}function sr(t,n,e=null){return{type:be.Transition,expr:t,animation:n,options:e}}function Lv(t=null){return{type:be.AnimateChild,options:t}}function Bv(t,n,e=null){return{type:be.Query,selector:t,animation:n,options:e}}class $l{constructor(n=0,e=0){this._onDoneFns=[],this._onStartFns=[],this._onDestroyFns=[],this._originalOnDoneFns=[],this._originalOnStartFns=[],this._started=!1,this._destroyed=!1,this._finished=!1,this._position=0,this.parentPlayer=null,this.totalTime=n+e}_onFinish(){this._finished||(this._finished=!0,this._onDoneFns.forEach(n=>n()),this._onDoneFns=[])}onStart(n){this._originalOnStartFns.push(n),this._onStartFns.push(n)}onDone(n){this._originalOnDoneFns.push(n),this._onDoneFns.push(n)}onDestroy(n){this._onDestroyFns.push(n)}hasStarted(){return this._started}init(){}play(){this.hasStarted()||(this._onStart(),this.triggerMicrotask()),this._started=!0}triggerMicrotask(){queueMicrotask(()=>this._onFinish())}_onStart(){this._onStartFns.forEach(n=>n()),this._onStartFns=[]}pause(){}restart(){}finish(){this._onFinish()}destroy(){this._destroyed||(this._destroyed=!0,this.hasStarted()||this._onStart(),this.finish(),this._onDestroyFns.forEach(n=>n()),this._onDestroyFns=[])}reset(){this._started=!1,this._finished=!1,this._onStartFns=this._originalOnStartFns,this._onDoneFns=this._originalOnDoneFns}setPosition(n){this._position=this.totalTime?n*this.totalTime:1}getPosition(){return this.totalTime?this._position/this.totalTime:1}triggerCallback(n){const e="start"==n?this._onStartFns:this._onDoneFns;e.forEach(i=>i()),e.length=0}}class wk{constructor(n){this._onDoneFns=[],this._onStartFns=[],this._finished=!1,this._started=!1,this._destroyed=!1,this._onDestroyFns=[],this.parentPlayer=null,this.totalTime=0,this.players=n;let e=0,i=0,r=0;const o=this.players.length;0==o?queueMicrotask(()=>this._onFinish()):this.players.forEach(s=>{s.onDone(()=>{++e==o&&this._onFinish()}),s.onDestroy(()=>{++i==o&&this._onDestroy()}),s.onStart(()=>{++r==o&&this._onStart()})}),this.totalTime=this.players.reduce((s,a)=>Math.max(s,a.totalTime),0)}_onFinish(){this._finished||(this._finished=!0,this._onDoneFns.forEach(n=>n()),this._onDoneFns=[])}init(){this.players.forEach(n=>n.init())}onStart(n){this._onStartFns.push(n)}_onStart(){this.hasStarted()||(this._started=!0,this._onStartFns.forEach(n=>n()),this._onStartFns=[])}onDone(n){this._onDoneFns.push(n)}onDestroy(n){this._onDestroyFns.push(n)}hasStarted(){return this._started}play(){this.parentPlayer||this.init(),this._onStart(),this.players.forEach(n=>n.play())}pause(){this.players.forEach(n=>n.pause())}restart(){this.players.forEach(n=>n.restart())}finish(){this._onFinish(),this.players.forEach(n=>n.finish())}destroy(){this._onDestroy()}_onDestroy(){this._destroyed||(this._destroyed=!0,this._onFinish(),this.players.forEach(n=>n.destroy()),this._onDestroyFns.forEach(n=>n()),this._onDestroyFns=[])}reset(){this.players.forEach(n=>n.reset()),this._destroyed=!1,this._finished=!1,this._started=!1}setPosition(n){const e=n*this.totalTime;this.players.forEach(i=>{const r=i.totalTime?Math.min(1,e/i.totalTime):1;i.setPosition(r)})}getPosition(){const n=this.players.reduce((e,i)=>null===e||i.totalTime>e.totalTime?i:e,null);return null!=n?n.getPosition():0}beforeDestroy(){this.players.forEach(n=>{n.beforeDestroy&&n.beforeDestroy()})}triggerCallback(n){const e="start"==n?this._onStartFns:this._onDoneFns;e.forEach(i=>i()),e.length=0}}class Hv{attach(n){return this._attachedHost=n,n.attach(this)}detach(){let n=this._attachedHost;null!=n&&(this._attachedHost=null,n.detach())}get isAttached(){return null!=this._attachedHost}setAttachedHost(n){this._attachedHost=n}}class Xa extends Hv{constructor(n,e,i,r,o){super(),this.component=n,this.viewContainerRef=e,this.injector=i,this.componentFactoryResolver=r,this.projectableNodes=o}}class pf extends Hv{constructor(n,e,i,r){super(),this.templateRef=n,this.viewContainerRef=e,this.context=i,this.injector=r}get origin(){return this.templateRef.elementRef}attach(n,e=this.context){return this.context=e,super.attach(n)}detach(){return this.context=void 0,super.detach()}}class Eq extends Hv{constructor(n){super(),this.element=n instanceof Ne?n.nativeElement:n}}class gf{constructor(){this._isDisposed=!1,this.attachDomPortal=null}hasAttached(){return!!this._attachedPortal}attach(n){return n instanceof Xa?(this._attachedPortal=n,this.attachComponentPortal(n)):n instanceof pf?(this._attachedPortal=n,this.attachTemplatePortal(n)):this.attachDomPortal&&n instanceof Eq?(this._attachedPortal=n,this.attachDomPortal(n)):void 0}detach(){this._attachedPortal&&(this._attachedPortal.setAttachedHost(null),this._attachedPortal=null),this._invokeDisposeFn()}dispose(){this.hasAttached()&&this.detach(),this._invokeDisposeFn(),this._isDisposed=!0}setDisposeFn(n){this._disposeFn=n}_invokeDisposeFn(){this._disposeFn&&(this._disposeFn(),this._disposeFn=null)}}class wq extends gf{constructor(n,e,i,r,o){super(),this.outletElement=n,this._componentFactoryResolver=e,this._appRef=i,this._defaultInjector=r,this.attachDomPortal=s=>{const a=s.element,c=this._document.createComment("dom-portal");a.parentNode.insertBefore(c,a),this.outletElement.appendChild(a),this._attachedPortal=s,super.setDisposeFn(()=>{c.parentNode&&c.parentNode.replaceChild(a,c)})},this._document=o}attachComponentPortal(n){const i=(n.componentFactoryResolver||this._componentFactoryResolver).resolveComponentFactory(n.component);let r;return n.viewContainerRef?(r=n.viewContainerRef.createComponent(i,n.viewContainerRef.length,n.injector||n.viewContainerRef.injector,n.projectableNodes||void 0),this.setDisposeFn(()=>r.destroy())):(r=i.create(n.injector||this._defaultInjector||kt.NULL),this._appRef.attachView(r.hostView),this.setDisposeFn(()=>{this._appRef.viewCount>0&&this._appRef.detachView(r.hostView),r.destroy()})),this.outletElement.appendChild(this._getComponentRootNode(r)),this._attachedPortal=n,r}attachTemplatePortal(n){let e=n.viewContainerRef,i=e.createEmbeddedView(n.templateRef,n.context,{injector:n.injector});return i.rootNodes.forEach(r=>this.outletElement.appendChild(r)),i.detectChanges(),this.setDisposeFn(()=>{let r=e.indexOf(i);-1!==r&&e.remove(r)}),this._attachedPortal=n,i}dispose(){super.dispose(),this.outletElement.remove()}_getComponentRootNode(n){return n.hostView.rootNodes[0]}}let Wl=(()=>{class t extends gf{constructor(e,i,r){super(),this._componentFactoryResolver=e,this._viewContainerRef=i,this._isInitialized=!1,this.attached=new Te,this.attachDomPortal=o=>{const s=o.element,a=this._document.createComment("dom-portal");o.setAttachedHost(this),s.parentNode.insertBefore(a,s),this._getRootNode().appendChild(s),this._attachedPortal=o,super.setDisposeFn(()=>{a.parentNode&&a.parentNode.replaceChild(s,a)})},this._document=r}get portal(){return this._attachedPortal}set portal(e){this.hasAttached()&&!e&&!this._isInitialized||(this.hasAttached()&&super.detach(),e&&super.attach(e),this._attachedPortal=e||null)}get attachedRef(){return this._attachedRef}ngOnInit(){this._isInitialized=!0}ngOnDestroy(){super.dispose(),this._attachedRef=this._attachedPortal=null}attachComponentPortal(e){e.setAttachedHost(this);const i=null!=e.viewContainerRef?e.viewContainerRef:this._viewContainerRef,o=(e.componentFactoryResolver||this._componentFactoryResolver).resolveComponentFactory(e.component),s=i.createComponent(o,i.length,e.injector||i.injector,e.projectableNodes||void 0);return i!==this._viewContainerRef&&this._getRootNode().appendChild(s.hostView.rootNodes[0]),super.setDisposeFn(()=>s.destroy()),this._attachedPortal=e,this._attachedRef=s,this.attached.emit(s),s}attachTemplatePortal(e){e.setAttachedHost(this);const i=this._viewContainerRef.createEmbeddedView(e.templateRef,e.context,{injector:e.injector});return super.setDisposeFn(()=>this._viewContainerRef.clear()),this._attachedPortal=e,this._attachedRef=i,this.attached.emit(i),i}_getRootNode(){const e=this._viewContainerRef.element.nativeElement;return e.nodeType===e.ELEMENT_NODE?e:e.parentNode}static#e=this.\u0275fac=function(i){return new(i||t)(C(_a),C(_i),C(Ve))};static#t=this.\u0275dir=J({type:t,selectors:[["","cdkPortalOutlet",""]],inputs:{portal:[X.None,"cdkPortalOutlet","portal"]},outputs:{attached:"attached"},exportAs:["cdkPortalOutlet"],standalone:!0,features:[ke]})}return t})(),Xl=(()=>{class t{static#e=this.\u0275fac=function(i){return new(i||t)};static#t=this.\u0275mod=Oe({type:t});static#n=this.\u0275inj=Re({})}return t})();const Sq=["addListener","removeListener"],Dq=["addEventListener","removeEventListener"],Cq=["on","off"];function Yn(t,n,e,i){if(Ge(e)&&(i=e,e=void 0),i)return Yn(t,n,e).pipe(Cv(i));const[r,o]=function Tq(t){return Ge(t.addEventListener)&&Ge(t.removeEventListener)}(t)?Dq.map(s=>a=>t[s](n,a,e)):function Mq(t){return Ge(t.addListener)&&Ge(t.removeListener)}(t)?Sq.map(Sk(t,n)):function Iq(t){return Ge(t.on)&&Ge(t.off)}(t)?Cq.map(Sk(t,n)):[];if(!r&&ov(t))return uo(s=>Yn(s,n,e))(Zt(t));if(!r)throw new TypeError("Invalid event target");return new ht(s=>{const a=(...c)=>s.next(1o(a)})}function Sk(t,n){return e=>i=>t[e](n,i)}const ql={schedule(t){let n=requestAnimationFrame,e=cancelAnimationFrame;const{delegate:i}=ql;i&&(n=i.requestAnimationFrame,e=i.cancelAnimationFrame);const r=n(o=>{e=void 0,t(o)});return new Et(()=>e?.(r))},requestAnimationFrame(...t){const{delegate:n}=ql;return(n?.requestAnimationFrame||requestAnimationFrame)(...t)},cancelAnimationFrame(...t){const{delegate:n}=ql;return(n?.cancelAnimationFrame||cancelAnimationFrame)(...t)},delegate:void 0};new class Rq extends Sv{flush(n){this._active=!0;const e=this._scheduled;this._scheduled=void 0;const{actions:i}=this;let r;n=n||i.shift();do{if(r=n.execute(n.state,n.delay))break}while((n=i[0])&&n.id===e&&i.shift());if(this._active=!1,r){for(;(n=i[0])&&n.id===e&&i.shift();)n.unsubscribe();throw r}}}(class kq extends Ev{constructor(n,e){super(n,e),this.scheduler=n,this.work=e}requestAsyncId(n,e,i=0){return null!==i&&i>0?super.requestAsyncId(n,e,i):(n.actions.push(this),n._scheduled||(n._scheduled=ql.requestAnimationFrame(()=>n.flush(void 0))))}recycleAsyncId(n,e,i=0){var r;if(null!=i?i>0:this.delay>0)return super.recycleAsyncId(n,e,i);const{actions:o}=n;null!=e&&(null===(r=o[o.length-1])||void 0===r?void 0:r.id)!==e&&(ql.cancelAnimationFrame(e),n._scheduled=void 0)}});let jv,Oq=1;const _f={};function Dk(t){return t in _f&&(delete _f[t],!0)}const Nq={setImmediate(t){const n=Oq++;return _f[n]=!0,jv||(jv=Promise.resolve()),jv.then(()=>Dk(n)&&t()),n},clearImmediate(t){Dk(t)}},{setImmediate:Pq,clearImmediate:Lq}=Nq,bf={setImmediate(...t){const{delegate:n}=bf;return(n?.setImmediate||Pq)(...t)},clearImmediate(t){const{delegate:n}=bf;return(n?.clearImmediate||Lq)(t)},delegate:void 0};new class Vq extends Sv{flush(n){this._active=!0;const e=this._scheduled;this._scheduled=void 0;const{actions:i}=this;let r;n=n||i.shift();do{if(r=n.execute(n.state,n.delay))break}while((n=i[0])&&n.id===e&&i.shift());if(this._active=!1,r){for(;(n=i[0])&&n.id===e&&i.shift();)n.unsubscribe();throw r}}}(class Bq extends Ev{constructor(n,e){super(n,e),this.scheduler=n,this.work=e}requestAsyncId(n,e,i=0){return null!==i&&i>0?super.requestAsyncId(n,e,i):(n.actions.push(this),n._scheduled||(n._scheduled=bf.setImmediate(n.flush.bind(n,void 0))))}recycleAsyncId(n,e,i=0){var r;if(null!=i?i>0:this.delay>0)return super.recycleAsyncId(n,e,i);const{actions:o}=n;null!=e&&(null===(r=o[o.length-1])||void 0===r?void 0:r.id)!==e&&(bf.clearImmediate(e),n._scheduled===e&&(n._scheduled=void 0))}});function ar(t=0,n,e=X6){let i=-1;return null!=n&&(zI(n)?e=n:i=n),new ht(r=>{let o=function Uq(t){return t instanceof Date&&!isNaN(t)}(t)?+t-e.now():t;o<0&&(o=0);let s=0;return e.schedule(function(){r.closed||(r.next(s++),0<=i?this.schedule(void 0,i):r.complete())},o)})}function Ck(t,n=jl){return function jq(t){return Ot((n,e)=>{let i=!1,r=null,o=null,s=!1;const a=()=>{if(o?.unsubscribe(),o=null,i){i=!1;const l=r;r=null,e.next(l)}s&&e.complete()},c=()=>{o=null,s&&e.complete()};n.subscribe(ft(e,l=>{i=!0,r=l,o||Zt(t(l)).subscribe(o=ft(e,a,c))},()=>{s=!0,(!i||!o||o.closed)&&e.complete()}))})}(()=>ar(t,n))}let Gq=(()=>{class t{constructor(e,i,r){this._ngZone=e,this._platform=i,this._scrolled=new ue,this._globalSubscription=null,this._scrolledCount=0,this.scrollContainers=new Map,this._document=r}register(e){this.scrollContainers.has(e)||this.scrollContainers.set(e,e.elementScrolled().subscribe(()=>this._scrolled.next(e)))}deregister(e){const i=this.scrollContainers.get(e);i&&(i.unsubscribe(),this.scrollContainers.delete(e))}scrolled(e=20){return this._platform.isBrowser?new ht(i=>{this._globalSubscription||this._addGlobalListener();const r=e>0?this._scrolled.pipe(Ck(e)).subscribe(i):this._scrolled.subscribe(i);return this._scrolledCount++,()=>{r.unsubscribe(),this._scrolledCount--,this._scrolledCount||this._removeGlobalListener()}}):bn()}ngOnDestroy(){this._removeGlobalListener(),this.scrollContainers.forEach((e,i)=>this.deregister(i)),this._scrolled.complete()}ancestorScrolled(e,i){const r=this.getAncestorScrollContainers(e);return this.scrolled(i).pipe($e(o=>!o||r.indexOf(o)>-1))}getAncestorScrollContainers(e){const i=[];return this.scrollContainers.forEach((r,o)=>{this._scrollableContainsElement(o,e)&&i.push(o)}),i}_getWindow(){return this._document.defaultView||window}_scrollableContainsElement(e,i){let r=po(i),o=e.getElementRef().nativeElement;do{if(r==o)return!0}while(r=r.parentElement);return!1}_addGlobalListener(){this._globalSubscription=this._ngZone.runOutsideAngular(()=>Yn(this._getWindow().document,"scroll").subscribe(()=>this._scrolled.next()))}_removeGlobalListener(){this._globalSubscription&&(this._globalSubscription.unsubscribe(),this._globalSubscription=null)}static#e=this.\u0275fac=function(i){return new(i||t)(R(de),R(Kt),R(Ve,8))};static#t=this.\u0275prov=q({token:t,factory:t.\u0275fac,providedIn:"root"})}return t})(),Uv=(()=>{class t{constructor(e,i,r){this._platform=e,this._change=new ue,this._changeListener=o=>{this._change.next(o)},this._document=r,i.runOutsideAngular(()=>{if(e.isBrowser){const o=this._getWindow();o.addEventListener("resize",this._changeListener),o.addEventListener("orientationchange",this._changeListener)}this.change().subscribe(()=>this._viewportSize=null)})}ngOnDestroy(){if(this._platform.isBrowser){const e=this._getWindow();e.removeEventListener("resize",this._changeListener),e.removeEventListener("orientationchange",this._changeListener)}this._change.complete()}getViewportSize(){this._viewportSize||this._updateViewportSize();const e={width:this._viewportSize.width,height:this._viewportSize.height};return this._platform.isBrowser||(this._viewportSize=null),e}getViewportRect(){const e=this.getViewportScrollPosition(),{width:i,height:r}=this.getViewportSize();return{top:e.top,left:e.left,bottom:e.top+r,right:e.left+i,height:r,width:i}}getViewportScrollPosition(){if(!this._platform.isBrowser)return{top:0,left:0};const e=this._document,i=this._getWindow(),r=e.documentElement,o=r.getBoundingClientRect();return{top:-o.top||e.body.scrollTop||i.scrollY||r.scrollTop||0,left:-o.left||e.body.scrollLeft||i.scrollX||r.scrollLeft||0}}change(e=20){return e>0?this._change.pipe(Ck(e)):this._change}_getWindow(){return this._document.defaultView||window}_updateViewportSize(){const e=this._getWindow();this._viewportSize=this._platform.isBrowser?{width:e.innerWidth,height:e.innerHeight}:{width:0,height:0}}static#e=this.\u0275fac=function(i){return new(i||t)(R(Kt),R(de),R(Ve,8))};static#t=this.\u0275prov=q({token:t,factory:t.\u0275fac,providedIn:"root"})}return t})(),zv=(()=>{class t{static#e=this.\u0275fac=function(i){return new(i||t)};static#t=this.\u0275mod=Oe({type:t});static#n=this.\u0275inj=Re({})}return t})(),Mk=(()=>{class t{static#e=this.\u0275fac=function(i){return new(i||t)};static#t=this.\u0275mod=Oe({type:t});static#n=this.\u0275inj=Re({imports:[Ul,zv,Ul,zv]})}return t})();function Ik(t,n=!1){return Ot((e,i)=>{let r=0;e.subscribe(ft(i,o=>{const s=t(o,r++);(s||n)&&i.next(o),!s&&i.complete()}))})}function wi(...t){const n=Ol(t),e=function vW(t,n){return"number"==typeof Jb(t)?t.pop():n}(t,1/0),i=t;return i.length?1===i.length?Zt(i[0]):BT(e)(In(i,n)):za}const Tk=T6();class Wq{constructor(n,e){this._viewportRuler=n,this._previousHTMLStyles={top:"",left:""},this._isEnabled=!1,this._document=e}attach(){}enable(){if(this._canBeEnabled()){const n=this._document.documentElement;this._previousScrollPosition=this._viewportRuler.getViewportScrollPosition(),this._previousHTMLStyles.left=n.style.left||"",this._previousHTMLStyles.top=n.style.top||"",n.style.left=Jt(-this._previousScrollPosition.left),n.style.top=Jt(-this._previousScrollPosition.top),n.classList.add("cdk-global-scrollblock"),this._isEnabled=!0}}disable(){if(this._isEnabled){const n=this._document.documentElement,i=n.style,r=this._document.body.style,o=i.scrollBehavior||"",s=r.scrollBehavior||"";this._isEnabled=!1,i.left=this._previousHTMLStyles.left,i.top=this._previousHTMLStyles.top,n.classList.remove("cdk-global-scrollblock"),Tk&&(i.scrollBehavior=r.scrollBehavior="auto"),window.scroll(this._previousScrollPosition.left,this._previousScrollPosition.top),Tk&&(i.scrollBehavior=o,r.scrollBehavior=s)}}_canBeEnabled(){if(this._document.documentElement.classList.contains("cdk-global-scrollblock")||this._isEnabled)return!1;const e=this._document.body,i=this._viewportRuler.getViewportSize();return e.scrollHeight>i.height||e.scrollWidth>i.width}}class Xq{constructor(n,e,i,r){this._scrollDispatcher=n,this._ngZone=e,this._viewportRuler=i,this._config=r,this._scrollSubscription=null,this._detach=()=>{this.disable(),this._overlayRef.hasAttached()&&this._ngZone.run(()=>this._overlayRef.detach())}}attach(n){this._overlayRef=n}enable(){if(this._scrollSubscription)return;const n=this._scrollDispatcher.scrolled(0).pipe($e(e=>!e||!this._overlayRef.overlayElement.contains(e.getElementRef().nativeElement)));this._config&&this._config.threshold&&this._config.threshold>1?(this._initialScrollPosition=this._viewportRuler.getViewportScrollPosition().top,this._scrollSubscription=n.subscribe(()=>{const e=this._viewportRuler.getViewportScrollPosition().top;Math.abs(e-this._initialScrollPosition)>this._config.threshold?this._detach():this._overlayRef.updatePosition()})):this._scrollSubscription=n.subscribe(this._detach)}disable(){this._scrollSubscription&&(this._scrollSubscription.unsubscribe(),this._scrollSubscription=null)}detach(){this.disable(),this._overlayRef=null}}class kk{enable(){}disable(){}attach(){}}function Gv(t,n){return n.some(e=>t.bottome.bottom||t.righte.right)}function Rk(t,n){return n.some(e=>t.tope.bottom||t.lefte.right)}class qq{constructor(n,e,i,r){this._scrollDispatcher=n,this._viewportRuler=e,this._ngZone=i,this._config=r,this._scrollSubscription=null}attach(n){this._overlayRef=n}enable(){this._scrollSubscription||(this._scrollSubscription=this._scrollDispatcher.scrolled(this._config?this._config.scrollThrottle:0).subscribe(()=>{if(this._overlayRef.updatePosition(),this._config&&this._config.autoClose){const e=this._overlayRef.overlayElement.getBoundingClientRect(),{width:i,height:r}=this._viewportRuler.getViewportSize();Gv(e,[{width:i,height:r,bottom:r,right:i,top:0,left:0}])&&(this.disable(),this._ngZone.run(()=>this._overlayRef.detach()))}}))}disable(){this._scrollSubscription&&(this._scrollSubscription.unsubscribe(),this._scrollSubscription=null)}detach(){this.disable(),this._overlayRef=null}}let Yq=(()=>{class t{constructor(e,i,r,o){this._scrollDispatcher=e,this._viewportRuler=i,this._ngZone=r,this.noop=()=>new kk,this.close=s=>new Xq(this._scrollDispatcher,this._ngZone,this._viewportRuler,s),this.block=()=>new Wq(this._viewportRuler,this._document),this.reposition=s=>new qq(this._scrollDispatcher,this._viewportRuler,this._ngZone,s),this._document=o}static#e=this.\u0275fac=function(i){return new(i||t)(R(Gq),R(Uv),R(de),R(Ve))};static#t=this.\u0275prov=q({token:t,factory:t.\u0275fac,providedIn:"root"})}return t})();class Yl{constructor(n){if(this.scrollStrategy=new kk,this.panelClass="",this.hasBackdrop=!1,this.backdropClass="cdk-overlay-dark-backdrop",this.disposeOnNavigation=!1,n){const e=Object.keys(n);for(const i of e)void 0!==n[i]&&(this[i]=n[i])}}}class Qq{constructor(n,e){this.connectionPair=n,this.scrollableViewProperties=e}}let Fk=(()=>{class t{constructor(e){this._attachedOverlays=[],this._document=e}ngOnDestroy(){this.detach()}add(e){this.remove(e),this._attachedOverlays.push(e)}remove(e){const i=this._attachedOverlays.indexOf(e);i>-1&&this._attachedOverlays.splice(i,1),0===this._attachedOverlays.length&&this.detach()}static#e=this.\u0275fac=function(i){return new(i||t)(R(Ve))};static#t=this.\u0275prov=q({token:t,factory:t.\u0275fac,providedIn:"root"})}return t})(),Zq=(()=>{class t extends Fk{constructor(e,i){super(e),this._ngZone=i,this._keydownListener=r=>{const o=this._attachedOverlays;for(let s=o.length-1;s>-1;s--)if(o[s]._keydownEvents.observers.length>0){const a=o[s]._keydownEvents;this._ngZone?this._ngZone.run(()=>a.next(r)):a.next(r);break}}}add(e){super.add(e),this._isAttached||(this._ngZone?this._ngZone.runOutsideAngular(()=>this._document.body.addEventListener("keydown",this._keydownListener)):this._document.body.addEventListener("keydown",this._keydownListener),this._isAttached=!0)}detach(){this._isAttached&&(this._document.body.removeEventListener("keydown",this._keydownListener),this._isAttached=!1)}static#e=this.\u0275fac=function(i){return new(i||t)(R(Ve),R(de,8))};static#t=this.\u0275prov=q({token:t,factory:t.\u0275fac,providedIn:"root"})}return t})(),Kq=(()=>{class t extends Fk{constructor(e,i,r){super(e),this._platform=i,this._ngZone=r,this._cursorStyleIsSet=!1,this._pointerDownListener=o=>{this._pointerDownEventTarget=mo(o)},this._clickListener=o=>{const s=mo(o),a="click"===o.type&&this._pointerDownEventTarget?this._pointerDownEventTarget:s;this._pointerDownEventTarget=null;const c=this._attachedOverlays.slice();for(let l=c.length-1;l>-1;l--){const d=c[l];if(d._outsidePointerEvents.observers.length<1||!d.hasAttached())continue;if(d.overlayElement.contains(s)||d.overlayElement.contains(a))break;const u=d._outsidePointerEvents;this._ngZone?this._ngZone.run(()=>u.next(o)):u.next(o)}}}add(e){if(super.add(e),!this._isAttached){const i=this._document.body;this._ngZone?this._ngZone.runOutsideAngular(()=>this._addEventListeners(i)):this._addEventListeners(i),this._platform.IOS&&!this._cursorStyleIsSet&&(this._cursorOriginalValue=i.style.cursor,i.style.cursor="pointer",this._cursorStyleIsSet=!0),this._isAttached=!0}}detach(){if(this._isAttached){const e=this._document.body;e.removeEventListener("pointerdown",this._pointerDownListener,!0),e.removeEventListener("click",this._clickListener,!0),e.removeEventListener("auxclick",this._clickListener,!0),e.removeEventListener("contextmenu",this._clickListener,!0),this._platform.IOS&&this._cursorStyleIsSet&&(e.style.cursor=this._cursorOriginalValue,this._cursorStyleIsSet=!1),this._isAttached=!1}}_addEventListeners(e){e.addEventListener("pointerdown",this._pointerDownListener,!0),e.addEventListener("click",this._clickListener,!0),e.addEventListener("auxclick",this._clickListener,!0),e.addEventListener("contextmenu",this._clickListener,!0)}static#e=this.\u0275fac=function(i){return new(i||t)(R(Ve),R(Kt),R(de,8))};static#t=this.\u0275prov=q({token:t,factory:t.\u0275fac,providedIn:"root"})}return t})(),vf=(()=>{class t{constructor(e,i){this._platform=i,this._document=e}ngOnDestroy(){this._containerElement?.remove()}getContainerElement(){return this._containerElement||this._createContainer(),this._containerElement}_createContainer(){const e="cdk-overlay-container";if(this._platform.isBrowser||_v()){const r=this._document.querySelectorAll(`.${e}[platform="server"], .${e}[platform="test"]`);for(let o=0;othis._backdropClick.next(u),this._backdropTransitionendHandler=u=>{this._disposeBackdrop(u.target)},this._keydownEvents=new ue,this._outsidePointerEvents=new ue,r.scrollStrategy&&(this._scrollStrategy=r.scrollStrategy,this._scrollStrategy.attach(this)),this._positionStrategy=r.positionStrategy}get overlayElement(){return this._pane}get backdropElement(){return this._backdropElement}get hostElement(){return this._host}attach(n){!this._host.parentElement&&this._previousHostParent&&this._previousHostParent.appendChild(this._host);const e=this._portalOutlet.attach(n);return this._positionStrategy&&this._positionStrategy.attach(this),this._updateStackingOrder(),this._updateElementSize(),this._updateElementDirection(),this._scrollStrategy&&this._scrollStrategy.enable(),this._ngZone.onStable.pipe(Rt(1)).subscribe(()=>{this.hasAttached()&&this.updatePosition()}),this._togglePointerEvents(!0),this._config.hasBackdrop&&this._attachBackdrop(),this._config.panelClass&&this._toggleClasses(this._pane,this._config.panelClass,!0),this._attachments.next(),this._keyboardDispatcher.add(this),this._config.disposeOnNavigation&&(this._locationChanges=this._location.subscribe(()=>this.dispose())),this._outsideClickDispatcher.add(this),"function"==typeof e?.onDestroy&&e.onDestroy(()=>{this.hasAttached()&&this._ngZone.runOutsideAngular(()=>Promise.resolve().then(()=>this.detach()))}),e}detach(){if(!this.hasAttached())return;this.detachBackdrop(),this._togglePointerEvents(!1),this._positionStrategy&&this._positionStrategy.detach&&this._positionStrategy.detach(),this._scrollStrategy&&this._scrollStrategy.disable();const n=this._portalOutlet.detach();return this._detachments.next(),this._keyboardDispatcher.remove(this),this._detachContentWhenStable(),this._locationChanges.unsubscribe(),this._outsideClickDispatcher.remove(this),n}dispose(){const n=this.hasAttached();this._positionStrategy&&this._positionStrategy.dispose(),this._disposeScrollStrategy(),this._disposeBackdrop(this._backdropElement),this._locationChanges.unsubscribe(),this._keyboardDispatcher.remove(this),this._portalOutlet.dispose(),this._attachments.complete(),this._backdropClick.complete(),this._keydownEvents.complete(),this._outsidePointerEvents.complete(),this._outsideClickDispatcher.remove(this),this._host?.remove(),this._previousHostParent=this._pane=this._host=null,n&&this._detachments.next(),this._detachments.complete()}hasAttached(){return this._portalOutlet.hasAttached()}backdropClick(){return this._backdropClick}attachments(){return this._attachments}detachments(){return this._detachments}keydownEvents(){return this._keydownEvents}outsidePointerEvents(){return this._outsidePointerEvents}getConfig(){return this._config}updatePosition(){this._positionStrategy&&this._positionStrategy.apply()}updatePositionStrategy(n){n!==this._positionStrategy&&(this._positionStrategy&&this._positionStrategy.dispose(),this._positionStrategy=n,this.hasAttached()&&(n.attach(this),this.updatePosition()))}updateSize(n){this._config={...this._config,...n},this._updateElementSize()}setDirection(n){this._config={...this._config,direction:n},this._updateElementDirection()}addPanelClass(n){this._pane&&this._toggleClasses(this._pane,n,!0)}removePanelClass(n){this._pane&&this._toggleClasses(this._pane,n,!1)}getDirection(){const n=this._config.direction;return n?"string"==typeof n?n:n.value:"ltr"}updateScrollStrategy(n){n!==this._scrollStrategy&&(this._disposeScrollStrategy(),this._scrollStrategy=n,this.hasAttached()&&(n.attach(this),n.enable()))}_updateElementDirection(){this._host.setAttribute("dir",this.getDirection())}_updateElementSize(){if(!this._pane)return;const n=this._pane.style;n.width=Jt(this._config.width),n.height=Jt(this._config.height),n.minWidth=Jt(this._config.minWidth),n.minHeight=Jt(this._config.minHeight),n.maxWidth=Jt(this._config.maxWidth),n.maxHeight=Jt(this._config.maxHeight)}_togglePointerEvents(n){this._pane.style.pointerEvents=n?"":"none"}_attachBackdrop(){const n="cdk-overlay-backdrop-showing";this._backdropElement=this._document.createElement("div"),this._backdropElement.classList.add("cdk-overlay-backdrop"),this._animationsDisabled&&this._backdropElement.classList.add("cdk-overlay-backdrop-noop-animation"),this._config.backdropClass&&this._toggleClasses(this._backdropElement,this._config.backdropClass,!0),this._host.parentElement.insertBefore(this._backdropElement,this._host),this._backdropElement.addEventListener("click",this._backdropClickHandler),!this._animationsDisabled&&typeof requestAnimationFrame<"u"?this._ngZone.runOutsideAngular(()=>{requestAnimationFrame(()=>{this._backdropElement&&this._backdropElement.classList.add(n)})}):this._backdropElement.classList.add(n)}_updateStackingOrder(){this._host.nextSibling&&this._host.parentNode.appendChild(this._host)}detachBackdrop(){const n=this._backdropElement;if(n){if(this._animationsDisabled)return void this._disposeBackdrop(n);n.classList.remove("cdk-overlay-backdrop-showing"),this._ngZone.runOutsideAngular(()=>{n.addEventListener("transitionend",this._backdropTransitionendHandler)}),n.style.pointerEvents="none",this._backdropTimeout=this._ngZone.runOutsideAngular(()=>setTimeout(()=>{this._disposeBackdrop(n)},500))}}_toggleClasses(n,e,i){const r=lf(e||[]).filter(o=>!!o);r.length&&(i?n.classList.add(...r):n.classList.remove(...r))}_detachContentWhenStable(){this._ngZone.runOutsideAngular(()=>{const n=this._ngZone.onStable.pipe(Tn(wi(this._attachments,this._detachments))).subscribe(()=>{(!this._pane||!this._host||0===this._pane.children.length)&&(this._pane&&this._config.panelClass&&this._toggleClasses(this._pane,this._config.panelClass,!1),this._host&&this._host.parentElement&&(this._previousHostParent=this._host.parentElement,this._host.remove()),n.unsubscribe())})})}_disposeScrollStrategy(){const n=this._scrollStrategy;n&&(n.disable(),n.detach&&n.detach())}_disposeBackdrop(n){n&&(n.removeEventListener("click",this._backdropClickHandler),n.removeEventListener("transitionend",this._backdropTransitionendHandler),n.remove(),this._backdropElement===n&&(this._backdropElement=null)),this._backdropTimeout&&(clearTimeout(this._backdropTimeout),this._backdropTimeout=void 0)}}const Ok="cdk-overlay-connected-position-bounding-box",Jq=/([A-Za-z%]+)$/;class e9{get positions(){return this._preferredPositions}constructor(n,e,i,r,o){this._viewportRuler=e,this._document=i,this._platform=r,this._overlayContainer=o,this._lastBoundingBoxSize={width:0,height:0},this._isPushed=!1,this._canPush=!0,this._growAfterOpen=!1,this._hasFlexibleDimensions=!0,this._positionLocked=!1,this._viewportMargin=0,this._scrollables=[],this._preferredPositions=[],this._positionChanges=new ue,this._resizeSubscription=Et.EMPTY,this._offsetX=0,this._offsetY=0,this._appliedPanelClasses=[],this.positionChanges=this._positionChanges,this.setOrigin(n)}attach(n){this._validatePositions(),n.hostElement.classList.add(Ok),this._overlayRef=n,this._boundingBox=n.hostElement,this._pane=n.overlayElement,this._isDisposed=!1,this._isInitialRender=!0,this._lastPosition=null,this._resizeSubscription.unsubscribe(),this._resizeSubscription=this._viewportRuler.change().subscribe(()=>{this._isInitialRender=!0,this.apply()})}apply(){if(this._isDisposed||!this._platform.isBrowser)return;if(!this._isInitialRender&&this._positionLocked&&this._lastPosition)return void this.reapplyLastPosition();this._clearPanelClasses(),this._resetOverlayElementStyles(),this._resetBoundingBoxStyles(),this._viewportRect=this._getNarrowedViewportRect(),this._originRect=this._getOriginRect(),this._overlayRect=this._pane.getBoundingClientRect(),this._containerRect=this._overlayContainer.getContainerElement().getBoundingClientRect();const n=this._originRect,e=this._overlayRect,i=this._viewportRect,r=this._containerRect,o=[];let s;for(let a of this._preferredPositions){let c=this._getOriginPoint(n,r,a),l=this._getOverlayPoint(c,e,a),d=this._getOverlayFit(l,e,i,a);if(d.isCompletelyWithinViewport)return this._isPushed=!1,void this._applyPosition(a,c);this._canFitWithFlexibleDimensions(d,l,i)?o.push({position:a,origin:c,overlayRect:e,boundingBoxRect:this._calculateBoundingBoxRect(c,a)}):(!s||s.overlayFit.visibleAreac&&(c=d,a=l)}return this._isPushed=!1,void this._applyPosition(a.position,a.origin)}if(this._canPush)return this._isPushed=!0,void this._applyPosition(s.position,s.originPoint);this._applyPosition(s.position,s.originPoint)}detach(){this._clearPanelClasses(),this._lastPosition=null,this._previousPushAmount=null,this._resizeSubscription.unsubscribe()}dispose(){this._isDisposed||(this._boundingBox&&ds(this._boundingBox.style,{top:"",left:"",right:"",bottom:"",height:"",width:"",alignItems:"",justifyContent:""}),this._pane&&this._resetOverlayElementStyles(),this._overlayRef&&this._overlayRef.hostElement.classList.remove(Ok),this.detach(),this._positionChanges.complete(),this._overlayRef=this._boundingBox=null,this._isDisposed=!0)}reapplyLastPosition(){if(this._isDisposed||!this._platform.isBrowser)return;const n=this._lastPosition;if(n){this._originRect=this._getOriginRect(),this._overlayRect=this._pane.getBoundingClientRect(),this._viewportRect=this._getNarrowedViewportRect(),this._containerRect=this._overlayContainer.getContainerElement().getBoundingClientRect();const e=this._getOriginPoint(this._originRect,this._containerRect,n);this._applyPosition(n,e)}else this.apply()}withScrollableContainers(n){return this._scrollables=n,this}withPositions(n){return this._preferredPositions=n,-1===n.indexOf(this._lastPosition)&&(this._lastPosition=null),this._validatePositions(),this}withViewportMargin(n){return this._viewportMargin=n,this}withFlexibleDimensions(n=!0){return this._hasFlexibleDimensions=n,this}withGrowAfterOpen(n=!0){return this._growAfterOpen=n,this}withPush(n=!0){return this._canPush=n,this}withLockedPosition(n=!0){return this._positionLocked=n,this}setOrigin(n){return this._origin=n,this}withDefaultOffsetX(n){return this._offsetX=n,this}withDefaultOffsetY(n){return this._offsetY=n,this}withTransformOriginOn(n){return this._transformOriginSelector=n,this}_getOriginPoint(n,e,i){let r,o;if("center"==i.originX)r=n.left+n.width/2;else{const s=this._isRtl()?n.right:n.left,a=this._isRtl()?n.left:n.right;r="start"==i.originX?s:a}return e.left<0&&(r-=e.left),o="center"==i.originY?n.top+n.height/2:"top"==i.originY?n.top:n.bottom,e.top<0&&(o-=e.top),{x:r,y:o}}_getOverlayPoint(n,e,i){let r,o;return r="center"==i.overlayX?-e.width/2:"start"===i.overlayX?this._isRtl()?-e.width:0:this._isRtl()?0:-e.width,o="center"==i.overlayY?-e.height/2:"top"==i.overlayY?0:-e.height,{x:n.x+r,y:n.y+o}}_getOverlayFit(n,e,i,r){const o=Pk(e);let{x:s,y:a}=n,c=this._getOffset(r,"x"),l=this._getOffset(r,"y");c&&(s+=c),l&&(a+=l);let h=0-a,f=a+o.height-i.height,p=this._subtractOverflows(o.width,0-s,s+o.width-i.width),g=this._subtractOverflows(o.height,h,f),_=p*g;return{visibleArea:_,isCompletelyWithinViewport:o.width*o.height===_,fitsInViewportVertically:g===o.height,fitsInViewportHorizontally:p==o.width}}_canFitWithFlexibleDimensions(n,e,i){if(this._hasFlexibleDimensions){const r=i.bottom-e.y,o=i.right-e.x,s=Nk(this._overlayRef.getConfig().minHeight),a=Nk(this._overlayRef.getConfig().minWidth);return(n.fitsInViewportVertically||null!=s&&s<=r)&&(n.fitsInViewportHorizontally||null!=a&&a<=o)}return!1}_pushOverlayOnScreen(n,e,i){if(this._previousPushAmount&&this._positionLocked)return{x:n.x+this._previousPushAmount.x,y:n.y+this._previousPushAmount.y};const r=Pk(e),o=this._viewportRect,s=Math.max(n.x+r.width-o.width,0),a=Math.max(n.y+r.height-o.height,0),c=Math.max(o.top-i.top-n.y,0),l=Math.max(o.left-i.left-n.x,0);let d=0,u=0;return d=r.width<=o.width?l||-s:n.xp&&!this._isInitialRender&&!this._growAfterOpen&&(s=n.y-p/2)}if("end"===e.overlayX&&!r||"start"===e.overlayX&&r)h=i.width-n.x+2*this._viewportMargin,d=n.x-this._viewportMargin;else if("start"===e.overlayX&&!r||"end"===e.overlayX&&r)u=n.x,d=i.right-n.x;else{const f=Math.min(i.right-n.x+i.left,n.x),p=this._lastBoundingBoxSize.width;d=2*f,u=n.x-f,d>p&&!this._isInitialRender&&!this._growAfterOpen&&(u=n.x-p/2)}return{top:s,left:u,bottom:a,right:h,width:d,height:o}}_setBoundingBoxStyles(n,e){const i=this._calculateBoundingBoxRect(n,e);!this._isInitialRender&&!this._growAfterOpen&&(i.height=Math.min(i.height,this._lastBoundingBoxSize.height),i.width=Math.min(i.width,this._lastBoundingBoxSize.width));const r={};if(this._hasExactPosition())r.top=r.left="0",r.bottom=r.right=r.maxHeight=r.maxWidth="",r.width=r.height="100%";else{const o=this._overlayRef.getConfig().maxHeight,s=this._overlayRef.getConfig().maxWidth;r.height=Jt(i.height),r.top=Jt(i.top),r.bottom=Jt(i.bottom),r.width=Jt(i.width),r.left=Jt(i.left),r.right=Jt(i.right),r.alignItems="center"===e.overlayX?"center":"end"===e.overlayX?"flex-end":"flex-start",r.justifyContent="center"===e.overlayY?"center":"bottom"===e.overlayY?"flex-end":"flex-start",o&&(r.maxHeight=Jt(o)),s&&(r.maxWidth=Jt(s))}this._lastBoundingBoxSize=i,ds(this._boundingBox.style,r)}_resetBoundingBoxStyles(){ds(this._boundingBox.style,{top:"0",left:"0",right:"0",bottom:"0",height:"",width:"",alignItems:"",justifyContent:""})}_resetOverlayElementStyles(){ds(this._pane.style,{top:"",left:"",bottom:"",right:"",position:"",transform:""})}_setOverlayElementStyles(n,e){const i={},r=this._hasExactPosition(),o=this._hasFlexibleDimensions,s=this._overlayRef.getConfig();if(r){const d=this._viewportRuler.getViewportScrollPosition();ds(i,this._getExactOverlayY(e,n,d)),ds(i,this._getExactOverlayX(e,n,d))}else i.position="static";let a="",c=this._getOffset(e,"x"),l=this._getOffset(e,"y");c&&(a+=`translateX(${c}px) `),l&&(a+=`translateY(${l}px)`),i.transform=a.trim(),s.maxHeight&&(r?i.maxHeight=Jt(s.maxHeight):o&&(i.maxHeight="")),s.maxWidth&&(r?i.maxWidth=Jt(s.maxWidth):o&&(i.maxWidth="")),ds(this._pane.style,i)}_getExactOverlayY(n,e,i){let r={top:"",bottom:""},o=this._getOverlayPoint(e,this._overlayRect,n);return this._isPushed&&(o=this._pushOverlayOnScreen(o,this._overlayRect,i)),"bottom"===n.overlayY?r.bottom=this._document.documentElement.clientHeight-(o.y+this._overlayRect.height)+"px":r.top=Jt(o.y),r}_getExactOverlayX(n,e,i){let s,r={left:"",right:""},o=this._getOverlayPoint(e,this._overlayRect,n);return this._isPushed&&(o=this._pushOverlayOnScreen(o,this._overlayRect,i)),s=this._isRtl()?"end"===n.overlayX?"left":"right":"end"===n.overlayX?"right":"left","right"===s?r.right=this._document.documentElement.clientWidth-(o.x+this._overlayRect.width)+"px":r.left=Jt(o.x),r}_getScrollVisibility(){const n=this._getOriginRect(),e=this._pane.getBoundingClientRect(),i=this._scrollables.map(r=>r.getElementRef().nativeElement.getBoundingClientRect());return{isOriginClipped:Rk(n,i),isOriginOutsideView:Gv(n,i),isOverlayClipped:Rk(e,i),isOverlayOutsideView:Gv(e,i)}}_subtractOverflows(n,...e){return e.reduce((i,r)=>i-Math.max(r,0),n)}_getNarrowedViewportRect(){const n=this._document.documentElement.clientWidth,e=this._document.documentElement.clientHeight,i=this._viewportRuler.getViewportScrollPosition();return{top:i.top+this._viewportMargin,left:i.left+this._viewportMargin,right:i.left+n-this._viewportMargin,bottom:i.top+e-this._viewportMargin,width:n-2*this._viewportMargin,height:e-2*this._viewportMargin}}_isRtl(){return"rtl"===this._overlayRef.getDirection()}_hasExactPosition(){return!this._hasFlexibleDimensions||this._isPushed}_getOffset(n,e){return"x"===e?null==n.offsetX?this._offsetX:n.offsetX:null==n.offsetY?this._offsetY:n.offsetY}_validatePositions(){}_addPanelClasses(n){this._pane&&lf(n).forEach(e=>{""!==e&&-1===this._appliedPanelClasses.indexOf(e)&&(this._appliedPanelClasses.push(e),this._pane.classList.add(e))})}_clearPanelClasses(){this._pane&&(this._appliedPanelClasses.forEach(n=>{this._pane.classList.remove(n)}),this._appliedPanelClasses=[])}_getOriginRect(){const n=this._origin;if(n instanceof Ne)return n.nativeElement.getBoundingClientRect();if(n instanceof Element)return n.getBoundingClientRect();const e=n.width||0,i=n.height||0;return{top:n.y,bottom:n.y+i,left:n.x,right:n.x+e,height:i,width:e}}}function ds(t,n){for(let e in n)n.hasOwnProperty(e)&&(t[e]=n[e]);return t}function Nk(t){if("number"!=typeof t&&null!=t){const[n,e]=t.split(Jq);return e&&"px"!==e?null:parseFloat(n)}return t||null}function Pk(t){return{top:Math.floor(t.top),right:Math.floor(t.right),bottom:Math.floor(t.bottom),left:Math.floor(t.left),width:Math.floor(t.width),height:Math.floor(t.height)}}const Lk="cdk-global-overlay-wrapper";class n9{constructor(){this._cssPosition="static",this._topOffset="",this._bottomOffset="",this._alignItems="",this._xPosition="",this._xOffset="",this._width="",this._height="",this._isDisposed=!1}attach(n){const e=n.getConfig();this._overlayRef=n,this._width&&!e.width&&n.updateSize({width:this._width}),this._height&&!e.height&&n.updateSize({height:this._height}),n.hostElement.classList.add(Lk),this._isDisposed=!1}top(n=""){return this._bottomOffset="",this._topOffset=n,this._alignItems="flex-start",this}left(n=""){return this._xOffset=n,this._xPosition="left",this}bottom(n=""){return this._topOffset="",this._bottomOffset=n,this._alignItems="flex-end",this}right(n=""){return this._xOffset=n,this._xPosition="right",this}start(n=""){return this._xOffset=n,this._xPosition="start",this}end(n=""){return this._xOffset=n,this._xPosition="end",this}width(n=""){return this._overlayRef?this._overlayRef.updateSize({width:n}):this._width=n,this}height(n=""){return this._overlayRef?this._overlayRef.updateSize({height:n}):this._height=n,this}centerHorizontally(n=""){return this.left(n),this._xPosition="center",this}centerVertically(n=""){return this.top(n),this._alignItems="center",this}apply(){if(!this._overlayRef||!this._overlayRef.hasAttached())return;const n=this._overlayRef.overlayElement.style,e=this._overlayRef.hostElement.style,i=this._overlayRef.getConfig(),{width:r,height:o,maxWidth:s,maxHeight:a}=i,c=!("100%"!==r&&"100vw"!==r||s&&"100%"!==s&&"100vw"!==s),l=!("100%"!==o&&"100vh"!==o||a&&"100%"!==a&&"100vh"!==a),d=this._xPosition,u=this._xOffset,h="rtl"===this._overlayRef.getConfig().direction;let f="",p="",g="";c?g="flex-start":"center"===d?(g="center",h?p=u:f=u):h?"left"===d||"end"===d?(g="flex-end",f=u):("right"===d||"start"===d)&&(g="flex-start",p=u):"left"===d||"start"===d?(g="flex-start",f=u):("right"===d||"end"===d)&&(g="flex-end",p=u),n.position=this._cssPosition,n.marginLeft=c?"0":f,n.marginTop=l?"0":this._topOffset,n.marginBottom=this._bottomOffset,n.marginRight=c?"0":p,e.justifyContent=g,e.alignItems=l?"flex-start":this._alignItems}dispose(){if(this._isDisposed||!this._overlayRef)return;const n=this._overlayRef.overlayElement.style,e=this._overlayRef.hostElement,i=e.style;e.classList.remove(Lk),i.justifyContent=i.alignItems=n.marginTop=n.marginBottom=n.marginLeft=n.marginRight=n.position="",this._overlayRef=null,this._isDisposed=!0}}let i9=(()=>{class t{constructor(e,i,r,o){this._viewportRuler=e,this._document=i,this._platform=r,this._overlayContainer=o}global(){return new n9}flexibleConnectedTo(e){return new e9(e,this._viewportRuler,this._document,this._platform,this._overlayContainer)}static#e=this.\u0275fac=function(i){return new(i||t)(R(Uv),R(Ve),R(Kt),R(vf))};static#t=this.\u0275prov=q({token:t,factory:t.\u0275fac,providedIn:"root"})}return t})(),r9=0,Qn=(()=>{class t{constructor(e,i,r,o,s,a,c,l,d,u,h,f){this.scrollStrategies=e,this._overlayContainer=i,this._componentFactoryResolver=r,this._positionBuilder=o,this._keyboardDispatcher=s,this._injector=a,this._ngZone=c,this._document=l,this._directionality=d,this._location=u,this._outsideClickDispatcher=h,this._animationsModuleType=f}create(e){const i=this._createHostElement(),r=this._createPaneElement(i),o=this._createPortalOutlet(r),s=new Yl(e);return s.direction=s.direction||this._directionality.value,new yf(o,i,r,s,this._ngZone,this._keyboardDispatcher,this._document,this._location,this._outsideClickDispatcher,"NoopAnimations"===this._animationsModuleType)}position(){return this._positionBuilder}_createPaneElement(e){const i=this._document.createElement("div");return i.id="cdk-overlay-"+r9++,i.classList.add("cdk-overlay-pane"),e.appendChild(i),i}_createHostElement(){const e=this._document.createElement("div");return this._overlayContainer.getContainerElement().appendChild(e),e}_createPortalOutlet(e){return this._appRef||(this._appRef=this._injector.get(Dr)),new wq(e,this._componentFactoryResolver,this._appRef,this._injector,this._document)}static#e=this.\u0275fac=function(i){return new(i||t)(R(Yq),R(vf),R(_a),R(i9),R(Zq),R(kt),R(de),R(Ve),R($a),R(Db),R(Kq),R(Wn,8))};static#t=this.\u0275prov=q({token:t,factory:t.\u0275fac,providedIn:"root"})}return t})();const o9=[{originX:"start",originY:"bottom",overlayX:"start",overlayY:"top"},{originX:"start",originY:"top",overlayX:"start",overlayY:"bottom"},{originX:"end",originY:"top",overlayX:"end",overlayY:"bottom"},{originX:"end",originY:"bottom",overlayX:"end",overlayY:"top"}],Bk=new j("cdk-connected-overlay-scroll-strategy",{providedIn:"root",factory:()=>{const t=ne(Qn);return()=>t.scrollStrategies.reposition()}});let $v=(()=>{class t{constructor(e){this.elementRef=e}static#e=this.\u0275fac=function(i){return new(i||t)(C(Ne))};static#t=this.\u0275dir=J({type:t,selectors:[["","cdk-overlay-origin",""],["","overlay-origin",""],["","cdkOverlayOrigin",""]],exportAs:["cdkOverlayOrigin"],standalone:!0})}return t})(),Vk=(()=>{class t{get offsetX(){return this._offsetX}set offsetX(e){this._offsetX=e,this._position&&this._updatePositionStrategy(this._position)}get offsetY(){return this._offsetY}set offsetY(e){this._offsetY=e,this._position&&this._updatePositionStrategy(this._position)}get disposeOnNavigation(){return this._disposeOnNavigation}set disposeOnNavigation(e){this._disposeOnNavigation=e}constructor(e,i,r,o,s){this._overlay=e,this._dir=s,this._backdropSubscription=Et.EMPTY,this._attachSubscription=Et.EMPTY,this._detachSubscription=Et.EMPTY,this._positionSubscription=Et.EMPTY,this._disposeOnNavigation=!1,this._ngZone=ne(de),this.viewportMargin=0,this.open=!1,this.disableClose=!1,this.hasBackdrop=!1,this.lockPosition=!1,this.flexibleDimensions=!1,this.growAfterOpen=!1,this.push=!1,this.backdropClick=new Te,this.positionChange=new Te,this.attach=new Te,this.detach=new Te,this.overlayKeydown=new Te,this.overlayOutsideClick=new Te,this._templatePortal=new pf(i,r),this._scrollStrategyFactory=o,this.scrollStrategy=this._scrollStrategyFactory()}get overlayRef(){return this._overlayRef}get dir(){return this._dir?this._dir.value:"ltr"}ngOnDestroy(){this._attachSubscription.unsubscribe(),this._detachSubscription.unsubscribe(),this._backdropSubscription.unsubscribe(),this._positionSubscription.unsubscribe(),this._overlayRef&&this._overlayRef.dispose()}ngOnChanges(e){this._position&&(this._updatePositionStrategy(this._position),this._overlayRef.updateSize({width:this.width,minWidth:this.minWidth,height:this.height,minHeight:this.minHeight}),e.origin&&this.open&&this._position.apply()),e.open&&(this.open?this._attachOverlay():this._detachOverlay())}_createOverlay(){(!this.positions||!this.positions.length)&&(this.positions=o9);const e=this._overlayRef=this._overlay.create(this._buildConfig());this._attachSubscription=e.attachments().subscribe(()=>this.attach.emit()),this._detachSubscription=e.detachments().subscribe(()=>this.detach.emit()),e.keydownEvents().subscribe(i=>{this.overlayKeydown.next(i),27===i.keyCode&&!this.disableClose&&!ss(i)&&(i.preventDefault(),this._detachOverlay())}),this._overlayRef.outsidePointerEvents().subscribe(i=>{this.overlayOutsideClick.next(i)})}_buildConfig(){const e=this._position=this.positionStrategy||this._createPositionStrategy(),i=new Yl({direction:this._dir,positionStrategy:e,scrollStrategy:this.scrollStrategy,hasBackdrop:this.hasBackdrop,disposeOnNavigation:this.disposeOnNavigation});return(this.width||0===this.width)&&(i.width=this.width),(this.height||0===this.height)&&(i.height=this.height),(this.minWidth||0===this.minWidth)&&(i.minWidth=this.minWidth),(this.minHeight||0===this.minHeight)&&(i.minHeight=this.minHeight),this.backdropClass&&(i.backdropClass=this.backdropClass),this.panelClass&&(i.panelClass=this.panelClass),i}_updatePositionStrategy(e){const i=this.positions.map(r=>({originX:r.originX,originY:r.originY,overlayX:r.overlayX,overlayY:r.overlayY,offsetX:r.offsetX||this.offsetX,offsetY:r.offsetY||this.offsetY,panelClass:r.panelClass||void 0}));return e.setOrigin(this._getFlexibleConnectedPositionStrategyOrigin()).withPositions(i).withFlexibleDimensions(this.flexibleDimensions).withPush(this.push).withGrowAfterOpen(this.growAfterOpen).withViewportMargin(this.viewportMargin).withLockedPosition(this.lockPosition).withTransformOriginOn(this.transformOriginSelector)}_createPositionStrategy(){const e=this._overlay.position().flexibleConnectedTo(this._getFlexibleConnectedPositionStrategyOrigin());return this._updatePositionStrategy(e),e}_getFlexibleConnectedPositionStrategyOrigin(){return this.origin instanceof $v?this.origin.elementRef:this.origin}_attachOverlay(){this._overlayRef?this._overlayRef.getConfig().hasBackdrop=this.hasBackdrop:this._createOverlay(),this._overlayRef.hasAttached()||this._overlayRef.attach(this._templatePortal),this.hasBackdrop?this._backdropSubscription=this._overlayRef.backdropClick().subscribe(e=>{this.backdropClick.emit(e)}):this._backdropSubscription.unsubscribe(),this._positionSubscription.unsubscribe(),this.positionChange.observers.length>0&&(this._positionSubscription=this._position.positionChanges.pipe(Ik(()=>this.positionChange.observers.length>0)).subscribe(e=>{this._ngZone.run(()=>this.positionChange.emit(e)),0===this.positionChange.observers.length&&this._positionSubscription.unsubscribe()}))}_detachOverlay(){this._overlayRef&&this._overlayRef.detach(),this._backdropSubscription.unsubscribe(),this._positionSubscription.unsubscribe()}static#e=this.\u0275fac=function(i){return new(i||t)(C(Qn),C(gi),C(_i),C(Bk),C($a,8))};static#t=this.\u0275dir=J({type:t,selectors:[["","cdk-connected-overlay",""],["","connected-overlay",""],["","cdkConnectedOverlay",""]],inputs:{origin:[X.None,"cdkConnectedOverlayOrigin","origin"],positions:[X.None,"cdkConnectedOverlayPositions","positions"],positionStrategy:[X.None,"cdkConnectedOverlayPositionStrategy","positionStrategy"],offsetX:[X.None,"cdkConnectedOverlayOffsetX","offsetX"],offsetY:[X.None,"cdkConnectedOverlayOffsetY","offsetY"],width:[X.None,"cdkConnectedOverlayWidth","width"],height:[X.None,"cdkConnectedOverlayHeight","height"],minWidth:[X.None,"cdkConnectedOverlayMinWidth","minWidth"],minHeight:[X.None,"cdkConnectedOverlayMinHeight","minHeight"],backdropClass:[X.None,"cdkConnectedOverlayBackdropClass","backdropClass"],panelClass:[X.None,"cdkConnectedOverlayPanelClass","panelClass"],viewportMargin:[X.None,"cdkConnectedOverlayViewportMargin","viewportMargin"],scrollStrategy:[X.None,"cdkConnectedOverlayScrollStrategy","scrollStrategy"],open:[X.None,"cdkConnectedOverlayOpen","open"],disableClose:[X.None,"cdkConnectedOverlayDisableClose","disableClose"],transformOriginSelector:[X.None,"cdkConnectedOverlayTransformOriginOn","transformOriginSelector"],hasBackdrop:[X.HasDecoratorInputTransform,"cdkConnectedOverlayHasBackdrop","hasBackdrop",Je],lockPosition:[X.HasDecoratorInputTransform,"cdkConnectedOverlayLockPosition","lockPosition",Je],flexibleDimensions:[X.HasDecoratorInputTransform,"cdkConnectedOverlayFlexibleDimensions","flexibleDimensions",Je],growAfterOpen:[X.HasDecoratorInputTransform,"cdkConnectedOverlayGrowAfterOpen","growAfterOpen",Je],push:[X.HasDecoratorInputTransform,"cdkConnectedOverlayPush","push",Je],disposeOnNavigation:[X.HasDecoratorInputTransform,"cdkConnectedOverlayDisposeOnNavigation","disposeOnNavigation",Je]},outputs:{backdropClick:"backdropClick",positionChange:"positionChange",attach:"attach",detach:"detach",overlayKeydown:"overlayKeydown",overlayOutsideClick:"overlayOutsideClick"},exportAs:["cdkConnectedOverlay"],standalone:!0,features:[Er,Sn]})}return t})();const a9={provide:Bk,deps:[Qn],useFactory:function s9(t){return()=>t.scrollStrategies.reposition()}};let Af=(()=>{class t{static#e=this.\u0275fac=function(i){return new(i||t)};static#t=this.\u0275mod=Oe({type:t});static#n=this.\u0275inj=Re({providers:[Qn,a9],imports:[Ul,Xl,Mk,Mk]})}return t})();function c9(t,n){if(1&t){const e=wr();U(0,"div",1)(1,"button",2),Ue("click",function(){return hn(e),fn(pt().action())}),ve(2),W()()}if(2&t){const e=pt();K(2),ir(" ",e.data.action," ")}}const l9=["label"];function d9(t,n){}const u9=Math.pow(2,31)-1;class Wv{constructor(n,e){this._overlayRef=e,this._afterDismissed=new ue,this._afterOpened=new ue,this._onAction=new ue,this._dismissedByAction=!1,this.containerInstance=n,n._onExit.subscribe(()=>this._finishDismiss())}dismiss(){this._afterDismissed.closed||this.containerInstance.exit(),clearTimeout(this._durationTimeoutId)}dismissWithAction(){this._onAction.closed||(this._dismissedByAction=!0,this._onAction.next(),this._onAction.complete(),this.dismiss()),clearTimeout(this._durationTimeoutId)}closeWithAction(){this.dismissWithAction()}_dismissAfter(n){this._durationTimeoutId=setTimeout(()=>this.dismiss(),Math.min(n,u9))}_open(){this._afterOpened.closed||(this._afterOpened.next(),this._afterOpened.complete())}_finishDismiss(){this._overlayRef.dispose(),this._onAction.closed||this._onAction.complete(),this._afterDismissed.next({dismissedByAction:this._dismissedByAction}),this._afterDismissed.complete(),this._dismissedByAction=!1}afterDismissed(){return this._afterDismissed}afterOpened(){return this.containerInstance._onEnter}onAction(){return this._onAction}}const Hk=new j("MatSnackBarData");class xf{constructor(){this.politeness="assertive",this.announcementMessage="",this.duration=0,this.data=null,this.horizontalPosition="center",this.verticalPosition="bottom"}}let jk=(()=>{class t{static#e=this.\u0275fac=function(i){return new(i||t)};static#t=this.\u0275dir=J({type:t,selectors:[["","matSnackBarLabel",""]],hostAttrs:[1,"mat-mdc-snack-bar-label","mdc-snackbar__label"],standalone:!0})}return t})(),Uk=(()=>{class t{static#e=this.\u0275fac=function(i){return new(i||t)};static#t=this.\u0275dir=J({type:t,selectors:[["","matSnackBarActions",""]],hostAttrs:[1,"mat-mdc-snack-bar-actions","mdc-snackbar__actions"],standalone:!0})}return t})(),zk=(()=>{class t{static#e=this.\u0275fac=function(i){return new(i||t)};static#t=this.\u0275dir=J({type:t,selectors:[["","matSnackBarAction",""]],hostAttrs:[1,"mat-mdc-snack-bar-action","mdc-snackbar__action"],standalone:!0})}return t})(),Gk=(()=>{class t{constructor(e,i){this.snackBarRef=e,this.data=i}action(){this.snackBarRef.dismissWithAction()}get hasAction(){return!!this.data.action}static#e=this.\u0275fac=function(i){return new(i||t)(C(Wv),C(Hk))};static#t=this.\u0275cmp=mt({type:t,selectors:[["simple-snack-bar"]],hostAttrs:[1,"mat-mdc-simple-snack-bar"],exportAs:["matSnackBar"],standalone:!0,features:[Gt],decls:3,vars:2,consts:[["matSnackBarLabel",""],["matSnackBarActions",""],["mat-button","","matSnackBarAction","",3,"click"]],template:function(i,r){1&i&&(U(0,"div",0),ve(1),W(),we(2,c9,3,1,"div",1)),2&i&&(K(),ir(" ",r.data.message,"\n"),K(),zt(2,r.hasAction?2:-1))},dependencies:[xk,jk,Uk,zk],styles:[".mat-mdc-simple-snack-bar{display:flex}"],encapsulation:2,changeDetection:0})}return t})();const h9={snackBarState:Wa("state",[Fr("void, hidden",vn({transform:"scale(0.8)",opacity:0})),Fr("visible",vn({transform:"scale(1)",opacity:1})),sr("* => visible",Rr("150ms cubic-bezier(0, 0, 0.2, 1)")),sr("* => void, * => hidden",Rr("75ms cubic-bezier(0.4, 0.0, 1, 1)",vn({opacity:0})))])};let f9=0,$k=(()=>{class t extends gf{constructor(e,i,r,o,s){super(),this._ngZone=e,this._elementRef=i,this._changeDetectorRef=r,this._platform=o,this.snackBarConfig=s,this._document=ne(Ve),this._trackedModals=new Set,this._announceDelay=150,this._destroyed=!1,this._onAnnounce=new ue,this._onExit=new ue,this._onEnter=new ue,this._animationState="void",this._liveElementId="mat-snack-bar-container-live-"+f9++,this.attachDomPortal=a=>{this._assertNotAttached();const c=this._portalOutlet.attachDomPortal(a);return this._afterPortalAttached(),c},this._live="assertive"!==s.politeness||s.announcementMessage?"off"===s.politeness?"off":"polite":"assertive",this._platform.FIREFOX&&("polite"===this._live&&(this._role="status"),"assertive"===this._live&&(this._role="alert"))}attachComponentPortal(e){this._assertNotAttached();const i=this._portalOutlet.attachComponentPortal(e);return this._afterPortalAttached(),i}attachTemplatePortal(e){this._assertNotAttached();const i=this._portalOutlet.attachTemplatePortal(e);return this._afterPortalAttached(),i}onAnimationEnd(e){const{fromState:i,toState:r}=e;if(("void"===r&&"void"!==i||"hidden"===r)&&this._completeExit(),"visible"===r){const o=this._onEnter;this._ngZone.run(()=>{o.next(),o.complete()})}}enter(){this._destroyed||(this._animationState="visible",this._changeDetectorRef.markForCheck(),this._changeDetectorRef.detectChanges(),this._screenReaderAnnounce())}exit(){return this._ngZone.run(()=>{this._animationState="hidden",this._changeDetectorRef.markForCheck(),this._elementRef.nativeElement.setAttribute("mat-exit",""),clearTimeout(this._announceTimeoutId)}),this._onExit}ngOnDestroy(){this._destroyed=!0,this._clearFromModals(),this._completeExit()}_completeExit(){queueMicrotask(()=>{this._onExit.next(),this._onExit.complete()})}_afterPortalAttached(){const e=this._elementRef.nativeElement,i=this.snackBarConfig.panelClass;i&&(Array.isArray(i)?i.forEach(s=>e.classList.add(s)):e.classList.add(i)),this._exposeToModals();const r=this._label.nativeElement,o="mdc-snackbar__label";r.classList.toggle(o,!r.querySelector(`.${o}`))}_exposeToModals(){const e=this._liveElementId,i=this._document.querySelectorAll('body > .cdk-overlay-container [aria-modal="true"]');for(let r=0;r{const i=e.getAttribute("aria-owns");if(i){const r=i.replace(this._liveElementId,"").trim();r.length>0?e.setAttribute("aria-owns",r):e.removeAttribute("aria-owns")}}),this._trackedModals.clear()}_assertNotAttached(){this._portalOutlet.hasAttached()}_screenReaderAnnounce(){this._announceTimeoutId||this._ngZone.runOutsideAngular(()=>{this._announceTimeoutId=setTimeout(()=>{const e=this._elementRef.nativeElement.querySelector("[aria-hidden]"),i=this._elementRef.nativeElement.querySelector("[aria-live]");if(e&&i){let r=null;this._platform.isBrowser&&document.activeElement instanceof HTMLElement&&e.contains(document.activeElement)&&(r=document.activeElement),e.removeAttribute("aria-hidden"),i.appendChild(e),r?.focus(),this._onAnnounce.next(),this._onAnnounce.complete()}},this._announceDelay)})}static#e=this.\u0275fac=function(i){return new(i||t)(C(de),C(Ne),C(yi),C(Kt),C(xf))};static#t=this.\u0275cmp=mt({type:t,selectors:[["mat-snack-bar-container"]],viewQuery:function(i,r){if(1&i&&(qt(Wl,7),qt(l9,7)),2&i){let o;Ze(o=Ke())&&(r._portalOutlet=o.first),Ze(o=Ke())&&(r._label=o.first)}},hostAttrs:[1,"mdc-snackbar","mat-mdc-snack-bar-container","mdc-snackbar--open"],hostVars:1,hostBindings:function(i,r){1&i&&K_("@state.done",function(s){return r.onAnimationEnd(s)}),2&i&&Y_("@state",r._animationState)},standalone:!0,features:[ke,Gt],decls:6,vars:3,consts:[["label",""],[1,"mdc-snackbar__surface"],[1,"mat-mdc-snack-bar-label"],["aria-hidden","true"],["cdkPortalOutlet",""]],template:function(i,r){1&i&&(U(0,"div",1)(1,"div",2,0)(3,"div",3),we(4,d9,0,0,"ng-template",4),W(),Ie(5,"div"),W()()),2&i&&(K(5),Xe("aria-live",r._live)("role",r._role)("id",r._liveElementId))},dependencies:[Wl],styles:['.mdc-snackbar{display:none;position:fixed;right:0;bottom:0;left:0;align-items:center;justify-content:center;box-sizing:border-box;pointer-events:none;-webkit-tap-highlight-color:rgba(0,0,0,0)}.mdc-snackbar--opening,.mdc-snackbar--open,.mdc-snackbar--closing{display:flex}.mdc-snackbar--open .mdc-snackbar__label,.mdc-snackbar--open .mdc-snackbar__actions{visibility:visible}.mdc-snackbar__surface{padding-left:0;padding-right:8px;display:flex;align-items:center;justify-content:flex-start;box-sizing:border-box;transform:scale(0.8);opacity:0}.mdc-snackbar__surface::before{position:absolute;box-sizing:border-box;width:100%;height:100%;top:0;left:0;border:1px solid rgba(0,0,0,0);border-radius:inherit;content:"";pointer-events:none}@media screen and (forced-colors: active){.mdc-snackbar__surface::before{border-color:CanvasText}}[dir=rtl] .mdc-snackbar__surface,.mdc-snackbar__surface[dir=rtl]{padding-left:8px;padding-right:0}.mdc-snackbar--open .mdc-snackbar__surface{transform:scale(1);opacity:1;pointer-events:auto}.mdc-snackbar--closing .mdc-snackbar__surface{transform:scale(1)}.mdc-snackbar__label{padding-left:16px;padding-right:8px;width:100%;flex-grow:1;box-sizing:border-box;margin:0;visibility:hidden;padding-top:14px;padding-bottom:14px}[dir=rtl] .mdc-snackbar__label,.mdc-snackbar__label[dir=rtl]{padding-left:8px;padding-right:16px}.mdc-snackbar__label::before{display:inline;content:attr(data-mdc-snackbar-label-text)}.mdc-snackbar__actions{display:flex;flex-shrink:0;align-items:center;box-sizing:border-box;visibility:hidden}.mdc-snackbar__action+.mdc-snackbar__dismiss{margin-left:8px;margin-right:0}[dir=rtl] .mdc-snackbar__action+.mdc-snackbar__dismiss,.mdc-snackbar__action+.mdc-snackbar__dismiss[dir=rtl]{margin-left:0;margin-right:8px}.mat-mdc-snack-bar-container{margin:8px;position:static}.mat-mdc-snack-bar-container .mdc-snackbar__surface{min-width:344px}@media(max-width: 480px),(max-width: 344px){.mat-mdc-snack-bar-container .mdc-snackbar__surface{min-width:100%}}@media(max-width: 480px),(max-width: 344px){.mat-mdc-snack-bar-container{width:100vw}}.mat-mdc-snack-bar-container .mdc-snackbar__surface{max-width:672px}.mat-mdc-snack-bar-container .mdc-snackbar__surface{box-shadow:0px 3px 5px -1px rgba(0, 0, 0, 0.2), 0px 6px 10px 0px rgba(0, 0, 0, 0.14), 0px 1px 18px 0px rgba(0, 0, 0, 0.12)}.mat-mdc-snack-bar-container .mdc-snackbar__surface{background-color:var(--mdc-snackbar-container-color)}.mat-mdc-snack-bar-container .mdc-snackbar__surface{border-radius:var(--mdc-snackbar-container-shape)}.mat-mdc-snack-bar-container .mdc-snackbar__label{color:var(--mdc-snackbar-supporting-text-color)}.mat-mdc-snack-bar-container .mdc-snackbar__label{font-size:var(--mdc-snackbar-supporting-text-size);font-family:var(--mdc-snackbar-supporting-text-font);font-weight:var(--mdc-snackbar-supporting-text-weight);line-height:var(--mdc-snackbar-supporting-text-line-height)}.mat-mdc-snack-bar-container .mat-mdc-button.mat-mdc-snack-bar-action:not(:disabled){color:var(--mat-snack-bar-button-color);--mat-text-button-state-layer-color:currentColor;--mat-text-button-ripple-color:currentColor}.mat-mdc-snack-bar-container .mat-mdc-button.mat-mdc-snack-bar-action:not(:disabled) .mat-ripple-element{opacity:.1}.mat-mdc-snack-bar-container .mdc-snackbar__label::before{display:none}.mat-mdc-snack-bar-handset,.mat-mdc-snack-bar-container,.mat-mdc-snack-bar-label{flex:1 1 auto}.mat-mdc-snack-bar-handset .mdc-snackbar__surface{width:100%}'],encapsulation:2,data:{animation:[h9.snackBarState]}})}return t})();const Wk=new j("mat-snack-bar-default-options",{providedIn:"root",factory:function m9(){return new xf}});let Or=(()=>{class t{get _openedSnackBarRef(){const e=this._parentSnackBar;return e?e._openedSnackBarRef:this._snackBarRefAtThisLevel}set _openedSnackBarRef(e){this._parentSnackBar?this._parentSnackBar._openedSnackBarRef=e:this._snackBarRefAtThisLevel=e}constructor(e,i,r,o,s,a){this._overlay=e,this._live=i,this._injector=r,this._breakpointObserver=o,this._parentSnackBar=s,this._defaultConfig=a,this._snackBarRefAtThisLevel=null,this.simpleSnackBarComponent=Gk,this.snackBarContainerComponent=$k,this.handsetCssClass="mat-mdc-snack-bar-handset"}openFromComponent(e,i){return this._attach(e,i)}openFromTemplate(e,i){return this._attach(e,i)}open(e,i="",r){const o={...this._defaultConfig,...r};return o.data={message:e,action:i},o.announcementMessage===e&&(o.announcementMessage=void 0),this.openFromComponent(this.simpleSnackBarComponent,o)}dismiss(){this._openedSnackBarRef&&this._openedSnackBarRef.dismiss()}ngOnDestroy(){this._snackBarRefAtThisLevel&&this._snackBarRefAtThisLevel.dismiss()}_attachSnackBarContainer(e,i){const o=kt.create({parent:i&&i.viewContainerRef&&i.viewContainerRef.injector||this._injector,providers:[{provide:xf,useValue:i}]}),s=new Xa(this.snackBarContainerComponent,i.viewContainerRef,o),a=e.attach(s);return a.instance.snackBarConfig=i,a.instance}_attach(e,i){const r={...new xf,...this._defaultConfig,...i},o=this._createOverlay(r),s=this._attachSnackBarContainer(o,r),a=new Wv(s,o);if(e instanceof gi){const c=new pf(e,null,{$implicit:r.data,snackBarRef:a});a.instance=s.attachTemplatePortal(c)}else{const c=this._createInjector(r,a),l=new Xa(e,void 0,c),d=s.attachComponentPortal(l);a.instance=d.instance}return this._breakpointObserver.observe("(max-width: 599.98px) and (orientation: portrait)").pipe(Tn(o.detachments())).subscribe(c=>{o.overlayElement.classList.toggle(this.handsetCssClass,c.matches)}),r.announcementMessage&&s._onAnnounce.subscribe(()=>{this._live.announce(r.announcementMessage,r.politeness)}),this._animateSnackBar(a,r),this._openedSnackBarRef=a,this._openedSnackBarRef}_animateSnackBar(e,i){e.afterDismissed().subscribe(()=>{this._openedSnackBarRef==e&&(this._openedSnackBarRef=null),i.announcementMessage&&this._live.clear()}),this._openedSnackBarRef?(this._openedSnackBarRef.afterDismissed().subscribe(()=>{e.containerInstance.enter()}),this._openedSnackBarRef.dismiss()):e.containerInstance.enter(),i.duration&&i.duration>0&&e.afterOpened().subscribe(()=>e._dismissAfter(i.duration))}_createOverlay(e){const i=new Yl;i.direction=e.direction;let r=this._overlay.position().global();const o="rtl"===e.direction,s="left"===e.horizontalPosition||"start"===e.horizontalPosition&&!o||"end"===e.horizontalPosition&&o,a=!s&&"center"!==e.horizontalPosition;return s?r.left("0"):a?r.right("0"):r.centerHorizontally(),"top"===e.verticalPosition?r.top("0"):r.bottom("0"),i.positionStrategy=r,this._overlay.create(i)}_createInjector(e,i){return kt.create({parent:e&&e.viewContainerRef&&e.viewContainerRef.injector||this._injector,providers:[{provide:Wv,useValue:i},{provide:Hk,useValue:e.data}]})}static#e=this.\u0275fac=function(i){return new(i||t)(R(Qn),R(JT),R(kt),R(Iv),R(t,12),R(Wk))};static#t=this.\u0275prov=q({token:t,factory:t.\u0275fac,providedIn:"root"})}return t})(),Xk=(()=>{class t{static#e=this.\u0275fac=function(i){return new(i||t)};static#t=this.\u0275mod=Oe({type:t});static#n=this.\u0275inj=Re({providers:[Or],imports:[Af,Xl,Pv,_t,Gk,_t]})}return t})();function qk(t){return new V(3e3,!1)}function go(t){switch(t.length){case 0:return new $l;case 1:return t[0];default:return new wk(t)}}function Yk(t,n,e=new Map,i=new Map){const r=[],o=[];let s=-1,a=null;if(n.forEach(c=>{const l=c.get("offset"),d=l==s,u=d&&a||new Map;c.forEach((h,f)=>{let p=f,g=h;if("offset"!==f)switch(p=t.normalizePropertyName(p,r),g){case"!":g=e.get(f);break;case kr:g=i.get(f);break;default:g=t.normalizeStyleValue(f,p,g,r)}u.set(p,g)}),d||o.push(u),a=u,s=l}),r.length)throw function L9(t){return new V(3502,!1)}();return o}function Xv(t,n,e,i){switch(n){case"start":t.onStart(()=>i(e&&qv(e,"start",t)));break;case"done":t.onDone(()=>i(e&&qv(e,"done",t)));break;case"destroy":t.onDestroy(()=>i(e&&qv(e,"destroy",t)))}}function qv(t,n,e){const o=Yv(t.element,t.triggerName,t.fromState,t.toState,n||t.phaseName,e.totalTime??t.totalTime,!!e.disabled),s=t._data;return null!=s&&(o._data=s),o}function Yv(t,n,e,i,r="",o=0,s){return{element:t,triggerName:n,fromState:e,toState:i,phaseName:r,totalTime:o,disabled:!!s}}function hi(t,n,e){let i=t.get(n);return i||t.set(n,i=e),i}function Qk(t){const n=t.indexOf(":");return[t.substring(1,n),t.slice(n+1)]}const Y9=typeof document>"u"?null:document.documentElement;function Qv(t){const n=t.parentNode||t.host||null;return n===Y9?null:n}let us=null,Zk=!1;function Kk(t,n){for(;n;){if(n===t)return!0;n=Qv(n)}return!1}function Jk(t,n,e){if(e)return Array.from(t.querySelectorAll(n));const i=t.querySelector(n);return i?[i]:[]}let Zv=(()=>{class t{validateStyleProperty(e){return function Z9(t){us||(us=function K9(){return typeof document<"u"?document.body:null}()||{},Zk=!!us.style&&"WebkitAppearance"in us.style);let n=!0;return us.style&&!function Q9(t){return"ebkit"==t.substring(1,6)}(t)&&(n=t in us.style,!n&&Zk&&(n="Webkit"+t.charAt(0).toUpperCase()+t.slice(1)in us.style)),n}(e)}matchesElement(e,i){return!1}containsElement(e,i){return Kk(e,i)}getParentElement(e){return Qv(e)}query(e,i,r){return Jk(e,i,r)}computeStyle(e,i,r){return r||""}animate(e,i,r,o,s,a=[],c){return new $l(r,o)}static#e=this.\u0275fac=function(i){return new(i||t)};static#t=this.\u0275prov=q({token:t,factory:t.\u0275fac})}return t})();class Kv{static#e=this.NOOP=new Zv}class Jv{}const eY=1e3,ey="ng-enter",Ef="ng-leave",wf="ng-trigger",Sf=".ng-trigger",t1="ng-animating",ty=".ng-animating";function Nr(t){if("number"==typeof t)return t;const n=t.match(/^(-?[\.\d]+)(m?s)/);return!n||n.length<2?0:ny(parseFloat(n[1]),n[2])}function ny(t,n){return"s"===n?t*eY:t}function Df(t,n,e){return t.hasOwnProperty("duration")?t:function nY(t,n,e){let r,o=0,s="";if("string"==typeof t){const a=t.match(/^(-?[\.\d]+)(m?s)(?:\s+(-?[\.\d]+)(m?s))?(?:\s+([-a-z]+(?:\(.+?\))?))?$/i);if(null===a)return n.push(qk()),{duration:0,delay:0,easing:""};r=ny(parseFloat(a[1]),a[2]);const c=a[3];null!=c&&(o=ny(parseFloat(c),a[4]));const l=a[5];l&&(s=l)}else r=t;if(!e){let a=!1,c=n.length;r<0&&(n.push(function p9(){return new V(3100,!1)}()),a=!0),o<0&&(n.push(function g9(){return new V(3101,!1)}()),a=!0),a&&n.splice(c,0,qk())}return{duration:r,delay:o,easing:s}}(t,n,e)}function cr(t,n,e){n.forEach((i,r)=>{const o=ry(r);e&&!e.has(r)&&e.set(r,t.style[o]),t.style[o]=i})}function hs(t,n){n.forEach((e,i)=>{const r=ry(i);t.style[r]=""})}function Ql(t){return Array.isArray(t)?1==t.length?t[0]:function bq(t,n=null){return{type:be.Sequence,steps:t,options:n}}(t):t}const iy=new RegExp("{{\\s*(.+?)\\s*}}","g");function r1(t){let n=[];if("string"==typeof t){let e;for(;e=iy.exec(t);)n.push(e[1]);iy.lastIndex=0}return n}function Zl(t,n,e){const i=`${t}`,r=i.replace(iy,(o,s)=>{let a=n[s];return null==a&&(e.push(function b9(t){return new V(3003,!1)}()),a=""),a.toString()});return r==i?t:r}const oY=/-+([a-z0-9])/g;function ry(t){return t.replace(oY,(...n)=>n[1].toUpperCase())}function fi(t,n,e){switch(n.type){case be.Trigger:return t.visitTrigger(n,e);case be.State:return t.visitState(n,e);case be.Transition:return t.visitTransition(n,e);case be.Sequence:return t.visitSequence(n,e);case be.Group:return t.visitGroup(n,e);case be.Animate:return t.visitAnimate(n,e);case be.Keyframes:return t.visitKeyframes(n,e);case be.Style:return t.visitStyle(n,e);case be.Reference:return t.visitReference(n,e);case be.AnimateChild:return t.visitAnimateChild(n,e);case be.AnimateRef:return t.visitAnimateRef(n,e);case be.Query:return t.visitQuery(n,e);case be.Stagger:return t.visitStagger(n,e);default:throw function v9(t){return new V(3004,!1)}()}}function oy(t,n){return window.getComputedStyle(t)[n]}const cY=new Set(["width","height","minWidth","minHeight","maxWidth","maxHeight","left","top","bottom","right","fontSize","outlineWidth","outlineOffset","paddingTop","paddingLeft","paddingBottom","paddingRight","marginTop","marginLeft","marginBottom","marginRight","borderRadius","borderWidth","borderTopWidth","borderLeftWidth","borderRightWidth","borderBottomWidth","textIndent","perspective"]);class o1 extends Jv{normalizePropertyName(n,e){return ry(n)}normalizeStyleValue(n,e,i,r){let o="";const s=i.toString().trim();if(cY.has(e)&&0!==i&&"0"!==i)if("number"==typeof i)o="px";else{const a=i.match(/^[+-]?[\d\.]+([a-z]*)$/);a&&0==a[1].length&&r.push(function y9(t,n){return new V(3005,!1)}())}return s+o}}const Cf="*";const Mf=new Set(["true","1"]),If=new Set(["false","0"]);function s1(t,n){const e=Mf.has(t)||If.has(t),i=Mf.has(n)||If.has(n);return(r,o)=>{let s=t==Cf||t==r,a=n==Cf||n==o;return!s&&e&&"boolean"==typeof r&&(s=r?Mf.has(t):If.has(t)),!a&&i&&"boolean"==typeof o&&(a=o?Mf.has(n):If.has(n)),s&&a}}const hY=new RegExp("s*:selfs*,?","g");function sy(t,n,e,i){return new fY(t).build(n,e,i)}class fY{constructor(n){this._driver=n}build(n,e,i){const r=new gY(e);return this._resetContextStyleTimingState(r),fi(this,Ql(n),r)}_resetContextStyleTimingState(n){n.currentQuerySelector="",n.collectedStyles=new Map,n.collectedStyles.set("",new Map),n.currentTime=0}visitTrigger(n,e){let i=e.queryCount=0,r=e.depCount=0;const o=[],s=[];return"@"==n.name.charAt(0)&&e.errors.push(function A9(){return new V(3006,!1)}()),n.definitions.forEach(a=>{if(this._resetContextStyleTimingState(e),a.type==be.State){const c=a,l=c.name;l.toString().split(/\s*,\s*/).forEach(d=>{c.name=d,o.push(this.visitState(c,e))}),c.name=l}else if(a.type==be.Transition){const c=this.visitTransition(a,e);i+=c.queryCount,r+=c.depCount,s.push(c)}else e.errors.push(function x9(){return new V(3007,!1)}())}),{type:be.Trigger,name:n.name,states:o,transitions:s,queryCount:i,depCount:r,options:null}}visitState(n,e){const i=this.visitStyle(n.styles,e),r=n.options&&n.options.params||null;if(i.containsDynamicStyles){const o=new Set,s=r||{};i.styles.forEach(a=>{a instanceof Map&&a.forEach(c=>{r1(c).forEach(l=>{s.hasOwnProperty(l)||o.add(l)})})}),o.size&&e.errors.push(function E9(t,n){return new V(3008,!1)}(0,o.values()))}return{type:be.State,name:n.name,style:i,options:r?{params:r}:null}}visitTransition(n,e){e.queryCount=0,e.depCount=0;const i=fi(this,Ql(n.animation),e),r=function lY(t,n){const e=[];return"string"==typeof t?t.split(/\s*,\s*/).forEach(i=>function dY(t,n,e){if(":"==t[0]){const c=function uY(t,n){switch(t){case":enter":return"void => *";case":leave":return"* => void";case":increment":return(e,i)=>parseFloat(i)>parseFloat(e);case":decrement":return(e,i)=>parseFloat(i) *"}}(t,e);if("function"==typeof c)return void n.push(c);t=c}const i=t.match(/^(\*|[-\w]+)\s*()\s*(\*|[-\w]+)$/);if(null==i||i.length<4)return e.push(function R9(t){return new V(3015,!1)}()),n;const r=i[1],o=i[2],s=i[3];n.push(s1(r,s)),"<"==o[0]&&(r!=Cf||s!=Cf)&&n.push(s1(s,r))}(i,e,n)):e.push(t),e}(n.expr,e.errors);return{type:be.Transition,matchers:r,animation:i,queryCount:e.queryCount,depCount:e.depCount,options:fs(n.options)}}visitSequence(n,e){return{type:be.Sequence,steps:n.steps.map(i=>fi(this,i,e)),options:fs(n.options)}}visitGroup(n,e){const i=e.currentTime;let r=0;const o=n.steps.map(s=>{e.currentTime=i;const a=fi(this,s,e);return r=Math.max(r,e.currentTime),a});return e.currentTime=r,{type:be.Group,steps:o,options:fs(n.options)}}visitAnimate(n,e){const i=function bY(t,n){if(t.hasOwnProperty("duration"))return t;if("number"==typeof t)return ay(Df(t,n).duration,0,"");const e=t;if(e.split(/\s+/).some(o=>"{"==o.charAt(0)&&"{"==o.charAt(1))){const o=ay(0,0,"");return o.dynamic=!0,o.strValue=e,o}const r=Df(e,n);return ay(r.duration,r.delay,r.easing)}(n.timings,e.errors);e.currentAnimateTimings=i;let r,o=n.styles?n.styles:vn({});if(o.type==be.Keyframes)r=this.visitKeyframes(o,e);else{let s=n.styles,a=!1;if(!s){a=!0;const l={};i.easing&&(l.easing=i.easing),s=vn(l)}e.currentTime+=i.duration+i.delay;const c=this.visitStyle(s,e);c.isEmptyStep=a,r=c}return e.currentAnimateTimings=null,{type:be.Animate,timings:i,style:r,options:null}}visitStyle(n,e){const i=this._makeStyleAst(n,e);return this._validateStyleAst(i,e),i}_makeStyleAst(n,e){const i=[],r=Array.isArray(n.styles)?n.styles:[n.styles];for(let a of r)"string"==typeof a?a===kr?i.push(a):e.errors.push(new V(3002,!1)):i.push(new Map(Object.entries(a)));let o=!1,s=null;return i.forEach(a=>{if(a instanceof Map&&(a.has("easing")&&(s=a.get("easing"),a.delete("easing")),!o))for(let c of a.values())if(c.toString().indexOf("{{")>=0){o=!0;break}}),{type:be.Style,styles:i,easing:s,offset:n.offset,containsDynamicStyles:o,options:null}}_validateStyleAst(n,e){const i=e.currentAnimateTimings;let r=e.currentTime,o=e.currentTime;i&&o>0&&(o-=i.duration+i.delay),n.styles.forEach(s=>{"string"!=typeof s&&s.forEach((a,c)=>{const l=e.collectedStyles.get(e.currentQuerySelector),d=l.get(c);let u=!0;d&&(o!=r&&o>=d.startTime&&r<=d.endTime&&(e.errors.push(function S9(t,n,e,i,r){return new V(3010,!1)}()),u=!1),o=d.startTime),u&&l.set(c,{startTime:o,endTime:r}),e.options&&function rY(t,n,e){const i=n.params||{},r=r1(t);r.length&&r.forEach(o=>{i.hasOwnProperty(o)||e.push(function _9(t){return new V(3001,!1)}())})}(a,e.options,e.errors)})})}visitKeyframes(n,e){const i={type:be.Keyframes,styles:[],options:null};if(!e.currentAnimateTimings)return e.errors.push(function D9(){return new V(3011,!1)}()),i;let o=0;const s=[];let a=!1,c=!1,l=0;const d=n.steps.map(x=>{const y=this._makeStyleAst(x,e);let k=null!=y.offset?y.offset:function _Y(t){if("string"==typeof t)return null;let n=null;if(Array.isArray(t))t.forEach(e=>{if(e instanceof Map&&e.has("offset")){const i=e;n=parseFloat(i.get("offset")),i.delete("offset")}});else if(t instanceof Map&&t.has("offset")){const e=t;n=parseFloat(e.get("offset")),e.delete("offset")}return n}(y.styles),F=0;return null!=k&&(o++,F=y.offset=k),c=c||F<0||F>1,a=a||F0&&o{const k=h>0?y==f?1:h*y:s[y],F=k*_;e.currentTime=p+g.delay+F,g.duration=F,this._validateStyleAst(x,e),x.offset=k,i.styles.push(x)}),i}visitReference(n,e){return{type:be.Reference,animation:fi(this,Ql(n.animation),e),options:fs(n.options)}}visitAnimateChild(n,e){return e.depCount++,{type:be.AnimateChild,options:fs(n.options)}}visitAnimateRef(n,e){return{type:be.AnimateRef,animation:this.visitReference(n.animation,e),options:fs(n.options)}}visitQuery(n,e){const i=e.currentQuerySelector,r=n.options||{};e.queryCount++,e.currentQuery=n;const[o,s]=function mY(t){const n=!!t.split(/\s*,\s*/).find(e=>":self"==e);return n&&(t=t.replace(hY,"")),t=t.replace(/@\*/g,Sf).replace(/@\w+/g,e=>Sf+"-"+e.slice(1)).replace(/:animating/g,ty),[t,n]}(n.selector);e.currentQuerySelector=i.length?i+" "+o:o,hi(e.collectedStyles,e.currentQuerySelector,new Map);const a=fi(this,Ql(n.animation),e);return e.currentQuery=null,e.currentQuerySelector=i,{type:be.Query,selector:o,limit:r.limit||0,optional:!!r.optional,includeSelf:s,animation:a,originalSelector:n.selector,options:fs(n.options)}}visitStagger(n,e){e.currentQuery||e.errors.push(function T9(){return new V(3013,!1)}());const i="full"===n.timings?{duration:0,delay:0,easing:"full"}:Df(n.timings,e.errors,!0);return{type:be.Stagger,animation:fi(this,Ql(n.animation),e),timings:i,options:null}}}class gY{constructor(n){this.errors=n,this.queryCount=0,this.depCount=0,this.currentTransition=null,this.currentQuery=null,this.currentQuerySelector=null,this.currentAnimateTimings=null,this.currentTime=0,this.collectedStyles=new Map,this.options=null,this.unsupportedCSSPropertiesFound=new Set}}function fs(t){return t?(t={...t}).params&&(t.params=function pY(t){return t?{...t}:null}(t.params)):t={},t}function ay(t,n,e){return{duration:t,delay:n,easing:e}}function cy(t,n,e,i,r,o,s=null,a=!1){return{type:1,element:t,keyframes:n,preStyleProps:e,postStyleProps:i,duration:r,delay:o,totalTime:r+o,easing:s,subTimeline:a}}class Tf{constructor(){this._map=new Map}get(n){return this._map.get(n)||[]}append(n,e){let i=this._map.get(n);i||this._map.set(n,i=[]),i.push(...e)}has(n){return this._map.has(n)}clear(){this._map.clear()}}const AY=new RegExp(":enter","g"),EY=new RegExp(":leave","g");function ly(t,n,e,i,r,o=new Map,s=new Map,a,c,l=[]){return(new wY).buildKeyframes(t,n,e,i,r,o,s,a,c,l)}class wY{buildKeyframes(n,e,i,r,o,s,a,c,l,d=[]){l=l||new Tf;const u=new dy(n,e,l,r,o,d,[]);u.options=c;const h=c.delay?Nr(c.delay):0;u.currentTimeline.delayNextStep(h),u.currentTimeline.setStyles([s],null,u.errors,c),fi(this,i,u);const f=u.timelines.filter(p=>p.containsAnimation());if(f.length&&a.size){let p;for(let g=f.length-1;g>=0;g--){const _=f[g];if(_.element===e){p=_;break}}p&&!p.allowOnlyTimelineStyles()&&p.setStyles([a],null,u.errors,c)}return f.length?f.map(p=>p.buildKeyframes()):[cy(e,[],[],[],0,h,"",!1)]}visitTrigger(n,e){}visitState(n,e){}visitTransition(n,e){}visitAnimateChild(n,e){const i=e.subInstructions.get(e.element);if(i){const r=e.createSubContext(n.options),o=e.currentTimeline.currentTime,s=this._visitSubInstructions(i,r,r.options);o!=s&&e.transformIntoNewTimeline(s)}e.previousNode=n}visitAnimateRef(n,e){const i=e.createSubContext(n.options);i.transformIntoNewTimeline(),this._applyAnimationRefDelays([n.options,n.animation.options],e,i),this.visitReference(n.animation,i),e.transformIntoNewTimeline(i.currentTimeline.currentTime),e.previousNode=n}_applyAnimationRefDelays(n,e,i){for(const r of n){const o=r?.delay;if(o){const s="number"==typeof o?o:Nr(Zl(o,r?.params??{},e.errors));i.delayNextStep(s)}}}_visitSubInstructions(n,e,i){let o=e.currentTimeline.currentTime;const s=null!=i.duration?Nr(i.duration):null,a=null!=i.delay?Nr(i.delay):null;return 0!==s&&n.forEach(c=>{const l=e.appendInstructionToTimeline(c,s,a);o=Math.max(o,l.duration+l.delay)}),o}visitReference(n,e){e.updateOptions(n.options,!0),fi(this,n.animation,e),e.previousNode=n}visitSequence(n,e){const i=e.subContextCount;let r=e;const o=n.options;if(o&&(o.params||o.delay)&&(r=e.createSubContext(o),r.transformIntoNewTimeline(),null!=o.delay)){r.previousNode.type==be.Style&&(r.currentTimeline.snapshotCurrentStyles(),r.previousNode=kf);const s=Nr(o.delay);r.delayNextStep(s)}n.steps.length&&(n.steps.forEach(s=>fi(this,s,r)),r.currentTimeline.applyStylesToKeyframe(),r.subContextCount>i&&r.transformIntoNewTimeline()),e.previousNode=n}visitGroup(n,e){const i=[];let r=e.currentTimeline.currentTime;const o=n.options&&n.options.delay?Nr(n.options.delay):0;n.steps.forEach(s=>{const a=e.createSubContext(n.options);o&&a.delayNextStep(o),fi(this,s,a),r=Math.max(r,a.currentTimeline.currentTime),i.push(a.currentTimeline)}),i.forEach(s=>e.currentTimeline.mergeTimelineCollectedStyles(s)),e.transformIntoNewTimeline(r),e.previousNode=n}_visitTiming(n,e){if(n.dynamic){const i=n.strValue;return Df(e.params?Zl(i,e.params,e.errors):i,e.errors)}return{duration:n.duration,delay:n.delay,easing:n.easing}}visitAnimate(n,e){const i=e.currentAnimateTimings=this._visitTiming(n.timings,e),r=e.currentTimeline;i.delay&&(e.incrementTime(i.delay),r.snapshotCurrentStyles());const o=n.style;o.type==be.Keyframes?this.visitKeyframes(o,e):(e.incrementTime(i.duration),this.visitStyle(o,e),r.applyStylesToKeyframe()),e.currentAnimateTimings=null,e.previousNode=n}visitStyle(n,e){const i=e.currentTimeline,r=e.currentAnimateTimings;!r&&i.hasCurrentStyleProperties()&&i.forwardFrame();const o=r&&r.easing||n.easing;n.isEmptyStep?i.applyEmptyStep(o):i.setStyles(n.styles,o,e.errors,e.options),e.previousNode=n}visitKeyframes(n,e){const i=e.currentAnimateTimings,r=e.currentTimeline.duration,o=i.duration,a=e.createSubContext().currentTimeline;a.easing=i.easing,n.styles.forEach(c=>{a.forwardTime((c.offset||0)*o),a.setStyles(c.styles,c.easing,e.errors,e.options),a.applyStylesToKeyframe()}),e.currentTimeline.mergeTimelineCollectedStyles(a),e.transformIntoNewTimeline(r+o),e.previousNode=n}visitQuery(n,e){const i=e.currentTimeline.currentTime,r=n.options||{},o=r.delay?Nr(r.delay):0;o&&(e.previousNode.type===be.Style||0==i&&e.currentTimeline.hasCurrentStyleProperties())&&(e.currentTimeline.snapshotCurrentStyles(),e.previousNode=kf);let s=i;const a=e.invokeQuery(n.selector,n.originalSelector,n.limit,n.includeSelf,!!r.optional,e.errors);e.currentQueryTotal=a.length;let c=null;a.forEach((l,d)=>{e.currentQueryIndex=d;const u=e.createSubContext(n.options,l);o&&u.delayNextStep(o),l===e.element&&(c=u.currentTimeline),fi(this,n.animation,u),u.currentTimeline.applyStylesToKeyframe(),s=Math.max(s,u.currentTimeline.currentTime)}),e.currentQueryIndex=0,e.currentQueryTotal=0,e.transformIntoNewTimeline(s),c&&(e.currentTimeline.mergeTimelineCollectedStyles(c),e.currentTimeline.snapshotCurrentStyles()),e.previousNode=n}visitStagger(n,e){const i=e.parentContext,r=e.currentTimeline,o=n.timings,s=Math.abs(o.duration),a=s*(e.currentQueryTotal-1);let c=s*e.currentQueryIndex;switch(o.duration<0?"reverse":o.easing){case"reverse":c=a-c;break;case"full":c=i.currentStaggerTime}const d=e.currentTimeline;c&&d.delayNextStep(c);const u=d.currentTime;fi(this,n.animation,e),e.previousNode=n,i.currentStaggerTime=r.currentTime-u+(r.startTime-i.currentTimeline.startTime)}}const kf={};class dy{constructor(n,e,i,r,o,s,a,c){this._driver=n,this.element=e,this.subInstructions=i,this._enterClassName=r,this._leaveClassName=o,this.errors=s,this.timelines=a,this.parentContext=null,this.currentAnimateTimings=null,this.previousNode=kf,this.subContextCount=0,this.options={},this.currentQueryIndex=0,this.currentQueryTotal=0,this.currentStaggerTime=0,this.currentTimeline=c||new Rf(this._driver,e,0),a.push(this.currentTimeline)}get params(){return this.options.params}updateOptions(n,e){if(!n)return;const i=n;let r=this.options;null!=i.duration&&(r.duration=Nr(i.duration)),null!=i.delay&&(r.delay=Nr(i.delay));const o=i.params;if(o){let s=r.params;s||(s=this.options.params={}),Object.keys(o).forEach(a=>{(!e||!s.hasOwnProperty(a))&&(s[a]=Zl(o[a],s,this.errors))})}}_copyOptions(){const n={};if(this.options){const e=this.options.params;if(e){const i=n.params={};Object.keys(e).forEach(r=>{i[r]=e[r]})}}return n}createSubContext(n=null,e,i){const r=e||this.element,o=new dy(this._driver,r,this.subInstructions,this._enterClassName,this._leaveClassName,this.errors,this.timelines,this.currentTimeline.fork(r,i||0));return o.previousNode=this.previousNode,o.currentAnimateTimings=this.currentAnimateTimings,o.options=this._copyOptions(),o.updateOptions(n),o.currentQueryIndex=this.currentQueryIndex,o.currentQueryTotal=this.currentQueryTotal,o.parentContext=this,this.subContextCount++,o}transformIntoNewTimeline(n){return this.previousNode=kf,this.currentTimeline=this.currentTimeline.fork(this.element,n),this.timelines.push(this.currentTimeline),this.currentTimeline}appendInstructionToTimeline(n,e,i){const r={duration:e??n.duration,delay:this.currentTimeline.currentTime+(i??0)+n.delay,easing:""},o=new SY(this._driver,n.element,n.keyframes,n.preStyleProps,n.postStyleProps,r,n.stretchStartingKeyframe);return this.timelines.push(o),r}incrementTime(n){this.currentTimeline.forwardTime(this.currentTimeline.duration+n)}delayNextStep(n){n>0&&this.currentTimeline.delayNextStep(n)}invokeQuery(n,e,i,r,o,s){let a=[];if(r&&a.push(this.element),n.length>0){n=(n=n.replace(AY,"."+this._enterClassName)).replace(EY,"."+this._leaveClassName);let l=this._driver.query(this.element,n,1!=i);0!==i&&(l=i<0?l.slice(l.length+i,l.length):l.slice(0,i)),a.push(...l)}return!o&&0==a.length&&s.push(function k9(t){return new V(3014,!1)}()),a}}class Rf{constructor(n,e,i,r){this._driver=n,this.element=e,this.startTime=i,this._elementTimelineStylesLookup=r,this.duration=0,this.easing=null,this._previousKeyframe=new Map,this._currentKeyframe=new Map,this._keyframes=new Map,this._styleSummary=new Map,this._localTimelineStyles=new Map,this._pendingStyles=new Map,this._backFill=new Map,this._currentEmptyStepKeyframe=null,this._elementTimelineStylesLookup||(this._elementTimelineStylesLookup=new Map),this._globalTimelineStyles=this._elementTimelineStylesLookup.get(e),this._globalTimelineStyles||(this._globalTimelineStyles=this._localTimelineStyles,this._elementTimelineStylesLookup.set(e,this._localTimelineStyles)),this._loadKeyframe()}containsAnimation(){switch(this._keyframes.size){case 0:return!1;case 1:return this.hasCurrentStyleProperties();default:return!0}}hasCurrentStyleProperties(){return this._currentKeyframe.size>0}get currentTime(){return this.startTime+this.duration}delayNextStep(n){const e=1===this._keyframes.size&&this._pendingStyles.size;this.duration||e?(this.forwardTime(this.currentTime+n),e&&this.snapshotCurrentStyles()):this.startTime+=n}fork(n,e){return this.applyStylesToKeyframe(),new Rf(this._driver,n,e||this.currentTime,this._elementTimelineStylesLookup)}_loadKeyframe(){this._currentKeyframe&&(this._previousKeyframe=this._currentKeyframe),this._currentKeyframe=this._keyframes.get(this.duration),this._currentKeyframe||(this._currentKeyframe=new Map,this._keyframes.set(this.duration,this._currentKeyframe))}forwardFrame(){this.duration+=1,this._loadKeyframe()}forwardTime(n){this.applyStylesToKeyframe(),this.duration=n,this._loadKeyframe()}_updateStyle(n,e){this._localTimelineStyles.set(n,e),this._globalTimelineStyles.set(n,e),this._styleSummary.set(n,{time:this.currentTime,value:e})}allowOnlyTimelineStyles(){return this._currentEmptyStepKeyframe!==this._currentKeyframe}applyEmptyStep(n){n&&this._previousKeyframe.set("easing",n);for(let[e,i]of this._globalTimelineStyles)this._backFill.set(e,i||kr),this._currentKeyframe.set(e,kr);this._currentEmptyStepKeyframe=this._currentKeyframe}setStyles(n,e,i,r){e&&this._previousKeyframe.set("easing",e);const o=r&&r.params||{},s=function DY(t,n){const e=new Map;let i;return t.forEach(r=>{if("*"===r){i??=n.keys();for(let o of i)e.set(o,kr)}else for(let[o,s]of r)e.set(o,s)}),e}(n,this._globalTimelineStyles);for(let[a,c]of s){const l=Zl(c,o,i);this._pendingStyles.set(a,l),this._localTimelineStyles.has(a)||this._backFill.set(a,this._globalTimelineStyles.get(a)??kr),this._updateStyle(a,l)}}applyStylesToKeyframe(){0!=this._pendingStyles.size&&(this._pendingStyles.forEach((n,e)=>{this._currentKeyframe.set(e,n)}),this._pendingStyles.clear(),this._localTimelineStyles.forEach((n,e)=>{this._currentKeyframe.has(e)||this._currentKeyframe.set(e,n)}))}snapshotCurrentStyles(){for(let[n,e]of this._localTimelineStyles)this._pendingStyles.set(n,e),this._updateStyle(n,e)}getFinalKeyframe(){return this._keyframes.get(this.duration)}get properties(){const n=[];for(let e in this._currentKeyframe)n.push(e);return n}mergeTimelineCollectedStyles(n){n._styleSummary.forEach((e,i)=>{const r=this._styleSummary.get(i);(!r||e.time>r.time)&&this._updateStyle(i,e.value)})}buildKeyframes(){this.applyStylesToKeyframe();const n=new Set,e=new Set,i=1===this._keyframes.size&&0===this.duration;let r=[];this._keyframes.forEach((a,c)=>{const l=new Map([...this._backFill,...a]);l.forEach((d,u)=>{"!"===d?n.add(u):d===kr&&e.add(u)}),i||l.set("offset",c/this.duration),r.push(l)});const o=[...n.values()],s=[...e.values()];if(i){const a=r[0],c=new Map(a);a.set("offset",0),c.set("offset",1),r=[a,c]}return cy(this.element,r,o,s,this.duration,this.startTime,this.easing,!1)}}class SY extends Rf{constructor(n,e,i,r,o,s,a=!1){super(n,e,s.delay),this.keyframes=i,this.preStyleProps=r,this.postStyleProps=o,this._stretchStartingKeyframe=a,this.timings={duration:s.duration,delay:s.delay,easing:s.easing}}containsAnimation(){return this.keyframes.length>1}buildKeyframes(){let n=this.keyframes,{delay:e,duration:i,easing:r}=this.timings;if(this._stretchStartingKeyframe&&e){const o=[],s=i+e,a=e/s,c=new Map(n[0]);c.set("offset",0),o.push(c);const l=new Map(n[0]);l.set("offset",l1(a)),o.push(l);const d=n.length-1;for(let u=1;u<=d;u++){let h=new Map(n[u]);const f=h.get("offset");h.set("offset",l1((e+f*i)/s)),o.push(h)}i=s,e=0,r="",n=o}return cy(this.element,n,this.preStyleProps,this.postStyleProps,i,e,r,!0)}}function l1(t,n=3){const e=Math.pow(10,n-1);return Math.round(t*e)/e}function d1(t,n,e,i,r,o,s,a,c,l,d,u,h){return{type:0,element:t,triggerName:n,isRemovalTransition:r,fromState:e,fromStyles:o,toState:i,toStyles:s,timelines:a,queriedElements:c,preStyleProps:l,postStyleProps:d,totalTime:u,errors:h}}const uy={};class u1{constructor(n,e,i){this._triggerName=n,this.ast=e,this._stateStyles=i}match(n,e,i,r){return function CY(t,n,e,i,r){return t.some(o=>o(n,e,i,r))}(this.ast.matchers,n,e,i,r)}buildStyles(n,e,i){let r=this._stateStyles.get("*");return void 0!==n&&(r=this._stateStyles.get(n?.toString())||r),r?r.buildStyles(e,i):new Map}build(n,e,i,r,o,s,a,c,l,d){const u=[],h=this.ast.options&&this.ast.options.params||uy,p=this.buildStyles(i,a&&a.params||uy,u),g=c&&c.params||uy,_=this.buildStyles(r,g,u),x=new Set,y=new Map,k=new Map,F="void"===r,O={params:h1(g,h),delay:this.ast.options?.delay},L=d?[]:ly(n,e,this.ast.animation,o,s,p,_,O,l,u);let $=0;return L.forEach(z=>{$=Math.max(z.duration+z.delay,$)}),u.length?d1(e,this._triggerName,i,r,F,p,_,[],[],y,k,$,u):(L.forEach(z=>{const ie=z.element,pe=hi(y,ie,new Set);z.preStyleProps.forEach(Ce=>pe.add(Ce));const De=hi(k,ie,new Set);z.postStyleProps.forEach(Ce=>De.add(Ce)),ie!==e&&x.add(ie)}),d1(e,this._triggerName,i,r,F,p,_,L,[...x.values()],y,k,$))}}function h1(t,n){const e={...n};return Object.entries(t).forEach(([i,r])=>{null!=r&&(e[i]=r)}),e}class MY{constructor(n,e,i){this.styles=n,this.defaultParams=e,this.normalizer=i}buildStyles(n,e){const i=new Map,r=h1(n,this.defaultParams);return this.styles.styles.forEach(o=>{"string"!=typeof o&&o.forEach((s,a)=>{s&&(s=Zl(s,r,e));const c=this.normalizer.normalizePropertyName(a,e);s=this.normalizer.normalizeStyleValue(a,c,s,e),i.set(a,s)})}),i}}class TY{constructor(n,e,i){this.name=n,this.ast=e,this._normalizer=i,this.transitionFactories=[],this.states=new Map,e.states.forEach(r=>{this.states.set(r.name,new MY(r.style,r.options&&r.options.params||{},i))}),f1(this.states,"true","1"),f1(this.states,"false","0"),e.transitions.forEach(r=>{this.transitionFactories.push(new u1(n,r,this.states))}),this.fallbackTransition=function kY(t,n,e){return new u1(t,{type:be.Transition,animation:{type:be.Sequence,steps:[],options:null},matchers:[(s,a)=>!0],options:null,queryCount:0,depCount:0},n)}(n,this.states)}get containsQueries(){return this.ast.queryCount>0}matchTransition(n,e,i,r){return this.transitionFactories.find(s=>s.match(n,e,i,r))||null}matchStyles(n,e,i){return this.fallbackTransition.buildStyles(n,e,i)}}function f1(t,n,e){t.has(n)?t.has(e)||t.set(e,t.get(n)):t.has(e)&&t.set(n,t.get(e))}const RY=new Tf;class FY{constructor(n,e,i){this.bodyNode=n,this._driver=e,this._normalizer=i,this._animations=new Map,this._playersById=new Map,this.players=[]}register(n,e){const i=[],o=sy(this._driver,e,i,[]);if(i.length)throw function B9(t){return new V(3503,!1)}();this._animations.set(n,o)}_buildPlayer(n,e,i){const r=n.element,o=Yk(this._normalizer,n.keyframes,e,i);return this._driver.animate(r,o,n.duration,n.delay,n.easing,[],!0)}create(n,e,i={}){const r=[],o=this._animations.get(n);let s;const a=new Map;if(o?(s=ly(this._driver,e,o,ey,Ef,new Map,new Map,i,RY,r),s.forEach(d=>{const u=hi(a,d.element,new Map);d.postStyleProps.forEach(h=>u.set(h,null))})):(r.push(function V9(){return new V(3300,!1)}()),s=[]),r.length)throw function H9(t){return new V(3504,!1)}();a.forEach((d,u)=>{d.forEach((h,f)=>{d.set(f,this._driver.computeStyle(u,f,kr))})});const l=go(s.map(d=>{const u=a.get(d.element);return this._buildPlayer(d,new Map,u)}));return this._playersById.set(n,l),l.onDestroy(()=>this.destroy(n)),this.players.push(l),l}destroy(n){const e=this._getPlayer(n);e.destroy(),this._playersById.delete(n);const i=this.players.indexOf(e);i>=0&&this.players.splice(i,1)}_getPlayer(n){const e=this._playersById.get(n);if(!e)throw function j9(t){return new V(3301,!1)}();return e}listen(n,e,i,r){const o=Yv(e,"","","");return Xv(this._getPlayer(n),i,o,r),()=>{}}command(n,e,i,r){if("register"==i)return void this.register(n,r[0]);if("create"==i)return void this.create(n,e,r[0]||{});const o=this._getPlayer(n);switch(i){case"play":o.play();break;case"pause":o.pause();break;case"reset":o.reset();break;case"restart":o.restart();break;case"finish":o.finish();break;case"init":o.init();break;case"setPosition":o.setPosition(parseFloat(r[0]));break;case"destroy":this.destroy(n)}}}const m1="ng-animate-queued",hy="ng-animate-disabled",BY=[],p1={namespaceId:"",setForRemoval:!1,setForMove:!1,hasAnimation:!1,removedBeforeQueried:!1},VY={namespaceId:"",setForMove:!1,setForRemoval:!1,hasAnimation:!1,removedBeforeQueried:!0},Hi="__ng_removed";class fy{get params(){return this.options.params}constructor(n,e=""){this.namespaceId=e;const i=n&&n.hasOwnProperty("value");if(this.value=function zY(t){return t??null}(i?n.value:n),i){const{value:o,...s}=n;this.options=s}else this.options={};this.options.params||(this.options.params={})}absorbOptions(n){const e=n.params;if(e){const i=this.options.params;Object.keys(e).forEach(r=>{null==i[r]&&(i[r]=e[r])})}}}const Kl="void",my=new fy(Kl);class HY{constructor(n,e,i){this.id=n,this.hostElement=e,this._engine=i,this.players=[],this._triggers=new Map,this._queue=[],this._elementListeners=new Map,this._hostClassName="ng-tns-"+n,Si(e,this._hostClassName)}listen(n,e,i,r){if(!this._triggers.has(e))throw function U9(t,n){return new V(3302,!1)}();if(null==i||0==i.length)throw function z9(t){return new V(3303,!1)}();if(!function GY(t){return"start"==t||"done"==t}(i))throw function G9(t,n){return new V(3400,!1)}();const o=hi(this._elementListeners,n,[]),s={name:e,phase:i,callback:r};o.push(s);const a=hi(this._engine.statesByElement,n,new Map);return a.has(e)||(Si(n,wf),Si(n,wf+"-"+e),a.set(e,my)),()=>{this._engine.afterFlush(()=>{const c=o.indexOf(s);c>=0&&o.splice(c,1),this._triggers.has(e)||a.delete(e)})}}register(n,e){return!this._triggers.has(n)&&(this._triggers.set(n,e),!0)}_getTrigger(n){const e=this._triggers.get(n);if(!e)throw function $9(t){return new V(3401,!1)}();return e}trigger(n,e,i,r=!0){const o=this._getTrigger(e),s=new py(this.id,e,n);let a=this._engine.statesByElement.get(n);a||(Si(n,wf),Si(n,wf+"-"+e),this._engine.statesByElement.set(n,a=new Map));let c=a.get(e);const l=new fy(i,this.id);if(!(i&&i.hasOwnProperty("value"))&&c&&l.absorbOptions(c.options),a.set(e,l),c||(c=my),l.value!==Kl&&c.value===l.value){if(!function XY(t,n){const e=Object.keys(t),i=Object.keys(n);if(e.length!=i.length)return!1;for(let r=0;r{hs(n,_),cr(n,x)})}return}const h=hi(this._engine.playersByElement,n,[]);h.forEach(g=>{g.namespaceId==this.id&&g.triggerName==e&&g.queued&&g.destroy()});let f=o.matchTransition(c.value,l.value,n,l.params),p=!1;if(!f){if(!r)return;f=o.fallbackTransition,p=!0}return this._engine.totalQueuedPlayers++,this._queue.push({element:n,triggerName:e,transition:f,fromState:c,toState:l,player:s,isFallbackTransition:p}),p||(Si(n,m1),s.onStart(()=>{qa(n,m1)})),s.onDone(()=>{let g=this.players.indexOf(s);g>=0&&this.players.splice(g,1);const _=this._engine.playersByElement.get(n);if(_){let x=_.indexOf(s);x>=0&&_.splice(x,1)}}),this.players.push(s),h.push(s),s}deregister(n){this._triggers.delete(n),this._engine.statesByElement.forEach(e=>e.delete(n)),this._elementListeners.forEach((e,i)=>{this._elementListeners.set(i,e.filter(r=>r.name!=n))})}clearElementCache(n){this._engine.statesByElement.delete(n),this._elementListeners.delete(n);const e=this._engine.playersByElement.get(n);e&&(e.forEach(i=>i.destroy()),this._engine.playersByElement.delete(n))}_signalRemovalForInnerTriggers(n,e){const i=this._engine.driver.query(n,Sf,!0);i.forEach(r=>{if(r[Hi])return;const o=this._engine.fetchNamespacesByElement(r);o.size?o.forEach(s=>s.triggerLeaveAnimation(r,e,!1,!0)):this.clearElementCache(r)}),this._engine.afterFlushAnimationsDone(()=>i.forEach(r=>this.clearElementCache(r)))}triggerLeaveAnimation(n,e,i,r){const o=this._engine.statesByElement.get(n),s=new Map;if(o){const a=[];if(o.forEach((c,l)=>{if(s.set(l,c.value),this._triggers.has(l)){const d=this.trigger(n,l,Kl,r);d&&a.push(d)}}),a.length)return this._engine.markElementAsRemoved(this.id,n,!0,e,s),i&&go(a).onDone(()=>this._engine.processLeaveNode(n)),!0}return!1}prepareLeaveAnimationListeners(n){const e=this._elementListeners.get(n),i=this._engine.statesByElement.get(n);if(e&&i){const r=new Set;e.forEach(o=>{const s=o.name;if(r.has(s))return;r.add(s);const c=this._triggers.get(s).fallbackTransition,l=i.get(s)||my,d=new fy(Kl),u=new py(this.id,s,n);this._engine.totalQueuedPlayers++,this._queue.push({element:n,triggerName:s,transition:c,fromState:l,toState:d,player:u,isFallbackTransition:!0})})}}removeNode(n,e){const i=this._engine;if(n.childElementCount&&this._signalRemovalForInnerTriggers(n,e),this.triggerLeaveAnimation(n,e,!0))return;let r=!1;if(i.totalAnimations){const o=i.players.length?i.playersByQueriedElement.get(n):[];if(o&&o.length)r=!0;else{let s=n;for(;s=s.parentNode;)if(i.statesByElement.get(s)){r=!0;break}}}if(this.prepareLeaveAnimationListeners(n),r)i.markElementAsRemoved(this.id,n,!1,e);else{const o=n[Hi];(!o||o===p1)&&(i.afterFlush(()=>this.clearElementCache(n)),i.destroyInnerAnimations(n),i._onRemovalComplete(n,e))}}insertNode(n,e){Si(n,this._hostClassName)}drainQueuedTransitions(n){const e=[];return this._queue.forEach(i=>{const r=i.player;if(r.destroyed)return;const o=i.element,s=this._elementListeners.get(o);s&&s.forEach(a=>{if(a.name==i.triggerName){const c=Yv(o,i.triggerName,i.fromState.value,i.toState.value);c._data=n,Xv(i.player,a.phase,c,a.callback)}}),r.markedForDestroy?this._engine.afterFlush(()=>{r.destroy()}):e.push(i)}),this._queue=[],e.sort((i,r)=>{const o=i.transition.ast.depCount,s=r.transition.ast.depCount;return 0==o||0==s?o-s:this._engine.driver.containsElement(i.element,r.element)?1:-1})}destroy(n){this.players.forEach(e=>e.destroy()),this._signalRemovalForInnerTriggers(this.hostElement,n)}}class jY{_onRemovalComplete(n,e){this.onRemovalComplete(n,e)}constructor(n,e,i,r){this.bodyNode=n,this.driver=e,this._normalizer=i,this.scheduler=r,this.players=[],this.newHostElements=new Map,this.playersByElement=new Map,this.playersByQueriedElement=new Map,this.statesByElement=new Map,this.disabledNodes=new Set,this.totalAnimations=0,this.totalQueuedPlayers=0,this._namespaceLookup={},this._namespaceList=[],this._flushFns=[],this._whenQuietFns=[],this.namespacesByHostElement=new Map,this.collectedEnterElements=[],this.collectedLeaveElements=[],this.onRemovalComplete=(o,s)=>{}}get queuedPlayers(){const n=[];return this._namespaceList.forEach(e=>{e.players.forEach(i=>{i.queued&&n.push(i)})}),n}createNamespace(n,e){const i=new HY(n,e,this);return this.bodyNode&&this.driver.containsElement(this.bodyNode,e)?this._balanceNamespaceList(i,e):(this.newHostElements.set(e,i),this.collectEnterElement(e)),this._namespaceLookup[n]=i}_balanceNamespaceList(n,e){const i=this._namespaceList,r=this.namespacesByHostElement;if(i.length-1>=0){let s=!1,a=this.driver.getParentElement(e);for(;a;){const c=r.get(a);if(c){const l=i.indexOf(c);i.splice(l+1,0,n),s=!0;break}a=this.driver.getParentElement(a)}s||i.unshift(n)}else i.push(n);return r.set(e,n),n}register(n,e){let i=this._namespaceLookup[n];return i||(i=this.createNamespace(n,e)),i}registerTrigger(n,e,i){let r=this._namespaceLookup[n];r&&r.register(e,i)&&this.totalAnimations++}destroy(n,e){n&&(this.afterFlush(()=>{}),this.afterFlushAnimationsDone(()=>{const i=this._fetchNamespace(n);this.namespacesByHostElement.delete(i.hostElement);const r=this._namespaceList.indexOf(i);r>=0&&this._namespaceList.splice(r,1),i.destroy(e),delete this._namespaceLookup[n]}))}_fetchNamespace(n){return this._namespaceLookup[n]}fetchNamespacesByElement(n){const e=new Set,i=this.statesByElement.get(n);if(i)for(let r of i.values())if(r.namespaceId){const o=this._fetchNamespace(r.namespaceId);o&&e.add(o)}return e}trigger(n,e,i,r){if(Ff(e)){const o=this._fetchNamespace(n);if(o)return o.trigger(e,i,r),!0}return!1}insertNode(n,e,i,r){if(!Ff(e))return;const o=e[Hi];if(o&&o.setForRemoval){o.setForRemoval=!1,o.setForMove=!0;const s=this.collectedLeaveElements.indexOf(e);s>=0&&this.collectedLeaveElements.splice(s,1)}if(n){const s=this._fetchNamespace(n);s&&s.insertNode(e,i)}r&&this.collectEnterElement(e)}collectEnterElement(n){this.collectedEnterElements.push(n)}markElementAsDisabled(n,e){e?this.disabledNodes.has(n)||(this.disabledNodes.add(n),Si(n,hy)):this.disabledNodes.has(n)&&(this.disabledNodes.delete(n),qa(n,hy))}removeNode(n,e,i){if(Ff(e)){this.scheduler?.notify();const r=n?this._fetchNamespace(n):null;r?r.removeNode(e,i):this.markElementAsRemoved(n,e,!1,i);const o=this.namespacesByHostElement.get(e);o&&o.id!==n&&o.removeNode(e,i)}else this._onRemovalComplete(e,i)}markElementAsRemoved(n,e,i,r,o){this.collectedLeaveElements.push(e),e[Hi]={namespaceId:n,setForRemoval:r,hasAnimation:i,removedBeforeQueried:!1,previousTriggersValues:o}}listen(n,e,i,r,o){return Ff(e)?this._fetchNamespace(n).listen(e,i,r,o):()=>{}}_buildInstruction(n,e,i,r,o){return n.transition.build(this.driver,n.element,n.fromState.value,n.toState.value,i,r,n.fromState.options,n.toState.options,e,o)}destroyInnerAnimations(n){let e=this.driver.query(n,Sf,!0);e.forEach(i=>this.destroyActiveAnimationsForElement(i)),0!=this.playersByQueriedElement.size&&(e=this.driver.query(n,ty,!0),e.forEach(i=>this.finishActiveQueriedAnimationOnElement(i)))}destroyActiveAnimationsForElement(n){const e=this.playersByElement.get(n);e&&e.forEach(i=>{i.queued?i.markedForDestroy=!0:i.destroy()})}finishActiveQueriedAnimationOnElement(n){const e=this.playersByQueriedElement.get(n);e&&e.forEach(i=>i.finish())}whenRenderingDone(){return new Promise(n=>{if(this.players.length)return go(this.players).onDone(()=>n());n()})}processLeaveNode(n){const e=n[Hi];if(e&&e.setForRemoval){if(n[Hi]=p1,e.namespaceId){this.destroyInnerAnimations(n);const i=this._fetchNamespace(e.namespaceId);i&&i.clearElementCache(n)}this._onRemovalComplete(n,e.setForRemoval)}n.classList?.contains(hy)&&this.markElementAsDisabled(n,!1),this.driver.query(n,".ng-animate-disabled",!0).forEach(i=>{this.markElementAsDisabled(i,!1)})}flush(n=-1){let e=[];if(this.newHostElements.size&&(this.newHostElements.forEach((i,r)=>this._balanceNamespaceList(i,r)),this.newHostElements.clear()),this.totalAnimations&&this.collectedEnterElements.length)for(let i=0;ii()),this._flushFns=[],this._whenQuietFns.length){const i=this._whenQuietFns;this._whenQuietFns=[],e.length?go(e).onDone(()=>{i.forEach(r=>r())}):i.forEach(r=>r())}}reportError(n){throw function W9(t){return new V(3402,!1)}()}_flushAnimations(n,e){const i=new Tf,r=[],o=new Map,s=[],a=new Map,c=new Map,l=new Map,d=new Set;this.disabledNodes.forEach(Q=>{d.add(Q);const ee=this.driver.query(Q,".ng-animate-queued",!0);for(let ae=0;ae{const ae=ey+g++;p.set(ee,ae),Q.forEach(fe=>Si(fe,ae))});const _=[],x=new Set,y=new Set;for(let Q=0;Qx.add(fe)):y.add(ee))}const k=new Map,F=b1(h,Array.from(x));F.forEach((Q,ee)=>{const ae=Ef+g++;k.set(ee,ae),Q.forEach(fe=>Si(fe,ae))}),n.push(()=>{f.forEach((Q,ee)=>{const ae=p.get(ee);Q.forEach(fe=>qa(fe,ae))}),F.forEach((Q,ee)=>{const ae=k.get(ee);Q.forEach(fe=>qa(fe,ae))}),_.forEach(Q=>{this.processLeaveNode(Q)})});const O=[],L=[];for(let Q=this._namespaceList.length-1;Q>=0;Q--)this._namespaceList[Q].drainQueuedTransitions(e).forEach(ae=>{const fe=ae.player,It=ae.element;if(O.push(fe),this.collectedEnterElements.length){const Nn=It[Hi];if(Nn&&Nn.setForMove){if(Nn.previousTriggersValues&&Nn.previousTriggersValues.has(ae.triggerName)){const Ps=Nn.previousTriggersValues.get(ae.triggerName),Mi=this.statesByElement.get(ae.element);if(Mi&&Mi.has(ae.triggerName)){const Qm=Mi.get(ae.triggerName);Qm.value=Ps,Mi.set(ae.triggerName,Qm)}}return void fe.destroy()}}const Un=!u||!this.driver.containsElement(u,It),nn=k.get(It),ei=p.get(It),it=this._buildInstruction(ae,i,ei,nn,Un);if(it.errors&&it.errors.length)return void L.push(it);if(Un)return fe.onStart(()=>hs(It,it.fromStyles)),fe.onDestroy(()=>cr(It,it.toStyles)),void r.push(fe);if(ae.isFallbackTransition)return fe.onStart(()=>hs(It,it.fromStyles)),fe.onDestroy(()=>cr(It,it.toStyles)),void r.push(fe);const To=[];it.timelines.forEach(Nn=>{Nn.stretchStartingKeyframe=!0,this.disabledNodes.has(Nn.element)||To.push(Nn)}),it.timelines=To,i.append(It,it.timelines),s.push({instruction:it,player:fe,element:It}),it.queriedElements.forEach(Nn=>hi(a,Nn,[]).push(fe)),it.preStyleProps.forEach((Nn,Ps)=>{if(Nn.size){let Mi=c.get(Ps);Mi||c.set(Ps,Mi=new Set),Nn.forEach((Qm,o0)=>Mi.add(o0))}}),it.postStyleProps.forEach((Nn,Ps)=>{let Mi=l.get(Ps);Mi||l.set(Ps,Mi=new Set),Nn.forEach((Qm,o0)=>Mi.add(o0))})});if(L.length){const Q=[];L.forEach(ee=>{Q.push(function X9(t,n){return new V(3505,!1)}())}),O.forEach(ee=>ee.destroy()),this.reportError(Q)}const $=new Map,z=new Map;s.forEach(Q=>{const ee=Q.element;i.has(ee)&&(z.set(ee,ee),this._beforeAnimationBuild(Q.player.namespaceId,Q.instruction,$))}),r.forEach(Q=>{const ee=Q.element;this._getPreviousPlayers(ee,!1,Q.namespaceId,Q.triggerName,null).forEach(fe=>{hi($,ee,[]).push(fe),fe.destroy()})});const ie=_.filter(Q=>y1(Q,c,l)),pe=new Map;_1(pe,this.driver,y,l,kr).forEach(Q=>{y1(Q,c,l)&&ie.push(Q)});const Ce=new Map;f.forEach((Q,ee)=>{_1(Ce,this.driver,new Set(Q),c,"!")}),ie.forEach(Q=>{const ee=pe.get(Q),ae=Ce.get(Q);pe.set(Q,new Map([...ee?.entries()??[],...ae?.entries()??[]]))});const Wt=[],On=[],nt={};s.forEach(Q=>{const{element:ee,player:ae,instruction:fe}=Q;if(i.has(ee)){if(d.has(ee))return ae.onDestroy(()=>cr(ee,fe.toStyles)),ae.disabled=!0,ae.overrideTotalTime(fe.totalTime),void r.push(ae);let It=nt;if(z.size>1){let nn=ee;const ei=[];for(;nn=nn.parentNode;){const it=z.get(nn);if(it){It=it;break}ei.push(nn)}ei.forEach(it=>z.set(it,It))}const Un=this._buildAnimation(ae.namespaceId,fe,$,o,Ce,pe);if(ae.setRealPlayer(Un),It===nt)Wt.push(ae);else{const nn=this.playersByElement.get(It);nn&&nn.length&&(ae.parentPlayer=go(nn)),r.push(ae)}}else hs(ee,fe.fromStyles),ae.onDestroy(()=>cr(ee,fe.toStyles)),On.push(ae),d.has(ee)&&r.push(ae)}),On.forEach(Q=>{const ee=o.get(Q.element);if(ee&&ee.length){const ae=go(ee);Q.setRealPlayer(ae)}}),r.forEach(Q=>{Q.parentPlayer?Q.syncPlayerEvents(Q.parentPlayer):Q.destroy()});for(let Q=0;Q<_.length;Q++){const ee=_[Q],ae=ee[Hi];if(qa(ee,Ef),ae&&ae.hasAnimation)continue;let fe=[];if(a.size){let Un=a.get(ee);Un&&Un.length&&fe.push(...Un);let nn=this.driver.query(ee,ty,!0);for(let ei=0;ei!Un.destroyed);It.length?$Y(this,ee,It):this.processLeaveNode(ee)}return _.length=0,Wt.forEach(Q=>{this.players.push(Q),Q.onDone(()=>{Q.destroy();const ee=this.players.indexOf(Q);this.players.splice(ee,1)}),Q.play()}),Wt}afterFlush(n){this._flushFns.push(n)}afterFlushAnimationsDone(n){this._whenQuietFns.push(n)}_getPreviousPlayers(n,e,i,r,o){let s=[];if(e){const a=this.playersByQueriedElement.get(n);a&&(s=a)}else{const a=this.playersByElement.get(n);if(a){const c=!o||o==Kl;a.forEach(l=>{l.queued||!c&&l.triggerName!=r||s.push(l)})}}return(i||r)&&(s=s.filter(a=>!(i&&i!=a.namespaceId||r&&r!=a.triggerName))),s}_beforeAnimationBuild(n,e,i){const o=e.element,s=e.isRemovalTransition?void 0:n,a=e.isRemovalTransition?void 0:e.triggerName;for(const c of e.timelines){const l=c.element,d=l!==o,u=hi(i,l,[]);this._getPreviousPlayers(l,d,s,a,e.toState).forEach(f=>{const p=f.getRealPlayer();p.beforeDestroy&&p.beforeDestroy(),f.destroy(),u.push(f)})}hs(o,e.fromStyles)}_buildAnimation(n,e,i,r,o,s){const a=e.triggerName,c=e.element,l=[],d=new Set,u=new Set,h=e.timelines.map(p=>{const g=p.element;d.add(g);const _=g[Hi];if(_&&_.removedBeforeQueried)return new $l(p.duration,p.delay);const x=g!==c,y=function WY(t){const n=[];return v1(t,n),n}((i.get(g)||BY).map($=>$.getRealPlayer())).filter($=>!!$.element&&$.element===g),k=o.get(g),F=s.get(g),O=Yk(this._normalizer,p.keyframes,k,F),L=this._buildPlayer(p,O,y);if(p.subTimeline&&r&&u.add(g),x){const $=new py(n,a,g);$.setRealPlayer(L),l.push($)}return L});l.forEach(p=>{hi(this.playersByQueriedElement,p.element,[]).push(p),p.onDone(()=>function UY(t,n,e){let i=t.get(n);if(i){if(i.length){const r=i.indexOf(e);i.splice(r,1)}0==i.length&&t.delete(n)}return i}(this.playersByQueriedElement,p.element,p))}),d.forEach(p=>Si(p,t1));const f=go(h);return f.onDestroy(()=>{d.forEach(p=>qa(p,t1)),cr(c,e.toStyles)}),u.forEach(p=>{hi(r,p,[]).push(f)}),f}_buildPlayer(n,e,i){return e.length>0?this.driver.animate(n.element,e,n.duration,n.delay,n.easing,i):new $l(n.duration,n.delay)}}class py{constructor(n,e,i){this.namespaceId=n,this.triggerName=e,this.element=i,this._player=new $l,this._containsRealPlayer=!1,this._queuedCallbacks=new Map,this.destroyed=!1,this.parentPlayer=null,this.markedForDestroy=!1,this.disabled=!1,this.queued=!0,this.totalTime=0}setRealPlayer(n){this._containsRealPlayer||(this._player=n,this._queuedCallbacks.forEach((e,i)=>{e.forEach(r=>Xv(n,i,void 0,r))}),this._queuedCallbacks.clear(),this._containsRealPlayer=!0,this.overrideTotalTime(n.totalTime),this.queued=!1)}getRealPlayer(){return this._player}overrideTotalTime(n){this.totalTime=n}syncPlayerEvents(n){const e=this._player;e.triggerCallback&&n.onStart(()=>e.triggerCallback("start")),n.onDone(()=>this.finish()),n.onDestroy(()=>this.destroy())}_queueEvent(n,e){hi(this._queuedCallbacks,n,[]).push(e)}onDone(n){this.queued&&this._queueEvent("done",n),this._player.onDone(n)}onStart(n){this.queued&&this._queueEvent("start",n),this._player.onStart(n)}onDestroy(n){this.queued&&this._queueEvent("destroy",n),this._player.onDestroy(n)}init(){this._player.init()}hasStarted(){return!this.queued&&this._player.hasStarted()}play(){!this.queued&&this._player.play()}pause(){!this.queued&&this._player.pause()}restart(){!this.queued&&this._player.restart()}finish(){this._player.finish()}destroy(){this.destroyed=!0,this._player.destroy()}reset(){!this.queued&&this._player.reset()}setPosition(n){this.queued||this._player.setPosition(n)}getPosition(){return this.queued?0:this._player.getPosition()}triggerCallback(n){const e=this._player;e.triggerCallback&&e.triggerCallback(n)}}function Ff(t){return t&&1===t.nodeType}function g1(t,n){const e=t.style.display;return t.style.display=n??"none",e}function _1(t,n,e,i,r){const o=[];e.forEach(c=>o.push(g1(c)));const s=[];i.forEach((c,l)=>{const d=new Map;c.forEach(u=>{const h=n.computeStyle(l,u,r);d.set(u,h),(!h||0==h.length)&&(l[Hi]=VY,s.push(l))}),t.set(l,d)});let a=0;return e.forEach(c=>g1(c,o[a++])),s}function b1(t,n){const e=new Map;if(t.forEach(a=>e.set(a,[])),0==n.length)return e;const r=new Set(n),o=new Map;function s(a){if(!a)return 1;let c=o.get(a);if(c)return c;const l=a.parentNode;return c=e.has(l)?l:r.has(l)?1:s(l),o.set(a,c),c}return n.forEach(a=>{const c=s(a);1!==c&&e.get(c).push(a)}),e}function Si(t,n){t.classList?.add(n)}function qa(t,n){t.classList?.remove(n)}function $Y(t,n,e){go(e).onDone(()=>t.processLeaveNode(n))}function v1(t,n){for(let e=0;er.add(o)):n.set(t,i),e.delete(t),!0}class Jl{constructor(n,e,i,r){this._driver=e,this._normalizer=i,this._triggerCache={},this.onRemovalComplete=(o,s)=>{},this._transitionEngine=new jY(n.body,e,i,r),this._timelineEngine=new FY(n.body,e,i),this._transitionEngine.onRemovalComplete=(o,s)=>this.onRemovalComplete(o,s)}registerTrigger(n,e,i,r,o){const s=n+"-"+r;let a=this._triggerCache[s];if(!a){const c=[],d=sy(this._driver,o,c,[]);if(c.length)throw function P9(t,n){return new V(3404,!1)}();a=function IY(t,n,e){return new TY(t,n,e)}(r,d,this._normalizer),this._triggerCache[s]=a}this._transitionEngine.registerTrigger(e,r,a)}register(n,e){this._transitionEngine.register(n,e)}destroy(n,e){this._transitionEngine.destroy(n,e)}onInsert(n,e,i,r){this._transitionEngine.insertNode(n,e,i,r)}onRemove(n,e,i){this._transitionEngine.removeNode(n,e,i)}disableAnimations(n,e){this._transitionEngine.markElementAsDisabled(n,e)}process(n,e,i,r){if("@"==i.charAt(0)){const[o,s]=Qk(i);this._timelineEngine.command(o,e,s,r)}else this._transitionEngine.trigger(n,e,i,r)}listen(n,e,i,r,o){if("@"==i.charAt(0)){const[s,a]=Qk(i);return this._timelineEngine.listen(s,e,a,o)}return this._transitionEngine.listen(n,e,i,r,o)}flush(n=-1){this._transitionEngine.flush(n)}get players(){return[...this._transitionEngine.players,...this._timelineEngine.players]}whenRenderingDone(){return this._transitionEngine.whenRenderingDone()}afterFlushAnimationsDone(n){this._transitionEngine.afterFlushAnimationsDone(n)}}class ed{static#e=this.initialStylesByElement=new WeakMap;constructor(n,e,i){this._element=n,this._startStyles=e,this._endStyles=i,this._state=0;let r=ed.initialStylesByElement.get(n);r||ed.initialStylesByElement.set(n,r=new Map),this._initialStyles=r}start(){this._state<1&&(this._startStyles&&cr(this._element,this._startStyles,this._initialStyles),this._state=1)}finish(){this.start(),this._state<2&&(cr(this._element,this._initialStyles),this._endStyles&&(cr(this._element,this._endStyles),this._endStyles=null),this._state=1)}destroy(){this.finish(),this._state<3&&(ed.initialStylesByElement.delete(this._element),this._startStyles&&(hs(this._element,this._startStyles),this._endStyles=null),this._endStyles&&(hs(this._element,this._endStyles),this._endStyles=null),cr(this._element,this._initialStyles),this._state=3)}}function gy(t){let n=null;return t.forEach((e,i)=>{(function YY(t){return"display"===t||"position"===t})(i)&&(n=n||new Map,n.set(i,e))}),n}class A1{constructor(n,e,i,r){this.element=n,this.keyframes=e,this.options=i,this._specialStyles=r,this._onDoneFns=[],this._onStartFns=[],this._onDestroyFns=[],this._initialized=!1,this._finished=!1,this._started=!1,this._destroyed=!1,this._originalOnDoneFns=[],this._originalOnStartFns=[],this.time=0,this.parentPlayer=null,this.currentSnapshot=new Map,this._duration=i.duration,this._delay=i.delay||0,this.time=this._duration+this._delay}_onFinish(){this._finished||(this._finished=!0,this._onDoneFns.forEach(n=>n()),this._onDoneFns=[])}init(){this._buildPlayer(),this._preparePlayerBeforeStart()}_buildPlayer(){if(this._initialized)return;this._initialized=!0;const n=this.keyframes;this.domPlayer=this._triggerWebAnimation(this.element,n,this.options),this._finalKeyframe=n.length?n[n.length-1]:new Map;const e=()=>this._onFinish();this.domPlayer.addEventListener("finish",e),this.onDestroy(()=>{this.domPlayer.removeEventListener("finish",e)})}_preparePlayerBeforeStart(){this._delay?this._resetDomPlayerState():this.domPlayer.pause()}_convertKeyframesToObject(n){const e=[];return n.forEach(i=>{e.push(Object.fromEntries(i))}),e}_triggerWebAnimation(n,e,i){return n.animate(this._convertKeyframesToObject(e),i)}onStart(n){this._originalOnStartFns.push(n),this._onStartFns.push(n)}onDone(n){this._originalOnDoneFns.push(n),this._onDoneFns.push(n)}onDestroy(n){this._onDestroyFns.push(n)}play(){this._buildPlayer(),this.hasStarted()||(this._onStartFns.forEach(n=>n()),this._onStartFns=[],this._started=!0,this._specialStyles&&this._specialStyles.start()),this.domPlayer.play()}pause(){this.init(),this.domPlayer.pause()}finish(){this.init(),this._specialStyles&&this._specialStyles.finish(),this._onFinish(),this.domPlayer.finish()}reset(){this._resetDomPlayerState(),this._destroyed=!1,this._finished=!1,this._started=!1,this._onStartFns=this._originalOnStartFns,this._onDoneFns=this._originalOnDoneFns}_resetDomPlayerState(){this.domPlayer&&this.domPlayer.cancel()}restart(){this.reset(),this.play()}hasStarted(){return this._started}destroy(){this._destroyed||(this._destroyed=!0,this._resetDomPlayerState(),this._onFinish(),this._specialStyles&&this._specialStyles.destroy(),this._onDestroyFns.forEach(n=>n()),this._onDestroyFns=[])}setPosition(n){void 0===this.domPlayer&&this.init(),this.domPlayer.currentTime=n*this.time}getPosition(){return+(this.domPlayer.currentTime??0)/this.time}get totalTime(){return this._delay+this._duration}beforeDestroy(){const n=new Map;this.hasStarted()&&this._finalKeyframe.forEach((i,r)=>{"offset"!==r&&n.set(r,this._finished?i:oy(this.element,r))}),this.currentSnapshot=n}triggerCallback(n){const e="start"===n?this._onStartFns:this._onDoneFns;e.forEach(i=>i()),e.length=0}}class x1{validateStyleProperty(n){return!0}validateAnimatableStyleProperty(n){return!0}matchesElement(n,e){return!1}containsElement(n,e){return Kk(n,e)}getParentElement(n){return Qv(n)}query(n,e,i){return Jk(n,e,i)}computeStyle(n,e,i){return oy(n,e)}animate(n,e,i,r,o,s=[]){const c={duration:i,delay:r,fill:0==r?"both":"forwards"};o&&(c.easing=o);const l=new Map,d=s.filter(f=>f instanceof A1);(function sY(t,n){return 0===t||0===n})(i,r)&&d.forEach(f=>{f.currentSnapshot.forEach((p,g)=>l.set(g,p))});let u=function iY(t){return t.length?t[0]instanceof Map?t:t.map(n=>new Map(Object.entries(n))):[]}(e).map(f=>new Map(f));u=function aY(t,n,e){if(e.size&&n.length){let i=n[0],r=[];if(e.forEach((o,s)=>{i.has(s)||r.push(s),i.set(s,o)}),r.length)for(let o=1;os.set(a,oy(t,a)))}}return n}(n,u,l);const h=function qY(t,n){let e=null,i=null;return Array.isArray(n)&&n.length?(e=gy(n[0]),n.length>1&&(i=gy(n[n.length-1]))):n instanceof Map&&(e=gy(n)),e||i?new ed(t,e,i):null}(n,u);return new A1(n,u,c,h)}}const E1="@.disabled";class w1{constructor(n,e,i,r){this.namespaceId=n,this.delegate=e,this.engine=i,this._onDestroy=r,this.\u0275type=0}get data(){return this.delegate.data}destroyNode(n){this.delegate.destroyNode?.(n)}destroy(){this.engine.destroy(this.namespaceId,this.delegate),this.engine.afterFlushAnimationsDone(()=>{queueMicrotask(()=>{this.delegate.destroy()})}),this._onDestroy?.()}createElement(n,e){return this.delegate.createElement(n,e)}createComment(n){return this.delegate.createComment(n)}createText(n){return this.delegate.createText(n)}appendChild(n,e){this.delegate.appendChild(n,e),this.engine.onInsert(this.namespaceId,e,n,!1)}insertBefore(n,e,i,r=!0){this.delegate.insertBefore(n,e,i),this.engine.onInsert(this.namespaceId,e,n,r)}removeChild(n,e,i){this.engine.onRemove(this.namespaceId,e,this.delegate)}selectRootElement(n,e){return this.delegate.selectRootElement(n,e)}parentNode(n){return this.delegate.parentNode(n)}nextSibling(n){return this.delegate.nextSibling(n)}setAttribute(n,e,i,r){this.delegate.setAttribute(n,e,i,r)}removeAttribute(n,e,i){this.delegate.removeAttribute(n,e,i)}addClass(n,e){this.delegate.addClass(n,e)}removeClass(n,e){this.delegate.removeClass(n,e)}setStyle(n,e,i,r){this.delegate.setStyle(n,e,i,r)}removeStyle(n,e,i){this.delegate.removeStyle(n,e,i)}setProperty(n,e,i){"@"==e.charAt(0)&&e==E1?this.disableAnimations(n,!!i):this.delegate.setProperty(n,e,i)}setValue(n,e){this.delegate.setValue(n,e)}listen(n,e,i){return this.delegate.listen(n,e,i)}disableAnimations(n,e){this.engine.disableAnimations(n,e)}}class QY extends w1{constructor(n,e,i,r,o){super(e,i,r,o),this.factory=n,this.namespaceId=e}setProperty(n,e,i){"@"==e.charAt(0)?"."==e.charAt(1)&&e==E1?this.disableAnimations(n,i=void 0===i||!!i):this.engine.process(this.namespaceId,n,e.slice(1),i):this.delegate.setProperty(n,e,i)}listen(n,e,i){if("@"==e.charAt(0)){const r=function ZY(t){switch(t){case"body":return document.body;case"document":return document;case"window":return window;default:return t}}(n);let o=e.slice(1),s="";return"@"!=o.charAt(0)&&([o,s]=function KY(t){const n=t.indexOf(".");return[t.substring(0,n),t.slice(n+1)]}(o)),this.engine.listen(this.namespaceId,r,o,s,a=>{this.factory.scheduleListenerCallback(a._data||-1,i,a)})}return this.delegate.listen(n,e,i)}}class JY{constructor(n,e,i){this.delegate=n,this.engine=e,this._zone=i,this._currentId=0,this._microtaskId=1,this._animationCallbacksBuffer=[],this._rendererCache=new Map,this._cdRecurDepth=0,e.onRemovalComplete=(r,o)=>{const s=o?.parentNode(r);s&&o.removeChild(s,r)}}createRenderer(n,e){const r=this.delegate.createRenderer(n,e);if(!n||!e?.data?.animation){const l=this._rendererCache;let d=l.get(r);return d||(d=new w1("",r,this.engine,()=>l.delete(r)),l.set(r,d)),d}const o=e.id,s=e.id+"-"+this._currentId;this._currentId++,this.engine.register(s,n);const a=l=>{Array.isArray(l)?l.forEach(a):this.engine.registerTrigger(o,s,n,l.name,l)};return e.data.animation.forEach(a),new QY(this,s,r,this.engine)}begin(){this._cdRecurDepth++,this.delegate.begin&&this.delegate.begin()}_scheduleCountTask(){queueMicrotask(()=>{this._microtaskId++})}scheduleListenerCallback(n,e,i){if(n>=0&&ne(i));const r=this._animationCallbacksBuffer;0==r.length&&queueMicrotask(()=>{this._zone.run(()=>{r.forEach(o=>{const[s,a]=o;s(a)}),this._animationCallbacksBuffer=[]})}),r.push([e,i])}end(){this._cdRecurDepth--,0==this._cdRecurDepth&&this._zone.runOutsideAngular(()=>{this._scheduleCountTask(),this.engine.flush(this._microtaskId)}),this.delegate.end&&this.delegate.end()}whenRenderingDone(){return this.engine.whenRenderingDone()}}let e7=(()=>{class t extends Jl{constructor(e,i,r){super(e,i,r,ne(sh,{optional:!0}))}ngOnDestroy(){this.flush()}static#e=this.\u0275fac=function(i){return new(i||t)(R(Ve),R(Kv),R(Jv))};static#t=this.\u0275prov=q({token:t,factory:t.\u0275fac})}return t})();const S1=[{provide:Jv,useFactory:function t7(){return new o1}},{provide:Jl,useClass:e7},{provide:l_,useFactory:function n7(t,n,e){return new JY(t,n,e)},deps:[Yb,Jl,de]}],_y=[{provide:Kv,useFactory:()=>new x1},{provide:Wn,useValue:"BrowserAnimations"},...S1],D1=[{provide:Kv,useClass:Zv},{provide:Wn,useValue:"NoopAnimations"},...S1];let i7=(()=>{class t{static withConfig(e){return{ngModule:t,providers:e.disableAnimations?D1:_y}}static#e=this.\u0275fac=function(i){return new(i||t)};static#t=this.\u0275mod=Oe({type:t});static#n=this.\u0275inj=Re({providers:_y,imports:[VI]})}return t})();function td(t){return new ht(n=>{Zt(t()).subscribe(n)})}function nd(t,n){const e=Ge(t)?t:()=>t,i=r=>r.error(e());return new ht(n?r=>n.schedule(i,0,r):i)}const Ya=new ht(Fo);function Pt(t,n){return Ot((e,i)=>{let r=null,o=0,s=!1;const a=()=>s&&!r&&i.complete();e.subscribe(ft(i,c=>{r?.unsubscribe();let l=0;const d=o++;Zt(t(c,d)).subscribe(r=ft(i,u=>i.next(n?n(c,u,d,l++):u),()=>{r=null,a()}))},()=>{s=!0,a()}))})}class o7 extends ht{constructor(n,e){super(),this.source=n,this.subjectFactory=e,this._subject=null,this._refCount=0,this._connection=null,x0(n)&&(this.lift=n.lift)}_subscribe(n){return this.getSubject().subscribe(n)}getSubject(){const n=this._subject;return(!n||n.isStopped)&&(this._subject=this.subjectFactory()),this._subject}_teardown(){this._refCount=0;const{_connection:n}=this;this._subject=this._connection=null,n?.unsubscribe()}connect(){let n=this._connection;if(!n){n=this._connection=new Et;const e=this.getSubject();n.add(this.source.subscribe(ft(e,void 0,()=>{this._teardown(),e.complete()},i=>{this._teardown(),e.error(i)},()=>this._teardown()))),n.closed&&(this._connection=null,n=Et.EMPTY)}return n}refCount(){return function r7(){return Ot((t,n)=>{let e=null;t._refCount++;const i=ft(n,void 0,void 0,void 0,()=>{if(!t||t._refCount<=0||0<--t._refCount)return void(e=null);const r=t._connection,o=e;e=null,r&&(!o||r===o)&&r.unsubscribe(),n.unsubscribe()});t.subscribe(i),i.closed||(e=t.connect())})}()(this)}}const a7={connector:()=>new ue};function C1(t,n=a7){const{connector:e}=n;return Ot((i,r)=>{const o=e();Zt(t(function s7(t){return new ht(n=>t.subscribe(n))}(o))).subscribe(r),r.add(i.subscribe(o))})}function M1(t,n){return n?e=>as(n.pipe(Rt(1),function d7(){return Ot((t,n)=>{t.subscribe(ft(n,Fo))})}()),e.pipe(M1(t))):uo((e,i)=>Zt(t(e,i)).pipe(Rt(1),function u7(t){return ye(()=>t)}(e)))}const id="Service workers are disabled or not supported by this browser";class Nf{constructor(n){if(this.serviceWorker=n,n){const i=Yn(n,"controllerchange").pipe(ye(()=>n.controller)),o=as(td(()=>bn(n.controller)),i);this.worker=o.pipe($e(d=>!!d)),this.registration=this.worker.pipe(Pt(()=>n.getRegistration()));const l=Yn(n,"message").pipe(ye(d=>d.data)).pipe($e(d=>d&&d.type)).pipe(function l7(t){return t?n=>C1(t)(n):n=>function c7(t,n){const e=Ge(t)?t:()=>t;return Ge(n)?C1(n,{connector:e}):i=>new o7(i,e)}(new ue)(n)}());l.connect(),this.events=l}else this.worker=this.events=this.registration=function f7(t){return td(()=>nd(new Error(t)))}(id)}postMessage(n,e){return this.worker.pipe(Rt(1),or(i=>{i.postMessage({action:n,...e})})).toPromise().then(()=>{})}postMessageWithOperation(n,e,i){const r=this.waitForOperationCompleted(i),o=this.postMessage(n,e);return Promise.all([o,r]).then(([,s])=>s)}generateNonce(){return Math.round(1e7*Math.random())}eventsOfType(n){let e;return e="string"==typeof n?i=>i.type===n:i=>n.includes(i.type),this.events.pipe($e(e))}nextEventOfType(n){return this.eventsOfType(n).pipe(Rt(1))}waitForOperationCompleted(n){return this.eventsOfType("OPERATION_COMPLETED").pipe($e(e=>e.nonce===n),Rt(1),ye(e=>{if(void 0!==e.result)return e.result;throw new Error(e.error)})).toPromise()}get isEnabled(){return!!this.serviceWorker}}let I1=(()=>{class t{get isEnabled(){return this.sw.isEnabled}constructor(e){if(this.sw=e,this.pushManager=null,this.subscriptionChanges=new ue,!e.isEnabled)return this.messages=Ya,this.notificationClicks=Ya,void(this.subscription=Ya);this.messages=this.sw.eventsOfType("PUSH").pipe(ye(r=>r.data)),this.notificationClicks=this.sw.eventsOfType("NOTIFICATION_CLICK").pipe(ye(r=>r.data)),this.pushManager=this.sw.registration.pipe(ye(r=>r.pushManager));const i=this.pushManager.pipe(Pt(r=>r.getSubscription()));this.subscription=wi(i,this.subscriptionChanges)}requestSubscription(e){if(!this.sw.isEnabled||null===this.pushManager)return Promise.reject(new Error(id));const i={userVisibleOnly:!0};let r=this.decodeBase64(e.serverPublicKey.replace(/_/g,"/").replace(/-/g,"+")),o=new Uint8Array(new ArrayBuffer(r.length));for(let s=0;ss.subscribe(i)),Rt(1)).toPromise().then(s=>(this.subscriptionChanges.next(s),s))}unsubscribe(){return this.sw.isEnabled?this.subscription.pipe(Rt(1),Pt(i=>{if(null===i)throw new Error("Not subscribed to push notifications.");return i.unsubscribe().then(r=>{if(!r)throw new Error("Unsubscribe failed!");this.subscriptionChanges.next(null)})})).toPromise():Promise.reject(new Error(id))}decodeBase64(e){return atob(e)}static#e=this.\u0275fac=function(i){return new(i||t)(R(Nf))};static#t=this.\u0275prov=q({token:t,factory:t.\u0275fac})}return t})(),by=(()=>{class t{get isEnabled(){return this.sw.isEnabled}constructor(e){if(this.sw=e,!e.isEnabled)return this.versionUpdates=Ya,void(this.unrecoverable=Ya);this.versionUpdates=this.sw.eventsOfType(["VERSION_DETECTED","VERSION_INSTALLATION_FAILED","VERSION_READY","NO_NEW_VERSION_DETECTED"]),this.unrecoverable=this.sw.eventsOfType("UNRECOVERABLE_STATE")}checkForUpdate(){if(!this.sw.isEnabled)return Promise.reject(new Error(id));const e=this.sw.generateNonce();return this.sw.postMessageWithOperation("CHECK_FOR_UPDATES",{nonce:e},e)}activateUpdate(){if(!this.sw.isEnabled)return Promise.reject(new Error(id));const e=this.sw.generateNonce();return this.sw.postMessageWithOperation("ACTIVATE_UPDATE",{nonce:e},e)}static#e=this.\u0275fac=function(i){return new(i||t)(R(Nf))};static#t=this.\u0275prov=q({token:t,factory:t.\u0275fac})}return t})();const T1=new j("");function m7(t,n,e,i){return()=>{if(!Ub(i)||!("serviceWorker"in navigator)||!1===e.enabled)return;let r;if(navigator.serviceWorker.addEventListener("controllerchange",()=>{null!==navigator.serviceWorker.controller&&navigator.serviceWorker.controller.postMessage({action:"INITIALIZE"})}),"function"==typeof e.registrationStrategy)r=e.registrationStrategy();else{const[s,...a]=(e.registrationStrategy||"registerWhenStable:30000").split(":");switch(s){case"registerImmediately":r=bn(null);break;case"registerWithDelay":r=k1(+a[0]||0);break;case"registerWhenStable":r=a[0]?wi(R1(t),k1(+a[0])):R1(t);break;default:throw new Error(`Unknown ServiceWorker registration strategy: ${e.registrationStrategy}`)}}t.get(de).runOutsideAngular(()=>r.pipe(Rt(1)).subscribe(()=>navigator.serviceWorker.register(n,{scope:e.scope}).catch(s=>console.error("Service worker registration failed with:",s))))}}function k1(t){return bn(null).pipe(function h7(t,n=jl){const e=ar(t,n);return M1(()=>e)}(t))}function R1(t){return t.get(Dr).isStable.pipe($e(e=>e))}function p7(t,n){return new Nf(Ub(n)&&!1!==t.enabled?navigator.serviceWorker:void 0)}class vy{}function g7(t,n={}){return function Ac(t){return{\u0275providers:t}}([I1,by,{provide:T1,useValue:t},{provide:vy,useValue:n},{provide:Nf,useFactory:p7,deps:[vy,yr]},{provide:iM,useFactory:m7,deps:[kt,T1,vy,yr],multi:!0}])}let _7=(()=>{class t{static register(e,i={}){return{ngModule:t,providers:[g7(e,i)]}}static#e=this.\u0275fac=function(i){return new(i||t)};static#t=this.\u0275mod=Oe({type:t});static#n=this.\u0275inj=Re({providers:[I1,by]})}return t})(),rd=(()=>{class t{constructor(){if(this.ble=navigator.bluetooth,!this.ble)throw new Error("Your browser does not support Smart Bluetooth. See http://caniuse.com/#search=Bluetooth for more details.")}requestDevice(e){return this.ble.requestDevice(e)}static#e=this.\u0275fac=function(i){return new(i||t)};static#t=this.\u0275prov=q({token:t,factory:t.\u0275fac})}return t})(),yy=(()=>{class t{log(...e){console.log.apply(console,e)}error(...e){console.error.apply(console,e)}warn(...e){console.warn.apply(console,e)}static#e=this.\u0275fac=function(i){return new(i||t)};static#t=this.\u0275prov=q({token:t,factory:t.\u0275fac,providedIn:"root"})}return t})(),b7=(()=>{class t{log(...e){}error(...e){}warn(...e){}static#e=this.\u0275fac=function(i){return new(i||t)};static#t=this.\u0275prov=q({token:t,factory:t.\u0275fac,providedIn:"root"})}return t})(),Ay=(()=>{class t{constructor(e,i){this.webBle=e,this.console=i,this.device$=new Te,this.gatt$=new Te,this.characteristicValueChanges$=new Te,this.gattServer=null}getDevice$(){return this.device$}getGATT$(){return this.gatt$}streamValues$(){return this.characteristicValueChanges$.pipe($e(e=>e&&e.byteLength>0))}value(e){var i=this;return I(function*(){i.console.log("[BLE::Info] Reading value with options %o",e),typeof e.acceptAllDevices>"u"&&(e.acceptAllDevices=!0),e.optionalServices=typeof e.optionalServices>"u"?[e.service]:[...e.optionalServices],i.console.log("[BLE::Info] Reading value with options %o",e);try{const r=yield i.discover({acceptAllDevices:e.acceptAllDevices,optionalServices:e.optionalServices});i.console.log("[BLE::Info] Device info %o",r);const o=yield i.connectDevice(r);i.console.log("[BLE::Info] GATT info %o",o);const s=yield i.getPrimaryService(o,e.service);i.console.log("[BLE::Info] Primary Service info %o",s);const a=yield i.getCharacteristic(s,e.characteristic);i.console.log("[BLE::Info] Characteristic info %o",a);const c=yield a.readValue();return i.console.log("[BLE::Info] Value info %o",c),c}catch(r){throw new Error(r)}})()}value$(e){return In(this.value(e))}discover(e={}){var i=this;return I(function*(){e.optionalServices=e.optionalServices||["generic_access"],i.console.log("[BLE::Info] Requesting devices with options %o",e);let r=null;try{r=yield i.webBle.requestDevice(e),r.addEventListener("gattserverdisconnected",i.onDeviceDisconnected.bind(i)),r?i.device$.emit(r):i.device$.error("[BLE::Error] Can not get the Bluetooth Remote GATT Server. Abort.")}catch(o){i.console.error(o)}return r})()}onDeviceDisconnected(e){this.console.log("[BLE::Info] disconnected device %o",e.target),this.device$.emit(void 0)}discover$(e){return In(this.discover(e)).pipe(uo(i=>this.connectDevice$(i)))}connectDevice(e){var i=this;return I(function*(){if(null===e||typeof e.gatt>"u")return i.console.error("[BLE::Error] Was not able to connect to Bluetooth Remote GATT Server"),i.gatt$.error(null),null;i.console.log("[BLE::Info] Connecting to Bluetooth Remote GATT Server of %o",e);try{const r=yield e.gatt.connect();return i.gattServer=r,i.gatt$.emit(r),r}catch(r){Promise.reject(`${r.message}`),i.gatt$.error(`${r.message}`)}return null})()}connectDevice$(e){return In(this.connectDevice(e))}disconnectDevice(){this.gattServer&&(this.console.log("[BLE::Info] Disconnecting from Bluetooth Device %o",this.gattServer),this.gattServer.connected?this.gattServer.disconnect():this.console.log("[BLE::Info] Bluetooth device is already disconnected"))}getPrimaryService(e,i){return I(function*(){try{const r=yield e.getPrimaryService(i);return yield Promise.resolve(r)}catch(r){return yield Promise.reject(`${r.message} (${i})`)}})()}getPrimaryService$(e,i){return this.console.log('[BLE::Info] Getting primary service "%s" (if available) of %o',i,e),e?In(this.getPrimaryService(e,i)):nd(()=>new Error("[BLE::Error] Was not able to connect to the Bluetooth Remote GATT Server"))}getCharacteristic(e,i){var r=this;return I(function*(){r.console.log('[BLE::Info] Getting Characteristic "%s" of %o',i,e);try{const o=yield e.getCharacteristic(i);return o.properties.notify?o.startNotifications().then(s=>{r.console.log('[BLE::Info] Starting notifications of "%s"',i),o.addEventListener("characteristicvaluechanged",r.onCharacteristicChanged.bind(r))},s=>{Promise.reject(`${s.message} (${i})`)}):o.addEventListener("characteristicvaluechanged",r.onCharacteristicChanged.bind(r)),o}catch(o){Promise.reject(`${o.message} (${i})`)}return null})()}getCharacteristic$(e,i){return this.console.log('[BLE::Info] Getting Characteristic "%s" of %o',i,e),In(this.getCharacteristic(e,i))}setCharacteristicState(e,i,r){const o=this.getPrimaryService$(this.gattServer,e);return o.pipe(uo(s=>this.getCharacteristic$(s,i))).subscribe(s=>this.writeValue$(s,r)),o}enableCharacteristic(e,i,r){return r=r||new Uint8Array([1]),this.setCharacteristicState(e,i,r)}disbaleCharacteristic(e,i,r){return r=r||new Uint8Array([0]),this.setCharacteristicState(e,i,r)}onCharacteristicChanged(e){this.console.log("[BLE::Info] Dispatching new characteristic value %o",e),this.characteristicValueChanges$.emit(e.target.value)}readValue$(e){return this.console.log("[BLE::Info] Reading Characteristic %o",e),In(e.readValue().then(i=>Promise.resolve(i),i=>Promise.reject(`${i.message}`)))}writeValue$(e,i){return null===e?(this.console.error("[BLE::Error] Was not able to write characteristic"),null):(this.console.log("[BLE::Info] Writing Characteristic %o",e),In(e.writeValue(i).then(r=>Promise.resolve(),r=>Promise.reject(`${r.message}`))))}observeValue$(e){if(null===e||typeof e.service>"u")return this.console.error("[BLE::Error] Was not able to read characteristic"),za;e.startNotifications();const i=Yn(e.service.device,"gattserverdisconnected");return Yn(e,"characteristicvaluechanged").pipe(ye(r=>r.target.value),Tn(i))}littleEndianToUint16(e,i){return(this.littleEndianToUint8(e,i+1)<<8)+this.littleEndianToUint8(e,i)}littleEndianToUint8(e,i){return e.getUint8(i)}fakeNext(e){void 0===e&&(e=()=>{const i=new DataView(new ArrayBuffer(8));return i.setUint8(0,110*Math.random()|0),i}),this.characteristicValueChanges$.emit(e())}static#e=this.\u0275fac=function(i){return new(i||t)(R(rd),R(yy))};static#t=this.\u0275prov=q({token:t,factory:t.\u0275fac,providedIn:"root"})}return t})();function v7(){return new rd}function y7(t){return t&&t.enableTracing?new yy:new b7}function F1(){return new j("AWBOptions")}let A7=(()=>{class t{static forRoot(e={}){return{ngModule:t,providers:[Ay,{provide:rd,useFactory:v7},{provide:F1,useValue:e},{provide:yy,useFactory:y7,deps:[F1]}]}}static#e=this.\u0275fac=function(i){return new(i||t)};static#t=this.\u0275mod=Oe({type:t});static#n=this.\u0275inj=Re({imports:[is]})}return t})();const O1={DEVICE_INFORMATION:{SERVICE:"f000180a-0451-4000-b000-000000000000",SYSTEM_ID:"f0002a23-0451-4000-b000-000000000000",MODEL_NUMBER:"f0002a24-0451-4000-b000-000000000000",SERIAL_NUMBER:"f0002a25-0451-4000-b000-000000000000",FIRMWARE_REV:"f0002a26-0451-4000-b000-000000000000",HARDWARE_REV:"f0002a27-0451-4000-b000-000000000000",SOFTWARE_REV:"f0002a28-0451-4000-b000-000000000000",MANIFACTURER:"f0002a29-0451-4000-b000-000000000000",IEEE11073:"f0002a2a-0451-4000-b000-000000000000",PNP_ID:"f0002a50-0451-4000-b000-000000000000"},BATTERY:{SERVICE:"f000180f-0451-4000-b000-000000000000",LEVEL:"f0002a19-0451-4000-b000-000000000000"},TEMPERATURE:{SERVICE:"f000aa00-0451-4000-b000-000000000000",DATA:"f000aa01-0451-4000-b000-000000000000",CONFIGURATION:"f000aa02-0451-4000-b000-000000000000",PERIOD:"f000aa03-0451-4000-b000-000000000000"},HUMIDITY:{SERVICE:"f000aa20-0451-4000-b000-000000000000",DATA:"f000aa21-0451-4000-b000-000000000000",CONFIGURATION:"f000aa22-0451-4000-b000-000000000000",PERIOD:"f000aa23-0451-4000-b000-000000000000"},BAROMETER:{SERVICE:"f000aa40-0451-4000-b000-000000000000",DATA:"f000aa41-0451-4000-b000-000000000000",CONFIGURATION:"f000aa42-0451-4000-b000-000000000000",PERIOD:"f000aa44-0451-4000-b000-000000000000"},MOVEMENT:{SERVICE:"f000aa80-0451-4000-b000-000000000000",DATA:"f000aa81-0451-4000-b000-000000000000",CONFIGURATION:"f000aa82-0451-4000-b000-000000000000",PERIOD:"f000aa83-0451-4000-b000-000000000000"},LIGHT:{SERVICE:"f000aa70-0451-4000-b000-000000000000",DATA:"f000aa71-0451-4000-b000-000000000000",CONFIGURATION:"f000aa72-0451-4000-b000-000000000000",PERIOD:"f000aa73-0451-4000-b000-000000000000"},KEYPRESS:{SERVICE:"f000ffe0-0451-4000-b000-000000000000",STATE:"f000ffe1-0451-4000-b000-000000000000"},__REGISTER__:{SERVICE:"f000ac00-0451-4000-b000-000000000000",DATA:"f000ac01-0451-4000-b000-000000000000",ADDRESS:"f000ac02-0451-4000-b000-000000000000",DEVICE_ID:"f000ac03-0451-4000-b000-000000000000"},CONTROL:{SERVICE:"f000ccc0-0451-4000-b000-000000000000",CURRENT_USED_PARAMETERS:"f000ccc1-0451-4000-b000-000000000000",REQUEST_NEW_PARAMETERS:"f000ccc2-0451-4000-b000-000000000000",DISCONNECT_REQUEST:"f000ccc3-0451-4000-b000-000000000000"},OAD:{SERVICE:"f000ffc0-0451-4000-b000-000000000000",IMAGE_NOTIFY:"f000ffc1-0451-4000-b000-000000000000",IMAGE_BLOCK_REQUEST:"f000ffc2-0451-4000-b000-000000000000",IMAGE_COUNT:"f000ffc3-0451-4000-b000-000000000000",IMAGE_STATUS:"f000ffc4-0451-4000-b000-000000000000"},IO:{SERVICE:"f000aa64-0451-4000-b000-000000000000",DATA:"f000aa65-0451-4000-b000-000000000000",CONFIG:"f000aa66-0451-4000-b000-000000000000"}};function N1(...t){const n=ev(t),{args:e,keys:i}=NT(t),r=new ht(o=>{const{length:s}=e;if(!s)return void o.complete();const a=new Array(s);let c=s,l=s;for(let d=0;d{u||(u=!0,l--),a[d]=h},()=>c--,void 0,()=>{(!c||!u)&&(l||o.next(i?PT(i,a):a),o.complete())}))}});return n?r.pipe(Cv(n)):r}Object.keys(O1).map(t=>O1[t].SERVICE);let P1=(()=>{class t{constructor(e,i){this._renderer=e,this._elementRef=i,this.onChange=r=>{},this.onTouched=()=>{}}setProperty(e,i){this._renderer.setProperty(this._elementRef.nativeElement,e,i)}registerOnTouched(e){this.onTouched=e}registerOnChange(e){this.onChange=e}setDisabledState(e){this.setProperty("disabled",e)}static#e=this.\u0275fac=function(i){return new(i||t)(C($o),C(Ne))};static#t=this.\u0275dir=J({type:t})}return t})(),ms=(()=>{class t extends P1{static#e=this.\u0275fac=(()=>{let e;return function(r){return(e||(e=Xt(t)))(r||t)}})();static#t=this.\u0275dir=J({type:t,features:[ke]})}return t})();const Di=new j(""),E7={provide:Di,useExisting:ot(()=>Pf),multi:!0},S7=new j("");let Pf=(()=>{class t extends P1{constructor(e,i,r){super(e,i),this._compositionMode=r,this._composing=!1,null==this._compositionMode&&(this._compositionMode=!function w7(){const t=co()?co().getUserAgent():"";return/android (\d+)/.test(t.toLowerCase())}())}writeValue(e){this.setProperty("value",e??"")}_handleInput(e){(!this._compositionMode||this._compositionMode&&!this._composing)&&this.onChange(e)}_compositionStart(){this._composing=!0}_compositionEnd(e){this._composing=!1,this._compositionMode&&this.onChange(e)}static#e=this.\u0275fac=function(i){return new(i||t)(C($o),C(Ne),C(S7,8))};static#t=this.\u0275dir=J({type:t,selectors:[["input","formControlName","",3,"type","checkbox"],["textarea","formControlName",""],["input","formControl","",3,"type","checkbox"],["textarea","formControl",""],["input","ngModel","",3,"type","checkbox"],["textarea","ngModel",""],["","ngDefaultControl",""]],hostBindings:function(i,r){1&i&&Ue("input",function(s){return r._handleInput(s.target.value)})("blur",function(){return r.onTouched()})("compositionstart",function(){return r._compositionStart()})("compositionend",function(s){return r._compositionEnd(s.target.value)})},features:[Ye([E7]),ke]})}return t})();function _o(t){return null==t||("string"==typeof t||Array.isArray(t))&&0===t.length}function B1(t){return null!=t&&"number"==typeof t.length}const en=new j(""),bo=new j(""),D7=/^(?=.{1,254}$)(?=.{1,64}@)[a-zA-Z0-9!#$%&'*+/=?^_`{|}~-]+(?:\.[a-zA-Z0-9!#$%&'*+/=?^_`{|}~-]+)*@[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)*$/;class ps{static min(n){return function V1(t){return n=>{if(_o(n.value)||_o(t))return null;const e=parseFloat(n.value);return!isNaN(e)&&e{if(_o(n.value)||_o(t))return null;const e=parseFloat(n.value);return!isNaN(e)&&e>t?{max:{max:t,actual:n.value}}:null}}(n)}static required(n){return j1(n)}static requiredTrue(n){return function U1(t){return!0===t.value?null:{required:!0}}(n)}static email(n){return function z1(t){return _o(t.value)||D7.test(t.value)?null:{email:!0}}(n)}static minLength(n){return function G1(t){return n=>_o(n.value)||!B1(n.value)?null:n.value.lengthB1(n.value)&&n.value.length>t?{maxlength:{requiredLength:t,actualLength:n.value.length}}:null}(n)}static pattern(n){return function W1(t){if(!t)return Lf;let n,e;return"string"==typeof t?(e="","^"!==t.charAt(0)&&(e+="^"),e+=t,"$"!==t.charAt(t.length-1)&&(e+="$"),n=new RegExp(e)):(e=t.toString(),n=t),i=>{if(_o(i.value))return null;const r=i.value;return n.test(r)?null:{pattern:{requiredPattern:e,actualValue:r}}}}(n)}static nullValidator(n){return null}static compose(n){return K1(n)}static composeAsync(n){return J1(n)}}function j1(t){return _o(t.value)?{required:!0}:null}function Lf(t){return null}function X1(t){return null!=t}function q1(t){return Ih(t)?In(t):t}function Y1(t){let n={};return t.forEach(e=>{n=null!=e?{...n,...e}:n}),0===Object.keys(n).length?null:n}function Q1(t,n){return n.map(e=>e(t))}function Z1(t){return t.map(n=>function C7(t){return!t.validate}(n)?n:e=>n.validate(e))}function K1(t){if(!t)return null;const n=t.filter(X1);return 0==n.length?null:function(e){return Y1(Q1(e,n))}}function xy(t){return null!=t?K1(Z1(t)):null}function J1(t){if(!t)return null;const n=t.filter(X1);return 0==n.length?null:function(e){return N1(Q1(e,n).map(q1)).pipe(ye(Y1))}}function Ey(t){return null!=t?J1(Z1(t)):null}function eR(t,n){return null===t?[n]:Array.isArray(t)?[...t,n]:[t,n]}function tR(t){return t._rawValidators}function nR(t){return t._rawAsyncValidators}function wy(t){return t?Array.isArray(t)?t:[t]:[]}function Bf(t,n){return Array.isArray(t)?t.includes(n):t===n}function iR(t,n){const e=wy(n);return wy(t).forEach(r=>{Bf(e,r)||e.push(r)}),e}function rR(t,n){return wy(n).filter(e=>!Bf(t,e))}class oR{constructor(){this._rawValidators=[],this._rawAsyncValidators=[],this._onDestroyCallbacks=[]}get value(){return this.control?this.control.value:null}get valid(){return this.control?this.control.valid:null}get invalid(){return this.control?this.control.invalid:null}get pending(){return this.control?this.control.pending:null}get disabled(){return this.control?this.control.disabled:null}get enabled(){return this.control?this.control.enabled:null}get errors(){return this.control?this.control.errors:null}get pristine(){return this.control?this.control.pristine:null}get dirty(){return this.control?this.control.dirty:null}get touched(){return this.control?this.control.touched:null}get status(){return this.control?this.control.status:null}get untouched(){return this.control?this.control.untouched:null}get statusChanges(){return this.control?this.control.statusChanges:null}get valueChanges(){return this.control?this.control.valueChanges:null}get path(){return null}_setValidators(n){this._rawValidators=n||[],this._composedValidatorFn=xy(this._rawValidators)}_setAsyncValidators(n){this._rawAsyncValidators=n||[],this._composedAsyncValidatorFn=Ey(this._rawAsyncValidators)}get validator(){return this._composedValidatorFn||null}get asyncValidator(){return this._composedAsyncValidatorFn||null}_registerOnDestroy(n){this._onDestroyCallbacks.push(n)}_invokeOnDestroyCallbacks(){this._onDestroyCallbacks.forEach(n=>n()),this._onDestroyCallbacks=[]}reset(n=void 0){this.control&&this.control.reset(n)}hasError(n,e){return!!this.control&&this.control.hasError(n,e)}getError(n,e){return this.control?this.control.getError(n,e):null}}class jn extends oR{get formDirective(){return null}get path(){return null}}class lr extends oR{constructor(){super(...arguments),this._parent=null,this.name=null,this.valueAccessor=null}}class sR{constructor(n){this._cd=n}get isTouched(){return!!this._cd?.control?.touched}get isUntouched(){return!!this._cd?.control?.untouched}get isPristine(){return!!this._cd?.control?.pristine}get isDirty(){return!!this._cd?.control?.dirty}get isValid(){return!!this._cd?.control?.valid}get isInvalid(){return!!this._cd?.control?.invalid}get isPending(){return!!this._cd?.control?.pending}get isSubmitted(){return!!this._cd?.submitted}}let aR=(()=>{class t extends sR{constructor(e){super(e)}static#e=this.\u0275fac=function(i){return new(i||t)(C(lr,2))};static#t=this.\u0275dir=J({type:t,selectors:[["","formControlName",""],["","ngModel",""],["","formControl",""]],hostVars:14,hostBindings:function(i,r){2&i&&st("ng-untouched",r.isUntouched)("ng-touched",r.isTouched)("ng-pristine",r.isPristine)("ng-dirty",r.isDirty)("ng-valid",r.isValid)("ng-invalid",r.isInvalid)("ng-pending",r.isPending)},features:[ke]})}return t})(),cR=(()=>{class t extends sR{constructor(e){super(e)}static#e=this.\u0275fac=function(i){return new(i||t)(C(jn,10))};static#t=this.\u0275dir=J({type:t,selectors:[["","formGroupName",""],["","formArrayName",""],["","ngModelGroup",""],["","formGroup",""],["form",3,"ngNoForm",""],["","ngForm",""]],hostVars:16,hostBindings:function(i,r){2&i&&st("ng-untouched",r.isUntouched)("ng-touched",r.isTouched)("ng-pristine",r.isPristine)("ng-dirty",r.isDirty)("ng-valid",r.isValid)("ng-invalid",r.isInvalid)("ng-pending",r.isPending)("ng-submitted",r.isSubmitted)},features:[ke]})}return t})();const od="VALID",Hf="INVALID",Qa="PENDING",sd="DISABLED";function Cy(t){return(jf(t)?t.validators:t)||null}function My(t,n){return(jf(n)?n.asyncValidators:t)||null}function jf(t){return null!=t&&!Array.isArray(t)&&"object"==typeof t}function dR(t,n,e){const i=t.controls;if(!(n?Object.keys(i):i).length)throw new V(1e3,"");if(!i[e])throw new V(1001,"")}function uR(t,n,e){t._forEachChild((i,r)=>{if(void 0===e[r])throw new V(1002,"")})}class Uf{constructor(n,e){this._pendingDirty=!1,this._hasOwnPendingAsyncValidator=!1,this._pendingTouched=!1,this._onCollectionChange=()=>{},this._parent=null,this.pristine=!0,this.touched=!1,this._onDisabledChange=[],this._assignValidators(n),this._assignAsyncValidators(e)}get validator(){return this._composedValidatorFn}set validator(n){this._rawValidators=this._composedValidatorFn=n}get asyncValidator(){return this._composedAsyncValidatorFn}set asyncValidator(n){this._rawAsyncValidators=this._composedAsyncValidatorFn=n}get parent(){return this._parent}get valid(){return this.status===od}get invalid(){return this.status===Hf}get pending(){return this.status==Qa}get disabled(){return this.status===sd}get enabled(){return this.status!==sd}get dirty(){return!this.pristine}get untouched(){return!this.touched}get updateOn(){return this._updateOn?this._updateOn:this.parent?this.parent.updateOn:"change"}setValidators(n){this._assignValidators(n)}setAsyncValidators(n){this._assignAsyncValidators(n)}addValidators(n){this.setValidators(iR(n,this._rawValidators))}addAsyncValidators(n){this.setAsyncValidators(iR(n,this._rawAsyncValidators))}removeValidators(n){this.setValidators(rR(n,this._rawValidators))}removeAsyncValidators(n){this.setAsyncValidators(rR(n,this._rawAsyncValidators))}hasValidator(n){return Bf(this._rawValidators,n)}hasAsyncValidator(n){return Bf(this._rawAsyncValidators,n)}clearValidators(){this.validator=null}clearAsyncValidators(){this.asyncValidator=null}markAsTouched(n={}){this.touched=!0,this._parent&&!n.onlySelf&&this._parent.markAsTouched(n)}markAllAsTouched(){this.markAsTouched({onlySelf:!0}),this._forEachChild(n=>n.markAllAsTouched())}markAsUntouched(n={}){this.touched=!1,this._pendingTouched=!1,this._forEachChild(e=>{e.markAsUntouched({onlySelf:!0})}),this._parent&&!n.onlySelf&&this._parent._updateTouched(n)}markAsDirty(n={}){this.pristine=!1,this._parent&&!n.onlySelf&&this._parent.markAsDirty(n)}markAsPristine(n={}){this.pristine=!0,this._pendingDirty=!1,this._forEachChild(e=>{e.markAsPristine({onlySelf:!0})}),this._parent&&!n.onlySelf&&this._parent._updatePristine(n)}markAsPending(n={}){this.status=Qa,!1!==n.emitEvent&&this.statusChanges.emit(this.status),this._parent&&!n.onlySelf&&this._parent.markAsPending(n)}disable(n={}){const e=this._parentMarkedDirty(n.onlySelf);this.status=sd,this.errors=null,this._forEachChild(i=>{i.disable({...n,onlySelf:!0})}),this._updateValue(),!1!==n.emitEvent&&(this.valueChanges.emit(this.value),this.statusChanges.emit(this.status)),this._updateAncestors({...n,skipPristineCheck:e}),this._onDisabledChange.forEach(i=>i(!0))}enable(n={}){const e=this._parentMarkedDirty(n.onlySelf);this.status=od,this._forEachChild(i=>{i.enable({...n,onlySelf:!0})}),this.updateValueAndValidity({onlySelf:!0,emitEvent:n.emitEvent}),this._updateAncestors({...n,skipPristineCheck:e}),this._onDisabledChange.forEach(i=>i(!1))}_updateAncestors(n){this._parent&&!n.onlySelf&&(this._parent.updateValueAndValidity(n),n.skipPristineCheck||this._parent._updatePristine(),this._parent._updateTouched())}setParent(n){this._parent=n}getRawValue(){return this.value}updateValueAndValidity(n={}){this._setInitialStatus(),this._updateValue(),this.enabled&&(this._cancelExistingSubscription(),this.errors=this._runValidator(),this.status=this._calculateStatus(),(this.status===od||this.status===Qa)&&this._runAsyncValidator(n.emitEvent)),!1!==n.emitEvent&&(this.valueChanges.emit(this.value),this.statusChanges.emit(this.status)),this._parent&&!n.onlySelf&&this._parent.updateValueAndValidity(n)}_updateTreeValidity(n={emitEvent:!0}){this._forEachChild(e=>e._updateTreeValidity(n)),this.updateValueAndValidity({onlySelf:!0,emitEvent:n.emitEvent})}_setInitialStatus(){this.status=this._allControlsDisabled()?sd:od}_runValidator(){return this.validator?this.validator(this):null}_runAsyncValidator(n){if(this.asyncValidator){this.status=Qa,this._hasOwnPendingAsyncValidator=!0;const e=q1(this.asyncValidator(this));this._asyncValidationSubscription=e.subscribe(i=>{this._hasOwnPendingAsyncValidator=!1,this.setErrors(i,{emitEvent:n})})}}_cancelExistingSubscription(){this._asyncValidationSubscription&&(this._asyncValidationSubscription.unsubscribe(),this._hasOwnPendingAsyncValidator=!1)}setErrors(n,e={}){this.errors=n,this._updateControlsErrors(!1!==e.emitEvent)}get(n){let e=n;return null==e||(Array.isArray(e)||(e=e.split(".")),0===e.length)?null:e.reduce((i,r)=>i&&i._find(r),this)}getError(n,e){const i=e?this.get(e):this;return i&&i.errors?i.errors[n]:null}hasError(n,e){return!!this.getError(n,e)}get root(){let n=this;for(;n._parent;)n=n._parent;return n}_updateControlsErrors(n){this.status=this._calculateStatus(),n&&this.statusChanges.emit(this.status),this._parent&&this._parent._updateControlsErrors(n)}_initObservables(){this.valueChanges=new Te,this.statusChanges=new Te}_calculateStatus(){return this._allControlsDisabled()?sd:this.errors?Hf:this._hasOwnPendingAsyncValidator||this._anyControlsHaveStatus(Qa)?Qa:this._anyControlsHaveStatus(Hf)?Hf:od}_anyControlsHaveStatus(n){return this._anyControls(e=>e.status===n)}_anyControlsDirty(){return this._anyControls(n=>n.dirty)}_anyControlsTouched(){return this._anyControls(n=>n.touched)}_updatePristine(n={}){this.pristine=!this._anyControlsDirty(),this._parent&&!n.onlySelf&&this._parent._updatePristine(n)}_updateTouched(n={}){this.touched=this._anyControlsTouched(),this._parent&&!n.onlySelf&&this._parent._updateTouched(n)}_registerOnCollectionChange(n){this._onCollectionChange=n}_setUpdateStrategy(n){jf(n)&&null!=n.updateOn&&(this._updateOn=n.updateOn)}_parentMarkedDirty(n){return!n&&!(!this._parent||!this._parent.dirty)&&!this._parent._anyControlsDirty()}_find(n){return null}_assignValidators(n){this._rawValidators=Array.isArray(n)?n.slice():n,this._composedValidatorFn=function k7(t){return Array.isArray(t)?xy(t):t||null}(this._rawValidators)}_assignAsyncValidators(n){this._rawAsyncValidators=Array.isArray(n)?n.slice():n,this._composedAsyncValidatorFn=function R7(t){return Array.isArray(t)?Ey(t):t||null}(this._rawAsyncValidators)}}class Za extends Uf{constructor(n,e,i){super(Cy(e),My(i,e)),this.controls=n,this._initObservables(),this._setUpdateStrategy(e),this._setUpControls(),this.updateValueAndValidity({onlySelf:!0,emitEvent:!!this.asyncValidator})}registerControl(n,e){return this.controls[n]?this.controls[n]:(this.controls[n]=e,e.setParent(this),e._registerOnCollectionChange(this._onCollectionChange),e)}addControl(n,e,i={}){this.registerControl(n,e),this.updateValueAndValidity({emitEvent:i.emitEvent}),this._onCollectionChange()}removeControl(n,e={}){this.controls[n]&&this.controls[n]._registerOnCollectionChange(()=>{}),delete this.controls[n],this.updateValueAndValidity({emitEvent:e.emitEvent}),this._onCollectionChange()}setControl(n,e,i={}){this.controls[n]&&this.controls[n]._registerOnCollectionChange(()=>{}),delete this.controls[n],e&&this.registerControl(n,e),this.updateValueAndValidity({emitEvent:i.emitEvent}),this._onCollectionChange()}contains(n){return this.controls.hasOwnProperty(n)&&this.controls[n].enabled}setValue(n,e={}){uR(this,0,n),Object.keys(n).forEach(i=>{dR(this,!0,i),this.controls[i].setValue(n[i],{onlySelf:!0,emitEvent:e.emitEvent})}),this.updateValueAndValidity(e)}patchValue(n,e={}){null!=n&&(Object.keys(n).forEach(i=>{const r=this.controls[i];r&&r.patchValue(n[i],{onlySelf:!0,emitEvent:e.emitEvent})}),this.updateValueAndValidity(e))}reset(n={},e={}){this._forEachChild((i,r)=>{i.reset(n?n[r]:null,{onlySelf:!0,emitEvent:e.emitEvent})}),this._updatePristine(e),this._updateTouched(e),this.updateValueAndValidity(e)}getRawValue(){return this._reduceChildren({},(n,e,i)=>(n[i]=e.getRawValue(),n))}_syncPendingControls(){let n=this._reduceChildren(!1,(e,i)=>!!i._syncPendingControls()||e);return n&&this.updateValueAndValidity({onlySelf:!0}),n}_forEachChild(n){Object.keys(this.controls).forEach(e=>{const i=this.controls[e];i&&n(i,e)})}_setUpControls(){this._forEachChild(n=>{n.setParent(this),n._registerOnCollectionChange(this._onCollectionChange)})}_updateValue(){this.value=this._reduceValue()}_anyControls(n){for(const[e,i]of Object.entries(this.controls))if(this.contains(e)&&n(i))return!0;return!1}_reduceValue(){return this._reduceChildren({},(e,i,r)=>((i.enabled||this.disabled)&&(e[r]=i.value),e))}_reduceChildren(n,e){let i=n;return this._forEachChild((r,o)=>{i=e(i,r,o)}),i}_allControlsDisabled(){for(const n of Object.keys(this.controls))if(this.controls[n].enabled)return!1;return Object.keys(this.controls).length>0||this.disabled}_find(n){return this.controls.hasOwnProperty(n)?this.controls[n]:null}}class Iy extends Za{}const Ka=new j("CallSetDisabledState",{providedIn:"root",factory:()=>zf}),zf="always";function ad(t,n,e=zf){Ty(t,n),n.valueAccessor.writeValue(t.value),(t.disabled||"always"===e)&&n.valueAccessor.setDisabledState?.(t.disabled),function O7(t,n){n.valueAccessor.registerOnChange(e=>{t._pendingValue=e,t._pendingChange=!0,t._pendingDirty=!0,"change"===t.updateOn&&hR(t,n)})}(t,n),function P7(t,n){const e=(i,r)=>{n.valueAccessor.writeValue(i),r&&n.viewToModelUpdate(i)};t.registerOnChange(e),n._registerOnDestroy(()=>{t._unregisterOnChange(e)})}(t,n),function N7(t,n){n.valueAccessor.registerOnTouched(()=>{t._pendingTouched=!0,"blur"===t.updateOn&&t._pendingChange&&hR(t,n),"submit"!==t.updateOn&&t.markAsTouched()})}(t,n),function F7(t,n){if(n.valueAccessor.setDisabledState){const e=i=>{n.valueAccessor.setDisabledState(i)};t.registerOnDisabledChange(e),n._registerOnDestroy(()=>{t._unregisterOnDisabledChange(e)})}}(t,n)}function $f(t,n,e=!0){const i=()=>{};n.valueAccessor&&(n.valueAccessor.registerOnChange(i),n.valueAccessor.registerOnTouched(i)),Xf(t,n),t&&(n._invokeOnDestroyCallbacks(),t._registerOnCollectionChange(()=>{}))}function Wf(t,n){t.forEach(e=>{e.registerOnValidatorChange&&e.registerOnValidatorChange(n)})}function Ty(t,n){const e=tR(t);null!==n.validator?t.setValidators(eR(e,n.validator)):"function"==typeof e&&t.setValidators([e]);const i=nR(t);null!==n.asyncValidator?t.setAsyncValidators(eR(i,n.asyncValidator)):"function"==typeof i&&t.setAsyncValidators([i]);const r=()=>t.updateValueAndValidity();Wf(n._rawValidators,r),Wf(n._rawAsyncValidators,r)}function Xf(t,n){let e=!1;if(null!==t){if(null!==n.validator){const r=tR(t);if(Array.isArray(r)&&r.length>0){const o=r.filter(s=>s!==n.validator);o.length!==r.length&&(e=!0,t.setValidators(o))}}if(null!==n.asyncValidator){const r=nR(t);if(Array.isArray(r)&&r.length>0){const o=r.filter(s=>s!==n.asyncValidator);o.length!==r.length&&(e=!0,t.setAsyncValidators(o))}}}const i=()=>{};return Wf(n._rawValidators,i),Wf(n._rawAsyncValidators,i),e}function hR(t,n){t._pendingDirty&&t.markAsDirty(),t.setValue(t._pendingValue,{emitModelToViewChange:!1}),n.viewToModelUpdate(t._pendingValue),t._pendingChange=!1}function fR(t,n){Ty(t,n)}function mR(t,n){t._syncPendingControls(),n.forEach(e=>{const i=e.control;"submit"===i.updateOn&&i._pendingChange&&(e.viewToModelUpdate(i._pendingValue),i._pendingChange=!1)})}const j7={provide:jn,useExisting:ot(()=>ld)},cd=Promise.resolve();let ld=(()=>{class t extends jn{constructor(e,i,r){super(),this.callSetDisabledState=r,this.submitted=!1,this._directives=new Set,this.ngSubmit=new Te,this.form=new Za({},xy(e),Ey(i))}ngAfterViewInit(){this._setUpdateStrategy()}get formDirective(){return this}get control(){return this.form}get path(){return[]}get controls(){return this.form.controls}addControl(e){cd.then(()=>{const i=this._findContainer(e.path);e.control=i.registerControl(e.name,e.control),ad(e.control,e,this.callSetDisabledState),e.control.updateValueAndValidity({emitEvent:!1}),this._directives.add(e)})}getControl(e){return this.form.get(e.path)}removeControl(e){cd.then(()=>{const i=this._findContainer(e.path);i&&i.removeControl(e.name),this._directives.delete(e)})}addFormGroup(e){cd.then(()=>{const i=this._findContainer(e.path),r=new Za({});fR(r,e),i.registerControl(e.name,r),r.updateValueAndValidity({emitEvent:!1})})}removeFormGroup(e){cd.then(()=>{const i=this._findContainer(e.path);i&&i.removeControl(e.name)})}getFormGroup(e){return this.form.get(e.path)}updateModel(e,i){cd.then(()=>{this.form.get(e.path).setValue(i)})}setValue(e){this.control.setValue(e)}onSubmit(e){return this.submitted=!0,mR(this.form,this._directives),this.ngSubmit.emit(e),"dialog"===e?.target?.method}onReset(){this.resetForm()}resetForm(e=void 0){this.form.reset(e),this.submitted=!1}_setUpdateStrategy(){this.options&&null!=this.options.updateOn&&(this.form._updateOn=this.options.updateOn)}_findContainer(e){return e.pop(),e.length?this.form.get(e):this.form}static#e=this.\u0275fac=function(i){return new(i||t)(C(en,10),C(bo,10),C(Ka,8))};static#t=this.\u0275dir=J({type:t,selectors:[["form",3,"ngNoForm","",3,"formGroup",""],["ng-form"],["","ngForm",""]],hostBindings:function(i,r){1&i&&Ue("submit",function(s){return r.onSubmit(s)})("reset",function(){return r.onReset()})},inputs:{options:[X.None,"ngFormOptions","options"]},outputs:{ngSubmit:"ngSubmit"},exportAs:["ngForm"],features:[Ye([j7]),ke]})}return t})();function pR(t,n){const e=t.indexOf(n);e>-1&&t.splice(e,1)}function gR(t){return"object"==typeof t&&null!==t&&2===Object.keys(t).length&&"value"in t&&"disabled"in t}const dd=class extends Uf{constructor(n=null,e,i){super(Cy(e),My(i,e)),this.defaultValue=null,this._onChange=[],this._pendingChange=!1,this._applyFormState(n),this._setUpdateStrategy(e),this._initObservables(),this.updateValueAndValidity({onlySelf:!0,emitEvent:!!this.asyncValidator}),jf(e)&&(e.nonNullable||e.initialValueIsDefault)&&(this.defaultValue=gR(n)?n.value:n)}setValue(n,e={}){this.value=this._pendingValue=n,this._onChange.length&&!1!==e.emitModelToViewChange&&this._onChange.forEach(i=>i(this.value,!1!==e.emitViewToModelChange)),this.updateValueAndValidity(e)}patchValue(n,e={}){this.setValue(n,e)}reset(n=this.defaultValue,e={}){this._applyFormState(n),this.markAsPristine(e),this.markAsUntouched(e),this.setValue(this.value,e),this._pendingChange=!1}_updateValue(){}_anyControls(n){return!1}_allControlsDisabled(){return this.disabled}registerOnChange(n){this._onChange.push(n)}_unregisterOnChange(n){pR(this._onChange,n)}registerOnDisabledChange(n){this._onDisabledChange.push(n)}_unregisterOnDisabledChange(n){pR(this._onDisabledChange,n)}_forEachChild(n){}_syncPendingControls(){return!("submit"!==this.updateOn||(this._pendingDirty&&this.markAsDirty(),this._pendingTouched&&this.markAsTouched(),!this._pendingChange)||(this.setValue(this._pendingValue,{onlySelf:!0,emitModelToViewChange:!1}),0))}_applyFormState(n){gR(n)?(this.value=this._pendingValue=n.value,n.disabled?this.disable({onlySelf:!0,emitEvent:!1}):this.enable({onlySelf:!0,emitEvent:!1})):this.value=this._pendingValue=n}};Promise.resolve();let AR=(()=>{class t{static#e=this.\u0275fac=function(i){return new(i||t)};static#t=this.\u0275dir=J({type:t,selectors:[["form",3,"ngNoForm","",3,"ngNativeValidate",""]],hostAttrs:["novalidate",""]})}return t})();const Oy=new j(""),Q7={provide:jn,useExisting:ot(()=>Ja)};let Ja=(()=>{class t extends jn{constructor(e,i,r){super(),this.callSetDisabledState=r,this.submitted=!1,this._onCollectionChange=()=>this._updateDomValue(),this.directives=[],this.form=null,this.ngSubmit=new Te,this._setValidators(e),this._setAsyncValidators(i)}ngOnChanges(e){this._checkFormPresent(),e.hasOwnProperty("form")&&(this._updateValidators(),this._updateDomValue(),this._updateRegistrations(),this._oldForm=this.form)}ngOnDestroy(){this.form&&(Xf(this.form,this),this.form._onCollectionChange===this._onCollectionChange&&this.form._registerOnCollectionChange(()=>{}))}get formDirective(){return this}get control(){return this.form}get path(){return[]}addControl(e){const i=this.form.get(e.path);return ad(i,e,this.callSetDisabledState),i.updateValueAndValidity({emitEvent:!1}),this.directives.push(e),i}getControl(e){return this.form.get(e.path)}removeControl(e){$f(e.control||null,e,!1),function H7(t,n){const e=t.indexOf(n);e>-1&&t.splice(e,1)}(this.directives,e)}addFormGroup(e){this._setUpFormContainer(e)}removeFormGroup(e){this._cleanUpFormContainer(e)}getFormGroup(e){return this.form.get(e.path)}addFormArray(e){this._setUpFormContainer(e)}removeFormArray(e){this._cleanUpFormContainer(e)}getFormArray(e){return this.form.get(e.path)}updateModel(e,i){this.form.get(e.path).setValue(i)}onSubmit(e){return this.submitted=!0,mR(this.form,this.directives),this.ngSubmit.emit(e),"dialog"===e?.target?.method}onReset(){this.resetForm()}resetForm(e=void 0){this.form.reset(e),this.submitted=!1}_updateDomValue(){this.directives.forEach(e=>{const i=e.control,r=this.form.get(e.path);i!==r&&($f(i||null,e),(t=>t instanceof dd)(r)&&(ad(r,e,this.callSetDisabledState),e.control=r))}),this.form._updateTreeValidity({emitEvent:!1})}_setUpFormContainer(e){const i=this.form.get(e.path);fR(i,e),i.updateValueAndValidity({emitEvent:!1})}_cleanUpFormContainer(e){if(this.form){const i=this.form.get(e.path);i&&function L7(t,n){return Xf(t,n)}(i,e)&&i.updateValueAndValidity({emitEvent:!1})}}_updateRegistrations(){this.form._registerOnCollectionChange(this._onCollectionChange),this._oldForm&&this._oldForm._registerOnCollectionChange(()=>{})}_updateValidators(){Ty(this.form,this),this._oldForm&&Xf(this._oldForm,this)}_checkFormPresent(){}static#e=this.\u0275fac=function(i){return new(i||t)(C(en,10),C(bo,10),C(Ka,8))};static#t=this.\u0275dir=J({type:t,selectors:[["","formGroup",""]],hostBindings:function(i,r){1&i&&Ue("submit",function(s){return r.onSubmit(s)})("reset",function(){return r.onReset()})},inputs:{form:[X.None,"formGroup","form"]},outputs:{ngSubmit:"ngSubmit"},exportAs:["ngForm"],features:[Ye([Q7]),ke,Sn]})}return t})();const J7={provide:lr,useExisting:ot(()=>Ly)};let Ly=(()=>{class t extends lr{set isDisabled(e){}static#e=this._ngModelWarningSentOnce=!1;constructor(e,i,r,o,s){super(),this._ngModelWarningConfig=s,this._added=!1,this.name=null,this.update=new Te,this._ngModelWarningSent=!1,this._parent=e,this._setValidators(i),this._setAsyncValidators(r),this.valueAccessor=function Fy(t,n){if(!n)return null;let e,i,r;return Array.isArray(n),n.forEach(o=>{o.constructor===Pf?e=o:function V7(t){return Object.getPrototypeOf(t.constructor)===ms}(o)?i=o:r=o}),r||i||e||null}(0,o)}ngOnChanges(e){this._added||this._setUpControl(),function Ry(t,n){if(!t.hasOwnProperty("model"))return!1;const e=t.model;return!!e.isFirstChange()||!Object.is(n,e.currentValue)}(e,this.viewModel)&&(this.viewModel=this.model,this.formDirective.updateModel(this,this.model))}ngOnDestroy(){this.formDirective&&this.formDirective.removeControl(this)}viewToModelUpdate(e){this.viewModel=e,this.update.emit(e)}get path(){return function Gf(t,n){return[...n.path,t]}(null==this.name?this.name:this.name.toString(),this._parent)}get formDirective(){return this._parent?this._parent.formDirective:null}_checkParentType(){}_setUpControl(){this._checkParentType(),this.control=this.formDirective.addControl(this),this._added=!0}static#t=this.\u0275fac=function(i){return new(i||t)(C(jn,13),C(en,10),C(bo,10),C(Di,10),C(Oy,8))};static#n=this.\u0275dir=J({type:t,selectors:[["","formControlName",""]],inputs:{name:[X.None,"formControlName","name"],isDisabled:[X.None,"disabled","isDisabled"],model:[X.None,"ngModel","model"]},outputs:{update:"ngModelChange"},features:[Ye([J7]),ke,Sn]})}return t})(),gs=(()=>{class t{constructor(){this._validator=Lf}ngOnChanges(e){if(this.inputName in e){const i=this.normalizeInput(e[this.inputName].currentValue);this._enabled=this.enabled(i),this._validator=this._enabled?this.createValidator(i):Lf,this._onChange&&this._onChange()}}validate(e){return this._validator(e)}registerOnValidatorChange(e){this._onChange=e}enabled(e){return null!=e}static#e=this.\u0275fac=function(i){return new(i||t)};static#t=this.\u0275dir=J({type:t,features:[Sn]})}return t})();const cQ={provide:en,useExisting:ot(()=>qf),multi:!0};let qf=(()=>{class t extends gs{constructor(){super(...arguments),this.inputName="required",this.normalizeInput=Je,this.createValidator=e=>j1}enabled(e){return e}static#e=this.\u0275fac=(()=>{let e;return function(r){return(e||(e=Xt(t)))(r||t)}})();static#t=this.\u0275dir=J({type:t,selectors:[["","required","","formControlName","",3,"type","checkbox"],["","required","","formControl","",3,"type","checkbox"],["","required","","ngModel","",3,"type","checkbox"]],hostVars:1,hostBindings:function(i,r){2&i&&Xe("required",r._enabled?"":null)},inputs:{required:"required"},features:[Ye([cQ]),ke]})}return t})(),mQ=(()=>{class t{static#e=this.\u0275fac=function(i){return new(i||t)};static#t=this.\u0275mod=Oe({type:t});static#n=this.\u0275inj=Re({})}return t})();class Hy extends Uf{constructor(n,e,i){super(Cy(e),My(i,e)),this.controls=n,this._initObservables(),this._setUpdateStrategy(e),this._setUpControls(),this.updateValueAndValidity({onlySelf:!0,emitEvent:!!this.asyncValidator})}at(n){return this.controls[this._adjustIndex(n)]}push(n,e={}){this.controls.push(n),this._registerControl(n),this.updateValueAndValidity({emitEvent:e.emitEvent}),this._onCollectionChange()}insert(n,e,i={}){this.controls.splice(n,0,e),this._registerControl(e),this.updateValueAndValidity({emitEvent:i.emitEvent})}removeAt(n,e={}){let i=this._adjustIndex(n);i<0&&(i=0),this.controls[i]&&this.controls[i]._registerOnCollectionChange(()=>{}),this.controls.splice(i,1),this.updateValueAndValidity({emitEvent:e.emitEvent})}setControl(n,e,i={}){let r=this._adjustIndex(n);r<0&&(r=0),this.controls[r]&&this.controls[r]._registerOnCollectionChange(()=>{}),this.controls.splice(r,1),e&&(this.controls.splice(r,0,e),this._registerControl(e)),this.updateValueAndValidity({emitEvent:i.emitEvent}),this._onCollectionChange()}get length(){return this.controls.length}setValue(n,e={}){uR(this,0,n),n.forEach((i,r)=>{dR(this,!1,r),this.at(r).setValue(i,{onlySelf:!0,emitEvent:e.emitEvent})}),this.updateValueAndValidity(e)}patchValue(n,e={}){null!=n&&(n.forEach((i,r)=>{this.at(r)&&this.at(r).patchValue(i,{onlySelf:!0,emitEvent:e.emitEvent})}),this.updateValueAndValidity(e))}reset(n=[],e={}){this._forEachChild((i,r)=>{i.reset(n[r],{onlySelf:!0,emitEvent:e.emitEvent})}),this._updatePristine(e),this._updateTouched(e),this.updateValueAndValidity(e)}getRawValue(){return this.controls.map(n=>n.getRawValue())}clear(n={}){this.controls.length<1||(this._forEachChild(e=>e._registerOnCollectionChange(()=>{})),this.controls.splice(0),this.updateValueAndValidity({emitEvent:n.emitEvent}))}_adjustIndex(n){return n<0?n+this.length:n}_syncPendingControls(){let n=this.controls.reduce((e,i)=>!!i._syncPendingControls()||e,!1);return n&&this.updateValueAndValidity({onlySelf:!0}),n}_forEachChild(n){this.controls.forEach((e,i)=>{n(e,i)})}_updateValue(){this.value=this.controls.filter(n=>n.enabled||this.disabled).map(n=>n.value)}_anyControls(n){return this.controls.some(e=>e.enabled&&n(e))}_setUpControls(){this._forEachChild(n=>this._registerControl(n))}_allControlsDisabled(){for(const n of this.controls)if(n.enabled)return!1;return this.controls.length>0||this.disabled}_registerControl(n){n.setParent(this),n._registerOnCollectionChange(this._onCollectionChange)}_find(n){return this.at(n)??null}}function LR(t){return!!t&&(void 0!==t.asyncValidators||void 0!==t.validators||void 0!==t.updateOn)}let pQ=(()=>{class t{constructor(){this.useNonNullable=!1}get nonNullable(){const e=new t;return e.useNonNullable=!0,e}group(e,i=null){const r=this._reduceControls(e);let o={};return LR(i)?o=i:null!==i&&(o.validators=i.validator,o.asyncValidators=i.asyncValidator),new Za(r,o)}record(e,i=null){const r=this._reduceControls(e);return new Iy(r,i)}control(e,i,r){let o={};return this.useNonNullable?(LR(i)?o=i:(o.validators=i,o.asyncValidators=r),new dd(e,{...o,nonNullable:!0})):new dd(e,i,r)}array(e,i,r){const o=e.map(s=>this._createControl(s));return new Hy(o,i,r)}_reduceControls(e){const i={};return Object.keys(e).forEach(r=>{i[r]=this._createControl(e[r])}),i}_createControl(e){return e instanceof dd||e instanceof Uf?e:Array.isArray(e)?this.control(e[0],e.length>1?e[1]:null,e.length>2?e[2]:null):this.control(e)}static#e=this.\u0275fac=function(i){return new(i||t)};static#t=this.\u0275prov=q({token:t,factory:t.\u0275fac,providedIn:"root"})}return t})(),gQ=(()=>{class t{static#e=this.\u0275fac=function(i){return new(i||t)};static#t=this.\u0275prov=q({token:t,factory:()=>ne(pQ).nonNullable,providedIn:"root"})}return t})(),BR=(()=>{class t{static withConfig(e){return{ngModule:t,providers:[{provide:Oy,useValue:e.warnOnNgModelWithFormControl??"always"},{provide:Ka,useValue:e.callSetDisabledState??zf}]}}static#e=this.\u0275fac=function(i){return new(i||t)};static#t=this.\u0275mod=Oe({type:t});static#n=this.\u0275inj=Re({imports:[mQ]})}return t})();const _Q=["*"],xQ=new j("MAT_CARD_CONFIG");let jy=(()=>{class t{constructor(e){this.appearance=e?.appearance||"raised"}static#e=this.\u0275fac=function(i){return new(i||t)(C(xQ,8))};static#t=this.\u0275cmp=mt({type:t,selectors:[["mat-card"]],hostAttrs:[1,"mat-mdc-card","mdc-card"],hostVars:4,hostBindings:function(i,r){2&i&&st("mat-mdc-card-outlined","outlined"===r.appearance)("mdc-card--outlined","outlined"===r.appearance)},inputs:{appearance:"appearance"},exportAs:["matCard"],standalone:!0,features:[Gt],ngContentSelectors:_Q,decls:1,vars:0,template:function(i,r){1&i&&(Mn(),qe(0))},styles:['.mdc-card{display:flex;flex-direction:column;box-sizing:border-box}.mdc-card::after{position:absolute;box-sizing:border-box;width:100%;height:100%;top:0;left:0;border:1px solid rgba(0,0,0,0);border-radius:inherit;content:"";pointer-events:none;pointer-events:none}@media screen and (forced-colors: active){.mdc-card::after{border-color:CanvasText}}.mdc-card--outlined::after{border:none}.mdc-card__content{border-radius:inherit;height:100%}.mdc-card__media{position:relative;box-sizing:border-box;background-repeat:no-repeat;background-position:center;background-size:cover}.mdc-card__media::before{display:block;content:""}.mdc-card__media:first-child{border-top-left-radius:inherit;border-top-right-radius:inherit}.mdc-card__media:last-child{border-bottom-left-radius:inherit;border-bottom-right-radius:inherit}.mdc-card__media--square::before{margin-top:100%}.mdc-card__media--16-9::before{margin-top:56.25%}.mdc-card__media-content{position:absolute;top:0;right:0;bottom:0;left:0;box-sizing:border-box}.mdc-card__primary-action{display:flex;flex-direction:column;box-sizing:border-box;position:relative;outline:none;color:inherit;text-decoration:none;cursor:pointer;overflow:hidden}.mdc-card__primary-action:first-child{border-top-left-radius:inherit;border-top-right-radius:inherit}.mdc-card__primary-action:last-child{border-bottom-left-radius:inherit;border-bottom-right-radius:inherit}.mdc-card__actions{display:flex;flex-direction:row;align-items:center;box-sizing:border-box;min-height:52px;padding:8px}.mdc-card__actions--full-bleed{padding:0}.mdc-card__action-buttons,.mdc-card__action-icons{display:flex;flex-direction:row;align-items:center;box-sizing:border-box}.mdc-card__action-icons{color:rgba(0, 0, 0, 0.6);flex-grow:1;justify-content:flex-end}.mdc-card__action-buttons+.mdc-card__action-icons{margin-left:16px;margin-right:0}[dir=rtl] .mdc-card__action-buttons+.mdc-card__action-icons,.mdc-card__action-buttons+.mdc-card__action-icons[dir=rtl]{margin-left:0;margin-right:16px}.mdc-card__action{display:inline-flex;flex-direction:row;align-items:center;box-sizing:border-box;justify-content:center;cursor:pointer;user-select:none}.mdc-card__action:focus{outline:none}.mdc-card__action--button{margin-left:0;margin-right:8px;padding:0 8px}[dir=rtl] .mdc-card__action--button,.mdc-card__action--button[dir=rtl]{margin-left:8px;margin-right:0}.mdc-card__action--button:last-child{margin-left:0;margin-right:0}[dir=rtl] .mdc-card__action--button:last-child,.mdc-card__action--button:last-child[dir=rtl]{margin-left:0;margin-right:0}.mdc-card__actions--full-bleed .mdc-card__action--button{justify-content:space-between;width:100%;height:auto;max-height:none;margin:0;padding:8px 16px;text-align:left}[dir=rtl] .mdc-card__actions--full-bleed .mdc-card__action--button,.mdc-card__actions--full-bleed .mdc-card__action--button[dir=rtl]{text-align:right}.mdc-card__action--icon{margin:-6px 0;padding:12px}.mdc-card__action--icon:not(:disabled){color:rgba(0, 0, 0, 0.6)}.mat-mdc-card{border-radius:var(--mdc-elevated-card-container-shape);background-color:var(--mdc-elevated-card-container-color);border-width:0;border-style:solid;border-color:var(--mdc-elevated-card-container-color);box-shadow:var(--mdc-elevated-card-container-elevation)}.mat-mdc-card .mdc-card::after{border-radius:var(--mdc-elevated-card-container-shape)}.mat-mdc-card-outlined{border-width:var(--mdc-outlined-card-outline-width);border-style:solid;border-color:var(--mdc-outlined-card-outline-color);border-radius:var(--mdc-outlined-card-container-shape);background-color:var(--mdc-outlined-card-container-color);box-shadow:var(--mdc-outlined-card-container-elevation)}.mat-mdc-card-outlined .mdc-card::after{border-radius:var(--mdc-outlined-card-container-shape)}.mat-mdc-card-title{font-family:var(--mat-card-title-text-font);line-height:var(--mat-card-title-text-line-height);font-size:var(--mat-card-title-text-size);letter-spacing:var(--mat-card-title-text-tracking);font-weight:var(--mat-card-title-text-weight)}.mat-mdc-card-subtitle{color:var(--mat-card-subtitle-text-color);font-family:var(--mat-card-subtitle-text-font);line-height:var(--mat-card-subtitle-text-line-height);font-size:var(--mat-card-subtitle-text-size);letter-spacing:var(--mat-card-subtitle-text-tracking);font-weight:var(--mat-card-subtitle-text-weight)}.mat-mdc-card{position:relative}.mat-mdc-card-title,.mat-mdc-card-subtitle{display:block;margin:0}.mat-mdc-card-avatar~.mat-mdc-card-header-text .mat-mdc-card-title,.mat-mdc-card-avatar~.mat-mdc-card-header-text .mat-mdc-card-subtitle{padding:16px 16px 0}.mat-mdc-card-header{display:flex;padding:16px 16px 0}.mat-mdc-card-content{display:block;padding:0 16px}.mat-mdc-card-content:first-child{padding-top:16px}.mat-mdc-card-content:last-child{padding-bottom:16px}.mat-mdc-card-title-group{display:flex;justify-content:space-between;width:100%}.mat-mdc-card-avatar{height:40px;width:40px;border-radius:50%;flex-shrink:0;margin-bottom:16px;object-fit:cover}.mat-mdc-card-avatar~.mat-mdc-card-header-text .mat-mdc-card-subtitle,.mat-mdc-card-avatar~.mat-mdc-card-header-text .mat-mdc-card-title{line-height:normal}.mat-mdc-card-sm-image{width:80px;height:80px}.mat-mdc-card-md-image{width:112px;height:112px}.mat-mdc-card-lg-image{width:152px;height:152px}.mat-mdc-card-xl-image{width:240px;height:240px}.mat-mdc-card-subtitle~.mat-mdc-card-title,.mat-mdc-card-title~.mat-mdc-card-subtitle,.mat-mdc-card-header .mat-mdc-card-header-text .mat-mdc-card-title,.mat-mdc-card-header .mat-mdc-card-header-text .mat-mdc-card-subtitle,.mat-mdc-card-title-group .mat-mdc-card-title,.mat-mdc-card-title-group .mat-mdc-card-subtitle{padding-top:0}.mat-mdc-card-content>:last-child:not(.mat-mdc-card-footer){margin-bottom:0}.mat-mdc-card-actions-align-end{justify-content:flex-end}'],encapsulation:2,changeDetection:0})}return t})(),VR=(()=>{class t{static#e=this.\u0275fac=function(i){return new(i||t)};static#t=this.\u0275mod=Oe({type:t});static#n=this.\u0275inj=Re({imports:[_t,is,_t]})}return t})();const EQ=["input"],wQ=["label"],SQ=["*"],DQ=new j("mat-checkbox-default-options",{providedIn:"root",factory:HR});function HR(){return{color:"accent",clickAction:"check-indeterminate"}}var kn=function(t){return t[t.Init=0]="Init",t[t.Checked=1]="Checked",t[t.Unchecked=2]="Unchecked",t[t.Indeterminate=3]="Indeterminate",t}(kn||{});const CQ={provide:Di,useExisting:ot(()=>Uy),multi:!0};class MQ{}let IQ=0;const jR=HR();let Uy=(()=>{class t{focus(){this._inputElement.nativeElement.focus()}_createChangeEvent(e){const i=new MQ;return i.source=this,i.checked=e,i}_getAnimationTargetElement(){return this._inputElement?.nativeElement}get inputId(){return`${this.id||this._uniqueId}-input`}constructor(e,i,r,o,s,a){this._elementRef=e,this._changeDetectorRef=i,this._ngZone=r,this._animationMode=s,this._options=a,this._animationClasses={uncheckedToChecked:"mdc-checkbox--anim-unchecked-checked",uncheckedToIndeterminate:"mdc-checkbox--anim-unchecked-indeterminate",checkedToUnchecked:"mdc-checkbox--anim-checked-unchecked",checkedToIndeterminate:"mdc-checkbox--anim-checked-indeterminate",indeterminateToChecked:"mdc-checkbox--anim-indeterminate-checked",indeterminateToUnchecked:"mdc-checkbox--anim-indeterminate-unchecked"},this.ariaLabel="",this.ariaLabelledby=null,this.labelPosition="after",this.name=null,this.change=new Te,this.indeterminateChange=new Te,this._onTouched=()=>{},this._currentAnimationClass="",this._currentCheckState=kn.Init,this._controlValueAccessorChangeFn=()=>{},this._validatorChangeFn=()=>{},this._checked=!1,this._disabled=!1,this._indeterminate=!1,this._options=this._options||jR,this.color=this._options.color||jR.color,this.tabIndex=parseInt(o)||0,this.id=this._uniqueId="mat-mdc-checkbox-"+ ++IQ}ngOnChanges(e){e.required&&this._validatorChangeFn()}ngAfterViewInit(){this._syncIndeterminate(this._indeterminate)}get checked(){return this._checked}set checked(e){e!=this.checked&&(this._checked=e,this._changeDetectorRef.markForCheck())}get disabled(){return this._disabled}set disabled(e){e!==this.disabled&&(this._disabled=e,this._changeDetectorRef.markForCheck())}get indeterminate(){return this._indeterminate}set indeterminate(e){const i=e!=this._indeterminate;this._indeterminate=e,i&&(this._transitionCheckState(this._indeterminate?kn.Indeterminate:this.checked?kn.Checked:kn.Unchecked),this.indeterminateChange.emit(this._indeterminate)),this._syncIndeterminate(this._indeterminate)}_isRippleDisabled(){return this.disableRipple||this.disabled}_onLabelTextChange(){this._changeDetectorRef.detectChanges()}writeValue(e){this.checked=!!e}registerOnChange(e){this._controlValueAccessorChangeFn=e}registerOnTouched(e){this._onTouched=e}setDisabledState(e){this.disabled=e}validate(e){return this.required&&!0!==e.value?{required:!0}:null}registerOnValidatorChange(e){this._validatorChangeFn=e}_transitionCheckState(e){let i=this._currentCheckState,r=this._getAnimationTargetElement();if(i!==e&&r&&(this._currentAnimationClass&&r.classList.remove(this._currentAnimationClass),this._currentAnimationClass=this._getAnimationClassForCheckStateTransition(i,e),this._currentCheckState=e,this._currentAnimationClass.length>0)){r.classList.add(this._currentAnimationClass);const o=this._currentAnimationClass;this._ngZone.runOutsideAngular(()=>{setTimeout(()=>{r.classList.remove(o)},1e3)})}}_emitChangeEvent(){this._controlValueAccessorChangeFn(this.checked),this.change.emit(this._createChangeEvent(this.checked)),this._inputElement&&(this._inputElement.nativeElement.checked=this.checked)}toggle(){this.checked=!this.checked,this._controlValueAccessorChangeFn(this.checked)}_handleInputClick(){const e=this._options?.clickAction;this.disabled||"noop"===e?!this.disabled&&"noop"===e&&(this._inputElement.nativeElement.checked=this.checked,this._inputElement.nativeElement.indeterminate=this.indeterminate):(this.indeterminate&&"check"!==e&&Promise.resolve().then(()=>{this._indeterminate=!1,this.indeterminateChange.emit(this._indeterminate)}),this._checked=!this._checked,this._transitionCheckState(this._checked?kn.Checked:kn.Unchecked),this._emitChangeEvent())}_onInteractionEvent(e){e.stopPropagation()}_onBlur(){Promise.resolve().then(()=>{this._onTouched(),this._changeDetectorRef.markForCheck()})}_getAnimationClassForCheckStateTransition(e,i){if("NoopAnimations"===this._animationMode)return"";switch(e){case kn.Init:if(i===kn.Checked)return this._animationClasses.uncheckedToChecked;if(i==kn.Indeterminate)return this._checked?this._animationClasses.checkedToIndeterminate:this._animationClasses.uncheckedToIndeterminate;break;case kn.Unchecked:return i===kn.Checked?this._animationClasses.uncheckedToChecked:this._animationClasses.uncheckedToIndeterminate;case kn.Checked:return i===kn.Unchecked?this._animationClasses.checkedToUnchecked:this._animationClasses.checkedToIndeterminate;case kn.Indeterminate:return i===kn.Checked?this._animationClasses.indeterminateToChecked:this._animationClasses.indeterminateToUnchecked}return""}_syncIndeterminate(e){const i=this._inputElement;i&&(i.nativeElement.indeterminate=e)}_onInputClick(){this._handleInputClick()}_onTouchTargetClick(){this._handleInputClick(),this.disabled||this._inputElement.nativeElement.focus()}_preventBubblingFromLabel(e){e.target&&this._labelElement.nativeElement.contains(e.target)&&e.stopPropagation()}static#e=this.\u0275fac=function(i){return new(i||t)(C(Ne),C(yi),C(de),vr("tabindex"),C(Wn,8),C(DQ,8))};static#t=this.\u0275cmp=mt({type:t,selectors:[["mat-checkbox"]],viewQuery:function(i,r){if(1&i&&(qt(EQ,5),qt(wQ,5),qt(Gl,5)),2&i){let o;Ze(o=Ke())&&(r._inputElement=o.first),Ze(o=Ke())&&(r._labelElement=o.first),Ze(o=Ke())&&(r.ripple=o.first)}},hostAttrs:[1,"mat-mdc-checkbox"],hostVars:14,hostBindings:function(i,r){2&i&&(nr("id",r.id),Xe("tabindex",null)("aria-label",null)("aria-labelledby",null),so(r.color?"mat-"+r.color:"mat-accent"),st("_mat-animation-noopable","NoopAnimations"===r._animationMode)("mdc-checkbox--disabled",r.disabled)("mat-mdc-checkbox-disabled",r.disabled)("mat-mdc-checkbox-checked",r.checked))},inputs:{ariaLabel:[X.None,"aria-label","ariaLabel"],ariaLabelledby:[X.None,"aria-labelledby","ariaLabelledby"],ariaDescribedby:[X.None,"aria-describedby","ariaDescribedby"],id:"id",required:[X.HasDecoratorInputTransform,"required","required",Je],labelPosition:"labelPosition",name:"name",value:"value",disableRipple:[X.HasDecoratorInputTransform,"disableRipple","disableRipple",Je],tabIndex:[X.HasDecoratorInputTransform,"tabIndex","tabIndex",e=>null==e?void 0:ts(e)],color:"color",checked:[X.HasDecoratorInputTransform,"checked","checked",Je],disabled:[X.HasDecoratorInputTransform,"disabled","disabled",Je],indeterminate:[X.HasDecoratorInputTransform,"indeterminate","indeterminate",Je]},outputs:{change:"change",indeterminateChange:"indeterminateChange"},exportAs:["matCheckbox"],standalone:!0,features:[Ye([CQ,{provide:en,useExisting:t,multi:!0}]),Er,Sn,Gt],ngContentSelectors:SQ,decls:15,vars:19,consts:[["checkbox",""],["input",""],["label",""],["mat-internal-form-field","",3,"click","labelPosition"],[1,"mdc-checkbox"],[1,"mat-mdc-checkbox-touch-target",3,"click"],["type","checkbox",1,"mdc-checkbox__native-control",3,"blur","click","change","checked","indeterminate","disabled","id","required","tabIndex"],[1,"mdc-checkbox__ripple"],[1,"mdc-checkbox__background"],["focusable","false","viewBox","0 0 24 24","aria-hidden","true",1,"mdc-checkbox__checkmark"],["fill","none","d","M1.73,12.91 8.1,19.28 22.79,4.59",1,"mdc-checkbox__checkmark-path"],[1,"mdc-checkbox__mixedmark"],["mat-ripple","",1,"mat-mdc-checkbox-ripple","mat-mdc-focus-indicator",3,"matRippleTrigger","matRippleDisabled","matRippleCentered"],[1,"mdc-label",3,"for"]],template:function(i,r){if(1&i){const o=wr();Mn(),U(0,"div",3),Ue("click",function(a){return hn(o),fn(r._preventBubblingFromLabel(a))}),U(1,"div",4,0)(3,"div",5),Ue("click",function(){return hn(o),fn(r._onTouchTargetClick())}),W(),U(4,"input",6,1),Ue("blur",function(){return hn(o),fn(r._onBlur())})("click",function(){return hn(o),fn(r._onInputClick())})("change",function(a){return hn(o),fn(r._onInteractionEvent(a))}),W(),Ie(6,"div",7),U(7,"div",8),ia(),U(8,"svg",9),Ie(9,"path",10),W(),tg(),Ie(10,"div",11),W(),Ie(11,"div",12),W(),U(12,"label",13,2),qe(14),W()()}if(2&i){const o=Jo(2);se("labelPosition",r.labelPosition),K(4),st("mdc-checkbox--selected",r.checked),se("checked",r.checked)("indeterminate",r.indeterminate)("disabled",r.disabled)("id",r.inputId)("required",r.required)("tabIndex",r.disabled?-1:r.tabIndex),Xe("aria-label",r.ariaLabel||null)("aria-labelledby",r.ariaLabelledby)("aria-describedby",r.ariaDescribedby)("aria-checked",r.indeterminate?"mixed":null)("name",r.name)("value",r.value),K(7),se("matRippleTrigger",o)("matRippleDisabled",r.disableRipple||r.disabled)("matRippleCentered",!0),K(),se("for",r.inputId)}},dependencies:[Gl,yk],styles:['.mdc-touch-target-wrapper{display:inline}@keyframes mdc-checkbox-unchecked-checked-checkmark-path{0%,50%{stroke-dashoffset:29.7833385}50%{animation-timing-function:cubic-bezier(0, 0, 0.2, 1)}100%{stroke-dashoffset:0}}@keyframes mdc-checkbox-unchecked-indeterminate-mixedmark{0%,68.2%{transform:scaleX(0)}68.2%{animation-timing-function:cubic-bezier(0, 0, 0, 1)}100%{transform:scaleX(1)}}@keyframes mdc-checkbox-checked-unchecked-checkmark-path{from{animation-timing-function:cubic-bezier(0.4, 0, 1, 1);opacity:1;stroke-dashoffset:0}to{opacity:0;stroke-dashoffset:-29.7833385}}@keyframes mdc-checkbox-checked-indeterminate-checkmark{from{animation-timing-function:cubic-bezier(0, 0, 0.2, 1);transform:rotate(0deg);opacity:1}to{transform:rotate(45deg);opacity:0}}@keyframes mdc-checkbox-indeterminate-checked-checkmark{from{animation-timing-function:cubic-bezier(0.14, 0, 0, 1);transform:rotate(45deg);opacity:0}to{transform:rotate(360deg);opacity:1}}@keyframes mdc-checkbox-checked-indeterminate-mixedmark{from{animation-timing-function:mdc-animation-deceleration-curve-timing-function;transform:rotate(-45deg);opacity:0}to{transform:rotate(0deg);opacity:1}}@keyframes mdc-checkbox-indeterminate-checked-mixedmark{from{animation-timing-function:cubic-bezier(0.14, 0, 0, 1);transform:rotate(0deg);opacity:1}to{transform:rotate(315deg);opacity:0}}@keyframes mdc-checkbox-indeterminate-unchecked-mixedmark{0%{animation-timing-function:linear;transform:scaleX(1);opacity:1}32.8%,100%{transform:scaleX(0);opacity:0}}.mdc-checkbox{display:inline-block;position:relative;flex:0 0 18px;box-sizing:content-box;width:18px;height:18px;line-height:0;white-space:nowrap;cursor:pointer;vertical-align:bottom}.mdc-checkbox[hidden]{display:none}.mdc-checkbox.mdc-ripple-upgraded--background-focused .mdc-checkbox__focus-ring,.mdc-checkbox:not(.mdc-ripple-upgraded):focus .mdc-checkbox__focus-ring{pointer-events:none;border:2px solid rgba(0,0,0,0);border-radius:6px;box-sizing:content-box;position:absolute;top:50%;left:50%;transform:translate(-50%, -50%);height:100%;width:100%}@media screen and (forced-colors: active){.mdc-checkbox.mdc-ripple-upgraded--background-focused .mdc-checkbox__focus-ring,.mdc-checkbox:not(.mdc-ripple-upgraded):focus .mdc-checkbox__focus-ring{border-color:CanvasText}}.mdc-checkbox.mdc-ripple-upgraded--background-focused .mdc-checkbox__focus-ring::after,.mdc-checkbox:not(.mdc-ripple-upgraded):focus .mdc-checkbox__focus-ring::after{content:"";border:2px solid rgba(0,0,0,0);border-radius:8px;display:block;position:absolute;top:50%;left:50%;transform:translate(-50%, -50%);height:calc(100% + 4px);width:calc(100% + 4px)}@media screen and (forced-colors: active){.mdc-checkbox.mdc-ripple-upgraded--background-focused .mdc-checkbox__focus-ring::after,.mdc-checkbox:not(.mdc-ripple-upgraded):focus .mdc-checkbox__focus-ring::after{border-color:CanvasText}}@media all and (-ms-high-contrast: none){.mdc-checkbox .mdc-checkbox__focus-ring{display:none}}@media screen and (forced-colors: active),(-ms-high-contrast: active){.mdc-checkbox__mixedmark{margin:0 1px}}.mdc-checkbox--disabled{cursor:default;pointer-events:none}.mdc-checkbox__background{display:inline-flex;position:absolute;align-items:center;justify-content:center;box-sizing:border-box;width:18px;height:18px;border:2px solid currentColor;border-radius:2px;background-color:rgba(0,0,0,0);pointer-events:none;will-change:background-color,border-color;transition:background-color 90ms 0ms cubic-bezier(0.4, 0, 0.6, 1),border-color 90ms 0ms cubic-bezier(0.4, 0, 0.6, 1)}.mdc-checkbox__checkmark{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;opacity:0;transition:opacity 180ms 0ms cubic-bezier(0.4, 0, 0.6, 1)}.mdc-checkbox--upgraded .mdc-checkbox__checkmark{opacity:1}.mdc-checkbox__checkmark-path{transition:stroke-dashoffset 180ms 0ms cubic-bezier(0.4, 0, 0.6, 1);stroke:currentColor;stroke-width:3.12px;stroke-dashoffset:29.7833385;stroke-dasharray:29.7833385}.mdc-checkbox__mixedmark{width:100%;height:0;transform:scaleX(0) rotate(0deg);border-width:1px;border-style:solid;opacity:0;transition:opacity 90ms 0ms cubic-bezier(0.4, 0, 0.6, 1),transform 90ms 0ms cubic-bezier(0.4, 0, 0.6, 1)}.mdc-checkbox--anim-unchecked-checked .mdc-checkbox__background,.mdc-checkbox--anim-unchecked-indeterminate .mdc-checkbox__background,.mdc-checkbox--anim-checked-unchecked .mdc-checkbox__background,.mdc-checkbox--anim-indeterminate-unchecked .mdc-checkbox__background{animation-duration:180ms;animation-timing-function:linear}.mdc-checkbox--anim-unchecked-checked .mdc-checkbox__checkmark-path{animation:mdc-checkbox-unchecked-checked-checkmark-path 180ms linear 0s;transition:none}.mdc-checkbox--anim-unchecked-indeterminate .mdc-checkbox__mixedmark{animation:mdc-checkbox-unchecked-indeterminate-mixedmark 90ms linear 0s;transition:none}.mdc-checkbox--anim-checked-unchecked .mdc-checkbox__checkmark-path{animation:mdc-checkbox-checked-unchecked-checkmark-path 90ms linear 0s;transition:none}.mdc-checkbox--anim-checked-indeterminate .mdc-checkbox__checkmark{animation:mdc-checkbox-checked-indeterminate-checkmark 90ms linear 0s;transition:none}.mdc-checkbox--anim-checked-indeterminate .mdc-checkbox__mixedmark{animation:mdc-checkbox-checked-indeterminate-mixedmark 90ms linear 0s;transition:none}.mdc-checkbox--anim-indeterminate-checked .mdc-checkbox__checkmark{animation:mdc-checkbox-indeterminate-checked-checkmark 500ms linear 0s;transition:none}.mdc-checkbox--anim-indeterminate-checked .mdc-checkbox__mixedmark{animation:mdc-checkbox-indeterminate-checked-mixedmark 500ms linear 0s;transition:none}.mdc-checkbox--anim-indeterminate-unchecked .mdc-checkbox__mixedmark{animation:mdc-checkbox-indeterminate-unchecked-mixedmark 300ms linear 0s;transition:none}.mdc-checkbox__native-control:checked~.mdc-checkbox__background,.mdc-checkbox__native-control:indeterminate~.mdc-checkbox__background,.mdc-checkbox__native-control[data-indeterminate=true]~.mdc-checkbox__background{transition:border-color 90ms 0ms cubic-bezier(0, 0, 0.2, 1),background-color 90ms 0ms cubic-bezier(0, 0, 0.2, 1)}.mdc-checkbox__native-control:checked~.mdc-checkbox__background .mdc-checkbox__checkmark-path,.mdc-checkbox__native-control:indeterminate~.mdc-checkbox__background .mdc-checkbox__checkmark-path,.mdc-checkbox__native-control[data-indeterminate=true]~.mdc-checkbox__background .mdc-checkbox__checkmark-path{stroke-dashoffset:0}.mdc-checkbox__native-control{position:absolute;margin:0;padding:0;opacity:0;cursor:inherit}.mdc-checkbox__native-control:disabled{cursor:default;pointer-events:none}.mdc-checkbox--touch{margin:calc((var(--mdc-checkbox-state-layer-size) - var(--mdc-checkbox-state-layer-size)) / 2)}.mdc-checkbox--touch .mdc-checkbox__native-control{top:calc((var(--mdc-checkbox-state-layer-size) - var(--mdc-checkbox-state-layer-size)) / 2);right:calc((var(--mdc-checkbox-state-layer-size) - var(--mdc-checkbox-state-layer-size)) / 2);left:calc((var(--mdc-checkbox-state-layer-size) - var(--mdc-checkbox-state-layer-size)) / 2);width:var(--mdc-checkbox-state-layer-size);height:var(--mdc-checkbox-state-layer-size)}.mdc-checkbox__native-control:checked~.mdc-checkbox__background .mdc-checkbox__checkmark{transition:opacity 180ms 0ms cubic-bezier(0, 0, 0.2, 1),transform 180ms 0ms cubic-bezier(0, 0, 0.2, 1);opacity:1}.mdc-checkbox__native-control:checked~.mdc-checkbox__background .mdc-checkbox__mixedmark{transform:scaleX(1) rotate(-45deg)}.mdc-checkbox__native-control:indeterminate~.mdc-checkbox__background .mdc-checkbox__checkmark,.mdc-checkbox__native-control[data-indeterminate=true]~.mdc-checkbox__background .mdc-checkbox__checkmark{transform:rotate(45deg);opacity:0;transition:opacity 90ms 0ms cubic-bezier(0.4, 0, 0.6, 1),transform 90ms 0ms cubic-bezier(0.4, 0, 0.6, 1)}.mdc-checkbox__native-control:indeterminate~.mdc-checkbox__background .mdc-checkbox__mixedmark,.mdc-checkbox__native-control[data-indeterminate=true]~.mdc-checkbox__background .mdc-checkbox__mixedmark{transform:scaleX(1) rotate(0deg);opacity:1}.mdc-checkbox.mdc-checkbox--upgraded .mdc-checkbox__background,.mdc-checkbox.mdc-checkbox--upgraded .mdc-checkbox__checkmark,.mdc-checkbox.mdc-checkbox--upgraded .mdc-checkbox__checkmark-path,.mdc-checkbox.mdc-checkbox--upgraded .mdc-checkbox__mixedmark{transition:none}.mdc-checkbox{padding:calc((var(--mdc-checkbox-state-layer-size) - 18px) / 2);margin:calc((var(--mdc-checkbox-state-layer-size) - var(--mdc-checkbox-state-layer-size)) / 2)}.mdc-checkbox .mdc-checkbox__native-control[disabled]:not(:checked):not(:indeterminate):not([data-indeterminate=true])~.mdc-checkbox__background{border-color:var(--mdc-checkbox-disabled-unselected-icon-color);background-color:transparent}.mdc-checkbox .mdc-checkbox__native-control[disabled]:checked~.mdc-checkbox__background,.mdc-checkbox .mdc-checkbox__native-control[disabled]:indeterminate~.mdc-checkbox__background,.mdc-checkbox .mdc-checkbox__native-control[data-indeterminate=true][disabled]~.mdc-checkbox__background{border-color:transparent;background-color:var(--mdc-checkbox-disabled-selected-icon-color)}.mdc-checkbox .mdc-checkbox__native-control:enabled~.mdc-checkbox__background .mdc-checkbox__checkmark{color:var(--mdc-checkbox-selected-checkmark-color)}.mdc-checkbox .mdc-checkbox__native-control:enabled~.mdc-checkbox__background .mdc-checkbox__mixedmark{border-color:var(--mdc-checkbox-selected-checkmark-color)}.mdc-checkbox .mdc-checkbox__native-control:disabled~.mdc-checkbox__background .mdc-checkbox__checkmark{color:var(--mdc-checkbox-disabled-selected-checkmark-color)}.mdc-checkbox .mdc-checkbox__native-control:disabled~.mdc-checkbox__background .mdc-checkbox__mixedmark{border-color:var(--mdc-checkbox-disabled-selected-checkmark-color)}.mdc-checkbox .mdc-checkbox__native-control:enabled:not(:checked):not(:indeterminate):not([data-indeterminate=true])~.mdc-checkbox__background{border-color:var(--mdc-checkbox-unselected-icon-color);background-color:transparent}.mdc-checkbox .mdc-checkbox__native-control:enabled:checked~.mdc-checkbox__background,.mdc-checkbox .mdc-checkbox__native-control:enabled:indeterminate~.mdc-checkbox__background,.mdc-checkbox .mdc-checkbox__native-control[data-indeterminate=true]:enabled~.mdc-checkbox__background{border-color:var(--mdc-checkbox-selected-icon-color);background-color:var(--mdc-checkbox-selected-icon-color)}@keyframes mdc-checkbox-fade-in-background-8A000000FFF4433600000000FFF44336{0%{border-color:var(--mdc-checkbox-unselected-icon-color);background-color:transparent}50%{border-color:var(--mdc-checkbox-selected-icon-color);background-color:var(--mdc-checkbox-selected-icon-color)}}@keyframes mdc-checkbox-fade-out-background-8A000000FFF4433600000000FFF44336{0%,80%{border-color:var(--mdc-checkbox-selected-icon-color);background-color:var(--mdc-checkbox-selected-icon-color)}100%{border-color:var(--mdc-checkbox-unselected-icon-color);background-color:transparent}}.mdc-checkbox.mdc-checkbox--anim-unchecked-checked .mdc-checkbox__native-control:enabled~.mdc-checkbox__background,.mdc-checkbox.mdc-checkbox--anim-unchecked-indeterminate .mdc-checkbox__native-control:enabled~.mdc-checkbox__background{animation-name:mdc-checkbox-fade-in-background-8A000000FFF4433600000000FFF44336}.mdc-checkbox.mdc-checkbox--anim-checked-unchecked .mdc-checkbox__native-control:enabled~.mdc-checkbox__background,.mdc-checkbox.mdc-checkbox--anim-indeterminate-unchecked .mdc-checkbox__native-control:enabled~.mdc-checkbox__background{animation-name:mdc-checkbox-fade-out-background-8A000000FFF4433600000000FFF44336}.mdc-checkbox:hover .mdc-checkbox__native-control:enabled:not(:checked):not(:indeterminate):not([data-indeterminate=true])~.mdc-checkbox__background{border-color:var(--mdc-checkbox-unselected-hover-icon-color);background-color:transparent}.mdc-checkbox:hover .mdc-checkbox__native-control:enabled:checked~.mdc-checkbox__background,.mdc-checkbox:hover .mdc-checkbox__native-control:enabled:indeterminate~.mdc-checkbox__background,.mdc-checkbox:hover .mdc-checkbox__native-control[data-indeterminate=true]:enabled~.mdc-checkbox__background{border-color:var(--mdc-checkbox-selected-hover-icon-color);background-color:var(--mdc-checkbox-selected-hover-icon-color)}@keyframes mdc-checkbox-fade-in-background-FF212121FFF4433600000000FFF44336{0%{border-color:var(--mdc-checkbox-unselected-hover-icon-color);background-color:transparent}50%{border-color:var(--mdc-checkbox-selected-hover-icon-color);background-color:var(--mdc-checkbox-selected-hover-icon-color)}}@keyframes mdc-checkbox-fade-out-background-FF212121FFF4433600000000FFF44336{0%,80%{border-color:var(--mdc-checkbox-selected-hover-icon-color);background-color:var(--mdc-checkbox-selected-hover-icon-color)}100%{border-color:var(--mdc-checkbox-unselected-hover-icon-color);background-color:transparent}}.mdc-checkbox:hover.mdc-checkbox--anim-unchecked-checked .mdc-checkbox__native-control:enabled~.mdc-checkbox__background,.mdc-checkbox:hover.mdc-checkbox--anim-unchecked-indeterminate .mdc-checkbox__native-control:enabled~.mdc-checkbox__background{animation-name:mdc-checkbox-fade-in-background-FF212121FFF4433600000000FFF44336}.mdc-checkbox:hover.mdc-checkbox--anim-checked-unchecked .mdc-checkbox__native-control:enabled~.mdc-checkbox__background,.mdc-checkbox:hover.mdc-checkbox--anim-indeterminate-unchecked .mdc-checkbox__native-control:enabled~.mdc-checkbox__background{animation-name:mdc-checkbox-fade-out-background-FF212121FFF4433600000000FFF44336}.mdc-checkbox:not(:disabled):active .mdc-checkbox__native-control:enabled:not(:checked):not(:indeterminate):not([data-indeterminate=true])~.mdc-checkbox__background{border-color:var(--mdc-checkbox-unselected-pressed-icon-color);background-color:transparent}.mdc-checkbox:not(:disabled):active .mdc-checkbox__native-control:enabled:checked~.mdc-checkbox__background,.mdc-checkbox:not(:disabled):active .mdc-checkbox__native-control:enabled:indeterminate~.mdc-checkbox__background,.mdc-checkbox:not(:disabled):active .mdc-checkbox__native-control[data-indeterminate=true]:enabled~.mdc-checkbox__background{border-color:var(--mdc-checkbox-selected-pressed-icon-color);background-color:var(--mdc-checkbox-selected-pressed-icon-color)}@keyframes mdc-checkbox-fade-in-background-8A000000FFF4433600000000FFF44336{0%{border-color:var(--mdc-checkbox-unselected-pressed-icon-color);background-color:transparent}50%{border-color:var(--mdc-checkbox-selected-pressed-icon-color);background-color:var(--mdc-checkbox-selected-pressed-icon-color)}}@keyframes mdc-checkbox-fade-out-background-8A000000FFF4433600000000FFF44336{0%,80%{border-color:var(--mdc-checkbox-selected-pressed-icon-color);background-color:var(--mdc-checkbox-selected-pressed-icon-color)}100%{border-color:var(--mdc-checkbox-unselected-pressed-icon-color);background-color:transparent}}.mdc-checkbox:not(:disabled):active.mdc-checkbox--anim-unchecked-checked .mdc-checkbox__native-control:enabled~.mdc-checkbox__background,.mdc-checkbox:not(:disabled):active.mdc-checkbox--anim-unchecked-indeterminate .mdc-checkbox__native-control:enabled~.mdc-checkbox__background{animation-name:mdc-checkbox-fade-in-background-8A000000FFF4433600000000FFF44336}.mdc-checkbox:not(:disabled):active.mdc-checkbox--anim-checked-unchecked .mdc-checkbox__native-control:enabled~.mdc-checkbox__background,.mdc-checkbox:not(:disabled):active.mdc-checkbox--anim-indeterminate-unchecked .mdc-checkbox__native-control:enabled~.mdc-checkbox__background{animation-name:mdc-checkbox-fade-out-background-8A000000FFF4433600000000FFF44336}.mdc-checkbox .mdc-checkbox__background{top:calc((var(--mdc-checkbox-state-layer-size) - 18px) / 2);left:calc((var(--mdc-checkbox-state-layer-size) - 18px) / 2)}.mdc-checkbox .mdc-checkbox__native-control{top:calc((var(--mdc-checkbox-state-layer-size) - var(--mdc-checkbox-state-layer-size)) / 2);right:calc((var(--mdc-checkbox-state-layer-size) - var(--mdc-checkbox-state-layer-size)) / 2);left:calc((var(--mdc-checkbox-state-layer-size) - var(--mdc-checkbox-state-layer-size)) / 2);width:var(--mdc-checkbox-state-layer-size);height:var(--mdc-checkbox-state-layer-size)}.mdc-checkbox .mdc-checkbox__native-control:enabled:focus:focus:not(:checked):not(:indeterminate)~.mdc-checkbox__background{border-color:var(--mdc-checkbox-unselected-focus-icon-color)}.mdc-checkbox .mdc-checkbox__native-control:enabled:focus:checked~.mdc-checkbox__background,.mdc-checkbox .mdc-checkbox__native-control:enabled:focus:indeterminate~.mdc-checkbox__background{border-color:var(--mdc-checkbox-selected-focus-icon-color);background-color:var(--mdc-checkbox-selected-focus-icon-color)}.mdc-checkbox:hover .mdc-checkbox__ripple{opacity:var(--mdc-checkbox-unselected-hover-state-layer-opacity);background-color:var(--mdc-checkbox-unselected-hover-state-layer-color)}.mdc-checkbox:hover .mat-mdc-checkbox-ripple .mat-ripple-element{background-color:var(--mdc-checkbox-unselected-hover-state-layer-color)}.mdc-checkbox .mdc-checkbox__native-control:focus~.mdc-checkbox__ripple{opacity:var(--mdc-checkbox-unselected-focus-state-layer-opacity);background-color:var(--mdc-checkbox-unselected-focus-state-layer-color)}.mdc-checkbox .mdc-checkbox__native-control:focus~.mat-mdc-checkbox-ripple .mat-ripple-element{background-color:var(--mdc-checkbox-unselected-focus-state-layer-color)}.mdc-checkbox:active .mdc-checkbox__native-control~.mdc-checkbox__ripple{opacity:var(--mdc-checkbox-unselected-pressed-state-layer-opacity);background-color:var(--mdc-checkbox-unselected-pressed-state-layer-color)}.mdc-checkbox:active .mdc-checkbox__native-control~.mat-mdc-checkbox-ripple .mat-ripple-element{background-color:var(--mdc-checkbox-unselected-pressed-state-layer-color)}.mdc-checkbox:hover .mdc-checkbox__native-control:checked~.mdc-checkbox__ripple{opacity:var(--mdc-checkbox-selected-hover-state-layer-opacity);background-color:var(--mdc-checkbox-selected-hover-state-layer-color)}.mdc-checkbox:hover .mdc-checkbox__native-control:checked~.mat-mdc-checkbox-ripple .mat-ripple-element{background-color:var(--mdc-checkbox-selected-hover-state-layer-color)}.mdc-checkbox .mdc-checkbox__native-control:focus:checked~.mdc-checkbox__ripple{opacity:var(--mdc-checkbox-selected-focus-state-layer-opacity);background-color:var(--mdc-checkbox-selected-focus-state-layer-color)}.mdc-checkbox .mdc-checkbox__native-control:focus:checked~.mat-mdc-checkbox-ripple .mat-ripple-element{background-color:var(--mdc-checkbox-selected-focus-state-layer-color)}.mdc-checkbox:active .mdc-checkbox__native-control:checked~.mdc-checkbox__ripple{opacity:var(--mdc-checkbox-selected-pressed-state-layer-opacity);background-color:var(--mdc-checkbox-selected-pressed-state-layer-color)}.mdc-checkbox:active .mdc-checkbox__native-control:checked~.mat-mdc-checkbox-ripple .mat-ripple-element{background-color:var(--mdc-checkbox-selected-pressed-state-layer-color)}.mat-mdc-checkbox{display:inline-block;position:relative;-webkit-tap-highlight-color:rgba(0,0,0,0)}.mat-mdc-checkbox .mdc-checkbox__background{-webkit-print-color-adjust:exact;color-adjust:exact}.mat-mdc-checkbox._mat-animation-noopable *,.mat-mdc-checkbox._mat-animation-noopable *::before{transition:none !important;animation:none !important}.mat-mdc-checkbox label{cursor:pointer}.mat-mdc-checkbox.mat-mdc-checkbox-disabled label{cursor:default;color:var(--mat-checkbox-disabled-label-color)}.mat-mdc-checkbox label:empty{display:none}.cdk-high-contrast-active .mat-mdc-checkbox.mat-mdc-checkbox-disabled{opacity:.5}.cdk-high-contrast-active .mat-mdc-checkbox .mdc-checkbox__checkmark{--mdc-checkbox-selected-checkmark-color: CanvasText;--mdc-checkbox-disabled-selected-checkmark-color: CanvasText}.mat-mdc-checkbox .mdc-checkbox__ripple{opacity:0}.mat-mdc-checkbox-ripple,.mdc-checkbox__ripple{top:0;left:0;right:0;bottom:0;position:absolute;border-radius:50%;pointer-events:none}.mat-mdc-checkbox-ripple:not(:empty),.mdc-checkbox__ripple:not(:empty){transform:translateZ(0)}.mat-mdc-checkbox-ripple .mat-ripple-element{opacity:.1}.mat-mdc-checkbox-touch-target{position:absolute;top:50%;height:48px;left:50%;width:48px;transform:translate(-50%, -50%);display:var(--mat-checkbox-touch-target-display)}.mat-mdc-checkbox-ripple::before{border-radius:50%}.mdc-checkbox__native-control:focus~.mat-mdc-focus-indicator::before{content:""}'],encapsulation:2,changeDetection:0})}return t})(),UR=(()=>{class t{static#e=this.\u0275fac=function(i){return new(i||t)};static#t=this.\u0275mod=Oe({type:t});static#n=this.\u0275inj=Re({imports:[Uy,_t,_t]})}return t})();function RQ(t,n){}class Qf{constructor(){this.role="dialog",this.panelClass="",this.hasBackdrop=!0,this.backdropClass="",this.disableClose=!1,this.width="",this.height="",this.data=null,this.ariaDescribedBy=null,this.ariaLabelledBy=null,this.ariaLabel=null,this.ariaModal=!0,this.autoFocus="first-tabbable",this.restoreFocus=!0,this.closeOnNavigation=!0,this.closeOnDestroy=!0,this.closeOnOverlayDetachments=!0}}let zR=(()=>{class t extends gf{constructor(e,i,r,o,s,a,c,l){super(),this._elementRef=e,this._focusTrapFactory=i,this._config=o,this._interactivityChecker=s,this._ngZone=a,this._overlayRef=c,this._focusMonitor=l,this._platform=ne(Kt),this._focusTrap=null,this._elementFocusedBeforeDialogWasOpened=null,this._closeInteractionType=null,this._ariaLabelledByQueue=[],this._changeDetectorRef=ne(yi),this.attachDomPortal=d=>{this._portalOutlet.hasAttached();const u=this._portalOutlet.attachDomPortal(d);return this._contentAttached(),u},this._document=r,this._config.ariaLabelledBy&&this._ariaLabelledByQueue.push(this._config.ariaLabelledBy)}_addAriaLabelledBy(e){this._ariaLabelledByQueue.push(e),this._changeDetectorRef.markForCheck()}_removeAriaLabelledBy(e){const i=this._ariaLabelledByQueue.indexOf(e);i>-1&&(this._ariaLabelledByQueue.splice(i,1),this._changeDetectorRef.markForCheck())}_contentAttached(){this._initializeFocusTrap(),this._handleBackdropClicks(),this._captureInitialFocus()}_captureInitialFocus(){this._trapFocus()}ngOnDestroy(){this._restoreFocus()}attachComponentPortal(e){this._portalOutlet.hasAttached();const i=this._portalOutlet.attachComponentPortal(e);return this._contentAttached(),i}attachTemplatePortal(e){this._portalOutlet.hasAttached();const i=this._portalOutlet.attachTemplatePortal(e);return this._contentAttached(),i}_recaptureFocus(){this._containsFocus()||this._trapFocus()}_forceFocus(e,i){this._interactivityChecker.isFocusable(e)||(e.tabIndex=-1,this._ngZone.runOutsideAngular(()=>{const r=()=>{e.removeEventListener("blur",r),e.removeEventListener("mousedown",r),e.removeAttribute("tabindex")};e.addEventListener("blur",r),e.addEventListener("mousedown",r)})),e.focus(i)}_focusByCssSelector(e,i){let r=this._elementRef.nativeElement.querySelector(e);r&&this._forceFocus(r,i)}_trapFocus(){const e=this._elementRef.nativeElement;switch(this._config.autoFocus){case!1:case"dialog":this._containsFocus()||e.focus();break;case!0:case"first-tabbable":this._focusTrap?.focusInitialElementWhenReady().then(i=>{i||this._focusDialogContainer()});break;case"first-heading":this._focusByCssSelector('h1, h2, h3, h4, h5, h6, [role="heading"]');break;default:this._focusByCssSelector(this._config.autoFocus)}}_restoreFocus(){const e=this._config.restoreFocus;let i=null;if("string"==typeof e?i=this._document.querySelector(e):"boolean"==typeof e?i=e?this._elementFocusedBeforeDialogWasOpened:null:e&&(i=e),this._config.restoreFocus&&i&&"function"==typeof i.focus){const r=gv(),o=this._elementRef.nativeElement;(!r||r===this._document.body||r===o||o.contains(r))&&(this._focusMonitor?(this._focusMonitor.focusVia(i,this._closeInteractionType),this._closeInteractionType=null):i.focus())}this._focusTrap&&this._focusTrap.destroy()}_focusDialogContainer(){this._elementRef.nativeElement.focus&&this._elementRef.nativeElement.focus()}_containsFocus(){const e=this._elementRef.nativeElement,i=gv();return e===i||e.contains(i)}_initializeFocusTrap(){this._platform.isBrowser&&(this._focusTrap=this._focusTrapFactory.create(this._elementRef.nativeElement),this._document&&(this._elementFocusedBeforeDialogWasOpened=gv()))}_handleBackdropClicks(){this._overlayRef.backdropClick().subscribe(()=>{this._config.disableClose&&this._recaptureFocus()})}static#e=this.\u0275fac=function(i){return new(i||t)(C(Ne),C(YT),C(Ve,8),C(Qf),C(kv),C(de),C(yf),C(hf))};static#t=this.\u0275cmp=mt({type:t,selectors:[["cdk-dialog-container"]],viewQuery:function(i,r){if(1&i&&qt(Wl,7),2&i){let o;Ze(o=Ke())&&(r._portalOutlet=o.first)}},hostAttrs:["tabindex","-1",1,"cdk-dialog-container"],hostVars:6,hostBindings:function(i,r){2&i&&Xe("id",r._config.id||null)("role",r._config.role)("aria-modal",r._config.ariaModal)("aria-labelledby",r._config.ariaLabel?null:r._ariaLabelledByQueue[0])("aria-label",r._config.ariaLabel)("aria-describedby",r._config.ariaDescribedBy||null)},standalone:!0,features:[ke,Gt],decls:1,vars:0,consts:[["cdkPortalOutlet",""]],template:function(i,r){1&i&&we(0,RQ,0,0,"ng-template",0)},dependencies:[Wl],styles:[".cdk-dialog-container{display:block;width:100%;height:100%;min-height:inherit;max-height:inherit}"],encapsulation:2})}return t})();class zy{constructor(n,e){this.overlayRef=n,this.config=e,this.closed=new ue,this.disableClose=e.disableClose,this.backdropClick=n.backdropClick(),this.keydownEvents=n.keydownEvents(),this.outsidePointerEvents=n.outsidePointerEvents(),this.id=e.id,this.keydownEvents.subscribe(i=>{27===i.keyCode&&!this.disableClose&&!ss(i)&&(i.preventDefault(),this.close(void 0,{focusOrigin:"keyboard"}))}),this.backdropClick.subscribe(()=>{this.disableClose||this.close(void 0,{focusOrigin:"mouse"})}),this._detachSubscription=n.detachments().subscribe(()=>{!1!==e.closeOnOverlayDetachments&&this.close()})}close(n,e){if(this.containerInstance){const i=this.closed;this.containerInstance._closeInteractionType=e?.focusOrigin||"program",this._detachSubscription.unsubscribe(),this.overlayRef.dispose(),i.next(n),i.complete(),this.componentInstance=this.containerInstance=null}}updatePosition(){return this.overlayRef.updatePosition(),this}updateSize(n="",e=""){return this.overlayRef.updateSize({width:n,height:e}),this}addPanelClass(n){return this.overlayRef.addPanelClass(n),this}removePanelClass(n){return this.overlayRef.removePanelClass(n),this}}const GR=new j("DialogScrollStrategy",{providedIn:"root",factory:()=>{const t=ne(Qn);return()=>t.scrollStrategies.block()}}),FQ=new j("DialogData"),OQ=new j("DefaultDialogConfig");let PQ=0,$R=(()=>{class t{get openDialogs(){return this._parentDialog?this._parentDialog.openDialogs:this._openDialogsAtThisLevel}get afterOpened(){return this._parentDialog?this._parentDialog.afterOpened:this._afterOpenedAtThisLevel}constructor(e,i,r,o,s,a){this._overlay=e,this._injector=i,this._defaultOptions=r,this._parentDialog=o,this._overlayContainer=s,this._openDialogsAtThisLevel=[],this._afterAllClosedAtThisLevel=new ue,this._afterOpenedAtThisLevel=new ue,this._ariaHiddenElements=new Map,this.afterAllClosed=td(()=>this.openDialogs.length?this._getAfterAllClosed():this._getAfterAllClosed().pipe(dn(void 0))),this._scrollStrategy=a}open(e,i){(i={...this._defaultOptions||new Qf,...i}).id=i.id||"cdk-dialog-"+PQ++,i.id&&this.getDialogById(i.id);const o=this._getOverlayConfig(i),s=this._overlay.create(o),a=new zy(s,i),c=this._attachContainer(s,a,i);return a.containerInstance=c,this._attachDialogContent(e,a,c,i),this.openDialogs.length||this._hideNonDialogContentFromAssistiveTechnology(),this.openDialogs.push(a),a.closed.subscribe(()=>this._removeOpenDialog(a,!0)),this.afterOpened.next(a),a}closeAll(){Gy(this.openDialogs,e=>e.close())}getDialogById(e){return this.openDialogs.find(i=>i.id===e)}ngOnDestroy(){Gy(this._openDialogsAtThisLevel,e=>{!1===e.config.closeOnDestroy&&this._removeOpenDialog(e,!1)}),Gy(this._openDialogsAtThisLevel,e=>e.close()),this._afterAllClosedAtThisLevel.complete(),this._afterOpenedAtThisLevel.complete(),this._openDialogsAtThisLevel=[]}_getOverlayConfig(e){const i=new Yl({positionStrategy:e.positionStrategy||this._overlay.position().global().centerHorizontally().centerVertically(),scrollStrategy:e.scrollStrategy||this._scrollStrategy(),panelClass:e.panelClass,hasBackdrop:e.hasBackdrop,direction:e.direction,minWidth:e.minWidth,minHeight:e.minHeight,maxWidth:e.maxWidth,maxHeight:e.maxHeight,width:e.width,height:e.height,disposeOnNavigation:e.closeOnNavigation});return e.backdropClass&&(i.backdropClass=e.backdropClass),i}_attachContainer(e,i,r){const o=r.injector||r.viewContainerRef?.injector,s=[{provide:Qf,useValue:r},{provide:zy,useValue:i},{provide:yf,useValue:e}];let a;r.container?"function"==typeof r.container?a=r.container:(a=r.container.type,s.push(...r.container.providers(r))):a=zR;const c=new Xa(a,r.viewContainerRef,kt.create({parent:o||this._injector,providers:s}),r.componentFactoryResolver);return e.attach(c).instance}_attachDialogContent(e,i,r,o){if(e instanceof gi){const s=this._createInjector(o,i,r,void 0);let a={$implicit:o.data,dialogRef:i};o.templateContext&&(a={...a,..."function"==typeof o.templateContext?o.templateContext():o.templateContext}),r.attachTemplatePortal(new pf(e,null,a,s))}else{const s=this._createInjector(o,i,r,this._injector),a=r.attachComponentPortal(new Xa(e,o.viewContainerRef,s,o.componentFactoryResolver));i.componentRef=a,i.componentInstance=a.instance}}_createInjector(e,i,r,o){const s=e.injector||e.viewContainerRef?.injector,a=[{provide:FQ,useValue:e.data},{provide:zy,useValue:i}];return e.providers&&("function"==typeof e.providers?a.push(...e.providers(i,e,r)):a.push(...e.providers)),e.direction&&(!s||!s.get($a,null,{optional:!0}))&&a.push({provide:$a,useValue:{value:e.direction,change:bn()}}),kt.create({parent:s||o,providers:a})}_removeOpenDialog(e,i){const r=this.openDialogs.indexOf(e);r>-1&&(this.openDialogs.splice(r,1),this.openDialogs.length||(this._ariaHiddenElements.forEach((o,s)=>{o?s.setAttribute("aria-hidden",o):s.removeAttribute("aria-hidden")}),this._ariaHiddenElements.clear(),i&&this._getAfterAllClosed().next()))}_hideNonDialogContentFromAssistiveTechnology(){const e=this._overlayContainer.getContainerElement();if(e.parentElement){const i=e.parentElement.children;for(let r=i.length-1;r>-1;r--){const o=i[r];o!==e&&"SCRIPT"!==o.nodeName&&"STYLE"!==o.nodeName&&!o.hasAttribute("aria-live")&&(this._ariaHiddenElements.set(o,o.getAttribute("aria-hidden")),o.setAttribute("aria-hidden","true"))}}}_getAfterAllClosed(){const e=this._parentDialog;return e?e._getAfterAllClosed():this._afterAllClosedAtThisLevel}static#e=this.\u0275fac=function(i){return new(i||t)(R(Qn),R(kt),R(OQ,8),R(t,12),R(vf),R(GR))};static#t=this.\u0275prov=q({token:t,factory:t.\u0275fac,providedIn:"root"})}return t})();function Gy(t,n){let e=t.length;for(;e--;)n(t[e])}let LQ=(()=>{class t{static#e=this.\u0275fac=function(i){return new(i||t)};static#t=this.\u0275mod=Oe({type:t});static#n=this.\u0275inj=Re({providers:[$R],imports:[Af,Xl,kX,Xl]})}return t})();function BQ(t,n){}class $y{constructor(){this.role="dialog",this.panelClass="",this.hasBackdrop=!0,this.backdropClass="",this.disableClose=!1,this.width="",this.height="",this.data=null,this.ariaDescribedBy=null,this.ariaLabelledBy=null,this.ariaLabel=null,this.ariaModal=!0,this.autoFocus="first-tabbable",this.restoreFocus=!0,this.delayFocusTrap=!0,this.closeOnNavigation=!0}}const Wy="mdc-dialog--open",WR="mdc-dialog--opening",XR="mdc-dialog--closing";let qR=(()=>{class t extends zR{constructor(e,i,r,o,s,a,c,l,d){super(e,i,r,o,s,a,c,d),this._animationMode=l,this._animationStateChanged=new Te,this._animationsEnabled="NoopAnimations"!==this._animationMode,this._actionSectionCount=0,this._hostElement=this._elementRef.nativeElement,this._enterAnimationDuration=this._animationsEnabled?QR(this._config.enterAnimationDuration)??150:0,this._exitAnimationDuration=this._animationsEnabled?QR(this._config.exitAnimationDuration)??75:0,this._animationTimer=null,this._finishDialogOpen=()=>{this._clearAnimationClasses(),this._openAnimationDone(this._enterAnimationDuration)},this._finishDialogClose=()=>{this._clearAnimationClasses(),this._animationStateChanged.emit({state:"closed",totalTime:this._exitAnimationDuration})}}_contentAttached(){super._contentAttached(),this._startOpenAnimation()}_startOpenAnimation(){this._animationStateChanged.emit({state:"opening",totalTime:this._enterAnimationDuration}),this._animationsEnabled?(this._hostElement.style.setProperty(YR,`${this._enterAnimationDuration}ms`),this._requestAnimationFrame(()=>this._hostElement.classList.add(WR,Wy)),this._waitForAnimationToComplete(this._enterAnimationDuration,this._finishDialogOpen)):(this._hostElement.classList.add(Wy),Promise.resolve().then(()=>this._finishDialogOpen()))}_startExitAnimation(){this._animationStateChanged.emit({state:"closing",totalTime:this._exitAnimationDuration}),this._hostElement.classList.remove(Wy),this._animationsEnabled?(this._hostElement.style.setProperty(YR,`${this._exitAnimationDuration}ms`),this._requestAnimationFrame(()=>this._hostElement.classList.add(XR)),this._waitForAnimationToComplete(this._exitAnimationDuration,this._finishDialogClose)):Promise.resolve().then(()=>this._finishDialogClose())}_updateActionSectionCount(e){this._actionSectionCount+=e,this._changeDetectorRef.markForCheck()}_clearAnimationClasses(){this._hostElement.classList.remove(WR,XR)}_waitForAnimationToComplete(e,i){null!==this._animationTimer&&clearTimeout(this._animationTimer),this._animationTimer=setTimeout(i,e)}_requestAnimationFrame(e){this._ngZone.runOutsideAngular(()=>{"function"==typeof requestAnimationFrame?requestAnimationFrame(e):e()})}_captureInitialFocus(){this._config.delayFocusTrap||this._trapFocus()}_openAnimationDone(e){this._config.delayFocusTrap&&this._trapFocus(),this._animationStateChanged.next({state:"opened",totalTime:e})}ngOnDestroy(){super.ngOnDestroy(),null!==this._animationTimer&&clearTimeout(this._animationTimer)}attachComponentPortal(e){const i=super.attachComponentPortal(e);return i.location.nativeElement.classList.add("mat-mdc-dialog-component-host"),i}static#e=this.\u0275fac=function(i){return new(i||t)(C(Ne),C(YT),C(Ve,8),C($y),C(kv),C(de),C(yf),C(Wn,8),C(hf))};static#t=this.\u0275cmp=mt({type:t,selectors:[["mat-dialog-container"]],hostAttrs:["tabindex","-1",1,"mat-mdc-dialog-container","mdc-dialog"],hostVars:10,hostBindings:function(i,r){2&i&&(nr("id",r._config.id),Xe("aria-modal",r._config.ariaModal)("role",r._config.role)("aria-labelledby",r._config.ariaLabel?null:r._ariaLabelledByQueue[0])("aria-label",r._config.ariaLabel)("aria-describedby",r._config.ariaDescribedBy||null),st("_mat-animation-noopable",!r._animationsEnabled)("mat-mdc-dialog-container-with-actions",r._actionSectionCount>0))},standalone:!0,features:[ke,Gt],decls:3,vars:0,consts:[[1,"mdc-dialog__container"],[1,"mat-mdc-dialog-surface","mdc-dialog__surface"],["cdkPortalOutlet",""]],template:function(i,r){1&i&&(U(0,"div",0)(1,"div",1),we(2,BQ,0,0,"ng-template",2),W()())},dependencies:[Wl],styles:['.mdc-elevation-overlay{position:absolute;border-radius:inherit;pointer-events:none;opacity:var(--mdc-elevation-overlay-opacity, 0);transition:opacity 280ms cubic-bezier(0.4, 0, 0.2, 1)}.mdc-dialog,.mdc-dialog__scrim{position:fixed;top:0;left:0;align-items:center;justify-content:center;box-sizing:border-box;width:100%;height:100%}.mdc-dialog{display:none;z-index:var(--mdc-dialog-z-index, 7)}.mdc-dialog .mdc-dialog__content{padding:20px 24px 20px 24px}.mdc-dialog .mdc-dialog__surface{min-width:280px}@media(max-width: 592px){.mdc-dialog .mdc-dialog__surface{max-width:calc(100vw - 32px)}}@media(min-width: 592px){.mdc-dialog .mdc-dialog__surface{max-width:560px}}.mdc-dialog .mdc-dialog__surface{max-height:calc(100% - 32px)}.mdc-dialog.mdc-dialog--fullscreen .mdc-dialog__surface{max-width:none}@media(max-width: 960px){.mdc-dialog.mdc-dialog--fullscreen .mdc-dialog__surface{max-height:560px;width:560px}.mdc-dialog.mdc-dialog--fullscreen .mdc-dialog__surface .mdc-dialog__close{right:-12px}}@media(max-width: 720px)and (max-width: 672px){.mdc-dialog.mdc-dialog--fullscreen .mdc-dialog__surface{width:calc(100vw - 112px)}}@media(max-width: 720px)and (min-width: 672px){.mdc-dialog.mdc-dialog--fullscreen .mdc-dialog__surface{width:560px}}@media(max-width: 720px)and (max-height: 720px){.mdc-dialog.mdc-dialog--fullscreen .mdc-dialog__surface{max-height:calc(100vh - 160px)}}@media(max-width: 720px)and (min-height: 720px){.mdc-dialog.mdc-dialog--fullscreen .mdc-dialog__surface{max-height:560px}}@media(max-width: 720px){.mdc-dialog.mdc-dialog--fullscreen .mdc-dialog__surface .mdc-dialog__close{right:-12px}}@media(max-width: 720px)and (max-height: 400px),(max-width: 600px),(min-width: 720px)and (max-height: 400px){.mdc-dialog.mdc-dialog--fullscreen .mdc-dialog__surface{height:100%;max-height:100vh;max-width:100vw;width:100vw;border-radius:0}.mdc-dialog.mdc-dialog--fullscreen .mdc-dialog__surface .mdc-dialog__close{order:-1;left:-12px}.mdc-dialog.mdc-dialog--fullscreen .mdc-dialog__surface .mdc-dialog__header{padding:0 16px 9px;justify-content:flex-start}.mdc-dialog.mdc-dialog--fullscreen .mdc-dialog__surface .mdc-dialog__title{margin-left:calc(16px - 2 * 12px)}}@media(min-width: 960px){.mdc-dialog.mdc-dialog--fullscreen .mdc-dialog__surface{width:calc(100vw - 400px)}.mdc-dialog.mdc-dialog--fullscreen .mdc-dialog__surface .mdc-dialog__close{right:-12px}}.mdc-dialog.mdc-dialog__scrim--hidden .mdc-dialog__scrim{opacity:0}.mdc-dialog__scrim{opacity:0;z-index:-1}.mdc-dialog__container{display:flex;flex-direction:row;align-items:center;justify-content:space-around;box-sizing:border-box;height:100%;opacity:0;pointer-events:none}.mdc-dialog__surface{position:relative;display:flex;flex-direction:column;flex-grow:0;flex-shrink:0;box-sizing:border-box;max-width:100%;max-height:100%;pointer-events:auto;overflow-y:auto;outline:0;transform:scale(0.8)}.mdc-dialog__surface .mdc-elevation-overlay{width:100%;height:100%;top:0;left:0}[dir=rtl] .mdc-dialog__surface,.mdc-dialog__surface[dir=rtl]{text-align:right}@media screen and (forced-colors: active),(-ms-high-contrast: active){.mdc-dialog__surface{outline:2px solid windowText}}.mdc-dialog__surface::before{position:absolute;box-sizing:border-box;width:100%;height:100%;top:0;left:0;border:2px solid rgba(0,0,0,0);border-radius:inherit;content:"";pointer-events:none}@media screen and (forced-colors: active){.mdc-dialog__surface::before{border-color:CanvasText}}@media screen and (-ms-high-contrast: active),screen and (-ms-high-contrast: none){.mdc-dialog__surface::before{content:none}}.mdc-dialog__title{display:block;margin-top:0;position:relative;flex-shrink:0;box-sizing:border-box;margin:0 0 1px;padding:0 24px 9px}.mdc-dialog__title::before{display:inline-block;width:0;height:40px;content:"";vertical-align:0}[dir=rtl] .mdc-dialog__title,.mdc-dialog__title[dir=rtl]{text-align:right}.mdc-dialog--scrollable .mdc-dialog__title{margin-bottom:1px;padding-bottom:15px}.mdc-dialog--fullscreen .mdc-dialog__header{align-items:baseline;border-bottom:1px solid rgba(0,0,0,0);display:inline-flex;justify-content:space-between;padding:0 24px 9px;z-index:1}@media screen and (forced-colors: active){.mdc-dialog--fullscreen .mdc-dialog__header{border-bottom-color:CanvasText}}.mdc-dialog--fullscreen .mdc-dialog__header .mdc-dialog__close{right:-12px}.mdc-dialog--fullscreen .mdc-dialog__title{margin-bottom:0;padding:0;border-bottom:0}.mdc-dialog--fullscreen.mdc-dialog--scrollable .mdc-dialog__title{border-bottom:0;margin-bottom:0}.mdc-dialog--fullscreen .mdc-dialog__close{top:5px}.mdc-dialog--fullscreen.mdc-dialog--scrollable .mdc-dialog__actions{border-top:1px solid rgba(0,0,0,0)}@media screen and (forced-colors: active){.mdc-dialog--fullscreen.mdc-dialog--scrollable .mdc-dialog__actions{border-top-color:CanvasText}}.mdc-dialog--fullscreen--titleless .mdc-dialog__close{margin-top:4px}.mdc-dialog--fullscreen--titleless.mdc-dialog--scrollable .mdc-dialog__close{margin-top:0}.mdc-dialog__content{flex-grow:1;box-sizing:border-box;margin:0;overflow:auto}.mdc-dialog__content>:first-child{margin-top:0}.mdc-dialog__content>:last-child{margin-bottom:0}.mdc-dialog__title+.mdc-dialog__content,.mdc-dialog__header+.mdc-dialog__content{padding-top:0}.mdc-dialog--scrollable .mdc-dialog__title+.mdc-dialog__content{padding-top:8px;padding-bottom:8px}.mdc-dialog__content .mdc-deprecated-list:first-child:last-child{padding:6px 0 0}.mdc-dialog--scrollable .mdc-dialog__content .mdc-deprecated-list:first-child:last-child{padding:0}.mdc-dialog__actions{display:flex;position:relative;flex-shrink:0;flex-wrap:wrap;align-items:center;justify-content:flex-end;box-sizing:border-box;min-height:52px;margin:0;padding:8px;border-top:1px solid rgba(0,0,0,0)}@media screen and (forced-colors: active){.mdc-dialog__actions{border-top-color:CanvasText}}.mdc-dialog--stacked .mdc-dialog__actions{flex-direction:column;align-items:flex-end}.mdc-dialog__button{margin-left:8px;margin-right:0;max-width:100%;text-align:right}[dir=rtl] .mdc-dialog__button,.mdc-dialog__button[dir=rtl]{margin-left:0;margin-right:8px}.mdc-dialog__button:first-child{margin-left:0;margin-right:0}[dir=rtl] .mdc-dialog__button:first-child,.mdc-dialog__button:first-child[dir=rtl]{margin-left:0;margin-right:0}[dir=rtl] .mdc-dialog__button,.mdc-dialog__button[dir=rtl]{text-align:left}.mdc-dialog--stacked .mdc-dialog__button:not(:first-child){margin-top:12px}.mdc-dialog--open,.mdc-dialog--opening,.mdc-dialog--closing{display:flex}.mdc-dialog--opening .mdc-dialog__scrim{transition:opacity 150ms linear}.mdc-dialog--opening .mdc-dialog__container{transition:opacity 75ms linear,transform 150ms 0ms cubic-bezier(0, 0, 0.2, 1)}.mdc-dialog--closing .mdc-dialog__scrim,.mdc-dialog--closing .mdc-dialog__container{transition:opacity 75ms linear}.mdc-dialog--closing .mdc-dialog__container{transform:none}.mdc-dialog--closing .mdc-dialog__surface{transform:none}.mdc-dialog--open .mdc-dialog__scrim{opacity:1}.mdc-dialog--open .mdc-dialog__container{opacity:1}.mdc-dialog--open .mdc-dialog__surface{transform:none}.mdc-dialog--open.mdc-dialog__surface-scrim--shown .mdc-dialog__surface-scrim{opacity:1}.mdc-dialog--open.mdc-dialog__surface-scrim--hiding .mdc-dialog__surface-scrim{transition:opacity 75ms linear}.mdc-dialog--open.mdc-dialog__surface-scrim--showing .mdc-dialog__surface-scrim{transition:opacity 150ms linear}.mdc-dialog__surface-scrim{display:none;opacity:0;position:absolute;width:100%;height:100%;z-index:1}.mdc-dialog__surface-scrim--shown .mdc-dialog__surface-scrim,.mdc-dialog__surface-scrim--showing .mdc-dialog__surface-scrim,.mdc-dialog__surface-scrim--hiding .mdc-dialog__surface-scrim{display:block}.mdc-dialog-scroll-lock{overflow:hidden}.mdc-dialog--no-content-padding .mdc-dialog__content{padding:0}.mdc-dialog--sheet .mdc-dialog__container .mdc-dialog__close{right:12px;top:9px;position:absolute;z-index:1}.mdc-dialog__scrim--removed{pointer-events:none}.mdc-dialog__scrim--removed .mdc-dialog__scrim,.mdc-dialog__scrim--removed .mdc-dialog__surface-scrim{display:none}.mat-mdc-dialog-content{max-height:65vh}.mat-mdc-dialog-container{position:static;display:block}.mat-mdc-dialog-container,.mat-mdc-dialog-container .mdc-dialog__container,.mat-mdc-dialog-container .mdc-dialog__surface{max-height:inherit;min-height:inherit;min-width:inherit;max-width:inherit}.mat-mdc-dialog-container .mdc-dialog__surface{width:100%;height:100%}.mat-mdc-dialog-component-host{display:contents}.mat-mdc-dialog-container{--mdc-dialog-container-elevation: var(--mdc-dialog-container-elevation-shadow);outline:0}.mat-mdc-dialog-container .mdc-dialog__surface{background-color:var(--mdc-dialog-container-color, white)}.mat-mdc-dialog-container .mdc-dialog__surface{box-shadow:var(--mdc-dialog-container-elevation, 0px 11px 15px -7px rgba(0, 0, 0, 0.2), 0px 24px 38px 3px rgba(0, 0, 0, 0.14), 0px 9px 46px 8px rgba(0, 0, 0, 0.12))}.mat-mdc-dialog-container .mdc-dialog__surface{border-radius:var(--mdc-dialog-container-shape, 4px)}.mat-mdc-dialog-container .mdc-dialog__title{font-family:var(--mdc-dialog-subhead-font, Roboto, sans-serif);line-height:var(--mdc-dialog-subhead-line-height, 1.5rem);font-size:var(--mdc-dialog-subhead-size, 1rem);font-weight:var(--mdc-dialog-subhead-weight, 400);letter-spacing:var(--mdc-dialog-subhead-tracking, 0.03125em)}.mat-mdc-dialog-container .mdc-dialog__title{color:var(--mdc-dialog-subhead-color, rgba(0, 0, 0, 0.87))}.mat-mdc-dialog-container .mdc-dialog__content{font-family:var(--mdc-dialog-supporting-text-font, Roboto, sans-serif);line-height:var(--mdc-dialog-supporting-text-line-height, 1.5rem);font-size:var(--mdc-dialog-supporting-text-size, 1rem);font-weight:var(--mdc-dialog-supporting-text-weight, 400);letter-spacing:var(--mdc-dialog-supporting-text-tracking, 0.03125em)}.mat-mdc-dialog-container .mdc-dialog__content{color:var(--mdc-dialog-supporting-text-color, rgba(0, 0, 0, 0.6))}.mat-mdc-dialog-container .mdc-dialog__container{transition:opacity linear var(--mat-dialog-transition-duration, 0ms)}.mat-mdc-dialog-container .mdc-dialog__surface{transition:transform var(--mat-dialog-transition-duration, 0ms) 0ms cubic-bezier(0, 0, 0.2, 1)}.mat-mdc-dialog-container._mat-animation-noopable .mdc-dialog__container,.mat-mdc-dialog-container._mat-animation-noopable .mdc-dialog__surface{transition:none}.cdk-overlay-pane.mat-mdc-dialog-panel{max-width:var(--mat-dialog-container-max-width, 80vw);min-width:var(--mat-dialog-container-min-width, 0)}@media(max-width: 599px){.cdk-overlay-pane.mat-mdc-dialog-panel{max-width:var(--mat-dialog-container-small-max-width, 80vw)}}.mat-mdc-dialog-title{padding:var(--mat-dialog-headline-padding, 0 24px 9px)}.mat-mdc-dialog-content{display:block}.mat-mdc-dialog-container .mat-mdc-dialog-content{padding:var(--mat-dialog-content-padding, 20px 24px)}.mat-mdc-dialog-container-with-actions .mat-mdc-dialog-content{padding:var(--mat-dialog-with-actions-content-padding, 20px 24px)}.mat-mdc-dialog-container .mat-mdc-dialog-title+.mat-mdc-dialog-content{padding-top:0}.mat-mdc-dialog-actions{padding:var(--mat-dialog-actions-padding, 8px);justify-content:var(--mat-dialog-actions-alignment, start)}.mat-mdc-dialog-actions.mat-mdc-dialog-actions-align-start,.mat-mdc-dialog-actions[align=start]{justify-content:start}.mat-mdc-dialog-actions.mat-mdc-dialog-actions-align-center,.mat-mdc-dialog-actions[align=center]{justify-content:center}.mat-mdc-dialog-actions.mat-mdc-dialog-actions-align-end,.mat-mdc-dialog-actions[align=end]{justify-content:flex-end}.mat-mdc-dialog-actions .mat-button-base+.mat-button-base,.mat-mdc-dialog-actions .mat-mdc-button-base+.mat-mdc-button-base{margin-left:8px}[dir=rtl] .mat-mdc-dialog-actions .mat-button-base+.mat-button-base,[dir=rtl] .mat-mdc-dialog-actions .mat-mdc-button-base+.mat-mdc-button-base{margin-left:0;margin-right:8px}'],encapsulation:2})}return t})();const YR="--mat-dialog-transition-duration";function QR(t){return null==t?null:"number"==typeof t?t:t.endsWith("ms")?OT(t.substring(0,t.length-2)):t.endsWith("s")?1e3*OT(t.substring(0,t.length-1)):"0"===t?0:null}var Zf=function(t){return t[t.OPEN=0]="OPEN",t[t.CLOSING=1]="CLOSING",t[t.CLOSED=2]="CLOSED",t}(Zf||{});class Kf{constructor(n,e,i){this._ref=n,this._containerInstance=i,this._afterOpened=new ue,this._beforeClosed=new ue,this._state=Zf.OPEN,this.disableClose=e.disableClose,this.id=n.id,n.addPanelClass("mat-mdc-dialog-panel"),i._animationStateChanged.pipe($e(r=>"opened"===r.state),Rt(1)).subscribe(()=>{this._afterOpened.next(),this._afterOpened.complete()}),i._animationStateChanged.pipe($e(r=>"closed"===r.state),Rt(1)).subscribe(()=>{clearTimeout(this._closeFallbackTimeout),this._finishDialogClose()}),n.overlayRef.detachments().subscribe(()=>{this._beforeClosed.next(this._result),this._beforeClosed.complete(),this._finishDialogClose()}),wi(this.backdropClick(),this.keydownEvents().pipe($e(r=>27===r.keyCode&&!this.disableClose&&!ss(r)))).subscribe(r=>{this.disableClose||(r.preventDefault(),ZR(this,"keydown"===r.type?"keyboard":"mouse"))})}close(n){this._result=n,this._containerInstance._animationStateChanged.pipe($e(e=>"closing"===e.state),Rt(1)).subscribe(e=>{this._beforeClosed.next(n),this._beforeClosed.complete(),this._ref.overlayRef.detachBackdrop(),this._closeFallbackTimeout=setTimeout(()=>this._finishDialogClose(),e.totalTime+100)}),this._state=Zf.CLOSING,this._containerInstance._startExitAnimation()}afterOpened(){return this._afterOpened}afterClosed(){return this._ref.closed}beforeClosed(){return this._beforeClosed}backdropClick(){return this._ref.backdropClick}keydownEvents(){return this._ref.keydownEvents}updatePosition(n){let e=this._ref.config.positionStrategy;return n&&(n.left||n.right)?n.left?e.left(n.left):e.right(n.right):e.centerHorizontally(),n&&(n.top||n.bottom)?n.top?e.top(n.top):e.bottom(n.bottom):e.centerVertically(),this._ref.updatePosition(),this}updateSize(n="",e=""){return this._ref.updateSize(n,e),this}addPanelClass(n){return this._ref.addPanelClass(n),this}removePanelClass(n){return this._ref.removePanelClass(n),this}getState(){return this._state}_finishDialogClose(){this._state=Zf.CLOSED,this._ref.close(this._result,{focusOrigin:this._closeInteractionType}),this.componentInstance=null}}function ZR(t,n,e){return t._closeInteractionType=n,t.close(e)}const jQ=new j("MatMdcDialogData"),UQ=new j("mat-mdc-dialog-default-options"),KR=new j("mat-mdc-dialog-scroll-strategy",{providedIn:"root",factory:()=>{const t=ne(Qn);return()=>t.scrollStrategies.block()}});let GQ=0,Jf=(()=>{class t{get openDialogs(){return this._parentDialog?this._parentDialog.openDialogs:this._openDialogsAtThisLevel}get afterOpened(){return this._parentDialog?this._parentDialog.afterOpened:this._afterOpenedAtThisLevel}_getAfterAllClosed(){const e=this._parentDialog;return e?e._getAfterAllClosed():this._afterAllClosedAtThisLevel}constructor(e,i,r,o,s,a,c,l){this._overlay=e,this._defaultOptions=o,this._scrollStrategy=s,this._parentDialog=a,this._openDialogsAtThisLevel=[],this._afterAllClosedAtThisLevel=new ue,this._afterOpenedAtThisLevel=new ue,this.dialogConfigClass=$y,this.afterAllClosed=td(()=>this.openDialogs.length?this._getAfterAllClosed():this._getAfterAllClosed().pipe(dn(void 0))),this._dialog=i.get($R),this._dialogRefConstructor=Kf,this._dialogContainerType=qR,this._dialogDataToken=jQ}open(e,i){let r;(i={...this._defaultOptions||new $y,...i}).id=i.id||"mat-mdc-dialog-"+GQ++,i.scrollStrategy=i.scrollStrategy||this._scrollStrategy();const o=this._dialog.open(e,{...i,positionStrategy:this._overlay.position().global().centerHorizontally().centerVertically(),disableClose:!0,closeOnDestroy:!1,closeOnOverlayDetachments:!1,container:{type:this._dialogContainerType,providers:()=>[{provide:this.dialogConfigClass,useValue:i},{provide:Qf,useValue:i}]},templateContext:()=>({dialogRef:r}),providers:(s,a,c)=>(r=new this._dialogRefConstructor(s,i,c),r.updatePosition(i?.position),[{provide:this._dialogContainerType,useValue:c},{provide:this._dialogDataToken,useValue:a.data},{provide:this._dialogRefConstructor,useValue:r}])});return r.componentRef=o.componentRef,r.componentInstance=o.componentInstance,this.openDialogs.push(r),this.afterOpened.next(r),r.afterClosed().subscribe(()=>{const s=this.openDialogs.indexOf(r);s>-1&&(this.openDialogs.splice(s,1),this.openDialogs.length||this._getAfterAllClosed().next())}),r}closeAll(){this._closeDialogs(this.openDialogs)}getDialogById(e){return this.openDialogs.find(i=>i.id===e)}ngOnDestroy(){this._closeDialogs(this._openDialogsAtThisLevel),this._afterAllClosedAtThisLevel.complete(),this._afterOpenedAtThisLevel.complete()}_closeDialogs(e){let i=e.length;for(;i--;)e[i].close()}static#e=this.\u0275fac=function(i){return new(i||t)(R(Qn),R(kt),R(Db,8),R(UQ,8),R(KR),R(t,12),R(vf),R(Wn,8))};static#t=this.\u0275prov=q({token:t,factory:t.\u0275fac,providedIn:"root"})}return t})(),$Q=0,JR=(()=>{class t{constructor(e,i,r){this.dialogRef=e,this._elementRef=i,this._dialog=r,this.type="button"}ngOnInit(){this.dialogRef||(this.dialogRef=rF(this._elementRef,this._dialog.openDialogs))}ngOnChanges(e){const i=e._matDialogClose||e._matDialogCloseResult;i&&(this.dialogResult=i.currentValue)}_onButtonClick(e){ZR(this.dialogRef,0===e.screenX&&0===e.screenY?"keyboard":"mouse",this.dialogResult)}static#e=this.\u0275fac=function(i){return new(i||t)(C(Kf,8),C(Ne),C(Jf))};static#t=this.\u0275dir=J({type:t,selectors:[["","mat-dialog-close",""],["","matDialogClose",""]],hostVars:2,hostBindings:function(i,r){1&i&&Ue("click",function(s){return r._onButtonClick(s)}),2&i&&Xe("aria-label",r.ariaLabel||null)("type",r.type)},inputs:{ariaLabel:[X.None,"aria-label","ariaLabel"],type:"type",dialogResult:[X.None,"mat-dialog-close","dialogResult"],_matDialogClose:[X.None,"matDialogClose","_matDialogClose"]},exportAs:["matDialogClose"],standalone:!0,features:[Sn]})}return t})(),eF=(()=>{class t{constructor(e,i,r){this._dialogRef=e,this._elementRef=i,this._dialog=r}ngOnInit(){this._dialogRef||(this._dialogRef=rF(this._elementRef,this._dialog.openDialogs)),this._dialogRef&&Promise.resolve().then(()=>{this._onAdd()})}ngOnDestroy(){this._dialogRef?._containerInstance&&Promise.resolve().then(()=>{this._onRemove()})}static#e=this.\u0275fac=function(i){return new(i||t)(C(Kf,8),C(Ne),C(Jf))};static#t=this.\u0275dir=J({type:t,standalone:!0})}return t})(),tF=(()=>{class t extends eF{constructor(){super(...arguments),this.id="mat-mdc-dialog-title-"+$Q++}_onAdd(){this._dialogRef._containerInstance?._addAriaLabelledBy?.(this.id)}_onRemove(){this._dialogRef?._containerInstance?._removeAriaLabelledBy?.(this.id)}static#e=this.\u0275fac=(()=>{let e;return function(r){return(e||(e=Xt(t)))(r||t)}})();static#t=this.\u0275dir=J({type:t,selectors:[["","mat-dialog-title",""],["","matDialogTitle",""]],hostAttrs:[1,"mat-mdc-dialog-title","mdc-dialog__title"],hostVars:1,hostBindings:function(i,r){2&i&&nr("id",r.id)},inputs:{id:"id"},exportAs:["matDialogTitle"],standalone:!0,features:[ke]})}return t})(),nF=(()=>{class t{static#e=this.\u0275fac=function(i){return new(i||t)};static#t=this.\u0275dir=J({type:t,selectors:[["","mat-dialog-content",""],["mat-dialog-content"],["","matDialogContent",""]],hostAttrs:[1,"mat-mdc-dialog-content","mdc-dialog__content"],standalone:!0})}return t})(),iF=(()=>{class t extends eF{_onAdd(){this._dialogRef._containerInstance?._updateActionSectionCount?.(1)}_onRemove(){this._dialogRef._containerInstance?._updateActionSectionCount?.(-1)}static#e=this.\u0275fac=(()=>{let e;return function(r){return(e||(e=Xt(t)))(r||t)}})();static#t=this.\u0275dir=J({type:t,selectors:[["","mat-dialog-actions",""],["mat-dialog-actions"],["","matDialogActions",""]],hostAttrs:[1,"mat-mdc-dialog-actions","mdc-dialog__actions"],hostVars:6,hostBindings:function(i,r){2&i&&st("mat-mdc-dialog-actions-align-start","start"===r.align)("mat-mdc-dialog-actions-align-center","center"===r.align)("mat-mdc-dialog-actions-align-end","end"===r.align)},inputs:{align:"align"},standalone:!0,features:[ke]})}return t})();function rF(t,n){let e=t.nativeElement.parentElement;for(;e&&!e.classList.contains("mat-mdc-dialog-container");)e=e.parentElement;return e?n.find(i=>i.id===e.id):null}let oF=(()=>{class t{static#e=this.\u0275fac=function(i){return new(i||t)};static#t=this.\u0275mod=Oe({type:t});static#n=this.\u0275inj=Re({providers:[Jf],imports:[LQ,Af,Xl,_t,_t]})}return t})();class em extends ue{constructor(n=1/0,e=1/0,i=wv){super(),this._bufferSize=n,this._windowTime=e,this._timestampProvider=i,this._buffer=[],this._infiniteTimeWindow=!0,this._infiniteTimeWindow=e===1/0,this._bufferSize=Math.max(1,n),this._windowTime=Math.max(1,e)}next(n){const{isStopped:e,_buffer:i,_infiniteTimeWindow:r,_timestampProvider:o,_windowTime:s}=this;e||(i.push(n),!r&&i.push(o.now()+s)),this._trimBuffer(),super.next(n)}_subscribe(n){this._throwIfClosed(),this._trimBuffer();const e=this._innerSubscribe(n),{_infiniteTimeWindow:i,_buffer:r}=this,o=r.slice();for(let s=0;snew ue),resetOnError:e=!0,resetOnComplete:i=!0,resetOnRefCountZero:r=!0}=t;return o=>{let s,a,c,l=0,d=!1,u=!1;const h=()=>{a?.unsubscribe(),a=void 0},f=()=>{h(),s=c=void 0,d=u=!1},p=()=>{const g=s;f(),g?.unsubscribe()};return Ot((g,_)=>{l++,!u&&!d&&h();const x=c=c??n();_.add(()=>{l--,0===l&&!u&&!d&&(a=Xy(p,r))}),x.subscribe(_),!s&&l>0&&(s=new pc({next:y=>x.next(y),error:y=>{u=!0,h(),a=Xy(f,e,y),x.error(y)},complete:()=>{d=!0,h(),a=Xy(f,i),x.complete()}}),Zt(g).subscribe(s))})(o)}}function Xy(t,n,...e){if(!0===n)return void t();if(!1===n)return;const i=new pc({next:()=>{i.unsubscribe(),t()}});return Zt(n(...e)).subscribe(i)}function Pr(t,n,e){let i,r=!1;return t&&"object"==typeof t?({bufferSize:i=1/0,windowTime:n=1/0,refCount:r=!1,scheduler:e}=t):i=t??1/0,aF({connector:()=>new em(i,n,e),resetOnError:!0,resetOnComplete:!1,resetOnRefCountZero:r})}class WQ{constructor(n){this._box=n,this._destroyed=new ue,this._resizeSubject=new ue,this._elementObservables=new Map,typeof ResizeObserver<"u"&&(this._resizeObserver=new ResizeObserver(e=>this._resizeSubject.next(e)))}observe(n){return this._elementObservables.has(n)||this._elementObservables.set(n,new ht(e=>{const i=this._resizeSubject.subscribe(e);return this._resizeObserver?.observe(n,{box:this._box}),()=>{this._resizeObserver?.unobserve(n),i.unsubscribe(),this._elementObservables.delete(n)}}).pipe($e(e=>e.some(i=>i.target===n)),Pr({bufferSize:1,refCount:!0}),Tn(this._destroyed))),this._elementObservables.get(n)}destroy(){this._destroyed.next(),this._destroyed.complete(),this._resizeSubject.complete(),this._elementObservables.clear()}}let XQ=(()=>{class t{constructor(){this._observers=new Map,this._ngZone=ne(de)}ngOnDestroy(){for(const[,e]of this._observers)e.destroy();this._observers.clear()}observe(e,i){const r=i?.box||"content-box";return this._observers.has(r)||this._observers.set(r,new WQ(r)),this._observers.get(r).observe(e)}static#e=this.\u0275fac=function(i){return new(i||t)};static#t=this.\u0275prov=q({token:t,factory:t.\u0275fac,providedIn:"root"})}return t})();const qQ=["notch"],YQ=["matFormFieldNotchedOutline",""],QQ=["*"],ZQ=["textField"],KQ=["iconPrefixContainer"],JQ=["textPrefixContainer"],eZ=["*",[["mat-label"]],[["","matPrefix",""],["","matIconPrefix",""]],[["","matTextPrefix",""]],[["","matTextSuffix",""]],[["","matSuffix",""],["","matIconSuffix",""]],[["mat-error"],["","matError",""]],[["mat-hint",3,"align","end"]],[["mat-hint","align","end"]]],tZ=["*","mat-label","[matPrefix], [matIconPrefix]","[matTextPrefix]","[matTextSuffix]","[matSuffix], [matIconSuffix]","mat-error, [matError]","mat-hint:not([align='end'])","mat-hint[align='end']"];function nZ(t,n){1&t&&Ie(0,"span",17)}function iZ(t,n){if(1&t&&(U(0,"label",16),qe(1,1),we(2,nZ,1,0,"span",17),W()),2&t){const e=pt(2);se("floating",e._shouldLabelFloat())("monitorResize",e._hasOutline())("id",e._labelId),Xe("for",e._control.id),K(2),zt(2,!e.hideRequiredMarker&&e._control.required?2:-1)}}function rZ(t,n){1&t&&we(0,iZ,3,5,"label",16),2&t&&zt(0,pt()._hasFloatingLabel()?0:-1)}function oZ(t,n){1&t&&Ie(0,"div",5)}function sZ(t,n){}function aZ(t,n){1&t&&we(0,sZ,0,0,"ng-template",11),2&t&&(pt(2),se("ngTemplateOutlet",Jo(1)))}function cZ(t,n){if(1&t&&(U(0,"div",7),we(1,aZ,1,1,null,11),W()),2&t){const e=pt();se("matFormFieldNotchedOutlineOpen",e._shouldLabelFloat()),K(),zt(1,e._forceDisplayInfixLabel()?-1:1)}}function lZ(t,n){1&t&&(U(0,"div",8,2),qe(2,2),W())}function dZ(t,n){1&t&&(U(0,"div",9,3),qe(2,3),W())}function uZ(t,n){}function hZ(t,n){1&t&&we(0,uZ,0,0,"ng-template",11),2&t&&(pt(),se("ngTemplateOutlet",Jo(1)))}function fZ(t,n){1&t&&(U(0,"div",12),qe(1,4),W())}function mZ(t,n){1&t&&(U(0,"div",13),qe(1,5),W())}function pZ(t,n){1&t&&Ie(0,"div",14)}function gZ(t,n){1&t&&(U(0,"div",18),qe(1,6),W()),2&t&&se("@transitionMessages",pt()._subscriptAnimationState)}function _Z(t,n){if(1&t&&(U(0,"mat-hint",20),ve(1),W()),2&t){const e=pt(2);se("id",e._hintLabelId),K(),Li(e.hintLabel)}}function bZ(t,n){if(1&t&&(U(0,"div",19),we(1,_Z,2,2,"mat-hint",20),qe(2,7),Ie(3,"div",21),qe(4,8),W()),2&t){const e=pt();se("@transitionMessages",e._subscriptAnimationState),K(),zt(1,e.hintLabel?1:-1)}}let qy=(()=>{class t{static#e=this.\u0275fac=function(i){return new(i||t)};static#t=this.\u0275dir=J({type:t,selectors:[["mat-label"]],standalone:!0})}return t})(),vZ=0;const cF=new j("MatError");let yZ=(()=>{class t{constructor(e,i){this.id="mat-mdc-error-"+vZ++,e||i.nativeElement.setAttribute("aria-live","polite")}static#e=this.\u0275fac=function(i){return new(i||t)(vr("aria-live"),C(Ne))};static#t=this.\u0275dir=J({type:t,selectors:[["mat-error"],["","matError",""]],hostAttrs:["aria-atomic","true",1,"mat-mdc-form-field-error","mat-mdc-form-field-bottom-align"],hostVars:1,hostBindings:function(i,r){2&i&&nr("id",r.id)},inputs:{id:"id"},standalone:!0,features:[Ye([{provide:cF,useExisting:t}])]})}return t})(),AZ=0,lF=(()=>{class t{constructor(){this.align="start",this.id="mat-mdc-hint-"+AZ++}static#e=this.\u0275fac=function(i){return new(i||t)};static#t=this.\u0275dir=J({type:t,selectors:[["mat-hint"]],hostAttrs:[1,"mat-mdc-form-field-hint","mat-mdc-form-field-bottom-align"],hostVars:4,hostBindings:function(i,r){2&i&&(nr("id",r.id),Xe("align",null),st("mat-mdc-form-field-hint-end","end"===r.align))},inputs:{align:"align",id:"id"},standalone:!0})}return t})();const xZ=new j("MatPrefix"),EZ=new j("MatSuffix"),dF=new j("FloatingLabelParent");let uF=(()=>{class t{get floating(){return this._floating}set floating(e){this._floating=e,this.monitorResize&&this._handleResize()}get monitorResize(){return this._monitorResize}set monitorResize(e){this._monitorResize=e,this._monitorResize?this._subscribeToResize():this._resizeSubscription.unsubscribe()}constructor(e){this._elementRef=e,this._floating=!1,this._monitorResize=!1,this._resizeObserver=ne(XQ),this._ngZone=ne(de),this._parent=ne(dF),this._resizeSubscription=new Et}ngOnDestroy(){this._resizeSubscription.unsubscribe()}getWidth(){return function wZ(t){if(null!==t.offsetParent)return t.scrollWidth;const e=t.cloneNode(!0);e.style.setProperty("position","absolute"),e.style.setProperty("transform","translate(-9999px, -9999px)"),document.documentElement.appendChild(e);const i=e.scrollWidth;return e.remove(),i}(this._elementRef.nativeElement)}get element(){return this._elementRef.nativeElement}_handleResize(){setTimeout(()=>this._parent._handleLabelResized())}_subscribeToResize(){this._resizeSubscription.unsubscribe(),this._ngZone.runOutsideAngular(()=>{this._resizeSubscription=this._resizeObserver.observe(this._elementRef.nativeElement,{box:"border-box"}).subscribe(()=>this._handleResize())})}static#e=this.\u0275fac=function(i){return new(i||t)(C(Ne))};static#t=this.\u0275dir=J({type:t,selectors:[["label","matFormFieldFloatingLabel",""]],hostAttrs:[1,"mdc-floating-label","mat-mdc-floating-label"],hostVars:2,hostBindings:function(i,r){2&i&&st("mdc-floating-label--float-above",r.floating)},inputs:{floating:"floating",monitorResize:"monitorResize"},standalone:!0})}return t})();const hF="mdc-line-ripple--active",tm="mdc-line-ripple--deactivating";let fF=(()=>{class t{constructor(e,i){this._elementRef=e,this._handleTransitionEnd=r=>{const o=this._elementRef.nativeElement.classList,s=o.contains(tm);"opacity"===r.propertyName&&s&&o.remove(hF,tm)},i.runOutsideAngular(()=>{e.nativeElement.addEventListener("transitionend",this._handleTransitionEnd)})}activate(){const e=this._elementRef.nativeElement.classList;e.remove(tm),e.add(hF)}deactivate(){this._elementRef.nativeElement.classList.add(tm)}ngOnDestroy(){this._elementRef.nativeElement.removeEventListener("transitionend",this._handleTransitionEnd)}static#e=this.\u0275fac=function(i){return new(i||t)(C(Ne),C(de))};static#t=this.\u0275dir=J({type:t,selectors:[["div","matFormFieldLineRipple",""]],hostAttrs:[1,"mdc-line-ripple"],standalone:!0})}return t})(),mF=(()=>{class t{constructor(e,i){this._elementRef=e,this._ngZone=i,this.open=!1}ngAfterViewInit(){const e=this._elementRef.nativeElement.querySelector(".mdc-floating-label");e?(this._elementRef.nativeElement.classList.add("mdc-notched-outline--upgraded"),"function"==typeof requestAnimationFrame&&(e.style.transitionDuration="0s",this._ngZone.runOutsideAngular(()=>{requestAnimationFrame(()=>e.style.transitionDuration="")}))):this._elementRef.nativeElement.classList.add("mdc-notched-outline--no-label")}_setNotchWidth(e){this._notch.nativeElement.style.width=this.open&&e?`calc(${e}px * var(--mat-mdc-form-field-floating-label-scale, 0.75) + 9px)`:""}static#e=this.\u0275fac=function(i){return new(i||t)(C(Ne),C(de))};static#t=this.\u0275cmp=mt({type:t,selectors:[["div","matFormFieldNotchedOutline",""]],viewQuery:function(i,r){if(1&i&&qt(qQ,5),2&i){let o;Ze(o=Ke())&&(r._notch=o.first)}},hostAttrs:[1,"mdc-notched-outline"],hostVars:2,hostBindings:function(i,r){2&i&&st("mdc-notched-outline--notched",r.open)},inputs:{open:[X.None,"matFormFieldNotchedOutlineOpen","open"]},standalone:!0,features:[Gt],attrs:YQ,ngContentSelectors:QQ,decls:5,vars:0,consts:[["notch",""],[1,"mdc-notched-outline__leading"],[1,"mdc-notched-outline__notch"],[1,"mdc-notched-outline__trailing"]],template:function(i,r){1&i&&(Mn(),Ie(0,"div",1),U(1,"div",2,0),qe(3),W(),Ie(4,"div",3))},encapsulation:2,changeDetection:0})}return t})();const SZ={transitionMessages:Wa("transitionMessages",[Fr("enter",vn({opacity:1,transform:"translateY(0%)"})),sr("void => enter",[vn({opacity:0,transform:"translateY(-5px)"}),Rr("300ms cubic-bezier(0.55, 0, 0.55, 0.2)")])])};let Yy=(()=>{class t{static#e=this.\u0275fac=function(i){return new(i||t)};static#t=this.\u0275dir=J({type:t})}return t})();const Qy=new j("MatFormField"),DZ=new j("MAT_FORM_FIELD_DEFAULT_OPTIONS");let pF=0,IZ=(()=>{class t{get hideRequiredMarker(){return this._hideRequiredMarker}set hideRequiredMarker(e){this._hideRequiredMarker=cf(e)}get floatLabel(){return this._floatLabel||this._defaults?.floatLabel||"auto"}set floatLabel(e){e!==this._floatLabel&&(this._floatLabel=e,this._changeDetectorRef.markForCheck())}get appearance(){return this._appearance}set appearance(e){const i=this._appearance;this._appearance=e||this._defaults?.appearance||"fill","outline"===this._appearance&&this._appearance!==i&&(this._needsOutlineLabelOffsetUpdateOnStable=!0)}get subscriptSizing(){return this._subscriptSizing||this._defaults?.subscriptSizing||"fixed"}set subscriptSizing(e){this._subscriptSizing=e||this._defaults?.subscriptSizing||"fixed"}get hintLabel(){return this._hintLabel}set hintLabel(e){this._hintLabel=e,this._processHints()}get _control(){return this._explicitFormFieldControl||this._formFieldControl}set _control(e){this._explicitFormFieldControl=e}constructor(e,i,r,o,s,a,c,l){this._elementRef=e,this._changeDetectorRef=i,this._ngZone=r,this._dir=o,this._platform=s,this._defaults=a,this._animationMode=c,this._hideRequiredMarker=!1,this.color="primary",this._appearance="fill",this._subscriptSizing=null,this._hintLabel="",this._hasIconPrefix=!1,this._hasTextPrefix=!1,this._hasIconSuffix=!1,this._hasTextSuffix=!1,this._labelId="mat-mdc-form-field-label-"+pF++,this._hintLabelId="mat-mdc-hint-"+pF++,this._subscriptAnimationState="",this._destroyed=new ue,this._isFocused=null,this._needsOutlineLabelOffsetUpdateOnStable=!1,a&&(a.appearance&&(this.appearance=a.appearance),this._hideRequiredMarker=!!a?.hideRequiredMarker,a.color&&(this.color=a.color))}ngAfterViewInit(){this._updateFocusState(),this._subscriptAnimationState="enter",this._changeDetectorRef.detectChanges()}ngAfterContentInit(){this._assertFormFieldControl(),this._initializeControl(),this._initializeSubscript(),this._initializePrefixAndSuffix(),this._initializeOutlineLabelOffsetSubscriptions()}ngAfterContentChecked(){this._assertFormFieldControl()}ngOnDestroy(){this._destroyed.next(),this._destroyed.complete()}getLabelId(){return this._hasFloatingLabel()?this._labelId:null}getConnectedOverlayOrigin(){return this._textField||this._elementRef}_animateAndLockLabel(){this._hasFloatingLabel()&&(this.floatLabel="always")}_initializeControl(){const e=this._control;e.controlType&&this._elementRef.nativeElement.classList.add(`mat-mdc-form-field-type-${e.controlType}`),e.stateChanges.subscribe(()=>{this._updateFocusState(),this._syncDescribedByIds(),this._changeDetectorRef.markForCheck()}),e.ngControl&&e.ngControl.valueChanges&&e.ngControl.valueChanges.pipe(Tn(this._destroyed)).subscribe(()=>this._changeDetectorRef.markForCheck())}_checkPrefixAndSuffixTypes(){this._hasIconPrefix=!!this._prefixChildren.find(e=>!e._isText),this._hasTextPrefix=!!this._prefixChildren.find(e=>e._isText),this._hasIconSuffix=!!this._suffixChildren.find(e=>!e._isText),this._hasTextSuffix=!!this._suffixChildren.find(e=>e._isText)}_initializePrefixAndSuffix(){this._checkPrefixAndSuffixTypes(),wi(this._prefixChildren.changes,this._suffixChildren.changes).subscribe(()=>{this._checkPrefixAndSuffixTypes(),this._changeDetectorRef.markForCheck()})}_initializeSubscript(){this._hintChildren.changes.subscribe(()=>{this._processHints(),this._changeDetectorRef.markForCheck()}),this._errorChildren.changes.subscribe(()=>{this._syncDescribedByIds(),this._changeDetectorRef.markForCheck()}),this._validateHints(),this._syncDescribedByIds()}_assertFormFieldControl(){}_updateFocusState(){this._control.focused&&!this._isFocused?(this._isFocused=!0,this._lineRipple?.activate()):!this._control.focused&&(this._isFocused||null===this._isFocused)&&(this._isFocused=!1,this._lineRipple?.deactivate()),this._textField?.nativeElement.classList.toggle("mdc-text-field--focused",this._control.focused)}_initializeOutlineLabelOffsetSubscriptions(){this._prefixChildren.changes.subscribe(()=>this._needsOutlineLabelOffsetUpdateOnStable=!0),this._ngZone.runOutsideAngular(()=>{this._ngZone.onStable.pipe(Tn(this._destroyed)).subscribe(()=>{this._needsOutlineLabelOffsetUpdateOnStable&&(this._needsOutlineLabelOffsetUpdateOnStable=!1,this._updateOutlineLabelOffset())})}),this._dir.change.pipe(Tn(this._destroyed)).subscribe(()=>this._needsOutlineLabelOffsetUpdateOnStable=!0)}_shouldAlwaysFloat(){return"always"===this.floatLabel}_hasOutline(){return"outline"===this.appearance}_forceDisplayInfixLabel(){return!this._platform.isBrowser&&this._prefixChildren.length&&!this._shouldLabelFloat()}_hasFloatingLabel(){return!!this._labelChildNonStatic||!!this._labelChildStatic}_shouldLabelFloat(){return this._control.shouldLabelFloat||this._shouldAlwaysFloat()}_shouldForward(e){const i=this._control?this._control.ngControl:null;return i&&i[e]}_getDisplayedMessages(){return this._errorChildren&&this._errorChildren.length>0&&this._control.errorState?"error":"hint"}_handleLabelResized(){this._refreshOutlineNotchWidth()}_refreshOutlineNotchWidth(){this._hasOutline()&&this._floatingLabel&&this._shouldLabelFloat()?this._notchedOutline?._setNotchWidth(this._floatingLabel.getWidth()):this._notchedOutline?._setNotchWidth(0)}_processHints(){this._validateHints(),this._syncDescribedByIds()}_validateHints(){}_syncDescribedByIds(){if(this._control){let e=[];if(this._control.userAriaDescribedBy&&"string"==typeof this._control.userAriaDescribedBy&&e.push(...this._control.userAriaDescribedBy.split(" ")),"hint"===this._getDisplayedMessages()){const i=this._hintChildren?this._hintChildren.find(o=>"start"===o.align):null,r=this._hintChildren?this._hintChildren.find(o=>"end"===o.align):null;i?e.push(i.id):this._hintLabel&&e.push(this._hintLabelId),r&&e.push(r.id)}else this._errorChildren&&e.push(...this._errorChildren.map(i=>i.id));this._control.setDescribedByIds(e)}}_updateOutlineLabelOffset(){if(!this._platform.isBrowser||!this._hasOutline()||!this._floatingLabel)return;const e=this._floatingLabel.element;if(!this._iconPrefixContainer&&!this._textPrefixContainer)return void(e.style.transform="");if(!this._isAttachedToDom())return void(this._needsOutlineLabelOffsetUpdateOnStable=!0);const i=this._iconPrefixContainer?.nativeElement,r=this._textPrefixContainer?.nativeElement,o=i?.getBoundingClientRect().width??0,s=r?.getBoundingClientRect().width??0;e.style.transform=`var(\n --mat-mdc-form-field-label-transform,\n translateY(-50%) translateX(calc(${"rtl"===this._dir.value?"-1":"1"} * (${o+s}px + var(--mat-mdc-form-field-label-offset-x, 0px))))\n )`}_isAttachedToDom(){const e=this._elementRef.nativeElement;if(e.getRootNode){const i=e.getRootNode();return i&&i!==e}return document.documentElement.contains(e)}static#e=this.\u0275fac=function(i){return new(i||t)(C(Ne),C(yi),C(de),C($a),C(Kt),C(DZ,8),C(Wn,8),C(Ve))};static#t=this.\u0275cmp=mt({type:t,selectors:[["mat-form-field"]],contentQueries:function(i,r,o){if(1&i&&(vi(o,qy,5),vi(o,qy,7),vi(o,Yy,5),vi(o,xZ,5),vi(o,EZ,5),vi(o,cF,5),vi(o,lF,5)),2&i){let s;Ze(s=Ke())&&(r._labelChildNonStatic=s.first),Ze(s=Ke())&&(r._labelChildStatic=s.first),Ze(s=Ke())&&(r._formFieldControl=s.first),Ze(s=Ke())&&(r._prefixChildren=s),Ze(s=Ke())&&(r._suffixChildren=s),Ze(s=Ke())&&(r._errorChildren=s),Ze(s=Ke())&&(r._hintChildren=s)}},viewQuery:function(i,r){if(1&i&&(qt(ZQ,5),qt(KQ,5),qt(JQ,5),qt(uF,5),qt(mF,5),qt(fF,5)),2&i){let o;Ze(o=Ke())&&(r._textField=o.first),Ze(o=Ke())&&(r._iconPrefixContainer=o.first),Ze(o=Ke())&&(r._textPrefixContainer=o.first),Ze(o=Ke())&&(r._floatingLabel=o.first),Ze(o=Ke())&&(r._notchedOutline=o.first),Ze(o=Ke())&&(r._lineRipple=o.first)}},hostAttrs:[1,"mat-mdc-form-field"],hostVars:42,hostBindings:function(i,r){2&i&&st("mat-mdc-form-field-label-always-float",r._shouldAlwaysFloat())("mat-mdc-form-field-has-icon-prefix",r._hasIconPrefix)("mat-mdc-form-field-has-icon-suffix",r._hasIconSuffix)("mat-form-field-invalid",r._control.errorState)("mat-form-field-disabled",r._control.disabled)("mat-form-field-autofilled",r._control.autofilled)("mat-form-field-no-animations","NoopAnimations"===r._animationMode)("mat-form-field-appearance-fill","fill"==r.appearance)("mat-form-field-appearance-outline","outline"==r.appearance)("mat-form-field-hide-placeholder",r._hasFloatingLabel()&&!r._shouldLabelFloat())("mat-focused",r._control.focused)("mat-primary","accent"!==r.color&&"warn"!==r.color)("mat-accent","accent"===r.color)("mat-warn","warn"===r.color)("ng-untouched",r._shouldForward("untouched"))("ng-touched",r._shouldForward("touched"))("ng-pristine",r._shouldForward("pristine"))("ng-dirty",r._shouldForward("dirty"))("ng-valid",r._shouldForward("valid"))("ng-invalid",r._shouldForward("invalid"))("ng-pending",r._shouldForward("pending"))},inputs:{hideRequiredMarker:"hideRequiredMarker",color:"color",floatLabel:"floatLabel",appearance:"appearance",subscriptSizing:"subscriptSizing",hintLabel:"hintLabel"},exportAs:["matFormField"],standalone:!0,features:[Ye([{provide:Qy,useExisting:t},{provide:dF,useExisting:t}]),Gt],ngContentSelectors:tZ,decls:18,vars:21,consts:[["labelTemplate",""],["textField",""],["iconPrefixContainer",""],["textPrefixContainer",""],[1,"mat-mdc-text-field-wrapper","mdc-text-field",3,"click"],[1,"mat-mdc-form-field-focus-overlay"],[1,"mat-mdc-form-field-flex"],["matFormFieldNotchedOutline","",3,"matFormFieldNotchedOutlineOpen"],[1,"mat-mdc-form-field-icon-prefix"],[1,"mat-mdc-form-field-text-prefix"],[1,"mat-mdc-form-field-infix"],[3,"ngTemplateOutlet"],[1,"mat-mdc-form-field-text-suffix"],[1,"mat-mdc-form-field-icon-suffix"],["matFormFieldLineRipple",""],[1,"mat-mdc-form-field-subscript-wrapper","mat-mdc-form-field-bottom-align"],["matFormFieldFloatingLabel","",3,"floating","monitorResize","id"],["aria-hidden","true",1,"mat-mdc-form-field-required-marker","mdc-floating-label--required"],[1,"mat-mdc-form-field-error-wrapper"],[1,"mat-mdc-form-field-hint-wrapper"],[3,"id"],[1,"mat-mdc-form-field-hint-spacer"]],template:function(i,r){if(1&i){const o=wr();Mn(eZ),we(0,rZ,1,1,"ng-template",null,0,ob),U(2,"div",4,1),Ue("click",function(a){return hn(o),fn(r._control.onContainerClick(a))}),we(4,oZ,1,0,"div",5),U(5,"div",6),we(6,cZ,2,2,"div",7)(7,lZ,3,0,"div",8)(8,dZ,3,0,"div",9),U(9,"div",10),we(10,hZ,1,1,null,11),qe(11),W(),we(12,fZ,2,0,"div",12)(13,mZ,2,0,"div",13),W(),we(14,pZ,1,0,"div",14),W(),U(15,"div",15),we(16,gZ,2,1)(17,bZ,5,2),W()}if(2&i){let o;K(2),st("mdc-text-field--filled",!r._hasOutline())("mdc-text-field--outlined",r._hasOutline())("mdc-text-field--no-label",!r._hasFloatingLabel())("mdc-text-field--disabled",r._control.disabled)("mdc-text-field--invalid",r._control.errorState),K(2),zt(4,r._hasOutline()||r._control.disabled?-1:4),K(2),zt(6,r._hasOutline()?6:-1),K(),zt(7,r._hasIconPrefix?7:-1),K(),zt(8,r._hasTextPrefix?8:-1),K(2),zt(10,!r._hasOutline()||r._forceDisplayInfixLabel()?10:-1),K(2),zt(12,r._hasTextSuffix?12:-1),K(),zt(13,r._hasIconSuffix?13:-1),K(),zt(14,r._hasOutline()?-1:14),K(),st("mat-mdc-form-field-subscript-dynamic-size","dynamic"===r.subscriptSizing),K(),zt(16,"error"===(o=r._getDisplayedMessages())?16:"hint"===o?17:-1)}},dependencies:[uF,mF,Vb,fF,lF],styles:['.mdc-text-field{border-top-left-radius:4px;border-top-left-radius:var(--mdc-shape-small, 4px);border-top-right-radius:4px;border-top-right-radius:var(--mdc-shape-small, 4px);border-bottom-right-radius:0;border-bottom-left-radius:0;display:inline-flex;align-items:baseline;padding:0 16px;position:relative;box-sizing:border-box;overflow:hidden;will-change:opacity,transform,color}.mdc-text-field .mdc-floating-label{top:50%;transform:translateY(-50%);pointer-events:none}.mdc-text-field__input{height:28px;width:100%;min-width:0;border:none;border-radius:0;background:none;appearance:none;padding:0}.mdc-text-field__input::-ms-clear{display:none}.mdc-text-field__input::-webkit-calendar-picker-indicator{display:none}.mdc-text-field__input:focus{outline:none}.mdc-text-field__input:invalid{box-shadow:none}@media all{.mdc-text-field__input::placeholder{opacity:0}}@media all{.mdc-text-field__input:-ms-input-placeholder{opacity:0}}@media all{.mdc-text-field--no-label .mdc-text-field__input::placeholder,.mdc-text-field--focused .mdc-text-field__input::placeholder{opacity:1}}@media all{.mdc-text-field--no-label .mdc-text-field__input:-ms-input-placeholder,.mdc-text-field--focused .mdc-text-field__input:-ms-input-placeholder{opacity:1}}.mdc-text-field__affix{height:28px;opacity:0;white-space:nowrap}.mdc-text-field--label-floating .mdc-text-field__affix,.mdc-text-field--no-label .mdc-text-field__affix{opacity:1}@supports(-webkit-hyphens: none){.mdc-text-field--outlined .mdc-text-field__affix{align-items:center;align-self:center;display:inline-flex;height:100%}}.mdc-text-field__affix--prefix{padding-left:0;padding-right:2px}[dir=rtl] .mdc-text-field__affix--prefix,.mdc-text-field__affix--prefix[dir=rtl]{padding-left:2px;padding-right:0}.mdc-text-field--end-aligned .mdc-text-field__affix--prefix{padding-left:0;padding-right:12px}[dir=rtl] .mdc-text-field--end-aligned .mdc-text-field__affix--prefix,.mdc-text-field--end-aligned .mdc-text-field__affix--prefix[dir=rtl]{padding-left:12px;padding-right:0}.mdc-text-field__affix--suffix{padding-left:12px;padding-right:0}[dir=rtl] .mdc-text-field__affix--suffix,.mdc-text-field__affix--suffix[dir=rtl]{padding-left:0;padding-right:12px}.mdc-text-field--end-aligned .mdc-text-field__affix--suffix{padding-left:2px;padding-right:0}[dir=rtl] .mdc-text-field--end-aligned .mdc-text-field__affix--suffix,.mdc-text-field--end-aligned .mdc-text-field__affix--suffix[dir=rtl]{padding-left:0;padding-right:2px}.mdc-text-field--filled{height:56px}.mdc-text-field--filled::before{display:inline-block;width:0;height:40px;content:"";vertical-align:0}.mdc-text-field--filled .mdc-floating-label{left:16px;right:initial}[dir=rtl] .mdc-text-field--filled .mdc-floating-label,.mdc-text-field--filled .mdc-floating-label[dir=rtl]{left:initial;right:16px}.mdc-text-field--filled .mdc-floating-label--float-above{transform:translateY(-106%) scale(0.75)}.mdc-text-field--filled.mdc-text-field--no-label .mdc-text-field__input{height:100%}.mdc-text-field--filled.mdc-text-field--no-label .mdc-floating-label{display:none}.mdc-text-field--filled.mdc-text-field--no-label::before{display:none}@supports(-webkit-hyphens: none){.mdc-text-field--filled.mdc-text-field--no-label .mdc-text-field__affix{align-items:center;align-self:center;display:inline-flex;height:100%}}.mdc-text-field--outlined{height:56px;overflow:visible}.mdc-text-field--outlined .mdc-floating-label--float-above{transform:translateY(-37.25px) scale(1)}.mdc-text-field--outlined.mdc-notched-outline--upgraded .mdc-floating-label--float-above,.mdc-text-field--outlined .mdc-notched-outline--upgraded .mdc-floating-label--float-above{transform:translateY(-34.75px) scale(0.75)}.mdc-text-field--outlined .mdc-floating-label--float-above{font-size:.75rem}.mdc-text-field--outlined.mdc-notched-outline--upgraded .mdc-floating-label--float-above,.mdc-text-field--outlined .mdc-notched-outline--upgraded .mdc-floating-label--float-above{font-size:1rem}.mdc-text-field--outlined .mdc-text-field__input{height:100%}.mdc-text-field--outlined .mdc-notched-outline .mdc-notched-outline__leading{border-top-left-radius:4px;border-top-left-radius:var(--mdc-shape-small, 4px);border-top-right-radius:0;border-bottom-right-radius:0;border-bottom-left-radius:4px;border-bottom-left-radius:var(--mdc-shape-small, 4px)}[dir=rtl] .mdc-text-field--outlined .mdc-notched-outline .mdc-notched-outline__leading,.mdc-text-field--outlined .mdc-notched-outline .mdc-notched-outline__leading[dir=rtl]{border-top-left-radius:0;border-top-right-radius:4px;border-top-right-radius:var(--mdc-shape-small, 4px);border-bottom-right-radius:4px;border-bottom-right-radius:var(--mdc-shape-small, 4px);border-bottom-left-radius:0}@supports(top: max(0%)){.mdc-text-field--outlined .mdc-notched-outline .mdc-notched-outline__leading{width:max(12px,var(--mdc-shape-small, 4px))}}@supports(top: max(0%)){.mdc-text-field--outlined .mdc-notched-outline .mdc-notched-outline__notch{max-width:calc(100% - max(12px,var(--mdc-shape-small, 4px))*2)}}.mdc-text-field--outlined .mdc-notched-outline .mdc-notched-outline__trailing{border-top-left-radius:0;border-top-right-radius:4px;border-top-right-radius:var(--mdc-shape-small, 4px);border-bottom-right-radius:4px;border-bottom-right-radius:var(--mdc-shape-small, 4px);border-bottom-left-radius:0}[dir=rtl] .mdc-text-field--outlined .mdc-notched-outline .mdc-notched-outline__trailing,.mdc-text-field--outlined .mdc-notched-outline .mdc-notched-outline__trailing[dir=rtl]{border-top-left-radius:4px;border-top-left-radius:var(--mdc-shape-small, 4px);border-top-right-radius:0;border-bottom-right-radius:0;border-bottom-left-radius:4px;border-bottom-left-radius:var(--mdc-shape-small, 4px)}@supports(top: max(0%)){.mdc-text-field--outlined{padding-left:max(16px,calc(var(--mdc-shape-small, 4px) + 4px))}}@supports(top: max(0%)){.mdc-text-field--outlined{padding-right:max(16px,var(--mdc-shape-small, 4px))}}@supports(top: max(0%)){.mdc-text-field--outlined+.mdc-text-field-helper-line{padding-left:max(16px,calc(var(--mdc-shape-small, 4px) + 4px))}}@supports(top: max(0%)){.mdc-text-field--outlined+.mdc-text-field-helper-line{padding-right:max(16px,var(--mdc-shape-small, 4px))}}.mdc-text-field--outlined.mdc-text-field--with-leading-icon{padding-left:0}@supports(top: max(0%)){.mdc-text-field--outlined.mdc-text-field--with-leading-icon{padding-right:max(16px,var(--mdc-shape-small, 4px))}}[dir=rtl] .mdc-text-field--outlined.mdc-text-field--with-leading-icon,.mdc-text-field--outlined.mdc-text-field--with-leading-icon[dir=rtl]{padding-right:0}@supports(top: max(0%)){[dir=rtl] .mdc-text-field--outlined.mdc-text-field--with-leading-icon,.mdc-text-field--outlined.mdc-text-field--with-leading-icon[dir=rtl]{padding-left:max(16px,var(--mdc-shape-small, 4px))}}.mdc-text-field--outlined.mdc-text-field--with-trailing-icon{padding-right:0}@supports(top: max(0%)){.mdc-text-field--outlined.mdc-text-field--with-trailing-icon{padding-left:max(16px,calc(var(--mdc-shape-small, 4px) + 4px))}}[dir=rtl] .mdc-text-field--outlined.mdc-text-field--with-trailing-icon,.mdc-text-field--outlined.mdc-text-field--with-trailing-icon[dir=rtl]{padding-left:0}@supports(top: max(0%)){[dir=rtl] .mdc-text-field--outlined.mdc-text-field--with-trailing-icon,.mdc-text-field--outlined.mdc-text-field--with-trailing-icon[dir=rtl]{padding-right:max(16px,calc(var(--mdc-shape-small, 4px) + 4px))}}.mdc-text-field--outlined.mdc-text-field--with-leading-icon.mdc-text-field--with-trailing-icon{padding-left:0;padding-right:0}.mdc-text-field--outlined .mdc-notched-outline--notched .mdc-notched-outline__notch{padding-top:1px}.mdc-text-field--outlined .mdc-floating-label{left:4px;right:initial}[dir=rtl] .mdc-text-field--outlined .mdc-floating-label,.mdc-text-field--outlined .mdc-floating-label[dir=rtl]{left:initial;right:4px}.mdc-text-field--outlined .mdc-text-field__input{display:flex;border:none !important;background-color:rgba(0,0,0,0)}.mdc-text-field--outlined .mdc-notched-outline{z-index:1}.mdc-text-field--textarea{flex-direction:column;align-items:center;width:auto;height:auto;padding:0}.mdc-text-field--textarea .mdc-floating-label{top:19px}.mdc-text-field--textarea .mdc-floating-label:not(.mdc-floating-label--float-above){transform:none}.mdc-text-field--textarea .mdc-text-field__input{flex-grow:1;height:auto;min-height:1.5rem;overflow-x:hidden;overflow-y:auto;box-sizing:border-box;resize:none;padding:0 16px}.mdc-text-field--textarea.mdc-text-field--filled::before{display:none}.mdc-text-field--textarea.mdc-text-field--filled .mdc-floating-label--float-above{transform:translateY(-10.25px) scale(0.75)}.mdc-text-field--textarea.mdc-text-field--filled .mdc-text-field__input{margin-top:23px;margin-bottom:9px}.mdc-text-field--textarea.mdc-text-field--filled.mdc-text-field--no-label .mdc-text-field__input{margin-top:16px;margin-bottom:16px}.mdc-text-field--textarea.mdc-text-field--outlined .mdc-notched-outline--notched .mdc-notched-outline__notch{padding-top:0}.mdc-text-field--textarea.mdc-text-field--outlined .mdc-floating-label--float-above{transform:translateY(-27.25px) scale(1)}.mdc-text-field--textarea.mdc-text-field--outlined.mdc-notched-outline--upgraded .mdc-floating-label--float-above,.mdc-text-field--textarea.mdc-text-field--outlined .mdc-notched-outline--upgraded .mdc-floating-label--float-above{transform:translateY(-24.75px) scale(0.75)}.mdc-text-field--textarea.mdc-text-field--outlined .mdc-floating-label--float-above{font-size:.75rem}.mdc-text-field--textarea.mdc-text-field--outlined.mdc-notched-outline--upgraded .mdc-floating-label--float-above,.mdc-text-field--textarea.mdc-text-field--outlined .mdc-notched-outline--upgraded .mdc-floating-label--float-above{font-size:1rem}.mdc-text-field--textarea.mdc-text-field--outlined .mdc-text-field__input{margin-top:16px;margin-bottom:16px}.mdc-text-field--textarea.mdc-text-field--outlined .mdc-floating-label{top:18px}.mdc-text-field--textarea.mdc-text-field--with-internal-counter .mdc-text-field__input{margin-bottom:2px}.mdc-text-field--textarea.mdc-text-field--with-internal-counter .mdc-text-field-character-counter{align-self:flex-end;padding:0 16px}.mdc-text-field--textarea.mdc-text-field--with-internal-counter .mdc-text-field-character-counter::after{display:inline-block;width:0;height:16px;content:"";vertical-align:-16px}.mdc-text-field--textarea.mdc-text-field--with-internal-counter .mdc-text-field-character-counter::before{display:none}.mdc-text-field__resizer{align-self:stretch;display:inline-flex;flex-direction:column;flex-grow:1;max-height:100%;max-width:100%;min-height:56px;min-width:fit-content;min-width:-moz-available;min-width:-webkit-fill-available;overflow:hidden;resize:both}.mdc-text-field--filled .mdc-text-field__resizer{transform:translateY(-1px)}.mdc-text-field--filled .mdc-text-field__resizer .mdc-text-field__input,.mdc-text-field--filled .mdc-text-field__resizer .mdc-text-field-character-counter{transform:translateY(1px)}.mdc-text-field--outlined .mdc-text-field__resizer{transform:translateX(-1px) translateY(-1px)}[dir=rtl] .mdc-text-field--outlined .mdc-text-field__resizer,.mdc-text-field--outlined .mdc-text-field__resizer[dir=rtl]{transform:translateX(1px) translateY(-1px)}.mdc-text-field--outlined .mdc-text-field__resizer .mdc-text-field__input,.mdc-text-field--outlined .mdc-text-field__resizer .mdc-text-field-character-counter{transform:translateX(1px) translateY(1px)}[dir=rtl] .mdc-text-field--outlined .mdc-text-field__resizer .mdc-text-field__input,[dir=rtl] .mdc-text-field--outlined .mdc-text-field__resizer .mdc-text-field-character-counter,.mdc-text-field--outlined .mdc-text-field__resizer .mdc-text-field__input[dir=rtl],.mdc-text-field--outlined .mdc-text-field__resizer .mdc-text-field-character-counter[dir=rtl]{transform:translateX(-1px) translateY(1px)}.mdc-text-field--with-leading-icon{padding-left:0;padding-right:16px}[dir=rtl] .mdc-text-field--with-leading-icon,.mdc-text-field--with-leading-icon[dir=rtl]{padding-left:16px;padding-right:0}.mdc-text-field--with-leading-icon.mdc-text-field--filled .mdc-floating-label{max-width:calc(100% - 48px);left:48px;right:initial}[dir=rtl] .mdc-text-field--with-leading-icon.mdc-text-field--filled .mdc-floating-label,.mdc-text-field--with-leading-icon.mdc-text-field--filled .mdc-floating-label[dir=rtl]{left:initial;right:48px}.mdc-text-field--with-leading-icon.mdc-text-field--filled .mdc-floating-label--float-above{max-width:calc(100%/0.75 - 64px/0.75)}.mdc-text-field--with-leading-icon.mdc-text-field--outlined .mdc-floating-label{left:36px;right:initial}[dir=rtl] .mdc-text-field--with-leading-icon.mdc-text-field--outlined .mdc-floating-label,.mdc-text-field--with-leading-icon.mdc-text-field--outlined .mdc-floating-label[dir=rtl]{left:initial;right:36px}.mdc-text-field--with-leading-icon.mdc-text-field--outlined :not(.mdc-notched-outline--notched) .mdc-notched-outline__notch{max-width:calc(100% - 60px)}.mdc-text-field--with-leading-icon.mdc-text-field--outlined .mdc-floating-label--float-above{transform:translateY(-37.25px) translateX(-32px) scale(1)}[dir=rtl] .mdc-text-field--with-leading-icon.mdc-text-field--outlined .mdc-floating-label--float-above,.mdc-text-field--with-leading-icon.mdc-text-field--outlined .mdc-floating-label--float-above[dir=rtl]{transform:translateY(-37.25px) translateX(32px) scale(1)}.mdc-text-field--with-leading-icon.mdc-text-field--outlined.mdc-notched-outline--upgraded .mdc-floating-label--float-above,.mdc-text-field--with-leading-icon.mdc-text-field--outlined .mdc-notched-outline--upgraded .mdc-floating-label--float-above{transform:translateY(-34.75px) translateX(-32px) scale(0.75)}[dir=rtl] .mdc-text-field--with-leading-icon.mdc-text-field--outlined.mdc-notched-outline--upgraded .mdc-floating-label--float-above,[dir=rtl] .mdc-text-field--with-leading-icon.mdc-text-field--outlined .mdc-notched-outline--upgraded .mdc-floating-label--float-above,.mdc-text-field--with-leading-icon.mdc-text-field--outlined.mdc-notched-outline--upgraded .mdc-floating-label--float-above[dir=rtl],.mdc-text-field--with-leading-icon.mdc-text-field--outlined .mdc-notched-outline--upgraded .mdc-floating-label--float-above[dir=rtl]{transform:translateY(-34.75px) translateX(32px) scale(0.75)}.mdc-text-field--with-leading-icon.mdc-text-field--outlined .mdc-floating-label--float-above{font-size:.75rem}.mdc-text-field--with-leading-icon.mdc-text-field--outlined.mdc-notched-outline--upgraded .mdc-floating-label--float-above,.mdc-text-field--with-leading-icon.mdc-text-field--outlined .mdc-notched-outline--upgraded .mdc-floating-label--float-above{font-size:1rem}.mdc-text-field--with-trailing-icon{padding-left:16px;padding-right:0}[dir=rtl] .mdc-text-field--with-trailing-icon,.mdc-text-field--with-trailing-icon[dir=rtl]{padding-left:0;padding-right:16px}.mdc-text-field--with-trailing-icon.mdc-text-field--filled .mdc-floating-label{max-width:calc(100% - 64px)}.mdc-text-field--with-trailing-icon.mdc-text-field--filled .mdc-floating-label--float-above{max-width:calc(100%/0.75 - 64px/0.75)}.mdc-text-field--with-trailing-icon.mdc-text-field--outlined :not(.mdc-notched-outline--notched) .mdc-notched-outline__notch{max-width:calc(100% - 60px)}.mdc-text-field--with-leading-icon.mdc-text-field--with-trailing-icon{padding-left:0;padding-right:0}.mdc-text-field--with-leading-icon.mdc-text-field--with-trailing-icon.mdc-text-field--filled .mdc-floating-label{max-width:calc(100% - 96px)}.mdc-text-field--with-leading-icon.mdc-text-field--with-trailing-icon.mdc-text-field--filled .mdc-floating-label--float-above{max-width:calc(100%/0.75 - 96px/0.75)}.mdc-text-field-helper-line{display:flex;justify-content:space-between;box-sizing:border-box}.mdc-text-field+.mdc-text-field-helper-line{padding-right:16px;padding-left:16px}.mdc-form-field>.mdc-text-field+label{align-self:flex-start}.mdc-text-field--focused .mdc-notched-outline__leading,.mdc-text-field--focused .mdc-notched-outline__notch,.mdc-text-field--focused .mdc-notched-outline__trailing{border-width:2px}.mdc-text-field--focused+.mdc-text-field-helper-line .mdc-text-field-helper-text:not(.mdc-text-field-helper-text--validation-msg){opacity:1}.mdc-text-field--focused.mdc-text-field--outlined .mdc-notched-outline--notched .mdc-notched-outline__notch{padding-top:2px}.mdc-text-field--focused.mdc-text-field--outlined.mdc-text-field--textarea .mdc-notched-outline--notched .mdc-notched-outline__notch{padding-top:0}.mdc-text-field--invalid+.mdc-text-field-helper-line .mdc-text-field-helper-text--validation-msg{opacity:1}.mdc-text-field--disabled{pointer-events:none}@media screen and (forced-colors: active){.mdc-text-field--disabled .mdc-text-field__input{background-color:Window}.mdc-text-field--disabled .mdc-floating-label{z-index:1}}.mdc-text-field--disabled .mdc-floating-label{cursor:default}.mdc-text-field--disabled.mdc-text-field--filled .mdc-text-field__ripple{display:none}.mdc-text-field--disabled .mdc-text-field__input{pointer-events:auto}.mdc-text-field--end-aligned .mdc-text-field__input{text-align:right}[dir=rtl] .mdc-text-field--end-aligned .mdc-text-field__input,.mdc-text-field--end-aligned .mdc-text-field__input[dir=rtl]{text-align:left}[dir=rtl] .mdc-text-field--ltr-text .mdc-text-field__input,[dir=rtl] .mdc-text-field--ltr-text .mdc-text-field__affix,.mdc-text-field--ltr-text[dir=rtl] .mdc-text-field__input,.mdc-text-field--ltr-text[dir=rtl] .mdc-text-field__affix{direction:ltr}[dir=rtl] .mdc-text-field--ltr-text .mdc-text-field__affix--prefix,.mdc-text-field--ltr-text[dir=rtl] .mdc-text-field__affix--prefix{padding-left:0;padding-right:2px}[dir=rtl] .mdc-text-field--ltr-text .mdc-text-field__affix--suffix,.mdc-text-field--ltr-text[dir=rtl] .mdc-text-field__affix--suffix{padding-left:12px;padding-right:0}[dir=rtl] .mdc-text-field--ltr-text .mdc-text-field__icon--leading,.mdc-text-field--ltr-text[dir=rtl] .mdc-text-field__icon--leading{order:1}[dir=rtl] .mdc-text-field--ltr-text .mdc-text-field__affix--suffix,.mdc-text-field--ltr-text[dir=rtl] .mdc-text-field__affix--suffix{order:2}[dir=rtl] .mdc-text-field--ltr-text .mdc-text-field__input,.mdc-text-field--ltr-text[dir=rtl] .mdc-text-field__input{order:3}[dir=rtl] .mdc-text-field--ltr-text .mdc-text-field__affix--prefix,.mdc-text-field--ltr-text[dir=rtl] .mdc-text-field__affix--prefix{order:4}[dir=rtl] .mdc-text-field--ltr-text .mdc-text-field__icon--trailing,.mdc-text-field--ltr-text[dir=rtl] .mdc-text-field__icon--trailing{order:5}[dir=rtl] .mdc-text-field--ltr-text.mdc-text-field--end-aligned .mdc-text-field__input,.mdc-text-field--ltr-text.mdc-text-field--end-aligned[dir=rtl] .mdc-text-field__input{text-align:right}[dir=rtl] .mdc-text-field--ltr-text.mdc-text-field--end-aligned .mdc-text-field__affix--prefix,.mdc-text-field--ltr-text.mdc-text-field--end-aligned[dir=rtl] .mdc-text-field__affix--prefix{padding-right:12px}[dir=rtl] .mdc-text-field--ltr-text.mdc-text-field--end-aligned .mdc-text-field__affix--suffix,.mdc-text-field--ltr-text.mdc-text-field--end-aligned[dir=rtl] .mdc-text-field__affix--suffix{padding-left:2px}.mdc-floating-label{position:absolute;left:0;-webkit-transform-origin:left top;transform-origin:left top;line-height:1.15rem;text-align:left;text-overflow:ellipsis;white-space:nowrap;cursor:text;overflow:hidden;will-change:transform}[dir=rtl] .mdc-floating-label,.mdc-floating-label[dir=rtl]{right:0;left:auto;-webkit-transform-origin:right top;transform-origin:right top;text-align:right}.mdc-floating-label--float-above{cursor:auto}.mdc-floating-label--required:not(.mdc-floating-label--hide-required-marker)::after{margin-left:1px;margin-right:0px;content:"*"}[dir=rtl] .mdc-floating-label--required:not(.mdc-floating-label--hide-required-marker)::after,.mdc-floating-label--required:not(.mdc-floating-label--hide-required-marker)[dir=rtl]::after{margin-left:0;margin-right:1px}.mdc-notched-outline{display:flex;position:absolute;top:0;right:0;left:0;box-sizing:border-box;width:100%;max-width:100%;height:100%;text-align:left;pointer-events:none}[dir=rtl] .mdc-notched-outline,.mdc-notched-outline[dir=rtl]{text-align:right}.mdc-notched-outline__leading,.mdc-notched-outline__notch,.mdc-notched-outline__trailing{box-sizing:border-box;height:100%;pointer-events:none}.mdc-notched-outline__trailing{flex-grow:1}.mdc-notched-outline__notch{flex:0 0 auto;width:auto}.mdc-notched-outline .mdc-floating-label{display:inline-block;position:relative;max-width:100%}.mdc-notched-outline .mdc-floating-label--float-above{text-overflow:clip}.mdc-notched-outline--upgraded .mdc-floating-label--float-above{max-width:133.3333333333%}.mdc-notched-outline--notched .mdc-notched-outline__notch{padding-left:0;padding-right:8px;border-top:none}[dir=rtl] .mdc-notched-outline--notched .mdc-notched-outline__notch,.mdc-notched-outline--notched .mdc-notched-outline__notch[dir=rtl]{padding-left:8px;padding-right:0}.mdc-notched-outline--no-label .mdc-notched-outline__notch{display:none}.mdc-line-ripple::before,.mdc-line-ripple::after{position:absolute;bottom:0;left:0;width:100%;border-bottom-style:solid;content:""}.mdc-line-ripple::before{z-index:1}.mdc-line-ripple::after{transform:scaleX(0);opacity:0;z-index:2}.mdc-line-ripple--active::after{transform:scaleX(1);opacity:1}.mdc-line-ripple--deactivating::after{opacity:0}.mdc-floating-label--float-above{transform:translateY(-106%) scale(0.75)}.mdc-notched-outline__leading,.mdc-notched-outline__notch,.mdc-notched-outline__trailing{border-top:1px solid;border-bottom:1px solid}.mdc-notched-outline__leading{border-left:1px solid;border-right:none;width:12px}[dir=rtl] .mdc-notched-outline__leading,.mdc-notched-outline__leading[dir=rtl]{border-left:none;border-right:1px solid}.mdc-notched-outline__trailing{border-left:none;border-right:1px solid}[dir=rtl] .mdc-notched-outline__trailing,.mdc-notched-outline__trailing[dir=rtl]{border-left:1px solid;border-right:none}.mdc-notched-outline__notch{max-width:calc(100% - 12px*2)}.mdc-line-ripple::before{border-bottom-width:1px}.mdc-line-ripple::after{border-bottom-width:2px}.mdc-text-field--filled{border-top-left-radius:var(--mdc-filled-text-field-container-shape);border-top-right-radius:var(--mdc-filled-text-field-container-shape);border-bottom-right-radius:0;border-bottom-left-radius:0}.mdc-text-field--filled:not(.mdc-text-field--disabled) .mdc-text-field__input{caret-color:var(--mdc-filled-text-field-caret-color)}.mdc-text-field--filled.mdc-text-field--invalid:not(.mdc-text-field--disabled) .mdc-text-field__input{caret-color:var(--mdc-filled-text-field-error-caret-color)}.mdc-text-field--filled:not(.mdc-text-field--disabled) .mdc-text-field__input{color:var(--mdc-filled-text-field-input-text-color)}.mdc-text-field--filled.mdc-text-field--disabled .mdc-text-field__input{color:var(--mdc-filled-text-field-disabled-input-text-color)}.mdc-text-field--filled:not(.mdc-text-field--disabled) .mdc-floating-label,.mdc-text-field--filled:not(.mdc-text-field--disabled) .mdc-floating-label--float-above{color:var(--mdc-filled-text-field-label-text-color)}.mdc-text-field--filled:not(.mdc-text-field--disabled).mdc-text-field--focused .mdc-floating-label,.mdc-text-field--filled:not(.mdc-text-field--disabled).mdc-text-field--focused .mdc-floating-label--float-above{color:var(--mdc-filled-text-field-focus-label-text-color)}.mdc-text-field--filled:not(.mdc-text-field--disabled):not(.mdc-text-field--focused):hover .mdc-floating-label,.mdc-text-field--filled:not(.mdc-text-field--disabled):not(.mdc-text-field--focused):hover .mdc-floating-label--float-above{color:var(--mdc-filled-text-field-hover-label-text-color)}.mdc-text-field--filled.mdc-text-field--disabled .mdc-floating-label,.mdc-text-field--filled.mdc-text-field--disabled .mdc-floating-label--float-above{color:var(--mdc-filled-text-field-disabled-label-text-color)}.mdc-text-field--filled.mdc-text-field--invalid:not(.mdc-text-field--disabled) .mdc-floating-label,.mdc-text-field--filled.mdc-text-field--invalid:not(.mdc-text-field--disabled) .mdc-floating-label--float-above{color:var(--mdc-filled-text-field-error-label-text-color)}.mdc-text-field--filled.mdc-text-field--invalid:not(.mdc-text-field--disabled).mdc-text-field--focused .mdc-floating-label,.mdc-text-field--filled.mdc-text-field--invalid:not(.mdc-text-field--disabled).mdc-text-field--focused .mdc-floating-label--float-above{color:var(--mdc-filled-text-field-error-focus-label-text-color)}.mdc-text-field--filled.mdc-text-field--invalid:not(.mdc-text-field--disabled):not(.mdc-text-field--focused):hover .mdc-floating-label,.mdc-text-field--filled.mdc-text-field--invalid:not(.mdc-text-field--disabled):not(.mdc-text-field--focused):hover .mdc-floating-label--float-above{color:var(--mdc-filled-text-field-error-hover-label-text-color)}.mdc-text-field--filled .mdc-floating-label{font-family:var(--mdc-filled-text-field-label-text-font);font-size:var(--mdc-filled-text-field-label-text-size);font-weight:var(--mdc-filled-text-field-label-text-weight);letter-spacing:var(--mdc-filled-text-field-label-text-tracking)}@media all{.mdc-text-field--filled:not(.mdc-text-field--disabled) .mdc-text-field__input::placeholder{color:var(--mdc-filled-text-field-input-text-placeholder-color)}}@media all{.mdc-text-field--filled:not(.mdc-text-field--disabled) .mdc-text-field__input:-ms-input-placeholder{color:var(--mdc-filled-text-field-input-text-placeholder-color)}}.mdc-text-field--filled:not(.mdc-text-field--disabled){background-color:var(--mdc-filled-text-field-container-color)}.mdc-text-field--filled.mdc-text-field--disabled{background-color:var(--mdc-filled-text-field-disabled-container-color)}.mdc-text-field--filled:not(.mdc-text-field--disabled) .mdc-line-ripple::before{border-bottom-color:var(--mdc-filled-text-field-active-indicator-color)}.mdc-text-field--filled:not(.mdc-text-field--disabled):not(.mdc-text-field--focused):hover .mdc-line-ripple::before{border-bottom-color:var(--mdc-filled-text-field-hover-active-indicator-color)}.mdc-text-field--filled:not(.mdc-text-field--disabled) .mdc-line-ripple::after{border-bottom-color:var(--mdc-filled-text-field-focus-active-indicator-color)}.mdc-text-field--filled.mdc-text-field--disabled .mdc-line-ripple::before{border-bottom-color:var(--mdc-filled-text-field-disabled-active-indicator-color)}.mdc-text-field--filled.mdc-text-field--invalid:not(.mdc-text-field--disabled) .mdc-line-ripple::before{border-bottom-color:var(--mdc-filled-text-field-error-active-indicator-color)}.mdc-text-field--filled.mdc-text-field--invalid:not(.mdc-text-field--disabled):not(.mdc-text-field--focused):hover .mdc-line-ripple::before{border-bottom-color:var(--mdc-filled-text-field-error-hover-active-indicator-color)}.mdc-text-field--filled.mdc-text-field--invalid:not(.mdc-text-field--disabled) .mdc-line-ripple::after{border-bottom-color:var(--mdc-filled-text-field-error-focus-active-indicator-color)}.mdc-text-field--filled .mdc-line-ripple::before{border-bottom-width:var(--mdc-filled-text-field-active-indicator-height)}.mdc-text-field--filled .mdc-line-ripple::after{border-bottom-width:var(--mdc-filled-text-field-focus-active-indicator-height)}.mdc-text-field--outlined:not(.mdc-text-field--disabled) .mdc-text-field__input{caret-color:var(--mdc-outlined-text-field-caret-color)}.mdc-text-field--outlined.mdc-text-field--invalid:not(.mdc-text-field--disabled) .mdc-text-field__input{caret-color:var(--mdc-outlined-text-field-error-caret-color)}.mdc-text-field--outlined:not(.mdc-text-field--disabled) .mdc-text-field__input{color:var(--mdc-outlined-text-field-input-text-color)}.mdc-text-field--outlined.mdc-text-field--disabled .mdc-text-field__input{color:var(--mdc-outlined-text-field-disabled-input-text-color)}.mdc-text-field--outlined:not(.mdc-text-field--disabled) .mdc-floating-label,.mdc-text-field--outlined:not(.mdc-text-field--disabled) .mdc-floating-label--float-above{color:var(--mdc-outlined-text-field-label-text-color)}.mdc-text-field--outlined:not(.mdc-text-field--disabled).mdc-text-field--focused .mdc-floating-label,.mdc-text-field--outlined:not(.mdc-text-field--disabled).mdc-text-field--focused .mdc-floating-label--float-above{color:var(--mdc-outlined-text-field-focus-label-text-color)}.mdc-text-field--outlined:not(.mdc-text-field--disabled):not(.mdc-text-field--focused):hover .mdc-floating-label,.mdc-text-field--outlined:not(.mdc-text-field--disabled):not(.mdc-text-field--focused):hover .mdc-floating-label--float-above{color:var(--mdc-outlined-text-field-hover-label-text-color)}.mdc-text-field--outlined.mdc-text-field--disabled .mdc-floating-label,.mdc-text-field--outlined.mdc-text-field--disabled .mdc-floating-label--float-above{color:var(--mdc-outlined-text-field-disabled-label-text-color)}.mdc-text-field--outlined.mdc-text-field--invalid:not(.mdc-text-field--disabled) .mdc-floating-label,.mdc-text-field--outlined.mdc-text-field--invalid:not(.mdc-text-field--disabled) .mdc-floating-label--float-above{color:var(--mdc-outlined-text-field-error-label-text-color)}.mdc-text-field--outlined.mdc-text-field--invalid:not(.mdc-text-field--disabled).mdc-text-field--focused .mdc-floating-label,.mdc-text-field--outlined.mdc-text-field--invalid:not(.mdc-text-field--disabled).mdc-text-field--focused .mdc-floating-label--float-above{color:var(--mdc-outlined-text-field-error-focus-label-text-color)}.mdc-text-field--outlined.mdc-text-field--invalid:not(.mdc-text-field--disabled):not(.mdc-text-field--focused):hover .mdc-floating-label,.mdc-text-field--outlined.mdc-text-field--invalid:not(.mdc-text-field--disabled):not(.mdc-text-field--focused):hover .mdc-floating-label--float-above{color:var(--mdc-outlined-text-field-error-hover-label-text-color)}.mdc-text-field--outlined .mdc-floating-label{font-family:var(--mdc-outlined-text-field-label-text-font);font-size:var(--mdc-outlined-text-field-label-text-size);font-weight:var(--mdc-outlined-text-field-label-text-weight);letter-spacing:var(--mdc-outlined-text-field-label-text-tracking)}@media all{.mdc-text-field--outlined:not(.mdc-text-field--disabled) .mdc-text-field__input::placeholder{color:var(--mdc-outlined-text-field-input-text-placeholder-color)}}@media all{.mdc-text-field--outlined:not(.mdc-text-field--disabled) .mdc-text-field__input:-ms-input-placeholder{color:var(--mdc-outlined-text-field-input-text-placeholder-color)}}.mdc-text-field--outlined.mdc-text-field--textarea.mdc-text-field--outlined .mdc-floating-label--float-above{font-size:calc(.75*var(--mdc-outlined-text-field-label-text-size))}.mdc-text-field--outlined.mdc-text-field--textarea.mdc-text-field--outlined.mdc-notched-outline--upgraded .mdc-floating-label--float-above,.mdc-text-field--outlined.mdc-text-field--textarea.mdc-text-field--outlined .mdc-notched-outline--upgraded .mdc-floating-label--float-above{font-size:var(--mdc-outlined-text-field-label-text-size)}.mdc-text-field--outlined .mdc-notched-outline .mdc-notched-outline__leading{border-top-left-radius:var(--mdc-outlined-text-field-container-shape);border-top-right-radius:0;border-bottom-right-radius:0;border-bottom-left-radius:var(--mdc-outlined-text-field-container-shape)}[dir=rtl] .mdc-text-field--outlined .mdc-notched-outline .mdc-notched-outline__leading,.mdc-text-field--outlined .mdc-notched-outline .mdc-notched-outline__leading[dir=rtl]{border-top-left-radius:0;border-top-right-radius:var(--mdc-outlined-text-field-container-shape);border-bottom-right-radius:var(--mdc-outlined-text-field-container-shape);border-bottom-left-radius:0}@supports(top: max(0%)){.mdc-text-field--outlined .mdc-notched-outline .mdc-notched-outline__leading{width:max(12px,var(--mdc-outlined-text-field-container-shape))}}@supports(top: max(0%)){.mdc-text-field--outlined .mdc-notched-outline .mdc-notched-outline__notch{max-width:calc(100% - max(12px,var(--mdc-outlined-text-field-container-shape))*2)}}.mdc-text-field--outlined .mdc-notched-outline .mdc-notched-outline__trailing{border-top-left-radius:0;border-top-right-radius:var(--mdc-outlined-text-field-container-shape);border-bottom-right-radius:var(--mdc-outlined-text-field-container-shape);border-bottom-left-radius:0}[dir=rtl] .mdc-text-field--outlined .mdc-notched-outline .mdc-notched-outline__trailing,.mdc-text-field--outlined .mdc-notched-outline .mdc-notched-outline__trailing[dir=rtl]{border-top-left-radius:var(--mdc-outlined-text-field-container-shape);border-top-right-radius:0;border-bottom-right-radius:0;border-bottom-left-radius:var(--mdc-outlined-text-field-container-shape)}@supports(top: max(0%)){.mdc-text-field--outlined{padding-left:max(16px,calc(var(--mdc-outlined-text-field-container-shape) + 4px))}}@supports(top: max(0%)){.mdc-text-field--outlined{padding-right:max(16px,var(--mdc-outlined-text-field-container-shape))}}@supports(top: max(0%)){.mdc-text-field--outlined+.mdc-text-field-helper-line{padding-left:max(16px,calc(var(--mdc-outlined-text-field-container-shape) + 4px))}}@supports(top: max(0%)){.mdc-text-field--outlined+.mdc-text-field-helper-line{padding-right:max(16px,var(--mdc-outlined-text-field-container-shape))}}.mdc-text-field--outlined.mdc-text-field--with-leading-icon{padding-left:0}@supports(top: max(0%)){.mdc-text-field--outlined.mdc-text-field--with-leading-icon{padding-right:max(16px,var(--mdc-outlined-text-field-container-shape))}}[dir=rtl] .mdc-text-field--outlined.mdc-text-field--with-leading-icon,.mdc-text-field--outlined.mdc-text-field--with-leading-icon[dir=rtl]{padding-right:0}@supports(top: max(0%)){[dir=rtl] .mdc-text-field--outlined.mdc-text-field--with-leading-icon,.mdc-text-field--outlined.mdc-text-field--with-leading-icon[dir=rtl]{padding-left:max(16px,var(--mdc-outlined-text-field-container-shape))}}.mdc-text-field--outlined.mdc-text-field--with-trailing-icon{padding-right:0}@supports(top: max(0%)){.mdc-text-field--outlined.mdc-text-field--with-trailing-icon{padding-left:max(16px,calc(var(--mdc-outlined-text-field-container-shape) + 4px))}}[dir=rtl] .mdc-text-field--outlined.mdc-text-field--with-trailing-icon,.mdc-text-field--outlined.mdc-text-field--with-trailing-icon[dir=rtl]{padding-left:0}@supports(top: max(0%)){[dir=rtl] .mdc-text-field--outlined.mdc-text-field--with-trailing-icon,.mdc-text-field--outlined.mdc-text-field--with-trailing-icon[dir=rtl]{padding-right:max(16px,calc(var(--mdc-outlined-text-field-container-shape) + 4px))}}.mdc-text-field--outlined.mdc-text-field--with-leading-icon.mdc-text-field--with-trailing-icon{padding-left:0;padding-right:0}.mdc-text-field--outlined:not(.mdc-text-field--disabled) .mdc-notched-outline__leading,.mdc-text-field--outlined:not(.mdc-text-field--disabled) .mdc-notched-outline__notch,.mdc-text-field--outlined:not(.mdc-text-field--disabled) .mdc-notched-outline__trailing{border-color:var(--mdc-outlined-text-field-outline-color)}.mdc-text-field--outlined:not(.mdc-text-field--disabled):not(.mdc-text-field--focused):hover .mdc-notched-outline .mdc-notched-outline__leading,.mdc-text-field--outlined:not(.mdc-text-field--disabled):not(.mdc-text-field--focused):hover .mdc-notched-outline .mdc-notched-outline__notch,.mdc-text-field--outlined:not(.mdc-text-field--disabled):not(.mdc-text-field--focused):hover .mdc-notched-outline .mdc-notched-outline__trailing{border-color:var(--mdc-outlined-text-field-hover-outline-color)}.mdc-text-field--outlined:not(.mdc-text-field--disabled).mdc-text-field--focused .mdc-notched-outline__leading,.mdc-text-field--outlined:not(.mdc-text-field--disabled).mdc-text-field--focused .mdc-notched-outline__notch,.mdc-text-field--outlined:not(.mdc-text-field--disabled).mdc-text-field--focused .mdc-notched-outline__trailing{border-color:var(--mdc-outlined-text-field-focus-outline-color)}.mdc-text-field--outlined.mdc-text-field--disabled .mdc-notched-outline__leading,.mdc-text-field--outlined.mdc-text-field--disabled .mdc-notched-outline__notch,.mdc-text-field--outlined.mdc-text-field--disabled .mdc-notched-outline__trailing{border-color:var(--mdc-outlined-text-field-disabled-outline-color)}.mdc-text-field--outlined.mdc-text-field--invalid:not(.mdc-text-field--disabled) .mdc-notched-outline__leading,.mdc-text-field--outlined.mdc-text-field--invalid:not(.mdc-text-field--disabled) .mdc-notched-outline__notch,.mdc-text-field--outlined.mdc-text-field--invalid:not(.mdc-text-field--disabled) .mdc-notched-outline__trailing{border-color:var(--mdc-outlined-text-field-error-outline-color)}.mdc-text-field--outlined.mdc-text-field--invalid:not(.mdc-text-field--disabled):not(.mdc-text-field--focused):hover .mdc-notched-outline .mdc-notched-outline__leading,.mdc-text-field--outlined.mdc-text-field--invalid:not(.mdc-text-field--disabled):not(.mdc-text-field--focused):hover .mdc-notched-outline .mdc-notched-outline__notch,.mdc-text-field--outlined.mdc-text-field--invalid:not(.mdc-text-field--disabled):not(.mdc-text-field--focused):hover .mdc-notched-outline .mdc-notched-outline__trailing{border-color:var(--mdc-outlined-text-field-error-hover-outline-color)}.mdc-text-field--outlined.mdc-text-field--invalid:not(.mdc-text-field--disabled).mdc-text-field--focused .mdc-notched-outline__leading,.mdc-text-field--outlined.mdc-text-field--invalid:not(.mdc-text-field--disabled).mdc-text-field--focused .mdc-notched-outline__notch,.mdc-text-field--outlined.mdc-text-field--invalid:not(.mdc-text-field--disabled).mdc-text-field--focused .mdc-notched-outline__trailing{border-color:var(--mdc-outlined-text-field-error-focus-outline-color)}.mdc-text-field--outlined:not(.mdc-text-field--disabled) .mdc-notched-outline .mdc-notched-outline__leading,.mdc-text-field--outlined:not(.mdc-text-field--disabled) .mdc-notched-outline .mdc-notched-outline__notch,.mdc-text-field--outlined:not(.mdc-text-field--disabled) .mdc-notched-outline .mdc-notched-outline__trailing{border-width:var(--mdc-outlined-text-field-outline-width)}.mdc-text-field--outlined:not(.mdc-text-field--disabled).mdc-text-field--focused .mdc-notched-outline .mdc-notched-outline__leading,.mdc-text-field--outlined:not(.mdc-text-field--disabled).mdc-text-field--focused .mdc-notched-outline .mdc-notched-outline__notch,.mdc-text-field--outlined:not(.mdc-text-field--disabled).mdc-text-field--focused .mdc-notched-outline .mdc-notched-outline__trailing{border-width:var(--mdc-outlined-text-field-focus-outline-width)}.mat-mdc-form-field-textarea-control{vertical-align:middle;resize:vertical;box-sizing:border-box;height:auto;margin:0;padding:0;border:none;overflow:auto}.mat-mdc-form-field-input-control.mat-mdc-form-field-input-control{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;font:inherit;letter-spacing:inherit;text-decoration:inherit;text-transform:inherit;border:none}.mat-mdc-form-field .mat-mdc-floating-label.mdc-floating-label{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;line-height:normal;pointer-events:all;will-change:auto}.mat-mdc-form-field:not(.mat-form-field-disabled) .mat-mdc-floating-label.mdc-floating-label{cursor:inherit}.mdc-text-field--no-label:not(.mdc-text-field--textarea) .mat-mdc-form-field-input-control.mdc-text-field__input,.mat-mdc-text-field-wrapper .mat-mdc-form-field-input-control{height:auto}.mat-mdc-text-field-wrapper .mat-mdc-form-field-input-control.mdc-text-field__input[type=color]{height:23px}.mat-mdc-text-field-wrapper{height:auto;flex:auto;will-change:auto}.mat-mdc-form-field-has-icon-prefix .mat-mdc-text-field-wrapper{padding-left:0;--mat-mdc-form-field-label-offset-x: -16px}.mat-mdc-form-field-has-icon-suffix .mat-mdc-text-field-wrapper{padding-right:0}[dir=rtl] .mat-mdc-text-field-wrapper{padding-left:16px;padding-right:16px}[dir=rtl] .mat-mdc-form-field-has-icon-suffix .mat-mdc-text-field-wrapper{padding-left:0}[dir=rtl] .mat-mdc-form-field-has-icon-prefix .mat-mdc-text-field-wrapper{padding-right:0}.mat-form-field-disabled .mdc-text-field__input::placeholder{color:var(--mat-form-field-disabled-input-text-placeholder-color)}.mat-form-field-disabled .mdc-text-field__input::-moz-placeholder{color:var(--mat-form-field-disabled-input-text-placeholder-color)}.mat-form-field-disabled .mdc-text-field__input::-webkit-input-placeholder{color:var(--mat-form-field-disabled-input-text-placeholder-color)}.mat-form-field-disabled .mdc-text-field__input:-ms-input-placeholder{color:var(--mat-form-field-disabled-input-text-placeholder-color)}.mat-mdc-form-field-label-always-float .mdc-text-field__input::placeholder{transition-delay:40ms;transition-duration:110ms;opacity:1}.mat-mdc-text-field-wrapper .mat-mdc-form-field-infix .mat-mdc-floating-label{left:auto;right:auto}.mat-mdc-text-field-wrapper.mdc-text-field--outlined .mdc-text-field__input{display:inline-block}.mat-mdc-form-field .mat-mdc-text-field-wrapper.mdc-text-field .mdc-notched-outline__notch{padding-top:0}.mat-mdc-text-field-wrapper::before{content:none}.mat-mdc-form-field.mat-mdc-form-field.mat-mdc-form-field.mat-mdc-form-field.mat-mdc-form-field.mat-mdc-form-field .mdc-notched-outline__notch{border-left:1px solid rgba(0,0,0,0)}[dir=rtl] .mat-mdc-form-field.mat-mdc-form-field.mat-mdc-form-field.mat-mdc-form-field.mat-mdc-form-field.mat-mdc-form-field .mdc-notched-outline__notch{border-left:none;border-right:1px solid rgba(0,0,0,0)}.mat-mdc-form-field-infix{min-height:var(--mat-form-field-container-height);padding-top:var(--mat-form-field-filled-with-label-container-padding-top);padding-bottom:var(--mat-form-field-filled-with-label-container-padding-bottom)}.mdc-text-field--outlined .mat-mdc-form-field-infix,.mdc-text-field--no-label .mat-mdc-form-field-infix{padding-top:var(--mat-form-field-container-vertical-padding);padding-bottom:var(--mat-form-field-container-vertical-padding)}.mat-mdc-text-field-wrapper .mat-mdc-form-field-flex .mat-mdc-floating-label{top:calc(var(--mat-form-field-container-height)/2)}.mdc-text-field--filled .mat-mdc-floating-label{display:var(--mat-form-field-filled-label-display, block)}.mat-mdc-text-field-wrapper.mdc-text-field--outlined .mdc-notched-outline--upgraded .mdc-floating-label--float-above{--mat-mdc-form-field-label-transform: translateY(calc(calc(6.75px + var(--mat-form-field-container-height) / 2) * -1)) scale(var(--mat-mdc-form-field-floating-label-scale, 0.75));transform:var(--mat-mdc-form-field-label-transform)}.mat-mdc-form-field-subscript-wrapper{box-sizing:border-box;width:100%;position:relative}.mat-mdc-form-field-hint-wrapper,.mat-mdc-form-field-error-wrapper{position:absolute;top:0;left:0;right:0;padding:0 16px}.mat-mdc-form-field-subscript-dynamic-size .mat-mdc-form-field-hint-wrapper,.mat-mdc-form-field-subscript-dynamic-size .mat-mdc-form-field-error-wrapper{position:static}.mat-mdc-form-field-bottom-align::before{content:"";display:inline-block;height:16px}.mat-mdc-form-field-bottom-align.mat-mdc-form-field-subscript-dynamic-size::before{content:unset}.mat-mdc-form-field-hint-end{order:1}.mat-mdc-form-field-hint-wrapper{display:flex}.mat-mdc-form-field-hint-spacer{flex:1 0 1em}.mat-mdc-form-field-error{display:block;color:var(--mat-form-field-error-text-color)}.mat-mdc-form-field-subscript-wrapper,.mat-mdc-form-field-bottom-align::before{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;font-family:var(--mat-form-field-subscript-text-font);line-height:var(--mat-form-field-subscript-text-line-height);font-size:var(--mat-form-field-subscript-text-size);letter-spacing:var(--mat-form-field-subscript-text-tracking);font-weight:var(--mat-form-field-subscript-text-weight)}.mat-mdc-form-field-focus-overlay{top:0;left:0;right:0;bottom:0;position:absolute;opacity:0;pointer-events:none;background-color:var(--mat-form-field-state-layer-color)}.mat-mdc-text-field-wrapper:hover .mat-mdc-form-field-focus-overlay{opacity:var(--mat-form-field-hover-state-layer-opacity)}.mat-mdc-form-field.mat-focused .mat-mdc-form-field-focus-overlay{opacity:var(--mat-form-field-focus-state-layer-opacity)}select.mat-mdc-form-field-input-control{-moz-appearance:none;-webkit-appearance:none;background-color:rgba(0,0,0,0);display:inline-flex;box-sizing:border-box}select.mat-mdc-form-field-input-control:not(:disabled){cursor:pointer}select.mat-mdc-form-field-input-control:not(.mat-mdc-native-select-inline) option{color:var(--mat-form-field-select-option-text-color)}select.mat-mdc-form-field-input-control:not(.mat-mdc-native-select-inline) option:disabled{color:var(--mat-form-field-select-disabled-option-text-color)}.mat-mdc-form-field-type-mat-native-select .mat-mdc-form-field-infix::after{content:"";width:0;height:0;border-left:5px solid rgba(0,0,0,0);border-right:5px solid rgba(0,0,0,0);border-top:5px solid;position:absolute;right:0;top:50%;margin-top:-2.5px;pointer-events:none;color:var(--mat-form-field-enabled-select-arrow-color)}[dir=rtl] .mat-mdc-form-field-type-mat-native-select .mat-mdc-form-field-infix::after{right:auto;left:0}.mat-mdc-form-field-type-mat-native-select.mat-focused .mat-mdc-form-field-infix::after{color:var(--mat-form-field-focus-select-arrow-color)}.mat-mdc-form-field-type-mat-native-select.mat-form-field-disabled .mat-mdc-form-field-infix::after{color:var(--mat-form-field-disabled-select-arrow-color)}.mat-mdc-form-field-type-mat-native-select .mat-mdc-form-field-input-control{padding-right:15px}[dir=rtl] .mat-mdc-form-field-type-mat-native-select .mat-mdc-form-field-input-control{padding-right:0;padding-left:15px}.cdk-high-contrast-active .mat-form-field-appearance-fill .mat-mdc-text-field-wrapper{outline:solid 1px}.cdk-high-contrast-active .mat-form-field-appearance-fill.mat-form-field-disabled .mat-mdc-text-field-wrapper{outline-color:GrayText}.cdk-high-contrast-active .mat-form-field-appearance-fill.mat-focused .mat-mdc-text-field-wrapper{outline:dashed 3px}.cdk-high-contrast-active .mat-mdc-form-field.mat-focused .mdc-notched-outline{border:dashed 3px}.mat-mdc-form-field-input-control[type=date],.mat-mdc-form-field-input-control[type=datetime],.mat-mdc-form-field-input-control[type=datetime-local],.mat-mdc-form-field-input-control[type=month],.mat-mdc-form-field-input-control[type=week],.mat-mdc-form-field-input-control[type=time]{line-height:1}.mat-mdc-form-field-input-control::-webkit-datetime-edit{line-height:1;padding:0;margin-bottom:-2px}.mat-mdc-form-field{--mat-mdc-form-field-floating-label-scale: 0.75;display:inline-flex;flex-direction:column;min-width:0;text-align:left;-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;font-family:var(--mat-form-field-container-text-font);line-height:var(--mat-form-field-container-text-line-height);font-size:var(--mat-form-field-container-text-size);letter-spacing:var(--mat-form-field-container-text-tracking);font-weight:var(--mat-form-field-container-text-weight)}[dir=rtl] .mat-mdc-form-field{text-align:right}.mat-mdc-form-field .mdc-text-field--outlined .mdc-floating-label--float-above{font-size:calc(var(--mat-form-field-outlined-label-text-populated-size)*var(--mat-mdc-form-field-floating-label-scale))}.mat-mdc-form-field .mdc-text-field--outlined .mdc-notched-outline--upgraded .mdc-floating-label--float-above{font-size:var(--mat-form-field-outlined-label-text-populated-size)}.mat-mdc-form-field-flex{display:inline-flex;align-items:baseline;box-sizing:border-box;width:100%}.mat-mdc-text-field-wrapper{width:100%;z-index:0}.mat-mdc-form-field-icon-prefix,.mat-mdc-form-field-icon-suffix{align-self:center;line-height:0;pointer-events:auto;position:relative;z-index:1}.mat-mdc-form-field-icon-prefix>.mat-icon,.mat-mdc-form-field-icon-suffix>.mat-icon{padding:0 12px;box-sizing:content-box}.mat-mdc-form-field-icon-prefix{color:var(--mat-form-field-leading-icon-color)}.mat-form-field-disabled .mat-mdc-form-field-icon-prefix{color:var(--mat-form-field-disabled-leading-icon-color)}.mat-mdc-form-field-icon-suffix{color:var(--mat-form-field-trailing-icon-color)}.mat-form-field-disabled .mat-mdc-form-field-icon-suffix{color:var(--mat-form-field-disabled-trailing-icon-color)}.mat-form-field-invalid .mat-mdc-form-field-icon-suffix{color:var(--mat-form-field-error-trailing-icon-color)}.mat-form-field-invalid:not(.mat-focused):not(.mat-form-field-disabled) .mat-mdc-text-field-wrapper:hover .mat-mdc-form-field-icon-suffix{color:var(--mat-form-field-error-hover-trailing-icon-color)}.mat-form-field-invalid.mat-focused .mat-mdc-text-field-wrapper .mat-mdc-form-field-icon-suffix{color:var(--mat-form-field-error-focus-trailing-icon-color)}.mat-mdc-form-field-icon-prefix,[dir=rtl] .mat-mdc-form-field-icon-suffix{padding:0 4px 0 0}.mat-mdc-form-field-icon-suffix,[dir=rtl] .mat-mdc-form-field-icon-prefix{padding:0 0 0 4px}.mat-mdc-form-field-subscript-wrapper .mat-icon,.mat-mdc-form-field label .mat-icon{width:1em;height:1em;font-size:inherit}.mat-mdc-form-field-infix{flex:auto;min-width:0;width:180px;position:relative;box-sizing:border-box}.mat-mdc-form-field .mdc-notched-outline__notch{margin-left:-1px;-webkit-clip-path:inset(-9em -999em -9em 1px);clip-path:inset(-9em -999em -9em 1px)}[dir=rtl] .mat-mdc-form-field .mdc-notched-outline__notch{margin-left:0;margin-right:-1px;-webkit-clip-path:inset(-9em 1px -9em -999em);clip-path:inset(-9em 1px -9em -999em)}.mat-mdc-form-field:not(.mat-form-field-no-animations) .mdc-text-field__input{transition:opacity 150ms 0ms cubic-bezier(0.4, 0, 0.2, 1)}@media all{.mat-mdc-form-field:not(.mat-form-field-no-animations) .mdc-text-field__input::placeholder{transition:opacity 67ms 0ms cubic-bezier(0.4, 0, 0.2, 1)}}@media all{.mat-mdc-form-field:not(.mat-form-field-no-animations) .mdc-text-field__input:-ms-input-placeholder{transition:opacity 67ms 0ms cubic-bezier(0.4, 0, 0.2, 1)}}@media all{.mdc-text-field--no-label .mat-mdc-form-field:not(.mat-form-field-no-animations) .mdc-text-field__input::placeholder,.mdc-text-field--focused .mat-mdc-form-field:not(.mat-form-field-no-animations) .mdc-text-field__input::placeholder{transition-delay:40ms;transition-duration:110ms}}@media all{.mdc-text-field--no-label .mat-mdc-form-field:not(.mat-form-field-no-animations) .mdc-text-field__input:-ms-input-placeholder,.mdc-text-field--focused .mat-mdc-form-field:not(.mat-form-field-no-animations) .mdc-text-field__input:-ms-input-placeholder{transition-delay:40ms;transition-duration:110ms}}.mat-mdc-form-field:not(.mat-form-field-no-animations) .mdc-text-field__affix{transition:opacity 150ms 0ms cubic-bezier(0.4, 0, 0.2, 1)}.mat-mdc-form-field:not(.mat-form-field-no-animations) .mdc-text-field--filled.mdc-ripple-upgraded--background-focused .mdc-text-field__ripple::before,.mat-mdc-form-field:not(.mat-form-field-no-animations) .mdc-text-field--filled:not(.mdc-ripple-upgraded):focus .mdc-text-field__ripple::before{transition-duration:75ms}.mat-mdc-form-field:not(.mat-form-field-no-animations) .mdc-text-field--outlined .mdc-floating-label--shake{animation:mdc-floating-label-shake-float-above-text-field-outlined 250ms 1}@keyframes mdc-floating-label-shake-float-above-text-field-outlined{0%{transform:translateX(calc(0% - 0%)) translateY(calc(0% - 34.75px)) scale(0.75)}33%{animation-timing-function:cubic-bezier(0.5, 0, 0.701732, 0.495819);transform:translateX(calc(4% - 0%)) translateY(calc(0% - 34.75px)) scale(0.75)}66%{animation-timing-function:cubic-bezier(0.302435, 0.381352, 0.55, 0.956352);transform:translateX(calc(-4% - 0%)) translateY(calc(0% - 34.75px)) scale(0.75)}100%{transform:translateX(calc(0% - 0%)) translateY(calc(0% - 34.75px)) scale(0.75)}}.mat-mdc-form-field:not(.mat-form-field-no-animations) .mdc-text-field--textarea{transition:none}.mat-mdc-form-field:not(.mat-form-field-no-animations) .mdc-text-field--textarea.mdc-text-field--filled .mdc-floating-label--shake{animation:mdc-floating-label-shake-float-above-textarea-filled 250ms 1}@keyframes mdc-floating-label-shake-float-above-textarea-filled{0%{transform:translateX(calc(0% - 0%)) translateY(calc(0% - 10.25px)) scale(0.75)}33%{animation-timing-function:cubic-bezier(0.5, 0, 0.701732, 0.495819);transform:translateX(calc(4% - 0%)) translateY(calc(0% - 10.25px)) scale(0.75)}66%{animation-timing-function:cubic-bezier(0.302435, 0.381352, 0.55, 0.956352);transform:translateX(calc(-4% - 0%)) translateY(calc(0% - 10.25px)) scale(0.75)}100%{transform:translateX(calc(0% - 0%)) translateY(calc(0% - 10.25px)) scale(0.75)}}.mat-mdc-form-field:not(.mat-form-field-no-animations) .mdc-text-field--textarea.mdc-text-field--outlined .mdc-floating-label--shake{animation:mdc-floating-label-shake-float-above-textarea-outlined 250ms 1}@keyframes mdc-floating-label-shake-float-above-textarea-outlined{0%{transform:translateX(calc(0% - 0%)) translateY(calc(0% - 24.75px)) scale(0.75)}33%{animation-timing-function:cubic-bezier(0.5, 0, 0.701732, 0.495819);transform:translateX(calc(4% - 0%)) translateY(calc(0% - 24.75px)) scale(0.75)}66%{animation-timing-function:cubic-bezier(0.302435, 0.381352, 0.55, 0.956352);transform:translateX(calc(-4% - 0%)) translateY(calc(0% - 24.75px)) scale(0.75)}100%{transform:translateX(calc(0% - 0%)) translateY(calc(0% - 24.75px)) scale(0.75)}}.mat-mdc-form-field:not(.mat-form-field-no-animations) .mdc-text-field--with-leading-icon.mdc-text-field--outlined .mdc-floating-label--shake{animation:mdc-floating-label-shake-float-above-text-field-outlined-leading-icon 250ms 1}@keyframes mdc-floating-label-shake-float-above-text-field-outlined-leading-icon{0%{transform:translateX(calc(0% - 32px)) translateY(calc(0% - 34.75px)) scale(0.75)}33%{animation-timing-function:cubic-bezier(0.5, 0, 0.701732, 0.495819);transform:translateX(calc(4% - 32px)) translateY(calc(0% - 34.75px)) scale(0.75)}66%{animation-timing-function:cubic-bezier(0.302435, 0.381352, 0.55, 0.956352);transform:translateX(calc(-4% - 32px)) translateY(calc(0% - 34.75px)) scale(0.75)}100%{transform:translateX(calc(0% - 32px)) translateY(calc(0% - 34.75px)) scale(0.75)}}[dir=rtl] .mat-mdc-form-field:not(.mat-form-field-no-animations) .mdc-text-field--with-leading-icon.mdc-text-field--outlined .mdc-floating-label--shake,.mat-mdc-form-field:not(.mat-form-field-no-animations) .mdc-text-field--with-leading-icon.mdc-text-field--outlined[dir=rtl] .mdc-floating-label--shake{animation:mdc-floating-label-shake-float-above-text-field-outlined-leading-icon 250ms 1}@keyframes mdc-floating-label-shake-float-above-text-field-outlined-leading-icon-rtl{0%{transform:translateX(calc(0% - -32px)) translateY(calc(0% - 34.75px)) scale(0.75)}33%{animation-timing-function:cubic-bezier(0.5, 0, 0.701732, 0.495819);transform:translateX(calc(4% - -32px)) translateY(calc(0% - 34.75px)) scale(0.75)}66%{animation-timing-function:cubic-bezier(0.302435, 0.381352, 0.55, 0.956352);transform:translateX(calc(-4% - -32px)) translateY(calc(0% - 34.75px)) scale(0.75)}100%{transform:translateX(calc(0% - -32px)) translateY(calc(0% - 34.75px)) scale(0.75)}}.mat-mdc-form-field:not(.mat-form-field-no-animations) .mdc-floating-label{transition:transform 150ms cubic-bezier(0.4, 0, 0.2, 1),color 150ms cubic-bezier(0.4, 0, 0.2, 1)}.mdc-floating-label--shake{animation:mdc-floating-label-shake-float-above-standard 250ms 1}@keyframes mdc-floating-label-shake-float-above-standard{0%{transform:translateX(calc(0% - 0%)) translateY(calc(0% - 106%)) scale(0.75)}33%{animation-timing-function:cubic-bezier(0.5, 0, 0.701732, 0.495819);transform:translateX(calc(4% - 0%)) translateY(calc(0% - 106%)) scale(0.75)}66%{animation-timing-function:cubic-bezier(0.302435, 0.381352, 0.55, 0.956352);transform:translateX(calc(-4% - 0%)) translateY(calc(0% - 106%)) scale(0.75)}100%{transform:translateX(calc(0% - 0%)) translateY(calc(0% - 106%)) scale(0.75)}}.mat-mdc-form-field:not(.mat-form-field-no-animations) .mdc-line-ripple::after{transition:transform 180ms cubic-bezier(0.4, 0, 0.2, 1),opacity 180ms cubic-bezier(0.4, 0, 0.2, 1)}.mdc-notched-outline .mdc-floating-label{max-width:calc(100% + 1px)}.mdc-notched-outline--upgraded .mdc-floating-label--float-above{max-width:calc(133.3333333333% + 1px)}'],encapsulation:2,data:{animation:[SZ.transitionMessages]},changeDetection:0})}return t})(),ud=(()=>{class t{static#e=this.\u0275fac=function(i){return new(i||t)};static#t=this.\u0275mod=Oe({type:t});static#n=this.\u0275inj=Re({imports:[_t,is,FT,_t]})}return t})();function hd(t){return Ot((n,e)=>{let o,i=null,r=!1;i=n.subscribe(ft(e,void 0,void 0,s=>{o=Zt(t(s,hd(t)(n))),i?(i.unsubscribe(),i=null,o.subscribe(e)):r=!0})),r&&(i.unsubscribe(),i=null,o.subscribe(e))})}function _s(t){return Ot((n,e)=>{try{n.subscribe(e)}finally{e.add(t)}})}const TZ=["*"];let nm;function fd(t){return function kZ(){if(void 0===nm&&(nm=null,typeof window<"u")){const t=window;void 0!==t.trustedTypes&&(nm=t.trustedTypes.createPolicy("angular#components",{createHTML:n=>n}))}return nm}()?.createHTML(t)||t}function bF(t){return Error(`Unable to find icon with the name "${t}"`)}function vF(t){return Error(`The URL provided to MatIconRegistry was not trusted as a resource URL via Angular's DomSanitizer. Attempted URL was "${t}".`)}function yF(t){return Error(`The literal provided to MatIconRegistry was not trusted as safe HTML by Angular's DomSanitizer. Attempted literal was "${t}".`)}class bs{constructor(n,e,i){this.url=n,this.svgText=e,this.options=i}}let im=(()=>{class t{constructor(e,i,r,o){this._httpClient=e,this._sanitizer=i,this._errorHandler=o,this._svgIconConfigs=new Map,this._iconSetConfigs=new Map,this._cachedIconsByUrl=new Map,this._inProgressUrlFetches=new Map,this._fontCssClassesByAlias=new Map,this._resolvers=[],this._defaultFontSetClass=["material-icons","mat-ligature-font"],this._document=r}addSvgIcon(e,i,r){return this.addSvgIconInNamespace("",e,i,r)}addSvgIconLiteral(e,i,r){return this.addSvgIconLiteralInNamespace("",e,i,r)}addSvgIconInNamespace(e,i,r,o){return this._addSvgIconConfig(e,i,new bs(r,null,o))}addSvgIconResolver(e){return this._resolvers.push(e),this}addSvgIconLiteralInNamespace(e,i,r,o){const s=this._sanitizer.sanitize(_n.HTML,r);if(!s)throw yF(r);const a=fd(s);return this._addSvgIconConfig(e,i,new bs("",a,o))}addSvgIconSet(e,i){return this.addSvgIconSetInNamespace("",e,i)}addSvgIconSetLiteral(e,i){return this.addSvgIconSetLiteralInNamespace("",e,i)}addSvgIconSetInNamespace(e,i,r){return this._addSvgIconSetConfig(e,new bs(i,null,r))}addSvgIconSetLiteralInNamespace(e,i,r){const o=this._sanitizer.sanitize(_n.HTML,i);if(!o)throw yF(i);const s=fd(o);return this._addSvgIconSetConfig(e,new bs("",s,r))}registerFontClassAlias(e,i=e){return this._fontCssClassesByAlias.set(e,i),this}classNameForFontAlias(e){return this._fontCssClassesByAlias.get(e)||e}setDefaultFontSetClass(...e){return this._defaultFontSetClass=e,this}getDefaultFontSetClass(){return this._defaultFontSetClass}getSvgIconFromUrl(e){const i=this._sanitizer.sanitize(_n.RESOURCE_URL,e);if(!i)throw vF(e);const r=this._cachedIconsByUrl.get(i);return r?bn(rm(r)):this._loadSvgIconFromConfig(new bs(e,null)).pipe(or(o=>this._cachedIconsByUrl.set(i,o)),ye(o=>rm(o)))}getNamedSvgIcon(e,i=""){const r=AF(i,e);let o=this._svgIconConfigs.get(r);if(o)return this._getSvgFromConfig(o);if(o=this._getIconConfigFromResolvers(i,e),o)return this._svgIconConfigs.set(r,o),this._getSvgFromConfig(o);const s=this._iconSetConfigs.get(i);return s?this._getSvgFromIconSetConfigs(e,s):nd(bF(r))}ngOnDestroy(){this._resolvers=[],this._svgIconConfigs.clear(),this._iconSetConfigs.clear(),this._cachedIconsByUrl.clear()}_getSvgFromConfig(e){return e.svgText?bn(rm(this._svgElementFromConfig(e))):this._loadSvgIconFromConfig(e).pipe(ye(i=>rm(i)))}_getSvgFromIconSetConfigs(e,i){const r=this._extractIconWithNameFromAnySet(e,i);return r?bn(r):N1(i.filter(s=>!s.svgText).map(s=>this._loadSvgIconSetFromConfig(s).pipe(hd(a=>{const l=`Loading icon set URL: ${this._sanitizer.sanitize(_n.RESOURCE_URL,s.url)} failed: ${a.message}`;return this._errorHandler.handleError(new Error(l)),bn(null)})))).pipe(ye(()=>{const s=this._extractIconWithNameFromAnySet(e,i);if(!s)throw bF(e);return s}))}_extractIconWithNameFromAnySet(e,i){for(let r=i.length-1;r>=0;r--){const o=i[r];if(o.svgText&&o.svgText.toString().indexOf(e)>-1){const s=this._svgElementFromConfig(o),a=this._extractSvgIconFromSet(s,e,o.options);if(a)return a}}return null}_loadSvgIconFromConfig(e){return this._fetchIcon(e).pipe(or(i=>e.svgText=i),ye(()=>this._svgElementFromConfig(e)))}_loadSvgIconSetFromConfig(e){return e.svgText?bn(null):this._fetchIcon(e).pipe(or(i=>e.svgText=i))}_extractSvgIconFromSet(e,i,r){const o=e.querySelector(`[id="${i}"]`);if(!o)return null;const s=o.cloneNode(!0);if(s.removeAttribute("id"),"svg"===s.nodeName.toLowerCase())return this._setSvgAttributes(s,r);if("symbol"===s.nodeName.toLowerCase())return this._setSvgAttributes(this._toSvgElement(s),r);const a=this._svgElementFromString(fd(""));return a.appendChild(s),this._setSvgAttributes(a,r)}_svgElementFromString(e){const i=this._document.createElement("DIV");i.innerHTML=e;const r=i.querySelector("svg");if(!r)throw Error(" tag not found");return r}_toSvgElement(e){const i=this._svgElementFromString(fd("")),r=e.attributes;for(let o=0;ofd(l)),_s(()=>this._inProgressUrlFetches.delete(s)),aF());return this._inProgressUrlFetches.set(s,c),c}_addSvgIconConfig(e,i,r){return this._svgIconConfigs.set(AF(e,i),r),this}_addSvgIconSetConfig(e,i){const r=this._iconSetConfigs.get(e);return r?r.push(i):this._iconSetConfigs.set(e,[i]),this}_svgElementFromConfig(e){if(!e.svgElement){const i=this._svgElementFromString(e.svgText);this._setSvgAttributes(i,e.options),e.svgElement=i}return e.svgElement}_getIconConfigFromResolvers(e,i){for(let r=0;rn?n.pathname+n.search:""}}}),xF=["clip-path","color-profile","src","cursor","fill","filter","marker","marker-start","marker-mid","marker-end","mask","stroke"],BZ=xF.map(t=>`[${t}]`).join(", "),VZ=/^url\(['"]?#(.*?)['"]?\)$/;let Zy=(()=>{class t{get color(){return this._color||this._defaultColor}set color(e){this._color=e}get svgIcon(){return this._svgIcon}set svgIcon(e){e!==this._svgIcon&&(e?this._updateSvgIcon(e):this._svgIcon&&this._clearSvgElement(),this._svgIcon=e)}get fontSet(){return this._fontSet}set fontSet(e){const i=this._cleanupFontValue(e);i!==this._fontSet&&(this._fontSet=i,this._updateFontIconClasses())}get fontIcon(){return this._fontIcon}set fontIcon(e){const i=this._cleanupFontValue(e);i!==this._fontIcon&&(this._fontIcon=i,this._updateFontIconClasses())}constructor(e,i,r,o,s,a){this._elementRef=e,this._iconRegistry=i,this._location=o,this._errorHandler=s,this.inline=!1,this._previousFontSetClass=[],this._currentIconFetch=Et.EMPTY,a&&(a.color&&(this.color=this._defaultColor=a.color),a.fontSet&&(this.fontSet=a.fontSet)),r||e.nativeElement.setAttribute("aria-hidden","true")}_splitIconName(e){if(!e)return["",""];const i=e.split(":");switch(i.length){case 1:return["",i[0]];case 2:return i;default:throw Error(`Invalid icon name: "${e}"`)}}ngOnInit(){this._updateFontIconClasses()}ngAfterViewChecked(){const e=this._elementsWithExternalReferences;if(e&&e.size){const i=this._location.getPathname();i!==this._previousPath&&(this._previousPath=i,this._prependPathToReferences(i))}}ngOnDestroy(){this._currentIconFetch.unsubscribe(),this._elementsWithExternalReferences&&this._elementsWithExternalReferences.clear()}_usingFontIcon(){return!this.svgIcon}_setSvgElement(e){this._clearSvgElement();const i=this._location.getPathname();this._previousPath=i,this._cacheChildrenWithExternalReferences(e),this._prependPathToReferences(i),this._elementRef.nativeElement.appendChild(e)}_clearSvgElement(){const e=this._elementRef.nativeElement;let i=e.childNodes.length;for(this._elementsWithExternalReferences&&this._elementsWithExternalReferences.clear();i--;){const r=e.childNodes[i];(1!==r.nodeType||"svg"===r.nodeName.toLowerCase())&&r.remove()}}_updateFontIconClasses(){if(!this._usingFontIcon())return;const e=this._elementRef.nativeElement,i=(this.fontSet?this._iconRegistry.classNameForFontAlias(this.fontSet).split(/ +/):this._iconRegistry.getDefaultFontSetClass()).filter(r=>r.length>0);this._previousFontSetClass.forEach(r=>e.classList.remove(r)),i.forEach(r=>e.classList.add(r)),this._previousFontSetClass=i,this.fontIcon!==this._previousFontIconClass&&!i.includes("mat-ligature-font")&&(this._previousFontIconClass&&e.classList.remove(this._previousFontIconClass),this.fontIcon&&e.classList.add(this.fontIcon),this._previousFontIconClass=this.fontIcon)}_cleanupFontValue(e){return"string"==typeof e?e.trim().split(" ")[0]:e}_prependPathToReferences(e){const i=this._elementsWithExternalReferences;i&&i.forEach((r,o)=>{r.forEach(s=>{o.setAttribute(s.name,`url('${e}#${s.value}')`)})})}_cacheChildrenWithExternalReferences(e){const i=e.querySelectorAll(BZ),r=this._elementsWithExternalReferences=this._elementsWithExternalReferences||new Map;for(let o=0;o{const a=i[o],c=a.getAttribute(s),l=c?c.match(VZ):null;if(l){let d=r.get(a);d||(d=[],r.set(a,d)),d.push({name:s,value:l[1]})}})}_updateSvgIcon(e){if(this._svgNamespace=null,this._svgName=null,this._currentIconFetch.unsubscribe(),e){const[i,r]=this._splitIconName(e);i&&(this._svgNamespace=i),r&&(this._svgName=r),this._currentIconFetch=this._iconRegistry.getNamedSvgIcon(r,i).pipe(Rt(1)).subscribe(o=>this._setSvgElement(o),o=>{this._errorHandler.handleError(new Error(`Error retrieving icon ${i}:${r}! ${o.message}`))})}}static#e=this.\u0275fac=function(i){return new(i||t)(C(Ne),C(im),vr("aria-hidden"),C(PZ),C(ai),C(NZ,8))};static#t=this.\u0275cmp=mt({type:t,selectors:[["mat-icon"]],hostAttrs:["role","img",1,"mat-icon","notranslate"],hostVars:10,hostBindings:function(i,r){2&i&&(Xe("data-mat-icon-type",r._usingFontIcon()?"font":"svg")("data-mat-icon-name",r._svgName||r.fontIcon)("data-mat-icon-namespace",r._svgNamespace||r.fontSet)("fontIcon",r._usingFontIcon()?r.fontIcon:null),so(r.color?"mat-"+r.color:""),st("mat-icon-inline",r.inline)("mat-icon-no-color","primary"!==r.color&&"accent"!==r.color&&"warn"!==r.color))},inputs:{color:"color",inline:[X.HasDecoratorInputTransform,"inline","inline",Je],svgIcon:"svgIcon",fontSet:"fontSet",fontIcon:"fontIcon"},exportAs:["matIcon"],standalone:!0,features:[Er,Gt],ngContentSelectors:TZ,decls:1,vars:0,template:function(i,r){1&i&&(Mn(),qe(0))},styles:["mat-icon,mat-icon.mat-primary,mat-icon.mat-accent,mat-icon.mat-warn{color:var(--mat-icon-color)}.mat-icon{-webkit-user-select:none;user-select:none;background-repeat:no-repeat;display:inline-block;fill:currentColor;height:24px;width:24px;overflow:hidden}.mat-icon.mat-icon-inline{font-size:inherit;height:inherit;line-height:inherit;width:inherit}.mat-icon.mat-ligature-font[fontIcon]::before{content:attr(fontIcon)}[dir=rtl] .mat-icon-rtl-mirror{transform:scale(-1, 1)}.mat-form-field:not(.mat-form-field-appearance-legacy) .mat-form-field-prefix .mat-icon,.mat-form-field:not(.mat-form-field-appearance-legacy) .mat-form-field-suffix .mat-icon{display:block}.mat-form-field:not(.mat-form-field-appearance-legacy) .mat-form-field-prefix .mat-icon-button .mat-icon,.mat-form-field:not(.mat-form-field-appearance-legacy) .mat-form-field-suffix .mat-icon-button .mat-icon{margin:auto}"],encapsulation:2,changeDetection:0})}return t})(),EF=(()=>{class t{static#e=this.\u0275fac=function(i){return new(i||t)};static#t=this.\u0275mod=Oe({type:t});static#n=this.\u0275inj=Re({imports:[_t,_t]})}return t})();const wF=Bl({passive:!0});let HZ=(()=>{class t{constructor(e,i){this._platform=e,this._ngZone=i,this._monitoredElements=new Map}monitor(e){if(!this._platform.isBrowser)return za;const i=po(e),r=this._monitoredElements.get(i);if(r)return r.subject;const o=new ue,s="cdk-text-field-autofilled",a=c=>{"cdk-text-field-autofill-start"!==c.animationName||i.classList.contains(s)?"cdk-text-field-autofill-end"===c.animationName&&i.classList.contains(s)&&(i.classList.remove(s),this._ngZone.run(()=>o.next({target:c.target,isAutofilled:!1}))):(i.classList.add(s),this._ngZone.run(()=>o.next({target:c.target,isAutofilled:!0})))};return this._ngZone.runOutsideAngular(()=>{i.addEventListener("animationstart",a,wF),i.classList.add("cdk-text-field-autofill-monitored")}),this._monitoredElements.set(i,{subject:o,unlisten:()=>{i.removeEventListener("animationstart",a,wF)}}),o}stopMonitoring(e){const i=po(e),r=this._monitoredElements.get(i);r&&(r.unlisten(),r.subject.complete(),i.classList.remove("cdk-text-field-autofill-monitored"),i.classList.remove("cdk-text-field-autofilled"),this._monitoredElements.delete(i))}ngOnDestroy(){this._monitoredElements.forEach((e,i)=>this.stopMonitoring(i))}static#e=this.\u0275fac=function(i){return new(i||t)(R(Kt),R(de))};static#t=this.\u0275prov=q({token:t,factory:t.\u0275fac,providedIn:"root"})}return t})(),jZ=(()=>{class t{static#e=this.\u0275fac=function(i){return new(i||t)};static#t=this.\u0275mod=Oe({type:t});static#n=this.\u0275inj=Re({})}return t})();const UZ=new j("MAT_INPUT_VALUE_ACCESSOR"),zZ=["button","checkbox","file","hidden","image","radio","range","reset","submit"];let GZ=0,$Z=(()=>{class t{get disabled(){return this._disabled}set disabled(e){this._disabled=cf(e),this.focused&&(this.focused=!1,this.stateChanges.next())}get id(){return this._id}set id(e){this._id=e||this._uid}get required(){return this._required??this.ngControl?.control?.hasValidator(ps.required)??!1}set required(e){this._required=cf(e)}get type(){return this._type}set type(e){this._type=e||"text",this._validateType(),!this._isTextarea&&CT().has(this._type)&&(this._elementRef.nativeElement.type=this._type)}get errorStateMatcher(){return this._errorStateTracker.matcher}set errorStateMatcher(e){this._errorStateTracker.matcher=e}get value(){return this._inputValueAccessor.value}set value(e){e!==this.value&&(this._inputValueAccessor.value=e,this.stateChanges.next())}get readonly(){return this._readonly}set readonly(e){this._readonly=cf(e)}get errorState(){return this._errorStateTracker.errorState}set errorState(e){this._errorStateTracker.errorState=e}constructor(e,i,r,o,s,a,c,l,d,u){this._elementRef=e,this._platform=i,this.ngControl=r,this._autofillMonitor=l,this._formField=u,this._uid="mat-input-"+GZ++,this.focused=!1,this.stateChanges=new ue,this.controlType="mat-input",this.autofilled=!1,this._disabled=!1,this._type="text",this._readonly=!1,this._neverEmptyInputTypes=["date","datetime","datetime-local","month","time","week"].filter(p=>CT().has(p)),this._iOSKeyupListener=p=>{const g=p.target;!g.value&&0===g.selectionStart&&0===g.selectionEnd&&(g.setSelectionRange(1,1),g.setSelectionRange(0,0))};const h=this._elementRef.nativeElement,f=h.nodeName.toLowerCase();this._inputValueAccessor=c||h,this._previousNativeValue=this.value,this.id=this.id,i.IOS&&d.runOutsideAngular(()=>{e.nativeElement.addEventListener("keyup",this._iOSKeyupListener)}),this._errorStateTracker=new Fv(a,r,s,o,this.stateChanges),this._isServer=!this._platform.isBrowser,this._isNativeSelect="select"===f,this._isTextarea="textarea"===f,this._isInFormField=!!u,this._isNativeSelect&&(this.controlType=h.multiple?"mat-native-select-multiple":"mat-native-select")}ngAfterViewInit(){this._platform.isBrowser&&this._autofillMonitor.monitor(this._elementRef.nativeElement).subscribe(e=>{this.autofilled=e.isAutofilled,this.stateChanges.next()})}ngOnChanges(){this.stateChanges.next()}ngOnDestroy(){this.stateChanges.complete(),this._platform.isBrowser&&this._autofillMonitor.stopMonitoring(this._elementRef.nativeElement),this._platform.IOS&&this._elementRef.nativeElement.removeEventListener("keyup",this._iOSKeyupListener)}ngDoCheck(){this.ngControl&&(this.updateErrorState(),null!==this.ngControl.disabled&&this.ngControl.disabled!==this.disabled&&(this.disabled=this.ngControl.disabled,this.stateChanges.next())),this._dirtyCheckNativeValue(),this._dirtyCheckPlaceholder()}focus(e){this._elementRef.nativeElement.focus(e)}updateErrorState(){this._errorStateTracker.updateErrorState()}_focusChanged(e){e!==this.focused&&(this.focused=e,this.stateChanges.next())}_onInput(){}_dirtyCheckNativeValue(){const e=this._elementRef.nativeElement.value;this._previousNativeValue!==e&&(this._previousNativeValue=e,this.stateChanges.next())}_dirtyCheckPlaceholder(){const e=this._getPlaceholder();if(e!==this._previousPlaceholder){const i=this._elementRef.nativeElement;this._previousPlaceholder=e,e?i.setAttribute("placeholder",e):i.removeAttribute("placeholder")}}_getPlaceholder(){return this.placeholder||null}_validateType(){zZ.indexOf(this._type)}_isNeverEmpty(){return this._neverEmptyInputTypes.indexOf(this._type)>-1}_isBadInput(){let e=this._elementRef.nativeElement.validity;return e&&e.badInput}get empty(){return!(this._isNeverEmpty()||this._elementRef.nativeElement.value||this._isBadInput()||this.autofilled)}get shouldLabelFloat(){if(this._isNativeSelect){const e=this._elementRef.nativeElement,i=e.options[0];return this.focused||e.multiple||!this.empty||!!(e.selectedIndex>-1&&i&&i.label)}return this.focused||!this.empty}setDescribedByIds(e){e.length?this._elementRef.nativeElement.setAttribute("aria-describedby",e.join(" ")):this._elementRef.nativeElement.removeAttribute("aria-describedby")}onContainerClick(){this.focused||this.focus()}_isInlineSelect(){const e=this._elementRef.nativeElement;return this._isNativeSelect&&(e.multiple||e.size>1)}static#e=this.\u0275fac=function(i){return new(i||t)(C(Ne),C(Kt),C(lr,10),C(ld,8),C(Ja,8),C(ok),C(UZ,10),C(HZ),C(de),C(Qy,8))};static#t=this.\u0275dir=J({type:t,selectors:[["input","matInput",""],["textarea","matInput",""],["select","matNativeControl",""],["input","matNativeControl",""],["textarea","matNativeControl",""]],hostAttrs:[1,"mat-mdc-input-element"],hostVars:18,hostBindings:function(i,r){1&i&&Ue("focus",function(){return r._focusChanged(!0)})("blur",function(){return r._focusChanged(!1)})("input",function(){return r._onInput()}),2&i&&(nr("id",r.id)("disabled",r.disabled)("required",r.required),Xe("name",r.name||null)("readonly",r.readonly&&!r._isNativeSelect||null)("aria-invalid",r.empty&&r.required?null:r.errorState)("aria-required",r.required)("id",r.id),st("mat-input-server",r._isServer)("mat-mdc-form-field-textarea-control",r._isInFormField&&r._isTextarea)("mat-mdc-form-field-input-control",r._isInFormField)("mdc-text-field__input",r._isInFormField)("mat-mdc-native-select-inline",r._isInlineSelect()))},inputs:{disabled:"disabled",id:"id",placeholder:"placeholder",name:"name",required:"required",type:"type",errorStateMatcher:"errorStateMatcher",userAriaDescribedBy:[X.None,"aria-describedby","userAriaDescribedBy"],value:"value",readonly:"readonly"},exportAs:["matInput"],standalone:!0,features:[Ye([{provide:Yy,useExisting:t}]),Sn]})}return t})(),SF=(()=>{class t{static#e=this.\u0275fac=function(i){return new(i||t)};static#t=this.\u0275mod=Oe({type:t});static#n=this.\u0275inj=Re({imports:[_t,ud,ud,jZ,_t]})}return t})();class qZ{get selected(){return this._selected||(this._selected=Array.from(this._selection.values())),this._selected}constructor(n=!1,e,i=!0,r){this._multiple=n,this._emitChanges=i,this.compareWith=r,this._selection=new Set,this._deselectedToEmit=[],this._selectedToEmit=[],this.changed=new ue,e&&e.length&&(n?e.forEach(o=>this._markSelected(o)):this._markSelected(e[0]),this._selectedToEmit.length=0)}select(...n){this._verifyValueAssignment(n),n.forEach(i=>this._markSelected(i));const e=this._hasQueuedChanges();return this._emitChangeEvent(),e}deselect(...n){this._verifyValueAssignment(n),n.forEach(i=>this._unmarkSelected(i));const e=this._hasQueuedChanges();return this._emitChangeEvent(),e}setSelection(...n){this._verifyValueAssignment(n);const e=this.selected,i=new Set(n);n.forEach(o=>this._markSelected(o)),e.filter(o=>!i.has(this._getConcreteValue(o,i))).forEach(o=>this._unmarkSelected(o));const r=this._hasQueuedChanges();return this._emitChangeEvent(),r}toggle(n){return this.isSelected(n)?this.deselect(n):this.select(n)}clear(n=!0){this._unmarkAll();const e=this._hasQueuedChanges();return n&&this._emitChangeEvent(),e}isSelected(n){return this._selection.has(this._getConcreteValue(n))}isEmpty(){return 0===this._selection.size}hasValue(){return!this.isEmpty()}sort(n){this._multiple&&this.selected&&this._selected.sort(n)}isMultipleSelection(){return this._multiple}_emitChangeEvent(){this._selected=null,(this._selectedToEmit.length||this._deselectedToEmit.length)&&(this.changed.next({source:this,added:this._selectedToEmit,removed:this._deselectedToEmit}),this._deselectedToEmit=[],this._selectedToEmit=[])}_markSelected(n){n=this._getConcreteValue(n),this.isSelected(n)||(this._multiple||this._unmarkAll(),this.isSelected(n)||this._selection.add(n),this._emitChanges&&this._selectedToEmit.push(n))}_unmarkSelected(n){n=this._getConcreteValue(n),this.isSelected(n)&&(this._selection.delete(n),this._emitChanges&&this._deselectedToEmit.push(n))}_unmarkAll(){this.isEmpty()||this._selection.forEach(n=>this._unmarkSelected(n))}_verifyValueAssignment(n){}_hasQueuedChanges(){return!(!this._deselectedToEmit.length&&!this._selectedToEmit.length)}_getConcreteValue(n,e){if(this.compareWith){e=e??this._selection;for(let i of e)if(this.compareWith(n,i))return i;return n}return n}}const YZ=["trigger"],QZ=["panel"],ZZ=[[["mat-select-trigger"]],"*"],KZ=["mat-select-trigger","*"];function JZ(t,n){if(1&t&&(U(0,"span",4),ve(1),W()),2&t){const e=pt();K(),Li(e.placeholder)}}function eK(t,n){1&t&&qe(0)}function tK(t,n){if(1&t&&(U(0,"span",11),ve(1),W()),2&t){const e=pt(2);K(),Li(e.triggerValue)}}function nK(t,n){if(1&t&&(U(0,"span",10),we(1,eK,1,0)(2,tK,2,1),W()),2&t){const e=pt();K(),zt(1,e.customTrigger?1:2)}}function iK(t,n){if(1&t){const e=wr();U(0,"div",12,1),Ue("@transformPanel.done",function(r){return hn(e),fn(pt()._panelDoneAnimatingStream.next(r.toState))})("keydown",function(r){return hn(e),fn(pt()._handleKeydown(r))}),qe(2,1),W()}if(2&t){const e=pt();(function _D(t,n,e){Pi(ri,tr,Da(B(),t,n,e),!0)})("mat-mdc-select-panel mdc-menu-surface mdc-menu-surface--open ",e._getPanelTheme(),""),se("ngClass",e.panelClass)("@transformPanel","showing"),Xe("id",e.id+"-panel")("aria-multiselectable",e.multiple)("aria-label",e.ariaLabel||null)("aria-labelledby",e._getPanelAriaLabelledby())}}const rK={transformPanelWrap:Wa("transformPanelWrap",[sr("* => void",Bv("@transformPanel",[Lv()],{optional:!0}))]),transformPanel:Wa("transformPanel",[Fr("void",vn({opacity:0,transform:"scale(1, 0.8)"})),sr("void => showing",Rr("120ms cubic-bezier(0, 0, 0.2, 1)",vn({opacity:1,transform:"scale(1, 1)"}))),sr("* => void",Rr("100ms linear",vn({opacity:0})))])};let DF=0;const CF=new j("mat-select-scroll-strategy",{providedIn:"root",factory:()=>{const t=ne(Qn);return()=>t.scrollStrategies.reposition()}}),sK=new j("MAT_SELECT_CONFIG"),aK={provide:CF,deps:[Qn],useFactory:function oK(t){return()=>t.scrollStrategies.reposition()}},cK=new j("MatSelectTrigger");class lK{constructor(n,e){this.source=n,this.value=e}}let dK=(()=>{class t{_scrollOptionIntoView(e){const i=this.options.toArray()[e];if(i){const r=this.panel.nativeElement,o=function oq(t,n,e){if(e.length){let i=n.toArray(),r=e.toArray(),o=0;for(let s=0;se+i?Math.max(0,t-i+n):e}(s.offsetTop,s.offsetHeight,r.scrollTop,r.offsetHeight)}}_positioningSettled(){this._scrollOptionIntoView(this._keyManager.activeItemIndex||0)}_getChangeEvent(e){return new lK(this,e)}get focused(){return this._focused||this._panelOpen}get hideSingleSelectionIndicator(){return this._hideSingleSelectionIndicator}set hideSingleSelectionIndicator(e){this._hideSingleSelectionIndicator=e,this._syncParentProperties()}get placeholder(){return this._placeholder}set placeholder(e){this._placeholder=e,this.stateChanges.next()}get required(){return this._required??this.ngControl?.control?.hasValidator(ps.required)??!1}set required(e){this._required=e,this.stateChanges.next()}get multiple(){return this._multiple}set multiple(e){this._multiple=e}get compareWith(){return this._compareWith}set compareWith(e){this._compareWith=e,this._selectionModel&&this._initializeSelection()}get value(){return this._value}set value(e){this._assignValue(e)&&this._onChange(e)}get errorStateMatcher(){return this._errorStateTracker.matcher}set errorStateMatcher(e){this._errorStateTracker.matcher=e}get id(){return this._id}set id(e){this._id=e||this._uid,this.stateChanges.next()}get errorState(){return this._errorStateTracker.errorState}set errorState(e){this._errorStateTracker.errorState=e}constructor(e,i,r,o,s,a,c,l,d,u,h,f,p,g){this._viewportRuler=e,this._changeDetectorRef=i,this._elementRef=s,this._dir=a,this._parentFormField=d,this.ngControl=u,this._liveAnnouncer=p,this._defaultOptions=g,this._positions=[{originX:"start",originY:"bottom",overlayX:"start",overlayY:"top"},{originX:"end",originY:"bottom",overlayX:"end",overlayY:"top"},{originX:"start",originY:"top",overlayX:"start",overlayY:"bottom",panelClass:"mat-mdc-select-panel-above"},{originX:"end",originY:"top",overlayX:"end",overlayY:"bottom",panelClass:"mat-mdc-select-panel-above"}],this._panelOpen=!1,this._compareWith=(_,x)=>_===x,this._uid="mat-select-"+DF++,this._triggerAriaLabelledBy=null,this._destroy=new ue,this.stateChanges=new ue,this._onChange=()=>{},this._onTouched=()=>{},this._valueId="mat-select-value-"+DF++,this._panelDoneAnimatingStream=new ue,this._overlayPanelClass=this._defaultOptions?.overlayPanelClass||"",this._focused=!1,this.controlType="mat-select",this.disabled=!1,this.disableRipple=!1,this.tabIndex=0,this._hideSingleSelectionIndicator=this._defaultOptions?.hideSingleSelectionIndicator??!1,this._multiple=!1,this.disableOptionCentering=this._defaultOptions?.disableOptionCentering??!1,this.ariaLabel="",this.panelWidth=this._defaultOptions&&typeof this._defaultOptions.panelWidth<"u"?this._defaultOptions.panelWidth:"auto",this._initialized=new ue,this.optionSelectionChanges=td(()=>{const _=this.options;return _?_.changes.pipe(dn(_),Pt(()=>wi(..._.map(x=>x.onSelectionChange)))):this._initialized.pipe(Pt(()=>this.optionSelectionChanges))}),this.openedChange=new Te,this._openedStream=this.openedChange.pipe($e(_=>_),ye(()=>{})),this._closedStream=this.openedChange.pipe($e(_=>!_),ye(()=>{})),this.selectionChange=new Te,this.valueChange=new Te,this._trackedModal=null,this._skipPredicate=_=>!this.panelOpen&&_.disabled,this.ngControl&&(this.ngControl.valueAccessor=this),null!=g?.typeaheadDebounceInterval&&(this.typeaheadDebounceInterval=g.typeaheadDebounceInterval),this._errorStateTracker=new Fv(o,u,l,c,this.stateChanges),this._scrollStrategyFactory=f,this._scrollStrategy=this._scrollStrategyFactory(),this.tabIndex=parseInt(h)||0,this.id=this.id}ngOnInit(){this._selectionModel=new qZ(this.multiple),this.stateChanges.next(),this._panelDoneAnimatingStream.pipe(Dv(),Tn(this._destroy)).subscribe(()=>this._panelDoneAnimating(this.panelOpen)),this._viewportRuler.change().pipe(Tn(this._destroy)).subscribe(()=>{this.panelOpen&&(this._overlayWidth=this._getOverlayWidth(this._preferredOverlayOrigin),this._changeDetectorRef.detectChanges())})}ngAfterContentInit(){this._initialized.next(),this._initialized.complete(),this._initKeyManager(),this._selectionModel.changed.pipe(Tn(this._destroy)).subscribe(e=>{e.added.forEach(i=>i.select()),e.removed.forEach(i=>i.deselect())}),this.options.changes.pipe(dn(null),Tn(this._destroy)).subscribe(()=>{this._resetOptions(),this._initializeSelection()})}ngDoCheck(){const e=this._getTriggerAriaLabelledby(),i=this.ngControl;if(e!==this._triggerAriaLabelledBy){const r=this._elementRef.nativeElement;this._triggerAriaLabelledBy=e,e?r.setAttribute("aria-labelledby",e):r.removeAttribute("aria-labelledby")}i&&(this._previousControl!==i.control&&(void 0!==this._previousControl&&null!==i.disabled&&i.disabled!==this.disabled&&(this.disabled=i.disabled),this._previousControl=i.control),this.updateErrorState())}ngOnChanges(e){(e.disabled||e.userAriaDescribedBy)&&this.stateChanges.next(),e.typeaheadDebounceInterval&&this._keyManager&&this._keyManager.withTypeAhead(this.typeaheadDebounceInterval)}ngOnDestroy(){this._keyManager?.destroy(),this._destroy.next(),this._destroy.complete(),this.stateChanges.complete(),this._clearFromModal()}toggle(){this.panelOpen?this.close():this.open()}open(){this._canOpen()&&(this._parentFormField&&(this._preferredOverlayOrigin=this._parentFormField.getConnectedOverlayOrigin()),this._overlayWidth=this._getOverlayWidth(this._preferredOverlayOrigin),this._applyModalPanelOwnership(),this._panelOpen=!0,this._keyManager.withHorizontalOrientation(null),this._highlightCorrectOption(),this._changeDetectorRef.markForCheck(),this.stateChanges.next())}_applyModalPanelOwnership(){const e=this._elementRef.nativeElement.closest('body > .cdk-overlay-container [aria-modal="true"]');if(!e)return;const i=`${this.id}-panel`;this._trackedModal&&zT(this._trackedModal,"aria-owns",i),function lX(t,n,e){const i=GT(t,n);e=e.trim(),!i.some(r=>r.trim()===e)&&(i.push(e),t.setAttribute(n,i.join(" ")))}(e,"aria-owns",i),this._trackedModal=e}_clearFromModal(){this._trackedModal&&(zT(this._trackedModal,"aria-owns",`${this.id}-panel`),this._trackedModal=null)}close(){this._panelOpen&&(this._panelOpen=!1,this._keyManager.withHorizontalOrientation(this._isRtl()?"rtl":"ltr"),this._changeDetectorRef.markForCheck(),this._onTouched(),this.stateChanges.next())}writeValue(e){this._assignValue(e)}registerOnChange(e){this._onChange=e}registerOnTouched(e){this._onTouched=e}setDisabledState(e){this.disabled=e,this._changeDetectorRef.markForCheck(),this.stateChanges.next()}get panelOpen(){return this._panelOpen}get selected(){return this.multiple?this._selectionModel?.selected||[]:this._selectionModel?.selected[0]}get triggerValue(){if(this.empty)return"";if(this._multiple){const e=this._selectionModel.selected.map(i=>i.viewValue);return this._isRtl()&&e.reverse(),e.join(", ")}return this._selectionModel.selected[0].viewValue}updateErrorState(){this._errorStateTracker.updateErrorState()}_isRtl(){return!!this._dir&&"rtl"===this._dir.value}_handleKeydown(e){this.disabled||(this.panelOpen?this._handleOpenKeydown(e):this._handleClosedKeydown(e))}_handleClosedKeydown(e){const i=e.keyCode,r=40===i||38===i||37===i||39===i,o=13===i||32===i,s=this._keyManager;if(!s.isTyping()&&o&&!ss(e)||(this.multiple||e.altKey)&&r)e.preventDefault(),this.open();else if(!this.multiple){const a=this.selected;s.onKeydown(e);const c=this.selected;c&&a!==c&&this._liveAnnouncer.announce(c.viewValue,1e4)}}_handleOpenKeydown(e){const i=this._keyManager,r=e.keyCode,o=40===r||38===r,s=i.isTyping();if(o&&e.altKey)e.preventDefault(),this.close();else if(s||13!==r&&32!==r||!i.activeItem||ss(e))if(!s&&this._multiple&&65===r&&e.ctrlKey){e.preventDefault();const a=this.options.some(c=>!c.disabled&&!c.selected);this.options.forEach(c=>{c.disabled||(a?c.select():c.deselect())})}else{const a=i.activeItemIndex;i.onKeydown(e),this._multiple&&o&&e.shiftKey&&i.activeItem&&i.activeItemIndex!==a&&i.activeItem._selectViaInteraction()}else e.preventDefault(),i.activeItem._selectViaInteraction()}_onFocus(){this.disabled||(this._focused=!0,this.stateChanges.next())}_onBlur(){this._focused=!1,this._keyManager?.cancelTypeahead(),!this.disabled&&!this.panelOpen&&(this._onTouched(),this._changeDetectorRef.markForCheck(),this.stateChanges.next())}_onAttached(){this._overlayDir.positionChange.pipe(Rt(1)).subscribe(()=>{this._changeDetectorRef.detectChanges(),this._positioningSettled()})}_getPanelTheme(){return this._parentFormField?`mat-${this._parentFormField.color}`:""}get empty(){return!this._selectionModel||this._selectionModel.isEmpty()}_initializeSelection(){Promise.resolve().then(()=>{this.ngControl&&(this._value=this.ngControl.value),this._setSelectionByValue(this._value),this.stateChanges.next()})}_setSelectionByValue(e){if(this.options.forEach(i=>i.setInactiveStyles()),this._selectionModel.clear(),this.multiple&&e)Array.isArray(e),e.forEach(i=>this._selectOptionByValue(i)),this._sortValues();else{const i=this._selectOptionByValue(e);i?this._keyManager.updateActiveItem(i):this.panelOpen||this._keyManager.updateActiveItem(-1)}this._changeDetectorRef.markForCheck()}_selectOptionByValue(e){const i=this.options.find(r=>{if(this._selectionModel.isSelected(r))return!1;try{return null!=r.value&&this._compareWith(r.value,e)}catch{return!1}});return i&&this._selectionModel.select(i),i}_assignValue(e){return!!(e!==this._value||this._multiple&&Array.isArray(e))&&(this.options&&this._setSelectionByValue(e),this._value=e,!0)}_getOverlayWidth(e){return"auto"===this.panelWidth?(e instanceof $v?e.elementRef:e||this._elementRef).nativeElement.getBoundingClientRect().width:null===this.panelWidth?"":this.panelWidth}_syncParentProperties(){if(this.options)for(const e of this.options)e._changeDetectorRef.markForCheck()}_initKeyManager(){this._keyManager=new hX(this.options).withTypeAhead(this.typeaheadDebounceInterval).withVerticalOrientation().withHorizontalOrientation(this._isRtl()?"rtl":"ltr").withHomeAndEnd().withPageUpDown().withAllowedModifierKeys(["shiftKey"]).skipPredicate(this._skipPredicate),this._keyManager.tabOut.subscribe(()=>{this.panelOpen&&(!this.multiple&&this._keyManager.activeItem&&this._keyManager.activeItem._selectViaInteraction(),this.focus(),this.close())}),this._keyManager.change.subscribe(()=>{this._panelOpen&&this.panel?this._scrollOptionIntoView(this._keyManager.activeItemIndex||0):!this._panelOpen&&!this.multiple&&this._keyManager.activeItem&&this._keyManager.activeItem._selectViaInteraction()})}_resetOptions(){const e=wi(this.options.changes,this._destroy);this.optionSelectionChanges.pipe(Tn(e)).subscribe(i=>{this._onSelect(i.source,i.isUserInput),i.isUserInput&&!this.multiple&&this._panelOpen&&(this.close(),this.focus())}),wi(...this.options.map(i=>i._stateChanges)).pipe(Tn(e)).subscribe(()=>{this._changeDetectorRef.detectChanges(),this.stateChanges.next()})}_onSelect(e,i){const r=this._selectionModel.isSelected(e);null!=e.value||this._multiple?(r!==e.selected&&(e.selected?this._selectionModel.select(e):this._selectionModel.deselect(e)),i&&this._keyManager.setActiveItem(e),this.multiple&&(this._sortValues(),i&&this.focus())):(e.deselect(),this._selectionModel.clear(),null!=this.value&&this._propagateChanges(e.value)),r!==this._selectionModel.isSelected(e)&&this._propagateChanges(),this.stateChanges.next()}_sortValues(){if(this.multiple){const e=this.options.toArray();this._selectionModel.sort((i,r)=>this.sortComparator?this.sortComparator(i,r,e):e.indexOf(i)-e.indexOf(r)),this.stateChanges.next()}}_propagateChanges(e){let i;i=this.multiple?this.selected.map(r=>r.value):this.selected?this.selected.value:e,this._value=i,this.valueChange.emit(i),this._onChange(i),this.selectionChange.emit(this._getChangeEvent(i)),this._changeDetectorRef.markForCheck()}_highlightCorrectOption(){if(this._keyManager)if(this.empty){let e=-1;for(let i=0;i0}focus(e){this._elementRef.nativeElement.focus(e)}_getPanelAriaLabelledby(){if(this.ariaLabel)return null;const e=this._parentFormField?.getLabelId();return this.ariaLabelledby?(e?e+" ":"")+this.ariaLabelledby:e}_getAriaActiveDescendant(){return this.panelOpen&&this._keyManager&&this._keyManager.activeItem?this._keyManager.activeItem.id:null}_getTriggerAriaLabelledby(){if(this.ariaLabel)return null;const e=this._parentFormField?.getLabelId();let i=(e?e+" ":"")+this._valueId;return this.ariaLabelledby&&(i+=" "+this.ariaLabelledby),i}_panelDoneAnimating(e){this.openedChange.emit(e)}setDescribedByIds(e){e.length?this._elementRef.nativeElement.setAttribute("aria-describedby",e.join(" ")):this._elementRef.nativeElement.removeAttribute("aria-describedby")}onContainerClick(){this.focus(),this.open()}get shouldLabelFloat(){return this.panelOpen||!this.empty||this.focused&&!!this.placeholder}static#e=this.\u0275fac=function(i){return new(i||t)(C(Uv),C(yi),C(de),C(ok),C(Ne),C($a,8),C(ld,8),C(Ja,8),C(Qy,8),C(lr,10),vr("tabindex"),C(CF),C(JT),C(sK,8))};static#t=this.\u0275cmp=mt({type:t,selectors:[["mat-select"]],contentQueries:function(i,r,o){if(1&i&&(vi(o,cK,5),vi(o,pk,5),vi(o,mk,5)),2&i){let s;Ze(s=Ke())&&(r.customTrigger=s.first),Ze(s=Ke())&&(r.options=s),Ze(s=Ke())&&(r.optionGroups=s)}},viewQuery:function(i,r){if(1&i&&(qt(YZ,5),qt(QZ,5),qt(Vk,5)),2&i){let o;Ze(o=Ke())&&(r.trigger=o.first),Ze(o=Ke())&&(r.panel=o.first),Ze(o=Ke())&&(r._overlayDir=o.first)}},hostAttrs:["role","combobox","aria-autocomplete","none","aria-haspopup","listbox",1,"mat-mdc-select"],hostVars:19,hostBindings:function(i,r){1&i&&Ue("keydown",function(s){return r._handleKeydown(s)})("focus",function(){return r._onFocus()})("blur",function(){return r._onBlur()}),2&i&&(Xe("id",r.id)("tabindex",r.disabled?-1:r.tabIndex)("aria-controls",r.panelOpen?r.id+"-panel":null)("aria-expanded",r.panelOpen)("aria-label",r.ariaLabel||null)("aria-required",r.required.toString())("aria-disabled",r.disabled.toString())("aria-invalid",r.errorState)("aria-activedescendant",r._getAriaActiveDescendant()),st("mat-mdc-select-disabled",r.disabled)("mat-mdc-select-invalid",r.errorState)("mat-mdc-select-required",r.required)("mat-mdc-select-empty",r.empty)("mat-mdc-select-multiple",r.multiple))},inputs:{userAriaDescribedBy:[X.None,"aria-describedby","userAriaDescribedBy"],panelClass:"panelClass",disabled:[X.HasDecoratorInputTransform,"disabled","disabled",Je],disableRipple:[X.HasDecoratorInputTransform,"disableRipple","disableRipple",Je],tabIndex:[X.HasDecoratorInputTransform,"tabIndex","tabIndex",e=>null==e?0:ts(e)],hideSingleSelectionIndicator:[X.HasDecoratorInputTransform,"hideSingleSelectionIndicator","hideSingleSelectionIndicator",Je],placeholder:"placeholder",required:[X.HasDecoratorInputTransform,"required","required",Je],multiple:[X.HasDecoratorInputTransform,"multiple","multiple",Je],disableOptionCentering:[X.HasDecoratorInputTransform,"disableOptionCentering","disableOptionCentering",Je],compareWith:"compareWith",value:"value",ariaLabel:[X.None,"aria-label","ariaLabel"],ariaLabelledby:[X.None,"aria-labelledby","ariaLabelledby"],errorStateMatcher:"errorStateMatcher",typeaheadDebounceInterval:[X.HasDecoratorInputTransform,"typeaheadDebounceInterval","typeaheadDebounceInterval",ts],sortComparator:"sortComparator",id:"id",panelWidth:"panelWidth"},outputs:{openedChange:"openedChange",_openedStream:"opened",_closedStream:"closed",selectionChange:"selectionChange",valueChange:"valueChange"},exportAs:["matSelect"],standalone:!0,features:[Ye([{provide:Yy,useExisting:t},{provide:fk,useExisting:t}]),Er,Sn,Gt],ngContentSelectors:KZ,decls:11,vars:8,consts:[["fallbackOverlayOrigin","cdkOverlayOrigin","trigger",""],["panel",""],["cdk-overlay-origin","",1,"mat-mdc-select-trigger",3,"click"],[1,"mat-mdc-select-value"],[1,"mat-mdc-select-placeholder","mat-mdc-select-min-line"],[1,"mat-mdc-select-arrow-wrapper"],[1,"mat-mdc-select-arrow"],["viewBox","0 0 24 24","width","24px","height","24px","focusable","false","aria-hidden","true"],["d","M7 10l5 5 5-5z"],["cdk-connected-overlay","","cdkConnectedOverlayLockPosition","","cdkConnectedOverlayHasBackdrop","","cdkConnectedOverlayBackdropClass","cdk-overlay-transparent-backdrop",3,"backdropClick","attach","detach","cdkConnectedOverlayPanelClass","cdkConnectedOverlayScrollStrategy","cdkConnectedOverlayOrigin","cdkConnectedOverlayOpen","cdkConnectedOverlayPositions","cdkConnectedOverlayWidth"],[1,"mat-mdc-select-value-text"],[1,"mat-mdc-select-min-line"],["role","listbox","tabindex","-1",3,"keydown","ngClass"]],template:function(i,r){if(1&i){const o=wr();Mn(ZZ),U(0,"div",2,0),Ue("click",function(){return hn(o),fn(r.open())}),U(3,"div",3),we(4,JZ,2,1,"span",4)(5,nK,3,1),W(),U(6,"div",5)(7,"div",6),ia(),U(8,"svg",7),Ie(9,"path",8),W()()()(),we(10,iK,3,9,"ng-template",9),Ue("backdropClick",function(){return hn(o),fn(r.close())})("attach",function(){return hn(o),fn(r._onAttached())})("detach",function(){return hn(o),fn(r.close())})}if(2&i){const o=Jo(1);K(3),Xe("id",r._valueId),K(),zt(4,r.empty?4:5),K(6),se("cdkConnectedOverlayPanelClass",r._overlayPanelClass)("cdkConnectedOverlayScrollStrategy",r._scrollStrategy)("cdkConnectedOverlayOrigin",r._preferredOverlayOrigin||o)("cdkConnectedOverlayOpen",r.panelOpen)("cdkConnectedOverlayPositions",r._positions)("cdkConnectedOverlayWidth",r._overlayWidth)}},dependencies:[$v,Vk,cI],styles:['.mat-mdc-select{display:inline-block;width:100%;outline:none;-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;color:var(--mat-select-enabled-trigger-text-color);font-family:var(--mat-select-trigger-text-font);line-height:var(--mat-select-trigger-text-line-height);font-size:var(--mat-select-trigger-text-size);font-weight:var(--mat-select-trigger-text-weight);letter-spacing:var(--mat-select-trigger-text-tracking)}div.mat-mdc-select-panel{box-shadow:var(--mat-select-container-elevation-shadow)}.mat-mdc-select-disabled{color:var(--mat-select-disabled-trigger-text-color)}.mat-mdc-select-trigger{display:inline-flex;align-items:center;cursor:pointer;position:relative;box-sizing:border-box;width:100%}.mat-mdc-select-disabled .mat-mdc-select-trigger{-webkit-user-select:none;user-select:none;cursor:default}.mat-mdc-select-value{width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mat-mdc-select-value-text{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.mat-mdc-select-arrow-wrapper{height:24px;flex-shrink:0;display:inline-flex;align-items:center}.mat-form-field-appearance-fill .mdc-text-field--no-label .mat-mdc-select-arrow-wrapper{transform:none}.mat-mdc-form-field .mat-mdc-select.mat-mdc-select-invalid .mat-mdc-select-arrow,.mat-form-field-invalid:not(.mat-form-field-disabled) .mat-mdc-form-field-infix::after{color:var(--mat-select-invalid-arrow-color)}.mat-mdc-select-arrow{width:10px;height:5px;position:relative;color:var(--mat-select-enabled-arrow-color)}.mat-mdc-form-field.mat-focused .mat-mdc-select-arrow{color:var(--mat-select-focused-arrow-color)}.mat-mdc-form-field .mat-mdc-select.mat-mdc-select-disabled .mat-mdc-select-arrow{color:var(--mat-select-disabled-arrow-color)}.mat-mdc-select-arrow svg{fill:currentColor;position:absolute;top:50%;left:50%;transform:translate(-50%, -50%)}.cdk-high-contrast-active .mat-mdc-select-arrow svg{fill:CanvasText}.mat-mdc-select-disabled .cdk-high-contrast-active .mat-mdc-select-arrow svg{fill:GrayText}div.mat-mdc-select-panel{width:100%;max-height:275px;outline:0;overflow:auto;padding:8px 0;border-radius:4px;box-sizing:border-box;position:static;background-color:var(--mat-select-panel-background-color)}.cdk-high-contrast-active div.mat-mdc-select-panel{outline:solid 1px}.cdk-overlay-pane:not(.mat-mdc-select-panel-above) div.mat-mdc-select-panel{border-top-left-radius:0;border-top-right-radius:0;transform-origin:top center}.mat-mdc-select-panel-above div.mat-mdc-select-panel{border-bottom-left-radius:0;border-bottom-right-radius:0;transform-origin:bottom center}div.mat-mdc-select-panel .mat-mdc-option{--mdc-list-list-item-container-color: var(--mat-select-panel-background-color)}.mat-mdc-select-placeholder{transition:color 400ms 133.3333333333ms cubic-bezier(0.25, 0.8, 0.25, 1);color:var(--mat-select-placeholder-text-color)}._mat-animation-noopable .mat-mdc-select-placeholder{transition:none}.mat-form-field-hide-placeholder .mat-mdc-select-placeholder{color:rgba(0,0,0,0);-webkit-text-fill-color:rgba(0,0,0,0);transition:none;display:block}.mat-mdc-form-field-type-mat-select:not(.mat-form-field-disabled) .mat-mdc-text-field-wrapper{cursor:pointer}.mat-mdc-form-field-type-mat-select.mat-form-field-appearance-fill .mat-mdc-floating-label{max-width:calc(100% - 18px)}.mat-mdc-form-field-type-mat-select.mat-form-field-appearance-fill .mdc-floating-label--float-above{max-width:calc(100%/0.75 - 24px)}.mat-mdc-form-field-type-mat-select.mat-form-field-appearance-outline .mdc-notched-outline__notch{max-width:calc(100% - 60px)}.mat-mdc-form-field-type-mat-select.mat-form-field-appearance-outline .mdc-text-field--label-floating .mdc-notched-outline__notch{max-width:calc(100% - 24px)}.mat-mdc-select-min-line:empty::before{content:" ";white-space:pre;width:1px;display:inline-block;visibility:hidden}.mat-form-field-appearance-fill .mat-mdc-select-arrow-wrapper{transform:var(--mat-select-arrow-transform)}'],encapsulation:2,data:{animation:[rK.transformPanel]},changeDetection:0})}return t})(),MF=(()=>{class t{static#e=this.\u0275fac=function(i){return new(i||t)};static#t=this.\u0275mod=Oe({type:t});static#n=this.\u0275inj=Re({providers:[aK],imports:[is,Af,gk,_t,zv,ud,gk,_t]})}return t})();const uK=["switch"],hK=["*"];function fK(t,n){1&t&&(U(0,"div",10),ia(),U(1,"svg",12),Ie(2,"path",13),W(),U(3,"svg",14),Ie(4,"path",15),W()())}const mK=new j("mat-slide-toggle-default-options",{providedIn:"root",factory:()=>({disableToggleValue:!1,hideIcon:!1})}),pK={provide:Di,useExisting:ot(()=>Ky),multi:!0};class IF{constructor(n,e){this.source=n,this.checked=e}}let gK=0,Ky=(()=>{class t{_createChangeEvent(e){return new IF(this,e)}get buttonId(){return`${this.id||this._uniqueId}-button`}focus(){this._switchElement.nativeElement.focus()}get checked(){return this._checked}set checked(e){this._checked=e,this._changeDetectorRef.markForCheck()}get inputId(){return`${this.id||this._uniqueId}-input`}constructor(e,i,r,o,s,a){this._elementRef=e,this._focusMonitor=i,this._changeDetectorRef=r,this.defaults=s,this._onChange=c=>{},this._onTouched=()=>{},this._validatorOnChange=()=>{},this._checked=!1,this.name=null,this.labelPosition="after",this.ariaLabel=null,this.ariaLabelledby=null,this.disabled=!1,this.disableRipple=!1,this.tabIndex=0,this.change=new Te,this.toggleChange=new Te,this.tabIndex=parseInt(o)||0,this.color=s.color||"accent",this._noopAnimations="NoopAnimations"===a,this.id=this._uniqueId="mat-mdc-slide-toggle-"+ ++gK,this.hideIcon=s.hideIcon??!1,this._labelId=this._uniqueId+"-label"}ngAfterContentInit(){this._focusMonitor.monitor(this._elementRef,!0).subscribe(e=>{"keyboard"===e||"program"===e?(this._focused=!0,this._changeDetectorRef.markForCheck()):e||Promise.resolve().then(()=>{this._focused=!1,this._onTouched(),this._changeDetectorRef.markForCheck()})})}ngOnChanges(e){e.required&&this._validatorOnChange()}ngOnDestroy(){this._focusMonitor.stopMonitoring(this._elementRef)}writeValue(e){this.checked=!!e}registerOnChange(e){this._onChange=e}registerOnTouched(e){this._onTouched=e}validate(e){return this.required&&!0!==e.value?{required:!0}:null}registerOnValidatorChange(e){this._validatorOnChange=e}setDisabledState(e){this.disabled=e,this._changeDetectorRef.markForCheck()}toggle(){this.checked=!this.checked,this._onChange(this.checked)}_emitChangeEvent(){this._onChange(this.checked),this.change.emit(this._createChangeEvent(this.checked))}_handleClick(){this.toggleChange.emit(),this.defaults.disableToggleValue||(this.checked=!this.checked,this._onChange(this.checked),this.change.emit(new IF(this,this.checked)))}_getAriaLabelledBy(){return this.ariaLabelledby?this.ariaLabelledby:this.ariaLabel?null:this._labelId}static#e=this.\u0275fac=function(i){return new(i||t)(C(Ne),C(hf),C(yi),vr("tabindex"),C(mK),C(Wn,8))};static#t=this.\u0275cmp=mt({type:t,selectors:[["mat-slide-toggle"]],viewQuery:function(i,r){if(1&i&&qt(uK,5),2&i){let o;Ze(o=Ke())&&(r._switchElement=o.first)}},hostAttrs:[1,"mat-mdc-slide-toggle"],hostVars:13,hostBindings:function(i,r){2&i&&(nr("id",r.id),Xe("tabindex",null)("aria-label",null)("name",null)("aria-labelledby",null),so(r.color?"mat-"+r.color:""),st("mat-mdc-slide-toggle-focused",r._focused)("mat-mdc-slide-toggle-checked",r.checked)("_mat-animation-noopable",r._noopAnimations))},inputs:{name:"name",id:"id",labelPosition:"labelPosition",ariaLabel:[X.None,"aria-label","ariaLabel"],ariaLabelledby:[X.None,"aria-labelledby","ariaLabelledby"],ariaDescribedby:[X.None,"aria-describedby","ariaDescribedby"],required:[X.HasDecoratorInputTransform,"required","required",Je],color:"color",disabled:[X.HasDecoratorInputTransform,"disabled","disabled",Je],disableRipple:[X.HasDecoratorInputTransform,"disableRipple","disableRipple",Je],tabIndex:[X.HasDecoratorInputTransform,"tabIndex","tabIndex",e=>null==e?0:ts(e)],checked:[X.HasDecoratorInputTransform,"checked","checked",Je],hideIcon:[X.HasDecoratorInputTransform,"hideIcon","hideIcon",Je]},outputs:{change:"change",toggleChange:"toggleChange"},exportAs:["matSlideToggle"],standalone:!0,features:[Ye([pK,{provide:en,useExisting:t,multi:!0}]),Er,Sn,Gt],ngContentSelectors:hK,decls:13,vars:24,consts:[["switch",""],["mat-internal-form-field","",3,"labelPosition"],["role","switch","type","button",1,"mdc-switch",3,"click","tabIndex","disabled"],[1,"mdc-switch__track"],[1,"mdc-switch__handle-track"],[1,"mdc-switch__handle"],[1,"mdc-switch__shadow"],[1,"mdc-elevation-overlay"],[1,"mdc-switch__ripple"],["mat-ripple","",1,"mat-mdc-slide-toggle-ripple","mat-mdc-focus-indicator",3,"matRippleTrigger","matRippleDisabled","matRippleCentered"],[1,"mdc-switch__icons"],[1,"mdc-label",3,"click","for"],["viewBox","0 0 24 24","aria-hidden","true",1,"mdc-switch__icon","mdc-switch__icon--on"],["d","M19.69,5.23L8.96,15.96l-4.23-4.23L2.96,13.5l6,6L21.46,7L19.69,5.23z"],["viewBox","0 0 24 24","aria-hidden","true",1,"mdc-switch__icon","mdc-switch__icon--off"],["d","M20 13H4v-2h16v2z"]],template:function(i,r){if(1&i){const o=wr();Mn(),U(0,"div",1)(1,"button",2,0),Ue("click",function(){return hn(o),fn(r._handleClick())}),Ie(3,"div",3),U(4,"div",4)(5,"div",5)(6,"div",6),Ie(7,"div",7),W(),U(8,"div",8),Ie(9,"div",9),W(),we(10,fK,5,0,"div",10),W()()(),U(11,"label",11),Ue("click",function(a){return hn(o),fn(a.stopPropagation())}),qe(12),W()()}if(2&i){const o=Jo(2);se("labelPosition",r.labelPosition),K(),st("mdc-switch--selected",r.checked)("mdc-switch--unselected",!r.checked)("mdc-switch--checked",r.checked)("mdc-switch--disabled",r.disabled),se("tabIndex",r.disabled?-1:r.tabIndex)("disabled",r.disabled),Xe("id",r.buttonId)("name",r.name)("aria-label",r.ariaLabel)("aria-labelledby",r._getAriaLabelledBy())("aria-describedby",r.ariaDescribedby)("aria-required",r.required||null)("aria-checked",r.checked),K(8),se("matRippleTrigger",o)("matRippleDisabled",r.disableRipple||r.disabled)("matRippleCentered",!0),K(),zt(10,r.hideIcon?-1:10),K(),se("for",r.buttonId),Xe("id",r._labelId)}},dependencies:[Gl,yk],styles:['.mdc-elevation-overlay{position:absolute;border-radius:inherit;pointer-events:none;opacity:var(--mdc-elevation-overlay-opacity);transition:opacity 280ms cubic-bezier(0.4, 0, 0.2, 1);background-color:var(--mdc-elevation-overlay-color)}.mdc-switch{align-items:center;background:none;border:none;cursor:pointer;display:inline-flex;flex-shrink:0;margin:0;outline:none;overflow:visible;padding:0;position:relative}.mdc-switch[hidden]{display:none}.mdc-switch:disabled{cursor:default;pointer-events:none}.mdc-switch__track{overflow:hidden;position:relative;width:100%}.mdc-switch__track::before,.mdc-switch__track::after{border:1px solid rgba(0,0,0,0);border-radius:inherit;box-sizing:border-box;content:"";height:100%;left:0;position:absolute;width:100%}@media screen and (forced-colors: active){.mdc-switch__track::before,.mdc-switch__track::after{border-color:currentColor}}.mdc-switch__track::before{transition:transform 75ms 0ms cubic-bezier(0, 0, 0.2, 1);transform:translateX(0)}.mdc-switch__track::after{transition:transform 75ms 0ms cubic-bezier(0.4, 0, 0.6, 1);transform:translateX(-100%)}[dir=rtl] .mdc-switch__track::after,.mdc-switch__track[dir=rtl]::after{transform:translateX(100%)}.mdc-switch--selected .mdc-switch__track::before{transition:transform 75ms 0ms cubic-bezier(0.4, 0, 0.6, 1);transform:translateX(100%)}[dir=rtl] .mdc-switch--selected .mdc-switch__track::before,.mdc-switch--selected .mdc-switch__track[dir=rtl]::before{transform:translateX(-100%)}.mdc-switch--selected .mdc-switch__track::after{transition:transform 75ms 0ms cubic-bezier(0, 0, 0.2, 1);transform:translateX(0)}.mdc-switch__handle-track{height:100%;pointer-events:none;position:absolute;top:0;transition:transform 75ms 0ms cubic-bezier(0.4, 0, 0.2, 1);left:0;right:auto;transform:translateX(0)}[dir=rtl] .mdc-switch__handle-track,.mdc-switch__handle-track[dir=rtl]{left:auto;right:0}.mdc-switch--selected .mdc-switch__handle-track{transform:translateX(100%)}[dir=rtl] .mdc-switch--selected .mdc-switch__handle-track,.mdc-switch--selected .mdc-switch__handle-track[dir=rtl]{transform:translateX(-100%)}.mdc-switch__handle{display:flex;pointer-events:auto;position:absolute;top:50%;transform:translateY(-50%);left:0;right:auto}[dir=rtl] .mdc-switch__handle,.mdc-switch__handle[dir=rtl]{left:auto;right:0}.mdc-switch__handle::before,.mdc-switch__handle::after{border:1px solid rgba(0,0,0,0);border-radius:inherit;box-sizing:border-box;content:"";width:100%;height:100%;left:0;position:absolute;top:0;transition:background-color 75ms 0ms cubic-bezier(0.4, 0, 0.2, 1),border-color 75ms 0ms cubic-bezier(0.4, 0, 0.2, 1);z-index:-1}@media screen and (forced-colors: active){.mdc-switch__handle::before,.mdc-switch__handle::after{border-color:currentColor}}.mdc-switch__shadow{border-radius:inherit;bottom:0;left:0;position:absolute;right:0;top:0}.mdc-elevation-overlay{bottom:0;left:0;right:0;top:0}.mdc-switch__ripple{left:50%;position:absolute;top:50%;transform:translate(-50%, -50%);z-index:-1}.mdc-switch:disabled .mdc-switch__ripple{display:none}.mdc-switch__icons{height:100%;position:relative;width:100%;z-index:1}.mdc-switch__icon{bottom:0;left:0;margin:auto;position:absolute;right:0;top:0;opacity:0;transition:opacity 30ms 0ms cubic-bezier(0.4, 0, 1, 1)}.mdc-switch--selected .mdc-switch__icon--on,.mdc-switch--unselected .mdc-switch__icon--off{opacity:1;transition:opacity 45ms 30ms cubic-bezier(0, 0, 0.2, 1)}.mat-mdc-slide-toggle .mdc-switch--disabled+label{color:var(--mdc-switch-disabled-label-text-color)}.mdc-switch{width:var(--mdc-switch-track-width)}.mdc-switch.mdc-switch--selected:enabled .mdc-switch__handle::after{background:var(--mdc-switch-selected-handle-color)}.mdc-switch.mdc-switch--selected:enabled:hover:not(:focus):not(:active) .mdc-switch__handle::after{background:var(--mdc-switch-selected-hover-handle-color)}.mdc-switch.mdc-switch--selected:enabled:focus:not(:active) .mdc-switch__handle::after{background:var(--mdc-switch-selected-focus-handle-color)}.mdc-switch.mdc-switch--selected:enabled:active .mdc-switch__handle::after{background:var(--mdc-switch-selected-pressed-handle-color)}.mdc-switch.mdc-switch--selected:disabled .mdc-switch__handle::after{background:var(--mdc-switch-disabled-selected-handle-color)}.mdc-switch.mdc-switch--unselected:enabled .mdc-switch__handle::after{background:var(--mdc-switch-unselected-handle-color)}.mdc-switch.mdc-switch--unselected:enabled:hover:not(:focus):not(:active) .mdc-switch__handle::after{background:var(--mdc-switch-unselected-hover-handle-color)}.mdc-switch.mdc-switch--unselected:enabled:focus:not(:active) .mdc-switch__handle::after{background:var(--mdc-switch-unselected-focus-handle-color)}.mdc-switch.mdc-switch--unselected:enabled:active .mdc-switch__handle::after{background:var(--mdc-switch-unselected-pressed-handle-color)}.mdc-switch.mdc-switch--unselected:disabled .mdc-switch__handle::after{background:var(--mdc-switch-disabled-unselected-handle-color)}.mdc-switch .mdc-switch__handle::before{background:var(--mdc-switch-handle-surface-color)}.mdc-switch:enabled .mdc-switch__shadow{box-shadow:var(--mdc-switch-handle-elevation)}.mdc-switch:disabled .mdc-switch__shadow{box-shadow:var(--mdc-switch-disabled-handle-elevation)}.mdc-switch .mdc-switch__focus-ring-wrapper,.mdc-switch .mdc-switch__handle{height:var(--mdc-switch-handle-height)}.mdc-switch .mdc-switch__handle{border-radius:var(--mdc-switch-handle-shape)}.mdc-switch .mdc-switch__handle{width:var(--mdc-switch-handle-width)}.mdc-switch .mdc-switch__handle-track{width:calc(100% - var(--mdc-switch-handle-width))}.mdc-switch.mdc-switch--selected:enabled .mdc-switch__icon{fill:var(--mdc-switch-selected-icon-color)}.mdc-switch.mdc-switch--selected:disabled .mdc-switch__icon{fill:var(--mdc-switch-disabled-selected-icon-color)}.mdc-switch.mdc-switch--unselected:enabled .mdc-switch__icon{fill:var(--mdc-switch-unselected-icon-color)}.mdc-switch.mdc-switch--unselected:disabled .mdc-switch__icon{fill:var(--mdc-switch-disabled-unselected-icon-color)}.mdc-switch.mdc-switch--selected:disabled .mdc-switch__icons{opacity:var(--mdc-switch-disabled-selected-icon-opacity)}.mdc-switch.mdc-switch--unselected:disabled .mdc-switch__icons{opacity:var(--mdc-switch-disabled-unselected-icon-opacity)}.mdc-switch.mdc-switch--selected .mdc-switch__icon{width:var(--mdc-switch-selected-icon-size);height:var(--mdc-switch-selected-icon-size)}.mdc-switch.mdc-switch--unselected .mdc-switch__icon{width:var(--mdc-switch-unselected-icon-size);height:var(--mdc-switch-unselected-icon-size)}.mdc-switch.mdc-switch--selected:enabled:hover:not(:focus) .mdc-switch__ripple::before,.mdc-switch.mdc-switch--selected:enabled:hover:not(:focus) .mdc-switch__ripple::after{background-color:var(--mdc-switch-selected-hover-state-layer-color)}.mdc-switch.mdc-switch--selected:enabled:focus .mdc-switch__ripple::before,.mdc-switch.mdc-switch--selected:enabled:focus .mdc-switch__ripple::after{background-color:var(--mdc-switch-selected-focus-state-layer-color)}.mdc-switch.mdc-switch--selected:enabled:active .mdc-switch__ripple::before,.mdc-switch.mdc-switch--selected:enabled:active .mdc-switch__ripple::after{background-color:var(--mdc-switch-selected-pressed-state-layer-color)}.mdc-switch.mdc-switch--unselected:enabled:hover:not(:focus) .mdc-switch__ripple::before,.mdc-switch.mdc-switch--unselected:enabled:hover:not(:focus) .mdc-switch__ripple::after{background-color:var(--mdc-switch-unselected-hover-state-layer-color)}.mdc-switch.mdc-switch--unselected:enabled:focus .mdc-switch__ripple::before,.mdc-switch.mdc-switch--unselected:enabled:focus .mdc-switch__ripple::after{background-color:var(--mdc-switch-unselected-focus-state-layer-color)}.mdc-switch.mdc-switch--unselected:enabled:active .mdc-switch__ripple::before,.mdc-switch.mdc-switch--unselected:enabled:active .mdc-switch__ripple::after{background-color:var(--mdc-switch-unselected-pressed-state-layer-color)}.mdc-switch.mdc-switch--selected:enabled:hover:not(:focus):hover .mdc-switch__ripple::before,.mdc-switch.mdc-switch--selected:enabled:hover:not(:focus).mdc-ripple-surface--hover .mdc-switch__ripple::before{opacity:var(--mdc-switch-selected-hover-state-layer-opacity)}.mdc-switch.mdc-switch--selected:enabled:focus.mdc-ripple-upgraded--background-focused .mdc-switch__ripple::before,.mdc-switch.mdc-switch--selected:enabled:focus:not(.mdc-ripple-upgraded):focus .mdc-switch__ripple::before{transition-duration:75ms;opacity:var(--mdc-switch-selected-focus-state-layer-opacity)}.mdc-switch.mdc-switch--selected:enabled:active:not(.mdc-ripple-upgraded) .mdc-switch__ripple::after{transition:opacity 150ms linear}.mdc-switch.mdc-switch--selected:enabled:active:not(.mdc-ripple-upgraded):active .mdc-switch__ripple::after{transition-duration:75ms;opacity:var(--mdc-switch-selected-pressed-state-layer-opacity)}.mdc-switch.mdc-switch--selected:enabled:active.mdc-ripple-upgraded{--mdc-ripple-fg-opacity:var(--mdc-switch-selected-pressed-state-layer-opacity)}.mdc-switch.mdc-switch--unselected:enabled:hover:not(:focus):hover .mdc-switch__ripple::before,.mdc-switch.mdc-switch--unselected:enabled:hover:not(:focus).mdc-ripple-surface--hover .mdc-switch__ripple::before{opacity:var(--mdc-switch-unselected-hover-state-layer-opacity)}.mdc-switch.mdc-switch--unselected:enabled:focus.mdc-ripple-upgraded--background-focused .mdc-switch__ripple::before,.mdc-switch.mdc-switch--unselected:enabled:focus:not(.mdc-ripple-upgraded):focus .mdc-switch__ripple::before{transition-duration:75ms;opacity:var(--mdc-switch-unselected-focus-state-layer-opacity)}.mdc-switch.mdc-switch--unselected:enabled:active:not(.mdc-ripple-upgraded) .mdc-switch__ripple::after{transition:opacity 150ms linear}.mdc-switch.mdc-switch--unselected:enabled:active:not(.mdc-ripple-upgraded):active .mdc-switch__ripple::after{transition-duration:75ms;opacity:var(--mdc-switch-unselected-pressed-state-layer-opacity)}.mdc-switch.mdc-switch--unselected:enabled:active.mdc-ripple-upgraded{--mdc-ripple-fg-opacity:var(--mdc-switch-unselected-pressed-state-layer-opacity)}.mdc-switch .mdc-switch__ripple{height:var(--mdc-switch-state-layer-size);width:var(--mdc-switch-state-layer-size)}.mdc-switch .mdc-switch__track{height:var(--mdc-switch-track-height)}.mdc-switch:disabled .mdc-switch__track{opacity:var(--mdc-switch-disabled-track-opacity)}.mdc-switch:enabled .mdc-switch__track::after{background:var(--mdc-switch-selected-track-color)}.mdc-switch:enabled:hover:not(:focus):not(:active) .mdc-switch__track::after{background:var(--mdc-switch-selected-hover-track-color)}.mdc-switch:enabled:focus:not(:active) .mdc-switch__track::after{background:var(--mdc-switch-selected-focus-track-color)}.mdc-switch:enabled:active .mdc-switch__track::after{background:var(--mdc-switch-selected-pressed-track-color)}.mdc-switch:disabled .mdc-switch__track::after{background:var(--mdc-switch-disabled-selected-track-color)}.mdc-switch:enabled .mdc-switch__track::before{background:var(--mdc-switch-unselected-track-color)}.mdc-switch:enabled:hover:not(:focus):not(:active) .mdc-switch__track::before{background:var(--mdc-switch-unselected-hover-track-color)}.mdc-switch:enabled:focus:not(:active) .mdc-switch__track::before{background:var(--mdc-switch-unselected-focus-track-color)}.mdc-switch:enabled:active .mdc-switch__track::before{background:var(--mdc-switch-unselected-pressed-track-color)}.mdc-switch:disabled .mdc-switch__track::before{background:var(--mdc-switch-disabled-unselected-track-color)}.mdc-switch .mdc-switch__track{border-radius:var(--mdc-switch-track-shape)}.mdc-switch:enabled .mdc-switch__shadow{box-shadow:var(--mdc-switch-handle-elevation-shadow)}.mdc-switch:disabled .mdc-switch__shadow{box-shadow:var(--mdc-switch-disabled-handle-elevation-shadow)}.mat-mdc-slide-toggle{display:inline-block;-webkit-tap-highlight-color:rgba(0,0,0,0);outline:0}.mat-mdc-slide-toggle .mat-mdc-slide-toggle-ripple,.mat-mdc-slide-toggle .mdc-switch__ripple::after{top:0;left:0;right:0;bottom:0;position:absolute;border-radius:50%;pointer-events:none}.mat-mdc-slide-toggle .mat-mdc-slide-toggle-ripple:not(:empty),.mat-mdc-slide-toggle .mdc-switch__ripple::after:not(:empty){transform:translateZ(0)}.mat-mdc-slide-toggle .mdc-switch__ripple::after{content:"";opacity:0}.mat-mdc-slide-toggle .mdc-switch:hover .mdc-switch__ripple::after{opacity:.04;transition:opacity 75ms 0ms cubic-bezier(0, 0, 0.2, 1)}.mat-mdc-slide-toggle.mat-mdc-slide-toggle-focused .mdc-switch .mdc-switch__ripple::after{opacity:.12}.mat-mdc-slide-toggle.mat-mdc-slide-toggle-focused .mat-mdc-focus-indicator::before{content:""}.mat-mdc-slide-toggle .mat-ripple-element{opacity:.12}.mat-mdc-slide-toggle .mat-mdc-focus-indicator::before{border-radius:50%}.mat-mdc-slide-toggle._mat-animation-noopable .mdc-switch__handle-track,.mat-mdc-slide-toggle._mat-animation-noopable .mdc-elevation-overlay,.mat-mdc-slide-toggle._mat-animation-noopable .mdc-switch__icon,.mat-mdc-slide-toggle._mat-animation-noopable .mdc-switch__handle::before,.mat-mdc-slide-toggle._mat-animation-noopable .mdc-switch__handle::after,.mat-mdc-slide-toggle._mat-animation-noopable .mdc-switch__track::before,.mat-mdc-slide-toggle._mat-animation-noopable .mdc-switch__track::after{transition:none}.mat-mdc-slide-toggle .mdc-switch:enabled+.mdc-label{cursor:pointer}.mdc-switch__handle{transition:width 75ms cubic-bezier(0.4, 0, 0.2, 1),height 75ms cubic-bezier(0.4, 0, 0.2, 1),margin 75ms cubic-bezier(0.4, 0, 0.2, 1)}.mdc-switch--selected .mdc-switch__track::before{opacity:var(--mat-switch-hidden-track-opacity);transition:var(--mat-switch-hidden-track-transition)}.mdc-switch--selected .mdc-switch__track::after{opacity:var(--mat-switch-visible-track-opacity);transition:var(--mat-switch-visible-track-transition)}.mdc-switch--unselected .mdc-switch__track::before{opacity:var(--mat-switch-visible-track-opacity);transition:var(--mat-switch-visible-track-transition)}.mdc-switch--unselected .mdc-switch__track::after{opacity:var(--mat-switch-hidden-track-opacity);transition:var(--mat-switch-hidden-track-transition)}.mat-mdc-slide-toggle .mdc-switch--unselected .mdc-switch__handle{width:var(--mat-switch-unselected-handle-size);height:var(--mat-switch-unselected-handle-size)}.mat-mdc-slide-toggle .mdc-switch--selected .mdc-switch__handle{width:var(--mat-switch-selected-handle-size);height:var(--mat-switch-selected-handle-size)}.mat-mdc-slide-toggle .mdc-switch__handle:has(.mdc-switch__icons){width:var(--mat-switch-with-icon-handle-size);height:var(--mat-switch-with-icon-handle-size)}.mat-mdc-slide-toggle:active .mdc-switch:not(.mdc-switch--disabled) .mdc-switch__handle{width:var(--mat-switch-pressed-handle-size);height:var(--mat-switch-pressed-handle-size)}.mat-mdc-slide-toggle .mdc-switch--selected .mdc-switch__handle{margin:var(--mat-switch-selected-handle-horizontal-margin)}.mat-mdc-slide-toggle .mdc-switch--selected .mdc-switch__handle:has(.mdc-switch__icons){margin:var(--mat-switch-selected-with-icon-handle-horizontal-margin)}.mat-mdc-slide-toggle .mdc-switch--unselected .mdc-switch__handle{margin:var(--mat-switch-unselected-handle-horizontal-margin)}.mat-mdc-slide-toggle .mdc-switch--unselected .mdc-switch__handle:has(.mdc-switch__icons){margin:var(--mat-switch-unselected-with-icon-handle-horizontal-margin)}.mat-mdc-slide-toggle:active .mdc-switch--selected:not(.mdc-switch--disabled) .mdc-switch__handle{margin:var(--mat-switch-selected-pressed-handle-horizontal-margin)}.mat-mdc-slide-toggle:active .mdc-switch--unselected:not(.mdc-switch--disabled) .mdc-switch__handle{margin:var(--mat-switch-unselected-pressed-handle-horizontal-margin)}.mdc-switch__track::after,.mdc-switch__track::before{border-width:var(--mat-switch-track-outline-width);border-color:var(--mat-switch-track-outline-color)}.mdc-switch--selected .mdc-switch__track::after,.mdc-switch--selected .mdc-switch__track::before{border-width:var(--mat-switch-selected-track-outline-width)}.mdc-switch--disabled .mdc-switch__track::after,.mdc-switch--disabled .mdc-switch__track::before{border-width:var(--mat-switch-disabled-unselected-track-outline-width);border-color:var(--mat-switch-disabled-unselected-track-outline-color)}.mdc-switch--disabled.mdc-switch--selected .mdc-switch__handle::after{opacity:var(--mat-switch-disabled-selected-handle-opacity)}.mdc-switch--disabled.mdc-switch--unselected .mdc-switch__handle::after{opacity:var(--mat-switch-disabled-unselected-handle-opacity)}'],encapsulation:2,changeDetection:0})}return t})(),TF=(()=>{class t{static#e=this.\u0275fac=function(i){return new(i||t)};static#t=this.\u0275mod=Oe({type:t});static#n=this.\u0275inj=Re({imports:[Ky,_t,_t]})}return t})();const vK=["*",[["mat-toolbar-row"]]],yK=["*","mat-toolbar-row"];let AK=(()=>{class t{static#e=this.\u0275fac=function(i){return new(i||t)};static#t=this.\u0275dir=J({type:t,selectors:[["mat-toolbar-row"]],hostAttrs:[1,"mat-toolbar-row"],exportAs:["matToolbarRow"],standalone:!0})}return t})(),xK=(()=>{class t{constructor(e,i,r){this._elementRef=e,this._platform=i,this._document=r}ngAfterViewInit(){this._platform.isBrowser&&(this._checkToolbarMixedModes(),this._toolbarRows.changes.subscribe(()=>this._checkToolbarMixedModes()))}_checkToolbarMixedModes(){}static#e=this.\u0275fac=function(i){return new(i||t)(C(Ne),C(Kt),C(Ve))};static#t=this.\u0275cmp=mt({type:t,selectors:[["mat-toolbar"]],contentQueries:function(i,r,o){if(1&i&&vi(o,AK,5),2&i){let s;Ze(s=Ke())&&(r._toolbarRows=s)}},hostAttrs:[1,"mat-toolbar"],hostVars:6,hostBindings:function(i,r){2&i&&(so(r.color?"mat-"+r.color:""),st("mat-toolbar-multiple-rows",r._toolbarRows.length>0)("mat-toolbar-single-row",0===r._toolbarRows.length))},inputs:{color:"color"},exportAs:["matToolbar"],standalone:!0,features:[Gt],ngContentSelectors:yK,decls:2,vars:0,template:function(i,r){1&i&&(Mn(vK),qe(0),qe(1,1))},styles:[".mat-toolbar{background:var(--mat-toolbar-container-background-color);color:var(--mat-toolbar-container-text-color)}.mat-toolbar,.mat-toolbar h1,.mat-toolbar h2,.mat-toolbar h3,.mat-toolbar h4,.mat-toolbar h5,.mat-toolbar h6{font-family:var(--mat-toolbar-title-text-font);font-size:var(--mat-toolbar-title-text-size);line-height:var(--mat-toolbar-title-text-line-height);font-weight:var(--mat-toolbar-title-text-weight);letter-spacing:var(--mat-toolbar-title-text-tracking);margin:0}.cdk-high-contrast-active .mat-toolbar{outline:solid 1px}.mat-toolbar .mat-form-field-underline,.mat-toolbar .mat-form-field-ripple,.mat-toolbar .mat-focused .mat-form-field-ripple{background-color:currentColor}.mat-toolbar .mat-form-field-label,.mat-toolbar .mat-focused .mat-form-field-label,.mat-toolbar .mat-select-value,.mat-toolbar .mat-select-arrow,.mat-toolbar .mat-form-field.mat-focused .mat-select-arrow{color:inherit}.mat-toolbar .mat-input-element{caret-color:currentColor}.mat-toolbar .mat-mdc-button-base.mat-mdc-button-base.mat-unthemed{--mdc-text-button-label-text-color:var(--mat-toolbar-container-text-color);--mdc-outlined-button-label-text-color:var(--mat-toolbar-container-text-color)}.mat-toolbar-row,.mat-toolbar-single-row{display:flex;box-sizing:border-box;padding:0 16px;width:100%;flex-direction:row;align-items:center;white-space:nowrap;height:var(--mat-toolbar-standard-height)}@media(max-width: 599px){.mat-toolbar-row,.mat-toolbar-single-row{height:var(--mat-toolbar-mobile-height)}}.mat-toolbar-multiple-rows{display:flex;box-sizing:border-box;flex-direction:column;width:100%;min-height:var(--mat-toolbar-standard-height)}@media(max-width: 599px){.mat-toolbar-multiple-rows{min-height:var(--mat-toolbar-mobile-height)}}"],encapsulation:2,changeDetection:0})}return t})(),kF=(()=>{class t{static#e=this.\u0275fac=function(i){return new(i||t)};static#t=this.\u0275mod=Oe({type:t});static#n=this.\u0275inj=Re({imports:[_t,_t]})}return t})();function ec(t){return t+.5|0}const Lr=(t,n,e)=>Math.max(Math.min(t,e),n);function md(t){return Lr(ec(2.55*t),0,255)}function yo(t){return Lr(ec(255*t),0,255)}function Br(t){return Lr(ec(t/2.55)/100,0,1)}function RF(t){return Lr(ec(100*t),0,100)}const Ci={0:0,1:1,2:2,3:3,4:4,5:5,6:6,7:7,8:8,9:9,A:10,B:11,C:12,D:13,E:14,F:15,a:10,b:11,c:12,d:13,e:14,f:15},Jy=[..."0123456789ABCDEF"],EK=t=>Jy[15&t],wK=t=>Jy[(240&t)>>4]+Jy[15&t],om=t=>(240&t)>>4==(15&t);const IK=/^(hsla?|hwb|hsv)\(\s*([-+.e\d]+)(?:deg)?[\s,]+([-+.e\d]+)%[\s,]+([-+.e\d]+)%(?:[\s,]+([-+.e\d]+)(%)?)?\s*\)$/;function FF(t,n,e){const i=n*Math.min(e,1-e),r=(o,s=(o+t/30)%12)=>e-i*Math.max(Math.min(s-3,9-s,1),-1);return[r(0),r(8),r(4)]}function TK(t,n,e){const i=(r,o=(r+t/60)%6)=>e-e*n*Math.max(Math.min(o,4-o,1),0);return[i(5),i(3),i(1)]}function kK(t,n,e){const i=FF(t,1,.5);let r;for(n+e>1&&(r=1/(n+e),n*=r,e*=r),r=0;r<3;r++)i[r]*=1-n-e,i[r]+=n;return i}function eA(t){const e=t.r/255,i=t.g/255,r=t.b/255,o=Math.max(e,i,r),s=Math.min(e,i,r),a=(o+s)/2;let c,l,d;return o!==s&&(d=o-s,l=a>.5?d/(2-o-s):d/(o+s),c=function RK(t,n,e,i,r){return t===r?(n-e)/i+(nt<=.0031308?12.92*t:1.055*Math.pow(t,1/2.4)-.055,tc=t=>t<=.04045?t/12.92:Math.pow((t+.055)/1.055,2.4);function am(t,n,e){if(t){let i=eA(t);i[n]=Math.max(0,Math.min(i[n]+i[n]*e,0===n?360:1)),i=nA(i),t.r=i[0],t.g=i[1],t.b=i[2]}}function LF(t,n){return t&&Object.assign(n||{},t)}function BF(t){var n={r:0,g:0,b:0,a:255};return Array.isArray(t)?t.length>=3&&(n={r:t[0],g:t[1],b:t[2],a:255},t.length>3&&(n.a=yo(t[3]))):(n=LF(t,{r:0,g:0,b:0,a:1})).a=yo(n.a),n}function GK(t){return"r"===t.charAt(0)?function jK(t){const n=HK.exec(t);let i,r,o,e=255;if(n){if(n[7]!==i){const s=+n[7];e=n[8]?md(s):Lr(255*s,0,255)}return i=+n[1],r=+n[3],o=+n[5],i=255&(n[2]?md(i):Lr(i,0,255)),r=255&(n[4]?md(r):Lr(r,0,255)),o=255&(n[6]?md(o):Lr(o,0,255)),{r:i,g:r,b:o,a:e}}}(t):function NK(t){const n=IK.exec(t);let i,e=255;if(!n)return;n[5]!==i&&(e=n[6]?md(+n[5]):yo(+n[5]));const r=OF(+n[2]),o=+n[3]/100,s=+n[4]/100;return i="hwb"===n[1]?function FK(t,n,e){return tA(kK,t,n,e)}(r,o,s):"hsv"===n[1]?function OK(t,n,e){return tA(TK,t,n,e)}(r,o,s):nA(r,o,s),{r:i[0],g:i[1],b:i[2],a:e}}(t)}class nc{constructor(n){if(n instanceof nc)return n;const e=typeof n;let i;"object"===e?i=BF(n):"string"===e&&(i=function DK(t){var e,n=t.length;return"#"===t[0]&&(4===n||5===n?e={r:255&17*Ci[t[1]],g:255&17*Ci[t[2]],b:255&17*Ci[t[3]],a:5===n?17*Ci[t[4]]:255}:(7===n||9===n)&&(e={r:Ci[t[1]]<<4|Ci[t[2]],g:Ci[t[3]]<<4|Ci[t[4]],b:Ci[t[5]]<<4|Ci[t[6]],a:9===n?Ci[t[7]]<<4|Ci[t[8]]:255})),e}(n)||function VK(t){sm||(sm=function BK(){const t={},n=Object.keys(PF),e=Object.keys(NF);let i,r,o,s,a;for(i=0;i>16&255,o>>8&255,255&o]}return t}(),sm.transparent=[0,0,0,0]);const n=sm[t.toLowerCase()];return n&&{r:n[0],g:n[1],b:n[2],a:4===n.length?n[3]:255}}(n)||GK(n)),this._rgb=i,this._valid=!!i}get valid(){return this._valid}get rgb(){var n=LF(this._rgb);return n&&(n.a=Br(n.a)),n}set rgb(n){this._rgb=BF(n)}rgbString(){return this._valid?function UK(t){return t&&(t.a<255?`rgba(${t.r}, ${t.g}, ${t.b}, ${Br(t.a)})`:`rgb(${t.r}, ${t.g}, ${t.b})`)}(this._rgb):void 0}hexString(){return this._valid?function MK(t){var n=(t=>om(t.r)&&om(t.g)&&om(t.b)&&om(t.a))(t)?EK:wK;return t?"#"+n(t.r)+n(t.g)+n(t.b)+((t,n)=>t<255?n(t):"")(t.a,n):void 0}(this._rgb):void 0}hslString(){return this._valid?function LK(t){if(!t)return;const n=eA(t),e=n[0],i=RF(n[1]),r=RF(n[2]);return t.a<255?`hsla(${e}, ${i}%, ${r}%, ${Br(t.a)})`:`hsl(${e}, ${i}%, ${r}%)`}(this._rgb):void 0}mix(n,e){if(n){const i=this.rgb,r=n.rgb;let o;const s=e===o?.5:e,a=2*s-1,c=i.a-r.a,l=((a*c==-1?a:(a+c)/(1+a*c))+1)/2;o=1-l,i.r=255&l*i.r+o*r.r+.5,i.g=255&l*i.g+o*r.g+.5,i.b=255&l*i.b+o*r.b+.5,i.a=s*i.a+(1-s)*r.a,this.rgb=i}return this}interpolate(n,e){return n&&(this._rgb=function zK(t,n,e){const i=tc(Br(t.r)),r=tc(Br(t.g)),o=tc(Br(t.b));return{r:yo(iA(i+e*(tc(Br(n.r))-i))),g:yo(iA(r+e*(tc(Br(n.g))-r))),b:yo(iA(o+e*(tc(Br(n.b))-o))),a:t.a+e*(n.a-t.a)}}(this._rgb,n._rgb,e)),this}clone(){return new nc(this.rgb)}alpha(n){return this._rgb.a=yo(n),this}clearer(n){return this._rgb.a*=1-n,this}greyscale(){const n=this._rgb,e=ec(.3*n.r+.59*n.g+.11*n.b);return n.r=n.g=n.b=e,this}opaquer(n){return this._rgb.a*=1+n,this}negate(){const n=this._rgb;return n.r=255-n.r,n.g=255-n.g,n.b=255-n.b,this}lighten(n){return am(this._rgb,2,n),this}darken(n){return am(this._rgb,2,-n),this}saturate(n){return am(this._rgb,1,n),this}desaturate(n){return am(this._rgb,1,-n),this}rotate(n){return function PK(t,n){var e=eA(t);e[0]=OF(e[0]+n),e=nA(e),t.r=e[0],t.g=e[1],t.b=e[2]}(this._rgb,n),this}}function Vr(){}const $K=(()=>{let t=0;return()=>t++})();function Le(t){return null===t||typeof t>"u"}function wt(t){if(Array.isArray&&Array.isArray(t))return!0;const n=Object.prototype.toString.call(t);return"[object"===n.slice(0,7)&&"Array]"===n.slice(-6)}function He(t){return null!==t&&"[object Object]"===Object.prototype.toString.call(t)}function Lt(t){return("number"==typeof t||t instanceof Number)&&isFinite(+t)}function mi(t,n){return Lt(t)?t:n}function Me(t,n){return typeof t>"u"?n:t}const VF=(t,n)=>"string"==typeof t&&t.endsWith("%")?parseFloat(t)/100*n:+t;function ut(t,n,e){if(t&&"function"==typeof t.call)return t.apply(e,n)}function at(t,n,e,i){let r,o,s;if(wt(t))if(o=t.length,i)for(r=o-1;r>=0;r--)n.call(e,t[r],r);else for(r=0;rt,x:t=>t.x,y:t=>t.y};function Ao(t,n){return(jF[n]||(jF[n]=function QK(t){const n=function YK(t){const n=t.split("."),e=[];let i="";for(const r of n)i+=r,i.endsWith("\\")?i=i.slice(0,-1)+".":(e.push(i),i="");return e}(t);return e=>{for(const i of n){if(""===i)break;e=e&&e[i]}return e}}(n)))(t)}function rA(t){return t.charAt(0).toUpperCase()+t.slice(1)}const gd=t=>typeof t<"u",xo=t=>"function"==typeof t,UF=(t,n)=>{if(t.size!==n.size)return!1;for(const e of t)if(!n.has(e))return!1;return!0},St=Math.PI,Dt=2*St,KK=Dt+St,dm=Number.POSITIVE_INFINITY,JK=St/180,$t=St/2,vs=St/4,zF=2*St/3,Eo=Math.log10,ur=Math.sign;function _d(t,n,e){return Math.abs(t-n)c&&l=Math.min(n,e)-i&&t<=Math.max(n,e)+i}function aA(t,n,e){e=e||(s=>t[s]1;)o=r+i>>1,e(o)?r=o:i=o;return{lo:r,hi:i}}const jr=(t,n,e,i)=>aA(t,e,i?r=>{const o=t[r][n];return ot[r][n]aA(t,e,i=>t[i][n]>=e),qF=["push","pop","shift","splice","unshift"];function YF(t,n){const e=t._chartjs;if(!e)return;const i=e.listeners,r=i.indexOf(n);-1!==r&&i.splice(r,1),!(i.length>0)&&(qF.forEach(o=>{delete t[o]}),delete t._chartjs)}function QF(t){const n=new Set(t);return n.size===t.length?t:Array.from(n)}const ZF=typeof window>"u"?function(t){return t()}:window.requestAnimationFrame;function KF(t,n){let e=[],i=!1;return function(...r){e=r,i||(i=!0,ZF.call(window,()=>{i=!1,t.apply(n,e)}))}}const cA=t=>"start"===t?"left":"end"===t?"right":"center",Rn=(t,n,e)=>"start"===t?n:"end"===t?e:(n+e)/2;function JF(t,n,e){const i=n.length;let r=0,o=i;if(t._sorted){const{iScale:s,_parsed:a}=t,c=s.axis,{min:l,max:d,minDefined:u,maxDefined:h}=s.getUserBounds();u&&(r=mn(Math.min(jr(a,c,l).lo,e?i:jr(n,c,s.getPixelForValue(l)).lo),0,i-1)),o=h?mn(Math.max(jr(a,s.axis,d,!0).hi+1,e?0:jr(n,c,s.getPixelForValue(d),!0).hi+1),r,i)-r:i-r}return{start:r,count:o}}function eO(t){const{xScale:n,yScale:e,_scaleRanges:i}=t,r={xmin:n.min,xmax:n.max,ymin:e.min,ymax:e.max};if(!i)return t._scaleRanges=r,!0;const o=i.xmin!==n.min||i.xmax!==n.max||i.ymin!==e.min||i.ymax!==e.max;return Object.assign(i,r),o}const um=t=>0===t||1===t,tO=(t,n,e)=>-Math.pow(2,10*(t-=1))*Math.sin((t-n)*Dt/e),nO=(t,n,e)=>Math.pow(2,-10*t)*Math.sin((t-n)*Dt/e)+1,vd={linear:t=>t,easeInQuad:t=>t*t,easeOutQuad:t=>-t*(t-2),easeInOutQuad:t=>(t/=.5)<1?.5*t*t:-.5*(--t*(t-2)-1),easeInCubic:t=>t*t*t,easeOutCubic:t=>(t-=1)*t*t+1,easeInOutCubic:t=>(t/=.5)<1?.5*t*t*t:.5*((t-=2)*t*t+2),easeInQuart:t=>t*t*t*t,easeOutQuart:t=>-((t-=1)*t*t*t-1),easeInOutQuart:t=>(t/=.5)<1?.5*t*t*t*t:-.5*((t-=2)*t*t*t-2),easeInQuint:t=>t*t*t*t*t,easeOutQuint:t=>(t-=1)*t*t*t*t+1,easeInOutQuint:t=>(t/=.5)<1?.5*t*t*t*t*t:.5*((t-=2)*t*t*t*t+2),easeInSine:t=>1-Math.cos(t*$t),easeOutSine:t=>Math.sin(t*$t),easeInOutSine:t=>-.5*(Math.cos(St*t)-1),easeInExpo:t=>0===t?0:Math.pow(2,10*(t-1)),easeOutExpo:t=>1===t?1:1-Math.pow(2,-10*t),easeInOutExpo:t=>um(t)?t:t<.5?.5*Math.pow(2,10*(2*t-1)):.5*(2-Math.pow(2,-10*(2*t-1))),easeInCirc:t=>t>=1?t:-(Math.sqrt(1-t*t)-1),easeOutCirc:t=>Math.sqrt(1-(t-=1)*t),easeInOutCirc:t=>(t/=.5)<1?-.5*(Math.sqrt(1-t*t)-1):.5*(Math.sqrt(1-(t-=2)*t)+1),easeInElastic:t=>um(t)?t:tO(t,.075,.3),easeOutElastic:t=>um(t)?t:nO(t,.075,.3),easeInOutElastic:t=>um(t)?t:t<.5?.5*tO(2*t,.1125,.45):.5+.5*nO(2*t-1,.1125,.45),easeInBack:t=>t*t*(2.70158*t-1.70158),easeOutBack:t=>(t-=1)*t*(2.70158*t+1.70158)+1,easeInOutBack(t){let n=1.70158;return(t/=.5)<1?t*t*((1+(n*=1.525))*t-n)*.5:.5*((t-=2)*t*((1+(n*=1.525))*t+n)+2)},easeInBounce:t=>1-vd.easeOutBounce(1-t),easeOutBounce:t=>t<1/2.75?7.5625*t*t:t<2/2.75?7.5625*(t-=1.5/2.75)*t+.75:t<2.5/2.75?7.5625*(t-=2.25/2.75)*t+.9375:7.5625*(t-=2.625/2.75)*t+.984375,easeInOutBounce:t=>t<.5?.5*vd.easeInBounce(2*t):.5*vd.easeOutBounce(2*t-1)+.5};function lA(t){if(t&&"object"==typeof t){const n=t.toString();return"[object CanvasPattern]"===n||"[object CanvasGradient]"===n}return!1}function iO(t){return lA(t)?t:new nc(t)}function dA(t){return lA(t)?t:new nc(t).saturate(.5).darken(.1).hexString()}const lJ=["x","y","borderWidth","radius","tension"],dJ=["color","borderColor","backgroundColor"],rO=new Map;function yd(t,n,e){return function fJ(t,n){n=n||{};const e=t+JSON.stringify(n);let i=rO.get(e);return i||(i=new Intl.NumberFormat(t,n),rO.set(e,i)),i}(n,e).format(t)}const oO={values:t=>wt(t)?t:""+t,numeric(t,n,e){if(0===t)return"0";const i=this.chart.options.locale;let r,o=t;if(e.length>1){const l=Math.max(Math.abs(e[0].value),Math.abs(e[e.length-1].value));(l<1e-4||l>1e15)&&(r="scientific"),o=function mJ(t,n){let e=n.length>3?n[2].value-n[1].value:n[1].value-n[0].value;return Math.abs(e)>=1&&t!==Math.floor(t)&&(e=t-Math.floor(t)),e}(t,e)}const s=Eo(Math.abs(o)),a=isNaN(s)?1:Math.max(Math.min(-1*Math.floor(s),20),0),c={notation:r,minimumFractionDigits:a,maximumFractionDigits:a};return Object.assign(c,this.options.ticks.format),yd(t,i,c)},logarithmic(t,n,e){if(0===t)return"0";const i=e[n].significand||t/Math.pow(10,Math.floor(Eo(t)));return[1,2,3,5,10,15].includes(i)||n>.8*e.length?oO.numeric.call(this,t,n,e):""}};var hm={formatters:oO};const ys=Object.create(null),uA=Object.create(null);function Ad(t,n){if(!n)return t;const e=n.split(".");for(let i=0,r=e.length;ii.chart.platform.getDevicePixelRatio(),this.elements={},this.events=["mousemove","mouseout","click","touchstart","touchmove"],this.font={family:"'Helvetica Neue', 'Helvetica', 'Arial', sans-serif",size:12,style:"normal",lineHeight:1.2,weight:null},this.hover={},this.hoverBackgroundColor=(i,r)=>dA(r.backgroundColor),this.hoverBorderColor=(i,r)=>dA(r.borderColor),this.hoverColor=(i,r)=>dA(r.color),this.indexAxis="x",this.interaction={mode:"nearest",intersect:!0,includeInvisible:!1},this.maintainAspectRatio=!0,this.onHover=null,this.onClick=null,this.parsing=!0,this.plugins={},this.responsive=!0,this.scale=void 0,this.scales={},this.showLine=!0,this.drawActiveElementsOnTop=!0,this.describe(n),this.apply(e)}set(n,e){return hA(this,n,e)}get(n){return Ad(this,n)}describe(n,e){return hA(uA,n,e)}override(n,e){return hA(ys,n,e)}route(n,e,i,r){const o=Ad(this,n),s=Ad(this,i),a="_"+e;Object.defineProperties(o,{[a]:{value:o[e],writable:!0},[e]:{enumerable:!0,get(){const c=this[a],l=s[r];return He(c)?Object.assign({},l,c):Me(c,l)},set(c){this[a]=c}}})}apply(n){n.forEach(e=>e(this))}}var Ft=new gJ({_scriptable:t=>!t.startsWith("on"),_indexable:t=>"events"!==t,hover:{_fallback:"interaction"},interaction:{_scriptable:!1,_indexable:!1}},[function uJ(t){t.set("animation",{delay:void 0,duration:1e3,easing:"easeOutQuart",fn:void 0,from:void 0,loop:void 0,to:void 0,type:void 0}),t.describe("animation",{_fallback:!1,_indexable:!1,_scriptable:n=>"onProgress"!==n&&"onComplete"!==n&&"fn"!==n}),t.set("animations",{colors:{type:"color",properties:dJ},numbers:{type:"number",properties:lJ}}),t.describe("animations",{_fallback:"animation"}),t.set("transitions",{active:{animation:{duration:400}},resize:{animation:{duration:0}},show:{animations:{colors:{from:"transparent"},visible:{type:"boolean",duration:0}}},hide:{animations:{colors:{to:"transparent"},visible:{type:"boolean",easing:"linear",fn:n=>0|n}}}})},function hJ(t){t.set("layout",{autoPadding:!0,padding:{top:0,right:0,bottom:0,left:0}})},function pJ(t){t.set("scale",{display:!0,offset:!1,reverse:!1,beginAtZero:!1,bounds:"ticks",clip:!0,grace:0,grid:{display:!0,lineWidth:1,drawOnChartArea:!0,drawTicks:!0,tickLength:8,tickWidth:(n,e)=>e.lineWidth,tickColor:(n,e)=>e.color,offset:!1},border:{display:!0,dash:[],dashOffset:0,width:1},title:{display:!1,text:"",padding:{top:4,bottom:4}},ticks:{minRotation:0,maxRotation:50,mirror:!1,textStrokeWidth:0,textStrokeColor:"",padding:3,display:!0,autoSkip:!0,autoSkipPadding:3,labelOffset:0,callback:hm.formatters.values,minor:{},major:{},align:"center",crossAlign:"near",showLabelBackdrop:!1,backdropColor:"rgba(255, 255, 255, 0.75)",backdropPadding:2}}),t.route("scale.ticks","color","","color"),t.route("scale.grid","color","","borderColor"),t.route("scale.border","color","","borderColor"),t.route("scale.title","color","","color"),t.describe("scale",{_fallback:!1,_scriptable:n=>!n.startsWith("before")&&!n.startsWith("after")&&"callback"!==n&&"parser"!==n,_indexable:n=>"borderDash"!==n&&"tickBorderDash"!==n&&"dash"!==n}),t.describe("scales",{_fallback:"scale"}),t.describe("scale.ticks",{_scriptable:n=>"backdropPadding"!==n&&"callback"!==n,_indexable:n=>"backdropPadding"!==n})}]);function fm(t,n,e,i,r){let o=n[r];return o||(o=n[r]=t.measureText(r).width,e.push(r)),o>i&&(i=o),i}function bJ(t,n,e,i){let r=(i=i||{}).data=i.data||{},o=i.garbageCollect=i.garbageCollect||[];i.font!==n&&(r=i.data={},o=i.garbageCollect=[],i.font=n),t.save(),t.font=n;let s=0;const a=e.length;let c,l,d,u,h;for(c=0;ce.length){for(c=0;c0&&t.stroke()}}function Ur(t,n,e){return e=e||.5,!n||t&&t.x>n.left-e&&t.xn.top-e&&t.y0&&""!==o.strokeColor;let c,l;for(t.save(),t.font=r.string,function AJ(t,n){n.translation&&t.translate(n.translation[0],n.translation[1]),Le(n.rotation)||t.rotate(n.rotation),n.color&&(t.fillStyle=n.color),n.textAlign&&(t.textAlign=n.textAlign),n.textBaseline&&(t.textBaseline=n.textBaseline)}(t,o),c=0;c+t||0;function mA(t,n){const e={},i=He(n),r=i?Object.keys(n):n,o=He(t)?i?s=>Me(t[s],t[n[s]]):s=>t[s]:()=>t;for(const s of r)e[s]=CJ(o(s));return e}function cO(t){return mA(t,{top:"y",right:"x",bottom:"y",left:"x"})}function Es(t){return mA(t,["topLeft","topRight","bottomLeft","bottomRight"])}function yn(t){const n=cO(t);return n.width=n.left+n.right,n.height=n.top+n.bottom,n}function tn(t,n){let e=Me((t=t||{}).size,(n=n||Ft.font).size);"string"==typeof e&&(e=parseInt(e,10));let i=Me(t.style,n.style);i&&!(""+i).match(SJ)&&(console.warn('Invalid font style specified: "'+i+'"'),i=void 0);const r={family:Me(t.family,n.family),lineHeight:DJ(Me(t.lineHeight,n.lineHeight),e),size:e,style:i,weight:Me(t.weight,n.weight),string:""};return r.string=function _J(t){return!t||Le(t.size)||Le(t.family)?null:(t.style?t.style+" ":"")+(t.weight?t.weight+" ":"")+t.size+"px "+t.family}(r),r}function Ct(t,n,e,i){let o,s,a,r=!0;for(o=0,s=t.length;ot[0])){const o=e||t;typeof i>"u"&&(i=fO("_fallback",t));const s={[Symbol.toStringTag]:"Object",_cacheable:!0,_scopes:t,_rootScopes:o,_fallback:i,_getTarget:r,override:a=>pA([a,...t],n,o,i)};return new Proxy(s,{deleteProperty:(a,c)=>(delete a[c],delete a._keys,delete t[0][c],!0),get:(a,c)=>dO(a,c,()=>function PJ(t,n,e,i){let r;for(const o of n)if(r=fO(IJ(o,t),e),typeof r<"u")return gA(t,r)?_A(e,i,t,r):r}(c,n,t,a)),getOwnPropertyDescriptor:(a,c)=>Reflect.getOwnPropertyDescriptor(a._scopes[0],c),getPrototypeOf:()=>Reflect.getPrototypeOf(t[0]),has:(a,c)=>mO(a).includes(c),ownKeys:a=>mO(a),set(a,c,l){const d=a._storage||(a._storage=r());return a[c]=d[c]=l,delete a._keys,!0}})}function rc(t,n,e,i){const r={_cacheable:!1,_proxy:t,_context:n,_subProxy:e,_stack:new Set,_descriptors:lO(t,i),setContext:o=>rc(t,o,e,i),override:o=>rc(t.override(o),n,e,i)};return new Proxy(r,{deleteProperty:(o,s)=>(delete o[s],delete t[s],!0),get:(o,s,a)=>dO(o,s,()=>function TJ(t,n,e){const{_proxy:i,_context:r,_subProxy:o,_descriptors:s}=t;let a=i[n];return xo(a)&&s.isScriptable(n)&&(a=function kJ(t,n,e,i){const{_proxy:r,_context:o,_subProxy:s,_stack:a}=e;if(a.has(t))throw new Error("Recursion detected: "+Array.from(a).join("->")+"->"+t);a.add(t);let c=n(o,s||i);return a.delete(t),gA(t,c)&&(c=_A(r._scopes,r,t,c)),c}(n,a,t,e)),wt(a)&&a.length&&(a=function RJ(t,n,e,i){const{_proxy:r,_context:o,_subProxy:s,_descriptors:a}=e;if(typeof o.index<"u"&&i(t))return n[o.index%n.length];if(He(n[0])){const c=n,l=r._scopes.filter(d=>d!==c);n=[];for(const d of c){const u=_A(l,r,t,d);n.push(rc(u,o,s&&s[t],a))}}return n}(n,a,t,s.isIndexable)),gA(n,a)&&(a=rc(a,r,o&&o[n],s)),a}(o,s,a)),getOwnPropertyDescriptor:(o,s)=>o._descriptors.allKeys?Reflect.has(t,s)?{enumerable:!0,configurable:!0}:void 0:Reflect.getOwnPropertyDescriptor(t,s),getPrototypeOf:()=>Reflect.getPrototypeOf(t),has:(o,s)=>Reflect.has(t,s),ownKeys:()=>Reflect.ownKeys(t),set:(o,s,a)=>(t[s]=a,delete o[s],!0)})}function lO(t,n={scriptable:!0,indexable:!0}){const{_scriptable:e=n.scriptable,_indexable:i=n.indexable,_allKeys:r=n.allKeys}=t;return{allKeys:r,scriptable:e,indexable:i,isScriptable:xo(e)?e:()=>e,isIndexable:xo(i)?i:()=>i}}const IJ=(t,n)=>t?t+rA(n):n,gA=(t,n)=>He(n)&&"adapters"!==t&&(null===Object.getPrototypeOf(n)||n.constructor===Object);function dO(t,n,e){if(Object.prototype.hasOwnProperty.call(t,n))return t[n];const i=e();return t[n]=i,i}function uO(t,n,e){return xo(t)?t(n,e):t}const FJ=(t,n)=>!0===t?n:"string"==typeof t?Ao(n,t):void 0;function OJ(t,n,e,i,r){for(const o of n){const s=FJ(e,o);if(s){t.add(s);const a=uO(s._fallback,e,r);if(typeof a<"u"&&a!==e&&a!==i)return a}else if(!1===s&&typeof i<"u"&&e!==i)return null}return!1}function _A(t,n,e,i){const r=n._rootScopes,o=uO(n._fallback,e,i),s=[...t,...r],a=new Set;a.add(i);let c=hO(a,s,e,o||e,i);return!(null===c||typeof o<"u"&&o!==e&&(c=hO(a,s,o,c,i),null===c))&&pA(Array.from(a),[""],r,o,()=>function NJ(t,n,e){const i=t._getTarget();n in i||(i[n]={});const r=i[n];return wt(r)&&He(e)?e:r||{}}(n,e,i))}function hO(t,n,e,i,r){for(;e;)e=OJ(t,n,e,i,r);return e}function fO(t,n){for(const e of n){if(!e)continue;const i=e[t];if(typeof i<"u")return i}}function mO(t){let n=t._keys;return n||(n=t._keys=function LJ(t){const n=new Set;for(const e of t)for(const i of Object.keys(e).filter(r=>!r.startsWith("_")))n.add(i);return Array.from(n)}(t._scopes)),n}function pO(t,n,e,i){const{iScale:r}=t,{key:o="r"}=this._parsing,s=new Array(i);let a,c,l,d;for(a=0,c=i;an"x"===t?"y":"x";function VJ(t,n,e,i){const r=t.skip?n:t,o=n,s=e.skip?n:e,a=sA(o,r),c=sA(s,o);let l=a/(a+c),d=c/(a+c);l=isNaN(l)?0:l,d=isNaN(d)?0:d;const u=i*l,h=i*d;return{previous:{x:o.x-u*(s.x-r.x),y:o.y-u*(s.y-r.y)},next:{x:o.x+h*(s.x-r.x),y:o.y+h*(s.y-r.y)}}}function gm(t,n,e){return Math.max(Math.min(t,e),n)}function GJ(t,n,e,i,r){let o,s,a,c;if(n.spanGaps&&(t=t.filter(l=>!l.skip)),"monotone"===n.cubicInterpolationMode)!function UJ(t,n="x"){const e=gO(n),i=t.length,r=Array(i).fill(0),o=Array(i);let s,a,c,l=oc(t,0);for(s=0;st.ownerDocument.defaultView.getComputedStyle(t,null),WJ=["top","right","bottom","left"];function ws(t,n,e){const i={};e=e?"-"+e:"";for(let r=0;r<4;r++){const o=WJ[r];i[o]=parseFloat(t[n+"-"+o+e])||0}return i.width=i.left+i.right,i.height=i.top+i.bottom,i}const XJ=(t,n,e)=>(t>0||n>0)&&(!e||!e.shadowRoot);function Ss(t,n){if("native"in t)return t;const{canvas:e,currentDevicePixelRatio:i}=n,r=bm(e),o="border-box"===r.boxSizing,s=ws(r,"padding"),a=ws(r,"border","width"),{x:c,y:l,box:d}=function qJ(t,n){const e=t.touches,i=e&&e.length?e[0]:t,{offsetX:r,offsetY:o}=i;let a,c,s=!1;if(XJ(r,o,t.target))a=r,c=o;else{const l=n.getBoundingClientRect();a=i.clientX-l.left,c=i.clientY-l.top,s=!0}return{x:a,y:c,box:s}}(t,e),u=s.left+(d&&a.left),h=s.top+(d&&a.top);let{width:f,height:p}=n;return o&&(f-=s.width+a.width,p-=s.height+a.height),{x:Math.round((c-u)/f*e.width/i),y:Math.round((l-h)/p*e.height/i)}}const vm=t=>Math.round(10*t)/10;function _O(t,n,e){const i=n||1,r=Math.floor(t.height*i),o=Math.floor(t.width*i);t.height=Math.floor(t.height),t.width=Math.floor(t.width);const s=t.canvas;return s.style&&(e||!s.style.height&&!s.style.width)&&(s.style.height=`${t.height}px`,s.style.width=`${t.width}px`),(t.currentDevicePixelRatio!==i||s.height!==r||s.width!==o)&&(t.currentDevicePixelRatio=i,s.height=r,s.width=o,t.ctx.setTransform(i,0,0,i,0,0),!0)}const ZJ=function(){let t=!1;try{const n={get passive(){return t=!0,!1}};bA()&&(window.addEventListener("test",null,n),window.removeEventListener("test",null,n))}catch{}return t}();function bO(t,n){const e=function $J(t,n){return bm(t).getPropertyValue(n)}(t,n),i=e&&e.match(/^(\d+)(\.\d+)?px$/);return i?+i[1]:void 0}function Ds(t,n,e,i){return{x:t.x+e*(n.x-t.x),y:t.y+e*(n.y-t.y)}}function KJ(t,n,e,i){return{x:t.x+e*(n.x-t.x),y:"middle"===i?e<.5?t.y:n.y:"after"===i?e<1?t.y:n.y:e>0?n.y:t.y}}function JJ(t,n,e,i){const r={x:t.cp2x,y:t.cp2y},o={x:n.cp1x,y:n.cp1y},s=Ds(t,r,e),a=Ds(r,o,e),c=Ds(o,n,e),l=Ds(s,a,e),d=Ds(a,c,e);return Ds(l,d,e)}function sc(t,n,e){return t?function(t,n){return{x:e=>t+t+n-e,setWidth(e){n=e},textAlign:e=>"center"===e?e:"right"===e?"left":"right",xPlus:(e,i)=>e-i,leftForLtr:(e,i)=>e-i}}(n,e):{x:t=>t,setWidth(t){},textAlign:t=>t,xPlus:(t,n)=>t+n,leftForLtr:(t,n)=>t}}function vO(t,n){let e,i;("ltr"===n||"rtl"===n)&&(e=t.canvas.style,i=[e.getPropertyValue("direction"),e.getPropertyPriority("direction")],e.setProperty("direction",n,"important"),t.prevTextDirection=i)}function yO(t,n){void 0!==n&&(delete t.prevTextDirection,t.canvas.style.setProperty("direction",n[0],n[1]))}function AO(t){return"angle"===t?{between:bd,compare:nJ,normalize:pi}:{between:Hr,compare:(n,e)=>n-e,normalize:n=>n}}function xO({start:t,end:n,count:e,loop:i,style:r}){return{start:t%e,end:n%e,loop:i&&(n-t+1)%e==0,style:r}}function EO(t,n,e){if(!e)return[t];const{property:i,start:r,end:o}=e,s=n.length,{compare:a,between:c,normalize:l}=AO(i),{start:d,end:u,loop:h,style:f}=function nee(t,n,e){const{property:i,start:r,end:o}=e,{between:s,normalize:a}=AO(i),c=n.length;let h,f,{start:l,end:d,loop:u}=t;if(u){for(l+=c,d+=c,h=0,f=c;ha({chart:n,initial:e.initial,numSteps:s,currentStep:Math.min(i-e.start,s)}))}_refresh(){this._request||(this._running=!0,this._request=ZF.call(window,()=>{this._update(),this._request=null,this._running&&this._refresh()}))}_update(n=Date.now()){let e=0;this._charts.forEach((i,r)=>{if(!i.running||!i.items.length)return;const o=i.items;let c,s=o.length-1,a=!1;for(;s>=0;--s)c=o[s],c._active?(c._total>i.duration&&(i.duration=c._total),c.tick(n),a=!0):(o[s]=o[o.length-1],o.pop());a&&(r.draw(),this._notify(r,i,n,"progress")),o.length||(i.running=!1,this._notify(r,i,n,"complete"),i.initial=!1),e+=o.length}),this._lastDate=n,0===e&&(this._running=!1)}_getAnims(n){const e=this._charts;let i=e.get(n);return i||(i={running:!1,initial:!0,items:[],listeners:{complete:[],progress:[]}},e.set(n,i)),i}listen(n,e,i){this._getAnims(n).listeners[e].push(i)}add(n,e){!e||!e.length||this._getAnims(n).items.push(...e)}has(n){return this._getAnims(n).items.length>0}start(n){const e=this._charts.get(n);e&&(e.running=!0,e.start=Date.now(),e.duration=e.items.reduce((i,r)=>Math.max(i,r._duration),0),this._refresh())}running(n){if(!this._running)return!1;const e=this._charts.get(n);return!(!e||!e.running||!e.items.length)}stop(n){const e=this._charts.get(n);if(!e||!e.items.length)return;const i=e.items;let r=i.length-1;for(;r>=0;--r)i[r].cancel();e.items=[],this._notify(n,e,Date.now(),"complete")}remove(n){return this._charts.delete(n)}}var zr=new cee;const CO="transparent",lee={boolean:(t,n,e)=>e>.5?n:t,color(t,n,e){const i=iO(t||CO),r=i.valid&&iO(n||CO);return r&&r.valid?r.mix(i,e).hexString():n},number:(t,n,e)=>t+(n-t)*e};class dee{constructor(n,e,i,r){const o=e[i];r=Ct([n.to,r,o,n.from]);const s=Ct([n.from,o,r]);this._active=!0,this._fn=n.fn||lee[n.type||typeof s],this._easing=vd[n.easing]||vd.linear,this._start=Math.floor(Date.now()+(n.delay||0)),this._duration=this._total=Math.floor(n.duration),this._loop=!!n.loop,this._target=e,this._prop=i,this._from=s,this._to=r,this._promises=void 0}active(){return this._active}update(n,e,i){if(this._active){this._notify(!1);const r=this._target[this._prop],o=i-this._start,s=this._duration-o;this._start=i,this._duration=Math.floor(Math.max(s,n.duration)),this._total+=o,this._loop=!!n.loop,this._to=Ct([n.to,e,r,n.from]),this._from=Ct([n.from,r,e])}}cancel(){this._active&&(this.tick(Date.now()),this._active=!1,this._notify(!1))}tick(n){const e=n-this._start,i=this._duration,r=this._prop,o=this._from,s=this._loop,a=this._to;let c;if(this._active=o!==a&&(s||e1?2-c:c,c=this._easing(Math.min(1,Math.max(0,c))),this._target[r]=this._fn(o,a,c))}wait(){const n=this._promises||(this._promises=[]);return new Promise((e,i)=>{n.push({res:e,rej:i})})}_notify(n){const e=n?"res":"rej",i=this._promises||[];for(let r=0;r{const o=n[r];if(!He(o))return;const s={};for(const a of e)s[a]=o[a];(wt(o.properties)&&o.properties||[r]).forEach(a=>{(a===r||!i.has(a))&&i.set(a,s)})})}_animateOptions(n,e){const i=e.options,r=function hee(t,n){if(!n)return;let e=t.options;if(e)return e.$shared&&(t.options=e=Object.assign({},e,{$shared:!1,$animations:{}})),e;t.options=n}(n,i);if(!r)return[];const o=this._createAnimations(r,i);return i.$shared&&function uee(t,n){const e=[],i=Object.keys(n);for(let r=0;r{n.options=i},()=>{}),o}_createAnimations(n,e){const i=this._properties,r=[],o=n.$animations||(n.$animations={}),s=Object.keys(e),a=Date.now();let c;for(c=s.length-1;c>=0;--c){const l=s[c];if("$"===l.charAt(0))continue;if("options"===l){r.push(...this._animateOptions(n,e));continue}const d=e[l];let u=o[l];const h=i.get(l);if(u){if(h&&u.active()){u.update(h,d,a);continue}u.cancel()}h&&h.duration?(o[l]=u=new dee(h,n,l,d),r.push(u)):n[l]=d}return r}update(n,e){if(0===this._properties.size)return void Object.assign(n,e);const i=this._createAnimations(n,e);return i.length?(zr.add(this._chart,i),!0):void 0}}function IO(t,n){const e=t&&t.options||{},i=e.reverse,r=void 0===e.min?n:0,o=void 0===e.max?n:0;return{start:i?o:r,end:i?r:o}}function TO(t,n){const e=[],i=t._getSortedDatasetMetas(n);let r,o;for(r=0,o=i.length;r0||!e&&o<0)return r.index}return null}function OO(t,n){const{chart:e,_cachedMeta:i}=t,r=e._stacks||(e._stacks={}),{iScale:o,vScale:s,index:a}=i,c=o.axis,l=s.axis,d=function gee(t,n,e){return`${t.id}.${n.id}.${e.stack||e.type}`}(o,s,i),u=n.length;let h;for(let f=0;fe[i].axis===n).shift()}function Ed(t,n){const e=t.controller.index,i=t.vScale&&t.vScale.axis;if(i){n=n||t._parsed;for(const r of n){const o=r._stacks;if(!o||void 0===o[i]||void 0===o[i][e])return;delete o[i][e],void 0!==o[i]._visualValues&&void 0!==o[i]._visualValues[e]&&delete o[i]._visualValues[e]}}}const AA=t=>"reset"===t||"none"===t,NO=(t,n)=>n?t:Object.assign({},t);let So=(()=>class t{static defaults={};static datasetElementType=null;static dataElementType=null;constructor(e,i){this.chart=e,this._ctx=e.ctx,this.index=i,this._cachedDataOpts={},this._cachedMeta=this.getMeta(),this._type=this._cachedMeta.type,this.options=void 0,this._parsing=!1,this._data=void 0,this._objectData=void 0,this._sharedOptions=void 0,this._drawStart=void 0,this._drawCount=void 0,this.enableOptionSharing=!1,this.supportsDecimation=!1,this.$context=void 0,this._syncList=[],this.datasetElementType=new.target.datasetElementType,this.dataElementType=new.target.dataElementType,this.initialize()}initialize(){const e=this._cachedMeta;this.configure(),this.linkScales(),e._stacked=RO(e.vScale,e),this.addElements(),this.options.fill&&!this.chart.isPluginEnabled("filler")&&console.warn("Tried to use the 'fill' option without the 'Filler' plugin enabled. Please import and register the 'Filler' plugin and make sure it is not disabled in the options")}updateIndex(e){this.index!==e&&Ed(this._cachedMeta),this.index=e}linkScales(){const e=this.chart,i=this._cachedMeta,r=this.getDataset(),o=(h,f,p,g)=>"x"===h?f:"r"===h?g:p,s=i.xAxisID=Me(r.xAxisID,yA(e,"x")),a=i.yAxisID=Me(r.yAxisID,yA(e,"y")),c=i.rAxisID=Me(r.rAxisID,yA(e,"r")),l=i.indexAxis,d=i.iAxisID=o(l,s,a,c),u=i.vAxisID=o(l,a,s,c);i.xScale=this.getScaleForId(s),i.yScale=this.getScaleForId(a),i.rScale=this.getScaleForId(c),i.iScale=this.getScaleForId(d),i.vScale=this.getScaleForId(u)}getDataset(){return this.chart.data.datasets[this.index]}getMeta(){return this.chart.getDatasetMeta(this.index)}getScaleForId(e){return this.chart.scales[e]}_getOtherScale(e){const i=this._cachedMeta;return e===i.iScale?i.vScale:i.iScale}reset(){this._update("reset")}_destroy(){const e=this._cachedMeta;this._data&&YF(this._data,this),e._stacked&&Ed(e)}_dataCheck(){const e=this.getDataset(),i=e.data||(e.data=[]),r=this._data;if(He(i))this._data=function pee(t){const n=Object.keys(t),e=new Array(n.length);let i,r,o;for(i=0,r=n.length;i{const i="_onData"+rA(e),r=t[e];Object.defineProperty(t,e,{configurable:!0,enumerable:!1,value(...o){const s=r.apply(this,o);return t._chartjs.listeners.forEach(a=>{"function"==typeof a[i]&&a[i](...o)}),s}})}))}(i,this),this._syncList=[],this._data=i}}addElements(){const e=this._cachedMeta;this._dataCheck(),this.datasetElementType&&(e.dataset=new this.datasetElementType)}buildOrUpdateElements(e){const i=this._cachedMeta,r=this.getDataset();let o=!1;this._dataCheck();const s=i._stacked;i._stacked=RO(i.vScale,i),i.stack!==r.stack&&(o=!0,Ed(i),i.stack=r.stack),this._resyncElements(e),(o||s!==i._stacked)&&OO(this,i._parsed)}configure(){const e=this.chart.config,i=e.datasetScopeKeys(this._type),r=e.getOptionScopes(this.getDataset(),i,!0);this.options=e.createResolver(r,this.getContext()),this._parsing=this.options.parsing,this._cachedDataOpts={}}parse(e,i){const{_cachedMeta:r,_data:o}=this,{iScale:s,_stacked:a}=r,c=s.axis;let u,h,f,l=0===e&&i===o.length||r._sorted,d=e>0&&r._parsed[e-1];if(!1===this._parsing)r._parsed=o,r._sorted=!0,f=o;else{f=wt(o[e])?this.parseArrayData(r,o,e,i):He(o[e])?this.parseObjectData(r,o,e,i):this.parsePrimitiveData(r,o,e,i);const p=()=>null===h[c]||d&&h[c]t&&!n.hidden&&n._stacked&&{keys:TO(this.chart,!0),values:null})(i,r),d={min:Number.POSITIVE_INFINITY,max:Number.NEGATIVE_INFINITY},{min:u,max:h}=function _ee(t){const{min:n,max:e,minDefined:i,maxDefined:r}=t.getUserBounds();return{min:i?n:Number.NEGATIVE_INFINITY,max:r?e:Number.POSITIVE_INFINITY}}(c);let f,p;function g(){p=o[f];const _=p[c.axis];return!Lt(p[e.axis])||u>_||h<_}for(f=0;f=0;--f)if(!g()){this.updateRangeFromParsed(d,e,p,l);break}return d}getAllParsedValues(e){const i=this._cachedMeta._parsed,r=[];let o,s,a;for(o=0,s=i.length;o=0&&ethis.getContext(r,o,i),h);return _.$shared&&(_.$shared=l,s[a]=Object.freeze(NO(_,l))),_}_resolveAnimations(e,i,r){const o=this.chart,s=this._cachedDataOpts,a=`animation-${i}`,c=s[a];if(c)return c;let l;if(!1!==o.options.animation){const u=this.chart.config,h=u.datasetAnimationScopeKeys(this._type,i),f=u.getOptionScopes(this.getDataset(),h);l=u.createResolver(f,this.getContext(e,r,i))}const d=new MO(o,l&&l.animations);return l&&l._cacheable&&(s[a]=Object.freeze(d)),d}getSharedOptions(e){if(e.$shared)return this._sharedOptions||(this._sharedOptions=Object.assign({},e))}includeOptions(e,i){return!i||AA(e)||this.chart._animationsDisabled}_getSharedOptions(e,i){const r=this.resolveDataElementOptions(e,i),o=this._sharedOptions,s=this.getSharedOptions(r),a=this.includeOptions(i,s)||s!==o;return this.updateSharedOptions(s,i,r),{sharedOptions:s,includeOptions:a}}updateElement(e,i,r,o){AA(o)?Object.assign(e,r):this._resolveAnimations(i,o).update(e,r)}updateSharedOptions(e,i,r){e&&!AA(i)&&this._resolveAnimations(void 0,i).update(e,r)}_setStyle(e,i,r,o){e.active=o;const s=this.getStyle(i,o);this._resolveAnimations(i,r,o).update(e,{options:!o&&this.getSharedOptions(s)||s})}removeHoverStyle(e,i,r){this._setStyle(e,r,"active",!1)}setHoverStyle(e,i,r){this._setStyle(e,r,"active",!0)}_removeDatasetHoverStyle(){const e=this._cachedMeta.dataset;e&&this._setStyle(e,void 0,"active",!1)}_setDatasetHoverStyle(){const e=this._cachedMeta.dataset;e&&this._setStyle(e,void 0,"active",!0)}_resyncElements(e){const i=this._data,r=this._cachedMeta.data;for(const[c,l,d]of this._syncList)this[c](l,d);this._syncList=[];const o=r.length,s=i.length,a=Math.min(s,o);a&&this.parse(0,a),s>o?this._insertElements(o,s-o,e):s{for(d.length+=i,c=d.length-1;c>=a;c--)d[c]=d[c-i]};for(l(s),c=e;cr-o))}return t._cache.$bar}(n,t.type);let r,o,s,a,i=n._length;const c=()=>{32767===s||-32768===s||(gd(a)&&(i=Math.min(i,Math.abs(s-a)||i)),a=s)};for(r=0,o=e.length;rMath.abs(a)&&(c=a,l=s),n[e.axis]=l,n._custom={barStart:c,barEnd:l,start:r,end:o,min:s,max:a}}(t,n,e,i):n[e.axis]=e.parse(t,i),n}function LO(t,n,e,i){const r=t.iScale,o=t.vScale,s=r.getLabels(),a=r===o,c=[];let l,d,u,h;for(l=e,d=e+i;lt.x,e="left",i="right"):(n=t.baseclass t extends So{static id="bar";static defaults={datasetElementType:!1,dataElementType:"bar",categoryPercentage:.8,barPercentage:.9,grouped:!0,animations:{numbers:{type:"number",properties:["x","y","base","width","height"]}}};static overrides={scales:{_index_:{type:"category",offset:!0,grid:{offset:!0}},_value_:{type:"linear",beginAtZero:!0}}};parsePrimitiveData(e,i,r,o){return LO(e,i,r,o)}parseArrayData(e,i,r,o){return LO(e,i,r,o)}parseObjectData(e,i,r,o){const{iScale:s,vScale:a}=e,{xAxisKey:c="x",yAxisKey:l="y"}=this._parsing,d="x"===s.axis?c:l,u="x"===a.axis?c:l,h=[];let f,p,g,_;for(f=r,p=r+o;fl.controller.options.grouped),s=r.options.stacked,a=[],c=l=>{const d=l.controller.getParsed(i),u=d&&d[l.vScale.axis];if(Le(u)||isNaN(u))return!0};for(const l of o)if((void 0===i||!c(l))&&((!1===s||-1===a.indexOf(l.stack)||void 0===s&&void 0===l.stack)&&a.push(l.stack),l.index===e))break;return a.length||a.push(void 0),a}_getStackCount(e){return this._getStacks(void 0,e).length}_getStackIndex(e,i,r){const o=this._getStacks(e,r),s=void 0!==i?o.indexOf(i):-1;return-1===s?o.length-1:s}_getRuler(){const e=this.options,i=this._cachedMeta,r=i.iScale,o=[];let s,a;for(s=0,a=i.data.length;s=e?1:-1)}(_,i,c)*a,h===c&&(y-=_/2);const k=i.getPixelForDecimal(0),F=i.getPixelForDecimal(1),O=Math.min(k,F),L=Math.max(k,F);y=Math.max(Math.min(y,L),O),g=y+_,r&&!u&&(l._stacks[i.axis]._visualValues[o]=i.getValueForPixel(g)-i.getValueForPixel(y))}if(y===i.getPixelForValue(c)){const k=ur(_)*i.getLineWidthForValue(c)/2;y+=k,_-=k}return{size:_,base:y,head:g,center:g+_/2}}_calculateBarIndexPixels(e,i){const r=i.scale,o=this.options,s=o.skipNull,a=Me(o.maxBarThickness,1/0);let c,l;if(i.grouped){const d=s?this._getStackCount(e):i.stackCount,u="flex"===o.barThickness?function See(t,n,e,i){const r=n.pixels,o=r[t];let s=t>0?r[t-1]:null,a=tclass t extends So{static id="bubble";static defaults={datasetElementType:!1,dataElementType:"point",animations:{numbers:{type:"number",properties:["x","y","borderWidth","radius"]}}};static overrides={scales:{x:{type:"linear"},y:{type:"linear"}}};initialize(){this.enableOptionSharing=!0,super.initialize()}parsePrimitiveData(e,i,r,o){const s=super.parsePrimitiveData(e,i,r,o);for(let a=0;a=0;--r)i=Math.max(i,e[r].size(this.resolveDataElementOptions(r))/2);return i>0&&i}getLabelAndValue(e){const i=this._cachedMeta,r=this.chart.data.labels||[],{xScale:o,yScale:s}=i,a=this.getParsed(e),c=o.getLabelForValue(a.x),l=s.getLabelForValue(a.y),d=a._custom;return{label:r[e]||"",value:"("+c+", "+l+(d?", "+d:"")+")"}}update(e){const i=this._cachedMeta.data;this.updateElements(i,0,i.length,e)}updateElements(e,i,r,o){const s="reset"===o,{iScale:a,vScale:c}=this._cachedMeta,{sharedOptions:l,includeOptions:d}=this._getSharedOptions(i,o),u=a.axis,h=c.axis;for(let f=i;fclass t extends So{static id="doughnut";static defaults={datasetElementType:!1,dataElementType:"arc",animation:{animateRotate:!0,animateScale:!1},animations:{numbers:{type:"number",properties:["circumference","endAngle","innerRadius","outerRadius","startAngle","x","y","offset","borderWidth","spacing"]}},cutout:"50%",rotation:0,circumference:360,radius:"100%",spacing:0,indexAxis:"r"};static descriptors={_scriptable:e=>"spacing"!==e,_indexable:e=>"spacing"!==e&&!e.startsWith("borderDash")&&!e.startsWith("hoverBorderDash")};static overrides={aspectRatio:1,plugins:{legend:{labels:{generateLabels(e){const i=e.data;if(i.labels.length&&i.datasets.length){const{labels:{pointStyle:r,color:o}}=e.legend.options;return i.labels.map((s,a)=>{const l=e.getDatasetMeta(0).controller.getStyle(a);return{text:s,fillStyle:l.backgroundColor,strokeStyle:l.borderColor,fontColor:o,lineWidth:l.borderWidth,pointStyle:r,hidden:!e.getDataVisibility(a),index:a}})}return[]}},onClick(e,i,r){r.chart.toggleDataVisibility(i.index),r.chart.update()}}}};constructor(e,i){super(e,i),this.enableOptionSharing=!0,this.innerRadius=void 0,this.outerRadius=void 0,this.offsetX=void 0,this.offsetY=void 0}linkScales(){}parse(e,i){const r=this.getDataset().data,o=this._cachedMeta;if(!1===this._parsing)o._parsed=r;else{let a,c,s=l=>+r[l];if(He(r[e])){const{key:l="value"}=this._parsing;s=d=>+Ao(r[d],l)}for(a=e,c=e+i;a"string"==typeof t&&t.endsWith("%")?parseFloat(t)/100:+t/n)(this.options.cutout,c),1),d=this._getRingWeight(this.index),{circumference:u,rotation:h}=this._getRotationExtents(),{ratioX:f,ratioY:p,offsetX:g,offsetY:_}=function Oee(t,n,e){let i=1,r=1,o=0,s=0;if(nbd(k,a,c,!0)?1:Math.max(F,F*e,O,O*e),p=(k,F,O)=>bd(k,a,c,!0)?-1:Math.min(F,F*e,O,O*e),g=f(0,l,u),_=f($t,d,h),x=p(St,l,u),y=p(St+$t,d,h);i=(g-x)/2,r=(_-y)/2,o=-(g+x)/2,s=-(_+y)/2}return{ratioX:i,ratioY:r,offsetX:o,offsetY:s}}(h,u,l),k=Math.max(Math.min((r.width-a)/f,(r.height-a)/p)/2,0),F=VF(this.options.radius,k),L=(F-Math.max(F*l,0))/this._getVisibleDatasetWeightTotal();this.offsetX=g*F,this.offsetY=_*F,o.total=this.calculateTotal(),this.outerRadius=F-L*this._getRingWeightOffset(this.index),this.innerRadius=Math.max(this.outerRadius-L*d,0),this.updateElements(s,0,s.length,e)}_circumference(e,i){const r=this.options,o=this._cachedMeta,s=this._getCircumference();return i&&r.animation.animateRotate||!this.chart.getDataVisibility(e)||null===o._parsed[e]||o.data[e].hidden?0:this.calculateCircumference(o._parsed[e]*s/Dt)}updateElements(e,i,r,o){const s="reset"===o,a=this.chart,c=a.chartArea,u=(c.left+c.right)/2,h=(c.top+c.bottom)/2,f=s&&a.options.animation.animateScale,p=f?0:this.innerRadius,g=f?0:this.outerRadius,{sharedOptions:_,includeOptions:x}=this._getSharedOptions(i,o);let k,y=this._getRotation();for(k=0;k0&&!isNaN(e)?Dt*(Math.abs(e)/i):0}getLabelAndValue(e){const r=this.chart,o=r.data.labels||[],s=yd(this._cachedMeta._parsed[e],r.options.locale);return{label:o[e]||"",value:s}}getMaxBorderWidth(e){let i=0;const r=this.chart;let o,s,a,c,l;if(!e)for(o=0,s=r.data.datasets.length;oclass t extends So{static id="line";static defaults={datasetElementType:"line",dataElementType:"point",showLine:!0,spanGaps:!1};static overrides={scales:{_index_:{type:"category"},_value_:{type:"linear"}}};initialize(){this.enableOptionSharing=!0,this.supportsDecimation=!0,super.initialize()}update(e){const i=this._cachedMeta,{dataset:r,data:o=[],_dataset:s}=i,a=this.chart._animationsDisabled;let{start:c,count:l}=JF(i,o,a);this._drawStart=c,this._drawCount=l,eO(i)&&(c=0,l=o.length),r._chart=this.chart,r._datasetIndex=this.index,r._decimated=!!s._decimated,r.points=o;const d=this.resolveDatasetElementOptions(e);this.options.showLine||(d.borderWidth=0),d.segment=this.options.segment,this.updateElement(r,void 0,{animated:!a,options:d},e),this.updateElements(o,c,l,e)}updateElements(e,i,r,o){const s="reset"===o,{iScale:a,vScale:c,_stacked:l,_dataset:d}=this._cachedMeta,{sharedOptions:u,includeOptions:h}=this._getSharedOptions(i,o),f=a.axis,p=c.axis,{spanGaps:g,segment:_}=this.options,x=ic(g)?g:Number.POSITIVE_INFINITY,y=this.chart._animationsDisabled||s||"none"===o,k=i+r,F=e.length;let O=i>0&&this.getParsed(i-1);for(let L=0;L=k){z.skip=!0;continue}const ie=this.getParsed(L),pe=Le(ie[p]),De=z[f]=a.getPixelForValue(ie[f],L),Ce=z[p]=s||pe?c.getBasePixel():c.getPixelForValue(l?this.applyStack(c,ie,l):ie[p],L);z.skip=isNaN(De)||isNaN(Ce)||pe,z.stop=L>0&&Math.abs(ie[f]-O[f])>x,_&&(z.parsed=ie,z.raw=d.data[L]),h&&(z.options=u||this.resolveDataElementOptions(L,$.active?"active":o)),y||this.updateElement($,L,z,o),O=ie}}getMaxOverflow(){const e=this._cachedMeta,i=e.dataset,r=i.options&&i.options.borderWidth||0,o=e.data||[];if(!o.length)return r;const s=o[0].size(this.resolveDataElementOptions(0)),a=o[o.length-1].size(this.resolveDataElementOptions(o.length-1));return Math.max(r,s,a)/2}draw(){const e=this._cachedMeta;e.dataset.updateControlPoints(this.chart.chartArea,e.iScale.axis),super.draw()}})(),HO=(()=>class t extends So{static id="polarArea";static defaults={dataElementType:"arc",animation:{animateRotate:!0,animateScale:!0},animations:{numbers:{type:"number",properties:["x","y","startAngle","endAngle","innerRadius","outerRadius"]}},indexAxis:"r",startAngle:0};static overrides={aspectRatio:1,plugins:{legend:{labels:{generateLabels(e){const i=e.data;if(i.labels.length&&i.datasets.length){const{labels:{pointStyle:r,color:o}}=e.legend.options;return i.labels.map((s,a)=>{const l=e.getDatasetMeta(0).controller.getStyle(a);return{text:s,fillStyle:l.backgroundColor,strokeStyle:l.borderColor,fontColor:o,lineWidth:l.borderWidth,pointStyle:r,hidden:!e.getDataVisibility(a),index:a}})}return[]}},onClick(e,i,r){r.chart.toggleDataVisibility(i.index),r.chart.update()}}},scales:{r:{type:"radialLinear",angleLines:{display:!1},beginAtZero:!0,grid:{circular:!0},pointLabels:{display:!1},startAngle:0}}};constructor(e,i){super(e,i),this.innerRadius=void 0,this.outerRadius=void 0}getLabelAndValue(e){const r=this.chart,o=r.data.labels||[],s=yd(this._cachedMeta._parsed[e].r,r.options.locale);return{label:o[e]||"",value:s}}parseObjectData(e,i,r,o){return pO.bind(this)(e,i,r,o)}update(e){const i=this._cachedMeta.data;this._updateRadius(),this.updateElements(i,0,i.length,e)}getMinMax(){const i={min:Number.POSITIVE_INFINITY,max:Number.NEGATIVE_INFINITY};return this._cachedMeta.data.forEach((r,o)=>{const s=this.getParsed(o).r;!isNaN(s)&&this.chart.getDataVisibility(o)&&(si.max&&(i.max=s))}),i}_updateRadius(){const e=this.chart,i=e.chartArea,r=e.options,o=Math.min(i.right-i.left,i.bottom-i.top),s=Math.max(o/2,0),c=(s-Math.max(r.cutoutPercentage?s/100*r.cutoutPercentage:1,0))/e.getVisibleDatasetCount();this.outerRadius=s-c*this.index,this.innerRadius=this.outerRadius-c}updateElements(e,i,r,o){const s="reset"===o,a=this.chart,l=a.options.animation,d=this._cachedMeta.rScale,u=d.xCenter,h=d.yCenter,f=d.getIndexAngle(0)-.5*St;let g,p=f;const _=360/this.countVisibleElements();for(g=0;g{!isNaN(this.getParsed(o).r)&&this.chart.getDataVisibility(o)&&i++}),i}_computeAngle(e,i,r){return this.chart.getDataVisibility(e)?ji(this.resolveDataElementOptions(e,i).angle||r):0}})();var Pee=Object.freeze({__proto__:null,BarController:Ree,BubbleController:Fee,DoughnutController:EA,LineController:Nee,PieController:(()=>class t extends EA{static id="pie";static defaults={cutout:0,rotation:0,circumference:360,radius:"100%"}})(),PolarAreaController:HO,RadarController:(()=>class t extends So{static id="radar";static defaults={datasetElementType:"line",dataElementType:"point",indexAxis:"r",showLine:!0,elements:{line:{fill:"start"}}};static overrides={aspectRatio:1,scales:{r:{type:"radialLinear"}}};getLabelAndValue(e){const i=this._cachedMeta.vScale,r=this.getParsed(e);return{label:i.getLabels()[e],value:""+i.getLabelForValue(r[i.axis])}}parseObjectData(e,i,r,o){return pO.bind(this)(e,i,r,o)}update(e){const i=this._cachedMeta,r=i.dataset,o=i.data||[],s=i.iScale.getLabels();if(r.points=o,"resize"!==e){const a=this.resolveDatasetElementOptions(e);this.options.showLine||(a.borderWidth=0),this.updateElement(r,void 0,{_loop:!0,_fullLoop:s.length===o.length,options:a},e)}this.updateElements(o,0,o.length,e)}updateElements(e,i,r,o){const s=this._cachedMeta.rScale,a="reset"===o;for(let c=i;cclass t extends So{static id="scatter";static defaults={datasetElementType:!1,dataElementType:"point",showLine:!1,fill:!1};static overrides={interaction:{mode:"point"},scales:{x:{type:"linear"},y:{type:"linear"}}};getLabelAndValue(e){const i=this._cachedMeta,r=this.chart.data.labels||[],{xScale:o,yScale:s}=i,a=this.getParsed(e),c=o.getLabelForValue(a.x),l=s.getLabelForValue(a.y);return{label:r[e]||"",value:"("+c+", "+l+")"}}update(e){const i=this._cachedMeta,{data:r=[]}=i,o=this.chart._animationsDisabled;let{start:s,count:a}=JF(i,r,o);if(this._drawStart=s,this._drawCount=a,eO(i)&&(s=0,a=r.length),this.options.showLine){this.datasetElementType||this.addElements();const{dataset:c,_dataset:l}=i;c._chart=this.chart,c._datasetIndex=this.index,c._decimated=!!l._decimated,c.points=r;const d=this.resolveDatasetElementOptions(e);d.segment=this.options.segment,this.updateElement(c,void 0,{animated:!o,options:d},e)}else this.datasetElementType&&(delete i.dataset,this.datasetElementType=!1);this.updateElements(r,s,a,e)}addElements(){const{showLine:e}=this.options;!this.datasetElementType&&e&&(this.datasetElementType=this.chart.registry.getElement("line")),super.addElements()}updateElements(e,i,r,o){const s="reset"===o,{iScale:a,vScale:c,_stacked:l,_dataset:d}=this._cachedMeta,u=this.resolveDataElementOptions(i,o),h=this.getSharedOptions(u),f=this.includeOptions(o,h),p=a.axis,g=c.axis,{spanGaps:_,segment:x}=this.options,y=ic(_)?_:Number.POSITIVE_INFINITY,k=this.chart._animationsDisabled||s||"none"===o;let F=i>0&&this.getParsed(i-1);for(let O=i;O0&&Math.abs($[p]-F[p])>y,x&&(z.parsed=$,z.raw=d.data[O]),f&&(z.options=h||this.resolveDataElementOptions(O,L.active?"active":o)),k||this.updateElement(L,O,z,o),F=$}this.updateSharedOptions(h,o,u)}getMaxOverflow(){const e=this._cachedMeta,i=e.data||[];if(!this.options.showLine){let c=0;for(let l=i.length-1;l>=0;--l)c=Math.max(c,i[l].size(this.resolveDataElementOptions(l))/2);return c>0&&c}const r=e.dataset,o=r.options&&r.options.borderWidth||0;if(!i.length)return o;const s=i[0].size(this.resolveDataElementOptions(0)),a=i[i.length-1].size(this.resolveDataElementOptions(i.length-1));return Math.max(o,s,a)/2}})()});function Cs(){throw new Error("This method is not implemented: Check that a complete date adapter is provided.")}class wA{static override(n){Object.assign(wA.prototype,n)}options;constructor(n){this.options=n||{}}init(){}formats(){return Cs()}parse(){return Cs()}format(){return Cs()}add(){return Cs()}diff(){return Cs()}startOf(){return Cs()}endOf(){return Cs()}}var Lee__date=wA;function Bee(t,n,e,i){const{controller:r,data:o,_sorted:s}=t,a=r._cachedMeta.iScale;if(a&&n===a.axis&&"r"!==n&&s&&o.length){const c=a._reversePixels?rJ:jr;if(!i)return c(o,n,e);if(r._sharedOptions){const l=o[0],d="function"==typeof l.getRange&&l.getRange(n);if(d){const u=c(o,n,e-d),h=c(o,n,e+d);return{lo:u.lo,hi:h.hi}}}}return{lo:0,hi:o.length-1}}function wd(t,n,e,i,r){const o=t.getSortedVisibleDatasetMetas(),s=e[n];for(let a=0,c=o.length;a{c[s](n[e],r)&&(o.push({element:c,datasetIndex:l,index:d}),a=a||c.inRange(n.x,n.y,r))}),i&&!a?[]:o}var Uee={evaluateInteractionItems:wd,modes:{index(t,n,e,i){const r=Ss(n,t),o=e.axis||"x",s=e.includeInvisible||!1,a=e.intersect?SA(t,r,o,i,s):DA(t,r,o,!1,i,s),c=[];return a.length?(t.getSortedVisibleDatasetMetas().forEach(l=>{const d=a[0].index,u=l.data[d];u&&!u.skip&&c.push({element:u,datasetIndex:l.index,index:d})}),c):[]},dataset(t,n,e,i){const r=Ss(n,t),o=e.axis||"xy",s=e.includeInvisible||!1;let a=e.intersect?SA(t,r,o,i,s):DA(t,r,o,!1,i,s);if(a.length>0){const c=a[0].datasetIndex,l=t.getDatasetMeta(c).data;a=[];for(let d=0;dSA(t,Ss(n,t),e.axis||"xy",i,e.includeInvisible||!1),nearest:(t,n,e,i)=>DA(t,Ss(n,t),e.axis||"xy",e.intersect,i,e.includeInvisible||!1),x:(t,n,e,i)=>jO(t,Ss(n,t),"x",e.intersect,i),y:(t,n,e,i)=>jO(t,Ss(n,t),"y",e.intersect,i)}};const UO=["left","top","right","bottom"];function Sd(t,n){return t.filter(e=>e.pos===n)}function zO(t,n){return t.filter(e=>-1===UO.indexOf(e.pos)&&e.box.axis===n)}function Dd(t,n){return t.sort((e,i)=>{const r=n?i:e,o=n?e:i;return r.weight===o.weight?r.index-o.index:r.weight-o.weight})}function GO(t,n,e,i){return Math.max(t[e],n[e])+Math.max(t[i],n[i])}function $O(t,n){t.top=Math.max(t.top,n.top),t.left=Math.max(t.left,n.left),t.bottom=Math.max(t.bottom,n.bottom),t.right=Math.max(t.right,n.right)}function Xee(t,n,e,i){const{pos:r,box:o}=e,s=t.maxPadding;if(!He(r)){e.size&&(t[r]-=e.size);const u=i[e.stack]||{size:0,count:1};u.size=Math.max(u.size,e.horizontal?o.height:o.width),e.size=u.size/u.count,t[r]+=e.size}o.getPadding&&$O(s,o.getPadding());const a=Math.max(0,n.outerWidth-GO(s,t,"left","right")),c=Math.max(0,n.outerHeight-GO(s,t,"top","bottom")),l=a!==t.w,d=c!==t.h;return t.w=a,t.h=c,e.horizontal?{same:l,other:d}:{same:d,other:l}}function Yee(t,n){const e=n.maxPadding;return function i(r){const o={left:0,top:0,right:0,bottom:0};return r.forEach(s=>{o[s]=Math.max(n[s],e[s])}),o}(t?["left","right"]:["top","bottom"])}function Cd(t,n,e,i){const r=[];let o,s,a,c,l,d;for(o=0,s=t.length,l=0;ol.box.fullSize),!0),i=Dd(Sd(n,"left"),!0),r=Dd(Sd(n,"right")),o=Dd(Sd(n,"top"),!0),s=Dd(Sd(n,"bottom")),a=zO(n,"x"),c=zO(n,"y");return{fullSize:e,leftAndTop:i.concat(o),rightAndBottom:r.concat(c).concat(s).concat(a),chartArea:Sd(n,"chartArea"),vertical:i.concat(r).concat(c),horizontal:o.concat(s).concat(a)}}(t.boxes),c=a.vertical,l=a.horizontal;at(t.boxes,g=>{"function"==typeof g.beforeLayout&&g.beforeLayout()});const d=c.reduce((g,_)=>_.box.options&&!1===_.box.options.display?g:g+1,0)||1,u=Object.freeze({outerWidth:n,outerHeight:e,padding:r,availableWidth:o,availableHeight:s,vBoxMaxWidth:o/2/d,hBoxMaxHeight:s/2}),h=Object.assign({},r);$O(h,yn(i));const f=Object.assign({maxPadding:h,w:o,h:s,x:r.left,y:r.top},r),p=function $ee(t,n){const e=function Gee(t){const n={};for(const e of t){const{stack:i,pos:r,stackWeight:o}=e;if(!i||!UO.includes(r))continue;const s=n[i]||(n[i]={count:0,placed:0,weight:0,size:0});s.count++,s.weight+=o}return n}(t),{vBoxMaxWidth:i,hBoxMaxHeight:r}=n;let o,s,a;for(o=0,s=t.length;o{const _=g.box;Object.assign(_,t.chartArea),_.update(f.w,f.h,{left:0,top:0,right:0,bottom:0})})}};class XO{acquireContext(n,e){}releaseContext(n){return!1}addEventListener(n,e,i){}removeEventListener(n,e,i){}getDevicePixelRatio(){return 1}getMaximumSize(n,e,i,r){return e=Math.max(0,e||n.width),i=i||n.height,{width:e,height:Math.max(0,r?Math.floor(e/r):i)}}isAttached(n){return!0}updateConfig(n){}}class Qee extends XO{acquireContext(n){return n&&n.getContext&&n.getContext("2d")||null}updateConfig(n){n.options.animation=!1}}const Am="$chartjs",Zee={touchstart:"mousedown",touchmove:"mousemove",touchend:"mouseup",pointerenter:"mouseenter",pointerdown:"mousedown",pointermove:"mousemove",pointerup:"mouseup",pointerleave:"mouseout",pointerout:"mouseout"},qO=t=>null===t||""===t,YO=!!ZJ&&{passive:!0};function ete(t,n,e){t.canvas.removeEventListener(n,e,YO)}function xm(t,n){for(const e of t)if(e===n||e.contains(n))return!0}function nte(t,n,e){const i=t.canvas,r=new MutationObserver(o=>{let s=!1;for(const a of o)s=s||xm(a.addedNodes,i),s=s&&!xm(a.removedNodes,i);s&&e()});return r.observe(document,{childList:!0,subtree:!0}),r}function ite(t,n,e){const i=t.canvas,r=new MutationObserver(o=>{let s=!1;for(const a of o)s=s||xm(a.removedNodes,i),s=s&&!xm(a.addedNodes,i);s&&e()});return r.observe(document,{childList:!0,subtree:!0}),r}const Md=new Map;let QO=0;function ZO(){const t=window.devicePixelRatio;t!==QO&&(QO=t,Md.forEach((n,e)=>{e.currentDevicePixelRatio!==t&&n()}))}function ste(t,n,e){const i=t.canvas,r=i&&vA(i);if(!r)return;const o=KF((a,c)=>{const l=r.clientWidth;e(a,c),l{const c=a[0],l=c.contentRect.width,d=c.contentRect.height;0===l&&0===d||o(l,d)});return s.observe(r),function rte(t,n){Md.size||window.addEventListener("resize",ZO),Md.set(t,n)}(t,o),s}function CA(t,n,e){e&&e.disconnect(),"resize"===n&&function ote(t){Md.delete(t),Md.size||window.removeEventListener("resize",ZO)}(t)}function ate(t,n,e){const i=t.canvas,r=KF(o=>{null!==t.ctx&&e(function tte(t,n){const e=Zee[t.type]||t.type,{x:i,y:r}=Ss(t,n);return{type:e,chart:n,native:t,x:void 0!==i?i:null,y:void 0!==r?r:null}}(o,t))},t);return function Jee(t,n,e){t.addEventListener(n,e,YO)}(i,n,r),r}class cte extends XO{acquireContext(n,e){const i=n&&n.getContext&&n.getContext("2d");return i&&i.canvas===n?(function Kee(t,n){const e=t.style,i=t.getAttribute("height"),r=t.getAttribute("width");if(t[Am]={initial:{height:i,width:r,style:{display:e.display,height:e.height,width:e.width}}},e.display=e.display||"block",e.boxSizing=e.boxSizing||"border-box",qO(r)){const o=bO(t,"width");void 0!==o&&(t.width=o)}if(qO(i))if(""===t.style.height)t.height=t.width/(n||2);else{const o=bO(t,"height");void 0!==o&&(t.height=o)}}(n,e),i):null}releaseContext(n){const e=n.canvas;if(!e[Am])return!1;const i=e[Am].initial;["height","width"].forEach(o=>{const s=i[o];Le(s)?e.removeAttribute(o):e.setAttribute(o,s)});const r=i.style||{};return Object.keys(r).forEach(o=>{e.style[o]=r[o]}),e.width=e.width,delete e[Am],!0}addEventListener(n,e,i){this.removeEventListener(n,e),(n.$proxies||(n.$proxies={}))[e]=({attach:nte,detach:ite,resize:ste}[e]||ate)(n,e,i)}removeEventListener(n,e){const i=n.$proxies||(n.$proxies={}),r=i[e];r&&(({attach:CA,detach:CA,resize:CA}[e]||ete)(n,e,r),i[e]=void 0)}getDevicePixelRatio(){return window.devicePixelRatio}getMaximumSize(n,e,i,r){return function QJ(t,n,e,i){const r=bm(t),o=ws(r,"margin"),s=_m(r.maxWidth,t,"clientWidth")||dm,a=_m(r.maxHeight,t,"clientHeight")||dm,c=function YJ(t,n,e){let i,r;if(void 0===n||void 0===e){const o=vA(t);if(o){const s=o.getBoundingClientRect(),a=bm(o),c=ws(a,"border","width"),l=ws(a,"padding");n=s.width-l.width-c.width,e=s.height-l.height-c.height,i=_m(a.maxWidth,o,"clientWidth"),r=_m(a.maxHeight,o,"clientHeight")}else n=t.clientWidth,e=t.clientHeight}return{width:n,height:e,maxWidth:i||dm,maxHeight:r||dm}}(t,n,e);let{width:l,height:d}=c;if("content-box"===r.boxSizing){const h=ws(r,"border","width"),f=ws(r,"padding");l-=f.width+h.width,d-=f.height+h.height}return l=Math.max(0,l-o.width),d=Math.max(0,i?l/i:d-o.height),l=vm(Math.min(l,s,c.maxWidth)),d=vm(Math.min(d,a,c.maxHeight)),l&&!d&&(d=vm(l/2)),(void 0!==n||void 0!==e)&&i&&c.height&&d>c.height&&(d=c.height,l=vm(Math.floor(d*i))),{width:l,height:d}}(n,e,i,r)}isAttached(n){const e=vA(n);return!(!e||!e.isConnected)}}class Gr{static defaults={};static defaultRoutes=void 0;x;y;active=!1;options;$animations;tooltipPosition(n){const{x:e,y:i}=this.getProps(["x","y"],n);return{x:e,y:i}}hasValue(){return ic(this.x)&&ic(this.y)}getProps(n,e){const i=this.$animations;if(!e||!i)return this;const r={};return n.forEach(o=>{r[o]=i[o]&&i[o].active()?i[o]._to:this[o]}),r}}function Em(t,n,e,i,r){const o=Me(i,0),s=Math.min(Me(r,t.length),t.length);let c,l,d,a=0;for(e=Math.ceil(e),r&&(c=r-i,e=c/Math.floor(c/e)),d=o;d<0;)a++,d=Math.round(o+a*e);for(l=Math.max(o,0);l"top"===n||"left"===n?t[n]+e:t[n]-e,JO=(t,n)=>Math.min(n||t,t);function eN(t,n){const e=[],i=t.length/n,r=t.length;let o=0;for(;os+a)))return c}function Id(t){return t.drawTicks?t.tickLength:0}function tN(t,n){if(!t.display)return 0;const e=tn(t.font,n),i=yn(t.padding);return(wt(t.text)?t.text.length:1)*e.lineHeight+i.height}function Ate(t,n,e){let i=cA(t);return(e&&"right"!==n||!e&&"right"===n)&&(i=(t=>"left"===t?"right":"right"===t?"left":t)(i)),i}class Ms extends Gr{constructor(n){super(),this.id=n.id,this.type=n.type,this.options=void 0,this.ctx=n.ctx,this.chart=n.chart,this.top=void 0,this.bottom=void 0,this.left=void 0,this.right=void 0,this.width=void 0,this.height=void 0,this._margins={left:0,right:0,top:0,bottom:0},this.maxWidth=void 0,this.maxHeight=void 0,this.paddingTop=void 0,this.paddingBottom=void 0,this.paddingLeft=void 0,this.paddingRight=void 0,this.axis=void 0,this.labelRotation=void 0,this.min=void 0,this.max=void 0,this._range=void 0,this.ticks=[],this._gridLineItems=null,this._labelItems=null,this._labelSizes=null,this._length=0,this._maxLength=0,this._longestTextCache={},this._startPixel=void 0,this._endPixel=void 0,this._reversePixels=!1,this._userMax=void 0,this._userMin=void 0,this._suggestedMax=void 0,this._suggestedMin=void 0,this._ticksLength=0,this._borderValue=0,this._cache={},this._dataLimitsCached=!1,this.$context=void 0}init(n){this.options=n.setContext(this.getContext()),this.axis=n.axis,this._userMin=this.parse(n.min),this._userMax=this.parse(n.max),this._suggestedMin=this.parse(n.suggestedMin),this._suggestedMax=this.parse(n.suggestedMax)}parse(n,e){return n}getUserBounds(){let{_userMin:n,_userMax:e,_suggestedMin:i,_suggestedMax:r}=this;return n=mi(n,Number.POSITIVE_INFINITY),e=mi(e,Number.NEGATIVE_INFINITY),i=mi(i,Number.POSITIVE_INFINITY),r=mi(r,Number.NEGATIVE_INFINITY),{min:mi(n,i),max:mi(e,r),minDefined:Lt(n),maxDefined:Lt(e)}}getMinMax(n){let s,{min:e,max:i,minDefined:r,maxDefined:o}=this.getUserBounds();if(r&&o)return{min:e,max:i};const a=this.getMatchingVisibleMetas();for(let c=0,l=a.length;ci?i:e,i=r&&e>i?e:i,{min:mi(e,mi(i,e)),max:mi(i,mi(e,i))}}getPadding(){return{left:this.paddingLeft||0,top:this.paddingTop||0,right:this.paddingRight||0,bottom:this.paddingBottom||0}}getTicks(){return this.ticks}getLabels(){const n=this.chart.data;return this.options.labels||(this.isHorizontal()?n.xLabels:n.yLabels)||n.labels||[]}getLabelItems(n=this.chart.chartArea){return this._labelItems||(this._labelItems=this._computeLabelItems(n))}beforeLayout(){this._cache={},this._dataLimitsCached=!1}beforeUpdate(){ut(this.options.beforeUpdate,[this])}update(n,e,i){const{beginAtZero:r,grace:o,ticks:s}=this.options,a=s.sampleSize;this.beforeUpdate(),this.maxWidth=n,this.maxHeight=e,this._margins=i=Object.assign({left:0,right:0,top:0,bottom:0},i),this.ticks=null,this._labelSizes=null,this._gridLineItems=null,this._labelItems=null,this.beforeSetDimensions(),this.setDimensions(),this.afterSetDimensions(),this._maxLength=this.isHorizontal()?this.width+i.left+i.right:this.height+i.top+i.bottom,this._dataLimitsCached||(this.beforeDataLimits(),this.determineDataLimits(),this.afterDataLimits(),this._range=function MJ(t,n,e){const{min:i,max:r}=t,o=VF(n,(r-i)/2),s=(a,c)=>e&&0===a?0:a+c;return{min:s(i,-Math.abs(o)),max:s(r,o)}}(this,o,r),this._dataLimitsCached=!0),this.beforeBuildTicks(),this.ticks=this.buildTicks()||[],this.afterBuildTicks();const c=ar)return function mte(t,n,e,i){let s,r=0,o=e[0];for(i=Math.ceil(i),s=0;sr-o).pop(),n}(i);for(let s=0,a=o.length-1;sr)return c}return Math.max(r,1)}(o,n,r);if(s>0){let u,h;const f=s>1?Math.round((c-a)/(s-1)):null;for(Em(n,l,d,Le(f)?0:a-f,a),u=0,h=s-1;u=o||i<=1||!this.isHorizontal())return void(this.labelRotation=r);const d=this._getLabelSizes(),u=d.widest.width,h=d.highest.height,f=mn(this.chart.width-u,0,this.maxWidth);a=n.offset?this.maxWidth/i:f/(i-1),u+6>a&&(a=f/(i-(n.offset?.5:1)),c=this.maxHeight-Id(n.grid)-e.padding-tN(n.title,this.chart.options.font),l=Math.sqrt(u*u+h*h),s=oA(Math.min(Math.asin(mn((d.highest.height+6)/a,-1,1)),Math.asin(mn(c/l,-1,1))-Math.asin(mn(h/l,-1,1)))),s=Math.max(r,Math.min(o,s))),this.labelRotation=s}afterCalculateLabelRotation(){ut(this.options.afterCalculateLabelRotation,[this])}afterAutoSkip(){}beforeFit(){ut(this.options.beforeFit,[this])}fit(){const n={width:0,height:0},{chart:e,options:{ticks:i,title:r,grid:o}}=this,s=this._isVisible(),a=this.isHorizontal();if(s){const c=tN(r,e.options.font);if(a?(n.width=this.maxWidth,n.height=Id(o)+c):(n.height=this.maxHeight,n.width=Id(o)+c),i.display&&this.ticks.length){const{first:l,last:d,widest:u,highest:h}=this._getLabelSizes(),f=2*i.padding,p=ji(this.labelRotation),g=Math.cos(p),_=Math.sin(p);a?n.height=Math.min(this.maxHeight,n.height+(i.mirror?0:_*u.width+g*h.height)+f):n.width=Math.min(this.maxWidth,n.width+(i.mirror?0:g*u.width+_*h.height)+f),this._calculatePadding(l,d,_,g)}}this._handleMargins(),a?(this.width=this._length=e.width-this._margins.left-this._margins.right,this.height=n.height):(this.width=n.width,this.height=this._length=e.height-this._margins.top-this._margins.bottom)}_calculatePadding(n,e,i,r){const{ticks:{align:o,padding:s},position:a}=this.options,c=0!==this.labelRotation,l="top"!==a&&"x"===this.axis;if(this.isHorizontal()){const d=this.getPixelForTick(0)-this.left,u=this.right-this.getPixelForTick(this.ticks.length-1);let h=0,f=0;c?l?(h=r*n.width,f=i*e.height):(h=i*n.height,f=r*e.width):"start"===o?f=e.width:"end"===o?h=n.width:"inner"!==o&&(h=n.width/2,f=e.width/2),this.paddingLeft=Math.max((h-d+s)*this.width/(this.width-d),0),this.paddingRight=Math.max((f-u+s)*this.width/(this.width-u),0)}else{let d=e.height/2,u=n.height/2;"start"===o?(d=0,u=n.height):"end"===o&&(d=e.height,u=0),this.paddingTop=d+s,this.paddingBottom=u+s}}_handleMargins(){this._margins&&(this._margins.left=Math.max(this.paddingLeft,this._margins.left),this._margins.top=Math.max(this.paddingTop,this._margins.top),this._margins.right=Math.max(this.paddingRight,this._margins.right),this._margins.bottom=Math.max(this.paddingBottom,this._margins.bottom))}afterFit(){ut(this.options.afterFit,[this])}isHorizontal(){const{axis:n,position:e}=this.options;return"top"===e||"bottom"===e||"x"===n}isFullSize(){return this.options.fullSize}_convertTicksToLabels(n){let e,i;for(this.beforeTickToLabelConversion(),this.generateTickLabels(n),e=0,i=n.length;e{const i=e.gc,r=i.length/2;let o;if(r>n){for(o=0;o({width:s[ie]||0,height:a[ie]||0});return{first:z(0),last:z(e-1),widest:z(L),highest:z($),widths:s,heights:a}}getLabelForValue(n){return n}getPixelForValue(n,e){return NaN}getValueForPixel(n){}getPixelForTick(n){const e=this.ticks;return n<0||n>e.length-1?null:this.getPixelForValue(e[n].value)}getPixelForDecimal(n){this._reversePixels&&(n=1-n);const e=this._startPixel+n*this._length;return function iJ(t){return mn(t,-32768,32767)}(this._alignToPixels?As(this.chart,e,0):e)}getDecimalForPixel(n){const e=(n-this._startPixel)/this._length;return this._reversePixels?1-e:e}getBasePixel(){return this.getPixelForValue(this.getBaseValue())}getBaseValue(){const{min:n,max:e}=this;return n<0&&e<0?e:n>0&&e>0?n:0}getContext(n){const e=this.ticks||[];if(n>=0&&na*r?a/i:c/r:c*r0}_computeGridLineItems(n){const e=this.axis,i=this.chart,r=this.options,{grid:o,position:s,border:a}=r,c=o.offset,l=this.isHorizontal(),u=this.ticks.length+(c?1:0),h=Id(o),f=[],p=a.setContext(this.getContext()),g=p.display?p.width:0,_=g/2,x=function(Q){return As(i,Q,g)};let y,k,F,O,L,$,z,ie,pe,De,Ce,Wt;if("top"===s)y=x(this.bottom),$=this.bottom-h,ie=y-_,De=x(n.top)+_,Wt=n.bottom;else if("bottom"===s)y=x(this.top),De=n.top,Wt=x(n.bottom)-_,$=y+_,ie=this.top+h;else if("left"===s)y=x(this.right),L=this.right-h,z=y-_,pe=x(n.left)+_,Ce=n.right;else if("right"===s)y=x(this.left),pe=n.left,Ce=x(n.right)-_,L=y+_,z=this.left+h;else if("x"===e){if("center"===s)y=x((n.top+n.bottom)/2+.5);else if(He(s)){const Q=Object.keys(s)[0];y=x(this.chart.scales[Q].getPixelForValue(s[Q]))}De=n.top,Wt=n.bottom,$=y+_,ie=$+h}else if("y"===e){if("center"===s)y=x((n.left+n.right)/2);else if(He(s)){const Q=Object.keys(s)[0];y=x(this.chart.scales[Q].getPixelForValue(s[Q]))}L=y-_,z=L-h,pe=n.left,Ce=n.right}const On=Me(r.ticks.maxTicksLimit,u),nt=Math.max(1,Math.ceil(u/On));for(k=0;k0&&(Xr-=it/2)}Un={left:Xr,top:To,width:it+nn.width,height:ei+nn.height,color:nt.backdropColor}}_.push({label:F,font:ie,textOffset:Ce,options:{rotation:g,color:ee,strokeColor:ae,strokeWidth:fe,textAlign:It,textBaseline:Wt,translation:[O,L],backdrop:Un}})}return _}_getXAxisLabelAlignment(){const{position:n,ticks:e}=this.options;if(-ji(this.labelRotation))return"top"===n?"left":"right";let r="center";return"start"===e.align?r="left":"end"===e.align?r="right":"inner"===e.align&&(r="inner"),r}_getYAxisLabelAlignment(n){const{position:e,ticks:{crossAlign:i,mirror:r,padding:o}}=this.options,a=n+o,c=this._getLabelSizes().widest.width;let l,d;return"left"===e?r?(d=this.right+o,"near"===i?l="left":"center"===i?(l="center",d+=c/2):(l="right",d+=c)):(d=this.right-a,"near"===i?l="right":"center"===i?(l="center",d-=c/2):(l="left",d=this.left)):"right"===e?r?(d=this.left+o,"near"===i?l="right":"center"===i?(l="center",d-=c/2):(l="left",d-=c)):(d=this.left+a,"near"===i?l="left":"center"===i?(l="center",d+=c/2):(l="right",d=this.right)):l="right",{textAlign:l,x:d}}_computeLabelArea(){if(this.options.ticks.mirror)return;const n=this.chart,e=this.options.position;return"left"===e||"right"===e?{top:0,left:this.left,bottom:n.height,right:this.right}:"top"===e||"bottom"===e?{top:this.top,left:0,bottom:this.bottom,right:n.width}:void 0}drawBackground(){const{ctx:n,options:{backgroundColor:e},left:i,top:r,width:o,height:s}=this;e&&(n.save(),n.fillStyle=e,n.fillRect(i,r,o,s),n.restore())}getLineWidthForValue(n){const e=this.options.grid;if(!this._isVisible()||!e.display)return 0;const r=this.ticks.findIndex(o=>o.value===n);return r>=0?e.setContext(this.getContext(r)).lineWidth:0}drawGrid(n){const e=this.options.grid,i=this.ctx,r=this._gridLineItems||(this._gridLineItems=this._computeGridLineItems(n));let o,s;const a=(c,l,d)=>{!d.width||!d.color||(i.save(),i.lineWidth=d.width,i.strokeStyle=d.color,i.setLineDash(d.borderDash||[]),i.lineDashOffset=d.borderDashOffset,i.beginPath(),i.moveTo(c.x,c.y),i.lineTo(l.x,l.y),i.stroke(),i.restore())};if(e.display)for(o=0,s=r.length;o{this.drawBackground(),this.drawGrid(o),this.drawTitle()}},{z:r,draw:()=>{this.drawBorder()}},{z:e,draw:o=>{this.drawLabels(o)}}]:[{z:e,draw:o=>{this.draw(o)}}]}getMatchingVisibleMetas(n){const e=this.chart.getSortedVisibleDatasetMetas(),i=this.axis+"AxisID",r=[];let o,s;for(o=0,s=e.length;o{const i=e.split("."),r=i.pop(),o=[t].concat(i).join("."),s=n[e].split("."),a=s.pop(),c=s.join(".");Ft.route(o,r,c,a)})}(n,t.defaultRoutes),t.descriptors&&Ft.describe(n,t.descriptors)}(n,s,i),this.override&&Ft.override(n.id,n.overrides)),s}get(n){return this.items[n]}unregister(n){const e=this.items,i=n.id,r=this.scope;i in e&&delete e[i],r&&i in Ft[r]&&(delete Ft[r][i],this.override&&delete ys[i])}}class Dte{constructor(){this.controllers=new wm(So,"datasets",!0),this.elements=new wm(Gr,"elements"),this.plugins=new wm(Object,"plugins"),this.scales=new wm(Ms,"scales"),this._typedRegistries=[this.controllers,this.scales,this.elements]}add(...n){this._each("register",n)}remove(...n){this._each("unregister",n)}addControllers(...n){this._each("register",n,this.controllers)}addElements(...n){this._each("register",n,this.elements)}addPlugins(...n){this._each("register",n,this.plugins)}addScales(...n){this._each("register",n,this.scales)}getController(n){return this._get(n,this.controllers,"controller")}getElement(n){return this._get(n,this.elements,"element")}getPlugin(n){return this._get(n,this.plugins,"plugin")}getScale(n){return this._get(n,this.scales,"scale")}removeControllers(...n){this._each("unregister",n,this.controllers)}removeElements(...n){this._each("unregister",n,this.elements)}removePlugins(...n){this._each("unregister",n,this.plugins)}removeScales(...n){this._each("unregister",n,this.scales)}_each(n,e,i){[...e].forEach(r=>{const o=i||this._getRegistryForType(r);i||o.isForType(r)||o===this.plugins&&r.id?this._exec(n,o,r):at(r,s=>{const a=i||this._getRegistryForType(s);this._exec(n,a,s)})})}_exec(n,e,i){const r=rA(n);ut(i["before"+r],[],i),e[n](i),ut(i["after"+r],[],i)}_getRegistryForType(n){for(let e=0;eo.filter(a=>!s.some(c=>a.plugin.id===c.plugin.id));this._notify(r(e,i),n,"stop"),this._notify(r(i,e),n,"start")}}function Ite(t,n){return n||!1!==t?!0===t?{}:t:null}function kte(t,{plugin:n,local:e},i,r){const o=t.pluginScopeKeys(n),s=t.getOptionScopes(i,o);return e&&n.defaults&&s.push(n.defaults),t.createResolver(s,r,[""],{scriptable:!1,indexable:!1,allKeys:!0})}function MA(t,n){return((n.datasets||{})[t]||{}).indexAxis||n.indexAxis||(Ft.datasets[t]||{}).indexAxis||"x"}function nN(t){if("x"===t||"y"===t||"r"===t)return t}function Ote(t){return"top"===t||"bottom"===t?"x":"left"===t||"right"===t?"y":void 0}function IA(t,...n){if(nN(t))return t;for(const e of n){const i=e.axis||Ote(e.position)||t.length>1&&nN(t[0].toLowerCase());if(i)return i}throw new Error(`Cannot determine type of '${t}' axis. Please provide 'axis' or 'position' option.`)}function iN(t,n,e){if(e[n+"AxisID"]===t)return{axis:n}}function rN(t){const n=t.options||(t.options={});n.plugins=Me(n.plugins,{}),n.scales=function Pte(t,n){const e=ys[t.type]||{scales:{}},i=n.scales||{},r=MA(t.type,n),o=Object.create(null);return Object.keys(i).forEach(s=>{const a=i[s];if(!He(a))return console.error(`Invalid scale configuration for scale: ${s}`);if(a._proxy)return console.warn(`Ignoring resolver passed as options for scale: ${s}`);const c=IA(s,a,function Nte(t,n){if(n.data&&n.data.datasets){const e=n.data.datasets.filter(i=>i.xAxisID===t||i.yAxisID===t);if(e.length)return iN(t,"x",e[0])||iN(t,"y",e[0])}return{}}(s,t),Ft.scales[a.type]),l=function Fte(t,n){return t===n?"_index_":"_value_"}(c,r),d=e.scales||{};o[s]=pd(Object.create(null),[{axis:c},a,d[c],d[l]])}),t.data.datasets.forEach(s=>{const a=s.type||t.type,c=s.indexAxis||MA(a,n),d=(ys[a]||{}).scales||{};Object.keys(d).forEach(u=>{const h=function Rte(t,n){let e=t;return"_index_"===t?e=n:"_value_"===t&&(e="x"===n?"y":"x"),e}(u,c),f=s[h+"AxisID"]||h;o[f]=o[f]||Object.create(null),pd(o[f],[{axis:h},i[f],d[u]])})}),Object.keys(o).forEach(s=>{const a=o[s];pd(a,[Ft.scales[a.type],Ft.scale])}),o}(t,n)}function oN(t){return(t=t||{}).datasets=t.datasets||[],t.labels=t.labels||[],t}const sN=new Map,aN=new Set;function Sm(t,n){let e=sN.get(t);return e||(e=n(),sN.set(t,e),aN.add(e)),e}const Td=(t,n,e)=>{const i=Ao(n,e);void 0!==i&&t.add(i)};class Bte{constructor(n){this._config=function Lte(t){return(t=t||{}).data=oN(t.data),rN(t),t}(n),this._scopeCache=new Map,this._resolverCache=new Map}get platform(){return this._config.platform}get type(){return this._config.type}set type(n){this._config.type=n}get data(){return this._config.data}set data(n){this._config.data=oN(n)}get options(){return this._config.options}set options(n){this._config.options=n}get plugins(){return this._config.plugins}update(){const n=this._config;this.clearCache(),rN(n)}clearCache(){this._scopeCache.clear(),this._resolverCache.clear()}datasetScopeKeys(n){return Sm(n,()=>[[`datasets.${n}`,""]])}datasetAnimationScopeKeys(n,e){return Sm(`${n}.transition.${e}`,()=>[[`datasets.${n}.transitions.${e}`,`transitions.${e}`],[`datasets.${n}`,""]])}datasetElementScopeKeys(n,e){return Sm(`${n}-${e}`,()=>[[`datasets.${n}.elements.${e}`,`datasets.${n}`,`elements.${e}`,""]])}pluginScopeKeys(n){const e=n.id;return Sm(`${this.type}-plugin-${e}`,()=>[[`plugins.${e}`,...n.additionalOptionScopes||[]]])}_cachedScopes(n,e){const i=this._scopeCache;let r=i.get(n);return(!r||e)&&(r=new Map,i.set(n,r)),r}getOptionScopes(n,e,i){const{options:r,type:o}=this,s=this._cachedScopes(n,i),a=s.get(e);if(a)return a;const c=new Set;e.forEach(d=>{n&&(c.add(n),d.forEach(u=>Td(c,n,u))),d.forEach(u=>Td(c,r,u)),d.forEach(u=>Td(c,ys[o]||{},u)),d.forEach(u=>Td(c,Ft,u)),d.forEach(u=>Td(c,uA,u))});const l=Array.from(c);return 0===l.length&&l.push(Object.create(null)),aN.has(e)&&s.set(e,l),l}chartOptionScopes(){const{options:n,type:e}=this;return[n,ys[e]||{},Ft.datasets[e]||{},{type:e},Ft,uA]}resolveNamedOptions(n,e,i,r=[""]){const o={$shared:!0},{resolver:s,subPrefixes:a}=cN(this._resolverCache,n,r);let c=s;(function Hte(t,n){const{isScriptable:e,isIndexable:i}=lO(t);for(const r of n){const o=e(r),s=i(r),a=(s||o)&&t[r];if(o&&(xo(a)||Vte(a))||s&&wt(a))return!0}return!1})(s,e)&&(o.$shared=!1,c=rc(s,i=xo(i)?i():i,this.createResolver(n,i,a)));for(const l of e)o[l]=c[l];return o}createResolver(n,e,i=[""],r){const{resolver:o}=cN(this._resolverCache,n,i);return He(e)?rc(o,e,void 0,r):o}}function cN(t,n,e){let i=t.get(n);i||(i=new Map,t.set(n,i));const r=e.join();let o=i.get(r);return o||(o={resolver:pA(n,e),subPrefixes:e.filter(a=>!a.toLowerCase().includes("hover"))},i.set(r,o)),o}const Vte=t=>He(t)&&Object.getOwnPropertyNames(t).some(n=>xo(t[n])),Ute=["top","bottom","left","right","chartArea"];function lN(t,n){return"top"===t||"bottom"===t||-1===Ute.indexOf(t)&&"x"===n}function dN(t,n){return function(e,i){return e[t]===i[t]?e[n]-i[n]:e[t]-i[t]}}function uN(t){const n=t.chart,e=n.options.animation;n.notifyPlugins("afterRender"),ut(e&&e.onComplete,[t],n)}function zte(t){const n=t.chart,e=n.options.animation;ut(e&&e.onProgress,[t],n)}function hN(t){return bA()&&"string"==typeof t?t=document.getElementById(t):t&&t.length&&(t=t[0]),t&&t.canvas&&(t=t.canvas),t}const Dm={},fN=t=>{const n=hN(t);return Object.values(Dm).filter(e=>e.canvas===n).pop()};function Gte(t,n,e){const i=Object.keys(t);for(const r of i){const o=+r;if(o>=n){const s=t[r];delete t[r],(e>0||o>n)&&(t[o+e]=s)}}}function Cm(t,n,e){return t.options.clip?t[e]:n[e]}let kd=(()=>class t{static defaults=Ft;static instances=Dm;static overrides=ys;static registry=hr;static version="4.4.1";static getChart=fN;static register(...e){hr.add(...e),mN()}static unregister(...e){hr.remove(...e),mN()}constructor(e,i){const r=this.config=new Bte(i),o=hN(e),s=fN(o);if(s)throw new Error("Canvas is already in use. Chart with ID '"+s.id+"' must be destroyed before the canvas with ID '"+s.canvas.id+"' can be reused.");const a=r.createResolver(r.chartOptionScopes(),this.getContext());this.platform=new(r.platform||function lte(t){return!bA()||typeof OffscreenCanvas<"u"&&t instanceof OffscreenCanvas?Qee:cte}(o)),this.platform.updateConfig(r);const c=this.platform.acquireContext(o,a.aspectRatio),l=c&&c.canvas,d=l&&l.height,u=l&&l.width;this.id=$K(),this.ctx=c,this.canvas=l,this.width=u,this.height=d,this._options=a,this._aspectRatio=this.aspectRatio,this._layers=[],this._metasets=[],this._stacks=void 0,this.boxes=[],this.currentDevicePixelRatio=void 0,this.chartArea=void 0,this._active=[],this._lastEvent=void 0,this._listeners={},this._responsiveListeners=void 0,this._sortedMetasets=[],this.scales={},this._plugins=new Cte,this.$proxies={},this._hiddenIndices={},this.attached=!1,this._animationsDisabled=void 0,this.$context=void 0,this._doResize=function aJ(t,n){let e;return function(...i){return n?(clearTimeout(e),e=setTimeout(t,n,i)):t.apply(this,i),n}}(h=>this.update(h),a.resizeDelay||0),this._dataChanges=[],Dm[this.id]=this,c&&l?(zr.listen(this,"complete",uN),zr.listen(this,"progress",zte),this._initialize(),this.attached&&this.update()):console.error("Failed to create chart: can't acquire context from the given item")}get aspectRatio(){const{options:{aspectRatio:e,maintainAspectRatio:i},width:r,height:o,_aspectRatio:s}=this;return Le(e)?i&&s?s:o?r/o:null:e}get data(){return this.config.data}set data(e){this.config.data=e}get options(){return this._options}set options(e){this.config.options=e}get registry(){return hr}_initialize(){return this.notifyPlugins("beforeInit"),this.options.responsive?this.resize():_O(this,this.options.devicePixelRatio),this.bindEvents(),this.notifyPlugins("afterInit"),this}clear(){return sO(this.canvas,this.ctx),this}stop(){return zr.stop(this),this}resize(e,i){zr.running(this)?this._resizeBeforeDraw={width:e,height:i}:this._resize(e,i)}_resize(e,i){const r=this.options,a=this.platform.getMaximumSize(this.canvas,e,i,r.maintainAspectRatio&&this.aspectRatio),c=r.devicePixelRatio||this.platform.getDevicePixelRatio(),l=this.width?"resize":"attach";this.width=a.width,this.height=a.height,this._aspectRatio=this.aspectRatio,_O(this,c,!0)&&(this.notifyPlugins("resize",{size:a}),ut(r.onResize,[this,a],this),this.attached&&this._doResize(l)&&this.render())}ensureScalesHaveIDs(){at(this.options.scales||{},(r,o)=>{r.id=o})}buildOrUpdateScales(){const e=this.options,i=e.scales,r=this.scales,o=Object.keys(r).reduce((a,c)=>(a[c]=!1,a),{});let s=[];i&&(s=s.concat(Object.keys(i).map(a=>{const c=i[a],l=IA(a,c),d="r"===l,u="x"===l;return{options:c,dposition:d?"chartArea":u?"bottom":"left",dtype:d?"radialLinear":u?"category":"linear"}}))),at(s,a=>{const c=a.options,l=c.id,d=IA(l,c),u=Me(c.type,a.dtype);(void 0===c.position||lN(c.position,d)!==lN(a.dposition))&&(c.position=a.dposition),o[l]=!0;let h=null;l in r&&r[l].type===u?h=r[l]:(h=new(hr.getScale(u))({id:l,type:u,ctx:this.ctx,chart:this}),r[h.id]=h),h.init(c,e)}),at(o,(a,c)=>{a||delete r[c]}),at(r,a=>{Fn.configure(this,a,a.options),Fn.addBox(this,a)})}_updateMetasets(){const e=this._metasets,i=this.data.datasets.length,r=e.length;if(e.sort((o,s)=>o.index-s.index),r>i){for(let o=i;oi.length&&delete this._stacks,e.forEach((r,o)=>{0===i.filter(s=>s===r._dataset).length&&this._destroyDatasetMeta(o)})}buildOrUpdateControllers(){const e=[],i=this.data.datasets;let r,o;for(this._removeUnreferencedMetasets(),r=0,o=i.length;r{this.getDatasetMeta(i).controller.reset()},this)}reset(){this._resetElements(),this.notifyPlugins("reset")}update(e){const i=this.config;i.update();const r=this._options=i.createResolver(i.chartOptionScopes(),this.getContext()),o=this._animationsDisabled=!r.animation;if(this._updateScales(),this._checkEventBindings(),this._updateHiddenIndices(),this._plugins.invalidate(),!1===this.notifyPlugins("beforeUpdate",{mode:e,cancelable:!0}))return;const s=this.buildOrUpdateControllers();this.notifyPlugins("beforeElementsUpdate");let a=0;for(let d=0,u=this.data.datasets.length;d{d.reset()}),this._updateDatasets(e),this.notifyPlugins("afterUpdate",{mode:e}),this._layers.sort(dN("z","_idx"));const{_active:c,_lastEvent:l}=this;l?this._eventHandler(l,!0):c.length&&this._updateHoverStyles(c,c,!0),this.render()}_updateScales(){at(this.scales,e=>{Fn.removeBox(this,e)}),this.ensureScalesHaveIDs(),this.buildOrUpdateScales()}_checkEventBindings(){const e=this.options,i=new Set(Object.keys(this._listeners)),r=new Set(e.events);(!UF(i,r)||!!this._responsiveListeners!==e.responsive)&&(this.unbindEvents(),this.bindEvents())}_updateHiddenIndices(){const{_hiddenIndices:e}=this,i=this._getUniformDataChanges()||[];for(const{method:r,start:o,count:s}of i)Gte(e,o,"_removeElements"===r?-s:s)}_getUniformDataChanges(){const e=this._dataChanges;if(!e||!e.length)return;this._dataChanges=[];const i=this.data.datasets.length,r=s=>new Set(e.filter(a=>a[0]===s).map((a,c)=>c+","+a.splice(1).join(","))),o=r(0);for(let s=1;ss.split(",")).map(s=>({method:s[1],start:+s[2],count:+s[3]}))}_updateLayout(e){if(!1===this.notifyPlugins("beforeLayout",{cancelable:!0}))return;Fn.update(this,this.width,this.height,e);const i=this.chartArea,r=i.width<=0||i.height<=0;this._layers=[],at(this.boxes,o=>{r&&"chartArea"===o.position||(o.configure&&o.configure(),this._layers.push(...o._layers()))},this),this._layers.forEach((o,s)=>{o._idx=s}),this.notifyPlugins("afterLayout")}_updateDatasets(e){if(!1!==this.notifyPlugins("beforeDatasetsUpdate",{mode:e,cancelable:!0})){for(let i=0,r=this.data.datasets.length;i=0;--i)this._drawDataset(e[i]);this.notifyPlugins("afterDatasetsDraw")}_drawDataset(e){const i=this.ctx,r=e._clip,o=!r.disabled,s=function Wte(t,n){const{xScale:e,yScale:i}=t;return e&&i?{left:Cm(e,n,"left"),right:Cm(e,n,"right"),top:Cm(i,n,"top"),bottom:Cm(i,n,"bottom")}:n}(e,this.chartArea),a={meta:e,index:e.index,cancelable:!0};!1!==this.notifyPlugins("beforeDatasetDraw",a)&&(o&&mm(i,{left:!1===r.left?0:s.left-r.left,right:!1===r.right?this.width:s.right+r.right,top:!1===r.top?0:s.top-r.top,bottom:!1===r.bottom?this.height:s.bottom+r.bottom}),e.controller.draw(),o&&pm(i),a.cancelable=!1,this.notifyPlugins("afterDatasetDraw",a))}isPointInArea(e){return Ur(e,this.chartArea,this._minPadding)}getElementsAtEventForMode(e,i,r,o){const s=Uee.modes[i];return"function"==typeof s?s(this,e,r,o):[]}getDatasetMeta(e){const i=this.data.datasets[e],r=this._metasets;let o=r.filter(s=>s&&s._dataset===i).pop();return o||(o={type:null,data:[],dataset:null,controller:null,hidden:null,xAxisID:null,yAxisID:null,order:i&&i.order||0,index:e,_dataset:i,_parsed:[],_sorted:!1},r.push(o)),o}getContext(){return this.$context||(this.$context=wo(null,{chart:this,type:"chart"}))}getVisibleDatasetCount(){return this.getSortedVisibleDatasetMetas().length}isDatasetVisible(e){const i=this.data.datasets[e];if(!i)return!1;const r=this.getDatasetMeta(e);return"boolean"==typeof r.hidden?!r.hidden:!i.hidden}setDatasetVisibility(e,i){this.getDatasetMeta(e).hidden=!i}toggleDataVisibility(e){this._hiddenIndices[e]=!this._hiddenIndices[e]}getDataVisibility(e){return!this._hiddenIndices[e]}_updateVisibility(e,i,r){const o=r?"show":"hide",s=this.getDatasetMeta(e),a=s.controller._resolveAnimations(void 0,o);gd(i)?(s.data[i].hidden=!r,this.update()):(this.setDatasetVisibility(e,r),a.update(s,{visible:r}),this.update(c=>c.datasetIndex===e?o:void 0))}hide(e,i){this._updateVisibility(e,i,!1)}show(e,i){this._updateVisibility(e,i,!0)}_destroyDatasetMeta(e){const i=this._metasets[e];i&&i.controller&&i.controller._destroy(),delete this._metasets[e]}_stop(){let e,i;for(this.stop(),zr.remove(this),e=0,i=this.data.datasets.length;e{i.addEventListener(this,s,a),e[s]=a},o=(s,a,c)=>{s.offsetX=a,s.offsetY=c,this._eventHandler(s)};at(this.options.events,s=>r(s,o))}bindResponsiveEvents(){this._responsiveListeners||(this._responsiveListeners={});const e=this._responsiveListeners,i=this.platform,r=(l,d)=>{i.addEventListener(this,l,d),e[l]=d},o=(l,d)=>{e[l]&&(i.removeEventListener(this,l,d),delete e[l])},s=(l,d)=>{this.canvas&&this.resize(l,d)};let a;const c=()=>{o("attach",c),this.attached=!0,this.resize(),r("resize",s),r("detach",a)};a=()=>{this.attached=!1,o("resize",s),this._stop(),this._resize(0,0),r("attach",c)},i.isAttached(this.canvas)?c():a()}unbindEvents(){at(this._listeners,(e,i)=>{this.platform.removeEventListener(this,i,e)}),this._listeners={},at(this._responsiveListeners,(e,i)=>{this.platform.removeEventListener(this,i,e)}),this._responsiveListeners=void 0}updateHoverStyle(e,i,r){const o=r?"set":"remove";let s,a,c,l;for("dataset"===i&&(s=this.getDatasetMeta(e[0].datasetIndex),s.controller["_"+o+"DatasetHoverStyle"]()),c=0,l=e.length;c{const c=this.getDatasetMeta(s);if(!c)throw new Error("No dataset found at index "+s);return{datasetIndex:s,element:c.data[a],index:a}});!cm(r,i)&&(this._active=r,this._lastEvent=null,this._updateHoverStyles(r,i))}notifyPlugins(e,i,r){return this._plugins.notify(this,e,i,r)}isPluginEnabled(e){return 1===this._plugins._cache.filter(i=>i.plugin.id===e).length}_updateHoverStyles(e,i,r){const o=this.options.hover,s=(l,d)=>l.filter(u=>!d.some(h=>u.datasetIndex===h.datasetIndex&&u.index===h.index)),a=s(i,e),c=r?e:s(e,i);a.length&&this.updateHoverStyle(a,o.mode,!1),c.length&&o.mode&&this.updateHoverStyle(c,o.mode,!0)}_eventHandler(e,i){const r={event:e,replay:i,cancelable:!0,inChartArea:this.isPointInArea(e)},o=a=>(a.options.events||this.options.events).includes(e.native.type);if(!1===this.notifyPlugins("beforeEvent",r,o))return;const s=this._handleEvent(e,i,r.inChartArea);return r.cancelable=!1,this.notifyPlugins("afterEvent",r,o),(s||r.changed)&&this.render(),this}_handleEvent(e,i,r){const{_active:o=[],options:s}=this,c=this._getActiveElements(e,o,r,i),l=function ZK(t){return"mouseup"===t.type||"click"===t.type||"contextmenu"===t.type}(e),d=function $te(t,n,e,i){return e&&"mouseout"!==t.type?i?n:t:null}(e,this._lastEvent,r,l);r&&(this._lastEvent=null,ut(s.onHover,[e,c,this],this),l&&ut(s.onClick,[e,c,this],this));const u=!cm(c,o);return(u||i)&&(this._active=c,this._updateHoverStyles(c,o,i)),this._lastEvent=d,u}_getActiveElements(e,i,r,o){if("mouseout"===e.type)return[];if(!r)return i;const s=this.options.hover;return this.getElementsAtEventForMode(e,s.mode,s,o)}})();function mN(){return at(kd.instances,t=>t._plugins.invalidate())}function ac(t,n,e,i){return{x:e+t*Math.cos(n),y:i+t*Math.sin(n)}}function Mm(t,n,e,i,r,o){const{x:s,y:a,startAngle:c,pixelMargin:l,innerRadius:d}=n,u=Math.max(n.outerRadius+i+e-l,0),h=d>0?d+i+e+l:0;let f=0;const p=r-c;if(i){const ee=((d>0?d-i:0)+(u>0?u-i:0))/2;f=(p-(0!==ee?p*ee/(ee+i):p))/2}const _=(p-Math.max(.001,p*u-e/St)/u)/2,x=c+_+f,y=r-_-f,{outerStart:k,outerEnd:F,innerStart:O,innerEnd:L}=function Yte(t,n,e,i){const r=function qte(t){return mA(t,["outerStart","outerEnd","innerStart","innerEnd"])}(t.options.borderRadius),o=(e-n)/2,s=Math.min(o,i*n/2),a=c=>{const l=(e-Math.min(o,c))*i/2;return mn(c,0,Math.min(o,l))};return{outerStart:a(r.outerStart),outerEnd:a(r.outerEnd),innerStart:mn(r.innerStart,0,s),innerEnd:mn(r.innerEnd,0,s)}}(n,h,u,y-x),$=u-k,z=u-F,ie=x+k/$,pe=y-F/z,De=h+O,Ce=h+L,Wt=x+O/De,On=y-L/Ce;if(t.beginPath(),o){const nt=(ie+pe)/2;if(t.arc(s,a,u,ie,nt),t.arc(s,a,u,nt,pe),F>0){const fe=ac(z,pe,s,a);t.arc(fe.x,fe.y,F,pe,y+$t)}const Q=ac(Ce,y,s,a);if(t.lineTo(Q.x,Q.y),L>0){const fe=ac(Ce,On,s,a);t.arc(fe.x,fe.y,L,y+$t,On+Math.PI)}const ee=(y-L/h+(x+O/h))/2;if(t.arc(s,a,h,y-L/h,ee,!0),t.arc(s,a,h,ee,x+O/h,!0),O>0){const fe=ac(De,Wt,s,a);t.arc(fe.x,fe.y,O,Wt+Math.PI,x-$t)}const ae=ac($,x,s,a);if(t.lineTo(ae.x,ae.y),k>0){const fe=ac($,ie,s,a);t.arc(fe.x,fe.y,k,x-$t,ie)}}else{t.moveTo(s,a);const nt=Math.cos(ie)*u+s,Q=Math.sin(ie)*u+a;t.lineTo(nt,Q);const ee=Math.cos(pe)*u+s,ae=Math.sin(pe)*u+a;t.lineTo(ee,ae)}t.closePath()}class pN extends Gr{static id="arc";static defaults={borderAlign:"center",borderColor:"#fff",borderDash:[],borderDashOffset:0,borderJoinStyle:void 0,borderRadius:0,borderWidth:2,offset:0,spacing:0,angle:void 0,circular:!0};static defaultRoutes={backgroundColor:"backgroundColor"};static descriptors={_scriptable:!0,_indexable:n=>"borderDash"!==n};circumference;endAngle;fullCircles;innerRadius;outerRadius;pixelMargin;startAngle;constructor(n){super(),this.options=void 0,this.circumference=void 0,this.startAngle=void 0,this.endAngle=void 0,this.innerRadius=void 0,this.outerRadius=void 0,this.pixelMargin=0,this.fullCircles=0,n&&Object.assign(this,n)}inRange(n,e,i){const r=this.getProps(["x","y"],i),{angle:o,distance:s}=XF(r,{x:n,y:e}),{startAngle:a,endAngle:c,innerRadius:l,outerRadius:d,circumference:u}=this.getProps(["startAngle","endAngle","innerRadius","outerRadius","circumference"],i),h=(this.options.spacing+this.options.borderWidth)/2,p=Me(u,c-a)>=Dt||bd(o,a,c),g=Hr(s,l+h,d+h);return p&&g}getCenterPoint(n){const{x:e,y:i,startAngle:r,endAngle:o,innerRadius:s,outerRadius:a}=this.getProps(["x","y","startAngle","endAngle","innerRadius","outerRadius"],n),{offset:c,spacing:l}=this.options,d=(r+o)/2,u=(s+a+l+c)/2;return{x:e+Math.cos(d)*u,y:i+Math.sin(d)*u}}tooltipPosition(n){return this.getCenterPoint(n)}draw(n){const{options:e,circumference:i}=this,r=(e.offset||0)/4,o=(e.spacing||0)/2,s=e.circular;if(this.pixelMargin="inner"===e.borderAlign?.33:0,this.fullCircles=i>Dt?Math.floor(i/Dt):0,0===i||this.innerRadius<0||this.outerRadius<0)return;n.save();const a=(this.startAngle+this.endAngle)/2;n.translate(Math.cos(a)*r,Math.sin(a)*r);const l=r*(1-Math.sin(Math.min(St,i||0)));n.fillStyle=e.backgroundColor,n.strokeStyle=e.borderColor,function Qte(t,n,e,i,r){const{fullCircles:o,startAngle:s,circumference:a}=n;let c=n.endAngle;if(o){Mm(t,n,e,i,c,r);for(let l=0;lr?(l=r/c,t.arc(o,s,c,e+l,i-l,!0)):t.arc(o,s,r,e+$t,i-$t),t.closePath(),t.clip()}(t,n,p),o||(Mm(t,n,e,i,p,r),t.stroke())}(n,this,l,o,s),n.restore()}}function gN(t,n,e=n){t.lineCap=Me(e.borderCapStyle,n.borderCapStyle),t.setLineDash(Me(e.borderDash,n.borderDash)),t.lineDashOffset=Me(e.borderDashOffset,n.borderDashOffset),t.lineJoin=Me(e.borderJoinStyle,n.borderJoinStyle),t.lineWidth=Me(e.borderWidth,n.borderWidth),t.strokeStyle=Me(e.borderColor,n.borderColor)}function Kte(t,n,e){t.lineTo(e.x,e.y)}function _N(t,n,e={}){const i=t.length,{start:r=0,end:o=i-1}=e,{start:s,end:a}=n,c=Math.max(r,s),l=Math.min(o,a);return{count:i,start:c,loop:n.loop,ilen:la&&o>a)?i+l-c:l-c}}function ene(t,n,e,i){const{points:r,options:o}=n,{count:s,start:a,loop:c,ilen:l}=_N(r,e,i),d=function Jte(t){return t.stepped?vJ:t.tension||"monotone"===t.cubicInterpolationMode?yJ:Kte}(o);let f,p,g,{move:u=!0,reverse:h}=i||{};for(f=0;f<=l;++f)p=r[(a+(h?l-f:f))%s],!p.skip&&(u?(t.moveTo(p.x,p.y),u=!1):d(t,g,p,h,o.stepped),g=p);return c&&(p=r[(a+(h?l:0))%s],d(t,g,p,h,o.stepped)),!!c}function tne(t,n,e,i){const r=n.points,{count:o,start:s,ilen:a}=_N(r,e,i),{move:c=!0,reverse:l}=i||{};let h,f,p,g,_,x,d=0,u=0;const y=F=>(s+(l?a-F:F))%o,k=()=>{g!==_&&(t.lineTo(d,_),t.lineTo(d,g),t.lineTo(d,x))};for(c&&(f=r[y(0)],t.moveTo(f.x,f.y)),h=0;h<=a;++h){if(f=r[y(h)],f.skip)continue;const F=f.x,O=f.y,L=0|F;L===p?(O_&&(_=O),d=(u*d+F)/++u):(k(),t.lineTo(F,O),p=L,u=0,g=_=O),x=O}k()}function TA(t){const n=t.options;return t._decimated||t._loop||n.tension||"monotone"===n.cubicInterpolationMode||n.stepped||n.borderDash&&n.borderDash.length?ene:tne}const one="function"==typeof Path2D;let Im=(()=>class t extends Gr{static id="line";static defaults={borderCapStyle:"butt",borderDash:[],borderDashOffset:0,borderJoinStyle:"miter",borderWidth:3,capBezierPoints:!0,cubicInterpolationMode:"default",fill:!1,spanGaps:!1,stepped:!1,tension:0};static defaultRoutes={backgroundColor:"backgroundColor",borderColor:"borderColor"};static descriptors={_scriptable:!0,_indexable:e=>"borderDash"!==e&&"fill"!==e};constructor(e){super(),this.animated=!0,this.options=void 0,this._chart=void 0,this._loop=void 0,this._fullLoop=void 0,this._path=void 0,this._points=void 0,this._segments=void 0,this._decimated=!1,this._pointsUpdated=!1,this._datasetIndex=void 0,e&&Object.assign(this,e)}updateControlPoints(e,i){const r=this.options;!r.tension&&"monotone"!==r.cubicInterpolationMode||r.stepped||this._pointsUpdated||(GJ(this._points,r,e,r.spanGaps?this._loop:this._fullLoop,i),this._pointsUpdated=!0)}set points(e){this._points=e,delete this._segments,delete this._path,this._pointsUpdated=!1}get points(){return this._points}get segments(){return this._segments||(this._segments=function oee(t,n){const e=t.points,i=t.options.spanGaps,r=e.length;if(!r)return[];const o=!!t._loop,{start:s,end:a}=function iee(t,n,e,i){let r=0,o=n-1;if(e&&!i)for(;rr&&t[o%n].skip;)o--;return o%=n,{start:r,end:o}}(e,r,o,i);return function SO(t,n,e,i){return i&&i.setContext&&e?function see(t,n,e,i){const r=t._chart.getContext(),o=DO(t.options),{_datasetIndex:s,options:{spanGaps:a}}=t,c=e.length,l=[];let d=o,u=n[0].start,h=u;function f(p,g,_,x){const y=a?-1:1;if(p!==g){for(p+=c;e[p%c].skip;)p-=y;for(;e[g%c].skip;)g+=y;p%c!=g%c&&(l.push({start:p%c,end:g%c,loop:_,style:x}),d=x,u=g%c)}}for(const p of n){u=a?u:p.start;let _,g=e[u%c];for(h=u+1;h<=p.end;h++){const x=e[h%c];_=DO(i.setContext(wo(r,{type:"segment",p0:g,p1:x,p0DataIndex:(h-1)%c,p1DataIndex:h%c,datasetIndex:s}))),aee(_,d)&&f(u,h-1,p.loop,d),g=x,d=_}uclass t extends Gr{static id="point";parsed;skip;stop;static defaults={borderWidth:1,hitRadius:1,hoverBorderWidth:1,hoverRadius:4,pointStyle:"circle",radius:3,rotation:0};static defaultRoutes={backgroundColor:"backgroundColor",borderColor:"borderColor"};constructor(e){super(),this.options=void 0,this.parsed=void 0,this.skip=void 0,this.stop=void 0,e&&Object.assign(this,e)}inRange(e,i,r){const o=this.options,{x:s,y:a}=this.getProps(["x","y"],r);return Math.pow(e-s,2)+Math.pow(i-a,2)t.replace("rgb(","rgba(").replace(")",", 0.5)"));function EN(t){return FA[t%FA.length]}function wN(t){return xN[t%xN.length]}function SN(t){let n;for(n in t)if(t[n].borderColor||t[n].backgroundColor)return!0;return!1}var bne={id:"colors",defaults:{enabled:!0,forceOverride:!1},beforeLayout(t,n,e){if(!e.enabled)return;const{data:{datasets:i},options:r}=t.config,{elements:o}=r;if(!e.forceOverride&&(SN(i)||function _ne(t){return t&&(t.borderColor||t.backgroundColor)}(r)||o&&SN(o)))return;const s=function gne(t){let n=0;return(e,i)=>{const r=t.getDatasetMeta(i).controller;r instanceof EA?n=function mne(t,n){return t.backgroundColor=t.data.map(()=>EN(n++)),n}(e,n):r instanceof HO?n=function pne(t,n){return t.backgroundColor=t.data.map(()=>wN(n++)),n}(e,n):r&&(n=function fne(t,n){return t.borderColor=EN(n),t.backgroundColor=wN(n),++n}(e,n))}}(t);i.forEach(s)}};function DN(t){if(t._decimated){const n=t._data;delete t._decimated,delete t._data,Object.defineProperty(t,"data",{configurable:!0,enumerable:!0,writable:!0,value:n})}}function CN(t){t.data.datasets.forEach(n=>{DN(n)})}var xne={id:"decimation",defaults:{algorithm:"min-max",enabled:!1},beforeElementsUpdate:(t,n,e)=>{if(!e.enabled)return void CN(t);const i=t.width;t.data.datasets.forEach((r,o)=>{const{_data:s,indexAxis:a}=r,c=t.getDatasetMeta(o),l=s||r.data;if("y"===Ct([a,t.options.indexAxis])||!c.controller.supportsDecimation)return;const d=t.scales[c.xAxisID];if("linear"!==d.type&&"time"!==d.type||t.options.parsing)return;let p,{start:u,count:h}=function Ane(t,n){const e=n.length;let r,i=0;const{iScale:o}=t,{min:s,max:a,minDefined:c,maxDefined:l}=o.getUserBounds();return c&&(i=mn(jr(n,o.axis,s).lo,0,e-1)),r=l?mn(jr(n,o.axis,a).hi+1,i,e)-i:e-i,{start:i,count:r}}(c,l);if(h<=(e.threshold||4*i))DN(r);else{switch(Le(s)&&(r._data=l,delete r.data,Object.defineProperty(r,"data",{configurable:!0,enumerable:!0,get:function(){return this._decimated},set:function(g){this._data=g}})),e.algorithm){case"lttb":p=function vne(t,n,e,i,r){const o=r.samples||i;if(o>=e)return t.slice(n,n+e);const s=[],a=(e-2)/(o-2);let c=0;const l=n+e-1;let u,h,f,p,g,d=n;for(s[c++]=t[d],u=0;uf&&(f=p,h=t[y],g=y);s[c++]=h,d=g}return s[c++]=t[l],s}(l,u,h,i,e);break;case"min-max":p=function yne(t,n,e,i){let s,a,c,l,d,u,h,f,p,g,r=0,o=0;const _=[],y=t[n].x,F=t[n+e-1].x-y;for(s=n;sg&&(g=l,h=s),r=(o*r+a.x)/++o;else{const L=s-1;if(!Le(u)&&!Le(h)){const $=Math.min(u,h),z=Math.max(u,h);$!==f&&$!==L&&_.push({...t[$],x:r}),z!==f&&z!==L&&_.push({...t[z],x:r})}s>0&&L!==f&&_.push(t[L]),_.push(a),d=O,o=0,p=g=l,u=h=f=s}}return _}(l,u,h,i);break;default:throw new Error(`Unsupported decimation algorithm '${e.algorithm}'`)}r._decimated=p}})},destroy(t){CN(t)}};function OA(t,n,e,i){if(i)return;let r=n[t],o=e[t];return"angle"===t&&(r=pi(r),o=pi(o)),{property:t,start:r,end:o}}function NA(t,n,e){for(;n>t;n--){const i=e[n];if(!isNaN(i.x)&&!isNaN(i.y))break}return n}function MN(t,n,e,i){return t&&n?i(t[e],n[e]):t?t[e]:n?n[e]:0}function IN(t,n){let e=[],i=!1;return wt(t)?(i=!0,e=t):e=function wne(t,n){const{x:e=null,y:i=null}=t||{},r=n.points,o=[];return n.segments.forEach(({start:s,end:a})=>{a=NA(s,a,r);const c=r[s],l=r[a];null!==i?(o.push({x:c.x,y:i}),o.push({x:l.x,y:i})):null!==e&&(o.push({x:e,y:c.y}),o.push({x:e,y:l.y}))}),o}(t,n),e.length?new Im({points:e,options:{tension:0},_loop:i,_fullLoop:i}):null}function TN(t){return t&&!1!==t.fill}function Sne(t,n,e){let r=t[n].fill;const o=[n];let s;if(!e)return r;for(;!1!==r&&-1===o.indexOf(r);){if(!Lt(r))return r;if(s=t[r],!s)return!1;if(s.visible)return r;o.push(r),r=s.fill}return!1}function Dne(t,n,e){const i=function Tne(t){const n=t.options,e=n.fill;let i=Me(e&&e.target,e);return void 0===i&&(i=!!n.backgroundColor),!1!==i&&null!==i&&(!0===i?"origin":i)}(t);if(He(i))return!isNaN(i.value)&&i;let r=parseFloat(i);return Lt(r)&&Math.floor(r)===r?function Cne(t,n,e,i){return("-"===t||"+"===t)&&(e=n+e),!(e===n||e<0||e>=i)&&e}(i[0],n,r,e):["origin","start","end","stack","shape"].indexOf(i)>=0&&i}function Fne(t,n,e){const i=[];for(let r=0;r=0;--s){const a=r[s].$filler;a&&(a.line.updateControlPoints(o,a.axis),i&&a.fill&&PA(t.ctx,a,o))}},beforeDatasetsDraw(t,n,e){if("beforeDatasetsDraw"!==e.drawTime)return;const i=t.getSortedVisibleDatasetMetas();for(let r=i.length-1;r>=0;--r){const o=i[r].$filler;TN(o)&&PA(t.ctx,o,t.chartArea)}},beforeDatasetDraw(t,n,e){const i=n.meta.$filler;!TN(i)||"beforeDatasetDraw"!==e.drawTime||PA(t.ctx,i,t.chartArea)},defaults:{propagate:!0,drawTime:"beforeDatasetDraw"}};const NN=(t,n)=>{let{boxHeight:e=n,boxWidth:i=n}=t;return t.usePointStyle&&(e=Math.min(e,n),i=t.pointStyleWidth||Math.min(i,n)),{boxWidth:i,boxHeight:e,itemHeight:Math.max(n,e)}};class PN extends Gr{constructor(n){super(),this._added=!1,this.legendHitBoxes=[],this._hoveredItem=null,this.doughnutMode=!1,this.chart=n.chart,this.options=n.options,this.ctx=n.ctx,this.legendItems=void 0,this.columnSizes=void 0,this.lineWidths=void 0,this.maxHeight=void 0,this.maxWidth=void 0,this.top=void 0,this.bottom=void 0,this.left=void 0,this.right=void 0,this.height=void 0,this.width=void 0,this._margins=void 0,this.position=void 0,this.weight=void 0,this.fullSize=void 0}update(n,e,i){this.maxWidth=n,this.maxHeight=e,this._margins=i,this.setDimensions(),this.buildLabels(),this.fit()}setDimensions(){this.isHorizontal()?(this.width=this.maxWidth,this.left=this._margins.left,this.right=this.width):(this.height=this.maxHeight,this.top=this._margins.top,this.bottom=this.height)}buildLabels(){const n=this.options.labels||{};let e=ut(n.generateLabels,[this.chart],this)||[];n.filter&&(e=e.filter(i=>n.filter(i,this.chart.data))),n.sort&&(e=e.sort((i,r)=>n.sort(i,r,this.chart.data))),this.options.reverse&&e.reverse(),this.legendItems=e}fit(){const{options:n,ctx:e}=this;if(!n.display)return void(this.width=this.height=0);const i=n.labels,r=tn(i.font),o=r.size,s=this._computeTitleHeight(),{boxWidth:a,itemHeight:c}=NN(i,o);let l,d;e.font=r.string,this.isHorizontal()?(l=this.maxWidth,d=this._fitRows(s,o,a,c)+10):(d=this.maxHeight,l=this._fitCols(s,r,a,c)+10),this.width=Math.min(l,n.maxWidth||this.maxWidth),this.height=Math.min(d,n.maxHeight||this.maxHeight)}_fitRows(n,e,i,r){const{ctx:o,maxWidth:s,options:{labels:{padding:a}}}=this,c=this.legendHitBoxes=[],l=this.lineWidths=[0],d=r+a;let u=n;o.textAlign="left",o.textBaseline="middle";let h=-1,f=-d;return this.legendItems.forEach((p,g)=>{const _=i+e/2+o.measureText(p.text).width;(0===g||l[l.length-1]+_+2*a>s)&&(u+=d,l[l.length-(g>0?0:1)]=0,f+=d,h++),c[g]={left:0,top:f,row:h,width:_,height:r},l[l.length-1]+=_+a}),u}_fitCols(n,e,i,r){const{ctx:o,maxHeight:s,options:{labels:{padding:a}}}=this,c=this.legendHitBoxes=[],l=this.columnSizes=[],d=s-n;let u=a,h=0,f=0,p=0,g=0;return this.legendItems.forEach((_,x)=>{const{itemWidth:y,itemHeight:k}=function Gne(t,n,e,i,r){const o=function $ne(t,n,e,i){let r=t.text;return r&&"string"!=typeof r&&(r=r.reduce((o,s)=>o.length>s.length?o:s)),n+e.size/2+i.measureText(r).width}(i,t,n,e),s=function Wne(t,n,e){let i=t;return"string"!=typeof n.text&&(i=LN(n,e)),i}(r,i,n.lineHeight);return{itemWidth:o,itemHeight:s}}(i,e,o,_,r);x>0&&f+k+2*a>d&&(u+=h+a,l.push({width:h,height:f}),p+=h+a,g++,h=f=0),c[x]={left:p,top:f,col:g,width:y,height:k},h=Math.max(h,y),f+=k+a}),u+=h,l.push({width:h,height:f}),u}adjustHitBoxes(){if(!this.options.display)return;const n=this._computeTitleHeight(),{legendHitBoxes:e,options:{align:i,labels:{padding:r},rtl:o}}=this,s=sc(o,this.left,this.width);if(this.isHorizontal()){let a=0,c=Rn(i,this.left+r,this.right-this.lineWidths[a]);for(const l of e)a!==l.row&&(a=l.row,c=Rn(i,this.left+r,this.right-this.lineWidths[a])),l.top+=this.top+n+r,l.left=s.leftForLtr(s.x(c),l.width),c+=l.width+r}else{let a=0,c=Rn(i,this.top+n+r,this.bottom-this.columnSizes[a].height);for(const l of e)l.col!==a&&(a=l.col,c=Rn(i,this.top+n+r,this.bottom-this.columnSizes[a].height)),l.top=c,l.left+=this.left+r,l.left=s.leftForLtr(s.x(l.left),l.width),c+=l.height+r}}isHorizontal(){return"top"===this.options.position||"bottom"===this.options.position}draw(){if(this.options.display){const n=this.ctx;mm(n,this),this._draw(),pm(n)}}_draw(){const{options:n,columnSizes:e,lineWidths:i,ctx:r}=this,{align:o,labels:s}=n,a=Ft.color,c=sc(n.rtl,this.left,this.width),l=tn(s.font),{padding:d}=s,u=l.size,h=u/2;let f;this.drawTitle(),r.textAlign=c.textAlign("left"),r.textBaseline="middle",r.lineWidth=.5,r.font=l.string;const{boxWidth:p,boxHeight:g,itemHeight:_}=NN(s,u),k=this.isHorizontal(),F=this._computeTitleHeight();f=k?{x:Rn(o,this.left+d,this.right-i[0]),y:this.top+d+F,line:0}:{x:this.left+d,y:Rn(o,this.top+F+d,this.bottom-e[0].height),line:0},vO(this.ctx,n.textDirection);const O=_+d;this.legendItems.forEach((L,$)=>{r.strokeStyle=L.fontColor,r.fillStyle=L.fontColor;const z=r.measureText(L.text).width,ie=c.textAlign(L.textAlign||(L.textAlign=s.textAlign)),pe=p+h+z;let De=f.x,Ce=f.y;c.setWidth(this.width),k?$>0&&De+pe+d>this.right&&(Ce=f.y+=O,f.line++,De=f.x=Rn(o,this.left+d,this.right-i[f.line])):$>0&&Ce+O>this.bottom&&(De=f.x=De+e[f.line].width+d,f.line++,Ce=f.y=Rn(o,this.top+F+d,this.bottom-e[f.line].height)),function(L,$,z){if(isNaN(p)||p<=0||isNaN(g)||g<0)return;r.save();const ie=Me(z.lineWidth,1);if(r.fillStyle=Me(z.fillStyle,a),r.lineCap=Me(z.lineCap,"butt"),r.lineDashOffset=Me(z.lineDashOffset,0),r.lineJoin=Me(z.lineJoin,"miter"),r.lineWidth=ie,r.strokeStyle=Me(z.strokeStyle,a),r.setLineDash(Me(z.lineDash,[])),s.usePointStyle){const pe={radius:g*Math.SQRT2/2,pointStyle:z.pointStyle,rotation:z.rotation,borderWidth:ie},De=c.xPlus(L,p/2);aO(r,pe,De,$+h,s.pointStyleWidth&&p)}else{const pe=$+Math.max((u-g)/2,0),De=c.leftForLtr(L,p),Ce=Es(z.borderRadius);r.beginPath(),Object.values(Ce).some(Wt=>0!==Wt)?xd(r,{x:De,y:pe,w:p,h:g,radius:Ce}):r.rect(De,pe,p,g),r.fill(),0!==ie&&r.stroke()}r.restore()}(c.x(De),Ce,L),De=((t,n,e,i)=>t===(i?"left":"right")?e:"center"===t?(n+e)/2:n)(ie,De+p+h,k?De+pe:this.right,n.rtl),function(L,$,z){xs(r,z.text,L,$+_/2,l,{strikethrough:z.hidden,textAlign:c.textAlign(z.textAlign)})}(c.x(De),Ce,L),k?f.x+=pe+d:f.y+="string"!=typeof L.text?LN(L,l.lineHeight)+d:O}),yO(this.ctx,n.textDirection)}drawTitle(){const n=this.options,e=n.title,i=tn(e.font),r=yn(e.padding);if(!e.display)return;const o=sc(n.rtl,this.left,this.width),s=this.ctx,a=e.position,l=r.top+i.size/2;let d,u=this.left,h=this.width;if(this.isHorizontal())h=Math.max(...this.lineWidths),d=this.top+l,u=Rn(n.align,u,this.right-h);else{const p=this.columnSizes.reduce((g,_)=>Math.max(g,_.height),0);d=l+Rn(n.align,this.top,this.bottom-p-n.labels.padding-this._computeTitleHeight())}const f=Rn(a,u,u+h);s.textAlign=o.textAlign(cA(a)),s.textBaseline="middle",s.strokeStyle=e.color,s.fillStyle=e.color,s.font=i.string,xs(s,e.text,f,d,i)}_computeTitleHeight(){const n=this.options.title,e=tn(n.font),i=yn(n.padding);return n.display?e.lineHeight+i.height:0}_getLegendItemAt(n,e){let i,r,o;if(Hr(n,this.left,this.right)&&Hr(e,this.top,this.bottom))for(o=this.legendHitBoxes,i=0;inull!==t&&null!==n&&t.datasetIndex===n.datasetIndex&&t.index===n.index)(r,i);r&&!o&&ut(e.onLeave,[n,r,this],this),this._hoveredItem=i,i&&!o&&ut(e.onHover,[n,i,this],this)}else i&&ut(e.onClick,[n,i,this],this)}}function LN(t,n){return n*(t.text?t.text.length:0)}var qne={id:"legend",_element:PN,start(t,n,e){const i=t.legend=new PN({ctx:t.ctx,options:e,chart:t});Fn.configure(t,i,e),Fn.addBox(t,i)},stop(t){Fn.removeBox(t,t.legend),delete t.legend},beforeUpdate(t,n,e){const i=t.legend;Fn.configure(t,i,e),i.options=e},afterUpdate(t){const n=t.legend;n.buildLabels(),n.adjustHitBoxes()},afterEvent(t,n){n.replay||t.legend.handleEvent(n.event)},defaults:{display:!0,position:"top",align:"center",fullSize:!0,reverse:!1,weight:1e3,onClick(t,n,e){const i=n.datasetIndex,r=e.chart;r.isDatasetVisible(i)?(r.hide(i),n.hidden=!0):(r.show(i),n.hidden=!1)},onHover:null,onLeave:null,labels:{color:t=>t.chart.options.color,boxWidth:40,padding:10,generateLabels(t){const n=t.data.datasets,{labels:{usePointStyle:e,pointStyle:i,textAlign:r,color:o,useBorderRadius:s,borderRadius:a}}=t.legend.options;return t._getSortedDatasetMetas().map(c=>{const l=c.controller.getStyle(e?0:void 0),d=yn(l.borderWidth);return{text:n[c.index].label,fillStyle:l.backgroundColor,fontColor:o,hidden:!c.visible,lineCap:l.borderCapStyle,lineDash:l.borderDash,lineDashOffset:l.borderDashOffset,lineJoin:l.borderJoinStyle,lineWidth:(d.width+d.height)/4,strokeStyle:l.borderColor,pointStyle:i||l.pointStyle,rotation:l.rotation,textAlign:r||l.textAlign,borderRadius:s&&(a||l.borderRadius),datasetIndex:c.index}},this)}},title:{color:t=>t.chart.options.color,display:!1,position:"center",text:""}},descriptors:{_scriptable:t=>!t.startsWith("on"),labels:{_scriptable:t=>!["generateLabels","filter","sort"].includes(t)}}};class LA extends Gr{constructor(n){super(),this.chart=n.chart,this.options=n.options,this.ctx=n.ctx,this._padding=void 0,this.top=void 0,this.bottom=void 0,this.left=void 0,this.right=void 0,this.width=void 0,this.height=void 0,this.position=void 0,this.weight=void 0,this.fullSize=void 0}update(n,e){const i=this.options;if(this.left=0,this.top=0,!i.display)return void(this.width=this.height=this.right=this.bottom=0);this.width=this.right=n,this.height=this.bottom=e;const r=wt(i.text)?i.text.length:1;this._padding=yn(i.padding);const o=r*tn(i.font).lineHeight+this._padding.height;this.isHorizontal()?this.height=o:this.width=o}isHorizontal(){const n=this.options.position;return"top"===n||"bottom"===n}_drawArgs(n){const{top:e,left:i,bottom:r,right:o,options:s}=this,a=s.align;let l,d,u,c=0;return this.isHorizontal()?(d=Rn(a,i,o),u=e+n,l=o-i):("left"===s.position?(d=i+n,u=Rn(a,r,e),c=-.5*St):(d=o-n,u=Rn(a,e,r),c=.5*St),l=r-e),{titleX:d,titleY:u,maxWidth:l,rotation:c}}draw(){const n=this.ctx,e=this.options;if(!e.display)return;const i=tn(e.font),o=i.lineHeight/2+this._padding.top,{titleX:s,titleY:a,maxWidth:c,rotation:l}=this._drawArgs(o);xs(n,e.text,0,0,i,{color:e.color,maxWidth:c,rotation:l,textAlign:cA(e.align),textBaseline:"middle",translation:[s,a]})}}var Qne={id:"title",_element:LA,start(t,n,e){!function Yne(t,n){const e=new LA({ctx:t.ctx,options:n,chart:t});Fn.configure(t,e,n),Fn.addBox(t,e),t.titleBlock=e}(t,e)},stop(t){Fn.removeBox(t,t.titleBlock),delete t.titleBlock},beforeUpdate(t,n,e){const i=t.titleBlock;Fn.configure(t,i,e),i.options=e},defaults:{align:"center",display:!1,font:{weight:"bold"},fullSize:!0,padding:10,position:"top",text:"",weight:2e3},defaultRoutes:{color:"color"},descriptors:{_scriptable:!0,_indexable:!1}};const Tm=new WeakMap;var Zne={id:"subtitle",start(t,n,e){const i=new LA({ctx:t.ctx,options:e,chart:t});Fn.configure(t,i,e),Fn.addBox(t,i),Tm.set(t,i)},stop(t){Fn.removeBox(t,Tm.get(t)),Tm.delete(t)},beforeUpdate(t,n,e){const i=Tm.get(t);Fn.configure(t,i,e),i.options=e},defaults:{align:"center",display:!1,font:{weight:"normal"},fullSize:!0,padding:0,position:"top",text:"",weight:1500},defaultRoutes:{color:"color"},descriptors:{_scriptable:!0,_indexable:!1}};const Rd={average(t){if(!t.length)return!1;let n,e,i=0,r=0,o=0;for(n=0,e=t.length;n-1?t.split("\n"):t}function Kne(t,n){const{element:e,datasetIndex:i,index:r}=n,o=t.getDatasetMeta(i).controller,{label:s,value:a}=o.getLabelAndValue(r);return{chart:t,label:s,parsed:o.getParsed(r),raw:t.data.datasets[i].data[r],formattedValue:a,dataset:o.getDataset(),dataIndex:r,datasetIndex:i,element:e}}function BN(t,n){const e=t.chart.ctx,{body:i,footer:r,title:o}=t,{boxWidth:s,boxHeight:a}=n,c=tn(n.bodyFont),l=tn(n.titleFont),d=tn(n.footerFont),u=o.length,h=r.length,f=i.length,p=yn(n.padding);let g=p.height,_=0,x=i.reduce((F,O)=>F+O.before.length+O.lines.length+O.after.length,0);x+=t.beforeBody.length+t.afterBody.length,u&&(g+=u*l.lineHeight+(u-1)*n.titleSpacing+n.titleMarginBottom),x&&(g+=f*(n.displayColors?Math.max(a,c.lineHeight):c.lineHeight)+(x-f)*c.lineHeight+(x-1)*n.bodySpacing),h&&(g+=n.footerMarginTop+h*d.lineHeight+(h-1)*n.footerSpacing);let y=0;const k=function(F){_=Math.max(_,e.measureText(F).width+y)};return e.save(),e.font=l.string,at(t.title,k),e.font=c.string,at(t.beforeBody.concat(t.afterBody),k),y=n.displayColors?s+2+n.boxPadding:0,at(i,F=>{at(F.before,k),at(F.lines,k),at(F.after,k)}),y=0,e.font=d.string,at(t.footer,k),e.restore(),_+=p.width,{width:_,height:g}}function tie(t,n,e,i){const{x:r,width:o}=e,{width:s,chartArea:{left:a,right:c}}=t;let l="center";return"center"===i?l=r<=(a+c)/2?"left":"right":r<=o/2?l="left":r>=s-o/2&&(l="right"),function eie(t,n,e,i){const{x:r,width:o}=i,s=e.caretSize+e.caretPadding;if("left"===t&&r+o+s>n.width||"right"===t&&r-o-s<0)return!0}(l,t,n,e)&&(l="center"),l}function VN(t,n,e){const i=e.yAlign||n.yAlign||function Jne(t,n){const{y:e,height:i}=n;return et.height-i/2?"bottom":"center"}(t,e);return{xAlign:e.xAlign||n.xAlign||tie(t,n,e,i),yAlign:i}}function HN(t,n,e,i){const{caretSize:r,caretPadding:o,cornerRadius:s}=t,{xAlign:a,yAlign:c}=e,l=r+o,{topLeft:d,topRight:u,bottomLeft:h,bottomRight:f}=Es(s);let p=function nie(t,n){let{x:e,width:i}=t;return"right"===n?e-=i:"center"===n&&(e-=i/2),e}(n,a);const g=function iie(t,n,e){let{y:i,height:r}=t;return"top"===n?i+=e:i-="bottom"===n?r+e:r/2,i}(n,c,l);return"center"===c?"left"===a?p+=l:"right"===a&&(p-=l):"left"===a?p-=Math.max(d,h)+r:"right"===a&&(p+=Math.max(u,f)+r),{x:mn(p,0,i.width-n.width),y:mn(g,0,i.height-n.height)}}function km(t,n,e){const i=yn(e.padding);return"center"===n?t.x+t.width/2:"right"===n?t.x+t.width-i.right:t.x+i.left}function jN(t){return fr([],$r(t))}function UN(t,n){const e=n&&n.dataset&&n.dataset.tooltip&&n.dataset.tooltip.callbacks;return e?t.override(e):t}const zN={beforeTitle:Vr,title(t){if(t.length>0){const n=t[0],e=n.chart.data.labels,i=e?e.length:0;if(this&&this.options&&"dataset"===this.options.mode)return n.dataset.label||"";if(n.label)return n.label;if(i>0&&n.dataIndex"u"?zN[n].call(e,i):r}let GN=(()=>class t extends Gr{static positioners=Rd;constructor(e){super(),this.opacity=0,this._active=[],this._eventPosition=void 0,this._size=void 0,this._cachedAnimations=void 0,this._tooltipItems=[],this.$animations=void 0,this.$context=void 0,this.chart=e.chart,this.options=e.options,this.dataPoints=void 0,this.title=void 0,this.beforeBody=void 0,this.body=void 0,this.afterBody=void 0,this.footer=void 0,this.xAlign=void 0,this.yAlign=void 0,this.x=void 0,this.y=void 0,this.height=void 0,this.width=void 0,this.caretX=void 0,this.caretY=void 0,this.labelColors=void 0,this.labelPointStyles=void 0,this.labelTextColors=void 0}initialize(e){this.options=e,this._cachedAnimations=void 0,this.$context=void 0}_resolveAnimations(){const e=this._cachedAnimations;if(e)return e;const i=this.chart,r=this.options.setContext(this.getContext()),o=r.enabled&&i.options.animation&&r.animations,s=new MO(this.chart,o);return o._cacheable&&(this._cachedAnimations=Object.freeze(s)),s}getContext(){return this.$context||(this.$context=function rie(t,n,e){return wo(t,{tooltip:n,tooltipItems:e,type:"tooltip"})}(this.chart.getContext(),this,this._tooltipItems))}getTitle(e,i){const{callbacks:r}=i,o=Zn(r,"beforeTitle",this,e),s=Zn(r,"title",this,e),a=Zn(r,"afterTitle",this,e);let c=[];return c=fr(c,$r(o)),c=fr(c,$r(s)),c=fr(c,$r(a)),c}getBeforeBody(e,i){return jN(Zn(i.callbacks,"beforeBody",this,e))}getBody(e,i){const{callbacks:r}=i,o=[];return at(e,s=>{const a={before:[],lines:[],after:[]},c=UN(r,s);fr(a.before,$r(Zn(c,"beforeLabel",this,s))),fr(a.lines,Zn(c,"label",this,s)),fr(a.after,$r(Zn(c,"afterLabel",this,s))),o.push(a)}),o}getAfterBody(e,i){return jN(Zn(i.callbacks,"afterBody",this,e))}getFooter(e,i){const{callbacks:r}=i,o=Zn(r,"beforeFooter",this,e),s=Zn(r,"footer",this,e),a=Zn(r,"afterFooter",this,e);let c=[];return c=fr(c,$r(o)),c=fr(c,$r(s)),c=fr(c,$r(a)),c}_createItems(e){const i=this._active,r=this.chart.data,o=[],s=[],a=[];let l,d,c=[];for(l=0,d=i.length;le.filter(u,h,f,r))),e.itemSort&&(c=c.sort((u,h)=>e.itemSort(u,h,r))),at(c,u=>{const h=UN(e.callbacks,u);o.push(Zn(h,"labelColor",this,u)),s.push(Zn(h,"labelPointStyle",this,u)),a.push(Zn(h,"labelTextColor",this,u))}),this.labelColors=o,this.labelPointStyles=s,this.labelTextColors=a,this.dataPoints=c,c}update(e,i){const r=this.options.setContext(this.getContext()),o=this._active;let s,a=[];if(o.length){const c=Rd[r.position].call(this,o,this._eventPosition);a=this._createItems(r),this.title=this.getTitle(a,r),this.beforeBody=this.getBeforeBody(a,r),this.body=this.getBody(a,r),this.afterBody=this.getAfterBody(a,r),this.footer=this.getFooter(a,r);const l=this._size=BN(this,r),d=Object.assign({},c,l),u=VN(this.chart,r,d),h=HN(r,d,u,this.chart);this.xAlign=u.xAlign,this.yAlign=u.yAlign,s={opacity:1,x:h.x,y:h.y,width:l.width,height:l.height,caretX:c.x,caretY:c.y}}else 0!==this.opacity&&(s={opacity:0});this._tooltipItems=a,this.$context=void 0,s&&this._resolveAnimations().update(this,s),e&&r.external&&r.external.call(this,{chart:this.chart,tooltip:this,replay:i})}drawCaret(e,i,r,o){const s=this.getCaretPosition(e,r,o);i.lineTo(s.x1,s.y1),i.lineTo(s.x2,s.y2),i.lineTo(s.x3,s.y3)}getCaretPosition(e,i,r){const{xAlign:o,yAlign:s}=this,{caretSize:a,cornerRadius:c}=r,{topLeft:l,topRight:d,bottomLeft:u,bottomRight:h}=Es(c),{x:f,y:p}=e,{width:g,height:_}=i;let x,y,k,F,O,L;return"center"===s?(O=p+_/2,"left"===o?(x=f,y=x-a,F=O+a,L=O-a):(x=f+g,y=x+a,F=O-a,L=O+a),k=x):(y="left"===o?f+Math.max(l,u)+a:"right"===o?f+g-Math.max(d,h)-a:this.caretX,"top"===s?(F=p,O=F-a,x=y-a,k=y+a):(F=p+_,O=F+a,x=y+a,k=y-a),L=F),{x1:x,x2:y,x3:k,y1:F,y2:O,y3:L}}drawTitle(e,i,r){const o=this.title,s=o.length;let a,c,l;if(s){const d=sc(r.rtl,this.x,this.width);for(e.x=km(this,r.titleAlign,r),i.textAlign=d.textAlign(r.titleAlign),i.textBaseline="middle",a=tn(r.titleFont),c=r.titleSpacing,i.fillStyle=r.titleColor,i.font=a.string,l=0;l0!==k)?(e.beginPath(),e.fillStyle=s.multiKeyBackground,xd(e,{x:_,y:g,w:d,h:l,radius:y}),e.fill(),e.stroke(),e.fillStyle=a.backgroundColor,e.beginPath(),xd(e,{x,y:g+1,w:d-2,h:l-2,radius:y}),e.fill()):(e.fillStyle=s.multiKeyBackground,e.fillRect(_,g,d,l),e.strokeRect(_,g,d,l),e.fillStyle=a.backgroundColor,e.fillRect(x,g+1,d-2,l-2))}e.fillStyle=this.labelTextColors[r]}drawBody(e,i,r){const{body:o}=this,{bodySpacing:s,bodyAlign:a,displayColors:c,boxHeight:l,boxWidth:d,boxPadding:u}=r,h=tn(r.bodyFont);let f=h.lineHeight,p=0;const g=sc(r.rtl,this.x,this.width),_=function(ie){i.fillText(ie,g.x(e.x+p),e.y+f/2),e.y+=f+s},x=g.textAlign(a);let y,k,F,O,L,$,z;for(i.textAlign=a,i.textBaseline="middle",i.font=h.string,e.x=km(this,x,r),i.fillStyle=r.bodyColor,at(this.beforeBody,_),p=c&&"right"!==x?"center"===a?d/2+u:d+2+u:0,O=0,$=o.length;O<$;++O){for(y=o[O],k=this.labelTextColors[O],i.fillStyle=k,at(y.before,_),F=y.lines,c&&F.length&&(this._drawColorBox(i,e,O,g,r),f=Math.max(h.lineHeight,l)),L=0,z=F.length;L0&&i.stroke()}_updateAnimationTarget(e){const i=this.chart,r=this.$animations,o=r&&r.x,s=r&&r.y;if(o||s){const a=Rd[e.position].call(this,this._active,this._eventPosition);if(!a)return;const c=this._size=BN(this,e),l=Object.assign({},a,this._size),d=VN(i,e,l),u=HN(e,l,d,i);(o._to!==u.x||s._to!==u.y)&&(this.xAlign=d.xAlign,this.yAlign=d.yAlign,this.width=c.width,this.height=c.height,this.caretX=a.x,this.caretY=a.y,this._resolveAnimations().update(this,u))}}_willRender(){return!!this.opacity}draw(e){const i=this.options.setContext(this.getContext());let r=this.opacity;if(!r)return;this._updateAnimationTarget(i);const o={width:this.width,height:this.height},s={x:this.x,y:this.y};r=Math.abs(r)<.001?0:r;const a=yn(i.padding);i.enabled&&(this.title.length||this.beforeBody.length||this.body.length||this.afterBody.length||this.footer.length)&&(e.save(),e.globalAlpha=r,this.drawBackground(s,e,o,i),vO(e,i.textDirection),s.y+=a.top,this.drawTitle(s,e,i),this.drawBody(s,e,i),this.drawFooter(s,e,i),yO(e,i.textDirection),e.restore())}getActiveElements(){return this._active||[]}setActiveElements(e,i){const r=this._active,o=e.map(({datasetIndex:c,index:l})=>{const d=this.chart.getDatasetMeta(c);if(!d)throw new Error("Cannot find a dataset at index "+c);return{datasetIndex:c,element:d.data[l],index:l}}),s=!cm(r,o),a=this._positionChanged(o,i);(s||a)&&(this._active=o,this._eventPosition=i,this._ignoreReplayEvents=!0,this.update(!0))}handleEvent(e,i,r=!0){if(i&&this._ignoreReplayEvents)return!1;this._ignoreReplayEvents=!1;const o=this.options,s=this._active||[],a=this._getActiveElements(e,s,i,r),c=this._positionChanged(a,e),l=i||!cm(a,s)||c;return l&&(this._active=a,(o.enabled||o.external)&&(this._eventPosition={x:e.x,y:e.y},this.update(!0,i))),l}_getActiveElements(e,i,r,o){const s=this.options;if("mouseout"===e.type)return[];if(!o)return i.filter(c=>this.chart.data.datasets[c.datasetIndex]&&void 0!==this.chart.getDatasetMeta(c.datasetIndex).controller.getParsed(c.index));const a=this.chart.getElementsAtEventForMode(e,s.mode,s,r);return s.reverse&&a.reverse(),a}_positionChanged(e,i){const{caretX:r,caretY:o,options:s}=this,a=Rd[s.position].call(this,e,i);return!1!==a&&(r!==a.x||o!==a.y)}})();var oie={id:"tooltip",_element:GN,positioners:Rd,afterInit(t,n,e){e&&(t.tooltip=new GN({chart:t,options:e}))},beforeUpdate(t,n,e){t.tooltip&&t.tooltip.initialize(e)},reset(t,n,e){t.tooltip&&t.tooltip.initialize(e)},afterDraw(t){const n=t.tooltip;if(n&&n._willRender()){const e={tooltip:n};if(!1===t.notifyPlugins("beforeTooltipDraw",{...e,cancelable:!0}))return;n.draw(t.ctx),t.notifyPlugins("afterTooltipDraw",e)}},afterEvent(t,n){t.tooltip&&t.tooltip.handleEvent(n.event,n.replay,n.inChartArea)&&(n.changed=!0)},defaults:{enabled:!0,external:null,position:"average",backgroundColor:"rgba(0,0,0,0.8)",titleColor:"#fff",titleFont:{weight:"bold"},titleSpacing:2,titleMarginBottom:6,titleAlign:"left",bodyColor:"#fff",bodySpacing:2,bodyFont:{},bodyAlign:"left",footerColor:"#fff",footerSpacing:2,footerMarginTop:6,footerFont:{weight:"bold"},footerAlign:"left",padding:6,caretPadding:2,caretSize:5,cornerRadius:6,boxHeight:(t,n)=>n.bodyFont.size,boxWidth:(t,n)=>n.bodyFont.size,multiKeyBackground:"#fff",displayColors:!0,boxPadding:0,borderColor:"rgba(0,0,0,0)",borderWidth:0,animation:{duration:400,easing:"easeOutQuart"},animations:{numbers:{type:"number",properties:["x","y","width","height","caretX","caretY"]},opacity:{easing:"linear",duration:200}},callbacks:zN},defaultRoutes:{bodyFont:"font",footerFont:"font",titleFont:"font"},descriptors:{_scriptable:t=>"filter"!==t&&"itemSort"!==t&&"external"!==t,_indexable:!1,callbacks:{_scriptable:!1,_indexable:!1},animation:{_fallback:!1},animations:{_fallback:"animation"}},additionalOptionScopes:["interaction"]},sie=Object.freeze({__proto__:null,Colors:bne,Decimation:xne,Filler:Une,Legend:qne,SubTitle:Zne,Title:Qne,Tooltip:oie});function $N(t){const n=this.getLabels();return t>=0&&tclass t extends Ms{static id="category";static defaults={ticks:{callback:$N}};constructor(e){super(e),this._startValue=void 0,this._valueRange=0,this._addedLabels=[]}init(e){const i=this._addedLabels;if(i.length){const r=this.getLabels();for(const{index:o,label:s}of i)r[o]===s&&r.splice(o,1);this._addedLabels=[]}super.init(e)}parse(e,i){if(Le(e))return null;const r=this.getLabels();return((t,n)=>null===t?null:mn(Math.round(t),0,n))(i=isFinite(i)&&r[i]===e?i:function cie(t,n,e,i){const r=t.indexOf(n);return-1===r?((t,n,e,i)=>("string"==typeof n?(e=t.push(n)-1,i.unshift({index:e,label:n})):isNaN(n)&&(e=null),e))(t,n,e,i):r!==t.lastIndexOf(n)?e:r}(r,e,Me(i,e),this._addedLabels),r.length-1)}determineDataLimits(){const{minDefined:e,maxDefined:i}=this.getUserBounds();let{min:r,max:o}=this.getMinMax(!0);"ticks"===this.options.bounds&&(e||(r=0),i||(o=this.getLabels().length-1)),this.min=r,this.max=o}buildTicks(){const e=this.min,i=this.max,r=this.options.offset,o=[];let s=this.getLabels();s=0===e&&i===s.length-1?s:s.slice(e,i+1),this._valueRange=Math.max(s.length-(r?0:1),1),this._startValue=this.min-(r?.5:0);for(let a=e;a<=i;a++)o.push({value:a});return o}getLabelForValue(e){return $N.call(this,e)}configure(){super.configure(),this.isHorizontal()||(this._reversePixels=!this._reversePixels)}getPixelForValue(e){return"number"!=typeof e&&(e=this.parse(e)),null===e?NaN:this.getPixelForDecimal((e-this._startValue)/this._valueRange)}getPixelForTick(e){const i=this.ticks;return e<0||e>i.length-1?null:this.getPixelForValue(i[e].value)}getValueForPixel(e){return Math.round(this._startValue+this.getDecimalForPixel(e)*this._valueRange)}getBasePixel(){return this.bottom}})();function WN(t,n,{horizontal:e,minRotation:i}){const r=ji(i),o=(e?Math.sin(r):Math.cos(r))||.001;return Math.min(n/o,.75*n*(""+t).length)}class Rm extends Ms{constructor(n){super(n),this.start=void 0,this.end=void 0,this._startValue=void 0,this._endValue=void 0,this._valueRange=0}parse(n,e){return Le(n)||("number"==typeof n||n instanceof Number)&&!isFinite(+n)?null:+n}handleTickRangeOptions(){const{beginAtZero:n}=this.options,{minDefined:e,maxDefined:i}=this.getUserBounds();let{min:r,max:o}=this;const s=c=>r=e?r:c,a=c=>o=i?o:c;if(n){const c=ur(r),l=ur(o);c<0&&l<0?a(0):c>0&&l>0&&s(0)}if(r===o){let c=0===o?1:Math.abs(.05*o);a(o+c),n||s(r-c)}this.min=r,this.max=o}getTickLimit(){const n=this.options.ticks;let r,{maxTicksLimit:e,stepSize:i}=n;return i?(r=Math.ceil(this.max/i)-Math.floor(this.min/i)+1,r>1e3&&(console.warn(`scales.${this.id}.ticks.stepSize: ${i} would result generating up to ${r} ticks. Limiting to 1000.`),r=1e3)):(r=this.computeTickLimit(),e=e||11),e&&(r=Math.min(e,r)),r}computeTickLimit(){return Number.POSITIVE_INFINITY}buildTicks(){const n=this.options,e=n.ticks;let i=this.getTickLimit();i=Math.max(2,i);const s=function uie(t,n){const e=[],{bounds:r,step:o,min:s,max:a,precision:c,count:l,maxTicks:d,maxDigits:u,includeBounds:h}=t,f=o||1,p=d-1,{min:g,max:_}=n,x=!Le(s),y=!Le(a),k=!Le(l),F=(_-g)/(u+1);let L,$,z,ie,O=GF((_-g)/p/f)*f;if(O<1e-14&&!x&&!y)return[{value:g},{value:_}];ie=Math.ceil(_/O)-Math.floor(g/O),ie>p&&(O=GF(ie*O/p/f)*f),Le(c)||(L=Math.pow(10,c),O=Math.ceil(O*L)/L),"ticks"===r?($=Math.floor(g/O)*O,z=Math.ceil(_/O)*O):($=g,z=_),x&&y&&o&&function tJ(t,n){const e=Math.round(t);return e-n<=t&&e+n>=t}((a-s)/o,O/1e3)?(ie=Math.round(Math.min((a-s)/O,d)),O=(a-s)/ie,$=s,z=a):k?($=x?s:$,z=y?a:z,ie=l-1,O=(z-$)/ie):(ie=(z-$)/O,ie=_d(ie,Math.round(ie),O/1e3)?Math.round(ie):Math.ceil(ie));const pe=Math.max(WF(O),WF($));L=Math.pow(10,Le(c)?pe:c),$=Math.round($*L)/L,z=Math.round(z*L)/L;let De=0;for(x&&(h&&$!==s?(e.push({value:s}),$a)break;e.push({value:Ce})}return y&&h&&z!==a?e.length&&_d(e[e.length-1].value,a,WN(a,F,t))?e[e.length-1].value=a:e.push({value:a}):(!y||z===a)&&e.push({value:z}),e}({maxTicks:i,bounds:n.bounds,min:n.min,max:n.max,precision:e.precision,step:e.stepSize,count:e.count,maxDigits:this._maxDigits(),horizontal:this.isHorizontal(),minRotation:e.minRotation||0,includeBounds:!1!==e.includeBounds},this._range||this);return"ticks"===n.bounds&&$F(s,this,"value"),n.reverse?(s.reverse(),this.start=this.max,this.end=this.min):(this.start=this.min,this.end=this.max),s}configure(){const n=this.ticks;let e=this.min,i=this.max;if(super.configure(),this.options.offset&&n.length){const r=(i-e)/Math.max(n.length-1,1)/2;e-=r,i+=r}this._startValue=e,this._endValue=i,this._valueRange=i-e}getLabelForValue(n){return yd(n,this.chart.options.locale,this.options.ticks.format)}}const Fd=t=>Math.floor(Eo(t)),Is=(t,n)=>Math.pow(10,Fd(t)+n);function XN(t){return t/Math.pow(10,Fd(t))==1}function qN(t,n,e){const i=Math.pow(10,e),r=Math.floor(t/i);return Math.ceil(n/i)-r}function BA(t){const n=t.ticks;if(n.display&&t.display){const e=yn(n.backdropPadding);return Me(n.font&&n.font.size,Ft.font.size)+e.height}return 0}function gie(t,n,e){return e=wt(e)?e:[e],{w:bJ(t,n.string,e),h:e.length*n.lineHeight}}function YN(t,n,e,i,r){return t===i||t===r?{start:n-e/2,end:n+e/2}:tr?{start:n-e,end:n}:{start:n,end:n+e}}function bie(t,n,e,i,r){const o=Math.abs(Math.sin(e)),s=Math.abs(Math.cos(e));let a=0,c=0;i.startn.r&&(a=(i.end-n.r)/o,t.r=Math.max(t.r,n.r+a)),r.startn.b&&(c=(r.end-n.b)/s,t.b=Math.max(t.b,n.b+c))}function vie(t,n,e){const i=t.drawingArea,{extra:r,additionalAngle:o,padding:s,size:a}=e,c=t.getPointPosition(n,i+r+s,o),l=Math.round(oA(pi(c.angle+$t))),d=function wie(t,n,e){return 90===e||270===e?t-=n/2:(e>270||e<90)&&(t-=n),t}(c.y,a.h,l),u=function xie(t){return 0===t||180===t?"center":t<180?"left":"right"}(l),h=function Eie(t,n,e){return"right"===e?t-=n:"center"===e&&(t-=n/2),t}(c.x,a.w,u);return{visible:!0,x:c.x,y:d,textAlign:u,left:h,top:d,right:h+a.w,bottom:d+a.h}}function yie(t,n){if(!n)return!0;const{left:e,top:i,right:r,bottom:o}=t;return!(Ur({x:e,y:i},n)||Ur({x:e,y:o},n)||Ur({x:r,y:i},n)||Ur({x:r,y:o},n))}function Sie(t,n,e){const{left:i,top:r,right:o,bottom:s}=e,{backdropColor:a}=n;if(!Le(a)){const c=Es(n.borderRadius),l=yn(n.backdropPadding);t.fillStyle=a;const d=i-l.left,u=r-l.top,h=o-i+l.width,f=s-r+l.height;Object.values(c).some(p=>0!==p)?(t.beginPath(),xd(t,{x:d,y:u,w:h,h:f,radius:c}),t.fill()):t.fillRect(d,u,h,f)}}function QN(t,n,e,i){const{ctx:r}=t;if(e)r.arc(t.xCenter,t.yCenter,n,0,Dt);else{let o=t.getPointPosition(0,n);r.moveTo(o.x,o.y);for(let s=1;s=n?e[i]:e[r]]=!0}}else t[n]=!0}function tP(t,n,e){const i=[],r={},o=n.length;let s,a;for(s=0;s=0&&(n[c].major=!0);return n}(t,i,r,e):i}let VA=(()=>class t extends Ms{static id="time";static defaults={bounds:"data",adapters:{},time:{parser:!1,unit:!1,round:!1,isoWeekday:!1,minUnit:"millisecond",displayFormats:{}},ticks:{source:"auto",callback:!1,major:{enabled:!1}}};constructor(e){super(e),this._cache={data:[],labels:[],all:[]},this._unit="day",this._majorUnit=void 0,this._offsets={},this._normalized=!1,this._parseOpts=void 0}init(e,i={}){const r=e.time||(e.time={}),o=this._adapter=new Lee__date(e.adapters.date);o.init(i),pd(r.displayFormats,o.formats()),this._parseOpts={parser:r.parser,round:r.round,isoWeekday:r.isoWeekday},super.init(e),this._normalized=i.normalized}parse(e,i){return void 0===e?null:KN(this,e)}beforeLayout(){super.beforeLayout(),this._cache={data:[],labels:[],all:[]}}determineDataLimits(){const e=this.options,i=this._adapter,r=e.time.unit||"day";let{min:o,max:s,minDefined:a,maxDefined:c}=this.getUserBounds();function l(d){!a&&!isNaN(d.min)&&(o=Math.min(o,d.min)),!c&&!isNaN(d.max)&&(s=Math.max(s,d.max))}(!a||!c)&&(l(this._getLabelBounds()),("ticks"!==e.bounds||"labels"!==e.ticks.source)&&l(this.getMinMax(!1))),o=Lt(o)&&!isNaN(o)?o:+i.startOf(Date.now(),r),s=Lt(s)&&!isNaN(s)?s:+i.endOf(Date.now(),r)+1,this.min=Math.min(o,s-1),this.max=Math.max(o+1,s)}_getLabelBounds(){const e=this.getLabelTimestamps();let i=Number.POSITIVE_INFINITY,r=Number.NEGATIVE_INFINITY;return e.length&&(i=e[0],r=e[e.length-1]),{min:i,max:r}}buildTicks(){const e=this.options,i=e.time,r=e.ticks,o="labels"===r.source?this.getLabelTimestamps():this._generate();"ticks"===e.bounds&&o.length&&(this.min=this._userMin||o[0],this.max=this._userMax||o[o.length-1]);const s=this.min,c=function oJ(t,n,e){let i=0,r=t.length;for(;ii&&t[r-1]>e;)r--;return i>0||r=Kn.indexOf(e);o--){const s=Kn[o];if(Fm[s].common&&t._adapter.diff(r,i,s)>=n-1)return s}return Kn[e?Kn.indexOf(e):0]}(this,c.length,i.minUnit,this.min,this.max)),this._majorUnit=r.major.enabled&&"year"!==this._unit?function kie(t){for(let n=Kn.indexOf(t)+1,e=Kn.length;n+e.value))}initOffsets(e=[]){let o,s,i=0,r=0;this.options.offset&&e.length&&(o=this.getDecimalForValue(e[0]),i=1===e.length?1-o:(this.getDecimalForValue(e[1])-o)/2,s=this.getDecimalForValue(e[e.length-1]),r=1===e.length?s:(s-this.getDecimalForValue(e[e.length-2]))/2);const a=e.length<3?.5:.25;i=mn(i,0,a),r=mn(r,0,a),this._offsets={start:i,end:r,factor:1/(i+1+r)}}_generate(){const e=this._adapter,i=this.min,r=this.max,o=this.options,s=o.time,a=s.unit||JN(s.minUnit,i,r,this._getLabelCapacity(i)),c=Me(o.ticks.stepSize,1),l="week"===a&&s.isoWeekday,d=ic(l)||!0===l,u={};let f,p,h=i;if(d&&(h=+e.startOf(h,"isoWeek",l)),h=+e.startOf(h,d?"day":a),e.diff(r,i,a)>1e5*c)throw new Error(i+" and "+r+" are too far apart with stepSize of "+c+" "+a);const g="data"===o.ticks.source&&this.getDataTimestamps();for(f=h,p=0;f+_)}getLabelForValue(e){const r=this.options.time;return this._adapter.format(e,r.tooltipFormat?r.tooltipFormat:r.displayFormats.datetime)}format(e,i){return this._adapter.format(e,i||this.options.time.displayFormats[this._unit])}_tickFormatFunction(e,i,r,o){const s=this.options,a=s.ticks.callback;if(a)return ut(a,[e,i,r],this);const c=s.time.displayFormats,l=this._unit,d=this._majorUnit,h=d&&c[d],f=r[i];return this._adapter.format(e,o||(d&&h&&f&&f.major?h:l&&c[l]))}generateTickLabels(e){let i,r,o;for(i=0,r=e.length;i0?c:1}getDataTimestamps(){let i,r,e=this._cache.data||[];if(e.length)return e;const o=this.getMatchingVisibleMetas();if(this._normalized&&o.length)return this._cache.data=o[0].controller.getAllParsedValues(this);for(i=0,r=o.length;i=t[i].pos&&n<=t[r].pos&&({lo:i,hi:r}=jr(t,"pos",n)),({pos:o,time:a}=t[i]),({pos:s,time:c}=t[r])):(n>=t[i].time&&n<=t[r].time&&({lo:i,hi:r}=jr(t,"time",n)),({time:o,pos:a}=t[i]),({time:s,pos:c}=t[r]));const l=s-o;return l?a+(c-a)*(n-o)/l:a}var Oie=Object.freeze({__proto__:null,CategoryScale:die,LinearScale:class hie extends Rm{static id="linear";static defaults={ticks:{callback:hm.formatters.numeric}};determineDataLimits(){const{min:n,max:e}=this.getMinMax(!0);this.min=Lt(n)?n:0,this.max=Lt(e)?e:1,this.handleTickRangeOptions()}computeTickLimit(){const n=this.isHorizontal(),e=n?this.width:this.height,i=ji(this.options.ticks.minRotation),r=(n?Math.sin(i):Math.cos(i))||.001,o=this._resolveTickFontOptions(0);return Math.ceil(e/Math.min(40,o.lineHeight/r))}getPixelForValue(n){return null===n?NaN:this.getPixelForDecimal((n-this._startValue)/this._valueRange)}getValueForPixel(n){return this._startValue+this.getDecimalForPixel(n)*this._valueRange}},LogarithmicScale:class pie extends Ms{static id="logarithmic";static defaults={ticks:{callback:hm.formatters.logarithmic,major:{enabled:!0}}};constructor(n){super(n),this.start=void 0,this.end=void 0,this._startValue=void 0,this._valueRange=0}parse(n,e){const i=Rm.prototype.parse.apply(this,[n,e]);if(0!==i)return Lt(i)&&i>0?i:null;this._zero=!0}determineDataLimits(){const{min:n,max:e}=this.getMinMax(!0);this.min=Lt(n)?Math.max(0,n):null,this.max=Lt(e)?Math.max(0,e):null,this.options.beginAtZero&&(this._zero=!0),this._zero&&this.min!==this._suggestedMin&&!Lt(this._userMin)&&(this.min=n===Is(this.min,0)?Is(this.min,-1):Is(this.min,0)),this.handleTickRangeOptions()}handleTickRangeOptions(){const{minDefined:n,maxDefined:e}=this.getUserBounds();let i=this.min,r=this.max;const o=a=>i=n?i:a,s=a=>r=e?r:a;i===r&&(i<=0?(o(1),s(10)):(o(Is(i,-1)),s(Is(r,1)))),i<=0&&o(Is(r,-1)),r<=0&&s(Is(i,1)),this.min=i,this.max=r}buildTicks(){const n=this.options,i=function mie(t,{min:n,max:e}){n=mi(t.min,n);const i=[],r=Fd(n);let o=function fie(t,n){let i=Fd(n-t);for(;qN(t,n,i)>10;)i++;for(;qN(t,n,i)<10;)i--;return Math.min(i,Fd(t))}(n,e),s=o<0?Math.pow(10,Math.abs(o)):1;const a=Math.pow(10,o),c=r>o?Math.pow(10,r):0,l=Math.round((n-c)*s)/s,d=Math.floor((n-c)/a/10)*a*10;let u=Math.floor((l-d)/Math.pow(10,o)),h=mi(t.min,Math.round((c+d+u*Math.pow(10,o))*s)/s);for(;h=10?u=u<15?15:20:u++,u>=20&&(o++,u=2,s=o>=0?1:s),h=Math.round((c+d+u*Math.pow(10,o))*s)/s;const f=mi(t.max,h);return i.push({value:f,major:XN(f),significand:u}),i}({min:this._userMin,max:this._userMax},this);return"ticks"===n.bounds&&$F(i,this,"value"),n.reverse?(i.reverse(),this.start=this.max,this.end=this.min):(this.start=this.min,this.end=this.max),i}getLabelForValue(n){return void 0===n?"0":yd(n,this.chart.options.locale,this.options.ticks.format)}configure(){const n=this.min;super.configure(),this._startValue=Eo(n),this._valueRange=Eo(this.max)-Eo(n)}getPixelForValue(n){return(void 0===n||0===n)&&(n=this.min),null===n||isNaN(n)?NaN:this.getPixelForDecimal(n===this.min?0:(Eo(n)-this._startValue)/this._valueRange)}getValueForPixel(n){const e=this.getDecimalForPixel(n);return Math.pow(10,this._startValue+e*this._valueRange)}},RadialLinearScale:class Iie extends Rm{static id="radialLinear";static defaults={display:!0,animate:!0,position:"chartArea",angleLines:{display:!0,lineWidth:1,borderDash:[],borderDashOffset:0},grid:{circular:!1},startAngle:0,ticks:{showLabelBackdrop:!0,callback:hm.formatters.numeric},pointLabels:{backdropColor:void 0,backdropPadding:2,display:!0,font:{size:10},callback:n=>n,padding:5,centerPointLabels:!1}};static defaultRoutes={"angleLines.color":"borderColor","pointLabels.color":"color","ticks.color":"color"};static descriptors={angleLines:{_fallback:"grid"}};constructor(n){super(n),this.xCenter=void 0,this.yCenter=void 0,this.drawingArea=void 0,this._pointLabels=[],this._pointLabelItems=[]}setDimensions(){const n=this._padding=yn(BA(this.options)/2),e=this.width=this.maxWidth-n.width,i=this.height=this.maxHeight-n.height;this.xCenter=Math.floor(this.left+e/2+n.left),this.yCenter=Math.floor(this.top+i/2+n.top),this.drawingArea=Math.floor(Math.min(e,i)/2)}determineDataLimits(){const{min:n,max:e}=this.getMinMax(!1);this.min=Lt(n)&&!isNaN(n)?n:0,this.max=Lt(e)&&!isNaN(e)?e:0,this.handleTickRangeOptions()}computeTickLimit(){return Math.ceil(this.drawingArea/BA(this.options))}generateTickLabels(n){Rm.prototype.generateTickLabels.call(this,n),this._pointLabels=this.getLabels().map((e,i)=>{const r=ut(this.options.pointLabels.callback,[e,i],this);return r||0===r?r:""}).filter((e,i)=>this.chart.getDataVisibility(i))}fit(){const n=this.options;n.display&&n.pointLabels.display?function _ie(t){const n={l:t.left+t._padding.left,r:t.right-t._padding.right,t:t.top+t._padding.top,b:t.bottom-t._padding.bottom},e=Object.assign({},n),i=[],r=[],o=t._pointLabels.length,s=t.options.pointLabels,a=s.centerPointLabels?St/o:0;for(let c=0;c=0&&n=0;r--){const o=t._pointLabelItems[r];if(!o.visible)continue;const s=i.setContext(t.getPointLabelContext(r));Sie(e,s,o);const a=tn(s.font),{x:c,y:l,textAlign:d}=o;xs(e,t._pointLabels[r],c,l+a.lineHeight/2,a,{color:s.color,textAlign:d,textBaseline:"middle"})}}(this,s),r.display&&this.ticks.forEach((d,u)=>{if(0!==u){c=this.getDistanceFromCenterForValue(d.value);const h=this.getContext(u),f=r.setContext(h),p=o.setContext(h);!function Cie(t,n,e,i,r){const o=t.ctx,s=n.circular,{color:a,lineWidth:c}=n;!s&&!i||!a||!c||e<0||(o.save(),o.strokeStyle=a,o.lineWidth=c,o.setLineDash(r.dash),o.lineDashOffset=r.dashOffset,o.beginPath(),QN(t,e,s,i),o.closePath(),o.stroke(),o.restore())}(this,f,c,s,p)}}),i.display){for(n.save(),a=s-1;a>=0;a--){const d=i.setContext(this.getPointLabelContext(a)),{color:u,lineWidth:h}=d;!h||!u||(n.lineWidth=h,n.strokeStyle=u,n.setLineDash(d.borderDash),n.lineDashOffset=d.borderDashOffset,c=this.getDistanceFromCenterForValue(e.ticks.reverse?this.min:this.max),l=this.getPointPosition(a,c),n.beginPath(),n.moveTo(this.xCenter,this.yCenter),n.lineTo(l.x,l.y),n.stroke())}n.restore()}}drawBorder(){}drawLabels(){const n=this.ctx,e=this.options,i=e.ticks;if(!i.display)return;const r=this.getIndexAngle(0);let o,s;n.save(),n.translate(this.xCenter,this.yCenter),n.rotate(r),n.textAlign="center",n.textBaseline="middle",this.ticks.forEach((a,c)=>{if(0===c&&!e.reverse)return;const l=i.setContext(this.getContext(c)),d=tn(l.font);if(o=this.getDistanceFromCenterForValue(this.ticks[c].value),l.showLabelBackdrop){n.font=d.string,s=n.measureText(a.label).width,n.fillStyle=l.backdropColor;const u=yn(l.backdropPadding);n.fillRect(-s/2-u.left,-o-d.size/2-u.top,s+u.width,d.size+u.height)}xs(n,a.label,0,-o,d,{color:l.color,strokeColor:l.textStrokeColor,strokeWidth:l.textStrokeWidth})}),n.restore()}drawTitle(){}},TimeScale:VA,TimeSeriesScale:class Fie extends VA{static id="timeseries";static defaults=VA.defaults;constructor(n){super(n),this._table=[],this._minPos=void 0,this._tableRange=void 0}initOffsets(){const n=this._getTimestampsForTable(),e=this._table=this.buildLookupTable(n);this._minPos=Om(e,this.min),this._tableRange=Om(e,this.max)-this._minPos,super.initOffsets(n)}buildLookupTable(n){const{min:e,max:i}=this,r=[],o=[];let s,a,c,l,d;for(s=0,a=n.length;s=e&&l<=i&&r.push(l);if(r.length<2)return[{time:e,pos:0},{time:i,pos:1}];for(s=0,a=r.length;sr-o)}_getTimestampsForTable(){let n=this._cache.all||[];if(n.length)return n;const e=this.getDataTimestamps(),i=this.getLabelTimestamps();return n=e.length&&i.length?this.normalize(e.concat(i)):e.length?e:i,n=this._cache.all=n,n}getDecimalForValue(n){return(Om(this._table,n)-this._minPos)/this._tableRange}getValueForPixel(n){const e=this._offsets,i=this.getDecimalForPixel(n)/e.factor-e.end;return Om(this._table,i*this._tableRange+this._minPos,!0)}}});const Nie=[Pee,hne,sie,Oie],Nm=function Bie(t,n){return t===n||t!=t&&n!=n},Pm=function Vie(t,n){for(var e=t.length;e--;)if(Nm(t[e][0],n))return e;return-1};var jie=Array.prototype.splice;function cc(t){var n=-1,e=null==t?0:t.length;for(this.clear();++n-1},cc.prototype.set=function qie(t,n){var e=this.__data__,i=Pm(e,t);return i<0?(++this.size,e.push([t,n])):e[i][1]=n,this};const Lm=cc,nP="object"==typeof global&&global&&global.Object===Object&&global;var ore="object"==typeof self&&self&&self.Object===Object&&self;const lc=nP||ore||Function("return this")();var are=lc.Symbol,iP=Object.prototype,cre=iP.hasOwnProperty,lre=iP.toString,Od=are?are.toStringTag:void 0;var fre=Object.prototype.toString;var rP=are?are.toStringTag:void 0;const Vm=function bre(t){return null==t?void 0===t?"[object Undefined]":"[object Null]":rP&&rP in Object(t)?function dre(t){var n=cre.call(t,Od),e=t[Od];try{t[Od]=void 0;var i=!0}catch{}var r=lre.call(t);return i&&(n?t[Od]=e:delete t[Od]),r}(t):function mre(t){return fre.call(t)}(t)},Ts=function vre(t){var n=typeof t;return null!=t&&("object"==n||"function"==n)},HA=function wre(t){if(!Ts(t))return!1;var n=Vm(t);return"[object Function]"==n||"[object GeneratorFunction]"==n||"[object AsyncFunction]"==n||"[object Proxy]"==n};var t,Sre=lc["__core-js_shared__"],oP=(t=/[^.]+$/.exec(Sre&&Sre.keys&&Sre.keys.IE_PROTO||""))?"Symbol(src)_1."+t:"";var Ire=Function.prototype.toString;var Fre=/^\[object .+?Constructor\]$/,Bre=RegExp("^"+Function.prototype.toString.call(Object.prototype.hasOwnProperty).replace(/[\\^$.*+?()[\]{}|]/g,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");const Hre=function Vre(t){return!(!Ts(t)||function Dre(t){return!!oP&&oP in t}(t))&&(HA(t)?Bre:Fre).test(function Tre(t){if(null!=t){try{return Ire.call(t)}catch{}try{return t+""}catch{}}return""}(t))},UA=function zre(t,n){var e=function jre(t,n){return t?.[n]}(t,n);return Hre(e)?e:void 0},sP=UA(lc,"Map"),Nd=UA(Object,"create");var Kre=Object.prototype.hasOwnProperty;var noe=Object.prototype.hasOwnProperty;function dc(t){var n=-1,e=null==t?0:t.length;for(this.clear();++n-1&&t%1==0&&t<=9007199254740991},XA=function ose(t){return null!=t&&bP(t.length)&&!HA(t)};var vP="object"==typeof exports&&exports&&!exports.nodeType&&exports,yP=vP&&"object"==typeof module&&module&&!module.nodeType&&module,AP=yP&&yP.exports===vP?lc.Buffer:void 0;const xP=(AP?AP.isBuffer:void 0)||function cse(){return!1};var EP=Function.prototype.toString,gse=Object.prototype.hasOwnProperty,_se=EP.call(Object);var Mt={};Mt["[object Float32Array]"]=Mt["[object Float64Array]"]=Mt["[object Int8Array]"]=Mt["[object Int16Array]"]=Mt["[object Int32Array]"]=Mt["[object Uint8Array]"]=Mt["[object Uint8ClampedArray]"]=Mt["[object Uint16Array]"]=Mt["[object Uint32Array]"]=!0,Mt["[object Arguments]"]=Mt["[object Array]"]=Mt["[object ArrayBuffer]"]=Mt["[object Boolean]"]=Mt["[object DataView]"]=Mt["[object Date]"]=Mt["[object Error]"]=Mt["[object Function]"]=Mt["[object Map]"]=Mt["[object Number]"]=Mt["[object Object]"]=Mt["[object RegExp]"]=Mt["[object Set]"]=Mt["[object String]"]=Mt["[object WeakMap]"]=!1;var wP="object"==typeof exports&&exports&&!exports.nodeType&&exports,Ld=wP&&"object"==typeof module&&module&&!module.nodeType&&module,qA=Ld&&Ld.exports===wP&&nP.process,Yse=function(){try{return Ld&&Ld.require&&Ld.require("util").types||qA&&qA.binding&&qA.binding("util")}catch{}}(),DP=Yse&&Yse.isTypedArray;const CP=DP?function Wse(t){return function(n){return t(n)}}(DP):function Gse(t){return Pd(t)&&bP(t.length)&&!!Mt[Vm(t)]},YA=function Zse(t,n){if(("constructor"!==n||"function"!=typeof t[n])&&"__proto__"!=n)return t[n]};var Jse=Object.prototype.hasOwnProperty;const tae=function eae(t,n,e){var i=t[n];(!Jse.call(t,n)||!Nm(i,e)||void 0===e&&!(n in t))&&zA(t,n,e)};var aae=/^(?:0|[1-9]\d*)$/;const MP=function cae(t,n){var e=typeof t;return!!(n=n??9007199254740991)&&("number"==e||"symbol"!=e&&aae.test(t))&&t>-1&&t%1==0&&t0){if(++n>=800)return arguments[0]}else n=0;return t.apply(void 0,arguments)}}(Rae);const Vae=Bae,jae=function Hae(t,n){return Vae(function Mae(t,n,e){return n=RP(void 0===n?t.length-1:n,0),function(){for(var i=arguments,r=-1,o=RP(i.length-n,0),s=Array(o);++r1?e[r-1]:void 0,s=r>2?e[2]:void 0;for(o=t.length>3&&"function"==typeof o?(r--,o):void 0,s&&function Uae(t,n,e){if(!Ts(e))return!1;var i=typeof n;return!!("number"==i?XA(e)&&MP(n,e.length):"string"==i&&n in e)&&Nm(e[n],t)}(e[0],e[1],s)&&(o=r<3?void 0:o,r=1),n=Object(n);++i{class t{constructor(){this.colorschemesOptions=new ti(void 0)}setColorschemesOptions(e){this.pColorschemesOptions=e,this.colorschemesOptions.next(e)}getColorschemesOptions(){return this.pColorschemesOptions}static#e=this.\u0275fac=function(i){return new(i||t)};static#t=this.\u0275prov=q({token:t,factory:t.\u0275fac,providedIn:"root"})}return t})(),Xae=(()=>{class t{constructor(e,i,r){this.zone=i,this.themeService=r,this.type="bar",this.plugins=[],this.chartClick=new Te,this.chartHover=new Te,this.subs=[],this.themeOverrides={},this.ctx=e.nativeElement.getContext("2d"),this.subs.push(this.themeService.colorschemesOptions.pipe(Dv()).subscribe(o=>this.themeChanged(o)))}ngOnChanges(e){const i=["type"],r=Object.getOwnPropertyNames(e);if(r.some(o=>i.includes(o))||r.every(o=>e[o].isFirstChange()))this.render();else{const o=this.getChartConfiguration();this.chart&&(Object.assign(this.chart.config.data,o.data),this.chart.config.plugins&&Object.assign(this.chart.config.plugins,o.plugins),this.chart.config.options&&Object.assign(this.chart.config.options,o.options)),this.update()}}ngOnDestroy(){this.chart&&(this.chart.destroy(),this.chart=void 0),this.subs.forEach(e=>e.unsubscribe())}render(){return this.chart&&this.chart.destroy(),this.zone.runOutsideAngular(()=>this.chart=new kd(this.ctx,this.getChartConfiguration()))}update(e){this.chart&&this.zone.runOutsideAngular(()=>this.chart?.update(e))}hideDataset(e,i){this.chart&&(this.chart.getDatasetMeta(e).hidden=i,this.update())}isDatasetHidden(e){return this.chart?.getDatasetMeta(e)?.hidden}toBase64Image(){return this.chart?.toBase64Image()}themeChanged(e){this.themeOverrides=e,this.chart&&(this.chart.config.options&&Object.assign(this.chart.config.options,this.getChartOptions()),this.update())}getChartOptions(){return FP({onHover:(e,i)=>{!this.chartHover.observed&&!this.chartHover.observers?.length||this.zone.run(()=>this.chartHover.emit({event:e,active:i}))},onClick:(e,i)=>{!this.chartClick.observed&&!this.chartClick.observers?.length||this.zone.run(()=>this.chartClick.emit({event:e,active:i}))}},this.themeOverrides,this.options,{plugins:{legend:{display:this.legend}}})}getChartConfiguration(){return{type:this.type,data:this.getChartData(),options:this.getChartOptions(),plugins:this.plugins}}getChartData(){return this.data?this.data:{labels:this.labels||[],datasets:this.datasets||[]}}static#e=this.\u0275fac=function(i){return new(i||t)(C(Ne),C(de),C(Wae))};static#t=this.\u0275dir=J({type:t,selectors:[["canvas","baseChart",""]],inputs:{type:"type",legend:"legend",data:"data",options:"options",plugins:"plugins",labels:"labels",datasets:"datasets"},outputs:{chartClick:"chartClick",chartHover:"chartHover"},exportAs:["base-chart"],features:[Sn]})}return t})();const qae=[[255,99,132],[54,162,235],[255,206,86],[231,233,237],[75,192,192],[151,187,205],[220,220,220],[247,70,74],[70,191,189],[253,180,92],[148,159,177],[77,83,96]],Yae={plugins:{colors:{enabled:!1}},datasets:{line:{backgroundColor:t=>Co(Mo(t.datasetIndex),.4),borderColor:t=>Co(Mo(t.datasetIndex),1),pointBackgroundColor:t=>Co(Mo(t.datasetIndex),1),pointBorderColor:"#fff"},bar:{backgroundColor:t=>Co(Mo(t.datasetIndex),.6),borderColor:t=>Co(Mo(t.datasetIndex),1)},get radar(){return this.line},doughnut:{backgroundColor:t=>Co(Mo(t.dataIndex),.6),borderColor:"#fff"},get pie(){return this.doughnut},polarArea:{backgroundColor:t=>Co(Mo(t.dataIndex),.6),borderColor:t=>Co(Mo(t.dataIndex),1)},get bubble(){return this.doughnut},get scatter(){return this.doughnut},get area(){return this.polarArea}}};function Co(t,n){return"rgba("+t.concat(n).join(",")+")"}function QA(t,n){return Math.floor(Math.random()*(n-t+1))+t}function Mo(t=0){return qae[t]||function Qae(){return[QA(0,255),QA(0,255),QA(0,255)]}()}let OP=(()=>{class t{constructor(){this.generateColors=!0}static#e=this.\u0275fac=function(i){return new(i||t)};static#t=this.\u0275prov=q({token:t,factory:t.\u0275fac,providedIn:"root"})}return t})();kd.register(...Nie);let NP=(()=>{class t{constructor(e){e?.plugins&&kd.register(...e.plugins);const i=FP(e?.generateColors?Yae:{},e?.defaults||{});Ft.set(i)}static forRoot(e){return{ngModule:t,providers:[{provide:OP,useValue:e}]}}static#e=this.\u0275fac=function(i){return new(i||t)(R(OP,8))};static#t=this.\u0275mod=Oe({type:t});static#n=this.\u0275inj=Re({})}return t})();const Zae=["determinateSpinner"];function Kae(t,n){if(1&t&&(ia(),U(0,"svg",11),Ie(1,"circle",12),W()),2&t){const e=pt();Xe("viewBox",e._viewBox()),K(),ml("stroke-dasharray",e._strokeCircumference(),"px")("stroke-dashoffset",e._strokeCircumference()/2,"px")("stroke-width",e._circleStrokeWidth(),"%"),Xe("r",e._circleRadius())}}const Jae=new j("mat-progress-spinner-default-options",{providedIn:"root",factory:function ece(){return{diameter:PP}}}),PP=100;let nce=(()=>{class t{get color(){return this._color||this._defaultColor}set color(e){this._color=e}constructor(e,i,r){this._elementRef=e,this._defaultColor="primary",this._value=0,this._diameter=PP,this._noopAnimations="NoopAnimations"===i&&!!r&&!r._forceAnimations,this.mode="mat-spinner"===e.nativeElement.nodeName.toLowerCase()?"indeterminate":"determinate",r&&(r.color&&(this.color=this._defaultColor=r.color),r.diameter&&(this.diameter=r.diameter),r.strokeWidth&&(this.strokeWidth=r.strokeWidth))}get value(){return"determinate"===this.mode?this._value:0}set value(e){this._value=Math.max(0,Math.min(100,e||0))}get diameter(){return this._diameter}set diameter(e){this._diameter=e||0}get strokeWidth(){return this._strokeWidth??this.diameter/10}set strokeWidth(e){this._strokeWidth=e||0}_circleRadius(){return(this.diameter-10)/2}_viewBox(){const e=2*this._circleRadius()+this.strokeWidth;return`0 0 ${e} ${e}`}_strokeCircumference(){return 2*Math.PI*this._circleRadius()}_strokeDashOffset(){return"determinate"===this.mode?this._strokeCircumference()*(100-this._value)/100:null}_circleStrokeWidth(){return this.strokeWidth/this.diameter*100}static#e=this.\u0275fac=function(i){return new(i||t)(C(Ne),C(Wn,8),C(Jae))};static#t=this.\u0275cmp=mt({type:t,selectors:[["mat-progress-spinner"],["mat-spinner"]],viewQuery:function(i,r){if(1&i&&qt(Zae,5),2&i){let o;Ze(o=Ke())&&(r._determinateCircle=o.first)}},hostAttrs:["role","progressbar","tabindex","-1",1,"mat-mdc-progress-spinner","mdc-circular-progress"],hostVars:18,hostBindings:function(i,r){2&i&&(Xe("aria-valuemin",0)("aria-valuemax",100)("aria-valuenow","determinate"===r.mode?r.value:null)("mode",r.mode),so("mat-"+r.color),ml("width",r.diameter,"px")("height",r.diameter,"px")("--mdc-circular-progress-size",r.diameter+"px")("--mdc-circular-progress-active-indicator-width",r.diameter+"px"),st("_mat-animation-noopable",r._noopAnimations)("mdc-circular-progress--indeterminate","indeterminate"===r.mode))},inputs:{color:"color",mode:"mode",value:[X.HasDecoratorInputTransform,"value","value",ts],diameter:[X.HasDecoratorInputTransform,"diameter","diameter",ts],strokeWidth:[X.HasDecoratorInputTransform,"strokeWidth","strokeWidth",ts]},exportAs:["matProgressSpinner"],standalone:!0,features:[Er,Gt],decls:14,vars:11,consts:[["circle",""],["determinateSpinner",""],["aria-hidden","true",1,"mdc-circular-progress__determinate-container"],["xmlns","http://www.w3.org/2000/svg","focusable","false",1,"mdc-circular-progress__determinate-circle-graphic"],["cx","50%","cy","50%",1,"mdc-circular-progress__determinate-circle"],["aria-hidden","true",1,"mdc-circular-progress__indeterminate-container"],[1,"mdc-circular-progress__spinner-layer"],[1,"mdc-circular-progress__circle-clipper","mdc-circular-progress__circle-left"],[3,"ngTemplateOutlet"],[1,"mdc-circular-progress__gap-patch"],[1,"mdc-circular-progress__circle-clipper","mdc-circular-progress__circle-right"],["xmlns","http://www.w3.org/2000/svg","focusable","false",1,"mdc-circular-progress__indeterminate-circle-graphic"],["cx","50%","cy","50%"]],template:function(i,r){if(1&i&&(we(0,Kae,2,8,"ng-template",null,0,ob),U(2,"div",2,1),ia(),U(4,"svg",3),Ie(5,"circle",4),W()(),tg(),U(6,"div",5)(7,"div",6)(8,"div",7),gl(9,8),W(),U(10,"div",9),gl(11,8),W(),U(12,"div",10),gl(13,8),W()()()),2&i){const o=Jo(1);K(4),Xe("viewBox",r._viewBox()),K(),ml("stroke-dasharray",r._strokeCircumference(),"px")("stroke-dashoffset",r._strokeDashOffset(),"px")("stroke-width",r._circleStrokeWidth(),"%"),Xe("r",r._circleRadius()),K(4),se("ngTemplateOutlet",o),K(2),se("ngTemplateOutlet",o),K(2),se("ngTemplateOutlet",o)}},dependencies:[Vb],styles:["@keyframes mdc-circular-progress-container-rotate{to{transform:rotate(360deg)}}@keyframes mdc-circular-progress-spinner-layer-rotate{12.5%{transform:rotate(135deg)}25%{transform:rotate(270deg)}37.5%{transform:rotate(405deg)}50%{transform:rotate(540deg)}62.5%{transform:rotate(675deg)}75%{transform:rotate(810deg)}87.5%{transform:rotate(945deg)}100%{transform:rotate(1080deg)}}@keyframes mdc-circular-progress-color-1-fade-in-out{from{opacity:.99}25%{opacity:.99}26%{opacity:0}89%{opacity:0}90%{opacity:.99}to{opacity:.99}}@keyframes mdc-circular-progress-color-2-fade-in-out{from{opacity:0}15%{opacity:0}25%{opacity:.99}50%{opacity:.99}51%{opacity:0}to{opacity:0}}@keyframes mdc-circular-progress-color-3-fade-in-out{from{opacity:0}40%{opacity:0}50%{opacity:.99}75%{opacity:.99}76%{opacity:0}to{opacity:0}}@keyframes mdc-circular-progress-color-4-fade-in-out{from{opacity:0}65%{opacity:0}75%{opacity:.99}90%{opacity:.99}to{opacity:0}}@keyframes mdc-circular-progress-left-spin{from{transform:rotate(265deg)}50%{transform:rotate(130deg)}to{transform:rotate(265deg)}}@keyframes mdc-circular-progress-right-spin{from{transform:rotate(-265deg)}50%{transform:rotate(-130deg)}to{transform:rotate(-265deg)}}.mdc-circular-progress{display:inline-flex;position:relative;direction:ltr;line-height:0;transition:opacity 250ms 0ms cubic-bezier(0.4, 0, 0.6, 1)}.mdc-circular-progress__determinate-container,.mdc-circular-progress__indeterminate-circle-graphic,.mdc-circular-progress__indeterminate-container,.mdc-circular-progress__spinner-layer{position:absolute;width:100%;height:100%}.mdc-circular-progress__determinate-container{transform:rotate(-90deg)}.mdc-circular-progress__indeterminate-container{font-size:0;letter-spacing:0;white-space:nowrap;opacity:0}.mdc-circular-progress__determinate-circle-graphic,.mdc-circular-progress__indeterminate-circle-graphic{fill:rgba(0,0,0,0)}.mdc-circular-progress__determinate-circle{transition:stroke-dashoffset 500ms 0ms cubic-bezier(0, 0, 0.2, 1)}.mdc-circular-progress__gap-patch{position:absolute;top:0;left:47.5%;box-sizing:border-box;width:5%;height:100%;overflow:hidden}.mdc-circular-progress__gap-patch .mdc-circular-progress__indeterminate-circle-graphic{left:-900%;width:2000%;transform:rotate(180deg)}.mdc-circular-progress__circle-clipper{display:inline-flex;position:relative;width:50%;height:100%;overflow:hidden}.mdc-circular-progress__circle-clipper .mdc-circular-progress__indeterminate-circle-graphic{width:200%}.mdc-circular-progress__circle-right .mdc-circular-progress__indeterminate-circle-graphic{left:-100%}.mdc-circular-progress--indeterminate .mdc-circular-progress__determinate-container{opacity:0}.mdc-circular-progress--indeterminate .mdc-circular-progress__indeterminate-container{opacity:1}.mdc-circular-progress--indeterminate .mdc-circular-progress__indeterminate-container{animation:mdc-circular-progress-container-rotate 1568.2352941176ms linear infinite}.mdc-circular-progress--indeterminate .mdc-circular-progress__spinner-layer{animation:mdc-circular-progress-spinner-layer-rotate 5332ms cubic-bezier(0.4, 0, 0.2, 1) infinite both}.mdc-circular-progress--indeterminate .mdc-circular-progress__color-1{animation:mdc-circular-progress-spinner-layer-rotate 5332ms cubic-bezier(0.4, 0, 0.2, 1) infinite both,mdc-circular-progress-color-1-fade-in-out 5332ms cubic-bezier(0.4, 0, 0.2, 1) infinite both}.mdc-circular-progress--indeterminate .mdc-circular-progress__color-2{animation:mdc-circular-progress-spinner-layer-rotate 5332ms cubic-bezier(0.4, 0, 0.2, 1) infinite both,mdc-circular-progress-color-2-fade-in-out 5332ms cubic-bezier(0.4, 0, 0.2, 1) infinite both}.mdc-circular-progress--indeterminate .mdc-circular-progress__color-3{animation:mdc-circular-progress-spinner-layer-rotate 5332ms cubic-bezier(0.4, 0, 0.2, 1) infinite both,mdc-circular-progress-color-3-fade-in-out 5332ms cubic-bezier(0.4, 0, 0.2, 1) infinite both}.mdc-circular-progress--indeterminate .mdc-circular-progress__color-4{animation:mdc-circular-progress-spinner-layer-rotate 5332ms cubic-bezier(0.4, 0, 0.2, 1) infinite both,mdc-circular-progress-color-4-fade-in-out 5332ms cubic-bezier(0.4, 0, 0.2, 1) infinite both}.mdc-circular-progress--indeterminate .mdc-circular-progress__circle-left .mdc-circular-progress__indeterminate-circle-graphic{animation:mdc-circular-progress-left-spin 1333ms cubic-bezier(0.4, 0, 0.2, 1) infinite both}.mdc-circular-progress--indeterminate .mdc-circular-progress__circle-right .mdc-circular-progress__indeterminate-circle-graphic{animation:mdc-circular-progress-right-spin 1333ms cubic-bezier(0.4, 0, 0.2, 1) infinite both}.mdc-circular-progress--closed{opacity:0}.mat-mdc-progress-spinner .mdc-circular-progress__determinate-circle,.mat-mdc-progress-spinner .mdc-circular-progress__indeterminate-circle-graphic{stroke:var(--mdc-circular-progress-active-indicator-color)}@media screen and (forced-colors: active),(-ms-high-contrast: active){.mat-mdc-progress-spinner .mdc-circular-progress__determinate-circle,.mat-mdc-progress-spinner .mdc-circular-progress__indeterminate-circle-graphic{stroke:CanvasText}}.mat-mdc-progress-spinner circle{stroke-width:var(--mdc-circular-progress-active-indicator-width)}@media screen and (forced-colors: active),(-ms-high-contrast: active){.mat-mdc-progress-spinner .mdc-circular-progress--four-color .mdc-circular-progress__color-1 .mdc-circular-progress__indeterminate-circle-graphic{stroke:CanvasText}}@media screen and (forced-colors: active),(-ms-high-contrast: active){.mat-mdc-progress-spinner .mdc-circular-progress--four-color .mdc-circular-progress__color-2 .mdc-circular-progress__indeterminate-circle-graphic{stroke:CanvasText}}@media screen and (forced-colors: active),(-ms-high-contrast: active){.mat-mdc-progress-spinner .mdc-circular-progress--four-color .mdc-circular-progress__color-3 .mdc-circular-progress__indeterminate-circle-graphic{stroke:CanvasText}}@media screen and (forced-colors: active),(-ms-high-contrast: active){.mat-mdc-progress-spinner .mdc-circular-progress--four-color .mdc-circular-progress__color-4 .mdc-circular-progress__indeterminate-circle-graphic{stroke:CanvasText}}.mat-mdc-progress-spinner .mdc-circular-progress{width:var(--mdc-circular-progress-size) !important;height:var(--mdc-circular-progress-size) !important}.mat-mdc-progress-spinner{display:block;overflow:hidden;line-height:0}.mat-mdc-progress-spinner._mat-animation-noopable,.mat-mdc-progress-spinner._mat-animation-noopable .mdc-circular-progress__determinate-circle{transition:none}.mat-mdc-progress-spinner._mat-animation-noopable .mdc-circular-progress__indeterminate-circle-graphic,.mat-mdc-progress-spinner._mat-animation-noopable .mdc-circular-progress__spinner-layer,.mat-mdc-progress-spinner._mat-animation-noopable .mdc-circular-progress__indeterminate-container{animation:none}.mat-mdc-progress-spinner._mat-animation-noopable .mdc-circular-progress__indeterminate-container circle{stroke-dasharray:0 !important}.cdk-high-contrast-active .mat-mdc-progress-spinner .mdc-circular-progress__indeterminate-circle-graphic,.cdk-high-contrast-active .mat-mdc-progress-spinner .mdc-circular-progress__determinate-circle{stroke:currentColor;stroke:CanvasText}"],encapsulation:2,changeDetection:0})}return t})(),ice=(()=>{class t{static#e=this.\u0275fac=function(i){return new(i||t)};static#t=this.\u0275mod=Oe({type:t});static#n=this.\u0275inj=Re({imports:[is,_t]})}return t})();class ZA{constructor(n){this.overlayRef=n}close(){this.componentInstance&&this.componentInstance.animationStateChanged.pipe($e(n=>"start"===n.phaseName),Rt(1)).subscribe(()=>{this.overlayRef.detachBackdrop()}),this.componentInstance&&this.componentInstance.animationStateChanged.pipe($e(n=>"done"===n.phaseName&&"leave"===n.toState),Rt(1)).subscribe(()=>{this.overlayRef.dispose(),this.componentInstance=void 0}),this.componentInstance&&this.componentInstance.startExitAnimation()}}let rce=(()=>{class t{constructor(e,i){this.dialogRef=e,this.cd=i,this.animationState="enter",this.animationStateChanged=new Te}onAnimationDone(e){this.animationStateChanged.emit(e)}onAnimationStart(e){this.animationStateChanged.emit(e)}startExitAnimation(){this.animationState="leave",this.cd.markForCheck()}static#e=this.\u0275fac=function(i){return new(i||t)(C(ZA),C(yi))};static#t=this.\u0275cmp=mt({type:t,selectors:[["app-spinner"]],decls:2,vars:1,consts:[[1,"overlay-content"],["color","primary","strokeWidth","8","mode","indeterminate"]],template:function(i,r){1&i&&(U(0,"div",0),Ue("@fade.start",function(s){return r.onAnimationStart(s)})("@fade.done",function(s){return r.onAnimationDone(s)}),Ie(1,"mat-progress-spinner",1),W()),2&i&&se("@fade",r.animationState)},dependencies:[nce],styles:["[_nghost-%COMP%]{display:flex;flex-direction:column;align-items:center}h1[_ngcontent-%COMP%]{margin:0;padding:1em}"],data:{animation:[Wa("fade",[Fr("void",vn({opacity:0})),Fr("enter",vn({opacity:1})),Fr("leave",vn({opacity:0})),sr("* => enter",Rr("400ms cubic-bezier(0.25, 0.8, 0.25, 1)")),sr("* => leave",Rr("200ms cubic-bezier(0.25, 0.8, 0.25, 1)"))])]},changeDetection:0})}return t})(),LP=(()=>{class t{constructor(e){this.overlay=e,this.DEFAULT_CONFIG={hasBackdrop:!0,backdropClass:"dark-backdrop",panelClass:""}}open(e={}){const i={...this.DEFAULT_CONFIG,...e},r=this.createOverlay(i),o=new ZA(r),s=this.attachDialogContainer(r,o);return o.componentInstance=s,o}attachDialogContainer(e,i){const r=kt.create({providers:[{provide:ZA,useValue:i}]}),o=new Xa(rce,void 0,r);return e.attach(o).instance}createOverlay(e){const i=this.getOverlayConfig(e);return this.overlay.create(i)}getOverlayConfig(e){const i=this.overlay.position().global().centerHorizontally().centerVertically();return new Yl({hasBackdrop:e.hasBackdrop,backdropClass:e.backdropClass,panelClass:e.panelClass,scrollStrategy:this.overlay.scrollStrategies.block(),positionStrategy:i})}static#e=this.\u0275fac=function(i){return new(i||t)(R(Qn))};static#t=this.\u0275prov=q({token:t,factory:t.\u0275fac})}return t})(),BP=(()=>{class t{static#e=this.\u0275fac=function(i){return new(i||t)};static#t=this.\u0275mod=Oe({type:t});static#n=this.\u0275inj=Re({providers:[LP],imports:[is,ice]})}return t})(),KA=(()=>{class t{transform(e){switch(!0){case e>88:return"battery_full";case e>76:return"battery_6_bar";case e>64:return"battery_5_bar";case e>54:return"battery_4_bar";case e>42:return"battery_3_bar";case e>30:return"battery_2_bar";case e>18:return"battery_1_bar";default:return"battery_0_bar"}}static#e=this.\u0275fac=function(i){return new(i||t)};static#t=this.\u0275pipe=un({name:"batteryLevel",type:t,pure:!0})}return t})(),VP=(()=>{class t{transform(e){return Object.keys(e).filter(i=>isNaN(+i)).map(i=>({key:e[i],value:i}))}static#e=this.\u0275fac=function(i){return new(i||t)};static#t=this.\u0275pipe=un({name:"enumToArray",type:t,pure:!0})}return t})(),HP=(()=>{class t{transform(e,i=0){if(null==e||e===1/0||isNaN(e)||0===e)return"--";const r=Math.pow(10,i);return Math.round(e*r)/r}static#e=this.\u0275fac=function(i){return new(i||t)};static#t=this.\u0275pipe=un({name:"roundNumber",type:t,pure:!0})}return t})(),jP=(()=>{class t{constructor(){this.days=0,this.hours=0,this.mins=0,this.seconds=0}transform(e,i="full"){const r=Math.round(e);return this.days=Math.floor(r/86400),this.hours=Math.floor(r%86400/3600),this.mins=Math.floor(r%86400%3600/60),this.seconds=r,"simple"===i?this.formatSimple():"pace"===i?this.formatPace():this.formatFull()}formatFull(){switch(!0){case 0===this.seconds:return"0";case 1===this.seconds:return"1 second";case this.seconds<60:return`${this.seconds} seconds`;default:let e="";return this.days>0&&(e+=`${this.days} ${1===this.days?"day":"days"}${this.hours+this.mins>0?", ":""}`),this.hours>0&&(e+=`${this.hours} ${1===this.hours?"hour":"hours"}${this.mins>0?", ":""}`),this.mins>0&&(e+=`${this.mins} ${1===this.mins?"minute":"minutes"}`),e}}formatPace(){return this.seconds===1/0||isNaN(this.seconds)?"--":this.hours>0?`${this.hours}:${this.mins.toString().padStart(2,"0")}:${(this.seconds%60).toString().padStart(2,"0")}`:`${this.mins}:${(this.seconds%60).toString().padStart(2,"0")}`}formatSimple(){let e="";switch(!0){case 0===this.seconds:return"0";case this.seconds<60:return`${this.seconds}s`;default:return this.days>0&&(e+=`${this.days}d${this.hours+this.mins>0?" ":""}`),this.hours>0&&(e+=`${this.hours}h${this.mins>0?" ":""}`),this.mins>0&&(e+=`${this.mins}m`),e}}static#e=this.\u0275fac=function(i){return new(i||t)};static#t=this.\u0275pipe=un({name:"secondsToTime",type:t,pure:!0})}return t})();const oce=[BP,VR,TF,UR,EF,Pv,Xk,kF,oF,ud,SF,BR,MF,NP];let sce=(()=>{class t{static#e=this.\u0275fac=function(i){return new(i||t)};static#t=this.\u0275mod=Oe({type:t});static#n=this.\u0275inj=Re({providers:[{provide:Wk,useValue:{duration:5e3,verticalPosition:"top",horizontalPosition:"end"}}],imports:[oce,BP,VR,TF,UR,EF,Pv,Xk,kF,oF,ud,SF,BR,MF,NP]})}return t})();var ks=M(4487);let JA=(()=>{class t{constructor(e){this.snackBar=e,this.batteryLevelSubject=new ti(void 0),this.heartRateSensorSubject=new ti(void 0),this.onConnect$=Yn(navigator.usb,"connect").pipe($e(i=>(i.device.vendorId===ks.Zj.supportedDevices[0].vendor||i.device.vendorId===ks.Zj.supportedDevices[1].vendor)&&i.device.productId===ks.Zj.supportedDevices[0].product||i.device.productId===ks.Zj.supportedDevices[1].product),Pt(()=>In(this.reconnect()))),this.stick=void 0}disconnectDevice(){var e=this;return I(function*(){void 0!==e.heartRateSensorSubject.value&&(yield e.stick?.close()),e.onConnect?.unsubscribe(),e.batteryLevelSubject.next(void 0),e.heartRateSensorSubject.next(void 0),e.stick=void 0,e.onConnect=void 0})()}discover(){var e=this;return I(function*(){let i;try{i=yield ks.Zj.createFromNewDevice()}catch(r){r&&e.snackBar.open("No USB device was selected","Dismiss")}void 0!==i&&(yield e.disconnectDevice(),yield e.connect(i))})()}reconnect(){var e=this;return I(function*(){yield e.disconnectDevice();const i=yield ks.Zj.createFromPairedDevice();void 0===e.onConnect&&(e.onConnect=e.onConnect$.subscribe()),void 0!==i&&(yield e.connect(i))})()}streamHRMonitorBatteryLevel$(){return this.batteryLevelSubject.asObservable()}streamHeartRate$(){return this.heartRateSensorSubject.pipe(Pt(e=>void 0!==e?Yn(e,"hbData").pipe(ye(i=>{const r=i.BatteryLevel??this.parseBatteryStatus(i.BatteryStatus)??0;return this.batteryLevelSubject.next(r),{contactDetected:!0,heartRate:i.ComputedHeartRate??0,batteryLevel:r}})):bn(void 0)),dn(void 0))}connect(e){var i=this;return I(function*(){void 0===i.onConnect&&(i.onConnect=i.onConnect$.subscribe()),i.stick=e;const r=new ks.ds(i.stick);Yn(i.stick,"startup").pipe(Rt(1),Pt(()=>(i.snackBar.open("ANT+ Stick is ready","Dismiss"),In(r.attachSensor(0,0)))),Pt(()=>wi(Yn(r,"detached").pipe(Pt(()=>(i.batteryLevelSubject.next(void 0),i.heartRateSensorSubject.next(void 0),i.snackBar.open("Heart Rate Monitor connection lost","Dismiss"),In(r.attachSensor(0,0))))),Yn(r,"attached").pipe(or(()=>{i.heartRateSensorSubject.next(r)}))))).pipe(Ik(()=>void 0!==i.onConnect)).subscribe();try{yield i.stick.open()}catch(o){o instanceof Error&&(console.error(o),i.heartRateSensorSubject.next(void 0),i.snackBar.open("An error occurred while communicating with ANT+ Stick","Dismiss"))}})()}parseBatteryStatus(e){switch(e){case"New":return 100;case"Good":return 80;case"Ok":return 60;case"Low":return 40;case"Critical":return 20;default:return 0}}static#e=this.\u0275fac=function(i){return new(i||t)(R(Or))};static#t=this.\u0275prov=q({token:t,factory:t.\u0275fac,providedIn:"root"})}return t})();var ace=M(6777),cce=M.n(ace);let UP=(()=>{class t{constructor(e,i,r,o){this.snack=e,this.spinner=i,this.mediaMatcher=r,this.breakpointObserver=o,this.isHandset$=this.breakpointObserver.observe(["(max-width: 599.98px) and (orientation: portrait), (max-width: 959.98px) and (orientation: landscape)","(min-width: 600px) and (max-width: 839.98px) and (orientation: portrait)"]).pipe(ye(s=>s.matches)),this.wakeLock=new(cce())}breakpointHelper(e){return e=e.map(i=>[i[0],i[1]||"min",i[2]||"width"]),this.breakpointObserver.observe(e.map(i=>`(${i[1]}-${i[2]}: ${i[0]}px)`)).pipe(ye(i=>Object.values(i.breakpoints).reduce((r,o,s)=>(r[`${e[s][1]||"min"}${e[s][2]?.[0].toFirstUpperCase()||"W"}${e[s][0]}`]=o,r),{})))}disableWackeLock(){this.wakeLock.disable()}enableWakeLock(){var e=this;Yn(document,"visibilitychange").pipe(dn(document.visibilityState),$e(()=>"visible"===document.visibilityState&&!this.wakeLock.isEnabled),or(I(function*(){try{if("wakeLock"in navigator)return void(yield e.wakeLock.enable());Yn(document,"click").pipe(Rt(1)).subscribe(()=>{console.log("enables"),e.wakeLock.enable()})}catch(i){i instanceof Error&&setTimeout(()=>{e.snack.open(`Failed to request wake lock: ${i.message}`,"Dismiss")},5e3)}})),Rt(1)).subscribe()}mainSpinner(){return{open:()=>{this.mainSpinnerRef||(this.mainSpinnerRef=this.spinner.open())},close:()=>{this.mainSpinnerRef&&(this.mainSpinnerRef.close(),this.mainSpinnerRef=void 0)}}}mediaQuery(e,i){return this.mediaMatcher.matchMedia(`(${e}-width: ${i}px)`).matches}static#e=this.\u0275fac=function(i){return new(i||t)(R(Or),R(LP),R(HT),R(Iv))};static#t=this.\u0275prov=q({token:t,factory:t.\u0275fac,providedIn:"root"})}return t})(),lce=(()=>{class t{constructor(e,i){this.snackBar=e,this.utils=i}intercept(e,i){return i.handle(e).pipe(hd(r=>{if(this.utils.mainSpinner().close(),422===r.status||401===r.status)return nd(()=>r.error);if(400!==r.status&&404!==r.status&&500!==r.status||!r.error)this.snackBar.open(`ERROR: ${r.statusText}`,"Dismiss");else{if(r.error instanceof ArrayBuffer){const s=new TextDecoder("utf-8").decode(new Uint8Array(r.error));r={...r,error:JSON.parse(s)}}this.snackBar.open(`ERROR: ${r.error.message}`,"Dismiss")}return nd(()=>r)}))}static#e=this.\u0275fac=function(i){return new(i||t)(R(Or),R(UP))};static#t=this.\u0275prov=q({token:t,factory:t.\u0275fac})}return t})();function zP(t=0,n=jl){return t<0&&(t=0),ar(t,t,n)}const GP="heart_rate",$P="battery_level",Um="battery_service",WP="cycling_power",XP="cycling_power_measurement",qP="cycling_power_control_point",e0="cycling_speed_and_cadence",zm="csc_measurement",YP="sc_control_point";var Io=function(t){return t[t.CpsService=0]="CpsService",t[t.CscService=1]="CscService",t}(Io||{});class fce{constructor(){this.ergoMonitorBleId="",this.heartRateBleId="",this.heartRateMonitor="off",this.useBluetooth="true",this.webSocketAddress=`ws://${window.location.host}/ws`}}var Rs=function(t){return t[t.SetLogLevel=17]="SetLogLevel",t[t.ChangeBleService=18]="ChangeBleService",t[t.SetWebSocketDeltaTimeLogging=19]="SetWebSocketDeltaTimeLogging",t[t.SetSdCardLogging=20]="SetSdCardLogging",t}(Rs||{}),Gm=function(t){return t[t.Successful=1]="Successful",t[t.UnsupportedOpCode=2]="UnsupportedOpCode",t[t.InvalidParameter=3]="InvalidParameter",t[t.OperationFailed=4]="OperationFailed",t}(Gm||{}),$m=function(t){return t[t.Silent=0]="Silent",t[t.Fatal=1]="Fatal",t[t.Error=2]="Error",t[t.Warning=3]="Warning",t[t.Info=4]="Info",t[t.Notice=4]="Notice",t[t.Trace=5]="Trace",t[t.Verbose=6]="Verbose",t}($m||{});let mce=(()=>{class t{constructor(){this.ngUnsubscribe=new ue}ngOnDestroy(){this.ngUnsubscribe.next(),this.ngUnsubscribe.complete()}static#e=this.\u0275fac=function(i){return new(i||t)};static#t=this.\u0275dir=J({type:t})}return t})();function QP(t){const n={};return Object.keys(t).forEach(e=>{const i=t[e];n[e]=i instanceof Za||i instanceof Hy||i instanceof Iy?QP(i.controls):i.errors}),n}function Fs(t,n){return new Promise(e=>window.setTimeout(e,t,n))}String.prototype.toFirstUpperCase=function(){return this[0].toUpperCase()+this.slice(1)},String.prototype.toFirstLowerCase=function(){return this[0].toLowerCase()+this.slice(1)},String.prototype.camelize=function(){return this.replace(/(?:^\w|[A-Z]|\b\w)/g,(n,e)=>0===e?n.toLowerCase():n.toUpperCase()).replace(/\s+/g,"")},String.prototype.pascalize=function(){return this.replace(/(?:^\w|[A-Z]|\b\w)/g,n=>n.toUpperCase()).replace(/\s+/g,"")};let Os=(()=>{class t{constructor(){this.address="",this.heartRateMonitor="off",this.useBluetooth="",this.config=new fce,Object.keys(this.config).forEach(e=>{this.config[e]=localStorage.getItem(e)??this.config[e]}),isSecureContext||(this.config.heartRateMonitor="off",this.config.heartRateBleId="",this.config.ergoMonitorBleId="",localStorage.setItem("heartRateMonitor","off"),localStorage.setItem("heartRateBleId",""),localStorage.setItem("monitorBleId","")),this.configSubject=new ti(this.config),this.config$=this.configSubject.asObservable(),this.heartRateMonitorChanged$=this.config$.pipe($e(e=>e.heartRateMonitor!==this.heartRateMonitor&&(this.heartRateMonitor=e.heartRateMonitor,!0)),ye(e=>e.heartRateMonitor),Pr(1)),this.useBluetoothChanged$=this.config$.pipe($e(e=>e.useBluetooth!==this.useBluetooth&&(this.useBluetooth=e.useBluetooth,!0)),ye(e=>"true"===e.useBluetooth),Pr(1)),this.websocketAddressChanged$=this.config$.pipe($e(e=>e.webSocketAddress!==this.address&&(this.address=e.webSocketAddress,!0)),ye(e=>e.webSocketAddress),Pr(1))}getConfig(){return{...this.config}}getItem(e){return this.config[e]}setItem(e,i){this.config[e]=i,localStorage.setItem(e,i),this.configSubject.next(this.config)}static#e=this.\u0275fac=function(i){return new(i||t)};static#t=this.\u0275prov=q({token:t,factory:t.\u0275fac,providedIn:"root"})}return t})();function ZP(...t){const n=ev(t);return Ot((e,i)=>{const r=t.length,o=new Array(r);let s=t.map(()=>!1),a=!1;for(let c=0;c{o[c]=l,!a&&!s[c]&&(s[c]=!0,(a=s.every(Qr))&&(s=null))},Fo));e.subscribe(ft(i,c=>{if(a){const l=[c,...o];i.next(n?n(...l):l)}}))})}function Ns(t=1/0){let n;n=t&&"object"==typeof t?t:{count:t};const{count:e=1/0,delay:i,resetOnSuccess:r=!1}=n;return e<=0?Qr:Ot((o,s)=>{let c,a=0;const l=()=>{let d=!1;c=o.subscribe(ft(s,u=>{r&&(a=0),s.next(u)},void 0,u=>{if(a++{c?(c.unsubscribe(),c=null,l()):d=!0};if(null!=i){const f="number"==typeof i?ar(i):Zt(i(u,a)),p=ft(s,()=>{p.unsubscribe(),h()},()=>{s.complete()});f.subscribe(p)}else h()}else s.error(u)})),d&&(c.unsubscribe(),c=null,l())};l()})}const pce={url:"",deserializer:t=>JSON.parse(t.data),serializer:t=>JSON.stringify(t)};class t0 extends cp{constructor(n,e){if(super(),this._socket=null,n instanceof ht)this.destination=e,this.source=n;else{const i=this._config=Object.assign({},pce);if(this._output=new ue,"string"==typeof n)i.url=n;else for(const r in n)n.hasOwnProperty(r)&&(i[r]=n[r]);if(!i.WebSocketCtor&&WebSocket)i.WebSocketCtor=WebSocket;else if(!i.WebSocketCtor)throw new Error("no WebSocket constructor can be found");this.destination=new em}}lift(n){const e=new t0(this._config,this.destination);return e.operator=n,e.source=this,e}_resetState(){this._socket=null,this.source||(this.destination=new em),this._output=new ue}multiplex(n,e,i){const r=this;return new ht(o=>{try{r.next(n())}catch(a){o.error(a)}const s=r.subscribe({next:a=>{try{i(a)&&o.next(a)}catch(c){o.error(c)}},error:a=>o.error(a),complete:()=>o.complete()});return()=>{try{r.next(e())}catch(a){o.error(a)}s.unsubscribe()}})}_connectSocket(){const{WebSocketCtor:n,protocol:e,url:i,binaryType:r}=this._config,o=this._output;let s=null;try{s=e?new n(i,e):new n(i),this._socket=s,r&&(this._socket.binaryType=r)}catch(c){return void o.error(c)}const a=new Et(()=>{this._socket=null,s&&1===s.readyState&&s.close()});s.onopen=c=>{const{_socket:l}=this;if(!l)return s.close(),void this._resetState();const{openObserver:d}=this._config;d&&d.next(c);const u=this.destination;this.destination=Zd.create(h=>{if(1===s.readyState)try{const{serializer:f}=this._config;s.send(f(h))}catch(f){this.destination.error(f)}},h=>{const{closingObserver:f}=this._config;f&&f.next(void 0),h&&h.code?s.close(h.code,h.reason):o.error(new TypeError("WebSocketSubject.error must be called with an object with an error code, and an optional reason: { code: number, reason: string }")),this._resetState()},()=>{const{closingObserver:h}=this._config;h&&h.next(void 0),s.close(),this._resetState()}),u&&u instanceof em&&a.add(u.subscribe(this.destination))},s.onerror=c=>{this._resetState(),o.error(c)},s.onclose=c=>{s===this._socket&&this._resetState();const{closeObserver:l}=this._config;l&&l.next(c),c.wasClean?o.complete():o.error(c)},s.onmessage=c=>{try{const{deserializer:l}=this._config;o.next(l(c))}catch(l){o.error(l)}}}_subscribe(n){const{source:e}=this;return e?e.subscribe(n):(this._socket||this._connectSocket(),this._output.subscribe(n),n.add(()=>{const{_socket:i}=this;0===this._output.observers.length&&(i&&(1===i.readyState||0===i.readyState)&&i.close(),this._resetState())}),n)}unsubscribe(){const{_socket:n}=this;n&&(1===n.readyState||0===n.readyState)&&n.close(),this._resetState(),super.unsubscribe()}}let KP=(()=>{class t{constructor(e){this.configManager=e,this.closeSubject=new ue,this.openSubject=new ue,this.data$=this.configManager.websocketAddressChanged$.pipe(Pt(i=>{this.webSocketSubject?.complete();const r=function _ce(t){return new t0(t)}({url:i,openObserver:this.openSubject,closeObserver:this.closeSubject,binaryType:"arraybuffer",deserializer:o=>({...JSON.parse((new TextDecoder).decode(o.data)),timeStamp:new Date})});return this.webSocketSubject=r,r.pipe(Ns({delay:5e3}))}),Pr({refCount:!0})),this.isConnected$=wi(this.closeSubject,this.openSubject).pipe(ye(i=>!(i instanceof CloseEvent)),dn(!1))}changeBleServiceType(e){!1===this.webSocketSubject?.closed&&this.webSocketSubject?.next([Rs.ChangeBleService,e])}changeLogLevel(e){!1===this.webSocketSubject?.closed&&this.webSocketSubject?.next([Rs.SetLogLevel,e])}changeLogToSdCard(e){!1===this.webSocketSubject?.closed&&this.webSocketSubject?.next([Rs.SetSdCardLogging,e?1:0])}changeLogToWebSocket(e){!1===this.webSocketSubject?.closed&&this.webSocketSubject?.next([Rs.SetWebSocketDeltaTimeLogging,e?1:0])}connectionStatus(){return this.isConnected$}data(){return this.data$}static#e=this.\u0275fac=function(i){return new(i||t)(R(Os))};static#t=this.\u0275prov=q({token:t,factory:t.\u0275fac,providedIn:"root"})}return t})(),JP=(()=>{class t{constructor(e,i,r){var o=this;this.configManager=e,this.snackBar=i,this.ble=r,this.batteryCharacteristic=new ti(void 0),this.cancellationToken=new AbortController,this.extendedCharacteristic=new ti(void 0),this.handleForceCharacteristic=new ti(void 0),this.isConnectedSubject=new ti(!1),this.lastBroadcast=0,this.lastDistance=0,this.measurementCharacteristic=new ti(void 0),this.disconnectHandler=function(){var s=I(function*(a){const c=a.target;c.onadvertisementreceived=o.reconnectHandler,c.watchingAdvertisements||(o.cancellationToken=new AbortController,yield c.watchAdvertisements({signal:o.cancellationToken.signal})),o.snackBar.open("Ergometer Monitor disconnected","Dismiss"),o.isConnectedSubject.next(!1)});return function(a){return s.apply(this,arguments)}}(),this.reconnectHandler=s=>{this.cancellationToken.abort(),this.connect(s.device)},this.data$=wi(Mv([this.streamMeasurement$(),this.streamExtended$().pipe(ye(s=>({data:s.data}))),this.streamHandleForces$()]),Mv([this.streamExtended$().pipe(ye(s=>({settings:{...s.settings}}))),this.streamMonitorBatteryLevel$()])).pipe(ye(s=>{if(3===s.length){const[l,d,u]=s;return{timeStamp:new Date,data:[...l,...d.data,u,[]]}}const[{settings:a},c]=s;return{timeStamp:new Date,logToWebSocket:a.logToWebSocket,logToSdCard:a.logToSdCard,bleServiceFlag:this.measurementCharacteristic.value?.uuid!==BluetoothUUID.getCharacteristic(zm)?Io.CpsService:Io.CscService,logLevel:a.logLevel,batteryLevel:c}}),$e(s=>"data"in s&&(s.data[1]!==this.lastDistance||Date.now()-this.lastBroadcast>4e3)?(this.lastDistance=s.data[1],this.lastBroadcast=Date.now(),!0):"bleServiceFlag"in s),or({unsubscribe:()=>this.disconnectDevice()}),Pr({refCount:!0}))}changeBleServiceType(e){var i=this;return I(function*(){if(void 0===i.bluetoothDevice?.gatt||void 0===i.measurementCharacteristic.value?.service)return void i.snackBar.open("Ergometer Monitor is not connected","Dismiss");const r=yield i.ble.getCharacteristic(i.measurementCharacteristic.value?.service,i.measurementCharacteristic.value?.uuid!==BluetoothUUID.getCharacteristic(zm)?qP:YP);null!==r?(i.ble.observeValue$(r).pipe(Rt(1)).subscribe(o=>{o.getUint8(2)===Gm.Successful&&i.disconnectDevice(),i.snackBar.open(o.getUint8(2)===Gm.Successful?"BLE service changed, device is restarting":"An error occurred while changing BLE service","Dismiss")}),yield r.writeValue(new Uint8Array([Rs.ChangeBleService,e]))):i.snackBar.open("Ergometer Monitor is not connected","Dismiss")})()}changeLogLevel(e){var i=this;return I(function*(){if(void 0===i.bluetoothDevice?.gatt||void 0===i.measurementCharacteristic.value?.service)return void i.snackBar.open("Ergometer Monitor is not connected","Dismiss");const r=yield i.ble.getCharacteristic(i.measurementCharacteristic.value?.service,i.measurementCharacteristic.value?.uuid!==BluetoothUUID.getCharacteristic(zm)?qP:YP);null!==r?(i.ble.observeValue$(r).pipe(Rt(1)).subscribe(o=>{i.snackBar.open(o.getUint8(2)===Gm.Successful?"Log level changed":"An error occurred while changing Log level","Dismiss")}),yield r.writeValue(new Uint8Array([Rs.SetLogLevel,e]))):i.snackBar.open("Ergometer Monitor is not connected","Dismiss")})()}connectionStatus(){return this.isConnectedSubject.asObservable()}data(){return this.reconnect(),this.data$}disconnectDevice(){void 0!==this.bluetoothDevice&&(this.bluetoothDevice.ongattserverdisconnected=()=>{},this.bluetoothDevice.gatt?.disconnect(),this.bluetoothDevice=void 0),this.cancellationToken.abort(),this.batteryCharacteristic.next(void 0),this.extendedCharacteristic.next(void 0),this.handleForceCharacteristic.next(void 0),this.measurementCharacteristic.next(void 0),this.isConnectedSubject.next(!1)}discover(){var e=this;return I(function*(){e.disconnectDevice();const i=yield e.ble.discover({acceptAllDevices:!1,filters:[{services:[WP]},{services:[e0]}],optionalServices:[Um]});void 0!==i?.gatt?yield e.connect(i):yield e.reconnect()})()}reconnect(){var e=this;return I(function*(){e.disconnectDevice();const i=(yield navigator.bluetooth.getDevices()).filter(r=>r.id===e.configManager.getItem("ergoMonitorBleId"))?.[0];void 0!==i&&(i.onadvertisementreceived=e.reconnectHandler,e.cancellationToken=new AbortController,yield i.watchAdvertisements({signal:e.cancellationToken.signal}))})()}streamExtended$(){return this.extendedCharacteristic.pipe($e(e=>void 0!==e),Pt(e=>this.observeExtended(e)),Ns({count:4,delay:(e,i)=>(this.batteryCharacteristic.value?.service.device.gatt&&e.includes("unknown")&&(console.warn(`Extended metrics characteristic error: ${e}; retrying: ${i}`),this.connectToBattery(this.batteryCharacteristic.value.service.device.gatt)),ar(2e3))}),dn({settings:{logToWebSocket:void 0,logToSdCard:void 0,logLevel:$m.Silent},data:[0,0,0,0]}))}streamHandleForces$(){return this.handleForceCharacteristic.pipe($e(e=>void 0!==e),Pt(e=>this.observeHandleForces(e)),Ns({count:4,delay:(e,i)=>(this.batteryCharacteristic.value?.service.device.gatt&&e.includes("unknown")&&(console.warn(`Handle characteristic error: ${e}; retrying: ${i}`),this.connectToBattery(this.batteryCharacteristic.value.service.device.gatt)),ar(2e3))}),dn([]))}streamMeasurement$(){return this.measurementCharacteristic.pipe($e(e=>void 0!==e),Pt(e=>this.observeCyclingPower(e)),Ns({count:4,delay:(e,i)=>(this.batteryCharacteristic.value?.service.device.gatt&&e.includes("unknown")&&(console.warn(`Measurement characteristic error: ${e}; retrying: ${i}`),this.connectToBattery(this.batteryCharacteristic.value.service.device.gatt)),ar(2e3))}),dn([0,0,0,0]))}streamMonitorBatteryLevel$(){return this.batteryCharacteristic.pipe($e(e=>void 0!==e),Pt(e=>this.observeBattery(e)),Ns({count:4,delay:(e,i)=>(this.batteryCharacteristic.value?.service.device.gatt&&e.includes("unknown")&&(console.warn(`Battery characteristic error: ${e}; retrying: ${i}`),this.connectToBattery(this.batteryCharacteristic.value.service.device.gatt)),ar(2e3))}),hd(e=>(console.error(e),this.snackBar.open("Error while connecting to battery service","Dismiss"),bn(0))),dn(0))}connect(e){var i=this;return I(function*(){try{i.bluetoothDevice=e;const r=yield i.ble.connectDevice(e);if(void 0===i.bluetoothDevice)return;yield Fs(1e3,i.connectToMeasurement(r)),yield Fs(1e3,i.connectToExtended(r)),yield Fs(1e3,i.connectToHandleForces(r)),yield Fs(1e3,i.connectToBattery(r)),i.isConnectedSubject.next(!0===i.bluetoothDevice.gatt?.connected),i.configManager.setItem("ergoMonitorBleId",e.id),e.ongattserverdisconnected=i.disconnectHandler}catch(r){i.snackBar.open(`${r}`,"Dismiss"),i.isConnectedSubject.next(!1)}})()}connectToBattery(e){var i=this;return I(function*(){try{const r=yield i.ble.getPrimaryService(e,Um),o=yield i.ble.getCharacteristic(r,$P);return i.batteryCharacteristic.next(o??void 0),o??void 0}catch(r){i.bluetoothDevice&&(i.snackBar.open("Ergo battery service is unavailable","Dismiss"),console.warn(r))}})()}connectToExtended(e){var i=this;return I(function*(){try{const r=yield i.getService(e),o=yield i.ble.getCharacteristic(r,"808a0d51-efae-4f0c-b2e0-48bc180d65c3");return i.extendedCharacteristic.next(o??void 0),o??void 0}catch(r){i.bluetoothDevice&&(i.snackBar.open("Error connecting to Extended Metrics","Dismiss"),console.error(r))}})()}connectToHandleForces(e){var i=this;return I(function*(){try{const r=yield i.getService(e),o=yield i.ble.getCharacteristic(r,"3d9c2760-cf91-41ee-87e9-fd99d5f129a4");return i.handleForceCharacteristic.next(o??void 0),o??void 0}catch(r){i.bluetoothDevice&&(i.snackBar.open("Error connecting to Handles Forces","Dismiss"),console.error(r))}})()}connectToMeasurement(e){var i=this;return I(function*(){try{const r=yield i.getService(e),o=yield i.ble.getCharacteristic(r,r.uuid===BluetoothUUID.getService(e0)?zm:XP);return i.measurementCharacteristic.next(o??void 0),o??void 0}catch(r){i.bluetoothDevice&&(i.snackBar.open("Error connecting to Measurement Characteristic","Dismiss"),console.error(r))}})()}getService(e){var i=this;return I(function*(){let r;const o=[];try{r=yield i.ble.getPrimaryService(e,WP)}catch(s){o?.push(s)}try{r=yield i.ble.getPrimaryService(e,e0)}catch(s){o?.push(s)}if(void 0===r)throw o;return r})()}observeBattery(e){return as(this.ble.readValue$(e),this.ble.observeValue$(e)).pipe(ye(i=>i.getInt8(0)),_s(()=>{this.batteryCharacteristic.next(void 0)}))}observeCyclingPower(e){let i=0,r=0,o=0,s=0;return this.ble.observeValue$(e).pipe(ye(a=>{if(e.uuid===BluetoothUUID.getCharacteristic(XP)){const d=a.getUint16(8,!0)>=i?a.getUint16(8,!0)-i:65535-i+a.getUint16(8,!0);r+=Math.round(d/2048*1e6);const u=a.getUint16(12,!0)>=o?a.getUint16(12,!0)-o:65535-o+a.getUint16(12,!0);return s+=Math.round(u/1024*1e6),i=a.getUint16(8,!0),o=a.getUint16(12,!0),[r,a.getUint32(4,!0),s,a.getUint16(10,!0)]}const c=a.getUint16(5,!0)>=i?a.getUint16(5,!0)-i:65535-i+a.getUint16(5,!0);r+=Math.round(c/1024*1e6);const l=a.getUint16(9,!0)>=o?a.getUint16(9,!0)-o:65535-o+a.getUint16(9,!0);return s+=Math.round(l/1024*1e6),i=a.getUint16(5,!0),o=a.getUint16(9,!0),[r,a.getUint32(1,!0),s,a.getUint16(7,!0)]}),_s(()=>{this.measurementCharacteristic.next(void 0)}))}observeExtended(e){return this.ble.observeValue$(e).pipe(ye(i=>{const r=3&i.getUint8(0);return{settings:{logToWebSocket:0===r?void 0:1!==r,logToSdCard:i.getUint8(0)>>2&3?1!==r:void 0,logLevel:i.getUint8(0)>>4&7},data:[i.getUint16(1,!0),i.getUint32(3,!0),i.getUint32(7,!0),i.getUint8(11)]}}),_s(()=>{this.extendedCharacteristic.next(void 0)}))}observeHandleForces(e){const i=new ue;return this.ble.observeValue$(e).pipe(or(r=>{r.getUint8(0)===r.getUint8(1)&&i.next()}),function bce(t){return Ot((n,e)=>{let i=null,r=null;const o=()=>{r?.unsubscribe();const s=i;i=[],s&&e.next(s),Zt(t()).subscribe(r=ft(e,o,Fo))};o(),n.subscribe(ft(e,s=>i?.push(s),()=>{i&&e.next(i),e.complete()},void 0,()=>i=r=null))})}(()=>i),ye(r=>r.reduce((o,s)=>{for(let a=2;a{this.handleForceCharacteristic.next(void 0)}))}static#e=this.\u0275fac=function(i){return new(i||t)(R(Os),R(Or),R(Ay))};static#t=this.\u0275prov=q({token:t,factory:t.\u0275fac,providedIn:"root"})}return t})(),eL=(()=>{class t{constructor(){this.deltaTimes=[],this.rowingData=[],this.rowingSessionData=[]}add(e){this.rowingSessionData.push(e)}addDeltaTimes(e){this.deltaTimes.push(...e)}addRaw(e){this.rowingData.push(e)}download(){const e=new Blob([JSON.stringify(this.rowingSessionData)],{type:"application/json"});this.createDownload(e,"session")}downloadDeltaTimes(){const e=new Blob([JSON.stringify(this.deltaTimes)],{type:"application/json"});this.createDownload(e,"deltaTimes")}downloadRaw(){const e=new Blob([JSON.stringify(this.rowingData)],{type:"application/json"});this.createDownload(e,"raw")}reset(){this.rowingSessionData=[]}createDownload(e,i){const r=window.URL.createObjectURL(e),o=document.createElement("a");o.href=r;const s=new Date(Date.now());o.download=`${s.getFullYear()}-${(s.getMonth()+1).toString().padStart(2,"0")}-${s.getDate().toString().padStart(2,"0")} ${s.getHours().toString().padStart(2,"0")}-${s.getMinutes().toString().padStart(2,"0")}-${s.getSeconds().toString().padStart(2,"0")} - ${i}`,o.click()}static#e=this.\u0275fac=function(i){return new(i||t)};static#t=this.\u0275prov=q({token:t,factory:t.\u0275fac,providedIn:"root"})}return t})(),vce=(()=>{class t{constructor(e,i,r){var o=this;this.configManager=e,this.snackBar=i,this.ble=r,this.batteryCharacteristic=new ti(void 0),this.cancellationToken=new AbortController,this.heartRateCharacteristic=new ti(void 0),this.disconnectHandler=function(){var s=I(function*(a){const c=a.target;c.onadvertisementreceived=o.reconnectHandler,c.watchingAdvertisements||(o.cancellationToken=new AbortController,yield c.watchAdvertisements({signal:o.cancellationToken.signal})),o.snackBar.open("Heart Rate Monitor disconnected","Dismiss")});return function(a){return s.apply(this,arguments)}}(),this.reconnectHandler=function(){var s=I(function*(a){o.cancellationToken.abort(),o.connect(a.device)});return function(a){return s.apply(this,arguments)}}()}disconnectDevice(){void 0!==this.bluetoothDevice&&(this.bluetoothDevice.ongattserverdisconnected=()=>{},this.bluetoothDevice.gatt?.disconnect(),this.bluetoothDevice=void 0),this.cancellationToken.abort(),this.batteryCharacteristic.next(void 0),this.heartRateCharacteristic.next(void 0)}discover(){var e=this;return I(function*(){e.disconnectDevice();const i=yield e.ble.discover({acceptAllDevices:!1,filters:[{services:[GP]}],optionalServices:[Um]});void 0!==i?.gatt?yield e.connect(i):yield e.reconnect()})()}reconnect(){var e=this;return I(function*(){e.disconnectDevice();const i=(yield navigator.bluetooth.getDevices()).filter(r=>r.id===e.configManager.getItem("heartRateBleId"))?.[0];void 0!==i&&(i.onadvertisementreceived=e.reconnectHandler,e.cancellationToken=new AbortController,yield i.watchAdvertisements({signal:e.cancellationToken.signal}))})()}streamHRMonitorBatteryLevel$(){return this.batteryCharacteristic.pipe($e(e=>void 0!==e),Pt(e=>this.observeBattery(e)),Ns({count:4,delay:(e,i)=>(this.batteryCharacteristic.value?.service.device.gatt&&e.includes("unknown")&&(console.warn(`Battery characteristic error: ${e}; retrying: ${i}`),this.connectToBattery(this.batteryCharacteristic.value.service.device.gatt)),ar(2e3))}),hd(e=>(console.error(e),this.snackBar.open("Error while connecting to battery service","Dismiss"),bn(void 0))),dn(void 0))}streamHeartRate$(){return this.heartRateCharacteristic.pipe($e(e=>void 0!==e),Pt(e=>this.observeHeartRate(e)),Ns({count:4,delay:(e,i)=>(this.batteryCharacteristic.value?.service.device.gatt&&e.includes("unknown")&&(console.warn(`Heart rate measurement characteristic error: ${e}; retrying: ${i}`),this.connectToBattery(this.batteryCharacteristic.value.service.device.gatt)),ar(2e3))}),dn(void 0))}connect(e){var i=this;return I(function*(){try{i.bluetoothDevice=e;const r=yield i.ble.connectDevice(e);if(void 0===i.bluetoothDevice)return;yield Fs(1e3),yield Fs(1e3,i.connectToHearRate(r)),yield Fs(1e3,i.connectToBattery(r)),i.configManager.setItem("heartRateBleId",e.id),e.ongattserverdisconnected=i.disconnectHandler}catch(r){i.snackBar.open(`${r}`,"Dismiss")}})()}connectToBattery(e){var i=this;return I(function*(){try{const r=yield i.ble.getPrimaryService(e,Um),o=yield i.ble.getCharacteristic(r,$P);return i.batteryCharacteristic.next(o??void 0),o??void 0}catch(r){i.bluetoothDevice&&(i.snackBar.open("HR Monitor battery service is unavailable","Dismiss"),console.warn(r))}})()}connectToHearRate(e){var i=this;return I(function*(){try{const r=yield i.ble.getPrimaryService(e,GP),o=yield i.ble.getCharacteristic(r,"heart_rate_measurement");return i.heartRateCharacteristic.next(o??void 0),o??void 0}catch(r){i.bluetoothDevice&&(i.snackBar.open("Error connecting Heart Rate monitor","Dismiss"),console.error(r))}})()}observeBattery(e){return as(this.ble.readValue$(e),this.ble.observeValue$(e)).pipe(ye(i=>i.getInt8(0)),_s(()=>{this.batteryCharacteristic.next(void 0)}))}observeHeartRate(e){return this.ble.observeValue$(e).pipe(ZP(this.streamHRMonitorBatteryLevel$()),ye(([i,r])=>({...this.parseHeartRate(i),batteryLevel:r}))).pipe(_s(()=>{this.heartRateCharacteristic.next(void 0)}))}parseHeartRate(e){const i=e.getUint8(0),o={heartRate:0,contactDetected:!0};let s=1;if(1&i?(o.heartRate=e.getUint16(s,!0),s+=2):(o.heartRate=e.getUint8(s),s+=1),4&i&&(o.contactDetected=!!(2&i)),8&i&&(o.energyExpended=e.getUint16(s,!0),s+=2),16&i){const u=[];for(;s+1{class t{constructor(e,i,r,o){this.configManager=e,this.ble=i,this.ant=r,this.snack=o}discover(){var e=this;return I(function*(){switch(e.configManager.getConfig().heartRateMonitor){case"ble":return yield e.ble.discover();case"ant":return yield e.ant.discover();default:return}})()}streamHeartRate(){return isSecureContext?this.configManager.heartRateMonitorChanged$.pipe(Pt(e=>{switch(e){case"ble":return this.ant.disconnectDevice(),this.ble.reconnect(),this.ble.streamHeartRate$();case"ant":return this.ble.disconnectDevice(),this.ant.reconnect(),this.ant.streamHeartRate$();default:return this.ant.disconnectDevice(),this.ble.disconnectDevice(),bn(void 0)}}),dn(void 0),Pr()):(this.snack.open("Heart Rate features are not available, refer to documentation","Dismiss"),za.pipe(dn(void 0),Pr()))}static#e=this.\u0275fac=function(i){return new(i||t)(R(Os),R(vce),R(JA),R(Or))};static#t=this.\u0275prov=q({token:t,factory:t.\u0275fac,providedIn:"root"})}return t})(),nL=(()=>{class t{constructor(e,i,r,o,s){this.webSocketService=e,this.bleDataService=i,this.configManager=r,this.dataRecorder=o,this.heartRateService=s,this.activityStartDistance=0,this.activityStartStrokeCount=0,this.appData={},this.batteryLevel=0,this.bleServiceFlag=Io.CpsService,this.logLevel=$m.Trace,this.logToSdCard=!1,this.logToWebSocket=!1,this.resetSubject=new ue,this.rowingData={timeStamp:new Date,revTime:0,distance:0,strokeTime:0,strokeCount:0,avgStrokePower:0,driveDuration:0,recoveryDuration:0,dragFactor:0,handleForces:[],deltaTimes:[]},this.heartRateData$=this.heartRateService.streamHeartRate(),this.appState$=wi(this.configManager.useBluetoothChanged$.pipe(Pt(a=>a?this.bleDataService.data():this.webSocketService.data())),this.resetSubject).pipe(ZP(this.heartRateData$),ye(([a,c])=>{if(this.bleServiceFlag="bleServiceFlag"in a?a.bleServiceFlag:this.bleServiceFlag,this.logLevel="logLevel"in a?a.logLevel:this.logLevel,this.logToWebSocket="logToWebSocket"in a?a.logToWebSocket??void 0:this.logToWebSocket,this.logToSdCard="logToSdCard"in a?a.logToSdCard??void 0:this.logToSdCard,this.batteryLevel="batteryLevel"in a?a.batteryLevel:this.batteryLevel,this.appData={...this.appData,bleServiceFlag:this.bleServiceFlag,logLevel:this.logLevel,logToSdCard:this.logToSdCard,logToWebSocket:this.logToWebSocket,batteryLevel:this.batteryLevel},"data"in a){const{revTime:l,distance:d,strokeTime:u,strokeCount:h}=this.rowingData;this.dataRecorder.addRaw(a),this.rowingData={timeStamp:a.timeStamp,revTime:a.data[0],distance:a.data[1],strokeTime:a.data[2],strokeCount:a.data[3],avgStrokePower:a.data[4],driveDuration:a.data[5],recoveryDuration:a.data[6],dragFactor:a.data[7],handleForces:a.data[8],deltaTimes:a.data[9]},this.appData={...this.appData,timeStamp:this.rowingData.timeStamp,driveDuration:this.rowingData.driveDuration/1e6,recoveryDuration:this.rowingData.recoveryDuration/1e6,avgStrokePower:this.rowingData.avgStrokePower,distance:this.rowingData.distance-this.activityStartDistance,dragFactor:this.rowingData.dragFactor,strokeCount:this.rowingData.strokeCount-this.activityStartStrokeCount,handleForces:this.rowingData.handleForces,peakForce:Math.max(...this.rowingData.handleForces),strokeRate:(this.rowingData.strokeCount-h)/((this.rowingData.strokeTime-u)/1e6)*60,speed:(this.rowingData.distance-d)/100/((this.rowingData.revTime-l)/1e6),distPerStroke:this.rowingData.distance===d?0:(this.rowingData.distance-d)/100/(this.rowingData.strokeCount-h)},this.dataRecorder.add({...this.appData,heartRate:c?.contactDetected?c:void 0}),this.dataRecorder.addDeltaTimes(this.rowingData.deltaTimes)}return this.appData}),Pr())}appState(){return this.appState$}changeBleServiceType(e){"true"===this.configManager.getItem("useBluetooth")?this.bleDataService.changeBleServiceType(e):this.webSocketService.changeBleServiceType(e)}changeLogLevel(e){"true"===this.configManager.getItem("useBluetooth")?this.bleDataService.changeLogLevel(e):this.webSocketService.changeLogLevel(e)}connectionStatus(){return this.configManager.useBluetoothChanged$.pipe(Pt(e=>e?this.bleDataService.connectionStatus():this.webSocketService.connectionStatus()))}getBleServiceFlag(){return this.bleServiceFlag}getLogLevel(){return this.logLevel}getSdCardLoggingState(){return this.logToSdCard}getWebSocketLoggingState(){return this.logToWebSocket}heartRateData(){return this.heartRateData$}reset(){this.activityStartDistance=this.rowingData.distance,this.activityStartStrokeCount=this.rowingData.strokeCount,this.dataRecorder.reset(),this.resetSubject.next({timeStamp:new Date,data:[this.rowingData.revTime,this.rowingData.distance,this.rowingData.strokeTime,this.rowingData.strokeCount,0,0,0,0,[],[]]})}static#e=this.\u0275fac=function(i){return new(i||t)(R(KP),R(JP),R(Os),R(eL),R(tL))};static#t=this.\u0275prov=q({token:t,factory:t.\u0275fac,providedIn:"root"})}return t})();function yce(t,n){1&t&&(U(0,"mat-error"),ve(1,"Heart rate monitor mode is required"),W())}function Ace(t,n){1&t&&(U(0,"mat-error"),ve(1,"Invalid value"),W())}function xce(t,n){if(1&t&&(U(0,"mat-form-field")(1,"mat-label"),ve(2,"BLE Mode"),W(),U(3,"mat-select",13)(4,"mat-option",14),ve(5,"Cycling Power"),W(),U(6,"mat-option",14),ve(7,"Cycling Speed and Cadence"),W()(),we(8,yce,2,0,"mat-error",4),Ae(9,"async"),we(10,Ace,2,0,"mat-error",4),Ae(11,"async"),W()),2&t){let e,i;const r=pt();K(4),se("value",r.BleServiceFlag.CpsService),K(2),se("value",r.BleServiceFlag.CscService),K(2),se("ngIf",null==(e=Pe(9,4,r.settingsFormErrors$))||null==e.heartRateMonitor?null:e.heartRateMonitor.required),K(2),se("ngIf",null==(i=Pe(11,6,r.settingsFormErrors$))||null==i.heartRateMonitor?null:i.heartRateMonitor.pattern)}}function Ece(t,n){1&t&&(U(0,"mat-error"),ve(1,"URL is required"),W())}function wce(t,n){1&t&&(U(0,"mat-error"),ve(1,"Invalid URL"),W())}function Sce(t,n){1&t&&(U(0,"mat-error"),ve(1,"Heart rate monitor mode is required"),W())}function Dce(t,n){1&t&&(U(0,"mat-error"),ve(1,"Invalid value"),W())}function Cce(t,n){if(1&t&&(U(0,"mat-form-field")(1,"mat-label"),ve(2,"Heart Rate Monitor"),W(),U(3,"mat-select",15)(4,"mat-option",16),ve(5,"off"),W(),U(6,"mat-option",17),ve(7,"ble"),W(),U(8,"mat-option",18),ve(9,"ant"),W()(),we(10,Sce,2,0,"mat-error",4),Ae(11,"async"),we(12,Dce,2,0,"mat-error",4),Ae(13,"async"),W()),2&t){let e,i;const r=pt();K(10),se("ngIf",null==(e=Pe(11,2,r.settingsFormErrors$))||null==e.heartRateMonitor?null:e.heartRateMonitor.required),K(2),se("ngIf",null==(i=Pe(13,4,r.settingsFormErrors$))||null==i.heartRateMonitor?null:i.heartRateMonitor.pattern)}}function Mce(t,n){if(1&t&&(U(0,"mat-option",14),ve(1),W()),2&t){const e=n.$implicit;se("value",e.key),K(),Li(e.value)}}function Ice(t,n){1&t&&(U(0,"mat-error"),ve(1,"Log level is required"),W())}function Tce(t,n){1&t&&(U(0,"mat-error"),ve(1,"Invalid value"),W())}let kce=(()=>{class t{constructor(e,i,r,o,s){this.configManager=e,this.dataService=i,this.webSocketService=r,this.fb=o,this.dialogRef=s,this.BleServiceFlag=Io,this.LogLevel=$m,this.isSecureContext=isSecureContext,this.settingsForm=this.fb.group({useBluetooth:["true"===this.configManager.getItem("useBluetooth")],bleMode:[this.dataService.getBleServiceFlag()],websocketAddress:[{value:this.configManager.getItem("webSocketAddress"),disabled:"true"===this.configManager.getItem("useBluetooth")},[ps.required,ps.pattern(/^wss?:\/\/[a-z0-9-]+(\.?[a-z0-9-])+(:[0-9]+)?([\/?][-a-zA-Z0-9+&@#\/%?=~_]*)?$/)]],logLevel:[this.dataService.getLogLevel(),[ps.min(0),ps.max(6)]],heartRateMonitor:[this.configManager.getItem("heartRateMonitor"),ps.pattern(/^(off|ble|ant)$/)],logToWebSocket:[{value:this.dataService.getWebSocketLoggingState()??!1,disabled:void 0===this.dataService.getWebSocketLoggingState()||"true"===this.configManager.getItem("useBluetooth")}],logToSdCard:[{value:this.dataService.getSdCardLoggingState()??!1,disabled:void 0===this.dataService.getSdCardLoggingState()}]}),this.settingsFormErrors$=this.settingsForm.statusChanges.pipe(dn("INVALID"),ye(()=>QP(this.settingsForm.controls)))}submitLoginForm(){this.settingsForm.get("logLevel")?.dirty&&this.dataService.changeLogLevel(this.settingsForm.value.logLevel),this.settingsForm.get("logToWebSocket")?.dirty&&this.webSocketService.changeLogToWebSocket(this.settingsForm.value.logToWebSocket),this.settingsForm.get("logToSdCard")?.dirty&&this.webSocketService.changeLogToSdCard(this.settingsForm.value.logToSdCard),this.settingsForm.get("bleMode")?.dirty&&this.dataService.changeBleServiceType(this.settingsForm.value.bleMode),this.settingsForm.get("websocketAddress")?.dirty&&this.configManager.setItem("webSocketAddress",this.settingsForm.value.websocketAddress),this.settingsForm.get("heartRateMonitor")?.dirty&&this.configManager.setItem("heartRateMonitor",this.settingsForm.value.heartRateMonitor),this.settingsForm.get("useBluetooth")?.dirty&&this.configManager.setItem("useBluetooth",this.settingsForm.value.useBluetooth?"true":"false"),this.dialogRef.close()}useBluetoothClick(e){e.checked?this.settingsForm.controls.websocketAddress.disable():this.settingsForm.controls.websocketAddress.enable(),e.checked?this.settingsForm.controls.logToWebSocket.disable():this.settingsForm.controls.logToWebSocket.enable()}static#e=this.\u0275fac=function(i){return new(i||t)(C(Os),C(nL),C(KP),C(gQ),C(Kf))};static#t=this.\u0275cmp=mt({type:t,selectors:[["app-settings-dialog"]],decls:39,vars:21,consts:[["mat-dialog-title",""],["mat-dialog-content",""],["novalidate","",3,"ngSubmit","formGroup"],["hideIcon","true","labelPosition","before","formControlName","useBluetooth","name","useBluetooth",3,"change"],[4,"ngIf"],["matInput","","formControlName","websocketAddress","name","websocketAddress","required",""],["name","logLevel","placeholder","Select log level","formControlName","logLevel","required",""],[3,"value",4,"ngFor","ngForOf"],["formControlName","logToWebSocket"],["formControlName","logToSdCard"],["mat-dialog-actions","","align","end"],["type","submit","mat-raised-button","","mat-dialog-close","",3,"click","disabled"],["mat-raised-button","","mat-dialog-close",""],["name","bleMode","placeholder","Select heart rate monitor mode","formControlName","bleMode","required",""],[3,"value"],["name","heartRateMonitor","placeholder","Select heart rate monitor mode","formControlName","heartRateMonitor","required",""],["value","off"],["value","ble"],["value","ant"]],template:function(i,r){if(1&i&&(U(0,"h1",0),ve(1,"Settings"),W(),U(2,"div",1)(3,"form",2),Ue("ngSubmit",function(){return r.submitLoginForm()}),U(4,"div")(5,"mat-slide-toggle",3),Ue("change",function(s){return r.useBluetoothClick(s)}),ve(6,"Use Bluetooth: "),W()(),we(7,xce,12,8,"mat-form-field",4),U(8,"mat-form-field")(9,"mat-label"),ve(10,"Web Socket URL"),W(),Ie(11,"input",5),we(12,Ece,2,0,"mat-error",4),Ae(13,"async"),we(14,wce,2,0,"mat-error",4),Ae(15,"async"),W(),we(16,Cce,14,6,"mat-form-field",4),U(17,"mat-form-field")(18,"mat-label"),ve(19,"Log Level"),W(),U(20,"mat-select",6),we(21,Mce,2,2,"mat-option",7),Ae(22,"enumToArray"),W(),we(23,Ice,2,0,"mat-error",4),Ae(24,"async"),we(25,Tce,2,0,"mat-error",4),Ae(26,"async"),Ae(27,"async"),W(),U(28,"h3"),ve(29,"Logging destinations"),W(),U(30,"mat-checkbox",8),ve(31,"WebSocket"),W(),U(32,"mat-checkbox",9),ve(33,"SdCard"),W()()(),U(34,"div",10)(35,"button",11),Ue("click",function(){return r.submitLoginForm()}),ve(36," Save "),W(),U(37,"button",12),ve(38,"Cancel"),W()()),2&i){let o,s,a,c;K(3),se("formGroup",r.settingsForm),K(4),se("ngIf",r.isSecureContext),K(5),se("ngIf",null==(o=Pe(13,9,r.settingsFormErrors$))||null==o.websocketAddress?null:o.websocketAddress.required),K(2),se("ngIf",null==(s=Pe(15,11,r.settingsFormErrors$))||null==s.websocketAddress?null:s.websocketAddress.pattern),K(2),se("ngIf",r.isSecureContext),K(5),se("ngForOf",Pe(22,13,r.LogLevel)),K(2),se("ngIf",null==(a=Pe(24,15,r.settingsFormErrors$))||null==a.logLevel?null:a.logLevel.required),K(2),se("ngIf",(null==(c=Pe(26,17,r.settingsFormErrors$))||null==c.logLevel?null:c.logLevel.min)||(null==(c=Pe(27,19,r.settingsFormErrors$))||null==c.logLevel?null:c.logLevel.max)),K(10),se("disabled",r.settingsForm.invalid)}},dependencies:[dI,Zh,Ky,Uy,xk,JR,tF,iF,nF,IZ,qy,yZ,$Z,AR,Pf,aR,cR,qf,Ja,Ly,dK,pk,Kh,VP],styles:["h1.mdc-dialog__title[_ngcontent-%COMP%]{font-size:1em;padding-bottom:24px}form[_ngcontent-%COMP%]{display:flex;flex-direction:column}form[_ngcontent-%COMP%] mat-slide-toggle[_ngcontent-%COMP%]{margin:8px 0;display:block}mat-option[_ngcontent-%COMP%]{font-size:16px}"],changeDetection:0})}return t})();const Rce=["*"];let Fce=(()=>{class t{constructor(){this.value=""}static#e=this.\u0275fac=function(i){return new(i||t)};static#t=this.\u0275cmp=mt({type:t,selectors:[["app-metric"]],inputs:{icon:"icon",title:"title",unit:"unit",value:"value"},ngContentSelectors:Rce,decls:12,vars:4,consts:[[1,"metric"],[1,"title"],[1,"value"],[1,"unit"]],template:function(i,r){1&i&&(Mn(),U(0,"mat-card"),qe(1),U(2,"div",0)(3,"span",1),ve(4),W(),U(5,"mat-icon"),ve(6),W(),U(7,"div",2)(8,"span"),ve(9),W(),U(10,"span",3),ve(11),W()()()()),2&i&&(K(4),ir(" ",r.title," "),K(2),Li(r.icon),K(3),ir(" ",r.value," "),K(2),ir(" ",r.unit," "))},dependencies:[jy,Zy],styles:["mat-card[_ngcontent-%COMP%]{height:100%;justify-content:center}.metric[_ngcontent-%COMP%]{display:flex;flex-direction:column;align-items:center;padding:.5em .5em 0}mat-icon[_ngcontent-%COMP%]{font-size:150%;height:100%;width:100%;text-align:center}.title[_ngcontent-%COMP%]{text-align:center}.value[_ngcontent-%COMP%]{font-size:150%;text-align:center}@media (min-height: 420px){.value[_ngcontent-%COMP%]{padding-top:24px}}.value[_ngcontent-%COMP%] .unit[_ngcontent-%COMP%]{font-size:50%}"],changeDetection:0})}return t})();function Oce(t,n){if(1&t){const e=wr();U(0,"button",1),Ue("click",function(){return hn(e),fn(pt().click("heartRate"))}),U(1,"mat-icon"),ve(2,"favorite"),W()()}}function Nce(t,n){if(1&t){const e=wr();U(0,"button",1),Ue("click",function(){return hn(e),fn(pt().click("bluetooth"))}),U(1,"mat-icon"),ve(2,"bluetooth"),W()()}}let Pce=(()=>{class t{constructor(e){this.configManager=e,this.BleServiceFlag=Io,this.batteryLevel=100,this.bleServiceType=Io.CpsService,this.buttonClicked=new Te,this.connectionStatus=!1,this.timeOfDay$=zP(1e3).pipe(dn(Date.now()),ye(()=>Date.now()))}click(e){this.buttonClicked.emit(e)}static#e=this.\u0275fac=function(i){return new(i||t)(C(Os))};static#t=this.\u0275cmp=mt({type:t,selectors:[["app-settings-bar"]],inputs:{batteryLevel:"batteryLevel",bleServiceType:"bleServiceType",connectionStatus:"connectionStatus"},outputs:{buttonClicked:"buttonClicked"},decls:30,vars:17,consts:[["color","primary"],["mat-icon-button","",3,"click"],["mat-icon-button","",3,"click",4,"ngIf"],[1,"time-of-day"],[1,"title"]],template:function(i,r){if(1&i&&(U(0,"mat-toolbar",0)(1,"div")(2,"div")(3,"mat-icon"),ve(4),Ae(5,"batteryLevel"),W()(),U(6,"div")(7,"mat-icon"),ve(8),W()(),U(9,"button",1),Ue("click",function(){return r.click("settings")}),U(10,"mat-icon"),ve(11,"settings"),W()(),U(12,"button",1),Ue("click",function(){return r.click("reset")}),U(13,"mat-icon"),ve(14,"replay"),W()(),U(15,"button",1),Ue("click",function(){return r.click("download")}),U(16,"mat-icon"),ve(17,"download"),W()(),we(18,Oce,3,0,"button",2),Ae(19,"async"),we(20,Nce,3,0,"button",2),Ae(21,"async"),U(22,"span"),ve(23),W()(),U(24,"span",3),ve(25),Ae(26,"async"),Ae(27,"date"),W(),U(28,"span",4),ve(29,"ESP Rowing Monitor"),W()()),2&i){let o;K(4),Li(Pe(5,6,r.batteryLevel)),K(4),Li(r.connectionStatus?"wifi":"wifi_off"),K(10),se("ngIf","off"!==(null!==(o=Pe(19,8,r.configManager.heartRateMonitorChanged$))&&void 0!==o?o:"off")),K(2),se("ngIf",!0===Pe(21,10,r.configManager.useBluetoothChanged$)),K(3),Li(r.bleServiceType===r.BleServiceFlag.CpsService?"Cycling Power":"Cycling Speed and Cadence"),K(2),ir(" ",Sr(27,14,Pe(26,12,r.timeOfDay$),"HH:mm")," ")}},dependencies:[Zh,Zy,_q,xK,Kh,mI,KA],styles:["mat-toolbar[_ngcontent-%COMP%]{display:grid;align-items:center;justify-content:center;grid-template-columns:max-content 1fr max-content;font-size:.7em}mat-toolbar[_ngcontent-%COMP%] > div[_ngcontent-%COMP%]:first-child{margin-left:-16px}mat-toolbar[_ngcontent-%COMP%] > div[_ngcontent-%COMP%]{display:flex;justify-content:center;align-items:center}mat-toolbar[_ngcontent-%COMP%] > div[_ngcontent-%COMP%] > *[_ngcontent-%COMP%]{min-width:48px;display:flex;justify-content:center}mat-toolbar[_ngcontent-%COMP%] > .time-of-day[_ngcontent-%COMP%]{justify-self:center}mat-toolbar[_ngcontent-%COMP%] > .title[_ngcontent-%COMP%]{justify-self:self-end}@media screen and (max-height: 400px){.mat-toolbar-row[_ngcontent-%COMP%], .mat-toolbar-single-row[_ngcontent-%COMP%]{height:48px}}"],changeDetection:0})}return t})();var iL=function(){if(typeof window<"u"){if(window.devicePixelRatio)return window.devicePixelRatio;var t=window.screen;if(t)return(t.deviceXDPI||1)/(t.logicalXDPI||1)}return 1}(),Bd_textSize=function(t,n,e){var a,i=[].concat(n),r=i.length,o=t.font,s=0;for(t.font=e.string,a=0;ae.right&&(i|=oL),ne.bottom&&(i|=sL),i}function Xm(t,n){var r,o,e=n.anchor,i=t;return n.clamp&&(i=function Vce(t,n){for(var c,l,d,e=t.x0,i=t.y0,r=t.x1,o=t.y1,s=Wm(e,i,n),a=Wm(r,o,n);s|a&&!(s&a);)(c=s||a)&aL?(l=e+(r-e)*(n.top-i)/(o-i),d=n.top):c&sL?(l=e+(r-e)*(n.bottom-i)/(o-i),d=n.bottom):c&oL?(d=i+(o-i)*(n.right-e)/(r-e),l=n.right):c&rL&&(d=i+(o-i)*(n.left-e)/(r-e),l=n.left),c===s?s=Wm(e=l,i=d,n):a=Wm(r=l,o=d,n);return{x0:e,x1:r,y0:i,y1:o}}(i,n.area)),"start"===e?(r=i.x0,o=i.y0):"end"===e?(r=i.x1,o=i.y1):(r=(i.x0+i.x1)/2,o=(i.y0+i.y1)/2),function Lce(t,n,e,i,r){switch(r){case"center":e=i=0;break;case"bottom":e=0,i=1;break;case"right":e=1,i=0;break;case"left":e=-1,i=0;break;case"top":e=0,i=-1;break;case"start":e=-e,i=-i;break;case"end":break;default:r*=Math.PI/180,e=Math.cos(r),i=Math.sin(r)}return{x:t,y:n,vx:e,vy:i}}(r,o,t.vx,t.vy,n.align)}var qm={arc:function(t,n){var e=(t.startAngle+t.endAngle)/2,i=Math.cos(e),r=Math.sin(e),o=t.innerRadius,s=t.outerRadius;return Xm({x0:t.x+i*o,y0:t.y+r*o,x1:t.x+i*s,y1:t.y+r*s,vx:i,vy:r},n)},point:function(t,n){var e=n0(t,n.origin),i=e.x*t.options.radius,r=e.y*t.options.radius;return Xm({x0:t.x-i,y0:t.y-r,x1:t.x+i,y1:t.y+r,vx:e.x,vy:e.y},n)},bar:function(t,n){var e=n0(t,n.origin),i=t.x,r=t.y,o=0,s=0;return t.horizontal?(i=Math.min(t.x,t.base),o=Math.abs(t.base-t.x)):(r=Math.min(t.y,t.base),s=Math.abs(t.base-t.y)),Xm({x0:i,y0:r+s,x1:i+o,y1:r,vx:e.x,vy:e.y},n)},fallback:function(t,n){var e=n0(t,n.origin);return Xm({x0:t.x,y0:t.y,x1:t.x+(t.width||0),y1:t.y+(t.height||0),vx:e.x,vy:e.y},n)}},Wr=function(t){return Math.round(t*iL)/iL};function jce(t,n){var e=n.chart.getDatasetMeta(n.datasetIndex).vScale;if(!e)return null;if(void 0!==e.xCenter&&void 0!==e.yCenter)return{x:e.xCenter,y:e.yCenter};var i=e.getBasePixel();return t.horizontal?{x:i,y:null}:{x:null,y:i}}function Uce(t){return t instanceof pN?qm.arc:t instanceof vN?qm.point:t instanceof AN?qm.bar:qm.fallback}function Wce(t,n,e){var i=t.shadowBlur,r=e.stroked,o=Wr(e.x),s=Wr(e.y),a=Wr(e.w);r&&t.strokeText(n,o,s,a),e.filled&&(i&&r&&(t.shadowBlur=0),t.fillText(n,o,s,a),i&&r&&(t.shadowBlur=i))}var cL=function(t,n,e,i){var r=this;r._config=t,r._index=i,r._model=null,r._rects=null,r._ctx=n,r._el=e};dr(cL.prototype,{_modelize:function(t,n,e,i){var r=this,o=r._index,s=tn(Ct([e.font,{}],i,o)),a=Ct([e.color,Ft.color],i,o);return{align:Ct([e.align,"center"],i,o),anchor:Ct([e.anchor,"center"],i,o),area:i.chart.chartArea,backgroundColor:Ct([e.backgroundColor,null],i,o),borderColor:Ct([e.borderColor,null],i,o),borderRadius:Ct([e.borderRadius,0],i,o),borderWidth:Ct([e.borderWidth,0],i,o),clamp:Ct([e.clamp,!1],i,o),clip:Ct([e.clip,!1],i,o),color:a,display:t,font:s,lines:n,offset:Ct([e.offset,4],i,o),opacity:Ct([e.opacity,1],i,o),origin:jce(r._el,i),padding:yn(Ct([e.padding,4],i,o)),positioner:Uce(r._el),rotation:Ct([e.rotation,0],i,o)*(Math.PI/180),size:Bd_textSize(r._ctx,n,s),textAlign:Ct([e.textAlign,"start"],i,o),textShadowBlur:Ct([e.textShadowBlur,0],i,o),textShadowColor:Ct([e.textShadowColor,a],i,o),textStrokeColor:Ct([e.textStrokeColor,a],i,o),textStrokeWidth:Ct([e.textStrokeWidth,0],i,o)}},update:function(t){var s,a,c,n=this,e=null,i=null,r=n._index,o=n._config,l=Ct([o.display,!0],t,r);l&&(c=Le(a=Me(ut(o.formatter,[s=t.dataset.data[r],t]),s))?[]:function(t){var e,n=[];for(t=[].concat(t);t.length;)"string"==typeof(e=t.pop())?n.unshift.apply(n,e.split("\n")):Array.isArray(e)?t.push.apply(t,e):Le(t)||n.unshift(""+e);return n}(a)).length&&(i=function Hce(t){var n=t.borderWidth||0,e=t.padding,i=t.size.height,r=t.size.width,o=-r/2,s=-i/2;return{frame:{x:o-e.left-n,y:s-e.top-n,w:r+e.width+2*n,h:i+e.height+2*n},text:{x:o,y:s,w:r,h:i}}}(e=n._modelize(l,c,o,t))),n._model=e,n._rects=i},geometry:function(){return this._rects?this._rects.frame:{}},rotation:function(){return this._model?this._model.rotation:0},visible:function(){return this._model&&this._model.opacity},model:function(){return this._model},draw:function(t,n){var s,i=t.ctx,r=this._model,o=this._rects;this.visible()&&(i.save(),r.clip&&(s=r.area,i.beginPath(),i.rect(s.left,s.top,s.right-s.left,s.bottom-s.top),i.clip()),i.globalAlpha=function(t,n,e){return Math.max(t,Math.min(n,e))}(0,r.opacity,1),i.translate(Wr(n.x),Wr(n.y)),i.rotate(r.rotation),function Gce(t,n,e){var i=e.backgroundColor,r=e.borderColor,o=e.borderWidth;!i&&(!r||!o)||(t.beginPath(),function zce(t,n,e,i,r,o){var s=Math.PI/2;if(o){var a=Math.min(o,r/2,i/2),c=n+a,l=e+a,d=n+i-a,u=e+r-a;t.moveTo(n,l),ci.x+i.w+2||t.y>i.y+i.h+2)},intersects:function(t){var r,o,s,n=this._points(),e=t._points(),i=[Ym(n[0],n[1]),Ym(n[0],n[3])];for(this._rotation!==t._rotation&&i.push(Ym(e[0],e[1]),Ym(e[0],e[3])),r=0;rc.getProps([l],!0)[l]}),o=i.geometry(),s=uL(a,i.model(),o),r._box.update(s,o,i.rotation()));(function Qce(t,n){var e,i,r,o;for(e=t.length-1;e>=0;--e)for(r=t[e].$layout,i=e-1;i>=0&&r._visible;--i)(o=t[i].$layout)._visible&&r._box.intersects(o._box)&&n(r,o)})(t,function(c,l){var d=c._hidable,u=l._hidable;d&&u||u?l._visible=!1:d&&(c._visible=!1)})}(t)},lookup:function(t,n){var e,i;for(e=t.length-1;e>=0;--e)if((i=t[e].$layout)&&i._visible&&i._box.contains(n))return t[e];return null},draw:function(t,n){var e,i,r,o,s,a;for(e=0,i=n.length;e{class t{set handleForces(e){this._handleForcesChart.datasets[0].data=e.map((i,r)=>({y:i,x:r}))}get forceChartOptions(){return{responsive:!0,maintainAspectRatio:!1,plugins:{datalabels:{anchor:"center",align:"top",formatter:e=>`Peak: ${Math.round(e.y)}`,display:e=>Math.max(...e.dataset.data.map(i=>i.y))===e.dataset.data[e.dataIndex].y,font:{size:16},color:"rgb(0,0,0)"},legend:{title:{display:!0,text:"Force Curve",color:"rgb(0,0,0)",font:{size:32},padding:{}},labels:{boxWidth:0,font:{size:0}}}},scales:{x:{type:"linear",display:!1},y:{ticks:{color:"rgba(0,0,0)"}}},animations:{tension:{duration:200,easing:"linear"},y:{duration:200,easing:"linear"},x:{duration:200,easing:"linear"}}}}get handleForcesChart(){return this._handleForcesChart}constructor(){this._handleForcesChart={datasets:[{fill:!0,label:"Force Curve",data:[],borderColor:"rgb(31,119,180)",backgroundColor:"rgb(31,119,180,0.5)",pointRadius:0}]},kd.register(rle)}static#e=this.\u0275fac=function(i){return new(i||t)};static#t=this.\u0275cmp=mt({type:t,selectors:[["app-force-curve"]],inputs:{handleForces:"handleForces"},decls:2,vars:3,consts:[["baseChart","","height","100","type","line",3,"data","legend","options"]],template:function(i,r){1&i&&(U(0,"mat-card"),Ie(1,"canvas",0),W()),2&i&&(K(),se("data",r.handleForcesChart)("legend",!0)("options",r.forceChartOptions))},dependencies:[jy,Xae],styles:["mat-card[_ngcontent-%COMP%]{height:100%}canvas[_ngcontent-%COMP%]{padding:24px}"],changeDetection:0})}return t})();const sle=()=>[];function ale(t,n){if(1&t&&(Ie(0,"app-metric",14),Ae(1,"async"),Ae(2,"roundNumber")),2&t){let e;se("value",Sr(2,3,null!==(e=null==(e=Pe(1,1,pt().rowingData$))?null:e.recoveryDuration)&&void 0!==e?e:0,2))}}function cle(t,n){if(1&t&&(U(0,"mat-icon"),ve(1),Ae(2,"batteryLevel"),W()),2&t){const e=n.ngIf;K(),Li(Pe(2,1,e))}}function lle(t,n){if(1&t&&(U(0,"app-metric",15),Ae(1,"async"),Ae(2,"async"),Ae(3,"roundNumber"),we(4,cle,3,3,"mat-icon",16),Ae(5,"async"),W()),2&t){let e,i;const r=pt();se("value",Pe(3,6,!0===(null==(e=Pe(1,2,r.heartRateData$))?null:e.contactDetected)&&null!==(e=null==(e=Pe(2,4,r.heartRateData$))?null:e.heartRate)&&void 0!==e?e:0)),K(4),se("ngIf",null==(i=Pe(5,8,r.heartRateData$))?null:i.batteryLevel)}}let dle=(()=>{class t extends mce{constructor(e,i,r,o,s,a,c,l,d){super(),this.cd=e,this.metricsService=i,this.dataService=r,this.dataRecorder=o,this.dialog=s,this.heartRateService=a,this.utils=c,this.swUpdate=l,this.snackBar=d,this.BleServiceFlag=Io,this.activityStartTime=Date.now(),this.heartRateData$=this.dataService.heartRateData(),this.isConnected$=this.dataService.connectionStatus(),this.elapseTime$=this.isConnected$.pipe($e(u=>u),Rt(1),Pt(()=>(this.activityStartTime=Date.now(),zP(1e3).pipe(dn(0),ye(()=>(Date.now()-this.activityStartTime)/1e3))))),this.rowingData$=this.dataService.appState().pipe(or(()=>{this.cd.detectChanges()})),this.swUpdate.versionUpdates.pipe($e(u=>"VERSION_READY"===u.type),Pt(u=>(console.log(`Current app version: ${u.currentVersion.hash}`),console.log(`New app version ready for use: ${u.latestVersion.hash}`),this.snackBar.open("Update Available","Reload").onAction())),Tn(this.ngUnsubscribe)).subscribe(()=>{window.location.reload()})}handleAction(e){var i=this;return I(function*(){"reset"===e&&(i.activityStartTime=Date.now(),i.dataService.reset()),"settings"===e&&i.dialog.open(kce,{autoFocus:!1}),"download"===e&&(i.dataRecorder.download(),i.dataRecorder.downloadRaw(),i.dataRecorder.downloadDeltaTimes()),"heartRate"===e&&(yield i.heartRateService.discover()),"bluetooth"===e&&(yield i.metricsService.discover())})()}ngAfterViewInit(){var e=this;return I(function*(){try{yield e.swUpdate.checkForUpdate()}catch(i){e.snackBar.open(`Failed to check for updates: ", ${i}`,"Dismiss"),console.error("Failed to check for updates:",i)}e.utils.enableWakeLock()})()}ngOnDestroy(){super.ngOnDestroy(),this.utils.disableWackeLock()}static#e=this.\u0275fac=function(i){return new(i||t)(C(yi),C(JP),C(nL),C(eL),C(Jf),C(tL),C(UP),C(by),C(Or))};static#t=this.\u0275cmp=mt({type:t,selectors:[["app-root"]],features:[ke],decls:37,vars:68,consts:[[3,"buttonClicked","connectionStatus","batteryLevel","bleServiceType"],[1,"dashboard"],["icon","location_on","unit","m",3,"value"],["icon","speed","unit","/500m",3,"value"],["icon","bolt","unit","watt",3,"value"],["icon","rowing","unit","/min",3,"value"],["icon","timer",3,"value"],[3,"handleForces"],["icon","route","unit","m/stk",3,"value"],["title","Total Strokes",3,"value"],["title","Drag Factor",3,"value"],["title","Drive","unit","sec",3,"value"],["title","Recovery","unit","sec",3,"value",4,"ngIf"],["icon","favorite","unit","bpm",3,"value",4,"ngIf"],["title","Recovery","unit","sec",3,"value"],["icon","favorite","unit","bpm",3,"value"],[4,"ngIf"]],template:function(i,r){if(1&i&&(U(0,"app-settings-bar",0),Ae(1,"async"),Ae(2,"async"),Ae(3,"async"),Ue("buttonClicked",function(s){return r.handleAction(s)}),W(),U(4,"div",1),Ie(5,"app-metric",2),Ae(6,"async"),Ae(7,"number"),Ie(8,"app-metric",3),Ae(9,"async"),Ae(10,"secondsToTime"),Ie(11,"app-metric",4),Ae(12,"async"),Ae(13,"number"),Ie(14,"app-metric",5),Ae(15,"async"),Ae(16,"roundNumber"),Ie(17,"app-metric",6),Ae(18,"async"),Ae(19,"secondsToTime"),Ie(20,"app-force-curve",7),Ae(21,"async"),Ie(22,"app-metric",8),Ae(23,"async"),Ae(24,"number"),Ie(25,"app-metric",9),Ae(26,"async"),Ie(27,"app-metric",10),Ae(28,"async"),Ae(29,"roundNumber"),Ie(30,"app-metric",11),Ae(31,"async"),Ae(32,"roundNumber"),we(33,ale,3,6,"app-metric",12),Ae(34,"async"),we(35,lle,6,10,"app-metric",13),Ae(36,"async"),W()),2&i){let o,s,a,c,l,d,u,h,f,p,g,_,x,y,k;se("connectionStatus",null!==(o=Pe(1,15,r.isConnected$))&&void 0!==o&&o)("batteryLevel",null!==(s=null==(s=Pe(2,17,r.rowingData$))?null:s.batteryLevel)&&void 0!==s?s:0)("bleServiceType",null!==(a=null==(a=Pe(3,19,r.rowingData$))?null:a.bleServiceFlag)&&void 0!==a?a:r.BleServiceFlag.CpsService),K(5),se("value",null!==(c=Sr(7,23,(null!==(c=null==(c=Pe(6,21,r.rowingData$))?null:c.distance)&&void 0!==c?c:0)/100,"0.0-0"))&&void 0!==c?c:"--"),K(3),se("value",Sr(10,28,500/(null!==(l=null==(l=Pe(9,26,r.rowingData$))?null:l.speed)&&void 0!==l?l:0),"pace")),K(3),se("value",null!==(d=Sr(13,33,null!==(d=null==(d=Pe(12,31,r.rowingData$))?null:d.avgStrokePower)&&void 0!==d?d:0,"0.0-0"))&&void 0!==d?d:"--"),K(3),se("value",Pe(16,38,null!==(u=null==(u=Pe(15,36,r.rowingData$))?null:u.strokeRate)&&void 0!==u?u:0)),K(3),se("value",Sr(19,42,null!==(h=Pe(18,40,r.elapseTime$))&&void 0!==h?h:0,"pace")),K(3),se("handleForces",null!==(f=null==(f=Pe(21,45,r.rowingData$))?null:f.handleForces)&&void 0!==f?f:function TC(t,n,e){const i=Ln()+t,r=B();return r[i]===Se?Ji(r,i,e?n.call(e):n()):function ll(t,n){return t[n]}(r,i)}(67,sle)),K(2),se("value",null!==(p=Sr(24,49,null!==(p=null==(p=Pe(23,47,r.rowingData$))?null:p.distPerStroke)&&void 0!==p?p:0,"0.0-1"))&&void 0!==p?p:"--"),K(3),se("value",null!==(g=null==(g=Pe(26,52,r.rowingData$))?null:g.strokeCount)&&void 0!==g?g:0),K(2),se("value",Pe(29,56,null!==(_=null==(_=Pe(28,54,r.rowingData$))?null:_.dragFactor)&&void 0!==_?_:0)),K(3),se("value",Sr(32,60,null!==(x=null==(x=Pe(31,58,r.rowingData$))?null:x.driveDuration)&&void 0!==x?x:0,2)),K(3),se("ngIf",!0!==(null==(y=Pe(34,63,r.heartRateData$))?null:y.contactDetected)),K(2),se("ngIf",!0===(null==(k=Pe(36,65,r.heartRateData$))?null:k.contactDetected))}},dependencies:[Zh,Zy,Fce,Pce,ole,Kh,gI,jP,HP,KA],styles:[".main-loading-spinner[_ngcontent-%COMP%]{margin:auto;z-index:990}.backdrop[_ngcontent-%COMP%]{background-color:#0003;z-index:1091;position:absolute;inset:0}.dashboard[_ngcontent-%COMP%]{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-template-rows:repeat(3,minmax(0,1fr));gap:10px;height:calc(100% - 80px);margin:10px}@media (max-width: 890px){app-metric[icon=favorite][_ngcontent-%COMP%], app-metric[title=Drive][_ngcontent-%COMP%], app-metric[title=Recovery][_ngcontent-%COMP%]{display:none}}app-metric[icon=favorite][_ngcontent-%COMP%] mat-icon[_ngcontent-%COMP%]{width:1.1em;height:1.1em;font-size:1.1em;position:absolute;bottom:.3em;right:.2em}app-force-curve[_ngcontent-%COMP%]{grid-row:span 2}@media (max-width: 890px){app-force-curve[_ngcontent-%COMP%]{grid-column:span 2}}"],changeDetection:0})}return t})();const fL=[];isSecureContext&&fL.push(A7.forRoot({enableTracing:!1}));let ule=(()=>{class t{static#e=this.\u0275fac=function(i){return new(i||t)};static#t=this.\u0275mod=Oe({type:t,bootstrap:[dle]});static#n=this.\u0275inj=Re({providers:[{provide:fT,useClass:lce,multi:!0},{provide:rd,useFactory:()=>isSecureContext?new rd:{requestDevice:()=>{throw Error("Bluetooth API is not available")}}},{provide:JA,useFactory:e=>isSecureContext?new JA(e):{discover:()=>{throw Error("WebUSB API is not available")}},deps:[Or]}],imports:[VI,i7,sce,fL,_7.register("ngsw-worker.js",{enabled:!0,registrationStrategy:"registerWhenStable:10000"})]})}return t})();fW().bootstrapModule(ule).catch(t=>console.error(t))},6777:(ce,D,M)=>{const{webm:m,mp4:I}=M(3549),Z=()=>typeof navigator<"u"&&parseFloat((""+(/CPU.*OS ([0-9_]{3,4})[0-9_]{0,1}|(CPU like).*AppleWebKit.*Mobile/i.exec(navigator.userAgent)||[0,""])[1]).replace("undefined","3_2").replace("_",".").replace("_",""))<10&&!window.MSStream,v=()=>"wakeLock"in navigator&&-1===window.navigator.userAgent.indexOf("Samsung");ce.exports=class S{constructor(){if(this.enabled=!1,v()){this._wakeLock=null;const A=()=>{null!==this._wakeLock&&"visible"===document.visibilityState&&this.enable()};document.addEventListener("visibilitychange",A),document.addEventListener("fullscreenchange",A)}else Z()?this.noSleepTimer=null:(this.noSleepVideo=document.createElement("video"),this.noSleepVideo.setAttribute("title","No Sleep"),this.noSleepVideo.setAttribute("playsinline",""),this._addSourceToVideo(this.noSleepVideo,"webm",m),this._addSourceToVideo(this.noSleepVideo,"mp4",I),Object.assign(this.noSleepVideo.style,{position:"absolute",left:"-100%",top:"-100%"}),document.querySelector("body").append(this.noSleepVideo),this.noSleepVideo.addEventListener("loadedmetadata",()=>{this.noSleepVideo.duration<=1?this.noSleepVideo.setAttribute("loop",""):this.noSleepVideo.addEventListener("timeupdate",()=>{this.noSleepVideo.currentTime>.5&&(this.noSleepVideo.currentTime=Math.random())})}))}_addSourceToVideo(A,b,E){var T=document.createElement("source");T.src=E,T.type=`video/${b}`,A.appendChild(T)}get isEnabled(){return this.enabled}enable(){return v()?navigator.wakeLock.request("screen").then(A=>{this._wakeLock=A,this.enabled=!0,console.log("Wake Lock active."),this._wakeLock.addEventListener("release",()=>{console.log("Wake Lock released.")})}).catch(A=>{throw this.enabled=!1,console.error(`${A.name}, ${A.message}`),A}):Z()?(this.disable(),console.warn("\n NoSleep enabled for older iOS devices. This can interrupt\n active or long-running network requests from completing successfully.\n See https://github.com/richtr/NoSleep.js/issues/15 for more details.\n "),this.noSleepTimer=window.setInterval(()=>{document.hidden||(window.location.href=window.location.href.split("#")[0],window.setTimeout(window.stop,0))},15e3),this.enabled=!0,Promise.resolve()):this.noSleepVideo.play().then(b=>(this.enabled=!0,b)).catch(b=>{throw this.enabled=!1,b})}disable(){v()?(this._wakeLock&&this._wakeLock.release(),this._wakeLock=null):Z()?this.noSleepTimer&&(console.warn("\n NoSleep now disabled for older iOS devices.\n "),window.clearInterval(this.noSleepTimer),this.noSleepTimer=null):this.noSleepVideo.pause(),this.enabled=!1}}},3549:ce=>{ce.exports={webm:"data:video/webm;base64,GkXfowEAAAAAAAAfQoaBAUL3gQFC8oEEQvOBCEKChHdlYm1Ch4EEQoWBAhhTgGcBAAAAAAAVkhFNm3RALE27i1OrhBVJqWZTrIHfTbuMU6uEFlSua1OsggEwTbuMU6uEHFO7a1OsghV17AEAAAAAAACkAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAVSalmAQAAAAAAAEUq17GDD0JATYCNTGF2ZjU1LjMzLjEwMFdBjUxhdmY1NS4zMy4xMDBzpJBlrrXf3DCDVB8KcgbMpcr+RImIQJBgAAAAAAAWVK5rAQAAAAAAD++uAQAAAAAAADLXgQFzxYEBnIEAIrWcg3VuZIaFVl9WUDiDgQEj44OEAmJaAOABAAAAAAAABrCBsLqBkK4BAAAAAAAPq9eBAnPFgQKcgQAitZyDdW5khohBX1ZPUkJJU4OBAuEBAAAAAAAAEZ+BArWIQOdwAAAAAABiZIEgY6JPbwIeVgF2b3JiaXMAAAAAAoC7AAAAAAAAgLUBAAAAAAC4AQN2b3JiaXMtAAAAWGlwaC5PcmcgbGliVm9yYmlzIEkgMjAxMDExMDEgKFNjaGF1ZmVudWdnZXQpAQAAABUAAABlbmNvZGVyPUxhdmM1NS41Mi4xMDIBBXZvcmJpcyVCQ1YBAEAAACRzGCpGpXMWhBAaQlAZ4xxCzmvsGUJMEYIcMkxbyyVzkCGkoEKIWyiB0JBVAABAAACHQXgUhIpBCCGEJT1YkoMnPQghhIg5eBSEaUEIIYQQQgghhBBCCCGERTlokoMnQQgdhOMwOAyD5Tj4HIRFOVgQgydB6CCED0K4moOsOQghhCQ1SFCDBjnoHITCLCiKgsQwuBaEBDUojILkMMjUgwtCiJqDSTX4GoRnQXgWhGlBCCGEJEFIkIMGQcgYhEZBWJKDBjm4FITLQagahCo5CB+EIDRkFQCQAACgoiiKoigKEBqyCgDIAAAQQFEUx3EcyZEcybEcCwgNWQUAAAEACAAAoEiKpEiO5EiSJFmSJVmSJVmS5omqLMuyLMuyLMsyEBqyCgBIAABQUQxFcRQHCA1ZBQBkAAAIoDiKpViKpWiK54iOCISGrAIAgAAABAAAEDRDUzxHlETPVFXXtm3btm3btm3btm3btm1blmUZCA1ZBQBAAAAQ0mlmqQaIMAMZBkJDVgEACAAAgBGKMMSA0JBVAABAAACAGEoOogmtOd+c46BZDppKsTkdnEi1eZKbirk555xzzsnmnDHOOeecopxZDJoJrTnnnMSgWQqaCa0555wnsXnQmiqtOeeccc7pYJwRxjnnnCateZCajbU555wFrWmOmkuxOeecSLl5UptLtTnnnHPOOeecc84555zqxekcnBPOOeecqL25lpvQxTnnnE/G6d6cEM4555xzzjnnnHPOOeecIDRkFQAABABAEIaNYdwpCNLnaCBGEWIaMulB9+gwCRqDnELq0ehopJQ6CCWVcVJKJwgNWQUAAAIAQAghhRRSSCGFFFJIIYUUYoghhhhyyimnoIJKKqmooowyyyyzzDLLLLPMOuyssw47DDHEEEMrrcRSU2011lhr7jnnmoO0VlprrbVSSimllFIKQkNWAQAgAAAEQgYZZJBRSCGFFGKIKaeccgoqqIDQkFUAACAAgAAAAABP8hzRER3RER3RER3RER3R8RzPESVREiVREi3TMjXTU0VVdWXXlnVZt31b2IVd933d933d+HVhWJZlWZZlWZZlWZZlWZZlWZYgNGQVAAACAAAghBBCSCGFFFJIKcYYc8w56CSUEAgNWQUAAAIACAAAAHAUR3EcyZEcSbIkS9IkzdIsT/M0TxM9URRF0zRV0RVdUTdtUTZl0zVdUzZdVVZtV5ZtW7Z125dl2/d93/d93/d93/d93/d9XQdCQ1YBABIAADqSIymSIimS4ziOJElAaMgqAEAGAEAAAIriKI7jOJIkSZIlaZJneZaomZrpmZ4qqkBoyCoAABAAQAAAAAAAAIqmeIqpeIqoeI7oiJJomZaoqZoryqbsuq7ruq7ruq7ruq7ruq7ruq7ruq7ruq7ruq7ruq7ruq7ruq4LhIasAgAkAAB0JEdyJEdSJEVSJEdygNCQVQCADACAAAAcwzEkRXIsy9I0T/M0TxM90RM901NFV3SB0JBVAAAgAIAAAAAAAAAMybAUy9EcTRIl1VItVVMt1VJF1VNVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVN0zRNEwgNWQkAkAEAkBBTLS3GmgmLJGLSaqugYwxS7KWxSCpntbfKMYUYtV4ah5RREHupJGOKQcwtpNApJq3WVEKFFKSYYyoVUg5SIDRkhQAQmgHgcBxAsixAsiwAAAAAAAAAkDQN0DwPsDQPAAAAAAAAACRNAyxPAzTPAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABA0jRA8zxA8zwAAAAAAAAA0DwP8DwR8EQRAAAAAAAAACzPAzTRAzxRBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABA0jRA8zxA8zwAAAAAAAAAsDwP8EQR0DwRAAAAAAAAACzPAzxRBDzRAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAEOAAABBgIRQasiIAiBMAcEgSJAmSBM0DSJYFTYOmwTQBkmVB06BpME0AAAAAAAAAAAAAJE2DpkHTIIoASdOgadA0iCIAAAAAAAAAAAAAkqZB06BpEEWApGnQNGgaRBEAAAAAAAAAAAAAzzQhihBFmCbAM02IIkQRpgkAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAGHAAAAgwoQwUGrIiAIgTAHA4imUBAIDjOJYFAACO41gWAABYliWKAABgWZooAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAYcAAACDChDBQashIAiAIAcCiKZQHHsSzgOJYFJMmyAJYF0DyApgFEEQAIAAAocAAACLBBU2JxgEJDVgIAUQAABsWxLE0TRZKkaZoniiRJ0zxPFGma53meacLzPM80IYqiaJoQRVE0TZimaaoqME1VFQAAUOAAABBgg6bE4gCFhqwEAEICAByKYlma5nmeJ4qmqZokSdM8TxRF0TRNU1VJkqZ5niiKommapqqyLE3zPFEURdNUVVWFpnmeKIqiaaqq6sLzPE8URdE0VdV14XmeJ4qiaJqq6roQRVE0TdNUTVV1XSCKpmmaqqqqrgtETxRNU1Vd13WB54miaaqqq7ouEE3TVFVVdV1ZBpimaaqq68oyQFVV1XVdV5YBqqqqruu6sgxQVdd1XVmWZQCu67qyLMsCAAAOHAAAAoygk4wqi7DRhAsPQKEhKwKAKAAAwBimFFPKMCYhpBAaxiSEFEImJaXSUqogpFJSKRWEVEoqJaOUUmopVRBSKamUCkIqJZVSAADYgQMA2IGFUGjISgAgDwCAMEYpxhhzTiKkFGPOOScRUoox55yTSjHmnHPOSSkZc8w556SUzjnnnHNSSuacc845KaVzzjnnnJRSSuecc05KKSWEzkEnpZTSOeecEwAAVOAAABBgo8jmBCNBhYasBABSAQAMjmNZmuZ5omialiRpmud5niiapiZJmuZ5nieKqsnzPE8URdE0VZXneZ4oiqJpqirXFUXTNE1VVV2yLIqmaZqq6rowTdNUVdd1XZimaaqq67oubFtVVdV1ZRm2raqq6rqyDFzXdWXZloEsu67s2rIAAPAEBwCgAhtWRzgpGgssNGQlAJABAEAYg5BCCCFlEEIKIYSUUggJAAAYcAAACDChDBQashIASAUAAIyx1lprrbXWQGettdZaa62AzFprrbXWWmuttdZaa6211lJrrbXWWmuttdZaa6211lprrbXWWmuttdZaa6211lprrbXWWmuttdZaa6211lprrbXWWmstpZRSSimllFJKKaWUUkoppZRSSgUA+lU4APg/2LA6wknRWGChISsBgHAAAMAYpRhzDEIppVQIMeacdFRai7FCiDHnJKTUWmzFc85BKCGV1mIsnnMOQikpxVZjUSmEUlJKLbZYi0qho5JSSq3VWIwxqaTWWoutxmKMSSm01FqLMRYjbE2ptdhqq7EYY2sqLbQYY4zFCF9kbC2m2moNxggjWywt1VprMMYY3VuLpbaaizE++NpSLDHWXAAAd4MDAESCjTOsJJ0VjgYXGrISAAgJACAQUooxxhhzzjnnpFKMOeaccw5CCKFUijHGnHMOQgghlIwx5pxzEEIIIYRSSsaccxBCCCGEkFLqnHMQQgghhBBKKZ1zDkIIIYQQQimlgxBCCCGEEEoopaQUQgghhBBCCKmklEIIIYRSQighlZRSCCGEEEIpJaSUUgohhFJCCKGElFJKKYUQQgillJJSSimlEkoJJYQSUikppRRKCCGUUkpKKaVUSgmhhBJKKSWllFJKIYQQSikFAAAcOAAABBhBJxlVFmGjCRcegEJDVgIAZAAAkKKUUiktRYIipRikGEtGFXNQWoqocgxSzalSziDmJJaIMYSUk1Qy5hRCDELqHHVMKQYtlRhCxhik2HJLoXMOAAAAQQCAgJAAAAMEBTMAwOAA4XMQdAIERxsAgCBEZohEw0JweFAJEBFTAUBigkIuAFRYXKRdXECXAS7o4q4DIQQhCEEsDqCABByccMMTb3jCDU7QKSp1IAAAAAAADADwAACQXAAREdHMYWRobHB0eHyAhIiMkAgAAAAAABcAfAAAJCVAREQ0cxgZGhscHR4fICEiIyQBAIAAAgAAAAAggAAEBAQAAAAAAAIAAAAEBB9DtnUBAAAAAAAEPueBAKOFggAAgACjzoEAA4BwBwCdASqwAJAAAEcIhYWIhYSIAgIABhwJ7kPfbJyHvtk5D32ych77ZOQ99snIe+2TkPfbJyHvtk5D32ych77ZOQ99YAD+/6tQgKOFggADgAqjhYIAD4AOo4WCACSADqOZgQArADECAAEQEAAYABhYL/QACIBDmAYAAKOFggA6gA6jhYIAT4AOo5mBAFMAMQIAARAQABgAGFgv9AAIgEOYBgAAo4WCAGSADqOFggB6gA6jmYEAewAxAgABEBAAGAAYWC/0AAiAQ5gGAACjhYIAj4AOo5mBAKMAMQIAARAQABgAGFgv9AAIgEOYBgAAo4WCAKSADqOFggC6gA6jmYEAywAxAgABEBAAGAAYWC/0AAiAQ5gGAACjhYIAz4AOo4WCAOSADqOZgQDzADECAAEQEAAYABhYL/QACIBDmAYAAKOFggD6gA6jhYIBD4AOo5iBARsAEQIAARAQFGAAYWC/0AAiAQ5gGACjhYIBJIAOo4WCATqADqOZgQFDADECAAEQEAAYABhYL/QACIBDmAYAAKOFggFPgA6jhYIBZIAOo5mBAWsAMQIAARAQABgAGFgv9AAIgEOYBgAAo4WCAXqADqOFggGPgA6jmYEBkwAxAgABEBAAGAAYWC/0AAiAQ5gGAACjhYIBpIAOo4WCAbqADqOZgQG7ADECAAEQEAAYABhYL/QACIBDmAYAAKOFggHPgA6jmYEB4wAxAgABEBAAGAAYWC/0AAiAQ5gGAACjhYIB5IAOo4WCAfqADqOZgQILADECAAEQEAAYABhYL/QACIBDmAYAAKOFggIPgA6jhYICJIAOo5mBAjMAMQIAARAQABgAGFgv9AAIgEOYBgAAo4WCAjqADqOFggJPgA6jmYECWwAxAgABEBAAGAAYWC/0AAiAQ5gGAACjhYICZIAOo4WCAnqADqOZgQKDADECAAEQEAAYABhYL/QACIBDmAYAAKOFggKPgA6jhYICpIAOo5mBAqsAMQIAARAQABgAGFgv9AAIgEOYBgAAo4WCArqADqOFggLPgA6jmIEC0wARAgABEBAUYABhYL/QACIBDmAYAKOFggLkgA6jhYIC+oAOo5mBAvsAMQIAARAQABgAGFgv9AAIgEOYBgAAo4WCAw+ADqOZgQMjADECAAEQEAAYABhYL/QACIBDmAYAAKOFggMkgA6jhYIDOoAOo5mBA0sAMQIAARAQABgAGFgv9AAIgEOYBgAAo4WCA0+ADqOFggNkgA6jmYEDcwAxAgABEBAAGAAYWC/0AAiAQ5gGAACjhYIDeoAOo4WCA4+ADqOZgQObADECAAEQEAAYABhYL/QACIBDmAYAAKOFggOkgA6jhYIDuoAOo5mBA8MAMQIAARAQABgAGFgv9AAIgEOYBgAAo4WCA8+ADqOFggPkgA6jhYID+oAOo4WCBA+ADhxTu2sBAAAAAAAAEbuPs4EDt4r3gQHxghEr8IEK",mp4:"data:video/mp4;base64,AAAAHGZ0eXBNNFYgAAACAGlzb21pc28yYXZjMQAAAAhmcmVlAAAGF21kYXTeBAAAbGliZmFhYyAxLjI4AABCAJMgBDIARwAAArEGBf//rdxF6b3m2Ui3lizYINkj7u94MjY0IC0gY29yZSAxNDIgcjIgOTU2YzhkOCAtIEguMjY0L01QRUctNCBBVkMgY29kZWMgLSBDb3B5bGVmdCAyMDAzLTIwMTQgLSBodHRwOi8vd3d3LnZpZGVvbGFuLm9yZy94MjY0Lmh0bWwgLSBvcHRpb25zOiBjYWJhYz0wIHJlZj0zIGRlYmxvY2s9MTowOjAgYW5hbHlzZT0weDE6MHgxMTEgbWU9aGV4IHN1Ym1lPTcgcHN5PTEgcHN5X3JkPTEuMDA6MC4wMCBtaXhlZF9yZWY9MSBtZV9yYW5nZT0xNiBjaHJvbWFfbWU9MSB0cmVsbGlzPTEgOHg4ZGN0PTAgY3FtPTAgZGVhZHpvbmU9MjEsMTEgZmFzdF9wc2tpcD0xIGNocm9tYV9xcF9vZmZzZXQ9LTIgdGhyZWFkcz02IGxvb2thaGVhZF90aHJlYWRzPTEgc2xpY2VkX3RocmVhZHM9MCBucj0wIGRlY2ltYXRlPTEgaW50ZXJsYWNlZD0wIGJsdXJheV9jb21wYXQ9MCBjb25zdHJhaW5lZF9pbnRyYT0wIGJmcmFtZXM9MCB3ZWlnaHRwPTAga2V5aW50PTI1MCBrZXlpbnRfbWluPTI1IHNjZW5lY3V0PTQwIGludHJhX3JlZnJlc2g9MCByY19sb29rYWhlYWQ9NDAgcmM9Y3JmIG1idHJlZT0xIGNyZj0yMy4wIHFjb21wPTAuNjAgcXBtaW49MCBxcG1heD02OSBxcHN0ZXA9NCB2YnZfbWF4cmF0ZT03NjggdmJ2X2J1ZnNpemU9MzAwMCBjcmZfbWF4PTAuMCBuYWxfaHJkPW5vbmUgZmlsbGVyPTAgaXBfcmF0aW89MS40MCBhcT0xOjEuMDAAgAAAAFZliIQL8mKAAKvMnJycnJycnJycnXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXiEASZACGQAjgCEASZACGQAjgAAAAAdBmjgX4GSAIQBJkAIZACOAAAAAB0GaVAX4GSAhAEmQAhkAI4AhAEmQAhkAI4AAAAAGQZpgL8DJIQBJkAIZACOAIQBJkAIZACOAAAAABkGagC/AySEASZACGQAjgAAAAAZBmqAvwMkhAEmQAhkAI4AhAEmQAhkAI4AAAAAGQZrAL8DJIQBJkAIZACOAAAAABkGa4C/AySEASZACGQAjgCEASZACGQAjgAAAAAZBmwAvwMkhAEmQAhkAI4AAAAAGQZsgL8DJIQBJkAIZACOAIQBJkAIZACOAAAAABkGbQC/AySEASZACGQAjgCEASZACGQAjgAAAAAZBm2AvwMkhAEmQAhkAI4AAAAAGQZuAL8DJIQBJkAIZACOAIQBJkAIZACOAAAAABkGboC/AySEASZACGQAjgAAAAAZBm8AvwMkhAEmQAhkAI4AhAEmQAhkAI4AAAAAGQZvgL8DJIQBJkAIZACOAAAAABkGaAC/AySEASZACGQAjgCEASZACGQAjgAAAAAZBmiAvwMkhAEmQAhkAI4AhAEmQAhkAI4AAAAAGQZpAL8DJIQBJkAIZACOAAAAABkGaYC/AySEASZACGQAjgCEASZACGQAjgAAAAAZBmoAvwMkhAEmQAhkAI4AAAAAGQZqgL8DJIQBJkAIZACOAIQBJkAIZACOAAAAABkGawC/AySEASZACGQAjgAAAAAZBmuAvwMkhAEmQAhkAI4AhAEmQAhkAI4AAAAAGQZsAL8DJIQBJkAIZACOAAAAABkGbIC/AySEASZACGQAjgCEASZACGQAjgAAAAAZBm0AvwMkhAEmQAhkAI4AhAEmQAhkAI4AAAAAGQZtgL8DJIQBJkAIZACOAAAAABkGbgCvAySEASZACGQAjgCEASZACGQAjgAAAAAZBm6AnwMkhAEmQAhkAI4AhAEmQAhkAI4AhAEmQAhkAI4AhAEmQAhkAI4AAAAhubW9vdgAAAGxtdmhkAAAAAAAAAAAAAAAAAAAD6AAABDcAAQAAAQAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwAAAzB0cmFrAAAAXHRraGQAAAADAAAAAAAAAAAAAAABAAAAAAAAA+kAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAABAAAAAALAAAACQAAAAAAAkZWR0cwAAABxlbHN0AAAAAAAAAAEAAAPpAAAAAAABAAAAAAKobWRpYQAAACBtZGhkAAAAAAAAAAAAAAAAAAB1MAAAdU5VxAAAAAAALWhkbHIAAAAAAAAAAHZpZGUAAAAAAAAAAAAAAABWaWRlb0hhbmRsZXIAAAACU21pbmYAAAAUdm1oZAAAAAEAAAAAAAAAAAAAACRkaW5mAAAAHGRyZWYAAAAAAAAAAQAAAAx1cmwgAAAAAQAAAhNzdGJsAAAAr3N0c2QAAAAAAAAAAQAAAJ9hdmMxAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAALAAkABIAAAASAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGP//AAAALWF2Y0MBQsAN/+EAFWdCwA3ZAsTsBEAAAPpAADqYA8UKkgEABWjLg8sgAAAAHHV1aWRraEDyXyRPxbo5pRvPAyPzAAAAAAAAABhzdHRzAAAAAAAAAAEAAAAeAAAD6QAAABRzdHNzAAAAAAAAAAEAAAABAAAAHHN0c2MAAAAAAAAAAQAAAAEAAAABAAAAAQAAAIxzdHN6AAAAAAAAAAAAAAAeAAADDwAAAAsAAAALAAAACgAAAAoAAAAKAAAACgAAAAoAAAAKAAAACgAAAAoAAAAKAAAACgAAAAoAAAAKAAAACgAAAAoAAAAKAAAACgAAAAoAAAAKAAAACgAAAAoAAAAKAAAACgAAAAoAAAAKAAAACgAAAAoAAAAKAAAAiHN0Y28AAAAAAAAAHgAAAEYAAANnAAADewAAA5gAAAO0AAADxwAAA+MAAAP2AAAEEgAABCUAAARBAAAEXQAABHAAAASMAAAEnwAABLsAAATOAAAE6gAABQYAAAUZAAAFNQAABUgAAAVkAAAFdwAABZMAAAWmAAAFwgAABd4AAAXxAAAGDQAABGh0cmFrAAAAXHRraGQAAAADAAAAAAAAAAAAAAACAAAAAAAABDcAAAAAAAAAAAAAAAEBAAAAAAEAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAkZWR0cwAAABxlbHN0AAAAAAAAAAEAAAQkAAADcAABAAAAAAPgbWRpYQAAACBtZGhkAAAAAAAAAAAAAAAAAAC7gAAAykBVxAAAAAAALWhkbHIAAAAAAAAAAHNvdW4AAAAAAAAAAAAAAABTb3VuZEhhbmRsZXIAAAADi21pbmYAAAAQc21oZAAAAAAAAAAAAAAAJGRpbmYAAAAcZHJlZgAAAAAAAAABAAAADHVybCAAAAABAAADT3N0YmwAAABnc3RzZAAAAAAAAAABAAAAV21wNGEAAAAAAAAAAQAAAAAAAAAAAAIAEAAAAAC7gAAAAAAAM2VzZHMAAAAAA4CAgCIAAgAEgICAFEAVBbjYAAu4AAAADcoFgICAAhGQBoCAgAECAAAAIHN0dHMAAAAAAAAAAgAAADIAAAQAAAAAAQAAAkAAAAFUc3RzYwAAAAAAAAAbAAAAAQAAAAEAAAABAAAAAgAAAAIAAAABAAAAAwAAAAEAAAABAAAABAAAAAIAAAABAAAABgAAAAEAAAABAAAABwAAAAIAAAABAAAACAAAAAEAAAABAAAACQAAAAIAAAABAAAACgAAAAEAAAABAAAACwAAAAIAAAABAAAADQAAAAEAAAABAAAADgAAAAIAAAABAAAADwAAAAEAAAABAAAAEAAAAAIAAAABAAAAEQAAAAEAAAABAAAAEgAAAAIAAAABAAAAFAAAAAEAAAABAAAAFQAAAAIAAAABAAAAFgAAAAEAAAABAAAAFwAAAAIAAAABAAAAGAAAAAEAAAABAAAAGQAAAAIAAAABAAAAGgAAAAEAAAABAAAAGwAAAAIAAAABAAAAHQAAAAEAAAABAAAAHgAAAAIAAAABAAAAHwAAAAQAAAABAAAA4HN0c3oAAAAAAAAAAAAAADMAAAAaAAAACQAAAAkAAAAJAAAACQAAAAkAAAAJAAAACQAAAAkAAAAJAAAACQAAAAkAAAAJAAAACQAAAAkAAAAJAAAACQAAAAkAAAAJAAAACQAAAAkAAAAJAAAACQAAAAkAAAAJAAAACQAAAAkAAAAJAAAACQAAAAkAAAAJAAAACQAAAAkAAAAJAAAACQAAAAkAAAAJAAAACQAAAAkAAAAJAAAACQAAAAkAAAAJAAAACQAAAAkAAAAJAAAACQAAAAkAAAAJAAAACQAAAAkAAACMc3RjbwAAAAAAAAAfAAAALAAAA1UAAANyAAADhgAAA6IAAAO+AAAD0QAAA+0AAAQAAAAEHAAABC8AAARLAAAEZwAABHoAAASWAAAEqQAABMUAAATYAAAE9AAABRAAAAUjAAAFPwAABVIAAAVuAAAFgQAABZ0AAAWwAAAFzAAABegAAAX7AAAGFwAAAGJ1ZHRhAAAAWm1ldGEAAAAAAAAAIWhkbHIAAAAAAAAAAG1kaXJhcHBsAAAAAAAAAAAAAAAALWlsc3QAAAAlqXRvbwAAAB1kYXRhAAAAAQAAAABMYXZmNTUuMzMuMTAw"}},5098:(ce,D)=>{"use strict";var m;Object.defineProperty(D,"__esModule",{value:!0}),D.Constants=void 0,(m=D.Constants||(D.Constants={}))[m.MESSAGE_RF=1]="MESSAGE_RF",m[m.MESSAGE_TX_SYNC=164]="MESSAGE_TX_SYNC",m[m.DEFAULT_NETWORK_NUMBER=0]="DEFAULT_NETWORK_NUMBER",m[m.MESSAGE_CHANNEL_UNASSIGN=65]="MESSAGE_CHANNEL_UNASSIGN",m[m.MESSAGE_CHANNEL_ASSIGN=66]="MESSAGE_CHANNEL_ASSIGN",m[m.MESSAGE_CHANNEL_ID=81]="MESSAGE_CHANNEL_ID",m[m.MESSAGE_CHANNEL_PERIOD=67]="MESSAGE_CHANNEL_PERIOD",m[m.MESSAGE_CHANNEL_SEARCH_TIMEOUT=68]="MESSAGE_CHANNEL_SEARCH_TIMEOUT",m[m.MESSAGE_CHANNEL_FREQUENCY=69]="MESSAGE_CHANNEL_FREQUENCY",m[m.MESSAGE_CHANNEL_TX_POWER=96]="MESSAGE_CHANNEL_TX_POWER",m[m.MESSAGE_NETWORK_KEY=70]="MESSAGE_NETWORK_KEY",m[m.MESSAGE_TX_POWER=71]="MESSAGE_TX_POWER",m[m.MESSAGE_PROXIMITY_SEARCH=113]="MESSAGE_PROXIMITY_SEARCH",m[m.MESSAGE_ENABLE_RX_EXT=102]="MESSAGE_ENABLE_RX_EXT",m[m.MESSAGE_LIB_CONFIG=110]="MESSAGE_LIB_CONFIG",m[m.MESSAGE_CHANNEL_OPEN_RX_SCAN=91]="MESSAGE_CHANNEL_OPEN_RX_SCAN",m[m.MESSAGE_STARTUP=111]="MESSAGE_STARTUP",m[m.MESSAGE_SYSTEM_RESET=74]="MESSAGE_SYSTEM_RESET",m[m.MESSAGE_CHANNEL_OPEN=75]="MESSAGE_CHANNEL_OPEN",m[m.MESSAGE_CHANNEL_CLOSE=76]="MESSAGE_CHANNEL_CLOSE",m[m.MESSAGE_CHANNEL_REQUEST=77]="MESSAGE_CHANNEL_REQUEST",m[m.MESSAGE_CHANNEL_BROADCAST_DATA=78]="MESSAGE_CHANNEL_BROADCAST_DATA",m[m.MESSAGE_CHANNEL_ACKNOWLEDGED_DATA=79]="MESSAGE_CHANNEL_ACKNOWLEDGED_DATA",m[m.MESSAGE_CHANNEL_BURST_DATA=80]="MESSAGE_CHANNEL_BURST_DATA",m[m.MESSAGE_CHANNEL_EVENT=64]="MESSAGE_CHANNEL_EVENT",m[m.MESSAGE_CHANNEL_STATUS=82]="MESSAGE_CHANNEL_STATUS",m[m.MESSAGE_VERSION=62]="MESSAGE_VERSION",m[m.MESSAGE_CAPABILITIES=84]="MESSAGE_CAPABILITIES",m[m.MESSAGE_SERIAL_NUMBER=97]="MESSAGE_SERIAL_NUMBER",m[m.CHANNEL_TYPE_TWOWAY_RECEIVE=0]="CHANNEL_TYPE_TWOWAY_RECEIVE",m[m.CHANNEL_TYPE_TWOWAY_TRANSMIT=16]="CHANNEL_TYPE_TWOWAY_TRANSMIT",m[m.CHANNEL_TYPE_SHARED_RECEIVE=32]="CHANNEL_TYPE_SHARED_RECEIVE",m[m.CHANNEL_TYPE_SHARED_TRANSMIT=48]="CHANNEL_TYPE_SHARED_TRANSMIT",m[m.CHANNEL_TYPE_ONEWAY_RECEIVE=64]="CHANNEL_TYPE_ONEWAY_RECEIVE",m[m.CHANNEL_TYPE_ONEWAY_TRANSMIT=80]="CHANNEL_TYPE_ONEWAY_TRANSMIT",m[m.RADIO_TX_POWER_MINUS20DB=0]="RADIO_TX_POWER_MINUS20DB",m[m.RADIO_TX_POWER_MINUS10DB=1]="RADIO_TX_POWER_MINUS10DB",m[m.RADIO_TX_POWER_0DB=2]="RADIO_TX_POWER_0DB",m[m.RADIO_TX_POWER_PLUS4DB=3]="RADIO_TX_POWER_PLUS4DB",m[m.RESPONSE_NO_ERROR=0]="RESPONSE_NO_ERROR",m[m.EVENT_RX_SEARCH_TIMEOUT=1]="EVENT_RX_SEARCH_TIMEOUT",m[m.EVENT_RX_FAIL=2]="EVENT_RX_FAIL",m[m.EVENT_TX=3]="EVENT_TX",m[m.EVENT_TRANSFER_RX_FAILED=4]="EVENT_TRANSFER_RX_FAILED",m[m.EVENT_TRANSFER_TX_COMPLETED=5]="EVENT_TRANSFER_TX_COMPLETED",m[m.EVENT_TRANSFER_TX_FAILED=6]="EVENT_TRANSFER_TX_FAILED",m[m.EVENT_CHANNEL_CLOSED=7]="EVENT_CHANNEL_CLOSED",m[m.EVENT_RX_FAIL_GO_TO_SEARCH=8]="EVENT_RX_FAIL_GO_TO_SEARCH",m[m.EVENT_CHANNEL_COLLISION=9]="EVENT_CHANNEL_COLLISION",m[m.EVENT_TRANSFER_TX_START=10]="EVENT_TRANSFER_TX_START",m[m.CHANNEL_IN_WRONG_STATE=21]="CHANNEL_IN_WRONG_STATE",m[m.CHANNEL_NOT_OPENED=22]="CHANNEL_NOT_OPENED",m[m.CHANNEL_ID_NOT_SET=24]="CHANNEL_ID_NOT_SET",m[m.CLOSE_ALL_CHANNELS=25]="CLOSE_ALL_CHANNELS",m[m.TRANSFER_IN_PROGRESS=31]="TRANSFER_IN_PROGRESS",m[m.TRANSFER_SEQUENCE_NUMBER_ERROR=32]="TRANSFER_SEQUENCE_NUMBER_ERROR",m[m.TRANSFER_IN_ERROR=33]="TRANSFER_IN_ERROR",m[m.MESSAGE_SIZE_EXCEEDS_LIMIT=39]="MESSAGE_SIZE_EXCEEDS_LIMIT",m[m.INVALID_MESSAGE=40]="INVALID_MESSAGE",m[m.INVALID_NETWORK_NUMBER=41]="INVALID_NETWORK_NUMBER",m[m.INVALID_LIST_ID=48]="INVALID_LIST_ID",m[m.INVALID_SCAN_TX_CHANNEL=49]="INVALID_SCAN_TX_CHANNEL",m[m.INVALID_PARAMETER_PROVIDED=51]="INVALID_PARAMETER_PROVIDED",m[m.EVENT_QUEUE_OVERFLOW=53]="EVENT_QUEUE_OVERFLOW",m[m.USB_STRING_WRITE_FAIL=112]="USB_STRING_WRITE_FAIL",m[m.CHANNEL_STATE_UNASSIGNED=0]="CHANNEL_STATE_UNASSIGNED",m[m.CHANNEL_STATE_ASSIGNED=1]="CHANNEL_STATE_ASSIGNED",m[m.CHANNEL_STATE_SEARCHING=2]="CHANNEL_STATE_SEARCHING",m[m.CHANNEL_STATE_TRACKING=3]="CHANNEL_STATE_TRACKING",m[m.CAPABILITIES_NO_RECEIVE_CHANNELS=1]="CAPABILITIES_NO_RECEIVE_CHANNELS",m[m.CAPABILITIES_NO_TRANSMIT_CHANNELS=2]="CAPABILITIES_NO_TRANSMIT_CHANNELS",m[m.CAPABILITIES_NO_RECEIVE_MESSAGES=4]="CAPABILITIES_NO_RECEIVE_MESSAGES",m[m.CAPABILITIES_NO_TRANSMIT_MESSAGES=8]="CAPABILITIES_NO_TRANSMIT_MESSAGES",m[m.CAPABILITIES_NO_ACKNOWLEDGED_MESSAGES=16]="CAPABILITIES_NO_ACKNOWLEDGED_MESSAGES",m[m.CAPABILITIES_NO_BURST_MESSAGES=32]="CAPABILITIES_NO_BURST_MESSAGES",m[m.CAPABILITIES_NETWORK_ENABLED=2]="CAPABILITIES_NETWORK_ENABLED",m[m.CAPABILITIES_SERIAL_NUMBER_ENABLED=8]="CAPABILITIES_SERIAL_NUMBER_ENABLED",m[m.CAPABILITIES_PER_CHANNEL_TX_POWER_ENABLED=16]="CAPABILITIES_PER_CHANNEL_TX_POWER_ENABLED",m[m.CAPABILITIES_LOW_PRIORITY_SEARCH_ENABLED=32]="CAPABILITIES_LOW_PRIORITY_SEARCH_ENABLED",m[m.CAPABILITIES_SCRIPT_ENABLED=64]="CAPABILITIES_SCRIPT_ENABLED",m[m.CAPABILITIES_SEARCH_LIST_ENABLED=128]="CAPABILITIES_SEARCH_LIST_ENABLED",m[m.CAPABILITIES_LED_ENABLED=1]="CAPABILITIES_LED_ENABLED",m[m.CAPABILITIES_EXT_MESSAGE_ENABLED=2]="CAPABILITIES_EXT_MESSAGE_ENABLED",m[m.CAPABILITIES_SCAN_MODE_ENABLED=4]="CAPABILITIES_SCAN_MODE_ENABLED",m[m.CAPABILITIES_PROX_SEARCH_ENABLED=16]="CAPABILITIES_PROX_SEARCH_ENABLED",m[m.CAPABILITIES_EXT_ASSIGN_ENABLED=32]="CAPABILITIES_EXT_ASSIGN_ENABLED",m[m.CAPABILITIES_FS_ANTFS_ENABLED=64]="CAPABILITIES_FS_ANTFS_ENABLED",m[m.TIMEOUT_NEVER=255]="TIMEOUT_NEVER"},6999:(ce,D,M)=>{"use strict";Object.defineProperty(D,"__esModule",{value:!0}),D.GarminStick2=void 0;const m=M(7799);D.GarminStick2=class I extends m.USBDriver{constructor(){super(4047,4104)}}},2848:(ce,D,M)=>{"use strict";Object.defineProperty(D,"__esModule",{value:!0}),D.GarminStick3=void 0;const m=M(7799);D.GarminStick3=class I extends m.USBDriver{constructor(){super(4047,4105)}}},5394:(ce,D)=>{"use strict";Object.defineProperty(D,"__esModule",{value:!0}),D.CancellationError=D.CancellationToken=void 0,D.CancellationToken=class M{get isCancelled(){return this._isCancelled}constructor(){this._isCancelled=!1}cancelled(){if(this._isCancelled)throw this._isCancelled=!1,new m}cancel(){this._isCancelled=!0}};class m extends Error{constructor(Z){super(Z??"Operation was cancelled"),this.name="CancellationError"}}D.CancellationError=m},2455:(ce,D,M)=>{"use strict";Object.defineProperty(D,"__esModule",{value:!0}),D.Messages=void 0;const m=M(5098);class I{static resetSystem(){const v=[];return v.push(0),this.buildMessage(v,m.Constants.MESSAGE_SYSTEM_RESET)}static requestMessage(v,S){let w=[];return w=w.concat(this.intToLEHexArray(v)),w.push(S),this.buildMessage(w,m.Constants.MESSAGE_CHANNEL_REQUEST)}static setNetworkKey(){const v=[];return v.push(m.Constants.DEFAULT_NETWORK_NUMBER),v.push(185),v.push(165),v.push(33),v.push(251),v.push(189),v.push(114),v.push(195),v.push(69),this.buildMessage(v,m.Constants.MESSAGE_NETWORK_KEY)}static assignChannel(v,S="receive"){let w=[];if(w=w.concat(this.intToLEHexArray(v)),"receive"===S)w.push(m.Constants.CHANNEL_TYPE_TWOWAY_RECEIVE);else if("receive_only"===S)w.push(m.Constants.CHANNEL_TYPE_ONEWAY_RECEIVE);else if("receive_shared"===S)w.push(m.Constants.CHANNEL_TYPE_SHARED_RECEIVE);else if("transmit"===S)w.push(m.Constants.CHANNEL_TYPE_TWOWAY_TRANSMIT);else if("transmit_only"===S)w.push(m.Constants.CHANNEL_TYPE_ONEWAY_TRANSMIT);else{if("transmit_shared"!==S)throw"type not allowed";w.push(m.Constants.CHANNEL_TYPE_SHARED_TRANSMIT)}return w.push(m.Constants.DEFAULT_NETWORK_NUMBER),this.buildMessage(w,m.Constants.MESSAGE_CHANNEL_ASSIGN)}static setDevice(v,S,w,A){let b=[];return b=b.concat(this.intToLEHexArray(v)),b=b.concat(this.intToLEHexArray(S,2)),b=b.concat(this.intToLEHexArray(w)),b=b.concat(this.intToLEHexArray(A)),this.buildMessage(b,m.Constants.MESSAGE_CHANNEL_ID)}static searchChannel(v,S){let w=[];return w=w.concat(this.intToLEHexArray(v)),w=w.concat(this.intToLEHexArray(S)),this.buildMessage(w,m.Constants.MESSAGE_CHANNEL_SEARCH_TIMEOUT)}static setPeriod(v,S){let w=[];return w=w.concat(this.intToLEHexArray(v)),w=w.concat(this.intToLEHexArray(S)),this.buildMessage(w,m.Constants.MESSAGE_CHANNEL_PERIOD)}static setFrequency(v,S){let w=[];return w=w.concat(this.intToLEHexArray(v)),w=w.concat(this.intToLEHexArray(S)),this.buildMessage(w,m.Constants.MESSAGE_CHANNEL_FREQUENCY)}static setRxExt(){let v=[];return v=v.concat(this.intToLEHexArray(0)),v=v.concat(this.intToLEHexArray(1)),this.buildMessage(v,m.Constants.MESSAGE_ENABLE_RX_EXT)}static libConfig(v,S){let w=[];return w=w.concat(this.intToLEHexArray(v)),w=w.concat(this.intToLEHexArray(S)),this.buildMessage(w,m.Constants.MESSAGE_LIB_CONFIG)}static openRxScan(){let v=[];return v=v.concat(this.intToLEHexArray(0)),v=v.concat(this.intToLEHexArray(1)),this.buildMessage(v,m.Constants.MESSAGE_CHANNEL_OPEN_RX_SCAN)}static openChannel(v){let S=[];return S=S.concat(this.intToLEHexArray(v)),this.buildMessage(S,m.Constants.MESSAGE_CHANNEL_OPEN)}static closeChannel(v){let S=[];return S=S.concat(this.intToLEHexArray(v)),this.buildMessage(S,m.Constants.MESSAGE_CHANNEL_CLOSE)}static unassignChannel(v){let S=[];return S=S.concat(this.intToLEHexArray(v)),this.buildMessage(S,m.Constants.MESSAGE_CHANNEL_UNASSIGN)}static acknowledgedData(v,S){return S=this.intToLEHexArray(v).concat(S),this.buildMessage(S,m.Constants.MESSAGE_CHANNEL_ACKNOWLEDGED_DATA)}static broadcastData(v,S){return S=this.intToLEHexArray(v).concat(S),this.buildMessage(S,m.Constants.MESSAGE_CHANNEL_BROADCAST_DATA)}static buildMessage(v=[],S=0){const w=[];return w.push(m.Constants.MESSAGE_TX_SYNC),w.push(v.length),w.push(S),v.forEach(A=>{w.push(A)}),w.push(this.getChecksum(w)),new DataView(new Uint8Array(w).buffer)}static intToLEHexArray(v,S=1){var w;const A=[],b=this.decimalToHex(v,2*(S=S||1)),E=new DataView(new Uint8Array((null===(w=b.match(/.{1,2}/g))||void 0===w?void 0:w.map(N=>parseInt(N,16)))||[]).buffer);let T=E.byteLength-1;for(;T>=0;)A.push(E.getUint8(T)),T--;return A}static decimalToHex(v,S){let w=Number(v).toString(16);for(S=S||2;w.length{S=(S^w)%255}),S}}D.Messages=I,I.BUFFER_INDEX_MSG_LEN=1,I.BUFFER_INDEX_MSG_TYPE=2,I.BUFFER_INDEX_CHANNEL_NUM=3,I.BUFFER_INDEX_MSG_DATA=4,I.BUFFER_INDEX_EXT_MSG_BEGIN=12},7799:function(ce,D,M){"use strict";var m=this&&this.__awaiter||function(A,b,E,T){return new(E||(E=Promise))(function(P,H){function re(te){try{G(T.next(te))}catch(ze){H(ze)}}function oe(te){try{G(T.throw(te))}catch(ze){H(ze)}}function G(te){te.done?P(te.value):function N(P){return P instanceof E?P:new E(function(H){H(P)})}(te.value).then(re,oe)}G((T=T.apply(A,b||[])).next())})};Object.defineProperty(D,"__esModule",{value:!0}),D.USBDriver=void 0;const I=M(5098),Z=M(5394),v=M(7477),S=M(2455);class w extends v.EventEmitter{constructor(b,E){super(),this.vendorId=b,this.productId=E,this.deviceInUse=[],this.attachedSensors=[],this.usedChannels=0,this.readInCancellationToken=new Z.CancellationToken,this.maxChannels=0,this.canScan=!1,this.setMaxListeners(50)}static createFromPairedDevice(){var b;return m(this,void 0,void 0,function*(){const E=null===(b=yield this.getPairedDevices())||void 0===b?void 0:b[0];if(void 0!==E){const T=new w(E.vendorId,E.productId);return T.device=E,T}})}static createFromNewDevice(){return m(this,void 0,void 0,function*(){const b=yield navigator.usb.requestDevice({filters:this.supportedDevices.map(T=>({vendorId:T.vendor,productId:T.product}))}),E=new w(b.vendorId,b.productId);return E.device=b,E})}static createFromDevice(b){const E=new w(b.vendorId,b.productId);return E.device=b,E}static getPairedDevices(){return m(this,void 0,void 0,function*(){return(yield navigator.usb.getDevices()).filter(E=>(E.vendorId===this.supportedDevices[0].vendor||E.vendorId===this.supportedDevices[1].vendor)&&E.productId===this.supportedDevices[0].product||E.productId===this.supportedDevices[1].product)})}getDevice(){return m(this,void 0,void 0,function*(){return yield navigator.usb.requestDevice({filters:[{vendorId:this.vendorId,productId:this.productId}]})})}is_present(){return m(this,void 0,void 0,function*(){return void 0!==(yield this.getDevice())})}open(){var b,E,T,N;return m(this,void 0,void 0,function*(){void 0===this.device&&(this.device=yield this.getDevice());try{if(void 0===this.device)throw new Error("No device found");if(yield this.device.open(),void 0===(null===(b=this.device.configuration)||void 0===b?void 0:b.interfaces[0]))throw new Error("No interface found");this.interface=null===(E=this.device.configuration)||void 0===E?void 0:E.interfaces[0],yield this.device.claimInterface(this.interface.interfaceNumber)}catch(H){throw H}if(this.deviceInUse.push(this.device),this.inEndpoint=null===(T=this.interface)||void 0===T?void 0:T.alternate.endpoints.find(H=>"in"===H.direction),this.outEndpoint=null===(N=this.interface)||void 0===N?void 0:N.alternate.endpoints.find(H=>"out"===H.direction),!this.inEndpoint||!this.outEndpoint)throw new Error("No endpoints found");yield this.reset();const P=()=>m(this,void 0,void 0,function*(){if(void 0!==this.inEndpoint&&void 0!==this.device&&this.device.opened)try{this.readInCancellationToken.cancelled();const H=yield this.device.transferIn(this.inEndpoint.endpointNumber,this.inEndpoint.packetSize);if(!H.data)return;let re=H.data;if(this.leftover){const oe=new Uint8Array(this.leftover.byteLength+re.byteLength);oe.set(new Uint8Array(this.leftover.buffer),0),oe.set(new Uint8Array(re.buffer),this.leftover.byteLength),re=new DataView(oe.buffer),this.leftover=void 0}if(164!==re.getUint8(0))throw"SYNC missing";if("ok"===H.status){const oe=re.byteLength;let G=0;for(;Goe){this.leftover=new DataView(re.buffer.slice(G));break}const qr=new DataView(re.buffer.slice(G,ze));this.read(qr),G=ze}}yield P()}catch(H){if(!(H instanceof Z.CancellationError))throw H}});return yield P(),this.device})}close(){var b;return m(this,void 0,void 0,function*(){if(null===(b=this.readInCancellationToken)||void 0===b||b.cancel(),yield this.reset(),this.interface=void 0,!this.device)return;yield this.device.close(),this.emit("shutdown");const E=this.deviceInUse.indexOf(this.device);E>=0&&this.deviceInUse.splice(E,1),this.emit("attach",this.device),this.device=void 0})}reset(){return m(this,void 0,void 0,function*(){yield this.detach_all(),this.maxChannels=0,this.usedChannels=0,yield this.write(S.Messages.resetSystem())})}isScanning(){return-1===this.usedChannels}attach(b,E){if(this.usedChannels<0)return!1;if(E){if(0!==this.usedChannels)return!1;this.usedChannels=-1}else{if(this.maxChannels<=this.usedChannels)return!1;++this.usedChannels}return this.attachedSensors.push(b),!0}detach(b){const E=this.attachedSensors.indexOf(b);return!(E<0||(this.usedChannels<0?this.usedChannels=0:--this.usedChannels,this.attachedSensors.splice(E,1),0))}detach_all(){return Promise.all(this.attachedSensors.map(E=>E.detach()))}write(b){var E,T;return m(this,void 0,void 0,function*(){try{if(void 0===this.outEndpoint)throw new Error("No out endpoint");yield null===(E=this.device)||void 0===E?void 0:E.transferOut(null===(T=this.outEndpoint)||void 0===T?void 0:T.endpointNumber,b)}catch(N){throw N}})}read(b){return m(this,void 0,void 0,function*(){const E=b.getUint8(2);E===I.Constants.MESSAGE_STARTUP?yield this.write(S.Messages.requestMessage(0,I.Constants.MESSAGE_CAPABILITIES)):E===I.Constants.MESSAGE_CAPABILITIES?(this.maxChannels=b.getUint8(3),this.canScan=!(6&~b.getUint8(7)),yield this.write(S.Messages.setNetworkKey())):E===I.Constants.MESSAGE_CHANNEL_EVENT&&b.getUint8(4)===I.Constants.MESSAGE_NETWORK_KEY?this.emit("startup",b):this.emit("read",b)})}}D.USBDriver=w,w.supportedDevices=[{vendor:4047,product:4104,name:"GarminStick2"},{vendor:4047,product:4105,name:"GarminStick3"}]},1894:(ce,D)=>{"use strict";var m;Object.defineProperty(D,"__esModule",{value:!0}),D.PageState=void 0,(m=D.PageState||(D.PageState={}))[m.INIT_PAGE=0]="INIT_PAGE",m[m.STD_PAGE=1]="STD_PAGE",m[m.EXT_PAGE=2]="EXT_PAGE"},4487:(ce,D,M)=>{"use strict";D.ds=D.Zj=void 0;var I=M(7799);Object.defineProperty(D,"Zj",{enumerable:!0,get:function(){return I.USBDriver}});M(5098),M(6999),M(2848),M(2455),M(521),M(6510),M(9040),M(2492),M(4235),M(971),M(1151),M(2198),M(2156),M(9064),M(2130),M(3341),M(2950),M(5430),M(6104),M(11),M(9365),M(8481),M(6381),M(5084),M(4055),M(4143);var a0=M(4851);Object.defineProperty(D,"ds",{enumerable:!0,get:function(){return a0.HeartRateSensor}});M(4858),M(5872),M(6756),M(8078),M(6649),M(9315),M(5283),M(2871),M(7598),M(9775),M(2296),M(4338),M(3357),M(9884),M(8568),M(1586),M(4189)},7477:function(ce,D){"use strict";var I,M=this&&this.__classPrivateFieldGet||function(v,S,w,A){if("a"===w&&!A)throw new TypeError("Private accessor was defined without a getter");if("function"==typeof S?v!==S||!A:!S.has(v))throw new TypeError("Cannot read private member from an object whose class did not declare it");return"m"===w?A:"a"===w?A.call(v):A?A.value:S.get(v)},m=this&&this.__classPrivateFieldSet||function(v,S,w,A,b){if("m"===A)throw new TypeError("Private method is not writable");if("a"===A&&!b)throw new TypeError("Private accessor was defined without a setter");if("function"==typeof S?v!==S||!b:!S.has(v))throw new TypeError("Cannot write private member to an object whose class did not declare it");return"a"===A?b.call(v,w):b?b.value=w:S.set(v,w),w};Object.defineProperty(D,"__esModule",{value:!0}),D.EventEmitter=void 0,D.EventEmitter=class Z{constructor(){this.events=new Map,I.set(this,10)}get defaultMaxListeners(){return M(this,I,"f")}set defaultMaxListeners(S){if(Number.isInteger(S)||S<0)throw new RangeError(`The value of "defaultMaxListeners" is out of range. It must be a non-negative integer. Received ${S}.`);m(this,I,S,"f")}addListener(S,w){return this.on(S,w)}emit(S,...w){const A=this.events.get(S);if(void 0===A){if("error"===S){const E=w[0];throw E instanceof Error?E:new Error("Unhandled error.")}return!1}const b=[...A];for(const E of b)E.apply(this,w);return!0}setMaxListeners(S){if(!Number.isInteger(S)||S<0)throw new RangeError(`The value of "n" is out of range. It must be a non-negative integer. Received ${S}.`);return this.maxListeners=S,this}getMaxListeners(){return void 0===this.maxListeners?this.defaultMaxListeners:this.maxListeners}listenerCount(S){const w=this.events.get(S);return void 0===w?0:w.length}eventNames(){return Reflect.ownKeys(this.events)}listeners(S){const w=this.events.get(S);return void 0===w?[]:w}off(S,w){return this.removeListener(S,w)}on(S,w,A){!1===this.events.has(S)&&this.events.set(S,[]);const b=this.events.get(S);A?b.unshift(w):b.push(w),"newListener"!==S&&this.events.has("newListener")&&this.emit("newListener",S,w);const E=this.getMaxListeners();if(E>0&&b.length>E&&!b.warned){b.warned=!0;const N=new Error(`Possible EventEmitter memory leak detected.\n ${this.listenerCount(S)} ${S.toString()} listeners.\n Use emitter.setMaxListeners() to increase limit`);N.name="MaxListenersExceededWarning",console.warn(N)}return this}removeAllListeners(S){const{events:w}=this;if(!w.has("removeListener"))return 0===arguments.length?this.events=new Map:w.has(S)&&w.delete(S),this;if(0===arguments.length){for(const b of w.keys())"removeListener"!==b&&this.removeAllListeners(b);return this.removeAllListeners("removeListener"),this.events=new Map,this}const A=w.get(S);return void 0!==A&&A.forEach(b=>{this.removeListener(S,b)}),this}removeListener(S,w){const{events:A}=this;if(0===A.size)return this;const b=A.get(S);if(void 0===b)return this;const E=b.findIndex(T=>T===w||T.listener===w);return-1===E||(b.splice(E,1),0===b.length&&this.events.delete(S),A.has("removeListener")&&this.emit("removeListener",S,w)),this}once(S,w){return this.on(S,this.onceWrap(S,w)),this}onceWrap(S,w){const A=function(...T){this.context.removeListener(this.eventName,this.wrapedListener),this.listener.apply(this.context,T)},b={eventName:S,listener:w,wrapedListener:A,context:this},E=A.bind(b);return b.wrapedListener=E,E.listener=w,E}prependListener(S,w){return this.on(S,w,!0)}prependOnceListener(S,w){return this.prependListener(S,this.onceWrap(S,w)),this}rawListeners(S){const{events:w}=this;if(void 0===w)return[];const A=w.get(S);return void 0===A?[]:[...A]}},I=new WeakMap},5065:(ce,D)=>{"use strict";Object.defineProperty(D,"__esModule",{value:!0}),D.updateStrideSpeedDistanceSensorState=D.updateSpeedSensorState=D.updateSpeedCadenceSensorState=D.updateMuscleOxygenSensorState=D.updateHeartRateSensorState=D.resetFitnessEquipmentSensorState=D.updateFitnessEquipmentSensorState=D.updateEnvironmentSensorState=D.updateCadenceSensorState=D.updateBicyclePowerSensorState=void 0,D.updateBicyclePowerSensorState=function M(T,N,P){T.emit("powerData",N.updateState(P))},D.updateCadenceSensorState=function m(T,N,P){T.emit("cadenceData",N.updateState(P))},D.updateEnvironmentSensorState=function I(T,N,P){const H=N.updateState(P);T.emit("envdata",H),T.emit("envData",H)},D.updateFitnessEquipmentSensorState=function Z(T,N,P){T.emit("fitnessData",N.updateState(P))},D.resetFitnessEquipmentSensorState=function v(T){T.resetState()},D.updateHeartRateSensorState=function S(T,N,P,H){const re=N.updateState(P,H);T.emit("hbdata",re),T.emit("hbData",re)},D.updateMuscleOxygenSensorState=function w(T,N,P){const H=N.updateState(P);H&&T.emit("oxygenData",H)},D.updateSpeedCadenceSensorState=function A(T,N,P){const{updatedState:H,resultType:re}=N.updateState(P,T.wheelCircumference);switch(re){case"both":T.emit("cadenceData",H),T.emit("speedData",H);break;case"cadence":T.emit("cadenceData",H);break;case"speed":T.emit("speedData",H)}},D.updateSpeedSensorState=function b(T,N,P){const H=N.updateState(P,T.wheelCircumference);H&&T.emit("speedData",H)},D.updateStrideSpeedDistanceSensorState=function E(T,N,P){const H=N.updateState(P);T.emit("ssddata",H),T.emit("ssdData",H)}},521:(ce,D,M)=>{"use strict";Object.defineProperty(D,"__esModule",{value:!0}),D.AntPlusBaseSensor=void 0;const m=M(2492);D.AntPlusBaseSensor=class I extends m.BaseSensor{scan(v){return super.scan(v,57)}attach(v){return super.attach(Object.assign(Object.assign({},v),{frequency:57}))}}},6510:(ce,D,M)=>{"use strict";Object.defineProperty(D,"__esModule",{value:!0}),D.AntPlusScanner=void 0;const m=M(5098),I=M(2455),Z=M(521);D.AntPlusScanner=class v extends Z.AntPlusBaseSensor{constructor(w){super(w),this.decodeDataCbk=this.decodeData.bind(this)}scan(){return super.scan("receive")}attach(){throw new Error("attach unsupported")}send(){throw new Error("send unsupported")}decodeData(w){if(w.byteLength<=I.Messages.BUFFER_INDEX_EXT_MSG_BEGIN+3||!(128&w.getUint8(I.Messages.BUFFER_INDEX_EXT_MSG_BEGIN)))return void console.warn("wrong message format",w.buffer);const A=w.getUint16(I.Messages.BUFFER_INDEX_EXT_MSG_BEGIN+1,!0);if(w.getUint8(I.Messages.BUFFER_INDEX_EXT_MSG_BEGIN+3)===this.deviceType())switch(this.createStateIfNew(A),64&w.getUint8(I.Messages.BUFFER_INDEX_EXT_MSG_BEGIN)&&32===w.getUint8(I.Messages.BUFFER_INDEX_EXT_MSG_BEGIN+5)&&this.updateRssiAndThreshold(A,w.getInt8(I.Messages.BUFFER_INDEX_EXT_MSG_BEGIN+6),w.getInt8(I.Messages.BUFFER_INDEX_EXT_MSG_BEGIN+7)),w.getUint8(I.Messages.BUFFER_INDEX_MSG_TYPE)){case m.Constants.MESSAGE_CHANNEL_BROADCAST_DATA:case m.Constants.MESSAGE_CHANNEL_ACKNOWLEDGED_DATA:case m.Constants.MESSAGE_CHANNEL_BURST_DATA:this.updateState(A,w)}}}},9040:(ce,D,M)=>{"use strict";Object.defineProperty(D,"__esModule",{value:!0}),D.AntPlusSensor=void 0;const m=M(5098),I=M(2455),Z=M(521);D.AntPlusSensor=class v extends Z.AntPlusBaseSensor{constructor(w){super(w),this.decodeDataCbk=this.decodeData.bind(this)}scan(){throw"scanning unsupported"}attach(w){return super.attach(w)}decodeData(w){switch(w.getUint8(I.Messages.BUFFER_INDEX_MSG_TYPE)){case m.Constants.MESSAGE_CHANNEL_BROADCAST_DATA:case m.Constants.MESSAGE_CHANNEL_ACKNOWLEDGED_DATA:case m.Constants.MESSAGE_CHANNEL_BURST_DATA:void 0!==this.channel&&0===this.deviceID&&this.write(I.Messages.requestMessage(this.channel,m.Constants.MESSAGE_CHANNEL_ID)),void 0!==this.deviceID&&this.updateState(this.deviceID,w);break;case m.Constants.MESSAGE_CHANNEL_ID:this.deviceID=w.getUint16(I.Messages.BUFFER_INDEX_MSG_DATA,!0),this.transmissionType=w.getUint8(I.Messages.BUFFER_INDEX_MSG_DATA+3)}}}},2492:function(ce,D,M){"use strict";var m=this&&this.__awaiter||function(w,A,b,E){return new(b||(b=Promise))(function(N,P){function H(G){try{oe(E.next(G))}catch(te){P(te)}}function re(G){try{oe(E.throw(G))}catch(te){P(te)}}function oe(G){G.done?N(G.value):function T(N){return N instanceof b?N:new b(function(P){P(N)})}(G.value).then(H,re)}oe((E=E.apply(w,A||[])).next())})};Object.defineProperty(D,"__esModule",{value:!0}),D.BaseSensor=void 0;const I=M(5098),Z=M(7477),v=M(2455);D.BaseSensor=class S extends Z.EventEmitter{constructor(A){super(),this.stick=A,this.msgQueue=[],A.on("read",this.handleEventMessages.bind(this))}scan(A,b){return m(this,void 0,void 0,function*(){if(void 0!==this.channel)throw"already attached";if(!this.stick.canScan)throw"stick cannot scan";const T=this.msgQueue.shift(),N=P=>m(this,void 0,void 0,function*(){switch(P.msg){case I.Constants.MESSAGE_RF:switch(P.code){case I.Constants.EVENT_CHANNEL_CLOSED:case I.Constants.EVENT_RX_FAIL_GO_TO_SEARCH:return yield this.write(v.Messages.unassignChannel(0)),!0;case I.Constants.EVENT_TRANSFER_TX_COMPLETED:case I.Constants.EVENT_TRANSFER_TX_FAILED:case I.Constants.EVENT_RX_FAIL:case I.Constants.INVALID_SCAN_TX_CHANNEL:return T&&T.cbk&&T.cbk(P.code===I.Constants.EVENT_TRANSFER_TX_COMPLETED),this.msgQueue.length&&(yield this.write(this.msgQueue[0].msg)),!0}break;case I.Constants.MESSAGE_CHANNEL_ASSIGN:return yield this.write(v.Messages.setDevice(0,0,0,0)),!0;case I.Constants.MESSAGE_CHANNEL_ID:return yield this.write(v.Messages.setFrequency(0,b)),!0;case I.Constants.MESSAGE_CHANNEL_FREQUENCY:return yield this.write(v.Messages.setRxExt()),!0;case I.Constants.MESSAGE_ENABLE_RX_EXT:return yield this.write(v.Messages.libConfig(0,224)),!0;case I.Constants.MESSAGE_LIB_CONFIG:return yield this.write(v.Messages.openRxScan()),!0;case I.Constants.MESSAGE_CHANNEL_OPEN_RX_SCAN:return queueMicrotask(()=>this.emit("attached")),!0;case I.Constants.MESSAGE_CHANNEL_CLOSE:return!0;case I.Constants.MESSAGE_CHANNEL_UNASSIGN:return this.statusCbk=void 0,this.channel=void 0,queueMicrotask(()=>this.emit("detached")),!0;case I.Constants.MESSAGE_CHANNEL_ACKNOWLEDGED_DATA:return P.code===I.Constants.TRANSFER_IN_PROGRESS}return!1});if(this.stick.isScanning())this.channel=0,this.deviceID=0,this.transmissionType=0,this.statusCbk=N,queueMicrotask(()=>this.emit("attached"));else{if(!this.stick.attach(this,!0))throw"cannot attach";this.channel=0,this.deviceID=0,this.transmissionType=0,this.statusCbk=N,yield this.write(v.Messages.assignChannel(0,A))}})}attach(A){return m(this,void 0,void 0,function*(){const{channel:b,deviceID:E,type:T,deviceType:N,transmissionType:P,timeout:H,period:re,frequency:oe}=A;if(void 0!==this.channel)throw"already attached";if(!this.stick.attach(this,!1))throw"cannot attach";this.channel=b,this.deviceID=E,this.transmissionType=P;const G=this.msgQueue.shift();this.statusCbk=ze=>m(this,void 0,void 0,function*(){switch(ze.msg){case I.Constants.MESSAGE_RF:switch(ze.code){case I.Constants.EVENT_CHANNEL_CLOSED:case I.Constants.EVENT_RX_FAIL_GO_TO_SEARCH:return yield this.write(v.Messages.unassignChannel(b)),!0;case I.Constants.EVENT_TRANSFER_TX_COMPLETED:case I.Constants.EVENT_TRANSFER_TX_FAILED:case I.Constants.EVENT_RX_FAIL:case I.Constants.INVALID_SCAN_TX_CHANNEL:return G&&G.cbk&&G.cbk(ze.code===I.Constants.EVENT_TRANSFER_TX_COMPLETED),this.msgQueue.length&&(yield this.write(this.msgQueue[0].msg)),!0}break;case I.Constants.MESSAGE_CHANNEL_ASSIGN:if(void 0===N)throw"deviceType required";if(void 0===P)throw"transmissionType required";return yield this.write(v.Messages.setDevice(b,E,N,P)),!0;case I.Constants.MESSAGE_CHANNEL_ID:if(void 0===H)throw"timeout required";return yield this.write(v.Messages.searchChannel(b,H)),!0;case I.Constants.MESSAGE_CHANNEL_SEARCH_TIMEOUT:return yield this.write(v.Messages.setFrequency(b,oe)),!0;case I.Constants.MESSAGE_CHANNEL_FREQUENCY:if(void 0===re)throw"period required";return yield this.write(v.Messages.setPeriod(b,re)),!0;case I.Constants.MESSAGE_CHANNEL_PERIOD:return yield this.write(v.Messages.libConfig(b,224)),!0;case I.Constants.MESSAGE_LIB_CONFIG:return yield this.write(v.Messages.openChannel(b)),!0;case I.Constants.MESSAGE_CHANNEL_OPEN:return queueMicrotask(()=>this.emit("attached")),!0;case I.Constants.MESSAGE_CHANNEL_CLOSE:return!0;case I.Constants.MESSAGE_CHANNEL_UNASSIGN:return this.statusCbk=void 0,this.channel=void 0,queueMicrotask(()=>this.emit("detached")),!0;case I.Constants.MESSAGE_CHANNEL_ACKNOWLEDGED_DATA:return ze.code===I.Constants.TRANSFER_IN_PROGRESS}return!1}),yield this.write(v.Messages.assignChannel(b,T))})}detach(){return m(this,void 0,void 0,function*(){if(void 0!==this.channel){if(yield this.write(v.Messages.closeChannel(this.channel)),!this.stick.detach(this))throw"error detaching";this.channel=void 0}})}write(A){return m(this,void 0,void 0,function*(){yield this.stick.write(A)})}handleEventMessages(A){return m(this,void 0,void 0,function*(){const b=A.getUint8(v.Messages.BUFFER_INDEX_MSG_TYPE);if(A.getUint8(v.Messages.BUFFER_INDEX_CHANNEL_NUM)===this.channel)if(b===I.Constants.MESSAGE_CHANNEL_EVENT){const T={msg:A.getUint8(v.Messages.BUFFER_INDEX_MSG_DATA),code:A.getUint8(v.Messages.BUFFER_INDEX_MSG_DATA+1)};this.statusCbk&&(yield this.statusCbk(T))||this.emit("eventData",{message:A.getUint8(v.Messages.BUFFER_INDEX_MSG_DATA),code:A.getUint8(v.Messages.BUFFER_INDEX_MSG_DATA+1)})}else this.decodeDataCbk&&this.decodeDataCbk(A)})}send(A,b){return m(this,void 0,void 0,function*(){this.msgQueue.push({msg:A,cbk:b}),1===this.msgQueue.length&&(yield this.write(A))})}}},971:(ce,D,M)=>{"use strict";Object.defineProperty(D,"__esModule",{value:!0}),D.BicyclePowerScanState=void 0;const m=M(2198);D.BicyclePowerScanState=class I extends m.BicyclePowerSensorState{}},4235:(ce,D,M)=>{"use strict";Object.defineProperty(D,"__esModule",{value:!0}),D.BicyclePowerScanner=void 0;const m=M(5065),I=M(6510),Z=M(971),v=M(1151);D.BicyclePowerScanner=class S extends I.AntPlusScanner{constructor(){super(...arguments),this.states={}}deviceType(){return v.BicyclePowerSensor.deviceType}createStateIfNew(A){this.states[A]||(this.states[A]=new Z.BicyclePowerScanState(A))}updateRssiAndThreshold(A,b,E){this.states[A].Rssi=b,this.states[A].Threshold=E}updateState(A,b){(0,m.updateBicyclePowerSensorState)(this,this.states[A],b)}}},1151:function(ce,D,M){"use strict";var m=this&&this.__awaiter||function(w,A,b,E){return new(b||(b=Promise))(function(N,P){function H(G){try{oe(E.next(G))}catch(te){P(te)}}function re(G){try{oe(E.throw(G))}catch(te){P(te)}}function oe(G){G.done?N(G.value):function T(N){return N instanceof b?N:new b(function(P){P(N)})}(G.value).then(H,re)}oe((E=E.apply(w,A||[])).next())})};Object.defineProperty(D,"__esModule",{value:!0}),D.BicyclePowerSensor=void 0;const I=M(5065),Z=M(9040),v=M(2198);class S extends Z.AntPlusSensor{attachSensor(A,b){const E=Object.create(null,{attach:{get:()=>super.attach}});return m(this,void 0,void 0,function*(){yield E.attach.call(this,{channel:A,type:"receive",deviceID:b,deviceType:S.deviceType,transmissionType:0,timeout:255,period:8182}),this.state=new v.BicyclePowerSensorState(b)})}updateState(A,b){if(!this.state)throw new Error("BicyclePowerSensor: not attached");this.state.DeviceID=A,(0,I.updateBicyclePowerSensorState)(this,this.state,b)}}D.BicyclePowerSensor=S,S.deviceType=11},2198:(ce,D,M)=>{"use strict";Object.defineProperty(D,"__esModule",{value:!0}),D.BicyclePowerSensorState=void 0;const m=M(2455);D.BicyclePowerSensorState=class I{constructor(v){this.offset=0,this.DeviceID=v}updateState(v){switch(v.getUint8(m.Messages.BUFFER_INDEX_MSG_DATA)){case 1:16===v.getUint8(m.Messages.BUFFER_INDEX_MSG_DATA+1)&&1===v.getUint8(m.Messages.BUFFER_INDEX_MSG_DATA+2)&&(this.offset=v.getUint16(m.Messages.BUFFER_INDEX_MSG_DATA+6,!0));break;case 16:{const w=v.getUint8(m.Messages.BUFFER_INDEX_MSG_DATA+2);255!==w?128&w?(this.PedalPower=127&w,this.RightPedalPower=this.PedalPower,this.LeftPedalPower=100-this.RightPedalPower):(this.PedalPower=127&w,this.RightPedalPower=void 0,this.LeftPedalPower=void 0):(this.PedalPower=void 0,this.RightPedalPower=void 0,this.LeftPedalPower=void 0);const A=v.getUint8(m.Messages.BUFFER_INDEX_MSG_DATA+3);this.Cadence=255!==A?A:void 0,this.AccumulatedPower=v.getUint16(m.Messages.BUFFER_INDEX_MSG_DATA+4,!0),this.Power=v.getUint16(m.Messages.BUFFER_INDEX_MSG_DATA+6,!0);break}case 32:{const w=this.EventCount,A=this.TimeStamp,b=this.TorqueTicksStamp;let E=v.getUint8(m.Messages.BUFFER_INDEX_MSG_DATA+1);const T=v.getUint16(m.Messages.BUFFER_INDEX_MSG_DATA+3,!0);let N=v.getUint16(m.Messages.BUFFER_INDEX_MSG_DATA+5,!0),P=v.getUint16(m.Messages.BUFFER_INDEX_MSG_DATA+7,!0);if(N!==A&&E!==w){this.EventCount=E,w&&w>E&&(E+=255),this.TimeStamp=N,A&&A>N&&(N+=65400),this.Slope=T,this.TorqueTicksStamp=P,b&&b>P&&(P+=65535);const H=5e-4*(N-(A||0)),re=P-(b||0),G=Math.round(60/(H/(E-(w||0))));this.CalculatedCadence=G;const ze=(1/(H/re)-this.offset)/(T/10);this.CalculatedTorque=ze,this.CalculatedPower=ze*G*Math.PI/30}break}}return this.ReceivedAt=Date.now(),this}}},9064:(ce,D,M)=>{"use strict";Object.defineProperty(D,"__esModule",{value:!0}),D.CadenceScanState=void 0;const m=M(3341);D.CadenceScanState=class I extends m.CadenceSensorState{}},2156:(ce,D,M)=>{"use strict";Object.defineProperty(D,"__esModule",{value:!0}),D.CadenceScanner=void 0;const m=M(5065),I=M(6510),Z=M(9064),v=M(2130);D.CadenceScanner=class S extends I.AntPlusScanner{constructor(){super(...arguments),this.wheelCircumference=2.199,this.states={}}deviceType(){return v.CadenceSensor.deviceType}setWheelCircumference(A){this.wheelCircumference=A}createStateIfNew(A){this.states[A]||(this.states[A]=new Z.CadenceScanState(A))}updateRssiAndThreshold(A,b,E){this.states[A].Rssi=b,this.states[A].Threshold=E}updateState(A,b){(0,m.updateCadenceSensorState)(this,this.states[A],b)}}},2130:function(ce,D,M){"use strict";var m=this&&this.__awaiter||function(w,A,b,E){return new(b||(b=Promise))(function(N,P){function H(G){try{oe(E.next(G))}catch(te){P(te)}}function re(G){try{oe(E.throw(G))}catch(te){P(te)}}function oe(G){G.done?N(G.value):function T(N){return N instanceof b?N:new b(function(P){P(N)})}(G.value).then(H,re)}oe((E=E.apply(w,A||[])).next())})};Object.defineProperty(D,"__esModule",{value:!0}),D.CadenceSensor=void 0;const I=M(5065),Z=M(9040),v=M(3341);class S extends Z.AntPlusSensor{constructor(){super(...arguments),this.wheelCircumference=2.199}setWheelCircumference(A){this.wheelCircumference=A}attachSensor(A,b){const E=Object.create(null,{attach:{get:()=>super.attach}});return m(this,void 0,void 0,function*(){yield E.attach.call(this,{channel:A,type:"receive",deviceID:b,deviceType:S.deviceType,transmissionType:0,timeout:255,period:8086}),this.state=new v.CadenceSensorState(b)})}updateState(A,b){if(!this.state)throw new Error("CadenceSensor: not attached");this.state.DeviceID=A,(0,I.updateCadenceSensorState)(this,this.state,b)}}D.CadenceSensor=S,S.deviceType=122},3341:(ce,D,M)=>{"use strict";Object.defineProperty(D,"__esModule",{value:!0}),D.CadenceSensorState=void 0;const m=M(2455);D.CadenceSensorState=class I{constructor(v){this.DeviceID=v}updateState(v){switch(-129&v.getUint8(m.Messages.BUFFER_INDEX_MSG_DATA)){case 1:this.OperatingTime=v.getUint8(m.Messages.BUFFER_INDEX_MSG_DATA+1),this.OperatingTime|=v.getUint8(m.Messages.BUFFER_INDEX_MSG_DATA+2)<<8,this.OperatingTime|=v.getUint8(m.Messages.BUFFER_INDEX_MSG_DATA+3)<<16,this.OperatingTime*=2;break;case 2:this.ManId=v.getUint8(m.Messages.BUFFER_INDEX_MSG_DATA+1),this.SerialNumber=this.DeviceID,this.SerialNumber|=v.getUint16(m.Messages.BUFFER_INDEX_MSG_DATA+2,!0)<<16,this.SerialNumber>>>=0;break;case 3:this.HwVersion=v.getUint8(m.Messages.BUFFER_INDEX_MSG_DATA+1),this.SwVersion=v.getUint8(m.Messages.BUFFER_INDEX_MSG_DATA+2),this.ModelNum=v.getUint8(m.Messages.BUFFER_INDEX_MSG_DATA+3);break;case 4:{const N=v.getUint8(m.Messages.BUFFER_INDEX_MSG_DATA+2),P=v.getUint8(m.Messages.BUFFER_INDEX_MSG_DATA+3);switch(this.BatteryVoltage=(15&P)+N/256,(112&P)>>>4){case 1:this.BatteryStatus="New";break;case 2:this.BatteryStatus="Good";break;case 3:this.BatteryStatus="Ok";break;case 4:this.BatteryStatus="Low";break;case 5:this.BatteryStatus="Critical";break;default:this.BatteryVoltage=void 0,this.BatteryStatus="Invalid"}break}case 5:this.Motion=!(1&~v.getUint8(m.Messages.BUFFER_INDEX_MSG_DATA+1))}const A=this.CadenceEventTime,b=this.CumulativeCadenceRevolutionCount;let E=v.getUint16(m.Messages.BUFFER_INDEX_MSG_DATA+4,!0),T=v.getUint16(m.Messages.BUFFER_INDEX_MSG_DATA+6,!0);if(E!==A){this.CadenceEventTime=E,this.CumulativeCadenceRevolutionCount=T,A&&A>E&&(E+=65536),b&&b>T&&(T+=65536);const N=60*(T-(b||0))*1024/(E-(A||0));isNaN(N)||(this.CalculatedCadence=N)}return this.ReceivedAt=Date.now(),this}}},5430:(ce,D,M)=>{"use strict";Object.defineProperty(D,"__esModule",{value:!0}),D.EnvironmentScanState=void 0;const m=M(11);D.EnvironmentScanState=class I extends m.EnvironmentSensorState{}},2950:(ce,D,M)=>{"use strict";Object.defineProperty(D,"__esModule",{value:!0}),D.EnvironmentScanner=void 0;const m=M(5065),I=M(6510),Z=M(5430),v=M(6104);D.EnvironmentScanner=class S extends I.AntPlusScanner{constructor(){super(...arguments),this.states={}}deviceType(){return v.EnvironmentSensor.deviceType}createStateIfNew(A){this.states[A]||(this.states[A]=new Z.EnvironmentScanState(A))}updateRssiAndThreshold(A,b,E){this.states[A].Rssi=b,this.states[A].Threshold=E}updateState(A,b){(0,m.updateEnvironmentSensorState)(this,this.states[A],b)}}},6104:function(ce,D,M){"use strict";var m=this&&this.__awaiter||function(w,A,b,E){return new(b||(b=Promise))(function(N,P){function H(G){try{oe(E.next(G))}catch(te){P(te)}}function re(G){try{oe(E.throw(G))}catch(te){P(te)}}function oe(G){G.done?N(G.value):function T(N){return N instanceof b?N:new b(function(P){P(N)})}(G.value).then(H,re)}oe((E=E.apply(w,A||[])).next())})};Object.defineProperty(D,"__esModule",{value:!0}),D.EnvironmentSensor=void 0;const I=M(5065),Z=M(9040),v=M(11);class S extends Z.AntPlusSensor{attachSensor(A,b){const E=Object.create(null,{attach:{get:()=>super.attach}});return m(this,void 0,void 0,function*(){yield E.attach.call(this,{channel:A,type:"receive",deviceID:b,deviceType:S.deviceType,transmissionType:0,timeout:255,period:8192}),this.state=new v.EnvironmentSensorState(b)})}updateState(A,b){if(!this.state)throw new Error("EnvironmentSensor: not attached");this.state.DeviceID=A,(0,I.updateEnvironmentSensorState)(this,this.state,b)}}D.EnvironmentSensor=S,S.deviceType=25},11:(ce,D,M)=>{"use strict";Object.defineProperty(D,"__esModule",{value:!0}),D.EnvironmentSensorState=void 0;const m=M(2455);D.EnvironmentSensorState=class I{constructor(v){this.DeviceID=v}updateState(v){return 1===v.getUint8(m.Messages.BUFFER_INDEX_MSG_DATA)&&(this.EventCount=v.getUint8(m.Messages.BUFFER_INDEX_MSG_DATA+2),this.Temperature=v.getUint16(m.Messages.BUFFER_INDEX_MSG_DATA+6,!0)/100),this.ReceivedAt=Date.now(),this}}},8481:(ce,D,M)=>{"use strict";Object.defineProperty(D,"__esModule",{value:!0}),D.FitnessEquipmentScanState=void 0;const m=M(5084);D.FitnessEquipmentScanState=class I extends m.FitnessEquipmentSensorState{}},9365:(ce,D,M)=>{"use strict";Object.defineProperty(D,"__esModule",{value:!0}),D.FitnessEquipmentScanner=void 0;const m=M(5065),I=M(6510),Z=M(8481),v=M(6381);D.FitnessEquipmentScanner=class S extends I.AntPlusScanner{constructor(){super(...arguments),this.states={}}deviceType(){return v.FitnessEquipmentSensor.deviceType}createStateIfNew(A){this.states[A]||(this.states[A]=new Z.FitnessEquipmentScanState(A))}updateRssiAndThreshold(A,b,E){this.states[A].Rssi=b,this.states[A].Threshold=E}updateState(A,b){(0,m.updateFitnessEquipmentSensorState)(this,this.states[A],b)}}},6381:function(ce,D,M){"use strict";var m=this&&this.__awaiter||function(A,b,E,T){return new(E||(E=Promise))(function(P,H){function re(te){try{G(T.next(te))}catch(ze){H(ze)}}function oe(te){try{G(T.throw(te))}catch(ze){H(ze)}}function G(te){te.done?P(te.value):function N(P){return P instanceof E?P:new E(function(H){H(P)})}(te.value).then(re,oe)}G((T=T.apply(A,b||[])).next())})};Object.defineProperty(D,"__esModule",{value:!0}),D.FitnessEquipmentSensor=void 0;const I=M(5065),Z=M(2455),v=M(9040),S=M(5084);class w extends v.AntPlusSensor{attachSensor(b,E){const T=Object.create(null,{attach:{get:()=>super.attach}});return m(this,void 0,void 0,function*(){yield T.attach.call(this,{channel:b,type:"receive",deviceID:E,deviceType:w.deviceType,transmissionType:0,timeout:255,period:8192}),this.state=new S.FitnessEquipmentSensorState(E)})}updateState(b,E){if(!this.state)throw new Error("FitnessEquipmentSensor: not attached");this.state.DeviceID=b,(0,I.updateFitnessEquipmentSensorState)(this,this.state,E)}_setUserConfiguration(b,E,T,N,P){if(void 0===this.channel)throw new Error("FitnessEquipmentSensor: not attached");const H=void 0===b?65535:Math.max(0,Math.min(65534,Math.round(100*b))),re=void 0===T?255:Math.round(10*T)%10,oe=void 0===E?4095:Math.max(0,Math.min(1e3,Math.round(20*E))),G=void 0===T?255:Math.max(0,Math.min(254,Math.round(T))),te=void 0===N?0:Math.max(1,Math.min(255,Math.round(N/.03))),qr=Z.Messages.acknowledgedData(this.channel,[55,255&H,H>>8&255,255,15&re|(15&oe)<<4,oe>>4&15,255&G,255&te]);this.send(qr,P)}setUserConfiguration(b,E,T,N,P){return"function"==typeof b?this._setUserConfiguration(void 0,void 0,void 0,void 0,b):"function"==typeof E?this._setUserConfiguration(b,void 0,void 0,void 0,E):"function"==typeof T?this._setUserConfiguration(b,E,void 0,void 0,T):"function"==typeof N?this._setUserConfiguration(b,E,T,void 0,N):this._setUserConfiguration(b,E,T,N,P)}setBasicResistance(b,E){if(void 0===this.channel)throw new Error("Channel not attached");const N=[48,255,255,255,255,255,255,255&Math.max(0,Math.min(200,Math.round(2*b)))],P=Z.Messages.acknowledgedData(this.channel,N);this.send(P,E)}setTargetPower(b,E){if(void 0===this.channel)throw new Error("Channel not attached");const T=Math.max(0,Math.min(4e3,Math.round(4*b))),P=Z.Messages.acknowledgedData(this.channel,[49,255,255,255,255,255,255&T,T>>8&255]);this.send(P,E)}_setWindResistance(b,E,T,N){if(void 0===this.channel)throw new Error("Channel not attached");const P=void 0===b?255:Math.max(0,Math.min(186,Math.round(100*b))),H=void 0===E?255:Math.max(0,Math.min(254,Math.round(E+127))),re=void 0===T?255:Math.max(0,Math.min(100,Math.round(100*T))),G=Z.Messages.acknowledgedData(this.channel,[50,255,255,255,255,255&P,255&H,255&re]);this.send(G,N)}setWindResistance(b,E,T,N){return"function"==typeof b?this._setWindResistance(void 0,void 0,void 0,b):"function"==typeof E?this._setWindResistance(b,void 0,void 0,E):"function"==typeof T?this._setWindResistance(b,E,void 0,T):this._setWindResistance(b,E,T,N)}_setTrackResistance(b,E,T){if(void 0===this.channel)throw new Error("Channel not attached");const N=void 0===b?65535:Math.max(0,Math.min(4e4,Math.round(100*(b+200)))),P=void 0===E?255:Math.max(0,Math.min(254,Math.round(2e4*E))),re=Z.Messages.acknowledgedData(this.channel,[51,255,255,255,255,255&N,N>>8&255,255&P]);this.send(re,T)}setTrackResistance(b,E,T){return"function"==typeof b?this._setTrackResistance(void 0,void 0,b):"function"==typeof E?this._setTrackResistance(b,void 0,E):this._setTrackResistance(b,E,T)}}D.FitnessEquipmentSensor=w,w.deviceType=17},5084:(ce,D,M)=>{"use strict";Object.defineProperty(D,"__esModule",{value:!0}),D.FitnessEquipmentSensorState=void 0;const m=M(2455);D.FitnessEquipmentSensorState=class I{constructor(v){this.PairedDevices=[],this.DeviceID=v}resetState(){delete this.ElapsedTime,delete this.Distance,delete this.RealSpeed,delete this.VirtualSpeed,delete this.HeartRate,delete this.HeartRateSource,delete this.CycleLength,delete this.Incline,delete this.Resistance,delete this.METs,delete this.CaloricBurnRate,delete this.Calories,delete this._EventCount0x19,delete this._EventCount0x1A,delete this.Cadence,delete this.AccumulatedPower,delete this.InstantaneousPower,delete this.AveragePower,delete this.TrainerStatus,delete this.TargetStatus,delete this.AscendedDistance,delete this.DescendedDistance,delete this.Strides,delete this.Strokes,delete this.WheelTicks,delete this.WheelPeriod,delete this.Torque}updateState(v){switch(v.getUint8(m.Messages.BUFFER_INDEX_MSG_DATA)){case 1:{const w=v.getUint8(m.Messages.BUFFER_INDEX_MSG_DATA+3);255!==w&&(this.Temperature=.5*w-25);const A=v.getUint8(m.Messages.BUFFER_INDEX_MSG_DATA+1);64&A&&(this.ZeroOffset=v.getUint16(m.Messages.BUFFER_INDEX_MSG_DATA+4,!0)),128&A&&(this.SpinDownTime=v.getUint16(m.Messages.BUFFER_INDEX_MSG_DATA+6,!0));break}case 16:{switch(31&v.getUint8(m.Messages.BUFFER_INDEX_MSG_DATA+1)){case 19:this.EquipmentType="Treadmill";break;case 20:this.EquipmentType="Elliptical";break;case 21:this.EquipmentType="Reserved";break;case 22:this.EquipmentType="Rower";break;case 23:this.EquipmentType="Climber";break;case 24:this.EquipmentType="NordicSkier";break;case 25:this.EquipmentType="Trainer/StationaryBike";break;default:this.EquipmentType="General"}let A=v.getUint8(m.Messages.BUFFER_INDEX_MSG_DATA+2),b=v.getUint8(m.Messages.BUFFER_INDEX_MSG_DATA+3);const E=v.getUint16(m.Messages.BUFFER_INDEX_MSG_DATA+4,!0),T=v.getUint8(m.Messages.BUFFER_INDEX_MSG_DATA+6),N=v.getUint8(m.Messages.BUFFER_INDEX_MSG_DATA+7);if(255!==T)switch(3&N){case 3:this.HeartRate=T,this.HeartRateSource="HandContact";break;case 2:this.HeartRate=T,this.HeartRateSource="EM";break;case 1:this.HeartRate=T,this.HeartRateSource="ANT+";break;default:delete this.HeartRate,delete this.HeartRateSource}A/=4;const P=(this.ElapsedTime||0)%64;if(A!==P&&P>A&&(A+=64),this.ElapsedTime=(this.ElapsedTime||0)+A-P,4&N){const H=(this.Distance||0)%256;b!==H&&H>b&&(b+=256),this.Distance=(this.Distance||0)+b-H}else delete this.Distance;switch(8&N?(this.VirtualSpeed=E/1e3,delete this.RealSpeed):(delete this.VirtualSpeed,this.RealSpeed=E/1e3),(112&N)>>4){case 1:this.State="OFF";break;case 2:this.State="READY",this.resetState();break;case 3:this.State="IN_USE";break;case 4:this.State="FINISHED";break;default:delete this.State}break}case 17:{const w=v.getUint8(m.Messages.BUFFER_INDEX_MSG_DATA+3),A=v.getInt16(m.Messages.BUFFER_INDEX_MSG_DATA+4,!0),b=v.getUint8(m.Messages.BUFFER_INDEX_MSG_DATA+6),E=v.getUint8(m.Messages.BUFFER_INDEX_MSG_DATA+7);switch(255!==w&&(this.CycleLength=w/100),A>=-1e4&&A<=1e4&&(this.Incline=A/100),255!==b&&(this.Resistance=b),(112&E)>>4){case 1:this.State="OFF";break;case 2:this.State="READY",this.resetState();break;case 3:this.State="IN_USE";break;case 4:this.State="FINISHED";break;default:delete this.State}break}case 18:{const w=v.getUint16(m.Messages.BUFFER_INDEX_MSG_DATA+2,!0),A=v.getUint16(m.Messages.BUFFER_INDEX_MSG_DATA+4,!0),b=v.getUint8(m.Messages.BUFFER_INDEX_MSG_DATA+6),E=v.getUint8(m.Messages.BUFFER_INDEX_MSG_DATA+7);switch(65535!==w&&(this.METs=w/100),65535!==A&&(this.CaloricBurnRate=A/10),1&E&&(this.Calories=b),(112&E)>>4){case 1:this.State="OFF";break;case 2:this.State="READY",this.resetState();break;case 3:this.State="IN_USE";break;case 4:this.State="FINISHED";break;default:delete this.State}break}case 19:{const w=v.getUint8(m.Messages.BUFFER_INDEX_MSG_DATA+4);let A=v.getUint8(m.Messages.BUFFER_INDEX_MSG_DATA+5),b=v.getUint8(m.Messages.BUFFER_INDEX_MSG_DATA+6);const E=v.getUint8(m.Messages.BUFFER_INDEX_MSG_DATA+7);if(255!==w&&(this.Cadence=w),2&E){const T=(this.DescendedDistance||0)%256;A!==T&&T>A&&(A+=256),this.DescendedDistance=(this.DescendedDistance||0)+A-T}if(1&E){const T=(this.AscendedDistance||0)%256;b!==T&&T>b&&(b+=256),this.AscendedDistance=(this.AscendedDistance||0)+b-T}switch((112&E)>>4){case 1:this.State="OFF";break;case 2:this.State="READY",this.resetState();break;case 3:this.State="IN_USE";break;case 4:this.State="FINISHED";break;default:delete this.State}break}case 20:{let w=v.getUint8(m.Messages.BUFFER_INDEX_MSG_DATA+2),A=v.getUint8(m.Messages.BUFFER_INDEX_MSG_DATA+3);const b=v.getUint8(m.Messages.BUFFER_INDEX_MSG_DATA+4),E=v.getUint16(m.Messages.BUFFER_INDEX_MSG_DATA+5,!0),T=v.getUint8(m.Messages.BUFFER_INDEX_MSG_DATA+7);if(255!==b&&(this.Cadence=b),65535!==E&&(this.InstantaneousPower=E),2&T){const N=(this.AscendedDistance||0)%256;w!==N&&N>w&&(w+=256),this.AscendedDistance=(this.AscendedDistance||0)+w-N}if(1&T){const N=(this.Strides||0)%256;A!==N&&N>A&&(A+=256),this.Strides=(this.Strides||0)+A-N}switch((112&T)>>4){case 1:this.State="OFF";break;case 2:this.State="READY",this.resetState();break;case 3:this.State="IN_USE";break;case 4:this.State="FINISHED";break;default:delete this.State}break}case 22:{let w=v.getUint8(m.Messages.BUFFER_INDEX_MSG_DATA+3);const A=v.getUint8(m.Messages.BUFFER_INDEX_MSG_DATA+4),b=v.getUint16(m.Messages.BUFFER_INDEX_MSG_DATA+5,!0),E=v.getUint8(m.Messages.BUFFER_INDEX_MSG_DATA+7);if(255!==A&&(this.Cadence=A),65535!==b&&(this.InstantaneousPower=b),1&E){const T=(this.Strokes||0)%256;w!==T&&T>w&&(w+=256),this.Strokes=(this.Strokes||0)+w-T}switch((112&E)>>4){case 1:this.State="OFF";break;case 2:this.State="READY",this.resetState();break;case 3:this.State="IN_USE";break;case 4:this.State="FINISHED";break;default:delete this.State}break}case 23:{let w=v.getUint8(m.Messages.BUFFER_INDEX_MSG_DATA+3);const A=v.getUint8(m.Messages.BUFFER_INDEX_MSG_DATA+4),b=v.getUint16(m.Messages.BUFFER_INDEX_MSG_DATA+5,!0),E=v.getUint8(m.Messages.BUFFER_INDEX_MSG_DATA+7);if(255!==A&&(this.Cadence=A),65535!==b&&(this.InstantaneousPower=b),1&E){const T=(this.Strides||0)%256;w!==T&&T>w&&(w+=256),this.Strides=(this.Strides||0)+w-T}switch((112&E)>>4){case 1:this.State="OFF";break;case 2:this.State="READY",this.resetState();break;case 3:this.State="IN_USE";break;case 4:this.State="FINISHED";break;default:delete this.State}break}case 24:{let w=v.getUint8(m.Messages.BUFFER_INDEX_MSG_DATA+3);const A=v.getUint8(m.Messages.BUFFER_INDEX_MSG_DATA+4),b=v.getUint16(m.Messages.BUFFER_INDEX_MSG_DATA+5,!0),E=v.getUint8(m.Messages.BUFFER_INDEX_MSG_DATA+7);if(255!==A&&(this.Cadence=A),65535!==b&&(this.InstantaneousPower=b),1&E){const T=(this.Strides||0)%256;w!==T&&T>w&&(w+=256),this.Strides=(this.Strides||0)+w-T}switch((112&E)>>4){case 1:this.State="OFF";break;case 2:this.State="READY",this.resetState();break;case 3:this.State="IN_USE";break;case 4:this.State="FINISHED";break;default:delete this.State}break}case 25:{const w=this._EventCount0x19||0;let A=v.getUint8(m.Messages.BUFFER_INDEX_MSG_DATA+1);const b=v.getUint8(m.Messages.BUFFER_INDEX_MSG_DATA+2);let E=v.getUint16(m.Messages.BUFFER_INDEX_MSG_DATA+3,!0);const T=4095&v.getUint16(m.Messages.BUFFER_INDEX_MSG_DATA+5,!0),N=v.getUint8(m.Messages.BUFFER_INDEX_MSG_DATA+6)>>4,P=v.getUint8(m.Messages.BUFFER_INDEX_MSG_DATA+7);if(A!==w&&(this._EventCount0x19=A,w>A&&(A+=255)),255!==b&&(this.Cadence=b),4095!==T){this.InstantaneousPower=T;const H=(this.AccumulatedPower||0)%65536;E!==H&&H>E&&(E+=65536),this.AccumulatedPower=(this.AccumulatedPower||0)+E-H,this.AveragePower=(E-H)/(A-w)}switch(this.TrainerStatus=N,3&P){case 0:this.TargetStatus="OnTarget";break;case 1:this.TargetStatus="LowSpeed";break;case 2:this.TargetStatus="HighSpeed";break;default:delete this.TargetStatus}switch((112&P)>>4){case 1:this.State="OFF";break;case 2:this.State="READY",this.resetState();break;case 3:this.State="IN_USE";break;case 4:this.State="FINISHED";break;default:delete this.State}break}case 26:{const w=this._EventCount0x1A||0;let A=v.getUint8(m.Messages.BUFFER_INDEX_MSG_DATA+1),b=v.getUint8(m.Messages.BUFFER_INDEX_MSG_DATA+2),E=v.getUint16(m.Messages.BUFFER_INDEX_MSG_DATA+3,!0),T=v.getUint16(m.Messages.BUFFER_INDEX_MSG_DATA+5,!0);const N=v.getUint8(m.Messages.BUFFER_INDEX_MSG_DATA+7);A!==w&&(this._EventCount0x1A=A,w>A&&(A+=255));const P=(this.WheelTicks||0)%256;b!==P&&P>b&&(b+=65536),this.WheelTicks=(this.WheelTicks||0)+b-P;const H=(this.WheelPeriod||0)%256;E!==H&&H>E&&(E+=65536),this.WheelPeriod=(this.WheelPeriod||0)+E-H;const re=(this.Torque||0)%256;switch(T!==re&&re>T&&(T+=65536),this.Torque=(this.Torque||0)+T-re,(112&N)>>4){case 1:this.State="OFF";break;case 2:this.State="READY",this.resetState();break;case 3:this.State="IN_USE";break;case 4:this.State="FINISHED";break;default:delete this.State}break}case 80:this.HwVersion=v.getUint8(m.Messages.BUFFER_INDEX_MSG_DATA+3),this.ManId=v.getUint16(m.Messages.BUFFER_INDEX_MSG_DATA+4,!0),this.ModelNum=v.getUint16(m.Messages.BUFFER_INDEX_MSG_DATA+6,!0);break;case 81:{const w=v.getUint8(m.Messages.BUFFER_INDEX_MSG_DATA+2),A=v.getUint8(m.Messages.BUFFER_INDEX_MSG_DATA+3),b=v.getInt32(m.Messages.BUFFER_INDEX_MSG_DATA+4,!0);this.SwVersion=A,255!==w&&(this.SwVersion+=w/1e3),4294967295!==b&&(this.SerialNumber=b);break}case 86:{const w=v.getUint8(m.Messages.BUFFER_INDEX_MSG_DATA+1),A=v.getUint8(m.Messages.BUFFER_INDEX_MSG_DATA+2),b=v.getUint8(m.Messages.BUFFER_INDEX_MSG_DATA+3),E=v.getUint16(m.Messages.BUFFER_INDEX_MSG_DATA+4,!0),N=(v.getUint8(m.Messages.BUFFER_INDEX_MSG_DATA+6),v.getUint8(m.Messages.BUFFER_INDEX_MSG_DATA+7));0===w&&(this.PairedDevices=[]),A>0&&this.PairedDevices.push({id:E,type:N,paired:!!(128&b)});break}}return this.ReceivedAt=Date.now(),this}}},4143:(ce,D,M)=>{"use strict";Object.defineProperty(D,"__esModule",{value:!0}),D.HeartRateScanState=void 0;const m=M(4858);D.HeartRateScanState=class I extends m.HeartRateSensorState{}},4055:(ce,D,M)=>{"use strict";Object.defineProperty(D,"__esModule",{value:!0}),D.HeartRateScanner=void 0;const m=M(1894),I=M(5065),Z=M(6510),v=M(4143),S=M(4851);D.HeartRateScanner=class w extends Z.AntPlusScanner{constructor(){super(...arguments),this.states={},this.pages={}}deviceType(){return S.HeartRateSensor.deviceType}createStateIfNew(b){this.states[b]||(this.states[b]=new v.HeartRateScanState(b)),this.pages[b]||(this.pages[b]={oldPage:-1,pageState:m.PageState.INIT_PAGE})}updateRssiAndThreshold(b,E,T){this.states[b].Rssi=E,this.states[b].Threshold=T}updateState(b,E){(0,I.updateHeartRateSensorState)(this,this.states[b],E,this.pages[b])}}},4851:function(ce,D,M){"use strict";var m=this&&this.__awaiter||function(A,b,E,T){return new(E||(E=Promise))(function(P,H){function re(te){try{G(T.next(te))}catch(ze){H(ze)}}function oe(te){try{G(T.throw(te))}catch(ze){H(ze)}}function G(te){te.done?P(te.value):function N(P){return P instanceof E?P:new E(function(H){H(P)})}(te.value).then(re,oe)}G((T=T.apply(A,b||[])).next())})};Object.defineProperty(D,"__esModule",{value:!0}),D.HeartRateSensor=void 0;const I=M(1894),Z=M(5065),v=M(9040),S=M(4858);class w extends v.AntPlusSensor{constructor(){super(...arguments),this.page={oldPage:-1,pageState:I.PageState.INIT_PAGE}}attachSensor(b,E){const T=Object.create(null,{attach:{get:()=>super.attach}});return m(this,void 0,void 0,function*(){yield T.attach.call(this,{channel:b,type:"receive",deviceID:E,deviceType:w.deviceType,transmissionType:0,timeout:255,period:8070}),this.state=new S.HeartRateSensorState(E)})}updateState(b,E){if(!this.state)throw new Error("HeartRateSensor: not attached");this.state.DeviceID=b,(0,Z.updateHeartRateSensorState)(this,this.state,E,this.page)}}D.HeartRateSensor=w,w.deviceType=120},4858:(ce,D,M)=>{"use strict";Object.defineProperty(D,"__esModule",{value:!0}),D.HeartRateSensorState=void 0;const m=M(1894),I=M(2455);D.HeartRateSensorState=class Z{constructor(S){this.DeviceID=S}updateState(S,w){const b=S.getUint8(I.Messages.BUFFER_INDEX_MSG_DATA);if(w.pageState===m.PageState.INIT_PAGE)w.pageState=m.PageState.STD_PAGE;else if(b!==w.oldPage||w.pageState===m.PageState.EXT_PAGE)switch(w.pageState=m.PageState.EXT_PAGE,-129&b){case 1:this.OperatingTime=S.getUint8(I.Messages.BUFFER_INDEX_MSG_DATA+1),this.OperatingTime|=S.getUint8(I.Messages.BUFFER_INDEX_MSG_DATA+2)<<8,this.OperatingTime|=S.getUint8(I.Messages.BUFFER_INDEX_MSG_DATA+3)<<16,this.OperatingTime*=2;break;case 2:this.ManId=S.getUint8(I.Messages.BUFFER_INDEX_MSG_DATA+1),this.SerialNumber=this.DeviceID,this.SerialNumber|=S.getUint16(I.Messages.BUFFER_INDEX_MSG_DATA+2,!0)<<16,this.SerialNumber>>>=0;break;case 3:this.HwVersion=S.getUint8(I.Messages.BUFFER_INDEX_MSG_DATA+1),this.SwVersion=S.getUint8(I.Messages.BUFFER_INDEX_MSG_DATA+2),this.ModelNum=S.getUint8(I.Messages.BUFFER_INDEX_MSG_DATA+3);break;case 4:this.PreviousBeat=S.getUint16(I.Messages.BUFFER_INDEX_MSG_DATA+2,!0);break;case 5:this.IntervalAverage=S.getUint8(I.Messages.BUFFER_INDEX_MSG_DATA+1),this.IntervalMax=S.getUint8(I.Messages.BUFFER_INDEX_MSG_DATA+2),this.SessionAverage=S.getUint8(I.Messages.BUFFER_INDEX_MSG_DATA+3);break;case 6:this.SupportedFeatures=S.getUint8(I.Messages.BUFFER_INDEX_MSG_DATA+2),this.EnabledFeatures=S.getUint8(I.Messages.BUFFER_INDEX_MSG_DATA+3);break;case 7:{const E=S.getUint8(I.Messages.BUFFER_INDEX_MSG_DATA+1),T=S.getUint8(I.Messages.BUFFER_INDEX_MSG_DATA+2),N=S.getUint8(I.Messages.BUFFER_INDEX_MSG_DATA+3);switch(255!==E&&(this.BatteryLevel=E),this.BatteryVoltage=(15&N)+T/256,(112&N)>>>4){case 1:this.BatteryStatus="New";break;case 2:this.BatteryStatus="Good";break;case 3:this.BatteryStatus="Ok";break;case 4:this.BatteryStatus="Low";break;case 5:this.BatteryStatus="Critical";break;default:this.BatteryVoltage=void 0,this.BatteryStatus="Invalid"}break}}return this.decodeDefaultHRM(new DataView(S.buffer.slice(I.Messages.BUFFER_INDEX_MSG_DATA+4))),w.oldPage=b,this.ReceivedAt=Date.now(),this}decodeDefaultHRM(S){this.BeatTime=S.getUint16(0,!0),this.BeatCount=S.getUint8(2),this.ComputedHeartRate=S.getUint8(3)}}},6756:(ce,D,M)=>{"use strict";Object.defineProperty(D,"__esModule",{value:!0}),D.MuscleOxygenScanState=void 0;const m=M(6649);D.MuscleOxygenScanState=class I extends m.MuscleOxygenSensorState{}},5872:(ce,D,M)=>{"use strict";Object.defineProperty(D,"__esModule",{value:!0}),D.MuscleOxygenScanner=void 0;const m=M(5065),I=M(6510),Z=M(6756),v=M(8078);D.MuscleOxygenScanner=class S extends I.AntPlusScanner{constructor(){super(...arguments),this.states={}}deviceType(){return v.MuscleOxygenSensor.deviceType}createStateIfNew(A){this.states[A]||(this.states[A]=new Z.MuscleOxygenScanState(A))}updateRssiAndThreshold(A,b,E){this.states[A].Rssi=b,this.states[A].Threshold=E}updateState(A,b){(0,m.updateMuscleOxygenSensorState)(this,this.states[A],b)}}},8078:function(ce,D,M){"use strict";var m=this&&this.__awaiter||function(A,b,E,T){return new(E||(E=Promise))(function(P,H){function re(te){try{G(T.next(te))}catch(ze){H(ze)}}function oe(te){try{G(T.throw(te))}catch(ze){H(ze)}}function G(te){te.done?P(te.value):function N(P){return P instanceof E?P:new E(function(H){H(P)})}(te.value).then(re,oe)}G((T=T.apply(A,b||[])).next())})};Object.defineProperty(D,"__esModule",{value:!0}),D.MuscleOxygenSensor=void 0;const I=M(5065),Z=M(2455),v=M(9040),S=M(6649);class w extends v.AntPlusSensor{attachSensor(b,E){const T=Object.create(null,{attach:{get:()=>super.attach}});return m(this,void 0,void 0,function*(){yield T.attach.call(this,{channel:b,type:"receive",deviceID:E,deviceType:w.deviceType,transmissionType:0,timeout:255,period:8192}),this.state=new S.MuscleOxygenSensorState(E)})}updateState(b,E){if(!this.state)throw new Error("MuscleOxygenSensor: not attached");this.state.DeviceID=b,(0,I.updateMuscleOxygenSensorState)(this,this.state,E)}_sendTimeCmd(b,E){if(void 0===this.channel)throw new Error("MuscleOxygenSensor: not attached");const T=new Date,N=Math.round((T.getTime()-Date.UTC(1989,11,31,0,0,0,0))/1e3),P=-Math.round(T.getTimezoneOffset()/15),re=Z.Messages.acknowledgedData(this.channel,[16,255&b,255,255&P,255&N,N>>8&255,N>>16&255,N>>24&255]);this.send(re,E)}setUTCTime(b){this._sendTimeCmd(0,b)}startSession(b){this._sendTimeCmd(1,b)}stopSession(b){this._sendTimeCmd(2,b)}setLap(b){this._sendTimeCmd(3,b)}}D.MuscleOxygenSensor=w,w.deviceType=31},6649:(ce,D,M)=>{"use strict";Object.defineProperty(D,"__esModule",{value:!0}),D.MuscleOxygenSensorState=void 0;const m=M(2455);D.MuscleOxygenSensorState=class I{constructor(v){this.DeviceID=v}updateState(v){const S=this._EventCount||0,w=v.getUint8(m.Messages.BUFFER_INDEX_MSG_DATA);switch(w){case 1:{let A=v.getUint8(m.Messages.BUFFER_INDEX_MSG_DATA+1);const b=v.getUint8(m.Messages.BUFFER_INDEX_MSG_DATA+2),E=v.getUint16(m.Messages.BUFFER_INDEX_MSG_DATA+3,!0),T=4095&v.getUint16(m.Messages.BUFFER_INDEX_MSG_DATA+4,!0),N=v.getUint16(m.Messages.BUFFER_INDEX_MSG_DATA+5,!0)>>4&1023,P=v.getUint16(m.Messages.BUFFER_INDEX_MSG_DATA+6,!0)>>6&1023;switch(A!==S&&(this._EventCount=A,S>A&&(A+=255)),this.UTCTimeRequired=!(1&~b),this.SupportANTFS=!(1&~E),E>>1&7){case 1:this.MeasurementInterval=.25;break;case 2:this.MeasurementInterval=.5;break;case 3:this.MeasurementInterval=1;break;case 4:this.MeasurementInterval=2;break;default:delete this.MeasurementInterval}switch(T){case 4094:this.TotalHemoglobinConcentration="AmbientLightTooHigh";break;case 4095:this.TotalHemoglobinConcentration="Invalid";break;default:this.TotalHemoglobinConcentration=T}switch(N){case 1022:this.PreviousSaturatedHemoglobinPercentage="AmbientLightTooHigh";break;case 1023:this.PreviousSaturatedHemoglobinPercentage="Invalid";break;default:this.PreviousSaturatedHemoglobinPercentage=N}switch(P){case 1022:this.CurrentSaturatedHemoglobinPercentage="AmbientLightTooHigh";break;case 1023:this.CurrentSaturatedHemoglobinPercentage="Invalid";break;default:this.CurrentSaturatedHemoglobinPercentage=P}break}case 80:this.HwVersion=v.getUint8(m.Messages.BUFFER_INDEX_MSG_DATA+3),this.ManId=v.getUint16(m.Messages.BUFFER_INDEX_MSG_DATA+4,!0),this.ModelNum=v.getUint16(m.Messages.BUFFER_INDEX_MSG_DATA+6,!0);break;case 81:{const A=v.getUint8(m.Messages.BUFFER_INDEX_MSG_DATA+2),b=v.getUint8(m.Messages.BUFFER_INDEX_MSG_DATA+3),E=v.getInt32(m.Messages.BUFFER_INDEX_MSG_DATA+4,!0);this.SwVersion=b,255!==A&&(this.SwVersion+=A/1e3),4294967295!==E&&(this.SerialNumber=E);break}case 82:{this.BatteryId=v.getUint8(m.Messages.BUFFER_INDEX_MSG_DATA+2);const A=16777215&v.getUint32(m.Messages.BUFFER_INDEX_MSG_DATA+3,!0),b=v.getInt32(m.Messages.BUFFER_INDEX_MSG_DATA+6,!0),E=v.getInt32(m.Messages.BUFFER_INDEX_MSG_DATA+7,!0);switch(this.OperatingTime=A*(128&~E?16:2),this.BatteryVoltage=(15&E)+b/256,(112&E)>>>4){case 1:this.BatteryStatus="New";break;case 2:this.BatteryStatus="Good";break;case 3:this.BatteryStatus="Ok";break;case 4:this.BatteryStatus="Low";break;case 5:this.BatteryStatus="Critical";break;default:this.BatteryVoltage=void 0,this.BatteryStatus="Invalid"}break}default:return}if(this.ReceivedAt=Date.now(),1!==w||this._EventCount!==S)return this}}},5283:(ce,D,M)=>{"use strict";Object.defineProperty(D,"__esModule",{value:!0}),D.SpeedCadenceScanState=void 0;const m=M(7598);D.SpeedCadenceScanState=class I extends m.SpeedCadenceSensorState{}},9315:(ce,D,M)=>{"use strict";Object.defineProperty(D,"__esModule",{value:!0}),D.SpeedCadenceScanner=void 0;const m=M(5065),I=M(6510),Z=M(5283),v=M(2871);D.SpeedCadenceScanner=class S extends I.AntPlusScanner{constructor(){super(...arguments),this.wheelCircumference=2.199,this.states={}}deviceType(){return v.SpeedCadenceSensor.deviceType}setWheelCircumference(A){this.wheelCircumference=A}createStateIfNew(A){this.states[A]||(this.states[A]=new Z.SpeedCadenceScanState(A))}updateRssiAndThreshold(A,b,E){this.states[A].Rssi=b,this.states[A].Threshold=E}updateState(A,b){(0,m.updateSpeedCadenceSensorState)(this,this.states[A],b)}}},2871:function(ce,D,M){"use strict";var m=this&&this.__awaiter||function(w,A,b,E){return new(b||(b=Promise))(function(N,P){function H(G){try{oe(E.next(G))}catch(te){P(te)}}function re(G){try{oe(E.throw(G))}catch(te){P(te)}}function oe(G){G.done?N(G.value):function T(N){return N instanceof b?N:new b(function(P){P(N)})}(G.value).then(H,re)}oe((E=E.apply(w,A||[])).next())})};Object.defineProperty(D,"__esModule",{value:!0}),D.SpeedCadenceSensor=void 0;const I=M(5065),Z=M(9040),v=M(7598);class S extends Z.AntPlusSensor{constructor(){super(...arguments),this.wheelCircumference=2.199}setWheelCircumference(A){this.wheelCircumference=A}attachSensor(A,b){const E=Object.create(null,{attach:{get:()=>super.attach}});return m(this,void 0,void 0,function*(){yield E.attach.call(this,{channel:A,type:"receive",deviceID:b,deviceType:S.deviceType,transmissionType:0,timeout:255,period:8086}),this.state=new v.SpeedCadenceSensorState(b)})}updateState(A,b){if(!this.state)throw new Error("SpeedCadenceSensor: not attached");this.state.DeviceID=A,(0,I.updateSpeedCadenceSensorState)(this,this.state,b)}}D.SpeedCadenceSensor=S,S.deviceType=121},7598:(ce,D,M)=>{"use strict";Object.defineProperty(D,"__esModule",{value:!0}),D.SpeedCadenceSensorState=void 0;const m=M(2455);D.SpeedCadenceSensorState=class I{constructor(v){this.DeviceID=v}updateState(v,S){const w=this.CadenceEventTime,A=this.CumulativeCadenceRevolutionCount,b=this.SpeedEventTime,E=this.CumulativeSpeedRevolutionCount;let T=v.getUint16(m.Messages.BUFFER_INDEX_MSG_DATA,!1),N=v.getUint16(m.Messages.BUFFER_INDEX_MSG_DATA+2,!0),P=v.getUint16(m.Messages.BUFFER_INDEX_MSG_DATA+4,!0),H=v.getUint16(m.Messages.BUFFER_INDEX_MSG_DATA+6,!0),re=!1,oe=!1;if(T!==w){this.CadenceEventTime=T,this.CumulativeCadenceRevolutionCount=N,w&&w>T&&(T+=65536),A&&A>N&&(N+=65536);const G=60*(N-(A||0))*1024/(T-(w||0));isNaN(G)||(this.CalculatedCadence=G,re=!0)}if(P!==b){this.SpeedEventTime=P,this.CumulativeSpeedRevolutionCount=H,b&&b>P&&(P+=65536),E&&E>H&&(H+=65536);const G=S*(H-(E||0));this.CalculatedDistance=G;const te=1024*G/(P-(b||0));isNaN(te)||(this.CalculatedSpeed=te,oe=!0)}return this.ReceivedAt=Date.now(),{updatedState:this,resultType:re&&oe?"both":re?"cadence":oe?"speed":"none"}}}},2296:(ce,D,M)=>{"use strict";Object.defineProperty(D,"__esModule",{value:!0}),D.SpeedScanState=void 0;const m=M(3357);D.SpeedScanState=class I extends m.SpeedSensorState{}},9775:(ce,D,M)=>{"use strict";Object.defineProperty(D,"__esModule",{value:!0}),D.SpeedScanner=void 0;const m=M(5065),I=M(6510),Z=M(2296),v=M(4338);D.SpeedScanner=class S extends I.AntPlusScanner{constructor(){super(...arguments),this.wheelCircumference=2.199,this.states={}}deviceType(){return v.SpeedSensor.deviceType}setWheelCircumference(A){this.wheelCircumference=A}createStateIfNew(A){this.states[A]||(this.states[A]=new Z.SpeedScanState(A))}updateRssiAndThreshold(A,b,E){this.states[A].Rssi=b,this.states[A].Threshold=E}updateState(A,b){(0,m.updateSpeedSensorState)(this,this.states[A],b)}}},4338:function(ce,D,M){"use strict";var m=this&&this.__awaiter||function(w,A,b,E){return new(b||(b=Promise))(function(N,P){function H(G){try{oe(E.next(G))}catch(te){P(te)}}function re(G){try{oe(E.throw(G))}catch(te){P(te)}}function oe(G){G.done?N(G.value):function T(N){return N instanceof b?N:new b(function(P){P(N)})}(G.value).then(H,re)}oe((E=E.apply(w,A||[])).next())})};Object.defineProperty(D,"__esModule",{value:!0}),D.SpeedSensor=void 0;const I=M(5065),Z=M(9040),v=M(3357);class S extends Z.AntPlusSensor{constructor(){super(...arguments),this.wheelCircumference=2.199}setWheelCircumference(A){this.wheelCircumference=A}attachSensor(A,b){const E=Object.create(null,{attach:{get:()=>super.attach}});return m(this,void 0,void 0,function*(){yield E.attach.call(this,{channel:A,type:"receive",deviceID:b,deviceType:S.deviceType,transmissionType:0,timeout:255,period:8086}),this.state=new v.SpeedSensorState(b)})}updateState(A,b){if(!this.state)throw new Error("SpeedSensor: not attached");this.state.DeviceID=A,(0,I.updateSpeedSensorState)(this,this.state,b)}}D.SpeedSensor=S,S.deviceType=123},3357:(ce,D,M)=>{"use strict";Object.defineProperty(D,"__esModule",{value:!0}),D.SpeedSensorState=void 0;const m=M(2455);D.SpeedSensorState=class I{constructor(v){this.DeviceID=v}updateState(v,S){switch(-129&v.getUint8(m.Messages.BUFFER_INDEX_MSG_DATA)){case 1:this.OperatingTime=v.getUint8(m.Messages.BUFFER_INDEX_MSG_DATA+1),this.OperatingTime|=v.getUint8(m.Messages.BUFFER_INDEX_MSG_DATA+2)<<8,this.OperatingTime|=v.getUint8(m.Messages.BUFFER_INDEX_MSG_DATA+3)<<16,this.OperatingTime*=2;break;case 2:this.ManId=v.getUint8(m.Messages.BUFFER_INDEX_MSG_DATA+1),this.SerialNumber=this.DeviceID,this.SerialNumber|=v.getUint16(m.Messages.BUFFER_INDEX_MSG_DATA+2,!0)<<16,this.SerialNumber>>>=0;break;case 3:this.HwVersion=v.getUint8(m.Messages.BUFFER_INDEX_MSG_DATA+1),this.SwVersion=v.getUint8(m.Messages.BUFFER_INDEX_MSG_DATA+2),this.ModelNum=v.getUint8(m.Messages.BUFFER_INDEX_MSG_DATA+3);break;case 4:{const P=v.getUint8(m.Messages.BUFFER_INDEX_MSG_DATA+2),H=v.getUint8(m.Messages.BUFFER_INDEX_MSG_DATA+3);switch(this.BatteryVoltage=(15&H)+P/256,(112&H)>>>4){case 1:this.BatteryStatus="New";break;case 2:this.BatteryStatus="Good";break;case 3:this.BatteryStatus="Ok";break;case 4:this.BatteryStatus="Low";break;case 5:this.BatteryStatus="Critical";break;default:this.BatteryVoltage=void 0,this.BatteryStatus="Invalid"}break}case 5:this.Motion=!(1&~v.getUint8(m.Messages.BUFFER_INDEX_MSG_DATA+1))}const b=this.SpeedEventTime,E=this.CumulativeSpeedRevolutionCount;let T=v.getUint16(m.Messages.BUFFER_INDEX_MSG_DATA+4,!0),N=v.getUint16(m.Messages.BUFFER_INDEX_MSG_DATA+6,!0);if(T!==b){this.SpeedEventTime=T,this.CumulativeSpeedRevolutionCount=N,b&&b>T&&(T+=65536),E&&E>N&&(N+=65536);const P=S*(N-(E||0));this.CalculatedDistance=P;const H=1024*P/(T-(b||0));if(!isNaN(H))return this.CalculatedSpeed=H,this.ReceivedAt=Date.now(),this}}}},8568:(ce,D,M)=>{"use strict";Object.defineProperty(D,"__esModule",{value:!0}),D.StrideSpeedDistanceScanState=void 0;const m=M(4189);D.StrideSpeedDistanceScanState=class I extends m.StrideSpeedDistanceSensorState{}},9884:(ce,D,M)=>{"use strict";Object.defineProperty(D,"__esModule",{value:!0}),D.StrideSpeedDistanceScanner=void 0;const m=M(5065),I=M(6510),Z=M(8568),v=M(1586);D.StrideSpeedDistanceScanner=class S extends I.AntPlusScanner{constructor(){super(...arguments),this.states={}}deviceType(){return v.StrideSpeedDistanceSensor.deviceType}createStateIfNew(A){this.states[A]||(this.states[A]=new Z.StrideSpeedDistanceScanState(A))}updateRssiAndThreshold(A,b,E){this.states[A].Rssi=b,this.states[A].Threshold=E}updateState(A,b){(0,m.updateStrideSpeedDistanceSensorState)(this,this.states[A],b)}}},1586:function(ce,D,M){"use strict";var m=this&&this.__awaiter||function(w,A,b,E){return new(b||(b=Promise))(function(N,P){function H(G){try{oe(E.next(G))}catch(te){P(te)}}function re(G){try{oe(E.throw(G))}catch(te){P(te)}}function oe(G){G.done?N(G.value):function T(N){return N instanceof b?N:new b(function(P){P(N)})}(G.value).then(H,re)}oe((E=E.apply(w,A||[])).next())})};Object.defineProperty(D,"__esModule",{value:!0}),D.StrideSpeedDistanceSensor=void 0;const I=M(5065),Z=M(9040),v=M(4189);class S extends Z.AntPlusSensor{attachSensor(A,b){const E=Object.create(null,{attach:{get:()=>super.attach}});return m(this,void 0,void 0,function*(){yield E.attach.call(this,{channel:A,type:"receive",deviceID:b,deviceType:S.deviceType,transmissionType:0,timeout:255,period:8134}),this.state=new v.StrideSpeedDistanceSensorState(b)})}updateState(A,b){if(!this.state)throw new Error("StrideSpeedDistanceSensor: not attached");this.state.DeviceID=A,(0,I.updateStrideSpeedDistanceSensorState)(this,this.state,b)}}D.StrideSpeedDistanceSensor=S,S.deviceType=124},4189:(ce,D,M)=>{"use strict";Object.defineProperty(D,"__esModule",{value:!0}),D.StrideSpeedDistanceSensorState=void 0;const m=M(2455);D.StrideSpeedDistanceSensorState=class I{constructor(v){this.DeviceID=v}updateState(v){const S=v.getUint8(m.Messages.BUFFER_INDEX_MSG_DATA);return 1===S?(this.TimeFractional=v.getUint8(m.Messages.BUFFER_INDEX_MSG_DATA+1),this.TimeInteger=v.getUint8(m.Messages.BUFFER_INDEX_MSG_DATA+2),this.DistanceInteger=v.getUint8(m.Messages.BUFFER_INDEX_MSG_DATA+3),this.DistanceFractional=v.getUint8(m.Messages.BUFFER_INDEX_MSG_DATA+4)>>>4,this.SpeedInteger=15&v.getUint8(m.Messages.BUFFER_INDEX_MSG_DATA+4),this.SpeedFractional=v.getUint8(m.Messages.BUFFER_INDEX_MSG_DATA+5),this.StrideCount=v.getUint8(m.Messages.BUFFER_INDEX_MSG_DATA+6),this.UpdateLatency=v.getUint8(m.Messages.BUFFER_INDEX_MSG_DATA+7)):S>=2&&S<=15&&3===(this.CadenceInteger=v.getUint8(m.Messages.BUFFER_INDEX_MSG_DATA+3),this.CadenceFractional=v.getUint8(m.Messages.BUFFER_INDEX_MSG_DATA+4)>>>4,this.SpeedInteger=15&v.getUint8(m.Messages.BUFFER_INDEX_MSG_DATA+4),this.SpeedFractional=v.getUint8(m.Messages.BUFFER_INDEX_MSG_DATA+5),this.Status=v.getUint8(m.Messages.BUFFER_INDEX_MSG_DATA+7),S)&&(this.Calories=v.getUint8(m.Messages.BUFFER_INDEX_MSG_DATA+6)),this.ReceivedAt=Date.now(),this}}}},ce=>{ce(ce.s=6738)}]); \ No newline at end of file diff --git a/docs/manifest.webmanifest b/docs/manifest.webmanifest new file mode 100644 index 0000000..3e2b1ec --- /dev/null +++ b/docs/manifest.webmanifest @@ -0,0 +1,460 @@ +{ + "name": "ESP Rowing Monitor", + "short_name": "ESPRM", + "theme_color": "#1976d2", + "background_color": "#fafafa", + "display": "fullscreen", + "description": "A Web Gui for ESP Rowing Monitor", + "scope": "./", + "start_url": "./", + "icons": [ + { + "src": "assets/icons/windows11/SmallTile.scale-100.png", + "sizes": "71x71" + }, + { + "src": "assets/icons/windows11/SmallTile.scale-125.png", + "sizes": "89x89" + }, + { + "src": "assets/icons/windows11/SmallTile.scale-150.png", + "sizes": "107x107" + }, + { + "src": "assets/icons/windows11/SmallTile.scale-200.png", + "sizes": "142x142" + }, + { + "src": "assets/icons/windows11/SmallTile.scale-400.png", + "sizes": "284x284" + }, + { + "src": "assets/icons/windows11/Square150x150Logo.scale-100.png", + "sizes": "150x150" + }, + { + "src": "assets/icons/windows11/Square150x150Logo.scale-125.png", + "sizes": "188x188" + }, + { + "src": "assets/icons/windows11/Square150x150Logo.scale-150.png", + "sizes": "225x225" + }, + { + "src": "assets/icons/windows11/Square150x150Logo.scale-200.png", + "sizes": "300x300" + }, + { + "src": "assets/icons/windows11/Square150x150Logo.scale-400.png", + "sizes": "600x600" + }, + { + "src": "assets/icons/windows11/Wide310x150Logo.scale-100.png", + "sizes": "310x150" + }, + { + "src": "assets/icons/windows11/Wide310x150Logo.scale-125.png", + "sizes": "388x188" + }, + { + "src": "assets/icons/windows11/Wide310x150Logo.scale-150.png", + "sizes": "465x225" + }, + { + "src": "assets/icons/windows11/Wide310x150Logo.scale-200.png", + "sizes": "620x300" + }, + { + "src": "assets/icons/windows11/Wide310x150Logo.scale-400.png", + "sizes": "1240x600" + }, + { + "src": "assets/icons/windows11/LargeTile.scale-100.png", + "sizes": "310x310" + }, + { + "src": "assets/icons/windows11/LargeTile.scale-125.png", + "sizes": "388x388" + }, + { + "src": "assets/icons/windows11/LargeTile.scale-150.png", + "sizes": "465x465" + }, + { + "src": "assets/icons/windows11/LargeTile.scale-200.png", + "sizes": "620x620" + }, + { + "src": "assets/icons/windows11/LargeTile.scale-400.png", + "sizes": "1240x1240" + }, + { + "src": "assets/icons/windows11/Square44x44Logo.scale-100.png", + "sizes": "44x44" + }, + { + "src": "assets/icons/windows11/Square44x44Logo.scale-125.png", + "sizes": "55x55" + }, + { + "src": "assets/icons/windows11/Square44x44Logo.scale-150.png", + "sizes": "66x66" + }, + { + "src": "assets/icons/windows11/Square44x44Logo.scale-200.png", + "sizes": "88x88" + }, + { + "src": "assets/icons/windows11/Square44x44Logo.scale-400.png", + "sizes": "176x176" + }, + { + "src": "assets/icons/windows11/StoreLogo.scale-100.png", + "sizes": "50x50" + }, + { + "src": "assets/icons/windows11/StoreLogo.scale-125.png", + "sizes": "63x63" + }, + { + "src": "assets/icons/windows11/StoreLogo.scale-150.png", + "sizes": "75x75" + }, + { + "src": "assets/icons/windows11/StoreLogo.scale-200.png", + "sizes": "100x100" + }, + { + "src": "assets/icons/windows11/StoreLogo.scale-400.png", + "sizes": "200x200" + }, + { + "src": "assets/icons/windows11/SplashScreen.scale-100.png", + "sizes": "620x300" + }, + { + "src": "assets/icons/windows11/SplashScreen.scale-125.png", + "sizes": "775x375" + }, + { + "src": "assets/icons/windows11/SplashScreen.scale-150.png", + "sizes": "930x450" + }, + { + "src": "assets/icons/windows11/SplashScreen.scale-200.png", + "sizes": "1240x600" + }, + { + "src": "assets/icons/windows11/SplashScreen.scale-400.png", + "sizes": "2480x1200" + }, + { + "src": "assets/icons/windows11/Square44x44Logo.targetsize-16.png", + "sizes": "16x16" + }, + { + "src": "assets/icons/windows11/Square44x44Logo.targetsize-20.png", + "sizes": "20x20" + }, + { + "src": "assets/icons/windows11/Square44x44Logo.targetsize-24.png", + "sizes": "24x24" + }, + { + "src": "assets/icons/windows11/Square44x44Logo.targetsize-30.png", + "sizes": "30x30" + }, + { + "src": "assets/icons/windows11/Square44x44Logo.targetsize-32.png", + "sizes": "32x32" + }, + { + "src": "assets/icons/windows11/Square44x44Logo.targetsize-36.png", + "sizes": "36x36" + }, + { + "src": "assets/icons/windows11/Square44x44Logo.targetsize-40.png", + "sizes": "40x40" + }, + { + "src": "assets/icons/windows11/Square44x44Logo.targetsize-44.png", + "sizes": "44x44" + }, + { + "src": "assets/icons/windows11/Square44x44Logo.targetsize-48.png", + "sizes": "48x48" + }, + { + "src": "assets/icons/windows11/Square44x44Logo.targetsize-60.png", + "sizes": "60x60" + }, + { + "src": "assets/icons/windows11/Square44x44Logo.targetsize-64.png", + "sizes": "64x64" + }, + { + "src": "assets/icons/windows11/Square44x44Logo.targetsize-72.png", + "sizes": "72x72" + }, + { + "src": "assets/icons/windows11/Square44x44Logo.targetsize-80.png", + "sizes": "80x80" + }, + { + "src": "assets/icons/windows11/Square44x44Logo.targetsize-96.png", + "sizes": "96x96" + }, + { + "src": "assets/icons/windows11/Square44x44Logo.targetsize-256.png", + "sizes": "256x256" + }, + { + "src": "assets/icons/windows11/Square44x44Logo.altform-unplated_targetsize-16.png", + "sizes": "16x16" + }, + { + "src": "assets/icons/windows11/Square44x44Logo.altform-unplated_targetsize-20.png", + "sizes": "20x20" + }, + { + "src": "assets/icons/windows11/Square44x44Logo.altform-unplated_targetsize-24.png", + "sizes": "24x24" + }, + { + "src": "assets/icons/windows11/Square44x44Logo.altform-unplated_targetsize-30.png", + "sizes": "30x30" + }, + { + "src": "assets/icons/windows11/Square44x44Logo.altform-unplated_targetsize-32.png", + "sizes": "32x32" + }, + { + "src": "assets/icons/windows11/Square44x44Logo.altform-unplated_targetsize-36.png", + "sizes": "36x36" + }, + { + "src": "assets/icons/windows11/Square44x44Logo.altform-unplated_targetsize-40.png", + "sizes": "40x40" + }, + { + "src": "assets/icons/windows11/Square44x44Logo.altform-unplated_targetsize-44.png", + "sizes": "44x44" + }, + { + "src": "assets/icons/windows11/Square44x44Logo.altform-unplated_targetsize-48.png", + "sizes": "48x48" + }, + { + "src": "assets/icons/windows11/Square44x44Logo.altform-unplated_targetsize-60.png", + "sizes": "60x60" + }, + { + "src": "assets/icons/windows11/Square44x44Logo.altform-unplated_targetsize-64.png", + "sizes": "64x64" + }, + { + "src": "assets/icons/windows11/Square44x44Logo.altform-unplated_targetsize-72.png", + "sizes": "72x72" + }, + { + "src": "assets/icons/windows11/Square44x44Logo.altform-unplated_targetsize-80.png", + "sizes": "80x80" + }, + { + "src": "assets/icons/windows11/Square44x44Logo.altform-unplated_targetsize-96.png", + "sizes": "96x96" + }, + { + "src": "assets/icons/windows11/Square44x44Logo.altform-unplated_targetsize-256.png", + "sizes": "256x256" + }, + { + "src": "assets/icons/windows11/Square44x44Logo.altform-lightunplated_targetsize-16.png", + "sizes": "16x16" + }, + { + "src": "assets/icons/windows11/Square44x44Logo.altform-lightunplated_targetsize-20.png", + "sizes": "20x20" + }, + { + "src": "assets/icons/windows11/Square44x44Logo.altform-lightunplated_targetsize-24.png", + "sizes": "24x24" + }, + { + "src": "assets/icons/windows11/Square44x44Logo.altform-lightunplated_targetsize-30.png", + "sizes": "30x30" + }, + { + "src": "assets/icons/windows11/Square44x44Logo.altform-lightunplated_targetsize-32.png", + "sizes": "32x32" + }, + { + "src": "assets/icons/windows11/Square44x44Logo.altform-lightunplated_targetsize-36.png", + "sizes": "36x36" + }, + { + "src": "assets/icons/windows11/Square44x44Logo.altform-lightunplated_targetsize-40.png", + "sizes": "40x40" + }, + { + "src": "assets/icons/windows11/Square44x44Logo.altform-lightunplated_targetsize-44.png", + "sizes": "44x44" + }, + { + "src": "assets/icons/windows11/Square44x44Logo.altform-lightunplated_targetsize-48.png", + "sizes": "48x48" + }, + { + "src": "assets/icons/windows11/Square44x44Logo.altform-lightunplated_targetsize-60.png", + "sizes": "60x60" + }, + { + "src": "assets/icons/windows11/Square44x44Logo.altform-lightunplated_targetsize-64.png", + "sizes": "64x64" + }, + { + "src": "assets/icons/windows11/Square44x44Logo.altform-lightunplated_targetsize-72.png", + "sizes": "72x72" + }, + { + "src": "assets/icons/windows11/Square44x44Logo.altform-lightunplated_targetsize-80.png", + "sizes": "80x80" + }, + { + "src": "assets/icons/windows11/Square44x44Logo.altform-lightunplated_targetsize-96.png", + "sizes": "96x96" + }, + { + "src": "assets/icons/windows11/Square44x44Logo.altform-lightunplated_targetsize-256.png", + "sizes": "256x256" + }, + { + "src": "assets/icons/android/android-launchericon-512-512.png", + "sizes": "512x512" + }, + { + "src": "assets/icons/android/android-launchericon-192-192.png", + "sizes": "192x192" + }, + { + "src": "assets/icons/android/android-launchericon-144-144.png", + "sizes": "144x144" + }, + { + "src": "assets/icons/android/android-launchericon-96-96.png", + "sizes": "96x96" + }, + { + "src": "assets/icons/android/android-launchericon-72-72.png", + "sizes": "72x72" + }, + { + "src": "assets/icons/android/android-launchericon-48-48.png", + "sizes": "48x48" + }, + { + "src": "assets/icons/ios/16.png", + "sizes": "16x16" + }, + { + "src": "assets/icons/ios/20.png", + "sizes": "20x20" + }, + { + "src": "assets/icons/ios/29.png", + "sizes": "29x29" + }, + { + "src": "assets/icons/ios/32.png", + "sizes": "32x32" + }, + { + "src": "assets/icons/ios/40.png", + "sizes": "40x40" + }, + { + "src": "assets/icons/ios/50.png", + "sizes": "50x50" + }, + { + "src": "assets/icons/ios/57.png", + "sizes": "57x57" + }, + { + "src": "assets/icons/ios/58.png", + "sizes": "58x58" + }, + { + "src": "assets/icons/ios/60.png", + "sizes": "60x60" + }, + { + "src": "assets/icons/ios/64.png", + "sizes": "64x64" + }, + { + "src": "assets/icons/ios/72.png", + "sizes": "72x72" + }, + { + "src": "assets/icons/ios/76.png", + "sizes": "76x76" + }, + { + "src": "assets/icons/ios/80.png", + "sizes": "80x80" + }, + { + "src": "assets/icons/ios/87.png", + "sizes": "87x87" + }, + { + "src": "assets/icons/ios/100.png", + "sizes": "100x100" + }, + { + "src": "assets/icons/ios/114.png", + "sizes": "114x114" + }, + { + "src": "assets/icons/ios/120.png", + "sizes": "120x120" + }, + { + "src": "assets/icons/ios/128.png", + "sizes": "128x128" + }, + { + "src": "assets/icons/ios/144.png", + "sizes": "144x144" + }, + { + "src": "assets/icons/ios/152.png", + "sizes": "152x152" + }, + { + "src": "assets/icons/ios/167.png", + "sizes": "167x167" + }, + { + "src": "assets/icons/ios/180.png", + "sizes": "180x180" + }, + { + "src": "assets/icons/ios/192.png", + "sizes": "192x192" + }, + { + "src": "assets/icons/ios/256.png", + "sizes": "256x256" + }, + { + "src": "assets/icons/ios/512.png", + "sizes": "512x512" + }, + { + "src": "assets/icons/ios/1024.png", + "sizes": "1024x1024" + } + ] +} \ No newline at end of file diff --git a/docs/ngsw-worker.js b/docs/ngsw-worker.js new file mode 100644 index 0000000..f5f4dde --- /dev/null +++ b/docs/ngsw-worker.js @@ -0,0 +1,1863 @@ +(() => { + var __defProp = Object.defineProperty; + var __defProps = Object.defineProperties; + var __getOwnPropDescs = Object.getOwnPropertyDescriptors; + var __getOwnPropSymbols = Object.getOwnPropertySymbols; + var __hasOwnProp = Object.prototype.hasOwnProperty; + var __propIsEnum = Object.prototype.propertyIsEnumerable; + var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value; + var __spreadValues = (a, b) => { + for (var prop in b || (b = {})) + if (__hasOwnProp.call(b, prop)) + __defNormalProp(a, prop, b[prop]); + if (__getOwnPropSymbols) + for (var prop of __getOwnPropSymbols(b)) { + if (__propIsEnum.call(b, prop)) + __defNormalProp(a, prop, b[prop]); + } + return a; + }; + var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b)); + + // bazel-out/darwin_arm64-fastbuild-ST-2e5f3376adb5/bin/packages/service-worker/worker/src/named-cache-storage.mjs + var NamedCacheStorage = class { + constructor(original, cacheNamePrefix) { + this.original = original; + this.cacheNamePrefix = cacheNamePrefix; + } + delete(cacheName) { + return this.original.delete(`${this.cacheNamePrefix}:${cacheName}`); + } + has(cacheName) { + return this.original.has(`${this.cacheNamePrefix}:${cacheName}`); + } + async keys() { + const prefix = `${this.cacheNamePrefix}:`; + const allCacheNames = await this.original.keys(); + const ownCacheNames = allCacheNames.filter((name) => name.startsWith(prefix)); + return ownCacheNames.map((name) => name.slice(prefix.length)); + } + match(request, options) { + return this.original.match(request, options); + } + async open(cacheName) { + const cache = await this.original.open(`${this.cacheNamePrefix}:${cacheName}`); + return Object.assign(cache, { name: cacheName }); + } + }; + + // bazel-out/darwin_arm64-fastbuild-ST-2e5f3376adb5/bin/packages/service-worker/worker/src/adapter.mjs + var Adapter = class { + constructor(scopeUrl, caches) { + this.scopeUrl = scopeUrl; + const parsedScopeUrl = this.parseUrl(this.scopeUrl); + this.origin = parsedScopeUrl.origin; + this.caches = new NamedCacheStorage(caches, `ngsw:${parsedScopeUrl.path}`); + } + newRequest(input, init) { + return new Request(input, init); + } + newResponse(body, init) { + return new Response(body, init); + } + newHeaders(headers) { + return new Headers(headers); + } + isClient(source) { + return source instanceof Client; + } + get time() { + return Date.now(); + } + normalizeUrl(url) { + const parsed = this.parseUrl(url, this.scopeUrl); + return parsed.origin === this.origin ? parsed.path : url; + } + parseUrl(url, relativeTo) { + const parsed = !relativeTo ? new URL(url) : new URL(url, relativeTo); + return { origin: parsed.origin, path: parsed.pathname, search: parsed.search }; + } + timeout(ms) { + return new Promise((resolve) => { + setTimeout(() => resolve(), ms); + }); + } + }; + + // bazel-out/darwin_arm64-fastbuild-ST-2e5f3376adb5/bin/packages/service-worker/worker/src/database.mjs + var NotFound = class { + constructor(table, key) { + this.table = table; + this.key = key; + } + }; + + // bazel-out/darwin_arm64-fastbuild-ST-2e5f3376adb5/bin/packages/service-worker/worker/src/db-cache.mjs + var CacheDatabase = class { + constructor(adapter2) { + this.adapter = adapter2; + this.cacheNamePrefix = "db"; + this.tables = /* @__PURE__ */ new Map(); + } + "delete"(name) { + if (this.tables.has(name)) { + this.tables.delete(name); + } + return this.adapter.caches.delete(`${this.cacheNamePrefix}:${name}`); + } + async list() { + const prefix = `${this.cacheNamePrefix}:`; + const allCacheNames = await this.adapter.caches.keys(); + const dbCacheNames = allCacheNames.filter((name) => name.startsWith(prefix)); + return dbCacheNames.map((name) => name.slice(prefix.length)); + } + async open(name, cacheQueryOptions) { + if (!this.tables.has(name)) { + const cache = await this.adapter.caches.open(`${this.cacheNamePrefix}:${name}`); + const table = new CacheTable(name, cache, this.adapter, cacheQueryOptions); + this.tables.set(name, table); + } + return this.tables.get(name); + } + }; + var CacheTable = class { + constructor(name, cache, adapter2, cacheQueryOptions) { + this.name = name; + this.cache = cache; + this.adapter = adapter2; + this.cacheQueryOptions = cacheQueryOptions; + this.cacheName = this.cache.name; + } + request(key) { + return this.adapter.newRequest("/" + key); + } + "delete"(key) { + return this.cache.delete(this.request(key), this.cacheQueryOptions); + } + keys() { + return this.cache.keys().then((requests) => requests.map((req) => req.url.slice(1))); + } + read(key) { + return this.cache.match(this.request(key), this.cacheQueryOptions).then((res) => { + if (res === void 0) { + return Promise.reject(new NotFound(this.name, key)); + } + return res.json(); + }); + } + write(key, value) { + return this.cache.put(this.request(key), this.adapter.newResponse(JSON.stringify(value))); + } + }; + + // bazel-out/darwin_arm64-fastbuild-ST-2e5f3376adb5/bin/packages/service-worker/worker/src/api.mjs + var UpdateCacheStatus; + (function(UpdateCacheStatus2) { + UpdateCacheStatus2[UpdateCacheStatus2["NOT_CACHED"] = 0] = "NOT_CACHED"; + UpdateCacheStatus2[UpdateCacheStatus2["CACHED_BUT_UNUSED"] = 1] = "CACHED_BUT_UNUSED"; + UpdateCacheStatus2[UpdateCacheStatus2["CACHED"] = 2] = "CACHED"; + })(UpdateCacheStatus || (UpdateCacheStatus = {})); + + // bazel-out/darwin_arm64-fastbuild-ST-2e5f3376adb5/bin/packages/service-worker/worker/src/error.mjs + var SwCriticalError = class extends Error { + constructor() { + super(...arguments); + this.isCritical = true; + } + }; + function errorToString(error) { + if (error instanceof Error) { + return `${error.message} +${error.stack}`; + } else { + return `${error}`; + } + } + var SwUnrecoverableStateError = class extends SwCriticalError { + constructor() { + super(...arguments); + this.isUnrecoverableState = true; + } + }; + + // bazel-out/darwin_arm64-fastbuild-ST-2e5f3376adb5/bin/packages/service-worker/worker/src/sha1.mjs + function sha1(str) { + const utf8 = str; + const words32 = stringToWords32(utf8, Endian.Big); + return _sha1(words32, utf8.length * 8); + } + function sha1Binary(buffer) { + const words32 = arrayBufferToWords32(buffer, Endian.Big); + return _sha1(words32, buffer.byteLength * 8); + } + function _sha1(words32, len) { + const w = []; + let [a, b, c, d, e] = [1732584193, 4023233417, 2562383102, 271733878, 3285377520]; + words32[len >> 5] |= 128 << 24 - len % 32; + words32[(len + 64 >> 9 << 4) + 15] = len; + for (let i = 0; i < words32.length; i += 16) { + const [h0, h1, h2, h3, h4] = [a, b, c, d, e]; + for (let j = 0; j < 80; j++) { + if (j < 16) { + w[j] = words32[i + j]; + } else { + w[j] = rol32(w[j - 3] ^ w[j - 8] ^ w[j - 14] ^ w[j - 16], 1); + } + const [f, k] = fk(j, b, c, d); + const temp = [rol32(a, 5), f, e, k, w[j]].reduce(add32); + [e, d, c, b, a] = [d, c, rol32(b, 30), a, temp]; + } + [a, b, c, d, e] = [add32(a, h0), add32(b, h1), add32(c, h2), add32(d, h3), add32(e, h4)]; + } + return byteStringToHexString(words32ToByteString([a, b, c, d, e])); + } + function add32(a, b) { + return add32to64(a, b)[1]; + } + function add32to64(a, b) { + const low = (a & 65535) + (b & 65535); + const high = (a >>> 16) + (b >>> 16) + (low >>> 16); + return [high >>> 16, high << 16 | low & 65535]; + } + function rol32(a, count) { + return a << count | a >>> 32 - count; + } + var Endian; + (function(Endian2) { + Endian2[Endian2["Little"] = 0] = "Little"; + Endian2[Endian2["Big"] = 1] = "Big"; + })(Endian || (Endian = {})); + function fk(index, b, c, d) { + if (index < 20) { + return [b & c | ~b & d, 1518500249]; + } + if (index < 40) { + return [b ^ c ^ d, 1859775393]; + } + if (index < 60) { + return [b & c | b & d | c & d, 2400959708]; + } + return [b ^ c ^ d, 3395469782]; + } + function stringToWords32(str, endian) { + const size = str.length + 3 >>> 2; + const words32 = []; + for (let i = 0; i < size; i++) { + words32[i] = wordAt(str, i * 4, endian); + } + return words32; + } + function arrayBufferToWords32(buffer, endian) { + const size = buffer.byteLength + 3 >>> 2; + const words32 = []; + const view = new Uint8Array(buffer); + for (let i = 0; i < size; i++) { + words32[i] = wordAt(view, i * 4, endian); + } + return words32; + } + function byteAt(str, index) { + if (typeof str === "string") { + return index >= str.length ? 0 : str.charCodeAt(index) & 255; + } else { + return index >= str.byteLength ? 0 : str[index] & 255; + } + } + function wordAt(str, index, endian) { + let word = 0; + if (endian === Endian.Big) { + for (let i = 0; i < 4; i++) { + word += byteAt(str, index + i) << 24 - 8 * i; + } + } else { + for (let i = 0; i < 4; i++) { + word += byteAt(str, index + i) << 8 * i; + } + } + return word; + } + function words32ToByteString(words32) { + return words32.reduce((str, word) => str + word32ToByteString(word), ""); + } + function word32ToByteString(word) { + let str = ""; + for (let i = 0; i < 4; i++) { + str += String.fromCharCode(word >>> 8 * (3 - i) & 255); + } + return str; + } + function byteStringToHexString(str) { + let hex = ""; + for (let i = 0; i < str.length; i++) { + const b = byteAt(str, i); + hex += (b >>> 4).toString(16) + (b & 15).toString(16); + } + return hex.toLowerCase(); + } + + // bazel-out/darwin_arm64-fastbuild-ST-2e5f3376adb5/bin/packages/service-worker/worker/src/assets.mjs + var AssetGroup = class { + constructor(scope2, adapter2, idle, config, hashes, db, cacheNamePrefix) { + this.scope = scope2; + this.adapter = adapter2; + this.idle = idle; + this.config = config; + this.hashes = hashes; + this.db = db; + this.inFlightRequests = /* @__PURE__ */ new Map(); + this.urls = []; + this.patterns = []; + this.name = config.name; + this.urls = config.urls.map((url) => adapter2.normalizeUrl(url)); + this.patterns = config.patterns.map((pattern) => new RegExp(pattern)); + this.cache = adapter2.caches.open(`${cacheNamePrefix}:${config.name}:cache`); + this.metadata = this.db.open(`${cacheNamePrefix}:${config.name}:meta`, config.cacheQueryOptions); + } + async cacheStatus(url) { + const cache = await this.cache; + const meta = await this.metadata; + const req = this.adapter.newRequest(url); + const res = await cache.match(req, this.config.cacheQueryOptions); + if (res === void 0) { + return UpdateCacheStatus.NOT_CACHED; + } + try { + const data = await meta.read(req.url); + if (!data.used) { + return UpdateCacheStatus.CACHED_BUT_UNUSED; + } + } catch (_) { + } + return UpdateCacheStatus.CACHED; + } + async getCacheNames() { + const [cache, metadata] = await Promise.all([this.cache, this.metadata]); + return [cache.name, metadata.cacheName]; + } + async handleFetch(req, _event) { + const url = this.adapter.normalizeUrl(req.url); + if (this.urls.indexOf(url) !== -1 || this.patterns.some((pattern) => pattern.test(url))) { + const cache = await this.cache; + let cachedResponse; + try { + cachedResponse = await cache.match(req, this.config.cacheQueryOptions); + } catch (error) { + throw new SwCriticalError(`Cache is throwing while looking for a match: ${error}`); + } + if (cachedResponse !== void 0) { + if (this.hashes.has(url)) { + return cachedResponse; + } else { + if (await this.needToRevalidate(req, cachedResponse)) { + this.idle.schedule(`revalidate(${cache.name}): ${req.url}`, async () => { + await this.fetchAndCacheOnce(req); + }); + } + return cachedResponse; + } + } + const res = await this.fetchAndCacheOnce(this.newRequestWithMetadata(req.url, req)); + return res.clone(); + } else { + return null; + } + } + async needToRevalidate(req, res) { + if (res.headers.has("Cache-Control")) { + const cacheControl = res.headers.get("Cache-Control"); + const cacheDirectives = cacheControl.split(",").map((v) => v.trim()).map((v) => v.split("=")); + cacheDirectives.forEach((v) => v[0] = v[0].toLowerCase()); + const maxAgeDirective = cacheDirectives.find((v) => v[0] === "max-age"); + const cacheAge = maxAgeDirective ? maxAgeDirective[1] : void 0; + if (!cacheAge) { + return true; + } + try { + const maxAge = 1e3 * parseInt(cacheAge); + let ts; + try { + const metaTable = await this.metadata; + ts = (await metaTable.read(req.url)).ts; + } catch (e) { + const date = res.headers.get("Date"); + if (date === null) { + return true; + } + ts = Date.parse(date); + } + const age = this.adapter.time - ts; + return age < 0 || age > maxAge; + } catch (e) { + return true; + } + } else if (res.headers.has("Expires")) { + const expiresStr = res.headers.get("Expires"); + try { + return this.adapter.time > Date.parse(expiresStr); + } catch (e) { + return true; + } + } else { + return true; + } + } + async fetchFromCacheOnly(url) { + const cache = await this.cache; + const metaTable = await this.metadata; + const request = this.adapter.newRequest(url); + const response = await cache.match(request, this.config.cacheQueryOptions); + if (response === void 0) { + return null; + } + let metadata = void 0; + try { + metadata = await metaTable.read(request.url); + } catch (e) { + } + return { response, metadata }; + } + async unhashedResources() { + const cache = await this.cache; + return (await cache.keys()).map((request) => this.adapter.normalizeUrl(request.url)).filter((url) => !this.hashes.has(url)); + } + async fetchAndCacheOnce(req, used = true) { + if (this.inFlightRequests.has(req.url)) { + return this.inFlightRequests.get(req.url); + } + const fetchOp = this.fetchFromNetwork(req); + this.inFlightRequests.set(req.url, fetchOp); + try { + const res = await fetchOp; + if (!res.ok) { + throw new Error(`Response not Ok (fetchAndCacheOnce): request for ${req.url} returned response ${res.status} ${res.statusText}`); + } + try { + const cache = await this.cache; + await cache.put(req, res.clone()); + if (!this.hashes.has(this.adapter.normalizeUrl(req.url))) { + const meta = { ts: this.adapter.time, used }; + const metaTable = await this.metadata; + await metaTable.write(req.url, meta); + } + return res; + } catch (err) { + throw new SwCriticalError(`Failed to update the caches for request to '${req.url}' (fetchAndCacheOnce): ${errorToString(err)}`); + } + } finally { + this.inFlightRequests.delete(req.url); + } + } + async fetchFromNetwork(req, redirectLimit = 3) { + const res = await this.cacheBustedFetchFromNetwork(req); + if (res["redirected"] && !!res.url) { + if (redirectLimit === 0) { + throw new SwCriticalError(`Response hit redirect limit (fetchFromNetwork): request redirected too many times, next is ${res.url}`); + } + return this.fetchFromNetwork(this.newRequestWithMetadata(res.url, req), redirectLimit - 1); + } + return res; + } + async cacheBustedFetchFromNetwork(req) { + const url = this.adapter.normalizeUrl(req.url); + if (this.hashes.has(url)) { + const canonicalHash = this.hashes.get(url); + let response = await this.safeFetch(req); + let makeCacheBustedRequest = response.ok; + if (makeCacheBustedRequest) { + const fetchedHash = sha1Binary(await response.clone().arrayBuffer()); + makeCacheBustedRequest = fetchedHash !== canonicalHash; + } + if (makeCacheBustedRequest) { + const cacheBustReq = this.newRequestWithMetadata(this.cacheBust(req.url), req); + response = await this.safeFetch(cacheBustReq); + if (response.ok) { + const cacheBustedHash = sha1Binary(await response.clone().arrayBuffer()); + if (canonicalHash !== cacheBustedHash) { + throw new SwCriticalError(`Hash mismatch (cacheBustedFetchFromNetwork): ${req.url}: expected ${canonicalHash}, got ${cacheBustedHash} (after cache busting)`); + } + } + } + if (!response.ok && response.status === 404) { + throw new SwUnrecoverableStateError(`Failed to retrieve hashed resource from the server. (AssetGroup: ${this.config.name} | URL: ${url})`); + } + return response; + } else { + return this.safeFetch(req); + } + } + async maybeUpdate(updateFrom, req, cache) { + const url = this.adapter.normalizeUrl(req.url); + if (this.hashes.has(url)) { + const hash = this.hashes.get(url); + const res = await updateFrom.lookupResourceWithHash(url, hash); + if (res !== null) { + await cache.put(req, res); + return true; + } + } + return false; + } + newRequestWithMetadata(url, options) { + return this.adapter.newRequest(url, { headers: options.headers }); + } + cacheBust(url) { + return url + (url.indexOf("?") === -1 ? "?" : "&") + "ngsw-cache-bust=" + Math.random(); + } + async safeFetch(req) { + try { + return await this.scope.fetch(req); + } catch (e) { + return this.adapter.newResponse("", { + status: 504, + statusText: "Gateway Timeout" + }); + } + } + }; + var PrefetchAssetGroup = class extends AssetGroup { + async initializeFully(updateFrom) { + const cache = await this.cache; + await this.urls.reduce(async (previous, url) => { + await previous; + const req = this.adapter.newRequest(url); + let alreadyCached = false; + try { + alreadyCached = await cache.match(req, this.config.cacheQueryOptions) !== void 0; + } catch (error) { + throw new SwCriticalError(`Cache is throwing while looking for a match in a PrefetchAssetGroup: ${error}`); + } + if (alreadyCached) { + return; + } + if (updateFrom !== void 0 && await this.maybeUpdate(updateFrom, req, cache)) { + return; + } + await this.fetchAndCacheOnce(req, false); + }, Promise.resolve()); + if (updateFrom !== void 0) { + const metaTable = await this.metadata; + await (await updateFrom.previouslyCachedResources()).filter((url) => this.urls.indexOf(url) !== -1 || this.patterns.some((pattern) => pattern.test(url))).reduce(async (previous, url) => { + await previous; + const req = this.adapter.newRequest(url); + const alreadyCached = await cache.match(req, this.config.cacheQueryOptions) !== void 0; + if (alreadyCached) { + return; + } + const res = await updateFrom.lookupResourceWithoutHash(url); + if (res === null || res.metadata === void 0) { + return; + } + await cache.put(req, res.response); + await metaTable.write(req.url, __spreadProps(__spreadValues({}, res.metadata), { used: false })); + }, Promise.resolve()); + } + } + }; + var LazyAssetGroup = class extends AssetGroup { + async initializeFully(updateFrom) { + if (updateFrom === void 0) { + return; + } + const cache = await this.cache; + await this.urls.reduce(async (previous, url) => { + await previous; + const req = this.adapter.newRequest(url); + let alreadyCached = false; + try { + alreadyCached = await cache.match(req, this.config.cacheQueryOptions) !== void 0; + } catch (error) { + throw new SwCriticalError(`Cache is throwing while looking for a match in a LazyAssetGroup: ${error}`); + } + if (alreadyCached) { + return; + } + const updated = await this.maybeUpdate(updateFrom, req, cache); + if (this.config.updateMode === "prefetch" && !updated) { + const cacheStatus = await updateFrom.recentCacheStatus(url); + if (cacheStatus !== UpdateCacheStatus.CACHED) { + return; + } + await this.fetchAndCacheOnce(req, false); + } + }, Promise.resolve()); + } + }; + + // bazel-out/darwin_arm64-fastbuild-ST-2e5f3376adb5/bin/packages/service-worker/worker/src/data.mjs + var LruList = class { + constructor(state) { + if (state === void 0) { + state = { + head: null, + tail: null, + map: {}, + count: 0 + }; + } + this.state = state; + } + get size() { + return this.state.count; + } + pop() { + if (this.state.tail === null) { + return null; + } + const url = this.state.tail; + this.remove(url); + return url; + } + remove(url) { + const node = this.state.map[url]; + if (node === void 0) { + return false; + } + if (this.state.head === url) { + if (node.next === null) { + this.state.head = null; + this.state.tail = null; + this.state.map = {}; + this.state.count = 0; + return true; + } + const next = this.state.map[node.next]; + next.previous = null; + this.state.head = next.url; + node.next = null; + delete this.state.map[url]; + this.state.count--; + return true; + } + const previous = this.state.map[node.previous]; + previous.next = node.next; + if (node.next !== null) { + this.state.map[node.next].previous = node.previous; + } else { + this.state.tail = node.previous; + } + node.next = null; + node.previous = null; + delete this.state.map[url]; + this.state.count--; + return true; + } + accessed(url) { + if (this.state.head === url) { + return; + } + const node = this.state.map[url] || { url, next: null, previous: null }; + if (this.state.map[url] !== void 0) { + this.remove(url); + } + if (this.state.head !== null) { + this.state.map[this.state.head].previous = url; + } + node.next = this.state.head; + this.state.head = url; + if (this.state.tail === null) { + this.state.tail = url; + } + this.state.map[url] = node; + this.state.count++; + } + }; + var DataGroup = class { + constructor(scope2, adapter2, config, db, debugHandler, cacheNamePrefix) { + this.scope = scope2; + this.adapter = adapter2; + this.config = config; + this.db = db; + this.debugHandler = debugHandler; + this._lru = null; + this.patterns = config.patterns.map((pattern) => new RegExp(pattern)); + this.cache = adapter2.caches.open(`${cacheNamePrefix}:${config.name}:cache`); + this.lruTable = this.db.open(`${cacheNamePrefix}:${config.name}:lru`, config.cacheQueryOptions); + this.ageTable = this.db.open(`${cacheNamePrefix}:${config.name}:age`, config.cacheQueryOptions); + } + async lru() { + if (this._lru === null) { + const table = await this.lruTable; + try { + this._lru = new LruList(await table.read("lru")); + } catch (e) { + this._lru = new LruList(); + } + } + return this._lru; + } + async syncLru() { + if (this._lru === null) { + return; + } + const table = await this.lruTable; + try { + return table.write("lru", this._lru.state); + } catch (err) { + this.debugHandler.log(err, `DataGroup(${this.config.name}@${this.config.version}).syncLru()`); + } + } + async handleFetch(req, event) { + if (!this.patterns.some((pattern) => pattern.test(req.url))) { + return null; + } + const lru = await this.lru(); + switch (req.method) { + case "OPTIONS": + return null; + case "GET": + case "HEAD": + switch (this.config.strategy) { + case "freshness": + return this.handleFetchWithFreshness(req, event, lru); + case "performance": + return this.handleFetchWithPerformance(req, event, lru); + default: + throw new Error(`Unknown strategy: ${this.config.strategy}`); + } + default: + const wasCached = lru.remove(req.url); + if (wasCached) { + await this.clearCacheForUrl(req.url); + } + await this.syncLru(); + return this.safeFetch(req); + } + } + async handleFetchWithPerformance(req, event, lru) { + var _a; + const okToCacheOpaque = (_a = this.config.cacheOpaqueResponses) != null ? _a : false; + let res = null; + const fromCache = await this.loadFromCache(req, lru); + if (fromCache !== null) { + res = fromCache.res; + if (this.config.refreshAheadMs !== void 0 && fromCache.age >= this.config.refreshAheadMs) { + event.waitUntil(this.safeCacheResponse(req, this.safeFetch(req), lru, okToCacheOpaque)); + } + } + if (res !== null) { + return res; + } + const [timeoutFetch, networkFetch] = this.networkFetchWithTimeout(req); + res = await timeoutFetch; + if (res === void 0) { + res = this.adapter.newResponse(null, { status: 504, statusText: "Gateway Timeout" }); + event.waitUntil(this.safeCacheResponse(req, networkFetch, lru, okToCacheOpaque)); + } else { + await this.safeCacheResponse(req, res, lru, okToCacheOpaque); + } + return res; + } + async handleFetchWithFreshness(req, event, lru) { + var _a; + const okToCacheOpaque = (_a = this.config.cacheOpaqueResponses) != null ? _a : true; + const [timeoutFetch, networkFetch] = this.networkFetchWithTimeout(req); + let res; + try { + res = await timeoutFetch; + } catch (e) { + res = void 0; + } + if (res === void 0) { + event.waitUntil(this.safeCacheResponse(req, networkFetch, lru, okToCacheOpaque)); + const fromCache = await this.loadFromCache(req, lru); + res = fromCache !== null ? fromCache.res : null; + } else { + await this.safeCacheResponse(req, res, lru, okToCacheOpaque); + } + if (res !== null) { + return res; + } + return networkFetch; + } + networkFetchWithTimeout(req) { + if (this.config.timeoutMs !== void 0) { + const networkFetch = this.scope.fetch(req); + const safeNetworkFetch = (async () => { + try { + return await networkFetch; + } catch (e) { + return this.adapter.newResponse(null, { + status: 504, + statusText: "Gateway Timeout" + }); + } + })(); + const networkFetchUndefinedError = (async () => { + try { + return await networkFetch; + } catch (e) { + return void 0; + } + })(); + const timeout = this.adapter.timeout(this.config.timeoutMs); + return [Promise.race([networkFetchUndefinedError, timeout]), safeNetworkFetch]; + } else { + const networkFetch = this.safeFetch(req); + return [networkFetch, networkFetch]; + } + } + async safeCacheResponse(req, resOrPromise, lru, okToCacheOpaque) { + try { + const res = await resOrPromise; + try { + await this.cacheResponse(req, res, lru, okToCacheOpaque); + } catch (err) { + this.debugHandler.log(err, `DataGroup(${this.config.name}@${this.config.version}).safeCacheResponse(${req.url}, status: ${res.status})`); + } + } catch (e) { + } + } + async loadFromCache(req, lru) { + const cache = await this.cache; + let res = await cache.match(req, this.config.cacheQueryOptions); + if (res !== void 0) { + try { + const ageTable = await this.ageTable; + const age = this.adapter.time - (await ageTable.read(req.url)).age; + if (age <= this.config.maxAge) { + lru.accessed(req.url); + return { res, age }; + } + } catch (e) { + } + lru.remove(req.url); + await this.clearCacheForUrl(req.url); + await this.syncLru(); + } + return null; + } + async cacheResponse(req, res, lru, okToCacheOpaque = false) { + if (!(res.ok || okToCacheOpaque && res.type === "opaque")) { + return; + } + if (lru.size >= this.config.maxSize) { + const evictedUrl = lru.pop(); + if (evictedUrl !== null) { + await this.clearCacheForUrl(evictedUrl); + } + } + lru.accessed(req.url); + await (await this.cache).put(req, res.clone()); + const ageTable = await this.ageTable; + await ageTable.write(req.url, { age: this.adapter.time }); + await this.syncLru(); + } + async cleanup() { + await Promise.all([ + this.cache.then((cache) => this.adapter.caches.delete(cache.name)), + this.ageTable.then((table) => this.db.delete(table.name)), + this.lruTable.then((table) => this.db.delete(table.name)) + ]); + } + async getCacheNames() { + const [cache, ageTable, lruTable] = await Promise.all([ + this.cache, + this.ageTable, + this.lruTable + ]); + return [cache.name, ageTable.cacheName, lruTable.cacheName]; + } + async clearCacheForUrl(url) { + const [cache, ageTable] = await Promise.all([this.cache, this.ageTable]); + await Promise.all([ + cache.delete(this.adapter.newRequest(url, { method: "GET" }), this.config.cacheQueryOptions), + cache.delete(this.adapter.newRequest(url, { method: "HEAD" }), this.config.cacheQueryOptions), + ageTable.delete(url) + ]); + } + async safeFetch(req) { + try { + return this.scope.fetch(req); + } catch (e) { + return this.adapter.newResponse(null, { + status: 504, + statusText: "Gateway Timeout" + }); + } + } + }; + + // bazel-out/darwin_arm64-fastbuild-ST-2e5f3376adb5/bin/packages/service-worker/worker/src/app-version.mjs + var BACKWARDS_COMPATIBILITY_NAVIGATION_URLS = [ + { positive: true, regex: "^/.*$" }, + { positive: false, regex: "^/.*\\.[^/]*$" }, + { positive: false, regex: "^/.*__" } + ]; + var AppVersion = class { + get okay() { + return this._okay; + } + constructor(scope2, adapter2, database, idle, debugHandler, manifest, manifestHash) { + this.scope = scope2; + this.adapter = adapter2; + this.database = database; + this.debugHandler = debugHandler; + this.manifest = manifest; + this.manifestHash = manifestHash; + this.hashTable = /* @__PURE__ */ new Map(); + this._okay = true; + this.indexUrl = this.adapter.normalizeUrl(this.manifest.index); + Object.keys(manifest.hashTable).forEach((url) => { + this.hashTable.set(adapter2.normalizeUrl(url), manifest.hashTable[url]); + }); + const assetCacheNamePrefix = `${manifestHash}:assets`; + this.assetGroups = (manifest.assetGroups || []).map((config) => { + switch (config.installMode) { + case "prefetch": + return new PrefetchAssetGroup(scope2, adapter2, idle, config, this.hashTable, database, assetCacheNamePrefix); + case "lazy": + return new LazyAssetGroup(scope2, adapter2, idle, config, this.hashTable, database, assetCacheNamePrefix); + } + }); + this.dataGroups = (manifest.dataGroups || []).map((config) => new DataGroup(scope2, adapter2, config, database, debugHandler, `${config.version}:data`)); + manifest.navigationUrls = manifest.navigationUrls || BACKWARDS_COMPATIBILITY_NAVIGATION_URLS; + const includeUrls = manifest.navigationUrls.filter((spec) => spec.positive); + const excludeUrls = manifest.navigationUrls.filter((spec) => !spec.positive); + this.navigationUrls = { + include: includeUrls.map((spec) => new RegExp(spec.regex)), + exclude: excludeUrls.map((spec) => new RegExp(spec.regex)) + }; + } + async initializeFully(updateFrom) { + try { + await this.assetGroups.reduce(async (previous, group) => { + await previous; + return group.initializeFully(updateFrom); + }, Promise.resolve()); + } catch (err) { + this._okay = false; + throw err; + } + } + async handleFetch(req, event) { + const asset = await this.assetGroups.reduce(async (potentialResponse, group) => { + const resp = await potentialResponse; + if (resp !== null) { + return resp; + } + return group.handleFetch(req, event); + }, Promise.resolve(null)); + if (asset !== null) { + return asset; + } + const data = await this.dataGroups.reduce(async (potentialResponse, group) => { + const resp = await potentialResponse; + if (resp !== null) { + return resp; + } + return group.handleFetch(req, event); + }, Promise.resolve(null)); + if (data !== null) { + return data; + } + if (this.adapter.normalizeUrl(req.url) !== this.indexUrl && this.isNavigationRequest(req)) { + if (this.manifest.navigationRequestStrategy === "freshness") { + try { + return await this.scope.fetch(req); + } catch (e) { + } + } + return this.handleFetch(this.adapter.newRequest(this.indexUrl), event); + } + return null; + } + isNavigationRequest(req) { + if (req.method !== "GET" || req.mode !== "navigate") { + return false; + } + if (!this.acceptsTextHtml(req)) { + return false; + } + const urlPrefix = this.scope.registration.scope.replace(/\/$/, ""); + const url = req.url.startsWith(urlPrefix) ? req.url.slice(urlPrefix.length) : req.url; + const urlWithoutQueryOrHash = url.replace(/[?#].*$/, ""); + return this.navigationUrls.include.some((regex) => regex.test(urlWithoutQueryOrHash)) && !this.navigationUrls.exclude.some((regex) => regex.test(urlWithoutQueryOrHash)); + } + async lookupResourceWithHash(url, hash) { + if (!this.hashTable.has(url)) { + return null; + } + if (this.hashTable.get(url) !== hash) { + return null; + } + const cacheState = await this.lookupResourceWithoutHash(url); + return cacheState && cacheState.response; + } + lookupResourceWithoutHash(url) { + return this.assetGroups.reduce(async (potentialResponse, group) => { + const resp = await potentialResponse; + if (resp !== null) { + return resp; + } + return group.fetchFromCacheOnly(url); + }, Promise.resolve(null)); + } + previouslyCachedResources() { + return this.assetGroups.reduce(async (resources, group) => (await resources).concat(await group.unhashedResources()), Promise.resolve([])); + } + async recentCacheStatus(url) { + return this.assetGroups.reduce(async (current, group) => { + const status = await current; + if (status === UpdateCacheStatus.CACHED) { + return status; + } + const groupStatus = await group.cacheStatus(url); + if (groupStatus === UpdateCacheStatus.NOT_CACHED) { + return status; + } + return groupStatus; + }, Promise.resolve(UpdateCacheStatus.NOT_CACHED)); + } + async getCacheNames() { + const allGroupCacheNames = await Promise.all([ + ...this.assetGroups.map((group) => group.getCacheNames()), + ...this.dataGroups.map((group) => group.getCacheNames()) + ]); + return [].concat(...allGroupCacheNames); + } + get appData() { + return this.manifest.appData || null; + } + acceptsTextHtml(req) { + const accept = req.headers.get("Accept"); + if (accept === null) { + return false; + } + const values = accept.split(","); + return values.some((value) => value.trim().toLowerCase() === "text/html"); + } + }; + + // bazel-out/darwin_arm64-fastbuild-ST-2e5f3376adb5/bin/packages/service-worker/worker/src/debug.mjs + var SW_VERSION = "17.3.1"; + var DEBUG_LOG_BUFFER_SIZE = 100; + var DebugHandler = class { + constructor(driver, adapter2) { + this.driver = driver; + this.adapter = adapter2; + this.debugLogA = []; + this.debugLogB = []; + } + async handleFetch(req) { + const [state, versions, idle] = await Promise.all([ + this.driver.debugState(), + this.driver.debugVersions(), + this.driver.debugIdleState() + ]); + const msgState = `NGSW Debug Info: + +Driver version: ${SW_VERSION} +Driver state: ${state.state} (${state.why}) +Latest manifest hash: ${state.latestHash || "none"} +Last update check: ${this.since(state.lastUpdateCheck)}`; + const msgVersions = versions.map((version) => `=== Version ${version.hash} === + +Clients: ${version.clients.join(", ")}`).join("\n\n"); + const msgIdle = `=== Idle Task Queue === +Last update tick: ${this.since(idle.lastTrigger)} +Last update run: ${this.since(idle.lastRun)} +Task queue: +${idle.queue.map((v) => " * " + v).join("\n")} + +Debug log: +${this.formatDebugLog(this.debugLogB)} +${this.formatDebugLog(this.debugLogA)} +`; + return this.adapter.newResponse(`${msgState} + +${msgVersions} + +${msgIdle}`, { headers: this.adapter.newHeaders({ "Content-Type": "text/plain" }) }); + } + since(time) { + if (time === null) { + return "never"; + } + let age = this.adapter.time - time; + const days = Math.floor(age / 864e5); + age = age % 864e5; + const hours = Math.floor(age / 36e5); + age = age % 36e5; + const minutes = Math.floor(age / 6e4); + age = age % 6e4; + const seconds = Math.floor(age / 1e3); + const millis = age % 1e3; + return (days > 0 ? `${days}d` : "") + (hours > 0 ? `${hours}h` : "") + (minutes > 0 ? `${minutes}m` : "") + (seconds > 0 ? `${seconds}s` : "") + (millis > 0 ? `${millis}u` : ""); + } + log(value, context = "") { + if (this.debugLogA.length === DEBUG_LOG_BUFFER_SIZE) { + this.debugLogB = this.debugLogA; + this.debugLogA = []; + } + if (typeof value !== "string") { + value = this.errorToString(value); + } + this.debugLogA.push({ value, time: this.adapter.time, context }); + } + errorToString(err) { + return `${err.name}(${err.message}, ${err.stack})`; + } + formatDebugLog(log) { + return log.map((entry) => `[${this.since(entry.time)}] ${entry.value} ${entry.context}`).join("\n"); + } + }; + + // bazel-out/darwin_arm64-fastbuild-ST-2e5f3376adb5/bin/packages/service-worker/worker/src/idle.mjs + var IdleScheduler = class { + constructor(adapter2, delay, maxDelay, debug) { + this.adapter = adapter2; + this.delay = delay; + this.maxDelay = maxDelay; + this.debug = debug; + this.queue = []; + this.scheduled = null; + this.empty = Promise.resolve(); + this.emptyResolve = null; + this.lastTrigger = null; + this.lastRun = null; + this.oldestScheduledAt = null; + } + async trigger() { + var _a; + this.lastTrigger = this.adapter.time; + if (this.queue.length === 0) { + return; + } + if (this.scheduled !== null) { + this.scheduled.cancel = true; + } + const scheduled = { + cancel: false + }; + this.scheduled = scheduled; + const now = this.adapter.time; + const maxDelay = Math.max(0, ((_a = this.oldestScheduledAt) != null ? _a : now) + this.maxDelay - now); + const delay = Math.min(maxDelay, this.delay); + await this.adapter.timeout(delay); + if (scheduled.cancel) { + return; + } + this.scheduled = null; + await this.execute(); + } + async execute() { + this.lastRun = this.adapter.time; + while (this.queue.length > 0) { + const queue = this.queue; + this.queue = []; + await queue.reduce(async (previous, task) => { + await previous; + try { + await task.run(); + } catch (err) { + this.debug.log(err, `while running idle task ${task.desc}`); + } + }, Promise.resolve()); + } + if (this.emptyResolve !== null) { + this.emptyResolve(); + this.emptyResolve = null; + } + this.empty = Promise.resolve(); + this.oldestScheduledAt = null; + } + schedule(desc, run) { + this.queue.push({ desc, run }); + if (this.emptyResolve === null) { + this.empty = new Promise((resolve) => { + this.emptyResolve = resolve; + }); + } + if (this.oldestScheduledAt === null) { + this.oldestScheduledAt = this.adapter.time; + } + } + get size() { + return this.queue.length; + } + get taskDescriptions() { + return this.queue.map((task) => task.desc); + } + }; + + // bazel-out/darwin_arm64-fastbuild-ST-2e5f3376adb5/bin/packages/service-worker/worker/src/manifest.mjs + function hashManifest(manifest) { + return sha1(JSON.stringify(manifest)); + } + + // bazel-out/darwin_arm64-fastbuild-ST-2e5f3376adb5/bin/packages/service-worker/worker/src/msg.mjs + function isMsgCheckForUpdates(msg) { + return msg.action === "CHECK_FOR_UPDATES"; + } + function isMsgActivateUpdate(msg) { + return msg.action === "ACTIVATE_UPDATE"; + } + + // bazel-out/darwin_arm64-fastbuild-ST-2e5f3376adb5/bin/packages/service-worker/worker/src/driver.mjs + var IDLE_DELAY = 5e3; + var MAX_IDLE_DELAY = 3e4; + var SUPPORTED_CONFIG_VERSION = 1; + var NOTIFICATION_OPTION_NAMES = [ + "actions", + "badge", + "body", + "data", + "dir", + "icon", + "image", + "lang", + "renotify", + "requireInteraction", + "silent", + "tag", + "timestamp", + "title", + "vibrate" + ]; + var DriverReadyState; + (function(DriverReadyState2) { + DriverReadyState2[DriverReadyState2["NORMAL"] = 0] = "NORMAL"; + DriverReadyState2[DriverReadyState2["EXISTING_CLIENTS_ONLY"] = 1] = "EXISTING_CLIENTS_ONLY"; + DriverReadyState2[DriverReadyState2["SAFE_MODE"] = 2] = "SAFE_MODE"; + })(DriverReadyState || (DriverReadyState = {})); + var Driver = class { + constructor(scope2, adapter2, db) { + this.scope = scope2; + this.adapter = adapter2; + this.db = db; + this.state = DriverReadyState.NORMAL; + this.stateMessage = "(nominal)"; + this.initialized = null; + this.clientVersionMap = /* @__PURE__ */ new Map(); + this.versions = /* @__PURE__ */ new Map(); + this.latestHash = null; + this.lastUpdateCheck = null; + this.scheduledNavUpdateCheck = false; + this.loggedInvalidOnlyIfCachedRequest = false; + this.controlTable = this.db.open("control"); + this.ngswStatePath = this.adapter.parseUrl("ngsw/state", this.scope.registration.scope).path; + this.scope.addEventListener("install", (event) => { + event.waitUntil(this.scope.skipWaiting()); + }); + this.scope.addEventListener("activate", (event) => { + event.waitUntil((async () => { + await this.scope.clients.claim(); + this.idle.schedule("activate: cleanup-old-sw-caches", async () => { + try { + await this.cleanupOldSwCaches(); + } catch (err) { + this.debugger.log(err, "cleanupOldSwCaches @ activate: cleanup-old-sw-caches"); + } + }); + })()); + if (this.scope.registration.active !== null) { + this.scope.registration.active.postMessage({ action: "INITIALIZE" }); + } + }); + this.scope.addEventListener("fetch", (event) => this.onFetch(event)); + this.scope.addEventListener("message", (event) => this.onMessage(event)); + this.scope.addEventListener("push", (event) => this.onPush(event)); + this.scope.addEventListener("notificationclick", (event) => this.onClick(event)); + this.debugger = new DebugHandler(this, this.adapter); + this.idle = new IdleScheduler(this.adapter, IDLE_DELAY, MAX_IDLE_DELAY, this.debugger); + } + onFetch(event) { + const req = event.request; + const scopeUrl = this.scope.registration.scope; + const requestUrlObj = this.adapter.parseUrl(req.url, scopeUrl); + if (req.headers.has("ngsw-bypass") || /[?&]ngsw-bypass(?:[=&]|$)/i.test(requestUrlObj.search)) { + return; + } + if (requestUrlObj.path === this.ngswStatePath) { + event.respondWith(this.debugger.handleFetch(req)); + return; + } + if (this.state === DriverReadyState.SAFE_MODE) { + event.waitUntil(this.idle.trigger()); + return; + } + if (requestUrlObj.origin.startsWith("http:") && scopeUrl.startsWith("https:")) { + this.debugger.log(`Ignoring passive mixed content request: Driver.fetch(${req.url})`); + return; + } + if (req.cache === "only-if-cached" && req.mode !== "same-origin") { + if (!this.loggedInvalidOnlyIfCachedRequest) { + this.loggedInvalidOnlyIfCachedRequest = true; + this.debugger.log(`Ignoring invalid request: 'only-if-cached' can be set only with 'same-origin' mode`, `Driver.fetch(${req.url}, cache: ${req.cache}, mode: ${req.mode})`); + } + return; + } + event.respondWith(this.handleFetch(event)); + } + onMessage(event) { + if (this.state === DriverReadyState.SAFE_MODE) { + return; + } + const data = event.data; + if (!data || !data.action) { + return; + } + event.waitUntil((async () => { + if (data.action === "INITIALIZE") { + return this.ensureInitialized(event); + } + if (!this.adapter.isClient(event.source)) { + return; + } + await this.ensureInitialized(event); + await this.handleMessage(data, event.source); + })()); + } + onPush(msg) { + if (!msg.data) { + return; + } + msg.waitUntil(this.handlePush(msg.data.json())); + } + onClick(event) { + event.waitUntil(this.handleClick(event.notification, event.action)); + } + async ensureInitialized(event) { + if (this.initialized !== null) { + return this.initialized; + } + try { + this.initialized = this.initialize(); + await this.initialized; + } catch (error) { + this.state = DriverReadyState.SAFE_MODE; + this.stateMessage = `Initialization failed due to error: ${errorToString(error)}`; + throw error; + } finally { + event.waitUntil(this.idle.trigger()); + } + } + async handleMessage(msg, from) { + if (isMsgCheckForUpdates(msg)) { + const action = this.checkForUpdate(); + await this.completeOperation(from, action, msg.nonce); + } else if (isMsgActivateUpdate(msg)) { + const action = this.updateClient(from); + await this.completeOperation(from, action, msg.nonce); + } + } + async handlePush(data) { + await this.broadcast({ + type: "PUSH", + data + }); + if (!data.notification || !data.notification.title) { + return; + } + const desc = data.notification; + let options = {}; + NOTIFICATION_OPTION_NAMES.filter((name) => desc.hasOwnProperty(name)).forEach((name) => options[name] = desc[name]); + await this.scope.registration.showNotification(desc["title"], options); + } + async handleClick(notification, action) { + var _a, _b, _c; + notification.close(); + const options = {}; + NOTIFICATION_OPTION_NAMES.filter((name) => name in notification).forEach((name) => options[name] = notification[name]); + const notificationAction = action === "" || action === void 0 ? "default" : action; + const onActionClick = (_b = (_a = notification == null ? void 0 : notification.data) == null ? void 0 : _a.onActionClick) == null ? void 0 : _b[notificationAction]; + const urlToOpen = new URL((_c = onActionClick == null ? void 0 : onActionClick.url) != null ? _c : "", this.scope.registration.scope).href; + switch (onActionClick == null ? void 0 : onActionClick.operation) { + case "openWindow": + await this.scope.clients.openWindow(urlToOpen); + break; + case "focusLastFocusedOrOpen": { + let matchingClient = await this.getLastFocusedMatchingClient(this.scope); + if (matchingClient) { + await (matchingClient == null ? void 0 : matchingClient.focus()); + } else { + await this.scope.clients.openWindow(urlToOpen); + } + break; + } + case "navigateLastFocusedOrOpen": { + let matchingClient = await this.getLastFocusedMatchingClient(this.scope); + if (matchingClient) { + matchingClient = await matchingClient.navigate(urlToOpen); + await (matchingClient == null ? void 0 : matchingClient.focus()); + } else { + await this.scope.clients.openWindow(urlToOpen); + } + break; + } + case "sendRequest": { + await this.scope.fetch(urlToOpen); + break; + } + default: + break; + } + await this.broadcast({ + type: "NOTIFICATION_CLICK", + data: { action, notification: options } + }); + } + async getLastFocusedMatchingClient(scope2) { + const windowClients = await scope2.clients.matchAll({ type: "window" }); + return windowClients[0]; + } + async completeOperation(client, promise, nonce) { + const response = { type: "OPERATION_COMPLETED", nonce }; + try { + client.postMessage(__spreadProps(__spreadValues({}, response), { + result: await promise + })); + } catch (e) { + client.postMessage(__spreadProps(__spreadValues({}, response), { + error: e.toString() + })); + } + } + async updateClient(client) { + const existing = this.clientVersionMap.get(client.id); + if (existing === this.latestHash) { + return false; + } + let previous = void 0; + if (existing !== void 0) { + const existingVersion = this.versions.get(existing); + previous = this.mergeHashWithAppData(existingVersion.manifest, existing); + } + this.clientVersionMap.set(client.id, this.latestHash); + await this.sync(); + const current = this.versions.get(this.latestHash); + return true; + } + async handleFetch(event) { + try { + await this.ensureInitialized(event); + } catch (e) { + return this.safeFetch(event.request); + } + if (event.request.mode === "navigate" && !this.scheduledNavUpdateCheck) { + this.scheduledNavUpdateCheck = true; + this.idle.schedule("check-updates-on-navigation", async () => { + this.scheduledNavUpdateCheck = false; + await this.checkForUpdate(); + }); + } + const appVersion = await this.assignVersion(event); + let res = null; + try { + if (appVersion !== null) { + try { + res = await appVersion.handleFetch(event.request, event); + } catch (err) { + if (err.isUnrecoverableState) { + await this.notifyClientsAboutUnrecoverableState(appVersion, err.message); + } + if (err.isCritical) { + this.debugger.log(err, `Driver.handleFetch(version: ${appVersion.manifestHash})`); + await this.versionFailed(appVersion, err); + return this.safeFetch(event.request); + } + throw err; + } + } + if (res === null) { + return this.safeFetch(event.request); + } + return res; + } finally { + event.waitUntil(this.idle.trigger()); + } + } + async initialize() { + const table = await this.controlTable; + let manifests, assignments, latest; + try { + [manifests, assignments, latest] = await Promise.all([ + table.read("manifests"), + table.read("assignments"), + table.read("latest") + ]); + if (!this.versions.has(latest.latest) && !manifests.hasOwnProperty(latest.latest)) { + this.debugger.log(`Missing manifest for latest version hash ${latest.latest}`, "initialize: read from DB"); + throw new Error(`Missing manifest for latest hash ${latest.latest}`); + } + this.idle.schedule("init post-load (update)", async () => { + await this.checkForUpdate(); + }); + } catch (_) { + const manifest = await this.fetchLatestManifest(); + const hash = hashManifest(manifest); + manifests = { [hash]: manifest }; + assignments = {}; + latest = { latest: hash }; + await Promise.all([ + table.write("manifests", manifests), + table.write("assignments", assignments), + table.write("latest", latest) + ]); + } + this.idle.schedule("init post-load (cleanup)", async () => { + await this.cleanupCaches(); + }); + Object.keys(manifests).forEach((hash) => { + const manifest = manifests[hash]; + if (!this.versions.has(hash)) { + this.versions.set(hash, new AppVersion(this.scope, this.adapter, this.db, this.idle, this.debugger, manifest, hash)); + } + }); + Object.keys(assignments).forEach((clientId) => { + const hash = assignments[clientId]; + if (this.versions.has(hash)) { + this.clientVersionMap.set(clientId, hash); + } else { + this.clientVersionMap.set(clientId, latest.latest); + this.debugger.log(`Unknown version ${hash} mapped for client ${clientId}, using latest instead`, `initialize: map assignments`); + } + }); + this.latestHash = latest.latest; + if (!this.versions.has(latest.latest)) { + throw new Error(`Invariant violated (initialize): latest hash ${latest.latest} has no known manifest`); + } + await Promise.all(Object.keys(manifests).map(async (hash) => { + try { + await this.scheduleInitialization(this.versions.get(hash)); + } catch (err) { + this.debugger.log(err, `initialize: schedule init of ${hash}`); + } + })); + } + lookupVersionByHash(hash, debugName = "lookupVersionByHash") { + if (!this.versions.has(hash)) { + throw new Error(`Invariant violated (${debugName}): want AppVersion for ${hash} but not loaded`); + } + return this.versions.get(hash); + } + async assignVersion(event) { + const clientId = event.resultingClientId || event.clientId; + if (clientId) { + if (this.clientVersionMap.has(clientId)) { + const hash = this.clientVersionMap.get(clientId); + let appVersion = this.lookupVersionByHash(hash, "assignVersion"); + if (this.state === DriverReadyState.NORMAL && hash !== this.latestHash && appVersion.isNavigationRequest(event.request)) { + if (this.latestHash === null) { + throw new Error(`Invariant violated (assignVersion): latestHash was null`); + } + const client = await this.scope.clients.get(clientId); + if (client) { + await this.updateClient(client); + } + appVersion = this.lookupVersionByHash(this.latestHash, "assignVersion"); + } + return appVersion; + } else { + if (this.state !== DriverReadyState.NORMAL) { + return null; + } + if (this.latestHash === null) { + throw new Error(`Invariant violated (assignVersion): latestHash was null`); + } + this.clientVersionMap.set(clientId, this.latestHash); + await this.sync(); + return this.lookupVersionByHash(this.latestHash, "assignVersion"); + } + } else { + if (this.state !== DriverReadyState.NORMAL) { + return null; + } + if (this.latestHash === null) { + throw new Error(`Invariant violated (assignVersion): latestHash was null`); + } + return this.lookupVersionByHash(this.latestHash, "assignVersion"); + } + } + async fetchLatestManifest(ignoreOfflineError = false) { + const res = await this.safeFetch(this.adapter.newRequest("ngsw.json?ngsw-cache-bust=" + Math.random())); + if (!res.ok) { + if (res.status === 404) { + await this.deleteAllCaches(); + await this.scope.registration.unregister(); + } else if ((res.status === 503 || res.status === 504) && ignoreOfflineError) { + return null; + } + throw new Error(`Manifest fetch failed! (status: ${res.status})`); + } + this.lastUpdateCheck = this.adapter.time; + return res.json(); + } + async deleteAllCaches() { + const cacheNames = await this.adapter.caches.keys(); + await Promise.all(cacheNames.map((name) => this.adapter.caches.delete(name))); + } + async scheduleInitialization(appVersion) { + const initialize = async () => { + try { + await appVersion.initializeFully(); + } catch (err) { + this.debugger.log(err, `initializeFully for ${appVersion.manifestHash}`); + await this.versionFailed(appVersion, err); + } + }; + if (this.scope.registration.scope.indexOf("://localhost") > -1) { + return initialize(); + } + this.idle.schedule(`initialization(${appVersion.manifestHash})`, initialize); + } + async versionFailed(appVersion, err) { + const broken = Array.from(this.versions.entries()).find(([hash, version]) => version === appVersion); + if (broken === void 0) { + return; + } + const brokenHash = broken[0]; + if (this.latestHash === brokenHash) { + this.state = DriverReadyState.EXISTING_CLIENTS_ONLY; + this.stateMessage = `Degraded due to: ${errorToString(err)}`; + } + } + async setupUpdate(manifest, hash) { + try { + const newVersion = new AppVersion(this.scope, this.adapter, this.db, this.idle, this.debugger, manifest, hash); + if (manifest.configVersion !== SUPPORTED_CONFIG_VERSION) { + await this.deleteAllCaches(); + await this.scope.registration.unregister(); + throw new Error(`Invalid config version: expected ${SUPPORTED_CONFIG_VERSION}, got ${manifest.configVersion}.`); + } + await newVersion.initializeFully(this); + this.versions.set(hash, newVersion); + this.latestHash = hash; + if (this.state === DriverReadyState.EXISTING_CLIENTS_ONLY) { + this.state = DriverReadyState.NORMAL; + this.stateMessage = "(nominal)"; + } + await this.sync(); + await this.notifyClientsAboutVersionReady(manifest, hash); + } catch (e) { + await this.notifyClientsAboutVersionInstallationFailed(manifest, hash, e); + throw e; + } + } + async checkForUpdate() { + let hash = "(unknown)"; + try { + const manifest = await this.fetchLatestManifest(true); + if (manifest === null) { + this.debugger.log("Check for update aborted. (Client or server offline.)"); + return false; + } + hash = hashManifest(manifest); + if (this.versions.has(hash)) { + await this.notifyClientsAboutNoNewVersionDetected(manifest, hash); + return false; + } + await this.notifyClientsAboutVersionDetected(manifest, hash); + await this.setupUpdate(manifest, hash); + return true; + } catch (err) { + this.debugger.log(err, `Error occurred while updating to manifest ${hash}`); + this.state = DriverReadyState.EXISTING_CLIENTS_ONLY; + this.stateMessage = `Degraded due to failed initialization: ${errorToString(err)}`; + return false; + } + } + async sync() { + const table = await this.controlTable; + const manifests = {}; + this.versions.forEach((version, hash) => { + manifests[hash] = version.manifest; + }); + const assignments = {}; + this.clientVersionMap.forEach((hash, clientId) => { + assignments[clientId] = hash; + }); + const latest = { + latest: this.latestHash + }; + await Promise.all([ + table.write("manifests", manifests), + table.write("assignments", assignments), + table.write("latest", latest) + ]); + } + async cleanupCaches() { + try { + const activeClients = new Set((await this.scope.clients.matchAll()).map((client) => client.id)); + const knownClients = Array.from(this.clientVersionMap.keys()); + const obsoleteClients = knownClients.filter((id) => !activeClients.has(id)); + obsoleteClients.forEach((id) => this.clientVersionMap.delete(id)); + const usedVersions = new Set(this.clientVersionMap.values()); + const obsoleteVersions = Array.from(this.versions.keys()).filter((version) => !usedVersions.has(version) && version !== this.latestHash); + obsoleteVersions.forEach((version) => this.versions.delete(version)); + await this.sync(); + const allCaches = await this.adapter.caches.keys(); + const usedCaches = new Set(await this.getCacheNames()); + const cachesToDelete = allCaches.filter((name) => !usedCaches.has(name)); + await Promise.all(cachesToDelete.map((name) => this.adapter.caches.delete(name))); + } catch (err) { + this.debugger.log(err, "cleanupCaches"); + } + } + async cleanupOldSwCaches() { + const caches = this.adapter.caches.original; + const cacheNames = await caches.keys(); + const oldSwCacheNames = cacheNames.filter((name) => /^ngsw:(?!\/)/.test(name)); + await Promise.all(oldSwCacheNames.map((name) => caches.delete(name))); + } + lookupResourceWithHash(url, hash) { + return Array.from(this.versions.values()).reduce(async (prev, version) => { + if (await prev !== null) { + return prev; + } + return version.lookupResourceWithHash(url, hash); + }, Promise.resolve(null)); + } + async lookupResourceWithoutHash(url) { + await this.initialized; + const version = this.versions.get(this.latestHash); + return version ? version.lookupResourceWithoutHash(url) : null; + } + async previouslyCachedResources() { + await this.initialized; + const version = this.versions.get(this.latestHash); + return version ? version.previouslyCachedResources() : []; + } + async recentCacheStatus(url) { + const version = this.versions.get(this.latestHash); + return version ? version.recentCacheStatus(url) : UpdateCacheStatus.NOT_CACHED; + } + mergeHashWithAppData(manifest, hash) { + return { + hash, + appData: manifest.appData + }; + } + async notifyClientsAboutUnrecoverableState(appVersion, reason) { + const broken = Array.from(this.versions.entries()).find(([hash, version]) => version === appVersion); + if (broken === void 0) { + return; + } + const brokenHash = broken[0]; + const affectedClients = Array.from(this.clientVersionMap.entries()).filter(([clientId, hash]) => hash === brokenHash).map(([clientId]) => clientId); + await Promise.all(affectedClients.map(async (clientId) => { + const client = await this.scope.clients.get(clientId); + if (client) { + client.postMessage({ type: "UNRECOVERABLE_STATE", reason }); + } + })); + } + async notifyClientsAboutVersionInstallationFailed(manifest, hash, error) { + await this.initialized; + const clients = await this.scope.clients.matchAll(); + await Promise.all(clients.map(async (client) => { + client.postMessage({ + type: "VERSION_INSTALLATION_FAILED", + version: this.mergeHashWithAppData(manifest, hash), + error: errorToString(error) + }); + })); + } + async notifyClientsAboutNoNewVersionDetected(manifest, hash) { + await this.initialized; + const clients = await this.scope.clients.matchAll(); + await Promise.all(clients.map(async (client) => { + client.postMessage({ + type: "NO_NEW_VERSION_DETECTED", + version: this.mergeHashWithAppData(manifest, hash) + }); + })); + } + async notifyClientsAboutVersionDetected(manifest, hash) { + await this.initialized; + const clients = await this.scope.clients.matchAll(); + await Promise.all(clients.map(async (client) => { + const version = this.clientVersionMap.get(client.id); + if (version === void 0) { + return; + } + client.postMessage({ + type: "VERSION_DETECTED", + version: this.mergeHashWithAppData(manifest, hash) + }); + })); + } + async notifyClientsAboutVersionReady(manifest, hash) { + await this.initialized; + const clients = await this.scope.clients.matchAll(); + await Promise.all(clients.map(async (client) => { + const version = this.clientVersionMap.get(client.id); + if (version === void 0) { + return; + } + if (version === this.latestHash) { + return; + } + const current = this.versions.get(version); + const notice = { + type: "VERSION_READY", + currentVersion: this.mergeHashWithAppData(current.manifest, version), + latestVersion: this.mergeHashWithAppData(manifest, hash) + }; + client.postMessage(notice); + })); + } + async broadcast(msg) { + const clients = await this.scope.clients.matchAll(); + clients.forEach((client) => { + client.postMessage(msg); + }); + } + async debugState() { + return { + state: DriverReadyState[this.state], + why: this.stateMessage, + latestHash: this.latestHash, + lastUpdateCheck: this.lastUpdateCheck + }; + } + async debugVersions() { + return Array.from(this.versions.keys()).map((hash) => { + const version = this.versions.get(hash); + const clients = Array.from(this.clientVersionMap.entries()).filter(([clientId, version2]) => version2 === hash).map(([clientId, version2]) => clientId); + return { + hash, + manifest: version.manifest, + clients, + status: "" + }; + }); + } + async debugIdleState() { + return { + queue: this.idle.taskDescriptions, + lastTrigger: this.idle.lastTrigger, + lastRun: this.idle.lastRun + }; + } + async safeFetch(req) { + try { + return await this.scope.fetch(req); + } catch (err) { + this.debugger.log(err, `Driver.fetch(${req.url})`); + return this.adapter.newResponse(null, { + status: 504, + statusText: "Gateway Timeout" + }); + } + } + async getCacheNames() { + const controlTable = await this.controlTable; + const appVersions = Array.from(this.versions.values()); + const appVersionCacheNames = await Promise.all(appVersions.map((version) => version.getCacheNames())); + return [controlTable.cacheName].concat(...appVersionCacheNames); + } + }; + + // bazel-out/darwin_arm64-fastbuild-ST-2e5f3376adb5/bin/packages/service-worker/worker/main.mjs + var scope = self; + var adapter = new Adapter(scope.registration.scope, self.caches); + new Driver(scope, adapter, new CacheDatabase(adapter)); +})(); +/** + * @license + * Copyright Google LLC All Rights Reserved. + * + * Use of this source code is governed by an MIT-style license that can be + * found in the LICENSE file at https://angular.io/license + */ diff --git a/docs/ngsw.json b/docs/ngsw.json new file mode 100644 index 0000000..2e45b22 --- /dev/null +++ b/docs/ngsw.json @@ -0,0 +1,292 @@ +{ + "configVersion": 1, + "timestamp": 1712066479817, + "index": "/ESPRowingMonitor-WebGUI/index.html", + "assetGroups": [ + { + "name": "app", + "installMode": "prefetch", + "updateMode": "prefetch", + "cacheQueryOptions": { + "ignoreVary": true + }, + "urls": [ + "/ESPRowingMonitor-WebGUI/favicon.ico", + "/ESPRowingMonitor-WebGUI/index.html", + "/ESPRowingMonitor-WebGUI/main.d25045f58a645869.js", + "/ESPRowingMonitor-WebGUI/manifest.webmanifest", + "/ESPRowingMonitor-WebGUI/polyfills.e135a6221e8c7db3.js", + "/ESPRowingMonitor-WebGUI/runtime.5a721e9334bf0358.js", + "/ESPRowingMonitor-WebGUI/styles.3f1848388ed0cad8.css" + ], + "patterns": [ + "https:\\/\\/fonts\\.googleapis\\.com\\/css\\?family=Material\\+Icons|Material\\+Icons\\+Sharp", + "https:\\/\\/fonts\\.googleapis\\.com\\/css2\\?family=Roboto:wght@300;400;500&display=swap" + ] + }, + { + "name": "assets", + "installMode": "prefetch", + "updateMode": "prefetch", + "cacheQueryOptions": { + "ignoreVary": true + }, + "urls": [ + "/ESPRowingMonitor-WebGUI/assets/icons/android/android-launchericon-144-144.png", + "/ESPRowingMonitor-WebGUI/assets/icons/android/android-launchericon-192-192.png", + "/ESPRowingMonitor-WebGUI/assets/icons/android/android-launchericon-48-48.png", + "/ESPRowingMonitor-WebGUI/assets/icons/android/android-launchericon-512-512.png", + "/ESPRowingMonitor-WebGUI/assets/icons/android/android-launchericon-72-72.png", + "/ESPRowingMonitor-WebGUI/assets/icons/android/android-launchericon-96-96.png", + "/ESPRowingMonitor-WebGUI/assets/icons/ios/100.png", + "/ESPRowingMonitor-WebGUI/assets/icons/ios/1024.png", + "/ESPRowingMonitor-WebGUI/assets/icons/ios/114.png", + "/ESPRowingMonitor-WebGUI/assets/icons/ios/120.png", + "/ESPRowingMonitor-WebGUI/assets/icons/ios/128.png", + "/ESPRowingMonitor-WebGUI/assets/icons/ios/144.png", + "/ESPRowingMonitor-WebGUI/assets/icons/ios/152.png", + "/ESPRowingMonitor-WebGUI/assets/icons/ios/16.png", + "/ESPRowingMonitor-WebGUI/assets/icons/ios/167.png", + "/ESPRowingMonitor-WebGUI/assets/icons/ios/180.png", + "/ESPRowingMonitor-WebGUI/assets/icons/ios/192.png", + "/ESPRowingMonitor-WebGUI/assets/icons/ios/20.png", + "/ESPRowingMonitor-WebGUI/assets/icons/ios/256.png", + "/ESPRowingMonitor-WebGUI/assets/icons/ios/29.png", + "/ESPRowingMonitor-WebGUI/assets/icons/ios/32.png", + "/ESPRowingMonitor-WebGUI/assets/icons/ios/40.png", + "/ESPRowingMonitor-WebGUI/assets/icons/ios/50.png", + "/ESPRowingMonitor-WebGUI/assets/icons/ios/512.png", + "/ESPRowingMonitor-WebGUI/assets/icons/ios/57.png", + "/ESPRowingMonitor-WebGUI/assets/icons/ios/58.png", + "/ESPRowingMonitor-WebGUI/assets/icons/ios/60.png", + "/ESPRowingMonitor-WebGUI/assets/icons/ios/64.png", + "/ESPRowingMonitor-WebGUI/assets/icons/ios/72.png", + "/ESPRowingMonitor-WebGUI/assets/icons/ios/76.png", + "/ESPRowingMonitor-WebGUI/assets/icons/ios/80.png", + "/ESPRowingMonitor-WebGUI/assets/icons/ios/87.png", + "/ESPRowingMonitor-WebGUI/assets/icons/windows11/LargeTile.scale-100.png", + "/ESPRowingMonitor-WebGUI/assets/icons/windows11/LargeTile.scale-125.png", + "/ESPRowingMonitor-WebGUI/assets/icons/windows11/LargeTile.scale-150.png", + "/ESPRowingMonitor-WebGUI/assets/icons/windows11/LargeTile.scale-200.png", + "/ESPRowingMonitor-WebGUI/assets/icons/windows11/LargeTile.scale-400.png", + "/ESPRowingMonitor-WebGUI/assets/icons/windows11/SmallTile.scale-100.png", + "/ESPRowingMonitor-WebGUI/assets/icons/windows11/SmallTile.scale-125.png", + "/ESPRowingMonitor-WebGUI/assets/icons/windows11/SmallTile.scale-150.png", + "/ESPRowingMonitor-WebGUI/assets/icons/windows11/SmallTile.scale-200.png", + "/ESPRowingMonitor-WebGUI/assets/icons/windows11/SmallTile.scale-400.png", + "/ESPRowingMonitor-WebGUI/assets/icons/windows11/SplashScreen.scale-100.png", + "/ESPRowingMonitor-WebGUI/assets/icons/windows11/SplashScreen.scale-125.png", + "/ESPRowingMonitor-WebGUI/assets/icons/windows11/SplashScreen.scale-150.png", + "/ESPRowingMonitor-WebGUI/assets/icons/windows11/SplashScreen.scale-200.png", + "/ESPRowingMonitor-WebGUI/assets/icons/windows11/SplashScreen.scale-400.png", + "/ESPRowingMonitor-WebGUI/assets/icons/windows11/Square150x150Logo.scale-100.png", + "/ESPRowingMonitor-WebGUI/assets/icons/windows11/Square150x150Logo.scale-125.png", + "/ESPRowingMonitor-WebGUI/assets/icons/windows11/Square150x150Logo.scale-150.png", + "/ESPRowingMonitor-WebGUI/assets/icons/windows11/Square150x150Logo.scale-200.png", + "/ESPRowingMonitor-WebGUI/assets/icons/windows11/Square150x150Logo.scale-400.png", + "/ESPRowingMonitor-WebGUI/assets/icons/windows11/Square44x44Logo.altform-lightunplated_targetsize-16.png", + "/ESPRowingMonitor-WebGUI/assets/icons/windows11/Square44x44Logo.altform-lightunplated_targetsize-20.png", + "/ESPRowingMonitor-WebGUI/assets/icons/windows11/Square44x44Logo.altform-lightunplated_targetsize-24.png", + "/ESPRowingMonitor-WebGUI/assets/icons/windows11/Square44x44Logo.altform-lightunplated_targetsize-256.png", + "/ESPRowingMonitor-WebGUI/assets/icons/windows11/Square44x44Logo.altform-lightunplated_targetsize-30.png", + "/ESPRowingMonitor-WebGUI/assets/icons/windows11/Square44x44Logo.altform-lightunplated_targetsize-32.png", + "/ESPRowingMonitor-WebGUI/assets/icons/windows11/Square44x44Logo.altform-lightunplated_targetsize-36.png", + "/ESPRowingMonitor-WebGUI/assets/icons/windows11/Square44x44Logo.altform-lightunplated_targetsize-40.png", + "/ESPRowingMonitor-WebGUI/assets/icons/windows11/Square44x44Logo.altform-lightunplated_targetsize-44.png", + "/ESPRowingMonitor-WebGUI/assets/icons/windows11/Square44x44Logo.altform-lightunplated_targetsize-48.png", + "/ESPRowingMonitor-WebGUI/assets/icons/windows11/Square44x44Logo.altform-lightunplated_targetsize-60.png", + "/ESPRowingMonitor-WebGUI/assets/icons/windows11/Square44x44Logo.altform-lightunplated_targetsize-64.png", + "/ESPRowingMonitor-WebGUI/assets/icons/windows11/Square44x44Logo.altform-lightunplated_targetsize-72.png", + "/ESPRowingMonitor-WebGUI/assets/icons/windows11/Square44x44Logo.altform-lightunplated_targetsize-80.png", + "/ESPRowingMonitor-WebGUI/assets/icons/windows11/Square44x44Logo.altform-lightunplated_targetsize-96.png", + "/ESPRowingMonitor-WebGUI/assets/icons/windows11/Square44x44Logo.altform-unplated_targetsize-16.png", + "/ESPRowingMonitor-WebGUI/assets/icons/windows11/Square44x44Logo.altform-unplated_targetsize-20.png", + "/ESPRowingMonitor-WebGUI/assets/icons/windows11/Square44x44Logo.altform-unplated_targetsize-24.png", + "/ESPRowingMonitor-WebGUI/assets/icons/windows11/Square44x44Logo.altform-unplated_targetsize-256.png", + "/ESPRowingMonitor-WebGUI/assets/icons/windows11/Square44x44Logo.altform-unplated_targetsize-30.png", + "/ESPRowingMonitor-WebGUI/assets/icons/windows11/Square44x44Logo.altform-unplated_targetsize-32.png", + "/ESPRowingMonitor-WebGUI/assets/icons/windows11/Square44x44Logo.altform-unplated_targetsize-36.png", + "/ESPRowingMonitor-WebGUI/assets/icons/windows11/Square44x44Logo.altform-unplated_targetsize-40.png", + "/ESPRowingMonitor-WebGUI/assets/icons/windows11/Square44x44Logo.altform-unplated_targetsize-44.png", + "/ESPRowingMonitor-WebGUI/assets/icons/windows11/Square44x44Logo.altform-unplated_targetsize-48.png", + "/ESPRowingMonitor-WebGUI/assets/icons/windows11/Square44x44Logo.altform-unplated_targetsize-60.png", + "/ESPRowingMonitor-WebGUI/assets/icons/windows11/Square44x44Logo.altform-unplated_targetsize-64.png", + "/ESPRowingMonitor-WebGUI/assets/icons/windows11/Square44x44Logo.altform-unplated_targetsize-72.png", + "/ESPRowingMonitor-WebGUI/assets/icons/windows11/Square44x44Logo.altform-unplated_targetsize-80.png", + "/ESPRowingMonitor-WebGUI/assets/icons/windows11/Square44x44Logo.altform-unplated_targetsize-96.png", + "/ESPRowingMonitor-WebGUI/assets/icons/windows11/Square44x44Logo.scale-100.png", + "/ESPRowingMonitor-WebGUI/assets/icons/windows11/Square44x44Logo.scale-125.png", + "/ESPRowingMonitor-WebGUI/assets/icons/windows11/Square44x44Logo.scale-150.png", + "/ESPRowingMonitor-WebGUI/assets/icons/windows11/Square44x44Logo.scale-200.png", + "/ESPRowingMonitor-WebGUI/assets/icons/windows11/Square44x44Logo.scale-400.png", + "/ESPRowingMonitor-WebGUI/assets/icons/windows11/Square44x44Logo.targetsize-16.png", + "/ESPRowingMonitor-WebGUI/assets/icons/windows11/Square44x44Logo.targetsize-20.png", + "/ESPRowingMonitor-WebGUI/assets/icons/windows11/Square44x44Logo.targetsize-24.png", + "/ESPRowingMonitor-WebGUI/assets/icons/windows11/Square44x44Logo.targetsize-256.png", + "/ESPRowingMonitor-WebGUI/assets/icons/windows11/Square44x44Logo.targetsize-30.png", + "/ESPRowingMonitor-WebGUI/assets/icons/windows11/Square44x44Logo.targetsize-32.png", + "/ESPRowingMonitor-WebGUI/assets/icons/windows11/Square44x44Logo.targetsize-36.png", + "/ESPRowingMonitor-WebGUI/assets/icons/windows11/Square44x44Logo.targetsize-40.png", + "/ESPRowingMonitor-WebGUI/assets/icons/windows11/Square44x44Logo.targetsize-44.png", + "/ESPRowingMonitor-WebGUI/assets/icons/windows11/Square44x44Logo.targetsize-48.png", + "/ESPRowingMonitor-WebGUI/assets/icons/windows11/Square44x44Logo.targetsize-60.png", + "/ESPRowingMonitor-WebGUI/assets/icons/windows11/Square44x44Logo.targetsize-64.png", + "/ESPRowingMonitor-WebGUI/assets/icons/windows11/Square44x44Logo.targetsize-72.png", + "/ESPRowingMonitor-WebGUI/assets/icons/windows11/Square44x44Logo.targetsize-80.png", + "/ESPRowingMonitor-WebGUI/assets/icons/windows11/Square44x44Logo.targetsize-96.png", + "/ESPRowingMonitor-WebGUI/assets/icons/windows11/StoreLogo.scale-100.png", + "/ESPRowingMonitor-WebGUI/assets/icons/windows11/StoreLogo.scale-125.png", + "/ESPRowingMonitor-WebGUI/assets/icons/windows11/StoreLogo.scale-150.png", + "/ESPRowingMonitor-WebGUI/assets/icons/windows11/StoreLogo.scale-200.png", + "/ESPRowingMonitor-WebGUI/assets/icons/windows11/StoreLogo.scale-400.png", + "/ESPRowingMonitor-WebGUI/assets/icons/windows11/Wide310x150Logo.scale-100.png", + "/ESPRowingMonitor-WebGUI/assets/icons/windows11/Wide310x150Logo.scale-125.png", + "/ESPRowingMonitor-WebGUI/assets/icons/windows11/Wide310x150Logo.scale-150.png", + "/ESPRowingMonitor-WebGUI/assets/icons/windows11/Wide310x150Logo.scale-200.png", + "/ESPRowingMonitor-WebGUI/assets/icons/windows11/Wide310x150Logo.scale-400.png" + ], + "patterns": [] + } + ], + "dataGroups": [], + "hashTable": { + "/ESPRowingMonitor-WebGUI/assets/icons/android/android-launchericon-144-144.png": "006731b608304bca5dc8139ce7ec0408e1303600", + "/ESPRowingMonitor-WebGUI/assets/icons/android/android-launchericon-192-192.png": "ca6d3b8793297306fa33d9c81185d33870dddce3", + "/ESPRowingMonitor-WebGUI/assets/icons/android/android-launchericon-48-48.png": "212d263b57feb592c9a8b5b7e47f1475cb813fee", + "/ESPRowingMonitor-WebGUI/assets/icons/android/android-launchericon-512-512.png": "4478b7cdc4adf914d326083b2fff69acd2bd7fbc", + "/ESPRowingMonitor-WebGUI/assets/icons/android/android-launchericon-72-72.png": "a28e1953f2f409eb4d331cb4a37b9c085527e5b7", + "/ESPRowingMonitor-WebGUI/assets/icons/android/android-launchericon-96-96.png": "820bff55c85f00cfeb06afe62548322b2b1d1be1", + "/ESPRowingMonitor-WebGUI/assets/icons/ios/100.png": "2f5bc2ccfd925ede9154947a99f50bd286df755e", + "/ESPRowingMonitor-WebGUI/assets/icons/ios/1024.png": "14b090ac50f3680f8e7401dea9f68b41f8ec6da5", + "/ESPRowingMonitor-WebGUI/assets/icons/ios/114.png": "72240c33b3f0a7c24cd1f4931665a0eb01681843", + "/ESPRowingMonitor-WebGUI/assets/icons/ios/120.png": "639ec741d2f4ab4971e6f6899eabd64d331b7be3", + "/ESPRowingMonitor-WebGUI/assets/icons/ios/128.png": "a72c5569ebc826665d5aa07e2dc1695c6ad97ade", + "/ESPRowingMonitor-WebGUI/assets/icons/ios/144.png": "006731b608304bca5dc8139ce7ec0408e1303600", + "/ESPRowingMonitor-WebGUI/assets/icons/ios/152.png": "75d44d02f6c2945378f2ce47a57fdb2a89a95b15", + "/ESPRowingMonitor-WebGUI/assets/icons/ios/16.png": "154cff49c0e4c8fa60c374686c68e05d32ca609e", + "/ESPRowingMonitor-WebGUI/assets/icons/ios/167.png": "910ef987a63ceaf81d6c9afb8bcc6269c68deef8", + "/ESPRowingMonitor-WebGUI/assets/icons/ios/180.png": "77fa96c5d0e7d8c57edad06c71f2453b9ea7979a", + "/ESPRowingMonitor-WebGUI/assets/icons/ios/192.png": "ca6d3b8793297306fa33d9c81185d33870dddce3", + "/ESPRowingMonitor-WebGUI/assets/icons/ios/20.png": "048a042e6bbe6285a998078828d70c2c7343a3b9", + "/ESPRowingMonitor-WebGUI/assets/icons/ios/256.png": "4f25f34334b72ed069a1c1882465880e65c0eb17", + "/ESPRowingMonitor-WebGUI/assets/icons/ios/29.png": "a3152f566b34e0732f91125ac7cb701ce18374a0", + "/ESPRowingMonitor-WebGUI/assets/icons/ios/32.png": "341d8a6ead8d1aa45ff8f6446c262539a42aa82c", + "/ESPRowingMonitor-WebGUI/assets/icons/ios/40.png": "f69e97c667f08d89c7355dd15b18e0404a53c29c", + "/ESPRowingMonitor-WebGUI/assets/icons/ios/50.png": "ad00230a9890a26ee31b7d5d7e17dba78ad4e9ac", + "/ESPRowingMonitor-WebGUI/assets/icons/ios/512.png": "4478b7cdc4adf914d326083b2fff69acd2bd7fbc", + "/ESPRowingMonitor-WebGUI/assets/icons/ios/57.png": "369415262732cfc41eecb85688f9da33f1a03894", + "/ESPRowingMonitor-WebGUI/assets/icons/ios/58.png": "75ee49ff907192e46ac0a7cec6b38f2fc0581bdc", + "/ESPRowingMonitor-WebGUI/assets/icons/ios/60.png": "e0e2a8eaa27feaa527d6c4cc47a8144131f6f5f7", + "/ESPRowingMonitor-WebGUI/assets/icons/ios/64.png": "52e33b9fc004dd019f0e9e306128a49646b2244b", + "/ESPRowingMonitor-WebGUI/assets/icons/ios/72.png": "a28e1953f2f409eb4d331cb4a37b9c085527e5b7", + "/ESPRowingMonitor-WebGUI/assets/icons/ios/76.png": "8121eb1e50c83f877a848bd43e97a19ab082f40b", + "/ESPRowingMonitor-WebGUI/assets/icons/ios/80.png": "1b215d1e17fd20fa7ec0ad7a0768b14f516fa73b", + "/ESPRowingMonitor-WebGUI/assets/icons/ios/87.png": "c72faa62a7baf63fa161637b3b866c038b22b740", + "/ESPRowingMonitor-WebGUI/assets/icons/windows11/LargeTile.scale-100.png": "e69f8ab71a342f86afe510af9f784e58dc1b2283", + "/ESPRowingMonitor-WebGUI/assets/icons/windows11/LargeTile.scale-125.png": "ea4d2f440132fb5a08c5a56ebb007b58b5527f6b", + "/ESPRowingMonitor-WebGUI/assets/icons/windows11/LargeTile.scale-150.png": "f5ac085f11021c1f1ea073d0b4bda5547329bbe2", + "/ESPRowingMonitor-WebGUI/assets/icons/windows11/LargeTile.scale-200.png": "e2758f0841faec9436e64169820d0e5a1ea646cb", + "/ESPRowingMonitor-WebGUI/assets/icons/windows11/LargeTile.scale-400.png": "d64af757a06dd98ed42286ceb4aa5beadc3abc6c", + "/ESPRowingMonitor-WebGUI/assets/icons/windows11/SmallTile.scale-100.png": "8cd36252bc73b53f55f0d7e0b93944c2365241cb", + "/ESPRowingMonitor-WebGUI/assets/icons/windows11/SmallTile.scale-125.png": "30a729428a42dbdb8b3d13c513616319bee3e2ac", + "/ESPRowingMonitor-WebGUI/assets/icons/windows11/SmallTile.scale-150.png": "a3014050e02eb53e9964700dace53aef2c9ec4b4", + "/ESPRowingMonitor-WebGUI/assets/icons/windows11/SmallTile.scale-200.png": "24baffd06d8e8c413db969c1b3dc1080b38b1246", + "/ESPRowingMonitor-WebGUI/assets/icons/windows11/SmallTile.scale-400.png": "2939ffa34f7e79a556de16a43681bb2f1e437f5d", + "/ESPRowingMonitor-WebGUI/assets/icons/windows11/SplashScreen.scale-100.png": "8f59a22b1a7b402cd9017d47be252d5658789c69", + "/ESPRowingMonitor-WebGUI/assets/icons/windows11/SplashScreen.scale-125.png": "6951a4331753f2d6248ba594cd735630b5ca566d", + "/ESPRowingMonitor-WebGUI/assets/icons/windows11/SplashScreen.scale-150.png": "25ffa71023a29f5106cc2ad5687dd7351bf9b519", + "/ESPRowingMonitor-WebGUI/assets/icons/windows11/SplashScreen.scale-200.png": "5bf078174aab5ae814dd124a86980a79226e554a", + "/ESPRowingMonitor-WebGUI/assets/icons/windows11/SplashScreen.scale-400.png": "bdc01891da370c2c7f4c093d3c8c4c40571bd291", + "/ESPRowingMonitor-WebGUI/assets/icons/windows11/Square150x150Logo.scale-100.png": "e98c5b04caae254da495419b0265deb79dd2405e", + "/ESPRowingMonitor-WebGUI/assets/icons/windows11/Square150x150Logo.scale-125.png": "118c55779efc19054ac15123976688d3ea5cde90", + "/ESPRowingMonitor-WebGUI/assets/icons/windows11/Square150x150Logo.scale-150.png": "604e9f76095a8493c08ecfb58060c0c236be4c63", + "/ESPRowingMonitor-WebGUI/assets/icons/windows11/Square150x150Logo.scale-200.png": "04b716eb0fdcb7895774509a8203a3e7514d6264", + "/ESPRowingMonitor-WebGUI/assets/icons/windows11/Square150x150Logo.scale-400.png": "28ae34c514abdf1bbd4a923e93ba06417059dfcd", + "/ESPRowingMonitor-WebGUI/assets/icons/windows11/Square44x44Logo.altform-lightunplated_targetsize-16.png": "d1f3bf54c6eb4e250ca57c3e818cb6c0578274fa", + "/ESPRowingMonitor-WebGUI/assets/icons/windows11/Square44x44Logo.altform-lightunplated_targetsize-20.png": "df1f8774f04124472e07efc07aba3ab8e13bb1f0", + "/ESPRowingMonitor-WebGUI/assets/icons/windows11/Square44x44Logo.altform-lightunplated_targetsize-24.png": "2c9cf90c1f85c1de1b09b6f034768a63cbabb0b3", + "/ESPRowingMonitor-WebGUI/assets/icons/windows11/Square44x44Logo.altform-lightunplated_targetsize-256.png": "61845f925c9852c3b7bc6ac2e90bb2c9964d3d8c", + "/ESPRowingMonitor-WebGUI/assets/icons/windows11/Square44x44Logo.altform-lightunplated_targetsize-30.png": "e44c698c9c6c58350fbf85bc83bc079d02c0a325", + "/ESPRowingMonitor-WebGUI/assets/icons/windows11/Square44x44Logo.altform-lightunplated_targetsize-32.png": "2a607a2c80564c04fad9cf925e0ca8dd1882d4c7", + "/ESPRowingMonitor-WebGUI/assets/icons/windows11/Square44x44Logo.altform-lightunplated_targetsize-36.png": "552ce09d92e2fba943be043078ea93530826f204", + "/ESPRowingMonitor-WebGUI/assets/icons/windows11/Square44x44Logo.altform-lightunplated_targetsize-40.png": "59713e47ef9b39e0ff22d42b6dcf4f687a465d15", + "/ESPRowingMonitor-WebGUI/assets/icons/windows11/Square44x44Logo.altform-lightunplated_targetsize-44.png": "34d9fdd21b6c42a19da2e26fe5ffd8ab91e7d312", + "/ESPRowingMonitor-WebGUI/assets/icons/windows11/Square44x44Logo.altform-lightunplated_targetsize-48.png": "1b72eacfd91719bb774eebd16e75c284cc27cb48", + "/ESPRowingMonitor-WebGUI/assets/icons/windows11/Square44x44Logo.altform-lightunplated_targetsize-60.png": "efda5ec0901aae9c168a98aa83127e85d7fa57dc", + "/ESPRowingMonitor-WebGUI/assets/icons/windows11/Square44x44Logo.altform-lightunplated_targetsize-64.png": "50a0b7b2d3e6dbb1de140655400f65d7bfc4edba", + "/ESPRowingMonitor-WebGUI/assets/icons/windows11/Square44x44Logo.altform-lightunplated_targetsize-72.png": "a6c8d09dcc3e5bfb9c1d51b3af9c40310eac0bb0", + "/ESPRowingMonitor-WebGUI/assets/icons/windows11/Square44x44Logo.altform-lightunplated_targetsize-80.png": "4372773a819c0e0f9ba73d1937f4c39c27176e3a", + "/ESPRowingMonitor-WebGUI/assets/icons/windows11/Square44x44Logo.altform-lightunplated_targetsize-96.png": "dd5038fa3c31c855f1082ae5a3cab1d19d14afd6", + "/ESPRowingMonitor-WebGUI/assets/icons/windows11/Square44x44Logo.altform-unplated_targetsize-16.png": "d1f3bf54c6eb4e250ca57c3e818cb6c0578274fa", + "/ESPRowingMonitor-WebGUI/assets/icons/windows11/Square44x44Logo.altform-unplated_targetsize-20.png": "df1f8774f04124472e07efc07aba3ab8e13bb1f0", + "/ESPRowingMonitor-WebGUI/assets/icons/windows11/Square44x44Logo.altform-unplated_targetsize-24.png": "2c9cf90c1f85c1de1b09b6f034768a63cbabb0b3", + "/ESPRowingMonitor-WebGUI/assets/icons/windows11/Square44x44Logo.altform-unplated_targetsize-256.png": "61845f925c9852c3b7bc6ac2e90bb2c9964d3d8c", + "/ESPRowingMonitor-WebGUI/assets/icons/windows11/Square44x44Logo.altform-unplated_targetsize-30.png": "e44c698c9c6c58350fbf85bc83bc079d02c0a325", + "/ESPRowingMonitor-WebGUI/assets/icons/windows11/Square44x44Logo.altform-unplated_targetsize-32.png": "2a607a2c80564c04fad9cf925e0ca8dd1882d4c7", + "/ESPRowingMonitor-WebGUI/assets/icons/windows11/Square44x44Logo.altform-unplated_targetsize-36.png": "552ce09d92e2fba943be043078ea93530826f204", + "/ESPRowingMonitor-WebGUI/assets/icons/windows11/Square44x44Logo.altform-unplated_targetsize-40.png": "59713e47ef9b39e0ff22d42b6dcf4f687a465d15", + "/ESPRowingMonitor-WebGUI/assets/icons/windows11/Square44x44Logo.altform-unplated_targetsize-44.png": "34d9fdd21b6c42a19da2e26fe5ffd8ab91e7d312", + "/ESPRowingMonitor-WebGUI/assets/icons/windows11/Square44x44Logo.altform-unplated_targetsize-48.png": "1b72eacfd91719bb774eebd16e75c284cc27cb48", + "/ESPRowingMonitor-WebGUI/assets/icons/windows11/Square44x44Logo.altform-unplated_targetsize-60.png": "efda5ec0901aae9c168a98aa83127e85d7fa57dc", + "/ESPRowingMonitor-WebGUI/assets/icons/windows11/Square44x44Logo.altform-unplated_targetsize-64.png": "50a0b7b2d3e6dbb1de140655400f65d7bfc4edba", + "/ESPRowingMonitor-WebGUI/assets/icons/windows11/Square44x44Logo.altform-unplated_targetsize-72.png": "a6c8d09dcc3e5bfb9c1d51b3af9c40310eac0bb0", + "/ESPRowingMonitor-WebGUI/assets/icons/windows11/Square44x44Logo.altform-unplated_targetsize-80.png": "4372773a819c0e0f9ba73d1937f4c39c27176e3a", + "/ESPRowingMonitor-WebGUI/assets/icons/windows11/Square44x44Logo.altform-unplated_targetsize-96.png": "dd5038fa3c31c855f1082ae5a3cab1d19d14afd6", + "/ESPRowingMonitor-WebGUI/assets/icons/windows11/Square44x44Logo.scale-100.png": "34d9fdd21b6c42a19da2e26fe5ffd8ab91e7d312", + "/ESPRowingMonitor-WebGUI/assets/icons/windows11/Square44x44Logo.scale-125.png": "c64a935e86fc024eef5b6d1355b08e07a4a121ba", + "/ESPRowingMonitor-WebGUI/assets/icons/windows11/Square44x44Logo.scale-150.png": "4d637bcca091fd9cdf4f4eda7a754328f5711f71", + "/ESPRowingMonitor-WebGUI/assets/icons/windows11/Square44x44Logo.scale-200.png": "c9ca2fa2ee95946ca52bc1a8f89dd65315568252", + "/ESPRowingMonitor-WebGUI/assets/icons/windows11/Square44x44Logo.scale-400.png": "cfb0cf3b4f626a1dce57141d238bf91e5d61ff8d", + "/ESPRowingMonitor-WebGUI/assets/icons/windows11/Square44x44Logo.targetsize-16.png": "d1f3bf54c6eb4e250ca57c3e818cb6c0578274fa", + "/ESPRowingMonitor-WebGUI/assets/icons/windows11/Square44x44Logo.targetsize-20.png": "df1f8774f04124472e07efc07aba3ab8e13bb1f0", + "/ESPRowingMonitor-WebGUI/assets/icons/windows11/Square44x44Logo.targetsize-24.png": "2c9cf90c1f85c1de1b09b6f034768a63cbabb0b3", + "/ESPRowingMonitor-WebGUI/assets/icons/windows11/Square44x44Logo.targetsize-256.png": "61845f925c9852c3b7bc6ac2e90bb2c9964d3d8c", + "/ESPRowingMonitor-WebGUI/assets/icons/windows11/Square44x44Logo.targetsize-30.png": "e44c698c9c6c58350fbf85bc83bc079d02c0a325", + "/ESPRowingMonitor-WebGUI/assets/icons/windows11/Square44x44Logo.targetsize-32.png": "2a607a2c80564c04fad9cf925e0ca8dd1882d4c7", + "/ESPRowingMonitor-WebGUI/assets/icons/windows11/Square44x44Logo.targetsize-36.png": "552ce09d92e2fba943be043078ea93530826f204", + "/ESPRowingMonitor-WebGUI/assets/icons/windows11/Square44x44Logo.targetsize-40.png": "59713e47ef9b39e0ff22d42b6dcf4f687a465d15", + "/ESPRowingMonitor-WebGUI/assets/icons/windows11/Square44x44Logo.targetsize-44.png": "34d9fdd21b6c42a19da2e26fe5ffd8ab91e7d312", + "/ESPRowingMonitor-WebGUI/assets/icons/windows11/Square44x44Logo.targetsize-48.png": "1b72eacfd91719bb774eebd16e75c284cc27cb48", + "/ESPRowingMonitor-WebGUI/assets/icons/windows11/Square44x44Logo.targetsize-60.png": "efda5ec0901aae9c168a98aa83127e85d7fa57dc", + "/ESPRowingMonitor-WebGUI/assets/icons/windows11/Square44x44Logo.targetsize-64.png": "50a0b7b2d3e6dbb1de140655400f65d7bfc4edba", + "/ESPRowingMonitor-WebGUI/assets/icons/windows11/Square44x44Logo.targetsize-72.png": "a6c8d09dcc3e5bfb9c1d51b3af9c40310eac0bb0", + "/ESPRowingMonitor-WebGUI/assets/icons/windows11/Square44x44Logo.targetsize-80.png": "4372773a819c0e0f9ba73d1937f4c39c27176e3a", + "/ESPRowingMonitor-WebGUI/assets/icons/windows11/Square44x44Logo.targetsize-96.png": "dd5038fa3c31c855f1082ae5a3cab1d19d14afd6", + "/ESPRowingMonitor-WebGUI/assets/icons/windows11/StoreLogo.scale-100.png": "ad00230a9890a26ee31b7d5d7e17dba78ad4e9ac", + "/ESPRowingMonitor-WebGUI/assets/icons/windows11/StoreLogo.scale-125.png": "27de32d700c7ba3f733f0f20a4ecba3b6c84e0c7", + "/ESPRowingMonitor-WebGUI/assets/icons/windows11/StoreLogo.scale-150.png": "e275edbe04f3651763b82bc4fa6f8bd4e5424aca", + "/ESPRowingMonitor-WebGUI/assets/icons/windows11/StoreLogo.scale-200.png": "2f5bc2ccfd925ede9154947a99f50bd286df755e", + "/ESPRowingMonitor-WebGUI/assets/icons/windows11/StoreLogo.scale-400.png": "819d1b063e4113cae6bda0c84db938b460287186", + "/ESPRowingMonitor-WebGUI/assets/icons/windows11/Wide310x150Logo.scale-100.png": "5a899bb8a96498dcf0425d1004f6a68bd3084bc5", + "/ESPRowingMonitor-WebGUI/assets/icons/windows11/Wide310x150Logo.scale-125.png": "7fc4705a85609cacb94f65d591e4ce9af6cdcef2", + "/ESPRowingMonitor-WebGUI/assets/icons/windows11/Wide310x150Logo.scale-150.png": "e75b335c30c27b90564b19598c47ad41a9654b86", + "/ESPRowingMonitor-WebGUI/assets/icons/windows11/Wide310x150Logo.scale-200.png": "8f59a22b1a7b402cd9017d47be252d5658789c69", + "/ESPRowingMonitor-WebGUI/assets/icons/windows11/Wide310x150Logo.scale-400.png": "5bf078174aab5ae814dd124a86980a79226e554a", + "/ESPRowingMonitor-WebGUI/favicon.ico": "52b52a76b70fa4a559e98ea19db9a3b9e1ba56f6", + "/ESPRowingMonitor-WebGUI/index.html": "52c836754cc38159b8e9eb4d4ba14e22dceebf2e", + "/ESPRowingMonitor-WebGUI/main.d25045f58a645869.js": "09ca66ca4b177e49e83d418ac762c86d16850e6d", + "/ESPRowingMonitor-WebGUI/manifest.webmanifest": "8b061d676af8e21014ac14938d4fcb8b057e85c3", + "/ESPRowingMonitor-WebGUI/polyfills.e135a6221e8c7db3.js": "39aefc679f0794041b5194638fbd6e39bfedab14", + "/ESPRowingMonitor-WebGUI/runtime.5a721e9334bf0358.js": "0f717b71b074dfd7d28800908d0c9db0bd021875", + "/ESPRowingMonitor-WebGUI/styles.3f1848388ed0cad8.css": "fd6fffb5516ec351a13e6b7f33de1b65d4d4fc97" + }, + "navigationUrls": [ + { + "positive": true, + "regex": "^\\/.*$" + }, + { + "positive": false, + "regex": "^\\/(?:.+\\/)?[^/]*\\.[^/]*$" + }, + { + "positive": false, + "regex": "^\\/(?:.+\\/)?[^/]*__[^/]*$" + }, + { + "positive": false, + "regex": "^\\/(?:.+\\/)?[^/]*__[^/]*\\/.*$" + } + ], + "navigationRequestStrategy": "performance" +} \ No newline at end of file diff --git a/docs/polyfills.e135a6221e8c7db3.js b/docs/polyfills.e135a6221e8c7db3.js new file mode 100644 index 0000000..1fec87e --- /dev/null +++ b/docs/polyfills.e135a6221e8c7db3.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkesp_rowing_monitor_client=self.webpackChunkesp_rowing_monitor_client||[]).push([[461],{6935:()=>{!function(t){const n=t.performance;function i(L){n&&n.mark&&n.mark(L)}function o(L,T){n&&n.measure&&n.measure(L,T)}i("Zone");const c=t.__Zone_symbol_prefix||"__zone_symbol__";function a(L){return c+L}const y=!0===t[a("forceDuplicateZoneCheck")];if(t.Zone){if(y||"function"!=typeof t.Zone.__symbol__)throw new Error("Zone already loaded.");return t.Zone}let d=(()=>{class L{static#e=this.__symbol__=a;static assertZonePatched(){if(t.Promise!==se.ZoneAwarePromise)throw new Error("Zone.js has detected that ZoneAwarePromise `(window|global).Promise` has been overwritten.\nMost likely cause is that a Promise polyfill has been loaded after Zone.js (Polyfilling Promise api is not necessary when zone.js is loaded. If you must load one, do so before loading zone.js.)")}static get root(){let e=L.current;for(;e.parent;)e=e.parent;return e}static get current(){return U.zone}static get currentTask(){return oe}static __load_patch(e,r,k=!1){if(se.hasOwnProperty(e)){if(!k&&y)throw Error("Already loaded patch: "+e)}else if(!t["__Zone_disable_"+e]){const C="Zone:"+e;i(C),se[e]=r(t,L,z),o(C,C)}}get parent(){return this._parent}get name(){return this._name}constructor(e,r){this._parent=e,this._name=r?r.name||"unnamed":"",this._properties=r&&r.properties||{},this._zoneDelegate=new v(this,this._parent&&this._parent._zoneDelegate,r)}get(e){const r=this.getZoneWith(e);if(r)return r._properties[e]}getZoneWith(e){let r=this;for(;r;){if(r._properties.hasOwnProperty(e))return r;r=r._parent}return null}fork(e){if(!e)throw new Error("ZoneSpec required!");return this._zoneDelegate.fork(this,e)}wrap(e,r){if("function"!=typeof e)throw new Error("Expecting function got: "+e);const k=this._zoneDelegate.intercept(this,e,r),C=this;return function(){return C.runGuarded(k,this,arguments,r)}}run(e,r,k,C){U={parent:U,zone:this};try{return this._zoneDelegate.invoke(this,e,r,k,C)}finally{U=U.parent}}runGuarded(e,r=null,k,C){U={parent:U,zone:this};try{try{return this._zoneDelegate.invoke(this,e,r,k,C)}catch($){if(this._zoneDelegate.handleError(this,$))throw $}}finally{U=U.parent}}runTask(e,r,k){if(e.zone!=this)throw new Error("A task can only be run in the zone of creation! (Creation: "+(e.zone||J).name+"; Execution: "+this.name+")");if(e.state===x&&(e.type===Q||e.type===P))return;const C=e.state!=E;C&&e._transitionTo(E,j),e.runCount++;const $=oe;oe=e,U={parent:U,zone:this};try{e.type==P&&e.data&&!e.data.isPeriodic&&(e.cancelFn=void 0);try{return this._zoneDelegate.invokeTask(this,e,r,k)}catch(u){if(this._zoneDelegate.handleError(this,u))throw u}}finally{e.state!==x&&e.state!==h&&(e.type==Q||e.data&&e.data.isPeriodic?C&&e._transitionTo(j,E):(e.runCount=0,this._updateTaskCount(e,-1),C&&e._transitionTo(x,E,x))),U=U.parent,oe=$}}scheduleTask(e){if(e.zone&&e.zone!==this){let k=this;for(;k;){if(k===e.zone)throw Error(`can not reschedule task to ${this.name} which is descendants of the original zone ${e.zone.name}`);k=k.parent}}e._transitionTo(X,x);const r=[];e._zoneDelegates=r,e._zone=this;try{e=this._zoneDelegate.scheduleTask(this,e)}catch(k){throw e._transitionTo(h,X,x),this._zoneDelegate.handleError(this,k),k}return e._zoneDelegates===r&&this._updateTaskCount(e,1),e.state==X&&e._transitionTo(j,X),e}scheduleMicroTask(e,r,k,C){return this.scheduleTask(new p(I,e,r,k,C,void 0))}scheduleMacroTask(e,r,k,C,$){return this.scheduleTask(new p(P,e,r,k,C,$))}scheduleEventTask(e,r,k,C,$){return this.scheduleTask(new p(Q,e,r,k,C,$))}cancelTask(e){if(e.zone!=this)throw new Error("A task can only be cancelled in the zone of creation! (Creation: "+(e.zone||J).name+"; Execution: "+this.name+")");if(e.state===j||e.state===E){e._transitionTo(G,j,E);try{this._zoneDelegate.cancelTask(this,e)}catch(r){throw e._transitionTo(h,G),this._zoneDelegate.handleError(this,r),r}return this._updateTaskCount(e,-1),e._transitionTo(x,G),e.runCount=0,e}}_updateTaskCount(e,r){const k=e._zoneDelegates;-1==r&&(e._zoneDelegates=null);for(let C=0;CL.hasTask(e,r),onScheduleTask:(L,T,e,r)=>L.scheduleTask(e,r),onInvokeTask:(L,T,e,r,k,C)=>L.invokeTask(e,r,k,C),onCancelTask:(L,T,e,r)=>L.cancelTask(e,r)};class v{constructor(T,e,r){this._taskCounts={microTask:0,macroTask:0,eventTask:0},this.zone=T,this._parentDelegate=e,this._forkZS=r&&(r&&r.onFork?r:e._forkZS),this._forkDlgt=r&&(r.onFork?e:e._forkDlgt),this._forkCurrZone=r&&(r.onFork?this.zone:e._forkCurrZone),this._interceptZS=r&&(r.onIntercept?r:e._interceptZS),this._interceptDlgt=r&&(r.onIntercept?e:e._interceptDlgt),this._interceptCurrZone=r&&(r.onIntercept?this.zone:e._interceptCurrZone),this._invokeZS=r&&(r.onInvoke?r:e._invokeZS),this._invokeDlgt=r&&(r.onInvoke?e:e._invokeDlgt),this._invokeCurrZone=r&&(r.onInvoke?this.zone:e._invokeCurrZone),this._handleErrorZS=r&&(r.onHandleError?r:e._handleErrorZS),this._handleErrorDlgt=r&&(r.onHandleError?e:e._handleErrorDlgt),this._handleErrorCurrZone=r&&(r.onHandleError?this.zone:e._handleErrorCurrZone),this._scheduleTaskZS=r&&(r.onScheduleTask?r:e._scheduleTaskZS),this._scheduleTaskDlgt=r&&(r.onScheduleTask?e:e._scheduleTaskDlgt),this._scheduleTaskCurrZone=r&&(r.onScheduleTask?this.zone:e._scheduleTaskCurrZone),this._invokeTaskZS=r&&(r.onInvokeTask?r:e._invokeTaskZS),this._invokeTaskDlgt=r&&(r.onInvokeTask?e:e._invokeTaskDlgt),this._invokeTaskCurrZone=r&&(r.onInvokeTask?this.zone:e._invokeTaskCurrZone),this._cancelTaskZS=r&&(r.onCancelTask?r:e._cancelTaskZS),this._cancelTaskDlgt=r&&(r.onCancelTask?e:e._cancelTaskDlgt),this._cancelTaskCurrZone=r&&(r.onCancelTask?this.zone:e._cancelTaskCurrZone),this._hasTaskZS=null,this._hasTaskDlgt=null,this._hasTaskDlgtOwner=null,this._hasTaskCurrZone=null;const k=r&&r.onHasTask;(k||e&&e._hasTaskZS)&&(this._hasTaskZS=k?r:b,this._hasTaskDlgt=e,this._hasTaskDlgtOwner=this,this._hasTaskCurrZone=T,r.onScheduleTask||(this._scheduleTaskZS=b,this._scheduleTaskDlgt=e,this._scheduleTaskCurrZone=this.zone),r.onInvokeTask||(this._invokeTaskZS=b,this._invokeTaskDlgt=e,this._invokeTaskCurrZone=this.zone),r.onCancelTask||(this._cancelTaskZS=b,this._cancelTaskDlgt=e,this._cancelTaskCurrZone=this.zone))}fork(T,e){return this._forkZS?this._forkZS.onFork(this._forkDlgt,this.zone,T,e):new d(T,e)}intercept(T,e,r){return this._interceptZS?this._interceptZS.onIntercept(this._interceptDlgt,this._interceptCurrZone,T,e,r):e}invoke(T,e,r,k,C){return this._invokeZS?this._invokeZS.onInvoke(this._invokeDlgt,this._invokeCurrZone,T,e,r,k,C):e.apply(r,k)}handleError(T,e){return!this._handleErrorZS||this._handleErrorZS.onHandleError(this._handleErrorDlgt,this._handleErrorCurrZone,T,e)}scheduleTask(T,e){let r=e;if(this._scheduleTaskZS)this._hasTaskZS&&r._zoneDelegates.push(this._hasTaskDlgtOwner),r=this._scheduleTaskZS.onScheduleTask(this._scheduleTaskDlgt,this._scheduleTaskCurrZone,T,e),r||(r=e);else if(e.scheduleFn)e.scheduleFn(e);else{if(e.type!=I)throw new Error("Task is missing scheduleFn.");R(e)}return r}invokeTask(T,e,r,k){return this._invokeTaskZS?this._invokeTaskZS.onInvokeTask(this._invokeTaskDlgt,this._invokeTaskCurrZone,T,e,r,k):e.callback.apply(r,k)}cancelTask(T,e){let r;if(this._cancelTaskZS)r=this._cancelTaskZS.onCancelTask(this._cancelTaskDlgt,this._cancelTaskCurrZone,T,e);else{if(!e.cancelFn)throw Error("Task is not cancelable");r=e.cancelFn(e)}return r}hasTask(T,e){try{this._hasTaskZS&&this._hasTaskZS.onHasTask(this._hasTaskDlgt,this._hasTaskCurrZone,T,e)}catch(r){this.handleError(T,r)}}_updateTaskCount(T,e){const r=this._taskCounts,k=r[T],C=r[T]=k+e;if(C<0)throw new Error("More tasks executed then were scheduled.");0!=k&&0!=C||this.hasTask(this.zone,{microTask:r.microTask>0,macroTask:r.macroTask>0,eventTask:r.eventTask>0,change:T})}}class p{constructor(T,e,r,k,C,$){if(this._zone=null,this.runCount=0,this._zoneDelegates=null,this._state="notScheduled",this.type=T,this.source=e,this.data=k,this.scheduleFn=C,this.cancelFn=$,!r)throw new Error("callback is not defined");this.callback=r;const u=this;this.invoke=T===Q&&k&&k.useG?p.invokeTask:function(){return p.invokeTask.call(t,u,this,arguments)}}static invokeTask(T,e,r){T||(T=this),te++;try{return T.runCount++,T.zone.runTask(T,e,r)}finally{1==te&&_(),te--}}get zone(){return this._zone}get state(){return this._state}cancelScheduleRequest(){this._transitionTo(x,X)}_transitionTo(T,e,r){if(this._state!==e&&this._state!==r)throw new Error(`${this.type} '${this.source}': can not transition to '${T}', expecting state '${e}'${r?" or '"+r+"'":""}, was '${this._state}'.`);this._state=T,T==x&&(this._zoneDelegates=null)}toString(){return this.data&&typeof this.data.handleId<"u"?this.data.handleId.toString():Object.prototype.toString.call(this)}toJSON(){return{type:this.type,state:this.state,source:this.source,zone:this.zone.name,runCount:this.runCount}}}const M=a("setTimeout"),O=a("Promise"),N=a("then");let K,B=[],H=!1;function q(L){if(K||t[O]&&(K=t[O].resolve(0)),K){let T=K[N];T||(T=K.then),T.call(K,L)}else t[M](L,0)}function R(L){0===te&&0===B.length&&q(_),L&&B.push(L)}function _(){if(!H){for(H=!0;B.length;){const L=B;B=[];for(let T=0;TU,onUnhandledError:W,microtaskDrainDone:W,scheduleMicroTask:R,showUncaughtError:()=>!d[a("ignoreConsoleErrorUncaughtError")],patchEventTarget:()=>[],patchOnProperties:W,patchMethod:()=>W,bindArguments:()=>[],patchThen:()=>W,patchMacroTask:()=>W,patchEventPrototype:()=>W,isIEOrEdge:()=>!1,getGlobalObjects:()=>{},ObjectDefineProperty:()=>W,ObjectGetOwnPropertyDescriptor:()=>{},ObjectCreate:()=>{},ArraySlice:()=>[],patchClass:()=>W,wrapWithCurrentZone:()=>W,filterProperties:()=>[],attachOriginToPatched:()=>W,_redefineProperty:()=>W,patchCallbacks:()=>W,nativeScheduleMicroTask:q};let U={parent:null,zone:new d(null,null)},oe=null,te=0;function W(){}o("Zone","Zone"),t.Zone=d}(globalThis);const fe=Object.getOwnPropertyDescriptor,pe=Object.defineProperty,be=Object.getPrototypeOf,De=Object.create,ct=Array.prototype.slice,Ze="addEventListener",Oe="removeEventListener",Ne=Zone.__symbol__(Ze),Ie=Zone.__symbol__(Oe),ce="true",ae="false",me=Zone.__symbol__("");function Me(t,n){return Zone.current.wrap(t,n)}function Le(t,n,i,o,c){return Zone.current.scheduleMacroTask(t,n,i,o,c)}const A=Zone.__symbol__,Pe=typeof window<"u",_e=Pe?window:void 0,Y=Pe&&_e||globalThis,at="removeAttribute";function je(t,n){for(let i=t.length-1;i>=0;i--)"function"==typeof t[i]&&(t[i]=Me(t[i],n+"_"+i));return t}function Fe(t){return!t||!1!==t.writable&&!("function"==typeof t.get&&typeof t.set>"u")}const Be=typeof WorkerGlobalScope<"u"&&self instanceof WorkerGlobalScope,we=!("nw"in Y)&&typeof Y.process<"u"&&"[object process]"==={}.toString.call(Y.process),Ae=!we&&!Be&&!(!Pe||!_e.HTMLElement),Ue=typeof Y.process<"u"&&"[object process]"==={}.toString.call(Y.process)&&!Be&&!(!Pe||!_e.HTMLElement),Re={},We=function(t){if(!(t=t||Y.event))return;let n=Re[t.type];n||(n=Re[t.type]=A("ON_PROPERTY"+t.type));const i=this||t.target||Y,o=i[n];let c;return Ae&&i===_e&&"error"===t.type?(c=o&&o.call(this,t.message,t.filename,t.lineno,t.colno,t.error),!0===c&&t.preventDefault()):(c=o&&o.apply(this,arguments),null!=c&&!c&&t.preventDefault()),c};function qe(t,n,i){let o=fe(t,n);if(!o&&i&&fe(i,n)&&(o={enumerable:!0,configurable:!0}),!o||!o.configurable)return;const c=A("on"+n+"patched");if(t.hasOwnProperty(c)&&t[c])return;delete o.writable,delete o.value;const a=o.get,y=o.set,d=n.slice(2);let b=Re[d];b||(b=Re[d]=A("ON_PROPERTY"+d)),o.set=function(v){let p=this;!p&&t===Y&&(p=Y),p&&("function"==typeof p[b]&&p.removeEventListener(d,We),y&&y.call(p,null),p[b]=v,"function"==typeof v&&p.addEventListener(d,We,!1))},o.get=function(){let v=this;if(!v&&t===Y&&(v=Y),!v)return null;const p=v[b];if(p)return p;if(a){let M=a.call(this);if(M)return o.set.call(this,M),"function"==typeof v[at]&&v.removeAttribute(n),M}return null},pe(t,n,o),t[c]=!0}function Xe(t,n,i){if(n)for(let o=0;ofunction(y,d){const b=i(y,d);return b.cbIdx>=0&&"function"==typeof d[b.cbIdx]?Le(b.name,d[b.cbIdx],b,c):a.apply(y,d)})}function ue(t,n){t[A("OriginalDelegate")]=n}let ze=!1,He=!1;function ht(){if(ze)return He;ze=!0;try{const t=_e.navigator.userAgent;(-1!==t.indexOf("MSIE ")||-1!==t.indexOf("Trident/")||-1!==t.indexOf("Edge/"))&&(He=!0)}catch{}return He}Zone.__load_patch("ZoneAwarePromise",(t,n,i)=>{const o=Object.getOwnPropertyDescriptor,c=Object.defineProperty,y=i.symbol,d=[],b=!1!==t[y("DISABLE_WRAPPING_UNCAUGHT_PROMISE_REJECTION")],v=y("Promise"),p=y("then"),M="__creationTrace__";i.onUnhandledError=u=>{if(i.showUncaughtError()){const l=u&&u.rejection;l?console.error("Unhandled Promise rejection:",l instanceof Error?l.message:l,"; Zone:",u.zone.name,"; Task:",u.task&&u.task.source,"; Value:",l,l instanceof Error?l.stack:void 0):console.error(u)}},i.microtaskDrainDone=()=>{for(;d.length;){const u=d.shift();try{u.zone.runGuarded(()=>{throw u.throwOriginal?u.rejection:u})}catch(l){N(l)}}};const O=y("unhandledPromiseRejectionHandler");function N(u){i.onUnhandledError(u);try{const l=n[O];"function"==typeof l&&l.call(this,u)}catch{}}function B(u){return u&&u.then}function H(u){return u}function K(u){return e.reject(u)}const q=y("state"),R=y("value"),_=y("finally"),J=y("parentPromiseValue"),x=y("parentPromiseState"),X="Promise.then",j=null,E=!0,G=!1,h=0;function I(u,l){return s=>{try{z(u,l,s)}catch(f){z(u,!1,f)}}}const P=function(){let u=!1;return function(s){return function(){u||(u=!0,s.apply(null,arguments))}}},Q="Promise resolved with itself",se=y("currentTaskTrace");function z(u,l,s){const f=P();if(u===s)throw new TypeError(Q);if(u[q]===j){let g=null;try{("object"==typeof s||"function"==typeof s)&&(g=s&&s.then)}catch(w){return f(()=>{z(u,!1,w)})(),u}if(l!==G&&s instanceof e&&s.hasOwnProperty(q)&&s.hasOwnProperty(R)&&s[q]!==j)oe(s),z(u,s[q],s[R]);else if(l!==G&&"function"==typeof g)try{g.call(s,f(I(u,l)),f(I(u,!1)))}catch(w){f(()=>{z(u,!1,w)})()}else{u[q]=l;const w=u[R];if(u[R]=s,u[_]===_&&l===E&&(u[q]=u[x],u[R]=u[J]),l===G&&s instanceof Error){const m=n.currentTask&&n.currentTask.data&&n.currentTask.data[M];m&&c(s,se,{configurable:!0,enumerable:!1,writable:!0,value:m})}for(let m=0;m{try{const S=u[R],D=!!s&&_===s[_];D&&(s[J]=S,s[x]=w);const Z=l.run(m,void 0,D&&m!==K&&m!==H?[]:[S]);z(s,!0,Z)}catch(S){z(s,!1,S)}},s)}const L=function(){},T=t.AggregateError;class e{static toString(){return"function ZoneAwarePromise() { [native code] }"}static resolve(l){return l instanceof e?l:z(new this(null),E,l)}static reject(l){return z(new this(null),G,l)}static withResolvers(){const l={};return l.promise=new e((s,f)=>{l.resolve=s,l.reject=f}),l}static any(l){if(!l||"function"!=typeof l[Symbol.iterator])return Promise.reject(new T([],"All promises were rejected"));const s=[];let f=0;try{for(let m of l)f++,s.push(e.resolve(m))}catch{return Promise.reject(new T([],"All promises were rejected"))}if(0===f)return Promise.reject(new T([],"All promises were rejected"));let g=!1;const w=[];return new e((m,S)=>{for(let D=0;D{g||(g=!0,m(Z))},Z=>{w.push(Z),f--,0===f&&(g=!0,S(new T(w,"All promises were rejected")))})})}static race(l){let s,f,g=new this((S,D)=>{s=S,f=D});function w(S){s(S)}function m(S){f(S)}for(let S of l)B(S)||(S=this.resolve(S)),S.then(w,m);return g}static all(l){return e.allWithCallback(l)}static allSettled(l){return(this&&this.prototype instanceof e?this:e).allWithCallback(l,{thenCallback:f=>({status:"fulfilled",value:f}),errorCallback:f=>({status:"rejected",reason:f})})}static allWithCallback(l,s){let f,g,w=new this((Z,V)=>{f=Z,g=V}),m=2,S=0;const D=[];for(let Z of l){B(Z)||(Z=this.resolve(Z));const V=S;try{Z.then(F=>{D[V]=s?s.thenCallback(F):F,m--,0===m&&f(D)},F=>{s?(D[V]=s.errorCallback(F),m--,0===m&&f(D)):g(F)})}catch(F){g(F)}m++,S++}return m-=2,0===m&&f(D),w}constructor(l){const s=this;if(!(s instanceof e))throw new Error("Must be an instanceof Promise.");s[q]=j,s[R]=[];try{const f=P();l&&l(f(I(s,E)),f(I(s,G)))}catch(f){z(s,!1,f)}}get[Symbol.toStringTag](){return"Promise"}get[Symbol.species](){return e}then(l,s){let f=this.constructor?.[Symbol.species];(!f||"function"!=typeof f)&&(f=this.constructor||e);const g=new f(L),w=n.current;return this[q]==j?this[R].push(w,g,l,s):te(this,w,g,l,s),g}catch(l){return this.then(null,l)}finally(l){let s=this.constructor?.[Symbol.species];(!s||"function"!=typeof s)&&(s=e);const f=new s(L);f[_]=_;const g=n.current;return this[q]==j?this[R].push(g,f,l,l):te(this,g,f,l,l),f}}e.resolve=e.resolve,e.reject=e.reject,e.race=e.race,e.all=e.all;const r=t[v]=t.Promise;t.Promise=e;const k=y("thenPatched");function C(u){const l=u.prototype,s=o(l,"then");if(s&&(!1===s.writable||!s.configurable))return;const f=l.then;l[p]=f,u.prototype.then=function(g,w){return new e((S,D)=>{f.call(this,S,D)}).then(g,w)},u[k]=!0}return i.patchThen=C,r&&(C(r),le(t,"fetch",u=>function $(u){return function(l,s){let f=u.apply(l,s);if(f instanceof e)return f;let g=f.constructor;return g[k]||C(g),f}}(u))),Promise[n.__symbol__("uncaughtPromiseErrors")]=d,e}),Zone.__load_patch("toString",t=>{const n=Function.prototype.toString,i=A("OriginalDelegate"),o=A("Promise"),c=A("Error"),a=function(){if("function"==typeof this){const v=this[i];if(v)return"function"==typeof v?n.call(v):Object.prototype.toString.call(v);if(this===Promise){const p=t[o];if(p)return n.call(p)}if(this===Error){const p=t[c];if(p)return n.call(p)}}return n.call(this)};a[i]=n,Function.prototype.toString=a;const y=Object.prototype.toString;Object.prototype.toString=function(){return"function"==typeof Promise&&this instanceof Promise?"[object Promise]":y.call(this)}});let Ee=!1;if(typeof window<"u")try{const t=Object.defineProperty({},"passive",{get:function(){Ee=!0}});window.addEventListener("test",t,t),window.removeEventListener("test",t,t)}catch{Ee=!1}const dt={useG:!0},ne={},Ye={},$e=new RegExp("^"+me+"(\\w+)(true|false)$"),Je=A("propagationStopped");function Ke(t,n){const i=(n?n(t):t)+ae,o=(n?n(t):t)+ce,c=me+i,a=me+o;ne[t]={},ne[t][ae]=c,ne[t][ce]=a}function _t(t,n,i,o){const c=o&&o.add||Ze,a=o&&o.rm||Oe,y=o&&o.listeners||"eventListeners",d=o&&o.rmAll||"removeAllListeners",b=A(c),v="."+c+":",p="prependListener",M="."+p+":",O=function(R,_,J){if(R.isRemoved)return;const x=R.callback;let X;"object"==typeof x&&x.handleEvent&&(R.callback=E=>x.handleEvent(E),R.originalDelegate=x);try{R.invoke(R,_,[J])}catch(E){X=E}const j=R.options;return j&&"object"==typeof j&&j.once&&_[a].call(_,J.type,R.originalDelegate?R.originalDelegate:R.callback,j),X};function N(R,_,J){if(!(_=_||t.event))return;const x=R||_.target||t,X=x[ne[_.type][J?ce:ae]];if(X){const j=[];if(1===X.length){const E=O(X[0],x,_);E&&j.push(E)}else{const E=X.slice();for(let G=0;G{throw G})}}}const B=function(R){return N(this,R,!1)},H=function(R){return N(this,R,!0)};function K(R,_){if(!R)return!1;let J=!0;_&&void 0!==_.useG&&(J=_.useG);const x=_&&_.vh;let X=!0;_&&void 0!==_.chkDup&&(X=_.chkDup);let j=!1;_&&void 0!==_.rt&&(j=_.rt);let E=R;for(;E&&!E.hasOwnProperty(c);)E=be(E);if(!E&&R[c]&&(E=R),!E||E[b])return!1;const G=_&&_.eventNameToString,h={},I=E[b]=E[c],P=E[A(a)]=E[a],Q=E[A(y)]=E[y],se=E[A(d)]=E[d];let z;_&&_.prepend&&(z=E[A(_.prepend)]=E[_.prepend]);const e=J?function(s){if(!h.isExisting)return I.call(h.target,h.eventName,h.capture?H:B,h.options)}:function(s){return I.call(h.target,h.eventName,s.invoke,h.options)},r=J?function(s){if(!s.isRemoved){const f=ne[s.eventName];let g;f&&(g=f[s.capture?ce:ae]);const w=g&&s.target[g];if(w)for(let m=0;m{ie.zone.cancelTask(ie)},{once:!0})),h.target=null,ve&&(ve.taskData=null),nt&&(ee.once=!0),!Ee&&"boolean"==typeof ie.options||(ie.options=ee),ie.target=D,ie.capture=Ge,ie.eventName=Z,F&&(ie.originalDelegate=V),S?ye.unshift(ie):ye.push(ie),m?D:void 0}};return E[c]=l(I,v,e,r,j),z&&(E[p]=l(z,M,function(s){return z.call(h.target,h.eventName,s.invoke,h.options)},r,j,!0)),E[a]=function(){const s=this||t;let f=arguments[0];_&&_.transferEventName&&(f=_.transferEventName(f));const g=arguments[2],w=!!g&&("boolean"==typeof g||g.capture),m=arguments[1];if(!m)return P.apply(this,arguments);if(x&&!x(P,m,s,arguments))return;const S=ne[f];let D;S&&(D=S[w?ce:ae]);const Z=D&&s[D];if(Z)for(let V=0;Vfunction(c,a){c[Je]=!0,o&&o.apply(c,a)})}function Tt(t,n,i,o,c){const a=Zone.__symbol__(o);if(n[a])return;const y=n[a]=n[o];n[o]=function(d,b,v){return b&&b.prototype&&c.forEach(function(p){const M=`${i}.${o}::`+p,O=b.prototype;try{if(O.hasOwnProperty(p)){const N=t.ObjectGetOwnPropertyDescriptor(O,p);N&&N.value?(N.value=t.wrapWithCurrentZone(N.value,M),t._redefineProperty(b.prototype,p,N)):O[p]&&(O[p]=t.wrapWithCurrentZone(O[p],M))}else O[p]&&(O[p]=t.wrapWithCurrentZone(O[p],M))}catch{}}),y.call(n,d,b,v)},t.attachOriginToPatched(n[o],y)}function et(t,n,i){if(!i||0===i.length)return n;const o=i.filter(a=>a.target===t);if(!o||0===o.length)return n;const c=o[0].ignoreProperties;return n.filter(a=>-1===c.indexOf(a))}function tt(t,n,i,o){t&&Xe(t,et(t,n,i),o)}function xe(t){return Object.getOwnPropertyNames(t).filter(n=>n.startsWith("on")&&n.length>2).map(n=>n.substring(2))}Zone.__load_patch("util",(t,n,i)=>{const o=xe(t);i.patchOnProperties=Xe,i.patchMethod=le,i.bindArguments=je,i.patchMacroTask=ut;const c=n.__symbol__("BLACK_LISTED_EVENTS"),a=n.__symbol__("UNPATCHED_EVENTS");t[a]&&(t[c]=t[a]),t[c]&&(n[c]=n[a]=t[c]),i.patchEventPrototype=Et,i.patchEventTarget=_t,i.isIEOrEdge=ht,i.ObjectDefineProperty=pe,i.ObjectGetOwnPropertyDescriptor=fe,i.ObjectCreate=De,i.ArraySlice=ct,i.patchClass=ge,i.wrapWithCurrentZone=Me,i.filterProperties=et,i.attachOriginToPatched=ue,i._redefineProperty=Object.defineProperty,i.patchCallbacks=Tt,i.getGlobalObjects=()=>({globalSources:Ye,zoneSymbolEventNames:ne,eventNames:o,isBrowser:Ae,isMix:Ue,isNode:we,TRUE_STR:ce,FALSE_STR:ae,ZONE_SYMBOL_PREFIX:me,ADD_EVENT_LISTENER_STR:Ze,REMOVE_EVENT_LISTENER_STR:Oe})});const Ce=A("zoneTask");function Te(t,n,i,o){let c=null,a=null;i+=o;const y={};function d(v){const p=v.data;return p.args[0]=function(){return v.invoke.apply(this,arguments)},p.handleId=c.apply(t,p.args),v}function b(v){return a.call(t,v.data.handleId)}c=le(t,n+=o,v=>function(p,M){if("function"==typeof M[0]){const O={isPeriodic:"Interval"===o,delay:"Timeout"===o||"Interval"===o?M[1]||0:void 0,args:M},N=M[0];M[0]=function(){try{return N.apply(this,arguments)}finally{O.isPeriodic||("number"==typeof O.handleId?delete y[O.handleId]:O.handleId&&(O.handleId[Ce]=null))}};const B=Le(n,M[0],O,d,b);if(!B)return B;const H=B.data.handleId;return"number"==typeof H?y[H]=B:H&&(H[Ce]=B),H&&H.ref&&H.unref&&"function"==typeof H.ref&&"function"==typeof H.unref&&(B.ref=H.ref.bind(H),B.unref=H.unref.bind(H)),"number"==typeof H||H?H:B}return v.apply(t,M)}),a=le(t,i,v=>function(p,M){const O=M[0];let N;"number"==typeof O?N=y[O]:(N=O&&O[Ce],N||(N=O)),N&&"string"==typeof N.type?"notScheduled"!==N.state&&(N.cancelFn&&N.data.isPeriodic||0===N.runCount)&&("number"==typeof O?delete y[O]:O&&(O[Ce]=null),N.zone.cancelTask(N)):v.apply(t,M)})}Zone.__load_patch("legacy",t=>{const n=t[Zone.__symbol__("legacyPatch")];n&&n()}),Zone.__load_patch("timers",t=>{const n="set",i="clear";Te(t,n,i,"Timeout"),Te(t,n,i,"Interval"),Te(t,n,i,"Immediate")}),Zone.__load_patch("requestAnimationFrame",t=>{Te(t,"request","cancel","AnimationFrame"),Te(t,"mozRequest","mozCancel","AnimationFrame"),Te(t,"webkitRequest","webkitCancel","AnimationFrame")}),Zone.__load_patch("blocking",(t,n)=>{const i=["alert","prompt","confirm"];for(let o=0;ofunction(b,v){return n.current.run(a,t,v,d)})}),Zone.__load_patch("EventTarget",(t,n,i)=>{(function kt(t,n){n.patchEventPrototype(t,n)})(t,i),function gt(t,n){if(Zone[n.symbol("patchEventTarget")])return;const{eventNames:i,zoneSymbolEventNames:o,TRUE_STR:c,FALSE_STR:a,ZONE_SYMBOL_PREFIX:y}=n.getGlobalObjects();for(let b=0;b{ge("MutationObserver"),ge("WebKitMutationObserver")}),Zone.__load_patch("IntersectionObserver",(t,n,i)=>{ge("IntersectionObserver")}),Zone.__load_patch("FileReader",(t,n,i)=>{ge("FileReader")}),Zone.__load_patch("on_property",(t,n,i)=>{!function yt(t,n){if(we&&!Ue||Zone[t.symbol("patchEvents")])return;const i=n.__Zone_ignore_on_properties;let o=[];if(Ae){const c=window;o=o.concat(["Document","SVGElement","Element","HTMLElement","HTMLBodyElement","HTMLMediaElement","HTMLFrameSetElement","HTMLFrameElement","HTMLIFrameElement","HTMLMarqueeElement","Worker"]);const a=function ft(){try{const t=_e.navigator.userAgent;if(-1!==t.indexOf("MSIE ")||-1!==t.indexOf("Trident/"))return!0}catch{}return!1}()?[{target:c,ignoreProperties:["error"]}]:[];tt(c,xe(c),i&&i.concat(a),be(c))}o=o.concat(["XMLHttpRequest","XMLHttpRequestEventTarget","IDBIndex","IDBRequest","IDBOpenDBRequest","IDBDatabase","IDBTransaction","IDBCursor","WebSocket"]);for(let c=0;c{!function mt(t,n){const{isBrowser:i,isMix:o}=n.getGlobalObjects();(i||o)&&t.customElements&&"customElements"in t&&n.patchCallbacks(n,t.customElements,"customElements","define",["connectedCallback","disconnectedCallback","adoptedCallback","attributeChangedCallback","formAssociatedCallback","formDisabledCallback","formResetCallback","formStateRestoreCallback"])}(t,i)}),Zone.__load_patch("XHR",(t,n)=>{!function b(v){const p=v.XMLHttpRequest;if(!p)return;const M=p.prototype;let N=M[Ne],B=M[Ie];if(!N){const h=v.XMLHttpRequestEventTarget;if(h){const I=h.prototype;N=I[Ne],B=I[Ie]}}const H="readystatechange",K="scheduled";function q(h){const I=h.data,P=I.target;P[a]=!1,P[d]=!1;const Q=P[c];N||(N=P[Ne],B=P[Ie]),Q&&B.call(P,H,Q);const se=P[c]=()=>{if(P.readyState===P.DONE)if(!I.aborted&&P[a]&&h.state===K){const U=P[n.__symbol__("loadfalse")];if(0!==P.status&&U&&U.length>0){const oe=h.invoke;h.invoke=function(){const te=P[n.__symbol__("loadfalse")];for(let W=0;Wfunction(h,I){return h[o]=0==I[2],h[y]=I[1],J.apply(h,I)}),X=A("fetchTaskAborting"),j=A("fetchTaskScheduling"),E=le(M,"send",()=>function(h,I){if(!0===n.current[j]||h[o])return E.apply(h,I);{const P={target:h,url:h[y],isPeriodic:!1,args:I,aborted:!1},Q=Le("XMLHttpRequest.send",R,P,q,_);h&&!0===h[d]&&!P.aborted&&Q.state===K&&Q.invoke()}}),G=le(M,"abort",()=>function(h,I){const P=function O(h){return h[i]}(h);if(P&&"string"==typeof P.type){if(null==P.cancelFn||P.data&&P.data.aborted)return;P.zone.cancelTask(P)}else if(!0===n.current[X])return G.apply(h,I)})}(t);const i=A("xhrTask"),o=A("xhrSync"),c=A("xhrListener"),a=A("xhrScheduled"),y=A("xhrURL"),d=A("xhrErrorBeforeScheduled")}),Zone.__load_patch("geolocation",t=>{t.navigator&&t.navigator.geolocation&&function lt(t,n){const i=t.constructor.name;for(let o=0;o{const b=function(){return d.apply(this,je(arguments,i+"."+c))};return ue(b,d),b})(a)}}}(t.navigator.geolocation,["getCurrentPosition","watchPosition"])}),Zone.__load_patch("PromiseRejectionEvent",(t,n)=>{function i(o){return function(c){Qe(t,o).forEach(y=>{const d=t.PromiseRejectionEvent;if(d){const b=new d(o,{promise:c.promise,reason:c.rejection});y.invoke(b)}})}}t.PromiseRejectionEvent&&(n[A("unhandledPromiseRejectionHandler")]=i("unhandledrejection"),n[A("rejectionHandledHandler")]=i("rejectionhandled"))}),Zone.__load_patch("queueMicrotask",(t,n,i)=>{!function pt(t,n){n.patchMethod(t,"queueMicrotask",i=>function(o,c){Zone.current.scheduleMicroTask("queueMicrotask",c[0])})}(t,i)})}},fe=>{fe(fe.s=6935)}]); \ No newline at end of file diff --git a/docs/runtime.5a721e9334bf0358.js b/docs/runtime.5a721e9334bf0358.js new file mode 100644 index 0000000..35725e7 --- /dev/null +++ b/docs/runtime.5a721e9334bf0358.js @@ -0,0 +1 @@ +(()=>{"use strict";var e,i={},v={};function a(e){var n=v[e];if(void 0!==n)return n.exports;var r=v[e]={exports:{}};return i[e].call(r.exports,r,r.exports,a),r.exports}a.m=i,e=[],a.O=(n,r,f,l)=>{if(!r){var s=1/0;for(t=0;t=l)&&Object.keys(a.O).every(d=>a.O[d](r[o]))?r.splice(o--,1):(u=!1,l0&&e[t-1][2]>l;t--)e[t]=e[t-1];e[t]=[r,f,l]},a.n=e=>{var n=e&&e.__esModule?()=>e.default:()=>e;return a.d(n,{a:n}),n},a.d=(e,n)=>{for(var r in n)a.o(n,r)&&!a.o(e,r)&&Object.defineProperty(e,r,{enumerable:!0,get:n[r]})},a.o=(e,n)=>Object.prototype.hasOwnProperty.call(e,n),(()=>{var e={121:0};a.O.j=f=>0===e[f];var n=(f,l)=>{var o,c,[t,s,u]=l,_=0;if(t.some(b=>0!==e[b])){for(o in s)a.o(s,o)&&(a.m[o]=s[o]);if(u)var p=u(a)}for(f&&f(l);_ { + self.skipWaiting(); +}); + +self.addEventListener('activate', (event) => { + event.waitUntil(self.clients.claim()); + + event.waitUntil( + self.registration.unregister().then(() => { + console.log('NGSW Safety Worker - unregistered old service worker'); + }), + ); + + event.waitUntil( + caches.keys().then((cacheNames) => { + const ngswCacheNames = cacheNames.filter((name) => /^ngsw:/.test(name)); + return Promise.all(ngswCacheNames.map((name) => caches.delete(name))); + }), + ); +}); diff --git a/docs/styles.3f1848388ed0cad8.css b/docs/styles.3f1848388ed0cad8.css new file mode 100644 index 0000000..43d1a96 --- /dev/null +++ b/docs/styles.3f1848388ed0cad8.css @@ -0,0 +1 @@ +@import"https://fonts.googleapis.com/icon?family=Material+Icons";html,body{height:100vh}body{margin:0;font-family:Roboto,Helvetica Neue,sans-serif}body app-root{font-size:calc(16px + 34 * (100vw - 300px) / 1620)}@media screen and (max-height: 499px){body app-root{font-size:calc(16px + 24 * (100vw - 300px) / 1620)}}*:focus{outline:none!important}.text-overflow{text-overflow:ellipsis;display:block;white-space:nowrap;overflow:hidden}.text-overflow-rtl{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;direction:rtl;text-align:left}.material-icons{font-family:Material Icons Sharp}.mdc-card{border-radius:unset!important;inset:0}.mdc-button,.mdc-flat-button,.mdc-stroked-button,.mdc-raised-button,.mat-select-panel,.mat-menu-panel,.mat-snack-bar-container,.mat-tooltip,.mat-autocomplete-panel{border-radius:0!important}.cdk-overlay-backdrop.cdk-overlay-backdrop-showing.dark-backdrop{background:#000;opacity:.4!important}.dynamic-mdc-form-field-width .mat-mdc-form-field-infix{width:unset}mat-dialog-container.mat-mdc-dialog-container .mdc-dialog__surface{border-radius:0}@media screen and (max-height: 399px),screen and (max-width: 599px){mat-dialog-container.mat-mdc-dialog-container .mdc-dialog__surface{padding:12px}mat-dialog-container.mat-mdc-dialog-container .mdc-dialog__surface .mat-dialog-content{margin:0 -12px;padding:0 12px}mat-dialog-container.mat-mdc-dialog-container .mdc-dialog__surface .mat-dialog-actions{margin-bottom:0}}::-webkit-scrollbar{width:12px;height:12px}@media screen and (max-width: 599px){::-webkit-scrollbar{width:8px!important}}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{min-height:50px;border:1px solid transparent;border-radius:8px;background-color:#0003;background-clip:padding-box}::-webkit-scrollbar-thumb:hover{background-color:#00000080}.mat-ripple{overflow:hidden;position:relative}.mat-ripple:not(:empty){transform:translateZ(0)}.mat-ripple.mat-ripple-unbounded{overflow:visible}.mat-ripple-element{position:absolute;border-radius:50%;pointer-events:none;transition:opacity,transform 0ms cubic-bezier(0,0,.2,1);transform:scale3d(0,0,0);background-color:var(--mat-ripple-color, rgba(0, 0, 0, .1))}.cdk-high-contrast-active .mat-ripple-element{display:none}.cdk-visually-hidden{border:0;clip:rect(0 0 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px;white-space:nowrap;outline:0;-webkit-appearance:none;-moz-appearance:none;left:0}[dir=rtl] .cdk-visually-hidden{left:auto;right:0}.cdk-overlay-container,.cdk-global-overlay-wrapper{pointer-events:none;top:0;left:0;height:100%;width:100%}.cdk-overlay-container{position:fixed;z-index:1000}.cdk-overlay-container:empty{display:none}.cdk-global-overlay-wrapper{display:flex;position:absolute;z-index:1000}.cdk-overlay-pane{position:absolute;pointer-events:auto;box-sizing:border-box;z-index:1000;display:flex;max-width:100%;max-height:100%}.cdk-overlay-backdrop{position:absolute;inset:0;z-index:1000;pointer-events:auto;-webkit-tap-highlight-color:transparent;transition:opacity .4s cubic-bezier(.25,.8,.25,1);opacity:0}.cdk-overlay-backdrop.cdk-overlay-backdrop-showing{opacity:1}.cdk-high-contrast-active .cdk-overlay-backdrop.cdk-overlay-backdrop-showing{opacity:.6}.cdk-overlay-dark-backdrop{background:#00000052}.cdk-overlay-transparent-backdrop{transition:visibility 1ms linear,opacity 1ms linear;visibility:hidden;opacity:1}.cdk-overlay-transparent-backdrop.cdk-overlay-backdrop-showing{opacity:0;visibility:visible}.cdk-overlay-backdrop-noop-animation{transition:none}.cdk-overlay-connected-position-bounding-box{position:absolute;z-index:1000;display:flex;flex-direction:column;min-width:1px;min-height:1px}.cdk-global-scrollblock{position:fixed;width:100%;overflow-y:scroll}textarea.cdk-textarea-autosize{resize:none}textarea.cdk-textarea-autosize-measuring{padding:2px 0!important;box-sizing:content-box!important;height:auto!important;overflow:hidden!important}textarea.cdk-textarea-autosize-measuring-firefox{padding:2px 0!important;box-sizing:content-box!important;height:0!important}@keyframes cdk-text-field-autofill-start{}@keyframes cdk-text-field-autofill-end{}.cdk-text-field-autofill-monitored:-webkit-autofill{animation:cdk-text-field-autofill-start 0s 1ms}.cdk-text-field-autofill-monitored:not(:-webkit-autofill){animation:cdk-text-field-autofill-end 0s 1ms}.mat-focus-indicator{position:relative}.mat-focus-indicator:before{inset:0;position:absolute;box-sizing:border-box;pointer-events:none;display:var(--mat-focus-indicator-display, none);border:var(--mat-focus-indicator-border-width, 3px) var(--mat-focus-indicator-border-style, solid) var(--mat-focus-indicator-border-color, transparent);border-radius:var(--mat-focus-indicator-border-radius, 4px)}.mat-focus-indicator:focus:before{content:""}.cdk-high-contrast-active{--mat-focus-indicator-display: block}.mat-mdc-focus-indicator{position:relative}.mat-mdc-focus-indicator:before{inset:0;position:absolute;box-sizing:border-box;pointer-events:none;display:var(--mat-mdc-focus-indicator-display, none);border:var(--mat-mdc-focus-indicator-border-width, 3px) var(--mat-mdc-focus-indicator-border-style, solid) var(--mat-mdc-focus-indicator-border-color, transparent);border-radius:var(--mat-mdc-focus-indicator-border-radius, 4px)}.mat-mdc-focus-indicator:focus:before{content:""}.cdk-high-contrast-active{--mat-mdc-focus-indicator-display: block}.mat-app-background{background-color:var(--mat-app-background-color, transparent);color:var(--mat-app-text-color, inherit)}html{--mat-ripple-color: rgba(0, 0, 0, .1)}html{--mat-option-selected-state-label-text-color: #1f77b4;--mat-option-label-text-color: rgba(0, 0, 0, .87);--mat-option-hover-state-layer-color: rgba(0, 0, 0, .04);--mat-option-focus-state-layer-color: rgba(0, 0, 0, .04);--mat-option-selected-state-layer-color: rgba(0, 0, 0, .04)}.mat-accent{--mat-option-selected-state-label-text-color: #4caf50;--mat-option-label-text-color: rgba(0, 0, 0, .87);--mat-option-hover-state-layer-color: rgba(0, 0, 0, .04);--mat-option-focus-state-layer-color: rgba(0, 0, 0, .04);--mat-option-selected-state-layer-color: rgba(0, 0, 0, .04)}.mat-warn{--mat-option-selected-state-label-text-color: #c43100;--mat-option-label-text-color: rgba(0, 0, 0, .87);--mat-option-hover-state-layer-color: rgba(0, 0, 0, .04);--mat-option-focus-state-layer-color: rgba(0, 0, 0, .04);--mat-option-selected-state-layer-color: rgba(0, 0, 0, .04)}html{--mat-optgroup-label-text-color: rgba(0, 0, 0, .87)}.mat-primary{--mat-full-pseudo-checkbox-selected-icon-color: #1f77b4;--mat-full-pseudo-checkbox-selected-checkmark-color: #fafafa;--mat-full-pseudo-checkbox-unselected-icon-color: rgba(0, 0, 0, .54);--mat-full-pseudo-checkbox-disabled-selected-checkmark-color: #fafafa;--mat-full-pseudo-checkbox-disabled-unselected-icon-color: #b0b0b0;--mat-full-pseudo-checkbox-disabled-selected-icon-color: #b0b0b0;--mat-minimal-pseudo-checkbox-selected-checkmark-color: #1f77b4;--mat-minimal-pseudo-checkbox-disabled-selected-checkmark-color: #b0b0b0}html,.mat-accent{--mat-full-pseudo-checkbox-selected-icon-color: #4caf50;--mat-full-pseudo-checkbox-selected-checkmark-color: #fafafa;--mat-full-pseudo-checkbox-unselected-icon-color: rgba(0, 0, 0, .54);--mat-full-pseudo-checkbox-disabled-selected-checkmark-color: #fafafa;--mat-full-pseudo-checkbox-disabled-unselected-icon-color: #b0b0b0;--mat-full-pseudo-checkbox-disabled-selected-icon-color: #b0b0b0;--mat-minimal-pseudo-checkbox-selected-checkmark-color: #4caf50;--mat-minimal-pseudo-checkbox-disabled-selected-checkmark-color: #b0b0b0}.mat-warn{--mat-full-pseudo-checkbox-selected-icon-color: #c43100;--mat-full-pseudo-checkbox-selected-checkmark-color: #fafafa;--mat-full-pseudo-checkbox-unselected-icon-color: rgba(0, 0, 0, .54);--mat-full-pseudo-checkbox-disabled-selected-checkmark-color: #fafafa;--mat-full-pseudo-checkbox-disabled-unselected-icon-color: #b0b0b0;--mat-full-pseudo-checkbox-disabled-selected-icon-color: #b0b0b0;--mat-minimal-pseudo-checkbox-selected-checkmark-color: #c43100;--mat-minimal-pseudo-checkbox-disabled-selected-checkmark-color: #b0b0b0}html{--mat-app-background-color: #fafafa;--mat-app-text-color: rgba(0, 0, 0, .87)}.mat-elevation-z0,.mat-mdc-elevation-specific.mat-elevation-z0{box-shadow:0 0 #0003,0 0 #00000024,0 0 #0000001f}.mat-elevation-z1,.mat-mdc-elevation-specific.mat-elevation-z1{box-shadow:0 2px 1px -1px #0003,0 1px 1px #00000024,0 1px 3px #0000001f}.mat-elevation-z2,.mat-mdc-elevation-specific.mat-elevation-z2{box-shadow:0 3px 1px -2px #0003,0 2px 2px #00000024,0 1px 5px #0000001f}.mat-elevation-z3,.mat-mdc-elevation-specific.mat-elevation-z3{box-shadow:0 3px 3px -2px #0003,0 3px 4px #00000024,0 1px 8px #0000001f}.mat-elevation-z4,.mat-mdc-elevation-specific.mat-elevation-z4{box-shadow:0 2px 4px -1px #0003,0 4px 5px #00000024,0 1px 10px #0000001f}.mat-elevation-z5,.mat-mdc-elevation-specific.mat-elevation-z5{box-shadow:0 3px 5px -1px #0003,0 5px 8px #00000024,0 1px 14px #0000001f}.mat-elevation-z6,.mat-mdc-elevation-specific.mat-elevation-z6{box-shadow:0 3px 5px -1px #0003,0 6px 10px #00000024,0 1px 18px #0000001f}.mat-elevation-z7,.mat-mdc-elevation-specific.mat-elevation-z7{box-shadow:0 4px 5px -2px #0003,0 7px 10px 1px #00000024,0 2px 16px 1px #0000001f}.mat-elevation-z8,.mat-mdc-elevation-specific.mat-elevation-z8{box-shadow:0 5px 5px -3px #0003,0 8px 10px 1px #00000024,0 3px 14px 2px #0000001f}.mat-elevation-z9,.mat-mdc-elevation-specific.mat-elevation-z9{box-shadow:0 5px 6px -3px #0003,0 9px 12px 1px #00000024,0 3px 16px 2px #0000001f}.mat-elevation-z10,.mat-mdc-elevation-specific.mat-elevation-z10{box-shadow:0 6px 6px -3px #0003,0 10px 14px 1px #00000024,0 4px 18px 3px #0000001f}.mat-elevation-z11,.mat-mdc-elevation-specific.mat-elevation-z11{box-shadow:0 6px 7px -4px #0003,0 11px 15px 1px #00000024,0 4px 20px 3px #0000001f}.mat-elevation-z12,.mat-mdc-elevation-specific.mat-elevation-z12{box-shadow:0 7px 8px -4px #0003,0 12px 17px 2px #00000024,0 5px 22px 4px #0000001f}.mat-elevation-z13,.mat-mdc-elevation-specific.mat-elevation-z13{box-shadow:0 7px 8px -4px #0003,0 13px 19px 2px #00000024,0 5px 24px 4px #0000001f}.mat-elevation-z14,.mat-mdc-elevation-specific.mat-elevation-z14{box-shadow:0 7px 9px -4px #0003,0 14px 21px 2px #00000024,0 5px 26px 4px #0000001f}.mat-elevation-z15,.mat-mdc-elevation-specific.mat-elevation-z15{box-shadow:0 8px 9px -5px #0003,0 15px 22px 2px #00000024,0 6px 28px 5px #0000001f}.mat-elevation-z16,.mat-mdc-elevation-specific.mat-elevation-z16{box-shadow:0 8px 10px -5px #0003,0 16px 24px 2px #00000024,0 6px 30px 5px #0000001f}.mat-elevation-z17,.mat-mdc-elevation-specific.mat-elevation-z17{box-shadow:0 8px 11px -5px #0003,0 17px 26px 2px #00000024,0 6px 32px 5px #0000001f}.mat-elevation-z18,.mat-mdc-elevation-specific.mat-elevation-z18{box-shadow:0 9px 11px -5px #0003,0 18px 28px 2px #00000024,0 7px 34px 6px #0000001f}.mat-elevation-z19,.mat-mdc-elevation-specific.mat-elevation-z19{box-shadow:0 9px 12px -6px #0003,0 19px 29px 2px #00000024,0 7px 36px 6px #0000001f}.mat-elevation-z20,.mat-mdc-elevation-specific.mat-elevation-z20{box-shadow:0 10px 13px -6px #0003,0 20px 31px 3px #00000024,0 8px 38px 7px #0000001f}.mat-elevation-z21,.mat-mdc-elevation-specific.mat-elevation-z21{box-shadow:0 10px 13px -6px #0003,0 21px 33px 3px #00000024,0 8px 40px 7px #0000001f}.mat-elevation-z22,.mat-mdc-elevation-specific.mat-elevation-z22{box-shadow:0 10px 14px -6px #0003,0 22px 35px 3px #00000024,0 8px 42px 7px #0000001f}.mat-elevation-z23,.mat-mdc-elevation-specific.mat-elevation-z23{box-shadow:0 11px 14px -7px #0003,0 23px 36px 3px #00000024,0 9px 44px 8px #0000001f}.mat-elevation-z24,.mat-mdc-elevation-specific.mat-elevation-z24{box-shadow:0 11px 15px -7px #0003,0 24px 38px 3px #00000024,0 9px 46px 8px #0000001f}.mat-theme-loaded-marker{display:none}html{--mdc-elevated-card-container-shape: 4px;--mdc-outlined-card-container-shape: 4px;--mdc-outlined-card-outline-width: 1px}html{--mdc-elevated-card-container-color: white;--mdc-elevated-card-container-elevation: 0px 2px 1px -1px rgba(0, 0, 0, .2), 0px 1px 1px 0px rgba(0, 0, 0, .14), 0px 1px 3px 0px rgba(0, 0, 0, .12);--mdc-outlined-card-container-color: white;--mdc-outlined-card-outline-color: rgba(0, 0, 0, .12);--mdc-outlined-card-container-elevation: 0px 0px 0px 0px rgba(0, 0, 0, .2), 0px 0px 0px 0px rgba(0, 0, 0, .14), 0px 0px 0px 0px rgba(0, 0, 0, .12);--mat-card-subtitle-text-color: rgba(0, 0, 0, .54)}html{--mdc-linear-progress-active-indicator-height: 4px;--mdc-linear-progress-track-height: 4px;--mdc-linear-progress-track-shape: 0}.mat-mdc-progress-bar{--mdc-linear-progress-active-indicator-color: #1f77b4;--mdc-linear-progress-track-color: rgba(31, 119, 180, .25)}.mat-mdc-progress-bar.mat-accent{--mdc-linear-progress-active-indicator-color: #4caf50;--mdc-linear-progress-track-color: rgba(76, 175, 80, .25)}.mat-mdc-progress-bar.mat-warn{--mdc-linear-progress-active-indicator-color: #c43100;--mdc-linear-progress-track-color: rgba(196, 49, 0, .25)}html{--mdc-plain-tooltip-container-shape: 4px;--mdc-plain-tooltip-supporting-text-line-height: 16px}html{--mdc-plain-tooltip-container-color: #616161;--mdc-plain-tooltip-supporting-text-color: #fff}html{--mdc-filled-text-field-active-indicator-height: 1px;--mdc-filled-text-field-focus-active-indicator-height: 2px;--mdc-filled-text-field-container-shape: 4px;--mdc-outlined-text-field-outline-width: 1px;--mdc-outlined-text-field-focus-outline-width: 2px;--mdc-outlined-text-field-container-shape: 4px}html{--mdc-filled-text-field-caret-color: #1f77b4;--mdc-filled-text-field-focus-active-indicator-color: #1f77b4;--mdc-filled-text-field-focus-label-text-color: rgba(31, 119, 180, .87);--mdc-filled-text-field-container-color: whitesmoke;--mdc-filled-text-field-disabled-container-color: #fafafa;--mdc-filled-text-field-label-text-color: rgba(0, 0, 0, .6);--mdc-filled-text-field-hover-label-text-color: rgba(0, 0, 0, .6);--mdc-filled-text-field-disabled-label-text-color: rgba(0, 0, 0, .38);--mdc-filled-text-field-input-text-color: rgba(0, 0, 0, .87);--mdc-filled-text-field-disabled-input-text-color: rgba(0, 0, 0, .38);--mdc-filled-text-field-input-text-placeholder-color: rgba(0, 0, 0, .6);--mdc-filled-text-field-error-hover-label-text-color: #c43100;--mdc-filled-text-field-error-focus-label-text-color: #c43100;--mdc-filled-text-field-error-label-text-color: #c43100;--mdc-filled-text-field-error-caret-color: #c43100;--mdc-filled-text-field-active-indicator-color: rgba(0, 0, 0, .42);--mdc-filled-text-field-disabled-active-indicator-color: rgba(0, 0, 0, .06);--mdc-filled-text-field-hover-active-indicator-color: rgba(0, 0, 0, .87);--mdc-filled-text-field-error-active-indicator-color: #c43100;--mdc-filled-text-field-error-focus-active-indicator-color: #c43100;--mdc-filled-text-field-error-hover-active-indicator-color: #c43100;--mdc-outlined-text-field-caret-color: #1f77b4;--mdc-outlined-text-field-focus-outline-color: #1f77b4;--mdc-outlined-text-field-focus-label-text-color: rgba(31, 119, 180, .87);--mdc-outlined-text-field-label-text-color: rgba(0, 0, 0, .6);--mdc-outlined-text-field-hover-label-text-color: rgba(0, 0, 0, .6);--mdc-outlined-text-field-disabled-label-text-color: rgba(0, 0, 0, .38);--mdc-outlined-text-field-input-text-color: rgba(0, 0, 0, .87);--mdc-outlined-text-field-disabled-input-text-color: rgba(0, 0, 0, .38);--mdc-outlined-text-field-input-text-placeholder-color: rgba(0, 0, 0, .6);--mdc-outlined-text-field-error-caret-color: #c43100;--mdc-outlined-text-field-error-focus-label-text-color: #c43100;--mdc-outlined-text-field-error-label-text-color: #c43100;--mdc-outlined-text-field-error-hover-label-text-color: #c43100;--mdc-outlined-text-field-outline-color: rgba(0, 0, 0, .38);--mdc-outlined-text-field-disabled-outline-color: rgba(0, 0, 0, .06);--mdc-outlined-text-field-hover-outline-color: rgba(0, 0, 0, .87);--mdc-outlined-text-field-error-focus-outline-color: #c43100;--mdc-outlined-text-field-error-hover-outline-color: #c43100;--mdc-outlined-text-field-error-outline-color: #c43100;--mat-form-field-focus-select-arrow-color: rgba(31, 119, 180, .87);--mat-form-field-disabled-input-text-placeholder-color: rgba(0, 0, 0, .38);--mat-form-field-state-layer-color: rgba(0, 0, 0, .87);--mat-form-field-error-text-color: #c43100;--mat-form-field-select-option-text-color: inherit;--mat-form-field-select-disabled-option-text-color: GrayText;--mat-form-field-leading-icon-color: unset;--mat-form-field-disabled-leading-icon-color: unset;--mat-form-field-trailing-icon-color: unset;--mat-form-field-disabled-trailing-icon-color: unset;--mat-form-field-error-focus-trailing-icon-color: unset;--mat-form-field-error-hover-trailing-icon-color: unset;--mat-form-field-error-trailing-icon-color: unset;--mat-form-field-enabled-select-arrow-color: rgba(0, 0, 0, .54);--mat-form-field-disabled-select-arrow-color: rgba(0, 0, 0, .38);--mat-form-field-hover-state-layer-opacity: .04;--mat-form-field-focus-state-layer-opacity: .08}.mat-mdc-form-field.mat-accent{--mdc-filled-text-field-caret-color: #4caf50;--mdc-filled-text-field-focus-active-indicator-color: #4caf50;--mdc-filled-text-field-focus-label-text-color: rgba(76, 175, 80, .87);--mdc-outlined-text-field-caret-color: #4caf50;--mdc-outlined-text-field-focus-outline-color: #4caf50;--mdc-outlined-text-field-focus-label-text-color: rgba(76, 175, 80, .87);--mat-form-field-focus-select-arrow-color: rgba(76, 175, 80, .87)}.mat-mdc-form-field.mat-warn{--mdc-filled-text-field-caret-color: #c43100;--mdc-filled-text-field-focus-active-indicator-color: #c43100;--mdc-filled-text-field-focus-label-text-color: rgba(196, 49, 0, .87);--mdc-outlined-text-field-caret-color: #c43100;--mdc-outlined-text-field-focus-outline-color: #c43100;--mdc-outlined-text-field-focus-label-text-color: rgba(196, 49, 0, .87);--mat-form-field-focus-select-arrow-color: rgba(196, 49, 0, .87)}html{--mat-form-field-container-height: 56px;--mat-form-field-filled-label-display: block;--mat-form-field-container-vertical-padding: 16px;--mat-form-field-filled-with-label-container-padding-top: 24px;--mat-form-field-filled-with-label-container-padding-bottom: 8px}html{--mat-select-container-elevation-shadow: 0px 5px 5px -3px rgba(0, 0, 0, .2), 0px 8px 10px 1px rgba(0, 0, 0, .14), 0px 3px 14px 2px rgba(0, 0, 0, .12)}html{--mat-select-panel-background-color: white;--mat-select-enabled-trigger-text-color: rgba(0, 0, 0, .87);--mat-select-disabled-trigger-text-color: rgba(0, 0, 0, .38);--mat-select-placeholder-text-color: rgba(0, 0, 0, .6);--mat-select-enabled-arrow-color: rgba(0, 0, 0, .54);--mat-select-disabled-arrow-color: rgba(0, 0, 0, .38);--mat-select-focused-arrow-color: rgba(31, 119, 180, .87);--mat-select-invalid-arrow-color: rgba(196, 49, 0, .87)}html .mat-mdc-form-field.mat-accent{--mat-select-panel-background-color: white;--mat-select-enabled-trigger-text-color: rgba(0, 0, 0, .87);--mat-select-disabled-trigger-text-color: rgba(0, 0, 0, .38);--mat-select-placeholder-text-color: rgba(0, 0, 0, .6);--mat-select-enabled-arrow-color: rgba(0, 0, 0, .54);--mat-select-disabled-arrow-color: rgba(0, 0, 0, .38);--mat-select-focused-arrow-color: rgba(76, 175, 80, .87);--mat-select-invalid-arrow-color: rgba(196, 49, 0, .87)}html .mat-mdc-form-field.mat-warn{--mat-select-panel-background-color: white;--mat-select-enabled-trigger-text-color: rgba(0, 0, 0, .87);--mat-select-disabled-trigger-text-color: rgba(0, 0, 0, .38);--mat-select-placeholder-text-color: rgba(0, 0, 0, .6);--mat-select-enabled-arrow-color: rgba(0, 0, 0, .54);--mat-select-disabled-arrow-color: rgba(0, 0, 0, .38);--mat-select-focused-arrow-color: rgba(196, 49, 0, .87);--mat-select-invalid-arrow-color: rgba(196, 49, 0, .87)}html{--mat-select-arrow-transform: translateY(-8px)}html{--mat-autocomplete-container-shape: 4px;--mat-autocomplete-container-elevation-shadow: 0px 5px 5px -3px rgba(0, 0, 0, .2), 0px 8px 10px 1px rgba(0, 0, 0, .14), 0px 3px 14px 2px rgba(0, 0, 0, .12)}html{--mat-autocomplete-background-color: white}html{--mdc-dialog-container-elevation-shadow: 0px 11px 15px -7px rgba(0, 0, 0, .2), 0px 24px 38px 3px rgba(0, 0, 0, .14), 0px 9px 46px 8px rgba(0, 0, 0, .12);--mdc-dialog-container-shadow-color: #000;--mdc-dialog-container-shape: 4px;--mat-dialog-container-max-width: 80vw;--mat-dialog-container-small-max-width: 80vw;--mat-dialog-container-min-width: 0;--mat-dialog-actions-alignment: start;--mat-dialog-actions-padding: 8px;--mat-dialog-content-padding: 20px 24px;--mat-dialog-with-actions-content-padding: 20px 24px;--mat-dialog-headline-padding: 0 24px 9px}html{--mdc-dialog-container-color: white;--mdc-dialog-subhead-color: rgba(0, 0, 0, .87);--mdc-dialog-supporting-text-color: rgba(0, 0, 0, .6)}.mat-mdc-standard-chip{--mdc-chip-container-shape-family: rounded;--mdc-chip-container-shape-radius: 16px 16px 16px 16px;--mdc-chip-with-avatar-avatar-shape-family: rounded;--mdc-chip-with-avatar-avatar-shape-radius: 14px 14px 14px 14px;--mdc-chip-with-avatar-avatar-size: 28px;--mdc-chip-with-icon-icon-size: 18px;--mdc-chip-outline-width: 0;--mdc-chip-outline-color: transparent;--mdc-chip-disabled-outline-color: transparent;--mdc-chip-focus-outline-color: transparent;--mdc-chip-hover-state-layer-opacity: .04;--mdc-chip-with-avatar-disabled-avatar-opacity: 1;--mdc-chip-flat-selected-outline-width: 0;--mdc-chip-selected-hover-state-layer-opacity: .04;--mdc-chip-with-trailing-icon-disabled-trailing-icon-opacity: 1;--mdc-chip-with-icon-disabled-icon-opacity: 1;--mat-chip-disabled-container-opacity: .4;--mat-chip-trailing-action-opacity: .54;--mat-chip-trailing-action-focus-opacity: 1;--mat-chip-trailing-action-state-layer-color: transparent;--mat-chip-selected-trailing-action-state-layer-color: transparent;--mat-chip-trailing-action-hover-state-layer-opacity: 0;--mat-chip-trailing-action-focus-state-layer-opacity: 0}.mat-mdc-standard-chip{--mdc-chip-disabled-label-text-color: #212121;--mdc-chip-elevated-container-color: #e0e0e0;--mdc-chip-elevated-selected-container-color: #e0e0e0;--mdc-chip-elevated-disabled-container-color: #e0e0e0;--mdc-chip-flat-disabled-selected-container-color: #e0e0e0;--mdc-chip-focus-state-layer-color: black;--mdc-chip-hover-state-layer-color: black;--mdc-chip-selected-hover-state-layer-color: black;--mdc-chip-focus-state-layer-opacity: .12;--mdc-chip-selected-focus-state-layer-color: black;--mdc-chip-selected-focus-state-layer-opacity: .12;--mdc-chip-label-text-color: #212121;--mdc-chip-selected-label-text-color: #212121;--mdc-chip-with-icon-icon-color: #212121;--mdc-chip-with-icon-disabled-icon-color: #212121;--mdc-chip-with-icon-selected-icon-color: #212121;--mdc-chip-with-trailing-icon-disabled-trailing-icon-color: #212121;--mdc-chip-with-trailing-icon-trailing-icon-color: #212121;--mat-chip-selected-disabled-trailing-icon-color: #212121;--mat-chip-selected-trailing-icon-color: #212121}.mat-mdc-standard-chip.mat-mdc-chip-selected.mat-primary,.mat-mdc-standard-chip.mat-mdc-chip-highlighted.mat-primary{--mdc-chip-disabled-label-text-color: rgba(255, 255, 255, .87);--mdc-chip-elevated-container-color: #1f77b4;--mdc-chip-elevated-selected-container-color: #1f77b4;--mdc-chip-elevated-disabled-container-color: #1f77b4;--mdc-chip-flat-disabled-selected-container-color: #1f77b4;--mdc-chip-focus-state-layer-color: black;--mdc-chip-hover-state-layer-color: black;--mdc-chip-selected-hover-state-layer-color: black;--mdc-chip-focus-state-layer-opacity: .12;--mdc-chip-selected-focus-state-layer-color: black;--mdc-chip-selected-focus-state-layer-opacity: .12;--mdc-chip-label-text-color: rgba(255, 255, 255, .87);--mdc-chip-selected-label-text-color: rgba(255, 255, 255, .87);--mdc-chip-with-icon-icon-color: rgba(255, 255, 255, .87);--mdc-chip-with-icon-disabled-icon-color: rgba(255, 255, 255, .87);--mdc-chip-with-icon-selected-icon-color: rgba(255, 255, 255, .87);--mdc-chip-with-trailing-icon-disabled-trailing-icon-color: rgba(255, 255, 255, .87);--mdc-chip-with-trailing-icon-trailing-icon-color: rgba(255, 255, 255, .87);--mat-chip-selected-disabled-trailing-icon-color: rgba(255, 255, 255, .87);--mat-chip-selected-trailing-icon-color: rgba(255, 255, 255, .87)}.mat-mdc-standard-chip.mat-mdc-chip-selected.mat-accent,.mat-mdc-standard-chip.mat-mdc-chip-highlighted.mat-accent{--mdc-chip-disabled-label-text-color: rgba(0, 0, 0, .87);--mdc-chip-elevated-container-color: #4caf50;--mdc-chip-elevated-selected-container-color: #4caf50;--mdc-chip-elevated-disabled-container-color: #4caf50;--mdc-chip-flat-disabled-selected-container-color: #4caf50;--mdc-chip-focus-state-layer-color: black;--mdc-chip-hover-state-layer-color: black;--mdc-chip-selected-hover-state-layer-color: black;--mdc-chip-focus-state-layer-opacity: .12;--mdc-chip-selected-focus-state-layer-color: black;--mdc-chip-selected-focus-state-layer-opacity: .12;--mdc-chip-label-text-color: rgba(0, 0, 0, .87);--mdc-chip-selected-label-text-color: rgba(0, 0, 0, .87);--mdc-chip-with-icon-icon-color: rgba(0, 0, 0, .87);--mdc-chip-with-icon-disabled-icon-color: rgba(0, 0, 0, .87);--mdc-chip-with-icon-selected-icon-color: rgba(0, 0, 0, .87);--mdc-chip-with-trailing-icon-disabled-trailing-icon-color: rgba(0, 0, 0, .87);--mdc-chip-with-trailing-icon-trailing-icon-color: rgba(0, 0, 0, .87);--mat-chip-selected-disabled-trailing-icon-color: rgba(0, 0, 0, .87);--mat-chip-selected-trailing-icon-color: rgba(0, 0, 0, .87)}.mat-mdc-standard-chip.mat-mdc-chip-selected.mat-warn,.mat-mdc-standard-chip.mat-mdc-chip-highlighted.mat-warn{--mdc-chip-disabled-label-text-color: rgba(255, 255, 255, .87);--mdc-chip-elevated-container-color: #c43100;--mdc-chip-elevated-selected-container-color: #c43100;--mdc-chip-elevated-disabled-container-color: #c43100;--mdc-chip-flat-disabled-selected-container-color: #c43100;--mdc-chip-focus-state-layer-color: black;--mdc-chip-hover-state-layer-color: black;--mdc-chip-selected-hover-state-layer-color: black;--mdc-chip-focus-state-layer-opacity: .12;--mdc-chip-selected-focus-state-layer-color: black;--mdc-chip-selected-focus-state-layer-opacity: .12;--mdc-chip-label-text-color: rgba(255, 255, 255, .87);--mdc-chip-selected-label-text-color: rgba(255, 255, 255, .87);--mdc-chip-with-icon-icon-color: rgba(255, 255, 255, .87);--mdc-chip-with-icon-disabled-icon-color: rgba(255, 255, 255, .87);--mdc-chip-with-icon-selected-icon-color: rgba(255, 255, 255, .87);--mdc-chip-with-trailing-icon-disabled-trailing-icon-color: rgba(255, 255, 255, .87);--mdc-chip-with-trailing-icon-trailing-icon-color: rgba(255, 255, 255, .87);--mat-chip-selected-disabled-trailing-icon-color: rgba(255, 255, 255, .87);--mat-chip-selected-trailing-icon-color: rgba(255, 255, 255, .87)}.mat-mdc-chip.mat-mdc-standard-chip{--mdc-chip-container-height: 32px}html{--mdc-switch-disabled-selected-icon-opacity: .38;--mdc-switch-disabled-track-opacity: .12;--mdc-switch-disabled-unselected-icon-opacity: .38;--mdc-switch-handle-height: 20px;--mdc-switch-handle-shape: 10px;--mdc-switch-handle-width: 20px;--mdc-switch-selected-icon-size: 18px;--mdc-switch-track-height: 14px;--mdc-switch-track-shape: 7px;--mdc-switch-track-width: 36px;--mdc-switch-unselected-icon-size: 18px;--mdc-switch-selected-focus-state-layer-opacity: .12;--mdc-switch-selected-hover-state-layer-opacity: .04;--mdc-switch-selected-pressed-state-layer-opacity: .1;--mdc-switch-unselected-focus-state-layer-opacity: .12;--mdc-switch-unselected-hover-state-layer-opacity: .04;--mdc-switch-unselected-pressed-state-layer-opacity: .1;--mat-switch-disabled-selected-handle-opacity: .38;--mat-switch-disabled-unselected-handle-opacity: .38;--mat-switch-unselected-handle-size: 20px;--mat-switch-selected-handle-size: 20px;--mat-switch-pressed-handle-size: 20px;--mat-switch-with-icon-handle-size: 20px;--mat-switch-selected-handle-horizontal-margin: 0;--mat-switch-selected-with-icon-handle-horizontal-margin: 0;--mat-switch-selected-pressed-handle-horizontal-margin: 0;--mat-switch-unselected-handle-horizontal-margin: 0;--mat-switch-unselected-with-icon-handle-horizontal-margin: 0;--mat-switch-unselected-pressed-handle-horizontal-margin: 0;--mat-switch-visible-track-opacity: 1;--mat-switch-hidden-track-opacity: 1;--mat-switch-visible-track-transition: transform 75ms 0ms cubic-bezier(0, 0, .2, 1);--mat-switch-hidden-track-transition: transform 75ms 0ms cubic-bezier(.4, 0, .6, 1);--mat-switch-track-outline-width: 1px;--mat-switch-track-outline-color: transparent;--mat-switch-selected-track-outline-width: 1px;--mat-switch-disabled-unselected-track-outline-width: 1px;--mat-switch-disabled-unselected-track-outline-color: transparent}html{--mdc-switch-selected-focus-state-layer-color: #1e88e5;--mdc-switch-selected-handle-color: #1e88e5;--mdc-switch-selected-hover-state-layer-color: #1e88e5;--mdc-switch-selected-pressed-state-layer-color: #1e88e5;--mdc-switch-selected-focus-handle-color: #0d47a1;--mdc-switch-selected-hover-handle-color: #0d47a1;--mdc-switch-selected-pressed-handle-color: #0d47a1;--mdc-switch-selected-focus-track-color: #64b5f6;--mdc-switch-selected-hover-track-color: #64b5f6;--mdc-switch-selected-pressed-track-color: #64b5f6;--mdc-switch-selected-track-color: #64b5f6;--mdc-switch-disabled-selected-handle-color: #424242;--mdc-switch-disabled-selected-icon-color: #fff;--mdc-switch-disabled-selected-track-color: #424242;--mdc-switch-disabled-unselected-handle-color: #424242;--mdc-switch-disabled-unselected-icon-color: #fff;--mdc-switch-disabled-unselected-track-color: #424242;--mdc-switch-handle-surface-color: var(--mdc-theme-surface, #fff);--mdc-switch-handle-elevation-shadow: 0px 2px 1px -1px rgba(0, 0, 0, .2), 0px 1px 1px 0px rgba(0, 0, 0, .14), 0px 1px 3px 0px rgba(0, 0, 0, .12);--mdc-switch-handle-shadow-color: black;--mdc-switch-disabled-handle-elevation-shadow: 0px 0px 0px 0px rgba(0, 0, 0, .2), 0px 0px 0px 0px rgba(0, 0, 0, .14), 0px 0px 0px 0px rgba(0, 0, 0, .12);--mdc-switch-selected-icon-color: #fff;--mdc-switch-unselected-focus-handle-color: #212121;--mdc-switch-unselected-focus-state-layer-color: #424242;--mdc-switch-unselected-focus-track-color: #e0e0e0;--mdc-switch-unselected-handle-color: #616161;--mdc-switch-unselected-hover-handle-color: #212121;--mdc-switch-unselected-hover-state-layer-color: #424242;--mdc-switch-unselected-hover-track-color: #e0e0e0;--mdc-switch-unselected-icon-color: #fff;--mdc-switch-unselected-pressed-handle-color: #212121;--mdc-switch-unselected-pressed-state-layer-color: #424242;--mdc-switch-unselected-pressed-track-color: #e0e0e0;--mdc-switch-unselected-track-color: #e0e0e0;--mdc-switch-disabled-label-text-color: rgba(0, 0, 0, .38)}html .mat-mdc-slide-toggle{--mdc-form-field-label-text-color: rgba(0, 0, 0, .87)}html .mat-mdc-slide-toggle.mat-accent{--mdc-switch-selected-focus-state-layer-color: #43a047;--mdc-switch-selected-handle-color: #43a047;--mdc-switch-selected-hover-state-layer-color: #43a047;--mdc-switch-selected-pressed-state-layer-color: #43a047;--mdc-switch-selected-focus-handle-color: #1b5e20;--mdc-switch-selected-hover-handle-color: #1b5e20;--mdc-switch-selected-pressed-handle-color: #1b5e20;--mdc-switch-selected-focus-track-color: #81c784;--mdc-switch-selected-hover-track-color: #81c784;--mdc-switch-selected-pressed-track-color: #81c784;--mdc-switch-selected-track-color: #81c784}html .mat-mdc-slide-toggle.mat-warn{--mdc-switch-selected-focus-state-layer-color: #be2c00;--mdc-switch-selected-handle-color: #be2c00;--mdc-switch-selected-hover-state-layer-color: #be2c00;--mdc-switch-selected-pressed-state-layer-color: #be2c00;--mdc-switch-selected-focus-handle-color: #a21300;--mdc-switch-selected-hover-handle-color: #a21300;--mdc-switch-selected-pressed-handle-color: #a21300;--mdc-switch-selected-focus-track-color: #d66f4d;--mdc-switch-selected-hover-track-color: #d66f4d;--mdc-switch-selected-pressed-track-color: #d66f4d;--mdc-switch-selected-track-color: #d66f4d}html{--mdc-switch-state-layer-size: 40px}html{--mdc-radio-disabled-selected-icon-opacity: .38;--mdc-radio-disabled-unselected-icon-opacity: .38;--mdc-radio-state-layer-size: 40px}.mat-mdc-radio-button{--mdc-form-field-label-text-color: rgba(0, 0, 0, .87)}.mat-mdc-radio-button.mat-primary{--mdc-radio-disabled-selected-icon-color: black;--mdc-radio-disabled-unselected-icon-color: black;--mdc-radio-unselected-hover-icon-color: #212121;--mdc-radio-unselected-icon-color: rgba(0, 0, 0, .54);--mdc-radio-unselected-pressed-icon-color: rgba(0, 0, 0, .54);--mdc-radio-selected-focus-icon-color: #1f77b4;--mdc-radio-selected-hover-icon-color: #1f77b4;--mdc-radio-selected-icon-color: #1f77b4;--mdc-radio-selected-pressed-icon-color: #1f77b4;--mat-radio-ripple-color: black;--mat-radio-checked-ripple-color: #1f77b4;--mat-radio-disabled-label-color: rgba(0, 0, 0, .38)}.mat-mdc-radio-button.mat-accent{--mdc-radio-disabled-selected-icon-color: black;--mdc-radio-disabled-unselected-icon-color: black;--mdc-radio-unselected-hover-icon-color: #212121;--mdc-radio-unselected-icon-color: rgba(0, 0, 0, .54);--mdc-radio-unselected-pressed-icon-color: rgba(0, 0, 0, .54);--mdc-radio-selected-focus-icon-color: #4caf50;--mdc-radio-selected-hover-icon-color: #4caf50;--mdc-radio-selected-icon-color: #4caf50;--mdc-radio-selected-pressed-icon-color: #4caf50;--mat-radio-ripple-color: black;--mat-radio-checked-ripple-color: #4caf50;--mat-radio-disabled-label-color: rgba(0, 0, 0, .38)}.mat-mdc-radio-button.mat-warn{--mdc-radio-disabled-selected-icon-color: black;--mdc-radio-disabled-unselected-icon-color: black;--mdc-radio-unselected-hover-icon-color: #212121;--mdc-radio-unselected-icon-color: rgba(0, 0, 0, .54);--mdc-radio-unselected-pressed-icon-color: rgba(0, 0, 0, .54);--mdc-radio-selected-focus-icon-color: #c43100;--mdc-radio-selected-hover-icon-color: #c43100;--mdc-radio-selected-icon-color: #c43100;--mdc-radio-selected-pressed-icon-color: #c43100;--mat-radio-ripple-color: black;--mat-radio-checked-ripple-color: #c43100;--mat-radio-disabled-label-color: rgba(0, 0, 0, .38)}html{--mdc-radio-state-layer-size: 40px;--mat-radio-touch-target-display: block}html{--mat-slider-value-indicator-width: auto;--mat-slider-value-indicator-height: 32px;--mat-slider-value-indicator-caret-display: block;--mat-slider-value-indicator-border-radius: 4px;--mat-slider-value-indicator-padding: 0 12px;--mat-slider-value-indicator-text-transform: none;--mat-slider-value-indicator-container-transform: translateX(-50%);--mdc-slider-active-track-height: 6px;--mdc-slider-active-track-shape: 9999px;--mdc-slider-handle-height: 20px;--mdc-slider-handle-shape: 50%;--mdc-slider-handle-width: 20px;--mdc-slider-inactive-track-height: 4px;--mdc-slider-inactive-track-shape: 9999px;--mdc-slider-with-overlap-handle-outline-width: 1px;--mdc-slider-with-tick-marks-active-container-opacity: .6;--mdc-slider-with-tick-marks-container-shape: 50%;--mdc-slider-with-tick-marks-container-size: 2px;--mdc-slider-with-tick-marks-inactive-container-opacity: .6}html{--mdc-slider-handle-color: #1f77b4;--mdc-slider-focus-handle-color: #1f77b4;--mdc-slider-hover-handle-color: #1f77b4;--mdc-slider-active-track-color: #1f77b4;--mdc-slider-inactive-track-color: #1f77b4;--mdc-slider-with-tick-marks-inactive-container-color: #1f77b4;--mdc-slider-with-tick-marks-active-container-color: rgba(255, 255, 255, .87);--mdc-slider-disabled-active-track-color: #000;--mdc-slider-disabled-handle-color: #000;--mdc-slider-disabled-inactive-track-color: #000;--mdc-slider-label-container-color: #000;--mdc-slider-label-label-text-color: #fff;--mdc-slider-with-overlap-handle-outline-color: #fff;--mdc-slider-with-tick-marks-disabled-container-color: #000;--mdc-slider-handle-elevation: 0px 2px 1px -1px rgba(0, 0, 0, .2), 0px 1px 1px 0px rgba(0, 0, 0, .14), 0px 1px 3px 0px rgba(0, 0, 0, .12);--mat-slider-ripple-color: #1f77b4;--mat-slider-hover-state-layer-color: rgba(31, 119, 180, .05);--mat-slider-focus-state-layer-color: rgba(31, 119, 180, .2);--mat-slider-value-indicator-opacity: .6}html .mat-accent{--mat-slider-ripple-color: #4caf50;--mat-slider-hover-state-layer-color: rgba(76, 175, 80, .05);--mat-slider-focus-state-layer-color: rgba(76, 175, 80, .2);--mdc-slider-handle-color: #4caf50;--mdc-slider-focus-handle-color: #4caf50;--mdc-slider-hover-handle-color: #4caf50;--mdc-slider-active-track-color: #4caf50;--mdc-slider-inactive-track-color: #4caf50;--mdc-slider-with-tick-marks-inactive-container-color: #4caf50;--mdc-slider-with-tick-marks-active-container-color: rgba(0, 0, 0, .87)}html .mat-warn{--mat-slider-ripple-color: #c43100;--mat-slider-hover-state-layer-color: rgba(196, 49, 0, .05);--mat-slider-focus-state-layer-color: rgba(196, 49, 0, .2);--mdc-slider-handle-color: #c43100;--mdc-slider-focus-handle-color: #c43100;--mdc-slider-hover-handle-color: #c43100;--mdc-slider-active-track-color: #c43100;--mdc-slider-inactive-track-color: #c43100;--mdc-slider-with-tick-marks-inactive-container-color: #c43100;--mdc-slider-with-tick-marks-active-container-color: rgba(255, 255, 255, .87)}html{--mat-menu-container-shape: 4px;--mat-menu-divider-bottom-spacing: 0;--mat-menu-divider-top-spacing: 0;--mat-menu-item-spacing: 16px;--mat-menu-item-icon-size: 24px;--mat-menu-item-leading-spacing: 16px;--mat-menu-item-trailing-spacing: 16px;--mat-menu-item-with-icon-leading-spacing: 16px;--mat-menu-item-with-icon-trailing-spacing: 16px}html{--mat-menu-item-label-text-color: rgba(0, 0, 0, .87);--mat-menu-item-icon-color: rgba(0, 0, 0, .87);--mat-menu-item-hover-state-layer-color: rgba(0, 0, 0, .04);--mat-menu-item-focus-state-layer-color: rgba(0, 0, 0, .04);--mat-menu-container-color: white;--mat-menu-divider-color: rgba(0, 0, 0, .12)}html{--mdc-list-list-item-container-shape: 0;--mdc-list-list-item-leading-avatar-shape: 50%;--mdc-list-list-item-container-color: transparent;--mdc-list-list-item-selected-container-color: transparent;--mdc-list-list-item-leading-avatar-color: transparent;--mdc-list-list-item-leading-icon-size: 24px;--mdc-list-list-item-leading-avatar-size: 40px;--mdc-list-list-item-trailing-icon-size: 24px;--mdc-list-list-item-disabled-state-layer-color: transparent;--mdc-list-list-item-disabled-state-layer-opacity: 0;--mdc-list-list-item-disabled-label-text-opacity: .38;--mdc-list-list-item-disabled-leading-icon-opacity: .38;--mdc-list-list-item-disabled-trailing-icon-opacity: .38;--mat-list-active-indicator-color: transparent;--mat-list-active-indicator-shape: 0}html{--mdc-list-list-item-label-text-color: rgba(0, 0, 0, .87);--mdc-list-list-item-supporting-text-color: rgba(0, 0, 0, .54);--mdc-list-list-item-leading-icon-color: rgba(0, 0, 0, .38);--mdc-list-list-item-trailing-supporting-text-color: rgba(0, 0, 0, .38);--mdc-list-list-item-trailing-icon-color: rgba(0, 0, 0, .38);--mdc-list-list-item-selected-trailing-icon-color: rgba(0, 0, 0, .38);--mdc-list-list-item-disabled-label-text-color: black;--mdc-list-list-item-disabled-leading-icon-color: black;--mdc-list-list-item-disabled-trailing-icon-color: black;--mdc-list-list-item-hover-label-text-color: rgba(0, 0, 0, .87);--mdc-list-list-item-hover-leading-icon-color: rgba(0, 0, 0, .38);--mdc-list-list-item-hover-trailing-icon-color: rgba(0, 0, 0, .38);--mdc-list-list-item-focus-label-text-color: rgba(0, 0, 0, .87);--mdc-list-list-item-hover-state-layer-color: black;--mdc-list-list-item-hover-state-layer-opacity: .04;--mdc-list-list-item-focus-state-layer-color: black;--mdc-list-list-item-focus-state-layer-opacity: .12}.mdc-list-item__start,.mdc-list-item__end{--mdc-radio-disabled-selected-icon-color: black;--mdc-radio-disabled-unselected-icon-color: black;--mdc-radio-unselected-hover-icon-color: #212121;--mdc-radio-unselected-icon-color: rgba(0, 0, 0, .54);--mdc-radio-unselected-pressed-icon-color: rgba(0, 0, 0, .54);--mdc-radio-selected-focus-icon-color: #1f77b4;--mdc-radio-selected-hover-icon-color: #1f77b4;--mdc-radio-selected-icon-color: #1f77b4;--mdc-radio-selected-pressed-icon-color: #1f77b4}.mat-accent .mdc-list-item__start,.mat-accent .mdc-list-item__end{--mdc-radio-disabled-selected-icon-color: black;--mdc-radio-disabled-unselected-icon-color: black;--mdc-radio-unselected-hover-icon-color: #212121;--mdc-radio-unselected-icon-color: rgba(0, 0, 0, .54);--mdc-radio-unselected-pressed-icon-color: rgba(0, 0, 0, .54);--mdc-radio-selected-focus-icon-color: #4caf50;--mdc-radio-selected-hover-icon-color: #4caf50;--mdc-radio-selected-icon-color: #4caf50;--mdc-radio-selected-pressed-icon-color: #4caf50}.mat-warn .mdc-list-item__start,.mat-warn .mdc-list-item__end{--mdc-radio-disabled-selected-icon-color: black;--mdc-radio-disabled-unselected-icon-color: black;--mdc-radio-unselected-hover-icon-color: #212121;--mdc-radio-unselected-icon-color: rgba(0, 0, 0, .54);--mdc-radio-unselected-pressed-icon-color: rgba(0, 0, 0, .54);--mdc-radio-selected-focus-icon-color: #c43100;--mdc-radio-selected-hover-icon-color: #c43100;--mdc-radio-selected-icon-color: #c43100;--mdc-radio-selected-pressed-icon-color: #c43100}.mat-mdc-list-option{--mdc-checkbox-disabled-selected-icon-color: rgba(0, 0, 0, .38);--mdc-checkbox-disabled-unselected-icon-color: rgba(0, 0, 0, .38);--mdc-checkbox-selected-checkmark-color: white;--mdc-checkbox-selected-focus-icon-color: #1f77b4;--mdc-checkbox-selected-hover-icon-color: #1f77b4;--mdc-checkbox-selected-icon-color: #1f77b4;--mdc-checkbox-selected-pressed-icon-color: #1f77b4;--mdc-checkbox-unselected-focus-icon-color: #212121;--mdc-checkbox-unselected-hover-icon-color: #212121;--mdc-checkbox-unselected-icon-color: rgba(0, 0, 0, .54);--mdc-checkbox-unselected-pressed-icon-color: rgba(0, 0, 0, .54);--mdc-checkbox-selected-focus-state-layer-color: #1f77b4;--mdc-checkbox-selected-hover-state-layer-color: #1f77b4;--mdc-checkbox-selected-pressed-state-layer-color: #1f77b4;--mdc-checkbox-unselected-focus-state-layer-color: black;--mdc-checkbox-unselected-hover-state-layer-color: black;--mdc-checkbox-unselected-pressed-state-layer-color: black}.mat-mdc-list-option.mat-accent{--mdc-checkbox-disabled-selected-icon-color: rgba(0, 0, 0, .38);--mdc-checkbox-disabled-unselected-icon-color: rgba(0, 0, 0, .38);--mdc-checkbox-selected-checkmark-color: black;--mdc-checkbox-selected-focus-icon-color: #4caf50;--mdc-checkbox-selected-hover-icon-color: #4caf50;--mdc-checkbox-selected-icon-color: #4caf50;--mdc-checkbox-selected-pressed-icon-color: #4caf50;--mdc-checkbox-unselected-focus-icon-color: #212121;--mdc-checkbox-unselected-hover-icon-color: #212121;--mdc-checkbox-unselected-icon-color: rgba(0, 0, 0, .54);--mdc-checkbox-unselected-pressed-icon-color: rgba(0, 0, 0, .54);--mdc-checkbox-selected-focus-state-layer-color: #4caf50;--mdc-checkbox-selected-hover-state-layer-color: #4caf50;--mdc-checkbox-selected-pressed-state-layer-color: #4caf50;--mdc-checkbox-unselected-focus-state-layer-color: black;--mdc-checkbox-unselected-hover-state-layer-color: black;--mdc-checkbox-unselected-pressed-state-layer-color: black}.mat-mdc-list-option.mat-warn{--mdc-checkbox-disabled-selected-icon-color: rgba(0, 0, 0, .38);--mdc-checkbox-disabled-unselected-icon-color: rgba(0, 0, 0, .38);--mdc-checkbox-selected-checkmark-color: white;--mdc-checkbox-selected-focus-icon-color: #c43100;--mdc-checkbox-selected-hover-icon-color: #c43100;--mdc-checkbox-selected-icon-color: #c43100;--mdc-checkbox-selected-pressed-icon-color: #c43100;--mdc-checkbox-unselected-focus-icon-color: #212121;--mdc-checkbox-unselected-hover-icon-color: #212121;--mdc-checkbox-unselected-icon-color: rgba(0, 0, 0, .54);--mdc-checkbox-unselected-pressed-icon-color: rgba(0, 0, 0, .54);--mdc-checkbox-selected-focus-state-layer-color: #c43100;--mdc-checkbox-selected-hover-state-layer-color: #c43100;--mdc-checkbox-selected-pressed-state-layer-color: #c43100;--mdc-checkbox-unselected-focus-state-layer-color: black;--mdc-checkbox-unselected-hover-state-layer-color: black;--mdc-checkbox-unselected-pressed-state-layer-color: black}.mat-mdc-list-base.mat-mdc-list-base .mdc-list-item--selected .mdc-list-item__primary-text,.mat-mdc-list-base.mat-mdc-list-base .mdc-list-item--activated .mdc-list-item__primary-text,.mat-mdc-list-base.mat-mdc-list-base .mdc-list-item--selected.mdc-list-item--with-leading-icon .mdc-list-item__start,.mat-mdc-list-base.mat-mdc-list-base .mdc-list-item--activated.mdc-list-item--with-leading-icon .mdc-list-item__start{color:#1f77b4}.mat-mdc-list-base .mdc-list-item--disabled .mdc-list-item__start,.mat-mdc-list-base .mdc-list-item--disabled .mdc-list-item__content,.mat-mdc-list-base .mdc-list-item--disabled .mdc-list-item__end{opacity:1}html{--mdc-list-list-item-one-line-container-height: 48px;--mdc-list-list-item-two-line-container-height: 64px;--mdc-list-list-item-three-line-container-height: 88px;--mat-list-list-item-leading-icon-start-space: 16px;--mat-list-list-item-leading-icon-end-space: 32px}.mdc-list-item__start,.mdc-list-item__end{--mdc-radio-state-layer-size: 40px}.mat-mdc-list-item.mdc-list-item--with-leading-avatar.mdc-list-item--with-one-line,.mat-mdc-list-item.mdc-list-item--with-leading-checkbox.mdc-list-item--with-one-line,.mat-mdc-list-item.mdc-list-item--with-leading-icon.mdc-list-item--with-one-line{height:56px}.mat-mdc-list-item.mdc-list-item--with-leading-avatar.mdc-list-item--with-two-lines,.mat-mdc-list-item.mdc-list-item--with-leading-checkbox.mdc-list-item--with-two-lines,.mat-mdc-list-item.mdc-list-item--with-leading-icon.mdc-list-item--with-two-lines{height:72px}html{--mat-paginator-container-text-color: rgba(0, 0, 0, .87);--mat-paginator-container-background-color: white;--mat-paginator-enabled-icon-color: rgba(0, 0, 0, .54);--mat-paginator-disabled-icon-color: rgba(0, 0, 0, .12)}html{--mat-paginator-container-size: 56px;--mat-paginator-form-field-container-height: 40px;--mat-paginator-form-field-container-vertical-padding: 8px}html{--mdc-tab-indicator-active-indicator-height: 2px;--mdc-tab-indicator-active-indicator-shape: 0;--mdc-secondary-navigation-tab-container-height: 48px;--mat-tab-header-divider-color: transparent;--mat-tab-header-divider-height: 0}.mat-mdc-tab-group,.mat-mdc-tab-nav-bar{--mdc-tab-indicator-active-indicator-color: #1f77b4;--mat-tab-header-disabled-ripple-color: rgba(0, 0, 0, .38);--mat-tab-header-pagination-icon-color: black;--mat-tab-header-inactive-label-text-color: rgba(0, 0, 0, .6);--mat-tab-header-active-label-text-color: #1f77b4;--mat-tab-header-active-ripple-color: #1f77b4;--mat-tab-header-inactive-ripple-color: #1f77b4;--mat-tab-header-inactive-focus-label-text-color: rgba(0, 0, 0, .6);--mat-tab-header-inactive-hover-label-text-color: rgba(0, 0, 0, .6);--mat-tab-header-active-focus-label-text-color: #1f77b4;--mat-tab-header-active-hover-label-text-color: #1f77b4;--mat-tab-header-active-focus-indicator-color: #1f77b4;--mat-tab-header-active-hover-indicator-color: #1f77b4}.mat-mdc-tab-group.mat-accent,.mat-mdc-tab-nav-bar.mat-accent{--mdc-tab-indicator-active-indicator-color: #4caf50;--mat-tab-header-disabled-ripple-color: rgba(0, 0, 0, .38);--mat-tab-header-pagination-icon-color: black;--mat-tab-header-inactive-label-text-color: rgba(0, 0, 0, .6);--mat-tab-header-active-label-text-color: #4caf50;--mat-tab-header-active-ripple-color: #4caf50;--mat-tab-header-inactive-ripple-color: #4caf50;--mat-tab-header-inactive-focus-label-text-color: rgba(0, 0, 0, .6);--mat-tab-header-inactive-hover-label-text-color: rgba(0, 0, 0, .6);--mat-tab-header-active-focus-label-text-color: #4caf50;--mat-tab-header-active-hover-label-text-color: #4caf50;--mat-tab-header-active-focus-indicator-color: #4caf50;--mat-tab-header-active-hover-indicator-color: #4caf50}.mat-mdc-tab-group.mat-warn,.mat-mdc-tab-nav-bar.mat-warn{--mdc-tab-indicator-active-indicator-color: #c43100;--mat-tab-header-disabled-ripple-color: rgba(0, 0, 0, .38);--mat-tab-header-pagination-icon-color: black;--mat-tab-header-inactive-label-text-color: rgba(0, 0, 0, .6);--mat-tab-header-active-label-text-color: #c43100;--mat-tab-header-active-ripple-color: #c43100;--mat-tab-header-inactive-ripple-color: #c43100;--mat-tab-header-inactive-focus-label-text-color: rgba(0, 0, 0, .6);--mat-tab-header-inactive-hover-label-text-color: rgba(0, 0, 0, .6);--mat-tab-header-active-focus-label-text-color: #c43100;--mat-tab-header-active-hover-label-text-color: #c43100;--mat-tab-header-active-focus-indicator-color: #c43100;--mat-tab-header-active-hover-indicator-color: #c43100}.mat-mdc-tab-group.mat-background-primary,.mat-mdc-tab-nav-bar.mat-background-primary{--mat-tab-header-with-background-background-color: #1f77b4;--mat-tab-header-with-background-foreground-color: rgba(255, 255, 255, .87)}.mat-mdc-tab-group.mat-background-accent,.mat-mdc-tab-nav-bar.mat-background-accent{--mat-tab-header-with-background-background-color: #4caf50;--mat-tab-header-with-background-foreground-color: rgba(0, 0, 0, .87)}.mat-mdc-tab-group.mat-background-warn,.mat-mdc-tab-nav-bar.mat-background-warn{--mat-tab-header-with-background-background-color: #c43100;--mat-tab-header-with-background-foreground-color: rgba(255, 255, 255, .87)}.mat-mdc-tab-header{--mdc-secondary-navigation-tab-container-height: 48px}html{--mdc-checkbox-disabled-selected-checkmark-color: #fff;--mdc-checkbox-selected-focus-state-layer-opacity: .16;--mdc-checkbox-selected-hover-state-layer-opacity: .04;--mdc-checkbox-selected-pressed-state-layer-opacity: .16;--mdc-checkbox-unselected-focus-state-layer-opacity: .16;--mdc-checkbox-unselected-hover-state-layer-opacity: .04;--mdc-checkbox-unselected-pressed-state-layer-opacity: .16}html{--mdc-checkbox-disabled-selected-icon-color: rgba(0, 0, 0, .38);--mdc-checkbox-disabled-unselected-icon-color: rgba(0, 0, 0, .38);--mdc-checkbox-selected-checkmark-color: black;--mdc-checkbox-selected-focus-icon-color: #4caf50;--mdc-checkbox-selected-hover-icon-color: #4caf50;--mdc-checkbox-selected-icon-color: #4caf50;--mdc-checkbox-selected-pressed-icon-color: #4caf50;--mdc-checkbox-unselected-focus-icon-color: #212121;--mdc-checkbox-unselected-hover-icon-color: #212121;--mdc-checkbox-unselected-icon-color: rgba(0, 0, 0, .54);--mdc-checkbox-unselected-pressed-icon-color: rgba(0, 0, 0, .54);--mdc-checkbox-selected-focus-state-layer-color: #4caf50;--mdc-checkbox-selected-hover-state-layer-color: #4caf50;--mdc-checkbox-selected-pressed-state-layer-color: #4caf50;--mdc-checkbox-unselected-focus-state-layer-color: black;--mdc-checkbox-unselected-hover-state-layer-color: black;--mdc-checkbox-unselected-pressed-state-layer-color: black;--mat-checkbox-disabled-label-color: rgba(0, 0, 0, .38)}.mat-mdc-checkbox{--mdc-form-field-label-text-color: rgba(0, 0, 0, .87)}.mat-mdc-checkbox.mat-primary{--mdc-checkbox-disabled-selected-icon-color: rgba(0, 0, 0, .38);--mdc-checkbox-disabled-unselected-icon-color: rgba(0, 0, 0, .38);--mdc-checkbox-selected-checkmark-color: white;--mdc-checkbox-selected-focus-icon-color: #1f77b4;--mdc-checkbox-selected-hover-icon-color: #1f77b4;--mdc-checkbox-selected-icon-color: #1f77b4;--mdc-checkbox-selected-pressed-icon-color: #1f77b4;--mdc-checkbox-unselected-focus-icon-color: #212121;--mdc-checkbox-unselected-hover-icon-color: #212121;--mdc-checkbox-unselected-icon-color: rgba(0, 0, 0, .54);--mdc-checkbox-unselected-pressed-icon-color: rgba(0, 0, 0, .54);--mdc-checkbox-selected-focus-state-layer-color: #1f77b4;--mdc-checkbox-selected-hover-state-layer-color: #1f77b4;--mdc-checkbox-selected-pressed-state-layer-color: #1f77b4;--mdc-checkbox-unselected-focus-state-layer-color: black;--mdc-checkbox-unselected-hover-state-layer-color: black;--mdc-checkbox-unselected-pressed-state-layer-color: black}.mat-mdc-checkbox.mat-warn{--mdc-checkbox-disabled-selected-icon-color: rgba(0, 0, 0, .38);--mdc-checkbox-disabled-unselected-icon-color: rgba(0, 0, 0, .38);--mdc-checkbox-selected-checkmark-color: white;--mdc-checkbox-selected-focus-icon-color: #c43100;--mdc-checkbox-selected-hover-icon-color: #c43100;--mdc-checkbox-selected-icon-color: #c43100;--mdc-checkbox-selected-pressed-icon-color: #c43100;--mdc-checkbox-unselected-focus-icon-color: #212121;--mdc-checkbox-unselected-hover-icon-color: #212121;--mdc-checkbox-unselected-icon-color: rgba(0, 0, 0, .54);--mdc-checkbox-unselected-pressed-icon-color: rgba(0, 0, 0, .54);--mdc-checkbox-selected-focus-state-layer-color: #c43100;--mdc-checkbox-selected-hover-state-layer-color: #c43100;--mdc-checkbox-selected-pressed-state-layer-color: #c43100;--mdc-checkbox-unselected-focus-state-layer-color: black;--mdc-checkbox-unselected-hover-state-layer-color: black;--mdc-checkbox-unselected-pressed-state-layer-color: black}html{--mdc-checkbox-state-layer-size: 40px;--mat-checkbox-touch-target-display: block}html{--mdc-text-button-container-shape: 4px;--mdc-text-button-keep-touch-target: false;--mdc-filled-button-container-shape: 4px;--mdc-filled-button-keep-touch-target: false;--mdc-protected-button-container-shape: 4px;--mdc-protected-button-keep-touch-target: false;--mdc-outlined-button-keep-touch-target: false;--mdc-outlined-button-outline-width: 1px;--mdc-outlined-button-container-shape: 4px;--mat-text-button-horizontal-padding: 8px;--mat-text-button-with-icon-horizontal-padding: 8px;--mat-text-button-icon-spacing: 8px;--mat-text-button-icon-offset: 0;--mat-filled-button-horizontal-padding: 16px;--mat-filled-button-icon-spacing: 8px;--mat-filled-button-icon-offset: -4px;--mat-protected-button-horizontal-padding: 16px;--mat-protected-button-icon-spacing: 8px;--mat-protected-button-icon-offset: -4px;--mat-outlined-button-horizontal-padding: 15px;--mat-outlined-button-icon-spacing: 8px;--mat-outlined-button-icon-offset: -4px}html{--mdc-text-button-label-text-color: black;--mdc-text-button-disabled-label-text-color: rgba(0, 0, 0, .38);--mat-text-button-state-layer-color: black;--mat-text-button-disabled-state-layer-color: black;--mat-text-button-ripple-color: rgba(0, 0, 0, .1);--mat-text-button-hover-state-layer-opacity: .04;--mat-text-button-focus-state-layer-opacity: .12;--mat-text-button-pressed-state-layer-opacity: .12;--mdc-filled-button-container-color: white;--mdc-filled-button-label-text-color: black;--mdc-filled-button-disabled-container-color: rgba(0, 0, 0, .12);--mdc-filled-button-disabled-label-text-color: rgba(0, 0, 0, .38);--mat-filled-button-state-layer-color: black;--mat-filled-button-disabled-state-layer-color: black;--mat-filled-button-ripple-color: rgba(0, 0, 0, .1);--mat-filled-button-hover-state-layer-opacity: .04;--mat-filled-button-focus-state-layer-opacity: .12;--mat-filled-button-pressed-state-layer-opacity: .12;--mdc-protected-button-container-color: white;--mdc-protected-button-label-text-color: black;--mdc-protected-button-disabled-container-color: rgba(0, 0, 0, .12);--mdc-protected-button-disabled-label-text-color: rgba(0, 0, 0, .38);--mdc-protected-button-container-elevation-shadow: 0px 3px 1px -2px rgba(0, 0, 0, .2), 0px 2px 2px 0px rgba(0, 0, 0, .14), 0px 1px 5px 0px rgba(0, 0, 0, .12);--mdc-protected-button-disabled-container-elevation-shadow: 0px 0px 0px 0px rgba(0, 0, 0, .2), 0px 0px 0px 0px rgba(0, 0, 0, .14), 0px 0px 0px 0px rgba(0, 0, 0, .12);--mdc-protected-button-focus-container-elevation-shadow: 0px 2px 4px -1px rgba(0, 0, 0, .2), 0px 4px 5px 0px rgba(0, 0, 0, .14), 0px 1px 10px 0px rgba(0, 0, 0, .12);--mdc-protected-button-hover-container-elevation-shadow: 0px 2px 4px -1px rgba(0, 0, 0, .2), 0px 4px 5px 0px rgba(0, 0, 0, .14), 0px 1px 10px 0px rgba(0, 0, 0, .12);--mdc-protected-button-pressed-container-elevation-shadow: 0px 5px 5px -3px rgba(0, 0, 0, .2), 0px 8px 10px 1px rgba(0, 0, 0, .14), 0px 3px 14px 2px rgba(0, 0, 0, .12);--mdc-protected-button-container-shadow-color: #000;--mat-protected-button-state-layer-color: black;--mat-protected-button-disabled-state-layer-color: black;--mat-protected-button-ripple-color: rgba(0, 0, 0, .1);--mat-protected-button-hover-state-layer-opacity: .04;--mat-protected-button-focus-state-layer-opacity: .12;--mat-protected-button-pressed-state-layer-opacity: .12;--mdc-outlined-button-disabled-outline-color: rgba(0, 0, 0, .12);--mdc-outlined-button-disabled-label-text-color: rgba(0, 0, 0, .38);--mdc-outlined-button-label-text-color: black;--mdc-outlined-button-outline-color: rgba(0, 0, 0, .12);--mat-outlined-button-state-layer-color: black;--mat-outlined-button-disabled-state-layer-color: black;--mat-outlined-button-ripple-color: rgba(0, 0, 0, .1);--mat-outlined-button-hover-state-layer-opacity: .04;--mat-outlined-button-focus-state-layer-opacity: .12;--mat-outlined-button-pressed-state-layer-opacity: .12}.mat-mdc-button.mat-primary{--mdc-text-button-label-text-color: #1f77b4;--mat-text-button-state-layer-color: #1f77b4;--mat-text-button-ripple-color: rgba(31, 119, 180, .1)}.mat-mdc-button.mat-accent{--mdc-text-button-label-text-color: #4caf50;--mat-text-button-state-layer-color: #4caf50;--mat-text-button-ripple-color: rgba(76, 175, 80, .1)}.mat-mdc-button.mat-warn{--mdc-text-button-label-text-color: #c43100;--mat-text-button-state-layer-color: #c43100;--mat-text-button-ripple-color: rgba(196, 49, 0, .1)}.mat-mdc-unelevated-button.mat-primary{--mdc-filled-button-container-color: #1f77b4;--mdc-filled-button-label-text-color: white;--mat-filled-button-state-layer-color: white;--mat-filled-button-ripple-color: rgba(255, 255, 255, .1)}.mat-mdc-unelevated-button.mat-accent{--mdc-filled-button-container-color: #4caf50;--mdc-filled-button-label-text-color: black;--mat-filled-button-state-layer-color: black;--mat-filled-button-ripple-color: rgba(0, 0, 0, .1)}.mat-mdc-unelevated-button.mat-warn{--mdc-filled-button-container-color: #c43100;--mdc-filled-button-label-text-color: white;--mat-filled-button-state-layer-color: white;--mat-filled-button-ripple-color: rgba(255, 255, 255, .1)}.mat-mdc-raised-button.mat-primary{--mdc-protected-button-container-color: #1f77b4;--mdc-protected-button-label-text-color: white;--mat-protected-button-state-layer-color: white;--mat-protected-button-ripple-color: rgba(255, 255, 255, .1)}.mat-mdc-raised-button.mat-accent{--mdc-protected-button-container-color: #4caf50;--mdc-protected-button-label-text-color: black;--mat-protected-button-state-layer-color: black;--mat-protected-button-ripple-color: rgba(0, 0, 0, .1)}.mat-mdc-raised-button.mat-warn{--mdc-protected-button-container-color: #c43100;--mdc-protected-button-label-text-color: white;--mat-protected-button-state-layer-color: white;--mat-protected-button-ripple-color: rgba(255, 255, 255, .1)}.mat-mdc-outlined-button.mat-primary{--mdc-outlined-button-label-text-color: #1f77b4;--mdc-outlined-button-outline-color: rgba(0, 0, 0, .12);--mat-outlined-button-state-layer-color: #1f77b4;--mat-outlined-button-ripple-color: rgba(31, 119, 180, .1)}.mat-mdc-outlined-button.mat-accent{--mdc-outlined-button-label-text-color: #4caf50;--mdc-outlined-button-outline-color: rgba(0, 0, 0, .12);--mat-outlined-button-state-layer-color: #4caf50;--mat-outlined-button-ripple-color: rgba(76, 175, 80, .1)}.mat-mdc-outlined-button.mat-warn{--mdc-outlined-button-label-text-color: #c43100;--mdc-outlined-button-outline-color: rgba(0, 0, 0, .12);--mat-outlined-button-state-layer-color: #c43100;--mat-outlined-button-ripple-color: rgba(196, 49, 0, .1)}html{--mdc-text-button-container-height: 36px;--mdc-filled-button-container-height: 36px;--mdc-outlined-button-container-height: 36px;--mdc-protected-button-container-height: 36px;--mat-text-button-touch-target-display: block;--mat-filled-button-touch-target-display: block;--mat-protected-button-touch-target-display: block;--mat-outlined-button-touch-target-display: block}html{--mdc-icon-button-icon-size: 24px}html{--mdc-icon-button-icon-color: inherit;--mdc-icon-button-disabled-icon-color: rgba(0, 0, 0, .38);--mat-icon-button-state-layer-color: black;--mat-icon-button-disabled-state-layer-color: black;--mat-icon-button-ripple-color: rgba(0, 0, 0, .1);--mat-icon-button-hover-state-layer-opacity: .04;--mat-icon-button-focus-state-layer-opacity: .12;--mat-icon-button-pressed-state-layer-opacity: .12}html .mat-mdc-icon-button.mat-primary{--mdc-icon-button-icon-color: #1f77b4;--mat-icon-button-state-layer-color: #1f77b4;--mat-icon-button-ripple-color: rgba(31, 119, 180, .1)}html .mat-mdc-icon-button.mat-accent{--mdc-icon-button-icon-color: #4caf50;--mat-icon-button-state-layer-color: #4caf50;--mat-icon-button-ripple-color: rgba(76, 175, 80, .1)}html .mat-mdc-icon-button.mat-warn{--mdc-icon-button-icon-color: #c43100;--mat-icon-button-state-layer-color: #c43100;--mat-icon-button-ripple-color: rgba(196, 49, 0, .1)}html{--mat-icon-button-touch-target-display: block}.mat-mdc-icon-button.mat-mdc-button-base{--mdc-icon-button-state-layer-size: 48px;width:var(--mdc-icon-button-state-layer-size);height:var(--mdc-icon-button-state-layer-size);padding:12px}html{--mdc-fab-container-shape: 50%;--mdc-fab-icon-size: 24px;--mdc-fab-small-container-shape: 50%;--mdc-fab-small-icon-size: 24px;--mdc-extended-fab-container-height: 48px;--mdc-extended-fab-container-shape: 24px}html{--mdc-fab-container-color: white;--mdc-fab-container-elevation-shadow: 0px 3px 5px -1px rgba(0, 0, 0, .2), 0px 6px 10px 0px rgba(0, 0, 0, .14), 0px 1px 18px 0px rgba(0, 0, 0, .12);--mdc-fab-focus-container-elevation-shadow: 0px 5px 5px -3px rgba(0, 0, 0, .2), 0px 8px 10px 1px rgba(0, 0, 0, .14), 0px 3px 14px 2px rgba(0, 0, 0, .12);--mdc-fab-hover-container-elevation-shadow: 0px 5px 5px -3px rgba(0, 0, 0, .2), 0px 8px 10px 1px rgba(0, 0, 0, .14), 0px 3px 14px 2px rgba(0, 0, 0, .12);--mdc-fab-pressed-container-elevation-shadow: 0px 7px 8px -4px rgba(0, 0, 0, .2), 0px 12px 17px 2px rgba(0, 0, 0, .14), 0px 5px 22px 4px rgba(0, 0, 0, .12);--mdc-fab-container-shadow-color: #000;--mat-fab-foreground-color: black;--mat-fab-state-layer-color: black;--mat-fab-disabled-state-layer-color: black;--mat-fab-ripple-color: rgba(0, 0, 0, .1);--mat-fab-hover-state-layer-opacity: .04;--mat-fab-focus-state-layer-opacity: .12;--mat-fab-pressed-state-layer-opacity: .12;--mat-fab-disabled-state-container-color: rgba(0, 0, 0, .12);--mat-fab-disabled-state-foreground-color: rgba(0, 0, 0, .38);--mdc-fab-small-container-color: white;--mdc-fab-small-container-elevation-shadow: 0px 3px 5px -1px rgba(0, 0, 0, .2), 0px 6px 10px 0px rgba(0, 0, 0, .14), 0px 1px 18px 0px rgba(0, 0, 0, .12);--mdc-fab-small-focus-container-elevation-shadow: 0px 5px 5px -3px rgba(0, 0, 0, .2), 0px 8px 10px 1px rgba(0, 0, 0, .14), 0px 3px 14px 2px rgba(0, 0, 0, .12);--mdc-fab-small-hover-container-elevation-shadow: 0px 5px 5px -3px rgba(0, 0, 0, .2), 0px 8px 10px 1px rgba(0, 0, 0, .14), 0px 3px 14px 2px rgba(0, 0, 0, .12);--mdc-fab-small-pressed-container-elevation-shadow: 0px 7px 8px -4px rgba(0, 0, 0, .2), 0px 12px 17px 2px rgba(0, 0, 0, .14), 0px 5px 22px 4px rgba(0, 0, 0, .12);--mdc-fab-small-container-shadow-color: #000;--mat-fab-small-foreground-color: black;--mat-fab-small-state-layer-color: black;--mat-fab-small-disabled-state-layer-color: black;--mat-fab-small-ripple-color: rgba(0, 0, 0, .1);--mat-fab-small-hover-state-layer-opacity: .04;--mat-fab-small-focus-state-layer-opacity: .12;--mat-fab-small-pressed-state-layer-opacity: .12;--mat-fab-small-disabled-state-container-color: rgba(0, 0, 0, .12);--mat-fab-small-disabled-state-foreground-color: rgba(0, 0, 0, .38);--mdc-extended-fab-container-elevation-shadow: 0px 3px 5px -1px rgba(0, 0, 0, .2), 0px 6px 10px 0px rgba(0, 0, 0, .14), 0px 1px 18px 0px rgba(0, 0, 0, .12);--mdc-extended-fab-focus-container-elevation-shadow: 0px 5px 5px -3px rgba(0, 0, 0, .2), 0px 8px 10px 1px rgba(0, 0, 0, .14), 0px 3px 14px 2px rgba(0, 0, 0, .12);--mdc-extended-fab-hover-container-elevation-shadow: 0px 5px 5px -3px rgba(0, 0, 0, .2), 0px 8px 10px 1px rgba(0, 0, 0, .14), 0px 3px 14px 2px rgba(0, 0, 0, .12);--mdc-extended-fab-pressed-container-elevation-shadow: 0px 7px 8px -4px rgba(0, 0, 0, .2), 0px 12px 17px 2px rgba(0, 0, 0, .14), 0px 5px 22px 4px rgba(0, 0, 0, .12);--mdc-extended-fab-container-shadow-color: #000}html .mat-mdc-fab.mat-primary{--mdc-fab-container-color: #1f77b4;--mat-fab-foreground-color: white;--mat-fab-state-layer-color: white;--mat-fab-ripple-color: rgba(255, 255, 255, .1)}html .mat-mdc-fab.mat-accent{--mdc-fab-container-color: #4caf50;--mat-fab-foreground-color: black;--mat-fab-state-layer-color: black;--mat-fab-ripple-color: rgba(0, 0, 0, .1)}html .mat-mdc-fab.mat-warn{--mdc-fab-container-color: #c43100;--mat-fab-foreground-color: white;--mat-fab-state-layer-color: white;--mat-fab-ripple-color: rgba(255, 255, 255, .1)}html .mat-mdc-mini-fab.mat-primary{--mdc-fab-small-container-color: #1f77b4;--mat-fab-small-foreground-color: white;--mat-fab-small-state-layer-color: white;--mat-fab-small-ripple-color: rgba(255, 255, 255, .1)}html .mat-mdc-mini-fab.mat-accent{--mdc-fab-small-container-color: #4caf50;--mat-fab-small-foreground-color: black;--mat-fab-small-state-layer-color: black;--mat-fab-small-ripple-color: rgba(0, 0, 0, .1)}html .mat-mdc-mini-fab.mat-warn{--mdc-fab-small-container-color: #c43100;--mat-fab-small-foreground-color: white;--mat-fab-small-state-layer-color: white;--mat-fab-small-ripple-color: rgba(255, 255, 255, .1)}html{--mat-fab-touch-target-display: block;--mat-fab-small-touch-target-display: block}html{--mdc-snackbar-container-shape: 4px}html{--mdc-snackbar-container-color: #333333;--mdc-snackbar-supporting-text-color: rgba(255, 255, 255, .87);--mat-snack-bar-button-color: #4caf50}html{--mat-table-row-item-outline-width: 1px}html{--mat-table-background-color: white;--mat-table-header-headline-color: rgba(0, 0, 0, .87);--mat-table-row-item-label-text-color: rgba(0, 0, 0, .87);--mat-table-row-item-outline-color: rgba(0, 0, 0, .12)}html{--mat-table-header-container-height: 56px;--mat-table-footer-container-height: 52px;--mat-table-row-item-container-height: 52px}html{--mdc-circular-progress-active-indicator-width: 4px;--mdc-circular-progress-size: 48px}html{--mdc-circular-progress-active-indicator-color: #1f77b4}html .mat-accent{--mdc-circular-progress-active-indicator-color: #4caf50}html .mat-warn{--mdc-circular-progress-active-indicator-color: #c43100}html{--mat-badge-container-shape: 50%;--mat-badge-container-size: unset;--mat-badge-small-size-container-size: unset;--mat-badge-large-size-container-size: unset;--mat-badge-legacy-container-size: 22px;--mat-badge-legacy-small-size-container-size: 16px;--mat-badge-legacy-large-size-container-size: 28px;--mat-badge-container-offset: -11px 0;--mat-badge-small-size-container-offset: -8px 0;--mat-badge-large-size-container-offset: -14px 0;--mat-badge-container-overlap-offset: -11px;--mat-badge-small-size-container-overlap-offset: -8px;--mat-badge-large-size-container-overlap-offset: -14px;--mat-badge-container-padding: 0;--mat-badge-small-size-container-padding: 0;--mat-badge-large-size-container-padding: 0}html{--mat-badge-background-color: #1f77b4;--mat-badge-text-color: rgba(255, 255, 255, .87);--mat-badge-disabled-state-background-color: #b9b9b9;--mat-badge-disabled-state-text-color: rgba(0, 0, 0, .38)}.mat-badge-accent{--mat-badge-background-color: #4caf50;--mat-badge-text-color: rgba(0, 0, 0, .87)}.mat-badge-warn{--mat-badge-background-color: #c43100;--mat-badge-text-color: rgba(255, 255, 255, .87)}html{--mat-bottom-sheet-container-shape: 4px}html{--mat-bottom-sheet-container-text-color: rgba(0, 0, 0, .87);--mat-bottom-sheet-container-background-color: white}html{--mat-legacy-button-toggle-height: 36px;--mat-legacy-button-toggle-shape: 2px;--mat-legacy-button-toggle-focus-state-layer-opacity: 1;--mat-standard-button-toggle-shape: 4px;--mat-standard-button-toggle-hover-state-layer-opacity: .04;--mat-standard-button-toggle-focus-state-layer-opacity: .12}html{--mat-legacy-button-toggle-text-color: rgba(0, 0, 0, .38);--mat-legacy-button-toggle-state-layer-color: rgba(0, 0, 0, .12);--mat-legacy-button-toggle-selected-state-text-color: rgba(0, 0, 0, .54);--mat-legacy-button-toggle-selected-state-background-color: #e0e0e0;--mat-legacy-button-toggle-disabled-state-text-color: rgba(0, 0, 0, .26);--mat-legacy-button-toggle-disabled-state-background-color: #eeeeee;--mat-legacy-button-toggle-disabled-selected-state-background-color: #bdbdbd;--mat-standard-button-toggle-text-color: rgba(0, 0, 0, .87);--mat-standard-button-toggle-background-color: white;--mat-standard-button-toggle-state-layer-color: black;--mat-standard-button-toggle-selected-state-background-color: #e0e0e0;--mat-standard-button-toggle-selected-state-text-color: rgba(0, 0, 0, .87);--mat-standard-button-toggle-disabled-state-text-color: rgba(0, 0, 0, .26);--mat-standard-button-toggle-disabled-state-background-color: white;--mat-standard-button-toggle-disabled-selected-state-text-color: rgba(0, 0, 0, .87);--mat-standard-button-toggle-disabled-selected-state-background-color: #bdbdbd;--mat-standard-button-toggle-divider-color: #e0e0e0}html{--mat-standard-button-toggle-height: 48px}html{--mat-datepicker-calendar-container-shape: 4px;--mat-datepicker-calendar-container-touch-shape: 4px;--mat-datepicker-calendar-container-elevation-shadow: 0px 2px 4px -1px rgba(0, 0, 0, .2), 0px 4px 5px 0px rgba(0, 0, 0, .14), 0px 1px 10px 0px rgba(0, 0, 0, .12);--mat-datepicker-calendar-container-touch-elevation-shadow: 0px 11px 15px -7px rgba(0, 0, 0, .2), 0px 24px 38px 3px rgba(0, 0, 0, .14), 0px 9px 46px 8px rgba(0, 0, 0, .12)}html{--mat-datepicker-calendar-date-selected-state-text-color: rgba(255, 255, 255, .87);--mat-datepicker-calendar-date-selected-state-background-color: #1f77b4;--mat-datepicker-calendar-date-selected-disabled-state-background-color: rgba(31, 119, 180, .4);--mat-datepicker-calendar-date-today-selected-state-outline-color: rgba(255, 255, 255, .87);--mat-datepicker-calendar-date-focus-state-background-color: rgba(31, 119, 180, .3);--mat-datepicker-calendar-date-hover-state-background-color: rgba(31, 119, 180, .3);--mat-datepicker-toggle-active-state-icon-color: #1f77b4;--mat-datepicker-calendar-date-in-range-state-background-color: rgba(31, 119, 180, .2);--mat-datepicker-calendar-date-in-comparison-range-state-background-color: rgba(249, 171, 0, .2);--mat-datepicker-calendar-date-in-overlap-range-state-background-color: #a8dab5;--mat-datepicker-calendar-date-in-overlap-range-selected-state-background-color: #46a35e;--mat-datepicker-toggle-icon-color: rgba(0, 0, 0, .54);--mat-datepicker-calendar-body-label-text-color: rgba(0, 0, 0, .54);--mat-datepicker-calendar-period-button-text-color: black;--mat-datepicker-calendar-period-button-icon-color: rgba(0, 0, 0, .54);--mat-datepicker-calendar-navigation-button-icon-color: rgba(0, 0, 0, .54);--mat-datepicker-calendar-header-divider-color: rgba(0, 0, 0, .12);--mat-datepicker-calendar-header-text-color: rgba(0, 0, 0, .54);--mat-datepicker-calendar-date-today-outline-color: rgba(0, 0, 0, .38);--mat-datepicker-calendar-date-today-disabled-state-outline-color: rgba(0, 0, 0, .18);--mat-datepicker-calendar-date-text-color: rgba(0, 0, 0, .87);--mat-datepicker-calendar-date-outline-color: transparent;--mat-datepicker-calendar-date-disabled-state-text-color: rgba(0, 0, 0, .38);--mat-datepicker-calendar-date-preview-state-outline-color: rgba(0, 0, 0, .24);--mat-datepicker-range-input-separator-color: rgba(0, 0, 0, .87);--mat-datepicker-range-input-disabled-state-separator-color: rgba(0, 0, 0, .38);--mat-datepicker-range-input-disabled-state-text-color: rgba(0, 0, 0, .38);--mat-datepicker-calendar-container-background-color: white;--mat-datepicker-calendar-container-text-color: rgba(0, 0, 0, .87)}.mat-datepicker-content.mat-accent{--mat-datepicker-calendar-date-selected-state-text-color: rgba(0, 0, 0, .87);--mat-datepicker-calendar-date-selected-state-background-color: #4caf50;--mat-datepicker-calendar-date-selected-disabled-state-background-color: rgba(76, 175, 80, .4);--mat-datepicker-calendar-date-today-selected-state-outline-color: rgba(0, 0, 0, .87);--mat-datepicker-calendar-date-focus-state-background-color: rgba(76, 175, 80, .3);--mat-datepicker-calendar-date-hover-state-background-color: rgba(76, 175, 80, .3);--mat-datepicker-calendar-date-in-range-state-background-color: rgba(76, 175, 80, .2);--mat-datepicker-calendar-date-in-comparison-range-state-background-color: rgba(249, 171, 0, .2);--mat-datepicker-calendar-date-in-overlap-range-state-background-color: #a8dab5;--mat-datepicker-calendar-date-in-overlap-range-selected-state-background-color: #46a35e}.mat-datepicker-content.mat-warn{--mat-datepicker-calendar-date-selected-state-text-color: rgba(255, 255, 255, .87);--mat-datepicker-calendar-date-selected-state-background-color: #c43100;--mat-datepicker-calendar-date-selected-disabled-state-background-color: rgba(196, 49, 0, .4);--mat-datepicker-calendar-date-today-selected-state-outline-color: rgba(255, 255, 255, .87);--mat-datepicker-calendar-date-focus-state-background-color: rgba(196, 49, 0, .3);--mat-datepicker-calendar-date-hover-state-background-color: rgba(196, 49, 0, .3);--mat-datepicker-calendar-date-in-range-state-background-color: rgba(196, 49, 0, .2);--mat-datepicker-calendar-date-in-comparison-range-state-background-color: rgba(249, 171, 0, .2);--mat-datepicker-calendar-date-in-overlap-range-state-background-color: #a8dab5;--mat-datepicker-calendar-date-in-overlap-range-selected-state-background-color: #46a35e}.mat-datepicker-toggle-active.mat-accent{--mat-datepicker-toggle-active-state-icon-color: #4caf50}.mat-datepicker-toggle-active.mat-warn{--mat-datepicker-toggle-active-state-icon-color: #c43100}.mat-calendar-controls{--mat-icon-button-touch-target-display: none}.mat-calendar-controls .mat-mdc-icon-button.mat-mdc-button-base{--mdc-icon-button-state-layer-size: 40px;width:var(--mdc-icon-button-state-layer-size);height:var(--mdc-icon-button-state-layer-size);padding:8px}html{--mat-divider-width: 1px}html{--mat-divider-color: rgba(0, 0, 0, .12)}html{--mat-expansion-container-shape: 4px;--mat-expansion-legacy-header-indicator-display: inline-block;--mat-expansion-header-indicator-display: none}html{--mat-expansion-container-background-color: white;--mat-expansion-container-text-color: rgba(0, 0, 0, .87);--mat-expansion-actions-divider-color: rgba(0, 0, 0, .12);--mat-expansion-header-hover-state-layer-color: rgba(0, 0, 0, .04);--mat-expansion-header-focus-state-layer-color: rgba(0, 0, 0, .04);--mat-expansion-header-disabled-state-text-color: rgba(0, 0, 0, .26);--mat-expansion-header-text-color: rgba(0, 0, 0, .87);--mat-expansion-header-description-color: rgba(0, 0, 0, .54);--mat-expansion-header-indicator-color: rgba(0, 0, 0, .54)}html{--mat-expansion-header-collapsed-state-height: 48px;--mat-expansion-header-expanded-state-height: 64px}html{--mat-icon-color: inherit}.mat-icon.mat-primary{--mat-icon-color: #1f77b4}.mat-icon.mat-accent{--mat-icon-color: #4caf50}.mat-icon.mat-warn{--mat-icon-color: #c43100}html{--mat-sidenav-container-shape: 0;--mat-sidenav-container-elevation-shadow: 0px 8px 10px -5px rgba(0, 0, 0, .2), 0px 16px 24px 2px rgba(0, 0, 0, .14), 0px 6px 30px 5px rgba(0, 0, 0, .12);--mat-sidenav-container-width: auto}html{--mat-sidenav-container-divider-color: rgba(0, 0, 0, .12);--mat-sidenav-container-background-color: white;--mat-sidenav-container-text-color: rgba(0, 0, 0, .87);--mat-sidenav-content-background-color: #fafafa;--mat-sidenav-content-text-color: rgba(0, 0, 0, .87);--mat-sidenav-scrim-color: rgba(0, 0, 0, .6)}html{--mat-stepper-header-icon-foreground-color: rgba(255, 255, 255, .87);--mat-stepper-header-selected-state-icon-background-color: #1f77b4;--mat-stepper-header-selected-state-icon-foreground-color: rgba(255, 255, 255, .87);--mat-stepper-header-done-state-icon-background-color: #1f77b4;--mat-stepper-header-done-state-icon-foreground-color: rgba(255, 255, 255, .87);--mat-stepper-header-edit-state-icon-background-color: #1f77b4;--mat-stepper-header-edit-state-icon-foreground-color: rgba(255, 255, 255, .87);--mat-stepper-container-color: white;--mat-stepper-line-color: rgba(0, 0, 0, .12);--mat-stepper-header-hover-state-layer-color: rgba(0, 0, 0, .04);--mat-stepper-header-focus-state-layer-color: rgba(0, 0, 0, .04);--mat-stepper-header-label-text-color: rgba(0, 0, 0, .54);--mat-stepper-header-optional-label-text-color: rgba(0, 0, 0, .54);--mat-stepper-header-selected-state-label-text-color: rgba(0, 0, 0, .87);--mat-stepper-header-error-state-label-text-color: #c43100;--mat-stepper-header-icon-background-color: rgba(0, 0, 0, .54);--mat-stepper-header-error-state-icon-foreground-color: #c43100;--mat-stepper-header-error-state-icon-background-color: transparent}html .mat-step-header.mat-accent{--mat-stepper-header-icon-foreground-color: rgba(0, 0, 0, .87);--mat-stepper-header-selected-state-icon-background-color: #4caf50;--mat-stepper-header-selected-state-icon-foreground-color: rgba(0, 0, 0, .87);--mat-stepper-header-done-state-icon-background-color: #4caf50;--mat-stepper-header-done-state-icon-foreground-color: rgba(0, 0, 0, .87);--mat-stepper-header-edit-state-icon-background-color: #4caf50;--mat-stepper-header-edit-state-icon-foreground-color: rgba(0, 0, 0, .87)}html .mat-step-header.mat-warn{--mat-stepper-header-icon-foreground-color: rgba(255, 255, 255, .87);--mat-stepper-header-selected-state-icon-background-color: #c43100;--mat-stepper-header-selected-state-icon-foreground-color: rgba(255, 255, 255, .87);--mat-stepper-header-done-state-icon-background-color: #c43100;--mat-stepper-header-done-state-icon-foreground-color: rgba(255, 255, 255, .87);--mat-stepper-header-edit-state-icon-background-color: #c43100;--mat-stepper-header-edit-state-icon-foreground-color: rgba(255, 255, 255, .87)}html{--mat-stepper-header-height: 72px}html{--mat-sort-arrow-color: #757575}html{--mat-toolbar-container-background-color: whitesmoke;--mat-toolbar-container-text-color: rgba(0, 0, 0, .87)}.mat-toolbar.mat-primary{--mat-toolbar-container-background-color: #1f77b4;--mat-toolbar-container-text-color: rgba(255, 255, 255, .87)}.mat-toolbar.mat-accent{--mat-toolbar-container-background-color: #4caf50;--mat-toolbar-container-text-color: rgba(0, 0, 0, .87)}.mat-toolbar.mat-warn{--mat-toolbar-container-background-color: #c43100;--mat-toolbar-container-text-color: rgba(255, 255, 255, .87)}html{--mat-toolbar-standard-height: 64px;--mat-toolbar-mobile-height: 56px}html{--mat-tree-container-background-color: white;--mat-tree-node-text-color: rgba(0, 0, 0, .87)}html{--mat-tree-node-min-height: 48px} diff --git a/docs/worker-basic.min.js b/docs/worker-basic.min.js new file mode 100644 index 0000000..a43c0f2 --- /dev/null +++ b/docs/worker-basic.min.js @@ -0,0 +1,30 @@ +/** + * @license + * Copyright Google LLC All Rights Reserved. + * + * Use of this source code is governed by an MIT-style license that can be + * found in the LICENSE file at https://angular.io/license + */ + +// tslint:disable:no-console + +self.addEventListener('install', (event) => { + self.skipWaiting(); +}); + +self.addEventListener('activate', (event) => { + event.waitUntil(self.clients.claim()); + + event.waitUntil( + self.registration.unregister().then(() => { + console.log('NGSW Safety Worker - unregistered old service worker'); + }), + ); + + event.waitUntil( + caches.keys().then((cacheNames) => { + const ngswCacheNames = cacheNames.filter((name) => /^ngsw:/.test(name)); + return Promise.all(ngswCacheNames.map((name) => caches.delete(name))); + }), + ); +});