From fd81dfb51c3410bf26de75ae9a64a754c645afc5 Mon Sep 17 00:00:00 2001 From: Tom Dymel Date: Fri, 19 Jan 2024 08:42:04 +0100 Subject: [PATCH] Fix latest build deployment --- Dockerfile | 7 +- Gemfile | 2 + Gemfile.lock | 57 +- app-latest-build/3rdpartylicenses.txt | 1456 - ...cb575c528bd7d.woff => Roboto-Regular.woff} | Bin .../{bpmn.5d33bee45f1fb468.eot => bpmn.eot} | Bin .../{bpmn.74eea12b52b25cb2.svg => bpmn.svg} | 0 .../{bpmn.b5c9250d7d4947c4.ttf => bpmn.ttf} | Bin .../{bpmn.e9e7d07618d46ca6.woff => bpmn.woff} | Bin ...bpmn.67058807b4bcf238.woff2 => bpmn.woff2} | Bin app-latest-build/index.html | 22 +- app-latest-build/main.d5df234d7ebb5e8c.js | 1 - app-latest-build/main.js | 10910 ++ app-latest-build/main.js.map | 1 + ...0a08.woff => material-icons-outlined.woff} | Bin ...fe.woff2 => material-icons-outlined.woff2} | Bin ...4c591e7.woff => material-icons-round.woff} | Bin ...fbc74.woff2 => material-icons-round.woff2} | Bin ...6c604de.woff => material-icons-sharp.woff} | Bin ...46422.woff2 => material-icons-sharp.woff2} | Bin ...07a7.woff => material-icons-two-tone.woff} | Bin ...3e.woff2 => material-icons-two-tone.woff2} | Bin ...034d2c499d9b6.woff => material-icons.woff} | Bin ...316b3fd6063.woff2 => material-icons.woff2} | Bin .../polyfills.0be128837423580d.js | 1 - app-latest-build/polyfills.js | 2734 + app-latest-build/polyfills.js.map | 1 + app-latest-build/runtime.cf402925d3cccd0d.js | 1 - app-latest-build/runtime.js | 163 + app-latest-build/runtime.js.map | 1 + app-latest-build/styles.92e5b5b9999374a1.css | 1 - app-latest-build/styles.css | 3905 + app-latest-build/styles.css.map | 1 + app-latest-build/vendor.js | 145252 +++++++++++++++ app-latest-build/vendor.js.map | 1 + 35 files changed, 163020 insertions(+), 1497 deletions(-) delete mode 100644 app-latest-build/3rdpartylicenses.txt rename app-latest-build/{Roboto-Regular.acbcb575c528bd7d.woff => Roboto-Regular.woff} (100%) rename app-latest-build/{bpmn.5d33bee45f1fb468.eot => bpmn.eot} (100%) rename app-latest-build/{bpmn.74eea12b52b25cb2.svg => bpmn.svg} (100%) rename app-latest-build/{bpmn.b5c9250d7d4947c4.ttf => bpmn.ttf} (100%) rename app-latest-build/{bpmn.e9e7d07618d46ca6.woff => bpmn.woff} (100%) rename app-latest-build/{bpmn.67058807b4bcf238.woff2 => bpmn.woff2} (100%) delete mode 100644 app-latest-build/main.d5df234d7ebb5e8c.js create mode 100644 app-latest-build/main.js create mode 100644 app-latest-build/main.js.map rename app-latest-build/{material-icons-outlined.78a93b2079680a08.woff => material-icons-outlined.woff} (100%) rename app-latest-build/{material-icons-outlined.f86cb7b0aa53f0fe.woff2 => material-icons-outlined.woff2} (100%) rename app-latest-build/{material-icons-round.92dc7ca2f4c591e7.woff => material-icons-round.woff} (100%) rename app-latest-build/{material-icons-round.b10ec9db5b7fbc74.woff2 => material-icons-round.woff2} (100%) rename app-latest-build/{material-icons-sharp.a71cb2bf66c604de.woff => material-icons-sharp.woff} (100%) rename app-latest-build/{material-icons-sharp.3885863ee4746422.woff2 => material-icons-sharp.woff2} (100%) rename app-latest-build/{material-icons-two-tone.588d63134de807a7.woff => material-icons-two-tone.woff} (100%) rename app-latest-build/{material-icons-two-tone.675bd578bd14533e.woff2 => material-icons-two-tone.woff2} (100%) rename app-latest-build/{material-icons.4ad034d2c499d9b6.woff => material-icons.woff} (100%) rename app-latest-build/{material-icons.59322316b3fd6063.woff2 => material-icons.woff2} (100%) delete mode 100644 app-latest-build/polyfills.0be128837423580d.js create mode 100644 app-latest-build/polyfills.js create mode 100644 app-latest-build/polyfills.js.map delete mode 100644 app-latest-build/runtime.cf402925d3cccd0d.js create mode 100644 app-latest-build/runtime.js create mode 100644 app-latest-build/runtime.js.map delete mode 100644 app-latest-build/styles.92e5b5b9999374a1.css create mode 100644 app-latest-build/styles.css create mode 100644 app-latest-build/styles.css.map create mode 100644 app-latest-build/vendor.js create mode 100644 app-latest-build/vendor.js.map diff --git a/Dockerfile b/Dockerfile index fc7e267..e1915d7 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,15 +1,10 @@ -FROM ruby:3-alpine +FROM ruby:3 # throw errors if Gemfile has been modified since Gemfile.lock RUN bundle config --global frozen 1 WORKDIR /srv/jekyll -RUN apk add --no-cache \ - g++ \ - make \ - libc6-compat - COPY Gemfile . COPY Gemfile.lock . diff --git a/Gemfile b/Gemfile index 1ac3b67..d0361a5 100644 --- a/Gemfile +++ b/Gemfile @@ -6,3 +6,5 @@ gem "jekyll", "~> 4.3.2" gem "jekyll-include-cache", group: :jekyll_plugins gem "jemoji", "~> 0.13.0", group: :jekyll_plugins gem "minimal-mistakes-jekyll", "~> 4.24" +gem 'json', '~> 2.6', '>= 2.6.3' +gem 'webrick', '~> 1.8', '>= 1.8.1' diff --git a/Gemfile.lock b/Gemfile.lock index ef04b7f..e732207 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -1,34 +1,44 @@ GEM remote: https://rubygems.org/ specs: - activesupport (7.0.5) + activesupport (7.1.3) + base64 + bigdecimal concurrent-ruby (~> 1.0, >= 1.0.2) + connection_pool (>= 2.2.5) + drb i18n (>= 1.6, < 2) minitest (>= 5.1) + mutex_m tzinfo (~> 2.0) - addressable (2.8.1) + addressable (2.8.6) public_suffix (>= 2.0.2, < 6.0) + base64 (0.2.0) + bigdecimal (3.1.6) colorator (1.1.0) - concurrent-ruby (1.2.2) + concurrent-ruby (1.2.3) + connection_pool (2.4.1) + drb (2.2.0) + ruby2_keywords em-websocket (0.5.3) eventmachine (>= 0.12.9) http_parser.rb (~> 0) eventmachine (1.2.7) - faraday (2.6.0) - faraday-net_http (>= 2.0, < 3.1) - ruby2_keywords (>= 0.0.4) - faraday-net_http (3.0.1) - ffi (1.15.5) + faraday (2.9.0) + faraday-net_http (>= 2.0, < 3.2) + faraday-net_http (3.1.0) + net-http + ffi (1.16.3) forwardable-extended (2.6.0) gemoji (4.1.0) - google-protobuf (3.23.3) + google-protobuf (3.25.2) html-pipeline (2.14.3) activesupport (>= 2) nokogiri (>= 1.4) http_parser.rb (0.8.0) i18n (1.14.1) concurrent-ruby (~> 1.0) - jekyll (4.3.2) + jekyll (4.3.3) addressable (~> 2.4) colorator (~> 1.0) em-websocket (~> 0.5) @@ -61,6 +71,7 @@ GEM gemoji (>= 3, < 5) html-pipeline (~> 2.2) jekyll (>= 3.0, < 5.0) + json (2.7.1) kramdown (2.4.0) rexml kramdown-parser-gfm (1.1.0) @@ -70,7 +81,7 @@ GEM rb-fsevent (~> 0.10, >= 0.10.3) rb-inotify (~> 0.9, >= 0.9.10) mercenary (0.4.0) - mini_portile2 (2.8.2) + mini_portile2 (2.8.5) minimal-mistakes-jekyll (4.24.0) jekyll (>= 3.7, < 5.0) jekyll-feed (~> 0.1) @@ -78,8 +89,11 @@ GEM jekyll-include-cache (~> 0.1) jekyll-paginate (~> 1.1) jekyll-sitemap (~> 1.3) - minitest (5.18.1) - nokogiri (1.15.2) + minitest (5.21.2) + mutex_m (0.2.0) + net-http (0.4.1) + uri + nokogiri (1.16.0) mini_portile2 (~> 2.8.2) racc (~> 1.4) octokit (4.25.1) @@ -87,17 +101,17 @@ GEM sawyer (~> 0.9) pathutil (0.16.2) forwardable-extended (~> 2.6) - public_suffix (5.0.0) - racc (1.7.1) - rake (13.0.6) + public_suffix (5.0.4) + racc (1.7.3) + rake (13.1.0) rb-fsevent (0.11.2) rb-inotify (0.10.1) ffi (~> 1.0) - rexml (3.2.5) - rouge (4.1.2) + rexml (3.2.6) + rouge (4.2.0) ruby2_keywords (0.0.5) safe_yaml (1.0.5) - sass-embedded (1.63.5) + sass-embedded (1.69.5) google-protobuf (~> 3.23) rake (>= 13.0.0) sawyer (0.9.2) @@ -107,7 +121,8 @@ GEM unicode-display_width (>= 1.1.1, < 3) tzinfo (2.0.6) concurrent-ruby (~> 1.0) - unicode-display_width (2.4.2) + unicode-display_width (2.5.0) + uri (0.13.0) webrick (1.8.1) PLATFORMS @@ -117,7 +132,9 @@ DEPENDENCIES jekyll (~> 4.3.2) jekyll-include-cache jemoji (~> 0.13.0) + json (~> 2.6, >= 2.6.3) minimal-mistakes-jekyll (~> 4.24) + webrick (~> 1.8, >= 1.8.1) BUNDLED WITH 2.4.14 diff --git a/app-latest-build/3rdpartylicenses.txt b/app-latest-build/3rdpartylicenses.txt deleted file mode 100644 index 011792a..0000000 --- a/app-latest-build/3rdpartylicenses.txt +++ /dev/null @@ -1,1456 +0,0 @@ -@angular/animations -MIT - -@angular/cdk -MIT -The MIT License - -Copyright (c) 2023 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) 2023 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 - -@babel/runtime -MIT -MIT License - -Copyright (c) 2014-present Sebastian McKenzie and other 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. - - -available-typed-arrays -MIT -MIT License - -Copyright (c) 2020 Inspect JS - -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. - - -bpmn-js -SEE LICENSE IN LICENSE - -bpmn-moddle -MIT -The MIT License (MIT) - -Copyright (c) 2014 camunda Services GmbH - -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. - -call-bind -MIT -MIT License - -Copyright (c) 2020 Jordan Harband - -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. - - -css.escape -MIT -Copyright Mathias Bynens - -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. - - -define-data-property -MIT -MIT License - -Copyright (c) 2023 Jordan Harband - -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. - - -diagram-js -MIT -The MIT License (MIT) - -Copyright (c) 2014-present Camunda Services GmbH - -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. - -diagram-js-direct-editing -MIT -The MIT License (MIT) - -Copyright (c) 2014-2017 camunda Services GmbH - -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. - -didi -MIT -The MIT License - -Copyright (C) 2013 Vojta Jína. -Copyright (C) 2015-present Nico Rehwaldt. - -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. - - -dot -MIT - -Copyright (c) 2011 Laura Doktorova - -Software includes portions from jQote2 Copyright (c) 2010 aefxx, -http://aefxx.com/ licensed under the MIT 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. - - -for-each -MIT -The MIT License (MIT) - -Copyright (c) 2012 Raynos. - -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. - - - -function-bind -MIT -Copyright (c) 2013 Raynos. - -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. - - - -get-intrinsic -MIT -MIT License - -Copyright (c) 2020 Jordan Harband - -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. - - -gopd -MIT -MIT License - -Copyright (c) 2022 Jordan Harband - -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. - - -hammerjs -MIT -The MIT License (MIT) - -Copyright (C) 2011-2014 by Jorik Tangelder (Eight Media) - -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. - - -has-property-descriptors -MIT -MIT License - -Copyright (c) 2022 Inspect JS - -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. - - -has-proto -MIT -MIT License - -Copyright (c) 2022 Inspect JS - -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. - - -has-symbols -MIT -MIT License - -Copyright (c) 2016 Jordan Harband - -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. - - -has-tostringtag -MIT -MIT License - -Copyright (c) 2021 Inspect JS - -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. - - -hasown -MIT -MIT License - -Copyright (c) Jordan Harband and 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. - - -ids -MIT -The MIT License (MIT) - -Copyright (c) 2014 camunda Services GmbH - -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. - -inherits -ISC -The ISC License - -Copyright (c) Isaac Z. Schlueter - -Permission to use, copy, modify, and/or distribute this software for any -purpose with or without fee is hereby granted, provided that the above -copyright notice and this permission notice appear in all copies. - -THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH -REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND -FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, -INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM -LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR -OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR -PERFORMANCE OF THIS SOFTWARE. - - - -is-arguments -MIT -The MIT License (MIT) - -Copyright (c) 2014 Jordan Harband - -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. - - -is-callable -MIT -The MIT License (MIT) - -Copyright (c) 2015 Jordan Harband - -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. - - - -is-generator-function -MIT -The MIT License (MIT) - -Copyright (c) 2014 Jordan Harband - -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. - - -is-typed-array -MIT -The MIT License (MIT) - -Copyright (c) 2015 Jordan Harband - -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. - - - -material-icons -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 [yyyy] [name of copyright owner] - - 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. - - -min-dash -MIT -The MIT License (MIT) - -Copyright (c) 2017-present camunda Services GmbH - -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. - -min-dom -MIT -The MIT License (MIT) - -Copyright (c) 2014 Nico Rehwaldt -Copyright (c) 2015-present camunda Services GmbH - -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. - -moddle -MIT -The MIT License (MIT) - -Copyright (c) 2014-present Camunda Services GmbH - -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. - -moddle-xml -MIT -The MIT License (MIT) - -Copyright (c) 2014-present Camunda Services GmbH - -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. - -object-refs -MIT -The MIT License (MIT) - -Copyright (c) 2014-present camunda Services GmbH - -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. - -path-intersection -MIT -The MIT License (MIT) - -Copyright (c) 2017 camunda Services GmbH - -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. - -process -MIT -(The MIT License) - -Copyright (c) 2013 Roman Shtylman - -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. - - - -saxen -MIT -The MIT License (MIT) -Copyright (c) 2012 Vopilovskii Konstantin -Copyright (c) 2017-present Nico Rehwaldt - -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. - - -set-function-length -MIT -MIT License - -Copyright (c) Jordan Harband and 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. - - -tiny-svg -MIT -The MIT License (MIT) - -Copyright (c) 2014 Nico Rehwaldt -Copyright (c) 2015-present camunda Services GmbH - -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. - -tslib -0BSD -Copyright (c) Microsoft Corporation. - -Permission to use, copy, modify, and/or distribute this software for any -purpose with or without fee is hereby granted. - -THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH -REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY -AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, -INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM -LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR -OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR -PERFORMANCE OF THIS SOFTWARE. - -util -MIT -Copyright Joyent, Inc. and other Node contributors. All rights reserved. -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. - - -which-typed-array -MIT -The MIT License (MIT) - -Copyright (c) 2015 Jordan Harband - -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/app-latest-build/Roboto-Regular.acbcb575c528bd7d.woff b/app-latest-build/Roboto-Regular.woff similarity index 100% rename from app-latest-build/Roboto-Regular.acbcb575c528bd7d.woff rename to app-latest-build/Roboto-Regular.woff diff --git a/app-latest-build/bpmn.5d33bee45f1fb468.eot b/app-latest-build/bpmn.eot similarity index 100% rename from app-latest-build/bpmn.5d33bee45f1fb468.eot rename to app-latest-build/bpmn.eot diff --git a/app-latest-build/bpmn.74eea12b52b25cb2.svg b/app-latest-build/bpmn.svg similarity index 100% rename from app-latest-build/bpmn.74eea12b52b25cb2.svg rename to app-latest-build/bpmn.svg diff --git a/app-latest-build/bpmn.b5c9250d7d4947c4.ttf b/app-latest-build/bpmn.ttf similarity index 100% rename from app-latest-build/bpmn.b5c9250d7d4947c4.ttf rename to app-latest-build/bpmn.ttf diff --git a/app-latest-build/bpmn.e9e7d07618d46ca6.woff b/app-latest-build/bpmn.woff similarity index 100% rename from app-latest-build/bpmn.e9e7d07618d46ca6.woff rename to app-latest-build/bpmn.woff diff --git a/app-latest-build/bpmn.67058807b4bcf238.woff2 b/app-latest-build/bpmn.woff2 similarity index 100% rename from app-latest-build/bpmn.67058807b4bcf238.woff2 rename to app-latest-build/bpmn.woff2 diff --git a/app-latest-build/index.html b/app-latest-build/index.html index fb8bbe9..20e23cc 100644 --- a/app-latest-build/index.html +++ b/app-latest-build/index.html @@ -1,16 +1,16 @@ - + - + egon.io - - - - - - - - + + + + + + + + - + diff --git a/app-latest-build/main.d5df234d7ebb5e8c.js b/app-latest-build/main.d5df234d7ebb5e8c.js deleted file mode 100644 index def75c7..0000000 --- a/app-latest-build/main.d5df234d7ebb5e8c.js +++ /dev/null @@ -1 +0,0 @@ -(self.webpackChunkegon=self.webpackChunkegon||[]).push([[179],{131:(ze,X,J)=>{"use strict";var B=J(876),le=J(685),Ee=le(B("String.prototype.indexOf"));ze.exports=function(ee,se){var ae=B(ee,!!se);return"function"==typeof ae&&Ee(ee,".prototype.")>-1?le(ae):ae}},685:(ze,X,J)=>{"use strict";var B=J(617),le=J(876),Ee=J(431),Re=le("%TypeError%"),ee=le("%Function.prototype.apply%"),se=le("%Function.prototype.call%"),ae=le("%Reflect.apply%",!0)||B.call(se,ee),ne=le("%Object.defineProperty%",!0),te=le("%Math.max%");if(ne)try{ne({},"a",{value:1})}catch{ne=null}ze.exports=function(Oe){if("function"!=typeof Oe)throw new Re("a function is required");var Ye=ae(B,se,arguments);return Ee(Ye,1+te(0,Oe.length-(arguments.length-1)),!0)};var De=function(){return ae(B,ee,arguments)};ne?ne(ze.exports,"apply",{value:De}):ze.exports.apply=De},298:function(ze){var X;X=typeof global<"u"?global:this,ze.exports=function(X){if(X.CSS&&X.CSS.escape)return X.CSS.escape;var J=function(B){if(0==arguments.length)throw new TypeError("`CSS.escape` requires an argument.");for(var ee,le=String(B),Ee=le.length,Re=-1,se="",ae=le.charCodeAt(0);++Re=1&&ee<=31||127==ee||0==Re&&ee>=48&&ee<=57||1==Re&&ee>=48&&ee<=57&&45==ae?"\\"+ee.toString(16)+" ":0==Re&&1==Ee&&45==ee||!(ee>=128||45==ee||95==ee||ee>=48&&ee<=57||ee>=65&&ee<=90||ee>=97&&ee<=122)?"\\"+le.charAt(Re):le.charAt(Re):se+="\ufffd";return se};return X.CSS||(X.CSS={}),X.CSS.escape=J,J}(X)},491:(ze,X,J)=>{"use strict";var B=J(65)(),le=J(876),Ee=B&&le("%Object.defineProperty%",!0);if(Ee)try{Ee({},"a",{value:1})}catch{Ee=!1}var Re=le("%SyntaxError%"),ee=le("%TypeError%"),se=J(108);ze.exports=function(ne,te,De){if(!ne||"object"!=typeof ne&&"function"!=typeof ne)throw new ee("`obj` must be an object or a function`");if("string"!=typeof te&&"symbol"!=typeof te)throw new ee("`property` must be a string or a symbol`");if(arguments.length>3&&"boolean"!=typeof arguments[3]&&null!==arguments[3])throw new ee("`nonEnumerable`, if provided, must be a boolean or null");if(arguments.length>4&&"boolean"!=typeof arguments[4]&&null!==arguments[4])throw new ee("`nonWritable`, if provided, must be a boolean or null");if(arguments.length>5&&"boolean"!=typeof arguments[5]&&null!==arguments[5])throw new ee("`nonConfigurable`, if provided, must be a boolean or null");if(arguments.length>6&&"boolean"!=typeof arguments[6])throw new ee("`loose`, if provided, must be a boolean");var Te=arguments.length>3?arguments[3]:null,Oe=arguments.length>4?arguments[4]:null,Ye=arguments.length>5?arguments[5]:null,Ue=arguments.length>6&&arguments[6],it=!!se&&se(ne,te);if(Ee)Ee(ne,te,{configurable:null===Ye&&it?it.configurable:!Ye,enumerable:null===Te&&it?it.enumerable:!Te,value:De,writable:null===Oe&&it?it.writable:!Oe});else{if(!Ue&&(Te||Oe||Ye))throw new Re("This environment does not support defining a property as non-configurable, non-writable, or non-enumerable.");ne[te]=De}}},625:(ze,X,J)=>{var B;!function(){"use strict";var Ee,le={name:"doT",version:"1.1.1",templateSettings:{evaluate:/\{\{([\s\S]+?(\}?)+)\}\}/g,interpolate:/\{\{=([\s\S]+?)\}\}/g,encode:/\{\{!([\s\S]+?)\}\}/g,use:/\{\{#([\s\S]+?)\}\}/g,useParams:/(^|[^\w$])def(?:\.|\[[\'\"])([\w$\.]+)(?:[\'\"]\])?\s*\:\s*([\w$\.]+|\"[^\"]+\"|\'[^\']+\'|\{[^\}]+\})/g,define:/\{\{##\s*([\w\.$]+)\s*(\:|=)([\s\S]+?)#\}\}/g,defineParams:/^\s*([\w$]+):([\s\S]+)/,conditional:/\{\{\?(\?)?\s*([\s\S]*?)\s*\}\}/g,iterate:/\{\{~\s*(?:\}\}|([\s\S]+?)\s*\:\s*([\w$]+)\s*(?:\:\s*([\w$]+))?\s*\}\})/g,varname:"it",strip:!0,append:!0,selfcontained:!1,doNotSkipEncoded:!1},template:void 0,compile:void 0,log:!0,encodeHTMLSource:function(ne){var te={"&":"&","<":"<",">":">",'"':""","'":"'","/":"/"},De=ne?/[&<>"'\/]/g:/&(?!#?\w+;)|<|>|"|'|\//g;return function(Te){return Te?Te.toString().replace(De,function(Oe){return te[Oe]||Oe}):""}}};Ee=function(){return this||(0,eval)("this")}(),ze.exports?ze.exports=le:void 0!==(B=function(){return le}.call(X,J,X,ze))&&(ze.exports=B);var Re={append:{start:"'+(",end:")+'",startencode:"'+encodeHTML("},split:{start:"';out+=(",end:");out+='",startencode:"';out+=encodeHTML("}},ee=/$^/;function se(ne,te,De){return("string"==typeof te?te:te.toString()).replace(ne.define||ee,function(Te,Oe,Ye,Ue){return 0===Oe.indexOf("def.")&&(Oe=Oe.substring(4)),Oe in De||(":"===Ye?(ne.defineParams&&Ue.replace(ne.defineParams,function(it,Qe,Ke){De[Oe]={arg:Qe,text:Ke}}),Oe in De||(De[Oe]=Ue)):new Function("def","def['"+Oe+"']="+Ue)(De)),""}).replace(ne.use||ee,function(Te,Oe){ne.useParams&&(Oe=Oe.replace(ne.useParams,function(Ue,it,Qe,Ke){if(De[Qe]&&De[Qe].arg&&Ke){var Fe=(Qe+":"+Ke).replace(/'|\\/g,"_");return De.__exp=De.__exp||{},De.__exp[Fe]=De[Qe].text.replace(new RegExp("(^|[^\\w$])"+De[Qe].arg+"([^\\w$])","g"),"$1"+Ke+"$2"),it+"def.__exp['"+Fe+"']"}}));var Ye=new Function("def","return "+Oe)(De);return Ye&&se(ne,Ye,De)})}function ae(ne){return ne.replace(/\\('|\\)/g,"$1").replace(/[\r\t\n]/g," ")}le.template=function(ne,te,De){var Oe,Ue,Te=(te=te||le.templateSettings).append?Re.append:Re.split,Ye=0,it=te.use||te.define?se(te,ne,De||{}):ne;it=("var out='"+(te.strip?it.replace(/(^|\r|\n)\t* +| +\t*(\r|\n|$)/g," ").replace(/\r|\n|\t|\/\*[\s\S]*?\*\//g,""):it).replace(/'|\\/g,"\\$&").replace(te.interpolate||ee,function(Qe,Ke){return Te.start+ae(Ke)+Te.end}).replace(te.encode||ee,function(Qe,Ke){return Oe=!0,Te.startencode+ae(Ke)+Te.end}).replace(te.conditional||ee,function(Qe,Ke,Fe){return Ke?Fe?"';}else if("+ae(Fe)+"){out+='":"';}else{out+='":Fe?"';if("+ae(Fe)+"){out+='":"';}out+='"}).replace(te.iterate||ee,function(Qe,Ke,Fe,nt){return Ke?(Ye+=1,Ue=nt||"i"+Ye,Ke=ae(Ke),"';var arr"+Ye+"="+Ke+";if(arr"+Ye+"){var "+Fe+","+Ue+"=-1,l"+Ye+"=arr"+Ye+".length-1;while("+Ue+"{"use strict";var B=J(331),le=Object.prototype.toString,Ee=Object.prototype.hasOwnProperty;ze.exports=function(te,De,Te){if(!B(De))throw new TypeError("iterator must be a function");var Oe;arguments.length>=3&&(Oe=Te),"[object Array]"===le.call(te)?function(te,De,Te){for(var Oe=0,Ye=te.length;Oe{"use strict";var J=Object.prototype.toString,B=Math.max,Ee=function(ae,ne){for(var te=[],De=0;De{"use strict";var B=J(222);ze.exports=Function.prototype.bind||B},876:(ze,X,J)=>{"use strict";var B,le=SyntaxError,Ee=Function,Re=TypeError,ee=function(dn){try{return Ee('"use strict"; return ('+dn+").constructor;")()}catch{}},se=Object.getOwnPropertyDescriptor;if(se)try{se({},"")}catch{se=null}var ae=function(){throw new Re},ne=se?function(){try{return ae}catch{try{return se(arguments,"callee").get}catch{return ae}}}():ae,te=J(939)(),De=J(315)(),Te=Object.getPrototypeOf||(De?function(dn){return dn.__proto__}:null),Oe={},Ye=typeof Uint8Array>"u"||!Te?B:Te(Uint8Array),Ue={"%AggregateError%":typeof AggregateError>"u"?B:AggregateError,"%Array%":Array,"%ArrayBuffer%":typeof ArrayBuffer>"u"?B:ArrayBuffer,"%ArrayIteratorPrototype%":te&&Te?Te([][Symbol.iterator]()):B,"%AsyncFromSyncIteratorPrototype%":B,"%AsyncFunction%":Oe,"%AsyncGenerator%":Oe,"%AsyncGeneratorFunction%":Oe,"%AsyncIteratorPrototype%":Oe,"%Atomics%":typeof Atomics>"u"?B:Atomics,"%BigInt%":typeof BigInt>"u"?B:BigInt,"%BigInt64Array%":typeof BigInt64Array>"u"?B:BigInt64Array,"%BigUint64Array%":typeof BigUint64Array>"u"?B:BigUint64Array,"%Boolean%":Boolean,"%DataView%":typeof DataView>"u"?B:DataView,"%Date%":Date,"%decodeURI%":decodeURI,"%decodeURIComponent%":decodeURIComponent,"%encodeURI%":encodeURI,"%encodeURIComponent%":encodeURIComponent,"%Error%":Error,"%eval%":eval,"%EvalError%":EvalError,"%Float32Array%":typeof Float32Array>"u"?B:Float32Array,"%Float64Array%":typeof Float64Array>"u"?B:Float64Array,"%FinalizationRegistry%":typeof FinalizationRegistry>"u"?B:FinalizationRegistry,"%Function%":Ee,"%GeneratorFunction%":Oe,"%Int8Array%":typeof Int8Array>"u"?B:Int8Array,"%Int16Array%":typeof Int16Array>"u"?B:Int16Array,"%Int32Array%":typeof Int32Array>"u"?B:Int32Array,"%isFinite%":isFinite,"%isNaN%":isNaN,"%IteratorPrototype%":te&&Te?Te(Te([][Symbol.iterator]())):B,"%JSON%":"object"==typeof JSON?JSON:B,"%Map%":typeof Map>"u"?B:Map,"%MapIteratorPrototype%":typeof Map>"u"||!te||!Te?B:Te((new Map)[Symbol.iterator]()),"%Math%":Math,"%Number%":Number,"%Object%":Object,"%parseFloat%":parseFloat,"%parseInt%":parseInt,"%Promise%":typeof Promise>"u"?B:Promise,"%Proxy%":typeof Proxy>"u"?B:Proxy,"%RangeError%":RangeError,"%ReferenceError%":ReferenceError,"%Reflect%":typeof Reflect>"u"?B:Reflect,"%RegExp%":RegExp,"%Set%":typeof Set>"u"?B:Set,"%SetIteratorPrototype%":typeof Set>"u"||!te||!Te?B:Te((new Set)[Symbol.iterator]()),"%SharedArrayBuffer%":typeof SharedArrayBuffer>"u"?B:SharedArrayBuffer,"%String%":String,"%StringIteratorPrototype%":te&&Te?Te(""[Symbol.iterator]()):B,"%Symbol%":te?Symbol:B,"%SyntaxError%":le,"%ThrowTypeError%":ne,"%TypedArray%":Ye,"%TypeError%":Re,"%Uint8Array%":typeof Uint8Array>"u"?B:Uint8Array,"%Uint8ClampedArray%":typeof Uint8ClampedArray>"u"?B:Uint8ClampedArray,"%Uint16Array%":typeof Uint16Array>"u"?B:Uint16Array,"%Uint32Array%":typeof Uint32Array>"u"?B:Uint32Array,"%URIError%":URIError,"%WeakMap%":typeof WeakMap>"u"?B:WeakMap,"%WeakRef%":typeof WeakRef>"u"?B:WeakRef,"%WeakSet%":typeof WeakSet>"u"?B:WeakSet};if(Te)try{null.error}catch(dn){var it=Te(Te(dn));Ue["%Error.prototype%"]=it}var Qe=function dn(Ot){var nn;if("%AsyncFunction%"===Ot)nn=ee("async function () {}");else if("%GeneratorFunction%"===Ot)nn=ee("function* () {}");else if("%AsyncGeneratorFunction%"===Ot)nn=ee("async function* () {}");else if("%AsyncGenerator%"===Ot){var Gt=dn("%AsyncGeneratorFunction%");Gt&&(nn=Gt.prototype)}else if("%AsyncIteratorPrototype%"===Ot){var pt=dn("%AsyncGenerator%");pt&&Te&&(nn=Te(pt.prototype))}return Ue[Ot]=nn,nn},Ke={"%ArrayBufferPrototype%":["ArrayBuffer","prototype"],"%ArrayPrototype%":["Array","prototype"],"%ArrayProto_entries%":["Array","prototype","entries"],"%ArrayProto_forEach%":["Array","prototype","forEach"],"%ArrayProto_keys%":["Array","prototype","keys"],"%ArrayProto_values%":["Array","prototype","values"],"%AsyncFunctionPrototype%":["AsyncFunction","prototype"],"%AsyncGenerator%":["AsyncGeneratorFunction","prototype"],"%AsyncGeneratorPrototype%":["AsyncGeneratorFunction","prototype","prototype"],"%BooleanPrototype%":["Boolean","prototype"],"%DataViewPrototype%":["DataView","prototype"],"%DatePrototype%":["Date","prototype"],"%ErrorPrototype%":["Error","prototype"],"%EvalErrorPrototype%":["EvalError","prototype"],"%Float32ArrayPrototype%":["Float32Array","prototype"],"%Float64ArrayPrototype%":["Float64Array","prototype"],"%FunctionPrototype%":["Function","prototype"],"%Generator%":["GeneratorFunction","prototype"],"%GeneratorPrototype%":["GeneratorFunction","prototype","prototype"],"%Int8ArrayPrototype%":["Int8Array","prototype"],"%Int16ArrayPrototype%":["Int16Array","prototype"],"%Int32ArrayPrototype%":["Int32Array","prototype"],"%JSONParse%":["JSON","parse"],"%JSONStringify%":["JSON","stringify"],"%MapPrototype%":["Map","prototype"],"%NumberPrototype%":["Number","prototype"],"%ObjectPrototype%":["Object","prototype"],"%ObjProto_toString%":["Object","prototype","toString"],"%ObjProto_valueOf%":["Object","prototype","valueOf"],"%PromisePrototype%":["Promise","prototype"],"%PromiseProto_then%":["Promise","prototype","then"],"%Promise_all%":["Promise","all"],"%Promise_reject%":["Promise","reject"],"%Promise_resolve%":["Promise","resolve"],"%RangeErrorPrototype%":["RangeError","prototype"],"%ReferenceErrorPrototype%":["ReferenceError","prototype"],"%RegExpPrototype%":["RegExp","prototype"],"%SetPrototype%":["Set","prototype"],"%SharedArrayBufferPrototype%":["SharedArrayBuffer","prototype"],"%StringPrototype%":["String","prototype"],"%SymbolPrototype%":["Symbol","prototype"],"%SyntaxErrorPrototype%":["SyntaxError","prototype"],"%TypedArrayPrototype%":["TypedArray","prototype"],"%TypeErrorPrototype%":["TypeError","prototype"],"%Uint8ArrayPrototype%":["Uint8Array","prototype"],"%Uint8ClampedArrayPrototype%":["Uint8ClampedArray","prototype"],"%Uint16ArrayPrototype%":["Uint16Array","prototype"],"%Uint32ArrayPrototype%":["Uint32Array","prototype"],"%URIErrorPrototype%":["URIError","prototype"],"%WeakMapPrototype%":["WeakMap","prototype"],"%WeakSetPrototype%":["WeakSet","prototype"]},Fe=J(617),nt=J(926),Pn=Fe.call(Function.call,Array.prototype.concat),Gn=Fe.call(Function.apply,Array.prototype.splice),Ci=Fe.call(Function.call,String.prototype.replace),Si=Fe.call(Function.call,String.prototype.slice),Nn=Fe.call(Function.call,RegExp.prototype.exec),vi=/[^%.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|%$))/g,Fn=/\\(\\)?/g,Wn=function(Ot,nn){var pt,Gt=Ot;if(nt(Ke,Gt)&&(Gt="%"+(pt=Ke[Gt])[0]+"%"),nt(Ue,Gt)){var zn=Ue[Gt];if(zn===Oe&&(zn=Qe(Gt)),typeof zn>"u"&&!nn)throw new Re("intrinsic "+Ot+" exists, but is not available. Please file an issue!");return{alias:pt,name:Gt,value:zn}}throw new le("intrinsic "+Ot+" does not exist!")};ze.exports=function(Ot,nn){if("string"!=typeof Ot||0===Ot.length)throw new Re("intrinsic name must be a non-empty string");if(arguments.length>1&&"boolean"!=typeof nn)throw new Re('"allowMissing" argument must be a boolean');if(null===Nn(/^%?[^%]*%?$/,Ot))throw new le("`%` may not be present anywhere but at the beginning and end of the intrinsic name");var Gt=function(Ot){var nn=Si(Ot,0,1),Gt=Si(Ot,-1);if("%"===nn&&"%"!==Gt)throw new le("invalid intrinsic syntax, expected closing `%`");if("%"===Gt&&"%"!==nn)throw new le("invalid intrinsic syntax, expected opening `%`");var pt=[];return Ci(Ot,vi,function(zn,Di,H,ie){pt[pt.length]=H?Ci(ie,Fn,"$1"):Di||zn}),pt}(Ot),pt=Gt.length>0?Gt[0]:"",zn=Wn("%"+pt+"%",nn),Di=zn.name,H=zn.value,ie=!1,Y=zn.alias;Y&&(pt=Y[0],Gn(Gt,Pn([0,1],Y)));for(var M=1,U=!0;M=Gt.length){var ce=se(H,G);H=(U=!!ce)&&"get"in ce&&!("originalValue"in ce.get)?ce.get:H[G]}else U=nt(H,G),H=H[G];U&&!ie&&(Ue[Di]=H)}}return H}},108:(ze,X,J)=>{"use strict";var le=J(876)("%Object.getOwnPropertyDescriptor%",!0);if(le)try{le([],"length")}catch{le=null}ze.exports=le},490:(ze,X,J)=>{var B;!function(le,Ee,Re,ee){"use strict";var Qe,se=["","webkit","Moz","MS","ms","o"],ae=Ee.createElement("div"),ne="function",te=Math.round,De=Math.abs,Te=Date.now;function Oe(y,w,O){return setTimeout(Pn(y,O),w)}function Ye(y,w,O){return!!Array.isArray(y)&&(Ue(y,O[w],O),!0)}function Ue(y,w,O){var K;if(y)if(y.forEach)y.forEach(w,O);else if(y.length!==ee)for(K=0;K\s*\(/gm,"{anonymous}()@"):"Unknown Stack Trace",q=le.console&&(le.console.warn||le.console.log);return q&&q.call(le.console,K,We),y.apply(this,arguments)}}Qe="function"!=typeof Object.assign?function(w){if(w===ee||null===w)throw new TypeError("Cannot convert undefined or null to object");for(var O=Object(w),K=1;K-1}function _i(y){return y.trim().split(/\s+/g)}function Wn(y,w,O){if(y.indexOf&&!O)return y.indexOf(w);for(var K=0;Kwt[w]}):K.sort()),K}function nn(y,w){for(var O,K,xe=w[0].toUpperCase()+w.slice(1),We=0;We1&&!O.firstMultiple?O.firstMultiple=hl(w):1===xe&&(O.firstMultiple=!1);var We=O.firstInput,q=O.firstMultiple,Yn=q?q.center:We.center,Je=w.center=Sr(K);w.timeStamp=Te(),w.deltaTime=w.timeStamp-We.timeStamp,w.angle=gs(Yn,Je),w.distance=Aa(Yn,Je),function Su(y,w){var O=w.center,K=y.offsetDelta||{},xe=y.prevDelta||{},We=y.prevInput||{};(w.eventType===ce||We.eventType===me)&&(xe=y.prevDelta={x:We.deltaX||0,y:We.deltaY||0},K=y.offsetDelta={x:O.x,y:O.y}),w.deltaX=xe.x+(O.x-K.x),w.deltaY=xe.y+(O.y-K.y)}(O,w),w.offsetDirection=fl(w.deltaX,w.deltaY);var wt=cc(w.deltaTime,w.deltaX,w.deltaY);w.overallVelocityX=wt.x,w.overallVelocityY=wt.y,w.overallVelocity=De(wt.x)>De(wt.y)?wt.x:wt.y,w.scale=q?function ml(y,w){return Aa(w[0],w[1],Bt)/Aa(y[0],y[1],Bt)}(q.pointers,K):1,w.rotation=q?function pl(y,w){return gs(w[1],w[0],Bt)+gs(y[1],y[0],Bt)}(q.pointers,K):0,w.maxPointers=O.prevInput?w.pointers.length>O.prevInput.maxPointers?w.pointers.length:O.prevInput.maxPointers:w.pointers.length,function Du(y,w){var xe,We,q,Yn,O=y.lastInterval||w,K=w.timeStamp-O.timeStamp;if(w.eventType!=Ie&&(K>ke||O.velocity===ee)){var Je=w.deltaX-O.deltaX,wt=w.deltaY-O.deltaY,Zr=cc(K,Je,wt);We=Zr.x,q=Zr.y,xe=De(Zr.x)>De(Zr.y)?Zr.x:Zr.y,Yn=fl(Je,wt),y.lastInterval=w}else xe=O.velocity,We=O.velocityX,q=O.velocityY,Yn=O.direction;w.velocity=xe,w.velocityX=We,w.velocityY=q,w.direction=Yn}(O,w);var Zr=y.element;vi(w.srcEvent.target,Zr)&&(Zr=w.srcEvent.target),w.target=Zr}(y,O),y.emit("hammer.input",O),y.recognize(O),y.session.prevInput=O}function hl(y){for(var w=[],O=0;O=De(w)?y<0?he:_e:w<0?ft:xt}function Aa(y,w,O){O||(O=En);var K=w[O[0]]-y[O[0]],xe=w[O[1]]-y[O[1]];return Math.sqrt(K*K+xe*xe)}function gs(y,w,O){return O||(O=En),180*Math.atan2(w[O[1]]-y[O[1]],w[O[0]]-y[O[0]])/Math.PI}an.prototype={handler:function(){},init:function(){this.evEl&&Si(this.element,this.evEl,this.domHandler),this.evTarget&&Si(this.target,this.evTarget,this.domHandler),this.evWin&&Si(zn(this.element),this.evWin,this.domHandler)},destroy:function(){this.evEl&&Nn(this.element,this.evEl,this.domHandler),this.evTarget&&Nn(this.target,this.evTarget,this.domHandler),this.evWin&&Nn(zn(this.element),this.evWin,this.domHandler)}};var gl={mousedown:ce,mousemove:2,mouseup:me},Qo="mousedown",vl="mousemove mouseup";function Ma(){this.evEl=Qo,this.evWin=vl,this.pressed=!1,an.apply(this,arguments)}nt(Ma,an,{handler:function(w){var O=gl[w.type];O&ce&&0===w.button&&(this.pressed=!0),2&O&&1!==w.which&&(O=me),this.pressed&&(O&me&&(this.pressed=!1),this.callback(this.manager,O,{pointers:[w],changedPointers:[w],pointerType:G,srcEvent:w}))}});var _l={pointerdown:ce,pointermove:2,pointerup:me,pointercancel:Ie,pointerout:Ie},qr={2:M,3:"pen",4:G,5:"kinect"},yl="pointerdown",bl="pointermove pointerup pointercancel";function Jo(){this.evEl=yl,this.evWin=bl,an.apply(this,arguments),this.store=this.manager.session.pointerEvents=[]}le.MSPointerEvent&&!le.PointerEvent&&(yl="MSPointerDown",bl="MSPointerMove MSPointerUp MSPointerCancel"),nt(Jo,an,{handler:function(w){var O=this.store,K=!1,xe=w.type.toLowerCase().replace("ms",""),We=_l[xe],q=qr[w.pointerType]||w.pointerType,Yn=q==M,Je=Wn(O,w.pointerId,"pointerId");We&ce&&(0===w.button||Yn)?Je<0&&(O.push(w),Je=O.length-1):We&(me|Ie)&&(K=!0),!(Je<0)&&(O[Je]=w,this.callback(this.manager,We,{pointers:O,changedPointers:[w],pointerType:q,srcEvent:w}),K&&O.splice(Je,1))}});var Ia={touchstart:ce,touchmove:2,touchend:me,touchcancel:Ie};function ku(){this.evTarget="touchstart",this.evWin="touchstart touchmove touchend touchcancel",this.started=!1,an.apply(this,arguments)}function Ty(y,w){var O=dn(y.touches),K=dn(y.changedTouches);return w&(me|Ie)&&(O=Ot(O.concat(K),"identifier",!0)),[O,K]}nt(ku,an,{handler:function(w){var O=Ia[w.type];if(O===ce&&(this.started=!0),this.started){var K=Ty.call(this,w,O);O&(me|Ie)&&K[0].length-K[1].length==0&&(this.started=!1),this.callback(this.manager,O,{pointers:K[0],changedPointers:K[1],pointerType:M,srcEvent:w})}}});var Sp={touchstart:ce,touchmove:2,touchend:me,touchcancel:Ie},Dp="touchstart touchmove touchend touchcancel";function lc(){this.evTarget=Dp,this.targetIds={},an.apply(this,arguments)}function kp(y,w){var O=dn(y.touches),K=this.targetIds;if(w&(2|ce)&&1===O.length)return K[O[0].identifier]=!0,[O,O];var xe,We,q=dn(y.changedTouches),Yn=[],Je=this.target;if(We=O.filter(function(wt){return vi(wt.target,Je)}),w===ce)for(xe=0;xe-1&&K.splice(We,1)},ji)}}function Mp(y){for(var w=y.srcEvent.clientX,O=y.srcEvent.clientY,K=0;K-1&&this.requireFail.splice(w,1),this},hasRequireFailures:function(){return this.requireFail.length>0},canRecognizeWith:function(y){return!!this.simultaneous[y.id]},emit:function(y){var w=this,O=this.state;function K(xe){w.manager.emit(xe,y)}O<8&&K(w.options.event+Mu(O)),K(w.options.event),y.additionalEvent&&K(y.additionalEvent),O>=8&&K(w.options.event+Mu(O))},tryEmit:function(y){if(this.canEmit())return this.emit(y);this.state=32},canEmit:function(){for(var y=0;yw.threshold&&xe&w.direction},attrTest:function(y){return ki.prototype.attrTest.call(this,y)&&(2&this.state||!(2&this.state)&&this.directionTest(y))},emit:function(y){this.pX=y.deltaX,this.pY=y.deltaY;var w=Np(y.direction);w&&(y.additionalEvent=this.options.event+w),this._super.emit.call(this,y)}}),nt(Qt,ki,{defaults:{event:"pinch",threshold:0,pointers:2},getTouchAction:function(){return[ea]},attrTest:function(y){return this._super.attrTest.call(this,y)&&(Math.abs(y.scale-1)>this.options.threshold||2&this.state)},emit:function(y){1!==y.scale&&(y.additionalEvent=this.options.event+(y.scale<1?"in":"out")),this._super.emit.call(this,y)}}),nt(vs,ko,{defaults:{event:"press",pointers:1,time:251,threshold:9},getTouchAction:function(){return["auto"]},process:function(y){var w=this.options,O=y.pointers.length===w.pointers,K=y.distancew.time;if(this._input=y,!K||!O||y.eventType&(me|Ie)&&!xe)this.reset();else if(y.eventType&ce)this.reset(),this._timer=Oe(function(){this.state=8,this.tryEmit()},w.time,this);else if(y.eventType&me)return 8;return 32},reset:function(){clearTimeout(this._timer)},emit:function(y){8===this.state&&(y&&y.eventType&me?this.manager.emit(this.options.event+"up",y):(this._input.timeStamp=Te(),this.manager.emit(this.options.event,this._input)))}}),nt(hc,ki,{defaults:{event:"rotate",threshold:0,pointers:2},getTouchAction:function(){return[ea]},attrTest:function(y){return this._super.attrTest.call(this,y)&&(Math.abs(y.rotation)>this.options.threshold||2&this.state)}}),nt(fc,ki,{defaults:{event:"swipe",threshold:10,velocity:.3,direction:Nt|_n,pointers:1},getTouchAction:function(){return To.prototype.getTouchAction.call(this)},attrTest:function(y){var O,w=this.options.direction;return w&(Nt|_n)?O=y.overallVelocity:w&Nt?O=y.overallVelocityX:w&_n&&(O=y.overallVelocityY),this._super.attrTest.call(this,y)&&w&y.offsetDirection&&y.distance>this.options.threshold&&y.maxPointers==this.options.pointers&&De(O)>this.options.velocity&&y.eventType&me},emit:function(y){var w=Np(y.offsetDirection);w&&this.manager.emit(this.options.event+w,y),this.manager.emit(this.options.event,y)}}),nt(kl,ko,{defaults:{event:"tap",pointers:1,taps:1,interval:300,time:250,threshold:9,posThreshold:10},getTouchAction:function(){return[dc]},process:function(y){var w=this.options,O=y.pointers.length===w.pointers,K=y.distance{"use strict";var le=J(876)("%Object.defineProperty%",!0),Ee=function(){if(le)try{return le({},"a",{value:1}),!0}catch{return!1}return!1};Ee.hasArrayLengthDefineBug=function(){if(!Ee())return null;try{return 1!==le([],"length",{value:1}).length}catch{return!0}},ze.exports=Ee},315:ze=>{"use strict";var X={foo:{}},J=Object;ze.exports=function(){return{__proto__:X}.foo===X.foo&&!({__proto__:null}instanceof J)}},939:(ze,X,J)=>{"use strict";var B=typeof Symbol<"u"&&Symbol,le=J(324);ze.exports=function(){return"function"==typeof B&&"function"==typeof Symbol&&"symbol"==typeof B("foo")&&"symbol"==typeof Symbol("bar")&&le()}},324:ze=>{"use strict";ze.exports=function(){if("function"!=typeof Symbol||"function"!=typeof Object.getOwnPropertySymbols)return!1;if("symbol"==typeof Symbol.iterator)return!0;var J={},B=Symbol("test"),le=Object(B);if("string"==typeof B||"[object Symbol]"!==Object.prototype.toString.call(B)||"[object Symbol]"!==Object.prototype.toString.call(le))return!1;for(B in J[B]=42,J)return!1;if("function"==typeof Object.keys&&0!==Object.keys(J).length||"function"==typeof Object.getOwnPropertyNames&&0!==Object.getOwnPropertyNames(J).length)return!1;var Re=Object.getOwnPropertySymbols(J);if(1!==Re.length||Re[0]!==B||!Object.prototype.propertyIsEnumerable.call(J,B))return!1;if("function"==typeof Object.getOwnPropertyDescriptor){var ee=Object.getOwnPropertyDescriptor(J,B);if(42!==ee.value||!0!==ee.enumerable)return!1}return!0}},72:(ze,X,J)=>{"use strict";var B=J(324);ze.exports=function(){return B()&&!!Symbol.toStringTag}},926:(ze,X,J)=>{"use strict";var B=Function.prototype.call,le=Object.prototype.hasOwnProperty,Ee=J(617);ze.exports=Ee.call(B,le)},767:ze=>{ze.exports="function"==typeof Object.create?function(J,B){B&&(J.super_=B,J.prototype=Object.create(B.prototype,{constructor:{value:J,enumerable:!1,writable:!0,configurable:!0}}))}:function(J,B){if(B){J.super_=B;var le=function(){};le.prototype=B.prototype,J.prototype=new le,J.prototype.constructor=J}}},22:(ze,X,J)=>{"use strict";var B=J(72)(),Ee=J(131)("Object.prototype.toString"),Re=function(ne){return!(B&&ne&&"object"==typeof ne&&Symbol.toStringTag in ne)&&"[object Arguments]"===Ee(ne)},ee=function(ne){return!!Re(ne)||null!==ne&&"object"==typeof ne&&"number"==typeof ne.length&&ne.length>=0&&"[object Array]"!==Ee(ne)&&"[object Function]"===Ee(ne.callee)},se=function(){return Re(arguments)}();Re.isLegacyArguments=ee,ze.exports=se?Re:ee},331:ze=>{"use strict";var B,le,X=Function.prototype.toString,J="object"==typeof Reflect&&null!==Reflect&&Reflect.apply;if("function"==typeof J&&"function"==typeof Object.defineProperty)try{B=Object.defineProperty({},"length",{get:function(){throw le}}),le={},J(function(){throw 42},null,B)}catch(Ke){Ke!==le&&(J=null)}else J=null;var Ee=/^\s*class\b/,Re=function(Fe){try{var nt=X.call(Fe);return Ee.test(nt)}catch{return!1}},ee=function(Fe){try{return!Re(Fe)&&(X.call(Fe),!0)}catch{return!1}},se=Object.prototype.toString,Ye="function"==typeof Symbol&&!!Symbol.toStringTag,Ue=!(0 in[,]),it=function(){return!1};if("object"==typeof document){var Qe=document.all;se.call(Qe)===se.call(document.all)&&(it=function(Fe){if((Ue||!Fe)&&(typeof Fe>"u"||"object"==typeof Fe))try{var nt=se.call(Fe);return("[object HTMLAllCollection]"===nt||"[object HTML document.all class]"===nt||"[object HTMLCollection]"===nt||"[object Object]"===nt)&&null==Fe("")}catch{}return!1})}ze.exports=J?function(Fe){if(it(Fe))return!0;if(!Fe||"function"!=typeof Fe&&"object"!=typeof Fe)return!1;try{J(Fe,null,B)}catch(nt){if(nt!==le)return!1}return!Re(Fe)&&ee(Fe)}:function(Fe){if(it(Fe))return!0;if(!Fe||"function"!=typeof Fe&&"object"!=typeof Fe)return!1;if(Ye)return ee(Fe);if(Re(Fe))return!1;var nt=se.call(Fe);return!("[object Function]"!==nt&&"[object GeneratorFunction]"!==nt&&!/^\[object HTML/.test(nt))&&ee(Fe)}},605:(ze,X,J)=>{"use strict";var ae,B=Object.prototype.toString,le=Function.prototype.toString,Ee=/^\s*(?:function)?\*/,Re=J(72)(),ee=Object.getPrototypeOf;ze.exports=function(te){if("function"!=typeof te)return!1;if(Ee.test(le.call(te)))return!0;if(!Re)return"[object GeneratorFunction]"===B.call(te);if(!ee)return!1;if(typeof ae>"u"){var Te=function(){if(!Re)return!1;try{return Function("return function*() {}")()}catch{}}();ae=!!Te&&ee(Te)}return ee(te)===ae}},540:(ze,X,J)=>{"use strict";var B=J(63);ze.exports=function(Ee){return!!B(Ee)}},235:(ze,X,J)=>{ze.exports=J(639),ze.exports.Collection=J(933)},933:ze=>{"use strict";ze.exports.extend=function X(B,le,Ee,Re){var ee=Ee.inverse;return Object.defineProperty(B,"remove",{value:function(se){var ae=this.indexOf(se);return-1!==ae&&(this.splice(ae,1),le.unset(se,ee,Re)),se}}),Object.defineProperty(B,"contains",{value:function(se){return-1!==this.indexOf(se)}}),Object.defineProperty(B,"add",{value:function(se,ae){var ne=this.indexOf(se);if(typeof ae>"u"){if(-1!==ne)return;ae=this.length}-1!==ne&&this.splice(ne,1),this.splice(ae,0,se),-1===ne&&le.set(se,ee,Re)}}),Object.defineProperty(B,"__refs_collection",{value:!0}),B},ze.exports.isExtended=function J(B){return!0===B.__refs_collection}},639:(ze,X,J)=>{"use strict";var B=J(933);function Ee(se,ae,ne){var te=B.extend(ne[ae.name]||[],se,ae,ne);Object.defineProperty(ne,ae.name,{enumerable:ae.enumerable,value:te}),te.length&&te.forEach(function(De){se.set(De,ae.inverse,ne)})}function ee(se,ae){if(!(this instanceof ee))return new ee(se,ae);se.inverse=ae,ae.inverse=se,this.props={},this.props[se.name]=se,this.props[ae.name]=ae}ee.prototype.bind=function(se,ae){if("string"==typeof ae){if(!this.props[ae])throw new Error("no property <"+ae+"> in ref");ae=this.props[ae]}ae.collection?Ee(this,ae,se):function Re(se,ae,ne){var te=ae.inverse,De=ne[ae.name];Object.defineProperty(ne,ae.name,{configurable:ae.configurable,enumerable:ae.enumerable,get:function(){return De},set:function(Te){if(Te!==De){var Oe=De;De=null,Oe&&se.unset(Oe,te,ne),se.set(De=Te,te,ne)}}})}(this,ae,se)},ee.prototype.ensureRefsCollection=function(se,ae){var ne=se[ae.name];return B.isExtended(ne)||Ee(this,ae,se),ne},ee.prototype.ensureBound=function(se,ae){(function le(se,ae){return Object.prototype.hasOwnProperty.call(se,ae.name||ae)})(se,ae)||this.bind(se,ae)},ee.prototype.unset=function(se,ae,ne){se&&(this.ensureBound(se,ae),ae.collection?this.ensureRefsCollection(se,ae).remove(ne):se[ae.name]=void 0)},ee.prototype.set=function(se,ae,ne){se&&(this.ensureBound(se,ae),ae.collection?this.ensureRefsCollection(se,ae).add(ne):se[ae.name]=ne)},ze.exports=ee},641:ze=>{"use strict";var X=/,?([a-z]),?/gi,J=parseFloat,B=Math,le=B.PI,Ee=B.min,Re=B.max,ee=B.pow,se=B.abs,ae=/([a-z])[\s,]*((-?\d*\.?\d*(?:e[-+]?\d+)?[\s]*,?[\s]*)+)/gi,ne=/(-?\d*\.?\d*(?:e[-+]?\d+)?)[\s]*,?[\s]*/gi,te=Array.isArray||function(H){return H instanceof Array};function De(H,ie){return Object.prototype.hasOwnProperty.call(H,ie)}function Te(H){if("function"==typeof H||Object(H)!==H)return H;var ie=new H.constructor;for(var Y in H)De(H,Y)&&(ie[Y]=Te(H[Y]));return ie}function it(H){var ie=it.ps=it.ps||{};return ie[H]?ie[H].sleep=100:ie[H]={sleep:100},setTimeout(function(){for(var Y in ie)De(ie,Y)&&Y!=H&&(ie[Y].sleep--,!ie[Y].sleep&&delete ie[Y])}),ie[H]}function Qe(H,ie,Y,M){return 1===arguments.length&&(ie=H.y,Y=H.width,M=H.height,H=H.x),{x:H,y:ie,width:Y,height:M,x2:H+Y,y2:ie+M}}function Ke(){return this.join(",").replace(X,"$1")}function Fe(H){var ie=Te(H);return ie.toString=Ke,ie}function nt(H,ie,Y,M,U,G,ue,ke,ce){var re=1-ce,me=ee(re,3),Ie=ee(re,2),he=ce*ce*ce,ft=me*ie+3*Ie*ce*M+3*re*ce*ce*G+he*ke;return{x:Fn(me*H+3*Ie*ce*Y+3*re*ce*ce*U+he*ue),y:Fn(ft)}}function Pn(H){var ie=zn.apply(null,H);return Qe(ie.x0,ie.y0,ie.x1-ie.x0,ie.y1-ie.y0)}function Gn(H,ie,Y){return ie>=H.x&&ie<=H.x+H.width&&Y>=H.y&&Y<=H.y+H.height}function Si(H,ie,Y,M,U){return H*(H*(-3*ie+9*Y-9*M+3*U)+6*ie-12*Y+6*M)-3*ie+3*Y}function Nn(H,ie,Y,M,U,G,ue,ke,ce){null==ce&&(ce=1);for(var re=(ce=ce>1?1:ce<0?0:ce)/2,Ie=[-.1252,.1252,-.3678,.3678,-.5873,.5873,-.7699,.7699,-.9041,.9041,-.9816,.9816],tt=[.2491,.2491,.2335,.2335,.2032,.2032,.1601,.1601,.1069,.1069,.0472,.0472],he=0,_e=0;_e<12;_e++){var ft=re*Ie[_e]+re,xt=Si(ft,H,Y,U,ue),Nt=Si(ft,ie,M,G,ke);he+=tt[_e]*B.sqrt(xt*xt+Nt*Nt)}return re*he}function vi(H,ie,Y,M,U,G,ue,ke){if(!(Re(H,Y)Re(U,ue)||Re(ie,M)Re(G,ke))){var re=(H*M-ie*Y)*(G-ke)-(ie-M)*(U*ke-G*ue),me=(H-Y)*(G-ke)-(ie-M)*(U-ue);if(me){var Ie=Fn(((H*M-ie*Y)*(U-ue)-(H-Y)*(U*ke-G*ue))/me),tt=Fn(re/me),he=+Ie.toFixed(2),_e=+tt.toFixed(2);if(!(he<+Ee(H,Y).toFixed(2)||he>+Re(H,Y).toFixed(2)||he<+Ee(U,ue).toFixed(2)||he>+Re(U,ue).toFixed(2)||_e<+Ee(ie,M).toFixed(2)||_e>+Re(ie,M).toFixed(2)||_e<+Ee(G,ke).toFixed(2)||_e>+Re(G,ke).toFixed(2)))return{x:Ie,y:tt}}}}function Fn(H){return Math.round(1e11*H)/1e11}function _i(H,ie,Y){if(!function Ci(H,ie){return H=Qe(H),Gn(ie=Qe(ie),H.x,H.y)||Gn(ie,H.x2,H.y)||Gn(ie,H.x,H.y2)||Gn(ie,H.x2,H.y2)||Gn(H,ie.x,ie.y)||Gn(H,ie.x2,ie.y)||Gn(H,ie.x,ie.y2)||Gn(H,ie.x2,ie.y2)||(H.xie.x||ie.xH.x)&&(H.yie.y||ie.yH.y)}(Pn(H),Pn(ie)))return Y?0:[];for(var G=Nn.apply(0,H),ue=Nn.apply(0,ie),ke=Ot(H)?1:~~(G/5)||1,ce=Ot(ie)?1:~~(ue/5)||1,re=[],me=[],Ie={},tt=Y?0:[],he=0;he=0&&un<=1&&Yr>=0&&Yr<=1&&(Y?tt++:tt.push({x:an.x,y:an.y,t1:un,t2:Yr}))}}return tt}function Ot(H){return H[0]===H[2]&&H[1]===H[3]&&H[4]===H[6]&&H[5]===H[7]}function nn(H,ie,Y,M){return[H,ie,Y,M,Y,M]}function Gt(H,ie,Y,M,U,G){var ue=.3333333333333333,ke=2/3;return[ue*H+ke*Y,ue*ie+ke*M,ue*U+ke*Y,ue*G+ke*M,U,G]}function pt(H,ie,Y,M,U,G,ue,ke,ce,re){var he,me=120*le/180,Ie=le/180*(+U||0),tt=[],_e=function Ye(H){return function ie(){var Y=Array.prototype.slice.call(arguments,0),M=Y.join("\u2400"),U=ie.cache=ie.cache||{},G=ie.count=ie.count||[];return De(U,M)?(function Oe(H,ie){for(var Y=0,M=H.length;Y=1e3&&delete U[G.shift()],G.push(M),U[M]=H.apply(0,Y),U[M])}}(function(bl,Jo,Ia){return{x:bl*B.cos(Ia)-Jo*B.sin(Ia),y:bl*B.sin(Ia)+Jo*B.cos(Ia)}});if(re)Ln=re[0],un=re[1],Bt=re[2],an=re[3];else{ie=(he=_e(H,ie,-Ie)).y;var ft=((H=he.x)-(ke=(he=_e(ke,ce,-Ie)).x))/2,xt=(ie-(ce=he.y))/2,Nt=ft*ft/(Y*Y)+xt*xt/(M*M);Nt>1&&(Y*=Nt=B.sqrt(Nt),M*=Nt);var _n=Y*Y,oe=M*M,En=(G==ue?-1:1)*B.sqrt(se((_n*oe-_n*xt*xt-oe*ft*ft)/(_n*xt*xt+oe*ft*ft))),Bt=En*Y*xt/M+(H+ke)/2,an=En*-M*ft/Y+(ie+ce)/2,Ln=B.asin(((ie-an)/M).toFixed(9)),un=B.asin(((ce-an)/M).toFixed(9));(Ln=Hun&&(Ln-=2*le),!ue&&un>Ln&&(un-=2*le)}var Yr=un-Ln;if(se(Yr)>me){var Su=un,Du=ke,hl=ce;tt=pt(ke=Bt+Y*B.cos(un=Ln+me*(ue&&un>Ln?1:-1)),ce=an+M*B.sin(un),Y,M,U,0,ue,Du,hl,[un,Su,Bt,an])}Yr=un-Ln;var Sr=B.cos(Ln),cc=B.sin(Ln),fl=B.cos(un),Aa=B.sin(un),gs=B.tan(Yr/4),pl=4/3*Y*gs,ml=4/3*M*gs,gl=[H,ie],Qo=[H+pl*cc,ie-ml*Sr],vl=[ke+pl*Aa,ce-ml*fl],Ma=[ke,ce];if(Qo[0]=2*gl[0]-Qo[0],Qo[1]=2*gl[1]-Qo[1],re)return[Qo,vl,Ma].concat(tt);for(var _l=[],qr=0,yl=(tt=[Qo,vl,Ma].concat(tt).join().split(",")).length;qr2&&(M.push([G].concat(ke.splice(0,2))),ce="l",G="m"==G?"l":"L");ke.length>=Y[ce]&&(M.push([G].concat(ke.splice(0,Y[ce]))),Y[ce]););}),M.toString=it.toString,ie.arr=Te(M),M}(H)),!H||!H.length)return[["M",0,0]];var ce,Y=[],M=0,U=0,G=0,ue=0,ke=0;"M"==H[0][0]&&(G=M=+H[0][1],ue=U=+H[0][2],ke++,Y[0]=["M",M,U]);for(var re,me,Ie=ke,tt=H.length;Ie7){he[_e].shift();for(var ft=he[_e];ft.length;)ue[_e]="A",he.splice(_e++,0,["C"].concat(ft.splice(0,6)));he.splice(_e,1),me=Y.length}},ue=[],ke="",ce="",re=0,me=Y.length;re{var J,B,X=ze.exports={};function le(){throw new Error("setTimeout has not been defined")}function Ee(){throw new Error("clearTimeout has not been defined")}function Re(Ue){if(J===setTimeout)return setTimeout(Ue,0);if((J===le||!J)&&setTimeout)return J=setTimeout,setTimeout(Ue,0);try{return J(Ue,0)}catch{try{return J.call(null,Ue,0)}catch{return J.call(this,Ue,0)}}}!function(){try{J="function"==typeof setTimeout?setTimeout:le}catch{J=le}try{B="function"==typeof clearTimeout?clearTimeout:Ee}catch{B=Ee}}();var ne,se=[],ae=!1,te=-1;function De(){!ae||!ne||(ae=!1,ne.length?se=ne.concat(se):te=-1,se.length&&Te())}function Te(){if(!ae){var Ue=Re(De);ae=!0;for(var it=se.length;it;){for(ne=se,se=[];++te1)for(var Qe=1;Qe{"use strict";var B=J(876),le=J(491),Ee=J(65)(),Re=J(108),ee=B("%TypeError%"),se=B("%Math.floor%");ze.exports=function(ne,te){if("function"!=typeof ne)throw new ee("`fn` is not a function");if("number"!=typeof te||te<0||te>4294967295||se(te)!==te)throw new ee("`length` must be a positive 32-bit integer");var De=arguments.length>2&&!!arguments[2],Te=!0,Oe=!0;if("length"in ne&&Re){var Ye=Re(ne,"length");Ye&&!Ye.configurable&&(Te=!1),Ye&&!Ye.writable&&(Oe=!1)}return(Te||Oe||!De)&&(Ee?le(ne,"length",te,!0,!0):le(ne,"length",te)),ne}},386:ze=>{ze.exports=function(J){return J&&"object"==typeof J&&"function"==typeof J.copy&&"function"==typeof J.fill&&"function"==typeof J.readUInt8}},172:(ze,X,J)=>{"use strict";var B=J(22),le=J(605),Ee=J(63),Re=J(540);function ee(oe){return oe.call.bind(oe)}var se=typeof BigInt<"u",ae=typeof Symbol<"u",ne=ee(Object.prototype.toString),te=ee(Number.prototype.valueOf),De=ee(String.prototype.valueOf),Te=ee(Boolean.prototype.valueOf);if(se)var Oe=ee(BigInt.prototype.valueOf);if(ae)var Ye=ee(Symbol.prototype.valueOf);function Ue(oe,En){if("object"!=typeof oe)return!1;try{return En(oe),!0}catch{return!1}}function Wn(oe){return"[object Map]"===ne(oe)}function Ot(oe){return"[object Set]"===ne(oe)}function Gt(oe){return"[object WeakMap]"===ne(oe)}function zn(oe){return"[object WeakSet]"===ne(oe)}function H(oe){return"[object ArrayBuffer]"===ne(oe)}function ie(oe){return!(typeof ArrayBuffer>"u")&&(H.working?H(oe):oe instanceof ArrayBuffer)}function Y(oe){return"[object DataView]"===ne(oe)}function M(oe){return!(typeof DataView>"u")&&(Y.working?Y(oe):oe instanceof DataView)}X.isArgumentsObject=B,X.isGeneratorFunction=le,X.isTypedArray=Re,X.isPromise=function it(oe){return typeof Promise<"u"&&oe instanceof Promise||null!==oe&&"object"==typeof oe&&"function"==typeof oe.then&&"function"==typeof oe.catch},X.isArrayBufferView=function Qe(oe){return typeof ArrayBuffer<"u"&&ArrayBuffer.isView?ArrayBuffer.isView(oe):Re(oe)||M(oe)},X.isUint8Array=function Ke(oe){return"Uint8Array"===Ee(oe)},X.isUint8ClampedArray=function Fe(oe){return"Uint8ClampedArray"===Ee(oe)},X.isUint16Array=function nt(oe){return"Uint16Array"===Ee(oe)},X.isUint32Array=function Pn(oe){return"Uint32Array"===Ee(oe)},X.isInt8Array=function Gn(oe){return"Int8Array"===Ee(oe)},X.isInt16Array=function Ci(oe){return"Int16Array"===Ee(oe)},X.isInt32Array=function Si(oe){return"Int32Array"===Ee(oe)},X.isFloat32Array=function Nn(oe){return"Float32Array"===Ee(oe)},X.isFloat64Array=function vi(oe){return"Float64Array"===Ee(oe)},X.isBigInt64Array=function Fn(oe){return"BigInt64Array"===Ee(oe)},X.isBigUint64Array=function _i(oe){return"BigUint64Array"===Ee(oe)},Wn.working=typeof Map<"u"&&Wn(new Map),X.isMap=function dn(oe){return!(typeof Map>"u")&&(Wn.working?Wn(oe):oe instanceof Map)},Ot.working=typeof Set<"u"&&Ot(new Set),X.isSet=function nn(oe){return!(typeof Set>"u")&&(Ot.working?Ot(oe):oe instanceof Set)},Gt.working=typeof WeakMap<"u"&&Gt(new WeakMap),X.isWeakMap=function pt(oe){return!(typeof WeakMap>"u")&&(Gt.working?Gt(oe):oe instanceof WeakMap)},zn.working=typeof WeakSet<"u"&&zn(new WeakSet),X.isWeakSet=function Di(oe){return zn(oe)},H.working=typeof ArrayBuffer<"u"&&H(new ArrayBuffer),X.isArrayBuffer=ie,Y.working=typeof ArrayBuffer<"u"&&typeof DataView<"u"&&Y(new DataView(new ArrayBuffer(1),0,1)),X.isDataView=M;var U=typeof SharedArrayBuffer<"u"?SharedArrayBuffer:void 0;function G(oe){return"[object SharedArrayBuffer]"===ne(oe)}function ue(oe){return!(typeof U>"u")&&(typeof G.working>"u"&&(G.working=G(new U)),G.working?G(oe):oe instanceof U)}function tt(oe){return Ue(oe,te)}function he(oe){return Ue(oe,De)}function _e(oe){return Ue(oe,Te)}function ft(oe){return se&&Ue(oe,Oe)}function xt(oe){return ae&&Ue(oe,Ye)}X.isSharedArrayBuffer=ue,X.isAsyncFunction=function ke(oe){return"[object AsyncFunction]"===ne(oe)},X.isMapIterator=function ce(oe){return"[object Map Iterator]"===ne(oe)},X.isSetIterator=function re(oe){return"[object Set Iterator]"===ne(oe)},X.isGeneratorObject=function me(oe){return"[object Generator]"===ne(oe)},X.isWebAssemblyCompiledModule=function Ie(oe){return"[object WebAssembly.Module]"===ne(oe)},X.isNumberObject=tt,X.isStringObject=he,X.isBooleanObject=_e,X.isBigIntObject=ft,X.isSymbolObject=xt,X.isBoxedPrimitive=function Nt(oe){return tt(oe)||he(oe)||_e(oe)||ft(oe)||xt(oe)},X.isAnyArrayBuffer=function _n(oe){return typeof Uint8Array<"u"&&(ie(oe)||ue(oe))},["isProxy","isExternal","isModuleNamespaceObject"].forEach(function(oe){Object.defineProperty(X,oe,{enumerable:!1,value:function(){throw new Error(oe+" is not supported in userland")}})})},302:(ze,X,J)=>{var B=J(116),le=Object.getOwnPropertyDescriptors||function(U){for(var G=Object.keys(U),ue={},ke=0;ke=ke)return me;switch(me){case"%s":return String(ue[G++]);case"%d":return Number(ue[G++]);case"%j":try{return JSON.stringify(ue[G++])}catch{return"[Circular]"}default:return me}}),re=ue[G];G"u")return function(){return X.deprecate(M,U).apply(this,arguments)};var G=!1;return function ue(){if(!G){if(B.throwDeprecation)throw new Error(U);B.traceDeprecation?console.trace(U):console.error(U),G=!0}return M.apply(this,arguments)}};var Re={},ee=/^$/;if(B.env.NODE_DEBUG){var se=B.env.NODE_DEBUG;se=se.replace(/[|\\{}()[\]^$+?.]/g,"\\$&").replace(/\*/g,".*").replace(/,/g,"$|^").toUpperCase(),ee=new RegExp("^"+se+"$","i")}function ae(M,U){var G={seen:[],stylize:te};return arguments.length>=3&&(G.depth=arguments[2]),arguments.length>=4&&(G.colors=arguments[3]),Fe(U)?G.showHidden=U:U&&X._extend(G,U),Nn(G.showHidden)&&(G.showHidden=!1),Nn(G.depth)&&(G.depth=2),Nn(G.colors)&&(G.colors=!1),Nn(G.customInspect)&&(G.customInspect=!0),G.colors&&(G.stylize=ne),Te(G,M,G.depth)}function ne(M,U){var G=ae.styles[U];return G?"\x1b["+ae.colors[G][0]+"m"+M+"\x1b["+ae.colors[G][1]+"m":M}function te(M,U){return M}function Te(M,U,G){if(M.customInspect&&U&&dn(U.inspect)&&U.inspect!==X.inspect&&(!U.constructor||U.constructor.prototype!==U)){var ue=U.inspect(G,M);return Ci(ue)||(ue=Te(M,ue,G)),ue}var ke=function Oe(M,U){if(Nn(U))return M.stylize("undefined","undefined");if(Ci(U)){var G="'"+JSON.stringify(U).replace(/^"|"$/g,"").replace(/'/g,"\\'").replace(/\\"/g,'"')+"'";return M.stylize(G,"string")}return Gn(U)?M.stylize(""+U,"number"):Fe(U)?M.stylize(""+U,"boolean"):nt(U)?M.stylize("null","null"):void 0}(M,U);if(ke)return ke;var ce=Object.keys(U),re=function De(M){var U={};return M.forEach(function(G,ue){U[G]=!0}),U}(ce);if(M.showHidden&&(ce=Object.getOwnPropertyNames(U)),Wn(U)&&(ce.indexOf("message")>=0||ce.indexOf("description")>=0))return Ye(U);if(0===ce.length){if(dn(U))return M.stylize("[Function"+(U.name?": "+U.name:"")+"]","special");if(vi(U))return M.stylize(RegExp.prototype.toString.call(U),"regexp");if(_i(U))return M.stylize(Date.prototype.toString.call(U),"date");if(Wn(U))return Ye(U)}var ft,Ie="",tt=!1,he=["{","}"];return Ke(U)&&(tt=!0,he=["[","]"]),dn(U)&&(Ie=" [Function"+(U.name?": "+U.name:"")+"]"),vi(U)&&(Ie=" "+RegExp.prototype.toString.call(U)),_i(U)&&(Ie=" "+Date.prototype.toUTCString.call(U)),Wn(U)&&(Ie=" "+Ye(U)),0!==ce.length||tt&&0!=U.length?G<0?vi(U)?M.stylize(RegExp.prototype.toString.call(U),"regexp"):M.stylize("[Object]","special"):(M.seen.push(U),ft=tt?function Ue(M,U,G,ue,ke){for(var ce=[],re=0,me=U.length;re60?G[0]+(""===U?"":U+"\n ")+" "+M.join(",\n ")+" "+G[1]:G[0]+U+" "+M.join(", ")+" "+G[1]}(ft,Ie,he)):he[0]+Ie+he[1]}function Ye(M){return"["+Error.prototype.toString.call(M)+"]"}function it(M,U,G,ue,ke,ce){var re,me,Ie;if((Ie=Object.getOwnPropertyDescriptor(U,ke)||{value:U[ke]}).get?me=M.stylize(Ie.set?"[Getter/Setter]":"[Getter]","special"):Ie.set&&(me=M.stylize("[Setter]","special")),Di(ue,ke)||(re="["+ke+"]"),me||(M.seen.indexOf(Ie.value)<0?(me=nt(G)?Te(M,Ie.value,null):Te(M,Ie.value,G-1)).indexOf("\n")>-1&&(me=ce?me.split("\n").map(function(tt){return" "+tt}).join("\n").slice(2):"\n"+me.split("\n").map(function(tt){return" "+tt}).join("\n")):me=M.stylize("[Circular]","special")),Nn(re)){if(ce&&ke.match(/^\d+$/))return me;(re=JSON.stringify(""+ke)).match(/^"([a-zA-Z_][a-zA-Z_0-9]*)"$/)?(re=re.slice(1,-1),re=M.stylize(re,"name")):(re=re.replace(/'/g,"\\'").replace(/\\"/g,'"').replace(/(^"|"$)/g,"'"),re=M.stylize(re,"string"))}return re+": "+me}function Ke(M){return Array.isArray(M)}function Fe(M){return"boolean"==typeof M}function nt(M){return null===M}function Gn(M){return"number"==typeof M}function Ci(M){return"string"==typeof M}function Nn(M){return void 0===M}function vi(M){return Fn(M)&&"[object RegExp]"===nn(M)}function Fn(M){return"object"==typeof M&&null!==M}function _i(M){return Fn(M)&&"[object Date]"===nn(M)}function Wn(M){return Fn(M)&&("[object Error]"===nn(M)||M instanceof Error)}function dn(M){return"function"==typeof M}function nn(M){return Object.prototype.toString.call(M)}function Gt(M){return M<10?"0"+M.toString(10):M.toString(10)}X.debuglog=function(M){if(M=M.toUpperCase(),!Re[M])if(ee.test(M)){var U=B.pid;Re[M]=function(){var G=X.format.apply(X,arguments);console.error("%s %d: %s",M,U,G)}}else Re[M]=function(){};return Re[M]},X.inspect=ae,ae.colors={bold:[1,22],italic:[3,23],underline:[4,24],inverse:[7,27],white:[37,39],grey:[90,39],black:[30,39],blue:[34,39],cyan:[36,39],green:[32,39],magenta:[35,39],red:[31,39],yellow:[33,39]},ae.styles={special:"cyan",number:"yellow",boolean:"yellow",undefined:"grey",null:"bold",string:"green",date:"magenta",regexp:"red"},X.types=J(172),X.isArray=Ke,X.isBoolean=Fe,X.isNull=nt,X.isNullOrUndefined=function Pn(M){return null==M},X.isNumber=Gn,X.isString=Ci,X.isSymbol=function Si(M){return"symbol"==typeof M},X.isUndefined=Nn,X.isRegExp=vi,X.types.isRegExp=vi,X.isObject=Fn,X.isDate=_i,X.types.isDate=_i,X.isError=Wn,X.types.isNativeError=Wn,X.isFunction=dn,X.isPrimitive=function Ot(M){return null===M||"boolean"==typeof M||"number"==typeof M||"string"==typeof M||"symbol"==typeof M||typeof M>"u"},X.isBuffer=J(386);var pt=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"];function Di(M,U){return Object.prototype.hasOwnProperty.call(M,U)}X.log=function(){console.log("%s - %s",function zn(){var M=new Date,U=[Gt(M.getHours()),Gt(M.getMinutes()),Gt(M.getSeconds())].join(":");return[M.getDate(),pt[M.getMonth()],U].join(" ")}(),X.format.apply(X,arguments))},X.inherits=J(767),X._extend=function(M,U){if(!U||!Fn(U))return M;for(var G=Object.keys(U),ue=G.length;ue--;)M[G[ue]]=U[G[ue]];return M};var H=typeof Symbol<"u"?Symbol("util.promisify.custom"):void 0;function ie(M,U){if(!M){var G=new Error("Promise was rejected with a falsy value");G.reason=M,M=G}return U(M)}X.promisify=function(U){if("function"!=typeof U)throw new TypeError('The "original" argument must be of type Function');if(H&&U[H]){var G;if("function"!=typeof(G=U[H]))throw new TypeError('The "util.promisify.custom" argument must be of type Function');return Object.defineProperty(G,H,{value:G,enumerable:!1,writable:!1,configurable:!0}),G}function G(){for(var ue,ke,ce=new Promise(function(Ie,tt){ue=Ie,ke=tt}),re=[],me=0;me{"use strict";var B=J(216),le=J(17),Ee=J(685),Re=J(131),ee=J(108),se=Re("Object.prototype.toString"),ae=J(72)(),ne=typeof globalThis>"u"?global:globalThis,te=le(),De=Re("String.prototype.slice"),Te=Object.getPrototypeOf,Oe=Re("Array.prototype.indexOf",!0)||function(Ke,Fe){for(var nt=0;nt-1?Fe:"Object"===Fe&&function(Ke){var Fe=!1;return B(Ye,function(nt,Pn){if(!Fe)try{nt(Ke),Fe=De(Pn,1)}catch{}}),Fe}(Ke)}return ee?function(Ke){var Fe=!1;return B(Ye,function(nt,Pn){if(!Fe)try{"$"+nt(Ke)===Pn&&(Fe=De(Pn,1))}catch{}}),Fe}(Ke):null}},650:(ze,X,J)=>{"use strict";function B(e){return"function"==typeof e}function le(e){const t=e(i=>{Error.call(i),i.stack=(new Error).stack});return t.prototype=Object.create(Error.prototype),t.prototype.constructor=t,t}const Ee=le(e=>function(t){e(this),this.message=t?`${t.length} errors occurred during unsubscription:\n${t.map((i,r)=>`${r+1}) ${i.toString()}`).join("\n ")}`:"",this.name="UnsubscriptionError",this.errors=t});function Re(e,n){if(e){const t=e.indexOf(n);0<=t&&e.splice(t,1)}}class ee{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:t}=this;if(t)if(this._parentage=null,Array.isArray(t))for(const o of t)o.remove(this);else t.remove(this);const{initialTeardown:i}=this;if(B(i))try{i()}catch(o){n=o instanceof Ee?o.errors:[o]}const{_finalizers:r}=this;if(r){this._finalizers=null;for(const o of r)try{ne(o)}catch(a){n=n??[],a instanceof Ee?n=[...n,...a.errors]:n.push(a)}}if(n)throw new Ee(n)}}add(n){var t;if(n&&n!==this)if(this.closed)ne(n);else{if(n instanceof ee){if(n.closed||n._hasParent(this))return;n._addParent(this)}(this._finalizers=null!==(t=this._finalizers)&&void 0!==t?t:[]).push(n)}}_hasParent(n){const{_parentage:t}=this;return t===n||Array.isArray(t)&&t.includes(n)}_addParent(n){const{_parentage:t}=this;this._parentage=Array.isArray(t)?(t.push(n),t):t?[t,n]:n}_removeParent(n){const{_parentage:t}=this;t===n?this._parentage=null:Array.isArray(t)&&Re(t,n)}remove(n){const{_finalizers:t}=this;t&&Re(t,n),n instanceof ee&&n._removeParent(this)}}ee.EMPTY=(()=>{const e=new ee;return e.closed=!0,e})();const se=ee.EMPTY;function ae(e){return e instanceof ee||e&&"closed"in e&&B(e.remove)&&B(e.add)&&B(e.unsubscribe)}function ne(e){B(e)?e():e.unsubscribe()}const te={onUnhandledError:null,onStoppedNotification:null,Promise:void 0,useDeprecatedSynchronousErrorHandling:!1,useDeprecatedNextContext:!1},De={setTimeout(e,n,...t){const{delegate:i}=De;return i?.setTimeout?i.setTimeout(e,n,...t):setTimeout(e,n,...t)},clearTimeout(e){const{delegate:n}=De;return(n?.clearTimeout||clearTimeout)(e)},delegate:void 0};function Te(e){De.setTimeout(()=>{const{onUnhandledError:n}=te;if(!n)throw e;n(e)})}function Oe(){}const Ye=Qe("C",void 0,void 0);function Qe(e,n,t){return{kind:e,value:n,error:t}}let Ke=null;function Fe(e){if(te.useDeprecatedSynchronousErrorHandling){const n=!Ke;if(n&&(Ke={errorThrown:!1,error:null}),e(),n){const{errorThrown:t,error:i}=Ke;if(Ke=null,t)throw i}}else e()}class Pn extends ee{constructor(n){super(),this.isStopped=!1,n?(this.destination=n,ae(n)&&n.add(this)):this.destination=Wn}static create(n,t,i){return new Nn(n,t,i)}next(n){this.isStopped?_i(function it(e){return Qe("N",e,void 0)}(n),this):this._next(n)}error(n){this.isStopped?_i(function Ue(e){return Qe("E",void 0,e)}(n),this):(this.isStopped=!0,this._error(n))}complete(){this.isStopped?_i(Ye,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 Gn=Function.prototype.bind;function Ci(e,n){return Gn.call(e,n)}class Si{constructor(n){this.partialObserver=n}next(n){const{partialObserver:t}=this;if(t.next)try{t.next(n)}catch(i){vi(i)}}error(n){const{partialObserver:t}=this;if(t.error)try{t.error(n)}catch(i){vi(i)}else vi(n)}complete(){const{partialObserver:n}=this;if(n.complete)try{n.complete()}catch(t){vi(t)}}}class Nn extends Pn{constructor(n,t,i){let r;if(super(),B(n)||!n)r={next:n??void 0,error:t??void 0,complete:i??void 0};else{let o;this&&te.useDeprecatedNextContext?(o=Object.create(n),o.unsubscribe=()=>this.unsubscribe(),r={next:n.next&&Ci(n.next,o),error:n.error&&Ci(n.error,o),complete:n.complete&&Ci(n.complete,o)}):r=n}this.destination=new Si(r)}}function vi(e){te.useDeprecatedSynchronousErrorHandling?function nt(e){te.useDeprecatedSynchronousErrorHandling&&Ke&&(Ke.errorThrown=!0,Ke.error=e)}(e):Te(e)}function _i(e,n){const{onStoppedNotification:t}=te;t&&De.setTimeout(()=>t(e,n))}const Wn={closed:!0,next:Oe,error:function Fn(e){throw e},complete:Oe},dn="function"==typeof Symbol&&Symbol.observable||"@@observable";function Ot(e){return e}let pt=(()=>{class e{constructor(t){t&&(this._subscribe=t)}lift(t){const i=new e;return i.source=this,i.operator=t,i}subscribe(t,i,r){const o=function H(e){return e&&e instanceof Pn||function Di(e){return e&&B(e.next)&&B(e.error)&&B(e.complete)}(e)&&ae(e)}(t)?t:new Nn(t,i,r);return Fe(()=>{const{operator:a,source:s}=this;o.add(a?a.call(o,s):s?this._subscribe(o):this._trySubscribe(o))}),o}_trySubscribe(t){try{return this._subscribe(t)}catch(i){t.error(i)}}forEach(t,i){return new(i=zn(i))((r,o)=>{const a=new Nn({next:s=>{try{t(s)}catch(c){o(c),a.unsubscribe()}},error:o,complete:r});this.subscribe(a)})}_subscribe(t){var i;return null===(i=this.source)||void 0===i?void 0:i.subscribe(t)}[dn](){return this}pipe(...t){return function Gt(e){return 0===e.length?Ot:1===e.length?e[0]:function(t){return e.reduce((i,r)=>r(i),t)}}(t)(this)}toPromise(t){return new(t=zn(t))((i,r)=>{let o;this.subscribe(a=>o=a,a=>r(a),()=>i(o))})}}return e.create=n=>new e(n),e})();function zn(e){var n;return null!==(n=e??te.Promise)&&void 0!==n?n:Promise}const ie=le(e=>function(){e(this),this.name="ObjectUnsubscribedError",this.message="object unsubscribed"});let Y=(()=>{class e extends pt{constructor(){super(),this.closed=!1,this.currentObservers=null,this.observers=[],this.isStopped=!1,this.hasError=!1,this.thrownError=null}lift(t){const i=new M(this,this);return i.operator=t,i}_throwIfClosed(){if(this.closed)throw new ie}next(t){Fe(()=>{if(this._throwIfClosed(),!this.isStopped){this.currentObservers||(this.currentObservers=Array.from(this.observers));for(const i of this.currentObservers)i.next(t)}})}error(t){Fe(()=>{if(this._throwIfClosed(),!this.isStopped){this.hasError=this.isStopped=!0,this.thrownError=t;const{observers:i}=this;for(;i.length;)i.shift().error(t)}})}complete(){Fe(()=>{if(this._throwIfClosed(),!this.isStopped){this.isStopped=!0;const{observers:t}=this;for(;t.length;)t.shift().complete()}})}unsubscribe(){this.isStopped=this.closed=!0,this.observers=this.currentObservers=null}get observed(){var t;return(null===(t=this.observers)||void 0===t?void 0:t.length)>0}_trySubscribe(t){return this._throwIfClosed(),super._trySubscribe(t)}_subscribe(t){return this._throwIfClosed(),this._checkFinalizedStatuses(t),this._innerSubscribe(t)}_innerSubscribe(t){const{hasError:i,isStopped:r,observers:o}=this;return i||r?se:(this.currentObservers=null,o.push(t),new ee(()=>{this.currentObservers=null,Re(o,t)}))}_checkFinalizedStatuses(t){const{hasError:i,thrownError:r,isStopped:o}=this;i?t.error(r):o&&t.complete()}asObservable(){const t=new pt;return t.source=this,t}}return e.create=(n,t)=>new M(n,t),e})();class M extends Y{constructor(n,t){super(),this.destination=n,this.source=t}next(n){var t,i;null===(i=null===(t=this.destination)||void 0===t?void 0:t.next)||void 0===i||i.call(t,n)}error(n){var t,i;null===(i=null===(t=this.destination)||void 0===t?void 0:t.error)||void 0===i||i.call(t,n)}complete(){var n,t;null===(t=null===(n=this.destination)||void 0===n?void 0:n.complete)||void 0===t||t.call(n)}_subscribe(n){var t,i;return null!==(i=null===(t=this.source)||void 0===t?void 0:t.subscribe(n))&&void 0!==i?i:se}}function G(e){return n=>{if(function U(e){return B(e?.lift)}(n))return n.lift(function(t){try{return e(t,this)}catch(i){this.error(i)}});throw new TypeError("Unable to lift unknown Observable type")}}function ue(e,n,t,i,r){return new ke(e,n,t,i,r)}class ke extends Pn{constructor(n,t,i,r,o,a){super(n),this.onFinalize=o,this.shouldUnsubscribe=a,this._next=t?function(s){try{t(s)}catch(c){n.error(c)}}:super._next,this._error=r?function(s){try{r(s)}catch(c){n.error(c)}finally{this.unsubscribe()}}:super._error,this._complete=i?function(){try{i()}catch(s){n.error(s)}finally{this.unsubscribe()}}:super._complete}unsubscribe(){var n;if(!this.shouldUnsubscribe||this.shouldUnsubscribe()){const{closed:t}=this;super.unsubscribe(),!t&&(null===(n=this.onFinalize)||void 0===n||n.call(this))}}}function ce(e,n){return G((t,i)=>{let r=0;t.subscribe(ue(i,o=>{i.next(e.call(n,o,r++))}))})}function Sr(e){return this instanceof Sr?(this.v=e,this):new Sr(e)}function Aa(e){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var t,n=e[Symbol.asyncIterator];return n?n.call(e):(e=function un(e){var n="function"==typeof Symbol&&Symbol.iterator,t=n&&e[n],i=0;if(t)return t.call(e);if(e&&"number"==typeof e.length)return{next:function(){return e&&i>=e.length&&(e=void 0),{value:e&&e[i++],done:!e}}};throw new TypeError(n?"Object is not iterable.":"Symbol.iterator is not defined.")}(e),t={},i("next"),i("throw"),i("return"),t[Symbol.asyncIterator]=function(){return this},t);function i(o){t[o]=e[o]&&function(a){return new Promise(function(s,c){!function r(o,a,s,c){Promise.resolve(c).then(function(l){o({value:l,done:s})},a)}(s,c,(a=e[o](a)).done,a.value)})}}}"function"==typeof SuppressedError&&SuppressedError;const Jo=e=>e&&"number"==typeof e.length&&"function"!=typeof e;function Ia(e){return B(e?.then)}function xl(e){return B(e[dn])}function wl(e){return Symbol.asyncIterator&&B(e?.[Symbol.asyncIterator])}function ku(e){return new TypeError(`You provided ${null!==e&&"object"==typeof e?"an invalid object":`'${e}'`} where a stream was expected. You can provide an Observable, Promise, ReadableStream, Array, AsyncIterable, or Iterable.`)}const Sp=function Ty(){return"function"==typeof Symbol&&Symbol.iterator?Symbol.iterator:"@@iterator"}();function Dp(e){return B(e?.[Sp])}function lc(e){return function cc(e,n,t){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var r,i=t.apply(e,n||[]),o=[];return r={},a("next"),a("throw"),a("return"),r[Symbol.asyncIterator]=function(){return this},r;function a(h){i[h]&&(r[h]=function(f){return new Promise(function(p,g){o.push([h,f,p,g])>1||s(h,f)})})}function s(h,f){try{!function c(h){h.value instanceof Sr?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){s("next",h)}function d(h){s("throw",h)}function u(h,f){h(f),o.shift(),o.length&&s(o[0][0],o[0][1])}}(this,arguments,function*(){const t=e.getReader();try{for(;;){const{value:i,done:r}=yield Sr(t.read());if(r)return yield Sr(void 0);yield yield Sr(i)}}finally{t.releaseLock()}})}function kp(e){return B(e?.getReader)}function ji(e){if(e instanceof pt)return e;if(null!=e){if(xl(e))return function Tp(e){return new pt(n=>{const t=e[dn]();if(B(t.subscribe))return t.subscribe(n);throw new TypeError("Provided object does not correctly implement Symbol.observable")})}(e);if(Jo(e))return function Tu(e){return new pt(n=>{for(let t=0;t{e.then(t=>{n.closed||(n.next(t),n.complete())},t=>n.error(t)).then(null,Te)})}(e);if(wl(e))return Mp(e);if(Dp(e))return function Ap(e){return new pt(n=>{for(const t of e)if(n.next(t),n.closed)return;n.complete()})}(e);if(kp(e))return function Ip(e){return Mp(lc(e))}(e)}throw ku(e)}function Mp(e){return new pt(n=>{(function Op(e,n){var t,i,r,o;return function En(e,n,t,i){return new(t||(t=Promise))(function(o,a){function s(d){try{l(i.next(d))}catch(u){a(u)}}function c(d){try{l(i.throw(d))}catch(u){a(u)}}function l(d){d.done?o(d.value):function r(o){return o instanceof t?o:new t(function(a){a(o)})}(d.value).then(s,c)}l((i=i.apply(e,n||[])).next())})}(this,void 0,void 0,function*(){try{for(t=Aa(e);!(i=yield t.next()).done;)if(n.next(i.value),n.closed)return}catch(a){r={error:a}}finally{try{i&&!i.done&&(o=t.return)&&(yield o.call(t))}finally{if(r)throw r.error}}n.complete()})})(e,n).catch(t=>n.error(t))})}function Kr(e,n,t,i=0,r=!1){const o=n.schedule(function(){t(),r?e.add(this.schedule(null,i)):this.unsubscribe()},i);if(e.add(o),!r)return o}function dc(e,n,t=1/0){return B(n)?dc((i,r)=>ce((o,a)=>n(i,o,r,a))(ji(e(i,r))),t):("number"==typeof n&&(t=n),G((i,r)=>function Rp(e,n,t,i,r,o,a,s){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 v=!1;ji(t(g,d++)).subscribe(ue(n,k=>{r?.(k),o?f(k):n.next(k)},()=>{v=!0},void 0,()=>{if(v)try{for(l--;c.length&&lp(k)):p(k)}h()}catch(k){n.error(k)}}))};return e.subscribe(ue(n,f,()=>{u=!0,h()})),()=>{s?.()}}(i,r,e,t)))}function ea(e=1/0){return dc(Ot,e)}const Co=new pt(e=>e.complete());function Sl(e){return e&&B(e.schedule)}function Au(e){return e[e.length-1]}function Pp(e){return B(Au(e))?e.pop():void 0}function ta(e){return Sl(Au(e))?e.pop():void 0}function Oa(e,n=0){return G((t,i)=>{t.subscribe(ue(i,r=>Kr(i,e,()=>i.next(r),n),()=>Kr(i,e,()=>i.complete(),n),r=>Kr(i,e,()=>i.error(r),n)))})}function So(e,n=0){return G((t,i)=>{i.add(e.schedule(()=>t.subscribe(i),n))})}function Mu(e,n){if(!e)throw new Error("Iterable cannot be null");return new pt(t=>{Kr(t,n,()=>{const i=e[Symbol.asyncIterator]();Kr(t,n,()=>{i.next().then(r=>{r.done?t.complete():t.next(r.value)})},0,!0)})})}function ki(e,n){return n?function Dl(e,n){if(null!=e){if(xl(e))return function Do(e,n){return ji(e).pipe(So(n),Oa(n))}(e,n);if(Jo(e))return function Xr(e,n){return new pt(t=>{let i=0;return n.schedule(function(){i===e.length?t.complete():(t.next(e[i++]),t.closed||this.schedule())})})}(e,n);if(Ia(e))return function uc(e,n){return ji(e).pipe(So(n),Oa(n))}(e,n);if(wl(e))return Mu(e,n);if(Dp(e))return function ko(e,n){return new pt(t=>{let i;return Kr(t,n,()=>{i=e[Sp](),Kr(t,n,()=>{let r,o;try{({value:r,done:o}=i.next())}catch(a){return void t.error(a)}o?t.complete():t.next(r)},0,!0)}),()=>B(i?.return)&&i.return()})}(e,n);if(kp(e))return function Np(e,n){return Mu(lc(e),n)}(e,n)}throw ku(e)}(e,n):ji(e)}function To(...e){const n=ta(e),t=function hr(e,n){return"number"==typeof Au(e)?e.pop():n}(e,1/0),i=e;return i.length?1===i.length?ji(i[0]):ea(t)(ki(i,n)):Co}class Qt extends Y{constructor(n){super(),this._value=n}get value(){return this.getValue()}_subscribe(n){const t=super._subscribe(n);return!t.closed&&n.next(this._value),t}getValue(){const{hasError:n,thrownError:t,_value:i}=this;if(n)throw t;return this._throwIfClosed(),i}next(n){super.next(this._value=n)}}function vs(...e){return ki(e,ta(e))}function hc(e={}){const{connector:n=(()=>new Y),resetOnError:t=!0,resetOnComplete:i=!0,resetOnRefCountZero:r=!0}=e;return o=>{let a,s,c,l=0,d=!1,u=!1;const h=()=>{s?.unsubscribe(),s=void 0},f=()=>{h(),a=c=void 0,d=u=!1},p=()=>{const g=a;f(),g?.unsubscribe()};return G((g,v)=>{l++,!u&&!d&&h();const k=c=c??n();v.add(()=>{l--,0===l&&!u&&!d&&(s=fc(p,r))}),k.subscribe(v),!a&&l>0&&(a=new Nn({next:E=>k.next(E),error:E=>{u=!0,h(),s=fc(f,t,E),k.error(E)},complete:()=>{d=!0,h(),s=fc(f,i),k.complete()}}),ji(g).subscribe(a))})(o)}}function fc(e,n,...t){if(!0===n)return void e();if(!1===n)return;const i=new Nn({next:()=>{i.unsubscribe(),e()}});return ji(n(...t)).subscribe(i)}function Ao(e,n=Ot){return e=e??My,G((t,i)=>{let r,o=!0;t.subscribe(ue(i,a=>{const s=n(a);(o||!e(r,s))&&(o=!1,r=s,i.next(a))}))})}function My(e,n){return e===n}function sn(e){for(let n in e)if(e[n]===sn)return n;throw Error("Could not find renamed property on target object.")}function _s(e,n){for(const t in n)n.hasOwnProperty(t)&&!e.hasOwnProperty(t)&&(e[t]=n[t])}function Qn(e){if("string"==typeof e)return e;if(Array.isArray(e))return"["+e.map(Qn).join(", ")+"]";if(null==e)return""+e;if(e.overriddenName)return`${e.overriddenName}`;if(e.name)return`${e.name}`;const n=e.toString();if(null==n)return""+n;const t=n.indexOf("\n");return-1===t?n:n.substring(0,t)}function Iu(e,n){return null==e||""===e?null===n?"":n:null==n||""===n?e:e+" "+n}const Iy=sn({__forward_ref__:sn});function y(e){return e.__forward_ref__=y,e.toString=function(){return Qn(this())},e}function w(e){return O(e)?e():e}function O(e){return"function"==typeof e&&e.hasOwnProperty(Iy)&&e.__forward_ref__===y}function K(e){return e&&!!e.\u0275providers}const We="https://g.co/ng/security#xss";class q extends Error{constructor(n,t){super(function Yn(e,n){return`NG0${Math.abs(e)}${n?": "+n:""}`}(n,t)),this.code=n}}function Je(e){return"string"==typeof e?e:null==e?"":String(e)}function Oy(e,n){throw new q(-201,!1)}function Qr(e,n){null==e&&function mt(e,n,t,i){throw new Error(`ASSERTION ERROR: ${e}`+(null==i?"":` [Expected=> ${t} ${i} ${n} <=Actual]`))}(n,e,null,"!=")}function Se(e){return{token:e.token,providedIn:e.providedIn||null,factory:e.factory,value:void 0}}function kt(e){return{providers:e.providers||[],imports:e.imports||[]}}function Fp(e){return NS(e,Bp)||NS(e,FS)}function NS(e,n){return e.hasOwnProperty(n)?e[n]:null}function Lp(e){return e&&(e.hasOwnProperty(Ry)||e.hasOwnProperty(H6))?e[Ry]:null}const Bp=sn({\u0275prov:sn}),Ry=sn({\u0275inj:sn}),FS=sn({ngInjectableDef:sn}),H6=sn({ngInjectorDef:sn});var Zt=function(e){return e[e.Default=0]="Default",e[e.Host=1]="Host",e[e.Self=2]="Self",e[e.SkipSelf=4]="SkipSelf",e[e.Optional=8]="Optional",e}(Zt||{});let Py;function fr(e){const n=Py;return Py=e,n}function BS(e,n,t){const i=Fp(e);return i&&"root"==i.providedIn?void 0===i.value?i.value=i.factory():i.value:t&Zt.Optional?null:void 0!==n?n:void Oy(Qn(e))}const An=globalThis;class Ce{constructor(n,t){this._desc=n,this.ngMetadataName="InjectionToken",this.\u0275prov=void 0,"number"==typeof t?this.__NG_ELEMENT_ID__=t:void 0!==t&&(this.\u0275prov=Se({token:this,providedIn:t.providedIn||"root",factory:t.factory}))}get multi(){return this}toString(){return`InjectionToken ${this._desc}`}}const Ou={},Vy="__NG_DI_FLAG__",Vp="ngTempTokenPath",G6=/\n/gm,jS="__source";let Tl;function ys(e){const n=Tl;return Tl=e,n}function q6(e,n=Zt.Default){if(void 0===Tl)throw new q(-203,!1);return null===Tl?BS(e,void 0,n):Tl.get(e,n&Zt.Optional?null:void 0,n)}function N(e,n=Zt.Default){return(function LS(){return Py}()||q6)(w(e),n)}function vt(e,n=Zt.Default){return N(e,jp(n))}function jp(e){return typeof e>"u"||"number"==typeof e?e:0|(e.optional&&8)|(e.host&&1)|(e.self&&2)|(e.skipSelf&&4)}function jy(e){const n=[];for(let t=0;tn){a=o-1;break}}}for(;oo?"":r[u+1].toLowerCase();const f=8&i?h:null;if(f&&-1!==US(f,l,0)||2&i&&l!==h){if(Mo(i))return!1;a=!0}}}}else{if(!a&&!Mo(i)&&!Mo(c))return!1;if(a&&Mo(c))continue;a=!1,i=c|1&i}}return Mo(i)||a}function Mo(e){return 0==(1&e)}function t8(e,n,t,i){if(null===n)return-1;let r=0;if(i||!t){let o=!1;for(;r-1)for(t++;t0?'="'+s+'"':"")+"]"}else 8&i?r+="."+a:4&i&&(r+=" "+a);else""!==r&&!Mo(a)&&(n+=ZS(o,r),r=""),i=a,o=o||!Mo(i);t++}return""!==r&&(n+=ZS(o,r)),n}function Tt(e){return Ra(()=>{const n=JS(e),t={...n,decls:e.decls,vars:e.vars,template:e.template,consts:e.consts||null,ngContentSelectors:e.ngContentSelectors,onPush:e.changeDetection===zp.OnPush,directiveDefs:null,pipeDefs:null,dependencies:n.standalone&&e.dependencies||null,getStandaloneInjector:null,signals:e.signals??!1,data:e.data||{},encapsulation:e.encapsulation||Jr.Emulated,styles:e.styles||cn,_:null,schemas:e.schemas||null,tView:null,id:""};eD(t);const i=e.dependencies;return t.directiveDefs=$p(i,!1),t.pipeDefs=$p(i,!0),t.id=function p8(e){let n=0;const t=[e.selectors,e.ngContentSelectors,e.hostVars,e.hostAttrs,e.consts,e.vars,e.decls,e.encapsulation,e.standalone,e.signals,e.exportAs,JSON.stringify(e.inputs),JSON.stringify(e.outputs),Object.getOwnPropertyNames(e.type.prototype),!!e.contentQueries,!!e.viewQuery].join("|");for(const r of t)n=Math.imul(31,n)+r.charCodeAt(0)<<0;return n+=2147483648,"c"+n}(t),t})}function d8(e){return Jt(e)||Ii(e)}function u8(e){return null!==e}function Rt(e){return Ra(()=>({type:e.type,bootstrap:e.bootstrap||cn,declarations:e.declarations||cn,imports:e.imports||cn,exports:e.exports||cn,transitiveCompileScopes:null,schemas:e.schemas||null,id:e.id||null}))}function QS(e,n){if(null==e)return na;const t={};for(const i in e)if(e.hasOwnProperty(i)){let r=e[i],o=r;Array.isArray(r)&&(o=r[1],r=r[0]),t[r]=i,n&&(n[r]=o)}return t}function Me(e){return Ra(()=>{const n=JS(e);return eD(n),n})}function pr(e){return{type:e.type,name:e.name,factory:null,pure:!1!==e.pure,standalone:!0===e.standalone,onDestroy:e.type.prototype.ngOnDestroy||null}}function Jt(e){return e[Hp]||null}function Ii(e){return e[zy]||null}function Ki(e){return e[Hy]||null}function JS(e){const n={};return{type:e.type,providersResolver:null,factory:null,hostBindings:e.hostBindings||null,hostVars:e.hostVars||0,hostAttrs:e.hostAttrs||null,contentQueries:e.contentQueries||null,declaredInputs:n,inputTransforms:null,inputConfig:e.inputs||na,exportAs:e.exportAs||null,standalone:!0===e.standalone,signals:!0===e.signals,selectors:e.selectors||cn,viewQuery:e.viewQuery||null,features:e.features||null,setInput:null,findHostDirectiveDefs:null,hostDirectives:null,inputs:QS(e.inputs,n),outputs:QS(e.outputs)}}function eD(e){e.features?.forEach(n=>n(e))}function $p(e,n){if(!e)return null;const t=n?Ki:d8;return()=>("function"==typeof e?e():e).map(i=>t(i)).filter(u8)}const Jn=0,Ge=1,At=2,Hn=3,Io=4,Lu=5,zi=6,Al=7,ni=8,bs=9,Ml=10,Et=11,Bu=12,tD=13,Il=14,ii=15,Vu=16,Ol=17,ia=18,ju=19,nD=20,xs=21,Na=22,zu=23,Hu=24,Wt=25,Uy=1,iD=2,ra=7,Rl=9,Oi=11;function mr(e){return Array.isArray(e)&&"object"==typeof e[Uy]}function Xi(e){return Array.isArray(e)&&!0===e[Uy]}function Gy(e){return 0!=(4&e.flags)}function mc(e){return e.componentOffset>-1}function Gp(e){return 1==(1&e.flags)}function Oo(e){return!!e.template}function Wy(e){return 0!=(512&e[At])}function gc(e,n){return e.hasOwnProperty(Pa)?e[Pa]:null}let Ri=null,Wp=!1;function eo(e){const n=Ri;return Ri=e,n}const aD={version:0,dirty:!1,producerNode:void 0,producerLastReadVersion:void 0,producerIndexOfThis:void 0,nextProducerIndex:0,liveConsumerNode:void 0,liveConsumerIndexOfThis:void 0,consumerAllowSignalWrites:!1,consumerIsAlwaysLive:!1,producerMustRecompute:()=>!1,producerRecomputeValue:()=>{},consumerMarkedDirty:()=>{}};function cD(e){if(!Uu(e)||e.dirty){if(!e.producerMustRecompute(e)&&!uD(e))return void(e.dirty=!1);e.producerRecomputeValue(e),e.dirty=!1}}function dD(e){e.dirty=!0,function lD(e){if(void 0===e.liveConsumerNode)return;const n=Wp;Wp=!0;try{for(const t of e.liveConsumerNode)t.dirty||dD(t)}finally{Wp=n}}(e),e.consumerMarkedDirty?.(e)}function qy(e){return e&&(e.nextProducerIndex=0),eo(e)}function Ky(e,n){if(eo(n),e&&void 0!==e.producerNode&&void 0!==e.producerIndexOfThis&&void 0!==e.producerLastReadVersion){if(Uu(e))for(let t=e.nextProducerIndex;te.nextProducerIndex;)e.producerNode.pop(),e.producerLastReadVersion.pop(),e.producerIndexOfThis.pop()}}function uD(e){Pl(e);for(let n=0;n0}function Pl(e){e.producerNode??=[],e.producerIndexOfThis??=[],e.producerLastReadVersion??=[]}let mD=null;function _D(e){const n=eo(null);try{return e()}finally{eo(n)}}const yD=()=>{},k8=(()=>({...aD,consumerIsAlwaysLive:!0,consumerAllowSignalWrites:!1,consumerMarkedDirty:e=>{e.schedule(e.ref)},hasRun:!1,cleanupFn:yD}))();class T8{constructor(n,t,i){this.previousValue=n,this.currentValue=t,this.firstChange=i}isFirstChange(){return this.firstChange}}function Tr(){return bD}function bD(e){return e.type.prototype.ngOnChanges&&(e.setInput=M8),A8}function A8(){const e=wD(this),n=e?.current;if(n){const t=e.previous;if(t===na)e.previous=n;else for(let i in n)t[i]=n[i];e.current=null,this.ngOnChanges(n)}}function M8(e,n,t,i){const r=this.declaredInputs[t],o=wD(e)||function I8(e,n){return e[xD]=n}(e,{previous:na,current:null}),a=o.current||(o.current={}),s=o.previous,c=s[r];a[r]=new T8(c&&c.currentValue,n,s===na),e[i]=n}Tr.ngInherit=!0;const xD="__ngSimpleChanges__";function wD(e){return e[xD]||null}const oa=function(e,n,t){};function Mn(e){for(;Array.isArray(e);)e=e[Jn];return e}function qp(e,n){return Mn(n[e])}function gr(e,n){return Mn(n[e.index])}function SD(e,n){return e.data[n]}function Nl(e,n){return e[n]}function Ar(e,n){const t=n[e];return mr(t)?t:t[Jn]}function Es(e,n){return null==n?null:e[n]}function DD(e){e[Ol]=0}function L8(e){1024&e[At]||(e[At]|=1024,TD(e,1))}function kD(e){1024&e[At]&&(e[At]&=-1025,TD(e,-1))}function TD(e,n){let t=e[Hn];if(null===t)return;t[Lu]+=n;let i=t;for(t=t[Hn];null!==t&&(1===n&&1===i[Lu]||-1===n&&0===i[Lu]);)t[Lu]+=n,i=t,t=t[Hn]}const gt={lFrame:VD(null),bindingsEnabled:!0,skipHydrationRootTNode:null};function ID(){return gt.bindingsEnabled}function Fl(){return null!==gt.skipHydrationRootTNode}function pe(){return gt.lFrame.lView}function en(){return gt.lFrame.tView}function yn(e){return gt.lFrame.contextLView=e,e[ni]}function bn(e){return gt.lFrame.contextLView=null,e}function Pi(){let e=OD();for(;null!==e&&64===e.type;)e=e.parent;return e}function OD(){return gt.lFrame.currentTNode}function aa(e,n){const t=gt.lFrame;t.currentTNode=e,t.isParent=n}function eb(){return gt.lFrame.isParent}function tb(){gt.lFrame.isParent=!1}function Ll(){return gt.lFrame.bindingIndex++}function La(e){const n=gt.lFrame,t=n.bindingIndex;return n.bindingIndex=n.bindingIndex+e,t}function K8(e,n){const t=gt.lFrame;t.bindingIndex=t.bindingRootIndex=e,nb(n)}function nb(e){gt.lFrame.currentDirectiveIndex=e}function ib(e){const n=gt.lFrame.currentDirectiveIndex;return-1===n?null:e[n]}function FD(){return gt.lFrame.currentQueryIndex}function rb(e){gt.lFrame.currentQueryIndex=e}function Z8(e){const n=e[Ge];return 2===n.type?n.declTNode:1===n.type?e[zi]:null}function LD(e,n,t){if(t&Zt.SkipSelf){let r=n,o=e;for(;!(r=r.parent,null!==r||t&Zt.Host||(r=Z8(o),null===r||(o=o[Il],10&r.type))););if(null===r)return!1;n=r,e=o}const i=gt.lFrame=BD();return i.currentTNode=n,i.lView=e,!0}function ob(e){const n=BD(),t=e[Ge];gt.lFrame=n,n.currentTNode=t.firstChild,n.lView=e,n.tView=t,n.contextLView=e,n.bindingIndex=t.bindingStartIndex,n.inI18n=!1}function BD(){const e=gt.lFrame,n=null===e?null:e.child;return null===n?VD(e):n}function VD(e){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:e,child:null,inI18n:!1};return null!==e&&(e.child=n),n}function jD(){const e=gt.lFrame;return gt.lFrame=e.parent,e.currentTNode=null,e.lView=null,e}const zD=jD;function ab(){const e=jD();e.isParent=!0,e.tView=null,e.selectedIndex=-1,e.contextLView=null,e.elementDepthCount=0,e.currentDirectiveIndex=-1,e.currentNamespace=null,e.bindingRootIndex=-1,e.bindingIndex=-1,e.currentQueryIndex=0}function Qi(){return gt.lFrame.selectedIndex}function vc(e){gt.lFrame.selectedIndex=e}function qn(){const e=gt.lFrame;return SD(e.tView,e.selectedIndex)}let $D=!0;function Kp(){return $D}function Cs(e){$D=e}function Xp(e,n){for(let t=n.directiveStart,i=n.directiveEnd;t=i)break}else n[c]<0&&(e[Ol]+=65536),(s>13>16&&(3&e[At])===n&&(e[At]+=8192,GD(s,o)):GD(s,o)}const Bl=-1;class Wu{constructor(n,t,i){this.factory=n,this.resolving=!1,this.canSeeViewProviders=t,this.injectImpl=i}}function ub(e){return e!==Bl}function Yu(e){return 32767&e}function qu(e,n){let t=function sV(e){return e>>16}(e),i=n;for(;t>0;)i=i[Il],t--;return i}let hb=!0;function Jp(e){const n=hb;return hb=e,n}const WD=255,YD=5;let cV=0;const sa={};function em(e,n){const t=qD(e,n);if(-1!==t)return t;const i=n[Ge];i.firstCreatePass&&(e.injectorIndex=n.length,fb(i.data,e),fb(n,null),fb(i.blueprint,null));const r=tm(e,n),o=e.injectorIndex;if(ub(r)){const a=Yu(r),s=qu(r,n),c=s[Ge].data;for(let l=0;l<8;l++)n[o+l]=s[a+l]|c[a+l]}return n[o+8]=r,o}function fb(e,n){e.push(0,0,0,0,0,0,0,0,n)}function qD(e,n){return-1===e.injectorIndex||e.parent&&e.parent.injectorIndex===e.injectorIndex||null===n[e.injectorIndex+8]?-1:e.injectorIndex}function tm(e,n){if(e.parent&&-1!==e.parent.injectorIndex)return e.parent.injectorIndex;let t=0,i=null,r=n;for(;null!==r;){if(i=t2(r),null===i)return Bl;if(t++,r=r[Il],-1!==i.injectorIndex)return i.injectorIndex|t<<16}return Bl}function pb(e,n,t){!function lV(e,n,t){let i;"string"==typeof t?i=t.charCodeAt(0)||0:t.hasOwnProperty(Pu)&&(i=t[Pu]),null==i&&(i=t[Pu]=cV++);const r=i&WD;n.data[e+(r>>YD)]|=1<=0?n&WD:pV:n}(t);if("function"==typeof o){if(!LD(n,e,i))return i&Zt.Host?KD(r,0,i):XD(n,t,i,r);try{let a;if(a=o(i),null!=a||i&Zt.Optional)return a;Oy()}finally{zD()}}else if("number"==typeof o){let a=null,s=qD(e,n),c=Bl,l=i&Zt.Host?n[ii][zi]:null;for((-1===s||i&Zt.SkipSelf)&&(c=-1===s?tm(e,n):n[s+8],c!==Bl&&e2(i,!1)?(a=n[Ge],s=Yu(c),n=qu(c,n)):s=-1);-1!==s;){const d=n[Ge];if(JD(o,s,d.data)){const u=uV(s,n,t,a,i,l);if(u!==sa)return u}c=n[s+8],c!==Bl&&e2(i,n[Ge].data[s+8]===l)&&JD(o,s,n)?(a=d,s=Yu(c),n=qu(c,n)):s=-1}}return r}function uV(e,n,t,i,r,o){const a=n[Ge],s=a.data[e+8],d=nm(s,a,t,null==i?mc(s)&&hb:i!=a&&0!=(3&s.type),r&Zt.Host&&o===s);return null!==d?_c(n,a,d,s):sa}function nm(e,n,t,i,r){const o=e.providerIndexes,a=n.data,s=1048575&o,c=e.directiveStart,d=o>>20,h=r?s+d:e.directiveEnd;for(let f=i?s:s+d;f=c&&p.type===t)return f}if(r){const f=a[c];if(f&&Oo(f)&&f.type===t)return c}return null}function _c(e,n,t,i){let r=e[t];const o=n.data;if(function rV(e){return e instanceof Wu}(r)){const a=r;a.resolving&&function Zr(e,n){const t=n?`. Dependency path: ${n.join(" > ")} > ${e}`:"";throw new q(-200,`Circular dependency in DI detected for ${e}${t}`)}(function wt(e){return"function"==typeof e?e.name||e.toString():"object"==typeof e&&null!=e&&"function"==typeof e.type?e.type.name||e.type.toString():Je(e)}(o[t]));const s=Jp(a.canSeeViewProviders);a.resolving=!0;const l=a.injectImpl?fr(a.injectImpl):null;LD(e,i,Zt.Default);try{r=e[t]=a.factory(void 0,o,e,i),n.firstCreatePass&&t>=i.directiveStart&&function nV(e,n,t){const{ngOnChanges:i,ngOnInit:r,ngDoCheck:o}=n.type.prototype;if(i){const a=bD(n);(t.preOrderHooks??=[]).push(e,a),(t.preOrderCheckHooks??=[]).push(e,a)}r&&(t.preOrderHooks??=[]).push(0-e,r),o&&((t.preOrderHooks??=[]).push(e,o),(t.preOrderCheckHooks??=[]).push(e,o))}(t,o[t],n)}finally{null!==l&&fr(l),Jp(s),a.resolving=!1,zD()}}return r}function JD(e,n,t){return!!(t[n+(e>>YD)]&1<{const n=e.prototype.constructor,t=n[Pa]||mb(n),i=Object.prototype;let r=Object.getPrototypeOf(e.prototype).constructor;for(;r&&r!==i;){const o=r[Pa]||mb(r);if(o&&o!==t)return o;r=Object.getPrototypeOf(r)}return o=>new o})}function mb(e){return O(e)?()=>{const n=mb(w(e));return n&&n()}:gc(e)}function t2(e){const n=e[Ge],t=n.type;return 2===t?n.declTNode:1===t?e[zi]:null}function Vl(e){return function dV(e,n){if("class"===n)return e.classes;if("style"===n)return e.styles;const t=e.attrs;if(t){const i=t.length;let r=0;for(;r{const i=function gb(e){return function(...t){if(e){const i=e(...t);for(const r in i)this[r]=i[r]}}}(n);function r(...o){if(this instanceof r)return i.apply(this,o),this;const a=new r(...o);return s.annotation=a,s;function s(c,l,d){const u=c.hasOwnProperty(zl)?c[zl]:Object.defineProperty(c,zl,{value:[]})[zl];for(;u.length<=d;)u.push(null);return(u[d]=u[d]||[]).push(a),c}}return t&&(r.prototype=Object.create(t.prototype)),r.prototype.ngMetadataName=e,r.annotationCls=r,r})}function Gl(e,n){e.forEach(t=>Array.isArray(t)?Gl(t,n):n(t))}function r2(e,n,t){n>=e.length?e.push(t):e.splice(n,0,t)}function im(e,n){return n>=e.length-1?e.pop():e.splice(n,1)[0]}function Zu(e,n){const t=[];for(let i=0;i=0?e[1|i]=t:(i=~i,function wV(e,n,t,i){let r=e.length;if(r==n)e.push(t,i);else if(1===r)e.push(i,e[0]),e[0]=t;else{for(r--,e.push(e[r-1],e[r]);r>n;)e[r]=e[r-2],r--;e[n]=t,e[n+1]=i}}(e,i,n,t)),i}function vb(e,n){const t=Wl(e,n);if(t>=0)return e[1|t]}function Wl(e,n){return function o2(e,n,t){let i=0,r=e.length>>t;for(;r!==i;){const o=i+(r-i>>1),a=e[o<n?r=o:i=o+1}return~(r<0&&(e[t-1][Io]=i[Io]);const o=im(e,Oi+n);!function oj(e,n){nh(e,n,n[Et],2,null,null),n[Jn]=null,n[zi]=null}(i[Ge],i);const a=o[ia];null!==a&&a.detachView(o[Ge]),i[Hn]=null,i[Io]=null,i[At]&=-129}return i}function Mb(e,n){if(!(256&n[At])){const t=n[Et];n[zu]&&hD(n[zu]),n[Hu]&&hD(n[Hu]),t.destroyNode&&nh(e,n,t,3,null,null),function cj(e){let n=e[Bu];if(!n)return Ib(e[Ge],e);for(;n;){let t=null;if(mr(n))t=n[Bu];else{const i=n[Oi];i&&(t=i)}if(!t){for(;n&&!n[Io]&&n!==e;)mr(n)&&Ib(n[Ge],n),n=n[Hn];null===n&&(n=e),mr(n)&&Ib(n[Ge],n),t=n&&n[Io]}n=t}}(n)}}function Ib(e,n){if(!(256&n[At])){n[At]&=-129,n[At]|=256,function hj(e,n){let t;if(null!=e&&null!=(t=e.destroyHooks))for(let i=0;i=0?i[a]():i[-a].unsubscribe(),o+=2}else t[o].call(i[t[o+1]]);null!==i&&(n[Al]=null);const r=n[xs];if(null!==r){n[xs]=null;for(let o=0;o-1){const{encapsulation:o}=e.data[i.directiveStart+r];if(o===Jr.None||o===Jr.Emulated)return null}return gr(i,t)}}(e,n.parent,t)}function yc(e,n,t,i,r){e.insertBefore(n,t,i,r)}function I2(e,n,t){e.appendChild(n,t)}function O2(e,n,t,i,r){null!==i?yc(e,n,t,i,r):I2(e,n,t)}function pm(e,n){return e.parentNode(n)}function R2(e,n,t){return N2(e,n,t)}let Rb,Lb,N2=function P2(e,n,t){return 40&e.type?gr(e,t):null};function mm(e,n,t,i){const r=Ob(e,i,n),o=n[Et],s=R2(i.parent||n[zi],i,n);if(null!=r)if(Array.isArray(t))for(let c=0;c{t.push(a)};return Gl(n,a=>{const s=a;wm(s,o,[],i)&&(r||=[],r.push(s))}),void 0!==r&&ik(r,o),t}function ik(e,n){for(let t=0;t{n(o,i)})}}function wm(e,n,t,i){if(!(e=w(e)))return!1;let r=null,o=Lp(e);const a=!o&&Jt(e);if(o||a){if(a&&!a.standalone)return!1;r=e}else{const c=e.ngModule;if(o=Lp(c),!o)return!1;r=c}const s=i.has(r);if(a){if(s)return!1;if(i.add(r),a.dependencies){const c="function"==typeof a.dependencies?a.dependencies():a.dependencies;for(const l of c)wm(l,n,t,i)}}else{if(!o)return!1;{if(null!=o.imports&&!s){let l;i.add(r);try{Gl(o.imports,d=>{wm(d,n,t,i)&&(l||=[],l.push(d))})}finally{}void 0!==l&&ik(l,n)}if(!s){const l=gc(r)||(()=>new r);n({provide:r,useFactory:l,deps:cn},r),n({provide:ek,useValue:r,multi:!0},r),n({provide:xm,useValue:()=>N(r),multi:!0},r)}const c=o.providers;if(null!=c&&!s){const l=e;Ub(c,d=>{n(d,l)})}}}return r!==e&&void 0!==e.providers}function Ub(e,n){for(let t of e)K(t)&&(t=t.\u0275providers),Array.isArray(t)?Ub(t,n):n(t)}const Yj=sn({provide:String,useValue:sn});function Gb(e){return null!==e&&"object"==typeof e&&Yj in e}function bc(e){return"function"==typeof e}const Wb=new Ce("Set Injector scope."),Em={},Kj={};let Yb;function Cm(){return void 0===Yb&&(Yb=new $b),Yb}class Va{}class Jl extends Va{get destroyed(){return this._destroyed}constructor(n,t,i,r){super(),this.parent=t,this.source=i,this.scopes=r,this.records=new Map,this._ngOnDestroyHooks=new Set,this._onDestroyHooks=[],this._destroyed=!1,Kb(n,a=>this.processProvider(a)),this.records.set(J2,ed(void 0,this)),r.has("environment")&&this.records.set(Va,ed(void 0,this));const o=this.records.get(Wb);null!=o&&"string"==typeof o.value&&this.scopes.add(o.value),this.injectorDefTypes=new Set(this.get(ek.multi,cn,Zt.Self))}destroy(){this.assertNotDestroyed(),this._destroyed=!0;try{for(const t of this._ngOnDestroyHooks)t.ngOnDestroy();const n=this._onDestroyHooks;this._onDestroyHooks=[];for(const t of n)t()}finally{this.records.clear(),this._ngOnDestroyHooks.clear(),this.injectorDefTypes.clear()}}onDestroy(n){return this.assertNotDestroyed(),this._onDestroyHooks.push(n),()=>this.removeOnDestroy(n)}runInContext(n){this.assertNotDestroyed();const t=ys(this),i=fr(void 0);try{return n()}finally{ys(t),fr(i)}}get(n,t=Ou,i=Zt.Default){if(this.assertNotDestroyed(),n.hasOwnProperty($S))return n[$S](this);i=jp(i);const o=ys(this),a=fr(void 0);try{if(!(i&Zt.SkipSelf)){let c=this.records.get(n);if(void 0===c){const l=function ez(e){return"function"==typeof e||"object"==typeof e&&e instanceof Ce}(n)&&Fp(n);c=l&&this.injectableDefInScope(l)?ed(qb(n),Em):null,this.records.set(n,c)}if(null!=c)return this.hydrate(n,c)}return(i&Zt.Self?Cm():this.parent).get(n,t=i&Zt.Optional&&t===Ou?null:t)}catch(s){if("NullInjectorError"===s.name){if((s[Vp]=s[Vp]||[]).unshift(Qn(n)),o)throw s;return function X6(e,n,t,i){const r=e[Vp];throw n[jS]&&r.unshift(n[jS]),e.message=function Z6(e,n,t,i=null){e=e&&"\n"===e.charAt(0)&&"\u0275"==e.charAt(1)?e.slice(2):e;let r=Qn(n);if(Array.isArray(n))r=n.map(Qn).join(" -> ");else if("object"==typeof n){let o=[];for(let a in n)if(n.hasOwnProperty(a)){let s=n[a];o.push(a+":"+("string"==typeof s?JSON.stringify(s):Qn(s)))}r=`{${o.join(", ")}}`}return`${t}${i?"("+i+")":""}[${r}]: ${e.replace(G6,"\n ")}`}("\n"+e.message,r,t,i),e.ngTokenPath=r,e[Vp]=null,e}(s,n,"R3InjectorError",this.source)}throw s}finally{fr(a),ys(o)}}resolveInjectorInitializers(){const n=ys(this),t=fr(void 0);try{const r=this.get(xm.multi,cn,Zt.Self);for(const o of r)o()}finally{ys(n),fr(t)}}toString(){const n=[],t=this.records;for(const i of t.keys())n.push(Qn(i));return`R3Injector[${n.join(", ")}]`}assertNotDestroyed(){if(this._destroyed)throw new q(205,!1)}processProvider(n){let t=bc(n=w(n))?n:w(n&&n.provide);const i=function Zj(e){return Gb(e)?ed(void 0,e.useValue):ed(ak(e),Em)}(n);if(bc(n)||!0!==n.multi)this.records.get(t);else{let r=this.records.get(t);r||(r=ed(void 0,Em,!0),r.factory=()=>jy(r.multi),this.records.set(t,r)),t=n,r.multi.push(n)}this.records.set(t,i)}hydrate(n,t){return t.value===Em&&(t.value=Kj,t.value=t.factory()),"object"==typeof t.value&&t.value&&function Jj(e){return null!==e&&"object"==typeof e&&"function"==typeof e.ngOnDestroy}(t.value)&&this._ngOnDestroyHooks.add(t.value),t.value}injectableDefInScope(n){if(!n.providedIn)return!1;const t=w(n.providedIn);return"string"==typeof t?"any"===t||this.scopes.has(t):this.injectorDefTypes.has(t)}removeOnDestroy(n){const t=this._onDestroyHooks.indexOf(n);-1!==t&&this._onDestroyHooks.splice(t,1)}}function qb(e){const n=Fp(e),t=null!==n?n.factory:gc(e);if(null!==t)return t;if(e instanceof Ce)throw new q(204,!1);if(e instanceof Function)return function Xj(e){const n=e.length;if(n>0)throw Zu(n,"?"),new q(204,!1);const t=function z6(e){return e&&(e[Bp]||e[FS])||null}(e);return null!==t?()=>t.factory(e):()=>new e}(e);throw new q(204,!1)}function ak(e,n,t){let i;if(bc(e)){const r=w(e);return gc(r)||qb(r)}if(Gb(e))i=()=>w(e.useValue);else if(function ok(e){return!(!e||!e.useFactory)}(e))i=()=>e.useFactory(...jy(e.deps||[]));else if(function rk(e){return!(!e||!e.useExisting)}(e))i=()=>N(w(e.useExisting));else{const r=w(e&&(e.useClass||e.provide));if(!function Qj(e){return!!e.deps}(e))return gc(r)||qb(r);i=()=>new r(...jy(e.deps))}return i}function ed(e,n,t=!1){return{factory:e,value:n,multi:t?[]:void 0}}function Kb(e,n){for(const t of e)Array.isArray(t)?Kb(t,n):t&&K(t)?Kb(t.\u0275providers,n):n(t)}const Sm=new Ce("AppId",{providedIn:"root",factory:()=>tz}),tz="ng",sk=new Ce("Platform Initializer"),xc=new Ce("Platform ID",{providedIn:"platform",factory:()=>"unknown"}),$i=new Ce("AnimationModuleType"),Xb=new Ce("CSP nonce",{providedIn:"root",factory:()=>function Zl(){if(void 0!==Lb)return Lb;if(typeof document<"u")return document;throw new q(210,!1)}().body?.querySelector("[ngCspNonce]")?.getAttribute("ngCspNonce")||null});let ck=(e,n,t)=>null;function o0(e,n,t=!1){return ck(e,n,t)}class uz{}class uk{}class fz{resolveComponentFactory(n){throw function hz(e){const n=Error(`No component factory found for ${Qn(e)}.`);return n.ngComponent=e,n}(n)}}let id=(()=>{class e{static#e=this.NULL=new fz}return e})();function pz(){return rd(Pi(),pe())}function rd(e,n){return new Ft(gr(e,n))}let Ft=(()=>{class e{constructor(t){this.nativeElement=t}static#e=this.__NG_ELEMENT_ID__=pz}return e})();function mz(e){return e instanceof Ft?e.nativeElement:e}class ch{}let wc=(()=>{class e{constructor(){this.destroyNode=null}static#e=this.__NG_ELEMENT_ID__=()=>function gz(){const e=pe(),t=Ar(Pi().index,e);return(mr(t)?t:e)[Et]}()}return e})(),vz=(()=>{class e{static#e=this.\u0275prov=Se({token:e,providedIn:"root",factory:()=>null})}return e})();class od{constructor(n){this.full=n,this.major=n.split(".")[0],this.minor=n.split(".")[1],this.patch=n.split(".").slice(2).join(".")}}const _z=new od("16.2.12"),c0={};function gk(e,n=null,t=null,i){const r=vk(e,n,t,i);return r.resolveInjectorInitializers(),r}function vk(e,n=null,t=null,i,r=new Set){const o=[t||cn,Wj(e)];return i=i||("object"==typeof e?void 0:Qn(e)),new Jl(o,n||Cm(),i||null,r)}let ri=(()=>{class e{static#e=this.THROW_IF_NOT_FOUND=Ou;static#t=this.NULL=new $b;static create(t,i){if(Array.isArray(t))return gk({name:""},i,t,"");{const r=t.name??"";return gk({name:r},t.parent,t.providers,r)}}static#n=this.\u0275prov=Se({token:e,providedIn:"any",factory:()=>N(J2)});static#i=this.__NG_ELEMENT_ID__=-1}return e})();function d0(e){return e.ngOriginalError}class ja{constructor(){this._console=console}handleError(n){const t=this._findOriginalError(n);this._console.error("ERROR",n),t&&this._console.error("ORIGINAL ERROR",t)}_findOriginalError(n){let t=n&&d0(n);for(;t&&d0(t);)t=d0(t);return t||null}}function h0(e){return n=>{setTimeout(e,void 0,n)}}const Xt=class Sz extends Y{constructor(n=!1){super(),this.__isAsync=n}emit(n){super.next(n)}subscribe(n,t,i){let r=n,o=t||(()=>null),a=i;if(n&&"object"==typeof n){const c=n;r=c.next?.bind(c),o=c.error?.bind(c),a=c.complete?.bind(c)}this.__isAsync&&(o=h0(o),r&&(r=h0(r)),a&&(a=h0(a)));const s=super.subscribe({next:r,error:o,complete:a});return n instanceof ee&&n.add(s),s}};function yk(...e){}class ot{constructor({enableLongStackTrace:n=!1,shouldCoalesceEventChangeDetection:t=!1,shouldCoalesceRunChangeDetection:i=!1}){if(this.hasPendingMacrotasks=!1,this.hasPendingMicrotasks=!1,this.isStable=!0,this.onUnstable=new Xt(!1),this.onMicrotaskEmpty=new Xt(!1),this.onStable=new Xt(!1),this.onError=new Xt(!1),typeof Zone>"u")throw new q(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&&t,r.shouldCoalesceRunChangeDetection=i,r.lastRequestAnimationFrameId=-1,r.nativeRequestAnimationFrame=function Dz(){const e="function"==typeof An.requestAnimationFrame;let n=An[e?"requestAnimationFrame":"setTimeout"],t=An[e?"cancelAnimationFrame":"clearTimeout"];if(typeof Zone<"u"&&n&&t){const i=n[Zone.__symbol__("OriginalDelegate")];i&&(n=i);const r=t[Zone.__symbol__("OriginalDelegate")];r&&(t=r)}return{nativeRequestAnimationFrame:n,nativeCancelAnimationFrame:t}}().nativeRequestAnimationFrame,function Az(e){const n=()=>{!function Tz(e){e.isCheckStableRunning||-1!==e.lastRequestAnimationFrameId||(e.lastRequestAnimationFrameId=e.nativeRequestAnimationFrame.call(An,()=>{e.fakeTopEventTask||(e.fakeTopEventTask=Zone.root.scheduleEventTask("fakeTopEventTask",()=>{e.lastRequestAnimationFrameId=-1,p0(e),e.isCheckStableRunning=!0,f0(e),e.isCheckStableRunning=!1},void 0,()=>{},()=>{})),e.fakeTopEventTask.invoke()}),p0(e))}(e)};e._inner=e._inner.fork({name:"angular",properties:{isAngularZone:!0},onInvokeTask:(t,i,r,o,a,s)=>{if(function Iz(e){return!(!Array.isArray(e)||1!==e.length)&&!0===e[0].data?.__ignore_ng_zone__}(s))return t.invokeTask(r,o,a,s);try{return bk(e),t.invokeTask(r,o,a,s)}finally{(e.shouldCoalesceEventChangeDetection&&"eventTask"===o.type||e.shouldCoalesceRunChangeDetection)&&n(),xk(e)}},onInvoke:(t,i,r,o,a,s,c)=>{try{return bk(e),t.invoke(r,o,a,s,c)}finally{e.shouldCoalesceRunChangeDetection&&n(),xk(e)}},onHasTask:(t,i,r,o)=>{t.hasTask(r,o),i===r&&("microTask"==o.change?(e._hasPendingMicrotasks=o.microTask,p0(e),f0(e)):"macroTask"==o.change&&(e.hasPendingMacrotasks=o.macroTask))},onHandleError:(t,i,r,o)=>(t.handleError(r,o),e.runOutsideAngular(()=>e.onError.emit(o)),!1)})}(r)}static isInAngularZone(){return typeof Zone<"u"&&!0===Zone.current.get("isAngularZone")}static assertInAngularZone(){if(!ot.isInAngularZone())throw new q(909,!1)}static assertNotInAngularZone(){if(ot.isInAngularZone())throw new q(909,!1)}run(n,t,i){return this._inner.run(n,t,i)}runTask(n,t,i,r){const o=this._inner,a=o.scheduleEventTask("NgZoneEvent: "+r,n,kz,yk,yk);try{return o.runTask(a,t,i)}finally{o.cancelTask(a)}}runGuarded(n,t,i){return this._inner.runGuarded(n,t,i)}runOutsideAngular(n){return this._outer.run(n)}}const kz={};function f0(e){if(0==e._nesting&&!e.hasPendingMicrotasks&&!e.isStable)try{e._nesting++,e.onMicrotaskEmpty.emit(null)}finally{if(e._nesting--,!e.hasPendingMicrotasks)try{e.runOutsideAngular(()=>e.onStable.emit(null))}finally{e.isStable=!0}}}function p0(e){e.hasPendingMicrotasks=!!(e._hasPendingMicrotasks||(e.shouldCoalesceEventChangeDetection||e.shouldCoalesceRunChangeDetection)&&-1!==e.lastRequestAnimationFrameId)}function bk(e){e._nesting++,e.isStable&&(e.isStable=!1,e.onUnstable.emit(null))}function xk(e){e._nesting--,f0(e)}class Mz{constructor(){this.hasPendingMicrotasks=!1,this.hasPendingMacrotasks=!1,this.isStable=!0,this.onUnstable=new Xt,this.onMicrotaskEmpty=new Xt,this.onStable=new Xt,this.onError=new Xt}run(n,t,i){return n.apply(t,i)}runGuarded(n,t,i){return n.apply(t,i)}runOutsideAngular(n){return n()}runTask(n,t,i,r){return n.apply(t,i)}}const wk=new Ce("",{providedIn:"root",factory:Ek});function Ek(){const e=vt(ot);let n=!0;return To(new pt(r=>{n=e.isStable&&!e.hasPendingMacrotasks&&!e.hasPendingMicrotasks,e.runOutsideAngular(()=>{r.next(n),r.complete()})}),new pt(r=>{let o;e.runOutsideAngular(()=>{o=e.onStable.subscribe(()=>{ot.assertNotInAngularZone(),queueMicrotask(()=>{!n&&!e.hasPendingMacrotasks&&!e.hasPendingMicrotasks&&(n=!0,r.next(!0))})})});const a=e.onUnstable.subscribe(()=>{ot.assertInAngularZone(),n&&(n=!1,e.runOutsideAngular(()=>{r.next(!1)}))});return()=>{o.unsubscribe(),a.unsubscribe()}}).pipe(hc()))}let m0=(()=>{class e{constructor(){this.renderDepth=0,this.handler=null}begin(){this.handler?.validateBegin(),this.renderDepth++}end(){this.renderDepth--,0===this.renderDepth&&this.handler?.execute()}ngOnDestroy(){this.handler?.destroy(),this.handler=null}static#e=this.\u0275prov=Se({token:e,providedIn:"root",factory:()=>new e})}return e})();function lh(e){for(;e;){e[At]|=64;const n=eh(e);if(Wy(e)&&!n)return e;e=n}return null}const Tk=new Ce("",{providedIn:"root",factory:()=>!1});let Om=null;function Ok(e,n){return e[n]??Nk()}function Rk(e,n){const t=Nk();t.producerNode?.length&&(e[n]=Om,t.lView=e,Om=Pk())}const zz={...aD,consumerIsAlwaysLive:!0,consumerMarkedDirty:e=>{lh(e.lView)},lView:null};function Pk(){return Object.create(zz)}function Nk(){return Om??=Pk(),Om}const Dt={};function ye(e){Fk(en(),pe(),Qi()+e,!1)}function Fk(e,n,t,i){if(!i)if(3==(3&n[At])){const o=e.preOrderCheckHooks;null!==o&&Zp(n,o,t)}else{const o=e.preOrderHooks;null!==o&&Qp(n,o,0,t)}vc(t)}function T(e,n=Zt.Default){const t=pe();return null===t?N(e,n):ZD(Pi(),t,w(e),n)}function Rm(){throw new Error("invalid")}function Pm(e,n,t,i,r,o,a,s,c,l,d){const u=n.blueprint.slice();return u[Jn]=r,u[At]=140|i,(null!==l||e&&2048&e[At])&&(u[At]|=2048),DD(u),u[Hn]=u[Il]=e,u[ni]=t,u[Ml]=a||e&&e[Ml],u[Et]=s||e&&e[Et],u[bs]=c||e&&e[bs]||null,u[zi]=o,u[ju]=function YV(){return WV++}(),u[Na]=d,u[nD]=l,u[ii]=2==n.type?e[ii]:u,u}function cd(e,n,t,i,r){let o=e.data[n];if(null===o)o=function g0(e,n,t,i,r){const o=OD(),a=eb(),c=e.data[n]=function Kz(e,n,t,i,r,o){let a=n?n.injectorIndex:-1,s=0;return Fl()&&(s|=128),{type:t,index:i,insertBeforeIndex:null,injectorIndex:a,directiveStart:-1,directiveEnd:-1,directiveStylingLast:-1,componentOffset:-1,propertyBindings:null,flags:s,providerIndexes:0,value:r,attrs:o,mergedAttrs:null,localNames:null,initialInputs:void 0,inputs:null,outputs:null,tView:null,next:null,prev:null,projectionNext:null,child:null,parent:n,projection:null,styles:null,stylesWithoutHost:null,residualStyles:void 0,classes:null,classesWithoutHost:null,residualClasses:void 0,classBindings:0,styleBindings:0}}(0,a?o:o&&o.parent,t,n,i,r);return null===e.firstChild&&(e.firstChild=c),null!==o&&(a?null==o.child&&null!==c.parent&&(o.child=c):null===o.next&&(o.next=c,c.prev=o)),c}(e,n,t,i,r),function q8(){return gt.lFrame.inI18n}()&&(o.flags|=32);else if(64&o.type){o.type=t,o.value=i,o.attrs=r;const a=function Gu(){const e=gt.lFrame,n=e.currentTNode;return e.isParent?n:n.parent}();o.injectorIndex=null===a?-1:a.injectorIndex}return aa(o,!0),o}function dh(e,n,t,i){if(0===t)return-1;const r=n.length;for(let o=0;oWt&&Fk(e,n,Wt,!1),oa(s?2:0,r);const l=s?o:null,d=qy(l);try{null!==l&&(l.dirty=!1),t(i,r)}finally{Ky(l,d)}}finally{s&&null===n[zu]&&Rk(n,zu),vc(a),oa(s?3:1,r)}}function v0(e,n,t){if(Gy(n)){const i=eo(null);try{const o=n.directiveEnd;for(let a=n.directiveStart;anull;function jk(e,n,t,i){for(let r in e)if(e.hasOwnProperty(r)){t=null===t?{}:t;const o=e[r];null===i?zk(t,n,r,o):i.hasOwnProperty(r)&&zk(t,n,i[r],o)}return t}function zk(e,n,t,i){e.hasOwnProperty(t)?e[t].push(n,i):e[t]=[n,i]}function Ir(e,n,t,i,r,o,a,s){const c=gr(n,t);let d,l=n.inputs;!s&&null!=l&&(d=l[i])?(S0(e,t,d,i,r),mc(n)&&function Qz(e,n){const t=Ar(n,e);16&t[At]||(t[At]|=64)}(t,n.index)):3&n.type&&(i=function Zz(e){return"class"===e?"className":"for"===e?"htmlFor":"formaction"===e?"formAction":"innerHtml"===e?"innerHTML":"readonly"===e?"readOnly":"tabindex"===e?"tabIndex":e}(i),r=null!=a?a(r,n.value||"",i):r,o.setProperty(c,i,r))}function x0(e,n,t,i){if(ID()){const r=null===i?null:{"":-1},o=function rH(e,n){const t=e.directiveRegistry;let i=null,r=null;if(t)for(let o=0;o0;){const t=e[--n];if("number"==typeof t&&t<0)return t}return 0})(a)!=s&&a.push(s),a.push(t,i,o)}}(e,n,i,dh(e,t,r.hostVars,Dt),r)}function ca(e,n,t,i,r,o){const a=gr(e,n);!function E0(e,n,t,i,r,o,a){if(null==o)e.removeAttribute(n,r,t);else{const s=null==a?Je(o):a(o,i||"",r);e.setAttribute(n,r,s,t)}}(n[Et],a,o,e.value,t,i,r)}function dH(e,n,t,i,r,o){const a=o[n];if(null!==a)for(let s=0;s{class e{constructor(){this.all=new Set,this.queue=new Map}create(t,i,r){const o=typeof Zone>"u"?null:Zone.current,a=function D8(e,n,t){const i=Object.create(k8);t&&(i.consumerAllowSignalWrites=!0),i.fn=e,i.schedule=n;const r=a=>{i.cleanupFn=a};return i.ref={notify:()=>dD(i),run:()=>{if(i.dirty=!1,i.hasRun&&!uD(i))return;i.hasRun=!0;const a=qy(i);try{i.cleanupFn(),i.cleanupFn=yD,i.fn(r)}finally{Ky(i,a)}},cleanup:()=>i.cleanupFn()},i.ref}(t,l=>{this.all.has(l)&&this.queue.set(l,o)},r);let s;this.all.add(a),a.notify();const c=()=>{a.cleanup(),s?.(),this.all.delete(a),this.queue.delete(a)};return s=i?.onDestroy(c),{destroy:c}}flush(){if(0!==this.queue.size)for(const[t,i]of this.queue)this.queue.delete(t),i?i.run(()=>t.run()):t.run()}get isQueueEmpty(){return 0===this.queue.size}static#e=this.\u0275prov=Se({token:e,providedIn:"root",factory:()=>new e})}return e})();function Fm(e,n,t){let i=t?e.styles:null,r=t?e.classes:null,o=0;if(null!==n)for(let a=0;a0){eT(e,1);const r=t.components;null!==r&&nT(e,r,1)}}function nT(e,n,t){for(let i=0;i-1&&(fm(n,i),im(t,i))}this._attachedToViewContainer=!1}Mb(this._lView[Ge],this._lView)}onDestroy(n){!function AD(e,n){if(256==(256&e[At]))throw new q(911,!1);null===e[xs]&&(e[xs]=[]),e[xs].push(n)}(this._lView,n)}markForCheck(){lh(this._cdRefInjectingView||this._lView)}detach(){this._lView[At]&=-129}reattach(){this._lView[At]|=128}detectChanges(){Lm(this._lView[Ge],this._lView,this.context)}checkNoChanges(){}attachToViewContainerRef(){if(this._appRef)throw new q(902,!1);this._attachedToViewContainer=!0}detachFromAppRef(){this._appRef=null,function sj(e,n){nh(e,n,n[Et],2,null,null)}(this._lView[Ge],this._lView)}attachToAppRef(n){if(this._attachedToViewContainer)throw new q(902,!1);this._appRef=n}}class yH extends hh{constructor(n){super(n),this._view=n}detectChanges(){const n=this._view;Lm(n[Ge],n,n[ni],!1)}checkNoChanges(){}get context(){return null}}class iT extends id{constructor(n){super(),this.ngModule=n}resolveComponentFactory(n){const t=Jt(n);return new fh(t,this.ngModule)}}function rT(e){const n=[];for(let t in e)e.hasOwnProperty(t)&&n.push({propName:e[t],templateName:t});return n}class xH{constructor(n,t){this.injector=n,this.parentInjector=t}get(n,t,i){i=jp(i);const r=this.injector.get(n,c0,i);return r!==c0||t===c0?r:this.parentInjector.get(n,t,i)}}class fh extends uk{get inputs(){const n=this.componentDef,t=n.inputTransforms,i=rT(n.inputs);if(null!==t)for(const r of i)t.hasOwnProperty(r.propName)&&(r.transform=t[r.propName]);return i}get outputs(){return rT(this.componentDef.outputs)}constructor(n,t){super(),this.componentDef=n,this.ngModule=t,this.componentType=n.type,this.selector=function s8(e){return e.map(a8).join(",")}(n.selectors),this.ngContentSelectors=n.ngContentSelectors?n.ngContentSelectors:[],this.isBoundToModule=!!t}create(n,t,i,r){let o=(r=r||this.ngModule)instanceof Va?r:r?.injector;o&&null!==this.componentDef.getStandaloneInjector&&(o=this.componentDef.getStandaloneInjector(o)||o);const a=o?new xH(n,o):n,s=a.get(ch,null);if(null===s)throw new q(407,!1);const u={rendererFactory:s,sanitizer:a.get(vz,null),effectManager:a.get(Zk,null),afterRenderEventManager:a.get(m0,null)},h=s.createRenderer(null,this.componentDef),f=this.componentDef.selectors[0][0]||"div",p=i?function Uz(e,n,t,i){const o=i.get(Tk,!1)||t===Jr.ShadowDom,a=e.selectRootElement(n,o);return function Gz(e){Vk(e)}(a),a}(h,i,this.componentDef.encapsulation,a):hm(h,f,function bH(e){const n=e.toLowerCase();return"svg"===n?"svg":"math"===n?"math":null}(f)),k=this.componentDef.signals?4608:this.componentDef.onPush?576:528;let E=null;null!==p&&(E=o0(p,a,!0));const C=b0(0,null,null,1,0,null,null,null,null,null,null),x=Pm(null,C,null,k,null,null,u,h,a,null,E);let D,P;ob(x);try{const V=this.componentDef;let F,Q=null;V.findHostDirectiveDefs?(F=[],Q=new Map,V.findHostDirectiveDefs(V,F,Q),F.push(V)):F=[V];const be=function EH(e,n){const t=e[Ge],i=Wt;return e[i]=n,cd(t,i,2,"#host",null)}(x,p),He=function CH(e,n,t,i,r,o,a){const s=r[Ge];!function SH(e,n,t,i){for(const r of e)n.mergedAttrs=Nu(n.mergedAttrs,r.hostAttrs);null!==n.mergedAttrs&&(Fm(n,n.mergedAttrs,!0),null!==t&&z2(i,t,n))}(i,e,n,a);let c=null;null!==n&&(c=o0(n,r[bs]));const l=o.rendererFactory.createRenderer(n,t);let d=16;t.signals?d=4096:t.onPush&&(d=64);const u=Pm(r,Bk(t),null,d,r[e.index],e,o,l,null,null,c);return s.firstCreatePass&&w0(s,e,i.length-1),Nm(r,u),r[e.index]=u}(be,p,V,F,x,u,h);P=SD(C,Wt),p&&function kH(e,n,t,i){if(i)$y(e,t,["ng-version",_z.full]);else{const{attrs:r,classes:o}=function c8(e){const n=[],t=[];let i=1,r=2;for(;i0&&j2(e,t,o.join(" "))}}(h,V,p,i),void 0!==t&&function TH(e,n,t){const i=e.projection=[];for(let r=0;r=0;i--){const r=e[i];r.hostVars=n+=r.hostVars,r.hostAttrs=Nu(r.hostAttrs,t=Nu(t,r.hostAttrs))}}(i)}function Bm(e){return e===na?{}:e===cn?[]:e}function IH(e,n){const t=e.viewQuery;e.viewQuery=t?(i,r)=>{n(i,r),t(i,r)}:n}function OH(e,n){const t=e.contentQueries;e.contentQueries=t?(i,r,o)=>{n(i,r,o),t(i,r,o)}:n}function RH(e,n){const t=e.hostBindings;e.hostBindings=t?(i,r)=>{n(i,r),t(i,r)}:n}function Vm(e){return!!function k0(e){return null!==e&&("function"==typeof e||"object"==typeof e)}(e)&&(Array.isArray(e)||!(e instanceof Map)&&Symbol.iterator in e)}function Ui(e,n,t){return!Object.is(e[n],t)&&(e[n]=t,!0)}function hn(e,n,t,i){const r=pe();return Ui(r,Ll(),n)&&(en(),ca(qn(),r,e,n,t,i)),hn}function dd(e,n,t,i){return Ui(e,Ll(),t)?n+Je(t)+i:Dt}function ud(e,n,t,i,r,o){const s=function Ec(e,n,t,i){const r=Ui(e,n,t);return Ui(e,n+1,i)||r}(e,function Fa(){return gt.lFrame.bindingIndex}(),t,r);return La(2),s?n+Je(t)+i+Je(r)+o:Dt}function et(e,n,t,i,r,o,a,s){const c=pe(),l=en(),d=e+Wt,u=l.firstCreatePass?function o9(e,n,t,i,r,o,a,s,c){const l=n.consts,d=cd(n,e,4,a||null,Es(l,s));x0(n,t,d,Es(l,c)),Xp(n,d);const u=d.tView=b0(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,t,i,r,o,a):l.data[d];aa(u,!1);const h=xT(l,c,u,e);Kp()&&mm(l,c,h,u),Hi(h,c),Nm(c,c[d]=Gk(h,c,h,u)),Gp(u)&&_0(l,c,u),null!=a&&y0(c,u,s)}let xT=function wT(e,n,t,i){return Cs(!0),n[Et].createComment("")};function er(e){return Nl(function Y8(){return gt.lFrame.contextLView}(),Wt+e)}function Ae(e,n,t){const i=pe();return Ui(i,Ll(),n)&&Ir(en(),qn(),i,e,n,i[Et],t,!1),Ae}function R0(e,n,t,i,r){const a=r?"class":"style";S0(e,t,n.inputs[a],a,i)}function j(e,n,t,i){const r=pe(),o=en(),a=Wt+e,s=r[Et],c=o.firstCreatePass?function l9(e,n,t,i,r,o){const a=n.consts,c=cd(n,e,2,i,Es(a,r));return x0(n,t,c,Es(a,o)),null!==c.attrs&&Fm(c,c.attrs,!1),null!==c.mergedAttrs&&Fm(c,c.mergedAttrs,!0),null!==n.queries&&n.queries.elementStart(n,c),c}(a,o,r,n,t,i):o.data[a],l=ET(o,r,c,s,n,e);r[a]=l;const d=Gp(c);return aa(c,!0),z2(s,l,c),32!=(32&c.flags)&&Kp()&&mm(o,r,l,c),0===function V8(){return gt.lFrame.elementDepthCount}()&&Hi(l,r),function j8(){gt.lFrame.elementDepthCount++}(),d&&(_0(o,r,c),v0(o,c,r)),null!==i&&y0(r,c),j}function W(){let e=Pi();eb()?tb():(e=e.parent,aa(e,!1));const n=e;(function H8(e){return gt.skipHydrationRootTNode===e})(n)&&function W8(){gt.skipHydrationRootTNode=null}(),function z8(){gt.lFrame.elementDepthCount--}();const t=en();return t.firstCreatePass&&(Xp(t,e),Gy(e)&&t.queries.elementEnd(e)),null!=n.classesWithoutHost&&function oV(e){return 0!=(8&e.flags)}(n)&&R0(t,n,pe(),n.classesWithoutHost,!0),null!=n.stylesWithoutHost&&function aV(e){return 0!=(16&e.flags)}(n)&&R0(t,n,pe(),n.stylesWithoutHost,!1),W}function rt(e,n,t,i){return j(e,n,t,i),W(),rt}let ET=(e,n,t,i,r,o)=>(Cs(!0),hm(i,r,function HD(){return gt.lFrame.currentNamespace}()));function tr(){return pe()}function Um(e){return!!e&&"function"==typeof e.then}function DT(e){return!!e&&"function"==typeof e.subscribe}function Be(e,n,t,i){const r=pe(),o=en(),a=Pi();return kT(o,r,r[Et],a,e,n,i),Be}function F0(e,n){const t=Pi(),i=pe(),r=en();return kT(r,i,Kk(ib(r.data),t,i),t,e,n),F0}function kT(e,n,t,i,r,o,a){const s=Gp(i),l=e.firstCreatePass&&qk(e),d=n[ni],u=Yk(n);let h=!0;if(3&i.type||a){const g=gr(i,n),v=a?a(g):g,k=u.length,E=a?x=>a(Mn(x[i.index])):i.index;let C=null;if(!a&&s&&(C=function m9(e,n,t,i){const r=e.cleanup;if(null!=r)for(let o=0;oc?s[c]:null}"string"==typeof a&&(o+=2)}return null}(e,n,r,i.index)),null!==C)(C.__ngLastListenerFn__||C).__ngNextListenerFn__=o,C.__ngLastListenerFn__=o,h=!1;else{o=AT(i,n,d,o,!1);const x=t.listen(v,r,o);u.push(o,x),l&&l.push(r,E,k,k+1)}}else o=AT(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 v=0;v-1?Ar(e.index,n):n);let c=TT(n,t,i,a),l=o.__ngNextListenerFn__;for(;l;)c=TT(n,t,l,a)&&c,l=l.__ngNextListenerFn__;return r&&!1===c&&a.preventDefault(),c}}function st(e=1){return function Q8(e){return(gt.lFrame.contextLView=function J8(e,n){for(;e>0;)n=n[Il],e--;return n}(e,gt.lFrame.contextLView))[ni]}(e)}function g9(e,n){let t=null;const i=function n8(e){const n=e.attrs;if(null!=n){const t=n.indexOf(5);if(!(1&t))return n[t+1]}return null}(e);for(let r=0;r>17&32767}function B0(e){return 2|e}function Sc(e){return(131068&e)>>2}function V0(e,n){return-131069&e|n<<2}function j0(e){return 1|e}function BT(e,n,t,i,r){const o=e[t+1],a=null===n;let s=i?ks(o):Sc(o),c=!1;for(;0!==s&&(!1===c||a);){const d=e[s+1];w9(e[s],n)&&(c=!0,e[s+1]=i?j0(d):B0(d)),s=i?ks(d):Sc(d)}c&&(e[t+1]=i?B0(o):j0(o))}function w9(e,n){return null===e||null==n||(Array.isArray(e)?e[1]:e)===n||!(!Array.isArray(e)||"string"!=typeof n)&&Wl(e,n)>=0}function z0(e,n,t){return Ro(e,n,t,!1),z0}function Ct(e,n){return Ro(e,n,null,!0),Ct}function Ro(e,n,t,i){const r=pe(),o=en(),a=La(2);o.firstUpdatePass&&function WT(e,n,t,i){const r=e.data;if(null===r[t+1]){const o=r[Qi()],a=function GT(e,n){return n>=e.expandoStartIndex}(e,t);(function XT(e,n){return 0!=(e.flags&(n?8:16))})(o,i)&&null===n&&!a&&(n=!1),n=function I9(e,n,t,i){const r=ib(e);let o=i?n.residualClasses:n.residualStyles;if(null===r)0===(i?n.classBindings:n.styleBindings)&&(t=_h(t=H0(null,e,n,t,i),n.attrs,i),o=null);else{const a=n.directiveStylingLast;if(-1===a||e[a]!==r)if(t=H0(r,e,n,t,i),null===o){let c=function O9(e,n,t){const i=t?n.classBindings:n.styleBindings;if(0!==Sc(i))return e[ks(i)]}(e,n,i);void 0!==c&&Array.isArray(c)&&(c=H0(null,e,n,c[1],i),c=_h(c,n.attrs,i),function R9(e,n,t,i){e[ks(t?n.classBindings:n.styleBindings)]=i}(e,n,i,c))}else o=function P9(e,n,t){let i;const r=n.directiveEnd;for(let o=1+n.directiveStylingLast;o0)&&(l=!0)):d=t,r)if(0!==c){const h=ks(e[s+1]);e[i+1]=Gm(h,s),0!==h&&(e[h+1]=V0(e[h+1],i)),e[s+1]=function _9(e,n){return 131071&e|n<<17}(e[s+1],i)}else e[i+1]=Gm(s,0),0!==s&&(e[s+1]=V0(e[s+1],i)),s=i;else e[i+1]=Gm(c,0),0===s?s=i:e[c+1]=V0(e[c+1],i),c=i;l&&(e[i+1]=B0(e[i+1])),BT(e,d,i,!0),BT(e,d,i,!1),function x9(e,n,t,i,r){const o=r?e.residualClasses:e.residualStyles;null!=o&&"string"==typeof n&&Wl(o,n)>=0&&(t[i+1]=j0(t[i+1]))}(n,d,e,i,o),a=Gm(s,c),o?n.classBindings=a:n.styleBindings=a}(r,o,n,t,a,i)}}(o,e,a,i),n!==Dt&&Ui(r,a,n)&&function qT(e,n,t,i,r,o,a,s){if(!(3&n.type))return;const c=e.data,l=c[s+1],d=function y9(e){return 1==(1&e)}(l)?KT(c,n,t,r,Sc(l),a):void 0;Wm(d)||(Wm(o)||function v9(e){return 2==(2&e)}(l)&&(o=KT(c,null,t,r,s,a)),function vj(e,n,t,i,r){if(n)r?e.addClass(t,i):e.removeClass(t,i);else{let o=-1===i.indexOf("-")?void 0:Ss.DashCase;null==r?e.removeStyle(t,i,o):("string"==typeof r&&r.endsWith("!important")&&(r=r.slice(0,-10),o|=Ss.Important),e.setStyle(t,i,r,o))}}(i,a,qp(Qi(),t),r,o))}(o,o.data[Qi()],r,r[Et],e,r[a+1]=function B9(e,n){return null==e||""===e||("string"==typeof n?e+=n:"object"==typeof e&&(e=Qn(Ds(e)))),e}(n,t),i,a)}function H0(e,n,t,i,r){let o=null;const a=t.directiveEnd;let s=t.directiveStylingLast;for(-1===s?s=t.directiveStart:s++;s0;){const c=e[r],l=Array.isArray(c),d=l?c[1]:c,u=null===d;let h=t[r+1];h===Dt&&(h=u?cn:void 0);let f=u?vb(h,i):d===i?h:void 0;if(l&&!Wm(f)&&(f=vb(c,i)),Wm(f)&&(s=f,a))return s;const p=e[r+1];r=a?ks(p):Sc(p)}if(null!==n){let c=o?n.residualClasses:n.residualStyles;null!=c&&(s=vb(c,i))}return s}function Wm(e){return void 0!==e}function Pe(e,n=""){const t=pe(),i=en(),r=e+Wt,o=i.firstCreatePass?cd(i,r,1,n,null):i.data[r],a=ZT(i,t,o,n,e);t[r]=a,Kp()&&mm(i,t,a,o),aa(o,!1)}let ZT=(e,n,t,i,r)=>(Cs(!0),function um(e,n){return e.createText(n)}(n[Et],i));function io(e){return $a("",e,""),io}function $a(e,n,t){const i=pe(),r=dd(i,e,n,t);return r!==Dt&&Ha(i,Qi(),r),$a}function $0(e,n,t,i,r){const o=pe(),a=ud(o,e,n,t,i,r);return a!==Dt&&Ha(o,Qi(),a),$0}function yd(e,n,t){const i=pe();return Ui(i,Ll(),n)&&Ir(en(),qn(),i,e,n,i[Et],t,!0),yd}function U0(e,n,t){const i=pe();if(Ui(i,Ll(),n)){const o=en(),a=qn();Ir(o,a,i,e,n,Kk(ib(o.data),a,i),t,!0)}return U0}const Dc=void 0;var a7=["en",[["a","p"],["AM","PM"],Dc],[["AM","PM"],Dc,Dc],[["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"]],Dc,[["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"]],Dc,[["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}",Dc,"{1} 'at' {0}",Dc],[".",",",";","%","+","-","E","\xd7","\u2030","\u221e","NaN",":"],["#,##0.###","#,##0%","\xa4#,##0.00","#E0"],"USD","$","US Dollar",{},"ltr",function o7(e){const t=Math.floor(Math.abs(e)),i=e.toString().replace(/^[^.]*\.?/,"").length;return 1===t&&0===i?1:5}];let bd={};function nr(e){const n=function s7(e){return e.toLowerCase().replace(/_/g,"-")}(e);let t=mA(n);if(t)return t;const i=n.split("-")[0];if(t=mA(i),t)return t;if("en"===i)return a7;throw new q(701,!1)}function mA(e){return e in bd||(bd[e]=An.ng&&An.ng.common&&An.ng.common.locales&&An.ng.common.locales[e]),bd[e]}var In=function(e){return e[e.LocaleId=0]="LocaleId",e[e.DayPeriodsFormat=1]="DayPeriodsFormat",e[e.DayPeriodsStandalone=2]="DayPeriodsStandalone",e[e.DaysFormat=3]="DaysFormat",e[e.DaysStandalone=4]="DaysStandalone",e[e.MonthsFormat=5]="MonthsFormat",e[e.MonthsStandalone=6]="MonthsStandalone",e[e.Eras=7]="Eras",e[e.FirstDayOfWeek=8]="FirstDayOfWeek",e[e.WeekendRange=9]="WeekendRange",e[e.DateFormat=10]="DateFormat",e[e.TimeFormat=11]="TimeFormat",e[e.DateTimeFormat=12]="DateTimeFormat",e[e.NumberSymbols=13]="NumberSymbols",e[e.NumberFormats=14]="NumberFormats",e[e.CurrencyCode=15]="CurrencyCode",e[e.CurrencySymbol=16]="CurrencySymbol",e[e.CurrencyName=17]="CurrencyName",e[e.Currencies=18]="Currencies",e[e.Directionality=19]="Directionality",e[e.PluralCase=20]="PluralCase",e[e.ExtraData=21]="ExtraData",e}(In||{});const xd="en-US";let gA=xd;function Y0(e,n,t,i,r){if(e=w(e),Array.isArray(e))for(let o=0;o>20;if(bc(e)||!e.multi){const f=new Wu(l,r,T),p=K0(c,n,r?d:d+h,u);-1===p?(pb(em(s,a),o,c),q0(o,e,n.length),n.push(c),s.directiveStart++,s.directiveEnd++,r&&(s.providerIndexes+=1048576),t.push(f),a.push(f)):(t[p]=f,a[p]=f)}else{const f=K0(c,n,d+h,u),p=K0(c,n,d,d+h),v=p>=0&&t[p];if(r&&!v||!r&&!(f>=0&&t[f])){pb(em(s,a),o,c);const k=function o$(e,n,t,i,r){const o=new Wu(e,t,T);return o.multi=[],o.index=n,o.componentProviders=0,zA(o,r,i&&!t),o}(r?r$:i$,t.length,r,i,l);!r&&v&&(t[p].providerFactory=k),q0(o,e,n.length,0),n.push(c),s.directiveStart++,s.directiveEnd++,r&&(s.providerIndexes+=1048576),t.push(k),a.push(k)}else q0(o,e,f>-1?f:p,zA(t[r?p:f],l,!r&&i));!r&&i&&v&&t[p].componentProviders++}}}function q0(e,n,t,i){const r=bc(n),o=function qj(e){return!!e.useClass}(n);if(r||o){const c=(o?w(n.useClass):n).prototype.ngOnDestroy;if(c){const l=e.destroyHooks||(e.destroyHooks=[]);if(!r&&n.multi){const d=l.indexOf(t);-1===d?l.push(t,[i,c]):l[d+1].push(i,c)}else l.push(t,c)}}}function zA(e,n,t){return t&&e.componentProviders++,e.multi.push(n)-1}function K0(e,n,t,i){for(let r=t;r{t.providersResolver=(i,r)=>function n$(e,n,t){const i=en();if(i.firstCreatePass){const r=Oo(e);Y0(t,i.data,i.blueprint,r,!0),Y0(n,i.data,i.blueprint,r,!1)}}(i,r?r(e):e,n)}}class kc{}class a${}class Z0 extends kc{constructor(n,t,i){super(),this._parent=t,this._bootstrapComponents=[],this.destroyCbs=[],this.componentFactoryResolver=new iT(this);const r=function kr(e,n){const t=e[HS]||null;if(!t&&!0===n)throw new Error(`Type ${Qn(e)} does not have '\u0275mod' property.`);return t}(n);this._bootstrapComponents=function za(e){return e instanceof Function?e():e}(r.bootstrap),this._r3Injector=vk(n,t,[{provide:kc,useValue:this},{provide:id,useValue:this.componentFactoryResolver},...i],Qn(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(t=>t()),this.destroyCbs=null}onDestroy(n){this.destroyCbs.push(n)}}class Q0 extends a${constructor(n){super(),this.moduleType=n}create(n){return new Z0(this.moduleType,n,[])}}function KA(e,n,t,i,r,o){const a=n+t;return Ui(e,a,r)?function la(e,n,t){return e[n]=t}(e,a+1,o?i.call(o,r):i(r)):function Ch(e,n){const t=e[n];return t===Dt?void 0:t}(e,a+1)}function $t(e,n){const t=en();let i;const r=e+Wt;t.firstCreatePass?(i=function M$(e,n){if(n)for(let t=n.length-1;t>=0;t--){const i=n[t];if(e===i.name)return i}}(n,t.pipeRegistry),t.data[r]=i,i.onDestroy&&(t.destroyHooks??=[]).push(r,i.onDestroy)):i=t.data[r];const o=i.factory||(i.factory=gc(i.type)),s=fr(T);try{const c=Jp(!1),l=o();return Jp(c),function c9(e,n,t,i){t>=e.data.length&&(e.data[t]=null,e.blueprint[t]=null),n[t]=i}(t,pe(),r,l),l}finally{fr(s)}}function Ut(e,n,t){const i=e+Wt,r=pe(),o=Nl(r,i);return function Sh(e,n){return e[Ge].data[n].pure}(r,i)?KA(r,function Zi(){const e=gt.lFrame;let n=e.bindingRootIndex;return-1===n&&(n=e.bindingRootIndex=e.tView.bindingStartIndex),n}(),n,o.transform,t,o):o.transform(t)}function N$(){return this._results[Symbol.iterator]()}class wd{static#e=Symbol.iterator;get changes(){return this._changes||(this._changes=new Xt)}constructor(n=!1){this._emitDistinctChangesOnly=n,this.dirty=!0,this._results=[],this._changesDetected=!1,this._changes=null,this.length=0,this.first=void 0,this.last=void 0;const t=wd.prototype;t[Symbol.iterator]||(t[Symbol.iterator]=N$)}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,t){return this._results.reduce(n,t)}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,t){const i=this;i.dirty=!1;const r=function to(e){return e.flat(Number.POSITIVE_INFINITY)}(n);(this._changesDetected=!function bV(e,n,t){if(e.length!==n.length)return!1;for(let i=0;i0&&(t[r-1][Io]=n),i{class e{static#e=this.__NG_ELEMENT_ID__=j$}return e})();const B$=ro,V$=class extends B${constructor(n,t,i){super(),this._declarationLView=n,this._declarationTContainer=t,this.elementRef=i}get ssrId(){return this._declarationTContainer.tView?.ssrId||null}createEmbeddedView(n,t){return this.createEmbeddedViewImpl(n,t)}createEmbeddedViewImpl(n,t,i){const r=function F$(e,n,t,i){const r=n.tView,s=Pm(e,r,t,4096&e[At]?4096:16,null,n,null,null,null,i?.injector??null,i?.hydrationInfo??null);s[Vu]=e[n.index];const l=e[ia];return null!==l&&(s[ia]=l.createEmbeddedView(r)),D0(r,s,t),s}(this._declarationLView,this._declarationTContainer,n,{injector:t,hydrationInfo:i});return new hh(r)}};function j$(){return Zm(Pi(),pe())}function Zm(e,n){return 4&e.type?new V$(n,e,rd(e,n)):null}let oo=(()=>{class e{static#e=this.__NG_ELEMENT_ID__=W$}return e})();function W$(){return aM(Pi(),pe())}const Y$=oo,rM=class extends Y${constructor(n,t,i){super(),this._lContainer=n,this._hostTNode=t,this._hostLView=i}get element(){return rd(this._hostTNode,this._hostLView)}get injector(){return new Ji(this._hostTNode,this._hostLView)}get parentInjector(){const n=tm(this._hostTNode,this._hostLView);if(ub(n)){const t=qu(n,this._hostLView),i=Yu(n);return new Ji(t[Ge].data[i+8],t)}return new Ji(null,this._hostLView)}clear(){for(;this.length>0;)this.remove(this.length-1)}get(n){const t=oM(this._lContainer);return null!==t&&t[n]||null}get length(){return this._lContainer.length-Oi}createEmbeddedView(n,t,i){let r,o;"number"==typeof i?r=i:null!=i&&(r=i.index,o=i.injector);const s=n.createEmbeddedViewImpl(t||{},o,null);return this.insertImpl(s,r,false),s}createComponent(n,t,i,r,o){const a=n&&!function Xu(e){return"function"==typeof e}(n);let s;if(a)s=t;else{const g=t||{};s=g.index,i=g.injector,r=g.projectableNodes,o=g.environmentInjector||g.ngModuleRef}const c=a?n:new fh(Jt(n)),l=i||this.parentInjector;if(!o&&null==c.ngModule){const v=(a?l:this.parentInjector).get(Va,null);v&&(o=v)}Jt(c.componentType??{});const f=c.create(l,r,null,o);return this.insertImpl(f.hostView,s,false),f}insert(n,t){return this.insertImpl(n,t,!1)}insertImpl(n,t,i){const r=n._lView;if(function F8(e){return Xi(e[Hn])}(r)){const c=this.indexOf(n);if(-1!==c)this.detach(c);else{const l=r[Hn],d=new rM(l,l[zi],l[Hn]);d.detach(d.indexOf(n))}}const a=this._adjustIndex(t),s=this._lContainer;return L$(s,r,a,!i),n.attachToViewContainerRef(),r2(ex(s),a,n),n}move(n,t){return this.insert(n,t)}indexOf(n){const t=oM(this._lContainer);return null!==t?t.indexOf(n):-1}remove(n){const t=this._adjustIndex(n,-1),i=fm(this._lContainer,t);i&&(im(ex(this._lContainer),t),Mb(i[Ge],i))}detach(n){const t=this._adjustIndex(n,-1),i=fm(this._lContainer,t);return i&&null!=im(ex(this._lContainer),t)?new hh(i):null}_adjustIndex(n,t=0){return n??this.length+t}};function oM(e){return e[8]}function ex(e){return e[8]||(e[8]=[])}function aM(e,n){let t;const i=n[e.index];return Xi(i)?t=i:(t=Gk(i,n,null,e),n[e.index]=t,Nm(n,t)),sM(t,n,e,i),new rM(t,e,n)}let sM=function cM(e,n,t,i){if(e[ra])return;let r;r=8&t.type?Mn(i):function q$(e,n){const t=e[Et],i=t.createComment(""),r=gr(n,e);return yc(t,pm(t,r),i,function pj(e,n){return e.nextSibling(n)}(t,r),!1),i}(n,t),e[ra]=r};class tx{constructor(n){this.queryList=n,this.matches=null}clone(){return new tx(this.queryList)}setDirty(){this.queryList.setDirty()}}class nx{constructor(n=[]){this.queries=n}createEmbeddedView(n){const t=n.queries;if(null!==t){const i=null!==n.contentQueries?n.contentQueries[0]:t.length,r=[];for(let o=0;o0)i.push(a[s/2]);else{const l=o[s+1],d=n[-c];for(let u=Oi;u{class e{constructor(){this.initialized=!1,this.done=!1,this.donePromise=new Promise((t,i)=>{this.resolve=t,this.reject=i}),this.appInits=vt(EU,{optional:!0})??[]}runInitializers(){if(this.initialized)return;const t=[];for(const r of this.appInits){const o=r();if(Um(o))t.push(o);else if(DT(o)){const a=new Promise((s,c)=>{o.subscribe({complete:s,error:c})});t.push(a)}}const i=()=>{this.done=!0,this.resolve()};Promise.all(t).then(()=>{i()}).catch(r=>{this.reject(r)}),0===t.length&&i(),this.initialized=!0}static#e=this.\u0275fac=function(i){return new(i||e)};static#t=this.\u0275prov=Se({token:e,factory:e.\u0275fac,providedIn:"root"})}return e})();const ha=new Ce("LocaleId",{providedIn:"root",factory:()=>vt(ha,Zt.Optional|Zt.SkipSelf)||function SU(){return typeof $localize<"u"&&$localize.locale||xd}()});let TU=(()=>{class e{constructor(){this.taskId=0,this.pendingTasks=new Set,this.hasPendingTasks=new Qt(!1)}add(){this.hasPendingTasks.next(!0);const t=this.taskId++;return this.pendingTasks.add(t),t}remove(t){this.pendingTasks.delete(t),0===this.pendingTasks.size&&this.hasPendingTasks.next(!1)}ngOnDestroy(){this.pendingTasks.clear(),this.hasPendingTasks.next(!1)}static#e=this.\u0275fac=function(i){return new(i||e)};static#t=this.\u0275prov=Se({token:e,factory:e.\u0275fac,providedIn:"root"})}return e})();const PM=new Ce(""),tg=new Ce("");let mx,fx=(()=>{class e{constructor(t,i,r){this._ngZone=t,this.registry=i,this._pendingCount=0,this._isZoneStable=!0,this._didWork=!1,this._callbacks=[],this.taskTrackingZone=null,mx||(function ZU(e){mx=e}(r),r.addToWindow(i)),this._watchAngularEvents(),t.run(()=>{this.taskTrackingZone=typeof Zone>"u"?null:Zone.current.get("TaskTrackingZone")})}_watchAngularEvents(){this._ngZone.onUnstable.subscribe({next:()=>{this._didWork=!0,this._isZoneStable=!1}}),this._ngZone.runOutsideAngular(()=>{this._ngZone.onStable.subscribe({next:()=>{ot.assertNotInAngularZone(),queueMicrotask(()=>{this._isZoneStable=!0,this._runCallbacksIfReady()})}})})}increasePendingRequestCount(){return this._pendingCount+=1,this._didWork=!0,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 t=this._callbacks.pop();clearTimeout(t.timeoutId),t.doneCb(this._didWork)}this._didWork=!1});else{let t=this.getPendingTasks();this._callbacks=this._callbacks.filter(i=>!i.updateCb||!i.updateCb(t)||(clearTimeout(i.timeoutId),!1)),this._didWork=!0}}getPendingTasks(){return this.taskTrackingZone?this.taskTrackingZone.macroTasks.map(t=>({source:t.source,creationLocation:t.creationLocation,data:t.data})):[]}addCallback(t,i,r){let o=-1;i&&i>0&&(o=setTimeout(()=>{this._callbacks=this._callbacks.filter(a=>a.timeoutId!==o),t(this._didWork,this.getPendingTasks())},i)),this._callbacks.push({doneCb:t,timeoutId:o,updateCb:r})}whenStable(t,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(t,i,r),this._runCallbacksIfReady()}getPendingRequestCount(){return this._pendingCount}registerApplication(t){this.registry.registerApplication(t,this)}unregisterApplication(t){this.registry.unregisterApplication(t)}findProviders(t,i,r){return[]}static#e=this.\u0275fac=function(i){return new(i||e)(N(ot),N(px),N(tg))};static#t=this.\u0275prov=Se({token:e,factory:e.\u0275fac})}return e})(),px=(()=>{class e{constructor(){this._applications=new Map}registerApplication(t,i){this._applications.set(t,i)}unregisterApplication(t){this._applications.delete(t)}unregisterAllApplications(){this._applications.clear()}getTestability(t){return this._applications.get(t)||null}getAllTestabilities(){return Array.from(this._applications.values())}getAllRootElements(){return Array.from(this._applications.keys())}findTestabilityInTree(t,i=!0){return mx?.findTestabilityInTree(this,t,i)??null}static#e=this.\u0275fac=function(i){return new(i||e)};static#t=this.\u0275prov=Se({token:e,factory:e.\u0275fac,providedIn:"platform"})}return e})(),Ts=null;const NM=new Ce("AllowMultipleToken"),gx=new Ce("PlatformDestroyListeners"),FM=new Ce("appBootstrapListener");function VM(e,n,t=[]){const i=`Platform: ${n}`,r=new Ce(i);return(o=[])=>{let a=vx();if(!a||a.injector.get(NM,!1)){const s=[...t,...o,{provide:r,useValue:!0}];e?e(s):function eG(e){if(Ts&&!Ts.get(NM,!1))throw new q(400,!1);(function LM(){!function x8(e){mD=e}(()=>{throw new q(600,!1)})})(),Ts=e;const n=e.get(zM);(function BM(e){e.get(sk,null)?.forEach(t=>t())})(e)}(function jM(e=[],n){return ri.create({name:n,providers:[{provide:Wb,useValue:"platform"},{provide:gx,useValue:new Set([()=>Ts=null])},...e]})}(s,i))}return function nG(e){const n=vx();if(!n)throw new q(401,!1);return n}()}}function vx(){return Ts?.get(zM)??null}let zM=(()=>{class e{constructor(t){this._injector=t,this._modules=[],this._destroyListeners=[],this._destroyed=!1}bootstrapModuleFactory(t,i){const r=function iG(e="zone.js",n){return"noop"===e?new Mz:"zone.js"===e?new ot(n):e}(i?.ngZone,function HM(e){return{enableLongStackTrace:!1,shouldCoalesceEventChangeDetection:e?.eventCoalescing??!1,shouldCoalesceRunChangeDetection:e?.runCoalescing??!1}}({eventCoalescing:i?.ngZoneEventCoalescing,runCoalescing:i?.ngZoneRunCoalescing}));return r.run(()=>{const o=function c$(e,n,t){return new Z0(e,n,t)}(t.moduleType,this.injector,function YM(e){return[{provide:ot,useFactory:e},{provide:xm,multi:!0,useFactory:()=>{const n=vt(oG,{optional:!0});return()=>n.initialize()}},{provide:WM,useFactory:rG},{provide:wk,useFactory:Ek}]}(()=>r)),a=o.injector.get(ja,null);return r.runOutsideAngular(()=>{const s=r.onError.subscribe({next:c=>{a.handleError(c)}});o.onDestroy(()=>{ng(this._modules,o),s.unsubscribe()})}),function $M(e,n,t){try{const i=t();return Um(i)?i.catch(r=>{throw n.runOutsideAngular(()=>e.handleError(r)),r}):i}catch(i){throw n.runOutsideAngular(()=>e.handleError(i)),i}}(a,r,()=>{const s=o.injector.get(dx);return s.runInitializers(),s.donePromise.then(()=>(function vA(e){Qr(e,"Expected localeId to be defined"),"string"==typeof e&&(gA=e.toLowerCase().replace(/_/g,"-"))}(o.injector.get(ha,xd)||xd),this._moduleDoBootstrap(o),o))})})}bootstrapModule(t,i=[]){const r=UM({},i);return function QU(e,n,t){const i=new Q0(t);return Promise.resolve(i)}(0,0,t).then(o=>this.bootstrapModuleFactory(o,r))}_moduleDoBootstrap(t){const i=t.injector.get(Tc);if(t._bootstrapComponents.length>0)t._bootstrapComponents.forEach(r=>i.bootstrap(r));else{if(!t.instance.ngDoBootstrap)throw new q(-403,!1);t.instance.ngDoBootstrap(i)}this._modules.push(t)}onDestroy(t){this._destroyListeners.push(t)}get injector(){return this._injector}destroy(){if(this._destroyed)throw new q(404,!1);this._modules.slice().forEach(i=>i.destroy()),this._destroyListeners.forEach(i=>i());const t=this._injector.get(gx,null);t&&(t.forEach(i=>i()),t.clear()),this._destroyed=!0}get destroyed(){return this._destroyed}static#e=this.\u0275fac=function(i){return new(i||e)(N(ri))};static#t=this.\u0275prov=Se({token:e,factory:e.\u0275fac,providedIn:"platform"})}return e})();function UM(e,n){return Array.isArray(n)?n.reduce(UM,e):{...e,...n}}let Tc=(()=>{class e{constructor(){this._bootstrapListeners=[],this._runningTick=!1,this._destroyed=!1,this._destroyListeners=[],this._views=[],this.internalErrorHandler=vt(WM),this.zoneIsStable=vt(wk),this.componentTypes=[],this.components=[],this.isStable=vt(TU).hasPendingTasks.pipe(function kl(e,n){return G((t,i)=>{let r=null,o=0,a=!1;const s=()=>a&&!r&&i.complete();t.subscribe(ue(i,c=>{r?.unsubscribe();let l=0;const d=o++;ji(e(c,d)).subscribe(r=ue(i,u=>i.next(n?n(c,u,d,l++):u),()=>{r=null,s()}))},()=>{a=!0,s()}))})}(t=>t?vs(!1):this.zoneIsStable),Ao(),hc()),this._injector=vt(Va)}get destroyed(){return this._destroyed}get injector(){return this._injector}bootstrap(t,i){const r=t instanceof uk;if(!this._injector.get(dx).done)throw!r&&function Fu(e){const n=Jt(e)||Ii(e)||Ki(e);return null!==n&&n.standalone}(t),new q(405,!1);let a;a=r?t:this._injector.get(id).resolveComponentFactory(t),this.componentTypes.push(a.componentType);const s=function JU(e){return e.isBoundToModule}(a)?void 0:this._injector.get(kc),l=a.create(ri.NULL,[],i||a.selector,s),d=l.location.nativeElement,u=l.injector.get(PM,null);return u?.registerApplication(d),l.onDestroy(()=>{this.detachView(l.hostView),ng(this.components,l),u?.unregisterApplication(d)}),this._loadComponent(l),l}tick(){if(this._runningTick)throw new q(101,!1);try{this._runningTick=!0;for(let t of this._views)t.detectChanges()}catch(t){this.internalErrorHandler(t)}finally{this._runningTick=!1}}attachView(t){const i=t;this._views.push(i),i.attachToAppRef(this)}detachView(t){const i=t;ng(this._views,i),i.detachFromAppRef()}_loadComponent(t){this.attachView(t.hostView),this.tick(),this.components.push(t);const i=this._injector.get(FM,[]);i.push(...this._bootstrapListeners),i.forEach(r=>r(t))}ngOnDestroy(){if(!this._destroyed)try{this._destroyListeners.forEach(t=>t()),this._views.slice().forEach(t=>t.destroy())}finally{this._destroyed=!0,this._views=[],this._bootstrapListeners=[],this._destroyListeners=[]}}onDestroy(t){return this._destroyListeners.push(t),()=>ng(this._destroyListeners,t)}destroy(){if(this._destroyed)throw new q(406,!1);const t=this._injector;t.destroy&&!t.destroyed&&t.destroy()}get viewCount(){return this._views.length}warnIfDestroyed(){}static#e=this.\u0275fac=function(i){return new(i||e)};static#t=this.\u0275prov=Se({token:e,factory:e.\u0275fac,providedIn:"root"})}return e})();function ng(e,n){const t=e.indexOf(n);t>-1&&e.splice(t,1)}const WM=new Ce("",{providedIn:"root",factory:()=>vt(ja).handleError.bind(void 0)});function rG(){const e=vt(ot),n=vt(ja);return t=>e.runOutsideAngular(()=>n.handleError(t))}let oG=(()=>{class e{constructor(){this.zone=vt(ot),this.applicationRef=vt(Tc)}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||e)};static#t=this.\u0275prov=Se({token:e,factory:e.\u0275fac,providedIn:"root"})}return e})();let No=(()=>{class e{static#e=this.__NG_ELEMENT_ID__=sG}return e})();function sG(e){return function cG(e,n,t){if(mc(e)&&!t){const i=Ar(e.index,n);return new hh(i,i)}return 47&e.type?new hh(n[ii],n):null}(Pi(),pe(),16==(16&e))}class ZM{constructor(){}supports(n){return Vm(n)}create(n){return new pG(n)}}const fG=(e,n)=>n;class pG{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||fG}forEachItem(n){let t;for(t=this._itHead;null!==t;t=t._next)n(t)}forEachOperation(n){let t=this._itHead,i=this._removalsHead,r=0,o=null;for(;t||i;){const a=!i||t&&t.currentIndex{a=this._trackByFn(r,s),null!==t&&Object.is(t.trackById,a)?(i&&(t=this._verifyReinsertion(t,s,a,r)),Object.is(t.item,s)||this._addIdentityChange(t,s)):(t=this._mismatch(t,s,a,r),i=!0),t=t._next,r++}),this.length=r;return this._truncate(t),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,t,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,t)||this._addIdentityChange(n,t),this._reinsertAfter(n,o,r)):null!==(n=null===this._linkedRecords?null:this._linkedRecords.get(i,r))?(Object.is(n.item,t)||this._addIdentityChange(n,t),this._moveAfter(n,o,r)):n=this._addAfter(new mG(t,i),o,r),n}_verifyReinsertion(n,t,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 t=n._next;this._addToRemovals(this._unlink(n)),n=t}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,t,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,t,i),this._addToMoves(n,i),n}_moveAfter(n,t,i){return this._unlink(n),this._insertAfter(n,t,i),this._addToMoves(n,i),n}_addAfter(n,t,i){return this._insertAfter(n,t,i),this._additionsTail=null===this._additionsTail?this._additionsHead=n:this._additionsTail._nextAdded=n,n}_insertAfter(n,t,i){const r=null===t?this._itHead:t._next;return n._next=r,n._prev=t,null===r?this._itTail=n:r._prev=n,null===t?this._itHead=n:t._next=n,null===this._linkedRecords&&(this._linkedRecords=new QM),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 t=n._prev,i=n._next;return null===t?this._itHead=i:t._next=i,null===i?this._itTail=t:i._prev=t,n}_addToMoves(n,t){return n.previousIndex===t||(this._movesTail=null===this._movesTail?this._movesHead=n:this._movesTail._nextMoved=n),n}_addToRemovals(n){return null===this._unlinkedRecords&&(this._unlinkedRecords=new QM),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,t){return n.item=t,this._identityChangesTail=null===this._identityChangesTail?this._identityChangesHead=n:this._identityChangesTail._nextIdentityChange=n,n}}class mG{constructor(n,t){this.item=n,this.trackById=t,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 gG{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,t){let i;for(i=this._head;null!==i;i=i._nextDup)if((null===t||t<=i.currentIndex)&&Object.is(i.trackById,n))return i;return null}remove(n){const t=n._prevDup,i=n._nextDup;return null===t?this._head=i:t._nextDup=i,null===i?this._tail=t:i._prevDup=t,null===this._head}}class QM{constructor(){this.map=new Map}put(n){const t=n.trackById;let i=this.map.get(t);i||(i=new gG,this.map.set(t,i)),i.add(n)}get(n,t){const r=this.map.get(n);return r?r.get(n,t):null}remove(n){const t=n.trackById;return this.map.get(t).remove(n)&&this.map.delete(t),n}get isEmpty(){return 0===this.map.size}clear(){this.map.clear()}}function JM(e,n,t){const i=e.previousIndex;if(null===i)return i;let r=0;return t&&i{class e{static#e=this.\u0275prov=Se({token:e,providedIn:"root",factory:tI});constructor(t){this.factories=t}static create(t,i){if(null!=i){const r=i.factories.slice();t=t.concat(r)}return new e(t)}static extend(t){return{provide:e,useFactory:i=>e.create(t,i||tI()),deps:[[e,new bb,new yb]]}}find(t){const i=this.factories.find(r=>r.supports(t));if(null!=i)return i;throw new q(901,!1)}}return e})();const xG=VM(null,"core",[]);let wG=(()=>{class e{constructor(t){}static#e=this.\u0275fac=function(i){return new(i||e)(N(Tc))};static#t=this.\u0275mod=Rt({type:e});static#n=this.\u0275inj=kt({})}return e})(),Cx=null;function As(){return Cx}class NG{}const qt=new Ce("DocumentToken");let uI=(()=>{class e{historyGo(t){throw new Error("Not implemented")}static#e=this.\u0275fac=function(i){return new(i||e)};static#t=this.\u0275prov=Se({token:e,factory:function(){return vt(FG)},providedIn:"platform"})}return e})(),FG=(()=>{class e extends uI{constructor(){super(),this._doc=vt(qt),this._location=window.location,this._history=window.history}getBaseHrefFromDOM(){return As().getBaseHref(this._doc)}onPopState(t){const i=As().getGlobalEventTarget(this._doc,"window");return i.addEventListener("popstate",t,!1),()=>i.removeEventListener("popstate",t)}onHashChange(t){const i=As().getGlobalEventTarget(this._doc,"window");return i.addEventListener("hashchange",t,!1),()=>i.removeEventListener("hashchange",t)}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(t){this._location.pathname=t}pushState(t,i,r){this._history.pushState(t,i,r)}replaceState(t,i,r){this._history.replaceState(t,i,r)}forward(){this._history.forward()}back(){this._history.back()}historyGo(t=0){this._history.go(t)}getState(){return this._history.state}static#e=this.\u0275fac=function(i){return new(i||e)};static#t=this.\u0275prov=Se({token:e,factory:function(){return new e},providedIn:"platform"})}return e})();function hI(e,n){if(0==e.length)return n;if(0==n.length)return e;let t=0;return e.endsWith("/")&&t++,n.startsWith("/")&&t++,2==t?e+n.substring(1):1==t?e+n:e+"/"+n}function fI(e){const n=e.match(/#|\?|$/),t=n&&n.index||e.length;return e.slice(0,t-("/"===e[t-1]?1:0))+e.slice(t)}function Mc(e){return e&&"?"!==e[0]?"?"+e:e}let Sx=(()=>{class e{historyGo(t){throw new Error("Not implemented")}static#e=this.\u0275fac=function(i){return new(i||e)};static#t=this.\u0275prov=Se({token:e,factory:function(){return vt(BG)},providedIn:"root"})}return e})();const LG=new Ce("appBaseHref");let BG=(()=>{class e extends Sx{constructor(t,i){super(),this._platformLocation=t,this._removeListenerFns=[],this._baseHref=i??this._platformLocation.getBaseHrefFromDOM()??vt(qt).location?.origin??""}ngOnDestroy(){for(;this._removeListenerFns.length;)this._removeListenerFns.pop()()}onPopState(t){this._removeListenerFns.push(this._platformLocation.onPopState(t),this._platformLocation.onHashChange(t))}getBaseHref(){return this._baseHref}prepareExternalUrl(t){return hI(this._baseHref,t)}path(t=!1){const i=this._platformLocation.pathname+Mc(this._platformLocation.search),r=this._platformLocation.hash;return r&&t?`${i}${r}`:i}pushState(t,i,r,o){const a=this.prepareExternalUrl(r+Mc(o));this._platformLocation.pushState(t,i,a)}replaceState(t,i,r,o){const a=this.prepareExternalUrl(r+Mc(o));this._platformLocation.replaceState(t,i,a)}forward(){this._platformLocation.forward()}back(){this._platformLocation.back()}getState(){return this._platformLocation.getState()}historyGo(t=0){this._platformLocation.historyGo?.(t)}static#e=this.\u0275fac=function(i){return new(i||e)(N(uI),N(LG,8))};static#t=this.\u0275prov=Se({token:e,factory:e.\u0275fac,providedIn:"root"})}return e})(),Dx=(()=>{class e{constructor(t){this._subject=new Xt,this._urlChangeListeners=[],this._urlChangeSubscription=null,this._locationStrategy=t;const i=this._locationStrategy.getBaseHref();this._basePath=function zG(e){if(new RegExp("^(https?:)?//").test(e)){const[,t]=e.split(/\/\/[^\/]+/);return t}return e}(fI(pI(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(t=!1){return this.normalize(this._locationStrategy.path(t))}getState(){return this._locationStrategy.getState()}isCurrentPathEqualTo(t,i=""){return this.path()==this.normalize(t+Mc(i))}normalize(t){return e.stripTrailingSlash(function jG(e,n){if(!e||!n.startsWith(e))return n;const t=n.substring(e.length);return""===t||["/",";","?","#"].includes(t[0])?t:n}(this._basePath,pI(t)))}prepareExternalUrl(t){return t&&"/"!==t[0]&&(t="/"+t),this._locationStrategy.prepareExternalUrl(t)}go(t,i="",r=null){this._locationStrategy.pushState(r,"",t,i),this._notifyUrlChangeListeners(this.prepareExternalUrl(t+Mc(i)),r)}replaceState(t,i="",r=null){this._locationStrategy.replaceState(r,"",t,i),this._notifyUrlChangeListeners(this.prepareExternalUrl(t+Mc(i)),r)}forward(){this._locationStrategy.forward()}back(){this._locationStrategy.back()}historyGo(t=0){this._locationStrategy.historyGo?.(t)}onUrlChange(t){return this._urlChangeListeners.push(t),this._urlChangeSubscription||(this._urlChangeSubscription=this.subscribe(i=>{this._notifyUrlChangeListeners(i.url,i.state)})),()=>{const i=this._urlChangeListeners.indexOf(t);this._urlChangeListeners.splice(i,1),0===this._urlChangeListeners.length&&(this._urlChangeSubscription?.unsubscribe(),this._urlChangeSubscription=null)}}_notifyUrlChangeListeners(t="",i){this._urlChangeListeners.forEach(r=>r(t,i))}subscribe(t,i,r){return this._subject.subscribe({next:t,error:i,complete:r})}static#e=this.normalizeQueryParams=Mc;static#t=this.joinWithSlash=hI;static#n=this.stripTrailingSlash=fI;static#i=this.\u0275fac=function(i){return new(i||e)(N(Sx))};static#r=this.\u0275prov=Se({token:e,factory:function(){return function VG(){return new Dx(N(Sx))}()},providedIn:"root"})}return e})();function pI(e){return e.replace(/\/index.html$/,"")}var rr=function(e){return e[e.Format=0]="Format",e[e.Standalone=1]="Standalone",e}(rr||{}),Tn=function(e){return e[e.Narrow=0]="Narrow",e[e.Abbreviated=1]="Abbreviated",e[e.Wide=2]="Wide",e[e.Short=3]="Short",e}(Tn||{}),Or=function(e){return e[e.Short=0]="Short",e[e.Medium=1]="Medium",e[e.Long=2]="Long",e[e.Full=3]="Full",e}(Or||{}),ai=function(e){return e[e.Decimal=0]="Decimal",e[e.Group=1]="Group",e[e.List=2]="List",e[e.PercentSign=3]="PercentSign",e[e.PlusSign=4]="PlusSign",e[e.MinusSign=5]="MinusSign",e[e.Exponential=6]="Exponential",e[e.SuperscriptingExponent=7]="SuperscriptingExponent",e[e.PerMille=8]="PerMille",e[e.Infinity=9]="Infinity",e[e.NaN=10]="NaN",e[e.TimeSeparator=11]="TimeSeparator",e[e.CurrencyDecimal=12]="CurrencyDecimal",e[e.CurrencyGroup=13]="CurrencyGroup",e}(ai||{});function cg(e,n){return so(nr(e)[In.DateFormat],n)}function lg(e,n){return so(nr(e)[In.TimeFormat],n)}function dg(e,n){return so(nr(e)[In.DateTimeFormat],n)}function ao(e,n){const t=nr(e),i=t[In.NumberSymbols][n];if(typeof i>"u"){if(n===ai.CurrencyDecimal)return t[In.NumberSymbols][ai.Decimal];if(n===ai.CurrencyGroup)return t[In.NumberSymbols][ai.Group]}return i}function gI(e){if(!e[In.ExtraData])throw new Error(`Missing extra locale data for the locale "${e[In.LocaleId]}". Use "registerLocaleData" to load new data. See the "I18n guide" on angular.io to know more.`)}function so(e,n){for(let t=n;t>-1;t--)if(typeof e[t]<"u")return e[t];throw new Error("Locale data API: locale data undefined")}function Tx(e){const[n,t]=e.split(":");return{hours:+n,minutes:+t}}const tW=/^(\d{4,})-?(\d\d)-?(\d\d)(?:T(\d\d)(?::?(\d\d)(?::?(\d\d)(?:\.(\d+))?)?)?(Z|([+-])(\d\d):?(\d\d))?)?$/,Ah={},nW=/((?:[^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 Ua=function(e){return e[e.Short=0]="Short",e[e.ShortGMT=1]="ShortGMT",e[e.Long=2]="Long",e[e.Extended=3]="Extended",e}(Ua||{}),fn=function(e){return e[e.FullYear=0]="FullYear",e[e.Month=1]="Month",e[e.Date=2]="Date",e[e.Hours=3]="Hours",e[e.Minutes=4]="Minutes",e[e.Seconds=5]="Seconds",e[e.FractionalSeconds=6]="FractionalSeconds",e[e.Day=7]="Day",e}(fn||{}),pn=function(e){return e[e.DayPeriods=0]="DayPeriods",e[e.Days=1]="Days",e[e.Months=2]="Months",e[e.Eras=3]="Eras",e}(pn||{});function vI(e,n,t,i){let r=function uW(e){if(bI(e))return e;if("number"==typeof e&&!isNaN(e))return new Date(e);if("string"==typeof e){if(e=e.trim(),/^(\d{4}(-\d{1,2}(-\d{1,2})?)?)$/.test(e)){const[r,o=1,a=1]=e.split("-").map(s=>+s);return ug(r,o-1,a)}const t=parseFloat(e);if(!isNaN(e-t))return new Date(t);let i;if(i=e.match(tW))return function hW(e){const n=new Date(0);let t=0,i=0;const r=e[8]?n.setUTCFullYear:n.setFullYear,o=e[8]?n.setUTCHours:n.setHours;e[9]&&(t=Number(e[9]+e[10]),i=Number(e[9]+e[11])),r.call(n,Number(e[1]),Number(e[2])-1,Number(e[3]));const a=Number(e[4]||0)-t,s=Number(e[5]||0)-i,c=Number(e[6]||0),l=Math.floor(1e3*parseFloat("0."+(e[7]||0)));return o.call(n,a,s,c,l),n}(i)}const n=new Date(e);if(!bI(n))throw new Error(`Unable to convert "${e}" into a date`);return n}(e);n=Ga(t,n)||n;let s,a=[];for(;n;){if(s=nW.exec(n),!s){a.push(n);break}{a=a.concat(s.slice(1));const d=a.pop();if(!d)break;n=d}}let c=r.getTimezoneOffset();i&&(c=yI(i,c),r=function dW(e,n,t){const i=t?-1:1,r=e.getTimezoneOffset();return function lW(e,n){return(e=new Date(e.getTime())).setMinutes(e.getMinutes()+n),e}(e,i*(yI(n,r)-r))}(r,i,!0));let l="";return a.forEach(d=>{const u=function cW(e){if(Mx[e])return Mx[e];let n;switch(e){case"G":case"GG":case"GGG":n=On(pn.Eras,Tn.Abbreviated);break;case"GGGG":n=On(pn.Eras,Tn.Wide);break;case"GGGGG":n=On(pn.Eras,Tn.Narrow);break;case"y":n=ui(fn.FullYear,1,0,!1,!0);break;case"yy":n=ui(fn.FullYear,2,0,!0,!0);break;case"yyy":n=ui(fn.FullYear,3,0,!1,!0);break;case"yyyy":n=ui(fn.FullYear,4,0,!1,!0);break;case"Y":n=mg(1);break;case"YY":n=mg(2,!0);break;case"YYY":n=mg(3);break;case"YYYY":n=mg(4);break;case"M":case"L":n=ui(fn.Month,1,1);break;case"MM":case"LL":n=ui(fn.Month,2,1);break;case"MMM":n=On(pn.Months,Tn.Abbreviated);break;case"MMMM":n=On(pn.Months,Tn.Wide);break;case"MMMMM":n=On(pn.Months,Tn.Narrow);break;case"LLL":n=On(pn.Months,Tn.Abbreviated,rr.Standalone);break;case"LLLL":n=On(pn.Months,Tn.Wide,rr.Standalone);break;case"LLLLL":n=On(pn.Months,Tn.Narrow,rr.Standalone);break;case"w":n=Ax(1);break;case"ww":n=Ax(2);break;case"W":n=Ax(1,!0);break;case"d":n=ui(fn.Date,1);break;case"dd":n=ui(fn.Date,2);break;case"c":case"cc":n=ui(fn.Day,1);break;case"ccc":n=On(pn.Days,Tn.Abbreviated,rr.Standalone);break;case"cccc":n=On(pn.Days,Tn.Wide,rr.Standalone);break;case"ccccc":n=On(pn.Days,Tn.Narrow,rr.Standalone);break;case"cccccc":n=On(pn.Days,Tn.Short,rr.Standalone);break;case"E":case"EE":case"EEE":n=On(pn.Days,Tn.Abbreviated);break;case"EEEE":n=On(pn.Days,Tn.Wide);break;case"EEEEE":n=On(pn.Days,Tn.Narrow);break;case"EEEEEE":n=On(pn.Days,Tn.Short);break;case"a":case"aa":case"aaa":n=On(pn.DayPeriods,Tn.Abbreviated);break;case"aaaa":n=On(pn.DayPeriods,Tn.Wide);break;case"aaaaa":n=On(pn.DayPeriods,Tn.Narrow);break;case"b":case"bb":case"bbb":n=On(pn.DayPeriods,Tn.Abbreviated,rr.Standalone,!0);break;case"bbbb":n=On(pn.DayPeriods,Tn.Wide,rr.Standalone,!0);break;case"bbbbb":n=On(pn.DayPeriods,Tn.Narrow,rr.Standalone,!0);break;case"B":case"BB":case"BBB":n=On(pn.DayPeriods,Tn.Abbreviated,rr.Format,!0);break;case"BBBB":n=On(pn.DayPeriods,Tn.Wide,rr.Format,!0);break;case"BBBBB":n=On(pn.DayPeriods,Tn.Narrow,rr.Format,!0);break;case"h":n=ui(fn.Hours,1,-12);break;case"hh":n=ui(fn.Hours,2,-12);break;case"H":n=ui(fn.Hours,1);break;case"HH":n=ui(fn.Hours,2);break;case"m":n=ui(fn.Minutes,1);break;case"mm":n=ui(fn.Minutes,2);break;case"s":n=ui(fn.Seconds,1);break;case"ss":n=ui(fn.Seconds,2);break;case"S":n=ui(fn.FractionalSeconds,1);break;case"SS":n=ui(fn.FractionalSeconds,2);break;case"SSS":n=ui(fn.FractionalSeconds,3);break;case"Z":case"ZZ":case"ZZZ":n=fg(Ua.Short);break;case"ZZZZZ":n=fg(Ua.Extended);break;case"O":case"OO":case"OOO":case"z":case"zz":case"zzz":n=fg(Ua.ShortGMT);break;case"OOOO":case"ZZZZ":case"zzzz":n=fg(Ua.Long);break;default:return null}return Mx[e]=n,n}(d);l+=u?u(r,t,c):"''"===d?"'":d.replace(/(^'|'$)/g,"").replace(/''/g,"'")}),l}function ug(e,n,t){const i=new Date(0);return i.setFullYear(e,n,t),i.setHours(0,0,0),i}function Ga(e,n){const t=function $G(e){return nr(e)[In.LocaleId]}(e);if(Ah[t]=Ah[t]||{},Ah[t][n])return Ah[t][n];let i="";switch(n){case"shortDate":i=cg(e,Or.Short);break;case"mediumDate":i=cg(e,Or.Medium);break;case"longDate":i=cg(e,Or.Long);break;case"fullDate":i=cg(e,Or.Full);break;case"shortTime":i=lg(e,Or.Short);break;case"mediumTime":i=lg(e,Or.Medium);break;case"longTime":i=lg(e,Or.Long);break;case"fullTime":i=lg(e,Or.Full);break;case"short":const r=Ga(e,"shortTime"),o=Ga(e,"shortDate");i=hg(dg(e,Or.Short),[r,o]);break;case"medium":const a=Ga(e,"mediumTime"),s=Ga(e,"mediumDate");i=hg(dg(e,Or.Medium),[a,s]);break;case"long":const c=Ga(e,"longTime"),l=Ga(e,"longDate");i=hg(dg(e,Or.Long),[c,l]);break;case"full":const d=Ga(e,"fullTime"),u=Ga(e,"fullDate");i=hg(dg(e,Or.Full),[d,u])}return i&&(Ah[t][n]=i),i}function hg(e,n){return n&&(e=e.replace(/\{([^}]+)}/g,function(t,i){return null!=n&&i in n?n[i]:t})),e}function Fo(e,n,t="-",i,r){let o="";(e<0||r&&e<=0)&&(r?e=1-e:(e=-e,o=t));let a=String(e);for(;a.length0||s>-t)&&(s+=t),e===fn.Hours)0===s&&-12===t&&(s=12);else if(e===fn.FractionalSeconds)return function iW(e,n){return Fo(e,3).substring(0,n)}(s,n);const c=ao(a,ai.MinusSign);return Fo(s,n,c,i,r)}}function On(e,n,t=rr.Format,i=!1){return function(r,o){return function oW(e,n,t,i,r,o){switch(t){case pn.Months:return function WG(e,n,t){const i=nr(e),o=so([i[In.MonthsFormat],i[In.MonthsStandalone]],n);return so(o,t)}(n,r,i)[e.getMonth()];case pn.Days:return function GG(e,n,t){const i=nr(e),o=so([i[In.DaysFormat],i[In.DaysStandalone]],n);return so(o,t)}(n,r,i)[e.getDay()];case pn.DayPeriods:const a=e.getHours(),s=e.getMinutes();if(o){const l=function XG(e){const n=nr(e);return gI(n),(n[In.ExtraData][2]||[]).map(i=>"string"==typeof i?Tx(i):[Tx(i[0]),Tx(i[1])])}(n),d=function ZG(e,n,t){const i=nr(e);gI(i);const o=so([i[In.ExtraData][0],i[In.ExtraData][1]],n)||[];return so(o,t)||[]}(n,r,i),u=l.findIndex(h=>{if(Array.isArray(h)){const[f,p]=h,g=a>=f.hours&&s>=f.minutes,v=a0?Math.floor(r/60):Math.ceil(r/60);switch(e){case Ua.Short:return(r>=0?"+":"")+Fo(a,2,o)+Fo(Math.abs(r%60),2,o);case Ua.ShortGMT:return"GMT"+(r>=0?"+":"")+Fo(a,1,o);case Ua.Long:return"GMT"+(r>=0?"+":"")+Fo(a,2,o)+":"+Fo(Math.abs(r%60),2,o);case Ua.Extended:return 0===i?"Z":(r>=0?"+":"")+Fo(a,2,o)+":"+Fo(Math.abs(r%60),2,o);default:throw new Error(`Unknown zone width "${e}"`)}}}const aW=0,pg=4;function _I(e){return ug(e.getFullYear(),e.getMonth(),e.getDate()+(pg-e.getDay()))}function Ax(e,n=!1){return function(t,i){let r;if(n){const o=new Date(t.getFullYear(),t.getMonth(),1).getDay()-1,a=t.getDate();r=1+Math.floor((a+o)/7)}else{const o=_I(t),a=function sW(e){const n=ug(e,aW,1).getDay();return ug(e,0,1+(n<=pg?pg:pg+7)-n)}(o.getFullYear()),s=o.getTime()-a.getTime();r=1+Math.round(s/6048e5)}return Fo(r,e,ao(i,ai.MinusSign))}}function mg(e,n=!1){return function(t,i){return Fo(_I(t).getFullYear(),e,ao(i,ai.MinusSign),n)}}const Mx={};function yI(e,n){e=e.replace(/:/g,"");const t=Date.parse("Jan 01, 1970 00:00:00 "+e)/6e4;return isNaN(t)?n:t}function bI(e){return e instanceof Date&&!isNaN(e.valueOf())}class kW{constructor(n,t,i,r){this.$implicit=n,this.ngForOf=t,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 kd=(()=>{class e{set ngForOf(t){this._ngForOf=t,this._ngForOfDirty=!0}set ngForTrackBy(t){this._trackByFn=t}get ngForTrackBy(){return this._trackByFn}constructor(t,i,r){this._viewContainer=t,this._template=i,this._differs=r,this._ngForOf=null,this._ngForOfDirty=!0,this._differ=null}set ngForTemplate(t){t&&(this._template=t)}ngDoCheck(){if(this._ngForOfDirty){this._ngForOfDirty=!1;const t=this._ngForOf;!this._differ&&t&&(this._differ=this._differs.find(t).create(this.ngForTrackBy))}if(this._differ){const t=this._differ.diff(this._ngForOf);t&&this._applyChanges(t)}}_applyChanges(t){const i=this._viewContainer;t.forEachOperation((r,o,a)=>{if(null==r.previousIndex)i.createEmbeddedView(this._template,new kW(r.item,this._ngForOf,-1,-1),null===a?void 0:a);else if(null==a)i.remove(null===o?void 0:o);else if(null!==o){const s=i.get(o);i.move(s,a),DI(s,r)}});for(let r=0,o=i.length;r{DI(i.get(r.currentIndex),r)})}static ngTemplateContextGuard(t,i){return!0}static#e=this.\u0275fac=function(i){return new(i||e)(T(oo),T(ro),T(og))};static#t=this.\u0275dir=Me({type:e,selectors:[["","ngFor","","ngForOf",""]],inputs:{ngForOf:"ngForOf",ngForTrackBy:"ngForTrackBy",ngForTemplate:"ngForTemplate"},standalone:!0})}return e})();function DI(e,n){e.context.$implicit=n.item}let co=(()=>{class e{constructor(t,i){this._viewContainer=t,this._context=new TW,this._thenTemplateRef=null,this._elseTemplateRef=null,this._thenViewRef=null,this._elseViewRef=null,this._thenTemplateRef=i}set ngIf(t){this._context.$implicit=this._context.ngIf=t,this._updateView()}set ngIfThen(t){kI("ngIfThen",t),this._thenTemplateRef=t,this._thenViewRef=null,this._updateView()}set ngIfElse(t){kI("ngIfElse",t),this._elseTemplateRef=t,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(t,i){return!0}static#e=this.\u0275fac=function(i){return new(i||e)(T(oo),T(ro))};static#t=this.\u0275dir=Me({type:e,selectors:[["","ngIf",""]],inputs:{ngIf:"ngIf",ngIfThen:"ngIfThen",ngIfElse:"ngIfElse"},standalone:!0})}return e})();class TW{constructor(){this.$implicit=null,this.ngIf=null}}function kI(e,n){if(n&&!n.createEmbeddedView)throw new Error(`${e} must be a TemplateRef, but received '${Qn(n)}'.`)}class Lx{constructor(n,t){this._viewContainerRef=n,this._templateRef=t,this._created=!1}create(){this._created=!0,this._viewContainerRef.createEmbeddedView(this._templateRef)}destroy(){this._created=!1,this._viewContainerRef.clear()}enforceState(n){n&&!this._created?this.create():!n&&this._created&&this.destroy()}}let vg=(()=>{class e{constructor(){this._defaultViews=[],this._defaultUsed=!1,this._caseCount=0,this._lastCaseCheckIndex=0,this._lastCasesMatched=!1}set ngSwitch(t){this._ngSwitch=t,0===this._caseCount&&this._updateDefaultCases(!0)}_addCase(){return this._caseCount++}_addDefault(t){this._defaultViews.push(t)}_matchCase(t){const i=t==this._ngSwitch;return this._lastCasesMatched=this._lastCasesMatched||i,this._lastCaseCheckIndex++,this._lastCaseCheckIndex===this._caseCount&&(this._updateDefaultCases(!this._lastCasesMatched),this._lastCaseCheckIndex=0,this._lastCasesMatched=!1),i}_updateDefaultCases(t){if(this._defaultViews.length>0&&t!==this._defaultUsed){this._defaultUsed=t;for(const i of this._defaultViews)i.enforceState(t)}}static#e=this.\u0275fac=function(i){return new(i||e)};static#t=this.\u0275dir=Me({type:e,selectors:[["","ngSwitch",""]],inputs:{ngSwitch:"ngSwitch"},standalone:!0})}return e})(),TI=(()=>{class e{constructor(t,i,r){this.ngSwitch=r,r._addCase(),this._view=new Lx(t,i)}ngDoCheck(){this._view.enforceState(this.ngSwitch._matchCase(this.ngSwitchCase))}static#e=this.\u0275fac=function(i){return new(i||e)(T(oo),T(ro),T(vg,9))};static#t=this.\u0275dir=Me({type:e,selectors:[["","ngSwitchCase",""]],inputs:{ngSwitchCase:"ngSwitchCase"},standalone:!0})}return e})(),Bx=(()=>{class e{constructor(t){this._viewContainerRef=t,this._viewRef=null,this.ngTemplateOutletContext=null,this.ngTemplateOutlet=null,this.ngTemplateOutletInjector=null}ngOnChanges(t){if(t.ngTemplateOutlet||t.ngTemplateOutletInjector){const i=this._viewContainerRef;if(this._viewRef&&i.remove(i.indexOf(this._viewRef)),this.ngTemplateOutlet){const{ngTemplateOutlet:r,ngTemplateOutletContext:o,ngTemplateOutletInjector:a}=this;this._viewRef=i.createEmbeddedView(r,o,a?{injector:a}:void 0)}else this._viewRef=null}else this._viewRef&&t.ngTemplateOutletContext&&this.ngTemplateOutletContext&&(this._viewRef.context=this.ngTemplateOutletContext)}static#e=this.\u0275fac=function(i){return new(i||e)(T(oo))};static#t=this.\u0275dir=Me({type:e,selectors:[["","ngTemplateOutlet",""]],inputs:{ngTemplateOutletContext:"ngTemplateOutletContext",ngTemplateOutlet:"ngTemplateOutlet",ngTemplateOutletInjector:"ngTemplateOutletInjector"},standalone:!0,features:[Tr]})}return e})();class OW{createSubscription(n,t){return _D(()=>n.subscribe({next:t,error:i=>{throw i}}))}dispose(n){_D(()=>n.unsubscribe())}}class RW{createSubscription(n,t){return n.then(t,i=>{throw i})}dispose(n){}}const PW=new RW,NW=new OW;let fa=(()=>{class e{constructor(t){this._latestValue=null,this._subscription=null,this._obj=null,this._strategy=null,this._ref=t}ngOnDestroy(){this._subscription&&this._dispose(),this._ref=null}transform(t){return this._obj?t!==this._obj?(this._dispose(),this.transform(t)):this._latestValue:(t&&this._subscribe(t),this._latestValue)}_subscribe(t){this._obj=t,this._strategy=this._selectStrategy(t),this._subscription=this._strategy.createSubscription(t,i=>this._updateLatestValue(t,i))}_selectStrategy(t){if(Um(t))return PW;if(DT(t))return NW;throw function Lo(e,n){return new q(2100,!1)}()}_dispose(){this._strategy.dispose(this._subscription),this._latestValue=null,this._subscription=null,this._obj=null}_updateLatestValue(t,i){t===this._obj&&(this._latestValue=i,this._ref.markForCheck())}static#e=this.\u0275fac=function(i){return new(i||e)(T(No,16))};static#t=this.\u0275pipe=pr({name:"async",type:e,pure:!1,standalone:!0})}return e})(),Wa=(()=>{class e{static#e=this.\u0275fac=function(i){return new(i||e)};static#t=this.\u0275mod=Rt({type:e});static#n=this.\u0275inj=kt({})}return e})();const II="browser";function OI(e){return"server"===e}class kY extends NG{constructor(){super(...arguments),this.supportsDOMEvents=!0}}class $x extends kY{static makeCurrent(){!function PG(e){Cx||(Cx=e)}(new $x)}onAndCancel(n,t,i){return n.addEventListener(t,i),()=>{n.removeEventListener(t,i)}}dispatchEvent(n,t){n.dispatchEvent(t)}remove(n){n.parentNode&&n.parentNode.removeChild(n)}createElement(n,t){return(t=t||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,t){return"window"===t?window:"document"===t?n:"body"===t?n.body:null}getBaseHref(n){const t=function TY(){return Oh=Oh||document.querySelector("base"),Oh?Oh.getAttribute("href"):null}();return null==t?null:function AY(e){bg=bg||document.createElement("a"),bg.setAttribute("href",e);const n=bg.pathname;return"/"===n.charAt(0)?n:`/${n}`}(t)}resetBaseElement(){Oh=null}getUserAgent(){return window.navigator.userAgent}getCookie(n){return function CW(e,n){n=encodeURIComponent(n);for(const t of e.split(";")){const i=t.indexOf("="),[r,o]=-1==i?[t,""]:[t.slice(0,i),t.slice(i+1)];if(r.trim()===n)return decodeURIComponent(o)}return null}(document.cookie,n)}}let bg,Oh=null,IY=(()=>{class e{build(){return new XMLHttpRequest}static#e=this.\u0275fac=function(i){return new(i||e)};static#t=this.\u0275prov=Se({token:e,factory:e.\u0275fac})}return e})();const Ux=new Ce("EventManagerPlugins");let LI=(()=>{class e{constructor(t,i){this._zone=i,this._eventNameToPlugin=new Map,t.forEach(r=>{r.manager=this}),this._plugins=t.slice().reverse()}addEventListener(t,i,r){return this._findPluginFor(i).addEventListener(t,i,r)}getZone(){return this._zone}_findPluginFor(t){let i=this._eventNameToPlugin.get(t);if(i)return i;if(i=this._plugins.find(o=>o.supports(t)),!i)throw new q(5101,!1);return this._eventNameToPlugin.set(t,i),i}static#e=this.\u0275fac=function(i){return new(i||e)(N(Ux),N(ot))};static#t=this.\u0275prov=Se({token:e,factory:e.\u0275fac})}return e})();class BI{constructor(n){this._doc=n}}const Gx="ng-app-id";let VI=(()=>{class e{constructor(t,i,r,o={}){this.doc=t,this.appId=i,this.nonce=r,this.platformId=o,this.styleRef=new Map,this.hostNodes=new Set,this.styleNodesInDOM=this.collectServerRenderedStyles(),this.platformIsServer=OI(o),this.resetHostNodes()}addStyles(t){for(const i of t)1===this.changeUsageCount(i,1)&&this.onStyleAdded(i)}removeStyles(t){for(const i of t)this.changeUsageCount(i,-1)<=0&&this.onStyleRemoved(i)}ngOnDestroy(){const t=this.styleNodesInDOM;t&&(t.forEach(i=>i.remove()),t.clear());for(const i of this.getAllStyles())this.onStyleRemoved(i);this.resetHostNodes()}addHost(t){this.hostNodes.add(t);for(const i of this.getAllStyles())this.addStyleToHost(t,i)}removeHost(t){this.hostNodes.delete(t)}getAllStyles(){return this.styleRef.keys()}onStyleAdded(t){for(const i of this.hostNodes)this.addStyleToHost(i,t)}onStyleRemoved(t){const i=this.styleRef;i.get(t)?.elements?.forEach(r=>r.remove()),i.delete(t)}collectServerRenderedStyles(){const t=this.doc.head?.querySelectorAll(`style[${Gx}="${this.appId}"]`);if(t?.length){const i=new Map;return t.forEach(r=>{null!=r.textContent&&i.set(r.textContent,r)}),i}return null}changeUsageCount(t,i){const r=this.styleRef;if(r.has(t)){const o=r.get(t);return o.usage+=i,o.usage}return r.set(t,{usage:i,elements:[]}),i}getStyleElement(t,i){const r=this.styleNodesInDOM,o=r?.get(i);if(o?.parentNode===t)return r.delete(i),o.removeAttribute(Gx),o;{const a=this.doc.createElement("style");return this.nonce&&a.setAttribute("nonce",this.nonce),a.textContent=i,this.platformIsServer&&a.setAttribute(Gx,this.appId),a}}addStyleToHost(t,i){const r=this.getStyleElement(t,i);t.appendChild(r);const o=this.styleRef,a=o.get(i)?.elements;a?a.push(r):o.set(i,{elements:[r],usage:1})}resetHostNodes(){const t=this.hostNodes;t.clear(),t.add(this.doc.head)}static#e=this.\u0275fac=function(i){return new(i||e)(N(qt),N(Sm),N(Xb,8),N(xc))};static#t=this.\u0275prov=Se({token:e,factory:e.\u0275fac})}return e})();const Wx={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/"},Yx=/%COMP%/g,NY=new Ce("RemoveStylesOnCompDestroy",{providedIn:"root",factory:()=>!1});function zI(e,n){return n.map(t=>t.replace(Yx,e))}let qx=(()=>{class e{constructor(t,i,r,o,a,s,c,l=null){this.eventManager=t,this.sharedStylesHost=i,this.appId=r,this.removeStylesOnCompDestroy=o,this.doc=a,this.platformId=s,this.ngZone=c,this.nonce=l,this.rendererByCompId=new Map,this.platformIsServer=OI(s),this.defaultRenderer=new Kx(t,a,c,this.platformIsServer)}createRenderer(t,i){if(!t||!i)return this.defaultRenderer;this.platformIsServer&&i.encapsulation===Jr.ShadowDom&&(i={...i,encapsulation:Jr.Emulated});const r=this.getOrCreateRenderer(t,i);return r instanceof $I?r.applyToHost(t):r instanceof Xx&&r.applyStyles(),r}getOrCreateRenderer(t,i){const r=this.rendererByCompId;let o=r.get(i.id);if(!o){const a=this.doc,s=this.ngZone,c=this.eventManager,l=this.sharedStylesHost,d=this.removeStylesOnCompDestroy,u=this.platformIsServer;switch(i.encapsulation){case Jr.Emulated:o=new $I(c,l,i,this.appId,d,a,s,u);break;case Jr.ShadowDom:return new VY(c,l,t,i,a,s,this.nonce,u);default:o=new Xx(c,l,i,d,a,s,u)}r.set(i.id,o)}return o}ngOnDestroy(){this.rendererByCompId.clear()}static#e=this.\u0275fac=function(i){return new(i||e)(N(LI),N(VI),N(Sm),N(NY),N(qt),N(xc),N(ot),N(Xb))};static#t=this.\u0275prov=Se({token:e,factory:e.\u0275fac})}return e})();class Kx{constructor(n,t,i,r){this.eventManager=n,this.doc=t,this.ngZone=i,this.platformIsServer=r,this.data=Object.create(null),this.destroyNode=null}destroy(){}createElement(n,t){return t?this.doc.createElementNS(Wx[t]||t,n):this.doc.createElement(n)}createComment(n){return this.doc.createComment(n)}createText(n){return this.doc.createTextNode(n)}appendChild(n,t){(HI(n)?n.content:n).appendChild(t)}insertBefore(n,t,i){n&&(HI(n)?n.content:n).insertBefore(t,i)}removeChild(n,t){n&&n.removeChild(t)}selectRootElement(n,t){let i="string"==typeof n?this.doc.querySelector(n):n;if(!i)throw new q(-5104,!1);return t||(i.textContent=""),i}parentNode(n){return n.parentNode}nextSibling(n){return n.nextSibling}setAttribute(n,t,i,r){if(r){t=r+":"+t;const o=Wx[r];o?n.setAttributeNS(o,t,i):n.setAttribute(t,i)}else n.setAttribute(t,i)}removeAttribute(n,t,i){if(i){const r=Wx[i];r?n.removeAttributeNS(r,t):n.removeAttribute(`${i}:${t}`)}else n.removeAttribute(t)}addClass(n,t){n.classList.add(t)}removeClass(n,t){n.classList.remove(t)}setStyle(n,t,i,r){r&(Ss.DashCase|Ss.Important)?n.style.setProperty(t,i,r&Ss.Important?"important":""):n.style[t]=i}removeStyle(n,t,i){i&Ss.DashCase?n.style.removeProperty(t):n.style[t]=""}setProperty(n,t,i){n[t]=i}setValue(n,t){n.nodeValue=t}listen(n,t,i){if("string"==typeof n&&!(n=As().getGlobalEventTarget(this.doc,n)))throw new Error(`Unsupported event target ${n} for event ${t}`);return this.eventManager.addEventListener(n,t,this.decoratePreventDefault(i))}decoratePreventDefault(n){return t=>{if("__ngUnwrap__"===t)return n;!1===(this.platformIsServer?this.ngZone.runGuarded(()=>n(t)):n(t))&&t.preventDefault()}}}function HI(e){return"TEMPLATE"===e.tagName&&void 0!==e.content}class VY extends Kx{constructor(n,t,i,r,o,a,s,c){super(n,o,a,c),this.sharedStylesHost=t,this.hostEl=i,this.shadowRoot=i.attachShadow({mode:"open"}),this.sharedStylesHost.addHost(this.shadowRoot);const l=zI(r.id,r.styles);for(const d of l){const u=document.createElement("style");s&&u.setAttribute("nonce",s),u.textContent=d,this.shadowRoot.appendChild(u)}}nodeOrShadowRoot(n){return n===this.hostEl?this.shadowRoot:n}appendChild(n,t){return super.appendChild(this.nodeOrShadowRoot(n),t)}insertBefore(n,t,i){return super.insertBefore(this.nodeOrShadowRoot(n),t,i)}removeChild(n,t){return super.removeChild(this.nodeOrShadowRoot(n),t)}parentNode(n){return this.nodeOrShadowRoot(super.parentNode(this.nodeOrShadowRoot(n)))}destroy(){this.sharedStylesHost.removeHost(this.shadowRoot)}}class Xx extends Kx{constructor(n,t,i,r,o,a,s,c){super(n,o,a,s),this.sharedStylesHost=t,this.removeStylesOnCompDestroy=r,this.styles=c?zI(c,i.styles):i.styles}applyStyles(){this.sharedStylesHost.addStyles(this.styles)}destroy(){this.removeStylesOnCompDestroy&&this.sharedStylesHost.removeStyles(this.styles)}}class $I extends Xx{constructor(n,t,i,r,o,a,s,c){const l=r+"-"+i.id;super(n,t,i,o,a,s,c,l),this.contentAttr=function FY(e){return"_ngcontent-%COMP%".replace(Yx,e)}(l),this.hostAttr=function LY(e){return"_nghost-%COMP%".replace(Yx,e)}(l)}applyToHost(n){this.applyStyles(),this.setAttribute(n,this.hostAttr,"")}createElement(n,t){const i=super.createElement(n,t);return super.setAttribute(i,this.contentAttr,""),i}}let jY=(()=>{class e extends BI{constructor(t){super(t)}supports(t){return!0}addEventListener(t,i,r){return t.addEventListener(i,r,!1),()=>this.removeEventListener(t,i,r)}removeEventListener(t,i,r){return t.removeEventListener(i,r)}static#e=this.\u0275fac=function(i){return new(i||e)(N(qt))};static#t=this.\u0275prov=Se({token:e,factory:e.\u0275fac})}return e})();const UI=["alt","control","meta","shift"],zY={"\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"},HY={alt:e=>e.altKey,control:e=>e.ctrlKey,meta:e=>e.metaKey,shift:e=>e.shiftKey};let $Y=(()=>{class e extends BI{constructor(t){super(t)}supports(t){return null!=e.parseEventName(t)}addEventListener(t,i,r){const o=e.parseEventName(i),a=e.eventCallback(o.fullKey,r,this.manager.getZone());return this.manager.getZone().runOutsideAngular(()=>As().onAndCancel(t,o.domEventName,a))}static parseEventName(t){const i=t.toLowerCase().split("."),r=i.shift();if(0===i.length||"keydown"!==r&&"keyup"!==r)return null;const o=e._normalizeKey(i.pop());let a="",s=i.indexOf("code");if(s>-1&&(i.splice(s,1),a="code."),UI.forEach(l=>{const d=i.indexOf(l);d>-1&&(i.splice(d,1),a+=l+".")}),a+=o,0!=i.length||0===o.length)return null;const c={};return c.domEventName=r,c.fullKey=a,c}static matchEventFullKeyCode(t,i){let r=zY[t.key]||t.key,o="";return i.indexOf("code.")>-1&&(r=t.code,o="code."),!(null==r||!r)&&(r=r.toLowerCase()," "===r?r="space":"."===r&&(r="dot"),UI.forEach(a=>{a!==r&&(0,HY[a])(t)&&(o+=a+".")}),o+=r,o===i)}static eventCallback(t,i,r){return o=>{e.matchEventFullKeyCode(o,t)&&r.runGuarded(()=>i(o))}}static _normalizeKey(t){return"esc"===t?"escape":t}static#e=this.\u0275fac=function(i){return new(i||e)(N(qt))};static#t=this.\u0275prov=Se({token:e,factory:e.\u0275fac})}return e})();const YY=VM(xG,"browser",[{provide:xc,useValue:II},{provide:sk,useValue:function UY(){$x.makeCurrent()},multi:!0},{provide:qt,useFactory:function WY(){return function wj(e){Lb=e}(document),document},deps:[]}]),qY=new Ce(""),YI=[{provide:tg,useClass:class MY{addToWindow(n){An.getAngularTestability=(i,r=!0)=>{const o=n.findTestabilityInTree(i,r);if(null==o)throw new q(5103,!1);return o},An.getAllAngularTestabilities=()=>n.getAllTestabilities(),An.getAllAngularRootElements=()=>n.getAllRootElements(),An.frameworkStabilizers||(An.frameworkStabilizers=[]),An.frameworkStabilizers.push(i=>{const r=An.getAllAngularTestabilities();let o=r.length,a=!1;const s=function(c){a=a||c,o--,0==o&&i(a)};r.forEach(c=>{c.whenStable(s)})})}findTestabilityInTree(n,t,i){return null==t?null:n.getTestability(t)??(i?As().isShadowRoot(t)?this.findTestabilityInTree(n,t.host,!0):this.findTestabilityInTree(n,t.parentElement,!0):null)}},deps:[]},{provide:PM,useClass:fx,deps:[ot,px,tg]},{provide:fx,useClass:fx,deps:[ot,px,tg]}],qI=[{provide:Wb,useValue:"root"},{provide:ja,useFactory:function GY(){return new ja},deps:[]},{provide:Ux,useClass:jY,multi:!0,deps:[qt,ot,xc]},{provide:Ux,useClass:$Y,multi:!0,deps:[qt]},qx,VI,LI,{provide:ch,useExisting:qx},{provide:class rY{},useClass:IY,deps:[]},[]];let KI=(()=>{class e{constructor(t){}static withServerTransition(t){return{ngModule:e,providers:[{provide:Sm,useValue:t.appId}]}}static#e=this.\u0275fac=function(i){return new(i||e)(N(qY,12))};static#t=this.\u0275mod=Rt({type:e});static#n=this.\u0275inj=kt({providers:[...qI,...YI],imports:[Wa,wG]})}return e})();typeof window<"u"&&window;const{isArray:tq}=Array,{getPrototypeOf:nq,prototype:iq,keys:rq}=Object;function JI(e){if(1===e.length){const n=e[0];if(tq(n))return{args:n,keys:null};if(function oq(e){return e&&"object"==typeof e&&nq(e)===iq}(n)){const t=rq(n);return{args:t.map(i=>n[i]),keys:t}}}return{args:e,keys:null}}const{isArray:aq}=Array;function Qx(e){return ce(n=>function sq(e,n){return aq(n)?e(...n):e(n)}(e,n))}function eO(e,n){return e.reduce((t,i,r)=>(t[i]=n[r],t),{})}let tO=(()=>{class e{constructor(t,i){this._renderer=t,this._elementRef=i,this.onChange=r=>{},this.onTouched=()=>{}}setProperty(t,i){this._renderer.setProperty(this._elementRef.nativeElement,t,i)}registerOnTouched(t){this.onTouched=t}registerOnChange(t){this.onChange=t}setDisabledState(t){this.setProperty("disabled",t)}static#e=this.\u0275fac=function(i){return new(i||e)(T(wc),T(Ft))};static#t=this.\u0275dir=Me({type:e})}return e})(),Ic=(()=>{class e extends tO{static#e=this.\u0275fac=function(){let t;return function(r){return(t||(t=Kn(e)))(r||e)}}();static#t=this.\u0275dir=Me({type:e,features:[dt]})}return e})();const Rr=new Ce("NgValueAccessor"),lq={provide:Rr,useExisting:y(()=>Jx),multi:!0};let Jx=(()=>{class e extends Ic{writeValue(t){this.setProperty("checked",t)}static#e=this.\u0275fac=function(){let t;return function(r){return(t||(t=Kn(e)))(r||e)}}();static#t=this.\u0275dir=Me({type:e,selectors:[["input","type","checkbox","formControlName",""],["input","type","checkbox","formControl",""],["input","type","checkbox","ngModel",""]],hostBindings:function(i,r){1&i&&Be("change",function(a){return r.onChange(a.target.checked)})("blur",function(){return r.onTouched()})},features:[Yt([lq]),dt]})}return e})();const dq={provide:Rr,useExisting:y(()=>Rh),multi:!0},hq=new Ce("CompositionEventMode");let Rh=(()=>{class e extends tO{constructor(t,i,r){super(t,i),this._compositionMode=r,this._composing=!1,null==this._compositionMode&&(this._compositionMode=!function uq(){const e=As()?As().getUserAgent():"";return/android (\d+)/.test(e.toLowerCase())}())}writeValue(t){this.setProperty("value",t??"")}_handleInput(t){(!this._compositionMode||this._compositionMode&&!this._composing)&&this.onChange(t)}_compositionStart(){this._composing=!0}_compositionEnd(t){this._composing=!1,this._compositionMode&&this.onChange(t)}static#e=this.\u0275fac=function(i){return new(i||e)(T(wc),T(Ft),T(hq,8))};static#t=this.\u0275dir=Me({type:e,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&&Be("input",function(a){return r._handleInput(a.target.value)})("blur",function(){return r.onTouched()})("compositionstart",function(){return r._compositionStart()})("compositionend",function(a){return r._compositionEnd(a.target.value)})},features:[Yt([dq]),dt]})}return e})();function Is(e){return null==e||("string"==typeof e||Array.isArray(e))&&0===e.length}function nO(e){return null!=e&&"number"==typeof e.length}const Ni=new Ce("NgValidators"),Os=new Ce("NgAsyncValidators"),fq=/^(?=.{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 pq{static min(n){return function iO(e){return n=>{if(Is(n.value)||Is(e))return null;const t=parseFloat(n.value);return!isNaN(t)&&t{if(Is(n.value)||Is(e))return null;const t=parseFloat(n.value);return!isNaN(t)&&t>e?{max:{max:e,actual:n.value}}:null}}(n)}static required(n){return function oO(e){return Is(e.value)?{required:!0}:null}(n)}static requiredTrue(n){return function aO(e){return!0===e.value?null:{required:!0}}(n)}static email(n){return function sO(e){return Is(e.value)||fq.test(e.value)?null:{email:!0}}(n)}static minLength(n){return function cO(e){return n=>Is(n.value)||!nO(n.value)?null:n.value.length{if(Is(i.value))return null;const r=i.value;return n.test(r)?null:{pattern:{requiredPattern:t,actualValue:r}}}}(n)}static nullValidator(n){return null}static compose(n){return gO(n)}static composeAsync(n){return vO(n)}}function lO(e){return n=>nO(n.value)&&n.value.length>e?{maxlength:{requiredLength:e,actualLength:n.value.length}}:null}function xg(e){return null}function uO(e){return null!=e}function hO(e){return Um(e)?ki(e):e}function fO(e){let n={};return e.forEach(t=>{n=null!=t?{...n,...t}:n}),0===Object.keys(n).length?null:n}function pO(e,n){return n.map(t=>t(e))}function mO(e){return e.map(n=>function mq(e){return!e.validate}(n)?n:t=>n.validate(t))}function gO(e){if(!e)return null;const n=e.filter(uO);return 0==n.length?null:function(t){return fO(pO(t,n))}}function ew(e){return null!=e?gO(mO(e)):null}function vO(e){if(!e)return null;const n=e.filter(uO);return 0==n.length?null:function(t){return function cq(...e){const n=Pp(e),{args:t,keys:i}=JI(e),r=new pt(o=>{const{length:a}=t;if(!a)return void o.complete();const s=new Array(a);let c=a,l=a;for(let d=0;d{u||(u=!0,l--),s[d]=h},()=>c--,void 0,()=>{(!c||!u)&&(l||o.next(i?eO(i,s):s),o.complete())}))}});return n?r.pipe(Qx(n)):r}(pO(t,n).map(hO)).pipe(ce(fO))}}function tw(e){return null!=e?vO(mO(e)):null}function _O(e,n){return null===e?[n]:Array.isArray(e)?[...e,n]:[e,n]}function yO(e){return e._rawValidators}function bO(e){return e._rawAsyncValidators}function nw(e){return e?Array.isArray(e)?e:[e]:[]}function wg(e,n){return Array.isArray(e)?e.includes(n):e===n}function xO(e,n){const t=nw(n);return nw(e).forEach(r=>{wg(t,r)||t.push(r)}),t}function wO(e,n){return nw(n).filter(t=>!wg(e,t))}class EO{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=ew(this._rawValidators)}_setAsyncValidators(n){this._rawAsyncValidators=n||[],this._composedAsyncValidatorFn=tw(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,t){return!!this.control&&this.control.hasError(n,t)}getError(n,t){return this.control?this.control.getError(n,t):null}}class or extends EO{get formDirective(){return null}get path(){return null}}class Ya extends EO{constructor(){super(...arguments),this._parent=null,this.name=null,this.valueAccessor=null}}class CO{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 iw=(()=>{class e extends CO{constructor(t){super(t)}static#e=this.\u0275fac=function(i){return new(i||e)(T(Ya,2))};static#t=this.\u0275dir=Me({type:e,selectors:[["","formControlName",""],["","ngModel",""],["","formControl",""]],hostVars:14,hostBindings:function(i,r){2&i&&Ct("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:[dt]})}return e})(),Eg=(()=>{class e extends CO{constructor(t){super(t)}static#e=this.\u0275fac=function(i){return new(i||e)(T(or,10))};static#t=this.\u0275dir=Me({type:e,selectors:[["","formGroupName",""],["","formArrayName",""],["","ngModelGroup",""],["","formGroup",""],["form",3,"ngNoForm",""],["","ngForm",""]],hostVars:16,hostBindings:function(i,r){2&i&&Ct("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:[dt]})}return e})();const Ph="VALID",Sg="INVALID",Td="PENDING",Nh="DISABLED";function aw(e){return(Dg(e)?e.validators:e)||null}function sw(e,n){return(Dg(n)?n.asyncValidators:e)||null}function Dg(e){return null!=e&&!Array.isArray(e)&&"object"==typeof e}function DO(e,n,t){const i=e.controls;if(!(n?Object.keys(i):i).length)throw new q(1e3,"");if(!i[t])throw new q(1001,"")}function kO(e,n,t){e._forEachChild((i,r)=>{if(void 0===t[r])throw new q(1002,"")})}class kg{constructor(n,t){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(t)}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===Ph}get invalid(){return this.status===Sg}get pending(){return this.status==Td}get disabled(){return this.status===Nh}get enabled(){return this.status!==Nh}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(xO(n,this._rawValidators))}addAsyncValidators(n){this.setAsyncValidators(xO(n,this._rawAsyncValidators))}removeValidators(n){this.setValidators(wO(n,this._rawValidators))}removeAsyncValidators(n){this.setAsyncValidators(wO(n,this._rawAsyncValidators))}hasValidator(n){return wg(this._rawValidators,n)}hasAsyncValidator(n){return wg(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(t=>{t.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(t=>{t.markAsPristine({onlySelf:!0})}),this._parent&&!n.onlySelf&&this._parent._updatePristine(n)}markAsPending(n={}){this.status=Td,!1!==n.emitEvent&&this.statusChanges.emit(this.status),this._parent&&!n.onlySelf&&this._parent.markAsPending(n)}disable(n={}){const t=this._parentMarkedDirty(n.onlySelf);this.status=Nh,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:t}),this._onDisabledChange.forEach(i=>i(!0))}enable(n={}){const t=this._parentMarkedDirty(n.onlySelf);this.status=Ph,this._forEachChild(i=>{i.enable({...n,onlySelf:!0})}),this.updateValueAndValidity({onlySelf:!0,emitEvent:n.emitEvent}),this._updateAncestors({...n,skipPristineCheck:t}),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===Ph||this.status===Td)&&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(t=>t._updateTreeValidity(n)),this.updateValueAndValidity({onlySelf:!0,emitEvent:n.emitEvent})}_setInitialStatus(){this.status=this._allControlsDisabled()?Nh:Ph}_runValidator(){return this.validator?this.validator(this):null}_runAsyncValidator(n){if(this.asyncValidator){this.status=Td,this._hasOwnPendingAsyncValidator=!0;const t=hO(this.asyncValidator(this));this._asyncValidationSubscription=t.subscribe(i=>{this._hasOwnPendingAsyncValidator=!1,this.setErrors(i,{emitEvent:n})})}}_cancelExistingSubscription(){this._asyncValidationSubscription&&(this._asyncValidationSubscription.unsubscribe(),this._hasOwnPendingAsyncValidator=!1)}setErrors(n,t={}){this.errors=n,this._updateControlsErrors(!1!==t.emitEvent)}get(n){let t=n;return null==t||(Array.isArray(t)||(t=t.split(".")),0===t.length)?null:t.reduce((i,r)=>i&&i._find(r),this)}getError(n,t){const i=t?this.get(t):this;return i&&i.errors?i.errors[n]:null}hasError(n,t){return!!this.getError(n,t)}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 Xt,this.statusChanges=new Xt}_calculateStatus(){return this._allControlsDisabled()?Nh:this.errors?Sg:this._hasOwnPendingAsyncValidator||this._anyControlsHaveStatus(Td)?Td:this._anyControlsHaveStatus(Sg)?Sg:Ph}_anyControlsHaveStatus(n){return this._anyControls(t=>t.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){Dg(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 yq(e){return Array.isArray(e)?ew(e):e||null}(this._rawValidators)}_assignAsyncValidators(n){this._rawAsyncValidators=Array.isArray(n)?n.slice():n,this._composedAsyncValidatorFn=function bq(e){return Array.isArray(e)?tw(e):e||null}(this._rawAsyncValidators)}}class Fh extends kg{constructor(n,t,i){super(aw(t),sw(i,t)),this.controls=n,this._initObservables(),this._setUpdateStrategy(t),this._setUpControls(),this.updateValueAndValidity({onlySelf:!0,emitEvent:!!this.asyncValidator})}registerControl(n,t){return this.controls[n]?this.controls[n]:(this.controls[n]=t,t.setParent(this),t._registerOnCollectionChange(this._onCollectionChange),t)}addControl(n,t,i={}){this.registerControl(n,t),this.updateValueAndValidity({emitEvent:i.emitEvent}),this._onCollectionChange()}removeControl(n,t={}){this.controls[n]&&this.controls[n]._registerOnCollectionChange(()=>{}),delete this.controls[n],this.updateValueAndValidity({emitEvent:t.emitEvent}),this._onCollectionChange()}setControl(n,t,i={}){this.controls[n]&&this.controls[n]._registerOnCollectionChange(()=>{}),delete this.controls[n],t&&this.registerControl(n,t),this.updateValueAndValidity({emitEvent:i.emitEvent}),this._onCollectionChange()}contains(n){return this.controls.hasOwnProperty(n)&&this.controls[n].enabled}setValue(n,t={}){kO(this,0,n),Object.keys(n).forEach(i=>{DO(this,!0,i),this.controls[i].setValue(n[i],{onlySelf:!0,emitEvent:t.emitEvent})}),this.updateValueAndValidity(t)}patchValue(n,t={}){null!=n&&(Object.keys(n).forEach(i=>{const r=this.controls[i];r&&r.patchValue(n[i],{onlySelf:!0,emitEvent:t.emitEvent})}),this.updateValueAndValidity(t))}reset(n={},t={}){this._forEachChild((i,r)=>{i.reset(n?n[r]:null,{onlySelf:!0,emitEvent:t.emitEvent})}),this._updatePristine(t),this._updateTouched(t),this.updateValueAndValidity(t)}getRawValue(){return this._reduceChildren({},(n,t,i)=>(n[i]=t.getRawValue(),n))}_syncPendingControls(){let n=this._reduceChildren(!1,(t,i)=>!!i._syncPendingControls()||t);return n&&this.updateValueAndValidity({onlySelf:!0}),n}_forEachChild(n){Object.keys(this.controls).forEach(t=>{const i=this.controls[t];i&&n(i,t)})}_setUpControls(){this._forEachChild(n=>{n.setParent(this),n._registerOnCollectionChange(this._onCollectionChange)})}_updateValue(){this.value=this._reduceValue()}_anyControls(n){for(const[t,i]of Object.entries(this.controls))if(this.contains(t)&&n(i))return!0;return!1}_reduceValue(){return this._reduceChildren({},(t,i,r)=>((i.enabled||this.disabled)&&(t[r]=i.value),t))}_reduceChildren(n,t){let i=n;return this._forEachChild((r,o)=>{i=t(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 TO extends Fh{}const Oc=new Ce("CallSetDisabledState",{providedIn:"root",factory:()=>Lh}),Lh="always";function Bh(e,n,t=Lh){cw(e,n),n.valueAccessor.writeValue(e.value),(e.disabled||"always"===t)&&n.valueAccessor.setDisabledState?.(e.disabled),function wq(e,n){n.valueAccessor.registerOnChange(t=>{e._pendingValue=t,e._pendingChange=!0,e._pendingDirty=!0,"change"===e.updateOn&&AO(e,n)})}(e,n),function Cq(e,n){const t=(i,r)=>{n.valueAccessor.writeValue(i),r&&n.viewToModelUpdate(i)};e.registerOnChange(t),n._registerOnDestroy(()=>{e._unregisterOnChange(t)})}(e,n),function Eq(e,n){n.valueAccessor.registerOnTouched(()=>{e._pendingTouched=!0,"blur"===e.updateOn&&e._pendingChange&&AO(e,n),"submit"!==e.updateOn&&e.markAsTouched()})}(e,n),function xq(e,n){if(n.valueAccessor.setDisabledState){const t=i=>{n.valueAccessor.setDisabledState(i)};e.registerOnDisabledChange(t),n._registerOnDestroy(()=>{e._unregisterOnDisabledChange(t)})}}(e,n)}function Ag(e,n,t=!0){const i=()=>{};n.valueAccessor&&(n.valueAccessor.registerOnChange(i),n.valueAccessor.registerOnTouched(i)),Ig(e,n),e&&(n._invokeOnDestroyCallbacks(),e._registerOnCollectionChange(()=>{}))}function Mg(e,n){e.forEach(t=>{t.registerOnValidatorChange&&t.registerOnValidatorChange(n)})}function cw(e,n){const t=yO(e);null!==n.validator?e.setValidators(_O(t,n.validator)):"function"==typeof t&&e.setValidators([t]);const i=bO(e);null!==n.asyncValidator?e.setAsyncValidators(_O(i,n.asyncValidator)):"function"==typeof i&&e.setAsyncValidators([i]);const r=()=>e.updateValueAndValidity();Mg(n._rawValidators,r),Mg(n._rawAsyncValidators,r)}function Ig(e,n){let t=!1;if(null!==e){if(null!==n.validator){const r=yO(e);if(Array.isArray(r)&&r.length>0){const o=r.filter(a=>a!==n.validator);o.length!==r.length&&(t=!0,e.setValidators(o))}}if(null!==n.asyncValidator){const r=bO(e);if(Array.isArray(r)&&r.length>0){const o=r.filter(a=>a!==n.asyncValidator);o.length!==r.length&&(t=!0,e.setAsyncValidators(o))}}}const i=()=>{};return Mg(n._rawValidators,i),Mg(n._rawAsyncValidators,i),t}function AO(e,n){e._pendingDirty&&e.markAsDirty(),e.setValue(e._pendingValue,{emitModelToViewChange:!1}),n.viewToModelUpdate(e._pendingValue),e._pendingChange=!1}function MO(e,n){cw(e,n)}function IO(e,n){e._syncPendingControls(),n.forEach(t=>{const i=t.control;"submit"===i.updateOn&&i._pendingChange&&(t.viewToModelUpdate(i._pendingValue),i._pendingChange=!1)})}const Aq={provide:or,useExisting:y(()=>jh)},Vh=(()=>Promise.resolve())();let jh=(()=>{class e extends or{constructor(t,i,r){super(),this.callSetDisabledState=r,this.submitted=!1,this._directives=new Set,this.ngSubmit=new Xt,this.form=new Fh({},ew(t),tw(i))}ngAfterViewInit(){this._setUpdateStrategy()}get formDirective(){return this}get control(){return this.form}get path(){return[]}get controls(){return this.form.controls}addControl(t){Vh.then(()=>{const i=this._findContainer(t.path);t.control=i.registerControl(t.name,t.control),Bh(t.control,t,this.callSetDisabledState),t.control.updateValueAndValidity({emitEvent:!1}),this._directives.add(t)})}getControl(t){return this.form.get(t.path)}removeControl(t){Vh.then(()=>{const i=this._findContainer(t.path);i&&i.removeControl(t.name),this._directives.delete(t)})}addFormGroup(t){Vh.then(()=>{const i=this._findContainer(t.path),r=new Fh({});MO(r,t),i.registerControl(t.name,r),r.updateValueAndValidity({emitEvent:!1})})}removeFormGroup(t){Vh.then(()=>{const i=this._findContainer(t.path);i&&i.removeControl(t.name)})}getFormGroup(t){return this.form.get(t.path)}updateModel(t,i){Vh.then(()=>{this.form.get(t.path).setValue(i)})}setValue(t){this.control.setValue(t)}onSubmit(t){return this.submitted=!0,IO(this.form,this._directives),this.ngSubmit.emit(t),"dialog"===t?.target?.method}onReset(){this.resetForm()}resetForm(t=void 0){this.form.reset(t),this.submitted=!1}_setUpdateStrategy(){this.options&&null!=this.options.updateOn&&(this.form._updateOn=this.options.updateOn)}_findContainer(t){return t.pop(),t.length?this.form.get(t):this.form}static#e=this.\u0275fac=function(i){return new(i||e)(T(Ni,10),T(Os,10),T(Oc,8))};static#t=this.\u0275dir=Me({type:e,selectors:[["form",3,"ngNoForm","",3,"formGroup",""],["ng-form"],["","ngForm",""]],hostBindings:function(i,r){1&i&&Be("submit",function(a){return r.onSubmit(a)})("reset",function(){return r.onReset()})},inputs:{options:["ngFormOptions","options"]},outputs:{ngSubmit:"ngSubmit"},exportAs:["ngForm"],features:[Yt([Aq]),dt]})}return e})();function OO(e,n){const t=e.indexOf(n);t>-1&&e.splice(t,1)}function RO(e){return"object"==typeof e&&null!==e&&2===Object.keys(e).length&&"value"in e&&"disabled"in e}const zh=class extends kg{constructor(n=null,t,i){super(aw(t),sw(i,t)),this.defaultValue=null,this._onChange=[],this._pendingChange=!1,this._applyFormState(n),this._setUpdateStrategy(t),this._initObservables(),this.updateValueAndValidity({onlySelf:!0,emitEvent:!!this.asyncValidator}),Dg(t)&&(t.nonNullable||t.initialValueIsDefault)&&(this.defaultValue=RO(n)?n.value:n)}setValue(n,t={}){this.value=this._pendingValue=n,this._onChange.length&&!1!==t.emitModelToViewChange&&this._onChange.forEach(i=>i(this.value,!1!==t.emitViewToModelChange)),this.updateValueAndValidity(t)}patchValue(n,t={}){this.setValue(n,t)}reset(n=this.defaultValue,t={}){this._applyFormState(n),this.markAsPristine(t),this.markAsUntouched(t),this.setValue(this.value,t),this._pendingChange=!1}_updateValue(){}_anyControls(n){return!1}_allControlsDisabled(){return this.disabled}registerOnChange(n){this._onChange.push(n)}_unregisterOnChange(n){OO(this._onChange,n)}registerOnDisabledChange(n){this._onDisabledChange.push(n)}_unregisterOnDisabledChange(n){OO(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){RO(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}};let Og=(()=>{class e{static#e=this.\u0275fac=function(i){return new(i||e)};static#t=this.\u0275dir=Me({type:e,selectors:[["form",3,"ngNoForm","",3,"ngNativeValidate",""]],hostAttrs:["novalidate",""]})}return e})();const Rq={provide:Rr,useExisting:y(()=>hw),multi:!0};let hw=(()=>{class e extends Ic{writeValue(t){this.setProperty("value",t??"")}registerOnChange(t){this.onChange=i=>{t(""==i?null:parseFloat(i))}}static#e=this.\u0275fac=function(){let t;return function(r){return(t||(t=Kn(e)))(r||e)}}();static#t=this.\u0275dir=Me({type:e,selectors:[["input","type","number","formControlName",""],["input","type","number","formControl",""],["input","type","number","ngModel",""]],hostBindings:function(i,r){1&i&&Be("input",function(a){return r.onChange(a.target.value)})("blur",function(){return r.onTouched()})},features:[Yt([Rq]),dt]})}return e})(),BO=(()=>{class e{static#e=this.\u0275fac=function(i){return new(i||e)};static#t=this.\u0275mod=Rt({type:e});static#n=this.\u0275inj=kt({})}return e})();const fw=new Ce("NgModelWithFormControlWarning"),Bq={provide:or,useExisting:y(()=>Ad)};let Ad=(()=>{class e extends or{constructor(t,i,r){super(),this.callSetDisabledState=r,this.submitted=!1,this._onCollectionChange=()=>this._updateDomValue(),this.directives=[],this.form=null,this.ngSubmit=new Xt,this._setValidators(t),this._setAsyncValidators(i)}ngOnChanges(t){this._checkFormPresent(),t.hasOwnProperty("form")&&(this._updateValidators(),this._updateDomValue(),this._updateRegistrations(),this._oldForm=this.form)}ngOnDestroy(){this.form&&(Ig(this.form,this),this.form._onCollectionChange===this._onCollectionChange&&this.form._registerOnCollectionChange(()=>{}))}get formDirective(){return this}get control(){return this.form}get path(){return[]}addControl(t){const i=this.form.get(t.path);return Bh(i,t,this.callSetDisabledState),i.updateValueAndValidity({emitEvent:!1}),this.directives.push(t),i}getControl(t){return this.form.get(t.path)}removeControl(t){Ag(t.control||null,t,!1),function Tq(e,n){const t=e.indexOf(n);t>-1&&e.splice(t,1)}(this.directives,t)}addFormGroup(t){this._setUpFormContainer(t)}removeFormGroup(t){this._cleanUpFormContainer(t)}getFormGroup(t){return this.form.get(t.path)}addFormArray(t){this._setUpFormContainer(t)}removeFormArray(t){this._cleanUpFormContainer(t)}getFormArray(t){return this.form.get(t.path)}updateModel(t,i){this.form.get(t.path).setValue(i)}onSubmit(t){return this.submitted=!0,IO(this.form,this.directives),this.ngSubmit.emit(t),"dialog"===t?.target?.method}onReset(){this.resetForm()}resetForm(t=void 0){this.form.reset(t),this.submitted=!1}_updateDomValue(){this.directives.forEach(t=>{const i=t.control,r=this.form.get(t.path);i!==r&&(Ag(i||null,t),(e=>e instanceof zh)(r)&&(Bh(r,t,this.callSetDisabledState),t.control=r))}),this.form._updateTreeValidity({emitEvent:!1})}_setUpFormContainer(t){const i=this.form.get(t.path);MO(i,t),i.updateValueAndValidity({emitEvent:!1})}_cleanUpFormContainer(t){if(this.form){const i=this.form.get(t.path);i&&function Sq(e,n){return Ig(e,n)}(i,t)&&i.updateValueAndValidity({emitEvent:!1})}}_updateRegistrations(){this.form._registerOnCollectionChange(this._onCollectionChange),this._oldForm&&this._oldForm._registerOnCollectionChange(()=>{})}_updateValidators(){cw(this.form,this),this._oldForm&&Ig(this._oldForm,this)}_checkFormPresent(){}static#e=this.\u0275fac=function(i){return new(i||e)(T(Ni,10),T(Os,10),T(Oc,8))};static#t=this.\u0275dir=Me({type:e,selectors:[["","formGroup",""]],hostBindings:function(i,r){1&i&&Be("submit",function(a){return r.onSubmit(a)})("reset",function(){return r.onReset()})},inputs:{form:["formGroup","form"]},outputs:{ngSubmit:"ngSubmit"},exportAs:["ngForm"],features:[Yt([Bq]),dt,Tr]})}return e})();const zq={provide:Ya,useExisting:y(()=>Rg)};let Rg=(()=>{class e extends Ya{set isDisabled(t){}static#e=this._ngModelWarningSentOnce=!1;constructor(t,i,r,o,a){super(),this._ngModelWarningConfig=a,this._added=!1,this.name=null,this.update=new Xt,this._ngModelWarningSent=!1,this._parent=t,this._setValidators(i),this._setAsyncValidators(r),this.valueAccessor=function uw(e,n){if(!n)return null;let t,i,r;return Array.isArray(n),n.forEach(o=>{o.constructor===Rh?t=o:function kq(e){return Object.getPrototypeOf(e.constructor)===Ic}(o)?i=o:r=o}),r||i||t||null}(0,o)}ngOnChanges(t){this._added||this._setUpControl(),function dw(e,n){if(!e.hasOwnProperty("model"))return!1;const t=e.model;return!!t.isFirstChange()||!Object.is(n,t.currentValue)}(t,this.viewModel)&&(this.viewModel=this.model,this.formDirective.updateModel(this,this.model))}ngOnDestroy(){this.formDirective&&this.formDirective.removeControl(this)}viewToModelUpdate(t){this.viewModel=t,this.update.emit(t)}get path(){return function Tg(e,n){return[...n.path,e]}(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||e)(T(or,13),T(Ni,10),T(Os,10),T(Rr,10),T(fw,8))};static#n=this.\u0275dir=Me({type:e,selectors:[["","formControlName",""]],inputs:{name:["formControlName","name"],isDisabled:["disabled","isDisabled"],model:["ngModel","model"]},outputs:{update:"ngModelChange"},features:[Yt([zq]),dt,Tr]})}return e})();let Rc=(()=>{class e{constructor(){this._validator=xg}ngOnChanges(t){if(this.inputName in t){const i=this.normalizeInput(t[this.inputName].currentValue);this._enabled=this.enabled(i),this._validator=this._enabled?this.createValidator(i):xg,this._onChange&&this._onChange()}}validate(t){return this._validator(t)}registerOnValidatorChange(t){this._onChange=t}enabled(t){return null!=t}static#e=this.\u0275fac=function(i){return new(i||e)};static#t=this.\u0275dir=Me({type:e,features:[Tr]})}return e})();const eK={provide:Ni,useExisting:y(()=>bw),multi:!0};let bw=(()=>{class e extends Rc{constructor(){super(...arguments),this.inputName="maxlength",this.normalizeInput=t=>function GO(e){return"number"==typeof e?e:parseInt(e,10)}(t),this.createValidator=t=>lO(t)}static#e=this.\u0275fac=function(){let t;return function(r){return(t||(t=Kn(e)))(r||e)}}();static#t=this.\u0275dir=Me({type:e,selectors:[["","maxlength","","formControlName",""],["","maxlength","","formControl",""],["","maxlength","","ngModel",""]],hostVars:1,hostBindings:function(i,r){2&i&&hn("maxlength",r._enabled?r.maxlength:null)},inputs:{maxlength:"maxlength"},features:[Yt([eK]),dt]})}return e})(),QO=(()=>{class e{static#e=this.\u0275fac=function(i){return new(i||e)};static#t=this.\u0275mod=Rt({type:e});static#n=this.\u0275inj=kt({imports:[BO]})}return e})();class JO extends kg{constructor(n,t,i){super(aw(t),sw(i,t)),this.controls=n,this._initObservables(),this._setUpdateStrategy(t),this._setUpControls(),this.updateValueAndValidity({onlySelf:!0,emitEvent:!!this.asyncValidator})}at(n){return this.controls[this._adjustIndex(n)]}push(n,t={}){this.controls.push(n),this._registerControl(n),this.updateValueAndValidity({emitEvent:t.emitEvent}),this._onCollectionChange()}insert(n,t,i={}){this.controls.splice(n,0,t),this._registerControl(t),this.updateValueAndValidity({emitEvent:i.emitEvent})}removeAt(n,t={}){let i=this._adjustIndex(n);i<0&&(i=0),this.controls[i]&&this.controls[i]._registerOnCollectionChange(()=>{}),this.controls.splice(i,1),this.updateValueAndValidity({emitEvent:t.emitEvent})}setControl(n,t,i={}){let r=this._adjustIndex(n);r<0&&(r=0),this.controls[r]&&this.controls[r]._registerOnCollectionChange(()=>{}),this.controls.splice(r,1),t&&(this.controls.splice(r,0,t),this._registerControl(t)),this.updateValueAndValidity({emitEvent:i.emitEvent}),this._onCollectionChange()}get length(){return this.controls.length}setValue(n,t={}){kO(this,0,n),n.forEach((i,r)=>{DO(this,!1,r),this.at(r).setValue(i,{onlySelf:!0,emitEvent:t.emitEvent})}),this.updateValueAndValidity(t)}patchValue(n,t={}){null!=n&&(n.forEach((i,r)=>{this.at(r)&&this.at(r).patchValue(i,{onlySelf:!0,emitEvent:t.emitEvent})}),this.updateValueAndValidity(t))}reset(n=[],t={}){this._forEachChild((i,r)=>{i.reset(n[r],{onlySelf:!0,emitEvent:t.emitEvent})}),this._updatePristine(t),this._updateTouched(t),this.updateValueAndValidity(t)}getRawValue(){return this.controls.map(n=>n.getRawValue())}clear(n={}){this.controls.length<1||(this._forEachChild(t=>t._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((t,i)=>!!i._syncPendingControls()||t,!1);return n&&this.updateValueAndValidity({onlySelf:!0}),n}_forEachChild(n){this.controls.forEach((t,i)=>{n(t,i)})}_updateValue(){this.value=this.controls.filter(n=>n.enabled||this.disabled).map(n=>n.value)}_anyControls(n){return this.controls.some(t=>t.enabled&&n(t))}_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 eR(e){return!!e&&(void 0!==e.asyncValidators||void 0!==e.validators||void 0!==e.updateOn)}let ww,nK=(()=>{class e{constructor(){this.useNonNullable=!1}get nonNullable(){const t=new e;return t.useNonNullable=!0,t}group(t,i=null){const r=this._reduceControls(t);let o={};return eR(i)?o=i:null!==i&&(o.validators=i.validator,o.asyncValidators=i.asyncValidator),new Fh(r,o)}record(t,i=null){const r=this._reduceControls(t);return new TO(r,i)}control(t,i,r){let o={};return this.useNonNullable?(eR(i)?o=i:(o.validators=i,o.asyncValidators=r),new zh(t,{...o,nonNullable:!0})):new zh(t,i,r)}array(t,i,r){const o=t.map(a=>this._createControl(a));return new JO(o,i,r)}_reduceControls(t){const i={};return Object.keys(t).forEach(r=>{i[r]=this._createControl(t[r])}),i}_createControl(t){return t instanceof zh||t instanceof kg?t:Array.isArray(t)?this.control(t[0],t.length>1?t[1]:null,t.length>2?t[2]:null):this.control(t)}static#e=this.\u0275fac=function(i){return new(i||e)};static#t=this.\u0275prov=Se({token:e,factory:e.\u0275fac,providedIn:"root"})}return e})(),xw=(()=>{class e extends nK{group(t,i=null){return super.group(t,i)}control(t,i,r){return super.control(t,i,r)}array(t,i,r){return super.array(t,i,r)}static#e=this.\u0275fac=function(){let t;return function(r){return(t||(t=Kn(e)))(r||e)}}();static#t=this.\u0275prov=Se({token:e,factory:e.\u0275fac,providedIn:"root"})}return e})(),tR=(()=>{class e{static withConfig(t){return{ngModule:e,providers:[{provide:Oc,useValue:t.callSetDisabledState??Lh}]}}static#e=this.\u0275fac=function(i){return new(i||e)};static#t=this.\u0275mod=Rt({type:e});static#n=this.\u0275inj=kt({imports:[QO]})}return e})(),iK=(()=>{class e{static withConfig(t){return{ngModule:e,providers:[{provide:fw,useValue:t.warnOnNgModelWithFormControl??"always"},{provide:Oc,useValue:t.callSetDisabledState??Lh}]}}static#e=this.\u0275fac=function(i){return new(i||e)};static#t=this.\u0275mod=Rt({type:e});static#n=this.\u0275inj=kt({imports:[QO]})}return e})();try{ww=typeof Intl<"u"&&Intl.v8BreakIterator}catch{ww=!1}let Md,Xn=(()=>{class e{constructor(t){this._platformId=t,this.isBrowser=this._platformId?function nY(e){return e===II}(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&&!ww)&&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||e)(N(xc))};static#t=this.\u0275prov=Se({token:e,factory:e.\u0275fac,providedIn:"root"})}return e})();const nR=["color","button","checkbox","date","datetime-local","email","file","hidden","image","month","number","password","radio","range","reset","search","submit","tel","text","time","url","week"];function iR(){if(Md)return Md;if("object"!=typeof document||!document)return Md=new Set(nR),Md;let e=document.createElement("input");return Md=new Set(nR.filter(n=>(e.setAttribute("type",n),e.type===n))),Md}let Hh,Pc,Ew;function $h(e){return function rK(){if(null==Hh&&typeof window<"u")try{window.addEventListener("test",null,Object.defineProperty({},"passive",{get:()=>Hh=!0}))}finally{Hh=Hh||!1}return Hh}()?e:!!e.capture}function oK(){if(null==Pc){if("object"!=typeof document||!document||"function"!=typeof Element||!Element)return Pc=!1,Pc;if("scrollBehavior"in document.documentElement.style)Pc=!0;else{const e=Element.prototype.scrollTo;Pc=!!e&&!/\{\s*\[native code\]\s*\}/.test(e.toString())}}return Pc}function Ng(){let e=typeof document<"u"&&document?document.activeElement:null;for(;e&&e.shadowRoot;){const n=e.shadowRoot.activeElement;if(n===e)break;e=n}return e}function Rs(e){return e.composedPath?e.composedPath()[0]:e.target}function Cw(){return typeof __karma__<"u"&&!!__karma__||typeof jasmine<"u"&&!!jasmine||typeof jest<"u"&&!!jest||typeof Mocha<"u"&&!!Mocha}function Uh(e,...n){return n.length?n.some(t=>e[t]):e.altKey||e.shiftKey||e.ctrlKey||e.metaKey}class DK extends ee{constructor(n,t){super()}schedule(n,t=0){return this}}const Fg={setInterval(e,n,...t){const{delegate:i}=Fg;return i?.setInterval?i.setInterval(e,n,...t):setInterval(e,n,...t)},clearInterval(e){const{delegate:n}=Fg;return(n?.clearInterval||clearInterval)(e)},delegate:void 0};class Sw extends DK{constructor(n,t){super(n,t),this.scheduler=n,this.work=t,this.pending=!1}schedule(n,t=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,t)),this.pending=!0,this.delay=t,this.id=null!==(i=this.id)&&void 0!==i?i:this.requestAsyncId(o,this.id,t),this}requestAsyncId(n,t,i=0){return Fg.setInterval(n.flush.bind(n,this),i)}recycleAsyncId(n,t,i=0){if(null!=i&&this.delay===i&&!1===this.pending)return t;null!=t&&Fg.clearInterval(t)}execute(n,t){if(this.closed)return new Error("executing a cancelled action");this.pending=!1;const i=this._execute(n,t);if(i)return i;!1===this.pending&&null!=this.id&&(this.id=this.recycleAsyncId(this.scheduler,this.id,null))}_execute(n,t){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:t}=this,{actions:i}=t;this.work=this.state=this.scheduler=null,this.pending=!1,Re(i,this),null!=n&&(this.id=this.recycleAsyncId(t,n,null)),this.delay=null,super.unsubscribe()}}}const Dw={now:()=>(Dw.delegate||Date).now(),delegate:void 0};class Gh{constructor(n,t=Gh.now){this.schedulerActionCtor=n,this.now=t}schedule(n,t=0,i){return new this.schedulerActionCtor(this,n).schedule(i,t)}}Gh.now=Dw.now;class kw extends Gh{constructor(n,t=Gh.now){super(n,t),this.actions=[],this._active=!1}flush(n){const{actions:t}=this;if(this._active)return void t.push(n);let i;this._active=!0;do{if(i=n.execute(n.state,n.delay))break}while(n=t.shift());if(this._active=!1,i){for(;n=t.shift();)n.unsubscribe();throw i}}}const Tw=new kw(Sw),kK=Tw;function Aw(e,n=Tw){return G((t,i)=>{let r=null,o=null,a=null;const s=()=>{if(r){r.unsubscribe(),r=null;const l=o;o=null,i.next(l)}};function c(){const l=a+e,d=n.now();if(d{o=l,a=n.now(),r||(r=n.schedule(c,e),i.add(r))},()=>{s(),i.complete()},void 0,()=>{o=r=null}))})}function Pr(e,n){return G((t,i)=>{let r=0;t.subscribe(ue(i,o=>e.call(n,o,r++)&&i.next(o)))})}function Ps(e){return e<=0?()=>Co:G((n,t)=>{let i=0;n.subscribe(ue(t,r=>{++i<=e&&(t.next(r),e<=i&&t.complete())}))})}function cR(e){return Pr((n,t)=>e<=t)}function Bo(e){return G((n,t)=>{ji(e).subscribe(ue(t,()=>t.complete(),Oe)),!t.closed&&n.subscribe(t)})}function rn(e){return null!=e&&"false"!=`${e}`}function pa(e,n=0){return function TK(e){return!isNaN(parseFloat(e))&&!isNaN(Number(e))}(e)?Number(e):n}function Lg(e){return Array.isArray(e)?e:[e]}function hi(e){return null==e?"":"string"==typeof e?e:`${e}px`}function qa(e){return e instanceof Ft?e.nativeElement:e}let lR=(()=>{class e{create(t){return typeof MutationObserver>"u"?null:new MutationObserver(t)}static#e=this.\u0275fac=function(i){return new(i||e)};static#t=this.\u0275prov=Se({token:e,factory:e.\u0275fac,providedIn:"root"})}return e})(),AK=(()=>{class e{constructor(t){this._mutationObserverFactory=t,this._observedElements=new Map}ngOnDestroy(){this._observedElements.forEach((t,i)=>this._cleanupObserver(i))}observe(t){const i=qa(t);return new pt(r=>{const a=this._observeElement(i).subscribe(r);return()=>{a.unsubscribe(),this._unobserveElement(i)}})}_observeElement(t){if(this._observedElements.has(t))this._observedElements.get(t).count++;else{const i=new Y,r=this._mutationObserverFactory.create(o=>i.next(o));r&&r.observe(t,{characterData:!0,childList:!0,subtree:!0}),this._observedElements.set(t,{observer:r,stream:i,count:1})}return this._observedElements.get(t).stream}_unobserveElement(t){this._observedElements.has(t)&&(this._observedElements.get(t).count--,this._observedElements.get(t).count||this._cleanupObserver(t))}_cleanupObserver(t){if(this._observedElements.has(t)){const{observer:i,stream:r}=this._observedElements.get(t);i&&i.disconnect(),r.complete(),this._observedElements.delete(t)}}static#e=this.\u0275fac=function(i){return new(i||e)(N(lR))};static#t=this.\u0275prov=Se({token:e,factory:e.\u0275fac,providedIn:"root"})}return e})(),dR=(()=>{class e{get disabled(){return this._disabled}set disabled(t){this._disabled=rn(t),this._disabled?this._unsubscribe():this._subscribe()}get debounce(){return this._debounce}set debounce(t){this._debounce=pa(t),this._subscribe()}constructor(t,i,r){this._contentObserver=t,this._elementRef=i,this._ngZone=r,this.event=new Xt,this._disabled=!1,this._currentSubscription=null}ngAfterContentInit(){!this._currentSubscription&&!this.disabled&&this._subscribe()}ngOnDestroy(){this._unsubscribe()}_subscribe(){this._unsubscribe();const t=this._contentObserver.observe(this._elementRef);this._ngZone.runOutsideAngular(()=>{this._currentSubscription=(this.debounce?t.pipe(Aw(this.debounce)):t).subscribe(this.event)})}_unsubscribe(){this._currentSubscription?.unsubscribe()}static#e=this.\u0275fac=function(i){return new(i||e)(T(AK),T(Ft),T(ot))};static#t=this.\u0275dir=Me({type:e,selectors:[["","cdkObserveContent",""]],inputs:{disabled:["cdkObserveContentDisabled","disabled"],debounce:"debounce"},outputs:{event:"cdkObserveContent"},exportAs:["cdkObserveContent"]})}return e})(),Mw=(()=>{class e{static#e=this.\u0275fac=function(i){return new(i||e)};static#t=this.\u0275mod=Rt({type:e});static#n=this.\u0275inj=kt({providers:[lR]})}return e})();function uR(...e){const n=ta(e),t=Pp(e),{args:i,keys:r}=JI(e);if(0===i.length)return ki([],n);const o=new pt(function MK(e,n,t=Ot){return i=>{hR(n,()=>{const{length:r}=e,o=new Array(r);let a=r,s=r;for(let c=0;c{const l=ki(e[c],n);let d=!1;l.subscribe(ue(i,u=>{o[c]=u,d||(d=!0,s--),s||i.next(t(o.slice()))},()=>{--a||i.complete()}))},i)},i)}}(i,n,r?a=>eO(r,a):Ot));return t?o.pipe(Qx(t)):o}function hR(e,n,t){e?Kr(t,e,n):n()}function Iw(...e){return function IK(){return ea(1)}()(ki(e,ta(e)))}function Wh(...e){const n=ta(e);return G((t,i)=>{(n?Iw(e,t,n):Iw(e,t)).subscribe(i)})}const fR=new Set;let Nc,OK=(()=>{class e{constructor(t,i){this._platform=t,this._nonce=i,this._matchMedia=this._platform.isBrowser&&window.matchMedia?window.matchMedia.bind(window):PK}matchMedia(t){return(this._platform.WEBKIT||this._platform.BLINK)&&function RK(e,n){if(!fR.has(e))try{Nc||(Nc=document.createElement("style"),n&&(Nc.nonce=n),Nc.setAttribute("type","text/css"),document.head.appendChild(Nc)),Nc.sheet&&(Nc.sheet.insertRule(`@media ${e} {body{ }}`,0),fR.add(e))}catch(t){console.error(t)}}(t,this._nonce),this._matchMedia(t)}static#e=this.\u0275fac=function(i){return new(i||e)(N(Xn),N(Xb,8))};static#t=this.\u0275prov=Se({token:e,factory:e.\u0275fac,providedIn:"root"})}return e})();function PK(e){return{matches:"all"===e||""===e,media:e,addListener:()=>{},removeListener:()=>{}}}let Ow=(()=>{class e{constructor(t,i){this._mediaMatcher=t,this._zone=i,this._queries=new Map,this._destroySubject=new Y}ngOnDestroy(){this._destroySubject.next(),this._destroySubject.complete()}isMatched(t){return pR(Lg(t)).some(r=>this._registerQuery(r).mql.matches)}observe(t){let o=uR(pR(Lg(t)).map(a=>this._registerQuery(a).observable));return o=Iw(o.pipe(Ps(1)),o.pipe(cR(1),Aw(0))),o.pipe(ce(a=>{const s={matches:!1,breakpoints:{}};return a.forEach(({matches:c,query:l})=>{s.matches=s.matches||c,s.breakpoints[l]=c}),s}))}_registerQuery(t){if(this._queries.has(t))return this._queries.get(t);const i=this._mediaMatcher.matchMedia(t),o={observable:new pt(a=>{const s=c=>this._zone.run(()=>a.next(c));return i.addListener(s),()=>{i.removeListener(s)}}).pipe(Wh(i),ce(({matches:a})=>({query:t,matches:a})),Bo(this._destroySubject)),mql:i};return this._queries.set(t,o),o}static#e=this.\u0275fac=function(i){return new(i||e)(N(OK),N(ot))};static#t=this.\u0275prov=Se({token:e,factory:e.\u0275fac,providedIn:"root"})}return e})();function pR(e){return e.map(n=>n.split(",")).reduce((n,t)=>n.concat(t)).map(n=>n.trim())}class BK{constructor(n){this._items=n,this._activeItemIndex=-1,this._activeItem=null,this._wrap=!1,this._letterKeyStream=new Y,this._typeaheadSubscription=ee.EMPTY,this._vertical=!0,this._allowedModifierKeys=[],this._homeAndEnd=!1,this._pageUpAndDown={enabled:!1,delta:10},this._skipPredicateFn=t=>t.disabled,this._pressedLetters=[],this.tabOut=new Y,this.change=new Y,n instanceof wd&&(this._itemChangesSubscription=n.changes.subscribe(t=>{if(this._activeItem){const r=t.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(function SK(e,n,t){const i=B(e)||n||t?{next:e,error:n,complete:t}:e;return i?G((r,o)=>{var a;null===(a=i.subscribe)||void 0===a||a.call(i);let s=!0;r.subscribe(ue(o,c=>{var l;null===(l=i.next)||void 0===l||l.call(i,c),o.next(c)},()=>{var c;s=!1,null===(c=i.complete)||void 0===c||c.call(i),o.complete()},c=>{var l;s=!1,null===(l=i.error)||void 0===l||l.call(i,c),o.error(c)},()=>{var c,l;s&&(null===(c=i.unsubscribe)||void 0===c||c.call(i)),null===(l=i.finalize)||void 0===l||l.call(i)}))}):Ot}(t=>this._pressedLetters.push(t)),Aw(n),Pr(()=>this._pressedLetters.length>0),ce(()=>this._pressedLetters.join(""))).subscribe(t=>{const i=this._getItemsArray();for(let r=1;r!n[o]||this._allowedModifierKeys.indexOf(o)>-1);switch(t){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,a=this._getItemsArray().length;this._setActiveItemByIndex(o=65&&t<=90||t>=48&&t<=57)&&this._letterKeyStream.next(String.fromCharCode(t))))}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 t=this._getItemsArray(),i="number"==typeof n?n:t.indexOf(n);this._activeItem=t[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 t=this._getItemsArray();for(let i=1;i<=t.length;i++){const r=(this._activeItemIndex+n*i+t.length)%t.length;if(!this._skipPredicateFn(t[r]))return void this.setActiveItem(r)}}_setActiveInDefaultMode(n){this._setActiveItemByIndex(this._activeItemIndex+n,n)}_setActiveItemByIndex(n,t){const i=this._getItemsArray();if(i[n]){for(;this._skipPredicateFn(i[n]);)if(!i[n+=t])return;this.setActiveItem(n)}}_getItemsArray(){return this._items instanceof wd?this._items.toArray():this._items}}class vR extends BK{constructor(){super(...arguments),this._origin="program"}setFocusOrigin(n){return this._origin=n,this}setActiveItem(n){super.setActiveItem(n),this.activeItem&&this.activeItem.focus(this._origin)}}let Bg=(()=>{class e{constructor(t){this._platform=t}isDisabled(t){return t.hasAttribute("disabled")}isVisible(t){return function jK(e){return!!(e.offsetWidth||e.offsetHeight||"function"==typeof e.getClientRects&&e.getClientRects().length)}(t)&&"visible"===getComputedStyle(t).visibility}isTabbable(t){if(!this._platform.isBrowser)return!1;const i=function VK(e){try{return e.frameElement}catch{return null}}(function qK(e){return e.ownerDocument&&e.ownerDocument.defaultView||window}(t));if(i&&(-1===yR(i)||!this.isVisible(i)))return!1;let r=t.nodeName.toLowerCase(),o=yR(t);return t.hasAttribute("contenteditable")?-1!==o:!("iframe"===r||"object"===r||this._platform.WEBKIT&&this._platform.IOS&&!function WK(e){let n=e.nodeName.toLowerCase(),t="input"===n&&e.type;return"text"===t||"password"===t||"select"===n||"textarea"===n}(t))&&("audio"===r?!!t.hasAttribute("controls")&&-1!==o:"video"===r?-1!==o&&(null!==o||this._platform.FIREFOX||t.hasAttribute("controls")):t.tabIndex>=0)}isFocusable(t,i){return function YK(e){return!function HK(e){return function UK(e){return"input"==e.nodeName.toLowerCase()}(e)&&"hidden"==e.type}(e)&&(function zK(e){let n=e.nodeName.toLowerCase();return"input"===n||"select"===n||"button"===n||"textarea"===n}(e)||function $K(e){return function GK(e){return"a"==e.nodeName.toLowerCase()}(e)&&e.hasAttribute("href")}(e)||e.hasAttribute("contenteditable")||_R(e))}(t)&&!this.isDisabled(t)&&(i?.ignoreVisibility||this.isVisible(t))}static#e=this.\u0275fac=function(i){return new(i||e)(N(Xn))};static#t=this.\u0275prov=Se({token:e,factory:e.\u0275fac,providedIn:"root"})}return e})();function _R(e){if(!e.hasAttribute("tabindex")||void 0===e.tabIndex)return!1;let n=e.getAttribute("tabindex");return!(!n||isNaN(parseInt(n,10)))}function yR(e){if(!_R(e))return null;const n=parseInt(e.getAttribute("tabindex")||"",10);return isNaN(n)?-1:n}class KK{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,t,i,r,o=!1){this._element=n,this._checker=t,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,t=this._endAnchor;n&&(n.removeEventListener("focus",this.startAnchorListener),n.remove()),t&&(t.removeEventListener("focus",this.endAnchorListener),t.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(t=>{this._executeOnStable(()=>t(this.focusInitialElement(n)))})}focusFirstTabbableElementWhenReady(n){return new Promise(t=>{this._executeOnStable(()=>t(this.focusFirstTabbableElement(n)))})}focusLastTabbableElementWhenReady(n){return new Promise(t=>{this._executeOnStable(()=>t(this.focusLastTabbableElement(n)))})}_getRegionBoundary(n){const t=this._element.querySelectorAll(`[cdk-focus-region-${n}], [cdkFocusRegion${n}], [cdk-focus-${n}]`);return"start"==n?t.length?t[0]:this._getFirstTabbableElement(this._element):t.length?t[t.length-1]:this._getLastTabbableElement(this._element)}focusInitialElement(n){const t=this._element.querySelector("[cdk-focus-initial], [cdkFocusInitial]");if(t){if(!this._checker.isFocusable(t)){const i=this._getFirstTabbableElement(t);return i?.focus(n),!!i}return t.focus(n),!0}return this.focusFirstTabbableElement(n)}focusFirstTabbableElement(n){const t=this._getRegionBoundary("start");return t&&t.focus(n),!!t}focusLastTabbableElement(n){const t=this._getRegionBoundary("end");return t&&t.focus(n),!!t}hasAttached(){return this._hasAttached}_getFirstTabbableElement(n){if(this._checker.isFocusable(n)&&this._checker.isTabbable(n))return n;const t=n.children;for(let i=0;i=0;i--){const r=t[i].nodeType===this._document.ELEMENT_NODE?this._getLastTabbableElement(t[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,t){n?t.setAttribute("tabindex","0"):t.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(Ps(1)).subscribe(n)}}let Rw=(()=>{class e{constructor(t,i,r){this._checker=t,this._ngZone=i,this._document=r}create(t,i=!1){return new KK(t,this._checker,this._ngZone,this._document,i)}static#e=this.\u0275fac=function(i){return new(i||e)(N(Bg),N(ot),N(qt))};static#t=this.\u0275prov=Se({token:e,factory:e.\u0275fac,providedIn:"root"})}return e})();function bR(e){return 0===e.buttons||0===e.detail}function xR(e){const n=e.touches&&e.touches[0]||e.changedTouches&&e.changedTouches[0];return!(!n||-1!==n.identifier||null!=n.radiusX&&1!==n.radiusX||null!=n.radiusY&&1!==n.radiusY)}const XK=new Ce("cdk-input-modality-detector-options"),ZK={ignoreKeys:[18,17,224,91,16]},Id=$h({passive:!0,capture:!0});let QK=(()=>{class e{get mostRecentModality(){return this._modality.value}constructor(t,i,r,o){this._platform=t,this._mostRecentTarget=null,this._modality=new Qt(null),this._lastTouchMs=0,this._onKeydown=a=>{this._options?.ignoreKeys?.some(s=>s===a.keyCode)||(this._modality.next("keyboard"),this._mostRecentTarget=Rs(a))},this._onMousedown=a=>{Date.now()-this._lastTouchMs<650||(this._modality.next(bR(a)?"keyboard":"mouse"),this._mostRecentTarget=Rs(a))},this._onTouchstart=a=>{xR(a)?this._modality.next("keyboard"):(this._lastTouchMs=Date.now(),this._modality.next("touch"),this._mostRecentTarget=Rs(a))},this._options={...ZK,...o},this.modalityDetected=this._modality.pipe(cR(1)),this.modalityChanged=this.modalityDetected.pipe(Ao()),t.isBrowser&&i.runOutsideAngular(()=>{r.addEventListener("keydown",this._onKeydown,Id),r.addEventListener("mousedown",this._onMousedown,Id),r.addEventListener("touchstart",this._onTouchstart,Id)})}ngOnDestroy(){this._modality.complete(),this._platform.isBrowser&&(document.removeEventListener("keydown",this._onKeydown,Id),document.removeEventListener("mousedown",this._onMousedown,Id),document.removeEventListener("touchstart",this._onTouchstart,Id))}static#e=this.\u0275fac=function(i){return new(i||e)(N(Xn),N(ot),N(qt),N(XK,8))};static#t=this.\u0275prov=Se({token:e,factory:e.\u0275fac,providedIn:"root"})}return e})();const JK=new Ce("liveAnnouncerElement",{providedIn:"root",factory:function eX(){return null}}),tX=new Ce("LIVE_ANNOUNCER_DEFAULT_OPTIONS");let nX=0,ER=(()=>{class e{constructor(t,i,r,o){this._ngZone=i,this._defaultOptions=o,this._document=r,this._liveElement=t||this._createLiveElement()}announce(t,...i){const r=this._defaultOptions;let o,a;return 1===i.length&&"number"==typeof i[0]?a=i[0]:[o,a]=i,this.clear(),clearTimeout(this._previousTimeout),o||(o=r&&r.politeness?r.politeness:"polite"),null==a&&r&&(a=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(s=>this._currentResolve=s)),clearTimeout(this._previousTimeout),this._previousTimeout=setTimeout(()=>{this._liveElement.textContent=t,"number"==typeof a&&(this._previousTimeout=setTimeout(()=>this.clear(),a)),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 t="cdk-live-announcer-element",i=this._document.getElementsByClassName(t),r=this._document.createElement("div");for(let o=0;o .cdk-overlay-container [aria-modal="true"]');for(let r=0;r{class e{constructor(t,i,r,o,a){this._ngZone=t,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 Y,this._rootNodeFocusAndBlurListener=s=>{for(let l=Rs(s);l;l=l.parentElement)"focus"===s.type?this._onFocus(s,l):this._onBlur(s,l)},this._document=o,this._detectionMode=a?.detectionMode||0}monitor(t,i=!1){const r=qa(t);if(!this._platform.isBrowser||1!==r.nodeType)return vs();const o=function sK(e){if(function aK(){if(null==Ew){const e=typeof document<"u"?document.head:null;Ew=!(!e||!e.createShadowRoot&&!e.attachShadow)}return Ew}()){const n=e.getRootNode?e.getRootNode():null;if(typeof ShadowRoot<"u"&&ShadowRoot&&n instanceof ShadowRoot)return n}return null}(r)||this._getDocument(),a=this._elementInfo.get(r);if(a)return i&&(a.checkChildren=!0),a.subject;const s={checkChildren:i,subject:new Y,rootNode:o};return this._elementInfo.set(r,s),this._registerGlobalListeners(s),s.subject}stopMonitoring(t){const i=qa(t),r=this._elementInfo.get(i);r&&(r.subject.complete(),this._setClasses(i),this._elementInfo.delete(i),this._removeGlobalListeners(r))}focusVia(t,i,r){const o=qa(t);o===this._getDocument().activeElement?this._getClosestElementsInfo(o).forEach(([s,c])=>this._originChanged(s,i,c)):(this._setOrigin(i),"function"==typeof o.focus&&o.focus(r))}ngOnDestroy(){this._elementInfo.forEach((t,i)=>this.stopMonitoring(i))}_getDocument(){return this._document||document}_getWindow(){return this._getDocument().defaultView||window}_getFocusOrigin(t){return this._origin?this._originFromTouchInteraction?this._shouldBeAttributedToTouch(t)?"touch":"program":this._origin:this._windowFocused&&this._lastFocusOrigin?this._lastFocusOrigin:t&&this._isLastInteractionFromInputLabel(t)?"mouse":"program"}_shouldBeAttributedToTouch(t){return 1===this._detectionMode||!!t?.contains(this._inputModalityDetector._mostRecentTarget)}_setClasses(t,i){t.classList.toggle("cdk-focused",!!i),t.classList.toggle("cdk-touch-focused","touch"===i),t.classList.toggle("cdk-keyboard-focused","keyboard"===i),t.classList.toggle("cdk-mouse-focused","mouse"===i),t.classList.toggle("cdk-program-focused","program"===i)}_setOrigin(t,i=!1){this._ngZone.runOutsideAngular(()=>{this._origin=t,this._originFromTouchInteraction="touch"===t&&i,0===this._detectionMode&&(clearTimeout(this._originTimeoutId),this._originTimeoutId=setTimeout(()=>this._origin=null,this._originFromTouchInteraction?650:1))})}_onFocus(t,i){const r=this._elementInfo.get(i),o=Rs(t);!r||!r.checkChildren&&i!==o||this._originChanged(i,this._getFocusOrigin(o),r)}_onBlur(t,i){const r=this._elementInfo.get(i);!r||r.checkChildren&&t.relatedTarget instanceof Node&&i.contains(t.relatedTarget)||(this._setClasses(i),this._emitOrigin(r,null))}_emitOrigin(t,i){t.subject.observers.length&&this._ngZone.run(()=>t.subject.next(i))}_registerGlobalListeners(t){if(!this._platform.isBrowser)return;const i=t.rootNode,r=this._rootNodeFocusListenerCount.get(i)||0;r||this._ngZone.runOutsideAngular(()=>{i.addEventListener("focus",this._rootNodeFocusAndBlurListener,Vg),i.addEventListener("blur",this._rootNodeFocusAndBlurListener,Vg)}),this._rootNodeFocusListenerCount.set(i,r+1),1==++this._monitoredElementCount&&(this._ngZone.runOutsideAngular(()=>{this._getWindow().addEventListener("focus",this._windowFocusListener)}),this._inputModalityDetector.modalityDetected.pipe(Bo(this._stopInputModalityDetector)).subscribe(o=>{this._setOrigin(o,!0)}))}_removeGlobalListeners(t){const i=t.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,Vg),i.removeEventListener("blur",this._rootNodeFocusAndBlurListener,Vg),this._rootNodeFocusListenerCount.delete(i))}--this._monitoredElementCount||(this._getWindow().removeEventListener("focus",this._windowFocusListener),this._stopInputModalityDetector.next(),clearTimeout(this._windowFocusTimeoutId),clearTimeout(this._originTimeoutId))}_originChanged(t,i,r){this._setClasses(t,i),this._emitOrigin(r,i),this._lastFocusOrigin=i}_getClosestElementsInfo(t){const i=[];return this._elementInfo.forEach((r,o)=>{(o===t||r.checkChildren&&o.contains(t))&&i.push([o,r])}),i}_isLastInteractionFromInputLabel(t){const{_mostRecentTarget:i,mostRecentModality:r}=this._inputModalityDetector;if("mouse"!==r||!i||i===t||"INPUT"!==t.nodeName&&"TEXTAREA"!==t.nodeName||t.disabled)return!1;const o=t.labels;if(o)for(let a=0;a{class e{constructor(t,i){this._platform=t,this._document=i,this._breakpointSubscription=vt(Ow).observe("(forced-colors: active)").subscribe(()=>{this._hasCheckedHighContrastMode&&(this._hasCheckedHighContrastMode=!1,this._applyBodyHighContrastModeCssClasses())})}getHighContrastMode(){if(!this._platform.isBrowser)return 0;const t=this._document.createElement("div");t.style.backgroundColor="rgb(1,2,3)",t.style.position="absolute",this._document.body.appendChild(t);const i=this._document.defaultView||window,r=i&&i.getComputedStyle?i.getComputedStyle(t):null,o=(r&&r.backgroundColor||"").replace(/ /g,"");switch(t.remove(),o){case"rgb(0,0,0)":case"rgb(45,50,54)":case"rgb(32,32,32)":return 2;case"rgb(255,255,255)":case"rgb(255,250,239)":return 1}return 0}ngOnDestroy(){this._breakpointSubscription.unsubscribe()}_applyBodyHighContrastModeCssClasses(){if(!this._hasCheckedHighContrastMode&&this._platform.isBrowser&&this._document.body){const t=this._document.body.classList;t.remove(Pw,CR,SR),this._hasCheckedHighContrastMode=!0;const i=this.getHighContrastMode();1===i?t.add(Pw,CR):2===i&&t.add(Pw,SR)}}static#e=this.\u0275fac=function(i){return new(i||e)(N(Xn),N(qt))};static#t=this.\u0275prov=Se({token:e,factory:e.\u0275fac,providedIn:"root"})}return e})(),rX=(()=>{class e{constructor(t){t._applyBodyHighContrastModeCssClasses()}static#e=this.\u0275fac=function(i){return new(i||e)(N(DR))};static#t=this.\u0275mod=Rt({type:e});static#n=this.\u0275inj=kt({imports:[Mw]})}return e})();const oX=new Ce("cdk-dir-doc",{providedIn:"root",factory:function aX(){return vt(qt)}}),sX=/^(ar|ckb|dv|he|iw|fa|nqo|ps|sd|ug|ur|yi|.*[-_](Adlm|Arab|Hebr|Nkoo|Rohg|Thaa))(?!.*[-_](Latn|Cyrl)($|-|_))($|-|_)/i;let Yh=(()=>{class e{constructor(t){this.value="ltr",this.change=new Xt,t&&(this.value=function cX(e){const n=e?.toLowerCase()||"";return"auto"===n&&typeof navigator<"u"&&navigator?.language?sX.test(navigator.language)?"rtl":"ltr":"rtl"===n?"rtl":"ltr"}((t.body?t.body.dir:null)||(t.documentElement?t.documentElement.dir:null)||"ltr"))}ngOnDestroy(){this.change.complete()}static#e=this.\u0275fac=function(i){return new(i||e)(N(oX,8))};static#t=this.\u0275prov=Se({token:e,factory:e.\u0275fac,providedIn:"root"})}return e})(),qh=(()=>{class e{static#e=this.\u0275fac=function(i){return new(i||e)};static#t=this.\u0275mod=Rt({type:e});static#n=this.\u0275inj=kt({})}return e})();const dX=new Ce("mat-sanity-checks",{providedIn:"root",factory:function lX(){return!0}});let Cn=(()=>{class e{constructor(t,i,r){this._sanityChecks=i,this._document=r,this._hasDoneGlobalChecks=!1,t._applyBodyHighContrastModeCssClasses(),this._hasDoneGlobalChecks||(this._hasDoneGlobalChecks=!0)}_checkIsEnabled(t){return!Cw()&&("boolean"==typeof this._sanityChecks?this._sanityChecks:!!this._sanityChecks[t])}static#e=this.\u0275fac=function(i){return new(i||e)(N(DR),N(dX,8),N(qt))};static#t=this.\u0275mod=Rt({type:e});static#n=this.\u0275inj=kt({imports:[qh,qh]})}return e})();function AR(e){return class extends e{get disabled(){return this._disabled}set disabled(n){this._disabled=rn(n)}constructor(...n){super(...n),this._disabled=!1}}}function Nw(e,n){return class extends e{get color(){return this._color}set color(t){const i=t||this.defaultColor;i!==this._color&&(this._color&&this._elementRef.nativeElement.classList.remove(`mat-${this._color}`),i&&this._elementRef.nativeElement.classList.add(`mat-${i}`),this._color=i)}constructor(...t){super(...t),this.defaultColor=n,this.color=n}}}function Fw(e){return class extends e{get disableRipple(){return this._disableRipple}set disableRipple(n){this._disableRipple=rn(n)}constructor(...n){super(...n),this._disableRipple=!1}}}function MR(e,n=0){return class extends e{get tabIndex(){return this.disabled?-1:this._tabIndex}set tabIndex(t){this._tabIndex=null!=t?pa(t):this.defaultTabIndex}constructor(...t){super(...t),this._tabIndex=n,this.defaultTabIndex=n}}}function uX(e){return class extends e{updateErrorState(){const n=this.errorState,o=(this.errorStateMatcher||this._defaultErrorStateMatcher).isErrorState(this.ngControl?this.ngControl.control:null,this._parentFormGroup||this._parentForm);o!==n&&(this.errorState=o,this.stateChanges.next())}constructor(...n){super(...n),this.errorState=!1}}}let fX=(()=>{class e{isErrorState(t,i){return!!(t&&t.invalid&&(t.touched||i&&i.submitted))}static#e=this.\u0275fac=function(i){return new(i||e)};static#t=this.\u0275prov=Se({token:e,factory:e.\u0275fac,providedIn:"root"})}return e})(),IR=(()=>{class e{static#e=this.\u0275fac=function(i){return new(i||e)};static#t=this.\u0275mod=Rt({type:e});static#n=this.\u0275inj=kt({imports:[Cn,Cn]})}return e})();class pX{constructor(n,t,i,r=!1){this._renderer=n,this.element=t,this.config=i,this._animationForciblyDisabledThroughCss=r,this.state=3}fadeOut(){this._renderer.fadeOutRipple(this)}}const OR=$h({passive:!0,capture:!0});class mX{constructor(){this._events=new Map,this._delegateEventHandler=n=>{const t=Rs(n);t&&this._events.get(n.type)?.forEach((i,r)=>{(r===t||r.contains(t))&&i.forEach(o=>o.handleEvent(n))})}}addHandler(n,t,i,r){const o=this._events.get(t);if(o){const a=o.get(i);a?a.add(r):o.set(i,new Set([r]))}else this._events.set(t,new Map([[i,new Set([r])]])),n.runOutsideAngular(()=>{document.addEventListener(t,this._delegateEventHandler,OR)})}removeHandler(n,t,i){const r=this._events.get(n);if(!r)return;const o=r.get(t);o&&(o.delete(i),0===o.size&&r.delete(t),0===r.size&&(this._events.delete(n),document.removeEventListener(n,this._delegateEventHandler,OR)))}}const RR={enterDuration:225,exitDuration:150},PR=$h({passive:!0,capture:!0}),NR=["mousedown","touchstart"],FR=["mouseup","mouseleave","touchend","touchcancel"];class Xh{static#e=this._eventManager=new mX;constructor(n,t,i,r){this._target=n,this._ngZone=t,this._platform=r,this._isPointerDown=!1,this._activeRipples=new Map,this._pointerUpEventsRegistered=!1,r.isBrowser&&(this._containerElement=qa(i))}fadeInRipple(n,t,i={}){const r=this._containerRect=this._containerRect||this._containerElement.getBoundingClientRect(),o={...RR,...i.animation};i.centered&&(n=r.left+r.width/2,t=r.top+r.height/2);const a=i.radius||function vX(e,n,t){const i=Math.max(Math.abs(e-t.left),Math.abs(e-t.right)),r=Math.max(Math.abs(n-t.top),Math.abs(n-t.bottom));return Math.sqrt(i*i+r*r)}(n,t,r),s=n-r.left,c=t-r.top,l=o.enterDuration,d=document.createElement("div");d.classList.add("mat-ripple-element"),d.style.left=s-a+"px",d.style.top=c-a+"px",d.style.height=2*a+"px",d.style.width=2*a+"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 pX(this,d,i,p);d.style.transform="scale3d(1, 1, 1)",g.state=0,i.persistent||(this._mostRecentTransientRipple=g);let v=null;return!p&&(l||o.exitDuration)&&this._ngZone.runOutsideAngular(()=>{const k=()=>this._finishRippleTransition(g),E=()=>this._destroyRipple(g);d.addEventListener("transitionend",k),d.addEventListener("transitioncancel",E),v={onTransitionEnd:k,onTransitionCancel:E}}),this._activeRipples.set(g,v),(p||!l)&&this._finishRippleTransition(g),g}fadeOutRipple(n){if(2===n.state||3===n.state)return;const t=n.element,i={...RR,...n.config.animation};t.style.transitionDuration=`${i.exitDuration}ms`,t.style.opacity="0",n.state=2,(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 t=qa(n);!this._platform.isBrowser||!t||t===this._triggerElement||(this._removeTriggerEvents(),this._triggerElement=t,NR.forEach(i=>{Xh._eventManager.addHandler(this._ngZone,i,t,this)}))}handleEvent(n){"mousedown"===n.type?this._onMousedown(n):"touchstart"===n.type?this._onTouchStart(n):this._onPointerUp(),this._pointerUpEventsRegistered||(this._ngZone.runOutsideAngular(()=>{FR.forEach(t=>{this._triggerElement.addEventListener(t,this,PR)})}),this._pointerUpEventsRegistered=!0)}_finishRippleTransition(n){0===n.state?this._startFadeOutTransition(n):2===n.state&&this._destroyRipple(n)}_startFadeOutTransition(n){const t=n===this._mostRecentTransientRipple,{persistent:i}=n.config;n.state=1,!i&&(!t||!this._isPointerDown)&&n.fadeOut()}_destroyRipple(n){const t=this._activeRipples.get(n)??null;this._activeRipples.delete(n),this._activeRipples.size||(this._containerRect=null),n===this._mostRecentTransientRipple&&(this._mostRecentTransientRipple=null),n.state=3,null!==t&&(n.element.removeEventListener("transitionend",t.onTransitionEnd),n.element.removeEventListener("transitioncancel",t.onTransitionCancel)),n.element.remove()}_onMousedown(n){const t=bR(n),i=this._lastTouchStartEvent&&Date.now(){!n.config.persistent&&(1===n.state||n.config.terminateOnPointerUp&&0===n.state)&&n.fadeOut()}))}_getActiveRipples(){return Array.from(this._activeRipples.keys())}_removeTriggerEvents(){const n=this._triggerElement;n&&(NR.forEach(t=>Xh._eventManager.removeHandler(t,n,this)),this._pointerUpEventsRegistered&&FR.forEach(t=>n.removeEventListener(t,this,PR)))}}const Zh=new Ce("mat-ripple-global-options");let jg=(()=>{class e{get disabled(){return this._disabled}set disabled(t){t&&this.fadeOutAllNonPersistent(),this._disabled=t,this._setupTriggerEventsIfEnabled()}get trigger(){return this._trigger||this._elementRef.nativeElement}set trigger(t){this._trigger=t,this._setupTriggerEventsIfEnabled()}constructor(t,i,r,o,a){this._elementRef=t,this._animationMode=a,this.radius=0,this._disabled=!1,this._isInitialized=!1,this._globalOptions=o||{},this._rippleRenderer=new Xh(this,i,t,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(t,i=0,r){return"number"==typeof t?this._rippleRenderer.fadeInRipple(t,i,{...this.rippleConfig,...r}):this._rippleRenderer.fadeInRipple(0,0,{...this.rippleConfig,...t})}static#e=this.\u0275fac=function(i){return new(i||e)(T(Ft),T(ot),T(Xn),T(Zh,8),T($i,8))};static#t=this.\u0275dir=Me({type:e,selectors:[["","mat-ripple",""],["","matRipple",""]],hostAttrs:[1,"mat-ripple"],hostVars:2,hostBindings:function(i,r){2&i&&Ct("mat-ripple-unbounded",r.unbounded)},inputs:{color:["matRippleColor","color"],unbounded:["matRippleUnbounded","unbounded"],centered:["matRippleCentered","centered"],radius:["matRippleRadius","radius"],animation:["matRippleAnimation","animation"],disabled:["matRippleDisabled","disabled"],trigger:["matRippleTrigger","trigger"]},exportAs:["matRipple"]})}return e})(),zg=(()=>{class e{static#e=this.\u0275fac=function(i){return new(i||e)};static#t=this.\u0275mod=Rt({type:e});static#n=this.\u0275inj=kt({imports:[Cn,Cn]})}return e})(),_X=(()=>{class e{static#e=this.\u0275fac=function(i){return new(i||e)};static#t=this.\u0275mod=Rt({type:e});static#n=this.\u0275inj=kt({imports:[Cn]})}return e})();const LR={capture:!0},BR=["focus","click","mouseenter","touchstart"],Lw="mat-ripple-loader-uninitialized",Bw="mat-ripple-loader-class-name",VR="mat-ripple-loader-centered",Hg="mat-ripple-loader-disabled";let yX=(()=>{class e{constructor(){this._document=vt(qt,{optional:!0}),this._animationMode=vt($i,{optional:!0}),this._globalRippleOptions=vt(Zh,{optional:!0}),this._platform=vt(Xn),this._ngZone=vt(ot),this._onInteraction=t=>{if(!(t.target instanceof HTMLElement))return;const r=t.target.closest(`[${Lw}]`);r&&this.createRipple(r)},this._ngZone.runOutsideAngular(()=>{for(const t of BR)this._document?.addEventListener(t,this._onInteraction,LR)})}ngOnDestroy(){for(const t of BR)this._document?.removeEventListener(t,this._onInteraction,LR)}configureRipple(t,i){t.setAttribute(Lw,""),(i.className||!t.hasAttribute(Bw))&&t.setAttribute(Bw,i.className||""),i.centered&&t.setAttribute(VR,""),i.disabled&&t.setAttribute(Hg,"")}getRipple(t){return t.matRipple?t.matRipple:this.createRipple(t)}setDisabled(t,i){const r=t.matRipple;r?r.disabled=i:i?t.setAttribute(Hg,""):t.removeAttribute(Hg)}createRipple(t){if(!this._document)return;t.querySelector(".mat-ripple")?.remove();const i=this._document.createElement("span");i.classList.add("mat-ripple",t.getAttribute(Bw)),t.append(i);const r=new jg(new Ft(i),this._ngZone,this._platform,this._globalRippleOptions?this._globalRippleOptions:void 0,this._animationMode?this._animationMode:void 0);return r._isInitialized=!0,r.trigger=t,r.centered=t.hasAttribute(VR),r.disabled=t.hasAttribute(Hg),this.attachRipple(t,r),r}attachRipple(t,i){t.removeAttribute(Lw),t.matRipple=i}static#e=this.\u0275fac=function(i){return new(i||e)};static#t=this.\u0275prov=Se({token:e,factory:e.\u0275fac,providedIn:"root"})}return e})();const jR=new Ce("mat-checkbox-default-options",{providedIn:"root",factory:function zR(){return{color:"accent",clickAction:"check-indeterminate"}}});let $R=(()=>{class e{static#e=this.\u0275fac=function(i){return new(i||e)};static#t=this.\u0275mod=Rt({type:e});static#n=this.\u0275inj=kt({})}return e})(),UR=(()=>{class e{static#e=this.\u0275fac=function(i){return new(i||e)};static#t=this.\u0275mod=Rt({type:e});static#n=this.\u0275inj=kt({imports:[Cn,zg,$R,Cn,$R]})}return e})();class GR{}class IX{}const Ka="*";function Qh(e,n){return{type:7,name:e,definitions:n,options:{}}}function Fc(e,n=null){return{type:4,styles:n,timings:e}}function YR(e,n=null){return{type:2,steps:e,options:n}}function ar(e){return{type:6,styles:e,offset:null}}function Xa(e,n,t){return{type:0,name:e,styles:n,options:t}}function Lc(e,n,t=null){return{type:1,expr:e,animation:n,options:t}}class Jh{constructor(n=0,t=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+t}_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 t="start"==n?this._onStartFns:this._onDoneFns;t.forEach(i=>i()),t.length=0}}class XR{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 t=0,i=0,r=0;const o=this.players.length;0==o?queueMicrotask(()=>this._onFinish()):this.players.forEach(a=>{a.onDone(()=>{++t==o&&this._onFinish()}),a.onDestroy(()=>{++i==o&&this._onDestroy()}),a.onStart(()=>{++r==o&&this._onStart()})}),this.totalTime=this.players.reduce((a,s)=>Math.max(a,s.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 t=n*this.totalTime;this.players.forEach(i=>{const r=i.totalTime?Math.min(1,t/i.totalTime):1;i.setPosition(r)})}getPosition(){const n=this.players.reduce((t,i)=>null===t||i.totalTime>t.totalTime?i:t,null);return null!=n?n.getPosition():0}beforeDestroy(){this.players.forEach(n=>{n.beforeDestroy&&n.beforeDestroy()})}triggerCallback(n){const t="start"==n?this._onStartFns:this._onDoneFns;t.forEach(i=>i()),t.length=0}}function ZR(e){return new q(3e3,!1)}function Ns(e){switch(e.length){case 0:return new Jh;case 1:return e[0];default:return new XR(e)}}function QR(e,n,t=new Map,i=new Map){const r=[],o=[];let a=-1,s=null;if(n.forEach(c=>{const l=c.get("offset"),d=l==a,u=d&&s||new Map;c.forEach((h,f)=>{let p=f,g=h;if("offset"!==f)switch(p=e.normalizePropertyName(p,r),g){case"!":g=t.get(f);break;case Ka:g=i.get(f);break;default:g=e.normalizeStyleValue(f,p,g,r)}u.set(p,g)}),d||o.push(u),s=u,a=l}),r.length)throw function eZ(e){return new q(3502,!1)}();return o}function jw(e,n,t,i){switch(n){case"start":e.onStart(()=>i(t&&zw(t,"start",e)));break;case"done":e.onDone(()=>i(t&&zw(t,"done",e)));break;case"destroy":e.onDestroy(()=>i(t&&zw(t,"destroy",e)))}}function zw(e,n,t){const o=Hw(e.element,e.triggerName,e.fromState,e.toState,n||e.phaseName,t.totalTime??e.totalTime,!!t.disabled),a=e._data;return null!=a&&(o._data=a),o}function Hw(e,n,t,i,r="",o=0,a){return{element:e,triggerName:n,fromState:t,toState:i,phaseName:r,totalTime:o,disabled:!!a}}function Nr(e,n,t){let i=e.get(n);return i||e.set(n,i=t),i}function JR(e){const n=e.indexOf(":");return[e.substring(1,n),e.slice(n+1)]}const hZ=(()=>typeof document>"u"?null:document.documentElement)();function $w(e){const n=e.parentNode||e.host||null;return n===hZ?null:n}let Bc=null,eP=!1;function tP(e,n){for(;n;){if(n===e)return!0;n=$w(n)}return!1}function nP(e,n,t){if(t)return Array.from(e.querySelectorAll(n));const i=e.querySelector(n);return i?[i]:[]}let iP=(()=>{class e{validateStyleProperty(t){return function pZ(e){Bc||(Bc=function mZ(){return typeof document<"u"?document.body:null}()||{},eP=!!Bc.style&&"WebkitAppearance"in Bc.style);let n=!0;return Bc.style&&!function fZ(e){return"ebkit"==e.substring(1,6)}(e)&&(n=e in Bc.style,!n&&eP&&(n="Webkit"+e.charAt(0).toUpperCase()+e.slice(1)in Bc.style)),n}(t)}matchesElement(t,i){return!1}containsElement(t,i){return tP(t,i)}getParentElement(t){return $w(t)}query(t,i,r){return nP(t,i,r)}computeStyle(t,i,r){return r||""}animate(t,i,r,o,a,s=[],c){return new Jh(r,o)}static#e=this.\u0275fac=function(i){return new(i||e)};static#t=this.\u0275prov=Se({token:e,factory:e.\u0275fac})}return e})(),Uw=(()=>{class e{static#e=this.NOOP=new iP}return e})();const gZ=1e3,Gw="ng-enter",$g="ng-leave",Ug="ng-trigger",Gg=".ng-trigger",oP="ng-animating",Ww=".ng-animating";function Za(e){if("number"==typeof e)return e;const n=e.match(/^(-?[\.\d]+)(m?s)/);return!n||n.length<2?0:Yw(parseFloat(n[1]),n[2])}function Yw(e,n){return"s"===n?e*gZ:e}function Wg(e,n,t){return e.hasOwnProperty("duration")?e:function _Z(e,n,t){let r,o=0,a="";if("string"==typeof e){const s=e.match(/^(-?[\.\d]+)(m?s)(?:\s+(-?[\.\d]+)(m?s))?(?:\s+([-a-z]+(?:\(.+?\))?))?$/i);if(null===s)return n.push(ZR()),{duration:0,delay:0,easing:""};r=Yw(parseFloat(s[1]),s[2]);const c=s[3];null!=c&&(o=Yw(parseFloat(c),s[4]));const l=s[5];l&&(a=l)}else r=e;if(!t){let s=!1,c=n.length;r<0&&(n.push(function OX(){return new q(3100,!1)}()),s=!0),o<0&&(n.push(function RX(){return new q(3101,!1)}()),s=!0),s&&n.splice(c,0,ZR())}return{duration:r,delay:o,easing:a}}(e,n,t)}function ef(e,n={}){return Object.keys(e).forEach(t=>{n[t]=e[t]}),n}function aP(e){const n=new Map;return Object.keys(e).forEach(t=>{n.set(t,e[t])}),n}function Fs(e,n=new Map,t){if(t)for(let[i,r]of t)n.set(i,r);for(let[i,r]of e)n.set(i,r);return n}function ma(e,n,t){n.forEach((i,r)=>{const o=Kw(r);t&&!t.has(r)&&t.set(r,e.style[o]),e.style[o]=i})}function Vc(e,n){n.forEach((t,i)=>{const r=Kw(i);e.style[r]=""})}function tf(e){return Array.isArray(e)?1==e.length?e[0]:YR(e):e}const qw=new RegExp("{{\\s*(.+?)\\s*}}","g");function cP(e){let n=[];if("string"==typeof e){let t;for(;t=qw.exec(e);)n.push(t[1]);qw.lastIndex=0}return n}function nf(e,n,t){const i=e.toString(),r=i.replace(qw,(o,a)=>{let s=n[a];return null==s&&(t.push(function NX(e){return new q(3003,!1)}()),s=""),s.toString()});return r==i?e:r}function Yg(e){const n=[];let t=e.next();for(;!t.done;)n.push(t.value),t=e.next();return n}const xZ=/-+([a-z0-9])/g;function Kw(e){return e.replace(xZ,(...n)=>n[1].toUpperCase())}function Fr(e,n,t){switch(n.type){case 7:return e.visitTrigger(n,t);case 0:return e.visitState(n,t);case 1:return e.visitTransition(n,t);case 2:return e.visitSequence(n,t);case 3:return e.visitGroup(n,t);case 4:return e.visitAnimate(n,t);case 5:return e.visitKeyframes(n,t);case 6:return e.visitStyle(n,t);case 8:return e.visitReference(n,t);case 9:return e.visitAnimateChild(n,t);case 10:return e.visitAnimateRef(n,t);case 11:return e.visitQuery(n,t);case 12:return e.visitStagger(n,t);default:throw function FX(e){return new q(3004,!1)}()}}const qg="*";function CZ(e,n){const t=[];return"string"==typeof e?e.split(/\s*,\s*/).forEach(i=>function SZ(e,n,t){if(":"==e[0]){const c=function DZ(e,n){switch(e){case":enter":return"void => *";case":leave":return"* => void";case":increment":return(t,i)=>parseFloat(i)>parseFloat(t);case":decrement":return(t,i)=>parseFloat(i) *"}}(e,t);if("function"==typeof c)return void n.push(c);e=c}const i=e.match(/^(\*|[-\w]+)\s*()\s*(\*|[-\w]+)$/);if(null==i||i.length<4)return t.push(function KX(e){return new q(3015,!1)}()),n;const r=i[1],o=i[2],a=i[3];n.push(dP(r,a));"<"==o[0]&&!(r==qg&&a==qg)&&n.push(dP(a,r))}(i,t,n)):t.push(e),t}const Kg=new Set(["true","1"]),Xg=new Set(["false","0"]);function dP(e,n){const t=Kg.has(e)||Xg.has(e),i=Kg.has(n)||Xg.has(n);return(r,o)=>{let a=e==qg||e==r,s=n==qg||n==o;return!a&&t&&"boolean"==typeof r&&(a=r?Kg.has(e):Xg.has(e)),!s&&i&&"boolean"==typeof o&&(s=o?Kg.has(n):Xg.has(n)),a&&s}}const kZ=new RegExp("s*:selfs*,?","g");function Xw(e,n,t,i){return new TZ(e).build(n,t,i)}class TZ{constructor(n){this._driver=n}build(n,t,i){const r=new IZ(t);return this._resetContextStyleTimingState(r),Fr(this,tf(n),r)}_resetContextStyleTimingState(n){n.currentQuerySelector="",n.collectedStyles=new Map,n.collectedStyles.set("",new Map),n.currentTime=0}visitTrigger(n,t){let i=t.queryCount=0,r=t.depCount=0;const o=[],a=[];return"@"==n.name.charAt(0)&&t.errors.push(function BX(){return new q(3006,!1)}()),n.definitions.forEach(s=>{if(this._resetContextStyleTimingState(t),0==s.type){const c=s,l=c.name;l.toString().split(/\s*,\s*/).forEach(d=>{c.name=d,o.push(this.visitState(c,t))}),c.name=l}else if(1==s.type){const c=this.visitTransition(s,t);i+=c.queryCount,r+=c.depCount,a.push(c)}else t.errors.push(function VX(){return new q(3007,!1)}())}),{type:7,name:n.name,states:o,transitions:a,queryCount:i,depCount:r,options:null}}visitState(n,t){const i=this.visitStyle(n.styles,t),r=n.options&&n.options.params||null;if(i.containsDynamicStyles){const o=new Set,a=r||{};i.styles.forEach(s=>{s instanceof Map&&s.forEach(c=>{cP(c).forEach(l=>{a.hasOwnProperty(l)||o.add(l)})})}),o.size&&(Yg(o.values()),t.errors.push(function jX(e,n){return new q(3008,!1)}()))}return{type:0,name:n.name,style:i,options:r?{params:r}:null}}visitTransition(n,t){t.queryCount=0,t.depCount=0;const i=Fr(this,tf(n.animation),t);return{type:1,matchers:CZ(n.expr,t.errors),animation:i,queryCount:t.queryCount,depCount:t.depCount,options:jc(n.options)}}visitSequence(n,t){return{type:2,steps:n.steps.map(i=>Fr(this,i,t)),options:jc(n.options)}}visitGroup(n,t){const i=t.currentTime;let r=0;const o=n.steps.map(a=>{t.currentTime=i;const s=Fr(this,a,t);return r=Math.max(r,t.currentTime),s});return t.currentTime=r,{type:3,steps:o,options:jc(n.options)}}visitAnimate(n,t){const i=function RZ(e,n){if(e.hasOwnProperty("duration"))return e;if("number"==typeof e)return Zw(Wg(e,n).duration,0,"");const t=e;if(t.split(/\s+/).some(o=>"{"==o.charAt(0)&&"{"==o.charAt(1))){const o=Zw(0,0,"");return o.dynamic=!0,o.strValue=t,o}const r=Wg(t,n);return Zw(r.duration,r.delay,r.easing)}(n.timings,t.errors);t.currentAnimateTimings=i;let r,o=n.styles?n.styles:ar({});if(5==o.type)r=this.visitKeyframes(o,t);else{let a=n.styles,s=!1;if(!a){s=!0;const l={};i.easing&&(l.easing=i.easing),a=ar(l)}t.currentTime+=i.duration+i.delay;const c=this.visitStyle(a,t);c.isEmptyStep=s,r=c}return t.currentAnimateTimings=null,{type:4,timings:i,style:r,options:null}}visitStyle(n,t){const i=this._makeStyleAst(n,t);return this._validateStyleAst(i,t),i}_makeStyleAst(n,t){const i=[],r=Array.isArray(n.styles)?n.styles:[n.styles];for(let s of r)"string"==typeof s?s===Ka?i.push(s):t.errors.push(new q(3002,!1)):i.push(aP(s));let o=!1,a=null;return i.forEach(s=>{if(s instanceof Map&&(s.has("easing")&&(a=s.get("easing"),s.delete("easing")),!o))for(let c of s.values())if(c.toString().indexOf("{{")>=0){o=!0;break}}),{type:6,styles:i,easing:a,offset:n.offset,containsDynamicStyles:o,options:null}}_validateStyleAst(n,t){const i=t.currentAnimateTimings;let r=t.currentTime,o=t.currentTime;i&&o>0&&(o-=i.duration+i.delay),n.styles.forEach(a=>{"string"!=typeof a&&a.forEach((s,c)=>{const l=t.collectedStyles.get(t.currentQuerySelector),d=l.get(c);let u=!0;d&&(o!=r&&o>=d.startTime&&r<=d.endTime&&(t.errors.push(function HX(e,n,t,i,r){return new q(3010,!1)}()),u=!1),o=d.startTime),u&&l.set(c,{startTime:o,endTime:r}),t.options&&function bZ(e,n,t){const i=n.params||{},r=cP(e);r.length&&r.forEach(o=>{i.hasOwnProperty(o)||t.push(function PX(e){return new q(3001,!1)}())})}(s,t.options,t.errors)})})}visitKeyframes(n,t){const i={type:5,styles:[],options:null};if(!t.currentAnimateTimings)return t.errors.push(function $X(){return new q(3011,!1)}()),i;let o=0;const a=[];let s=!1,c=!1,l=0;const d=n.steps.map(k=>{const E=this._makeStyleAst(k,t);let C=null!=E.offset?E.offset:function OZ(e){if("string"==typeof e)return null;let n=null;if(Array.isArray(e))e.forEach(t=>{if(t instanceof Map&&t.has("offset")){const i=t;n=parseFloat(i.get("offset")),i.delete("offset")}});else if(e instanceof Map&&e.has("offset")){const t=e;n=parseFloat(t.get("offset")),t.delete("offset")}return n}(E.styles),x=0;return null!=C&&(o++,x=E.offset=C),c=c||x<0||x>1,s=s||x0&&o{const C=h>0?E==f?1:h*E:a[E],x=C*v;t.currentTime=p+g.delay+x,g.duration=x,this._validateStyleAst(k,t),k.offset=C,i.styles.push(k)}),i}visitReference(n,t){return{type:8,animation:Fr(this,tf(n.animation),t),options:jc(n.options)}}visitAnimateChild(n,t){return t.depCount++,{type:9,options:jc(n.options)}}visitAnimateRef(n,t){return{type:10,animation:this.visitReference(n.animation,t),options:jc(n.options)}}visitQuery(n,t){const i=t.currentQuerySelector,r=n.options||{};t.queryCount++,t.currentQuery=n;const[o,a]=function AZ(e){const n=!!e.split(/\s*,\s*/).find(t=>":self"==t);return n&&(e=e.replace(kZ,"")),e=e.replace(/@\*/g,Gg).replace(/@\w+/g,t=>Gg+"-"+t.slice(1)).replace(/:animating/g,Ww),[e,n]}(n.selector);t.currentQuerySelector=i.length?i+" "+o:o,Nr(t.collectedStyles,t.currentQuerySelector,new Map);const s=Fr(this,tf(n.animation),t);return t.currentQuery=null,t.currentQuerySelector=i,{type:11,selector:o,limit:r.limit||0,optional:!!r.optional,includeSelf:a,animation:s,originalSelector:n.selector,options:jc(n.options)}}visitStagger(n,t){t.currentQuery||t.errors.push(function YX(){return new q(3013,!1)}());const i="full"===n.timings?{duration:0,delay:0,easing:"full"}:Wg(n.timings,t.errors,!0);return{type:12,animation:Fr(this,tf(n.animation),t),timings:i,options:null}}}class IZ{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 jc(e){return e?(e=ef(e)).params&&(e.params=function MZ(e){return e?ef(e):null}(e.params)):e={},e}function Zw(e,n,t){return{duration:e,delay:n,easing:t}}function Qw(e,n,t,i,r,o,a=null,s=!1){return{type:1,element:e,keyframes:n,preStyleProps:t,postStyleProps:i,duration:r,delay:o,totalTime:r+o,easing:a,subTimeline:s}}class Zg{constructor(){this._map=new Map}get(n){return this._map.get(n)||[]}append(n,t){let i=this._map.get(n);i||this._map.set(n,i=[]),i.push(...t)}has(n){return this._map.has(n)}clear(){this._map.clear()}}const FZ=new RegExp(":enter","g"),BZ=new RegExp(":leave","g");function Jw(e,n,t,i,r,o=new Map,a=new Map,s,c,l=[]){return(new VZ).buildKeyframes(e,n,t,i,r,o,a,s,c,l)}class VZ{buildKeyframes(n,t,i,r,o,a,s,c,l,d=[]){l=l||new Zg;const u=new e1(n,t,l,r,o,d,[]);u.options=c;const h=c.delay?Za(c.delay):0;u.currentTimeline.delayNextStep(h),u.currentTimeline.setStyles([a],null,u.errors,c),Fr(this,i,u);const f=u.timelines.filter(p=>p.containsAnimation());if(f.length&&s.size){let p;for(let g=f.length-1;g>=0;g--){const v=f[g];if(v.element===t){p=v;break}}p&&!p.allowOnlyTimelineStyles()&&p.setStyles([s],null,u.errors,c)}return f.length?f.map(p=>p.buildKeyframes()):[Qw(t,[],[],[],0,h,"",!1)]}visitTrigger(n,t){}visitState(n,t){}visitTransition(n,t){}visitAnimateChild(n,t){const i=t.subInstructions.get(t.element);if(i){const r=t.createSubContext(n.options),o=t.currentTimeline.currentTime,a=this._visitSubInstructions(i,r,r.options);o!=a&&t.transformIntoNewTimeline(a)}t.previousNode=n}visitAnimateRef(n,t){const i=t.createSubContext(n.options);i.transformIntoNewTimeline(),this._applyAnimationRefDelays([n.options,n.animation.options],t,i),this.visitReference(n.animation,i),t.transformIntoNewTimeline(i.currentTimeline.currentTime),t.previousNode=n}_applyAnimationRefDelays(n,t,i){for(const r of n){const o=r?.delay;if(o){const a="number"==typeof o?o:Za(nf(o,r?.params??{},t.errors));i.delayNextStep(a)}}}_visitSubInstructions(n,t,i){let o=t.currentTimeline.currentTime;const a=null!=i.duration?Za(i.duration):null,s=null!=i.delay?Za(i.delay):null;return 0!==a&&n.forEach(c=>{const l=t.appendInstructionToTimeline(c,a,s);o=Math.max(o,l.duration+l.delay)}),o}visitReference(n,t){t.updateOptions(n.options,!0),Fr(this,n.animation,t),t.previousNode=n}visitSequence(n,t){const i=t.subContextCount;let r=t;const o=n.options;if(o&&(o.params||o.delay)&&(r=t.createSubContext(o),r.transformIntoNewTimeline(),null!=o.delay)){6==r.previousNode.type&&(r.currentTimeline.snapshotCurrentStyles(),r.previousNode=Qg);const a=Za(o.delay);r.delayNextStep(a)}n.steps.length&&(n.steps.forEach(a=>Fr(this,a,r)),r.currentTimeline.applyStylesToKeyframe(),r.subContextCount>i&&r.transformIntoNewTimeline()),t.previousNode=n}visitGroup(n,t){const i=[];let r=t.currentTimeline.currentTime;const o=n.options&&n.options.delay?Za(n.options.delay):0;n.steps.forEach(a=>{const s=t.createSubContext(n.options);o&&s.delayNextStep(o),Fr(this,a,s),r=Math.max(r,s.currentTimeline.currentTime),i.push(s.currentTimeline)}),i.forEach(a=>t.currentTimeline.mergeTimelineCollectedStyles(a)),t.transformIntoNewTimeline(r),t.previousNode=n}_visitTiming(n,t){if(n.dynamic){const i=n.strValue;return Wg(t.params?nf(i,t.params,t.errors):i,t.errors)}return{duration:n.duration,delay:n.delay,easing:n.easing}}visitAnimate(n,t){const i=t.currentAnimateTimings=this._visitTiming(n.timings,t),r=t.currentTimeline;i.delay&&(t.incrementTime(i.delay),r.snapshotCurrentStyles());const o=n.style;5==o.type?this.visitKeyframes(o,t):(t.incrementTime(i.duration),this.visitStyle(o,t),r.applyStylesToKeyframe()),t.currentAnimateTimings=null,t.previousNode=n}visitStyle(n,t){const i=t.currentTimeline,r=t.currentAnimateTimings;!r&&i.hasCurrentStyleProperties()&&i.forwardFrame();const o=r&&r.easing||n.easing;n.isEmptyStep?i.applyEmptyStep(o):i.setStyles(n.styles,o,t.errors,t.options),t.previousNode=n}visitKeyframes(n,t){const i=t.currentAnimateTimings,r=t.currentTimeline.duration,o=i.duration,s=t.createSubContext().currentTimeline;s.easing=i.easing,n.styles.forEach(c=>{s.forwardTime((c.offset||0)*o),s.setStyles(c.styles,c.easing,t.errors,t.options),s.applyStylesToKeyframe()}),t.currentTimeline.mergeTimelineCollectedStyles(s),t.transformIntoNewTimeline(r+o),t.previousNode=n}visitQuery(n,t){const i=t.currentTimeline.currentTime,r=n.options||{},o=r.delay?Za(r.delay):0;o&&(6===t.previousNode.type||0==i&&t.currentTimeline.hasCurrentStyleProperties())&&(t.currentTimeline.snapshotCurrentStyles(),t.previousNode=Qg);let a=i;const s=t.invokeQuery(n.selector,n.originalSelector,n.limit,n.includeSelf,!!r.optional,t.errors);t.currentQueryTotal=s.length;let c=null;s.forEach((l,d)=>{t.currentQueryIndex=d;const u=t.createSubContext(n.options,l);o&&u.delayNextStep(o),l===t.element&&(c=u.currentTimeline),Fr(this,n.animation,u),u.currentTimeline.applyStylesToKeyframe(),a=Math.max(a,u.currentTimeline.currentTime)}),t.currentQueryIndex=0,t.currentQueryTotal=0,t.transformIntoNewTimeline(a),c&&(t.currentTimeline.mergeTimelineCollectedStyles(c),t.currentTimeline.snapshotCurrentStyles()),t.previousNode=n}visitStagger(n,t){const i=t.parentContext,r=t.currentTimeline,o=n.timings,a=Math.abs(o.duration),s=a*(t.currentQueryTotal-1);let c=a*t.currentQueryIndex;switch(o.duration<0?"reverse":o.easing){case"reverse":c=s-c;break;case"full":c=i.currentStaggerTime}const d=t.currentTimeline;c&&d.delayNextStep(c);const u=d.currentTime;Fr(this,n.animation,t),t.previousNode=n,i.currentStaggerTime=r.currentTime-u+(r.startTime-i.currentTimeline.startTime)}}const Qg={};class e1{constructor(n,t,i,r,o,a,s,c){this._driver=n,this.element=t,this.subInstructions=i,this._enterClassName=r,this._leaveClassName=o,this.errors=a,this.timelines=s,this.parentContext=null,this.currentAnimateTimings=null,this.previousNode=Qg,this.subContextCount=0,this.options={},this.currentQueryIndex=0,this.currentQueryTotal=0,this.currentStaggerTime=0,this.currentTimeline=c||new Jg(this._driver,t,0),s.push(this.currentTimeline)}get params(){return this.options.params}updateOptions(n,t){if(!n)return;const i=n;let r=this.options;null!=i.duration&&(r.duration=Za(i.duration)),null!=i.delay&&(r.delay=Za(i.delay));const o=i.params;if(o){let a=r.params;a||(a=this.options.params={}),Object.keys(o).forEach(s=>{(!t||!a.hasOwnProperty(s))&&(a[s]=nf(o[s],a,this.errors))})}}_copyOptions(){const n={};if(this.options){const t=this.options.params;if(t){const i=n.params={};Object.keys(t).forEach(r=>{i[r]=t[r]})}}return n}createSubContext(n=null,t,i){const r=t||this.element,o=new e1(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=Qg,this.currentTimeline=this.currentTimeline.fork(this.element,n),this.timelines.push(this.currentTimeline),this.currentTimeline}appendInstructionToTimeline(n,t,i){const r={duration:t??n.duration,delay:this.currentTimeline.currentTime+(i??0)+n.delay,easing:""},o=new jZ(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,t,i,r,o,a){let s=[];if(r&&s.push(this.element),n.length>0){n=(n=n.replace(FZ,"."+this._enterClassName)).replace(BZ,"."+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)),s.push(...l)}return!o&&0==s.length&&a.push(function qX(e){return new q(3014,!1)}()),s}}class Jg{constructor(n,t,i,r){this._driver=n,this.element=t,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(t),this._globalTimelineStyles||(this._globalTimelineStyles=this._localTimelineStyles,this._elementTimelineStylesLookup.set(t,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 t=1===this._keyframes.size&&this._pendingStyles.size;this.duration||t?(this.forwardTime(this.currentTime+n),t&&this.snapshotCurrentStyles()):this.startTime+=n}fork(n,t){return this.applyStylesToKeyframe(),new Jg(this._driver,n,t||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,t){this._localTimelineStyles.set(n,t),this._globalTimelineStyles.set(n,t),this._styleSummary.set(n,{time:this.currentTime,value:t})}allowOnlyTimelineStyles(){return this._currentEmptyStepKeyframe!==this._currentKeyframe}applyEmptyStep(n){n&&this._previousKeyframe.set("easing",n);for(let[t,i]of this._globalTimelineStyles)this._backFill.set(t,i||Ka),this._currentKeyframe.set(t,Ka);this._currentEmptyStepKeyframe=this._currentKeyframe}setStyles(n,t,i,r){t&&this._previousKeyframe.set("easing",t);const o=r&&r.params||{},a=function zZ(e,n){const t=new Map;let i;return e.forEach(r=>{if("*"===r){i=i||n.keys();for(let o of i)t.set(o,Ka)}else Fs(r,t)}),t}(n,this._globalTimelineStyles);for(let[s,c]of a){const l=nf(c,o,i);this._pendingStyles.set(s,l),this._localTimelineStyles.has(s)||this._backFill.set(s,this._globalTimelineStyles.get(s)??Ka),this._updateStyle(s,l)}}applyStylesToKeyframe(){0!=this._pendingStyles.size&&(this._pendingStyles.forEach((n,t)=>{this._currentKeyframe.set(t,n)}),this._pendingStyles.clear(),this._localTimelineStyles.forEach((n,t)=>{this._currentKeyframe.has(t)||this._currentKeyframe.set(t,n)}))}snapshotCurrentStyles(){for(let[n,t]of this._localTimelineStyles)this._pendingStyles.set(n,t),this._updateStyle(n,t)}getFinalKeyframe(){return this._keyframes.get(this.duration)}get properties(){const n=[];for(let t in this._currentKeyframe)n.push(t);return n}mergeTimelineCollectedStyles(n){n._styleSummary.forEach((t,i)=>{const r=this._styleSummary.get(i);(!r||t.time>r.time)&&this._updateStyle(i,t.value)})}buildKeyframes(){this.applyStylesToKeyframe();const n=new Set,t=new Set,i=1===this._keyframes.size&&0===this.duration;let r=[];this._keyframes.forEach((s,c)=>{const l=Fs(s,new Map,this._backFill);l.forEach((d,u)=>{"!"===d?n.add(u):d===Ka&&t.add(u)}),i||l.set("offset",c/this.duration),r.push(l)});const o=n.size?Yg(n.values()):[],a=t.size?Yg(t.values()):[];if(i){const s=r[0],c=new Map(s);s.set("offset",0),c.set("offset",1),r=[s,c]}return Qw(this.element,r,o,a,this.duration,this.startTime,this.easing,!1)}}class jZ extends Jg{constructor(n,t,i,r,o,a,s=!1){super(n,t,a.delay),this.keyframes=i,this.preStyleProps=r,this.postStyleProps=o,this._stretchStartingKeyframe=s,this.timings={duration:a.duration,delay:a.delay,easing:a.easing}}containsAnimation(){return this.keyframes.length>1}buildKeyframes(){let n=this.keyframes,{delay:t,duration:i,easing:r}=this.timings;if(this._stretchStartingKeyframe&&t){const o=[],a=i+t,s=t/a,c=Fs(n[0]);c.set("offset",0),o.push(c);const l=Fs(n[0]);l.set("offset",fP(s)),o.push(l);const d=n.length-1;for(let u=1;u<=d;u++){let h=Fs(n[u]);const f=h.get("offset");h.set("offset",fP((t+f*i)/a)),o.push(h)}i=a,t=0,r="",n=o}return Qw(this.element,n,this.preStyleProps,this.postStyleProps,i,t,r,!0)}}function fP(e,n=3){const t=Math.pow(10,n-1);return Math.round(e*t)/t}class t1{}const HZ=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 $Z extends t1{normalizePropertyName(n,t){return Kw(n)}normalizeStyleValue(n,t,i,r){let o="";const a=i.toString().trim();if(HZ.has(t)&&0!==i&&"0"!==i)if("number"==typeof i)o="px";else{const s=i.match(/^[+-]?[\d\.]+([a-z]*)$/);s&&0==s[1].length&&r.push(function LX(e,n){return new q(3005,!1)}())}return a+o}}function pP(e,n,t,i,r,o,a,s,c,l,d,u,h){return{type:0,element:e,triggerName:n,isRemovalTransition:r,fromState:t,fromStyles:o,toState:i,toStyles:a,timelines:s,queriedElements:c,preStyleProps:l,postStyleProps:d,totalTime:u,errors:h}}const n1={};class mP{constructor(n,t,i){this._triggerName=n,this.ast=t,this._stateStyles=i}match(n,t,i,r){return function UZ(e,n,t,i,r){return e.some(o=>o(n,t,i,r))}(this.ast.matchers,n,t,i,r)}buildStyles(n,t,i){let r=this._stateStyles.get("*");return void 0!==n&&(r=this._stateStyles.get(n?.toString())||r),r?r.buildStyles(t,i):new Map}build(n,t,i,r,o,a,s,c,l,d){const u=[],h=this.ast.options&&this.ast.options.params||n1,p=this.buildStyles(i,s&&s.params||n1,u),g=c&&c.params||n1,v=this.buildStyles(r,g,u),k=new Set,E=new Map,C=new Map,x="void"===r,D={params:GZ(g,h),delay:this.ast.options?.delay},P=d?[]:Jw(n,t,this.ast.animation,o,a,p,v,D,l,u);let V=0;if(P.forEach(Q=>{V=Math.max(Q.duration+Q.delay,V)}),u.length)return pP(t,this._triggerName,i,r,x,p,v,[],[],E,C,V,u);P.forEach(Q=>{const be=Q.element,He=Nr(E,be,new Set);Q.preStyleProps.forEach(we=>He.add(we));const de=Nr(C,be,new Set);Q.postStyleProps.forEach(we=>de.add(we)),be!==t&&k.add(be)});const F=Yg(k.values());return pP(t,this._triggerName,i,r,x,p,v,P,F,E,C,V)}}function GZ(e,n){const t=ef(n);for(const i in e)e.hasOwnProperty(i)&&null!=e[i]&&(t[i]=e[i]);return t}class WZ{constructor(n,t,i){this.styles=n,this.defaultParams=t,this.normalizer=i}buildStyles(n,t){const i=new Map,r=ef(this.defaultParams);return Object.keys(n).forEach(o=>{const a=n[o];null!==a&&(r[o]=a)}),this.styles.styles.forEach(o=>{"string"!=typeof o&&o.forEach((a,s)=>{a&&(a=nf(a,r,t));const c=this.normalizer.normalizePropertyName(s,t);a=this.normalizer.normalizeStyleValue(s,c,a,t),i.set(s,a)})}),i}}class qZ{constructor(n,t,i){this.name=n,this.ast=t,this._normalizer=i,this.transitionFactories=[],this.states=new Map,t.states.forEach(r=>{this.states.set(r.name,new WZ(r.style,r.options&&r.options.params||{},i))}),gP(this.states,"true","1"),gP(this.states,"false","0"),t.transitions.forEach(r=>{this.transitionFactories.push(new mP(n,r,this.states))}),this.fallbackTransition=function KZ(e,n,t){return new mP(e,{type:1,animation:{type:2,steps:[],options:null},matchers:[(a,s)=>!0],options:null,queryCount:0,depCount:0},n)}(n,this.states)}get containsQueries(){return this.ast.queryCount>0}matchTransition(n,t,i,r){return this.transitionFactories.find(a=>a.match(n,t,i,r))||null}matchStyles(n,t,i){return this.fallbackTransition.buildStyles(n,t,i)}}function gP(e,n,t){e.has(n)?e.has(t)||e.set(t,e.get(n)):e.has(t)&&e.set(n,e.get(t))}const XZ=new Zg;class ZZ{constructor(n,t,i){this.bodyNode=n,this._driver=t,this._normalizer=i,this._animations=new Map,this._playersById=new Map,this.players=[]}register(n,t){const i=[],o=Xw(this._driver,t,i,[]);if(i.length)throw function tZ(e){return new q(3503,!1)}();this._animations.set(n,o)}_buildPlayer(n,t,i){const r=n.element,o=QR(this._normalizer,n.keyframes,t,i);return this._driver.animate(r,o,n.duration,n.delay,n.easing,[],!0)}create(n,t,i={}){const r=[],o=this._animations.get(n);let a;const s=new Map;if(o?(a=Jw(this._driver,t,o,Gw,$g,new Map,new Map,i,XZ,r),a.forEach(d=>{const u=Nr(s,d.element,new Map);d.postStyleProps.forEach(h=>u.set(h,null))})):(r.push(function nZ(){return new q(3300,!1)}()),a=[]),r.length)throw function iZ(e){return new q(3504,!1)}();s.forEach((d,u)=>{d.forEach((h,f)=>{d.set(f,this._driver.computeStyle(u,f,Ka))})});const l=Ns(a.map(d=>{const u=s.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 t=this._getPlayer(n);t.destroy(),this._playersById.delete(n);const i=this.players.indexOf(t);i>=0&&this.players.splice(i,1)}_getPlayer(n){const t=this._playersById.get(n);if(!t)throw function rZ(e){return new q(3301,!1)}();return t}listen(n,t,i,r){const o=Hw(t,"","","");return jw(this._getPlayer(n),i,o,r),()=>{}}command(n,t,i,r){if("register"==i)return void this.register(n,r[0]);if("create"==i)return void this.create(n,t,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 vP="ng-animate-queued",r1="ng-animate-disabled",nQ=[],_P={namespaceId:"",setForRemoval:!1,setForMove:!1,hasAnimation:!1,removedBeforeQueried:!1},iQ={namespaceId:"",setForMove:!1,setForRemoval:!1,hasAnimation:!1,removedBeforeQueried:!0},Vo="__ng_removed";class o1{get params(){return this.options.params}constructor(n,t=""){this.namespaceId=t;const i=n&&n.hasOwnProperty("value");if(this.value=function sQ(e){return e??null}(i?n.value:n),i){const o=ef(n);delete o.value,this.options=o}else this.options={};this.options.params||(this.options.params={})}absorbOptions(n){const t=n.params;if(t){const i=this.options.params;Object.keys(t).forEach(r=>{null==i[r]&&(i[r]=t[r])})}}}const rf="void",a1=new o1(rf);class rQ{constructor(n,t,i){this.id=n,this.hostElement=t,this._engine=i,this.players=[],this._triggers=new Map,this._queue=[],this._elementListeners=new Map,this._hostClassName="ng-tns-"+n,lo(t,this._hostClassName)}listen(n,t,i,r){if(!this._triggers.has(t))throw function oZ(e,n){return new q(3302,!1)}();if(null==i||0==i.length)throw function aZ(e){return new q(3303,!1)}();if(!function cQ(e){return"start"==e||"done"==e}(i))throw function sZ(e,n){return new q(3400,!1)}();const o=Nr(this._elementListeners,n,[]),a={name:t,phase:i,callback:r};o.push(a);const s=Nr(this._engine.statesByElement,n,new Map);return s.has(t)||(lo(n,Ug),lo(n,Ug+"-"+t),s.set(t,a1)),()=>{this._engine.afterFlush(()=>{const c=o.indexOf(a);c>=0&&o.splice(c,1),this._triggers.has(t)||s.delete(t)})}}register(n,t){return!this._triggers.has(n)&&(this._triggers.set(n,t),!0)}_getTrigger(n){const t=this._triggers.get(n);if(!t)throw function cZ(e){return new q(3401,!1)}();return t}trigger(n,t,i,r=!0){const o=this._getTrigger(t),a=new s1(this.id,t,n);let s=this._engine.statesByElement.get(n);s||(lo(n,Ug),lo(n,Ug+"-"+t),this._engine.statesByElement.set(n,s=new Map));let c=s.get(t);const l=new o1(i,this.id);if(!(i&&i.hasOwnProperty("value"))&&c&&l.absorbOptions(c.options),s.set(t,l),c||(c=a1),l.value!==rf&&c.value===l.value){if(!function uQ(e,n){const t=Object.keys(e),i=Object.keys(n);if(t.length!=i.length)return!1;for(let r=0;r{Vc(n,v),ma(n,k)})}return}const h=Nr(this._engine.playersByElement,n,[]);h.forEach(g=>{g.namespaceId==this.id&&g.triggerName==t&&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:t,transition:f,fromState:c,toState:l,player:a,isFallbackTransition:p}),p||(lo(n,vP),a.onStart(()=>{Rd(n,vP)})),a.onDone(()=>{let g=this.players.indexOf(a);g>=0&&this.players.splice(g,1);const v=this._engine.playersByElement.get(n);if(v){let k=v.indexOf(a);k>=0&&v.splice(k,1)}}),this.players.push(a),h.push(a),a}deregister(n){this._triggers.delete(n),this._engine.statesByElement.forEach(t=>t.delete(n)),this._elementListeners.forEach((t,i)=>{this._elementListeners.set(i,t.filter(r=>r.name!=n))})}clearElementCache(n){this._engine.statesByElement.delete(n),this._elementListeners.delete(n);const t=this._engine.playersByElement.get(n);t&&(t.forEach(i=>i.destroy()),this._engine.playersByElement.delete(n))}_signalRemovalForInnerTriggers(n,t){const i=this._engine.driver.query(n,Gg,!0);i.forEach(r=>{if(r[Vo])return;const o=this._engine.fetchNamespacesByElement(r);o.size?o.forEach(a=>a.triggerLeaveAnimation(r,t,!1,!0)):this.clearElementCache(r)}),this._engine.afterFlushAnimationsDone(()=>i.forEach(r=>this.clearElementCache(r)))}triggerLeaveAnimation(n,t,i,r){const o=this._engine.statesByElement.get(n),a=new Map;if(o){const s=[];if(o.forEach((c,l)=>{if(a.set(l,c.value),this._triggers.has(l)){const d=this.trigger(n,l,rf,r);d&&s.push(d)}}),s.length)return this._engine.markElementAsRemoved(this.id,n,!0,t,a),i&&Ns(s).onDone(()=>this._engine.processLeaveNode(n)),!0}return!1}prepareLeaveAnimationListeners(n){const t=this._elementListeners.get(n),i=this._engine.statesByElement.get(n);if(t&&i){const r=new Set;t.forEach(o=>{const a=o.name;if(r.has(a))return;r.add(a);const c=this._triggers.get(a).fallbackTransition,l=i.get(a)||a1,d=new o1(rf),u=new s1(this.id,a,n);this._engine.totalQueuedPlayers++,this._queue.push({element:n,triggerName:a,transition:c,fromState:l,toState:d,player:u,isFallbackTransition:!0})})}}removeNode(n,t){const i=this._engine;if(n.childElementCount&&this._signalRemovalForInnerTriggers(n,t),this.triggerLeaveAnimation(n,t,!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 a=n;for(;a=a.parentNode;)if(i.statesByElement.get(a)){r=!0;break}}}if(this.prepareLeaveAnimationListeners(n),r)i.markElementAsRemoved(this.id,n,!1,t);else{const o=n[Vo];(!o||o===_P)&&(i.afterFlush(()=>this.clearElementCache(n)),i.destroyInnerAnimations(n),i._onRemovalComplete(n,t))}}insertNode(n,t){lo(n,this._hostClassName)}drainQueuedTransitions(n){const t=[];return this._queue.forEach(i=>{const r=i.player;if(r.destroyed)return;const o=i.element,a=this._elementListeners.get(o);a&&a.forEach(s=>{if(s.name==i.triggerName){const c=Hw(o,i.triggerName,i.fromState.value,i.toState.value);c._data=n,jw(i.player,s.phase,c,s.callback)}}),r.markedForDestroy?this._engine.afterFlush(()=>{r.destroy()}):t.push(i)}),this._queue=[],t.sort((i,r)=>{const o=i.transition.ast.depCount,a=r.transition.ast.depCount;return 0==o||0==a?o-a:this._engine.driver.containsElement(i.element,r.element)?1:-1})}destroy(n){this.players.forEach(t=>t.destroy()),this._signalRemovalForInnerTriggers(this.hostElement,n)}}class oQ{_onRemovalComplete(n,t){this.onRemovalComplete(n,t)}constructor(n,t,i){this.bodyNode=n,this.driver=t,this._normalizer=i,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=(r,o)=>{}}get queuedPlayers(){const n=[];return this._namespaceList.forEach(t=>{t.players.forEach(i=>{i.queued&&n.push(i)})}),n}createNamespace(n,t){const i=new rQ(n,t,this);return this.bodyNode&&this.driver.containsElement(this.bodyNode,t)?this._balanceNamespaceList(i,t):(this.newHostElements.set(t,i),this.collectEnterElement(t)),this._namespaceLookup[n]=i}_balanceNamespaceList(n,t){const i=this._namespaceList,r=this.namespacesByHostElement;if(i.length-1>=0){let a=!1,s=this.driver.getParentElement(t);for(;s;){const c=r.get(s);if(c){const l=i.indexOf(c);i.splice(l+1,0,n),a=!0;break}s=this.driver.getParentElement(s)}a||i.unshift(n)}else i.push(n);return r.set(t,n),n}register(n,t){let i=this._namespaceLookup[n];return i||(i=this.createNamespace(n,t)),i}registerTrigger(n,t,i){let r=this._namespaceLookup[n];r&&r.register(t,i)&&this.totalAnimations++}destroy(n,t){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(t),delete this._namespaceLookup[n]}))}_fetchNamespace(n){return this._namespaceLookup[n]}fetchNamespacesByElement(n){const t=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&&t.add(o)}return t}trigger(n,t,i,r){if(ev(t)){const o=this._fetchNamespace(n);if(o)return o.trigger(t,i,r),!0}return!1}insertNode(n,t,i,r){if(!ev(t))return;const o=t[Vo];if(o&&o.setForRemoval){o.setForRemoval=!1,o.setForMove=!0;const a=this.collectedLeaveElements.indexOf(t);a>=0&&this.collectedLeaveElements.splice(a,1)}if(n){const a=this._fetchNamespace(n);a&&a.insertNode(t,i)}r&&this.collectEnterElement(t)}collectEnterElement(n){this.collectedEnterElements.push(n)}markElementAsDisabled(n,t){t?this.disabledNodes.has(n)||(this.disabledNodes.add(n),lo(n,r1)):this.disabledNodes.has(n)&&(this.disabledNodes.delete(n),Rd(n,r1))}removeNode(n,t,i){if(ev(t)){const r=n?this._fetchNamespace(n):null;r?r.removeNode(t,i):this.markElementAsRemoved(n,t,!1,i);const o=this.namespacesByHostElement.get(t);o&&o.id!==n&&o.removeNode(t,i)}else this._onRemovalComplete(t,i)}markElementAsRemoved(n,t,i,r,o){this.collectedLeaveElements.push(t),t[Vo]={namespaceId:n,setForRemoval:r,hasAnimation:i,removedBeforeQueried:!1,previousTriggersValues:o}}listen(n,t,i,r,o){return ev(t)?this._fetchNamespace(n).listen(t,i,r,o):()=>{}}_buildInstruction(n,t,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,t,o)}destroyInnerAnimations(n){let t=this.driver.query(n,Gg,!0);t.forEach(i=>this.destroyActiveAnimationsForElement(i)),0!=this.playersByQueriedElement.size&&(t=this.driver.query(n,Ww,!0),t.forEach(i=>this.finishActiveQueriedAnimationOnElement(i)))}destroyActiveAnimationsForElement(n){const t=this.playersByElement.get(n);t&&t.forEach(i=>{i.queued?i.markedForDestroy=!0:i.destroy()})}finishActiveQueriedAnimationOnElement(n){const t=this.playersByQueriedElement.get(n);t&&t.forEach(i=>i.finish())}whenRenderingDone(){return new Promise(n=>{if(this.players.length)return Ns(this.players).onDone(()=>n());n()})}processLeaveNode(n){const t=n[Vo];if(t&&t.setForRemoval){if(n[Vo]=_P,t.namespaceId){this.destroyInnerAnimations(n);const i=this._fetchNamespace(t.namespaceId);i&&i.clearElementCache(n)}this._onRemovalComplete(n,t.setForRemoval)}n.classList?.contains(r1)&&this.markElementAsDisabled(n,!1),this.driver.query(n,".ng-animate-disabled",!0).forEach(i=>{this.markElementAsDisabled(i,!1)})}flush(n=-1){let t=[];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=[],t.length?Ns(t).onDone(()=>{i.forEach(r=>r())}):i.forEach(r=>r())}}reportError(n){throw function lZ(e){return new q(3402,!1)}()}_flushAnimations(n,t){const i=new Zg,r=[],o=new Map,a=[],s=new Map,c=new Map,l=new Map,d=new Set;this.disabledNodes.forEach(fe=>{d.add(fe);const ve=this.driver.query(fe,".ng-animate-queued",!0);for(let _=0;_{const _=Gw+g++;p.set(ve,_),fe.forEach(m=>lo(m,_))});const v=[],k=new Set,E=new Set;for(let fe=0;fek.add(m)):E.add(ve))}const C=new Map,x=xP(h,Array.from(k));x.forEach((fe,ve)=>{const _=$g+g++;C.set(ve,_),fe.forEach(m=>lo(m,_))}),n.push(()=>{f.forEach((fe,ve)=>{const _=p.get(ve);fe.forEach(m=>Rd(m,_))}),x.forEach((fe,ve)=>{const _=C.get(ve);fe.forEach(m=>Rd(m,_))}),v.forEach(fe=>{this.processLeaveNode(fe)})});const D=[],P=[];for(let fe=this._namespaceList.length-1;fe>=0;fe--)this._namespaceList[fe].drainQueuedTransitions(t).forEach(_=>{const m=_.player,S=_.element;if(D.push(m),this.collectedEnterElements.length){const bt=S[Vo];if(bt&&bt.setForMove){if(bt.previousTriggersValues&&bt.previousTriggersValues.has(_.triggerName)){const xn=bt.previousTriggersValues.get(_.triggerName),gn=this.statesByElement.get(_.element);if(gn&&gn.has(_.triggerName)){const Sn=gn.get(_.triggerName);Sn.value=xn,gn.set(_.triggerName,Sn)}}return void m.destroy()}}const A=!u||!this.driver.containsElement(u,S),z=C.get(S),L=p.get(S),$=this._buildInstruction(_,i,L,z,A);if($.errors&&$.errors.length)return void P.push($);if(A)return m.onStart(()=>Vc(S,$.fromStyles)),m.onDestroy(()=>ma(S,$.toStyles)),void r.push(m);if(_.isFallbackTransition)return m.onStart(()=>Vc(S,$.fromStyles)),m.onDestroy(()=>ma(S,$.toStyles)),void r.push(m);const Ne=[];$.timelines.forEach(bt=>{bt.stretchStartingKeyframe=!0,this.disabledNodes.has(bt.element)||Ne.push(bt)}),$.timelines=Ne,i.append(S,$.timelines),a.push({instruction:$,player:m,element:S}),$.queriedElements.forEach(bt=>Nr(s,bt,[]).push(m)),$.preStyleProps.forEach((bt,xn)=>{if(bt.size){let gn=c.get(xn);gn||c.set(xn,gn=new Set),bt.forEach((Sn,ur)=>gn.add(ur))}}),$.postStyleProps.forEach((bt,xn)=>{let gn=l.get(xn);gn||l.set(xn,gn=new Set),bt.forEach((Sn,ur)=>gn.add(ur))})});if(P.length){const fe=[];P.forEach(ve=>{fe.push(function dZ(e,n){return new q(3505,!1)}())}),D.forEach(ve=>ve.destroy()),this.reportError(fe)}const V=new Map,F=new Map;a.forEach(fe=>{const ve=fe.element;i.has(ve)&&(F.set(ve,ve),this._beforeAnimationBuild(fe.player.namespaceId,fe.instruction,V))}),r.forEach(fe=>{const ve=fe.element;this._getPreviousPlayers(ve,!1,fe.namespaceId,fe.triggerName,null).forEach(m=>{Nr(V,ve,[]).push(m),m.destroy()})});const Q=v.filter(fe=>EP(fe,c,l)),be=new Map;bP(be,this.driver,E,l,Ka).forEach(fe=>{EP(fe,c,l)&&Q.push(fe)});const de=new Map;f.forEach((fe,ve)=>{bP(de,this.driver,new Set(fe),c,"!")}),Q.forEach(fe=>{const ve=be.get(fe),_=de.get(fe);be.set(fe,new Map([...ve?.entries()??[],..._?.entries()??[]]))});const we=[],je=[],Ht={};a.forEach(fe=>{const{element:ve,player:_,instruction:m}=fe;if(i.has(ve)){if(d.has(ve))return _.onDestroy(()=>ma(ve,m.toStyles)),_.disabled=!0,_.overrideTotalTime(m.totalTime),void r.push(_);let S=Ht;if(F.size>1){let z=ve;const L=[];for(;z=z.parentNode;){const $=F.get(z);if($){S=$;break}L.push(z)}L.forEach($=>F.set($,S))}const A=this._buildAnimation(_.namespaceId,m,V,o,de,be);if(_.setRealPlayer(A),S===Ht)we.push(_);else{const z=this.playersByElement.get(S);z&&z.length&&(_.parentPlayer=Ns(z)),r.push(_)}}else Vc(ve,m.fromStyles),_.onDestroy(()=>ma(ve,m.toStyles)),je.push(_),d.has(ve)&&r.push(_)}),je.forEach(fe=>{const ve=o.get(fe.element);if(ve&&ve.length){const _=Ns(ve);fe.setRealPlayer(_)}}),r.forEach(fe=>{fe.parentPlayer?fe.syncPlayerEvents(fe.parentPlayer):fe.destroy()});for(let fe=0;fe!A.destroyed);S.length?lQ(this,ve,S):this.processLeaveNode(ve)}return v.length=0,we.forEach(fe=>{this.players.push(fe),fe.onDone(()=>{fe.destroy();const ve=this.players.indexOf(fe);this.players.splice(ve,1)}),fe.play()}),we}afterFlush(n){this._flushFns.push(n)}afterFlushAnimationsDone(n){this._whenQuietFns.push(n)}_getPreviousPlayers(n,t,i,r,o){let a=[];if(t){const s=this.playersByQueriedElement.get(n);s&&(a=s)}else{const s=this.playersByElement.get(n);if(s){const c=!o||o==rf;s.forEach(l=>{l.queued||!c&&l.triggerName!=r||a.push(l)})}}return(i||r)&&(a=a.filter(s=>!(i&&i!=s.namespaceId||r&&r!=s.triggerName))),a}_beforeAnimationBuild(n,t,i){const o=t.element,a=t.isRemovalTransition?void 0:n,s=t.isRemovalTransition?void 0:t.triggerName;for(const c of t.timelines){const l=c.element,d=l!==o,u=Nr(i,l,[]);this._getPreviousPlayers(l,d,a,s,t.toState).forEach(f=>{const p=f.getRealPlayer();p.beforeDestroy&&p.beforeDestroy(),f.destroy(),u.push(f)})}Vc(o,t.fromStyles)}_buildAnimation(n,t,i,r,o,a){const s=t.triggerName,c=t.element,l=[],d=new Set,u=new Set,h=t.timelines.map(p=>{const g=p.element;d.add(g);const v=g[Vo];if(v&&v.removedBeforeQueried)return new Jh(p.duration,p.delay);const k=g!==c,E=function dQ(e){const n=[];return wP(e,n),n}((i.get(g)||nQ).map(V=>V.getRealPlayer())).filter(V=>!!V.element&&V.element===g),C=o.get(g),x=a.get(g),D=QR(this._normalizer,p.keyframes,C,x),P=this._buildPlayer(p,D,E);if(p.subTimeline&&r&&u.add(g),k){const V=new s1(n,s,g);V.setRealPlayer(P),l.push(V)}return P});l.forEach(p=>{Nr(this.playersByQueriedElement,p.element,[]).push(p),p.onDone(()=>function aQ(e,n,t){let i=e.get(n);if(i){if(i.length){const r=i.indexOf(t);i.splice(r,1)}0==i.length&&e.delete(n)}return i}(this.playersByQueriedElement,p.element,p))}),d.forEach(p=>lo(p,oP));const f=Ns(h);return f.onDestroy(()=>{d.forEach(p=>Rd(p,oP)),ma(c,t.toStyles)}),u.forEach(p=>{Nr(r,p,[]).push(f)}),f}_buildPlayer(n,t,i){return t.length>0?this.driver.animate(n.element,t,n.duration,n.delay,n.easing,i):new Jh(n.duration,n.delay)}}class s1{constructor(n,t,i){this.namespaceId=n,this.triggerName=t,this.element=i,this._player=new Jh,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((t,i)=>{t.forEach(r=>jw(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 t=this._player;t.triggerCallback&&n.onStart(()=>t.triggerCallback("start")),n.onDone(()=>this.finish()),n.onDestroy(()=>this.destroy())}_queueEvent(n,t){Nr(this._queuedCallbacks,n,[]).push(t)}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 t=this._player;t.triggerCallback&&t.triggerCallback(n)}}function ev(e){return e&&1===e.nodeType}function yP(e,n){const t=e.style.display;return e.style.display=n??"none",t}function bP(e,n,t,i,r){const o=[];t.forEach(c=>o.push(yP(c)));const a=[];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[Vo]=iQ,a.push(l))}),e.set(l,d)});let s=0;return t.forEach(c=>yP(c,o[s++])),a}function xP(e,n){const t=new Map;if(e.forEach(s=>t.set(s,[])),0==n.length)return t;const r=new Set(n),o=new Map;function a(s){if(!s)return 1;let c=o.get(s);if(c)return c;const l=s.parentNode;return c=t.has(l)?l:r.has(l)?1:a(l),o.set(s,c),c}return n.forEach(s=>{const c=a(s);1!==c&&t.get(c).push(s)}),t}function lo(e,n){e.classList?.add(n)}function Rd(e,n){e.classList?.remove(n)}function lQ(e,n,t){Ns(t).onDone(()=>e.processLeaveNode(n))}function wP(e,n){for(let t=0;tr.add(o)):n.set(e,i),t.delete(e),!0}class tv{constructor(n,t,i){this.bodyNode=n,this._driver=t,this._normalizer=i,this._triggerCache={},this.onRemovalComplete=(r,o)=>{},this._transitionEngine=new oQ(n,t,i),this._timelineEngine=new ZZ(n,t,i),this._transitionEngine.onRemovalComplete=(r,o)=>this.onRemovalComplete(r,o)}registerTrigger(n,t,i,r,o){const a=n+"-"+r;let s=this._triggerCache[a];if(!s){const c=[],d=Xw(this._driver,o,c,[]);if(c.length)throw function JX(e,n){return new q(3404,!1)}();s=function YZ(e,n,t){return new qZ(e,n,t)}(r,d,this._normalizer),this._triggerCache[a]=s}this._transitionEngine.registerTrigger(t,r,s)}register(n,t){this._transitionEngine.register(n,t)}destroy(n,t){this._transitionEngine.destroy(n,t)}onInsert(n,t,i,r){this._transitionEngine.insertNode(n,t,i,r)}onRemove(n,t,i){this._transitionEngine.removeNode(n,t,i)}disableAnimations(n,t){this._transitionEngine.markElementAsDisabled(n,t)}process(n,t,i,r){if("@"==i.charAt(0)){const[o,a]=JR(i);this._timelineEngine.command(o,t,a,r)}else this._transitionEngine.trigger(n,t,i,r)}listen(n,t,i,r,o){if("@"==i.charAt(0)){const[a,s]=JR(i);return this._timelineEngine.listen(a,t,s,o)}return this._transitionEngine.listen(n,t,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)}}let gQ=(()=>{class e extends GR{constructor(t,i){super(),this._nextAnimationId=0,this._renderer=t.createRenderer(i.body,{id:"0",encapsulation:Jr.None,styles:[],data:{animation:[]}})}build(t){const i=this._nextAnimationId.toString();this._nextAnimationId++;const r=Array.isArray(t)?YR(t):t;return SP(this._renderer,null,i,"register",[r]),new vQ(i,this._renderer)}static#e=this.\u0275fac=function(i){return new(i||e)(N(ch),N(qt))};static#t=this.\u0275prov=Se({token:e,factory:e.\u0275fac})}return e})();class vQ extends IX{constructor(n,t){super(),this._id=n,this._renderer=t}create(n,t){return new _Q(this._id,n,t||{},this._renderer)}}class _Q{constructor(n,t,i,r){this.id=n,this.element=t,this._renderer=r,this.parentPlayer=null,this._started=!1,this.totalTime=0,this._command("create",i)}_listen(n,t){return this._renderer.listen(this.element,`@@${this.id}:${n}`,t)}_command(n,...t){return SP(this._renderer,this.element,this.id,n,t)}onDone(n){this._listen("done",n)}onStart(n){this._listen("start",n)}onDestroy(n){this._listen("destroy",n)}init(){this._command("init")}hasStarted(){return this._started}play(){this._command("play"),this._started=!0}pause(){this._command("pause")}restart(){this._command("restart")}finish(){this._command("finish")}destroy(){this._command("destroy")}reset(){this._command("reset"),this._started=!1}setPosition(n){this._command("setPosition",n)}getPosition(){return this._renderer.engine.players[+this.id]?.getPosition()??0}}function SP(e,n,t,i,r){return e.setProperty(n,`@@${t}:${i}`,r)}const DP="@.disabled";let yQ=(()=>{class e{constructor(t,i,r){this.delegate=t,this.engine=i,this._zone=r,this._currentId=0,this._microtaskId=1,this._animationCallbacksBuffer=[],this._rendererCache=new Map,this._cdRecurDepth=0,i.onRemovalComplete=(o,a)=>{const s=a?.parentNode(o);s&&a.removeChild(s,o)}}createRenderer(t,i){const o=this.delegate.createRenderer(t,i);if(!(t&&i&&i.data&&i.data.animation)){let d=this._rendererCache.get(o);return d||(d=new kP("",o,this.engine,()=>this._rendererCache.delete(o)),this._rendererCache.set(o,d)),d}const a=i.id,s=i.id+"-"+this._currentId;this._currentId++,this.engine.register(s,t);const c=d=>{Array.isArray(d)?d.forEach(c):this.engine.registerTrigger(a,s,t,d.name,d)};return i.data.animation.forEach(c),new bQ(this,s,o,this.engine)}begin(){this._cdRecurDepth++,this.delegate.begin&&this.delegate.begin()}_scheduleCountTask(){queueMicrotask(()=>{this._microtaskId++})}scheduleListenerCallback(t,i,r){t>=0&&ti(r)):(0==this._animationCallbacksBuffer.length&&queueMicrotask(()=>{this._zone.run(()=>{this._animationCallbacksBuffer.forEach(o=>{const[a,s]=o;a(s)}),this._animationCallbacksBuffer=[]})}),this._animationCallbacksBuffer.push([i,r]))}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()}static#e=this.\u0275fac=function(i){return new(i||e)(N(ch),N(tv),N(ot))};static#t=this.\u0275prov=Se({token:e,factory:e.\u0275fac})}return e})();class kP{constructor(n,t,i,r){this.namespaceId=n,this.delegate=t,this.engine=i,this._onDestroy=r}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,t){return this.delegate.createElement(n,t)}createComment(n){return this.delegate.createComment(n)}createText(n){return this.delegate.createText(n)}appendChild(n,t){this.delegate.appendChild(n,t),this.engine.onInsert(this.namespaceId,t,n,!1)}insertBefore(n,t,i,r=!0){this.delegate.insertBefore(n,t,i),this.engine.onInsert(this.namespaceId,t,n,r)}removeChild(n,t,i){this.engine.onRemove(this.namespaceId,t,this.delegate)}selectRootElement(n,t){return this.delegate.selectRootElement(n,t)}parentNode(n){return this.delegate.parentNode(n)}nextSibling(n){return this.delegate.nextSibling(n)}setAttribute(n,t,i,r){this.delegate.setAttribute(n,t,i,r)}removeAttribute(n,t,i){this.delegate.removeAttribute(n,t,i)}addClass(n,t){this.delegate.addClass(n,t)}removeClass(n,t){this.delegate.removeClass(n,t)}setStyle(n,t,i,r){this.delegate.setStyle(n,t,i,r)}removeStyle(n,t,i){this.delegate.removeStyle(n,t,i)}setProperty(n,t,i){"@"==t.charAt(0)&&t==DP?this.disableAnimations(n,!!i):this.delegate.setProperty(n,t,i)}setValue(n,t){this.delegate.setValue(n,t)}listen(n,t,i){return this.delegate.listen(n,t,i)}disableAnimations(n,t){this.engine.disableAnimations(n,t)}}class bQ extends kP{constructor(n,t,i,r,o){super(t,i,r,o),this.factory=n,this.namespaceId=t}setProperty(n,t,i){"@"==t.charAt(0)?"."==t.charAt(1)&&t==DP?this.disableAnimations(n,i=void 0===i||!!i):this.engine.process(this.namespaceId,n,t.slice(1),i):this.delegate.setProperty(n,t,i)}listen(n,t,i){if("@"==t.charAt(0)){const r=function xQ(e){switch(e){case"body":return document.body;case"document":return document;case"window":return window;default:return e}}(n);let o=t.slice(1),a="";return"@"!=o.charAt(0)&&([o,a]=function wQ(e){const n=e.indexOf(".");return[e.substring(0,n),e.slice(n+1)]}(o)),this.engine.listen(this.namespaceId,r,o,a,s=>{this.factory.scheduleListenerCallback(s._data||-1,i,s)})}return this.delegate.listen(n,t,i)}}const AP=[{provide:Uw,useClass:iP},{provide:$i,useValue:"NoopAnimations"},...[{provide:GR,useClass:gQ},{provide:t1,useFactory:function CQ(){return new $Z}},{provide:tv,useClass:(()=>{class e extends tv{constructor(t,i,r,o){super(t.body,i,r)}ngOnDestroy(){this.flush()}static#e=this.\u0275fac=function(i){return new(i||e)(N(qt),N(Uw),N(t1),N(Tc))};static#t=this.\u0275prov=Se({token:e,factory:e.\u0275fac})}return e})()},{provide:ch,useFactory:function SQ(e,n,t){return new yQ(e,n,t)},deps:[qx,tv,ot]}]];let kQ=(()=>{class e{static#e=this.\u0275fac=function(i){return new(i||e)};static#t=this.\u0275mod=Rt({type:e});static#n=this.\u0275inj=kt({providers:AP,imports:[KI]})}return e})();const TQ=["addListener","removeListener"],AQ=["addEventListener","removeEventListener"],MQ=["on","off"];function iv(e,n,t,i){if(B(t)&&(i=t,t=void 0),i)return iv(e,n,t).pipe(Qx(i));const[r,o]=function RQ(e){return B(e.addEventListener)&&B(e.removeEventListener)}(e)?AQ.map(a=>s=>e[a](n,s,t)):function IQ(e){return B(e.addListener)&&B(e.removeListener)}(e)?TQ.map(MP(e,n)):function OQ(e){return B(e.on)&&B(e.off)}(e)?MQ.map(MP(e,n)):[];if(!r&&Jo(e))return dc(a=>iv(a,n,t))(ji(e));if(!r)throw new TypeError("Invalid event target");return new pt(a=>{const s=(...c)=>a.next(1o(s)})}function MP(e,n){return t=>i=>e[t](n,i)}const af={schedule(e){let n=requestAnimationFrame,t=cancelAnimationFrame;const{delegate:i}=af;i&&(n=i.requestAnimationFrame,t=i.cancelAnimationFrame);const r=n(o=>{t=void 0,e(o)});return new ee(()=>t?.(r))},requestAnimationFrame(...e){const{delegate:n}=af;return(n?.requestAnimationFrame||requestAnimationFrame)(...e)},cancelAnimationFrame(...e){const{delegate:n}=af;return(n?.cancelAnimationFrame||cancelAnimationFrame)(...e)},delegate:void 0};new class NQ extends kw{flush(n){this._active=!0;const t=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===t&&i.shift());if(this._active=!1,r){for(;(n=i[0])&&n.id===t&&i.shift();)n.unsubscribe();throw r}}}(class PQ extends Sw{constructor(n,t){super(n,t),this.scheduler=n,this.work=t}requestAsyncId(n,t,i=0){return null!==i&&i>0?super.requestAsyncId(n,t,i):(n.actions.push(this),n._scheduled||(n._scheduled=af.requestAnimationFrame(()=>n.flush(void 0))))}recycleAsyncId(n,t,i=0){var r;if(null!=i?i>0:this.delay>0)return super.recycleAsyncId(n,t,i);const{actions:o}=n;null!=t&&(null===(r=o[o.length-1])||void 0===r?void 0:r.id)!==t&&(af.cancelAnimationFrame(t),n._scheduled=void 0)}});let l1,LQ=1;const rv={};function IP(e){return e in rv&&(delete rv[e],!0)}const BQ={setImmediate(e){const n=LQ++;return rv[n]=!0,l1||(l1=Promise.resolve()),l1.then(()=>IP(n)&&e()),n},clearImmediate(e){IP(e)}},{setImmediate:VQ,clearImmediate:jQ}=BQ,ov={setImmediate(...e){const{delegate:n}=ov;return(n?.setImmediate||VQ)(...e)},clearImmediate(e){const{delegate:n}=ov;return(n?.clearImmediate||jQ)(e)},delegate:void 0};new class HQ extends kw{flush(n){this._active=!0;const t=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===t&&i.shift());if(this._active=!1,r){for(;(n=i[0])&&n.id===t&&i.shift();)n.unsubscribe();throw r}}}(class zQ extends Sw{constructor(n,t){super(n,t),this.scheduler=n,this.work=t}requestAsyncId(n,t,i=0){return null!==i&&i>0?super.requestAsyncId(n,t,i):(n.actions.push(this),n._scheduled||(n._scheduled=ov.setImmediate(n.flush.bind(n,void 0))))}recycleAsyncId(n,t,i=0){var r;if(null!=i?i>0:this.delay>0)return super.recycleAsyncId(n,t,i);const{actions:o}=n;null!=t&&(null===(r=o[o.length-1])||void 0===r?void 0:r.id)!==t&&(ov.clearImmediate(t),n._scheduled===t&&(n._scheduled=void 0))}});function d1(e,n=Tw){return function UQ(e){return G((n,t)=>{let i=!1,r=null,o=null,a=!1;const s=()=>{if(o?.unsubscribe(),o=null,i){i=!1;const l=r;r=null,t.next(l)}a&&t.complete()},c=()=>{o=null,a&&t.complete()};n.subscribe(ue(t,l=>{i=!0,r=l,o||ji(e(l)).subscribe(o=ue(t,s,c))},()=>{a=!0,(!i||!o||o.closed)&&t.complete()}))})}(()=>function WQ(e=0,n,t=kK){let i=-1;return null!=n&&(Sl(n)?t=n:i=n),new pt(r=>{let o=function GQ(e){return e instanceof Date&&!isNaN(e)}(e)?+e-t.now():e;o<0&&(o=0);let a=0;return t.schedule(function(){r.closed||(r.next(a++),0<=i?this.schedule(void 0,i):r.complete())},o)})}(e,n))}let qQ=(()=>{class e{constructor(t,i,r){this._ngZone=t,this._platform=i,this._scrolled=new Y,this._globalSubscription=null,this._scrolledCount=0,this.scrollContainers=new Map,this._document=r}register(t){this.scrollContainers.has(t)||this.scrollContainers.set(t,t.elementScrolled().subscribe(()=>this._scrolled.next(t)))}deregister(t){const i=this.scrollContainers.get(t);i&&(i.unsubscribe(),this.scrollContainers.delete(t))}scrolled(t=20){return this._platform.isBrowser?new pt(i=>{this._globalSubscription||this._addGlobalListener();const r=t>0?this._scrolled.pipe(d1(t)).subscribe(i):this._scrolled.subscribe(i);return this._scrolledCount++,()=>{r.unsubscribe(),this._scrolledCount--,this._scrolledCount||this._removeGlobalListener()}}):vs()}ngOnDestroy(){this._removeGlobalListener(),this.scrollContainers.forEach((t,i)=>this.deregister(i)),this._scrolled.complete()}ancestorScrolled(t,i){const r=this.getAncestorScrollContainers(t);return this.scrolled(i).pipe(Pr(o=>!o||r.indexOf(o)>-1))}getAncestorScrollContainers(t){const i=[];return this.scrollContainers.forEach((r,o)=>{this._scrollableContainsElement(o,t)&&i.push(o)}),i}_getWindow(){return this._document.defaultView||window}_scrollableContainsElement(t,i){let r=qa(i),o=t.getElementRef().nativeElement;do{if(r==o)return!0}while(r=r.parentElement);return!1}_addGlobalListener(){this._globalSubscription=this._ngZone.runOutsideAngular(()=>iv(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||e)(N(ot),N(Xn),N(qt,8))};static#t=this.\u0275prov=Se({token:e,factory:e.\u0275fac,providedIn:"root"})}return e})(),OP=(()=>{class e{constructor(t,i,r){this._platform=t,this._change=new Y,this._changeListener=o=>{this._change.next(o)},this._document=r,i.runOutsideAngular(()=>{if(t.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 t=this._getWindow();t.removeEventListener("resize",this._changeListener),t.removeEventListener("orientationchange",this._changeListener)}this._change.complete()}getViewportSize(){this._viewportSize||this._updateViewportSize();const t={width:this._viewportSize.width,height:this._viewportSize.height};return this._platform.isBrowser||(this._viewportSize=null),t}getViewportRect(){const t=this.getViewportScrollPosition(),{width:i,height:r}=this.getViewportSize();return{top:t.top,left:t.left,bottom:t.top+r,right:t.left+i,height:r,width:i}}getViewportScrollPosition(){if(!this._platform.isBrowser)return{top:0,left:0};const t=this._document,i=this._getWindow(),r=t.documentElement,o=r.getBoundingClientRect();return{top:-o.top||t.body.scrollTop||i.scrollY||r.scrollTop||0,left:-o.left||t.body.scrollLeft||i.scrollX||r.scrollLeft||0}}change(t=20){return t>0?this._change.pipe(d1(t)):this._change}_getWindow(){return this._document.defaultView||window}_updateViewportSize(){const t=this._getWindow();this._viewportSize=this._platform.isBrowser?{width:t.innerWidth,height:t.innerHeight}:{width:0,height:0}}static#e=this.\u0275fac=function(i){return new(i||e)(N(Xn),N(ot),N(qt,8))};static#t=this.\u0275prov=Se({token:e,factory:e.\u0275fac,providedIn:"root"})}return e})(),RP=(()=>{class e{static#e=this.\u0275fac=function(i){return new(i||e)};static#t=this.\u0275mod=Rt({type:e});static#n=this.\u0275inj=kt({})}return e})(),PP=(()=>{class e{static#e=this.\u0275fac=function(i){return new(i||e)};static#t=this.\u0275mod=Rt({type:e});static#n=this.\u0275inj=kt({imports:[qh,RP,qh,RP]})}return e})();class u1{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 sf extends u1{constructor(n,t,i,r,o){super(),this.component=n,this.viewContainerRef=t,this.injector=i,this.componentFactoryResolver=r,this.projectableNodes=o}}class av extends u1{constructor(n,t,i,r){super(),this.templateRef=n,this.viewContainerRef=t,this.context=i,this.injector=r}get origin(){return this.templateRef.elementRef}attach(n,t=this.context){return this.context=t,super.attach(n)}detach(){return this.context=void 0,super.detach()}}class XQ extends u1{constructor(n){super(),this.element=n instanceof Ft?n.nativeElement:n}}class sv{constructor(){this._isDisposed=!1,this.attachDomPortal=null}hasAttached(){return!!this._attachedPortal}attach(n){return n instanceof sf?(this._attachedPortal=n,this.attachComponentPortal(n)):n instanceof av?(this._attachedPortal=n,this.attachTemplatePortal(n)):this.attachDomPortal&&n instanceof XQ?(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 ZQ extends sv{constructor(n,t,i,r,o){super(),this.outletElement=n,this._componentFactoryResolver=t,this._appRef=i,this._defaultInjector=r,this.attachDomPortal=a=>{const s=a.element,c=this._document.createComment("dom-portal");s.parentNode.insertBefore(c,s),this.outletElement.appendChild(s),this._attachedPortal=a,super.setDisposeFn(()=>{c.parentNode&&c.parentNode.replaceChild(s,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||ri.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 t=n.viewContainerRef,i=t.createEmbeddedView(n.templateRef,n.context,{injector:n.injector});return i.rootNodes.forEach(r=>this.outletElement.appendChild(r)),i.detectChanges(),this.setDisposeFn(()=>{let r=t.indexOf(i);-1!==r&&t.remove(r)}),this._attachedPortal=n,i}dispose(){super.dispose(),this.outletElement.remove()}_getComponentRootNode(n){return n.hostView.rootNodes[0]}}let Pd=(()=>{class e extends sv{constructor(t,i,r){super(),this._componentFactoryResolver=t,this._viewContainerRef=i,this._isInitialized=!1,this.attached=new Xt,this.attachDomPortal=o=>{const a=o.element,s=this._document.createComment("dom-portal");o.setAttachedHost(this),a.parentNode.insertBefore(s,a),this._getRootNode().appendChild(a),this._attachedPortal=o,super.setDisposeFn(()=>{s.parentNode&&s.parentNode.replaceChild(a,s)})},this._document=r}get portal(){return this._attachedPortal}set portal(t){this.hasAttached()&&!t&&!this._isInitialized||(this.hasAttached()&&super.detach(),t&&super.attach(t),this._attachedPortal=t||null)}get attachedRef(){return this._attachedRef}ngOnInit(){this._isInitialized=!0}ngOnDestroy(){super.dispose(),this._attachedRef=this._attachedPortal=null}attachComponentPortal(t){t.setAttachedHost(this);const i=null!=t.viewContainerRef?t.viewContainerRef:this._viewContainerRef,o=(t.componentFactoryResolver||this._componentFactoryResolver).resolveComponentFactory(t.component),a=i.createComponent(o,i.length,t.injector||i.injector,t.projectableNodes||void 0);return i!==this._viewContainerRef&&this._getRootNode().appendChild(a.hostView.rootNodes[0]),super.setDisposeFn(()=>a.destroy()),this._attachedPortal=t,this._attachedRef=a,this.attached.emit(a),a}attachTemplatePortal(t){t.setAttachedHost(this);const i=this._viewContainerRef.createEmbeddedView(t.templateRef,t.context,{injector:t.injector});return super.setDisposeFn(()=>this._viewContainerRef.clear()),this._attachedPortal=t,this._attachedRef=i,this.attached.emit(i),i}_getRootNode(){const t=this._viewContainerRef.element.nativeElement;return t.nodeType===t.ELEMENT_NODE?t:t.parentNode}static#e=this.\u0275fac=function(i){return new(i||e)(T(id),T(oo),T(qt))};static#t=this.\u0275dir=Me({type:e,selectors:[["","cdkPortalOutlet",""]],inputs:{portal:["cdkPortalOutlet","portal"]},outputs:{attached:"attached"},exportAs:["cdkPortalOutlet"],features:[dt]})}return e})(),Nd=(()=>{class e{static#e=this.\u0275fac=function(i){return new(i||e)};static#t=this.\u0275mod=Rt({type:e});static#n=this.\u0275inj=kt({})}return e})();const NP=oK();class QQ{constructor(n,t){this._viewportRuler=n,this._previousHTMLStyles={top:"",left:""},this._isEnabled=!1,this._document=t}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=hi(-this._previousScrollPosition.left),n.style.top=hi(-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||"",a=r.scrollBehavior||"";this._isEnabled=!1,i.left=this._previousHTMLStyles.left,i.top=this._previousHTMLStyles.top,n.classList.remove("cdk-global-scrollblock"),NP&&(i.scrollBehavior=r.scrollBehavior="auto"),window.scroll(this._previousScrollPosition.left,this._previousScrollPosition.top),NP&&(i.scrollBehavior=o,r.scrollBehavior=a)}}_canBeEnabled(){if(this._document.documentElement.classList.contains("cdk-global-scrollblock")||this._isEnabled)return!1;const t=this._document.body,i=this._viewportRuler.getViewportSize();return t.scrollHeight>i.height||t.scrollWidth>i.width}}class JQ{constructor(n,t,i,r){this._scrollDispatcher=n,this._ngZone=t,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(Pr(t=>!t||!this._overlayRef.overlayElement.contains(t.getElementRef().nativeElement)));this._config&&this._config.threshold&&this._config.threshold>1?(this._initialScrollPosition=this._viewportRuler.getViewportScrollPosition().top,this._scrollSubscription=n.subscribe(()=>{const t=this._viewportRuler.getViewportScrollPosition().top;Math.abs(t-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 FP{enable(){}disable(){}attach(){}}function h1(e,n){return n.some(t=>e.bottomt.bottom||e.rightt.right)}function LP(e,n){return n.some(t=>e.topt.bottom||e.leftt.right)}class eJ{constructor(n,t,i,r){this._scrollDispatcher=n,this._viewportRuler=t,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 t=this._overlayRef.overlayElement.getBoundingClientRect(),{width:i,height:r}=this._viewportRuler.getViewportSize();h1(t,[{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 tJ=(()=>{class e{constructor(t,i,r,o){this._scrollDispatcher=t,this._viewportRuler=i,this._ngZone=r,this.noop=()=>new FP,this.close=a=>new JQ(this._scrollDispatcher,this._ngZone,this._viewportRuler,a),this.block=()=>new QQ(this._viewportRuler,this._document),this.reposition=a=>new eJ(this._scrollDispatcher,this._viewportRuler,this._ngZone,a),this._document=o}static#e=this.\u0275fac=function(i){return new(i||e)(N(qQ),N(OP),N(ot),N(qt))};static#t=this.\u0275prov=Se({token:e,factory:e.\u0275fac,providedIn:"root"})}return e})();class f1{constructor(n){if(this.scrollStrategy=new FP,this.panelClass="",this.hasBackdrop=!1,this.backdropClass="cdk-overlay-dark-backdrop",this.disposeOnNavigation=!1,n){const t=Object.keys(n);for(const i of t)void 0!==n[i]&&(this[i]=n[i])}}}class nJ{constructor(n,t){this.connectionPair=n,this.scrollableViewProperties=t}}let BP=(()=>{class e{constructor(t){this._attachedOverlays=[],this._document=t}ngOnDestroy(){this.detach()}add(t){this.remove(t),this._attachedOverlays.push(t)}remove(t){const i=this._attachedOverlays.indexOf(t);i>-1&&this._attachedOverlays.splice(i,1),0===this._attachedOverlays.length&&this.detach()}static#e=this.\u0275fac=function(i){return new(i||e)(N(qt))};static#t=this.\u0275prov=Se({token:e,factory:e.\u0275fac,providedIn:"root"})}return e})(),iJ=(()=>{class e extends BP{constructor(t,i){super(t),this._ngZone=i,this._keydownListener=r=>{const o=this._attachedOverlays;for(let a=o.length-1;a>-1;a--)if(o[a]._keydownEvents.observers.length>0){const s=o[a]._keydownEvents;this._ngZone?this._ngZone.run(()=>s.next(r)):s.next(r);break}}}add(t){super.add(t),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||e)(N(qt),N(ot,8))};static#t=this.\u0275prov=Se({token:e,factory:e.\u0275fac,providedIn:"root"})}return e})(),rJ=(()=>{class e extends BP{constructor(t,i,r){super(t),this._platform=i,this._ngZone=r,this._cursorStyleIsSet=!1,this._pointerDownListener=o=>{this._pointerDownEventTarget=Rs(o)},this._clickListener=o=>{const a=Rs(o),s="click"===o.type&&this._pointerDownEventTarget?this._pointerDownEventTarget:a;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(a)||d.overlayElement.contains(s))break;const u=d._outsidePointerEvents;this._ngZone?this._ngZone.run(()=>u.next(o)):u.next(o)}}}add(t){if(super.add(t),!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 t=this._document.body;t.removeEventListener("pointerdown",this._pointerDownListener,!0),t.removeEventListener("click",this._clickListener,!0),t.removeEventListener("auxclick",this._clickListener,!0),t.removeEventListener("contextmenu",this._clickListener,!0),this._platform.IOS&&this._cursorStyleIsSet&&(t.style.cursor=this._cursorOriginalValue,this._cursorStyleIsSet=!1),this._isAttached=!1}}_addEventListeners(t){t.addEventListener("pointerdown",this._pointerDownListener,!0),t.addEventListener("click",this._clickListener,!0),t.addEventListener("auxclick",this._clickListener,!0),t.addEventListener("contextmenu",this._clickListener,!0)}static#e=this.\u0275fac=function(i){return new(i||e)(N(qt),N(Xn),N(ot,8))};static#t=this.\u0275prov=Se({token:e,factory:e.\u0275fac,providedIn:"root"})}return e})(),cv=(()=>{class e{constructor(t,i){this._platform=i,this._document=t}ngOnDestroy(){this._containerElement?.remove()}getContainerElement(){return this._containerElement||this._createContainer(),this._containerElement}_createContainer(){const t="cdk-overlay-container";if(this._platform.isBrowser||Cw()){const r=this._document.querySelectorAll(`.${t}[platform="server"], .${t}[platform="test"]`);for(let o=0;othis._backdropClick.next(u),this._backdropTransitionendHandler=u=>{this._disposeBackdrop(u.target)},this._keydownEvents=new Y,this._outsidePointerEvents=new Y,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 t=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(Ps(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 t?.onDestroy&&t.onDestroy(()=>{this.hasAttached()&&this._ngZone.runOutsideAngular(()=>Promise.resolve().then(()=>this.detach()))}),t}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=hi(this._config.width),n.height=hi(this._config.height),n.minWidth=hi(this._config.minWidth),n.minHeight=hi(this._config.minHeight),n.maxWidth=hi(this._config.maxWidth),n.maxHeight=hi(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,t,i){const r=Lg(t||[]).filter(o=>!!o);r.length&&(i?n.classList.add(...r):n.classList.remove(...r))}_detachContentWhenStable(){this._ngZone.runOutsideAngular(()=>{const n=this._ngZone.onStable.pipe(Bo(To(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 VP="cdk-overlay-connected-position-bounding-box",oJ=/([A-Za-z%]+)$/;class aJ{get positions(){return this._preferredPositions}constructor(n,t,i,r,o){this._viewportRuler=t,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 Y,this._resizeSubscription=ee.EMPTY,this._offsetX=0,this._offsetY=0,this._appliedPanelClasses=[],this.positionChanges=this._positionChanges,this.setOrigin(n)}attach(n){this._validatePositions(),n.hostElement.classList.add(VP),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,t=this._overlayRect,i=this._viewportRect,r=this._containerRect,o=[];let a;for(let s of this._preferredPositions){let c=this._getOriginPoint(n,r,s),l=this._getOverlayPoint(c,t,s),d=this._getOverlayFit(l,t,i,s);if(d.isCompletelyWithinViewport)return this._isPushed=!1,void this._applyPosition(s,c);this._canFitWithFlexibleDimensions(d,l,i)?o.push({position:s,origin:c,overlayRect:t,boundingBoxRect:this._calculateBoundingBoxRect(c,s)}):(!a||a.overlayFit.visibleAreac&&(c=d,s=l)}return this._isPushed=!1,void this._applyPosition(s.position,s.origin)}if(this._canPush)return this._isPushed=!0,void this._applyPosition(a.position,a.originPoint);this._applyPosition(a.position,a.originPoint)}detach(){this._clearPanelClasses(),this._lastPosition=null,this._previousPushAmount=null,this._resizeSubscription.unsubscribe()}dispose(){this._isDisposed||(this._boundingBox&&zc(this._boundingBox.style,{top:"",left:"",right:"",bottom:"",height:"",width:"",alignItems:"",justifyContent:""}),this._pane&&this._resetOverlayElementStyles(),this._overlayRef&&this._overlayRef.hostElement.classList.remove(VP),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 t=this._getOriginPoint(this._originRect,this._containerRect,n);this._applyPosition(n,t)}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,t,i){let r,o;if("center"==i.originX)r=n.left+n.width/2;else{const a=this._isRtl()?n.right:n.left,s=this._isRtl()?n.left:n.right;r="start"==i.originX?a:s}return t.left<0&&(r-=t.left),o="center"==i.originY?n.top+n.height/2:"top"==i.originY?n.top:n.bottom,t.top<0&&(o-=t.top),{x:r,y:o}}_getOverlayPoint(n,t,i){let r,o;return r="center"==i.overlayX?-t.width/2:"start"===i.overlayX?this._isRtl()?-t.width:0:this._isRtl()?0:-t.width,o="center"==i.overlayY?-t.height/2:"top"==i.overlayY?0:-t.height,{x:n.x+r,y:n.y+o}}_getOverlayFit(n,t,i,r){const o=zP(t);let{x:a,y:s}=n,c=this._getOffset(r,"x"),l=this._getOffset(r,"y");c&&(a+=c),l&&(s+=l);let h=0-s,f=s+o.height-i.height,p=this._subtractOverflows(o.width,0-a,a+o.width-i.width),g=this._subtractOverflows(o.height,h,f),v=p*g;return{visibleArea:v,isCompletelyWithinViewport:o.width*o.height===v,fitsInViewportVertically:g===o.height,fitsInViewportHorizontally:p==o.width}}_canFitWithFlexibleDimensions(n,t,i){if(this._hasFlexibleDimensions){const r=i.bottom-t.y,o=i.right-t.x,a=jP(this._overlayRef.getConfig().minHeight),s=jP(this._overlayRef.getConfig().minWidth);return(n.fitsInViewportVertically||null!=a&&a<=r)&&(n.fitsInViewportHorizontally||null!=s&&s<=o)}return!1}_pushOverlayOnScreen(n,t,i){if(this._previousPushAmount&&this._positionLocked)return{x:n.x+this._previousPushAmount.x,y:n.y+this._previousPushAmount.y};const r=zP(t),o=this._viewportRect,a=Math.max(n.x+r.width-o.width,0),s=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||-a:n.xp&&!this._isInitialRender&&!this._growAfterOpen&&(a=n.y-p/2)}if("end"===t.overlayX&&!r||"start"===t.overlayX&&r)h=i.width-n.x+this._viewportMargin,d=n.x-this._viewportMargin;else if("start"===t.overlayX&&!r||"end"===t.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:a,left:u,bottom:s,right:h,width:d,height:o}}_setBoundingBoxStyles(n,t){const i=this._calculateBoundingBoxRect(n,t);!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,a=this._overlayRef.getConfig().maxWidth;r.height=hi(i.height),r.top=hi(i.top),r.bottom=hi(i.bottom),r.width=hi(i.width),r.left=hi(i.left),r.right=hi(i.right),r.alignItems="center"===t.overlayX?"center":"end"===t.overlayX?"flex-end":"flex-start",r.justifyContent="center"===t.overlayY?"center":"bottom"===t.overlayY?"flex-end":"flex-start",o&&(r.maxHeight=hi(o)),a&&(r.maxWidth=hi(a))}this._lastBoundingBoxSize=i,zc(this._boundingBox.style,r)}_resetBoundingBoxStyles(){zc(this._boundingBox.style,{top:"0",left:"0",right:"0",bottom:"0",height:"",width:"",alignItems:"",justifyContent:""})}_resetOverlayElementStyles(){zc(this._pane.style,{top:"",left:"",bottom:"",right:"",position:"",transform:""})}_setOverlayElementStyles(n,t){const i={},r=this._hasExactPosition(),o=this._hasFlexibleDimensions,a=this._overlayRef.getConfig();if(r){const d=this._viewportRuler.getViewportScrollPosition();zc(i,this._getExactOverlayY(t,n,d)),zc(i,this._getExactOverlayX(t,n,d))}else i.position="static";let s="",c=this._getOffset(t,"x"),l=this._getOffset(t,"y");c&&(s+=`translateX(${c}px) `),l&&(s+=`translateY(${l}px)`),i.transform=s.trim(),a.maxHeight&&(r?i.maxHeight=hi(a.maxHeight):o&&(i.maxHeight="")),a.maxWidth&&(r?i.maxWidth=hi(a.maxWidth):o&&(i.maxWidth="")),zc(this._pane.style,i)}_getExactOverlayY(n,t,i){let r={top:"",bottom:""},o=this._getOverlayPoint(t,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=hi(o.y),r}_getExactOverlayX(n,t,i){let a,r={left:"",right:""},o=this._getOverlayPoint(t,this._overlayRect,n);return this._isPushed&&(o=this._pushOverlayOnScreen(o,this._overlayRect,i)),a=this._isRtl()?"end"===n.overlayX?"left":"right":"end"===n.overlayX?"right":"left","right"===a?r.right=this._document.documentElement.clientWidth-(o.x+this._overlayRect.width)+"px":r.left=hi(o.x),r}_getScrollVisibility(){const n=this._getOriginRect(),t=this._pane.getBoundingClientRect(),i=this._scrollables.map(r=>r.getElementRef().nativeElement.getBoundingClientRect());return{isOriginClipped:LP(n,i),isOriginOutsideView:h1(n,i),isOverlayClipped:LP(t,i),isOverlayOutsideView:h1(t,i)}}_subtractOverflows(n,...t){return t.reduce((i,r)=>i-Math.max(r,0),n)}_getNarrowedViewportRect(){const n=this._document.documentElement.clientWidth,t=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+t-this._viewportMargin,width:n-2*this._viewportMargin,height:t-2*this._viewportMargin}}_isRtl(){return"rtl"===this._overlayRef.getDirection()}_hasExactPosition(){return!this._hasFlexibleDimensions||this._isPushed}_getOffset(n,t){return"x"===t?null==n.offsetX?this._offsetX:n.offsetX:null==n.offsetY?this._offsetY:n.offsetY}_validatePositions(){}_addPanelClasses(n){this._pane&&Lg(n).forEach(t=>{""!==t&&-1===this._appliedPanelClasses.indexOf(t)&&(this._appliedPanelClasses.push(t),this._pane.classList.add(t))})}_clearPanelClasses(){this._pane&&(this._appliedPanelClasses.forEach(n=>{this._pane.classList.remove(n)}),this._appliedPanelClasses=[])}_getOriginRect(){const n=this._origin;if(n instanceof Ft)return n.nativeElement.getBoundingClientRect();if(n instanceof Element)return n.getBoundingClientRect();const t=n.width||0,i=n.height||0;return{top:n.y,bottom:n.y+i,left:n.x,right:n.x+t,height:i,width:t}}}function zc(e,n){for(let t in n)n.hasOwnProperty(t)&&(e[t]=n[t]);return e}function jP(e){if("number"!=typeof e&&null!=e){const[n,t]=e.split(oJ);return t&&"px"!==t?null:parseFloat(n)}return e||null}function zP(e){return{top:Math.floor(e.top),right:Math.floor(e.right),bottom:Math.floor(e.bottom),left:Math.floor(e.left),width:Math.floor(e.width),height:Math.floor(e.height)}}const HP="cdk-global-overlay-wrapper";class sJ{constructor(){this._cssPosition="static",this._topOffset="",this._bottomOffset="",this._alignItems="",this._xPosition="",this._xOffset="",this._width="",this._height="",this._isDisposed=!1}attach(n){const t=n.getConfig();this._overlayRef=n,this._width&&!t.width&&n.updateSize({width:this._width}),this._height&&!t.height&&n.updateSize({height:this._height}),n.hostElement.classList.add(HP),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,t=this._overlayRef.hostElement.style,i=this._overlayRef.getConfig(),{width:r,height:o,maxWidth:a,maxHeight:s}=i,c=!("100%"!==r&&"100vw"!==r||a&&"100%"!==a&&"100vw"!==a),l=!("100%"!==o&&"100vh"!==o||s&&"100%"!==s&&"100vh"!==s),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,t.justifyContent=g,t.alignItems=l?"flex-start":this._alignItems}dispose(){if(this._isDisposed||!this._overlayRef)return;const n=this._overlayRef.overlayElement.style,t=this._overlayRef.hostElement,i=t.style;t.classList.remove(HP),i.justifyContent=i.alignItems=n.marginTop=n.marginBottom=n.marginLeft=n.marginRight=n.position="",this._overlayRef=null,this._isDisposed=!0}}let cJ=(()=>{class e{constructor(t,i,r,o){this._viewportRuler=t,this._document=i,this._platform=r,this._overlayContainer=o}global(){return new sJ}flexibleConnectedTo(t){return new aJ(t,this._viewportRuler,this._document,this._platform,this._overlayContainer)}static#e=this.\u0275fac=function(i){return new(i||e)(N(OP),N(qt),N(Xn),N(cv))};static#t=this.\u0275prov=Se({token:e,factory:e.\u0275fac,providedIn:"root"})}return e})(),lJ=0,Ls=(()=>{class e{constructor(t,i,r,o,a,s,c,l,d,u,h,f){this.scrollStrategies=t,this._overlayContainer=i,this._componentFactoryResolver=r,this._positionBuilder=o,this._keyboardDispatcher=a,this._injector=s,this._ngZone=c,this._document=l,this._directionality=d,this._location=u,this._outsideClickDispatcher=h,this._animationsModuleType=f}create(t){const i=this._createHostElement(),r=this._createPaneElement(i),o=this._createPortalOutlet(r),a=new f1(t);return a.direction=a.direction||this._directionality.value,new cf(o,i,r,a,this._ngZone,this._keyboardDispatcher,this._document,this._location,this._outsideClickDispatcher,"NoopAnimations"===this._animationsModuleType)}position(){return this._positionBuilder}_createPaneElement(t){const i=this._document.createElement("div");return i.id="cdk-overlay-"+lJ++,i.classList.add("cdk-overlay-pane"),t.appendChild(i),i}_createHostElement(){const t=this._document.createElement("div");return this._overlayContainer.getContainerElement().appendChild(t),t}_createPortalOutlet(t){return this._appRef||(this._appRef=this._injector.get(Tc)),new ZQ(t,this._componentFactoryResolver,this._appRef,this._injector,this._document)}static#e=this.\u0275fac=function(i){return new(i||e)(N(tJ),N(cv),N(id),N(cJ),N(iJ),N(ri),N(ot),N(qt),N(Yh),N(Dx),N(rJ),N($i,8))};static#t=this.\u0275prov=Se({token:e,factory:e.\u0275fac,providedIn:"root"})}return e})();const hJ={provide:new Ce("cdk-connected-overlay-scroll-strategy"),deps:[Ls],useFactory:function uJ(e){return()=>e.scrollStrategies.reposition()}};let p1=(()=>{class e{static#e=this.\u0275fac=function(i){return new(i||e)};static#t=this.\u0275mod=Rt({type:e});static#n=this.\u0275inj=kt({providers:[Ls,hJ],imports:[qh,Nd,PP,PP]})}return e})();function $P(e){return new pt(n=>{ji(e()).subscribe(n)})}function fJ(e,n){}class lv{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 UP=(()=>{class e extends sv{constructor(t,i,r,o,a,s,c,l){super(),this._elementRef=t,this._focusTrapFactory=i,this._config=o,this._interactivityChecker=a,this._ngZone=s,this._overlayRef=c,this._focusMonitor=l,this._elementFocusedBeforeDialogWasOpened=null,this._closeInteractionType=null,this._ariaLabelledByQueue=[],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)}_contentAttached(){this._initializeFocusTrap(),this._handleBackdropClicks(),this._captureInitialFocus()}_captureInitialFocus(){this._trapFocus()}ngOnDestroy(){this._restoreFocus()}attachComponentPortal(t){this._portalOutlet.hasAttached();const i=this._portalOutlet.attachComponentPortal(t);return this._contentAttached(),i}attachTemplatePortal(t){this._portalOutlet.hasAttached();const i=this._portalOutlet.attachTemplatePortal(t);return this._contentAttached(),i}_recaptureFocus(){this._containsFocus()||this._trapFocus()}_forceFocus(t,i){this._interactivityChecker.isFocusable(t)||(t.tabIndex=-1,this._ngZone.runOutsideAngular(()=>{const r=()=>{t.removeEventListener("blur",r),t.removeEventListener("mousedown",r),t.removeAttribute("tabindex")};t.addEventListener("blur",r),t.addEventListener("mousedown",r)})),t.focus(i)}_focusByCssSelector(t,i){let r=this._elementRef.nativeElement.querySelector(t);r&&this._forceFocus(r,i)}_trapFocus(){const t=this._elementRef.nativeElement;switch(this._config.autoFocus){case!1:case"dialog":this._containsFocus()||t.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 t=this._config.restoreFocus;let i=null;if("string"==typeof t?i=this._document.querySelector(t):"boolean"==typeof t?i=t?this._elementFocusedBeforeDialogWasOpened:null:t&&(i=t),this._config.restoreFocus&&i&&"function"==typeof i.focus){const r=Ng(),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 t=this._elementRef.nativeElement,i=Ng();return t===i||t.contains(i)}_initializeFocusTrap(){this._focusTrap=this._focusTrapFactory.create(this._elementRef.nativeElement),this._document&&(this._elementFocusedBeforeDialogWasOpened=Ng())}_handleBackdropClicks(){this._overlayRef.backdropClick().subscribe(()=>{this._config.disableClose&&this._recaptureFocus()})}static#e=this.\u0275fac=function(i){return new(i||e)(T(Ft),T(Rw),T(qt,8),T(lv),T(Bg),T(ot),T(cf),T(Od))};static#t=this.\u0275cmp=Tt({type:e,selectors:[["cdk-dialog-container"]],viewQuery:function(i,r){if(1&i&&wi(Pd,7),2&i){let o;Vt(o=jt())&&(r._portalOutlet=o.first)}},hostAttrs:["tabindex","-1",1,"cdk-dialog-container"],hostVars:6,hostBindings:function(i,r){2&i&&hn("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)},features:[dt],decls:1,vars:0,consts:[["cdkPortalOutlet",""]],template:function(i,r){1&i&&et(0,fJ,0,0,"ng-template",0)},dependencies:[Pd],styles:[".cdk-dialog-container{display:block;width:100%;height:100%;min-height:inherit;max-height:inherit}"],encapsulation:2})}return e})();class m1{constructor(n,t){this.overlayRef=n,this.config=t,this.closed=new Y,this.disableClose=t.disableClose,this.backdropClick=n.backdropClick(),this.keydownEvents=n.keydownEvents(),this.outsidePointerEvents=n.outsidePointerEvents(),this.id=t.id,this.keydownEvents.subscribe(i=>{27===i.keyCode&&!this.disableClose&&!Uh(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!==t.closeOnOverlayDetachments&&this.close()})}close(n,t){if(this.containerInstance){const i=this.closed;this.containerInstance._closeInteractionType=t?.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="",t=""){return this.overlayRef.updateSize({width:n,height:t}),this}addPanelClass(n){return this.overlayRef.addPanelClass(n),this}removePanelClass(n){return this.overlayRef.removePanelClass(n),this}}const GP=new Ce("DialogScrollStrategy"),pJ=new Ce("DialogData"),mJ=new Ce("DefaultDialogConfig"),vJ={provide:GP,deps:[Ls],useFactory:function gJ(e){return()=>e.scrollStrategies.block()}};let _J=0,WP=(()=>{class e{get openDialogs(){return this._parentDialog?this._parentDialog.openDialogs:this._openDialogsAtThisLevel}get afterOpened(){return this._parentDialog?this._parentDialog.afterOpened:this._afterOpenedAtThisLevel}constructor(t,i,r,o,a,s){this._overlay=t,this._injector=i,this._defaultOptions=r,this._parentDialog=o,this._overlayContainer=a,this._openDialogsAtThisLevel=[],this._afterAllClosedAtThisLevel=new Y,this._afterOpenedAtThisLevel=new Y,this._ariaHiddenElements=new Map,this.afterAllClosed=$P(()=>this.openDialogs.length?this._getAfterAllClosed():this._getAfterAllClosed().pipe(Wh(void 0))),this._scrollStrategy=s}open(t,i){(i={...this._defaultOptions||new lv,...i}).id=i.id||"cdk-dialog-"+_J++,i.id&&this.getDialogById(i.id);const o=this._getOverlayConfig(i),a=this._overlay.create(o),s=new m1(a,i),c=this._attachContainer(a,s,i);return s.containerInstance=c,this._attachDialogContent(t,s,c,i),this.openDialogs.length||this._hideNonDialogContentFromAssistiveTechnology(),this.openDialogs.push(s),s.closed.subscribe(()=>this._removeOpenDialog(s,!0)),this.afterOpened.next(s),s}closeAll(){g1(this.openDialogs,t=>t.close())}getDialogById(t){return this.openDialogs.find(i=>i.id===t)}ngOnDestroy(){g1(this._openDialogsAtThisLevel,t=>{!1===t.config.closeOnDestroy&&this._removeOpenDialog(t,!1)}),g1(this._openDialogsAtThisLevel,t=>t.close()),this._afterAllClosedAtThisLevel.complete(),this._afterOpenedAtThisLevel.complete(),this._openDialogsAtThisLevel=[]}_getOverlayConfig(t){const i=new f1({positionStrategy:t.positionStrategy||this._overlay.position().global().centerHorizontally().centerVertically(),scrollStrategy:t.scrollStrategy||this._scrollStrategy(),panelClass:t.panelClass,hasBackdrop:t.hasBackdrop,direction:t.direction,minWidth:t.minWidth,minHeight:t.minHeight,maxWidth:t.maxWidth,maxHeight:t.maxHeight,width:t.width,height:t.height,disposeOnNavigation:t.closeOnNavigation});return t.backdropClass&&(i.backdropClass=t.backdropClass),i}_attachContainer(t,i,r){const o=r.injector||r.viewContainerRef?.injector,a=[{provide:lv,useValue:r},{provide:m1,useValue:i},{provide:cf,useValue:t}];let s;r.container?"function"==typeof r.container?s=r.container:(s=r.container.type,a.push(...r.container.providers(r))):s=UP;const c=new sf(s,r.viewContainerRef,ri.create({parent:o||this._injector,providers:a}),r.componentFactoryResolver);return t.attach(c).instance}_attachDialogContent(t,i,r,o){if(t instanceof ro){const a=this._createInjector(o,i,r,void 0);let s={$implicit:o.data,dialogRef:i};o.templateContext&&(s={...s,..."function"==typeof o.templateContext?o.templateContext():o.templateContext}),r.attachTemplatePortal(new av(t,null,s,a))}else{const a=this._createInjector(o,i,r,this._injector),s=r.attachComponentPortal(new sf(t,o.viewContainerRef,a,o.componentFactoryResolver));i.componentRef=s,i.componentInstance=s.instance}}_createInjector(t,i,r,o){const a=t.injector||t.viewContainerRef?.injector,s=[{provide:pJ,useValue:t.data},{provide:m1,useValue:i}];return t.providers&&("function"==typeof t.providers?s.push(...t.providers(i,t,r)):s.push(...t.providers)),t.direction&&(!a||!a.get(Yh,null,{optional:!0}))&&s.push({provide:Yh,useValue:{value:t.direction,change:vs()}}),ri.create({parent:a||o,providers:s})}_removeOpenDialog(t,i){const r=this.openDialogs.indexOf(t);r>-1&&(this.openDialogs.splice(r,1),this.openDialogs.length||(this._ariaHiddenElements.forEach((o,a)=>{o?a.setAttribute("aria-hidden",o):a.removeAttribute("aria-hidden")}),this._ariaHiddenElements.clear(),i&&this._getAfterAllClosed().next()))}_hideNonDialogContentFromAssistiveTechnology(){const t=this._overlayContainer.getContainerElement();if(t.parentElement){const i=t.parentElement.children;for(let r=i.length-1;r>-1;r--){const o=i[r];o!==t&&"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 t=this._parentDialog;return t?t._getAfterAllClosed():this._afterAllClosedAtThisLevel}static#e=this.\u0275fac=function(i){return new(i||e)(N(Ls),N(ri),N(mJ,8),N(e,12),N(cv),N(GP))};static#t=this.\u0275prov=Se({token:e,factory:e.\u0275fac})}return e})();function g1(e,n){let t=e.length;for(;t--;)n(e[t])}let yJ=(()=>{class e{static#e=this.\u0275fac=function(i){return new(i||e)};static#t=this.\u0275mod=Rt({type:e});static#n=this.\u0275inj=kt({providers:[WP,vJ],imports:[p1,Nd,rX,Nd]})}return e})();function bJ(e,n){}class uo{constructor(){this.role="dialog",this.panelClass="",this.hasBackdrop=!0,this.backdropClass="",this.disableClose=!1,this.width="",this.height="",this.maxWidth="80vw",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 v1="mdc-dialog--open",YP="mdc-dialog--opening",qP="mdc-dialog--closing";let EJ=(()=>{class e extends UP{constructor(t,i,r,o,a,s,c,l){super(t,i,r,o,a,s,c,l),this._animationStateChanged=new Xt}_captureInitialFocus(){this._config.delayFocusTrap||this._trapFocus()}_openAnimationDone(t){this._config.delayFocusTrap&&this._trapFocus(),this._animationStateChanged.next({state:"opened",totalTime:t})}static#e=this.\u0275fac=function(i){return new(i||e)(T(Ft),T(Rw),T(qt,8),T(uo),T(Bg),T(ot),T(cf),T(Od))};static#t=this.\u0275cmp=Tt({type:e,selectors:[["ng-component"]],features:[dt],decls:0,vars:0,template:function(i,r){},encapsulation:2})}return e})();const KP="--mat-dialog-transition-duration";function XP(e){return null==e?null:"number"==typeof e?e:e.endsWith("ms")?pa(e.substring(0,e.length-2)):e.endsWith("s")?1e3*pa(e.substring(0,e.length-1)):"0"===e?0:null}let CJ=(()=>{class e extends EJ{constructor(t,i,r,o,a,s,c,l,d){super(t,i,r,o,a,s,c,d),this._animationMode=l,this._animationsEnabled="NoopAnimations"!==this._animationMode,this._hostElement=this._elementRef.nativeElement,this._enterAnimationDuration=this._animationsEnabled?XP(this._config.enterAnimationDuration)??150:0,this._exitAnimationDuration=this._animationsEnabled?XP(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()}ngOnDestroy(){super.ngOnDestroy(),null!==this._animationTimer&&clearTimeout(this._animationTimer)}_startOpenAnimation(){this._animationStateChanged.emit({state:"opening",totalTime:this._enterAnimationDuration}),this._animationsEnabled?(this._hostElement.style.setProperty(KP,`${this._enterAnimationDuration}ms`),this._requestAnimationFrame(()=>this._hostElement.classList.add(YP,v1)),this._waitForAnimationToComplete(this._enterAnimationDuration,this._finishDialogOpen)):(this._hostElement.classList.add(v1),Promise.resolve().then(()=>this._finishDialogOpen()))}_startExitAnimation(){this._animationStateChanged.emit({state:"closing",totalTime:this._exitAnimationDuration}),this._hostElement.classList.remove(v1),this._animationsEnabled?(this._hostElement.style.setProperty(KP,`${this._exitAnimationDuration}ms`),this._requestAnimationFrame(()=>this._hostElement.classList.add(qP)),this._waitForAnimationToComplete(this._exitAnimationDuration,this._finishDialogClose)):Promise.resolve().then(()=>this._finishDialogClose())}_clearAnimationClasses(){this._hostElement.classList.remove(YP,qP)}_waitForAnimationToComplete(t,i){null!==this._animationTimer&&clearTimeout(this._animationTimer),this._animationTimer=setTimeout(i,t)}_requestAnimationFrame(t){this._ngZone.runOutsideAngular(()=>{"function"==typeof requestAnimationFrame?requestAnimationFrame(t):t()})}static#e=this.\u0275fac=function(i){return new(i||e)(T(Ft),T(Rw),T(qt,8),T(uo),T(Bg),T(ot),T(cf),T($i,8),T(Od))};static#t=this.\u0275cmp=Tt({type:e,selectors:[["mat-dialog-container"]],hostAttrs:["tabindex","-1",1,"mat-mdc-dialog-container","mdc-dialog"],hostVars:8,hostBindings:function(i,r){2&i&&(yd("id",r._config.id),hn("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),Ct("_mat-animation-noopable",!r._animationsEnabled))},features:[dt],decls:3,vars:0,consts:[[1,"mdc-dialog__container"],[1,"mat-mdc-dialog-surface","mdc-dialog__surface"],["cdkPortalOutlet",""]],template:function(i,r){1&i&&(j(0,"div",0)(1,"div",1),et(2,bJ,0,0,"ng-template",2),W()())},dependencies:[Pd],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%;transform:scale(0.8);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}.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--open .mdc-dialog__scrim{opacity:1}.mdc-dialog--open .mdc-dialog__container{transform:none;opacity:1}.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{display:block;width:100%;height:100%}.mat-mdc-dialog-container{--mdc-dialog-container-elevation-shadow: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);--mdc-dialog-container-shadow-color:#000;--mdc-dialog-container-shape:4px;--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-duration:var(--mat-dialog-transition-duration, 0ms)}.mat-mdc-dialog-container._mat-animation-noopable .mdc-dialog__container{transition:none}.mat-mdc-dialog-content{display:block}.mat-mdc-dialog-actions{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 e})();class Fd{constructor(n,t,i){this._ref=n,this._containerInstance=i,this._afterOpened=new Y,this._beforeClosed=new Y,this._state=0,this.disableClose=t.disableClose,this.id=n.id,i._animationStateChanged.pipe(Pr(r=>"opened"===r.state),Ps(1)).subscribe(()=>{this._afterOpened.next(),this._afterOpened.complete()}),i._animationStateChanged.pipe(Pr(r=>"closed"===r.state),Ps(1)).subscribe(()=>{clearTimeout(this._closeFallbackTimeout),this._finishDialogClose()}),n.overlayRef.detachments().subscribe(()=>{this._beforeClosed.next(this._result),this._beforeClosed.complete(),this._finishDialogClose()}),To(this.backdropClick(),this.keydownEvents().pipe(Pr(r=>27===r.keyCode&&!this.disableClose&&!Uh(r)))).subscribe(r=>{this.disableClose||(r.preventDefault(),function SJ(e,n,t){e._closeInteractionType=n,e.close(t)}(this,"keydown"===r.type?"keyboard":"mouse"))})}close(n){this._result=n,this._containerInstance._animationStateChanged.pipe(Pr(t=>"closing"===t.state),Ps(1)).subscribe(t=>{this._beforeClosed.next(n),this._beforeClosed.complete(),this._ref.overlayRef.detachBackdrop(),this._closeFallbackTimeout=setTimeout(()=>this._finishDialogClose(),t.totalTime+100)}),this._state=1,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 t=this._ref.config.positionStrategy;return n&&(n.left||n.right)?n.left?t.left(n.left):t.right(n.right):t.centerHorizontally(),n&&(n.top||n.bottom)?n.top?t.top(n.top):t.bottom(n.bottom):t.centerVertically(),this._ref.updatePosition(),this}updateSize(n="",t=""){return this._ref.updateSize(n,t),this}addPanelClass(n){return this._ref.addPanelClass(n),this}removePanelClass(n){return this._ref.removePanelClass(n),this}getState(){return this._state}_finishDialogClose(){this._state=2,this._ref.close(this._result,{focusOrigin:this._closeInteractionType}),this.componentInstance=null}}const dv=new Ce("MatMdcDialogData"),DJ=new Ce("mat-mdc-dialog-default-options"),ZP=new Ce("mat-mdc-dialog-scroll-strategy"),TJ={provide:ZP,deps:[Ls],useFactory:function kJ(e){return()=>e.scrollStrategies.block()}};let AJ=0,MJ=(()=>{class e{get openDialogs(){return this._parentDialog?this._parentDialog.openDialogs:this._openDialogsAtThisLevel}get afterOpened(){return this._parentDialog?this._parentDialog.afterOpened:this._afterOpenedAtThisLevel}_getAfterAllClosed(){const t=this._parentDialog;return t?t._getAfterAllClosed():this._afterAllClosedAtThisLevel}constructor(t,i,r,o,a,s,c,l,d,u){this._overlay=t,this._defaultOptions=r,this._parentDialog=o,this._dialogRefConstructor=c,this._dialogContainerType=l,this._dialogDataToken=d,this._openDialogsAtThisLevel=[],this._afterAllClosedAtThisLevel=new Y,this._afterOpenedAtThisLevel=new Y,this._idPrefix="mat-dialog-",this.dialogConfigClass=uo,this.afterAllClosed=$P(()=>this.openDialogs.length?this._getAfterAllClosed():this._getAfterAllClosed().pipe(Wh(void 0))),this._scrollStrategy=s,this._dialog=i.get(WP)}open(t,i){let r;(i={...this._defaultOptions||new uo,...i}).id=i.id||`${this._idPrefix}${AJ++}`,i.scrollStrategy=i.scrollStrategy||this._scrollStrategy();const o=this._dialog.open(t,{...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:lv,useValue:i}]},templateContext:()=>({dialogRef:r}),providers:(a,s,c)=>(r=new this._dialogRefConstructor(a,i,c),r.updatePosition(i?.position),[{provide:this._dialogContainerType,useValue:c},{provide:this._dialogDataToken,useValue:s.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 a=this.openDialogs.indexOf(r);a>-1&&(this.openDialogs.splice(a,1),this.openDialogs.length||this._getAfterAllClosed().next())}),r}closeAll(){this._closeDialogs(this.openDialogs)}getDialogById(t){return this.openDialogs.find(i=>i.id===t)}ngOnDestroy(){this._closeDialogs(this._openDialogsAtThisLevel),this._afterAllClosedAtThisLevel.complete(),this._afterOpenedAtThisLevel.complete()}_closeDialogs(t){let i=t.length;for(;i--;)t[i].close()}static#e=this.\u0275fac=function(i){Rm()};static#t=this.\u0275prov=Se({token:e,factory:e.\u0275fac})}return e})(),QP=(()=>{class e extends MJ{constructor(t,i,r,o,a,s,c,l){super(t,i,o,s,c,a,Fd,CJ,dv,l),this._idPrefix="mat-mdc-dialog-"}static#e=this.\u0275fac=function(i){return new(i||e)(N(Ls),N(ri),N(Dx,8),N(DJ,8),N(ZP),N(e,12),N(cv),N($i,8))};static#t=this.\u0275prov=Se({token:e,factory:e.\u0275fac})}return e})(),Ld=(()=>{class e{static#e=this.\u0275fac=function(i){return new(i||e)};static#t=this.\u0275dir=Me({type:e,selectors:[["","mat-dialog-content",""],["mat-dialog-content"],["","matDialogContent",""]],hostAttrs:[1,"mat-mdc-dialog-content","mdc-dialog__content"]})}return e})(),lf=(()=>{class e{constructor(){this.align="start"}static#e=this.\u0275fac=function(i){return new(i||e)};static#t=this.\u0275dir=Me({type:e,selectors:[["","mat-dialog-actions",""],["mat-dialog-actions"],["","matDialogActions",""]],hostAttrs:[1,"mat-mdc-dialog-actions","mdc-dialog__actions"],hostVars:4,hostBindings:function(i,r){2&i&&Ct("mat-mdc-dialog-actions-align-center","center"===r.align)("mat-mdc-dialog-actions-align-end","end"===r.align)},inputs:{align:"align"}})}return e})(),JP=(()=>{class e{static#e=this.\u0275fac=function(i){return new(i||e)};static#t=this.\u0275mod=Rt({type:e});static#n=this.\u0275inj=kt({providers:[QP,TJ],imports:[yJ,p1,Nd,Cn,Cn]})}return e})();class uv{constructor(n,t,i,r=!1,o){this.title=n,this.infoText=t,this.isInfo=i,this.isLink=r,this.linkText=o}}function IJ(e,n){if(1&e&&(j(0,"span",5),Pe(1),W()),2&e){const t=st();ye(1),$a("",t.infoText," ")}}function OJ(e,n){if(1&e&&(j(0,"a",6),Pe(1),W()),2&e){const t=st();Cc("href",t.linkText,bm),ye(1),io(t.linkText)}}function RJ(e,n){if(1&e){const t=tr();j(0,"mat-dialog-actions")(1,"button",7),Be("click",function(){return yn(t),bn(st().close())}),Pe(2,"Close"),W()()}}let hv=(()=>{class e{constructor(t,i){this.dialogRef=t,this.title=i.title,this.infoText=i.infoText,this.showConfirmButton=!i.isInfo,this.hasLink=i.isLink,this.linkText=i.linkText||""}ngAfterViewInit(){const t=document.getElementsByClassName("readOnlyText")[0];t.style.height=t.scrollHeight+"px"}close(){this.dialogRef.close()}static#e=this.\u0275fac=function(i){return new(i||e)(T(Fd),T(dv))};static#t=this.\u0275cmp=Tt({type:e,selectors:[["app-info-dialog"]],decls:6,vars:4,consts:[[1,"content"],["id","info-dialog-title"],["class","readOnlyText",4,"ngIf"],[3,"href",4,"ngIf"],[4,"ngIf"],[1,"readOnlyText"],[3,"href"],[1,"mat-raised-button",3,"click"]],template:function(i,r){1&i&&(j(0,"mat-dialog-content",0)(1,"h2",1),Pe(2),W(),et(3,IJ,2,1,"span",2),et(4,OJ,2,2,"a",3),W(),et(5,RJ,3,0,"mat-dialog-actions",4)),2&i&&(ye(2),io(r.title),ye(1),Ae("ngIf",""!=r.infoText),ye(1),Ae("ngIf",r.hasLink),ye(1),Ae("ngIf",r.showConfirmButton))},dependencies:[co,Ld,lf],styles:[".readOnlyText[_ngcontent-%COMP%]{display:block;border:none;resize:none;width:100%;overflow:hidden;white-space:pre-wrap}.content[_ngcontent-%COMP%]{height:-moz-fit-content;height:fit-content;width:30vw;overflow:hidden}"]})}return e})();let _1=(()=>{class e{constructor(){this.showSettings=new Qt(!1),this.showSettings$=this.showSettings.asObservable()}close(){this.showSettings.next(!1)}open(){this.showSettings.next(!0)}static#e=this.\u0275fac=function(i){return new(i||e)};static#t=this.\u0275prov=Se({token:e,factory:e.\u0275fac,providedIn:"root"})}return e})(),df=(()=>{class e{constructor(t){this.matDialog=t}openDialog(t,i){this.matDialog.open(t,i)}static#e=this.\u0275fac=function(i){return new(i||e)(N(QP))};static#t=this.\u0275prov=Se({token:e,factory:e.\u0275fac,providedIn:"root"})}return e})();const pv="< title >",mv="< description >",Bd="[icons: default]",tN="domainConfigurationTag",Lr=2e3,y1="snackbar_success",nN="snackbar_error",Bs="snackbar_info";let b1=(()=>{class e{constructor(){}setCommandStack(t){this.commandStack=t}execute(t,i){this.commandStack.execute(t,i)}static#e=this.\u0275fac=function(i){return new(i||e)};static#t=this.\u0275prov=Se({token:e,factory:e.\u0275fac,providedIn:"root"})}return e})(),Br=(()=>{class e{constructor(t){this.commandStackService=t,this.titleSubject=new Qt(pv),this.descriptionSubject=new Qt(mv),this.domainNameSubject=new Qt(Bd),this.showDescriptionSubject=new Qt(!0),this.title$=this.titleSubject.asObservable(),this.description$=this.descriptionSubject.asObservable(),this.showDescription$=this.showDescriptionSubject.asObservable(),this.domainName$=this.domainNameSubject.asObservable()}updateTitleAndDescription(t,i,r){r?this.fireTitleAndDescriptionUpdate(t,i):(this.updateTitle(t),this.updateDescription(i))}reset(){this.updateTitleAndDescription(pv,mv,!1)}updateTitle(t){this.titleSubject.next(t??this.titleSubject.value),document.title=t??this.titleSubject.value+" - egon.io"}updateDescription(t){this.descriptionSubject.next(t??this.descriptionSubject.value)}setShowDescription(t){this.showDescriptionSubject.next(t)}setDomainName(t){this.domainNameSubject.next(t)}getTitle(){return this.titleSubject.value}getDescription(){return this.descriptionSubject.value}getDomainName(){return this.domainNameSubject.value}getVersion(){return"2.0.0"}fireTitleAndDescriptionUpdate(t,i){this.commandStackService.execute("story.updateHeadlineAndDescription",{newTitle:t,newDescription:i})}static#e=this.\u0275fac=function(i){return new(i||e)(N(b1))};static#t=this.\u0275prov=Se({token:e,factory:e.\u0275fac,providedIn:"root"})}return e})();function uf(e){const n={"/":"","\\":"",":":"","*":"","?":"",'"':"","<":"",">":"","|":""};return e?e.replace(/[/\\:*?"<>|]/gi,i=>n[i]):""}function Vd(e){const n={"/":"","\\":"",":":"","*":"","?":"",'"':"","<":"",">":"","|":"","(":"",")":""," ":"-",".":"_"};return e?e.replace(/[/\\:*?"<>|() .]/gi,i=>n[i]):""}function iN(e,n){let t;const a=".dst",s=".svg";let c=e.replace(n?/_\d+-\d+-\d+( ?_?-?\(\d+\))?(-?\d)?(.dst|.egn).svg/:/_\d+-\d+-\d+( ?_?-?\(\d+\))?(-?\d)?(.dst|.egn)/,"");return c.includes(n?s:a)&&(c=c.replace(s,"").replace(a,"").replace(".egn","")),t=c,t}class BJ{constructor(n,t){this.domain=n,this.dst=t}}JSON.parse('{"name":"","actors":{"Person":"","Group":"","System":""},"workObjects":{"Document":"","Folder":"","Call":"","Email":"","Conversation":"","Info":""}}');class tn{constructor(){this.entries=[]}get length(){return this.entries.length}all(){return this.entries}size(){return this.entries.length}isEmpty(){return this.entries.length<=0}has(n){return this.entries.some(t=>t.key===n)}set(n,t){this.has(n)||this.entries.push(new rN(t,n))}add(n,t){this.set(t,n)}putEntry(n){this.has(n.key)||this.entries.push(new rN(n.value,n.key))}keysArray(){return this.entries.map(n=>n.key)}addEach(n){Object.keys(n).forEach(t=>{this.set(t,n[t])})}appendDict(n){n.entries.forEach(t=>this.putEntry(t))}clear(){this.entries=[]}delete(n){this.entries=this.entries.filter(t=>t.key!==n)}get(n){const t=this.entries.filter(i=>i.key===n);return t[0]?t[0].value:null}sort(n){this.entries.sort(n)}sortByName(){this.entries.sort((n,t)=>n.key.includes("_custom")==t.key.includes("_custom")?n.key',Group:'',Pet:'',Conversation:'',World:'',Store:'',Theater:'',Business:'',Water:'',Hotel:'',Dining:'',"Gas-station":'',"Meeting-room":'',Courthouse:'',Flag:'',Place:'',Car:'',Bus:'',Train:'',Truck:'',Taxi:'',Bike:'',Boat:'',Motorcycle:'',Plane:'',"Flight-takeoff":'',"Flight-landing":'',Shuttle:'',Walking:'',Traffic:'',Commute:'',System:'',Printer:'',Document:'',Folder:'',Call:'',Email:'',Copyright:'',DNS:'',Settings:'',Cellphone:'',Update:'',Briefcase:'',Microphone:'',Signal:'',Key:'',Pencil:'',Sum:'',Headset:'',Keyboard:'',Mouse:'',Router:'',Scanner:'',Security:'',Desktop:'',"Speaker-phone":'',Tablet:'',Label:'',Receipt:'',Calendar:'',Cloud:'',Assessment:'',Dashboard:'',"Pie-chart":'',Problem:'',"Picture-as-PDF":'',Grid:'',Watch:'',Euro:'',Dollar:'',Info:'',Alarm:'',Wrench:'',"Circle-Arrows":'',"Credit-Card":'',Favorite:'',Gavel:'',Blind:'',Hourglass:'',Time:'',Search:'',Shopping:'',"Thumb-up":'',"Thumb-down":'',"Thumb-up-down":'',Couch:'',Attach:'',Ruler:'',Education:'',"How-To-Reg":'',"View-List":''};function oN(e){Hc=e}class jJ{constructor(n,t){this.actors=n,this.workObjects=t}}class zJ{constructor(n){this.domainName=Bd,this.allIconDictionary=n}getDefaultConf(){return hf}updateAllIconRegistry(n){this.allIconDictionary=n}appendSRCFile(n,t,i,r){const o={};n.forEach(s=>{this.allIconDictionary.has(s)||(o[s]=t.get(s))}),i.forEach(s=>{this.allIconDictionary.has(s)||(o[s]=r.get(s))});const a=new tn;Object.keys(o).forEach(s=>{a.set(s,o[s])}),oN(a)}createCustomConf(n){this.domainName=n.name;let t=n.actors,i=n.workObjects;return this.appendSRCFile(t.keysArray(),t,i.keysArray(),i),new jJ(t.keysArray(),i.keysArray())}}const hf={actors:["Person","Group","System"],workObjects:["Document","Folder","Call","Email","Conversation","Info"]};function Vs(e){return e.includes(Z.ACTOR)?e.replace(Z.ACTOR,""):e.includes(Z.WORKOBJECT)?e.replace(Z.WORKOBJECT,""):""}const vv="icon-domain-story-";let Qa=(()=>{class e{constructor(){this.actorIconDictionary=new tn,this.workObjectDictionary=new tn,this.allIconDictionary=new tn,this.iconDictionaryForBPMN=new tn,this.allIconDictionary.addEach(gv),this.iconConfig=new zJ(this.allIconDictionary)}initTypeDictionaries(t,i){(!t||0==t.length)&&(t=hf.actors),(!i||0==i.length)&&(i=hf.workObjects);const r=new tn;r.addEach(gv),r.appendDict(this.getAppendedIconDictionary()),this.initDictionary(t,r,this.actorIconDictionary,Z.ACTOR),this.initDictionary(i,r,this.workObjectDictionary,Z.WORKOBJECT)}initDictionary(t,i,r,o){r.clear();for(const a of t){const s=o+a;r.add(i.get(a),s)}r.keysArray().forEach(a=>{const s=Vs(a);this.registerIconForBPMN(a,vv+Vd(s.toLowerCase()))})}getCurrentIconConfigurationForBPMN(){return this.customConfiguration?this.iconConfig.createCustomConf(this.customConfiguration):this.iconConfig.getDefaultConf()}allInTypeDictionary(t,i){let r;t===Z.ACTOR?r=this.actorIconDictionary:t===Z.WORKOBJECT&&(r=this.workObjectDictionary);let o=!0;return!!i&&(i.forEach(a=>{r.has(a.type)||(o=!1)}),o)}addIconsFromDomainConfiguration(t,i){let r;t===Z.ACTOR?r=this.actorIconDictionary:t===Z.WORKOBJECT&&(r=this.workObjectDictionary);const o=new tn;o.addEach(gv),o.appendDict(Hc),i.forEach(a=>{if(!r.has(a)){const s=Vs(a),c=o.get(s);c&&(this.registerIconForType(t,a,c),this.registerIconForBPMN(a,Vd(vv+s.toLowerCase())))}})}registerIconForBPMN(t,i){this.iconDictionaryForBPMN.set(t,i)}addIconsToTypeDictionary(t,i){this.allInTypeDictionary(Z.ACTOR,t)||this.addIconsFromDomainConfiguration(Z.ACTOR,t.map(r=>r.type)),this.allInTypeDictionary(Z.WORKOBJECT,i)||this.addIconsFromDomainConfiguration(Z.WORKOBJECT,i.map(r=>r.type))}registerIconForType(t,i,r){i.includes(t)||(i=t+i);let o=new tn;t===Z.ACTOR?o=this.actorIconDictionary:t===Z.WORKOBJECT&&(o=this.workObjectDictionary),o.set(i,r)}updateIconRegistries(t,i,r){const o=[];t.forEach(l=>o.push(l)),i.forEach(l=>o.push(l));const a=new tn,s=new tn,c=new tn;r.actors.keysArray().forEach(l=>{s.add(r.actors.get(l),l)}),r.workObjects.keysArray().forEach(l=>{c.add(r.workObjects.get(l),l)}),this.extractCustomIconsFromDictionary(s,a),this.extractCustomIconsFromDictionary(c,a),o.forEach(l=>{const d=Vd(l.type.replace(Z.ACTOR,"").replace(Z.WORKOBJECT,""));(l.type.includes(Z.ACTOR)||l.type.includes(Z.WORKOBJECT))&&!this.getFullDictionary().has(d)&&this.registerIconForBPMN(vv+d.toLowerCase(),l.type)}),this.addNewIconsToDictionary(a),this.addIconsToTypeDictionary(t,i)}extractCustomIconsFromDictionary(t,i){t.keysArray().forEach(r=>{const o=Vd(r);this.getFullDictionary().has(o)||i.add(t.get(r),o)})}addNewIconsToDictionary(t){t.keysArray().forEach(i=>{const r=t.get(i);this.addIMGToIconDictionary(r.src,i)}),this.addIconsToCss(t)}addIMGToIconDictionary(t,i){Hc.set(i,t)}addIconsToCss(t){const i=document.getElementById("iconsCss");t.keysArray().forEach(r=>{const o=t.get(r),a="."+vv+Vd(r.toLowerCase())+'::before{ content: url("data:image/svg+xml;utf8,'+this.wrapSRCInSVG(o)+'"); margin: 3px;}';i?.sheet?.insertRule(a,i.sheet.cssRules.length)})}wrapSRCInSVG(t){return""}getFullDictionary(){const t=new tn;return t.appendDict(this.allIconDictionary),t.appendDict(this.getAppendedIconDictionary()),t}getAppendedIconDictionary(){const t=new tn;return Hc.keysArray().forEach(i=>{this.allIconDictionary.has(i)||t.set(i,Hc.get(i))}),t}getTypeDictionary(t){return t===Z.ACTOR?this.actorIconDictionary:t===Z.WORKOBJECT?this.workObjectDictionary:new tn}getTypeDictionaryKeys(t){return this.getTypeDictionary(t).keysArray()}getTypeIconSRC(t,i){return t===Z.ACTOR?(i.startsWith(Z.ACTOR)||(i=Z.ACTOR+i),this.actorIconDictionary.get(i)):t===Z.WORKOBJECT?(i.startsWith(Z.WORKOBJECT)||(i=Z.WORKOBJECT+i),this.workObjectDictionary.get(i)):null}getIconForBPMN(t){return this.iconDictionaryForBPMN.get(t)}getIconSource(t){return this.allIconDictionary.has(t)?this.allIconDictionary.get(t):Hc.has(t)?Hc.get(t):null}getElementsOfType(t,i){const r=[];return t.forEach(o=>{o.type.includes(i)&&r.push(o)}),r}getAllIconDictionary(){return this.allIconDictionary}getActorsDictionary(){return this.actorIconDictionary}getWorkObjectsDictionary(){return this.workObjectDictionary}getIconConfiguration(){return this.iconConfig}setCusomtConfiguration(t){this.customConfiguration=t}static#e=this.\u0275fac=function(i){return new(i||e)};static#t=this.\u0275prov=Se({token:e,factory:e.\u0275fac,providedIn:"root"})}return e})(),jo=(()=>{class e{constructor(){this.fullyInitialized=!1}correctInitialize(){this.fullyInitialized||this.registry.__implicitroot&&(this.registry=this.registry.__implicitroot.element.children,this.fullyInitialized=!0)}setElementRegistry(t){this.registry=t._elements}clear(){this.registry=null,this.fullyInitialized=!1}createObjectListForDSTDownload(){if(this.registry){const t=this.getAllCanvasObjects(),i=this.getAllGroups(),r=[];return this.fillListOfCanvasObjects(t,r,i),r}return[]}fillListOfCanvasObjects(t,i,r){t.forEach(o=>{o.type===Z.ACTIVITY?i.push(o):(o.type===Z.TEXTANNOTATION&&(o.businessObject.width=o.width,o.businessObject.height=o.height),i.includes(o)||i.unshift(o))}),r.forEach(o=>{i.push(o)})}getAllActivities(){const t=[];return this.getAllCanvasObjects().forEach(i=>{i.type.includes(Z.ACTIVITY)&&t.push(i)}),t}getAllConnections(){const t=[];return this.getAllCanvasObjects().forEach(i=>{i.type===Z.CONNECTION&&t.push(i)}),t}getAllCanvasObjects(){const t=[],i=[];this.checkChildForGroup(i,t);let r=i.length-1;for(;i.length>=1;)i.pop().children.forEach(a=>{a.type.includes(Z.GROUP)&&i.push(a)}),r=i.length-1;return t}getAllGroups(){const t=[];this.checkChildForGroup(t,[]);for(const r of t)r.children?.forEach(o=>{o.type.includes(Z.GROUP)&&t.push(o)});return t}checkChildForGroup(t,i){const r=Object.keys(this.registry);for(let o of r){const a=this.registry[o].element;if(a.businessObject){const s=a.type;s&&s.includes(Z.GROUP)?t.push(a):s&&i.push(a)}}}getActivitiesFromActors(){const t=[];return this.getAllActivities().forEach(r=>{r.source?.type.includes(Z.ACTOR)&&t.push(r)}),t}getUsedIcons(){const t=this.getAllActors(),i=this.getAllWorkobjects();return{actors:t.map(r=>r.type.replace(Z.ACTOR,"")),workobjects:i.map(r=>r.type.replace(Z.WORKOBJECT,""))}}getAllActors(){return this.getAllCanvasObjects().filter(t=>t.type.includes(Z.ACTOR))}getAllWorkobjects(){return this.getAllCanvasObjects().filter(t=>t.type.includes(Z.WORKOBJECT))}static#e=this.\u0275fac=function(i){return new(i||e)};static#t=this.\u0275prov=Se({token:e,factory:e.\u0275fac,providedIn:"root"})}return e})(),$c=(()=>{class e{constructor(t,i,r){this.iconDictionaryService=t,this.elementRegistryService=i,this.titleService=r}setDomainName(t){this.titleService.setDomainName(t||Bd)}exportConfiguration(){const t=this.getCurrentConfigurationForExport();if(!t)return;const i=JSON.stringify(t,null,2),r=this.titleService.getDomainName(),o=document.createElement("a");o.setAttribute("href","data:text/plain;charset=utf-8,"+encodeURIComponent(i)),o.setAttribute("download",r+".domain"),o.style.display="none",document.body.appendChild(o),o.click(),document.body.removeChild(o)}loadConfiguration(t,i=!0){let r=new tn,o=new tn;t.actors.keysArray()?(r=t.actors,o=t.workObjects):(r.addEach(t.actors),o.addEach(t.workObjects));const a=r.keysArray(),s=o.keysArray();this.iconDictionaryService.updateIconRegistries([],[],t),this.iconDictionaryService.getIconConfiguration().appendSRCFile(a,r,s,o),this.iconDictionaryService.addIconsFromDomainConfiguration(Z.ACTOR,a.map(c=>Z.ACTOR+c)),this.iconDictionaryService.addIconsFromDomainConfiguration(Z.WORKOBJECT,s.map(c=>Z.WORKOBJECT+c)),i&&this.setDomainName(t.name)}getCurrentConfiguration(){const t=this.iconDictionaryService.getActorsDictionary(),i=this.iconDictionaryService.getWorkObjectsDictionary();let r;return t.size()>0&&i.size()>0&&(r=this.createConfigFromDictionaries(t,i)),r}getCurrentConfigurationForExport(){const t=this.getCurrentConfiguration();if(t){const i={},r={};return t.actors.all().forEach(o=>{i[o.key]=o.value}),t.workObjects.all().forEach(o=>{r[o.key]=o.value}),{name:t.name,actors:i,workObjects:r}}}getCurrentConfigurationNamesWithoutPrefix(){return{name:this.titleService.getDomainName()||Bd,actors:this.iconDictionaryService.getActorsDictionary().keysArray().map(t=>t.replace(Z.ACTOR,"")),workObjects:this.iconDictionaryService.getWorkObjectsDictionary().keysArray().map(t=>t.replace(Z.WORKOBJECT,""))}}createMinimalConfigurationWithDefaultIcons(){const t=this.createConfigFromCanvas();return hf.actors.forEach(i=>{t.actors.add(this.iconDictionaryService.getIconSource(i),i)}),hf.workObjects.forEach(i=>{t.workObjects.add(this.iconDictionaryService.getIconSource(i),i)}),t}createConfigFromDictionaries(t,i){const r=t.keysArray(),o=i.keysArray(),a=new tn,s=new tn;return r.forEach(c=>{a.add(t.get(c),c.replace(Z.ACTOR,""))}),o.forEach(c=>{s.add(i.get(c),c.replace(Z.WORKOBJECT,""))}),{name:this.titleService.getDomainName(),actors:a,workObjects:s}}createConfigFromCanvas(){const t={name:Bd,actors:new tn,workObjects:new tn};return this.elementRegistryService.getAllCanvasObjects().map(r=>r.businessObject).forEach(r=>{const o=r.type.replace(Z.ACTOR,"").replace(Z.WORKOBJECT,"");if(r.type.includes(Z.ACTOR)){let a=this.iconDictionaryService.getIconSource(o)||"";t.actors.add(a,o)}else if(r.type.includes(Z.WORKOBJECT)){let a=this.iconDictionaryService.getIconSource(o)||"";t.workObjects.add(a,o)}}),t}static#e=this.\u0275fac=function(i){return new(i||e)(N(Qa),N(jo),N(Br))};static#t=this.\u0275prov=Se({token:e,factory:e.\u0275fac,providedIn:"root"})}return e})(),_v=(()=>{class e{constructor(){this.isDirtySubject=new Qt(!1),this.dirty$=this.isDirtySubject.asObservable()}makeDirty(){this.isDirtySubject.next(!0)}makeClean(){this.isDirtySubject.next(!1)}get dirty(){return this.isDirtySubject.value}static#e=this.\u0275fac=function(i){return new(i||e)};static#t=this.\u0275prov=Se({token:e,factory:e.\u0275fac,providedIn:"root"})}return e})();const aN="http://www.w3.org/2000/svg",sN="8";let jd=0;function cN(e,n,t,i,r){let o=function UJ(e,n){let i=document.createElement("canvas").getContext("2d");return i.font="30px Arial",lN(e,n,i,10,30,30)}(e=e.replace("<","").replace(">",""),r),a=function GJ(e,n){let t="",i=e.split("
"),o=document.createElement("canvas").getContext("2d");o.font="12px Arial";for(let a=0;a'+o+a+"",extraHeight:jd}}function lN(e,n,t,i,r,o){let a="",s=e.split(" "),c='',l=document.createElementNS(aN,"tspan"),d=document.createTextNode(s[0]);l.setAttribute("x",sN),l.setAttribute("y",i+jd),l.setAttribute("font-size",o),l.appendChild(d);for(let u=1;un-16&&(jd+=r,l.firstChild.data=l.firstChild.data.slice(0,h),a+=c+l.outerHTML+"",l=document.createElementNS(aN,"tspan"),d=document.createTextNode(s[u]),l.setAttribute("x",sN),l.setAttribute("y",i+jd),l.appendChild(d))}return jd+=r,a+=c+l.outerHTML+"",a}let WJ=(()=>{class e{constructor(){this.width=0,this.height=0}browserSpecs(){const t=navigator.userAgent;let i,r=t.match(/(opera|chrome|safari|firefox|msie|trident(?=\/))\/?\s*(\d+)/i)||[];return/trident/i.test(r[1])?(i=/\brv[ :]+(\d+)/g.exec(t)||[],{name:"IE",version:i[1]||""}):"Chrome"===r[1]&&(i=t.match(/\b(OPR|Edge)\/(\d+)/),null!=i)?{name:i[1].replace("OPR","Opera"),version:i[2]}:(r=r[2]?[r[1],r[2]]:[navigator.appName,navigator.appVersion,"-?"],null!=(i=t.match(/version\/(\d+)/i))&&r.splice(1,1,i[1]),{name:r[0],version:r[1]})}URIHashtagFix(t){let i=!1;const r=this.browserSpecs(),o=r.name,a=parseInt(r.version);if(o.includes("Chrome")?a>=72&&(i=!0):o.includes("Firefox")&&(i=!0),i)for(;t.includes("#");)t=t.replace("#","%23");return t}findMostOuterElements(t){let i=0,r=0,o=0,a=0;const s=t.getElementsByClassName("djs-group");for(let c=0;cr&&(r=h),fa&&(a=p)}return o-=75,{xLeft:i,xRight:r,yUp:o,yDown:a}}prepareSVG(t,i,r,o,a){const s=this.findMostOuterElements(i);let c=t.indexOf('width="');this.calculateWidthAndHeight(s);const{insertText:l,extraHeight:d}=cN(o,r,s.xLeft,s.yUp+20,this.width);a&&(this.height+=d);const u=this.createBounds(s,d),h=t.substring(0,c);c=t.indexOf('style="');const f=t.substring(c);f.substring(c);const p=(t=h+u+f).indexOf('')+20;return a&&(t=[t.slice(0,p),l,t.slice(p)].join("")),this.URIHashtagFix(t)}createBounds(t,i){return'width="'+this.width+'" height="'+this.height+'" viewBox=" '+t.xLeft+" "+(t.yUp-i)+" "+this.width+" "+this.height+'" '}calculateWidthAndHeight(t){return this.width=t.xLeft<0?t.xRight<0?Math.abs(t.xLeft-t.xRight):Math.abs(t.xLeft)+t.xRight:t.xRight-t.xLeft,this.height=t.yUp<0?t.yDown<0?Math.abs(t.yUp-t.yDown):Math.abs(t.yUp)+t.yDown:t.yDown-t.yUp,this.height<300&&(this.height+=300,t.yUp-=150,t.yDown+=150),this.width<300&&(this.width+=300,t.xLeft-=150,t.xRight+=150),[this.height,this.width]}extractSVG(t,i){const r=t.getElementsByClassName("layer-resizers"),o=t.getElementsByClassName("layer-overlays"),a=t.getAttribute("transform"),s=t.getAttribute("translate");r[0]&&r[0].parentNode.removeChild(r[0]),o[0]&&o[0].parentNode.removeChild(o[0]),a&&t.removeAttribute("transform"),s&&t.removeAttribute("translate");const c=(new XMLSerializer).serializeToString(i);return a&&t.setAttribute("transform",a),s&&t.setAttribute("translate",s),c}getWidth(){return this.width}getHeight(){return this.height}static#e=this.\u0275fac=function(i){return new(i||e)};static#t=this.\u0275prov=Se({token:e,factory:e.\u0275fac,providedIn:"root"})}return e})();function dN(e,n,t,i,r,o,a){try{var s=e[o](a),c=s.value}catch(l){return void t(l)}s.done?n(c):Promise.resolve(c).then(i,r)}function uN(e){return function(){var n=this,t=arguments;return new Promise(function(i,r){var o=e.apply(n,t);function a(c){dN(o,i,r,a,s,"next",c)}function s(c){dN(o,i,r,a,s,"throw",c)}a(void 0)})}}function yv(e){return Array.prototype.concat.apply([],e)}var ff=Object.prototype.toString,YJ=Object.prototype.hasOwnProperty;function js(e){return void 0===e}function zo(e){return void 0!==e}function bv(e){return null==e}function Lt(e){return"[object Array]"===ff.call(e)}function si(e){return"[object Object]"===ff.call(e)}function yt(e){return"[object Number]"===ff.call(e)}function Gi(e){var n=ff.call(e);return"[object Function]"===n||"[object AsyncFunction]"===n||"[object GeneratorFunction]"===n||"[object AsyncGeneratorFunction]"===n||"[object Proxy]"===n}function Vr(e){return"[object String]"===ff.call(e)}function Ja(e,n){return YJ.call(e,n)}function on(e,n){var t;return n=E1(n),R(e,function(i,r){if(n(i,r))return t=i,!1}),t}function hN(e,n){n=E1(n);var t=Lt(e)?-1:void 0;return R(e,function(i,r){if(n(i,r))return t=r,!1}),t}function St(e,n){var t=[];return R(e,function(i,r){n(i,r)&&t.push(i)}),t}function R(e,n){var t;if(!js(e)){var r=Lt(e)?QJ:ZJ;for(var o in e)if(Ja(e,o)&&!1===n(t=e[o],r(o)))return t}}function br(e,n,t){return R(e,function(i,r){t=n(t,i,r)}),t}function Uc(e,n){return!!br(e,function(t,i,r){return t&&n(i,r)},!0)}function Gc(e,n){return!!on(e,n)}function Ti(e,n){var t=[];return R(e,function(i,r){t.push(n(i,r))}),t}function xv(e){return e&&Object.keys(e)||[]}function pf(e){return xv(e).length}function x1(e){return Ti(e,function(n){return n})}function zd(e,n){var t=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return n=w1(n),R(e,function(i){var r=n(i)||"_",o=t[r];o||(o=t[r]=[]),o.push(i)}),t}function fN(e){e=w1(e);for(var n={},t=arguments.length,i=new Array(t>1?t-1:0),r=1;r0)return s(f);e.apply(r,i),c()}function s(u){t=setTimeout(a,u)}function c(){t&&clearTimeout(t),t=o=i=r=void 0}function d(){o=Date.now();for(var u=arguments.length,h=new Array(u),f=0;f1?n-1:0),i=1;i=Math.pow(2,t)?n(t,i):s};n.rack=function(t,i,r){var o=function(s){var c=0;do{if(c++>10){if(!r)throw new Error("too many ID collisions, use more bits");t+=r}var l=n(t,i)}while(Object.hasOwnProperty.call(a,l));return a[l]=s,l},a=o.hats={};return o.get=function(s){return o.hats[s]},o.set=function(s,c){return o.hats[s]=c,o},o.bits=t||128,o.base=i||16,o}});function es(e){if(!(this instanceof es))return new es(e);this._seed=(e=e||[128,36,1]).length?nee.rack(e[0],e[1],e[2]):e}es.prototype.next=function(e){return this._seed(e||!0)},es.prototype.nextPrefixed=function(e,n){var t;do{t=e+this.next(!0)}while(this.assigned(t));return this.claim(t,n),t},es.prototype.claim=function(e,n){this._seed.set(e,n||!0)},es.prototype.assigned=function(e){return this._seed.get(e)||!1},es.prototype.unclaim=function(e){delete this._seed.hats[e]},es.prototype.clear=function(){var n,e=this._seed.hats;for(n in e)this.unclaim(n)};const S1=es;function zr(e,n,t){return 2==arguments.length?e.getAttribute(n):null===t?e.removeAttribute(n):(e.setAttribute(n,t),e)}var dee=[].indexOf,D1=function(e,n){if(dee)return e.indexOf(n);for(var t=0;t
a',bN=!Sv.getElementsByTagName("link").length,Sv=void 0);var pi={legend:[1,"
","
"],tr:[2,"","
"],col:[2,"","
"],_default:bN?[1,"X
","
"]:[0,"",""]};function Bn(e,n){return(n=n||document).querySelector(e)}function k1(e,n){return(n=n||document).querySelectorAll(e)}function ga(e){e.parentNode&&e.parentNode.removeChild(e)}function xN(e,n){return n.appendChild(function T1(e,n){if(e.ownerDocument!==n.ownerDocument)try{return n.ownerDocument.importNode(e,!0)}catch{}return e}(e,n))}function Ze(e,n){return xN(n,e),e}pi.td=pi.th=[3,"","
"],pi.option=pi.optgroup=[1,'"],pi.thead=pi.tbody=pi.colgroup=pi.caption=pi.tfoot=[1,"","
"],pi.polyline=pi.ellipse=pi.polygon=pi.circle=pi.text=pi.line=pi.path=pi.rect=pi.g=[1,'',""];var A1=2,wN={"alignment-baseline":1,"baseline-shift":1,clip:1,"clip-path":1,"clip-rule":1,color:1,"color-interpolation":1,"color-interpolation-filters":1,"color-profile":1,"color-rendering":1,cursor:1,direction:1,display:1,"dominant-baseline":1,"enable-background":1,fill:1,"fill-opacity":1,"fill-rule":1,filter:1,"flood-color":1,"flood-opacity":1,font:1,"font-family":1,"font-size":A1,"font-size-adjust":1,"font-stretch":1,"font-style":1,"font-variant":1,"font-weight":1,"glyph-orientation-horizontal":1,"glyph-orientation-vertical":1,"image-rendering":1,kerning:1,"letter-spacing":1,"lighting-color":1,marker:1,"marker-end":1,"marker-mid":1,"marker-start":1,mask:1,opacity:1,overflow:1,"pointer-events":1,"shape-rendering":1,"stop-color":1,"stop-opacity":1,stroke:1,"stroke-dasharray":1,"stroke-dashoffset":1,"stroke-linecap":1,"stroke-linejoin":1,"stroke-miterlimit":1,"stroke-opacity":1,"stroke-width":A1,"text-anchor":1,"text-decoration":1,"text-rendering":1,"unicode-bidi":1,visibility:1,"word-spacing":1,"writing-mode":1};function EN(e,n,t){var i=n.replace(/([a-z])([A-Z])/g,"$1-$2").toLowerCase(),r=wN[i];r?(r===A1&&"number"==typeof t&&(t=String(t)+"px"),e.style[i]=t):e.setAttributeNS(null,n,t)}function ge(e,n,t){if("string"==typeof n){if(void 0===t)return function bee(e,n){return wN[n]?e.style[n]:e.getAttributeNS(null,n)}(e,n);EN(e,n,t)}else!function xee(e,n){var i,r,t=Object.keys(n);for(i=0;r=t[i];i++)EN(e,r,n[r])}(e,n);return e}function M1(e,n){if(e.indexOf)return e.indexOf(n);for(var t=0;t"+e+"",n=!0);var t=function Cee(e){var n;return(n=new DOMParser).async=!1,n.parseFromString(e,"text/xml")}(e);if(!n)return t;for(var i=document.createDocumentFragment(),r=t.firstChild;r.firstChild;)i.appendChild(r.firstChild);return i}function qe(e,n){var t;return"<"===e.charAt(0)?(t=DN(e).firstChild,t=document.importNode(t,!0)):t=document.createElementNS(R1.svg,e),n&&ge(t,n),t}var P1=null;function Dv(){return null===P1&&(P1=qe("svg")),P1}function N1(e,n){var t,i,r=Object.keys(n);for(t=0;i=r[t];t++)e[i]=n[i];return e}function mf(e){return e?Dv().createSVGTransformFromMatrix(e):Dv().createSVGTransform()}var kN=/([&<>]{1})/g,Dee=/([\n\r"]{1})/g,kee={"&":"&","<":"<",">":">",'"':"'"};function F1(e,n){return e.replace(n,function t(i,r){return kee[r]||r})}function TN(e,n){var t,i,r,o,a;switch(e.nodeType){case 3:n.push(F1(e.textContent,kN));break;case 1:if(n.push("<",e.tagName),e.hasAttributes())for(t=0,i=(r=e.attributes).length;t"),t=0,i=(a=e.childNodes).length;t")}else n.push("/>");break;case 8:n.push("\x3c!--",F1(e.nodeValue,kN),"--\x3e");break;case 4:n.push("");break;default:throw new Error("unable to handle node "+e.nodeType)}return n}function AN(e,n){if(void 0!==n){try{!function Tee(e,n){var t=DN(n);if(O1(e),n){(function Mee(e){return"#document-fragment"===e.nodeName})(t)||(t=t.documentElement);for(var i=function Iee(e){return Array.prototype.slice.call(e)}(t.childNodes),r=0;r ");return t.length=0,new Error(g?p+" (Resolving: "+g+")":p)},s=function(p,g){if(!i[p]&&-1!==p.indexOf(".")){for(var v=p.split("."),k=s(v.shift());v.length;)k=k[v.shift()];return k}if(B1(r,p))return r[p];if(B1(i,p)){if(-1!==t.indexOf(p))throw t.push(p),a("Cannot resolve circular dependency!");return t.push(p),r[p]=i[p][0](i[p][1]),t.pop(),r[p]}return n.get(p,g)},c=function(p,g){if(typeof g>"u"&&(g={}),"function"!=typeof p){if(!L1(p))throw new Error('Cannot invoke "'+p+'". Expected a function!');p=kv(p.slice())}return{fn:p,dependencies:(p.$inject||jee(p)).map(function(E){return B1(g,E)?g[E]:s(E)})}},l=function(p){var g=c(p);return new(Function.prototype.bind.apply(g.fn,[null].concat(g.dependencies)))},d=function(p,g,v){var k=c(p,v);return k.fn.apply(g,k.dependencies)},u=function(p){return kv(function(g){return p.get(g)})},f={factory:d,type:l,value:function(p){return p}};e.forEach(function(p){function g(C,x){return"value"!==C&&L1(x)&&(x=kv(x.slice())),x}if(p instanceof zee)p.forEach(function(C){var D=C[1];i[C[0]]=[f[D],g(D,C[2]),D]});else if("object"==typeof p)if(p.__exports__){var v=Object.keys(p).reduce(function(C,x){return"__"!==x.substring(0,2)&&(C[x]=p[x]),C},Object.create(null)),k=new V1((p.__modules__||[]).concat([v]),o),E=kv(function(C){return k.get(C)});p.__exports__.forEach(function(C){i[C]=[E,C,"private",k]})}else Object.keys(p).forEach(function(C){if("private"!==p[C][2]){var x=p[C][0];i[C]=[f[x],g(x,p[C][1]),x]}else i[C]=p[C]})}),this.get=s,this.invoke=d,this.instantiate=l,this.createChild=function(p,g){if(g&&g.length){var D,P,V,F,v=Object.create(null),k=Object.create(null),E=[],C=[],x=[];for(var Q in i)D=i[Q],-1!==g.indexOf(Q)&&("private"===D[2]?-1===(P=E.indexOf(D[3]))?(V=D[3].createChild([],g),F=u(V),E.push(D[3]),C.push(V),x.push(F),v[Q]=[F,Q,"private",V]):v[Q]=[x[P],Q,"private",C[P]]:v[Q]=[D[2],D[1]],k[Q]=!0),("factory"===D[2]||"type"===D[2])&&D[1].$scope&&g.forEach(function(be){-1!==D[1].$scope.indexOf(be)&&(v[Q]=[D[2],D[1]],k[be]=!0)});g.forEach(function(be){if(!k[be])throw new Error('No provider for "'+be+'". Cannot use provider from the parent!')}),p.unshift(v)}return new V1(p,o)}}var Hee=1e3;function Uo(e,n){var t=this;e.on(["render.shape","render.connection"],n=n||Hee,function(i,r){var o=i.type,a=r.element,s=r.gfx,c=r.attrs;if(t.canRender(a))return"render.shape"===o?t.drawShape(s,a,c):t.drawConnection(s,a,c)}),e.on(["render.getShapePath","render.getConnectionPath"],n,function(i,r){if(t.canRender(r))return"render.getShapePath"===i.type?t.getShapePath(r):t.getConnectionPath(r)})}function va(e){return e.join(",").replace(/,?([A-z]),?/g,"$1")}function MN(e){for(var i,n="",t=0;i=e[t];t++)n+=i.x+","+i.y+" ";return n}function vf(e,n){var t=qe("polyline");return ge(t,{points:MN(e)}),n&&ge(t,n),t}function IN(e){return St(e,function(n){return!on(e,function(t){return t!==n&&ON(n,t)})})}function ON(e,n){if(n){if(e===n)return n;if(e.parent)return ON(e.parent,n)}}function RN(e,n,t){var i=!t||-1===e.indexOf(n);return i&&e.push(n),i}function Yc(e,n,t){t=t||0,Lt(e)||(e=[e]),R(e,function(i,r){var o=n(i,r,t);Lt(o)&&o.length&&Yc(o,n,t+1)})}function Tv(e,n){return function PN(e,n,t){var i=[],r=[];return Yc(e,function(o,a,s){RN(i,o,n);var c=o.children;if((-1===t||sr||void 0===r)&&(r=c+u),(l+d>o||void 0===o)&&(o=l+d)}),{x:t,y:i,height:o-i,width:r-t}}function NN(e){return"waypoints"in e?"connection":"x"in e?"shape":"root"}function FN(e){return!(!e||!e.isFrame)}function _f(e,n){return I({},e||{},n||{})}function Us(e,n){Uo.call(this,e,1),this.CONNECTION_STYLE=n.style(["no-fill"],{strokeWidth:5,stroke:"fuchsia"}),this.SHAPE_STYLE=n.style({fill:"white",stroke:"fuchsia",strokeWidth:2}),this.FRAME_STYLE=n.style(["no-fill"],{stroke:"fuchsia",strokeDasharray:4,strokeWidth:2})}Uo.prototype.canRender=function(){},Uo.prototype.drawShape=function(){},Uo.prototype.drawConnection=function(){},Uo.prototype.getShapePath=function(){},Uo.prototype.getConnectionPath=function(){},Xe()(Us,Uo),Us.prototype.canRender=function(){return!0},Us.prototype.drawShape=function(n,t,i){var r=qe("rect");return ge(r,{x:0,y:0,width:t.width||0,height:t.height||0}),FN(t)?ge(r,I({},this.FRAME_STYLE,i||{})):ge(r,I({},this.SHAPE_STYLE,i||{})),Ze(n,r),r},Us.prototype.drawConnection=function(n,t,i){var r=vf(t.waypoints,I({},this.CONNECTION_STYLE,i||{}));return Ze(n,r),r},Us.prototype.getShapePath=function(n){var r=n.width;return va([["M",n.x,n.y],["l",r,0],["l",0,n.height],["l",-r,0],["z"]])},Us.prototype.getConnectionPath=function(n){var i,r,t=n.waypoints,o=[];for(i=0;r=t[i];i++)o.push([0===i?"M":"L",(r=r.original||r).x,r.y]);return va(o)},Us.$inject=["eventBus","styles"];const qee={__init__:["defaultRenderer"],defaultRenderer:["type",Us],styles:["type",function Yee(){var e={"no-fill":{fill:"none"},"no-border":{strokeOpacity:0},"no-events":{pointerEvents:"none"}},n=this;this.cls=function(t,i,r){return I(this.style(i,r),{class:t})},this.style=function(t,i){!Lt(t)&&!i&&(i=t,t=[]);var r=br(t,function(o,a){return I(o,e[a]||{})},{});return i?I(r,i):r},this.computeStyle=function(t,i,r){return Lt(i)||(r=i,i=[]),n.style(i||[],I({},r,t||{}))}}]};function $n(e,n){if(!e||!n)return-1;var t=e.indexOf(n);return-1!==t&&e.splice(t,1),t}function Un(e,n,t){if(e&&n){"number"!=typeof t&&(t=-1);var i=e.indexOf(n);if(-1!==i){if(i===t)return;if(-1===t)return;e.splice(i,1)}-1!==t?e.splice(t,0,n):e.push(n)}}function j1(e,n){return e&&n?e.indexOf(n):-1}function yf(e,n){return e&&n?Math.sqrt(Math.pow(e.x-n.x,2)+Math.pow(e.y-n.y,2)):-1}function z1(e,n,t,i){if(typeof i>"u"&&(i=5),!e||!n||!t)return!1;var r=(n.x-e.x)*(t.y-e.y)-(n.y-e.y)*(t.x-e.x),o=yf(e,n);return Math.abs(r/o)<=i}var LN=2;function ts(e,n){var t;return function Kee(e,n){var t,i=(t=Lt(e)?e:[e,n]).slice().shift();return Uc(t,function(r){return Math.abs(i.y-r.y)<=LN})}(t=Lt(e)?e:[e,n])?"h":!!function Xee(e,n){var t,i=(t=Lt(e)?e:[e,n]).slice().shift();return Uc(t,function(r){return Math.abs(i.x-r.x)<=LN})}(t)&&"v"}function BN(e,n,t){return e.x>n.x-(t=t||0)&&e.y>n.y-t&&e.x=r.bottom?"bottom":null,d=i.right+t.x<=r.left?"left":i.left-t.x>=r.right?"right":null;return d&&l?l+"-"+d:d||l||"intersect"}function U1(e,n,t){var i=function Qee(e,n){return VN()(e,n)}(e,n);return 1===i.length||2===i.length&&yf(i[0],i[1])<1?Gs(i[0]):i.length>1?Gs((i=Ho(i,function(r){var o=Math.floor(100*r.t2)||1;return r.segment2+"#"+((o=100-o)<10?"0":"")+o}))[t?0:i.length-1]):null}function Av(e,n){return Math.round(e*n)/n}function zN(e){return yt(e)?e+"px":e}function HN(e,n,t){var i=qe("g");return Pt(i).add(n),e.insertBefore(i,e.childNodes[void 0!==t?t:e.childNodes.length-1]||null),i}var Mv="base",G1="djs-element-hidden",ite={shape:["x","y","width","height"],connection:["waypoints"]};function It(e,n,t,i){this._eventBus=n,this._elementRegistry=i,this._graphicsFactory=t,this._init(e||{})}function UN(e,n){e.setAttribute("transform","matrix("+n.a+","+n.b+","+n.c+","+n.d+","+n.e+","+n.f+")")}It.$inject=["config.canvas","eventBus","graphicsFactory","elementRegistry"],It.prototype._init=function(e){var n=this._eventBus,t=this._container=function tte(e){var n=(e=I({},{width:"100%",height:"100%"},e)).container||document.body,t=document.createElement("div");return t.setAttribute("class","djs-container"),I(t.style,{position:"relative",overflow:"hidden",width:zN(e.width),height:zN(e.height)}),n.appendChild(t),t}(e),i=this._svg=qe("svg");ge(i,{width:"100%",height:"100%"}),Ze(t,i);var r=this._viewport=HN(i,"viewport");this._layers={},this._planes={},!1!==e.deferUpdate&&(this._viewboxChanged=pN(Wi(this._viewboxChanged,this),300)),n.on("diagram.init",function(){n.fire("canvas.init",{svg:i,viewport:r})},this),n.on(["shape.added","connection.added","shape.removed","connection.removed","elements.changed","plane.set"],function(){delete this._cachedViewbox},this),n.on("diagram.destroy",500,this._destroy,this),n.on("diagram.clear",500,this._clear,this)},It.prototype._destroy=function(e){this._eventBus.fire("canvas.destroy",{svg:this._svg,viewport:this._viewport});var n=this._container.parentNode;n&&n.removeChild(this._container),delete this._svg,delete this._container,delete this._layers,delete this._planes,delete this._activePlane,delete this._viewport},It.prototype._clear=function(){var e=this;this._elementRegistry.getAll().forEach(function(t){var i=NN(t);"root"===i?e.setRootElementForPlane(null,e.findPlane(t),!0):e._removeElement(t,i)}),this._activePlane=null,this._planes={},delete this._cachedViewbox},It.prototype.getDefaultLayer=function(){return this.getLayer(Mv,0)},It.prototype.getLayer=function(e,n){if(!e)throw new Error("must specify a name");var t=this._layers[e];if(t||(t=this._layers[e]=this._createLayer(e,n)),typeof n<"u"&&t.index!==n)throw new Error("layer <"+e+"> already created at index <"+n+">");return t.group},It.prototype._createLayer=function(e,n){typeof n>"u"&&(n=1);var t=br(this._layers,function(i,r){return n>=r.index&&i++,i},0);return{group:HN(this._viewport,"layer-"+e,t),index:n}},It.prototype.getPlane=function(e){if(!e)throw new Error("must specify a name");return this._planes[e]},It.prototype.createPlane=function(e,n){if(!e)throw new Error("must specify a name");if(this._planes[e])throw new Error("plane "+e+" already exists");n||(n={id:"__implicitroot"+e,children:[],isImplicit:!0});var t=this.getLayer(e,0);Pt(t).add(G1);var i=this._planes[e]={layer:t,name:e,rootElement:null};return this.setRootElementForPlane(n,i),i},It.prototype.setActivePlane=function(e){if(!e)throw new Error("must specify a plane");return"string"==typeof e&&(e=this.getPlane(e)),this._activePlane&&Pt(this._activePlane.layer).add(G1),this._activePlane=e,Pt(e.layer).remove(G1),e.rootElement&&this._elementRegistry.updateGraphics(e.rootElement,this._svg,!0),this._eventBus.fire("plane.set",{plane:e}),e},It.prototype.getActiveLayer=function(){return this.getActivePlane().layer},It.prototype.getActivePlane=function(){var e=this._activePlane;return e||(e=this.createPlane(Mv),this.setActivePlane(Mv)),e},It.prototype.findPlane=function(e){"string"==typeof e&&(e=this._elementRegistry.get(e));var n=function ete(e){for(;e.parent;)e=e.parent;return e}(e);return on(this._planes,function(t){return t.rootElement===n})},It.prototype.getContainer=function(){return this._container},It.prototype._updateMarker=function(e,n,t){var i;e.id||(e=this._elementRegistry.get(e)),(i=this._elementRegistry._elements[e.id])&&(R([i.gfx,i.secondaryGfx],function(r){r&&(t?Pt(r).add(n):Pt(r).remove(n))}),this._eventBus.fire("element.marker.update",{element:e,gfx:i.gfx,marker:n,add:!!t}))},It.prototype.addMarker=function(e,n){this._updateMarker(e,n,!0)},It.prototype.removeMarker=function(e,n){this._updateMarker(e,n,!1)},It.prototype.hasMarker=function(e,n){return e.id||(e=this._elementRegistry.get(e)),Pt(this.getGraphics(e)).has(n)},It.prototype.toggleMarker=function(e,n){this.hasMarker(e,n)?this.removeMarker(e,n):this.addMarker(e,n)},It.prototype.getRootElement=function(){return this.getActivePlane().rootElement},It.prototype.setRootElement=function(e,n){var t=this._activePlane;if(t)return this.setRootElementForPlane(e,t,n);var i=this.createPlane(Mv,e);return this.setActivePlane(i),i.rootElement},It.prototype.setRootElementForPlane=function(e,n,t){"string"==typeof n&&(n=this.getPlane(n)),e&&this._ensureValid("root",e);var i=n.rootElement,r=this._elementRegistry,o=this._eventBus;if(i){if(!t)throw new Error("rootElement already set, need to specify override");o.fire("root.remove",{element:i}),o.fire("root.removed",{element:i}),r.remove(i)}if(e){var a=n.layer;o.fire("root.add",{element:e}),r.add(e,a),o.fire("root.added",{element:e,gfx:a}),n===this._activePlane&&this._elementRegistry.updateGraphics(e,this._svg,!0)}return n.rootElement=e,e},It.prototype._ensureValid=function(e,n){if(!n.id)throw new Error("element must have an id");if(this._elementRegistry.get(n.id))throw new Error("element with id "+n.id+" already exists");var t=ite[e];if(!Uc(t,function(r){return typeof n[r]<"u"}))throw new Error("must supply { "+t.join(", ")+" } with "+e)},It.prototype._setParent=function(e,n,t){Un(n.children,e,t),e.parent=n},It.prototype._addElement=function(e,n,t,i){t=t||this.getRootElement();var r=this._eventBus,o=this._graphicsFactory;this._ensureValid(e,n),r.fire(e+".add",{element:n,parent:t}),this._setParent(n,t,i);var a=o.create(e,n,i);return this._elementRegistry.add(n,a),o.update(e,n,a),r.fire(e+".added",{element:n,gfx:a}),n},It.prototype.addShape=function(e,n,t){return this._addElement("shape",e,n,t)},It.prototype.addConnection=function(e,n,t){return this._addElement("connection",e,n,t)},It.prototype._removeElement=function(e,n){var t=this._elementRegistry,i=this._graphicsFactory,r=this._eventBus;if(e=t.get(e.id||e))return r.fire(n+".remove",{element:e}),i.remove(e),$n(e.parent&&e.parent.children,e),e.parent=null,r.fire(n+".removed",{element:e}),t.remove(e),e},It.prototype.removeShape=function(e){return this._removeElement(e,"shape")},It.prototype.removeConnection=function(e){return this._removeElement(e,"connection")},It.prototype.getGraphics=function(e,n){return this._elementRegistry.getGraphics(e,n)},It.prototype._changeViewbox=function(e){this._eventBus.fire("canvas.viewbox.changing"),e.apply(this),this._cachedViewbox=null,this._viewboxChanged()},It.prototype._viewboxChanged=function(){this._eventBus.fire("canvas.viewbox.changed",{viewbox:this.viewbox()})},It.prototype.viewbox=function(e){if(void 0===e&&this._cachedViewbox)return this._cachedViewbox;var t,r,o,a,s,c,n=this._viewport,i=this.getSize();return e?(this._changeViewbox(function(){a=Math.min(i.width/e.width,i.height/e.height);var l=this._svg.createSVGMatrix().scale(a).translate(-e.x,-e.y);gf(n,l)}),e):(t=this._activePlane&&this._activePlane.layer.getBBox()||{},r=(o=gf(n))?o.matrix:function See(e,n,t,i,r,o){var a=Dv().createSVGMatrix();switch(arguments.length){case 0:return a;case 1:return N1(a,e);case 6:return N1(a,{a:e,b:n,c:t,d:i,e:r,f:o})}}(),a=Av(r.a,1e3),s=Av(-r.e||0,1e3),c=Av(-r.f||0,1e3),e=this._cachedViewbox={x:s?s/a:0,y:c?c/a:0,width:i.width/a,height:i.height/a,scale:a,inner:{width:t.width||0,height:t.height||0,x:t.x||0,y:t.y||0},outer:i})},It.prototype.scroll=function(e){var n=this._viewport,t=n.getCTM();return e&&this._changeViewbox(function(){e=I({dx:0,dy:0},e||{}),t=this._svg.createSVGMatrix().translate(e.dx,e.dy).multiply(t),UN(n,t)}),{x:t.e,y:t.f}},It.prototype.scrollToElement=function(e,n){var t=100;"string"==typeof e&&(e=this._elementRegistry.get(e));var i=this.findPlane(e);i!==this._activePlane&&this.setActivePlane(i),n||(n={}),"number"==typeof n&&(t=n),n={top:n.top||t,right:n.right||t,bottom:n.bottom||t,left:n.left||t};var c,l,r=Fi(e),o=at(r),a=this.viewbox(),s=this.zoom();a.y+=n.top/s,a.x+=n.left/s,a.width-=(n.right+n.left)/s,a.height-=(n.bottom+n.top)/s;var d=at(a);if(r.width=0&&i.y>=0&&i.x+i.width<=t.width&&i.y+i.height<=t.height&&!e?o={x:0,y:0,width:Math.max(i.width+i.x,t.width),height:Math.max(i.height+i.y,t.height)}:(r=Math.min(1,t.width/i.width,t.height/i.height),o={x:i.x+(e?i.width/2-t.width/r/2:0),y:i.y+(e?i.height/2-t.height/r/2:0),width:t.width/r,height:t.height/r}),this.viewbox(o),this.viewbox(!1).scale},It.prototype._setZoom=function(e,n){var s,c,l,d,t=this._svg,i=this._viewport,r=t.createSVGMatrix(),o=t.createSVGPoint(),u=(c=i.getCTM()).a;return n?(s=I(o,n).matrixTransform(c.inverse()),l=r.translate(s.x,s.y).scale(1/u*e).translate(-s.x,-s.y),d=c.multiply(l)):d=r.scale(e),UN(this._viewport,d),d},It.prototype.getSize=function(){return{width:this._container.clientWidth,height:this._container.clientHeight}},It.prototype.getAbsoluteBBox=function(e){var t,n=this.viewbox();return{x:(t=e.waypoints?this.getGraphics(e).getBBox():e).x*n.scale-n.x*n.scale,y:t.y*n.scale-n.y*n.scale,width:t.width*n.scale,height:t.height*n.scale}},It.prototype.resized=function(){delete this._cachedViewbox,this._eventBus.fire("canvas.resized")};var $d="data-element-id";function $r(e){this._elements={},this._eventBus=e}$r.$inject=["eventBus"],$r.prototype.add=function(e,n,t){var i=e.id;this._validateId(i),ge(n,$d,i),t&&ge(t,$d,i),this._elements[i]={element:e,gfx:n,secondaryGfx:t}},$r.prototype.remove=function(e){var n=this._elements,t=e.id||e,i=t&&n[t];i&&(ge(i.gfx,$d,""),i.secondaryGfx&&ge(i.secondaryGfx,$d,""),delete n[t])},$r.prototype.updateId=function(e,n){this._validateId(n),"string"==typeof e&&(e=this.get(e)),this._eventBus.fire("element.updateId",{element:e,newId:n});var t=this.getGraphics(e),i=this.getGraphics(e,!0);this.remove(e),e.id=n,this.add(e,t,i)},$r.prototype.updateGraphics=function(e,n,t){var i=e.id||e,r=this._elements[i];return t?r.secondaryGfx=n:r.gfx=n,ge(n,$d,i),n},$r.prototype.get=function(e){var n;n="string"==typeof e?e:e&&ge(e,$d);var t=this._elements[n];return t&&t.element},$r.prototype.filter=function(e){var n=[];return this.forEach(function(t,i){e(t,i)&&n.push(t)}),n},$r.prototype.find=function(e){for(var n=this._elements,t=Object.keys(n),i=0;i");return I(new t,n)}(e,n)};var Ov="__fn",ste=Array.prototype.slice;function xr(){this._listeners={},this.on("diagram.destroy",1,this._destroy,this)}function xf(){}function Rv(e){return e.childNodes[0]}function W1(e,n,t,i,r){var o=mf();o.setTranslate(n,t);var a=mf();a.setRotate(i||0,0,0);var s=mf();s.setScale(r||1,r||1),gf(e,[o,a,s])}function sr(e,n,t){var i=mf();i.setTranslate(n,t),gf(e,i)}function JN(e,n){var t=mf();t.setRotate(n,0,0),gf(e,t)}function Ur(e,n){this._eventBus=e,this._elementRegistry=n}function eF(e,n,t){var i=t||n.firstChild;e!==i&&n.insertBefore(e,i)}xr.prototype.on=function(e,n,t,i){if(e=Lt(e)?e:[e],Gi(n)&&(i=t,t=n,n=1e3),!yt(n))throw new Error("priority must be a number");var r=t;i&&((r=Wi(t,i))[Ov]=t[Ov]||t);var o=this;e.forEach(function(a){o._addListener(a,{priority:n,callback:r,next:null})})},xr.prototype.once=function(e,n,t,i){var r=this;if(Gi(n)&&(i=t,t=n,n=1e3),!yt(n))throw new Error("priority must be a number");function o(){o.__isTomb=!0;var a=t.apply(i,arguments);return r.off(e,o),a}o[Ov]=t,this.on(e,n,o)},xr.prototype.off=function(e,n){e=Lt(e)?e:[e];var t=this;e.forEach(function(i){t._removeListener(i,n)})},xr.prototype.createEvent=function(e){var n=new xf;return n.init(e),n},xr.prototype.fire=function(e,n){var t,i,r,o;if(o=ste.call(arguments),"object"==typeof e&&(e=(n=e).type),!e)throw new Error("no event type specified");if(i=this._listeners[e]){t=n instanceof xf?n:this.createEvent(n),o[0]=t;var a=t.type;e!==a&&(t.type=e);try{r=this._invokeListeners(t,o,i)}finally{e!==a&&(t.type=a)}return void 0===r&&t.defaultPrevented&&(r=!1),r}},xr.prototype.handleError=function(e){return!1===this.fire("error",{error:e})},xr.prototype._destroy=function(){this._listeners={}},xr.prototype._invokeListeners=function(e,n,t){for(var i;t&&!e.cancelBubble;)i=this._invokeListener(e,n,t),t=t.next;return i},xr.prototype._invokeListener=function(e,n,t){var i;if(t.callback.__isTomb)return i;try{i=function cte(e,n){return e.apply(null,n)}(t.callback,n),void 0!==i&&(e.returnValue=i,e.stopPropagation()),!1===i&&e.preventDefault()}catch(r){if(!this.handleError(r))throw console.error("unhandled error in event listener",r),r}return i},xr.prototype._addListener=function(e,n){var i,t=this._getListeners(e);if(t){for(;t;){if(t.priority=0}e.forEach(function o(s){i(s)||((s.__depends__||[]).forEach(o),!i(s)&&(function r(s){n.push(s)}(s),(s.__init__||[]).forEach(function(c){t.push(c)})))});var a=new V1(n);return t.forEach(function(s){try{a["string"==typeof s?"get":"invoke"](s)}catch(c){throw console.error("Failed to instantiate component"),console.error(c.stack),c}}),a}([{config:["value",e=e||{}]},dte].concat(e.modules||[]))}(e),this.get=n.get,this.invoke=n.invoke,this.get("eventBus").fire("diagram.init")}function Y1(){}function tF(e,n){this.model=e,this.properties=n}Wd.prototype.destroy=function(){this.get("eventBus").fire("diagram.destroy")},Wd.prototype.clear=function(){this.get("eventBus").fire("diagram.clear")},Y1.prototype.get=function(e){return this.$model.properties.get(this,e)},Y1.prototype.set=function(e,n){this.$model.properties.set(this,e,n)},tF.prototype.createType=function(e){var n=this.model,t=this.properties,i=Object.create(Y1.prototype);R(e.properties,function(a){!a.isMany&&void 0!==a.default&&(i[a.name]=a.default)}),t.defineModel(i,n),t.defineDescriptor(i,e);var r=e.ns.name;function o(a){t.define(this,"$type",{value:r,enumerable:!0}),t.define(this,"$attrs",{value:{}}),t.define(this,"$parent",{writable:!0}),R(a,Wi(function(s,c){this.set(c,s)},this))}return o.prototype=i,o.hasType=i.$instanceOf=this.model.hasType,t.defineModel(o,n),t.defineDescriptor(o,e),o};var fte={String:!0,Boolean:!0,Integer:!0,Real:!0,Element:!0},nF={String:function(e){return e},Boolean:function(e){return"true"===e},Integer:function(e){return parseInt(e,10)},Real:function(e){return parseFloat(e)}};function q1(e,n){var t=nF[e];return t?t(n):n}function K1(e){return!!fte[e]}function iF(e){return!!nF[e]}function cr(e,n){var i,r,t=e.split(/:/);if(1===t.length)i=e,r=n;else{if(2!==t.length)throw new Error("expected or , got "+e);i=t[1],r=t[0]}return{name:e=(r?r+":":"")+i,prefix:r,localName:i}}function ho(e){this.ns=e,this.name=e.name,this.allTypes=[],this.allTypesByName={},this.properties=[],this.propertiesByName={}}function Ws(e,n){this.packageMap={},this.typeMap={},this.packages=[],this.properties=n,R(e,Wi(this.registerPackage,this))}function rF(e,n,t){var i=n[t];if(i in e)throw new Error("package with "+t+" <"+i+"> already defined")}function Yd(e){this.model=e}function oF(e,n,t){Object.defineProperty(e,n.name,{enumerable:!n.isReference,writable:!0,value:t,configurable:!0})}function fo(e){this.properties=new Yd(this),this.factory=new tF(this,this.properties),this.registry=new Ws(e,this.properties),this.typeCache={}}ho.prototype.build=function(){return jr(this,["ns","name","allTypes","allTypesByName","properties","propertiesByName","bodyProperty","idProperty"])},ho.prototype.addProperty=function(e,n,t){"boolean"==typeof n&&(t=n,n=void 0),this.addNamedProperty(e,!1!==t);var i=this.properties;void 0!==n?i.splice(n,0,e):i.push(e)},ho.prototype.replaceProperty=function(e,n,t){var i=e.ns,r=this.properties,o=this.propertiesByName,a=e.name!==n.name;if(e.isId){if(!n.isId)throw new Error("property <"+n.ns.name+"> must be id property to refine <"+e.ns.name+">");this.setIdProperty(n,!1)}if(e.isBody){if(!n.isBody)throw new Error("property <"+n.ns.name+"> must be body property to refine <"+e.ns.name+">");this.setBodyProperty(n,!1)}var s=r.indexOf(e);if(-1===s)throw new Error("property <"+i.name+"> not found in property list");r.splice(s,1),this.addProperty(n,t?void 0:s,a),o[i.name]=o[i.localName]=n},ho.prototype.redefineProperty=function(e,n,t){var i=e.ns.prefix,r=n.split("#"),o=cr(r[0],i),a=cr(r[1],o.prefix).name,s=this.propertiesByName[a];if(!s)throw new Error("refined property <"+a+"> not found");this.replaceProperty(s,e,t),delete e.redefines},ho.prototype.addNamedProperty=function(e,n){var t=e.ns,i=this.propertiesByName;n&&(this.assertNotDefined(e,t.name),this.assertNotDefined(e,t.localName)),i[t.name]=i[t.localName]=e},ho.prototype.removeNamedProperty=function(e){var n=e.ns,t=this.propertiesByName;delete t[n.name],delete t[n.localName]},ho.prototype.setBodyProperty=function(e,n){if(n&&this.bodyProperty)throw new Error("body property defined multiple times (<"+this.bodyProperty.ns.name+">, <"+e.ns.name+">)");this.bodyProperty=e},ho.prototype.setIdProperty=function(e,n){if(n&&this.idProperty)throw new Error("id property defined multiple times (<"+this.idProperty.ns.name+">, <"+e.ns.name+">)");this.idProperty=e},ho.prototype.assertNotDefined=function(e,n){var t=e.name,i=this.propertiesByName[t];if(i)throw new Error("property <"+t+"> already defined; override of <"+i.definedBy.ns.name+"#"+i.ns.name+"> by <"+e.definedBy.ns.name+"#"+e.ns.name+"> not allowed without redefines")},ho.prototype.hasProperty=function(e){return this.propertiesByName[e]},ho.prototype.addTrait=function(e,n){var t=this.allTypesByName,i=this.allTypes,r=e.name;r in t||(R(e.properties,Wi(function(o){o=I({},o,{name:o.ns.localName,inherited:n}),Object.defineProperty(o,"definedBy",{value:e});var a=o.replaces,s=o.redefines;a||s?this.redefineProperty(o,a||s,a):(o.isBody&&this.setBodyProperty(o),o.isId&&this.setIdProperty(o),this.addProperty(o))},this)),i.push(e),t[r]=e)},Ws.prototype.getPackage=function(e){return this.packageMap[e]},Ws.prototype.getPackages=function(){return this.packages},Ws.prototype.registerPackage=function(e){e=I({},e);var n=this.packageMap;rF(n,e,"prefix"),rF(n,e,"uri"),R(e.types,Wi(function(t){this.registerType(t,e)},this)),n[e.uri]=n[e.prefix]=e,this.packages.push(e)},Ws.prototype.registerType=function(e,n){var t=cr((e=I({},e,{superClass:(e.superClass||[]).slice(),extends:(e.extends||[]).slice(),properties:(e.properties||[]).slice(),meta:I(e.meta||{})})).name,n.prefix),i=t.name,r={};R(e.properties,Wi(function(o){var a=cr(o.name,t.prefix),s=a.name;K1(o.type)||(o.type=cr(o.type,a.prefix).name),I(o,{ns:a,name:s}),r[s]=o},this)),I(e,{ns:t,name:i,propertiesByName:r}),R(e.extends,Wi(function(o){var a=this.typeMap[o];a.traits=a.traits||[],a.traits.push(i)},this)),this.definePackage(e,n),this.typeMap[i]=e},Ws.prototype.mapTypes=function(e,n,t){var i=K1(e.name)?{name:e.name}:this.typeMap[e.name],r=this;function o(s){return a(s,!0)}function a(s,c){var l=cr(s,K1(s)?"":e.prefix);r.mapTypes(l,n,c)}if(!i)throw new Error("unknown type <"+e.name+">");R(i.superClass,t?o:a),n(i,!t),R(i.traits,o)},Ws.prototype.getEffectiveDescriptor=function(e){var n=cr(e),t=new ho(n);this.mapTypes(n,function(r,o){t.addTrait(r,o)});var i=t.build();return this.definePackage(i,i.allTypes[i.allTypes.length-1].$pkg),i},Ws.prototype.definePackage=function(e,n){this.properties.define(e,"$pkg",{value:n})},Yd.prototype.set=function(e,n,t){if(!Vr(n)||!n.length)throw new TypeError("property name must be a non-empty string");var i=this.model.getPropertyDescriptor(e,n),r=i&&i.name;!function pte(e){return typeof e>"u"}(t)?i?r in e?e[r]=t:oF(e,i,t):e.$attrs[n]=t:i?delete e[r]:delete e.$attrs[n]},Yd.prototype.get=function(e,n){var t=this.model.getPropertyDescriptor(e,n);if(!t)return e.$attrs[n];var i=t.name;return!e[i]&&t.isMany&&oF(e,t,[]),e[i]},Yd.prototype.define=function(e,n,t){if(!t.writable){var i=t.value;delete(t=I({},t,{get:function(){return i}})).value}Object.defineProperty(e,n,t)},Yd.prototype.defineDescriptor=function(e,n){this.define(e,"$descriptor",{value:n})},Yd.prototype.defineModel=function(e,n){this.define(e,"$model",{value:n})},fo.prototype.create=function(e,n){var t=this.getType(e);if(!t)throw new Error("unknown type <"+e+">");return new t(n)},fo.prototype.getType=function(e){var n=this.typeCache,t=Vr(e)?e:e.ns.name,i=n[t];return i||(e=this.registry.getEffectiveDescriptor(t),i=n[t]=this.factory.createType(e)),i},fo.prototype.createAny=function(e,n,t){var i=cr(e),r={$type:e,$instanceOf:function(a){return a===this.$type}};return this.properties.defineDescriptor(r,{name:e,isGeneric:!0,ns:{prefix:i.prefix,localName:i.localName,uri:n}}),this.properties.defineModel(r,this),this.properties.define(r,"$parent",{enumerable:!1,writable:!0}),this.properties.define(r,"$instanceOf",{enumerable:!1,writable:!0}),R(t,function(a,s){si(a)&&void 0!==a.value?r[a.name]=a.value:r[s]=a}),r},fo.prototype.getPackage=function(e){return this.registry.getPackage(e)},fo.prototype.getPackages=function(){return this.registry.getPackages()},fo.prototype.getElementDescriptor=function(e){return e.$descriptor},fo.prototype.hasType=function(e,n){return void 0===n&&(n=e,e=this),n in e.$model.getElementDescriptor(e).allTypesByName},fo.prototype.getPropertyDescriptor=function(e,n){return this.getElementDescriptor(e).propertiesByName[n]},fo.prototype.getTypeDescriptor=function(e){return this.registry.typeMap[e]};var aF=String.fromCharCode,mte=Object.prototype.hasOwnProperty,gte=/&#(\d+);|&#x([0-9a-f]+);|&(\w+);/gi,wf={amp:"&",apos:"'",gt:">",lt:"<",quot:'"'};function vte(e,n,t,i){return i?mte.call(wf,i)?wf[i]:"&"+i+";":aF(n||parseInt(t,16))}function qc(e){return e.length>3&&-1!==e.indexOf("&")?e.replace(gte,vte):e}Object.keys(wf).forEach(function(e){wf[e.toUpperCase()]=wf[e]});var sF="xsi:type",cF="non-whitespace outside of root node";function qd(e){return new Error(e)}function lF(e){return"missing namespace for prefix <"+e+">"}function Pv(e){return{get:e,enumerable:!0}}function bte(e){var t,n={};for(t in e)n[t]=e[t];return n}function X1(e){return e+"$uri"}function dF(){return{line:0,column:0}}function wte(e){throw e}function uF(e){if(!this)return new uF(e);var t,i,r,o,s,c,l,d,v,n=e&&e.proxy,a=wte,u=dF,h=!1,f=!1,p=null,g=!1;function k(x){x instanceof Error||(x=qd(x)),p=x,a(x,u)}function E(x){s&&(x instanceof Error||(x=qd(x)),s(x,u))}this.on=function(x,D){if("function"!=typeof D)throw qd("required args ");switch(x){case"openTag":i=D;break;case"text":t=D;break;case"closeTag":r=D;break;case"error":a=D;break;case"warn":s=D;break;case"cdata":o=D;break;case"attention":d=D;break;case"question":l=D;break;case"comment":c=D;break;default:throw qd("unsupported event: "+x)}return this},this.ns=function(x){if(typeof x>"u"&&(x={}),"object"!=typeof x)throw qd("required args ");var P,D={};for(P in x)D[P]=x[P];return D["http://www.w3.org/2001/XMLSchema-instance"]="xsi",f=!0,v=D,this},this.parse=function(x){if("string"!=typeof x)throw qd("required args ");return p=null,function C(x){var V,je,Ht,fe,ve,_,m,S,A,z,Ne,D=f?[]:null,P=f?function xte(e){var t,i,n={};for(t in e)n[i=e[t]]=i,n[X1(i)]=t;return n}(v):null,F=[],Q=0,be=!1,He=!1,de=0,we=0,L="",$=0;function ut(){if(null!==Ne)return Ne;var xn,gn,Sn,ky,sc,di,Ta,wn,Zo,lt,vn,ur=f&&P.xmlns,Eo=f&&h?[]:null,Rn=$,Ei=L,ms=Ei.length,Cu={},F6={};e:for(;Rn8)){for((lt<65||lt>122||lt>90&<<97)&&95!==lt&&58!==lt&&(E("illegal first char attribute name"),Zo=!0),vn=Rn+1;vn96&<<123||lt>64&<<91||lt>47&<<59||46===lt||45===lt||95===lt)){if(32===lt||lt<14&<>8){E("missing attribute value"),Rn=vn;continue e}if(61===lt)break;E("illegal attribute name char"),Zo=!0}if("xmlns:xmlns"===(wn=Ei.substring(Rn,vn))&&(E("illegal declaration of xmlns"),Zo=!0),34===(lt=Ei.charCodeAt(vn+1)))-1===(vn=Ei.indexOf('"',Rn=vn+2))&&-1!==(vn=Ei.indexOf("'",Rn))&&(E("attribute value quote missmatch"),Zo=!0);else if(39===lt)-1===(vn=Ei.indexOf("'",Rn=vn+2))&&-1!==(vn=Ei.indexOf('"',Rn))&&(E("attribute value quote missmatch"),Zo=!0);else for(E("missing attribute value quotes"),Zo=!0,vn+=1;vn8);vn++);for(-1===vn&&(E("missing closing quotes"),vn=ms,Zo=!0),Zo||(di=Ei.substring(Rn,vn)),Rn=vn;vn+18);vn++)Rn===vn&&(E("illegal character after attribute end"),Zo=!0);if(Rn=vn+1,Zo)continue e;if(wn in F6){E("attribute <"+wn+"> already defined");continue}if(F6[wn]=!0,!f){Cu[wn]=di;continue}if(h){if(null!==(sc="xmlns"===wn?"xmlns":120===wn.charCodeAt(0)&&"xmlns:"===wn.substr(0,6)?wn.substr(6):null)){if(xn=qc(di),gn=X1(sc),!(Ta=v[xn])){if("xmlns"===sc||gn in P&&P[gn]!==xn)do{Ta="ns"+Q++}while(typeof P[Ta]<"u");else Ta=sc;v[xn]=Ta}P[sc]!==Ta&&(ky||(P=bte(P),ky=!0),P[sc]=Ta,"xmlns"===sc&&(P[X1(Ta)]=xn,ur=Ta),P[gn]=xn),Cu[wn]=di;continue}Eo.push(wn,di);continue}if(-1===(lt=wn.indexOf(":"))){Cu[wn]=di;continue}if(!(Sn=P[wn.substring(0,lt)])){E(lF(wn.substring(0,lt)));continue}(wn=ur===Sn?wn.substr(lt+1):Sn+wn.substr(lt))===sF&&(-1!==(lt=di.indexOf(":"))?(Sn=di.substring(0,lt),di=(Sn=P[Sn]||Sn)+di.substring(lt)):di=ur+":"+di),Cu[wn]=di}if(h)for(Rn=0,ms=Eo.length;Rn=ur&&(Rn=xn.exec(x))&&!((Eo=Rn[0].length+Rn.index)>de);)gn+=1,ur=Eo;return-1==de?(Sn=Eo,Ei=x.substring(we)):0===we?Ei=x.substring(we,de):(Sn=de-ur,Ei=-1==we?x.substring(de):x.substring(de,we+1)),{data:Ei,line:gn,column:Sn}},n&&(z=Object.create({},{name:Pv(function(){return S}),originalName:Pv(function(){return A}),attrs:Pv(ut),ns:Pv(function(){return P})}));-1!==we;){if(-1===(de=60===x.charCodeAt(we)?we:x.indexOf("<",we)))return F.length?k("unexpected end of file"):0===we?k("missing start tag"):void(we",de)))return k("unclosed cdata");if(o&&(o(x.substring(de+9,we),u),g))return;we+=3;continue}if(45===fe&&45===x.charCodeAt(de+3)){if(-1===(we=x.indexOf("--\x3e",de)))return k("unclosed comment");if(c&&(c(x.substring(de+4,we),qc,u),g))return;we+=3;continue}}if(63!==ve){for(je=de+1;;je++){if(_=x.charCodeAt(je),isNaN(_))return we=-1,k("unclosed tag");if(34===_)je=-1!==(fe=x.indexOf('"',je+1))?fe:je;else if(39===_)je=-1!==(fe=x.indexOf("'",je+1))?fe:je;else if(62===_){we=je;break}}if(33!==ve){if(Ne={},47===ve){if(be=!1,He=!0,!F.length)return k("missing open tag");if(je=S=F.pop(),x.substring(de+2,fe=de+2+je.length)!==je)return k("closing tag mismatch");for(;fe8&&ve<14))return k("close tag")}else{if(47===x.charCodeAt(we-1)?(je=S=x.substring(de+1,we-1),be=!0,He=!0):(je=S=x.substring(de+1,we),be=!0,He=!1),!(ve>96&&ve<123||ve>64&&ve<91||95===ve||58===ve))return k("illegal first char nodeName");for(fe=1,Ht=je.length;fe96&&ve<123||ve>64&&ve<91||ve>47&&ve<59||45===ve||95===ve||46==ve)){if(32===ve||ve<14&&ve>8){S=je.substring(0,fe),Ne=null;break}return k("invalid nodeName")}He||F.push(S)}if(f){if(V=P,be&&(He||D.push(V),null===Ne&&(h=-1!==je.indexOf("xmlns",fe))&&($=fe,L=je,ut(),h=!1)),A=S,-1!==(ve=S.indexOf(":"))){if(!(m=P[S.substring(0,ve)]))return k("missing namespace on <"+A+">");S=S.substr(ve+1)}else m=P.xmlns;m&&(S=m+":"+S)}if(be&&($=fe,L=je,i&&(n?i(z,qc,He,u):i(S,ut,qc,He,u),g)))return;if(He){if(r&&(r(n?z:S,qc,be,u),g))return;f&&(P=be?V:D.pop())}we+=1}else{if(d&&(d(x.substring(de,we+1),qc,u),g))return;we+=1}}else{if(-1===(we=x.indexOf("?>",de)))return k("unclosed question");if(l&&(l(x.substring(de,we+2),u),g))return;we+=2}}}(x),u=dF,g=!1,p},this.stop=function(){g=!0}}function hF(e){return e.xml&&"lowerCase"===e.xml.tagAlias}var Ete={xsi:"http://www.w3.org/2001/XMLSchema-instance",xml:"http://www.w3.org/XML/1998/namespace"},Nv="xsi:type";function fF(e){return e.xml&&e.xml.serialize}function pF(e){return fF(e)===Nv}function mF(e,n){return hF(n)?e.prefix+":"+function Ste(e){return e.charAt(0).toUpperCase()+e.slice(1)}(e.localName):e.name}function Ys(e){return new Error(e)}function is(e){return e.$descriptor}function Tte(e){I(this,e),this.elementsById={},this.references=[],this.warnings=[],this.addReference=function(n){this.references.push(n)},this.addElement=function(n){if(!n)throw Ys("expected element");var o,t=this.elementsById,r=is(n).idProperty;if(r&&(o=n.get(r.name))){if(!/^([a-z][\w-.]*:)?[a-z_][\w-.]*$/i.test(o))throw new Error("illegal ID <"+o+">");if(t[o])throw Ys("duplicate ID <"+o+">");t[o]=n}},this.addWarning=function(n){this.warnings.push(n)}}function Ef(){}function Z1(){}function Kd(){}function Cf(e,n){this.property=e,this.context=n}function Q1(e,n){this.element=n,this.propertyDesc=e}function Fv(){}function Yi(e,n,t){this.model=e,this.type=e.getType(n),this.context=t}function J1(e,n,t){Yi.call(this,e,n,t)}function Xd(e,n,t){this.model=e,this.context=t}function eE(e){e instanceof fo&&(e={model:e}),I(this,{lax:!1},e)}Ef.prototype.handleEnd=function(){},Ef.prototype.handleText=function(){},Ef.prototype.handleNode=function(){},(Z1.prototype=Object.create(Ef.prototype)).handleNode=function(){return this},(Kd.prototype=Object.create(Ef.prototype)).handleText=function(e){this.body=(this.body||"")+e},(Cf.prototype=Object.create(Kd.prototype)).handleNode=function(e){if(this.element)throw Ys("expected no sub nodes");return this.element=this.createReference(e),this},Cf.prototype.handleEnd=function(){this.element.id=this.body},Cf.prototype.createReference=function(e){return{property:this.property.ns.name,id:""}},(Q1.prototype=Object.create(Kd.prototype)).handleEnd=function(){var e=this.body||"",n=this.element,t=this.propertyDesc;e=q1(t.type,e),t.isMany?n.get(t.name).push(e):n.set(t.name,e)},(Fv.prototype=Object.create(Kd.prototype)).handleNode=function(e){var n=this,t=this.element;return t?n=this.handleChild(e):(t=this.element=this.createElement(e),this.context.addElement(t)),n},(Yi.prototype=Object.create(Fv.prototype)).addReference=function(e){this.context.addReference(e)},Yi.prototype.handleText=function(e){if(!is(this.element).bodyProperty)throw Ys("unexpected body text <"+e+">");Kd.prototype.handleText.call(this,e)},Yi.prototype.handleEnd=function(){var e=this.body,n=this.element,i=is(n).bodyProperty;i&&void 0!==e&&(e=q1(i.type,e),n.set(i.name,e))},Yi.prototype.createElement=function(e){var s,n=e.attributes,t=this.type,i=is(t),r=this.context,o=new t({}),a=this.model;return R(n,function(c,l){var d=i.propertiesByName[l];d&&d.isReference?d.isMany?R(c.split(" "),function(h){r.addReference({element:o,property:d.ns.name,id:h})}):r.addReference({element:o,property:d.ns.name,id:c}):(d?c=q1(d.type,c):"xmlns"!==l&&(s=cr(l,i.ns.prefix),a.getPackage(s.prefix)&&r.addWarning({message:"unknown attribute <"+l+">",element:o,property:l,value:c})),o.set(l,c))}),o},Yi.prototype.getPropertyForNode=function(e){var c,l,t=cr(e.name),r=this.model,o=is(this.type),s=o.propertiesByName[t.name];if(s&&!s.isAttr)return pF(s)&&(c=e.attributes[Nv])?(c=function kte(e,n){var t=cr(e);return function Dte(e,n){var t=e.name,i=e.localName,r=n.xml&&n.xml.typePrefix;return r&&0===i.indexOf(r)?e.prefix+":"+i.slice(r.length):t}(t,n.getPackage(t.prefix))}(c,r),I({},s,{effectiveType:is(l=r.getType(c)).name})):s;var d=r.getPackage(t.prefix);if(d){if(c=mF(t,d),l=r.getType(c),s=on(o.properties,function(u){return!u.isVirtual&&!u.isReference&&!u.isAttribute&&l.hasType(u.type)}))return I({},s,{effectiveType:is(l).name})}else if(s=on(o.properties,function(u){return!u.isReference&&!u.isAttribute&&"Element"===u.type}))return s;throw Ys("unrecognized element <"+t.name+">")},Yi.prototype.toString=function(){return"ElementDescriptor["+is(this.type).name+"]"},Yi.prototype.valueHandler=function(e,n){return new Q1(e,n)},Yi.prototype.referenceHandler=function(e){return new Cf(e,this.context)},Yi.prototype.handler=function(e){return"Element"===e?new Xd(this.model,e,this.context):new Yi(this.model,e,this.context)},Yi.prototype.handleChild=function(e){var n,t,i,r;if(n=this.getPropertyForNode(e),i=this.element,iF(t=n.effectiveType||n.type))return this.valueHandler(n,i);var o=(r=n.isReference?this.referenceHandler(n).handleNode(e):this.handler(t).handleNode(e)).element;return void 0!==o&&(n.isMany?i.get(n.name).push(o):i.set(n.name,o),n.isReference?(I(o,{element:i}),this.context.addReference(o)):o.$parent=i),r},(J1.prototype=Object.create(Yi.prototype)).createElement=function(e){var n=e.name,t=cr(n),r=this.type,o=this.model.getPackage(t.prefix),a=o&&mF(t,o)||n;if(!r.hasType(a))throw Ys("unexpected element <"+e.originalName+">");return Yi.prototype.createElement.call(this,e)},(Xd.prototype=Object.create(Fv.prototype)).createElement=function(e){var n=e.name,t=cr(n);return this.model.createAny(n,e.ns[t.prefix+"$uri"],e.attributes)},Xd.prototype.handleChild=function(e){var n=new Xd(this.model,"Element",this.context).handleNode(e),t=this.element,i=n.element;return void 0!==i&&((t.$children=t.$children||[]).push(i),i.$parent=t),n},Xd.prototype.handleEnd=function(){this.body&&(this.element.$body=this.body)},eE.prototype.fromXML=function(e,n,t){var i=n.rootHandler;n instanceof Yi?(i=n,n={}):"string"==typeof n?(i=this.handler(n),n={}):"string"==typeof i&&(i=this.handler(i));var r=this.model,o=this.lax,a=new Tte(I({},n,{rootHandler:i})),s=new uF({proxy:!0}),c=function Ate(){var e=[];return Object.defineProperty(e,"peek",{value:function(){return this[this.length-1]}}),e}();function l(D,P,V){var F=P(),Q=F.line,be=F.column,He=F.data;"<"===He.charAt(0)&&-1!==He.indexOf(" ")&&(He=He.slice(0,He.indexOf(" "))+">");var de="unparsable content "+(He?He+" ":"")+"detected\n\tline: "+Q+"\n\tcolumn: "+be+"\n\tnested error: "+D.message;if(V)return a.addWarning({message:de,error:D}),!0;throw Ys(de)}function d(D,P){return l(D,P,!0)}i.context=a,c.push(i);var f=/^<\?xml /i,p=/ encoding="([^"]+)"/i,g=/^utf-8$/i;function E(D,P){try{c.peek().handleText(D)}catch(V){d(V,P)}}var x=r.getPackages().reduce(function(D,P){return D[P.uri]=P.prefix,D},{"http://www.w3.org/XML/1998/namespace":"xml"});return s.ns(x).on("openTag",function(D,P,V,F){var Q=D.attrs||{},be=Object.keys(Q).reduce(function(de,we){var je=P(Q[we]);return de[we]=je,de},{});!function k(D,P){var V=c.peek();try{c.push(V.handleNode(D))}catch(F){l(F,P,o)&&c.push(new Z1)}}({name:D.name,originalName:D.originalName,attributes:be,ns:D.ns},F)}).on("question",function v(D){if(f.test(D)){var P=p.exec(D),V=P&&P[1];!V||g.test(V)||a.addWarning({message:"unsupported document encoding <"+V+">, falling back to UTF-8"})}}).on("closeTag",function h(){c.pop().handleEnd()}).on("cdata",E).on("text",function(D,P,V){!function C(D,P){D.trim()&&E(D,P)}(P(D),V)}).on("error",l).on("warn",d),new Promise(function(D,P){var V;try{s.parse(e),function u(){var V,F,D=a.elementsById,P=a.references;for(V=0;F=P[V];V++){var Q=F.element,be=D[F.id],He=is(Q).propertiesByName[F.property];if(be||a.addWarning({message:"unresolved reference <"+F.id+">",element:F.element,property:F.property,value:F.id}),He.isMany){var de=Q.get(He.name),we=de.indexOf(F);-1===we&&(we=de.length),be?de[we]=be:de.splice(we,1)}else Q.set(He.name,be)}}()}catch(de){V=de}var F=i.element;!V&&!F&&(V=Ys("failed to parse document as <"+i.type.$descriptor.name+">"));var Q=a.warnings,be=a.references,He=a.elementsById;return V?(V.warnings=Q,P(V)):D({rootElement:F,elementsById:He,references:be,warnings:Q})})},eE.prototype.handler=function(e){return new J1(this.model,e)};var Ite=/<|>|'|"|&|\n\r|\n/g,gF=/<|>|&/g;function Ote(e){var n={},t={},i={},r=[],o=[];this.byUri=function(a){return t[a]||e&&e.byUri(a)},this.add=function(a,s){t[a.uri]=a,s?r.push(a):o.push(a),this.mapPrefix(a.prefix,a.uri)},this.uriByPrefix=function(a){return n[a||"xmlns"]},this.mapPrefix=function(a,s){n[a||"xmlns"]=s},this.getNSKey=function(a){return void 0!==a.prefix?a.uri+"|"+a.prefix:a.uri},this.logUsed=function(a){var s=a.uri,c=this.getNSKey(a);i[c]=this.byUri(s),e&&e.logUsed(a)},this.getUsed=function(a){var c=this;return[].concat(r,o).filter(function s(d){var u=c.getNSKey(d);return i[u]})}}function Pte(e,n){return hF(n)?function Rte(e){return e.charAt(0).toLowerCase()+e.slice(1)}(e):e}function vF(e,n){e.super_=n,e.prototype=Object.create(n.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}})}function _F(e){return Vr(e)?e:(e.prefix?e.prefix+":":"")+e.localName}var Vte={"\n":"#10","\n\r":"#10",'"':"#34","'":"#39","<":"#60",">":"#62","&":"#38"},jte={"<":"lt",">":"gt","&":"amp"};function yF(e,n,t){return(e=Vr(e)?e:""+e).replace(n,function(i){return"&"+t[i]+";"})}function tE(e){this.tagName=e}function Kc(){}function nE(e){this.tagName=e}function Vn(e,n){this.body=[],this.attrs=[],this.parent=e,this.propertyDescriptor=n}function Lv(e,n){Vn.call(this,e,n)}function Gte(){this.value="",this.write=function(e){this.value+=e}}function Wte(e,n){var t=[""];this.append=function(i){return e.write(i),this},this.appendNewLine=function(){return n&&e.write("\n"),this},this.appendIndent=function(){return n&&e.write(t.join(" ")),this},this.indent=function(){return t.push(""),this},this.unindent=function(){return t.pop(),this}}function Yte(e){return e=I({format:!1,preamble:!0},e||{}),{toXML:function n(t,i){var r=i||new Gte,o=new Wte(r,e.format);if(e.preamble&&o.append('\n'),(new Vn).build(t).serializeTo(o),!i)return r.value}}}function Bv(e,n){fo.call(this,e,n)}tE.prototype.build=function(e){return this.element=e,this},tE.prototype.serializeTo=function(e){e.appendIndent().append("<"+this.tagName+">"+this.element.id+"").appendNewLine()},Kc.prototype.serializeValue=Kc.prototype.serializeTo=function(e){e.append(this.escape?function Hte(e){return yF(e,gF,jte)}(this.value):this.value)},Kc.prototype.build=function(e,n){return this.value=n,"String"===e.type&&-1!==n.search(gF)&&(this.escape=!0),this},vF(nE,Kc),nE.prototype.serializeTo=function(e){e.appendIndent().append("<"+this.tagName+">"),this.serializeValue(e),e.append("").appendNewLine()},Vn.prototype.build=function(e){this.element=e;var i,r,n=e.$descriptor,t=this.propertyDescriptor,o=n.isGeneric;return i=o?this.parseGeneric(e):this.parseNsAttributes(e),this.ns=t?this.nsPropertyTagName(t):this.nsTagName(n),this.tagName=this.addTagName(this.ns),o||(r=function Bte(e){return St(e.$descriptor.properties,function(t){var i=t.name;if(t.isVirtual||!Ja(e,i))return!1;var r=e[i];return r!==t.default&&null!==r&&(!t.isMany||r.length)})}(e),this.parseAttributes(function $te(e){return St(e,function(n){return n.isAttr})}(r)),this.parseContainments(function Ute(e){return St(e,function(n){return!n.isAttr})}(r))),this.parseGenericAttributes(e,i),this},Vn.prototype.nsTagName=function(e){return function Fte(e,n){return I(n.isGeneric?{localName:n.ns.localName}:{localName:Pte(n.ns.localName,n.$pkg)},e)}(this.logNamespaceUsed(e.ns),e)},Vn.prototype.nsPropertyTagName=function(e){return function Lte(e,n){return I({localName:n.ns.localName},e)}(this.logNamespaceUsed(e.ns),e)},Vn.prototype.isLocalNs=function(e){return e.uri===this.ns.uri},Vn.prototype.nsAttributeName=function(e){var n;if(n=Vr(e)?cr(e):e.ns,e.inherited)return{localName:n.localName};var t=this.logNamespaceUsed(n);return this.getNamespaces().logUsed(t),this.isLocalNs(t)?{localName:n.localName}:I({localName:n.localName},t)},Vn.prototype.parseGeneric=function(e){var n=this,t=this.body,i=[];return R(e,function(r,o){"$body"===o?t.push((new Kc).build({type:"String"},r)):"$children"===o?R(r,function(s){t.push(new Vn(n).build(s))}):0!==o.indexOf("$")&&n.parseNsAttribute(e,o,r)&&i.push({name:o,value:r})}),i},Vn.prototype.parseNsAttribute=function(e,n,t){var o,i=e.$model,r=cr(n);if("xmlns"===r.prefix&&(o={prefix:r.localName,uri:t}),!r.prefix&&"xmlns"===r.localName&&(o={uri:t}),!o)return{name:n,value:t};if(i&&i.getPackage(t))this.logNamespace(o,!0,!0);else{var a=this.logNamespaceUsed(o,!0);this.getNamespaces().logUsed(a)}},Vn.prototype.parseNsAttributes=function(e,n){var t=this,r=[];return R(e.$attrs,function(o,a){var s=t.parseNsAttribute(e,a,o);s&&r.push(s)}),r},Vn.prototype.parseGenericAttributes=function(e,n){var t=this;R(n,function(i){if(i.name!==Nv)try{t.addAttribute(t.nsAttributeName(i.name),i.value)}catch(r){console.warn("missing namespace information for ",i.name,"=",i.value,"on",e,r)}})},Vn.prototype.parseContainments=function(e){var n=this,t=this.body,i=this.element;R(e,function(r){var o=i.get(r.name),a=r.isReference;if(r.isMany||(o=[o]),r.isBody)t.push((new Kc).build(r,o[0]));else if(iF(r.type))R(o,function(d){t.push(new nE(n.addTagName(n.nsPropertyTagName(r))).build(r,d))});else if(a)R(o,function(d){t.push(new tE(n.addTagName(n.nsPropertyTagName(r))).build(d))});else{var c=pF(r),l=function Cte(e){return"property"===fF(e)}(r);R(o,function(d){var u;u=c?new Lv(n,r):l?new Vn(n,r):new Vn(n),t.push(u.build(d))})}})},Vn.prototype.getNamespaces=function(e){var i,n=this.namespaces,t=this.parent;return n||(i=t&&t.getNamespaces(),e||!i?this.namespaces=n=new Ote(i):n=i),n},Vn.prototype.logNamespace=function(e,n,t){var i=this.getNamespaces(t),r=e.uri,o=e.prefix;return(!i.byUri(r)||t)&&i.add(e,n),i.mapPrefix(o,r),e},Vn.prototype.logNamespaceUsed=function(e,n){var s,c,l,i=this.element.$model,r=this.getNamespaces(n),o=e.prefix,a=e.uri;if(!o&&!a)return{localName:e.localName};if(l=Ete[o]||i&&(i.getPackage(o)||{}).uri,!(a=a||l||r.uriByPrefix(o)))throw new Error("no namespace uri given for prefix <"+o+">");if(!(e=r.byUri(a))){for(s=o,c=1;r.uriByPrefix(s);)s=o+"_"+c++;e=this.logNamespace({prefix:s,uri:a},l===a)}return o&&r.mapPrefix(o,a),e},Vn.prototype.parseAttributes=function(e){var n=this,t=this.element;R(e,function(i){var r=t.get(i.name);if(i.isReference)if(i.isMany){var o=[];R(r,function(a){o.push(a.id)}),r=o.join(" ")}else r=r.id;n.addAttribute(n.nsAttributeName(i),r)})},Vn.prototype.addTagName=function(e){var n=this.logNamespaceUsed(e);return this.getNamespaces().logUsed(n),_F(e)},Vn.prototype.addAttribute=function(e,n){var t=this.attrs;Vr(n)&&(n=function zte(e){return yF(e,Ite,Vte)}(n));var i=hN(t,function(o){return o.name.localName===e.localName&&o.name.uri===e.uri&&o.name.prefix===e.prefix}),r={name:e,value:n};-1!==i?t.splice(i,1,r):t.push(r)},Vn.prototype.serializeAttributes=function(e){var n=this.attrs,t=this.namespaces;t&&(n=function Nte(e){return e.getUsed().filter(function(n){return"xml"!==n.prefix}).map(function(n){return{name:"xmlns"+(n.prefix?":"+n.prefix:""),value:n.uri}})}(t).concat(n)),R(n,function(i){e.append(" ").append(_F(i.name)).append('="').append(i.value).append('"')})},Vn.prototype.serializeTo=function(e){var n=this.body[0],t=n&&n.constructor!==Kc;e.appendIndent().append("<"+this.tagName),this.serializeAttributes(e),e.append(n?">":" />"),n&&(t&&e.appendNewLine().indent(),R(this.body,function(i){i.serializeTo(e)}),t&&e.unindent().appendIndent(),e.append("")),e.appendNewLine()},vF(Lv,Vn),Lv.prototype.parseNsAttributes=function(e){var n=Vn.prototype.parseNsAttributes.call(this,e),t=e.$descriptor;if(t.name===this.propertyDescriptor.type)return n;var i=this.typeNs=this.nsTagName(t);this.getNamespaces().logUsed(this.typeNs);var r=e.$model.getPackage(i.uri),o=r.xml&&r.xml.typePrefix||"";return this.addAttribute(this.nsAttributeName(Nv),(i.prefix?i.prefix+":":"")+o+t.ns.localName),n},Lv.prototype.isLocalNs=function(e){return e.uri===(this.typeNs||this.ns).uri},(Bv.prototype=Object.create(fo.prototype)).fromXML=function(e,n,t){Vr(n)||(t=n,n="bpmn:Definitions");var i=new eE(I({model:this,lax:!0},t)),r=i.handler(n);return i.fromXML(e,r)},Bv.prototype.toXML=function(e,n){var t=new Yte(n);return new Promise(function(i,r){try{return i({xml:t.toXML(e)})}catch(a){return r(a)}})};var Fne={bpmn:{name:"BPMN20",uri:"http://www.omg.org/spec/BPMN/20100524/MODEL",prefix:"bpmn",associations:[],types:[{name:"Interface",superClass:["RootElement"],properties:[{name:"name",isAttr:!0,type:"String"},{name:"operations",type:"Operation",isMany:!0},{name:"implementationRef",isAttr:!0,type:"String"}]},{name:"Operation",superClass:["BaseElement"],properties:[{name:"name",isAttr:!0,type:"String"},{name:"inMessageRef",type:"Message",isReference:!0},{name:"outMessageRef",type:"Message",isReference:!0},{name:"errorRef",type:"Error",isMany:!0,isReference:!0},{name:"implementationRef",isAttr:!0,type:"String"}]},{name:"EndPoint",superClass:["RootElement"]},{name:"Auditing",superClass:["BaseElement"]},{name:"GlobalTask",superClass:["CallableElement"],properties:[{name:"resources",type:"ResourceRole",isMany:!0}]},{name:"Monitoring",superClass:["BaseElement"]},{name:"Performer",superClass:["ResourceRole"]},{name:"Process",superClass:["FlowElementsContainer","CallableElement"],properties:[{name:"processType",type:"ProcessType",isAttr:!0},{name:"isClosed",isAttr:!0,type:"Boolean"},{name:"auditing",type:"Auditing"},{name:"monitoring",type:"Monitoring"},{name:"properties",type:"Property",isMany:!0},{name:"laneSets",isMany:!0,replaces:"FlowElementsContainer#laneSets",type:"LaneSet"},{name:"flowElements",isMany:!0,replaces:"FlowElementsContainer#flowElements",type:"FlowElement"},{name:"artifacts",type:"Artifact",isMany:!0},{name:"resources",type:"ResourceRole",isMany:!0},{name:"correlationSubscriptions",type:"CorrelationSubscription",isMany:!0},{name:"supports",type:"Process",isMany:!0,isReference:!0},{name:"definitionalCollaborationRef",type:"Collaboration",isAttr:!0,isReference:!0},{name:"isExecutable",isAttr:!0,type:"Boolean"}]},{name:"LaneSet",superClass:["BaseElement"],properties:[{name:"lanes",type:"Lane",isMany:!0},{name:"name",isAttr:!0,type:"String"}]},{name:"Lane",superClass:["BaseElement"],properties:[{name:"name",isAttr:!0,type:"String"},{name:"partitionElementRef",type:"BaseElement",isAttr:!0,isReference:!0},{name:"partitionElement",type:"BaseElement"},{name:"flowNodeRef",type:"FlowNode",isMany:!0,isReference:!0},{name:"childLaneSet",type:"LaneSet",xml:{serialize:"xsi:type"}}]},{name:"GlobalManualTask",superClass:["GlobalTask"]},{name:"ManualTask",superClass:["Task"]},{name:"UserTask",superClass:["Task"],properties:[{name:"renderings",type:"Rendering",isMany:!0},{name:"implementation",isAttr:!0,type:"String"}]},{name:"Rendering",superClass:["BaseElement"]},{name:"HumanPerformer",superClass:["Performer"]},{name:"PotentialOwner",superClass:["HumanPerformer"]},{name:"GlobalUserTask",superClass:["GlobalTask"],properties:[{name:"implementation",isAttr:!0,type:"String"},{name:"renderings",type:"Rendering",isMany:!0}]},{name:"Gateway",isAbstract:!0,superClass:["FlowNode"],properties:[{name:"gatewayDirection",type:"GatewayDirection",default:"Unspecified",isAttr:!0}]},{name:"EventBasedGateway",superClass:["Gateway"],properties:[{name:"instantiate",default:!1,isAttr:!0,type:"Boolean"},{name:"eventGatewayType",type:"EventBasedGatewayType",isAttr:!0,default:"Exclusive"}]},{name:"ComplexGateway",superClass:["Gateway"],properties:[{name:"activationCondition",type:"Expression",xml:{serialize:"xsi:type"}},{name:"default",type:"SequenceFlow",isAttr:!0,isReference:!0}]},{name:"ExclusiveGateway",superClass:["Gateway"],properties:[{name:"default",type:"SequenceFlow",isAttr:!0,isReference:!0}]},{name:"InclusiveGateway",superClass:["Gateway"],properties:[{name:"default",type:"SequenceFlow",isAttr:!0,isReference:!0}]},{name:"ParallelGateway",superClass:["Gateway"]},{name:"RootElement",isAbstract:!0,superClass:["BaseElement"]},{name:"Relationship",superClass:["BaseElement"],properties:[{name:"type",isAttr:!0,type:"String"},{name:"direction",type:"RelationshipDirection",isAttr:!0},{name:"source",isMany:!0,isReference:!0,type:"Element"},{name:"target",isMany:!0,isReference:!0,type:"Element"}]},{name:"BaseElement",isAbstract:!0,properties:[{name:"id",isAttr:!0,type:"String",isId:!0},{name:"documentation",type:"Documentation",isMany:!0},{name:"extensionDefinitions",type:"ExtensionDefinition",isMany:!0,isReference:!0},{name:"extensionElements",type:"ExtensionElements"}]},{name:"Extension",properties:[{name:"mustUnderstand",default:!1,isAttr:!0,type:"Boolean"},{name:"definition",type:"ExtensionDefinition",isAttr:!0,isReference:!0}]},{name:"ExtensionDefinition",properties:[{name:"name",isAttr:!0,type:"String"},{name:"extensionAttributeDefinitions",type:"ExtensionAttributeDefinition",isMany:!0}]},{name:"ExtensionAttributeDefinition",properties:[{name:"name",isAttr:!0,type:"String"},{name:"type",isAttr:!0,type:"String"},{name:"isReference",default:!1,isAttr:!0,type:"Boolean"},{name:"extensionDefinition",type:"ExtensionDefinition",isAttr:!0,isReference:!0}]},{name:"ExtensionElements",properties:[{name:"valueRef",isAttr:!0,isReference:!0,type:"Element"},{name:"values",type:"Element",isMany:!0},{name:"extensionAttributeDefinition",type:"ExtensionAttributeDefinition",isAttr:!0,isReference:!0}]},{name:"Documentation",superClass:["BaseElement"],properties:[{name:"text",type:"String",isBody:!0},{name:"textFormat",default:"text/plain",isAttr:!0,type:"String"}]},{name:"Event",isAbstract:!0,superClass:["FlowNode","InteractionNode"],properties:[{name:"properties",type:"Property",isMany:!0}]},{name:"IntermediateCatchEvent",superClass:["CatchEvent"]},{name:"IntermediateThrowEvent",superClass:["ThrowEvent"]},{name:"EndEvent",superClass:["ThrowEvent"]},{name:"StartEvent",superClass:["CatchEvent"],properties:[{name:"isInterrupting",default:!0,isAttr:!0,type:"Boolean"}]},{name:"ThrowEvent",isAbstract:!0,superClass:["Event"],properties:[{name:"dataInputs",type:"DataInput",isMany:!0},{name:"dataInputAssociations",type:"DataInputAssociation",isMany:!0},{name:"inputSet",type:"InputSet"},{name:"eventDefinitions",type:"EventDefinition",isMany:!0},{name:"eventDefinitionRef",type:"EventDefinition",isMany:!0,isReference:!0}]},{name:"CatchEvent",isAbstract:!0,superClass:["Event"],properties:[{name:"parallelMultiple",isAttr:!0,type:"Boolean",default:!1},{name:"dataOutputs",type:"DataOutput",isMany:!0},{name:"dataOutputAssociations",type:"DataOutputAssociation",isMany:!0},{name:"outputSet",type:"OutputSet"},{name:"eventDefinitions",type:"EventDefinition",isMany:!0},{name:"eventDefinitionRef",type:"EventDefinition",isMany:!0,isReference:!0}]},{name:"BoundaryEvent",superClass:["CatchEvent"],properties:[{name:"cancelActivity",default:!0,isAttr:!0,type:"Boolean"},{name:"attachedToRef",type:"Activity",isAttr:!0,isReference:!0}]},{name:"EventDefinition",isAbstract:!0,superClass:["RootElement"]},{name:"CancelEventDefinition",superClass:["EventDefinition"]},{name:"ErrorEventDefinition",superClass:["EventDefinition"],properties:[{name:"errorRef",type:"Error",isAttr:!0,isReference:!0}]},{name:"TerminateEventDefinition",superClass:["EventDefinition"]},{name:"EscalationEventDefinition",superClass:["EventDefinition"],properties:[{name:"escalationRef",type:"Escalation",isAttr:!0,isReference:!0}]},{name:"Escalation",properties:[{name:"structureRef",type:"ItemDefinition",isAttr:!0,isReference:!0},{name:"name",isAttr:!0,type:"String"},{name:"escalationCode",isAttr:!0,type:"String"}],superClass:["RootElement"]},{name:"CompensateEventDefinition",superClass:["EventDefinition"],properties:[{name:"waitForCompletion",isAttr:!0,type:"Boolean",default:!0},{name:"activityRef",type:"Activity",isAttr:!0,isReference:!0}]},{name:"TimerEventDefinition",superClass:["EventDefinition"],properties:[{name:"timeDate",type:"Expression",xml:{serialize:"xsi:type"}},{name:"timeCycle",type:"Expression",xml:{serialize:"xsi:type"}},{name:"timeDuration",type:"Expression",xml:{serialize:"xsi:type"}}]},{name:"LinkEventDefinition",superClass:["EventDefinition"],properties:[{name:"name",isAttr:!0,type:"String"},{name:"target",type:"LinkEventDefinition",isAttr:!0,isReference:!0},{name:"source",type:"LinkEventDefinition",isMany:!0,isReference:!0}]},{name:"MessageEventDefinition",superClass:["EventDefinition"],properties:[{name:"messageRef",type:"Message",isAttr:!0,isReference:!0},{name:"operationRef",type:"Operation",isAttr:!0,isReference:!0}]},{name:"ConditionalEventDefinition",superClass:["EventDefinition"],properties:[{name:"condition",type:"Expression",xml:{serialize:"xsi:type"}}]},{name:"SignalEventDefinition",superClass:["EventDefinition"],properties:[{name:"signalRef",type:"Signal",isAttr:!0,isReference:!0}]},{name:"Signal",superClass:["RootElement"],properties:[{name:"structureRef",type:"ItemDefinition",isAttr:!0,isReference:!0},{name:"name",isAttr:!0,type:"String"}]},{name:"ImplicitThrowEvent",superClass:["ThrowEvent"]},{name:"DataState",superClass:["BaseElement"],properties:[{name:"name",isAttr:!0,type:"String"}]},{name:"ItemAwareElement",superClass:["BaseElement"],properties:[{name:"itemSubjectRef",type:"ItemDefinition",isAttr:!0,isReference:!0},{name:"dataState",type:"DataState"}]},{name:"DataAssociation",superClass:["BaseElement"],properties:[{name:"sourceRef",type:"ItemAwareElement",isMany:!0,isReference:!0},{name:"targetRef",type:"ItemAwareElement",isReference:!0},{name:"transformation",type:"FormalExpression",xml:{serialize:"property"}},{name:"assignment",type:"Assignment",isMany:!0}]},{name:"DataInput",superClass:["ItemAwareElement"],properties:[{name:"name",isAttr:!0,type:"String"},{name:"isCollection",default:!1,isAttr:!0,type:"Boolean"},{name:"inputSetRef",type:"InputSet",isMany:!0,isVirtual:!0,isReference:!0},{name:"inputSetWithOptional",type:"InputSet",isMany:!0,isVirtual:!0,isReference:!0},{name:"inputSetWithWhileExecuting",type:"InputSet",isMany:!0,isVirtual:!0,isReference:!0}]},{name:"DataOutput",superClass:["ItemAwareElement"],properties:[{name:"name",isAttr:!0,type:"String"},{name:"isCollection",default:!1,isAttr:!0,type:"Boolean"},{name:"outputSetRef",type:"OutputSet",isMany:!0,isVirtual:!0,isReference:!0},{name:"outputSetWithOptional",type:"OutputSet",isMany:!0,isVirtual:!0,isReference:!0},{name:"outputSetWithWhileExecuting",type:"OutputSet",isMany:!0,isVirtual:!0,isReference:!0}]},{name:"InputSet",superClass:["BaseElement"],properties:[{name:"name",isAttr:!0,type:"String"},{name:"dataInputRefs",type:"DataInput",isMany:!0,isReference:!0},{name:"optionalInputRefs",type:"DataInput",isMany:!0,isReference:!0},{name:"whileExecutingInputRefs",type:"DataInput",isMany:!0,isReference:!0},{name:"outputSetRefs",type:"OutputSet",isMany:!0,isReference:!0}]},{name:"OutputSet",superClass:["BaseElement"],properties:[{name:"dataOutputRefs",type:"DataOutput",isMany:!0,isReference:!0},{name:"name",isAttr:!0,type:"String"},{name:"inputSetRefs",type:"InputSet",isMany:!0,isReference:!0},{name:"optionalOutputRefs",type:"DataOutput",isMany:!0,isReference:!0},{name:"whileExecutingOutputRefs",type:"DataOutput",isMany:!0,isReference:!0}]},{name:"Property",superClass:["ItemAwareElement"],properties:[{name:"name",isAttr:!0,type:"String"}]},{name:"DataInputAssociation",superClass:["DataAssociation"]},{name:"DataOutputAssociation",superClass:["DataAssociation"]},{name:"InputOutputSpecification",superClass:["BaseElement"],properties:[{name:"dataInputs",type:"DataInput",isMany:!0},{name:"dataOutputs",type:"DataOutput",isMany:!0},{name:"inputSets",type:"InputSet",isMany:!0},{name:"outputSets",type:"OutputSet",isMany:!0}]},{name:"DataObject",superClass:["FlowElement","ItemAwareElement"],properties:[{name:"isCollection",default:!1,isAttr:!0,type:"Boolean"}]},{name:"InputOutputBinding",properties:[{name:"inputDataRef",type:"InputSet",isAttr:!0,isReference:!0},{name:"outputDataRef",type:"OutputSet",isAttr:!0,isReference:!0},{name:"operationRef",type:"Operation",isAttr:!0,isReference:!0}]},{name:"Assignment",superClass:["BaseElement"],properties:[{name:"from",type:"Expression",xml:{serialize:"xsi:type"}},{name:"to",type:"Expression",xml:{serialize:"xsi:type"}}]},{name:"DataStore",superClass:["RootElement","ItemAwareElement"],properties:[{name:"name",isAttr:!0,type:"String"},{name:"capacity",isAttr:!0,type:"Integer"},{name:"isUnlimited",default:!0,isAttr:!0,type:"Boolean"}]},{name:"DataStoreReference",superClass:["ItemAwareElement","FlowElement"],properties:[{name:"dataStoreRef",type:"DataStore",isAttr:!0,isReference:!0}]},{name:"DataObjectReference",superClass:["ItemAwareElement","FlowElement"],properties:[{name:"dataObjectRef",type:"DataObject",isAttr:!0,isReference:!0}]},{name:"ConversationLink",superClass:["BaseElement"],properties:[{name:"sourceRef",type:"InteractionNode",isAttr:!0,isReference:!0},{name:"targetRef",type:"InteractionNode",isAttr:!0,isReference:!0},{name:"name",isAttr:!0,type:"String"}]},{name:"ConversationAssociation",superClass:["BaseElement"],properties:[{name:"innerConversationNodeRef",type:"ConversationNode",isAttr:!0,isReference:!0},{name:"outerConversationNodeRef",type:"ConversationNode",isAttr:!0,isReference:!0}]},{name:"CallConversation",superClass:["ConversationNode"],properties:[{name:"calledCollaborationRef",type:"Collaboration",isAttr:!0,isReference:!0},{name:"participantAssociations",type:"ParticipantAssociation",isMany:!0}]},{name:"Conversation",superClass:["ConversationNode"]},{name:"SubConversation",superClass:["ConversationNode"],properties:[{name:"conversationNodes",type:"ConversationNode",isMany:!0}]},{name:"ConversationNode",isAbstract:!0,superClass:["InteractionNode","BaseElement"],properties:[{name:"name",isAttr:!0,type:"String"},{name:"participantRef",type:"Participant",isMany:!0,isReference:!0},{name:"messageFlowRefs",type:"MessageFlow",isMany:!0,isReference:!0},{name:"correlationKeys",type:"CorrelationKey",isMany:!0}]},{name:"GlobalConversation",superClass:["Collaboration"]},{name:"PartnerEntity",superClass:["RootElement"],properties:[{name:"name",isAttr:!0,type:"String"},{name:"participantRef",type:"Participant",isMany:!0,isReference:!0}]},{name:"PartnerRole",superClass:["RootElement"],properties:[{name:"name",isAttr:!0,type:"String"},{name:"participantRef",type:"Participant",isMany:!0,isReference:!0}]},{name:"CorrelationProperty",superClass:["RootElement"],properties:[{name:"correlationPropertyRetrievalExpression",type:"CorrelationPropertyRetrievalExpression",isMany:!0},{name:"name",isAttr:!0,type:"String"},{name:"type",type:"ItemDefinition",isAttr:!0,isReference:!0}]},{name:"Error",superClass:["RootElement"],properties:[{name:"structureRef",type:"ItemDefinition",isAttr:!0,isReference:!0},{name:"name",isAttr:!0,type:"String"},{name:"errorCode",isAttr:!0,type:"String"}]},{name:"CorrelationKey",superClass:["BaseElement"],properties:[{name:"correlationPropertyRef",type:"CorrelationProperty",isMany:!0,isReference:!0},{name:"name",isAttr:!0,type:"String"}]},{name:"Expression",superClass:["BaseElement"],isAbstract:!1,properties:[{name:"body",isBody:!0,type:"String"}]},{name:"FormalExpression",superClass:["Expression"],properties:[{name:"language",isAttr:!0,type:"String"},{name:"evaluatesToTypeRef",type:"ItemDefinition",isAttr:!0,isReference:!0}]},{name:"Message",superClass:["RootElement"],properties:[{name:"name",isAttr:!0,type:"String"},{name:"itemRef",type:"ItemDefinition",isAttr:!0,isReference:!0}]},{name:"ItemDefinition",superClass:["RootElement"],properties:[{name:"itemKind",type:"ItemKind",isAttr:!0},{name:"structureRef",isAttr:!0,type:"String"},{name:"isCollection",default:!1,isAttr:!0,type:"Boolean"},{name:"import",type:"Import",isAttr:!0,isReference:!0}]},{name:"FlowElement",isAbstract:!0,superClass:["BaseElement"],properties:[{name:"name",isAttr:!0,type:"String"},{name:"auditing",type:"Auditing"},{name:"monitoring",type:"Monitoring"},{name:"categoryValueRef",type:"CategoryValue",isMany:!0,isReference:!0}]},{name:"SequenceFlow",superClass:["FlowElement"],properties:[{name:"isImmediate",isAttr:!0,type:"Boolean"},{name:"conditionExpression",type:"Expression",xml:{serialize:"xsi:type"}},{name:"sourceRef",type:"FlowNode",isAttr:!0,isReference:!0},{name:"targetRef",type:"FlowNode",isAttr:!0,isReference:!0}]},{name:"FlowElementsContainer",isAbstract:!0,superClass:["BaseElement"],properties:[{name:"laneSets",type:"LaneSet",isMany:!0},{name:"flowElements",type:"FlowElement",isMany:!0}]},{name:"CallableElement",isAbstract:!0,superClass:["RootElement"],properties:[{name:"name",isAttr:!0,type:"String"},{name:"ioSpecification",type:"InputOutputSpecification",xml:{serialize:"property"}},{name:"supportedInterfaceRef",type:"Interface",isMany:!0,isReference:!0},{name:"ioBinding",type:"InputOutputBinding",isMany:!0,xml:{serialize:"property"}}]},{name:"FlowNode",isAbstract:!0,superClass:["FlowElement"],properties:[{name:"incoming",type:"SequenceFlow",isMany:!0,isReference:!0},{name:"outgoing",type:"SequenceFlow",isMany:!0,isReference:!0},{name:"lanes",type:"Lane",isMany:!0,isVirtual:!0,isReference:!0}]},{name:"CorrelationPropertyRetrievalExpression",superClass:["BaseElement"],properties:[{name:"messagePath",type:"FormalExpression"},{name:"messageRef",type:"Message",isAttr:!0,isReference:!0}]},{name:"CorrelationPropertyBinding",superClass:["BaseElement"],properties:[{name:"dataPath",type:"FormalExpression"},{name:"correlationPropertyRef",type:"CorrelationProperty",isAttr:!0,isReference:!0}]},{name:"Resource",superClass:["RootElement"],properties:[{name:"name",isAttr:!0,type:"String"},{name:"resourceParameters",type:"ResourceParameter",isMany:!0}]},{name:"ResourceParameter",superClass:["BaseElement"],properties:[{name:"name",isAttr:!0,type:"String"},{name:"isRequired",isAttr:!0,type:"Boolean"},{name:"type",type:"ItemDefinition",isAttr:!0,isReference:!0}]},{name:"CorrelationSubscription",superClass:["BaseElement"],properties:[{name:"correlationKeyRef",type:"CorrelationKey",isAttr:!0,isReference:!0},{name:"correlationPropertyBinding",type:"CorrelationPropertyBinding",isMany:!0}]},{name:"MessageFlow",superClass:["BaseElement"],properties:[{name:"name",isAttr:!0,type:"String"},{name:"sourceRef",type:"InteractionNode",isAttr:!0,isReference:!0},{name:"targetRef",type:"InteractionNode",isAttr:!0,isReference:!0},{name:"messageRef",type:"Message",isAttr:!0,isReference:!0}]},{name:"MessageFlowAssociation",superClass:["BaseElement"],properties:[{name:"innerMessageFlowRef",type:"MessageFlow",isAttr:!0,isReference:!0},{name:"outerMessageFlowRef",type:"MessageFlow",isAttr:!0,isReference:!0}]},{name:"InteractionNode",isAbstract:!0,properties:[{name:"incomingConversationLinks",type:"ConversationLink",isMany:!0,isVirtual:!0,isReference:!0},{name:"outgoingConversationLinks",type:"ConversationLink",isMany:!0,isVirtual:!0,isReference:!0}]},{name:"Participant",superClass:["InteractionNode","BaseElement"],properties:[{name:"name",isAttr:!0,type:"String"},{name:"interfaceRef",type:"Interface",isMany:!0,isReference:!0},{name:"participantMultiplicity",type:"ParticipantMultiplicity"},{name:"endPointRefs",type:"EndPoint",isMany:!0,isReference:!0},{name:"processRef",type:"Process",isAttr:!0,isReference:!0}]},{name:"ParticipantAssociation",superClass:["BaseElement"],properties:[{name:"innerParticipantRef",type:"Participant",isAttr:!0,isReference:!0},{name:"outerParticipantRef",type:"Participant",isAttr:!0,isReference:!0}]},{name:"ParticipantMultiplicity",properties:[{name:"minimum",default:0,isAttr:!0,type:"Integer"},{name:"maximum",default:1,isAttr:!0,type:"Integer"}],superClass:["BaseElement"]},{name:"Collaboration",superClass:["RootElement"],properties:[{name:"name",isAttr:!0,type:"String"},{name:"isClosed",isAttr:!0,type:"Boolean"},{name:"participants",type:"Participant",isMany:!0},{name:"messageFlows",type:"MessageFlow",isMany:!0},{name:"artifacts",type:"Artifact",isMany:!0},{name:"conversations",type:"ConversationNode",isMany:!0},{name:"conversationAssociations",type:"ConversationAssociation"},{name:"participantAssociations",type:"ParticipantAssociation",isMany:!0},{name:"messageFlowAssociations",type:"MessageFlowAssociation",isMany:!0},{name:"correlationKeys",type:"CorrelationKey",isMany:!0},{name:"choreographyRef",type:"Choreography",isMany:!0,isReference:!0},{name:"conversationLinks",type:"ConversationLink",isMany:!0}]},{name:"ChoreographyActivity",isAbstract:!0,superClass:["FlowNode"],properties:[{name:"participantRef",type:"Participant",isMany:!0,isReference:!0},{name:"initiatingParticipantRef",type:"Participant",isAttr:!0,isReference:!0},{name:"correlationKeys",type:"CorrelationKey",isMany:!0},{name:"loopType",type:"ChoreographyLoopType",default:"None",isAttr:!0}]},{name:"CallChoreography",superClass:["ChoreographyActivity"],properties:[{name:"calledChoreographyRef",type:"Choreography",isAttr:!0,isReference:!0},{name:"participantAssociations",type:"ParticipantAssociation",isMany:!0}]},{name:"SubChoreography",superClass:["ChoreographyActivity","FlowElementsContainer"],properties:[{name:"artifacts",type:"Artifact",isMany:!0}]},{name:"ChoreographyTask",superClass:["ChoreographyActivity"],properties:[{name:"messageFlowRef",type:"MessageFlow",isMany:!0,isReference:!0}]},{name:"Choreography",superClass:["Collaboration","FlowElementsContainer"]},{name:"GlobalChoreographyTask",superClass:["Choreography"],properties:[{name:"initiatingParticipantRef",type:"Participant",isAttr:!0,isReference:!0}]},{name:"TextAnnotation",superClass:["Artifact"],properties:[{name:"text",type:"String"},{name:"textFormat",default:"text/plain",isAttr:!0,type:"String"}]},{name:"Group",superClass:["Artifact"],properties:[{name:"categoryValueRef",type:"CategoryValue",isAttr:!0,isReference:!0}]},{name:"Association",superClass:["Artifact"],properties:[{name:"associationDirection",type:"AssociationDirection",isAttr:!0},{name:"sourceRef",type:"BaseElement",isAttr:!0,isReference:!0},{name:"targetRef",type:"BaseElement",isAttr:!0,isReference:!0}]},{name:"Category",superClass:["RootElement"],properties:[{name:"categoryValue",type:"CategoryValue",isMany:!0},{name:"name",isAttr:!0,type:"String"}]},{name:"Artifact",isAbstract:!0,superClass:["BaseElement"]},{name:"CategoryValue",superClass:["BaseElement"],properties:[{name:"categorizedFlowElements",type:"FlowElement",isMany:!0,isVirtual:!0,isReference:!0},{name:"value",isAttr:!0,type:"String"}]},{name:"Activity",isAbstract:!0,superClass:["FlowNode"],properties:[{name:"isForCompensation",default:!1,isAttr:!0,type:"Boolean"},{name:"default",type:"SequenceFlow",isAttr:!0,isReference:!0},{name:"ioSpecification",type:"InputOutputSpecification",xml:{serialize:"property"}},{name:"boundaryEventRefs",type:"BoundaryEvent",isMany:!0,isReference:!0},{name:"properties",type:"Property",isMany:!0},{name:"dataInputAssociations",type:"DataInputAssociation",isMany:!0},{name:"dataOutputAssociations",type:"DataOutputAssociation",isMany:!0},{name:"startQuantity",default:1,isAttr:!0,type:"Integer"},{name:"resources",type:"ResourceRole",isMany:!0},{name:"completionQuantity",default:1,isAttr:!0,type:"Integer"},{name:"loopCharacteristics",type:"LoopCharacteristics"}]},{name:"ServiceTask",superClass:["Task"],properties:[{name:"implementation",isAttr:!0,type:"String"},{name:"operationRef",type:"Operation",isAttr:!0,isReference:!0}]},{name:"SubProcess",superClass:["Activity","FlowElementsContainer","InteractionNode"],properties:[{name:"triggeredByEvent",default:!1,isAttr:!0,type:"Boolean"},{name:"artifacts",type:"Artifact",isMany:!0}]},{name:"LoopCharacteristics",isAbstract:!0,superClass:["BaseElement"]},{name:"MultiInstanceLoopCharacteristics",superClass:["LoopCharacteristics"],properties:[{name:"isSequential",default:!1,isAttr:!0,type:"Boolean"},{name:"behavior",type:"MultiInstanceBehavior",default:"All",isAttr:!0},{name:"loopCardinality",type:"Expression",xml:{serialize:"xsi:type"}},{name:"loopDataInputRef",type:"ItemAwareElement",isReference:!0},{name:"loopDataOutputRef",type:"ItemAwareElement",isReference:!0},{name:"inputDataItem",type:"DataInput",xml:{serialize:"property"}},{name:"outputDataItem",type:"DataOutput",xml:{serialize:"property"}},{name:"complexBehaviorDefinition",type:"ComplexBehaviorDefinition",isMany:!0},{name:"completionCondition",type:"Expression",xml:{serialize:"xsi:type"}},{name:"oneBehaviorEventRef",type:"EventDefinition",isAttr:!0,isReference:!0},{name:"noneBehaviorEventRef",type:"EventDefinition",isAttr:!0,isReference:!0}]},{name:"StandardLoopCharacteristics",superClass:["LoopCharacteristics"],properties:[{name:"testBefore",default:!1,isAttr:!0,type:"Boolean"},{name:"loopCondition",type:"Expression",xml:{serialize:"xsi:type"}},{name:"loopMaximum",type:"Integer",isAttr:!0}]},{name:"CallActivity",superClass:["Activity","InteractionNode"],properties:[{name:"calledElement",type:"String",isAttr:!0}]},{name:"Task",superClass:["Activity","InteractionNode"]},{name:"SendTask",superClass:["Task"],properties:[{name:"implementation",isAttr:!0,type:"String"},{name:"operationRef",type:"Operation",isAttr:!0,isReference:!0},{name:"messageRef",type:"Message",isAttr:!0,isReference:!0}]},{name:"ReceiveTask",superClass:["Task"],properties:[{name:"implementation",isAttr:!0,type:"String"},{name:"instantiate",default:!1,isAttr:!0,type:"Boolean"},{name:"operationRef",type:"Operation",isAttr:!0,isReference:!0},{name:"messageRef",type:"Message",isAttr:!0,isReference:!0}]},{name:"ScriptTask",superClass:["Task"],properties:[{name:"scriptFormat",isAttr:!0,type:"String"},{name:"script",type:"String"}]},{name:"BusinessRuleTask",superClass:["Task"],properties:[{name:"implementation",isAttr:!0,type:"String"}]},{name:"AdHocSubProcess",superClass:["SubProcess"],properties:[{name:"completionCondition",type:"Expression",xml:{serialize:"xsi:type"}},{name:"ordering",type:"AdHocOrdering",isAttr:!0},{name:"cancelRemainingInstances",default:!0,isAttr:!0,type:"Boolean"}]},{name:"Transaction",superClass:["SubProcess"],properties:[{name:"protocol",isAttr:!0,type:"String"},{name:"method",isAttr:!0,type:"String"}]},{name:"GlobalScriptTask",superClass:["GlobalTask"],properties:[{name:"scriptLanguage",isAttr:!0,type:"String"},{name:"script",isAttr:!0,type:"String"}]},{name:"GlobalBusinessRuleTask",superClass:["GlobalTask"],properties:[{name:"implementation",isAttr:!0,type:"String"}]},{name:"ComplexBehaviorDefinition",superClass:["BaseElement"],properties:[{name:"condition",type:"FormalExpression"},{name:"event",type:"ImplicitThrowEvent"}]},{name:"ResourceRole",superClass:["BaseElement"],properties:[{name:"resourceRef",type:"Resource",isReference:!0},{name:"resourceParameterBindings",type:"ResourceParameterBinding",isMany:!0},{name:"resourceAssignmentExpression",type:"ResourceAssignmentExpression"},{name:"name",isAttr:!0,type:"String"}]},{name:"ResourceParameterBinding",properties:[{name:"expression",type:"Expression",xml:{serialize:"xsi:type"}},{name:"parameterRef",type:"ResourceParameter",isAttr:!0,isReference:!0}],superClass:["BaseElement"]},{name:"ResourceAssignmentExpression",properties:[{name:"expression",type:"Expression",xml:{serialize:"xsi:type"}}],superClass:["BaseElement"]},{name:"Import",properties:[{name:"importType",isAttr:!0,type:"String"},{name:"location",isAttr:!0,type:"String"},{name:"namespace",isAttr:!0,type:"String"}]},{name:"Definitions",superClass:["BaseElement"],properties:[{name:"name",isAttr:!0,type:"String"},{name:"targetNamespace",isAttr:!0,type:"String"},{name:"expressionLanguage",default:"http://www.w3.org/1999/XPath",isAttr:!0,type:"String"},{name:"typeLanguage",default:"http://www.w3.org/2001/XMLSchema",isAttr:!0,type:"String"},{name:"imports",type:"Import",isMany:!0},{name:"extensions",type:"Extension",isMany:!0},{name:"rootElements",type:"RootElement",isMany:!0},{name:"diagrams",isMany:!0,type:"bpmndi:BPMNDiagram"},{name:"exporter",isAttr:!0,type:"String"},{name:"relationships",type:"Relationship",isMany:!0},{name:"exporterVersion",isAttr:!0,type:"String"}]}],enumerations:[{name:"ProcessType",literalValues:[{name:"None"},{name:"Public"},{name:"Private"}]},{name:"GatewayDirection",literalValues:[{name:"Unspecified"},{name:"Converging"},{name:"Diverging"},{name:"Mixed"}]},{name:"EventBasedGatewayType",literalValues:[{name:"Parallel"},{name:"Exclusive"}]},{name:"RelationshipDirection",literalValues:[{name:"None"},{name:"Forward"},{name:"Backward"},{name:"Both"}]},{name:"ItemKind",literalValues:[{name:"Physical"},{name:"Information"}]},{name:"ChoreographyLoopType",literalValues:[{name:"None"},{name:"Standard"},{name:"MultiInstanceSequential"},{name:"MultiInstanceParallel"}]},{name:"AssociationDirection",literalValues:[{name:"None"},{name:"One"},{name:"Both"}]},{name:"MultiInstanceBehavior",literalValues:[{name:"None"},{name:"One"},{name:"All"},{name:"Complex"}]},{name:"AdHocOrdering",literalValues:[{name:"Parallel"},{name:"Sequential"}]}],xml:{tagAlias:"lowerCase",typePrefix:"t"}},bpmndi:{name:"BPMNDI",uri:"http://www.omg.org/spec/BPMN/20100524/DI",prefix:"bpmndi",types:[{name:"BPMNDiagram",properties:[{name:"plane",type:"BPMNPlane",redefines:"di:Diagram#rootElement"},{name:"labelStyle",type:"BPMNLabelStyle",isMany:!0}],superClass:["di:Diagram"]},{name:"BPMNPlane",properties:[{name:"bpmnElement",isAttr:!0,isReference:!0,type:"bpmn:BaseElement",redefines:"di:DiagramElement#modelElement"}],superClass:["di:Plane"]},{name:"BPMNShape",properties:[{name:"bpmnElement",isAttr:!0,isReference:!0,type:"bpmn:BaseElement",redefines:"di:DiagramElement#modelElement"},{name:"isHorizontal",isAttr:!0,type:"Boolean"},{name:"isExpanded",isAttr:!0,type:"Boolean"},{name:"isMarkerVisible",isAttr:!0,type:"Boolean"},{name:"label",type:"BPMNLabel"},{name:"isMessageVisible",isAttr:!0,type:"Boolean"},{name:"participantBandKind",type:"ParticipantBandKind",isAttr:!0},{name:"choreographyActivityShape",type:"BPMNShape",isAttr:!0,isReference:!0}],superClass:["di:LabeledShape"]},{name:"BPMNEdge",properties:[{name:"label",type:"BPMNLabel"},{name:"bpmnElement",isAttr:!0,isReference:!0,type:"bpmn:BaseElement",redefines:"di:DiagramElement#modelElement"},{name:"sourceElement",isAttr:!0,isReference:!0,type:"di:DiagramElement",redefines:"di:Edge#source"},{name:"targetElement",isAttr:!0,isReference:!0,type:"di:DiagramElement",redefines:"di:Edge#target"},{name:"messageVisibleKind",type:"MessageVisibleKind",isAttr:!0,default:"initiating"}],superClass:["di:LabeledEdge"]},{name:"BPMNLabel",properties:[{name:"labelStyle",type:"BPMNLabelStyle",isAttr:!0,isReference:!0,redefines:"di:DiagramElement#style"}],superClass:["di:Label"]},{name:"BPMNLabelStyle",properties:[{name:"font",type:"dc:Font"}],superClass:["di:Style"]}],enumerations:[{name:"ParticipantBandKind",literalValues:[{name:"top_initiating"},{name:"middle_initiating"},{name:"bottom_initiating"},{name:"top_non_initiating"},{name:"middle_non_initiating"},{name:"bottom_non_initiating"}]},{name:"MessageVisibleKind",literalValues:[{name:"initiating"},{name:"non_initiating"}]}],associations:[]},dc:{name:"DC",uri:"http://www.omg.org/spec/DD/20100524/DC",prefix:"dc",types:[{name:"Boolean"},{name:"Integer"},{name:"Real"},{name:"String"},{name:"Font",properties:[{name:"name",type:"String",isAttr:!0},{name:"size",type:"Real",isAttr:!0},{name:"isBold",type:"Boolean",isAttr:!0},{name:"isItalic",type:"Boolean",isAttr:!0},{name:"isUnderline",type:"Boolean",isAttr:!0},{name:"isStrikeThrough",type:"Boolean",isAttr:!0}]},{name:"Point",properties:[{name:"x",type:"Real",default:"0",isAttr:!0},{name:"y",type:"Real",default:"0",isAttr:!0}]},{name:"Bounds",properties:[{name:"x",type:"Real",default:"0",isAttr:!0},{name:"y",type:"Real",default:"0",isAttr:!0},{name:"width",type:"Real",isAttr:!0},{name:"height",type:"Real",isAttr:!0}]}],associations:[]},di:{name:"DI",uri:"http://www.omg.org/spec/DD/20100524/DI",prefix:"di",types:[{name:"DiagramElement",isAbstract:!0,properties:[{name:"id",isAttr:!0,isId:!0,type:"String"},{name:"extension",type:"Extension"},{name:"owningDiagram",type:"Diagram",isReadOnly:!0,isVirtual:!0,isReference:!0},{name:"owningElement",type:"DiagramElement",isReadOnly:!0,isVirtual:!0,isReference:!0},{name:"modelElement",isReadOnly:!0,isVirtual:!0,isReference:!0,type:"Element"},{name:"style",type:"Style",isReadOnly:!0,isVirtual:!0,isReference:!0},{name:"ownedElement",type:"DiagramElement",isReadOnly:!0,isMany:!0,isVirtual:!0}]},{name:"Node",isAbstract:!0,superClass:["DiagramElement"]},{name:"Edge",isAbstract:!0,superClass:["DiagramElement"],properties:[{name:"source",type:"DiagramElement",isReadOnly:!0,isVirtual:!0,isReference:!0},{name:"target",type:"DiagramElement",isReadOnly:!0,isVirtual:!0,isReference:!0},{name:"waypoint",isUnique:!1,isMany:!0,type:"dc:Point",xml:{serialize:"xsi:type"}}]},{name:"Diagram",isAbstract:!0,properties:[{name:"id",isAttr:!0,isId:!0,type:"String"},{name:"rootElement",type:"DiagramElement",isReadOnly:!0,isVirtual:!0},{name:"name",isAttr:!0,type:"String"},{name:"documentation",isAttr:!0,type:"String"},{name:"resolution",isAttr:!0,type:"Real"},{name:"ownedStyle",type:"Style",isReadOnly:!0,isMany:!0,isVirtual:!0}]},{name:"Shape",isAbstract:!0,superClass:["Node"],properties:[{name:"bounds",type:"dc:Bounds"}]},{name:"Plane",isAbstract:!0,superClass:["Node"],properties:[{name:"planeElement",type:"DiagramElement",subsettedProperty:"DiagramElement-ownedElement",isMany:!0}]},{name:"LabeledEdge",isAbstract:!0,superClass:["Edge"],properties:[{name:"ownedLabel",type:"Label",isReadOnly:!0,subsettedProperty:"DiagramElement-ownedElement",isMany:!0,isVirtual:!0}]},{name:"LabeledShape",isAbstract:!0,superClass:["Shape"],properties:[{name:"ownedLabel",type:"Label",isReadOnly:!0,subsettedProperty:"DiagramElement-ownedElement",isMany:!0,isVirtual:!0}]},{name:"Label",isAbstract:!0,superClass:["Node"],properties:[{name:"bounds",type:"dc:Bounds"}]},{name:"Style",isAbstract:!0,properties:[{name:"id",isAttr:!0,isId:!0,type:"String"}]},{name:"Extension",properties:[{name:"values",isMany:!0,type:"Element"}]}],associations:[],xml:{tagAlias:"lowerCase"}},bioc:{name:"bpmn.io colors for BPMN",uri:"http://bpmn.io/schema/bpmn/biocolor/1.0",prefix:"bioc",types:[{name:"ColoredShape",extends:["bpmndi:BPMNShape"],properties:[{name:"stroke",isAttr:!0,type:"String"},{name:"fill",isAttr:!0,type:"String"}]},{name:"ColoredEdge",extends:["bpmndi:BPMNEdge"],properties:[{name:"stroke",isAttr:!0,type:"String"},{name:"fill",isAttr:!0,type:"String"}]}],enumerations:[],associations:[]},color:{name:"BPMN in Color",uri:"http://www.omg.org/spec/BPMN/non-normative/color/1.0",prefix:"color",types:[{name:"ColoredLabel",extends:["bpmndi:BPMNLabel"],properties:[{name:"color",isAttr:!0,type:"String"}]},{name:"ColoredShape",extends:["bpmndi:BPMNShape"],properties:[{name:"background-color",isAttr:!0,type:"String"},{name:"border-color",isAttr:!0,type:"String"}]},{name:"ColoredEdge",extends:["bpmndi:BPMNEdge"],properties:[{name:"border-color",isAttr:!0,type:"String"}]}],enumerations:[],associations:[]}};function Lne(e,n){return new Bv(I({},Fne,e),n)}function Bi(e){return e?"<"+e.$type+(e.id?' id="'+e.id:"")+'" />':""}var Bne=new(Ud())({name:"bpmnElement",enumerable:!0},{name:"di",configurable:!0});function wr(e,n){return e.$instanceOf(n)}function jne(e,n){var t={},i=[];function r(L,$){return function(Ne){L(Ne,$)}}function o(L){t[L.id]=L}function l(L,$){try{var Ne=L.di&&function s(L,$){if(L.gfx)throw new Error(n("already rendered {element}",{element:Bi(L)}));return e.element(L,$)}(L,$);return o(L),Ne}catch(ut){d(ut.message,{element:L,error:ut}),console.error(n("failed to import {element}",{element:Bi(L)})),console.error(ut)}}function d(L,$){e.error(L,$)}function u(L){var $=L.bpmnElement;$?$.di?d(n("multiple DI elements defined for {element}",{element:Bi($)}),{element:$}):(Bne.bind($,"di"),$.di=L):d(n("no bpmnElement referenced in {element}",{element:Bi(L)}),{element:L})}function p(L){u(L)}function v(){for(;i.length;)i.shift()()}function k(L,$){_(L,$),be(L.ioSpecification,$),Q(L.artifacts,$),o(L)}function C(L,$){l(L,$)}function D(L,$){l(L,$)}function P(L,$){l(L,$)}function V(L,$){l(L,$)}function F(L,$){l(L,$)}function Q(L,$){R(L,function(Ne){wr(Ne,"bpmn:Association")?i.push(function(){F(Ne,$)}):F(Ne,$)})}function be(L,$){L&&(R(L.dataInputs,r(P,$)),R(L.dataOutputs,r(V,$)))}function He(L,$){_(L,$),Q(L.artifacts,$)}function de(L,$){var Ne=l(L,$);wr(L,"bpmn:SubProcess")&&He(L,Ne||$),wr(L,"bpmn:Activity")&&be(L.ioSpecification,$),i.push(function(){R(L.dataInputAssociations,r(D,$)),R(L.dataOutputAssociations,r(D,$))})}function Ht(L,$){i.push(function(){var Ne=l(L,$);L.childLaneSet&&fe(L.childLaneSet,Ne||$),function z(L){R(L.flowNodeRef,function($){var Ne=$.get("lanes");Ne&&Ne.push(L)})}(L)})}function fe(L,$){R(L.lanes,r(Ht,$))}function _(L,$){(function m(L,$){R(L,function(Ne){wr(Ne,"bpmn:SequenceFlow")?i.push(function(){!function we(L,$){l(L,$)}(Ne,$)}):wr(Ne,"bpmn:BoundaryEvent")?i.unshift(function(){de(Ne,$)}):wr(Ne,"bpmn:FlowNode")?de(Ne,$):wr(Ne,"bpmn:DataObject")||(wr(Ne,"bpmn:DataStoreReference")||wr(Ne,"bpmn:DataObjectReference")?function je(L,$){l(L,$)}(Ne,$):d(n("unrecognized flowElement {element} in context {context}",{element:Bi(Ne),context:$?Bi($.businessObject):"null"}),{element:Ne,context:$}))})})(L.flowElements,$),L.laneSets&&function ve(L,$){R(L,r(fe,$))}(L.laneSets,$)}function S(L,$){var Ne=l(L,$),ut=L.processRef;ut&&k(ut,Ne||$)}return{handleDeferred:v,handleDefinitions:function g(L,$){var Ne=L.diagrams;if($&&-1===Ne.indexOf($))throw new Error(n("diagram not part of bpmn:Definitions"));if(!$&&Ne&&Ne.length&&($=Ne[0]),!$)throw new Error(n("no diagram to display"));!function h(L){!function f(L){u(L),R(L.planeElement,p)}(L.plane)}($);var ut=$.plane;if(!ut)throw new Error(n("no plane for {element}",{element:Bi($)}));var bt=ut.bpmnElement;if(!bt){if(bt=function Vne(e){return on(e.rootElements,function(n){return wr(n,"bpmn:Process")||wr(n,"bpmn:Collaboration")})}(L),!bt)throw new Error(n("no process or collaboration to display"));d(n("correcting missing bpmnElement on {plane} to {rootElement}",{plane:Bi(ut),rootElement:Bi(bt)})),ut.bpmnElement=bt,u(ut)}var xn=function c(L,$){return e.root(L,$)}(bt,ut);if(wr(bt,"bpmn:Process"))k(bt,xn);else{if(!wr(bt,"bpmn:Collaboration"))throw new Error(n("unsupported bpmnElement for {plane}: {rootElement}",{plane:Bi(ut),rootElement:Bi(bt)}));(function A(L){R(L.participants,r(S)),Q(L.artifacts),i.push(function(){!function x(L,$){R(L,r(C,$))}(L.messageFlows)})})(bt),function E(L,$){var Ne=St(L,function(ut){return!function a(L){return t[L.id]}(ut)&&wr(ut,"bpmn:Process")&&ut.laneSets});Ne.forEach(r(k,$))}(L.rootElements,xn)}v()},handleSubProcess:He,registerDi:u}}function Zd(e){return function(){if(!window.Promise)throw new Error("Promises is not supported in this environment. Please polyfill Promise.");var n=arguments.length;if(!(n>=1&&Gi(arguments[n-1])))return e.apply(this,arguments);var t=arguments[n-1];console.warn(new Error("Passing callbacks to "+e.name+" is deprecated and will be removed in a future major release. Please switch to promises: https://bpmn.io/l/moving-to-promises.html"));var i=Array.prototype.slice.call(arguments,0,-1);e.apply(this,i).then(function(r){var o=Object.keys(r)[0];return t(null,r[o])},function(r){return t(r,r.warnings)})}}var bF='';function Vv(e){return e.join(";")}var Sf,xF=Vv(["color: #404040"]),Wne='
'+bF+'Web-based tooling for BPMN, DMN and CMMN diagrams powered by bpmn.io.
';function jn(e){e=I({},Kne,e),this._moddle=this._createModdle(e),this._container=this._createContainer(e),function Zne(e){var i=Dn(''+bF+"");e.appendChild(i),ct.bind(i,"click",function(r){(function Yne(){Sf||(Sf=Dn(Wne),Hr.bind(Sf,".backdrop","click",function(e){document.body.removeChild(Sf)})),document.body.appendChild(Sf)})(),r.preventDefault()})}(this._container),this._init(this._container,this._moddle,e)}function jv(e,n){return e.warnings=n,e}Xe()(jn,Wd),jn.prototype.importXML=Zd(function(n,t){var i=this;return new Promise(function(o,a){n=i._emit("import.parse.start",{xml:n})||n,i._moddle.fromXML(n,"bpmn:Definitions").then(function(s){var c=s.rootElement,d=s.warnings;c=i._emit("import.parse.complete",function r(o){var a=i.get("eventBus").createEvent(o);return Object.defineProperty(a,"context",{enumerable:!0,get:function(){return console.warn(new Error("import.parse.complete is deprecated and will be removed in future library versions")),{warnings:o.warnings,references:o.references,elementsById:o.elementsById}}}),a}({error:null,definitions:c,elementsById:s.elementsById,references:s.references,warnings:d}))||c,i.importDefinitions(c,t).then(function(h){var f=[].concat(d,h.warnings||[]);return i._emit("import.done",{error:null,warnings:f}),o({warnings:f})}).catch(function(h){var f=[].concat(d,h.warnings||[]);return i._emit("import.done",{error:h,warnings:f}),a(jv(h,f))})}).catch(function(s){return i._emit("import.parse.complete",{error:s}),s=function qne(e){var t=/unparsable content <([^>]+)> detected([\s\S]*)$/.exec(e.message);return t&&(e.message="unparsable content <"+t[1]+"> detected; this may indicate an invalid BPMN 2.0 diagram file"+t[2]),e}(s),i._emit("import.done",{error:s,warnings:s.warnings}),a(s)})})}),jn.prototype.importDefinitions=Zd(function(n,t){var i=this;return new Promise(function(r,o){i._setDefinitions(n),i.open(t).then(function(a){return r({warnings:a.warnings})}).catch(function(a){return o(a)})})}),jn.prototype.open=Zd(function(n){var t=this._definitions,i=n,r=this;return new Promise(function(o,a){if(!t){var s=new Error("no XML imported");return a(jv(s,[]))}if("string"==typeof n&&(i=function Xne(e,n){return n&&on(e.diagrams,function(t){return t.id===n})||null}(t,n),!i)){var c=new Error("BPMNDiagram <"+n+"> not found");return a(jv(c,[]))}try{r.clear()}catch(l){return a(jv(l,[]))}(function zne(e,n,t){var i,r,o,s=[];return new Promise(function(l,d){try{return i=e.get("bpmnImporter"),r=e.get("eventBus"),o=e.get("translate"),r.fire("import.render.start",{definitions:n}),function c(l,d){new jne({root:function(f){return i.add(f)},element:function(f,p){return i.add(f,p)},error:function(f,p){s.push({message:f,context:p})}},o).handleDefinitions(l,d)}(n,t),r.fire("import.render.complete",{error:void 0,warnings:s}),l({warnings:s})}catch(u){return u.warnings=s,d(u)}})})(r,t,i).then(function(l){return o({warnings:l.warnings})}).catch(function(l){return a(l)})})}),jn.prototype.saveXML=Zd(function(n){n=n||{};var t=this,i=this._definitions;return new Promise(function(r){if(!i)return r({error:new Error("no definitions loaded")});i=t._emit("saveXML.start",{definitions:i})||i,t._moddle.toXML(i,n).then(function(o){var a=o.xml;return a=t._emit("saveXML.serialized",{xml:a})||a,r({xml:a})})}).catch(function(r){return{error:r}}).then(function(r){t._emit("saveXML.done",r);var o=r.error;return o?Promise.reject(o):r})}),jn.prototype.saveSVG=Zd(function(n){n=n||{};var t=this;return new Promise(function(i,r){var o,a;t._emit("saveSVG.start");try{var s=t.get("canvas"),c=s.getDefaultLayer(),l=Bn("defs",s._svg),d=AN(c),u=l?""+AN(l)+"":"",h=c.getBBox();o='\n\x3c!-- created with bpmn-js / http://bpmn.io --\x3e\n\n'+u+d+""}catch(f){a=f}return t._emit("saveSVG.done",{error:a,svg:o}),a?r(a):i({svg:o})})}),jn.prototype._setDefinitions=function(e){this._definitions=e},jn.prototype.getModules=function(){return this._modules},jn.prototype.clear=function(){this.getDefinitions()&&(this.get("elementRegistry").forEach(function(e){var n=e.businessObject;n&&n.di&&delete n.di}),Wd.prototype.clear.call(this))},jn.prototype.destroy=function(){Wd.prototype.destroy.call(this),ga(this._container)},jn.prototype.on=function(e,n,t,i){return this.get("eventBus").on(e,n,t,i)},jn.prototype.off=function(e,n){this.get("eventBus").off(e,n)},jn.prototype.attachTo=function(e){if(!e)throw new Error("parentNode required");this.detach(),e.get&&e.constructor.prototype.jquery&&(e=e.get(0)),"string"==typeof e&&(e=Bn(e)),e.appendChild(this._container),this._emit("attach",{}),this.get("canvas").resized()},jn.prototype.getDefinitions=function(){return this._definitions},jn.prototype.detach=function(){var e=this._container,n=e.parentNode;n&&(this._emit("detach",{}),n.removeChild(e))},jn.prototype._init=function(e,n,t){var i=t.modules||this.getModules(),a=[].concat([{bpmnjs:["value",this],moddle:["value",n]}],i,t.additionalModules||[]),s=I(zs(t,["additionalModules"]),{canvas:I({},t.canvas,{container:e}),modules:a});Wd.call(this,s),t&&t.container&&this.attachTo(t.container)},jn.prototype._emit=function(e,n){return this.get("eventBus").fire(e,n)},jn.prototype._createContainer=function(e){var n=Dn('
');return I(n.style,{width:wF(e.width),height:wF(e.height),position:e.position}),n},jn.prototype._createModdle=function(e){return new Lne(I({},this._moddleExtensions,e.moddleExtensions))},jn.prototype._modules=[];var Kne={width:"100%",height:"100%",position:"relative"};function wF(e){return e+(yt(e)?"px":"")}function Df(e){jn.call(this,e),this.on("import.parse.complete",function(n){n.error||this._collectIds(n.definitions,n.elementsById)},this),this.on("diagram.destroy",function(){this.get("moddle").ids.clear()},this)}function b(e,n){var t=$e(e);return t&&"function"==typeof t.$instanceOf&&t.$instanceOf(n)}function Kt(e,n){return Gc(n,function(t){return b(e,t)})}function $e(e){return e&&e.businessObject||e}function ln(e){return!b(e,"bpmn:CallActivity")&&(b(e,"bpmn:SubProcess")?$e(e).di&&!!$e(e).di.isExpanded:!b(e,"bpmn:Participant")||!!$e(e).processRef)}function Gr(e){return e&&!!$e(e).triggeredByEvent}function zv(e,n){var t=$e(e),i=!1;return t.eventDefinitions&&R(t.eventDefinitions,function(r){b(r,n)&&(i=!0)}),i}function EF(e){return b(e,"bpmn:FlowElement")||b(e,"bpmn:Participant")||b(e,"bpmn:Lane")||b(e,"bpmn:SequenceFlow")||b(e,"bpmn:MessageFlow")||b(e,"bpmn:DataInput")||b(e,"bpmn:DataOutput")?"name":b(e,"bpmn:TextAnnotation")?"text":b(e,"bpmn:Group")?"categoryValueRef":void 0}function Go(e){var n=e.businessObject,t=EF(n);if(t)return"categoryValueRef"===t?function nie(e){var n=e.categoryValueRef;return n&&n.value||""}(n):n[t]||""}function _a(e,n,t){return Gc(e.eventDefinitions,function(r){return r.$type===n&&function i(r,o){return Uc(o,function(a,s){return r[s]==a})}(e,t)})}function Qd(e){return e.businessObject.di}function qi(e){return e.businessObject}function zt(e,n){var t=Qd(e);return t.get("color:background-color")||t.get("bioc:fill")||n||"white"}function Le(e,n){var t=Qd(e);return t.get("color:border-color")||t.get("bioc:stroke")||n||"black"}function kf(e,n,t){var r=Qd(e).get("label");return r&&r.get("color:color")||n||Le(e,t)}Xe()(Df,jn),Df.prototype._createModdle=function(e){var n=jn.prototype._createModdle.call(this,e);return n.ids=new S1([32,36,1]),n},Df.prototype._collectIds=function(e,n){var r,i=e.$model.ids;for(r in i.clear(),n)i.claim(r,n[r])};var die=new S1,Jd=.95;function Xc(e,n,t,i,r,o,a){Uo.call(this,n,a);var s=e&&e.defaultFillColor,c=e&&e.defaultStrokeColor,l=e&&e.defaultLabelColor,d=die.next(),u={},h=t.computeStyle;function f(_,m){var S=I({fill:"black",strokeWidth:1,strokeLinecap:"round",strokeDasharray:"none"},m.attrs),A=m.ref||{x:0,y:0},z=m.scale||1;"none"===S.strokeDasharray&&(S.strokeDasharray=[1e4,1]);var L=qe("marker");ge(m.element,S),Ze(L,m.element),ge(L,{id:_,viewBox:"0 0 20 20",refX:A.x,refY:A.y,markerWidth:20*z,markerHeight:20*z,orient:"auto"});var $=Bn("defs",r._svg);$||($=qe("defs"),Ze(r._svg,$)),Ze($,L),u[_]=L}function p(_){return _.replace(/[^0-9a-zA-z]+/g,"_")}function g(_,m,S){var A=_+"-"+p(m)+"-"+p(S)+"-"+d;return u[A]||function v(_,m,S,A){if("sequenceflow-end"===m){var z=qe("path");ge(z,{d:"M 1 5 L 11 10 L 1 15 Z"}),f(_,{element:z,ref:{x:11,y:10},scale:.5,attrs:{fill:A,stroke:A}})}if("messageflow-start"===m){var L=qe("circle");ge(L,{cx:6,cy:6,r:3.5}),f(_,{element:L,attrs:{fill:S,stroke:A},ref:{x:6,y:6}})}if("messageflow-end"===m){var $=qe("path");ge($,{d:"m 1 5 l 0 -3 l 7 3 l -7 3 z"}),f(_,{element:$,attrs:{fill:S,stroke:A,strokeLinecap:"butt"},ref:{x:8.5,y:5}})}if("association-start"===m){var Ne=qe("path");ge(Ne,{d:"M 11 5 L 1 10 L 11 15"}),f(_,{element:Ne,attrs:{fill:"none",stroke:A,strokeWidth:1.5},ref:{x:1,y:10},scale:.5})}if("association-end"===m){var ut=qe("path");ge(ut,{d:"M 1 5 L 11 10 L 1 15"}),f(_,{element:ut,attrs:{fill:"none",stroke:A,strokeWidth:1.5},ref:{x:12,y:10},scale:.5})}if("conditional-flow-marker"===m){var bt=qe("path");ge(bt,{d:"M 0 10 L 8 6 L 16 10 L 8 14 Z"}),f(_,{element:bt,attrs:{fill:S,stroke:A},ref:{x:-1,y:10},scale:.5})}if("conditional-default-flow-marker"===m){var xn=qe("path");ge(xn,{d:"M 6 4 L 10 16"}),f(_,{element:xn,attrs:{stroke:A},ref:{x:0,y:10},scale:.5})}}(A,_,m,S),"url(#"+A+")"}function k(_,m,S,A,z){si(A)&&(z=A,A=0),A=A||0,"none"===(z=h(z,{stroke:"black",strokeWidth:2,fill:"white"})).fill&&delete z.fillOpacity;var L=m/2,$=S/2,Ne=qe("circle");return ge(Ne,{cx:L,cy:$,r:Math.round((m+S)/4-A)}),ge(Ne,z),Ze(_,Ne),Ne}function E(_,m,S,A,z,L){si(z)&&(L=z,z=0),z=z||0,L=h(L,{stroke:"black",strokeWidth:2,fill:"white"});var $=qe("rect");return ge($,{x:z,y:z,width:m-2*z,height:S-2*z,rx:A,ry:A}),ge($,L),Ze(_,$),$}function x(_,m,S){var A=vf(m,S=h(S,["no-fill"],{stroke:"black",strokeWidth:2,fill:"none"}));return Ze(_,A),A}function D(_,m,S){S=h(S,["no-fill"],{strokeWidth:2,stroke:"black"});var A=qe("path");return ge(A,{d:m}),ge(A,S),Ze(_,A),A}function P(_,m,S,A){return D(m,S,I({"data-marker":_},A))}function V(_){return function(m,S){return Ht[_](m,S)}}function F(_){return Ht[_]}function Q(_,m){var S=qi(_),A=function rie(e){return"bpmn:IntermediateThrowEvent"===e.$type||"bpmn:EndEvent"===e.$type}(S);return S.eventDefinitions&&S.eventDefinitions.length>1?S.parallelMultiple?F("bpmn:ParallelMultipleEventDefinition")(m,_,A):F("bpmn:MultipleEventDefinition")(m,_,A):_a(S,"bpmn:MessageEventDefinition")?F("bpmn:MessageEventDefinition")(m,_,A):_a(S,"bpmn:TimerEventDefinition")?F("bpmn:TimerEventDefinition")(m,_,A):_a(S,"bpmn:ConditionalEventDefinition")?F("bpmn:ConditionalEventDefinition")(m,_):_a(S,"bpmn:SignalEventDefinition")?F("bpmn:SignalEventDefinition")(m,_,A):_a(S,"bpmn:EscalationEventDefinition")?F("bpmn:EscalationEventDefinition")(m,_,A):_a(S,"bpmn:LinkEventDefinition")?F("bpmn:LinkEventDefinition")(m,_,A):_a(S,"bpmn:ErrorEventDefinition")?F("bpmn:ErrorEventDefinition")(m,_,A):_a(S,"bpmn:CancelEventDefinition")?F("bpmn:CancelEventDefinition")(m,_,A):_a(S,"bpmn:CompensateEventDefinition")?F("bpmn:CompensateEventDefinition")(m,_,A):_a(S,"bpmn:TerminateEventDefinition")?F("bpmn:TerminateEventDefinition")(m,_,A):null}function be(_,m,S){S=I({size:{width:100}},S);var A=o.createText(m||"",S);return Pt(A).add("djs-label"),Ze(_,A),A}function He(_,m,S){return be(_,qi(m).name,{box:m,align:S,padding:5,style:{fill:kf(m,l,c)}})}function we(_,m,S){W1(be(_,m,{box:{height:30,width:S.height},align:"center-middle",style:{fill:kf(S,l,c)}}),0,1*S.height,270)}function je(_){for(var m=_.waypoints,S="m "+m[0].x+","+m[0].y,A=1;A1)for(;i=t.shift();){if(!(i.length+oE?C.width:E},0),g=o.top;"middle"===r.vertical&&(g+=(t.height-f)/2),g-=(s||l[0].height)/4;var v=qe("text");return ge(v,i),R(l,function(E){var C;switch(g+=s||E.height,r.horizontal){case"left":C=o.left;break;case"right":C=(a?p:d)-o.right-E.width;break;default:C=Math.max(((a?p:d)-E.width)/2+o.left,0)}var x=qe("tspan");ge(x,{x:C,y:g}),x.textContent=E.text,Ze(v,x)}),ti(u),{dimensions:{width:p,height:f},element:v}},SF.$inject=["config.textRenderer"];var kie=/\{([^{}]+)\}/g,Tie=/(?:(?:^|\.)(.+?)(?=\[|\.|$|\()|\[('|")(.+?)\2\])(\(\))?/g;const Iie={__init__:["bpmnRenderer"],bpmnRenderer:["type",Xc],textRenderer:["type",SF],pathMap:["type",rE]},Uv={translate:["value",function Oie(e,n){return n=n||{},e.replace(/{([^}]+)}/g,function(t,i){return n[i]||"{"+i+"}"})}]};var eu={width:90,height:20},DF=15;function ya(e){return b(e,"bpmn:Event")||b(e,"bpmn:Gateway")||b(e,"bpmn:DataStoreReference")||b(e,"bpmn:DataObjectReference")||b(e,"bpmn:DataInput")||b(e,"bpmn:DataOutput")||b(e,"bpmn:SequenceFlow")||b(e,"bpmn:MessageFlow")||b(e,"bpmn:Group")}function tu(e){return mi(e.label)}function nu(e){return e.waypoints?function Rie(e){var n=e.length/2-1,t=e[Math.floor(n)],i=e[Math.ceil(n+.01)],r=function Pie(e){var n=e.length/2-1,t=e[Math.floor(n)],i=e[Math.ceil(n+.01)];return{x:t.x+(i.x-t.x)/2,y:t.y+(i.y-t.y)/2}}(e),o=Math.atan((i.y-t.y)/(i.x-t.x)),a=r.x,s=r.y;return Math.abs(o)=e.x&&t<=e.x+e.width&&i>=e.y&&i<=e.y+e.height}(n,Mt(l))||(n=this._canvas.getRootElement())),this._canvas.addShape(i,n,a)}else{if(!b(t,"bpmndi:BPMNEdge"))throw new Error(r("unknown di {di} for element {semantic}",{di:Bi(t),semantic:Bi(e)}));var d=this._getSource(e),u=this._getTarget(e);i=this._elementFactory.createConnection(Gv(e,{hidden:n&&(n.hidden||n.collapsed),source:d,target:u,waypoints:Fie(e,d,u)})),b(e,"bpmn:DataAssociation")&&(n=null),b(e,"bpmn:SequenceFlow")&&(a=0),this._canvas.addConnection(i,n,a)}return ya(e)&&Go(i)&&this.addLabel(e,i),this._eventBus.fire("bpmnElement.added",{element:i}),i},rs.prototype._attachBoundary=function(e,n){var t=this._translate,i=e.attachedToRef;if(!i)throw new Error(t("missing {semantic}#attachedToRef",{semantic:Bi(e)}));var r=this._elementRegistry.get(i.id),o=r&&r.attachers;if(!r)throw kF(t,e,i,"attachedToRef");n.host=r,o||(r.attachers=o=[]),-1===o.indexOf(n)&&o.push(n)},rs.prototype.addLabel=function(e,n){var t,i,r;return t=function Nie(e,n){var t,i,r,a=e.di.label;return a&&a.bounds?(r=a.bounds,i={width:Math.max(eu.width,r.width),height:r.height},t={x:r.x+r.width/2,y:r.y+r.height/2}):(t=nu(n),i=eu),I({x:t.x-i.width/2,y:t.y-i.height/2},i)}(e,n),(i=Go(n))&&(t=this._textRenderer.getExternalLabelBounds(t,i)),r=this._elementFactory.createLabel(Gv(e,{id:e.id+"_label",labelTarget:n,type:"label",hidden:n.hidden||!Go(n),x:Math.round(t.x),y:Math.round(t.y),width:Math.round(t.width),height:Math.round(t.height)})),this._canvas.addShape(r,n.parent)},rs.prototype._getEnd=function(e,n){var t,i,r=e.$type,o=this._translate;if(i=e[n+"Ref"],"source"===n&&"bpmn:DataInputAssociation"===r&&(i=i&&i[0]),("source"===n&&"bpmn:DataOutputAssociation"===r||"target"===n&&"bpmn:DataInputAssociation"===r)&&(i=e.$parent),t=i&&this._getElement(i))return t;throw i?kF(o,e,i,n+"Ref"):new Error(o("{semantic}#{side} Ref not specified",{semantic:Bi(e),side:n}))},rs.prototype._getSource=function(e){return this._getEnd(e,"source")},rs.prototype._getTarget=function(e){return this._getEnd(e,"target")},rs.prototype._getElement=function(e){return this._elementRegistry.get(e.id)};const Vie={__depends__:[Iie,{__depends__:[Uv],bpmnImporter:["type",rs]}]};function TF(e){!e||"function"!=typeof e.stopPropagation||e.stopPropagation()}function iu(e){return e.originalEvent||e.srcEvent}function oE(e,n){TF(e),TF(iu(e))}function qs(e){return e.pointers&&e.pointers.length&&(e=e.pointers[0]),e.touches&&e.touches.length&&(e=e.touches[0]),e?{x:e.clientX,y:e.clientY}:null}function aE(e,n){return(iu(e)||e).button===n}function Ks(e){return aE(e,0)}function ru(e){var n=iu(e)||e;return!!Ks(e)&&(function jie(){return/mac/i.test(navigator.platform)}()?n.metaKey:n.ctrlKey)}function AF(e){var n=iu(e)||e;return Ks(e)&&n.shiftKey}function Hie(e){return!0}function Wv(e){return Ks(e)||function zie(e){return aE(e,1)}(e)}function IF(e,n,t){var i=this;function r(V,F,Q){var be,He;(function s(V,F){return!(l[V]||Ks)(F)})(V,F)||(Q?He=n.getGraphics(Q):(be=F.delegateTarget||F.target)&&(Q=n.get(He=be)),He&&Q&&!1===e.fire(V,{element:Q,gfx:He,originalEvent:F})&&(F.stopPropagation(),F.preventDefault()))}var o={};function a(V){return o[V]}var c={click:"element.click",contextmenu:"element.contextmenu",dblclick:"element.dblclick",mousedown:"element.mousedown",mousemove:"element.mousemove",mouseover:"element.hover",mouseout:"element.out",mouseup:"element.mouseup"},l={"element.contextmenu":Hie,"element.mousedown":Wv,"element.mouseup":Wv,"element.click":Wv,"element.dblclick":Wv};function h(V,F,Q,be){var He=o[Q]=function(de){r(Q,de)};be&&(l[Q]=be),He.$delegate=Hr.bind(V,"svg, .djs-element",F,He)}function f(V,F,Q){var be=a(Q);be&&Hr.unbind(V,F,be.$delegate)}e.on("canvas.destroy",function(V){!function g(V){R(c,function(F,Q){f(V,Q,F)})}(V.svg)}),e.on("canvas.init",function(V){!function p(V){R(c,function(F,Q){h(V,Q,F)})}(V.svg)}),e.on(["shape.added","connection.added"],function(V){e.fire("interactionEvents.createHit",{element:V.element,gfx:V.gfx})}),e.on(["shape.changed","connection.changed"],500,function(V){e.fire("interactionEvents.updateHit",{element:V.element,gfx:V.gfx})}),e.on("interactionEvents.createHit",500,function(V){i.createDefaultHit(V.element,V.gfx)}),e.on("interactionEvents.updateHit",function(V){i.updateDefaultHit(V.element,V.gfx)});var v=x("djs-hit djs-hit-stroke"),k=x("djs-hit djs-hit-click-stroke"),C={all:x("djs-hit djs-hit-all"),"click-stroke":k,stroke:v};function x(V,F){return F=I({stroke:"white",strokeWidth:15},F||{}),t.cls(V,["no-fill","no-border"],F)}function D(V,F){var Q=C[F];if(!Q)throw new Error("invalid hit type <"+F+">");return ge(V,Q),V}function P(V,F){Ze(V,F)}this.removeHits=function(V){R(k1(".djs-hit",V),ti)},this.createDefaultHit=function(V,F){var Q=V.waypoints,be=V.isFrame;return Q?this.createWaypointsHit(F,Q):this.createBoxHit(F,be?"stroke":"all",{width:V.width,height:V.height})},this.createWaypointsHit=function(V,F){var Q=vf(F);return D(Q,"stroke"),P(V,Q),Q},this.createBoxHit=function(V,F,Q){Q=I({x:0,y:0},Q);var be=qe("rect");return D(be,F),ge(be,Q),P(V,be),be},this.updateDefaultHit=function(V,F){var Q=Bn(".djs-hit",F);if(Q)return V.waypoints?function $ee(e,n){ge(e,{points:MN(n)})}(Q,V.waypoints):ge(Q,{width:V.width,height:V.height}),Q},this.fire=r,this.triggerMouseEvent=function d(V,F,Q){var be=c[V];if(!be)throw new Error("unmapped DOM event name <"+V+">");return r(be,F,Q)},this.mouseHandler=a,this.registerEvent=h,this.unregisterEvent=f}IF.$inject=["eventBus","elementRegistry","styles"];const Tf={__init__:["interactionEvents"],interactionEvents:["type",IF]};function Yv(e,n,t){this.offset=6;var i=n.cls("djs-outline",["no-fill"]),r=this;function o(a,s){var c=qe("rect");return ge(c,I({x:10,y:10,width:100,height:100},i)),Ze(a,c),c}e.on(["shape.added","shape.changed"],500,function(a){var s=a.element,c=a.gfx,l=Bn(".djs-outline",c);l||(l=o(c)),r.updateShapeOutline(l,s)}),e.on(["connection.added","connection.changed"],function(a){var s=a.element,c=a.gfx,l=Bn(".djs-outline",c);l||(l=o(c)),r.updateConnectionOutline(l,s)})}Yv.prototype.updateShapeOutline=function(e,n){ge(e,{x:-this.offset,y:-this.offset,width:n.width+2*this.offset,height:n.height+2*this.offset})},Yv.prototype.updateConnectionOutline=function(e,n){var t=Fi(n);ge(e,{x:t.x-this.offset,y:t.y-this.offset,width:t.width+2*this.offset,height:t.height+2*this.offset})},Yv.$inject=["eventBus","styles","elementRegistry"];const OF={__init__:["outline"],outline:["type",Yv]};function ou(e,n){this._eventBus=e,this._canvas=n,this._selectedElements=[];var t=this;e.on(["shape.remove","connection.remove"],function(i){t.deselect(i.element)}),e.on(["diagram.clear","plane.set"],function(i){t.select(null)})}ou.$inject=["eventBus","canvas"],ou.prototype.deselect=function(e){var n=this._selectedElements,t=n.indexOf(e);if(-1!==t){var i=n.slice();n.splice(t,1),this._eventBus.fire("selection.changed",{oldSelection:i,newSelection:n})}},ou.prototype.get=function(){return this._selectedElements},ou.prototype.isSelected=function(e){return-1!==this._selectedElements.indexOf(e)},ou.prototype.select=function(e,n){var t=this._selectedElements,i=t.slice();Lt(e)||(e=e?[e]:[]);var r=this._canvas;e=e.filter(function(o){return r.findPlane(o)===r.getActivePlane()}),n?R(e,function(o){-1===t.indexOf(o)&&t.push(o)}):this._selectedElements=t=e.slice(),this._eventBus.fire("selection.changed",{oldSelection:i,newSelection:t})};var PF="selected";function NF(e,n,t,i){function r(a,s){n.addMarker(a,s)}function o(a,s){n.removeMarker(a,s)}this._multiSelectionBox=null,e.on("element.hover",function(a){r(a.element,"hover")}),e.on("element.out",function(a){o(a.element,"hover")}),e.on("selection.changed",function(a){var l=a.oldSelection,d=a.newSelection;R(l,function(u){-1===d.indexOf(u)&&function s(u){o(u,PF)}(u)}),R(d,function(u){-1===l.indexOf(u)&&function c(u){r(u,PF)}(u)})})}function FF(e,n,t,i){e.on("create.end",500,function(r){var o=r.context,s=o.elements,l=(o.hints||{}).autoSelect;if(o.canExecute){if(!1===l)return;Lt(l)?n.select(l):n.select(s.filter(Uie))}}),e.on("connect.end",500,function(r){var o=r.context,s=o.hover;o.canExecute&&s&&n.select(s)}),e.on("shape.move.end",500,function(r){var o=r.previousSelection||[],a=i.get(r.context.shape.id);on(o,function(c){return a.id===c.id})||n.select(a)}),e.on("element.click",function(r){if(Ks(r)){var o=r.element;o===t.getRootElement()&&(o=null);var a=n.isSelected(o),s=n.get().length>1,c=ru(r)||AF(r);if(a&&s)return c?n.deselect(o):n.select(o);a?n.deselect(o):n.select(o,c)}})}function Uie(e){return!e.hidden}NF.$inject=["eventBus","canvas","selection","styles"],FF.$inject=["eventBus","selection","canvas","elementRegistry"];const ba={__init__:["selectionVisuals","selectionBehavior"],__depends__:[Tf,OF],selection:["type",ou],selectionVisuals:["type",NF],selectionBehavior:["type",FF]};function sE(e){this._counter=0,this._prefix=(e?e+"-":"")+Math.floor(1e9*Math.random())+"-"}sE.prototype.next=function(){return this._prefix+ ++this._counter};var Gie=new sE("ov");function Ai(e,n,t,i){this._eventBus=n,this._canvas=t,this._elementRegistry=i,this._ids=Gie,this._overlayDefaults=I({show:null,scale:!0},e&&e.defaults),this._overlays={},this._overlayContainers=[],this._overlayRoot=function Yie(e){var n=Dn('
');return e.insertBefore(n,e.firstChild),n}(t.getContainer()),this._init()}function LF(e,n,t){I(e.style,{left:n+"px",top:t+"px"})}function Af(e,n){e.style.display=!1===n?"none":""}function BF(e,n){e.style["transform-origin"]="top left",["","-ms-","-webkit-"].forEach(function(t){e.style[t+"transform"]=n})}Ai.$inject=["config.overlays","eventBus","canvas","elementRegistry"],Ai.prototype.get=function(e){if(Vr(e)&&(e={id:e}),Vr(e.element)&&(e.element=this._elementRegistry.get(e.element)),e.element){var n=this._getOverlayContainer(e.element,!0);return n?e.type?St(n.overlays,$o({type:e.type})):n.overlays.slice():[]}return e.type?St(this._overlays,$o({type:e.type})):e.id?this._overlays[e.id]:null},Ai.prototype.add=function(e,n,t){if(si(n)&&(t=n,n=null),e.id||(e=this._elementRegistry.get(e)),!t.position)throw new Error("must specifiy overlay position");if(!t.html)throw new Error("must specifiy overlay html");if(!e)throw new Error("invalid element specified");var i=this._ids.next();return t=I({},this._overlayDefaults,t,{id:i,type:n,element:e,html:t.html}),this._addOverlay(t),i},Ai.prototype.remove=function(e){var n=this.get(e)||[];Lt(n)||(n=[n]);var t=this;R(n,function(i){var r=t._getOverlayContainer(i.element,!0);if(i&&(ga(i.html),ga(i.htmlContainer),delete i.htmlContainer,delete i.element,delete t._overlays[i.id]),r){var o=r.overlays.indexOf(i);-1!==o&&r.overlays.splice(o,1)}})},Ai.prototype.show=function(){Af(this._overlayRoot)},Ai.prototype.hide=function(){Af(this._overlayRoot,!1)},Ai.prototype.clear=function(){this._overlays={},this._overlayContainers=[],Ev(this._overlayRoot)},Ai.prototype._updateOverlayContainer=function(e){var n=e.element,t=e.html,i=n.x,r=n.y;if(n.waypoints){var o=Fi(n);i=o.x,r=o.y}LF(t,i,r),zr(e.html,"data-container-id",n.id)},Ai.prototype._updateOverlay=function(e){var a,s,n=e.position,t=e.htmlContainer,i=e.element,r=n.left,o=n.top;void 0!==n.right&&(a=i.waypoints?Fi(i).width:i.width,r=-1*n.right+a),void 0!==n.bottom&&(s=i.waypoints?Fi(i).height:i.height,o=-1*n.bottom+s),LF(t,r||0,o||0)},Ai.prototype._createOverlayContainer=function(e){var n=Dn('
');this._overlayRoot.appendChild(n);var t={html:n,element:e,overlays:[]};return this._updateOverlayContainer(t),this._overlayContainers.push(t),t},Ai.prototype._updateRoot=function(e){var n=e.scale||1,t="matrix("+[n,0,0,n,-1*e.x*n,-1*e.y*n].join(",")+")";BF(this._overlayRoot,t)},Ai.prototype._getOverlayContainer=function(e,n){var t=on(this._overlayContainers,function(i){return i.element===e});return t||n?t:this._createOverlayContainer(e)},Ai.prototype._addOverlay=function(e){var r,o,n=e.id,t=e.element,i=e.html;i.get&&i.constructor.prototype.jquery&&(i=i.get(0)),Vr(i)&&(i=Dn(i)),o=this._getOverlayContainer(t),(r=Dn('
')).appendChild(i),e.type&&fi(r).add("djs-overlay-"+e.type);var a=this._canvas.findPlane(t),s=this._canvas.getActivePlane();e.plane=a,a!==s&&Af(r,!1),e.htmlContainer=r,o.overlays.push(e),o.html.appendChild(r),this._overlays[n]=e,this._updateOverlay(e),this._updateOverlayVisibilty(e,this._canvas.viewbox())},Ai.prototype._updateOverlayVisibilty=function(e,n){var t=e.show,r=t&&t.minZoom,o=t&&t.maxZoom,a=e.htmlContainer,c=!0;(e.plane!==this._canvas.getActivePlane()||t&&(zo(r)&&r>n.scale||zo(o)&&or&&(a=(1/n.scale||1)*r)),zo(a)&&(s="scale("+a+","+a+")"),BF(o,s)},Ai.prototype._updateOverlaysVisibilty=function(e){var n=this;R(this._overlays,function(t){n._updateOverlayVisibilty(t,e)})},Ai.prototype._init=function(){var e=this._eventBus,n=this;e.on("canvas.viewbox.changing",function(i){n.hide()}),e.on("canvas.viewbox.changed",function(i){!function t(i){n._updateRoot(i),n._updateOverlaysVisibilty(i),n.show()}(i.viewbox)}),e.on(["shape.remove","connection.remove"],function(i){var r=i.element;R(n.get({element:r}),function(c){n.remove(c.id)});var a=n._getOverlayContainer(r);if(a){ga(a.html);var s=n._overlayContainers.indexOf(a);-1!==s&&n._overlayContainers.splice(s,1)}}),e.on("element.changed",500,function(i){var o=n._getOverlayContainer(i.element,!0);o&&(R(o.overlays,function(a){n._updateOverlay(a)}),n._updateOverlayContainer(o))}),e.on("element.marker.update",function(i){var r=n._getOverlayContainer(i.element,!0);r&&fi(r.html)[i.add?"add":"remove"](i.marker)}),e.on("plane.set",function(i){R(n._overlays,function(r){Af(r.htmlContainer,r.plane===i.plane)})}),e.on("diagram.clear",this.clear,this)};const cE={__init__:["overlays"],overlays:["type",Ai]};function Xs(e){jn.call(this,e)}Xe()(Xs,jn),Xs.prototype._modules=[Vie,Uv,ba,cE],Xs.prototype._moddleExtensions={};var Qie=["c","C",67],Jie=["v","V",86],ere=["y","Y",89],VF=["z","Z",90];function Wr(e){return!e.altKey&&(e.ctrlKey||e.metaKey)}function Wo(e,n){return-1!==(e=Lt(e)?e:[e]).indexOf(n.key)||-1!==e.indexOf(n.keyCode)}function lE(e){return e.shiftKey}var qv="keyboard.keydown",jF="input-handle-modified-keys";function Mi(e,n){var t=this;this._config=e||{},this._eventBus=n,this._keydownHandler=this._keydownHandler.bind(this),this._keyupHandler=this._keyupHandler.bind(this),n.on("diagram.destroy",function(){t._fire("destroy"),t.unbind()}),n.on("diagram.init",function(){t._fire("init")}),n.on("attach",function(){e&&e.bindTo&&t.bind(e.bindTo)}),n.on("detach",function(){t.unbind()})}Mi.$inject=["config.keyboard","eventBus"],Mi.prototype._keydownHandler=function(e){this._keyHandler(e,qv)},Mi.prototype._keyupHandler=function(e){this._keyHandler(e,"keyboard.keyup")},Mi.prototype._keyHandler=function(e,n){this._isEventIgnored(e)||this._eventBus.fire(n||qv,{keyEvent:e})&&e.preventDefault()},Mi.prototype._isEventIgnored=function(e){return function cre(e){return e&&(Cv(e,"input, textarea")||"true"===e.contentEditable)}(e.target)&&this._isModifiedKeyIgnored(e)},Mi.prototype._isModifiedKeyIgnored=function(e){return!Wr(e)||!this._getAllowedModifiers(e.target).includes(e.key)},Mi.prototype._getAllowedModifiers=function(e){var n=Wc(e,"["+jF+"]",!0);return!n||this._node&&!this._node.contains(n)?[]:n.getAttribute(jF).split(",")},Mi.prototype.bind=function(e){this.unbind(),this._node=e,ct.bind(e,"keydown",this._keydownHandler,!0),ct.bind(e,"keyup",this._keyupHandler,!0),this._fire("bind")},Mi.prototype.getBinding=function(){return this._node},Mi.prototype.unbind=function(){var e=this._node;e&&(this._fire("unbind"),ct.unbind(e,"keydown",this._keydownHandler,!0),ct.unbind(e,"keyup",this._keyupHandler,!0)),this._node=null},Mi.prototype._fire=function(e){this._eventBus.fire("keyboard."+e,{node:this._node})},Mi.prototype.addListener=function(e,n,t){Gi(e)&&(t=n,n=e,e=1e3),this._eventBus.on(t||qv,e,n)},Mi.prototype.removeListener=function(e,n){this._eventBus.off(n||qv,e)},Mi.prototype.hasModifier=function tre(e){return e.ctrlKey||e.metaKey||e.shiftKey||e.altKey},Mi.prototype.isCmd=Wr,Mi.prototype.isShift=lE,Mi.prototype.isKey=Wo;var lre=500;function au(e,n){var t=this;e.on("editorActions.init",lre,function(i){t.registerBindings(n,i.editorActions)})}au.$inject=["eventBus","keyboard"],au.prototype.registerBindings=function(e,n){function t(i,r){n.isRegistered(i)&&e.addListener(r)}t("undo",function(i){if(function rre(e){return Wr(e)&&!lE(e)&&Wo(VF,e)}(i.keyEvent))return n.trigger("undo"),!0}),t("redo",function(i){if(function ore(e){return Wr(e)&&(Wo(ere,e)||Wo(VF,e)&&lE(e))}(i.keyEvent))return n.trigger("redo"),!0}),t("copy",function(i){if(function nre(e){return Wr(e)&&Wo(Qie,e)}(i.keyEvent))return n.trigger("copy"),!0}),t("paste",function(i){if(function ire(e){return Wr(e)&&Wo(Jie,e)}(i.keyEvent))return n.trigger("paste"),!0}),t("stepZoom",function(i){var r=i.keyEvent;if(Wo(["+","Add","="],r)&&Wr(r))return n.trigger("stepZoom",{value:1}),!0}),t("stepZoom",function(i){var r=i.keyEvent;if(Wo(["-","Subtract"],r)&&Wr(r))return n.trigger("stepZoom",{value:-1}),!0}),t("zoom",function(i){var r=i.keyEvent;if(Wo("0",r)&&Wr(r))return n.trigger("zoom",{value:1}),!0}),t("removeSelection",function(i){if(Wo(["Backspace","Delete","Del"],i.keyEvent))return n.trigger("removeSelection"),!0})};const dE={__init__:["keyboard","keyboardBindings"],keyboard:["type",Mi],keyboardBindings:["type",au]};var pre={moveSpeed:50,moveSpeedAccelerated:200};function zF(e,n,t){var i=this;this._config=I({},pre,e||{}),n.addListener(function r(o){var a=o.keyEvent,s=i._config;if(n.isCmd(a)&&n.isKey(["ArrowLeft","Left","ArrowUp","Up","ArrowDown","Down","ArrowRight","Right"],a)){var l,c=n.isShift(a)?s.moveSpeedAccelerated:s.moveSpeed;switch(a.key){case"ArrowLeft":case"Left":l="left";break;case"ArrowUp":case"Up":l="up";break;case"ArrowRight":case"Right":l="right";break;case"ArrowDown":case"Down":l="down"}return i.moveCanvas({speed:c,direction:l}),!0}}),this.moveCanvas=function(o){var a=0,s=0,l=o.speed/Math.min(Math.sqrt(t.viewbox().scale),1);switch(o.direction){case"left":a=l;break;case"up":s=l;break;case"right":a=-l;break;case"down":s=-l}t.scroll({dx:a,dy:s})}}zF.$inject=["config.keyboardMove","keyboard","canvas"];const HF={__depends__:[dE],__init__:["keyboardMove"],keyboardMove:["type",zF]};var mre=/^djs-cursor-.*$/;function Kv(e){var n=fi(document.body);n.removeMatching(mre),e&&n.add("djs-cursor-"+e)}function $F(){Kv(null)}var gre=5e3;function UF(e,n){function t(){return!1}return e.once(n=n||"element.click",gre,t),function(){e.off(n,t)}}function Mf(e){return{x:e.x+e.width/2,y:e.y+e.height/2}}function xa(e,n){return{x:e.x-n.x,y:e.y-n.y}}function GF(e,n){var t;function i(a){var s=t.start,c=t.button,l=qs(a),d=xa(l,s);!t.dragging&&function _re(e){return Math.sqrt(Math.pow(e.x,2)+Math.pow(e.y,2))}(d)>15&&(t.dragging=!0,0===c&&UF(e),Kv("grab")),t.dragging&&(d=xa(l,t.last||t.start),n.scroll({dx:d.x,dy:d.y}),t.last=l),a.preventDefault()}function r(a){ct.unbind(document,"mousemove",i),ct.unbind(document,"mouseup",r),t=null,$F()}e.on("element.mousedown",500,function(a){return function o(a){if(!Wc(a.target,".djs-draggable")){var s=a.button;if(!(s>=2||a.ctrlKey||a.shiftKey||a.altKey))return t={button:s,start:qs(a)},ct.bind(document,"mousemove",i),ct.bind(document,"mouseup",r),!0}}(a.originalEvent)}),this.isActive=function(){return!!t}}GF.$inject=["eventBus","canvas"];const WF={__init__:["moveCanvas"],moveCanvas:["type",GF]};function uE(e){return Math.log(e)/Math.log(10)}function YF(e,n){var t=uE(e.min),i=uE(e.max);return(Math.abs(t)+Math.abs(i))/n}var bre=Math.sign||function(e){return e>=0?1:-1},hE={min:.2,max:4};function wa(e,n,t){e=e||{},this._enabled=!1,this._canvas=t,this._container=t._container,this._handleWheel=Wi(this._handleWheel,this),this._totalDelta=0,this._scale=e.scale||.75;var i=this;n.on("canvas.init",function(r){i._init(!1!==e.enabled)})}wa.$inject=["config.zoomScroll","eventBus","canvas"],wa.prototype.scroll=function(n){this._canvas.scroll(n)},wa.prototype.reset=function(){this._canvas.zoom("fit-viewport")},wa.prototype.zoom=function(n,t){var i=YF(hE,20);this._totalDelta+=n,Math.abs(this._totalDelta)>.1&&(this._zoom(n,t,i),this._totalDelta=0)},wa.prototype._handleWheel=function(n){if(!Wc(n.target,".djs-scrollable",!0)){var t=this._container;n.preventDefault();var a,i=n.ctrlKey,r=n.shiftKey,o=-1*this._scale;if(o*=i?0===n.deltaMode?.02:.32:0===n.deltaMode?1:16,i){var s=t.getBoundingClientRect(),c={x:n.clientX-s.left,y:n.clientY-s.top};a=Math.sqrt(Math.pow(n.deltaY,2)+Math.pow(n.deltaX,2))*bre(n.deltaY)*o,this.zoom(a,c)}else this.scroll(a=r?{dx:o*n.deltaY,dy:0}:{dx:o*n.deltaX,dy:o*n.deltaY})}},wa.prototype.stepZoom=function(n,t){var i=YF(hE,10);this._zoom(n,t,i)},wa.prototype._zoom=function(e,n,t){var i=this._canvas,r=e>0?1:-1,o=uE(i.zoom()),a=Math.round(o/t)*t,s=Math.pow(10,a+=t*r);i.zoom(function yre(e,n){return Math.max(e.min,Math.min(e.max,n))}(hE,s),n)},wa.prototype.toggle=function(n){var r=this._enabled;return typeof n>"u"&&(n=!r),r!==n&&ct[n?"bind":"unbind"](this._container,"wheel",this._handleWheel,!1),this._enabled=n,n},wa.prototype._init=function(e){this.toggle(e)};const KF={__init__:["zoomScroll"],zoomScroll:["type",wa]};function If(e){Xs.call(this,e)}Xe()(If,Xs),If.prototype._modules=[].concat(Xs.prototype._modules,If.prototype._navigationModules=[HF,WF,KF]);var Ere=J(490),Zc=J.n(Ere),XF=["mousedown","mouseup","mouseover","mouseout","click","dblclick"];function Xv(e,n){return n.get(e,!1)}function fE(e){e.preventDefault(),"function"==typeof e.stopPropagation?e.stopPropagation():e.srcEvent&&"function"==typeof e.srcEvent.stopPropagation&&e.srcEvent.stopPropagation(),"function"==typeof e.stopImmediatePropagation&&e.stopImmediatePropagation()}function pE(e){function t(l){setTimeout(function(){R(XF,function(d){ct.unbind(e,d,fE,!0)})},500)}ct.bind(e,"touchstart",function n(l){R(XF,function(d){ct.bind(e,d,fE,!0)})},!0),ct.bind(e,"touchend",t,!0),ct.bind(e,"touchcancel",t,!0);var i=new(Zc().Manager)(e,{inputClass:Zc().TouchInput,recognizers:[],domEvents:!0}),r=new(Zc().Tap),o=new(Zc().Pan)({threshold:10}),a=new(Zc().Press),s=new(Zc().Pinch),c=new(Zc().Tap)({event:"doubletap",taps:2});return s.requireFailure(o),s.requireFailure(a),i.add([o,a,s,c,r]),i.reset=function(l){var d=this.recognizers,u=this.session;u.stopped||(i.stop(l),setTimeout(function(){var h,f;for(h=0;f=d[h];h++)f.reset(),f.state=8;u.curRecognizer=null},0))},i.on("hammer.input",function(l){l.srcEvent.defaultPrevented&&i.reset(!0)}),i}function ZF(e,n,t,i,r){var l,o=Xv("dragging",e),a=Xv("move",e),s=Xv("contextPad",e),c=Xv("palette",e);function d(f,p){return function(g){var v=u(g.target),k=v&&i.get(v);return p&&(g.srcEvent.button=p),r.fire(f,g,k)}}function u(f){return Wc(f,"svg, .djs-element",!0)}o&&t.on("drag.move",function(f){var p=f.originalEvent;if(p&&!(p instanceof MouseEvent)){var g=qs(p),k=u(document.elementFromPoint(g.x,g.y)),E=k&&i.get(k);E!==f.hover&&(f.hover&&o.out(f),E&&(o.hover({element:E,gfx:k}),f.hover=E,f.hoverGfx=k))}}),s&&t.on("contextPad.create",function(f){var g=pE(f.pad.html);g.on("panstart",function(v){s.trigger("dragstart",v,!0)}),g.on("press",function(v){s.trigger("dragstart",v,!0)}),g.on("tap",function(v){s.trigger("click",v)})}),c&&t.on("palette.create",function(f){var g=pE(f.container);g.on("panstart",function(v){c.trigger("dragstart",v,!0)}),g.on("press",function(v){c.trigger("dragstart",v,!0)}),g.on("tap",function(v){c.trigger("click",v)})}),t.on("canvas.init",function(f){!function h(f){function g(k){var E=u(k.target),C=E&&i.get(E);if(a&&n.getRootElement()!==C)return a.start(k,C,!0);!function p(k){var E=0,C=0;function x(P){n.scroll({dx:P.deltaX-E,dy:P.deltaY-C}),E=P.deltaX,C=P.deltaY}function D(P){l.off("panmove",x),l.off("panend",D),l.off("pancancel",D)}l.on("panmove",x),l.on("panend",D),l.on("pancancel",D)}()}(l=pE(f)).on("tap",d("element.click")),l.on("doubletap",d("element.dblclick",1)),l.on("panstart",g),l.on("press",g),l.on("pinchstart",function v(k){var E=n.zoom(),C=k.center;function x(P){var F=Math.max(.2,Math.min(4,(1-(1-P.scale)/1.5)*E));n.zoom(F,C),fE(P)}function D(P){l.off("pinchmove",x),l.off("pinchend",D),l.off("pinchcancel",D),l.reset(!0)}l.on("pinchmove",x),l.on("pinchend",D),l.on("pinchcancel",D)})}(f.svg)})}function mE(e,n){var t=this;n.on("canvas.init",function(i){t.addBBoxMarker(i.svg)})}ZF.$inject=["injector","canvas","eventBus","elementRegistry","interactionEvents","touchFix"],mE.$inject=["canvas","eventBus"],mE.prototype.addBBoxMarker=function(e){var n={fill:"none",class:"outer-bound-marker"},t=qe("rect");ge(t,{x:-1e4,y:1e4,width:10,height:10}),ge(t,n),Ze(e,t);var i=qe("rect");ge(i,{x:1e4,y:1e4,width:10,height:10}),ge(i,n),Ze(e,i)};const Dre={__depends__:[{__depends__:[Tf],__init__:["touchInteractionEvents"],touchInteractionEvents:["type",ZF],touchFix:["type",mE]}]};function gE(e){return e&&e[e.length-1]}function QF(e){return e.y}function JF(e){return e.x}var kre={left:JF,center:JF,right:function(e){return e.x+e.width},top:QF,middle:QF,bottom:function(e){return e.y+e.height}};function su(e){this._modeling=e}su.$inject=["modeling"],su.prototype._getOrientationDetails=function(e){var t="x",i="width";return-1!==["top","bottom","middle"].indexOf(e)&&(t="y",i="height"),{axis:t,dimension:i}},su.prototype._isType=function(e,n){return-1!==n.indexOf(e)},su.prototype._alignmentPosition=function(e,n){var c,l,d,t=this._getOrientationDetails(e),i=t.axis,r=t.dimension,o={},a={},s=!1;if(this._isType(e,["left","top"]))o[e]=n[0][i];else if(this._isType(e,["right","bottom"]))d=gE(n),o[e]=d[i]+d[r];else if(this._isType(e,["center","middle"])){if(R(n,function(h){var f=h[i]+Math.round(h[r]/2);a[f]?a[f].elements.push(h):a[f]={elements:[h],center:f}}),c=Ho(a,function(h){return h.elements.length>1&&(s=!0),h.elements.length}),s)return o[e]=gE(c).center,o;l=n[0],d=gE(n=Ho(n,function(h){return h[i]+h[r]})),o[e]=function u(h,f){return Math.round((h[i]+f[i]+f[r])/2)}(l,d)}return o},su.prototype.trigger=function(e,n){var t=this._modeling,i=St(e,function(s){return!(s.waypoints||s.host||s.labelTarget)});if(!(i.length<2)){var o=Ho(i,kre[n]),a=this._alignmentPosition(n,o);t.alignElements(o,a)}};const Tre={__init__:["alignElements"],alignElements:["type",su]};var Are=10,e4=50,Mre=250;function vE(e,n,t,i){for(var r;r=Ire(e,t,n);)t=i(n,t,r);return t}function _E(e){return function(n,t,i){var r={x:t.x,y:t.y};return["x","y"].forEach(function(o){var a=e[o];if(a){var s="x"===o?"width":"height",c=a.margin,l=a.minDistance;r[o]=c<0?Math.min(i[o]+c-n[s]/2,t[o]-l+c):Math.max(i[o]+i[s]+c+n[s]/2,t[o]+l+c)}}),r}}function Ire(e,n,t){var i={x:n.x-t.width/2,y:n.y-t.height/2,width:t.width,height:t.height},r=function Rre(e){var n=yE(e);return e.host&&(n=n.concat(yE(e.host))),e.attachers&&(n=n.concat(e.attachers.reduce(function(t,i){return t.concat(yE(i))},[]))),n}(e);return on(r,function(o){return o!==t&&"intersect"===Li(o,i,Are)})}function yE(e){return function Nre(e){return e.outgoing.map(function(n){return n.target})}(e).concat(function Pre(e){return e.incoming.map(function(n){return n.source})}(e))}function Fre(){return!0}function t4(e,n,t){e.on("autoPlace",100,function(i){return function Bre(e,n,t){t||(t={});var i=t.defaultDistance||e4,r=Mt(e);return{x:at(e).right+i+n.width/2,y:r.y}}(i.source,i.shape)}),e.on("autoPlace.end",function(i){t.scrollToElement(i.shape)}),this.append=function(i,r,o){e.fire("autoPlace.start",{source:i,shape:r});var a=e.fire("autoPlace",{source:i,shape:r}),s=n.appendShape(i,r,a,i.parent,o);return e.fire("autoPlace.end",{source:i,shape:s}),s}}function n4(e,n){e.on("autoPlace.end",500,function(t){n.select(t.shape)})}t4.$inject=["eventBus","modeling","canvas"],n4.$inject=["eventBus","selection"];const Vre={__init__:["autoPlaceSelectionBehavior"],autoPlace:["type",t4],autoPlaceSelectionBehavior:["type",n4]};function i4(e,n){return b(n,"bpmn:TextAnnotation")?function Hre(e,n){var t=at(e);return vE(e,n,{x:t.right+n.width/2,y:t.top-50-n.height/2},_E({y:{margin:-30,minDistance:20}}))}(e,n):Kt(n,["bpmn:DataObjectReference","bpmn:DataStoreReference"])?function $re(e,n){var t=at(e);return vE(e,n,{x:t.right-10+n.width/2,y:t.bottom+40+n.width/2},_E({x:{margin:30,minDistance:30}}))}(e,n):b(n,"bpmn:FlowNode")?function jre(e,n){var t=at(e),i=Mt(e),r=function Ore(e,n){n||(n={});var i=n.defaultDistance||e4,r=n.direction||"e",o=n.filter,a=n.getWeight||function t(p){return p.source===e?1:-1},s=n.maxDistance||Mre,c=n.reference||"start";function l(p,g){return"n"===r?"start"===c?at(p).top-at(g).bottom:"center"===c?at(p).top-Mt(g).y:at(p).top-at(g).top:"w"===r?"start"===c?at(p).left-at(g).right:"center"===c?at(p).left-Mt(g).x:at(p).left-at(g).left:"s"===r?"start"===c?at(g).top-at(p).bottom:"center"===c?Mt(g).y-at(p).bottom:at(g).bottom-at(p).bottom:"start"===c?at(g).left-at(p).right:"center"===c?Mt(g).x-at(p).right:at(g).right-at(p).right}o||(o=Fre);var d=e.incoming.filter(o).map(function(p){var g=a(p),v=g<0?l(p.source,e):l(e,p.source);return{id:p.source.id,distance:v,weight:g}}),u=e.outgoing.filter(o).map(function(p){var g=a(p),v=g>0?l(e,p.target):l(p.target,e);return{id:p.target.id,distance:v,weight:g}});return br(d.concat(u).reduce(function(p,g){return p[g.id+"__weight_"+g.weight]=g,p},{}),function(p,g){var v=g.distance,k=g.weight;return v<0||v>s||(p[String(v)]||(p[String(v)]=0),p[String(v)]+=1*k,(!p.distance||p[p.distance]n.top&&(t=t.concat("n")),e.rightn.left&&(t=t.concat("e")),t}(jr(n,["x","y","width","height"]),i);this.resize(n,i,{autoResize:r});var o=n.parent;o&&this._expand([n],o)}}},os.prototype.getOffset=function(e){return{top:60,bottom:60,left:100,right:100}},os.prototype.getPadding=function(e){return{top:2,bottom:2,left:15,right:15}},os.prototype.resize=function(e,n,t){this._modeling.resizeShape(e,n,null,t)},Zv.$inject=["injector"],Xe()(Zv,os),Zv.prototype.resize=function(e,n,t){b(e,"bpmn:Participant")?this._modeling.resizeLane(e,n,null,t):this._modeling.resizeShape(e,n,null,t)},Ea.$inject=["eventBus"],Xe()(Ea,Ve),Ea.prototype.addRule=function(e,n,t){var i=this;"string"==typeof e&&(e=[e]),e.forEach(function(r){i.canExecute(r,n,function(o,a,s){return t(o)},!0)})},Ea.prototype.init=function(){},Of.$inject=["eventBus"],Xe()(Of,Ea),Of.prototype.canResize=function(e,n){return!1},Xe()(Qv,Of),Qv.$inject=["eventBus","modeling"],Qv.prototype.canResize=function(e,n){if(!b(n,"bpmn:Participant")&&!b(n,"bpmn:Lane")&&!b(n,"bpmn:SubProcess"))return!1;var t=!0;return R(e,function(i){(b(i,"bpmn:Lane")||i.labelTarget)&&(t=!1)}),t};const Xre={__init__:["bpmnAutoResize","bpmnAutoResizeProvider"],bpmnAutoResize:["type",Zv],bpmnAutoResizeProvider:["type",Qv]};function a4(e,n,t){var a,s,i=this,r=t.get("dragging",!1);r&&n.on("drag.start",function(a){n.once("drag.move",1500,function(s){!function o(a){if(!a.hover){var s=a.originalEvent,c=i._findTargetGfx(s),l=c&&e.get(c);c&&l&&(a.stopPropagation(),r.hover({element:l,gfx:c}),r.move(s))}}(s)})}),n.on("element.hover",function(c){a=c.gfx,s=c.element}),n.on("element.hover",1500,function(c){s&&n.fire("element.out",{element:s,gfx:a})}),n.on("element.out",function(){a=null,s=null}),this._findTargetGfx=function(a){var s;if(a instanceof MouseEvent)return s=qs(a),function Zre(e){return Wc(e,"svg, .djs-element",!0)}(document.elementFromPoint(s.x,s.y))}}a4.$inject=["elementRegistry","eventBus","injector"];const Qre={__init__:["hoverFix"],hoverFix:["type",a4]};var cu=Math.round,s4="djs-drag-active";function Qc(e){e.preventDefault()}function c4(e,n,t,i){var o,r={threshold:5,trapClick:!0};function a(C){var x=n.viewbox(),D=n._container.getBoundingClientRect();return{x:x.x+(C.x-D.left)/x.scale,y:x.y+(C.y-D.top)/x.scale}}function s(C,x){var D=e.createEvent(I({},(x=x||o).payload,x.data,{isTouch:x.isTouch}));return!1!==e.fire("drag."+C,D)&&e.fire(x.prefix+"."+C,D)}function l(C,x){var D=o.payload,P=o.displacement,V=o.globalStart,F=qs(C),Q=xa(F,V),be=o.localStart,He=a(F),de=xa(He,be);if(!o.active&&(x||function eoe(e){return Math.sqrt(Math.pow(e.x,2)+Math.pow(e.y,2))}(Q)>o.threshold)){if(I(D,{x:cu(be.x+P.x),y:cu(be.y+P.y),dx:0,dy:0},{originalEvent:C}),!1===s("start"))return v();o.active=!0,o.keepSelection||(D.previousSelection=t.get(),t.select(null)),o.cursor&&Kv(o.cursor),n.addMarker(n.getRootElement(),s4)}oE(C),o.active&&(I(D,{x:cu(He.x+P.x),y:cu(He.y+P.y),dx:cu(de.x),dy:cu(de.y)},{originalEvent:C}),s("move"))}function d(C){var D=!0;o.active&&(C&&(o.payload.originalEvent=C,oE(C)),D=s("end")),!1===D&&s("rejected"),s("ended",k(!0!==D))}function u(C){27===C.which&&(Qc(C),v())}function h(C){var x;o.active&&(x=UF(e),setTimeout(x,400),Qc(C)),d(C)}function f(C){l(C)}function p(C){var x=o.payload;x.hoverGfx=C.gfx,x.hover=C.element,s("hover")}function g(C){s("out");var x=o.payload;x.hoverGfx=null,x.hover=null}function v(C){var x;if(o){var D=o.active;D&&s("cancel"),x=k(C),D&&s("canceled",x)}}function k(C){var x,D;s("cleanup"),$F(),D=o.trapClick?h:d,ct.unbind(document,"mousemove",l),ct.unbind(document,"dragstart",Qc),ct.unbind(document,"selectstart",Qc),ct.unbind(document,"mousedown",D,!0),ct.unbind(document,"mouseup",D,!0),ct.unbind(document,"keyup",u),ct.unbind(document,"touchstart",f,!0),ct.unbind(document,"touchcancel",v,!0),ct.unbind(document,"touchmove",l,!0),ct.unbind(document,"touchend",d,!0),e.off("element.hover",p),e.off("element.out",g),n.removeMarker(n.getRootElement(),s4);var P=o.payload.previousSelection;return!1!==C&&P&&!t.get().length&&function c(C){var x=C.filter(function(D){return i.get(D.id)});x.length&&t.select(x)}(P),x=o,o=null,x}e.on("diagram.destroy",v),this.init=function E(C,x,D,P){o&&v(!1),"string"==typeof x&&(P=D,D=x,x=null);var F,Q,be,He,de,V=(P=I({},r,P||{})).data||{};He=P.trapClick?h:d,C?(F=iu(C)||C,Q=qs(C),oE(C),"dragstart"===F.type&&Qc(F)):(F=null,Q={x:0,y:0}),be=a(Q),x||(x=be),de=function Jre(e){return typeof TouchEvent<"u"&&e instanceof TouchEvent}(F),o=I({prefix:D,data:V,payload:{},globalStart:Q,displacement:xa(x,be),localStart:be,isTouch:de},P),P.manual||(de?(ct.bind(document,"touchstart",f,!0),ct.bind(document,"touchcancel",v,!0),ct.bind(document,"touchmove",l,!0),ct.bind(document,"touchend",d,!0)):(ct.bind(document,"mousemove",l),ct.bind(document,"dragstart",Qc),ct.bind(document,"selectstart",Qc),ct.bind(document,"mousedown",He,!0),ct.bind(document,"mouseup",He,!0)),ct.bind(document,"keyup",u),e.on("element.hover",p),e.on("element.out",g)),s("init"),P.autoActivate&&l(C,!0)},this.move=l,this.hover=p,this.out=g,this.end=d,this.cancel=v,this.context=function(){return o},this.setOptions=function(C){I(r,C)}}c4.$inject=["eventBus","canvas","selection","elementRegistry"];const as={__depends__:[Qre,ba],dragging:["type",c4]};function lu(e,n,t){this._canvas=t,this._opts=I({scrollThresholdIn:[20,20,20,20],scrollThresholdOut:[0,0,0,0],scrollRepeatTimeout:15,scrollStep:10},e);var i=this;n.on("drag.move",function(r){var o=i._toBorderPoint(r);i.startScroll(o)}),n.on(["drag.cleanup"],function(){i.stopScroll()})}function toe(e,n,t){return nP-3&&(Q=Li(f.target,D),g===P-2?"intersect"===Q&&(C.pop(),C[C.length-1]=D):"intersect"!==Q&&C.push(k)),h.newWaypoints=f.waypoints=s(f,C),function l(u,h,f){var p=u.newWaypoints,x=function moe(e,n,t,i){var r=Math.max(n[i],t[i]),o=Math.min(n[i],t[i]);return kE(n,i,Math.min(Math.max(o+20,e[i]),r-20))}(f,p[u.segmentStartIndex+h],p[u.segmentEndIndex+h],C4(u.axis));sr(u.draggerGfx,x.x,x.y)}(h,V,u),h.newSegmentStartIndex=p+V,c(u)}),n.on("connectionSegment.move.hover",function(u){u.context.hover=u.hover,t.addMarker(u.hover,x4)}),n.on(["connectionSegment.move.out","connectionSegment.move.cleanup"],function(u){var h=u.context.hover;h&&t.removeMarker(h,x4)}),n.on("connectionSegment.move.cleanup",function(u){var h=u.context,f=h.connection;h.draggerGfx&&ti(h.draggerGfx),t.removeMarker(f,w4)}),n.on(["connectionSegment.move.cancel","connectionSegment.move.end"],function(u){var h=u.context;h.connection.waypoints=h.originalWaypoints,c(u)}),n.on("connectionSegment.move.end",function(u){var h=u.context,f=h.connection,p=h.newWaypoints,g=h.newSegmentStartIndex,v=function d(u,h){var f=0;return{waypoints:u.filter(function(g,v){return!z1(u[v-1],u[v+1],g)||(f=v<=h?f-1:f,!1)}),segmentOffset:f}}(p=p.map(function(D){return{original:D.original,x:Math.round(D.x),y:Math.round(D.y)}}),g),E=s(f,v.waypoints);o.updateWaypoints(f,E,{segmentMove:{segmentStartIndex:h.segmentStartIndex,newSegmentStartIndex:g+v.segmentOffset}})})}D4.$inject=["injector","eventBus","canvas","dragging","graphicsFactory","modeling"];var goe=Math.abs,k4=Math.round;function T4(e){return{x:e.x,y:e.y}}function A4(e){return{x:e.x+e.width,y:e.y+e.height}}function po(e,n){return!e||isNaN(e.x)||isNaN(e.y)?n:{x:k4(e.x+e.width/2),y:k4(e.y+e.height/2)}}function du(e,n){var t=e.snapped;return!!t&&("string"==typeof n?t[n]:t.x&&t.y)}function gi(e,n,t){if("string"!=typeof n)throw new Error("axis must be in [x, y]");if("number"!=typeof t&&!1!==t)throw new Error("value must be Number or false");var i,r=e[n],o=e.snapped=e.snapped||{};return!1===t?o[n]=!1:(o[n]=!0,e[n]+=i=t-r,e["d"+n]+=i),r}function M4(e){return e.children||[]}var _oe=Math.abs,I4=Math.round;function O4(e){function n(o,a){if(Lt(o)){for(var s=o.length;s--;)if(_oe(o[s]-a)<=10)return o[s]}else{var c=a%(o=+o);if(c<10)return a-c;if(c>o-10)return a-c+o}return a}function t(o){if(o.width)return{x:I4(o.width/2+o.x),y:I4(o.height/2+o.y)}}e.on("connectionSegment.move.move",1500,function(o){var d,u,s=function i(o){var a=o.snapPoints,s=o.connection,c=s.waypoints,d=o.segmentStartIndex,h=o.segmentEndIndex,f=o.axis;if(a)return a;var p=[c[d-1],o.segmentStart,o.segmentEnd,c[h+1]];return d<2&&p.unshift(t(s.source)),h>c.length-3&&p.unshift(t(s.target)),o.snapPoints=a={horizontal:[],vertical:[]},R(p,function(g){g&&(g=g.original||g,"y"===f&&a.horizontal.push(g.y),"x"===f&&a.vertical.push(g.x))}),a}(o.context),c=o.x,l=o.y;if(s){var h=c-(d=n(s.vertical,c)),f=l-(u=n(s.horizontal,l));I(o,{dx:o.dx-h,dy:o.dy-f,x:d,y:u}),(h||-1!==s.vertical.indexOf(c))&&gi(o,"x",d),(f||-1!==s.horizontal.indexOf(l))&&gi(o,"y",u)}}),e.on(["bendpoint.move.move","bendpoint.move.end"],1500,function(o){var h,f,a=o.context,s=function r(o){var a=o.snapPoints,s=o.connection.waypoints,c=o.bendpointIndex;if(a)return a;var l=[s[c-1],s[c+1]];return o.snapPoints=a={horizontal:[],vertical:[]},R(l,function(d){d&&(a.horizontal.push((d=d.original||d).y),a.vertical.push(d.x))}),a}(a),c=a.hover,l=c&&t(c),d=o.x,u=o.y;if(s){var p=d-(h=n(l?s.vertical.concat([l.x]):s.vertical,d)),g=u-(f=n(l?s.horizontal.concat([l.y]):s.horizontal,u));I(o,{dx:o.dx-p,dy:o.dy-g,x:o.x-p,y:o.y-g}),(p||-1!==s.vertical.indexOf(d))&&gi(o,"x",h),(g||-1!==s.horizontal.indexOf(u))&&gi(o,"y",f)}})}O4.$inject=["eventBus"];const yoe={__depends__:[as,Ca],__init__:["bendpoints","bendpointSnapping","bendpointMovePreview"],bendpoints:["type",f4],bendpointMove:["type",DE],bendpointMovePreview:["type",b4],connectionSegmentMove:["type",D4],bendpointSnapping:["type",O4]};function R4(e,n,t,i){function r(a,s){return i.allowed("connection.create",{source:a,target:s})}e.on("connect.hover",function(a){var d,s=a.context,c=s.start,l=a.hover;if(s.hover=l,!bv(d=s.canExecute=r(c,l))){if(!1!==d)return s.source=c,void(s.target=l);d=s.canExecute=function o(a,s){return r(s,a)}(c,l),!bv(d)&&!1!==d&&(s.source=l,s.target=c)}}),e.on(["connect.out","connect.cleanup"],function(a){var s=a.context;s.hover=null,s.source=null,s.target=null,s.canExecute=!1}),e.on("connect.end",function(a){var s=a.context,c=s.canExecute,l=s.connectionStart,d={x:a.x,y:a.y},u=s.source,h=s.target;if(!c)return!1;var f=null,p={connectionStart:AE(s)?d:l,connectionEnd:AE(s)?l:d};si(c)&&(f=c),t.connect(u,h,f,p)}),this.start=function(a,s,c,l){si(c)||(l=c,c=Mt(s)),n.init(a,"connect",{autoActivate:l,data:{shape:s,context:{start:s,connectionStart:c}}})}}function AE(e){var n=e.hover,t=e.source;return n&&t&&n===t&&t!==e.target}R4.$inject=["eventBus","dragging","modeling","rules"];var P4="connect-ok",N4="connect-not-ok";function F4(e,n,t){var i=e.get("connectionPreview",!1);i&&n.on("connect.move",function(r){var o=r.context,a=o.canExecute,s=o.hover,c=o.source,l=o.start,u=o.target,h=o.connectionStart||o.startPosition,f=o.connectionEnd||{x:r.x,y:r.y},p=h,g=f;AE(o)&&(p=f,g=h),i.drawPreview(o,a,{source:c||l,target:u||s,connectionStart:p,connectionEnd:g})}),n.on("connect.hover",900,function(r){var s=r.context.canExecute;null!==s&&t.addMarker(r.hover,s?P4:N4)}),n.on(["connect.out","connect.cleanup"],1100,function(r){var o=r.hover;o&&(t.removeMarker(o,P4),t.removeMarker(o,N4))}),i&&n.on("connect.cleanup",function(r){i.cleanUp(r.context)})}F4.$inject=["injector","eventBus","canvas"];const ME={__depends__:[ba,Ca,as],__init__:["connectPreview"],connect:["type",R4],connectPreview:["type",F4]};function ss(e,n,t,i){this._canvas=n,this._graphicsFactory=t,this._elementFactory=i,this._connectionDocking=e.get("connectionDocking",!1),this._layouter=e.get("layouter",!1)}ss.$inject=["injector","canvas","graphicsFactory","elementFactory"],ss.prototype.drawPreview=function(e,n,t){var f,i=e.connectionPreviewGfx,r=e.getConnection,o=(t=t||{}).source,a=t.target,s=t.waypoints,c=t.connectionStart,l=t.connectionEnd,d=t.noLayout,u=t.noCropping,h=t.noNoop,p=this;i||(i=e.connectionPreviewGfx=this.createConnectionPreviewGfx()),O1(i),r||(r=e.getConnection=function Eoe(e){var n={};return function(t){var i=JSON.stringify(t),r=n[i];return r||(r=n[i]=e.apply(null,arguments)),r}}(function(g,v,k){return p.getConnection(g,v,k)})),n&&(f=r(n,o,a)),f?(f.waypoints=s||[],this._layouter&&!d&&(f.waypoints=this._layouter.layoutConnection(f,{source:o,target:a,connectionStart:c,connectionEnd:l,waypoints:t.waypoints||f.waypoints})),(!f.waypoints||!f.waypoints.length)&&(f.waypoints=[o?Mt(o):c,a?Mt(a):l]),this._connectionDocking&&(o||a)&&!u&&(f.waypoints=this._connectionDocking.getCroppedWaypoints(f,o,a)),this._graphicsFactory.drawConnection(i,f)):!h&&this.drawNoopPreview(i,t)},ss.prototype.drawNoopPreview=function(e,n){var t=n.source,i=n.target,r=n.connectionStart||Mt(t),o=n.connectionEnd||Mt(i),a=this.cropWaypoints(r,o,t,i);Ze(e,this.createNoopConnection(a[0],a[1]))},ss.prototype.cropWaypoints=function(e,n,t,i){var r=this._graphicsFactory,o=t&&r.getShapePath(t),a=i&&r.getShapePath(i),s=r.getConnectionPath({waypoints:[e,n]});return[e=t&&U1(o,s,!0)||e,n=i&&U1(a,s,!1)||n]},ss.prototype.cleanUp=function(e){e&&e.connectionPreviewGfx&&ti(e.connectionPreviewGfx)},ss.prototype.getConnection=function(e){var n=function Coe(e){return si(e)?e:{}}(e);return this._elementFactory.createConnection(n)},ss.prototype.createConnectionPreviewGfx=function(){var e=qe("g");return ge(e,{pointerEvents:"none"}),Pt(e).add("djs-connection-preview"),Ze(this._canvas.getActiveLayer(),e),e},ss.prototype.createNoopConnection=function(e,n){var t=qe("polyline");return ge(t,{stroke:"#333",strokeDasharray:[1],strokeWidth:2,"pointer-events":"none"}),ge(t,{points:[e.x,e.y,n.x,n.y]}),t};const Soe={__init__:["connectionPreview"],connectionPreview:["type",ss]};var L4=Math.min,B4=Math.max;function IE(e){e.preventDefault()}function Nf(e){e.stopPropagation()}function Yo(e){this.container=e.container,this.parent=Dn('
'),this.content=Bn("[contenteditable]",this.parent),this.keyHandler=e.keyHandler||function(){},this.resizeHandler=e.resizeHandler||function(){},this.autoResize=Wi(this.autoResize,this),this.handlePaste=Wi(this.handlePaste,this)}function mo(e,n){this._eventBus=e,this._providers=[],this._textbox=new Yo({container:n.getContainer(),keyHandler:Wi(this._handleKey,this),resizeHandler:Wi(this._handleResize,this)})}Yo.prototype.create=function(e,n,t,i){var o=this.parent,a=this.content,s=this.container;i=this.options=i||{};var c=jr(n=this.style=n||{},["width","height","maxWidth","maxHeight","minWidth","minHeight","left","top","backgroundColor","position","overflow","border","wordWrap","textAlign","outline","transform"]);I(o.style,{width:e.width+"px",height:e.height+"px",maxWidth:e.maxWidth+"px",maxHeight:e.maxHeight+"px",minWidth:e.minWidth+"px",minHeight:e.minHeight+"px",left:e.x+"px",top:e.y+"px",backgroundColor:"#ffffff",position:"absolute",overflow:"visible",border:"1px solid #ccc",boxSizing:"border-box",wordWrap:"normal",textAlign:"center",outline:"none"},c);var l=jr(n,["fontFamily","fontSize","fontWeight","lineHeight","padding","paddingTop","paddingRight","paddingBottom","paddingLeft"]);return I(a.style,{boxSizing:"border-box",width:"100%",outline:"none",wordWrap:"break-word"},l),i.centerVertically&&I(a.style,{position:"absolute",top:"50%",transform:"translate(0, -50%)"},l),a.innerText=t,ct.bind(a,"keydown",this.keyHandler),ct.bind(a,"mousedown",Nf),ct.bind(a,"paste",this.handlePaste),i.autoResize&&ct.bind(a,"input",this.autoResize),i.resizable&&this.resizable(n),s.appendChild(o),this.setSelection(a.lastChild,a.lastChild&&a.lastChild.length),o},Yo.prototype.handlePaste=function(e){var i,n=this.options,t=this.style;if(e.preventDefault(),i=e.clipboardData?e.clipboardData.getData("text/plain"):window.clipboardData.getData("Text"),this.insertText(i),n.autoResize){var r=this.autoResize(t);r&&this.resizeHandler(r)}},Yo.prototype.insertText=function(e){e=function Toe(e){return e.replace(/\r\n|\r|\n/g,"\n")}(e),document.execCommand("insertText",!1,e)||this._insertTextIE(e)},Yo.prototype._insertTextIE=function(e){var c,l,n=this.getSelection(),t=n.startContainer,i=n.endContainer,r=n.startOffset,o=n.endOffset,a=n.commonAncestorContainer,s=function koe(e){return[].slice.call(e)}(a.childNodes);if(function Doe(e){return e.nodeType===Node.TEXT_NODE}(a)){var d=t.textContent;t.textContent=d.substring(0,r)+e+d.substring(o),c=t,l=r+e.length}else if(t===this.content&&i===this.content){var u=document.createTextNode(e);this.content.insertBefore(u,s[r]),c=u,l=u.textContent.length}else{var h=s.indexOf(t),f=s.indexOf(i);s.forEach(function(p,g){g===h?p.textContent=t.textContent.substring(0,r)+e+i.textContent.substring(o):g>h&&g<=f&&ga(p)}),c=t,l=r+e.length}c&&void 0!==l&&setTimeout(function(){self.setSelection(c,l)})},Yo.prototype.autoResize=function(){var e=this.parent,n=this.content,t=parseInt(this.style.fontSize)||12;if(n.scrollHeight>e.offsetHeight||n.scrollHeight
');var s,c,l,d,h=function(p){IE(p),Nf(p);var g=L4(B4(l+p.clientX-s,i),o),v=L4(B4(d+p.clientY-c,r),a);n.style.width=g+"px",n.style.height=v+"px",e.resizeHandler({width:l,height:d,dx:p.clientX-s,dy:p.clientY-c})},f=function(p){IE(p),Nf(p),ct.unbind(document,"mousemove",h,!1),ct.unbind(document,"mouseup",f,!1)};ct.bind(t,"mousedown",function(p){IE(p),Nf(p),s=p.clientX,c=p.clientY;var g=n.getBoundingClientRect();l=g.width,d=g.height,ct.bind(document,"mousemove",h),ct.bind(document,"mouseup",f)})}I(t.style,{position:"absolute",bottom:"0px",right:"0px",cursor:"nwse-resize",width:"0",height:"0",borderTop:(parseInt(this.style.fontSize)/4||3)+"px solid transparent",borderRight:(parseInt(this.style.fontSize)/4||3)+"px solid #ccc",borderBottom:(parseInt(this.style.fontSize)/4||3)+"px solid #ccc",borderLeft:(parseInt(this.style.fontSize)/4||3)+"px solid transparent"}),n.appendChild(t)},Yo.prototype.destroy=function(){var e=this.parent,n=this.content,t=this.resizeHandle;n.innerText="",e.removeAttribute("style"),n.removeAttribute("style"),ct.unbind(n,"keydown",this.keyHandler),ct.unbind(n,"mousedown",Nf),ct.unbind(n,"input",this.autoResize),ct.unbind(n,"paste",this.handlePaste),t&&(t.removeAttribute("style"),ga(t)),ga(e)},Yo.prototype.getValue=function(){return this.content.innerText.trim()},Yo.prototype.getSelection=function(){return window.getSelection().getRangeAt(0)},Yo.prototype.setSelection=function(e,n){var t=document.createRange();null===e?t.selectNodeContents(this.content):(t.setStart(e,n),t.setEnd(e,n));var i=window.getSelection();i.removeAllRanges(),i.addRange(t)},mo.$inject=["eventBus","canvas"],mo.prototype.registerProvider=function(e){this._providers.push(e)},mo.prototype.isActive=function(e){return!(!this._active||e&&this._active.element!==e)},mo.prototype.cancel=function(){this._active&&(this._fire("cancel"),this.close())},mo.prototype._fire=function(e,n){this._eventBus.fire("directEditing."+e,n||{active:this._active})},mo.prototype.close=function(){this._textbox.destroy(),this._fire("deactivate"),this._active=null,this.resizable=void 0},mo.prototype.complete=function(){var e=this._active;if(e){var n,t=e.context.bounds,i=this.$textbox.getBoundingClientRect(),r=this.getValue();(r!==e.context.text||i.height!==t.height||i.width!==t.width)&&(n=this._textbox.container.getBoundingClientRect(),e.provider.update(e.element,r,e.context.text,{x:i.left-n.left,y:i.top-n.top,width:i.width,height:i.height})),this._fire("complete"),this.close()}},mo.prototype.getValue=function(){return this._textbox.getValue()},mo.prototype._handleKey=function(e){e.stopPropagation();var n=e.keyCode||e.charCode;return 27===n?(e.preventDefault(),this.cancel()):13!==n||e.shiftKey?void 0:(e.preventDefault(),this.complete())},mo.prototype._handleResize=function(e){this._fire("resize",e)},mo.prototype.activate=function(e){this.isActive()&&this.cancel();var n,t=on(this._providers,function(i){return(n=i.activate(e))?i:null});return n&&(this.$textbox=this._textbox.create(n.bounds,n.style,n.text,n.options),this._active={element:e,context:n,provider:t},n.options&&n.options.resizable&&(this.resizable=!0),this._fire("activate")),!!n};const OE={__depends__:[Tf],__init__:["directEditing"],directEditing:["type",mo]};function go(e,n,t){this._eventBus=n,this._overlays=t;var i=zo(e&&e.scale)?e.scale:{min:1,max:1.5};this._overlaysConfig={position:{right:-9,top:-6},scale:i},this._current=null,this._init()}go.$inject=["config.contextPad","eventBus","overlays"],go.prototype._init=function(){var e=this._eventBus,n=this;e.on("selection.changed",function(t){var i=t.newSelection;1===i.length?n.open(i[0]):n.close()}),e.on("elements.delete",function(t){R(t.elements,function(r){n.isOpen(r)&&n.close()})}),e.on("element.changed",function(t){var i=t.element,r=n._current;r&&r.element===i&&n.open(i,!0)})},go.prototype.registerProvider=function(e,n){n||(n=e,e=1e3),this._eventBus.on("contextPad.getProviders",e,function(t){t.providers.push(n)})},go.prototype.getEntries=function(e){var n=this._getProviders(),t={};return R(n,function(i){var r=i.getContextPadEntries(e);Gi(r)?t=r(t):R(r,function(o,a){t[a]=o})}),t},go.prototype.trigger=function(e,n,t){var o,a,s,i=this._current.element,r=this._current.entries,c=n.delegateTarget||n.target;if(!c)return n.preventDefault();if(o=r[zr(c,"data-action")],s=n.originalEvent||n,Gi(a=o.action)){if("click"===e)return a(s,i,t)}else if(a[e])return a[e](s,i,t);n.preventDefault()},go.prototype.open=function(e,n){!n&&this.isOpen(e)||(this.close(),this._updateAndOpen(e))},go.prototype._getProviders=function(){var e=this._eventBus.createEvent({type:"contextPad.getProviders",providers:[]});return this._eventBus.fire(e),e.providers},go.prototype._updateAndOpen=function(e){var n=this.getEntries(e),t=this.getPad(e),i=t.html;R(n,function(r,o){var c,a=r.group||"default",s=Dn(r.html||'
');zr(s,"data-action",o),(c=Bn("[data-group="+a+"]",i))||(c=Dn('
'),i.appendChild(c)),c.appendChild(s),r.className&&function Moe(e,n){var t=fi(e);(Lt(n)?n:n.split(/\s+/g)).forEach(function(r){t.add(r)})}(s,r.className),r.title&&zr(s,"title",r.title),r.imageUrl&&s.appendChild(Dn(''))}),fi(i).add("open"),this._current={element:e,pad:t,entries:n},this._eventBus.fire("contextPad.open",{current:this._current})},go.prototype.getPad=function(e){if(this.isOpen())return this._current.pad;var n=this,t=this._overlays,i=Dn('
'),r=I({html:i},this._overlaysConfig);Hr.bind(i,".entry","click",function(a){n.trigger("click",a)}),Hr.bind(i,".entry","dragstart",function(a){n.trigger("dragstart",a)}),ct.bind(i,"mousedown",function(a){a.stopPropagation()}),this._overlayId=t.add(e,"context-pad",r);var o=t.get(this._overlayId);return this._eventBus.fire("contextPad.create",{element:e,pad:o}),o},go.prototype.close=function(){this.isOpen()&&(this._overlays.remove(this._overlayId),this._overlayId=null,this._eventBus.fire("contextPad.close",{current:this._current}),this._current=null)},go.prototype.isOpen=function(e){return!(!this._current||e&&this._current.element!==e)};const RE={__depends__:[Tf,cE],contextPad:["type",go]};var Ioe=["marker-start","marker-mid","marker-end"],Ooe=["circle","ellipse","line","path","polygon","polyline","rect"];function tl(e,n,t,i){this._elementRegistry=e,this._canvas=t,this._styles=i,this._clonedMarkers={};var r=this;n.on("drag.cleanup",function(){R(r._clonedMarkers,function(o){ti(o)}),r._clonedMarkers={}})}tl.$inject=["elementRegistry","eventBus","canvas","styles"],tl.prototype.getGfx=function(e){return this._elementRegistry.getGraphics(e)},tl.prototype.addDragger=function(e,n,t){var i=CN(t=t||this.getGfx(e)),r=t.getBoundingClientRect();return this._cloneMarkers(Rv(i)),ge(i,this._styles.cls("djs-dragger",[],{x:r.top,y:r.left})),Ze(n,i),i},tl.prototype.addFrame=function(e,n){var t=qe("rect",{class:"djs-resize-overlay",width:e.width,height:e.height,x:e.x,y:e.y});return Ze(n,t),t},tl.prototype._cloneMarkers=function(e){var n=this;if(e.childNodes)for(var t=0;t0,a=r&&pf(r)>0;return!o&&!a},ci.prototype.open=function(e,n,t){var i=this._getProviders(n);if(!e)throw new Error("Element is missing");if(!i||!i.length)throw new Error("No registered providers for: "+n);if(!t)throw new Error("the position argument is missing");this.isOpen()&&this.close(),this._emit("open");var r=this._current={className:n,element:e,position:t},o=this._getEntries(e,i),a=this._getHeaderEntries(e,i);r.entries=I({},o,a),r.container=this._createContainer(),pf(a)&&r.container.appendChild(this._createEntries(a,"djs-popup-header")),pf(o)&&r.container.appendChild(this._createEntries(o,"djs-popup-body"));var c=this._canvas.getContainer();this._attachContainer(r.container,c,t.cursor),this._bindAutoClose()},ci.prototype.close=function(){this.isOpen()&&(this._emit("close"),this._unbindAutoClose(),ga(this._current.container),this._current.container=null)},ci.prototype.isOpen=function(){return!!this._current.container},ci.prototype.trigger=function(e){e.preventDefault();var t=zr(e.delegateTarget||e.target,q4),i=this._getEntry(t);if(i.action)return i.action.call(null,e,i)},ci.prototype._getProviders=function(e){var n=this._eventBus.createEvent({type:"popupMenu.getProviders."+e,providers:[]});return this._eventBus.fire(n),n.providers},ci.prototype._getEntries=function(e,n){var t={};return R(n,function(i){if(i.getPopupMenuEntries){var r=i.getPopupMenuEntries(e);Gi(r)?t=r(t):R(r,function(o,a){t[a]=o})}else R(i.getEntries(e),function(o){var a=o.id;if(!a)throw new Error("every entry must have the id property set");t[a]=zs(o,["id"])})}),t},ci.prototype._getHeaderEntries=function(e,n){var t={};return R(n,function(i){if(i.getPopupMenuHeaderEntries){var r=i.getPopupMenuHeaderEntries(e);Gi(r)?t=r(t):R(r,function(o,a){t[a]=o})}else{if(!i.getHeaderEntries)return;R(i.getHeaderEntries(e),function(o){var a=o.id;if(!a)throw new Error("every entry must have the id property set");t[a]=zs(o,["id"])})}}),t},ci.prototype._getEntry=function(e){var n=this._current.entries[e];if(!n)throw new Error("entry not found");return n},ci.prototype._emit=function(e){this._eventBus.fire("popupMenu."+e)},ci.prototype._createContainer=function(){var e=Dn('
'),n=this._current.position,t=this._current.className;return I(e.style,{position:"absolute",left:n.x+"px",top:n.y+"px",visibility:"hidden"}),fi(e).add(t),e},ci.prototype._attachContainer=function(e,n,t){var i=this;Hr.bind(e,".entry","click",function(r){i.trigger(r)}),this._updateScale(e),n.appendChild(e),t&&this._assureIsInbounds(e,t)},ci.prototype._updateScale=function(e){var i,r,n=this._canvas.zoom(),t=this._config.scale,o=n;!0!==t&&(!1===t?(i=1,r=1):(i=t.min,r=t.max),zo(i)&&nr&&(o=r)),function Hoe(e,n){e.style["transform-origin"]="top left",["","-ms-","-webkit-"].forEach(function(t){e.style[t+"transform"]=n})}(e,"scale("+o+")")},ci.prototype._assureIsInbounds=function(e,n){var l,d,i=this._canvas._container.getBoundingClientRect(),o=e.offsetTop,a=e.scrollWidth,s=e.scrollHeight,c={},u_x=n.x-i.left,u_y=n.y-i.top;e.offsetLeft+a>i.width&&(c.x=!0),o+s>i.height&&(c.y=!0),c.x&&c.y?(l=u_x-a+"px",d=u_y-s+"px"):c.x?(l=u_x-a+"px",d=u_y+"px"):c.y&&u_y"),i=this;return fi(t).add(n),R(e,function(r,o){var a=i._createEntry(r,o);t.appendChild(a)}),t},ci.prototype._createEntry=function(e,n){var t=Dn("
"),i=fi(t);if(i.add("entry"),e.className&&e.className.split(" ").forEach(function(o){i.add(o)}),zr(t,q4,n),e.label){var r=Dn("");r.textContent=e.label,t.appendChild(r)}return e.imageUrl&&t.appendChild(Dn('')),!0===e.active&&i.add("active"),!0===e.disabled&&i.add("disabled"),e.title&&(t.title=e.title),t},ci.prototype._bindAutoClose=function(){this._eventBus.once(K4,this.close,this)},ci.prototype._unbindAutoClose=function(){this._eventBus.off(K4,this.close,this)};const $oe={__init__:["popupMenu"],popupMenu:["type",ci]};function Bf(){}Bf.prototype.get=function(){return this._data},Bf.prototype.set=function(e){this._data=e},Bf.prototype.clear=function(){var e=this._data;return delete this._data,e},Bf.prototype.isEmpty=function(){return!this._data};const Uoe={clipboard:["type",Bf]};function PE(e){var n=this;function t(i){n._lastMoveEvent=i}this._lastMoveEvent=null,e.on("canvas.init",function(i){(n._svg=i.svg).addEventListener("mousemove",t)}),e.on("canvas.destroy",function(){n._lastMouseEvent=null,n._svg.removeEventListener("mousemove",t)})}PE.$inject=["eventBus"],PE.prototype.getLastMoveEvent=function(){return this._lastMoveEvent||function Goe(e,n){var t=document.createEvent("MouseEvent");return t.initMouseEvent&&t.initMouseEvent("mousemove",!0,!0,window,0,e,n,e,n,!1,!1,!1,!1,0,null),t}(0,0)};const Vf={__init__:["mouse"],mouse:["type",PE]};function qo(e,n,t,i,r,o,a,s){this._canvas=e,this._create=n,this._clipboard=t,this._elementFactory=i,this._eventBus=r,this._modeling=o,this._mouse=a,this._rules=s,r.on("copyPaste.copyElement",function(c){var l=c.descriptor,d=c.element,u=c.elements;l.priority=1,l.id=d.id,on(u,function(f){return f===d.parent})&&(l.parent=d.parent.id),function Woe(e){return!!e.host}(d)&&(l.priority=2,l.host=d.host.id),n_(d)&&(l.priority=3,l.source=d.source.id,l.target=d.target.id,l.waypoints=function Yoe(e){return Ti(e.waypoints,function(n){return(n=X4(n)).original&&(n.original=X4(n.original)),n})}(d)),i_(d)&&(l.priority=4,l.labelTarget=d.labelTarget.id),R(["x","y","width","height"],function(f){yt(d[f])&&(l[f]=d[f])}),l.hidden=d.hidden,l.collapsed=d.collapsed}),r.on("copyPaste.pasteElements",function(c){I(c.hints,{createElementsBehavior:!1})})}function n_(e){return!!e.waypoints}function i_(e){return!!e.labelTarget}function X4(e){return I({},e)}function Z4(e,n){var t=n.indexOf(e);return-1===t?n:n.splice(t,1)}qo.$inject=["canvas","create","clipboard","elementFactory","eventBus","modeling","mouse","rules"],qo.prototype.copy=function(e){var n,t;return Lt(e)||(e=e?[e]:[]),t=!1===(n=this._eventBus.fire("copyPaste.canCopyElements",{elements:e}))?{}:this.createTree(Lt(n)?n:e),this._clipboard.set(t),this._eventBus.fire("copyPaste.elementsCopied",{elements:e,tree:t}),t},qo.prototype.paste=function(e){var n=this._clipboard.get();if(!this._clipboard.isEmpty()){var t=e&&e.hints||{};this._eventBus.fire("copyPaste.pasteElements",{hints:t});var i=this._createElements(n);if(e&&e.element&&e.point)return this._paste(i,e.element,e.point,t);this._create.start(this._mouse.getLastMoveEvent(),i,{hints:t||{}})}},qo.prototype._paste=function(e,n,t,i){R(e,function(o){yt(o.x)||(o.x=0),yt(o.y)||(o.y=0)});var r=Fi(e);return R(e,function(o){n_(o)&&(o.waypoints=Ti(o.waypoints,function(a){return{x:a.x-r.x-r.width/2,y:a.y-r.y-r.height/2}})),I(o,{x:o.x-r.x-r.width/2,y:o.y-r.y-r.height/2})}),this._modeling.createElements(e,t,n,I({},i))},qo.prototype._createElements=function(e){var n=this,t=this._eventBus,i={},r=[];return R(e,function(o,a){a=parseInt(a,10),R(o=Ho(o,"priority"),function(s){var l,c=I({},zs(s,["priority"]));return i[s.parent]?c.parent=i[s.parent]:delete c.parent,t.fire("copyPaste.pasteElement",{cache:i,descriptor:c}),n_(c)?(c.source=i[s.source],c.target=i[s.target],l=i[s.id]=n.createConnection(c),void r.push(l)):i_(c)?(c.labelTarget=i[c.labelTarget],l=i[s.id]=n.createLabel(c),void r.push(l)):(c.host&&(c.host=i[c.host]),l=i[s.id]=n.createShape(c),void r.push(l))})}),r},qo.prototype.createConnection=function(e){return this._elementFactory.createConnection(zs(e,["id"]))},qo.prototype.createLabel=function(e){return this._elementFactory.createLabel(zs(e,["id"]))},qo.prototype.createShape=function(e){return this._elementFactory.createShape(zs(e,["id"]))},qo.prototype.hasRelations=function(e,n){var t,i,r;return!(n_(e)&&(i=on(n,$o({id:e.source.id})),r=on(n,$o({id:e.target.id})),!i||!r)||i_(e)&&(t=on(n,$o({id:e.labelTarget.id})),!t))},qo.prototype.createTree=function(e){var n=this._rules,t=this,i={},r=[];function s(l,d){var u=on(r,function(h){return l===h.element});u?u.depth=120&&I(u,{"lane-divide-two":{group:"lane-divide",className:"bpmn-icon-lane-divide-two",title:d("Divide into two Lanes"),action:{click:k(2)}}}),e.height>=180&&I(u,{"lane-divide-three":{group:"lane-divide",className:"bpmn-icon-lane-divide-three",title:d("Divide into three Lanes"),action:{click:k(3)}}})),I(u,{"lane-insert-below":{group:"lane-insert-below",className:"bpmn-icon-lane-insert-below",title:d("Add Lane below"),action:{click:function(x,D){t.addLane(D,"bottom")}}}})}b(h,"bpmn:FlowNode")&&(b(h,"bpmn:EventBasedGateway")?I(u,{"append.receive-task":v("bpmn:ReceiveTask","bpmn-icon-receive-task",d("Append ReceiveTask")),"append.message-intermediate-event":v("bpmn:IntermediateCatchEvent","bpmn-icon-intermediate-event-catch-message",d("Append MessageIntermediateCatchEvent"),{eventDefinitionType:"bpmn:MessageEventDefinition"}),"append.timer-intermediate-event":v("bpmn:IntermediateCatchEvent","bpmn-icon-intermediate-event-catch-timer",d("Append TimerIntermediateCatchEvent"),{eventDefinitionType:"bpmn:TimerEventDefinition"}),"append.condition-intermediate-event":v("bpmn:IntermediateCatchEvent","bpmn-icon-intermediate-event-catch-condition",d("Append ConditionIntermediateCatchEvent"),{eventDefinitionType:"bpmn:ConditionalEventDefinition"}),"append.signal-intermediate-event":v("bpmn:IntermediateCatchEvent","bpmn-icon-intermediate-event-catch-signal",d("Append SignalIntermediateCatchEvent"),{eventDefinitionType:"bpmn:SignalEventDefinition"})}):lL(h,"bpmn:BoundaryEvent","bpmn:CompensateEventDefinition")?I(u,{"append.compensation-activity":v("bpmn:Task","bpmn-icon-task",d("Append compensation activity"),{isForCompensation:!0})}):!b(h,"bpmn:EndEvent")&&!h.isForCompensation&&!lL(h,"bpmn:IntermediateThrowEvent","bpmn:LinkEventDefinition")&&!Gr(h)&&I(u,{"append.end-event":v("bpmn:EndEvent","bpmn-icon-end-event-none",d("Append EndEvent")),"append.gateway":v("bpmn:ExclusiveGateway","bpmn-icon-gateway-none",d("Append Gateway")),"append.append-task":v("bpmn:Task","bpmn-icon-task",d("Append Task")),"append.intermediate-event":v("bpmn:IntermediateThrowEvent","bpmn-icon-intermediate-event-none",d("Append Intermediate/Boundary Event"))})),a.isEmpty(e,"bpmn-replace")||I(u,{replace:{group:"edit",className:"bpmn-icon-screw-wrench",title:d("Change type"),action:{click:function(x,D){var P=I(function g(x){var P=s.getContainer(),V=n.getPad(x).html,F=P.getBoundingClientRect(),Q=V.getBoundingClientRect();return{x:Q.left-F.left,y:Q.top-F.top+Q.height+5}}(D),{cursor:{x:x.x,y:x.y}});a.open(D,"bpmn-replace",P)}}}}),Kt(h,["bpmn:FlowNode","bpmn:InteractionNode","bpmn:DataObjectReference","bpmn:DataStoreReference"])&&I(u,{"append.text-annotation":v("bpmn:TextAnnotation","bpmn-icon-text-annotation"),connect:{group:"connect",className:"bpmn-icon-connection-multi",title:d("Connect using "+(h.isForCompensation?"":"Sequence/MessageFlow or ")+"Association"),action:{click:f,dragstart:f}}}),b(h,"bpmn:TextAnnotation")&&I(u,{connect:{group:"connect",className:"bpmn-icon-connection-multi",title:d("Connect using Association"),action:{click:f,dragstart:f}}}),Kt(h,["bpmn:DataObjectReference","bpmn:DataStoreReference"])&&I(u,{connect:{group:"connect",className:"bpmn-icon-connection-multi",title:d("Connect using DataInputAssociation"),action:{click:f,dragstart:f}}}),b(h,"bpmn:Group")&&I(u,{"append.text-annotation":v("bpmn:TextAnnotation","bpmn-icon-text-annotation")});var C=c.allowed("elements.delete",{elements:[e]});return Lt(C)&&(C=C[0]===e),C&&I(u,{delete:{group:"edit",className:"bpmn-icon-trash",title:d("Remove"),action:{click:function p(x){t.removeElements([e])}}}}),u};const Tae={__depends__:[OE,RE,ba,ME,uu,LE],__init__:["contextPadProvider"],contextPadProvider:["type",Hf]};var Aae={horizontal:["x","width"],vertical:["y","height"]};function cs(e){this._modeling=e,this._filters=[],this.registerFilter(function(n,t,i){var a,r=0,o=0;return R(n,function(s){s.waypoints||s.labelTarget||(r+=s[i],o+=1)}),a=Math.round(r/o),St(n,function(s){return s[i]=Math.min(n.min,n.max)&&Math.min(e.min,e.max)<=Math.max(n.min,n.max)},cs.prototype._findRange=function(e){var n=e[this._axis];return{min:n+5,max:n+e[this._dimension]-5}};const Mae={__init__:["distributeElements"],distributeElements:["type",cs]};function uL(e){e.registerFilter(function(n){return St(n,function(t){var i=Kt(t,["bpmn:Association","bpmn:BoundaryEvent","bpmn:DataInputAssociation","bpmn:DataOutputAssociation","bpmn:Lane","bpmn:MessageFlow","bpmn:Participant","bpmn:SequenceFlow","bpmn:TextAnnotation"]);return!(t.labelTarget||i)})})}uL.$inject=["distributeElements"];const Iae={__depends__:[Mae],__init__:["bpmnDistributeElements"],bpmnDistributeElements:["type",uL]};var hL="is not a registered action";function _o(e,n){this._actions={};var t=this;e.on("diagram.init",function(){t._registerDefaultActions(n),e.fire("editorActions.init",{editorActions:t})})}function BE(e,n){return new Error(e+" "+n)}_o.$inject=["eventBus","injector"],_o.prototype._registerDefaultActions=function(e){var n=e.get("commandStack",!1),t=e.get("modeling",!1),i=e.get("selection",!1),r=e.get("zoomScroll",!1),o=e.get("copyPaste",!1),a=e.get("canvas",!1),s=e.get("rules",!1),c=e.get("keyboardMove",!1),l=e.get("keyboardMoveSelection",!1);n&&(this.register("undo",function(){n.undo()}),this.register("redo",function(){n.redo()})),o&&i&&this.register("copy",function(){var d=i.get();o.copy(d)}),o&&this.register("paste",function(){o.paste()}),r&&this.register("stepZoom",function(d){r.stepZoom(d.value)}),a&&this.register("zoom",function(d){a.zoom(d.value)}),t&&i&&s&&this.register("removeSelection",function(){var d=i.get();if(d.length){var h,u=s.allowed("elements.delete",{elements:d});!1!==u&&(h=Lt(u)?u:d).length&&t.removeElements(h.slice())}}),c&&this.register("moveCanvas",function(d){c.moveCanvas(d)}),l&&this.register("moveSelection",function(d){l.moveSelection(d.direction,d.accelerated)})},_o.prototype.trigger=function(e,n){if(!this._actions[e])throw BE(e,hL);return this._actions[e](n)},_o.prototype.register=function(e,n){var t=this;if("string"==typeof e)return this._registerAction(e,n);R(e,function(i,r){t._registerAction(r,i)})},_o.prototype._registerAction=function(e,n){if(this.isRegistered(e))throw BE(e,"is already registered");this._actions[e]=n},_o.prototype.unregister=function(e){if(!this.isRegistered(e))throw BE(e,hL);this._actions[e]=void 0},_o.prototype.getActions=function(){return Object.keys(this._actions)},_o.prototype.isRegistered=function(e){return!!this._actions[e]};const Rae={__init__:["editorActions"],editorActions:["type",_o]};function h_(e){e.invoke(_o,this)}Xe()(h_,_o),h_.$inject=["injector"],h_.prototype._registerDefaultActions=function(e){_o.prototype._registerDefaultActions.call(this,e);var n=e.get("canvas",!1),t=e.get("elementRegistry",!1),i=e.get("selection",!1),r=e.get("spaceTool",!1),o=e.get("lassoTool",!1),a=e.get("handTool",!1),s=e.get("globalConnect",!1),c=e.get("distributeElements",!1),l=e.get("alignElements",!1),d=e.get("directEditing",!1),u=e.get("searchPad",!1),h=e.get("modeling",!1);n&&t&&i&&this._registerAction("selectElements",function(){var f=n.getRootElement(),p=t.filter(function(g){return g!==f});return i.select(p),p}),r&&this._registerAction("spaceTool",function(){r.toggle()}),o&&this._registerAction("lassoTool",function(){o.toggle()}),a&&this._registerAction("handTool",function(){a.toggle()}),s&&this._registerAction("globalConnectTool",function(){s.toggle()}),i&&c&&this._registerAction("distributeElements",function(f){var p=i.get();p.length&&c.trigger(p,f.type)}),i&&l&&this._registerAction("alignElements",function(f){var p=i.get(),g=[],v=f.type;p.length&&(g=St(p,function(k){return!b(k,"bpmn:Lane")}),l.trigger(g,v))}),i&&h&&this._registerAction("setColor",function(f){var p=i.get();p.length&&h.setColor(p,f)}),i&&d&&this._registerAction("directEditing",function(){var f=i.get();f.length&&d.activate(f[0])}),u&&this._registerAction("find",function(){u.toggle()}),n&&h&&this._registerAction("moveToOrigin",function(){var p,g,f=n.getRootElement();p=Fi(g=b(f,"bpmn:Collaboration")?t.filter(function(v){return b(v.parent,"bpmn:Collaboration")}):t.filter(function(v){return v!==f&&!b(v.parent,"bpmn:SubProcess")})),h.moveElements(g,{x:-p.x,y:-p.y},f)})};const Pae={__depends__:[Rae],editorActions:["type",h_]};function fL(e){e.on(["create.init","shape.move.init"],function(n){var t=n.context;Kt(n.shape,["bpmn:Participant","bpmn:SubProcess","bpmn:TextAnnotation"])&&(t.gridSnappingContext||(t.gridSnappingContext={}),t.gridSnappingContext.snapLocation="top-left")})}function VE(e,n,t){return t||(t="round"),Math[t](e/n)*n}function Zs(e,n,t){var i=!t||!1!==t.active;this._eventBus=n;var r=this;n.on("diagram.init",800,function(){r.setActive(i)}),n.on(["create.move","create.end","bendpoint.move.move","bendpoint.move.end","connect.move","connect.end","connectionSegment.move.move","connectionSegment.move.end","resize.move","resize.end","shape.move.move","shape.move.end"],1200,function(o){var a=o.originalEvent;if(!(!r.active||a&&Wr(a))){var s=o.context,c=s.gridSnappingContext;c||(c=s.gridSnappingContext={}),["x","y"].forEach(function(l){var d={},u=function Bae(e,n,t){var r=e.shape,o=e.context.gridSnappingContext,a=o.snapLocation,s=o.snapOffset;return s&&yt(s[n])||(s||(s=o.snapOffset={}),yt(s[n])||(s[n]=0),!r)||(t.get(r.id)||(p_(n)?s[n]+=r[n]+r.width/2:s[n]+=r[n]+r.height/2),!a)||("x"===n?/left/.test(a)?s[n]-=r.width/2:/right/.test(a)&&(s[n]+=r.width/2):/top/.test(a)?s[n]-=r.height/2:/bottom/.test(a)&&(s[n]+=r.height/2)),s[n]}(o,l,e);u&&(d.offset=u);var h=function Lae(e,n){var t=e.context,i=t.createConstraints,r=t.resizeConstraints||{},o=t.gridSnappingContext,a=o.snapConstraints;if(a&&a[n])return a[n];a||(a=o.snapConstraints={}),a[n]||(a[n]={});var s=t.direction;i&&(p_(n)?(a.x.min=i.left,a.x.max=i.right):(a.y.min=i.top,a.y.max=i.bottom));var c=r.min,l=r.max;return c&&(p_(n)?mL(s)?a.x.max=c.left:a.x.min=c.right:pL(s)?a.y.max=c.top:a.y.min=c.bottom),l&&(p_(n)?mL(s)?a.x.min=l.left:a.x.max=l.right:pL(s)?a.y.min=l.top:a.y.max=l.bottom),a[n]}(o,l);h&&I(d,h),du(o,l)||r.snapEvent(o,l,d)})}})}function p_(e){return"x"===e}function pL(e){return-1!==e.indexOf("n")}function mL(e){return-1!==e.indexOf("w")}function il(e,n){Ve.call(this,e),this._gridSnapping=n;var t=this;this.preExecute("shape.resize",function(i){var r=i.context,a=(r.hints||{}).autoResize;if(a){var s=r.shape,c=r.newBounds;r.newBounds=Vr(a)?t.snapComplex(c,a):t.snapSimple(s,c)}})}function gL(e,n){e.on(["spaceTool.move","spaceTool.end"],2e3,function(t){var o,i=t.context;i.initialized&&("x"===i.axis?(o=n.snapValue(t.dx),t.x=t.x+o-t.dx,t.dx=o):(o=n.snapValue(t.dy),t.y=t.y+o-t.dy,t.dy=o))})}fL.$inject=["eventBus"],Zs.prototype.snapEvent=function(e,n,t){gi(e,n,this.snapValue(e[n],t))},Zs.prototype.getGridSpacing=function(){return 10},Zs.prototype.snapValue=function(e,n){var i,r,t=0;return n&&n.offset&&(t=n.offset),e=VE(e+=t,10),n&&n.min&&yt(i=n.min)&&(i=VE(i+t,10,"ceil"),e=Math.max(e,i)),n&&n.max&&yt(r=n.max)&&(r=VE(r+t,10,"floor"),e=Math.min(e,r)),e-t},Zs.prototype.isActive=function(){return this.active},Zs.prototype.setActive=function(e){this.active=e,this._eventBus.fire("gridSnapping.toggle",{active:e})},Zs.prototype.toggleActive=function(){this.setActive(!this.active)},Zs.$inject=["elementRegistry","eventBus","config.gridSnapping"],il.$inject=["eventBus","gridSnapping","modeling"],Xe()(il,Ve),il.prototype.snapSimple=function(e,n){var t=this._gridSnapping;return n.width=t.snapValue(n.width,{min:n.width}),n.height=t.snapValue(n.height,{min:n.height}),n.x=e.x+e.width/2-n.width/2,n.y=e.y+e.height/2-n.height/2,n},il.prototype.snapComplex=function(e,n){return/w|e/.test(n)&&(e=this.snapHorizontally(e,n)),/n|s/.test(n)&&(e=this.snapVertically(e,n)),e},il.prototype.snapHorizontally=function(e,n){var t=this._gridSnapping,i=/w/.test(n),r=/e/.test(n),o={};return o.width=t.snapValue(e.width,{min:e.width}),r&&(i?(o.x=t.snapValue(e.x,{max:e.x}),o.width+=t.snapValue(e.x-o.x,{min:e.x-o.x})):e.x=e.x+e.width-o.width),I(e,o),e},il.prototype.snapVertically=function(e,n){var t=this._gridSnapping,i=/n/.test(n),r=/s/.test(n),o={};return o.height=t.snapValue(e.height,{min:e.height}),i&&(r?(o.y=t.snapValue(e.y,{max:e.y}),o.height+=t.snapValue(e.y-o.y,{min:e.y-o.y})):e.y=e.y+e.height-o.height),I(e,o),e},gL.$inject=["eventBus","gridSnapping"];const jae={__depends__:[{__init__:["gridSnappingResizeBehavior","gridSnappingSpaceToolBehavior"],gridSnappingResizeBehavior:["type",il],gridSnappingSpaceToolBehavior:["type",gL]}],__init__:["gridSnapping"],gridSnapping:["type",Zs]};function vL(e,n){e.on("autoPlace",2e3,function(t){var i=t.source,r=Mt(i),o=t.shape,a=i4(i,o);return["x","y"].forEach(function(s){var c={};a[s]!==r[s]&&(a[s]>r[s]?c.min=a[s]:c.max=a[s],b(o,"bpmn:TextAnnotation")&&(c.offset=function Hae(e){return"x"===e}(s)?-o.width/2:-o.height/2),a[s]=n.snapValue(a[s],c))}),a})}function _L(e,n,t){n.on(["create.start","shape.move.start"],1750,function(i){var r=i.context,o=r.shape,a=e.getRootElement();b(o,"bpmn:Participant")&&b(a,"bpmn:Process")&&a.children.length&&r.createConstraints&&(o.width=t.snapValue(o.width,{min:o.width}),o.height=t.snapValue(o.height,{min:o.height}))})}function m_(e,n,t){Ve.call(this,e),this._gridSnapping=n;var i=this;this.postExecuted(["connection.create","connection.layout"],3e3,function(r){var o=r.context,a=o.connection,s=o.hints||{},c=a.waypoints;s.connectionStart||s.connectionEnd||!1===s.createElementsBehavior||function Gae(e){return e.length>3}(c)&&t.updateWaypoints(a,i.snapMiddleSegments(c))})}function qae(e,n,t){var i=ts(n,t),r={};return function Wae(e){return"h"===e}(i)&&(r.y=e.snapValue(n.y)),function Yae(e){return"v"===e}(i)&&(r.x=e.snapValue(n.x)),("x"in r||"y"in r)&&(n=I({},n,r),t=I({},t,r)),[n,t]}vL.$inject=["eventBus","gridSnapping"],_L.$inject=["canvas","eventBus","gridSnapping"],m_.$inject=["eventBus","gridSnapping","modeling"],Xe()(m_,Ve),m_.prototype.snapMiddleSegments=function(e){var t,n=this._gridSnapping;e=e.slice();for(var i=1;i5&&ge(c,{x:s.x,width:s.width}),s.height>5&&ge(c,{y:s.y,height:s.height}),o.canExecute?Pt(c).remove(TL):Pt(c).add(TL)}(o.context)}),e.on("resize.cleanup",function(o){!function r(o){var a=o.shape;o.frame&&ti(o.frame),n.removeMarker(a,kL)}(o.context)})}AL.$inject=["eventBus","canvas","previewSupport"];var Gf="djs-resizer",cse=["n","w","s","e","nw","ne","se","sw"];function Qs(e,n,t,i){this._resize=i,this._canvas=n;var r=this;e.on("selection.changed",function(o){var a=o.newSelection;r.removeResizers(),1===a.length&&R(a,Wi(r.addResizer,r))}),e.on("shape.changed",function(o){var a=o.element;t.isSelected(a)&&(r.removeResizers(),r.addResizer(a))})}Qs.prototype.makeDraggable=function(e,n,t){var i=this._resize;function r(o){Ks(o)&&i.activate(o,e,t)}ct.bind(n,"mousedown",r),ct.bind(n,"touchstart",r)},Qs.prototype._createResizer=function(e,n,t,i){var r=this._getResizersParent(),o=function lse(e){var n={x:0,y:0};return-1!==e.indexOf("e")?n.x=6:-1!==e.indexOf("w")&&(n.x=-6),-1!==e.indexOf("s")?n.y=6:-1!==e.indexOf("n")&&(n.y=-6),n}(i),a=qe("g");Pt(a).add(Gf),Pt(a).add(Gf+"-"+e.id),Pt(a).add(Gf+"-"+i),Ze(r,a);var s=qe("rect");ge(s,{x:-2+o.x,y:-2+o.y,width:4,height:4}),Pt(s).add(Gf+"-visual"),Ze(a,s);var c=qe("rect");return ge(c,{x:-10+o.x,y:-10+o.y,width:20,height:20}),Pt(c).add(Gf+"-hit"),Ze(a,c),W1(a,n,t),a},Qs.prototype.createResizer=function(e,n){var t=DL(e,n),i=this._createResizer(e,t.x,t.y,n);this.makeDraggable(e,i,n)},Qs.prototype.addResizer=function(e){var n=this;this._resize.canResize({shape:e})&&R(cse,function(i){n.createResizer(e,i)})},Qs.prototype.removeResizers=function(){O1(this._getResizersParent())},Qs.prototype._getResizersParent=function(){return this._canvas.getLayer("resizers")},Qs.$inject=["eventBus","canvas","selection","resize"];const b_={__depends__:[Ca,as,Ff],__init__:["resize","resizePreview","resizeHandles"],resize:["type",Uf],resizePreview:["type",AL],resizeHandles:["type",Qs]};function zE(e,n){var t=n.create("bpmn:CategoryValue"),i=n.create("bpmn:Category",{categoryValue:[t]});return Un(e.get("rootElements"),i),$e(i).$parent=e,$e(t).$parent=i,t}function Wf(e,n,t,i,r,o,a){function s(c,l){(l||Kt(c,["bpmn:Task","bpmn:TextAnnotation"])||HE(c))&&i.activate(c)}this._bpmnFactory=n,this._canvas=t,this._modeling=r,this._textRenderer=a,i.registerProvider(this),e.on("element.dblclick",function(c){s(c.element,!0)}),e.on(["autoPlace.start","canvas.viewbox.changing","drag.init","element.mousedown","popupMenu.open"],function(c){i.isActive()&&i.complete()}),e.on(["commandStack.changed"],function(c){i.isActive()&&i.cancel()}),e.on("directEditing.activate",function(c){o.removeResizers()}),e.on("create.end",500,function(c){var l=c.context;c.isTouch||c.context.canExecute&&(l.hints&&!1===l.hints.createElementsBehavior||s(l.shape))}),e.on("autoPlace.end",500,function(c){s(c.shape)})}function HE(e){return b(e,"bpmn:SubProcess")&&!ln(e)}Wf.$inject=["eventBus","bpmnFactory","canvas","directEditing","modeling","resizeHandles","textRenderer"],Wf.prototype.activate=function(e){var n=Go(e);if(void 0!==n){var t={text:n};I(t,this.getEditingBBox(e));var r={};return(Kt(e,["bpmn:Task","bpmn:Participant","bpmn:Lane","bpmn:CallActivity"])||HE(e))&&I(r,{centerVertically:!0}),ya(e)&&I(r,{autoResize:!0}),b(e,"bpmn:TextAnnotation")&&I(r,{resizable:!0,autoResize:!0}),I(t,{options:r}),t}},Wf.prototype.getEditingBBox=function(e){var n=this._canvas,t=e.label||e,i=n.getAbsoluteBBox(t),r_x=i.x+i.width/2,r_y=i.y+i.height/2,o={x:i.x,y:i.y},a=n.zoom(),s=this._textRenderer.getDefaultStyle(),c=this._textRenderer.getExternalStyle(),l=c.fontSize*a,d=c.lineHeight,u=s.fontSize*a,h=s.lineHeight,f={fontFamily:this._textRenderer.getDefaultStyle().fontFamily,fontWeight:this._textRenderer.getDefaultStyle().fontWeight};(b(e,"bpmn:Lane")||function hse(e){return b(e,"bpmn:Participant")&&ln(e)}(e))&&(I(o,{width:i.height,height:30*a,x:i.x-i.height/2+15*a,y:r_y-30*a/2}),I(f,{fontSize:u+"px",lineHeight:h,paddingTop:7*a+"px",paddingBottom:7*a+"px",paddingLeft:5*a+"px",paddingRight:5*a+"px",transform:"rotate(-90deg)"})),(Kt(e,["bpmn:Task","bpmn:CallActivity"])||function use(e){return b(e,"bpmn:Participant")&&!ln(e)}(e)||HE(e))&&(I(o,{width:i.width,height:i.height}),I(f,{fontSize:u+"px",lineHeight:h,paddingTop:7*a+"px",paddingBottom:7*a+"px",paddingLeft:5*a+"px",paddingRight:5*a+"px"})),function dse(e){return b(e,"bpmn:SubProcess")&&ln(e)}(e)&&(I(o,{width:i.width,x:i.x}),I(f,{fontSize:u+"px",lineHeight:h,paddingTop:7*a+"px",paddingBottom:7*a+"px",paddingLeft:5*a+"px",paddingRight:5*a+"px"}));var p=90*a,g=7*a,v=4*a;if(t.labelTarget&&(I(o,{width:p,height:i.height+g+v,x:r_x-p/2,y:i.y-g}),I(f,{fontSize:l+"px",lineHeight:d,paddingTop:g+"px",paddingBottom:v+"px"})),ya(t)&&!tu(t)&&!mi(t)){var k=nu(e),E=n.getAbsoluteBBox({x:k.x,y:k.y,width:0,height:0}),C=l+g+v;I(o,{width:p,height:C,x:E.x-p/2,y:E.y-C/2}),I(f,{fontSize:l+"px",lineHeight:d,paddingTop:g+"px",paddingBottom:v+"px"})}return b(e,"bpmn:TextAnnotation")&&(I(o,{width:i.width,height:i.height,minWidth:30*a,minHeight:10*a}),I(f,{textAlign:"left",paddingTop:5*a+"px",paddingBottom:7*a+"px",paddingLeft:7*a+"px",paddingRight:5*a+"px",fontSize:u+"px",lineHeight:h})),{bounds:o,style:f}},Wf.prototype.update=function(e,n,t,i){var r,o;if(b(e,"bpmn:TextAnnotation")&&(o=this._canvas.getAbsoluteBBox(e),r={x:e.x,y:e.y,width:e.width/o.width*i.width,height:e.height/o.height*i.height}),b(e,"bpmn:Group")&&!$e(e).categoryValueRef){var l=zE($e(this._canvas.getRootElement()).$parent,this._bpmnFactory);$e(e).categoryValueRef=l}(function fse(e){return!e||!e.trim()})(n)&&(n=null),this._modeling.updateLabel(e,n,r)};var ML="djs-element-hidden",IL="djs-label-hidden";function OL(e,n,t,i){var a,s,c,r=this,o=n.getDefaultLayer();e.on("directEditing.activate",function(l){var d=l.active;if(b(a=d.element.label||d.element,"bpmn:TextAnnotation")){s=n.getAbsoluteBBox(a),c=qe("g");var u=i.getScaledPath("TEXT_ANNOTATION",{xScaleFactor:1,yScaleFactor:1,containerWidth:a.width,containerHeight:a.height,position:{mx:0,my:0}}),h=r.path=qe("path");ge(h,{d:u,strokeWidth:2,stroke:pse(a)}),Ze(c,h),Ze(o,c),sr(c,a.x,a.y)}b(a,"bpmn:TextAnnotation")||a.labelTarget?n.addMarker(a,ML):(b(a,"bpmn:Task")||b(a,"bpmn:CallActivity")||b(a,"bpmn:SubProcess")||b(a,"bpmn:Participant"))&&n.addMarker(a,IL)}),e.on("directEditing.resize",function(l){if(b(a,"bpmn:TextAnnotation")){var h=Math.max(a.height/s.height*(l.height+l.dy),0),f=i.getScaledPath("TEXT_ANNOTATION",{xScaleFactor:1,yScaleFactor:1,containerWidth:a.width,containerHeight:h,position:{mx:0,my:0}});ge(r.path,{d:f})}}),e.on(["directEditing.complete","directEditing.cancel"],function(l){var d=l.active;d&&(n.removeMarker(d.element.label||d.element,ML),n.removeMarker(a,IL)),a=void 0,s=void 0,c&&(ti(c),c=void 0)})}function pse(e,n){return $e(e).di.get("stroke")||n||"black"}OL.$inject=["eventBus","canvas","elementRegistry","pathMap"];const mse={__depends__:[jE,b_,OE],__init__:["labelEditingProvider","labelEditingPreview"],labelEditingProvider:["type",Wf],labelEditingPreview:["type",OL]};var $E=["top","bottom","left","right"];function UE(e,n){function t(r){if(tu(r)){var o=function _se(e){var n=Mt(e.label),i=RL(Mt(e),n);if(function yse(e){return-1!==$E.indexOf(e)}(i)){var r=function vse(e){var n=Mt(e),t=[].concat(e.incoming.map(function(i){return i.waypoints[i.waypoints.length-2]}),e.outgoing.map(function(i){return i.waypoints[1]})).map(function(i){return RL(n,i)});return t}(e);if(e.host){var o=function gse(e){var r,n=e.host,i=Li(Mt(e),n);r=i.indexOf("-")>=0?i.split("-"):[i];var o=$E.filter(function(a){return-1===r.indexOf(a)});return o}(e);r=r.concat(o)}var a=$E.filter(function(s){return-1===r.indexOf(s)});if(-1===a.indexOf(i))return a[0]}}(r);o&&function i(r,o){var a=Mt(r),s=r.label,c=Mt(s);if(s.parent){var d,l=at(r);switch(o){case"top":d={x:a.x,y:l.top-10-s.height/2};break;case"left":d={x:l.left-10-s.width/2,y:a.y};break;case"bottom":d={x:a.x,y:l.bottom+10+s.height/2};break;case"right":d={x:l.right+10+s.width/2,y:a.y}}var u=xa(d,c);n.moveShape(s,u)}}(r,o)}}Ve.call(this,e),this.postExecuted(["connection.create","connection.layout","connection.updateWaypoints"],function(r){var o=r.context,a=o.connection,c=a.target;!1!==(o.hints||{}).createElementsBehavior&&(t(a.source),t(c))}),this.postExecuted(["label.create"],function(r){var o=r.context;!1!==(o.hints||{}).createElementsBehavior&&t(o.shape.labelTarget)}),this.postExecuted(["elements.create"],function(r){var o=r.context;!1!==(o.hints||{}).createElementsBehavior&&o.elements.forEach(function(c){t(c)})})}function RL(e,n){return Li(n,e,5)}function GE(e,n,t){Ve.call(this,e),this.preExecute("shape.append",function(i){var r=i.source,o=i.shape;i.position||(i.position=b(o,"bpmn:TextAnnotation")?{x:r.x+r.width/2+75,y:r.y-50-o.height/2}:{x:r.x+r.width+80+o.width/2,y:r.y+r.height/2})},!0)}function WE(e,n){e.invoke(Ve,this),this.postExecute("shape.move",function(t){var i=t.newParent,r=t.shape;R(St(r.incoming.concat(r.outgoing),function(a){return b(a,"bpmn:Association")}),function(a){n.moveConnection(a,{x:0,y:0},i)})},!0)}function w_(e,n){n.invoke(Ve,this),this._bpmnReplace=e;var t=this;this.postExecuted("elements.create",500,function(i){var r=i.elements;1===(r=r.filter(function(o){return NL(o,o.host)})).length&&r.map(function(o){return r.indexOf(o)}).forEach(function(o){i.elements[o]=t.replaceShape(r[o],r[o])})},!0),this.preExecute("elements.move",500,function(i){var r=i.shapes,o=i.newHost;if(1===r.length){var a=r[0];NL(a,o)&&(i.shapes=[t.replaceShape(a,o)])}},!0)}function NL(e,n){return!mi(e)&&Kt(e,["bpmn:IntermediateThrowEvent","bpmn:IntermediateCatchEvent"])&&!!n}function YE(e,n,t){function i(r){return St(r.attachers,function(o){return b(o,"bpmn:BoundaryEvent")})}Ve.call(this,e),this.postExecute("connection.create",function(r){var o=r.context.source,a=r.context.target,s=i(a);b(o,"bpmn:EventBasedGateway")&&b(a,"bpmn:ReceiveTask")&&s.length>0&&t.removeElements(s)}),this.postExecute("connection.reconnect",function(r){var a=r.context.newSource;b(r.context.oldSource,"bpmn:Gateway")&&b(a,"bpmn:EventBasedGateway")&&R(a.outgoing,function(s){var c=s.target,l=i(c);b(c,"bpmn:ReceiveTask")&&l.length>0&&t.removeElements(l)})}),e.on("moddleCopy.canCopyProperty",2e3,function(r){var o=r.parent,a=r.property,s=r.propertyName,c=n.getPropertyDescriptor(o,s);c&&c.isReference&&b(a,"bpmn:RootElement")&&o.set(s,a)})}function qE(e,n,t,i,r){function o(d){return Kt(d,["bpmn:ReceiveTask","bpmn:SendTask"])||function Ese(e,n){return Lt(n)||(n=[n]),Gc(n,function(t){return zv(e,t)})}(d,["bpmn:ErrorEventDefinition","bpmn:EscalationEventDefinition","bpmn:MessageEventDefinition","bpmn:SignalEventDefinition"])}function a(d){return!!on(e.getDefinitions().get("rootElements"),$o({id:d.id}))}function s(d){return b(d,"bpmn:ErrorEventDefinition")?"errorRef":b(d,"bpmn:EscalationEventDefinition")?"escalationRef":b(d,"bpmn:MessageEventDefinition")?"messageRef":b(d,"bpmn:SignalEventDefinition")?"signalRef":void 0}function c(d){if(Kt(d,["bpmn:ReceiveTask","bpmn:SendTask"]))return d.get("messageRef");var h=d.get("eventDefinitions")[0];return h.get(s(h))}t.invoke(Ve,this),this.executed("shape.create",function(d){var u=d.shape;if(o(u)){var f=c($e(u));f&&!a(f)&&(Un(e.getDefinitions().get("rootElements"),f),d.addedRootElement=f)}},!0),this.reverted("shape.create",function(d){var u=d.addedRootElement;u&&$n(e.getDefinitions().get("rootElements"),u)},!0),n.on("copyPaste.copyElement",function(d){var u=d.descriptor,h=d.element;if(o(h)){var p=c($e(h));p&&(u.referencedRootElement=p)}}),n.on("copyPaste.pasteElement",500,function(d){var u=d.descriptor,h=u.businessObject;if(o(h)){var f=u.referencedRootElement;f&&(a(f)||(f=i.copyElement(f,r.create(f.$type))),function l(d,u){if(Kt(d,["bpmn:ReceiveTask","bpmn:SendTask"]))return d.set("messageRef",u);var f=d.get("eventDefinitions")[0];f.set(s(f),u)}(h,f))}})}function KE(e){e.invoke(Ve,this),this.preExecute("shape.create",1500,function(n){var t=n.context,i=t.parent,r=t.shape;b(i,"bpmn:Lane")&&!b(r,"bpmn:Lane")&&(t.parent=a_(i,"bpmn:Participant"))})}function FL(e,n,t){n.on(["create.hover","create.move","create.out","create.end","shape.move.hover","shape.move.move","shape.move.out","shape.move.end"],1500,function(i){var o=i.context.shape||i.shape,a=i.hover;b(a,"bpmn:Lane")&&!Kt(o,["bpmn:Lane","bpmn:Participant"])&&(i.hover=Ko(a),i.hoverGfx=e.getGraphics(i.hover));var s=t.getRootElement();a!==s&&(o.labelTarget||b(o,"bpmn:Group"))&&(i.hover=s,i.hoverGfx=e.getGraphics(i.hover))}),n.on(["connect.hover","connect.out","connect.end","connect.cleanup","global-connect.hover","global-connect.out","global-connect.end","global-connect.cleanup"],1500,function(i){var r=i.hover;b(r,"bpmn:Lane")&&(i.hover=Ko(r)||r,i.hoverGfx=e.getGraphics(i.hover))}),n.on(["bendpoint.move.hover"],1500,function(i){var o=i.hover,a=i.context.type;b(o,"bpmn:Lane")&&/reconnect/.test(a)&&(i.hover=Ko(o)||o,i.hoverGfx=e.getGraphics(i.hover))}),n.on(["connect.start"],1500,function(i){var r=i.context,o=r.start;b(o,"bpmn:Lane")&&(r.start=Ko(o)||o)}),n.on("shape.move.start",2e3,function(i){var r=i.shape;b(r,"bpmn:Lane")&&(i.shape=Ko(r)||r)})}function XE(e,n,t){Ve.call(this,e),this.preExecute("shape.create",function(i){var o=i.context.shape;if(b(o,"bpmn:DataObjectReference")&&"label"!==o.type){var a=n.create("bpmn:DataObject");o.businessObject.dataObjectRef=a}})}Xe()(UE,Ve),UE.$inject=["eventBus","modeling"],Xe()(GE,Ve),GE.$inject=["eventBus","elementFactory","bpmnRules"],Xe()(WE,Ve),WE.$inject=["injector","modeling"],w_.$inject=["bpmnReplace","injector"],Xe()(w_,Ve),w_.prototype.replaceShape=function(e,n){var t=function bse(e){var t=$e(e).eventDefinitions;return t&&t[0]}(e),i={type:"bpmn:BoundaryEvent",host:n};return t&&(i.eventDefinitionType=t.$type),this._bpmnReplace.replaceElement(e,i,{layoutConnection:!1})},YE.$inject=["eventBus","moddle","modeling"],Xe()(YE,Ve),qE.$inject=["bpmnjs","eventBus","injector","moddleCopy","bpmnFactory"],Xe()(qE,Ve),KE.$inject=["injector"],Xe()(KE,Ve),FL.$inject=["elementRegistry","eventBus","canvas"],XE.$inject=["eventBus","bpmnFactory","moddle"],Xe()(XE,Ve);function JE(e,n,t){function i(){var r=e.getRootElement();return b(r,"bpmn:Collaboration")?r:t.makeCollaboration()}Ve.call(this,n),n.on(["create.start","shape.move.start"],2e3,function(r){var o=r.context,a=o.shape,s=e.getRootElement();if(b(a,"bpmn:Participant")&&b(s,"bpmn:Process")&&s.children.length){var c=s.children.filter(function(u){return!b(u,"bpmn:Group")&&!mi(u)&&!function kse(e){return!!e.waypoints}(u)});if(c.length){var l=Fi(c),d=function Sse(e,n){n={width:n.width+40+30,height:n.height+40};var t=Math.max(e.width,n.width),i=Math.max(e.height,n.height);return{x:-t/2,y:-i/2,width:t,height:i}}(a,l);I(a,d),o.createConstraints=function Dse(e,n){return{bottom:(n=at(n)).top+e.height/2-20,left:n.right-e.width/2+20,top:n.bottom-e.height/2+20,right:n.left+e.width/2-20-30}}(a,l)}}}),n.on("create.start",2e3,function(r){var a=r.context.shape,s=e.getRootElement(),c=e.getGraphics(s);function l(d){d.element=s,d.gfx=c}b(a,"bpmn:Participant")&&b(s,"bpmn:Process")&&(n.on("element.hover",2e3,l),n.once("create.cleanup",function(){n.off("element.hover",l)}))}),this.preExecute("elements.create",2e3,function(r){var c,a=r.parent,s=function Tse(e){return on(e,function(n){return b(n,"bpmn:Participant")})}(r.elements);s&&b(a,"bpmn:Process")&&(r.parent=i(),(c=r.hints=r.hints||{}).participant=s,c.process=a,c.processRef=$e(s).get("processRef"))},!0),this.preExecute("shape.create",function(r){var o=r.parent,a=r.shape;b(a,"bpmn:Participant")&&b(o,"bpmn:Process")&&(r.parent=i(),r.process=o,r.processRef=$e(a).get("processRef"))},!0),this.execute("shape.create",function(r){var o=r.hints||{},a=r.process||o.process,s=r.shape,c=o.participant;a&&(!c||s===c)&&$e(s).set("processRef",$e(a))},!0),this.revert("shape.create",function(r){var o=r.hints||{},s=r.processRef||o.processRef,c=r.shape,l=o.participant;(r.process||o.process)&&(!l||c===l)&&$e(c).set("processRef",s)},!0),this.postExecute("shape.create",function(r){var a=r.process||r.hints.process,s=r.shape,c=(r.hints||{}).participant;if(a){var l=a.children.slice();c?s===c&&t.moveElements(l,{x:0,y:0},c):t.moveElements(l,{x:0,y:0},s)}},!0)}JE.$inject=["canvas","eventBus","modeling"],Xe()(JE,Ve);var BL="__targetRef_placeholder";function eC(e,n){function i(a,s){var c=a.get("properties"),l=on(c,function(d){return d.name===BL});return!l&&s&&Un(c,l=n.create("bpmn:Property",{name:BL})),l}function r(a,s){var c=i(a);c&&(function t(a,s,c){return on(a.get("dataInputAssociations"),function(d){return d!==c&&d.targetRef===s})}(a,c,s)||$n(a.get("properties"),c))}function o(a){var k,s=a.context,c=s.connection,l=c.businessObject,d=c.target,u=d&&d.businessObject,h=s.newTarget,f=h&&h.businessObject,p=s.oldTarget||s.target,g=p&&p.businessObject,v=c.businessObject;g&&g!==u&&r(g,l),f&&f!==u&&r(f,l),u?(k=i(u,!0),v.targetRef=k):v.targetRef=null}Ve.call(this,e),this.executed(["connection.create","connection.delete","connection.move","connection.reconnect"],VL(o)),this.reverted(["connection.create","connection.delete","connection.move","connection.reconnect"],VL(o))}function VL(e){return function(n){if(b(n.context.connection,"bpmn:DataInputAssociation"))return e(n)}}function S_(e){this._bpmnUpdater=e}function tC(e,n,t,i){function o(s){return s.children.filter(function(c){return b(c,"bpmn:DataStoreReference")&&!c.labelTarget})}function a(s,c){var l=s.businessObject||s;if(c=c||function r(){return t.filter(function(s){return b(s,"bpmn:Participant")&&$e(s).processRef})[0]}(),c){var d=c.businessObject||c;n.execute("dataStore.updateContainment",{dataStoreBo:l,newSemanticParent:d.processRef||d,newDiParent:d.di})}}Ve.call(this,i),n.registerHandler("dataStore.updateContainment",S_),this.preExecute("shape.create",function(s){var c=s.context,l=c.shape;b(l,"bpmn:DataStoreReference")&&"label"!==l.type&&(c.hints||(c.hints={}),c.hints.autoResize=!1)}),this.preExecute("elements.move",function(s){var c=s.context,l=c.shapes;l.filter(function(u){return b(u,"bpmn:DataStoreReference")}).length&&(c.hints||(c.hints={}),c.hints.autoResize=l.filter(function(u){return!b(u,"bpmn:DataStoreReference")}))}),this.postExecute("shape.create",function(s){var l=s.context.shape,d=l.parent;b(l,"bpmn:DataStoreReference")&&"label"!==l.type&&b(d,"bpmn:Collaboration")&&a(l)}),this.postExecute("shape.move",function(s){var c=s.context,l=c.shape,d=c.oldParent,u=l.parent;if(!b(d,"bpmn:Collaboration")&&b(l,"bpmn:DataStoreReference")&&"label"!==l.type&&b(u,"bpmn:Collaboration")){var h=b(d,"bpmn:Participant")?d:function Mse(e,n){for(;e.parent;){if(b(e.parent,n))return e.parent;e=e.parent}}(d,"bpmn:Participant");a(l,h)}}),this.postExecute("shape.delete",function(s){var l=s.context.shape,d=e.getRootElement();Kt(l,["bpmn:Participant","bpmn:SubProcess"])&&b(d,"bpmn:Collaboration")&&o(d).filter(function(u){return function Ase(e,n){for(var t=e.businessObject||e,i=n.businessObject||n;t.$parent;){if(t.$parent===i.processRef||i)return!0;t=t.$parent}return!1}(u,l)}).forEach(function(u){a(u)})}),this.postExecute("canvas.updateRoot",function(s){var c=s.context,d=c.newRoot;o(c.oldRoot).forEach(function(h){b(d,"bpmn:Process")&&a(h,d)})})}function nC(e,n,t){Ve.call(this,e),this.postExecuted("shape.delete",500,function(r){var o=r.context,a=o.hints,s=o.shape,c=o.oldParent;b(s,"bpmn:Lane")&&(a&&a.nested||function i(r,o){var l,d,u,a=nl(o),s=[],c=[];Yc(a,function(h){return h.y>r.y?c.push(h):s.push(h),h.children}),a.length&&(l=c.length&&s.length?r.height/2:r.height,s.length&&(d=t.calculateAdjustments(s,"y",l,r.y-10),t.makeSpace(d.movingShapes,d.resizingShapes,{x:0,y:l},"s")),c.length&&(u=t.calculateAdjustments(c,"y",-l,r.y+r.height+10),t.makeSpace(u.movingShapes,u.resizingShapes,{x:0,y:-l},"n")))}(s,c))})}function D_(e,n){n.invoke(Ve,this),this._bpmnReplace=e;var t=this;this.postExecuted("elements.create",500,function(i){var r=i.elements;r.filter(function(o){return zL(o,o.host)}).map(function(o){return r.indexOf(o)}).forEach(function(o){i.elements[o]=t.replaceShape(r[o])})},!0),this.preExecute("elements.move",500,function(i){var r=i.shapes,o=i.newHost;r.forEach(function(a,s){var c=a.host;zL(a,function Rse(e,n){return-1!==e.indexOf(n)}(r,c)?c:o)&&(r[s]=t.replaceShape(a))})},!0)}function zL(e,n){return!mi(e)&&b(e,"bpmn:BoundaryEvent")&&!n}function iC(e,n,t){function i(r,o,a){var c,l,d,h,f,p,k,s=o.waypoints,g=r.outgoing.slice(),v=r.incoming.slice(),E=xE(s,k=yt(a.width)?Mt(a):a);if(E){if(c=s.slice(0,E.index),l=s.slice(E.index+(E.bendpoint?1:0)),!c.length||!l.length)return;d=E.bendpoint?s[E.index]:k,(1===c.length||!HL(r,c[c.length-1]))&&c.push($L(d)),(1===l.length||!HL(r,l[0]))&&l.unshift($L(d))}h=o.target,n.canConnect(o.source,r,o)&&(t.reconnectEnd(o,r,c||k),f=o),n.canConnect(r,h,o)&&(f?p=t.connect(r,h,{type:o.type,waypoints:l}):(t.reconnectStart(o,r,l||k),p=o));var C=[].concat(f&&St(v,function(x){return x.source===f.source})||[],p&&St(g,function(x){return x.target===p.target})||[]);C.length&&t.removeElements(C)}Ve.call(this,e),this.preExecute("elements.move",function(r){var o=r.newParent,a=r.shapes,s=r.delta,c=a[0];if(c&&o){o&&o.waypoints&&(r.newParent=o=o.parent);var l=Mt(c),d={x:l.x+s.x,y:l.y+s.y},u=on(o.children,function(h){return n.canInsert(a,h)&&xE(h.waypoints,d)});u&&(r.targetFlow=u,r.position=d)}},!0),this.postExecuted("elements.move",function(r){var a=r.targetFlow;a&&i(r.shapes[0],a,r.position)},!0),this.preExecute("shape.create",function(r){var o=r.parent;n.canInsert(r.shape,o)&&(r.targetFlow=o,r.parent=o.parent)},!0),this.postExecuted("shape.create",function(r){var a=r.targetFlow;a&&i(r.shape,a,r.position)},!0)}function HL(e,n){var t=n.x,i=n.y;return t>=e.x&&t<=e.x+e.width&&i>=e.y&&i<=e.y+e.height}function $L(e){return I({},e)}function rC(e,n){Ve.call(this,e),this.preExecuted("connection.create",function(t){var i=t.context,r=i.source,o=i.target,a=o.incoming.slice();i.hints&&!1===i.hints.createElementsBehavior||b(r,"bpmn:EventBasedGateway")&&o.incoming.length&&a.filter(oC).forEach(function(s){n.removeConnection(s)})}),this.preExecuted("shape.replace",function(t){var i=t.context.newShape;b(i,"bpmn:EventBasedGateway")&&i.outgoing.filter(oC).map(function(a){return a.target}).reduce(function(a,s){var c=s.incoming.filter(oC);return a.concat(c)},[]).forEach(function(a){a.source!==i&&n.removeConnection(a)})})}function oC(e){return b(e,"bpmn:SequenceFlow")}function aC(e,n,t,i,r,o){function a(){return $e(n.getRootElement()).$parent}function s(u){var f=$e(u).categoryValueRef;if(f){var p=f.$parent;f&&($n(p.categoryValue,f),p&&!p.categoryValue.length&&function c(u){$n(a().get("rootElements"),u)}(p))}}r.invoke(Ve,this),this.executed("shape.delete",function(u){var f=u.context.shape;if(b(f,"bpmn:Group")){var g=$e(f).categoryValueRef,v=function l(){return t.filter(function(u){return b(u,"bpmn:Group")})}();(function d(u,h){return u.some(function(f){var p=$e(f);return p.categoryValueRef&&p.categoryValueRef===h})})(v,g)||s(f)}}),this.reverted("shape.delete",function(u){var f=u.context.shape;if(b(f,"bpmn:Group")){var g=$e(f).categoryValueRef,v=a(),k=g?g.$parent:null;Un(k.get("categoryValue"),g),Un(v.get("rootElements"),k)}}),this.execute("shape.create",function(u){var p=$e(u.context.shape);if(b(p,"bpmn:Group")&&!p.categoryValueRef){var v=zE(a(),e);p.categoryValueRef=v}}),this.revert("shape.create",function(u){var f=u.context.shape;b(f,"bpmn:Group")&&(s(f),delete $e(f).categoryValueRef)}),i.on("moddleCopy.canCopyProperty",2e3,function(u){var f,h=u.property;if(b(h,"bpmn:CategoryValue"))return f=zE(a(),e),o.copyElement(h,f)})}function sC(e,n,t,i){var r,s;return 0==(r=(i.y-t.y)*(n.x-e.x)-(i.x-t.x)*(n.y-e.y))?null:(s=((i.x-t.x)*(e.y-t.y)-(i.y-t.y)*(e.x-t.x))/r,{x:Math.round(e.x+s*(n.x-e.x)),y:Math.round(e.y+s*(n.y-e.y))})}function UL(e){function n(i,r,o){var d,s={x:o.x-50,y:o.y},c=sC(i,r,o,{x:o.x,y:o.y-50}),l=sC(i,r,o,s);d=c&&l?GL(c,o)>GL(l,o)?l:c:c||l,i.original=d}e.on("bpmnElement.added",function(i){var r=i.element;r.waypoints&&function t(i){var r=i.waypoints;n(r[0],r[1],Mt(i.source)),n(r[r.length-1],r[r.length-2],Mt(i.target))}(r)})}function GL(e,n){return Math.sqrt(Math.pow(e.x-n.x,2)+Math.pow(e.y-n.y,2))}function cC(e){Ve.call(this,e);var n=["bpmn:Participant","bpmn:Lane"];this.executed(["shape.move","shape.create","shape.resize"],function(t){var i=$e(t.context.shape);Kt(i,n)&&!i.di.get("isHorizontal")&&i.di.set("isHorizontal",!0)})}function WL(e){return Math.sqrt(Math.pow(e.x,2)+Math.pow(e.y,2))}function YL(e){return Math.atan((e[1].y-e[0].y)/(e[1].x-e[0].x))}function qL(e,n){var t=n[0],i=n[1],r={x:i.x-t.x,y:i.y-t.y},o=function Fse(e,n,t){var i=[{n:e[0]-t[0],lambda:n[0]},{n:e[1]-t[1],lambda:n[1]}];return-(i[0].n*n[0]+i[1].n*n[1])/(i[0].lambda*n[0]+i[1].lambda*n[1])}([t.x,t.y],[r.x,r.y],[e.x,e.y]);return{x:t.x+o*r.x,y:t.y+o*r.y}}function Lse(e,n){var t=qL(e,n);return WL({x:t.x-e.x,y:t.y-e.y})}function k_(e,n){return WL({x:e.x-n.x,y:e.y-n.y})}eC.$inject=["eventBus","bpmnFactory"],Xe()(eC,Ve),S_.$inject=["bpmnUpdater"],S_.prototype.execute=function(e){var n=e.dataStoreBo,t=e.newSemanticParent,i=e.newDiParent;e.oldSemanticParent=n.$parent,e.oldDiParent=n.di.$parent,this._bpmnUpdater.updateSemanticParent(n,t),this._bpmnUpdater.updateDiParent(n.di,i)},S_.prototype.revert=function(e){var n=e.dataStoreBo,i=e.oldDiParent;this._bpmnUpdater.updateSemanticParent(n,e.oldSemanticParent),this._bpmnUpdater.updateDiParent(n.di,i)},tC.$inject=["canvas","commandStack","elementRegistry","eventBus"],Xe()(tC,Ve),nC.$inject=["eventBus","modeling","spaceTool"],Xe()(nC,Ve),D_.$inject=["bpmnReplace","injector"],Xe()(D_,Ve),D_.prototype.replaceShape=function(e){var n=function Ose(e){var t=$e(e).eventDefinitions;return t&&t[0]}(e);return this._bpmnReplace.replaceElement(e,n?{type:"bpmn:IntermediateCatchEvent",eventDefinitionType:n.$type}:{type:"bpmn:IntermediateThrowEvent"},{layoutConnection:!1})},Xe()(iC,Ve),iC.$inject=["eventBus","bpmnRules","modeling"],rC.$inject=["eventBus","modeling"],Xe()(rC,Ve),aC.$inject=["bpmnFactory","canvas","elementRegistry","eventBus","injector","moddleCopy"],Xe()(aC,Ve),UL.$inject=["eventBus"],cC.$inject=["eventBus"],Xe()(cC,Ve);var KL=Math.sqrt,XL=Math.min,Bse=Math.max,ZL=Math.abs;function QL(e){return Math.pow(e,2)}function Yf(e,n){return KL(QL(e.x-n.x)+QL(e.y-n.y))}function jse(e,n,t,i){var r=n.x-e.x,o=n.y-e.y,a=t.x-e.x,s=t.y-e.y,c=r*r+o*o,u=(r*a+o*s)/c,f=u*u-(a*a+s*s-i*i)/c;if(f<0&&f>-1e-6&&(f=0),f<0)return[];var p=KL(f),g=-u+p,v=-u-p,k={x:e.x-r*g,y:e.y-o*g};return 0===f?[k]:[k,{x:e.x-r*v,y:e.y-o*v}].filter(function(C){return function zse(e,n,t){return JL(e.x,n.x,t.x)&&JL(e.y,n.y,t.y)}(C,e,n)})}function JL(e,n,t){return e>=XL(n,t)-T_&&e<=Bse(n,t)+T_}function Hse(e,n){return{x:(e.x+n.x)/2,y:(e.y+n.y)/2}}var T_=.1;function e3(e,n){return ZL(e.x-n.x)<=T_&&ZL(e.y-n.y)<=T_}function t3(e,n){var t=k_(e[n-1],e[n]);return t/(t+k_(e[n],e[n+1]))}function n3(e,n){return[e[n],e[n+1]]}function qf(e,n,t){var i=Mf(n),r=Mf(t),o=xa(e,i);return Gs({x:r.x+o.x*(t.width/n.width),y:r.y+o.y*(t.height/n.height)})}function r3(e,n,t){var i=Mf(e),r=Mf(n),o=Mf(t),a=xa(e,i),s=xa(i,r),c=function qse(e,n,t){var i=at(n),r=at(t);if(function Kse(e,n){return function Xse(e,n){return e.right!==n.right&&e.left!==n.left}(e,n)||function Zse(e,n){return e.top!==n.top&&e.bottom!==n.bottom}(e,n)}(i,r))return null;var a,o=Li(n,e);if("top"===o)a={x:0,y:r.bottom-i.bottom};else if("bottom"===o)a={x:0,y:r.top-i.top};else if("right"===o)a={x:r.left-i.left,y:0};else{if("left"!==o)return null;a={x:r.right-i.right,y:0}}return Li(t,{x:e.x+a.x,y:e.y+a.y})!==o?null:a}(i,n,t);return c||Gs({x:o.x+s.x*(t.width/n.width)+a.x-e.x,y:o.y+s.y*(t.height/n.height)+a.y-e.y})}var Qse={width:90,height:20};function lC(e,n,t,i){Ve.call(this,e),this.postExecute("element.updateProperties",function(o){var a=o.context,s=a.element,c=a.properties;if("name"in c&&n.updateLabel(s,c.name),"text"in c&&b(s,"bpmn:TextAnnotation")){var l=i.getTextAnnotationBounds({x:s.x,y:s.y,width:s.width,height:s.height},c.text||"");n.updateLabel(s,c.text,l)}}),this.postExecute(["shape.create","connection.create"],function(o){var a=o.context;if(!1!==(a.hints||{}).createElementsBehavior){var c=a.shape||a.connection,l=c.businessObject;if(!mi(c)&&ya(c)&&Go(c)){var d=nu(c),u=i.getExternalLabelBounds(Qse,Go(c));n.createLabel(c,d,{id:l.id+"_label",businessObject:l,width:u.width,height:u.height})}}}),this.postExecute("shape.delete",function(o){var a=o.context,s=a.labelTarget;s&&!1!==(a.hints||{}).unsetLabel&&n.updateLabel(s,null,null,{removeShape:!1})}),this.postExecute(["label.create"],function(o){var l,s=o.context.shape;s.labelTarget&&b(s.labelTarget||s,"bpmn:BaseElement")&&((l=s.businessObject.di).label||(l.label=t.create("bpmndi:BPMNLabel",{bounds:t.create("dc:Bounds")})),I(l.label.bounds,{x:s.x,y:s.y,width:s.width,height:s.height}))}),this.postExecute(["connection.layout","connection.updateWaypoints"],function(o){var a=o.context;if(!1!==(a.hints||{}).labelBehavior){var d,l=a.connection.label;!l||!l.parent||(d=function r(o){var a=o.context,s=a.connection,c=s.label,l=I({},a.hints),d=a.newWaypoints||s.waypoints,u=a.oldWaypoints;return typeof l.startChanged>"u"&&(l.startChanged=!!l.connectionStart),typeof l.endChanged>"u"&&(l.endChanged=!!l.connectionEnd),function Use(e,n,t,i){var r=0,o=0,a=function Gse(e){return{x:e.x+e.width/2,y:e.y+e.height/2}}(e),s=function Vse(e,n){var i,r,o,a,s,l,d,u,h,f,t=0;for(t=0;t line intersections");1===l.length&&(d={type:"bendpoint",position:l[0],segmentIndex:t,bendpointIndex:e3(i,l[0])?t:t+1}),2===l.length&&(d={type:"segment",position:s=Hse(l[0],l[1]),segmentIndex:t,relativeLocation:Yf(i,s)/Yf(i,r)}),u=Yf(d.position,e),(!f||h>u)&&(f=d,h=u)}return f}(a,t),c=s.segmentIndex,l=function $se(e,n,t,i){var r=t.segmentIndex,o=n.length-e.length;if(i.segmentMove){var s=i.segmentMove.newSegmentStartIndex;return r===i.segmentMove.segmentStartIndex?s:r>=s?r+o=l&&(d=c?r+1:r-1),rn.length-2)return{x:r,y:o};var d=n3(t,c),u=n3(n,l),h=s.position,f=function Yse(e,n){var t=k_(e[0],e[1]),i=k_(e[0],n);return 0===t?0:i/t}(d,h),p=function Wse(e,n){var t=YL(e);return YL(n)-t}(d,u);if("bendpoint"===s.type){var g=n.length-t.length,v=s.bendpointIndex;if(-1!==n.indexOf(t[v]))return{x:r,y:o};if(0===g){var E=n[v];return{x:E.x-s.position.x,y:E.y-s.position.y}}g<0&&0!==v&&v"+o+"
"})}(r,t("flow elements must be children of pools/participants"))})}function fC(e,n,t,i){Ve.call(this,e);var r=i.get("dragging",!1);function o(c){var h,f,l=c.source,d=c.target;c.parent&&(b(c,"bpmn:SequenceFlow")&&(t.canConnectSequenceFlow(l,d)||(f=!0),t.canConnectMessageFlow(l,d)&&(h="bpmn:MessageFlow")),b(c,"bpmn:MessageFlow")&&(t.canConnectMessageFlow(l,d)||(f=!0),t.canConnectSequenceFlow(l,d)&&(h="bpmn:SequenceFlow")),b(c,"bpmn:Association")&&!t.canConnectAssociation(l,d)&&(f=!0),f&&n.removeConnection(c),h&&n.connect(l,d,{type:h,waypoints:c.waypoints.slice()}))}this.postExecuted("elements.move",function(c){R(c.closure.allConnections,o)},!0),this.preExecute("connection.reconnect",function a(c){var f,p,l=c.context,d=l.connection,u=l.newSource||d.source,h=l.newTarget||d.target;(f=t.canConnect(u,h))&&f.type!==d.type&&(p=n.connect(u,h,{type:f.type,waypoints:d.waypoints.slice()}),n.removeConnection(d),l.connection=p,r&&function s(c,l){var h,d=r.context(),u=d&&d.payload.previousSelection;!u||!u.length||-1!==(h=u.indexOf(c))&&u.splice(h,1,l)}(d,p))}),this.postExecuted("element.updateProperties",function(c){var f,l=c.context,d=l.properties,u=l.element,h=u.businessObject;d.default&&(f=on(u.outgoing,$o({id:u.businessObject.default.id})))&&n.updateProperties(f,{conditionExpression:void 0}),d.conditionExpression&&h.sourceRef.default===h&&n.updateProperties(u.source,{default:void 0})})}function pC(e,n){Ve.call(this,e),this.preExecute("shape.delete",function(t){var i=t.shape,r=i.parent;b(i,"bpmn:Participant")&&(t.collaborationRoot=r)},!0),this.postExecute("shape.delete",function(t){var i=t.collaborationRoot;i&&!i.businessObject.participants.length&&n.makeProcess()},!0)}function O_(e,n,t,i,r,o){i.invoke(Ve,this),this._bpmnReplace=e,this._elementRegistry=t,this._selection=o,this.postExecuted(["elements.create"],500,function(a){var s=a.context,l=s.elements,d=n.canReplace(l,s.parent);d&&this.replaceElements(l,d.replacements)},this),this.postExecuted(["elements.move"],500,function(a){var s=a.context,c=s.newParent,l=s.newHost,d=[];R(s.closure.topLevel,function(h){d=Gr(h)?d.concat(h.children):d.concat(h)}),1===d.length&&l&&(c=l);var u=n.canReplace(d,c);u&&this.replaceElements(d,u.replacements,l)},this),this.postExecute(["shape.replace"],1500,function(a){var u,s=a.context,d=s.oldShape.attachers;d&&d.length&&(u=n.canReplace(d,s.newShape),this.replaceElements(d,u.replacements))},this),this.postExecuted(["shape.replace"],1500,function(a){var s=a.context,c=s.oldShape,l=s.newShape;r.unclaimId(c.businessObject.id,c.businessObject),r.updateProperties(l,{id:c.id})})}Xe()(lC,Ve),lC.$inject=["eventBus","modeling","bpmnFactory","textRenderer"],hC.$inject=["eventBus","modeling"],Xe()(hC,Ve),l3.$inject=["eventBus","tooltips","translate"],Xe()(fC,Ve),fC.$inject=["eventBus","modeling","bpmnRules","injector"],pC.$inject=["eventBus","modeling"],Xe()(pC,Ve),Xe()(O_,Ve),O_.prototype.replaceElements=function(e,n){var t=this._elementRegistry,i=this._bpmnReplace,r=this._selection;R(n,function(o){var a={type:o.newElementType},s=t.get(o.oldElementId),c=e.indexOf(s);e[c]=i.replaceElement(s,a,{select:!1})}),n&&r.select(e)},O_.$inject=["bpmnReplace","bpmnRules","elementRegistry","injector","modeling","selection"];var rl={width:300,height:60},Kf={width:300,height:150},d3={width:140,height:120},u3={width:50,height:30};function h3(e){e.on("resize.start",1500,function(n){var t=n.context,i=t.shape,r=t.direction,o=t.balanced;(b(i,"bpmn:Lane")||b(i,"bpmn:Participant"))&&(t.resizeConstraints=function mce(e,n,t){var i=Ko(e),r=!0,o=!0,a=u_(i,[i]),s=at(e),c={},l={};return/e/.test(n)?l.right=s.left+rl.width:/w/.test(n)&&(l.left=s.right-rl.width),a.forEach(function(u){var h=at(u);/n/.test(n)&&(h.tops.bottom+10&&(o=!1),t&&R_(s.bottom-h.top)<10&&P_(c,"bottom",h.bottom-rl.height),R_(s.bottom-h.bottom)<5&&N_(l,"bottom",h.top+rl.height))}),i.children.filter(function(u){return!u.hidden&&!u.waypoints&&(b(u,"bpmn:FlowElement")||b(u,"bpmn:Artifact"))}).forEach(function(u){var h=at(u);r&&/n/.test(n)&&P_(l,"top",h.top-fce),/e/.test(n)&&N_(l,"right",h.right+uce),o&&/s/.test(n)&&N_(l,"bottom",h.bottom+pce),/w/.test(n)&&P_(l,"left",h.left-hce)}),{min:l,max:c}}(i,r,o)),b(i,"bpmn:Participant")&&(t.minDimensions=Kf),b(i,"bpmn:SubProcess")&&ln(i)&&(t.minDimensions=d3),b(i,"bpmn:TextAnnotation")&&(t.minDimensions=u3)})}h3.$inject=["eventBus"];var R_=Math.abs,lce=Math.min,dce=Math.max;function f3(e,n,t,i){var r=e[n];e[n]=void 0===r?t:i(t,r)}function P_(e,n,t){return f3(e,n,t,lce)}function N_(e,n,t){return f3(e,n,t,dce)}var uce=20,hce=50,fce=20,pce=20;function m3(e,n){e.on("resize.start",1501,function(t){var i=t.context,r=i.shape;(b(r,"bpmn:Lane")||b(r,"bpmn:Participant"))&&(i.balanced=!ru(t))}),e.on("resize.end",1001,function(t){var i=t.context,r=i.shape,o=i.canExecute,a=i.newBounds;if(b(r,"bpmn:Lane")||b(r,"bpmn:Participant"))return o&&(a=jN(a),n.resizeLane(r,a,i.balanced)),!1})}function mC(e,n,t){Ve.call(this,e),this.preExecute("shape.delete",function(i){var r=i.context.shape;if(1===r.incoming.length&&1===r.outgoing.length){var o=r.incoming[0],a=r.outgoing[0];if(b(o,"bpmn:SequenceFlow")&&b(a,"bpmn:SequenceFlow")&&n.canConnect(o.source,a.target,o)){var s=function gce(e,n){var t=sC(fu(e[e.length-2]),fu(e[e.length-1]),fu(n[1]),fu(n[0]));return t?[].concat(e.slice(0,e.length-1),[t],n.slice(1)):[fu(e[0]),fu(n[n.length-1])]}(o.waypoints,a.waypoints);t.reconnectEnd(o,a.target,s)}}})}function fu(e){return e.original||e}m3.$inject=["eventBus","modeling"],Xe()(mC,Ve),mC.$inject=["eventBus","bpmnRules","modeling"];var vce=Math.max;function g3(e){e.on("spaceTool.getMinDimensions",function(n){var i=n.axis,r=n.start,o={};return R(n.shapes,function(a){var s=a.id;b(a,"bpmn:Participant")&&(o[s]=function _ce(e){return"x"===e}(i)?Kf:{width:Kf.width,height:yce(a,r)}),b(a,"bpmn:SubProcess")&&ln(a)&&(o[s]=d3),b(a,"bpmn:TextAnnotation")&&(o[s]=u3)}),o})}function yce(e,n){var t;return function bce(e){return!!nl(e).length}(e)?(t=function xce(e,n){var i;return i=v3(nl(e),n),e.height-i.height+rl.height}(e,n),vce(Kf.height,t)):Kf.height}function v3(e,n){var t,i,r;for(t=0;t=(i=e[t]).y&&n<=i.y+i.height)return(r=nl(i)).length?v3(r,n):i}function gC(e,n){e.invoke(Ve,this),this.postExecuted("shape.replace",function(t){var i=t.context.oldShape,r=t.context.newShape;if(b(r,"bpmn:SubProcess")&&b(i,"bpmn:Task")&&ln(r)){var o=function wce(e){return{x:e.x+e.width/6,y:e.y+e.height/2}}(r);n.createShape({type:"bpmn:StartEvent"},o,r)}})}function _C(e,n,t,i){Ve.call(this,e),this.executed(["shape.toggleCollapse"],500,function(s){var l=s.context.shape;b(l,"bpmn:SubProcess")&&(l.collapsed?$e(l).di.isExpanded=!1:(function r(s){s.length&&s.forEach(function(c){"label"===c.type&&!c.businessObject.name&&(c.hidden=!0)})}(l.children),$e(l).di.isExpanded=!0))}),this.reverted(["shape.toggleCollapse"],500,function(s){var l=s.context.shape;$e(l).di.isExpanded=!l.collapsed}),this.postExecuted(["shape.toggleCollapse"],500,function(s){var d,c=s.context.shape,l=n._getDefaultSize(c);d=c.collapsed?function a(s,c){return{x:s.x+(s.width-c.width)/2,y:s.y+(s.height-c.height)/2,width:c.width,height:c.height}}(c,l):function o(s,c){var u,h,d=c;return u=function Ece(e){return e.filter(function(n){return!n.hidden})}(s.children).concat([s]),(h=cL(u))?(d.width=Math.max(h.width,d.width),d.height=Math.max(h.height,d.height),d.x=h.x+(h.width-d.width)/2,d.y=h.y+(h.height-d.height)/2):(d.x=s.x+(s.width-d.width)/2,d.y=s.y+(s.height-d.height)/2),d}(c,l),t.resizeShape(c,d,null,{autoResize:!c.collapsed&&"nwse"})})}function yC(e,n,t,i){n.invoke(Ve,this),this.preExecute("shape.delete",function(r){var a=r.context.shape,s=a.businessObject;mi(a)||(b(a,"bpmn:Participant")&&ln(a)&&t.ids.unclaim(s.processRef.id),i.unclaimId(s.id,s))}),this.preExecute("connection.delete",function(r){var s=r.context.connection.businessObject;i.unclaimId(s.id,s)}),this.preExecute("canvas.updateRoot",function(){var r=e.getRootElement(),o=r.businessObject;b(r,"bpmn:Collaboration")&&t.ids.unclaim(o.id)})}function bC(e,n,t){var i;Ve.call(this,e);var s=["spaceTool","lane.add","lane.resize","lane.split","elements.create","elements.delete","elements.move","shape.create","shape.delete","shape.move","shape.resize"];this.preExecute(s,5e3,function(c){!function r(){(i=i||new Dce).enter()}()}),this.postExecuted(s,500,function(c){!function a(){if(!i)throw new Error(t("out of bounds release"));var c=i.leave();c&&(n.updateLaneRefs(i.flowNodes,i.lanes),i=null)}()}),this.preExecute(["shape.create","shape.move","shape.delete","shape.resize"],function(c){var d=c.context.shape,u=function o(){if(!i)throw new Error(t("out of bounds release"));return i}();d.labelTarget||(b(d,"bpmn:Lane")&&u.addLane(d),b(d,"bpmn:FlowNode")&&u.addFlowNode(d))})}function Dce(){this.flowNodes=[],this.lanes=[],this.counter=0,this.addLane=function(e){this.lanes.push(e)},this.addFlowNode=function(e){this.flowNodes.push(e)},this.enter=function(){this.counter++},this.leave=function(){return this.counter--,!this.counter}}function xC(e,n){Ve.call(this,e),this.preExecute("connection.delete",function(t){var r=t.context.connection,o=r.source;(function kce(e,n){if(!b(e,"bpmn:SequenceFlow"))return!1;var t=$e(n),i=$e(e);return t.get("default")===i})(r,o)&&n.updateProperties(o,{default:null})})}g3.$inject=["eventBus"],gC.$inject=["injector","modeling"],Xe()(gC,Ve),Xe()(_C,Ve),_C.$inject=["eventBus","elementFactory","modeling"],Xe()(yC,Ve),yC.$inject=["canvas","injector","moddle","modeling"],bC.$inject=["eventBus","modeling","translate"],Xe()(bC,Ve),Xe()(xC,Ve),xC.$inject=["eventBus","modeling"];const Tce={__init__:["adaptiveLabelPositioningBehavior","appendBehavior","associationBehavior","attachEventBehavior","boundaryEventBehavior","rootElementReferenceBehavior","createBehavior","fixHoverBehavior","createDataObjectBehavior","createParticipantBehavior","dataStoreBehavior","dataInputAssociationBehavior","deleteLaneBehavior","detachEventBehavior","dropOnFlowBehavior","eventBasedGatewayBehavior","groupBehavior","importDockingFix","isHorizontalFix","labelBehavior","messageFlowBehavior","modelingFeedback","removeElementBehavior","removeParticipantBehavior","replaceConnectionBehavior","replaceElementBehaviour","resizeBehavior","resizeLaneBehavior","toggleElementCollapseBehaviour","spaceToolBehavior","subProcessStartEventBehavior","unclaimIdBehavior","unsetDefaultFlowBehavior","updateFlowNodeRefsBehavior"],adaptiveLabelPositioningBehavior:["type",UE],appendBehavior:["type",GE],associationBehavior:["type",WE],attachEventBehavior:["type",w_],boundaryEventBehavior:["type",YE],rootElementReferenceBehavior:["type",qE],createBehavior:["type",KE],fixHoverBehavior:["type",FL],createDataObjectBehavior:["type",XE],createParticipantBehavior:["type",JE],dataInputAssociationBehavior:["type",eC],dataStoreBehavior:["type",tC],deleteLaneBehavior:["type",nC],detachEventBehavior:["type",D_],dropOnFlowBehavior:["type",iC],eventBasedGatewayBehavior:["type",rC],groupBehavior:["type",aC],importDockingFix:["type",UL],isHorizontalFix:["type",cC],labelBehavior:["type",lC],messageFlowBehavior:["type",hC],modelingFeedback:["type",l3],replaceConnectionBehavior:["type",fC],removeParticipantBehavior:["type",pC],replaceElementBehaviour:["type",O_],resizeBehavior:["type",h3],resizeLaneBehavior:["type",m3],removeElementBehavior:["type",mC],toggleElementCollapseBehaviour:["type",_C],spaceToolBehavior:["type",g3],subProcessStartEventBehavior:["type",gC],unclaimIdBehavior:["type",yC],updateFlowNodeRefsBehavior:["type",bC],unsetDefaultFlowBehavior:["type",xC]};function _3(e,n){var t=Li(e,n,-15);return"intersect"!==t?t:null}function Vi(e){Ea.call(this,e)}function wC(e){return!e||mi(e)}function y3(e){do{if(b(e,"bpmn:Process"))return $e(e);if(b(e,"bpmn:Participant"))return $e(e).processRef||$e(e)}while(e=e.parent)}function EC(e){return b(e,"bpmn:TextAnnotation")}function CC(e){return b(e,"bpmn:Group")&&!e.labelTarget}function SC(e){return b(e,"bpmn:BoundaryEvent")&&Sa(e,"bpmn:CompensateEventDefinition")}function pu(e){return $e(e).isForCompensation}function b3(e){for(var n=e;n=n.parent;){if(b(n,"bpmn:FlowElementsContainer"))return $e(n);if(b(n,"bpmn:Participant"))return $e(n).processRef}return null}function Sa(e,n){return!!on($e(e).eventDefinitions||[],function(i){return b(i,n)})}function x3(e,n){return($e(e).eventDefinitions||[]).every(function(i){return b(i,n)})}function w3(e){return b(e,"bpmn:ReceiveTask")||b(e,"bpmn:IntermediateCatchEvent")&&(Sa(e,"bpmn:MessageEventDefinition")||Sa(e,"bpmn:TimerEventDefinition")||Sa(e,"bpmn:ConditionalEventDefinition")||Sa(e,"bpmn:SignalEventDefinition"))}function F_(e){return e.waypoints}function DC(e,n){var t=function Lce(e){for(var n=[];e;)(e=e.parent)&&n.push(e);return n}(n);return-1!==t.indexOf(e)}function L_(e,n,t){if(wC(e)||wC(n))return null;if(!b(t,"bpmn:DataAssociation")){if(M3(e,n))return{type:"bpmn:MessageFlow"};if(I3(e,n))return{type:"bpmn:SequenceFlow"}}return TC(e,n)||(SC(e)&&pu(n)?{type:"bpmn:Association",associationDirection:"One"}:!!A3(e,n)&&{type:"bpmn:Association"})}function mu(e,n,t){return!(!mi(e)&&!CC(e))||!(b(n,"bpmn:Participant")&&!ln(n))&&(b(e,"bpmn:Participant")?b(n,"bpmn:Process")||b(n,"bpmn:Collaboration"):Kt(e,["bpmn:DataInput","bpmn:DataOutput"])&&e.parent?n===e.parent:b(e,"bpmn:Lane")?b(n,"bpmn:Participant")||b(n,"bpmn:Lane"):!(b(e,"bpmn:BoundaryEvent")&&!function Bce(e){return $e(e).cancelActivity&&(E3(e)||C3(e))}(e))&&(b(e,"bpmn:FlowElement")&&!b(e,"bpmn:DataStoreReference")?b(n,"bpmn:FlowElementsContainer")?ln(n):Kt(n,["bpmn:Participant","bpmn:Lane"]):b(e,"bpmn:DataStoreReference")&&b(n,"bpmn:Collaboration")?Gc($e(n).get("participants"),function(i){return!!i.get("processRef")}):Kt(e,["bpmn:Artifact","bpmn:DataAssociation","bpmn:DataStoreReference"])?Kt(n,["bpmn:Collaboration","bpmn:Lane","bpmn:Participant","bpmn:Process","bpmn:SubProcess"]):!!b(e,"bpmn:MessageFlow")&&(b(n,"bpmn:Collaboration")||e.source.parent==n||e.target.parent==n)))}function jce(e){return b(e,"bpmn:Lane")}function E3(e){var n=$e(e);return n&&!(n.eventDefinitions&&n.eventDefinitions.length)}function C3(e){return S3(e,["bpmn:MessageEventDefinition","bpmn:TimerEventDefinition","bpmn:SignalEventDefinition","bpmn:ConditionalEventDefinition"])}function S3(e,n){return n.some(function(t){return Sa(e,t)})}function Xf(e,n,t,i){if(Array.isArray(e)||(e=[e]),1!==e.length)return!1;var r=e[0];return!(mi(r)||!function zce(e){return!!(function Vce(e){return!mi(e)&&b(e,"bpmn:BoundaryEvent")}(e)||b(e,"bpmn:IntermediateThrowEvent")&&E3(e))||b(e,"bpmn:IntermediateCatchEvent")&&C3(e)}(r)||Gr(n)||!b(n,"bpmn:Activity")||pu(n)||i&&!_3(i,n)||function Hce(e){return b(e,"bpmn:ReceiveTask")&&on(e.incoming,function(n){return b(n.source,"bpmn:EventBasedGateway")})}(n))&&"attach"}function D3(e,n,t){if(!n)return!1;var i={replacements:[]};return R(e,function(r){Gr(n)||b(r,"bpmn:StartEvent")&&"label"!==r.type&&mu(r,n)&&(function Qne(e){return e&&!1!==$e(e).isInterrupting}(r)||i.replacements.push({oldElementId:r.id,newElementType:"bpmn:StartEvent"}),(function Jne(e){return zv(e,"bpmn:ErrorEventDefinition")}(r)||function eie(e){return zv(e,"bpmn:EscalationEventDefinition")}(r)||function tie(e){return zv(e,"bpmn:CompensateEventDefinition")}(r))&&i.replacements.push({oldElementId:r.id,newElementType:"bpmn:StartEvent"}),S3(r,["bpmn:MessageEventDefinition","bpmn:TimerEventDefinition","bpmn:SignalEventDefinition","bpmn:ConditionalEventDefinition"])&&b(n,"bpmn:SubProcess")&&i.replacements.push({oldElementId:r.id,newElementType:"bpmn:StartEvent"})),b(n,"bpmn:Transaction")||Sa(r,"bpmn:CancelEventDefinition")&&"label"!==r.type&&(b(r,"bpmn:EndEvent")&&mu(r,n)&&i.replacements.push({oldElementId:r.id,newElementType:"bpmn:EndEvent"}),b(r,"bpmn:BoundaryEvent")&&Xf(r,n,0,t)&&i.replacements.push({oldElementId:r.id,newElementType:"bpmn:BoundaryEvent"}))}),!!i.replacements.length&&i}function k3(e,n){return!Gc(e,jce)&&(!n||e.every(function(t){return mu(t,n)}))}function kC(e,n,t,i){return!!n&&(!(!mi(e)&&!CC(e))||!(function Mce(e,n){return e===n}(t,n)||t&&DC(t,n))&&(mu(e,n)||B_(e,n)))}function T3(e,n){return b(e,"bpmn:SubProcess")?ln(e)&&(!n||n.width>=100&&n.height>=80):b(e,"bpmn:Lane")?!n||n.width>=130&&n.height>=60:b(e,"bpmn:Participant")?!n||n.width>=250&&n.height>=50:!(!EC(e)&&!CC(e))}function A3(e,n){return!(F_(e)||F_(n)||(!SC(e)||!pu(n))&&(DC(n,e)||DC(e,n)||!function $ce(e,n){var t=EC(e),i=EC(n);return(t||i)&&t!==i}(e,n)&&!TC(e,n)))}function M3(e,n){return!(R3(e)&&!R3(n))&&function Oce(e){return b(e,"bpmn:InteractionNode")&&!b(e,"bpmn:BoundaryEvent")&&(!b(e,"bpmn:Event")||b(e,"bpmn:ThrowEvent")&&x3(e,"bpmn:MessageEventDefinition"))}(e)&&function Rce(e){return b(e,"bpmn:InteractionNode")&&!pu(e)&&(!b(e,"bpmn:Event")||b(e,"bpmn:CatchEvent")&&x3(e,"bpmn:MessageEventDefinition"))&&!(b(e,"bpmn:BoundaryEvent")&&!Sa(e,"bpmn:MessageEventDefinition"))}(n)&&!function Ice(e,n){return y3(e)===y3(n)}(e,n)}function I3(e,n){return!(w3(n)&&n.incoming.length>0&&function Wce(e){return(e=e||[]).some(Gce)}(n.incoming)&&!b(e,"bpmn:EventBasedGateway"))&&function Nce(e){return b(e,"bpmn:FlowNode")&&!b(e,"bpmn:EndEvent")&&!Gr(e)&&!(b(e,"bpmn:IntermediateThrowEvent")&&Sa(e,"bpmn:LinkEventDefinition"))&&!SC(e)&&!pu(e)}(e)&&function Fce(e){return b(e,"bpmn:FlowNode")&&!b(e,"bpmn:StartEvent")&&!b(e,"bpmn:BoundaryEvent")&&!Gr(e)&&!(b(e,"bpmn:IntermediateCatchEvent")&&Sa(e,"bpmn:LinkEventDefinition"))&&!pu(e)}(n)&&function Pce(e,n){return b3(e)===b3(n)}(e,n)&&!(b(e,"bpmn:EventBasedGateway")&&!w3(n))}function TC(e,n){return Kt(e,["bpmn:DataObjectReference","bpmn:DataStoreReference"])&&Kt(n,["bpmn:Activity","bpmn:ThrowEvent"])?{type:"bpmn:DataInputAssociation"}:!(!Kt(n,["bpmn:DataObjectReference","bpmn:DataStoreReference"])||!Kt(e,["bpmn:Activity","bpmn:CatchEvent"]))&&{type:"bpmn:DataOutputAssociation"}}function B_(e,n,t){if(!n)return!1;if(Array.isArray(e)){if(1!==e.length)return!1;e=e[0]}return n.source!==e&&n.target!==e&&Kt(n,["bpmn:SequenceFlow","bpmn:MessageFlow"])&&!mi(n)&&b(e,"bpmn:FlowNode")&&!b(e,"bpmn:BoundaryEvent")&&mu(e,n.parent)}function O3(e,n){return!!mi(n)||!(b(n,"bpmn:Lane")&&!function Uce(e,n){return e&&n&&-1!==e.indexOf(n)}(e,n.parent))}function Gce(e){if(e&&e.source)return b(e.source,"bpmn:EventBasedGateway")}function R3(e){return a_(e,"bpmn:Process")||a_(e,"bpmn:Collaboration")}Xe()(Vi,Ea),Vi.$inject=["eventBus"],Vi.prototype.init=function(){this.addRule("connection.start",function(e){return function Ace(e){return wC(e)?null:Kt(e,["bpmn:FlowNode","bpmn:InteractionNode","bpmn:DataObjectReference","bpmn:DataStoreReference","bpmn:Group","bpmn:TextAnnotation"])}(e.source)}),this.addRule("connection.create",function(e){var n=e.source,t=e.target,i=e.hints||{},r=i.targetParent;if(i.targetAttach)return!1;r&&(t.parent=r);try{return L_(n,t)}finally{r&&(t.parent=null)}}),this.addRule("connection.reconnect",function(e){return L_(e.source,e.target,e.connection)}),this.addRule("connection.updateWaypoints",function(e){return{type:e.connection.type}}),this.addRule("shape.resize",function(e){return T3(e.shape,e.newBounds)}),this.addRule("elements.create",function(e){var n=e.elements,t=e.position,i=e.target;return!(F_(i)&&!B_(n,i))&&Uc(n,function(r){return F_(r)?L_(r.source,r.target,r):r.host?Xf(r,r.host,0,t):kC(r,i,null)})}),this.addRule("elements.move",function(e){var n=e.target,t=e.shapes,i=e.position;return Xf(t,n,0,i)||D3(t,n,i)||k3(t,n)||B_(t,n)}),this.addRule("shape.create",function(e){return kC(e.shape,e.target,e.source)}),this.addRule("shape.attach",function(e){return Xf(e.shape,e.target,0,e.position)}),this.addRule("element.copy",function(e){return O3(e.elements,e.element)})},Vi.prototype.canConnectMessageFlow=M3,Vi.prototype.canConnectSequenceFlow=I3,Vi.prototype.canConnectDataAssociation=TC,Vi.prototype.canConnectAssociation=A3,Vi.prototype.canMove=k3,Vi.prototype.canAttach=Xf,Vi.prototype.canReplace=D3,Vi.prototype.canDrop=mu,Vi.prototype.canInsert=B_,Vi.prototype.canCreate=kC,Vi.prototype.canConnect=L_,Vi.prototype.canResize=T3,Vi.prototype.canCopy=O3;const Yce={__depends__:[Ca],__init__:["bpmnRules"],bpmnRules:["type",Vi]};function P3(e,n){e.on("saveXML.start",2e3,function t(){var a,i=n.getRootElement(),r=$e(i).di;a=Ti(St(Tv([i],!1),function(s){return s!==i&&!s.labelTarget}),Qd),r.set("planeElement",a)})}P3.$inject=["eventBus","canvas"];const Kce={__init__:["bpmnDiOrdering"],bpmnDiOrdering:["type",P3]};function V_(e){Ve.call(this,e);var n=this;this.preExecute(["shape.create","connection.create"],function(t){var i=t.context,a=n.getOrdering(i.shape||i.connection,i.parent);a&&(void 0!==a.parent&&(i.parent=a.parent),i.parentIndex=a.index)}),this.preExecute(["shape.move","connection.move"],function(t){var i=t.context,r=i.shape||i.connection,a=n.getOrdering(r,i.newParent||r.parent);a&&(void 0!==a.parent&&(i.newParent=a.parent),i.newParentIndex=a.index)})}function AC(e,n,t){V_.call(this,e);var i=[{type:"bpmn:SubProcess",order:{level:6}},{type:"bpmn:SequenceFlow",order:{level:3,containers:["bpmn:Participant","bpmn:FlowElementsContainer"]}},{type:"bpmn:DataAssociation",order:{level:9,containers:["bpmn:Collaboration","bpmn:Process"]}},{type:"bpmn:MessageFlow",order:{level:9,containers:["bpmn:Collaboration"]}},{type:"bpmn:Association",order:{level:6,containers:["bpmn:Participant","bpmn:FlowElementsContainer","bpmn:Collaboration"]}},{type:"bpmn:BoundaryEvent",order:{level:8}},{type:"bpmn:Group",order:{level:10,containers:["bpmn:Collaboration","bpmn:Process"]}},{type:"bpmn:FlowElement",order:{level:5}},{type:"bpmn:Participant",order:{level:-2}},{type:"bpmn:Lane",order:{level:-1}}];function o(s){var c=s.order;if(c||(s.order=c=function r(s){if(s.labelTarget)return{level:10};var c=on(i,function(l){return Kt(s,[l.type])});return c&&c.order||{level:1}}(s)),!c)throw new Error("no order for <"+s.id+">");return c}this.getOrdering=function(s,c){if(s.labelTarget)return{parent:n.getRootElement(),index:-1};var l=o(s);l.containers&&(c=function a(s,c,l){for(var d=c;d&&!Kt(d,l);)d=d.parent;if(!d)throw new Error("no parent for <"+s.id+"> in <"+(c&&c.id)+">");return d}(s,c,l.containers));var d=c.children.indexOf(s),u=hN(c.children,function(h){return!(!s.labelTarget&&h.labelTarget)&&l.level");this._pushAction(e),n||(this._fire(i,"preExecute",e),o.preExecute&&o.preExecute(r),this._fire(i,"preExecuted",e)),this._atomicDo(function(){t._fire(i,"execute",e),o.execute&&t._markDirty(o.execute(r)),t._executedAction(e,n),t._fire(i,"executed",e)}),n||(this._fire(i,"postExecute",e),o.postExecute&&o.postExecute(r),this._fire(i,"postExecuted",e)),this._popAction(e)},kn.prototype._pushAction=function(e){var n=this._currentExecution,t=n.actions,i=t[0];if(n.atomic)throw new Error("illegal invocation in or phase (action: "+e.command+")");e.id||(e.id=i&&i.id||this._createId()),t.push(e)},kn.prototype._popAction=function(){var e=this._currentExecution,n=e.trigger,t=e.actions,i=e.dirty;t.pop(),t.length||(this._eventBus.fire("elements.changed",{elements:fN("id",i.reverse())}),i.length=0,this._fire("changed",{trigger:n}),e.trigger=null)},kn.prototype._markDirty=function(e){var n=this._currentExecution;e&&(e=Lt(e)?e:[e],n.dirty=n.dirty.concat(e))},kn.prototype._executedAction=function(e,n){var t=++this._stackIdx;n||this._stack.splice(t,this._stack.length,e)},kn.prototype._revertedAction=function(e){this._stackIdx--},kn.prototype._getHandler=function(e){return this._handlerMap[e]},kn.prototype._setHandler=function(e,n){if(!e||!n)throw new Error("command and handler required");if(this._handlerMap[e])throw new Error("overriding handler for command <"+e+">");this._handlerMap[e]=n};const Zce={commandStack:["type",kn]};var Qce=new sE("tt");function MC(e,n){e.style.display=!1===n?"none":""}var N3="djs-tooltip",IC="."+N3;function lr(e,n){this._eventBus=e,this._canvas=n,this._ids=Qce,this._tooltipDefaults={show:{minZoom:.7,maxZoom:5}},this._tooltips={},this._tooltipRoot=function Jce(e){var n=Dn('
');return e.insertBefore(n,e.firstChild),n}(n.getContainer());var t=this;Hr.bind(this._tooltipRoot,IC,"mousedown",function(i){i.stopPropagation()}),Hr.bind(this._tooltipRoot,IC,"mouseover",function(i){t.trigger("mouseover",i)}),Hr.bind(this._tooltipRoot,IC,"mouseout",function(i){t.trigger("mouseout",i)}),this._init()}lr.$inject=["eventBus","canvas"],lr.prototype.add=function(e){if(!e.position)throw new Error("must specifiy tooltip position");if(!e.html)throw new Error("must specifiy tooltip html");var n=this._ids.next();return e=I({},this._tooltipDefaults,e,{id:n}),this._addTooltip(e),e.timeout&&this.setTimeout(e),n},lr.prototype.trigger=function(e,n){var i=this.get(zr(n.delegateTarget||n.target,"data-tooltip-id"));i&&("mouseover"===e&&i.timeout&&this.clearTimeout(i),"mouseout"===e&&i.timeout&&(i.timeout=1e3,this.setTimeout(i)))},lr.prototype.get=function(e){return"string"!=typeof e&&(e=e.id),this._tooltips[e]},lr.prototype.clearTimeout=function(e){if(e=this.get(e)){var n=e.removeTimer;n&&(clearTimeout(n),e.removeTimer=null)}},lr.prototype.setTimeout=function(e){if(e=this.get(e)){this.clearTimeout(e);var n=this;e.removeTimer=setTimeout(function(){n.remove(e)},e.timeout)}},lr.prototype.remove=function(e){var n=this.get(e);n&&(ga(n.html),ga(n.htmlContainer),delete n.htmlContainer,delete this._tooltips[n.id])},lr.prototype.show=function(){MC(this._tooltipRoot)},lr.prototype.hide=function(){MC(this._tooltipRoot,!1)},lr.prototype._updateRoot=function(e){var n=e.scale||1,t=e.scale||1,i="matrix("+n+",0,0,"+t+","+-1*e.x*n+","+-1*e.y*t+")";this._tooltipRoot.style.transform=i,this._tooltipRoot.style["-ms-transform"]=i},lr.prototype._addTooltip=function(e){var i,n=e.id,t=e.html,r=this._tooltipRoot;t.get&&t.constructor.prototype.jquery&&(t=t.get(0)),Vr(t)&&(t=Dn(t)),(i=Dn('
')).appendChild(t),e.type&&fi(i).add("djs-tooltip-"+e.type),e.className&&fi(i).add(e.className),e.htmlContainer=i,r.appendChild(i),this._tooltips[n]=e,this._updateTooltip(e)},lr.prototype._updateTooltip=function(e){var n=e.position;!function ele(e,n,t){I(e.style,{left:n+"px",top:t+"px"})}(e.htmlContainer,n.x,n.y)},lr.prototype._updateTooltipVisibilty=function(e){R(this._tooltips,function(n){var t=n.show,r=!0;t&&((t.minZoom>e.scale||t.maxZoomNC(e.dy)?"x":"y",i=e["d"+t],r=e[t]-i;if(NC(i)<5)return!1;i<0&&(i*=-1),ru(e)&&(i*=-1);var o=function hle(e,n){if("x"===e){if(n>0)return"e";if(n<0)return"w"}if("y"===e){if(n>0)return"s";if(n<0)return"n"}return null}(t,i),s=Tv(this._canvas.getRootElement(),!0),c=this.calculateAdjustments(s,t,i,r),d=function vle(e,n,t,i,r){var o=e.movingShapes,a=e.resizingShapes;if(a.length){var c,l,s={};return R(a,function(d){var p,g,v,u=at(d),h=St(d.children,function(E){return!(LC(E)||U3(E)||FC(o,E)||FC(a,E))}),f=St(d.children,function(E){return!LC(E)&&!U3(E)&&FC(o,E)});h.length&&(g=H3(at(Fi(h))),p=i-u[z_[t]]+g[z_[t]],"n"===t?s.bottom=l=yt(l)?Math.min(l,p):p:"w"===t?s.right=l=yt(l)?Math.min(l,p):p:"s"===t?s.top=c=yt(c)?Math.max(c,p):p:"e"===t&&(s.left=c=yt(c)?Math.max(c,p):p)),f.length&&(v=H3(at(Fi(f))),p=i-v[z_[z3[t]]]+u[z_[z3[t]]],"n"===t?s.bottom=l=yt(l)?Math.min(l,p):p:"w"===t?s.right=l=yt(l)?Math.min(l,p):p:"s"===t?s.top=c=yt(c)?Math.max(c,p):p:"e"===t&&(s.left=c=yt(c)?Math.max(c,p):p));var k=r&&r[d.id];k&&("n"===t?(p=i+d[ls[n]]-k[ls[n]],s.bottom=l=yt(l)?Math.min(l,p):p):"w"===t?(p=i+d[ls[n]]-k[ls[n]],s.right=l=yt(l)?Math.min(l,p):p):"s"===t?(p=i-d[ls[n]]+k[ls[n]],s.top=c=yt(c)?Math.max(c,p):p):"e"===t&&(p=i-d[ls[n]]+k[ls[n]],s.left=c=yt(c)?Math.max(c,p):p))}),s}}(c,t,o,r,this._eventBus.fire("spaceTool.getMinDimensions",{axis:t,direction:o,shapes:c.resizingShapes,start:r}));return I(n,c,{axis:t,direction:o,spaceToolConstraints:d,start:r}),Kv("resize-"+("x"===t?"ew":"ns")),!0},ds.prototype.calculateAdjustments=function(e,n,t,i){var r=this._rules,o=[],a=[];return R(e,function(s){if(s.parent&&!LC(s)){var c=s[n],l=c+s[ls[n]];if(t>0&&c>i||t<0&&li&&r.allowed("shape.resize",{shape:s}))return a.push(s)}}),{movingShapes:o,resizingShapes:a}},ds.prototype.toggle=function(){if(this.isActive())return this._dragging.cancel();var e=this._mouse.getLastMoveEvent();this.activateSelection(e,!!e)},ds.prototype.isActive=function(){var e=this._dragging.context();return e&&/^spaceTool/.test(e.prefix)};var BC="djs-dragging",G3="djs-resizing",$_=Math.max;function W3(e,n,t,i,r){function o(a,s){R(a,function(c){r.addDragger(c,s),t.addMarker(c,BC)})}e.on("spaceTool.selection.start",function(a){var s=t.getLayer("space"),c=a.context,d=qe("g");ge(d,i.cls("djs-crosshair-group",["no-events"])),Ze(s,d);var u=qe("path");ge(u,"d","M 0,-10000 L 0,10000"),Pt(u).add("djs-crosshair"),Ze(d,u);var h=qe("path");ge(h,"d","M -10000,0 L 10000,0"),Pt(h).add("djs-crosshair"),Ze(d,h),c.crosshairGroup=d}),e.on("spaceTool.selection.move",function(a){sr(a.context.crosshairGroup,a.x,a.y)}),e.on("spaceTool.selection.cleanup",function(a){var c=a.context.crosshairGroup;c&&ti(c)}),e.on("spaceTool.move",250,function(a){var s=a.context,c=s.line,l=s.axis,d=s.movingShapes,u=s.resizingShapes;if(s.initialized){if(!s.dragGroup){var h=t.getLayer("space");ge(c=qe("path"),"d","M0,0 L0,0"),Pt(c).add("djs-crosshair"),Ze(h,c),s.line=c;var f=qe("g");ge(f,i.cls("djs-drag-group",["no-events"])),Ze(t.getActiveLayer(),f),o(d,f);var p=s.movingConnections=n.filter(function(x){var D=!1;R(d,function(Q){R(Q.outgoing,function(be){x===be&&(D=!0)})});var P=!1;R(d,function(Q){R(Q.incoming,function(be){x===be&&(P=!0)})});var V=!1;R(u,function(Q){R(Q.outgoing,function(be){x===be&&(V=!0)})});var F=!1;return R(u,function(Q){R(Q.incoming,function(be){x===be&&(F=!0)})}),function yle(e){return e.waypoints}(x)&&(D||V)&&(P||F)});o(p,f),s.dragGroup=f}if(!s.frameGroup){var g=qe("g");ge(g,i.cls("djs-frame-group",["no-events"])),Ze(t.getActiveLayer(),g);var v=[];R(u,function(x){var D=r.addFrame(x,g),P=D.getBBox();v.push({element:D,initialBounds:P}),t.addMarker(x,G3)}),s.frameGroup=g,s.frames=v}ge(c,{d:{x:"M"+a.x+", -10000 L"+a.x+", 10000",y:"M -10000, "+a.y+" L 10000, "+a.y}[l]});var C={x:a.dx,y:a.dy};C[{x:"y",y:"x"}[s.axis]]=0,sr(s.dragGroup,C.x,C.y),R(s.frames,function(x){var V,F,D=x.element,P=x.initialBounds;ge(D,"e"===s.direction?{width:$_(P.width+C.x,5)}:{width:V=$_(P.width-C.x,5),x:P.x+P.width-V}),ge(D,"s"===s.direction?{height:$_(P.height+C.y,5)}:{height:F=$_(P.height-C.y,5),y:P.y+P.height-F})})}}),e.on("spaceTool.cleanup",function(a){var s=a.context,l=s.movingConnections,d=s.resizingShapes,u=s.line,h=s.dragGroup,f=s.frameGroup;R(s.movingShapes,function(p){t.removeMarker(p,BC)}),R(l,function(p){t.removeMarker(p,BC)}),h&&(ti(u),ti(h)),R(d,function(p){t.removeMarker(p,G3)}),f&&ti(f)})}W3.$inject=["eventBus","elementRegistry","canvas","styles","previewSupport"];const Y3={__init__:["spaceToolPreview"],__depends__:[as,Ca,j_,Ff,Vf],spaceTool:["type",ds],spaceToolPreview:["type",W3]};function yo(e){this._model=e}function Er(e,n,t,i){Ve.call(this,e),this._bpmnFactory=n,this._translate=i;var r=this;function c(f){R(f.context.oldRoot.children,function(k){b(k,"bpmn:BaseElement")&&r.updateParent(k)})}function l(f){var p=f.context.shape;b(p,"bpmn:BaseElement")&&r.updateBounds(p)}function d(f){r.updateConnection(f.context)}function u(f){r.updateConnectionWaypoints(f.context.connection)}function h(f){r.updateAttachment(f.context)}this.executed(["connection.layout","connection.create"],function o(f){var v,p=f.context;!p.cropped&&!1!==(p.hints||{}).createElementsBehavior&&((v=p.connection).waypoints=t.getCroppedWaypoints(v),p.cropped=!0)}),this.reverted(["connection.layout"],function(f){delete f.context.cropped}),this.executed(["shape.move","shape.create","shape.delete","connection.create","connection.move","connection.delete"],bo(function a(f){var p=f.context;r.updateParent(p.shape||p.connection,p.oldParent)})),this.reverted(["shape.move","shape.create","shape.delete","connection.create","connection.move","connection.delete"],bo(function s(f){var p=f.context;r.updateParent(p.shape||p.connection,p.parent||p.newParent)})),this.executed(["canvas.updateRoot"],c),this.reverted(["canvas.updateRoot"],c),this.executed(["shape.move","shape.create","shape.resize"],bo(function(f){"label"!==f.context.shape.type&&l(f)})),this.reverted(["shape.move","shape.create","shape.resize"],bo(function(f){"label"!==f.context.shape.type&&l(f)})),e.on("shape.changed",function(f){"label"===f.element.type&&l({context:{shape:f.element}})}),this.executed(["connection.create","connection.move","connection.delete","connection.reconnect"],bo(d)),this.reverted(["connection.create","connection.move","connection.delete","connection.reconnect"],bo(d)),this.executed(["connection.layout","connection.move","connection.updateWaypoints"],bo(u)),this.reverted(["connection.layout","connection.move","connection.updateWaypoints"],bo(u)),this.executed("connection.reconnect",bo(function(f){var p=f.context,v=p.oldSource,k=p.newSource,E=$e(p.connection),C=$e(v),x=$e(k);E.conditionExpression&&!Kt(x,["bpmn:Activity","bpmn:ExclusiveGateway","bpmn:InclusiveGateway"])&&(p.oldConditionExpression=E.conditionExpression,delete E.conditionExpression),v!==k&&C.default===E&&(p.oldDefault=C.default,delete C.default)})),this.reverted("connection.reconnect",bo(function(f){var p=f.context,v=p.oldSource,k=p.newSource,E=$e(p.connection),C=$e(v),x=$e(k);p.oldConditionExpression&&(E.conditionExpression=p.oldConditionExpression),p.oldDefault&&(C.default=p.oldDefault,delete x.default)})),this.executed(["element.updateAttachment"],bo(h)),this.reverted(["element.updateAttachment"],bo(h))}function bo(e){return function(n){var t=n.context;b(t.shape||t.connection,"bpmn:BaseElement")&&e(n)}}function xo(e,n,t){ns.call(this),this._bpmnFactory=e,this._moddle=n,this._translate=t}function q3(e,n,t){e[t]=n[t],delete n[t]}function U_(e,n){this._modeling=e,this._canvas=n}function G_(e){this._modeling=e}function W_(e,n){this._canvas=e,this._layouter=n}yo.$inject=["moddle"],yo.prototype._needsId=function(e){return Kt(e,["bpmn:RootElement","bpmn:FlowElement","bpmn:MessageFlow","bpmn:DataAssociation","bpmn:Artifact","bpmn:Participant","bpmn:Lane","bpmn:LaneSet","bpmn:Process","bpmn:Collaboration","bpmndi:BPMNShape","bpmndi:BPMNEdge","bpmndi:BPMNDiagram","bpmndi:BPMNPlane","bpmn:Property","bpmn:CategoryValue"])},yo.prototype._ensureId=function(e){var n;e.id?this._model.ids.claim(e.id,e):(n=b(e,"bpmn:Activity")?"Activity":b(e,"bpmn:Event")?"Event":b(e,"bpmn:Gateway")?"Gateway":Kt(e,["bpmn:SequenceFlow","bpmn:MessageFlow"])?"Flow":(e.$type||"").replace(/^[^:]*:/g,""),n+="_",!e.id&&this._needsId(e)&&(e.id=this._model.ids.nextPrefixed(n,e)))},yo.prototype.create=function(e,n){var t=this._model.create(e,n||{});return this._ensureId(t),t},yo.prototype.createDiLabel=function(){return this.create("bpmndi:BPMNLabel",{bounds:this.createDiBounds()})},yo.prototype.createDiShape=function(e,n,t){return this.create("bpmndi:BPMNShape",I({bpmnElement:e,bounds:this.createDiBounds(n)},t))},yo.prototype.createDiBounds=function(e){return this.create("dc:Bounds",e)},yo.prototype.createDiWaypoints=function(e){var n=this;return Ti(e,function(t){return n.createDiWaypoint(t)})},yo.prototype.createDiWaypoint=function(e){return this.create("dc:Point",jr(e,["x","y"]))},yo.prototype.createDiEdge=function(e,n,t){return this.create("bpmndi:BPMNEdge",I({bpmnElement:e,waypoint:this.createDiWaypoints(n)},t))},yo.prototype.createDiPlane=function(e){return this.create("bpmndi:BPMNPlane",{bpmnElement:e})},Xe()(Er,Ve),Er.$inject=["eventBus","bpmnFactory","connectionDocking","translate"],Er.prototype.updateAttachment=function(e){var n=e.shape,i=n.host;n.businessObject.attachedToRef=i&&i.businessObject},Er.prototype.updateParent=function(e,n){if(!(e instanceof Iv||b(e,"bpmn:DataStoreReference")&&e.parent&&b(e.parent,"bpmn:Collaboration"))){var t=e.parent,i=e.businessObject,r=t&&t.businessObject,o=r&&r.di;b(e,"bpmn:FlowNode")&&this.updateFlowNodeRefs(i,r,n&&n.businessObject),b(e,"bpmn:DataOutputAssociation")&&(r=e.source?e.source.businessObject:null),b(e,"bpmn:DataInputAssociation")&&(r=e.target?e.target.businessObject:null),this.updateSemanticParent(i,r),b(e,"bpmn:DataObjectReference")&&i.dataObjectRef&&this.updateSemanticParent(i.dataObjectRef,r),this.updateDiParent(i.di,o)}},Er.prototype.updateBounds=function(e){var n=e.businessObject.di,t=e instanceof Iv?this._getLabel(n):n,i=t.bounds;i||(i=this._bpmnFactory.createDiBounds(),t.set("bounds",i)),I(i,{x:e.x,y:e.y,width:e.width,height:e.height})},Er.prototype.updateFlowNodeRefs=function(e,n,t){t!==n&&(b(t,"bpmn:Lane")&&$n(t.get("flowNodeRef"),e),b(n,"bpmn:Lane")&&Un(n.get("flowNodeRef"),e))},Er.prototype.updateDiConnection=function(e,n,t){e.sourceElement&&e.sourceElement.bpmnElement!==n&&(e.sourceElement=n&&n.di),e.targetElement&&e.targetElement.bpmnElement!==t&&(e.targetElement=t&&t.di)},Er.prototype.updateDiParent=function(e,n){if(n&&!b(n,"bpmndi:BPMNPlane")&&(n=n.$parent),e.$parent!==n){var t=(n||e.$parent).get("planeElement");n?(t.push(e),e.$parent=n):($n(t,e),e.$parent=null)}},Er.prototype.getLaneSet=function(e){var n,t;return b(e,"bpmn:Lane")?((n=e.childLaneSet)||(n=this._bpmnFactory.create("bpmn:LaneSet"),e.childLaneSet=n,n.$parent=e),n):(b(e,"bpmn:Participant")&&(e=e.processRef),(n=(t=e.get("laneSets"))[0])||((n=this._bpmnFactory.create("bpmn:LaneSet")).$parent=e,t.push(n)),n)},Er.prototype.updateSemanticParent=function(e,n,t){var i,r=this._translate;if(e.$parent!==n&&(!b(e,"bpmn:DataInput")&&!b(e,"bpmn:DataOutput")||(b(n,"bpmn:Participant")&&"processRef"in n&&(n=n.processRef),!("ioSpecification"in n)||n.ioSpecification!==e.$parent))){if(b(e,"bpmn:Lane"))n&&(n=this.getLaneSet(n)),i="lanes";else if(b(e,"bpmn:FlowElement")){if(n)if(b(n,"bpmn:Participant"))n=n.processRef;else if(b(n,"bpmn:Lane"))do{n=n.$parent.$parent}while(b(n,"bpmn:Lane"));i="flowElements"}else if(b(e,"bpmn:Artifact")){for(;n&&!b(n,"bpmn:Process")&&!b(n,"bpmn:SubProcess")&&!b(n,"bpmn:Collaboration");){if(b(n,"bpmn:Participant")){n=n.processRef;break}n=n.$parent}i="artifacts"}else if(b(e,"bpmn:MessageFlow"))i="messageFlows";else if(b(e,"bpmn:Participant")){i="participants";var a,o=e.processRef;o&&(a=function ble(e){for(;e&&!b(e,"bpmn:Definitions");)e=e.$parent;return e}(e.$parent||n),e.$parent&&($n(a.get("rootElements"),o),o.$parent=null),n&&(Un(a.get("rootElements"),o),o.$parent=a))}else b(e,"bpmn:DataOutputAssociation")?i="dataOutputAssociations":b(e,"bpmn:DataInputAssociation")&&(i="dataInputAssociations");if(!i)throw new Error(r("no parent for {element} in {parent}",{element:e.id,parent:n.id}));var s;if(e.$parent&&$n(s=e.$parent.get(i),e),n?((s=n.get(i)).push(e),e.$parent=n):e.$parent=null,t){var c=t.get(i);$n(s,e),n&&(c||n.set(i,c=[]),c.push(e))}}},Er.prototype.updateConnectionWaypoints=function(e){e.businessObject.di.set("waypoint",this._bpmnFactory.createDiWaypoints(e.waypoints))},Er.prototype.updateConnection=function(e){var n=e.connection,t=$e(n),i=$e(n.source),r=$e(n.target);if(b(t,"bpmn:DataAssociation"))b(t,"bpmn:DataInputAssociation")?(t.get("sourceRef")[0]=i,this.updateSemanticParent(t,r,e.parent||e.newParent||r)):b(t,"bpmn:DataOutputAssociation")&&(this.updateSemanticParent(t,i,e.parent||e.newParent||i),t.targetRef=r);else{var a=b(t,"bpmn:SequenceFlow");t.sourceRef!==i&&(a&&($n(t.sourceRef&&t.sourceRef.get("outgoing"),t),i&&i.get("outgoing")&&i.get("outgoing").push(t)),t.sourceRef=i),t.targetRef!==r&&(a&&($n(t.targetRef&&t.targetRef.get("incoming"),t),r&&r.get("incoming")&&r.get("incoming").push(t)),t.targetRef=r)}this.updateConnectionWaypoints(n),this.updateDiConnection(t.di,i,r)},Er.prototype._getLabel=function(e){return e.label||(e.label=this._bpmnFactory.createDiLabel()),e.label},Xe()(xo,ns),xo.$inject=["bpmnFactory","moddle","translate"],xo.prototype.baseCreate=ns.prototype.create,xo.prototype.create=function(e,n){return"label"===e?this.baseCreate(e,I({type:"label"},eu,n)):this.createBpmnElement(e,n)},xo.prototype.createBpmnElement=function(e,n){var t,o,a,r=(n=n||{}).businessObject;if(!r){if(!n.type)throw new Error((0,this._translate)("no shape type specified"));r=this._bpmnFactory.create(n.type)}return r.di||(r.di="root"===e?this._bpmnFactory.createDiPlane(r,[],{id:r.id+"_di"}):"connection"===e?this._bpmnFactory.createDiEdge(r,[],{id:r.id+"_di"}):this._bpmnFactory.createDiShape(r,{},{id:r.id+"_di"})),b(r,"bpmn:Group")&&(n=I({isFrame:!0},n)),n.di&&(I(r.di,n.di),delete n.di),function xle(e,n,t){R(t,function(i){void 0!==n[i]&&q3(e,n,i)})}(r,n,["processRef","isInterrupting","associationDirection","isForCompensation"]),n.isExpanded&&q3(r.di,n,"isExpanded"),b(r,"bpmn:ExclusiveGateway")&&(r.di.isMarkerVisible=!0),n.eventDefinitionType&&(o=r.get("eventDefinitions")||[],a=this._bpmnFactory.create(n.eventDefinitionType,n.eventDefinitionAttrs),"bpmn:ConditionalEventDefinition"===n.eventDefinitionType&&(a.condition=this._bpmnFactory.create("bpmn:FormalExpression")),o.push(a),a.$parent=r,r.eventDefinitions=o,delete n.eventDefinitionType),t=this._getDefaultSize(r),n=I({businessObject:r,id:r.id},t,n),this.baseCreate(e,n)},xo.prototype._getDefaultSize=function(e){return b(e,"bpmn:SubProcess")?ln(e)?{width:350,height:200}:{width:100,height:80}:b(e,"bpmn:Task")?{width:100,height:80}:b(e,"bpmn:Gateway")?{width:50,height:50}:b(e,"bpmn:Event")?{width:36,height:36}:b(e,"bpmn:Participant")?ln(e)?{width:600,height:250}:{width:400,height:60}:b(e,"bpmn:Lane")?{width:400,height:100}:b(e,"bpmn:DataObjectReference")?{width:36,height:50}:b(e,"bpmn:DataStoreReference")?{width:50,height:50}:b(e,"bpmn:TextAnnotation")?{width:100,height:30}:b(e,"bpmn:Group")?{width:300,height:300}:{width:100,height:80}},xo.prototype.createParticipantShape=function(e){return si(e)||(e={isExpanded:e}),!1!==(e=I({type:"bpmn:Participant"},e||{})).isExpanded&&(e.processRef=this._bpmnFactory.create("bpmn:Process")),this.createShape(e)},U_.$inject=["modeling","canvas"],U_.prototype.preExecute=function(e){var n=this._modeling,i=e.alignment;R(e.elements,function(r){var o={x:0,y:0};i.left?o.x=i.left-r.x:i.right?o.x=i.right-r.width-r.x:i.center?o.x=i.center-Math.round(r.width/2)-r.x:i.top?o.y=i.top-r.y:i.bottom?o.y=i.bottom-r.height-r.y:i.middle&&(o.y=i.middle-Math.round(r.height/2)-r.y),n.moveElements([r],o,r.parent)})},U_.prototype.postExecute=function(e){},G_.$inject=["modeling"],G_.prototype.preExecute=function(e){var n=e.source;if(!n)throw new Error("source required");var i=e.shape;i=e.shape=this._modeling.createShape(i,e.position,e.target||n.parent,{attach:(e.hints||{}).attach}),e.shape=i},G_.prototype.postExecute=function(e){var n=e.hints||{};(function wle(e,n){return Gc(e.outgoing,function(t){return t.target===n})})(e.source,e.shape)||(n.connectionTarget===e.source?this._modeling.connect(e.shape,e.source,e.connection):this._modeling.connect(e.source,e.shape,e.connection))},W_.$inject=["canvas","layouter"],W_.prototype.execute=function(e){var n=e.connection,t=e.source,i=e.target,r=e.parent,o=e.parentIndex,a=e.hints;if(!t||!i)throw new Error("source and target required");if(!r)throw new Error("parent required");return n.source=t,n.target=i,n.waypoints||(n.waypoints=this._layouter.layoutConnection(n,a)),this._canvas.addConnection(n,r,o),n},W_.prototype.revert=function(e){var n=e.connection;return this._canvas.removeConnection(n),n.source=null,n.target=null,n};var Y_=Math.round;function VC(e){this._modeling=e}function K3(e){return!!e.waypoints}VC.$inject=["modeling"],VC.prototype.preExecute=function(e){var n=e.elements,t=e.parent,i=e.parentIndex,r=e.position,o=e.hints,a=this._modeling;R(n,function(d){yt(d.x)||(d.x=0),yt(d.y)||(d.y=0)});var s=Fi(n);R(n,function(d){K3(d)&&(d.waypoints=Ti(d.waypoints,function(u){return{x:Y_(u.x-s.x-s.width/2+r.x),y:Y_(u.y-s.y-s.height/2+r.y)}})),I(d,{x:Y_(d.x-s.x-s.width/2+r.x),y:Y_(d.y-s.y-s.height/2+r.y)})});var c=IN(n),l={};R(n,function(d){if(K3(d))l[d.id]=yt(i)?a.createConnection(l[d.source.id],l[d.target.id],i,d,d.parent||t,o):a.createConnection(l[d.source.id],l[d.target.id],d,d.parent||t,o);else{var u=I({},o);-1===c.indexOf(d)&&(u.autoResize=!1),l[d.id]=yt(i)?a.createShape(d,jr(d,["x","y","width","height"]),d.parent||t,i,u):a.createShape(d,jr(d,["x","y","width","height"]),d.parent||t,u)}}),e.elements=x1(l)};var X3=Math.round;function Js(e){this._canvas=e}function Qf(e){Js.call(this,e)}Js.$inject=["canvas"],Js.prototype.execute=function(e){var n=e.shape,t=e.position,i=e.parent,r=e.parentIndex;if(!i)throw new Error("parent required");if(!t)throw new Error("position required");return I(n,void 0!==t.width?t:{x:t.x-X3(n.width/2),y:t.y-X3(n.height/2)}),this._canvas.addShape(n,i,r),n},Js.prototype.revert=function(e){var n=e.shape;return this._canvas.removeShape(n),n},Xe()(Qf,Js),Qf.$inject=["canvas"];var Ele=Js.prototype.execute;Qf.prototype.execute=function(e){var n=e.shape;return function Sle(e){["width","height"].forEach(function(n){typeof e[n]>"u"&&(e[n]=0)})}(n),n.labelTarget=e.labelTarget,Ele.call(this,e)};var Cle=Js.prototype.revert;function q_(e,n){this._canvas=e,this._modeling=n}function jC(e,n){this._modeling=e,this._elementRegistry=n}function Jf(e,n){this._canvas=e,this._modeling=n}function K_(e){this._modeling=e}Qf.prototype.revert=function(e){return e.shape.labelTarget=null,Cle.call(this,e)},q_.$inject=["canvas","modeling"],q_.prototype.execute=function(e){var n=e.connection,t=n.parent;return e.parent=t,e.parentIndex=j1(t.children,n),e.source=n.source,e.target=n.target,this._canvas.removeConnection(n),n.source=null,n.target=null,n},q_.prototype.revert=function(e){var n=e.connection,t=e.parent,i=e.parentIndex;return n.source=e.source,n.target=e.target,Un(t.children,n,i),this._canvas.addConnection(n,t),n},jC.$inject=["modeling","elementRegistry"],jC.prototype.postExecute=function(e){var n=this._modeling,t=this._elementRegistry;R(e.elements,function(r){t.get(r.id)&&(r.waypoints?n.removeConnection(r):n.removeShape(r))})},Jf.$inject=["canvas","modeling"],Jf.prototype.preExecute=function(e){var n=this._modeling,t=e.shape;gu(t.incoming,function(i){n.removeConnection(i,{nested:!0})}),gu(t.outgoing,function(i){n.removeConnection(i,{nested:!0})}),gu(t.children,function(i){!function Dle(e){return e.waypoints}(i)?n.removeShape(i,{nested:!0}):n.removeConnection(i,{nested:!0})})},Jf.prototype.execute=function(e){var n=this._canvas,t=e.shape,i=t.parent;return e.oldParent=i,e.oldParentIndex=j1(i.children,t),n.removeShape(t),t},Jf.prototype.revert=function(e){var n=this._canvas,t=e.shape,i=e.oldParent;return Un(i.children,t,e.oldParentIndex),n.addShape(t,i),t},K_.$inject=["modeling"];var Z3={x:"y",y:"x"};function X_(e,n){this._layouter=e,this._canvas=n}function zC(){}function HC(){this.allShapes={},this.allConnections={},this.enclosedElements={},this.enclosedConnections={},this.topLevel={}}function ep(e){this._modeling=e}function Z_(e){this._helper=new ep(e)}function al(e){this._modeling=e,this._helper=new ep(e)}function tp(e){this._modeling=e}function Q3(e){return e.original||e}function us(e,n){this._modeling=e,this._rules=n}function np(e){this._modeling=e}function ec(e){this._modeling=e}function J3(e){return I({},e)}function e5(e){switch(e){case"n":case"s":return"y";case"w":case"e":return"x"}}function t5(e,n,t){var i=e5(t);return/e|s/.test(t)?e[i]>n:/n|w/.test(t)?e[i] required");var r=e.changed||this.getVisualReferences(t).concat(n),o=e.oldProperties||function Ale(e,n){return br(n,function(t,i){return t[i]=e.get(i),t},{})}(t,xv(i));return c5(t,i),e.oldProperties=o,e.changed=r,r},ip.prototype.revert=function(e){var i=e.changed;return c5(e.moddleElement,e.oldProperties),i},ip.prototype.getVisualReferences=function(e){var n=this._elementRegistry;return b(e,"bpmn:DataObject")?function Mle(e,n){return n.filter(function(t){return b(t,"bpmn:DataObjectReference")&&$e(t).dataObjectRef===e})}(e,n):[]};var rp="default",hs="id",Ile={width:0,height:0};function op(e,n,t,i,r){this._elementRegistry=e,this._moddle=n,this._translate=t,this._modeling=i,this._textRenderer=r}function d5(e,n){return hs in e&&e[hs]!==n[hs]}function u5(e,n){R(n,function(t,i){"di"!==i?e.set(i,t):e.di&&function Ple(e,n){R(n,function(t,i){e.set(i,t)})}(e.di,t)})}op.$inject=["elementRegistry","moddle","translate","modeling","textRenderer"],op.prototype.execute=function(e){var n=e.element,t=[n];if(!n)throw new Error((0,this._translate)("element required"));var r=this._elementRegistry,o=this._moddle.ids,a=n.businessObject,s=function Fle(e){var n=I({},e);return Nle.forEach(function(t){t in e&&(n[t]=$e(n[t]))}),n}(e.properties),c=e.oldProperties||function Ole(e,n){return br(xv(n),function(i,r){return i[r]="di"!==r?e.get(r):function Rle(e,n){return br(n,function(t,i){return t[i]=e.get(i),t},{})}(e.di,xv(n.di)),i},{})}(a,s);return d5(s,a)&&(o.unclaim(a[hs]),r.updateId(n,s[hs]),o.claim(s[hs],a)),rp in s&&(s[rp]&&t.push(r.get(s[rp].id)),a[rp]&&t.push(r.get(a[rp].id))),u5(a,s),e.oldProperties=c,e.changed=t,t},op.prototype.postExecute=function(e){var t=e.element.label,i=t&&$e(t).name;if(i){var r=this._textRenderer.getExternalLabelBounds(t,i);this._modeling.resizeShape(t,r,Ile)}},op.prototype.revert=function(e){var n=e.element,t=e.properties,i=e.oldProperties,r=n.businessObject,o=this._elementRegistry,a=this._moddle.ids;return u5(r,i),d5(t,r)&&(a.unclaim(t[hs]),o.updateId(n,i[hs]),a.claim(i[hs],r)),e.changed};var Nle=["default"];function ey(e,n){this._canvas=e,this._modeling=n}function UC(e,n){this._modeling=e,this._spaceTool=n}function GC(e,n){this._modeling=e,this._translate=n}function ap(e,n){this._modeling=e,this._spaceTool=n}ey.$inject=["canvas","modeling"],ey.prototype.execute=function(e){var n=this._canvas,t=e.newRoot,i=t.businessObject,r=n.getRootElement(),o=r.businessObject,a=o.$parent,s=o.di;n.setRootElement(t,!0),Un(a.rootElements,i),i.$parent=a,$n(a.rootElements,o),o.$parent=null,o.di=null,s.bpmnElement=i,i.di=s,e.oldRoot=r},ey.prototype.revert=function(e){var i=e.newRoot.businessObject,r=e.oldRoot,o=r.businessObject,a=i.$parent,s=i.di;this._canvas.setRootElement(r,!0),$n(a.rootElements,i),i.$parent=null,Un(a.rootElements,o),o.$parent=a,i.di=null,s.bpmnElement=o,o.di=s},UC.$inject=["modeling","spaceTool"],UC.prototype.preExecute=function(e){var n=this._spaceTool,t=this._modeling,i=e.shape,r=e.location,o=Ko(i),a=o===i,s=a?i:i.parent;nl(s).length||t.createShape({type:"bpmn:Lane"},{x:i.x+30,y:i.y,width:i.width-30,height:i.height},s);var l=[];Yc(o,function(g){return l.push(g),g.label&&l.push(g.label),g===i?[]:St(g.children,function(v){return v!==i})});var d="top"===r?-120:120,u="top"===r?i.y:i.y+i.height,h=u+("top"===r?10:-10),f="top"===r?"n":"s",p=n.calculateAdjustments(l,"y",d,h);n.makeSpace(p.movingShapes,p.resizingShapes,{x:0,y:d},f,h),e.newLane=t.createShape({type:"bpmn:Lane"},{x:i.x+(a?30:0),y:u-("top"===r?120:0),width:i.width-(a?30:0),height:120},s)},GC.$inject=["modeling","translate"],GC.prototype.preExecute=function(e){var n=this._modeling,t=this._translate,i=e.shape,r=e.count,o=nl(i),a=o.length;if(a>r)throw new Error(t("more than {count} child lanes",{count:r}));var d,h,s=Math.round(i.height/r);for(h=0;h0||o.bottom<0?-l:l,e.y+(o.bottom?e.height:0)+(o.bottom?-10:10)),t.makeSpace(f.movingShapes,f.resizingShapes,{x:0,y:l},u)),(o.left||o.right)&&(l=o.right||o.left,u=o.right?"e":"w",f=t.calculateAdjustments(c,"x",o.left>0||o.right<0?-l:l,e.x+(o.right?e.width:0)+(o.right?-10:100)),t.makeSpace(f.movingShapes,f.resizingShapes,{x:l,y:0},u))};var sp="flowNodeRef",WC="lanes";function cp(e){this._elementRegistry=e}function ty(e){this._moddle=e}cp.$inject=["elementRegistry"],cp.prototype.computeUpdates=function(e,n){var t=[],i=[],r={},o=[];function s(d){-1===t.indexOf(d)&&(o.push(d),t.push(d))}return n.forEach(function(d){var u=Ko(d);u&&-1===t.indexOf(u)&&(u.children.filter(function(f){return b(f,"bpmn:FlowNode")}).forEach(s),t.push(u))}),e.forEach(s),o.forEach(function(d){var u=d.businessObject,f=u.get(WC).slice(),p=function l(d){if(!d.parent)return[];var u=function c(d){var u=Ko(d);return r[u.id]||(r[u.id]=u_(u)),r[u.id]}(d);return u.filter(function(h){return function a(d,u){var h=at(u),f_x=d.x+d.width/2,f_y=d.y+d.height/2;return f_x>h.left&&f_xh.top&&f_y"u"&&(u=n.getExternalLabelBounds(l,f)),u&&e.resizeShape(l,u,zle)}}}function f5(e){return!e||!e.trim()}function Zn(e,n,t,i){mn.call(this,e,n,t),this._bpmnRules=i}function p5(){}h5.$inject=["modeling","textRenderer"],Xe()(Zn,mn),Zn.$inject=["eventBus","elementFactory","commandStack","bpmnRules"],Zn.prototype.getHandlers=function(){var e=mn.prototype.getHandlers.call(this);return e["element.updateModdleProperties"]=ip,e["element.updateProperties"]=op,e["canvas.updateRoot"]=ey,e["lane.add"]=UC,e["lane.resize"]=ap,e["lane.split"]=GC,e["lane.updateRefs"]=cp,e["id.updateClaim"]=ty,e["element.setColor"]=YC,e["element.updateLabel"]=h5,e},Zn.prototype.updateLabel=function(e,n,t,i){this._commandStack.execute("element.updateLabel",{element:e,newLabel:n,newBounds:t,hints:i||{}})},Zn.prototype.connect=function(e,n,t,i){if(t||(t=this._bpmnRules.canConnect(e,n)),t)return this.createConnection(e,n,t,e.parent,i)},Zn.prototype.updateModdleProperties=function(e,n,t){this._commandStack.execute("element.updateModdleProperties",{element:e,moddleElement:n,properties:t})},Zn.prototype.updateProperties=function(e,n){this._commandStack.execute("element.updateProperties",{element:e,properties:n})},Zn.prototype.resizeLane=function(e,n,t){this._commandStack.execute("lane.resize",{shape:e,newBounds:n,balanced:t})},Zn.prototype.addLane=function(e,n){var t={shape:e,location:n};return this._commandStack.execute("lane.add",t),t.newLane},Zn.prototype.splitLane=function(e,n){this._commandStack.execute("lane.split",{shape:e,count:n})},Zn.prototype.makeCollaboration=function(){var e=this._create("root",{type:"bpmn:Collaboration"});return this._commandStack.execute("canvas.updateRoot",{newRoot:e}),e},Zn.prototype.updateLaneRefs=function(e,n){this._commandStack.execute("lane.updateRefs",{flowNodeShapes:e,laneShapes:n})},Zn.prototype.makeProcess=function(){var e=this._create("root",{type:"bpmn:Process"});this._commandStack.execute("canvas.updateRoot",{newRoot:e})},Zn.prototype.claimId=function(e,n){this._commandStack.execute("id.updateClaim",{id:e,element:n,claiming:!0})},Zn.prototype.unclaimId=function(e,n){this._commandStack.execute("id.updateClaim",{id:e,element:n})},Zn.prototype.setColor=function(e,n){e.length||(e=[e]),this._commandStack.execute("element.setColor",{elements:e,colors:n})},p5.prototype.layoutConnection=function(e,n){return[(n=n||{}).connectionStart||Mt(n.source||e.source),n.connectionEnd||Mt(n.target||e.target)]};var ny=20,Hle=5,iy=Math.round,m5=20,$le={"h:h":20,"v:v":20,"h:v":-10,"v:h":-10};function g5(e,n,t){var s,c,i=Li(n,e,Hle),r=t.split(":")[0],o=iy((n.x-e.x)/2+e.x),a=iy((n.y-e.y)/2+e.y),l=function Gle(e,n){return{t:/top/,r:/right/,b:/bottom/,l:/left/,h:/left|right/,v:/top|bottom/}[e].test(n)}(r,i),d=/h|r|l/.test(r),u=!1,h=!1;return l?(s=d?{x:o,y:e.y}:{x:e.x,y:a},c=d?"h:h":"v:v"):(u=function Ule(e,n){return!{t:/top/,r:/right/,b:/bottom/,l:/left/,h:/./,v:/./}[n].test(e)}(i,r),c=d?"h:v":"v:h",u?d?(h=a===e.y,s={x:e.x+ny*(/l/.test(r)?-1:1),y:h?a+ny:a}):s={x:(h=o===e.x)?o+ny:o,y:e.y+ny*(/t/.test(r)?-1:1)}:s={x:o,y:a}),{waypoints:qC(e,s,c).concat(s),directions:c,turnNextDirections:h}}function v5(e){return e.split(":").reverse().join(":")}function qC(e,n,t){if(!function rde(e){return e&&/^h|v|t|r|b|l:h|v|t|r|b|l$/.test(e)}(t=t||"h:h"))throw new Error("unknown directions: <"+t+">: must be specified as : with start/end in { h,v,t,r,b,l }");if(y5(t)){var i=function Wle(e,n,t){return g5(e,n,t)}(e,n,t),r=function Yle(e,n,t){var i=g5(n,e,v5(t));return{waypoints:i.waypoints.slice().reverse(),directions:v5(i.directions),turnNextDirections:i.turnNextDirections}}(e,n,t),o=function qle(e,n){var t=e.directions.split(":")[1],i=n.directions.split(":")[0];e.turnNextDirections&&(t="h"==t?"v":"h"),n.turnNextDirections&&(i="h"==i?"v":"h");var r=t+":"+i;return{waypoints:qC(e.waypoints[e.waypoints.length-1],n.waypoints[0],r),directions:r}}(i,r);return[].concat(i.waypoints,o.waypoints,r.waypoints)}return function Kle(e,n,t){var i=iy((n.x-e.x)/2+e.x),r=iy((n.y-e.y)/2+e.y);if("h:v"===t)return[{x:n.x,y:e.y}];if("v:h"===t)return[{x:e.x,y:n.y}];if("h:h"===t)return[{x:i,y:e.y},{x:i,y:n.y}];if("v:v"===t)return[{x:e.x,y:r},{x:n.x,y:r}];throw new Error("invalid directions: can only handle varians of [hv]:[hv]")}(e,n,t)}function Zle(e,n,t,i,r){var a=function KJ(e,n){return js(e)?[]:(function qJ(e){if(!Lt(e))throw new Error("must supply array")}(e),n=E1(n),e.filter(function(t,i){return!n(t,i)}))}(r&&r.preferredLayouts||[],"straight")[0]||"h:h",c=Li(e,n,$le[a]||0),l=function ide(e,n){if(y5(n))return n;switch(e){case"intersect":return"t:t";case"top":case"bottom":return"v:v";case"left":case"right":return"h:h";default:return n}}(c,a);t=t||Mt(e),i=i||Mt(n);var d=l.split(":"),u=b5(t,e,d[0],function ode(e){return{top:"bottom",bottom:"top",left:"right",right:"left","top-left":"bottom-right","bottom-right":"top-left","top-right":"bottom-left","bottom-left":"top-right"}[e]}(c));return function Xle(e,n,t){var i=qC(e,n,t);return i.unshift(e),i.push(n),x5(i)}(u,b5(i,n,d[1],c),l)}function _5(e,n,t){return function Jle(e,n,t){return e>=n&&e<=t}(n[e],t[e],t[e]+t[{x:"width",y:"height"}[e]])}function KC(e,n,t,i){if(function r(d){return d.length<3||!(d.length>4)&&!!on(d,function(u,h){var f=d[h-1];return f&&yf(u,f)<3})}(i))return null;var l,s=i[0],c=i.slice();return c[0]=t,c[1]=function o(d,u,h){switch(ts(u,d)){case"v":return{x:h.x,y:d.y};case"h":return{x:d.x,y:h.y}}return{x:d.x,y:d.y}}(c[1],s,t),(l=function a(d,u,h){var f;for(f=d.length-2;0!==f;f--)if(BN(d[f],u,m5)||BN(d[f],h,m5))return d.slice(f);return d}(c,e,n))!==c&&(c=KC(e,n,t,l)),c&&ts(c)?null:c}function y5(e){return e&&/t|r|b|l/.test(e)}function b5(e,n,t,i){if("h"===t&&(t=/left/.test(i)?"l":"r"),"v"===t&&(t=/top/.test(i)?"t":"b"),"t"===t)return{original:e,x:e.x,y:n.y};if("r"===t)return{original:e,x:n.x+n.width,y:e.y};if("b"===t)return{original:e,x:e.x,y:n.y+n.height};if("l"===t)return{original:e,x:n.x,y:e.y};throw new Error("unexpected dockingDirection: <"+t+">")}function x5(e){return e.reduce(function(n,t,i){return z1(n[n.length-1],e[i+1],t,0)||n.push(t),n},[])}var sde=40,XC={top:"bottom","top-right":"bottom-left","top-left":"bottom-right",right:"left",bottom:"top","bottom-right":"top-left","bottom-left":"top-right",left:"right"},ry={top:"t",right:"r",bottom:"b",left:"l"};function ZC(){}function dde(e,n){return b(n,"bpmn:Participant")?"source":b(e,"bpmn:Participant")?"target":lp(n)?"source":lp(e)||b(n,"bpmn:Event")?"target":b(e,"bpmn:Event")?"source":null}function hde(e){return lp(e)?"target":"source"}function w5(e,n){return e?e.original||e:Mt(n)}function E5(e,n){return b(n,"bpmn:Activity")&&b(e,"bpmn:BoundaryEvent")&&n.businessObject.isForCompensation}function lp(e){return b(e,"bpmn:SubProcess")&&ln(e)}function dp(e,n){return e===n}function up(e){var n=/right|left/.exec(e);return n&&n[0]}function sl(e){var n=/top|bottom/.exec(e);return n&&n[0]}function QC(e){return"right"===e||"left"===e}function vde(e,n){var t=n.waypoints,i=t&&t.length&&Li(t[0],e);return"top"===i?["t:r"]:"right"===i?["r:b"]:"left"===i?["l:t"]:["b:l"]}function _de(e,n,t){var a,s,i=Mt(e),r=Mt(n),o=function cde(e){var n=e.host;return Li(Mt(e),n,-10)}(e),c=dp(e.host,n),l=function fde(e,n){return-1!==n.indexOf(e)}(o,["top","right","bottom","left"]),d=Li(r,i,{x:e.width/2+n.width/2,y:e.height/2+n.height/2});return c?function yde(e,n,t,i,r){var o=n?e:sl(e);return[ry[o]+":"+(n?QC(e)?C5("y",t,i,r)?"h":"b":C5("x",t,i,r)?"v":"l":"v")]}(o,l,e,n,t):(a=function bde(e,n,t){return t?ry[e]:dp(sl(e),sl(n))||function pde(e,n){return XC[e]===n}(up(e),up(n))?ry[sl(e)]:ry[up(e)]}(o,d,l),s=function xde(e,n,t){return t?QC(e)?function mde(e,n){var t=up(e);return-1!==n.indexOf(XC[t])}(e,n)||dp(e,n)?"h":"v":function gde(e,n){var t=sl(e);return-1!==n.indexOf(XC[t])}(e,n)||dp(e,n)?"v":"h":QC(n)||dp(sl(e),sl(n))&&up(n)?"h":"v"}(o,d,l),[a+":"+s])}function C5(e,n,t,i){var r=sde;return!(JC(e,i,t,r)||JC(e,i,{x:t.x+t.width,y:t.y+t.height},r)||JC(e,i,Mt(n),r))}function JC(e,n,t,i){return Math.abs(n[e]-t[e])
'),e.appendChild(o));var s=Dn(t.html||(t.separator?'
':'
'));o.appendChild(s),t.separator||(zr(s,"data-action",i),t.title&&zr(s,"title",t.title),t.className&&function Nde(e,n){var t=fi(e);(Lt(n)?n:n.split(/\s+/g)).forEach(function(r){t.add(r)})}(s,t.className),t.imageUrl&&s.appendChild(Dn('')))}),this.open()},li.prototype.trigger=function(e,n,t){var r,o,a,i=this._entries,s=n.delegateTarget||n.target;if(!s)return n.preventDefault();(r=i[zr(s,"data-action")])&&(a=n.originalEvent||n,Gi(o=r.action)?"click"===e&&o(a,t):o[e]&&o[e](a,t),n.preventDefault())},li.prototype._layoutChanged=function(){this._toggleState({})},li.prototype._needsCollapse=function(e,n){return e<46*Object.keys(n).length+50},li.prototype.close=function(){this._toggleState({open:!1,twoColumn:!1})},li.prototype.open=function(){this._toggleState({open:!0})},li.prototype.toggle=function(e){this.isOpen()?this.close():this.open()},li.prototype.isActiveTool=function(e){return e&&this._activeTool===e},li.prototype.updateToolHighlight=function(e){var n;this._toolsContainer||(n=Bn(".djs-palette-entries",this._container),this._toolsContainer=Bn("[data-group=tools]",n)),R(this._toolsContainer.children,function(i){var r=i.getAttribute("data-action");if(r){var o=fi(i);r=r.replace("-tool",""),o.contains("entry")&&r===e?o.add("highlighted-entry"):o.remove("highlighted-entry")}})},li.prototype.isOpen=function(){return fi(this._container).has(nS)},li.prototype._getParentContainer=function(){return this._canvas.getContainer()},li.HTML_MARKUP='
';const Lde={__init__:["palette"],palette:["type",li]};var F5="crosshair";function cl(e,n,t,i,r,o,a){this._selection=r,this._dragging=t,this._mouse=a;var s=this;o.registerTool("lasso",{tool:"lasso.selection",dragging:"lasso"}),e.on("lasso.selection.end",function(l){!l.hover&&!(l.originalEvent.target instanceof SVGElement)||e.once("lasso.selection.ended",function(){s.activateLasso(l.originalEvent,!0)})}),e.on("lasso.end",function(l){var d=iS(l),u=i.filter(function(h){return h});s.select(u,d)}),e.on("lasso.start",function(l){var d=l.context;d.bbox=iS(l),function(l){var u,d=n.getActiveLayer();ge(u=l.frame=qe("rect"),{class:"djs-lasso-overlay",width:1,height:1,x:0,y:0}),Ze(d,u)}(d)}),e.on("lasso.move",function(l){var d=l.context;d.bbox=iS(l),function(l){var u=l.bbox;ge(l.frame,{x:u.x,y:u.y,width:u.width,height:u.height})}(d)}),e.on("lasso.cleanup",function(l){!function(l){l.frame&&ti(l.frame)}(l.context)}),e.on("element.mousedown",1500,function(l){if(AF(l))return s.activateLasso(l.originalEvent),!0})}function iS(e){var n={x:e.x-e.dx,y:e.y-e.dy},t={x:e.x,y:e.y};return n.x<=t.x&&n.y=t.x&&n.yt.x&&n.y<=t.y?{x:t.x,y:n.y,width:n.x-t.x,height:t.y-n.y}:n.x<=t.x&&n.y>t.y||n.x=t.y?{x:n.x,y:t.y,width:t.x-n.x,height:n.y-t.y}:n.x>=t.x&&n.y>t.y||n.x>t.x&&n.y>=t.y?{x:t.x,y:t.y,width:n.x-t.x,height:n.y-t.y}:{x:t.x,y:t.y,width:0,height:0}}cl.$inject=["eventBus","canvas","dragging","elementRegistry","selection","toolManager","mouse"],cl.prototype.activateLasso=function(e,n){this._dragging.init(e,"lasso",{autoActivate:n,cursor:F5,data:{context:{}}})},cl.prototype.activateSelection=function(e,n){this._dragging.init(e,"lasso.selection",{trapClick:!1,autoActivate:n,cursor:F5,data:{context:{}}})},cl.prototype.select=function(e,n){var t=function Gee(e,n){var t={};return R(e,function(i){var r=i;r.waypoints&&(r=Fi(r)),!yt(n.y)&&r.x>n.x&&(t[i.id]=i),!yt(n.x)&&r.y>n.y&&(t[i.id]=i),r.x>n.x&&r.y>n.y&&(yt(n.width)&&yt(n.height)&&r.width+r.xn[i]+r-t&&gi(e,i,n[i]+r-t)})}(n,o,function Qde(e){return b(e,"bpmn:Task")?10:20}(o)),o&&function Zde(e,n){return Gc(n,function(t){return G5(e,t)})}(i,["bpmn:Association","bpmn:DataInputAssociation","bpmn:DataOutputAssociation","bpmn:SequenceFlow"])?(t.connectionStart=po(r),Kt(o,["bpmn:Event","bpmn:Gateway"])&&U5(n,po(o)),Kt(o,["bpmn:Task","bpmn:SubProcess"])&&function Kde(e,n){var t=po(n);H5.forEach(function(i){(function Jde(e,n,t){return e[t]>n[t]+20&&e[t]r[s]?r[s]+40:r[s]-40)})}}(n)):G5(i,"bpmn:MessageFlow")?(b(r,"bpmn:Event")&&(t.connectionStart=po(r)),b(o,"bpmn:Event")&&U5(n,po(o))):t.connectionStart=t.initialConnectionStart)})}function U5(e,n){gi(e,"x",n.x),gi(e,"y",n.y)}function G5(e,n){return e&&e.type===n}function W5(e,n){return"x"===e?n.width:n.height}function ic(){this._targets={},this._snapOrigins={},this._snapLocations=[],this._defaultSnaps={}}function ay(e){this._snapValues={}}$5.$inject=["eventBus"],ic.prototype.getSnapOrigin=function(e){return this._snapOrigins[e]},ic.prototype.setSnapOrigin=function(e,n){this._snapOrigins[e]=n,-1===this._snapLocations.indexOf(e)&&this._snapLocations.push(e)},ic.prototype.addDefaultSnap=function(e,n){var t=this._defaultSnaps[e];t||(t=this._defaultSnaps[e]=[]),t.push(n)},ic.prototype.getSnapLocations=function(){return this._snapLocations},ic.prototype.setSnapLocations=function(e){this._snapLocations=e},ic.prototype.pointsForTarget=function(e){var n=e.id||e,t=this._targets[n];return t||(t=this._targets[n]=new ay).initDefaults(this._defaultSnaps),t},ay.prototype.add=function(e,n){var t=this._snapValues[e];t||(t=this._snapValues[e]={x:[],y:[]}),-1===t.x.indexOf(n.x)&&t.x.push(n.x),-1===t.y.indexOf(n.y)&&t.y.push(n.y)},ay.prototype.snap=function(e,n,t,i){var r=this._snapValues[n];return r&&function voe(e,n,t){var i,r;for(t=void 0===t?10:t,i=0;i=e.x||r&&r<=e.x)&&gi(e,"x",e.x),(i&&i>=e.y||o&&o<=e.y)&&gi(e,"y",e.y)}}function q5(e,n){return-1!==e.indexOf(n)}function K5(e,n,t){return n?{x:e.x-t.x,y:e.y-t.y}:{x:e.x,y:e.y}}function hp(e,n){var t=this;e.on(["resize.start"],function(i){t.initSnap(i)}),e.on(["resize.move","resize.end"],1250,function(i){var r=i.context,o=r.shape,a=o.parent,s=r.direction,c=r.snapContext;if(!(i.originalEvent&&Wr(i.originalEvent)||du(i))){var l=c.pointsForTarget(a);l.initialized||((l=t.addSnapTargetPoints(l,o,a,s)).initialized=!0),function fue(e){return"n"===e||"s"===e}(s)&&gi(i,"x",i.x),function pue(e){return"e"===e||"w"===e}(s)&&gi(i,"y",i.y),n.snap(i,l)}}),e.on(["resize.cleanup"],function(){n.hide()})}function X5(e,n){var t=Mt(e),i=at(e),r={x:t.x,y:t.y};return-1!==n.indexOf("n")?r.y=i.top:-1!==n.indexOf("s")&&(r.y=i.bottom),-1!==n.indexOf("e")?r.x=i.right:-1!==n.indexOf("w")&&(r.x=i.left),r}function rc(e){this._canvas=e,this._asyncHide=pN(Wi(this.hide,this),1e3)}Da.$inject=["elementRegistry","eventBus","snapping"],Da.prototype.initSnap=function(e){var o,n=this._elementRegistry,t=e.context,i=t.shape,r=t.snapContext;r||(r=t.snapContext=new ic);var a_x=(o=n.get(i.id)?po(i,e):{x:e.x+po(i).x,y:e.y+po(i).y}).x-i.width/2,a_y=o.y-i.height/2,s_x=o.x+i.width/2,s_y=o.y+i.height/2;return r.setSnapOrigin("mid",{x:o.x-e.x,y:o.y-e.y}),cS(i)||(r.setSnapOrigin("top-left",{x:a_x-e.x,y:a_y-e.y}),r.setSnapOrigin("bottom-right",{x:s_x-e.x,y:s_y-e.y})),r},Da.prototype.addSnapTargetPoints=function(e,n,t){return R(this.getSnapTargets(n,t),function(r){if(cS(r))cS(n)&&e.add("mid",po(r));else if(function nue(e){return!!e.waypoints}(r)){if(r.waypoints.length<3)return;R(r.waypoints.slice(1,-1),function(a){e.add("mid",a)})}else e.add("mid",po(r))}),!yt(n.x)||!yt(n.y)||this._elementRegistry.get(n.id)&&e.add("mid",po(n)),e},Da.prototype.getSnapTargets=function(e,n){return M4(n).filter(function(t){return!function iue(e){return!!e.hidden}(t)})},Xe()(yu,Da),yu.$inject=["eventBus","injector"],yu.prototype.initSnap=function(e){var n=Da.prototype.initSnap.call(this,e),t=e.shape,i=!!this._elementRegistry.get(t.id);return R(t.outgoing,function(r){var o=r.waypoints[0];n.setSnapOrigin(r.id+"-docking",K5(o=o.original||o,i,e))}),R(t.incoming,function(r){var o=r.waypoints[r.waypoints.length-1];n.setSnapOrigin(r.id+"-docking",K5(o=o.original||o,i,e))}),b(t,"bpmn:Participant")&&n.setSnapLocations(["top-left","bottom-right","mid"]),n},yu.prototype.addSnapTargetPoints=function(e,n,t){Da.prototype.addSnapTargetPoints.call(this,e,n,t);var i=this.getSnapTargets(n,t);R(i,function(o){(function aue(e){return!(!b(e,"bpmn:SubProcess")||!ln(e))||b(e,"bpmn:Participant")}(o)||function oue(e,n){return e.every(function(t){return b(t,n)})}([n,o],"bpmn:TextAnnotation"))&&(e.add("top-left",T4(o)),e.add("bottom-right",A4(o)))});var r=this._elementRegistry;return R(n.incoming,function(o){if(r.get(n.id)){q5(i,o.source)||e.add("mid",Mt(o.source));var a=o.waypoints[0];e.add(o.id+"-docking",a.original||a)}}),R(n.outgoing,function(o){if(r.get(n.id)){q5(i,o.target)||e.add("mid",Mt(o.target));var a=o.waypoints[o.waypoints.length-1];e.add(o.id+"-docking",a.original||a)}}),b(t,"bpmn:SequenceFlow")&&(e=this.addSnapTargetPoints(e,n,t.parent)),e},yu.prototype.getSnapTargets=function(e,n){return Da.prototype.getSnapTargets.call(this,e,n).filter(function(t){return!b(t,"bpmn:Lane")})},hp.prototype.initSnap=function(e){var n=e.context,t=n.shape,i=n.direction,r=n.snapContext;r||(r=n.snapContext=new ic);var o=X5(t,i);return r.setSnapOrigin("corner",{x:o.x-e.x,y:o.y-e.y}),r},hp.prototype.addSnapTargetPoints=function(e,n,t,i){return R(this.getSnapTargets(n,t),function(o){e.add("corner",A4(o)),e.add("corner",T4(o))}),e.add("corner",X5(n,i)),e},hp.$inject=["eventBus","snapping"],hp.prototype.getSnapTargets=function(e,n){return M4(n).filter(function(t){return!(function lue(e,n){return e.host===n}(t,e)||function due(e){return!!e.waypoints}(t)||function uue(e){return!!e.hidden}(t)||function hue(e){return!!e.labelTarget}(t))})},rc.$inject=["canvas"],rc.prototype.snap=function(e,n){var i=e.context.snapContext,r=i.getSnapLocations(),o={x:du(e,"x"),y:du(e,"y")};R(r,function(a){var s=i.getSnapOrigin(a),c={x:e.x+s.x,y:e.y+s.y};if(R(["x","y"],function(l){var d;o[l]||void 0!==(d=n.snap(c,a,l,7))&&(o[l]={value:d,originValue:d-s[l]})}),o.x&&o.y)return!1}),this.showSnapLine("vertical",o.x&&o.x.value),this.showSnapLine("horizontal",o.y&&o.y.value),R(["x","y"],function(a){var s=o[a];si(s)&&gi(e,a,s.originValue)})},rc.prototype._createLine=function(e){var n=this._canvas.getLayer("snap"),t=qe("path");return ge(t,{d:"M0,0 L0,0"}),Pt(t).add("djs-snap-line"),Ze(n,t),{update:function(i){yt(i)?ge(t,"horizontal"===e?{d:"M-100000,"+i+" L+100000,"+i,display:""}:{d:"M "+i+",-100000 L "+i+", +100000",display:""}):ge(t,{display:"none"})}}},rc.prototype._createSnapLines=function(){this._snapLines={horizontal:this._createLine("horizontal"),vertical:this._createLine("vertical")}},rc.prototype.showSnapLine=function(e,n){var t=this.getSnapLine(e);t&&t.update(n),this._asyncHide()},rc.prototype.getSnapLine=function(e){return this._snapLines||this._createSnapLines(),this._snapLines[e]},rc.prototype.hide=function(){R(this._snapLines,function(e){e.update()})};const vue={__depends__:[{__init__:["createMoveSnapping","resizeSnapping","snapping"],createMoveSnapping:["type",Da],resizeSnapping:["type",hp],snapping:["type",rc]}],__init__:["connectSnapping","createMoveSnapping"],connectSnapping:["type",$5],createMoveSnapping:["type",yu]};var _ue={"&":"&","<":"<",">":">",'"':""","'":"'"};function Z5(e){return(e=""+e)&&e.replace(/[&<>"']/g,function(n){return _ue[n]})}function ht(e,n,t,i){this._open=!1,this._results=[],this._eventMaps=[],this._canvas=e,this._eventBus=n,this._overlays=t,this._selection=i,this._container=Dn(ht.BOX_HTML),this._searchInput=Bn(ht.INPUT_SELECTOR,this._container),this._resultsContainer=Bn(ht.RESULTS_CONTAINER_SELECTOR,this._container),this._canvas.getContainer().appendChild(this._container),n.on(["canvas.destroy","diagram.destroy"],this.close,this)}function Q5(e,n,t){var i=function bue(e){var n="";return e.forEach(function(t){n+=t.matched?''+Z5(t.matched)+"":Z5(t.normal)}),""!==n?n:null}(n),r=Dn(t);r.innerHTML=i,e.appendChild(r)}ht.$inject=["canvas","eventBus","overlays","selection"],ht.prototype._bindEvents=function(){var e=this;function n(t,i,r,o){e._eventMaps.push({el:t,type:r,listener:Hr.bind(t,i,r,o)})}n(document,"html","click",function(t){e.close()}),n(this._container,ht.INPUT_SELECTOR,"click",function(t){t.stopPropagation(),t.delegateTarget.focus()}),n(this._container,ht.RESULT_SELECTOR,"mouseover",function(t){t.stopPropagation(),e._scrollToNode(t.delegateTarget),e._preselect(t.delegateTarget)}),n(this._container,ht.RESULT_SELECTOR,"click",function(t){t.stopPropagation(),e._select(t.delegateTarget)}),n(this._container,ht.INPUT_SELECTOR,"keydown",function(t){38===t.keyCode&&t.preventDefault(),40===t.keyCode&&t.preventDefault()}),n(this._container,ht.INPUT_SELECTOR,"keyup",function(t){if(27===t.keyCode)return e.close();if(13===t.keyCode){var i=e._getCurrentResult();return i?e._select(i):e.close()}return 38===t.keyCode?e._scrollToDirection(!0):40===t.keyCode?e._scrollToDirection():void(37===t.keyCode||39===t.keyCode||e._search(t.delegateTarget.value))})},ht.prototype._unbindEvents=function(){this._eventMaps.forEach(function(e){Hr.unbind(e.el,e.type,e.listener)})},ht.prototype._search=function(e){var n=this;if(this._clearResults(),e&&""!==e){var t=this._searchProvider.find(e);if(t.length){t.forEach(function(r){var o=r.element.id,a=n._createResultNode(r,o);n._results[o]={element:r.element,node:a}});var i=Bn(ht.RESULT_SELECTOR,this._resultsContainer);this._scrollToNode(i),this._preselect(i)}}},ht.prototype._scrollToDirection=function(e){var n=this._getCurrentResult();if(n){var t=e?n.previousElementSibling:n.nextElementSibling;t&&(this._scrollToNode(t),this._preselect(t))}},ht.prototype._scrollToNode=function(e){if(e&&e!==this._getCurrentResult()){var n=e.offsetTop,t=this._resultsContainer.scrollTop,i=n-this._resultsContainer.clientHeight+e.clientHeight;n0&&Q5(t,e.primaryTokens,ht.RESULT_PRIMARY_HTML),Q5(t,e.secondaryTokens,ht.RESULT_SECONDARY_HTML),zr(t,ht.RESULT_ID_ATTRIBUTE,n),this._resultsContainer.appendChild(t),t},ht.prototype.registerProvider=function(e){this._searchProvider=e},ht.prototype.open=function(){if(!this._searchProvider)throw new Error("no search provider registered");this.isOpen()||(this._bindEvents(),this._open=!0,fi(this._container).add("open"),this._searchInput.focus(),this._eventBus.fire("searchPad.opened"))},ht.prototype.close=function(){this.isOpen()&&(this._unbindEvents(),this._open=!1,fi(this._container).remove("open"),this._clearResults(),this._searchInput.value="",this._searchInput.blur(),this._resetOverlay(),this._eventBus.fire("searchPad.closed"))},ht.prototype.toggle=function(){this.isOpen()?this.close():this.open()},ht.prototype.isOpen=function(){return this._open},ht.prototype._preselect=function(e){var n=this._getCurrentResult();if(e!==n){n&&fi(n).remove(ht.RESULT_SELECTED_CLASS);var t=zr(e,ht.RESULT_ID_ATTRIBUTE),i=this._results[t].element;fi(e).add(ht.RESULT_SELECTED_CLASS),this._resetOverlay(i),this._canvas.scrollToElement(i,{top:400}),this._selection.select(i),this._eventBus.fire("searchPad.preselected",i)}},ht.prototype._select=function(e){var n=zr(e,ht.RESULT_ID_ATTRIBUTE),t=this._results[n].element;this.close(),this._resetOverlay(),this._canvas.scrollToElement(t,{top:400}),this._selection.select(t),this._eventBus.fire("searchPad.selected",t)},ht.prototype._resetOverlay=function(e){if(this._overlayId&&this._overlays.remove(this._overlayId),e){var t=function yue(e){var t=e.width+12,i=e.height+12;return{position:{bottom:i-6,right:t-6},show:!0,html:'
'}}(Fi(e));this._overlayId=this._overlays.add(e,t)}},ht.CONTAINER_SELECTOR=".djs-search-container",ht.INPUT_SELECTOR=".djs-search-input input",ht.RESULTS_CONTAINER_SELECTOR=".djs-search-results",ht.RESULT_SELECTOR=".djs-search-result",ht.RESULT_SELECTED_SELECTOR="."+(ht.RESULT_SELECTED_CLASS="djs-search-result-selected"),ht.RESULT_ID_ATTRIBUTE="data-result-id",ht.RESULT_HIGHLIGHT_CLASS="djs-search-highlight",ht.OVERLAY_CLASS="djs-search-overlay",ht.BOX_HTML='
',ht.RESULT_HTML='
',ht.RESULT_PRIMARY_HTML='
',ht.RESULT_SECONDARY_HTML='

';const xue={__depends__:[cE,ba],searchPad:["type",ht]};function lS(e,n,t){this._elementRegistry=e,this._canvas=t,n.registerProvider(this)}function J5(e){return St(e,function(t){return!!t.matched}).length>0}function eB(e,n){var t=[],i=e;if(!e)return t;e=e.toLowerCase(),n=n.toLowerCase();var r=e.indexOf(n);return r>-1?(0!==r&&t.push({normal:i.substr(0,r)}),t.push({matched:i.substr(r,n.length)}),n.length+r')}),Xo.prototype._modules=[].concat(Xs.prototype._modules,Xo.prototype._interactionModules=[HF,WF,Dre,KF],Xo.prototype._modelingModules=[Tre,Ure,noe,Xre,yoe,ME,Soe,Tae,eL,uu,Iae,Pae,Kae,Qae,Jae,rse,mse,wde,Ide,zde,$de,b_,vue,wue]);let dS=[];function uS(){}function tB(e){let n;return n=e>9999?0:e<10?"000"+e:e<100?"00"+e:e<1e3?"0"+e:""+e,n}function Due(e){let n=!1;return dS.forEach(t=>{e===t&&(n=!0)}),n}function fp(e,n){xo.call(this,e,n);let t=this,i=new uS;this.create=function(r,o){let a=o.type;if("label"===r)return t.baseCreate(r,I({type:"label"},eu,o));if(/^domainStory:/.test(a)){o.businessObject||(o.businessObject={type:a,name:o.name?o.name:""}),o.id?i.registerId(o.id):o.id=i.getId(r),I(o.businessObject,{id:o.id});let s=o.id;return o.businessObject.get=function(c){if("id"===c)return s},o.businessObject.set=function(c,l){"id"===c&&I(o.businessObject,{id:l})},o.businessObject.$type||I(o.businessObject,{$type:"Element"}),I(o.businessObject,{di:{}}),o.businessObject.$descriptor||I(o.businessObject,{$descriptor:{}}),(!/:activity$/.test(a)||!/:connection$/.test(a))&&!(/:group$/.test(a)&&o.height||o.width)&&I(o,t._getCustomElementSize(a)),"$instanceOf"in o.businessObject||Object.defineProperty(o.businessObject,"$instanceOf",{value:function(c){return this.type===c}}),t.baseCreate(r,o)}return t.createBpmnElement(r,o)}}function Cr(e,n){const t=nB(e);return t&&"function"==typeof t.$instanceOf&&t.$instanceOf(n)}function nB(e){return e&&e.businessObject||e}uS.prototype.getId=function(e){return function Cue(e){let n=function Sue(){return Math.floor(1e4*Math.random())}(),t=e+"_"+tB(n);for(;Due(t);)n++,t=e+"_"+tB(n);return dS.push(t),t}(e)},uS.prototype.registerId=function(e){dS.push(e)},Xe()(fp,xo),fp.$inject=["bpmnFactory","moddle"],fp.prototype._getCustomElementSize=function(e){let n={__default:{width:75,height:75},"domainStory:textAnnotation":{width:100,height:30},"domainStory:group":{width:525,height:275}};return n[e]||n.__default};const iB="djs-element-hidden",rB="djs-label-hidden";let hS=0;function oB(e,n,t){let o,a,s,i=this,r=n.getDefaultLayer();e.on("directEditing.activate",function(c){let l=c.active;if(o=l.element.label||l.element,Cr(o,Z.TEXTANNOTATION)){a=n.getAbsoluteBBox(o),s=qe("g"),hS=o.height;let d=t.getScaledPath("TEXT_ANNOTATION",{xScaleFactor:1,yScaleFactor:1,containerWidth:o.width,containerHeight:o.height,position:{mx:0,my:0}}),u=i.path=qe("path");ge(u,{d,strokeWidth:2,stroke:"black"}),Ze(s,u),Ze(r,s),sr(s,o.x,o.y)}Cr(o,Z.TEXTANNOTATION)||o.labelTarget?n.addMarker(o,iB):(o.type.includes(Z.ACTOR)||o.type.includes(Z.WORKOBJECT)||o.type.includes(Z.ACTIVITY)||o.type.includes(Z.GROUP))&&n.addMarker(o,rB)}),e.on("directEditing.resize",function(c){if(Cr(o,Z.TEXTANNOTATION)){let u=Math.max(o.height/a.height*(c.height+c.dy),0);hS=u;let h=t.getScaledPath("TEXT_ANNOTATION",{xScaleFactor:1,yScaleFactor:1,containerWidth:o.width,containerHeight:u,position:{mx:0,my:0}});ge(i.path,{d:h})}}),e.on(["directEditing.complete","directEditing.cancel"],function(c){let l=c.active;l&&(n.removeMarker(l.element.label||l.element,iB),n.removeMarker(o,rB)),o=void 0,a=void 0,s&&(ti(s),s=void 0)})}function aB(e){return e.type.includes(Z.ACTOR)||e.type.includes(Z.WORKOBJECT)||e.type.includes(Z.ACTIVITY)||e.type.includes(Z.GROUP)?"name":Cr(e,Z.TEXTANNOTATION)?"text":void 0}function sB(e){if(Cr(e,Z.ACTIVITY))return"number"}function cB(e){let n;n=e.businessObject?e.businessObject:e;let t=aB(n);if(t&&n)return n[t]||""}oB.$inject=["eventBus","canvas","pathMap"];let lB,dB=0,sy=!1;function uB(e){setTimeout(()=>e.focus(),0)}function pp(e,n,t,i,r,o,a){function s(l,d){(d||Kt(l,[Z.TEXTANNOTATION])||l.businessObject.type.includes(Z.DOMAINSTORY))&&t.activate(l)}this._canvas=n,this._modeling=i,this._textRenderer=o,this._updateLabelHandler=a,t.registerProvider(this),e.on("element.dblclick",function(l){s(l.element,!0),Cr(l.element,Z.ACTIVITY)&&(dB=l.element.businessObject.number,sy=!0,t.complete())}),e.on(["element.mousedown","drag.init","canvas.viewbox.changing","autoPlace","popupMenu.open"],function(){t.isActive()&&t.complete()}),e.on(["commandStack.changed"],function(){t.isActive()&&t.cancel()}),e.on("directEditing.activate",function(l){r.removeResizers(),function c(l){let d=document.getElementsByClassName("djs-direct-editing-content");uB(d.item(0)),function Fue(e,n,t,i){let r,o;function a(l){if(!l||l.length<1)return!1;(function s(l){if(l.length>1)for(const d of l)d.classList.remove("autocomplete-active")})(l),r>=l.length&&(r=0),r<0&&(r=l.length-1),l[r].classList.add("autocomplete-active")}function c(l){let d=document.getElementsByClassName("autocomplete-items");for(const u of d)l!=u&&l!=e&&u.parentNode.removeChild(u)}c(),e.addEventListener("input",function(){if(0===n.length)return;t.type.includes(Z.WORKOBJECT)&&(this.value=this.innerHTML);let l,d,u=this.value;c(),r=-1,l=document.createElement("DIV"),l.setAttribute("id","autocomplete-list"),l.setAttribute("class","autocomplete-items"),this.parentNode.appendChild(l),o=[];for(const h of n)u&&h.substring(0,u.length).toUpperCase()===u.toUpperCase()&&(d=document.createElement("DIV"),d.innerHTML=""+h.substring(0,u.length)+""+h.substring(u.length),d.innerHTML+="",l.appendChild(d),o.push(h));t.type.includes(Z.ACTOR)&&(l.style.visibility="hidden")}),e.onkeydown=function(l){let d=document.getElementById("autocomplete-list");d&&(d=d.getElementsByTagName("div")),40===l.keyCode?(r++,a(d)):38===l.keyCode?(r--,a(d)):13===l.keyCode&&(l.preventDefault(),r>-1&&(t.businessObject.name=o[r],i.fire("element.changed",{element:t})))},document.addEventListener("click",function(l){c(l.target)})}(d[0],lB.getUniqueWorkObjectNames(),l,e)}(l.active.element)}),e.on("create.end",500,function(l){let d=l.shape;!l.isTouch&&l.context.canExecute&&(Cr(d,Z.ACTIVITY)||s(d),uB(document.getElementsByClassName("djs-direct-editing-content").item(0)))}),e.on("autoPlace.end",500,function(l){s(l.shape)})}function cy(e){return 180*e/Math.PI}function mp(e,n){let t;t=e.x<=n.x?e.y>=n.y?0:3:e.y>=n.y?1:2;const i=Math.abs(e.y-n.y),r=Math.abs(e.x-n.x);return 0===t?90-cy(Math.atan2(r,i)):1===t?90+cy(Math.atan2(r,i)):2===t?270-cy(Math.atan2(r,i)):3===t?270+cy(Math.atan2(r,i)):void 0}function jue(e,n,t,i,r,o){return r>t&&ri&&o2){let a=new Array(t-1);for(let c=0;c49&&(t=r);return t}(e,a);return r=fB(e[s],e[s+1]),o=pB(e[s],e[s+1],n),i={x:r,y:o,selected:s},i}return r=fB(e[0],e[1]),o=pB(e[0],e[1],n),i={x:r,y:o,selected:0},i}function fB(e,n){let t=mp(e,n),i=0,r=0;return 0===t||180===t||90===t||270===t?i=0:t>0&&t<90?i=5-t/6:t>90&&t<180?(r=t-90,i=5-r/18):t>180&&t<270?(r=t-180,i=r/18):t>270&&(r=t-270,i=5-r/6),i+(e.x+n.x)/2}function pB(e,n,t=1){let i=mp(e,n),r=0,o=0;return 0===i||180===i?r=15:90===i||270===i?r=0:i>0&&i<90?r=15-i/6:i>90&&i<180?(o=i-90,r=-o/9*t):i>180&&i<270?(o=i-180,r=15-o/3):i>270&&(o=i-270,r=-o/9*t),r+(e.y+n.y)/2}pp.$inject=["eventBus","canvas","directEditing","modeling","resizeHandles","textRenderer","updateLabelHandler"],pp.prototype.activate=function(e){if("__implicitrootbase"===e.id)return;let n=cB(e);if(void 0===n)return;let t={text:n};I(t,this.getEditingBBox(e));let r={};return ya(e)&&I(r,{autoResize:!0}),Cr(e,Z.TEXTANNOTATION)&&I(r,{resizable:!0,autoResize:!0}),I(t,{options:r}),t},pp.prototype.getEditingBBox=function(e){let n=this._canvas,t=e.label||e,i=n.getAbsoluteBBox(t),r_x=i.x+i.width/2,o={x:i.x,y:i.y},a=n.zoom(),s=this._textRenderer.getDefaultStyle(),c=this._textRenderer.getExternalStyle(),l=c.fontSize*a,d=c.lineHeight,u=s.fontSize*a,h=s.lineHeight,f={fontFamily:this._textRenderer.getDefaultStyle().fontFamily,fontWeight:this._textRenderer.getDefaultStyle().fontWeight};Cr(e,Z.GROUP)&&(I(o,{minWidth:i.width/2.5>125?i.width/2.5:125,maxWidth:i.width,minHeight:30*a,x:i.x,y:i.y}),I(f,{fontSize:u+"px",lineHeight:h,paddingTop:7*a+"px",paddingBottom:7*a+"px",paddingLeft:5*a+"px",paddingRight:5*a+"px",textAlign:"left"})),(/^domainStory:actor\w*/.test(e.type)||/^domainStory:workObject\w*/.test(e.type))&&(I(o,{width:i.width,minHeight:30,y:i.y+i.height-20,x:i.x}),I(f,{fontSize:u+"px",lineHeight:h,paddingTop:7*a+"px",paddingBottom:7*a+"px",paddingLeft:5*a+"px",paddingRight:5*a+"px"}));let p=90*a,g=7*a,v=4*a;if(t.labelTarget&&(I(o,{width:p,height:i.height+g+v,x:r_x-p/2,y:i.y-g}),I(f,{fontSize:l+"px",lineHeight:d,paddingTop:g+"px",paddingBottom:v+"px"})),ya(t)&&!tu(t)&&!mi(t)){let k=nu(e),E=n.getAbsoluteBBox({x:k.x,y:k.y,width:0,height:0}),C=l+g+v;I(o,{width:p,height:C,x:E.x-p/2,y:E.y-C/2}),I(f,{fontSize:l+"px",lineHeight:d,paddingTop:g+"px",paddingBottom:v+"px"})}return Cr(e,Z.TEXTANNOTATION)&&(I(o,{width:i.width,height:i.height,minWidth:30*a,minHeight:10*a}),I(f,{textAlign:"left",paddingTop:7*a+"px",paddingBottom:7*a+"px",paddingLeft:5*a+"px",paddingRight:5*a+"px",fontSize:u+"px",lineHeight:h})),{bounds:o,style:f}},pp.prototype.update=function(e,n,t,i){let r,o;Cr(e,Z.TEXTANNOTATION)&&(o=this._canvas.getAbsoluteBBox(e),r={x:e.x,y:e.y,width:e.width/o.width*i.width,height:e.height/o.height*i.height}),this._modeling.updateLabel(e,n,r)};let fS,mB=[],gB=[!1];function vB(e,n){const t=e.businessObject,i=[0];let r=-1;const o=fS.getActivitiesFromActors();o.forEach(a=>{a.businessObject.number&&i.push(+a.businessObject.number)});for(let a=0;a{let r=+i.businessObject.number;r>=n&&(n++,setTimeout(function(){t.execute("activity.changed",{businessObject:i.businessObject,newLabel:i.businessObject.name,newNumber:r,element:i})},10))})}(o,r,n),t.number=r,r}function _B(e,n,t){let i=[[]];e.forEach(o=>{i[o.businessObject.number]||(i[o.businessObject.number]=[]),i[o.businessObject.number].push(o)});let r=n;for(;r{if(i){let r=i.businessObject;r&&(r.number=n),t.fire("element.changed",{element:i})}})}let pS,xB,mS,ll,Jue,Xue=new S1,Zue=[];function oc(e,n,t,i,r,o){Uo.call(this,e,2e3);let a=Xue.next(),s={},c=n.computeStyle;function f(_,m,S,A){return C(_,m.businessObject.name,{box:m,align:S,padding:A||0,style:{fill:"#000000"}},m.type)}function g(_,m){if(m&&m.source){let S=m.businessObject,A=function $ue(e){let r=hB(e.waypoints),o=0;e.waypoints.length>1&&(o=mp(e.waypoints[0],e.waypoints[1]));let a=r.x,s=r.y;return o>=0&&o<=45?(s=s-30+o/2,a=a-25-o/2):o<=90?(s=s-10+(o-45)/4.5,a=a-35-o/9):o<=145?(s+=o/7.25,a=a-45-o/14.5):o<180?(s=s+20+o/9,a=a-50+o/4.5):o<=225?(s=s-45+o/12.25,a=a+10-o/6.125):o<=270?(s=s-80+o/3.375,a=a-5-o/6.125):o<=315?(s=s-135+o/2,a-=50):(s=s+22.5+(o-315)/6,a=a-50+(o-315)/1.8),{textAlign:"center",width:30,height:30,x:a,y:s}}(m);null==S.number&&m.source.type&&m.source.type.includes(Z.ACTOR)&&vB(m,o),S.number&&m.source.type.includes(Z.ACTOR)?function l(_,m,S){let A=function Bue(){let e={use:sy,number:dB};return sy=!1,e}(),z=m.businessObject;A.use&&(z.number=A.number),Zue[z.number]=!0;let L=function v(_,m,S,A){m<10&&(m=String(m)),m=String(m);let z=i.createText(m||"",S);return Pt(z).add("djs-labelNumber"),E(A,z,S,0,_),Ze(_,z),function k(_,m,S){const A=qe("circle");ge(A,{cx:m.box.x+15+3*S,cy:m.box.y-4,r:"10",style:"fill:transparent;stroke:black;stroke-width:1"}),Ze(_,A)}(_,S,m.length),z}(_,z.number,function d(_){return{box:_,fitBox:!0,style:I({},i.getExternalStyle(),{fill:"black",position:"absolute"})}}(S),m.type);!function Wue(e,n){mB[n]=e}(L,z.number)}(_,m,A):S.number=null}}function E(_,m,S,A,z){/:activity$/.test(_)?(m.innerHTML=function D(_,m,S){if(_){let A="";for(let z=0;z<_.length;z++)A+=_[z].outerHTML.replace(/x="-?\d*.\d*"/,'x="'+(Number(m)+S+14)+'"');return A}}(m.children,S.box.x,0),m.innerHTML=x(m.children,S.box.y,0)):/:actor/.test(_)?m.innerHTML=x(m.children,z.firstChild.attributes.height.nodeValue,0):/:workObject/.test(_)&&(m.innerHTML=x(m.children,z.firstChild.attributes.height.nodeValue,26))}function C(_,m,S,A){let z=i.createText(m||"",S);return Pt(z).add("djs-label"),E(A,z,S,0,_),Ze(_,z),z}function x(_,m,S){if(_){let A="";for(let z=0;z<_.length;z++)A+=_[z].outerHTML.replace(/y="-?\d*.\d*"/,'y="'+(Number(m)+S+14*z)+'"');return A}}function V(_,m){return _.startsWith("data")?'':function P(_,m){_.businessObject.pickedColor||(_.businessObject.pickedColor="black");const S=m.match(/fill=".*?"/);if(S&&S.length>1)return m.replace(/fill=".*?"/,'fill="'+_.businessObject.pickedColor+'"');{const A=m.indexOf("m.y+60&&_.x>m.x+3&&_.x_.y&&(_.y+=S)}}function je(_,m,S,A,z,L){si(z)&&(L=z,z=0),z=z||0,L=c(L,{stroke:"black",strokeWidth:2,fill:"white"});let $=qe("rect");return ge($,{x:z,y:z,width:m-2*z,height:S-2*z,rx:A,ry:A}),ge($,L),Ze(_,$),$}function Ht(_,m,S){let A=_+"-"+m+"-"+S+"-"+a;return s[A]||function fe(_,m,S){let A=_+"-"+m+"-"+S+"-"+a;if("activity"===_){let z=qe("path");ge(z,{d:"M 1 5 L 11 10 L 1 15 Z"}),function ve(_,m){let S=I({fill:"black",strokeWidth:1,strokeLinecap:"round",strokeDasharray:"none"},m.attrs),A=m.ref||{x:0,y:0},z=m.scale||1;"none"===S.strokeDasharray&&(S.strokeDasharray=[1e4,1]);let L=qe("marker");ge(m.element,S),Ze(L,m.element),ge(L,{id:_,viewBox:"0 0 20 20",refX:A.x,refY:A.y,markerWidth:20*z,markerHeight:20*z,orient:"auto"});let $=Bn("defs",t._svg);$||($=qe("defs"),Ze(t._svg,$)),Ze($,L),s[_]=L}(A,{element:z,ref:{x:11,y:10},scale:.5,attrs:{fill:S,stroke:S}})}}(_,m,S),"url(#"+A+")"}this.drawGroup=function(_,m){m.businessObject.pickedColor||(m.businessObject.pickedColor="black");let S=je(_,m.width,m.height,0,I({fill:"none",stroke:m.businessObject.pickedColor},m.attrs));return f(_,m,"left-top",8),S},this.drawActor=function(_,m){let A,S={width:m.width,height:m.height},z=pS.getTypeIconSRC(Z.ACTOR,m.type);return z=V(z,m),A=qe(z),ge(A,S),Ze(_,A),f(_,m,"center",-5),A},this.drawWorkObject=function(_,m){let A,S={width:.65*m.width,height:.65*m.height,x:m.width/2-25,y:m.height/2-25},z=pS.getTypeIconSRC(Z.WORKOBJECT,m.type);return z=V(z,m),A=qe(z),ge(A,S),Ze(_,A),f(_,m,"center",-5),A},this.drawActivity=function(_,m){if(function be(_){let m=_.source,A=_.waypoints,z=A[0],L=A[A.length-1];z&&L&&m&&_.target&&(Q(z,m),Q(L,m))}(m),m){let S=function F(_){return _.businessObject.pickedColor||(_.businessObject.pickedColor="black"),c("",{stroke:_.businessObject.pickedColor,fill:"none",strokeWidth:1.5,strokeLinejoin:"round",markerEnd:Ht("activity","black",_.businessObject.pickedColor)})}(m),A=Ze(_,vf(m.waypoints,S));return function p(_,m){let S=m.businessObject,A=m.waypoints,z=function zue(e){return e.split(/\r\n|\r|\n/).length}(S.name);if(null!=m.waypoints){let L=hB(A,z),$=m.waypoints[L.selected],Ne=m.waypoints[L.selected+1],ut=mp($,Ne),bt="left",xn=500,gn=L.x;if((0===ut||180===ut)&&(xn=Math.abs($.x-Ne.x),bt="center",gn=($.x+Ne.x)/2-function Nue(e){if(!e)return 0;let n=5.1*e.length;return n/=2,n+=20,n}(S.name)),S.name&&S.name.length)C(_,S.name,{box:{textAlign:bt,width:xn,height:30,x:gn,y:L.y},fitBox:!0,style:I({},i.getExternalStyle(),{fill:"black",wordWrap:"break-word",overflowWrap:"break-word",hyphens:"auto"})},m.type)}}(_,m),g(_,m),function de(_){if(_){let m=_.getElementsByTagName("polyline");m.length>1&&m[1].setAttribute("points",m[0].getAttribute("points"))}}(_.parentElement),A}},this.drawDSConnection=function(_,m){let S="";return S=c(S,{stroke:"#000000",strokeWidth:1.5,strokeLinejoin:"round",strokeDasharray:"5, 5"}),Ze(_,vf(m.waypoints,S))},this.drawAnnotation=function(_,m){let A=m.businessObject.text||"";if(m.businessObject.text){let $=function Aue(){return hS}();0===$&&m.businessObject.number&&($=m.businessObject.number),I(m,{height:$}),I(m.businessObject,{number:$})}let z=je(_,m.width,m.height,0,0,{fill:"none",stroke:"none"});return function we(_,m,S){S=c(S,["no-fill"],{strokeWidth:2,stroke:"black"});let A=qe("path");ge(A,{d:m}),ge(A,S),Ze(_,A)}(_,r.getScaledPath("TEXT_ANNOTATION",{xScaleFactor:1,yScaleFactor:1,containerWidth:m.width,containerHeight:m.height,position:{mx:0,my:0}}),{stroke:"black"}),C(_,A,{box:m,align:"left-top",padding:5,style:{fill:"black"}}),z},this.getWorkObjectPath=function(_){return va(gS(_))},this.getGroupPath=function(_){return va(gS(_))},this.getActivityPath=function(_){let m=_.waypoints.map(function(A){return A.original||A}),S=[["M",m[0].x,m[0].y]];return m.forEach(function(A,z){0!==z&&S.push(["L",A.x,A.y])}),va(S)},this.getActorPath=function(_){return va(gS(_))}}function gS(e){let r=e.width/2+5,o=e.height/2+5;return[["M",e.x,e.y],["l",r,0],["l",r,o],["l",-r,o],["l",-r,0],["z"]]}function ly(e,n,t,i,r){this._create=n,this._elementFactory=t,this._spaceTool=i,this._lassoTool=r,e.registerProvider(this)}function wB(e,n,t,i){let r=Vs(e),o=ll.getIconForBPMN(e),a=[];a["domainStory-"+i+r]=n(e,i,o,r),I(t,a)}Xe()(oc,Uo),oc.$inject=["eventBus","styles","canvas","textRenderer","pathMap","commandStack"],oc.prototype.canRender=function(e){return/^domainStory:/.test(e.type)},oc.prototype.drawShape=function(e,n){String.prototype.startsWith||Object.defineProperty(String.prototype,"startsWith",{value:function(i,r){return this.substring(r=!r||r<0?0:+r,r+i.length)===i}});let t=n.type;return n.businessObject.type=t,xB.correctInitialize(),mS.makeDirty(),t.includes(Z.ACTOR)?this.drawActor(e,n):t.includes(Z.WORKOBJECT)?this.drawWorkObject(e,n):t.includes(Z.TEXTANNOTATION)?this.drawAnnotation(e,n):t.includes(Z.GROUP)?this.drawGroup(e,n):void 0},oc.prototype.getShapePath=function(e){let n=e.type;return n.includes(Z.ACTOR)?this.getActorPath(e):n.includes(Z.WORKOBJECT)?this.getWorkObjectPath(e):n.includes(Z.GROUP)?this.getGroupPath(e):void 0},oc.prototype.drawConnection=function(e,n){let t=n.type;return mS.makeDirty(),n.businessObject.type||(n.businessObject.type=t),t===Z.ACTIVITY?this.drawActivity(e,n):t===Z.CONNECTION?this.drawDSConnection(e,n):void 0},ly.$inject=["palette","create","elementFactory","spaceTool","lassoTool","modeling"],ly.prototype.getPaletteEntries=function(){let n=this._create,t=this._elementFactory;return function nhe(e,n,t,i){let r=ll?.getCurrentIconConfigurationForBPMN(),o=localStorage.getItem("appendedIcons");if(o&&(o=JSON.parse(o),function ihe(e){return!(1===Object.keys(e).length&&"entries"===Object.keys(e)[0])}(o)&&(o=function rhe(e){let n=new tn;return Object.keys(e).forEach(t=>{n.set(t,e[t])}),n}(o)),o.entries&&o.entries.forEach)){const c=new tn;o.entries.forEach(l=>{c.putEntry(l)}),oN(c),function the(e){const n=document.createElement("style");document.head.appendChild(n);let t=new tn;t.appendDict(e),t.keysArray().forEach(r=>{if(ll.getAppendedIconDictionary().has(r)){let o=t.get(r);const a=".icon-domain-story-"+r.toLowerCase()+'::before{ display: block; content: url("data:image/svg+xml;utf8,'+function ohe(e){return""}(o)+'"); margin: 3px;}';n.sheet.insertRule(a,n.sheet.cssRules.length)}})}(o)}return ll?.initTypeDictionaries(r.actors,r.workObjects),ll?.getTypeDictionary(Z.ACTOR)?.keysArray().forEach(c=>{wB(c,i,e,"actor")}),I(e,{"actor-separator":{group:"actor",separator:!0}}),ll?.getTypeDictionary(Z.WORKOBJECT)?.keysArray().forEach(c=>{wB(c,i,e,"actor")}),I(e,{"workObject-separator":{group:"workObject",separator:!0},"domainStory-group":i(Z.GROUP,"group","icon-domain-story-tool-group","group"),"group-separator":{group:"group",separator:!0},"lasso-tool":{group:"tools",className:"bpmn-icon-lasso-tool",title:"Activate the lasso tool",action:{click:function(c){t.activateSelection(c)}}},"space-tool":{group:"tools",className:"bpmn-icon-space-tool",title:"Activate the create/remove space tool",action:{click:function(c){n.activateSelection(c)}}}}),e}({},this._spaceTool,this._lassoTool,function o(a,s,c,l,d){function u(f){let p=t.createShape(I({type:a},d));I(p.businessObject,{id:p.id}),d&&(p.businessObject.di.isExpanded=d.isExpanded),n.start(f,p)}return a.replace(/^domainStory:/,""),{group:s,className:c,title:"Create "+l||0,action:{dragstart:u,click:u}}})};const wo=125;function ac(e){return e&&/^domainStory:/.test(e.type)}function EB(e){return e&&/^domainStory:group/.test(e.type)}function vS(e){return e&&/^domainStory:actor\w*/.test(e.type)}function _S(e){return e&&/^domainStory:activity/.test(e.type)}function gp(e){return e&&/^domainStory:connection/.test(e.type)}function vp(e){return e&&/^domainStory:textAnnotation/.test(e.type)}function uy(e,n){if(!EB(n)&&ac(e)&&ac(n)&&e!==n&&(!vS(e)||!vS(n))&&!_S(e)&&!_S(n)&&!gp(e)&&!gp(n))return vp(n)?{type:Z.CONNECTION}:{type:Z.ACTIVITY}}function CB(e,n){if(Cr(e,Z.GROUP)){if(n){let t={x:e.x,y:e.y+e.height},i={x:e.x+e.width,y:e.y+e.height},r={x:e.x+e.width,y:e.y};n.x!==e.x&&n.y!==e.y&&(n.x>i.x-wo&&I(n,{x:i.x-wo}),n.y>i.y-wo&&I(n,{y:i.y-wo})),n.x!==e.x&&n.y===e.y&&n.x>r.x-wo&&I(n,{x:r.x-wo}),n.x===e.x&&n.y!==e.y&&n.y>t.y-wo&&I(n,{y:t.y-wo}),n.height{t.id!==n.id&&t.x>=n.x&&t.x<=n.x+n.width&&t.y>=n.y&&t.y<=n.y+n.height&&(t.parent=n,n.children.includes(t)||n.children.push(t))})}(l,s)),s&&s.parent&&"type"in s.parent&&s.parent.type===Z.GROUP&&I(c,{parent:s.parent.id})}function i(o){let s=o.context.connection,c=s.source,l=s.target,d=s.businessObject;o.newTarget&&(l=o.newTarget),o.newSource&&(c=o.newSource);let h=n._customElements;s.parent?Un(h,d):$n(h,d),I(d,{waypoints:r(s)}),c&&(d.source?d.source=c.id:I(d,{source:c.id})),l&&(d.target?d.target=l.id:I(d,{target:l.id}))}function r(o){return o.waypoints.map(function(a){return a.original?{original:{x:a.original.x,y:a.original.y},x:a.x,y:a.y}:{x:a.x,y:a.y}})}Ve.call(this,e),this.executed(["shape.create","shape.move","shape.delete","shape.resize","shape.removeGroupWithChildren"],fy(t)),this.reverted(["shape.create","shape.move","shape.delete","shape.resize","shape.removeGroupWithChildren"],fy(t)),this.executed(["connection.create","connection.reconnect","connection.updateWaypoints","connection.delete","connection.layout","connection.move"],fy(i)),this.reverted(["connection.create","connection.reconnect","connection.updateWaypoints","connection.delete","connection.layout","connection.move"],fy(i))}function fy(e){return n=>{const t=n.context;(function che(e){return e&&/domainStory:/.test(e.type)})(t.shape||t.connection)&&e(n)}}Xe()(fs,Ea),fs.$inject=["eventBus"],fs.prototype.init=function(){function e(n,t){if(ac(n))return!ac(t)||EB(t)}this.addRule("elements.create",function(n){const r=n.target;return Uc(n.elements,function(o){return gp(o)?uy(o.source,o.target):o.host?SB(o,o.host,null):e(o,r)})}),this.addRule("elements.move",1500,function(n){let r,t=n.target;return br(n.shapes,function(o,a){return void 0===r&&(r=ac(a)),r===ac(a)&&!1!==o&&e(a,t)},void 0)}),this.addRule("shape.create",1500,function(n){return e(n.shape,n.target)}),this.addRule("connection.create",1500,function(n){return uy(n.source,n.target)}),this.addRule("connection.reconnect",1500,function(n){let i=n.hover||n.source,r=n.target;if(function she(e,n,t){return!(_S(t)&&vp(n)||gp(t)&&vp(e)&&vp(n)||gp(t)&&!vp(n)&&(vS(e)||function ahe(e){return e&&/^domainStory:workObject/.test(e.type)}(e)))}(i,r,n.connection))return uy(i,r)}),this.addRule("shape.resize",function(n){return CB(n.shape,n.newBounds)})},fs.prototype.canConnect=uy,fs.prototype.canAttach=SB,fs.prototype.isDomainStory=ac,fs.prototype.canResize=CB,Xe()(hy,Ve),hy.$inject=["eventBus","bpmnjs"];const lhe={width:0,height:0};function py(e,n,t){t.registerHandler("element.updateCustomLabel",function i(){this.preExecute=function(r){let o=r.element,a=o.businessObject,s=r.newLabel,c=r.newNumber;if(!mi(o)&&ya(o)&&!tu(o)&&(""!==s||""!==c)){let l=7,d=nu(o);d={x:d.x,y:d.y+l},e.createLabel(o,d,{id:a.id+"_label",businessObject:a})}},this.execute=function(r){return r.oldLabel=cB(r.element),r.oldNumber=function Iue(e){let n=e.businessObject,t=sB(n);if(t)return n[t]||""}(r.element),DB(r.element,r.newLabel,r.newNumber)},this.revert=function(r){return DB(r.element,r.oldLabel,r.oldNumber)},this.postExecute=function(r){let o=r.element,a=o.label||o,s=r.newLabel,c=r.newBounds;if(mi(a)&&""===s.trim())return void e.removeShape(a);if(!ya(o)&&!Cr(o,Z.TEXTANNOTATION))return;let l=nB(a),d=l.name||l.text;d&&(typeof c>"u"&&(c=n.getLayoutedBounds(a,d)),c&&e.resizeShape(a,c,lhe))}})}function DB(e,n,t){let i=e.label||e,r=e.number||e,o=e.labelTarget||e,a=e.numberTarget||e;return function Oue(e,n){let t;t=e.businessObject?e.businessObject:e;let i=aB(t);i&&(t[i]=n)}(i,n),function Rue(e,n){let t=e.businessObject,i=sB(t);i&&(t[i]=n)}(r,t),[i,o,r,a]}function yS(e,n){e.registerHandler("story.updateHeadlineAndDescription",function t(){this.execute=function(i){i.oldTitle=n.getTitle(),i.oldDescription=n.getDescription(),n.updateTitleAndDescription(i.newTitle,i.newDescription,!1)},this.revert=function(i){n.updateTitleAndDescription(i.oldTitle,i.oldDescription,!1)}})}let my,_p,yp;function gy(e,n,t,i,r,o,a,s,c,l,d,u){let h,f;e.invoke(Hf,this),e.get("autoPlace",!1);let g=Wi(this.getContextPadEntries,this);const v=document.getElementById("colorPicker");function C(de){I(de,{colorChange:{group:"edit",className:"icon-domain-story-color-picker",title:t("Change color"),action:{click:function(we,je){f=je,v.click()}}}})}function x(de){I(de,{"append.text-annotation":He(Z.TEXTANNOTATION,"bpmn-icon-text-annotation","textannotation","connect")})}function D(de,we){I(de,{connect:{group:"connect",className:"bpmn-icon-connection",title:t("Connect with activity"),action:{click:we,dragstart:we}}})}function P(de,we){_p.getTypeDictionary(Z.WORKOBJECT).keysArray().forEach(Ht=>{let fe=Vs(Ht),ve=_p.getIconForBPMN(Ht),_=[];_["append.workObject"+fe]=de(Ht,ve,fe,"workObjects"),I(we,_)})}function be(de){let je=o.getContainer(),Ht=a.getPad(de).html,fe=je.getBoundingClientRect(),ve=Ht.getBoundingClientRect();return{x:ve.left-fe.left,y:ve.top-fe.top+ve.height+5}}function He(de,we,je,Ht,fe){return"string"!=typeof je&&(fe=je,je=t("{type}",{type:de.replace(/^domainStory:/,"")})),{group:Ht,className:we,title:"Append "+je,action:{dragstart:h,click:function ve(_,m){let S=i.createShape(I({type:de},fe));r.start(_,S,{elements:[S],hints:{},source:m})}}}}v.onchange=de=>{l.execute("element.colorChange",{businessObject:f.businessObject,newColor:de.target.value,element:f}),my.makeDirty()},s.registerProvider("ds-replace",c),s.registerProvider("bpmn-replace",c),this.getContextPadEntries=function(de){const we=function VJ(){const e=new tn;return e.addEach(gv),e.keysArray()}();let je=g(de);return h=function(Ht,fe,ve){n.start(Ht,fe,ve)},de.type.includes(Z.WORKOBJECT)?(we.includes(de.type.replace(Z.WORKOBJECT,""))&&C(je),D(je,h),x(je),function V(de,we){_p.getTypeDictionary(Z.ACTOR).keysArray().forEach(Ht=>{let fe=Vs(Ht),ve=_p.getIconForBPMN(Ht),_=[];_["append.actor"+fe]=de(Ht,ve,fe,"actors"),I(we,_)})}(He,je),P(He,je),function F(de){I(de,{replace:{group:"edit",className:"bpmn-icon-screw-wrench",title:t("Change type"),action:{click:function(we,je){let Ht=I(be(je),{cursor:{x:we.x,y:we.y}});s.open(je,"ds-replace",Ht)}}}})}(je)):de.type.includes(Z.ACTOR)?(we.includes(de.type.replace(Z.ACTOR,""))&&C(je),D(je,h),x(je),P(He,je),function E(de){I(de,{replace:{group:"edit",className:"bpmn-icon-screw-wrench",title:t("Change type"),action:{click:function(we,je){let Ht=I(be(je),{cursor:{x:we.x,y:we.y}});s.open(je,"ds-replace",Ht)}}}})}(je)):de.type.includes(Z.GROUP)?(delete je.delete,x(je),I(je,{deleteGroup:{group:"edit",className:"bpmn-icon-trash",title:"Remove Group without Child-Elements",action:{click:function(Ht,fe){u.removeGroup(fe),my.makeDirty()}}}}),C(je)):de.type.includes(Z.ACTIVITY)&&(function k(de){delete de.delete,I(de,{changeDirection:{group:"edit",className:"icon-domain-story-changeDirection",title:t("Change direction"),action:{click:function(we,je){!function Q(de){let we,Ht,je=de.businessObject;Ht=de.source.type.includes(Z.ACTOR)?0:vB(de,l),we={businessObject:je,newNumber:Ht,element:de},l.execute("activity.directionChange",we)}(je)}}}})}(je),C(je),I(je,{delete:{group:"edit",className:"bpmn-icon-trash",title:"Remove",action:{click:function(Ht,fe){u.removeElements({element:fe}),my.makeDirty()}}}})),je}}function kB(e){this._modeling=e}function bu(e){this._dsReplace=new kB(e),this._modeling=e}py.$inject=["modeling","textRenderer","commandStack"],Xe()(gy,Hf),gy.$inject=["injector","connect","translate","elementFactory","create","canvas","contextPad","popupMenu","replaceMenuProvider","commandStack","eventBus","modeling"],kB.prototype.replaceElement=function uhe(e,n,t){let i=function hhe(e,n,t){return e.x=Math.ceil(n.x+(e.width||n.width)/2),e.y=Math.ceil(n.y+(e.height||n.height)/2),I(e,{name:n.businessObject.name}),t.replaceShape(n,e,{})}(n,e,t),o=i.incoming;return i.outgoing.forEach(a=>{a.businessObject.source=i.id}),o.forEach(a=>{a.businessObject.target=i.id}),i},bu.$inject=["modeling"],bu.prototype.getEntries=function(e){let n;return e.type.includes("actor")?n=function phe(e){const n=yp.getTypeDictionary(Z.ACTOR);let t={},i=0;return n.keysArray().forEach(r=>{if(!e.includes(r)){const o=Vs(r);t[i]={label:"Change to "+o,actionName:"replace-with-actor-"+o.toLowerCase(),className:yp.getIconForBPMN(r),target:{type:r}},i++}}),t}(e.type):e.type.includes("workObject")&&(n=function mhe(e){const n=yp.getTypeDictionary(Z.WORKOBJECT);let t={},i=0;return n.keysArray().forEach(r=>{if(!e.includes(r)){const o=Vs(r);t[i]={label:"Change to "+o,actionName:"replace-with-actor-"+o,className:yp.getIconForBPMN(r),target:{type:r}}}i++}),t}(e.type)),this._createEntries(e,n)},bu.prototype._createEntries=function(e,n){let t=[],i=this;return R(n,function(r){let o=i._createMenuEntry(r,e);t.push(o)}),t},bu.prototype._createMenuEntry=function(e,n,t){let i=this._dsReplace.replaceElement,r=this._modeling;return{label:e.label,className:e.className,id:e.actionName,action:t=t||function(){return i(n,e.target,r)}}};var ghe=J(302);function bp(e,n,t,i){Zn.call(this,e,n,t,i)}Zn.prototype.updateLabel=function(e,n,t){(e.businessObject?n!==e.businessObject.name:n!==e.name)&&(/^domainStory:/.test(e.type)?this._commandStack.execute("element.updateCustomLabel",{element:e,newLabel:n,newBounds:t}):this._commandStack.execute("element.updateLabel",{element:e,newLabel:n,newBounds:t}))},Zn.prototype.updateNumber=function(e,n,t){(e.businessObject?n!==e.businessObject.number:n!==e.number)&&(/^domainStory:/.test(e.type)?this._commandStack.execute("element.updateCustomLabel",{element:e,newNumber:n,newBounds:t}):this._commandStack.execute("element.updateLabel",{element:e,newNumber:n,newBounds:t}))},Zn.prototype.replaceShape=function(e,n,t){let i={oldShape:e,newData:n,hints:t||{}};return this._commandStack.execute("shape.replace",i),i.newShape},Zn.prototype.removeGroup=function(e){this._commandStack.execute("shape.removeGroupWithoutChildren",{element:e}),this.removeElements({element:e})},(0,ghe.inherits)(bp,Zn),bp.$inject=["eventBus","elementFactory","commandStack","domainStoryRules"];const vhe={__depends__:[uu,RE,LE],__init__:["domainStoryRenderer","paletteProvider","domainStoryRules","domainStoryUpdater","contextPadProvider","replaceMenuProvider"],elementFactory:["type",fp],domainStoryRenderer:["type",oc],paletteProvider:["type",ly],domainStoryRules:["type",fs],domainStoryUpdater:["type",hy],contextPadProvider:["type",gy],elementFactoryBpmn:["type",xo],pathMap:["type",rE],replaceMenuProvider:["type",bu],commandStack:["type",kn],updateLabelHandler:["type",py],headlineAndDescriptionUpdateHandler:["type",yS],modeling:["type",bp]},_he={__depends__:[jE,b_,OE],__init__:["dSlabelEditingProvider","dSlabelEditingPreview"],dSlabelEditingProvider:["type",pp],dSlabelEditingPreview:["type",oB],updateLabelHandler:["type",py],commandStack:["type",kn],modeling:["type ",bp]},yhe={__depends__:[uu,RE,LE],__init__:["domainStoryRenderer","paletteProvider","domainStoryRules","domainStoryUpdater","contextPadProvider","replaceMenuProvider"],elementFactory:["type",fp],domainStoryRenderer:["type",oc],paletteProvider:["type",ly],domainStoryRules:["type",fs],domainStoryUpdater:["type",hy],contextPadProvider:["type",gy],elementFactoryBpmn:["type",xo],pathMap:["type",rE],replaceMenuProvider:["type",bu],commandStack:["type",kn],updateLabelHandler:["type",py],headlineAndDescriptionUpdateHandler:["type",yS],modeling:["type",bp]};function ka(e){Xo.call(this,e),this._customElements=[],this._groupElements=[]}function bS(e){return e&&e.type===Z.GROUP}Xe()(ka,Xo),ka.prototype._modules=[].concat(ka.prototype._modules,[vhe,_he,yhe],[b_]),ka.prototype._addCustomShape=function(e){let n=e.parent;delete e.children,delete e.parent,this._customElements.push(e);let t=this.get("canvas"),i=this.get("elementFactory"),r=I({businessObject:e},e),o=i.create("shape",r);if(bS(e)&&(this._groupElements[e.id]=o),n){let a=this._groupElements[n];if(bS(a))return t.addShape(o,a,a.id)}return t.addShape(o)},ka.prototype._addCustomConnection=function(e){this._customElements.push(e);let n=this.get("canvas"),t=this.get("elementFactory"),i=this.get("elementRegistry"),r=I({businessObject:e},e),o=t.create("connection",I(r,{source:i.get(e.source),target:i.get(e.target)}),i.get(e.source).parent);return n.addConnection(o)},ka.prototype.importCustomElements=function(e){this.get("eventBus").fire("diagram.clear",{}),this._customElements=[],this._groupElements=[],this.addCustomElements(e)},ka.prototype.addCustomElements=function(e){if(!Lt(e))throw new Error("argument must be an array");let n=[],t=[],i=[];e.forEach(function(r){!function bhe(e){return e.type===Z.ACTIVITY||e.type===Z.CONNECTION}(r)?bS(r)?i.push(r):n.push(r):t.push(r)}),i.forEach(this._addCustomShape,this),n.forEach(this._addCustomShape,this),t.forEach(this._addCustomConnection,this)},ka.prototype.getCustomElements=function(){return this._customElements},ka.prototype.createDiagram=function(e){};class TB{constructor(n,t,i,r){this.activity=n,this.numberIsAllowedMultipleTimes=t,this.showNumberFields=i,this.saveFN=r}}const xhe=["mat-button",""],whe=[[["",8,"material-icons",3,"iconPositionEnd",""],["mat-icon",3,"iconPositionEnd",""],["","matButtonIcon","",3,"iconPositionEnd",""]],"*",[["","iconPositionEnd","",8,"material-icons"],["mat-icon","iconPositionEnd",""],["","matButtonIcon","","iconPositionEnd",""]]],Ehe=[".material-icons:not([iconPositionEnd]), mat-icon:not([iconPositionEnd]), [matButtonIcon]:not([iconPositionEnd])","*",".material-icons[iconPositionEnd], mat-icon[iconPositionEnd], [matButtonIcon][iconPositionEnd]"],She=["mat-icon-button",""],Dhe=["*"],khe=[{selector:"mat-button",mdcClasses:["mdc-button","mat-mdc-button"]},{selector:"mat-flat-button",mdcClasses:["mdc-button","mdc-button--unelevated","mat-mdc-unelevated-button"]},{selector:"mat-raised-button",mdcClasses:["mdc-button","mdc-button--raised","mat-mdc-raised-button"]},{selector:"mat-stroked-button",mdcClasses:["mdc-button","mdc-button--outlined","mat-mdc-outlined-button"]},{selector:"mat-fab",mdcClasses:["mdc-fab","mat-mdc-fab"]},{selector:"mat-mini-fab",mdcClasses:["mdc-fab","mdc-fab--mini","mat-mdc-mini-fab"]},{selector:"mat-icon-button",mdcClasses:["mdc-icon-button","mat-mdc-icon-button"]}],The=Nw(AR(Fw(class{constructor(e){this._elementRef=e}})));let AB=(()=>{class e extends The{get ripple(){return this._rippleLoader?.getRipple(this._elementRef.nativeElement)}set ripple(t){this._rippleLoader?.attachRipple(this._elementRef.nativeElement,t)}get disableRipple(){return this._disableRipple}set disableRipple(t){this._disableRipple=rn(t),this._updateRippleDisabled()}get disabled(){return this._disabled}set disabled(t){this._disabled=rn(t),this._updateRippleDisabled()}constructor(t,i,r,o){super(t),this._platform=i,this._ngZone=r,this._animationMode=o,this._focusMonitor=vt(Od),this._rippleLoader=vt(yX),this._isFab=!1,this._disableRipple=!1,this._disabled=!1,this._rippleLoader?.configureRipple(this._elementRef.nativeElement,{className:"mat-mdc-button-ripple"});const a=t.nativeElement.classList;for(const s of khe)this._hasHostAttributes(s.selector)&&s.mdcClasses.forEach(c=>{a.add(c)})}ngAfterViewInit(){this._focusMonitor.monitor(this._elementRef,!0)}ngOnDestroy(){this._focusMonitor.stopMonitoring(this._elementRef)}focus(t="program",i){t?this._focusMonitor.focusVia(this._elementRef.nativeElement,t,i):this._elementRef.nativeElement.focus(i)}_hasHostAttributes(...t){return t.some(i=>this._elementRef.nativeElement.hasAttribute(i))}_updateRippleDisabled(){this._rippleLoader?.setDisabled(this._elementRef.nativeElement,this.disableRipple||this.disabled)}static#e=this.\u0275fac=function(i){Rm()};static#t=this.\u0275dir=Me({type:e,features:[dt]})}return e})(),ps=(()=>{class e extends AB{constructor(t,i,r,o){super(t,i,r,o)}static#e=this.\u0275fac=function(i){return new(i||e)(T(Ft),T(Xn),T(ot),T($i,8))};static#t=this.\u0275cmp=Tt({type:e,selectors:[["button","mat-button",""],["button","mat-raised-button",""],["button","mat-flat-button",""],["button","mat-stroked-button",""]],hostVars:7,hostBindings:function(i,r){2&i&&(hn("disabled",r.disabled||null),Ct("_mat-animation-noopable","NoopAnimations"===r._animationMode)("mat-unthemed",!r.color)("mat-mdc-button-base",!0))},inputs:{disabled:"disabled",disableRipple:"disableRipple",color:"color"},exportAs:["matButton"],features:[dt],attrs:xhe,ngContentSelectors:Ehe,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&&(bi(whe),rt(0,"span",0),_t(1),j(2,"span",1),_t(3,1),W(),_t(4,2),rt(5,"span",2)(6,"span",3)),2&i&&Ct("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(\n 100% + 4px\n );width:calc(\n 100% + 4px\n );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{height:var(--mdc-text-button-container-height, 36px);border-radius:var(--mdc-text-button-container-shape, var(--mdc-shape-small, 4px))}.mat-mdc-button:not(:disabled){color:var(--mdc-text-button-label-text-color, inherit)}.mat-mdc-button:disabled{color:var(--mdc-text-button-disabled-label-text-color, rgba(0, 0, 0, 0.38))}.mat-mdc-button .mdc-button__ripple{border-radius:var(--mdc-text-button-container-shape, var(--mdc-shape-small, 4px))}.mat-mdc-unelevated-button{height:var(--mdc-filled-button-container-height, 36px);border-radius:var(--mdc-filled-button-container-shape, var(--mdc-shape-small, 4px))}.mat-mdc-unelevated-button:not(:disabled){background-color:var(--mdc-filled-button-container-color, transparent)}.mat-mdc-unelevated-button:disabled{background-color:var(--mdc-filled-button-disabled-container-color, rgba(0, 0, 0, 0.12))}.mat-mdc-unelevated-button:not(:disabled){color:var(--mdc-filled-button-label-text-color, inherit)}.mat-mdc-unelevated-button:disabled{color:var(--mdc-filled-button-disabled-label-text-color, rgba(0, 0, 0, 0.38))}.mat-mdc-unelevated-button .mdc-button__ripple{border-radius:var(--mdc-filled-button-container-shape, var(--mdc-shape-small, 4px))}.mat-mdc-raised-button{height:var(--mdc-protected-button-container-height, 36px);border-radius:var(--mdc-protected-button-container-shape, var(--mdc-shape-small, 4px));box-shadow:var(--mdc-protected-button-container-elevation, 0px 3px 1px -2px rgba(0, 0, 0, 0.2), 0px 2px 2px 0px rgba(0, 0, 0, 0.14), 0px 1px 5px 0px rgba(0, 0, 0, 0.12))}.mat-mdc-raised-button:not(:disabled){background-color:var(--mdc-protected-button-container-color, transparent)}.mat-mdc-raised-button:disabled{background-color:var(--mdc-protected-button-disabled-container-color, rgba(0, 0, 0, 0.12))}.mat-mdc-raised-button:not(:disabled){color:var(--mdc-protected-button-label-text-color, inherit)}.mat-mdc-raised-button:disabled{color:var(--mdc-protected-button-disabled-label-text-color, rgba(0, 0, 0, 0.38))}.mat-mdc-raised-button .mdc-button__ripple{border-radius:var(--mdc-protected-button-container-shape, var(--mdc-shape-small, 4px))}.mat-mdc-raised-button.mdc-ripple-upgraded--background-focused,.mat-mdc-raised-button:not(.mdc-ripple-upgraded):focus{box-shadow:var(--mdc-protected-button-focus-container-elevation, 0px 2px 4px -1px rgba(0, 0, 0, 0.2), 0px 4px 5px 0px rgba(0, 0, 0, 0.14), 0px 1px 10px 0px rgba(0, 0, 0, 0.12))}.mat-mdc-raised-button:hover{box-shadow:var(--mdc-protected-button-hover-container-elevation, 0px 2px 4px -1px rgba(0, 0, 0, 0.2), 0px 4px 5px 0px rgba(0, 0, 0, 0.14), 0px 1px 10px 0px rgba(0, 0, 0, 0.12))}.mat-mdc-raised-button:not(:disabled):active{box-shadow:var(--mdc-protected-button-pressed-container-elevation, 0px 5px 5px -3px rgba(0, 0, 0, 0.2), 0px 8px 10px 1px rgba(0, 0, 0, 0.14), 0px 3px 14px 2px rgba(0, 0, 0, 0.12))}.mat-mdc-raised-button:disabled{box-shadow:var(--mdc-protected-button-disabled-container-elevation, 0px 0px 0px 0px rgba(0, 0, 0, 0.2), 0px 0px 0px 0px rgba(0, 0, 0, 0.14), 0px 0px 0px 0px rgba(0, 0, 0, 0.12))}.mat-mdc-outlined-button{height:var(--mdc-outlined-button-container-height, 36px);border-radius:var(--mdc-outlined-button-container-shape, var(--mdc-shape-small, 4px));padding:0 15px 0 15px;border-width:var(--mdc-outlined-button-outline-width, 1px)}.mat-mdc-outlined-button:not(:disabled){color:var(--mdc-outlined-button-label-text-color, inherit)}.mat-mdc-outlined-button:disabled{color:var(--mdc-outlined-button-disabled-label-text-color, rgba(0, 0, 0, 0.38))}.mat-mdc-outlined-button .mdc-button__ripple{border-radius:var(--mdc-outlined-button-container-shape, var(--mdc-shape-small, 4px))}.mat-mdc-outlined-button:not(:disabled){border-color:var(--mdc-outlined-button-outline-color, rgba(0, 0, 0, 0.12))}.mat-mdc-outlined-button:disabled{border-color:var(--mdc-outlined-button-disabled-outline-color, rgba(0, 0, 0, 0.12))}.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, 1px)}.mat-mdc-outlined-button .mdc-button__touch{left:calc(-1 * var(--mdc-outlined-button-outline-width, 1px));width:calc(100% + 2 * var(--mdc-outlined-button-outline-width, 1px))}.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;background-color:var(--mat-mdc-button-persistent-ripple-color)}.mat-mdc-button .mat-ripple-element,.mat-mdc-unelevated-button .mat-ripple-element,.mat-mdc-raised-button .mat-ripple-element,.mat-mdc-outlined-button .mat-ripple-element{background-color:var(--mat-mdc-button-ripple-color)}.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[disabled],.mat-mdc-unelevated-button[disabled],.mat-mdc-raised-button[disabled],.mat-mdc-outlined-button[disabled]{cursor:default;pointer-events:none}.mat-mdc-button .mat-mdc-button-touch-target,.mat-mdc-unelevated-button .mat-mdc-button-touch-target,.mat-mdc-raised-button .mat-mdc-button-touch-target,.mat-mdc-outlined-button .mat-mdc-button-touch-target{position:absolute;top:50%;height:48px;left:0;right:0;transform:translateY(-50%)}.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{margin-left:0;margin-right:8px;display:inline-block;position:relative;vertical-align:top;font-size:1.125rem;height:1.125rem;width:1.125rem}[dir=rtl] .mat-mdc-button>.mat-icon,.mat-mdc-button>.mat-icon[dir=rtl]{margin-left:8px;margin-right:0}.mat-mdc-button .mdc-button__label+.mat-icon{margin-left:8px;margin-right:0}[dir=rtl] .mat-mdc-button .mdc-button__label+.mat-icon,.mat-mdc-button .mdc-button__label+.mat-icon[dir=rtl]{margin-left:0;margin-right:8px}.mat-mdc-unelevated-button>.mat-icon,.mat-mdc-raised-button>.mat-icon,.mat-mdc-outlined-button>.mat-icon{margin-left:0;margin-right:8px;display:inline-block;position:relative;vertical-align:top;font-size:1.125rem;height:1.125rem;width:1.125rem;margin-left:-4px;margin-right:8px}[dir=rtl] .mat-mdc-unelevated-button>.mat-icon,[dir=rtl] .mat-mdc-raised-button>.mat-icon,[dir=rtl] .mat-mdc-outlined-button>.mat-icon,.mat-mdc-unelevated-button>.mat-icon[dir=rtl],.mat-mdc-raised-button>.mat-icon[dir=rtl],.mat-mdc-outlined-button>.mat-icon[dir=rtl]{margin-left:8px;margin-right:0}[dir=rtl] .mat-mdc-unelevated-button>.mat-icon,[dir=rtl] .mat-mdc-raised-button>.mat-icon,[dir=rtl] .mat-mdc-outlined-button>.mat-icon,.mat-mdc-unelevated-button>.mat-icon[dir=rtl],.mat-mdc-raised-button>.mat-icon[dir=rtl],.mat-mdc-outlined-button>.mat-icon[dir=rtl]{margin-left:8px;margin-right:-4px}.mat-mdc-unelevated-button .mdc-button__label+.mat-icon,.mat-mdc-raised-button .mdc-button__label+.mat-icon,.mat-mdc-outlined-button .mdc-button__label+.mat-icon{margin-left:8px;margin-right:-4px}[dir=rtl] .mat-mdc-unelevated-button .mdc-button__label+.mat-icon,[dir=rtl] .mat-mdc-raised-button .mdc-button__label+.mat-icon,[dir=rtl] .mat-mdc-outlined-button .mdc-button__label+.mat-icon,.mat-mdc-unelevated-button .mdc-button__label+.mat-icon[dir=rtl],.mat-mdc-raised-button .mdc-button__label+.mat-icon[dir=rtl],.mat-mdc-outlined-button .mdc-button__label+.mat-icon[dir=rtl]{margin-left:-4px;margin-right:8px}.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 e})(),Ihe=(()=>{class e extends AB{constructor(t,i,r,o){super(t,i,r,o),this._rippleLoader.configureRipple(this._elementRef.nativeElement,{centered:!0})}static#e=this.\u0275fac=function(i){return new(i||e)(T(Ft),T(Xn),T(ot),T($i,8))};static#t=this.\u0275cmp=Tt({type:e,selectors:[["button","mat-icon-button",""]],hostVars:7,hostBindings:function(i,r){2&i&&(hn("disabled",r.disabled||null),Ct("_mat-animation-noopable","NoopAnimations"===r._animationMode)("mat-unthemed",!r.color)("mat-mdc-button-base",!0))},inputs:{disabled:"disabled",disableRipple:"disableRipple",color:"color"},exportAs:["matButton"],features:[dt],attrs:She,ngContentSelectors:Dhe,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&&(bi(),rt(0,"span",0),_t(1),rt(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{height:var(--mdc-icon-button-state-layer-size);width:var(--mdc-icon-button-state-layer-size);color:var(--mdc-icon-button-icon-color);--mdc-icon-button-state-layer-size:48px;--mdc-icon-button-icon-size:24px;--mdc-icon-button-disabled-icon-color:black;--mdc-icon-button-disabled-icon-opacity:0.38}.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{opacity:var(--mdc-icon-button-disabled-icon-opacity)}.mat-mdc-icon-button:disabled{color:var(--mdc-icon-button-disabled-icon-color)}.mat-mdc-icon-button{padding:12px;font-size:var(--mdc-icon-button-icon-size);border-radius:50%;flex-shrink:0;text-align:center;-webkit-tap-highlight-color:rgba(0,0,0,0)}.mat-mdc-icon-button svg{vertical-align:baseline}.mat-mdc-icon-button[disabled]{cursor:default;pointer-events:none;opacity:1}.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;background-color:var(--mat-mdc-button-persistent-ripple-color)}.mat-mdc-icon-button .mat-ripple-element{background-color:var(--mat-mdc-button-ripple-color)}.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-mdc-button-touch-target{position:absolute;top:50%;height:48px;left:50%;width:48px;transform:translate(-50%, -50%)}.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 e})(),xS=(()=>{class e{static#e=this.\u0275fac=function(i){return new(i||e)};static#t=this.\u0275mod=Rt({type:e});static#n=this.\u0275inj=kt({imports:[Cn,zg,Cn]})}return e})();class MB extends Y{constructor(n=1/0,t=1/0,i=Dw){super(),this._bufferSize=n,this._windowTime=t,this._timestampProvider=i,this._buffer=[],this._infiniteTimeWindow=!0,this._infiniteTimeWindow=t===1/0,this._bufferSize=Math.max(1,n),this._windowTime=Math.max(1,t)}next(n){const{isStopped:t,_buffer:i,_infiniteTimeWindow:r,_timestampProvider:o,_windowTime:a}=this;t||(i.push(n),!r&&i.push(o.now()+a)),this._trimBuffer(),super.next(n)}_subscribe(n){this._throwIfClosed(),this._trimBuffer();const t=this._innerSubscribe(n),{_infiniteTimeWindow:i,_buffer:r}=this,o=r.slice();for(let a=0;athis._resizeSubject.next(t)))}observe(n){return this._elementObservables.has(n)||this._elementObservables.set(n,new pt(t=>{const i=this._resizeSubject.subscribe(t);return this._resizeObserver?.observe(n,{box:this._box}),()=>{this._resizeObserver?.unobserve(n),i.unsubscribe(),this._elementObservables.delete(n)}}).pipe(Pr(t=>t.some(i=>i.target===n)),function Ohe(e,n,t){let i,r=!1;return e&&"object"==typeof e?({bufferSize:i=1/0,windowTime:n=1/0,refCount:r=!1,scheduler:t}=e):i=e??1/0,hc({connector:()=>new MB(i,n,t),resetOnError:!0,resetOnComplete:!1,resetOnRefCountZero:r})}({bufferSize:1,refCount:!0}),Bo(this._destroyed))),this._elementObservables.get(n)}destroy(){this._destroyed.next(),this._destroyed.complete(),this._resizeSubject.complete(),this._elementObservables.clear()}}let Phe=(()=>{class e{constructor(){this._observers=new Map,this._ngZone=vt(ot)}ngOnDestroy(){for(const[,t]of this._observers)t.destroy();this._observers.clear()}observe(t,i){const r=i?.box||"content-box";return this._observers.has(r)||this._observers.set(r,new Rhe(r)),this._observers.get(r).observe(t)}static#e=this.\u0275fac=function(i){return new(i||e)};static#t=this.\u0275prov=Se({token:e,factory:e.\u0275fac,providedIn:"root"})}return e})();const Nhe=["notch"],Fhe=["matFormFieldNotchedOutline",""],Lhe=["*"],Bhe=["textField"],Vhe=["iconPrefixContainer"],jhe=["textPrefixContainer"];function zhe(e,n){1&e&&rt(0,"span",19)}function Hhe(e,n){if(1&e&&(j(0,"label",17),_t(1,1),et(2,zhe,1,0,"span",18),W()),2&e){const t=st(2);Ae("floating",t._shouldLabelFloat())("monitorResize",t._hasOutline())("id",t._labelId),hn("for",t._control.id),ye(2),Ae("ngIf",!t.hideRequiredMarker&&t._control.required)}}function $he(e,n){1&e&&et(0,Hhe,3,5,"label",16),2&e&&Ae("ngIf",st()._hasFloatingLabel())}function Uhe(e,n){1&e&&rt(0,"div",20)}function Ghe(e,n){}function Whe(e,n){1&e&&et(0,Ghe,0,0,"ng-template",22),2&e&&(st(2),Ae("ngTemplateOutlet",er(1)))}function Yhe(e,n){if(1&e&&(j(0,"div",21),et(1,Whe,1,1,"ng-template",9),W()),2&e){const t=st();Ae("matFormFieldNotchedOutlineOpen",t._shouldLabelFloat()),ye(1),Ae("ngIf",!t._forceDisplayInfixLabel())}}function qhe(e,n){1&e&&(j(0,"div",23,24),_t(2,2),W())}function Khe(e,n){1&e&&(j(0,"div",25,26),_t(2,3),W())}function Xhe(e,n){}function Zhe(e,n){1&e&&et(0,Xhe,0,0,"ng-template",22),2&e&&(st(),Ae("ngTemplateOutlet",er(1)))}function Qhe(e,n){1&e&&(j(0,"div",27),_t(1,4),W())}function Jhe(e,n){1&e&&(j(0,"div",28),_t(1,5),W())}function efe(e,n){1&e&&rt(0,"div",29)}function tfe(e,n){1&e&&(j(0,"div",30),_t(1,6),W()),2&e&&Ae("@transitionMessages",st()._subscriptAnimationState)}function nfe(e,n){if(1&e&&(j(0,"mat-hint",34),Pe(1),W()),2&e){const t=st(2);Ae("id",t._hintLabelId),ye(1),io(t.hintLabel)}}function ife(e,n){if(1&e&&(j(0,"div",31),et(1,nfe,2,2,"mat-hint",32),_t(2,7),rt(3,"div",33),_t(4,8),W()),2&e){const t=st();Ae("@transitionMessages",t._subscriptAnimationState),ye(1),Ae("ngIf",t.hintLabel)}}const rfe=["*",[["mat-label"]],[["","matPrefix",""],["","matIconPrefix",""]],[["","matTextPrefix",""]],[["","matTextSuffix",""]],[["","matSuffix",""],["","matIconSuffix",""]],[["mat-error"],["","matError",""]],[["mat-hint",3,"align","end"]],[["mat-hint","align","end"]]],ofe=["*","mat-label","[matPrefix], [matIconPrefix]","[matTextPrefix]","[matTextSuffix]","[matSuffix], [matIconSuffix]","mat-error, [matError]","mat-hint:not([align='end'])","mat-hint[align='end']"];let xu=(()=>{class e{static#e=this.\u0275fac=function(i){return new(i||e)};static#t=this.\u0275dir=Me({type:e,selectors:[["mat-label"]]})}return e})();const afe=new Ce("MatError");let sfe=0,IB=(()=>{class e{constructor(){this.align="start",this.id="mat-mdc-hint-"+sfe++}static#e=this.\u0275fac=function(i){return new(i||e)};static#t=this.\u0275dir=Me({type:e,selectors:[["mat-hint"]],hostAttrs:[1,"mat-mdc-form-field-hint","mat-mdc-form-field-bottom-align"],hostVars:4,hostBindings:function(i,r){2&i&&(yd("id",r.id),hn("align",null),Ct("mat-mdc-form-field-hint-end","end"===r.align))},inputs:{align:"align",id:"id"}})}return e})();const cfe=new Ce("MatPrefix"),lfe=new Ce("MatSuffix"),OB=new Ce("FloatingLabelParent");let RB=(()=>{class e{get floating(){return this._floating}set floating(t){this._floating=t,this.monitorResize&&this._handleResize()}get monitorResize(){return this._monitorResize}set monitorResize(t){this._monitorResize=t,this._monitorResize?this._subscribeToResize():this._resizeSubscription.unsubscribe()}constructor(t){this._elementRef=t,this._floating=!1,this._monitorResize=!1,this._resizeObserver=vt(Phe),this._ngZone=vt(ot),this._parent=vt(OB),this._resizeSubscription=new ee}ngOnDestroy(){this._resizeSubscription.unsubscribe()}getWidth(){return function dfe(e){if(null!==e.offsetParent)return e.scrollWidth;const t=e.cloneNode(!0);t.style.setProperty("position","absolute"),t.style.setProperty("transform","translate(-9999px, -9999px)"),document.documentElement.appendChild(t);const i=t.scrollWidth;return t.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||e)(T(Ft))};static#t=this.\u0275dir=Me({type:e,selectors:[["label","matFormFieldFloatingLabel",""]],hostAttrs:[1,"mdc-floating-label","mat-mdc-floating-label"],hostVars:2,hostBindings:function(i,r){2&i&&Ct("mdc-floating-label--float-above",r.floating)},inputs:{floating:"floating",monitorResize:"monitorResize"}})}return e})();const PB="mdc-line-ripple--active",vy="mdc-line-ripple--deactivating";let NB=(()=>{class e{constructor(t,i){this._elementRef=t,this._handleTransitionEnd=r=>{const o=this._elementRef.nativeElement.classList,a=o.contains(vy);"opacity"===r.propertyName&&a&&o.remove(PB,vy)},i.runOutsideAngular(()=>{t.nativeElement.addEventListener("transitionend",this._handleTransitionEnd)})}activate(){const t=this._elementRef.nativeElement.classList;t.remove(vy),t.add(PB)}deactivate(){this._elementRef.nativeElement.classList.add(vy)}ngOnDestroy(){this._elementRef.nativeElement.removeEventListener("transitionend",this._handleTransitionEnd)}static#e=this.\u0275fac=function(i){return new(i||e)(T(Ft),T(ot))};static#t=this.\u0275dir=Me({type:e,selectors:[["div","matFormFieldLineRipple",""]],hostAttrs:[1,"mdc-line-ripple"]})}return e})(),FB=(()=>{class e{constructor(t,i){this._elementRef=t,this._ngZone=i,this.open=!1}ngAfterViewInit(){const t=this._elementRef.nativeElement.querySelector(".mdc-floating-label");t?(this._elementRef.nativeElement.classList.add("mdc-notched-outline--upgraded"),"function"==typeof requestAnimationFrame&&(t.style.transitionDuration="0s",this._ngZone.runOutsideAngular(()=>{requestAnimationFrame(()=>t.style.transitionDuration="")}))):this._elementRef.nativeElement.classList.add("mdc-notched-outline--no-label")}_setNotchWidth(t){this._notch.nativeElement.style.width=this.open&&t?`calc(${t}px * var(--mat-mdc-form-field-floating-label-scale, 0.75) + 9px)`:""}static#e=this.\u0275fac=function(i){return new(i||e)(T(Ft),T(ot))};static#t=this.\u0275cmp=Tt({type:e,selectors:[["div","matFormFieldNotchedOutline",""]],viewQuery:function(i,r){if(1&i&&wi(Nhe,5),2&i){let o;Vt(o=jt())&&(r._notch=o.first)}},hostAttrs:[1,"mdc-notched-outline"],hostVars:2,hostBindings:function(i,r){2&i&&Ct("mdc-notched-outline--notched",r.open)},inputs:{open:["matFormFieldNotchedOutlineOpen","open"]},attrs:Fhe,ngContentSelectors:Lhe,decls:5,vars:0,consts:[[1,"mdc-notched-outline__leading"],[1,"mdc-notched-outline__notch"],["notch",""],[1,"mdc-notched-outline__trailing"]],template:function(i,r){1&i&&(bi(),rt(0,"div",0),j(1,"div",1,2),_t(3),W(),rt(4,"div",3))},encapsulation:2,changeDetection:0})}return e})();const ufe={transitionMessages:Qh("transitionMessages",[Xa("enter",ar({opacity:1,transform:"translateY(0%)"})),Lc("void => enter",[ar({opacity:0,transform:"translateY(-5px)"}),Fc("300ms cubic-bezier(0.55, 0, 0.55, 0.2)")])])};let LB=(()=>{class e{static#e=this.\u0275fac=function(i){return new(i||e)};static#t=this.\u0275dir=Me({type:e})}return e})();const BB=new Ce("MatFormField"),hfe=new Ce("MAT_FORM_FIELD_DEFAULT_OPTIONS");let VB=0,_y=(()=>{class e{get hideRequiredMarker(){return this._hideRequiredMarker}set hideRequiredMarker(t){this._hideRequiredMarker=rn(t)}get floatLabel(){return this._floatLabel||this._defaults?.floatLabel||"auto"}set floatLabel(t){t!==this._floatLabel&&(this._floatLabel=t,this._changeDetectorRef.markForCheck())}get appearance(){return this._appearance}set appearance(t){const i=this._appearance;this._appearance=t||this._defaults?.appearance||"fill","outline"===this._appearance&&this._appearance!==i&&(this._needsOutlineLabelOffsetUpdateOnStable=!0)}get subscriptSizing(){return this._subscriptSizing||this._defaults?.subscriptSizing||"fixed"}set subscriptSizing(t){this._subscriptSizing=t||this._defaults?.subscriptSizing||"fixed"}get hintLabel(){return this._hintLabel}set hintLabel(t){this._hintLabel=t,this._processHints()}get _control(){return this._explicitFormFieldControl||this._formFieldControl}set _control(t){this._explicitFormFieldControl=t}constructor(t,i,r,o,a,s,c,l){this._elementRef=t,this._changeDetectorRef=i,this._ngZone=r,this._dir=o,this._platform=a,this._defaults=s,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-"+VB++,this._hintLabelId="mat-mdc-hint-"+VB++,this._subscriptAnimationState="",this._destroyed=new Y,this._isFocused=null,this._needsOutlineLabelOffsetUpdateOnStable=!1,s&&(s.appearance&&(this.appearance=s.appearance),this._hideRequiredMarker=!!s?.hideRequiredMarker,s.color&&(this.color=s.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 t=this._control;t.controlType&&this._elementRef.nativeElement.classList.add(`mat-mdc-form-field-type-${t.controlType}`),t.stateChanges.subscribe(()=>{this._updateFocusState(),this._syncDescribedByIds(),this._changeDetectorRef.markForCheck()}),t.ngControl&&t.ngControl.valueChanges&&t.ngControl.valueChanges.pipe(Bo(this._destroyed)).subscribe(()=>this._changeDetectorRef.markForCheck())}_checkPrefixAndSuffixTypes(){this._hasIconPrefix=!!this._prefixChildren.find(t=>!t._isText),this._hasTextPrefix=!!this._prefixChildren.find(t=>t._isText),this._hasIconSuffix=!!this._suffixChildren.find(t=>!t._isText),this._hasTextSuffix=!!this._suffixChildren.find(t=>t._isText)}_initializePrefixAndSuffix(){this._checkPrefixAndSuffixTypes(),To(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(Bo(this._destroyed)).subscribe(()=>{this._needsOutlineLabelOffsetUpdateOnStable&&(this._needsOutlineLabelOffsetUpdateOnStable=!1,this._updateOutlineLabelOffset())})}),this._dir.change.pipe(Bo(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(t){const i=this._control?this._control.ngControl:null;return i&&i[t]}_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 t=[];if(this._control.userAriaDescribedBy&&"string"==typeof this._control.userAriaDescribedBy&&t.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?t.push(i.id):this._hintLabel&&t.push(this._hintLabelId),r&&t.push(r.id)}else this._errorChildren&&t.push(...this._errorChildren.map(i=>i.id));this._control.setDescribedByIds(t)}}_updateOutlineLabelOffset(){if(!this._platform.isBrowser||!this._hasOutline()||!this._floatingLabel)return;const t=this._floatingLabel.element;if(!this._iconPrefixContainer&&!this._textPrefixContainer)return void(t.style.transform="");if(!this._isAttachedToDom())return void(this._needsOutlineLabelOffsetUpdateOnStable=!0);const i=this._iconPrefixContainer?.nativeElement,r=this._textPrefixContainer?.nativeElement,o=i?.getBoundingClientRect().width??0,a=r?.getBoundingClientRect().width??0;t.style.transform=`var(\n --mat-mdc-form-field-label-transform,\n translateY(-50%) translateX(calc(${"rtl"===this._dir.value?"-1":"1"} * (${o+a}px + var(--mat-mdc-form-field-label-offset-x, 0px))))\n )`}_isAttachedToDom(){const t=this._elementRef.nativeElement;if(t.getRootNode){const i=t.getRootNode();return i&&i!==t}return document.documentElement.contains(t)}static#e=this.\u0275fac=function(i){return new(i||e)(T(Ft),T(No),T(ot),T(Yh),T(Xn),T(hfe,8),T($i,8),T(qt))};static#t=this.\u0275cmp=Tt({type:e,selectors:[["mat-form-field"]],contentQueries:function(i,r,o){if(1&i&&(oi(o,xu,5),oi(o,xu,7),oi(o,LB,5),oi(o,cfe,5),oi(o,lfe,5),oi(o,afe,5),oi(o,IB,5)),2&i){let a;Vt(a=jt())&&(r._labelChildNonStatic=a.first),Vt(a=jt())&&(r._labelChildStatic=a.first),Vt(a=jt())&&(r._formFieldControl=a.first),Vt(a=jt())&&(r._prefixChildren=a),Vt(a=jt())&&(r._suffixChildren=a),Vt(a=jt())&&(r._errorChildren=a),Vt(a=jt())&&(r._hintChildren=a)}},viewQuery:function(i,r){if(1&i&&(wi(Bhe,5),wi(Vhe,5),wi(jhe,5),wi(RB,5),wi(FB,5),wi(NB,5)),2&i){let o;Vt(o=jt())&&(r._textField=o.first),Vt(o=jt())&&(r._iconPrefixContainer=o.first),Vt(o=jt())&&(r._textPrefixContainer=o.first),Vt(o=jt())&&(r._floatingLabel=o.first),Vt(o=jt())&&(r._notchedOutline=o.first),Vt(o=jt())&&(r._lineRipple=o.first)}},hostAttrs:[1,"mat-mdc-form-field"],hostVars:42,hostBindings:function(i,r){2&i&&Ct("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"],features:[Yt([{provide:BB,useExisting:e},{provide:OB,useExisting:e}])],ngContentSelectors:ofe,decls:18,vars:23,consts:[["labelTemplate",""],[1,"mat-mdc-text-field-wrapper","mdc-text-field",3,"click"],["textField",""],["class","mat-mdc-form-field-focus-overlay",4,"ngIf"],[1,"mat-mdc-form-field-flex"],["matFormFieldNotchedOutline","",3,"matFormFieldNotchedOutlineOpen",4,"ngIf"],["class","mat-mdc-form-field-icon-prefix",4,"ngIf"],["class","mat-mdc-form-field-text-prefix",4,"ngIf"],[1,"mat-mdc-form-field-infix"],[3,"ngIf"],["class","mat-mdc-form-field-text-suffix",4,"ngIf"],["class","mat-mdc-form-field-icon-suffix",4,"ngIf"],["matFormFieldLineRipple","",4,"ngIf"],[1,"mat-mdc-form-field-subscript-wrapper","mat-mdc-form-field-bottom-align",3,"ngSwitch"],["class","mat-mdc-form-field-error-wrapper",4,"ngSwitchCase"],["class","mat-mdc-form-field-hint-wrapper",4,"ngSwitchCase"],["matFormFieldFloatingLabel","",3,"floating","monitorResize","id",4,"ngIf"],["matFormFieldFloatingLabel","",3,"floating","monitorResize","id"],["aria-hidden","true","class","mat-mdc-form-field-required-marker mdc-floating-label--required",4,"ngIf"],["aria-hidden","true",1,"mat-mdc-form-field-required-marker","mdc-floating-label--required"],[1,"mat-mdc-form-field-focus-overlay"],["matFormFieldNotchedOutline","",3,"matFormFieldNotchedOutlineOpen"],[3,"ngTemplateOutlet"],[1,"mat-mdc-form-field-icon-prefix"],["iconPrefixContainer",""],[1,"mat-mdc-form-field-text-prefix"],["textPrefixContainer",""],[1,"mat-mdc-form-field-text-suffix"],[1,"mat-mdc-form-field-icon-suffix"],["matFormFieldLineRipple",""],[1,"mat-mdc-form-field-error-wrapper"],[1,"mat-mdc-form-field-hint-wrapper"],[3,"id",4,"ngIf"],[1,"mat-mdc-form-field-hint-spacer"],[3,"id"]],template:function(i,r){1&i&&(bi(rfe),et(0,$he,1,1,"ng-template",null,0,Ed),j(2,"div",1,2),Be("click",function(a){return r._control.onContainerClick(a)}),et(4,Uhe,1,0,"div",3),j(5,"div",4),et(6,Yhe,2,2,"div",5),et(7,qhe,3,0,"div",6),et(8,Khe,3,0,"div",7),j(9,"div",8),et(10,Zhe,1,1,"ng-template",9),_t(11),W(),et(12,Qhe,2,0,"div",10),et(13,Jhe,2,0,"div",11),W(),et(14,efe,1,0,"div",12),W(),j(15,"div",13),et(16,tfe,2,1,"div",14),et(17,ife,5,2,"div",15),W()),2&i&&(ye(2),Ct("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),ye(2),Ae("ngIf",!r._hasOutline()&&!r._control.disabled),ye(2),Ae("ngIf",r._hasOutline()),ye(1),Ae("ngIf",r._hasIconPrefix),ye(1),Ae("ngIf",r._hasTextPrefix),ye(2),Ae("ngIf",!r._hasOutline()||r._forceDisplayInfixLabel()),ye(2),Ae("ngIf",r._hasTextSuffix),ye(1),Ae("ngIf",r._hasIconSuffix),ye(1),Ae("ngIf",!r._hasOutline()),ye(1),Ct("mat-mdc-form-field-subscript-dynamic-size","dynamic"===r.subscriptSizing),Ae("ngSwitch",r._getDisplayedMessages()),ye(1),Ae("ngSwitchCase","error"),ye(1),Ae("ngSwitchCase","hint"))},dependencies:[co,Bx,vg,TI,IB,RB,FB,NB],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-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{transform:translateY(-34.75px) scale(0.75)}.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-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{transform:translateY(-24.75px) scale(0.75)}.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-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{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-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{--mdc-filled-text-field-active-indicator-height:1px;--mdc-filled-text-field-focus-active-indicator-height:2px;--mdc-filled-text-field-container-shape:4px;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.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-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{--mdc-outlined-text-field-outline-width:1px;--mdc-outlined-text-field-focus-outline-width:2px;--mdc-outlined-text-field-container-shape:4px}.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.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-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-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}.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}.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-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}.mat-mdc-form-field-focus-overlay{top:0;left:0;right:0;bottom:0;position:absolute;opacity:0;pointer-events:none}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}.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}[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-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%}.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,[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-icon-prefix>.mat-icon,.mat-mdc-form-field-icon-suffix>.mat-icon{padding:12px;box-sizing:content-box}.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:[ufe.transitionMessages]},changeDetection:0})}return e})(),yy=(()=>{class e{static#e=this.\u0275fac=function(i){return new(i||e)};static#t=this.\u0275mod=Rt({type:e});static#n=this.\u0275inj=kt({imports:[Cn,Wa,Mw,Cn]})}return e})();const HB=$h({passive:!0});let mfe=(()=>{class e{constructor(t,i){this._platform=t,this._ngZone=i,this._monitoredElements=new Map}monitor(t){if(!this._platform.isBrowser)return Co;const i=qa(t),r=this._monitoredElements.get(i);if(r)return r.subject;const o=new Y,a="cdk-text-field-autofilled",s=c=>{"cdk-text-field-autofill-start"!==c.animationName||i.classList.contains(a)?"cdk-text-field-autofill-end"===c.animationName&&i.classList.contains(a)&&(i.classList.remove(a),this._ngZone.run(()=>o.next({target:c.target,isAutofilled:!1}))):(i.classList.add(a),this._ngZone.run(()=>o.next({target:c.target,isAutofilled:!0})))};return this._ngZone.runOutsideAngular(()=>{i.addEventListener("animationstart",s,HB),i.classList.add("cdk-text-field-autofill-monitored")}),this._monitoredElements.set(i,{subject:o,unlisten:()=>{i.removeEventListener("animationstart",s,HB)}}),o}stopMonitoring(t){const i=qa(t),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((t,i)=>this.stopMonitoring(i))}static#e=this.\u0275fac=function(i){return new(i||e)(N(Xn),N(ot))};static#t=this.\u0275prov=Se({token:e,factory:e.\u0275fac,providedIn:"root"})}return e})(),gfe=(()=>{class e{get minRows(){return this._minRows}set minRows(t){this._minRows=pa(t),this._setMinHeight()}get maxRows(){return this._maxRows}set maxRows(t){this._maxRows=pa(t),this._setMaxHeight()}get enabled(){return this._enabled}set enabled(t){t=rn(t),this._enabled!==t&&((this._enabled=t)?this.resizeToFitContent(!0):this.reset())}get placeholder(){return this._textareaElement.placeholder}set placeholder(t){this._cachedPlaceholderHeight=void 0,t?this._textareaElement.setAttribute("placeholder",t):this._textareaElement.removeAttribute("placeholder"),this._cacheTextareaPlaceholderHeight()}constructor(t,i,r,o){this._elementRef=t,this._platform=i,this._ngZone=r,this._destroyed=new Y,this._enabled=!0,this._previousMinRows=-1,this._isViewInited=!1,this._handleFocusEvent=a=>{this._hasFocus="focus"===a.type},this._document=o,this._textareaElement=this._elementRef.nativeElement}_setMinHeight(){const t=this.minRows&&this._cachedLineHeight?this.minRows*this._cachedLineHeight+"px":null;t&&(this._textareaElement.style.minHeight=t)}_setMaxHeight(){const t=this.maxRows&&this._cachedLineHeight?this.maxRows*this._cachedLineHeight+"px":null;t&&(this._textareaElement.style.maxHeight=t)}ngAfterViewInit(){this._platform.isBrowser&&(this._initialHeight=this._textareaElement.style.height,this.resizeToFitContent(),this._ngZone.runOutsideAngular(()=>{iv(this._getWindow(),"resize").pipe(d1(16),Bo(this._destroyed)).subscribe(()=>this.resizeToFitContent(!0)),this._textareaElement.addEventListener("focus",this._handleFocusEvent),this._textareaElement.addEventListener("blur",this._handleFocusEvent)}),this._isViewInited=!0,this.resizeToFitContent(!0))}ngOnDestroy(){this._textareaElement.removeEventListener("focus",this._handleFocusEvent),this._textareaElement.removeEventListener("blur",this._handleFocusEvent),this._destroyed.next(),this._destroyed.complete()}_cacheTextareaLineHeight(){if(this._cachedLineHeight)return;let t=this._textareaElement.cloneNode(!1);t.rows=1,t.style.position="absolute",t.style.visibility="hidden",t.style.border="none",t.style.padding="0",t.style.height="",t.style.minHeight="",t.style.maxHeight="",t.style.overflow="hidden",this._textareaElement.parentNode.appendChild(t),this._cachedLineHeight=t.clientHeight,t.remove(),this._setMinHeight(),this._setMaxHeight()}_measureScrollHeight(){const t=this._textareaElement,i=t.style.marginBottom||"",r=this._platform.FIREFOX,o=r&&this._hasFocus,a=r?"cdk-textarea-autosize-measuring-firefox":"cdk-textarea-autosize-measuring";o&&(t.style.marginBottom=`${t.clientHeight}px`),t.classList.add(a);const s=t.scrollHeight-4;return t.classList.remove(a),o&&(t.style.marginBottom=i),s}_cacheTextareaPlaceholderHeight(){if(!this._isViewInited||null!=this._cachedPlaceholderHeight)return;if(!this.placeholder)return void(this._cachedPlaceholderHeight=0);const t=this._textareaElement.value;this._textareaElement.value=this._textareaElement.placeholder,this._cachedPlaceholderHeight=this._measureScrollHeight(),this._textareaElement.value=t}ngDoCheck(){this._platform.isBrowser&&this.resizeToFitContent()}resizeToFitContent(t=!1){if(!this._enabled||(this._cacheTextareaLineHeight(),this._cacheTextareaPlaceholderHeight(),!this._cachedLineHeight))return;const i=this._elementRef.nativeElement,r=i.value;if(!t&&this._minRows===this._previousMinRows&&r===this._previousValue)return;const o=this._measureScrollHeight(),a=Math.max(o,this._cachedPlaceholderHeight||0);i.style.height=`${a}px`,this._ngZone.runOutsideAngular(()=>{typeof requestAnimationFrame<"u"?requestAnimationFrame(()=>this._scrollToCaretPosition(i)):setTimeout(()=>this._scrollToCaretPosition(i))}),this._previousValue=r,this._previousMinRows=this._minRows}reset(){void 0!==this._initialHeight&&(this._textareaElement.style.height=this._initialHeight)}_noopInputHandler(){}_getDocument(){return this._document||document}_getWindow(){return this._getDocument().defaultView||window}_scrollToCaretPosition(t){const{selectionStart:i,selectionEnd:r}=t;!this._destroyed.isStopped&&this._hasFocus&&t.setSelectionRange(i,r)}static#e=this.\u0275fac=function(i){return new(i||e)(T(Ft),T(Xn),T(ot),T(qt,8))};static#t=this.\u0275dir=Me({type:e,selectors:[["textarea","cdkTextareaAutosize",""]],hostAttrs:["rows","1",1,"cdk-textarea-autosize"],hostBindings:function(i,r){1&i&&Be("input",function(){return r._noopInputHandler()})},inputs:{minRows:["cdkAutosizeMinRows","minRows"],maxRows:["cdkAutosizeMaxRows","maxRows"],enabled:["cdkTextareaAutosize","enabled"],placeholder:"placeholder"},exportAs:["cdkTextareaAutosize"]})}return e})(),vfe=(()=>{class e{static#e=this.\u0275fac=function(i){return new(i||e)};static#t=this.\u0275mod=Rt({type:e});static#n=this.\u0275inj=kt({})}return e})();const _fe=new Ce("MAT_INPUT_VALUE_ACCESSOR"),yfe=["button","checkbox","file","hidden","image","radio","range","reset","submit"];let bfe=0;const xfe=uX(class{constructor(e,n,t,i){this._defaultErrorStateMatcher=e,this._parentForm=n,this._parentFormGroup=t,this.ngControl=i,this.stateChanges=new Y}});let UB,xp=(()=>{class e extends xfe{get disabled(){return this._disabled}set disabled(t){this._disabled=rn(t),this.focused&&(this.focused=!1,this.stateChanges.next())}get id(){return this._id}set id(t){this._id=t||this._uid}get required(){return this._required??this.ngControl?.control?.hasValidator(pq.required)??!1}set required(t){this._required=rn(t)}get type(){return this._type}set type(t){this._type=t||"text",this._validateType(),!this._isTextarea&&iR().has(this._type)&&(this._elementRef.nativeElement.type=this._type)}get value(){return this._inputValueAccessor.value}set value(t){t!==this.value&&(this._inputValueAccessor.value=t,this.stateChanges.next())}get readonly(){return this._readonly}set readonly(t){this._readonly=rn(t)}constructor(t,i,r,o,a,s,c,l,d,u){super(s,o,a,r),this._elementRef=t,this._platform=i,this._autofillMonitor=l,this._formField=u,this._uid="mat-input-"+bfe++,this.focused=!1,this.stateChanges=new Y,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=>iR().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(()=>{t.nativeElement.addEventListener("keyup",this._iOSKeyupListener)}),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(t=>{this.autofilled=t.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(t){this._elementRef.nativeElement.focus(t)}_focusChanged(t){t!==this.focused&&(this.focused=t,this.stateChanges.next())}_onInput(){}_dirtyCheckNativeValue(){const t=this._elementRef.nativeElement.value;this._previousNativeValue!==t&&(this._previousNativeValue=t,this.stateChanges.next())}_dirtyCheckPlaceholder(){const t=this._getPlaceholder();if(t!==this._previousPlaceholder){const i=this._elementRef.nativeElement;this._previousPlaceholder=t,t?i.setAttribute("placeholder",t):i.removeAttribute("placeholder")}}_getPlaceholder(){return this.placeholder||null}_validateType(){yfe.indexOf(this._type)}_isNeverEmpty(){return this._neverEmptyInputTypes.indexOf(this._type)>-1}_isBadInput(){let t=this._elementRef.nativeElement.validity;return t&&t.badInput}get empty(){return!(this._isNeverEmpty()||this._elementRef.nativeElement.value||this._isBadInput()||this.autofilled)}get shouldLabelFloat(){if(this._isNativeSelect){const t=this._elementRef.nativeElement,i=t.options[0];return this.focused||t.multiple||!this.empty||!!(t.selectedIndex>-1&&i&&i.label)}return this.focused||!this.empty}setDescribedByIds(t){t.length?this._elementRef.nativeElement.setAttribute("aria-describedby",t.join(" ")):this._elementRef.nativeElement.removeAttribute("aria-describedby")}onContainerClick(){this.focused||this.focus()}_isInlineSelect(){const t=this._elementRef.nativeElement;return this._isNativeSelect&&(t.multiple||t.size>1)}static#e=this.\u0275fac=function(i){return new(i||e)(T(Ft),T(Xn),T(Ya,10),T(jh,8),T(Ad,8),T(fX),T(_fe,10),T(mfe),T(ot),T(BB,8))};static#t=this.\u0275dir=Me({type:e,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&&Be("focus",function(){return r._focusChanged(!0)})("blur",function(){return r._focusChanged(!1)})("input",function(){return r._onInput()}),2&i&&(yd("id",r.id)("disabled",r.disabled)("required",r.required),hn("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),Ct("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:["aria-describedby","userAriaDescribedBy"],value:"value",readonly:"readonly"},exportAs:["matInput"],features:[Yt([{provide:LB,useExisting:e}]),dt,Tr]})}return e})(),$B=(()=>{class e{static#e=this.\u0275fac=function(i){return new(i||e)};static#t=this.\u0275mod=Rt({type:e});static#n=this.\u0275inj=kt({imports:[Cn,yy,yy,vfe,Cn]})}return e})(),wfe=(()=>{class e{constructor(t,i,r){this.fb=t,this.dialogRef=i,this.activity=r.activity,this.activityLabel=r.activity.businessObject.name,this.numberIsAllowedMultipleTimes=r.numberIsAllowedMultipleTimes,this.activityNumber=r.activity.businessObject.number,this.showNumberFields=r.showNumberFields,this.saveFN=r.saveFN,this.form=this.fb.group({activityLabel:[this.activityLabel,[]],activityNumber:[this.activityNumber,[]],multipleNumbers:[this.numberIsAllowedMultipleTimes,[]]})}onSubmit(){this.numberIsAllowedMultipleTimes=!this.numberIsAllowedMultipleTimes,this.form.patchValue({multipleNumbers:this.numberIsAllowedMultipleTimes})}save(){this.saveFN({activity:this.activity,...this.form.value}),this.dialogRef.close()}close(){this.dialogRef.close()}preventDefault(t){t.preventDefault()}static#e=this.\u0275fac=function(i){return new(i||e)(T(xw),T(Fd),T(dv))};static#t=this.\u0275cmp=Tt({type:e,selectors:[["app-activity-dialog"]],decls:20,vars:2,consts:[[3,"formGroup"],[3,"hidden"],[1,"shortWidth"],["matInput","","type","number","formControlName","activityNumber"],["type","checkbox","formControlName","multipleNumbers",3,"change"],[1,"fullWidth"],["matInput","","type","text","formControlName","activityLabel","autofocus","","cdkFocusInitial","",3,"keydown.enter","keyup.enter","keyup.escape"],["mat-flat-button","",3,"click"],["mat-flat-button","","color","primary",3,"click"]],template:function(i,r){1&i&&(j(0,"mat-dialog-content")(1,"h2"),Pe(2,"Edit Activity"),W(),j(3,"form",0)(4,"div",1)(5,"mat-form-field",2)(6,"mat-label"),Pe(7,"Number"),W(),rt(8,"input",3),W(),j(9,"input",4),Be("change",function(){return r.onSubmit()}),W(),Pe(10," multiple "),W(),j(11,"mat-form-field",5)(12,"mat-label"),Pe(13,"Label"),W(),j(14,"textarea",6),Be("keydown.enter",function(a){return r.preventDefault(a)})("keyup.enter",function(){return r.save()})("keyup.escape",function(){return r.close()}),W()()()(),j(15,"mat-dialog-actions")(16,"button",7),Be("click",function(){return r.close()}),Pe(17,"Cancel"),W(),j(18,"button",8),Be("click",function(){return r.save()}),Pe(19,"Save"),W()()),2&i&&(ye(3),Ae("formGroup",r.form),ye(1),Ae("hidden",!r.showNumberFields))},dependencies:[Og,Rh,hw,Jx,iw,Eg,Ad,Rg,ps,Ld,lf,_y,xu,xp],styles:[".shortWidth[_ngcontent-%COMP%]{width:200px}.fullWidth[_ngcontent-%COMP%]{width:100%} .mat-form-field-label{font-size:12pt!important}"]})}return e})();let GB=(()=>{class e{constructor(t,i){this.elementRegistryService=t,this.commandStackService=i}massChangeNames(t,i,r){const o=[];this.elementRegistryService.getAllCanvasObjects().forEach(s=>{s.type.includes(r)&&s.businessObject.name===t&&o.push(s)}),this.commandStackService.execute("domainStoryObjects.massRename",{elements:o,newValue:i})}static#e=this.\u0275fac=function(i){return new(i||e)(N(jo),N(b1))};static#t=this.\u0275prov=Se({token:e,factory:e.\u0275fac,providedIn:"root"})}return e})(),wS=(()=>{class e{constructor(t,i,r){this.massNamingService=t,this.elementRegistryService=i,this.iconDictionaryService=r,this.activityLabels=[],this.workObjektLabels=[]}createLabelDictionaries(){this.activityLabels=[],this.workObjektLabels=[],this.elementRegistryService.getAllCanvasObjects().forEach(i=>{const r=i.businessObject.name;if(r&&r.length>0&&i.type.includes(Z.ACTIVITY)&&!this.activityLabels.map(o=>o.name).includes(r))this.activityLabels.push({name:r,originalName:r});else if(r&&r.length>0&&i.type.includes(Z.WORKOBJECT)&&!this.workObjektLabels.map(o=>o.name).includes(r)){const o=i.type.replace(Z.WORKOBJECT,"");let a=this.iconDictionaryService.getIconSource(o);if(!a)return;a.startsWith("data")||(a="data:image/svg+xml,"+a),this.workObjektLabels.push({name:r,originalName:r,icon:a})}}),this.activityLabels.sort((i,r)=>i.name.toLowerCase().localeCompare(r.name.toLowerCase())),this.workObjektLabels.sort((i,r)=>i.name.toLowerCase().localeCompare(r.name.toLowerCase()))}getActivityLabels(){return this.activityLabels.slice()}getWorkObjectLabels(){return this.workObjektLabels.slice()}getUniqueWorkObjectNames(){const t=this.elementRegistryService.getAllWorkobjects();return[...new Set(t.filter(i=>!!i.businessObject.name).map(i=>i.businessObject.name))]}massRenameLabels(t,i,r,o){for(let a=0;a{class e{constructor(){this.replayOnSubject=new Qt(!1),this.replayOn$=this.replayOnSubject.asObservable()}setReplayState(t){this.replayOnSubject.next(t)}getReplayOn(){return this.replayOnSubject.value}static#e=this.\u0275fac=function(i){return new(i||e)};static#t=this.\u0275prov=Se({token:e,factory:e.\u0275fac,providedIn:"root"})}return e})();var Tfe=J(625),Afe=J.n(Tfe);let Lfe=(()=>{class e{constructor(t){this.elementRegistryService=t}showAll(){this.removeHighlights(),this.elementRegistryService.getAllCanvasObjects().slice().concat(this.elementRegistryService.getAllGroups().slice()).map(t=>t.businessObject).forEach(t=>{document.querySelector("[data-element-id="+t.id+"]").style.display="block"})}showStep(t,i){this.removeHighlights(),this.getAllNotShown(t.objects).forEach(o=>{const a=document.querySelector("[data-element-id="+o.id+"]");a&&(a.style.display="none")}),this.hightlightStep(i?t.objects.filter(o=>!i.objects.includes(o)):t.objects),t.objects.forEach(o=>{const a=document.querySelector("[data-element-id="+o.id+"]");a&&(a.style.display="block")})}getNumberDomForActivity(t){const i=t.parentElement?.getElementsByClassName("djs-labelNumber")||["",""];return{numberBackgroundDom:i[0],numberTextDom:i[1]}}removeHighlights(){const t=this.elementRegistryService.getAllActivities(),i=this.elementRegistryService.getAllConnections();t.forEach(r=>{const o=document.querySelector("[data-element-id="+r.id+"]");if(o){const a=o.getElementsByTagName("polyline")[0];a.style.stroke=r.businessObject.pickedColor||"black",a.style.strokeWidth="1.5";const{numberBackgroundDom:s,numberTextDom:c}=this.getNumberDomForActivity(a);s&&c&&(s.style.fill="white",c.style.fill="black")}}),i.forEach(r=>{const o=document.querySelector("[data-element-id="+r.id+"]").getElementsByTagName("polyline")[0];o.style.stroke=r.businessObject.pickedColor||"black",o.style.strokeWidth="1.5"})}hightlightStep(t){t.filter(i=>i.type===Z.ACTIVITY).forEach(i=>{const r=document.querySelector("[data-element-id="+i.id+"]");if(r){const o=r.getElementsByTagName("polyline")[0];o.style.stroke="black",o.style.strokeWidth="4";const{numberBackgroundDom:a,numberTextDom:s}=this.getNumberDomForActivity(o);s&&a&&(a.style.fill="#43acbf",s.style.fill="black")}})}getAllNotShown(t){const i=[];return this.elementRegistryService.getAllCanvasObjects().concat(this.elementRegistryService.getAllGroups()).forEach(o=>{t.includes(o.businessObject)||(o.type.includes(Z.CONNECTION)&&o.source.type.includes(Z.GROUP)?t.push(o.target):i.push(o.businessObject))}),i}static#e=this.\u0275fac=function(i){return new(i||e)(N(jo))};static#t=this.\u0275prov=Se({token:e,factory:e.\u0275fac,providedIn:"root"})}return e})(),Bfe=(()=>{class e{constructor(t){this.elementRegistryService=t}traceActivitiesAndCreateStory(){const t=new tn,i=[];this.elementRegistryService.getActivitiesFromActors().forEach(o=>{const a=Number(o.businessObject.number),s=t.get(""+(a-1))?t.get(""+(a-1)):[];s.push(o),t.set(""+(a-1),s)});for(let o=0;os.id);i>0&&r[i-1].objects.forEach(s=>{o.includes(s)||o.push(s)}),r[i]={highlightedObjects:a,objects:o}}getMissingSteps(t){if(!t||0===t.length)return[];const i=[];let r=!0;for(let o=0;o0)||t[o].objects.filter(a=>a.type===Z.ACTIVITY).length<=0)&&(i.push(o+1),r=!1);return i}getStepObjects(t){const i=[],r=t,o=[];return t.forEach(a=>{i.push(a.source),o.push(a.target);for(const c of o)c.businessObject&&!c.businessObject.type.includes("actor")&&c.outgoing&&c.outgoing.forEach(l=>{r.push(l);const d=l.target;d&&!o.includes(d)&&o.push(d)})}),i.map(a=>a.businessObject).concat(r.map(a=>a.businessObject)).concat(o.map(a=>a.businessObject))}addGroupStep(t){const i=this.elementRegistryService.getAllGroups();i.length>0&&t.push({highlightedObjects:[],objects:i.map(r=>r.businessObject).concat(t[t.length-1].objects)})}static#e=this.\u0275fac=function(i){return new(i||e)(N(jo))};static#t=this.\u0275prov=Se({token:e,factory:e.\u0275fac,providedIn:"root"})}return e})();function Vfe(e,n){if(1&e){const t=tr();j(0,"div",2)(1,"button",3),Be("click",function(){return yn(t),bn(st().action())}),Pe(2),W()()}if(2&e){const t=st();ye(2),$a(" ",t.data.action," ")}}const jfe=["label"];function zfe(e,n){}const Hfe=Math.pow(2,31)-1;class ES{constructor(n,t){this._overlayRef=t,this._afterDismissed=new Y,this._afterOpened=new Y,this._onAction=new Y,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,Hfe))}_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 WB=new Ce("MatSnackBarData");class by{constructor(){this.politeness="assertive",this.announcementMessage="",this.duration=0,this.data=null,this.horizontalPosition="center",this.verticalPosition="bottom"}}let $fe=(()=>{class e{static#e=this.\u0275fac=function(i){return new(i||e)};static#t=this.\u0275dir=Me({type:e,selectors:[["","matSnackBarLabel",""]],hostAttrs:[1,"mat-mdc-snack-bar-label","mdc-snackbar__label"]})}return e})(),Ufe=(()=>{class e{static#e=this.\u0275fac=function(i){return new(i||e)};static#t=this.\u0275dir=Me({type:e,selectors:[["","matSnackBarActions",""]],hostAttrs:[1,"mat-mdc-snack-bar-actions","mdc-snackbar__actions"]})}return e})(),Gfe=(()=>{class e{static#e=this.\u0275fac=function(i){return new(i||e)};static#t=this.\u0275dir=Me({type:e,selectors:[["","matSnackBarAction",""]],hostAttrs:[1,"mat-mdc-snack-bar-action","mdc-snackbar__action"]})}return e})(),Wfe=(()=>{class e{constructor(t,i){this.snackBarRef=t,this.data=i}action(){this.snackBarRef.dismissWithAction()}get hasAction(){return!!this.data.action}static#e=this.\u0275fac=function(i){return new(i||e)(T(ES),T(WB))};static#t=this.\u0275cmp=Tt({type:e,selectors:[["simple-snack-bar"]],hostAttrs:[1,"mat-mdc-simple-snack-bar"],exportAs:["matSnackBar"],decls:3,vars:2,consts:[["matSnackBarLabel",""],["matSnackBarActions","",4,"ngIf"],["matSnackBarActions",""],["mat-button","","matSnackBarAction","",3,"click"]],template:function(i,r){1&i&&(j(0,"div",0),Pe(1),W(),et(2,Vfe,3,1,"div",1)),2&i&&(ye(1),$a(" ",r.data.message,"\n"),ye(1),Ae("ngIf",r.hasAction))},dependencies:[co,ps,$fe,Ufe,Gfe],styles:[".mat-mdc-simple-snack-bar{display:flex}"],encapsulation:2,changeDetection:0})}return e})();const Yfe={snackBarState:Qh("state",[Xa("void, hidden",ar({transform:"scale(0.8)",opacity:0})),Xa("visible",ar({transform:"scale(1)",opacity:1})),Lc("* => visible",Fc("150ms cubic-bezier(0, 0, 0.2, 1)")),Lc("* => void, * => hidden",Fc("75ms cubic-bezier(0.4, 0.0, 1, 1)",ar({opacity:0})))])};let qfe=0,Kfe=(()=>{class e extends sv{constructor(t,i,r,o,a){super(),this._ngZone=t,this._elementRef=i,this._changeDetectorRef=r,this._platform=o,this.snackBarConfig=a,this._document=vt(qt),this._trackedModals=new Set,this._announceDelay=150,this._destroyed=!1,this._onAnnounce=new Y,this._onExit=new Y,this._onEnter=new Y,this._animationState="void",this._liveElementId="mat-snack-bar-container-live-"+qfe++,this.attachDomPortal=s=>{this._assertNotAttached();const c=this._portalOutlet.attachDomPortal(s);return this._afterPortalAttached(),c},this._live="assertive"!==a.politeness||a.announcementMessage?"off"===a.politeness?"off":"polite":"assertive",this._platform.FIREFOX&&("polite"===this._live&&(this._role="status"),"assertive"===this._live&&(this._role="alert"))}attachComponentPortal(t){this._assertNotAttached();const i=this._portalOutlet.attachComponentPortal(t);return this._afterPortalAttached(),i}attachTemplatePortal(t){this._assertNotAttached();const i=this._portalOutlet.attachTemplatePortal(t);return this._afterPortalAttached(),i}onAnimationEnd(t){const{fromState:i,toState:r}=t;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.detectChanges(),this._screenReaderAnnounce())}exit(){return this._ngZone.run(()=>{this._animationState="hidden",this._elementRef.nativeElement.setAttribute("mat-exit",""),clearTimeout(this._announceTimeoutId)}),this._onExit}ngOnDestroy(){this._destroyed=!0,this._clearFromModals(),this._completeExit()}_completeExit(){this._ngZone.onMicrotaskEmpty.pipe(Ps(1)).subscribe(()=>{this._ngZone.run(()=>{this._onExit.next(),this._onExit.complete()})})}_afterPortalAttached(){const t=this._elementRef.nativeElement,i=this.snackBarConfig.panelClass;i&&(Array.isArray(i)?i.forEach(r=>t.classList.add(r)):t.classList.add(i)),this._exposeToModals()}_exposeToModals(){const t=this._liveElementId,i=this._document.querySelectorAll('body > .cdk-overlay-container [aria-modal="true"]');for(let r=0;r{const i=t.getAttribute("aria-owns");if(i){const r=i.replace(this._liveElementId,"").trim();r.length>0?t.setAttribute("aria-owns",r):t.removeAttribute("aria-owns")}}),this._trackedModals.clear()}_assertNotAttached(){this._portalOutlet.hasAttached()}_screenReaderAnnounce(){this._announceTimeoutId||this._ngZone.runOutsideAngular(()=>{this._announceTimeoutId=setTimeout(()=>{const t=this._elementRef.nativeElement.querySelector("[aria-hidden]"),i=this._elementRef.nativeElement.querySelector("[aria-live]");if(t&&i){let r=null;this._platform.isBrowser&&document.activeElement instanceof HTMLElement&&t.contains(document.activeElement)&&(r=document.activeElement),t.removeAttribute("aria-hidden"),i.appendChild(t),r?.focus(),this._onAnnounce.next(),this._onAnnounce.complete()}},this._announceDelay)})}static#e=this.\u0275fac=function(i){return new(i||e)(T(ot),T(Ft),T(No),T(Xn),T(by))};static#t=this.\u0275dir=Me({type:e,viewQuery:function(i,r){if(1&i&&wi(Pd,7),2&i){let o;Vt(o=jt())&&(r._portalOutlet=o.first)}},features:[dt]})}return e})(),Xfe=(()=>{class e extends Kfe{_afterPortalAttached(){super._afterPortalAttached();const t=this._label.nativeElement,i="mdc-snackbar__label";t.classList.toggle(i,!t.querySelector(`.${i}`))}static#e=this.\u0275fac=function(){let t;return function(r){return(t||(t=Kn(e)))(r||e)}}();static#t=this.\u0275cmp=Tt({type:e,selectors:[["mat-snack-bar-container"]],viewQuery:function(i,r){if(1&i&&wi(jfe,7),2&i){let o;Vt(o=jt())&&(r._label=o.first)}},hostAttrs:[1,"mdc-snackbar","mat-mdc-snack-bar-container","mdc-snackbar--open"],hostVars:1,hostBindings:function(i,r){1&i&&F0("@state.done",function(a){return r.onAnimationEnd(a)}),2&i&&U0("@state",r._animationState)},features:[dt],decls:6,vars:3,consts:[[1,"mdc-snackbar__surface"],[1,"mat-mdc-snack-bar-label"],["label",""],["aria-hidden","true"],["cdkPortalOutlet",""]],template:function(i,r){1&i&&(j(0,"div",0)(1,"div",1,2)(3,"div",3),et(4,zfe,0,0,"ng-template",4),W(),rt(5,"div"),W()()),2&i&&(ye(5),hn("aria-live",r._live)("role",r._role)("id",r._liveElementId))},dependencies:[Pd],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;--mdc-snackbar-container-shape:4px;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-mdc-button-persistent-ripple-color: currentColor}.mat-mdc-snack-bar-container .mat-mdc-button.mat-mdc-snack-bar-action:not(:disabled) .mat-ripple-element{background-color:currentColor;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:[Yfe.snackBarState]}})}return e})(),CS=(()=>{class e{static#e=this.\u0275fac=function(i){return new(i||e)};static#t=this.\u0275mod=Rt({type:e});static#n=this.\u0275inj=kt({imports:[p1,Nd,Wa,xS,Cn,Cn]})}return e})();const YB=new Ce("mat-snack-bar-default-options",{providedIn:"root",factory:function Zfe(){return new by}});let Qfe=(()=>{class e{get _openedSnackBarRef(){const t=this._parentSnackBar;return t?t._openedSnackBarRef:this._snackBarRefAtThisLevel}set _openedSnackBarRef(t){this._parentSnackBar?this._parentSnackBar._openedSnackBarRef=t:this._snackBarRefAtThisLevel=t}constructor(t,i,r,o,a,s){this._overlay=t,this._live=i,this._injector=r,this._breakpointObserver=o,this._parentSnackBar=a,this._defaultConfig=s,this._snackBarRefAtThisLevel=null}openFromComponent(t,i){return this._attach(t,i)}openFromTemplate(t,i){return this._attach(t,i)}open(t,i="",r){const o={...this._defaultConfig,...r};return o.data={message:t,action:i},o.announcementMessage===t&&(o.announcementMessage=void 0),this.openFromComponent(this.simpleSnackBarComponent,o)}dismiss(){this._openedSnackBarRef&&this._openedSnackBarRef.dismiss()}ngOnDestroy(){this._snackBarRefAtThisLevel&&this._snackBarRefAtThisLevel.dismiss()}_attachSnackBarContainer(t,i){const o=ri.create({parent:i&&i.viewContainerRef&&i.viewContainerRef.injector||this._injector,providers:[{provide:by,useValue:i}]}),a=new sf(this.snackBarContainerComponent,i.viewContainerRef,o),s=t.attach(a);return s.instance.snackBarConfig=i,s.instance}_attach(t,i){const r={...new by,...this._defaultConfig,...i},o=this._createOverlay(r),a=this._attachSnackBarContainer(o,r),s=new ES(a,o);if(t instanceof ro){const c=new av(t,null,{$implicit:r.data,snackBarRef:s});s.instance=a.attachTemplatePortal(c)}else{const c=this._createInjector(r,s),l=new sf(t,void 0,c),d=a.attachComponentPortal(l);s.instance=d.instance}return this._breakpointObserver.observe("(max-width: 599.98px) and (orientation: portrait)").pipe(Bo(o.detachments())).subscribe(c=>{o.overlayElement.classList.toggle(this.handsetCssClass,c.matches)}),r.announcementMessage&&a._onAnnounce.subscribe(()=>{this._live.announce(r.announcementMessage,r.politeness)}),this._animateSnackBar(s,r),this._openedSnackBarRef=s,this._openedSnackBarRef}_animateSnackBar(t,i){t.afterDismissed().subscribe(()=>{this._openedSnackBarRef==t&&(this._openedSnackBarRef=null),i.announcementMessage&&this._live.clear()}),this._openedSnackBarRef?(this._openedSnackBarRef.afterDismissed().subscribe(()=>{t.containerInstance.enter()}),this._openedSnackBarRef.dismiss()):t.containerInstance.enter(),i.duration&&i.duration>0&&t.afterOpened().subscribe(()=>t._dismissAfter(i.duration))}_createOverlay(t){const i=new f1;i.direction=t.direction;let r=this._overlay.position().global();const o="rtl"===t.direction,a="left"===t.horizontalPosition||"start"===t.horizontalPosition&&!o||"end"===t.horizontalPosition&&o,s=!a&&"center"!==t.horizontalPosition;return a?r.left("0"):s?r.right("0"):r.centerHorizontally(),"top"===t.verticalPosition?r.top("0"):r.bottom("0"),i.positionStrategy=r,this._overlay.create(i)}_createInjector(t,i){return ri.create({parent:t&&t.viewContainerRef&&t.viewContainerRef.injector||this._injector,providers:[{provide:ES,useValue:i},{provide:WB,useValue:t.data}]})}static#e=this.\u0275fac=function(i){return new(i||e)(N(Ls),N(ER),N(ri),N(Ow),N(e,12),N(YB))};static#t=this.\u0275prov=Se({token:e,factory:e.\u0275fac})}return e})(),dl=(()=>{class e extends Qfe{constructor(t,i,r,o,a,s){super(t,i,r,o,a,s),this.simpleSnackBarComponent=Wfe,this.snackBarContainerComponent=Xfe,this.handsetCssClass="mat-mdc-snack-bar-handset"}static#e=this.\u0275fac=function(i){return new(i||e)(N(Ls),N(ER),N(ri),N(Ow),N(e,12),N(YB))};static#t=this.\u0275prov=Se({token:e,factory:e.\u0275fac,providedIn:CS})}return e})(),Ep=(()=>{class e{constructor(t,i,r,o){this.replayStateService=t,this.domManipulationService=i,this.storyCreatorService=r,this.snackbar=o,this.story=[],this.currentStep=new Qt(-1),this.maxStepNumber=new Qt(0),this.currentStep$=this.currentStep.asObservable(),this.maxStepNumber$=this.maxStepNumber.asObservable()}initializeReplay(){this.currentStep.next(1),this.story=this.storyCreatorService.traceActivitiesAndCreateStory(),this.maxStepNumber.next(this.story.length)}getCurrentStepNumber(){return this.currentStep.value}getMaxStepNumber(){return this.maxStepNumber.value}nextStep(){this.currentStep.value1&&(this.currentStep.next(this.currentStep.value-1),this.showCurrentStep())}showCurrentStep(){this.domManipulationService.showStep(this.story[this.currentStep.value-1],this.currentStep.value>1?this.story[this.currentStep.value-2]:void 0)}startReplay(){if(this.initializeReplay(),this.story?.length){const t=this.storyCreatorService.getMissingSteps(this.story);if(0===t.length)this.replayStateService.setReplayState(!0),this.domManipulationService.showStep(this.story[this.currentStep.getValue()-1]);else{const i=t.join(", ");this.snackbar.open(1===i.length?`The Domain Story is not complete. Step ${i} is missing.`:`The Domain Story is not complete. Steps ${i} are missing.`,void 0,{duration:4e3,panelClass:Bs})}}else this.snackbar.open("You need a Domain Story for replay.",void 0,{duration:4e3,panelClass:Bs})}stopReplay(){this.currentStep.next(-1),this.maxStepNumber.next(0),this.replayStateService.setReplayState(!1),this.domManipulationService.showAll()}static#e=this.\u0275fac=function(i){return new(i||e)(N(wp),N(Lfe),N(Bfe),N(dl))};static#t=this.\u0275prov=Se({token:e,factory:e.\u0275fac,providedIn:"root"})}return e})(),qB=(()=>{class e{constructor(t,i){this.replayService=t,this.titleService=i}setModelerClasses(t,i,r){this.modeler=r}static viewBoxCoordinates(t){return t.match(/width="([^"]+)"\s+height="([^"]+)"\s+viewBox="([^"]+)"/)[3]}downloadHTMLPresentation(t){var i=this;return uN(function*(){const r=[];i.replayService.startReplay();try{const l=yield i.modeler.saveSVG({});i.fixActivityMarkersForEachStep(l,i.replayService.getCurrentStepNumber()),r.push({content:e.createSVGData(l.svg),transition:"slide"})}catch(l){alert("There was an error exporting the SVG.\n"+l)}for(;i.replayService.getCurrentStepNumber()"),t.svg.indexOf("")+7),o=r.split("{const d=l.substring(4,l.length-1),u=d.slice(0,l.length-5)+"customId"+i+d.slice(d.length-2);t.svg=t.svg.replaceAll(d,u)}),a+='{class e{constructor(t,i,r,o,a,s,c,l,d,u){this.dirtyFlagService=t,this.iconDictionaryService=i,this.elementRegistryService=r,this.configurationService=o,this.labelDictionaryService=a,this.replayStateService=s,this.dialogService=c,this.commandStackService=l,this.titleService=d,this.htmlPresentationService=u}initializeDomainStoryModelerClasses(){(function dhe(e,n){my=e,_p=n})(this.dirtyFlagService,this.iconDictionaryService),function ehe(e,n){ll=e,Jue=n}(this.iconDictionaryService,this.configurationService),function Que(e,n,t){pS=e,xB=n,mS=t}(this.iconDictionaryService,this.elementRegistryService,this.dirtyFlagService),function Lue(e){lB=e}(this.labelDictionaryService),function fhe(e){yp=e}(this.iconDictionaryService),function Hue(e){fS=e}(this.elementRegistryService),function Cfe(e){UB=e}(this.elementRegistryService)}propagateDomainStoryModelerClassesToServices(t,i,r,o,a){this.commandStackService.setCommandStack(t),this.elementRegistryService.setElementRegistry(i),this.htmlPresentationService.setModelerClasses(r,o,a)}initializeDomainStoryModelerEventHandlers(t,i){(function Sfe(e,n){e.registerHandler("activity.directionChange",function i(r){this.preExecute=function(o){o.oldNumber=o.businessObject.number,o.oldWaypoints=o.element.waypoints,o.name=o.businessObject.name,o.oldNumber||(o.oldNumber=0),r.updateNumber(o.businessObject,o.newNumber)},this.execute=function(o){let a=o.businessObject,s=o.element,c=s.source,l=[],d=s.waypoints;for(let u=d.length-1;u>=0;u--)l.push(d[u]);s.source=s.target,a.source=a.target,s.target=c,a.target=c.id,a.name=o.name,a.number=o.newNumber,s.waypoints=l,n.fire("element.changed",{element:s})},this.revert=function(o){let a=o.businessObject,s=o.element,c=s.source;s.source=s.target,a.source=a.target,s.target=c,a.target=c.id,a.name=o.name,a.number=o.oldNumber,s.waypoints=o.oldWaypoints,n.fire("element.changed",{element:s})}}),e.registerHandler("activity.changed",function t(r){this.preExecute=function(o){o.oldLabel=o.businessObject.name||" ";let a=function Gue(){let e=[],n=fS.getActivitiesFromActors();for(let t=n.length-1;t>=0;t--)e.push({id:n[t].businessObject.id,number:n[t].businessObject.number});return e}();r.updateLabel(o.businessObject,o.newLabel),r.updateNumber(o.businessObject,o.newNumber),o.oldNumber=o.businessObject.number,o.oldNumbersWithIDs=a},this.execute=function(o){let a=o.businessObject,s=o.element;o.newLabel&&o.newLabel.length<1&&(o.newLabel=" "),a.name=o.newLabel,a.number=o.newNumber,n.fire("element.changed",{element:s})},this.revert=function(o){let a=o.businessObject,s=o.element;a.name=o.oldLabel,a.number=o.oldNumber,function Dfe(e,n){let t=UB?.getActivitesFromActors();for(let i=t.length-1;i>=0;i--)for(let r=e.length-1;r>=0;r--)if(e[r].id.includes(t[i].businessObject.id)){let o=t[i];o.businessObject.number=e[r].number,r=-5,n.fire("element.changed",{element:o}),e.splice(r,1)}}(o.oldNumbersWithIDs,n),n.fire("element.changed",{element:s})}})})(t,i),function Efe(e,n){e.registerHandler("domainStoryObjects.massRename",function t(i){this.preExecute=function(r){let o=r.elements;r.oldLabel=o[0].businessObject.name,o.forEach(a=>{i.updateLabel(a.businessObject,confirm.newValue)})},this.execute=function(r){r.elements.forEach(a=>{a.businessObject.name=r.newValue,n.fire("element.changed",{element:a})})},this.revert=function(r){r.elements.forEach(a=>{a.businessObject.name=r.oldLabel,n.fire("element.changed",{element:a})})}})}(t,i),function kfe(e,n){e.registerHandler("element.colorChange",function t(){this.preExecute=function(r){r.oldColor=r.businessObject.pickedColor},this.execute=function(r){let a=r.element;r.businessObject.pickedColor=r.newColor,n.fire("element.changed",{element:a})},this.revert=function(r){let a=r.element;r.businessObject.pickedColor=r.oldColor,n.fire("element.changed",{element:a})}}),e.registerHandler("shape.removeGroupWithoutChildren",function i(){this.preExecute=function(r){r.parent=r.element.parent,r.children=r.element.children.slice()},this.execute=function(r){let o=r.element;r.children.forEach(a=>{(function Tue(e,n){const t=e.parent;e.children.remove(n),t.children.add(n),n.parent=t;const i=document.querySelector("[data-element-id="+n.id+"]").parentElement,r=i.parentElement,o=r.parentElement.parentElement;r.removeChild(i),o.appendChild(i)})(o,a),n.fire("element.changed",{element:a})}),n.fire("shape.remove",{element:o})},this.revert=function(r){let o=r.element;n.fire("shape.added",{element:o}),r.element.children.forEach(a=>{reworkGroupElements(o,a)})}})}(t,i),yS(t,this.titleService)}initiateEventBusListeners(t,i){t.on("element.dblclick",r=>{if(!this.replayStateService.getReplayOn()){const o=r.element;if(o.type===Z.ACTIVITY)this.activityDoubleClick(o,t,i);else{const a=function que(){return mB.slice(0)}();if(a.length>1){const s=this.elementRegistryService.getActivitiesFromActors();if(s.length>0){const c=document.getElementById("canvas");if(c){let E,f=c.getElementsByClassName("djs-container")[0].getElementsByTagName("svg")[0].getElementsByClassName("viewport")[0].getAttribute("transform"),p=0,g=0,v=1,k=1;const C=r.originalEvent.offsetX,x=r.originalEvent.offsetY;f&&(f=f.replace("matrix(",""),f.replace(")",""),E=f.split(","),v=parseFloat(E[0]),k=parseFloat(E[3]),p=parseInt(E[4],void 0),g=parseInt(E[5],void 0));const D=25*v,P=22*k;for(let V=1;V{Ht.businessObject.number===de&&jue(D,P,we,je,C,x)&&this.activityDoubleClick(Ht,t,i)})}}}}}}}}),t.on(["element.click","element.dblclick","element.mousedown","drag.init","canvas.viewbox.changing","autoPlace","popupMenu.open"],1e10,r=>{this.replayStateService.getReplayOn()&&(r.stopPropagation(),r.preventDefault())})}activityDoubleClick(t,i,r){const o=t.source;!function Vue(e){sy=e}(!1);const a=new uo;a.disableClose=!1,a.autoFocus=!0,t.businessObject.number&&o&&o.type.includes(Z.ACTOR)?a.data=new TB(t,yB()[t.businessObject.number],!0,s=>this.saveActivityInputLabel(s,i,r)):o&&o.type.includes(Z.WORKOBJECT)&&(a.data=new TB(t,!1,!1,s=>this.saveActivityInputLabel(s,i,r))),this.dialogService.openDialog(wfe,a)}saveActivityInputLabel(t,i,r){const o=t.activityLabel,a=t.activityNumber??!1,s=t.activityNumber,c=t.multipleNumbers??!1,l=t.activity,d=this.elementRegistryService.getActivitiesFromActors(),u=d.indexOf(l);let h;d.splice(u,1),a&&function Yue(e,n){gB[e]=n}(s,c),l.businessObject.multipleNumberAllowed=c,h=a?{businessObject:l.businessObject,newLabel:o,newNumber:s,element:l}:{businessObject:l.businessObject,newLabel:o,element:l},r.execute("activity.changed",h),!1!==l.businessObject.multipleNumberAllowed?!1===yB()[s]&&_B(d,s,i):!1===l.businessObject.multipleNumberAllowed&&_B(d,s,i)}static#e=this.\u0275fac=function(i){return new(i||e)(N(_v),N(Qa),N(jo),N($c),N(wS),N(wp),N(df),N(b1),N(Br),N(qB))};static#t=this.\u0275prov=Se({token:e,factory:e.\u0275fac,providedIn:"root"})}return e})();function Cp(e){const n=new tn,t=new tn;return Object.keys(e.actors).forEach(i=>{n.add(e.actors[i],i)}),Object.keys(e.workObjects).forEach(i=>{t.add(e.workObjects[i],i)}),{name:e.name,actors:n,workObjects:t}}structuredClone({$descriptor:void 0,$type:void 0,di:void 0,get:void 0,set:void 0,id:"test",name:"test",type:Z.WORKOBJECT,x:0,y:0,height:38,width:38,pickedColor:void 0}).type=Z.ACTOR;let xy=(()=>{class e{set(t,i){localStorage.setItem(t,JSON.stringify(i))}get(t){const i=localStorage.getItem(t);return i?JSON.parse(i):null}removeItem(t){localStorage.removeItem(t)}checkValidityOfConfiguration(t){return t.actors.keysArray().length>1&&t.workObjects.keysArray().length>1&&!t.actors.all().some(i=>"string"!=typeof i.value)&&!t.workObjects.all().some(i=>"string"!=typeof i.value)}getStoredDomainConfiguration(){const t=localStorage.getItem(tN);if(t){const i=Cp(JSON.parse(t));if(this.checkValidityOfConfiguration(i))return i}}setStoredDomainConfiguration(t){const i={};t.actors.keysArray().forEach(a=>{i[a]=t.actors.get(a)});const r={};t.workObjects.keysArray().forEach(a=>{r[a]=t.workObjects.get(a)}),localStorage.setItem(tN,JSON.stringify({name:t.name,actors:i,workObjects:r},null,2))}static#e=this.\u0275fac=function(i){return new(i||e)};static#t=this.\u0275prov=Se({token:e,factory:e.\u0275fac,providedIn:"root"})}return e})(),wu=(()=>{class e{constructor(t,i,r,o,a){this.initializerService=t,this.elementRegistryService=i,this.iconDictionaryService=r,this.domainConfigurationService=o,this.storageService=a}postInit(){const t=this.storageService.getStoredDomainConfiguration();t&&(this.iconDictionaryService.setCusomtConfiguration(t),this.domainConfigurationService.loadConfiguration(t)),this.initializerService.initializeDomainStoryModelerClasses(),this.modeler=new ka({container:"#canvas",keyboard:{bindTo:document},additionalModules:[{bpmnSearch:["value","foo"]}]}),this.modeler.get&&(this.canvas=this.modeler.get("canvas"),this.elementRegistry=this.modeler.get("elementRegistry"),this.eventBus=this.modeler.get("eventBus"),this.commandStack=this.modeler.get("commandStack"),this.selection=this.modeler.get("selection")),this.initializerService.initializeDomainStoryModelerEventHandlers(this.commandStack,this.eventBus),this.initializerService.propagateDomainStoryModelerClassesToServices(this.commandStack,this.elementRegistry,this.canvas,this.selection,this.modeler);const i=this.debounce(this.saveSVG,500);this.modeler.get&&this.modeler.on("commandStack.changed",i),this.initializerService.initiateEventBusListeners(this.eventBus,this.commandStack),this.modeler.createDiagram(),I(window,{bpmnjs:this.modeler}),this.startDebounce()}restart(t,i){const r=i??this.elementRegistryService.createObjectListForDSTDownload().map(o=>o.businessObject);t||(t=this.storageService.getStoredDomainConfiguration()),t&&(this.storageService.setStoredDomainConfiguration(t),this.iconDictionaryService.setCusomtConfiguration(t),this.domainConfigurationService.loadConfiguration(t)),this.elementRegistryService.clear(),this.modeler?.destroy(),this.postInit(),r&&this.modeler.get&&this.modeler.importCustomElements(r)}getModeler(){return this.modeler}commandStackChanged(){this.eventBus.fire("commandStack.changed",this.debounce(this.saveSVG,500))}startDebounce(){this.debounce(this.saveSVG,500)}debounce(t,i){return()=>{let r;r&&clearTimeout(r),r=setTimeout(()=>{t(this.modeler).then(o=>{this.encoded=o})},i)}}getEncoded(){return this.encoded?this.encoded:""}saveSVG(t){return uN(function*(){try{return(yield t.saveSVG()).svg}catch(i){alert("There was an error saving the SVG.\n"+i)}})()}static#e=this.\u0275fac=function(i){return new(i||e)(N(Jfe),N(jo),N(Qa),N($c),N(xy))};static#t=this.\u0275prov=Se({token:e,factory:e.\u0275fac,providedIn:"root"})}return e})(),npe=(()=>{class e{constructor(t){this.modelerService=t,this.cacheData=""}createSVGData(t,i,r,o,a){this.cacheData=this.modelerService.getEncoded();let h,f,p,g,s=structuredClone(this.cacheData),c=s.indexOf('width="'),{width:l,height:d,viewBox:u}=this.viewBoxCoordinates(s);const v=u.split(/\s/);h=+v[0],p=+v[1],f=+v[2],g=+v[3],f<300&&(f+=300,l+=300);const{insertText:k,extraHeight:E}=cN(t,i,h,p,l);o&&(d+=E+80);const C=this.createBounds(l,d,h,p,f,g,o),x=s.substring(0,c);c=s.indexOf('" version');const D=s.substring(c);D.substring(c),s=x+C+D;const P=this.findIndexToInsertData(s);if(o&&(s=s.slice(0,P)+k+s.slice(P)),a){const V=s.indexOf('width="'),F='style="background-color:white" ';s=s.slice(0,V)+F+s.slice(V)}return this.appendDST(s,r)}findIndexToInsertData(t){let i=t.indexOf("");return i<0?i=t.indexOf('version="1.2">')+14:i+=7,i}createBounds(t,i,r,o,a,s,c){return'width="'+t+'" height=" '+i+'" viewBox="'+r+" "+(c?o-80:o)+" "+a+" "+(s+30)}viewBoxCoordinates(t){const r=t.match(/width="([^"]+)"\s+height="([^"]+)"\s+viewBox="([^"]+)"/);return r?{width:+r[1],height:+r[2],viewBox:r[3]}:{width:0,height:0,viewBox:""}}appendDST(t,i){return t+"\n\x3c!-- \n"+JSON.stringify(i,null,2)+"\n --\x3e"}static#e=this.\u0275fac=function(i){return new(i||e)(N(wu))};static#t=this.\u0275prov=Se({token:e,factory:e.\u0275fac,providedIn:"root"})}return e})(),wy=(()=>{class e{constructor(t,i,r){this.modelerService=t,this.elementRegistryService=i,this.dirtyFlagService=r}renderStory(t){this.modelerService.getModeler().importCustomElements(t)}reset(){this.renderStory([])}importStory(t,i,r,o=!0){this.modelerService.restart(r,t),this.renderStory(t),this.elementRegistryService.correctInitialize(),this.modelerService.commandStackChanged(),this.modelerService.startDebounce(),o&&this.dirtyFlagService.makeClean()}getStory(){return this.elementRegistryService.createObjectListForDSTDownload().map(t=>t.businessObject)}static#e=this.\u0275fac=function(i){return new(i||e)(N(wu),N(jo),N(_v))};static#t=this.\u0275prov=Se({token:e,factory:e.\u0275fac,providedIn:"root"})}return e})(),Ey=(()=>{class e{constructor(t,i,r,o,a,s,c){this.configurationService=t,this.titleService=i,this.dirtyFlagService=r,this.pngService=o,this.svgService=a,this.htmlPresentationService=s,this.rendererService=c,this.title="",this.description="",this.titleSubscription=this.titleService.title$.subscribe(l=>{this.title=l}),this.descriptionSubscription=this.titleService.description$.subscribe(l=>{this.description=l})}ngOnDestroy(){this.titleSubscription.unsubscribe(),this.descriptionSubscription.unsubscribe()}isDomainStoryExportable(){return this.rendererService.getStory().length>=1}createConfigAndDST(t){return new BJ(this.configurationService.getCurrentConfigurationForExport(),t)}downloadDST(){const t=this.getStoryForDownload(),i=this.createConfigAndDST(t),r=JSON.stringify(i,null,2),o=uf(this.title+"_"+this.getCurrentDateString());this.downloadFile(r,"data:text/plain;charset=utf-8,",o,".egn",!0)}downloadFile(t,i,r,o,a){const s=document.createElement("a");s.setAttribute("href",i+encodeURIComponent(t)),s.setAttribute("download",r+o),s.style.display="none",document.body.appendChild(s),s.click(),a&&this.dirtyFlagService.makeClean(),document.body.removeChild(s)}downloadSVG(t,i){const r=this.getStoryForDownload(),o=this.createConfigAndDST(r),a=this.svgService.createSVGData(this.title,this.description,o,t,i);this.downloadFile(a,"data:application/bpmn20-xml;charset=UTF-8,",uf(this.title+"_"+this.getCurrentDateString()),".egn.svg",!0)}downloadPNG(t){const i=document.getElementById("canvas");if(i){const a=i.getElementsByClassName("djs-container")[0].getElementsByTagName("svg")[0],s=a.getElementsByClassName("viewport")[0],c=s.getElementsByClassName("layer-base")[0],l=document.createElement("img");let d=this.pngService.extractSVG(s,a);d=this.pngService.prepareSVG(d,c,this.description,this.title,t),l.onload=()=>{const u=document.createElement("canvas");u.width=this.pngService.getWidth()+10,u.height=this.pngService.getHeight()+10;const h=u.getContext("2d");h&&(h.rect(0,0,u.width,u.height),h.fillStyle="white",h.fill(),h.drawImage(l,0,0));const f=u.toDataURL("image/png"),p=document.createElement("a");p.setAttribute("download",uf(this.title)+"_"+this.getCurrentDateString()+".png"),p.setAttribute("href",f),document.body.appendChild(p),p.click(),document.body.removeChild(p),l.src=""},l.onchange=l.onload,l.width=this.pngService.getWidth(),l.height=this.pngService.getHeight(),l.src="data:image/svg+xml,"+d}}downloadHTMLPresentation(){const t=uf(this.title+"_"+this.getCurrentDateString());this.htmlPresentationService.downloadHTMLPresentation(t).then()}getStoryForDownload(){const t=this.rendererService.getStory();return t.push({info:this.titleService.getDescription()}),t.push({version:"2.0.0"}),t}getCurrentDateString(){return vI(new Date,"YYYY-MM-dd","en-GB")}static#e=this.\u0275fac=function(i){return new(i||e)(N($c),N(Br),N(_v),N(WJ),N(npe),N(qB),N(wy))};static#t=this.\u0275prov=Se({token:e,factory:e.\u0275fac,providedIn:"root"})}return e})(),ipe=(()=>{class e{constructor(t,i,r){this.fb=t,this.dialogRef=i,this.titleService=r,this.title="< name of this Domain Story >"===this.titleService.getTitle()?"":this.titleService.getTitle(),this.description=this.titleService.getDescription(),this.form=this.fb.group({title:[this.title,[]],description:[this.description,[]]})}ngOnInit(){}save(){this.titleService.updateTitleAndDescription(this.form.get("title")?.value,this.form.get("description")?.value,!0),this.dialogRef.close()}close(){this.dialogRef.close()}preventDefault(t){t.preventDefault()}static#e=this.\u0275fac=function(i){return new(i||e)(T(xw),T(Fd),T(Br))};static#t=this.\u0275cmp=Tt({type:e,selectors:[["app-header-dialog"]],decls:16,vars:1,consts:[[3,"formGroup"],[1,"dialogWidth"],["matInput","","type","text","formControlName","title"],["maxlength","2000","matInput","","formControlName","description",1,"descriptionInput",3,"keydown.enter","keyup.enter","keyup.escape"],["mat-flat-button","",3,"click"],["mat-flat-button","","color","primary",3,"click"]],template:function(i,r){1&i&&(j(0,"mat-dialog-content")(1,"form",0)(2,"mat-form-field",1)(3,"mat-label"),Pe(4,"Title"),W(),rt(5,"input",2),W(),rt(6,"br"),j(7,"mat-form-field",1)(8,"mat-label"),Pe(9,"Description"),W(),j(10,"textarea",3),Be("keydown.enter",function(a){return r.preventDefault(a)})("keyup.enter",function(){return r.save()})("keyup.escape",function(){return r.close()}),W()()()(),j(11,"mat-dialog-actions")(12,"button",4),Be("click",function(){return r.close()}),Pe(13,"Cancel"),W(),j(14,"button",5),Be("click",function(){return r.save()}),Pe(15,"Save"),W()()),2&i&&(ye(1),Ae("formGroup",r.form))},dependencies:[Og,Rh,iw,Eg,bw,Ad,Rg,ps,Ld,lf,_y,xu,xp],styles:[".dialogWidth[_ngcontent-%COMP%]{width:50vw}.dialogWidth[_ngcontent-%COMP%] mat-label[_ngcontent-%COMP%]{font-size:12pt}.descriptionInput[_ngcontent-%COMP%]{min-height:75px}"]})}return e})();class rpe{constructor(n,t){this.title=n,this.options=t}}class Cy{constructor(n,t,i){this.text=n,this.tooltip=t,this.fn=i}}function ope(e,n){if(1&e){const t=tr();j(0,"button",3),Be("click",function(){const o=yn(t).index;return bn(st().doOption(o))}),Pe(1),W()}if(2&e){const t=n.$implicit;Ae("title",t.tooltip),ye(1),$a(" ",t.text," ")}}let ape=(()=>{class e{constructor(t,i){this.dialogRef=t,this.withTitle=new Qt(!0),this.useWhiteBackground=new Qt(!0),this.title=i.title,this.options=i.options}ngOnInit(){}doOption(t){this.options[t].fn(this.withTitle.value,this.useWhiteBackground.value),this.close()}close(){this.dialogRef.close()}updateWithTitle(t){this.withTitle.next(t.target.checked)}updateUseWhiteBackground(t){this.useWhiteBackground.next(t.target.checked)}static#e=this.\u0275fac=function(i){return new(i||e)(T(Fd),T(dv))};static#t=this.\u0275cmp=Tt({type:e,selectors:[["app-export-dialog"]],decls:18,vars:8,consts:[["type","checkbox",3,"checked","change"],["mat-flat-button","",3,"click"],["mat-stroked-button","","class","mr-1",3,"title","click",4,"ngFor","ngForOf"],["mat-stroked-button","",1,"mr-1",3,"title","click"]],template:function(i,r){1&i&&(j(0,"mat-dialog-content")(1,"h2"),Pe(2),W(),j(3,"label")(4,"input",0),Be("change",function(a){return r.updateWithTitle(a)}),$t(5,"async"),W(),Pe(6," Add title and description to image "),W(),rt(7,"br"),j(8,"label")(9,"input",0),Be("change",function(a){return r.updateUseWhiteBackground(a)}),$t(10,"async"),W(),Pe(11," Add white background to SVG (default: transparent) "),W()(),j(12,"mat-dialog-actions"),rt(13,"br"),j(14,"div")(15,"button",1),Be("click",function(){return r.close()}),Pe(16,"Cancel"),W(),et(17,ope,2,2,"button",2),W()()),2&i&&(ye(2),io(r.title),ye(2),Ae("checked",Ut(5,4,r.withTitle)),ye(5),Ae("checked",Ut(10,6,r.useWhiteBackground)),ye(8),Ae("ngForOf",r.options))},dependencies:[kd,ps,Ld,lf,fa]})}return e})(),spe=(()=>{class e{static#e=this.\u0275fac=function(i){return new(i||e)};static#t=this.\u0275mod=Rt({type:e});static#n=this.\u0275inj=kt({imports:[Cn,Cn]})}return e})();class SS{get selected(){return this._selected||(this._selected=Array.from(this._selection.values())),this._selected}constructor(n=!1,t,i=!0,r){this._multiple=n,this._emitChanges=i,this.compareWith=r,this._selection=new Set,this._deselectedToEmit=[],this._selectedToEmit=[],this.changed=new Y,t&&t.length&&(n?t.forEach(o=>this._markSelected(o)):this._markSelected(t[0]),this._selectedToEmit.length=0)}select(...n){this._verifyValueAssignment(n),n.forEach(i=>this._markSelected(i));const t=this._hasQueuedChanges();return this._emitChangeEvent(),t}deselect(...n){this._verifyValueAssignment(n),n.forEach(i=>this._unmarkSelected(i));const t=this._hasQueuedChanges();return this._emitChangeEvent(),t}setSelection(...n){this._verifyValueAssignment(n);const t=this.selected,i=new Set(n);n.forEach(o=>this._markSelected(o)),t.filter(o=>!i.has(o)).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 t=this._hasQueuedChanges();return n&&this._emitChangeEvent(),t}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){if(this.compareWith){for(let t of this._selection)if(this.compareWith(n,t))return t;return n}return n}}let KB=(()=>{class e{constructor(){this._listeners=[]}notify(t,i){for(let r of this._listeners)r(t,i)}listen(t){return this._listeners.push(t),()=>{this._listeners=this._listeners.filter(i=>t!==i)}}ngOnDestroy(){this._listeners=[]}static#e=this.\u0275fac=function(i){return new(i||e)};static#t=this.\u0275prov=Se({token:e,factory:e.\u0275fac,providedIn:"root"})}return e})();const XB=["*"],QB=["unscopedContent"],cpe=["text"],lpe=[[["","matListItemAvatar",""],["","matListItemIcon",""]],[["","matListItemTitle",""]],[["","matListItemLine",""]],"*",[["","matListItemMeta",""]],[["mat-divider"]]],dpe=["[matListItemAvatar],[matListItemIcon]","[matListItemTitle]","[matListItemLine]","*","[matListItemMeta]","mat-divider"],JB=new Ce("ListOption");let e6=(()=>{class e{constructor(t){this._elementRef=t}static#e=this.\u0275fac=function(i){return new(i||e)(T(Ft))};static#t=this.\u0275dir=Me({type:e,selectors:[["","matListItemTitle",""]],hostAttrs:[1,"mat-mdc-list-item-title","mdc-list-item__primary-text"]})}return e})(),t6=(()=>{class e{constructor(t){this._elementRef=t}static#e=this.\u0275fac=function(i){return new(i||e)(T(Ft))};static#t=this.\u0275dir=Me({type:e,selectors:[["","matListItemLine",""]],hostAttrs:[1,"mat-mdc-list-item-line","mdc-list-item__secondary-text"]})}return e})(),Tpe=(()=>{class e{static#e=this.\u0275fac=function(i){return new(i||e)};static#t=this.\u0275dir=Me({type:e,selectors:[["","matListItemMeta",""]],hostAttrs:[1,"mat-mdc-list-item-meta","mdc-list-item__end"]})}return e})(),n6=(()=>{class e{constructor(t){this._listOption=t}_isAlignedAtStart(){return!this._listOption||"after"===this._listOption?._getTogglePosition()}static#e=this.\u0275fac=function(i){return new(i||e)(T(JB,8))};static#t=this.\u0275dir=Me({type:e,hostVars:4,hostBindings:function(i,r){2&i&&Ct("mdc-list-item__start",r._isAlignedAtStart())("mdc-list-item__end",!r._isAlignedAtStart())}})}return e})(),Ape=(()=>{class e extends n6{static#e=this.\u0275fac=function(){let t;return function(r){return(t||(t=Kn(e)))(r||e)}}();static#t=this.\u0275dir=Me({type:e,selectors:[["","matListItemAvatar",""]],hostAttrs:[1,"mat-mdc-list-item-avatar"],features:[dt]})}return e})(),Mpe=(()=>{class e extends n6{static#e=this.\u0275fac=function(){let t;return function(r){return(t||(t=Kn(e)))(r||e)}}();static#t=this.\u0275dir=Me({type:e,selectors:[["","matListItemIcon",""]],hostAttrs:[1,"mat-mdc-list-item-icon"],features:[dt]})}return e})();const Ipe=new Ce("MAT_LIST_CONFIG");let Eu=(()=>{class e{constructor(){this._isNonInteractive=!0,this._disableRipple=!1,this._disabled=!1,this._defaultOptions=vt(Ipe,{optional:!0})}get disableRipple(){return this._disableRipple}set disableRipple(t){this._disableRipple=rn(t)}get disabled(){return this._disabled}set disabled(t){this._disabled=rn(t)}static#e=this.\u0275fac=function(i){return new(i||e)};static#t=this.\u0275dir=Me({type:e,hostVars:1,hostBindings:function(i,r){2&i&&hn("aria-disabled",r.disabled)},inputs:{disableRipple:"disableRipple",disabled:"disabled"}})}return e})(),DS=(()=>{class e{set lines(t){this._explicitLines=pa(t,null),this._updateItemLines(!1)}get disableRipple(){return this.disabled||this._disableRipple||this._noopAnimations||!!this._listBase?.disableRipple}set disableRipple(t){this._disableRipple=rn(t)}get disabled(){return this._disabled||!!this._listBase?.disabled}set disabled(t){this._disabled=rn(t)}get rippleDisabled(){return this.disableRipple||!!this.rippleConfig.disabled}constructor(t,i,r,o,a,s){this._elementRef=t,this._ngZone=i,this._listBase=r,this._platform=o,this._explicitLines=null,this._disableRipple=!1,this._disabled=!1,this._subscriptions=new ee,this._rippleRenderer=null,this._hasUnscopedTextContent=!1,this.rippleConfig=a||{},this._hostElement=this._elementRef.nativeElement,this._isButtonElement="button"===this._hostElement.nodeName.toLowerCase(),this._noopAnimations="NoopAnimations"===s,r&&!r._isNonInteractive&&this._initInteractiveListItem(),this._isButtonElement&&!this._hostElement.hasAttribute("type")&&this._hostElement.setAttribute("type","button")}ngAfterViewInit(){this._monitorProjectedLinesAndTitle(),this._updateItemLines(!0)}ngOnDestroy(){this._subscriptions.unsubscribe(),null!==this._rippleRenderer&&this._rippleRenderer._removeTriggerEvents()}_hasIconOrAvatar(){return!(!this._avatars.length&&!this._icons.length)}_initInteractiveListItem(){this._hostElement.classList.add("mat-mdc-list-item-interactive"),this._rippleRenderer=new Xh(this,this._ngZone,this._hostElement,this._platform),this._rippleRenderer.setupTriggerEvents(this._hostElement)}_monitorProjectedLinesAndTitle(){this._ngZone.runOutsideAngular(()=>{this._subscriptions.add(To(this._lines.changes,this._titles.changes).subscribe(()=>this._updateItemLines(!1)))})}_updateItemLines(t){if(!this._lines||!this._titles||!this._unscopedContent)return;t&&this._checkDomForUnscopedTextContent();const i=this._explicitLines??this._inferLinesFromContent(),r=this._unscopedContent.nativeElement;if(this._hostElement.classList.toggle("mat-mdc-list-item-single-line",i<=1),this._hostElement.classList.toggle("mdc-list-item--with-one-line",i<=1),this._hostElement.classList.toggle("mdc-list-item--with-two-lines",2===i),this._hostElement.classList.toggle("mdc-list-item--with-three-lines",3===i),this._hasUnscopedTextContent){const o=0===this._titles.length&&1===i;r.classList.toggle("mdc-list-item__primary-text",o),r.classList.toggle("mdc-list-item__secondary-text",!o)}else r.classList.remove("mdc-list-item__primary-text"),r.classList.remove("mdc-list-item__secondary-text")}_inferLinesFromContent(){let t=this._titles.length+this._lines.length;return this._hasUnscopedTextContent&&(t+=1),t}_checkDomForUnscopedTextContent(){this._hasUnscopedTextContent=Array.from(this._unscopedContent.nativeElement.childNodes).filter(t=>t.nodeType!==t.COMMENT_NODE).some(t=>!(!t.textContent||!t.textContent.trim()))}static#e=this.\u0275fac=function(i){return new(i||e)(T(Ft),T(ot),T(Eu,8),T(Xn),T(Zh,8),T($i,8))};static#t=this.\u0275dir=Me({type:e,contentQueries:function(i,r,o){if(1&i&&(oi(o,Ape,4),oi(o,Mpe,4)),2&i){let a;Vt(a=jt())&&(r._avatars=a),Vt(a=jt())&&(r._icons=a)}},hostVars:4,hostBindings:function(i,r){2&i&&(hn("aria-disabled",r.disabled)("disabled",r._isButtonElement&&r.disabled||null),Ct("mdc-list-item--disabled",r.disabled))},inputs:{lines:"lines",disableRipple:"disableRipple",disabled:"disabled"}})}return e})(),i6=(()=>{class e extends Eu{static#e=this.\u0275fac=function(){let t;return function(r){return(t||(t=Kn(e)))(r||e)}}();static#t=this.\u0275cmp=Tt({type:e,selectors:[["mat-list"]],hostAttrs:[1,"mat-mdc-list","mat-mdc-list-base","mdc-list"],exportAs:["matList"],features:[Yt([{provide:Eu,useExisting:e}]),dt],ngContentSelectors:XB,decls:1,vars:0,template:function(i,r){1&i&&(bi(),_t(0))},styles:['@media screen and (forced-colors: active),(-ms-high-contrast: active){.mdc-list-divider::after{content:"";display:block;border-bottom-width:1px;border-bottom-style:solid}}.mdc-list{margin:0;padding:8px 0;list-style-type:none}.mdc-list:focus{outline:none}.mdc-list-item__wrapper{display:block}.mdc-list-item{display:flex;position:relative;align-items:center;justify-content:flex-start;overflow:hidden;padding:0;align-items:stretch;cursor:pointer}.mdc-list-item:focus{outline:none}.mdc-list-item.mdc-list-item--with-one-line{height:48px}.mdc-list-item.mdc-list-item--with-two-lines{height:64px}.mdc-list-item.mdc-list-item--with-three-lines{height:88px}.mdc-list-item.mdc-list-item--with-one-line .mdc-list-item__start{align-self:center;margin-top:0}.mdc-list-item.mdc-list-item--with-two-lines .mdc-list-item__start{align-self:flex-start;margin-top:16px}.mdc-list-item.mdc-list-item--with-three-lines .mdc-list-item__start{align-self:flex-start;margin-top:16px}.mdc-list-item.mdc-list-item--with-one-line .mdc-list-item__end{align-self:center;margin-top:0}.mdc-list-item.mdc-list-item--with-two-lines .mdc-list-item__end{align-self:center;margin-top:0}.mdc-list-item.mdc-list-item--with-three-lines .mdc-list-item__end{align-self:flex-start;margin-top:16px}.mdc-list-item.mdc-list-item--disabled,.mdc-list-item.mdc-list-item--non-interactive{cursor:auto}.mdc-list-item:not(.mdc-list-item--selected):focus::before,.mdc-list-item.mdc-ripple-upgraded--background-focused::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-list-item:not(.mdc-list-item--selected):focus::before,.mdc-list-item.mdc-ripple-upgraded--background-focused::before{border-color:CanvasText}}.mdc-list-item.mdc-list-item--selected::before{position:absolute;box-sizing:border-box;width:100%;height:100%;top:0;left:0;border:3px double rgba(0,0,0,0);border-radius:inherit;content:"";pointer-events:none}@media screen and (forced-colors: active){.mdc-list-item.mdc-list-item--selected::before{border-color:CanvasText}}.mdc-list-item.mdc-list-item--selected:focus::before{position:absolute;box-sizing:border-box;width:100%;height:100%;top:0;left:0;border:3px solid rgba(0,0,0,0);border-radius:inherit;content:"";pointer-events:none}@media screen and (forced-colors: active){.mdc-list-item.mdc-list-item--selected:focus::before{border-color:CanvasText}}a.mdc-list-item{color:inherit;text-decoration:none}.mdc-list-item__start{fill:currentColor;flex-shrink:0;pointer-events:none}.mdc-list-item__end{flex-shrink:0;pointer-events:none}.mdc-list-item__content{text-overflow:ellipsis;white-space:nowrap;overflow:hidden;align-self:center;flex:1;pointer-events:none}.mdc-list-item--with-two-lines .mdc-list-item__content,.mdc-list-item--with-three-lines .mdc-list-item__content{align-self:stretch}.mdc-list-item__content[for]{pointer-events:none}.mdc-list-item__primary-text{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.mdc-list-item--with-two-lines .mdc-list-item__primary-text,.mdc-list-item--with-three-lines .mdc-list-item__primary-text{display:block;margin-top:0;line-height:normal;margin-bottom:-20px}.mdc-list-item--with-two-lines .mdc-list-item__primary-text::before,.mdc-list-item--with-three-lines .mdc-list-item__primary-text::before{display:inline-block;width:0;height:28px;content:"";vertical-align:0}.mdc-list-item--with-two-lines .mdc-list-item__primary-text::after,.mdc-list-item--with-three-lines .mdc-list-item__primary-text::after{display:inline-block;width:0;height:20px;content:"";vertical-align:-20px}.mdc-list-item__secondary-text{text-overflow:ellipsis;white-space:nowrap;overflow:hidden;display:block;margin-top:0;line-height:normal}.mdc-list-item__secondary-text::before{display:inline-block;width:0;height:20px;content:"";vertical-align:0}.mdc-list-item--with-three-lines .mdc-list-item__secondary-text{white-space:normal;line-height:20px}.mdc-list-item--with-overline .mdc-list-item__secondary-text{white-space:nowrap;line-height:auto}.mdc-list-item__overline-text{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.mdc-list-item--with-two-lines .mdc-list-item__overline-text{display:block;margin-top:0;line-height:normal;margin-bottom:-20px}.mdc-list-item--with-two-lines .mdc-list-item__overline-text::before{display:inline-block;width:0;height:24px;content:"";vertical-align:0}.mdc-list-item--with-two-lines .mdc-list-item__overline-text::after{display:inline-block;width:0;height:20px;content:"";vertical-align:-20px}.mdc-list-item--with-three-lines .mdc-list-item__overline-text{display:block;margin-top:0;line-height:normal;margin-bottom:-20px}.mdc-list-item--with-three-lines .mdc-list-item__overline-text::before{display:inline-block;width:0;height:28px;content:"";vertical-align:0}.mdc-list-item--with-three-lines .mdc-list-item__overline-text::after{display:inline-block;width:0;height:20px;content:"";vertical-align:-20px}.mdc-list-item--with-leading-avatar.mdc-list-item{padding-left:0;padding-right:auto}[dir=rtl] .mdc-list-item--with-leading-avatar.mdc-list-item,.mdc-list-item--with-leading-avatar.mdc-list-item[dir=rtl]{padding-left:auto;padding-right:0}.mdc-list-item--with-leading-avatar .mdc-list-item__start{margin-left:16px;margin-right:16px}[dir=rtl] .mdc-list-item--with-leading-avatar .mdc-list-item__start,.mdc-list-item--with-leading-avatar .mdc-list-item__start[dir=rtl]{margin-left:16px;margin-right:16px}.mdc-list-item--with-leading-avatar.mdc-list-item--with-two-lines .mdc-list-item__primary-text{display:block;margin-top:0;line-height:normal;margin-bottom:-20px}.mdc-list-item--with-leading-avatar.mdc-list-item--with-two-lines .mdc-list-item__primary-text::before{display:inline-block;width:0;height:32px;content:"";vertical-align:0}.mdc-list-item--with-leading-avatar.mdc-list-item--with-two-lines .mdc-list-item__primary-text::after{display:inline-block;width:0;height:20px;content:"";vertical-align:-20px}.mdc-list-item--with-leading-avatar.mdc-list-item--with-two-lines .mdc-list-item__overline-text{display:block;margin-top:0;line-height:normal;margin-bottom:-20px}.mdc-list-item--with-leading-avatar.mdc-list-item--with-two-lines .mdc-list-item__overline-text::before{display:inline-block;width:0;height:28px;content:"";vertical-align:0}.mdc-list-item--with-leading-avatar.mdc-list-item--with-two-lines .mdc-list-item__overline-text::after{display:inline-block;width:0;height:20px;content:"";vertical-align:-20px}.mdc-list-item--with-leading-avatar.mdc-list-item--with-two-lines.mdc-list-item--with-trailing-meta .mdc-list-item__end{display:block;margin-top:0;line-height:normal}.mdc-list-item--with-leading-avatar.mdc-list-item--with-two-lines.mdc-list-item--with-trailing-meta .mdc-list-item__end::before{display:inline-block;width:0;height:32px;content:"";vertical-align:0}.mdc-list-item--with-leading-avatar.mdc-list-item--with-one-line{height:56px}.mdc-list-item--with-leading-avatar.mdc-list-item--with-two-lines{height:72px}.mdc-list-item--with-leading-avatar .mdc-list-item__start{border-radius:50%}.mdc-list-item--with-leading-icon.mdc-list-item{padding-left:0;padding-right:auto}[dir=rtl] .mdc-list-item--with-leading-icon.mdc-list-item,.mdc-list-item--with-leading-icon.mdc-list-item[dir=rtl]{padding-left:auto;padding-right:0}.mdc-list-item--with-leading-icon .mdc-list-item__start{margin-left:16px;margin-right:32px}[dir=rtl] .mdc-list-item--with-leading-icon .mdc-list-item__start,.mdc-list-item--with-leading-icon .mdc-list-item__start[dir=rtl]{margin-left:32px;margin-right:16px}.mdc-list-item--with-leading-icon.mdc-list-item--with-two-lines .mdc-list-item__primary-text{display:block;margin-top:0;line-height:normal;margin-bottom:-20px}.mdc-list-item--with-leading-icon.mdc-list-item--with-two-lines .mdc-list-item__primary-text::before{display:inline-block;width:0;height:32px;content:"";vertical-align:0}.mdc-list-item--with-leading-icon.mdc-list-item--with-two-lines .mdc-list-item__primary-text::after{display:inline-block;width:0;height:20px;content:"";vertical-align:-20px}.mdc-list-item--with-leading-icon.mdc-list-item--with-two-lines .mdc-list-item__overline-text{display:block;margin-top:0;line-height:normal;margin-bottom:-20px}.mdc-list-item--with-leading-icon.mdc-list-item--with-two-lines .mdc-list-item__overline-text::before{display:inline-block;width:0;height:28px;content:"";vertical-align:0}.mdc-list-item--with-leading-icon.mdc-list-item--with-two-lines .mdc-list-item__overline-text::after{display:inline-block;width:0;height:20px;content:"";vertical-align:-20px}.mdc-list-item--with-leading-icon.mdc-list-item--with-two-lines.mdc-list-item--with-trailing-meta .mdc-list-item__end{display:block;margin-top:0;line-height:normal}.mdc-list-item--with-leading-icon.mdc-list-item--with-two-lines.mdc-list-item--with-trailing-meta .mdc-list-item__end::before{display:inline-block;width:0;height:32px;content:"";vertical-align:0}.mdc-list-item--with-leading-icon.mdc-list-item--with-one-line{height:56px}.mdc-list-item--with-leading-icon.mdc-list-item--with-two-lines{height:72px}.mdc-list-item--with-leading-thumbnail.mdc-list-item{padding-left:0;padding-right:auto}[dir=rtl] .mdc-list-item--with-leading-thumbnail.mdc-list-item,.mdc-list-item--with-leading-thumbnail.mdc-list-item[dir=rtl]{padding-left:auto;padding-right:0}.mdc-list-item--with-leading-thumbnail .mdc-list-item__start{margin-left:16px;margin-right:16px}[dir=rtl] .mdc-list-item--with-leading-thumbnail .mdc-list-item__start,.mdc-list-item--with-leading-thumbnail .mdc-list-item__start[dir=rtl]{margin-left:16px;margin-right:16px}.mdc-list-item--with-leading-thumbnail.mdc-list-item--with-two-lines .mdc-list-item__primary-text{display:block;margin-top:0;line-height:normal;margin-bottom:-20px}.mdc-list-item--with-leading-thumbnail.mdc-list-item--with-two-lines .mdc-list-item__primary-text::before{display:inline-block;width:0;height:32px;content:"";vertical-align:0}.mdc-list-item--with-leading-thumbnail.mdc-list-item--with-two-lines .mdc-list-item__primary-text::after{display:inline-block;width:0;height:20px;content:"";vertical-align:-20px}.mdc-list-item--with-leading-thumbnail.mdc-list-item--with-two-lines .mdc-list-item__overline-text{display:block;margin-top:0;line-height:normal;margin-bottom:-20px}.mdc-list-item--with-leading-thumbnail.mdc-list-item--with-two-lines .mdc-list-item__overline-text::before{display:inline-block;width:0;height:28px;content:"";vertical-align:0}.mdc-list-item--with-leading-thumbnail.mdc-list-item--with-two-lines .mdc-list-item__overline-text::after{display:inline-block;width:0;height:20px;content:"";vertical-align:-20px}.mdc-list-item--with-leading-thumbnail.mdc-list-item--with-two-lines.mdc-list-item--with-trailing-meta .mdc-list-item__end{display:block;margin-top:0;line-height:normal}.mdc-list-item--with-leading-thumbnail.mdc-list-item--with-two-lines.mdc-list-item--with-trailing-meta .mdc-list-item__end::before{display:inline-block;width:0;height:32px;content:"";vertical-align:0}.mdc-list-item--with-leading-thumbnail.mdc-list-item--with-one-line{height:56px}.mdc-list-item--with-leading-thumbnail.mdc-list-item--with-two-lines{height:72px}.mdc-list-item--with-leading-image.mdc-list-item{padding-left:0;padding-right:auto}[dir=rtl] .mdc-list-item--with-leading-image.mdc-list-item,.mdc-list-item--with-leading-image.mdc-list-item[dir=rtl]{padding-left:auto;padding-right:0}.mdc-list-item--with-leading-image .mdc-list-item__start{margin-left:16px;margin-right:16px}[dir=rtl] .mdc-list-item--with-leading-image .mdc-list-item__start,.mdc-list-item--with-leading-image .mdc-list-item__start[dir=rtl]{margin-left:16px;margin-right:16px}.mdc-list-item--with-leading-image.mdc-list-item--with-two-lines .mdc-list-item__primary-text{display:block;margin-top:0;line-height:normal;margin-bottom:-20px}.mdc-list-item--with-leading-image.mdc-list-item--with-two-lines .mdc-list-item__primary-text::before{display:inline-block;width:0;height:32px;content:"";vertical-align:0}.mdc-list-item--with-leading-image.mdc-list-item--with-two-lines .mdc-list-item__primary-text::after{display:inline-block;width:0;height:20px;content:"";vertical-align:-20px}.mdc-list-item--with-leading-image.mdc-list-item--with-two-lines .mdc-list-item__overline-text{display:block;margin-top:0;line-height:normal;margin-bottom:-20px}.mdc-list-item--with-leading-image.mdc-list-item--with-two-lines .mdc-list-item__overline-text::before{display:inline-block;width:0;height:28px;content:"";vertical-align:0}.mdc-list-item--with-leading-image.mdc-list-item--with-two-lines .mdc-list-item__overline-text::after{display:inline-block;width:0;height:20px;content:"";vertical-align:-20px}.mdc-list-item--with-leading-image.mdc-list-item--with-two-lines.mdc-list-item--with-trailing-meta .mdc-list-item__end{display:block;margin-top:0;line-height:normal}.mdc-list-item--with-leading-image.mdc-list-item--with-two-lines.mdc-list-item--with-trailing-meta .mdc-list-item__end::before{display:inline-block;width:0;height:32px;content:"";vertical-align:0}.mdc-list-item--with-leading-image.mdc-list-item--with-one-line{height:72px}.mdc-list-item--with-leading-image.mdc-list-item--with-two-lines{height:72px}.mdc-list-item--with-leading-video.mdc-list-item--with-two-lines .mdc-list-item__start{align-self:flex-start;margin-top:8px}.mdc-list-item--with-leading-video.mdc-list-item{padding-left:0;padding-right:auto}[dir=rtl] .mdc-list-item--with-leading-video.mdc-list-item,.mdc-list-item--with-leading-video.mdc-list-item[dir=rtl]{padding-left:auto;padding-right:0}.mdc-list-item--with-leading-video .mdc-list-item__start{margin-left:0;margin-right:16px}[dir=rtl] .mdc-list-item--with-leading-video .mdc-list-item__start,.mdc-list-item--with-leading-video .mdc-list-item__start[dir=rtl]{margin-left:16px;margin-right:0}.mdc-list-item--with-leading-video.mdc-list-item--with-two-lines .mdc-list-item__primary-text{display:block;margin-top:0;line-height:normal;margin-bottom:-20px}.mdc-list-item--with-leading-video.mdc-list-item--with-two-lines .mdc-list-item__primary-text::before{display:inline-block;width:0;height:32px;content:"";vertical-align:0}.mdc-list-item--with-leading-video.mdc-list-item--with-two-lines .mdc-list-item__primary-text::after{display:inline-block;width:0;height:20px;content:"";vertical-align:-20px}.mdc-list-item--with-leading-video.mdc-list-item--with-two-lines .mdc-list-item__overline-text{display:block;margin-top:0;line-height:normal;margin-bottom:-20px}.mdc-list-item--with-leading-video.mdc-list-item--with-two-lines .mdc-list-item__overline-text::before{display:inline-block;width:0;height:28px;content:"";vertical-align:0}.mdc-list-item--with-leading-video.mdc-list-item--with-two-lines .mdc-list-item__overline-text::after{display:inline-block;width:0;height:20px;content:"";vertical-align:-20px}.mdc-list-item--with-leading-video.mdc-list-item--with-two-lines.mdc-list-item--with-trailing-meta .mdc-list-item__end{display:block;margin-top:0;line-height:normal}.mdc-list-item--with-leading-video.mdc-list-item--with-two-lines.mdc-list-item--with-trailing-meta .mdc-list-item__end::before{display:inline-block;width:0;height:32px;content:"";vertical-align:0}.mdc-list-item--with-leading-video.mdc-list-item--with-one-line{height:72px}.mdc-list-item--with-leading-video.mdc-list-item--with-two-lines{height:72px}.mdc-list-item--with-leading-checkbox.mdc-list-item{padding-left:0;padding-right:auto}[dir=rtl] .mdc-list-item--with-leading-checkbox.mdc-list-item,.mdc-list-item--with-leading-checkbox.mdc-list-item[dir=rtl]{padding-left:auto;padding-right:0}.mdc-list-item--with-leading-checkbox .mdc-list-item__start{margin-left:8px;margin-right:24px}[dir=rtl] .mdc-list-item--with-leading-checkbox .mdc-list-item__start,.mdc-list-item--with-leading-checkbox .mdc-list-item__start[dir=rtl]{margin-left:24px;margin-right:8px}.mdc-list-item--with-leading-checkbox.mdc-list-item--with-two-lines .mdc-list-item__start{align-self:flex-start;margin-top:8px}.mdc-list-item--with-leading-checkbox.mdc-list-item--with-two-lines .mdc-list-item__primary-text{display:block;margin-top:0;line-height:normal;margin-bottom:-20px}.mdc-list-item--with-leading-checkbox.mdc-list-item--with-two-lines .mdc-list-item__primary-text::before{display:inline-block;width:0;height:32px;content:"";vertical-align:0}.mdc-list-item--with-leading-checkbox.mdc-list-item--with-two-lines .mdc-list-item__primary-text::after{display:inline-block;width:0;height:20px;content:"";vertical-align:-20px}.mdc-list-item--with-leading-checkbox.mdc-list-item--with-two-lines .mdc-list-item__overline-text{display:block;margin-top:0;line-height:normal;margin-bottom:-20px}.mdc-list-item--with-leading-checkbox.mdc-list-item--with-two-lines .mdc-list-item__overline-text::before{display:inline-block;width:0;height:28px;content:"";vertical-align:0}.mdc-list-item--with-leading-checkbox.mdc-list-item--with-two-lines .mdc-list-item__overline-text::after{display:inline-block;width:0;height:20px;content:"";vertical-align:-20px}.mdc-list-item--with-leading-checkbox.mdc-list-item--with-two-lines.mdc-list-item--with-trailing-meta .mdc-list-item__end{display:block;margin-top:0;line-height:normal}.mdc-list-item--with-leading-checkbox.mdc-list-item--with-two-lines.mdc-list-item--with-trailing-meta .mdc-list-item__end::before{display:inline-block;width:0;height:32px;content:"";vertical-align:0}.mdc-list-item--with-leading-checkbox.mdc-list-item--with-one-line{height:56px}.mdc-list-item--with-leading-checkbox.mdc-list-item--with-two-lines{height:72px}.mdc-list-item--with-leading-radio.mdc-list-item{padding-left:0;padding-right:auto}[dir=rtl] .mdc-list-item--with-leading-radio.mdc-list-item,.mdc-list-item--with-leading-radio.mdc-list-item[dir=rtl]{padding-left:auto;padding-right:0}.mdc-list-item--with-leading-radio .mdc-list-item__start{margin-left:8px;margin-right:24px}[dir=rtl] .mdc-list-item--with-leading-radio .mdc-list-item__start,.mdc-list-item--with-leading-radio .mdc-list-item__start[dir=rtl]{margin-left:24px;margin-right:8px}.mdc-list-item--with-leading-radio.mdc-list-item--with-two-lines .mdc-list-item__start{align-self:flex-start;margin-top:8px}.mdc-list-item--with-leading-radio.mdc-list-item--with-two-lines .mdc-list-item__primary-text{display:block;margin-top:0;line-height:normal;margin-bottom:-20px}.mdc-list-item--with-leading-radio.mdc-list-item--with-two-lines .mdc-list-item__primary-text::before{display:inline-block;width:0;height:32px;content:"";vertical-align:0}.mdc-list-item--with-leading-radio.mdc-list-item--with-two-lines .mdc-list-item__primary-text::after{display:inline-block;width:0;height:20px;content:"";vertical-align:-20px}.mdc-list-item--with-leading-radio.mdc-list-item--with-two-lines .mdc-list-item__overline-text{display:block;margin-top:0;line-height:normal;margin-bottom:-20px}.mdc-list-item--with-leading-radio.mdc-list-item--with-two-lines .mdc-list-item__overline-text::before{display:inline-block;width:0;height:28px;content:"";vertical-align:0}.mdc-list-item--with-leading-radio.mdc-list-item--with-two-lines .mdc-list-item__overline-text::after{display:inline-block;width:0;height:20px;content:"";vertical-align:-20px}.mdc-list-item--with-leading-radio.mdc-list-item--with-two-lines.mdc-list-item--with-trailing-meta .mdc-list-item__end{display:block;margin-top:0;line-height:normal}.mdc-list-item--with-leading-radio.mdc-list-item--with-two-lines.mdc-list-item--with-trailing-meta .mdc-list-item__end::before{display:inline-block;width:0;height:32px;content:"";vertical-align:0}.mdc-list-item--with-leading-radio.mdc-list-item--with-one-line{height:56px}.mdc-list-item--with-leading-radio.mdc-list-item--with-two-lines{height:72px}.mdc-list-item--with-leading-switch.mdc-list-item{padding-left:0;padding-right:auto}[dir=rtl] .mdc-list-item--with-leading-switch.mdc-list-item,.mdc-list-item--with-leading-switch.mdc-list-item[dir=rtl]{padding-left:auto;padding-right:0}.mdc-list-item--with-leading-switch .mdc-list-item__start{margin-left:16px;margin-right:16px}[dir=rtl] .mdc-list-item--with-leading-switch .mdc-list-item__start,.mdc-list-item--with-leading-switch .mdc-list-item__start[dir=rtl]{margin-left:16px;margin-right:16px}.mdc-list-item--with-leading-switch.mdc-list-item--with-two-lines .mdc-list-item__start{align-self:flex-start;margin-top:16px}.mdc-list-item--with-leading-switch.mdc-list-item--with-two-lines .mdc-list-item__primary-text{display:block;margin-top:0;line-height:normal;margin-bottom:-20px}.mdc-list-item--with-leading-switch.mdc-list-item--with-two-lines .mdc-list-item__primary-text::before{display:inline-block;width:0;height:32px;content:"";vertical-align:0}.mdc-list-item--with-leading-switch.mdc-list-item--with-two-lines .mdc-list-item__primary-text::after{display:inline-block;width:0;height:20px;content:"";vertical-align:-20px}.mdc-list-item--with-leading-switch.mdc-list-item--with-two-lines .mdc-list-item__overline-text{display:block;margin-top:0;line-height:normal;margin-bottom:-20px}.mdc-list-item--with-leading-switch.mdc-list-item--with-two-lines .mdc-list-item__overline-text::before{display:inline-block;width:0;height:28px;content:"";vertical-align:0}.mdc-list-item--with-leading-switch.mdc-list-item--with-two-lines .mdc-list-item__overline-text::after{display:inline-block;width:0;height:20px;content:"";vertical-align:-20px}.mdc-list-item--with-leading-switch.mdc-list-item--with-two-lines.mdc-list-item--with-trailing-meta .mdc-list-item__end{display:block;margin-top:0;line-height:normal}.mdc-list-item--with-leading-switch.mdc-list-item--with-two-lines.mdc-list-item--with-trailing-meta .mdc-list-item__end::before{display:inline-block;width:0;height:32px;content:"";vertical-align:0}.mdc-list-item--with-leading-switch.mdc-list-item--with-one-line{height:56px}.mdc-list-item--with-leading-switch.mdc-list-item--with-two-lines{height:72px}.mdc-list-item--with-trailing-icon.mdc-list-item{padding-left:auto;padding-right:0}[dir=rtl] .mdc-list-item--with-trailing-icon.mdc-list-item,.mdc-list-item--with-trailing-icon.mdc-list-item[dir=rtl]{padding-left:0;padding-right:auto}.mdc-list-item--with-trailing-icon .mdc-list-item__end{margin-left:16px;margin-right:16px}[dir=rtl] .mdc-list-item--with-trailing-icon .mdc-list-item__end,.mdc-list-item--with-trailing-icon .mdc-list-item__end[dir=rtl]{margin-left:16px;margin-right:16px}.mdc-list-item--with-trailing-meta.mdc-list-item--with-two-lines .mdc-list-item__end{align-self:flex-start;margin-top:0}.mdc-list-item--with-trailing-meta.mdc-list-item--with-three-lines .mdc-list-item__end{align-self:flex-start;margin-top:0}.mdc-list-item--with-trailing-meta.mdc-list-item{padding-left:auto;padding-right:0}[dir=rtl] .mdc-list-item--with-trailing-meta.mdc-list-item,.mdc-list-item--with-trailing-meta.mdc-list-item[dir=rtl]{padding-left:0;padding-right:auto}.mdc-list-item--with-trailing-meta .mdc-list-item__end{margin-left:28px;margin-right:16px}[dir=rtl] .mdc-list-item--with-trailing-meta .mdc-list-item__end,.mdc-list-item--with-trailing-meta .mdc-list-item__end[dir=rtl]{margin-left:16px;margin-right:28px}.mdc-list-item--with-trailing-meta.mdc-list-item--with-two-lines .mdc-list-item__end{display:block;margin-top:0;line-height:normal}.mdc-list-item--with-trailing-meta.mdc-list-item--with-two-lines .mdc-list-item__end::before{display:inline-block;width:0;height:28px;content:"";vertical-align:0}.mdc-list-item--with-trailing-meta.mdc-list-item--with-three-lines .mdc-list-item__end{display:block;margin-top:0;line-height:normal}.mdc-list-item--with-trailing-meta.mdc-list-item--with-three-lines .mdc-list-item__end::before{display:inline-block;width:0;height:28px;content:"";vertical-align:0}.mdc-list-item--with-trailing-meta .mdc-list-item__end{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;font-family:var(--mdc-typography-caption-font-family);font-size:var(--mdc-typography-caption-font-size);line-height:var(--mdc-typography-caption-line-height);font-weight:var(--mdc-typography-caption-font-weight);letter-spacing:var(--mdc-typography-caption-letter-spacing);text-decoration:var(--mdc-typography-caption-text-decoration);text-transform:var(--mdc-typography-caption-text-transform)}.mdc-list-item--with-trailing-checkbox.mdc-list-item{padding-left:auto;padding-right:0}[dir=rtl] .mdc-list-item--with-trailing-checkbox.mdc-list-item,.mdc-list-item--with-trailing-checkbox.mdc-list-item[dir=rtl]{padding-left:0;padding-right:auto}.mdc-list-item--with-trailing-checkbox .mdc-list-item__end{margin-left:24px;margin-right:8px}[dir=rtl] .mdc-list-item--with-trailing-checkbox .mdc-list-item__end,.mdc-list-item--with-trailing-checkbox .mdc-list-item__end[dir=rtl]{margin-left:8px;margin-right:24px}.mdc-list-item--with-trailing-checkbox.mdc-list-item--with-three-lines .mdc-list-item__end{align-self:flex-start;margin-top:8px}.mdc-list-item--with-trailing-radio.mdc-list-item{padding-left:auto;padding-right:0}[dir=rtl] .mdc-list-item--with-trailing-radio.mdc-list-item,.mdc-list-item--with-trailing-radio.mdc-list-item[dir=rtl]{padding-left:0;padding-right:auto}.mdc-list-item--with-trailing-radio .mdc-list-item__end{margin-left:24px;margin-right:8px}[dir=rtl] .mdc-list-item--with-trailing-radio .mdc-list-item__end,.mdc-list-item--with-trailing-radio .mdc-list-item__end[dir=rtl]{margin-left:8px;margin-right:24px}.mdc-list-item--with-trailing-radio.mdc-list-item--with-three-lines .mdc-list-item__end{align-self:flex-start;margin-top:8px}.mdc-list-item--with-trailing-switch.mdc-list-item{padding-left:auto;padding-right:0}[dir=rtl] .mdc-list-item--with-trailing-switch.mdc-list-item,.mdc-list-item--with-trailing-switch.mdc-list-item[dir=rtl]{padding-left:0;padding-right:auto}.mdc-list-item--with-trailing-switch .mdc-list-item__end{margin-left:16px;margin-right:16px}[dir=rtl] .mdc-list-item--with-trailing-switch .mdc-list-item__end,.mdc-list-item--with-trailing-switch .mdc-list-item__end[dir=rtl]{margin-left:16px;margin-right:16px}.mdc-list-item--with-trailing-switch.mdc-list-item--with-three-lines .mdc-list-item__end{align-self:flex-start;margin-top:16px}.mdc-list-item--with-overline.mdc-list-item--with-two-lines .mdc-list-item__primary-text{display:block;margin-top:0;line-height:normal}.mdc-list-item--with-overline.mdc-list-item--with-two-lines .mdc-list-item__primary-text::before{display:inline-block;width:0;height:20px;content:"";vertical-align:0}.mdc-list-item--with-overline.mdc-list-item--with-three-lines .mdc-list-item__primary-text{display:block;margin-top:0;line-height:normal}.mdc-list-item--with-overline.mdc-list-item--with-three-lines .mdc-list-item__primary-text::before{display:inline-block;width:0;height:20px;content:"";vertical-align:0}.mdc-list-item{padding-left:16px;padding-right:16px}[dir=rtl] .mdc-list-item,.mdc-list-item[dir=rtl]{padding-left:16px;padding-right:16px}.mdc-list-group .mdc-deprecated-list{padding:0}.mdc-list-group__subheader{margin:calc((3rem - 1.5rem)/2) 16px}.mdc-list-divider{padding:0;background-clip:content-box}.mdc-list-divider.mdc-list-divider--with-leading-inset,.mdc-list-divider--with-leading-text.mdc-list-divider--with-leading-inset,.mdc-list-divider--with-leading-icon.mdc-list-divider--with-leading-inset,.mdc-list-divider--with-leading-image.mdc-list-divider--with-leading-inset,.mdc-list-divider--with-leading-thumbnail.mdc-list-divider--with-leading-inset,.mdc-list-divider--with-leading-avatar.mdc-list-divider--with-leading-inset,.mdc-list-divider--with-leading-checkbox.mdc-list-divider--with-leading-inset,.mdc-list-divider--with-leading-switch.mdc-list-divider--with-leading-inset,.mdc-list-divider--with-leading-radio.mdc-list-divider--with-leading-inset{padding-left:16px;padding-right:auto}[dir=rtl] .mdc-list-divider.mdc-list-divider--with-leading-inset,[dir=rtl] .mdc-list-divider--with-leading-text.mdc-list-divider--with-leading-inset,[dir=rtl] .mdc-list-divider--with-leading-icon.mdc-list-divider--with-leading-inset,[dir=rtl] .mdc-list-divider--with-leading-image.mdc-list-divider--with-leading-inset,[dir=rtl] .mdc-list-divider--with-leading-thumbnail.mdc-list-divider--with-leading-inset,[dir=rtl] .mdc-list-divider--with-leading-avatar.mdc-list-divider--with-leading-inset,[dir=rtl] .mdc-list-divider--with-leading-checkbox.mdc-list-divider--with-leading-inset,[dir=rtl] .mdc-list-divider--with-leading-switch.mdc-list-divider--with-leading-inset,[dir=rtl] .mdc-list-divider--with-leading-radio.mdc-list-divider--with-leading-inset,.mdc-list-divider.mdc-list-divider--with-leading-inset[dir=rtl],.mdc-list-divider--with-leading-text.mdc-list-divider--with-leading-inset[dir=rtl],.mdc-list-divider--with-leading-icon.mdc-list-divider--with-leading-inset[dir=rtl],.mdc-list-divider--with-leading-image.mdc-list-divider--with-leading-inset[dir=rtl],.mdc-list-divider--with-leading-thumbnail.mdc-list-divider--with-leading-inset[dir=rtl],.mdc-list-divider--with-leading-avatar.mdc-list-divider--with-leading-inset[dir=rtl],.mdc-list-divider--with-leading-checkbox.mdc-list-divider--with-leading-inset[dir=rtl],.mdc-list-divider--with-leading-switch.mdc-list-divider--with-leading-inset[dir=rtl],.mdc-list-divider--with-leading-radio.mdc-list-divider--with-leading-inset[dir=rtl]{padding-left:auto;padding-right:16px}.mdc-list-divider.mdc-list-divider--with-trailing-inset,.mdc-list-divider--with-leading-text.mdc-list-divider--with-trailing-inset,.mdc-list-divider--with-leading-icon.mdc-list-divider--with-trailing-inset,.mdc-list-divider--with-leading-image.mdc-list-divider--with-trailing-inset,.mdc-list-divider--with-leading-thumbnail.mdc-list-divider--with-trailing-inset,.mdc-list-divider--with-leading-avatar.mdc-list-divider--with-trailing-inset,.mdc-list-divider--with-leading-checkbox.mdc-list-divider--with-trailing-inset,.mdc-list-divider--with-leading-switch.mdc-list-divider--with-trailing-inset,.mdc-list-divider--with-leading-radio.mdc-list-divider--with-trailing-inset{padding-left:auto;padding-right:16px}[dir=rtl] .mdc-list-divider.mdc-list-divider--with-trailing-inset,[dir=rtl] .mdc-list-divider--with-leading-text.mdc-list-divider--with-trailing-inset,[dir=rtl] .mdc-list-divider--with-leading-icon.mdc-list-divider--with-trailing-inset,[dir=rtl] .mdc-list-divider--with-leading-image.mdc-list-divider--with-trailing-inset,[dir=rtl] .mdc-list-divider--with-leading-thumbnail.mdc-list-divider--with-trailing-inset,[dir=rtl] .mdc-list-divider--with-leading-avatar.mdc-list-divider--with-trailing-inset,[dir=rtl] .mdc-list-divider--with-leading-checkbox.mdc-list-divider--with-trailing-inset,[dir=rtl] .mdc-list-divider--with-leading-switch.mdc-list-divider--with-trailing-inset,[dir=rtl] .mdc-list-divider--with-leading-radio.mdc-list-divider--with-trailing-inset,.mdc-list-divider.mdc-list-divider--with-trailing-inset[dir=rtl],.mdc-list-divider--with-leading-text.mdc-list-divider--with-trailing-inset[dir=rtl],.mdc-list-divider--with-leading-icon.mdc-list-divider--with-trailing-inset[dir=rtl],.mdc-list-divider--with-leading-image.mdc-list-divider--with-trailing-inset[dir=rtl],.mdc-list-divider--with-leading-thumbnail.mdc-list-divider--with-trailing-inset[dir=rtl],.mdc-list-divider--with-leading-avatar.mdc-list-divider--with-trailing-inset[dir=rtl],.mdc-list-divider--with-leading-checkbox.mdc-list-divider--with-trailing-inset[dir=rtl],.mdc-list-divider--with-leading-switch.mdc-list-divider--with-trailing-inset[dir=rtl],.mdc-list-divider--with-leading-radio.mdc-list-divider--with-trailing-inset[dir=rtl]{padding-left:16px;padding-right:auto}.mdc-list-divider--with-leading-video.mdc-list-divider--with-leading-inset{padding-left:0px;padding-right:auto}[dir=rtl] .mdc-list-divider--with-leading-video.mdc-list-divider--with-leading-inset,.mdc-list-divider--with-leading-video.mdc-list-divider--with-leading-inset[dir=rtl]{padding-left:auto;padding-right:0px}[dir=rtl] .mdc-list-divider,.mdc-list-divider[dir=rtl]{padding:0}.mdc-list-item{background-color:var(--mdc-list-list-item-container-color)}.mdc-list-item.mdc-list-item--selected{background-color:var(--mdc-list-list-item-selected-container-color)}.mdc-list-item--with-one-line{border-radius:var(--mdc-list-list-item-container-shape)}.mdc-list-item--with-one-line.mdc-list-item--with-leading-avatar,.mdc-list-item--with-one-line.mdc-list-item--with-leading-icon,.mdc-list-item--with-one-line.mdc-list-item--with-leading-thumbnail,.mdc-list-item--with-one-line.mdc-list-item--with-leading-checkbox,.mdc-list-item--with-one-line.mdc-list-item--with-leading-radio,.mdc-list-item--with-one-line.mdc-list-item--with-leading-switch{border-radius:var(--mdc-list-list-item-container-shape)}.mdc-list-item--with-one-line.mdc-list-item--with-leading-image,.mdc-list-item--with-one-line.mdc-list-item--with-leading-video{border-radius:var(--mdc-list-list-item-container-shape)}.mdc-list-item--with-two-lines{border-radius:var(--mdc-list-list-item-container-shape)}.mdc-list-item--with-two-lines.mdc-list-item--with-leading-avatar,.mdc-list-item--with-two-lines.mdc-list-item--with-leading-icon,.mdc-list-item--with-two-lines.mdc-list-item--with-leading-thumbnail,.mdc-list-item--with-two-lines.mdc-list-item--with-leading-checkbox,.mdc-list-item--with-two-lines.mdc-list-item--with-leading-radio,.mdc-list-item--with-two-lines.mdc-list-item--with-leading-switch,.mdc-list-item--with-two-lines.mdc-list-item--with-leading-image,.mdc-list-item--with-two-lines.mdc-list-item--with-leading-video{border-radius:var(--mdc-list-list-item-container-shape)}.mdc-list-item--with-three-lines{border-radius:var(--mdc-list-list-item-container-shape)}.mdc-list-item.mdc-list-item--with-one-line{height:var(--mdc-list-list-item-one-line-container-height)}.mdc-list-item.mdc-list-item--with-two-lines{height:var(--mdc-list-list-item-two-line-container-height)}.mdc-list-item.mdc-list-item--with-three-lines{height:var(--mdc-list-list-item-three-line-container-height)}.mdc-list-item__primary-text{color:var(--mdc-list-list-item-label-text-color)}.mdc-list-item__primary-text{font-family:var(--mdc-list-list-item-label-text-font);line-height:var(--mdc-list-list-item-label-text-line-height);font-size:var(--mdc-list-list-item-label-text-size);font-weight:var(--mdc-list-list-item-label-text-weight);letter-spacing:var(--mdc-list-list-item-label-text-tracking)}.mdc-list-item__secondary-text{color:var(--mdc-list-list-item-supporting-text-color)}.mdc-list-item__secondary-text{font-family:var(--mdc-list-list-item-supporting-text-font);line-height:var(--mdc-list-list-item-supporting-text-line-height);font-size:var(--mdc-list-list-item-supporting-text-size);font-weight:var(--mdc-list-list-item-supporting-text-weight);letter-spacing:var(--mdc-list-list-item-supporting-text-tracking)}.mdc-list-item--with-leading-icon .mdc-list-item__start{color:var(--mdc-list-list-item-leading-icon-color)}.mdc-list-item--with-leading-icon .mdc-list-item__start{width:var(--mdc-list-list-item-leading-icon-size);height:var(--mdc-list-list-item-leading-icon-size)}.mdc-list-item--with-leading-icon .mdc-list-item__start>i{font-size:var(--mdc-list-list-item-leading-icon-size)}.mdc-list-item--with-leading-icon .mdc-list-item__start .mdc-list-item__icon{font-size:var(--mdc-list-list-item-leading-icon-size);width:var(--mdc-list-list-item-leading-icon-size);height:var(--mdc-list-list-item-leading-icon-size)}.mdc-list-item--with-leading-icon .mdc-list-item__start .mdc-list-item__icon,.mdc-list-item--with-leading-icon .mdc-list-item__start .mdc-list-item__icon>.materialdesignWizIconSvgsSvgIcon{display:block}.mdc-list-item--with-leading-avatar .mdc-list-item__start{width:var(--mdc-list-list-item-leading-avatar-size);height:var(--mdc-list-list-item-leading-avatar-size)}.mdc-list-item.mdc-list-item--with-trailing-meta .mdc-list-item__end{color:var(--mdc-list-list-item-trailing-supporting-text-color)}.mdc-list-item--with-trailing-meta .mdc-list-item__end{font-family:var(--mdc-list-list-item-trailing-supporting-text-font);line-height:var(--mdc-list-list-item-trailing-supporting-text-line-height);font-size:var(--mdc-list-list-item-trailing-supporting-text-size);font-weight:var(--mdc-list-list-item-trailing-supporting-text-weight);letter-spacing:var(--mdc-list-list-item-trailing-supporting-text-tracking)}.mdc-list-item--with-trailing-icon .mdc-list-item__end{color:var(--mdc-list-list-item-trailing-icon-color)}.mdc-list-item--with-trailing-icon .mdc-list-item__end{width:var(--mdc-list-list-item-trailing-icon-size);height:var(--mdc-list-list-item-trailing-icon-size)}.mdc-list-item--with-trailing-icon .mdc-list-item__end>i{font-size:var(--mdc-list-list-item-trailing-icon-size)}.mdc-list-item--with-trailing-icon .mdc-list-item__end .mdc-list-item__icon{font-size:var(--mdc-list-list-item-trailing-icon-size);width:var(--mdc-list-list-item-trailing-icon-size);height:var(--mdc-list-list-item-trailing-icon-size)}.mdc-list-item--with-trailing-icon .mdc-list-item__end .mdc-list-item__icon,.mdc-list-item--with-trailing-icon .mdc-list-item__end .mdc-list-item__icon>.materialdesignWizIconSvgsSvgIcon{display:block}.mdc-list-item--selected.mdc-list-item--with-trailing-icon .mdc-list-item__end{color:var(--mdc-list-list-item-selected-trailing-icon-color)}.mdc-list-item--disabled .mdc-list-item__start,.mdc-list-item--disabled .mdc-list-item__content,.mdc-list-item--disabled .mdc-list-item__end{opacity:1}.mdc-list-item--disabled .mdc-list-item__primary-text,.mdc-list-item--disabled .mdc-list-item__secondary-text,.mdc-list-item--disabled .mdc-list-item__overline-text{opacity:var(--mdc-list-list-item-disabled-label-text-opacity)}.mdc-list-item--disabled.mdc-list-item--with-leading-icon .mdc-list-item__start{color:var(--mdc-list-list-item-disabled-leading-icon-color)}.mdc-list-item--disabled.mdc-list-item--with-leading-icon .mdc-list-item__start{opacity:var(--mdc-list-list-item-disabled-leading-icon-opacity)}.mdc-list-item--disabled.mdc-list-item--with-trailing-icon .mdc-list-item__end{color:var(--mdc-list-list-item-disabled-trailing-icon-color)}.mdc-list-item--disabled.mdc-list-item--with-trailing-icon .mdc-list-item__end{opacity:var(--mdc-list-list-item-disabled-trailing-icon-opacity)}.mdc-list-item:hover .mdc-list-item__primary-text{color:var(--mdc-list-list-item-hover-label-text-color)}.mdc-list-item--with-leading-icon:hover .mdc-list-item__start{color:var(--mdc-list-list-item-hover-leading-icon-color)}.mdc-list-item--with-trailing-icon:hover .mdc-list-item__end{color:var(--mdc-list-list-item-hover-trailing-icon-color)}.mdc-list-item:focus .mdc-list-item__primary-text{color:var(--mdc-list-list-item-focus-label-text-color)}.mdc-list-item.mdc-list-item--disabled .mdc-list-item__primary-text{color:var(--mdc-list-list-item-disabled-label-text-color)}.mdc-list-item:hover::before{background-color:var(--mdc-list-list-item-hover-state-layer-color);opacity:var(--mdc-list-list-item-hover-state-layer-opacity)}.mdc-list-item.mdc-list-item--disabled::before{background-color:var(--mdc-list-list-item-disabled-state-layer-color);opacity:var(--mdc-list-list-item-disabled-state-layer-opacity)}.mdc-list-item:focus::before{background-color:var(--mdc-list-list-item-focus-state-layer-color);opacity:var(--mdc-list-list-item-focus-state-layer-opacity)}.mdc-list-item--disabled .mdc-radio,.mdc-list-item--disabled .mdc-checkbox{opacity:var(--mdc-list-list-item-disabled-label-text-opacity)}.mdc-list-item--with-leading-avatar .mat-mdc-list-item-avatar{border-radius:var(--mdc-list-list-item-leading-avatar-shape);background-color:var(--mdc-list-list-item-leading-avatar-color)}.mat-mdc-list-base{--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:0.38;--mdc-list-list-item-disabled-leading-icon-opacity:0.38;--mdc-list-list-item-disabled-trailing-icon-opacity:0.38}.cdk-high-contrast-active a.mdc-list-item--activated::after{content:"";position:absolute;top:50%;right:16px;transform:translateY(-50%);width:10px;height:0;border-bottom:solid 10px;border-radius:10px}.cdk-high-contrast-active a.mdc-list-item--activated [dir=rtl]::after{right:auto;left:16px}.mat-mdc-list-base{display:block}.mat-mdc-list-base .mdc-list-item__start,.mat-mdc-list-base .mdc-list-item__end,.mat-mdc-list-base .mdc-list-item__content{pointer-events:auto}.mat-mdc-list-item,.mat-mdc-list-option{width:100%;box-sizing:border-box;-webkit-tap-highlight-color:rgba(0,0,0,0)}.mat-mdc-list-item:not(.mat-mdc-list-item-interactive),.mat-mdc-list-option:not(.mat-mdc-list-item-interactive){cursor:default}.mat-mdc-list-item .mat-divider-inset,.mat-mdc-list-option .mat-divider-inset{position:absolute;left:0;right:0;bottom:0}.mat-mdc-list-item .mat-mdc-list-item-avatar~.mat-divider-inset,.mat-mdc-list-option .mat-mdc-list-item-avatar~.mat-divider-inset{margin-left:72px}[dir=rtl] .mat-mdc-list-item .mat-mdc-list-item-avatar~.mat-divider-inset,[dir=rtl] .mat-mdc-list-option .mat-mdc-list-item-avatar~.mat-divider-inset{margin-right:72px}.mat-mdc-list-item-interactive::before{top:0;left:0;right:0;bottom:0;position:absolute;content:"";opacity:0;pointer-events:none}.mat-mdc-list-item>.mat-mdc-focus-indicator{top:0;left:0;right:0;bottom:0;position:absolute;pointer-events:none}.mat-mdc-list-item:focus>.mat-mdc-focus-indicator::before{content:""}.mat-mdc-list-item.mdc-list-item--with-three-lines .mat-mdc-list-item-line.mdc-list-item__secondary-text{white-space:nowrap;line-height:normal}.mat-mdc-list-item.mdc-list-item--with-three-lines .mat-mdc-list-item-unscoped-content.mdc-list-item__secondary-text{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2}mat-action-list button{background:none;color:inherit;border:none;font:inherit;outline:inherit;-webkit-tap-highlight-color:rgba(0,0,0,0);text-align:left}[dir=rtl] mat-action-list button{text-align:right}mat-action-list button::-moz-focus-inner{border:0}'],encapsulation:2,changeDetection:0})}return e})(),r6=(()=>{class e extends DS{get activated(){return this._activated}set activated(t){this._activated=rn(t)}constructor(t,i,r,o,a,s){super(t,i,r,o,a,s),this._activated=!1}_getAriaCurrent(){return"A"===this._hostElement.nodeName&&this._activated?"page":null}static#e=this.\u0275fac=function(i){return new(i||e)(T(Ft),T(ot),T(Eu,8),T(Xn),T(Zh,8),T($i,8))};static#t=this.\u0275cmp=Tt({type:e,selectors:[["mat-list-item"],["a","mat-list-item",""],["button","mat-list-item",""]],contentQueries:function(i,r,o){if(1&i&&(oi(o,t6,5),oi(o,e6,5),oi(o,Tpe,5)),2&i){let a;Vt(a=jt())&&(r._lines=a),Vt(a=jt())&&(r._titles=a),Vt(a=jt())&&(r._meta=a)}},viewQuery:function(i,r){if(1&i&&(wi(QB,5),wi(cpe,5)),2&i){let o;Vt(o=jt())&&(r._unscopedContent=o.first),Vt(o=jt())&&(r._itemText=o.first)}},hostAttrs:[1,"mat-mdc-list-item","mdc-list-item"],hostVars:11,hostBindings:function(i,r){2&i&&(hn("aria-current",r._getAriaCurrent()),Ct("mdc-list-item--activated",r.activated)("mdc-list-item--with-leading-avatar",0!==r._avatars.length)("mdc-list-item--with-leading-icon",0!==r._icons.length)("mdc-list-item--with-trailing-meta",0!==r._meta.length)("_mat-animation-noopable",r._noopAnimations))},inputs:{activated:"activated"},exportAs:["matListItem"],features:[dt],ngContentSelectors:dpe,decls:10,vars:0,consts:[[1,"mdc-list-item__content"],[1,"mat-mdc-list-item-unscoped-content",3,"cdkObserveContent"],["unscopedContent",""],[1,"mat-mdc-focus-indicator"]],template:function(i,r){1&i&&(bi(lpe),_t(0),j(1,"span",0),_t(2,1),_t(3,2),j(4,"span",1,2),Be("cdkObserveContent",function(){return r._updateItemLines(!0)}),_t(6,3),W()(),_t(7,4),_t(8,5),rt(9,"div",3))},dependencies:[dR],encapsulation:2,changeDetection:0})}return e})(),a6=(()=>{class e{static#e=this.\u0275fac=function(i){return new(i||e)};static#t=this.\u0275mod=Rt({type:e});static#n=this.\u0275inj=kt({imports:[Mw,Wa,Cn,zg,_X,spe]})}return e})();function Fpe(e,n){if(1&e){const t=tr();j(0,"mat-list-item")(1,"mat-form-field",6)(2,"input",7),Be("change",function(r){const a=yn(t).$implicit;return bn(st().updateWorkobjectEntry(r,a))}),W()()()}if(2&e){const t=n.$implicit;ye(2),Ae("value",t.name)}}function Lpe(e,n){if(1&e){const t=tr();j(0,"mat-list-item")(1,"mat-form-field",6)(2,"textarea",8),Be("change",function(r){const a=yn(t).$implicit;return bn(st().updateActivityEntry(r,a))})("keydown.enter",function(r){return yn(t),bn(st().preventDefault(r))})("keyup.enter",function(){return yn(t),bn(st().save())})("keyup.escape",function(){return yn(t),bn(st().close())}),W()()()}if(2&e){const t=n.$implicit;ye(2),Ae("value",t.name)}}let Bpe=(()=>{class e{constructor(t){this.labelDictionaryService=t,this.closeEmitter=new Xt,this.labelDictionaryService.createLabelDictionaries(),this.workObjectEntries=this.labelDictionaryService.getWorkObjectLabels(),this.activityEntries=this.labelDictionaryService.getActivityLabels(),this.workobjectEntriesSubject=new Qt(this.workObjectEntries),this.activityEntriesSubject=new Qt(this.activityEntries)}ngAfterViewInit(){this.labelDictionaryService.createLabelDictionaries(),this.workobjectEntriesSubject.next(this.labelDictionaryService.getWorkObjectLabels()),this.activityEntriesSubject.next(this.labelDictionaryService.getActivityLabels())}save(){this.workObjectEntries=this.workobjectEntriesSubject.value,this.activityEntries=this.activityEntriesSubject.value;const t=[],i=[],r=[],o=[];this.activityEntries.filter(a=>a.name!==a.originalName).forEach(a=>{t.push(a.name),i.push(a.originalName)}),this.workObjectEntries.filter(a=>a.name!==a.originalName).forEach(a=>{r.push(a.name),o.push(a.originalName)}),this.labelDictionaryService.massRenameLabels(t,i,r,o),this.closeEmitter.emit()}cancel(){this.workObjectEntries.forEach(t=>{t.name=t.originalName}),this.activityEntries.forEach(t=>{t.name=t.originalName}),this.workobjectEntriesSubject.next(this.workObjectEntries),this.activityEntriesSubject.next(this.activityEntries)}updateActivityEntry(t,i){let r=this.activityEntriesSubject.value;r.filter(o=>o.originalName===i.originalName)[0].name=t.target.value,this.activityEntriesSubject.next(r)}updateWorkobjectEntry(t,i){let r=this.workobjectEntriesSubject.value;r.filter(o=>o.originalName===i.originalName)[0].name=t.target.value,this.workobjectEntriesSubject.next(r)}preventDefault(t){t.preventDefault()}close(){this.closeEmitter.emit()}static#e=this.\u0275fac=function(i){return new(i||e)(T(wS))};static#t=this.\u0275cmp=Tt({type:e,selectors:[["app-label-dictionary"]],outputs:{closeEmitter:"closeEmitter"},decls:18,vars:6,consts:[[1,"workobjectList"],[4,"ngFor","ngForOf"],[1,"activityList"],[1,"activityListTitle"],["mat-flat-button","",3,"click"],["mat-flat-button","","color","primary",3,"click"],[1,"inputText"],["matInput","",1,"inputText",3,"value","change"],["matInput","","cdkTextareaAutosize","","cdkAutosizeMinRows","1","cdkAutosizeMaxRows","3",1,"inputText","activity",3,"value","change","keydown.enter","keyup.enter","keyup.escape"]],template:function(i,r){1&i&&(j(0,"mat-dialog-content")(1,"div",0)(2,"h3"),Pe(3,"Workobjects"),W(),j(4,"mat-list"),et(5,Fpe,3,1,"mat-list-item",1),$t(6,"async"),W()(),j(7,"div",2)(8,"h3",3),Pe(9,"Activities"),W(),j(10,"mat-list"),et(11,Lpe,3,1,"mat-list-item",1),$t(12,"async"),W()()(),j(13,"mat-dialog-actions")(14,"button",4),Be("click",function(){return r.close()}),Pe(15,"Cancel"),W(),j(16,"button",5),Be("click",function(){return r.save()}),Pe(17,"Save"),W()()),2&i&&(ye(5),Ae("ngForOf",Ut(6,2,r.workobjectEntriesSubject)),ye(6),Ae("ngForOf",Ut(12,4,r.activityEntriesSubject)))},dependencies:[kd,ps,i6,r6,Ld,lf,_y,xp,gfe,fa],styles:["mat-dialog-content[_ngcontent-%COMP%]{display:grid;grid-template-columns:auto auto;top:0;bottom:0;max-height:75vh;grid-column-gap:5px;width:75vw}mat-dialog-content[_ngcontent-%COMP%] mat-list-item[_ngcontent-%COMP%]{height:unset!important}mat-dialog-content[_ngcontent-%COMP%] mat-list-item-content[_ngcontent-%COMP%]{padding:0!important}h3[_ngcontent-%COMP%]{font-weight:700}.icon[_ngcontent-%COMP%]{width:36px;height:36px}.inputText[_ngcontent-%COMP%]{width:98%;resize:none;font-family:sans-serif;font-size:small;padding-top:1px;padding-bottom:1px;margin:0}.activityListHeader[_ngcontent-%COMP%]{display:inline-grid;grid-template-columns:auto auto auto;width:100%}.activityListTitle[_ngcontent-%COMP%]{justify-self:left}.saveButton[_ngcontent-%COMP%]{justify-self:end;padding-right:0!important}.saveButtonSpan[_ngcontent-%COMP%]{margin-left:2px}.activity[_ngcontent-%COMP%]{max-height:3rem}"]})}return e})(),Vpe=(()=>{class e{constructor(t){this.dialogRef=t}close(){this.dialogRef.close()}static#e=this.\u0275fac=function(i){return new(i||e)(T(Fd))};static#t=this.\u0275cmp=Tt({type:e,selectors:[["app-label-dictionary-dialog"]],decls:4,vars:0,consts:[[3,"closeEmitter"]],template:function(i,r){1&i&&(j(0,"mat-dialog-content")(1,"h2"),Pe(2,"Label Dictionary"),W(),j(3,"app-label-dictionary",0),Be("closeEmitter",function(){return r.close()}),W()())},dependencies:[Bpe,Ld]})}return e})(),s6=(()=>{class e{checkForUnreferencedElementsInActivitiesAndRepair(t){const i=[],r=[];let o=!0;return t.forEach(a=>{const s=a.type;s===Z.ACTIVITY||s===Z.CONNECTION?i.push(a):r.push(a.id)}),i.forEach(a=>{const c=a.target;if(!r.includes(a.source)||!r.includes(c)){o=!1;const l=t.indexOf(a);t=t.splice(l,1)}}),o}updateCustomElementsPreviousV050(t){for(const i of t)i.type===Z.WORKOBJECT?i.type=Z.WORKOBJECT+"Document":i.type===Z.WORKOBJECT+"Bubble"&&(i.type=Z.WORKOBJECT+"Conversation");return t}adjustPositions(t){let i=0,r=0;this.findFirstElement(t,!0,i,r),(i<75||i>150||r<0||r>50)&&(i-=75,r-=50,t.forEach(a=>this.adjustElementPosition(a,i,r)))}adjustElementPosition(t,i,r){t.type===Z.ACTIVITY||t.type===Z.CONNECTION?t.waypoints.forEach(a=>{a.x-=i,a.y-=r,a.original&&(a.original.x=a.x,a.original.y=a.y)}):(t.x-=i,t.y-=r)}findFirstElement(t,i,r,o){t.forEach(a=>{let s,c;a.type!==Z.ACTIVITY&&a.type!==Z.CONNECTION&&(i&&(r=a.x,o=a.y,i=!1),s=a.x,c=a.y,s{class e{constructor(t,i,r,o,a,s,c){this.iconDictionaryService=t,this.importRepairService=i,this.titleService=r,this.rendererService=o,this.dialogService=a,this.domainConfigurationService=s,this.snackbar=c,this.title=pv,this.description=mv,this.importedConfiguration=null,this.importedConfigurationEmitter=new Xt,this.titleSubscription=this.titleService.title$.subscribe(l=>{this.title=l}),this.descriptionSubscription=this.titleService.description$.subscribe(l=>{this.description=l})}ngOnDestroy(){this.titleSubscription.unsubscribe(),this.descriptionSubscription.unsubscribe()}get importedConfigurationEvent(){return this.importedConfigurationEmitter.asObservable()}getImportedConfiguration(){const t={name:this.importedConfiguration?.name||"",actors:this.importedConfiguration?.actors||new tn,workObjects:this.importedConfiguration?.workObjects||new tn};return this.importedConfiguration=null,t}importDST(t,i,r){const o=new FileReader,a=iN(i,r);this.titleService.updateTitleAndDescription(a,null,!1),o.onloadend=s=>{s&&s.target&&this.fileReaderFunction(s.target.result,r,!1)},o.readAsText(t)}importEGN(t,i,r){const o=new FileReader,a=iN(i,r);this.titleService.updateTitleAndDescription(a,null,!1),o.onloadend=s=>{s&&s.target&&this.fileReaderFunction(s.target.result,r,!0)},o.readAsText(t)}fileReaderFunction(t,i,r){let o;if("string"==typeof t){o=i?this.removeXMLComments(t):t;let a,s,c,l=this.extractDstAndConfig(o,i);if(null==l)return;l.domain?(c=r?l.domain:JSON.parse(l.domain),s=Cp(c),a=r?l.dst:JSON.parse(l.dst)):l.config?(c=JSON.parse(l.config),s=Cp(c),a=JSON.parse(l.dst)):(a=JSON.parse(o),s=this.domainConfigurationService.createMinimalConfigurationWithDefaultIcons());const d=this.checkConfigForChanges(s);let u=a[a.length-1];if(!u.id){u=a.pop();let h=u;h.version&&(u=a.pop()),h.version?h=h.version:(h="?",this.snackbar.open("The version number is unreadable.",void 0,{duration:Lr,panelClass:nN})),a=this.handleVersionNumber(h,a)}this.importRepairService.checkForUnreferencedElementsInActivitiesAndRepair(a)||this.showBrokenImportDialog(i?"SVG":"DST"),this.titleService.updateTitleAndDescription(null,u.info,!1),this.importRepairService.adjustPositions(a),this.updateIconRegistries(a,s),this.rendererService.importStory(a,d,s)}}handleVersionNumber(t,i){const r=+t.substring(0,t.lastIndexOf("."));return r<=.5&&(i=this.importRepairService.updateCustomElementsPreviousV050(i),this.showPreviousV050Dialog(r)),i}extractDstAndConfig(t,i){let r=null;try{r=JSON.parse(t)}catch{this.showBrokenImportDialog(i?"SVG":"DST")}return r}removeXMLComments(t){for(t=t.substring(t.indexOf(""));t.includes("\x3c!--")||t.includes("--\x3e");)t=t.replace("\x3c!--","").replace("--\x3e","");return(t=t.replace("","")).replace("","")}checkConfigForChanges(t){const i=t.actors.keysArray(),r=t.workObjects.keysArray(),o=this.iconDictionaryService.getTypeDictionaryKeys(Z.ACTOR),a=this.iconDictionaryService.getTypeDictionaryKeys(Z.WORKOBJECT);let s=!1;if(i.length!==o.length||r.length!==a.length)return!0;for(let c=0;c{class e{constructor(t,i,r,o,a,s,c,l,d,u,h){this.settingsService=t,this.modelerService=i,this.replayStateService=r,this.dirtyFlagService=o,this.dialogService=a,this.replayService=s,this.exportService=c,this.importService=l,this.titleService=d,this.renderService=u,this.snackbar=h,this.isReplay$=this.replayStateService.replayOn$,this.isDirty$=this.dirtyFlagService.dirty$}import(){const t=document.getElementById("import").files[0].name;t.endsWith(".dst")?this.importService.importDST(document.getElementById("import").files[0],t,!1):t.endsWith(".dst.svg")?this.importService.importDST(document.getElementById("import").files[0],t,!0):t.endsWith(".egn")?this.importService.importEGN(document.getElementById("import").files[0],t,!1):t.endsWith(".egn.svg")&&this.importService.importEGN(document.getElementById("import").files[0],t,!0),this.modelerService.commandStackChanged()}openSettings(){this.settingsService.open()}openDownloadDialog(){if(this.exportService.isDomainStoryExportable()){const t=new Cy("SVG","Download an SVG-Image with the Domain-Story embedded. Can be used to save and share your Domain-Story.",(s,c)=>this.exportService.downloadSVG(s,c)),i=new Cy("EGN","Download an EGN-File with the Domain-Story. Can be used to save and share your Domain-Story.",(s,c)=>this.exportService.downloadDST()),r=new Cy("PNG","Donwload a PNG-Image of the DOmain-Story. This does not include the Domain-Story!",(s,c)=>this.exportService.downloadPNG(s)),o=new Cy("HTML-Presentation","Download an HTML-Presentation. This does not include the Domain-Story!",(s,c)=>this.exportService.downloadHTMLPresentation()),a=new uo;a.disableClose=!1,a.autoFocus=!0,a.data=new rpe("Export",[t,i,r,o]),this.dialogService.openDialog(ape,a)}else this.snackbar.open("No Domain Story to be exported",void 0,{duration:Lr,panelClass:Bs})}openKeyboardShortcutsDialog(){const r=new uo;r.disableClose=!1,r.autoFocus=!0,r.data=new uv("Keyboard shortcuts","Undo:\t\t\t\t\tctrl + Z \nRedo:\t\t\t\t\tctrl + Y OR ctrl + shift + Z\nSelect All:\t\t\t\tctrl + A\nExport as EGN:\t\t\tctrl + S\nImport Domain Story: \tctrl + L\nSearch for text:\t\t\tctrl + F\nDirect editing:\t\t\tE\nHand tool:\t\t\t\tH\nLasso tool:\t\t\t\tL\nSpace tool:\t\t\t\tS",!0),this.dialogService.openDialog(hv,r)}openLabelDictionary(){if(this.exportService.isDomainStoryExportable()){const t=new uo;t.disableClose=!1,t.autoFocus=!0,this.dialogService.openDialog(Vpe,t)}else this.snackbar.open("There are currently no Elements on the canvas",void 0,{duration:Lr,panelClass:Bs})}createNewDomainStory(){this.titleService.reset(),this.renderService.reset()}startReplay(){this.replayService.startReplay()}stopReplay(){this.replayService.stopReplay()}previousStep(){this.replayService.previousStep()}nextStep(){this.replayService.nextStep()}static#e=this.\u0275fac=function(i){return new(i||e)(T(_1),T(wu),T(wp),T(_v),T(df),T(Ep),T(Ey),T(kS),T(Br),T(wy),T(dl))};static#t=this.\u0275cmp=Tt({type:e,selectors:[["app-header-buttons"]],decls:4,vars:6,consts:[[4,"ngIf"],["id","buttonStartReplay","title","Start replay",1,"headerButton",3,"click"],[1,"material-icons","materialIconButton"],["id","buttonImport","title","Import story from file","onclick","document.getElementById('import').click();",1,"headerButton"],["type","file","accept",".dst, .dst.svg, .egn, .egn.svg","id","import","onclick","this.value=null;","name","file",2,"display","none",3,"change"],["id","export","title","Export story as .egn, .svg or .png file",1,"headerButton",3,"click"],["class","material-icons-outlined materialIconButton",4,"ngIf"],["class","material-icons materialIconButton",4,"ngIf"],["title","Label Dictionary",1,"headerButton",3,"click"],["title","Label Dictionary",1,"material-icons","materialIconButton"],["title","Settings",1,"headerButton",3,"click"],["title","Change Icons and Settings",1,"material-icons","materialIconButton"],["title","Show keyboard shortcuts",1,"headerButton",3,"click"],["title","Create a new domain story",1,"headerButton",3,"click"],[1,"material-icons-outlined","materialIconButton"],["title","Previous Step",1,"headerButton",3,"click"],["title","NextStep",1,"headerButton",3,"click"],["title","Stop replay",1,"headerButton",3,"click"]],template:function(i,r){1&i&&(et(0,Hpe,25,6,"div",0),$t(1,"async"),et(2,$pe,10,0,"div",0),$t(3,"async")),2&i&&(Ae("ngIf",!Ut(1,2,r.isReplay$)),ye(2),Ae("ngIf",Ut(3,4,r.isReplay$)))},dependencies:[co,fa],styles:["span[_ngcontent-%COMP%]{font-size:15pt;color:#fff}#dictionaryButton[_ngcontent-%COMP%]{opacity:.2;pointer-events:none}.headerButton[_ngcontent-%COMP%]:hover{cursor:pointer;color:#fff}.materialIconButton[_ngcontent-%COMP%]:hover{color:#d3d3d3}"]})}return e})();const Gpe=["*",[["mat-toolbar-row"]]],Wpe=["*","mat-toolbar-row"],Ype=Nw(class{constructor(e){this._elementRef=e}});let TS=(()=>{class e{static#e=this.\u0275fac=function(i){return new(i||e)};static#t=this.\u0275dir=Me({type:e,selectors:[["mat-toolbar-row"]],hostAttrs:[1,"mat-toolbar-row"],exportAs:["matToolbarRow"]})}return e})(),c6=(()=>{class e extends Ype{constructor(t,i,r){super(t),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||e)(T(Ft),T(Xn),T(qt))};static#t=this.\u0275cmp=Tt({type:e,selectors:[["mat-toolbar"]],contentQueries:function(i,r,o){if(1&i&&oi(o,TS,5),2&i){let a;Vt(a=jt())&&(r._toolbarRows=a)}},hostAttrs:[1,"mat-toolbar"],hostVars:4,hostBindings:function(i,r){2&i&&Ct("mat-toolbar-multiple-rows",r._toolbarRows.length>0)("mat-toolbar-single-row",0===r._toolbarRows.length)},inputs:{color:"color"},exportAs:["matToolbar"],features:[dt],ngContentSelectors:Wpe,decls:2,vars:0,template:function(i,r){1&i&&(bi(Gpe),_t(0),_t(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: inherit;--mdc-outlined-button-label-text-color: inherit}.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 e})(),l6=(()=>{class e{static#e=this.\u0275fac=function(i){return new(i||e)};static#t=this.\u0275mod=Rt({type:e});static#n=this.\u0275inj=kt({imports:[Cn,Cn]})}return e})();const qpe=["*"],Zpe=[[["","mat-card-avatar",""],["","matCardAvatar",""]],[["mat-card-title"],["mat-card-subtitle"],["","mat-card-title",""],["","mat-card-subtitle",""],["","matCardTitle",""],["","matCardSubtitle",""]],"*"],Qpe=["[mat-card-avatar], [matCardAvatar]","mat-card-title, mat-card-subtitle,\n [mat-card-title], [mat-card-subtitle],\n [matCardTitle], [matCardSubtitle]","*"],Jpe=new Ce("MAT_CARD_CONFIG");let AS=(()=>{class e{constructor(t){this.appearance=t?.appearance||"raised"}static#e=this.\u0275fac=function(i){return new(i||e)(T(Jpe,8))};static#t=this.\u0275cmp=Tt({type:e,selectors:[["mat-card"]],hostAttrs:[1,"mat-mdc-card","mdc-card"],hostVars:4,hostBindings:function(i,r){2&i&&Ct("mat-mdc-card-outlined","outlined"===r.appearance)("mdc-card--outlined","outlined"===r.appearance)},inputs:{appearance:"appearance"},exportAs:["matCard"],ngContentSelectors:qpe,decls:1,vars:0,template:function(i,r){1&i&&(bi(),_t(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);--mdc-elevated-card-container-shape:4px;--mdc-outlined-card-container-shape:4px;--mdc-outlined-card-outline-width:1px}.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 e})(),d6=(()=>{class e{static#e=this.\u0275fac=function(i){return new(i||e)};static#t=this.\u0275dir=Me({type:e,selectors:[["mat-card-title"],["","mat-card-title",""],["","matCardTitle",""]],hostAttrs:[1,"mat-mdc-card-title"]})}return e})(),u6=(()=>{class e{static#e=this.\u0275fac=function(i){return new(i||e)};static#t=this.\u0275dir=Me({type:e,selectors:[["mat-card-content"]],hostAttrs:[1,"mat-mdc-card-content"]})}return e})(),h6=(()=>{class e{static#e=this.\u0275fac=function(i){return new(i||e)};static#t=this.\u0275cmp=Tt({type:e,selectors:[["mat-card-header"]],hostAttrs:[1,"mat-mdc-card-header"],ngContentSelectors:Qpe,decls:4,vars:0,consts:[[1,"mat-mdc-card-header-text"]],template:function(i,r){1&i&&(bi(Zpe),_t(0),j(1,"div",0),_t(2,1),W(),_t(3,2))},encapsulation:2,changeDetection:0})}return e})(),f6=(()=>{class e{static#e=this.\u0275fac=function(i){return new(i||e)};static#t=this.\u0275mod=Rt({type:e});static#n=this.\u0275inj=kt({imports:[Cn,Wa,Cn]})}return e})();function ime(e,n){if(1&e){const t=tr();j(0,"button",10),Be("click",function(){return yn(t),bn(st().setShowDescription(!1))}),j(1,"span",11),Pe(2," expand_less "),W()()}}function rme(e,n){if(1&e){const t=tr();j(0,"button",12),Be("click",function(){return yn(t),bn(st().setShowDescription(!0))}),j(1,"span",11),Pe(2," expand_more"),W()()}}function ome(e,n){if(1&e&&(j(0,"span",13),Pe(1),$t(2,"async"),W()),2&e){const t=st();ye(1),$a(" Step: ",Ut(2,1,t.stepDescription$),"")}}function ame(e,n){if(1&e&&(j(0,"mat-card",14)(1,"span",15),Pe(2),$t(3,"async"),W()()),2&e){const t=st();ye(2),io(Ut(3,1,t.description$))}}let sme=(()=>{class e{constructor(t,i,r,o){this.titleService=t,this.replayService=i,this.replayStateService=r,this.dialogService=o,this.title$=this.titleService.title$,this.description$=this.titleService.description$,this.showDescription$=this.titleService.showDescription$,this.isReplay$=this.replayStateService.replayOn$,this.stepDescription$=uR([this.replayService.currentStep$,this.replayService.maxStepNumber$]).pipe(ce(([a,s])=>`${a}/${s}`)),this.showDescription=this.titleService.showDescription$}openHeaderDialog(){const t=new uo;t.disableClose=!1,t.autoFocus=!0,this.dialogService.openDialog(ipe,t)}setShowDescription(t){this.titleService.setShowDescription(t)}static#e=this.\u0275fac=function(i){return new(i||e)(T(Br),T(Ep),T(wp),T(df))};static#t=this.\u0275cmp=Tt({type:e,selectors:[["app-header"]],decls:19,vars:15,consts:[["color","primary",1,"toolbar"],["class","headerButton","title","Hide Description",3,"click",4,"ngIf"],["class","headerButton","title","Show Description",3,"click",4,"ngIf"],[1,"mr-10"],["title","Edit Title and Description",1,"headline",3,"click"],[1,"material-icons","materialIconButton","editIcon"],[1,"domainNameSpacer"],["title","Replay Step",4,"ngIf"],[1,"buttonSpacer"],["class","smallScrollbar description",4,"ngIf"],["title","Hide Description",1,"headerButton",3,"click"],[1,"material-icons","materialIconButton","toggle"],["title","Show Description",1,"headerButton",3,"click"],["title","Replay Step"],[1,"smallScrollbar","description"],[1,"descriptionText"]],template:function(i,r){1&i&&(j(0,"mat-toolbar",0)(1,"mat-toolbar-row"),et(2,ime,3,0,"button",1),$t(3,"async"),et(4,rme,3,0,"button",2),$t(5,"async"),j(6,"span",3)(7,"span",4),Be("click",function(){return r.openHeaderDialog()}),Pe(8),$t(9,"async"),j(10,"span",5),Pe(11," edit "),W()()(),rt(12,"span",6),et(13,ome,3,3,"span",7),$t(14,"async"),rt(15,"span",8)(16,"app-header-buttons"),W()(),et(17,ame,4,3,"mat-card",9),$t(18,"async")),2&i&&(ye(2),Ae("ngIf",Ut(3,5,r.showDescription)),ye(2),Ae("ngIf",!Ut(5,7,r.showDescription)),ye(4),$a(" ",Ut(9,9,r.title$)," "),ye(5),Ae("ngIf",Ut(14,11,r.isReplay$)),ye(4),Ae("ngIf",Ut(18,13,r.showDescription$)))},dependencies:[co,Upe,c6,TS,AS,fa],styles:[".noPointer[_ngcontent-%COMP%]{cursor:default!important}.description[_ngcontent-%COMP%]{top:0;max-width:100vw;overflow-y:scroll;display:grid}.descriptionText[_ngcontent-%COMP%]{position:relative;font-size:10pt;overflow-wrap:anywhere;word-wrap:anywhere;white-space:pre-wrap;padding-left:15px;padding-right:15px;align-self:center;line-height:12pt}.description[_ngcontent-%COMP%]:hover{cursor:default}.domainNameSpacer[_ngcontent-%COMP%]{flex:1 1 auto}.buttonSpacer[_ngcontent-%COMP%]{margin-right:15px}.headline[_ngcontent-%COMP%]:hover > .editIcon[_ngcontent-%COMP%]{display:contents}.headline[_ngcontent-%COMP%] > .editIcon[_ngcontent-%COMP%]{display:none}.headerButton[_ngcontent-%COMP%]:hover{cursor:pointer;color:#fff}"]})}return e})(),Sy=(()=>{class e{constructor(t,i,r,o,a,s,c){this.configurationService=t,this.iconDictionaryService=i,this.importService=r,this.titleService=o,this.storageService=a,this.elementRegistryService=s,this.snackbar=c,this.allIconListItems=new tn,this.configurationHasChanged=!1,this.selectedActors$=new Qt([]),this.selectedWorkobjects$=new Qt([]),this.domainConfigurationTypes=new Qt(this.configurationService.getCurrentConfigurationNamesWithoutPrefix()),this.selectedWorkobjects$.next(this.domainConfigurationTypes.value.workObjects),this.selectedActors$.next(this.domainConfigurationTypes.value.actors),i.getAllIconDictionary().keysArray().forEach(u=>{this.addIconToAllIconList(u)}),r.importedConfigurationEvent.subscribe(u=>{this.importConfiguration(u)});const l=this.storageService.getStoredDomainConfiguration();l&&this.importConfiguration(l,!1);const d=this.importService.getImportedConfiguration();d&&this.importConfiguration(d,!1)}importConfiguration(t,i=!0){const r=t.actors.keysArray(),o=t.workObjects.keysArray();this.changeName(t.name),r.forEach(a=>{this.allIconListItems.has(a)||this.addIconToAllIconList(a),this.selectedActors$.value.includes(a)||this.selectActor(a)}),o.forEach(a=>{this.allIconListItems.has(a)||this.addIconToAllIconList(a),this.selectedWorkobjects$.value.includes(a)||this.selectWorkObject(a)}),i&&this.saveDomain(this.elementRegistryService.getUsedIcons(),!0)}getDomainConfiguration(){return this.domainConfigurationTypes}getIconForName(t){return this.allIconListItems.get(t)}isIconActor(t){return this.domainConfigurationTypes.value.actors.filter(i=>i===t).length>0}isIconWorkObject(t){return this.domainConfigurationTypes.value.workObjects.filter(i=>i===t).length>0}changeName(t){this.titleService.setDomainName(t);const i=this.domainConfigurationTypes.value;i.name=t,this.domainConfigurationTypes.next(i)}setAsUnassigned(t,i){i?this.deselectActor(t):this.deselectWorkobject(t),this.updateIcon(!1,!1,t)}setAsActor(t,i){if(t){this.updateIcon(!0,!1,i),this.selectActor(i),this.deselectWorkobject(i);const r=this.iconDictionaryService.getFullDictionary().get(i);this.iconDictionaryService.getActorsDictionary().add(r,i)}else this.deselectActor(i),this.updateIcon(!1,!1,i),this.iconDictionaryService.getActorsDictionary().delete(i)}setAsWorkobject(t,i){if(t){this.updateIcon(!1,!0,i),this.selectWorkObject(i),this.deselectActor(i);const r=this.iconDictionaryService.getFullDictionary().get(i);this.iconDictionaryService.getWorkObjectsDictionary().add(r,i)}else this.deselectWorkobject(i),this.updateIcon(!1,!1,i),this.iconDictionaryService.getWorkObjectsDictionary().delete(i)}selectActor(t){const i=this.domainConfigurationTypes.value;i.actors.includes(t)||(i.actors.push(t),this.domainConfigurationTypes.next(i),this.updateActorSubject())}selectWorkObject(t){const i=this.domainConfigurationTypes.value;i.workObjects.includes(t)||(i.workObjects.push(t),this.domainConfigurationTypes.next(i),this.updateWorkObjectSubject())}deselectActor(t){this.domainConfigurationTypes&&this.domainConfigurationTypes.next({name:this.domainConfigurationTypes.value.name,actors:this.domainConfigurationTypes.value.actors.filter(i=>!i.includes(t)),workObjects:this.domainConfigurationTypes.value.workObjects}),this.updateActorSubject()}deselectWorkobject(t){this.domainConfigurationTypes&&this.domainConfigurationTypes.next({name:this.domainConfigurationTypes.value.name,actors:this.domainConfigurationTypes.value.actors,workObjects:this.domainConfigurationTypes.value.workObjects.filter(i=>!i.includes(t))}),this.updateWorkObjectSubject()}setSelectedWorkObject(t){const i=this.domainConfigurationTypes.value;i.workObjects=t,this.domainConfigurationTypes.next(i),this.updateWorkObjectSubject()}setSelectedActors(t){const i=this.domainConfigurationTypes.value;i.actors=t,this.domainConfigurationTypes.next(i),this.updateActorSubject()}updateActorSubject(){this.selectedActors$.next(this.domainConfigurationTypes.value.actors),this.configurationHasChanged=!0}updateWorkObjectSubject(){this.selectedWorkobjects$.next(this.domainConfigurationTypes.value.workObjects),this.configurationHasChanged=!0}resetDomain(){const t=this.configurationService.createMinimalConfigurationWithDefaultIcons();this.selectedWorkobjects$.value.forEach(i=>{t.workObjects.has(i)||this.deselectWorkobject(i)}),this.selectedActors$.value.forEach(i=>{t.actors.has(i)||this.deselectActor(i)}),this.domainConfigurationTypes.next({name:t.name,actors:t.actors.keysArray(),workObjects:t.workObjects.keysArray()}),this.updateAllIconBehaviourSubjects()}cancel(){this.domainConfigurationTypes.next(this.configurationService.getCurrentConfigurationNamesWithoutPrefix()),this.updateAllIconBehaviourSubjects(),this.resetToInitialConfiguration()}resetToInitialConfiguration(){this.updateActorSubject(),this.updateWorkObjectSubject()}saveDomain(t,i=!1){const r=[],o=[];if(this.configurationHasChanged){const a=this.createDomainConfiguration(),s=a.actors.keysArray();t?.actors.forEach(l=>{!s?.includes(l)&&!r.includes(l)&&r.push(l)});const c=a.workObjects.keysArray();t?.workobjects.forEach(l=>{!c?.includes(l)&&!o.includes(l)&&o.push(l)}),!r.length&&!o.length&&(this.changedDomainCofiguration=a,this.updateIcons(a),this.storageService.setStoredDomainConfiguration(this.changedDomainCofiguration),this.snackbar.open(i?"Configuration imported successfully":"Configuration saved sucessfully",void 0,{duration:Lr,panelClass:y1}))}else this.snackbar.open(i?"No configuration to be imported":"No configuration to be saved",void 0,{duration:Lr,panelClass:Bs});if(r.length||o.length){if(r.length){const a=r.join(", ");this.snackbar.open(`The following icons are already in use as actors and cannot be changed: ${a}`,void 0,{duration:6e3,panelClass:Bs})}if(o.length){const a=o.join(", ");this.snackbar.open(`The following icons are already in use as workobjects and cannot be changed: ${a}`,void 0,{duration:6e3,panelClass:Bs})}}}exportDomain(){this.configurationService.exportConfiguration()}getAndClearSavedConfiguration(){const t=this.changedDomainCofiguration;return this.changedDomainCofiguration=void 0,t}createDomainConfiguration(){const t=new tn,i=new tn;return this.domainConfigurationTypes.value.actors.forEach(r=>{t.add(this.iconDictionaryService.getIconSource(r),r)}),this.domainConfigurationTypes.value.workObjects.forEach(r=>{i.add(this.iconDictionaryService.getIconSource(r),r)}),{name:this.domainConfigurationTypes.value.name||"",actors:t,workObjects:i}}addNewIcon(t){const i=new tn;i.add(this.getSrcForIcon(t),t),this.iconDictionaryService.addIconsToCss(i),this.addIconToAllIconList(t)}addIconToAllIconList(t){this.allIconListItems.add(new Qt({name:t,svg:this.getSrcForIcon(t),isActor:this.isIconActor(t),isWorkObject:this.isIconWorkObject(t)}),t)}updateIcon(t,i,r){const o=this.getIconForName(r),a=o.value;a.isActor=t,a.isWorkObject=i,o.next(a)}updateAllIconBehaviourSubjects(){const t=this.domainConfigurationTypes.value;this.allIconListItems.keysArray().forEach(i=>{t.actors.includes(i)?this.updateIcon(!0,!1,i):t.workObjects.includes(i)?this.updateIcon(!1,!0,i):this.updateIcon(!1,!1,i)})}getSrcForIcon(t){let i;i=t.includes(Z.DOMAINSTORY)?Vs(t):t;const r=this.iconDictionaryService.getIconSource(i);return r?r.startsWith("data")?r:"data:image/svg+xml,"+r:""}updateIcons(t){this.allIconListItems.keysArray().forEach(i=>this.setAsUnassigned(i,this.isIconActor(i))),t.actors.keysArray().forEach(i=>this.setAsActor(!0,i)),t.workObjects.keysArray().forEach(i=>this.setAsWorkobject(!0,i))}static#e=this.\u0275fac=function(i){return new(i||e)(N($c),N(Qa),N(kS),N(Br),N(xy),N(jo),N(dl))};static#t=this.\u0275prov=Se({token:e,factory:e.\u0275fac,providedIn:"root"})}return e})();const p6="autosaveConfiguration",m6={activated:!0,interval:30,amount:5};let g6=(()=>{class e{constructor(t){this.storageService=t,this.configuration=m6,this.configurationSubject=new MB(1),this.configuration$=this.configurationSubject.asObservable(),this.initializeConfiguration()}initializeConfiguration(){this.loadConfiguration(),this.configurationSubject.next(this.configuration)}setConfiguration(t){try{return this.configuration=t,this.saveConfiguration(),this.configurationSubject.next(t),!0}catch{return!1}}loadConfiguration(){this.configuration=this.storageService.get(p6)??m6}saveConfiguration(){this.storageService.set(p6,this.configuration)}static#e=this.\u0275fac=function(i){return new(i||e)(N(xy))};static#t=this.\u0275prov=Se({token:e,factory:e.\u0275fac,providedIn:"root"})}return e})();function cme(e,n){if(1&e){const t=tr();j(0,"mat-card")(1,"mat-card-header")(2,"mat-card-title"),Pe(3,"Autosave Options"),W()(),j(4,"mat-card-content",1)(5,"div",2),rt(6,"input",3,4),j(8,"mat-label"),Pe(9,"Enabled"),W()(),j(10,"div",5)(11,"mat-label"),Pe(12,"Interval"),W(),rt(13,"input",6,7),W(),j(15,"div",5)(16,"mat-label"),Pe(17,"Amount"),W(),rt(18,"input",6,8),W(),j(20,"button",9),Be("click",function(){yn(t);const r=er(7),o=er(19),a=er(14);return bn(st().save(r.checked,+o.value,+a.value))}),Pe(21," Apply "),W()()()}if(2&e){const t=n.ngIf;ye(6),Ae("checked",t.activated),ye(7),Ae("value",t.interval),ye(5),Ae("value",t.amount)}}let lme=(()=>{class e{constructor(t,i){this.autosaveConfiguration=t,this.snackbar=i}save(t,i,r){this.autosaveConfiguration.setConfiguration({activated:t,amount:i,interval:r})?this.snackbar.open("Settings for Autosave saved",void 0,{duration:Lr,panelClass:y1}):this.snackbar.open("Unable to save settings for Autosave - please try again",void 0,{duration:4e3,panelClass:nN})}static#e=this.\u0275fac=function(i){return new(i||e)(T(g6),T(dl))};static#t=this.\u0275cmp=Tt({type:e,selectors:[["app-autosave-options"]],decls:2,vars:3,consts:[[4,"ngIf"],[1,"cardContent"],[1,"alignSelfCenter"],["type","checkbox",3,"checked"],["activated",""],[1,"inputContainer"],["min","1","type","number",1,"numberInput",3,"value"],["interval",""],["amount",""],["mat-raised-button","","color","primary",1,"saveButton",3,"click"]],template:function(i,r){1&i&&(et(0,cme,22,3,"mat-card",0),$t(1,"async")),2&i&&Ae("ngIf",Ut(1,1,r.autosaveConfiguration.configuration$))},dependencies:[co,ps,xu,AS,u6,h6,d6,fa],styles:[".autosaveEnabled[_ngcontent-%COMP%], .autosaveInterval[_ngcontent-%COMP%]{display:inline-grid;grid-template-columns:120px auto;width:300px;grid-row-gap:5px;height:20px}.enableButton[_ngcontent-%COMP%]{justify-self:start}.autosaveEnabled[_ngcontent-%COMP%]{padding-bottom:2px}.autosaveInterval[_ngcontent-%COMP%]{padding-bottom:10px}.autosaveIntervalSpan[_ngcontent-%COMP%]{padding-top:2px;justify-self:start}.saveButton[_ngcontent-%COMP%]{align-self:end;right:0;margin-left:-5px}.cardContent[_ngcontent-%COMP%]{display:flex;justify-content:space-between}.inputContainer[_ngcontent-%COMP%]{display:inline-grid;width:-moz-fit-content;width:fit-content}.numberInput[_ngcontent-%COMP%]{justify-self:end;width:64px}.alignSelfCenter[_ngcontent-%COMP%]{align-self:center}"]})}return e})();const MS="autosaveDrafts";let Dy=(()=>{class e{constructor(t,i,r,o,a,s,c){this.autosaveConfiguration=t,this.exportService=i,this.iconDictionaryService=r,this.rendererService=o,this.snackbar=a,this.storageService=s,this.titleService=c,this.autosavedDraftsChanged$=new Y,this.autosaveConfiguration.configuration$.subscribe(l=>this.updateConfiguration(l))}loadCurrentDrafts(){const t=this.readDrafts();return this.sortDrafts(t),t}loadDraft(t){const r=Cp(t.configAndDST.domain),o=JSON.parse(t.configAndDST.dst);this.titleService.updateTitleAndDescription(t.title,t.description,!1);const a=this.iconDictionaryService.getElementsOfType(o,Z.ACTOR),s=this.iconDictionaryService.getElementsOfType(o,Z.WORKOBJECT);this.iconDictionaryService.updateIconRegistries(a,s,r),this.rendererService.importStory(o,!0,r,!1)}removeAllDrafts(){this.storageService.set(MS,[]),this.autosavedDraftsChanged$.next()}loadLatestDraft(){const t=this.readDrafts();0!==t.length&&this.loadDraft(t[0])}updateConfiguration(t){this.stopTimer(),t.activated&&this.startTimer(t.interval,t.amount)}stopTimer(){this.autosaveTimer&&(clearInterval(this.autosaveTimer),this.autosaveTimer=void 0)}startTimer(t,i){this.autosaveTimer=setInterval(()=>{const r=this.loadCurrentDrafts(),o=this.createDraft();let a=i>0;if(r.length>0&&(a=a&&!this.isSame(o,r[0])),a&&!this.isDraftEmpty(o)){for(r.unshift(o);r.length>i;)r.pop();this.writeDrafts(r),this.snackbar.open("Draft Saved",void 0,{panelClass:Bs,duration:Lr}),this.autosavedDraftsChanged$.next()}},1e3*t)}isDraftEmpty(t){return t.title===pv&&t.description===mv&&0===JSON.parse(t.configAndDST.dst).length}isSame(t,i){return t.title===i.title&&t.description===i.description&&JSON.stringify(t.configAndDST)===JSON.stringify(i.configAndDST)}writeDrafts(t){this.storageService.set(MS,t)}readDrafts(){return this.storageService.get(MS)??[]}createDraft(){const t=JSON.stringify(this.rendererService.getStory(),null,2),i=this.exportService.createConfigAndDST(t),r=(new Date).toString().slice(0,25);return{title:this.titleService.getTitle(),description:this.titleService.getDescription(),configAndDST:i,date:r}}sortDrafts(t){t.sort((i,r)=>Date.parse(i.date)>Date.parse(r.date)?0:1)}static#e=this.\u0275fac=function(i){return new(i||e)(N(g6),N(Ey),N(Qa),N(wy),N(dl),N(xy),N(Br))};static#t=this.\u0275prov=Se({token:e,factory:e.\u0275fac,providedIn:"root"})}return e})(),dme=0;const IS=new Ce("CdkAccordion");let ume=(()=>{class e{constructor(){this._stateChanges=new Y,this._openCloseAllActions=new Y,this.id="cdk-accordion-"+dme++,this._multi=!1}get multi(){return this._multi}set multi(t){this._multi=rn(t)}openAll(){this._multi&&this._openCloseAllActions.next(!0)}closeAll(){this._openCloseAllActions.next(!1)}ngOnChanges(t){this._stateChanges.next(t)}ngOnDestroy(){this._stateChanges.complete(),this._openCloseAllActions.complete()}static#e=this.\u0275fac=function(i){return new(i||e)};static#t=this.\u0275dir=Me({type:e,selectors:[["cdk-accordion"],["","cdkAccordion",""]],inputs:{multi:"multi"},exportAs:["cdkAccordion"],features:[Yt([{provide:IS,useExisting:e}]),Tr]})}return e})(),hme=0,fme=(()=>{class e{get expanded(){return this._expanded}set expanded(t){t=rn(t),this._expanded!==t&&(this._expanded=t,this.expandedChange.emit(t),t?(this.opened.emit(),this._expansionDispatcher.notify(this.id,this.accordion?this.accordion.id:this.id)):this.closed.emit(),this._changeDetectorRef.markForCheck())}get disabled(){return this._disabled}set disabled(t){this._disabled=rn(t)}constructor(t,i,r){this.accordion=t,this._changeDetectorRef=i,this._expansionDispatcher=r,this._openCloseAllSubscription=ee.EMPTY,this.closed=new Xt,this.opened=new Xt,this.destroyed=new Xt,this.expandedChange=new Xt,this.id="cdk-accordion-child-"+hme++,this._expanded=!1,this._disabled=!1,this._removeUniqueSelectionListener=()=>{},this._removeUniqueSelectionListener=r.listen((o,a)=>{this.accordion&&!this.accordion.multi&&this.accordion.id===a&&this.id!==o&&(this.expanded=!1)}),this.accordion&&(this._openCloseAllSubscription=this._subscribeToOpenCloseAllActions())}ngOnDestroy(){this.opened.complete(),this.closed.complete(),this.destroyed.emit(),this.destroyed.complete(),this._removeUniqueSelectionListener(),this._openCloseAllSubscription.unsubscribe()}toggle(){this.disabled||(this.expanded=!this.expanded)}close(){this.disabled||(this.expanded=!1)}open(){this.disabled||(this.expanded=!0)}_subscribeToOpenCloseAllActions(){return this.accordion._openCloseAllActions.subscribe(t=>{this.disabled||(this.expanded=t)})}static#e=this.\u0275fac=function(i){return new(i||e)(T(IS,12),T(No),T(KB))};static#t=this.\u0275dir=Me({type:e,selectors:[["cdk-accordion-item"],["","cdkAccordionItem",""]],inputs:{expanded:"expanded",disabled:"disabled"},outputs:{closed:"closed",opened:"opened",destroyed:"destroyed",expandedChange:"expandedChange"},exportAs:["cdkAccordionItem"],features:[Yt([{provide:IS,useValue:void 0}])]})}return e})(),pme=(()=>{class e{static#e=this.\u0275fac=function(i){return new(i||e)};static#t=this.\u0275mod=Rt({type:e});static#n=this.\u0275inj=kt({})}return e})();const mme=["body"];function gme(e,n){}const vme=[[["mat-expansion-panel-header"]],"*",[["mat-action-row"]]],_me=["mat-expansion-panel-header","*","mat-action-row"];function yme(e,n){1&e&&rt(0,"span",2),2&e&&Ae("@indicatorRotate",st()._getExpandedState())}const bme=[[["mat-panel-title"]],[["mat-panel-description"]],"*"],xme=["mat-panel-title","mat-panel-description","*"],OS=new Ce("MAT_ACCORDION"),v6="225ms cubic-bezier(0.4,0.0,0.2,1)",_6={indicatorRotate:Qh("indicatorRotate",[Xa("collapsed, void",ar({transform:"rotate(0deg)"})),Xa("expanded",ar({transform:"rotate(180deg)"})),Lc("expanded <=> collapsed, void => collapsed",Fc(v6))]),bodyExpansion:Qh("bodyExpansion",[Xa("collapsed, void",ar({height:"0px",visibility:"hidden"})),Xa("expanded",ar({height:"*",visibility:""})),Lc("expanded <=> collapsed, void => collapsed",Fc(v6))])},y6=new Ce("MAT_EXPANSION_PANEL");let wme=(()=>{class e{constructor(t,i){this._template=t,this._expansionPanel=i}static#e=this.\u0275fac=function(i){return new(i||e)(T(ro),T(y6,8))};static#t=this.\u0275dir=Me({type:e,selectors:[["ng-template","matExpansionPanelContent",""]]})}return e})(),Eme=0;const b6=new Ce("MAT_EXPANSION_PANEL_DEFAULT_OPTIONS");let x6=(()=>{class e extends fme{get hideToggle(){return this._hideToggle||this.accordion&&this.accordion.hideToggle}set hideToggle(t){this._hideToggle=rn(t)}get togglePosition(){return this._togglePosition||this.accordion&&this.accordion.togglePosition}set togglePosition(t){this._togglePosition=t}constructor(t,i,r,o,a,s,c){super(t,i,r),this._viewContainerRef=o,this._animationMode=s,this._hideToggle=!1,this.afterExpand=new Xt,this.afterCollapse=new Xt,this._inputChanges=new Y,this._headerId="mat-expansion-panel-header-"+Eme++,this._bodyAnimationDone=new Y,this.accordion=t,this._document=a,this._bodyAnimationDone.pipe(Ao((l,d)=>l.fromState===d.fromState&&l.toState===d.toState)).subscribe(l=>{"void"!==l.fromState&&("expanded"===l.toState?this.afterExpand.emit():"collapsed"===l.toState&&this.afterCollapse.emit())}),c&&(this.hideToggle=c.hideToggle)}_hasSpacing(){return!!this.accordion&&this.expanded&&"default"===this.accordion.displayMode}_getExpandedState(){return this.expanded?"expanded":"collapsed"}toggle(){this.expanded=!this.expanded}close(){this.expanded=!1}open(){this.expanded=!0}ngAfterContentInit(){this._lazyContent&&this._lazyContent._expansionPanel===this&&this.opened.pipe(Wh(null),Pr(()=>this.expanded&&!this._portal),Ps(1)).subscribe(()=>{this._portal=new av(this._lazyContent._template,this._viewContainerRef)})}ngOnChanges(t){this._inputChanges.next(t)}ngOnDestroy(){super.ngOnDestroy(),this._bodyAnimationDone.complete(),this._inputChanges.complete()}_containsFocus(){if(this._body){const t=this._document.activeElement,i=this._body.nativeElement;return t===i||i.contains(t)}return!1}static#e=this.\u0275fac=function(i){return new(i||e)(T(OS,12),T(No),T(KB),T(oo),T(qt),T($i,8),T(b6,8))};static#t=this.\u0275cmp=Tt({type:e,selectors:[["mat-expansion-panel"]],contentQueries:function(i,r,o){if(1&i&&oi(o,wme,5),2&i){let a;Vt(a=jt())&&(r._lazyContent=a.first)}},viewQuery:function(i,r){if(1&i&&wi(mme,5),2&i){let o;Vt(o=jt())&&(r._body=o.first)}},hostAttrs:[1,"mat-expansion-panel"],hostVars:6,hostBindings:function(i,r){2&i&&Ct("mat-expanded",r.expanded)("_mat-animation-noopable","NoopAnimations"===r._animationMode)("mat-expansion-panel-spacing",r._hasSpacing())},inputs:{disabled:"disabled",expanded:"expanded",hideToggle:"hideToggle",togglePosition:"togglePosition"},outputs:{opened:"opened",closed:"closed",expandedChange:"expandedChange",afterExpand:"afterExpand",afterCollapse:"afterCollapse"},exportAs:["matExpansionPanel"],features:[Yt([{provide:OS,useValue:void 0},{provide:y6,useExisting:e}]),dt,Tr],ngContentSelectors:_me,decls:7,vars:4,consts:[["role","region",1,"mat-expansion-panel-content",3,"id"],["body",""],[1,"mat-expansion-panel-body"],[3,"cdkPortalOutlet"]],template:function(i,r){1&i&&(bi(vme),_t(0),j(1,"div",0,1),Be("@bodyExpansion.done",function(a){return r._bodyAnimationDone.next(a)}),j(3,"div",2),_t(4,1),et(5,gme,0,0,"ng-template",3),W(),_t(6,2),W()),2&i&&(ye(1),Ae("@bodyExpansion",r._getExpandedState())("id",r.id),hn("aria-labelledby",r._headerId),ye(4),Ae("cdkPortalOutlet",r._portal))},dependencies:[Pd],styles:['.mat-expansion-panel{--mat-expansion-container-shape:4px;box-sizing:content-box;display:block;margin:0;overflow:hidden;transition:margin 225ms cubic-bezier(0.4, 0, 0.2, 1),box-shadow 280ms cubic-bezier(0.4, 0, 0.2, 1);position:relative;background:var(--mat-expansion-container-background-color);color:var(--mat-expansion-container-text-color);border-radius:var(--mat-expansion-container-shape)}.mat-expansion-panel:not([class*=mat-elevation-z]){box-shadow:0px 3px 1px -2px rgba(0, 0, 0, 0.2), 0px 2px 2px 0px rgba(0, 0, 0, 0.14), 0px 1px 5px 0px rgba(0, 0, 0, 0.12)}.mat-accordion .mat-expansion-panel:not(.mat-expanded),.mat-accordion .mat-expansion-panel:not(.mat-expansion-panel-spacing){border-radius:0}.mat-accordion .mat-expansion-panel:first-of-type{border-top-right-radius:var(--mat-expansion-container-shape);border-top-left-radius:var(--mat-expansion-container-shape)}.mat-accordion .mat-expansion-panel:last-of-type{border-bottom-right-radius:var(--mat-expansion-container-shape);border-bottom-left-radius:var(--mat-expansion-container-shape)}.cdk-high-contrast-active .mat-expansion-panel{outline:solid 1px}.mat-expansion-panel.ng-animate-disabled,.ng-animate-disabled .mat-expansion-panel,.mat-expansion-panel._mat-animation-noopable{transition:none}.mat-expansion-panel-content{display:flex;flex-direction:column;overflow:visible;font-family:var(--mat-expansion-container-text-font);font-size:var(--mat-expansion-container-text-size);font-weight:var(--mat-expansion-container-text-weight);line-height:var(--mat-expansion-container-text-line-height);letter-spacing:var(--mat-expansion-container-text-tracking)}.mat-expansion-panel-content[style*="visibility: hidden"] *{visibility:hidden !important}.mat-expansion-panel-body{padding:0 24px 16px}.mat-expansion-panel-spacing{margin:16px 0}.mat-accordion>.mat-expansion-panel-spacing:first-child,.mat-accordion>*:first-child:not(.mat-expansion-panel) .mat-expansion-panel-spacing{margin-top:0}.mat-accordion>.mat-expansion-panel-spacing:last-child,.mat-accordion>*:last-child:not(.mat-expansion-panel) .mat-expansion-panel-spacing{margin-bottom:0}.mat-action-row{border-top-style:solid;border-top-width:1px;display:flex;flex-direction:row;justify-content:flex-end;padding:16px 8px 16px 24px;border-top-color:var(--mat-expansion-actions-divider-color)}.mat-action-row .mat-button-base,.mat-action-row .mat-mdc-button-base{margin-left:8px}[dir=rtl] .mat-action-row .mat-button-base,[dir=rtl] .mat-action-row .mat-mdc-button-base{margin-left:0;margin-right:8px}'],encapsulation:2,data:{animation:[_6.bodyExpansion]},changeDetection:0})}return e})();class Cme{}const Sme=MR(Cme);let w6=(()=>{class e extends Sme{constructor(t,i,r,o,a,s,c){super(),this.panel=t,this._element=i,this._focusMonitor=r,this._changeDetectorRef=o,this._animationMode=s,this._parentChangeSubscription=ee.EMPTY;const l=t.accordion?t.accordion._stateChanges.pipe(Pr(d=>!(!d.hideToggle&&!d.togglePosition))):Co;this.tabIndex=parseInt(c||"")||0,this._parentChangeSubscription=To(t.opened,t.closed,l,t._inputChanges.pipe(Pr(d=>!!(d.hideToggle||d.disabled||d.togglePosition)))).subscribe(()=>this._changeDetectorRef.markForCheck()),t.closed.pipe(Pr(()=>t._containsFocus())).subscribe(()=>r.focusVia(i,"program")),a&&(this.expandedHeight=a.expandedHeight,this.collapsedHeight=a.collapsedHeight)}get disabled(){return this.panel.disabled}_toggle(){this.disabled||this.panel.toggle()}_isExpanded(){return this.panel.expanded}_getExpandedState(){return this.panel._getExpandedState()}_getPanelId(){return this.panel.id}_getTogglePosition(){return this.panel.togglePosition}_showToggle(){return!this.panel.hideToggle&&!this.panel.disabled}_getHeaderHeight(){const t=this._isExpanded();return t&&this.expandedHeight?this.expandedHeight:!t&&this.collapsedHeight?this.collapsedHeight:null}_keydown(t){switch(t.keyCode){case 32:case 13:Uh(t)||(t.preventDefault(),this._toggle());break;default:return void(this.panel.accordion&&this.panel.accordion._handleHeaderKeydown(t))}}focus(t,i){t?this._focusMonitor.focusVia(this._element,t,i):this._element.nativeElement.focus(i)}ngAfterViewInit(){this._focusMonitor.monitor(this._element).subscribe(t=>{t&&this.panel.accordion&&this.panel.accordion._handleHeaderFocus(this)})}ngOnDestroy(){this._parentChangeSubscription.unsubscribe(),this._focusMonitor.stopMonitoring(this._element)}static#e=this.\u0275fac=function(i){return new(i||e)(T(x6,1),T(Ft),T(Od),T(No),T(b6,8),T($i,8),Vl("tabindex"))};static#t=this.\u0275cmp=Tt({type:e,selectors:[["mat-expansion-panel-header"]],hostAttrs:["role","button",1,"mat-expansion-panel-header","mat-focus-indicator"],hostVars:15,hostBindings:function(i,r){1&i&&Be("click",function(){return r._toggle()})("keydown",function(a){return r._keydown(a)}),2&i&&(hn("id",r.panel._headerId)("tabindex",r.tabIndex)("aria-controls",r._getPanelId())("aria-expanded",r._isExpanded())("aria-disabled",r.panel.disabled),z0("height",r._getHeaderHeight()),Ct("mat-expanded",r._isExpanded())("mat-expansion-toggle-indicator-after","after"===r._getTogglePosition())("mat-expansion-toggle-indicator-before","before"===r._getTogglePosition())("_mat-animation-noopable","NoopAnimations"===r._animationMode))},inputs:{tabIndex:"tabIndex",expandedHeight:"expandedHeight",collapsedHeight:"collapsedHeight"},features:[dt],ngContentSelectors:xme,decls:5,vars:3,consts:[[1,"mat-content"],["class","mat-expansion-indicator",4,"ngIf"],[1,"mat-expansion-indicator"]],template:function(i,r){1&i&&(bi(bme),j(0,"span",0),_t(1),_t(2,1),_t(3,2),W(),et(4,yme,1,1,"span",1)),2&i&&(Ct("mat-content-hide-toggle",!r._showToggle()),ye(4),Ae("ngIf",r._showToggle()))},dependencies:[co],styles:['.mat-expansion-panel-header{display:flex;flex-direction:row;align-items:center;padding:0 24px;border-radius:inherit;transition:height 225ms cubic-bezier(0.4, 0, 0.2, 1);height:var(--mat-expansion-header-collapsed-state-height);font-family:var(--mat-expansion-header-text-font);font-size:var(--mat-expansion-header-text-size);font-weight:var(--mat-expansion-header-text-weight);line-height:var(--mat-expansion-header-text-line-height);letter-spacing:var(--mat-expansion-header-text-tracking)}.mat-expansion-panel-header.mat-expanded{height:var(--mat-expansion-header-expanded-state-height)}.mat-expansion-panel-header[aria-disabled=true]{color:var(--mat-expansion-header-disabled-state-text-color)}.mat-expansion-panel-header:not([aria-disabled=true]){cursor:pointer}.mat-expansion-panel:not(.mat-expanded) .mat-expansion-panel-header:not([aria-disabled=true]):hover{background:var(--mat-expansion-header-hover-state-layer-color)}@media(hover: none){.mat-expansion-panel:not(.mat-expanded) .mat-expansion-panel-header:not([aria-disabled=true]):hover{background:var(--mat-expansion-container-background-color)}}.mat-expansion-panel .mat-expansion-panel-header:not([aria-disabled=true]).cdk-keyboard-focused,.mat-expansion-panel .mat-expansion-panel-header:not([aria-disabled=true]).cdk-program-focused{background:var(--mat-expansion-header-focus-state-layer-color)}.mat-expansion-panel-header._mat-animation-noopable{transition:none}.mat-expansion-panel-header:focus,.mat-expansion-panel-header:hover{outline:none}.mat-expansion-panel-header.mat-expanded:focus,.mat-expansion-panel-header.mat-expanded:hover{background:inherit}.mat-expansion-panel-header.mat-expansion-toggle-indicator-before{flex-direction:row-reverse}.mat-expansion-panel-header.mat-expansion-toggle-indicator-before .mat-expansion-indicator{margin:0 16px 0 0}[dir=rtl] .mat-expansion-panel-header.mat-expansion-toggle-indicator-before .mat-expansion-indicator{margin:0 0 0 16px}.mat-content{display:flex;flex:1;flex-direction:row;overflow:hidden}.mat-content.mat-content-hide-toggle{margin-right:8px}[dir=rtl] .mat-content.mat-content-hide-toggle{margin-right:0;margin-left:8px}.mat-expansion-toggle-indicator-before .mat-content.mat-content-hide-toggle{margin-left:24px;margin-right:0}[dir=rtl] .mat-expansion-toggle-indicator-before .mat-content.mat-content-hide-toggle{margin-right:24px;margin-left:0}.mat-expansion-panel-header-title{color:var(--mat-expansion-header-text-color)}.mat-expansion-panel-header-title,.mat-expansion-panel-header-description{display:flex;flex-grow:1;flex-basis:0;margin-right:16px;align-items:center}[dir=rtl] .mat-expansion-panel-header-title,[dir=rtl] .mat-expansion-panel-header-description{margin-right:0;margin-left:16px}.mat-expansion-panel-header[aria-disabled=true] .mat-expansion-panel-header-title,.mat-expansion-panel-header[aria-disabled=true] .mat-expansion-panel-header-description{color:inherit}.mat-expansion-panel-header-description{flex-grow:2;color:var(--mat-expansion-header-description-color)}.mat-expansion-indicator::after{border-style:solid;border-width:0 2px 2px 0;content:"";display:inline-block;padding:3px;transform:rotate(45deg);vertical-align:middle;color:var(--mat-expansion-header-indicator-color)}.cdk-high-contrast-active .mat-expansion-panel-content{border-top:1px solid;border-top-left-radius:0;border-top-right-radius:0}'],encapsulation:2,data:{animation:[_6.indicatorRotate]},changeDetection:0})}return e})(),Dme=(()=>{class e{static#e=this.\u0275fac=function(i){return new(i||e)};static#t=this.\u0275dir=Me({type:e,selectors:[["mat-panel-description"]],hostAttrs:[1,"mat-expansion-panel-header-description"]})}return e})(),kme=(()=>{class e{static#e=this.\u0275fac=function(i){return new(i||e)};static#t=this.\u0275dir=Me({type:e,selectors:[["mat-panel-title"]],hostAttrs:[1,"mat-expansion-panel-header-title"]})}return e})(),Tme=(()=>{class e extends ume{constructor(){super(...arguments),this._ownHeaders=new wd,this._hideToggle=!1,this.displayMode="default",this.togglePosition="after"}get hideToggle(){return this._hideToggle}set hideToggle(t){this._hideToggle=rn(t)}ngAfterContentInit(){this._headers.changes.pipe(Wh(this._headers)).subscribe(t=>{this._ownHeaders.reset(t.filter(i=>i.panel.accordion===this)),this._ownHeaders.notifyOnChanges()}),this._keyManager=new vR(this._ownHeaders).withWrap().withHomeAndEnd()}_handleHeaderKeydown(t){this._keyManager.onKeydown(t)}_handleHeaderFocus(t){this._keyManager.updateActiveItem(t)}ngOnDestroy(){super.ngOnDestroy(),this._keyManager?.destroy(),this._ownHeaders.destroy()}static#e=this.\u0275fac=function(){let t;return function(r){return(t||(t=Kn(e)))(r||e)}}();static#t=this.\u0275dir=Me({type:e,selectors:[["mat-accordion"]],contentQueries:function(i,r,o){if(1&i&&oi(o,w6,5),2&i){let a;Vt(a=jt())&&(r._headers=a)}},hostAttrs:[1,"mat-accordion"],hostVars:2,hostBindings:function(i,r){2&i&&Ct("mat-accordion-multi",r.multi)},inputs:{multi:"multi",hideToggle:"hideToggle",displayMode:"displayMode",togglePosition:"togglePosition"},exportAs:["matAccordion"],features:[Yt([{provide:OS,useExisting:e}]),dt]})}return e})(),E6=(()=>{class e{static#e=this.\u0275fac=function(i){return new(i||e)};static#t=this.\u0275mod=Rt({type:e});static#n=this.\u0275inj=kt({imports:[Wa,Cn,pme,Nd]})}return e})();function Ame(e,n){if(1&e){const t=tr();j(0,"div",6)(1,"div")(2,"div",7),Pe(3),W(),j(4,"div",8),Pe(5),W()(),j(6,"button",5),Be("click",function(){const o=yn(t).$implicit;return bn(st(2).loadDraft(o))}),Pe(7," Load Draft "),W()()}if(2&e){const t=n.$implicit;ye(3),io(t.title),ye(2),io(t.date)}}function Mme(e,n){if(1&e){const t=tr();j(0,"div",2),et(1,Ame,8,2,"div",3),j(2,"div",4),rt(3,"div"),j(4,"button",5),Be("click",function(){return yn(t),bn(st().removeAllDrafts())}),Pe(5," Remove All Drafts "),W()()()}if(2&e){const t=st();ye(1),Ae("ngForOf",t.drafts)}}function Ime(e,n){1&e&&Pe(0,"No drafts found.")}let Ome=(()=>{class e{constructor(t,i){this.autosaveService=t,this.snackbar=i,this.drafts=[],this.subscription=this.autosaveService.autosavedDraftsChanged$.subscribe(()=>this.initDrafts())}ngOnInit(){this.initDrafts()}initDrafts(){this.drafts=this.autosaveService.loadCurrentDrafts()}loadDraft(t){this.autosaveService.loadDraft(t),this.snackbar.open("Draft loaded",void 0,{duration:Lr,panelClass:y1})}removeAllDrafts(){this.autosaveService.removeAllDrafts()}static#e=this.\u0275fac=function(i){return new(i||e)(T(Dy),T(dl))};static#t=this.\u0275cmp=Tt({type:e,selectors:[["app-autosaved-drafts"]],decls:10,vars:4,consts:[["class","items",4,"ngIf","ngIfElse"],["noDrafts",""],[1,"items"],["class","item border-bottom",4,"ngFor","ngForOf"],[1,"item"],["mat-raised-button","","color","primary",1,"item-button",3,"click"],[1,"item","border-bottom"],[1,"item-title"],[1,"item-date"]],template:function(i,r){if(1&i&&(j(0,"mat-accordion")(1,"mat-expansion-panel")(2,"mat-expansion-panel-header")(3,"mat-panel-title"),Pe(4," Autosaves "),W(),j(5,"mat-panel-description"),Pe(6),W()(),et(7,Mme,6,1,"div",0),W()(),et(8,Ime,1,0,"ng-template",null,1,Ed)),2&i){const o=er(9);ye(6),$0(" ",r.drafts.length?r.drafts.length:"no"," ",r.drafts.length>1?"drafts":"draft"," available "),ye(1),Ae("ngIf",r.drafts.length)("ngIfElse",o)}},dependencies:[kd,co,ps,Tme,x6,w6,kme,Dme],styles:[".items[_ngcontent-%COMP%]{padding-top:0!important}.items[_ngcontent-%COMP%] .mat-list-item-content{padding:0}.item[_ngcontent-%COMP%]{display:flex;flex-direction:row;justify-content:space-between;padding:8px 0;width:400px}.border-bottom[_ngcontent-%COMP%]{border-bottom:1px solid darkgray}.item-title[_ngcontent-%COMP%]{font-weight:700;width:270px;text-overflow:ellipsis;overflow:hidden;white-space:nowrap}.item-date[_ngcontent-%COMP%]{font-weight:400}.item-button[_ngcontent-%COMP%]{margin-left:1rem}mat-list-item[_ngcontent-%COMP%]{border-bottom:1px solid darkgray}"]})}return e})(),Rme=(()=>{class e{static#e=this.\u0275fac=function(i){return new(i||e)};static#t=this.\u0275cmp=Tt({type:e,selectors:[["app-autosave-settings"]],decls:2,vars:0,template:function(i,r){1&i&&rt(0,"app-autosave-options")(1,"app-autosaved-drafts")},dependencies:[lme,Ome]})}return e})(),Pme=(()=>{class e{static#e=this.\u0275fac=function(i){return new(i||e)};static#t=this.\u0275cmp=Tt({type:e,selectors:[["app-general-settings"]],decls:2,vars:0,consts:[[1,"content"]],template:function(i,r){1&i&&(j(0,"div",0),rt(1,"app-autosave-settings"),W())},dependencies:[Rme],styles:[".content[_ngcontent-%COMP%]{display:grid;grid-template-columns:450px auto}"]})}return e})();var dr=function(e){return e.ICON_FILTER_ACTOR="ICON_FILTER_ACTOR",e.ICON_FILTER_WORKOBJECT="ICON_FILTER_WORKOBJECT",e.ICON_FILTER_UNASSIGNED="ICON_FILTER_UNASSIGNED",e.ICON_FILTER_NONE="ICON_FILTER_NONE",e}(dr||{});const C6=["*"];class Fme{constructor(){this.columnIndex=0,this.rowIndex=0}get rowCount(){return this.rowIndex+1}get rowspan(){const n=Math.max(...this.tracker);return n>1?this.rowCount+n-1:this.rowCount}update(n,t){this.columnIndex=0,this.rowIndex=0,this.tracker=new Array(n),this.tracker.fill(0,0,this.tracker.length),this.positions=t.map(i=>this._trackTile(i))}_trackTile(n){const t=this._findMatchingGap(n.colspan);return this._markTilePosition(t,n),this.columnIndex=t+n.colspan,new Lme(this.rowIndex,t)}_findMatchingGap(n){let t=-1,i=-1;do{this.columnIndex+n>this.tracker.length?(this._nextRow(),t=this.tracker.indexOf(0,this.columnIndex),i=this._findGapEndIndex(t)):(t=this.tracker.indexOf(0,this.columnIndex),-1!=t?(i=this._findGapEndIndex(t),this.columnIndex=t+1):(this._nextRow(),t=this.tracker.indexOf(0,this.columnIndex),i=this._findGapEndIndex(t)))}while(i-t{class e{constructor(t,i){this._element=t,this._gridList=i,this._rowspan=1,this._colspan=1}get rowspan(){return this._rowspan}set rowspan(t){this._rowspan=Math.round(pa(t))}get colspan(){return this._colspan}set colspan(t){this._colspan=Math.round(pa(t))}_setStyle(t,i){this._element.nativeElement.style[t]=i}static#e=this.\u0275fac=function(i){return new(i||e)(T(Ft),T(S6,8))};static#t=this.\u0275cmp=Tt({type:e,selectors:[["mat-grid-tile"]],hostAttrs:[1,"mat-grid-tile"],hostVars:2,hostBindings:function(i,r){2&i&&hn("rowspan",r.rowspan)("colspan",r.colspan)},inputs:{rowspan:"rowspan",colspan:"colspan"},exportAs:["matGridTile"],ngContentSelectors:C6,decls:2,vars:0,consts:[[1,"mat-grid-tile-content"]],template:function(i,r){1&i&&(bi(),j(0,"div",0),_t(1),W())},styles:[".mat-grid-list{display:block;position:relative}.mat-grid-tile{display:block;position:absolute;overflow:hidden}.mat-grid-tile .mat-grid-tile-header,.mat-grid-tile .mat-grid-tile-footer{display:flex;align-items:center;height:48px;color:#fff;background:rgba(0,0,0,.38);overflow:hidden;padding:0 16px;position:absolute;left:0;right:0}.mat-grid-tile .mat-grid-tile-header>*,.mat-grid-tile .mat-grid-tile-footer>*{margin:0;padding:0;font-weight:normal;font-size:inherit}.mat-grid-tile .mat-grid-tile-header.mat-2-line,.mat-grid-tile .mat-grid-tile-footer.mat-2-line{height:68px}.mat-grid-tile .mat-grid-list-text{display:flex;flex-direction:column;flex:auto;box-sizing:border-box;overflow:hidden}.mat-grid-tile .mat-grid-list-text>*{margin:0;padding:0;font-weight:normal;font-size:inherit}.mat-grid-tile .mat-grid-list-text:empty{display:none}.mat-grid-tile .mat-grid-tile-header{top:0}.mat-grid-tile .mat-grid-tile-footer{bottom:0}.mat-grid-tile .mat-grid-avatar{padding-right:16px}[dir=rtl] .mat-grid-tile .mat-grid-avatar{padding-right:0;padding-left:16px}.mat-grid-tile .mat-grid-avatar:empty{display:none}.mat-grid-tile-header{font-size:var(--mat-grid-list-tile-header-primary-text-size)}.mat-grid-tile-header .mat-line{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block;box-sizing:border-box}.mat-grid-tile-header .mat-line:nth-child(n+2){font-size:var(--mat-grid-list-tile-header-secondary-text-size)}.mat-grid-tile-footer{font-size:var(--mat-grid-list-tile-footer-primary-text-size)}.mat-grid-tile-footer .mat-line{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block;box-sizing:border-box}.mat-grid-tile-footer .mat-line:nth-child(n+2){font-size:var(--mat-grid-list-tile-footer-secondary-text-size)}.mat-grid-tile-content{top:0;left:0;right:0;bottom:0;position:absolute;display:flex;align-items:center;justify-content:center;height:100%;padding:0;margin:0}"],encapsulation:2,changeDetection:0})}return e})();const Bme=/^-?\d+((\.\d+)?[A-Za-z%$]?)+$/;class RS{constructor(){this._rows=0,this._rowspan=0}init(n,t,i,r){this._gutterSize=k6(n),this._rows=t.rowCount,this._rowspan=t.rowspan,this._cols=i,this._direction=r}getBaseTileSize(n,t){return`(${n}% - (${this._gutterSize} * ${t}))`}getTilePosition(n,t){return 0===t?"0":ul(`(${n} + ${this._gutterSize}) * ${t}`)}getTileSize(n,t){return`(${n} * ${t}) + (${t-1} * ${this._gutterSize})`}setStyle(n,t,i){let r=100/this._cols,o=(this._cols-1)/this._cols;this.setColStyles(n,i,r,o),this.setRowStyles(n,t,r,o)}setColStyles(n,t,i,r){let o=this.getBaseTileSize(i,r);n._setStyle("rtl"===this._direction?"right":"left",this.getTilePosition(o,t)),n._setStyle("width",ul(this.getTileSize(o,n.colspan)))}getGutterSpan(){return`${this._gutterSize} * (${this._rowspan} - 1)`}getTileSpan(n){return`${this._rowspan} * ${this.getTileSize(n,1)}`}getComputedHeight(){return null}}class Vme extends RS{constructor(n){super(),this.fixedRowHeight=n}init(n,t,i,r){super.init(n,t,i,r),this.fixedRowHeight=k6(this.fixedRowHeight),Bme.test(this.fixedRowHeight)}setRowStyles(n,t){n._setStyle("top",this.getTilePosition(this.fixedRowHeight,t)),n._setStyle("height",ul(this.getTileSize(this.fixedRowHeight,n.rowspan)))}getComputedHeight(){return["height",ul(`${this.getTileSpan(this.fixedRowHeight)} + ${this.getGutterSpan()}`)]}reset(n){n._setListStyle(["height",null]),n._tiles&&n._tiles.forEach(t=>{t._setStyle("top",null),t._setStyle("height",null)})}}class jme extends RS{constructor(n){super(),this._parseRatio(n)}setRowStyles(n,t,i,r){this.baseTileHeight=this.getBaseTileSize(i/this.rowHeightRatio,r),n._setStyle("marginTop",this.getTilePosition(this.baseTileHeight,t)),n._setStyle("paddingTop",ul(this.getTileSize(this.baseTileHeight,n.rowspan)))}getComputedHeight(){return["paddingBottom",ul(`${this.getTileSpan(this.baseTileHeight)} + ${this.getGutterSpan()}`)]}reset(n){n._setListStyle(["paddingBottom",null]),n._tiles.forEach(t=>{t._setStyle("marginTop",null),t._setStyle("paddingTop",null)})}_parseRatio(n){const t=n.split(":");this.rowHeightRatio=parseFloat(t[0])/parseFloat(t[1])}}class zme extends RS{setRowStyles(n,t){let o=this.getBaseTileSize(100/this._rowspan,(this._rows-1)/this._rows);n._setStyle("top",this.getTilePosition(o,t)),n._setStyle("height",ul(this.getTileSize(o,n.rowspan)))}reset(n){n._tiles&&n._tiles.forEach(t=>{t._setStyle("top",null),t._setStyle("height",null)})}}function ul(e){return`calc(${e})`}function k6(e){return e.match(/([A-Za-z%]+)$/)?e:`${e}px`}let $me=(()=>{class e{constructor(t,i){this._element=t,this._dir=i,this._gutter="1px"}get cols(){return this._cols}set cols(t){this._cols=Math.max(1,Math.round(pa(t)))}get gutterSize(){return this._gutter}set gutterSize(t){this._gutter=`${t??""}`}get rowHeight(){return this._rowHeight}set rowHeight(t){const i=`${t??""}`;i!==this._rowHeight&&(this._rowHeight=i,this._setTileStyler(this._rowHeight))}ngOnInit(){this._checkCols(),this._checkRowHeight()}ngAfterContentChecked(){this._layoutTiles()}_checkCols(){}_checkRowHeight(){this._rowHeight||this._setTileStyler("1:1")}_setTileStyler(t){this._tileStyler&&this._tileStyler.reset(this),this._tileStyler="fit"===t?new zme:t&&t.indexOf(":")>-1?new jme(t):new Vme(t)}_layoutTiles(){this._tileCoordinator||(this._tileCoordinator=new Fme);const t=this._tileCoordinator,i=this._tiles.filter(o=>!o._gridList||o._gridList===this),r=this._dir?this._dir.value:"ltr";this._tileCoordinator.update(this.cols,i),this._tileStyler.init(this.gutterSize,t,this.cols,r),i.forEach((o,a)=>{const s=t.positions[a];this._tileStyler.setStyle(o,s.row,s.col)}),this._setListStyle(this._tileStyler.getComputedHeight())}_setListStyle(t){t&&(this._element.nativeElement.style[t[0]]=t[1])}static#e=this.\u0275fac=function(i){return new(i||e)(T(Ft),T(Yh,8))};static#t=this.\u0275cmp=Tt({type:e,selectors:[["mat-grid-list"]],contentQueries:function(i,r,o){if(1&i&&oi(o,D6,5),2&i){let a;Vt(a=jt())&&(r._tiles=a)}},hostAttrs:[1,"mat-grid-list"],hostVars:1,hostBindings:function(i,r){2&i&&hn("cols",r.cols)},inputs:{cols:"cols",gutterSize:"gutterSize",rowHeight:"rowHeight"},exportAs:["matGridList"],features:[Yt([{provide:S6,useExisting:e}])],ngContentSelectors:C6,decls:2,vars:0,template:function(i,r){1&i&&(bi(),j(0,"div"),_t(1),W())},styles:[".mat-grid-list{display:block;position:relative}.mat-grid-tile{display:block;position:absolute;overflow:hidden}.mat-grid-tile .mat-grid-tile-header,.mat-grid-tile .mat-grid-tile-footer{display:flex;align-items:center;height:48px;color:#fff;background:rgba(0,0,0,.38);overflow:hidden;padding:0 16px;position:absolute;left:0;right:0}.mat-grid-tile .mat-grid-tile-header>*,.mat-grid-tile .mat-grid-tile-footer>*{margin:0;padding:0;font-weight:normal;font-size:inherit}.mat-grid-tile .mat-grid-tile-header.mat-2-line,.mat-grid-tile .mat-grid-tile-footer.mat-2-line{height:68px}.mat-grid-tile .mat-grid-list-text{display:flex;flex-direction:column;flex:auto;box-sizing:border-box;overflow:hidden}.mat-grid-tile .mat-grid-list-text>*{margin:0;padding:0;font-weight:normal;font-size:inherit}.mat-grid-tile .mat-grid-list-text:empty{display:none}.mat-grid-tile .mat-grid-tile-header{top:0}.mat-grid-tile .mat-grid-tile-footer{bottom:0}.mat-grid-tile .mat-grid-avatar{padding-right:16px}[dir=rtl] .mat-grid-tile .mat-grid-avatar{padding-right:0;padding-left:16px}.mat-grid-tile .mat-grid-avatar:empty{display:none}.mat-grid-tile-header{font-size:var(--mat-grid-list-tile-header-primary-text-size)}.mat-grid-tile-header .mat-line{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block;box-sizing:border-box}.mat-grid-tile-header .mat-line:nth-child(n+2){font-size:var(--mat-grid-list-tile-header-secondary-text-size)}.mat-grid-tile-footer{font-size:var(--mat-grid-list-tile-footer-primary-text-size)}.mat-grid-tile-footer .mat-line{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block;box-sizing:border-box}.mat-grid-tile-footer .mat-line:nth-child(n+2){font-size:var(--mat-grid-list-tile-footer-secondary-text-size)}.mat-grid-tile-content{top:0;left:0;right:0;bottom:0;position:absolute;display:flex;align-items:center;justify-content:center;height:100%;padding:0;margin:0}"],encapsulation:2,changeDetection:0})}return e})(),T6=(()=>{class e{static#e=this.\u0275fac=function(i){return new(i||e)};static#t=this.\u0275mod=Rt({type:e});static#n=this.\u0275inj=kt({imports:[IR,Cn,IR,Cn]})}return e})();const Ume=["button"],Gme=["*"],A6=new Ce("MAT_BUTTON_TOGGLE_DEFAULT_OPTIONS"),M6=new Ce("MatButtonToggleGroup"),Wme={provide:Rr,useExisting:y(()=>R6),multi:!0};let I6=0;class O6{constructor(n,t){this.source=n,this.value=t}}let R6=(()=>{class e{get name(){return this._name}set name(t){this._name=t,this._markButtonsForCheck()}get vertical(){return this._vertical}set vertical(t){this._vertical=rn(t)}get value(){const t=this._selectionModel?this._selectionModel.selected:[];return this.multiple?t.map(i=>i.value):t[0]?t[0].value:void 0}set value(t){this._setSelectionByValue(t),this.valueChange.emit(this.value)}get selected(){const t=this._selectionModel?this._selectionModel.selected:[];return this.multiple?t:t[0]||null}get multiple(){return this._multiple}set multiple(t){this._multiple=rn(t),this._markButtonsForCheck()}get disabled(){return this._disabled}set disabled(t){this._disabled=rn(t),this._markButtonsForCheck()}constructor(t,i){this._changeDetector=t,this._vertical=!1,this._multiple=!1,this._disabled=!1,this._controlValueAccessorChangeFn=()=>{},this._onTouched=()=>{},this._name="mat-button-toggle-group-"+I6++,this.valueChange=new Xt,this.change=new Xt,this.appearance=i&&i.appearance?i.appearance:"standard"}ngOnInit(){this._selectionModel=new SS(this.multiple,void 0,!1)}ngAfterContentInit(){this._selectionModel.select(...this._buttonToggles.filter(t=>t.checked))}writeValue(t){this.value=t,this._changeDetector.markForCheck()}registerOnChange(t){this._controlValueAccessorChangeFn=t}registerOnTouched(t){this._onTouched=t}setDisabledState(t){this.disabled=t}_emitChangeEvent(t){const i=new O6(t,this.value);this._rawValue=i.value,this._controlValueAccessorChangeFn(i.value),this.change.emit(i)}_syncButtonToggle(t,i,r=!1,o=!1){!this.multiple&&this.selected&&!t.checked&&(this.selected.checked=!1),this._selectionModel?i?this._selectionModel.select(t):this._selectionModel.deselect(t):o=!0,o?Promise.resolve().then(()=>this._updateModelValue(t,r)):this._updateModelValue(t,r)}_isSelected(t){return this._selectionModel&&this._selectionModel.isSelected(t)}_isPrechecked(t){return!(typeof this._rawValue>"u")&&(this.multiple&&Array.isArray(this._rawValue)?this._rawValue.some(i=>null!=t.value&&i===t.value):t.value===this._rawValue)}_setSelectionByValue(t){this._rawValue=t,this._buttonToggles&&(this.multiple&&t?(Array.isArray(t),this._clearSelection(),t.forEach(i=>this._selectValue(i))):(this._clearSelection(),this._selectValue(t)))}_clearSelection(){this._selectionModel.clear(),this._buttonToggles.forEach(t=>t.checked=!1)}_selectValue(t){const i=this._buttonToggles.find(r=>null!=r.value&&r.value===t);i&&(i.checked=!0,this._selectionModel.select(i))}_updateModelValue(t,i){i&&this._emitChangeEvent(t),this.valueChange.emit(this.value)}_markButtonsForCheck(){this._buttonToggles?.forEach(t=>t._markForCheck())}static#e=this.\u0275fac=function(i){return new(i||e)(T(No),T(A6,8))};static#t=this.\u0275dir=Me({type:e,selectors:[["mat-button-toggle-group"]],contentQueries:function(i,r,o){if(1&i&&oi(o,P6,5),2&i){let a;Vt(a=jt())&&(r._buttonToggles=a)}},hostAttrs:["role","group",1,"mat-button-toggle-group"],hostVars:5,hostBindings:function(i,r){2&i&&(hn("aria-disabled",r.disabled),Ct("mat-button-toggle-vertical",r.vertical)("mat-button-toggle-group-appearance-standard","standard"===r.appearance))},inputs:{appearance:"appearance",name:"name",vertical:"vertical",value:"value",multiple:"multiple",disabled:"disabled"},outputs:{valueChange:"valueChange",change:"change"},exportAs:["matButtonToggleGroup"],features:[Yt([Wme,{provide:M6,useExisting:e}])]})}return e})();const Yme=Fw(class{});let P6=(()=>{class e extends Yme{get buttonId(){return`${this.id}-button`}get appearance(){return this.buttonToggleGroup?this.buttonToggleGroup.appearance:this._appearance}set appearance(t){this._appearance=t}get checked(){return this.buttonToggleGroup?this.buttonToggleGroup._isSelected(this):this._checked}set checked(t){const i=rn(t);i!==this._checked&&(this._checked=i,this.buttonToggleGroup&&this.buttonToggleGroup._syncButtonToggle(this,this._checked),this._changeDetectorRef.markForCheck())}get disabled(){return this._disabled||this.buttonToggleGroup&&this.buttonToggleGroup.disabled}set disabled(t){this._disabled=rn(t)}constructor(t,i,r,o,a,s){super(),this._changeDetectorRef=i,this._elementRef=r,this._focusMonitor=o,this._checked=!1,this.ariaLabelledby=null,this._disabled=!1,this.change=new Xt;const c=Number(a);this.tabIndex=c||0===c?c:null,this.buttonToggleGroup=t,this.appearance=s&&s.appearance?s.appearance:"standard"}ngOnInit(){const t=this.buttonToggleGroup;this.id=this.id||"mat-button-toggle-"+I6++,t&&(t._isPrechecked(this)?this.checked=!0:t._isSelected(this)!==this._checked&&t._syncButtonToggle(this,this._checked))}ngAfterViewInit(){this._focusMonitor.monitor(this._elementRef,!0)}ngOnDestroy(){const t=this.buttonToggleGroup;this._focusMonitor.stopMonitoring(this._elementRef),t&&t._isSelected(this)&&t._syncButtonToggle(this,!1,!1,!0)}focus(t){this._buttonElement.nativeElement.focus(t)}_onButtonClick(){const t=!!this._isSingleSelector()||!this._checked;t!==this._checked&&(this._checked=t,this.buttonToggleGroup&&(this.buttonToggleGroup._syncButtonToggle(this,this._checked,!0),this.buttonToggleGroup._onTouched())),this.change.emit(new O6(this,this.value))}_markForCheck(){this._changeDetectorRef.markForCheck()}_getButtonName(){return this._isSingleSelector()?this.buttonToggleGroup.name:this.name||null}_isSingleSelector(){return this.buttonToggleGroup&&!this.buttonToggleGroup.multiple}static#e=this.\u0275fac=function(i){return new(i||e)(T(M6,8),T(No),T(Ft),T(Od),Vl("tabindex"),T(A6,8))};static#t=this.\u0275cmp=Tt({type:e,selectors:[["mat-button-toggle"]],viewQuery:function(i,r){if(1&i&&wi(Ume,5),2&i){let o;Vt(o=jt())&&(r._buttonElement=o.first)}},hostAttrs:["role","presentation",1,"mat-button-toggle"],hostVars:12,hostBindings:function(i,r){1&i&&Be("focus",function(){return r.focus()}),2&i&&(hn("aria-label",null)("aria-labelledby",null)("id",r.id)("name",null),Ct("mat-button-toggle-standalone",!r.buttonToggleGroup)("mat-button-toggle-checked",r.checked)("mat-button-toggle-disabled",r.disabled)("mat-button-toggle-appearance-standard","standard"===r.appearance))},inputs:{disableRipple:"disableRipple",ariaLabel:["aria-label","ariaLabel"],ariaLabelledby:["aria-labelledby","ariaLabelledby"],id:"id",name:"name",value:"value",tabIndex:"tabIndex",appearance:"appearance",checked:"checked",disabled:"disabled"},outputs:{change:"change"},exportAs:["matButtonToggle"],features:[dt],ngContentSelectors:Gme,decls:6,vars:9,consts:[["type","button",1,"mat-button-toggle-button","mat-focus-indicator",3,"id","disabled","click"],["button",""],[1,"mat-button-toggle-label-content"],[1,"mat-button-toggle-focus-overlay"],["matRipple","",1,"mat-button-toggle-ripple",3,"matRippleTrigger","matRippleDisabled"]],template:function(i,r){if(1&i&&(bi(),j(0,"button",0,1),Be("click",function(){return r._onButtonClick()}),j(2,"span",2),_t(3),W()(),rt(4,"span",3)(5,"span",4)),2&i){const o=er(1);Ae("id",r.buttonId)("disabled",r.disabled||null),hn("tabindex",r.disabled?-1:r.tabIndex)("aria-pressed",r.checked)("name",r._getButtonName())("aria-label",r.ariaLabel)("aria-labelledby",r.ariaLabelledby),ye(5),Ae("matRippleTrigger",o)("matRippleDisabled",r.disableRipple||r.disabled)}},dependencies:[jg],styles:[".mat-button-toggle-standalone,.mat-button-toggle-group{--mat-legacy-button-toggle-height:36px;--mat-legacy-button-toggle-shape:2px;--mat-legacy-button-toggle-focus-state-layer-opacity:1;position:relative;display:inline-flex;flex-direction:row;white-space:nowrap;overflow:hidden;-webkit-tap-highlight-color:rgba(0,0,0,0);transform:translateZ(0);border-radius:var(--mat-legacy-button-toggle-shape)}.mat-button-toggle-standalone:not([class*=mat-elevation-z]),.mat-button-toggle-group:not([class*=mat-elevation-z]){box-shadow:0px 3px 1px -2px rgba(0, 0, 0, 0.2), 0px 2px 2px 0px rgba(0, 0, 0, 0.14), 0px 1px 5px 0px rgba(0, 0, 0, 0.12)}.cdk-high-contrast-active .mat-button-toggle-standalone,.cdk-high-contrast-active .mat-button-toggle-group{outline:solid 1px}.mat-button-toggle-standalone.mat-button-toggle-appearance-standard,.mat-button-toggle-group-appearance-standard{--mat-standard-button-toggle-shape:4px;--mat-standard-button-toggle-hover-state-layer-opacity:0.04;--mat-standard-button-toggle-focus-state-layer-opacity:0.12;border-radius:var(--mat-standard-button-toggle-shape);border:solid 1px var(--mat-standard-button-toggle-divider-color)}.mat-button-toggle-standalone.mat-button-toggle-appearance-standard:not([class*=mat-elevation-z]),.mat-button-toggle-group-appearance-standard:not([class*=mat-elevation-z]){box-shadow:none}.cdk-high-contrast-active .mat-button-toggle-standalone.mat-button-toggle-appearance-standard,.cdk-high-contrast-active .mat-button-toggle-group-appearance-standard{outline:0}.mat-button-toggle-vertical{flex-direction:column}.mat-button-toggle-vertical .mat-button-toggle-label-content{display:block}.mat-button-toggle{white-space:nowrap;position:relative;color:var(--mat-legacy-button-toggle-text-color);font-family:var(--mat-legacy-button-toggle-text-font)}.mat-button-toggle.cdk-keyboard-focused .mat-button-toggle-focus-overlay{opacity:var(--mat-legacy-button-toggle-focus-state-layer-opacity)}.mat-button-toggle .mat-icon svg{vertical-align:top}.mat-button-toggle-checked{color:var(--mat-legacy-button-toggle-selected-state-text-color);background-color:var(--mat-legacy-button-toggle-selected-state-background-color)}.mat-button-toggle-disabled{color:var(--mat-legacy-button-toggle-disabled-state-text-color);background-color:var(--mat-legacy-button-toggle-disabled-state-background-color)}.mat-button-toggle-disabled.mat-button-toggle-checked{background-color:var(--mat-legacy-button-toggle-disabled-selected-state-background-color)}.mat-button-toggle-appearance-standard{--mat-standard-button-toggle-shape:4px;--mat-standard-button-toggle-hover-state-layer-opacity:0.04;--mat-standard-button-toggle-focus-state-layer-opacity:0.12;color:var(--mat-standard-button-toggle-text-color);background-color:var(--mat-standard-button-toggle-background-color);font-family:var(--mat-standard-button-toggle-text-font)}.mat-button-toggle-group-appearance-standard .mat-button-toggle-appearance-standard+.mat-button-toggle-appearance-standard{border-left:solid 1px var(--mat-standard-button-toggle-divider-color)}[dir=rtl] .mat-button-toggle-group-appearance-standard .mat-button-toggle-appearance-standard+.mat-button-toggle-appearance-standard{border-left:none;border-right:solid 1px var(--mat-standard-button-toggle-divider-color)}.mat-button-toggle-group-appearance-standard.mat-button-toggle-vertical .mat-button-toggle-appearance-standard+.mat-button-toggle-appearance-standard{border-left:none;border-right:none;border-top:solid 1px var(--mat-standard-button-toggle-divider-color)}.mat-button-toggle-appearance-standard.mat-button-toggle-checked{color:var(--mat-standard-button-toggle-selected-state-text-color);background-color:var(--mat-standard-button-toggle-selected-state-background-color)}.mat-button-toggle-appearance-standard.mat-button-toggle-disabled{color:var(--mat-standard-button-toggle-disabled-state-text-color);background-color:var(--mat-standard-button-toggle-disabled-state-background-color)}.mat-button-toggle-appearance-standard.mat-button-toggle-disabled.mat-button-toggle-checked{color:var(--mat-standard-button-toggle-disabled-selected-state-text-color);background-color:var(--mat-standard-button-toggle-disabled-selected-state-background-color)}.mat-button-toggle-appearance-standard .mat-button-toggle-focus-overlay{background-color:var(--mat-standard-button-toggle-state-layer-color)}.mat-button-toggle-appearance-standard:not(.mat-button-toggle-disabled):hover .mat-button-toggle-focus-overlay{opacity:var(--mat-standard-button-toggle-hover-state-layer-opacity)}.mat-button-toggle-appearance-standard.cdk-keyboard-focused:not(.mat-button-toggle-disabled) .mat-button-toggle-focus-overlay{opacity:var(--mat-standard-button-toggle-focus-state-layer-opacity)}@media(hover: none){.mat-button-toggle-appearance-standard:not(.mat-button-toggle-disabled):hover .mat-button-toggle-focus-overlay{display:none}}.mat-button-toggle-label-content{-webkit-user-select:none;user-select:none;display:inline-block;padding:0 16px;line-height:var(--mat-legacy-button-toggle-height);position:relative}.mat-button-toggle-appearance-standard .mat-button-toggle-label-content{padding:0 12px;line-height:var(--mat-standard-button-toggle-height)}.mat-button-toggle-label-content>*{vertical-align:middle}.mat-button-toggle-focus-overlay{top:0;left:0;right:0;bottom:0;position:absolute;border-radius:inherit;pointer-events:none;opacity:0;background-color:var(--mat-legacy-button-toggle-state-layer-color)}.cdk-high-contrast-active .mat-button-toggle-checked .mat-button-toggle-focus-overlay{border-bottom:solid 500px;opacity:.5;height:0}.cdk-high-contrast-active .mat-button-toggle-checked:hover .mat-button-toggle-focus-overlay{opacity:.6}.cdk-high-contrast-active .mat-button-toggle-checked.mat-button-toggle-appearance-standard .mat-button-toggle-focus-overlay{border-bottom:solid 500px}.mat-button-toggle .mat-button-toggle-ripple{top:0;left:0;right:0;bottom:0;position:absolute;pointer-events:none}.mat-button-toggle-button{border:0;background:none;color:inherit;padding:0;margin:0;font:inherit;outline:none;width:100%;cursor:pointer}.mat-button-toggle-disabled .mat-button-toggle-button{cursor:default}.mat-button-toggle-button::-moz-focus-inner{border:0}"],encapsulation:2,changeDetection:0})}return e})(),N6=(()=>{class e{static#e=this.\u0275fac=function(i){return new(i||e)};static#t=this.\u0275mod=Rt({type:e});static#n=this.\u0275inj=kt({imports:[Cn,zg,Cn]})}return e})(),qme=(()=>{class e{get name(){return this.iconName}get id(){return"domain-configuration-icon-"+this.iconName}constructor(t){this.domainCustomizationService=t,this.iconName="",this.iconInitiated=!1,this.icon=new Qt({}),this.isActor=!1,this.isWorkobject=!1,this.isNone=!0}ngOnInit(){this.icon=this.domainCustomizationService.getIconForName(this.iconName),this.icon&&(this.icon.subscribe(t=>{this.isActor=t.isActor,this.isWorkobject=t.isWorkObject,this.isNone=!(t.isActor||t.isWorkObject)}),this.isActor=this.icon.value.isActor,this.isWorkobject=this.icon.value.isWorkObject,this.isNone=!(this.icon.value.isActor||this.icon.value.isWorkObject))}ngAfterViewChecked(){this.createIcon()}createIcon(){const t=document.getElementById(this.id);t&&!this.iconInitiated&&(t.src=""+this.icon.value?.svg,this.iconInitiated=!0)}toggleNone(){this.domainCustomizationService.setAsUnassigned(this.iconName,this.icon.value.isActor)}toggleActor(){this.domainCustomizationService.setAsActor(!0,this.iconName)}toggleWorkobject(){this.domainCustomizationService.setAsWorkobject(!0,this.iconName)}static#e=this.\u0275fac=function(i){return new(i||e)(T(Sy))};static#t=this.\u0275cmp=Tt({type:e,selectors:[["app-icon-list-item"]],inputs:{iconName:"iconName"},decls:16,vars:13,consts:[[1,"IconContainer"],[1,"content"],["src","",1,"icon",3,"id","alt"],[1,"name"],[1,"footer"],[3,"value","checked","change"],[1,"toggleButtonTitle"]],template:function(i,r){1&i&&(j(0,"div",0)(1,"div",1),rt(2,"img",2),j(3,"div",3),Pe(4),W()(),j(5,"div",4)(6,"mat-button-toggle-group")(7,"mat-button-toggle",5),Be("change",function(){return r.toggleNone()}),j(8,"span",6),Pe(9,"None"),W()(),j(10,"mat-button-toggle",5),Be("change",function(){return r.toggleActor()}),j(11,"span",6),Pe(12,"Actor"),W()(),j(13,"mat-button-toggle",5),Be("change",function(){return r.toggleWorkobject()}),j(14,"span",6),Pe(15,"Workobject"),W()()()()()),2&i&&(ye(2),Cc("id",r.id),Cc("alt",r.name),ye(2),io(r.name),ye(3),Ae("value",r.isNone)("checked",r.isNone),ye(3),Ct("activeMatButtonActor",r.isActor),Ae("value",r.isActor)("checked",r.isActor),ye(3),Ct("activeMatButtonWorkObject",r.isWorkobject),Ae("value",r.isWorkobject)("checked",r.isWorkobject))},dependencies:[R6,P6],styles:[".IconContainer[_ngcontent-%COMP%]{width:170px;height:170px}.content[_ngcontent-%COMP%]{display:grid;grid-template-rows:auto auto;justify-items:center}.icon[_ngcontent-%COMP%]{width:50px;height:50px}.name[_ngcontent-%COMP%]{word-wrap:anywhere;max-height:75px;overflow:hidden;padding-bottom:2px}.footer[_ngcontent-%COMP%]{display:flex;justify-content:center}.footer[_ngcontent-%COMP%] .mat-button-toggle-label-content{font-size:10pt!important;padding:0 5px!important;line-height:inherit!important}.footer[_ngcontent-%COMP%] .activeMatButtonActor button{background-color:#43acbf;color:#fff}.footer[_ngcontent-%COMP%] .activeMatButtonWorkObject button{background-color:#0168b7;color:#fff}"]})}return e})(),Kme=(()=>{class e{constructor(){this.iconInitiated=!1}get id(){return"domain-configuration-details-icon-"+this.icon.name.toLowerCase()+"-"+(this.icon.isWorkObject?"workobject":"actor")}get name(){return this.icon.name}ngAfterViewChecked(){this.createIcon()}createIcon(){const t=document.getElementById(this.id);t&&!this.iconInitiated&&(t.src=""+this.icon.svg,this.iconInitiated=!0)}static#e=this.\u0275fac=function(i){return new(i||e)};static#t=this.\u0275cmp=Tt({type:e,selectors:[["app-details-list-item"]],inputs:{icon:"icon"},decls:4,vars:4,consts:[[1,"detailsListItem"],[1,"icon",3,"id","alt","src"],[1,"iconName"]],template:function(i,r){1&i&&(j(0,"div",0),rt(1,"img",1),j(2,"mat-label",2),Pe(3),W()()),2&i&&(ye(1),Cc("id",r.id),Cc("alt",r.name),Ae("src",r.icon.svg,bm),ye(2),io(r.icon.name))},dependencies:[xu],styles:[".icon[_ngcontent-%COMP%]{width:20px;height:20px;padding-right:3px}.detailsListItem[_ngcontent-%COMP%]{display:flex;justify-items:center;align-items:center;width:250px}.iconName[_ngcontent-%COMP%]{max-width:225px;word-wrap:anywhere;white-space:pre-wrap!important}"]})}return e})();function Xme(e,n){if(1&e){const t=tr();j(0,"mat-list-item",7),Be("dragover",function(r){return yn(t),bn(st().allowDrop(r,"actorList"))})("dragstart",function(){const o=yn(t).index;return bn(st().onDragStart(o,"actorList"))})("drop",function(r){const o=yn(t),a=o.$implicit,s=o.index;return bn(st().onDrop(r,a,!0,s))}),rt(1,"app-details-list-item",8),W()}if(2&e){const t=n.$implicit,i=st();ye(1),Ae("icon",i.getIconForName(t))}}function Zme(e,n){if(1&e){const t=tr();j(0,"mat-list-item",7),Be("dragover",function(r){return yn(t),bn(st().allowDrop(r,"workobjectList"))})("dragstart",function(){const o=yn(t).index;return bn(st().onDragStart(o,"workobjectList"))})("drop",function(r){const o=yn(t),a=o.$implicit,s=o.index;return bn(st().onDrop(r,a,!1,s))}),rt(1,"app-details-list-item",8),W()}if(2&e){const t=n.$implicit,i=st();ye(1),Ae("icon",i.getIconForName(t))}}let Qme=(()=>{class e{constructor(t,i){this.customizationService=t,this.draggedList="",this.draggedIndex=0,this.selectedActors$=this.customizationService.selectedActors$,this.selectedWorkobjects$=this.customizationService.selectedWorkobjects$,this.domainName=i.domainName$}ngOnInit(){}changeName(t){this.customizationService.changeName(t.target.value)}getIconForName(t){return this.customizationService.getIconForName(t).value}allowDrop(t,i){this.draggedList===i&&t.preventDefault()}onDrop(t,i,r,o){let a;a=r?this.selectedActors$:this.selectedWorkobjects$;const s=a.value,c=s[this.draggedIndex];s.splice(this.draggedIndex,1),s.splice(o,0,c),a.next(s),r?this.customizationService.setSelectedActors(s):this.customizationService.setSelectedWorkObject(s)}onDragStart(t,i){this.draggedList=i,this.draggedIndex=t}static#e=this.\u0275fac=function(i){return new(i||e)(T(Sy),T(Br))};static#t=this.\u0275cmp=Tt({type:e,selectors:[["app-domain-details"]],decls:20,vars:9,consts:[[1,"details","smallScrollbar"],[1,"domainDetails","bottom-border"],[1,"inputWidth"],["matInput","","type","text",3,"value","input"],[1,"actorList","bottom-border"],["class","compactItem","draggable","true",3,"dragover","dragstart","drop",4,"ngFor","ngForOf"],[1,"workobjectList"],["draggable","true",1,"compactItem",3,"dragover","dragstart","drop"],[3,"icon"]],template:function(i,r){1&i&&(j(0,"div",0)(1,"div",1)(2,"h3"),Pe(3,"Icon Set name"),W(),j(4,"form")(5,"mat-form-field",2)(6,"input",3),Be("input",function(a){return r.changeName(a)}),$t(7,"async"),W()()()(),j(8,"div",4)(9,"h3"),Pe(10,"Order of actors"),W(),j(11,"mat-list"),et(12,Xme,2,1,"mat-list-item",5),$t(13,"async"),W()(),j(14,"div",6)(15,"h3"),Pe(16,"Order of work objects"),W(),j(17,"mat-list"),et(18,Zme,2,1,"mat-list-item",5),$t(19,"async"),W()()()),2&i&&(ye(6),Ae("value",Ut(7,3,r.domainName)),ye(6),Ae("ngForOf",Ut(13,5,r.selectedActors$)),ye(6),Ae("ngForOf",Ut(19,7,r.selectedWorkobjects$)))},dependencies:[kd,Og,Eg,jh,i6,r6,_y,xp,Kme,fa],styles:[".details[_ngcontent-%COMP%]{display:grid;grid-template-rows:68px auto auto;min-height:100vh;grid-row-gap:1px;overflow-y:scroll;overflow-x:hidden;width:250px;border-left:solid 1px #ccc}.domainDetails[_ngcontent-%COMP%]{margin-top:10px}.domainDetails[_ngcontent-%COMP%] .mat-mdc-form-field-infix{border:none;padding-bottom:0!important;padding-top:0!important}.domainDetails[_ngcontent-%COMP%] .mdc-text-field{padding-left:0!important}.compactItem[_ngcontent-%COMP%]{height:40px!important}.fullWidth[_ngcontent-%COMP%]{width:100%;padding-left:15px}.inputWidth[_ngcontent-%COMP%]{width:200px;padding-left:15px;height:46px}h3[_ngcontent-%COMP%]{padding-left:15px;margin-bottom:0;font-weight:700}mat-list[_ngcontent-%COMP%]{overflow:auto;padding-top:0}.bottom-border[_ngcontent-%COMP%]{border-bottom:2px solid #ccc}"]})}return e})();function Jme(e,n){if(1&e&&(j(0,"mat-grid-tile",25),rt(1,"app-icon-list-item",26),W()),2&e){const t=n.$implicit;Ae("colspan",1)("rowspan",1),ye(1),Ae("iconName",t)}}let ege=(()=>{class e{constructor(t,i,r,o){this.configurationService=t,this.iconDictionaryService=i,this.domainCustomizationService=r,this.elementRegistryService=o,this.filter=new Qt(dr.ICON_FILTER_NONE),this.selectedActors=new Qt([]),this.selectedWorkobjects=new Qt([]),this.allIconNames=new Qt([]),this.allFilteredIconNames=new Qt([]),this.domainConfigurationTypes=this.domainCustomizationService.getDomainConfiguration().value,this.allIcons=new Qt(this.iconDictionaryService.getFullDictionary()),this.allIcons.subscribe(a=>{this.allIconNames.next(a.keysArray().sort(this.sortByName))}),this.selectedActors=this.domainCustomizationService.selectedActors$,this.selectedWorkobjects=this.domainCustomizationService.selectedWorkobjects$}ngOnInit(){this.filter.subscribe(t=>{let i=this.getFilteredNamesForType(t);this.allFilteredIconNames.next(i.sort(this.sortByName))})}sortByName(t,i){return t.includes("_custom")==i.includes("_custom")?t{if(s.target){const c=s.target.result;this.iconDictionaryService.addIMGToIconDictionary(c,a),this.iconDictionaryService.registerIconForBPMN(a,c),this.allIcons.next(this.iconDictionaryService.getFullDictionary()),this.filter.next(this.filter.value),this.domainCustomizationService.addNewIcon(a)}},r.readAsDataURL(i)}}startDomainImport(){document.getElementById("importDomain")?.click()}importDomain(){const t=document.getElementById("importDomain").files[0],i=new FileReader;i.onloadend=r=>{const a=Cp(JSON.parse(r.target?.result));this.configurationService.loadConfiguration(a,!1),this.domainCustomizationService.importConfiguration(a)},i.readAsText(t)}filterForActors(){this.filter.next(this.filter.value!==dr.ICON_FILTER_ACTOR?dr.ICON_FILTER_ACTOR:dr.ICON_FILTER_NONE)}filterForWorkobjects(){this.filter.next(this.filter.value!==dr.ICON_FILTER_WORKOBJECT?dr.ICON_FILTER_WORKOBJECT:dr.ICON_FILTER_NONE)}filterForUnassigned(){this.filter.next(this.filter.value!==dr.ICON_FILTER_UNASSIGNED?dr.ICON_FILTER_UNASSIGNED:dr.ICON_FILTER_NONE)}filterByNameAndType(t){const i=this.getFilteredNamesForType(this.filter.value).filter(r=>r.toLowerCase().includes(t.target.value.toLowerCase()));this.allFilteredIconNames.next(i.sort(this.sortByName))}getFilteredNamesForType(t){let i=[];switch(t){case dr.ICON_FILTER_NONE:i=this.allIconNames.value;break;case dr.ICON_FILTER_ACTOR:i=this.allIconNames.value.filter(r=>this.domainCustomizationService.isIconActor(r));break;case dr.ICON_FILTER_WORKOBJECT:i=this.allIconNames.value.filter(r=>this.domainCustomizationService.isIconWorkObject(r));break;case dr.ICON_FILTER_UNASSIGNED:i=this.allIconNames.value.filter(r=>!this.domainCustomizationService.isIconActor(r)&&!this.domainCustomizationService.isIconWorkObject(r))}return i}static#e=this.\u0275fac=function(i){return new(i||e)(T($c),T(Qa),T(Sy),T(jo))};static#t=this.\u0275cmp=Tt({type:e,selectors:[["app-domain-configuration"]],decls:53,vars:15,consts:[[1,"content"],[1,"header"],[1,"buttons"],["mat-button","","title","Upload Icon",3,"click"],[1,"material-icons-outlined","materialIconButton"],["type","file","multiple","","accept",".svg, image/png, image/jpeg, image/gif, image/bpmn","id","importIcon","name","file","onclick","this.value=null",2,"display","none",3,"change"],["mat-button","","title","Reset to default icon set",1,"button",3,"click"],[1,"searchbar"],["mat-button","","title","Unassigned Icons",3,"click"],["mat-button","","title","Actors",3,"click"],["mat-button","","title","Workobjects",3,"click"],["matInput","","type","text","placeholder","Filter by name",1,"textInput",3,"input"],[1,"saveButtons"],["mat-button","","title","Export icon set",3,"click"],["mat-button","","title","Import icon set",3,"click"],["type","file","accept",".domain","id","importDomain","name","file","onclick","this.value=null",2,"display","none",3,"change"],[1,"divider"],["mat-button","","title","Cancel changes",3,"click"],["mat-button","","title","Save icon set",3,"click"],[1,"domainConfiguration"],[1,"icons"],[1,"iconList","smallScrollbar"],["cols","8","rowHeight","170px"],[3,"colspan","rowspan",4,"ngFor","ngForOf"],[1,"domainDetails"],[3,"colspan","rowspan"],[1,"iconListItem",3,"iconName"]],template:function(i,r){1&i&&(j(0,"div",0)(1,"div")(2,"div",1)(3,"div",2)(4,"button",3),Be("click",function(){return r.startIconUpload()}),j(5,"span",4),Pe(6,"upload"),W(),j(7,"input",5),Be("change",function(){return r.importIcon()}),W()(),j(8,"button",6),Be("click",function(){return r.loadMinimalIconConfigurationWithDefaultIcons()}),j(9,"span",4),Pe(10," home "),W()()(),j(11,"div",7),rt(12,"div"),j(13,"div"),Pe(14,"Filter:"),W(),j(15,"button",8),Be("click",function(){return r.filterForUnassigned()}),$t(16,"async"),j(17,"span"),Pe(18,"None"),W()(),rt(19,"div"),j(20,"button",9),Be("click",function(){return r.filterForActors()}),$t(21,"async"),j(22,"span"),Pe(23,"Actors"),W()(),rt(24,"div"),j(25,"button",10),Be("click",function(){return r.filterForWorkobjects()}),$t(26,"async"),j(27,"span"),Pe(28,"Workobjects"),W()(),rt(29,"div"),j(30,"input",11),Be("input",function(a){return r.filterByNameAndType(a)}),W()(),j(31,"div",12)(32,"button",13),Be("click",function(){return r.exportDomain()}),j(33,"span",4),Pe(34,"archive"),W()(),j(35,"button",14),Be("click",function(){return r.startDomainImport()}),j(36,"span",4),Pe(37,"unarchive"),W(),j(38,"input",15),Be("change",function(){return r.importDomain()}),W()(),rt(39,"div",16),j(40,"button",17),Be("click",function(){return r.loadInitialConfiguration()}),j(41,"span",4),Pe(42,"close"),W()(),j(43,"button",18),Be("click",function(){return r.saveDomain()}),j(44,"span",4),Pe(45,"save"),W()()()(),j(46,"div",19)(47,"div",20)(48,"div",21)(49,"mat-grid-list",22),et(50,Jme,2,3,"mat-grid-tile",23),$t(51,"async"),W()()()()(),rt(52,"app-domain-details",24),W()),2&i&&(ye(15),Ct("activeNone","ICON_FILTER_UNASSIGNED"===Ut(16,7,r.filter)),ye(5),Ct("activeActor","ICON_FILTER_ACTOR"===Ut(21,9,r.filter)),ye(5),Ct("activeWorkObject","ICON_FILTER_WORKOBJECT"===Ut(26,11,r.filter)),ye(25),Ae("ngForOf",Ut(51,13,r.allFilteredIconNames)))},dependencies:[kd,ps,$me,D6,xp,qme,Qme,fa],styles:[".content[_ngcontent-%COMP%]{display:grid;grid-template-columns:auto 250px}.header[_ngcontent-%COMP%]{display:grid;grid-template-columns:max-content auto max-content;border-bottom:#ccc 2px solid;height:46px}.buttons[_ngcontent-%COMP%]{align-self:center;justify-self:left}.buttons[_ngcontent-%COMP%] .mat-button{min-width:36px}.saveButtons[_ngcontent-%COMP%]{align-self:center;display:inline-flex;justify-items:center;padding-right:5px}.saveButtons[_ngcontent-%COMP%] .mat-button{min-width:36px}.button[_ngcontent-%COMP%]{width:36px}.mat-button[_ngcontent-%COMP%]{color:#666}.spacer[_ngcontent-%COMP%]{flex:1 1 auto}.domainConfiguration[_ngcontent-%COMP%]{padding-left:10px;padding-bottom:5px;margin-top:15px;height:100%}.icons[_ngcontent-%COMP%]{display:grid;grid-template-rows:2rem auto;height:100%;grid-row-gap:1px}.divider[_ngcontent-%COMP%]{border-left:#ccc 2px solid}.searchbar[_ngcontent-%COMP%]{display:grid;grid-template-columns:5px 40px 65px 10px 65px 10px 100px 20px 300px;margin-left:15px;margin-right:10px;align-self:center;align-items:center;justify-self:left;border-left:#ccc 2px solid;height:inherit}.activeActor[_ngcontent-%COMP%]{background-color:#42aebb;color:#fff}.activeNone[_ngcontent-%COMP%]{background-color:#e0e0e0;color:#000}.activeWorkObject[_ngcontent-%COMP%]{background-color:#42aebb;color:#fff}.textInput[_ngcontent-%COMP%]{width:300px;border:#666666 1px solid}.iconList[_ngcontent-%COMP%]{display:grid;overflow-y:scroll;height:calc(100vh - 130px)}.domainDetails[_ngcontent-%COMP%]{overflow-y:scroll;width:250px;height:calc(100vh - 65px)} .mat-grid-tile .mat-grid-tile-content{justify-content:inherit}"]})}return e})();function tge(e,n){1&e&&rt(0,"app-general-settings")}function nge(e,n){1&e&&rt(0,"app-domain-configuration",10)}let ige=(()=>{class e{constructor(t,i,r){this.settingsService=t,this.modelerService=i,this.domainCustomizationService=r,this.showGeneralSettings=new Qt(!1),this.showDomainCustomization=new Qt(!0)}close(){const t=this.domainCustomizationService.getAndClearSavedConfiguration();t&&this.modelerService.restart(t),this.settingsService.close()}openGeneralSettings(){this.showGeneralSettings.next(!0),this.showDomainCustomization.next(!1)}openDomainCustomization(){this.showGeneralSettings.next(!1),this.showDomainCustomization.next(!0)}static#e=this.\u0275fac=function(i){return new(i||e)(T(_1),T(wu),T(Sy))};static#t=this.\u0275cmp=Tt({type:e,selectors:[["app-settings"]],decls:19,vars:14,consts:[[1,"settings"],["color","primary",1,"toolbar"],["mat-icon-button","",1,"headerButton","noPadding",3,"click"],[1,"material-icons-outlined","materialIconButton"],[1,"paddedButton"],["mat-button","",1,"headerButton","mr-10",3,"click"],[1,"headline"],["mat-button","",1,"headerButton",3,"click"],[4,"ngIf"],["class","tab",4,"ngIf"],[1,"tab"]],template:function(i,r){1&i&&(j(0,"div",0)(1,"mat-toolbar",1)(2,"mat-toolbar-row")(3,"button",2),Be("click",function(){return r.close()}),j(4,"span",3),Pe(5," arrow_back"),W()(),j(6,"div",4)(7,"button",5),Be("click",function(){return r.openDomainCustomization()}),$t(8,"async"),j(9,"span",6),Pe(10,"Customize Icons for Your Domain"),W()(),j(11,"button",7),Be("click",function(){return r.openGeneralSettings()}),$t(12,"async"),j(13,"span",6),Pe(14,"General Settings"),W()()()()(),et(15,tge,1,0,"app-general-settings",8),$t(16,"async"),et(17,nge,1,0,"app-domain-configuration",9),$t(18,"async"),W()),2&i&&(ye(7),Ct("highlight",Ut(8,6,r.showDomainCustomization)),ye(4),Ct("highlight",Ut(12,8,r.showGeneralSettings)),ye(4),Ae("ngIf",Ut(16,10,r.showGeneralSettings)),ye(2),Ae("ngIf",Ut(18,12,r.showDomainCustomization)))},dependencies:[co,Pme,ege,ps,Ihe,c6,TS,fa],styles:["mat-toolbar[_ngcontent-%COMP%] *[_ngcontent-%COMP%]{color:#fff}app-general-settings[_ngcontent-%COMP%]{overflow-y:auto}.settings[_ngcontent-%COMP%]{display:grid;grid-template-rows:65px auto;width:100%;height:100%}.settings[_ngcontent-%COMP%] .mat-button{padding:0}.settings[_ngcontent-%COMP%] .materialIconButton[_ngcontent-%COMP%]{margin-top:0;margin-right:5px;padding:0}.highlight[_ngcontent-%COMP%]{border:2px solid white}.tab[_ngcontent-%COMP%]{display:inline-block;height:calc(100% - 10px);width:100%;overflow:hidden} .mat-tab-label, .mat-tab-label-active{height:30px!important}"]})}return e})(),rge=(()=>{class e{constructor(t,i){this.modelerService=t,this.autosaveService=i}ngOnInit(){this.modelerService.postInit(),this.autosaveService.loadLatestDraft()}static#e=this.\u0275fac=function(i){return new(i||e)(T(wu),T(Dy))};static#t=this.\u0275cmp=Tt({type:e,selectors:[["app-modeler"]],decls:1,vars:0,consts:[["id","canvas"]],template:function(i,r){1&i&&rt(0,"div",0)},styles:["#canvas[_ngcontent-%COMP%], #canvas[_ngcontent-%COMP%] > div[_ngcontent-%COMP%]{top:0;width:100%;height:100%;position:relative;bottom:0;overflow:hidden}"]})}return e})();function oge(e,n){1&e&&rt(0,"app-settings")}let age=(()=>{class e{constructor(t,i,r,o,a,s){this.settingsService=t,this.dialogService=i,this.titleService=r,this.exportService=o,this.replayStateSerice=a,this.version="2.0.0",this.showSettings$=new Qt(!1),this.showDescription$=new Qt(!0),document.onkeydown=c=>{c.ctrlKey&&"s"===c.key&&(this.exportService.isDomainStoryExportable()&&this.exportService.downloadDST(),c.preventDefault(),c.stopPropagation()),c.ctrlKey&&"l"===c.key&&(document.getElementById("import")?.click(),c.preventDefault(),c.stopPropagation()),"ArrowRight"===c.key&&this.replayStateSerice.getReplayOn()&&(c.preventDefault(),c.stopPropagation(),s.nextStep()),"ArrowLeft"===c.key&&this.replayStateSerice.getReplayOn()&&(c.preventDefault(),c.stopPropagation(),s.previousStep())}}ngOnInit(){this.showDescription$=this.titleService.showDescription$,this.showSettings$=this.settingsService.showSettings$}openLinkDialog(t,i,r){const o=new uo;o.disableClose=!1,o.autoFocus=!0,o.data=new uv(i,r,!0,!0,t),this.dialogService.openDialog(hv,o)}static#e=this.\u0275fac=function(i){return new(i||e)(T(_1),T(df),T(Br),T(Ey),T(wp),T(Ep))};static#t=this.\u0275cmp=Tt({type:e,selectors:[["app-root"]],decls:28,vars:36,consts:[["role","main",1,"content"],[4,"ngIf"],["type","color","id","colorPicker",2,"display","none"],["src","./favicon.ico","height","24","alt","Egon Logo"],["href","https://egon.io","target","_blank"],["href","https://github.com/WPS/egon.io/releases/latest","target","_blank"],["src","./assets/logo/wps-icon.ico","height","24","alt","WPS Logo"],["href","https://www.wps.de/","target","_blank"]],template:function(i,r){1&i&&(j(0,"div",0),et(1,oge,1,0,"app-settings",1),$t(2,"async"),j(3,"div"),$t(4,"async"),$t(5,"async"),$t(6,"async"),$t(7,"async"),$t(8,"async"),rt(9,"input",2),j(10,"app-header"),$t(11,"async"),$t(12,"async"),W(),rt(13,"app-modeler"),W(),j(14,"div"),$t(15,"async"),$t(16,"async"),j(17,"span"),rt(18,"img",3),j(19,"a",4),Pe(20," egon.io"),W(),Pe(21," version: "),j(22,"a",5),Pe(23),W(),Pe(24," by "),rt(25,"img",6),j(26,"a",7),Pe(27,"WPS"),W()()()()),2&i&&(ye(1),Ae("ngIf",Ut(2,16,r.showSettings$)),ye(2),Ct("headerAndCanvas",!Ut(4,18,r.showSettings$)&&Ut(5,20,r.showDescription$))("headerAndCanvasCollapsed",!Ut(6,22,r.showSettings$)&&!Ut(7,24,r.showDescription$))("hidden",Ut(8,26,r.showSettings$)),ye(7),Ct("header",Ut(11,28,r.showDescription$))("headerCollapsed",!Ut(12,30,r.showDescription$)),ye(4),Ct("logoContainer",!Ut(15,32,r.showSettings$))("hidden",Ut(16,34,r.showSettings$)),ye(9),io(r.version))},dependencies:[co,sme,ige,rge,fa],styles:[".content[_ngcontent-%COMP%]{height:100%;overflow:hidden}.headerAndCanvas[_ngcontent-%COMP%]{height:100%;width:100%;display:grid;grid-template-rows:220px auto;overflow:hidden}.headerAndCanvasCollapsed[_ngcontent-%COMP%]{height:100%;width:100%;display:grid;grid-template-rows:65px auto;overflow:hidden}.settings[_ngcontent-%COMP%]{height:100%}.header[_ngcontent-%COMP%]{display:grid;grid-template-rows:65px 155px}.logoContainer[_ngcontent-%COMP%]{display:flex;position:absolute;bottom:0;right:100px;align-items:flex-end}.logoContainer[_ngcontent-%COMP%] span[_ngcontent-%COMP%]{margin-left:16px;margin-bottom:14px;align-items:center}.hidden[_ngcontent-%COMP%]{height:1px;width:1px}#wrapper[_ngcontent-%COMP%]{padding:16px;min-height:100%;height:100%;box-sizing:border-box}#tab-group[_ngcontent-%COMP%]{height:100%}#tab-group[_ngcontent-%COMP%] mat-tab-body[_ngcontent-%COMP%]{flex-grow:1}.mat-button-toggle-label-content[_ngcontent-%COMP%]{font-size:10pt!important;padding:0 5px!important;line-height:inherit!important} .mdc-text-field--filled:not(.mdc-text-field--disabled){background-color:#fff}"]})}return e})(),PS=(()=>{class e{static#e=this.\u0275fac=function(i){return new(i||e)};static#t=this.\u0275mod=Rt({type:e});static#n=this.\u0275inj=kt({imports:[xS,N6,a6,UR,JP,yy,T6,$B,l6,E6,CS,f6,xS,N6,a6,UR,JP,yy,T6,$B,l6,E6,CS,f6]})}return e})(),sge=(()=>{class e{static#e=this.\u0275fac=function(i){return new(i||e)};static#t=this.\u0275mod=Rt({type:e});static#n=this.\u0275inj=kt({imports:[Wa,tR,PS]})}return e})(),cge=(()=>{class e{static#e=this.\u0275fac=function(i){return new(i||e)};static#t=this.\u0275mod=Rt({type:e});static#n=this.\u0275inj=kt({imports:[sge,Wa,tR,PS]})}return e})(),lge=(()=>{class e{static#e=this.\u0275fac=function(i){return new(i||e)};static#t=this.\u0275mod=Rt({type:e});static#n=this.\u0275inj=kt({imports:[Wa]})}return e})(),dge=(()=>{class e{constructor(t){this.autosaveService=t}ngDoBootstrap(t){const i=document.createElement("app-root");document.body.append(i),t.bootstrap(age)}static#e=this.\u0275fac=function(i){return new(i||e)(N(Dy))};static#t=this.\u0275mod=Rt({type:e});static#n=this.\u0275inj=kt({providers:[Dy,Ey,kS,s6,Qa,Br,wS,Ep,jo,$c,wu,GB,xw,{provide:jR,useValue:{clickAction:"noop"}}],imports:[KI,kQ,iK,cge,lge,PS]})}return e})();YY().bootstrapModule(dge).catch(e=>console.error(e))},17:ze=>{"use strict";var X=["BigInt64Array","BigUint64Array","Float32Array","Float64Array","Int16Array","Int32Array","Int8Array","Uint16Array","Uint32Array","Uint8Array","Uint8ClampedArray"],J=typeof globalThis>"u"?global:globalThis;ze.exports=function(){for(var le=[],Ee=0;Ee{ze(ze.s=650)}]); \ No newline at end of file diff --git a/app-latest-build/main.js b/app-latest-build/main.js new file mode 100644 index 0000000..5bc57a0 --- /dev/null +++ b/app-latest-build/main.js @@ -0,0 +1,10910 @@ +"use strict"; +(self["webpackChunkegon"] = self["webpackChunkegon"] || []).push([["main"],{ + +/***/ 91570: +/*!**********************************!*\ + !*** ./src/app/Modeler/index.js ***! + \**********************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "default": () => (/* binding */ DomainStoryModeler) +/* harmony export */ }); +/* harmony import */ var bpmn_js_lib_Modeler__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! bpmn-js/lib/Modeler */ 92405); +/* harmony import */ var diagram_js_lib_features_resize__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! diagram-js/lib/features/resize */ 54985); +/* harmony import */ var min_dash__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! min-dash */ 91654); +/* harmony import */ var inherits__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! inherits */ 66967); +/* harmony import */ var inherits__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(inherits__WEBPACK_IMPORTED_MODULE_0__); +/* harmony import */ var _modeler__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./modeler */ 17969); +/* harmony import */ var _modeler_labeling__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./modeler/labeling */ 49459); +/* harmony import */ var _modeler_modeling__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./modeler/modeling */ 37623); +/* harmony import */ var _Domain_Common_elementTypes__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../Domain/Common/elementTypes */ 17290); + + + + + + + + +function DomainStoryModeler(options) { + bpmn_js_lib_Modeler__WEBPACK_IMPORTED_MODULE_5__["default"].call(this, options); + this._customElements = []; + this._groupElements = []; +} +inherits__WEBPACK_IMPORTED_MODULE_0___default()(DomainStoryModeler, bpmn_js_lib_Modeler__WEBPACK_IMPORTED_MODULE_5__["default"]); +DomainStoryModeler.prototype._modules = [].concat(DomainStoryModeler.prototype._modules, [_modeler__WEBPACK_IMPORTED_MODULE_1__["default"], _modeler_labeling__WEBPACK_IMPORTED_MODULE_2__["default"], _modeler_modeling__WEBPACK_IMPORTED_MODULE_3__["default"]], [diagram_js_lib_features_resize__WEBPACK_IMPORTED_MODULE_6__["default"]]); +/** + * add a single custom element to the underlying diagram + * + * @param {Object} customElement + */ +DomainStoryModeler.prototype._addCustomShape = function (customElement) { + let parentId = customElement.parent; + delete customElement.children; + delete customElement.parent; + this._customElements.push(customElement); + let canvas = this.get("canvas"), + elementFactory = this.get("elementFactory"); + let customAttrs = (0,min_dash__WEBPACK_IMPORTED_MODULE_7__.assign)({ + businessObject: customElement + }, customElement); + let customShape = elementFactory.create("shape", customAttrs); + if (isGroup(customElement)) { + this._groupElements[customElement.id] = customShape; + } + if (parentId) { + let parentShape = this._groupElements[parentId]; + if (isGroup(parentShape)) { + return canvas.addShape(customShape, parentShape, parentShape.id); + } + } + return canvas.addShape(customShape); +}; +DomainStoryModeler.prototype._addCustomConnection = function (customElement) { + this._customElements.push(customElement); + let canvas = this.get("canvas"), + elementFactory = this.get("elementFactory"), + elementRegistry = this.get("elementRegistry"); + let customAttrs = (0,min_dash__WEBPACK_IMPORTED_MODULE_7__.assign)({ + businessObject: customElement + }, customElement); + let connection = elementFactory.create("connection", (0,min_dash__WEBPACK_IMPORTED_MODULE_7__.assign)(customAttrs, { + source: elementRegistry.get(customElement.source), + target: elementRegistry.get(customElement.target) + }), elementRegistry.get(customElement.source).parent); + return canvas.addConnection(connection); +}; +//** We import BusinessObjects, not the whole Canvas Object!!!!!!!! +DomainStoryModeler.prototype.importCustomElements = function (elements) { + this.get("eventBus").fire("diagram.clear", {}); + this._customElements = []; + this._groupElements = []; + this.addCustomElements(elements); +}; +/** + * add a number of custom elements and connections to the underlying diagram. + * + * @param {Array} customElements + */ +DomainStoryModeler.prototype.addCustomElements = function (customElements) { + if (!(0,min_dash__WEBPACK_IMPORTED_MODULE_7__.isArray)(customElements)) { + throw new Error("argument must be an array"); + } + let shapes = [], + connections = [], + groups = []; + customElements.forEach(function (customElement) { + if (isConnection(customElement)) { + connections.push(customElement); + } else if (isGroup(customElement)) { + groups.push(customElement); + } else { + shapes.push(customElement); + } + }); + // add groups before shapes and shapes before connections so that connections + // can already rely on the shapes being part of the diagram + groups.forEach(this._addCustomShape, this); + shapes.forEach(this._addCustomShape, this); + connections.forEach(this._addCustomConnection, this); +}; +/** + * get custom elements with their current status. + * + * @return {Array} custom elements on the diagram + */ +DomainStoryModeler.prototype.getCustomElements = function () { + return this._customElements; +}; +// override standard function to prevent default elements on canvas +DomainStoryModeler.prototype.createDiagram = function (done) {}; +function isConnection(element) { + return element.type === _Domain_Common_elementTypes__WEBPACK_IMPORTED_MODULE_4__.elementTypes.ACTIVITY || element.type === _Domain_Common_elementTypes__WEBPACK_IMPORTED_MODULE_4__.elementTypes.CONNECTION; +} +function isGroup(element) { + return element && element.type === _Domain_Common_elementTypes__WEBPACK_IMPORTED_MODULE_4__.elementTypes.GROUP; +} + +/***/ }), + +/***/ 78213: +/*!********************************************************!*\ + !*** ./src/app/Modeler/modeler/change-icon/replace.js ***! + \********************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "default": () => (/* binding */ Replace) +/* harmony export */ }); +/* harmony import */ var min_dash__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! min-dash */ 91654); + + + +/** + * service that allow replacing of elements. + */ +function Replace(modeling) { + this._modeling = modeling; +} +/** + * @param {Element} oldElement - element to be replaced + * @param {Object} newElementData - containing information about the new Element, for example height, width, type. + * @param modeling + */ +function replaceElement(oldElement, newElementData, modeling) { + // let modeling = this._modeling; + let newElement = setCenterOfElement(newElementData, oldElement, modeling); + let outgoingActivities = newElement.outgoing; + let incomingActivities = newElement.incoming; + outgoingActivities.forEach(element => { + element.businessObject.source = newElement.id; + }); + incomingActivities.forEach(element => { + element.businessObject.target = newElement.id; + }); + return newElement; +} +function setCenterOfElement(newElementData, oldElement, modeling) { + newElementData.x = Math.ceil(oldElement.x + (newElementData.width || oldElement.width) / 2); + newElementData.y = Math.ceil(oldElement.y + (newElementData.height || oldElement.height) / 2); + (0,min_dash__WEBPACK_IMPORTED_MODULE_0__.assign)(newElementData, { + name: oldElement.businessObject.name + }); + return modeling.replaceShape(oldElement, newElementData, {}); +} +Replace.prototype.replaceElement = replaceElement; + +/***/ }), + +/***/ 14358: +/*!********************************************************************!*\ + !*** ./src/app/Modeler/modeler/change-icon/replaceMenuProvider.js ***! + \********************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "default": () => (/* binding */ ReplaceMenuProvider) +/* harmony export */ }); +/* harmony import */ var _replace__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./replace */ 78213); +/* harmony import */ var _replaceOptions__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./replaceOptions */ 12972); +/* harmony import */ var min_dash__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! min-dash */ 91654); + + + + + +/** + * This module is an element agnostic replace menu provider for the popup menu. + */ +function ReplaceMenuProvider(modeling) { + this._dsReplace = new _replace__WEBPACK_IMPORTED_MODULE_0__["default"](modeling); + this._modeling = modeling; +} +ReplaceMenuProvider.$inject = ["modeling"]; +/** + * Get all entries from replaceOptions for the given element and apply filters + * on them. Get for example only elements, which are different from the current one. + * + * @param {djs.model.Base} element + * + * @return {Array} a list of menu entry items + */ +ReplaceMenuProvider.prototype.getEntries = function (element) { + let entries; + if (element.type.includes("actor")) { + entries = _replaceOptions__WEBPACK_IMPORTED_MODULE_1__.actorReplaceOptions(element.type); + } else if (element.type.includes("workObject")) { + entries = _replaceOptions__WEBPACK_IMPORTED_MODULE_1__.workObjectReplaceOptions(element.type); + } + return this._createEntries(element, entries); +}; +/** + * Creates an array of menu entry objects for a given element and filters the replaceOptions + * according to a filter function. + * + * @param {djs.model.Base} element + * @param {Object} replaceOptions + * + * @return {Array} a list of menu items + */ +ReplaceMenuProvider.prototype._createEntries = function (element, replaceOptions) { + let menuEntries = []; + let self = this; + (0,min_dash__WEBPACK_IMPORTED_MODULE_2__.forEach)(replaceOptions, function (definition) { + let entry = self._createMenuEntry(definition, element); + menuEntries.push(entry); + }); + return menuEntries; +}; +/** + * Creates and returns a single menu entry item. + * + * @param {Object} definition a single replace options definition object + * @param {djs.model.Base} element + * @param {Function} [action] an action callback function which gets called when + * the menu entry is being triggered. + * + * @return {Object} menu entry item + */ +ReplaceMenuProvider.prototype._createMenuEntry = function (definition, element, action) { + let replaceElement = this._dsReplace.replaceElement; + let modeling = this._modeling; + let replaceAction = function () { + return replaceElement(element, definition.target, modeling); + }; + action = action || replaceAction; + return { + label: definition.label, + className: definition.className, + id: definition.actionName, + action: action + }; +}; + +/***/ }), + +/***/ 12972: +/*!***************************************************************!*\ + !*** ./src/app/Modeler/modeler/change-icon/replaceOptions.js ***! + \***************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ actorReplaceOptions: () => (/* binding */ actorReplaceOptions), +/* harmony export */ initializeReplaceOptions: () => (/* binding */ initializeReplaceOptions), +/* harmony export */ workObjectReplaceOptions: () => (/* binding */ workObjectReplaceOptions) +/* harmony export */ }); +/* harmony import */ var src_app_Domain_Common_elementTypes__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! src/app/Domain/Common/elementTypes */ 17290); +/* harmony import */ var src_app_Utils_naming__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! src/app/Utils/naming */ 35125); + + +let iconDictionaryService; +function initializeReplaceOptions(iconDictionary) { + iconDictionaryService = iconDictionary; +} +function actorReplaceOptions(name) { + const actorTypes = iconDictionaryService.getTypeDictionary(src_app_Domain_Common_elementTypes__WEBPACK_IMPORTED_MODULE_0__.elementTypes.ACTOR); + let replaceOption = {}; + let i = 0; + actorTypes.keysArray().forEach(actorType => { + if (!name.includes(actorType)) { + const typeName = (0,src_app_Utils_naming__WEBPACK_IMPORTED_MODULE_1__.getNameFromType)(actorType); + replaceOption[i] = { + label: "Change to " + typeName, + actionName: "replace-with-actor-" + typeName.toLowerCase(), + className: iconDictionaryService.getIconForBPMN(actorType), + target: { + type: actorType + } + }; + i++; + } + }); + return replaceOption; +} +function workObjectReplaceOptions(name) { + const workObjectTypes = iconDictionaryService.getTypeDictionary(src_app_Domain_Common_elementTypes__WEBPACK_IMPORTED_MODULE_0__.elementTypes.WORKOBJECT); + let replaceOption = {}; + let i = 0; + workObjectTypes.keysArray().forEach(workObjectType => { + if (!name.includes(workObjectType)) { + const typeName = (0,src_app_Utils_naming__WEBPACK_IMPORTED_MODULE_1__.getNameFromType)(workObjectType); + replaceOption[i] = { + label: "Change to " + typeName, + actionName: "replace-with-actor-" + typeName, + className: iconDictionaryService.getIconForBPMN(workObjectType), + target: { + type: workObjectType + } + }; + } + i++; + }); + return replaceOption; +} + +/***/ }), + +/***/ 83006: +/*!******************************************************************************!*\ + !*** ./src/app/Modeler/modeler/context-pad/domainStoryContextPadProvider.js ***! + \******************************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "default": () => (/* binding */ DomainStoryContextPadProvider), +/* harmony export */ initializeContextPadProvider: () => (/* binding */ initializeContextPadProvider) +/* harmony export */ }); +/* harmony import */ var inherits__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! inherits */ 66967); +/* harmony import */ var inherits__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(inherits__WEBPACK_IMPORTED_MODULE_0__); +/* harmony import */ var bpmn_js_lib_features_context_pad_ContextPadProvider__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! bpmn-js/lib/features/context-pad/ContextPadProvider */ 45656); +/* harmony import */ var min_dash__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! min-dash */ 91654); +/* harmony import */ var _numbering_numbering__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../numbering/numbering */ 39843); +/* harmony import */ var src_app_Domain_Common_elementTypes__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! src/app/Domain/Common/elementTypes */ 17290); +/* harmony import */ var src_app_Domain_Domain_Configuration_allIcons__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! src/app/Domain/Domain-Configuration/allIcons */ 86915); +/* harmony import */ var src_app_Utils_naming__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! src/app/Utils/naming */ 35125); + + + + + + + + + +let dirtyFlagService; +let iconDictionaryService; +function initializeContextPadProvider(dirtyFlag, iconDictionary) { + dirtyFlagService = dirtyFlag; + iconDictionaryService = iconDictionary; +} +function DomainStoryContextPadProvider(injector, connect, translate, elementFactory, create, canvas, contextPad, popupMenu, replaceMenuProvider, commandStack, eventBus, modeling) { + let startConnect; + let selectedElement; + injector.invoke(bpmn_js_lib_features_context_pad_ContextPadProvider__WEBPACK_IMPORTED_MODULE_5__["default"], this); + let autoPlace = injector.get("autoPlace", false); + let cached = (0,min_dash__WEBPACK_IMPORTED_MODULE_6__.bind)(this.getContextPadEntries, this); + const colorPicker = document.getElementById("colorPicker"); + colorPicker.onchange = ev => { + const context = { + businessObject: selectedElement.businessObject, + newColor: ev.target.value, + element: selectedElement + }; + commandStack.execute("element.colorChange", context); + dirtyFlagService.makeDirty(); + }; + popupMenu.registerProvider("ds-replace", replaceMenuProvider); + popupMenu.registerProvider("bpmn-replace", replaceMenuProvider); + this.getContextPadEntries = function (element) { + const allStandardIconKeys = (0,src_app_Domain_Domain_Configuration_allIcons__WEBPACK_IMPORTED_MODULE_3__.getAllStandardIconKeys)(); + let actions = cached(element); + startConnect = function (event, element, autoActivate) { + connect.start(event, element, autoActivate); + }; + if (element.type.includes(src_app_Domain_Common_elementTypes__WEBPACK_IMPORTED_MODULE_2__.elementTypes.WORKOBJECT)) { + if (allStandardIconKeys.includes(element.type.replace(src_app_Domain_Common_elementTypes__WEBPACK_IMPORTED_MODULE_2__.elementTypes.WORKOBJECT, ""))) { + addColorChange(actions); + } + addConnectWithActivity(actions, startConnect); + addTextAnnotation(actions); + addActors(appendAction, actions); + addWorkObjects(appendAction, actions); + addChangeWorkObjectTypeMenu(actions); + } else if (element.type.includes(src_app_Domain_Common_elementTypes__WEBPACK_IMPORTED_MODULE_2__.elementTypes.ACTOR)) { + if (allStandardIconKeys.includes(element.type.replace(src_app_Domain_Common_elementTypes__WEBPACK_IMPORTED_MODULE_2__.elementTypes.ACTOR, ""))) { + addColorChange(actions); + } + addConnectWithActivity(actions, startConnect); + addTextAnnotation(actions); + addWorkObjects(appendAction, actions); + addChangeActorTypeMenu(actions); + } else if (element.type.includes(src_app_Domain_Common_elementTypes__WEBPACK_IMPORTED_MODULE_2__.elementTypes.GROUP)) { + delete actions.delete; + addTextAnnotation(actions); + (0,min_dash__WEBPACK_IMPORTED_MODULE_6__.assign)(actions, { + deleteGroup: { + group: "edit", + className: "bpmn-icon-trash", + title: "Remove Group without Child-Elements", + action: { + click: function (event, element) { + modeling.removeGroup(element); + dirtyFlagService.makeDirty(); + } + } + } + }); + addColorChange(actions); + } else if (element.type.includes(src_app_Domain_Common_elementTypes__WEBPACK_IMPORTED_MODULE_2__.elementTypes.ACTIVITY)) { + moveDeleteActionToEndOfArray(actions); + addColorChange(actions); + (0,min_dash__WEBPACK_IMPORTED_MODULE_6__.assign)(actions, { + delete: { + group: "edit", + className: "bpmn-icon-trash", + title: "Remove", + action: { + click: function (event, element) { + modeling.removeElements({ + element + }); + dirtyFlagService.makeDirty(); + } + } + } + }); + } + return actions; + }; + function moveDeleteActionToEndOfArray(actions) { + delete actions.delete; + (0,min_dash__WEBPACK_IMPORTED_MODULE_6__.assign)(actions, { + changeDirection: { + group: "edit", + className: "icon-domain-story-changeDirection", + title: translate("Change direction"), + action: { + // event needs to be addressed + click: function (event, element) { + changeDirection(element); + } + } + } + }); + } + function addChangeActorTypeMenu(actions) { + (0,min_dash__WEBPACK_IMPORTED_MODULE_6__.assign)(actions, { + replace: { + group: "edit", + className: "bpmn-icon-screw-wrench", + title: translate("Change type"), + action: { + click: function (event, element) { + let position = (0,min_dash__WEBPACK_IMPORTED_MODULE_6__.assign)(getReplaceMenuPosition(element), { + cursor: { + x: event.x, + y: event.y + } + }); + popupMenu.open(element, "ds-replace", position); + } + } + } + }); + } + function addColorChange(actions) { + (0,min_dash__WEBPACK_IMPORTED_MODULE_6__.assign)(actions, { + colorChange: { + group: "edit", + className: "icon-domain-story-color-picker", + title: translate("Change color"), + action: { + click: function (event, element) { + selectedElement = element; + colorPicker.click(); + } + } + } + }); + } + function addTextAnnotation(actions) { + (0,min_dash__WEBPACK_IMPORTED_MODULE_6__.assign)(actions, { + "append.text-annotation": appendAction(src_app_Domain_Common_elementTypes__WEBPACK_IMPORTED_MODULE_2__.elementTypes.TEXTANNOTATION, "bpmn-icon-text-annotation", "textannotation", "connect") + }); + } + function addConnectWithActivity(actions, startConnect) { + (0,min_dash__WEBPACK_IMPORTED_MODULE_6__.assign)(actions, { + connect: { + group: "connect", + className: "bpmn-icon-connection", + title: translate("Connect with activity"), + action: { + click: startConnect, + dragstart: startConnect + } + } + }); + } + function addWorkObjects(appendAction, actions) { + let workObjectTypes = iconDictionaryService.getTypeDictionary(src_app_Domain_Common_elementTypes__WEBPACK_IMPORTED_MODULE_2__.elementTypes.WORKOBJECT); + workObjectTypes.keysArray().forEach(workObjectType => { + let name = (0,src_app_Utils_naming__WEBPACK_IMPORTED_MODULE_4__.getNameFromType)(workObjectType); + let icon = iconDictionaryService.getIconForBPMN(workObjectType); + let action = []; + action["append.workObject" + name] = appendAction(workObjectType, icon, name, "workObjects"); + (0,min_dash__WEBPACK_IMPORTED_MODULE_6__.assign)(actions, action); + }); + } + function addActors(appendAction, actions) { + let actorTypes = iconDictionaryService.getTypeDictionary(src_app_Domain_Common_elementTypes__WEBPACK_IMPORTED_MODULE_2__.elementTypes.ACTOR); + actorTypes.keysArray().forEach(actorType => { + let name = (0,src_app_Utils_naming__WEBPACK_IMPORTED_MODULE_4__.getNameFromType)(actorType); + let icon = iconDictionaryService.getIconForBPMN(actorType); + let action = []; + action["append.actor" + name] = appendAction(actorType, icon, name, "actors"); + (0,min_dash__WEBPACK_IMPORTED_MODULE_6__.assign)(actions, action); + }); + } + function addChangeWorkObjectTypeMenu(actions) { + (0,min_dash__WEBPACK_IMPORTED_MODULE_6__.assign)(actions, { + replace: { + group: "edit", + className: "bpmn-icon-screw-wrench", + title: translate("Change type"), + action: { + click: function (event, element) { + let position = (0,min_dash__WEBPACK_IMPORTED_MODULE_6__.assign)(getReplaceMenuPosition(element), { + cursor: { + x: event.x, + y: event.y + } + }); + popupMenu.open(element, "ds-replace", position); + } + } + } + }); + } + function changeDirection(element) { + let context; + let businessObject = element.businessObject; + let newNumber; + if (element.source.type.includes(src_app_Domain_Common_elementTypes__WEBPACK_IMPORTED_MODULE_2__.elementTypes.ACTOR)) { + newNumber = 0; + } else { + newNumber = (0,_numbering_numbering__WEBPACK_IMPORTED_MODULE_1__.generateAutomaticNumber)(element, commandStack); + } + context = { + businessObject: businessObject, + newNumber: newNumber, + element: element + }; + commandStack.execute("activity.directionChange", context); + } + function getReplaceMenuPosition(element) { + let Y_OFFSET = 5; + let diagramContainer = canvas.getContainer(), + pad = contextPad.getPad(element).html; + let diagramRect = diagramContainer.getBoundingClientRect(), + padRect = pad.getBoundingClientRect(); + let top = padRect.top - diagramRect.top; + let left = padRect.left - diagramRect.left; + return { + x: left, + y: top + padRect.height + Y_OFFSET + }; + } + /** + * create an append action + * + * @param {String} type + * @param {String} className + * @param {String} [title] + * @param {String} group + * @param {Object} [options] + * + * @return {Object} descriptor + */ + function appendAction(type, className, title, group, options) { + if (typeof title !== "string") { + options = title; + title = translate("{type}", { + type: type.replace(/^domainStory:/, "") + }); + } + function appendStart(event, element) { + let shape = elementFactory.createShape((0,min_dash__WEBPACK_IMPORTED_MODULE_6__.assign)({ + type: type + }, options)); + let context = { + elements: [shape], + hints: {}, + source: element + }; + create.start(event, shape, context); + } + return { + group: group, + className: className, + title: "Append " + title, + action: { + dragstart: startConnect, + click: appendStart + } + }; + } +} +inherits__WEBPACK_IMPORTED_MODULE_0___default()(DomainStoryContextPadProvider, bpmn_js_lib_features_context_pad_ContextPadProvider__WEBPACK_IMPORTED_MODULE_5__["default"]); +DomainStoryContextPadProvider.$inject = ["injector", "connect", "translate", "elementFactory", "create", "canvas", "contextPad", "popupMenu", "replaceMenuProvider", "commandStack", "eventBus", "modeling"]; + +/***/ }), + +/***/ 33306: +/*!**************************************************************!*\ + !*** ./src/app/Modeler/modeler/domainStoryElementFactory.js ***! + \**************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "default": () => (/* binding */ DomainStoryElementFactory) +/* harmony export */ }); +/* harmony import */ var min_dash__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! min-dash */ 91654); +/* harmony import */ var inherits__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! inherits */ 66967); +/* harmony import */ var inherits__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(inherits__WEBPACK_IMPORTED_MODULE_0__); +/* harmony import */ var bpmn_js_lib_features_modeling_ElementFactory__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! bpmn-js/lib/features/modeling/ElementFactory */ 4432); +/* harmony import */ var bpmn_js_lib_util_LabelUtil__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! bpmn-js/lib/util/LabelUtil */ 75125); +/* harmony import */ var _domainStoryIdFactory__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./domainStoryIdFactory */ 71644); + + + + + + + +/** + * A custom factory that knows how to create BPMN _and_ custom elements. + */ +function DomainStoryElementFactory(bpmnFactory, moddle) { + bpmn_js_lib_features_modeling_ElementFactory__WEBPACK_IMPORTED_MODULE_2__["default"].call(this, bpmnFactory, moddle); + let self = this; + let domainStoryIdFactory = new _domainStoryIdFactory__WEBPACK_IMPORTED_MODULE_1__["default"](); + /** + * create a diagram-js element with the given type (any of shape, connection, label). + * + * @param {String} elementType + * @param {Object} attrs + * + * @return {djs.model.Base} + */ + this.create = function (elementType, attrs) { + let type = attrs.type; + if (elementType === "label") { + return self.baseCreate(elementType, (0,min_dash__WEBPACK_IMPORTED_MODULE_3__.assign)({ + type: "label" + }, bpmn_js_lib_util_LabelUtil__WEBPACK_IMPORTED_MODULE_4__.DEFAULT_LABEL_SIZE, attrs)); + } + // add type to businessObject if custom + if (/^domainStory:/.test(type)) { + if (!attrs.businessObject) { + attrs.businessObject = { + type: type, + name: attrs.name ? attrs.name : "" + }; + } + if (attrs.id) { + domainStoryIdFactory.registerId(attrs.id); + } else { + attrs.id = domainStoryIdFactory.getId(elementType); + } + (0,min_dash__WEBPACK_IMPORTED_MODULE_3__.assign)(attrs.businessObject, { + id: attrs.id + }); + let id = attrs.id; + attrs.businessObject.get = function (key) { + if (key === "id") { + return id; + } + }; + attrs.businessObject.set = function (key, value) { + if (key === "id") { + (0,min_dash__WEBPACK_IMPORTED_MODULE_3__.assign)(attrs.businessObject, { + id: value + }); + } + }; + if (!attrs.businessObject.$type) { + (0,min_dash__WEBPACK_IMPORTED_MODULE_3__.assign)(attrs.businessObject, { + $type: "Element" + }); + } + (0,min_dash__WEBPACK_IMPORTED_MODULE_3__.assign)(attrs.businessObject, { + di: {} + }); + if (!attrs.businessObject.$descriptor) { + (0,min_dash__WEBPACK_IMPORTED_MODULE_3__.assign)(attrs.businessObject, { + $descriptor: {} + }); + } + // add width and height if shape + if ((!/:activity$/.test(type) || !/:connection$/.test(type)) && !(/:group$/.test(type) && attrs.height || attrs.width)) { + (0,min_dash__WEBPACK_IMPORTED_MODULE_3__.assign)(attrs, self._getCustomElementSize(type)); + } + if (!("$instanceOf" in attrs.businessObject)) { + // ensure we can use ModelUtil#is for type checks + Object.defineProperty(attrs.businessObject, "$instanceOf", { + value: function (type) { + return this.type === type; + } + }); + } + return self.baseCreate(elementType, attrs); + } + return self.createBpmnElement(elementType, attrs); + }; +} +inherits__WEBPACK_IMPORTED_MODULE_0___default()(DomainStoryElementFactory, bpmn_js_lib_features_modeling_ElementFactory__WEBPACK_IMPORTED_MODULE_2__["default"]); +DomainStoryElementFactory.$inject = ["bpmnFactory", "moddle"]; +/** + * returns the default size of custom shapes. + * + * the following example shows an interface on how + * to setup the custom shape's dimensions. + * * + * @param {String} type + * + * @return {Dimensions} a {width, height} object representing the size of the element + */ +DomainStoryElementFactory.prototype._getCustomElementSize = function (type) { + let shapes = { + __default: { + width: 75, + height: 75 + }, + "domainStory:textAnnotation": { + width: 100, + height: 30 + }, + "domainStory:group": { + width: 525, + height: 275 + } + }; + return shapes[type] || shapes.__default; +}; +class Dimensions {} + +/***/ }), + +/***/ 71644: +/*!*********************************************************!*\ + !*** ./src/app/Modeler/modeler/domainStoryIdFactory.js ***! + \*********************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ containsId: () => (/* binding */ containsId), +/* harmony export */ "default": () => (/* binding */ DomainStoryIdFactory) +/* harmony export */ }); + + +let idList = []; +function DomainStoryIdFactory() {} +DomainStoryIdFactory.prototype.getId = function (type) { + return generateId(type); +}; +DomainStoryIdFactory.prototype.registerId = function (id) { + idList.push(id); +}; +function generateId(type) { + let idNumber = fourDigitsId(); + let id = type + "_" + idSuffix(idNumber); + while (containsId(id)) { + idNumber++; + id = type + "_" + idSuffix(idNumber); + } + idList.push(id); + return id; +} +function idSuffix(idNumber) { + let id; + if (idNumber > 9999) { + id = 0; + } else if (idNumber < 10) { + id = "000" + idNumber; + } else if (idNumber < 100) { + id = "00" + idNumber; + } else if (idNumber < 1000) { + id = "0" + idNumber; + } else { + id = "" + idNumber; + } + return id; +} +function fourDigitsId() { + return Math.floor(Math.random() * 10000); +} +function containsId(id) { + let same = false; + idList.forEach(element => { + if (id === element) { + same = true; + } + }); + return same; +} + +/***/ }), + +/***/ 93699: +/*!********************************************************!*\ + !*** ./src/app/Modeler/modeler/domainStoryRenderer.js ***! + \********************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "default": () => (/* binding */ DomainStoryRenderer), +/* harmony export */ initializeRenderer: () => (/* binding */ initializeRenderer) +/* harmony export */ }); +/* harmony import */ var inherits__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! inherits */ 66967); +/* harmony import */ var inherits__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(inherits__WEBPACK_IMPORTED_MODULE_0__); +/* harmony import */ var diagram_js_lib_draw_BaseRenderer__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! diagram-js/lib/draw/BaseRenderer */ 77196); +/* harmony import */ var ids__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ids */ 91694); +/* harmony import */ var _labeling_dsLabelEditingPreview__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./labeling/dsLabelEditingPreview */ 23255); +/* harmony import */ var diagram_js_lib_util_RenderUtil__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! diagram-js/lib/util/RenderUtil */ 63103); +/* harmony import */ var tiny_svg__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! tiny-svg */ 32862); +/* harmony import */ var min_dom__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! min-dom */ 60416); +/* harmony import */ var min_dash__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! min-dash */ 91654); +/* harmony import */ var _labeling_dsLabelEditingProvider__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./labeling/dsLabelEditingProvider */ 78355); +/* harmony import */ var _numbering_numbering__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./numbering/numbering */ 39843); +/* harmony import */ var _labeling_dsLabelUtil__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./labeling/dsLabelUtil */ 29800); +/* harmony import */ var _labeling_position__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./labeling/position */ 71003); +/* harmony import */ var src_app_Domain_Common_elementTypes__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! src/app/Domain/Common/elementTypes */ 17290); +/* harmony import */ var _Utils_mathExtensions__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../../Utils/mathExtensions */ 77480); + + + + + + + + + + + + + + + + +let RENDERER_IDS = new ids__WEBPACK_IMPORTED_MODULE_1__["default"](); +let numbers = []; +const DEFAULT_COLOR = "black"; +/** + * a renderer that knows how to render custom elements. + */ +let iconDictionary; +let elementRegistry; +let dirtyFlag; +function initializeRenderer(iconDictionaryService, elementRegistryService, dirtyFlagService) { + iconDictionary = iconDictionaryService; + elementRegistry = elementRegistryService; + dirtyFlag = dirtyFlagService; +} +function DomainStoryRenderer(eventBus, styles, canvas, textRenderer, pathMap, commandStack) { + diagram_js_lib_draw_BaseRenderer__WEBPACK_IMPORTED_MODULE_9__["default"].call(this, eventBus, 2000); + let rendererId = RENDERER_IDS.next(); + let markers = {}; + let computeStyle = styles.computeStyle; + // generate the automatic Number for an activity originating from an actor + function generateActivityNumber(parentGfx, element, box) { + // whenever we want to edit an activity, it gets redrawn as a new object + // and the custom information is lost, + // so we stash it before the editing occurs and set the value here + let numberStash = (0,_labeling_dsLabelEditingProvider__WEBPACK_IMPORTED_MODULE_3__.getNumberStash)(); + let semantic = element.businessObject; + if (numberStash.use) { + semantic.number = numberStash.number; + } + numbers[semantic.number] = true; + let newRenderedNumber = renderNumber(parentGfx, semantic.number, numberStyle(box), element.type); + (0,_numbering_numbering__WEBPACK_IMPORTED_MODULE_4__.addNumberToRegistry)(newRenderedNumber, semantic.number); + } + // style functions + function numberStyle(box) { + return { + box: box, + fitBox: true, + style: (0,min_dash__WEBPACK_IMPORTED_MODULE_10__.assign)({}, textRenderer.getExternalStyle(), { + fill: "black", + position: "absolute" + }) + }; + } + function backgroundBoxStyle(box) { + return { + box: box, + fitBox: true, + style: (0,min_dash__WEBPACK_IMPORTED_MODULE_10__.assign)({}, textRenderer.getExternalStyle(), { + fill: "black", + fontSize: 50, + position: "absolute", + fontFamily: "Courier New" + }) + }; + } + function backgroundDotStyle(box) { + return { + box: box, + fitBox: true, + style: (0,min_dash__WEBPACK_IMPORTED_MODULE_10__.assign)({}, textRenderer.getExternalStyle(), { + fill: "white", + fontSize: 150, + position: "absolute", + fontFamily: "Courier" + }) + }; + } + // render functions + // render label associated with actors and workobjects + function renderEmbeddedLabel(parentGfx, element, align, padding) { + let businessObject = element.businessObject; + return renderLabel(parentGfx, businessObject.name, { + box: element, + align: align, + padding: padding ? padding : 0, + style: { + fill: "#000000" + } + }, element.type); + } + // render label associated with activities + function renderExternalLabel(parentGfx, element) { + let semantic = element.businessObject; + let waypoints = element.waypoints; + let lines = (0,_labeling_position__WEBPACK_IMPORTED_MODULE_6__.countLines)(semantic.name); + if (element.waypoints != null) { + let position = (0,_labeling_position__WEBPACK_IMPORTED_MODULE_6__.labelPosition)(waypoints, lines); + let startPoint = element.waypoints[position.selected]; + let endPoint = element.waypoints[position.selected + 1]; + let angle = (0,_Utils_mathExtensions__WEBPACK_IMPORTED_MODULE_8__.angleBetween)(startPoint, endPoint); + let alignment = "left"; + let boxWidth = 500; + let xStart = position.x; + // if the activity is horizontal, we want to center the label + if (angle === 0 || angle === 180) { + boxWidth = Math.abs(startPoint.x - endPoint.x); + alignment = "center"; + xStart = (startPoint.x + endPoint.x) / 2 - (0,_labeling_dsLabelUtil__WEBPACK_IMPORTED_MODULE_5__.calculateTextWidth)(semantic.name); + } + let box = { + textAlign: alignment, + width: boxWidth, + height: 30, + x: xStart, + y: position.y + }; + if (semantic.name && semantic.name.length) { + return renderLabel(parentGfx, semantic.name, { + box: box, + fitBox: true, + style: (0,min_dash__WEBPACK_IMPORTED_MODULE_10__.assign)({}, textRenderer.getExternalStyle(), { + fill: "black", + wordWrap: "break-word", + overflowWrap: "break-word", + hyphens: "auto" + }) + }, element.type); + } + } + } + // render the number associated with an activity + function renderExternalNumber(parentGfx, element) { + if (element && element.source) { + let semantic = element.businessObject; + let box = (0,_numbering_numbering__WEBPACK_IMPORTED_MODULE_4__.numberBoxDefinitions)(element); + if (semantic.number == null && element.source.type && element.source.type.includes(src_app_Domain_Common_elementTypes__WEBPACK_IMPORTED_MODULE_7__.elementTypes.ACTOR)) { + (0,_numbering_numbering__WEBPACK_IMPORTED_MODULE_4__.generateAutomaticNumber)(element, commandStack); + } + // render the background for the number + if (semantic.number && element.source.type.includes(src_app_Domain_Common_elementTypes__WEBPACK_IMPORTED_MODULE_7__.elementTypes.ACTOR)) { + generateActivityNumber(parentGfx, element, box); + } else { + semantic.number = null; + } + } + } + // render a number on the canvas + function renderNumber(parentGfx, number, options, type) { + if (number < 10) { + number = String(number); + } + number = String(number); + let text = textRenderer.createText(number || "", options); + let height = 0; + (0,tiny_svg__WEBPACK_IMPORTED_MODULE_11__.classes)(text).add("djs-labelNumber"); + setCoordinates(type, text, options, height, parentGfx); + (0,tiny_svg__WEBPACK_IMPORTED_MODULE_11__.append)(parentGfx, text); + drawCircle(parentGfx, options, number.length); + return text; + } + function drawCircle(parentGfx, options, textLength) { + const circle = (0,tiny_svg__WEBPACK_IMPORTED_MODULE_11__.create)("circle"); + (0,tiny_svg__WEBPACK_IMPORTED_MODULE_11__.attr)(circle, { + cx: options.box.x + 15 + textLength * 3, + cy: options.box.y - 4, + r: "10", + style: "fill:transparent;stroke:black;stroke-width:1" + }); + (0,tiny_svg__WEBPACK_IMPORTED_MODULE_11__.append)(parentGfx, circle); + } + // the coordinates of the activity label must be set directly and will not be taken from the box + function setCoordinates(type, text, options, height, parentGfx) { + if (/:activity$/.test(type)) { + text.innerHTML = manipulateInnerHTMLXLabel(text.children, options.box.x, 0); + text.innerHTML = manipulateInnerHTMLYLabel(text.children, options.box.y, 0); + } else if (/:actor/.test(type)) { + height = parentGfx.firstChild.attributes.height.nodeValue; + text.innerHTML = manipulateInnerHTMLYLabel(text.children, height, 0); + } else if (/:workObject/.test(type)) { + height = parentGfx.firstChild.attributes.height.nodeValue; + text.innerHTML = manipulateInnerHTMLYLabel(text.children, height, 26); + } + } + // render a label on the canvas + function renderLabel(parentGfx, label, options, type) { + let text = textRenderer.createText(label || "", options); + let height = 0; + (0,tiny_svg__WEBPACK_IMPORTED_MODULE_11__.classes)(text).add("djs-label"); + setCoordinates(type, text, options, height, parentGfx); + (0,tiny_svg__WEBPACK_IMPORTED_MODULE_11__.append)(parentGfx, text); + return text; + } + // determine the Y-coordinate of the label / number to be rendered + function manipulateInnerHTMLYLabel(children, y, offset) { + if (children) { + let result = ""; + for (let i = 0; i < children.length; i++) { + result += children[i].outerHTML.replace(/y="-?\d*.\d*"/, 'y="' + (Number(y) + offset + 14 * i) + '"'); + } + return result; + } + } + // determine the X-coordinate of the label / number to be rendered + function manipulateInnerHTMLXLabel(children, x, offset) { + if (children) { + let result = ""; + for (let i = 0; i < children.length; i++) { + result += children[i].outerHTML.replace(/x="-?\d*.\d*"/, 'x="' + (Number(x) + offset + 14) + '"'); + } + return result; + } + } + // draw functions + this.drawGroup = function (parentGfx, element) { + if (!element.businessObject.pickedColor) { + element.businessObject.pickedColor = DEFAULT_COLOR; + } + let rect = drawRect(parentGfx, element.width, element.height, 0, (0,min_dash__WEBPACK_IMPORTED_MODULE_10__.assign)({ + fill: "none", + stroke: element.businessObject.pickedColor + }, element.attrs)); + renderEmbeddedLabel(parentGfx, element, "left-top", 8); + return rect; + }; + function useColorForElement(element, iconSRC) { + if (!element.businessObject.pickedColor) { + element.businessObject.pickedColor = DEFAULT_COLOR; + } + const match = iconSRC.match(/fill=".*?"/); + if (match && match.length > 1) { + return iconSRC.replace(/fill=".*?"/, 'fill="' + element.businessObject.pickedColor + '"'); + } else { + const index = iconSRC.indexOf("' + ''; + } else { + return useColorForElement(element, iconSRC); + } + } + this.drawActor = function (parent, element) { + let svgDynamicSizeAttributes = { + width: element.width, + height: element.height + }, + actor; + let iconSRC = iconDictionary.getTypeIconSRC(src_app_Domain_Common_elementTypes__WEBPACK_IMPORTED_MODULE_7__.elementTypes.ACTOR, element.type); + iconSRC = getIconSrc(iconSRC, element); + actor = (0,tiny_svg__WEBPACK_IMPORTED_MODULE_11__.create)(iconSRC); + (0,tiny_svg__WEBPACK_IMPORTED_MODULE_11__.attr)(actor, svgDynamicSizeAttributes); + (0,tiny_svg__WEBPACK_IMPORTED_MODULE_11__.append)(parent, actor); + renderEmbeddedLabel(parent, element, "center", -5); + return actor; + }; + this.drawWorkObject = function (parent, element) { + let svgDynamicSizeAttributes = { + width: element.width * 0.65, + height: element.height * 0.65, + x: element.width / 2 - 25, + y: element.height / 2 - 25 + }, + workObject; + let iconSRC = iconDictionary.getTypeIconSRC(src_app_Domain_Common_elementTypes__WEBPACK_IMPORTED_MODULE_7__.elementTypes.WORKOBJECT, element.type); + iconSRC = getIconSrc(iconSRC, element); + workObject = (0,tiny_svg__WEBPACK_IMPORTED_MODULE_11__.create)(iconSRC); + (0,tiny_svg__WEBPACK_IMPORTED_MODULE_11__.attr)(workObject, svgDynamicSizeAttributes); + (0,tiny_svg__WEBPACK_IMPORTED_MODULE_11__.append)(parent, workObject); + renderEmbeddedLabel(parent, element, "center", -5); + return workObject; + }; + function useColorForActivity(element) { + if (!element.businessObject.pickedColor) { + element.businessObject.pickedColor = "black"; + } + let attrs = ""; + return computeStyle(attrs, { + stroke: element.businessObject.pickedColor, + fill: "none", + strokeWidth: 1.5, + strokeLinejoin: "round", + markerEnd: marker("activity", "black", element.businessObject.pickedColor) + }); + } + this.drawActivity = function (p, element) { + adjustForTextOverlap(element); + if (element) { + let attrs = useColorForActivity(element); + let x = (0,tiny_svg__WEBPACK_IMPORTED_MODULE_11__.append)(p, (0,diagram_js_lib_util_RenderUtil__WEBPACK_IMPORTED_MODULE_12__.createLine)(element.waypoints, attrs)); + renderExternalLabel(p, element); + renderExternalNumber(p, element); + // just adjusting the start- and endpoint of the connection-element moves only the drawn connection, + // not the interactive line. This can be fixed by manually overriding the points of the interactive polyline + // in the HTMl with the points of the drawn one. + // this however does not adjust the surrounding box of the connection. + fixConnectionInHTML(p.parentElement); + return x; + } + }; + function checkIfPointOverlapsText(point, source) { + if (point.y > source.y + 60) { + if (point.x > source.x + 3 && point.x < source.x + 72) { + let lineOffset = getLineOffset(source); + if (source.y + 75 + lineOffset > point.y) { + point.y += lineOffset; + } + } + } + } + function adjustForTextOverlap(element) { + let source = element.source; + let target = element.target; + let waypoints = element.waypoints; + let startPoint = waypoints[0]; + let endPoint = waypoints[waypoints.length - 1]; + if (startPoint && endPoint && source && target) { + checkIfPointOverlapsText(startPoint, source); + checkIfPointOverlapsText(endPoint, source); + } + } + function getLineOffset(element) { + let id = element.id; + let offset = 0; + let objects = document.getElementsByClassName("djs-element djs-shape"); + for (let i = 0; i < objects.length; i++) { + let data_id = objects.item(i).getAttribute("data-element-id"); + if (data_id === id) { + let object = objects.item(i); + let text = object.getElementsByTagName("text")[0]; + let tspans = text.getElementsByTagName("tspan"); + let tspan = tspans[tspans.length - 1]; + offset = tspan.getAttribute("y"); + } + } + return offset - 70; + } + function fixConnectionInHTML(wantedConnection) { + if (wantedConnection) { + let polylines = wantedConnection.getElementsByTagName("polyline"); + if (polylines.length > 1) { + polylines[1].setAttribute("points", polylines[0].getAttribute("points")); + } + } + } + this.drawDSConnection = function (p, element) { + let attrs = ""; + attrs = computeStyle(attrs, { + stroke: "#000000", + strokeWidth: 1.5, + strokeLinejoin: "round", + strokeDasharray: "5, 5" + }); + return (0,tiny_svg__WEBPACK_IMPORTED_MODULE_11__.append)(p, (0,diagram_js_lib_util_RenderUtil__WEBPACK_IMPORTED_MODULE_12__.createLine)(element.waypoints, attrs)); + }; + this.drawAnnotation = function (parentGfx, element) { + let style = { + fill: "none", + stroke: "none" + }; + let text = element.businessObject.text || ""; + if (element.businessObject.text) { + let height = (0,_labeling_dsLabelEditingPreview__WEBPACK_IMPORTED_MODULE_2__.getAnnotationBoxHeight)(); + if (height === 0 && element.businessObject.number) { + height = element.businessObject.number; + } + (0,min_dash__WEBPACK_IMPORTED_MODULE_10__.assign)(element, { + height: height + }); + // for some reason the keyword height is not exported, so we use another, which we know will be exported, + // to ensure persistent annotation heights between sessions + (0,min_dash__WEBPACK_IMPORTED_MODULE_10__.assign)(element.businessObject, { + number: height + }); + } + let textElement = drawRect(parentGfx, element.width, element.height, 0, 0, style); + let textPathData = pathMap.getScaledPath("TEXT_ANNOTATION", { + xScaleFactor: 1, + yScaleFactor: 1, + containerWidth: element.width, + containerHeight: element.height, + position: { + mx: 0.0, + my: 0.0 + } + }); + drawPath(parentGfx, textPathData, { + stroke: "black" + }); + renderLabel(parentGfx, text, { + box: element, + align: "left-top", + padding: 5, + style: { + fill: "black" + } + }); + return textElement; + }; + // draw helper functions + function drawPath(parentGfx, d, attrs) { + attrs = computeStyle(attrs, ["no-fill"], { + strokeWidth: 2, + stroke: "black" + }); + let path = (0,tiny_svg__WEBPACK_IMPORTED_MODULE_11__.create)("path"); + (0,tiny_svg__WEBPACK_IMPORTED_MODULE_11__.attr)(path, { + d: d + }); + (0,tiny_svg__WEBPACK_IMPORTED_MODULE_11__.attr)(path, attrs); + (0,tiny_svg__WEBPACK_IMPORTED_MODULE_11__.append)(parentGfx, path); + return path; + } + function drawRect(parentGfx, width, height, r, offset, attrs) { + if ((0,min_dash__WEBPACK_IMPORTED_MODULE_10__.isObject)(offset)) { + attrs = offset; + offset = 0; + } + offset = offset || 0; + attrs = computeStyle(attrs, { + stroke: "black", + strokeWidth: 2, + fill: "white" + }); + let rect = (0,tiny_svg__WEBPACK_IMPORTED_MODULE_11__.create)("rect"); + (0,tiny_svg__WEBPACK_IMPORTED_MODULE_11__.attr)(rect, { + x: offset, + y: offset, + width: width - offset * 2, + height: height - offset * 2, + rx: r, + ry: r + }); + (0,tiny_svg__WEBPACK_IMPORTED_MODULE_11__.attr)(rect, attrs); + (0,tiny_svg__WEBPACK_IMPORTED_MODULE_11__.append)(parentGfx, rect); + return rect; + } + // marker functions + function marker(type, fill, stroke) { + let id = type + "-" + fill + "-" + stroke + "-" + rendererId; + if (!markers[id]) { + createMarker(type, fill, stroke); + } + return "url(#" + id + ")"; + } + function createMarker(type, fill, stroke) { + let id = type + "-" + fill + "-" + stroke + "-" + rendererId; + if (type === "activity") { + let sequenceflowEnd = (0,tiny_svg__WEBPACK_IMPORTED_MODULE_11__.create)("path"); + (0,tiny_svg__WEBPACK_IMPORTED_MODULE_11__.attr)(sequenceflowEnd, { + d: "M 1 5 L 11 10 L 1 15 Z" + }); + addMarker(id, { + element: sequenceflowEnd, + ref: { + x: 11, + y: 10 + }, + scale: 0.5, + attrs: { + fill: stroke, + stroke: stroke + } + }); + } + } + function addMarker(id, options) { + let attrs = (0,min_dash__WEBPACK_IMPORTED_MODULE_10__.assign)({ + fill: "black", + strokeWidth: 1, + strokeLinecap: "round", + strokeDasharray: "none" + }, options.attrs); + let ref = options.ref || { + x: 0, + y: 0 + }; + let scale = options.scale || 1; + // resetting stroke dash array + if (attrs.strokeDasharray === "none") { + attrs.strokeDasharray = [10000, 1]; + } + let marker = (0,tiny_svg__WEBPACK_IMPORTED_MODULE_11__.create)("marker"); + (0,tiny_svg__WEBPACK_IMPORTED_MODULE_11__.attr)(options.element, attrs); + (0,tiny_svg__WEBPACK_IMPORTED_MODULE_11__.append)(marker, options.element); + (0,tiny_svg__WEBPACK_IMPORTED_MODULE_11__.attr)(marker, { + id: id, + viewBox: "0 0 20 20", + refX: ref.x, + refY: ref.y, + markerWidth: 20 * scale, + markerHeight: 20 * scale, + orient: "auto" + }); + let defs = (0,min_dom__WEBPACK_IMPORTED_MODULE_13__.query)("defs", canvas._svg); + if (!defs) { + defs = (0,tiny_svg__WEBPACK_IMPORTED_MODULE_11__.create)("defs"); + (0,tiny_svg__WEBPACK_IMPORTED_MODULE_11__.append)(canvas._svg, defs); + } + (0,tiny_svg__WEBPACK_IMPORTED_MODULE_11__.append)(defs, marker); + markers[id] = marker; + } + // path functions + this.getWorkObjectPath = function (shape) { + let rectangle = getRectPath(shape); + return (0,diagram_js_lib_util_RenderUtil__WEBPACK_IMPORTED_MODULE_12__.componentsToPath)(rectangle); + }; + this.getGroupPath = function (shape) { + let rectangle = getRectPath(shape); + return (0,diagram_js_lib_util_RenderUtil__WEBPACK_IMPORTED_MODULE_12__.componentsToPath)(rectangle); + }; + this.getActivityPath = function (connection) { + let waypoints = connection.waypoints.map(function (p) { + return p.original || p; + }); + let activityPath = [["M", waypoints[0].x, waypoints[0].y]]; + waypoints.forEach(function (waypoint, index) { + if (index !== 0) { + activityPath.push(["L", waypoint.x, waypoint.y]); + } + }); + return (0,diagram_js_lib_util_RenderUtil__WEBPACK_IMPORTED_MODULE_12__.componentsToPath)(activityPath); + }; + this.getActorPath = function (shape) { + let rectangle = getRectPath(shape); + return (0,diagram_js_lib_util_RenderUtil__WEBPACK_IMPORTED_MODULE_12__.componentsToPath)(rectangle); + }; +} +inherits__WEBPACK_IMPORTED_MODULE_0___default()(DomainStoryRenderer, diagram_js_lib_draw_BaseRenderer__WEBPACK_IMPORTED_MODULE_9__["default"]); +DomainStoryRenderer.$inject = ["eventBus", "styles", "canvas", "textRenderer", "pathMap", "commandStack"]; +DomainStoryRenderer.prototype.canRender = function (element) { + return /^domainStory:/.test(element.type); +}; +DomainStoryRenderer.prototype.drawShape = function (p, element) { + // polyfill for tests + if (!String.prototype.startsWith) { + Object.defineProperty(String.prototype, "startsWith", { + value: function (search, pos) { + pos = !pos || pos < 0 ? 0 : +pos; + return this.substring(pos, pos + search.length) === search; + } + }); + } + let type = element.type; + element.businessObject.type = type; + elementRegistry.correctInitialize(); + dirtyFlag.makeDirty(); + if (type.includes(src_app_Domain_Common_elementTypes__WEBPACK_IMPORTED_MODULE_7__.elementTypes.ACTOR)) { + return this.drawActor(p, element); + } else if (type.includes(src_app_Domain_Common_elementTypes__WEBPACK_IMPORTED_MODULE_7__.elementTypes.WORKOBJECT)) { + return this.drawWorkObject(p, element); + } else if (type.includes(src_app_Domain_Common_elementTypes__WEBPACK_IMPORTED_MODULE_7__.elementTypes.TEXTANNOTATION)) { + return this.drawAnnotation(p, element); + } else if (type.includes(src_app_Domain_Common_elementTypes__WEBPACK_IMPORTED_MODULE_7__.elementTypes.GROUP)) { + return this.drawGroup(p, element); + } +}; +DomainStoryRenderer.prototype.getShapePath = function (shape) { + let type = shape.type; + if (type.includes(src_app_Domain_Common_elementTypes__WEBPACK_IMPORTED_MODULE_7__.elementTypes.ACTOR)) { + return this.getActorPath(shape); + } else if (type.includes(src_app_Domain_Common_elementTypes__WEBPACK_IMPORTED_MODULE_7__.elementTypes.WORKOBJECT)) { + return this.getWorkObjectPath(shape); + } else if (type.includes(src_app_Domain_Common_elementTypes__WEBPACK_IMPORTED_MODULE_7__.elementTypes.GROUP)) { + return this.getGroupPath(shape); + } +}; +DomainStoryRenderer.prototype.drawConnection = function (p, element) { + let type = element.type; + dirtyFlag.makeDirty(); + // fixes activities that were copy-pasted + if (!element.businessObject.type) { + element.businessObject.type = type; + } + if (type === src_app_Domain_Common_elementTypes__WEBPACK_IMPORTED_MODULE_7__.elementTypes.ACTIVITY) { + return this.drawActivity(p, element); + } else if (type === src_app_Domain_Common_elementTypes__WEBPACK_IMPORTED_MODULE_7__.elementTypes.CONNECTION) { + return this.drawDSConnection(p, element); + } +}; +// creates a SVG path that describes a rectangle which encloses the given shape. +function getRectPath(shape) { + let offset = 5; + let x = shape.x, + y = shape.y, + width = shape.width / 2 + offset, + height = shape.height / 2 + offset; + return [["M", x, y], ["l", width, 0], ["l", width, height], ["l", -width, height], ["l", -width, 0], ["z"]]; +} + +/***/ }), + +/***/ 87995: +/*!*****************************************************!*\ + !*** ./src/app/Modeler/modeler/domainStoryRules.js ***! + \*****************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "default": () => (/* binding */ DomainStoryRules) +/* harmony export */ }); +/* harmony import */ var min_dash__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! min-dash */ 91654); +/* harmony import */ var inherits__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! inherits */ 66967); +/* harmony import */ var inherits__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(inherits__WEBPACK_IMPORTED_MODULE_0__); +/* harmony import */ var diagram_js_lib_features_rules_RuleProvider__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! diagram-js/lib/features/rules/RuleProvider */ 32607); +/* harmony import */ var src_app_Domain_Common_elementTypes__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! src/app/Domain/Common/elementTypes */ 17290); +/* harmony import */ var _util__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./util */ 70674); + + + + + + + +const HIGH_PRIORITY = 1500; +const MIN_SIZE = 125; +function isDomainStory(element) { + return element && /^domainStory:/.test(element.type); +} +function isDomainStoryGroup(element) { + return element && /^domainStory:group/.test(element.type); +} +function isActor(element) { + return element && /^domainStory:actor\w*/.test(element.type); +} +function isWorkObject(element) { + return element && /^domainStory:workObject/.test(element.type); +} +function isActivity(element) { + return element && /^domainStory:activity/.test(element.type); +} +function isConnection(element) { + return element && /^domainStory:connection/.test(element.type); +} +function isAnnotation(element) { + return element && /^domainStory:textAnnotation/.test(element.type); +} +/** + * can source and target be connected? + */ +function canConnect(source, target) { + // only judge about two custom elements + if (isDomainStoryGroup(target) || !isDomainStory(source) || !isDomainStory(target)) { + return; + } + // do not allow a connection from one element to itself + if (source === target) { + return; + } + // do not allow a connection between two actors + if (isActor(source) && isActor(target)) { + return; + } + // do not allow a connection, where the source or target is an activity + if (isActivity(source) || isActivity(target)) { + return; + } + // do not allow a connection, where the source or target is an annotation connection + if (isConnection(source) || isConnection(target)) { + return; + } + // do not allow a connection to a connection(the special type of connection between an element and a comment box) + // when the target is an annotation, the connection type is an annotation connection instead of an activity + if (isAnnotation(target)) { + return { + type: src_app_Domain_Common_elementTypes__WEBPACK_IMPORTED_MODULE_1__.elementTypes.CONNECTION + }; + } + return { + type: src_app_Domain_Common_elementTypes__WEBPACK_IMPORTED_MODULE_1__.elementTypes.ACTIVITY + }; +} +function canResize(shape, newBounds) { + if ((0,_util__WEBPACK_IMPORTED_MODULE_2__.is)(shape, src_app_Domain_Common_elementTypes__WEBPACK_IMPORTED_MODULE_1__.elementTypes.GROUP)) { + if (newBounds) { + let lowerLeft = { + x: shape.x, + y: shape.y + shape.height + }; + let lowerRight = { + x: shape.x + shape.width, + y: shape.y + shape.height + }; + let upperRight = { + x: shape.x + shape.width, + y: shape.y + }; + if (newBounds.x !== shape.x && newBounds.y !== shape.y) { + // upper left + if (newBounds.x > lowerRight.x - MIN_SIZE) { + (0,min_dash__WEBPACK_IMPORTED_MODULE_3__.assign)(newBounds, { + x: lowerRight.x - MIN_SIZE + }); + } + if (newBounds.y > lowerRight.y - MIN_SIZE) { + (0,min_dash__WEBPACK_IMPORTED_MODULE_3__.assign)(newBounds, { + y: lowerRight.y - MIN_SIZE + }); + } + } + if (newBounds.x !== shape.x && newBounds.y === shape.y) { + // lower left + if (newBounds.x > upperRight.x - MIN_SIZE) { + (0,min_dash__WEBPACK_IMPORTED_MODULE_3__.assign)(newBounds, { + x: upperRight.x - MIN_SIZE + }); + } + } + if (newBounds.x === shape.x && newBounds.y !== shape.y) { + // upper right + if (newBounds.y > lowerLeft.y - MIN_SIZE) { + (0,min_dash__WEBPACK_IMPORTED_MODULE_3__.assign)(newBounds, { + y: lowerLeft.y - MIN_SIZE + }); + } + } + if (newBounds.height < MIN_SIZE) { + (0,min_dash__WEBPACK_IMPORTED_MODULE_3__.assign)(newBounds, { + height: MIN_SIZE + }); + } + if (newBounds.width < MIN_SIZE) { + (0,min_dash__WEBPACK_IMPORTED_MODULE_3__.assign)(newBounds, { + width: MIN_SIZE + }); + } + } + return true; + } + return false; +} +function canAttach(elements, target, source) { + if (!Array.isArray(elements)) { + elements = [elements]; + } + // disallow appending as boundary event + if (source) { + return false; + } + // only (re-)attach one element at a time + if (elements.length !== 1) { + return false; + } + // allow default move operation + if (!target) { + return true; + } + // only allow drop on DomainStory Elements + if (!isDomainStory(target)) { + return false; + } + return "attach"; +} +function canConnectToAnnotation(source, target, connection) { + // do not allow an activity connect to an annotation + if (isActivity(connection) && isAnnotation(target)) { + return false; + } + // do not allow an annotation connection between two annotations + if (isConnection(connection) && isAnnotation(source) && isAnnotation(target)) { + return false; + } + // do not allow an annotation connection between an actor or workObject and anything except an annotation + return !(isConnection(connection) && !isAnnotation(target) && (isActor(source) || isWorkObject(source))); +} +/** + * specific rules for custom elements + */ +function DomainStoryRules(eventBus) { + diagram_js_lib_features_rules_RuleProvider__WEBPACK_IMPORTED_MODULE_4__["default"].call(this, eventBus); +} +inherits__WEBPACK_IMPORTED_MODULE_0___default()(DomainStoryRules, diagram_js_lib_features_rules_RuleProvider__WEBPACK_IMPORTED_MODULE_4__["default"]); +DomainStoryRules.$inject = ["eventBus"]; +DomainStoryRules.prototype.init = function () { + /** + * can shape be created on target container? + */ + function canCreate(shape, target) { + // only judge about custom elements + if (!isDomainStory(shape)) { + return; + } + // allow creation just on groups + return !isDomainStory(target) || isDomainStoryGroup(target); + } + this.addRule("elements.create", function (context) { + const elements = context.elements, + position = context.position, + target = context.target; + return (0,min_dash__WEBPACK_IMPORTED_MODULE_3__.every)(elements, function (element) { + if (isConnection(element)) { + return canConnect(element.source, element.target, element); + } + if (element.host) { + return canAttach(element, element.host, null, position); + } + return canCreate(element, target, null, position); + }); + }); + this.addRule("elements.move", HIGH_PRIORITY, function (context) { + let target = context.target, + shapes = context.shapes; + let type; + // do not allow mixed movements of custom / BPMN shapes + // if any shape cannot be moved, the group cannot be moved, too + // reject, if we have at least one + // custom element that cannot be moved + return (0,min_dash__WEBPACK_IMPORTED_MODULE_3__.reduce)(shapes, function (result, s) { + if (type === undefined) { + type = isDomainStory(s); + } + if (type !== isDomainStory(s) || result === false) { + return false; + } + return canCreate(s, target); + }, undefined); + }); + this.addRule("shape.create", HIGH_PRIORITY, function (context) { + let target = context.target, + shape = context.shape; + return canCreate(shape, target); + }); + this.addRule("connection.create", HIGH_PRIORITY, function (context) { + let source = context.source, + target = context.target; + return canConnect(source, target); + }); + this.addRule("connection.reconnect", HIGH_PRIORITY, function (context) { + let connection = context.connection, + source = context.hover || context.source, + target = context.target; + // -------------------------------------------------------------- + let result = canConnectToAnnotation(source, target, connection); + if (!result) { + return; + } + // -------------------------------------------------------------- + return canConnect(source, target, connection); + }); + this.addRule("shape.resize", function (context) { + let shape = context.shape, + newBounds = context.newBounds; + return canResize(shape, newBounds); + }); +}; +DomainStoryRules.prototype.canConnect = canConnect; +DomainStoryRules.prototype.canAttach = canAttach; +DomainStoryRules.prototype.isDomainStory = isDomainStory; +DomainStoryRules.prototype.canResize = canResize; + +/***/ }), + +/***/ 38823: +/*!*******************************************************!*\ + !*** ./src/app/Modeler/modeler/domainStoryUpdater.js ***! + \*******************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "default": () => (/* binding */ DomainStoryUpdater) +/* harmony export */ }); +/* harmony import */ var inherits__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! inherits */ 66967); +/* harmony import */ var inherits__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(inherits__WEBPACK_IMPORTED_MODULE_0__); +/* harmony import */ var min_dash__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! min-dash */ 91654); +/* harmony import */ var diagram_js_lib_command_CommandInterceptor__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! diagram-js/lib/command/CommandInterceptor */ 76919); +/* harmony import */ var diagram_js_lib_util_Collections__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! diagram-js/lib/util/Collections */ 52324); +/* harmony import */ var _util__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./util */ 70674); +/* harmony import */ var _Domain_Common_elementTypes__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../Domain/Common/elementTypes */ 17290); + + + + + + + + +/** + * a handler responsible for updating the custom element's businessObject + * once changes on the diagram happen. + */ +function DomainStoryUpdater(eventBus, bpmnjs) { + diagram_js_lib_command_CommandInterceptor__WEBPACK_IMPORTED_MODULE_3__["default"].call(this, eventBus); + function updateCustomElement(e) { + let context = e.context, + shape = context.shape, + businessObject = shape.businessObject; + if (!shape || !shape.type.includes(_Domain_Common_elementTypes__WEBPACK_IMPORTED_MODULE_2__.elementTypes.DOMAINSTORY)) { + return; + } + let parent = shape.parent; + let customElements = bpmnjs._customElements; + // make sure element is added / removed from bpmnjs.customElements + if (!parent) { + (0,diagram_js_lib_util_Collections__WEBPACK_IMPORTED_MODULE_4__.remove)(customElements, businessObject); + } else { + (0,diagram_js_lib_util_Collections__WEBPACK_IMPORTED_MODULE_4__.add)(customElements, businessObject); + } + // save custom element position + (0,min_dash__WEBPACK_IMPORTED_MODULE_5__.assign)(businessObject, (0,min_dash__WEBPACK_IMPORTED_MODULE_5__.pick)(shape, ["x", "y"])); + // save custom element size if resizable + if (shape.type === _Domain_Common_elementTypes__WEBPACK_IMPORTED_MODULE_2__.elementTypes.GROUP) { + (0,min_dash__WEBPACK_IMPORTED_MODULE_5__.assign)(businessObject, (0,min_dash__WEBPACK_IMPORTED_MODULE_5__.pick)(shape, ["height", "width"])); + // rework the child-parent relations if a group was moved, such that all Objects that are visually in the group are also associated with it + // since we do not have access to the standard-canvas object here, we cannot use the function correctGroupChildren() from DSLabelUtil + if (parent != null) { + (0,_util__WEBPACK_IMPORTED_MODULE_1__.reworkGroupElements)(parent, shape); + } + } + if (shape && shape.parent && "type" in shape.parent && shape.parent.type === _Domain_Common_elementTypes__WEBPACK_IMPORTED_MODULE_2__.elementTypes.GROUP) { + (0,min_dash__WEBPACK_IMPORTED_MODULE_5__.assign)(businessObject, { + parent: shape.parent.id + }); + } + } + function updateCustomConnection(e) { + let context = e.context, + connection = context.connection, + source = connection.source, + target = connection.target, + businessObject = connection.businessObject; + if (e.newTarget) { + target = e.newTarget; + } + if (e.newSource) { + source = e.newSource; + } + let parent = connection.parent; + let customElements = bpmnjs._customElements; + // make sure element is added / removed from bpmnjs.customElements + if (!parent) { + (0,diagram_js_lib_util_Collections__WEBPACK_IMPORTED_MODULE_4__.remove)(customElements, businessObject); + } else { + (0,diagram_js_lib_util_Collections__WEBPACK_IMPORTED_MODULE_4__.add)(customElements, businessObject); + } + // update waypoints + (0,min_dash__WEBPACK_IMPORTED_MODULE_5__.assign)(businessObject, { + waypoints: copyWaypoints(connection) + }); + if (source) { + if (!businessObject.source) { + (0,min_dash__WEBPACK_IMPORTED_MODULE_5__.assign)(businessObject, { + source: source.id + }); + } else { + businessObject.source = source.id; + } + } + if (target) { + if (!businessObject.target) { + (0,min_dash__WEBPACK_IMPORTED_MODULE_5__.assign)(businessObject, { + target: target.id + }); + } else { + businessObject.target = target.id; + } + } + } + function copyWaypoints(connection) { + return connection.waypoints.map(function (p) { + if (p.original) { + return { + original: { + x: p.original.x, + y: p.original.y + }, + x: p.x, + y: p.y + }; + } else { + return { + x: p.x, + y: p.y + }; + } + }); + } + this.executed(["shape.create", "shape.move", "shape.delete", "shape.resize", "shape.removeGroupWithChildren"], ifDomainStoryElement(updateCustomElement)); + this.reverted(["shape.create", "shape.move", "shape.delete", "shape.resize", "shape.removeGroupWithChildren"], ifDomainStoryElement(updateCustomElement)); + this.executed(["connection.create", "connection.reconnect", "connection.updateWaypoints", "connection.delete", "connection.layout", "connection.move"], ifDomainStoryElement(updateCustomConnection)); + this.reverted(["connection.create", "connection.reconnect", "connection.updateWaypoints", "connection.delete", "connection.layout", "connection.move"], ifDomainStoryElement(updateCustomConnection)); +} +// check if element in the context of an event is a domainStory element +function ifDomainStoryElement(fn) { + return event => { + const context = event.context; + const element = context.shape || context.connection; + if (isDomainStory(element)) { + fn(event); + } + }; +} +function isDomainStory(element) { + return element && /domainStory:/.test(element.type); +} +inherits__WEBPACK_IMPORTED_MODULE_0___default()(DomainStoryUpdater, diagram_js_lib_command_CommandInterceptor__WEBPACK_IMPORTED_MODULE_3__["default"]); +DomainStoryUpdater.$inject = ["eventBus", "bpmnjs"]; + +/***/ }), + +/***/ 17969: +/*!******************************************!*\ + !*** ./src/app/Modeler/modeler/index.js ***! + \******************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) +/* harmony export */ }); +/* harmony import */ var _domainStoryElementFactory__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./domainStoryElementFactory */ 33306); +/* harmony import */ var _domainStoryRenderer__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./domainStoryRenderer */ 93699); +/* harmony import */ var _palette_domainStoryPalette__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./palette/domainStoryPalette */ 48206); +/* harmony import */ var _domainStoryRules__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./domainStoryRules */ 87995); +/* harmony import */ var _domainStoryUpdater__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./domainStoryUpdater */ 38823); +/* harmony import */ var bpmn_js_lib_features_modeling_ElementFactory__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! bpmn-js/lib/features/modeling/ElementFactory */ 4432); +/* harmony import */ var diagram_js_lib_features_create__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! diagram-js/lib/features/create */ 50392); +/* harmony import */ var bpmn_js_lib_draw_PathMap__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! bpmn-js/lib/draw/PathMap */ 63351); +/* harmony import */ var bpmn_js_lib_features_popup_menu__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! bpmn-js/lib/features/popup-menu */ 95555); +/* harmony import */ var diagram_js_lib_features_context_pad__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! diagram-js/lib/features/context-pad */ 68415); +/* harmony import */ var diagram_js_lib_command_CommandStack__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(/*! diagram-js/lib/command/CommandStack */ 92705); +/* harmony import */ var _updateHandler_updateLabelHandler__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./updateHandler/updateLabelHandler */ 25275); +/* harmony import */ var _updateHandler_headlineAndDescriptionUpdateHandler__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./updateHandler/headlineAndDescriptionUpdateHandler */ 49716); +/* harmony import */ var _context_pad_domainStoryContextPadProvider__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./context-pad/domainStoryContextPadProvider */ 83006); +/* harmony import */ var _change_icon_replaceMenuProvider__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./change-icon/replaceMenuProvider */ 14358); +/* harmony import */ var _modeling_dSModeling__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ./modeling/dSModeling */ 74996); + + + + + + + + + + + + + + + + + + +/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ({ + __depends__: [diagram_js_lib_features_create__WEBPACK_IMPORTED_MODULE_10__["default"], diagram_js_lib_features_context_pad__WEBPACK_IMPORTED_MODULE_11__["default"], bpmn_js_lib_features_popup_menu__WEBPACK_IMPORTED_MODULE_12__["default"]], + __init__: ["domainStoryRenderer", "paletteProvider", "domainStoryRules", "domainStoryUpdater", "contextPadProvider", "replaceMenuProvider"], + elementFactory: ["type", _domainStoryElementFactory__WEBPACK_IMPORTED_MODULE_0__["default"]], + domainStoryRenderer: ["type", _domainStoryRenderer__WEBPACK_IMPORTED_MODULE_1__["default"]], + paletteProvider: ["type", _palette_domainStoryPalette__WEBPACK_IMPORTED_MODULE_2__["default"]], + domainStoryRules: ["type", _domainStoryRules__WEBPACK_IMPORTED_MODULE_3__["default"]], + domainStoryUpdater: ["type", _domainStoryUpdater__WEBPACK_IMPORTED_MODULE_4__["default"]], + contextPadProvider: ["type", _context_pad_domainStoryContextPadProvider__WEBPACK_IMPORTED_MODULE_7__["default"]], + elementFactoryBpmn: ["type", bpmn_js_lib_features_modeling_ElementFactory__WEBPACK_IMPORTED_MODULE_13__["default"]], + pathMap: ["type", bpmn_js_lib_draw_PathMap__WEBPACK_IMPORTED_MODULE_14__["default"]], + replaceMenuProvider: ["type", _change_icon_replaceMenuProvider__WEBPACK_IMPORTED_MODULE_8__["default"]], + commandStack: ["type", diagram_js_lib_command_CommandStack__WEBPACK_IMPORTED_MODULE_15__["default"]], + updateLabelHandler: ["type", _updateHandler_updateLabelHandler__WEBPACK_IMPORTED_MODULE_5__["default"]], + headlineAndDescriptionUpdateHandler: ["type", _updateHandler_headlineAndDescriptionUpdateHandler__WEBPACK_IMPORTED_MODULE_6__["default"]], + modeling: ["type", _modeling_dSModeling__WEBPACK_IMPORTED_MODULE_9__["default"]] +}); + +/***/ }), + +/***/ 23255: +/*!*******************************************************************!*\ + !*** ./src/app/Modeler/modeler/labeling/dsLabelEditingPreview.js ***! + \*******************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "default": () => (/* binding */ DSLabelEditingPreview), +/* harmony export */ getAnnotationBoxHeight: () => (/* binding */ getAnnotationBoxHeight) +/* harmony export */ }); +/* harmony import */ var tiny_svg__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! tiny-svg */ 32862); +/* harmony import */ var diagram_js_lib_util_SvgTransformUtil__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! diagram-js/lib/util/SvgTransformUtil */ 30097); +/* harmony import */ var _Domain_Common_elementTypes__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../Domain/Common/elementTypes */ 17290); +/* harmony import */ var _util__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../util */ 70674); + + + + + + +const MARKER_HIDDEN = "djs-element-hidden", + MARKER_LABEL_HIDDEN = "djs-label-hidden"; +let annotationBoxHeight = 0; +function getAnnotationBoxHeight() { + return annotationBoxHeight; +} +function DSLabelEditingPreview(eventBus, canvas, pathMap) { + let self = this; + let defaultLayer = canvas.getDefaultLayer(); + let element, absoluteElementBBox, gfx; + eventBus.on("directEditing.activate", function (context) { + let activeProvider = context.active; + element = activeProvider.element.label || activeProvider.element; + // text annotation + if ((0,_util__WEBPACK_IMPORTED_MODULE_1__.is)(element, _Domain_Common_elementTypes__WEBPACK_IMPORTED_MODULE_0__.elementTypes.TEXTANNOTATION)) { + absoluteElementBBox = canvas.getAbsoluteBBox(element); + gfx = (0,tiny_svg__WEBPACK_IMPORTED_MODULE_2__.create)("g"); + annotationBoxHeight = element.height; + let textPathData = pathMap.getScaledPath("TEXT_ANNOTATION", { + xScaleFactor: 1, + yScaleFactor: 1, + containerWidth: element.width, + containerHeight: element.height, + position: { + mx: 0.0, + my: 0.0 + } + }); + let path = self.path = (0,tiny_svg__WEBPACK_IMPORTED_MODULE_2__.create)("path"); + (0,tiny_svg__WEBPACK_IMPORTED_MODULE_2__.attr)(path, { + d: textPathData, + strokeWidth: 2, + stroke: getStrokeColor(element) + }); + (0,tiny_svg__WEBPACK_IMPORTED_MODULE_2__.append)(gfx, path); + (0,tiny_svg__WEBPACK_IMPORTED_MODULE_2__.append)(defaultLayer, gfx); + (0,diagram_js_lib_util_SvgTransformUtil__WEBPACK_IMPORTED_MODULE_3__.translate)(gfx, element.x, element.y); + } + if ((0,_util__WEBPACK_IMPORTED_MODULE_1__.is)(element, _Domain_Common_elementTypes__WEBPACK_IMPORTED_MODULE_0__.elementTypes.TEXTANNOTATION) || element.labelTarget) { + canvas.addMarker(element, MARKER_HIDDEN); + } else if (element.type.includes(_Domain_Common_elementTypes__WEBPACK_IMPORTED_MODULE_0__.elementTypes.ACTOR) || element.type.includes(_Domain_Common_elementTypes__WEBPACK_IMPORTED_MODULE_0__.elementTypes.WORKOBJECT) || element.type.includes(_Domain_Common_elementTypes__WEBPACK_IMPORTED_MODULE_0__.elementTypes.ACTIVITY) || element.type.includes(_Domain_Common_elementTypes__WEBPACK_IMPORTED_MODULE_0__.elementTypes.GROUP)) { + canvas.addMarker(element, MARKER_LABEL_HIDDEN); + } + }); + eventBus.on("directEditing.resize", function (context) { + // text annotation + if ((0,_util__WEBPACK_IMPORTED_MODULE_1__.is)(element, _Domain_Common_elementTypes__WEBPACK_IMPORTED_MODULE_0__.elementTypes.TEXTANNOTATION)) { + let height = context.height, + dy = context.dy; + let newElementHeight = Math.max(element.height / absoluteElementBBox.height * (height + dy), 0); + annotationBoxHeight = newElementHeight; + let textPathData = pathMap.getScaledPath("TEXT_ANNOTATION", { + xScaleFactor: 1, + yScaleFactor: 1, + containerWidth: element.width, + containerHeight: newElementHeight, + position: { + mx: 0.0, + my: 0.0 + } + }); + (0,tiny_svg__WEBPACK_IMPORTED_MODULE_2__.attr)(self.path, { + d: textPathData + }); + } + }); + eventBus.on(["directEditing.complete", "directEditing.cancel"], function (context) { + let activeProvider = context.active; + if (activeProvider) { + canvas.removeMarker(activeProvider.element.label || activeProvider.element, MARKER_HIDDEN); + canvas.removeMarker(element, MARKER_LABEL_HIDDEN); + } + element = undefined; + absoluteElementBBox = undefined; + if (gfx) { + (0,tiny_svg__WEBPACK_IMPORTED_MODULE_2__.remove)(gfx); + gfx = undefined; + } + }); +} +DSLabelEditingPreview.$inject = ["eventBus", "canvas", "pathMap"]; +// helpers /////////////////// +function getStrokeColor() { + return "black"; +} + +/***/ }), + +/***/ 78355: +/*!********************************************************************!*\ + !*** ./src/app/Modeler/modeler/labeling/dsLabelEditingProvider.js ***! + \********************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "default": () => (/* binding */ DSLabelEditingProvider), +/* harmony export */ focusElement: () => (/* binding */ focusElement), +/* harmony export */ getNumberStash: () => (/* binding */ getNumberStash), +/* harmony export */ initializeLabelEditingProvider: () => (/* binding */ initializeLabelEditingProvider), +/* harmony export */ toggleStashUse: () => (/* binding */ toggleStashUse) +/* harmony export */ }); +/* harmony import */ var min_dash__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! min-dash */ 91654); +/* harmony import */ var _dsLabelUtil__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./dsLabelUtil */ 29800); +/* harmony import */ var bpmn_js_lib_features_modeling_util_ModelingUtil__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! bpmn-js/lib/features/modeling/util/ModelingUtil */ 79518); +/* harmony import */ var bpmn_js_lib_util_LabelUtil__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! bpmn-js/lib/util/LabelUtil */ 75125); +/* harmony import */ var _Domain_Common_elementTypes__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../../Domain/Common/elementTypes */ 17290); +/* harmony import */ var _util__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../util */ 70674); + + + + + + + + +let dictionaryService; +let numberStash = 0; +let stashUse = false; +function initializeLabelEditingProvider(labelingDictionary) { + dictionaryService = labelingDictionary; +} +function getNumberStash() { + let number = { + use: stashUse, + number: numberStash + }; + stashUse = false; + return number; +} +function toggleStashUse(use) { + stashUse = use; +} +function focusElement(element) { + // Opening a Angular Dialog seems to mess with the focus logic somehow. + // My guess is that is makes the mousedown event passive, which prevents "preventDefault" from intercepting. + // I am not sure how to fix it, but this seems to be a workaround. + setTimeout(() => element.focus(), 0); +} +function DSLabelEditingProvider(eventBus, canvas, directEditing, modeling, resizeHandles, textRenderer, updateLabelHandler) { + this._canvas = canvas; + this._modeling = modeling; + this._textRenderer = textRenderer; + this._updateLabelHandler = updateLabelHandler; + directEditing.registerProvider(this); + // listen to dblclick on non-root elements + eventBus.on("element.dblclick", function (event) { + activateDirectEdit(event.element, true); + if ((0,_util__WEBPACK_IMPORTED_MODULE_2__.is)(event.element, _Domain_Common_elementTypes__WEBPACK_IMPORTED_MODULE_1__.elementTypes.ACTIVITY)) { + // if we edit an activity, we do not want the standard editing box + numberStash = event.element.businessObject.number; + stashUse = true; + directEditing.complete(); + } + }); + // complete on followup canvas operation + eventBus.on(["element.mousedown", "drag.init", "canvas.viewbox.changing", "autoPlace", "popupMenu.open"], function () { + if (directEditing.isActive()) { + directEditing.complete(); + } + }); + // cancel on command stack changes + eventBus.on(["commandStack.changed"], function () { + if (directEditing.isActive()) { + directEditing.cancel(); + } + }); + eventBus.on("directEditing.activate", function (event) { + resizeHandles.removeResizers(); + let element = event.active.element; + createAutocomplete(element); + }); + eventBus.on("create.end", 500, function (event) { + let element = event.shape, + canExecute = event.context.canExecute, + isTouch = event.isTouch; + if (isTouch) { + return; + } + if (!canExecute) { + return; + } + if (!(0,_util__WEBPACK_IMPORTED_MODULE_2__.is)(element, _Domain_Common_elementTypes__WEBPACK_IMPORTED_MODULE_1__.elementTypes.ACTIVITY)) { + activateDirectEdit(element); + } + let editingBox = document.getElementsByClassName("djs-direct-editing-content"); + focusElement(editingBox.item(0)); + }); + eventBus.on("autoPlace.end", 500, function (event) { + activateDirectEdit(event.shape); + }); + function activateDirectEdit(element, force) { + if (force || (0,bpmn_js_lib_features_modeling_util_ModelingUtil__WEBPACK_IMPORTED_MODULE_3__.isAny)(element, [_Domain_Common_elementTypes__WEBPACK_IMPORTED_MODULE_1__.elementTypes.TEXTANNOTATION]) || element.businessObject.type.includes(_Domain_Common_elementTypes__WEBPACK_IMPORTED_MODULE_1__.elementTypes.DOMAINSTORY)) { + directEditing.activate(element); + } + } + function createAutocomplete(element) { + let editingBox = document.getElementsByClassName("djs-direct-editing-content"); + focusElement(editingBox.item(0)); + (0,_dsLabelUtil__WEBPACK_IMPORTED_MODULE_0__.autocomplete)(editingBox[0], dictionaryService.getUniqueWorkObjectNames(), element, eventBus); + } +} +DSLabelEditingProvider.$inject = ["eventBus", "canvas", "directEditing", "modeling", "resizeHandles", "textRenderer", "updateLabelHandler"]; +/** + * activate direct editing for activities and text annotations. + * + * @param {djs.model.Base} element + * + * @return {Object} an object with properties bounds (position and size), text and options + */ +DSLabelEditingProvider.prototype.activate = function (element) { + // text + if (element.id === "__implicitrootbase") { + return; + } + let text = (0,_dsLabelUtil__WEBPACK_IMPORTED_MODULE_0__.getLabel)(element); + if (text === undefined) { + return; + } + let context = { + text: text + }; + // bounds + let bounds = this.getEditingBBox(element); + (0,min_dash__WEBPACK_IMPORTED_MODULE_4__.assign)(context, bounds); + let options = {}; + // external labels + if ((0,bpmn_js_lib_util_LabelUtil__WEBPACK_IMPORTED_MODULE_5__.isLabelExternal)(element)) { + (0,min_dash__WEBPACK_IMPORTED_MODULE_4__.assign)(options, { + autoResize: true + }); + } + // text annotations + if ((0,_util__WEBPACK_IMPORTED_MODULE_2__.is)(element, _Domain_Common_elementTypes__WEBPACK_IMPORTED_MODULE_1__.elementTypes.TEXTANNOTATION)) { + (0,min_dash__WEBPACK_IMPORTED_MODULE_4__.assign)(options, { + resizable: true, + autoResize: true + }); + } + (0,min_dash__WEBPACK_IMPORTED_MODULE_4__.assign)(context, { + options: options + }); + return context; +}; +/** + * get the editing bounding box based on the element's size and position + * + * @param {djs.model.Base} element + * + * @return {Object} an object containing information about position + * and size (fixed or minimum and/or maximum) + */ +DSLabelEditingProvider.prototype.getEditingBBox = function (element) { + let canvas = this._canvas; + let target = element.label || element; + let bbox = canvas.getAbsoluteBBox(target); + let mid = { + x: bbox.x + bbox.width / 2, + y: bbox.y + bbox.height / 2 + }; + // default position + let bounds = { + x: bbox.x, + y: bbox.y + }; + /** The cavnas is an Object from BPMN, the IDE might say, that zoom is deprecated, + * because it thinks canvas is the standard HTMLElement. -> Needs to stay toom **/ + let zoom = canvas.zoom(); + let defaultStyle = this._textRenderer.getDefaultStyle(), + externalStyle = this._textRenderer.getExternalStyle(); + // take zoom into account + let externalFontSize = externalStyle.fontSize * zoom, + externalLineHeight = externalStyle.lineHeight, + defaultFontSize = defaultStyle.fontSize * zoom, + defaultLineHeight = defaultStyle.lineHeight; + let style = { + fontFamily: this._textRenderer.getDefaultStyle().fontFamily, + fontWeight: this._textRenderer.getDefaultStyle().fontWeight + }; + // adjust for groups + if ((0,_util__WEBPACK_IMPORTED_MODULE_2__.is)(element, _Domain_Common_elementTypes__WEBPACK_IMPORTED_MODULE_1__.elementTypes.GROUP)) { + (0,min_dash__WEBPACK_IMPORTED_MODULE_4__.assign)(bounds, { + minWidth: bbox.width / 2.5 > 125 ? bbox.width / 2.5 : 125, + maxWidth: bbox.width, + minHeight: 30 * zoom, + x: bbox.x, + y: bbox.y + }); + (0,min_dash__WEBPACK_IMPORTED_MODULE_4__.assign)(style, { + fontSize: defaultFontSize + "px", + lineHeight: defaultLineHeight, + paddingTop: 7 * zoom + "px", + paddingBottom: 7 * zoom + "px", + paddingLeft: 5 * zoom + "px", + paddingRight: 5 * zoom + "px", + textAlign: "left" + }); + } + // internal labels for tasks and collapsed call activities, + // sub processes and participants + if (/^domainStory:actor\w*/.test(element.type) || /^domainStory:workObject\w*/.test(element.type)) { + (0,min_dash__WEBPACK_IMPORTED_MODULE_4__.assign)(bounds, { + width: bbox.width, + minHeight: 30, + y: bbox.y + bbox.height - 20, + x: bbox.x + }); + (0,min_dash__WEBPACK_IMPORTED_MODULE_4__.assign)(style, { + fontSize: defaultFontSize + "px", + lineHeight: defaultLineHeight, + paddingTop: 7 * zoom + "px", + paddingBottom: 7 * zoom + "px", + paddingLeft: 5 * zoom + "px", + paddingRight: 5 * zoom + "px" + }); + } + let width = 90 * zoom, + paddingTop = 7 * zoom, + paddingBottom = 4 * zoom; + // external labels for events, data elements, gateways and connections + if (target.labelTarget) { + (0,min_dash__WEBPACK_IMPORTED_MODULE_4__.assign)(bounds, { + width: width, + height: bbox.height + paddingTop + paddingBottom, + x: mid.x - width / 2, + y: bbox.y - paddingTop + }); + (0,min_dash__WEBPACK_IMPORTED_MODULE_4__.assign)(style, { + fontSize: externalFontSize + "px", + lineHeight: externalLineHeight, + paddingTop: paddingTop + "px", + paddingBottom: paddingBottom + "px" + }); + } + // external label not yet created + if ((0,bpmn_js_lib_util_LabelUtil__WEBPACK_IMPORTED_MODULE_5__.isLabelExternal)(target) && !(0,bpmn_js_lib_util_LabelUtil__WEBPACK_IMPORTED_MODULE_5__.hasExternalLabel)(target) && !(0,bpmn_js_lib_util_LabelUtil__WEBPACK_IMPORTED_MODULE_5__.isLabel)(target)) { + let externalLabelMid = (0,bpmn_js_lib_util_LabelUtil__WEBPACK_IMPORTED_MODULE_5__.getExternalLabelMid)(element); + let absoluteBBox = canvas.getAbsoluteBBox({ + x: externalLabelMid.x, + y: externalLabelMid.y, + width: 0, + height: 0 + }); + let height = externalFontSize + paddingTop + paddingBottom; + (0,min_dash__WEBPACK_IMPORTED_MODULE_4__.assign)(bounds, { + width: width, + height: height, + x: absoluteBBox.x - width / 2, + y: absoluteBBox.y - height / 2 + }); + (0,min_dash__WEBPACK_IMPORTED_MODULE_4__.assign)(style, { + fontSize: externalFontSize + "px", + lineHeight: externalLineHeight, + paddingTop: paddingTop + "px", + paddingBottom: paddingBottom + "px" + }); + } + // text annotations + if ((0,_util__WEBPACK_IMPORTED_MODULE_2__.is)(element, _Domain_Common_elementTypes__WEBPACK_IMPORTED_MODULE_1__.elementTypes.TEXTANNOTATION)) { + (0,min_dash__WEBPACK_IMPORTED_MODULE_4__.assign)(bounds, { + width: bbox.width, + height: bbox.height, + minWidth: 30 * zoom, + minHeight: 10 * zoom + }); + (0,min_dash__WEBPACK_IMPORTED_MODULE_4__.assign)(style, { + textAlign: "left", + paddingTop: 7 * zoom + "px", + paddingBottom: 7 * zoom + "px", + paddingLeft: 5 * zoom + "px", + paddingRight: 5 * zoom + "px", + fontSize: defaultFontSize + "px", + lineHeight: defaultLineHeight + }); + } + return { + bounds: bounds, + style: style + }; +}; +DSLabelEditingProvider.prototype.update = function (element, newLabel, activeContextText, bounds) { + let newBounds, bbox; + if ((0,_util__WEBPACK_IMPORTED_MODULE_2__.is)(element, _Domain_Common_elementTypes__WEBPACK_IMPORTED_MODULE_1__.elementTypes.TEXTANNOTATION)) { + bbox = this._canvas.getAbsoluteBBox(element); + newBounds = { + x: element.x, + y: element.y, + width: element.width / bbox.width * bounds.width, + height: element.height / bbox.height * bounds.height + }; + } + this._modeling.updateLabel(element, newLabel, newBounds); +}; + +/***/ }), + +/***/ 29800: +/*!*********************************************************!*\ + !*** ./src/app/Modeler/modeler/labeling/dsLabelUtil.js ***! + \*********************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ autocomplete: () => (/* binding */ autocomplete), +/* harmony export */ calculateTextWidth: () => (/* binding */ calculateTextWidth), +/* harmony export */ getLabel: () => (/* binding */ getLabel), +/* harmony export */ getNumber: () => (/* binding */ getNumber), +/* harmony export */ selectPartOfActivity: () => (/* binding */ selectPartOfActivity), +/* harmony export */ setLabel: () => (/* binding */ setLabel), +/* harmony export */ setNumber: () => (/* binding */ setNumber) +/* harmony export */ }); +/* harmony import */ var src_app_Domain_Common_elementTypes__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! src/app/Domain/Common/elementTypes */ 17290); +/* harmony import */ var _util__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../util */ 70674); + + + + +function getLabelAttr(semantic) { + if (semantic.type.includes(src_app_Domain_Common_elementTypes__WEBPACK_IMPORTED_MODULE_0__.elementTypes.ACTOR) || semantic.type.includes(src_app_Domain_Common_elementTypes__WEBPACK_IMPORTED_MODULE_0__.elementTypes.WORKOBJECT) || semantic.type.includes(src_app_Domain_Common_elementTypes__WEBPACK_IMPORTED_MODULE_0__.elementTypes.ACTIVITY) || semantic.type.includes(src_app_Domain_Common_elementTypes__WEBPACK_IMPORTED_MODULE_0__.elementTypes.GROUP)) { + return "name"; + } + if ((0,_util__WEBPACK_IMPORTED_MODULE_1__.is)(semantic, src_app_Domain_Common_elementTypes__WEBPACK_IMPORTED_MODULE_0__.elementTypes.TEXTANNOTATION)) { + return "text"; + } +} +function getNumberAttr(semantic) { + if ((0,_util__WEBPACK_IMPORTED_MODULE_1__.is)(semantic, src_app_Domain_Common_elementTypes__WEBPACK_IMPORTED_MODULE_0__.elementTypes.ACTIVITY)) { + return "number"; + } +} +function getLabel(element) { + let semantic; + if (element.businessObject) { + semantic = element.businessObject; + } else { + semantic = element; + } + let attr = getLabelAttr(semantic); + if (attr && semantic) { + return semantic[attr] || ""; + } +} +function getNumber(element) { + let semantic = element.businessObject, + attr = getNumberAttr(semantic); + if (attr) { + return semantic[attr] || ""; + } +} +function setLabel(element, text) { + let semantic; + if (element.businessObject) { + semantic = element.businessObject; + } else { + semantic = element; + } + let attr = getLabelAttr(semantic); + if (attr) { + semantic[attr] = text; + } + return element; +} +function setNumber(element, textNumber) { + let semantic = element.businessObject, + attr = getNumberAttr(semantic); + if (attr) { + semantic[attr] = textNumber; + } + return element; +} +// select at which part of the activity the label should be attached to +function selectPartOfActivity(waypoints, angleActivity) { + let selectedActivity = 0; + let linelength = 49; + for (let i = 0; i < waypoints.length; i++) { + if (angleActivity[i] === 0 || angleActivity[i] === 180) { + let length = Math.abs(waypoints[i].x - waypoints[i + 1].x); + if (length > linelength) { + selectedActivity = i; + } + } + } + return selectedActivity; +} +// approximate the width of the label text, standard fontsize: 11 +function calculateTextWidth(text) { + if (!text) { + return 0; + } + let fontsize = text.length * 5.1; + fontsize = fontsize / 2; + // add an initial offset to the absolute middle of the activity + fontsize += 20; + return fontsize; +} +/** + * copied from https://www.w3schools.com/howto/howto_js_autocomplete.asp on 18.09.2018 + */ +function autocomplete(input, workObjectNames, element, eventBus) { + closeAllLists(); + /* the autocomplete function takes three arguments, + the text field element and an array of possible autocompleted values and an optional element to which it is appended:*/ + let currentFocus, filteredWorkObjectNames; + /* execute a function when someone writes in the text field:*/ + input.addEventListener("input", function () { + if (workObjectNames.length === 0) { + return; + } + /* the direct editing field of actors and workobjects is a recycled html-element and has old values that need to be overridden*/ + if (element.type.includes(src_app_Domain_Common_elementTypes__WEBPACK_IMPORTED_MODULE_0__.elementTypes.WORKOBJECT)) { + this.value = this.innerHTML; + } + let autocompleteList, + autocompleteItem, + val = this.value; + /* close any already open lists of autocompleted values*/ + closeAllLists(); + currentFocus = -1; + /* create a DIV element that will contain the items (values):*/ + autocompleteList = document.createElement("DIV"); + autocompleteList.setAttribute("id", "autocomplete-list"); + autocompleteList.setAttribute("class", "autocomplete-items"); + /* append the DIV element as a child of the autocomplete container:*/ + this.parentNode.appendChild(autocompleteList); + /* for each item in the array...*/ + filteredWorkObjectNames = []; + for (const name of workObjectNames) { + /* check if the item starts with the same letters as the text field value:*/ + if (val) { + if (name.substring(0, val.length).toUpperCase() === val.toUpperCase()) { + /* create a DIV element for each matching element:*/ + autocompleteItem = document.createElement("DIV"); + /* make the matching letters bold:*/ + autocompleteItem.innerHTML = "" + name.substring(0, val.length) + "" + name.substring(val.length); + /* insert an input field that will hold the current name:*/ + autocompleteItem.innerHTML += ""; + autocompleteList.appendChild(autocompleteItem); + filteredWorkObjectNames.push(name); + } + } + } + // if we edit an actor, we do not want auto-complete, since actors generally are unique + if (element.type.includes(src_app_Domain_Common_elementTypes__WEBPACK_IMPORTED_MODULE_0__.elementTypes.ACTOR)) { + autocompleteList.style.visibility = "hidden"; + } + }); + /* execute a function presses a key on the keyboard:*/ + input.onkeydown = function (e) { + let autocompleteList = document.getElementById("autocomplete-list"); + if (autocompleteList) { + autocompleteList = autocompleteList.getElementsByTagName("div"); + } + if (e.keyCode === 40) { + /* If the arrow DOWN key is pressed, + increase the currentFocus letiable:*/ + currentFocus++; + /* and and make the current item more visible:*/ + addActive(autocompleteList); + } else if (e.keyCode === 38) { + // up + /* If the arrow UP key is pressed, + decrease the currentFocus letiable:*/ + currentFocus--; + /* and and make the current item more visible:*/ + addActive(autocompleteList); + } else if (e.keyCode === 13) { + e.preventDefault(); + /* If the ENTER key is pressed, prevent the form from being submitted,*/ + if (currentFocus > -1) { + element.businessObject.name = filteredWorkObjectNames[currentFocus]; + eventBus.fire("element.changed", { + element + }); + } + } + }; + function addActive(autocompleteList) { + /* a function to classify an item as "active":*/ + if (!autocompleteList || autocompleteList.length < 1) return false; + /* start by removing the "active" class on all items:*/ + removeActive(autocompleteList); + if (currentFocus >= autocompleteList.length) currentFocus = 0; + if (currentFocus < 0) currentFocus = autocompleteList.length - 1; + /* add class "autocomplete-active":*/ + autocompleteList[currentFocus].classList.add("autocomplete-active"); + } + function removeActive(autocompleteList) { + /* a function to remove the "active" class from all autocomplete items:*/ + if (autocompleteList.length > 1) { + for (const item of autocompleteList) { + item.classList.remove("autocomplete-active"); + } + } + } + function closeAllLists(survivor) { + /* close all autocomplete lists in the document, + except the one passed as an argument:*/ + let autocompleteList = document.getElementsByClassName("autocomplete-items"); + for (const item of autocompleteList) { + if (survivor != item && survivor != input) { + item.parentNode.removeChild(item); + } + } + } + /* execute a function when someone clicks in the document:*/ + document.addEventListener("click", function (e) { + closeAllLists(e.target); + }); +} + +/***/ }), + +/***/ 49459: +/*!***************************************************!*\ + !*** ./src/app/Modeler/modeler/labeling/index.js ***! + \***************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) +/* harmony export */ }); +/* harmony import */ var diagram_js_lib_features_change_support__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! diagram-js/lib/features/change-support */ 18794); +/* harmony import */ var diagram_js_lib_features_resize__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! diagram-js/lib/features/resize */ 54985); +/* harmony import */ var diagram_js_direct_editing__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! diagram-js-direct-editing */ 50627); +/* harmony import */ var diagram_js_lib_command_CommandStack__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! diagram-js/lib/command/CommandStack */ 92705); +/* harmony import */ var _updateHandler_updateLabelHandler__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../updateHandler/updateLabelHandler */ 25275); +/* harmony import */ var _dsLabelEditingPreview__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./dsLabelEditingPreview */ 23255); +/* harmony import */ var _dsLabelEditingProvider__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./dsLabelEditingProvider */ 78355); +/* harmony import */ var _modeling_dSModeling__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../modeling/dSModeling */ 74996); + + + + + + + + + + +/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ({ + __depends__: [diagram_js_lib_features_change_support__WEBPACK_IMPORTED_MODULE_5__["default"], diagram_js_lib_features_resize__WEBPACK_IMPORTED_MODULE_6__["default"], diagram_js_direct_editing__WEBPACK_IMPORTED_MODULE_0__["default"]], + __init__: ["dSlabelEditingProvider", "dSlabelEditingPreview"], + dSlabelEditingProvider: ["type", _dsLabelEditingProvider__WEBPACK_IMPORTED_MODULE_3__["default"]], + dSlabelEditingPreview: ["type", _dsLabelEditingPreview__WEBPACK_IMPORTED_MODULE_2__["default"]], + updateLabelHandler: ["type", _updateHandler_updateLabelHandler__WEBPACK_IMPORTED_MODULE_1__["default"]], + commandStack: ["type", diagram_js_lib_command_CommandStack__WEBPACK_IMPORTED_MODULE_7__["default"]], + modeling: ["type ", _modeling_dSModeling__WEBPACK_IMPORTED_MODULE_4__["default"]] +}); + +/***/ }), + +/***/ 71003: +/*!******************************************************!*\ + !*** ./src/app/Modeler/modeler/labeling/position.js ***! + \******************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ countLines: () => (/* binding */ countLines), +/* harmony export */ labelPosition: () => (/* binding */ labelPosition), +/* harmony export */ labelPositionX: () => (/* binding */ labelPositionX), +/* harmony export */ labelPositionY: () => (/* binding */ labelPositionY) +/* harmony export */ }); +/* harmony import */ var _dsLabelUtil__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./dsLabelUtil */ 29800); +/* harmony import */ var _Utils_mathExtensions__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../../Utils/mathExtensions */ 77480); + + + + +function countLines(str) { + return str.split(/\r\n|\r|\n/).length; +} +// determine the position of the label at the activity +function labelPosition(waypoints, lines = 1) { + let amountWaypoints = waypoints.length; + let determinedPosition; + let xPos; + let yPos; + if (amountWaypoints > 2) { + let angleActivity = new Array(amountWaypoints - 1); + for (let i = 0; i < amountWaypoints - 1; i++) { + // calculate the angles of the activities + angleActivity[i] = (0,_Utils_mathExtensions__WEBPACK_IMPORTED_MODULE_1__.angleBetween)(waypoints[i], waypoints[i + 1]); + } + let selectedActivity = (0,_dsLabelUtil__WEBPACK_IMPORTED_MODULE_0__.selectPartOfActivity)(waypoints, angleActivity); + xPos = labelPositionX(waypoints[selectedActivity], waypoints[selectedActivity + 1]); + yPos = labelPositionY(waypoints[selectedActivity], waypoints[selectedActivity + 1], lines); + determinedPosition = { + x: xPos, + y: yPos, + selected: selectedActivity + }; + return determinedPosition; + } else { + xPos = labelPositionX(waypoints[0], waypoints[1]); + yPos = labelPositionY(waypoints[0], waypoints[1], lines); + determinedPosition = { + x: xPos, + y: yPos, + selected: 0 + }; + return determinedPosition; + } +} +// calculate the X position of the label +function labelPositionX(startPoint, endPoint) { + let angle = (0,_Utils_mathExtensions__WEBPACK_IMPORTED_MODULE_1__.angleBetween)(startPoint, endPoint); + let offsetX = 0; + let scaledAngle = 0; + if (angle === 0 || angle === 180 || angle === 90 || angle === 270) { + offsetX = 0; + } else if (angle > 0 && angle < 90) { + // endpoint in upper right quadrant + offsetX = 5 - angle / 6; + } else if (angle > 90 && angle < 180) { + // endpoint in upper left quadrant + scaledAngle = angle - 90; + offsetX = 5 - scaledAngle / 18; + } else if (angle > 180 && angle < 270) { + // endpoint in lower left quadrant + scaledAngle = angle - 180; + offsetX = scaledAngle / 18; + } else if (angle > 270) { + // endpoint in lower right quadrant + scaledAngle = angle - 270; + offsetX = 5 - scaledAngle / 6; + } + return offsetX + (startPoint.x + endPoint.x) / 2; +} +// calculate the Y position of the label +function labelPositionY(startPoint, endPoint, lines = 1) { + let angle = (0,_Utils_mathExtensions__WEBPACK_IMPORTED_MODULE_1__.angleBetween)(startPoint, endPoint); + let offsetY = 0; + let scaledAngle = 0; + if (angle === 0 || angle === 180) { + offsetY = 15; + } else if (angle === 90 || angle === 270) { + offsetY = 0; + } else if (angle > 0 && angle < 90) { + // endpoint in upper right quadrant + offsetY = 15 - angle / 6; + } else if (angle > 90 && angle < 180) { + // endpoint in upper left quadrant + scaledAngle = angle - 90; + offsetY = -scaledAngle / 9 * lines; + } else if (angle > 180 && angle < 270) { + // endpoint in lower left quadrant + scaledAngle = angle - 180; + offsetY = 15 - scaledAngle / 3; + } else if (angle > 270) { + // endpoint in lower right quadrant + scaledAngle = angle - 270; + offsetY = -scaledAngle / 9 * lines; + } + return offsetY + (startPoint.y + endPoint.y) / 2; +} + +/***/ }), + +/***/ 74996: +/*!********************************************************!*\ + !*** ./src/app/Modeler/modeler/modeling/dSModeling.js ***! + \********************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "default": () => (/* binding */ DSModeling) +/* harmony export */ }); +/* harmony import */ var bpmn_js_lib_features_modeling_Modeling__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! bpmn-js/lib/features/modeling/Modeling */ 84863); +/* harmony import */ var util__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! util */ 79694); +/* harmony import */ var util__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(util__WEBPACK_IMPORTED_MODULE_0__); + + + + +function DSModeling(eventBus, elementFactory, commandStack, domainStoryRules) { + bpmn_js_lib_features_modeling_Modeling__WEBPACK_IMPORTED_MODULE_1__["default"].call(this, eventBus, elementFactory, commandStack, domainStoryRules); +} +bpmn_js_lib_features_modeling_Modeling__WEBPACK_IMPORTED_MODULE_1__["default"].prototype.updateLabel = function (element, newLabel, newBounds) { + if (element.businessObject ? newLabel !== element.businessObject.name : newLabel !== element.name) { + if (/^domainStory:/.test(element.type)) { + this._commandStack.execute("element.updateCustomLabel", { + element: element, + newLabel: newLabel, + newBounds: newBounds + }); + } else { + this._commandStack.execute("element.updateLabel", { + element: element, + newLabel: newLabel, + newBounds: newBounds + }); + } + } +}; +bpmn_js_lib_features_modeling_Modeling__WEBPACK_IMPORTED_MODULE_1__["default"].prototype.updateNumber = function (element, newNumber, newBounds) { + if (element.businessObject ? newNumber !== element.businessObject.number : newNumber !== element.number) { + if (/^domainStory:/.test(element.type)) { + this._commandStack.execute("element.updateCustomLabel", { + element: element, + newNumber: newNumber, + newBounds: newBounds + }); + } else { + this._commandStack.execute("element.updateLabel", { + element: element, + newNumber: newNumber, + newBounds: newBounds + }); + } + } +}; +bpmn_js_lib_features_modeling_Modeling__WEBPACK_IMPORTED_MODULE_1__["default"].prototype.replaceShape = function (oldShape, newShape, hints) { + let context = { + oldShape: oldShape, + newData: newShape, + hints: hints || {} + }; + this._commandStack.execute("shape.replace", context); + return context.newShape; +}; +bpmn_js_lib_features_modeling_Modeling__WEBPACK_IMPORTED_MODULE_1__["default"].prototype.removeGroup = function (element) { + this._commandStack.execute("shape.removeGroupWithoutChildren", { + element: element + }); + this.removeElements({ + element + }); +}; +(0,util__WEBPACK_IMPORTED_MODULE_0__.inherits)(DSModeling, bpmn_js_lib_features_modeling_Modeling__WEBPACK_IMPORTED_MODULE_1__["default"]); +DSModeling.$inject = ["eventBus", "elementFactory", "commandStack", "domainStoryRules"]; + +/***/ }), + +/***/ 37623: +/*!***************************************************!*\ + !*** ./src/app/Modeler/modeler/modeling/index.js ***! + \***************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) +/* harmony export */ }); +/* harmony import */ var _palette_domainStoryPalette__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../palette/domainStoryPalette */ 48206); +/* harmony import */ var bpmn_js_lib_features_modeling_ElementFactory__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! bpmn-js/lib/features/modeling/ElementFactory */ 4432); +/* harmony import */ var diagram_js_lib_features_create__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! diagram-js/lib/features/create */ 50392); +/* harmony import */ var bpmn_js_lib_draw_PathMap__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! bpmn-js/lib/draw/PathMap */ 63351); +/* harmony import */ var bpmn_js_lib_features_popup_menu__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! bpmn-js/lib/features/popup-menu */ 95555); +/* harmony import */ var diagram_js_lib_features_context_pad__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! diagram-js/lib/features/context-pad */ 68415); +/* harmony import */ var diagram_js_lib_command_CommandStack__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(/*! diagram-js/lib/command/CommandStack */ 92705); +/* harmony import */ var _updateHandler_updateLabelHandler__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../updateHandler/updateLabelHandler */ 25275); +/* harmony import */ var _domainStoryUpdater__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../domainStoryUpdater */ 38823); +/* harmony import */ var _domainStoryElementFactory__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../domainStoryElementFactory */ 33306); +/* harmony import */ var _updateHandler_headlineAndDescriptionUpdateHandler__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../updateHandler/headlineAndDescriptionUpdateHandler */ 49716); +/* harmony import */ var _domainStoryRenderer__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../domainStoryRenderer */ 93699); +/* harmony import */ var _dSModeling__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./dSModeling */ 74996); +/* harmony import */ var _domainStoryRules__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../domainStoryRules */ 87995); +/* harmony import */ var _change_icon_replaceMenuProvider__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../change-icon/replaceMenuProvider */ 14358); +/* harmony import */ var _context_pad_domainStoryContextPadProvider__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ../context-pad/domainStoryContextPadProvider */ 83006); + + + + + + + + + + + + + + + + + + +/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ({ + __depends__: [diagram_js_lib_features_create__WEBPACK_IMPORTED_MODULE_10__["default"], diagram_js_lib_features_context_pad__WEBPACK_IMPORTED_MODULE_11__["default"], bpmn_js_lib_features_popup_menu__WEBPACK_IMPORTED_MODULE_12__["default"]], + __init__: ["domainStoryRenderer", "paletteProvider", "domainStoryRules", "domainStoryUpdater", "contextPadProvider", "replaceMenuProvider"], + elementFactory: ["type", _domainStoryElementFactory__WEBPACK_IMPORTED_MODULE_3__["default"]], + domainStoryRenderer: ["type", _domainStoryRenderer__WEBPACK_IMPORTED_MODULE_5__["default"]], + paletteProvider: ["type", _palette_domainStoryPalette__WEBPACK_IMPORTED_MODULE_0__["default"]], + domainStoryRules: ["type", _domainStoryRules__WEBPACK_IMPORTED_MODULE_7__["default"]], + domainStoryUpdater: ["type", _domainStoryUpdater__WEBPACK_IMPORTED_MODULE_2__["default"]], + contextPadProvider: ["type", _context_pad_domainStoryContextPadProvider__WEBPACK_IMPORTED_MODULE_9__["default"]], + elementFactoryBpmn: ["type", bpmn_js_lib_features_modeling_ElementFactory__WEBPACK_IMPORTED_MODULE_13__["default"]], + pathMap: ["type", bpmn_js_lib_draw_PathMap__WEBPACK_IMPORTED_MODULE_14__["default"]], + replaceMenuProvider: ["type", _change_icon_replaceMenuProvider__WEBPACK_IMPORTED_MODULE_8__["default"]], + commandStack: ["type", diagram_js_lib_command_CommandStack__WEBPACK_IMPORTED_MODULE_15__["default"]], + updateLabelHandler: ["type", _updateHandler_updateLabelHandler__WEBPACK_IMPORTED_MODULE_1__["default"]], + headlineAndDescriptionUpdateHandler: ["type", _updateHandler_headlineAndDescriptionUpdateHandler__WEBPACK_IMPORTED_MODULE_4__["default"]], + modeling: ["type", _dSModeling__WEBPACK_IMPORTED_MODULE_6__["default"]] +}); + +/***/ }), + +/***/ 39843: +/*!********************************************************!*\ + !*** ./src/app/Modeler/modeler/numbering/numbering.js ***! + \********************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ addNumberToRegistry: () => (/* binding */ addNumberToRegistry), +/* harmony export */ generateAutomaticNumber: () => (/* binding */ generateAutomaticNumber), +/* harmony export */ getMultipleNumberRegistry: () => (/* binding */ getMultipleNumberRegistry), +/* harmony export */ getNumberRegistry: () => (/* binding */ getNumberRegistry), +/* harmony export */ getNumbersAndIDs: () => (/* binding */ getNumbersAndIDs), +/* harmony export */ initializeNumbering: () => (/* binding */ initializeNumbering), +/* harmony export */ numberBoxDefinitions: () => (/* binding */ numberBoxDefinitions), +/* harmony export */ setNumberIsMultiple: () => (/* binding */ setNumberIsMultiple), +/* harmony export */ updateExistingNumbersAtEditing: () => (/* binding */ updateExistingNumbersAtEditing), +/* harmony export */ updateExistingNumbersAtGeneration: () => (/* binding */ updateExistingNumbersAtGeneration) +/* harmony export */ }); +/* harmony import */ var _labeling_position__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../labeling/position */ 71003); +/* harmony import */ var _Utils_mathExtensions__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../../Utils/mathExtensions */ 77480); + + + + +let numberRegistry = []; +let multipleNumberRegistry = [false]; +let canvasElementRegistry; +function initializeNumbering(canvasElementRegistryService) { + canvasElementRegistry = canvasElementRegistryService; +} +// defines the box for activity numbers +function numberBoxDefinitions(element) { + let alignment = "center"; + let boxWidth = 30; + let boxHeight = 30; + let position = (0,_labeling_position__WEBPACK_IMPORTED_MODULE_0__.labelPosition)(element.waypoints); + let angle = 0; + if (element.waypoints.length > 1) { + angle = (0,_Utils_mathExtensions__WEBPACK_IMPORTED_MODULE_1__.angleBetween)(element.waypoints[0], element.waypoints[1]); + } + let x = position.x; + let y = position.y; + // TODO: Use trigonometric functions to make the positioning more consistent. + // This would require to touch the label code as well. + if (angle >= 0 && angle <= 45) { + y = y - 30 + angle / 2; + x = x - 25 - angle / 2; + } else if (angle <= 90) { + y = y - 10 + (angle - 45) / 4.5; + x = x - 35 - angle / 9; + } else if (angle <= 145) { + y = y + angle / 7.25; + x = x - 45 - angle / 14.5; + } else if (angle < 180) { + y = y + 20 + angle / 9; + x = x - 50 + angle / 4.5; + } else if (angle <= 225) { + y = y - 45 + angle / 12.25; + x = x + 10 - angle / 6.125; + } else if (angle <= 270) { + y = y - 80 + angle / 3.375; + x = x - 5 - angle / 6.125; + } else if (angle <= 315) { + y = y - 135 + angle / 2; + x = x - 50; + } else { + y = y + 22.5 + (angle - 315) / 6; + x = x - 50 + (angle - 315) / 1.8; + } + return { + textAlign: alignment, + width: boxWidth, + height: boxHeight, + x: x, + y: y + }; +} +// determine the next available number that is not yet used +function generateAutomaticNumber(elementActivity, commandStack) { + const semantic = elementActivity.businessObject; + const usedNumbers = [0]; + let wantedNumber = -1; + const activitiesFromActors = canvasElementRegistry.getActivitiesFromActors(); + activitiesFromActors.forEach(element => { + if (element.businessObject.number) { + usedNumbers.push(+element.businessObject.number); + } + }); + for (let i = 0; i < usedNumbers.length; i++) { + if (!usedNumbers.includes(i)) { + if (!usedNumbers.includes(i)) { + wantedNumber = i; + i = usedNumbers.length; + } + } + } + if (wantedNumber === -1) { + wantedNumber = usedNumbers.length; + } + updateExistingNumbersAtGeneration(activitiesFromActors, wantedNumber, commandStack); + semantic.number = wantedNumber; + return wantedNumber; +} +// update the numbers at the activities when generating a new activity +function updateExistingNumbersAtGeneration(activitiesFromActors, wantedNumber, commandStack) { + activitiesFromActors.forEach(element => { + let number = +element.businessObject.number; + if (number >= wantedNumber) { + wantedNumber++; + setTimeout(function () { + commandStack.execute("activity.changed", { + businessObject: element.businessObject, + newLabel: element.businessObject.name, + newNumber: number, + element: element + }); + }, 10); + } + }); +} +// update the numbers at the activities when editing an activity +function updateExistingNumbersAtEditing(activitiesFromActors, wantedNumber, eventBus) { + // get a sorted list of all activities that could need changing + let sortedActivities = [[]]; + activitiesFromActors.forEach(activity => { + if (!sortedActivities[activity.businessObject.number]) { + sortedActivities[activity.businessObject.number] = []; + } + sortedActivities[activity.businessObject.number].push(activity); + }); + // set the number of each activity to the next highest number, starting from the number, we overrode + let currentNumber = wantedNumber; + for (currentNumber; currentNumber < sortedActivities.length; currentNumber++) { + if (sortedActivities[currentNumber]) { + wantedNumber++; + setNumberOfActivity(sortedActivities[currentNumber], wantedNumber, eventBus); + } + } +} +// get the IDs of activities with their associated number, only returns activities that are originating from an actor +function getNumbersAndIDs() { + let iDWithNumber = []; + let activities = canvasElementRegistry.getActivitiesFromActors(); + for (let i = activities.length - 1; i >= 0; i--) { + let id = activities[i].businessObject.id; + let number = activities[i].businessObject.number; + iDWithNumber.push({ + id: id, + number: number + }); + } + return iDWithNumber; +} +function addNumberToRegistry(renderedNumber, number) { + numberRegistry[number] = renderedNumber; +} +function setNumberIsMultiple(number, multi) { + multipleNumberRegistry[number] = multi; +} +/** + * @returns copy of registry + */ +function getNumberRegistry() { + return numberRegistry.slice(0); +} +function getMultipleNumberRegistry() { + return multipleNumberRegistry.slice(0); +} +function setNumberOfActivity(elementArray, wantedNumber, eventBus) { + if (elementArray) { + elementArray.forEach(element => { + if (element) { + let businessObject = element.businessObject; + if (businessObject) { + businessObject.number = wantedNumber; + } + eventBus.fire("element.changed", { + element + }); + } + }); + } +} + +/***/ }), + +/***/ 48206: +/*!***************************************************************!*\ + !*** ./src/app/Modeler/modeler/palette/domainStoryPalette.js ***! + \***************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "default": () => (/* binding */ PaletteProvider), +/* harmony export */ initializePalette: () => (/* binding */ initializePalette) +/* harmony export */ }); +/* harmony import */ var min_dash__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! min-dash */ 91654); +/* harmony import */ var src_app_Domain_Domain_Configuration_allIcons__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! src/app/Domain/Domain-Configuration/allIcons */ 86915); +/* harmony import */ var src_app_Domain_Common_dictionary_dictionary__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! src/app/Domain/Common/dictionary/dictionary */ 6789); +/* harmony import */ var src_app_Domain_Common_elementTypes__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! src/app/Domain/Common/elementTypes */ 17290); +/* harmony import */ var src_app_Utils_naming__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! src/app/Utils/naming */ 35125); +/* harmony import */ var _Domain_Common_constants__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../../../Domain/Common/constants */ 45219); + + + + + + + + +/** + * A palette that allows you to create BPMN _and_ custom elements. + */ +let iconDictionary; +let configuration; +function initializePalette(iconDictionaryService, configurationService) { + iconDictionary = iconDictionaryService; + configuration = configurationService; +} +function PaletteProvider(palette, create, elementFactory, spaceTool, lassoTool) { + this._create = create; + this._elementFactory = elementFactory; + this._spaceTool = spaceTool; + this._lassoTool = lassoTool; + palette.registerProvider(this); +} +PaletteProvider.$inject = ["palette", "create", "elementFactory", "spaceTool", "lassoTool", "modeling"]; +PaletteProvider.prototype.getPaletteEntries = function () { + let actions = {}, + create = this._create, + elementFactory = this._elementFactory, + spaceTool = this._spaceTool, + lassoTool = this._lassoTool; + function createAction(type, group, className, title, options) { + function createListener(event) { + let shape = elementFactory.createShape((0,min_dash__WEBPACK_IMPORTED_MODULE_5__.assign)({ + type: type + }, options)); + (0,min_dash__WEBPACK_IMPORTED_MODULE_5__.assign)(shape.businessObject, { + id: shape.id + }); + if (options) { + shape.businessObject.di.isExpanded = options.isExpanded; + } + create.start(event, shape); + } + let shortType = type.replace(/^domainStory:/, ""); + return { + group: group, + className: className, + title: "Create " + title || 0, + action: { + dragstart: createListener, + click: createListener + } + }; + } + return initPalette(actions, spaceTool, lassoTool, createAction); +}; +function appendCSSStyleCheat(customIcons) { + const sheetEl = document.createElement("style"); + document.head.appendChild(sheetEl); + let customIconDict = new src_app_Domain_Common_dictionary_dictionary__WEBPACK_IMPORTED_MODULE_1__.Dictionary(); + customIconDict.appendDict(customIcons); + let customIconDictKeys = customIconDict.keysArray(); + customIconDictKeys.forEach(name => { + if (iconDictionary.getAppendedIconDictionary().has(name)) { + let src = customIconDict.get(name); + const iconStyle = ".icon-domain-story-" + name.toLowerCase() + "::before{" + " display: block;" + ' content: url("data:image/svg+xml;utf8,' + wrapSRCInSVG(src) + '");' + " margin: 3px;}"; + sheetEl.sheet.insertRule(iconStyle, sheetEl.sheet.cssRules.length); + } + }); +} +function initPalette(actions, spaceTool, lassoTool, createAction) { + let config = iconDictionary?.getCurrentIconConfigurationForBPMN(); + let customIcons = localStorage.getItem(_Domain_Common_constants__WEBPACK_IMPORTED_MODULE_4__.APPENDED_ICONS_TAG); + if (customIcons) { + customIcons = JSON.parse(customIcons); + if (customIconsLegacy(customIcons)) { + customIcons = convertLegacyAppendedIconsToDict(customIcons); + } + if (customIcons.entries && customIcons.entries.forEach) { + const customIconsDict = new src_app_Domain_Common_dictionary_dictionary__WEBPACK_IMPORTED_MODULE_1__.Dictionary(); + customIcons.entries.forEach(entry => { + customIconsDict.putEntry(entry); + }); + (0,src_app_Domain_Domain_Configuration_allIcons__WEBPACK_IMPORTED_MODULE_0__.overrideAppendedIcons)(customIconsDict); + appendCSSStyleCheat(customIcons); + } + } + iconDictionary?.initTypeDictionaries(config.actors, config.workObjects); + let actorTypes = iconDictionary?.getTypeDictionary(src_app_Domain_Common_elementTypes__WEBPACK_IMPORTED_MODULE_2__.elementTypes.ACTOR); + actorTypes?.keysArray().forEach(actorType => { + addCanvasObjectTypes(actorType, createAction, actions, "actor"); + }); + (0,min_dash__WEBPACK_IMPORTED_MODULE_5__.assign)(actions, { + "actor-separator": { + group: "actor", + separator: true + } + }); + let workObjectTypes = iconDictionary?.getTypeDictionary(src_app_Domain_Common_elementTypes__WEBPACK_IMPORTED_MODULE_2__.elementTypes.WORKOBJECT); + workObjectTypes?.keysArray().forEach(workObjectType => { + addCanvasObjectTypes(workObjectType, createAction, actions, "actor"); + }); + (0,min_dash__WEBPACK_IMPORTED_MODULE_5__.assign)(actions, { + "workObject-separator": { + group: "workObject", + separator: true + }, + "domainStory-group": createAction(src_app_Domain_Common_elementTypes__WEBPACK_IMPORTED_MODULE_2__.elementTypes.GROUP, "group", "icon-domain-story-tool-group", "group"), + "group-separator": { + group: "group", + separator: true + }, + "lasso-tool": { + group: "tools", + className: "bpmn-icon-lasso-tool", + title: "Activate the lasso tool", + action: { + click: function (event) { + lassoTool.activateSelection(event); + } + } + }, + "space-tool": { + group: "tools", + className: "bpmn-icon-space-tool", + title: "Activate the create/remove space tool", + action: { + click: function (event) { + spaceTool.activateSelection(event); + } + } + } + }); + return actions; +} +function addCanvasObjectTypes(actorType, createAction, actions, className) { + let name = (0,src_app_Utils_naming__WEBPACK_IMPORTED_MODULE_3__.getNameFromType)(actorType); + let icon = iconDictionary.getIconForBPMN(actorType); + let action = []; + action["domainStory-" + className + name] = createAction(actorType, className, icon, name); + (0,min_dash__WEBPACK_IMPORTED_MODULE_5__.assign)(actions, action); +} +function customIconsLegacy(customIcons) { + return !(Object.keys(customIcons).length === 1 && Object.keys(customIcons)[0] === "entries"); +} +function convertLegacyAppendedIconsToDict(customIcons) { + let dict = new src_app_Domain_Common_dictionary_dictionary__WEBPACK_IMPORTED_MODULE_1__.Dictionary(); + Object.keys(customIcons).forEach(key => { + dict.set(key, customIcons[key]); + }); + return dict; +} +// For some reason its important to use ' in the content for the Palette and ContextPad +// Do not change! +function wrapSRCInSVG(src) { + return "" + ""; +} + +/***/ }), + +/***/ 84167: +/*!*************************************************************************!*\ + !*** ./src/app/Modeler/modeler/updateHandler/activityUpdateHandlers.js ***! + \*************************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "default": () => (/* binding */ activityUpdateHandler), +/* harmony export */ initializeActivityUpdateHandler: () => (/* binding */ initializeActivityUpdateHandler) +/* harmony export */ }); +/* harmony import */ var _numbering_numbering__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../numbering/numbering */ 39843); + + + +/** + * commandStack Handler for changes at activities + */ +let canvasElementRegistry; +function initializeActivityUpdateHandler(canvasElementRegistryService) { + canvasElementRegistry = canvasElementRegistryService; +} +function activityUpdateHandler(commandStack, eventBus) { + commandStack.registerHandler("activity.directionChange", activity_directionChange); + commandStack.registerHandler("activity.changed", activity_changed); + // update the activity from the activity-dialog, either with or without number + // and change other activities too, to keep the numbers consistent + function activity_changed(modeling) { + this.preExecute = function (context) { + context.oldLabel = context.businessObject.name || " "; + let oldNumbersWithIDs = (0,_numbering_numbering__WEBPACK_IMPORTED_MODULE_0__.getNumbersAndIDs)(); + modeling.updateLabel(context.businessObject, context.newLabel); + modeling.updateNumber(context.businessObject, context.newNumber); + context.oldNumber = context.businessObject.number; + context.oldNumbersWithIDs = oldNumbersWithIDs; + }; + this.execute = function (context) { + let businessObject = context.businessObject; + let element = context.element; + if (context.newLabel && context.newLabel.length < 1) { + context.newLabel = " "; + } + businessObject.name = context.newLabel; + businessObject.number = context.newNumber; + eventBus.fire("element.changed", { + element + }); + }; + this.revert = function (context) { + let semantic = context.businessObject; + let element = context.element; + semantic.name = context.oldLabel; + semantic.number = context.oldNumber; + revertAutomaticNumberGenerationChange(context.oldNumbersWithIDs, eventBus); + eventBus.fire("element.changed", { + element + }); + }; + } + // change the direction of a single activity without affecting other activities + function activity_directionChange(modeling) { + this.preExecute = function (context) { + context.oldNumber = context.businessObject.number; + context.oldWaypoints = context.element.waypoints; + context.name = context.businessObject.name; + if (!context.oldNumber) { + context.oldNumber = 0; + } + modeling.updateNumber(context.businessObject, context.newNumber); + }; + this.execute = function (context) { + let businessObject = context.businessObject; + let element = context.element; + let swapSource = element.source; + let newWaypoints = []; + let waypoints = element.waypoints; + for (let i = waypoints.length - 1; i >= 0; i--) { + newWaypoints.push(waypoints[i]); + } + element.source = element.target; + businessObject.source = businessObject.target; + element.target = swapSource; + businessObject.target = swapSource.id; + businessObject.name = context.name; + businessObject.number = context.newNumber; + element.waypoints = newWaypoints; + eventBus.fire("element.changed", { + element + }); + }; + this.revert = function (context) { + let semantic = context.businessObject; + let element = context.element; + let swapSource = element.source; + element.source = element.target; + semantic.source = semantic.target; + element.target = swapSource; + semantic.target = swapSource.id; + semantic.name = context.name; + semantic.number = context.oldNumber; + element.waypoints = context.oldWaypoints; + eventBus.fire("element.changed", { + element + }); + }; + } +} +// reverts the automatic changed done by the automatic number-generation at editing +function revertAutomaticNumberGenerationChange(iDWithNumber, eventBus) { + let activities = canvasElementRegistry?.getActivitesFromActors(); + for (let i = activities.length - 1; i >= 0; i--) { + for (let j = iDWithNumber.length - 1; j >= 0; j--) { + if (iDWithNumber[j].id.includes(activities[i].businessObject.id)) { + let element = activities[i]; + element.businessObject.number = iDWithNumber[j].number; + j = -5; + eventBus.fire("element.changed", { + element + }); + iDWithNumber.splice(j, 1); + } + } + } +} + +/***/ }), + +/***/ 66636: +/*!***********************************************************************!*\ + !*** ./src/app/Modeler/modeler/updateHandler/elementUpdateHandler.js ***! + \***********************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "default": () => (/* binding */ elementUpdateHandler) +/* harmony export */ }); +/* harmony import */ var _util__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../util */ 70674); + + + +function elementUpdateHandler(commandStack, eventBus) { + commandStack.registerHandler("element.colorChange", element_colorChange); + commandStack.registerHandler("shape.removeGroupWithoutChildren", removeGroupWithoutChildren); + function element_colorChange() { + this.preExecute = function (context) { + context.oldColor = context.businessObject.pickedColor; + }; + this.execute = function (context) { + let semantic = context.businessObject; + let element = context.element; + semantic.pickedColor = context.newColor; + eventBus.fire("element.changed", { + element + }); + }; + this.revert = function (context) { + let semantic = context.businessObject; + let element = context.element; + semantic.pickedColor = context.oldColor; + eventBus.fire("element.changed", { + element + }); + }; + } + function removeGroupWithoutChildren() { + this.preExecute = function (ctx) { + ctx.parent = ctx.element.parent; + ctx.children = ctx.element.children.slice(); + }; + this.execute = function (ctx) { + let element = ctx.element; + ctx.children.forEach(child => { + (0,_util__WEBPACK_IMPORTED_MODULE_0__.undoGroupRework)(element, child); + eventBus.fire("element.changed", { + element: child + }); + }); + eventBus.fire("shape.remove", { + element + }); + }; + this.revert = function (ctx) { + let element = ctx.element; + eventBus.fire("shape.added", { + element + }); + ctx.element.children.forEach(child => { + reworkGroupElements(element, child); + }); + }; + } +} + +/***/ }), + +/***/ 49716: +/*!**************************************************************************************!*\ + !*** ./src/app/Modeler/modeler/updateHandler/headlineAndDescriptionUpdateHandler.js ***! + \**************************************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "default": () => (/* binding */ headlineAndDescriptionUpdateHandler) +/* harmony export */ }); +/** + * a handler that updates the text of a BPMN element. + */ +function headlineAndDescriptionUpdateHandler(commandStack, titleService) { + commandStack.registerHandler("story.updateHeadlineAndDescription", handlerFunction); + function handlerFunction() { + this.execute = function (ctx) { + ctx.oldTitle = titleService.getTitle(); + ctx.oldDescription = titleService.getDescription(); + titleService.updateTitleAndDescription(ctx.newTitle, ctx.newDescription, false); + }; + this.revert = function (ctx) { + titleService.updateTitleAndDescription(ctx.oldTitle, ctx.oldDescription, false); + }; + } +} + +/***/ }), + +/***/ 37989: +/*!********************************************************************!*\ + !*** ./src/app/Modeler/modeler/updateHandler/massRenameHandler.js ***! + \********************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "default": () => (/* binding */ DSMassRenameHandler) +/* harmony export */ }); + + +function DSMassRenameHandler(commandStack, eventBus) { + commandStack.registerHandler("domainStoryObjects.massRename", massRename); + function massRename(modeling) { + this.preExecute = function (context) { + let relevantElements = context.elements; + context.oldLabel = relevantElements[0].businessObject.name; + relevantElements.forEach(element => { + modeling.updateLabel(element.businessObject, confirm.newValue); + }); + }; + this.execute = function (context) { + let relevantElements = context.elements; + relevantElements.forEach(element => { + let semantic = element.businessObject; + semantic.name = context.newValue; + eventBus.fire("element.changed", { + element + }); + }); + }; + this.revert = function (context) { + let relevantElements = context.elements; + relevantElements.forEach(element => { + let semantic = element.businessObject; + semantic.name = context.oldLabel; + eventBus.fire("element.changed", { + element + }); + }); + }; + } +} + +/***/ }), + +/***/ 25275: +/*!*********************************************************************!*\ + !*** ./src/app/Modeler/modeler/updateHandler/updateLabelHandler.js ***! + \*********************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "default": () => (/* binding */ UpdateLabelHandler) +/* harmony export */ }); +/* harmony import */ var _labeling_dsLabelUtil__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../labeling/dsLabelUtil */ 29800); +/* harmony import */ var bpmn_js_lib_util_LabelUtil__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! bpmn-js/lib/util/LabelUtil */ 75125); +/* harmony import */ var src_app_Domain_Common_elementTypes__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! src/app/Domain/Common/elementTypes */ 17290); +/* harmony import */ var _util__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../util */ 70674); + + + + + + +const NULL_DIMENSIONS = { + width: 0, + height: 0 +}; +/** + * a handler that updates the text of a BPMN element. + */ +function UpdateLabelHandler(modeling, textRenderer, commandStack) { + commandStack.registerHandler("element.updateCustomLabel", handlerFunction); + function handlerFunction() { + /** + * Set the label and return the changed elements. + * + * Element parameter can be label itself or connection (i.e. sequence flow). + * + * @param {djs.model.Base} element + * @param {String} text + */ + this.preExecute = function (ctx) { + let element = ctx.element, + businessObject = element.businessObject, + newLabel = ctx.newLabel, + newNumber = ctx.newNumber; + if (!(0,bpmn_js_lib_util_LabelUtil__WEBPACK_IMPORTED_MODULE_3__.isLabel)(element) && (0,bpmn_js_lib_util_LabelUtil__WEBPACK_IMPORTED_MODULE_3__.isLabelExternal)(element) && !(0,bpmn_js_lib_util_LabelUtil__WEBPACK_IMPORTED_MODULE_3__.hasExternalLabel)(element) && (newLabel !== "" || newNumber !== "")) { + // create label + let paddingTop = 7; + let labelCenter = (0,bpmn_js_lib_util_LabelUtil__WEBPACK_IMPORTED_MODULE_3__.getExternalLabelMid)(element); + labelCenter = { + x: labelCenter.x, + y: labelCenter.y + paddingTop + }; + modeling.createLabel(element, labelCenter, { + id: businessObject.id + "_label", + businessObject: businessObject + }); + } + }; + this.execute = function (ctx) { + ctx.oldLabel = (0,_labeling_dsLabelUtil__WEBPACK_IMPORTED_MODULE_0__.getLabel)(ctx.element); + ctx.oldNumber = (0,_labeling_dsLabelUtil__WEBPACK_IMPORTED_MODULE_0__.getNumber)(ctx.element); + return setText(ctx.element, ctx.newLabel, ctx.newNumber); + }; + this.revert = function (ctx) { + return setText(ctx.element, ctx.oldLabel, ctx.oldNumber); + }; + this.postExecute = function (ctx) { + let element = ctx.element, + label = element.label || element, + newLabel = ctx.newLabel, + newBounds = ctx.newBounds; + if ((0,bpmn_js_lib_util_LabelUtil__WEBPACK_IMPORTED_MODULE_3__.isLabel)(label) && newLabel.trim() === "") { + modeling.removeShape(label); + return; + } + // ignore internal labels for elements except text annotations + if (!(0,bpmn_js_lib_util_LabelUtil__WEBPACK_IMPORTED_MODULE_3__.isLabelExternal)(element) && !(0,_util__WEBPACK_IMPORTED_MODULE_2__.is)(element, src_app_Domain_Common_elementTypes__WEBPACK_IMPORTED_MODULE_1__.elementTypes.TEXTANNOTATION)) { + return; + } + let bo = (0,_util__WEBPACK_IMPORTED_MODULE_2__.getBusinessObject)(label); + let text = bo.name || bo.text; + // don't resize without text + if (!text) { + return; + } + // resize element based on label _or_ pre-defined bounds + if (typeof newBounds === "undefined") { + newBounds = textRenderer.getLayoutedBounds(label, text); + } + // setting newBounds to false or _null_ will + // disable the postExecute resize operation + if (newBounds) { + modeling.resizeShape(label, newBounds, NULL_DIMENSIONS); + } + }; + } +} +function setText(element, text, textNumber) { + // external label if present + let label = element.label || element; + let number = element.number || element; + let labelTarget = element.labelTarget || element; + let numberTarget = element.numberTarget || element; + (0,_labeling_dsLabelUtil__WEBPACK_IMPORTED_MODULE_0__.setLabel)(label, text); + (0,_labeling_dsLabelUtil__WEBPACK_IMPORTED_MODULE_0__.setNumber)(number, textNumber); + return [label, labelTarget, number, numberTarget]; +} +UpdateLabelHandler.$inject = ["modeling", "textRenderer", "commandStack"]; + +/***/ }), + +/***/ 70674: +/*!*****************************************!*\ + !*** ./src/app/Modeler/modeler/util.js ***! + \*****************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ getBusinessObject: () => (/* binding */ getBusinessObject), +/* harmony export */ is: () => (/* binding */ is), +/* harmony export */ isAny: () => (/* binding */ isAny), +/* harmony export */ reworkGroupElements: () => (/* binding */ reworkGroupElements), +/* harmony export */ undoGroupRework: () => (/* binding */ undoGroupRework) +/* harmony export */ }); +/* harmony import */ var min_dash__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! min-dash */ 91654); + +function is(element, type) { + const bo = getBusinessObject(element); + return bo && typeof bo.$instanceOf == "function" && bo.$instanceOf(type); +} +function getBusinessObject(element) { + return element && element.businessObject || element; +} +function isAny(element, types) { + return (0,min_dash__WEBPACK_IMPORTED_MODULE_0__.some)(types, function (t) { + return is(element, t); + }); +} +function reworkGroupElements(parent, shape) { + parent.children.slice().forEach(innerShape => { + if (innerShape.id !== shape.id) { + if (innerShape.x >= shape.x && innerShape.x <= shape.x + shape.width) { + if (innerShape.y >= shape.y && innerShape.y <= shape.y + shape.height) { + innerShape.parent = shape; + if (!shape.children.includes(innerShape)) { + shape.children.push(innerShape); + } + } + } + } + }); +} +function undoGroupRework(parent, shape) { + const superParent = parent.parent; + parent.children.remove(shape); + superParent.children.add(shape); + shape.parent = superParent; + const svgShape = document.querySelector("[data-element-id=" + shape.id + "]").parentElement; + const svgGroup = svgShape.parentElement; + const svgGroupParent = svgGroup.parentElement.parentElement; + svgGroup.removeChild(svgShape); + svgGroupParent.appendChild(svgShape); +} + +/***/ }), + +/***/ 8690: +/*!**********************************************!*\ + !*** ./src/app/Service/Export/exportUtil.js ***! + \**********************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ createTitleAndDescriptionSVGElement: () => (/* binding */ createTitleAndDescriptionSVGElement) +/* harmony export */ }); +/* harmony import */ var _Domain_Export_exportConstants__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../Domain/Export/exportConstants */ 76725); + +let extraHeight = 0; +// Has to be js File so we can access te correct non-standard HTML-Properties without excessive usage of ts-ignore +function createTitleAndDescriptionSVGElement(title, description, xLeft, yUp, width) { + title = title.replace("<", "").replace(">", ""); + let titleElement = createTitle(title, width); + let descriptionElement = createDescription(description, width); + // to display the title and description in the SVG-file, we need to add a container for our text-elements + let insertText = '' + titleElement + descriptionElement + ""; + return { + insertText, + extraHeight + }; +} +function createTitle(text, width) { + let tempCanvas = document.createElement("canvas"); + let ctx = tempCanvas.getContext("2d"); + ctx.font = "30px Arial"; + return createTextSpans(text, width, ctx, 10, _Domain_Export_exportConstants__WEBPACK_IMPORTED_MODULE_0__.TEXTSPAN_TITLE_HEIGHT, 30); +} +function createDescription(text, width) { + let description = ""; + let descriptionParts = text.split("
"); + let tempCanvas = document.createElement("canvas"); + let ctx = tempCanvas.getContext("2d"); + ctx.font = "12px Arial"; + for (let i = 0; i < descriptionParts.length; i++) { + description += createTextSpans(descriptionParts[i], width, ctx, 0, _Domain_Export_exportConstants__WEBPACK_IMPORTED_MODULE_0__.TEXTSPAN_DESCRIPTION_HEIGHT, 12); + } + return description; +} +function createTextSpans(text, width, ctx, yOffset, heightOffset, fontSize) { + let textSpans = ""; + let words = text.split(" "); + let textTag = ''; + let textSpan = document.createElementNS(_Domain_Export_exportConstants__WEBPACK_IMPORTED_MODULE_0__.SVG_LINK, "tspan"); + let textNode = document.createTextNode(words[0]); + textSpan.setAttribute("x", _Domain_Export_exportConstants__WEBPACK_IMPORTED_MODULE_0__.X_OFFSET_UTIL); + textSpan.setAttribute("y", yOffset + extraHeight); + textSpan.setAttribute("font-size", fontSize); + textSpan.appendChild(textNode); + for (let j = 1; j < words.length; j++) { + if (textSpan.firstChild && textSpan.firstChild.data) { + let len = textSpan.firstChild.data.length; + textNode.data += " " + words[j]; + if (ctx.measureText(textNode.data).width > width - 16) { + extraHeight += heightOffset; + textSpan.firstChild.data = textSpan.firstChild.data.slice(0, len); // remove overflow word + textSpans += textTag + textSpan.outerHTML + ""; // append line + // create new textspan for line break + textSpan = document.createElementNS(_Domain_Export_exportConstants__WEBPACK_IMPORTED_MODULE_0__.SVG_LINK, "tspan"); + textNode = document.createTextNode(words[j]); + textSpan.setAttribute("x", _Domain_Export_exportConstants__WEBPACK_IMPORTED_MODULE_0__.X_OFFSET_UTIL); + textSpan.setAttribute("y", yOffset + extraHeight); + textSpan.appendChild(textNode); + } + } + } + extraHeight += heightOffset; + textSpans += textTag + textSpan.outerHTML + ""; + return textSpans; +} + +/***/ }), + +/***/ 24129: +/*!*************************************************!*\ + !*** ./src/app/Domain/Common/businessObject.ts ***! + \*************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ testBusinessObject: () => (/* binding */ testBusinessObject) +/* harmony export */ }); +/* harmony import */ var _elementTypes__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./elementTypes */ 17290); + +const testBusinessObject = { + $descriptor: undefined, + $type: undefined, + di: undefined, + get: undefined, + set: undefined, + id: 'test', + name: 'test', + type: _elementTypes__WEBPACK_IMPORTED_MODULE_0__.elementTypes.WORKOBJECT, + x: 0, + y: 0, + height: 38, + width: 38, + pickedColor: undefined +}; + +/***/ }), + +/***/ 89045: +/*!************************************************!*\ + !*** ./src/app/Domain/Common/configuration.ts ***! + \************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ Configuration: () => (/* binding */ Configuration) +/* harmony export */ }); +class Configuration { + constructor(actors, workObjects) { + this.actors = actors; + this.workObjects = workObjects; + } +} + +/***/ }), + +/***/ 45219: +/*!********************************************!*\ + !*** ./src/app/Domain/Common/constants.ts ***! + \********************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ APPENDED_ICONS_TAG: () => (/* binding */ APPENDED_ICONS_TAG), +/* harmony export */ DEFAULT_AUTOSAVES_AMOUNT: () => (/* binding */ DEFAULT_AUTOSAVES_AMOUNT), +/* harmony export */ DEFAULT_AUTOSAVES_ENABLED: () => (/* binding */ DEFAULT_AUTOSAVES_ENABLED), +/* harmony export */ DEFAULT_AUTOSAVES_INTERVAL: () => (/* binding */ DEFAULT_AUTOSAVES_INTERVAL), +/* harmony export */ DOMAIN_CONFIGURATION_TAG: () => (/* binding */ DOMAIN_CONFIGURATION_TAG), +/* harmony export */ IMPLICIT_ROOT_ID: () => (/* binding */ IMPLICIT_ROOT_ID), +/* harmony export */ INITIAL_DESCRIPTION: () => (/* binding */ INITIAL_DESCRIPTION), +/* harmony export */ INITIAL_DOMAIN_NAME: () => (/* binding */ INITIAL_DOMAIN_NAME), +/* harmony export */ INITIAL_TITLE: () => (/* binding */ INITIAL_TITLE), +/* harmony export */ SNACKBAR_DURATION: () => (/* binding */ SNACKBAR_DURATION), +/* harmony export */ SNACKBAR_ERROR: () => (/* binding */ SNACKBAR_ERROR), +/* harmony export */ SNACKBAR_INFO: () => (/* binding */ SNACKBAR_INFO), +/* harmony export */ SNACKBAR_SUCCESS: () => (/* binding */ SNACKBAR_SUCCESS) +/* harmony export */ }); +/** DEFAULT VALUES **/ +const INITIAL_TITLE = '< title >'; +const INITIAL_DESCRIPTION = '< description >'; +const INITIAL_DOMAIN_NAME = '[icons: default]'; +/** LocalStorageTags **/ +const APPENDED_ICONS_TAG = 'appendedIcons'; +const DOMAIN_CONFIGURATION_TAG = 'domainConfigurationTag'; +/** AUTOSAVE DEFAULTS **/ +const DEFAULT_AUTOSAVES_ENABLED = true; +const DEFAULT_AUTOSAVES_AMOUNT = 5; +const DEFAULT_AUTOSAVES_INTERVAL = 30; +/** SNACKBAR **/ +const SNACKBAR_DURATION = 2000; +const SNACKBAR_SUCCESS = 'snackbar_success'; +const SNACKBAR_ERROR = 'snackbar_error'; +const SNACKBAR_INFO = 'snackbar_info'; +/** BPMN_RELEVANT_CONSTANTS **/ +const IMPLICIT_ROOT_ID = '__implicitroot'; + +/***/ }), + +/***/ 6789: +/*!********************************************************!*\ + !*** ./src/app/Domain/Common/dictionary/dictionary.ts ***! + \********************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ Dictionary: () => (/* binding */ Dictionary), +/* harmony export */ Entry: () => (/* binding */ Entry) +/* harmony export */ }); +class Dictionary { + constructor() { + this.entries = []; + } + get length() { + return this.entries.length; + } + all() { + return this.entries; + } + size() { + return this.entries.length; + } + isEmpty() { + return this.entries.length <= 0; + } + has(key) { + return this.entries.some(entry => entry.key === key); + } + set(key, value) { + if (!this.has(key)) { + this.entries.push(new Entry(value, key)); + } + } + add(value, key) { + this.set(key, value); + } + putEntry(entry) { + if (!this.has(entry.key)) { + this.entries.push(new Entry(entry.value, entry.key)); + } + } + keysArray() { + return this.entries.map(entry => entry.key); + } + addEach(object) { + Object.keys(object).forEach(key => { + this.set(key, object[key]); + }); + } + appendDict(dict) { + dict.entries.forEach(entry => this.putEntry(entry)); + } + clear() { + this.entries = []; + } + delete(key) { + this.entries = this.entries.filter(entry => entry.key !== key); + } + get(key) { + const found = this.entries.filter(entry => entry.key === key); + return found[0] ? found[0].value : null; + } + sort(fn) { + this.entries.sort(fn); + } + sortByName() { + this.entries.sort((a, b) => { + if (a.key.includes('_custom') == b.key.includes('_custom')) { + if (a.key < b.key) return -1;else { + return 1; + } + } else { + if (a.key.includes('_custom')) { + return -1; + } else { + return 1; + } + } + }); + } +} +class Entry { + constructor(value, key) { + this.value = value; + this.key = key; + } +} + +/***/ }), + +/***/ 58643: +/*!******************************************************!*\ + !*** ./src/app/Domain/Common/domainConfiguration.ts ***! + \******************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ fromConfigurationFromFile: () => (/* binding */ fromConfigurationFromFile), +/* harmony export */ testCustomDomainConfiguration: () => (/* binding */ testCustomDomainConfiguration) +/* harmony export */ }); +/* harmony import */ var _constants__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./constants */ 45219); +/* harmony import */ var _businessObject__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./businessObject */ 24129); +/* harmony import */ var _elementTypes__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./elementTypes */ 17290); +/* harmony import */ var _dictionary_dictionary__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./dictionary/dictionary */ 6789); + + + + +const actor = structuredClone(_businessObject__WEBPACK_IMPORTED_MODULE_1__.testBusinessObject); +actor.type = _elementTypes__WEBPACK_IMPORTED_MODULE_2__.elementTypes.ACTOR; +const testCustomDomainConfiguration = { + name: _constants__WEBPACK_IMPORTED_MODULE_0__.INITIAL_DOMAIN_NAME, + actors: ['Person'], + workObjects: ['Document'] +}; +function fromConfigurationFromFile(configFromFile) { + const actorsDict = new _dictionary_dictionary__WEBPACK_IMPORTED_MODULE_3__.Dictionary(); + const workObjectsDict = new _dictionary_dictionary__WEBPACK_IMPORTED_MODULE_3__.Dictionary(); + Object.keys(configFromFile.actors).forEach(key => { + actorsDict.add(configFromFile.actors[key], key); + }); + Object.keys(configFromFile.workObjects).forEach(key => { + workObjectsDict.add(configFromFile.workObjects[key], key); + }); + return { + name: configFromFile.name, + actors: actorsDict, + workObjects: workObjectsDict + }; +} + +/***/ }), + +/***/ 17290: +/*!***********************************************!*\ + !*** ./src/app/Domain/Common/elementTypes.ts ***! + \***********************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ elementTypes: () => (/* binding */ elementTypes) +/* harmony export */ }); +var elementTypes; +(function (elementTypes) { + elementTypes["ACTIVITY"] = "domainStory:activity"; + elementTypes["CONNECTION"] = "domainStory:connection"; + elementTypes["ACTOR"] = "domainStory:actor"; + elementTypes["WORKOBJECT"] = "domainStory:workObject"; + elementTypes["GROUP"] = "domainStory:group"; + elementTypes["TEXTANNOTATION"] = "domainStory:textAnnotation"; + elementTypes["DOMAINSTORY"] = "domainStory:"; +})(elementTypes || (elementTypes = {})); + +/***/ }), + +/***/ 66848: +/*!****************************************************!*\ + !*** ./src/app/Domain/Common/iconConfiguration.ts ***! + \****************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ IconConfiguration: () => (/* binding */ IconConfiguration), +/* harmony export */ defaultConf: () => (/* binding */ defaultConf) +/* harmony export */ }); +/* harmony import */ var src_app_Domain_Common_dictionary_dictionary__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! src/app/Domain/Common/dictionary/dictionary */ 6789); +/* harmony import */ var src_app_Domain_Domain_Configuration_allIcons__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! src/app/Domain/Domain-Configuration/allIcons */ 86915); +/* harmony import */ var src_app_Domain_Common_configuration__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! src/app/Domain/Common/configuration */ 89045); +/* harmony import */ var _constants__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./constants */ 45219); + + + + +class IconConfiguration { + constructor(allIconDictionary) { + this.domainName = _constants__WEBPACK_IMPORTED_MODULE_3__.INITIAL_DOMAIN_NAME; + this.allIconDictionary = allIconDictionary; + } + /** + * Select the Iconset which you want to use + */ + getDefaultConf() { + return defaultConf; + } + updateAllIconRegistry(allIconDictionary) { + this.allIconDictionary = allIconDictionary; + } + appendSRCFile(actors, actorsDict, workObjects, workObjectsDict) { + const newAppendedIcons = {}; + actors.forEach(name => { + if (!this.allIconDictionary.has(name)) { + newAppendedIcons[name] = actorsDict.get(name); + } + }); + workObjects.forEach(name => { + if (!this.allIconDictionary.has(name)) { + newAppendedIcons[name] = workObjectsDict.get(name); + } + }); + const appen = new src_app_Domain_Common_dictionary_dictionary__WEBPACK_IMPORTED_MODULE_0__.Dictionary(); + Object.keys(newAppendedIcons).forEach(key => { + appen.set(key, newAppendedIcons[key]); + }); + (0,src_app_Domain_Domain_Configuration_allIcons__WEBPACK_IMPORTED_MODULE_1__.overrideAppendedIcons)(appen); + } + createCustomConf(domainConfiguration) { + this.domainName = domainConfiguration.name; + let actors = domainConfiguration.actors; + let workObjects = domainConfiguration.workObjects; + this.appendSRCFile(actors.keysArray(), actors, workObjects.keysArray(), workObjects); + return new src_app_Domain_Common_configuration__WEBPACK_IMPORTED_MODULE_2__.Configuration(actors.keysArray(), workObjects.keysArray()); + } +} +/* eslint no-unused-vars: 0*/ +/** + * All Icons as one Set + * There are more Icons than fit in the palette. + * This is just for reference + */ +const allIconsConf = { + actors: ['Person', 'Group', 'System', 'Pet'], + workObjects: ['Place', 'Flag', 'World', 'Water', 'Store', 'Theater', 'Business', 'Meeting-room', 'Hotel', 'Dining', 'Courthouse', 'Gas-station', 'Car', 'Bus', 'Train', 'Truck', 'Taxi', 'Bike', 'Boat', 'Motorcycle', 'Plane', 'Flight-takeoff', 'Flight-landing', 'Shuttle', 'Walking', 'Traffic', 'Commute', 'Document', 'Folder', 'Call', 'Email', 'Copyright', 'Briefcase', 'Attach', 'Ruler', 'Sum', 'Conversation', 'Update', 'Cellphone', 'Speaker-phone', 'Signal', 'Key', 'Pencil', 'How-To-Reg', 'Settings', 'Grid', 'Label', 'Receipt', 'Calendar', 'Wrench', 'Headset', 'Keyboard', 'Mouse', 'Microphone', 'Router', 'Scanner', 'Printer', 'DNS', 'Security', 'Cloud', 'Desktop', 'Tablet', 'Assessment', 'Dashboard', 'Pie-chart', 'View-List', 'Euro', 'Dollar', 'Info', 'Alarm', 'Problem', 'Circle-Arrows', 'Picture-as-PDF', 'Credit-Card', 'Shopping', 'Favorite', 'Gavel', 'Blind', 'Hourglass', 'Time', 'Search', 'Thumb-up', 'Thumb-down', 'Thumb-up-down', 'Couch', 'Education', 'Watch'] +}; +/** + * Default Iconset + */ +const defaultConf = { + actors: ['Person', 'Group', 'System'], + workObjects: ['Document', 'Folder', 'Call', 'Email', 'Conversation', 'Info'] +}; + +/***/ }), + +/***/ 55311: +/*!*****************************************************!*\ + !*** ./src/app/Domain/Dialog/activityDialogData.ts ***! + \*****************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ ActivityDialogData: () => (/* binding */ ActivityDialogData) +/* harmony export */ }); +class ActivityDialogData { + constructor(activity, numberIsAllowedMultipleTimes, showNumberFields, saveFN) { + this.activity = activity; + this.numberIsAllowedMultipleTimes = numberIsAllowedMultipleTimes; + this.showNumberFields = showNumberFields; + this.saveFN = saveFN; + } +} + +/***/ }), + +/***/ 87324: +/*!***************************************************!*\ + !*** ./src/app/Domain/Dialog/exportDialogData.ts ***! + \***************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ ExportDialogData: () => (/* binding */ ExportDialogData), +/* harmony export */ ExportOption: () => (/* binding */ ExportOption) +/* harmony export */ }); +class ExportDialogData { + constructor(title, options) { + this.title = title; + this.options = options; + } +} +class ExportOption { + constructor(text, tooltip, fn) { + this.text = text; + this.tooltip = tooltip; + this.fn = fn; + } +} + +/***/ }), + +/***/ 70541: +/*!*************************************************!*\ + !*** ./src/app/Domain/Dialog/infoDialogData.ts ***! + \*************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ InfoDialogData: () => (/* binding */ InfoDialogData) +/* harmony export */ }); +class InfoDialogData { + constructor(title, infoText, isInfo, isLink = false, linkText) { + this.title = title; + this.infoText = infoText; + this.isInfo = isInfo; + this.isLink = isLink; + this.linkText = linkText; + } +} + +/***/ }), + +/***/ 58020: +/*!***********************************************************!*\ + !*** ./src/app/Domain/DomManipulation/replayConstants.ts ***! + \***********************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ HIGHLIGHT_COLOR: () => (/* binding */ HIGHLIGHT_COLOR), +/* harmony export */ HIGHLIGHT_NUMBER_BACKGROUNG_COLOR: () => (/* binding */ HIGHLIGHT_NUMBER_BACKGROUNG_COLOR), +/* harmony export */ HIGHLIGHT_NUMBER_COLOR: () => (/* binding */ HIGHLIGHT_NUMBER_COLOR), +/* harmony export */ HIGHLIGHT_STROKE_WIDTH: () => (/* binding */ HIGHLIGHT_STROKE_WIDTH), +/* harmony export */ NUMBER_BACKGROUND_COLOR: () => (/* binding */ NUMBER_BACKGROUND_COLOR), +/* harmony export */ NUMBER_COLOR: () => (/* binding */ NUMBER_COLOR), +/* harmony export */ STROKE_WIDTH: () => (/* binding */ STROKE_WIDTH) +/* harmony export */ }); +const NUMBER_BACKGROUND_COLOR = 'white'; +const NUMBER_COLOR = 'black'; +const STROKE_WIDTH = '1.5'; +const HIGHLIGHT_NUMBER_BACKGROUNG_COLOR = '#43acbf'; +const HIGHLIGHT_NUMBER_COLOR = 'black'; +const HIGHLIGHT_COLOR = 'black'; +const HIGHLIGHT_STROKE_WIDTH = '4'; + +/***/ }), + +/***/ 86915: +/*!*********************************************************!*\ + !*** ./src/app/Domain/Domain-Configuration/allIcons.ts ***! + \*********************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ allIcons: () => (/* binding */ allIcons), +/* harmony export */ appendedIcons: () => (/* binding */ appendedIcons), +/* harmony export */ getAllStandardIconKeys: () => (/* binding */ getAllStandardIconKeys), +/* harmony export */ overrideAppendedIcons: () => (/* binding */ overrideAppendedIcons) +/* harmony export */ }); +/* harmony import */ var src_app_Domain_Common_dictionary_dictionary__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! src/app/Domain/Common/dictionary/dictionary */ 6789); + +let appendedIcons = new src_app_Domain_Common_dictionary_dictionary__WEBPACK_IMPORTED_MODULE_0__.Dictionary(); +const allIcons = { + Person: '', + Group: '', + Pet: '', + Conversation: '', + World: '', + Store: '', + Theater: '', + Business: '', + Water: '', + Hotel: '', + Dining: '', + 'Gas-station': '', + 'Meeting-room': '', + Courthouse: '', + Flag: '', + Place: '', + Car: '', + Bus: '', + Train: '', + Truck: '', + Taxi: '', + Bike: '', + Boat: '', + Motorcycle: '', + Plane: '', + 'Flight-takeoff': '', + 'Flight-landing': '', + Shuttle: '', + Walking: '', + Traffic: '', + Commute: '', + System: '', + Printer: '', + Document: '', + Folder: '', + Call: '', + Email: '', + Copyright: '', + DNS: '', + Settings: '', + Cellphone: '', + Update: '', + Briefcase: '', + Microphone: '', + Signal: '', + Key: '', + Pencil: '', + Sum: '', + Headset: '', + Keyboard: '', + Mouse: '', + Router: '', + Scanner: '', + Security: '', + Desktop: '', + 'Speaker-phone': '', + Tablet: '', + Label: '', + Receipt: '', + Calendar: '', + Cloud: '', + Assessment: '', + Dashboard: '', + 'Pie-chart': '', + Problem: '', + 'Picture-as-PDF': '', + Grid: '', + Watch: '', + Euro: '', + Dollar: '', + Info: '', + Alarm: '', + Wrench: '', + 'Circle-Arrows': '', + 'Credit-Card': '', + Favorite: '', + Gavel: '', + Blind: '', + Hourglass: '', + Time: '', + Search: '', + Shopping: '', + 'Thumb-up': '', + 'Thumb-down': '', + 'Thumb-up-down': '', + Couch: '', + Attach: '', + Ruler: '', + Education: '', + 'How-To-Reg': '', + 'View-List': '' +}; +function getAllStandardIconKeys() { + const allIconsDict = new src_app_Domain_Common_dictionary_dictionary__WEBPACK_IMPORTED_MODULE_0__.Dictionary(); + allIconsDict.addEach(allIcons); + return allIconsDict.keysArray(); +} +function overrideAppendedIcons(newIcons) { + appendedIcons = newIcons; +} + +/***/ }), + +/***/ 80367: +/*!***************************************************************!*\ + !*** ./src/app/Domain/Domain-Configuration/iconFilterEnum.ts ***! + \***************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ IconFilterEnum: () => (/* binding */ IconFilterEnum) +/* harmony export */ }); +var IconFilterEnum; +(function (IconFilterEnum) { + IconFilterEnum["ICON_FILTER_ACTOR"] = "ICON_FILTER_ACTOR"; + IconFilterEnum["ICON_FILTER_WORKOBJECT"] = "ICON_FILTER_WORKOBJECT"; + IconFilterEnum["ICON_FILTER_UNASSIGNED"] = "ICON_FILTER_UNASSIGNED"; + IconFilterEnum["ICON_FILTER_NONE"] = "ICON_FILTER_NONE"; +})(IconFilterEnum || (IconFilterEnum = {})); + +/***/ }), + +/***/ 85003: +/*!***********************************************!*\ + !*** ./src/app/Domain/Export/configAndDst.ts ***! + \***********************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ ConfigAndDST: () => (/* binding */ ConfigAndDST), +/* harmony export */ testConfigAndDst: () => (/* binding */ testConfigAndDst) +/* harmony export */ }); +class ConfigAndDST { + constructor(domain, dst) { + this.domain = domain; + this.dst = dst; + } +} +const testConfigAndDst = { + domain: JSON.parse('{"name":"",' + '"actors":{"Person":"' + '' + '",' + '"Group":"' + '' + '",' + '"System":"' + '"},' + '"workObjects":{"Document":"' + '",' + '"Folder":"' + '' + '",' + '"Call":"' + '",' + '"Email":"' + '",' + '"Conversation":"' + '",' + '"Info":"' + '' + '"}}'), + dst: '[' + '{"type":"domainStory:workObjectDocument","name":"","id":"shape_3792","$type":"Element","di":{},"$descriptor":{},"pickedColor":"black","x":302,"y":102},' + '{"type":"domainStory:actorPerson","name":"","id":"shape_4666","$type":"Element","di":{},"$descriptor":{},"pickedColor":"black","x":103,"y":93},' + '{"type":"domainStory:activity","name":"","id":"connection_4884","$type":"Element","di":{},"$descriptor":{},"pickedColor":"black","number":1,' + '"waypoints":[{"original":{"x":141,"y":131},"x":186,"y":133},{"original":{"x":340,"y":140},"x":302,"y":138}],' + '"source":"shape_4666","target":"shape_3792"}]' +}; + +/***/ }), + +/***/ 76725: +/*!**************************************************!*\ + !*** ./src/app/Domain/Export/exportConstants.ts ***! + \**************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ SVG_LINK: () => (/* binding */ SVG_LINK), +/* harmony export */ TEXTSPAN_DESCRIPTION_HEIGHT: () => (/* binding */ TEXTSPAN_DESCRIPTION_HEIGHT), +/* harmony export */ TEXTSPAN_TITLE_HEIGHT: () => (/* binding */ TEXTSPAN_TITLE_HEIGHT), +/* harmony export */ X_OFFSET_UTIL: () => (/* binding */ X_OFFSET_UTIL) +/* harmony export */ }); +const SVG_LINK = 'http://www.w3.org/2000/svg'; +const X_OFFSET_UTIL = '8'; +const TEXTSPAN_TITLE_HEIGHT = 30; +const TEXTSPAN_DESCRIPTION_HEIGHT = 15; + +/***/ }), + +/***/ 65111: +/*!*****************************************************!*\ + !*** ./src/app/Modules/autosave-settings.module.ts ***! + \*****************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ AutosaveSettingsModule: () => (/* binding */ AutosaveSettingsModule) +/* harmony export */ }); +/* harmony import */ var _angular_common__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! @angular/common */ 89650); +/* harmony import */ var _Presentation_Autosave_AutosaveSettings_autosave_settings_component__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../Presentation/Autosave/AutosaveSettings/autosave-settings.component */ 3264); +/* harmony import */ var _Presentation_Autosave_AutosaveOptions_autosave_options_component__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../Presentation/Autosave/AutosaveOptions/autosave-options.component */ 15621); +/* harmony import */ var _Presentation_Autosave_AutosavedDrafts_autosaved_drafts_component__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../Presentation/Autosave/AutosavedDrafts/autosaved-drafts.component */ 11971); +/* harmony import */ var _angular_forms__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! @angular/forms */ 70997); +/* harmony import */ var _material_module__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../material.module */ 29099); +/* harmony import */ var _angular_core__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @angular/core */ 51197); + + + + + + + +class AutosaveSettingsModule { + static #_ = this.ɵfac = function AutosaveSettingsModule_Factory(t) { + return new (t || AutosaveSettingsModule)(); + }; + static #_2 = this.ɵmod = /*@__PURE__*/_angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵdefineNgModule"]({ + type: AutosaveSettingsModule + }); + static #_3 = this.ɵinj = /*@__PURE__*/_angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵdefineInjector"]({ + imports: [_angular_common__WEBPACK_IMPORTED_MODULE_5__.CommonModule, _angular_forms__WEBPACK_IMPORTED_MODULE_6__.FormsModule, _material_module__WEBPACK_IMPORTED_MODULE_3__.MaterialModule] + }); +} +(function () { + (typeof ngJitMode === "undefined" || ngJitMode) && _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵsetNgModuleScope"](AutosaveSettingsModule, { + declarations: [_Presentation_Autosave_AutosaveSettings_autosave_settings_component__WEBPACK_IMPORTED_MODULE_0__.AutosaveSettingsComponent, _Presentation_Autosave_AutosaveOptions_autosave_options_component__WEBPACK_IMPORTED_MODULE_1__.AutosaveOptionsComponent, _Presentation_Autosave_AutosavedDrafts_autosaved_drafts_component__WEBPACK_IMPORTED_MODULE_2__.AutosavedDraftsComponent], + imports: [_angular_common__WEBPACK_IMPORTED_MODULE_5__.CommonModule, _angular_forms__WEBPACK_IMPORTED_MODULE_6__.FormsModule, _material_module__WEBPACK_IMPORTED_MODULE_3__.MaterialModule], + exports: [_Presentation_Autosave_AutosaveSettings_autosave_settings_component__WEBPACK_IMPORTED_MODULE_0__.AutosaveSettingsComponent] + }); +})(); + +/***/ }), + +/***/ 20741: +/*!***************************************************************!*\ + !*** ./src/app/Modules/domain-story-modeler-module.module.ts ***! + \***************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ DomainStoryModelerModuleModule: () => (/* binding */ DomainStoryModelerModuleModule) +/* harmony export */ }); +/* harmony import */ var _angular_common__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @angular/common */ 89650); +/* harmony import */ var _Presentation_Header_header_buttons_component__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../Presentation/Header/header-buttons.component */ 10591); +/* harmony import */ var _angular_core__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @angular/core */ 51197); + + + +class DomainStoryModelerModuleModule { + static #_ = this.ɵfac = function DomainStoryModelerModuleModule_Factory(t) { + return new (t || DomainStoryModelerModuleModule)(); + }; + static #_2 = this.ɵmod = /*@__PURE__*/_angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵdefineNgModule"]({ + type: DomainStoryModelerModuleModule + }); + static #_3 = this.ɵinj = /*@__PURE__*/_angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵdefineInjector"]({ + imports: [_angular_common__WEBPACK_IMPORTED_MODULE_2__.CommonModule] + }); +} +(function () { + (typeof ngJitMode === "undefined" || ngJitMode) && _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵsetNgModuleScope"](DomainStoryModelerModuleModule, { + declarations: [_Presentation_Header_header_buttons_component__WEBPACK_IMPORTED_MODULE_0__.HeaderButtonsComponent], + imports: [_angular_common__WEBPACK_IMPORTED_MODULE_2__.CommonModule], + exports: [_Presentation_Header_header_buttons_component__WEBPACK_IMPORTED_MODULE_0__.HeaderButtonsComponent] + }); +})(); + +/***/ }), + +/***/ 44886: +/*!********************************************!*\ + !*** ./src/app/Modules/settings.module.ts ***! + \********************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ SettingsModule: () => (/* binding */ SettingsModule) +/* harmony export */ }); +/* harmony import */ var _angular_common__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! @angular/common */ 89650); +/* harmony import */ var src_app_Presentation_DomainConfiguration_domain_configuration_component__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! src/app/Presentation/DomainConfiguration/domain-configuration.component */ 67061); +/* harmony import */ var _Presentation_DomainConfiguration_icon_list_item_icon_list_item_component__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../Presentation/DomainConfiguration/icon-list-item/icon-list-item.component */ 8761); +/* harmony import */ var _Presentation_DomainConfiguration_details_list_item_details_list_item_component__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../Presentation/DomainConfiguration/details-list-item/details-list-item.component */ 91095); +/* harmony import */ var _Presentation_DomainConfiguration_domain_details_domain_details_component__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../Presentation/DomainConfiguration/domain-details/domain-details.component */ 14777); +/* harmony import */ var _Presentation_Settings_General_general_settings_component__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../Presentation/Settings/General/general-settings.component */ 28783); +/* harmony import */ var _Presentation_LabelDictionary_label_dictionary_component__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../Presentation/LabelDictionary/label-dictionary.component */ 19476); +/* harmony import */ var _angular_forms__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! @angular/forms */ 70997); +/* harmony import */ var _material_module__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../material.module */ 29099); +/* harmony import */ var _autosave_settings_module__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./autosave-settings.module */ 65111); +/* harmony import */ var _angular_core__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! @angular/core */ 51197); + + + + + + + + + + + +class SettingsModule { + static #_ = this.ɵfac = function SettingsModule_Factory(t) { + return new (t || SettingsModule)(); + }; + static #_2 = this.ɵmod = /*@__PURE__*/_angular_core__WEBPACK_IMPORTED_MODULE_8__["ɵɵdefineNgModule"]({ + type: SettingsModule + }); + static #_3 = this.ɵinj = /*@__PURE__*/_angular_core__WEBPACK_IMPORTED_MODULE_8__["ɵɵdefineInjector"]({ + imports: [_autosave_settings_module__WEBPACK_IMPORTED_MODULE_7__.AutosaveSettingsModule, _angular_common__WEBPACK_IMPORTED_MODULE_9__.CommonModule, _angular_forms__WEBPACK_IMPORTED_MODULE_10__.FormsModule, _material_module__WEBPACK_IMPORTED_MODULE_6__.MaterialModule] + }); +} +(function () { + (typeof ngJitMode === "undefined" || ngJitMode) && _angular_core__WEBPACK_IMPORTED_MODULE_8__["ɵɵsetNgModuleScope"](SettingsModule, { + declarations: [src_app_Presentation_DomainConfiguration_domain_configuration_component__WEBPACK_IMPORTED_MODULE_0__.DomainConfigurationComponent, _Presentation_Settings_General_general_settings_component__WEBPACK_IMPORTED_MODULE_4__.GeneralSettingsComponent, _Presentation_LabelDictionary_label_dictionary_component__WEBPACK_IMPORTED_MODULE_5__.LabelDictionaryComponent, _Presentation_DomainConfiguration_icon_list_item_icon_list_item_component__WEBPACK_IMPORTED_MODULE_1__.IconListItemComponent, _Presentation_DomainConfiguration_details_list_item_details_list_item_component__WEBPACK_IMPORTED_MODULE_2__.DetailsListItemComponent, _Presentation_DomainConfiguration_domain_details_domain_details_component__WEBPACK_IMPORTED_MODULE_3__.DomainDetailsComponent], + imports: [_autosave_settings_module__WEBPACK_IMPORTED_MODULE_7__.AutosaveSettingsModule, _angular_common__WEBPACK_IMPORTED_MODULE_9__.CommonModule, _angular_forms__WEBPACK_IMPORTED_MODULE_10__.FormsModule, _material_module__WEBPACK_IMPORTED_MODULE_6__.MaterialModule], + exports: [_Presentation_Settings_General_general_settings_component__WEBPACK_IMPORTED_MODULE_4__.GeneralSettingsComponent, src_app_Presentation_DomainConfiguration_domain_configuration_component__WEBPACK_IMPORTED_MODULE_0__.DomainConfigurationComponent, _Presentation_LabelDictionary_label_dictionary_component__WEBPACK_IMPORTED_MODULE_5__.LabelDictionaryComponent] + }); +})(); + +/***/ }), + +/***/ 15621: +/*!*************************************************************************************!*\ + !*** ./src/app/Presentation/Autosave/AutosaveOptions/autosave-options.component.ts ***! + \*************************************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ AutosaveOptionsComponent: () => (/* binding */ AutosaveOptionsComponent) +/* harmony export */ }); +/* harmony import */ var src_app_Domain_Common_constants__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! src/app/Domain/Common/constants */ 45219); +/* harmony import */ var _angular_core__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @angular/core */ 51197); +/* harmony import */ var _Service_Autosave_autosave_configuration_service__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../../Service/Autosave/autosave-configuration.service */ 33630); +/* harmony import */ var _angular_material_snack_bar__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @angular/material/snack-bar */ 93768); +/* harmony import */ var _angular_common__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @angular/common */ 89650); +/* harmony import */ var _angular_material_button__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! @angular/material/button */ 96495); +/* harmony import */ var _angular_material_form_field__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! @angular/material/form-field */ 51589); +/* harmony import */ var _angular_material_card__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! @angular/material/card */ 31071); + + + + + + + + +function AutosaveOptionsComponent_mat_card_0_Template(rf, ctx) { + if (rf & 1) { + const _r6 = _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵgetCurrentView"](); + _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵelementStart"](0, "mat-card")(1, "mat-card-header")(2, "mat-card-title"); + _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵtext"](3, "Autosave Options"); + _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵelementEnd"]()(); + _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵelementStart"](4, "mat-card-content", 1)(5, "div", 2); + _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵelement"](6, "input", 3, 4); + _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵelementStart"](8, "mat-label"); + _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵtext"](9, "Enabled"); + _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵelementEnd"]()(); + _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵelementStart"](10, "div", 5)(11, "mat-label"); + _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵtext"](12, "Interval"); + _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵelementEnd"](); + _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵelement"](13, "input", 6, 7); + _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵelementEnd"](); + _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵelementStart"](15, "div", 5)(16, "mat-label"); + _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵtext"](17, "Amount"); + _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵelementEnd"](); + _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵelement"](18, "input", 6, 8); + _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵelementEnd"](); + _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵelementStart"](20, "button", 9); + _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵlistener"]("click", function AutosaveOptionsComponent_mat_card_0_Template_button_click_20_listener() { + _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵrestoreView"](_r6); + const _r2 = _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵreference"](7); + const _r4 = _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵreference"](19); + const _r3 = _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵreference"](14); + const ctx_r5 = _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵnextContext"](); + return _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵresetView"](ctx_r5.save(_r2.checked, +_r4.value, +_r3.value)); + }); + _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵtext"](21, " Apply "); + _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵelementEnd"]()()(); + } + if (rf & 2) { + const configuration_r1 = ctx.ngIf; + _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵadvance"](6); + _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵproperty"]("checked", configuration_r1.activated); + _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵadvance"](7); + _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵproperty"]("value", configuration_r1.interval); + _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵadvance"](5); + _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵproperty"]("value", configuration_r1.amount); + } +} +class AutosaveOptionsComponent { + constructor(autosaveConfiguration, snackbar) { + this.autosaveConfiguration = autosaveConfiguration; + this.snackbar = snackbar; + } + save(activated, amount, interval) { + if (this.autosaveConfiguration.setConfiguration({ + activated, + amount, + interval + })) { + this.snackbar.open('Settings for Autosave saved', undefined, { + duration: src_app_Domain_Common_constants__WEBPACK_IMPORTED_MODULE_0__.SNACKBAR_DURATION, + panelClass: src_app_Domain_Common_constants__WEBPACK_IMPORTED_MODULE_0__.SNACKBAR_SUCCESS + }); + } else { + this.snackbar.open('Unable to save settings for Autosave - please try again', undefined, { + duration: 2 * src_app_Domain_Common_constants__WEBPACK_IMPORTED_MODULE_0__.SNACKBAR_DURATION, + panelClass: src_app_Domain_Common_constants__WEBPACK_IMPORTED_MODULE_0__.SNACKBAR_ERROR + }); + } + } + static #_ = this.ɵfac = function AutosaveOptionsComponent_Factory(t) { + return new (t || AutosaveOptionsComponent)(_angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵdirectiveInject"](_Service_Autosave_autosave_configuration_service__WEBPACK_IMPORTED_MODULE_1__.AutosaveConfigurationService), _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵdirectiveInject"](_angular_material_snack_bar__WEBPACK_IMPORTED_MODULE_3__.MatSnackBar)); + }; + static #_2 = this.ɵcmp = /*@__PURE__*/_angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵdefineComponent"]({ + type: AutosaveOptionsComponent, + selectors: [["app-autosave-options"]], + decls: 2, + vars: 3, + consts: [[4, "ngIf"], [1, "cardContent"], [1, "alignSelfCenter"], ["type", "checkbox", 3, "checked"], ["activated", ""], [1, "inputContainer"], ["min", "1", "type", "number", 1, "numberInput", 3, "value"], ["interval", ""], ["amount", ""], ["mat-raised-button", "", "color", "primary", 1, "saveButton", 3, "click"]], + template: function AutosaveOptionsComponent_Template(rf, ctx) { + if (rf & 1) { + _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵtemplate"](0, AutosaveOptionsComponent_mat_card_0_Template, 22, 3, "mat-card", 0); + _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵpipe"](1, "async"); + } + if (rf & 2) { + _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵproperty"]("ngIf", _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵpipeBind1"](1, 1, ctx.autosaveConfiguration.configuration$)); + } + }, + dependencies: [_angular_common__WEBPACK_IMPORTED_MODULE_4__.NgIf, _angular_material_button__WEBPACK_IMPORTED_MODULE_5__.MatButton, _angular_material_form_field__WEBPACK_IMPORTED_MODULE_6__.MatLabel, _angular_material_card__WEBPACK_IMPORTED_MODULE_7__.MatCard, _angular_material_card__WEBPACK_IMPORTED_MODULE_7__.MatCardContent, _angular_material_card__WEBPACK_IMPORTED_MODULE_7__.MatCardHeader, _angular_material_card__WEBPACK_IMPORTED_MODULE_7__.MatCardTitle, _angular_common__WEBPACK_IMPORTED_MODULE_4__.AsyncPipe], + styles: [".autosaveEnabled[_ngcontent-%COMP%], .autosaveInterval[_ngcontent-%COMP%] {\n display: inline-grid;\n grid-template-columns: 120px auto;\n width: 300px;\n grid-row-gap: 5px;\n height: 20px;\n}\n\n.enableButton[_ngcontent-%COMP%] {\n justify-self: start;\n}\n\n.autosaveEnabled[_ngcontent-%COMP%] {\n padding-bottom: 2px;\n}\n\n.autosaveInterval[_ngcontent-%COMP%] {\n padding-bottom: 10px;\n}\n\n.autosaveIntervalSpan[_ngcontent-%COMP%] {\n padding-top: 2px;\n justify-self: start;\n}\n\n.saveButton[_ngcontent-%COMP%] {\n align-self: end;\n right: 0;\n margin-left: -5px;\n}\n\n.cardContent[_ngcontent-%COMP%] {\n display: flex;\n justify-content: space-between;\n}\n\n.inputContainer[_ngcontent-%COMP%] {\n display: inline-grid;\n width: -moz-fit-content;\n width: fit-content;\n}\n\n.numberInput[_ngcontent-%COMP%] {\n justify-self: end;\n width: 64px;\n}\n\n.alignSelfCenter[_ngcontent-%COMP%] {\n align-self: center;\n}\n/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8uL3NyYy9hcHAvUHJlc2VudGF0aW9uL0F1dG9zYXZlL0F1dG9zYXZlT3B0aW9ucy9hdXRvc2F2ZS1vcHRpb25zLmNvbXBvbmVudC5zY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztFQUVFLG9CQUFBO0VBQ0EsaUNBQUE7RUFDQSxZQUFBO0VBQ0EsaUJBQUE7RUFDQSxZQUFBO0FBQ0Y7O0FBRUE7RUFDRSxtQkFBQTtBQUNGOztBQUVBO0VBQ0UsbUJBQUE7QUFDRjs7QUFFQTtFQUNFLG9CQUFBO0FBQ0Y7O0FBRUE7RUFDRSxnQkFBQTtFQUNBLG1CQUFBO0FBQ0Y7O0FBRUE7RUFDRSxlQUFBO0VBQ0EsUUFBQTtFQUNBLGlCQUFBO0FBQ0Y7O0FBRUE7RUFDRSxhQUFBO0VBQ0EsOEJBQUE7QUFDRjs7QUFFQTtFQUNFLG9CQUFBO0VBQ0EsdUJBQUE7RUFBQSxrQkFBQTtBQUNGOztBQUVBO0VBQ0UsaUJBQUE7RUFDQSxXQUFBO0FBQ0Y7O0FBRUE7RUFDRSxrQkFBQTtBQUNGIiwic291cmNlc0NvbnRlbnQiOlsiLmF1dG9zYXZlRW5hYmxlZCxcbi5hdXRvc2F2ZUludGVydmFsIHtcbiAgZGlzcGxheTogaW5saW5lLWdyaWQ7XG4gIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMTIwcHggYXV0bztcbiAgd2lkdGg6IDMwMHB4O1xuICBncmlkLXJvdy1nYXA6IDVweDtcbiAgaGVpZ2h0OiAyMHB4O1xufVxuXG4uZW5hYmxlQnV0dG9uIHtcbiAganVzdGlmeS1zZWxmOiBzdGFydDtcbn1cblxuLmF1dG9zYXZlRW5hYmxlZCB7XG4gIHBhZGRpbmctYm90dG9tOiAycHg7XG59XG5cbi5hdXRvc2F2ZUludGVydmFsIHtcbiAgcGFkZGluZy1ib3R0b206IDEwcHg7XG59XG5cbi5hdXRvc2F2ZUludGVydmFsU3BhbiB7XG4gIHBhZGRpbmctdG9wOiAycHg7XG4gIGp1c3RpZnktc2VsZjogc3RhcnQ7XG59XG5cbi5zYXZlQnV0dG9uIHtcbiAgYWxpZ24tc2VsZjogZW5kO1xuICByaWdodDogMDtcbiAgbWFyZ2luLWxlZnQ6IC01cHg7XG59XG5cbi5jYXJkQ29udGVudCB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2Vlbjtcbn1cblxuLmlucHV0Q29udGFpbmVyIHtcbiAgZGlzcGxheTogaW5saW5lLWdyaWQ7XG4gIHdpZHRoOiBmaXQtY29udGVudDtcbn1cblxuLm51bWJlcklucHV0IHtcbiAganVzdGlmeS1zZWxmOiBlbmQ7XG4gIHdpZHRoOiA2NHB4O1xufVxuXG4uYWxpZ25TZWxmQ2VudGVyIHtcbiAgYWxpZ24tc2VsZjogY2VudGVyO1xufVxuIl0sInNvdXJjZVJvb3QiOiIifQ== */"] + }); +} + +/***/ }), + +/***/ 3264: +/*!***************************************************************************************!*\ + !*** ./src/app/Presentation/Autosave/AutosaveSettings/autosave-settings.component.ts ***! + \***************************************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ AutosaveSettingsComponent: () => (/* binding */ AutosaveSettingsComponent) +/* harmony export */ }); +/* harmony import */ var _angular_core__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @angular/core */ 51197); +/* harmony import */ var _AutosaveOptions_autosave_options_component__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../AutosaveOptions/autosave-options.component */ 15621); +/* harmony import */ var _AutosavedDrafts_autosaved_drafts_component__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../AutosavedDrafts/autosaved-drafts.component */ 11971); + + + +class AutosaveSettingsComponent { + static #_ = this.ɵfac = function AutosaveSettingsComponent_Factory(t) { + return new (t || AutosaveSettingsComponent)(); + }; + static #_2 = this.ɵcmp = /*@__PURE__*/_angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵdefineComponent"]({ + type: AutosaveSettingsComponent, + selectors: [["app-autosave-settings"]], + decls: 2, + vars: 0, + template: function AutosaveSettingsComponent_Template(rf, ctx) { + if (rf & 1) { + _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵelement"](0, "app-autosave-options")(1, "app-autosaved-drafts"); + } + }, + dependencies: [_AutosaveOptions_autosave_options_component__WEBPACK_IMPORTED_MODULE_0__.AutosaveOptionsComponent, _AutosavedDrafts_autosaved_drafts_component__WEBPACK_IMPORTED_MODULE_1__.AutosavedDraftsComponent], + styles: ["/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZVJvb3QiOiIifQ== */"] + }); +} + +/***/ }), + +/***/ 11971: +/*!*************************************************************************************!*\ + !*** ./src/app/Presentation/Autosave/AutosavedDrafts/autosaved-drafts.component.ts ***! + \*************************************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ AutosavedDraftsComponent: () => (/* binding */ AutosavedDraftsComponent) +/* harmony export */ }); +/* harmony import */ var src_app_Domain_Common_constants__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! src/app/Domain/Common/constants */ 45219); +/* harmony import */ var _angular_core__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @angular/core */ 51197); +/* harmony import */ var _Service_Autosave_autosave_service__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../../Service/Autosave/autosave.service */ 64479); +/* harmony import */ var _angular_material_snack_bar__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @angular/material/snack-bar */ 93768); +/* harmony import */ var _angular_common__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @angular/common */ 89650); +/* harmony import */ var _angular_material_button__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! @angular/material/button */ 96495); +/* harmony import */ var _angular_material_expansion__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! @angular/material/expansion */ 53410); + + + + + + + +function AutosavedDraftsComponent_div_7_div_1_Template(rf, ctx) { + if (rf & 1) { + const _r6 = _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵgetCurrentView"](); + _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵelementStart"](0, "div", 6)(1, "div")(2, "div", 7); + _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵtext"](3); + _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵelementEnd"](); + _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵelementStart"](4, "div", 8); + _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵtext"](5); + _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵelementEnd"]()(); + _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵelementStart"](6, "button", 5); + _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵlistener"]("click", function AutosavedDraftsComponent_div_7_div_1_Template_button_click_6_listener() { + const restoredCtx = _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵrestoreView"](_r6); + const draft_r4 = restoredCtx.$implicit; + const ctx_r5 = _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵnextContext"](2); + return _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵresetView"](ctx_r5.loadDraft(draft_r4)); + }); + _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵtext"](7, " Load Draft "); + _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵelementEnd"]()(); + } + if (rf & 2) { + const draft_r4 = ctx.$implicit; + _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵadvance"](3); + _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵtextInterpolate"](draft_r4.title); + _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵadvance"](2); + _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵtextInterpolate"](draft_r4.date); + } +} +function AutosavedDraftsComponent_div_7_Template(rf, ctx) { + if (rf & 1) { + const _r8 = _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵgetCurrentView"](); + _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵelementStart"](0, "div", 2); + _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵtemplate"](1, AutosavedDraftsComponent_div_7_div_1_Template, 8, 2, "div", 3); + _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵelementStart"](2, "div", 4); + _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵelement"](3, "div"); + _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵelementStart"](4, "button", 5); + _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵlistener"]("click", function AutosavedDraftsComponent_div_7_Template_button_click_4_listener() { + _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵrestoreView"](_r8); + const ctx_r7 = _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵnextContext"](); + return _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵresetView"](ctx_r7.removeAllDrafts()); + }); + _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵtext"](5, " Remove All Drafts "); + _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵelementEnd"]()()(); + } + if (rf & 2) { + const ctx_r0 = _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵnextContext"](); + _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵadvance"](1); + _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵproperty"]("ngForOf", ctx_r0.drafts); + } +} +function AutosavedDraftsComponent_ng_template_8_Template(rf, ctx) { + if (rf & 1) { + _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵtext"](0, "No drafts found."); + } +} +class AutosavedDraftsComponent { + constructor(autosaveService, snackbar) { + this.autosaveService = autosaveService; + this.snackbar = snackbar; + this.drafts = []; + this.subscription = this.autosaveService.autosavedDraftsChanged$.subscribe(() => this.initDrafts()); + } + ngOnInit() { + this.initDrafts(); + } + initDrafts() { + this.drafts = this.autosaveService.loadCurrentDrafts(); + } + loadDraft(draft) { + this.autosaveService.loadDraft(draft); + this.snackbar.open('Draft loaded', undefined, { + duration: src_app_Domain_Common_constants__WEBPACK_IMPORTED_MODULE_0__.SNACKBAR_DURATION, + panelClass: src_app_Domain_Common_constants__WEBPACK_IMPORTED_MODULE_0__.SNACKBAR_SUCCESS + }); + } + removeAllDrafts() { + this.autosaveService.removeAllDrafts(); + } + static #_ = this.ɵfac = function AutosavedDraftsComponent_Factory(t) { + return new (t || AutosavedDraftsComponent)(_angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵdirectiveInject"](_Service_Autosave_autosave_service__WEBPACK_IMPORTED_MODULE_1__.AutosaveService), _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵdirectiveInject"](_angular_material_snack_bar__WEBPACK_IMPORTED_MODULE_3__.MatSnackBar)); + }; + static #_2 = this.ɵcmp = /*@__PURE__*/_angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵdefineComponent"]({ + type: AutosavedDraftsComponent, + selectors: [["app-autosaved-drafts"]], + decls: 10, + vars: 4, + consts: [["class", "items", 4, "ngIf", "ngIfElse"], ["noDrafts", ""], [1, "items"], ["class", "item border-bottom", 4, "ngFor", "ngForOf"], [1, "item"], ["mat-raised-button", "", "color", "primary", 1, "item-button", 3, "click"], [1, "item", "border-bottom"], [1, "item-title"], [1, "item-date"]], + template: function AutosavedDraftsComponent_Template(rf, ctx) { + if (rf & 1) { + _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵelementStart"](0, "mat-accordion")(1, "mat-expansion-panel")(2, "mat-expansion-panel-header")(3, "mat-panel-title"); + _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵtext"](4, " Autosaves "); + _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵelementEnd"](); + _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵelementStart"](5, "mat-panel-description"); + _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵtext"](6); + _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵelementEnd"]()(); + _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵtemplate"](7, AutosavedDraftsComponent_div_7_Template, 6, 1, "div", 0); + _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵelementEnd"]()(); + _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵtemplate"](8, AutosavedDraftsComponent_ng_template_8_Template, 1, 0, "ng-template", null, 1, _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵtemplateRefExtractor"]); + } + if (rf & 2) { + const _r1 = _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵreference"](9); + _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵadvance"](6); + _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵtextInterpolate2"](" ", ctx.drafts.length ? ctx.drafts.length : "no", " ", ctx.drafts.length > 1 ? "drafts" : "draft", " available "); + _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵadvance"](1); + _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵproperty"]("ngIf", ctx.drafts.length)("ngIfElse", _r1); + } + }, + dependencies: [_angular_common__WEBPACK_IMPORTED_MODULE_4__.NgForOf, _angular_common__WEBPACK_IMPORTED_MODULE_4__.NgIf, _angular_material_button__WEBPACK_IMPORTED_MODULE_5__.MatButton, _angular_material_expansion__WEBPACK_IMPORTED_MODULE_6__.MatAccordion, _angular_material_expansion__WEBPACK_IMPORTED_MODULE_6__.MatExpansionPanel, _angular_material_expansion__WEBPACK_IMPORTED_MODULE_6__.MatExpansionPanelHeader, _angular_material_expansion__WEBPACK_IMPORTED_MODULE_6__.MatExpansionPanelTitle, _angular_material_expansion__WEBPACK_IMPORTED_MODULE_6__.MatExpansionPanelDescription], + styles: [".items[_ngcontent-%COMP%] {\n padding-top: 0 !important;\n}\n.items[_ngcontent-%COMP%] .mat-list-item-content {\n padding: 0;\n}\n\n.item[_ngcontent-%COMP%] {\n display: flex;\n flex-direction: row;\n justify-content: space-between;\n padding: 8px 0;\n width: 400px;\n}\n\n.border-bottom[_ngcontent-%COMP%] {\n border-bottom: 1px solid darkgray;\n}\n\n.item-title[_ngcontent-%COMP%] {\n font-weight: bold;\n width: 270px;\n text-overflow: ellipsis;\n overflow: hidden;\n white-space: nowrap;\n}\n\n.item-date[_ngcontent-%COMP%] {\n font-weight: normal;\n}\n\n.item-button[_ngcontent-%COMP%] {\n margin-left: 1rem;\n}\n\nmat-list-item[_ngcontent-%COMP%] {\n border-bottom: 1px solid darkgray;\n}\n/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8uL3NyYy9hcHAvUHJlc2VudGF0aW9uL0F1dG9zYXZlL0F1dG9zYXZlZERyYWZ0cy9hdXRvc2F2ZWQtZHJhZnRzLmNvbXBvbmVudC5zY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0VBSUUseUJBQUE7QUFGRjtBQURFO0VBQ0UsVUFBQTtBQUdKOztBQUVBO0VBQ0UsYUFBQTtFQUNBLG1CQUFBO0VBQ0EsOEJBQUE7RUFDQSxjQUFBO0VBQ0EsWUFBQTtBQUNGOztBQUVBO0VBQ0UsaUNBQUE7QUFDRjs7QUFFQTtFQUNFLGlCQUFBO0VBQ0EsWUFBQTtFQUNBLHVCQUFBO0VBQ0EsZ0JBQUE7RUFDQSxtQkFBQTtBQUNGOztBQUVBO0VBQ0UsbUJBQUE7QUFDRjs7QUFFQTtFQUNFLGlCQUFBO0FBQ0Y7O0FBRUE7RUFDRSxpQ0FBQTtBQUNGIiwic291cmNlc0NvbnRlbnQiOlsiLml0ZW1zIHtcbiAgOjpuZy1kZWVwLm1hdC1saXN0LWl0ZW0tY29udGVudCB7XG4gICAgcGFkZGluZzogMDtcbiAgfVxuICBwYWRkaW5nLXRvcDogMCAhaW1wb3J0YW50O1xufVxuXG4uaXRlbSB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgcGFkZGluZzogOHB4IDA7XG4gIHdpZHRoOiA0MDBweDtcbn1cblxuLmJvcmRlci1ib3R0b20ge1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgZGFya2dyYXk7XG59XG5cbi5pdGVtLXRpdGxlIHtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIHdpZHRoOiAyNzBweDtcbiAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG59XG5cbi5pdGVtLWRhdGUge1xuICBmb250LXdlaWdodDogbm9ybWFsO1xufVxuXG4uaXRlbS1idXR0b24ge1xuICBtYXJnaW4tbGVmdDogMXJlbTtcbn1cblxubWF0LWxpc3QtaXRlbSB7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCBkYXJrZ3JheTtcbn1cbiJdLCJzb3VyY2VSb290IjoiIn0= */"] + }); +} + +/***/ }), + +/***/ 46628: +/*!**********************************************************!*\ + !*** ./src/app/Presentation/Canvas/modeler.component.ts ***! + \**********************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ ModelerComponent: () => (/* binding */ ModelerComponent) +/* harmony export */ }); +/* harmony import */ var _angular_core__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @angular/core */ 51197); +/* harmony import */ var _Service_Modeler_modeler_service__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../Service/Modeler/modeler.service */ 43075); +/* harmony import */ var _Service_Autosave_autosave_service__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../Service/Autosave/autosave.service */ 64479); + + + +class ModelerComponent { + constructor(modelerService, autosaveService) { + this.modelerService = modelerService; + this.autosaveService = autosaveService; + } + ngOnInit() { + this.modelerService.postInit(); + this.autosaveService.loadLatestDraft(); + } + static #_ = this.ɵfac = function ModelerComponent_Factory(t) { + return new (t || ModelerComponent)(_angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵdirectiveInject"](_Service_Modeler_modeler_service__WEBPACK_IMPORTED_MODULE_0__.ModelerService), _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵdirectiveInject"](_Service_Autosave_autosave_service__WEBPACK_IMPORTED_MODULE_1__.AutosaveService)); + }; + static #_2 = this.ɵcmp = /*@__PURE__*/_angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵdefineComponent"]({ + type: ModelerComponent, + selectors: [["app-modeler"]], + decls: 1, + vars: 0, + consts: [["id", "canvas"]], + template: function ModelerComponent_Template(rf, ctx) { + if (rf & 1) { + _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵelement"](0, "div", 0); + } + }, + styles: ["#canvas[_ngcontent-%COMP%], #canvas[_ngcontent-%COMP%] > div[_ngcontent-%COMP%] {\n top: 0;\n width: 100%;\n height: 100%;\n position: relative;\n bottom: 0;\n overflow: hidden;\n}\n/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8uL3NyYy9hcHAvUHJlc2VudGF0aW9uL0NhbnZhcy9tb2RlbGVyLmNvbXBvbmVudC5zY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztFQUVFLE1BQUE7RUFDQSxXQUFBO0VBQ0EsWUFBQTtFQUNBLGtCQUFBO0VBQ0EsU0FBQTtFQUNBLGdCQUFBO0FBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyIjY2FudmFzLFxuI2NhbnZhcyA+IGRpdiB7XG4gIHRvcDogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBib3R0b206IDA7XG4gIG92ZXJmbG93OiBoaWRkZW47XG59XG4iXSwic291cmNlUm9vdCI6IiJ9 */"] + }); +} + +/***/ }), + +/***/ 39270: +/*!**********************************************************************************!*\ + !*** ./src/app/Presentation/Dialog/activity-dialog/activity-dialog.component.ts ***! + \**********************************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ ActivityDialogComponent: () => (/* binding */ ActivityDialogComponent) +/* harmony export */ }); +/* harmony import */ var _angular_material_dialog__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @angular/material/dialog */ 23373); +/* harmony import */ var _angular_core__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @angular/core */ 51197); +/* harmony import */ var _angular_forms__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @angular/forms */ 70997); +/* harmony import */ var _angular_material_button__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @angular/material/button */ 96495); +/* harmony import */ var _angular_material_form_field__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! @angular/material/form-field */ 51589); +/* harmony import */ var _angular_material_input__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! @angular/material/input */ 1319); +/* harmony import */ var src_app_Domain_Dialog_activityDialogData__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! src/app/Domain/Dialog/activityDialogData */ 55311); + + + + + + + + +class ActivityDialogComponent { + constructor(fb, dialogRef, data) { + this.fb = fb; + this.dialogRef = dialogRef; + this.activity = data.activity; + this.activityLabel = data.activity.businessObject.name; + this.numberIsAllowedMultipleTimes = data.numberIsAllowedMultipleTimes; + this.activityNumber = data.activity.businessObject.number; + this.showNumberFields = data.showNumberFields; + this.saveFN = data.saveFN; + this.form = this.fb.group({ + activityLabel: [this.activityLabel, []], + activityNumber: [this.activityNumber, []], + multipleNumbers: [this.numberIsAllowedMultipleTimes, []] + }); + } + onSubmit() { + this.numberIsAllowedMultipleTimes = !this.numberIsAllowedMultipleTimes; + this.form.patchValue({ + multipleNumbers: this.numberIsAllowedMultipleTimes + }); + } + save() { + this.saveFN({ + activity: this.activity, + ...this.form.value + }); + this.dialogRef.close(); + } + close() { + this.dialogRef.close(); + } + preventDefault(event) { + event.preventDefault(); + } + static #_ = this.ɵfac = function ActivityDialogComponent_Factory(t) { + return new (t || ActivityDialogComponent)(_angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵdirectiveInject"](_angular_forms__WEBPACK_IMPORTED_MODULE_2__.UntypedFormBuilder), _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵdirectiveInject"](_angular_material_dialog__WEBPACK_IMPORTED_MODULE_3__.MatDialogRef), _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵdirectiveInject"](_angular_material_dialog__WEBPACK_IMPORTED_MODULE_3__.MAT_DIALOG_DATA)); + }; + static #_2 = this.ɵcmp = /*@__PURE__*/_angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵdefineComponent"]({ + type: ActivityDialogComponent, + selectors: [["app-activity-dialog"]], + decls: 20, + vars: 2, + consts: [[3, "formGroup"], [3, "hidden"], [1, "shortWidth"], ["matInput", "", "type", "number", "formControlName", "activityNumber"], ["type", "checkbox", "formControlName", "multipleNumbers", 3, "change"], [1, "fullWidth"], ["matInput", "", "type", "text", "formControlName", "activityLabel", "autofocus", "", "cdkFocusInitial", "", 3, "keydown.enter", "keyup.enter", "keyup.escape"], ["mat-flat-button", "", 3, "click"], ["mat-flat-button", "", "color", "primary", 3, "click"]], + template: function ActivityDialogComponent_Template(rf, ctx) { + if (rf & 1) { + _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵelementStart"](0, "mat-dialog-content")(1, "h2"); + _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵtext"](2, "Edit Activity"); + _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵelementEnd"](); + _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵelementStart"](3, "form", 0)(4, "div", 1)(5, "mat-form-field", 2)(6, "mat-label"); + _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵtext"](7, "Number"); + _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵelementEnd"](); + _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵelement"](8, "input", 3); + _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵelementEnd"](); + _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵelementStart"](9, "input", 4); + _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵlistener"]("change", function ActivityDialogComponent_Template_input_change_9_listener() { + return ctx.onSubmit(); + }); + _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵelementEnd"](); + _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵtext"](10, " multiple "); + _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵelementEnd"](); + _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵelementStart"](11, "mat-form-field", 5)(12, "mat-label"); + _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵtext"](13, "Label"); + _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵelementEnd"](); + _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵelementStart"](14, "textarea", 6); + _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵlistener"]("keydown.enter", function ActivityDialogComponent_Template_textarea_keydown_enter_14_listener($event) { + return ctx.preventDefault($event); + })("keyup.enter", function ActivityDialogComponent_Template_textarea_keyup_enter_14_listener() { + return ctx.save(); + })("keyup.escape", function ActivityDialogComponent_Template_textarea_keyup_escape_14_listener() { + return ctx.close(); + }); + _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵelementEnd"]()()()(); + _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵelementStart"](15, "mat-dialog-actions")(16, "button", 7); + _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵlistener"]("click", function ActivityDialogComponent_Template_button_click_16_listener() { + return ctx.close(); + }); + _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵtext"](17, "Cancel"); + _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵelementEnd"](); + _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵelementStart"](18, "button", 8); + _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵlistener"]("click", function ActivityDialogComponent_Template_button_click_18_listener() { + return ctx.save(); + }); + _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵtext"](19, "Save"); + _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵelementEnd"]()(); + } + if (rf & 2) { + _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵadvance"](3); + _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵproperty"]("formGroup", ctx.form); + _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵadvance"](1); + _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵproperty"]("hidden", !ctx.showNumberFields); + } + }, + dependencies: [_angular_forms__WEBPACK_IMPORTED_MODULE_2__["ɵNgNoValidate"], _angular_forms__WEBPACK_IMPORTED_MODULE_2__.DefaultValueAccessor, _angular_forms__WEBPACK_IMPORTED_MODULE_2__.NumberValueAccessor, _angular_forms__WEBPACK_IMPORTED_MODULE_2__.CheckboxControlValueAccessor, _angular_forms__WEBPACK_IMPORTED_MODULE_2__.NgControlStatus, _angular_forms__WEBPACK_IMPORTED_MODULE_2__.NgControlStatusGroup, _angular_forms__WEBPACK_IMPORTED_MODULE_2__.FormGroupDirective, _angular_forms__WEBPACK_IMPORTED_MODULE_2__.FormControlName, _angular_material_button__WEBPACK_IMPORTED_MODULE_4__.MatButton, _angular_material_dialog__WEBPACK_IMPORTED_MODULE_3__.MatDialogContent, _angular_material_dialog__WEBPACK_IMPORTED_MODULE_3__.MatDialogActions, _angular_material_form_field__WEBPACK_IMPORTED_MODULE_5__.MatFormField, _angular_material_form_field__WEBPACK_IMPORTED_MODULE_5__.MatLabel, _angular_material_input__WEBPACK_IMPORTED_MODULE_6__.MatInput], + styles: [".shortWidth[_ngcontent-%COMP%] {\n width: 200px;\n}\n\n.fullWidth[_ngcontent-%COMP%] {\n width: 100%;\n}\n\n .mat-form-field-label {\n font-size: 12pt !important;\n}\n/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8uL3NyYy9hcHAvUHJlc2VudGF0aW9uL0RpYWxvZy9hY3Rpdml0eS1kaWFsb2cvYWN0aXZpdHktZGlhbG9nLmNvbXBvbmVudC5zY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0VBQ0UsWUFBQTtBQUNGOztBQUVBO0VBQ0UsV0FBQTtBQUNGOztBQUNBO0VBQ0UsMEJBQUE7QUFFRiIsInNvdXJjZXNDb250ZW50IjpbIi5zaG9ydFdpZHRoIHtcbiAgd2lkdGg6IDIwMHB4O1xufVxuXG4uZnVsbFdpZHRoIHtcbiAgd2lkdGg6IDEwMCU7XG59XG46Om5nLWRlZXAubWF0LWZvcm0tZmllbGQtbGFiZWwge1xuICBmb250LXNpemU6IDEycHQgIWltcG9ydGFudDtcbn1cbiJdLCJzb3VyY2VSb290IjoiIn0= */"] + }); +} + +/***/ }), + +/***/ 62854: +/*!******************************************************************************!*\ + !*** ./src/app/Presentation/Dialog/export-dialog/export-dialog.component.ts ***! + \******************************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ ExportDialogComponent: () => (/* binding */ ExportDialogComponent) +/* harmony export */ }); +/* harmony import */ var _angular_material_dialog__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @angular/material/dialog */ 23373); +/* harmony import */ var rxjs_internal_BehaviorSubject__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! rxjs/internal/BehaviorSubject */ 47530); +/* harmony import */ var _angular_core__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @angular/core */ 51197); +/* harmony import */ var _angular_common__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @angular/common */ 89650); +/* harmony import */ var _angular_material_button__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! @angular/material/button */ 96495); +/* harmony import */ var src_app_Domain_Dialog_exportDialogData__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! src/app/Domain/Dialog/exportDialogData */ 87324); + + + + + + + +function ExportDialogComponent_button_17_Template(rf, ctx) { + if (rf & 1) { + const _r4 = _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵgetCurrentView"](); + _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵelementStart"](0, "button", 3); + _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵlistener"]("click", function ExportDialogComponent_button_17_Template_button_click_0_listener() { + const restoredCtx = _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵrestoreView"](_r4); + const i_r2 = restoredCtx.index; + const ctx_r3 = _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵnextContext"](); + return _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵresetView"](ctx_r3.doOption(i_r2)); + }); + _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵtext"](1); + _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵelementEnd"](); + } + if (rf & 2) { + const option_r1 = ctx.$implicit; + _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵproperty"]("title", option_r1.tooltip); + _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵadvance"](1); + _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵtextInterpolate1"](" ", option_r1.text, " "); + } +} +class ExportDialogComponent { + constructor(dialogRef, data) { + this.dialogRef = dialogRef; + this.withTitle = new rxjs_internal_BehaviorSubject__WEBPACK_IMPORTED_MODULE_2__.BehaviorSubject(true); + this.useWhiteBackground = new rxjs_internal_BehaviorSubject__WEBPACK_IMPORTED_MODULE_2__.BehaviorSubject(true); + this.title = data.title; + this.options = data.options; + } + ngOnInit() {} + doOption(i) { + this.options[i].fn(this.withTitle.value, this.useWhiteBackground.value); + this.close(); + } + close() { + this.dialogRef.close(); + } + updateWithTitle($event) { + // @ts-ignore + this.withTitle.next($event.target.checked); + } + updateUseWhiteBackground($event) { + // @ts-ignore + this.useWhiteBackground.next($event.target.checked); + } + static #_ = this.ɵfac = function ExportDialogComponent_Factory(t) { + return new (t || ExportDialogComponent)(_angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵdirectiveInject"](_angular_material_dialog__WEBPACK_IMPORTED_MODULE_3__.MatDialogRef), _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵdirectiveInject"](_angular_material_dialog__WEBPACK_IMPORTED_MODULE_3__.MAT_DIALOG_DATA)); + }; + static #_2 = this.ɵcmp = /*@__PURE__*/_angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵdefineComponent"]({ + type: ExportDialogComponent, + selectors: [["app-export-dialog"]], + decls: 18, + vars: 8, + consts: [["type", "checkbox", 3, "checked", "change"], ["mat-flat-button", "", 3, "click"], ["mat-stroked-button", "", "class", "mr-1", 3, "title", "click", 4, "ngFor", "ngForOf"], ["mat-stroked-button", "", 1, "mr-1", 3, "title", "click"]], + template: function ExportDialogComponent_Template(rf, ctx) { + if (rf & 1) { + _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵelementStart"](0, "mat-dialog-content")(1, "h2"); + _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵtext"](2); + _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵelementEnd"](); + _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵelementStart"](3, "label")(4, "input", 0); + _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵlistener"]("change", function ExportDialogComponent_Template_input_change_4_listener($event) { + return ctx.updateWithTitle($event); + }); + _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵpipe"](5, "async"); + _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵelementEnd"](); + _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵtext"](6, " Add title and description to image "); + _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵelementEnd"](); + _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵelement"](7, "br"); + _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵelementStart"](8, "label")(9, "input", 0); + _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵlistener"]("change", function ExportDialogComponent_Template_input_change_9_listener($event) { + return ctx.updateUseWhiteBackground($event); + }); + _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵpipe"](10, "async"); + _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵelementEnd"](); + _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵtext"](11, " Add white background to SVG (default: transparent) "); + _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵelementEnd"]()(); + _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵelementStart"](12, "mat-dialog-actions"); + _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵelement"](13, "br"); + _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵelementStart"](14, "div")(15, "button", 1); + _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵlistener"]("click", function ExportDialogComponent_Template_button_click_15_listener() { + return ctx.close(); + }); + _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵtext"](16, "Cancel"); + _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵelementEnd"](); + _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵtemplate"](17, ExportDialogComponent_button_17_Template, 2, 2, "button", 2); + _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵelementEnd"]()(); + } + if (rf & 2) { + _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵadvance"](2); + _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵtextInterpolate"](ctx.title); + _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵadvance"](2); + _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵproperty"]("checked", _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵpipeBind1"](5, 4, ctx.withTitle)); + _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵadvance"](5); + _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵproperty"]("checked", _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵpipeBind1"](10, 6, ctx.useWhiteBackground)); + _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵadvance"](8); + _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵproperty"]("ngForOf", ctx.options); + } + }, + dependencies: [_angular_common__WEBPACK_IMPORTED_MODULE_4__.NgForOf, _angular_material_button__WEBPACK_IMPORTED_MODULE_5__.MatButton, _angular_material_dialog__WEBPACK_IMPORTED_MODULE_3__.MatDialogContent, _angular_material_dialog__WEBPACK_IMPORTED_MODULE_3__.MatDialogActions, _angular_common__WEBPACK_IMPORTED_MODULE_4__.AsyncPipe], + styles: ["/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZVJvb3QiOiIifQ== */"] + }); +} + +/***/ }), + +/***/ 849: +/*!******************************************************************************!*\ + !*** ./src/app/Presentation/Dialog/header-dialog/header-dialog.component.ts ***! + \******************************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ HeaderDialogComponent: () => (/* binding */ HeaderDialogComponent) +/* harmony export */ }); +/* harmony import */ var _angular_core__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @angular/core */ 51197); +/* harmony import */ var _angular_forms__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @angular/forms */ 70997); +/* harmony import */ var _angular_material_dialog__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @angular/material/dialog */ 23373); +/* harmony import */ var src_app_Service_Title_title_service__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! src/app/Service/Title/title.service */ 32610); +/* harmony import */ var _angular_material_button__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @angular/material/button */ 96495); +/* harmony import */ var _angular_material_form_field__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! @angular/material/form-field */ 51589); +/* harmony import */ var _angular_material_input__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! @angular/material/input */ 1319); + + + + + + + +class HeaderDialogComponent { + constructor(fb, dialogRef, titleService) { + this.fb = fb; + this.dialogRef = dialogRef; + this.titleService = titleService; + this.title = this.titleService.getTitle() === '< name of this Domain Story >' ? '' : this.titleService.getTitle(); + this.description = this.titleService.getDescription(); + this.form = this.fb.group({ + title: [this.title, []], + description: [this.description, []] + }); + } + ngOnInit() {} + save() { + this.titleService.updateTitleAndDescription(this.form.get('title')?.value, this.form.get('description')?.value, true); + this.dialogRef.close(); + } + close() { + this.dialogRef.close(); + } + preventDefault(event) { + event.preventDefault(); + } + static #_ = this.ɵfac = function HeaderDialogComponent_Factory(t) { + return new (t || HeaderDialogComponent)(_angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵdirectiveInject"](_angular_forms__WEBPACK_IMPORTED_MODULE_2__.UntypedFormBuilder), _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵdirectiveInject"](_angular_material_dialog__WEBPACK_IMPORTED_MODULE_3__.MatDialogRef), _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵdirectiveInject"](src_app_Service_Title_title_service__WEBPACK_IMPORTED_MODULE_0__.TitleService)); + }; + static #_2 = this.ɵcmp = /*@__PURE__*/_angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵdefineComponent"]({ + type: HeaderDialogComponent, + selectors: [["app-header-dialog"]], + decls: 16, + vars: 1, + consts: [[3, "formGroup"], [1, "dialogWidth"], ["matInput", "", "type", "text", "formControlName", "title"], ["maxlength", "2000", "matInput", "", "formControlName", "description", 1, "descriptionInput", 3, "keydown.enter", "keyup.enter", "keyup.escape"], ["mat-flat-button", "", 3, "click"], ["mat-flat-button", "", "color", "primary", 3, "click"]], + template: function HeaderDialogComponent_Template(rf, ctx) { + if (rf & 1) { + _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵelementStart"](0, "mat-dialog-content")(1, "form", 0)(2, "mat-form-field", 1)(3, "mat-label"); + _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵtext"](4, "Title"); + _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵelementEnd"](); + _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵelement"](5, "input", 2); + _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵelementEnd"](); + _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵelement"](6, "br"); + _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵelementStart"](7, "mat-form-field", 1)(8, "mat-label"); + _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵtext"](9, "Description"); + _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵelementEnd"](); + _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵelementStart"](10, "textarea", 3); + _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵlistener"]("keydown.enter", function HeaderDialogComponent_Template_textarea_keydown_enter_10_listener($event) { + return ctx.preventDefault($event); + })("keyup.enter", function HeaderDialogComponent_Template_textarea_keyup_enter_10_listener() { + return ctx.save(); + })("keyup.escape", function HeaderDialogComponent_Template_textarea_keyup_escape_10_listener() { + return ctx.close(); + }); + _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵelementEnd"]()()()(); + _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵelementStart"](11, "mat-dialog-actions")(12, "button", 4); + _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵlistener"]("click", function HeaderDialogComponent_Template_button_click_12_listener() { + return ctx.close(); + }); + _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵtext"](13, "Cancel"); + _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵelementEnd"](); + _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵelementStart"](14, "button", 5); + _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵlistener"]("click", function HeaderDialogComponent_Template_button_click_14_listener() { + return ctx.save(); + }); + _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵtext"](15, "Save"); + _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵelementEnd"]()(); + } + if (rf & 2) { + _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵadvance"](1); + _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵproperty"]("formGroup", ctx.form); + } + }, + dependencies: [_angular_forms__WEBPACK_IMPORTED_MODULE_2__["ɵNgNoValidate"], _angular_forms__WEBPACK_IMPORTED_MODULE_2__.DefaultValueAccessor, _angular_forms__WEBPACK_IMPORTED_MODULE_2__.NgControlStatus, _angular_forms__WEBPACK_IMPORTED_MODULE_2__.NgControlStatusGroup, _angular_forms__WEBPACK_IMPORTED_MODULE_2__.MaxLengthValidator, _angular_forms__WEBPACK_IMPORTED_MODULE_2__.FormGroupDirective, _angular_forms__WEBPACK_IMPORTED_MODULE_2__.FormControlName, _angular_material_button__WEBPACK_IMPORTED_MODULE_4__.MatButton, _angular_material_dialog__WEBPACK_IMPORTED_MODULE_3__.MatDialogContent, _angular_material_dialog__WEBPACK_IMPORTED_MODULE_3__.MatDialogActions, _angular_material_form_field__WEBPACK_IMPORTED_MODULE_5__.MatFormField, _angular_material_form_field__WEBPACK_IMPORTED_MODULE_5__.MatLabel, _angular_material_input__WEBPACK_IMPORTED_MODULE_6__.MatInput], + styles: [".dialogWidth[_ngcontent-%COMP%] {\n width: 50vw;\n}\n.dialogWidth[_ngcontent-%COMP%] mat-label[_ngcontent-%COMP%] {\n font-size: 12pt;\n}\n\n.descriptionInput[_ngcontent-%COMP%] {\n min-height: 75px;\n}\n/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8uL3NyYy9hcHAvUHJlc2VudGF0aW9uL0RpYWxvZy9oZWFkZXItZGlhbG9nL2hlYWRlci1kaWFsb2cuY29tcG9uZW50LnNjc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7RUFDRSxXQUFBO0FBQ0Y7QUFBRTtFQUNFLGVBQUE7QUFFSjs7QUFFQTtFQUNFLGdCQUFBO0FBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyIuZGlhbG9nV2lkdGgge1xuICB3aWR0aDogNTB2dztcbiAgbWF0LWxhYmVsIHtcbiAgICBmb250LXNpemU6IDEycHQ7XG4gIH1cbn1cblxuLmRlc2NyaXB0aW9uSW5wdXQge1xuICBtaW4taGVpZ2h0OiA3NXB4O1xufVxuIl0sInNvdXJjZVJvb3QiOiIifQ== */"] + }); +} + +/***/ }), + +/***/ 81183: +/*!**************************************************************************!*\ + !*** ./src/app/Presentation/Dialog/info-dialog/info-dialog.component.ts ***! + \**************************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ InfoDialogComponent: () => (/* binding */ InfoDialogComponent) +/* harmony export */ }); +/* harmony import */ var _angular_material_dialog__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @angular/material/dialog */ 23373); +/* harmony import */ var _angular_core__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @angular/core */ 51197); +/* harmony import */ var _angular_common__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @angular/common */ 89650); +/* harmony import */ var src_app_Domain_Dialog_infoDialogData__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! src/app/Domain/Dialog/infoDialogData */ 70541); + + + + + +function InfoDialogComponent_span_3_Template(rf, ctx) { + if (rf & 1) { + _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵelementStart"](0, "span", 5); + _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵtext"](1); + _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵelementEnd"](); + } + if (rf & 2) { + const ctx_r0 = _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵnextContext"](); + _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵadvance"](1); + _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵtextInterpolate1"]("", ctx_r0.infoText, " "); + } +} +function InfoDialogComponent_a_4_Template(rf, ctx) { + if (rf & 1) { + _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵelementStart"](0, "a", 6); + _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵtext"](1); + _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵelementEnd"](); + } + if (rf & 2) { + const ctx_r1 = _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵnextContext"](); + _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵpropertyInterpolate"]("href", ctx_r1.linkText, _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵsanitizeUrl"]); + _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵadvance"](1); + _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵtextInterpolate"](ctx_r1.linkText); + } +} +function InfoDialogComponent_mat_dialog_actions_5_Template(rf, ctx) { + if (rf & 1) { + const _r4 = _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵgetCurrentView"](); + _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵelementStart"](0, "mat-dialog-actions")(1, "button", 7); + _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵlistener"]("click", function InfoDialogComponent_mat_dialog_actions_5_Template_button_click_1_listener() { + _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵrestoreView"](_r4); + const ctx_r3 = _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵnextContext"](); + return _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵresetView"](ctx_r3.close()); + }); + _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵtext"](2, "Close"); + _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵelementEnd"]()(); + } +} +class InfoDialogComponent { + constructor(dialogRef, data) { + this.dialogRef = dialogRef; + this.title = data.title; + this.infoText = data.infoText; + this.showConfirmButton = !data.isInfo; + this.hasLink = data.isLink; + this.linkText = data.linkText || ''; + } + ngAfterViewInit() { + const span = document.getElementsByClassName('readOnlyText')[0]; + span.style.height = span.scrollHeight + 'px'; + } + close() { + this.dialogRef.close(); + } + static #_ = this.ɵfac = function InfoDialogComponent_Factory(t) { + return new (t || InfoDialogComponent)(_angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵdirectiveInject"](_angular_material_dialog__WEBPACK_IMPORTED_MODULE_2__.MatDialogRef), _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵdirectiveInject"](_angular_material_dialog__WEBPACK_IMPORTED_MODULE_2__.MAT_DIALOG_DATA)); + }; + static #_2 = this.ɵcmp = /*@__PURE__*/_angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵdefineComponent"]({ + type: InfoDialogComponent, + selectors: [["app-info-dialog"]], + decls: 6, + vars: 4, + consts: [[1, "content"], ["id", "info-dialog-title"], ["class", "readOnlyText", 4, "ngIf"], [3, "href", 4, "ngIf"], [4, "ngIf"], [1, "readOnlyText"], [3, "href"], [1, "mat-raised-button", 3, "click"]], + template: function InfoDialogComponent_Template(rf, ctx) { + if (rf & 1) { + _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵelementStart"](0, "mat-dialog-content", 0)(1, "h2", 1); + _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵtext"](2); + _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵelementEnd"](); + _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵtemplate"](3, InfoDialogComponent_span_3_Template, 2, 1, "span", 2); + _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵtemplate"](4, InfoDialogComponent_a_4_Template, 2, 2, "a", 3); + _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵelementEnd"](); + _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵtemplate"](5, InfoDialogComponent_mat_dialog_actions_5_Template, 3, 0, "mat-dialog-actions", 4); + } + if (rf & 2) { + _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵadvance"](2); + _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵtextInterpolate"](ctx.title); + _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵadvance"](1); + _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵproperty"]("ngIf", ctx.infoText != ""); + _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵadvance"](1); + _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵproperty"]("ngIf", ctx.hasLink); + _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵadvance"](1); + _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵproperty"]("ngIf", ctx.showConfirmButton); + } + }, + dependencies: [_angular_common__WEBPACK_IMPORTED_MODULE_3__.NgIf, _angular_material_dialog__WEBPACK_IMPORTED_MODULE_2__.MatDialogContent, _angular_material_dialog__WEBPACK_IMPORTED_MODULE_2__.MatDialogActions], + styles: [".readOnlyText[_ngcontent-%COMP%] {\n display: block;\n border: none;\n resize: none;\n width: 100%;\n overflow: hidden;\n white-space: pre-wrap;\n}\n\n.content[_ngcontent-%COMP%] {\n height: -moz-fit-content;\n height: fit-content;\n width: 30vw;\n overflow: hidden;\n}\n/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8uL3NyYy9hcHAvUHJlc2VudGF0aW9uL0RpYWxvZy9pbmZvLWRpYWxvZy9pbmZvLWRpYWxvZy5jb21wb25lbnQuc2NzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtFQUNFLGNBQUE7RUFDQSxZQUFBO0VBQ0EsWUFBQTtFQUNBLFdBQUE7RUFDQSxnQkFBQTtFQUNBLHFCQUFBO0FBQ0Y7O0FBRUE7RUFDRSx3QkFBQTtFQUFBLG1CQUFBO0VBQ0EsV0FBQTtFQUNBLGdCQUFBO0FBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyIucmVhZE9ubHlUZXh0IHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGJvcmRlcjogbm9uZTtcbiAgcmVzaXplOiBub25lO1xuICB3aWR0aDogMTAwJTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgd2hpdGUtc3BhY2U6IHByZS13cmFwO1xufVxuXG4uY29udGVudCB7XG4gIGhlaWdodDogZml0LWNvbnRlbnQ7XG4gIHdpZHRoOiAzMHZ3O1xuICBvdmVyZmxvdzogaGlkZGVuO1xufVxuIl0sInNvdXJjZVJvb3QiOiIifQ== */"] + }); +} + +/***/ }), + +/***/ 70938: +/*!**************************************************************************************************!*\ + !*** ./src/app/Presentation/Dialog/label-dictionary-dialog/label-dictionary-dialog.component.ts ***! + \**************************************************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ LabelDictionaryDialogComponent: () => (/* binding */ LabelDictionaryDialogComponent) +/* harmony export */ }); +/* harmony import */ var _angular_core__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @angular/core */ 51197); +/* harmony import */ var _angular_material_dialog__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @angular/material/dialog */ 23373); +/* harmony import */ var _LabelDictionary_label_dictionary_component__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../LabelDictionary/label-dictionary.component */ 19476); + + + +class LabelDictionaryDialogComponent { + constructor(dialogRef) { + this.dialogRef = dialogRef; + } + close() { + this.dialogRef.close(); + } + static #_ = this.ɵfac = function LabelDictionaryDialogComponent_Factory(t) { + return new (t || LabelDictionaryDialogComponent)(_angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵdirectiveInject"](_angular_material_dialog__WEBPACK_IMPORTED_MODULE_2__.MatDialogRef)); + }; + static #_2 = this.ɵcmp = /*@__PURE__*/_angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵdefineComponent"]({ + type: LabelDictionaryDialogComponent, + selectors: [["app-label-dictionary-dialog"]], + decls: 4, + vars: 0, + consts: [[3, "closeEmitter"]], + template: function LabelDictionaryDialogComponent_Template(rf, ctx) { + if (rf & 1) { + _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵelementStart"](0, "mat-dialog-content")(1, "h2"); + _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵtext"](2, "Label Dictionary"); + _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵelementEnd"](); + _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵelementStart"](3, "app-label-dictionary", 0); + _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵlistener"]("closeEmitter", function LabelDictionaryDialogComponent_Template_app_label_dictionary_closeEmitter_3_listener() { + return ctx.close(); + }); + _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵelementEnd"]()(); + } + }, + dependencies: [_LabelDictionary_label_dictionary_component__WEBPACK_IMPORTED_MODULE_0__.LabelDictionaryComponent, _angular_material_dialog__WEBPACK_IMPORTED_MODULE_2__.MatDialogContent], + styles: ["/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZVJvb3QiOiIifQ== */"] + }); +} + +/***/ }), + +/***/ 91095: +/*!***************************************************************************************************!*\ + !*** ./src/app/Presentation/DomainConfiguration/details-list-item/details-list-item.component.ts ***! + \***************************************************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ DetailsListItemComponent: () => (/* binding */ DetailsListItemComponent) +/* harmony export */ }); +/* harmony import */ var _angular_core__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @angular/core */ 51197); +/* harmony import */ var _angular_material_form_field__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @angular/material/form-field */ 51589); + + +class DetailsListItemComponent { + constructor() { + this.iconInitiated = false; + } + get id() { + return 'domain-configuration-details-icon-' + this.icon.name.toLowerCase() + '-' + (this.icon.isWorkObject ? 'workobject' : 'actor'); + } + get name() { + return this.icon.name; + } + ngAfterViewChecked() { + this.createIcon(); + } + createIcon() { + const img = document.getElementById(this.id); + if (img && !this.iconInitiated) { + img.src = '' + this.icon.svg; + this.iconInitiated = true; + } + } + static #_ = this.ɵfac = function DetailsListItemComponent_Factory(t) { + return new (t || DetailsListItemComponent)(); + }; + static #_2 = this.ɵcmp = /*@__PURE__*/_angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵdefineComponent"]({ + type: DetailsListItemComponent, + selectors: [["app-details-list-item"]], + inputs: { + icon: "icon" + }, + decls: 4, + vars: 4, + consts: [[1, "detailsListItem"], [1, "icon", 3, "id", "alt", "src"], [1, "iconName"]], + template: function DetailsListItemComponent_Template(rf, ctx) { + if (rf & 1) { + _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementStart"](0, "div", 0); + _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelement"](1, "img", 1); + _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementStart"](2, "mat-label", 2); + _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵtext"](3); + _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementEnd"]()(); + } + if (rf & 2) { + _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵadvance"](1); + _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵpropertyInterpolate"]("id", ctx.id); + _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵpropertyInterpolate"]("alt", ctx.name); + _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵproperty"]("src", ctx.icon.svg, _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵsanitizeUrl"]); + _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵadvance"](2); + _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵtextInterpolate"](ctx.icon.name); + } + }, + dependencies: [_angular_material_form_field__WEBPACK_IMPORTED_MODULE_1__.MatLabel], + styles: [".icon[_ngcontent-%COMP%] {\n width: 20px;\n height: 20px;\n padding-right: 3px;\n}\n\n.detailsListItem[_ngcontent-%COMP%] {\n display: flex;\n justify-items: center;\n align-items: center;\n width: 250px;\n}\n\n.iconName[_ngcontent-%COMP%] {\n max-width: 225px;\n word-wrap: anywhere;\n white-space: pre-wrap !important;\n}\n/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8uL3NyYy9hcHAvUHJlc2VudGF0aW9uL0RvbWFpbkNvbmZpZ3VyYXRpb24vZGV0YWlscy1saXN0LWl0ZW0vZGV0YWlscy1saXN0LWl0ZW0uY29tcG9uZW50LnNjc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7RUFDRSxXQUFBO0VBQ0EsWUFBQTtFQUNBLGtCQUFBO0FBQ0Y7O0FBRUE7RUFDRSxhQUFBO0VBQ0EscUJBQUE7RUFDQSxtQkFBQTtFQUNBLFlBQUE7QUFDRjs7QUFFQTtFQUNFLGdCQUFBO0VBQ0EsbUJBQUE7RUFDQSxnQ0FBQTtBQUNGIiwic291cmNlc0NvbnRlbnQiOlsiLmljb24ge1xuICB3aWR0aDogMjBweDtcbiAgaGVpZ2h0OiAyMHB4O1xuICBwYWRkaW5nLXJpZ2h0OiAzcHg7XG59XG5cbi5kZXRhaWxzTGlzdEl0ZW0ge1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWl0ZW1zOiBjZW50ZXI7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIHdpZHRoOiAyNTBweDtcbn1cblxuLmljb25OYW1lIHtcbiAgbWF4LXdpZHRoOiAyMjVweDtcbiAgd29yZC13cmFwOiBhbnl3aGVyZTtcbiAgd2hpdGUtc3BhY2U6IHByZS13cmFwICFpbXBvcnRhbnQ7XG59XG4iXSwic291cmNlUm9vdCI6IiJ9 */"] + }); +} + +/***/ }), + +/***/ 67061: +/*!************************************************************************************!*\ + !*** ./src/app/Presentation/DomainConfiguration/domain-configuration.component.ts ***! + \************************************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ DomainConfigurationComponent: () => (/* binding */ DomainConfigurationComponent) +/* harmony export */ }); +/* harmony import */ var src_app_Domain_Common_domainConfiguration__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! src/app/Domain/Common/domainConfiguration */ 58643); +/* harmony import */ var rxjs__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! rxjs */ 47530); +/* harmony import */ var src_app_Utils_sanitizer__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! src/app/Utils/sanitizer */ 82241); +/* harmony import */ var _Domain_Domain_Configuration_iconFilterEnum__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../Domain/Domain-Configuration/iconFilterEnum */ 80367); +/* harmony import */ var _angular_core__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! @angular/core */ 51197); +/* harmony import */ var src_app_Service_DomainConfiguration_domain_configuration_service__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! src/app/Service/DomainConfiguration/domain-configuration.service */ 88421); +/* harmony import */ var src_app_Service_DomainConfiguration_icon_dictionary_service__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! src/app/Service/DomainConfiguration/icon-dictionary.service */ 19673); +/* harmony import */ var _Service_DomainConfiguration_domain_customization_service__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../../Service/DomainConfiguration/domain-customization.service */ 53666); +/* harmony import */ var src_app_Service_ElementRegistry_element_registry_service__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! src/app/Service/ElementRegistry/element-registry.service */ 83335); +/* harmony import */ var _angular_common__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! @angular/common */ 89650); +/* harmony import */ var _angular_material_button__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! @angular/material/button */ 96495); +/* harmony import */ var _angular_material_grid_list__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! @angular/material/grid-list */ 14916); +/* harmony import */ var _angular_material_input__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! @angular/material/input */ 1319); +/* harmony import */ var _icon_list_item_icon_list_item_component__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./icon-list-item/icon-list-item.component */ 8761); +/* harmony import */ var _domain_details_domain_details_component__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./domain-details/domain-details.component */ 14777); + + + + + + + + + + + + + + + +function DomainConfigurationComponent_mat_grid_tile_50_Template(rf, ctx) { + if (rf & 1) { + _angular_core__WEBPACK_IMPORTED_MODULE_9__["ɵɵelementStart"](0, "mat-grid-tile", 25); + _angular_core__WEBPACK_IMPORTED_MODULE_9__["ɵɵelement"](1, "app-icon-list-item", 26); + _angular_core__WEBPACK_IMPORTED_MODULE_9__["ɵɵelementEnd"](); + } + if (rf & 2) { + const iconName_r1 = ctx.$implicit; + _angular_core__WEBPACK_IMPORTED_MODULE_9__["ɵɵproperty"]("colspan", 1)("rowspan", 1); + _angular_core__WEBPACK_IMPORTED_MODULE_9__["ɵɵadvance"](1); + _angular_core__WEBPACK_IMPORTED_MODULE_9__["ɵɵproperty"]("iconName", iconName_r1); + } +} +class DomainConfigurationComponent { + constructor(configurationService, iconDictionaryService, domainCustomizationService, elementRegistryService) { + this.configurationService = configurationService; + this.iconDictionaryService = iconDictionaryService; + this.domainCustomizationService = domainCustomizationService; + this.elementRegistryService = elementRegistryService; + this.filter = new rxjs__WEBPACK_IMPORTED_MODULE_10__.BehaviorSubject(_Domain_Domain_Configuration_iconFilterEnum__WEBPACK_IMPORTED_MODULE_2__.IconFilterEnum.ICON_FILTER_NONE); + this.selectedActors = new rxjs__WEBPACK_IMPORTED_MODULE_10__.BehaviorSubject([]); + this.selectedWorkobjects = new rxjs__WEBPACK_IMPORTED_MODULE_10__.BehaviorSubject([]); + this.allIconNames = new rxjs__WEBPACK_IMPORTED_MODULE_10__.BehaviorSubject([]); + this.allFilteredIconNames = new rxjs__WEBPACK_IMPORTED_MODULE_10__.BehaviorSubject([]); + this.domainConfigurationTypes = this.domainCustomizationService.getDomainConfiguration().value; + this.allIcons = new rxjs__WEBPACK_IMPORTED_MODULE_10__.BehaviorSubject(this.iconDictionaryService.getFullDictionary()); + this.allIcons.subscribe(allIcons => { + this.allIconNames.next(allIcons.keysArray().sort(this.sortByName)); + }); + this.selectedActors = this.domainCustomizationService.selectedActors$; + this.selectedWorkobjects = this.domainCustomizationService.selectedWorkobjects$; + } + ngOnInit() { + this.filter.subscribe(type => { + let allFiltered = this.getFilteredNamesForType(type); + this.allFilteredIconNames.next(allFiltered.sort(this.sortByName)); + }); + } + sortByName(a, b) { + if (a.includes('_custom') == b.includes('_custom')) { + if (a < b) return -1;else { + return 1; + } + } else { + if (a.includes('_custom')) { + return -1; + } else { + return 1; + } + } + } + /** Default Domain **/ + loadMinimalIconConfigurationWithDefaultIcons() { + this.domainCustomizationService.resetDomain(); + } + loadInitialConfiguration() { + this.domainCustomizationService.cancel(); + } + /** Persist Domain **/ + saveDomain() { + this.domainCustomizationService.saveDomain(this.elementRegistryService.getUsedIcons()); + } + exportDomain() { + this.domainCustomizationService.exportDomain(); + } + /** Add Custom Icon **/ + startIconUpload() { + document.getElementById('importIcon')?.click(); + } + importIcon() { + // @ts-ignore + const files = document.getElementById('importIcon').files; + for (let iconInputFile of files) { + const reader = new FileReader(); + const name = (0,src_app_Utils_sanitizer__WEBPACK_IMPORTED_MODULE_1__.sanitizeIconName)(iconInputFile.name); + const iconName = name + '_custom'; + reader.onloadend = e => { + if (e.target) { + const src = e.target.result; + this.iconDictionaryService.addIMGToIconDictionary(src, iconName); + this.iconDictionaryService.registerIconForBPMN(iconName, src); + this.allIcons.next(this.iconDictionaryService.getFullDictionary()); + this.filter.next(this.filter.value); + this.domainCustomizationService.addNewIcon(iconName); + } + }; + reader.readAsDataURL(iconInputFile); + } + } + /** Import Domain **/ + startDomainImport() { + document.getElementById('importDomain')?.click(); + } + importDomain() { + // @ts-ignore + const domainInputFile = document.getElementById('importDomain').files[0]; + const reader = new FileReader(); + reader.onloadend = e => { + const configFromFile = JSON.parse(e.target?.result); + const config = (0,src_app_Domain_Common_domainConfiguration__WEBPACK_IMPORTED_MODULE_0__.fromConfigurationFromFile)(configFromFile); + this.configurationService.loadConfiguration(config, false); + this.domainCustomizationService.importConfiguration(config); + }; + reader.readAsText(domainInputFile); + } + /** Filter **/ + filterForActors() { + if (this.filter.value !== _Domain_Domain_Configuration_iconFilterEnum__WEBPACK_IMPORTED_MODULE_2__.IconFilterEnum.ICON_FILTER_ACTOR) { + this.filter.next(_Domain_Domain_Configuration_iconFilterEnum__WEBPACK_IMPORTED_MODULE_2__.IconFilterEnum.ICON_FILTER_ACTOR); + } else { + this.filter.next(_Domain_Domain_Configuration_iconFilterEnum__WEBPACK_IMPORTED_MODULE_2__.IconFilterEnum.ICON_FILTER_NONE); + } + } + filterForWorkobjects() { + if (this.filter.value !== _Domain_Domain_Configuration_iconFilterEnum__WEBPACK_IMPORTED_MODULE_2__.IconFilterEnum.ICON_FILTER_WORKOBJECT) { + this.filter.next(_Domain_Domain_Configuration_iconFilterEnum__WEBPACK_IMPORTED_MODULE_2__.IconFilterEnum.ICON_FILTER_WORKOBJECT); + } else { + this.filter.next(_Domain_Domain_Configuration_iconFilterEnum__WEBPACK_IMPORTED_MODULE_2__.IconFilterEnum.ICON_FILTER_NONE); + } + } + filterForUnassigned() { + if (this.filter.value !== _Domain_Domain_Configuration_iconFilterEnum__WEBPACK_IMPORTED_MODULE_2__.IconFilterEnum.ICON_FILTER_UNASSIGNED) { + this.filter.next(_Domain_Domain_Configuration_iconFilterEnum__WEBPACK_IMPORTED_MODULE_2__.IconFilterEnum.ICON_FILTER_UNASSIGNED); + } else { + this.filter.next(_Domain_Domain_Configuration_iconFilterEnum__WEBPACK_IMPORTED_MODULE_2__.IconFilterEnum.ICON_FILTER_NONE); + } + } + filterByNameAndType($event) { + const filteredByNameAndType = this.getFilteredNamesForType(this.filter.value).filter(name => name.toLowerCase().includes($event.target.value.toLowerCase())); + this.allFilteredIconNames.next(filteredByNameAndType.sort(this.sortByName)); + } + getFilteredNamesForType(type) { + let allFiltered = []; + switch (type) { + case _Domain_Domain_Configuration_iconFilterEnum__WEBPACK_IMPORTED_MODULE_2__.IconFilterEnum.ICON_FILTER_NONE: + allFiltered = this.allIconNames.value; + break; + case _Domain_Domain_Configuration_iconFilterEnum__WEBPACK_IMPORTED_MODULE_2__.IconFilterEnum.ICON_FILTER_ACTOR: + allFiltered = this.allIconNames.value.filter(name => this.domainCustomizationService.isIconActor(name)); + break; + case _Domain_Domain_Configuration_iconFilterEnum__WEBPACK_IMPORTED_MODULE_2__.IconFilterEnum.ICON_FILTER_WORKOBJECT: + allFiltered = this.allIconNames.value.filter(name => this.domainCustomizationService.isIconWorkObject(name)); + break; + case _Domain_Domain_Configuration_iconFilterEnum__WEBPACK_IMPORTED_MODULE_2__.IconFilterEnum.ICON_FILTER_UNASSIGNED: + allFiltered = this.allIconNames.value.filter(name => !this.domainCustomizationService.isIconActor(name) && !this.domainCustomizationService.isIconWorkObject(name)); + break; + } + return allFiltered; + } + static #_ = this.ɵfac = function DomainConfigurationComponent_Factory(t) { + return new (t || DomainConfigurationComponent)(_angular_core__WEBPACK_IMPORTED_MODULE_9__["ɵɵdirectiveInject"](src_app_Service_DomainConfiguration_domain_configuration_service__WEBPACK_IMPORTED_MODULE_3__.DomainConfigurationService), _angular_core__WEBPACK_IMPORTED_MODULE_9__["ɵɵdirectiveInject"](src_app_Service_DomainConfiguration_icon_dictionary_service__WEBPACK_IMPORTED_MODULE_4__.IconDictionaryService), _angular_core__WEBPACK_IMPORTED_MODULE_9__["ɵɵdirectiveInject"](_Service_DomainConfiguration_domain_customization_service__WEBPACK_IMPORTED_MODULE_5__.DomainCustomizationService), _angular_core__WEBPACK_IMPORTED_MODULE_9__["ɵɵdirectiveInject"](src_app_Service_ElementRegistry_element_registry_service__WEBPACK_IMPORTED_MODULE_6__.ElementRegistryService)); + }; + static #_2 = this.ɵcmp = /*@__PURE__*/_angular_core__WEBPACK_IMPORTED_MODULE_9__["ɵɵdefineComponent"]({ + type: DomainConfigurationComponent, + selectors: [["app-domain-configuration"]], + decls: 53, + vars: 15, + consts: [[1, "content"], [1, "header"], [1, "buttons"], ["mat-button", "", "title", "Upload Icon", 3, "click"], [1, "material-icons-outlined", "materialIconButton"], ["type", "file", "multiple", "", "accept", ".svg, image/png, image/jpeg, image/gif, image/bpmn", "id", "importIcon", "name", "file", "onclick", "this.value=null", 2, "display", "none", 3, "change"], ["mat-button", "", "title", "Reset to default icon set", 1, "button", 3, "click"], [1, "searchbar"], ["mat-button", "", "title", "Unassigned Icons", 3, "click"], ["mat-button", "", "title", "Actors", 3, "click"], ["mat-button", "", "title", "Workobjects", 3, "click"], ["matInput", "", "type", "text", "placeholder", "Filter by name", 1, "textInput", 3, "input"], [1, "saveButtons"], ["mat-button", "", "title", "Export icon set", 3, "click"], ["mat-button", "", "title", "Import icon set", 3, "click"], ["type", "file", "accept", ".domain", "id", "importDomain", "name", "file", "onclick", "this.value=null", 2, "display", "none", 3, "change"], [1, "divider"], ["mat-button", "", "title", "Cancel changes", 3, "click"], ["mat-button", "", "title", "Save icon set", 3, "click"], [1, "domainConfiguration"], [1, "icons"], [1, "iconList", "smallScrollbar"], ["cols", "8", "rowHeight", "170px"], [3, "colspan", "rowspan", 4, "ngFor", "ngForOf"], [1, "domainDetails"], [3, "colspan", "rowspan"], [1, "iconListItem", 3, "iconName"]], + template: function DomainConfigurationComponent_Template(rf, ctx) { + if (rf & 1) { + _angular_core__WEBPACK_IMPORTED_MODULE_9__["ɵɵelementStart"](0, "div", 0)(1, "div")(2, "div", 1)(3, "div", 2)(4, "button", 3); + _angular_core__WEBPACK_IMPORTED_MODULE_9__["ɵɵlistener"]("click", function DomainConfigurationComponent_Template_button_click_4_listener() { + return ctx.startIconUpload(); + }); + _angular_core__WEBPACK_IMPORTED_MODULE_9__["ɵɵelementStart"](5, "span", 4); + _angular_core__WEBPACK_IMPORTED_MODULE_9__["ɵɵtext"](6, "upload"); + _angular_core__WEBPACK_IMPORTED_MODULE_9__["ɵɵelementEnd"](); + _angular_core__WEBPACK_IMPORTED_MODULE_9__["ɵɵelementStart"](7, "input", 5); + _angular_core__WEBPACK_IMPORTED_MODULE_9__["ɵɵlistener"]("change", function DomainConfigurationComponent_Template_input_change_7_listener() { + return ctx.importIcon(); + }); + _angular_core__WEBPACK_IMPORTED_MODULE_9__["ɵɵelementEnd"]()(); + _angular_core__WEBPACK_IMPORTED_MODULE_9__["ɵɵelementStart"](8, "button", 6); + _angular_core__WEBPACK_IMPORTED_MODULE_9__["ɵɵlistener"]("click", function DomainConfigurationComponent_Template_button_click_8_listener() { + return ctx.loadMinimalIconConfigurationWithDefaultIcons(); + }); + _angular_core__WEBPACK_IMPORTED_MODULE_9__["ɵɵelementStart"](9, "span", 4); + _angular_core__WEBPACK_IMPORTED_MODULE_9__["ɵɵtext"](10, " home "); + _angular_core__WEBPACK_IMPORTED_MODULE_9__["ɵɵelementEnd"]()()(); + _angular_core__WEBPACK_IMPORTED_MODULE_9__["ɵɵelementStart"](11, "div", 7); + _angular_core__WEBPACK_IMPORTED_MODULE_9__["ɵɵelement"](12, "div"); + _angular_core__WEBPACK_IMPORTED_MODULE_9__["ɵɵelementStart"](13, "div"); + _angular_core__WEBPACK_IMPORTED_MODULE_9__["ɵɵtext"](14, "Filter:"); + _angular_core__WEBPACK_IMPORTED_MODULE_9__["ɵɵelementEnd"](); + _angular_core__WEBPACK_IMPORTED_MODULE_9__["ɵɵelementStart"](15, "button", 8); + _angular_core__WEBPACK_IMPORTED_MODULE_9__["ɵɵlistener"]("click", function DomainConfigurationComponent_Template_button_click_15_listener() { + return ctx.filterForUnassigned(); + }); + _angular_core__WEBPACK_IMPORTED_MODULE_9__["ɵɵpipe"](16, "async"); + _angular_core__WEBPACK_IMPORTED_MODULE_9__["ɵɵelementStart"](17, "span"); + _angular_core__WEBPACK_IMPORTED_MODULE_9__["ɵɵtext"](18, "None"); + _angular_core__WEBPACK_IMPORTED_MODULE_9__["ɵɵelementEnd"]()(); + _angular_core__WEBPACK_IMPORTED_MODULE_9__["ɵɵelement"](19, "div"); + _angular_core__WEBPACK_IMPORTED_MODULE_9__["ɵɵelementStart"](20, "button", 9); + _angular_core__WEBPACK_IMPORTED_MODULE_9__["ɵɵlistener"]("click", function DomainConfigurationComponent_Template_button_click_20_listener() { + return ctx.filterForActors(); + }); + _angular_core__WEBPACK_IMPORTED_MODULE_9__["ɵɵpipe"](21, "async"); + _angular_core__WEBPACK_IMPORTED_MODULE_9__["ɵɵelementStart"](22, "span"); + _angular_core__WEBPACK_IMPORTED_MODULE_9__["ɵɵtext"](23, "Actors"); + _angular_core__WEBPACK_IMPORTED_MODULE_9__["ɵɵelementEnd"]()(); + _angular_core__WEBPACK_IMPORTED_MODULE_9__["ɵɵelement"](24, "div"); + _angular_core__WEBPACK_IMPORTED_MODULE_9__["ɵɵelementStart"](25, "button", 10); + _angular_core__WEBPACK_IMPORTED_MODULE_9__["ɵɵlistener"]("click", function DomainConfigurationComponent_Template_button_click_25_listener() { + return ctx.filterForWorkobjects(); + }); + _angular_core__WEBPACK_IMPORTED_MODULE_9__["ɵɵpipe"](26, "async"); + _angular_core__WEBPACK_IMPORTED_MODULE_9__["ɵɵelementStart"](27, "span"); + _angular_core__WEBPACK_IMPORTED_MODULE_9__["ɵɵtext"](28, "Workobjects"); + _angular_core__WEBPACK_IMPORTED_MODULE_9__["ɵɵelementEnd"]()(); + _angular_core__WEBPACK_IMPORTED_MODULE_9__["ɵɵelement"](29, "div"); + _angular_core__WEBPACK_IMPORTED_MODULE_9__["ɵɵelementStart"](30, "input", 11); + _angular_core__WEBPACK_IMPORTED_MODULE_9__["ɵɵlistener"]("input", function DomainConfigurationComponent_Template_input_input_30_listener($event) { + return ctx.filterByNameAndType($event); + }); + _angular_core__WEBPACK_IMPORTED_MODULE_9__["ɵɵelementEnd"]()(); + _angular_core__WEBPACK_IMPORTED_MODULE_9__["ɵɵelementStart"](31, "div", 12)(32, "button", 13); + _angular_core__WEBPACK_IMPORTED_MODULE_9__["ɵɵlistener"]("click", function DomainConfigurationComponent_Template_button_click_32_listener() { + return ctx.exportDomain(); + }); + _angular_core__WEBPACK_IMPORTED_MODULE_9__["ɵɵelementStart"](33, "span", 4); + _angular_core__WEBPACK_IMPORTED_MODULE_9__["ɵɵtext"](34, "archive"); + _angular_core__WEBPACK_IMPORTED_MODULE_9__["ɵɵelementEnd"]()(); + _angular_core__WEBPACK_IMPORTED_MODULE_9__["ɵɵelementStart"](35, "button", 14); + _angular_core__WEBPACK_IMPORTED_MODULE_9__["ɵɵlistener"]("click", function DomainConfigurationComponent_Template_button_click_35_listener() { + return ctx.startDomainImport(); + }); + _angular_core__WEBPACK_IMPORTED_MODULE_9__["ɵɵelementStart"](36, "span", 4); + _angular_core__WEBPACK_IMPORTED_MODULE_9__["ɵɵtext"](37, "unarchive"); + _angular_core__WEBPACK_IMPORTED_MODULE_9__["ɵɵelementEnd"](); + _angular_core__WEBPACK_IMPORTED_MODULE_9__["ɵɵelementStart"](38, "input", 15); + _angular_core__WEBPACK_IMPORTED_MODULE_9__["ɵɵlistener"]("change", function DomainConfigurationComponent_Template_input_change_38_listener() { + return ctx.importDomain(); + }); + _angular_core__WEBPACK_IMPORTED_MODULE_9__["ɵɵelementEnd"]()(); + _angular_core__WEBPACK_IMPORTED_MODULE_9__["ɵɵelement"](39, "div", 16); + _angular_core__WEBPACK_IMPORTED_MODULE_9__["ɵɵelementStart"](40, "button", 17); + _angular_core__WEBPACK_IMPORTED_MODULE_9__["ɵɵlistener"]("click", function DomainConfigurationComponent_Template_button_click_40_listener() { + return ctx.loadInitialConfiguration(); + }); + _angular_core__WEBPACK_IMPORTED_MODULE_9__["ɵɵelementStart"](41, "span", 4); + _angular_core__WEBPACK_IMPORTED_MODULE_9__["ɵɵtext"](42, "close"); + _angular_core__WEBPACK_IMPORTED_MODULE_9__["ɵɵelementEnd"]()(); + _angular_core__WEBPACK_IMPORTED_MODULE_9__["ɵɵelementStart"](43, "button", 18); + _angular_core__WEBPACK_IMPORTED_MODULE_9__["ɵɵlistener"]("click", function DomainConfigurationComponent_Template_button_click_43_listener() { + return ctx.saveDomain(); + }); + _angular_core__WEBPACK_IMPORTED_MODULE_9__["ɵɵelementStart"](44, "span", 4); + _angular_core__WEBPACK_IMPORTED_MODULE_9__["ɵɵtext"](45, "save"); + _angular_core__WEBPACK_IMPORTED_MODULE_9__["ɵɵelementEnd"]()()()(); + _angular_core__WEBPACK_IMPORTED_MODULE_9__["ɵɵelementStart"](46, "div", 19)(47, "div", 20)(48, "div", 21)(49, "mat-grid-list", 22); + _angular_core__WEBPACK_IMPORTED_MODULE_9__["ɵɵtemplate"](50, DomainConfigurationComponent_mat_grid_tile_50_Template, 2, 3, "mat-grid-tile", 23); + _angular_core__WEBPACK_IMPORTED_MODULE_9__["ɵɵpipe"](51, "async"); + _angular_core__WEBPACK_IMPORTED_MODULE_9__["ɵɵelementEnd"]()()()()(); + _angular_core__WEBPACK_IMPORTED_MODULE_9__["ɵɵelement"](52, "app-domain-details", 24); + _angular_core__WEBPACK_IMPORTED_MODULE_9__["ɵɵelementEnd"](); + } + if (rf & 2) { + _angular_core__WEBPACK_IMPORTED_MODULE_9__["ɵɵadvance"](15); + _angular_core__WEBPACK_IMPORTED_MODULE_9__["ɵɵclassProp"]("activeNone", _angular_core__WEBPACK_IMPORTED_MODULE_9__["ɵɵpipeBind1"](16, 7, ctx.filter) === "ICON_FILTER_UNASSIGNED"); + _angular_core__WEBPACK_IMPORTED_MODULE_9__["ɵɵadvance"](5); + _angular_core__WEBPACK_IMPORTED_MODULE_9__["ɵɵclassProp"]("activeActor", _angular_core__WEBPACK_IMPORTED_MODULE_9__["ɵɵpipeBind1"](21, 9, ctx.filter) === "ICON_FILTER_ACTOR"); + _angular_core__WEBPACK_IMPORTED_MODULE_9__["ɵɵadvance"](5); + _angular_core__WEBPACK_IMPORTED_MODULE_9__["ɵɵclassProp"]("activeWorkObject", _angular_core__WEBPACK_IMPORTED_MODULE_9__["ɵɵpipeBind1"](26, 11, ctx.filter) === "ICON_FILTER_WORKOBJECT"); + _angular_core__WEBPACK_IMPORTED_MODULE_9__["ɵɵadvance"](25); + _angular_core__WEBPACK_IMPORTED_MODULE_9__["ɵɵproperty"]("ngForOf", _angular_core__WEBPACK_IMPORTED_MODULE_9__["ɵɵpipeBind1"](51, 13, ctx.allFilteredIconNames)); + } + }, + dependencies: [_angular_common__WEBPACK_IMPORTED_MODULE_11__.NgForOf, _angular_material_button__WEBPACK_IMPORTED_MODULE_12__.MatButton, _angular_material_grid_list__WEBPACK_IMPORTED_MODULE_13__.MatGridList, _angular_material_grid_list__WEBPACK_IMPORTED_MODULE_13__.MatGridTile, _angular_material_input__WEBPACK_IMPORTED_MODULE_14__.MatInput, _icon_list_item_icon_list_item_component__WEBPACK_IMPORTED_MODULE_7__.IconListItemComponent, _domain_details_domain_details_component__WEBPACK_IMPORTED_MODULE_8__.DomainDetailsComponent, _angular_common__WEBPACK_IMPORTED_MODULE_11__.AsyncPipe], + styles: [".content[_ngcontent-%COMP%] {\n display: grid;\n grid-template-columns: auto 250px;\n}\n\n.header[_ngcontent-%COMP%] {\n display: grid;\n grid-template-columns: max-content auto max-content;\n border-bottom: #ccc 2px solid;\n height: 46px;\n}\n\n.buttons[_ngcontent-%COMP%] {\n align-self: center;\n justify-self: left;\n}\n.buttons[_ngcontent-%COMP%] .mat-button {\n min-width: 36px;\n}\n\n.saveButtons[_ngcontent-%COMP%] {\n align-self: center;\n display: inline-flex;\n justify-items: center;\n padding-right: 5px;\n}\n.saveButtons[_ngcontent-%COMP%] .mat-button {\n min-width: 36px;\n}\n\n.button[_ngcontent-%COMP%] {\n width: 36px;\n}\n\n.mat-button[_ngcontent-%COMP%] {\n color: #666666;\n}\n\n.spacer[_ngcontent-%COMP%] {\n flex: 1 1 auto;\n}\n\n.domainConfiguration[_ngcontent-%COMP%] {\n padding-left: 10px;\n padding-bottom: 5px;\n margin-top: 15px;\n height: 100%;\n}\n\n.icons[_ngcontent-%COMP%] {\n display: grid;\n grid-template-rows: 2rem auto;\n height: 100%;\n grid-row-gap: 1px;\n}\n\n.divider[_ngcontent-%COMP%] {\n border-left: #ccc 2px solid;\n}\n\n.searchbar[_ngcontent-%COMP%] {\n display: grid;\n grid-template-columns: 5px 40px 65px 10px 65px 10px 100px 20px 300px;\n margin-left: 15px;\n margin-right: 10px;\n align-self: center;\n align-items: center;\n justify-self: left;\n border-left: #ccc 2px solid;\n height: inherit;\n}\n\n.activeActor[_ngcontent-%COMP%] {\n background-color: #42aebb;\n color: white;\n}\n\n.activeNone[_ngcontent-%COMP%] {\n background-color: #e0e0e0;\n color: black;\n}\n\n.activeWorkObject[_ngcontent-%COMP%] {\n background-color: #42aebb;\n color: white;\n}\n\n.textInput[_ngcontent-%COMP%] {\n width: 300px;\n border: #666666 1px solid;\n}\n\n.iconList[_ngcontent-%COMP%] {\n display: grid;\n overflow-y: scroll;\n height: calc(100vh - 130px);\n}\n\n.domainDetails[_ngcontent-%COMP%] {\n overflow-y: scroll;\n width: 250px;\n height: calc(100vh - 65px);\n}\n\n .mat-grid-tile .mat-grid-tile-content {\n justify-content: inherit;\n}\n/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8uL3NyYy9hcHAvUHJlc2VudGF0aW9uL0RvbWFpbkNvbmZpZ3VyYXRpb24vZG9tYWluLWNvbmZpZ3VyYXRpb24uY29tcG9uZW50LnNjc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7RUFDRSxhQUFBO0VBQ0EsaUNBQUE7QUFDRjs7QUFFQTtFQUNFLGFBQUE7RUFDQSxtREFBQTtFQUNBLDZCQUFBO0VBQ0EsWUFBQTtBQUNGOztBQUVBO0VBQ0Usa0JBQUE7RUFDQSxrQkFBQTtBQUNGO0FBQ0U7RUFDRSxlQUFBO0FBQ0o7O0FBR0E7RUFDRSxrQkFBQTtFQUNBLG9CQUFBO0VBQ0EscUJBQUE7RUFDQSxrQkFBQTtBQUFGO0FBRUU7RUFDRSxlQUFBO0FBQUo7O0FBSUE7RUFDRSxXQUFBO0FBREY7O0FBSUE7RUFDRSxjQUFBO0FBREY7O0FBSUE7RUFDRSxjQUFBO0FBREY7O0FBSUE7RUFDRSxrQkFBQTtFQUNBLG1CQUFBO0VBQ0EsZ0JBQUE7RUFDQSxZQUFBO0FBREY7O0FBSUE7RUFDRSxhQUFBO0VBQ0EsNkJBQUE7RUFDQSxZQUFBO0VBQ0EsaUJBQUE7QUFERjs7QUFJQTtFQUNFLDJCQUFBO0FBREY7O0FBSUE7RUFDRSxhQUFBO0VBQ0Esb0VBQUE7RUFDQSxpQkFBQTtFQUNBLGtCQUFBO0VBQ0Esa0JBQUE7RUFDQSxtQkFBQTtFQUNBLGtCQUFBO0VBQ0EsMkJBQUE7RUFDQSxlQUFBO0FBREY7O0FBSUE7RUFDRSx5QkFBQTtFQUNBLFlBQUE7QUFERjs7QUFJQTtFQUNFLHlCQUFBO0VBQ0EsWUFBQTtBQURGOztBQUlBO0VBQ0UseUJBQUE7RUFDQSxZQUFBO0FBREY7O0FBSUE7RUFDRSxZQUFBO0VBQ0EseUJBQUE7QUFERjs7QUFJQTtFQUNFLGFBQUE7RUFDQSxrQkFBQTtFQUNBLDJCQUFBO0FBREY7O0FBSUE7RUFDRSxrQkFBQTtFQUNBLFlBQUE7RUFDQSwwQkFBQTtBQURGOztBQUtFO0VBQ0Usd0JBQUE7QUFGSiIsInNvdXJjZXNDb250ZW50IjpbIi5jb250ZW50IHtcbiAgZGlzcGxheTogZ3JpZDtcbiAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiBhdXRvIDI1MHB4O1xufVxuXG4uaGVhZGVyIHtcbiAgZGlzcGxheTogZ3JpZDtcbiAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiBtYXgtY29udGVudCBhdXRvIG1heC1jb250ZW50O1xuICBib3JkZXItYm90dG9tOiAjY2NjIDJweCBzb2xpZDtcbiAgaGVpZ2h0OiA0NnB4O1xufVxuXG4uYnV0dG9ucyB7XG4gIGFsaWduLXNlbGY6IGNlbnRlcjtcbiAganVzdGlmeS1zZWxmOiBsZWZ0O1xuXG4gIDo6bmctZGVlcC5tYXQtYnV0dG9uIHtcbiAgICBtaW4td2lkdGg6IDM2cHg7XG4gIH1cbn1cblxuLnNhdmVCdXR0b25zIHtcbiAgYWxpZ24tc2VsZjogY2VudGVyO1xuICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAganVzdGlmeS1pdGVtczogY2VudGVyO1xuICBwYWRkaW5nLXJpZ2h0OiA1cHg7XG5cbiAgOjpuZy1kZWVwLm1hdC1idXR0b24ge1xuICAgIG1pbi13aWR0aDogMzZweDtcbiAgfVxufVxuXG4uYnV0dG9uIHtcbiAgd2lkdGg6IDM2cHg7XG59XG5cbi5tYXQtYnV0dG9uIHtcbiAgY29sb3I6ICM2NjY2NjY7XG59XG5cbi5zcGFjZXIge1xuICBmbGV4OiAxIDEgYXV0bztcbn1cblxuLmRvbWFpbkNvbmZpZ3VyYXRpb24ge1xuICBwYWRkaW5nLWxlZnQ6IDEwcHg7XG4gIHBhZGRpbmctYm90dG9tOiA1cHg7XG4gIG1hcmdpbi10b3A6IDE1cHg7XG4gIGhlaWdodDogMTAwJTtcbn1cblxuLmljb25zIHtcbiAgZGlzcGxheTogZ3JpZDtcbiAgZ3JpZC10ZW1wbGF0ZS1yb3dzOiAycmVtIGF1dG87XG4gIGhlaWdodDogMTAwJTtcbiAgZ3JpZC1yb3ctZ2FwOiAxcHg7XG59XG5cbi5kaXZpZGVyIHtcbiAgYm9yZGVyLWxlZnQ6ICNjY2MgMnB4IHNvbGlkO1xufVxuXG4uc2VhcmNoYmFyIHtcbiAgZGlzcGxheTogZ3JpZDtcbiAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiA1cHggNDBweCA2NXB4IDEwcHggNjVweCAxMHB4IDEwMHB4IDIwcHggMzAwcHg7XG4gIG1hcmdpbi1sZWZ0OiAxNXB4O1xuICBtYXJnaW4tcmlnaHQ6IDEwcHg7XG4gIGFsaWduLXNlbGY6IGNlbnRlcjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1zZWxmOiBsZWZ0O1xuICBib3JkZXItbGVmdDogI2NjYyAycHggc29saWQ7XG4gIGhlaWdodDogaW5oZXJpdDtcbn1cblxuLmFjdGl2ZUFjdG9yIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzQyYWViYjtcbiAgY29sb3I6IHdoaXRlO1xufVxuXG4uYWN0aXZlTm9uZSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNlMGUwZTA7XG4gIGNvbG9yOiBibGFjaztcbn1cblxuLmFjdGl2ZVdvcmtPYmplY3Qge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNDJhZWJiO1xuICBjb2xvcjogd2hpdGU7XG59XG5cbi50ZXh0SW5wdXQge1xuICB3aWR0aDogMzAwcHg7XG4gIGJvcmRlcjogIzY2NjY2NiAxcHggc29saWQ7XG59XG5cbi5pY29uTGlzdCB7XG4gIGRpc3BsYXk6IGdyaWQ7XG4gIG92ZXJmbG93LXk6IHNjcm9sbDtcbiAgaGVpZ2h0OiBjYWxjKDEwMHZoIC0gMTMwcHgpO1xufVxuXG4uZG9tYWluRGV0YWlscyB7XG4gIG92ZXJmbG93LXk6IHNjcm9sbDtcbiAgd2lkdGg6IDI1MHB4O1xuICBoZWlnaHQ6IGNhbGMoMTAwdmggLSA2NXB4KTtcbn1cblxuOjpuZy1kZWVwLm1hdC1ncmlkLXRpbGUge1xuICAubWF0LWdyaWQtdGlsZS1jb250ZW50IHtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGluaGVyaXQ7XG4gIH1cbn1cbiJdLCJzb3VyY2VSb290IjoiIn0= */"] + }); +} + +/***/ }), + +/***/ 14777: +/*!*********************************************************************************************!*\ + !*** ./src/app/Presentation/DomainConfiguration/domain-details/domain-details.component.ts ***! + \*********************************************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ DomainDetailsComponent: () => (/* binding */ DomainDetailsComponent) +/* harmony export */ }); +/* harmony import */ var _angular_core__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @angular/core */ 51197); +/* harmony import */ var src_app_Service_DomainConfiguration_domain_customization_service__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! src/app/Service/DomainConfiguration/domain-customization.service */ 53666); +/* harmony import */ var src_app_Service_Title_title_service__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! src/app/Service/Title/title.service */ 32610); +/* harmony import */ var _angular_common__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @angular/common */ 89650); +/* harmony import */ var _angular_forms__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! @angular/forms */ 70997); +/* harmony import */ var _angular_material_list__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! @angular/material/list */ 18509); +/* harmony import */ var _angular_material_form_field__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! @angular/material/form-field */ 51589); +/* harmony import */ var _angular_material_input__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! @angular/material/input */ 1319); +/* harmony import */ var _details_list_item_details_list_item_component__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../details-list-item/details-list-item.component */ 91095); + + + + + + + + + +function DomainDetailsComponent_mat_list_item_12_Template(rf, ctx) { + if (rf & 1) { + const _r5 = _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵgetCurrentView"](); + _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementStart"](0, "mat-list-item", 7); + _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵlistener"]("dragover", function DomainDetailsComponent_mat_list_item_12_Template_mat_list_item_dragover_0_listener($event) { + _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵrestoreView"](_r5); + const ctx_r4 = _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵnextContext"](); + return _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵresetView"](ctx_r4.allowDrop($event, "actorList")); + })("dragstart", function DomainDetailsComponent_mat_list_item_12_Template_mat_list_item_dragstart_0_listener() { + const restoredCtx = _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵrestoreView"](_r5); + const i_r3 = restoredCtx.index; + const ctx_r6 = _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵnextContext"](); + return _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵresetView"](ctx_r6.onDragStart(i_r3, "actorList")); + })("drop", function DomainDetailsComponent_mat_list_item_12_Template_mat_list_item_drop_0_listener($event) { + const restoredCtx = _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵrestoreView"](_r5); + const iconName_r2 = restoredCtx.$implicit; + const i_r3 = restoredCtx.index; + const ctx_r7 = _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵnextContext"](); + return _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵresetView"](ctx_r7.onDrop($event, iconName_r2, true, i_r3)); + }); + _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelement"](1, "app-details-list-item", 8); + _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementEnd"](); + } + if (rf & 2) { + const iconName_r2 = ctx.$implicit; + const ctx_r0 = _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵnextContext"](); + _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵadvance"](1); + _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵproperty"]("icon", ctx_r0.getIconForName(iconName_r2)); + } +} +function DomainDetailsComponent_mat_list_item_18_Template(rf, ctx) { + if (rf & 1) { + const _r11 = _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵgetCurrentView"](); + _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementStart"](0, "mat-list-item", 7); + _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵlistener"]("dragover", function DomainDetailsComponent_mat_list_item_18_Template_mat_list_item_dragover_0_listener($event) { + _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵrestoreView"](_r11); + const ctx_r10 = _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵnextContext"](); + return _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵresetView"](ctx_r10.allowDrop($event, "workobjectList")); + })("dragstart", function DomainDetailsComponent_mat_list_item_18_Template_mat_list_item_dragstart_0_listener() { + const restoredCtx = _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵrestoreView"](_r11); + const i_r9 = restoredCtx.index; + const ctx_r12 = _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵnextContext"](); + return _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵresetView"](ctx_r12.onDragStart(i_r9, "workobjectList")); + })("drop", function DomainDetailsComponent_mat_list_item_18_Template_mat_list_item_drop_0_listener($event) { + const restoredCtx = _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵrestoreView"](_r11); + const iconName_r8 = restoredCtx.$implicit; + const i_r9 = restoredCtx.index; + const ctx_r13 = _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵnextContext"](); + return _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵresetView"](ctx_r13.onDrop($event, iconName_r8, false, i_r9)); + }); + _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelement"](1, "app-details-list-item", 8); + _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementEnd"](); + } + if (rf & 2) { + const iconName_r8 = ctx.$implicit; + const ctx_r1 = _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵnextContext"](); + _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵadvance"](1); + _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵproperty"]("icon", ctx_r1.getIconForName(iconName_r8)); + } +} +class DomainDetailsComponent { + constructor(customizationService, titleService) { + this.customizationService = customizationService; + this.draggedList = ''; + this.draggedIndex = 0; + this.selectedActors$ = this.customizationService.selectedActors$; + this.selectedWorkobjects$ = this.customizationService.selectedWorkobjects$; + this.domainName = titleService.domainName$; + } + ngOnInit() {} + changeName(event) { + // @ts-ignore + this.customizationService.changeName(event.target.value); + } + getIconForName(iconName) { + return this.customizationService.getIconForName(iconName).value; + } + allowDrop($event, listName) { + if (this.draggedList === listName) { + $event.preventDefault(); + } + } + onDrop($event, iconName, actors, index) { + let list; + if (actors) { + list = this.selectedActors$; + } else { + list = this.selectedWorkobjects$; + } + const sortedList = list.value; + const item = sortedList[this.draggedIndex]; + sortedList.splice(this.draggedIndex, 1); + sortedList.splice(index, 0, item); + list.next(sortedList); + if (actors) { + this.customizationService.setSelectedActors(sortedList); + } else { + this.customizationService.setSelectedWorkObject(sortedList); + } + } + onDragStart(index, draggedList) { + this.draggedList = draggedList; + this.draggedIndex = index; + } + static #_ = this.ɵfac = function DomainDetailsComponent_Factory(t) { + return new (t || DomainDetailsComponent)(_angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵdirectiveInject"](src_app_Service_DomainConfiguration_domain_customization_service__WEBPACK_IMPORTED_MODULE_0__.DomainCustomizationService), _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵdirectiveInject"](src_app_Service_Title_title_service__WEBPACK_IMPORTED_MODULE_1__.TitleService)); + }; + static #_2 = this.ɵcmp = /*@__PURE__*/_angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵdefineComponent"]({ + type: DomainDetailsComponent, + selectors: [["app-domain-details"]], + decls: 20, + vars: 9, + consts: [[1, "details", "smallScrollbar"], [1, "domainDetails", "bottom-border"], [1, "inputWidth"], ["matInput", "", "type", "text", 3, "value", "input"], [1, "actorList", "bottom-border"], ["class", "compactItem", "draggable", "true", 3, "dragover", "dragstart", "drop", 4, "ngFor", "ngForOf"], [1, "workobjectList"], ["draggable", "true", 1, "compactItem", 3, "dragover", "dragstart", "drop"], [3, "icon"]], + template: function DomainDetailsComponent_Template(rf, ctx) { + if (rf & 1) { + _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementStart"](0, "div", 0)(1, "div", 1)(2, "h3"); + _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵtext"](3, "Icon Set name"); + _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementEnd"](); + _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementStart"](4, "form")(5, "mat-form-field", 2)(6, "input", 3); + _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵlistener"]("input", function DomainDetailsComponent_Template_input_input_6_listener($event) { + return ctx.changeName($event); + }); + _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵpipe"](7, "async"); + _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementEnd"]()()()(); + _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementStart"](8, "div", 4)(9, "h3"); + _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵtext"](10, "Order of actors"); + _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementEnd"](); + _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementStart"](11, "mat-list"); + _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵtemplate"](12, DomainDetailsComponent_mat_list_item_12_Template, 2, 1, "mat-list-item", 5); + _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵpipe"](13, "async"); + _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementEnd"]()(); + _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementStart"](14, "div", 6)(15, "h3"); + _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵtext"](16, "Order of work objects"); + _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementEnd"](); + _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementStart"](17, "mat-list"); + _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵtemplate"](18, DomainDetailsComponent_mat_list_item_18_Template, 2, 1, "mat-list-item", 5); + _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵpipe"](19, "async"); + _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementEnd"]()()(); + } + if (rf & 2) { + _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵadvance"](6); + _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵproperty"]("value", _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵpipeBind1"](7, 3, ctx.domainName)); + _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵadvance"](6); + _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵproperty"]("ngForOf", _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵpipeBind1"](13, 5, ctx.selectedActors$)); + _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵadvance"](6); + _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵproperty"]("ngForOf", _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵpipeBind1"](19, 7, ctx.selectedWorkobjects$)); + } + }, + dependencies: [_angular_common__WEBPACK_IMPORTED_MODULE_4__.NgForOf, _angular_forms__WEBPACK_IMPORTED_MODULE_5__["ɵNgNoValidate"], _angular_forms__WEBPACK_IMPORTED_MODULE_5__.NgControlStatusGroup, _angular_forms__WEBPACK_IMPORTED_MODULE_5__.NgForm, _angular_material_list__WEBPACK_IMPORTED_MODULE_6__.MatList, _angular_material_list__WEBPACK_IMPORTED_MODULE_6__.MatListItem, _angular_material_form_field__WEBPACK_IMPORTED_MODULE_7__.MatFormField, _angular_material_input__WEBPACK_IMPORTED_MODULE_8__.MatInput, _details_list_item_details_list_item_component__WEBPACK_IMPORTED_MODULE_2__.DetailsListItemComponent, _angular_common__WEBPACK_IMPORTED_MODULE_4__.AsyncPipe], + styles: [".details[_ngcontent-%COMP%] {\n display: grid;\n grid-template-rows: 68px auto auto;\n min-height: 100vh;\n grid-row-gap: 1px;\n overflow-y: scroll;\n overflow-x: hidden;\n width: 250px;\n border-left: solid 1px #ccc;\n}\n\n.domainDetails[_ngcontent-%COMP%] {\n margin-top: 10px;\n}\n.domainDetails[_ngcontent-%COMP%] .mat-mdc-form-field-infix {\n border: none;\n padding-bottom: 0 !important;\n padding-top: 0 !important;\n}\n.domainDetails[_ngcontent-%COMP%] .mdc-text-field {\n padding-left: 0 !important;\n}\n\n.compactItem[_ngcontent-%COMP%] {\n height: 40px !important;\n}\n\n.fullWidth[_ngcontent-%COMP%] {\n width: 100%;\n padding-left: 15px;\n}\n\n.inputWidth[_ngcontent-%COMP%] {\n width: 200px;\n padding-left: 15px;\n height: 46px;\n}\n\nh3[_ngcontent-%COMP%] {\n padding-left: 15px;\n margin-bottom: 0;\n font-weight: bold;\n}\n\nmat-list[_ngcontent-%COMP%] {\n overflow: auto;\n padding-top: 0;\n}\n\n.bottom-border[_ngcontent-%COMP%] {\n border-bottom: 2px solid #ccc;\n}\n/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8uL3NyYy9hcHAvUHJlc2VudGF0aW9uL0RvbWFpbkNvbmZpZ3VyYXRpb24vZG9tYWluLWRldGFpbHMvZG9tYWluLWRldGFpbHMuY29tcG9uZW50LnNjc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7RUFDRSxhQUFBO0VBQ0Esa0NBQUE7RUFDQSxpQkFBQTtFQUNBLGlCQUFBO0VBQ0Esa0JBQUE7RUFDQSxrQkFBQTtFQUNBLFlBQUE7RUFDQSwyQkFBQTtBQUNGOztBQUVBO0VBQ0UsZ0JBQUE7QUFDRjtBQUNFO0VBQ0UsWUFBQTtFQUNBLDRCQUFBO0VBQ0EseUJBQUE7QUFDSjtBQUVFO0VBQ0UsMEJBQUE7QUFBSjs7QUFJQTtFQUNFLHVCQUFBO0FBREY7O0FBSUE7RUFDRSxXQUFBO0VBQ0Esa0JBQUE7QUFERjs7QUFJQTtFQUNFLFlBQUE7RUFDQSxrQkFBQTtFQUNBLFlBQUE7QUFERjs7QUFJQTtFQUNFLGtCQUFBO0VBQ0EsZ0JBQUE7RUFDQSxpQkFBQTtBQURGOztBQUlBO0VBQ0UsY0FBQTtFQUNBLGNBQUE7QUFERjs7QUFJQTtFQUNFLDZCQUFBO0FBREYiLCJzb3VyY2VzQ29udGVudCI6WyIuZGV0YWlscyB7XG4gIGRpc3BsYXk6IGdyaWQ7XG4gIGdyaWQtdGVtcGxhdGUtcm93czogNjhweCBhdXRvIGF1dG87XG4gIG1pbi1oZWlnaHQ6IDEwMHZoO1xuICBncmlkLXJvdy1nYXA6IDFweDtcbiAgb3ZlcmZsb3cteTogc2Nyb2xsO1xuICBvdmVyZmxvdy14OiBoaWRkZW47XG4gIHdpZHRoOiAyNTBweDtcbiAgYm9yZGVyLWxlZnQ6IHNvbGlkIDFweCAjY2NjO1xufVxuXG4uZG9tYWluRGV0YWlscyB7XG4gIG1hcmdpbi10b3A6IDEwcHg7XG5cbiAgOjpuZy1kZWVwLm1hdC1tZGMtZm9ybS1maWVsZC1pbmZpeCB7XG4gICAgYm9yZGVyOiBub25lO1xuICAgIHBhZGRpbmctYm90dG9tOiAwICFpbXBvcnRhbnQ7XG4gICAgcGFkZGluZy10b3A6IDAgIWltcG9ydGFudDtcbiAgfVxuXG4gIDo6bmctZGVlcC5tZGMtdGV4dC1maWVsZCB7XG4gICAgcGFkZGluZy1sZWZ0OiAwICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuLmNvbXBhY3RJdGVtIHtcbiAgaGVpZ2h0OiA0MHB4ICFpbXBvcnRhbnQ7XG59XG5cbi5mdWxsV2lkdGgge1xuICB3aWR0aDogMTAwJTtcbiAgcGFkZGluZy1sZWZ0OiAxNXB4O1xufVxuXG4uaW5wdXRXaWR0aCB7XG4gIHdpZHRoOiAyMDBweDtcbiAgcGFkZGluZy1sZWZ0OiAxNXB4O1xuICBoZWlnaHQ6IDQ2cHg7XG59XG5cbmgzIHtcbiAgcGFkZGluZy1sZWZ0OiAxNXB4O1xuICBtYXJnaW4tYm90dG9tOiAwO1xuICBmb250LXdlaWdodDogYm9sZDtcbn1cblxubWF0LWxpc3Qge1xuICBvdmVyZmxvdzogYXV0bztcbiAgcGFkZGluZy10b3A6IDA7XG59XG5cbi5ib3R0b20tYm9yZGVyIHtcbiAgYm9yZGVyLWJvdHRvbTogMnB4IHNvbGlkICNjY2M7XG59XG4iXSwic291cmNlUm9vdCI6IiJ9 */"] + }); +} + +/***/ }), + +/***/ 8761: +/*!*********************************************************************************************!*\ + !*** ./src/app/Presentation/DomainConfiguration/icon-list-item/icon-list-item.component.ts ***! + \*********************************************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ IconListItemComponent: () => (/* binding */ IconListItemComponent) +/* harmony export */ }); +/* harmony import */ var rxjs__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! rxjs */ 47530); +/* harmony import */ var _angular_core__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @angular/core */ 51197); +/* harmony import */ var _Service_DomainConfiguration_domain_customization_service__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../Service/DomainConfiguration/domain-customization.service */ 53666); +/* harmony import */ var _angular_material_button_toggle__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @angular/material/button-toggle */ 5167); + + + + +class IconListItemComponent { + get name() { + return this.iconName; + } + get id() { + return 'domain-configuration-icon-' + this.iconName; + } + constructor(domainCustomizationService) { + this.domainCustomizationService = domainCustomizationService; + this.iconName = ''; + this.iconInitiated = false; + // @ts-ignore + this.icon = new rxjs__WEBPACK_IMPORTED_MODULE_1__.BehaviorSubject({}); + this.isActor = false; + this.isWorkobject = false; + this.isNone = true; + } + ngOnInit() { + this.icon = this.domainCustomizationService.getIconForName(this.iconName); + if (!this.icon) { + return; + } + this.icon.subscribe(value => { + this.isActor = value.isActor; + this.isWorkobject = value.isWorkObject; + this.isNone = !(value.isActor || value.isWorkObject); + }); + this.isActor = this.icon.value.isActor; + this.isWorkobject = this.icon.value.isWorkObject; + this.isNone = !(this.icon.value.isActor || this.icon.value.isWorkObject); + } + ngAfterViewChecked() { + this.createIcon(); + } + createIcon() { + const img = document.getElementById(this.id); + if (img && !this.iconInitiated) { + img.src = '' + this.icon.value?.svg; + this.iconInitiated = true; + } + } + toggleNone() { + this.domainCustomizationService.setAsUnassigned(this.iconName, this.icon.value.isActor); + } + toggleActor() { + this.domainCustomizationService.setAsActor(true, this.iconName); + } + toggleWorkobject() { + this.domainCustomizationService.setAsWorkobject(true, this.iconName); + } + static #_ = this.ɵfac = function IconListItemComponent_Factory(t) { + return new (t || IconListItemComponent)(_angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵdirectiveInject"](_Service_DomainConfiguration_domain_customization_service__WEBPACK_IMPORTED_MODULE_0__.DomainCustomizationService)); + }; + static #_2 = this.ɵcmp = /*@__PURE__*/_angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵdefineComponent"]({ + type: IconListItemComponent, + selectors: [["app-icon-list-item"]], + inputs: { + iconName: "iconName" + }, + decls: 16, + vars: 13, + consts: [[1, "IconContainer"], [1, "content"], ["src", "", 1, "icon", 3, "id", "alt"], [1, "name"], [1, "footer"], [3, "value", "checked", "change"], [1, "toggleButtonTitle"]], + template: function IconListItemComponent_Template(rf, ctx) { + if (rf & 1) { + _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵelementStart"](0, "div", 0)(1, "div", 1); + _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵelement"](2, "img", 2); + _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵelementStart"](3, "div", 3); + _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵtext"](4); + _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵelementEnd"]()(); + _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵelementStart"](5, "div", 4)(6, "mat-button-toggle-group")(7, "mat-button-toggle", 5); + _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵlistener"]("change", function IconListItemComponent_Template_mat_button_toggle_change_7_listener() { + return ctx.toggleNone(); + }); + _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵelementStart"](8, "span", 6); + _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵtext"](9, "None"); + _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵelementEnd"]()(); + _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵelementStart"](10, "mat-button-toggle", 5); + _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵlistener"]("change", function IconListItemComponent_Template_mat_button_toggle_change_10_listener() { + return ctx.toggleActor(); + }); + _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵelementStart"](11, "span", 6); + _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵtext"](12, "Actor"); + _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵelementEnd"]()(); + _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵelementStart"](13, "mat-button-toggle", 5); + _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵlistener"]("change", function IconListItemComponent_Template_mat_button_toggle_change_13_listener() { + return ctx.toggleWorkobject(); + }); + _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵelementStart"](14, "span", 6); + _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵtext"](15, "Workobject"); + _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵelementEnd"]()()()()(); + } + if (rf & 2) { + _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵadvance"](2); + _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵpropertyInterpolate"]("id", ctx.id); + _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵpropertyInterpolate"]("alt", ctx.name); + _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵadvance"](2); + _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵtextInterpolate"](ctx.name); + _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵadvance"](3); + _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵproperty"]("value", ctx.isNone)("checked", ctx.isNone); + _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵadvance"](3); + _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵclassProp"]("activeMatButtonActor", ctx.isActor); + _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵproperty"]("value", ctx.isActor)("checked", ctx.isActor); + _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵadvance"](3); + _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵclassProp"]("activeMatButtonWorkObject", ctx.isWorkobject); + _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵproperty"]("value", ctx.isWorkobject)("checked", ctx.isWorkobject); + } + }, + dependencies: [_angular_material_button_toggle__WEBPACK_IMPORTED_MODULE_3__.MatButtonToggleGroup, _angular_material_button_toggle__WEBPACK_IMPORTED_MODULE_3__.MatButtonToggle], + styles: [".IconContainer[_ngcontent-%COMP%] {\n width: 170px;\n height: 170px;\n}\n\n.content[_ngcontent-%COMP%] {\n display: grid;\n grid-template-rows: auto auto;\n justify-items: center;\n}\n\n.icon[_ngcontent-%COMP%] {\n width: 50px;\n height: 50px;\n}\n\n.name[_ngcontent-%COMP%] {\n word-wrap: anywhere;\n max-height: 75px;\n overflow: hidden;\n padding-bottom: 2px;\n}\n\n.footer[_ngcontent-%COMP%] {\n display: flex;\n justify-content: center;\n}\n.footer[_ngcontent-%COMP%] .mat-button-toggle-label-content {\n font-size: 10pt !important;\n padding: 0 5px !important;\n line-height: inherit !important;\n}\n.footer[_ngcontent-%COMP%] .activeMatButtonActor button {\n background-color: #43acbf;\n color: #ffffff;\n}\n.footer[_ngcontent-%COMP%] .activeMatButtonWorkObject button {\n background-color: #0168b7;\n color: #ffffff;\n}\n/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8uL3NyYy9hcHAvUHJlc2VudGF0aW9uL0RvbWFpbkNvbmZpZ3VyYXRpb24vaWNvbi1saXN0LWl0ZW0vaWNvbi1saXN0LWl0ZW0uY29tcG9uZW50LnNjc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7RUFDRSxZQUFBO0VBQ0EsYUFBQTtBQUNGOztBQUVBO0VBQ0UsYUFBQTtFQUNBLDZCQUFBO0VBQ0EscUJBQUE7QUFDRjs7QUFFQTtFQUNFLFdBQUE7RUFDQSxZQUFBO0FBQ0Y7O0FBRUE7RUFDRSxtQkFBQTtFQUNBLGdCQUFBO0VBQ0EsZ0JBQUE7RUFDQSxtQkFBQTtBQUNGOztBQUVBO0VBQ0UsYUFBQTtFQUNBLHVCQUFBO0FBQ0Y7QUFDRTtFQUNFLDBCQUFBO0VBQ0EseUJBQUE7RUFDQSwrQkFBQTtBQUNKO0FBRUU7RUFDRSx5QkFBQTtFQUNBLGNBQUE7QUFBSjtBQUdFO0VBQ0UseUJBQUE7RUFDQSxjQUFBO0FBREoiLCJzb3VyY2VzQ29udGVudCI6WyIuSWNvbkNvbnRhaW5lciB7XG4gIHdpZHRoOiAxNzBweDtcbiAgaGVpZ2h0OiAxNzBweDtcbn1cblxuLmNvbnRlbnQge1xuICBkaXNwbGF5OiBncmlkO1xuICBncmlkLXRlbXBsYXRlLXJvd3M6IGF1dG8gYXV0bztcbiAganVzdGlmeS1pdGVtczogY2VudGVyO1xufVxuXG4uaWNvbiB7XG4gIHdpZHRoOiA1MHB4O1xuICBoZWlnaHQ6IDUwcHg7XG59XG5cbi5uYW1lIHtcbiAgd29yZC13cmFwOiBhbnl3aGVyZTtcbiAgbWF4LWhlaWdodDogNzVweDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgcGFkZGluZy1ib3R0b206IDJweDtcbn1cblxuLmZvb3RlciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXG4gIDo6bmctZGVlcC5tYXQtYnV0dG9uLXRvZ2dsZS1sYWJlbC1jb250ZW50IHtcbiAgICBmb250LXNpemU6IDEwcHQgIWltcG9ydGFudDtcbiAgICBwYWRkaW5nOiAwIDVweCAhaW1wb3J0YW50O1xuICAgIGxpbmUtaGVpZ2h0OiBpbmhlcml0ICFpbXBvcnRhbnQ7XG4gIH1cblxuICA6Om5nLWRlZXAuYWN0aXZlTWF0QnV0dG9uQWN0b3IgYnV0dG9uIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNDNhY2JmO1xuICAgIGNvbG9yOiAjZmZmZmZmO1xuICB9XG5cbiAgOjpuZy1kZWVwLmFjdGl2ZU1hdEJ1dHRvbldvcmtPYmplY3QgYnV0dG9uIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDE2OGI3O1xuICAgIGNvbG9yOiAjZmZmZmZmO1xuICB9XG59XG4iXSwic291cmNlUm9vdCI6IiJ9 */"] + }); +} + +/***/ }), + +/***/ 10591: +/*!*****************************************************************!*\ + !*** ./src/app/Presentation/Header/header-buttons.component.ts ***! + \*****************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ HeaderButtonsComponent: () => (/* binding */ HeaderButtonsComponent) +/* harmony export */ }); +/* harmony import */ var _Domain_Dialog_exportDialogData__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../Domain/Dialog/exportDialogData */ 87324); +/* harmony import */ var _angular_material_dialog__WEBPACK_IMPORTED_MODULE_17__ = __webpack_require__(/*! @angular/material/dialog */ 23373); +/* harmony import */ var _Dialog_export_dialog_export_dialog_component__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../Dialog/export-dialog/export-dialog.component */ 62854); +/* harmony import */ var _Domain_Dialog_infoDialogData__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../Domain/Dialog/infoDialogData */ 70541); +/* harmony import */ var _Dialog_info_dialog_info_dialog_component__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../Dialog/info-dialog/info-dialog.component */ 81183); +/* harmony import */ var _Dialog_label_dictionary_dialog_label_dictionary_dialog_component__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../Dialog/label-dictionary-dialog/label-dictionary-dialog.component */ 70938); +/* harmony import */ var _Domain_Common_constants__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../../Domain/Common/constants */ 45219); +/* harmony import */ var _angular_core__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(/*! @angular/core */ 51197); +/* harmony import */ var _Service_Settings_settings_service__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../../Service/Settings/settings.service */ 10323); +/* harmony import */ var _Service_Modeler_modeler_service__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../../Service/Modeler/modeler.service */ 43075); +/* harmony import */ var _Service_Replay_replay_state_service__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../../Service/Replay/replay-state.service */ 54870); +/* harmony import */ var _Service_DirtyFlag_dirty_flag_service__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ../../Service/DirtyFlag/dirty-flag.service */ 52828); +/* harmony import */ var _Service_Dialog_dialog_service__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ../../Service/Dialog/dialog.service */ 33483); +/* harmony import */ var _Service_Replay_replay_service__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ../../Service/Replay/replay.service */ 85989); +/* harmony import */ var _Service_Export_export_service__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ../../Service/Export/export.service */ 95722); +/* harmony import */ var _Service_Import_import_domain_story_service__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! ../../Service/Import/import-domain-story.service */ 1551); +/* harmony import */ var _Service_Title_title_service__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! ../../Service/Title/title.service */ 32610); +/* harmony import */ var _Service_Renderer_renderer_service__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(/*! ../../Service/Renderer/renderer.service */ 87300); +/* harmony import */ var _angular_material_snack_bar__WEBPACK_IMPORTED_MODULE_18__ = __webpack_require__(/*! @angular/material/snack-bar */ 93768); +/* harmony import */ var _angular_common__WEBPACK_IMPORTED_MODULE_19__ = __webpack_require__(/*! @angular/common */ 89650); + + + + + + + + + + + + + + + + + + + + +function HeaderButtonsComponent_div_0_span_9_Template(rf, ctx) { + if (rf & 1) { + _angular_core__WEBPACK_IMPORTED_MODULE_16__["ɵɵelementStart"](0, "span", 14); + _angular_core__WEBPACK_IMPORTED_MODULE_16__["ɵɵtext"](1, " archive "); + _angular_core__WEBPACK_IMPORTED_MODULE_16__["ɵɵelementEnd"](); + } +} +function HeaderButtonsComponent_div_0_span_11_Template(rf, ctx) { + if (rf & 1) { + _angular_core__WEBPACK_IMPORTED_MODULE_16__["ɵɵelementStart"](0, "span", 2); + _angular_core__WEBPACK_IMPORTED_MODULE_16__["ɵɵtext"](1, " archive "); + _angular_core__WEBPACK_IMPORTED_MODULE_16__["ɵɵelementEnd"](); + } +} +function HeaderButtonsComponent_div_0_Template(rf, ctx) { + if (rf & 1) { + const _r5 = _angular_core__WEBPACK_IMPORTED_MODULE_16__["ɵɵgetCurrentView"](); + _angular_core__WEBPACK_IMPORTED_MODULE_16__["ɵɵelementStart"](0, "div")(1, "button", 1); + _angular_core__WEBPACK_IMPORTED_MODULE_16__["ɵɵlistener"]("click", function HeaderButtonsComponent_div_0_Template_button_click_1_listener() { + _angular_core__WEBPACK_IMPORTED_MODULE_16__["ɵɵrestoreView"](_r5); + const ctx_r4 = _angular_core__WEBPACK_IMPORTED_MODULE_16__["ɵɵnextContext"](); + return _angular_core__WEBPACK_IMPORTED_MODULE_16__["ɵɵresetView"](ctx_r4.startReplay()); + }); + _angular_core__WEBPACK_IMPORTED_MODULE_16__["ɵɵelementStart"](2, "span", 2); + _angular_core__WEBPACK_IMPORTED_MODULE_16__["ɵɵtext"](3, " play_arrow "); + _angular_core__WEBPACK_IMPORTED_MODULE_16__["ɵɵelementEnd"]()(); + _angular_core__WEBPACK_IMPORTED_MODULE_16__["ɵɵelementStart"](4, "button", 3)(5, "span", 2); + _angular_core__WEBPACK_IMPORTED_MODULE_16__["ɵɵtext"](6, " unarchive "); + _angular_core__WEBPACK_IMPORTED_MODULE_16__["ɵɵelementEnd"]()(); + _angular_core__WEBPACK_IMPORTED_MODULE_16__["ɵɵelementStart"](7, "input", 4); + _angular_core__WEBPACK_IMPORTED_MODULE_16__["ɵɵlistener"]("change", function HeaderButtonsComponent_div_0_Template_input_change_7_listener() { + _angular_core__WEBPACK_IMPORTED_MODULE_16__["ɵɵrestoreView"](_r5); + const ctx_r6 = _angular_core__WEBPACK_IMPORTED_MODULE_16__["ɵɵnextContext"](); + return _angular_core__WEBPACK_IMPORTED_MODULE_16__["ɵɵresetView"](ctx_r6.import()); + }); + _angular_core__WEBPACK_IMPORTED_MODULE_16__["ɵɵelementEnd"](); + _angular_core__WEBPACK_IMPORTED_MODULE_16__["ɵɵelementStart"](8, "button", 5); + _angular_core__WEBPACK_IMPORTED_MODULE_16__["ɵɵlistener"]("click", function HeaderButtonsComponent_div_0_Template_button_click_8_listener() { + _angular_core__WEBPACK_IMPORTED_MODULE_16__["ɵɵrestoreView"](_r5); + const ctx_r7 = _angular_core__WEBPACK_IMPORTED_MODULE_16__["ɵɵnextContext"](); + return _angular_core__WEBPACK_IMPORTED_MODULE_16__["ɵɵresetView"](ctx_r7.openDownloadDialog()); + }); + _angular_core__WEBPACK_IMPORTED_MODULE_16__["ɵɵtemplate"](9, HeaderButtonsComponent_div_0_span_9_Template, 2, 0, "span", 6); + _angular_core__WEBPACK_IMPORTED_MODULE_16__["ɵɵpipe"](10, "async"); + _angular_core__WEBPACK_IMPORTED_MODULE_16__["ɵɵtemplate"](11, HeaderButtonsComponent_div_0_span_11_Template, 2, 0, "span", 7); + _angular_core__WEBPACK_IMPORTED_MODULE_16__["ɵɵpipe"](12, "async"); + _angular_core__WEBPACK_IMPORTED_MODULE_16__["ɵɵelementEnd"](); + _angular_core__WEBPACK_IMPORTED_MODULE_16__["ɵɵelementStart"](13, "button", 8); + _angular_core__WEBPACK_IMPORTED_MODULE_16__["ɵɵlistener"]("click", function HeaderButtonsComponent_div_0_Template_button_click_13_listener() { + _angular_core__WEBPACK_IMPORTED_MODULE_16__["ɵɵrestoreView"](_r5); + const ctx_r8 = _angular_core__WEBPACK_IMPORTED_MODULE_16__["ɵɵnextContext"](); + return _angular_core__WEBPACK_IMPORTED_MODULE_16__["ɵɵresetView"](ctx_r8.openLabelDictionary()); + }); + _angular_core__WEBPACK_IMPORTED_MODULE_16__["ɵɵelementStart"](14, "span", 9); + _angular_core__WEBPACK_IMPORTED_MODULE_16__["ɵɵtext"](15, " spellcheck "); + _angular_core__WEBPACK_IMPORTED_MODULE_16__["ɵɵelementEnd"]()(); + _angular_core__WEBPACK_IMPORTED_MODULE_16__["ɵɵelementStart"](16, "button", 10); + _angular_core__WEBPACK_IMPORTED_MODULE_16__["ɵɵlistener"]("click", function HeaderButtonsComponent_div_0_Template_button_click_16_listener() { + _angular_core__WEBPACK_IMPORTED_MODULE_16__["ɵɵrestoreView"](_r5); + const ctx_r9 = _angular_core__WEBPACK_IMPORTED_MODULE_16__["ɵɵnextContext"](); + return _angular_core__WEBPACK_IMPORTED_MODULE_16__["ɵɵresetView"](ctx_r9.openSettings()); + }); + _angular_core__WEBPACK_IMPORTED_MODULE_16__["ɵɵelementStart"](17, "span", 11); + _angular_core__WEBPACK_IMPORTED_MODULE_16__["ɵɵtext"](18, " settings "); + _angular_core__WEBPACK_IMPORTED_MODULE_16__["ɵɵelementEnd"]()(); + _angular_core__WEBPACK_IMPORTED_MODULE_16__["ɵɵelementStart"](19, "button", 12); + _angular_core__WEBPACK_IMPORTED_MODULE_16__["ɵɵlistener"]("click", function HeaderButtonsComponent_div_0_Template_button_click_19_listener() { + _angular_core__WEBPACK_IMPORTED_MODULE_16__["ɵɵrestoreView"](_r5); + const ctx_r10 = _angular_core__WEBPACK_IMPORTED_MODULE_16__["ɵɵnextContext"](); + return _angular_core__WEBPACK_IMPORTED_MODULE_16__["ɵɵresetView"](ctx_r10.openKeyboardShortcutsDialog()); + }); + _angular_core__WEBPACK_IMPORTED_MODULE_16__["ɵɵelementStart"](20, "span", 2); + _angular_core__WEBPACK_IMPORTED_MODULE_16__["ɵɵtext"](21, " keyboard "); + _angular_core__WEBPACK_IMPORTED_MODULE_16__["ɵɵelementEnd"]()(); + _angular_core__WEBPACK_IMPORTED_MODULE_16__["ɵɵelementStart"](22, "button", 13); + _angular_core__WEBPACK_IMPORTED_MODULE_16__["ɵɵlistener"]("click", function HeaderButtonsComponent_div_0_Template_button_click_22_listener() { + _angular_core__WEBPACK_IMPORTED_MODULE_16__["ɵɵrestoreView"](_r5); + const ctx_r11 = _angular_core__WEBPACK_IMPORTED_MODULE_16__["ɵɵnextContext"](); + return _angular_core__WEBPACK_IMPORTED_MODULE_16__["ɵɵresetView"](ctx_r11.createNewDomainStory()); + }); + _angular_core__WEBPACK_IMPORTED_MODULE_16__["ɵɵelementStart"](23, "span", 2); + _angular_core__WEBPACK_IMPORTED_MODULE_16__["ɵɵtext"](24, " note_add "); + _angular_core__WEBPACK_IMPORTED_MODULE_16__["ɵɵelementEnd"]()()(); + } + if (rf & 2) { + const ctx_r0 = _angular_core__WEBPACK_IMPORTED_MODULE_16__["ɵɵnextContext"](); + _angular_core__WEBPACK_IMPORTED_MODULE_16__["ɵɵadvance"](9); + _angular_core__WEBPACK_IMPORTED_MODULE_16__["ɵɵproperty"]("ngIf", !_angular_core__WEBPACK_IMPORTED_MODULE_16__["ɵɵpipeBind1"](10, 2, ctx_r0.isDirty$)); + _angular_core__WEBPACK_IMPORTED_MODULE_16__["ɵɵadvance"](2); + _angular_core__WEBPACK_IMPORTED_MODULE_16__["ɵɵproperty"]("ngIf", _angular_core__WEBPACK_IMPORTED_MODULE_16__["ɵɵpipeBind1"](12, 4, ctx_r0.isDirty$)); + } +} +function HeaderButtonsComponent_div_2_Template(rf, ctx) { + if (rf & 1) { + const _r13 = _angular_core__WEBPACK_IMPORTED_MODULE_16__["ɵɵgetCurrentView"](); + _angular_core__WEBPACK_IMPORTED_MODULE_16__["ɵɵelementStart"](0, "div")(1, "button", 15); + _angular_core__WEBPACK_IMPORTED_MODULE_16__["ɵɵlistener"]("click", function HeaderButtonsComponent_div_2_Template_button_click_1_listener() { + _angular_core__WEBPACK_IMPORTED_MODULE_16__["ɵɵrestoreView"](_r13); + const ctx_r12 = _angular_core__WEBPACK_IMPORTED_MODULE_16__["ɵɵnextContext"](); + return _angular_core__WEBPACK_IMPORTED_MODULE_16__["ɵɵresetView"](ctx_r12.previousStep()); + }); + _angular_core__WEBPACK_IMPORTED_MODULE_16__["ɵɵelementStart"](2, "span", 2); + _angular_core__WEBPACK_IMPORTED_MODULE_16__["ɵɵtext"](3, " skip_previous "); + _angular_core__WEBPACK_IMPORTED_MODULE_16__["ɵɵelementEnd"]()(); + _angular_core__WEBPACK_IMPORTED_MODULE_16__["ɵɵelementStart"](4, "button", 16); + _angular_core__WEBPACK_IMPORTED_MODULE_16__["ɵɵlistener"]("click", function HeaderButtonsComponent_div_2_Template_button_click_4_listener() { + _angular_core__WEBPACK_IMPORTED_MODULE_16__["ɵɵrestoreView"](_r13); + const ctx_r14 = _angular_core__WEBPACK_IMPORTED_MODULE_16__["ɵɵnextContext"](); + return _angular_core__WEBPACK_IMPORTED_MODULE_16__["ɵɵresetView"](ctx_r14.nextStep()); + }); + _angular_core__WEBPACK_IMPORTED_MODULE_16__["ɵɵelementStart"](5, "span", 2); + _angular_core__WEBPACK_IMPORTED_MODULE_16__["ɵɵtext"](6, " skip_next "); + _angular_core__WEBPACK_IMPORTED_MODULE_16__["ɵɵelementEnd"]()(); + _angular_core__WEBPACK_IMPORTED_MODULE_16__["ɵɵelementStart"](7, "button", 17); + _angular_core__WEBPACK_IMPORTED_MODULE_16__["ɵɵlistener"]("click", function HeaderButtonsComponent_div_2_Template_button_click_7_listener() { + _angular_core__WEBPACK_IMPORTED_MODULE_16__["ɵɵrestoreView"](_r13); + const ctx_r15 = _angular_core__WEBPACK_IMPORTED_MODULE_16__["ɵɵnextContext"](); + return _angular_core__WEBPACK_IMPORTED_MODULE_16__["ɵɵresetView"](ctx_r15.stopReplay()); + }); + _angular_core__WEBPACK_IMPORTED_MODULE_16__["ɵɵelementStart"](8, "span", 2); + _angular_core__WEBPACK_IMPORTED_MODULE_16__["ɵɵtext"](9, " stop "); + _angular_core__WEBPACK_IMPORTED_MODULE_16__["ɵɵelementEnd"]()()(); + } +} +class HeaderButtonsComponent { + constructor(settingsService, modelerService, replayStateService, dirtyFlagService, dialogService, replayService, exportService, importService, titleService, renderService, snackbar) { + this.settingsService = settingsService; + this.modelerService = modelerService; + this.replayStateService = replayStateService; + this.dirtyFlagService = dirtyFlagService; + this.dialogService = dialogService; + this.replayService = replayService; + this.exportService = exportService; + this.importService = importService; + this.titleService = titleService; + this.renderService = renderService; + this.snackbar = snackbar; + this.isReplay$ = this.replayStateService.replayOn$; + this.isDirty$ = this.dirtyFlagService.dirty$; + } + import() { + // @ts-ignore + const filename = document.getElementById('import').files[0].name; + if (filename.endsWith('.dst')) { + this.importService.importDST( + // @ts-ignore + document.getElementById('import').files[0], filename, false); + } else if (filename.endsWith('.dst.svg')) { + this.importService.importDST( + // @ts-ignore + document.getElementById('import').files[0], filename, true); + } else if (filename.endsWith('.egn')) { + this.importService.importEGN( + // @ts-ignore + document.getElementById('import').files[0], filename, false); + } else if (filename.endsWith('.egn.svg')) { + this.importService.importEGN( + // @ts-ignore + document.getElementById('import').files[0], filename, true); + } + this.modelerService.commandStackChanged(); + } + openSettings() { + this.settingsService.open(); + } + /** Open Dialogs **/ + openDownloadDialog() { + if (this.exportService.isDomainStoryExportable()) { + const SVGDownloadOption = new _Domain_Dialog_exportDialogData__WEBPACK_IMPORTED_MODULE_0__.ExportOption('SVG', 'Download an SVG-Image with the Domain-Story embedded. Can be used to save and share your Domain-Story.', (withTitle, useWhiteBackground) => this.exportService.downloadSVG(withTitle, useWhiteBackground)); + const EGNDownloadOption = new _Domain_Dialog_exportDialogData__WEBPACK_IMPORTED_MODULE_0__.ExportOption('EGN', 'Download an EGN-File with the Domain-Story. Can be used to save and share your Domain-Story.', (withTitle, useWhiteBackground) => this.exportService.downloadDST()); + const PNGDownloadOption = new _Domain_Dialog_exportDialogData__WEBPACK_IMPORTED_MODULE_0__.ExportOption('PNG', 'Donwload a PNG-Image of the DOmain-Story. This does not include the Domain-Story!', (withTitle, useWhiteBackground) => this.exportService.downloadPNG(withTitle)); + const HTMLDownloadOption = new _Domain_Dialog_exportDialogData__WEBPACK_IMPORTED_MODULE_0__.ExportOption('HTML-Presentation', 'Download an HTML-Presentation. This does not include the Domain-Story!', (withTitle, useWhiteBackground) => this.exportService.downloadHTMLPresentation()); + const config = new _angular_material_dialog__WEBPACK_IMPORTED_MODULE_17__.MatDialogConfig(); + config.disableClose = false; + config.autoFocus = true; + config.data = new _Domain_Dialog_exportDialogData__WEBPACK_IMPORTED_MODULE_0__.ExportDialogData('Export', [SVGDownloadOption, EGNDownloadOption, PNGDownloadOption, HTMLDownloadOption]); + this.dialogService.openDialog(_Dialog_export_dialog_export_dialog_component__WEBPACK_IMPORTED_MODULE_1__.ExportDialogComponent, config); + } else { + this.snackbar.open('No Domain Story to be exported', undefined, { + duration: _Domain_Common_constants__WEBPACK_IMPORTED_MODULE_5__.SNACKBAR_DURATION, + panelClass: _Domain_Common_constants__WEBPACK_IMPORTED_MODULE_5__.SNACKBAR_INFO + }); + } + } + openKeyboardShortcutsDialog() { + const title = 'Keyboard shortcuts'; + const shortCutText = 'Undo:\t\t\t\t\tctrl + Z \n' + 'Redo:\t\t\t\t\tctrl + Y OR ctrl + shift + Z\n' + 'Select All:\t\t\t\tctrl + A\n' + 'Export as EGN:\t\t\tctrl + S\n' + 'Import Domain Story: \tctrl + L\n' + 'Search for text:\t\t\tctrl + F\n' + 'Direct editing:\t\t\tE\n' + 'Hand tool:\t\t\t\tH\n' + 'Lasso tool:\t\t\t\tL\n' + 'Space tool:\t\t\t\tS'; + const config = new _angular_material_dialog__WEBPACK_IMPORTED_MODULE_17__.MatDialogConfig(); + config.disableClose = false; + config.autoFocus = true; + config.data = new _Domain_Dialog_infoDialogData__WEBPACK_IMPORTED_MODULE_2__.InfoDialogData(title, shortCutText, true); + this.dialogService.openDialog(_Dialog_info_dialog_info_dialog_component__WEBPACK_IMPORTED_MODULE_3__.InfoDialogComponent, config); + } + openLabelDictionary() { + if (this.exportService.isDomainStoryExportable()) { + const config = new _angular_material_dialog__WEBPACK_IMPORTED_MODULE_17__.MatDialogConfig(); + config.disableClose = false; + config.autoFocus = true; + this.dialogService.openDialog(_Dialog_label_dictionary_dialog_label_dictionary_dialog_component__WEBPACK_IMPORTED_MODULE_4__.LabelDictionaryDialogComponent, config); + } else { + this.snackbar.open('There are currently no Elements on the canvas', undefined, { + duration: _Domain_Common_constants__WEBPACK_IMPORTED_MODULE_5__.SNACKBAR_DURATION, + panelClass: _Domain_Common_constants__WEBPACK_IMPORTED_MODULE_5__.SNACKBAR_INFO + }); + } + } + createNewDomainStory() { + this.titleService.reset(); + this.renderService.reset(); + } + /** Replay functions **/ + startReplay() { + this.replayService.startReplay(); + } + stopReplay() { + this.replayService.stopReplay(); + } + previousStep() { + this.replayService.previousStep(); + } + nextStep() { + this.replayService.nextStep(); + } + static #_ = this.ɵfac = function HeaderButtonsComponent_Factory(t) { + return new (t || HeaderButtonsComponent)(_angular_core__WEBPACK_IMPORTED_MODULE_16__["ɵɵdirectiveInject"](_Service_Settings_settings_service__WEBPACK_IMPORTED_MODULE_6__.SettingsService), _angular_core__WEBPACK_IMPORTED_MODULE_16__["ɵɵdirectiveInject"](_Service_Modeler_modeler_service__WEBPACK_IMPORTED_MODULE_7__.ModelerService), _angular_core__WEBPACK_IMPORTED_MODULE_16__["ɵɵdirectiveInject"](_Service_Replay_replay_state_service__WEBPACK_IMPORTED_MODULE_8__.ReplayStateService), _angular_core__WEBPACK_IMPORTED_MODULE_16__["ɵɵdirectiveInject"](_Service_DirtyFlag_dirty_flag_service__WEBPACK_IMPORTED_MODULE_9__.DirtyFlagService), _angular_core__WEBPACK_IMPORTED_MODULE_16__["ɵɵdirectiveInject"](_Service_Dialog_dialog_service__WEBPACK_IMPORTED_MODULE_10__.DialogService), _angular_core__WEBPACK_IMPORTED_MODULE_16__["ɵɵdirectiveInject"](_Service_Replay_replay_service__WEBPACK_IMPORTED_MODULE_11__.ReplayService), _angular_core__WEBPACK_IMPORTED_MODULE_16__["ɵɵdirectiveInject"](_Service_Export_export_service__WEBPACK_IMPORTED_MODULE_12__.ExportService), _angular_core__WEBPACK_IMPORTED_MODULE_16__["ɵɵdirectiveInject"](_Service_Import_import_domain_story_service__WEBPACK_IMPORTED_MODULE_13__.ImportDomainStoryService), _angular_core__WEBPACK_IMPORTED_MODULE_16__["ɵɵdirectiveInject"](_Service_Title_title_service__WEBPACK_IMPORTED_MODULE_14__.TitleService), _angular_core__WEBPACK_IMPORTED_MODULE_16__["ɵɵdirectiveInject"](_Service_Renderer_renderer_service__WEBPACK_IMPORTED_MODULE_15__.RendererService), _angular_core__WEBPACK_IMPORTED_MODULE_16__["ɵɵdirectiveInject"](_angular_material_snack_bar__WEBPACK_IMPORTED_MODULE_18__.MatSnackBar)); + }; + static #_2 = this.ɵcmp = /*@__PURE__*/_angular_core__WEBPACK_IMPORTED_MODULE_16__["ɵɵdefineComponent"]({ + type: HeaderButtonsComponent, + selectors: [["app-header-buttons"]], + decls: 4, + vars: 6, + consts: [[4, "ngIf"], ["id", "buttonStartReplay", "title", "Start replay", 1, "headerButton", 3, "click"], [1, "material-icons", "materialIconButton"], ["id", "buttonImport", "title", "Import story from file", "onclick", "document.getElementById('import').click();", 1, "headerButton"], ["type", "file", "accept", ".dst, .dst.svg, .egn, .egn.svg", "id", "import", "onclick", "this.value=null;", "name", "file", 2, "display", "none", 3, "change"], ["id", "export", "title", "Export story as .egn, .svg or .png file", 1, "headerButton", 3, "click"], ["class", "material-icons-outlined materialIconButton", 4, "ngIf"], ["class", "material-icons materialIconButton", 4, "ngIf"], ["title", "Label Dictionary", 1, "headerButton", 3, "click"], ["title", "Label Dictionary", 1, "material-icons", "materialIconButton"], ["title", "Settings", 1, "headerButton", 3, "click"], ["title", "Change Icons and Settings", 1, "material-icons", "materialIconButton"], ["title", "Show keyboard shortcuts", 1, "headerButton", 3, "click"], ["title", "Create a new domain story", 1, "headerButton", 3, "click"], [1, "material-icons-outlined", "materialIconButton"], ["title", "Previous Step", 1, "headerButton", 3, "click"], ["title", "NextStep", 1, "headerButton", 3, "click"], ["title", "Stop replay", 1, "headerButton", 3, "click"]], + template: function HeaderButtonsComponent_Template(rf, ctx) { + if (rf & 1) { + _angular_core__WEBPACK_IMPORTED_MODULE_16__["ɵɵtemplate"](0, HeaderButtonsComponent_div_0_Template, 25, 6, "div", 0); + _angular_core__WEBPACK_IMPORTED_MODULE_16__["ɵɵpipe"](1, "async"); + _angular_core__WEBPACK_IMPORTED_MODULE_16__["ɵɵtemplate"](2, HeaderButtonsComponent_div_2_Template, 10, 0, "div", 0); + _angular_core__WEBPACK_IMPORTED_MODULE_16__["ɵɵpipe"](3, "async"); + } + if (rf & 2) { + _angular_core__WEBPACK_IMPORTED_MODULE_16__["ɵɵproperty"]("ngIf", !_angular_core__WEBPACK_IMPORTED_MODULE_16__["ɵɵpipeBind1"](1, 2, ctx.isReplay$)); + _angular_core__WEBPACK_IMPORTED_MODULE_16__["ɵɵadvance"](2); + _angular_core__WEBPACK_IMPORTED_MODULE_16__["ɵɵproperty"]("ngIf", _angular_core__WEBPACK_IMPORTED_MODULE_16__["ɵɵpipeBind1"](3, 4, ctx.isReplay$)); + } + }, + dependencies: [_angular_common__WEBPACK_IMPORTED_MODULE_19__.NgIf, _angular_common__WEBPACK_IMPORTED_MODULE_19__.AsyncPipe], + styles: ["span[_ngcontent-%COMP%] {\n font-size: 15pt;\n color: white;\n}\n\n#dictionaryButton[_ngcontent-%COMP%] {\n opacity: 0.2;\n pointer-events: none;\n}\n\n.headerButton[_ngcontent-%COMP%]:hover {\n cursor: pointer;\n color: white;\n}\n\n.materialIconButton[_ngcontent-%COMP%]:hover {\n color: lightgrey;\n}\n/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8uL3NyYy9hcHAvUHJlc2VudGF0aW9uL0hlYWRlci9oZWFkZXItYnV0dG9ucy5jb21wb25lbnQuc2NzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtFQUNFLGVBQUE7RUFDQSxZQUFBO0FBQ0Y7O0FBRUE7RUFDRSxZQUFBO0VBQ0Esb0JBQUE7QUFDRjs7QUFFQTtFQUNFLGVBQUE7RUFDQSxZQUFBO0FBQ0Y7O0FBRUE7RUFDRSxnQkFBQTtBQUNGIiwic291cmNlc0NvbnRlbnQiOlsic3BhbiB7XG4gIGZvbnQtc2l6ZTogMTVwdDtcbiAgY29sb3I6IHdoaXRlO1xufVxuXG4jZGljdGlvbmFyeUJ1dHRvbiB7XG4gIG9wYWNpdHk6IDAuMjtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG59XG5cbi5oZWFkZXJCdXR0b246aG92ZXIge1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGNvbG9yOiB3aGl0ZTtcbn1cblxuLm1hdGVyaWFsSWNvbkJ1dHRvbjpob3ZlciB7XG4gIGNvbG9yOiBsaWdodGdyZXk7XG59XG4iXSwic291cmNlUm9vdCI6IiJ9 */"] + }); +} + +/***/ }), + +/***/ 25694: +/*!*********************************************************!*\ + !*** ./src/app/Presentation/Header/header.component.ts ***! + \*********************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ HeaderComponent: () => (/* binding */ HeaderComponent) +/* harmony export */ }); +/* harmony import */ var rxjs__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! rxjs */ 32667); +/* harmony import */ var rxjs__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! rxjs */ 13045); +/* harmony import */ var _angular_material_dialog__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! @angular/material/dialog */ 23373); +/* harmony import */ var _Dialog_header_dialog_header_dialog_component__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../Dialog/header-dialog/header-dialog.component */ 849); +/* harmony import */ var _angular_core__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! @angular/core */ 51197); +/* harmony import */ var _Service_Title_title_service__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../Service/Title/title.service */ 32610); +/* harmony import */ var _Service_Replay_replay_service__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../Service/Replay/replay.service */ 85989); +/* harmony import */ var _Service_Replay_replay_state_service__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../Service/Replay/replay-state.service */ 54870); +/* harmony import */ var _Service_Dialog_dialog_service__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../../Service/Dialog/dialog.service */ 33483); +/* harmony import */ var _angular_common__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! @angular/common */ 89650); +/* harmony import */ var _header_buttons_component__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./header-buttons.component */ 10591); +/* harmony import */ var _angular_material_toolbar__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! @angular/material/toolbar */ 94031); +/* harmony import */ var _angular_material_card__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! @angular/material/card */ 31071); + + + + + + + + + + + + +function HeaderComponent_button_2_Template(rf, ctx) { + if (rf & 1) { + const _r5 = _angular_core__WEBPACK_IMPORTED_MODULE_6__["ɵɵgetCurrentView"](); + _angular_core__WEBPACK_IMPORTED_MODULE_6__["ɵɵelementStart"](0, "button", 10); + _angular_core__WEBPACK_IMPORTED_MODULE_6__["ɵɵlistener"]("click", function HeaderComponent_button_2_Template_button_click_0_listener() { + _angular_core__WEBPACK_IMPORTED_MODULE_6__["ɵɵrestoreView"](_r5); + const ctx_r4 = _angular_core__WEBPACK_IMPORTED_MODULE_6__["ɵɵnextContext"](); + return _angular_core__WEBPACK_IMPORTED_MODULE_6__["ɵɵresetView"](ctx_r4.setShowDescription(false)); + }); + _angular_core__WEBPACK_IMPORTED_MODULE_6__["ɵɵelementStart"](1, "span", 11); + _angular_core__WEBPACK_IMPORTED_MODULE_6__["ɵɵtext"](2, " expand_less "); + _angular_core__WEBPACK_IMPORTED_MODULE_6__["ɵɵelementEnd"]()(); + } +} +function HeaderComponent_button_4_Template(rf, ctx) { + if (rf & 1) { + const _r7 = _angular_core__WEBPACK_IMPORTED_MODULE_6__["ɵɵgetCurrentView"](); + _angular_core__WEBPACK_IMPORTED_MODULE_6__["ɵɵelementStart"](0, "button", 12); + _angular_core__WEBPACK_IMPORTED_MODULE_6__["ɵɵlistener"]("click", function HeaderComponent_button_4_Template_button_click_0_listener() { + _angular_core__WEBPACK_IMPORTED_MODULE_6__["ɵɵrestoreView"](_r7); + const ctx_r6 = _angular_core__WEBPACK_IMPORTED_MODULE_6__["ɵɵnextContext"](); + return _angular_core__WEBPACK_IMPORTED_MODULE_6__["ɵɵresetView"](ctx_r6.setShowDescription(true)); + }); + _angular_core__WEBPACK_IMPORTED_MODULE_6__["ɵɵelementStart"](1, "span", 11); + _angular_core__WEBPACK_IMPORTED_MODULE_6__["ɵɵtext"](2, " expand_more"); + _angular_core__WEBPACK_IMPORTED_MODULE_6__["ɵɵelementEnd"]()(); + } +} +function HeaderComponent_span_13_Template(rf, ctx) { + if (rf & 1) { + _angular_core__WEBPACK_IMPORTED_MODULE_6__["ɵɵelementStart"](0, "span", 13); + _angular_core__WEBPACK_IMPORTED_MODULE_6__["ɵɵtext"](1); + _angular_core__WEBPACK_IMPORTED_MODULE_6__["ɵɵpipe"](2, "async"); + _angular_core__WEBPACK_IMPORTED_MODULE_6__["ɵɵelementEnd"](); + } + if (rf & 2) { + const ctx_r2 = _angular_core__WEBPACK_IMPORTED_MODULE_6__["ɵɵnextContext"](); + _angular_core__WEBPACK_IMPORTED_MODULE_6__["ɵɵadvance"](1); + _angular_core__WEBPACK_IMPORTED_MODULE_6__["ɵɵtextInterpolate1"](" Step: ", _angular_core__WEBPACK_IMPORTED_MODULE_6__["ɵɵpipeBind1"](2, 1, ctx_r2.stepDescription$), ""); + } +} +function HeaderComponent_mat_card_17_Template(rf, ctx) { + if (rf & 1) { + _angular_core__WEBPACK_IMPORTED_MODULE_6__["ɵɵelementStart"](0, "mat-card", 14)(1, "span", 15); + _angular_core__WEBPACK_IMPORTED_MODULE_6__["ɵɵtext"](2); + _angular_core__WEBPACK_IMPORTED_MODULE_6__["ɵɵpipe"](3, "async"); + _angular_core__WEBPACK_IMPORTED_MODULE_6__["ɵɵelementEnd"]()(); + } + if (rf & 2) { + const ctx_r3 = _angular_core__WEBPACK_IMPORTED_MODULE_6__["ɵɵnextContext"](); + _angular_core__WEBPACK_IMPORTED_MODULE_6__["ɵɵadvance"](2); + _angular_core__WEBPACK_IMPORTED_MODULE_6__["ɵɵtextInterpolate"](_angular_core__WEBPACK_IMPORTED_MODULE_6__["ɵɵpipeBind1"](3, 1, ctx_r3.description$)); + } +} +class HeaderComponent { + constructor(titleService, replayService, replayStateService, dialogService) { + this.titleService = titleService; + this.replayService = replayService; + this.replayStateService = replayStateService; + this.dialogService = dialogService; + this.title$ = this.titleService.title$; + this.description$ = this.titleService.description$; + this.showDescription$ = this.titleService.showDescription$; + this.isReplay$ = this.replayStateService.replayOn$; + this.stepDescription$ = (0,rxjs__WEBPACK_IMPORTED_MODULE_7__.combineLatest)([this.replayService.currentStep$, this.replayService.maxStepNumber$]).pipe((0,rxjs__WEBPACK_IMPORTED_MODULE_8__.map)(([step, count]) => `${step}/${count}`)); + this.showDescription = this.titleService.showDescription$; + } + openHeaderDialog() { + const config = new _angular_material_dialog__WEBPACK_IMPORTED_MODULE_9__.MatDialogConfig(); + config.disableClose = false; + config.autoFocus = true; + this.dialogService.openDialog(_Dialog_header_dialog_header_dialog_component__WEBPACK_IMPORTED_MODULE_0__.HeaderDialogComponent, config); + } + setShowDescription(show) { + this.titleService.setShowDescription(show); + } + static #_ = this.ɵfac = function HeaderComponent_Factory(t) { + return new (t || HeaderComponent)(_angular_core__WEBPACK_IMPORTED_MODULE_6__["ɵɵdirectiveInject"](_Service_Title_title_service__WEBPACK_IMPORTED_MODULE_1__.TitleService), _angular_core__WEBPACK_IMPORTED_MODULE_6__["ɵɵdirectiveInject"](_Service_Replay_replay_service__WEBPACK_IMPORTED_MODULE_2__.ReplayService), _angular_core__WEBPACK_IMPORTED_MODULE_6__["ɵɵdirectiveInject"](_Service_Replay_replay_state_service__WEBPACK_IMPORTED_MODULE_3__.ReplayStateService), _angular_core__WEBPACK_IMPORTED_MODULE_6__["ɵɵdirectiveInject"](_Service_Dialog_dialog_service__WEBPACK_IMPORTED_MODULE_4__.DialogService)); + }; + static #_2 = this.ɵcmp = /*@__PURE__*/_angular_core__WEBPACK_IMPORTED_MODULE_6__["ɵɵdefineComponent"]({ + type: HeaderComponent, + selectors: [["app-header"]], + decls: 19, + vars: 15, + consts: [["color", "primary", 1, "toolbar"], ["class", "headerButton", "title", "Hide Description", 3, "click", 4, "ngIf"], ["class", "headerButton", "title", "Show Description", 3, "click", 4, "ngIf"], [1, "mr-10"], ["title", "Edit Title and Description", 1, "headline", 3, "click"], [1, "material-icons", "materialIconButton", "editIcon"], [1, "domainNameSpacer"], ["title", "Replay Step", 4, "ngIf"], [1, "buttonSpacer"], ["class", "smallScrollbar description", 4, "ngIf"], ["title", "Hide Description", 1, "headerButton", 3, "click"], [1, "material-icons", "materialIconButton", "toggle"], ["title", "Show Description", 1, "headerButton", 3, "click"], ["title", "Replay Step"], [1, "smallScrollbar", "description"], [1, "descriptionText"]], + template: function HeaderComponent_Template(rf, ctx) { + if (rf & 1) { + _angular_core__WEBPACK_IMPORTED_MODULE_6__["ɵɵelementStart"](0, "mat-toolbar", 0)(1, "mat-toolbar-row"); + _angular_core__WEBPACK_IMPORTED_MODULE_6__["ɵɵtemplate"](2, HeaderComponent_button_2_Template, 3, 0, "button", 1); + _angular_core__WEBPACK_IMPORTED_MODULE_6__["ɵɵpipe"](3, "async"); + _angular_core__WEBPACK_IMPORTED_MODULE_6__["ɵɵtemplate"](4, HeaderComponent_button_4_Template, 3, 0, "button", 2); + _angular_core__WEBPACK_IMPORTED_MODULE_6__["ɵɵpipe"](5, "async"); + _angular_core__WEBPACK_IMPORTED_MODULE_6__["ɵɵelementStart"](6, "span", 3)(7, "span", 4); + _angular_core__WEBPACK_IMPORTED_MODULE_6__["ɵɵlistener"]("click", function HeaderComponent_Template_span_click_7_listener() { + return ctx.openHeaderDialog(); + }); + _angular_core__WEBPACK_IMPORTED_MODULE_6__["ɵɵtext"](8); + _angular_core__WEBPACK_IMPORTED_MODULE_6__["ɵɵpipe"](9, "async"); + _angular_core__WEBPACK_IMPORTED_MODULE_6__["ɵɵelementStart"](10, "span", 5); + _angular_core__WEBPACK_IMPORTED_MODULE_6__["ɵɵtext"](11, " edit "); + _angular_core__WEBPACK_IMPORTED_MODULE_6__["ɵɵelementEnd"]()()(); + _angular_core__WEBPACK_IMPORTED_MODULE_6__["ɵɵelement"](12, "span", 6); + _angular_core__WEBPACK_IMPORTED_MODULE_6__["ɵɵtemplate"](13, HeaderComponent_span_13_Template, 3, 3, "span", 7); + _angular_core__WEBPACK_IMPORTED_MODULE_6__["ɵɵpipe"](14, "async"); + _angular_core__WEBPACK_IMPORTED_MODULE_6__["ɵɵelement"](15, "span", 8)(16, "app-header-buttons"); + _angular_core__WEBPACK_IMPORTED_MODULE_6__["ɵɵelementEnd"]()(); + _angular_core__WEBPACK_IMPORTED_MODULE_6__["ɵɵtemplate"](17, HeaderComponent_mat_card_17_Template, 4, 3, "mat-card", 9); + _angular_core__WEBPACK_IMPORTED_MODULE_6__["ɵɵpipe"](18, "async"); + } + if (rf & 2) { + _angular_core__WEBPACK_IMPORTED_MODULE_6__["ɵɵadvance"](2); + _angular_core__WEBPACK_IMPORTED_MODULE_6__["ɵɵproperty"]("ngIf", _angular_core__WEBPACK_IMPORTED_MODULE_6__["ɵɵpipeBind1"](3, 5, ctx.showDescription)); + _angular_core__WEBPACK_IMPORTED_MODULE_6__["ɵɵadvance"](2); + _angular_core__WEBPACK_IMPORTED_MODULE_6__["ɵɵproperty"]("ngIf", !_angular_core__WEBPACK_IMPORTED_MODULE_6__["ɵɵpipeBind1"](5, 7, ctx.showDescription)); + _angular_core__WEBPACK_IMPORTED_MODULE_6__["ɵɵadvance"](4); + _angular_core__WEBPACK_IMPORTED_MODULE_6__["ɵɵtextInterpolate1"](" ", _angular_core__WEBPACK_IMPORTED_MODULE_6__["ɵɵpipeBind1"](9, 9, ctx.title$), " "); + _angular_core__WEBPACK_IMPORTED_MODULE_6__["ɵɵadvance"](5); + _angular_core__WEBPACK_IMPORTED_MODULE_6__["ɵɵproperty"]("ngIf", _angular_core__WEBPACK_IMPORTED_MODULE_6__["ɵɵpipeBind1"](14, 11, ctx.isReplay$)); + _angular_core__WEBPACK_IMPORTED_MODULE_6__["ɵɵadvance"](4); + _angular_core__WEBPACK_IMPORTED_MODULE_6__["ɵɵproperty"]("ngIf", _angular_core__WEBPACK_IMPORTED_MODULE_6__["ɵɵpipeBind1"](18, 13, ctx.showDescription$)); + } + }, + dependencies: [_angular_common__WEBPACK_IMPORTED_MODULE_10__.NgIf, _header_buttons_component__WEBPACK_IMPORTED_MODULE_5__.HeaderButtonsComponent, _angular_material_toolbar__WEBPACK_IMPORTED_MODULE_11__.MatToolbar, _angular_material_toolbar__WEBPACK_IMPORTED_MODULE_11__.MatToolbarRow, _angular_material_card__WEBPACK_IMPORTED_MODULE_12__.MatCard, _angular_common__WEBPACK_IMPORTED_MODULE_10__.AsyncPipe], + styles: [".noPointer[_ngcontent-%COMP%] {\n cursor: default !important;\n}\n\n.description[_ngcontent-%COMP%] {\n top: 0;\n max-width: 100vw;\n overflow-y: scroll;\n display: grid;\n}\n\n.descriptionText[_ngcontent-%COMP%] {\n position: relative;\n font-size: 10pt;\n overflow-wrap: anywhere;\n word-wrap: anywhere;\n white-space: pre-wrap;\n padding-left: 15px;\n padding-right: 15px;\n align-self: center;\n line-height: 12pt;\n}\n\n.description[_ngcontent-%COMP%]:hover {\n cursor: default;\n}\n\n.domainNameSpacer[_ngcontent-%COMP%] {\n flex: 1 1 auto;\n}\n\n.buttonSpacer[_ngcontent-%COMP%] {\n margin-right: 15px;\n}\n\n.headline[_ngcontent-%COMP%]:hover > .editIcon[_ngcontent-%COMP%] {\n display: contents;\n}\n\n.headline[_ngcontent-%COMP%] > .editIcon[_ngcontent-%COMP%] {\n display: none;\n}\n\n.headerButton[_ngcontent-%COMP%]:hover {\n cursor: pointer;\n color: white;\n}\n/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8uL3NyYy9hcHAvUHJlc2VudGF0aW9uL0hlYWRlci9oZWFkZXIuY29tcG9uZW50LnNjc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7RUFDRSwwQkFBQTtBQUNGOztBQUVBO0VBQ0UsTUFBQTtFQUNBLGdCQUFBO0VBQ0Esa0JBQUE7RUFDQSxhQUFBO0FBQ0Y7O0FBRUE7RUFDRSxrQkFBQTtFQUNBLGVBQUE7RUFDQSx1QkFBQTtFQUNBLG1CQUFBO0VBQ0EscUJBQUE7RUFDQSxrQkFBQTtFQUNBLG1CQUFBO0VBRUEsa0JBQUE7RUFFQSxpQkFBQTtBQURGOztBQUlBO0VBQ0UsZUFBQTtBQURGOztBQUlBO0VBQ0UsY0FBQTtBQURGOztBQUlBO0VBQ0Usa0JBQUE7QUFERjs7QUFJQTtFQUNFLGlCQUFBO0FBREY7O0FBSUE7RUFDRSxhQUFBO0FBREY7O0FBSUE7RUFDRSxlQUFBO0VBQ0EsWUFBQTtBQURGIiwic291cmNlc0NvbnRlbnQiOlsiLm5vUG9pbnRlciB7XG4gIGN1cnNvcjogZGVmYXVsdCAhaW1wb3J0YW50O1xufVxuXG4uZGVzY3JpcHRpb24ge1xuICB0b3A6IDA7XG4gIG1heC13aWR0aDogMTAwdnc7XG4gIG92ZXJmbG93LXk6IHNjcm9sbDtcbiAgZGlzcGxheTogZ3JpZDtcbn1cblxuLmRlc2NyaXB0aW9uVGV4dCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZm9udC1zaXplOiAxMHB0O1xuICBvdmVyZmxvdy13cmFwOiBhbnl3aGVyZTtcbiAgd29yZC13cmFwOiBhbnl3aGVyZTtcbiAgd2hpdGUtc3BhY2U6IHByZS13cmFwO1xuICBwYWRkaW5nLWxlZnQ6IDE1cHg7XG4gIHBhZGRpbmctcmlnaHQ6IDE1cHg7XG5cbiAgYWxpZ24tc2VsZjogY2VudGVyO1xuXG4gIGxpbmUtaGVpZ2h0OiAxMnB0O1xufVxuXG4uZGVzY3JpcHRpb246aG92ZXIge1xuICBjdXJzb3I6IGRlZmF1bHQ7XG59XG5cbi5kb21haW5OYW1lU3BhY2VyIHtcbiAgZmxleDogMSAxIGF1dG87XG59XG5cbi5idXR0b25TcGFjZXIge1xuICBtYXJnaW4tcmlnaHQ6IDE1cHg7XG59XG5cbi5oZWFkbGluZTpob3ZlciA+IC5lZGl0SWNvbiB7XG4gIGRpc3BsYXk6IGNvbnRlbnRzO1xufVxuXG4uaGVhZGxpbmUgPiAuZWRpdEljb24ge1xuICBkaXNwbGF5OiBub25lO1xufVxuXG4uaGVhZGVyQnV0dG9uOmhvdmVyIHtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBjb2xvcjogd2hpdGU7XG59XG4iXSwic291cmNlUm9vdCI6IiJ9 */"] + }); +} + +/***/ }), + +/***/ 19476: +/*!****************************************************************************!*\ + !*** ./src/app/Presentation/LabelDictionary/label-dictionary.component.ts ***! + \****************************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ LabelDictionaryComponent: () => (/* binding */ LabelDictionaryComponent) +/* harmony export */ }); +/* harmony import */ var _angular_core__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @angular/core */ 51197); +/* harmony import */ var rxjs__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! rxjs */ 47530); +/* harmony import */ var _Service_LabelDictionary_label_dictionary_service__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../Service/LabelDictionary/label-dictionary.service */ 84877); +/* harmony import */ var _angular_common__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @angular/common */ 89650); +/* harmony import */ var _angular_material_button__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @angular/material/button */ 96495); +/* harmony import */ var _angular_material_list__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! @angular/material/list */ 18509); +/* harmony import */ var _angular_material_dialog__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! @angular/material/dialog */ 23373); +/* harmony import */ var _angular_material_form_field__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! @angular/material/form-field */ 51589); +/* harmony import */ var _angular_material_input__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! @angular/material/input */ 1319); +/* harmony import */ var _angular_cdk_text_field__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! @angular/cdk/text-field */ 5863); + + + + + + + + + + + +function LabelDictionaryComponent_mat_list_item_5_Template(rf, ctx) { + if (rf & 1) { + const _r4 = _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵgetCurrentView"](); + _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵelementStart"](0, "mat-list-item")(1, "mat-form-field", 6)(2, "input", 7); + _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵlistener"]("change", function LabelDictionaryComponent_mat_list_item_5_Template_input_change_2_listener($event) { + const restoredCtx = _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵrestoreView"](_r4); + const workobjectEntry_r2 = restoredCtx.$implicit; + const ctx_r3 = _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵnextContext"](); + return _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵresetView"](ctx_r3.updateWorkobjectEntry($event, workobjectEntry_r2)); + }); + _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵelementEnd"]()()(); + } + if (rf & 2) { + const workobjectEntry_r2 = ctx.$implicit; + _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵadvance"](2); + _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵproperty"]("value", workobjectEntry_r2.name); + } +} +function LabelDictionaryComponent_mat_list_item_11_Template(rf, ctx) { + if (rf & 1) { + const _r7 = _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵgetCurrentView"](); + _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵelementStart"](0, "mat-list-item")(1, "mat-form-field", 6)(2, "textarea", 8); + _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵlistener"]("change", function LabelDictionaryComponent_mat_list_item_11_Template_textarea_change_2_listener($event) { + const restoredCtx = _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵrestoreView"](_r7); + const activityEntry_r5 = restoredCtx.$implicit; + const ctx_r6 = _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵnextContext"](); + return _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵresetView"](ctx_r6.updateActivityEntry($event, activityEntry_r5)); + })("keydown.enter", function LabelDictionaryComponent_mat_list_item_11_Template_textarea_keydown_enter_2_listener($event) { + _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵrestoreView"](_r7); + const ctx_r8 = _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵnextContext"](); + return _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵresetView"](ctx_r8.preventDefault($event)); + })("keyup.enter", function LabelDictionaryComponent_mat_list_item_11_Template_textarea_keyup_enter_2_listener() { + _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵrestoreView"](_r7); + const ctx_r9 = _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵnextContext"](); + return _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵresetView"](ctx_r9.save()); + })("keyup.escape", function LabelDictionaryComponent_mat_list_item_11_Template_textarea_keyup_escape_2_listener() { + _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵrestoreView"](_r7); + const ctx_r10 = _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵnextContext"](); + return _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵresetView"](ctx_r10.close()); + }); + _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵelementEnd"]()()(); + } + if (rf & 2) { + const activityEntry_r5 = ctx.$implicit; + _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵadvance"](2); + _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵproperty"]("value", activityEntry_r5.name); + } +} +class LabelDictionaryComponent { + constructor(labelDictionaryService) { + this.labelDictionaryService = labelDictionaryService; + this.closeEmitter = new _angular_core__WEBPACK_IMPORTED_MODULE_1__.EventEmitter(); + this.labelDictionaryService.createLabelDictionaries(); + this.workObjectEntries = this.labelDictionaryService.getWorkObjectLabels(); + this.activityEntries = this.labelDictionaryService.getActivityLabels(); + this.workobjectEntriesSubject = new rxjs__WEBPACK_IMPORTED_MODULE_2__.BehaviorSubject(this.workObjectEntries); + this.activityEntriesSubject = new rxjs__WEBPACK_IMPORTED_MODULE_2__.BehaviorSubject(this.activityEntries); + } + ngAfterViewInit() { + this.labelDictionaryService.createLabelDictionaries(); + this.workobjectEntriesSubject.next(this.labelDictionaryService.getWorkObjectLabels()); + this.activityEntriesSubject.next(this.labelDictionaryService.getActivityLabels()); + } + save() { + this.workObjectEntries = this.workobjectEntriesSubject.value; + this.activityEntries = this.activityEntriesSubject.value; + const activityNames = []; + const originalActivityNames = []; + const workObjectNames = []; + const originalWorkObjectNames = []; + this.activityEntries.filter(a => a.name !== a.originalName).forEach(activity => { + activityNames.push(activity.name); + originalActivityNames.push(activity.originalName); + }); + this.workObjectEntries.filter(w => w.name !== w.originalName).forEach(workobject => { + workObjectNames.push(workobject.name); + originalWorkObjectNames.push(workobject.originalName); + }); + this.labelDictionaryService.massRenameLabels(activityNames, originalActivityNames, workObjectNames, originalWorkObjectNames); + this.closeEmitter.emit(); + } + cancel() { + this.workObjectEntries.forEach(w => { + w.name = w.originalName; + }); + this.activityEntries.forEach(a => { + a.name = a.originalName; + }); + this.workobjectEntriesSubject.next(this.workObjectEntries); + this.activityEntriesSubject.next(this.activityEntries); + } + updateActivityEntry($event, activityEntry) { + let entries = this.activityEntriesSubject.value; + entries.filter(e => e.originalName === activityEntry.originalName + // @ts-ignore + )[0].name = $event.target.value; + this.activityEntriesSubject.next(entries); + } + updateWorkobjectEntry($event, workobjectEntry) { + let entries = this.workobjectEntriesSubject.value; + entries.filter(e => e.originalName === workobjectEntry.originalName + // @ts-ignore + )[0].name = $event.target.value; + this.workobjectEntriesSubject.next(entries); + } + preventDefault(event) { + event.preventDefault(); + } + close() { + this.closeEmitter.emit(); + } + static #_ = this.ɵfac = function LabelDictionaryComponent_Factory(t) { + return new (t || LabelDictionaryComponent)(_angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵdirectiveInject"](_Service_LabelDictionary_label_dictionary_service__WEBPACK_IMPORTED_MODULE_0__.LabelDictionaryService)); + }; + static #_2 = this.ɵcmp = /*@__PURE__*/_angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵdefineComponent"]({ + type: LabelDictionaryComponent, + selectors: [["app-label-dictionary"]], + outputs: { + closeEmitter: "closeEmitter" + }, + decls: 18, + vars: 6, + consts: [[1, "workobjectList"], [4, "ngFor", "ngForOf"], [1, "activityList"], [1, "activityListTitle"], ["mat-flat-button", "", 3, "click"], ["mat-flat-button", "", "color", "primary", 3, "click"], [1, "inputText"], ["matInput", "", 1, "inputText", 3, "value", "change"], ["matInput", "", "cdkTextareaAutosize", "", "cdkAutosizeMinRows", "1", "cdkAutosizeMaxRows", "3", 1, "inputText", "activity", 3, "value", "change", "keydown.enter", "keyup.enter", "keyup.escape"]], + template: function LabelDictionaryComponent_Template(rf, ctx) { + if (rf & 1) { + _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵelementStart"](0, "mat-dialog-content")(1, "div", 0)(2, "h3"); + _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵtext"](3, "Workobjects"); + _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵelementEnd"](); + _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵelementStart"](4, "mat-list"); + _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵtemplate"](5, LabelDictionaryComponent_mat_list_item_5_Template, 3, 1, "mat-list-item", 1); + _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵpipe"](6, "async"); + _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵelementEnd"]()(); + _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵelementStart"](7, "div", 2)(8, "h3", 3); + _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵtext"](9, "Activities"); + _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵelementEnd"](); + _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵelementStart"](10, "mat-list"); + _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵtemplate"](11, LabelDictionaryComponent_mat_list_item_11_Template, 3, 1, "mat-list-item", 1); + _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵpipe"](12, "async"); + _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵelementEnd"]()()(); + _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵelementStart"](13, "mat-dialog-actions")(14, "button", 4); + _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵlistener"]("click", function LabelDictionaryComponent_Template_button_click_14_listener() { + return ctx.close(); + }); + _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵtext"](15, "Cancel"); + _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵelementEnd"](); + _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵelementStart"](16, "button", 5); + _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵlistener"]("click", function LabelDictionaryComponent_Template_button_click_16_listener() { + return ctx.save(); + }); + _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵtext"](17, "Save"); + _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵelementEnd"]()(); + } + if (rf & 2) { + _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵadvance"](5); + _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵproperty"]("ngForOf", _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵpipeBind1"](6, 2, ctx.workobjectEntriesSubject)); + _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵadvance"](6); + _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵproperty"]("ngForOf", _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵpipeBind1"](12, 4, ctx.activityEntriesSubject)); + } + }, + dependencies: [_angular_common__WEBPACK_IMPORTED_MODULE_3__.NgForOf, _angular_material_button__WEBPACK_IMPORTED_MODULE_4__.MatButton, _angular_material_list__WEBPACK_IMPORTED_MODULE_5__.MatList, _angular_material_list__WEBPACK_IMPORTED_MODULE_5__.MatListItem, _angular_material_dialog__WEBPACK_IMPORTED_MODULE_6__.MatDialogContent, _angular_material_dialog__WEBPACK_IMPORTED_MODULE_6__.MatDialogActions, _angular_material_form_field__WEBPACK_IMPORTED_MODULE_7__.MatFormField, _angular_material_input__WEBPACK_IMPORTED_MODULE_8__.MatInput, _angular_cdk_text_field__WEBPACK_IMPORTED_MODULE_9__.CdkTextareaAutosize, _angular_common__WEBPACK_IMPORTED_MODULE_3__.AsyncPipe], + styles: ["mat-dialog-content[_ngcontent-%COMP%] {\n display: grid;\n grid-template-columns: auto auto;\n top: 0;\n bottom: 0;\n max-height: 75vh;\n grid-column-gap: 5px;\n width: 75vw;\n}\nmat-dialog-content[_ngcontent-%COMP%] mat-list-item[_ngcontent-%COMP%] {\n height: unset !important;\n}\nmat-dialog-content[_ngcontent-%COMP%] mat-list-item-content[_ngcontent-%COMP%] {\n padding: 0 !important;\n}\n\nh3[_ngcontent-%COMP%] {\n font-weight: bold;\n}\n\n.icon[_ngcontent-%COMP%] {\n width: 36px;\n height: 36px;\n}\n\n.inputText[_ngcontent-%COMP%] {\n width: 98%;\n resize: none;\n font-family: sans-serif;\n font-size: small;\n padding-top: 1px;\n padding-bottom: 1px;\n margin: 0;\n}\n\n.activityListHeader[_ngcontent-%COMP%] {\n display: inline-grid;\n grid-template-columns: auto auto auto;\n width: 100%;\n}\n\n.activityListTitle[_ngcontent-%COMP%] {\n justify-self: left;\n}\n\n.saveButton[_ngcontent-%COMP%] {\n justify-self: end;\n padding-right: 0 !important;\n}\n\n.saveButtonSpan[_ngcontent-%COMP%] {\n margin-left: 2px;\n}\n\n.activity[_ngcontent-%COMP%] {\n max-height: 3rem;\n}\n/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8uL3NyYy9hcHAvUHJlc2VudGF0aW9uL0xhYmVsRGljdGlvbmFyeS9sYWJlbC1kaWN0aW9uYXJ5LmNvbXBvbmVudC5zY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0VBQ0UsYUFBQTtFQUNBLGdDQUFBO0VBQ0EsTUFBQTtFQUNBLFNBQUE7RUFDQSxnQkFBQTtFQUNBLG9CQUFBO0VBQ0EsV0FBQTtBQUNGO0FBQ0U7RUFDRSx3QkFBQTtBQUNKO0FBR0U7RUFDRSxxQkFBQTtBQURKOztBQUtBO0VBQ0UsaUJBQUE7QUFGRjs7QUFLQTtFQUNFLFdBQUE7RUFDQSxZQUFBO0FBRkY7O0FBS0E7RUFDRSxVQUFBO0VBQ0EsWUFBQTtFQUNBLHVCQUFBO0VBQ0EsZ0JBQUE7RUFDQSxnQkFBQTtFQUNBLG1CQUFBO0VBQ0EsU0FBQTtBQUZGOztBQUtBO0VBQ0Usb0JBQUE7RUFDQSxxQ0FBQTtFQUNBLFdBQUE7QUFGRjs7QUFLQTtFQUNFLGtCQUFBO0FBRkY7O0FBS0E7RUFDRSxpQkFBQTtFQUNBLDJCQUFBO0FBRkY7O0FBS0E7RUFDRSxnQkFBQTtBQUZGOztBQUtBO0VBQ0UsZ0JBQUE7QUFGRiIsInNvdXJjZXNDb250ZW50IjpbIm1hdC1kaWFsb2ctY29udGVudCB7XG4gIGRpc3BsYXk6IGdyaWQ7XG4gIGdyaWQtdGVtcGxhdGUtY29sdW1uczogYXV0byBhdXRvO1xuICB0b3A6IDA7XG4gIGJvdHRvbTogMDtcbiAgbWF4LWhlaWdodDogNzV2aDtcbiAgZ3JpZC1jb2x1bW4tZ2FwOiA1cHg7XG4gIHdpZHRoOiA3NXZ3O1xuXG4gIG1hdC1saXN0LWl0ZW0ge1xuICAgIGhlaWdodDogdW5zZXQgIWltcG9ydGFudDtcbiAgICAvL3BhZGRpbmctYm90dG9tOiAycHggIWltcG9ydGFudDtcbiAgfVxuXG4gIG1hdC1saXN0LWl0ZW0tY29udGVudCB7XG4gICAgcGFkZGluZzogMCAhaW1wb3J0YW50O1xuICB9XG59XG5cbmgzIHtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG59XG5cbi5pY29uIHtcbiAgd2lkdGg6IDM2cHg7XG4gIGhlaWdodDogMzZweDtcbn1cblxuLmlucHV0VGV4dCB7XG4gIHdpZHRoOiA5OCU7XG4gIHJlc2l6ZTogbm9uZTtcbiAgZm9udC1mYW1pbHk6IHNhbnMtc2VyaWY7XG4gIGZvbnQtc2l6ZTogc21hbGw7XG4gIHBhZGRpbmctdG9wOiAxcHg7XG4gIHBhZGRpbmctYm90dG9tOiAxcHg7XG4gIG1hcmdpbjogMDtcbn1cblxuLmFjdGl2aXR5TGlzdEhlYWRlciB7XG4gIGRpc3BsYXk6IGlubGluZS1ncmlkO1xuICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IGF1dG8gYXV0byBhdXRvO1xuICB3aWR0aDogMTAwJTtcbn1cblxuLmFjdGl2aXR5TGlzdFRpdGxlIHtcbiAganVzdGlmeS1zZWxmOiBsZWZ0O1xufVxuXG4uc2F2ZUJ1dHRvbiB7XG4gIGp1c3RpZnktc2VsZjogZW5kO1xuICBwYWRkaW5nLXJpZ2h0OiAwICFpbXBvcnRhbnQ7XG59XG5cbi5zYXZlQnV0dG9uU3BhbiB7XG4gIG1hcmdpbi1sZWZ0OiAycHg7XG59XG5cbi5hY3Rpdml0eSB7XG4gIG1heC1oZWlnaHQ6IDNyZW07XG59XG4iXSwic291cmNlUm9vdCI6IiJ9 */"] + }); +} + +/***/ }), + +/***/ 28783: +/*!*****************************************************************************!*\ + !*** ./src/app/Presentation/Settings/General/general-settings.component.ts ***! + \*****************************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ GeneralSettingsComponent: () => (/* binding */ GeneralSettingsComponent) +/* harmony export */ }); +/* harmony import */ var _angular_core__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @angular/core */ 51197); +/* harmony import */ var _Autosave_AutosaveSettings_autosave_settings_component__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../Autosave/AutosaveSettings/autosave-settings.component */ 3264); + + +class GeneralSettingsComponent { + static #_ = this.ɵfac = function GeneralSettingsComponent_Factory(t) { + return new (t || GeneralSettingsComponent)(); + }; + static #_2 = this.ɵcmp = /*@__PURE__*/_angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵdefineComponent"]({ + type: GeneralSettingsComponent, + selectors: [["app-general-settings"]], + decls: 2, + vars: 0, + consts: [[1, "content"]], + template: function GeneralSettingsComponent_Template(rf, ctx) { + if (rf & 1) { + _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵelementStart"](0, "div", 0); + _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵelement"](1, "app-autosave-settings"); + _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵelementEnd"](); + } + }, + dependencies: [_Autosave_AutosaveSettings_autosave_settings_component__WEBPACK_IMPORTED_MODULE_0__.AutosaveSettingsComponent], + styles: [".content[_ngcontent-%COMP%] {\n display: grid;\n grid-template-columns: 450px auto;\n}\n/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8uL3NyYy9hcHAvUHJlc2VudGF0aW9uL1NldHRpbmdzL0dlbmVyYWwvZ2VuZXJhbC1zZXR0aW5ncy5jb21wb25lbnQuc2NzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtFQUNFLGFBQUE7RUFDQSxpQ0FBQTtBQUNGIiwic291cmNlc0NvbnRlbnQiOlsiLmNvbnRlbnQge1xuICBkaXNwbGF5OiBncmlkO1xuICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDQ1MHB4IGF1dG87XG59XG4iXSwic291cmNlUm9vdCI6IiJ9 */"] + }); +} + +/***/ }), + +/***/ 70787: +/*!*************************************************************!*\ + !*** ./src/app/Presentation/Settings/settings.component.ts ***! + \*************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ SettingsComponent: () => (/* binding */ SettingsComponent) +/* harmony export */ }); +/* harmony import */ var rxjs__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! rxjs */ 47530); +/* harmony import */ var _angular_core__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! @angular/core */ 51197); +/* harmony import */ var src_app_Service_Settings_settings_service__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! src/app/Service/Settings/settings.service */ 10323); +/* harmony import */ var src_app_Service_Modeler_modeler_service__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! src/app/Service/Modeler/modeler.service */ 43075); +/* harmony import */ var _Service_DomainConfiguration_domain_customization_service__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../Service/DomainConfiguration/domain-customization.service */ 53666); +/* harmony import */ var _angular_common__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! @angular/common */ 89650); +/* harmony import */ var _General_general_settings_component__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./General/general-settings.component */ 28783); +/* harmony import */ var src_app_Presentation_DomainConfiguration_domain_configuration_component__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! src/app/Presentation/DomainConfiguration/domain-configuration.component */ 67061); +/* harmony import */ var _angular_material_button__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! @angular/material/button */ 96495); +/* harmony import */ var _angular_material_toolbar__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! @angular/material/toolbar */ 94031); + + + + + + + + + + +function SettingsComponent_app_general_settings_15_Template(rf, ctx) { + if (rf & 1) { + _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵelement"](0, "app-general-settings"); + } +} +function SettingsComponent_app_domain_configuration_17_Template(rf, ctx) { + if (rf & 1) { + _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵelement"](0, "app-domain-configuration", 10); + } +} +class SettingsComponent { + constructor(settingsService, modelerService, domainCustomizationService) { + this.settingsService = settingsService; + this.modelerService = modelerService; + this.domainCustomizationService = domainCustomizationService; + this.showGeneralSettings = new rxjs__WEBPACK_IMPORTED_MODULE_6__.BehaviorSubject(false); + this.showDomainCustomization = new rxjs__WEBPACK_IMPORTED_MODULE_6__.BehaviorSubject(true); + } + close() { + const savedConfiguration = this.domainCustomizationService.getAndClearSavedConfiguration(); + if (savedConfiguration) { + this.modelerService.restart(savedConfiguration); + } + this.settingsService.close(); + } + openGeneralSettings() { + this.showGeneralSettings.next(true); + this.showDomainCustomization.next(false); + } + openDomainCustomization() { + this.showGeneralSettings.next(false); + this.showDomainCustomization.next(true); + } + static #_ = this.ɵfac = function SettingsComponent_Factory(t) { + return new (t || SettingsComponent)(_angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵdirectiveInject"](src_app_Service_Settings_settings_service__WEBPACK_IMPORTED_MODULE_0__.SettingsService), _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵdirectiveInject"](src_app_Service_Modeler_modeler_service__WEBPACK_IMPORTED_MODULE_1__.ModelerService), _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵdirectiveInject"](_Service_DomainConfiguration_domain_customization_service__WEBPACK_IMPORTED_MODULE_2__.DomainCustomizationService)); + }; + static #_2 = this.ɵcmp = /*@__PURE__*/_angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵdefineComponent"]({ + type: SettingsComponent, + selectors: [["app-settings"]], + decls: 19, + vars: 14, + consts: [[1, "settings"], ["color", "primary", 1, "toolbar"], ["mat-icon-button", "", 1, "headerButton", "noPadding", 3, "click"], [1, "material-icons-outlined", "materialIconButton"], [1, "paddedButton"], ["mat-button", "", 1, "headerButton", "mr-10", 3, "click"], [1, "headline"], ["mat-button", "", 1, "headerButton", 3, "click"], [4, "ngIf"], ["class", "tab", 4, "ngIf"], [1, "tab"]], + template: function SettingsComponent_Template(rf, ctx) { + if (rf & 1) { + _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵelementStart"](0, "div", 0)(1, "mat-toolbar", 1)(2, "mat-toolbar-row")(3, "button", 2); + _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵlistener"]("click", function SettingsComponent_Template_button_click_3_listener() { + return ctx.close(); + }); + _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵelementStart"](4, "span", 3); + _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵtext"](5, " arrow_back"); + _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵelementEnd"]()(); + _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵelementStart"](6, "div", 4)(7, "button", 5); + _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵlistener"]("click", function SettingsComponent_Template_button_click_7_listener() { + return ctx.openDomainCustomization(); + }); + _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵpipe"](8, "async"); + _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵelementStart"](9, "span", 6); + _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵtext"](10, "Customize Icons for Your Domain"); + _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵelementEnd"]()(); + _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵelementStart"](11, "button", 7); + _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵlistener"]("click", function SettingsComponent_Template_button_click_11_listener() { + return ctx.openGeneralSettings(); + }); + _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵpipe"](12, "async"); + _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵelementStart"](13, "span", 6); + _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵtext"](14, "General Settings"); + _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵelementEnd"]()()()()(); + _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵtemplate"](15, SettingsComponent_app_general_settings_15_Template, 1, 0, "app-general-settings", 8); + _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵpipe"](16, "async"); + _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵtemplate"](17, SettingsComponent_app_domain_configuration_17_Template, 1, 0, "app-domain-configuration", 9); + _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵpipe"](18, "async"); + _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵelementEnd"](); + } + if (rf & 2) { + _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵadvance"](7); + _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵclassProp"]("highlight", _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵpipeBind1"](8, 6, ctx.showDomainCustomization)); + _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵadvance"](4); + _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵclassProp"]("highlight", _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵpipeBind1"](12, 8, ctx.showGeneralSettings)); + _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵadvance"](4); + _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵproperty"]("ngIf", _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵpipeBind1"](16, 10, ctx.showGeneralSettings)); + _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵadvance"](2); + _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵproperty"]("ngIf", _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵpipeBind1"](18, 12, ctx.showDomainCustomization)); + } + }, + dependencies: [_angular_common__WEBPACK_IMPORTED_MODULE_7__.NgIf, _General_general_settings_component__WEBPACK_IMPORTED_MODULE_3__.GeneralSettingsComponent, src_app_Presentation_DomainConfiguration_domain_configuration_component__WEBPACK_IMPORTED_MODULE_4__.DomainConfigurationComponent, _angular_material_button__WEBPACK_IMPORTED_MODULE_8__.MatButton, _angular_material_button__WEBPACK_IMPORTED_MODULE_8__.MatIconButton, _angular_material_toolbar__WEBPACK_IMPORTED_MODULE_9__.MatToolbar, _angular_material_toolbar__WEBPACK_IMPORTED_MODULE_9__.MatToolbarRow, _angular_common__WEBPACK_IMPORTED_MODULE_7__.AsyncPipe], + styles: ["mat-toolbar[_ngcontent-%COMP%] *[_ngcontent-%COMP%] {\n color: white;\n}\n\napp-general-settings[_ngcontent-%COMP%] {\n overflow-y: auto;\n}\n\n.settings[_ngcontent-%COMP%] {\n display: grid;\n grid-template-rows: 65px auto;\n width: 100%;\n height: 100%;\n}\n.settings[_ngcontent-%COMP%] .mat-button {\n padding: 0;\n}\n.settings[_ngcontent-%COMP%] .materialIconButton[_ngcontent-%COMP%] {\n margin-top: 0;\n margin-right: 5px;\n padding: 0;\n}\n\n.highlight[_ngcontent-%COMP%] {\n border: 2px solid white;\n}\n\n.tab[_ngcontent-%COMP%] {\n display: inline-block;\n height: calc(100% - 10px);\n width: 100%;\n overflow: hidden;\n}\n\n .mat-tab-label, .mat-tab-label-active {\n height: 30px !important;\n}\n/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8uL3NyYy9hcHAvUHJlc2VudGF0aW9uL1NldHRpbmdzL3NldHRpbmdzLmNvbXBvbmVudC5zY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0VBQ0UsWUFBQTtBQUNGOztBQUVBO0VBQ0UsZ0JBQUE7QUFDRjs7QUFFQTtFQUNFLGFBQUE7RUFDQSw2QkFBQTtFQUNBLFdBQUE7RUFDQSxZQUFBO0FBQ0Y7QUFDRTtFQUNFLFVBQUE7QUFDSjtBQUVFO0VBQ0UsYUFBQTtFQUNBLGlCQUFBO0VBQ0EsVUFBQTtBQUFKOztBQUlBO0VBQ0UsdUJBQUE7QUFERjs7QUFJQTtFQUNFLHFCQUFBO0VBQ0EseUJBQUE7RUFDQSxXQUFBO0VBQ0EsZ0JBQUE7QUFERjs7QUFJQTs7RUFFRSx1QkFBQTtBQURGIiwic291cmNlc0NvbnRlbnQiOlsibWF0LXRvb2xiYXIgKiB7XG4gIGNvbG9yOiB3aGl0ZTtcbn1cblxuYXBwLWdlbmVyYWwtc2V0dGluZ3Mge1xuICBvdmVyZmxvdy15OiBhdXRvO1xufVxuXG4uc2V0dGluZ3Mge1xuICBkaXNwbGF5OiBncmlkO1xuICBncmlkLXRlbXBsYXRlLXJvd3M6IDY1cHggYXV0bztcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcblxuICA6Om5nLWRlZXAubWF0LWJ1dHRvbiB7XG4gICAgcGFkZGluZzogMDtcbiAgfVxuXG4gIC5tYXRlcmlhbEljb25CdXR0b24ge1xuICAgIG1hcmdpbi10b3A6IDA7XG4gICAgbWFyZ2luLXJpZ2h0OiA1cHg7XG4gICAgcGFkZGluZzogMDtcbiAgfVxufVxuXG4uaGlnaGxpZ2h0IHtcbiAgYm9yZGVyOiAycHggc29saWQgd2hpdGU7XG59XG5cbi50YWIge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGhlaWdodDogY2FsYygxMDAlIC0gMTBweCk7XG4gIHdpZHRoOiAxMDAlO1xuICBvdmVyZmxvdzogaGlkZGVuO1xufVxuXG46Om5nLWRlZXAubWF0LXRhYi1sYWJlbCxcbjo6bmctZGVlcC5tYXQtdGFiLWxhYmVsLWFjdGl2ZSB7XG4gIGhlaWdodDogMzBweCAhaW1wb3J0YW50O1xufVxuIl0sInNvdXJjZVJvb3QiOiIifQ== */"] + }); +} + +/***/ }), + +/***/ 33630: +/*!********************************************************************!*\ + !*** ./src/app/Service/Autosave/autosave-configuration.service.ts ***! + \********************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ AutosaveConfigurationService: () => (/* binding */ AutosaveConfigurationService) +/* harmony export */ }); +/* harmony import */ var rxjs__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! rxjs */ 85439); +/* harmony import */ var src_app_Domain_Common_constants__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! src/app/Domain/Common/constants */ 45219); +/* harmony import */ var _angular_core__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @angular/core */ 51197); +/* harmony import */ var _BrowserStorage_storage_service__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../BrowserStorage/storage.service */ 83681); + + + + +const AUTOSAVE_CONFIGURATION_TAG = 'autosaveConfiguration'; +const defaultConfiguration = { + activated: src_app_Domain_Common_constants__WEBPACK_IMPORTED_MODULE_0__.DEFAULT_AUTOSAVES_ENABLED, + interval: src_app_Domain_Common_constants__WEBPACK_IMPORTED_MODULE_0__.DEFAULT_AUTOSAVES_INTERVAL, + amount: src_app_Domain_Common_constants__WEBPACK_IMPORTED_MODULE_0__.DEFAULT_AUTOSAVES_AMOUNT +}; +class AutosaveConfigurationService { + constructor(storageService) { + this.storageService = storageService; + this.configuration = defaultConfiguration; + this.configurationSubject = new rxjs__WEBPACK_IMPORTED_MODULE_2__.ReplaySubject(1); + this.configuration$ = this.configurationSubject.asObservable(); + this.initializeConfiguration(); + } + initializeConfiguration() { + this.loadConfiguration(); + this.configurationSubject.next(this.configuration); + } + setConfiguration(configuration) { + try { + this.configuration = configuration; + this.saveConfiguration(); + this.configurationSubject.next(configuration); + return true; + } catch { + return false; + } + } + loadConfiguration() { + this.configuration = this.storageService.get(AUTOSAVE_CONFIGURATION_TAG) ?? defaultConfiguration; + } + saveConfiguration() { + this.storageService.set(AUTOSAVE_CONFIGURATION_TAG, this.configuration); + } + static #_ = this.ɵfac = function AutosaveConfigurationService_Factory(t) { + return new (t || AutosaveConfigurationService)(_angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵinject"](_BrowserStorage_storage_service__WEBPACK_IMPORTED_MODULE_1__.StorageService)); + }; + static #_2 = this.ɵprov = /*@__PURE__*/_angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵdefineInjectable"]({ + token: AutosaveConfigurationService, + factory: AutosaveConfigurationService.ɵfac, + providedIn: 'root' + }); +} + +/***/ }), + +/***/ 64479: +/*!******************************************************!*\ + !*** ./src/app/Service/Autosave/autosave.service.ts ***! + \******************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ AutosaveService: () => (/* binding */ AutosaveService), +/* harmony export */ DRAFTS_TAG: () => (/* binding */ DRAFTS_TAG) +/* harmony export */ }); +/* harmony import */ var _Domain_Common_elementTypes__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../Domain/Common/elementTypes */ 17290); +/* harmony import */ var _Domain_Common_domainConfiguration__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../Domain/Common/domainConfiguration */ 58643); +/* harmony import */ var rxjs__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! rxjs */ 30240); +/* harmony import */ var _Domain_Common_constants__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../Domain/Common/constants */ 45219); +/* harmony import */ var _angular_core__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! @angular/core */ 51197); +/* harmony import */ var _autosave_configuration_service__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./autosave-configuration.service */ 33630); +/* harmony import */ var _Export_export_service__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../Export/export.service */ 95722); +/* harmony import */ var _DomainConfiguration_icon_dictionary_service__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../DomainConfiguration/icon-dictionary.service */ 19673); +/* harmony import */ var _Renderer_renderer_service__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../Renderer/renderer.service */ 87300); +/* harmony import */ var _angular_material_snack_bar__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! @angular/material/snack-bar */ 93768); +/* harmony import */ var _BrowserStorage_storage_service__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../BrowserStorage/storage.service */ 83681); +/* harmony import */ var _Title_title_service__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../Title/title.service */ 32610); + + + + + + + + + + + + +const DRAFTS_TAG = 'autosaveDrafts'; +class AutosaveService { + constructor(autosaveConfiguration, exportService, iconDictionaryService, rendererService, snackbar, storageService, titleService) { + this.autosaveConfiguration = autosaveConfiguration; + this.exportService = exportService; + this.iconDictionaryService = iconDictionaryService; + this.rendererService = rendererService; + this.snackbar = snackbar; + this.storageService = storageService; + this.titleService = titleService; + this.autosavedDraftsChanged$ = new rxjs__WEBPACK_IMPORTED_MODULE_9__.Subject(); + this.autosaveConfiguration.configuration$.subscribe(configuration => this.updateConfiguration(configuration)); + } + loadCurrentDrafts() { + const drafts = this.readDrafts(); + this.sortDrafts(drafts); + return drafts; + } + loadDraft(draft) { + const configFromFile = draft.configAndDST.domain; + const config = (0,_Domain_Common_domainConfiguration__WEBPACK_IMPORTED_MODULE_1__.fromConfigurationFromFile)(configFromFile); + const story = JSON.parse(draft.configAndDST.dst); + this.titleService.updateTitleAndDescription(draft.title, draft.description, false); + const actorIcons = this.iconDictionaryService.getElementsOfType(story, _Domain_Common_elementTypes__WEBPACK_IMPORTED_MODULE_0__.elementTypes.ACTOR); + const workObjectIcons = this.iconDictionaryService.getElementsOfType(story, _Domain_Common_elementTypes__WEBPACK_IMPORTED_MODULE_0__.elementTypes.WORKOBJECT); + this.iconDictionaryService.updateIconRegistries(actorIcons, workObjectIcons, config); + this.rendererService.importStory(story, true, config, false); + } + removeAllDrafts() { + this.storageService.set(DRAFTS_TAG, []); + this.autosavedDraftsChanged$.next(); + } + loadLatestDraft() { + const drafts = this.readDrafts(); + if (drafts.length === 0) { + return; + } + this.loadDraft(drafts[0]); + } + updateConfiguration(configuration) { + this.stopTimer(); + if (configuration.activated) { + this.startTimer(configuration.interval, configuration.amount); + } + } + stopTimer() { + if (this.autosaveTimer) { + clearInterval(this.autosaveTimer); + this.autosaveTimer = undefined; + } + } + startTimer(interval, amount) { + this.autosaveTimer = setInterval(() => { + const drafts = this.loadCurrentDrafts(); + const newDraft = this.createDraft(); + let isChanged = amount > 0; + if (drafts.length > 0) { + isChanged = isChanged && !this.isSame(newDraft, drafts[0]); + } + if (isChanged && !this.isDraftEmpty(newDraft)) { + drafts.unshift(newDraft); + while (drafts.length > amount) { + drafts.pop(); + } + this.writeDrafts(drafts); + this.snackbar.open('Draft Saved', undefined, { + panelClass: _Domain_Common_constants__WEBPACK_IMPORTED_MODULE_2__.SNACKBAR_INFO, + duration: _Domain_Common_constants__WEBPACK_IMPORTED_MODULE_2__.SNACKBAR_DURATION + }); + this.autosavedDraftsChanged$.next(); + } + }, interval * 1000); + } + isDraftEmpty(draft) { + return draft.title === _Domain_Common_constants__WEBPACK_IMPORTED_MODULE_2__.INITIAL_TITLE && draft.description === _Domain_Common_constants__WEBPACK_IMPORTED_MODULE_2__.INITIAL_DESCRIPTION && JSON.parse(draft.configAndDST.dst).length === 0; + } + isSame(a, b) { + return a.title === b.title && a.description === b.description && JSON.stringify(a.configAndDST) === JSON.stringify(b.configAndDST); + } + writeDrafts(drafts) { + this.storageService.set(DRAFTS_TAG, drafts); + } + readDrafts() { + return this.storageService.get(DRAFTS_TAG) ?? []; + } + createDraft() { + const dst = JSON.stringify(this.rendererService.getStory(), null, 2); + const configAndDST = this.exportService.createConfigAndDST(dst); + const date = new Date().toString().slice(0, 25); + return { + title: this.titleService.getTitle(), + description: this.titleService.getDescription(), + configAndDST, + date + }; + } + sortDrafts(drafts) { + drafts.sort((a, b) => { + const aDate = Date.parse(a.date); + const bDate = Date.parse(b.date); + return aDate > bDate ? 0 : 1; + }); + } + static #_ = this.ɵfac = function AutosaveService_Factory(t) { + return new (t || AutosaveService)(_angular_core__WEBPACK_IMPORTED_MODULE_10__["ɵɵinject"](_autosave_configuration_service__WEBPACK_IMPORTED_MODULE_3__.AutosaveConfigurationService), _angular_core__WEBPACK_IMPORTED_MODULE_10__["ɵɵinject"](_Export_export_service__WEBPACK_IMPORTED_MODULE_4__.ExportService), _angular_core__WEBPACK_IMPORTED_MODULE_10__["ɵɵinject"](_DomainConfiguration_icon_dictionary_service__WEBPACK_IMPORTED_MODULE_5__.IconDictionaryService), _angular_core__WEBPACK_IMPORTED_MODULE_10__["ɵɵinject"](_Renderer_renderer_service__WEBPACK_IMPORTED_MODULE_6__.RendererService), _angular_core__WEBPACK_IMPORTED_MODULE_10__["ɵɵinject"](_angular_material_snack_bar__WEBPACK_IMPORTED_MODULE_11__.MatSnackBar), _angular_core__WEBPACK_IMPORTED_MODULE_10__["ɵɵinject"](_BrowserStorage_storage_service__WEBPACK_IMPORTED_MODULE_7__.StorageService), _angular_core__WEBPACK_IMPORTED_MODULE_10__["ɵɵinject"](_Title_title_service__WEBPACK_IMPORTED_MODULE_8__.TitleService)); + }; + static #_2 = this.ɵprov = /*@__PURE__*/_angular_core__WEBPACK_IMPORTED_MODULE_10__["ɵɵdefineInjectable"]({ + token: AutosaveService, + factory: AutosaveService.ɵfac, + providedIn: 'root' + }); +} + +/***/ }), + +/***/ 83681: +/*!***********************************************************!*\ + !*** ./src/app/Service/BrowserStorage/storage.service.ts ***! + \***********************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ StorageService: () => (/* binding */ StorageService) +/* harmony export */ }); +/* harmony import */ var _Domain_Common_constants__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../Domain/Common/constants */ 45219); +/* harmony import */ var _Domain_Common_domainConfiguration__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../Domain/Common/domainConfiguration */ 58643); +/* harmony import */ var _angular_core__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @angular/core */ 51197); + + + +class StorageService { + set(key, value) { + localStorage.setItem(key, JSON.stringify(value)); + } + get(key) { + const json = localStorage.getItem(key); + if (json) { + return JSON.parse(json); + } + return null; + } + removeItem(key) { + localStorage.removeItem(key); + } + checkValidityOfConfiguration(configuratioFromFile) { + return configuratioFromFile.actors.keysArray().length > 1 && configuratioFromFile.workObjects.keysArray().length > 1 && !configuratioFromFile.actors.all().some(e => typeof e.value !== 'string') && !configuratioFromFile.workObjects.all().some(e => typeof e.value !== 'string'); + } + getStoredDomainConfiguration() { + const domainString = localStorage.getItem(_Domain_Common_constants__WEBPACK_IMPORTED_MODULE_0__.DOMAIN_CONFIGURATION_TAG); + if (!domainString) { + return; + } else { + const configuratioFromFile = (0,_Domain_Common_domainConfiguration__WEBPACK_IMPORTED_MODULE_1__.fromConfigurationFromFile)(JSON.parse(domainString)); + if (this.checkValidityOfConfiguration(configuratioFromFile)) { + return configuratioFromFile; + } + } + return; + } + setStoredDomainConfiguration(config) { + const actors = {}; + config.actors.keysArray().forEach(key => { + actors[key] = config.actors.get(key); + }); + const workObjects = {}; + config.workObjects.keysArray().forEach(key => { + workObjects[key] = config.workObjects.get(key); + }); + const configForStorage = { + name: config.name, + actors: actors, + workObjects: workObjects + }; + localStorage.setItem(_Domain_Common_constants__WEBPACK_IMPORTED_MODULE_0__.DOMAIN_CONFIGURATION_TAG, JSON.stringify(configForStorage, null, 2)); + } + static #_ = this.ɵfac = function StorageService_Factory(t) { + return new (t || StorageService)(); + }; + static #_2 = this.ɵprov = /*@__PURE__*/_angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵdefineInjectable"]({ + token: StorageService, + factory: StorageService.ɵfac, + providedIn: 'root' + }); +} + +/***/ }), + +/***/ 70847: +/*!***************************************************************!*\ + !*** ./src/app/Service/CommandStack/command-stack.service.ts ***! + \***************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ CommandStackService: () => (/* binding */ CommandStackService) +/* harmony export */ }); +/* harmony import */ var _angular_core__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @angular/core */ 51197); + +class CommandStackService { + constructor() {} + setCommandStack(commandStack) { + this.commandStack = commandStack; + } + execute(action, payload) { + this.commandStack.execute(action, payload); + } + static #_ = this.ɵfac = function CommandStackService_Factory(t) { + return new (t || CommandStackService)(); + }; + static #_2 = this.ɵprov = /*@__PURE__*/_angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵdefineInjectable"]({ + token: CommandStackService, + factory: CommandStackService.ɵfac, + providedIn: 'root' + }); +} + +/***/ }), + +/***/ 33483: +/*!**************************************************!*\ + !*** ./src/app/Service/Dialog/dialog.service.ts ***! + \**************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ DialogService: () => (/* binding */ DialogService) +/* harmony export */ }); +/* harmony import */ var _angular_core__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @angular/core */ 51197); +/* harmony import */ var _angular_material_dialog__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @angular/material/dialog */ 23373); + + +class DialogService { + constructor(matDialog) { + this.matDialog = matDialog; + } + openDialog(dialog, config) { + this.matDialog.open(dialog, config); + } + static #_ = this.ɵfac = function DialogService_Factory(t) { + return new (t || DialogService)(_angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵinject"](_angular_material_dialog__WEBPACK_IMPORTED_MODULE_1__.MatDialog)); + }; + static #_2 = this.ɵprov = /*@__PURE__*/_angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵdefineInjectable"]({ + token: DialogService, + factory: DialogService.ɵfac, + providedIn: 'root' + }); +} + +/***/ }), + +/***/ 52828: +/*!*********************************************************!*\ + !*** ./src/app/Service/DirtyFlag/dirty-flag.service.ts ***! + \*********************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ DirtyFlagService: () => (/* binding */ DirtyFlagService) +/* harmony export */ }); +/* harmony import */ var rxjs__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! rxjs */ 47530); +/* harmony import */ var _angular_core__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @angular/core */ 51197); + + +class DirtyFlagService { + constructor() { + this.isDirtySubject = new rxjs__WEBPACK_IMPORTED_MODULE_0__.BehaviorSubject(false); + this.dirty$ = this.isDirtySubject.asObservable(); + } + makeDirty() { + this.isDirtySubject.next(true); + } + makeClean() { + this.isDirtySubject.next(false); + } + get dirty() { + return this.isDirtySubject.value; + } + static #_ = this.ɵfac = function DirtyFlagService_Factory(t) { + return new (t || DirtyFlagService)(); + }; + static #_2 = this.ɵprov = /*@__PURE__*/_angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵdefineInjectable"]({ + token: DirtyFlagService, + factory: DirtyFlagService.ɵfac, + providedIn: 'root' + }); +} + +/***/ }), + +/***/ 60285: +/*!*********************************************************************!*\ + !*** ./src/app/Service/DomManipulation/dom-manipulation.service.ts ***! + \*********************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ DomManipulationService: () => (/* binding */ DomManipulationService) +/* harmony export */ }); +/* harmony import */ var src_app_Domain_Common_elementTypes__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! src/app/Domain/Common/elementTypes */ 17290); +/* harmony import */ var _Domain_DomManipulation_replayConstants__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../Domain/DomManipulation/replayConstants */ 58020); +/* harmony import */ var _angular_core__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @angular/core */ 51197); +/* harmony import */ var src_app_Service_ElementRegistry_element_registry_service__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! src/app/Service/ElementRegistry/element-registry.service */ 83335); + + + + +/** + * Manipulates the DOM during replay to only show the elements of the current Step + */ +class DomManipulationService { + constructor(elementRegistryService) { + this.elementRegistryService = elementRegistryService; + } + showAll() { + this.removeHighlights(); + this.elementRegistryService.getAllCanvasObjects().slice().concat(this.elementRegistryService.getAllGroups().slice()).map(e => e.businessObject).forEach(element => { + const domObject = document.querySelector('[data-element-id=' + element.id + ']'); + // @ts-ignore + domObject.style.display = 'block'; + }); + } + showStep(replayStep, previousStep) { + this.removeHighlights(); + const notShown = this.getAllNotShown(replayStep.objects); + notShown.forEach(element => { + const domObject = document.querySelector('[data-element-id=' + element.id + ']'); + if (domObject) { + // @ts-ignore + domObject.style.display = 'none'; + } + }); + this.hightlightStep(previousStep ? replayStep.objects.filter(o => !previousStep.objects.includes(o)) : replayStep.objects); + replayStep.objects.forEach(element => { + const domObject = document.querySelector('[data-element-id=' + element.id + ']'); + if (domObject) { + // @ts-ignore + domObject.style.display = 'block'; + } + }); + } + getNumberDomForActivity(activity) { + const numberDOMS = activity.parentElement?.getElementsByClassName('djs-labelNumber') || ['', '']; + return { + numberBackgroundDom: numberDOMS[0], + numberTextDom: numberDOMS[1] + }; + } + removeHighlights() { + const allActivities = this.elementRegistryService.getAllActivities(); + const allConnections = this.elementRegistryService.getAllConnections(); + allActivities.forEach(activity => { + const querySelector = document.querySelector('[data-element-id=' + activity.id + ']'); + if (querySelector) { + const activityDomObject = querySelector.getElementsByTagName('polyline')[0]; + activityDomObject.style.stroke = activity.businessObject.pickedColor || 'black'; + activityDomObject.style.strokeWidth = _Domain_DomManipulation_replayConstants__WEBPACK_IMPORTED_MODULE_1__.STROKE_WIDTH; + const { + numberBackgroundDom, + numberTextDom + } = this.getNumberDomForActivity(activityDomObject); + if (numberBackgroundDom && numberTextDom) { + numberBackgroundDom.style.fill = _Domain_DomManipulation_replayConstants__WEBPACK_IMPORTED_MODULE_1__.NUMBER_BACKGROUND_COLOR; + numberTextDom.style.fill = _Domain_DomManipulation_replayConstants__WEBPACK_IMPORTED_MODULE_1__.NUMBER_COLOR; + } + } + }); + allConnections.forEach(connection => { + // @ts-ignore + const connectionDomObject = document.querySelector('[data-element-id=' + connection.id + ']').getElementsByTagName('polyline')[0]; + connectionDomObject.style.stroke = connection.businessObject.pickedColor || 'black'; + connectionDomObject.style.strokeWidth = '1.5'; + }); + } + hightlightStep(stepObjects) { + stepObjects.filter(e => e.type === src_app_Domain_Common_elementTypes__WEBPACK_IMPORTED_MODULE_0__.elementTypes.ACTIVITY).forEach(activity => { + const querySelector = document.querySelector('[data-element-id=' + activity.id + ']'); + if (querySelector) { + const activityDomObject = querySelector.getElementsByTagName('polyline')[0]; + activityDomObject.style.stroke = _Domain_DomManipulation_replayConstants__WEBPACK_IMPORTED_MODULE_1__.HIGHLIGHT_COLOR; + activityDomObject.style.strokeWidth = _Domain_DomManipulation_replayConstants__WEBPACK_IMPORTED_MODULE_1__.HIGHLIGHT_STROKE_WIDTH; + const { + numberBackgroundDom, + numberTextDom + } = this.getNumberDomForActivity(activityDomObject); + if (numberTextDom && numberBackgroundDom) { + numberBackgroundDom.style.fill = _Domain_DomManipulation_replayConstants__WEBPACK_IMPORTED_MODULE_1__.HIGHLIGHT_NUMBER_BACKGROUNG_COLOR; + numberTextDom.style.fill = _Domain_DomManipulation_replayConstants__WEBPACK_IMPORTED_MODULE_1__.HIGHLIGHT_NUMBER_COLOR; + } + } + }); + } + getAllNotShown(shownElements) { + const notShownElements = []; + const allObjects = this.elementRegistryService.getAllCanvasObjects().concat(this.elementRegistryService.getAllGroups()); + allObjects.forEach(element => { + if (!shownElements.includes(element.businessObject)) { + if (element.type.includes(src_app_Domain_Common_elementTypes__WEBPACK_IMPORTED_MODULE_0__.elementTypes.CONNECTION)) { + // @ts-ignore + if (!element.source.type.includes(src_app_Domain_Common_elementTypes__WEBPACK_IMPORTED_MODULE_0__.elementTypes.GROUP)) { + notShownElements.push(element.businessObject); + } else { + // @ts-ignore + shownElements.push(element.target); + } + } else { + notShownElements.push(element.businessObject); + } + } + }); + return notShownElements; + } + static #_ = this.ɵfac = function DomManipulationService_Factory(t) { + return new (t || DomManipulationService)(_angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵinject"](src_app_Service_ElementRegistry_element_registry_service__WEBPACK_IMPORTED_MODULE_2__.ElementRegistryService)); + }; + static #_2 = this.ɵprov = /*@__PURE__*/_angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵdefineInjectable"]({ + token: DomManipulationService, + factory: DomManipulationService.ɵfac, + providedIn: 'root' + }); +} + +/***/ }), + +/***/ 88421: +/*!*****************************************************************************!*\ + !*** ./src/app/Service/DomainConfiguration/domain-configuration.service.ts ***! + \*****************************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ DomainConfigurationService: () => (/* binding */ DomainConfigurationService) +/* harmony export */ }); +/* harmony import */ var src_app_Domain_Common_dictionary_dictionary__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! src/app/Domain/Common/dictionary/dictionary */ 6789); +/* harmony import */ var src_app_Domain_Common_elementTypes__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! src/app/Domain/Common/elementTypes */ 17290); +/* harmony import */ var _Domain_Common_iconConfiguration__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../Domain/Common/iconConfiguration */ 66848); +/* harmony import */ var _Domain_Common_constants__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../Domain/Common/constants */ 45219); +/* harmony import */ var _angular_core__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! @angular/core */ 51197); +/* harmony import */ var src_app_Service_DomainConfiguration_icon_dictionary_service__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! src/app/Service/DomainConfiguration/icon-dictionary.service */ 19673); +/* harmony import */ var src_app_Service_ElementRegistry_element_registry_service__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! src/app/Service/ElementRegistry/element-registry.service */ 83335); +/* harmony import */ var _Title_title_service__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../Title/title.service */ 32610); + + + + + + + + +class DomainConfigurationService { + constructor(iconDictionaryService, elementRegistryService, titleService) { + this.iconDictionaryService = iconDictionaryService; + this.elementRegistryService = elementRegistryService; + this.titleService = titleService; + } + setDomainName(domainName) { + this.titleService.setDomainName(domainName ? domainName : _Domain_Common_constants__WEBPACK_IMPORTED_MODULE_3__.INITIAL_DOMAIN_NAME); + } + exportConfiguration() { + const domainConfiguration = this.getCurrentConfigurationForExport(); + if (!domainConfiguration) { + return; + } + const configJSONString = JSON.stringify(domainConfiguration, null, 2); + const filename = this.titleService.getDomainName(); + const element = document.createElement('a'); + element.setAttribute('href', 'data:text/plain;charset=utf-8,' + encodeURIComponent(configJSONString)); + element.setAttribute('download', filename + '.domain'); + element.style.display = 'none'; + document.body.appendChild(element); + element.click(); + document.body.removeChild(element); + } + loadConfiguration(customConfig, updateDomainName = true) { + let actorDict = new src_app_Domain_Common_dictionary_dictionary__WEBPACK_IMPORTED_MODULE_0__.Dictionary(); + let workObjectDict = new src_app_Domain_Common_dictionary_dictionary__WEBPACK_IMPORTED_MODULE_0__.Dictionary(); + if (customConfig.actors.keysArray()) { + actorDict = customConfig.actors; + workObjectDict = customConfig.workObjects; + } else { + actorDict.addEach(customConfig.actors); + workObjectDict.addEach(customConfig.workObjects); + } + const actorKeys = actorDict.keysArray(); + const workObjectKeys = workObjectDict.keysArray(); + this.iconDictionaryService.updateIconRegistries([], [], customConfig); + this.iconDictionaryService.getIconConfiguration().appendSRCFile(actorKeys, actorDict, workObjectKeys, workObjectDict); + this.iconDictionaryService.addIconsFromDomainConfiguration(src_app_Domain_Common_elementTypes__WEBPACK_IMPORTED_MODULE_1__.elementTypes.ACTOR, actorKeys.map(a => src_app_Domain_Common_elementTypes__WEBPACK_IMPORTED_MODULE_1__.elementTypes.ACTOR + a)); + this.iconDictionaryService.addIconsFromDomainConfiguration(src_app_Domain_Common_elementTypes__WEBPACK_IMPORTED_MODULE_1__.elementTypes.WORKOBJECT, workObjectKeys.map(w => src_app_Domain_Common_elementTypes__WEBPACK_IMPORTED_MODULE_1__.elementTypes.WORKOBJECT + w)); + if (updateDomainName) { + const configurationName = customConfig.name; + this.setDomainName(configurationName); + } + } + getCurrentConfiguration() { + const actors = this.iconDictionaryService.getActorsDictionary(); + const workObjects = this.iconDictionaryService.getWorkObjectsDictionary(); + let domainConfiguration; + if (actors.size() > 0 && workObjects.size() > 0) { + domainConfiguration = this.createConfigFromDictionaries(actors, workObjects); + } + return domainConfiguration; + } + getCurrentConfigurationForExport() { + const currentConfiguration = this.getCurrentConfiguration(); + if (currentConfiguration) { + const actors = {}; + const workObjects = {}; + currentConfiguration.actors.all().forEach(entry => { + actors[entry.key] = entry.value; + }); + currentConfiguration.workObjects.all().forEach(entry => { + workObjects[entry.key] = entry.value; + }); + return { + name: currentConfiguration.name, + actors: actors, + workObjects: workObjects + }; + } + return; + } + getCurrentConfigurationNamesWithoutPrefix() { + return { + name: this.titleService.getDomainName() || _Domain_Common_constants__WEBPACK_IMPORTED_MODULE_3__.INITIAL_DOMAIN_NAME, + actors: this.iconDictionaryService.getActorsDictionary().keysArray().map(a => a.replace(src_app_Domain_Common_elementTypes__WEBPACK_IMPORTED_MODULE_1__.elementTypes.ACTOR, '')), + workObjects: this.iconDictionaryService.getWorkObjectsDictionary().keysArray().map(w => w.replace(src_app_Domain_Common_elementTypes__WEBPACK_IMPORTED_MODULE_1__.elementTypes.WORKOBJECT, '')) + }; + } + createMinimalConfigurationWithDefaultIcons() { + const minimalConfig = this.createConfigFromCanvas(); + _Domain_Common_iconConfiguration__WEBPACK_IMPORTED_MODULE_2__.defaultConf.actors.forEach(iconName => { + minimalConfig.actors.add(this.iconDictionaryService.getIconSource(iconName), iconName); + }); + _Domain_Common_iconConfiguration__WEBPACK_IMPORTED_MODULE_2__.defaultConf.workObjects.forEach(iconName => { + minimalConfig.workObjects.add(this.iconDictionaryService.getIconSource(iconName), iconName); + }); + return minimalConfig; + } + createConfigFromDictionaries(actorsDict, workObjectsDict) { + const actorNames = actorsDict.keysArray(); + const workobjectNames = workObjectsDict.keysArray(); + const newActors = new src_app_Domain_Common_dictionary_dictionary__WEBPACK_IMPORTED_MODULE_0__.Dictionary(); + const newWorkobjects = new src_app_Domain_Common_dictionary_dictionary__WEBPACK_IMPORTED_MODULE_0__.Dictionary(); + // Fill Configuration from Canvas-Objects + actorNames.forEach(actor => { + newActors.add(actorsDict.get(actor), actor.replace(src_app_Domain_Common_elementTypes__WEBPACK_IMPORTED_MODULE_1__.elementTypes.ACTOR, '')); + }); + workobjectNames.forEach(workObject => { + newWorkobjects.add(workObjectsDict.get(workObject), workObject.replace(src_app_Domain_Common_elementTypes__WEBPACK_IMPORTED_MODULE_1__.elementTypes.WORKOBJECT, '')); + }); + return { + name: this.titleService.getDomainName(), + actors: newActors, + workObjects: newWorkobjects + }; + } + createConfigFromCanvas() { + const config = { + name: _Domain_Common_constants__WEBPACK_IMPORTED_MODULE_3__.INITIAL_DOMAIN_NAME, + actors: new src_app_Domain_Common_dictionary_dictionary__WEBPACK_IMPORTED_MODULE_0__.Dictionary(), + workObjects: new src_app_Domain_Common_dictionary_dictionary__WEBPACK_IMPORTED_MODULE_0__.Dictionary() + }; + let allCanvasObjects = this.elementRegistryService.getAllCanvasObjects(); + allCanvasObjects.map(e => e.businessObject).forEach(element => { + const type = element.type.replace(src_app_Domain_Common_elementTypes__WEBPACK_IMPORTED_MODULE_1__.elementTypes.ACTOR, '').replace(src_app_Domain_Common_elementTypes__WEBPACK_IMPORTED_MODULE_1__.elementTypes.WORKOBJECT, ''); + if (element.type.includes(src_app_Domain_Common_elementTypes__WEBPACK_IMPORTED_MODULE_1__.elementTypes.ACTOR)) { + let src = this.iconDictionaryService.getIconSource(type) || ''; + config.actors.add(src, type); + } else if (element.type.includes(src_app_Domain_Common_elementTypes__WEBPACK_IMPORTED_MODULE_1__.elementTypes.WORKOBJECT)) { + let src = this.iconDictionaryService.getIconSource(type) || ''; + config.workObjects.add(src, type); + } + }); + return config; + } + static #_ = this.ɵfac = function DomainConfigurationService_Factory(t) { + return new (t || DomainConfigurationService)(_angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵinject"](src_app_Service_DomainConfiguration_icon_dictionary_service__WEBPACK_IMPORTED_MODULE_4__.IconDictionaryService), _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵinject"](src_app_Service_ElementRegistry_element_registry_service__WEBPACK_IMPORTED_MODULE_5__.ElementRegistryService), _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵinject"](_Title_title_service__WEBPACK_IMPORTED_MODULE_6__.TitleService)); + }; + static #_2 = this.ɵprov = /*@__PURE__*/_angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵdefineInjectable"]({ + token: DomainConfigurationService, + factory: DomainConfigurationService.ɵfac, + providedIn: 'root' + }); +} + +/***/ }), + +/***/ 53666: +/*!*****************************************************************************!*\ + !*** ./src/app/Service/DomainConfiguration/domain-customization.service.ts ***! + \*****************************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ DomainCustomizationService: () => (/* binding */ DomainCustomizationService) +/* harmony export */ }); +/* harmony import */ var rxjs__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! rxjs */ 47530); +/* harmony import */ var _Utils_naming__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../Utils/naming */ 35125); +/* harmony import */ var _Domain_Common_elementTypes__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../Domain/Common/elementTypes */ 17290); +/* harmony import */ var _Domain_Common_dictionary_dictionary__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../Domain/Common/dictionary/dictionary */ 6789); +/* harmony import */ var _Domain_Common_constants__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../Domain/Common/constants */ 45219); +/* harmony import */ var _angular_core__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! @angular/core */ 51197); +/* harmony import */ var _domain_configuration_service__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./domain-configuration.service */ 88421); +/* harmony import */ var _icon_dictionary_service__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./icon-dictionary.service */ 19673); +/* harmony import */ var _Import_import_domain_story_service__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../Import/import-domain-story.service */ 1551); +/* harmony import */ var _Title_title_service__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../Title/title.service */ 32610); +/* harmony import */ var _BrowserStorage_storage_service__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../BrowserStorage/storage.service */ 83681); +/* harmony import */ var src_app_Service_ElementRegistry_element_registry_service__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! src/app/Service/ElementRegistry/element-registry.service */ 83335); +/* harmony import */ var _angular_material_snack_bar__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! @angular/material/snack-bar */ 93768); + + + + + + + + + + + + + +class DomainCustomizationService { + constructor(configurationService, iconDictionaryService, importService, titleService, storageService, elementRegistryService, snackbar) { + this.configurationService = configurationService; + this.iconDictionaryService = iconDictionaryService; + this.importService = importService; + this.titleService = titleService; + this.storageService = storageService; + this.elementRegistryService = elementRegistryService; + this.snackbar = snackbar; + this.allIconListItems = new _Domain_Common_dictionary_dictionary__WEBPACK_IMPORTED_MODULE_2__.Dictionary(); + this.configurationHasChanged = false; + this.selectedActors$ = new rxjs__WEBPACK_IMPORTED_MODULE_10__.BehaviorSubject([]); + this.selectedWorkobjects$ = new rxjs__WEBPACK_IMPORTED_MODULE_10__.BehaviorSubject([]); + this.domainConfigurationTypes = new rxjs__WEBPACK_IMPORTED_MODULE_10__.BehaviorSubject(this.configurationService.getCurrentConfigurationNamesWithoutPrefix()); + this.selectedWorkobjects$.next(this.domainConfigurationTypes.value.workObjects); + this.selectedActors$.next(this.domainConfigurationTypes.value.actors); + iconDictionaryService.getAllIconDictionary().keysArray().forEach(iconName => { + this.addIconToAllIconList(iconName); + }); + importService.importedConfigurationEvent.subscribe(config => { + this.importConfiguration(config); + }); + const storedDomainConfiguration = this.storageService.getStoredDomainConfiguration(); + if (storedDomainConfiguration) { + this.importConfiguration(storedDomainConfiguration, false); + } + const importedConfiguration = this.importService.getImportedConfiguration(); + if (importedConfiguration) { + this.importConfiguration(importedConfiguration, false); + } + } + importConfiguration(customConfig, saveDomain = true) { + const actorKeys = customConfig.actors.keysArray(); + const workObjectKeys = customConfig.workObjects.keysArray(); + this.changeName(customConfig.name); + actorKeys.forEach(iconName => { + if (!this.allIconListItems.has(iconName)) { + this.addIconToAllIconList(iconName); + } + const selectedActorNames = this.selectedActors$.value; + if (!selectedActorNames.includes(iconName)) { + this.selectActor(iconName); + } + }); + workObjectKeys.forEach(iconName => { + if (!this.allIconListItems.has(iconName)) { + this.addIconToAllIconList(iconName); + } + const selectedWorkobjectNames = this.selectedWorkobjects$.value; + if (!selectedWorkobjectNames.includes(iconName)) { + this.selectWorkObject(iconName); + } + }); + if (saveDomain) { + this.saveDomain(this.elementRegistryService.getUsedIcons(), true); + } + } + /** Getter & Setter **/ + getDomainConfiguration() { + return this.domainConfigurationTypes; + } + getIconForName(iconName) { + return this.allIconListItems.get(iconName); + } + isIconActor(iconName) { + return this.domainConfigurationTypes.value.actors.filter(actor => actor === iconName).length > 0; + } + isIconWorkObject(iconName) { + return this.domainConfigurationTypes.value.workObjects.filter(workObject => workObject === iconName).length > 0; + } + changeName(domainName) { + this.titleService.setDomainName(domainName); + const changedDomain = this.domainConfigurationTypes.value; + changedDomain.name = domainName; + this.domainConfigurationTypes.next(changedDomain); + } + /** Seleted Icons **/ + setAsUnassigned(iconName, isActor) { + if (isActor) { + this.deselectActor(iconName); + } else { + this.deselectWorkobject(iconName); + } + this.updateIcon(false, false, iconName); + } + setAsActor(isActor, actor) { + if (isActor) { + this.updateIcon(true, false, actor); + this.selectActor(actor); + this.deselectWorkobject(actor); + const icon = this.iconDictionaryService.getFullDictionary().get(actor); + this.iconDictionaryService.getActorsDictionary().add(icon, actor); + } else { + this.deselectActor(actor); + this.updateIcon(false, false, actor); + this.iconDictionaryService.getActorsDictionary().delete(actor); + } + } + setAsWorkobject(isWorkobject, workobject) { + if (isWorkobject) { + this.updateIcon(false, true, workobject); + this.selectWorkObject(workobject); + this.deselectActor(workobject); + const icon = this.iconDictionaryService.getFullDictionary().get(workobject); + this.iconDictionaryService.getWorkObjectsDictionary().add(icon, workobject); + } else { + this.deselectWorkobject(workobject); + this.updateIcon(false, false, workobject); + this.iconDictionaryService.getWorkObjectsDictionary().delete(workobject); + } + } + selectActor(actor) { + const value = this.domainConfigurationTypes.value; + if (!value.actors.includes(actor)) { + value.actors.push(actor); + this.domainConfigurationTypes.next(value); + this.updateActorSubject(); + } + } + selectWorkObject(workObject) { + const value = this.domainConfigurationTypes.value; + if (!value.workObjects.includes(workObject)) { + value.workObjects.push(workObject); + this.domainConfigurationTypes.next(value); + this.updateWorkObjectSubject(); + } + } + deselectActor(actor) { + if (this.domainConfigurationTypes) { + this.domainConfigurationTypes.next({ + name: this.domainConfigurationTypes.value.name, + actors: this.domainConfigurationTypes.value.actors.filter(a => !a.includes(actor)), + workObjects: this.domainConfigurationTypes.value.workObjects + }); + } + this.updateActorSubject(); + } + deselectWorkobject(workobject) { + if (this.domainConfigurationTypes) { + this.domainConfigurationTypes.next({ + name: this.domainConfigurationTypes.value.name, + actors: this.domainConfigurationTypes.value.actors, + workObjects: this.domainConfigurationTypes.value.workObjects.filter(w => !w.includes(workobject)) + }); + } + this.updateWorkObjectSubject(); + } + setSelectedWorkObject(sortedList) { + const value = this.domainConfigurationTypes.value; + value.workObjects = sortedList; + this.domainConfigurationTypes.next(value); + this.updateWorkObjectSubject(); + } + setSelectedActors(sortedList) { + const value = this.domainConfigurationTypes.value; + value.actors = sortedList; + this.domainConfigurationTypes.next(value); + this.updateActorSubject(); + } + updateActorSubject() { + this.selectedActors$.next(this.domainConfigurationTypes.value.actors); + this.configurationHasChanged = true; + } + updateWorkObjectSubject() { + this.selectedWorkobjects$.next(this.domainConfigurationTypes.value.workObjects); + this.configurationHasChanged = true; + } + /** Revert Domain **/ + resetDomain() { + const defaultConfig = this.configurationService.createMinimalConfigurationWithDefaultIcons(); + this.selectedWorkobjects$.value.forEach(workObjectName => { + if (!defaultConfig.workObjects.has(workObjectName)) { + this.deselectWorkobject(workObjectName); + } + }); + this.selectedActors$.value.forEach(actorName => { + if (!defaultConfig.actors.has(actorName)) { + this.deselectActor(actorName); + } + }); + this.domainConfigurationTypes.next({ + name: defaultConfig.name, + actors: defaultConfig.actors.keysArray(), + workObjects: defaultConfig.workObjects.keysArray() + }); + this.updateAllIconBehaviourSubjects(); + } + cancel() { + this.domainConfigurationTypes.next(this.configurationService.getCurrentConfigurationNamesWithoutPrefix()); + this.updateAllIconBehaviourSubjects(); + this.resetToInitialConfiguration(); + } + resetToInitialConfiguration() { + this.updateActorSubject(); + this.updateWorkObjectSubject(); + } + /** Persist Domain **/ + saveDomain(usedIcons, imported = false) { + const changedActors = []; + const changedWorkobjects = []; + if (this.configurationHasChanged) { + const changedDomain = this.createDomainConfiguration(); + const configurationActors = changedDomain.actors.keysArray(); + usedIcons?.actors.forEach(actor => { + if (!configurationActors?.includes(actor) && !changedActors.includes(actor)) { + changedActors.push(actor); + } + }); + const configurationWorkobjects = changedDomain.workObjects.keysArray(); + usedIcons?.workobjects.forEach(workobject => { + if (!configurationWorkobjects?.includes(workobject) && !changedWorkobjects.includes(workobject)) { + changedWorkobjects.push(workobject); + } + }); + if (!changedActors.length && !changedWorkobjects.length) { + this.changedDomainCofiguration = changedDomain; + this.updateIcons(changedDomain); + this.storageService.setStoredDomainConfiguration(this.changedDomainCofiguration); + this.snackbar.open(imported ? 'Configuration imported successfully' : 'Configuration saved sucessfully', undefined, { + duration: _Domain_Common_constants__WEBPACK_IMPORTED_MODULE_3__.SNACKBAR_DURATION, + panelClass: _Domain_Common_constants__WEBPACK_IMPORTED_MODULE_3__.SNACKBAR_SUCCESS + }); + } + } else { + this.snackbar.open(imported ? 'No configuration to be imported' : 'No configuration to be saved', undefined, { + duration: _Domain_Common_constants__WEBPACK_IMPORTED_MODULE_3__.SNACKBAR_DURATION, + panelClass: _Domain_Common_constants__WEBPACK_IMPORTED_MODULE_3__.SNACKBAR_INFO + }); + } + if (changedActors.length || changedWorkobjects.length) { + if (changedActors.length) { + const actors = changedActors.join(', '); + this.snackbar.open(`The following icons are already in use as actors and cannot be changed: ${actors}`, undefined, { + duration: _Domain_Common_constants__WEBPACK_IMPORTED_MODULE_3__.SNACKBAR_DURATION * 3, + panelClass: _Domain_Common_constants__WEBPACK_IMPORTED_MODULE_3__.SNACKBAR_INFO + }); + } + if (changedWorkobjects.length) { + const workobjects = changedWorkobjects.join(', '); + this.snackbar.open(`The following icons are already in use as workobjects and cannot be changed: ${workobjects}`, undefined, { + duration: _Domain_Common_constants__WEBPACK_IMPORTED_MODULE_3__.SNACKBAR_DURATION * 3, + panelClass: _Domain_Common_constants__WEBPACK_IMPORTED_MODULE_3__.SNACKBAR_INFO + }); + } + } + } + exportDomain() { + this.configurationService.exportConfiguration(); + } + getAndClearSavedConfiguration() { + const temp = this.changedDomainCofiguration; + this.changedDomainCofiguration = undefined; + return temp; + } + createDomainConfiguration() { + const actors = new _Domain_Common_dictionary_dictionary__WEBPACK_IMPORTED_MODULE_2__.Dictionary(); + const workObjects = new _Domain_Common_dictionary_dictionary__WEBPACK_IMPORTED_MODULE_2__.Dictionary(); + this.domainConfigurationTypes.value.actors.forEach(type => { + actors.add(this.iconDictionaryService.getIconSource(type), type); + }); + this.domainConfigurationTypes.value.workObjects.forEach(type => { + workObjects.add(this.iconDictionaryService.getIconSource(type), type); + }); + return { + name: this.domainConfigurationTypes.value.name || '', + actors, + workObjects + }; + } + /** Update Icons **/ + addNewIcon(iconName) { + const iconDict = new _Domain_Common_dictionary_dictionary__WEBPACK_IMPORTED_MODULE_2__.Dictionary(); + iconDict.add(this.getSrcForIcon(iconName), iconName); + this.iconDictionaryService.addIconsToCss(iconDict); + this.addIconToAllIconList(iconName); + } + addIconToAllIconList(iconName) { + this.allIconListItems.add(new rxjs__WEBPACK_IMPORTED_MODULE_10__.BehaviorSubject({ + name: iconName, + svg: this.getSrcForIcon(iconName), + isActor: this.isIconActor(iconName), + isWorkObject: this.isIconWorkObject(iconName) + }), iconName); + } + updateIcon(isActor, isWorkobject, iconName) { + const iconBehaviourSubject = this.getIconForName(iconName); + const icon = iconBehaviourSubject.value; + icon.isActor = isActor; + icon.isWorkObject = isWorkobject; + iconBehaviourSubject.next(icon); + } + updateAllIconBehaviourSubjects() { + const customDomainCofiguration = this.domainConfigurationTypes.value; + this.allIconListItems.keysArray().forEach(iconName => { + if (customDomainCofiguration.actors.includes(iconName)) { + this.updateIcon(true, false, iconName); + } else if (customDomainCofiguration.workObjects.includes(iconName)) { + this.updateIcon(false, true, iconName); + } else { + this.updateIcon(false, false, iconName); + } + }); + } + getSrcForIcon(name) { + let iconName; + if (name.includes(_Domain_Common_elementTypes__WEBPACK_IMPORTED_MODULE_1__.elementTypes.DOMAINSTORY)) { + iconName = (0,_Utils_naming__WEBPACK_IMPORTED_MODULE_0__.getNameFromType)(name); + } else { + iconName = name; + } + const rawSrc = this.iconDictionaryService.getIconSource(iconName); + if (!rawSrc) { + return ''; + } + if (rawSrc.startsWith('data')) { + return rawSrc; + } else { + return 'data:image/svg+xml,' + rawSrc; + } + } + updateIcons(changedDomain) { + this.allIconListItems.keysArray().forEach(item => this.setAsUnassigned(item, this.isIconActor(item))); + changedDomain.actors.keysArray().forEach(actor => this.setAsActor(true, actor)); + changedDomain.workObjects.keysArray().forEach(workObject => this.setAsWorkobject(true, workObject)); + } + static #_ = this.ɵfac = function DomainCustomizationService_Factory(t) { + return new (t || DomainCustomizationService)(_angular_core__WEBPACK_IMPORTED_MODULE_11__["ɵɵinject"](_domain_configuration_service__WEBPACK_IMPORTED_MODULE_4__.DomainConfigurationService), _angular_core__WEBPACK_IMPORTED_MODULE_11__["ɵɵinject"](_icon_dictionary_service__WEBPACK_IMPORTED_MODULE_5__.IconDictionaryService), _angular_core__WEBPACK_IMPORTED_MODULE_11__["ɵɵinject"](_Import_import_domain_story_service__WEBPACK_IMPORTED_MODULE_6__.ImportDomainStoryService), _angular_core__WEBPACK_IMPORTED_MODULE_11__["ɵɵinject"](_Title_title_service__WEBPACK_IMPORTED_MODULE_7__.TitleService), _angular_core__WEBPACK_IMPORTED_MODULE_11__["ɵɵinject"](_BrowserStorage_storage_service__WEBPACK_IMPORTED_MODULE_8__.StorageService), _angular_core__WEBPACK_IMPORTED_MODULE_11__["ɵɵinject"](src_app_Service_ElementRegistry_element_registry_service__WEBPACK_IMPORTED_MODULE_9__.ElementRegistryService), _angular_core__WEBPACK_IMPORTED_MODULE_11__["ɵɵinject"](_angular_material_snack_bar__WEBPACK_IMPORTED_MODULE_12__.MatSnackBar)); + }; + static #_2 = this.ɵprov = /*@__PURE__*/_angular_core__WEBPACK_IMPORTED_MODULE_11__["ɵɵdefineInjectable"]({ + token: DomainCustomizationService, + factory: DomainCustomizationService.ɵfac, + providedIn: 'root' + }); +} + +/***/ }), + +/***/ 19673: +/*!************************************************************************!*\ + !*** ./src/app/Service/DomainConfiguration/icon-dictionary.service.ts ***! + \************************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ ICON_PREFIX: () => (/* binding */ ICON_PREFIX), +/* harmony export */ IconDictionaryService: () => (/* binding */ IconDictionaryService) +/* harmony export */ }); +/* harmony import */ var src_app_Domain_Common_dictionary_dictionary__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! src/app/Domain/Common/dictionary/dictionary */ 6789); +/* harmony import */ var src_app_Domain_Common_elementTypes__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! src/app/Domain/Common/elementTypes */ 17290); +/* harmony import */ var src_app_Utils_naming__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! src/app/Utils/naming */ 35125); +/* harmony import */ var src_app_Domain_Domain_Configuration_allIcons__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! src/app/Domain/Domain-Configuration/allIcons */ 86915); +/* harmony import */ var src_app_Domain_Common_iconConfiguration__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! src/app/Domain/Common/iconConfiguration */ 66848); +/* harmony import */ var _Utils_sanitizer__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../../Utils/sanitizer */ 82241); +/* harmony import */ var _angular_core__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! @angular/core */ 51197); + + + + + + + +const ICON_PREFIX = 'icon-domain-story-'; +class IconDictionaryService { + constructor() { + this.actorIconDictionary = new src_app_Domain_Common_dictionary_dictionary__WEBPACK_IMPORTED_MODULE_0__.Dictionary(); + this.workObjectDictionary = new src_app_Domain_Common_dictionary_dictionary__WEBPACK_IMPORTED_MODULE_0__.Dictionary(); + this.allIconDictionary = new src_app_Domain_Common_dictionary_dictionary__WEBPACK_IMPORTED_MODULE_0__.Dictionary(); + this.iconDictionaryForBPMN = new src_app_Domain_Common_dictionary_dictionary__WEBPACK_IMPORTED_MODULE_0__.Dictionary(); + this.allIconDictionary.addEach(src_app_Domain_Domain_Configuration_allIcons__WEBPACK_IMPORTED_MODULE_3__.allIcons); + this.iconConfig = new src_app_Domain_Common_iconConfiguration__WEBPACK_IMPORTED_MODULE_4__.IconConfiguration(this.allIconDictionary); + } + initTypeDictionaries(actors, workObjects) { + if (!actors || actors.length == 0) { + actors = src_app_Domain_Common_iconConfiguration__WEBPACK_IMPORTED_MODULE_4__.defaultConf.actors; + } + if (!workObjects || workObjects.length == 0) { + workObjects = src_app_Domain_Common_iconConfiguration__WEBPACK_IMPORTED_MODULE_4__.defaultConf.workObjects; + } + const allTypes = new src_app_Domain_Common_dictionary_dictionary__WEBPACK_IMPORTED_MODULE_0__.Dictionary(); + allTypes.addEach(src_app_Domain_Domain_Configuration_allIcons__WEBPACK_IMPORTED_MODULE_3__.allIcons); + allTypes.appendDict(this.getAppendedIconDictionary()); + this.initDictionary(actors, allTypes, this.actorIconDictionary, src_app_Domain_Common_elementTypes__WEBPACK_IMPORTED_MODULE_1__.elementTypes.ACTOR); + this.initDictionary(workObjects, allTypes, this.workObjectDictionary, src_app_Domain_Common_elementTypes__WEBPACK_IMPORTED_MODULE_1__.elementTypes.WORKOBJECT); + } + initDictionary(keys, allTypes, dictionary, namePrefix) { + dictionary.clear(); + for (const key of keys) { + const name = namePrefix + key; + dictionary.add(allTypes.get(key), name); + } + dictionary.keysArray().forEach(entry => { + const name = (0,src_app_Utils_naming__WEBPACK_IMPORTED_MODULE_2__.getNameFromType)(entry); + this.registerIconForBPMN(entry, ICON_PREFIX + (0,_Utils_sanitizer__WEBPACK_IMPORTED_MODULE_5__.sanitizeIconName)(name.toLowerCase())); + }); + } + getCurrentIconConfigurationForBPMN() { + if (this.customConfiguration) { + return this.iconConfig.createCustomConf(this.customConfiguration); + } + return this.iconConfig.getDefaultConf(); + } + allInTypeDictionary(type, elements) { + let collection; + if (type === src_app_Domain_Common_elementTypes__WEBPACK_IMPORTED_MODULE_1__.elementTypes.ACTOR) { + collection = this.actorIconDictionary; + } else if (type === src_app_Domain_Common_elementTypes__WEBPACK_IMPORTED_MODULE_1__.elementTypes.WORKOBJECT) { + collection = this.workObjectDictionary; + } + let allIn = true; + if (elements) { + elements.forEach(element => { + if (!collection.has(element.type)) { + allIn = false; + } + }); + } else { + return false; + } + return allIn; + } + /** Load Icons from Configuration **/ + addIconsFromDomainConfiguration(dictionaryType, iconTypes) { + let collection; + if (dictionaryType === src_app_Domain_Common_elementTypes__WEBPACK_IMPORTED_MODULE_1__.elementTypes.ACTOR) { + collection = this.actorIconDictionary; + } else if (dictionaryType === src_app_Domain_Common_elementTypes__WEBPACK_IMPORTED_MODULE_1__.elementTypes.WORKOBJECT) { + collection = this.workObjectDictionary; + } + const allTypes = new src_app_Domain_Common_dictionary_dictionary__WEBPACK_IMPORTED_MODULE_0__.Dictionary(); + allTypes.addEach(src_app_Domain_Domain_Configuration_allIcons__WEBPACK_IMPORTED_MODULE_3__.allIcons); + allTypes.appendDict(src_app_Domain_Domain_Configuration_allIcons__WEBPACK_IMPORTED_MODULE_3__.appendedIcons); + iconTypes.forEach(type => { + if (!collection.has(type)) { + const name = (0,src_app_Utils_naming__WEBPACK_IMPORTED_MODULE_2__.getNameFromType)(type); + const src = allTypes.get(name); + if (src) { + this.registerIconForType(dictionaryType, type, src); + this.registerIconForBPMN(type, (0,_Utils_sanitizer__WEBPACK_IMPORTED_MODULE_5__.sanitizeIconName)(ICON_PREFIX + name.toLowerCase())); + } + } + }); + } + /** Add Icon(s) to Dictionary **/ + registerIconForBPMN(name, src) { + this.iconDictionaryForBPMN.set(name, src); + } + addIconsToTypeDictionary(actorIcons, workObjectIcons) { + if (!this.allInTypeDictionary(src_app_Domain_Common_elementTypes__WEBPACK_IMPORTED_MODULE_1__.elementTypes.ACTOR, actorIcons)) { + this.addIconsFromDomainConfiguration(src_app_Domain_Common_elementTypes__WEBPACK_IMPORTED_MODULE_1__.elementTypes.ACTOR, actorIcons.map(element => element.type)); + } + if (!this.allInTypeDictionary(src_app_Domain_Common_elementTypes__WEBPACK_IMPORTED_MODULE_1__.elementTypes.WORKOBJECT, workObjectIcons)) { + this.addIconsFromDomainConfiguration(src_app_Domain_Common_elementTypes__WEBPACK_IMPORTED_MODULE_1__.elementTypes.WORKOBJECT, workObjectIcons.map(element => element.type)); + } + } + registerIconForType(type, name, src) { + if (!name.includes(type)) { + name = type + name; + } + let collection = new src_app_Domain_Common_dictionary_dictionary__WEBPACK_IMPORTED_MODULE_0__.Dictionary(); + if (type === src_app_Domain_Common_elementTypes__WEBPACK_IMPORTED_MODULE_1__.elementTypes.ACTOR) { + collection = this.actorIconDictionary; + } else if (type === src_app_Domain_Common_elementTypes__WEBPACK_IMPORTED_MODULE_1__.elementTypes.WORKOBJECT) { + collection = this.workObjectDictionary; + } + collection.set(name, src); + } + updateIconRegistries(actors, workObjects, config) { + const elements = []; + actors.forEach(a => elements.push(a)); + workObjects.forEach(w => elements.push(w)); + const customIcons = new src_app_Domain_Common_dictionary_dictionary__WEBPACK_IMPORTED_MODULE_0__.Dictionary(); + const actorsDict = new src_app_Domain_Common_dictionary_dictionary__WEBPACK_IMPORTED_MODULE_0__.Dictionary(); + const workObjectsDict = new src_app_Domain_Common_dictionary_dictionary__WEBPACK_IMPORTED_MODULE_0__.Dictionary(); + config.actors.keysArray().forEach(key => { + actorsDict.add(config.actors.get(key), key); + }); + config.workObjects.keysArray().forEach(key => { + workObjectsDict.add(config.workObjects.get(key), key); + }); + this.extractCustomIconsFromDictionary(actorsDict, customIcons); + this.extractCustomIconsFromDictionary(workObjectsDict, customIcons); + elements.forEach(element => { + const name = (0,_Utils_sanitizer__WEBPACK_IMPORTED_MODULE_5__.sanitizeIconName)(element.type.replace(src_app_Domain_Common_elementTypes__WEBPACK_IMPORTED_MODULE_1__.elementTypes.ACTOR, '').replace(src_app_Domain_Common_elementTypes__WEBPACK_IMPORTED_MODULE_1__.elementTypes.WORKOBJECT, '')); + if ((element.type.includes(src_app_Domain_Common_elementTypes__WEBPACK_IMPORTED_MODULE_1__.elementTypes.ACTOR) || element.type.includes(src_app_Domain_Common_elementTypes__WEBPACK_IMPORTED_MODULE_1__.elementTypes.WORKOBJECT)) && !this.getFullDictionary().has(name)) { + this.registerIconForBPMN(ICON_PREFIX + name.toLowerCase(), element.type); + } + }); + this.addNewIconsToDictionary(customIcons); + this.addIconsToTypeDictionary(actors, workObjects); + } + extractCustomIconsFromDictionary(elementDictionary, customIcons) { + elementDictionary.keysArray().forEach(name => { + const sanitizedName = (0,_Utils_sanitizer__WEBPACK_IMPORTED_MODULE_5__.sanitizeIconName)(name); + if (!this.getFullDictionary().has(sanitizedName)) { + customIcons.add(elementDictionary.get(name), sanitizedName); + } + }); + } + /** Add new Icon(s) **/ + addNewIconsToDictionary(customIcons) { + customIcons.keysArray().forEach(key => { + const custom = customIcons.get(key); + this.addIMGToIconDictionary(custom.src, key); + }); + this.addIconsToCss(customIcons); + } + addIMGToIconDictionary(input, name) { + src_app_Domain_Domain_Configuration_allIcons__WEBPACK_IMPORTED_MODULE_3__.appendedIcons.set(name, input); + } + addIconsToCss(customIcons) { + const sheetEl = document.getElementById('iconsCss'); + customIcons.keysArray().forEach(key => { + const src = customIcons.get(key); + const iconStyle = '.' + ICON_PREFIX + (0,_Utils_sanitizer__WEBPACK_IMPORTED_MODULE_5__.sanitizeIconName)(key.toLowerCase()) + '::before{ content: url("data:image/svg+xml;utf8,' + this.wrapSRCInSVG(src) + '"); margin: 3px;}'; + // @ts-ignore + sheetEl?.sheet?.insertRule(iconStyle, sheetEl.sheet.cssRules.length); + }); + } + wrapSRCInSVG(src) { + return ""; + } + /** Getter & Setter **/ + getFullDictionary() { + const fullDictionary = new src_app_Domain_Common_dictionary_dictionary__WEBPACK_IMPORTED_MODULE_0__.Dictionary(); + fullDictionary.appendDict(this.allIconDictionary); + fullDictionary.appendDict(this.getAppendedIconDictionary()); + return fullDictionary; + } + getAppendedIconDictionary() { + const appendedDict = new src_app_Domain_Common_dictionary_dictionary__WEBPACK_IMPORTED_MODULE_0__.Dictionary(); + src_app_Domain_Domain_Configuration_allIcons__WEBPACK_IMPORTED_MODULE_3__.appendedIcons.keysArray().forEach(key => { + if (!this.allIconDictionary.has(key)) { + appendedDict.set(key, src_app_Domain_Domain_Configuration_allIcons__WEBPACK_IMPORTED_MODULE_3__.appendedIcons.get(key)); + } + }); + return appendedDict; + } + getTypeDictionary(type) { + if (type === src_app_Domain_Common_elementTypes__WEBPACK_IMPORTED_MODULE_1__.elementTypes.ACTOR) { + return this.actorIconDictionary; + } else if (type === src_app_Domain_Common_elementTypes__WEBPACK_IMPORTED_MODULE_1__.elementTypes.WORKOBJECT) { + return this.workObjectDictionary; + } + return new src_app_Domain_Common_dictionary_dictionary__WEBPACK_IMPORTED_MODULE_0__.Dictionary(); + } + getTypeDictionaryKeys(type) { + return this.getTypeDictionary(type).keysArray(); + } + getTypeIconSRC(type, name) { + if (type === src_app_Domain_Common_elementTypes__WEBPACK_IMPORTED_MODULE_1__.elementTypes.ACTOR) { + if (!name.startsWith(src_app_Domain_Common_elementTypes__WEBPACK_IMPORTED_MODULE_1__.elementTypes.ACTOR)) { + name = src_app_Domain_Common_elementTypes__WEBPACK_IMPORTED_MODULE_1__.elementTypes.ACTOR + name; + } + return this.actorIconDictionary.get(name); + } else if (type === src_app_Domain_Common_elementTypes__WEBPACK_IMPORTED_MODULE_1__.elementTypes.WORKOBJECT) { + if (!name.startsWith(src_app_Domain_Common_elementTypes__WEBPACK_IMPORTED_MODULE_1__.elementTypes.WORKOBJECT)) { + name = src_app_Domain_Common_elementTypes__WEBPACK_IMPORTED_MODULE_1__.elementTypes.WORKOBJECT + name; + } + return this.workObjectDictionary.get(name); + } + return null; + } + getIconForBPMN(type) { + return this.iconDictionaryForBPMN.get(type); + } + getIconSource(name) { + if (this.allIconDictionary.has(name)) { + return this.allIconDictionary.get(name); + } else if (src_app_Domain_Domain_Configuration_allIcons__WEBPACK_IMPORTED_MODULE_3__.appendedIcons.has(name)) { + return src_app_Domain_Domain_Configuration_allIcons__WEBPACK_IMPORTED_MODULE_3__.appendedIcons.get(name); + } + return null; + } + getElementsOfType(elements, type) { + const elementOfType = []; + elements.forEach(element => { + if (element.type.includes(type)) { + elementOfType.push(element); + } + }); + return elementOfType; + } + getAllIconDictionary() { + return this.allIconDictionary; + } + getActorsDictionary() { + return this.actorIconDictionary; + } + getWorkObjectsDictionary() { + return this.workObjectDictionary; + } + getIconConfiguration() { + return this.iconConfig; + } + setCusomtConfiguration(customConfiguration) { + this.customConfiguration = customConfiguration; + } + static #_ = this.ɵfac = function IconDictionaryService_Factory(t) { + return new (t || IconDictionaryService)(); + }; + static #_2 = this.ɵprov = /*@__PURE__*/_angular_core__WEBPACK_IMPORTED_MODULE_6__["ɵɵdefineInjectable"]({ + token: IconDictionaryService, + factory: IconDictionaryService.ɵfac, + providedIn: 'root' + }); +} + +/***/ }), + +/***/ 83335: +/*!*********************************************************************!*\ + !*** ./src/app/Service/ElementRegistry/element-registry.service.ts ***! + \*********************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ ElementRegistryService: () => (/* binding */ ElementRegistryService) +/* harmony export */ }); +/* harmony import */ var src_app_Domain_Common_elementTypes__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! src/app/Domain/Common/elementTypes */ 17290); +/* harmony import */ var _angular_core__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @angular/core */ 51197); + + +class ElementRegistryService { + constructor() { + this.fullyInitialized = false; + } + /** + * Initially the registry has only the root-Element. + * Once the canvas has bees initialized, we adjust the reference to point to the elements on the canvas for convenience + */ + correctInitialize() { + if (!this.fullyInitialized) { + if (this.registry.__implicitroot) { + this.registry = this.registry.__implicitroot.element.children; + this.fullyInitialized = true; + } + } + } + setElementRegistry(registry) { + this.registry = registry._elements; + } + clear() { + this.registry = null; + this.fullyInitialized = false; + } + createObjectListForDSTDownload() { + if (this.registry) { + const allObjectsFromCanvas = this.getAllCanvasObjects(); + const groups = this.getAllGroups(); + const objectList = []; + this.fillListOfCanvasObjects(allObjectsFromCanvas, objectList, groups); + return objectList; + } + return []; + } + fillListOfCanvasObjects(allObjectsFromCanvas, objectList, groups) { + allObjectsFromCanvas.forEach(canvasElement => { + if (canvasElement.type === src_app_Domain_Common_elementTypes__WEBPACK_IMPORTED_MODULE_0__.elementTypes.ACTIVITY) { + objectList.push(canvasElement); + } + // ensure that Activities are always after Actors, Workobjects and Groups in .dst files + else { + if (canvasElement.type === src_app_Domain_Common_elementTypes__WEBPACK_IMPORTED_MODULE_0__.elementTypes.TEXTANNOTATION) { + canvasElement.businessObject.width = canvasElement.width; + canvasElement.businessObject.height = canvasElement.height; + } + if (!objectList.includes(canvasElement)) { + objectList.unshift(canvasElement); + } + } + }); + groups.forEach(group => { + objectList.push(group); + }); + } + getAllActivities() { + const activities = []; + this.getAllCanvasObjects().forEach(element => { + if (element.type.includes(src_app_Domain_Common_elementTypes__WEBPACK_IMPORTED_MODULE_0__.elementTypes.ACTIVITY)) { + activities.push(element); + } + }); + return activities; + } + getAllConnections() { + const connections = []; + this.getAllCanvasObjects().forEach(element => { + const type = element.type; + if (type === src_app_Domain_Common_elementTypes__WEBPACK_IMPORTED_MODULE_0__.elementTypes.CONNECTION) { + connections.push(element); + } + }); + return connections; + } + getAllCanvasObjects() { + const allObjects = []; + const groupObjects = []; + this.checkChildForGroup(groupObjects, allObjects); + // for each memorized group, remove it from the group-array and check its children, whether they are groups or not + // if a child is a group, memorize it in the group-array + // other children should already be in the allObjects list + let i = groupObjects.length - 1; + while (groupObjects.length >= 1) { + const currentGroup = groupObjects.pop(); + // @ts-ignore + currentGroup.children.forEach(child => { + const type = child.type; + if (type.includes(src_app_Domain_Common_elementTypes__WEBPACK_IMPORTED_MODULE_0__.elementTypes.GROUP)) { + groupObjects.push(child); + } + }); + i = groupObjects.length - 1; + } + return allObjects; + } + // returns all groups on the canvas and inside other groups + getAllGroups() { + const groupObjects = []; + const allObjects = []; + this.checkChildForGroup(groupObjects, allObjects); + for (const group of groupObjects) { + group.children?.forEach(child => { + if (child.type.includes(src_app_Domain_Common_elementTypes__WEBPACK_IMPORTED_MODULE_0__.elementTypes.GROUP)) { + groupObjects.push(child); + } + }); + } + return groupObjects; + } + checkChildForGroup(groupObjects, allObjects) { + const registryElementNames = Object.keys(this.registry); + for (let name of registryElementNames) { + const entry = this.registry[name].element; + if (entry.businessObject) { + const type = entry.type; + if (type && type.includes(src_app_Domain_Common_elementTypes__WEBPACK_IMPORTED_MODULE_0__.elementTypes.GROUP)) { + // if it is a group, memorize this for later + groupObjects.push(entry); + } else if (type) { + allObjects.push(entry); + } + } + } + } + // get a list of activities, that originate from an actor-type + getActivitiesFromActors() { + const activitiesFromActors = []; + const activities = this.getAllActivities(); + activities.forEach(activity => { + if (activity.source?.type.includes(src_app_Domain_Common_elementTypes__WEBPACK_IMPORTED_MODULE_0__.elementTypes.ACTOR)) { + activitiesFromActors.push(activity); + } + }); + return activitiesFromActors; + } + getUsedIcons() { + const actors = this.getAllActors(); + const workobjects = this.getAllWorkobjects(); + return { + actors: actors.map(a => a.type.replace(src_app_Domain_Common_elementTypes__WEBPACK_IMPORTED_MODULE_0__.elementTypes.ACTOR, '')), + workobjects: workobjects.map(w => w.type.replace(src_app_Domain_Common_elementTypes__WEBPACK_IMPORTED_MODULE_0__.elementTypes.WORKOBJECT, '')) + }; + } + getAllActors() { + return this.getAllCanvasObjects().filter(co => co.type.includes(src_app_Domain_Common_elementTypes__WEBPACK_IMPORTED_MODULE_0__.elementTypes.ACTOR)); + } + getAllWorkobjects() { + return this.getAllCanvasObjects().filter(co => co.type.includes(src_app_Domain_Common_elementTypes__WEBPACK_IMPORTED_MODULE_0__.elementTypes.WORKOBJECT)); + } + static #_ = this.ɵfac = function ElementRegistryService_Factory(t) { + return new (t || ElementRegistryService)(); + }; + static #_2 = this.ɵprov = /*@__PURE__*/_angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵdefineInjectable"]({ + token: ElementRegistryService, + factory: ElementRegistryService.ɵfac, + providedIn: 'root' + }); +} + +/***/ }), + +/***/ 95722: +/*!**************************************************!*\ + !*** ./src/app/Service/Export/export.service.ts ***! + \**************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ ExportService: () => (/* binding */ ExportService) +/* harmony export */ }); +/* harmony import */ var src_app_Utils_sanitizer__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! src/app/Utils/sanitizer */ 82241); +/* harmony import */ var src_app_Domain_Export_configAndDst__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! src/app/Domain/Export/configAndDst */ 85003); +/* harmony import */ var _angular_common__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! @angular/common */ 89650); +/* harmony import */ var _environments_environment__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../../environments/environment */ 20553); +/* harmony import */ var _angular_core__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! @angular/core */ 51197); +/* harmony import */ var src_app_Service_DomainConfiguration_domain_configuration_service__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! src/app/Service/DomainConfiguration/domain-configuration.service */ 88421); +/* harmony import */ var src_app_Service_Title_title_service__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! src/app/Service/Title/title.service */ 32610); +/* harmony import */ var src_app_Service_DirtyFlag_dirty_flag_service__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! src/app/Service/DirtyFlag/dirty-flag.service */ 52828); +/* harmony import */ var src_app_Service_Export_png_service__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! src/app/Service/Export/png.service */ 11490); +/* harmony import */ var src_app_Service_Export_svg_service__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! src/app/Service/Export/svg.service */ 99778); +/* harmony import */ var _html_presentation_service__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./html-presentation.service */ 55255); +/* harmony import */ var _Renderer_renderer_service__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ../Renderer/renderer.service */ 87300); + + + + + + + + + + + + +class ExportService { + constructor(configurationService, titleService, dirtyFlagService, pngService, svgService, htmlPresentationService, rendererService) { + this.configurationService = configurationService; + this.titleService = titleService; + this.dirtyFlagService = dirtyFlagService; + this.pngService = pngService; + this.svgService = svgService; + this.htmlPresentationService = htmlPresentationService; + this.rendererService = rendererService; + this.title = ''; + this.description = ''; + this.titleSubscription = this.titleService.title$.subscribe(title => { + this.title = title; + }); + this.descriptionSubscription = this.titleService.description$.subscribe(description => { + this.description = description; + }); + } + ngOnDestroy() { + this.titleSubscription.unsubscribe(); + this.descriptionSubscription.unsubscribe(); + } + isDomainStoryExportable() { + return this.rendererService.getStory().length >= 1; + } + createConfigAndDST(DomainStory) { + return new src_app_Domain_Export_configAndDst__WEBPACK_IMPORTED_MODULE_1__.ConfigAndDST(this.configurationService.getCurrentConfigurationForExport(), DomainStory); + } + downloadDST() { + const dst = this.getStoryForDownload(); + const configAndDST = this.createConfigAndDST(dst); + const json = JSON.stringify(configAndDST, null, 2); + const filename = (0,src_app_Utils_sanitizer__WEBPACK_IMPORTED_MODULE_0__.sanitizeForDesktop)(this.title + '_' + this.getCurrentDateString()); + this.downloadFile(json, 'data:text/plain;charset=utf-8,', filename, '.egn', true); + } + downloadFile(data, datatype, filename, fileEnding, makeClean) { + const element = document.createElement('a'); + element.setAttribute('href', datatype + encodeURIComponent(data)); + element.setAttribute('download', filename + fileEnding); + element.style.display = 'none'; + document.body.appendChild(element); + element.click(); + if (makeClean) { + this.dirtyFlagService.makeClean(); + } + document.body.removeChild(element); + } + downloadSVG(withTitle, useWhiteBackground) { + const story = this.getStoryForDownload(); + const dst = this.createConfigAndDST(story); + const svgData = this.svgService.createSVGData(this.title, this.description, dst, withTitle, useWhiteBackground); + this.downloadFile(svgData, 'data:application/bpmn20-xml;charset=UTF-8,', (0,src_app_Utils_sanitizer__WEBPACK_IMPORTED_MODULE_0__.sanitizeForDesktop)(this.title + '_' + this.getCurrentDateString()), '.egn.svg', true); + } + downloadPNG(withTitle) { + const canvas = document.getElementById('canvas'); + if (canvas) { + const container = canvas.getElementsByClassName('djs-container'); + const svgElements = container[0].getElementsByTagName('svg'); + const outerSVGElement = svgElements[0]; + const viewport = outerSVGElement.getElementsByClassName('viewport')[0]; + const layerBase = viewport.getElementsByClassName('layer-base')[0]; + const image = document.createElement('img'); + // removes unwanted black dots in image + let svg = this.pngService.extractSVG(viewport, outerSVGElement); + svg = this.pngService.prepareSVG(svg, layerBase, this.description, this.title, withTitle); + image.onload = () => { + const tempCanvas = document.createElement('canvas'); + // add a 10px buffer to the right and lower boundary + tempCanvas.width = this.pngService.getWidth() + 10; + tempCanvas.height = this.pngService.getHeight() + 10; + const ctx = tempCanvas.getContext('2d'); + if (ctx) { + // fill with white background + ctx.rect(0, 0, tempCanvas.width, tempCanvas.height); + ctx.fillStyle = 'white'; + ctx.fill(); + ctx.drawImage(image, 0, 0); + } + const png64 = tempCanvas.toDataURL('image/png'); + const ele = document.createElement('a'); + ele.setAttribute('download', (0,src_app_Utils_sanitizer__WEBPACK_IMPORTED_MODULE_0__.sanitizeForDesktop)(this.title) + '_' + this.getCurrentDateString() + '.png'); + ele.setAttribute('href', png64); + document.body.appendChild(ele); + ele.click(); + document.body.removeChild(ele); + // image source has to be removed to circumvent browser caching + image.src = ''; + }; + image.onchange = image.onload; + image.width = this.pngService.getWidth(); + image.height = this.pngService.getHeight(); + image.src = 'data:image/svg+xml,' + svg; + } + } + downloadHTMLPresentation() { + const filename = (0,src_app_Utils_sanitizer__WEBPACK_IMPORTED_MODULE_0__.sanitizeForDesktop)(this.title + '_' + this.getCurrentDateString()); + this.htmlPresentationService.downloadHTMLPresentation(filename).then(); + } + getStoryForDownload() { + const story = this.rendererService.getStory(); + story.push({ + info: this.titleService.getDescription() + }); + story.push({ + version: _environments_environment__WEBPACK_IMPORTED_MODULE_2__.environment.version + }); + return story; + } + getCurrentDateString() { + return (0,_angular_common__WEBPACK_IMPORTED_MODULE_10__.formatDate)(new Date(), 'YYYY-MM-dd', 'en-GB'); + } + static #_ = this.ɵfac = function ExportService_Factory(t) { + return new (t || ExportService)(_angular_core__WEBPACK_IMPORTED_MODULE_11__["ɵɵinject"](src_app_Service_DomainConfiguration_domain_configuration_service__WEBPACK_IMPORTED_MODULE_3__.DomainConfigurationService), _angular_core__WEBPACK_IMPORTED_MODULE_11__["ɵɵinject"](src_app_Service_Title_title_service__WEBPACK_IMPORTED_MODULE_4__.TitleService), _angular_core__WEBPACK_IMPORTED_MODULE_11__["ɵɵinject"](src_app_Service_DirtyFlag_dirty_flag_service__WEBPACK_IMPORTED_MODULE_5__.DirtyFlagService), _angular_core__WEBPACK_IMPORTED_MODULE_11__["ɵɵinject"](src_app_Service_Export_png_service__WEBPACK_IMPORTED_MODULE_6__.PngService), _angular_core__WEBPACK_IMPORTED_MODULE_11__["ɵɵinject"](src_app_Service_Export_svg_service__WEBPACK_IMPORTED_MODULE_7__.SvgService), _angular_core__WEBPACK_IMPORTED_MODULE_11__["ɵɵinject"](_html_presentation_service__WEBPACK_IMPORTED_MODULE_8__.HtmlPresentationService), _angular_core__WEBPACK_IMPORTED_MODULE_11__["ɵɵinject"](_Renderer_renderer_service__WEBPACK_IMPORTED_MODULE_9__.RendererService)); + }; + static #_2 = this.ɵprov = /*@__PURE__*/_angular_core__WEBPACK_IMPORTED_MODULE_11__["ɵɵdefineInjectable"]({ + token: ExportService, + factory: ExportService.ɵfac, + providedIn: 'root' + }); +} + +/***/ }), + +/***/ 55255: +/*!*************************************************************!*\ + !*** ./src/app/Service/Export/html-presentation.service.ts ***! + \*************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ HtmlPresentationService: () => (/* binding */ HtmlPresentationService) +/* harmony export */ }); +/* harmony import */ var _home_shino_Work_egon_io_node_modules_babel_runtime_helpers_esm_asyncToGenerator_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./node_modules/@babel/runtime/helpers/esm/asyncToGenerator.js */ 19369); +/* harmony import */ var _Utils_sanitizer__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../Utils/sanitizer */ 82241); +/* harmony import */ var dot__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! dot */ 40833); +/* harmony import */ var dot__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(dot__WEBPACK_IMPORTED_MODULE_2__); +/* harmony import */ var _angular_core__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! @angular/core */ 51197); +/* harmony import */ var _Replay_replay_service__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../Replay/replay.service */ 85989); +/* harmony import */ var _Title_title_service__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../Title/title.service */ 32610); + + +// @ts-ignore + + + + +/** + * Initial idea and PR from https://github.com/indika-dev + */ +class HtmlPresentationService { + constructor(replayService, titleService) { + this.replayService = replayService; + this.titleService = titleService; + } + setModelerClasses(canvas, selection, modeler) { + this.modeler = modeler; + } + static viewBoxCoordinates(svg) { + const ViewBoxCoordinate = /width="([^"]+)"\s+height="([^"]+)"\s+viewBox="([^"]+)"/; + const match = svg.match(ViewBoxCoordinate); + return match[3]; + } + /* + --------------------------- + SVG handling starts here + ---------------------------- + */ + downloadHTMLPresentation(filename) { + var _this = this; + return (0,_home_shino_Work_egon_io_node_modules_babel_runtime_helpers_esm_asyncToGenerator_js__WEBPACK_IMPORTED_MODULE_0__["default"])(function* () { + const svgData = []; + // export all sentences of domain story + _this.replayService.startReplay(); + try { + const result = yield _this.modeler.saveSVG({}); + _this.fixActivityMarkersForEachStep(result, _this.replayService.getCurrentStepNumber()); + svgData.push({ + content: HtmlPresentationService.createSVGData(result.svg), + transition: 'slide' + }); + } catch (err) { + alert('There was an error exporting the SVG.\n' + err); + } + while (_this.replayService.getCurrentStepNumber() < _this.replayService.getMaxStepNumber()) { + _this.replayService.nextStep(); + try { + const result = yield _this.modeler.saveSVG({}); + _this.fixActivityMarkersForEachStep(result, _this.replayService.getCurrentStepNumber()); + svgData.push({ + content: HtmlPresentationService.createSVGData(result.svg), + transition: 'slide' + }); + } catch (err) { + alert('There was an error exporting the SVG.\n' + err); + } + } + _this.replayService.stopReplay(); + // create download for presentation + const revealjsTemplate = document.getElementById('revealjs-template'); + const dots = dot__WEBPACK_IMPORTED_MODULE_2___default().template(revealjsTemplate?.innerHTML); + const revealjsData = { + script: 'script', + title: _this.titleService.getTitle(), + description: _this.titleService.getDescription(), + sentences: svgData, + multiplexSecret: _this.multiplexSecret, + multiplexId: _this.multiplexId + }; + const element = document.createElement('a'); + element.setAttribute('href', 'data:text/html;charset=UTF-8,' + _this.fixMalformedHtmlScript(dots, revealjsData)); + element.setAttribute('download', (0,_Utils_sanitizer__WEBPACK_IMPORTED_MODULE_1__.sanitizeForDesktop)(filename) + '.html'); + element.style.display = 'none'; + document.body.appendChild(element); + element.click(); + document.body.removeChild(element); + })(); + } + fixMalformedHtmlScript(dots, revealjsData) { + return dots(revealjsData).replace(''), result.svg.indexOf('') + 7); + const split = defs.split(' { + const idToReplace = id.substring(4, id.length - 1); + const newId = idToReplace.slice(0, id.length - 5) + 'customId' + sectionIndex + idToReplace.slice(idToReplace.length - 2); + // @ts-ignore + result.svg = result.svg.replaceAll(idToReplace, newId); + }); + newDefs += ' { + +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ PngService: () => (/* binding */ PngService) +/* harmony export */ }); +/* harmony import */ var src_app_Service_Export_exportUtil__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! src/app/Service/Export/exportUtil */ 8690); +/* harmony import */ var _angular_core__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @angular/core */ 51197); + + +class PngService { + constructor() { + this.width = 0; + this.height = 0; + } + browserSpecs() { + const ua = navigator.userAgent; + let tem; + let M = ua.match(/(opera|chrome|safari|firefox|msie|trident(?=\/))\/?\s*(\d+)/i) || []; + if (/trident/i.test(M[1])) { + tem = /\brv[ :]+(\d+)/g.exec(ua) || []; + return { + name: 'IE', + version: tem[1] || '' + }; + } + if (M[1] === 'Chrome') { + tem = ua.match(/\b(OPR|Edge)\/(\d+)/); + if (tem != null) { + return { + name: tem[1].replace('OPR', 'Opera'), + version: tem[2] + }; + } + } + M = M[2] ? [M[1], M[2]] : [navigator.appName, navigator.appVersion, '-?']; + // tslint:disable-next-line:no-conditional-assignment + if ((tem = ua.match(/version\/(\d+)/i)) != null) { + M.splice(1, 1, tem[1]); + } + return { + name: M[0], + version: M[1] + }; + } + /** Needed for an SVG-Fix in CHrome where the # needs to be replaced by %23 **/ + URIHashtagFix(svg) { + let fix = false; + const browser = this.browserSpecs(); + const name = browser.name; + const version = parseInt(browser.version); + // only implemented in chrome and firefox at the moment + if (name.includes('Chrome')) { + if (version >= 72) { + fix = true; + // https://www.chromestatus.com/features/5656049583390720 + } + } else if (name.includes('Firefox')) { + fix = true; + // versionNumber of implementation unknown + } + + if (fix) { + while (svg.includes('#')) { + svg = svg.replace('#', '%23'); + } + } + return svg; + } + findMostOuterElements(svg) { + let xLeft = 0; + let xRight = 0; + let yUp = 0; + let yDown = 0; + const elements = svg.getElementsByClassName('djs-group'); + // tslint:disable-next-line:prefer-for-of + for (let i = 0; i < elements.length; i++) { + const element = elements[i]; + const sub = element.children; + let elXLeft; + let elXRight; + let elYUp; + let elYDown; + const transform = sub[0].getAttribute('transform'); + if (transform) { + let nums; + if (transform.includes('matrix')) { + transform.replace('matrix(', ''); + transform.replace(')', ''); + nums = transform.split(' '); + elXLeft = parseInt(nums[4]); + elYUp = parseInt(nums[5]); + } else { + transform.replace('translate(', ''); + transform.replace(')', ''); + nums = transform.split(' '); + elXLeft = parseInt(nums[0]); + elYUp = parseInt(nums[1]); + } + const rects = sub[0].getElementsByTagName('rect'); + const outerRect = rects[rects.length - 1]; + const width = outerRect.getAttribute('width'); + elXRight = elXLeft + parseInt(width != null ? width : '0'); + elYDown = elYUp + sub[0].getBoundingClientRect().height; + } else { + const rects = element.getElementsByTagName('rect'); + const outerRect = rects[rects.length - 1]; + const x = outerRect.getAttribute('x'); + const y = outerRect.getAttribute('y'); + elXLeft = parseInt(x != null ? x : '0'); + elYUp = parseInt(y != null ? y : '0'); + const width = outerRect.getAttribute('width'); + const height = outerRect.getAttribute('height'); + elXRight = elXLeft + parseInt(width != null ? width : '0'); + elYDown = elYUp + parseInt(height != null ? height : '0') + 20; // Add 20 px as Padding for text at the bottom + } + + if (elXLeft < xLeft) { + xLeft = elXLeft; + } + if (elXRight > xRight) { + xRight = elXRight; + } + if (elYUp < yUp) { + yUp = elYUp; + } + if (elYDown > yDown) { + yDown = elYDown; + } + } + yUp -= 75; // we need to adjust yUp to have space for the title and description + return { + xLeft, + xRight, + yUp, + yDown + }; + } + prepareSVG(svg, layerBase, description, title, withTitle) { + const box = this.findMostOuterElements(layerBase); + let viewBoxIndex = svg.indexOf('width="'); + this.calculateWidthAndHeight(box); + const { + insertText, + extraHeight + } = (0,src_app_Service_Export_exportUtil__WEBPACK_IMPORTED_MODULE_0__.createTitleAndDescriptionSVGElement)(title, description, box.xLeft, box.yUp + 20, this.width); + if (withTitle) { + this.height += extraHeight; + } + const bounds = this.createBounds(box, extraHeight); + const dataStart = svg.substring(0, viewBoxIndex); + viewBoxIndex = svg.indexOf('style="'); + const dataEnd = svg.substring(viewBoxIndex); + dataEnd.substring(viewBoxIndex); + svg = dataStart + bounds + dataEnd; + const insertIndex = svg.indexOf('') + 20; + if (withTitle) { + svg = [svg.slice(0, insertIndex), insertText, svg.slice(insertIndex)].join(''); + } + svg = this.URIHashtagFix(svg); + return svg; + } + createBounds(box, extraHeight) { + return 'width="' + this.width + '" height="' + this.height + '" viewBox=" ' + box.xLeft + ' ' + (box.yUp - extraHeight) + ' ' + this.width + ' ' + this.height + '" '; + } + /** + * Calculate the Width and Height of the Bounding Box for the PNG so no Parts are cut off + * TODO Longer Iconnames can still be cut of, when the Element is the lowest Object on the canvas, same for Activities + */ + calculateWidthAndHeight(box) { + if (box.xLeft < 0) { + if (box.xRight < 0) { + this.width = Math.abs(box.xLeft - box.xRight); + } else { + this.width = Math.abs(box.xLeft) + box.xRight; + } + } else { + this.width = box.xRight - box.xLeft; + } + if (box.yUp < 0) { + if (box.yDown < 0) { + this.height = Math.abs(box.yUp - box.yDown); + } else { + this.height = Math.abs(box.yUp) + box.yDown; + } + } else { + this.height = box.yDown - box.yUp; + } + // if the domain-Story is smaller than 300px in width or height, increase its dimensions + if (this.height < 300) { + this.height += 300; + box.yUp -= 150; + box.yDown += 150; + } + if (this.width < 300) { + this.width += 300; + box.xLeft -= 150; + box.xRight += 150; + } + return [this.height, this.width]; + } + extractSVG(viewport, outerSVGElement) { + const layerResizers = viewport.getElementsByClassName('layer-resizers'); + const layerOverlays = viewport.getElementsByClassName('layer-overlays'); + const transform = viewport.getAttribute('transform'); + const translate = viewport.getAttribute('translate'); + if (layerResizers[0]) { + layerResizers[0].parentNode.removeChild(layerResizers[0]); + } + if (layerOverlays[0]) { + layerOverlays[0].parentNode.removeChild(layerOverlays[0]); + } + // remove canvas scrolling and scaling before serializeToString of SVG + if (transform) { + viewport.removeAttribute('transform'); + } + if (translate) { + viewport.removeAttribute('translate'); + } + const svg = new XMLSerializer().serializeToString(outerSVGElement); + // re-add canvas scrolling and scaling + if (transform) { + viewport.setAttribute('transform', transform); + } + if (translate) { + viewport.setAttribute('translate', translate); + } + return svg; + } + getWidth() { + return this.width; + } + getHeight() { + return this.height; + } + static #_ = this.ɵfac = function PngService_Factory(t) { + return new (t || PngService)(); + }; + static #_2 = this.ɵprov = /*@__PURE__*/_angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵdefineInjectable"]({ + token: PngService, + factory: PngService.ɵfac, + providedIn: 'root' + }); +} + +/***/ }), + +/***/ 99778: +/*!***********************************************!*\ + !*** ./src/app/Service/Export/svg.service.ts ***! + \***********************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ SvgService: () => (/* binding */ SvgService) +/* harmony export */ }); +/* harmony import */ var src_app_Service_Export_exportUtil__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! src/app/Service/Export/exportUtil */ 8690); +/* harmony import */ var _angular_core__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @angular/core */ 51197); +/* harmony import */ var _Modeler_modeler_service__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../Modeler/modeler.service */ 43075); + + + +class SvgService { + constructor(modelerService) { + this.modelerService = modelerService; + this.cacheData = ''; + } + createSVGData(title, description, dst, withTitle, useWhiteBackground) { + this.cacheData = this.modelerService.getEncoded(); + let data = structuredClone(this.cacheData); + let viewBoxIndex = data.indexOf('width="'); + let { + width, + height, + viewBox + } = this.viewBoxCoordinates(data); + let xLeft; + let xRight; + let yUp; + let yDown; + const splitViewBox = viewBox.split(/\s/); + xLeft = +splitViewBox[0]; + yUp = +splitViewBox[1]; + xRight = +splitViewBox[2]; + yDown = +splitViewBox[3]; + if (xRight < 300) { + xRight += 300; + width += 300; + } + const { + insertText, + extraHeight + } = (0,src_app_Service_Export_exportUtil__WEBPACK_IMPORTED_MODULE_0__.createTitleAndDescriptionSVGElement)(title, description, xLeft, yUp, width); + if (withTitle) { + // to display the title and description in the SVG-file, we need to add a container for the text-elements + height += extraHeight + 80; + } + const bounds = this.createBounds(width, height, xLeft, yUp, xRight, yDown, withTitle); + const dataStart = data.substring(0, viewBoxIndex); + viewBoxIndex = data.indexOf('" version'); + const dataEnd = data.substring(viewBoxIndex); + dataEnd.substring(viewBoxIndex); + data = dataStart + bounds + dataEnd; + const insertIndex = this.findIndexToInsertData(data); + if (withTitle) { + data = data.slice(0, insertIndex) + insertText + data.slice(insertIndex); + } + if (useWhiteBackground) { + const svgIndex = data.indexOf('width="'); + const backgroundColorWhite = 'style="background-color:white" '; + data = data.slice(0, svgIndex) + backgroundColorWhite + data.slice(svgIndex); + } + return this.appendDST(data, dst); + } + findIndexToInsertData(data) { + let insertIndex = data.indexOf(''); + if (insertIndex < 0) { + insertIndex = data.indexOf('version="1.2">') + 14; + } else { + insertIndex += 7; + } + return insertIndex; + } + createBounds(width, height, xLeft, yUp, xRight, yDown, withTitle) { + return 'width="' + width + '" height=" ' + height + '" viewBox="' + xLeft + ' ' + (withTitle ? yUp - 80 : yUp) + ' ' + xRight + ' ' + (yDown + 30); + } + viewBoxCoordinates(svg) { + const ViewBoxCoordinate = /width="([^"]+)"\s+height="([^"]+)"\s+viewBox="([^"]+)"/; + const match = svg.match(ViewBoxCoordinate); + if (match) { + return { + width: +match[1], + height: +match[2], + viewBox: match[3] + }; + } + return { + width: 0, + height: 0, + viewBox: '' + }; + } + appendDST(data, dst) { + data += '\n'; + return data; + } + static #_ = this.ɵfac = function SvgService_Factory(t) { + return new (t || SvgService)(_angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵinject"](_Modeler_modeler_service__WEBPACK_IMPORTED_MODULE_1__.ModelerService)); + }; + static #_2 = this.ɵprov = /*@__PURE__*/_angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵdefineInjectable"]({ + token: SvgService, + factory: SvgService.ɵfac, + providedIn: 'root' + }); +} + +/***/ }), + +/***/ 1551: +/*!***************************************************************!*\ + !*** ./src/app/Service/Import/import-domain-story.service.ts ***! + \***************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ ImportDomainStoryService: () => (/* binding */ ImportDomainStoryService) +/* harmony export */ }); +/* harmony import */ var _angular_core__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! @angular/core */ 51197); +/* harmony import */ var src_app_Domain_Common_dictionary_dictionary__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! src/app/Domain/Common/dictionary/dictionary */ 6789); +/* harmony import */ var src_app_Domain_Common_elementTypes__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! src/app/Domain/Common/elementTypes */ 17290); +/* harmony import */ var src_app_Domain_Common_domainConfiguration__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! src/app/Domain/Common/domainConfiguration */ 58643); +/* harmony import */ var _Presentation_Dialog_info_dialog_info_dialog_component__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../Presentation/Dialog/info-dialog/info-dialog.component */ 81183); +/* harmony import */ var _angular_material_dialog__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! @angular/material/dialog */ 23373); +/* harmony import */ var _Domain_Dialog_infoDialogData__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../../Domain/Dialog/infoDialogData */ 70541); +/* harmony import */ var _Utils_sanitizer__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../../Utils/sanitizer */ 82241); +/* harmony import */ var _Domain_Common_constants__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../../Domain/Common/constants */ 45219); +/* harmony import */ var src_app_Service_DomainConfiguration_icon_dictionary_service__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! src/app/Service/DomainConfiguration/icon-dictionary.service */ 19673); +/* harmony import */ var src_app_Service_Import_import_repair_service__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! src/app/Service/Import/import-repair.service */ 7959); +/* harmony import */ var src_app_Service_Title_title_service__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! src/app/Service/Title/title.service */ 32610); +/* harmony import */ var src_app_Service_Renderer_renderer_service__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! src/app/Service/Renderer/renderer.service */ 87300); +/* harmony import */ var _Dialog_dialog_service__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ../Dialog/dialog.service */ 33483); +/* harmony import */ var _DomainConfiguration_domain_configuration_service__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ../DomainConfiguration/domain-configuration.service */ 88421); +/* harmony import */ var _angular_material_snack_bar__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(/*! @angular/material/snack-bar */ 93768); + + + + + + + + + + + + + + + + + +class ImportDomainStoryService { + constructor(iconDictionaryService, importRepairService, titleService, rendererService, dialogService, domainConfigurationService, snackbar) { + this.iconDictionaryService = iconDictionaryService; + this.importRepairService = importRepairService; + this.titleService = titleService; + this.rendererService = rendererService; + this.dialogService = dialogService; + this.domainConfigurationService = domainConfigurationService; + this.snackbar = snackbar; + this.title = _Domain_Common_constants__WEBPACK_IMPORTED_MODULE_6__.INITIAL_TITLE; + this.description = _Domain_Common_constants__WEBPACK_IMPORTED_MODULE_6__.INITIAL_DESCRIPTION; + this.importedConfiguration = null; + this.importedConfigurationEmitter = new _angular_core__WEBPACK_IMPORTED_MODULE_13__.EventEmitter(); + this.titleSubscription = this.titleService.title$.subscribe(title => { + this.title = title; + }); + this.descriptionSubscription = this.titleService.description$.subscribe(description => { + this.description = description; + }); + } + ngOnDestroy() { + this.titleSubscription.unsubscribe(); + this.descriptionSubscription.unsubscribe(); + } + get importedConfigurationEvent() { + return this.importedConfigurationEmitter.asObservable(); + } + getImportedConfiguration() { + const config = { + name: this.importedConfiguration?.name || '', + actors: this.importedConfiguration?.actors || new src_app_Domain_Common_dictionary_dictionary__WEBPACK_IMPORTED_MODULE_0__.Dictionary(), + workObjects: this.importedConfiguration?.workObjects || new src_app_Domain_Common_dictionary_dictionary__WEBPACK_IMPORTED_MODULE_0__.Dictionary() + }; + this.importedConfiguration = null; + return config; + } + importDST(input, filename, isSVG) { + const fileReader = new FileReader(); + const titleText = (0,_Utils_sanitizer__WEBPACK_IMPORTED_MODULE_5__.restoreTitleFromFileName)(filename, isSVG); + // no need to put this on the commandStack + this.titleService.updateTitleAndDescription(titleText, null, false); + fileReader.onloadend = e => { + if (e && e.target) { + this.fileReaderFunction(e.target.result, isSVG, false); + } + }; + fileReader.readAsText(input); + } + importEGN(input, filename, isSVG) { + const fileReader = new FileReader(); + const titleText = (0,_Utils_sanitizer__WEBPACK_IMPORTED_MODULE_5__.restoreTitleFromFileName)(filename, isSVG); + // no need to put this on the commandStack + this.titleService.updateTitleAndDescription(titleText, null, false); + fileReader.onloadend = e => { + if (e && e.target) { + this.fileReaderFunction(e.target.result, isSVG, true); + } + }; + fileReader.readAsText(input); + } + fileReaderFunction(text, isSVG, isEGN) { + let dstText; + if (typeof text === 'string') { + if (isSVG) { + dstText = this.removeXMLComments(text); + } else { + dstText = text; + } + let elements; + let config; + let configFromFile; + let dstAndConfig = this.extractDstAndConfig(dstText, isSVG); + if (dstAndConfig == null) { + return; + } + // current implementation + if (dstAndConfig.domain) { + configFromFile = isEGN ? dstAndConfig.domain : JSON.parse(dstAndConfig.domain); + config = (0,src_app_Domain_Common_domainConfiguration__WEBPACK_IMPORTED_MODULE_2__.fromConfigurationFromFile)(configFromFile); + elements = isEGN ? dstAndConfig.dst : JSON.parse(dstAndConfig.dst); + } else { + // legacy implementation + if (dstAndConfig.config) { + configFromFile = JSON.parse(dstAndConfig.config); + config = (0,src_app_Domain_Common_domainConfiguration__WEBPACK_IMPORTED_MODULE_2__.fromConfigurationFromFile)(configFromFile); + elements = JSON.parse(dstAndConfig.dst); + } else { + // implementation prior to configuration + elements = JSON.parse(dstText); + config = this.domainConfigurationService.createMinimalConfigurationWithDefaultIcons(); + } + } + const configChanged = this.checkConfigForChanges(config); + let lastElement = elements[elements.length - 1]; + if (!lastElement.id) { + lastElement = elements.pop(); + let importVersionNumber = lastElement; + // if the last element has the importedVersionNumber has the tag version, + // then there exists another meta tag 'info' for the description + if (importVersionNumber.version) { + lastElement = elements.pop(); + } + if (importVersionNumber.version) { + importVersionNumber = importVersionNumber.version; + } else { + importVersionNumber = '?'; + this.snackbar.open(`The version number is unreadable.`, undefined, { + duration: _Domain_Common_constants__WEBPACK_IMPORTED_MODULE_6__.SNACKBAR_DURATION, + panelClass: _Domain_Common_constants__WEBPACK_IMPORTED_MODULE_6__.SNACKBAR_ERROR + }); + } + elements = this.handleVersionNumber(importVersionNumber, elements); + } + if (!this.importRepairService.checkForUnreferencedElementsInActivitiesAndRepair(elements)) { + this.showBrokenImportDialog(isSVG ? 'SVG' : 'DST'); + } + this.titleService.updateTitleAndDescription(null, lastElement.info, false); + this.importRepairService.adjustPositions(elements); + this.updateIconRegistries(elements, config); + this.rendererService.importStory(elements, configChanged, config); + } + } + handleVersionNumber(importVersionNumber, elements) { + const versionPrefix = +importVersionNumber.substring(0, importVersionNumber.lastIndexOf('.')); + if (versionPrefix <= 0.5) { + elements = this.importRepairService.updateCustomElementsPreviousV050(elements); + this.showPreviousV050Dialog(versionPrefix); + } + return elements; + } + extractDstAndConfig(dstText, isSVG) { + let dstAndConfig = null; + try { + dstAndConfig = JSON.parse(dstText); + } catch (e) { + this.showBrokenImportDialog(isSVG ? 'SVG' : 'DST'); + } + return dstAndConfig; + } + removeXMLComments(xmlText) { + xmlText = xmlText.substring(xmlText.indexOf('')); + while (xmlText.includes('')) { + xmlText = xmlText.replace('', ''); + } + xmlText = xmlText.replace('', ''); + xmlText = xmlText.replace('', ''); + return xmlText; + } + checkConfigForChanges(domainConfiguration) { + const newActorKeys = domainConfiguration.actors.keysArray(); + const newWorkObjectKeys = domainConfiguration.workObjects.keysArray(); + const currentActorKeys = this.iconDictionaryService.getTypeDictionaryKeys(src_app_Domain_Common_elementTypes__WEBPACK_IMPORTED_MODULE_1__.elementTypes.ACTOR); + const currentWorkobjectKeys = this.iconDictionaryService.getTypeDictionaryKeys(src_app_Domain_Common_elementTypes__WEBPACK_IMPORTED_MODULE_1__.elementTypes.WORKOBJECT); + let changed = false; + if (newActorKeys.length !== currentActorKeys.length || newWorkObjectKeys.length !== currentWorkobjectKeys.length) { + return true; + } + for (let i = 0; i < newActorKeys.length; i++) { + changed = this.clearName(currentActorKeys[i]) !== this.clearName(newActorKeys[i]); + if (changed) { + i = newActorKeys.length; + } + } + if (changed) { + return changed; + } + for (let i = 0; i < newWorkObjectKeys.length; i++) { + changed = this.clearName(currentWorkobjectKeys[i]) !== this.clearName(newWorkObjectKeys[i]); + if (changed) { + i = newWorkObjectKeys.length; + } + } + return changed; + } + clearName(name) { + return name.replace(src_app_Domain_Common_elementTypes__WEBPACK_IMPORTED_MODULE_1__.elementTypes.ACTOR, '').replace(src_app_Domain_Common_elementTypes__WEBPACK_IMPORTED_MODULE_1__.elementTypes.WORKOBJECT, ''); + } + updateIconRegistries(elements, config) { + const actorIcons = this.iconDictionaryService.getElementsOfType(elements, src_app_Domain_Common_elementTypes__WEBPACK_IMPORTED_MODULE_1__.elementTypes.ACTOR); + const workObjectIcons = this.iconDictionaryService.getElementsOfType(elements, src_app_Domain_Common_elementTypes__WEBPACK_IMPORTED_MODULE_1__.elementTypes.WORKOBJECT); + this.iconDictionaryService.updateIconRegistries(actorIcons, workObjectIcons, config); + this.setImportedConfigurationAndEmit(config); + } + showPreviousV050Dialog(version) { + const title = 'Compatability-Warning'; + const text = 'The uploaded Domain-Story is from version ' + version + '. There may be problems with the default actors or workobjects contained in the story.'; + const config = new _angular_material_dialog__WEBPACK_IMPORTED_MODULE_14__.MatDialogConfig(); + config.disableClose = false; + config.autoFocus = true; + config.data = new _Domain_Dialog_infoDialogData__WEBPACK_IMPORTED_MODULE_4__.InfoDialogData(title, text, true); + this.dialogService.openDialog(_Presentation_Dialog_info_dialog_info_dialog_component__WEBPACK_IMPORTED_MODULE_3__.InfoDialogComponent, config); + } + setImportedConfigurationAndEmit(config) { + this.importedConfiguration = config; + this.importedConfigurationEmitter.emit(config); + } + showBrokenImportDialog(type) { + const config = new _angular_material_dialog__WEBPACK_IMPORTED_MODULE_14__.MatDialogConfig(); + config.disableClose = false; + config.autoFocus = true; + config.data = new _Domain_Dialog_infoDialogData__WEBPACK_IMPORTED_MODULE_4__.InfoDialogData('Error during import', 'The uploaded ' + type + ' is not complete, there could be elements missing from the canvas.', true, false); + this.dialogService.openDialog(_Presentation_Dialog_info_dialog_info_dialog_component__WEBPACK_IMPORTED_MODULE_3__.InfoDialogComponent, config); + } + static #_ = this.ɵfac = function ImportDomainStoryService_Factory(t) { + return new (t || ImportDomainStoryService)(_angular_core__WEBPACK_IMPORTED_MODULE_13__["ɵɵinject"](src_app_Service_DomainConfiguration_icon_dictionary_service__WEBPACK_IMPORTED_MODULE_7__.IconDictionaryService), _angular_core__WEBPACK_IMPORTED_MODULE_13__["ɵɵinject"](src_app_Service_Import_import_repair_service__WEBPACK_IMPORTED_MODULE_8__.ImportRepairService), _angular_core__WEBPACK_IMPORTED_MODULE_13__["ɵɵinject"](src_app_Service_Title_title_service__WEBPACK_IMPORTED_MODULE_9__.TitleService), _angular_core__WEBPACK_IMPORTED_MODULE_13__["ɵɵinject"](src_app_Service_Renderer_renderer_service__WEBPACK_IMPORTED_MODULE_10__.RendererService), _angular_core__WEBPACK_IMPORTED_MODULE_13__["ɵɵinject"](_Dialog_dialog_service__WEBPACK_IMPORTED_MODULE_11__.DialogService), _angular_core__WEBPACK_IMPORTED_MODULE_13__["ɵɵinject"](_DomainConfiguration_domain_configuration_service__WEBPACK_IMPORTED_MODULE_12__.DomainConfigurationService), _angular_core__WEBPACK_IMPORTED_MODULE_13__["ɵɵinject"](_angular_material_snack_bar__WEBPACK_IMPORTED_MODULE_15__.MatSnackBar)); + }; + static #_2 = this.ɵprov = /*@__PURE__*/_angular_core__WEBPACK_IMPORTED_MODULE_13__["ɵɵdefineInjectable"]({ + token: ImportDomainStoryService, + factory: ImportDomainStoryService.ɵfac, + providedIn: 'root' + }); +} + +/***/ }), + +/***/ 7959: +/*!*********************************************************!*\ + !*** ./src/app/Service/Import/import-repair.service.ts ***! + \*********************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ ImportRepairService: () => (/* binding */ ImportRepairService) +/* harmony export */ }); +/* harmony import */ var src_app_Domain_Common_elementTypes__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! src/app/Domain/Common/elementTypes */ 17290); +/* harmony import */ var _angular_core__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @angular/core */ 51197); + + +/** + * Repairs broken Domain Stories so that it can be rendered onto the canvas + * by removing activities and connections that reference elements that don't exists + */ +class ImportRepairService { + checkForUnreferencedElementsInActivitiesAndRepair(elements) { + const activities = []; + const objectIDs = []; + let complete = true; + elements.forEach(element => { + const type = element.type; + if (type === src_app_Domain_Common_elementTypes__WEBPACK_IMPORTED_MODULE_0__.elementTypes.ACTIVITY || type === src_app_Domain_Common_elementTypes__WEBPACK_IMPORTED_MODULE_0__.elementTypes.CONNECTION) { + activities.push(element); + } else { + objectIDs.push(element.id); + } + }); + activities.forEach(activity => { + const source = activity.source; + const target = activity.target; + if (!objectIDs.includes(source) || !objectIDs.includes(target)) { + complete = false; + const activityIndex = elements.indexOf(activity); + elements = elements.splice(activityIndex, 1); + } + }); + return complete; + } + /** + * Ensure backwards compatibility. + * Previously Document had no special name and was just addressed as workObject + * Bubble was renamed to Conversation + */ + updateCustomElementsPreviousV050(elements) { + for (const element of elements) { + if (element.type === src_app_Domain_Common_elementTypes__WEBPACK_IMPORTED_MODULE_0__.elementTypes.WORKOBJECT) { + element.type = src_app_Domain_Common_elementTypes__WEBPACK_IMPORTED_MODULE_0__.elementTypes.WORKOBJECT + 'Document'; + } else if (element.type === src_app_Domain_Common_elementTypes__WEBPACK_IMPORTED_MODULE_0__.elementTypes.WORKOBJECT + 'Bubble') { + element.type = src_app_Domain_Common_elementTypes__WEBPACK_IMPORTED_MODULE_0__.elementTypes.WORKOBJECT + 'Conversation'; + } + } + return elements; + } + /** + * Adjusts Positions of Elements to ensure the Domain Story starts in the visible parts of the canvas + */ + adjustPositions(elements) { + let xLeft = 0; + let yUp = 0; + let isFirst = true; + this.findFirstElement(elements, isFirst, xLeft, yUp); + if (xLeft < 75 || xLeft > 150 || yUp < 0 || yUp > 50) { + // add Padding for the Palette and the top + xLeft -= 75; + yUp -= 50; + elements.forEach(element => this.adjustElementPosition(element, xLeft, yUp)); + } + } + adjustElementPosition(element, xLeft, yUp) { + if (element.type === src_app_Domain_Common_elementTypes__WEBPACK_IMPORTED_MODULE_0__.elementTypes.ACTIVITY || element.type === src_app_Domain_Common_elementTypes__WEBPACK_IMPORTED_MODULE_0__.elementTypes.CONNECTION) { + const waypoints = element.waypoints; + waypoints.forEach(point => { + point.x -= xLeft; + point.y -= yUp; + if (point.original) { + point.original.x = point.x; + point.original.y = point.y; + } + }); + } else { + element.x -= xLeft; + element.y -= yUp; + } + } + findFirstElement(elements, isFirst, xLeft, yUp) { + elements.forEach(element => { + let elXLeft; + let elYUp; + if (element.type !== src_app_Domain_Common_elementTypes__WEBPACK_IMPORTED_MODULE_0__.elementTypes.ACTIVITY && element.type !== src_app_Domain_Common_elementTypes__WEBPACK_IMPORTED_MODULE_0__.elementTypes.CONNECTION) { + if (isFirst) { + xLeft = element.x; + yUp = element.y; + isFirst = false; + } + elXLeft = element.x; + elYUp = element.y; + if (elXLeft < xLeft) { + xLeft = elXLeft; + } + if (elYUp < yUp) { + yUp = elYUp; + } + } + }); + } + static #_ = this.ɵfac = function ImportRepairService_Factory(t) { + return new (t || ImportRepairService)(); + }; + static #_2 = this.ɵprov = /*@__PURE__*/_angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵdefineInjectable"]({ + token: ImportRepairService, + factory: ImportRepairService.ɵfac, + providedIn: 'root' + }); +} + +/***/ }), + +/***/ 84877: +/*!*********************************************************************!*\ + !*** ./src/app/Service/LabelDictionary/label-dictionary.service.ts ***! + \*********************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ LabelDictionaryService: () => (/* binding */ LabelDictionaryService) +/* harmony export */ }); +/* harmony import */ var src_app_Domain_Common_elementTypes__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! src/app/Domain/Common/elementTypes */ 17290); +/* harmony import */ var _angular_core__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @angular/core */ 51197); +/* harmony import */ var src_app_Service_LabelDictionary_mass_naming_service__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! src/app/Service/LabelDictionary/mass-naming.service */ 36837); +/* harmony import */ var src_app_Service_ElementRegistry_element_registry_service__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! src/app/Service/ElementRegistry/element-registry.service */ 83335); +/* harmony import */ var _DomainConfiguration_icon_dictionary_service__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../DomainConfiguration/icon-dictionary.service */ 19673); + + + + + +class LabelDictionaryService { + constructor(massNamingService, elementRegistryService, iconDictionaryService) { + this.massNamingService = massNamingService; + this.elementRegistryService = elementRegistryService; + this.iconDictionaryService = iconDictionaryService; + this.activityLabels = []; + this.workObjektLabels = []; + } + createLabelDictionaries() { + this.activityLabels = []; + this.workObjektLabels = []; + const allObjects = this.elementRegistryService.getAllCanvasObjects(); + allObjects.forEach(element => { + const name = element.businessObject.name; + if (name && name.length > 0 && element.type.includes(src_app_Domain_Common_elementTypes__WEBPACK_IMPORTED_MODULE_0__.elementTypes.ACTIVITY) && !this.activityLabels.map(a => a.name).includes(name)) { + this.activityLabels.push({ + name, + originalName: name + }); + } else if (name && name.length > 0 && element.type.includes(src_app_Domain_Common_elementTypes__WEBPACK_IMPORTED_MODULE_0__.elementTypes.WORKOBJECT) && !this.workObjektLabels.map(e => e.name).includes(name)) { + const iconName = element.type.replace(src_app_Domain_Common_elementTypes__WEBPACK_IMPORTED_MODULE_0__.elementTypes.WORKOBJECT, ''); + let icon = this.iconDictionaryService.getIconSource(iconName); + if (!icon) { + return; + } + if (!icon.startsWith('data')) { + icon = 'data:image/svg+xml,' + icon; + } + this.workObjektLabels.push({ + name, + originalName: name, + icon + }); + } + }); + this.activityLabels.sort((a, b) => { + return a.name.toLowerCase().localeCompare(b.name.toLowerCase()); + }); + this.workObjektLabels.sort((a, b) => { + return a.name.toLowerCase().localeCompare(b.name.toLowerCase()); + }); + } + getActivityLabels() { + return this.activityLabels.slice(); + } + getWorkObjectLabels() { + return this.workObjektLabels.slice(); + } + getUniqueWorkObjectNames() { + const workObjects = this.elementRegistryService.getAllWorkobjects(); + return [...new Set(workObjects.filter(workObject => { + return !!workObject.businessObject.name; + }).map(workObject => workObject.businessObject.name))]; + } + massRenameLabels(activityNames, originalActivityNames, workObjectNames, originalWorkObjectNames) { + for (let i = 0; i < originalActivityNames.length; i++) { + if (!activityNames[i]) { + activityNames[i] = ''; + } + if (!(activityNames[i] == originalActivityNames[i])) { + this.massNamingService.massChangeNames(originalActivityNames[i], activityNames[i], src_app_Domain_Common_elementTypes__WEBPACK_IMPORTED_MODULE_0__.elementTypes.ACTIVITY); + } + } + for (let i = 0; i < originalWorkObjectNames.length; i++) { + if (!workObjectNames[i]) { + workObjectNames[i] = ''; + } + if (!(workObjectNames[i] == originalWorkObjectNames[i])) { + this.massNamingService.massChangeNames(originalWorkObjectNames[i], workObjectNames[i], src_app_Domain_Common_elementTypes__WEBPACK_IMPORTED_MODULE_0__.elementTypes.WORKOBJECT); + } + } + } + static #_ = this.ɵfac = function LabelDictionaryService_Factory(t) { + return new (t || LabelDictionaryService)(_angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵinject"](src_app_Service_LabelDictionary_mass_naming_service__WEBPACK_IMPORTED_MODULE_1__.MassNamingService), _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵinject"](src_app_Service_ElementRegistry_element_registry_service__WEBPACK_IMPORTED_MODULE_2__.ElementRegistryService), _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵinject"](_DomainConfiguration_icon_dictionary_service__WEBPACK_IMPORTED_MODULE_3__.IconDictionaryService)); + }; + static #_2 = this.ɵprov = /*@__PURE__*/_angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵdefineInjectable"]({ + token: LabelDictionaryService, + factory: LabelDictionaryService.ɵfac, + providedIn: 'root' + }); +} + +/***/ }), + +/***/ 36837: +/*!****************************************************************!*\ + !*** ./src/app/Service/LabelDictionary/mass-naming.service.ts ***! + \****************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ MassNamingService: () => (/* binding */ MassNamingService) +/* harmony export */ }); +/* harmony import */ var _angular_core__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @angular/core */ 51197); +/* harmony import */ var src_app_Service_ElementRegistry_element_registry_service__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! src/app/Service/ElementRegistry/element-registry.service */ 83335); +/* harmony import */ var _CommandStack_command_stack_service__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../CommandStack/command-stack.service */ 70847); + + + +class MassNamingService { + constructor(elementRegistryService, commandStackService) { + this.elementRegistryService = elementRegistryService; + this.commandStackService = commandStackService; + } + massChangeNames(oldValue, newValue, type) { + const allRelevantObjects = []; + this.elementRegistryService.getAllCanvasObjects().forEach(element => { + if (element.type.includes(type) && element.businessObject.name === oldValue) { + allRelevantObjects.push(element); + } + }); + const context = { + elements: allRelevantObjects, + newValue + }; + this.commandStackService.execute('domainStoryObjects.massRename', context); + } + static #_ = this.ɵfac = function MassNamingService_Factory(t) { + return new (t || MassNamingService)(_angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵinject"](src_app_Service_ElementRegistry_element_registry_service__WEBPACK_IMPORTED_MODULE_0__.ElementRegistryService), _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵinject"](_CommandStack_command_stack_service__WEBPACK_IMPORTED_MODULE_1__.CommandStackService)); + }; + static #_2 = this.ɵprov = /*@__PURE__*/_angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵdefineInjectable"]({ + token: MassNamingService, + factory: MassNamingService.ɵfac, + providedIn: 'root' + }); +} + +/***/ }), + +/***/ 39492: +/*!********************************************************!*\ + !*** ./src/app/Service/Modeler/initializer.service.ts ***! + \********************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ InitializerService: () => (/* binding */ InitializerService) +/* harmony export */ }); +/* harmony import */ var _Modeler_modeler_context_pad_domainStoryContextPadProvider__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../Modeler/modeler/context-pad/domainStoryContextPadProvider */ 83006); +/* harmony import */ var _Modeler_modeler_numbering_numbering__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../Modeler/modeler/numbering/numbering */ 39843); +/* harmony import */ var _Modeler_modeler_palette_domainStoryPalette__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../Modeler/modeler/palette/domainStoryPalette */ 48206); +/* harmony import */ var _Modeler_modeler_domainStoryRenderer__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../Modeler/modeler/domainStoryRenderer */ 93699); +/* harmony import */ var _Modeler_modeler_labeling_dsLabelEditingProvider__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../../Modeler/modeler/labeling/dsLabelEditingProvider */ 78355); +/* harmony import */ var _Modeler_modeler_change_icon_replaceOptions__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../../Modeler/modeler/change-icon/replaceOptions */ 12972); +/* harmony import */ var _Domain_Common_elementTypes__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../../Domain/Common/elementTypes */ 17290); +/* harmony import */ var _angular_material_dialog__WEBPACK_IMPORTED_MODULE_24__ = __webpack_require__(/*! @angular/material/dialog */ 23373); +/* harmony import */ var _Domain_Dialog_activityDialogData__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../../Domain/Dialog/activityDialogData */ 55311); +/* harmony import */ var _Presentation_Dialog_activity_dialog_activity_dialog_component__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../../Presentation/Dialog/activity-dialog/activity-dialog.component */ 39270); +/* harmony import */ var _Modeler_modeler_updateHandler_massRenameHandler__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ../../Modeler/modeler/updateHandler/massRenameHandler */ 37989); +/* harmony import */ var _Modeler_modeler_updateHandler_headlineAndDescriptionUpdateHandler__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ../../Modeler/modeler/updateHandler/headlineAndDescriptionUpdateHandler */ 49716); +/* harmony import */ var _Utils_mathExtensions__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ../../Utils/mathExtensions */ 77480); +/* harmony import */ var _Modeler_modeler_updateHandler_activityUpdateHandlers__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ../../Modeler/modeler/updateHandler/activityUpdateHandlers */ 84167); +/* harmony import */ var _Modeler_modeler_updateHandler_elementUpdateHandler__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! ../../Modeler/modeler/updateHandler/elementUpdateHandler */ 66636); +/* harmony import */ var _angular_core__WEBPACK_IMPORTED_MODULE_25__ = __webpack_require__(/*! @angular/core */ 51197); +/* harmony import */ var _DirtyFlag_dirty_flag_service__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! ../DirtyFlag/dirty-flag.service */ 52828); +/* harmony import */ var _DomainConfiguration_icon_dictionary_service__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(/*! ../DomainConfiguration/icon-dictionary.service */ 19673); +/* harmony import */ var _ElementRegistry_element_registry_service__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(/*! ../ElementRegistry/element-registry.service */ 83335); +/* harmony import */ var _DomainConfiguration_domain_configuration_service__WEBPACK_IMPORTED_MODULE_17__ = __webpack_require__(/*! ../DomainConfiguration/domain-configuration.service */ 88421); +/* harmony import */ var _LabelDictionary_label_dictionary_service__WEBPACK_IMPORTED_MODULE_18__ = __webpack_require__(/*! ../LabelDictionary/label-dictionary.service */ 84877); +/* harmony import */ var _Replay_replay_state_service__WEBPACK_IMPORTED_MODULE_19__ = __webpack_require__(/*! ../Replay/replay-state.service */ 54870); +/* harmony import */ var _Dialog_dialog_service__WEBPACK_IMPORTED_MODULE_20__ = __webpack_require__(/*! ../Dialog/dialog.service */ 33483); +/* harmony import */ var _CommandStack_command_stack_service__WEBPACK_IMPORTED_MODULE_21__ = __webpack_require__(/*! ../CommandStack/command-stack.service */ 70847); +/* harmony import */ var _Title_title_service__WEBPACK_IMPORTED_MODULE_22__ = __webpack_require__(/*! ../Title/title.service */ 32610); +/* harmony import */ var _Export_html_presentation_service__WEBPACK_IMPORTED_MODULE_23__ = __webpack_require__(/*! ../Export/html-presentation.service */ 55255); + + + + + + + + + + + + + + + + + + + + + + + + + + +class InitializerService { + constructor(dirtyFlagService, iconDictionaryService, elementRegistryService, configurationService, labelDictionaryService, replayStateService, dialogService, commandStackService, titleService, htmlPresentationService) { + this.dirtyFlagService = dirtyFlagService; + this.iconDictionaryService = iconDictionaryService; + this.elementRegistryService = elementRegistryService; + this.configurationService = configurationService; + this.labelDictionaryService = labelDictionaryService; + this.replayStateService = replayStateService; + this.dialogService = dialogService; + this.commandStackService = commandStackService; + this.titleService = titleService; + this.htmlPresentationService = htmlPresentationService; + } + initializeDomainStoryModelerClasses() { + (0,_Modeler_modeler_context_pad_domainStoryContextPadProvider__WEBPACK_IMPORTED_MODULE_0__.initializeContextPadProvider)(this.dirtyFlagService, this.iconDictionaryService); + /** The Palette and the Context Menu need the Icons present in the Domain, + * so the IconDictionaryService and the DomainConfigurationService needs to be given to the Palette **/ + (0,_Modeler_modeler_palette_domainStoryPalette__WEBPACK_IMPORTED_MODULE_2__.initializePalette)(this.iconDictionaryService, this.configurationService); + (0,_Modeler_modeler_domainStoryRenderer__WEBPACK_IMPORTED_MODULE_3__.initializeRenderer)(this.iconDictionaryService, this.elementRegistryService, this.dirtyFlagService); + (0,_Modeler_modeler_labeling_dsLabelEditingProvider__WEBPACK_IMPORTED_MODULE_4__.initializeLabelEditingProvider)(this.labelDictionaryService); + (0,_Modeler_modeler_change_icon_replaceOptions__WEBPACK_IMPORTED_MODULE_5__.initializeReplaceOptions)(this.iconDictionaryService); + (0,_Modeler_modeler_numbering_numbering__WEBPACK_IMPORTED_MODULE_1__.initializeNumbering)(this.elementRegistryService); + (0,_Modeler_modeler_updateHandler_activityUpdateHandlers__WEBPACK_IMPORTED_MODULE_12__.initializeActivityUpdateHandler)(this.elementRegistryService); + } + propagateDomainStoryModelerClassesToServices(commandStack, elementRegistry, canvas, selection, modeler) { + this.commandStackService.setCommandStack(commandStack); + this.elementRegistryService.setElementRegistry(elementRegistry); + this.htmlPresentationService.setModelerClasses(canvas, selection, modeler); + } + initializeDomainStoryModelerEventHandlers(commandStack, eventBus) { + (0,_Modeler_modeler_updateHandler_activityUpdateHandlers__WEBPACK_IMPORTED_MODULE_12__["default"])(commandStack, eventBus); + (0,_Modeler_modeler_updateHandler_massRenameHandler__WEBPACK_IMPORTED_MODULE_9__["default"])(commandStack, eventBus); + (0,_Modeler_modeler_updateHandler_elementUpdateHandler__WEBPACK_IMPORTED_MODULE_13__["default"])(commandStack, eventBus); + (0,_Modeler_modeler_updateHandler_headlineAndDescriptionUpdateHandler__WEBPACK_IMPORTED_MODULE_10__["default"])(commandStack, this.titleService); + } + initiateEventBusListeners(eventBus, commandStack) { + eventBus.on('element.dblclick', e => { + if (!this.replayStateService.getReplayOn()) { + const element = e.element; + if (element.type === _Domain_Common_elementTypes__WEBPACK_IMPORTED_MODULE_6__.elementTypes.ACTIVITY) { + // override the doubleClickListener on activities + this.activityDoubleClick(element, eventBus, commandStack); + } else { + const renderedNumberRegistry = (0,_Modeler_modeler_numbering_numbering__WEBPACK_IMPORTED_MODULE_1__.getNumberRegistry)(); + // add a DoubleClickListener to the number on activities + if (renderedNumberRegistry.length > 1) { + const allActivities = this.elementRegistryService.getActivitiesFromActors(); + if (allActivities.length > 0) { + const htmlCanvas = document.getElementById('canvas'); + if (htmlCanvas) { + const container = htmlCanvas.getElementsByClassName('djs-container'); + const svgElements = container[0].getElementsByTagName('svg'); + const outerSVGElement = svgElements[0]; + const viewport = outerSVGElement.getElementsByClassName('viewport')[0]; + let transform = viewport.getAttribute('transform'); + let transformX = 0; + let transformY = 0; + let zoomX = 1; + let zoomY = 1; + let nums; + const clickX = e.originalEvent.offsetX; + const clickY = e.originalEvent.offsetY; + // adjust for zoom and panning + if (transform) { + transform = transform.replace('matrix(', ''); + transform.replace(')', ''); + nums = transform.split(','); + zoomX = parseFloat(nums[0]); + zoomY = parseFloat(nums[3]); + transformX = parseInt(nums[4], undefined); + transformY = parseInt(nums[5], undefined); + } + const width = 25 * zoomX; + const height = 22 * zoomY; + for (let i = 1; i < renderedNumberRegistry.length; i++) { + const currentNum = renderedNumberRegistry[i]; + if (currentNum) { + const tspan = currentNum.getElementsByTagName('tspan')[0]; + const tx = tspan.getAttribute('x'); + const ty = tspan.getAttribute('y'); + const tNumber = parseInt(tspan.innerHTML, undefined); + const elementX = Math.floor(tx * zoomX + (transformX - 11 * zoomX)); + const elementY = Math.floor(ty * zoomY + (transformY - 15 * zoomY)); + allActivities.forEach(activity => { + const activityNumber = activity.businessObject.number; + if (activityNumber === tNumber) { + if ((0,_Utils_mathExtensions__WEBPACK_IMPORTED_MODULE_11__.positionsMatch)(width, height, elementX, elementY, clickX, clickY)) { + this.activityDoubleClick(activity, eventBus, commandStack); + } + } + }); + } + } + } + } + } + } + } + }); + // when in replay, do not allow any interaction on the canvas + eventBus.on(['element.click', 'element.dblclick', 'element.mousedown', 'drag.init', 'canvas.viewbox.changing', 'autoPlace', 'popupMenu.open'], 10000000000, event => { + if (this.replayStateService.getReplayOn()) { + event.stopPropagation(); + event.preventDefault(); + } + }); + } + /** Overrrides for Canvas Functions **/ + activityDoubleClick(activity, eventBus, commandStack) { + const source = activity.source; + // ensure the right number when changing the direction of an activity + (0,_Modeler_modeler_labeling_dsLabelEditingProvider__WEBPACK_IMPORTED_MODULE_4__.toggleStashUse)(false); + const config = new _angular_material_dialog__WEBPACK_IMPORTED_MODULE_24__.MatDialogConfig(); + config.disableClose = false; + config.autoFocus = true; + if (activity.businessObject.number && source && source.type.includes(_Domain_Common_elementTypes__WEBPACK_IMPORTED_MODULE_6__.elementTypes.ACTOR)) { + config.data = new _Domain_Dialog_activityDialogData__WEBPACK_IMPORTED_MODULE_7__.ActivityDialogData(activity, (0,_Modeler_modeler_numbering_numbering__WEBPACK_IMPORTED_MODULE_1__.getMultipleNumberRegistry)()[activity.businessObject.number], true, data => this.saveActivityInputLabel(data, eventBus, commandStack)); + } else if (source && source.type.includes(_Domain_Common_elementTypes__WEBPACK_IMPORTED_MODULE_6__.elementTypes.WORKOBJECT)) { + config.data = new _Domain_Dialog_activityDialogData__WEBPACK_IMPORTED_MODULE_7__.ActivityDialogData(activity, false, false, activityData => this.saveActivityInputLabel(activityData, eventBus, commandStack)); + } + this.dialogService.openDialog(_Presentation_Dialog_activity_dialog_activity_dialog_component__WEBPACK_IMPORTED_MODULE_8__.ActivityDialogComponent, config); + } + saveActivityInputLabel(activityData, eventBus, commandStack) { + const label = activityData.activityLabel; + const hasNumber = activityData.activityNumber ?? false; + const activityNumber = activityData.activityNumber; + const multipleNumberAllowed = activityData.multipleNumbers ?? false; + const element = activityData.activity; + const activitiesFromActors = this.elementRegistryService.getActivitiesFromActors(); + const index = activitiesFromActors.indexOf(element); + activitiesFromActors.splice(index, 1); + if (hasNumber) { + (0,_Modeler_modeler_numbering_numbering__WEBPACK_IMPORTED_MODULE_1__.setNumberIsMultiple)(activityNumber, multipleNumberAllowed); + } + element.businessObject.multipleNumberAllowed = multipleNumberAllowed; + let options; + if (hasNumber) { + options = { + businessObject: element.businessObject, + newLabel: label, + newNumber: activityNumber, + element + }; + } else { + options = { + businessObject: element.businessObject, + newLabel: label, + element + }; + } + commandStack.execute('activity.changed', options); + if (element.businessObject.multipleNumberAllowed !== false) { + if ((0,_Modeler_modeler_numbering_numbering__WEBPACK_IMPORTED_MODULE_1__.getMultipleNumberRegistry)()[activityNumber] === false) { + (0,_Modeler_modeler_numbering_numbering__WEBPACK_IMPORTED_MODULE_1__.updateExistingNumbersAtEditing)(activitiesFromActors, activityNumber, eventBus); + } + } else if (element.businessObject.multipleNumberAllowed === false) { + (0,_Modeler_modeler_numbering_numbering__WEBPACK_IMPORTED_MODULE_1__.updateExistingNumbersAtEditing)(activitiesFromActors, activityNumber, eventBus); + } + } + static #_ = this.ɵfac = function InitializerService_Factory(t) { + return new (t || InitializerService)(_angular_core__WEBPACK_IMPORTED_MODULE_25__["ɵɵinject"](_DirtyFlag_dirty_flag_service__WEBPACK_IMPORTED_MODULE_14__.DirtyFlagService), _angular_core__WEBPACK_IMPORTED_MODULE_25__["ɵɵinject"](_DomainConfiguration_icon_dictionary_service__WEBPACK_IMPORTED_MODULE_15__.IconDictionaryService), _angular_core__WEBPACK_IMPORTED_MODULE_25__["ɵɵinject"](_ElementRegistry_element_registry_service__WEBPACK_IMPORTED_MODULE_16__.ElementRegistryService), _angular_core__WEBPACK_IMPORTED_MODULE_25__["ɵɵinject"](_DomainConfiguration_domain_configuration_service__WEBPACK_IMPORTED_MODULE_17__.DomainConfigurationService), _angular_core__WEBPACK_IMPORTED_MODULE_25__["ɵɵinject"](_LabelDictionary_label_dictionary_service__WEBPACK_IMPORTED_MODULE_18__.LabelDictionaryService), _angular_core__WEBPACK_IMPORTED_MODULE_25__["ɵɵinject"](_Replay_replay_state_service__WEBPACK_IMPORTED_MODULE_19__.ReplayStateService), _angular_core__WEBPACK_IMPORTED_MODULE_25__["ɵɵinject"](_Dialog_dialog_service__WEBPACK_IMPORTED_MODULE_20__.DialogService), _angular_core__WEBPACK_IMPORTED_MODULE_25__["ɵɵinject"](_CommandStack_command_stack_service__WEBPACK_IMPORTED_MODULE_21__.CommandStackService), _angular_core__WEBPACK_IMPORTED_MODULE_25__["ɵɵinject"](_Title_title_service__WEBPACK_IMPORTED_MODULE_22__.TitleService), _angular_core__WEBPACK_IMPORTED_MODULE_25__["ɵɵinject"](_Export_html_presentation_service__WEBPACK_IMPORTED_MODULE_23__.HtmlPresentationService)); + }; + static #_2 = this.ɵprov = /*@__PURE__*/_angular_core__WEBPACK_IMPORTED_MODULE_25__["ɵɵdefineInjectable"]({ + token: InitializerService, + factory: InitializerService.ɵfac, + providedIn: 'root' + }); +} + +/***/ }), + +/***/ 43075: +/*!****************************************************!*\ + !*** ./src/app/Service/Modeler/modeler.service.ts ***! + \****************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ ModelerService: () => (/* binding */ ModelerService) +/* harmony export */ }); +/* harmony import */ var _home_shino_Work_egon_io_node_modules_babel_runtime_helpers_esm_asyncToGenerator_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./node_modules/@babel/runtime/helpers/esm/asyncToGenerator.js */ 19369); +/* harmony import */ var min_dash__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! min-dash */ 91654); +/* harmony import */ var src_app_Modeler__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! src/app/Modeler */ 91570); +/* harmony import */ var _angular_core__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! @angular/core */ 51197); +/* harmony import */ var _initializer_service__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./initializer.service */ 39492); +/* harmony import */ var _ElementRegistry_element_registry_service__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../ElementRegistry/element-registry.service */ 83335); +/* harmony import */ var _DomainConfiguration_icon_dictionary_service__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../DomainConfiguration/icon-dictionary.service */ 19673); +/* harmony import */ var _DomainConfiguration_domain_configuration_service__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../DomainConfiguration/domain-configuration.service */ 88421); +/* harmony import */ var _BrowserStorage_storage_service__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../BrowserStorage/storage.service */ 83681); + + + + + + + + + +class ModelerService { + constructor(initializerService, elementRegistryService, iconDictionaryService, domainConfigurationService, storageService) { + this.initializerService = initializerService; + this.elementRegistryService = elementRegistryService; + this.iconDictionaryService = iconDictionaryService; + this.domainConfigurationService = domainConfigurationService; + this.storageService = storageService; + } + postInit() { + const storedDomainConfiguration = this.storageService.getStoredDomainConfiguration(); + if (storedDomainConfiguration) { + this.iconDictionaryService.setCusomtConfiguration(storedDomainConfiguration); + this.domainConfigurationService.loadConfiguration(storedDomainConfiguration); + } + this.initializerService.initializeDomainStoryModelerClasses(); + this.modeler = new src_app_Modeler__WEBPACK_IMPORTED_MODULE_1__["default"]({ + container: '#canvas', + keyboard: { + bindTo: document + }, + // Disable BPMN-SearchModule and re-enable browser Search + additionalModules: [{ + bpmnSearch: ['value', 'foo'] + }] + }); + if (this.modeler.get) { + this.canvas = this.modeler.get('canvas'); + this.elementRegistry = this.modeler.get('elementRegistry'); + this.eventBus = this.modeler.get('eventBus'); + this.commandStack = this.modeler.get('commandStack'); + this.selection = this.modeler.get('selection'); + } + this.initializerService.initializeDomainStoryModelerEventHandlers(this.commandStack, this.eventBus); + this.initializerService.propagateDomainStoryModelerClassesToServices(this.commandStack, this.elementRegistry, this.canvas, this.selection, this.modeler); + const exportArtifacts = this.debounce(this.saveSVG, 500); + if (this.modeler.get) { + this.modeler.on('commandStack.changed', exportArtifacts); + } + this.initializerService.initiateEventBusListeners(this.eventBus, this.commandStack); + this.modeler.createDiagram(); + // expose bpmnjs to window for debugging purposes + (0,min_dash__WEBPACK_IMPORTED_MODULE_7__.assign)(window, { + bpmnjs: this.modeler + }); + this.startDebounce(); + } + restart(domainConfiguration, domainStory) { + const currentStory = domainStory != undefined ? domainStory : this.elementRegistryService.createObjectListForDSTDownload().map(e => e.businessObject); + if (!domainConfiguration) { + domainConfiguration = this.storageService.getStoredDomainConfiguration(); + } + if (domainConfiguration) { + this.storageService.setStoredDomainConfiguration(domainConfiguration); + this.iconDictionaryService.setCusomtConfiguration(domainConfiguration); + this.domainConfigurationService.loadConfiguration(domainConfiguration); + } + this.elementRegistryService.clear(); + this.modeler?.destroy(); + this.postInit(); + if (currentStory && this.modeler.get) { + this.modeler.importCustomElements(currentStory); + } + } + /** Interactions with the Modeler **/ + getModeler() { + return this.modeler; + } + commandStackChanged() { + // to update the title of the svg, we need to tell the command stack, that a value has changed + this.eventBus.fire('commandStack.changed', this.debounce(this.saveSVG, 500)); + } + startDebounce() { + this.debounce(this.saveSVG, 500); + } + debounce(fn, timeout) { + return () => { + let timer; + if (timer) { + clearTimeout(timer); + } + timer = setTimeout(() => { + // tslint:disable-next-line:no-unused-expression + fn(this.modeler).then(svg => { + this.encoded = svg; + }); + }, timeout); + }; + } + getEncoded() { + return this.encoded ? this.encoded : ''; + } + saveSVG(modeler) { + return (0,_home_shino_Work_egon_io_node_modules_babel_runtime_helpers_esm_asyncToGenerator_js__WEBPACK_IMPORTED_MODULE_0__["default"])(function* () { + try { + const result = yield modeler.saveSVG(); + return result.svg; + } catch (err) { + alert('There was an error saving the SVG.\n' + err); + } + })(); + } + static #_ = this.ɵfac = function ModelerService_Factory(t) { + return new (t || ModelerService)(_angular_core__WEBPACK_IMPORTED_MODULE_8__["ɵɵinject"](_initializer_service__WEBPACK_IMPORTED_MODULE_2__.InitializerService), _angular_core__WEBPACK_IMPORTED_MODULE_8__["ɵɵinject"](_ElementRegistry_element_registry_service__WEBPACK_IMPORTED_MODULE_3__.ElementRegistryService), _angular_core__WEBPACK_IMPORTED_MODULE_8__["ɵɵinject"](_DomainConfiguration_icon_dictionary_service__WEBPACK_IMPORTED_MODULE_4__.IconDictionaryService), _angular_core__WEBPACK_IMPORTED_MODULE_8__["ɵɵinject"](_DomainConfiguration_domain_configuration_service__WEBPACK_IMPORTED_MODULE_5__.DomainConfigurationService), _angular_core__WEBPACK_IMPORTED_MODULE_8__["ɵɵinject"](_BrowserStorage_storage_service__WEBPACK_IMPORTED_MODULE_6__.StorageService)); + }; + static #_2 = this.ɵprov = /*@__PURE__*/_angular_core__WEBPACK_IMPORTED_MODULE_8__["ɵɵdefineInjectable"]({ + token: ModelerService, + factory: ModelerService.ɵfac, + providedIn: 'root' + }); +} + +/***/ }), + +/***/ 87300: +/*!******************************************************!*\ + !*** ./src/app/Service/Renderer/renderer.service.ts ***! + \******************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ RendererService: () => (/* binding */ RendererService) +/* harmony export */ }); +/* harmony import */ var _angular_core__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @angular/core */ 51197); +/* harmony import */ var src_app_Service_Modeler_modeler_service__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! src/app/Service/Modeler/modeler.service */ 43075); +/* harmony import */ var src_app_Service_ElementRegistry_element_registry_service__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! src/app/Service/ElementRegistry/element-registry.service */ 83335); +/* harmony import */ var src_app_Service_DirtyFlag_dirty_flag_service__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! src/app/Service/DirtyFlag/dirty-flag.service */ 52828); + + + + +class RendererService { + constructor(modelerService, elementRegistryService, dirtyFlagService) { + this.modelerService = modelerService; + this.elementRegistryService = elementRegistryService; + this.dirtyFlagService = dirtyFlagService; + } + renderStory(domainStory) { + this.modelerService.getModeler().importCustomElements(domainStory); + } + reset() { + this.renderStory([]); + } + importStory(domainStory, configurationChange, config, makeClean = true) { + this.modelerService.restart(config, domainStory); + this.renderStory(domainStory); + this.elementRegistryService.correctInitialize(); + this.modelerService.commandStackChanged(); + this.modelerService.startDebounce(); + if (makeClean) { + this.dirtyFlagService.makeClean(); + } + } + getStory() { + return this.elementRegistryService.createObjectListForDSTDownload().map(c => c.businessObject); + } + static #_ = this.ɵfac = function RendererService_Factory(t) { + return new (t || RendererService)(_angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵinject"](src_app_Service_Modeler_modeler_service__WEBPACK_IMPORTED_MODULE_0__.ModelerService), _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵinject"](src_app_Service_ElementRegistry_element_registry_service__WEBPACK_IMPORTED_MODULE_1__.ElementRegistryService), _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵinject"](src_app_Service_DirtyFlag_dirty_flag_service__WEBPACK_IMPORTED_MODULE_2__.DirtyFlagService)); + }; + static #_2 = this.ɵprov = /*@__PURE__*/_angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵdefineInjectable"]({ + token: RendererService, + factory: RendererService.ɵfac, + providedIn: 'root' + }); +} + +/***/ }), + +/***/ 54870: +/*!********************************************************!*\ + !*** ./src/app/Service/Replay/replay-state.service.ts ***! + \********************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ ReplayStateService: () => (/* binding */ ReplayStateService) +/* harmony export */ }); +/* harmony import */ var rxjs__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! rxjs */ 47530); +/* harmony import */ var _angular_core__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @angular/core */ 51197); + + +class ReplayStateService { + constructor() { + this.replayOnSubject = new rxjs__WEBPACK_IMPORTED_MODULE_0__.BehaviorSubject(false); + this.replayOn$ = this.replayOnSubject.asObservable(); + } + setReplayState(state) { + this.replayOnSubject.next(state); + } + getReplayOn() { + return this.replayOnSubject.value; + } + static #_ = this.ɵfac = function ReplayStateService_Factory(t) { + return new (t || ReplayStateService)(); + }; + static #_2 = this.ɵprov = /*@__PURE__*/_angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵdefineInjectable"]({ + token: ReplayStateService, + factory: ReplayStateService.ɵfac, + providedIn: 'root' + }); +} + +/***/ }), + +/***/ 85989: +/*!**************************************************!*\ + !*** ./src/app/Service/Replay/replay.service.ts ***! + \**************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ ReplayService: () => (/* binding */ ReplayService) +/* harmony export */ }); +/* harmony import */ var rxjs__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! rxjs */ 47530); +/* harmony import */ var _Domain_Common_constants__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../Domain/Common/constants */ 45219); +/* harmony import */ var _angular_core__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! @angular/core */ 51197); +/* harmony import */ var src_app_Service_Replay_replay_state_service__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! src/app/Service/Replay/replay-state.service */ 54870); +/* harmony import */ var src_app_Service_DomManipulation_dom_manipulation_service__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! src/app/Service/DomManipulation/dom-manipulation.service */ 60285); +/* harmony import */ var _storyCreator_story_creator_service__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./storyCreator/story-creator.service */ 66889); +/* harmony import */ var _angular_material_snack_bar__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! @angular/material/snack-bar */ 93768); + + + + + + + +class ReplayService { + constructor(replayStateService, domManipulationService, storyCreatorService, snackbar) { + this.replayStateService = replayStateService; + this.domManipulationService = domManipulationService; + this.storyCreatorService = storyCreatorService; + this.snackbar = snackbar; + this.story = []; + this.currentStep = new rxjs__WEBPACK_IMPORTED_MODULE_4__.BehaviorSubject(-1); + this.maxStepNumber = new rxjs__WEBPACK_IMPORTED_MODULE_4__.BehaviorSubject(0); + this.currentStep$ = this.currentStep.asObservable(); + this.maxStepNumber$ = this.maxStepNumber.asObservable(); + } + initializeReplay() { + this.currentStep.next(1); + this.story = this.storyCreatorService.traceActivitiesAndCreateStory(); + this.maxStepNumber.next(this.story.length); + } + getCurrentStepNumber() { + return this.currentStep.value; + } + getMaxStepNumber() { + return this.maxStepNumber.value; + } + nextStep() { + if (this.currentStep.value < this.story.length) { + this.currentStep.next(this.currentStep.value + 1); + this.showCurrentStep(); + } + } + previousStep() { + if (this.currentStep.value > 1) { + this.currentStep.next(this.currentStep.value - 1); + this.showCurrentStep(); + } + } + showCurrentStep() { + this.domManipulationService.showStep(this.story[this.currentStep.value - 1], this.currentStep.value > 1 ? this.story[this.currentStep.value - 2] : undefined); + } + startReplay() { + this.initializeReplay(); + if (this.story?.length) { + const missingSteps = this.storyCreatorService.getMissingSteps(this.story); + if (missingSteps.length === 0) { + this.replayStateService.setReplayState(true); + this.domManipulationService.showStep(this.story[this.currentStep.getValue() - 1]); + } else { + const steps = missingSteps.join(', '); + this.snackbar.open(steps.length === 1 ? `The Domain Story is not complete. Step ${steps} is missing.` : `The Domain Story is not complete. Steps ${steps} are missing.`, undefined, { + duration: _Domain_Common_constants__WEBPACK_IMPORTED_MODULE_0__.SNACKBAR_DURATION * 2, + panelClass: _Domain_Common_constants__WEBPACK_IMPORTED_MODULE_0__.SNACKBAR_INFO + }); + } + } else { + this.snackbar.open('You need a Domain Story for replay.', undefined, { + duration: _Domain_Common_constants__WEBPACK_IMPORTED_MODULE_0__.SNACKBAR_DURATION * 2, + panelClass: _Domain_Common_constants__WEBPACK_IMPORTED_MODULE_0__.SNACKBAR_INFO + }); + } + } + stopReplay() { + this.currentStep.next(-1); + this.maxStepNumber.next(0); + this.replayStateService.setReplayState(false); + this.domManipulationService.showAll(); + } + static #_ = this.ɵfac = function ReplayService_Factory(t) { + return new (t || ReplayService)(_angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵinject"](src_app_Service_Replay_replay_state_service__WEBPACK_IMPORTED_MODULE_1__.ReplayStateService), _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵinject"](src_app_Service_DomManipulation_dom_manipulation_service__WEBPACK_IMPORTED_MODULE_2__.DomManipulationService), _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵinject"](_storyCreator_story_creator_service__WEBPACK_IMPORTED_MODULE_3__.StoryCreatorService), _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵinject"](_angular_material_snack_bar__WEBPACK_IMPORTED_MODULE_6__.MatSnackBar)); + }; + static #_2 = this.ɵprov = /*@__PURE__*/_angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵdefineInjectable"]({ + token: ReplayService, + factory: ReplayService.ɵfac, + providedIn: 'root' + }); +} + +/***/ }), + +/***/ 66889: +/*!**********************************************************************!*\ + !*** ./src/app/Service/Replay/storyCreator/story-creator.service.ts ***! + \**********************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ StoryCreatorService: () => (/* binding */ StoryCreatorService) +/* harmony export */ }); +/* harmony import */ var _Domain_Common_elementTypes__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../Domain/Common/elementTypes */ 17290); +/* harmony import */ var _Domain_Common_dictionary_dictionary__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../../Domain/Common/dictionary/dictionary */ 6789); +/* harmony import */ var _angular_core__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @angular/core */ 51197); +/* harmony import */ var _ElementRegistry_element_registry_service__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../ElementRegistry/element-registry.service */ 83335); + + + + +class StoryCreatorService { + constructor(elementRegistryService) { + this.elementRegistryService = elementRegistryService; + } + traceActivitiesAndCreateStory() { + const tracedActivityMap = new _Domain_Common_dictionary_dictionary__WEBPACK_IMPORTED_MODULE_1__.Dictionary(); + const story = []; + const activities = this.elementRegistryService.getActivitiesFromActors(); + activities.forEach(activity => { + const activityNumber = Number(activity.businessObject.number); // Sometimes the activityNumber is a string for some reason + const tracedItem = tracedActivityMap.get(`${activityNumber - 1}`) ? tracedActivityMap.get(`${activityNumber - 1}`) : []; + tracedItem.push(activity); + tracedActivityMap.set(`${activityNumber - 1}`, tracedItem); + }); + for (let i = 0; i < tracedActivityMap.keysArray().length; i++) { + this.createStep(tracedActivityMap, i, story); + } + this.addGroupStep(story); + return story; + } + createStep(tracedActivityMap, i, story) { + const stepObjects = this.getStepObjects(tracedActivityMap.get(`${i}`) || []); + const highlightedElements = stepObjects.map(t => t.id); + if (i > 0) { + story[i - 1].objects.forEach(object => { + if (!stepObjects.includes(object)) { + stepObjects.push(object); + } + }); + } + story[i] = { + highlightedObjects: highlightedElements, + objects: stepObjects + }; + } + getMissingSteps(story) { + if (!story || story.length === 0) { + return []; + } + const missingSteps = []; + let complete = true; + for (let i = 0; i < story.length; i++) { + if (!story[i] || !(story[i].objects.length > 0) || story[i].objects.filter(element => element.type === _Domain_Common_elementTypes__WEBPACK_IMPORTED_MODULE_0__.elementTypes.ACTIVITY).length <= 0) { + missingSteps.push(i + 1); + complete = false; + } + } + return missingSteps; + } + getStepObjects(tracedActivity) { + const initialSource = []; + const activities = tracedActivity; + const targetObjects = []; + tracedActivity.forEach(parallelStep => { + initialSource.push(parallelStep.source); + const firstTarget = parallelStep.target; + targetObjects.push(firstTarget); + // check the outgoing activities for each target + for (const checkTarget of targetObjects) { + if (checkTarget.businessObject && !checkTarget.businessObject.type.includes('actor') && checkTarget.outgoing) { + // check the target for each outgoing activity + checkTarget.outgoing.forEach(activity => { + activities.push(activity); + const activityTarget = activity.target; + if (activityTarget && !targetObjects.includes(activityTarget)) { + targetObjects.push(activityTarget); + } + }); + } + } + }); + return initialSource.map(e => e.businessObject).concat(activities.map(a => a.businessObject)).concat(targetObjects.map(t => t.businessObject)); + } + /** Groups should be shown at the End of the Story **/ + addGroupStep(story) { + const groups = this.elementRegistryService.getAllGroups(); + if (groups.length > 0) { + story.push({ + highlightedObjects: [], + objects: groups.map(g => g.businessObject).concat(story[story.length - 1].objects) + }); + } + } + static #_ = this.ɵfac = function StoryCreatorService_Factory(t) { + return new (t || StoryCreatorService)(_angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵinject"](_ElementRegistry_element_registry_service__WEBPACK_IMPORTED_MODULE_2__.ElementRegistryService)); + }; + static #_2 = this.ɵprov = /*@__PURE__*/_angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵdefineInjectable"]({ + token: StoryCreatorService, + factory: StoryCreatorService.ɵfac, + providedIn: 'root' + }); +} + +/***/ }), + +/***/ 10323: +/*!******************************************************!*\ + !*** ./src/app/Service/Settings/settings.service.ts ***! + \******************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ SettingsService: () => (/* binding */ SettingsService) +/* harmony export */ }); +/* harmony import */ var rxjs__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! rxjs */ 47530); +/* harmony import */ var _angular_core__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @angular/core */ 51197); + + +class SettingsService { + constructor() { + this.showSettings = new rxjs__WEBPACK_IMPORTED_MODULE_0__.BehaviorSubject(false); + this.showSettings$ = this.showSettings.asObservable(); + } + close() { + this.showSettings.next(false); + } + open() { + this.showSettings.next(true); + } + static #_ = this.ɵfac = function SettingsService_Factory(t) { + return new (t || SettingsService)(); + }; + static #_2 = this.ɵprov = /*@__PURE__*/_angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵdefineInjectable"]({ + token: SettingsService, + factory: SettingsService.ɵfac, + providedIn: 'root' + }); +} + +/***/ }), + +/***/ 32610: +/*!************************************************!*\ + !*** ./src/app/Service/Title/title.service.ts ***! + \************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ TitleService: () => (/* binding */ TitleService) +/* harmony export */ }); +/* harmony import */ var rxjs__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! rxjs */ 47530); +/* harmony import */ var _Domain_Common_constants__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../Domain/Common/constants */ 45219); +/* harmony import */ var _environments_environment__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../../environments/environment */ 20553); +/* harmony import */ var _angular_core__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @angular/core */ 51197); +/* harmony import */ var _CommandStack_command_stack_service__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../CommandStack/command-stack.service */ 70847); + + + + + +class TitleService { + constructor(commandStackService) { + this.commandStackService = commandStackService; + this.titleSubject = new rxjs__WEBPACK_IMPORTED_MODULE_3__.BehaviorSubject(_Domain_Common_constants__WEBPACK_IMPORTED_MODULE_0__.INITIAL_TITLE); + this.descriptionSubject = new rxjs__WEBPACK_IMPORTED_MODULE_3__.BehaviorSubject(_Domain_Common_constants__WEBPACK_IMPORTED_MODULE_0__.INITIAL_DESCRIPTION); + this.domainNameSubject = new rxjs__WEBPACK_IMPORTED_MODULE_3__.BehaviorSubject(_Domain_Common_constants__WEBPACK_IMPORTED_MODULE_0__.INITIAL_DOMAIN_NAME); + this.showDescriptionSubject = new rxjs__WEBPACK_IMPORTED_MODULE_3__.BehaviorSubject(true); + this.title$ = this.titleSubject.asObservable(); + this.description$ = this.descriptionSubject.asObservable(); + this.showDescription$ = this.showDescriptionSubject.asObservable(); + this.domainName$ = this.domainNameSubject.asObservable(); + } + updateTitleAndDescription(title, description, allowUndo) { + if (allowUndo) { + this.fireTitleAndDescriptionUpdate(title, description); + } else { + this.updateTitle(title); + this.updateDescription(description); + } + } + reset() { + this.updateTitleAndDescription(_Domain_Common_constants__WEBPACK_IMPORTED_MODULE_0__.INITIAL_TITLE, _Domain_Common_constants__WEBPACK_IMPORTED_MODULE_0__.INITIAL_DESCRIPTION, false); + } + updateTitle(title) { + this.titleSubject.next(title ?? this.titleSubject.value); + document.title = title ?? this.titleSubject.value + ' - egon.io'; + } + updateDescription(description) { + this.descriptionSubject.next(description ?? this.descriptionSubject.value); + } + setShowDescription(show) { + this.showDescriptionSubject.next(show); + } + setDomainName(name) { + this.domainNameSubject.next(name); + } + getTitle() { + return this.titleSubject.value; + } + getDescription() { + return this.descriptionSubject.value; + } + getDomainName() { + return this.domainNameSubject.value; + } + getVersion() { + return _environments_environment__WEBPACK_IMPORTED_MODULE_1__.environment.version; + } + fireTitleAndDescriptionUpdate(newTitle, newDescription) { + const context = { + newTitle, + newDescription + }; + this.commandStackService.execute('story.updateHeadlineAndDescription', context); + } + static #_ = this.ɵfac = function TitleService_Factory(t) { + return new (t || TitleService)(_angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵinject"](_CommandStack_command_stack_service__WEBPACK_IMPORTED_MODULE_2__.CommandStackService)); + }; + static #_2 = this.ɵprov = /*@__PURE__*/_angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵdefineInjectable"]({ + token: TitleService, + factory: TitleService.ɵfac, + providedIn: 'root' + }); +} + +/***/ }), + +/***/ 77480: +/*!*****************************************!*\ + !*** ./src/app/Utils/mathExtensions.ts ***! + \*****************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ Point: () => (/* binding */ Point), +/* harmony export */ angleBetween: () => (/* binding */ angleBetween), +/* harmony export */ degrees: () => (/* binding */ degrees), +/* harmony export */ positionsMatch: () => (/* binding */ positionsMatch) +/* harmony export */ }); + + +// convert rad to deg +function degrees(radians) { + return radians * 180 / Math.PI; +} +// calculate the angle between two points in 2D +function angleBetween(startPoint, endPoint) { + let quadrant; + // determine in which quadrant we are + if (startPoint.x <= endPoint.x) { + if (startPoint.y >= endPoint.y) { + quadrant = 0; + } // upper right quadrant + else { + quadrant = 3; + } // lower right quadrant + } else { + if (startPoint.y >= endPoint.y) { + quadrant = 1; + } // upper left Quadrant + else { + quadrant = 2; + } // lower left quadrant + } + + const adjacent = Math.abs(startPoint.y - endPoint.y); + const opposite = Math.abs(startPoint.x - endPoint.x); + // since the arcus-tangens only gives values between 0 and 90, we have to adjust for the quadrant we are in + if (quadrant === 0) { + return 90 - degrees(Math.atan2(opposite, adjacent)); + } + if (quadrant === 1) { + return 90 + degrees(Math.atan2(opposite, adjacent)); + } + if (quadrant === 2) { + return 270 - degrees(Math.atan2(opposite, adjacent)); + } + if (quadrant === 3) { + return 270 + degrees(Math.atan2(opposite, adjacent)); + } + return undefined; +} +function positionsMatch(width, height, elementX, elementY, clickX, clickY) { + if (clickX > elementX && clickX < elementX + width) { + if (clickY > elementY && clickY < elementY + height) { + return true; + } + } + return false; +} +class Point { + constructor() { + this.y = 0; + this.x = 0; + } +} + +/***/ }), + +/***/ 35125: +/*!*********************************!*\ + !*** ./src/app/Utils/naming.ts ***! + \*********************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ getNameFromType: () => (/* binding */ getNameFromType) +/* harmony export */ }); +/* harmony import */ var src_app_Domain_Common_elementTypes__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! src/app/Domain/Common/elementTypes */ 17290); + +function getNameFromType(type) { + if (type.includes(src_app_Domain_Common_elementTypes__WEBPACK_IMPORTED_MODULE_0__.elementTypes.ACTOR)) { + return type.replace(src_app_Domain_Common_elementTypes__WEBPACK_IMPORTED_MODULE_0__.elementTypes.ACTOR, ''); + } else if (type.includes(src_app_Domain_Common_elementTypes__WEBPACK_IMPORTED_MODULE_0__.elementTypes.WORKOBJECT)) { + return type.replace(src_app_Domain_Common_elementTypes__WEBPACK_IMPORTED_MODULE_0__.elementTypes.WORKOBJECT, ''); + } + return ''; +} + +/***/ }), + +/***/ 82241: +/*!************************************!*\ + !*** ./src/app/Utils/sanitizer.ts ***! + \************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ restoreTitleFromFileName: () => (/* binding */ restoreTitleFromFileName), +/* harmony export */ sanitizeForDesktop: () => (/* binding */ sanitizeForDesktop), +/* harmony export */ sanitizeIconName: () => (/* binding */ sanitizeIconName) +/* harmony export */ }); + + +// sanitize user-Input to be Desktop-Filename safe +function sanitizeForDesktop(str) { + const map = { + '/': '', + '\\': '', + ':': '', + '*': '', + '?': '', + '"': '', + '<': '', + '>': '', + '|': '' + }; + const reg = /[/\\:*?"<>|]/gi; + return str ? str.replace(reg, match => map[match]) : ''; +} +function sanitizeIconName(name) { + const map = { + '/': '', + '\\': '', + ':': '', + '*': '', + '?': '', + '"': '', + '<': '', + '>': '', + '|': '', + '(': '', + ')': '', + ' ': '-', + '.': '_' + }; + const reg = /[/\\:*?"<>|() .]/gi; + return name ? name.replace(reg, match => { + return map[match]; + }) : ''; +} +function restoreTitleFromFileName(filename, isSVG) { + let title; + const domainStoryRegex = /_\d+-\d+-\d+( ?_?-?\(\d+\))?(-?\d)?(.dst|.egn)/; + const svgRegex = /_\d+-\d+-\d+( ?_?-?\(\d+\))?(-?\d)?(.dst|.egn).svg/; + const egnSuffix = '.egn'; + const dstSuffix = '.dst'; + const svgSuffix = '.svg'; + let filenameWithoutDateSuffix = filename.replace(isSVG ? svgRegex : domainStoryRegex, ''); + if (filenameWithoutDateSuffix.includes(isSVG ? svgSuffix : dstSuffix)) { + filenameWithoutDateSuffix = filenameWithoutDateSuffix.replace(svgSuffix, '').replace(dstSuffix, '').replace(egnSuffix, ''); + } + title = filenameWithoutDateSuffix; + return title; +} + +/***/ }), + +/***/ 66401: +/*!**********************************!*\ + !*** ./src/app/app.component.ts ***! + \**********************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ AppComponent: () => (/* binding */ AppComponent) +/* harmony export */ }); +/* harmony import */ var rxjs__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! rxjs */ 47530); +/* harmony import */ var _angular_material_dialog__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! @angular/material/dialog */ 23373); +/* harmony import */ var _Domain_Dialog_infoDialogData__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./Domain/Dialog/infoDialogData */ 70541); +/* harmony import */ var _Presentation_Dialog_info_dialog_info_dialog_component__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./Presentation/Dialog/info-dialog/info-dialog.component */ 81183); +/* harmony import */ var _environments_environment__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../environments/environment */ 20553); +/* harmony import */ var _angular_core__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! @angular/core */ 51197); +/* harmony import */ var src_app_Service_Settings_settings_service__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! src/app/Service/Settings/settings.service */ 10323); +/* harmony import */ var _Service_Dialog_dialog_service__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./Service/Dialog/dialog.service */ 33483); +/* harmony import */ var _Service_Title_title_service__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./Service/Title/title.service */ 32610); +/* harmony import */ var _Service_Export_export_service__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./Service/Export/export.service */ 95722); +/* harmony import */ var _Service_Replay_replay_state_service__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./Service/Replay/replay-state.service */ 54870); +/* harmony import */ var _Service_Replay_replay_service__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./Service/Replay/replay.service */ 85989); +/* harmony import */ var _angular_common__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(/*! @angular/common */ 89650); +/* harmony import */ var src_app_Presentation_Header_header_component__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! src/app/Presentation/Header/header.component */ 25694); +/* harmony import */ var src_app_Presentation_Settings_settings_component__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! src/app/Presentation/Settings/settings.component */ 70787); +/* harmony import */ var src_app_Presentation_Canvas_modeler_component__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! src/app/Presentation/Canvas/modeler.component */ 46628); + + + + + + + + + + + + + + + + +function AppComponent_app_settings_1_Template(rf, ctx) { + if (rf & 1) { + _angular_core__WEBPACK_IMPORTED_MODULE_12__["ɵɵelement"](0, "app-settings"); + } +} +class AppComponent { + constructor(settingsService, dialogService, titleService, exportService, replayStateSerice, replayService) { + this.settingsService = settingsService; + this.dialogService = dialogService; + this.titleService = titleService; + this.exportService = exportService; + this.replayStateSerice = replayStateSerice; + this.version = _environments_environment__WEBPACK_IMPORTED_MODULE_2__.environment.version; + this.showSettings$ = new rxjs__WEBPACK_IMPORTED_MODULE_13__.BehaviorSubject(false); + this.showDescription$ = new rxjs__WEBPACK_IMPORTED_MODULE_13__.BehaviorSubject(true); + document.onkeydown = e => { + if (e.ctrlKey && e.key === 's') { + if (this.exportService.isDomainStoryExportable()) { + this.exportService.downloadDST(); + } + e.preventDefault(); + e.stopPropagation(); + } + if (e.ctrlKey && e.key === 'l') { + document.getElementById('import')?.click(); + e.preventDefault(); + e.stopPropagation(); + } + if (e.key === 'ArrowRight' && this.replayStateSerice.getReplayOn()) { + e.preventDefault(); + e.stopPropagation(); + replayService.nextStep(); + } + if (e.key === 'ArrowLeft' && this.replayStateSerice.getReplayOn()) { + e.preventDefault(); + e.stopPropagation(); + replayService.previousStep(); + } + }; + } + ngOnInit() { + this.showDescription$ = this.titleService.showDescription$; + this.showSettings$ = this.settingsService.showSettings$; + } + openLinkDialog(link, title, text) { + const config = new _angular_material_dialog__WEBPACK_IMPORTED_MODULE_14__.MatDialogConfig(); + config.disableClose = false; + config.autoFocus = true; + config.data = new _Domain_Dialog_infoDialogData__WEBPACK_IMPORTED_MODULE_0__.InfoDialogData(title, text, true, true, link); + this.dialogService.openDialog(_Presentation_Dialog_info_dialog_info_dialog_component__WEBPACK_IMPORTED_MODULE_1__.InfoDialogComponent, config); + } + static #_ = this.ɵfac = function AppComponent_Factory(t) { + return new (t || AppComponent)(_angular_core__WEBPACK_IMPORTED_MODULE_12__["ɵɵdirectiveInject"](src_app_Service_Settings_settings_service__WEBPACK_IMPORTED_MODULE_3__.SettingsService), _angular_core__WEBPACK_IMPORTED_MODULE_12__["ɵɵdirectiveInject"](_Service_Dialog_dialog_service__WEBPACK_IMPORTED_MODULE_4__.DialogService), _angular_core__WEBPACK_IMPORTED_MODULE_12__["ɵɵdirectiveInject"](_Service_Title_title_service__WEBPACK_IMPORTED_MODULE_5__.TitleService), _angular_core__WEBPACK_IMPORTED_MODULE_12__["ɵɵdirectiveInject"](_Service_Export_export_service__WEBPACK_IMPORTED_MODULE_6__.ExportService), _angular_core__WEBPACK_IMPORTED_MODULE_12__["ɵɵdirectiveInject"](_Service_Replay_replay_state_service__WEBPACK_IMPORTED_MODULE_7__.ReplayStateService), _angular_core__WEBPACK_IMPORTED_MODULE_12__["ɵɵdirectiveInject"](_Service_Replay_replay_service__WEBPACK_IMPORTED_MODULE_8__.ReplayService)); + }; + static #_2 = this.ɵcmp = /*@__PURE__*/_angular_core__WEBPACK_IMPORTED_MODULE_12__["ɵɵdefineComponent"]({ + type: AppComponent, + selectors: [["app-root"]], + decls: 28, + vars: 36, + consts: [["role", "main", 1, "content"], [4, "ngIf"], ["type", "color", "id", "colorPicker", 2, "display", "none"], ["src", "./favicon.ico", "height", "24", "alt", "Egon Logo"], ["href", "https://egon.io", "target", "_blank"], ["href", "https://github.com/WPS/egon.io/releases/latest", "target", "_blank"], ["src", "./assets/logo/wps-icon.ico", "height", "24", "alt", "WPS Logo"], ["href", "https://www.wps.de/", "target", "_blank"]], + template: function AppComponent_Template(rf, ctx) { + if (rf & 1) { + _angular_core__WEBPACK_IMPORTED_MODULE_12__["ɵɵelementStart"](0, "div", 0); + _angular_core__WEBPACK_IMPORTED_MODULE_12__["ɵɵtemplate"](1, AppComponent_app_settings_1_Template, 1, 0, "app-settings", 1); + _angular_core__WEBPACK_IMPORTED_MODULE_12__["ɵɵpipe"](2, "async"); + _angular_core__WEBPACK_IMPORTED_MODULE_12__["ɵɵelementStart"](3, "div"); + _angular_core__WEBPACK_IMPORTED_MODULE_12__["ɵɵpipe"](4, "async"); + _angular_core__WEBPACK_IMPORTED_MODULE_12__["ɵɵpipe"](5, "async"); + _angular_core__WEBPACK_IMPORTED_MODULE_12__["ɵɵpipe"](6, "async"); + _angular_core__WEBPACK_IMPORTED_MODULE_12__["ɵɵpipe"](7, "async"); + _angular_core__WEBPACK_IMPORTED_MODULE_12__["ɵɵpipe"](8, "async"); + _angular_core__WEBPACK_IMPORTED_MODULE_12__["ɵɵelement"](9, "input", 2); + _angular_core__WEBPACK_IMPORTED_MODULE_12__["ɵɵelementStart"](10, "app-header"); + _angular_core__WEBPACK_IMPORTED_MODULE_12__["ɵɵpipe"](11, "async"); + _angular_core__WEBPACK_IMPORTED_MODULE_12__["ɵɵpipe"](12, "async"); + _angular_core__WEBPACK_IMPORTED_MODULE_12__["ɵɵelementEnd"](); + _angular_core__WEBPACK_IMPORTED_MODULE_12__["ɵɵelement"](13, "app-modeler"); + _angular_core__WEBPACK_IMPORTED_MODULE_12__["ɵɵelementEnd"](); + _angular_core__WEBPACK_IMPORTED_MODULE_12__["ɵɵelementStart"](14, "div"); + _angular_core__WEBPACK_IMPORTED_MODULE_12__["ɵɵpipe"](15, "async"); + _angular_core__WEBPACK_IMPORTED_MODULE_12__["ɵɵpipe"](16, "async"); + _angular_core__WEBPACK_IMPORTED_MODULE_12__["ɵɵelementStart"](17, "span"); + _angular_core__WEBPACK_IMPORTED_MODULE_12__["ɵɵelement"](18, "img", 3); + _angular_core__WEBPACK_IMPORTED_MODULE_12__["ɵɵelementStart"](19, "a", 4); + _angular_core__WEBPACK_IMPORTED_MODULE_12__["ɵɵtext"](20, " egon.io"); + _angular_core__WEBPACK_IMPORTED_MODULE_12__["ɵɵelementEnd"](); + _angular_core__WEBPACK_IMPORTED_MODULE_12__["ɵɵtext"](21, " version: "); + _angular_core__WEBPACK_IMPORTED_MODULE_12__["ɵɵelementStart"](22, "a", 5); + _angular_core__WEBPACK_IMPORTED_MODULE_12__["ɵɵtext"](23); + _angular_core__WEBPACK_IMPORTED_MODULE_12__["ɵɵelementEnd"](); + _angular_core__WEBPACK_IMPORTED_MODULE_12__["ɵɵtext"](24, " by "); + _angular_core__WEBPACK_IMPORTED_MODULE_12__["ɵɵelement"](25, "img", 6); + _angular_core__WEBPACK_IMPORTED_MODULE_12__["ɵɵelementStart"](26, "a", 7); + _angular_core__WEBPACK_IMPORTED_MODULE_12__["ɵɵtext"](27, "WPS"); + _angular_core__WEBPACK_IMPORTED_MODULE_12__["ɵɵelementEnd"]()()()(); + } + if (rf & 2) { + _angular_core__WEBPACK_IMPORTED_MODULE_12__["ɵɵadvance"](1); + _angular_core__WEBPACK_IMPORTED_MODULE_12__["ɵɵproperty"]("ngIf", _angular_core__WEBPACK_IMPORTED_MODULE_12__["ɵɵpipeBind1"](2, 16, ctx.showSettings$)); + _angular_core__WEBPACK_IMPORTED_MODULE_12__["ɵɵadvance"](2); + _angular_core__WEBPACK_IMPORTED_MODULE_12__["ɵɵclassProp"]("headerAndCanvas", !_angular_core__WEBPACK_IMPORTED_MODULE_12__["ɵɵpipeBind1"](4, 18, ctx.showSettings$) && _angular_core__WEBPACK_IMPORTED_MODULE_12__["ɵɵpipeBind1"](5, 20, ctx.showDescription$))("headerAndCanvasCollapsed", !_angular_core__WEBPACK_IMPORTED_MODULE_12__["ɵɵpipeBind1"](6, 22, ctx.showSettings$) && !_angular_core__WEBPACK_IMPORTED_MODULE_12__["ɵɵpipeBind1"](7, 24, ctx.showDescription$))("hidden", _angular_core__WEBPACK_IMPORTED_MODULE_12__["ɵɵpipeBind1"](8, 26, ctx.showSettings$)); + _angular_core__WEBPACK_IMPORTED_MODULE_12__["ɵɵadvance"](7); + _angular_core__WEBPACK_IMPORTED_MODULE_12__["ɵɵclassProp"]("header", _angular_core__WEBPACK_IMPORTED_MODULE_12__["ɵɵpipeBind1"](11, 28, ctx.showDescription$))("headerCollapsed", !_angular_core__WEBPACK_IMPORTED_MODULE_12__["ɵɵpipeBind1"](12, 30, ctx.showDescription$)); + _angular_core__WEBPACK_IMPORTED_MODULE_12__["ɵɵadvance"](4); + _angular_core__WEBPACK_IMPORTED_MODULE_12__["ɵɵclassProp"]("logoContainer", !_angular_core__WEBPACK_IMPORTED_MODULE_12__["ɵɵpipeBind1"](15, 32, ctx.showSettings$))("hidden", _angular_core__WEBPACK_IMPORTED_MODULE_12__["ɵɵpipeBind1"](16, 34, ctx.showSettings$)); + _angular_core__WEBPACK_IMPORTED_MODULE_12__["ɵɵadvance"](9); + _angular_core__WEBPACK_IMPORTED_MODULE_12__["ɵɵtextInterpolate"](ctx.version); + } + }, + dependencies: [_angular_common__WEBPACK_IMPORTED_MODULE_15__.NgIf, src_app_Presentation_Header_header_component__WEBPACK_IMPORTED_MODULE_9__.HeaderComponent, src_app_Presentation_Settings_settings_component__WEBPACK_IMPORTED_MODULE_10__.SettingsComponent, src_app_Presentation_Canvas_modeler_component__WEBPACK_IMPORTED_MODULE_11__.ModelerComponent, _angular_common__WEBPACK_IMPORTED_MODULE_15__.AsyncPipe], + styles: [".content[_ngcontent-%COMP%] {\n height: 100%;\n overflow: hidden;\n}\n\n\n\n.headerAndCanvas[_ngcontent-%COMP%] {\n height: 100%;\n width: 100%;\n display: grid;\n grid-template-rows: 220px auto;\n overflow: hidden;\n}\n\n.headerAndCanvasCollapsed[_ngcontent-%COMP%] {\n height: 100%;\n width: 100%;\n display: grid;\n grid-template-rows: 65px auto;\n overflow: hidden;\n}\n\n.settings[_ngcontent-%COMP%] {\n height: 100%;\n}\n\n.header[_ngcontent-%COMP%] {\n display: grid;\n grid-template-rows: 65px 155px;\n}\n\n\n\n.logoContainer[_ngcontent-%COMP%] {\n display: flex;\n position: absolute;\n bottom: 0;\n right: 100px;\n align-items: flex-end;\n}\n.logoContainer[_ngcontent-%COMP%] span[_ngcontent-%COMP%] {\n margin-left: 16px;\n margin-bottom: 14px;\n align-items: center;\n}\n\n.hidden[_ngcontent-%COMP%] {\n height: 1px;\n width: 1px;\n}\n\n#wrapper[_ngcontent-%COMP%] {\n padding: 16px;\n min-height: 100%;\n height: 100%;\n box-sizing: border-box; \n\n}\n\n#tab-group[_ngcontent-%COMP%] {\n height: 100%;\n}\n\n#tab-group[_ngcontent-%COMP%] mat-tab-body[_ngcontent-%COMP%] {\n flex-grow: 1;\n}\n\n.mat-button-toggle-label-content[_ngcontent-%COMP%] {\n font-size: 10pt !important;\n padding: 0 5px !important;\n line-height: inherit !important;\n}\n\n .mdc-text-field--filled:not(.mdc-text-field--disabled) {\n background-color: white;\n}\n/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8uL3NyYy9hcHAvYXBwLmNvbXBvbmVudC5zY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0VBQ0UsWUFBQTtFQUNBLGdCQUFBO0FBQ0Y7O0FBRUEscUJBQUE7QUFFQTtFQUNFLFlBQUE7RUFDQSxXQUFBO0VBQ0EsYUFBQTtFQUNBLDhCQUFBO0VBQ0EsZ0JBQUE7QUFBRjs7QUFHQTtFQUNFLFlBQUE7RUFDQSxXQUFBO0VBQ0EsYUFBQTtFQUNBLDZCQUFBO0VBQ0EsZ0JBQUE7QUFBRjs7QUFHQTtFQUNFLFlBQUE7QUFBRjs7QUFHQTtFQUNFLGFBQUE7RUFDQSw4QkFBQTtBQUFGOztBQUdBLG1CQUFBO0FBRUE7RUFDRSxhQUFBO0VBQ0Esa0JBQUE7RUFDQSxTQUFBO0VBQ0EsWUFBQTtFQUNBLHFCQUFBO0FBREY7QUFHRTtFQUNFLGlCQUFBO0VBQ0EsbUJBQUE7RUFDQSxtQkFBQTtBQURKOztBQUtBO0VBQ0UsV0FBQTtFQUNBLFVBQUE7QUFGRjs7QUFLQTtFQUNFLGFBQUE7RUFDQSxnQkFBQTtFQUNBLFlBQUE7RUFDQSxzQkFBQSxFQUFBLE1BQUE7QUFGRjs7QUFLQTtFQUNFLFlBQUE7QUFGRjs7QUFLQTtFQUNFLFlBQUE7QUFGRjs7QUFNQTtFQUNFLDBCQUFBO0VBQ0EseUJBQUE7RUFDQSwrQkFBQTtBQUhGOztBQU1BO0VBQ0UsdUJBQUE7QUFIRiIsInNvdXJjZXNDb250ZW50IjpbIi5jb250ZW50IHtcbiAgaGVpZ2h0OiAxMDAlO1xuICBvdmVyZmxvdzogaGlkZGVuO1xufVxuXG4vKiBoZWFkZXIgYW5kIENhbnZhcyovXG5cbi5oZWFkZXJBbmRDYW52YXMge1xuICBoZWlnaHQ6IDEwMCU7XG4gIHdpZHRoOiAxMDAlO1xuICBkaXNwbGF5OiBncmlkO1xuICBncmlkLXRlbXBsYXRlLXJvd3M6IDIyMHB4IGF1dG87XG4gIG92ZXJmbG93OiBoaWRkZW47XG59XG5cbi5oZWFkZXJBbmRDYW52YXNDb2xsYXBzZWQge1xuICBoZWlnaHQ6IDEwMCU7XG4gIHdpZHRoOiAxMDAlO1xuICBkaXNwbGF5OiBncmlkO1xuICBncmlkLXRlbXBsYXRlLXJvd3M6IDY1cHggYXV0bztcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cblxuLnNldHRpbmdzIHtcbiAgaGVpZ2h0OiAxMDAlO1xufVxuXG4uaGVhZGVyIHtcbiAgZGlzcGxheTogZ3JpZDtcbiAgZ3JpZC10ZW1wbGF0ZS1yb3dzOiA2NXB4IDE1NXB4O1xufVxuXG4vKiBMb2dvIENvbnRhaW5lciAqL1xuXG4ubG9nb0NvbnRhaW5lciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgYm90dG9tOiAwO1xuICByaWdodDogMTAwcHg7XG4gIGFsaWduLWl0ZW1zOiBmbGV4LWVuZDtcblxuICBzcGFuIHtcbiAgICBtYXJnaW4tbGVmdDogMTZweDtcbiAgICBtYXJnaW4tYm90dG9tOiAxNHB4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIH1cbn1cblxuLmhpZGRlbiB7XG4gIGhlaWdodDogMXB4O1xuICB3aWR0aDogMXB4O1xufVxuXG4jd3JhcHBlciB7XG4gIHBhZGRpbmc6IDE2cHg7XG4gIG1pbi1oZWlnaHQ6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDsgLypuZXcqL1xufVxuXG4jdGFiLWdyb3VwIHtcbiAgaGVpZ2h0OiAxMDAlO1xufVxuXG4jdGFiLWdyb3VwIG1hdC10YWItYm9keSB7XG4gIGZsZXgtZ3JvdzogMTtcbn1cblxuLy8gTWF0ZXJpYWwgRGVzaWduIE92ZXJyaWRlc1xuLm1hdC1idXR0b24tdG9nZ2xlLWxhYmVsLWNvbnRlbnQge1xuICBmb250LXNpemU6IDEwcHQgIWltcG9ydGFudDtcbiAgcGFkZGluZzogMCA1cHggIWltcG9ydGFudDtcbiAgbGluZS1oZWlnaHQ6IGluaGVyaXQgIWltcG9ydGFudDtcbn1cblxuOjpuZy1kZWVwLm1kYy10ZXh0LWZpZWxkLS1maWxsZWQ6bm90KC5tZGMtdGV4dC1maWVsZC0tZGlzYWJsZWQpIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XG59XG4iXSwic291cmNlUm9vdCI6IiJ9 */"] + }); +} + +/***/ }), + +/***/ 78629: +/*!*******************************!*\ + !*** ./src/app/app.module.ts ***! + \*******************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ AppModule: () => (/* binding */ AppModule) +/* harmony export */ }); +/* harmony import */ var _angular_platform_browser__WEBPACK_IMPORTED_MODULE_27__ = __webpack_require__(/*! @angular/platform-browser */ 23380); +/* harmony import */ var _angular_material_checkbox__WEBPACK_IMPORTED_MODULE_26__ = __webpack_require__(/*! @angular/material/checkbox */ 82981); +/* harmony import */ var _angular_platform_browser_animations__WEBPACK_IMPORTED_MODULE_28__ = __webpack_require__(/*! @angular/platform-browser/animations */ 65364); +/* harmony import */ var src_app_Presentation_Header_header_component__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! src/app/Presentation/Header/header.component */ 25694); +/* harmony import */ var src_app_Presentation_Settings_settings_component__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! src/app/Presentation/Settings/settings.component */ 70787); +/* harmony import */ var src_app_app_component__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! src/app/app.component */ 66401); +/* harmony import */ var src_app_Service_Export_export_service__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! src/app/Service/Export/export.service */ 95722); +/* harmony import */ var src_app_Service_Import_import_domain_story_service__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! src/app/Service/Import/import-domain-story.service */ 1551); +/* harmony import */ var src_app_Service_Import_import_repair_service__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! src/app/Service/Import/import-repair.service */ 7959); +/* harmony import */ var src_app_Service_Modeler_modeler_service__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! src/app/Service/Modeler/modeler.service */ 43075); +/* harmony import */ var src_app_Service_Title_title_service__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! src/app/Service/Title/title.service */ 32610); +/* harmony import */ var src_app_Service_LabelDictionary_label_dictionary_service__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! src/app/Service/LabelDictionary/label-dictionary.service */ 84877); +/* harmony import */ var src_app_Service_Replay_replay_service__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! src/app/Service/Replay/replay.service */ 85989); +/* harmony import */ var src_app_Service_ElementRegistry_element_registry_service__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! src/app/Service/ElementRegistry/element-registry.service */ 83335); +/* harmony import */ var src_app_Service_DomainConfiguration_domain_configuration_service__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! src/app/Service/DomainConfiguration/domain-configuration.service */ 88421); +/* harmony import */ var src_app_Service_LabelDictionary_mass_naming_service__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! src/app/Service/LabelDictionary/mass-naming.service */ 36837); +/* harmony import */ var src_app_Presentation_Dialog_info_dialog_info_dialog_component__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! src/app/Presentation/Dialog/info-dialog/info-dialog.component */ 81183); +/* harmony import */ var src_app_Presentation_Dialog_export_dialog_export_dialog_component__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! src/app/Presentation/Dialog/export-dialog/export-dialog.component */ 62854); +/* harmony import */ var src_app_Presentation_Dialog_activity_dialog_activity_dialog_component__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(/*! src/app/Presentation/Dialog/activity-dialog/activity-dialog.component */ 39270); +/* harmony import */ var _angular_forms__WEBPACK_IMPORTED_MODULE_25__ = __webpack_require__(/*! @angular/forms */ 70997); +/* harmony import */ var src_app_Presentation_Dialog_header_dialog_header_dialog_component__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(/*! src/app/Presentation/Dialog/header-dialog/header-dialog.component */ 849); +/* harmony import */ var src_app_Service_DomainConfiguration_icon_dictionary_service__WEBPACK_IMPORTED_MODULE_17__ = __webpack_require__(/*! src/app/Service/DomainConfiguration/icon-dictionary.service */ 19673); +/* harmony import */ var src_app_Presentation_Canvas_modeler_component__WEBPACK_IMPORTED_MODULE_18__ = __webpack_require__(/*! src/app/Presentation/Canvas/modeler.component */ 46628); +/* harmony import */ var src_app_Modules_settings_module__WEBPACK_IMPORTED_MODULE_19__ = __webpack_require__(/*! src/app/Modules/settings.module */ 44886); +/* harmony import */ var _Service_Autosave_autosave_service__WEBPACK_IMPORTED_MODULE_20__ = __webpack_require__(/*! ./Service/Autosave/autosave.service */ 64479); +/* harmony import */ var _Modules_domain_story_modeler_module_module__WEBPACK_IMPORTED_MODULE_21__ = __webpack_require__(/*! ./Modules/domain-story-modeler-module.module */ 20741); +/* harmony import */ var _Presentation_Dialog_label_dictionary_dialog_label_dictionary_dialog_component__WEBPACK_IMPORTED_MODULE_22__ = __webpack_require__(/*! ./Presentation/Dialog/label-dictionary-dialog/label-dictionary-dialog.component */ 70938); +/* harmony import */ var _material_module__WEBPACK_IMPORTED_MODULE_23__ = __webpack_require__(/*! ./material.module */ 29099); +/* harmony import */ var _angular_core__WEBPACK_IMPORTED_MODULE_24__ = __webpack_require__(/*! @angular/core */ 51197); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +class AppModule { + constructor(autosaveService) { + this.autosaveService = autosaveService; + // autosaveService wird so automatisch initialisiert, auf keinen Fall entfernen! + } + + ngDoBootstrap(app) { + const componentElement = document.createElement('app-root'); + document.body.append(componentElement); + app.bootstrap(src_app_app_component__WEBPACK_IMPORTED_MODULE_2__.AppComponent); + } + static #_ = this.ɵfac = function AppModule_Factory(t) { + return new (t || AppModule)(_angular_core__WEBPACK_IMPORTED_MODULE_24__["ɵɵinject"](_Service_Autosave_autosave_service__WEBPACK_IMPORTED_MODULE_20__.AutosaveService)); + }; + static #_2 = this.ɵmod = /*@__PURE__*/_angular_core__WEBPACK_IMPORTED_MODULE_24__["ɵɵdefineNgModule"]({ + type: AppModule + }); + static #_3 = this.ɵinj = /*@__PURE__*/_angular_core__WEBPACK_IMPORTED_MODULE_24__["ɵɵdefineInjector"]({ + providers: [_Service_Autosave_autosave_service__WEBPACK_IMPORTED_MODULE_20__.AutosaveService, src_app_Service_Export_export_service__WEBPACK_IMPORTED_MODULE_3__.ExportService, src_app_Service_Import_import_domain_story_service__WEBPACK_IMPORTED_MODULE_4__.ImportDomainStoryService, src_app_Service_Import_import_repair_service__WEBPACK_IMPORTED_MODULE_5__.ImportRepairService, src_app_Service_DomainConfiguration_icon_dictionary_service__WEBPACK_IMPORTED_MODULE_17__.IconDictionaryService, src_app_Service_Title_title_service__WEBPACK_IMPORTED_MODULE_7__.TitleService, src_app_Service_LabelDictionary_label_dictionary_service__WEBPACK_IMPORTED_MODULE_8__.LabelDictionaryService, src_app_Service_Replay_replay_service__WEBPACK_IMPORTED_MODULE_9__.ReplayService, src_app_Service_ElementRegistry_element_registry_service__WEBPACK_IMPORTED_MODULE_10__.ElementRegistryService, src_app_Service_DomainConfiguration_domain_configuration_service__WEBPACK_IMPORTED_MODULE_11__.DomainConfigurationService, src_app_Service_Modeler_modeler_service__WEBPACK_IMPORTED_MODULE_6__.ModelerService, src_app_Service_LabelDictionary_mass_naming_service__WEBPACK_IMPORTED_MODULE_12__.MassNamingService, _angular_forms__WEBPACK_IMPORTED_MODULE_25__.UntypedFormBuilder, { + provide: _angular_material_checkbox__WEBPACK_IMPORTED_MODULE_26__.MAT_CHECKBOX_DEFAULT_OPTIONS, + useValue: { + clickAction: 'noop' + } + }], + imports: [_angular_platform_browser__WEBPACK_IMPORTED_MODULE_27__.BrowserModule, _angular_platform_browser_animations__WEBPACK_IMPORTED_MODULE_28__.NoopAnimationsModule, _angular_forms__WEBPACK_IMPORTED_MODULE_25__.ReactiveFormsModule, src_app_Modules_settings_module__WEBPACK_IMPORTED_MODULE_19__.SettingsModule, _Modules_domain_story_modeler_module_module__WEBPACK_IMPORTED_MODULE_21__.DomainStoryModelerModuleModule, _material_module__WEBPACK_IMPORTED_MODULE_23__.MaterialModule] + }); +} +(function () { + (typeof ngJitMode === "undefined" || ngJitMode) && _angular_core__WEBPACK_IMPORTED_MODULE_24__["ɵɵsetNgModuleScope"](AppModule, { + declarations: [src_app_Presentation_Header_header_component__WEBPACK_IMPORTED_MODULE_0__.HeaderComponent, src_app_Presentation_Settings_settings_component__WEBPACK_IMPORTED_MODULE_1__.SettingsComponent, src_app_app_component__WEBPACK_IMPORTED_MODULE_2__.AppComponent, src_app_Presentation_Dialog_info_dialog_info_dialog_component__WEBPACK_IMPORTED_MODULE_13__.InfoDialogComponent, src_app_Presentation_Dialog_export_dialog_export_dialog_component__WEBPACK_IMPORTED_MODULE_14__.ExportDialogComponent, src_app_Presentation_Dialog_activity_dialog_activity_dialog_component__WEBPACK_IMPORTED_MODULE_15__.ActivityDialogComponent, src_app_Presentation_Dialog_header_dialog_header_dialog_component__WEBPACK_IMPORTED_MODULE_16__.HeaderDialogComponent, src_app_Presentation_Canvas_modeler_component__WEBPACK_IMPORTED_MODULE_18__.ModelerComponent, _Presentation_Dialog_label_dictionary_dialog_label_dictionary_dialog_component__WEBPACK_IMPORTED_MODULE_22__.LabelDictionaryDialogComponent], + imports: [_angular_platform_browser__WEBPACK_IMPORTED_MODULE_27__.BrowserModule, _angular_platform_browser_animations__WEBPACK_IMPORTED_MODULE_28__.NoopAnimationsModule, _angular_forms__WEBPACK_IMPORTED_MODULE_25__.ReactiveFormsModule, src_app_Modules_settings_module__WEBPACK_IMPORTED_MODULE_19__.SettingsModule, _Modules_domain_story_modeler_module_module__WEBPACK_IMPORTED_MODULE_21__.DomainStoryModelerModuleModule, _material_module__WEBPACK_IMPORTED_MODULE_23__.MaterialModule] + }); +})(); + +/***/ }), + +/***/ 29099: +/*!************************************!*\ + !*** ./src/app/material.module.ts ***! + \************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ MaterialModule: () => (/* binding */ MaterialModule) +/* harmony export */ }); +/* harmony import */ var _angular_material_dialog__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! @angular/material/dialog */ 23373); +/* harmony import */ var _angular_material_form_field__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! @angular/material/form-field */ 51589); +/* harmony import */ var _angular_material_input__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! @angular/material/input */ 1319); +/* harmony import */ var _angular_material_toolbar__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! @angular/material/toolbar */ 94031); +/* harmony import */ var _angular_material_expansion__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! @angular/material/expansion */ 53410); +/* harmony import */ var _angular_material_card__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! @angular/material/card */ 31071); +/* harmony import */ var _angular_material_snack_bar__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! @angular/material/snack-bar */ 93768); +/* harmony import */ var _angular_material_button__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @angular/material/button */ 96495); +/* harmony import */ var _angular_material_grid_list__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! @angular/material/grid-list */ 14916); +/* harmony import */ var _angular_material_button_toggle__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @angular/material/button-toggle */ 5167); +/* harmony import */ var _angular_material_list__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @angular/material/list */ 18509); +/* harmony import */ var _angular_material_checkbox__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @angular/material/checkbox */ 82981); +/* harmony import */ var _angular_core__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @angular/core */ 51197); + + + + + + + + + + + + + +class MaterialModule { + static #_ = this.ɵfac = function MaterialModule_Factory(t) { + return new (t || MaterialModule)(); + }; + static #_2 = this.ɵmod = /*@__PURE__*/_angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵdefineNgModule"]({ + type: MaterialModule + }); + static #_3 = this.ɵinj = /*@__PURE__*/_angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵdefineInjector"]({ + imports: [_angular_material_button__WEBPACK_IMPORTED_MODULE_1__.MatButtonModule, _angular_material_button_toggle__WEBPACK_IMPORTED_MODULE_2__.MatButtonToggleModule, _angular_material_list__WEBPACK_IMPORTED_MODULE_3__.MatListModule, _angular_material_checkbox__WEBPACK_IMPORTED_MODULE_4__.MatCheckboxModule, _angular_material_dialog__WEBPACK_IMPORTED_MODULE_5__.MatDialogModule, _angular_material_form_field__WEBPACK_IMPORTED_MODULE_6__.MatFormFieldModule, _angular_material_grid_list__WEBPACK_IMPORTED_MODULE_7__.MatGridListModule, _angular_material_input__WEBPACK_IMPORTED_MODULE_8__.MatInputModule, _angular_material_toolbar__WEBPACK_IMPORTED_MODULE_9__.MatToolbarModule, _angular_material_expansion__WEBPACK_IMPORTED_MODULE_10__.MatExpansionModule, _angular_material_snack_bar__WEBPACK_IMPORTED_MODULE_11__.MatSnackBarModule, _angular_material_card__WEBPACK_IMPORTED_MODULE_12__.MatCardModule, _angular_material_button__WEBPACK_IMPORTED_MODULE_1__.MatButtonModule, _angular_material_button_toggle__WEBPACK_IMPORTED_MODULE_2__.MatButtonToggleModule, _angular_material_list__WEBPACK_IMPORTED_MODULE_3__.MatListModule, _angular_material_checkbox__WEBPACK_IMPORTED_MODULE_4__.MatCheckboxModule, _angular_material_dialog__WEBPACK_IMPORTED_MODULE_5__.MatDialogModule, _angular_material_form_field__WEBPACK_IMPORTED_MODULE_6__.MatFormFieldModule, _angular_material_grid_list__WEBPACK_IMPORTED_MODULE_7__.MatGridListModule, _angular_material_input__WEBPACK_IMPORTED_MODULE_8__.MatInputModule, _angular_material_toolbar__WEBPACK_IMPORTED_MODULE_9__.MatToolbarModule, _angular_material_expansion__WEBPACK_IMPORTED_MODULE_10__.MatExpansionModule, _angular_material_snack_bar__WEBPACK_IMPORTED_MODULE_11__.MatSnackBarModule, _angular_material_card__WEBPACK_IMPORTED_MODULE_12__.MatCardModule] + }); +} +(function () { + (typeof ngJitMode === "undefined" || ngJitMode) && _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵsetNgModuleScope"](MaterialModule, { + imports: [_angular_material_button__WEBPACK_IMPORTED_MODULE_1__.MatButtonModule, _angular_material_button_toggle__WEBPACK_IMPORTED_MODULE_2__.MatButtonToggleModule, _angular_material_list__WEBPACK_IMPORTED_MODULE_3__.MatListModule, _angular_material_checkbox__WEBPACK_IMPORTED_MODULE_4__.MatCheckboxModule, _angular_material_dialog__WEBPACK_IMPORTED_MODULE_5__.MatDialogModule, _angular_material_form_field__WEBPACK_IMPORTED_MODULE_6__.MatFormFieldModule, _angular_material_grid_list__WEBPACK_IMPORTED_MODULE_7__.MatGridListModule, _angular_material_input__WEBPACK_IMPORTED_MODULE_8__.MatInputModule, _angular_material_toolbar__WEBPACK_IMPORTED_MODULE_9__.MatToolbarModule, _angular_material_expansion__WEBPACK_IMPORTED_MODULE_10__.MatExpansionModule, _angular_material_snack_bar__WEBPACK_IMPORTED_MODULE_11__.MatSnackBarModule, _angular_material_card__WEBPACK_IMPORTED_MODULE_12__.MatCardModule], + exports: [_angular_material_button__WEBPACK_IMPORTED_MODULE_1__.MatButtonModule, _angular_material_button_toggle__WEBPACK_IMPORTED_MODULE_2__.MatButtonToggleModule, _angular_material_list__WEBPACK_IMPORTED_MODULE_3__.MatListModule, _angular_material_checkbox__WEBPACK_IMPORTED_MODULE_4__.MatCheckboxModule, _angular_material_dialog__WEBPACK_IMPORTED_MODULE_5__.MatDialogModule, _angular_material_form_field__WEBPACK_IMPORTED_MODULE_6__.MatFormFieldModule, _angular_material_grid_list__WEBPACK_IMPORTED_MODULE_7__.MatGridListModule, _angular_material_input__WEBPACK_IMPORTED_MODULE_8__.MatInputModule, _angular_material_toolbar__WEBPACK_IMPORTED_MODULE_9__.MatToolbarModule, _angular_material_expansion__WEBPACK_IMPORTED_MODULE_10__.MatExpansionModule, _angular_material_snack_bar__WEBPACK_IMPORTED_MODULE_11__.MatSnackBarModule, _angular_material_card__WEBPACK_IMPORTED_MODULE_12__.MatCardModule] + }); +})(); + +/***/ }), + +/***/ 20553: +/*!*****************************************!*\ + !*** ./src/environments/environment.ts ***! + \*****************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ environment: () => (/* binding */ environment) +/* harmony export */ }); +// This file can be replaced during build by using the `fileReplacements` array. +// `ng build --prod` replaces `environment.ts` with `environment.prod.ts`. +// The list of file replacements can be found in `angular.json`. +const environment = { + production: false, + version: 'dev' +}; +/* + * For easier debugging in development mode, you can import the following file + * to ignore zone related error stack frames such as `zone.run`, `zoneDelegate.invokeTask`. + * + * This import should be commented out in production mode because it will have a negative impact + * on performance if an error is thrown. + */ +// import 'zone.js/plugins/zone-error'; // Included with Angular CLI. + +/***/ }), + +/***/ 14913: +/*!*********************!*\ + !*** ./src/main.ts ***! + \*********************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +__webpack_require__.r(__webpack_exports__); +/* harmony import */ var _angular_platform_browser__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @angular/platform-browser */ 23380); +/* harmony import */ var _angular_core__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @angular/core */ 51197); +/* harmony import */ var _app_app_module__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./app/app.module */ 78629); +/* harmony import */ var _environments_environment__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./environments/environment */ 20553); + + + + +if (_environments_environment__WEBPACK_IMPORTED_MODULE_1__.environment.production) { + (0,_angular_core__WEBPACK_IMPORTED_MODULE_2__.enableProdMode)(); +} +_angular_platform_browser__WEBPACK_IMPORTED_MODULE_3__.platformBrowser().bootstrapModule(_app_app_module__WEBPACK_IMPORTED_MODULE_0__.AppModule).catch(err => console.error(err)); + +/***/ }) + +}, +/******/ __webpack_require__ => { // webpackRuntimeModules +/******/ var __webpack_exec__ = (moduleId) => (__webpack_require__(__webpack_require__.s = moduleId)) +/******/ __webpack_require__.O(0, ["vendor"], () => (__webpack_exec__(14913))); +/******/ var __webpack_exports__ = __webpack_require__.O(); +/******/ } +]); +//# sourceMappingURL=main.js.map \ No newline at end of file diff --git a/app-latest-build/main.js.map b/app-latest-build/main.js.map new file mode 100644 index 0000000..fa418f2 --- /dev/null +++ b/app-latest-build/main.js.map @@ -0,0 +1 @@ +{"version":3,"file":"main.js","mappings":"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","sources":["./src/app/Modeler/index.js","./src/app/Modeler/modeler/change-icon/replace.js","./src/app/Modeler/modeler/change-icon/replaceMenuProvider.js","./src/app/Modeler/modeler/change-icon/replaceOptions.js","./src/app/Modeler/modeler/context-pad/domainStoryContextPadProvider.js","./src/app/Modeler/modeler/domainStoryElementFactory.js","./src/app/Modeler/modeler/domainStoryIdFactory.js","./src/app/Modeler/modeler/domainStoryRenderer.js","./src/app/Modeler/modeler/domainStoryRules.js","./src/app/Modeler/modeler/domainStoryUpdater.js","./src/app/Modeler/modeler/index.js","./src/app/Modeler/modeler/labeling/dsLabelEditingPreview.js","./src/app/Modeler/modeler/labeling/dsLabelEditingProvider.js","./src/app/Modeler/modeler/labeling/dsLabelUtil.js","./src/app/Modeler/modeler/labeling/index.js","./src/app/Modeler/modeler/labeling/position.js","./src/app/Modeler/modeler/modeling/dSModeling.js","./src/app/Modeler/modeler/modeling/index.js","./src/app/Modeler/modeler/numbering/numbering.js","./src/app/Modeler/modeler/palette/domainStoryPalette.js","./src/app/Modeler/modeler/updateHandler/activityUpdateHandlers.js","./src/app/Modeler/modeler/updateHandler/elementUpdateHandler.js","./src/app/Modeler/modeler/updateHandler/headlineAndDescriptionUpdateHandler.js","./src/app/Modeler/modeler/updateHandler/massRenameHandler.js","./src/app/Modeler/modeler/updateHandler/updateLabelHandler.js","./src/app/Modeler/modeler/util.js","./src/app/Service/Export/exportUtil.js","./src/app/Domain/Common/businessObject.ts","./src/app/Domain/Common/configuration.ts","./src/app/Domain/Common/constants.ts","./src/app/Domain/Common/dictionary/dictionary.ts","./src/app/Domain/Common/domainConfiguration.ts","./src/app/Domain/Common/elementTypes.ts","./src/app/Domain/Common/iconConfiguration.ts","./src/app/Domain/Dialog/activityDialogData.ts","./src/app/Domain/Dialog/exportDialogData.ts","./src/app/Domain/Dialog/infoDialogData.ts","./src/app/Domain/DomManipulation/replayConstants.ts","./src/app/Domain/Domain-Configuration/allIcons.ts","./src/app/Domain/Domain-Configuration/iconFilterEnum.ts","./src/app/Domain/Export/configAndDst.ts","./src/app/Domain/Export/exportConstants.ts","./src/app/Modules/autosave-settings.module.ts","./src/app/Modules/domain-story-modeler-module.module.ts","./src/app/Modules/settings.module.ts","./src/app/Presentation/Autosave/AutosaveOptions/autosave-options.component.ts","./src/app/Presentation/Autosave/AutosaveOptions/autosave-options.component.html","./src/app/Presentation/Autosave/AutosaveSettings/autosave-settings.component.ts","./src/app/Presentation/Autosave/AutosaveSettings/autosave-settings.component.html","./src/app/Presentation/Autosave/AutosavedDrafts/autosaved-drafts.component.ts","./src/app/Presentation/Autosave/AutosavedDrafts/autosaved-drafts.component.html","./src/app/Presentation/Canvas/modeler.component.ts","./src/app/Presentation/Canvas/modeler.component.html","./src/app/Presentation/Dialog/activity-dialog/activity-dialog.component.ts","./src/app/Presentation/Dialog/activity-dialog/activity-dialog.component.html","./src/app/Presentation/Dialog/export-dialog/export-dialog.component.ts","./src/app/Presentation/Dialog/export-dialog/export-dialog.component.html","./src/app/Presentation/Dialog/header-dialog/header-dialog.component.ts","./src/app/Presentation/Dialog/header-dialog/header-dialog.component.html","./src/app/Presentation/Dialog/info-dialog/info-dialog.component.ts","./src/app/Presentation/Dialog/info-dialog/info-dialog.component.html","./src/app/Presentation/Dialog/label-dictionary-dialog/label-dictionary-dialog.component.ts","./src/app/Presentation/Dialog/label-dictionary-dialog/label-dictionary-dialog.component.html","./src/app/Presentation/DomainConfiguration/details-list-item/details-list-item.component.ts","./src/app/Presentation/DomainConfiguration/details-list-item/details-list-item.component.html","./src/app/Presentation/DomainConfiguration/domain-configuration.component.ts","./src/app/Presentation/DomainConfiguration/domain-configuration.component.html","./src/app/Presentation/DomainConfiguration/domain-details/domain-details.component.ts","./src/app/Presentation/DomainConfiguration/domain-details/domain-details.component.html","./src/app/Presentation/DomainConfiguration/icon-list-item/icon-list-item.component.ts","./src/app/Presentation/DomainConfiguration/icon-list-item/icon-list-item.component.html","./src/app/Presentation/Header/header-buttons.component.ts","./src/app/Presentation/Header/header-buttons.component.html","./src/app/Presentation/Header/header.component.ts","./src/app/Presentation/Header/header.component.html","./src/app/Presentation/LabelDictionary/label-dictionary.component.ts","./src/app/Presentation/LabelDictionary/label-dictionary.component.html","./src/app/Presentation/Settings/General/general-settings.component.ts","./src/app/Presentation/Settings/General/general-settings.component.html","./src/app/Presentation/Settings/settings.component.ts","./src/app/Presentation/Settings/settings.component.html","./src/app/Service/Autosave/autosave-configuration.service.ts","./src/app/Service/Autosave/autosave.service.ts","./src/app/Service/BrowserStorage/storage.service.ts","./src/app/Service/CommandStack/command-stack.service.ts","./src/app/Service/Dialog/dialog.service.ts","./src/app/Service/DirtyFlag/dirty-flag.service.ts","./src/app/Service/DomManipulation/dom-manipulation.service.ts","./src/app/Service/DomainConfiguration/domain-configuration.service.ts","./src/app/Service/DomainConfiguration/domain-customization.service.ts","./src/app/Service/DomainConfiguration/icon-dictionary.service.ts","./src/app/Service/ElementRegistry/element-registry.service.ts","./src/app/Service/Export/export.service.ts","./src/app/Service/Export/html-presentation.service.ts","./src/app/Service/Export/png.service.ts","./src/app/Service/Export/svg.service.ts","./src/app/Service/Import/import-domain-story.service.ts","./src/app/Service/Import/import-repair.service.ts","./src/app/Service/LabelDictionary/label-dictionary.service.ts","./src/app/Service/LabelDictionary/mass-naming.service.ts","./src/app/Service/Modeler/initializer.service.ts","./src/app/Service/Modeler/modeler.service.ts","./src/app/Service/Renderer/renderer.service.ts","./src/app/Service/Replay/replay-state.service.ts","./src/app/Service/Replay/replay.service.ts","./src/app/Service/Replay/storyCreator/story-creator.service.ts","./src/app/Service/Settings/settings.service.ts","./src/app/Service/Title/title.service.ts","./src/app/Utils/mathExtensions.ts","./src/app/Utils/naming.ts","./src/app/Utils/sanitizer.ts","./src/app/app.component.ts","./src/app/app.component.html","./src/app/app.module.ts","./src/app/material.module.ts","./src/environments/environment.ts","./src/main.ts"],"sourcesContent":["import Modeler from \"bpmn-js/lib/Modeler\";\nimport ResizeModule from \"diagram-js/lib/features/resize\";\nimport { assign, isArray } from \"min-dash\";\nimport inherits from \"inherits\";\n\nimport DomainStoryModule from \"./modeler\";\nimport LabelEditingModule from \"./modeler/labeling\";\nimport ModelingModule from \"./modeler/modeling\";\nimport { elementTypes } from \"../Domain/Common/elementTypes\";\n\nexport default function DomainStoryModeler(options) {\n Modeler.call(this, options);\n\n this._customElements = [];\n this._groupElements = [];\n}\n\ninherits(DomainStoryModeler, Modeler);\n\nDomainStoryModeler.prototype._modules = [].concat(\n DomainStoryModeler.prototype._modules,\n [DomainStoryModule, LabelEditingModule, ModelingModule],\n [ResizeModule]\n);\n\n/**\n * add a single custom element to the underlying diagram\n *\n * @param {Object} customElement\n */\nDomainStoryModeler.prototype._addCustomShape = function (customElement) {\n let parentId = customElement.parent;\n delete customElement.children;\n delete customElement.parent;\n this._customElements.push(customElement);\n\n let canvas = this.get(\"canvas\"),\n elementFactory = this.get(\"elementFactory\");\n\n let customAttrs = assign({ businessObject: customElement }, customElement);\n let customShape = elementFactory.create(\"shape\", customAttrs);\n\n if (isGroup(customElement)) {\n this._groupElements[customElement.id] = customShape;\n }\n\n if (parentId) {\n let parentShape = this._groupElements[parentId];\n\n if (isGroup(parentShape)) {\n return canvas.addShape(customShape, parentShape, parentShape.id);\n }\n }\n return canvas.addShape(customShape);\n};\n\nDomainStoryModeler.prototype._addCustomConnection = function (customElement) {\n this._customElements.push(customElement);\n\n let canvas = this.get(\"canvas\"),\n elementFactory = this.get(\"elementFactory\"),\n elementRegistry = this.get(\"elementRegistry\");\n\n let customAttrs = assign({ businessObject: customElement }, customElement);\n\n let connection = elementFactory.create(\n \"connection\",\n assign(customAttrs, {\n source: elementRegistry.get(customElement.source),\n target: elementRegistry.get(customElement.target),\n }),\n elementRegistry.get(customElement.source).parent\n );\n\n return canvas.addConnection(connection);\n};\n\n//** We import BusinessObjects, not the whole Canvas Object!!!!!!!!\nDomainStoryModeler.prototype.importCustomElements = function (elements) {\n this.get(\"eventBus\").fire(\"diagram.clear\", {});\n this._customElements = [];\n this._groupElements = [];\n\n this.addCustomElements(elements);\n};\n\n/**\n * add a number of custom elements and connections to the underlying diagram.\n *\n * @param {Array} customElements\n */\nDomainStoryModeler.prototype.addCustomElements = function (customElements) {\n if (!isArray(customElements)) {\n throw new Error(\"argument must be an array\");\n }\n\n let shapes = [],\n connections = [],\n groups = [];\n\n customElements.forEach(function (customElement) {\n if (isConnection(customElement)) {\n connections.push(customElement);\n } else if (isGroup(customElement)) {\n groups.push(customElement);\n } else {\n shapes.push(customElement);\n }\n });\n\n // add groups before shapes and shapes before connections so that connections\n // can already rely on the shapes being part of the diagram\n groups.forEach(this._addCustomShape, this);\n shapes.forEach(this._addCustomShape, this);\n connections.forEach(this._addCustomConnection, this);\n};\n\n/**\n * get custom elements with their current status.\n *\n * @return {Array} custom elements on the diagram\n */\nDomainStoryModeler.prototype.getCustomElements = function () {\n return this._customElements;\n};\n\n// override standard function to prevent default elements on canvas\nDomainStoryModeler.prototype.createDiagram = function (done) {};\n\nfunction isConnection(element) {\n return (\n element.type === elementTypes.ACTIVITY ||\n element.type === elementTypes.CONNECTION\n );\n}\n\nfunction isGroup(element) {\n return element && element.type === elementTypes.GROUP;\n}\n","\"use strict\";\n\nimport { assign } from \"min-dash\";\n\n/**\n * service that allow replacing of elements.\n */\nexport default function Replace(modeling) {\n this._modeling = modeling;\n}\n\n/**\n * @param {Element} oldElement - element to be replaced\n * @param {Object} newElementData - containing information about the new Element, for example height, width, type.\n * @param modeling\n */\nfunction replaceElement(oldElement, newElementData, modeling) {\n // let modeling = this._modeling;\n\n let newElement = setCenterOfElement(newElementData, oldElement, modeling);\n let outgoingActivities = newElement.outgoing;\n let incomingActivities = newElement.incoming;\n\n outgoingActivities.forEach((element) => {\n element.businessObject.source = newElement.id;\n });\n\n incomingActivities.forEach((element) => {\n element.businessObject.target = newElement.id;\n });\n\n return newElement;\n}\n\nfunction setCenterOfElement(newElementData, oldElement, modeling) {\n newElementData.x = Math.ceil(\n oldElement.x + (newElementData.width || oldElement.width) / 2\n );\n newElementData.y = Math.ceil(\n oldElement.y + (newElementData.height || oldElement.height) / 2\n );\n\n assign(newElementData, { name: oldElement.businessObject.name });\n\n return modeling.replaceShape(oldElement, newElementData, {});\n}\n\nReplace.prototype.replaceElement = replaceElement;\n","\"use strict\";\n\nimport Replace from \"./replace\";\nimport * as replaceOptions from \"./replaceOptions\";\n\nimport { forEach } from \"min-dash\";\n\n/**\n * This module is an element agnostic replace menu provider for the popup menu.\n */\nexport default function ReplaceMenuProvider(modeling) {\n this._dsReplace = new Replace(modeling);\n this._modeling = modeling;\n}\n\nReplaceMenuProvider.$inject = [\"modeling\"];\n\n/**\n * Get all entries from replaceOptions for the given element and apply filters\n * on them. Get for example only elements, which are different from the current one.\n *\n * @param {djs.model.Base} element\n *\n * @return {Array} a list of menu entry items\n */\nReplaceMenuProvider.prototype.getEntries = function (element) {\n let entries;\n if (element.type.includes(\"actor\")) {\n entries = replaceOptions.actorReplaceOptions(element.type);\n } else if (element.type.includes(\"workObject\")) {\n entries = replaceOptions.workObjectReplaceOptions(element.type);\n }\n\n return this._createEntries(element, entries);\n};\n\n/**\n * Creates an array of menu entry objects for a given element and filters the replaceOptions\n * according to a filter function.\n *\n * @param {djs.model.Base} element\n * @param {Object} replaceOptions\n *\n * @return {Array} a list of menu items\n */\nReplaceMenuProvider.prototype._createEntries = function (\n element,\n replaceOptions\n) {\n let menuEntries = [];\n\n let self = this;\n\n forEach(replaceOptions, function (definition) {\n let entry = self._createMenuEntry(definition, element);\n\n menuEntries.push(entry);\n });\n\n return menuEntries;\n};\n\n/**\n * Creates and returns a single menu entry item.\n *\n * @param {Object} definition a single replace options definition object\n * @param {djs.model.Base} element\n * @param {Function} [action] an action callback function which gets called when\n * the menu entry is being triggered.\n *\n * @return {Object} menu entry item\n */\nReplaceMenuProvider.prototype._createMenuEntry = function (\n definition,\n element,\n action\n) {\n let replaceElement = this._dsReplace.replaceElement;\n let modeling = this._modeling;\n let replaceAction = function () {\n return replaceElement(element, definition.target, modeling);\n };\n\n action = action || replaceAction;\n\n return {\n label: definition.label,\n className: definition.className,\n id: definition.actionName,\n action: action,\n };\n};\n","import { elementTypes } from \"src/app/Domain/Common/elementTypes\";\nimport { getNameFromType } from \"src/app/Utils/naming\";\n\nlet iconDictionaryService;\n\nexport function initializeReplaceOptions(iconDictionary) {\n iconDictionaryService = iconDictionary;\n}\n\nexport function actorReplaceOptions(name) {\n const actorTypes = iconDictionaryService.getTypeDictionary(\n elementTypes.ACTOR\n );\n\n let replaceOption = {};\n let i = 0;\n\n actorTypes.keysArray().forEach((actorType) => {\n if (!name.includes(actorType)) {\n const typeName = getNameFromType(actorType);\n replaceOption[i] = {\n label: \"Change to \" + typeName,\n actionName: \"replace-with-actor-\" + typeName.toLowerCase(),\n className: iconDictionaryService.getIconForBPMN(actorType),\n target: {\n type: actorType,\n },\n };\n i++;\n }\n });\n return replaceOption;\n}\n\nexport function workObjectReplaceOptions(name) {\n const workObjectTypes = iconDictionaryService.getTypeDictionary(\n elementTypes.WORKOBJECT\n );\n\n let replaceOption = {};\n let i = 0;\n\n workObjectTypes.keysArray().forEach((workObjectType) => {\n if (!name.includes(workObjectType)) {\n const typeName = getNameFromType(workObjectType);\n replaceOption[i] = {\n label: \"Change to \" + typeName,\n actionName: \"replace-with-actor-\" + typeName,\n className: iconDictionaryService.getIconForBPMN(workObjectType),\n target: {\n type: workObjectType,\n },\n };\n }\n i++;\n });\n return replaceOption;\n}\n","\"use strict\";\n\nimport inherits from \"inherits\";\n\nimport ContextPadProvider from \"bpmn-js/lib/features/context-pad/ContextPadProvider\";\n\nimport { assign, bind } from \"min-dash\";\nimport { generateAutomaticNumber } from \"../numbering/numbering\";\nimport { elementTypes } from \"src/app/Domain/Common/elementTypes\";\nimport { getAllStandardIconKeys } from \"src/app/Domain/Domain-Configuration/allIcons\";\nimport { getNameFromType } from \"src/app/Utils/naming\";\n\nlet dirtyFlagService;\nlet iconDictionaryService;\n\nexport function initializeContextPadProvider(dirtyFlag, iconDictionary) {\n dirtyFlagService = dirtyFlag;\n iconDictionaryService = iconDictionary;\n}\n\nexport default function DomainStoryContextPadProvider(\n injector,\n connect,\n translate,\n elementFactory,\n create,\n canvas,\n contextPad,\n popupMenu,\n replaceMenuProvider,\n commandStack,\n eventBus,\n modeling\n) {\n let startConnect;\n let selectedElement;\n\n injector.invoke(ContextPadProvider, this);\n let autoPlace = injector.get(\"autoPlace\", false);\n\n let cached = bind(this.getContextPadEntries, this);\n\n const colorPicker = document.getElementById(\"colorPicker\");\n colorPicker.onchange = (ev) => {\n const context = {\n businessObject: selectedElement.businessObject,\n newColor: ev.target.value,\n element: selectedElement,\n };\n\n commandStack.execute(\"element.colorChange\", context);\n dirtyFlagService.makeDirty();\n };\n\n popupMenu.registerProvider(\"ds-replace\", replaceMenuProvider);\n popupMenu.registerProvider(\"bpmn-replace\", replaceMenuProvider);\n\n this.getContextPadEntries = function (element) {\n const allStandardIconKeys = getAllStandardIconKeys();\n let actions = cached(element);\n\n startConnect = function (event, element, autoActivate) {\n connect.start(event, element, autoActivate);\n };\n\n if (element.type.includes(elementTypes.WORKOBJECT)) {\n if (\n allStandardIconKeys.includes(\n element.type.replace(elementTypes.WORKOBJECT, \"\")\n )\n ) {\n addColorChange(actions);\n }\n addConnectWithActivity(actions, startConnect);\n addTextAnnotation(actions);\n addActors(appendAction, actions);\n addWorkObjects(appendAction, actions);\n addChangeWorkObjectTypeMenu(actions);\n } else if (element.type.includes(elementTypes.ACTOR)) {\n if (\n allStandardIconKeys.includes(\n element.type.replace(elementTypes.ACTOR, \"\")\n )\n ) {\n addColorChange(actions);\n }\n addConnectWithActivity(actions, startConnect);\n addTextAnnotation(actions);\n addWorkObjects(appendAction, actions);\n addChangeActorTypeMenu(actions);\n } else if (element.type.includes(elementTypes.GROUP)) {\n delete actions.delete;\n addTextAnnotation(actions);\n assign(actions, {\n deleteGroup: {\n group: \"edit\",\n className: \"bpmn-icon-trash\",\n title: \"Remove Group without Child-Elements\",\n action: {\n click: function (event, element) {\n modeling.removeGroup(element);\n dirtyFlagService.makeDirty();\n },\n },\n },\n });\n addColorChange(actions);\n } else if (element.type.includes(elementTypes.ACTIVITY)) {\n moveDeleteActionToEndOfArray(actions);\n\n addColorChange(actions);\n\n assign(actions, {\n delete: {\n group: \"edit\",\n className: \"bpmn-icon-trash\",\n title: \"Remove\",\n action: {\n click: function (event, element) {\n modeling.removeElements({ element });\n dirtyFlagService.makeDirty();\n },\n },\n },\n });\n }\n\n return actions;\n };\n\n function moveDeleteActionToEndOfArray(actions) {\n delete actions.delete;\n\n assign(actions, {\n changeDirection: {\n group: \"edit\",\n className: \"icon-domain-story-changeDirection\",\n title: translate(\"Change direction\"),\n action: {\n // event needs to be addressed\n click: function (event, element) {\n changeDirection(element);\n },\n },\n },\n });\n }\n\n function addChangeActorTypeMenu(actions) {\n assign(actions, {\n replace: {\n group: \"edit\",\n className: \"bpmn-icon-screw-wrench\",\n title: translate(\"Change type\"),\n action: {\n click: function (event, element) {\n let position = assign(getReplaceMenuPosition(element), {\n cursor: { x: event.x, y: event.y },\n });\n popupMenu.open(element, \"ds-replace\", position);\n },\n },\n },\n });\n }\n\n function addColorChange(actions) {\n assign(actions, {\n colorChange: {\n group: \"edit\",\n className: \"icon-domain-story-color-picker\",\n title: translate(\"Change color\"),\n action: {\n click: function (event, element) {\n selectedElement = element;\n colorPicker.click();\n },\n },\n },\n });\n }\n\n function addTextAnnotation(actions) {\n assign(actions, {\n \"append.text-annotation\": appendAction(\n elementTypes.TEXTANNOTATION,\n \"bpmn-icon-text-annotation\",\n \"textannotation\",\n \"connect\"\n ),\n });\n }\n\n function addConnectWithActivity(actions, startConnect) {\n assign(actions, {\n connect: {\n group: \"connect\",\n className: \"bpmn-icon-connection\",\n title: translate(\"Connect with activity\"),\n action: {\n click: startConnect,\n dragstart: startConnect,\n },\n },\n });\n }\n\n function addWorkObjects(appendAction, actions) {\n let workObjectTypes = iconDictionaryService.getTypeDictionary(\n elementTypes.WORKOBJECT\n );\n workObjectTypes.keysArray().forEach((workObjectType) => {\n let name = getNameFromType(workObjectType);\n let icon = iconDictionaryService.getIconForBPMN(workObjectType);\n let action = [];\n action[\"append.workObject\" + name] = appendAction(\n workObjectType,\n icon,\n name,\n \"workObjects\"\n );\n assign(actions, action);\n });\n }\n\n function addActors(appendAction, actions) {\n let actorTypes = iconDictionaryService.getTypeDictionary(\n elementTypes.ACTOR\n );\n actorTypes.keysArray().forEach((actorType) => {\n let name = getNameFromType(actorType);\n let icon = iconDictionaryService.getIconForBPMN(actorType);\n let action = [];\n action[\"append.actor\" + name] = appendAction(\n actorType,\n icon,\n name,\n \"actors\"\n );\n assign(actions, action);\n });\n }\n\n function addChangeWorkObjectTypeMenu(actions) {\n assign(actions, {\n replace: {\n group: \"edit\",\n className: \"bpmn-icon-screw-wrench\",\n title: translate(\"Change type\"),\n action: {\n click: function (event, element) {\n let position = assign(getReplaceMenuPosition(element), {\n cursor: { x: event.x, y: event.y },\n });\n popupMenu.open(element, \"ds-replace\", position);\n },\n },\n },\n });\n }\n\n function changeDirection(element) {\n let context;\n let businessObject = element.businessObject;\n let newNumber;\n\n if (element.source.type.includes(elementTypes.ACTOR)) {\n newNumber = 0;\n } else {\n newNumber = generateAutomaticNumber(element, commandStack);\n }\n context = {\n businessObject: businessObject,\n newNumber: newNumber,\n element: element,\n };\n commandStack.execute(\"activity.directionChange\", context);\n }\n\n function getReplaceMenuPosition(element) {\n let Y_OFFSET = 5;\n\n let diagramContainer = canvas.getContainer(),\n pad = contextPad.getPad(element).html;\n\n let diagramRect = diagramContainer.getBoundingClientRect(),\n padRect = pad.getBoundingClientRect();\n\n let top = padRect.top - diagramRect.top;\n let left = padRect.left - diagramRect.left;\n\n return {\n x: left,\n y: top + padRect.height + Y_OFFSET,\n };\n }\n\n /**\n * create an append action\n *\n * @param {String} type\n * @param {String} className\n * @param {String} [title]\n * @param {String} group\n * @param {Object} [options]\n *\n * @return {Object} descriptor\n */\n function appendAction(type, className, title, group, options) {\n if (typeof title !== \"string\") {\n options = title;\n title = translate(\"{type}\", { type: type.replace(/^domainStory:/, \"\") });\n }\n\n function appendStart(event, element) {\n let shape = elementFactory.createShape(assign({ type: type }, options));\n let context = {\n elements: [shape],\n hints: {},\n source: element,\n };\n create.start(event, shape, context);\n }\n\n return {\n group: group,\n className: className,\n title: \"Append \" + title,\n action: {\n dragstart: startConnect,\n click: appendStart,\n },\n };\n }\n}\n\ninherits(DomainStoryContextPadProvider, ContextPadProvider);\n\nDomainStoryContextPadProvider.$inject = [\n \"injector\",\n \"connect\",\n \"translate\",\n \"elementFactory\",\n \"create\",\n \"canvas\",\n \"contextPad\",\n \"popupMenu\",\n \"replaceMenuProvider\",\n \"commandStack\",\n \"eventBus\",\n \"modeling\",\n];\n","\"use strict\";\n\nimport { assign } from \"min-dash\";\n\nimport inherits from \"inherits\";\n\nimport BpmnElementFactory from \"bpmn-js/lib/features/modeling/ElementFactory\";\n\nimport { DEFAULT_LABEL_SIZE } from \"bpmn-js/lib/util/LabelUtil\";\n\nimport DomainStoryIdFactory from \"./domainStoryIdFactory\";\n\n/**\n * A custom factory that knows how to create BPMN _and_ custom elements.\n */\nexport default function DomainStoryElementFactory(bpmnFactory, moddle) {\n BpmnElementFactory.call(this, bpmnFactory, moddle);\n\n let self = this;\n let domainStoryIdFactory = new DomainStoryIdFactory();\n\n /**\n * create a diagram-js element with the given type (any of shape, connection, label).\n *\n * @param {String} elementType\n * @param {Object} attrs\n *\n * @return {djs.model.Base}\n */\n this.create = function (elementType, attrs) {\n let type = attrs.type;\n\n if (elementType === \"label\") {\n return self.baseCreate(\n elementType,\n assign({ type: \"label\" }, DEFAULT_LABEL_SIZE, attrs)\n );\n }\n\n // add type to businessObject if custom\n if (/^domainStory:/.test(type)) {\n if (!attrs.businessObject) {\n attrs.businessObject = {\n type: type,\n name: attrs.name ? attrs.name : \"\",\n };\n }\n\n if (attrs.id) {\n domainStoryIdFactory.registerId(attrs.id);\n } else {\n attrs.id = domainStoryIdFactory.getId(elementType);\n }\n assign(attrs.businessObject, {\n id: attrs.id,\n });\n\n let id = attrs.id;\n attrs.businessObject.get = function (key) {\n if (key === \"id\") {\n return id;\n }\n };\n attrs.businessObject.set = function (key, value) {\n if (key === \"id\") {\n assign(attrs.businessObject, { id: value });\n }\n };\n\n if (!attrs.businessObject.$type) {\n assign(attrs.businessObject, { $type: \"Element\" });\n }\n assign(attrs.businessObject, { di: {} });\n if (!attrs.businessObject.$descriptor) {\n assign(attrs.businessObject, { $descriptor: {} });\n }\n\n // add width and height if shape\n if (\n (!/:activity$/.test(type) || !/:connection$/.test(type)) &&\n !((/:group$/.test(type) && attrs.height) || attrs.width)\n ) {\n assign(attrs, self._getCustomElementSize(type));\n }\n\n if (!(\"$instanceOf\" in attrs.businessObject)) {\n // ensure we can use ModelUtil#is for type checks\n Object.defineProperty(attrs.businessObject, \"$instanceOf\", {\n value: function (type) {\n return this.type === type;\n },\n });\n }\n\n return self.baseCreate(elementType, attrs);\n }\n\n return self.createBpmnElement(elementType, attrs);\n };\n}\n\ninherits(DomainStoryElementFactory, BpmnElementFactory);\n\nDomainStoryElementFactory.$inject = [\"bpmnFactory\", \"moddle\"];\n\n/**\n * returns the default size of custom shapes.\n *\n * the following example shows an interface on how\n * to setup the custom shape's dimensions.\n * *\n * @param {String} type\n *\n * @return {Dimensions} a {width, height} object representing the size of the element\n */\nDomainStoryElementFactory.prototype._getCustomElementSize = function (type) {\n let shapes = {\n __default: { width: 75, height: 75 },\n \"domainStory:textAnnotation\": { width: 100, height: 30 },\n \"domainStory:group\": { width: 525, height: 275 },\n };\n\n return shapes[type] || shapes.__default;\n};\n\nclass Dimensions {\n width;\n height;\n}\n","\"use strict\";\n\nlet idList = [];\n\nexport default function DomainStoryIdFactory() {}\n\nDomainStoryIdFactory.prototype.getId = function (type) {\n return generateId(type);\n};\n\nDomainStoryIdFactory.prototype.registerId = function (id) {\n idList.push(id);\n};\n\nfunction generateId(type) {\n let idNumber = fourDigitsId();\n\n let id = type + \"_\" + idSuffix(idNumber);\n\n while (containsId(id)) {\n idNumber++;\n\n id = type + \"_\" + idSuffix(idNumber);\n }\n\n idList.push(id);\n return id;\n}\n\nfunction idSuffix(idNumber) {\n let id;\n if (idNumber > 9999) {\n id = 0;\n } else if (idNumber < 10) {\n id = \"000\" + idNumber;\n } else if (idNumber < 100) {\n id = \"00\" + idNumber;\n } else if (idNumber < 1000) {\n id = \"0\" + idNumber;\n } else {\n id = \"\" + idNumber;\n }\n return id;\n}\n\nfunction fourDigitsId() {\n return Math.floor(Math.random() * 10000);\n}\n\nexport function containsId(id) {\n let same = false;\n idList.forEach((element) => {\n if (id === element) {\n same = true;\n }\n });\n return same;\n}\n","\"use strict\";\n\nimport inherits from \"inherits\";\nimport BaseRenderer from \"diagram-js/lib/draw/BaseRenderer\";\nimport Ids from \"ids\";\nimport { getAnnotationBoxHeight } from \"./labeling/dsLabelEditingPreview\";\nimport { componentsToPath, createLine } from \"diagram-js/lib/util/RenderUtil\";\nimport {\n append as svgAppend,\n attr as svgAttr,\n classes as svgClasses,\n create as svgCreate,\n} from \"tiny-svg\";\nimport { query as domQuery } from \"min-dom\";\nimport { assign, isObject } from \"min-dash\";\nimport { getNumberStash } from \"./labeling/dsLabelEditingProvider\";\nimport {\n addNumberToRegistry,\n generateAutomaticNumber,\n numberBoxDefinitions,\n} from \"./numbering/numbering\";\n\nimport { calculateTextWidth } from \"./labeling/dsLabelUtil\";\nimport { countLines, labelPosition } from \"./labeling/position\";\nimport { elementTypes } from \"src/app/Domain/Common/elementTypes\";\nimport { angleBetween } from \"../../Utils/mathExtensions\";\n\nlet RENDERER_IDS = new Ids();\nlet numbers = [];\nconst DEFAULT_COLOR = \"black\";\n\n/**\n * a renderer that knows how to render custom elements.\n */\nlet iconDictionary;\nlet elementRegistry;\nlet dirtyFlag;\n\nexport function initializeRenderer(\n iconDictionaryService,\n elementRegistryService,\n dirtyFlagService\n) {\n iconDictionary = iconDictionaryService;\n elementRegistry = elementRegistryService;\n dirtyFlag = dirtyFlagService;\n}\n\nexport default function DomainStoryRenderer(\n eventBus,\n styles,\n canvas,\n textRenderer,\n pathMap,\n commandStack\n) {\n BaseRenderer.call(this, eventBus, 2000);\n\n let rendererId = RENDERER_IDS.next();\n let markers = {};\n let computeStyle = styles.computeStyle;\n\n // generate the automatic Number for an activity originating from an actor\n function generateActivityNumber(parentGfx, element, box) {\n // whenever we want to edit an activity, it gets redrawn as a new object\n // and the custom information is lost,\n // so we stash it before the editing occurs and set the value here\n\n let numberStash = getNumberStash();\n let semantic = element.businessObject;\n\n if (numberStash.use) {\n semantic.number = numberStash.number;\n }\n\n numbers[semantic.number] = true;\n\n let newRenderedNumber = renderNumber(\n parentGfx,\n semantic.number,\n numberStyle(box),\n element.type\n );\n addNumberToRegistry(newRenderedNumber, semantic.number);\n }\n\n // style functions\n function numberStyle(box) {\n return {\n box: box,\n fitBox: true,\n style: assign({}, textRenderer.getExternalStyle(), {\n fill: \"black\",\n position: \"absolute\",\n }),\n };\n }\n\n function backgroundBoxStyle(box) {\n return {\n box: box,\n fitBox: true,\n style: assign({}, textRenderer.getExternalStyle(), {\n fill: \"black\",\n fontSize: 50,\n position: \"absolute\",\n fontFamily: \"Courier New\",\n }),\n };\n }\n\n function backgroundDotStyle(box) {\n return {\n box: box,\n fitBox: true,\n style: assign({}, textRenderer.getExternalStyle(), {\n fill: \"white\",\n fontSize: 150,\n position: \"absolute\",\n fontFamily: \"Courier\",\n }),\n };\n }\n\n // render functions\n // render label associated with actors and workobjects\n function renderEmbeddedLabel(parentGfx, element, align, padding) {\n let businessObject = element.businessObject;\n return renderLabel(\n parentGfx,\n businessObject.name,\n {\n box: element,\n align: align,\n padding: padding ? padding : 0,\n style: {\n fill: \"#000000\",\n },\n },\n element.type\n );\n }\n\n // render label associated with activities\n function renderExternalLabel(parentGfx, element) {\n let semantic = element.businessObject;\n let waypoints = element.waypoints;\n let lines = countLines(semantic.name);\n\n if (element.waypoints != null) {\n let position = labelPosition(waypoints, lines);\n let startPoint = element.waypoints[position.selected];\n let endPoint = element.waypoints[position.selected + 1];\n let angle = angleBetween(startPoint, endPoint);\n let alignment = \"left\";\n let boxWidth = 500;\n let xStart = position.x;\n\n // if the activity is horizontal, we want to center the label\n if (angle === 0 || angle === 180) {\n boxWidth = Math.abs(startPoint.x - endPoint.x);\n alignment = \"center\";\n xStart =\n (startPoint.x + endPoint.x) / 2 - calculateTextWidth(semantic.name);\n }\n\n let box = {\n textAlign: alignment,\n width: boxWidth,\n height: 30,\n x: xStart,\n y: position.y,\n };\n\n if (semantic.name && semantic.name.length) {\n return renderLabel(\n parentGfx,\n semantic.name,\n {\n box: box,\n fitBox: true,\n style: assign({}, textRenderer.getExternalStyle(), {\n fill: \"black\",\n wordWrap: \"break-word\",\n overflowWrap: \"break-word\",\n hyphens: \"auto\",\n }),\n },\n element.type\n );\n }\n }\n }\n\n // render the number associated with an activity\n function renderExternalNumber(parentGfx, element) {\n if (element && element.source) {\n let semantic = element.businessObject;\n\n let box = numberBoxDefinitions(element);\n\n if (\n semantic.number == null &&\n element.source.type &&\n element.source.type.includes(elementTypes.ACTOR)\n ) {\n generateAutomaticNumber(element, commandStack);\n }\n\n // render the background for the number\n if (semantic.number && element.source.type.includes(elementTypes.ACTOR)) {\n generateActivityNumber(parentGfx, element, box);\n } else {\n semantic.number = null;\n }\n }\n }\n\n // render a number on the canvas\n function renderNumber(parentGfx, number, options, type) {\n if (number < 10) {\n number = String(number);\n }\n number = String(number);\n let text = textRenderer.createText(number || \"\", options);\n let height = 0;\n\n svgClasses(text).add(\"djs-labelNumber\");\n\n setCoordinates(type, text, options, height, parentGfx);\n\n svgAppend(parentGfx, text);\n\n drawCircle(parentGfx, options, number.length);\n\n return text;\n }\n\n function drawCircle(parentGfx, options, textLength) {\n const circle = svgCreate(\"circle\");\n svgAttr(circle, {\n cx: options.box.x + 15 + textLength * 3,\n cy: options.box.y - 4,\n r: \"10\",\n style: \"fill:transparent;stroke:black;stroke-width:1\",\n });\n svgAppend(parentGfx, circle);\n }\n\n // the coordinates of the activity label must be set directly and will not be taken from the box\n function setCoordinates(type, text, options, height, parentGfx) {\n if (/:activity$/.test(type)) {\n text.innerHTML = manipulateInnerHTMLXLabel(\n text.children,\n options.box.x,\n 0\n );\n text.innerHTML = manipulateInnerHTMLYLabel(\n text.children,\n options.box.y,\n 0\n );\n } else if (/:actor/.test(type)) {\n height = parentGfx.firstChild.attributes.height.nodeValue;\n text.innerHTML = manipulateInnerHTMLYLabel(text.children, height, 0);\n } else if (/:workObject/.test(type)) {\n height = parentGfx.firstChild.attributes.height.nodeValue;\n text.innerHTML = manipulateInnerHTMLYLabel(text.children, height, 26);\n }\n }\n\n // render a label on the canvas\n function renderLabel(parentGfx, label, options, type) {\n let text = textRenderer.createText(label || \"\", options);\n let height = 0;\n\n svgClasses(text).add(\"djs-label\");\n setCoordinates(type, text, options, height, parentGfx);\n\n svgAppend(parentGfx, text);\n return text;\n }\n\n // determine the Y-coordinate of the label / number to be rendered\n function manipulateInnerHTMLYLabel(children, y, offset) {\n if (children) {\n let result = \"\";\n for (let i = 0; i < children.length; i++) {\n result += children[i].outerHTML.replace(\n /y=\"-?\\d*.\\d*\"/,\n 'y=\"' + (Number(y) + offset + 14 * i) + '\"'\n );\n }\n return result;\n }\n }\n\n // determine the X-coordinate of the label / number to be rendered\n function manipulateInnerHTMLXLabel(children, x, offset) {\n if (children) {\n let result = \"\";\n for (let i = 0; i < children.length; i++) {\n result += children[i].outerHTML.replace(\n /x=\"-?\\d*.\\d*\"/,\n 'x=\"' + (Number(x) + offset + 14) + '\"'\n );\n }\n return result;\n }\n }\n\n // draw functions\n this.drawGroup = function (parentGfx, element) {\n if (!element.businessObject.pickedColor) {\n element.businessObject.pickedColor = DEFAULT_COLOR;\n }\n let rect = drawRect(\n parentGfx,\n element.width,\n element.height,\n 0,\n assign(\n {\n fill: \"none\",\n stroke: element.businessObject.pickedColor,\n },\n element.attrs\n )\n );\n renderEmbeddedLabel(parentGfx, element, \"left-top\", 8);\n\n return rect;\n };\n\n function useColorForElement(element, iconSRC) {\n if (!element.businessObject.pickedColor) {\n element.businessObject.pickedColor = DEFAULT_COLOR;\n }\n const match = iconSRC.match(/fill=\".*?\"/);\n if (match && match.length > 1) {\n return iconSRC.replace(\n /fill=\".*?\"/,\n 'fill=\"' + element.businessObject.pickedColor + '\"'\n );\n } else {\n const index = iconSRC.indexOf(\"' +\n ''\n );\n } else {\n return useColorForElement(element, iconSRC);\n }\n }\n\n this.drawActor = function (parent, element) {\n let svgDynamicSizeAttributes = {\n width: element.width,\n height: element.height,\n },\n actor;\n let iconSRC = iconDictionary.getTypeIconSRC(\n elementTypes.ACTOR,\n element.type\n );\n iconSRC = getIconSrc(iconSRC, element);\n actor = svgCreate(iconSRC);\n\n svgAttr(actor, svgDynamicSizeAttributes);\n svgAppend(parent, actor);\n\n renderEmbeddedLabel(parent, element, \"center\", -5);\n return actor;\n };\n\n this.drawWorkObject = function (parent, element) {\n let svgDynamicSizeAttributes = {\n width: element.width * 0.65,\n height: element.height * 0.65,\n x: element.width / 2 - 25,\n y: element.height / 2 - 25,\n },\n workObject;\n let iconSRC = iconDictionary.getTypeIconSRC(\n elementTypes.WORKOBJECT,\n element.type\n );\n iconSRC = getIconSrc(iconSRC, element);\n workObject = svgCreate(iconSRC);\n\n svgAttr(workObject, svgDynamicSizeAttributes);\n svgAppend(parent, workObject);\n renderEmbeddedLabel(parent, element, \"center\", -5);\n\n return workObject;\n };\n\n function useColorForActivity(element) {\n if (!element.businessObject.pickedColor) {\n element.businessObject.pickedColor = \"black\";\n }\n let attrs = \"\";\n return computeStyle(attrs, {\n stroke: element.businessObject.pickedColor,\n fill: \"none\",\n strokeWidth: 1.5,\n strokeLinejoin: \"round\",\n markerEnd: marker(\n \"activity\",\n \"black\",\n element.businessObject.pickedColor\n ),\n });\n }\n\n this.drawActivity = function (p, element) {\n adjustForTextOverlap(element);\n\n if (element) {\n let attrs = useColorForActivity(element);\n\n let x = svgAppend(p, createLine(element.waypoints, attrs));\n renderExternalLabel(p, element);\n renderExternalNumber(p, element);\n\n // just adjusting the start- and endpoint of the connection-element moves only the drawn connection,\n // not the interactive line. This can be fixed by manually overriding the points of the interactive polyline\n // in the HTMl with the points of the drawn one.\n // this however does not adjust the surrounding box of the connection.\n fixConnectionInHTML(p.parentElement);\n\n return x;\n }\n };\n\n function checkIfPointOverlapsText(point, source) {\n if (point.y > source.y + 60) {\n if (point.x > source.x + 3 && point.x < source.x + 72) {\n let lineOffset = getLineOffset(source);\n if (source.y + 75 + lineOffset > point.y) {\n point.y += lineOffset;\n }\n }\n }\n }\n\n function adjustForTextOverlap(element) {\n let source = element.source;\n let target = element.target;\n\n let waypoints = element.waypoints;\n let startPoint = waypoints[0];\n let endPoint = waypoints[waypoints.length - 1];\n\n if (startPoint && endPoint && source && target) {\n checkIfPointOverlapsText(startPoint, source);\n checkIfPointOverlapsText(endPoint, source);\n }\n }\n\n function getLineOffset(element) {\n let id = element.id;\n let offset = 0;\n\n let objects = document.getElementsByClassName(\"djs-element djs-shape\");\n for (let i = 0; i < objects.length; i++) {\n let data_id = objects.item(i).getAttribute(\"data-element-id\");\n if (data_id === id) {\n let object = objects.item(i);\n let text = object.getElementsByTagName(\"text\")[0];\n let tspans = text.getElementsByTagName(\"tspan\");\n let tspan = tspans[tspans.length - 1];\n offset = tspan.getAttribute(\"y\");\n }\n }\n return offset - 70;\n }\n\n function fixConnectionInHTML(wantedConnection) {\n if (wantedConnection) {\n let polylines = wantedConnection.getElementsByTagName(\"polyline\");\n if (polylines.length > 1) {\n polylines[1].setAttribute(\n \"points\",\n polylines[0].getAttribute(\"points\")\n );\n }\n }\n }\n\n this.drawDSConnection = function (p, element) {\n let attrs = \"\";\n attrs = computeStyle(attrs, {\n stroke: \"#000000\",\n strokeWidth: 1.5,\n strokeLinejoin: \"round\",\n strokeDasharray: \"5, 5\",\n });\n\n return svgAppend(p, createLine(element.waypoints, attrs));\n };\n\n this.drawAnnotation = function (parentGfx, element) {\n let style = {\n fill: \"none\",\n stroke: \"none\",\n };\n\n let text = element.businessObject.text || \"\";\n if (element.businessObject.text) {\n let height = getAnnotationBoxHeight();\n\n if (height === 0 && element.businessObject.number) {\n height = element.businessObject.number;\n }\n assign(element, {\n height: height,\n });\n\n // for some reason the keyword height is not exported, so we use another, which we know will be exported,\n // to ensure persistent annotation heights between sessions\n assign(element.businessObject, {\n number: height,\n });\n }\n\n let textElement = drawRect(\n parentGfx,\n element.width,\n element.height,\n 0,\n 0,\n style\n );\n let textPathData = pathMap.getScaledPath(\"TEXT_ANNOTATION\", {\n xScaleFactor: 1,\n yScaleFactor: 1,\n containerWidth: element.width,\n containerHeight: element.height,\n position: {\n mx: 0.0,\n my: 0.0,\n },\n });\n\n drawPath(parentGfx, textPathData, {\n stroke: \"black\",\n });\n\n renderLabel(parentGfx, text, {\n box: element,\n align: \"left-top\",\n padding: 5,\n style: {\n fill: \"black\",\n },\n });\n\n return textElement;\n };\n\n // draw helper functions\n function drawPath(parentGfx, d, attrs) {\n attrs = computeStyle(attrs, [\"no-fill\"], {\n strokeWidth: 2,\n stroke: \"black\",\n });\n\n let path = svgCreate(\"path\");\n svgAttr(path, { d: d });\n svgAttr(path, attrs);\n\n svgAppend(parentGfx, path);\n\n return path;\n }\n\n function drawRect(parentGfx, width, height, r, offset, attrs) {\n if (isObject(offset)) {\n attrs = offset;\n offset = 0;\n }\n\n offset = offset || 0;\n attrs = computeStyle(attrs, {\n stroke: \"black\",\n strokeWidth: 2,\n fill: \"white\",\n });\n\n let rect = svgCreate(\"rect\");\n svgAttr(rect, {\n x: offset,\n y: offset,\n width: width - offset * 2,\n height: height - offset * 2,\n rx: r,\n ry: r,\n });\n\n svgAttr(rect, attrs);\n svgAppend(parentGfx, rect);\n\n return rect;\n }\n\n // marker functions\n function marker(type, fill, stroke) {\n let id = type + \"-\" + fill + \"-\" + stroke + \"-\" + rendererId;\n\n if (!markers[id]) {\n createMarker(type, fill, stroke);\n }\n return \"url(#\" + id + \")\";\n }\n\n function createMarker(type, fill, stroke) {\n let id = type + \"-\" + fill + \"-\" + stroke + \"-\" + rendererId;\n\n if (type === \"activity\") {\n let sequenceflowEnd = svgCreate(\"path\");\n svgAttr(sequenceflowEnd, { d: \"M 1 5 L 11 10 L 1 15 Z\" });\n\n addMarker(id, {\n element: sequenceflowEnd,\n ref: { x: 11, y: 10 },\n scale: 0.5,\n attrs: {\n fill: stroke,\n stroke: stroke,\n },\n });\n }\n }\n\n function addMarker(id, options) {\n let attrs = assign(\n {\n fill: \"black\",\n strokeWidth: 1,\n strokeLinecap: \"round\",\n strokeDasharray: \"none\",\n },\n options.attrs\n );\n\n let ref = options.ref || { x: 0, y: 0 };\n let scale = options.scale || 1;\n\n // resetting stroke dash array\n if (attrs.strokeDasharray === \"none\") {\n attrs.strokeDasharray = [10000, 1];\n }\n\n let marker = svgCreate(\"marker\");\n\n svgAttr(options.element, attrs);\n svgAppend(marker, options.element);\n svgAttr(marker, {\n id: id,\n viewBox: \"0 0 20 20\",\n refX: ref.x,\n refY: ref.y,\n markerWidth: 20 * scale,\n markerHeight: 20 * scale,\n orient: \"auto\",\n });\n\n let defs = domQuery(\"defs\", canvas._svg);\n if (!defs) {\n defs = svgCreate(\"defs\");\n svgAppend(canvas._svg, defs);\n }\n svgAppend(defs, marker);\n markers[id] = marker;\n }\n\n // path functions\n this.getWorkObjectPath = function (shape) {\n let rectangle = getRectPath(shape);\n return componentsToPath(rectangle);\n };\n\n this.getGroupPath = function (shape) {\n let rectangle = getRectPath(shape);\n return componentsToPath(rectangle);\n };\n\n this.getActivityPath = function (connection) {\n let waypoints = connection.waypoints.map(function (p) {\n return p.original || p;\n });\n\n let activityPath = [[\"M\", waypoints[0].x, waypoints[0].y]];\n\n waypoints.forEach(function (waypoint, index) {\n if (index !== 0) {\n activityPath.push([\"L\", waypoint.x, waypoint.y]);\n }\n });\n return componentsToPath(activityPath);\n };\n\n this.getActorPath = function (shape) {\n let rectangle = getRectPath(shape);\n return componentsToPath(rectangle);\n };\n}\n\ninherits(DomainStoryRenderer, BaseRenderer);\n\nDomainStoryRenderer.$inject = [\n \"eventBus\",\n \"styles\",\n \"canvas\",\n \"textRenderer\",\n \"pathMap\",\n \"commandStack\",\n];\n\nDomainStoryRenderer.prototype.canRender = function (element) {\n return /^domainStory:/.test(element.type);\n};\n\nDomainStoryRenderer.prototype.drawShape = function (p, element) {\n // polyfill for tests\n if (!String.prototype.startsWith) {\n Object.defineProperty(String.prototype, \"startsWith\", {\n value: function (search, pos) {\n pos = !pos || pos < 0 ? 0 : +pos;\n return this.substring(pos, pos + search.length) === search;\n },\n });\n }\n\n let type = element.type;\n element.businessObject.type = type;\n\n elementRegistry.correctInitialize();\n dirtyFlag.makeDirty();\n\n if (type.includes(elementTypes.ACTOR)) {\n return this.drawActor(p, element);\n } else if (type.includes(elementTypes.WORKOBJECT)) {\n return this.drawWorkObject(p, element);\n } else if (type.includes(elementTypes.TEXTANNOTATION)) {\n return this.drawAnnotation(p, element);\n } else if (type.includes(elementTypes.GROUP)) {\n return this.drawGroup(p, element);\n }\n};\n\nDomainStoryRenderer.prototype.getShapePath = function (shape) {\n let type = shape.type;\n\n if (type.includes(elementTypes.ACTOR)) {\n return this.getActorPath(shape);\n } else if (type.includes(elementTypes.WORKOBJECT)) {\n return this.getWorkObjectPath(shape);\n } else if (type.includes(elementTypes.GROUP)) {\n return this.getGroupPath(shape);\n }\n};\n\nDomainStoryRenderer.prototype.drawConnection = function (p, element) {\n let type = element.type;\n\n dirtyFlag.makeDirty();\n\n // fixes activities that were copy-pasted\n if (!element.businessObject.type) {\n element.businessObject.type = type;\n }\n if (type === elementTypes.ACTIVITY) {\n return this.drawActivity(p, element);\n } else if (type === elementTypes.CONNECTION) {\n return this.drawDSConnection(p, element);\n }\n};\n\n// creates a SVG path that describes a rectangle which encloses the given shape.\nfunction getRectPath(shape) {\n let offset = 5;\n let x = shape.x,\n y = shape.y,\n width = shape.width / 2 + offset,\n height = shape.height / 2 + offset;\n\n return [\n [\"M\", x, y],\n [\"l\", width, 0],\n [\"l\", width, height],\n [\"l\", -width, height],\n [\"l\", -width, 0],\n [\"z\"],\n ];\n}\n","\"use strict\";\n\nimport { assign, every, reduce } from \"min-dash\";\n\nimport inherits from \"inherits\";\n\nimport RuleProvider from \"diagram-js/lib/features/rules/RuleProvider\";\nimport { elementTypes } from \"src/app/Domain/Common/elementTypes\";\nimport { is } from \"./util\";\n\nconst HIGH_PRIORITY = 1500;\nconst MIN_SIZE = 125;\n\nfunction isDomainStory(element) {\n return element && /^domainStory:/.test(element.type);\n}\n\nfunction isDomainStoryGroup(element) {\n return element && /^domainStory:group/.test(element.type);\n}\n\nfunction isActor(element) {\n return element && /^domainStory:actor\\w*/.test(element.type);\n}\n\nfunction isWorkObject(element) {\n return element && /^domainStory:workObject/.test(element.type);\n}\n\nfunction isActivity(element) {\n return element && /^domainStory:activity/.test(element.type);\n}\n\nfunction isConnection(element) {\n return element && /^domainStory:connection/.test(element.type);\n}\n\nfunction isAnnotation(element) {\n return element && /^domainStory:textAnnotation/.test(element.type);\n}\n\n/**\n * can source and target be connected?\n */\nfunction canConnect(source, target) {\n // only judge about two custom elements\n if (\n isDomainStoryGroup(target) ||\n !isDomainStory(source) ||\n !isDomainStory(target)\n ) {\n return;\n }\n\n // do not allow a connection from one element to itself\n if (source === target) {\n return;\n }\n\n // do not allow a connection between two actors\n if (isActor(source) && isActor(target)) {\n return;\n }\n\n // do not allow a connection, where the source or target is an activity\n if (isActivity(source) || isActivity(target)) {\n return;\n }\n\n // do not allow a connection, where the source or target is an annotation connection\n if (isConnection(source) || isConnection(target)) {\n return;\n }\n\n // do not allow a connection to a connection(the special type of connection between an element and a comment box)\n // when the target is an annotation, the connection type is an annotation connection instead of an activity\n if (isAnnotation(target)) {\n return { type: elementTypes.CONNECTION };\n }\n\n return { type: elementTypes.ACTIVITY };\n}\n\nfunction canResize(shape, newBounds) {\n if (is(shape, elementTypes.GROUP)) {\n if (newBounds) {\n let lowerLeft = { x: shape.x, y: shape.y + shape.height };\n let lowerRight = { x: shape.x + shape.width, y: shape.y + shape.height };\n let upperRight = { x: shape.x + shape.width, y: shape.y };\n\n if (newBounds.x !== shape.x && newBounds.y !== shape.y) {\n // upper left\n if (newBounds.x > lowerRight.x - MIN_SIZE) {\n assign(newBounds, { x: lowerRight.x - MIN_SIZE });\n }\n if (newBounds.y > lowerRight.y - MIN_SIZE) {\n assign(newBounds, { y: lowerRight.y - MIN_SIZE });\n }\n }\n\n if (newBounds.x !== shape.x && newBounds.y === shape.y) {\n // lower left\n if (newBounds.x > upperRight.x - MIN_SIZE) {\n assign(newBounds, { x: upperRight.x - MIN_SIZE });\n }\n }\n\n if (newBounds.x === shape.x && newBounds.y !== shape.y) {\n // upper right\n if (newBounds.y > lowerLeft.y - MIN_SIZE) {\n assign(newBounds, { y: lowerLeft.y - MIN_SIZE });\n }\n }\n\n if (newBounds.height < MIN_SIZE) {\n assign(newBounds, {\n height: MIN_SIZE,\n });\n }\n if (newBounds.width < MIN_SIZE) {\n assign(newBounds, {\n width: MIN_SIZE,\n });\n }\n }\n return true;\n }\n\n return false;\n}\n\nfunction canAttach(elements, target, source) {\n if (!Array.isArray(elements)) {\n elements = [elements];\n }\n\n // disallow appending as boundary event\n if (source) {\n return false;\n }\n\n // only (re-)attach one element at a time\n if (elements.length !== 1) {\n return false;\n }\n\n // allow default move operation\n if (!target) {\n return true;\n }\n\n // only allow drop on DomainStory Elements\n if (!isDomainStory(target)) {\n return false;\n }\n\n return \"attach\";\n}\n\nfunction canConnectToAnnotation(source, target, connection) {\n // do not allow an activity connect to an annotation\n if (isActivity(connection) && isAnnotation(target)) {\n return false;\n }\n\n // do not allow an annotation connection between two annotations\n if (\n isConnection(connection) &&\n isAnnotation(source) &&\n isAnnotation(target)\n ) {\n return false;\n }\n\n // do not allow an annotation connection between an actor or workObject and anything except an annotation\n return !(\n isConnection(connection) &&\n !isAnnotation(target) &&\n (isActor(source) || isWorkObject(source))\n );\n}\n\n/**\n * specific rules for custom elements\n */\nexport default function DomainStoryRules(eventBus) {\n RuleProvider.call(this, eventBus);\n}\n\ninherits(DomainStoryRules, RuleProvider);\n\nDomainStoryRules.$inject = [\"eventBus\"];\n\nDomainStoryRules.prototype.init = function () {\n /**\n * can shape be created on target container?\n */\n function canCreate(shape, target) {\n // only judge about custom elements\n if (!isDomainStory(shape)) {\n return;\n }\n\n // allow creation just on groups\n return !isDomainStory(target) || isDomainStoryGroup(target);\n }\n\n this.addRule(\"elements.create\", function (context) {\n const elements = context.elements,\n position = context.position,\n target = context.target;\n\n return every(elements, function (element) {\n if (isConnection(element)) {\n return canConnect(element.source, element.target, element);\n }\n\n if (element.host) {\n return canAttach(element, element.host, null, position);\n }\n\n return canCreate(element, target, null, position);\n });\n });\n\n this.addRule(\"elements.move\", HIGH_PRIORITY, function (context) {\n let target = context.target,\n shapes = context.shapes;\n\n let type;\n\n // do not allow mixed movements of custom / BPMN shapes\n // if any shape cannot be moved, the group cannot be moved, too\n\n // reject, if we have at least one\n // custom element that cannot be moved\n return reduce(\n shapes,\n function (result, s) {\n if (type === undefined) {\n type = isDomainStory(s);\n }\n\n if (type !== isDomainStory(s) || result === false) {\n return false;\n }\n\n return canCreate(s, target);\n },\n undefined\n );\n });\n\n this.addRule(\"shape.create\", HIGH_PRIORITY, function (context) {\n let target = context.target,\n shape = context.shape;\n\n return canCreate(shape, target);\n });\n\n this.addRule(\"connection.create\", HIGH_PRIORITY, function (context) {\n let source = context.source,\n target = context.target;\n\n return canConnect(source, target);\n });\n\n this.addRule(\"connection.reconnect\", HIGH_PRIORITY, function (context) {\n let connection = context.connection,\n source = context.hover || context.source,\n target = context.target;\n\n // --------------------------------------------------------------\n let result = canConnectToAnnotation(source, target, connection);\n\n if (!result) {\n return;\n }\n\n // --------------------------------------------------------------\n\n return canConnect(source, target, connection);\n });\n\n this.addRule(\"shape.resize\", function (context) {\n let shape = context.shape,\n newBounds = context.newBounds;\n\n return canResize(shape, newBounds);\n });\n};\n\nDomainStoryRules.prototype.canConnect = canConnect;\nDomainStoryRules.prototype.canAttach = canAttach;\nDomainStoryRules.prototype.isDomainStory = isDomainStory;\nDomainStoryRules.prototype.canResize = canResize;\n","\"use strict\";\n\nimport inherits from \"inherits\";\n\nimport { pick, assign } from \"min-dash\";\n\nimport CommandInterceptor from \"diagram-js/lib/command/CommandInterceptor\";\n\nimport {\n add as collectionAdd,\n remove as collectionRemove,\n} from \"diagram-js/lib/util/Collections\";\n\nimport { reworkGroupElements } from \"./util\";\nimport { elementTypes } from \"../../Domain/Common/elementTypes\";\n\n/**\n * a handler responsible for updating the custom element's businessObject\n * once changes on the diagram happen.\n */\nexport default function DomainStoryUpdater(eventBus, bpmnjs) {\n CommandInterceptor.call(this, eventBus);\n\n function updateCustomElement(e) {\n let context = e.context,\n shape = context.shape,\n businessObject = shape.businessObject;\n\n if (!shape || !shape.type.includes(elementTypes.DOMAINSTORY)) {\n return;\n }\n\n let parent = shape.parent;\n let customElements = bpmnjs._customElements;\n\n // make sure element is added / removed from bpmnjs.customElements\n if (!parent) {\n collectionRemove(customElements, businessObject);\n } else {\n collectionAdd(customElements, businessObject);\n }\n\n // save custom element position\n assign(businessObject, pick(shape, [\"x\", \"y\"]));\n\n // save custom element size if resizable\n if (shape.type === elementTypes.GROUP) {\n assign(businessObject, pick(shape, [\"height\", \"width\"]));\n\n // rework the child-parent relations if a group was moved, such that all Objects that are visually in the group are also associated with it\n // since we do not have access to the standard-canvas object here, we cannot use the function correctGroupChildren() from DSLabelUtil\n if (parent != null) {\n reworkGroupElements(parent, shape);\n }\n }\n if (\n shape &&\n shape.parent &&\n \"type\" in shape.parent &&\n shape.parent.type === elementTypes.GROUP\n ) {\n assign(businessObject, {\n parent: shape.parent.id,\n });\n }\n }\n\n function updateCustomConnection(e) {\n let context = e.context,\n connection = context.connection,\n source = connection.source,\n target = connection.target,\n businessObject = connection.businessObject;\n\n if (e.newTarget) {\n target = e.newTarget;\n }\n if (e.newSource) {\n source = e.newSource;\n }\n\n let parent = connection.parent;\n let customElements = bpmnjs._customElements;\n\n // make sure element is added / removed from bpmnjs.customElements\n if (!parent) {\n collectionRemove(customElements, businessObject);\n } else {\n collectionAdd(customElements, businessObject);\n }\n\n // update waypoints\n assign(businessObject, {\n waypoints: copyWaypoints(connection),\n });\n\n if (source) {\n if (!businessObject.source) {\n assign(businessObject, { source: source.id });\n } else {\n businessObject.source = source.id;\n }\n }\n if (target) {\n if (!businessObject.target) {\n assign(businessObject, { target: target.id });\n } else {\n businessObject.target = target.id;\n }\n }\n }\n\n function copyWaypoints(connection) {\n return connection.waypoints.map(function (p) {\n if (p.original) {\n return {\n original: {\n x: p.original.x,\n y: p.original.y,\n },\n x: p.x,\n y: p.y,\n };\n } else {\n return {\n x: p.x,\n y: p.y,\n };\n }\n });\n }\n\n this.executed(\n [\n \"shape.create\",\n \"shape.move\",\n \"shape.delete\",\n \"shape.resize\",\n \"shape.removeGroupWithChildren\",\n ],\n ifDomainStoryElement(updateCustomElement)\n );\n\n this.reverted(\n [\n \"shape.create\",\n \"shape.move\",\n \"shape.delete\",\n \"shape.resize\",\n \"shape.removeGroupWithChildren\",\n ],\n ifDomainStoryElement(updateCustomElement)\n );\n\n this.executed(\n [\n \"connection.create\",\n \"connection.reconnect\",\n \"connection.updateWaypoints\",\n \"connection.delete\",\n \"connection.layout\",\n \"connection.move\",\n ],\n ifDomainStoryElement(updateCustomConnection)\n );\n\n this.reverted(\n [\n \"connection.create\",\n \"connection.reconnect\",\n \"connection.updateWaypoints\",\n \"connection.delete\",\n \"connection.layout\",\n \"connection.move\",\n ],\n ifDomainStoryElement(updateCustomConnection)\n );\n}\n\n// check if element in the context of an event is a domainStory element\nfunction ifDomainStoryElement(fn) {\n return (event) => {\n const context = event.context;\n const element = context.shape || context.connection;\n\n if (isDomainStory(element)) {\n fn(event);\n }\n };\n}\n\nfunction isDomainStory(element) {\n return element && /domainStory:/.test(element.type);\n}\n\ninherits(DomainStoryUpdater, CommandInterceptor);\n\nDomainStoryUpdater.$inject = [\"eventBus\", \"bpmnjs\"];\n","\"use strict\";\n\nimport DomainStoryElementFactory from \"./domainStoryElementFactory\";\nimport DomainStoryRenderer from \"./domainStoryRenderer\";\nimport DomainStoryPalette from \"./palette/domainStoryPalette\";\nimport DomainStoryRules from \"./domainStoryRules\";\nimport DomainStoryUpdater from \"./domainStoryUpdater\";\nimport ElementFactory from \"bpmn-js/lib/features/modeling/ElementFactory\";\nimport CreateModule from \"diagram-js/lib/features/create\";\nimport PathMap from \"bpmn-js/lib/draw/PathMap\";\nimport PopupMenuModule from \"bpmn-js/lib/features/popup-menu\";\nimport ContextPadModule from \"diagram-js/lib/features/context-pad\";\nimport CommandStack from \"diagram-js/lib/command/CommandStack\";\nimport UpdateLabelHandler from \"./updateHandler/updateLabelHandler\";\nimport headlineAndDescriptionUpdateHandler from \"./updateHandler/headlineAndDescriptionUpdateHandler\";\nimport DomainStoryContextPadProvider from \"./context-pad/domainStoryContextPadProvider\";\nimport ReplaceMenuProvider from \"./change-icon/replaceMenuProvider\";\nimport DSModeling from \"./modeling/dSModeling\";\n\nexport default {\n __depends__: [CreateModule, ContextPadModule, PopupMenuModule],\n __init__: [\n \"domainStoryRenderer\",\n \"paletteProvider\",\n \"domainStoryRules\",\n \"domainStoryUpdater\",\n \"contextPadProvider\",\n \"replaceMenuProvider\",\n ],\n elementFactory: [\"type\", DomainStoryElementFactory],\n domainStoryRenderer: [\"type\", DomainStoryRenderer],\n paletteProvider: [\"type\", DomainStoryPalette],\n domainStoryRules: [\"type\", DomainStoryRules],\n domainStoryUpdater: [\"type\", DomainStoryUpdater],\n contextPadProvider: [\"type\", DomainStoryContextPadProvider],\n elementFactoryBpmn: [\"type\", ElementFactory],\n pathMap: [\"type\", PathMap],\n replaceMenuProvider: [\"type\", ReplaceMenuProvider],\n commandStack: [\"type\", CommandStack],\n updateLabelHandler: [\"type\", UpdateLabelHandler],\n headlineAndDescriptionUpdateHandler: [\n \"type\",\n headlineAndDescriptionUpdateHandler,\n ],\n modeling: [\"type\", DSModeling],\n};\n","\"use strict\";\n\nimport {\n append as svgAppend,\n attr as svgAttr,\n create as svgCreate,\n remove as svgRemove,\n} from \"tiny-svg\";\n\nimport { translate } from \"diagram-js/lib/util/SvgTransformUtil\";\nimport { elementTypes } from \"../../../Domain/Common/elementTypes\";\nimport { is } from \"../util\";\n\nconst MARKER_HIDDEN = \"djs-element-hidden\",\n MARKER_LABEL_HIDDEN = \"djs-label-hidden\";\n\nlet annotationBoxHeight = 0;\n\nexport function getAnnotationBoxHeight() {\n return annotationBoxHeight;\n}\n\nexport default function DSLabelEditingPreview(eventBus, canvas, pathMap) {\n let self = this;\n\n let defaultLayer = canvas.getDefaultLayer();\n let element, absoluteElementBBox, gfx;\n\n eventBus.on(\"directEditing.activate\", function (context) {\n let activeProvider = context.active;\n\n element = activeProvider.element.label || activeProvider.element;\n\n // text annotation\n if (is(element, elementTypes.TEXTANNOTATION)) {\n absoluteElementBBox = canvas.getAbsoluteBBox(element);\n\n gfx = svgCreate(\"g\");\n\n annotationBoxHeight = element.height;\n\n let textPathData = pathMap.getScaledPath(\"TEXT_ANNOTATION\", {\n xScaleFactor: 1,\n yScaleFactor: 1,\n containerWidth: element.width,\n containerHeight: element.height,\n position: {\n mx: 0.0,\n my: 0.0,\n },\n });\n\n let path = (self.path = svgCreate(\"path\"));\n\n svgAttr(path, {\n d: textPathData,\n strokeWidth: 2,\n stroke: getStrokeColor(element),\n });\n\n svgAppend(gfx, path);\n\n svgAppend(defaultLayer, gfx);\n\n translate(gfx, element.x, element.y);\n }\n\n if (is(element, elementTypes.TEXTANNOTATION) || element.labelTarget) {\n canvas.addMarker(element, MARKER_HIDDEN);\n } else if (\n element.type.includes(elementTypes.ACTOR) ||\n element.type.includes(elementTypes.WORKOBJECT) ||\n element.type.includes(elementTypes.ACTIVITY) ||\n element.type.includes(elementTypes.GROUP)\n ) {\n canvas.addMarker(element, MARKER_LABEL_HIDDEN);\n }\n });\n\n eventBus.on(\"directEditing.resize\", function (context) {\n // text annotation\n if (is(element, elementTypes.TEXTANNOTATION)) {\n let height = context.height,\n dy = context.dy;\n\n let newElementHeight = Math.max(\n (element.height / absoluteElementBBox.height) * (height + dy),\n 0\n );\n annotationBoxHeight = newElementHeight;\n\n let textPathData = pathMap.getScaledPath(\"TEXT_ANNOTATION\", {\n xScaleFactor: 1,\n yScaleFactor: 1,\n containerWidth: element.width,\n containerHeight: newElementHeight,\n position: {\n mx: 0.0,\n my: 0.0,\n },\n });\n\n svgAttr(self.path, {\n d: textPathData,\n });\n }\n });\n\n eventBus.on(\n [\"directEditing.complete\", \"directEditing.cancel\"],\n function (context) {\n let activeProvider = context.active;\n\n if (activeProvider) {\n canvas.removeMarker(\n activeProvider.element.label || activeProvider.element,\n MARKER_HIDDEN\n );\n canvas.removeMarker(element, MARKER_LABEL_HIDDEN);\n }\n\n element = undefined;\n absoluteElementBBox = undefined;\n\n if (gfx) {\n svgRemove(gfx);\n\n gfx = undefined;\n }\n }\n );\n}\n\nDSLabelEditingPreview.$inject = [\"eventBus\", \"canvas\", \"pathMap\"];\n\n// helpers ///////////////////\n\nfunction getStrokeColor() {\n return \"black\";\n}\n","\"use strict\";\n\nimport { assign } from \"min-dash\";\n\nimport { autocomplete, getLabel } from \"./dsLabelUtil\";\n\nimport { isAny } from \"bpmn-js/lib/features/modeling/util/ModelingUtil\";\n\nimport {\n getExternalLabelMid,\n hasExternalLabel,\n isLabel,\n isLabelExternal,\n} from \"bpmn-js/lib/util/LabelUtil\";\n\nimport { elementTypes } from \"../../../Domain/Common/elementTypes\";\nimport { is } from \"../util\";\n\nlet dictionaryService;\n\nlet numberStash = 0;\nlet stashUse = false;\n\nexport function initializeLabelEditingProvider(labelingDictionary) {\n dictionaryService = labelingDictionary;\n}\n\nexport function getNumberStash() {\n let number = { use: stashUse, number: numberStash };\n stashUse = false;\n return number;\n}\n\nexport function toggleStashUse(use) {\n stashUse = use;\n}\n\nexport function focusElement(element) {\n // Opening a Angular Dialog seems to mess with the focus logic somehow.\n // My guess is that is makes the mousedown event passive, which prevents \"preventDefault\" from intercepting.\n // I am not sure how to fix it, but this seems to be a workaround.\n setTimeout(() => element.focus(), 0);\n}\n\nexport default function DSLabelEditingProvider(\n eventBus,\n canvas,\n directEditing,\n modeling,\n resizeHandles,\n textRenderer,\n updateLabelHandler\n) {\n this._canvas = canvas;\n this._modeling = modeling;\n this._textRenderer = textRenderer;\n this._updateLabelHandler = updateLabelHandler;\n\n directEditing.registerProvider(this);\n\n // listen to dblclick on non-root elements\n eventBus.on(\"element.dblclick\", function (event) {\n activateDirectEdit(event.element, true);\n if (is(event.element, elementTypes.ACTIVITY)) {\n // if we edit an activity, we do not want the standard editing box\n numberStash = event.element.businessObject.number;\n stashUse = true;\n directEditing.complete();\n }\n });\n\n // complete on followup canvas operation\n eventBus.on(\n [\n \"element.mousedown\",\n \"drag.init\",\n \"canvas.viewbox.changing\",\n \"autoPlace\",\n \"popupMenu.open\",\n ],\n function () {\n if (directEditing.isActive()) {\n directEditing.complete();\n }\n }\n );\n\n // cancel on command stack changes\n eventBus.on([\"commandStack.changed\"], function () {\n if (directEditing.isActive()) {\n directEditing.cancel();\n }\n });\n\n eventBus.on(\"directEditing.activate\", function (event) {\n resizeHandles.removeResizers();\n let element = event.active.element;\n createAutocomplete(element);\n });\n\n eventBus.on(\"create.end\", 500, function (event) {\n let element = event.shape,\n canExecute = event.context.canExecute,\n isTouch = event.isTouch;\n\n if (isTouch) {\n return;\n }\n\n if (!canExecute) {\n return;\n }\n if (!is(element, elementTypes.ACTIVITY)) {\n activateDirectEdit(element);\n }\n let editingBox = document.getElementsByClassName(\n \"djs-direct-editing-content\"\n );\n focusElement(editingBox.item(0));\n });\n\n eventBus.on(\"autoPlace.end\", 500, function (event) {\n activateDirectEdit(event.shape);\n });\n\n function activateDirectEdit(element, force) {\n if (\n force ||\n isAny(element, [elementTypes.TEXTANNOTATION]) ||\n element.businessObject.type.includes(elementTypes.DOMAINSTORY)\n ) {\n directEditing.activate(element);\n }\n }\n\n function createAutocomplete(element) {\n let editingBox = document.getElementsByClassName(\n \"djs-direct-editing-content\"\n );\n focusElement(editingBox.item(0));\n autocomplete(\n editingBox[0],\n dictionaryService.getUniqueWorkObjectNames(),\n element,\n eventBus\n );\n }\n}\n\nDSLabelEditingProvider.$inject = [\n \"eventBus\",\n \"canvas\",\n \"directEditing\",\n \"modeling\",\n \"resizeHandles\",\n \"textRenderer\",\n \"updateLabelHandler\",\n];\n\n/**\n * activate direct editing for activities and text annotations.\n *\n * @param {djs.model.Base} element\n *\n * @return {Object} an object with properties bounds (position and size), text and options\n */\nDSLabelEditingProvider.prototype.activate = function (element) {\n // text\n if (element.id === \"__implicitrootbase\") {\n return;\n }\n let text = getLabel(element);\n\n if (text === undefined) {\n return;\n }\n\n let context = {\n text: text,\n };\n\n // bounds\n let bounds = this.getEditingBBox(element);\n\n assign(context, bounds);\n\n let options = {};\n\n // external labels\n if (isLabelExternal(element)) {\n assign(options, {\n autoResize: true,\n });\n }\n\n // text annotations\n if (is(element, elementTypes.TEXTANNOTATION)) {\n assign(options, {\n resizable: true,\n autoResize: true,\n });\n }\n\n assign(context, {\n options: options,\n });\n\n return context;\n};\n\n/**\n * get the editing bounding box based on the element's size and position\n *\n * @param {djs.model.Base} element\n *\n * @return {Object} an object containing information about position\n * and size (fixed or minimum and/or maximum)\n */\nDSLabelEditingProvider.prototype.getEditingBBox = function (element) {\n let canvas = this._canvas;\n\n let target = element.label || element;\n\n let bbox = canvas.getAbsoluteBBox(target);\n\n let mid = {\n x: bbox.x + bbox.width / 2,\n y: bbox.y + bbox.height / 2,\n };\n\n // default position\n let bounds = { x: bbox.x, y: bbox.y };\n\n /** The cavnas is an Object from BPMN, the IDE might say, that zoom is deprecated,\n * because it thinks canvas is the standard HTMLElement. -> Needs to stay toom **/\n let zoom = canvas.zoom();\n let defaultStyle = this._textRenderer.getDefaultStyle(),\n externalStyle = this._textRenderer.getExternalStyle();\n\n // take zoom into account\n let externalFontSize = externalStyle.fontSize * zoom,\n externalLineHeight = externalStyle.lineHeight,\n defaultFontSize = defaultStyle.fontSize * zoom,\n defaultLineHeight = defaultStyle.lineHeight;\n\n let style = {\n fontFamily: this._textRenderer.getDefaultStyle().fontFamily,\n fontWeight: this._textRenderer.getDefaultStyle().fontWeight,\n };\n\n // adjust for groups\n if (is(element, elementTypes.GROUP)) {\n assign(bounds, {\n minWidth: bbox.width / 2.5 > 125 ? bbox.width / 2.5 : 125,\n maxWidth: bbox.width,\n minHeight: 30 * zoom,\n x: bbox.x,\n y: bbox.y,\n });\n\n assign(style, {\n fontSize: defaultFontSize + \"px\",\n lineHeight: defaultLineHeight,\n paddingTop: 7 * zoom + \"px\",\n paddingBottom: 7 * zoom + \"px\",\n paddingLeft: 5 * zoom + \"px\",\n paddingRight: 5 * zoom + \"px\",\n textAlign: \"left\",\n });\n }\n\n // internal labels for tasks and collapsed call activities,\n // sub processes and participants\n if (\n /^domainStory:actor\\w*/.test(element.type) ||\n /^domainStory:workObject\\w*/.test(element.type)\n ) {\n assign(bounds, {\n width: bbox.width,\n minHeight: 30,\n y: bbox.y + bbox.height - 20,\n x: bbox.x,\n });\n\n assign(style, {\n fontSize: defaultFontSize + \"px\",\n lineHeight: defaultLineHeight,\n paddingTop: 7 * zoom + \"px\",\n paddingBottom: 7 * zoom + \"px\",\n paddingLeft: 5 * zoom + \"px\",\n paddingRight: 5 * zoom + \"px\",\n });\n }\n\n let width = 90 * zoom,\n paddingTop = 7 * zoom,\n paddingBottom = 4 * zoom;\n\n // external labels for events, data elements, gateways and connections\n if (target.labelTarget) {\n assign(bounds, {\n width: width,\n height: bbox.height + paddingTop + paddingBottom,\n x: mid.x - width / 2,\n y: bbox.y - paddingTop,\n });\n\n assign(style, {\n fontSize: externalFontSize + \"px\",\n lineHeight: externalLineHeight,\n paddingTop: paddingTop + \"px\",\n paddingBottom: paddingBottom + \"px\",\n });\n }\n\n // external label not yet created\n if (\n isLabelExternal(target) &&\n !hasExternalLabel(target) &&\n !isLabel(target)\n ) {\n let externalLabelMid = getExternalLabelMid(element);\n\n let absoluteBBox = canvas.getAbsoluteBBox({\n x: externalLabelMid.x,\n y: externalLabelMid.y,\n width: 0,\n height: 0,\n });\n\n let height = externalFontSize + paddingTop + paddingBottom;\n\n assign(bounds, {\n width: width,\n height: height,\n x: absoluteBBox.x - width / 2,\n y: absoluteBBox.y - height / 2,\n });\n\n assign(style, {\n fontSize: externalFontSize + \"px\",\n lineHeight: externalLineHeight,\n paddingTop: paddingTop + \"px\",\n paddingBottom: paddingBottom + \"px\",\n });\n }\n\n // text annotations\n if (is(element, elementTypes.TEXTANNOTATION)) {\n assign(bounds, {\n width: bbox.width,\n height: bbox.height,\n minWidth: 30 * zoom,\n minHeight: 10 * zoom,\n });\n\n assign(style, {\n textAlign: \"left\",\n paddingTop: 7 * zoom + \"px\",\n paddingBottom: 7 * zoom + \"px\",\n paddingLeft: 5 * zoom + \"px\",\n paddingRight: 5 * zoom + \"px\",\n fontSize: defaultFontSize + \"px\",\n lineHeight: defaultLineHeight,\n });\n }\n\n return { bounds: bounds, style: style };\n};\n\nDSLabelEditingProvider.prototype.update = function (\n element,\n newLabel,\n activeContextText,\n bounds\n) {\n let newBounds, bbox;\n\n if (is(element, elementTypes.TEXTANNOTATION)) {\n bbox = this._canvas.getAbsoluteBBox(element);\n\n newBounds = {\n x: element.x,\n y: element.y,\n width: (element.width / bbox.width) * bounds.width,\n height: (element.height / bbox.height) * bounds.height,\n };\n }\n\n this._modeling.updateLabel(element, newLabel, newBounds);\n};\n","\"use strict\";\n\nimport { elementTypes } from \"src/app/Domain/Common/elementTypes\";\nimport { is } from \"../util\";\n\nfunction getLabelAttr(semantic) {\n if (\n semantic.type.includes(elementTypes.ACTOR) ||\n semantic.type.includes(elementTypes.WORKOBJECT) ||\n semantic.type.includes(elementTypes.ACTIVITY) ||\n semantic.type.includes(elementTypes.GROUP)\n ) {\n return \"name\";\n }\n\n if (is(semantic, elementTypes.TEXTANNOTATION)) {\n return \"text\";\n }\n}\n\nfunction getNumberAttr(semantic) {\n if (is(semantic, elementTypes.ACTIVITY)) {\n return \"number\";\n }\n}\n\nexport function getLabel(element) {\n let semantic;\n if (element.businessObject) {\n semantic = element.businessObject;\n } else {\n semantic = element;\n }\n let attr = getLabelAttr(semantic);\n if (attr && semantic) {\n return semantic[attr] || \"\";\n }\n}\n\nexport function getNumber(element) {\n let semantic = element.businessObject,\n attr = getNumberAttr(semantic);\n\n if (attr) {\n return semantic[attr] || \"\";\n }\n}\n\nexport function setLabel(element, text) {\n let semantic;\n if (element.businessObject) {\n semantic = element.businessObject;\n } else {\n semantic = element;\n }\n let attr = getLabelAttr(semantic);\n\n if (attr) {\n semantic[attr] = text;\n }\n return element;\n}\n\nexport function setNumber(element, textNumber) {\n let semantic = element.businessObject,\n attr = getNumberAttr(semantic);\n\n if (attr) {\n semantic[attr] = textNumber;\n }\n\n return element;\n}\n\n// select at which part of the activity the label should be attached to\nexport function selectPartOfActivity(waypoints, angleActivity) {\n let selectedActivity = 0;\n let linelength = 49;\n\n for (let i = 0; i < waypoints.length; i++) {\n if (angleActivity[i] === 0 || angleActivity[i] === 180) {\n let length = Math.abs(waypoints[i].x - waypoints[i + 1].x);\n if (length > linelength) {\n selectedActivity = i;\n }\n }\n }\n return selectedActivity;\n}\n\n// approximate the width of the label text, standard fontsize: 11\nexport function calculateTextWidth(text) {\n if (!text) {\n return 0;\n }\n\n let fontsize = text.length * 5.1;\n fontsize = fontsize / 2;\n\n // add an initial offset to the absolute middle of the activity\n fontsize += 20;\n return fontsize;\n}\n\n/**\n * copied from https://www.w3schools.com/howto/howto_js_autocomplete.asp on 18.09.2018\n */\nexport function autocomplete(input, workObjectNames, element, eventBus) {\n closeAllLists();\n\n /* the autocomplete function takes three arguments,\n the text field element and an array of possible autocompleted values and an optional element to which it is appended:*/\n let currentFocus, filteredWorkObjectNames;\n\n /* execute a function when someone writes in the text field:*/\n input.addEventListener(\"input\", function () {\n if (workObjectNames.length === 0) {\n return;\n }\n\n /* the direct editing field of actors and workobjects is a recycled html-element and has old values that need to be overridden*/\n if (element.type.includes(elementTypes.WORKOBJECT)) {\n this.value = this.innerHTML;\n }\n let autocompleteList,\n autocompleteItem,\n val = this.value;\n\n /* close any already open lists of autocompleted values*/\n closeAllLists();\n currentFocus = -1;\n\n /* create a DIV element that will contain the items (values):*/\n autocompleteList = document.createElement(\"DIV\");\n autocompleteList.setAttribute(\"id\", \"autocomplete-list\");\n autocompleteList.setAttribute(\"class\", \"autocomplete-items\");\n\n /* append the DIV element as a child of the autocomplete container:*/\n this.parentNode.appendChild(autocompleteList);\n\n /* for each item in the array...*/\n filteredWorkObjectNames = [];\n for (const name of workObjectNames) {\n /* check if the item starts with the same letters as the text field value:*/\n if (val) {\n if (name.substring(0, val.length).toUpperCase() === val.toUpperCase()) {\n /* create a DIV element for each matching element:*/\n autocompleteItem = document.createElement(\"DIV\");\n\n /* make the matching letters bold:*/\n autocompleteItem.innerHTML =\n \"\" +\n name.substring(0, val.length) +\n \"\" +\n name.substring(val.length);\n\n /* insert an input field that will hold the current name:*/\n autocompleteItem.innerHTML +=\n \"\";\n autocompleteList.appendChild(autocompleteItem);\n\n filteredWorkObjectNames.push(name);\n }\n }\n }\n\n // if we edit an actor, we do not want auto-complete, since actors generally are unique\n if (element.type.includes(elementTypes.ACTOR)) {\n autocompleteList.style.visibility = \"hidden\";\n }\n });\n\n /* execute a function presses a key on the keyboard:*/\n input.onkeydown = function (e) {\n let autocompleteList = document.getElementById(\"autocomplete-list\");\n if (autocompleteList) {\n autocompleteList = autocompleteList.getElementsByTagName(\"div\");\n }\n if (e.keyCode === 40) {\n /* If the arrow DOWN key is pressed,\n increase the currentFocus letiable:*/\n currentFocus++;\n\n /* and and make the current item more visible:*/\n addActive(autocompleteList);\n } else if (e.keyCode === 38) {\n // up\n /* If the arrow UP key is pressed,\n decrease the currentFocus letiable:*/\n currentFocus--;\n\n /* and and make the current item more visible:*/\n addActive(autocompleteList);\n } else if (e.keyCode === 13) {\n e.preventDefault();\n /* If the ENTER key is pressed, prevent the form from being submitted,*/\n if (currentFocus > -1) {\n element.businessObject.name = filteredWorkObjectNames[currentFocus];\n eventBus.fire(\"element.changed\", { element });\n }\n }\n };\n\n function addActive(autocompleteList) {\n /* a function to classify an item as \"active\":*/\n if (!autocompleteList || autocompleteList.length < 1) return false;\n\n /* start by removing the \"active\" class on all items:*/\n removeActive(autocompleteList);\n if (currentFocus >= autocompleteList.length) currentFocus = 0;\n if (currentFocus < 0) currentFocus = autocompleteList.length - 1;\n\n /* add class \"autocomplete-active\":*/\n autocompleteList[currentFocus].classList.add(\"autocomplete-active\");\n }\n\n function removeActive(autocompleteList) {\n /* a function to remove the \"active\" class from all autocomplete items:*/\n if (autocompleteList.length > 1) {\n for (const item of autocompleteList) {\n item.classList.remove(\"autocomplete-active\");\n }\n }\n }\n\n function closeAllLists(survivor) {\n /* close all autocomplete lists in the document,\n except the one passed as an argument:*/\n let autocompleteList =\n document.getElementsByClassName(\"autocomplete-items\");\n for (const item of autocompleteList) {\n if (survivor != item && survivor != input) {\n item.parentNode.removeChild(item);\n }\n }\n }\n\n /* execute a function when someone clicks in the document:*/\n document.addEventListener(\"click\", function (e) {\n closeAllLists(e.target);\n });\n}\n","\"use strict\";\n\nimport ChangeSupportModule from \"diagram-js/lib/features/change-support\";\nimport ResizeModule from \"diagram-js/lib/features/resize\";\nimport DirectEditingModule from \"diagram-js-direct-editing\";\n\nimport CommandStack from \"diagram-js/lib/command/CommandStack\";\nimport UpdateLabelHandler from \"../updateHandler/updateLabelHandler\";\nimport DSLabelEditingPreview from \"./dsLabelEditingPreview\";\nimport DSLabelEditingProvider from \"./dsLabelEditingProvider\";\nimport DSModeling from \"../modeling/dSModeling\";\n\nexport default {\n __depends__: [ChangeSupportModule, ResizeModule, DirectEditingModule],\n __init__: [\"dSlabelEditingProvider\", \"dSlabelEditingPreview\"],\n dSlabelEditingProvider: [\"type\", DSLabelEditingProvider],\n dSlabelEditingPreview: [\"type\", DSLabelEditingPreview],\n updateLabelHandler: [\"type\", UpdateLabelHandler],\n commandStack: [\"type\", CommandStack],\n modeling: [\"type \", DSModeling],\n};\n","\"use strict\";\n\nimport { selectPartOfActivity } from \"./dsLabelUtil\";\nimport { angleBetween } from \"../../../Utils/mathExtensions\";\n\nexport function countLines(str) {\n return str.split(/\\r\\n|\\r|\\n/).length;\n}\n\n// determine the position of the label at the activity\nexport function labelPosition(waypoints, lines = 1) {\n let amountWaypoints = waypoints.length;\n let determinedPosition;\n let xPos;\n let yPos;\n\n if (amountWaypoints > 2) {\n let angleActivity = new Array(amountWaypoints - 1);\n for (let i = 0; i < amountWaypoints - 1; i++) {\n // calculate the angles of the activities\n angleActivity[i] = angleBetween(waypoints[i], waypoints[i + 1]);\n }\n\n let selectedActivity = selectPartOfActivity(waypoints, angleActivity);\n\n xPos = labelPositionX(\n waypoints[selectedActivity],\n waypoints[selectedActivity + 1]\n );\n yPos = labelPositionY(\n waypoints[selectedActivity],\n waypoints[selectedActivity + 1],\n lines\n );\n\n determinedPosition = {\n x: xPos,\n y: yPos,\n selected: selectedActivity,\n };\n\n return determinedPosition;\n } else {\n xPos = labelPositionX(waypoints[0], waypoints[1]);\n yPos = labelPositionY(waypoints[0], waypoints[1], lines);\n\n determinedPosition = {\n x: xPos,\n y: yPos,\n selected: 0,\n };\n\n return determinedPosition;\n }\n}\n\n// calculate the X position of the label\nexport function labelPositionX(startPoint, endPoint) {\n let angle = angleBetween(startPoint, endPoint);\n let offsetX = 0;\n let scaledAngle = 0;\n if (angle === 0 || angle === 180 || angle === 90 || angle === 270) {\n offsetX = 0;\n } else if (angle > 0 && angle < 90) {\n // endpoint in upper right quadrant\n offsetX = 5 - angle / 6;\n } else if (angle > 90 && angle < 180) {\n // endpoint in upper left quadrant\n scaledAngle = angle - 90;\n offsetX = 5 - scaledAngle / 18;\n } else if (angle > 180 && angle < 270) {\n // endpoint in lower left quadrant\n scaledAngle = angle - 180;\n offsetX = scaledAngle / 18;\n } else if (angle > 270) {\n // endpoint in lower right quadrant\n scaledAngle = angle - 270;\n offsetX = 5 - scaledAngle / 6;\n }\n return offsetX + (startPoint.x + endPoint.x) / 2;\n}\n\n// calculate the Y position of the label\nexport function labelPositionY(startPoint, endPoint, lines = 1) {\n let angle = angleBetween(startPoint, endPoint);\n let offsetY = 0;\n let scaledAngle = 0;\n\n if (angle === 0 || angle === 180) {\n offsetY = 15;\n } else if (angle === 90 || angle === 270) {\n offsetY = 0;\n } else if (angle > 0 && angle < 90) {\n // endpoint in upper right quadrant\n offsetY = 15 - angle / 6;\n } else if (angle > 90 && angle < 180) {\n // endpoint in upper left quadrant\n scaledAngle = angle - 90;\n offsetY = (-scaledAngle / 9) * lines;\n } else if (angle > 180 && angle < 270) {\n // endpoint in lower left quadrant\n scaledAngle = angle - 180;\n offsetY = 15 - scaledAngle / 3;\n } else if (angle > 270) {\n // endpoint in lower right quadrant\n scaledAngle = angle - 270;\n offsetY = (-scaledAngle / 9) * lines;\n }\n return offsetY + (startPoint.y + endPoint.y) / 2;\n}\n","\"use strict\";\n\nimport Modeling from \"bpmn-js/lib/features/modeling/Modeling\";\n\nimport { inherits } from \"util\";\n\nexport default function DSModeling(\n eventBus,\n elementFactory,\n commandStack,\n domainStoryRules\n) {\n Modeling.call(this, eventBus, elementFactory, commandStack, domainStoryRules);\n}\n\nModeling.prototype.updateLabel = function (element, newLabel, newBounds) {\n if (\n element.businessObject\n ? newLabel !== element.businessObject.name\n : newLabel !== element.name\n ) {\n if (/^domainStory:/.test(element.type)) {\n this._commandStack.execute(\"element.updateCustomLabel\", {\n element: element,\n newLabel: newLabel,\n newBounds: newBounds,\n });\n } else {\n this._commandStack.execute(\"element.updateLabel\", {\n element: element,\n newLabel: newLabel,\n newBounds: newBounds,\n });\n }\n }\n};\n\nModeling.prototype.updateNumber = function (element, newNumber, newBounds) {\n if (\n element.businessObject\n ? newNumber !== element.businessObject.number\n : newNumber !== element.number\n ) {\n if (/^domainStory:/.test(element.type)) {\n this._commandStack.execute(\"element.updateCustomLabel\", {\n element: element,\n newNumber: newNumber,\n newBounds: newBounds,\n });\n } else {\n this._commandStack.execute(\"element.updateLabel\", {\n element: element,\n newNumber: newNumber,\n newBounds: newBounds,\n });\n }\n }\n};\n\nModeling.prototype.replaceShape = function (oldShape, newShape, hints) {\n let context = {\n oldShape: oldShape,\n newData: newShape,\n hints: hints || {},\n };\n\n this._commandStack.execute(\"shape.replace\", context);\n return context.newShape;\n};\n\nModeling.prototype.removeGroup = function (element) {\n this._commandStack.execute(\"shape.removeGroupWithoutChildren\", {\n element: element,\n });\n this.removeElements({ element });\n};\n\ninherits(DSModeling, Modeling);\n\nDSModeling.$inject = [\n \"eventBus\",\n \"elementFactory\",\n \"commandStack\",\n \"domainStoryRules\",\n];\n","\"use strict\";\n\nimport DomainStoryPalette from \"../palette/domainStoryPalette\";\nimport ElementFactory from \"bpmn-js/lib/features/modeling/ElementFactory\";\nimport CreateModule from \"diagram-js/lib/features/create\";\nimport PathMap from \"bpmn-js/lib/draw/PathMap\";\nimport PopupMenuModule from \"bpmn-js/lib/features/popup-menu\";\nimport ContextPadModule from \"diagram-js/lib/features/context-pad\";\nimport CommandStack from \"diagram-js/lib/command/CommandStack\";\nimport UpdateLabelHandler from \"../updateHandler/updateLabelHandler\";\nimport DomainStoryUpdater from \"../domainStoryUpdater\";\nimport DomainStoryElementFactory from \"../domainStoryElementFactory\";\nimport headlineAndDescriptionUpdateHandler from \"../updateHandler/headlineAndDescriptionUpdateHandler\";\nimport DomainStoryRenderer from \"../domainStoryRenderer\";\nimport DSModeling from \"./dSModeling\";\nimport DomainStoryRules from \"../domainStoryRules\";\nimport ReplaceMenuProvider from \"../change-icon/replaceMenuProvider\";\nimport DomainStoryContextPadProvider from \"../context-pad/domainStoryContextPadProvider\";\n\nexport default {\n __depends__: [CreateModule, ContextPadModule, PopupMenuModule],\n __init__: [\n \"domainStoryRenderer\",\n \"paletteProvider\",\n \"domainStoryRules\",\n \"domainStoryUpdater\",\n \"contextPadProvider\",\n \"replaceMenuProvider\",\n ],\n elementFactory: [\"type\", DomainStoryElementFactory],\n domainStoryRenderer: [\"type\", DomainStoryRenderer],\n paletteProvider: [\"type\", DomainStoryPalette],\n domainStoryRules: [\"type\", DomainStoryRules],\n domainStoryUpdater: [\"type\", DomainStoryUpdater],\n contextPadProvider: [\"type\", DomainStoryContextPadProvider],\n elementFactoryBpmn: [\"type\", ElementFactory],\n pathMap: [\"type\", PathMap],\n replaceMenuProvider: [\"type\", ReplaceMenuProvider],\n commandStack: [\"type\", CommandStack],\n updateLabelHandler: [\"type\", UpdateLabelHandler],\n headlineAndDescriptionUpdateHandler: [\n \"type\",\n headlineAndDescriptionUpdateHandler,\n ],\n modeling: [\"type\", DSModeling],\n};\n","\"use strict\";\n\nimport { labelPosition } from \"../labeling/position\";\nimport { angleBetween } from \"../../../Utils/mathExtensions\";\n\nlet numberRegistry = [];\nlet multipleNumberRegistry = [false];\n\nlet canvasElementRegistry;\n\nexport function initializeNumbering(canvasElementRegistryService) {\n canvasElementRegistry = canvasElementRegistryService;\n}\n\n// defines the box for activity numbers\nexport function numberBoxDefinitions(element) {\n let alignment = \"center\";\n let boxWidth = 30;\n let boxHeight = 30;\n let position = labelPosition(element.waypoints);\n let angle = 0;\n if (element.waypoints.length > 1) {\n angle = angleBetween(element.waypoints[0], element.waypoints[1]);\n }\n let x = position.x;\n let y = position.y;\n\n // TODO: Use trigonometric functions to make the positioning more consistent.\n // This would require to touch the label code as well.\n if (angle >= 0 && angle <= 45) {\n y = y - 30 + angle / 2;\n x = x - 25 - angle / 2;\n } else if (angle <= 90) {\n y = y - 10 + (angle - 45) / 4.5;\n x = x - 35 - angle / 9;\n } else if (angle <= 145) {\n y = y + angle / 7.25;\n x = x - 45 - angle / 14.5;\n } else if (angle < 180) {\n y = y + 20 + angle / 9;\n x = x - 50 + angle / 4.5;\n } else if (angle <= 225) {\n y = y - 45 + angle / 12.25;\n x = x + 10 - angle / 6.125;\n } else if (angle <= 270) {\n y = y - 80 + angle / 3.375;\n x = x - 5 - angle / 6.125;\n } else if (angle <= 315) {\n y = y - 135 + angle / 2;\n x = x - 50;\n } else {\n y = y + 22.5 + (angle - 315) / 6;\n x = x - 50 + (angle - 315) / 1.8;\n }\n\n return {\n textAlign: alignment,\n width: boxWidth,\n height: boxHeight,\n x: x,\n y: y,\n };\n}\n\n// determine the next available number that is not yet used\nexport function generateAutomaticNumber(elementActivity, commandStack) {\n const semantic = elementActivity.businessObject;\n const usedNumbers = [0];\n let wantedNumber = -1;\n\n const activitiesFromActors = canvasElementRegistry.getActivitiesFromActors();\n\n activitiesFromActors.forEach((element) => {\n if (element.businessObject.number) {\n usedNumbers.push(+element.businessObject.number);\n }\n });\n for (let i = 0; i < usedNumbers.length; i++) {\n if (!usedNumbers.includes(i)) {\n if (!usedNumbers.includes(i)) {\n wantedNumber = i;\n i = usedNumbers.length;\n }\n }\n }\n if (wantedNumber === -1) {\n wantedNumber = usedNumbers.length;\n }\n\n updateExistingNumbersAtGeneration(\n activitiesFromActors,\n wantedNumber,\n commandStack\n );\n semantic.number = wantedNumber;\n return wantedNumber;\n}\n\n// update the numbers at the activities when generating a new activity\nexport function updateExistingNumbersAtGeneration(\n activitiesFromActors,\n wantedNumber,\n commandStack\n) {\n activitiesFromActors.forEach((element) => {\n let number = +element.businessObject.number;\n\n if (number >= wantedNumber) {\n wantedNumber++;\n setTimeout(function () {\n commandStack.execute(\"activity.changed\", {\n businessObject: element.businessObject,\n newLabel: element.businessObject.name,\n newNumber: number,\n element: element,\n });\n }, 10);\n }\n });\n}\n\n// update the numbers at the activities when editing an activity\nexport function updateExistingNumbersAtEditing(\n activitiesFromActors,\n wantedNumber,\n eventBus\n) {\n // get a sorted list of all activities that could need changing\n let sortedActivities = [[]];\n activitiesFromActors.forEach((activity) => {\n if (!sortedActivities[activity.businessObject.number]) {\n sortedActivities[activity.businessObject.number] = [];\n }\n sortedActivities[activity.businessObject.number].push(activity);\n });\n\n // set the number of each activity to the next highest number, starting from the number, we overrode\n let currentNumber = wantedNumber;\n for (\n currentNumber;\n currentNumber < sortedActivities.length;\n currentNumber++\n ) {\n if (sortedActivities[currentNumber]) {\n wantedNumber++;\n setNumberOfActivity(\n sortedActivities[currentNumber],\n wantedNumber,\n eventBus\n );\n }\n }\n}\n\n// get the IDs of activities with their associated number, only returns activities that are originating from an actor\nexport function getNumbersAndIDs() {\n let iDWithNumber = [];\n let activities = canvasElementRegistry.getActivitiesFromActors();\n\n for (let i = activities.length - 1; i >= 0; i--) {\n let id = activities[i].businessObject.id;\n let number = activities[i].businessObject.number;\n iDWithNumber.push({ id: id, number: number });\n }\n return iDWithNumber;\n}\n\nexport function addNumberToRegistry(renderedNumber, number) {\n numberRegistry[number] = renderedNumber;\n}\n\nexport function setNumberIsMultiple(number, multi) {\n multipleNumberRegistry[number] = multi;\n}\n\n/**\n * @returns copy of registry\n */\nexport function getNumberRegistry() {\n return numberRegistry.slice(0);\n}\n\nexport function getMultipleNumberRegistry() {\n return multipleNumberRegistry.slice(0);\n}\n\nfunction setNumberOfActivity(elementArray, wantedNumber, eventBus) {\n if (elementArray) {\n elementArray.forEach((element) => {\n if (element) {\n let businessObject = element.businessObject;\n if (businessObject) {\n businessObject.number = wantedNumber;\n }\n eventBus.fire(\"element.changed\", { element });\n }\n });\n }\n}\n","\"use strict\";\n\nimport { assign } from \"min-dash\";\nimport { overrideAppendedIcons } from \"src/app/Domain/Domain-Configuration/allIcons\";\nimport { Dictionary } from \"src/app/Domain/Common/dictionary/dictionary\";\nimport { elementTypes } from \"src/app/Domain/Common/elementTypes\";\nimport { getNameFromType } from \"src/app/Utils/naming\";\nimport { APPENDED_ICONS_TAG } from \"../../../Domain/Common/constants\";\n\n/**\n * A palette that allows you to create BPMN _and_ custom elements.\n */\n\nlet iconDictionary;\nlet configuration;\n\nexport function initializePalette(iconDictionaryService, configurationService) {\n iconDictionary = iconDictionaryService;\n configuration = configurationService;\n}\n\nexport default function PaletteProvider(\n palette,\n create,\n elementFactory,\n spaceTool,\n lassoTool\n) {\n this._create = create;\n this._elementFactory = elementFactory;\n this._spaceTool = spaceTool;\n this._lassoTool = lassoTool;\n\n palette.registerProvider(this);\n}\n\nPaletteProvider.$inject = [\n \"palette\",\n \"create\",\n \"elementFactory\",\n \"spaceTool\",\n \"lassoTool\",\n \"modeling\",\n];\n\nPaletteProvider.prototype.getPaletteEntries = function () {\n let actions = {},\n create = this._create,\n elementFactory = this._elementFactory,\n spaceTool = this._spaceTool,\n lassoTool = this._lassoTool;\n\n function createAction(type, group, className, title, options) {\n function createListener(event) {\n let shape = elementFactory.createShape(assign({ type: type }, options));\n\n assign(shape.businessObject, {\n id: shape.id,\n });\n\n if (options) {\n shape.businessObject.di.isExpanded = options.isExpanded;\n }\n\n create.start(event, shape);\n }\n\n let shortType = type.replace(/^domainStory:/, \"\");\n\n return {\n group: group,\n className: className,\n title: \"Create \" + title || \"Create \" + shortType,\n action: {\n dragstart: createListener,\n click: createListener,\n },\n };\n }\n\n return initPalette(actions, spaceTool, lassoTool, createAction);\n};\n\nfunction appendCSSStyleCheat(customIcons) {\n const sheetEl = document.createElement(\"style\");\n document.head.appendChild(sheetEl);\n\n let customIconDict = new Dictionary();\n\n customIconDict.appendDict(customIcons);\n let customIconDictKeys = customIconDict.keysArray();\n\n customIconDictKeys.forEach((name) => {\n if (iconDictionary.getAppendedIconDictionary().has(name)) {\n let src = customIconDict.get(name);\n\n const iconStyle =\n \".icon-domain-story-\" +\n name.toLowerCase() +\n \"::before{\" +\n \" display: block;\" +\n ' content: url(\"data:image/svg+xml;utf8,' +\n wrapSRCInSVG(src) +\n '\");' +\n \" margin: 3px;}\";\n sheetEl.sheet.insertRule(iconStyle, sheetEl.sheet.cssRules.length);\n }\n });\n}\n\nfunction initPalette(actions, spaceTool, lassoTool, createAction) {\n let config = iconDictionary?.getCurrentIconConfigurationForBPMN();\n\n let customIcons = localStorage.getItem(APPENDED_ICONS_TAG);\n\n if (customIcons) {\n customIcons = JSON.parse(customIcons);\n if (customIconsLegacy(customIcons)) {\n customIcons = convertLegacyAppendedIconsToDict(customIcons);\n }\n if (customIcons.entries && customIcons.entries.forEach) {\n const customIconsDict = new Dictionary();\n customIcons.entries.forEach((entry) => {\n customIconsDict.putEntry(entry);\n });\n overrideAppendedIcons(customIconsDict);\n appendCSSStyleCheat(customIcons);\n }\n }\n\n iconDictionary?.initTypeDictionaries(config.actors, config.workObjects);\n\n let actorTypes = iconDictionary?.getTypeDictionary(elementTypes.ACTOR);\n\n actorTypes?.keysArray().forEach((actorType) => {\n addCanvasObjectTypes(actorType, createAction, actions, \"actor\");\n });\n\n assign(actions, {\n \"actor-separator\": {\n group: \"actor\",\n separator: true,\n },\n });\n\n let workObjectTypes = iconDictionary?.getTypeDictionary(\n elementTypes.WORKOBJECT\n );\n\n workObjectTypes?.keysArray().forEach((workObjectType) => {\n addCanvasObjectTypes(workObjectType, createAction, actions, \"actor\");\n });\n\n assign(actions, {\n \"workObject-separator\": {\n group: \"workObject\",\n separator: true,\n },\n \"domainStory-group\": createAction(\n elementTypes.GROUP,\n \"group\",\n \"icon-domain-story-tool-group\",\n \"group\"\n ),\n \"group-separator\": {\n group: \"group\",\n separator: true,\n },\n \"lasso-tool\": {\n group: \"tools\",\n className: \"bpmn-icon-lasso-tool\",\n title: \"Activate the lasso tool\",\n action: {\n click: function (event) {\n lassoTool.activateSelection(event);\n },\n },\n },\n \"space-tool\": {\n group: \"tools\",\n className: \"bpmn-icon-space-tool\",\n title: \"Activate the create/remove space tool\",\n action: {\n click: function (event) {\n spaceTool.activateSelection(event);\n },\n },\n },\n });\n\n return actions;\n}\n\nfunction addCanvasObjectTypes(actorType, createAction, actions, className) {\n let name = getNameFromType(actorType);\n let icon = iconDictionary.getIconForBPMN(actorType);\n\n let action = [];\n action[\"domainStory-\" + className + name] = createAction(\n actorType,\n className,\n icon,\n name\n );\n assign(actions, action);\n}\n\nfunction customIconsLegacy(customIcons) {\n return !(\n Object.keys(customIcons).length === 1 &&\n Object.keys(customIcons)[0] === \"entries\"\n );\n}\n\nfunction convertLegacyAppendedIconsToDict(customIcons) {\n let dict = new Dictionary();\n Object.keys(customIcons).forEach((key) => {\n dict.set(key, customIcons[key]);\n });\n return dict;\n}\n\n// For some reason its important to use ' in the content for the Palette and ContextPad\n// Do not change!\nfunction wrapSRCInSVG(src) {\n return (\n \"\" +\n \"\"\n );\n}\n","\"use strict\";\n\nimport { getNumbersAndIDs } from \"../numbering/numbering\";\n\n/**\n * commandStack Handler for changes at activities\n */\n\nlet canvasElementRegistry;\nexport function initializeActivityUpdateHandler(canvasElementRegistryService) {\n canvasElementRegistry = canvasElementRegistryService;\n}\n\nexport default function activityUpdateHandler(commandStack, eventBus) {\n commandStack.registerHandler(\n \"activity.directionChange\",\n activity_directionChange\n );\n commandStack.registerHandler(\"activity.changed\", activity_changed);\n\n // update the activity from the activity-dialog, either with or without number\n // and change other activities too, to keep the numbers consistent\n function activity_changed(modeling) {\n this.preExecute = function (context) {\n context.oldLabel = context.businessObject.name || \" \";\n\n let oldNumbersWithIDs = getNumbersAndIDs();\n modeling.updateLabel(context.businessObject, context.newLabel);\n modeling.updateNumber(context.businessObject, context.newNumber);\n\n context.oldNumber = context.businessObject.number;\n context.oldNumbersWithIDs = oldNumbersWithIDs;\n };\n\n this.execute = function (context) {\n let businessObject = context.businessObject;\n let element = context.element;\n\n if (context.newLabel && context.newLabel.length < 1) {\n context.newLabel = \" \";\n }\n\n businessObject.name = context.newLabel;\n businessObject.number = context.newNumber;\n\n eventBus.fire(\"element.changed\", { element });\n };\n\n this.revert = function (context) {\n let semantic = context.businessObject;\n let element = context.element;\n semantic.name = context.oldLabel;\n semantic.number = context.oldNumber;\n\n revertAutomaticNumberGenerationChange(\n context.oldNumbersWithIDs,\n eventBus\n );\n\n eventBus.fire(\"element.changed\", { element });\n };\n }\n\n // change the direction of a single activity without affecting other activities\n function activity_directionChange(modeling) {\n this.preExecute = function (context) {\n context.oldNumber = context.businessObject.number;\n context.oldWaypoints = context.element.waypoints;\n context.name = context.businessObject.name;\n\n if (!context.oldNumber) {\n context.oldNumber = 0;\n }\n modeling.updateNumber(context.businessObject, context.newNumber);\n };\n\n this.execute = function (context) {\n let businessObject = context.businessObject;\n let element = context.element;\n let swapSource = element.source;\n let newWaypoints = [];\n let waypoints = element.waypoints;\n\n for (let i = waypoints.length - 1; i >= 0; i--) {\n newWaypoints.push(waypoints[i]);\n }\n\n element.source = element.target;\n businessObject.source = businessObject.target;\n element.target = swapSource;\n businessObject.target = swapSource.id;\n\n businessObject.name = context.name;\n businessObject.number = context.newNumber;\n element.waypoints = newWaypoints;\n\n eventBus.fire(\"element.changed\", { element });\n };\n\n this.revert = function (context) {\n let semantic = context.businessObject;\n let element = context.element;\n let swapSource = element.source;\n\n element.source = element.target;\n semantic.source = semantic.target;\n element.target = swapSource;\n semantic.target = swapSource.id;\n\n semantic.name = context.name;\n\n semantic.number = context.oldNumber;\n element.waypoints = context.oldWaypoints;\n\n eventBus.fire(\"element.changed\", { element });\n };\n }\n}\n\n// reverts the automatic changed done by the automatic number-generation at editing\nfunction revertAutomaticNumberGenerationChange(iDWithNumber, eventBus) {\n let activities = canvasElementRegistry?.getActivitesFromActors();\n for (let i = activities.length - 1; i >= 0; i--) {\n for (let j = iDWithNumber.length - 1; j >= 0; j--) {\n if (iDWithNumber[j].id.includes(activities[i].businessObject.id)) {\n let element = activities[i];\n element.businessObject.number = iDWithNumber[j].number;\n j = -5;\n eventBus.fire(\"element.changed\", { element });\n iDWithNumber.splice(j, 1);\n }\n }\n }\n}\n","\"use strict\";\n\nimport { undoGroupRework } from \"../util\";\n\nexport default function elementUpdateHandler(commandStack, eventBus) {\n commandStack.registerHandler(\"element.colorChange\", element_colorChange);\n commandStack.registerHandler(\n \"shape.removeGroupWithoutChildren\",\n removeGroupWithoutChildren\n );\n\n function element_colorChange() {\n this.preExecute = function (context) {\n context.oldColor = context.businessObject.pickedColor;\n };\n\n this.execute = function (context) {\n let semantic = context.businessObject;\n let element = context.element;\n\n semantic.pickedColor = context.newColor;\n\n eventBus.fire(\"element.changed\", { element });\n };\n\n this.revert = function (context) {\n let semantic = context.businessObject;\n let element = context.element;\n\n semantic.pickedColor = context.oldColor;\n\n eventBus.fire(\"element.changed\", { element });\n };\n }\n\n function removeGroupWithoutChildren() {\n this.preExecute = function (ctx) {\n ctx.parent = ctx.element.parent;\n ctx.children = ctx.element.children.slice();\n };\n\n this.execute = function (ctx) {\n let element = ctx.element;\n ctx.children.forEach((child) => {\n undoGroupRework(element, child);\n eventBus.fire(\"element.changed\", { element: child });\n });\n eventBus.fire(\"shape.remove\", { element });\n };\n\n this.revert = function (ctx) {\n let element = ctx.element;\n eventBus.fire(\"shape.added\", { element });\n\n ctx.element.children.forEach((child) => {\n reworkGroupElements(element, child);\n });\n };\n }\n}\n","/**\n * a handler that updates the text of a BPMN element.\n */\nexport default function headlineAndDescriptionUpdateHandler(\n commandStack,\n titleService\n) {\n commandStack.registerHandler(\n \"story.updateHeadlineAndDescription\",\n handlerFunction\n );\n\n function handlerFunction() {\n this.execute = function (ctx) {\n ctx.oldTitle = titleService.getTitle();\n ctx.oldDescription = titleService.getDescription();\n\n titleService.updateTitleAndDescription(\n ctx.newTitle,\n ctx.newDescription,\n false\n );\n };\n\n this.revert = function (ctx) {\n titleService.updateTitleAndDescription(\n ctx.oldTitle,\n ctx.oldDescription,\n false\n );\n };\n }\n}\n","\"use strict\";\n\nexport default function DSMassRenameHandler(commandStack, eventBus) {\n commandStack.registerHandler(\"domainStoryObjects.massRename\", massRename);\n\n function massRename(modeling) {\n this.preExecute = function (context) {\n let relevantElements = context.elements;\n\n context.oldLabel = relevantElements[0].businessObject.name;\n\n relevantElements.forEach((element) => {\n modeling.updateLabel(element.businessObject, confirm.newValue);\n });\n };\n\n this.execute = function (context) {\n let relevantElements = context.elements;\n relevantElements.forEach((element) => {\n let semantic = element.businessObject;\n semantic.name = context.newValue;\n\n eventBus.fire(\"element.changed\", { element });\n });\n };\n\n this.revert = function (context) {\n let relevantElements = context.elements;\n relevantElements.forEach((element) => {\n let semantic = element.businessObject;\n semantic.name = context.oldLabel;\n\n eventBus.fire(\"element.changed\", { element });\n });\n };\n }\n}\n","\"use strict\";\n\nimport {\n setLabel,\n getLabel,\n setNumber,\n getNumber,\n} from \"../labeling/dsLabelUtil\";\n\nimport {\n getExternalLabelMid,\n isLabelExternal,\n hasExternalLabel,\n isLabel,\n} from \"bpmn-js/lib/util/LabelUtil\";\n\nimport { elementTypes } from \"src/app/Domain/Common/elementTypes\";\nimport { getBusinessObject, is } from \"../util\";\n\nconst NULL_DIMENSIONS = {\n width: 0,\n height: 0,\n};\n\n/**\n * a handler that updates the text of a BPMN element.\n */\nexport default function UpdateLabelHandler(\n modeling,\n textRenderer,\n commandStack\n) {\n commandStack.registerHandler(\"element.updateCustomLabel\", handlerFunction);\n\n function handlerFunction() {\n /**\n * Set the label and return the changed elements.\n *\n * Element parameter can be label itself or connection (i.e. sequence flow).\n *\n * @param {djs.model.Base} element\n * @param {String} text\n */\n\n this.preExecute = function (ctx) {\n let element = ctx.element,\n businessObject = element.businessObject,\n newLabel = ctx.newLabel,\n newNumber = ctx.newNumber;\n\n if (\n !isLabel(element) &&\n isLabelExternal(element) &&\n !hasExternalLabel(element) &&\n (newLabel !== \"\" || newNumber !== \"\")\n ) {\n // create label\n let paddingTop = 7;\n\n let labelCenter = getExternalLabelMid(element);\n\n labelCenter = {\n x: labelCenter.x,\n y: labelCenter.y + paddingTop,\n };\n\n modeling.createLabel(element, labelCenter, {\n id: businessObject.id + \"_label\",\n businessObject: businessObject,\n });\n }\n };\n\n this.execute = function (ctx) {\n ctx.oldLabel = getLabel(ctx.element);\n ctx.oldNumber = getNumber(ctx.element);\n return setText(ctx.element, ctx.newLabel, ctx.newNumber);\n };\n\n this.revert = function (ctx) {\n return setText(ctx.element, ctx.oldLabel, ctx.oldNumber);\n };\n\n this.postExecute = function (ctx) {\n let element = ctx.element,\n label = element.label || element,\n newLabel = ctx.newLabel,\n newBounds = ctx.newBounds;\n\n if (isLabel(label) && newLabel.trim() === \"\") {\n modeling.removeShape(label);\n\n return;\n }\n\n // ignore internal labels for elements except text annotations\n if (\n !isLabelExternal(element) &&\n !is(element, elementTypes.TEXTANNOTATION)\n ) {\n return;\n }\n\n let bo = getBusinessObject(label);\n\n let text = bo.name || bo.text;\n\n // don't resize without text\n if (!text) {\n return;\n }\n\n // resize element based on label _or_ pre-defined bounds\n if (typeof newBounds === \"undefined\") {\n newBounds = textRenderer.getLayoutedBounds(label, text);\n }\n\n // setting newBounds to false or _null_ will\n // disable the postExecute resize operation\n if (newBounds) {\n modeling.resizeShape(label, newBounds, NULL_DIMENSIONS);\n }\n };\n }\n}\n\nfunction setText(element, text, textNumber) {\n // external label if present\n let label = element.label || element;\n\n let number = element.number || element;\n\n let labelTarget = element.labelTarget || element;\n\n let numberTarget = element.numberTarget || element;\n setLabel(label, text);\n setNumber(number, textNumber);\n\n return [label, labelTarget, number, numberTarget];\n}\n\nUpdateLabelHandler.$inject = [\"modeling\", \"textRenderer\", \"commandStack\"];\n","import { some } from \"min-dash\";\n\nexport function is(element, type) {\n const bo = getBusinessObject(element);\n\n return bo && typeof bo.$instanceOf == \"function\" && bo.$instanceOf(type);\n}\n\nexport function getBusinessObject(element) {\n return (element && element.businessObject) || element;\n}\n\nexport function isAny(element, types) {\n return some(types, function (t) {\n return is(element, t);\n });\n}\n\nexport function reworkGroupElements(parent, shape) {\n parent.children.slice().forEach((innerShape) => {\n if (innerShape.id !== shape.id) {\n if (innerShape.x >= shape.x && innerShape.x <= shape.x + shape.width) {\n if (innerShape.y >= shape.y && innerShape.y <= shape.y + shape.height) {\n innerShape.parent = shape;\n if (!shape.children.includes(innerShape)) {\n shape.children.push(innerShape);\n }\n }\n }\n }\n });\n}\n\nexport function undoGroupRework(parent, shape) {\n const superParent = parent.parent;\n\n parent.children.remove(shape);\n superParent.children.add(shape);\n\n shape.parent = superParent;\n\n const svgShape = document.querySelector(\n \"[data-element-id=\" + shape.id + \"]\"\n ).parentElement;\n const svgGroup = svgShape.parentElement;\n const svgGroupParent = svgGroup.parentElement.parentElement;\n svgGroup.removeChild(svgShape);\n svgGroupParent.appendChild(svgShape);\n}\n","import {\n SVG_LINK,\n TEXTSPAN_DESCRIPTION_HEIGHT,\n TEXTSPAN_TITLE_HEIGHT,\n X_OFFSET_UTIL,\n} from \"../../Domain/Export/exportConstants\";\n\nlet extraHeight = 0;\n\n// Has to be js File so we can access te correct non-standard HTML-Properties without excessive usage of ts-ignore\nexport function createTitleAndDescriptionSVGElement(\n title,\n description,\n xLeft,\n yUp,\n width\n) {\n title = title.replace(\"<\", \"\").replace(\">\", \"\");\n\n let titleElement = createTitle(title, width);\n let descriptionElement = createDescription(description, width);\n\n // to display the title and description in the SVG-file, we need to add a container for our text-elements\n let insertText =\n '' +\n titleElement +\n descriptionElement +\n \"\";\n return { insertText, extraHeight };\n}\n\nfunction createTitle(text, width) {\n let tempCanvas = document.createElement(\"canvas\");\n let ctx = tempCanvas.getContext(\"2d\");\n ctx.font = \"30px Arial\";\n\n return createTextSpans(text, width, ctx, 10, TEXTSPAN_TITLE_HEIGHT, 30);\n}\n\nfunction createDescription(text, width) {\n let description = \"\";\n let descriptionParts = text.split(\"
\");\n\n let tempCanvas = document.createElement(\"canvas\");\n let ctx = tempCanvas.getContext(\"2d\");\n ctx.font = \"12px Arial\";\n\n for (let i = 0; i < descriptionParts.length; i++) {\n description += createTextSpans(\n descriptionParts[i],\n width,\n ctx,\n 0,\n TEXTSPAN_DESCRIPTION_HEIGHT,\n 12\n );\n }\n return description;\n}\n\nfunction createTextSpans(text, width, ctx, yOffset, heightOffset, fontSize) {\n let textSpans = \"\";\n let words = text.split(\" \");\n\n let textTag =\n '';\n\n let textSpan = document.createElementNS(SVG_LINK, \"tspan\");\n let textNode = document.createTextNode(words[0]);\n\n textSpan.setAttribute(\"x\", X_OFFSET_UTIL);\n textSpan.setAttribute(\"y\", yOffset + extraHeight);\n textSpan.setAttribute(\"font-size\", fontSize);\n textSpan.appendChild(textNode);\n\n for (let j = 1; j < words.length; j++) {\n if (textSpan.firstChild && textSpan.firstChild.data) {\n let len = textSpan.firstChild.data.length;\n textNode.data += \" \" + words[j];\n\n if (ctx.measureText(textNode.data).width > width - 16) {\n extraHeight += heightOffset;\n textSpan.firstChild.data = textSpan.firstChild.data.slice(0, len); // remove overflow word\n\n textSpans += textTag + textSpan.outerHTML + \"\"; // append line\n\n // create new textspan for line break\n textSpan = document.createElementNS(SVG_LINK, \"tspan\");\n textNode = document.createTextNode(words[j]);\n textSpan.setAttribute(\"x\", X_OFFSET_UTIL);\n textSpan.setAttribute(\"y\", yOffset + extraHeight);\n textSpan.appendChild(textNode);\n }\n }\n }\n extraHeight += heightOffset;\n\n textSpans += textTag + textSpan.outerHTML + \"\";\n return textSpans;\n}\n","import { elementTypes } from './elementTypes';\n\nexport interface BusinessObject {\n $descriptor: any;\n $type: any;\n di: any;\n get: any;\n set: any;\n\n id: string;\n name: string;\n\n type: string;\n\n x: number;\n y: number;\n height: number | undefined;\n width: number | undefined;\n pickedColor: string | undefined;\n}\n\nexport const testBusinessObject: BusinessObject = {\n $descriptor: undefined,\n $type: undefined,\n di: undefined,\n get: undefined,\n set: undefined,\n\n id: 'test',\n name: 'test',\n\n type: elementTypes.WORKOBJECT,\n\n x: 0,\n y: 0,\n height: 38,\n width: 38,\n pickedColor: undefined,\n};\n","export class Configuration {\n actors: string[];\n workObjects: string[];\n\n constructor(actors: string[], workObjects: string[]) {\n this.actors = actors;\n this.workObjects = workObjects;\n }\n}\n","/** DEFAULT VALUES **/\nexport const INITIAL_TITLE = '< title >';\nexport const INITIAL_DESCRIPTION = '< description >';\nexport const INITIAL_DOMAIN_NAME = '[icons: default]';\n\n/** LocalStorageTags **/\nexport const APPENDED_ICONS_TAG = 'appendedIcons';\nexport const DOMAIN_CONFIGURATION_TAG = 'domainConfigurationTag';\n\n/** AUTOSAVE DEFAULTS **/\nexport const DEFAULT_AUTOSAVES_ENABLED = true;\nexport const DEFAULT_AUTOSAVES_AMOUNT = 5;\nexport const DEFAULT_AUTOSAVES_INTERVAL = 30;\n\n/** SNACKBAR **/\nexport const SNACKBAR_DURATION = 2000;\nexport const SNACKBAR_SUCCESS = 'snackbar_success';\nexport const SNACKBAR_ERROR = 'snackbar_error';\nexport const SNACKBAR_INFO = 'snackbar_info';\n\n/** BPMN_RELEVANT_CONSTANTS **/\nexport const IMPLICIT_ROOT_ID = '__implicitroot';\n","export class Dictionary {\n private entries: Entry[];\n\n constructor() {\n this.entries = [];\n }\n\n get length(): number {\n return this.entries.length;\n }\n\n all(): Entry[] {\n return this.entries;\n }\n\n size(): number {\n return this.entries.length;\n }\n\n isEmpty(): boolean {\n return this.entries.length <= 0;\n }\n\n has(key: string): boolean {\n return this.entries.some((entry) => entry.key === key);\n }\n\n set(key: string, value: any): void {\n if (!this.has(key)) {\n this.entries.push(new Entry(value, key));\n }\n }\n\n add(value: any, key: string): void {\n this.set(key, value);\n }\n\n putEntry(entry: Entry): void {\n if (!this.has(entry.key)) {\n this.entries.push(new Entry(entry.value, entry.key));\n }\n }\n\n keysArray(): string[] {\n return this.entries.map((entry) => entry.key);\n }\n\n addEach(object: any): void {\n Object.keys(object).forEach((key) => {\n this.set(key, object[key]);\n });\n }\n\n appendDict(dict: Dictionary): void {\n dict.entries.forEach((entry) => this.putEntry(entry));\n }\n\n clear(): void {\n this.entries = [];\n }\n\n delete(key: string): void {\n this.entries = this.entries.filter((entry) => entry.key !== key);\n }\n\n get(key: string): any {\n const found = this.entries.filter((entry) => entry.key === key);\n return found[0] ? found[0].value : null;\n }\n\n sort(fn: (a: Entry, b: Entry) => number) {\n this.entries.sort(fn);\n }\n\n sortByName() {\n this.entries.sort((a: Entry, b: Entry) => {\n if (a.key.includes('_custom') == b.key.includes('_custom')) {\n if (a.key < b.key) return -1;\n else {\n return 1;\n }\n } else {\n if (a.key.includes('_custom')) {\n return -1;\n } else {\n return 1;\n }\n }\n });\n }\n}\n\nexport class Entry {\n value: any;\n key: string;\n\n constructor(value: any, key: string) {\n this.value = value;\n this.key = key;\n }\n}\n","import { INITIAL_DOMAIN_NAME } from './constants';\nimport { testBusinessObject } from './businessObject';\nimport { elementTypes } from './elementTypes';\nimport { Dictionary } from './dictionary/dictionary';\n\nexport interface DomainConfiguration {\n name: string;\n actors: Dictionary;\n workObjects: Dictionary;\n}\n\nexport interface DomainConfigurationForExport {\n name: string;\n actors: any;\n workObjects: any;\n}\n\nexport interface CustomDomainConfiguration {\n name: string;\n actors: string[];\n workObjects: string[];\n}\nconst actor = structuredClone(testBusinessObject);\nactor.type = elementTypes.ACTOR;\n\nexport const testCustomDomainConfiguration: CustomDomainConfiguration = {\n name: INITIAL_DOMAIN_NAME,\n actors: ['Person'],\n workObjects: ['Document'],\n};\n\nexport function fromConfigurationFromFile(configFromFile: {\n name: string;\n actors: { [p: string]: any };\n workObjects: { [p: string]: any };\n}) {\n const actorsDict = new Dictionary();\n const workObjectsDict = new Dictionary();\n Object.keys(configFromFile.actors).forEach((key) => {\n actorsDict.add(configFromFile.actors[key], key);\n });\n Object.keys(configFromFile.workObjects).forEach((key) => {\n workObjectsDict.add(configFromFile.workObjects[key], key);\n });\n\n return {\n name: configFromFile.name,\n actors: actorsDict,\n workObjects: workObjectsDict,\n };\n}\n","export enum elementTypes {\n ACTIVITY = 'domainStory:activity',\n CONNECTION = 'domainStory:connection',\n ACTOR = 'domainStory:actor',\n WORKOBJECT = 'domainStory:workObject',\n GROUP = 'domainStory:group',\n TEXTANNOTATION = 'domainStory:textAnnotation',\n DOMAINSTORY = 'domainStory:',\n}\n","import { Dictionary } from 'src/app/Domain/Common/dictionary/dictionary';\nimport { overrideAppendedIcons } from 'src/app/Domain/Domain-Configuration/allIcons';\nimport { Configuration } from 'src/app/Domain/Common/configuration';\nimport { DomainConfiguration } from 'src/app/Domain/Common/domainConfiguration';\nimport { INITIAL_DOMAIN_NAME } from './constants';\n\nexport class IconConfiguration {\n domainName = INITIAL_DOMAIN_NAME;\n\n private allIconDictionary: Dictionary;\n\n constructor(allIconDictionary: Dictionary) {\n this.allIconDictionary = allIconDictionary;\n }\n\n /**\n * Select the Iconset which you want to use\n */\n getDefaultConf(): Configuration {\n return defaultConf;\n }\n\n updateAllIconRegistry(allIconDictionary: Dictionary): void {\n this.allIconDictionary = allIconDictionary;\n }\n\n appendSRCFile(\n actors: string[],\n actorsDict: Dictionary,\n workObjects: string[],\n workObjectsDict: Dictionary\n ): void {\n const newAppendedIcons: { [key: string]: any } = {};\n\n actors.forEach((name: string) => {\n if (!this.allIconDictionary.has(name)) {\n newAppendedIcons[name] = actorsDict.get(name);\n }\n });\n\n workObjects.forEach((name: string) => {\n if (!this.allIconDictionary.has(name)) {\n newAppendedIcons[name] = workObjectsDict.get(name);\n }\n });\n const appen = new Dictionary();\n Object.keys(newAppendedIcons).forEach((key) => {\n appen.set(key, newAppendedIcons[key]);\n });\n\n overrideAppendedIcons(appen);\n }\n\n createCustomConf(domainConfiguration: DomainConfiguration): Configuration {\n this.domainName = domainConfiguration.name;\n\n let actors = domainConfiguration.actors;\n let workObjects = domainConfiguration.workObjects;\n\n this.appendSRCFile(\n actors.keysArray(),\n actors,\n workObjects.keysArray(),\n workObjects\n );\n\n return new Configuration(actors.keysArray(), workObjects.keysArray());\n }\n}\n\n/* eslint no-unused-vars: 0*/\n\n/**\n * All Icons as one Set\n * There are more Icons than fit in the palette.\n * This is just for reference\n */\nconst allIconsConf = {\n actors: ['Person', 'Group', 'System', 'Pet'],\n workObjects: [\n 'Place',\n 'Flag',\n 'World',\n 'Water',\n 'Store',\n 'Theater',\n 'Business',\n 'Meeting-room',\n 'Hotel',\n 'Dining',\n 'Courthouse',\n 'Gas-station',\n 'Car',\n 'Bus',\n 'Train',\n 'Truck',\n 'Taxi',\n 'Bike',\n 'Boat',\n 'Motorcycle',\n 'Plane',\n 'Flight-takeoff',\n 'Flight-landing',\n 'Shuttle',\n 'Walking',\n 'Traffic',\n 'Commute',\n 'Document',\n 'Folder',\n 'Call',\n 'Email',\n 'Copyright',\n 'Briefcase',\n 'Attach',\n 'Ruler',\n 'Sum',\n 'Conversation',\n 'Update',\n 'Cellphone',\n 'Speaker-phone',\n 'Signal',\n 'Key',\n 'Pencil',\n 'How-To-Reg',\n 'Settings',\n 'Grid',\n 'Label',\n 'Receipt',\n 'Calendar',\n 'Wrench',\n 'Headset',\n 'Keyboard',\n 'Mouse',\n 'Microphone',\n 'Router',\n 'Scanner',\n 'Printer',\n 'DNS',\n 'Security',\n 'Cloud',\n 'Desktop',\n 'Tablet',\n 'Assessment',\n 'Dashboard',\n 'Pie-chart',\n 'View-List',\n 'Euro',\n 'Dollar',\n 'Info',\n 'Alarm',\n 'Problem',\n 'Circle-Arrows',\n 'Picture-as-PDF',\n 'Credit-Card',\n 'Shopping',\n 'Favorite',\n 'Gavel',\n 'Blind',\n 'Hourglass',\n 'Time',\n 'Search',\n 'Thumb-up',\n 'Thumb-down',\n 'Thumb-up-down',\n 'Couch',\n 'Education',\n 'Watch',\n ],\n};\n\n/**\n * Default Iconset\n */\nexport const defaultConf = {\n actors: ['Person', 'Group', 'System'],\n workObjects: ['Document', 'Folder', 'Call', 'Email', 'Conversation', 'Info'],\n};\n","import { ActivityCanvasObject } from '../Common/activityCanvasObject';\n\nexport class ActivityDialogData {\n activity: ActivityCanvasObject;\n numberIsAllowedMultipleTimes: boolean;\n showNumberFields: boolean;\n\n saveFN: any;\n\n constructor(\n activity: ActivityCanvasObject,\n numberIsAllowedMultipleTimes: boolean,\n showNumberFields: boolean,\n saveFN: any\n ) {\n this.activity = activity;\n this.numberIsAllowedMultipleTimes = numberIsAllowedMultipleTimes;\n this.showNumberFields = showNumberFields;\n this.saveFN = saveFN;\n }\n}\n","export class ExportDialogData {\n title: string;\n options: ExportOption[];\n\n constructor(title: string, options: ExportOption[]) {\n this.title = title;\n this.options = options;\n }\n}\n\nexport class ExportOption {\n text: string;\n fn: any;\n tooltip: string;\n\n constructor(text: string, tooltip: string, fn: any) {\n this.text = text;\n this.tooltip = tooltip;\n this.fn = fn;\n }\n}\n","export class InfoDialogData {\n title: string;\n infoText: string;\n isInfo: boolean;\n isLink: boolean;\n linkText: string | undefined;\n\n constructor(\n title: string,\n infoText: string,\n isInfo: boolean,\n isLink: boolean = false,\n linkText?: string\n ) {\n this.title = title;\n this.infoText = infoText;\n this.isInfo = isInfo;\n this.isLink = isLink;\n this.linkText = linkText;\n }\n}\n","export const NUMBER_BACKGROUND_COLOR = 'white';\nexport const NUMBER_COLOR = 'black';\nexport const STROKE_WIDTH = '1.5';\n\nexport const HIGHLIGHT_NUMBER_BACKGROUNG_COLOR = '#43acbf';\nexport const HIGHLIGHT_NUMBER_COLOR = 'black';\nexport const HIGHLIGHT_COLOR = 'black';\nexport const HIGHLIGHT_STROKE_WIDTH = '4';\n","import { Dictionary } from 'src/app/Domain/Common/dictionary/dictionary';\n\nexport let appendedIcons = new Dictionary();\nexport const allIcons = {\n Person:\n '',\n Group:\n '',\n Pet: '',\n Conversation:\n '',\n World:\n '',\n Store:\n '',\n Theater:\n '',\n Business:\n '',\n Water:\n '',\n Hotel:\n '',\n Dining:\n '',\n 'Gas-station':\n '',\n 'Meeting-room':\n '',\n Courthouse:\n '',\n Flag: '',\n Place:\n '',\n Car: '',\n Bus: '',\n Train:\n '',\n Truck:\n '',\n Taxi: '',\n Bike: '',\n Boat: '',\n Motorcycle:\n '',\n Plane:\n '',\n 'Flight-takeoff':\n '',\n 'Flight-landing':\n '',\n Shuttle:\n '',\n Walking:\n '',\n Traffic:\n '',\n Commute:\n '',\n System:\n '',\n Printer:\n '',\n Document:\n '',\n Folder:\n '',\n Call: '',\n Email:\n '',\n Copyright:\n '',\n DNS: '',\n Settings:\n '',\n Cellphone:\n '',\n Update:\n '',\n Briefcase:\n '',\n Microphone:\n '',\n Signal:\n '',\n Key: '',\n Pencil:\n '',\n Sum: '',\n Headset:\n '',\n Keyboard:\n '',\n Mouse:\n '',\n Router:\n '',\n Scanner:\n '',\n Security:\n '',\n Desktop:\n '',\n 'Speaker-phone':\n '',\n Tablet:\n '',\n Label:\n '',\n Receipt:\n '',\n Calendar:\n '',\n Cloud:\n '',\n Assessment:\n '',\n Dashboard:\n '',\n 'Pie-chart':\n '',\n Problem:\n '',\n 'Picture-as-PDF':\n '',\n Grid: '',\n Watch:\n '',\n Euro: '',\n Dollar:\n '',\n Info: '',\n Alarm:\n '',\n Wrench:\n '',\n 'Circle-Arrows':\n '',\n 'Credit-Card':\n '',\n Favorite:\n '',\n Gavel:\n '',\n Blind:\n '',\n Hourglass:\n '',\n Time: '',\n Search:\n '',\n Shopping:\n '',\n 'Thumb-up':\n '',\n 'Thumb-down':\n '',\n 'Thumb-up-down':\n '',\n Couch:\n '',\n Attach:\n '',\n Ruler:\n '',\n Education:\n '',\n 'How-To-Reg':\n '',\n 'View-List':\n '',\n};\n\nexport function getAllStandardIconKeys(): string[] {\n const allIconsDict = new Dictionary();\n\n allIconsDict.addEach(allIcons);\n\n return allIconsDict.keysArray();\n}\n\nexport function overrideAppendedIcons(newIcons: Dictionary): void {\n appendedIcons = newIcons;\n}\n","export enum IconFilterEnum {\n ICON_FILTER_ACTOR = 'ICON_FILTER_ACTOR',\n ICON_FILTER_WORKOBJECT = 'ICON_FILTER_WORKOBJECT',\n ICON_FILTER_UNASSIGNED = 'ICON_FILTER_UNASSIGNED',\n ICON_FILTER_NONE = 'ICON_FILTER_NONE',\n}\n","export class ConfigAndDST {\n domain: any;\n dst: any;\n\n constructor(domain: any, dst: any) {\n this.domain = domain;\n this.dst = dst;\n }\n}\n\nexport const testConfigAndDst: ConfigAndDST = {\n domain: JSON.parse(\n '{\"name\":\"\",' +\n '\"actors\":{\"Person\":\"' +\n '' +\n '\",' +\n '\"Group\":\"' +\n '' +\n '\",' +\n '\"System\":\"' +\n '\"},' +\n '\"workObjects\":{\"Document\":\"' +\n '\",' +\n '\"Folder\":\"' +\n '' +\n '\",' +\n '\"Call\":\"' +\n '\",' +\n '\"Email\":\"' +\n '\",' +\n '\"Conversation\":\"' +\n '\",' +\n '\"Info\":\"' +\n '' +\n '\"}}'\n ),\n dst:\n '[' +\n '{\"type\":\"domainStory:workObjectDocument\",\"name\":\"\",\"id\":\"shape_3792\",\"$type\":\"Element\",\"di\":{},\"$descriptor\":{},\"pickedColor\":\"black\",\"x\":302,\"y\":102},' +\n '{\"type\":\"domainStory:actorPerson\",\"name\":\"\",\"id\":\"shape_4666\",\"$type\":\"Element\",\"di\":{},\"$descriptor\":{},\"pickedColor\":\"black\",\"x\":103,\"y\":93},' +\n '{\"type\":\"domainStory:activity\",\"name\":\"\",\"id\":\"connection_4884\",\"$type\":\"Element\",\"di\":{},\"$descriptor\":{},\"pickedColor\":\"black\",\"number\":1,' +\n '\"waypoints\":[{\"original\":{\"x\":141,\"y\":131},\"x\":186,\"y\":133},{\"original\":{\"x\":340,\"y\":140},\"x\":302,\"y\":138}],' +\n '\"source\":\"shape_4666\",\"target\":\"shape_3792\"}]',\n};\n","export const SVG_LINK = 'http://www.w3.org/2000/svg';\nexport const X_OFFSET_UTIL = '8';\nexport const TEXTSPAN_TITLE_HEIGHT = 30;\nexport const TEXTSPAN_DESCRIPTION_HEIGHT = 15;\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { AutosaveSettingsComponent } from '../Presentation/Autosave/AutosaveSettings/autosave-settings.component';\nimport { AutosaveOptionsComponent } from '../Presentation/Autosave/AutosaveOptions/autosave-options.component';\nimport { AutosavedDraftsComponent } from '../Presentation/Autosave/AutosavedDrafts/autosaved-drafts.component';\nimport { FormsModule } from '@angular/forms';\nimport { MaterialModule } from '../material.module';\n\n@NgModule({\n declarations: [\n AutosaveSettingsComponent,\n AutosaveOptionsComponent,\n AutosavedDraftsComponent,\n ],\n exports: [AutosaveSettingsComponent],\n imports: [CommonModule, FormsModule, MaterialModule],\n})\nexport class AutosaveSettingsModule {}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { HeaderButtonsComponent } from '../Presentation/Header/header-buttons.component';\n\n@NgModule({\n declarations: [HeaderButtonsComponent],\n exports: [HeaderButtonsComponent],\n imports: [CommonModule],\n})\nexport class DomainStoryModelerModuleModule {}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { DomainConfigurationComponent } from 'src/app/Presentation/DomainConfiguration/domain-configuration.component';\nimport { IconListItemComponent } from '../Presentation/DomainConfiguration/icon-list-item/icon-list-item.component';\nimport { DetailsListItemComponent } from '../Presentation/DomainConfiguration/details-list-item/details-list-item.component';\nimport { DomainDetailsComponent } from '../Presentation/DomainConfiguration/domain-details/domain-details.component';\nimport { GeneralSettingsComponent } from '../Presentation/Settings/General/general-settings.component';\nimport { LabelDictionaryComponent } from '../Presentation/LabelDictionary/label-dictionary.component';\nimport { FormsModule } from '@angular/forms';\nimport { MaterialModule } from '../material.module';\nimport { AutosaveSettingsModule } from './autosave-settings.module';\n\n@NgModule({\n declarations: [\n DomainConfigurationComponent,\n GeneralSettingsComponent,\n LabelDictionaryComponent,\n IconListItemComponent,\n DetailsListItemComponent,\n DomainDetailsComponent,\n ],\n exports: [\n GeneralSettingsComponent,\n DomainConfigurationComponent,\n LabelDictionaryComponent,\n ],\n imports: [AutosaveSettingsModule, CommonModule, FormsModule, MaterialModule],\n})\nexport class SettingsModule {}\n","import { Component } from '@angular/core';\nimport { AutosaveConfigurationService } from '../../../Service/Autosave/autosave-configuration.service';\nimport { MatSnackBar } from '@angular/material/snack-bar';\nimport {\n SNACKBAR_DURATION,\n SNACKBAR_ERROR,\n SNACKBAR_SUCCESS,\n} from 'src/app/Domain/Common/constants';\n\n@Component({\n selector: 'app-autosave-options',\n templateUrl: './autosave-options.component.html',\n styleUrls: ['./autosave-options.component.scss'],\n})\nexport class AutosaveOptionsComponent {\n constructor(\n protected autosaveConfiguration: AutosaveConfigurationService,\n private snackbar: MatSnackBar\n ) {}\n\n save(activated: boolean, amount: number, interval: number) {\n if (\n this.autosaveConfiguration.setConfiguration({\n activated,\n amount,\n interval,\n })\n ) {\n this.snackbar.open('Settings for Autosave saved', undefined, {\n duration: SNACKBAR_DURATION,\n panelClass: SNACKBAR_SUCCESS,\n });\n } else {\n this.snackbar.open(\n 'Unable to save settings for Autosave - please try again',\n undefined,\n {\n duration: 2 * SNACKBAR_DURATION,\n panelClass: SNACKBAR_ERROR,\n }\n );\n }\n }\n}\n","\n \n Autosave Options\n \n \n
\n \n Enabled\n
\n
\n Interval\n \n
\n
\n Amount\n \n
\n \n Apply\n \n
\n
\n","import { Component } from '@angular/core';\n\n@Component({\n selector: 'app-autosave-settings',\n templateUrl: './autosave-settings.component.html',\n styleUrls: ['./autosave-settings.component.scss'],\n})\nexport class AutosaveSettingsComponent {}\n","\n\n","import { Component, OnInit } from '@angular/core';\nimport { AutosaveService } from '../../../Service/Autosave/autosave.service';\nimport { Draft } from '../../../Domain/Autosave/draft';\nimport { MatSnackBar } from '@angular/material/snack-bar';\nimport {\n SNACKBAR_DURATION,\n SNACKBAR_SUCCESS,\n} from 'src/app/Domain/Common/constants';\nimport { Subscription } from 'rxjs';\n\n@Component({\n selector: 'app-autosaved-drafts',\n templateUrl: './autosaved-drafts.component.html',\n styleUrls: ['./autosaved-drafts.component.scss'],\n})\nexport class AutosavedDraftsComponent implements OnInit {\n drafts: Draft[] = [];\n subscription: Subscription;\n\n constructor(\n private autosaveService: AutosaveService,\n private snackbar: MatSnackBar\n ) {\n this.subscription = this.autosaveService.autosavedDraftsChanged$.subscribe(\n () => this.initDrafts()\n );\n }\n\n ngOnInit(): void {\n this.initDrafts();\n }\n\n initDrafts() {\n this.drafts = this.autosaveService.loadCurrentDrafts();\n }\n\n loadDraft(draft: Draft): void {\n this.autosaveService.loadDraft(draft);\n this.snackbar.open('Draft loaded', undefined, {\n duration: SNACKBAR_DURATION,\n panelClass: SNACKBAR_SUCCESS,\n });\n }\n\n removeAllDrafts() {\n this.autosaveService.removeAllDrafts();\n }\n}\n","\n \n \n Autosaves \n \n {{ drafts.length ? drafts.length : \"no\" }}\n {{ drafts.length > 1 ? \"drafts\" : \"draft\" }} available\n \n \n
\n
\n
\n
{{ draft.title }}
\n
{{ draft.date }}
\n
\n \n Load Draft\n \n
\n
\n
\n \n Remove All Drafts\n \n
\n
\n
\n
\n\nNo drafts found.\n","import { Component, OnInit } from '@angular/core';\nimport { ModelerService } from '../../Service/Modeler/modeler.service';\nimport { AutosaveService } from '../../Service/Autosave/autosave.service';\n\n@Component({\n selector: 'app-modeler',\n templateUrl: './modeler.component.html',\n styleUrls: ['./modeler.component.scss'],\n})\nexport class ModelerComponent implements OnInit {\n constructor(\n private modelerService: ModelerService,\n private autosaveService: AutosaveService\n ) {}\n\n ngOnInit(): void {\n this.modelerService.postInit();\n this.autosaveService.loadLatestDraft();\n }\n}\n","
\n","import { AfterViewInit, Component, Inject, OnInit } from '@angular/core';\nimport { MAT_DIALOG_DATA, MatDialogRef } from '@angular/material/dialog';\nimport { UntypedFormBuilder, UntypedFormGroup } from '@angular/forms';\nimport { ActivityDialogData } from 'src/app/Domain/Dialog/activityDialogData';\nimport { ActivityCanvasObject } from '../../../Domain/Common/activityCanvasObject';\n\n@Component({\n selector: 'app-activity-dialog',\n templateUrl: './activity-dialog.component.html',\n styleUrls: ['./activity-dialog.component.scss'],\n})\nexport class ActivityDialogComponent {\n form: UntypedFormGroup;\n activityLabel: string;\n activityNumber: number | undefined;\n numberIsAllowedMultipleTimes: boolean;\n showNumberFields: boolean;\n activity: ActivityCanvasObject;\n\n saveFN: any;\n\n constructor(\n private fb: UntypedFormBuilder,\n private dialogRef: MatDialogRef,\n @Inject(MAT_DIALOG_DATA) data: ActivityDialogData\n ) {\n this.activity = data.activity;\n this.activityLabel = data.activity.businessObject.name;\n this.numberIsAllowedMultipleTimes = data.numberIsAllowedMultipleTimes;\n this.activityNumber = data.activity.businessObject.number;\n this.showNumberFields = data.showNumberFields;\n\n this.saveFN = data.saveFN;\n\n this.form = this.fb.group({\n activityLabel: [this.activityLabel, []],\n activityNumber: [this.activityNumber, []],\n multipleNumbers: [this.numberIsAllowedMultipleTimes, []],\n });\n }\n\n onSubmit(): void {\n this.numberIsAllowedMultipleTimes = !this.numberIsAllowedMultipleTimes;\n this.form.patchValue({\n multipleNumbers: this.numberIsAllowedMultipleTimes,\n });\n }\n\n save(): void {\n this.saveFN({\n activity: this.activity,\n ...this.form.value,\n });\n this.dialogRef.close();\n }\n\n close(): void {\n this.dialogRef.close();\n }\n\n preventDefault(event: Event) {\n event.preventDefault();\n }\n}\n","\n

Edit Activity

\n
\n
\n \n Number\n \n \n \n multiple\n
\n \n Label\n \n \n
\n
\n\n\n \n \n\n","import { Component, Inject, OnInit } from '@angular/core';\nimport { MAT_DIALOG_DATA, MatDialogRef } from '@angular/material/dialog';\nimport { ExportDialogData } from 'src/app/Domain/Dialog/exportDialogData';\nimport { BehaviorSubject } from 'rxjs/internal/BehaviorSubject';\n\n@Component({\n selector: 'app-export-dialog',\n templateUrl: './export-dialog.component.html',\n styleUrls: ['./export-dialog.component.scss'],\n})\nexport class ExportDialogComponent implements OnInit {\n title: string;\n options: {\n text: string;\n tooltip: string;\n fn: any;\n }[];\n withTitle: BehaviorSubject;\n useWhiteBackground: BehaviorSubject;\n\n constructor(\n private dialogRef: MatDialogRef,\n @Inject(MAT_DIALOG_DATA) data: ExportDialogData\n ) {\n this.withTitle = new BehaviorSubject(true);\n this.useWhiteBackground = new BehaviorSubject(true);\n this.title = data.title;\n this.options = data.options;\n }\n\n ngOnInit(): void {}\n\n doOption(i: number): void {\n this.options[i].fn(this.withTitle.value, this.useWhiteBackground.value);\n this.close();\n }\n\n close(): void {\n this.dialogRef.close();\n }\n\n updateWithTitle($event: Event) {\n // @ts-ignore\n this.withTitle.next($event.target.checked);\n }\n\n updateUseWhiteBackground($event: Event) {\n // @ts-ignore\n this.useWhiteBackground.next($event.target.checked);\n }\n}\n","\n

{{ title }}

\n \n
\n \n
\n\n
\n\n
\n \n \n {{ option.text }}\n \n
\n
\n","import { Component, OnInit } from '@angular/core';\nimport { MatDialogRef } from '@angular/material/dialog';\nimport { UntypedFormBuilder, UntypedFormGroup } from '@angular/forms';\nimport { TitleService } from 'src/app/Service/Title/title.service';\n\n@Component({\n selector: 'app-header-dialog',\n templateUrl: './header-dialog.component.html',\n styleUrls: ['./header-dialog.component.scss'],\n})\nexport class HeaderDialogComponent implements OnInit {\n form: UntypedFormGroup;\n title: string;\n description: string;\n\n constructor(\n private fb: UntypedFormBuilder,\n private dialogRef: MatDialogRef,\n private titleService: TitleService\n ) {\n this.title =\n this.titleService.getTitle() === '< name of this Domain Story >'\n ? ''\n : this.titleService.getTitle();\n this.description = this.titleService.getDescription();\n\n this.form = this.fb.group({\n title: [this.title, []],\n description: [this.description, []],\n });\n }\n\n ngOnInit(): void {}\n\n save(): void {\n this.titleService.updateTitleAndDescription(\n this.form.get('title')?.value,\n this.form.get('description')?.value,\n true\n );\n this.dialogRef.close();\n }\n\n close(): void {\n this.dialogRef.close();\n }\n\n preventDefault(event: Event) {\n event.preventDefault();\n }\n}\n","\n
\n \n Title\n \n \n
\n \n Description\n \n \n
\n
\n\n\n \n \n\n","import { AfterViewInit, Component, Inject } from '@angular/core';\nimport { MAT_DIALOG_DATA, MatDialogRef } from '@angular/material/dialog';\nimport { InfoDialogData } from 'src/app/Domain/Dialog/infoDialogData';\n\n@Component({\n selector: 'app-info-dialog',\n templateUrl: './info-dialog.component.html',\n styleUrls: ['./info-dialog.component.scss'],\n})\nexport class InfoDialogComponent implements AfterViewInit {\n title: string;\n infoText: string;\n showConfirmButton: boolean;\n hasLink: boolean;\n linkText: string;\n\n constructor(\n private dialogRef: MatDialogRef,\n @Inject(MAT_DIALOG_DATA) data: InfoDialogData\n ) {\n this.title = data.title;\n this.infoText = data.infoText;\n this.showConfirmButton = !data.isInfo;\n this.hasLink = data.isLink;\n this.linkText = data.linkText || '';\n }\n\n ngAfterViewInit() {\n const span = document.getElementsByClassName(\n 'readOnlyText'\n )[0] as HTMLTextAreaElement;\n span.style.height = span.scrollHeight + 'px';\n }\n\n close(): void {\n this.dialogRef.close();\n }\n}\n","\n

{{ title }}

\n {{ infoText }} \n {{ linkText }}\n
\n\n\n \n\n","import { Component } from '@angular/core';\nimport { MatDialogRef } from '@angular/material/dialog';\n\n@Component({\n selector: 'app-label-dictionary-dialog',\n templateUrl: './label-dictionary-dialog.component.html',\n styleUrls: ['./label-dictionary-dialog.component.scss'],\n})\nexport class LabelDictionaryDialogComponent {\n constructor(\n private dialogRef: MatDialogRef\n ) {}\n\n close(): void {\n this.dialogRef.close();\n }\n}\n","\n

Label Dictionary

\n \n
\n","import { AfterViewChecked, Component, Input } from '@angular/core';\nimport { IconListItem } from '../../../Domain/Domain-Configuration/iconListItem';\n\n@Component({\n selector: 'app-details-list-item',\n templateUrl: './details-list-item.component.html',\n styleUrls: ['./details-list-item.component.scss'],\n})\nexport class DetailsListItemComponent implements AfterViewChecked {\n @Input()\n icon!: IconListItem;\n\n private iconInitiated = false;\n\n get id(): string {\n return (\n 'domain-configuration-details-icon-' +\n this.icon.name.toLowerCase() +\n '-' +\n (this.icon.isWorkObject ? 'workobject' : 'actor')\n );\n }\n\n get name(): string {\n return this.icon.name;\n }\n\n ngAfterViewChecked(): void {\n this.createIcon();\n }\n\n private createIcon(): void {\n const img = document.getElementById(this.id) as HTMLImageElement;\n if (img && !this.iconInitiated) {\n img.src = '' + this.icon.svg;\n this.iconInitiated = true;\n }\n }\n}\n","
\n \"{{\n {{ icon.name }}\n
\n","import { Component, OnInit } from '@angular/core';\nimport {\n CustomDomainConfiguration,\n fromConfigurationFromFile,\n} from 'src/app/Domain/Common/domainConfiguration';\nimport { DomainConfigurationService } from 'src/app/Service/DomainConfiguration/domain-configuration.service';\nimport { IconDictionaryService } from 'src/app/Service/DomainConfiguration/icon-dictionary.service';\nimport { BehaviorSubject } from 'rxjs';\nimport { Dictionary } from 'src/app/Domain/Common/dictionary/dictionary';\nimport { sanitizeIconName } from 'src/app/Utils/sanitizer';\nimport { IconFilterEnum } from '../../Domain/Domain-Configuration/iconFilterEnum';\nimport { DomainCustomizationService } from '../../Service/DomainConfiguration/domain-customization.service';\nimport { ElementRegistryService } from 'src/app/Service/ElementRegistry/element-registry.service';\n\n@Component({\n selector: 'app-domain-configuration',\n templateUrl: './domain-configuration.component.html',\n styleUrls: ['./domain-configuration.component.scss'],\n})\nexport class DomainConfigurationComponent implements OnInit {\n private domainConfigurationTypes: CustomDomainConfiguration;\n\n filter = new BehaviorSubject(IconFilterEnum.ICON_FILTER_NONE);\n\n selectedActors = new BehaviorSubject([]);\n selectedWorkobjects = new BehaviorSubject([]);\n\n allIcons: BehaviorSubject;\n allIconNames = new BehaviorSubject([]);\n allFilteredIconNames = new BehaviorSubject([]);\n\n constructor(\n private configurationService: DomainConfigurationService,\n private iconDictionaryService: IconDictionaryService,\n private domainCustomizationService: DomainCustomizationService,\n private elementRegistryService: ElementRegistryService\n ) {\n this.domainConfigurationTypes =\n this.domainCustomizationService.getDomainConfiguration().value;\n\n this.allIcons = new BehaviorSubject(\n this.iconDictionaryService.getFullDictionary()\n );\n this.allIcons.subscribe((allIcons) => {\n this.allIconNames.next(allIcons.keysArray().sort(this.sortByName));\n });\n\n this.selectedActors = this.domainCustomizationService.selectedActors$;\n this.selectedWorkobjects =\n this.domainCustomizationService.selectedWorkobjects$;\n }\n\n ngOnInit(): void {\n this.filter.subscribe((type) => {\n let allFiltered = this.getFilteredNamesForType(type);\n this.allFilteredIconNames.next(allFiltered.sort(this.sortByName));\n });\n }\n\n private sortByName(a: string, b: string): number {\n if (a.includes('_custom') == b.includes('_custom')) {\n if (a < b) return -1;\n else {\n return 1;\n }\n } else {\n if (a.includes('_custom')) {\n return -1;\n } else {\n return 1;\n }\n }\n }\n\n /** Default Domain **/\n loadMinimalIconConfigurationWithDefaultIcons(): void {\n this.domainCustomizationService.resetDomain();\n }\n\n loadInitialConfiguration(): void {\n this.domainCustomizationService.cancel();\n }\n\n /** Persist Domain **/\n saveDomain(): void {\n this.domainCustomizationService.saveDomain(\n this.elementRegistryService.getUsedIcons()\n );\n }\n\n exportDomain(): void {\n this.domainCustomizationService.exportDomain();\n }\n\n /** Add Custom Icon **/\n startIconUpload(): void {\n document.getElementById('importIcon')?.click();\n }\n\n importIcon(): void {\n // @ts-ignore\n const files = document.getElementById('importIcon').files;\n for (let iconInputFile of files) {\n const reader = new FileReader();\n const name = sanitizeIconName(iconInputFile.name);\n const iconName = name + '_custom';\n\n reader.onloadend = (e: ProgressEvent) => {\n if (e.target) {\n const src: string = e.target.result as unknown as string;\n this.iconDictionaryService.addIMGToIconDictionary(src, iconName);\n this.iconDictionaryService.registerIconForBPMN(iconName, src);\n\n this.allIcons.next(this.iconDictionaryService.getFullDictionary());\n this.filter.next(this.filter.value);\n\n this.domainCustomizationService.addNewIcon(iconName);\n }\n };\n reader.readAsDataURL(iconInputFile);\n }\n }\n\n /** Import Domain **/\n startDomainImport(): void {\n document.getElementById('importDomain')?.click();\n }\n\n importDomain(): void {\n // @ts-ignore\n const domainInputFile = document.getElementById('importDomain').files[0];\n const reader = new FileReader();\n\n reader.onloadend = (e: ProgressEvent) => {\n const configFromFile = JSON.parse(\n e.target?.result as unknown as string\n ) as {\n name: string;\n actors: { [key: string]: any };\n workObjects: { [key: string]: any };\n };\n const config = fromConfigurationFromFile(configFromFile);\n this.configurationService.loadConfiguration(config, false);\n\n this.domainCustomizationService.importConfiguration(config);\n };\n\n reader.readAsText(domainInputFile);\n }\n\n /** Filter **/\n filterForActors(): void {\n if (this.filter.value !== IconFilterEnum.ICON_FILTER_ACTOR) {\n this.filter.next(IconFilterEnum.ICON_FILTER_ACTOR);\n } else {\n this.filter.next(IconFilterEnum.ICON_FILTER_NONE);\n }\n }\n\n filterForWorkobjects(): void {\n if (this.filter.value !== IconFilterEnum.ICON_FILTER_WORKOBJECT) {\n this.filter.next(IconFilterEnum.ICON_FILTER_WORKOBJECT);\n } else {\n this.filter.next(IconFilterEnum.ICON_FILTER_NONE);\n }\n }\n\n filterForUnassigned(): void {\n if (this.filter.value !== IconFilterEnum.ICON_FILTER_UNASSIGNED) {\n this.filter.next(IconFilterEnum.ICON_FILTER_UNASSIGNED);\n } else {\n this.filter.next(IconFilterEnum.ICON_FILTER_NONE);\n }\n }\n\n filterByNameAndType($event: any) {\n const filteredByNameAndType = this.getFilteredNamesForType(\n this.filter.value\n ).filter((name) =>\n name.toLowerCase().includes($event.target.value.toLowerCase())\n );\n this.allFilteredIconNames.next(filteredByNameAndType.sort(this.sortByName));\n }\n\n private getFilteredNamesForType(type: IconFilterEnum): string[] {\n let allFiltered: string[] = [];\n switch (type) {\n case IconFilterEnum.ICON_FILTER_NONE:\n allFiltered = this.allIconNames.value;\n break;\n case IconFilterEnum.ICON_FILTER_ACTOR:\n allFiltered = this.allIconNames.value.filter((name) =>\n this.domainCustomizationService.isIconActor(name)\n );\n break;\n case IconFilterEnum.ICON_FILTER_WORKOBJECT:\n allFiltered = this.allIconNames.value.filter((name) =>\n this.domainCustomizationService.isIconWorkObject(name)\n );\n break;\n case IconFilterEnum.ICON_FILTER_UNASSIGNED:\n allFiltered = this.allIconNames.value.filter(\n (name) =>\n !this.domainCustomizationService.isIconActor(name) &&\n !this.domainCustomizationService.isIconWorkObject(name)\n );\n break;\n }\n return allFiltered;\n }\n}\n","
\n
\n
\n
\n \n \n home \n \n
\n
\n
\n
Filter:
\n \n None\n \n
\n \n Actors\n \n
\n \n Workobjects\n \n
\n \n
\n
\n \n \n unarchive\n \n \n
\n \n close\n \n \n
\n
\n\n
\n
\n
\n \n \n \n \n \n
\n
\n
\n
\n\n \n
\n","import { Component, OnInit } from '@angular/core';\nimport { Observable } from 'rxjs';\nimport { DomainCustomizationService } from 'src/app/Service/DomainConfiguration/domain-customization.service';\nimport { IconListItem } from 'src/app/Domain/Domain-Configuration/iconListItem';\nimport { TitleService } from 'src/app/Service/Title/title.service';\n\n@Component({\n selector: 'app-domain-details',\n templateUrl: './domain-details.component.html',\n styleUrls: ['./domain-details.component.scss'],\n})\nexport class DomainDetailsComponent implements OnInit {\n domainName: Observable;\n\n private draggedList: string = '';\n private draggedIndex = 0;\n\n selectedActors$ = this.customizationService.selectedActors$;\n selectedWorkobjects$ = this.customizationService.selectedWorkobjects$;\n\n constructor(\n private customizationService: DomainCustomizationService,\n titleService: TitleService\n ) {\n this.domainName = titleService.domainName$;\n }\n\n ngOnInit(): void {}\n\n changeName(event: Event): void {\n // @ts-ignore\n this.customizationService.changeName(event.target.value);\n }\n\n getIconForName(iconName: string): IconListItem {\n return this.customizationService.getIconForName(iconName).value;\n }\n\n allowDrop($event: DragEvent, listName: string) {\n if (this.draggedList === listName) {\n $event.preventDefault();\n }\n }\n\n onDrop($event: DragEvent, iconName: string, actors: boolean, index: number) {\n let list;\n if (actors) {\n list = this.selectedActors$;\n } else {\n list = this.selectedWorkobjects$;\n }\n const sortedList = list.value;\n const item = sortedList[this.draggedIndex];\n sortedList.splice(this.draggedIndex, 1);\n sortedList.splice(index, 0, item);\n list.next(sortedList);\n\n if (actors) {\n this.customizationService.setSelectedActors(sortedList);\n } else {\n this.customizationService.setSelectedWorkObject(sortedList);\n }\n }\n\n onDragStart(index: number, draggedList: string) {\n this.draggedList = draggedList;\n this.draggedIndex = index;\n }\n}\n","
\n
\n

Icon Set name

\n
\n \n \n \n
\n
\n
\n

Order of actors

\n \n \n \n \n \n
\n
\n

Order of work objects

\n \n \n \n \n \n
\n
\n","import { AfterViewChecked, Component, Input, OnInit } from '@angular/core';\nimport { IconListItem } from '../../../Domain/Domain-Configuration/iconListItem';\nimport { BehaviorSubject } from 'rxjs';\nimport { DomainCustomizationService } from '../../../Service/DomainConfiguration/domain-customization.service';\n\n@Component({\n selector: 'app-icon-list-item',\n templateUrl: './icon-list-item.component.html',\n styleUrls: ['./icon-list-item.component.scss'],\n})\nexport class IconListItemComponent implements OnInit, AfterViewChecked {\n @Input()\n iconName: string = '';\n\n private iconInitiated = false;\n\n // @ts-ignore\n icon = new BehaviorSubject({});\n\n isActor: boolean = false;\n isWorkobject: boolean = false;\n isNone: boolean = true;\n\n get name(): string {\n return this.iconName;\n }\n\n get id() {\n return 'domain-configuration-icon-' + this.iconName;\n }\n\n constructor(private domainCustomizationService: DomainCustomizationService) {}\n\n ngOnInit(): void {\n this.icon = this.domainCustomizationService.getIconForName(this.iconName);\n if (!this.icon) {\n return;\n }\n\n this.icon.subscribe((value) => {\n this.isActor = value.isActor;\n this.isWorkobject = value.isWorkObject;\n this.isNone = !(value.isActor || value.isWorkObject);\n });\n this.isActor = this.icon.value.isActor;\n this.isWorkobject = this.icon.value.isWorkObject;\n this.isNone = !(this.icon.value.isActor || this.icon.value.isWorkObject);\n }\n\n ngAfterViewChecked(): void {\n this.createIcon();\n }\n\n private createIcon(): void {\n const img = document.getElementById(this.id) as HTMLImageElement;\n if (img && !this.iconInitiated) {\n img.src = '' + this.icon.value?.svg;\n this.iconInitiated = true;\n }\n }\n\n toggleNone() {\n this.domainCustomizationService.setAsUnassigned(\n this.iconName,\n this.icon.value.isActor\n );\n }\n\n toggleActor(): void {\n this.domainCustomizationService.setAsActor(true, this.iconName);\n }\n\n toggleWorkobject(): void {\n this.domainCustomizationService.setAsWorkobject(true, this.iconName);\n }\n}\n","
\n
\n \"{{\n
{{ name }}
\n
\n
\n \n \n None\n \n \n Actor\n \n \n Workobject\n \n \n
\n
\n","import { Component } from '@angular/core';\nimport { SettingsService } from '../../Service/Settings/settings.service';\nimport { ModelerService } from '../../Service/Modeler/modeler.service';\nimport { Observable } from 'rxjs';\nimport { ReplayStateService } from '../../Service/Replay/replay-state.service';\nimport { DirtyFlagService } from '../../Service/DirtyFlag/dirty-flag.service';\nimport {\n ExportDialogData,\n ExportOption,\n} from '../../Domain/Dialog/exportDialogData';\nimport { MatDialogConfig } from '@angular/material/dialog';\nimport { ExportDialogComponent } from '../Dialog/export-dialog/export-dialog.component';\nimport { InfoDialogData } from '../../Domain/Dialog/infoDialogData';\nimport { InfoDialogComponent } from '../Dialog/info-dialog/info-dialog.component';\nimport { DialogService } from '../../Service/Dialog/dialog.service';\nimport { ReplayService } from '../../Service/Replay/replay.service';\nimport { ExportService } from '../../Service/Export/export.service';\nimport { ImportDomainStoryService } from '../../Service/Import/import-domain-story.service';\nimport { LabelDictionaryDialogComponent } from '../Dialog/label-dictionary-dialog/label-dictionary-dialog.component';\nimport { MatSnackBar } from '@angular/material/snack-bar';\nimport {\n SNACKBAR_DURATION,\n SNACKBAR_INFO,\n} from '../../Domain/Common/constants';\nimport { AutosaveService } from '../../Service/Autosave/autosave.service';\nimport { TitleService } from '../../Service/Title/title.service';\nimport { RendererService } from '../../Service/Renderer/renderer.service';\n\n@Component({\n selector: 'app-header-buttons',\n templateUrl: './header-buttons.component.html',\n styleUrls: ['./header-buttons.component.scss'],\n})\nexport class HeaderButtonsComponent {\n isReplay$: Observable;\n isDirty$: Observable;\n\n constructor(\n private settingsService: SettingsService,\n private modelerService: ModelerService,\n private replayStateService: ReplayStateService,\n private dirtyFlagService: DirtyFlagService,\n private dialogService: DialogService,\n private replayService: ReplayService,\n private exportService: ExportService,\n private importService: ImportDomainStoryService,\n private titleService: TitleService,\n private renderService: RendererService,\n private snackbar: MatSnackBar\n ) {\n this.isReplay$ = this.replayStateService.replayOn$;\n this.isDirty$ = this.dirtyFlagService.dirty$;\n }\n import(): void {\n // @ts-ignore\n const filename = document.getElementById('import').files[0].name;\n if (filename.endsWith('.dst')) {\n this.importService.importDST(\n // @ts-ignore\n document.getElementById('import').files[0],\n filename,\n false\n );\n } else if (filename.endsWith('.dst.svg')) {\n this.importService.importDST(\n // @ts-ignore\n document.getElementById('import').files[0],\n filename,\n true\n );\n } else if (filename.endsWith('.egn')) {\n this.importService.importEGN(\n // @ts-ignore\n document.getElementById('import').files[0],\n filename,\n false\n );\n } else if (filename.endsWith('.egn.svg')) {\n this.importService.importEGN(\n // @ts-ignore\n document.getElementById('import').files[0],\n filename,\n true\n );\n }\n this.modelerService.commandStackChanged();\n }\n\n openSettings(): void {\n this.settingsService.open();\n }\n\n /** Open Dialogs **/\n openDownloadDialog(): void {\n if (this.exportService.isDomainStoryExportable()) {\n const SVGDownloadOption = new ExportOption(\n 'SVG',\n 'Download an SVG-Image with the Domain-Story embedded. Can be used to save and share your Domain-Story.',\n (withTitle: boolean, useWhiteBackground: boolean) =>\n this.exportService.downloadSVG(withTitle, useWhiteBackground)\n );\n const EGNDownloadOption = new ExportOption(\n 'EGN',\n 'Download an EGN-File with the Domain-Story. Can be used to save and share your Domain-Story.',\n (withTitle: boolean, useWhiteBackground: boolean) =>\n this.exportService.downloadDST()\n );\n const PNGDownloadOption = new ExportOption(\n 'PNG',\n 'Donwload a PNG-Image of the DOmain-Story. This does not include the Domain-Story!',\n (withTitle: boolean, useWhiteBackground: boolean) =>\n this.exportService.downloadPNG(withTitle)\n );\n const HTMLDownloadOption = new ExportOption(\n 'HTML-Presentation',\n 'Download an HTML-Presentation. This does not include the Domain-Story!',\n (withTitle: boolean, useWhiteBackground: boolean) =>\n this.exportService.downloadHTMLPresentation()\n );\n\n const config = new MatDialogConfig();\n config.disableClose = false;\n config.autoFocus = true;\n config.data = new ExportDialogData('Export', [\n SVGDownloadOption,\n EGNDownloadOption,\n PNGDownloadOption,\n HTMLDownloadOption,\n ]);\n\n this.dialogService.openDialog(ExportDialogComponent, config);\n } else {\n this.snackbar.open('No Domain Story to be exported', undefined, {\n duration: SNACKBAR_DURATION,\n panelClass: SNACKBAR_INFO,\n });\n }\n }\n\n openKeyboardShortcutsDialog(): void {\n const title = 'Keyboard shortcuts';\n const shortCutText =\n 'Undo:\\t\\t\\t\\t\\tctrl + Z \\n' +\n 'Redo:\\t\\t\\t\\t\\tctrl + Y OR ctrl + shift + Z\\n' +\n 'Select All:\\t\\t\\t\\tctrl + A\\n' +\n 'Export as EGN:\\t\\t\\tctrl + S\\n' +\n 'Import Domain Story: \\tctrl + L\\n' +\n 'Search for text:\\t\\t\\tctrl + F\\n' +\n 'Direct editing:\\t\\t\\tE\\n' +\n 'Hand tool:\\t\\t\\t\\tH\\n' +\n 'Lasso tool:\\t\\t\\t\\tL\\n' +\n 'Space tool:\\t\\t\\t\\tS';\n\n const config = new MatDialogConfig();\n config.disableClose = false;\n config.autoFocus = true;\n\n config.data = new InfoDialogData(title, shortCutText, true);\n\n this.dialogService.openDialog(InfoDialogComponent, config);\n }\n\n openLabelDictionary(): void {\n if (this.exportService.isDomainStoryExportable()) {\n const config = new MatDialogConfig();\n config.disableClose = false;\n config.autoFocus = true;\n\n this.dialogService.openDialog(LabelDictionaryDialogComponent, config);\n } else {\n this.snackbar.open(\n 'There are currently no Elements on the canvas',\n undefined,\n {\n duration: SNACKBAR_DURATION,\n panelClass: SNACKBAR_INFO,\n }\n );\n }\n }\n\n createNewDomainStory(): void {\n this.titleService.reset();\n this.renderService.reset();\n }\n\n /** Replay functions **/\n startReplay(): void {\n this.replayService.startReplay();\n }\n\n stopReplay(): void {\n this.replayService.stopReplay();\n }\n\n previousStep(): void {\n this.replayService.previousStep();\n }\n\n nextStep(): void {\n this.replayService.nextStep();\n }\n}\n","
\n \n play_arrow \n \n \n unarchive \n \n \n \n \n archive\n \n \n archive\n \n \n \n \n spellcheck\n \n \n \n \n keyboard \n \n \n note_add \n \n
\n
\n \n \n \n
\n","import { Component } from '@angular/core';\nimport { combineLatest, map, Observable } from 'rxjs';\nimport { TitleService } from '../../Service/Title/title.service';\nimport { ReplayService } from '../../Service/Replay/replay.service';\nimport { ReplayStateService } from '../../Service/Replay/replay-state.service';\nimport { MatDialogConfig } from '@angular/material/dialog';\nimport { HeaderDialogComponent } from '../Dialog/header-dialog/header-dialog.component';\nimport { DialogService } from '../../Service/Dialog/dialog.service';\n\n@Component({\n selector: 'app-header',\n templateUrl: './header.component.html',\n styleUrls: ['./header.component.scss'],\n})\nexport class HeaderComponent {\n title$ = this.titleService.title$;\n description$ = this.titleService.description$;\n showDescription$ = this.titleService.showDescription$;\n\n isReplay$: Observable;\n stepDescription$: Observable;\n showDescription: Observable;\n\n constructor(\n private titleService: TitleService,\n private replayService: ReplayService,\n private replayStateService: ReplayStateService,\n private dialogService: DialogService\n ) {\n this.isReplay$ = this.replayStateService.replayOn$;\n\n this.stepDescription$ = combineLatest([\n this.replayService.currentStep$,\n this.replayService.maxStepNumber$,\n ]).pipe(map(([step, count]) => `${step}/${count}`));\n\n this.showDescription = this.titleService.showDescription$;\n }\n\n openHeaderDialog(): void {\n const config = new MatDialogConfig();\n config.disableClose = false;\n config.autoFocus = true;\n this.dialogService.openDialog(HeaderDialogComponent, config);\n }\n\n setShowDescription(show: boolean): void {\n this.titleService.setShowDescription(show);\n }\n}\n","\n \n \n \n expand_less\n \n \n \n expand_more\n \n \n \n {{ title$ | async }}\n edit \n \n \n\n \n \n Step: {{ stepDescription$ | async }}\n\n \n\n \n \n\n\n {{ description$ | async }}\n\n","import { AfterViewInit, Component, EventEmitter, Output } from '@angular/core';\nimport { BehaviorSubject } from 'rxjs';\nimport { WorkObjectLabelEntry } from '../../Domain/LabelDictionary/workObjectLabelEntry';\nimport { LabelEntry } from '../../Domain/LabelDictionary/labelEntry';\nimport { LabelDictionaryService } from '../../Service/LabelDictionary/label-dictionary.service';\n\n@Component({\n selector: 'app-label-dictionary',\n templateUrl: './label-dictionary.component.html',\n styleUrls: ['./label-dictionary.component.scss'],\n})\nexport class LabelDictionaryComponent implements AfterViewInit {\n workobjectEntriesSubject: BehaviorSubject;\n activityEntriesSubject: BehaviorSubject;\n\n workObjectEntries: WorkObjectLabelEntry[];\n activityEntries: LabelEntry[];\n\n @Output()\n closeEmitter: EventEmitter = new EventEmitter();\n\n constructor(private labelDictionaryService: LabelDictionaryService) {\n this.labelDictionaryService.createLabelDictionaries();\n this.workObjectEntries = this.labelDictionaryService.getWorkObjectLabels();\n this.activityEntries = this.labelDictionaryService.getActivityLabels();\n\n this.workobjectEntriesSubject = new BehaviorSubject(this.workObjectEntries);\n this.activityEntriesSubject = new BehaviorSubject(this.activityEntries);\n }\n\n ngAfterViewInit(): void {\n this.labelDictionaryService.createLabelDictionaries();\n this.workobjectEntriesSubject.next(\n this.labelDictionaryService.getWorkObjectLabels()\n );\n this.activityEntriesSubject.next(\n this.labelDictionaryService.getActivityLabels()\n );\n }\n\n save(): void {\n this.workObjectEntries = this.workobjectEntriesSubject.value;\n this.activityEntries = this.activityEntriesSubject.value;\n\n const activityNames: string[] = [];\n const originalActivityNames: string[] = [];\n\n const workObjectNames: string[] = [];\n const originalWorkObjectNames: string[] = [];\n\n this.activityEntries\n .filter((a) => a.name !== a.originalName)\n .forEach((activity) => {\n activityNames.push(activity.name);\n originalActivityNames.push(activity.originalName);\n });\n\n this.workObjectEntries\n .filter((w) => w.name !== w.originalName)\n .forEach((workobject) => {\n workObjectNames.push(workobject.name);\n originalWorkObjectNames.push(workobject.originalName);\n });\n\n this.labelDictionaryService.massRenameLabels(\n activityNames,\n originalActivityNames,\n workObjectNames,\n originalWorkObjectNames\n );\n this.closeEmitter.emit();\n }\n\n cancel(): void {\n this.workObjectEntries.forEach((w) => {\n w.name = w.originalName;\n });\n this.activityEntries.forEach((a) => {\n a.name = a.originalName;\n });\n\n this.workobjectEntriesSubject.next(this.workObjectEntries);\n this.activityEntriesSubject.next(this.activityEntries);\n }\n\n updateActivityEntry($event: Event, activityEntry: LabelEntry) {\n let entries = this.activityEntriesSubject.value;\n entries.filter(\n (e) => e.originalName === activityEntry.originalName\n // @ts-ignore\n )[0].name = $event.target.value;\n this.activityEntriesSubject.next(entries);\n }\n\n updateWorkobjectEntry($event: Event, workobjectEntry: LabelEntry) {\n let entries = this.workobjectEntriesSubject.value;\n entries.filter(\n (e) => e.originalName === workobjectEntry.originalName\n // @ts-ignore\n )[0].name = $event.target.value;\n this.workobjectEntriesSubject.next(entries);\n }\n\n preventDefault(event: Event): void {\n event.preventDefault();\n }\n\n close(): void {\n this.closeEmitter.emit();\n }\n}\n","\n
\n

Workobjects

\n \n \n \n \n \n \n \n
\n
\n

Activities

\n \n \n \n \n \n \n \n
\n
\n\n \n \n\n","import { Component } from '@angular/core';\n\n@Component({\n selector: 'app-general-settings',\n templateUrl: './general-settings.component.html',\n styleUrls: ['./general-settings.component.scss'],\n})\nexport class GeneralSettingsComponent {}\n","
\n \n
\n","import { Component } from '@angular/core';\nimport { SettingsService } from 'src/app/Service/Settings/settings.service';\nimport { ModelerService } from 'src/app/Service/Modeler/modeler.service';\nimport { DomainConfiguration } from 'src/app/Domain/Common/domainConfiguration';\nimport { BehaviorSubject, Observable } from 'rxjs';\nimport { AutosaveConfigurationService } from '../../Service/Autosave/autosave-configuration.service';\nimport { DomainCustomizationService } from '../../Service/DomainConfiguration/domain-customization.service';\n\n@Component({\n selector: 'app-settings',\n templateUrl: './settings.component.html',\n styleUrls: ['./settings.component.scss'],\n})\nexport class SettingsComponent {\n domainConfiguration: DomainConfiguration | undefined;\n showGeneralSettings = new BehaviorSubject(false);\n showDomainCustomization = new BehaviorSubject(true);\n\n constructor(\n private settingsService: SettingsService,\n private modelerService: ModelerService,\n private domainCustomizationService: DomainCustomizationService\n ) {}\n\n close(): void {\n const savedConfiguration =\n this.domainCustomizationService.getAndClearSavedConfiguration();\n if (savedConfiguration) {\n this.modelerService.restart(savedConfiguration);\n }\n this.settingsService.close();\n }\n\n openGeneralSettings() {\n this.showGeneralSettings.next(true);\n this.showDomainCustomization.next(false);\n }\n\n openDomainCustomization() {\n this.showGeneralSettings.next(false);\n this.showDomainCustomization.next(true);\n }\n}\n","
\n \n \n \n
\n \n Customize Icons for Your Domain\n \n \n General Settings\n \n
\n
\n
\n\n \n \n
\n","import { Injectable } from '@angular/core';\nimport { ReplaySubject } from 'rxjs';\nimport { StorageService } from '../BrowserStorage/storage.service';\nimport { AutosaveConfiguration } from '../../Domain/Autosave/autosave-configuration';\nimport {\n DEFAULT_AUTOSAVES_AMOUNT,\n DEFAULT_AUTOSAVES_ENABLED,\n DEFAULT_AUTOSAVES_INTERVAL,\n} from 'src/app/Domain/Common/constants';\n\nconst AUTOSAVE_CONFIGURATION_TAG = 'autosaveConfiguration';\n\nconst defaultConfiguration: AutosaveConfiguration = {\n activated: DEFAULT_AUTOSAVES_ENABLED,\n interval: DEFAULT_AUTOSAVES_INTERVAL,\n amount: DEFAULT_AUTOSAVES_AMOUNT,\n};\n\n@Injectable({\n providedIn: 'root',\n})\nexport class AutosaveConfigurationService {\n private configuration = defaultConfiguration;\n\n private readonly configurationSubject =\n new ReplaySubject(1);\n readonly configuration$ = this.configurationSubject.asObservable();\n\n constructor(private storageService: StorageService) {\n this.initializeConfiguration();\n }\n\n private initializeConfiguration() {\n this.loadConfiguration();\n this.configurationSubject.next(this.configuration);\n }\n\n setConfiguration(configuration: AutosaveConfiguration): boolean {\n try {\n this.configuration = configuration;\n this.saveConfiguration();\n this.configurationSubject.next(configuration);\n return true;\n } catch {\n return false;\n }\n }\n\n private loadConfiguration() {\n this.configuration =\n this.storageService.get(AUTOSAVE_CONFIGURATION_TAG) ??\n defaultConfiguration;\n }\n\n private saveConfiguration() {\n this.storageService.set(AUTOSAVE_CONFIGURATION_TAG, this.configuration);\n }\n}\n","import { Injectable } from '@angular/core';\nimport { RendererService } from '../Renderer/renderer.service';\nimport { ExportService } from '../Export/export.service';\nimport { Draft } from '../../Domain/Autosave/draft';\nimport { AutosaveConfigurationService } from './autosave-configuration.service';\nimport { IconDictionaryService } from '../DomainConfiguration/icon-dictionary.service';\nimport { elementTypes } from '../../Domain/Common/elementTypes';\nimport { fromConfigurationFromFile } from '../../Domain/Common/domainConfiguration';\nimport { StorageService } from '../BrowserStorage/storage.service';\nimport { TitleService } from '../Title/title.service';\nimport { AutosaveConfiguration } from '../../Domain/Autosave/autosave-configuration';\nimport { Subject } from 'rxjs';\nimport {\n INITIAL_DESCRIPTION,\n INITIAL_TITLE,\n SNACKBAR_DURATION,\n SNACKBAR_INFO,\n} from '../../Domain/Common/constants';\nimport { MatSnackBar } from '@angular/material/snack-bar';\n\nexport const DRAFTS_TAG = 'autosaveDrafts';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class AutosaveService {\n private autosaveTimer: any;\n autosavedDraftsChanged$ = new Subject();\n\n constructor(\n private autosaveConfiguration: AutosaveConfigurationService,\n private exportService: ExportService,\n private iconDictionaryService: IconDictionaryService,\n private rendererService: RendererService,\n private snackbar: MatSnackBar,\n private storageService: StorageService,\n private titleService: TitleService\n ) {\n this.autosaveConfiguration.configuration$.subscribe((configuration) =>\n this.updateConfiguration(configuration)\n );\n }\n\n loadCurrentDrafts(): Draft[] {\n const drafts = this.readDrafts();\n this.sortDrafts(drafts);\n return drafts;\n }\n\n loadDraft(draft: Draft): void {\n const configFromFile = draft.configAndDST.domain;\n const config = fromConfigurationFromFile(configFromFile);\n const story = JSON.parse(draft.configAndDST.dst);\n\n this.titleService.updateTitleAndDescription(\n draft.title,\n draft.description,\n false\n );\n\n const actorIcons = this.iconDictionaryService.getElementsOfType(\n story,\n elementTypes.ACTOR\n );\n const workObjectIcons = this.iconDictionaryService.getElementsOfType(\n story,\n elementTypes.WORKOBJECT\n );\n this.iconDictionaryService.updateIconRegistries(\n actorIcons,\n workObjectIcons,\n config\n );\n this.rendererService.importStory(story, true, config, false);\n }\n\n removeAllDrafts() {\n this.storageService.set(DRAFTS_TAG, []);\n this.autosavedDraftsChanged$.next();\n }\n\n loadLatestDraft() {\n const drafts = this.readDrafts();\n if (drafts.length === 0) {\n return;\n }\n this.loadDraft(drafts[0]);\n }\n\n private updateConfiguration(configuration: AutosaveConfiguration) {\n this.stopTimer();\n\n if (configuration.activated) {\n this.startTimer(configuration.interval, configuration.amount);\n }\n }\n\n private stopTimer(): void {\n if (this.autosaveTimer) {\n clearInterval(this.autosaveTimer);\n this.autosaveTimer = undefined;\n }\n }\n\n private startTimer(interval: number, amount: number): void {\n this.autosaveTimer = setInterval(() => {\n const drafts = this.loadCurrentDrafts();\n const newDraft = this.createDraft();\n let isChanged = amount > 0;\n if (drafts.length > 0) {\n isChanged = isChanged && !this.isSame(newDraft, drafts[0]);\n }\n if (isChanged && !this.isDraftEmpty(newDraft)) {\n drafts.unshift(newDraft);\n while (drafts.length > amount) {\n drafts.pop();\n }\n this.writeDrafts(drafts);\n this.snackbar.open('Draft Saved', undefined, {\n panelClass: SNACKBAR_INFO,\n duration: SNACKBAR_DURATION,\n });\n this.autosavedDraftsChanged$.next();\n }\n }, interval * 1000);\n }\n\n private isDraftEmpty(draft: Draft) {\n return (\n draft.title === INITIAL_TITLE &&\n draft.description === INITIAL_DESCRIPTION &&\n JSON.parse(draft.configAndDST.dst).length === 0\n );\n }\n\n private isSame(a: Draft, b: Draft) {\n return (\n a.title === b.title &&\n a.description === b.description &&\n JSON.stringify(a.configAndDST) === JSON.stringify(b.configAndDST)\n );\n }\n\n private writeDrafts(drafts: Draft[]) {\n this.storageService.set(DRAFTS_TAG, drafts);\n }\n\n private readDrafts(): Draft[] {\n return this.storageService.get(DRAFTS_TAG) ?? [];\n }\n\n private createDraft(): Draft {\n const dst = JSON.stringify(this.rendererService.getStory(), null, 2);\n const configAndDST = this.exportService.createConfigAndDST(dst);\n\n const date = new Date().toString().slice(0, 25);\n\n return {\n title: this.titleService.getTitle(),\n description: this.titleService.getDescription(),\n configAndDST,\n date,\n };\n }\n\n private sortDrafts(drafts: Draft[]): void {\n drafts.sort((a: Draft, b: Draft) => {\n const aDate = Date.parse(a.date);\n const bDate = Date.parse(b.date);\n return aDate > bDate ? 0 : 1;\n });\n }\n}\n","import { Injectable } from '@angular/core';\nimport { DOMAIN_CONFIGURATION_TAG } from '../../Domain/Common/constants';\nimport {\n DomainConfiguration,\n fromConfigurationFromFile,\n} from '../../Domain/Common/domainConfiguration';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class StorageService {\n set(key: string, value: any) {\n localStorage.setItem(key, JSON.stringify(value));\n }\n\n get(key: string): any {\n const json = localStorage.getItem(key);\n if (json) {\n return JSON.parse(json);\n }\n return null;\n }\n\n removeItem(key: string) {\n localStorage.removeItem(key);\n }\n\n checkValidityOfConfiguration(configuratioFromFile: DomainConfiguration) {\n return (\n configuratioFromFile.actors.keysArray().length > 1 &&\n configuratioFromFile.workObjects.keysArray().length > 1 &&\n !configuratioFromFile.actors\n .all()\n .some((e) => typeof e.value !== 'string') &&\n !configuratioFromFile.workObjects\n .all()\n .some((e) => typeof e.value !== 'string')\n );\n }\n\n getStoredDomainConfiguration(): DomainConfiguration | undefined {\n const domainString = localStorage.getItem(DOMAIN_CONFIGURATION_TAG);\n\n if (!domainString) {\n return;\n } else {\n const configuratioFromFile = fromConfigurationFromFile(\n JSON.parse(domainString)\n );\n if (this.checkValidityOfConfiguration(configuratioFromFile)) {\n return configuratioFromFile;\n }\n }\n return;\n }\n\n setStoredDomainConfiguration(config: DomainConfiguration): void {\n const actors: {\n [p: string]: any;\n } = {};\n config.actors.keysArray().forEach((key) => {\n actors[key] = config.actors.get(key);\n });\n const workObjects: {\n [p: string]: any;\n } = {};\n config.workObjects.keysArray().forEach((key) => {\n workObjects[key] = config.workObjects.get(key);\n });\n\n const configForStorage = {\n name: config.name,\n actors: actors,\n workObjects: workObjects,\n };\n\n localStorage.setItem(\n DOMAIN_CONFIGURATION_TAG,\n JSON.stringify(configForStorage, null, 2)\n );\n }\n}\n","import { Injectable } from '@angular/core';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class CommandStackService {\n private commandStack: any;\n\n constructor() {}\n\n setCommandStack(commandStack: any): void {\n this.commandStack = commandStack;\n }\n\n execute(action: string, payload: any) {\n this.commandStack.execute(action, payload);\n }\n}\n","import { Injectable } from '@angular/core';\nimport { MatDialog, MatDialogConfig } from '@angular/material/dialog';\nimport { ComponentType } from '@angular/cdk/overlay';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class DialogService {\n constructor(private matDialog: MatDialog) {}\n\n openDialog(dialog: ComponentType, config: MatDialogConfig): void {\n this.matDialog.open(dialog, config);\n }\n}\n","import { Injectable } from '@angular/core';\nimport { BehaviorSubject } from 'rxjs';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class DirtyFlagService {\n private isDirtySubject = new BehaviorSubject(false);\n dirty$ = this.isDirtySubject.asObservable();\n\n makeDirty(): void {\n this.isDirtySubject.next(true);\n }\n\n makeClean(): void {\n this.isDirtySubject.next(false);\n }\n\n get dirty(): boolean {\n return this.isDirtySubject.value;\n }\n}\n","import { Injectable } from '@angular/core';\nimport { BusinessObject } from 'src/app/Domain/Common/businessObject';\nimport { ElementRegistryService } from 'src/app/Service/ElementRegistry/element-registry.service';\nimport { elementTypes } from 'src/app/Domain/Common/elementTypes';\nimport { StoryStep } from 'src/app/Domain/Replay/storyStep';\nimport {\n HIGHLIGHT_COLOR,\n HIGHLIGHT_NUMBER_BACKGROUNG_COLOR,\n HIGHLIGHT_NUMBER_COLOR,\n HIGHLIGHT_STROKE_WIDTH,\n NUMBER_BACKGROUND_COLOR,\n NUMBER_COLOR,\n STROKE_WIDTH,\n} from '../../Domain/DomManipulation/replayConstants';\n\n@Injectable({\n providedIn: 'root',\n})\n/**\n * Manipulates the DOM during replay to only show the elements of the current Step\n */\nexport class DomManipulationService {\n constructor(private elementRegistryService: ElementRegistryService) {}\n\n showAll(): void {\n this.removeHighlights();\n this.elementRegistryService\n .getAllCanvasObjects()\n .slice()\n .concat(this.elementRegistryService.getAllGroups().slice())\n .map((e) => e.businessObject)\n .forEach((element) => {\n const domObject = document.querySelector(\n '[data-element-id=' + element.id + ']'\n );\n // @ts-ignore\n domObject.style.display = 'block';\n });\n }\n\n showStep(replayStep: StoryStep, previousStep?: StoryStep): void {\n this.removeHighlights();\n const notShown = this.getAllNotShown(replayStep.objects);\n\n notShown.forEach((element) => {\n const domObject = document.querySelector(\n '[data-element-id=' + element.id + ']'\n );\n if (domObject) {\n // @ts-ignore\n domObject.style.display = 'none';\n }\n });\n\n this.hightlightStep(\n previousStep\n ? replayStep.objects.filter((o) => !previousStep.objects.includes(o))\n : replayStep.objects\n );\n\n replayStep.objects.forEach((element) => {\n const domObject = document.querySelector(\n '[data-element-id=' + element.id + ']'\n );\n if (domObject) {\n // @ts-ignore\n domObject.style.display = 'block';\n }\n });\n }\n\n getNumberDomForActivity(activity: SVGPolylineElement): any {\n const numberDOMS = activity.parentElement?.getElementsByClassName(\n 'djs-labelNumber'\n ) || ['', ''];\n return {\n numberBackgroundDom: numberDOMS[0],\n numberTextDom: numberDOMS[1],\n };\n }\n\n private removeHighlights(): void {\n const allActivities = this.elementRegistryService.getAllActivities();\n const allConnections = this.elementRegistryService.getAllConnections();\n\n allActivities.forEach((activity) => {\n const querySelector = document.querySelector(\n '[data-element-id=' + activity.id + ']'\n );\n if (querySelector) {\n const activityDomObject =\n querySelector.getElementsByTagName('polyline')[0];\n\n activityDomObject.style.stroke =\n activity.businessObject.pickedColor || 'black';\n activityDomObject.style.strokeWidth = STROKE_WIDTH;\n\n const { numberBackgroundDom, numberTextDom } =\n this.getNumberDomForActivity(activityDomObject);\n if (numberBackgroundDom && numberTextDom) {\n numberBackgroundDom.style.fill = NUMBER_BACKGROUND_COLOR;\n numberTextDom.style.fill = NUMBER_COLOR;\n }\n }\n });\n\n allConnections.forEach((connection) => {\n // @ts-ignore\n const connectionDomObject = document\n .querySelector('[data-element-id=' + connection.id + ']')\n .getElementsByTagName('polyline')[0];\n\n connectionDomObject.style.stroke =\n connection.businessObject.pickedColor || 'black';\n connectionDomObject.style.strokeWidth = '1.5';\n });\n }\n\n private hightlightStep(stepObjects: BusinessObject[]): void {\n stepObjects\n .filter((e) => e.type === elementTypes.ACTIVITY)\n .forEach((activity) => {\n const querySelector = document.querySelector(\n '[data-element-id=' + activity.id + ']'\n );\n if (querySelector) {\n const activityDomObject =\n querySelector.getElementsByTagName('polyline')[0];\n\n activityDomObject.style.stroke = HIGHLIGHT_COLOR;\n activityDomObject.style.strokeWidth = HIGHLIGHT_STROKE_WIDTH;\n\n const { numberBackgroundDom, numberTextDom } =\n this.getNumberDomForActivity(activityDomObject);\n if (numberTextDom && numberBackgroundDom) {\n numberBackgroundDom.style.fill = HIGHLIGHT_NUMBER_BACKGROUNG_COLOR;\n numberTextDom.style.fill = HIGHLIGHT_NUMBER_COLOR;\n }\n }\n });\n }\n\n private getAllNotShown(shownElements: BusinessObject[]): BusinessObject[] {\n const notShownElements: BusinessObject[] = [];\n const allObjects = this.elementRegistryService\n .getAllCanvasObjects()\n .concat(this.elementRegistryService.getAllGroups());\n\n allObjects.forEach((element) => {\n if (!shownElements.includes(element.businessObject)) {\n if (element.type.includes(elementTypes.CONNECTION)) {\n // @ts-ignore\n if (!element.source.type.includes(elementTypes.GROUP)) {\n notShownElements.push(element.businessObject);\n } else {\n // @ts-ignore\n shownElements.push(element.target);\n }\n } else {\n notShownElements.push(element.businessObject);\n }\n }\n });\n return notShownElements;\n }\n}\n","import { Injectable } from '@angular/core';\nimport { ElementRegistryService } from 'src/app/Service/ElementRegistry/element-registry.service';\nimport { IconDictionaryService } from 'src/app/Service/DomainConfiguration/icon-dictionary.service';\nimport { Dictionary } from 'src/app/Domain/Common/dictionary/dictionary';\nimport { elementTypes } from 'src/app/Domain/Common/elementTypes';\nimport {\n CustomDomainConfiguration,\n DomainConfiguration,\n DomainConfigurationForExport,\n} from 'src/app/Domain/Common/domainConfiguration';\nimport { defaultConf } from '../../Domain/Common/iconConfiguration';\nimport { TitleService } from '../Title/title.service';\nimport { INITIAL_DOMAIN_NAME } from '../../Domain/Common/constants';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class DomainConfigurationService {\n constructor(\n private iconDictionaryService: IconDictionaryService,\n private elementRegistryService: ElementRegistryService,\n private titleService: TitleService\n ) {}\n\n setDomainName(domainName: string): void {\n this.titleService.setDomainName(\n domainName ? domainName : INITIAL_DOMAIN_NAME\n );\n }\n\n exportConfiguration(): void {\n const domainConfiguration = this.getCurrentConfigurationForExport();\n if (!domainConfiguration) {\n return;\n }\n\n const configJSONString = JSON.stringify(domainConfiguration, null, 2);\n const filename = this.titleService.getDomainName();\n const element = document.createElement('a');\n\n element.setAttribute(\n 'href',\n 'data:text/plain;charset=utf-8,' + encodeURIComponent(configJSONString)\n );\n element.setAttribute('download', filename + '.domain');\n element.style.display = 'none';\n document.body.appendChild(element);\n\n element.click();\n\n document.body.removeChild(element);\n }\n\n loadConfiguration(\n customConfig: DomainConfiguration,\n updateDomainName = true\n ): void {\n let actorDict = new Dictionary();\n let workObjectDict = new Dictionary();\n\n if (customConfig.actors.keysArray()) {\n actorDict = customConfig.actors;\n workObjectDict = customConfig.workObjects;\n } else {\n actorDict.addEach(customConfig.actors);\n workObjectDict.addEach(customConfig.workObjects);\n }\n\n const actorKeys = actorDict.keysArray();\n const workObjectKeys = workObjectDict.keysArray();\n\n this.iconDictionaryService.updateIconRegistries([], [], customConfig);\n\n this.iconDictionaryService\n .getIconConfiguration()\n .appendSRCFile(actorKeys, actorDict, workObjectKeys, workObjectDict);\n\n this.iconDictionaryService.addIconsFromDomainConfiguration(\n elementTypes.ACTOR,\n actorKeys.map((a) => elementTypes.ACTOR + a)\n );\n this.iconDictionaryService.addIconsFromDomainConfiguration(\n elementTypes.WORKOBJECT,\n workObjectKeys.map((w) => elementTypes.WORKOBJECT + w)\n );\n\n if (updateDomainName) {\n const configurationName = customConfig.name;\n this.setDomainName(configurationName);\n }\n }\n\n getCurrentConfiguration(): DomainConfiguration | undefined {\n const actors = this.iconDictionaryService.getActorsDictionary();\n const workObjects = this.iconDictionaryService.getWorkObjectsDictionary();\n\n let domainConfiguration;\n\n if (actors.size() > 0 && workObjects.size() > 0) {\n domainConfiguration = this.createConfigFromDictionaries(\n actors,\n workObjects\n );\n }\n return domainConfiguration;\n }\n\n getCurrentConfigurationForExport(): DomainConfigurationForExport | undefined {\n const currentConfiguration = this.getCurrentConfiguration();\n\n if (currentConfiguration) {\n const actors: any = {};\n const workObjects: any = {};\n\n currentConfiguration.actors.all().forEach((entry) => {\n actors[entry.key] = entry.value;\n });\n currentConfiguration.workObjects.all().forEach((entry) => {\n workObjects[entry.key] = entry.value;\n });\n\n return {\n name: currentConfiguration.name,\n actors: actors,\n workObjects: workObjects,\n };\n }\n return;\n }\n\n getCurrentConfigurationNamesWithoutPrefix(): CustomDomainConfiguration {\n return {\n name: this.titleService.getDomainName() || INITIAL_DOMAIN_NAME,\n actors: this.iconDictionaryService\n .getActorsDictionary()\n .keysArray()\n .map((a) => a.replace(elementTypes.ACTOR, '')),\n workObjects: this.iconDictionaryService\n .getWorkObjectsDictionary()\n .keysArray()\n .map((w) => w.replace(elementTypes.WORKOBJECT, '')),\n };\n }\n\n createMinimalConfigurationWithDefaultIcons(): DomainConfiguration {\n const minimalConfig = this.createConfigFromCanvas();\n\n defaultConf.actors.forEach((iconName) => {\n minimalConfig.actors.add(\n this.iconDictionaryService.getIconSource(iconName),\n iconName\n );\n });\n defaultConf.workObjects.forEach((iconName) => {\n minimalConfig.workObjects.add(\n this.iconDictionaryService.getIconSource(iconName),\n iconName\n );\n });\n\n return minimalConfig;\n }\n\n private createConfigFromDictionaries(\n actorsDict: Dictionary,\n workObjectsDict: Dictionary\n ): DomainConfiguration {\n const actorNames = actorsDict.keysArray();\n const workobjectNames = workObjectsDict.keysArray();\n const newActors = new Dictionary();\n const newWorkobjects = new Dictionary();\n\n // Fill Configuration from Canvas-Objects\n actorNames.forEach((actor) => {\n newActors.add(\n actorsDict.get(actor),\n actor.replace(elementTypes.ACTOR, '')\n );\n });\n workobjectNames.forEach((workObject) => {\n newWorkobjects.add(\n workObjectsDict.get(workObject),\n workObject.replace(elementTypes.WORKOBJECT, '')\n );\n });\n\n return {\n name: this.titleService.getDomainName(),\n actors: newActors,\n workObjects: newWorkobjects,\n };\n }\n\n private createConfigFromCanvas(): DomainConfiguration {\n const config = {\n name: INITIAL_DOMAIN_NAME,\n actors: new Dictionary(),\n workObjects: new Dictionary(),\n };\n\n let allCanvasObjects = this.elementRegistryService.getAllCanvasObjects();\n\n allCanvasObjects\n .map((e) => e.businessObject)\n .forEach((element) => {\n const type = element.type\n .replace(elementTypes.ACTOR, '')\n .replace(elementTypes.WORKOBJECT, '');\n if (element.type.includes(elementTypes.ACTOR)) {\n let src = this.iconDictionaryService.getIconSource(type) || '';\n config.actors.add(src, type);\n } else if (element.type.includes(elementTypes.WORKOBJECT)) {\n let src = this.iconDictionaryService.getIconSource(type) || '';\n config.workObjects.add(src, type);\n }\n });\n\n return config;\n }\n}\n","import { Injectable } from '@angular/core';\nimport {\n CustomDomainConfiguration,\n DomainConfiguration,\n} from '../../Domain/Common/domainConfiguration';\nimport { BehaviorSubject } from 'rxjs';\nimport { DomainConfigurationService } from './domain-configuration.service';\nimport { IconDictionaryService } from './icon-dictionary.service';\nimport { getNameFromType } from '../../Utils/naming';\nimport { elementTypes } from '../../Domain/Common/elementTypes';\nimport { IconListItem } from '../../Domain/Domain-Configuration/iconListItem';\nimport { Dictionary } from '../../Domain/Common/dictionary/dictionary';\nimport { ImportDomainStoryService } from '../Import/import-domain-story.service';\nimport { TitleService } from '../Title/title.service';\nimport { MatSnackBar } from '@angular/material/snack-bar';\nimport {\n SNACKBAR_DURATION,\n SNACKBAR_INFO,\n SNACKBAR_SUCCESS,\n} from '../../Domain/Common/constants';\nimport { StorageService } from '../BrowserStorage/storage.service';\nimport { UsedIconList } from 'src/app/Domain/Domain-Configuration/UsedIconList';\nimport { ElementRegistryService } from 'src/app/Service/ElementRegistry/element-registry.service';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class DomainCustomizationService {\n private readonly domainConfigurationTypes: BehaviorSubject;\n\n private allIconListItems = new Dictionary();\n\n private configurationHasChanged = false;\n\n selectedActors$ = new BehaviorSubject([]);\n selectedWorkobjects$ = new BehaviorSubject([]);\n private changedDomainCofiguration: DomainConfiguration | undefined;\n\n constructor(\n private configurationService: DomainConfigurationService,\n private iconDictionaryService: IconDictionaryService,\n private importService: ImportDomainStoryService,\n private titleService: TitleService,\n private storageService: StorageService,\n private elementRegistryService: ElementRegistryService,\n private snackbar: MatSnackBar\n ) {\n this.domainConfigurationTypes = new BehaviorSubject(\n this.configurationService.getCurrentConfigurationNamesWithoutPrefix()\n );\n\n this.selectedWorkobjects$.next(\n this.domainConfigurationTypes.value.workObjects\n );\n this.selectedActors$.next(this.domainConfigurationTypes.value.actors);\n\n iconDictionaryService\n .getAllIconDictionary()\n .keysArray()\n .forEach((iconName) => {\n this.addIconToAllIconList(iconName);\n });\n\n importService.importedConfigurationEvent.subscribe((config) => {\n this.importConfiguration(config);\n });\n const storedDomainConfiguration =\n this.storageService.getStoredDomainConfiguration();\n if (storedDomainConfiguration) {\n this.importConfiguration(storedDomainConfiguration, false);\n }\n const importedConfiguration = this.importService.getImportedConfiguration();\n if (importedConfiguration) {\n this.importConfiguration(importedConfiguration, false);\n }\n }\n\n importConfiguration(\n customConfig: DomainConfiguration,\n saveDomain = true\n ): void {\n const actorKeys = customConfig.actors.keysArray();\n const workObjectKeys = customConfig.workObjects.keysArray();\n\n this.changeName(customConfig.name);\n actorKeys.forEach((iconName) => {\n if (!this.allIconListItems.has(iconName)) {\n this.addIconToAllIconList(iconName);\n }\n const selectedActorNames = this.selectedActors$.value;\n if (!selectedActorNames.includes(iconName)) {\n this.selectActor(iconName);\n }\n });\n workObjectKeys.forEach((iconName) => {\n if (!this.allIconListItems.has(iconName)) {\n this.addIconToAllIconList(iconName);\n }\n const selectedWorkobjectNames = this.selectedWorkobjects$.value;\n if (!selectedWorkobjectNames.includes(iconName)) {\n this.selectWorkObject(iconName);\n }\n });\n if (saveDomain) {\n this.saveDomain(this.elementRegistryService.getUsedIcons(), true);\n }\n }\n\n /** Getter & Setter **/\n getDomainConfiguration(): BehaviorSubject {\n return this.domainConfigurationTypes;\n }\n\n getIconForName(iconName: string): BehaviorSubject {\n return this.allIconListItems.get(iconName);\n }\n\n isIconActor(iconName: string): boolean {\n return (\n this.domainConfigurationTypes.value.actors.filter(\n (actor: string) => actor === iconName\n ).length > 0\n );\n }\n\n isIconWorkObject(iconName: string): boolean {\n return (\n this.domainConfigurationTypes.value.workObjects.filter(\n (workObject: string) => workObject === iconName\n ).length > 0\n );\n }\n\n changeName(domainName: string): void {\n this.titleService.setDomainName(domainName);\n const changedDomain = this.domainConfigurationTypes.value;\n changedDomain.name = domainName;\n this.domainConfigurationTypes.next(changedDomain);\n }\n\n /** Seleted Icons **/\n setAsUnassigned(iconName: string, isActor: boolean): void {\n if (isActor) {\n this.deselectActor(iconName);\n } else {\n this.deselectWorkobject(iconName);\n }\n this.updateIcon(false, false, iconName);\n }\n\n setAsActor(isActor: boolean, actor: string): void {\n if (isActor) {\n this.updateIcon(true, false, actor);\n this.selectActor(actor);\n this.deselectWorkobject(actor);\n\n const icon = this.iconDictionaryService.getFullDictionary().get(actor);\n this.iconDictionaryService.getActorsDictionary().add(icon, actor);\n } else {\n this.deselectActor(actor);\n this.updateIcon(false, false, actor);\n this.iconDictionaryService.getActorsDictionary().delete(actor);\n }\n }\n\n setAsWorkobject(isWorkobject: boolean, workobject: string): void {\n if (isWorkobject) {\n this.updateIcon(false, true, workobject);\n this.selectWorkObject(workobject);\n this.deselectActor(workobject);\n\n const icon = this.iconDictionaryService\n .getFullDictionary()\n .get(workobject);\n this.iconDictionaryService\n .getWorkObjectsDictionary()\n .add(icon, workobject);\n } else {\n this.deselectWorkobject(workobject);\n this.updateIcon(false, false, workobject);\n this.iconDictionaryService.getWorkObjectsDictionary().delete(workobject);\n }\n }\n\n selectActor(actor: string): void {\n const value = this.domainConfigurationTypes.value;\n if (!value.actors.includes(actor)) {\n value.actors.push(actor);\n this.domainConfigurationTypes.next(value);\n this.updateActorSubject();\n }\n }\n\n selectWorkObject(workObject: string): void {\n const value = this.domainConfigurationTypes.value;\n if (!value.workObjects.includes(workObject)) {\n value.workObjects.push(workObject);\n this.domainConfigurationTypes.next(value);\n this.updateWorkObjectSubject();\n }\n }\n\n deselectActor(actor: string): void {\n if (this.domainConfigurationTypes) {\n this.domainConfigurationTypes.next({\n name: this.domainConfigurationTypes.value.name,\n actors: this.domainConfigurationTypes.value.actors.filter(\n (a: string) => !a.includes(actor)\n ),\n workObjects: this.domainConfigurationTypes.value.workObjects,\n });\n }\n this.updateActorSubject();\n }\n\n deselectWorkobject(workobject: string): void {\n if (this.domainConfigurationTypes) {\n this.domainConfigurationTypes.next({\n name: this.domainConfigurationTypes.value.name,\n actors: this.domainConfigurationTypes.value.actors,\n workObjects: this.domainConfigurationTypes.value.workObjects.filter(\n (w: string) => !w.includes(workobject)\n ),\n });\n }\n this.updateWorkObjectSubject();\n }\n\n setSelectedWorkObject(sortedList: string[]): void {\n const value = this.domainConfigurationTypes.value;\n value.workObjects = sortedList;\n this.domainConfigurationTypes.next(value);\n this.updateWorkObjectSubject();\n }\n\n setSelectedActors(sortedList: string[]): void {\n const value = this.domainConfigurationTypes.value;\n value.actors = sortedList;\n this.domainConfigurationTypes.next(value);\n this.updateActorSubject();\n }\n\n private updateActorSubject(): void {\n this.selectedActors$.next(this.domainConfigurationTypes.value.actors);\n this.configurationHasChanged = true;\n }\n\n private updateWorkObjectSubject(): void {\n this.selectedWorkobjects$.next(\n this.domainConfigurationTypes.value.workObjects\n );\n this.configurationHasChanged = true;\n }\n\n /** Revert Domain **/\n resetDomain(): void {\n const defaultConfig =\n this.configurationService.createMinimalConfigurationWithDefaultIcons();\n\n this.selectedWorkobjects$.value.forEach((workObjectName) => {\n if (!defaultConfig.workObjects.has(workObjectName)) {\n this.deselectWorkobject(workObjectName);\n }\n });\n this.selectedActors$.value.forEach((actorName) => {\n if (!defaultConfig.actors.has(actorName)) {\n this.deselectActor(actorName);\n }\n });\n\n this.domainConfigurationTypes.next({\n name: defaultConfig.name,\n actors: defaultConfig.actors.keysArray(),\n workObjects: defaultConfig.workObjects.keysArray(),\n } as CustomDomainConfiguration);\n\n this.updateAllIconBehaviourSubjects();\n }\n\n cancel(): void {\n this.domainConfigurationTypes.next(\n this.configurationService.getCurrentConfigurationNamesWithoutPrefix()\n );\n this.updateAllIconBehaviourSubjects();\n this.resetToInitialConfiguration();\n }\n\n private resetToInitialConfiguration(): void {\n this.updateActorSubject();\n this.updateWorkObjectSubject();\n }\n\n /** Persist Domain **/\n saveDomain(usedIcons: UsedIconList, imported = false): void {\n const changedActors: string[] = [];\n const changedWorkobjects: string[] = [];\n if (this.configurationHasChanged) {\n const changedDomain = this.createDomainConfiguration();\n\n const configurationActors = changedDomain.actors.keysArray();\n usedIcons?.actors.forEach((actor) => {\n if (\n !configurationActors?.includes(actor) &&\n !changedActors.includes(actor)\n ) {\n changedActors.push(actor);\n }\n });\n const configurationWorkobjects = changedDomain.workObjects.keysArray();\n usedIcons?.workobjects.forEach((workobject) => {\n if (\n !configurationWorkobjects?.includes(workobject) &&\n !changedWorkobjects.includes(workobject)\n ) {\n changedWorkobjects.push(workobject);\n }\n });\n\n if (!changedActors.length && !changedWorkobjects.length) {\n this.changedDomainCofiguration = changedDomain;\n\n this.updateIcons(changedDomain);\n\n this.storageService.setStoredDomainConfiguration(\n this.changedDomainCofiguration\n );\n this.snackbar.open(\n imported\n ? 'Configuration imported successfully'\n : 'Configuration saved sucessfully',\n undefined,\n {\n duration: SNACKBAR_DURATION,\n panelClass: SNACKBAR_SUCCESS,\n }\n );\n }\n } else {\n this.snackbar.open(\n imported\n ? 'No configuration to be imported'\n : 'No configuration to be saved',\n undefined,\n {\n duration: SNACKBAR_DURATION,\n panelClass: SNACKBAR_INFO,\n }\n );\n }\n if (changedActors.length || changedWorkobjects.length) {\n if (changedActors.length) {\n const actors = changedActors.join(', ');\n this.snackbar.open(\n `The following icons are already in use as actors and cannot be changed: ${actors}`,\n undefined,\n {\n duration: SNACKBAR_DURATION * 3,\n panelClass: SNACKBAR_INFO,\n }\n );\n }\n if (changedWorkobjects.length) {\n const workobjects = changedWorkobjects.join(', ');\n this.snackbar.open(\n `The following icons are already in use as workobjects and cannot be changed: ${workobjects}`,\n undefined,\n {\n duration: SNACKBAR_DURATION * 3,\n panelClass: SNACKBAR_INFO,\n }\n );\n }\n }\n }\n\n exportDomain(): void {\n this.configurationService.exportConfiguration();\n }\n\n getAndClearSavedConfiguration(): DomainConfiguration | undefined {\n const temp = this.changedDomainCofiguration;\n this.changedDomainCofiguration = undefined;\n\n return temp;\n }\n\n private createDomainConfiguration(): DomainConfiguration {\n const actors = new Dictionary();\n const workObjects = new Dictionary();\n\n this.domainConfigurationTypes.value.actors.forEach((type: string) => {\n actors.add(this.iconDictionaryService.getIconSource(type), type);\n });\n this.domainConfigurationTypes.value.workObjects.forEach((type: string) => {\n workObjects.add(this.iconDictionaryService.getIconSource(type), type);\n });\n\n return {\n name: this.domainConfigurationTypes.value.name || '',\n actors,\n workObjects,\n };\n }\n\n /** Update Icons **/\n addNewIcon(iconName: string): void {\n const iconDict = new Dictionary();\n iconDict.add(this.getSrcForIcon(iconName), iconName);\n this.iconDictionaryService.addIconsToCss(iconDict);\n this.addIconToAllIconList(iconName);\n }\n\n private addIconToAllIconList(iconName: string): void {\n this.allIconListItems.add(\n new BehaviorSubject({\n name: iconName,\n svg: this.getSrcForIcon(iconName),\n isActor: this.isIconActor(iconName),\n isWorkObject: this.isIconWorkObject(iconName),\n }),\n iconName\n );\n }\n\n private updateIcon(\n isActor: boolean,\n isWorkobject: boolean,\n iconName: string\n ) {\n const iconBehaviourSubject = this.getIconForName(iconName);\n const icon = iconBehaviourSubject.value;\n icon.isActor = isActor;\n icon.isWorkObject = isWorkobject;\n\n iconBehaviourSubject.next(icon);\n }\n\n private updateAllIconBehaviourSubjects(): void {\n const customDomainCofiguration = this.domainConfigurationTypes.value;\n this.allIconListItems.keysArray().forEach((iconName) => {\n if (customDomainCofiguration.actors.includes(iconName)) {\n this.updateIcon(true, false, iconName);\n } else if (customDomainCofiguration.workObjects.includes(iconName)) {\n this.updateIcon(false, true, iconName);\n } else {\n this.updateIcon(false, false, iconName);\n }\n });\n }\n\n private getSrcForIcon(name: string): string {\n let iconName: string;\n if (name.includes(elementTypes.DOMAINSTORY)) {\n iconName = getNameFromType(name);\n } else {\n iconName = name;\n }\n const rawSrc = this.iconDictionaryService.getIconSource(iconName);\n\n if (!rawSrc) {\n return '';\n }\n\n if (rawSrc.startsWith('data')) {\n return rawSrc;\n } else {\n return 'data:image/svg+xml,' + rawSrc;\n }\n }\n\n private updateIcons(changedDomain: DomainConfiguration) {\n this.allIconListItems\n .keysArray()\n .forEach((item) => this.setAsUnassigned(item, this.isIconActor(item)));\n changedDomain.actors\n .keysArray()\n .forEach((actor) => this.setAsActor(true, actor));\n changedDomain.workObjects\n .keysArray()\n .forEach((workObject) => this.setAsWorkobject(true, workObject));\n }\n}\n","import { Injectable } from '@angular/core';\nimport { Dictionary } from 'src/app/Domain/Common/dictionary/dictionary';\nimport { elementTypes } from 'src/app/Domain/Common/elementTypes';\nimport { getNameFromType } from 'src/app/Utils/naming';\nimport {\n allIcons,\n appendedIcons,\n} from 'src/app/Domain/Domain-Configuration/allIcons';\nimport {\n defaultConf,\n IconConfiguration,\n} from 'src/app/Domain/Common/iconConfiguration';\nimport { Configuration } from 'src/app/Domain/Common/configuration';\nimport { BusinessObject } from 'src/app/Domain/Common/businessObject';\nimport { DomainConfiguration } from 'src/app/Domain/Common/domainConfiguration';\nimport { sanitizeIconName } from '../../Utils/sanitizer';\n\nexport const ICON_PREFIX = 'icon-domain-story-';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class IconDictionaryService {\n private actorIconDictionary = new Dictionary();\n private workObjectDictionary = new Dictionary();\n\n private allIconDictionary = new Dictionary();\n private iconDictionaryForBPMN = new Dictionary();\n\n private customConfiguration?: DomainConfiguration;\n\n private readonly iconConfig: IconConfiguration;\n\n constructor() {\n this.allIconDictionary.addEach(allIcons);\n this.iconConfig = new IconConfiguration(this.allIconDictionary);\n }\n\n initTypeDictionaries(actors: string[], workObjects: string[]): void {\n if (!actors || actors.length == 0) {\n actors = defaultConf.actors;\n }\n if (!workObjects || workObjects.length == 0) {\n workObjects = defaultConf.workObjects;\n }\n\n const allTypes = new Dictionary();\n allTypes.addEach(allIcons);\n allTypes.appendDict(this.getAppendedIconDictionary());\n\n this.initDictionary(\n actors,\n allTypes,\n this.actorIconDictionary,\n elementTypes.ACTOR\n );\n this.initDictionary(\n workObjects,\n allTypes,\n this.workObjectDictionary,\n elementTypes.WORKOBJECT\n );\n }\n\n private initDictionary(\n keys: string[],\n allTypes: Dictionary,\n dictionary: Dictionary,\n namePrefix: elementTypes\n ) {\n dictionary.clear();\n for (const key of keys) {\n const name = namePrefix + key;\n dictionary.add(allTypes.get(key), name);\n }\n\n dictionary.keysArray().forEach((entry) => {\n const name = getNameFromType(entry);\n this.registerIconForBPMN(\n entry,\n ICON_PREFIX + sanitizeIconName(name.toLowerCase())\n );\n });\n }\n\n getCurrentIconConfigurationForBPMN(): Configuration {\n if (this.customConfiguration) {\n return this.iconConfig.createCustomConf(this.customConfiguration);\n }\n return this.iconConfig.getDefaultConf();\n }\n\n allInTypeDictionary(type: elementTypes, elements: BusinessObject[]): boolean {\n let collection: Dictionary;\n if (type === elementTypes.ACTOR) {\n collection = this.actorIconDictionary;\n } else if (type === elementTypes.WORKOBJECT) {\n collection = this.workObjectDictionary;\n }\n\n let allIn = true;\n if (elements) {\n elements.forEach((element) => {\n if (!collection.has(element.type)) {\n allIn = false;\n }\n });\n } else {\n return false;\n }\n return allIn;\n }\n\n /** Load Icons from Configuration **/\n\n addIconsFromDomainConfiguration(\n dictionaryType: elementTypes,\n iconTypes: string[]\n ): void {\n let collection: Dictionary;\n if (dictionaryType === elementTypes.ACTOR) {\n collection = this.actorIconDictionary;\n } else if (dictionaryType === elementTypes.WORKOBJECT) {\n collection = this.workObjectDictionary;\n }\n\n const allTypes = new Dictionary();\n allTypes.addEach(allIcons);\n allTypes.appendDict(appendedIcons);\n\n iconTypes.forEach((type) => {\n if (!collection.has(type)) {\n const name = getNameFromType(type);\n const src = allTypes.get(name);\n if (src) {\n this.registerIconForType(dictionaryType, type, src);\n this.registerIconForBPMN(\n type,\n sanitizeIconName(ICON_PREFIX + name.toLowerCase())\n );\n }\n }\n });\n }\n\n /** Add Icon(s) to Dictionary **/\n registerIconForBPMN(name: string, src: string): void {\n this.iconDictionaryForBPMN.set(name, src);\n }\n\n addIconsToTypeDictionary(\n actorIcons: BusinessObject[],\n workObjectIcons: BusinessObject[]\n ) {\n if (!this.allInTypeDictionary(elementTypes.ACTOR, actorIcons)) {\n this.addIconsFromDomainConfiguration(\n elementTypes.ACTOR,\n actorIcons.map((element) => element.type)\n );\n }\n if (!this.allInTypeDictionary(elementTypes.WORKOBJECT, workObjectIcons)) {\n this.addIconsFromDomainConfiguration(\n elementTypes.WORKOBJECT,\n workObjectIcons.map((element) => element.type)\n );\n }\n }\n\n registerIconForType(type: elementTypes, name: string, src: string): void {\n if (!name.includes(type)) {\n name = type + name;\n }\n\n let collection = new Dictionary();\n if (type === elementTypes.ACTOR) {\n collection = this.actorIconDictionary;\n } else if (type === elementTypes.WORKOBJECT) {\n collection = this.workObjectDictionary;\n }\n collection.set(name, src);\n }\n\n updateIconRegistries(\n actors: BusinessObject[],\n workObjects: BusinessObject[],\n config: DomainConfiguration\n ): void {\n const elements: BusinessObject[] = [];\n\n actors.forEach((a) => elements.push(a));\n workObjects.forEach((w) => elements.push(w));\n\n const customIcons = new Dictionary();\n\n const actorsDict = new Dictionary();\n const workObjectsDict = new Dictionary();\n config.actors.keysArray().forEach((key) => {\n actorsDict.add(config.actors.get(key), key);\n });\n config.workObjects.keysArray().forEach((key) => {\n workObjectsDict.add(config.workObjects.get(key), key);\n });\n\n this.extractCustomIconsFromDictionary(actorsDict, customIcons);\n this.extractCustomIconsFromDictionary(workObjectsDict, customIcons);\n\n elements.forEach((element) => {\n const name = sanitizeIconName(\n element.type\n .replace(elementTypes.ACTOR, '')\n .replace(elementTypes.WORKOBJECT, '')\n );\n if (\n (element.type.includes(elementTypes.ACTOR) ||\n element.type.includes(elementTypes.WORKOBJECT)) &&\n !this.getFullDictionary().has(name)\n ) {\n this.registerIconForBPMN(\n ICON_PREFIX + name.toLowerCase(),\n element.type\n );\n }\n });\n\n this.addNewIconsToDictionary(customIcons);\n this.addIconsToTypeDictionary(actors, workObjects);\n }\n\n private extractCustomIconsFromDictionary(\n elementDictionary: Dictionary,\n customIcons: Dictionary\n ) {\n elementDictionary.keysArray().forEach((name) => {\n const sanitizedName = sanitizeIconName(name);\n if (!this.getFullDictionary().has(sanitizedName)) {\n customIcons.add(elementDictionary.get(name), sanitizedName);\n }\n });\n }\n\n /** Add new Icon(s) **/\n\n addNewIconsToDictionary(customIcons: Dictionary) {\n customIcons.keysArray().forEach((key) => {\n const custom = customIcons.get(key);\n this.addIMGToIconDictionary(custom.src, key);\n });\n this.addIconsToCss(customIcons);\n }\n\n addIMGToIconDictionary(input: string, name: string): void {\n appendedIcons.set(name, input);\n }\n\n addIconsToCss(customIcons: Dictionary) {\n const sheetEl = document.getElementById('iconsCss');\n customIcons.keysArray().forEach((key) => {\n const src = customIcons.get(key);\n const iconStyle =\n '.' +\n ICON_PREFIX +\n sanitizeIconName(key.toLowerCase()) +\n '::before{ content: url(\"data:image/svg+xml;utf8,' +\n this.wrapSRCInSVG(src) +\n '\"); margin: 3px;}';\n // @ts-ignore\n sheetEl?.sheet?.insertRule(iconStyle, sheetEl.sheet.cssRules.length);\n });\n }\n\n private wrapSRCInSVG(src: string): string {\n return (\n \"\"\n );\n }\n\n /** Getter & Setter **/\n\n getFullDictionary(): Dictionary {\n const fullDictionary = new Dictionary();\n fullDictionary.appendDict(this.allIconDictionary);\n fullDictionary.appendDict(this.getAppendedIconDictionary());\n return fullDictionary;\n }\n\n getAppendedIconDictionary(): Dictionary {\n const appendedDict = new Dictionary();\n appendedIcons.keysArray().forEach((key) => {\n if (!this.allIconDictionary.has(key)) {\n appendedDict.set(key, appendedIcons.get(key));\n }\n });\n return appendedDict;\n }\n\n getTypeDictionary(type: elementTypes): Dictionary {\n if (type === elementTypes.ACTOR) {\n return this.actorIconDictionary;\n } else if (type === elementTypes.WORKOBJECT) {\n return this.workObjectDictionary;\n }\n return new Dictionary();\n }\n\n getTypeDictionaryKeys(type: elementTypes): string[] {\n return this.getTypeDictionary(type).keysArray();\n }\n\n getTypeIconSRC(type: elementTypes, name: string): string | null {\n if (type === elementTypes.ACTOR) {\n if (!name.startsWith(elementTypes.ACTOR)) {\n name = elementTypes.ACTOR + name;\n }\n return this.actorIconDictionary.get(name);\n } else if (type === elementTypes.WORKOBJECT) {\n if (!name.startsWith(elementTypes.WORKOBJECT)) {\n name = elementTypes.WORKOBJECT + name;\n }\n return this.workObjectDictionary.get(name);\n }\n return null;\n }\n\n getIconForBPMN(type: elementTypes): string | null {\n return this.iconDictionaryForBPMN.get(type);\n }\n\n getIconSource(name: string): string | null {\n if (this.allIconDictionary.has(name)) {\n return this.allIconDictionary.get(name);\n } else if (appendedIcons.has(name)) {\n return appendedIcons.get(name);\n }\n return null;\n }\n\n getElementsOfType(\n elements: BusinessObject[],\n type: elementTypes\n ): BusinessObject[] {\n const elementOfType: any = [];\n elements.forEach((element) => {\n if (element.type.includes(type)) {\n elementOfType.push(element);\n }\n });\n return elementOfType;\n }\n\n getAllIconDictionary(): Dictionary {\n return this.allIconDictionary;\n }\n\n getActorsDictionary(): Dictionary {\n return this.actorIconDictionary;\n }\n\n getWorkObjectsDictionary(): Dictionary {\n return this.workObjectDictionary;\n }\n\n getIconConfiguration(): IconConfiguration {\n return this.iconConfig;\n }\n\n setCusomtConfiguration(customConfiguration: DomainConfiguration): void {\n this.customConfiguration = customConfiguration;\n }\n}\n","import { Injectable } from '@angular/core';\n\nimport { elementTypes } from 'src/app/Domain/Common/elementTypes';\nimport { CanvasObject } from 'src/app/Domain/Common/canvasObject';\nimport { GroupCanvasObject } from '../../Domain/Common/groupCanvasObject';\nimport { ActivityCanvasObject } from '../../Domain/Common/activityCanvasObject';\nimport { UsedIconList } from 'src/app/Domain/Domain-Configuration/UsedIconList';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class ElementRegistryService {\n private registry: any;\n private fullyInitialized = false;\n\n /**\n * Initially the registry has only the root-Element.\n * Once the canvas has bees initialized, we adjust the reference to point to the elements on the canvas for convenience\n */\n correctInitialize(): void {\n if (!this.fullyInitialized) {\n if (this.registry.__implicitroot) {\n this.registry = this.registry.__implicitroot.element.children;\n this.fullyInitialized = true;\n }\n }\n }\n\n setElementRegistry(registry: any): void {\n this.registry = registry._elements;\n }\n\n clear(): void {\n this.registry = null;\n this.fullyInitialized = false;\n }\n\n createObjectListForDSTDownload(): CanvasObject[] {\n if (this.registry) {\n const allObjectsFromCanvas = this.getAllCanvasObjects();\n const groups = this.getAllGroups();\n\n const objectList: CanvasObject[] = [];\n\n this.fillListOfCanvasObjects(allObjectsFromCanvas, objectList, groups);\n\n return objectList;\n }\n return [];\n }\n\n private fillListOfCanvasObjects(\n allObjectsFromCanvas: CanvasObject[],\n objectList: CanvasObject[],\n groups: GroupCanvasObject[]\n ): void {\n allObjectsFromCanvas.forEach((canvasElement) => {\n if (canvasElement.type === elementTypes.ACTIVITY) {\n objectList.push(canvasElement);\n }\n\n // ensure that Activities are always after Actors, Workobjects and Groups in .dst files\n else {\n if (canvasElement.type === elementTypes.TEXTANNOTATION) {\n canvasElement.businessObject.width = canvasElement.width;\n canvasElement.businessObject.height = canvasElement.height;\n }\n if (!objectList.includes(canvasElement)) {\n objectList.unshift(canvasElement);\n }\n }\n });\n\n groups.forEach((group) => {\n objectList.push(group);\n });\n }\n\n getAllActivities(): ActivityCanvasObject[] {\n const activities: ActivityCanvasObject[] = [];\n\n this.getAllCanvasObjects().forEach((element) => {\n if (element.type.includes(elementTypes.ACTIVITY)) {\n activities.push(element as ActivityCanvasObject);\n }\n });\n return activities;\n }\n\n getAllConnections(): ActivityCanvasObject[] {\n const connections: ActivityCanvasObject[] = [];\n this.getAllCanvasObjects().forEach((element) => {\n const type = element.type;\n if (type === elementTypes.CONNECTION) {\n connections.push(element as ActivityCanvasObject);\n }\n });\n return connections;\n }\n\n getAllCanvasObjects(): CanvasObject[] {\n const allObjects: CanvasObject[] = [];\n const groupObjects: GroupCanvasObject[] = [];\n\n this.checkChildForGroup(groupObjects, allObjects);\n\n // for each memorized group, remove it from the group-array and check its children, whether they are groups or not\n // if a child is a group, memorize it in the group-array\n // other children should already be in the allObjects list\n let i = groupObjects.length - 1;\n while (groupObjects.length >= 1) {\n const currentGroup = groupObjects.pop();\n // @ts-ignore\n currentGroup.children.forEach((child: CanvasObject) => {\n const type = child.type;\n if (type.includes(elementTypes.GROUP)) {\n groupObjects.push(child as GroupCanvasObject);\n }\n });\n i = groupObjects.length - 1;\n }\n return allObjects;\n }\n\n // returns all groups on the canvas and inside other groups\n getAllGroups(): GroupCanvasObject[] {\n const groupObjects: GroupCanvasObject[] = [];\n const allObjects: CanvasObject[] = [];\n\n this.checkChildForGroup(groupObjects, allObjects);\n\n for (const group of groupObjects) {\n group.children?.forEach((child: CanvasObject) => {\n if (child.type.includes(elementTypes.GROUP)) {\n groupObjects.push(child as GroupCanvasObject);\n }\n });\n }\n return groupObjects;\n }\n\n private checkChildForGroup(\n groupObjects: GroupCanvasObject[],\n allObjects: CanvasObject[]\n ): void {\n const registryElementNames = Object.keys(this.registry);\n for (let name of registryElementNames) {\n const entry = this.registry[name].element;\n if (entry.businessObject) {\n const type = entry.type;\n if (type && type.includes(elementTypes.GROUP)) {\n // if it is a group, memorize this for later\n groupObjects.push(entry);\n } else if (type) {\n allObjects.push(entry);\n }\n }\n }\n }\n\n // get a list of activities, that originate from an actor-type\n getActivitiesFromActors(): ActivityCanvasObject[] {\n const activitiesFromActors: ActivityCanvasObject[] = [];\n const activities = this.getAllActivities();\n\n activities.forEach((activity: ActivityCanvasObject) => {\n if (activity.source?.type.includes(elementTypes.ACTOR)) {\n activitiesFromActors.push(activity);\n }\n });\n return activitiesFromActors;\n }\n\n getUsedIcons(): UsedIconList {\n const actors = this.getAllActors();\n const workobjects = this.getAllWorkobjects();\n\n return {\n actors: actors.map((a) => a.type.replace(elementTypes.ACTOR, '')),\n workobjects: workobjects.map((w) =>\n w.type.replace(elementTypes.WORKOBJECT, '')\n ),\n };\n }\n\n private getAllActors() {\n return this.getAllCanvasObjects().filter((co) =>\n co.type.includes(elementTypes.ACTOR)\n );\n }\n\n getAllWorkobjects() {\n return this.getAllCanvasObjects().filter((co) =>\n co.type.includes(elementTypes.WORKOBJECT)\n );\n }\n}\n","import { Injectable, OnDestroy } from '@angular/core';\nimport { DomainConfigurationService } from 'src/app/Service/DomainConfiguration/domain-configuration.service';\nimport { sanitizeForDesktop } from 'src/app/Utils/sanitizer';\nimport { TitleService } from 'src/app/Service/Title/title.service';\nimport { ConfigAndDST } from 'src/app/Domain/Export/configAndDst';\nimport { DirtyFlagService } from 'src/app/Service/DirtyFlag/dirty-flag.service';\nimport { PngService } from 'src/app/Service/Export/png.service';\nimport { SvgService } from 'src/app/Service/Export/svg.service';\nimport { Subscription } from 'rxjs';\nimport { RendererService } from '../Renderer/renderer.service';\nimport { HtmlPresentationService } from './html-presentation.service';\nimport { formatDate } from '@angular/common';\nimport { environment } from '../../../environments/environment';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class ExportService implements OnDestroy {\n titleSubscription: Subscription;\n descriptionSubscription: Subscription;\n\n title = '';\n description = '';\n\n constructor(\n private configurationService: DomainConfigurationService,\n private titleService: TitleService,\n private dirtyFlagService: DirtyFlagService,\n private pngService: PngService,\n private svgService: SvgService,\n private htmlPresentationService: HtmlPresentationService,\n private rendererService: RendererService\n ) {\n this.titleSubscription = this.titleService.title$.subscribe(\n (title: string) => {\n this.title = title;\n }\n );\n this.descriptionSubscription = this.titleService.description$.subscribe(\n (description: string) => {\n this.description = description;\n }\n );\n }\n\n ngOnDestroy(): void {\n this.titleSubscription.unsubscribe();\n this.descriptionSubscription.unsubscribe();\n }\n\n isDomainStoryExportable(): boolean {\n return this.rendererService.getStory().length >= 1;\n }\n\n createConfigAndDST(DomainStory: any): ConfigAndDST {\n return new ConfigAndDST(\n this.configurationService.getCurrentConfigurationForExport(),\n DomainStory\n );\n }\n\n downloadDST(): void {\n const dst = this.getStoryForDownload();\n const configAndDST = this.createConfigAndDST(dst);\n const json = JSON.stringify(configAndDST, null, 2);\n\n const filename = sanitizeForDesktop(\n this.title + '_' + this.getCurrentDateString()\n );\n\n this.downloadFile(\n json,\n 'data:text/plain;charset=utf-8,',\n filename,\n '.egn',\n true\n );\n }\n\n private downloadFile(\n data: string,\n datatype: string,\n filename: string,\n fileEnding: string,\n makeClean: boolean\n ) {\n const element = document.createElement('a');\n element.setAttribute('href', datatype + encodeURIComponent(data));\n element.setAttribute('download', filename + fileEnding);\n\n element.style.display = 'none';\n document.body.appendChild(element);\n\n element.click();\n\n if (makeClean) {\n this.dirtyFlagService.makeClean();\n }\n\n document.body.removeChild(element);\n }\n\n downloadSVG(withTitle: boolean, useWhiteBackground: boolean): void {\n const story = this.getStoryForDownload();\n const dst = this.createConfigAndDST(story);\n\n const svgData = this.svgService.createSVGData(\n this.title,\n this.description,\n dst,\n withTitle,\n useWhiteBackground\n );\n\n this.downloadFile(\n svgData,\n 'data:application/bpmn20-xml;charset=UTF-8,',\n sanitizeForDesktop(this.title + '_' + this.getCurrentDateString()),\n '.egn.svg',\n true\n );\n }\n\n downloadPNG(withTitle: boolean): void {\n const canvas = document.getElementById('canvas');\n if (canvas) {\n const container = canvas.getElementsByClassName('djs-container');\n const svgElements = container[0].getElementsByTagName('svg');\n const outerSVGElement = svgElements[0];\n const viewport = outerSVGElement.getElementsByClassName('viewport')[0];\n const layerBase = viewport.getElementsByClassName('layer-base')[0];\n\n const image = document.createElement('img');\n\n // removes unwanted black dots in image\n let svg = this.pngService.extractSVG(viewport, outerSVGElement);\n\n svg = this.pngService.prepareSVG(\n svg,\n layerBase,\n this.description,\n this.title,\n withTitle\n );\n\n image.onload = () => {\n const tempCanvas = document.createElement('canvas');\n\n // add a 10px buffer to the right and lower boundary\n tempCanvas.width = this.pngService.getWidth() + 10;\n tempCanvas.height = this.pngService.getHeight() + 10;\n\n const ctx = tempCanvas.getContext('2d');\n if (ctx) {\n // fill with white background\n ctx.rect(0, 0, tempCanvas.width, tempCanvas.height);\n ctx.fillStyle = 'white';\n ctx.fill();\n\n ctx.drawImage(image, 0, 0);\n }\n\n const png64 = tempCanvas.toDataURL('image/png');\n const ele = document.createElement('a');\n ele.setAttribute(\n 'download',\n sanitizeForDesktop(this.title) +\n '_' +\n this.getCurrentDateString() +\n '.png'\n );\n ele.setAttribute('href', png64);\n document.body.appendChild(ele);\n ele.click();\n document.body.removeChild(ele);\n\n // image source has to be removed to circumvent browser caching\n image.src = '';\n };\n image.onchange = image.onload;\n\n image.width = this.pngService.getWidth();\n image.height = this.pngService.getHeight();\n\n image.src = 'data:image/svg+xml,' + svg;\n }\n }\n\n downloadHTMLPresentation(): void {\n const filename = sanitizeForDesktop(\n this.title + '_' + this.getCurrentDateString()\n );\n this.htmlPresentationService.downloadHTMLPresentation(filename).then();\n }\n\n private getStoryForDownload(): unknown[] {\n const story = this.rendererService.getStory() as unknown[];\n story.push({ info: this.titleService.getDescription() });\n story.push({ version: environment.version });\n return story;\n }\n\n private getCurrentDateString(): string {\n return formatDate(new Date(), 'YYYY-MM-dd', 'en-GB');\n }\n}\n","import { Injectable } from '@angular/core';\nimport { sanitizeForDesktop } from '../../Utils/sanitizer';\nimport { ReplayService } from '../Replay/replay.service';\n// @ts-ignore\nimport doT from 'dot';\nimport { TitleService } from '../Title/title.service';\n\n@Injectable({\n providedIn: 'root',\n})\n/**\n * Initial idea and PR from https://github.com/indika-dev\n */\nexport class HtmlPresentationService {\n constructor(\n private replayService: ReplayService,\n private titleService: TitleService\n ) {}\n\n private multiplexSecret: any;\n private multiplexId: any;\n\n private modeler: any;\n\n setModelerClasses(canvas: any, selection: any, modeler: any): void {\n this.modeler = modeler;\n }\n\n private static viewBoxCoordinates(svg: any): any {\n const ViewBoxCoordinate =\n /width=\"([^\"]+)\"\\s+height=\"([^\"]+)\"\\s+viewBox=\"([^\"]+)\"/;\n const match = svg.match(ViewBoxCoordinate);\n return match[3];\n }\n\n /*\n ---------------------------\n SVG handling starts here\n ----------------------------\n */\n\n async downloadHTMLPresentation(filename: string): Promise {\n const svgData = [];\n // export all sentences of domain story\n this.replayService.startReplay();\n try {\n const result = await this.modeler.saveSVG({});\n this.fixActivityMarkersForEachStep(\n result,\n this.replayService.getCurrentStepNumber()\n );\n svgData.push({\n content: HtmlPresentationService.createSVGData(result.svg),\n transition: 'slide',\n });\n } catch (err) {\n alert('There was an error exporting the SVG.\\n' + err);\n }\n while (\n this.replayService.getCurrentStepNumber() <\n this.replayService.getMaxStepNumber()\n ) {\n this.replayService.nextStep();\n try {\n const result = await this.modeler.saveSVG({});\n this.fixActivityMarkersForEachStep(\n result,\n this.replayService.getCurrentStepNumber()\n );\n svgData.push({\n content: HtmlPresentationService.createSVGData(result.svg),\n transition: 'slide',\n });\n } catch (err) {\n alert('There was an error exporting the SVG.\\n' + err);\n }\n }\n this.replayService.stopReplay();\n\n // create download for presentation\n const revealjsTemplate = document.getElementById('revealjs-template');\n const dots = doT.template(revealjsTemplate?.innerHTML);\n const revealjsData = {\n script: 'script',\n title: this.titleService.getTitle(),\n description: this.titleService.getDescription(),\n sentences: svgData,\n multiplexSecret: this.multiplexSecret,\n multiplexId: this.multiplexId,\n };\n const element = document.createElement('a');\n element.setAttribute(\n 'href',\n 'data:text/html;charset=UTF-8,' +\n this.fixMalformedHtmlScript(dots, revealjsData)\n );\n element.setAttribute('download', sanitizeForDesktop(filename) + '.html');\n element.style.display = 'none';\n document.body.appendChild(element);\n element.click();\n document.body.removeChild(element);\n }\n\n private fixMalformedHtmlScript(\n dots: any,\n revealjsData: {\n multiplexId: any;\n sentences: any[];\n multiplexSecret: any;\n description: string;\n title: string;\n script: string;\n }\n ) {\n return dots(revealjsData).replace(''),\n result.svg.indexOf('') + 7\n );\n const split = defs.split(' {\n const idToReplace = id.substring(4, id.length - 1);\n const newId =\n idToReplace.slice(0, id.length - 5) +\n 'customId' +\n sectionIndex +\n idToReplace.slice(idToReplace.length - 2);\n // @ts-ignore\n result.svg = result.svg.replaceAll(idToReplace, newId);\n });\n newDefs += '= 72) {\n fix = true;\n // https://www.chromestatus.com/features/5656049583390720\n }\n } else if (name.includes('Firefox')) {\n fix = true;\n\n // versionNumber of implementation unknown\n }\n if (fix) {\n while (svg.includes('#')) {\n svg = svg.replace('#', '%23');\n }\n }\n return svg;\n }\n\n findMostOuterElements(svg: HTMLElement): Box {\n let xLeft = 0;\n let xRight = 0;\n let yUp = 0;\n let yDown = 0;\n\n const elements = svg.getElementsByClassName('djs-group');\n\n // tslint:disable-next-line:prefer-for-of\n for (let i = 0; i < elements.length; i++) {\n const element = elements[i];\n const sub = element.children;\n\n let elXLeft: number;\n let elXRight: number;\n let elYUp: number;\n let elYDown: number;\n\n const transform = sub[0].getAttribute('transform');\n if (transform) {\n let nums;\n\n if (transform.includes('matrix')) {\n transform.replace('matrix(', '');\n transform.replace(')', '');\n nums = transform.split(' ');\n elXLeft = parseInt(nums[4]);\n elYUp = parseInt(nums[5]);\n } else {\n transform.replace('translate(', '');\n transform.replace(')', '');\n nums = transform.split(' ');\n elXLeft = parseInt(nums[0]);\n elYUp = parseInt(nums[1]);\n }\n\n const rects = sub[0].getElementsByTagName('rect');\n const outerRect = rects[rects.length - 1];\n\n const width = outerRect.getAttribute('width');\n\n elXRight = elXLeft + parseInt(width != null ? width : '0');\n elYDown = elYUp + sub[0].getBoundingClientRect().height;\n } else {\n const rects = element.getElementsByTagName('rect');\n const outerRect = rects[rects.length - 1];\n\n const x = outerRect.getAttribute('x');\n const y = outerRect.getAttribute('y');\n\n elXLeft = parseInt(x != null ? x : '0');\n elYUp = parseInt(y != null ? y : '0');\n\n const width = outerRect.getAttribute('width');\n const height = outerRect.getAttribute('height');\n\n elXRight = elXLeft + parseInt(width != null ? width : '0');\n elYDown = elYUp + parseInt(height != null ? height : '0') + 20; // Add 20 px as Padding for text at the bottom\n }\n if (elXLeft < xLeft) {\n xLeft = elXLeft;\n }\n if (elXRight > xRight) {\n xRight = elXRight;\n }\n if (elYUp < yUp) {\n yUp = elYUp;\n }\n if (elYDown > yDown) {\n yDown = elYDown;\n }\n }\n\n yUp -= 75; // we need to adjust yUp to have space for the title and description\n\n return {\n xLeft,\n xRight,\n yUp,\n yDown,\n };\n }\n\n prepareSVG(\n svg: string,\n layerBase: any,\n description: string,\n title: string,\n withTitle: boolean\n ): string {\n const box = this.findMostOuterElements(layerBase);\n let viewBoxIndex = svg.indexOf('width=\"');\n\n this.calculateWidthAndHeight(box);\n\n const { insertText, extraHeight } = createTitleAndDescriptionSVGElement(\n title,\n description,\n box.xLeft,\n box.yUp + 20,\n this.width\n );\n if (withTitle) {\n this.height += extraHeight;\n }\n\n const bounds = this.createBounds(box, extraHeight);\n\n const dataStart = svg.substring(0, viewBoxIndex);\n viewBoxIndex = svg.indexOf('style=\"');\n\n const dataEnd = svg.substring(viewBoxIndex);\n dataEnd.substring(viewBoxIndex);\n\n svg = dataStart + bounds + dataEnd;\n\n const insertIndex = svg.indexOf('') + 20;\n\n if (withTitle) {\n svg = [\n svg.slice(0, insertIndex),\n insertText,\n svg.slice(insertIndex),\n ].join('');\n }\n svg = this.URIHashtagFix(svg);\n\n return svg;\n }\n\n private createBounds(box: Box, extraHeight: number) {\n return (\n 'width=\"' +\n this.width +\n '\" height=\"' +\n this.height +\n '\" viewBox=\" ' +\n box.xLeft +\n ' ' +\n (box.yUp - extraHeight) +\n ' ' +\n this.width +\n ' ' +\n this.height +\n '\" '\n );\n }\n\n /**\n * Calculate the Width and Height of the Bounding Box for the PNG so no Parts are cut off\n * TODO Longer Iconnames can still be cut of, when the Element is the lowest Object on the canvas, same for Activities\n */\n private calculateWidthAndHeight(box: Box): [number, number] {\n if (box.xLeft < 0) {\n if (box.xRight < 0) {\n this.width = Math.abs(box.xLeft - box.xRight);\n } else {\n this.width = Math.abs(box.xLeft) + box.xRight;\n }\n } else {\n this.width = box.xRight - box.xLeft;\n }\n\n if (box.yUp < 0) {\n if (box.yDown < 0) {\n this.height = Math.abs(box.yUp - box.yDown);\n } else {\n this.height = Math.abs(box.yUp) + box.yDown;\n }\n } else {\n this.height = box.yDown - box.yUp;\n }\n\n // if the domain-Story is smaller than 300px in width or height, increase its dimensions\n if (this.height < 300) {\n this.height += 300;\n box.yUp -= 150;\n box.yDown += 150;\n }\n if (this.width < 300) {\n this.width += 300;\n box.xLeft -= 150;\n box.xRight += 150;\n }\n return [this.height, this.width];\n }\n\n extractSVG(viewport: any, outerSVGElement: any): string {\n const layerResizers = viewport.getElementsByClassName('layer-resizers');\n const layerOverlays = viewport.getElementsByClassName('layer-overlays');\n const transform = viewport.getAttribute('transform');\n const translate = viewport.getAttribute('translate');\n\n if (layerResizers[0]) {\n layerResizers[0].parentNode.removeChild(layerResizers[0]);\n }\n if (layerOverlays[0]) {\n layerOverlays[0].parentNode.removeChild(layerOverlays[0]);\n }\n\n // remove canvas scrolling and scaling before serializeToString of SVG\n if (transform) {\n viewport.removeAttribute('transform');\n }\n if (translate) {\n viewport.removeAttribute('translate');\n }\n\n const svg = new XMLSerializer().serializeToString(outerSVGElement);\n\n // re-add canvas scrolling and scaling\n if (transform) {\n viewport.setAttribute('transform', transform);\n }\n if (translate) {\n viewport.setAttribute('translate', translate);\n }\n return svg;\n }\n\n getWidth(): number {\n return this.width;\n }\n\n getHeight(): number {\n return this.height;\n }\n}\n","import { Injectable } from '@angular/core';\nimport { ConfigAndDST } from 'src/app/Domain/Export/configAndDst';\nimport { createTitleAndDescriptionSVGElement } from 'src/app/Service/Export/exportUtil';\nimport { ModelerService } from '../Modeler/modeler.service';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class SvgService {\n private cacheData = '';\n\n constructor(private modelerService: ModelerService) {}\n\n createSVGData(\n title: string,\n description: string,\n dst: ConfigAndDST,\n withTitle: boolean,\n useWhiteBackground: boolean\n ): string {\n this.cacheData = this.modelerService.getEncoded();\n\n let data = structuredClone(this.cacheData);\n\n let viewBoxIndex = data.indexOf('width=\"');\n\n let { width, height, viewBox } = this.viewBoxCoordinates(data);\n\n let xLeft: number;\n let xRight: number;\n let yUp: number;\n let yDown: number;\n const splitViewBox = viewBox.split(/\\s/);\n\n xLeft = +splitViewBox[0];\n yUp = +splitViewBox[1];\n xRight = +splitViewBox[2];\n yDown = +splitViewBox[3];\n\n if (xRight < 300) {\n xRight += 300;\n width += 300;\n }\n\n const { insertText, extraHeight } = createTitleAndDescriptionSVGElement(\n title,\n description,\n xLeft,\n yUp,\n width\n );\n if (withTitle) {\n // to display the title and description in the SVG-file, we need to add a container for the text-elements\n height += extraHeight + 80;\n }\n\n const bounds = this.createBounds(\n width,\n height,\n xLeft,\n yUp,\n xRight,\n yDown,\n withTitle\n );\n\n const dataStart = data.substring(0, viewBoxIndex);\n viewBoxIndex = data.indexOf('\" version');\n\n const dataEnd = data.substring(viewBoxIndex);\n dataEnd.substring(viewBoxIndex);\n\n data = dataStart + bounds + dataEnd;\n\n const insertIndex = this.findIndexToInsertData(data);\n\n if (withTitle) {\n data = data.slice(0, insertIndex) + insertText + data.slice(insertIndex);\n }\n\n if (useWhiteBackground) {\n const svgIndex = data.indexOf('width=\"');\n const backgroundColorWhite = 'style=\"background-color:white\" ';\n data =\n data.slice(0, svgIndex) + backgroundColorWhite + data.slice(svgIndex);\n }\n\n return this.appendDST(data, dst);\n }\n\n private findIndexToInsertData(data: string) {\n let insertIndex = data.indexOf('');\n if (insertIndex < 0) {\n insertIndex = data.indexOf('version=\"1.2\">') + 14;\n } else {\n insertIndex += 7;\n }\n return insertIndex;\n }\n\n private createBounds(\n width: number,\n height: number,\n xLeft: number,\n yUp: number,\n xRight: number,\n yDown: number,\n withTitle: boolean\n ): string {\n return (\n 'width=\"' +\n width +\n '\" height=\" ' +\n height +\n '\" viewBox=\"' +\n xLeft +\n ' ' +\n (withTitle ? yUp - 80 : yUp) +\n ' ' +\n xRight +\n ' ' +\n (yDown + 30)\n );\n }\n\n private viewBoxCoordinates(svg: string): {\n width: number;\n height: number;\n viewBox: string;\n } {\n const ViewBoxCoordinate =\n /width=\"([^\"]+)\"\\s+height=\"([^\"]+)\"\\s+viewBox=\"([^\"]+)\"/;\n const match = svg.match(ViewBoxCoordinate);\n if (match) {\n return { width: +match[1], height: +match[2], viewBox: match[3] };\n }\n return { width: 0, height: 0, viewBox: '' };\n }\n\n private appendDST(data: string, dst: ConfigAndDST): string {\n data += '\\n';\n return data;\n }\n}\n","import { EventEmitter, Injectable, OnDestroy } from '@angular/core';\nimport { IconDictionaryService } from 'src/app/Service/DomainConfiguration/icon-dictionary.service';\nimport { Dictionary } from 'src/app/Domain/Common/dictionary/dictionary';\nimport { elementTypes } from 'src/app/Domain/Common/elementTypes';\nimport { TitleService } from 'src/app/Service/Title/title.service';\nimport { ImportRepairService } from 'src/app/Service/Import/import-repair.service';\nimport { Observable, Subscription } from 'rxjs';\nimport { RendererService } from 'src/app/Service/Renderer/renderer.service';\nimport { BusinessObject } from 'src/app/Domain/Common/businessObject';\nimport {\n DomainConfiguration,\n fromConfigurationFromFile,\n} from 'src/app/Domain/Common/domainConfiguration';\nimport { DialogService } from '../Dialog/dialog.service';\nimport { InfoDialogComponent } from '../../Presentation/Dialog/info-dialog/info-dialog.component';\nimport { MatDialogConfig } from '@angular/material/dialog';\nimport { InfoDialogData } from '../../Domain/Dialog/infoDialogData';\nimport { restoreTitleFromFileName } from '../../Utils/sanitizer';\nimport {\n INITIAL_DESCRIPTION,\n INITIAL_TITLE,\n SNACKBAR_DURATION,\n SNACKBAR_ERROR,\n SNACKBAR_INFO,\n} from '../../Domain/Common/constants';\nimport { DomainConfigurationService } from '../DomainConfiguration/domain-configuration.service';\nimport { MatSnackBar } from '@angular/material/snack-bar';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class ImportDomainStoryService implements OnDestroy {\n titleSubscription: Subscription;\n descriptionSubscription: Subscription;\n\n title = INITIAL_TITLE;\n description = INITIAL_DESCRIPTION;\n private importedConfiguration: DomainConfiguration | null = null;\n\n private importedConfigurationEmitter =\n new EventEmitter();\n\n constructor(\n private iconDictionaryService: IconDictionaryService,\n private importRepairService: ImportRepairService,\n private titleService: TitleService,\n private rendererService: RendererService,\n private dialogService: DialogService,\n private domainConfigurationService: DomainConfigurationService,\n private snackbar: MatSnackBar\n ) {\n this.titleSubscription = this.titleService.title$.subscribe(\n (title: string) => {\n this.title = title;\n }\n );\n this.descriptionSubscription = this.titleService.description$.subscribe(\n (description: string) => {\n this.description = description;\n }\n );\n }\n\n ngOnDestroy(): void {\n this.titleSubscription.unsubscribe();\n this.descriptionSubscription.unsubscribe();\n }\n\n get importedConfigurationEvent(): Observable {\n return this.importedConfigurationEmitter.asObservable();\n }\n\n getImportedConfiguration(): DomainConfiguration {\n const config: DomainConfiguration = {\n name: this.importedConfiguration?.name || '',\n actors: this.importedConfiguration?.actors || new Dictionary(),\n workObjects: this.importedConfiguration?.workObjects || new Dictionary(),\n };\n this.importedConfiguration = null;\n return config;\n }\n\n importDST(input: Blob, filename: string, isSVG: boolean): void {\n const fileReader = new FileReader();\n const titleText = restoreTitleFromFileName(filename, isSVG);\n\n // no need to put this on the commandStack\n this.titleService.updateTitleAndDescription(titleText, null, false);\n\n fileReader.onloadend = (e) => {\n if (e && e.target) {\n this.fileReaderFunction(e.target.result, isSVG, false);\n }\n };\n\n fileReader.readAsText(input);\n }\n\n importEGN(input: Blob, filename: string, isSVG: boolean): void {\n const fileReader = new FileReader();\n const titleText = restoreTitleFromFileName(filename, isSVG);\n\n // no need to put this on the commandStack\n this.titleService.updateTitleAndDescription(titleText, null, false);\n\n fileReader.onloadend = (e) => {\n if (e && e.target) {\n this.fileReaderFunction(e.target.result, isSVG, true);\n }\n };\n\n fileReader.readAsText(input);\n }\n\n private fileReaderFunction(\n text: string | ArrayBuffer | null,\n isSVG: boolean,\n isEGN: boolean\n ): void {\n let dstText;\n if (typeof text === 'string') {\n if (isSVG) {\n dstText = this.removeXMLComments(text);\n } else {\n dstText = text;\n }\n\n let elements: any[];\n let config: DomainConfiguration;\n let configFromFile: {\n name: string;\n actors: { [key: string]: any };\n workObjects: { [key: string]: any };\n };\n\n let dstAndConfig = this.extractDstAndConfig(dstText, isSVG);\n if (dstAndConfig == null) {\n return;\n }\n\n // current implementation\n if (dstAndConfig.domain) {\n configFromFile = isEGN\n ? dstAndConfig.domain\n : JSON.parse(dstAndConfig.domain);\n config = fromConfigurationFromFile(configFromFile);\n elements = isEGN ? dstAndConfig.dst : JSON.parse(dstAndConfig.dst);\n } else {\n // legacy implementation\n if (dstAndConfig.config) {\n configFromFile = JSON.parse(dstAndConfig.config);\n config = fromConfigurationFromFile(configFromFile);\n elements = JSON.parse(dstAndConfig.dst);\n } else {\n // implementation prior to configuration\n elements = JSON.parse(dstText);\n config =\n this.domainConfigurationService.createMinimalConfigurationWithDefaultIcons();\n }\n }\n\n const configChanged = this.checkConfigForChanges(config);\n\n let lastElement = elements[elements.length - 1];\n if (!lastElement.id) {\n lastElement = elements.pop();\n let importVersionNumber = lastElement;\n\n // if the last element has the importedVersionNumber has the tag version,\n // then there exists another meta tag 'info' for the description\n if (importVersionNumber.version) {\n lastElement = elements.pop();\n }\n\n if (importVersionNumber.version) {\n importVersionNumber = importVersionNumber.version as string;\n } else {\n importVersionNumber = '?';\n this.snackbar.open(`The version number is unreadable.`, undefined, {\n duration: SNACKBAR_DURATION,\n panelClass: SNACKBAR_ERROR,\n });\n }\n elements = this.handleVersionNumber(importVersionNumber, elements);\n }\n\n if (\n !this.importRepairService.checkForUnreferencedElementsInActivitiesAndRepair(\n elements\n )\n ) {\n this.showBrokenImportDialog(isSVG ? 'SVG' : 'DST');\n }\n\n this.titleService.updateTitleAndDescription(\n null,\n lastElement.info,\n false\n );\n\n this.importRepairService.adjustPositions(elements);\n\n this.updateIconRegistries(elements, config);\n this.rendererService.importStory(elements, configChanged, config);\n }\n }\n\n private handleVersionNumber(\n importVersionNumber: string,\n elements: BusinessObject[]\n ): BusinessObject[] {\n const versionPrefix = +importVersionNumber.substring(\n 0,\n importVersionNumber.lastIndexOf('.')\n );\n if (versionPrefix <= 0.5) {\n elements =\n this.importRepairService.updateCustomElementsPreviousV050(elements);\n this.showPreviousV050Dialog(versionPrefix);\n }\n return elements;\n }\n\n private extractDstAndConfig(dstText: string, isSVG: boolean) {\n let dstAndConfig = null;\n try {\n dstAndConfig = JSON.parse(dstText);\n } catch (e) {\n this.showBrokenImportDialog(isSVG ? 'SVG' : 'DST');\n }\n return dstAndConfig;\n }\n\n private removeXMLComments(xmlText: string): string {\n xmlText = xmlText.substring(xmlText.indexOf(''));\n while (xmlText.includes('')) {\n xmlText = xmlText.replace('', '');\n }\n xmlText = xmlText.replace('', '');\n xmlText = xmlText.replace('', '');\n return xmlText;\n }\n\n checkConfigForChanges(domainConfiguration: DomainConfiguration): boolean {\n const newActorKeys = domainConfiguration.actors.keysArray();\n const newWorkObjectKeys = domainConfiguration.workObjects.keysArray();\n\n const currentActorKeys = this.iconDictionaryService.getTypeDictionaryKeys(\n elementTypes.ACTOR\n );\n const currentWorkobjectKeys =\n this.iconDictionaryService.getTypeDictionaryKeys(elementTypes.WORKOBJECT);\n\n let changed = false;\n\n if (\n newActorKeys.length !== currentActorKeys.length ||\n newWorkObjectKeys.length !== currentWorkobjectKeys.length\n ) {\n return true;\n }\n\n for (let i = 0; i < newActorKeys.length; i++) {\n changed =\n this.clearName(currentActorKeys[i]) !== this.clearName(newActorKeys[i]);\n if (changed) {\n i = newActorKeys.length;\n }\n }\n if (changed) {\n return changed;\n }\n for (let i = 0; i < newWorkObjectKeys.length; i++) {\n changed =\n this.clearName(currentWorkobjectKeys[i]) !==\n this.clearName(newWorkObjectKeys[i]);\n if (changed) {\n i = newWorkObjectKeys.length;\n }\n }\n return changed;\n }\n\n private clearName(name: string): string {\n return name\n .replace(elementTypes.ACTOR, '')\n .replace(elementTypes.WORKOBJECT, '');\n }\n\n private updateIconRegistries(\n elements: BusinessObject[],\n config: DomainConfiguration\n ): void {\n const actorIcons = this.iconDictionaryService.getElementsOfType(\n elements,\n elementTypes.ACTOR\n );\n const workObjectIcons = this.iconDictionaryService.getElementsOfType(\n elements,\n elementTypes.WORKOBJECT\n );\n this.iconDictionaryService.updateIconRegistries(\n actorIcons,\n workObjectIcons,\n config\n );\n\n this.setImportedConfigurationAndEmit(config);\n }\n\n private showPreviousV050Dialog(version: number): void {\n const title = 'Compatability-Warning';\n const text =\n 'The uploaded Domain-Story is from version ' +\n version +\n '. There may be problems with the default actors or workobjects contained in the story.';\n\n const config = new MatDialogConfig();\n config.disableClose = false;\n config.autoFocus = true;\n\n config.data = new InfoDialogData(title, text, true);\n\n this.dialogService.openDialog(InfoDialogComponent, config);\n }\n\n private setImportedConfigurationAndEmit(config: DomainConfiguration) {\n this.importedConfiguration = config;\n this.importedConfigurationEmitter.emit(config);\n }\n\n private showBrokenImportDialog(type: string) {\n const config = new MatDialogConfig();\n config.disableClose = false;\n config.autoFocus = true;\n config.data = new InfoDialogData(\n 'Error during import',\n 'The uploaded ' +\n type +\n ' is not complete, there could be elements missing from the canvas.',\n true,\n false\n );\n\n this.dialogService.openDialog(InfoDialogComponent, config);\n }\n}\n","import { Injectable } from '@angular/core';\nimport { elementTypes } from 'src/app/Domain/Common/elementTypes';\nimport { BusinessObject } from 'src/app/Domain/Common/businessObject';\nimport { Waypoint } from 'src/app/Domain/Common/waypoint';\nimport { ActivityBusinessObject } from '../../Domain/Common/activityBusinessObject';\n\n/**\n * Repairs broken Domain Stories so that it can be rendered onto the canvas\n * by removing activities and connections that reference elements that don't exists\n */\n@Injectable({\n providedIn: 'root',\n})\nexport class ImportRepairService {\n checkForUnreferencedElementsInActivitiesAndRepair(\n elements: BusinessObject[]\n ): boolean {\n const activities: ActivityBusinessObject[] = [];\n const objectIDs: string[] = [];\n\n let complete = true;\n\n elements.forEach((element) => {\n const type = element.type;\n if (type === elementTypes.ACTIVITY || type === elementTypes.CONNECTION) {\n activities.push(element as ActivityBusinessObject);\n } else {\n objectIDs.push(element.id);\n }\n });\n\n activities.forEach((activity) => {\n const source = activity.source;\n const target = activity.target;\n if (!objectIDs.includes(source) || !objectIDs.includes(target)) {\n complete = false;\n const activityIndex = elements.indexOf(activity);\n elements = elements.splice(activityIndex, 1);\n }\n });\n return complete;\n }\n\n /**\n * Ensure backwards compatibility.\n * Previously Document had no special name and was just addressed as workObject\n * Bubble was renamed to Conversation\n */\n updateCustomElementsPreviousV050(\n elements: BusinessObject[]\n ): BusinessObject[] {\n for (const element of elements) {\n if (element.type === elementTypes.WORKOBJECT) {\n element.type = elementTypes.WORKOBJECT + 'Document';\n } else if (element.type === elementTypes.WORKOBJECT + 'Bubble') {\n element.type = elementTypes.WORKOBJECT + 'Conversation';\n }\n }\n return elements;\n }\n\n /**\n * Adjusts Positions of Elements to ensure the Domain Story starts in the visible parts of the canvas\n */\n adjustPositions(elements: BusinessObject[]): void {\n let xLeft = 0;\n let yUp = 0;\n let isFirst = true;\n\n this.findFirstElement(elements, isFirst, xLeft, yUp);\n\n if (xLeft < 75 || xLeft > 150 || yUp < 0 || yUp > 50) {\n // add Padding for the Palette and the top\n xLeft -= 75;\n yUp -= 50;\n\n elements.forEach((element) =>\n this.adjustElementPosition(element, xLeft, yUp)\n );\n }\n }\n\n private adjustElementPosition(\n element: BusinessObject,\n xLeft: number,\n yUp: number\n ): void {\n if (\n element.type === elementTypes.ACTIVITY ||\n element.type === elementTypes.CONNECTION\n ) {\n const waypoints = (element as ActivityBusinessObject).waypoints;\n waypoints.forEach((point: Waypoint) => {\n point.x -= xLeft;\n point.y -= yUp;\n\n if (point.original) {\n point.original.x = point.x;\n point.original.y = point.y;\n }\n });\n } else {\n element.x -= xLeft;\n element.y -= yUp;\n }\n }\n\n private findFirstElement(\n elements: BusinessObject[],\n isFirst: boolean,\n xLeft: number,\n yUp: number\n ) {\n elements.forEach((element) => {\n let elXLeft;\n let elYUp;\n if (\n element.type !== elementTypes.ACTIVITY &&\n element.type !== elementTypes.CONNECTION\n ) {\n if (isFirst) {\n xLeft = element.x;\n yUp = element.y;\n isFirst = false;\n }\n elXLeft = element.x;\n elYUp = element.y;\n if (elXLeft < xLeft) {\n xLeft = elXLeft;\n }\n if (elYUp < yUp) {\n yUp = elYUp;\n }\n }\n });\n }\n}\n","import { Injectable } from '@angular/core';\nimport { ElementRegistryService } from 'src/app/Service/ElementRegistry/element-registry.service';\nimport { elementTypes } from 'src/app/Domain/Common/elementTypes';\nimport { MassNamingService } from 'src/app/Service/LabelDictionary/mass-naming.service';\nimport { IconDictionaryService } from '../DomainConfiguration/icon-dictionary.service';\nimport { WorkObjectLabelEntry } from '../../Domain/LabelDictionary/workObjectLabelEntry';\nimport { LabelEntry } from '../../Domain/LabelDictionary/labelEntry';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class LabelDictionaryService {\n activityLabels: LabelEntry[] = [];\n workObjektLabels: WorkObjectLabelEntry[] = [];\n\n constructor(\n private massNamingService: MassNamingService,\n private elementRegistryService: ElementRegistryService,\n private iconDictionaryService: IconDictionaryService\n ) {}\n\n createLabelDictionaries(): void {\n this.activityLabels = [];\n this.workObjektLabels = [];\n\n const allObjects = this.elementRegistryService.getAllCanvasObjects();\n\n allObjects.forEach((element) => {\n const name = element.businessObject.name;\n if (\n name &&\n name.length > 0 &&\n element.type.includes(elementTypes.ACTIVITY) &&\n !this.activityLabels.map((a) => a.name).includes(name)\n ) {\n this.activityLabels.push({\n name,\n originalName: name,\n });\n } else if (\n name &&\n name.length > 0 &&\n element.type.includes(elementTypes.WORKOBJECT) &&\n !this.workObjektLabels.map((e) => e.name).includes(name)\n ) {\n const iconName = element.type.replace(elementTypes.WORKOBJECT, '');\n let icon = this.iconDictionaryService.getIconSource(iconName);\n if (!icon) {\n return;\n }\n if (!icon.startsWith('data')) {\n icon = 'data:image/svg+xml,' + icon;\n }\n this.workObjektLabels.push({\n name,\n originalName: name,\n icon,\n });\n }\n });\n this.activityLabels.sort((a, b) => {\n return a.name.toLowerCase().localeCompare(b.name.toLowerCase());\n });\n this.workObjektLabels.sort((a, b) => {\n return a.name.toLowerCase().localeCompare(b.name.toLowerCase());\n });\n }\n\n getActivityLabels(): LabelEntry[] {\n return this.activityLabels.slice();\n }\n\n getWorkObjectLabels(): WorkObjectLabelEntry[] {\n return this.workObjektLabels.slice();\n }\n\n getUniqueWorkObjectNames(): String[] {\n const workObjects = this.elementRegistryService.getAllWorkobjects();\n return [\n ...new Set(\n workObjects\n .filter((workObject) => {\n return !!workObject.businessObject.name;\n })\n .map((workObject) => workObject.businessObject.name)\n ),\n ];\n }\n\n massRenameLabels(\n activityNames: string[],\n originalActivityNames: string[],\n workObjectNames: string[],\n originalWorkObjectNames: string[]\n ): void {\n for (let i = 0; i < originalActivityNames.length; i++) {\n if (!activityNames[i]) {\n activityNames[i] = '';\n }\n if (!(activityNames[i] == originalActivityNames[i])) {\n this.massNamingService.massChangeNames(\n originalActivityNames[i],\n activityNames[i],\n elementTypes.ACTIVITY\n );\n }\n }\n for (let i = 0; i < originalWorkObjectNames.length; i++) {\n if (!workObjectNames[i]) {\n workObjectNames[i] = '';\n }\n if (!(workObjectNames[i] == originalWorkObjectNames[i])) {\n this.massNamingService.massChangeNames(\n originalWorkObjectNames[i],\n workObjectNames[i],\n elementTypes.WORKOBJECT\n );\n }\n }\n }\n}\n","import { Injectable } from '@angular/core';\nimport { ElementRegistryService } from 'src/app/Service/ElementRegistry/element-registry.service';\nimport { CanvasObject } from 'src/app/Domain/Common/canvasObject';\nimport { elementTypes } from '../../Domain/Common/elementTypes';\nimport { CommandStackService } from '../CommandStack/command-stack.service';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class MassNamingService {\n constructor(\n private elementRegistryService: ElementRegistryService,\n private commandStackService: CommandStackService\n ) {}\n\n massChangeNames(\n oldValue: string,\n newValue: string,\n type: elementTypes\n ): void {\n const allRelevantObjects: CanvasObject[] = [];\n\n this.elementRegistryService.getAllCanvasObjects().forEach((element) => {\n if (\n element.type.includes(type) &&\n element.businessObject.name === oldValue\n ) {\n allRelevantObjects.push(element);\n }\n });\n\n const context = {\n elements: allRelevantObjects,\n newValue,\n };\n\n this.commandStackService.execute('domainStoryObjects.massRename', context);\n }\n}\n","import { Injectable } from '@angular/core';\n\nimport { initializeContextPadProvider } from '../../Modeler/modeler/context-pad/domainStoryContextPadProvider';\nimport {\n getMultipleNumberRegistry,\n getNumberRegistry,\n initializeNumbering,\n setNumberIsMultiple,\n updateExistingNumbersAtEditing,\n} from '../../Modeler/modeler/numbering/numbering';\nimport { initializePalette } from '../../Modeler/modeler/palette/domainStoryPalette';\nimport { initializeRenderer } from '../../Modeler/modeler/domainStoryRenderer';\nimport {\n initializeLabelEditingProvider,\n toggleStashUse,\n} from '../../Modeler/modeler/labeling/dsLabelEditingProvider';\nimport { initializeReplaceOptions } from '../../Modeler/modeler/change-icon/replaceOptions';\n\nimport { DirtyFlagService } from '../DirtyFlag/dirty-flag.service';\nimport { IconDictionaryService } from '../DomainConfiguration/icon-dictionary.service';\nimport { ElementRegistryService } from '../ElementRegistry/element-registry.service';\nimport { DomainConfigurationService } from '../DomainConfiguration/domain-configuration.service';\nimport { LabelDictionaryService } from '../LabelDictionary/label-dictionary.service';\nimport { elementTypes } from '../../Domain/Common/elementTypes';\nimport { ReplayStateService } from '../Replay/replay-state.service';\nimport { MatDialogConfig } from '@angular/material/dialog';\nimport { ActivityDialogData } from '../../Domain/Dialog/activityDialogData';\nimport { ActivityDialogComponent } from '../../Presentation/Dialog/activity-dialog/activity-dialog.component';\nimport { DialogService } from '../Dialog/dialog.service';\nimport massRenameHandler from '../../Modeler/modeler/updateHandler/massRenameHandler';\nimport headlineAndDescriptionUpdateHandler from '../../Modeler/modeler/updateHandler/headlineAndDescriptionUpdateHandler';\nimport { TitleService } from '../Title/title.service';\nimport { ActivityCanvasObject } from '../../Domain/Common/activityCanvasObject';\nimport { HtmlPresentationService } from '../Export/html-presentation.service';\nimport { positionsMatch } from '../../Utils/mathExtensions';\nimport activityUpdateHandler, {\n initializeActivityUpdateHandler,\n} from '../../Modeler/modeler/updateHandler/activityUpdateHandlers';\nimport elementUpdateHandler from '../../Modeler/modeler/updateHandler/elementUpdateHandler';\nimport { CommandStackService } from '../CommandStack/command-stack.service';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class InitializerService {\n constructor(\n private dirtyFlagService: DirtyFlagService,\n private iconDictionaryService: IconDictionaryService,\n private elementRegistryService: ElementRegistryService,\n private configurationService: DomainConfigurationService,\n private labelDictionaryService: LabelDictionaryService,\n private replayStateService: ReplayStateService,\n private dialogService: DialogService,\n private commandStackService: CommandStackService,\n private titleService: TitleService,\n private htmlPresentationService: HtmlPresentationService\n ) {}\n\n initializeDomainStoryModelerClasses(): void {\n initializeContextPadProvider(\n this.dirtyFlagService,\n this.iconDictionaryService\n );\n /** The Palette and the Context Menu need the Icons present in the Domain,\n * so the IconDictionaryService and the DomainConfigurationService needs to be given to the Palette **/\n initializePalette(this.iconDictionaryService, this.configurationService);\n initializeRenderer(\n this.iconDictionaryService,\n this.elementRegistryService,\n this.dirtyFlagService\n );\n initializeLabelEditingProvider(this.labelDictionaryService);\n initializeReplaceOptions(this.iconDictionaryService);\n initializeNumbering(this.elementRegistryService);\n initializeActivityUpdateHandler(this.elementRegistryService);\n }\n\n propagateDomainStoryModelerClassesToServices(\n commandStack: any,\n elementRegistry: any,\n canvas: any,\n selection: any,\n modeler: any\n ): void {\n this.commandStackService.setCommandStack(commandStack);\n this.elementRegistryService.setElementRegistry(elementRegistry);\n this.htmlPresentationService.setModelerClasses(canvas, selection, modeler);\n }\n\n initializeDomainStoryModelerEventHandlers(\n commandStack: any,\n eventBus: any\n ): void {\n activityUpdateHandler(commandStack, eventBus);\n massRenameHandler(commandStack, eventBus);\n elementUpdateHandler(commandStack, eventBus);\n headlineAndDescriptionUpdateHandler(commandStack, this.titleService);\n }\n\n initiateEventBusListeners(eventBus: any, commandStack: any): void {\n eventBus.on('element.dblclick', (e: any) => {\n if (!this.replayStateService.getReplayOn()) {\n const element = e.element;\n if (element.type === elementTypes.ACTIVITY) {\n // override the doubleClickListener on activities\n this.activityDoubleClick(element, eventBus, commandStack);\n } else {\n const renderedNumberRegistry = getNumberRegistry();\n\n // add a DoubleClickListener to the number on activities\n if (renderedNumberRegistry.length > 1) {\n const allActivities =\n this.elementRegistryService.getActivitiesFromActors();\n\n if (allActivities.length > 0) {\n const htmlCanvas = document.getElementById('canvas');\n if (htmlCanvas) {\n const container =\n htmlCanvas.getElementsByClassName('djs-container');\n const svgElements = container[0].getElementsByTagName('svg');\n const outerSVGElement = svgElements[0];\n const viewport =\n outerSVGElement.getElementsByClassName('viewport')[0];\n let transform = viewport.getAttribute('transform');\n\n let transformX = 0;\n let transformY = 0;\n let zoomX = 1;\n let zoomY = 1;\n let nums;\n\n const clickX = e.originalEvent.offsetX;\n const clickY = e.originalEvent.offsetY;\n\n // adjust for zoom and panning\n if (transform) {\n transform = transform.replace('matrix(', '');\n transform.replace(')', '');\n nums = transform.split(',');\n zoomX = parseFloat(nums[0]);\n zoomY = parseFloat(nums[3]);\n transformX = parseInt(nums[4], undefined);\n transformY = parseInt(nums[5], undefined);\n }\n\n const width = 25 * zoomX;\n const height = 22 * zoomY;\n\n for (let i = 1; i < renderedNumberRegistry.length; i++) {\n const currentNum = renderedNumberRegistry[i];\n if (currentNum) {\n const tspan = currentNum.getElementsByTagName('tspan')[0];\n const tx = tspan.getAttribute('x');\n const ty = tspan.getAttribute('y');\n const tNumber = parseInt(tspan.innerHTML, undefined);\n\n const elementX = Math.floor(\n tx * zoomX + (transformX - 11 * zoomX)\n );\n const elementY = Math.floor(\n ty * zoomY + (transformY - 15 * zoomY)\n );\n\n allActivities.forEach((activity: ActivityCanvasObject) => {\n const activityNumber = activity.businessObject.number;\n if (activityNumber === tNumber) {\n if (\n positionsMatch(\n width,\n height,\n elementX,\n elementY,\n clickX,\n clickY\n )\n ) {\n this.activityDoubleClick(\n activity,\n eventBus,\n commandStack\n );\n }\n }\n });\n }\n }\n }\n }\n }\n }\n }\n });\n\n // when in replay, do not allow any interaction on the canvas\n eventBus.on(\n [\n 'element.click',\n 'element.dblclick',\n 'element.mousedown',\n 'drag.init',\n 'canvas.viewbox.changing',\n 'autoPlace',\n 'popupMenu.open',\n ],\n 10000000000,\n (event: any) => {\n if (this.replayStateService.getReplayOn()) {\n event.stopPropagation();\n event.preventDefault();\n }\n }\n );\n }\n\n /** Overrrides for Canvas Functions **/\n private activityDoubleClick(\n activity: ActivityCanvasObject,\n eventBus: any,\n commandStack: any\n ): void {\n const source = activity.source;\n\n // ensure the right number when changing the direction of an activity\n toggleStashUse(false);\n\n const config = new MatDialogConfig();\n config.disableClose = false;\n config.autoFocus = true;\n\n if (\n activity.businessObject.number &&\n source &&\n source.type.includes(elementTypes.ACTOR)\n ) {\n config.data = new ActivityDialogData(\n activity,\n getMultipleNumberRegistry()[activity.businessObject.number],\n true,\n (data: any) => this.saveActivityInputLabel(data, eventBus, commandStack)\n );\n } else if (source && source.type.includes(elementTypes.WORKOBJECT)) {\n config.data = new ActivityDialogData(\n activity,\n false,\n false,\n (activityData: any) =>\n this.saveActivityInputLabel(activityData, eventBus, commandStack)\n );\n }\n this.dialogService.openDialog(ActivityDialogComponent, config);\n }\n\n private saveActivityInputLabel(\n activityData: any,\n eventBus: any,\n commandStack: any\n ): void {\n const label = activityData.activityLabel;\n const hasNumber = activityData.activityNumber ?? false;\n const activityNumber = activityData.activityNumber;\n const multipleNumberAllowed = activityData.multipleNumbers ?? false;\n const element = activityData.activity;\n\n const activitiesFromActors =\n this.elementRegistryService.getActivitiesFromActors();\n const index = activitiesFromActors.indexOf(element);\n\n activitiesFromActors.splice(index, 1);\n if (hasNumber) {\n setNumberIsMultiple(activityNumber, multipleNumberAllowed);\n }\n element.businessObject.multipleNumberAllowed = multipleNumberAllowed;\n\n let options: any;\n if (hasNumber) {\n options = {\n businessObject: element.businessObject,\n newLabel: label,\n newNumber: activityNumber,\n element,\n };\n } else {\n options = {\n businessObject: element.businessObject,\n newLabel: label,\n element,\n };\n }\n\n commandStack.execute('activity.changed', options);\n if (element.businessObject.multipleNumberAllowed !== false) {\n if (getMultipleNumberRegistry()[activityNumber] === false) {\n updateExistingNumbersAtEditing(\n activitiesFromActors,\n activityNumber,\n eventBus\n );\n }\n } else if (element.businessObject.multipleNumberAllowed === false) {\n updateExistingNumbersAtEditing(\n activitiesFromActors,\n activityNumber,\n eventBus\n );\n }\n }\n}\n","import { Injectable } from '@angular/core';\nimport { assign } from 'min-dash';\nimport DomainStoryModeler from 'src/app/Modeler';\nimport { DomainConfiguration } from 'src/app/Domain/Common/domainConfiguration';\nimport { InitializerService } from './initializer.service';\nimport { ElementRegistryService } from '../ElementRegistry/element-registry.service';\nimport { IconDictionaryService } from '../DomainConfiguration/icon-dictionary.service';\nimport { DomainConfigurationService } from '../DomainConfiguration/domain-configuration.service';\nimport { BusinessObject } from '../../Domain/Common/businessObject';\nimport { StorageService } from '../BrowserStorage/storage.service';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class ModelerService {\n constructor(\n private initializerService: InitializerService,\n private elementRegistryService: ElementRegistryService,\n private iconDictionaryService: IconDictionaryService,\n private domainConfigurationService: DomainConfigurationService,\n private storageService: StorageService\n ) {}\n\n private modeler: any;\n private canvas: any;\n private elementRegistry: any;\n private commandStack: any;\n private selection: any;\n private eventBus: any;\n\n private encoded: string | undefined;\n\n postInit(): void {\n const storedDomainConfiguration =\n this.storageService.getStoredDomainConfiguration();\n if (storedDomainConfiguration) {\n this.iconDictionaryService.setCusomtConfiguration(\n storedDomainConfiguration\n );\n this.domainConfigurationService.loadConfiguration(\n storedDomainConfiguration\n );\n }\n this.initializerService.initializeDomainStoryModelerClasses();\n this.modeler = new DomainStoryModeler({\n container: '#canvas',\n keyboard: {\n bindTo: document,\n },\n\n // Disable BPMN-SearchModule and re-enable browser Search\n additionalModules: [\n {\n bpmnSearch: ['value', 'foo'],\n },\n ],\n });\n\n if (this.modeler.get) {\n this.canvas = this.modeler.get('canvas');\n this.elementRegistry = this.modeler.get('elementRegistry');\n this.eventBus = this.modeler.get('eventBus');\n this.commandStack = this.modeler.get('commandStack');\n this.selection = this.modeler.get('selection');\n }\n\n this.initializerService.initializeDomainStoryModelerEventHandlers(\n this.commandStack,\n this.eventBus\n );\n this.initializerService.propagateDomainStoryModelerClassesToServices(\n this.commandStack,\n this.elementRegistry,\n this.canvas,\n this.selection,\n this.modeler\n );\n\n const exportArtifacts = this.debounce(this.saveSVG, 500);\n if (this.modeler.get) {\n this.modeler.on('commandStack.changed', exportArtifacts);\n }\n\n this.initializerService.initiateEventBusListeners(\n this.eventBus,\n this.commandStack\n );\n\n this.modeler.createDiagram();\n // expose bpmnjs to window for debugging purposes\n assign(window, { bpmnjs: this.modeler });\n\n this.startDebounce();\n }\n\n restart(\n domainConfiguration?: DomainConfiguration,\n domainStory?: BusinessObject[]\n ): void {\n const currentStory =\n domainStory != undefined\n ? domainStory\n : this.elementRegistryService\n .createObjectListForDSTDownload()\n .map((e) => e.businessObject);\n if (!domainConfiguration) {\n domainConfiguration = this.storageService.getStoredDomainConfiguration();\n }\n if (domainConfiguration) {\n this.storageService.setStoredDomainConfiguration(domainConfiguration);\n this.iconDictionaryService.setCusomtConfiguration(domainConfiguration);\n this.domainConfigurationService.loadConfiguration(domainConfiguration);\n }\n\n this.elementRegistryService.clear();\n this.modeler?.destroy();\n this.postInit();\n if (currentStory && this.modeler.get) {\n this.modeler.importCustomElements(currentStory);\n }\n }\n\n /** Interactions with the Modeler **/\n getModeler(): any {\n return this.modeler;\n }\n\n commandStackChanged(): void {\n // to update the title of the svg, we need to tell the command stack, that a value has changed\n this.eventBus.fire(\n 'commandStack.changed',\n this.debounce(this.saveSVG, 500)\n );\n }\n\n startDebounce(): void {\n this.debounce(this.saveSVG, 500);\n }\n\n debounce(fn: any, timeout: number): any {\n return () => {\n let timer;\n if (timer) {\n clearTimeout(timer);\n }\n timer = setTimeout(() => {\n // tslint:disable-next-line:no-unused-expression\n fn(this.modeler).then((svg: string) => {\n this.encoded = svg;\n }) as Promise;\n }, timeout);\n };\n }\n\n getEncoded(): string {\n return this.encoded ? this.encoded : '';\n }\n\n async saveSVG(modeler: any): Promise {\n try {\n const result = await modeler.saveSVG();\n return result.svg;\n } catch (err) {\n alert('There was an error saving the SVG.\\n' + err);\n }\n }\n}\n","import { Injectable } from '@angular/core';\nimport { ModelerService } from 'src/app/Service/Modeler/modeler.service';\nimport { BusinessObject } from 'src/app/Domain/Common/businessObject';\nimport { ElementRegistryService } from 'src/app/Service/ElementRegistry/element-registry.service';\nimport { DirtyFlagService } from 'src/app/Service/DirtyFlag/dirty-flag.service';\nimport { DomainConfiguration } from 'src/app/Domain/Common/domainConfiguration';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class RendererService {\n constructor(\n private modelerService: ModelerService,\n private elementRegistryService: ElementRegistryService,\n private dirtyFlagService: DirtyFlagService\n ) {}\n\n renderStory(domainStory: BusinessObject[]): void {\n this.modelerService.getModeler().importCustomElements(domainStory);\n }\n\n reset(): void {\n this.renderStory([]);\n }\n\n importStory(\n domainStory: BusinessObject[],\n configurationChange: boolean,\n config?: DomainConfiguration,\n makeClean = true\n ): void {\n this.modelerService.restart(config, domainStory);\n this.renderStory(domainStory);\n\n this.elementRegistryService.correctInitialize();\n\n this.modelerService.commandStackChanged();\n this.modelerService.startDebounce();\n\n if (makeClean) {\n this.dirtyFlagService.makeClean();\n }\n }\n\n getStory(): BusinessObject[] {\n return this.elementRegistryService\n .createObjectListForDSTDownload()\n .map((c) => c.businessObject);\n }\n}\n","import { Injectable } from '@angular/core';\nimport { BehaviorSubject } from 'rxjs';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class ReplayStateService {\n private replayOnSubject = new BehaviorSubject(false);\n\n replayOn$ = this.replayOnSubject.asObservable();\n\n setReplayState(state: boolean): void {\n this.replayOnSubject.next(state);\n }\n\n getReplayOn(): boolean {\n return this.replayOnSubject.value;\n }\n}\n","import { Injectable } from '@angular/core';\nimport { ReplayStateService } from 'src/app/Service/Replay/replay-state.service';\nimport { DomManipulationService } from 'src/app/Service/DomManipulation/dom-manipulation.service';\nimport { StoryStep } from 'src/app/Domain/Replay/storyStep';\nimport { StoryCreatorService } from './storyCreator/story-creator.service';\nimport { BehaviorSubject } from 'rxjs';\nimport { MatSnackBar } from '@angular/material/snack-bar';\nimport {\n SNACKBAR_DURATION,\n SNACKBAR_INFO,\n} from '../../Domain/Common/constants';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class ReplayService {\n private story: StoryStep[] = [];\n private currentStep = new BehaviorSubject(-1);\n private maxStepNumber = new BehaviorSubject(0);\n\n currentStep$ = this.currentStep.asObservable();\n maxStepNumber$ = this.maxStepNumber.asObservable();\n\n constructor(\n private replayStateService: ReplayStateService,\n private domManipulationService: DomManipulationService,\n private storyCreatorService: StoryCreatorService,\n private snackbar: MatSnackBar\n ) {}\n\n initializeReplay(): void {\n this.currentStep.next(1);\n this.story = this.storyCreatorService.traceActivitiesAndCreateStory();\n this.maxStepNumber.next(this.story.length);\n }\n\n getCurrentStepNumber(): number {\n return this.currentStep.value;\n }\n\n getMaxStepNumber(): number {\n return this.maxStepNumber.value;\n }\n\n nextStep(): void {\n if (this.currentStep.value < this.story.length) {\n this.currentStep.next(this.currentStep.value + 1);\n this.showCurrentStep();\n }\n }\n\n previousStep(): void {\n if (this.currentStep.value > 1) {\n this.currentStep.next(this.currentStep.value - 1);\n this.showCurrentStep();\n }\n }\n\n private showCurrentStep() {\n this.domManipulationService.showStep(\n this.story[this.currentStep.value - 1],\n this.currentStep.value > 1\n ? this.story[this.currentStep.value - 2]\n : undefined\n );\n }\n\n startReplay(): void {\n this.initializeReplay();\n if (this.story?.length) {\n const missingSteps = this.storyCreatorService.getMissingSteps(this.story);\n if (missingSteps.length === 0) {\n this.replayStateService.setReplayState(true);\n this.domManipulationService.showStep(\n this.story[this.currentStep.getValue() - 1]\n );\n } else {\n const steps = missingSteps.join(', ');\n this.snackbar.open(\n steps.length === 1\n ? `The Domain Story is not complete. Step ${steps} is missing.`\n : `The Domain Story is not complete. Steps ${steps} are missing.`,\n undefined,\n {\n duration: SNACKBAR_DURATION * 2,\n panelClass: SNACKBAR_INFO,\n }\n );\n }\n } else {\n this.snackbar.open('You need a Domain Story for replay.', undefined, {\n duration: SNACKBAR_DURATION * 2,\n panelClass: SNACKBAR_INFO,\n });\n }\n }\n\n stopReplay(): void {\n this.currentStep.next(-1);\n this.maxStepNumber.next(0);\n this.replayStateService.setReplayState(false);\n this.domManipulationService.showAll();\n }\n}\n","import { Injectable } from '@angular/core';\nimport { elementTypes } from '../../../Domain/Common/elementTypes';\nimport { ActivityCanvasObject } from '../../../Domain/Common/activityCanvasObject';\nimport { BusinessObject } from '../../../Domain/Common/businessObject';\nimport { CanvasObject } from '../../../Domain/Common/canvasObject';\nimport { ElementRegistryService } from '../../ElementRegistry/element-registry.service';\nimport { StoryStep } from '../../../Domain/Replay/storyStep';\nimport { Dictionary } from '../../../Domain/Common/dictionary/dictionary';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class StoryCreatorService {\n constructor(private elementRegistryService: ElementRegistryService) {}\n\n traceActivitiesAndCreateStory(): StoryStep[] {\n const tracedActivityMap = new Dictionary();\n const story: StoryStep[] = [];\n const activities = this.elementRegistryService.getActivitiesFromActors();\n\n activities.forEach((activity) => {\n const activityNumber = Number(activity.businessObject.number); // Sometimes the activityNumber is a string for some reason\n const tracedItem = tracedActivityMap.get(`${activityNumber - 1}`)\n ? tracedActivityMap.get(`${activityNumber - 1}`)\n : [];\n tracedItem.push(activity);\n tracedActivityMap.set(`${activityNumber - 1}`, tracedItem);\n });\n\n for (let i = 0; i < tracedActivityMap.keysArray().length; i++) {\n this.createStep(tracedActivityMap, i, story);\n }\n this.addGroupStep(story);\n return story;\n }\n\n private createStep(\n tracedActivityMap: Dictionary,\n i: number,\n story: StoryStep[]\n ): void {\n const stepObjects = this.getStepObjects(\n tracedActivityMap.get(`${i}`) || []\n );\n const highlightedElements = stepObjects.map((t) => t.id);\n if (i > 0) {\n story[i - 1].objects.forEach((object) => {\n if (!stepObjects.includes(object)) {\n stepObjects.push(object);\n }\n });\n }\n story[i] = {\n highlightedObjects: highlightedElements,\n objects: stepObjects,\n };\n }\n\n getMissingSteps(story: StoryStep[]): number[] {\n if (!story || story.length === 0) {\n return [];\n }\n\n const missingSteps: number[] = [];\n let complete = true;\n for (let i = 0; i < story.length; i++) {\n if (\n !story[i] ||\n !(story[i].objects.length > 0) ||\n story[i].objects.filter(\n (element) => element.type === elementTypes.ACTIVITY\n ).length <= 0\n ) {\n missingSteps.push(i + 1);\n complete = false;\n }\n }\n return missingSteps;\n }\n\n private getStepObjects(\n tracedActivity: ActivityCanvasObject[]\n ): BusinessObject[] {\n const initialSource: CanvasObject[] = [];\n const activities = tracedActivity;\n const targetObjects: CanvasObject[] = [];\n\n tracedActivity.forEach((parallelStep: ActivityCanvasObject) => {\n initialSource.push(parallelStep.source);\n\n const firstTarget = parallelStep.target;\n targetObjects.push(firstTarget);\n\n // check the outgoing activities for each target\n for (const checkTarget of targetObjects) {\n if (\n checkTarget.businessObject &&\n !checkTarget.businessObject.type.includes('actor') &&\n checkTarget.outgoing\n ) {\n // check the target for each outgoing activity\n checkTarget.outgoing.forEach((activity: ActivityCanvasObject) => {\n activities.push(activity);\n const activityTarget = activity.target;\n if (activityTarget && !targetObjects.includes(activityTarget)) {\n targetObjects.push(activityTarget);\n }\n });\n }\n }\n });\n return initialSource\n .map((e) => e.businessObject)\n .concat(activities.map((a) => a.businessObject))\n .concat(targetObjects.map((t) => t.businessObject));\n }\n\n /** Groups should be shown at the End of the Story **/\n private addGroupStep(story: StoryStep[]): void {\n const groups = this.elementRegistryService.getAllGroups() as CanvasObject[];\n if (groups.length > 0) {\n story.push({\n highlightedObjects: [],\n objects: groups\n .map((g) => g.businessObject)\n .concat(story[story.length - 1].objects),\n });\n }\n }\n}\n","import { Injectable } from '@angular/core';\nimport { BehaviorSubject } from 'rxjs';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class SettingsService {\n private showSettings = new BehaviorSubject(false);\n showSettings$ = this.showSettings.asObservable();\n\n close(): void {\n this.showSettings.next(false);\n }\n\n open(): void {\n this.showSettings.next(true);\n }\n}\n","import { Injectable } from '@angular/core';\nimport { BehaviorSubject } from 'rxjs';\nimport {\n INITIAL_DESCRIPTION,\n INITIAL_DOMAIN_NAME,\n INITIAL_TITLE,\n} from '../../Domain/Common/constants';\nimport { CommandStackService } from '../CommandStack/command-stack.service';\nimport { environment } from '../../../environments/environment';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class TitleService {\n private titleSubject = new BehaviorSubject(INITIAL_TITLE);\n private descriptionSubject = new BehaviorSubject(INITIAL_DESCRIPTION);\n private domainNameSubject = new BehaviorSubject(INITIAL_DOMAIN_NAME);\n private showDescriptionSubject = new BehaviorSubject(true);\n\n title$ = this.titleSubject.asObservable();\n description$ = this.descriptionSubject.asObservable();\n showDescription$ = this.showDescriptionSubject.asObservable();\n domainName$ = this.domainNameSubject.asObservable();\n\n constructor(private commandStackService: CommandStackService) {}\n\n updateTitleAndDescription(\n title: string | null,\n description: string | null,\n allowUndo: boolean\n ): void {\n if (allowUndo) {\n this.fireTitleAndDescriptionUpdate(title, description);\n } else {\n this.updateTitle(title);\n this.updateDescription(description);\n }\n }\n\n reset(): void {\n this.updateTitleAndDescription(INITIAL_TITLE, INITIAL_DESCRIPTION, false);\n }\n\n private updateTitle(title: string | null): void {\n this.titleSubject.next(title ?? this.titleSubject.value);\n document.title = title ?? this.titleSubject.value + ' - egon.io';\n }\n\n private updateDescription(description: string | null): void {\n this.descriptionSubject.next(description ?? this.descriptionSubject.value);\n }\n\n setShowDescription(show: boolean): void {\n this.showDescriptionSubject.next(show);\n }\n\n setDomainName(name: string): void {\n this.domainNameSubject.next(name);\n }\n\n getTitle(): string {\n return this.titleSubject.value;\n }\n\n getDescription(): string {\n return this.descriptionSubject.value;\n }\n\n getDomainName(): string {\n return this.domainNameSubject.value;\n }\n\n getVersion(): string {\n return environment.version;\n }\n\n private fireTitleAndDescriptionUpdate(\n newTitle: string | null,\n newDescription: string | null\n ): void {\n const context = {\n newTitle,\n newDescription,\n };\n this.commandStackService.execute(\n 'story.updateHeadlineAndDescription',\n context\n );\n }\n}\n","'use strict';\n\n// convert rad to deg\nexport function degrees(radians: number): number {\n return (radians * 180) / Math.PI;\n}\n\n// calculate the angle between two points in 2D\nexport function angleBetween(\n startPoint: Point,\n endPoint: Point\n): number | undefined {\n let quadrant;\n\n // determine in which quadrant we are\n if (startPoint.x <= endPoint.x) {\n if (startPoint.y >= endPoint.y) {\n quadrant = 0;\n } // upper right quadrant\n else {\n quadrant = 3;\n } // lower right quadrant\n } else {\n if (startPoint.y >= endPoint.y) {\n quadrant = 1;\n } // upper left Quadrant\n else {\n quadrant = 2;\n } // lower left quadrant\n }\n\n const adjacent = Math.abs(startPoint.y - endPoint.y);\n const opposite = Math.abs(startPoint.x - endPoint.x);\n\n // since the arcus-tangens only gives values between 0 and 90, we have to adjust for the quadrant we are in\n\n if (quadrant === 0) {\n return 90 - degrees(Math.atan2(opposite, adjacent));\n }\n if (quadrant === 1) {\n return 90 + degrees(Math.atan2(opposite, adjacent));\n }\n if (quadrant === 2) {\n return 270 - degrees(Math.atan2(opposite, adjacent));\n }\n if (quadrant === 3) {\n return 270 + degrees(Math.atan2(opposite, adjacent));\n }\n return undefined;\n}\n\nexport function positionsMatch(\n width: number,\n height: number,\n elementX: number,\n elementY: number,\n clickX: number,\n clickY: number\n): boolean {\n if (clickX > elementX && clickX < elementX + width) {\n if (clickY > elementY && clickY < elementY + height) {\n return true;\n }\n }\n return false;\n}\n\nexport class Point {\n y = 0;\n x = 0;\n}\n","import { elementTypes } from 'src/app/Domain/Common/elementTypes';\n\nexport function getNameFromType(type: string): string {\n if (type.includes(elementTypes.ACTOR)) {\n return type.replace(elementTypes.ACTOR, '');\n } else if (type.includes(elementTypes.WORKOBJECT)) {\n return type.replace(elementTypes.WORKOBJECT, '');\n }\n return '';\n}\n","'use strict';\n\n// sanitize user-Input to be Desktop-Filename safe\nexport function sanitizeForDesktop(str: string): string {\n const map: { [key: string]: string } = {\n '/': '',\n '\\\\': '',\n ':': '',\n '*': '',\n '?': '',\n '\"': '',\n '<': '',\n '>': '',\n '|': '',\n };\n const reg = /[/\\\\:*?\"<>|]/gi;\n return str ? str.replace(reg, (match) => map[match]) : '';\n}\n\nexport function sanitizeIconName(name: string): string {\n const map: { [key: string]: string } = {\n '/': '',\n '\\\\': '',\n ':': '',\n '*': '',\n '?': '',\n '\"': '',\n '<': '',\n '>': '',\n '|': '',\n '(': '',\n ')': '',\n ' ': '-',\n '.': '_',\n };\n const reg = /[/\\\\:*?\"<>|() .]/gi;\n return name\n ? name.replace(reg, (match) => {\n return map[match];\n })\n : '';\n}\n\nexport function restoreTitleFromFileName(\n filename: string,\n isSVG: boolean\n): string {\n let title;\n\n const domainStoryRegex = /_\\d+-\\d+-\\d+( ?_?-?\\(\\d+\\))?(-?\\d)?(.dst|.egn)/;\n const svgRegex = /_\\d+-\\d+-\\d+( ?_?-?\\(\\d+\\))?(-?\\d)?(.dst|.egn).svg/;\n\n const egnSuffix = '.egn';\n const dstSuffix = '.dst';\n const svgSuffix = '.svg';\n\n let filenameWithoutDateSuffix = filename.replace(\n isSVG ? svgRegex : domainStoryRegex,\n ''\n );\n if (filenameWithoutDateSuffix.includes(isSVG ? svgSuffix : dstSuffix)) {\n filenameWithoutDateSuffix = filenameWithoutDateSuffix\n .replace(svgSuffix, '')\n .replace(dstSuffix, '')\n .replace(egnSuffix, '');\n }\n title = filenameWithoutDateSuffix;\n return title;\n}\n","import { Component, OnInit } from '@angular/core';\nimport { SettingsService } from 'src/app/Service/Settings/settings.service';\nimport { BehaviorSubject, Observable } from 'rxjs';\nimport { DialogService } from './Service/Dialog/dialog.service';\nimport { MatDialogConfig } from '@angular/material/dialog';\nimport { InfoDialogData } from './Domain/Dialog/infoDialogData';\nimport { InfoDialogComponent } from './Presentation/Dialog/info-dialog/info-dialog.component';\nimport { TitleService } from './Service/Title/title.service';\nimport { ExportService } from './Service/Export/export.service';\nimport { ReplayStateService } from './Service/Replay/replay-state.service';\nimport { ReplayService } from './Service/Replay/replay.service';\nimport { environment } from '../environments/environment';\n\n@Component({\n selector: 'app-root',\n templateUrl: './app.component.html',\n styleUrls: ['./app.component.scss'],\n})\nexport class AppComponent implements OnInit {\n showSettings$: Observable | BehaviorSubject;\n showDescription$: Observable;\n version: string = environment.version;\n\n constructor(\n private settingsService: SettingsService,\n private dialogService: DialogService,\n private titleService: TitleService,\n private exportService: ExportService,\n private replayStateSerice: ReplayStateService,\n replayService: ReplayService\n ) {\n this.showSettings$ = new BehaviorSubject(false);\n this.showDescription$ = new BehaviorSubject(true);\n\n document.onkeydown = (e: KeyboardEvent) => {\n if (e.ctrlKey && e.key === 's') {\n if (this.exportService.isDomainStoryExportable()) {\n this.exportService.downloadDST();\n }\n e.preventDefault();\n e.stopPropagation();\n }\n if (e.ctrlKey && e.key === 'l') {\n document.getElementById('import')?.click();\n e.preventDefault();\n e.stopPropagation();\n }\n if (e.key === 'ArrowRight' && this.replayStateSerice.getReplayOn()) {\n e.preventDefault();\n e.stopPropagation();\n replayService.nextStep();\n }\n if (e.key === 'ArrowLeft' && this.replayStateSerice.getReplayOn()) {\n e.preventDefault();\n e.stopPropagation();\n replayService.previousStep();\n }\n };\n }\n\n ngOnInit(): void {\n this.showDescription$ = this.titleService.showDescription$;\n this.showSettings$ = this.settingsService.showSettings$;\n }\n\n openLinkDialog(link: string, title: string, text: string): void {\n const config = new MatDialogConfig();\n config.disableClose = false;\n config.autoFocus = true;\n\n config.data = new InfoDialogData(title, text, true, true, link);\n\n this.dialogService.openDialog(InfoDialogComponent, config);\n }\n}\n","
\n \n \n \n\n \n \n
\n\n \n \n \"Egon\n egon.io\n version:\n {{ version }}\n by \"WPS\n WPS\n \n \n\n","import { ApplicationRef, DoBootstrap, NgModule } from '@angular/core';\nimport { BrowserModule } from '@angular/platform-browser';\nimport {\n MAT_CHECKBOX_DEFAULT_OPTIONS,\n MatCheckboxDefaultOptions,\n} from '@angular/material/checkbox';\n\nimport { NoopAnimationsModule } from '@angular/platform-browser/animations';\nimport { HeaderComponent } from 'src/app/Presentation/Header/header.component';\nimport { SettingsComponent } from 'src/app/Presentation/Settings/settings.component';\nimport { AppComponent } from 'src/app/app.component';\nimport { ExportService } from 'src/app/Service/Export/export.service';\nimport { ImportDomainStoryService } from 'src/app/Service/Import/import-domain-story.service';\nimport { ImportRepairService } from 'src/app/Service/Import/import-repair.service';\nimport { ModelerService } from 'src/app/Service/Modeler/modeler.service';\nimport { TitleService } from 'src/app/Service/Title/title.service';\nimport { LabelDictionaryService } from 'src/app/Service/LabelDictionary/label-dictionary.service';\nimport { ReplayService } from 'src/app/Service/Replay/replay.service';\nimport { ElementRegistryService } from 'src/app/Service/ElementRegistry/element-registry.service';\nimport { DomainConfigurationService } from 'src/app/Service/DomainConfiguration/domain-configuration.service';\nimport { MassNamingService } from 'src/app/Service/LabelDictionary/mass-naming.service';\nimport { InfoDialogComponent } from 'src/app/Presentation/Dialog/info-dialog/info-dialog.component';\nimport { ExportDialogComponent } from 'src/app/Presentation/Dialog/export-dialog/export-dialog.component';\nimport { ActivityDialogComponent } from 'src/app/Presentation/Dialog/activity-dialog/activity-dialog.component';\nimport { UntypedFormBuilder, ReactiveFormsModule } from '@angular/forms';\nimport { HeaderDialogComponent } from 'src/app/Presentation/Dialog/header-dialog/header-dialog.component';\nimport { IconDictionaryService } from 'src/app/Service/DomainConfiguration/icon-dictionary.service';\nimport { ModelerComponent } from 'src/app/Presentation/Canvas/modeler.component';\nimport { SettingsModule } from 'src/app/Modules/settings.module';\nimport { AutosaveService } from './Service/Autosave/autosave.service';\nimport { DomainStoryModelerModuleModule } from './Modules/domain-story-modeler-module.module';\nimport { LabelDictionaryDialogComponent } from './Presentation/Dialog/label-dictionary-dialog/label-dictionary-dialog.component';\nimport { MaterialModule } from './material.module';\n\n@NgModule({\n declarations: [\n HeaderComponent,\n SettingsComponent,\n AppComponent,\n InfoDialogComponent,\n ExportDialogComponent,\n ActivityDialogComponent,\n HeaderDialogComponent,\n ModelerComponent,\n LabelDictionaryDialogComponent,\n ],\n imports: [\n BrowserModule,\n NoopAnimationsModule,\n ReactiveFormsModule,\n SettingsModule,\n DomainStoryModelerModuleModule,\n MaterialModule,\n ],\n providers: [\n AutosaveService,\n ExportService,\n ImportDomainStoryService,\n ImportRepairService,\n IconDictionaryService,\n TitleService,\n LabelDictionaryService,\n ReplayService,\n ElementRegistryService,\n DomainConfigurationService,\n ModelerService,\n MassNamingService,\n UntypedFormBuilder,\n {\n provide: MAT_CHECKBOX_DEFAULT_OPTIONS,\n useValue: { clickAction: 'noop' } as MatCheckboxDefaultOptions,\n },\n ],\n})\nexport class AppModule implements DoBootstrap {\n constructor(private autosaveService: AutosaveService) {\n // autosaveService wird so automatisch initialisiert, auf keinen Fall entfernen!\n }\n\n ngDoBootstrap(app: ApplicationRef): void {\n const componentElement = document.createElement('app-root');\n document.body.append(componentElement);\n app.bootstrap(AppComponent);\n }\n}\n","import { MatDialogModule } from '@angular/material/dialog';\nimport { MatFormFieldModule } from '@angular/material/form-field';\nimport { MatInputModule } from '@angular/material/input';\nimport { MatToolbarModule } from '@angular/material/toolbar';\nimport { MatExpansionModule } from '@angular/material/expansion';\nimport { MatCardModule } from '@angular/material/card';\nimport { MatSnackBarModule } from '@angular/material/snack-bar';\nimport { NgModule } from '@angular/core';\n\nimport { MatButtonModule } from '@angular/material/button';\nimport { MatGridListModule } from '@angular/material/grid-list';\nimport { MatButtonToggleModule } from '@angular/material/button-toggle';\nimport { MatListModule } from '@angular/material/list';\nimport { MatCheckboxModule } from '@angular/material/checkbox';\n\n@NgModule({\n imports: [\n MatButtonModule,\n MatButtonToggleModule,\n MatListModule,\n MatCheckboxModule,\n MatDialogModule,\n MatFormFieldModule,\n MatGridListModule,\n MatInputModule,\n MatToolbarModule,\n MatExpansionModule,\n MatSnackBarModule,\n MatCardModule,\n ],\n exports: [\n MatButtonModule,\n MatButtonToggleModule,\n MatListModule,\n MatCheckboxModule,\n MatDialogModule,\n MatFormFieldModule,\n MatGridListModule,\n MatInputModule,\n MatToolbarModule,\n MatExpansionModule,\n MatSnackBarModule,\n MatCardModule,\n ],\n})\nexport class MaterialModule {}\n","// This file can be replaced during build by using the `fileReplacements` array.\n// `ng build --prod` replaces `environment.ts` with `environment.prod.ts`.\n// The list of file replacements can be found in `angular.json`.\n\nexport const environment = {\n production: false,\n version: 'dev',\n};\n\n/*\n * For easier debugging in development mode, you can import the following file\n * to ignore zone related error stack frames such as `zone.run`, `zoneDelegate.invokeTask`.\n *\n * This import should be commented out in production mode because it will have a negative impact\n * on performance if an error is thrown.\n */\n// import 'zone.js/plugins/zone-error'; // Included with Angular CLI.\n","import { enableProdMode } from '@angular/core';\nimport { platformBrowserDynamic } from '@angular/platform-browser-dynamic';\n\nimport { AppModule } from './app/app.module';\nimport { environment } from './environments/environment';\n\nif (environment.production) {\n enableProdMode();\n}\n\nplatformBrowserDynamic()\n .bootstrapModule(AppModule)\n .catch((err) => console.error(err));\n"],"names":["Modeler","ResizeModule","assign","isArray","inherits","DomainStoryModule","LabelEditingModule","ModelingModule","elementTypes","DomainStoryModeler","options","call","_customElements","_groupElements","prototype","_modules","concat","_addCustomShape","customElement","parentId","parent","children","push","canvas","get","elementFactory","customAttrs","businessObject","customShape","create","isGroup","id","parentShape","addShape","_addCustomConnection","elementRegistry","connection","source","target","addConnection","importCustomElements","elements","fire","addCustomElements","customElements","Error","shapes","connections","groups","forEach","isConnection","getCustomElements","createDiagram","done","element","type","ACTIVITY","CONNECTION","GROUP","Replace","modeling","_modeling","replaceElement","oldElement","newElementData","newElement","setCenterOfElement","outgoingActivities","outgoing","incomingActivities","incoming","x","Math","ceil","width","y","height","name","replaceShape","replaceOptions","ReplaceMenuProvider","_dsReplace","$inject","getEntries","entries","includes","actorReplaceOptions","workObjectReplaceOptions","_createEntries","menuEntries","self","definition","entry","_createMenuEntry","action","replaceAction","label","className","actionName","getNameFromType","iconDictionaryService","initializeReplaceOptions","iconDictionary","actorTypes","getTypeDictionary","ACTOR","replaceOption","i","keysArray","actorType","typeName","toLowerCase","getIconForBPMN","workObjectTypes","WORKOBJECT","workObjectType","ContextPadProvider","bind","generateAutomaticNumber","getAllStandardIconKeys","dirtyFlagService","initializeContextPadProvider","dirtyFlag","DomainStoryContextPadProvider","injector","connect","translate","contextPad","popupMenu","replaceMenuProvider","commandStack","eventBus","startConnect","selectedElement","invoke","autoPlace","cached","getContextPadEntries","colorPicker","document","getElementById","onchange","ev","context","newColor","value","execute","makeDirty","registerProvider","allStandardIconKeys","actions","event","autoActivate","start","replace","addColorChange","addConnectWithActivity","addTextAnnotation","addActors","appendAction","addWorkObjects","addChangeWorkObjectTypeMenu","addChangeActorTypeMenu","delete","deleteGroup","group","title","click","removeGroup","moveDeleteActionToEndOfArray","removeElements","changeDirection","position","getReplaceMenuPosition","cursor","open","colorChange","TEXTANNOTATION","dragstart","icon","newNumber","Y_OFFSET","diagramContainer","getContainer","pad","getPad","html","diagramRect","getBoundingClientRect","padRect","top","left","appendStart","shape","createShape","hints","BpmnElementFactory","DEFAULT_LABEL_SIZE","DomainStoryIdFactory","DomainStoryElementFactory","bpmnFactory","moddle","domainStoryIdFactory","elementType","attrs","baseCreate","test","registerId","getId","key","set","$type","di","$descriptor","_getCustomElementSize","Object","defineProperty","createBpmnElement","__default","Dimensions","idList","generateId","idNumber","fourDigitsId","idSuffix","containsId","floor","random","same","BaseRenderer","Ids","getAnnotationBoxHeight","componentsToPath","createLine","append","svgAppend","attr","svgAttr","classes","svgClasses","svgCreate","query","domQuery","isObject","getNumberStash","addNumberToRegistry","numberBoxDefinitions","calculateTextWidth","countLines","labelPosition","angleBetween","RENDERER_IDS","numbers","DEFAULT_COLOR","initializeRenderer","elementRegistryService","DomainStoryRenderer","styles","textRenderer","pathMap","rendererId","next","markers","computeStyle","generateActivityNumber","parentGfx","box","numberStash","semantic","use","number","newRenderedNumber","renderNumber","numberStyle","fitBox","style","getExternalStyle","fill","backgroundBoxStyle","fontSize","fontFamily","backgroundDotStyle","renderEmbeddedLabel","align","padding","renderLabel","renderExternalLabel","waypoints","lines","startPoint","selected","endPoint","angle","alignment","boxWidth","xStart","abs","textAlign","length","wordWrap","overflowWrap","hyphens","renderExternalNumber","String","text","createText","add","setCoordinates","drawCircle","textLength","circle","cx","cy","r","innerHTML","manipulateInnerHTMLXLabel","manipulateInnerHTMLYLabel","firstChild","attributes","nodeValue","offset","result","outerHTML","Number","drawGroup","pickedColor","rect","drawRect","stroke","useColorForElement","iconSRC","match","index","indexOf","substring","getIconSrc","startsWith","drawActor","svgDynamicSizeAttributes","actor","getTypeIconSRC","drawWorkObject","workObject","useColorForActivity","strokeWidth","strokeLinejoin","markerEnd","marker","drawActivity","p","adjustForTextOverlap","fixConnectionInHTML","parentElement","checkIfPointOverlapsText","point","lineOffset","getLineOffset","objects","getElementsByClassName","data_id","item","getAttribute","object","getElementsByTagName","tspans","tspan","wantedConnection","polylines","setAttribute","drawDSConnection","strokeDasharray","drawAnnotation","textElement","textPathData","getScaledPath","xScaleFactor","yScaleFactor","containerWidth","containerHeight","mx","my","drawPath","d","path","rx","ry","createMarker","sequenceflowEnd","addMarker","ref","scale","strokeLinecap","viewBox","refX","refY","markerWidth","markerHeight","orient","defs","_svg","getWorkObjectPath","rectangle","getRectPath","getGroupPath","getActivityPath","map","original","activityPath","waypoint","getActorPath","canRender","drawShape","search","pos","correctInitialize","getShapePath","drawConnection","every","reduce","RuleProvider","is","HIGH_PRIORITY","MIN_SIZE","isDomainStory","isDomainStoryGroup","isActor","isWorkObject","isActivity","isAnnotation","canConnect","canResize","newBounds","lowerLeft","lowerRight","upperRight","canAttach","Array","canConnectToAnnotation","DomainStoryRules","init","canCreate","addRule","host","s","undefined","hover","pick","CommandInterceptor","collectionAdd","remove","collectionRemove","reworkGroupElements","DomainStoryUpdater","bpmnjs","updateCustomElement","e","DOMAINSTORY","updateCustomConnection","newTarget","newSource","copyWaypoints","executed","ifDomainStoryElement","reverted","fn","DomainStoryPalette","ElementFactory","CreateModule","PathMap","PopupMenuModule","ContextPadModule","CommandStack","UpdateLabelHandler","headlineAndDescriptionUpdateHandler","DSModeling","__depends__","__init__","domainStoryRenderer","paletteProvider","domainStoryRules","domainStoryUpdater","contextPadProvider","elementFactoryBpmn","updateLabelHandler","svgRemove","MARKER_HIDDEN","MARKER_LABEL_HIDDEN","annotationBoxHeight","DSLabelEditingPreview","defaultLayer","getDefaultLayer","absoluteElementBBox","gfx","on","activeProvider","active","getAbsoluteBBox","getStrokeColor","labelTarget","dy","newElementHeight","max","removeMarker","autocomplete","getLabel","isAny","getExternalLabelMid","hasExternalLabel","isLabel","isLabelExternal","dictionaryService","stashUse","initializeLabelEditingProvider","labelingDictionary","toggleStashUse","focusElement","setTimeout","focus","DSLabelEditingProvider","directEditing","resizeHandles","_canvas","_textRenderer","_updateLabelHandler","activateDirectEdit","complete","isActive","cancel","removeResizers","createAutocomplete","canExecute","isTouch","editingBox","force","activate","getUniqueWorkObjectNames","bounds","getEditingBBox","autoResize","resizable","bbox","mid","zoom","defaultStyle","getDefaultStyle","externalStyle","externalFontSize","externalLineHeight","lineHeight","defaultFontSize","defaultLineHeight","fontWeight","minWidth","maxWidth","minHeight","paddingTop","paddingBottom","paddingLeft","paddingRight","externalLabelMid","absoluteBBox","update","newLabel","activeContextText","updateLabel","getLabelAttr","getNumberAttr","getNumber","setLabel","setNumber","textNumber","selectPartOfActivity","angleActivity","selectedActivity","linelength","fontsize","input","workObjectNames","closeAllLists","currentFocus","filteredWorkObjectNames","addEventListener","autocompleteList","autocompleteItem","val","createElement","parentNode","appendChild","toUpperCase","visibility","onkeydown","keyCode","addActive","preventDefault","removeActive","classList","survivor","removeChild","ChangeSupportModule","DirectEditingModule","dSlabelEditingProvider","dSlabelEditingPreview","str","split","amountWaypoints","determinedPosition","xPos","yPos","labelPositionX","labelPositionY","offsetX","scaledAngle","offsetY","Modeling","_commandStack","updateNumber","oldShape","newShape","newData","numberRegistry","multipleNumberRegistry","canvasElementRegistry","initializeNumbering","canvasElementRegistryService","boxHeight","elementActivity","usedNumbers","wantedNumber","activitiesFromActors","getActivitiesFromActors","updateExistingNumbersAtGeneration","updateExistingNumbersAtEditing","sortedActivities","activity","currentNumber","setNumberOfActivity","getNumbersAndIDs","iDWithNumber","activities","renderedNumber","setNumberIsMultiple","multi","getNumberRegistry","slice","getMultipleNumberRegistry","elementArray","overrideAppendedIcons","Dictionary","APPENDED_ICONS_TAG","configuration","initializePalette","configurationService","PaletteProvider","palette","spaceTool","lassoTool","_create","_elementFactory","_spaceTool","_lassoTool","getPaletteEntries","createAction","createListener","isExpanded","shortType","initPalette","appendCSSStyleCheat","customIcons","sheetEl","head","customIconDict","appendDict","customIconDictKeys","getAppendedIconDictionary","has","src","iconStyle","wrapSRCInSVG","sheet","insertRule","cssRules","config","getCurrentIconConfigurationForBPMN","localStorage","getItem","JSON","parse","customIconsLegacy","convertLegacyAppendedIconsToDict","customIconsDict","putEntry","initTypeDictionaries","actors","workObjects","addCanvasObjectTypes","separator","activateSelection","keys","dict","initializeActivityUpdateHandler","activityUpdateHandler","registerHandler","activity_directionChange","activity_changed","preExecute","oldLabel","oldNumbersWithIDs","oldNumber","revert","revertAutomaticNumberGenerationChange","oldWaypoints","swapSource","newWaypoints","getActivitesFromActors","j","splice","undoGroupRework","elementUpdateHandler","element_colorChange","removeGroupWithoutChildren","oldColor","ctx","child","titleService","handlerFunction","oldTitle","getTitle","oldDescription","getDescription","updateTitleAndDescription","newTitle","newDescription","DSMassRenameHandler","massRename","relevantElements","confirm","newValue","getBusinessObject","NULL_DIMENSIONS","labelCenter","createLabel","setText","postExecute","trim","removeShape","bo","getLayoutedBounds","resizeShape","numberTarget","some","$instanceOf","types","t","innerShape","superParent","svgShape","querySelector","svgGroup","svgGroupParent","SVG_LINK","TEXTSPAN_DESCRIPTION_HEIGHT","TEXTSPAN_TITLE_HEIGHT","X_OFFSET_UTIL","extraHeight","createTitleAndDescriptionSVGElement","description","xLeft","yUp","titleElement","createTitle","descriptionElement","createDescription","insertText","tempCanvas","getContext","font","createTextSpans","descriptionParts","yOffset","heightOffset","textSpans","words","textTag","textSpan","createElementNS","textNode","createTextNode","data","len","measureText","testBusinessObject","Configuration","constructor","INITIAL_TITLE","INITIAL_DESCRIPTION","INITIAL_DOMAIN_NAME","DOMAIN_CONFIGURATION_TAG","DEFAULT_AUTOSAVES_ENABLED","DEFAULT_AUTOSAVES_AMOUNT","DEFAULT_AUTOSAVES_INTERVAL","SNACKBAR_DURATION","SNACKBAR_SUCCESS","SNACKBAR_ERROR","SNACKBAR_INFO","IMPLICIT_ROOT_ID","all","size","isEmpty","Entry","addEach","clear","filter","found","sort","sortByName","a","b","structuredClone","testCustomDomainConfiguration","fromConfigurationFromFile","configFromFile","actorsDict","workObjectsDict","IconConfiguration","allIconDictionary","domainName","getDefaultConf","defaultConf","updateAllIconRegistry","appendSRCFile","newAppendedIcons","appen","createCustomConf","domainConfiguration","allIconsConf","ActivityDialogData","numberIsAllowedMultipleTimes","showNumberFields","saveFN","ExportDialogData","ExportOption","tooltip","InfoDialogData","infoText","isInfo","isLink","linkText","NUMBER_BACKGROUND_COLOR","NUMBER_COLOR","STROKE_WIDTH","HIGHLIGHT_NUMBER_BACKGROUNG_COLOR","HIGHLIGHT_NUMBER_COLOR","HIGHLIGHT_COLOR","HIGHLIGHT_STROKE_WIDTH","appendedIcons","allIcons","Person","Group","Pet","Conversation","World","Store","Theater","Business","Water","Hotel","Dining","Courthouse","Flag","Place","Car","Bus","Train","Truck","Taxi","Bike","Boat","Motorcycle","Plane","Shuttle","Walking","Traffic","Commute","System","Printer","Document","Folder","Call","Email","Copyright","DNS","Settings","Cellphone","Update","Briefcase","Microphone","Signal","Key","Pencil","Sum","Headset","Keyboard","Mouse","Router","Scanner","Security","Desktop","Tablet","Label","Receipt","Calendar","Cloud","Assessment","Dashboard","Problem","Grid","Watch","Euro","Dollar","Info","Alarm","Wrench","Favorite","Gavel","Blind","Hourglass","Time","Search","Shopping","Couch","Attach","Ruler","Education","allIconsDict","newIcons","IconFilterEnum","ConfigAndDST","domain","dst","testConfigAndDst","CommonModule","AutosaveSettingsComponent","AutosaveOptionsComponent","AutosavedDraftsComponent","FormsModule","MaterialModule","AutosaveSettingsModule","_","_2","_3","declarations","imports","exports","HeaderButtonsComponent","DomainStoryModelerModuleModule","DomainConfigurationComponent","IconListItemComponent","DetailsListItemComponent","DomainDetailsComponent","GeneralSettingsComponent","LabelDictionaryComponent","SettingsModule","i0","ɵɵelementStart","ɵɵtext","ɵɵelementEnd","ɵɵelement","ɵɵlistener","AutosaveOptionsComponent_mat_card_0_Template_button_click_20_listener","ɵɵrestoreView","_r6","_r2","ɵɵreference","_r4","_r3","ctx_r5","ɵɵnextContext","ɵɵresetView","save","checked","ɵɵadvance","ɵɵproperty","configuration_r1","activated","interval","amount","autosaveConfiguration","snackbar","setConfiguration","duration","panelClass","ɵɵdirectiveInject","i1","AutosaveConfigurationService","i2","MatSnackBar","selectors","decls","vars","consts","template","AutosaveOptionsComponent_Template","rf","ɵɵtemplate","AutosaveOptionsComponent_mat_card_0_Template","ɵɵpipeBind1","configuration$","AutosaveSettingsComponent_Template","AutosavedDraftsComponent_div_7_div_1_Template_button_click_6_listener","restoredCtx","draft_r4","$implicit","loadDraft","ɵɵtextInterpolate","date","AutosavedDraftsComponent_div_7_div_1_Template","AutosavedDraftsComponent_div_7_Template_button_click_4_listener","_r8","ctx_r7","removeAllDrafts","ctx_r0","drafts","autosaveService","subscription","autosavedDraftsChanged$","subscribe","initDrafts","ngOnInit","loadCurrentDrafts","draft","AutosaveService","AutosavedDraftsComponent_Template","AutosavedDraftsComponent_div_7_Template","AutosavedDraftsComponent_ng_template_8_Template","ɵɵtemplateRefExtractor","ɵɵtextInterpolate2","_r1","ModelerComponent","modelerService","postInit","loadLatestDraft","ModelerService","ModelerComponent_Template","MAT_DIALOG_DATA","ActivityDialogComponent","fb","dialogRef","activityLabel","activityNumber","form","multipleNumbers","onSubmit","patchValue","close","UntypedFormBuilder","MatDialogRef","ActivityDialogComponent_Template","ActivityDialogComponent_Template_input_change_9_listener","ActivityDialogComponent_Template_textarea_keydown_enter_14_listener","$event","ActivityDialogComponent_Template_textarea_keyup_enter_14_listener","ActivityDialogComponent_Template_textarea_keyup_escape_14_listener","ActivityDialogComponent_Template_button_click_16_listener","ActivityDialogComponent_Template_button_click_18_listener","BehaviorSubject","ExportDialogComponent_button_17_Template_button_click_0_listener","i_r2","ctx_r3","doOption","option_r1","ɵɵtextInterpolate1","ExportDialogComponent","withTitle","useWhiteBackground","updateWithTitle","updateUseWhiteBackground","ExportDialogComponent_Template","ExportDialogComponent_Template_input_change_4_listener","ExportDialogComponent_Template_input_change_9_listener","ExportDialogComponent_Template_button_click_15_listener","ExportDialogComponent_button_17_Template","HeaderDialogComponent","i3","TitleService","HeaderDialogComponent_Template","HeaderDialogComponent_Template_textarea_keydown_enter_10_listener","HeaderDialogComponent_Template_textarea_keyup_enter_10_listener","HeaderDialogComponent_Template_textarea_keyup_escape_10_listener","HeaderDialogComponent_Template_button_click_12_listener","HeaderDialogComponent_Template_button_click_14_listener","ɵɵpropertyInterpolate","ctx_r1","ɵɵsanitizeUrl","InfoDialogComponent_mat_dialog_actions_5_Template_button_click_1_listener","InfoDialogComponent","showConfirmButton","hasLink","ngAfterViewInit","span","scrollHeight","InfoDialogComponent_Template","InfoDialogComponent_span_3_Template","InfoDialogComponent_a_4_Template","InfoDialogComponent_mat_dialog_actions_5_Template","LabelDictionaryDialogComponent","LabelDictionaryDialogComponent_Template","LabelDictionaryDialogComponent_Template_app_label_dictionary_closeEmitter_3_listener","iconInitiated","ngAfterViewChecked","createIcon","img","svg","inputs","DetailsListItemComponent_Template","sanitizeIconName","iconName_r1","domainCustomizationService","ICON_FILTER_NONE","selectedActors","selectedWorkobjects","allIconNames","allFilteredIconNames","domainConfigurationTypes","getDomainConfiguration","getFullDictionary","selectedActors$","selectedWorkobjects$","allFiltered","getFilteredNamesForType","loadMinimalIconConfigurationWithDefaultIcons","resetDomain","loadInitialConfiguration","saveDomain","getUsedIcons","exportDomain","startIconUpload","importIcon","files","iconInputFile","reader","FileReader","iconName","onloadend","addIMGToIconDictionary","registerIconForBPMN","addNewIcon","readAsDataURL","startDomainImport","importDomain","domainInputFile","loadConfiguration","importConfiguration","readAsText","filterForActors","ICON_FILTER_ACTOR","filterForWorkobjects","ICON_FILTER_WORKOBJECT","filterForUnassigned","ICON_FILTER_UNASSIGNED","filterByNameAndType","filteredByNameAndType","isIconActor","isIconWorkObject","DomainConfigurationService","IconDictionaryService","DomainCustomizationService","i4","ElementRegistryService","DomainConfigurationComponent_Template","DomainConfigurationComponent_Template_button_click_4_listener","DomainConfigurationComponent_Template_input_change_7_listener","DomainConfigurationComponent_Template_button_click_8_listener","DomainConfigurationComponent_Template_button_click_15_listener","DomainConfigurationComponent_Template_button_click_20_listener","DomainConfigurationComponent_Template_button_click_25_listener","DomainConfigurationComponent_Template_input_input_30_listener","DomainConfigurationComponent_Template_button_click_32_listener","DomainConfigurationComponent_Template_button_click_35_listener","DomainConfigurationComponent_Template_input_change_38_listener","DomainConfigurationComponent_Template_button_click_40_listener","DomainConfigurationComponent_Template_button_click_43_listener","DomainConfigurationComponent_mat_grid_tile_50_Template","ɵɵclassProp","DomainDetailsComponent_mat_list_item_12_Template_mat_list_item_dragover_0_listener","_r5","ctx_r4","allowDrop","DomainDetailsComponent_mat_list_item_12_Template_mat_list_item_dragstart_0_listener","i_r3","ctx_r6","onDragStart","DomainDetailsComponent_mat_list_item_12_Template_mat_list_item_drop_0_listener","iconName_r2","onDrop","getIconForName","DomainDetailsComponent_mat_list_item_18_Template_mat_list_item_dragover_0_listener","_r11","ctx_r10","DomainDetailsComponent_mat_list_item_18_Template_mat_list_item_dragstart_0_listener","i_r9","ctx_r12","DomainDetailsComponent_mat_list_item_18_Template_mat_list_item_drop_0_listener","iconName_r8","ctx_r13","customizationService","draggedList","draggedIndex","domainName$","changeName","listName","list","sortedList","setSelectedActors","setSelectedWorkObject","DomainDetailsComponent_Template","DomainDetailsComponent_Template_input_input_6_listener","DomainDetailsComponent_mat_list_item_12_Template","DomainDetailsComponent_mat_list_item_18_Template","isWorkobject","isNone","toggleNone","setAsUnassigned","toggleActor","setAsActor","toggleWorkobject","setAsWorkobject","IconListItemComponent_Template","IconListItemComponent_Template_mat_button_toggle_change_7_listener","IconListItemComponent_Template_mat_button_toggle_change_10_listener","IconListItemComponent_Template_mat_button_toggle_change_13_listener","MatDialogConfig","HeaderButtonsComponent_div_0_Template_button_click_1_listener","startReplay","HeaderButtonsComponent_div_0_Template_input_change_7_listener","import","HeaderButtonsComponent_div_0_Template_button_click_8_listener","openDownloadDialog","HeaderButtonsComponent_div_0_span_9_Template","HeaderButtonsComponent_div_0_span_11_Template","HeaderButtonsComponent_div_0_Template_button_click_13_listener","ctx_r8","openLabelDictionary","HeaderButtonsComponent_div_0_Template_button_click_16_listener","ctx_r9","openSettings","HeaderButtonsComponent_div_0_Template_button_click_19_listener","openKeyboardShortcutsDialog","HeaderButtonsComponent_div_0_Template_button_click_22_listener","ctx_r11","createNewDomainStory","isDirty$","HeaderButtonsComponent_div_2_Template_button_click_1_listener","_r13","previousStep","HeaderButtonsComponent_div_2_Template_button_click_4_listener","ctx_r14","nextStep","HeaderButtonsComponent_div_2_Template_button_click_7_listener","ctx_r15","stopReplay","settingsService","replayStateService","dialogService","replayService","exportService","importService","renderService","isReplay$","replayOn$","dirty$","filename","endsWith","importDST","importEGN","commandStackChanged","isDomainStoryExportable","SVGDownloadOption","downloadSVG","EGNDownloadOption","downloadDST","PNGDownloadOption","downloadPNG","HTMLDownloadOption","downloadHTMLPresentation","disableClose","autoFocus","openDialog","shortCutText","reset","SettingsService","ReplayStateService","DirtyFlagService","i5","DialogService","i6","ReplayService","i7","ExportService","i8","ImportDomainStoryService","i9","i10","RendererService","i11","HeaderButtonsComponent_Template","HeaderButtonsComponent_div_0_Template","HeaderButtonsComponent_div_2_Template","combineLatest","HeaderComponent_button_2_Template_button_click_0_listener","setShowDescription","HeaderComponent_button_4_Template_button_click_0_listener","_r7","ctx_r2","stepDescription$","description$","HeaderComponent","title$","showDescription$","currentStep$","maxStepNumber$","pipe","step","count","showDescription","openHeaderDialog","show","HeaderComponent_Template","HeaderComponent_button_2_Template","HeaderComponent_button_4_Template","HeaderComponent_Template_span_click_7_listener","HeaderComponent_span_13_Template","HeaderComponent_mat_card_17_Template","EventEmitter","LabelDictionaryComponent_mat_list_item_5_Template_input_change_2_listener","workobjectEntry_r2","updateWorkobjectEntry","LabelDictionaryComponent_mat_list_item_11_Template_textarea_change_2_listener","activityEntry_r5","updateActivityEntry","LabelDictionaryComponent_mat_list_item_11_Template_textarea_keydown_enter_2_listener","LabelDictionaryComponent_mat_list_item_11_Template_textarea_keyup_enter_2_listener","LabelDictionaryComponent_mat_list_item_11_Template_textarea_keyup_escape_2_listener","labelDictionaryService","closeEmitter","createLabelDictionaries","workObjectEntries","getWorkObjectLabels","activityEntries","getActivityLabels","workobjectEntriesSubject","activityEntriesSubject","activityNames","originalActivityNames","originalWorkObjectNames","originalName","w","workobject","massRenameLabels","emit","activityEntry","workobjectEntry","LabelDictionaryService","outputs","LabelDictionaryComponent_Template","LabelDictionaryComponent_mat_list_item_5_Template","LabelDictionaryComponent_mat_list_item_11_Template","LabelDictionaryComponent_Template_button_click_14_listener","LabelDictionaryComponent_Template_button_click_16_listener","GeneralSettingsComponent_Template","SettingsComponent","showGeneralSettings","showDomainCustomization","savedConfiguration","getAndClearSavedConfiguration","restart","openGeneralSettings","openDomainCustomization","SettingsComponent_Template","SettingsComponent_Template_button_click_3_listener","SettingsComponent_Template_button_click_7_listener","SettingsComponent_Template_button_click_11_listener","SettingsComponent_app_general_settings_15_Template","SettingsComponent_app_domain_configuration_17_Template","ReplaySubject","AUTOSAVE_CONFIGURATION_TAG","defaultConfiguration","storageService","configurationSubject","asObservable","initializeConfiguration","saveConfiguration","ɵɵinject","StorageService","factory","ɵfac","providedIn","Subject","DRAFTS_TAG","rendererService","updateConfiguration","readDrafts","sortDrafts","configAndDST","story","actorIcons","getElementsOfType","workObjectIcons","updateIconRegistries","importStory","stopTimer","startTimer","autosaveTimer","clearInterval","setInterval","newDraft","createDraft","isChanged","isSame","isDraftEmpty","unshift","pop","writeDrafts","stringify","getStory","createConfigAndDST","Date","toString","aDate","bDate","setItem","json","removeItem","checkValidityOfConfiguration","configuratioFromFile","getStoredDomainConfiguration","domainString","setStoredDomainConfiguration","configForStorage","CommandStackService","setCommandStack","payload","matDialog","dialog","MatDialog","isDirtySubject","makeClean","dirty","DomManipulationService","showAll","removeHighlights","getAllCanvasObjects","getAllGroups","domObject","display","showStep","replayStep","notShown","getAllNotShown","hightlightStep","o","getNumberDomForActivity","numberDOMS","numberBackgroundDom","numberTextDom","allActivities","getAllActivities","allConnections","getAllConnections","activityDomObject","connectionDomObject","stepObjects","shownElements","notShownElements","allObjects","setDomainName","exportConfiguration","getCurrentConfigurationForExport","configJSONString","getDomainName","encodeURIComponent","body","customConfig","updateDomainName","actorDict","workObjectDict","actorKeys","workObjectKeys","getIconConfiguration","addIconsFromDomainConfiguration","configurationName","getCurrentConfiguration","getActorsDictionary","getWorkObjectsDictionary","createConfigFromDictionaries","currentConfiguration","getCurrentConfigurationNamesWithoutPrefix","createMinimalConfigurationWithDefaultIcons","minimalConfig","createConfigFromCanvas","getIconSource","actorNames","workobjectNames","newActors","newWorkobjects","allCanvasObjects","allIconListItems","configurationHasChanged","getAllIconDictionary","addIconToAllIconList","importedConfigurationEvent","storedDomainConfiguration","importedConfiguration","getImportedConfiguration","selectedActorNames","selectActor","selectedWorkobjectNames","selectWorkObject","changedDomain","deselectActor","deselectWorkobject","updateIcon","updateActorSubject","updateWorkObjectSubject","defaultConfig","workObjectName","actorName","updateAllIconBehaviourSubjects","resetToInitialConfiguration","usedIcons","imported","changedActors","changedWorkobjects","createDomainConfiguration","configurationActors","configurationWorkobjects","workobjects","changedDomainCofiguration","updateIcons","join","temp","iconDict","getSrcForIcon","addIconsToCss","iconBehaviourSubject","customDomainCofiguration","rawSrc","ICON_PREFIX","actorIconDictionary","workObjectDictionary","iconDictionaryForBPMN","iconConfig","allTypes","initDictionary","dictionary","namePrefix","customConfiguration","allInTypeDictionary","collection","allIn","dictionaryType","iconTypes","registerIconForType","addIconsToTypeDictionary","extractCustomIconsFromDictionary","addNewIconsToDictionary","elementDictionary","sanitizedName","custom","fullDictionary","appendedDict","getTypeDictionaryKeys","elementOfType","setCusomtConfiguration","fullyInitialized","registry","__implicitroot","setElementRegistry","_elements","createObjectListForDSTDownload","allObjectsFromCanvas","objectList","fillListOfCanvasObjects","canvasElement","groupObjects","checkChildForGroup","currentGroup","registryElementNames","getAllActors","getAllWorkobjects","co","sanitizeForDesktop","formatDate","environment","pngService","svgService","htmlPresentationService","titleSubscription","descriptionSubscription","ngOnDestroy","unsubscribe","DomainStory","getStoryForDownload","getCurrentDateString","downloadFile","datatype","fileEnding","svgData","createSVGData","container","svgElements","outerSVGElement","viewport","layerBase","image","extractSVG","prepareSVG","onload","getWidth","getHeight","fillStyle","drawImage","png64","toDataURL","ele","then","info","version","PngService","SvgService","HtmlPresentationService","doT","setModelerClasses","selection","modeler","viewBoxCoordinates","ViewBoxCoordinate","_this","_asyncToGenerator","saveSVG","fixActivityMarkersForEachStep","getCurrentStepNumber","content","transition","err","alert","getMaxStepNumber","revealjsTemplate","dots","revealjsData","script","sentences","multiplexSecret","multiplexId","fixMalformedHtmlScript","viewBoxIndex","splitViewBox","dataStart","dataEnd","createBounds","sectionIndex","newDefs","ids","idToReplace","newId","replaceAll","browserSpecs","ua","navigator","userAgent","tem","M","exec","appName","appVersion","URIHashtagFix","fix","browser","parseInt","findMostOuterElements","xRight","yDown","sub","elXLeft","elXRight","elYUp","elYDown","transform","nums","rects","outerRect","calculateWidthAndHeight","insertIndex","layerResizers","layerOverlays","removeAttribute","XMLSerializer","serializeToString","cacheData","getEncoded","findIndexToInsertData","svgIndex","backgroundColorWhite","appendDST","restoreTitleFromFileName","importRepairService","domainConfigurationService","importedConfigurationEmitter","isSVG","fileReader","titleText","fileReaderFunction","isEGN","dstText","removeXMLComments","dstAndConfig","extractDstAndConfig","configChanged","checkConfigForChanges","lastElement","importVersionNumber","handleVersionNumber","checkForUnreferencedElementsInActivitiesAndRepair","showBrokenImportDialog","adjustPositions","versionPrefix","lastIndexOf","updateCustomElementsPreviousV050","showPreviousV050Dialog","xmlText","newActorKeys","newWorkObjectKeys","currentActorKeys","currentWorkobjectKeys","changed","clearName","setImportedConfigurationAndEmit","ImportRepairService","objectIDs","activityIndex","isFirst","findFirstElement","adjustElementPosition","massNamingService","activityLabels","workObjektLabels","localeCompare","Set","massChangeNames","MassNamingService","commandStackService","oldValue","allRelevantObjects","massRenameHandler","positionsMatch","InitializerService","initializeDomainStoryModelerClasses","propagateDomainStoryModelerClassesToServices","initializeDomainStoryModelerEventHandlers","initiateEventBusListeners","getReplayOn","activityDoubleClick","renderedNumberRegistry","htmlCanvas","transformX","transformY","zoomX","zoomY","clickX","originalEvent","clickY","parseFloat","currentNum","tx","ty","tNumber","elementX","elementY","stopPropagation","saveActivityInputLabel","activityData","hasNumber","multipleNumberAllowed","initializerService","keyboard","bindTo","additionalModules","bpmnSearch","exportArtifacts","debounce","window","startDebounce","domainStory","currentStory","destroy","getModeler","timeout","timer","clearTimeout","encoded","renderStory","configurationChange","c","replayOnSubject","setReplayState","state","domManipulationService","storyCreatorService","currentStep","maxStepNumber","initializeReplay","traceActivitiesAndCreateStory","showCurrentStep","missingSteps","getMissingSteps","getValue","steps","StoryCreatorService","tracedActivityMap","tracedItem","createStep","addGroupStep","getStepObjects","highlightedElements","highlightedObjects","tracedActivity","initialSource","targetObjects","parallelStep","firstTarget","checkTarget","activityTarget","g","showSettings","showSettings$","titleSubject","descriptionSubject","domainNameSubject","showDescriptionSubject","allowUndo","fireTitleAndDescriptionUpdate","updateTitle","updateDescription","getVersion","degrees","radians","PI","quadrant","adjacent","opposite","atan2","Point","reg","domainStoryRegex","svgRegex","egnSuffix","dstSuffix","svgSuffix","filenameWithoutDateSuffix","AppComponent","replayStateSerice","ctrlKey","openLinkDialog","link","AppComponent_Template","AppComponent_app_settings_1_Template","BrowserModule","MAT_CHECKBOX_DEFAULT_OPTIONS","NoopAnimationsModule","ReactiveFormsModule","AppModule","ngDoBootstrap","app","componentElement","bootstrap","provide","useValue","clickAction","MatDialogModule","MatFormFieldModule","MatInputModule","MatToolbarModule","MatExpansionModule","MatCardModule","MatSnackBarModule","MatButtonModule","MatGridListModule","MatButtonToggleModule","MatListModule","MatCheckboxModule","production","enableProdMode","__NgCli_bootstrap_1","platformBrowser","bootstrapModule","catch","console","error"],"sourceRoot":"webpack:///","x_google_ignoreList":[]} \ No newline at end of file diff --git a/app-latest-build/material-icons-outlined.78a93b2079680a08.woff b/app-latest-build/material-icons-outlined.woff similarity index 100% rename from app-latest-build/material-icons-outlined.78a93b2079680a08.woff rename to app-latest-build/material-icons-outlined.woff diff --git a/app-latest-build/material-icons-outlined.f86cb7b0aa53f0fe.woff2 b/app-latest-build/material-icons-outlined.woff2 similarity index 100% rename from app-latest-build/material-icons-outlined.f86cb7b0aa53f0fe.woff2 rename to app-latest-build/material-icons-outlined.woff2 diff --git a/app-latest-build/material-icons-round.92dc7ca2f4c591e7.woff b/app-latest-build/material-icons-round.woff similarity index 100% rename from app-latest-build/material-icons-round.92dc7ca2f4c591e7.woff rename to app-latest-build/material-icons-round.woff diff --git a/app-latest-build/material-icons-round.b10ec9db5b7fbc74.woff2 b/app-latest-build/material-icons-round.woff2 similarity index 100% rename from app-latest-build/material-icons-round.b10ec9db5b7fbc74.woff2 rename to app-latest-build/material-icons-round.woff2 diff --git a/app-latest-build/material-icons-sharp.a71cb2bf66c604de.woff b/app-latest-build/material-icons-sharp.woff similarity index 100% rename from app-latest-build/material-icons-sharp.a71cb2bf66c604de.woff rename to app-latest-build/material-icons-sharp.woff diff --git a/app-latest-build/material-icons-sharp.3885863ee4746422.woff2 b/app-latest-build/material-icons-sharp.woff2 similarity index 100% rename from app-latest-build/material-icons-sharp.3885863ee4746422.woff2 rename to app-latest-build/material-icons-sharp.woff2 diff --git a/app-latest-build/material-icons-two-tone.588d63134de807a7.woff b/app-latest-build/material-icons-two-tone.woff similarity index 100% rename from app-latest-build/material-icons-two-tone.588d63134de807a7.woff rename to app-latest-build/material-icons-two-tone.woff diff --git a/app-latest-build/material-icons-two-tone.675bd578bd14533e.woff2 b/app-latest-build/material-icons-two-tone.woff2 similarity index 100% rename from app-latest-build/material-icons-two-tone.675bd578bd14533e.woff2 rename to app-latest-build/material-icons-two-tone.woff2 diff --git a/app-latest-build/material-icons.4ad034d2c499d9b6.woff b/app-latest-build/material-icons.woff similarity index 100% rename from app-latest-build/material-icons.4ad034d2c499d9b6.woff rename to app-latest-build/material-icons.woff diff --git a/app-latest-build/material-icons.59322316b3fd6063.woff2 b/app-latest-build/material-icons.woff2 similarity index 100% rename from app-latest-build/material-icons.59322316b3fd6063.woff2 rename to app-latest-build/material-icons.woff2 diff --git a/app-latest-build/polyfills.0be128837423580d.js b/app-latest-build/polyfills.0be128837423580d.js deleted file mode 100644 index 61248cc..0000000 --- a/app-latest-build/polyfills.0be128837423580d.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunkegon=self.webpackChunkegon||[]).push([[429],{730:()=>{!function(e){const n=e.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=e.__Zone_symbol_prefix||"__zone_symbol__";function a(L){return c+L}const y=!0===e[a("forceDuplicateZoneCheck")];if(e.Zone){if(y||"function"!=typeof e.Zone.__symbol__)throw new Error("Zone already loaded.");return e.Zone}let d=(()=>{class L{static#e=this.__symbol__=a;static assertZonePatched(){if(e.Promise!==oe.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 t=L.current;for(;t.parent;)t=t.parent;return t}static get current(){return U.zone}static get currentTask(){return re}static __load_patch(t,r,k=!1){if(oe.hasOwnProperty(t)){if(!k&&y)throw Error("Already loaded patch: "+t)}else if(!e["__Zone_disable_"+t]){const C="Zone:"+t;i(C),oe[t]=r(e,L,z),o(C,C)}}get parent(){return this._parent}get name(){return this._name}constructor(t,r){this._parent=t,this._name=r?r.name||"unnamed":"",this._properties=r&&r.properties||{},this._zoneDelegate=new v(this,this._parent&&this._parent._zoneDelegate,r)}get(t){const r=this.getZoneWith(t);if(r)return r._properties[t]}getZoneWith(t){let r=this;for(;r;){if(r._properties.hasOwnProperty(t))return r;r=r._parent}return null}fork(t){if(!t)throw new Error("ZoneSpec required!");return this._zoneDelegate.fork(this,t)}wrap(t,r){if("function"!=typeof t)throw new Error("Expecting function got: "+t);const k=this._zoneDelegate.intercept(this,t,r),C=this;return function(){return C.runGuarded(k,this,arguments,r)}}run(t,r,k,C){U={parent:U,zone:this};try{return this._zoneDelegate.invoke(this,t,r,k,C)}finally{U=U.parent}}runGuarded(t,r=null,k,C){U={parent:U,zone:this};try{try{return this._zoneDelegate.invoke(this,t,r,k,C)}catch($){if(this._zoneDelegate.handleError(this,$))throw $}}finally{U=U.parent}}runTask(t,r,k){if(t.zone!=this)throw new Error("A task can only be run in the zone of creation! (Creation: "+(t.zone||K).name+"; Execution: "+this.name+")");if(t.state===x&&(t.type===Q||t.type===P))return;const C=t.state!=E;C&&t._transitionTo(E,A),t.runCount++;const $=re;re=t,U={parent:U,zone:this};try{t.type==P&&t.data&&!t.data.isPeriodic&&(t.cancelFn=void 0);try{return this._zoneDelegate.invokeTask(this,t,r,k)}catch(l){if(this._zoneDelegate.handleError(this,l))throw l}}finally{t.state!==x&&t.state!==h&&(t.type==Q||t.data&&t.data.isPeriodic?C&&t._transitionTo(A,E):(t.runCount=0,this._updateTaskCount(t,-1),C&&t._transitionTo(x,E,x))),U=U.parent,re=$}}scheduleTask(t){if(t.zone&&t.zone!==this){let k=this;for(;k;){if(k===t.zone)throw Error(`can not reschedule task to ${this.name} which is descendants of the original zone ${t.zone.name}`);k=k.parent}}t._transitionTo(X,x);const r=[];t._zoneDelegates=r,t._zone=this;try{t=this._zoneDelegate.scheduleTask(this,t)}catch(k){throw t._transitionTo(h,X,x),this._zoneDelegate.handleError(this,k),k}return t._zoneDelegates===r&&this._updateTaskCount(t,1),t.state==X&&t._transitionTo(A,X),t}scheduleMicroTask(t,r,k,C){return this.scheduleTask(new p(I,t,r,k,C,void 0))}scheduleMacroTask(t,r,k,C,$){return this.scheduleTask(new p(P,t,r,k,C,$))}scheduleEventTask(t,r,k,C,$){return this.scheduleTask(new p(Q,t,r,k,C,$))}cancelTask(t){if(t.zone!=this)throw new Error("A task can only be cancelled in the zone of creation! (Creation: "+(t.zone||K).name+"; Execution: "+this.name+")");if(t.state===A||t.state===E){t._transitionTo(G,A,E);try{this._zoneDelegate.cancelTask(this,t)}catch(r){throw t._transitionTo(h,G),this._zoneDelegate.handleError(this,r),r}return this._updateTaskCount(t,-1),t._transitionTo(x,G),t.runCount=0,t}}_updateTaskCount(t,r){const k=t._zoneDelegates;-1==r&&(t._zoneDelegates=null);for(let C=0;CL.hasTask(t,r),onScheduleTask:(L,T,t,r)=>L.scheduleTask(t,r),onInvokeTask:(L,T,t,r,k,C)=>L.invokeTask(t,r,k,C),onCancelTask:(L,T,t,r)=>L.cancelTask(t,r)};class v{constructor(T,t,r){this._taskCounts={microTask:0,macroTask:0,eventTask:0},this.zone=T,this._parentDelegate=t,this._forkZS=r&&(r&&r.onFork?r:t._forkZS),this._forkDlgt=r&&(r.onFork?t:t._forkDlgt),this._forkCurrZone=r&&(r.onFork?this.zone:t._forkCurrZone),this._interceptZS=r&&(r.onIntercept?r:t._interceptZS),this._interceptDlgt=r&&(r.onIntercept?t:t._interceptDlgt),this._interceptCurrZone=r&&(r.onIntercept?this.zone:t._interceptCurrZone),this._invokeZS=r&&(r.onInvoke?r:t._invokeZS),this._invokeDlgt=r&&(r.onInvoke?t:t._invokeDlgt),this._invokeCurrZone=r&&(r.onInvoke?this.zone:t._invokeCurrZone),this._handleErrorZS=r&&(r.onHandleError?r:t._handleErrorZS),this._handleErrorDlgt=r&&(r.onHandleError?t:t._handleErrorDlgt),this._handleErrorCurrZone=r&&(r.onHandleError?this.zone:t._handleErrorCurrZone),this._scheduleTaskZS=r&&(r.onScheduleTask?r:t._scheduleTaskZS),this._scheduleTaskDlgt=r&&(r.onScheduleTask?t:t._scheduleTaskDlgt),this._scheduleTaskCurrZone=r&&(r.onScheduleTask?this.zone:t._scheduleTaskCurrZone),this._invokeTaskZS=r&&(r.onInvokeTask?r:t._invokeTaskZS),this._invokeTaskDlgt=r&&(r.onInvokeTask?t:t._invokeTaskDlgt),this._invokeTaskCurrZone=r&&(r.onInvokeTask?this.zone:t._invokeTaskCurrZone),this._cancelTaskZS=r&&(r.onCancelTask?r:t._cancelTaskZS),this._cancelTaskDlgt=r&&(r.onCancelTask?t:t._cancelTaskDlgt),this._cancelTaskCurrZone=r&&(r.onCancelTask?this.zone:t._cancelTaskCurrZone),this._hasTaskZS=null,this._hasTaskDlgt=null,this._hasTaskDlgtOwner=null,this._hasTaskCurrZone=null;const k=r&&r.onHasTask;(k||t&&t._hasTaskZS)&&(this._hasTaskZS=k?r:b,this._hasTaskDlgt=t,this._hasTaskDlgtOwner=this,this._hasTaskCurrZone=T,r.onScheduleTask||(this._scheduleTaskZS=b,this._scheduleTaskDlgt=t,this._scheduleTaskCurrZone=this.zone),r.onInvokeTask||(this._invokeTaskZS=b,this._invokeTaskDlgt=t,this._invokeTaskCurrZone=this.zone),r.onCancelTask||(this._cancelTaskZS=b,this._cancelTaskDlgt=t,this._cancelTaskCurrZone=this.zone))}fork(T,t){return this._forkZS?this._forkZS.onFork(this._forkDlgt,this.zone,T,t):new d(T,t)}intercept(T,t,r){return this._interceptZS?this._interceptZS.onIntercept(this._interceptDlgt,this._interceptCurrZone,T,t,r):t}invoke(T,t,r,k,C){return this._invokeZS?this._invokeZS.onInvoke(this._invokeDlgt,this._invokeCurrZone,T,t,r,k,C):t.apply(r,k)}handleError(T,t){return!this._handleErrorZS||this._handleErrorZS.onHandleError(this._handleErrorDlgt,this._handleErrorCurrZone,T,t)}scheduleTask(T,t){let r=t;if(this._scheduleTaskZS)this._hasTaskZS&&r._zoneDelegates.push(this._hasTaskDlgtOwner),r=this._scheduleTaskZS.onScheduleTask(this._scheduleTaskDlgt,this._scheduleTaskCurrZone,T,t),r||(r=t);else if(t.scheduleFn)t.scheduleFn(t);else{if(t.type!=I)throw new Error("Task is missing scheduleFn.");R(t)}return r}invokeTask(T,t,r,k){return this._invokeTaskZS?this._invokeTaskZS.onInvokeTask(this._invokeTaskDlgt,this._invokeTaskCurrZone,T,t,r,k):t.callback.apply(r,k)}cancelTask(T,t){let r;if(this._cancelTaskZS)r=this._cancelTaskZS.onCancelTask(this._cancelTaskDlgt,this._cancelTaskCurrZone,T,t);else{if(!t.cancelFn)throw Error("Task is not cancelable");r=t.cancelFn(t)}return r}hasTask(T,t){try{this._hasTaskZS&&this._hasTaskZS.onHasTask(this._hasTaskDlgt,this._hasTaskCurrZone,T,t)}catch(r){this.handleError(T,r)}}_updateTaskCount(T,t){const r=this._taskCounts,k=r[T],C=r[T]=k+t;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,t,r,k,C,$){if(this._zone=null,this.runCount=0,this._zoneDelegates=null,this._state="notScheduled",this.type=T,this.source=t,this.data=k,this.scheduleFn=C,this.cancelFn=$,!r)throw new Error("callback is not defined");this.callback=r;const l=this;this.invoke=T===Q&&k&&k.useG?p.invokeTask:function(){return p.invokeTask.call(e,l,this,arguments)}}static invokeTask(T,t,r){T||(T=this),ee++;try{return T.runCount++,T.zone.runTask(T,t,r)}finally{1==ee&&_(),ee--}}get zone(){return this._zone}get state(){return this._state}cancelScheduleRequest(){this._transitionTo(x,X)}_transitionTo(T,t,r){if(this._state!==t&&this._state!==r)throw new Error(`${this.type} '${this.source}': can not transition to '${T}', expecting state '${t}'${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"),Z=a("Promise"),N=a("then");let J,B=[],H=!1;function q(L){if(J||e[Z]&&(J=e[Z].resolve(0)),J){let T=J[N];T||(T=J.then),T.call(J,L)}else e[M](L,0)}function R(L){0===ee&&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)},re=null,ee=0;function W(){}o("Zone","Zone"),e.Zone=d}(typeof window<"u"&&window||typeof self<"u"&&self||global);const ie=Object.getOwnPropertyDescriptor,Ee=Object.defineProperty,de=Object.getPrototypeOf,ge=Object.create,Ve=Array.prototype.slice,Se="addEventListener",Oe="removeEventListener",Ze=Zone.__symbol__(Se),Ne=Zone.__symbol__(Oe),ce="true",ae="false",ke=Zone.__symbol__("");function Ie(e,n){return Zone.current.wrap(e,n)}function Me(e,n,i,o,c){return Zone.current.scheduleMacroTask(e,n,i,o,c)}const j=Zone.__symbol__,Pe=typeof window<"u",Te=Pe?window:void 0,Y=Pe&&Te||"object"==typeof self&&self||global,ct="removeAttribute";function Le(e,n){for(let i=e.length-1;i>=0;i--)"function"==typeof e[i]&&(e[i]=Ie(e[i],n+"_"+i));return e}function Fe(e){return!e||!1!==e.writable&&!("function"==typeof e.get&&typeof e.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||!Te.HTMLElement),Ue=typeof Y.process<"u"&&"[object process]"==={}.toString.call(Y.process)&&!Be&&!(!Pe||!Te.HTMLElement),Re={},We=function(e){if(!(e=e||Y.event))return;let n=Re[e.type];n||(n=Re[e.type]=j("ON_PROPERTY"+e.type));const i=this||e.target||Y,o=i[n];let c;return Ae&&i===Te&&"error"===e.type?(c=o&&o.call(this,e.message,e.filename,e.lineno,e.colno,e.error),!0===c&&e.preventDefault()):(c=o&&o.apply(this,arguments),null!=c&&!c&&e.preventDefault()),c};function qe(e,n,i){let o=ie(e,n);if(!o&&i&&ie(i,n)&&(o={enumerable:!0,configurable:!0}),!o||!o.configurable)return;const c=j("on"+n+"patched");if(e.hasOwnProperty(c)&&e[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]=j("ON_PROPERTY"+d)),o.set=function(v){let p=this;!p&&e===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&&e===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[ct]&&v.removeAttribute(n),M}return null},Ee(e,n,o),e[c]=!0}function Xe(e,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]?Me(b.name,d[b.cbIdx],b,c):a.apply(y,d)})}function ue(e,n){e[j("OriginalDelegate")]=n}let ze=!1,je=!1;function ft(){if(ze)return je;ze=!0;try{const e=Te.navigator.userAgent;(-1!==e.indexOf("MSIE ")||-1!==e.indexOf("Trident/")||-1!==e.indexOf("Edge/"))&&(je=!0)}catch{}return je}Zone.__load_patch("ZoneAwarePromise",(e,n,i)=>{const o=Object.getOwnPropertyDescriptor,c=Object.defineProperty,y=i.symbol,d=[],b=!0===e[y("DISABLE_WRAPPING_UNCAUGHT_PROMISE_REJECTION")],v=y("Promise"),p=y("then"),M="__creationTrace__";i.onUnhandledError=l=>{if(i.showUncaughtError()){const u=l&&l.rejection;u?console.error("Unhandled Promise rejection:",u instanceof Error?u.message:u,"; Zone:",l.zone.name,"; Task:",l.task&&l.task.source,"; Value:",u,u instanceof Error?u.stack:void 0):console.error(l)}},i.microtaskDrainDone=()=>{for(;d.length;){const l=d.shift();try{l.zone.runGuarded(()=>{throw l.throwOriginal?l.rejection:l})}catch(u){N(u)}}};const Z=y("unhandledPromiseRejectionHandler");function N(l){i.onUnhandledError(l);try{const u=n[Z];"function"==typeof u&&u.call(this,l)}catch{}}function B(l){return l&&l.then}function H(l){return l}function J(l){return t.reject(l)}const q=y("state"),R=y("value"),_=y("finally"),K=y("parentPromiseValue"),x=y("parentPromiseState"),X="Promise.then",A=null,E=!0,G=!1,h=0;function I(l,u){return s=>{try{z(l,u,s)}catch(f){z(l,!1,f)}}}const P=function(){let l=!1;return function(s){return function(){l||(l=!0,s.apply(null,arguments))}}},Q="Promise resolved with itself",oe=y("currentTaskTrace");function z(l,u,s){const f=P();if(l===s)throw new TypeError(Q);if(l[q]===A){let g=null;try{("object"==typeof s||"function"==typeof s)&&(g=s&&s.then)}catch(w){return f(()=>{z(l,!1,w)})(),l}if(u!==G&&s instanceof t&&s.hasOwnProperty(q)&&s.hasOwnProperty(R)&&s[q]!==A)re(s),z(l,s[q],s[R]);else if(u!==G&&"function"==typeof g)try{g.call(s,f(I(l,u)),f(I(l,!1)))}catch(w){f(()=>{z(l,!1,w)})()}else{l[q]=u;const w=l[R];if(l[R]=s,l[_]===_&&u===E&&(l[q]=l[x],l[R]=l[K]),u===G&&s instanceof Error){const m=n.currentTask&&n.currentTask.data&&n.currentTask.data[M];m&&c(s,oe,{configurable:!0,enumerable:!1,writable:!0,value:m})}for(let m=0;m{try{const D=l[R],S=!!s&&_===s[_];S&&(s[K]=D,s[x]=w);const O=u.run(m,void 0,S&&m!==J&&m!==H?[]:[D]);z(s,!0,O)}catch(D){z(s,!1,D)}},s)}const L=function(){},T=e.AggregateError;class t{static toString(){return"function ZoneAwarePromise() { [native code] }"}static resolve(u){return z(new this(null),E,u)}static reject(u){return z(new this(null),G,u)}static any(u){if(!u||"function"!=typeof u[Symbol.iterator])return Promise.reject(new T([],"All promises were rejected"));const s=[];let f=0;try{for(let m of u)f++,s.push(t.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 t((m,D)=>{for(let S=0;S{g||(g=!0,m(O))},O=>{w.push(O),f--,0===f&&(g=!0,D(new T(w,"All promises were rejected")))})})}static race(u){let s,f,g=new this((D,S)=>{s=D,f=S});function w(D){s(D)}function m(D){f(D)}for(let D of u)B(D)||(D=this.resolve(D)),D.then(w,m);return g}static all(u){return t.allWithCallback(u)}static allSettled(u){return(this&&this.prototype instanceof t?this:t).allWithCallback(u,{thenCallback:f=>({status:"fulfilled",value:f}),errorCallback:f=>({status:"rejected",reason:f})})}static allWithCallback(u,s){let f,g,w=new this((O,V)=>{f=O,g=V}),m=2,D=0;const S=[];for(let O of u){B(O)||(O=this.resolve(O));const V=D;try{O.then(F=>{S[V]=s?s.thenCallback(F):F,m--,0===m&&f(S)},F=>{s?(S[V]=s.errorCallback(F),m--,0===m&&f(S)):g(F)})}catch(F){g(F)}m++,D++}return m-=2,0===m&&f(S),w}constructor(u){const s=this;if(!(s instanceof t))throw new Error("Must be an instanceof Promise.");s[q]=A,s[R]=[];try{const f=P();u&&u(f(I(s,E)),f(I(s,G)))}catch(f){z(s,!1,f)}}get[Symbol.toStringTag](){return"Promise"}get[Symbol.species](){return t}then(u,s){let f=this.constructor?.[Symbol.species];(!f||"function"!=typeof f)&&(f=this.constructor||t);const g=new f(L),w=n.current;return this[q]==A?this[R].push(w,g,u,s):ee(this,w,g,u,s),g}catch(u){return this.then(null,u)}finally(u){let s=this.constructor?.[Symbol.species];(!s||"function"!=typeof s)&&(s=t);const f=new s(L);f[_]=_;const g=n.current;return this[q]==A?this[R].push(g,f,u,u):ee(this,g,f,u,u),f}}t.resolve=t.resolve,t.reject=t.reject,t.race=t.race,t.all=t.all;const r=e[v]=e.Promise;e.Promise=t;const k=y("thenPatched");function C(l){const u=l.prototype,s=o(u,"then");if(s&&(!1===s.writable||!s.configurable))return;const f=u.then;u[p]=f,l.prototype.then=function(g,w){return new t((D,S)=>{f.call(this,D,S)}).then(g,w)},l[k]=!0}return i.patchThen=C,r&&(C(r),le(e,"fetch",l=>function $(l){return function(u,s){let f=l.apply(u,s);if(f instanceof t)return f;let g=f.constructor;return g[k]||C(g),f}}(l))),Promise[n.__symbol__("uncaughtPromiseErrors")]=d,t}),Zone.__load_patch("toString",e=>{const n=Function.prototype.toString,i=j("OriginalDelegate"),o=j("Promise"),c=j("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=e[o];if(p)return n.call(p)}if(this===Error){const p=e[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 ye=!1;if(typeof window<"u")try{const e=Object.defineProperty({},"passive",{get:function(){ye=!0}});window.addEventListener("test",e,e),window.removeEventListener("test",e,e)}catch{ye=!1}const ht={useG:!0},te={},Ye={},$e=new RegExp("^"+ke+"(\\w+)(true|false)$"),Ke=j("propagationStopped");function Je(e,n){const i=(n?n(e):e)+ae,o=(n?n(e):e)+ce,c=ke+i,a=ke+o;te[e]={},te[e][ae]=c,te[e][ce]=a}function dt(e,n,i,o){const c=o&&o.add||Se,a=o&&o.rm||Oe,y=o&&o.listeners||"eventListeners",d=o&&o.rmAll||"removeAllListeners",b=j(c),v="."+c+":",p="prependListener",M="."+p+":",Z=function(R,_,K){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,_,[K])}catch(E){X=E}const A=R.options;return A&&"object"==typeof A&&A.once&&_[a].call(_,K.type,R.originalDelegate?R.originalDelegate:R.callback,A),X};function N(R,_,K){if(!(_=_||e.event))return;const x=R||_.target||e,X=x[te[_.type][K?ce:ae]];if(X){const A=[];if(1===X.length){const E=Z(X[0],x,_);E&&A.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 J(R,_){if(!R)return!1;let K=!0;_&&void 0!==_.useG&&(K=_.useG);const x=_&&_.vh;let X=!0;_&&void 0!==_.chkDup&&(X=_.chkDup);let A=!1;_&&void 0!==_.rt&&(A=_.rt);let E=R;for(;E&&!E.hasOwnProperty(c);)E=de(E);if(!E&&R[c]&&(E=R),!E||E[b])return!1;const G=_&&_.eventNameToString,h={},I=E[b]=E[c],P=E[j(a)]=E[a],Q=E[j(y)]=E[y],oe=E[j(d)]=E[d];let z;_&&_.prepend&&(z=E[j(_.prepend)]=E[_.prepend]);const t=K?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=K?function(s){if(!s.isRemoved){const f=te[s.eventName];let g;f&&(g=f[s.capture?ce:ae]);const w=g&&s.target[g];if(w)for(let m=0;mfunction(c,a){c[Ke]=!0,o&&o.apply(c,a)})}function Et(e,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,Z=b.prototype;try{if(Z.hasOwnProperty(p)){const N=e.ObjectGetOwnPropertyDescriptor(Z,p);N&&N.value?(N.value=e.wrapWithCurrentZone(N.value,M),e._redefineProperty(b.prototype,p,N)):Z[p]&&(Z[p]=e.wrapWithCurrentZone(Z[p],M))}else Z[p]&&(Z[p]=e.wrapWithCurrentZone(Z[p],M))}catch{}}),y.call(n,d,b,v)},e.attachOriginToPatched(n[o],y)}function et(e,n,i){if(!i||0===i.length)return n;const o=i.filter(a=>a.target===e);if(!o||0===o.length)return n;const c=o[0].ignoreProperties;return n.filter(a=>-1===c.indexOf(a))}function tt(e,n,i,o){e&&Xe(e,et(e,n,i),o)}function He(e){return Object.getOwnPropertyNames(e).filter(n=>n.startsWith("on")&&n.length>2).map(n=>n.substring(2))}Zone.__load_patch("util",(e,n,i)=>{const o=He(e);i.patchOnProperties=Xe,i.patchMethod=le,i.bindArguments=Le,i.patchMacroTask=lt;const c=n.__symbol__("BLACK_LISTED_EVENTS"),a=n.__symbol__("UNPATCHED_EVENTS");e[a]&&(e[c]=e[a]),e[c]&&(n[c]=n[a]=e[c]),i.patchEventPrototype=_t,i.patchEventTarget=dt,i.isIEOrEdge=ft,i.ObjectDefineProperty=Ee,i.ObjectGetOwnPropertyDescriptor=ie,i.ObjectCreate=ge,i.ArraySlice=Ve,i.patchClass=ve,i.wrapWithCurrentZone=Ie,i.filterProperties=et,i.attachOriginToPatched=ue,i._redefineProperty=Object.defineProperty,i.patchCallbacks=Et,i.getGlobalObjects=()=>({globalSources:Ye,zoneSymbolEventNames:te,eventNames:o,isBrowser:Ae,isMix:Ue,isNode:we,TRUE_STR:ce,FALSE_STR:ae,ZONE_SYMBOL_PREFIX:ke,ADD_EVENT_LISTENER_STR:Se,REMOVE_EVENT_LISTENER_STR:Oe})});const Ce=j("zoneTask");function pe(e,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(e,p.args),v}function b(v){return a.call(e,v.data.handleId)}c=le(e,n+=o,v=>function(p,M){if("function"==typeof M[0]){const Z={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{Z.isPeriodic||("number"==typeof Z.handleId?delete y[Z.handleId]:Z.handleId&&(Z.handleId[Ce]=null))}};const B=Me(n,M[0],Z,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(e,M)}),a=le(e,i,v=>function(p,M){const Z=M[0];let N;"number"==typeof Z?N=y[Z]:(N=Z&&Z[Ce],N||(N=Z)),N&&"string"==typeof N.type?"notScheduled"!==N.state&&(N.cancelFn&&N.data.isPeriodic||0===N.runCount)&&("number"==typeof Z?delete y[Z]:Z&&(Z[Ce]=null),N.zone.cancelTask(N)):v.apply(e,M)})}Zone.__load_patch("legacy",e=>{const n=e[Zone.__symbol__("legacyPatch")];n&&n()}),Zone.__load_patch("timers",e=>{const n="set",i="clear";pe(e,n,i,"Timeout"),pe(e,n,i,"Interval"),pe(e,n,i,"Immediate")}),Zone.__load_patch("requestAnimationFrame",e=>{pe(e,"request","cancel","AnimationFrame"),pe(e,"mozRequest","mozCancel","AnimationFrame"),pe(e,"webkitRequest","webkitCancel","AnimationFrame")}),Zone.__load_patch("blocking",(e,n)=>{const i=["alert","prompt","confirm"];for(let o=0;ofunction(b,v){return n.current.run(a,e,v,d)})}),Zone.__load_patch("EventTarget",(e,n,i)=>{(function gt(e,n){n.patchEventPrototype(e,n)})(e,i),function mt(e,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{ve("MutationObserver"),ve("WebKitMutationObserver")}),Zone.__load_patch("IntersectionObserver",(e,n,i)=>{ve("IntersectionObserver")}),Zone.__load_patch("FileReader",(e,n,i)=>{ve("FileReader")}),Zone.__load_patch("on_property",(e,n,i)=>{!function Tt(e,n){if(we&&!Ue||Zone[e.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 ut(){try{const e=Te.navigator.userAgent;if(-1!==e.indexOf("MSIE ")||-1!==e.indexOf("Trident/"))return!0}catch{}return!1}()?[{target:c,ignoreProperties:["error"]}]:[];tt(c,He(c),i&&i.concat(a),de(c))}o=o.concat(["XMLHttpRequest","XMLHttpRequestEventTarget","IDBIndex","IDBRequest","IDBOpenDBRequest","IDBDatabase","IDBTransaction","IDBCursor","WebSocket"]);for(let c=0;c{!function pt(e,n){const{isBrowser:i,isMix:o}=n.getGlobalObjects();(i||o)&&e.customElements&&"customElements"in e&&n.patchCallbacks(n,e.customElements,"customElements","define",["connectedCallback","disconnectedCallback","adoptedCallback","attributeChangedCallback"])}(e,i)}),Zone.__load_patch("XHR",(e,n)=>{!function b(v){const p=v.XMLHttpRequest;if(!p)return;const M=p.prototype;let N=M[Ze],B=M[Ne];if(!N){const h=v.XMLHttpRequestEventTarget;if(h){const I=h.prototype;N=I[Ze],B=I[Ne]}}const H="readystatechange",J="scheduled";function q(h){const I=h.data,P=I.target;P[a]=!1,P[d]=!1;const Q=P[c];N||(N=P[Ze],B=P[Ne]),Q&&B.call(P,H,Q);const oe=P[c]=()=>{if(P.readyState===P.DONE)if(!I.aborted&&P[a]&&h.state===J){const U=P[n.__symbol__("loadfalse")];if(0!==P.status&&U&&U.length>0){const re=h.invoke;h.invoke=function(){const ee=P[n.__symbol__("loadfalse")];for(let W=0;Wfunction(h,I){return h[o]=0==I[2],h[y]=I[1],K.apply(h,I)}),X=j("fetchTaskAborting"),A=j("fetchTaskScheduling"),E=le(M,"send",()=>function(h,I){if(!0===n.current[A]||h[o])return E.apply(h,I);{const P={target:h,url:h[y],isPeriodic:!1,args:I,aborted:!1},Q=Me("XMLHttpRequest.send",R,P,q,_);h&&!0===h[d]&&!P.aborted&&Q.state===J&&Q.invoke()}}),G=le(M,"abort",()=>function(h,I){const P=function Z(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)})}(e);const i=j("xhrTask"),o=j("xhrSync"),c=j("xhrListener"),a=j("xhrScheduled"),y=j("xhrURL"),d=j("xhrErrorBeforeScheduled")}),Zone.__load_patch("geolocation",e=>{e.navigator&&e.navigator.geolocation&&function at(e,n){const i=e.constructor.name;for(let o=0;o{const b=function(){return d.apply(this,Le(arguments,i+"."+c))};return ue(b,d),b})(a)}}}(e.navigator.geolocation,["getCurrentPosition","watchPosition"])}),Zone.__load_patch("PromiseRejectionEvent",(e,n)=>{function i(o){return function(c){Qe(e,o).forEach(y=>{const d=e.PromiseRejectionEvent;if(d){const b=new d(o,{promise:c.promise,reason:c.rejection});y.invoke(b)}})}}e.PromiseRejectionEvent&&(n[j("unhandledPromiseRejectionHandler")]=i("unhandledrejection"),n[j("rejectionHandledHandler")]=i("rejectionhandled"))}),Zone.__load_patch("queueMicrotask",(e,n,i)=>{!function yt(e,n){n.patchMethod(e,"queueMicrotask",i=>function(o,c){Zone.current.scheduleMicroTask("queueMicrotask",c[0])})}(e,i)})},321:(ie,Ee,de)=>{de(730)}},ie=>{ie(ie.s=321)}]); \ No newline at end of file diff --git a/app-latest-build/polyfills.js b/app-latest-build/polyfills.js new file mode 100644 index 0000000..912bc48 --- /dev/null +++ b/app-latest-build/polyfills.js @@ -0,0 +1,2734 @@ +"use strict"; +(self["webpackChunkegon"] = self["webpackChunkegon"] || []).push([["polyfills"],{ + +/***/ 12340: +/*!***********************************************!*\ + !*** ./node_modules/zone.js/fesm2015/zone.js ***! + \***********************************************/ +/***/ (() => { + + + +/** + * @license Angular v + * (c) 2010-2022 Google LLC. https://angular.io/ + * License: MIT + */ +(function (global) { + const performance = global['performance']; + function mark(name) { + performance && performance['mark'] && performance['mark'](name); + } + function performanceMeasure(name, label) { + performance && performance['measure'] && performance['measure'](name, label); + } + mark('Zone'); + // Initialize before it's accessed below. + // __Zone_symbol_prefix global can be used to override the default zone + // symbol prefix with a custom one if needed. + const symbolPrefix = global['__Zone_symbol_prefix'] || '__zone_symbol__'; + function __symbol__(name) { + return symbolPrefix + name; + } + const checkDuplicate = global[__symbol__('forceDuplicateZoneCheck')] === true; + if (global['Zone']) { + // if global['Zone'] already exists (maybe zone.js was already loaded or + // some other lib also registered a global object named Zone), we may need + // to throw an error, but sometimes user may not want this error. + // For example, + // we have two web pages, page1 includes zone.js, page2 doesn't. + // and the 1st time user load page1 and page2, everything work fine, + // but when user load page2 again, error occurs because global['Zone'] already exists. + // so we add a flag to let user choose whether to throw this error or not. + // By default, if existing Zone is from zone.js, we will not throw the error. + if (checkDuplicate || typeof global['Zone'].__symbol__ !== 'function') { + throw new Error('Zone already loaded.'); + } else { + return global['Zone']; + } + } + class Zone { + // tslint:disable-next-line:require-internal-with-underscore + static #_ = this.__symbol__ = __symbol__; + static assertZonePatched() { + if (global['Promise'] !== patches['ZoneAwarePromise']) { + throw new Error('Zone.js has detected that ZoneAwarePromise `(window|global).Promise` ' + 'has been overwritten.\n' + 'Most 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 zone = Zone.current; + while (zone.parent) { + zone = zone.parent; + } + return zone; + } + static get current() { + return _currentZoneFrame.zone; + } + static get currentTask() { + return _currentTask; + } + // tslint:disable-next-line:require-internal-with-underscore + static __load_patch(name, fn, ignoreDuplicate = false) { + if (patches.hasOwnProperty(name)) { + // `checkDuplicate` option is defined from global variable + // so it works for all modules. + // `ignoreDuplicate` can work for the specified module + if (!ignoreDuplicate && checkDuplicate) { + throw Error('Already loaded patch: ' + name); + } + } else if (!global['__Zone_disable_' + name]) { + const perfName = 'Zone:' + name; + mark(perfName); + patches[name] = fn(global, Zone, _api); + performanceMeasure(perfName, perfName); + } + } + get parent() { + return this._parent; + } + get name() { + return this._name; + } + constructor(parent, zoneSpec) { + this._parent = parent; + this._name = zoneSpec ? zoneSpec.name || 'unnamed' : ''; + this._properties = zoneSpec && zoneSpec.properties || {}; + this._zoneDelegate = new _ZoneDelegate(this, this._parent && this._parent._zoneDelegate, zoneSpec); + } + get(key) { + const zone = this.getZoneWith(key); + if (zone) return zone._properties[key]; + } + getZoneWith(key) { + let current = this; + while (current) { + if (current._properties.hasOwnProperty(key)) { + return current; + } + current = current._parent; + } + return null; + } + fork(zoneSpec) { + if (!zoneSpec) throw new Error('ZoneSpec required!'); + return this._zoneDelegate.fork(this, zoneSpec); + } + wrap(callback, source) { + if (typeof callback !== 'function') { + throw new Error('Expecting function got: ' + callback); + } + const _callback = this._zoneDelegate.intercept(this, callback, source); + const zone = this; + return function () { + return zone.runGuarded(_callback, this, arguments, source); + }; + } + run(callback, applyThis, applyArgs, source) { + _currentZoneFrame = { + parent: _currentZoneFrame, + zone: this + }; + try { + return this._zoneDelegate.invoke(this, callback, applyThis, applyArgs, source); + } finally { + _currentZoneFrame = _currentZoneFrame.parent; + } + } + runGuarded(callback, applyThis = null, applyArgs, source) { + _currentZoneFrame = { + parent: _currentZoneFrame, + zone: this + }; + try { + try { + return this._zoneDelegate.invoke(this, callback, applyThis, applyArgs, source); + } catch (error) { + if (this._zoneDelegate.handleError(this, error)) { + throw error; + } + } + } finally { + _currentZoneFrame = _currentZoneFrame.parent; + } + } + runTask(task, applyThis, applyArgs) { + if (task.zone != this) { + throw new Error('A task can only be run in the zone of creation! (Creation: ' + (task.zone || NO_ZONE).name + '; Execution: ' + this.name + ')'); + } + // https://github.com/angular/zone.js/issues/778, sometimes eventTask + // will run in notScheduled(canceled) state, we should not try to + // run such kind of task but just return + if (task.state === notScheduled && (task.type === eventTask || task.type === macroTask)) { + return; + } + const reEntryGuard = task.state != running; + reEntryGuard && task._transitionTo(running, scheduled); + task.runCount++; + const previousTask = _currentTask; + _currentTask = task; + _currentZoneFrame = { + parent: _currentZoneFrame, + zone: this + }; + try { + if (task.type == macroTask && task.data && !task.data.isPeriodic) { + task.cancelFn = undefined; + } + try { + return this._zoneDelegate.invokeTask(this, task, applyThis, applyArgs); + } catch (error) { + if (this._zoneDelegate.handleError(this, error)) { + throw error; + } + } + } finally { + // if the task's state is notScheduled or unknown, then it has already been cancelled + // we should not reset the state to scheduled + if (task.state !== notScheduled && task.state !== unknown) { + if (task.type == eventTask || task.data && task.data.isPeriodic) { + reEntryGuard && task._transitionTo(scheduled, running); + } else { + task.runCount = 0; + this._updateTaskCount(task, -1); + reEntryGuard && task._transitionTo(notScheduled, running, notScheduled); + } + } + _currentZoneFrame = _currentZoneFrame.parent; + _currentTask = previousTask; + } + } + scheduleTask(task) { + if (task.zone && task.zone !== this) { + // check if the task was rescheduled, the newZone + // should not be the children of the original zone + let newZone = this; + while (newZone) { + if (newZone === task.zone) { + throw Error(`can not reschedule task to ${this.name} which is descendants of the original zone ${task.zone.name}`); + } + newZone = newZone.parent; + } + } + task._transitionTo(scheduling, notScheduled); + const zoneDelegates = []; + task._zoneDelegates = zoneDelegates; + task._zone = this; + try { + task = this._zoneDelegate.scheduleTask(this, task); + } catch (err) { + // should set task's state to unknown when scheduleTask throw error + // because the err may from reschedule, so the fromState maybe notScheduled + task._transitionTo(unknown, scheduling, notScheduled); + // TODO: @JiaLiPassion, should we check the result from handleError? + this._zoneDelegate.handleError(this, err); + throw err; + } + if (task._zoneDelegates === zoneDelegates) { + // we have to check because internally the delegate can reschedule the task. + this._updateTaskCount(task, 1); + } + if (task.state == scheduling) { + task._transitionTo(scheduled, scheduling); + } + return task; + } + scheduleMicroTask(source, callback, data, customSchedule) { + return this.scheduleTask(new ZoneTask(microTask, source, callback, data, customSchedule, undefined)); + } + scheduleMacroTask(source, callback, data, customSchedule, customCancel) { + return this.scheduleTask(new ZoneTask(macroTask, source, callback, data, customSchedule, customCancel)); + } + scheduleEventTask(source, callback, data, customSchedule, customCancel) { + return this.scheduleTask(new ZoneTask(eventTask, source, callback, data, customSchedule, customCancel)); + } + cancelTask(task) { + if (task.zone != this) throw new Error('A task can only be cancelled in the zone of creation! (Creation: ' + (task.zone || NO_ZONE).name + '; Execution: ' + this.name + ')'); + if (task.state !== scheduled && task.state !== running) { + return; + } + task._transitionTo(canceling, scheduled, running); + try { + this._zoneDelegate.cancelTask(this, task); + } catch (err) { + // if error occurs when cancelTask, transit the state to unknown + task._transitionTo(unknown, canceling); + this._zoneDelegate.handleError(this, err); + throw err; + } + this._updateTaskCount(task, -1); + task._transitionTo(notScheduled, canceling); + task.runCount = 0; + return task; + } + _updateTaskCount(task, count) { + const zoneDelegates = task._zoneDelegates; + if (count == -1) { + task._zoneDelegates = null; + } + for (let i = 0; i < zoneDelegates.length; i++) { + zoneDelegates[i]._updateTaskCount(task.type, count); + } + } + } + const DELEGATE_ZS = { + name: '', + onHasTask: (delegate, _, target, hasTaskState) => delegate.hasTask(target, hasTaskState), + onScheduleTask: (delegate, _, target, task) => delegate.scheduleTask(target, task), + onInvokeTask: (delegate, _, target, task, applyThis, applyArgs) => delegate.invokeTask(target, task, applyThis, applyArgs), + onCancelTask: (delegate, _, target, task) => delegate.cancelTask(target, task) + }; + class _ZoneDelegate { + constructor(zone, parentDelegate, zoneSpec) { + this._taskCounts = { + 'microTask': 0, + 'macroTask': 0, + 'eventTask': 0 + }; + this.zone = zone; + this._parentDelegate = parentDelegate; + this._forkZS = zoneSpec && (zoneSpec && zoneSpec.onFork ? zoneSpec : parentDelegate._forkZS); + this._forkDlgt = zoneSpec && (zoneSpec.onFork ? parentDelegate : parentDelegate._forkDlgt); + this._forkCurrZone = zoneSpec && (zoneSpec.onFork ? this.zone : parentDelegate._forkCurrZone); + this._interceptZS = zoneSpec && (zoneSpec.onIntercept ? zoneSpec : parentDelegate._interceptZS); + this._interceptDlgt = zoneSpec && (zoneSpec.onIntercept ? parentDelegate : parentDelegate._interceptDlgt); + this._interceptCurrZone = zoneSpec && (zoneSpec.onIntercept ? this.zone : parentDelegate._interceptCurrZone); + this._invokeZS = zoneSpec && (zoneSpec.onInvoke ? zoneSpec : parentDelegate._invokeZS); + this._invokeDlgt = zoneSpec && (zoneSpec.onInvoke ? parentDelegate : parentDelegate._invokeDlgt); + this._invokeCurrZone = zoneSpec && (zoneSpec.onInvoke ? this.zone : parentDelegate._invokeCurrZone); + this._handleErrorZS = zoneSpec && (zoneSpec.onHandleError ? zoneSpec : parentDelegate._handleErrorZS); + this._handleErrorDlgt = zoneSpec && (zoneSpec.onHandleError ? parentDelegate : parentDelegate._handleErrorDlgt); + this._handleErrorCurrZone = zoneSpec && (zoneSpec.onHandleError ? this.zone : parentDelegate._handleErrorCurrZone); + this._scheduleTaskZS = zoneSpec && (zoneSpec.onScheduleTask ? zoneSpec : parentDelegate._scheduleTaskZS); + this._scheduleTaskDlgt = zoneSpec && (zoneSpec.onScheduleTask ? parentDelegate : parentDelegate._scheduleTaskDlgt); + this._scheduleTaskCurrZone = zoneSpec && (zoneSpec.onScheduleTask ? this.zone : parentDelegate._scheduleTaskCurrZone); + this._invokeTaskZS = zoneSpec && (zoneSpec.onInvokeTask ? zoneSpec : parentDelegate._invokeTaskZS); + this._invokeTaskDlgt = zoneSpec && (zoneSpec.onInvokeTask ? parentDelegate : parentDelegate._invokeTaskDlgt); + this._invokeTaskCurrZone = zoneSpec && (zoneSpec.onInvokeTask ? this.zone : parentDelegate._invokeTaskCurrZone); + this._cancelTaskZS = zoneSpec && (zoneSpec.onCancelTask ? zoneSpec : parentDelegate._cancelTaskZS); + this._cancelTaskDlgt = zoneSpec && (zoneSpec.onCancelTask ? parentDelegate : parentDelegate._cancelTaskDlgt); + this._cancelTaskCurrZone = zoneSpec && (zoneSpec.onCancelTask ? this.zone : parentDelegate._cancelTaskCurrZone); + this._hasTaskZS = null; + this._hasTaskDlgt = null; + this._hasTaskDlgtOwner = null; + this._hasTaskCurrZone = null; + const zoneSpecHasTask = zoneSpec && zoneSpec.onHasTask; + const parentHasTask = parentDelegate && parentDelegate._hasTaskZS; + if (zoneSpecHasTask || parentHasTask) { + // If we need to report hasTask, than this ZS needs to do ref counting on tasks. In such + // a case all task related interceptors must go through this ZD. We can't short circuit it. + this._hasTaskZS = zoneSpecHasTask ? zoneSpec : DELEGATE_ZS; + this._hasTaskDlgt = parentDelegate; + this._hasTaskDlgtOwner = this; + this._hasTaskCurrZone = zone; + if (!zoneSpec.onScheduleTask) { + this._scheduleTaskZS = DELEGATE_ZS; + this._scheduleTaskDlgt = parentDelegate; + this._scheduleTaskCurrZone = this.zone; + } + if (!zoneSpec.onInvokeTask) { + this._invokeTaskZS = DELEGATE_ZS; + this._invokeTaskDlgt = parentDelegate; + this._invokeTaskCurrZone = this.zone; + } + if (!zoneSpec.onCancelTask) { + this._cancelTaskZS = DELEGATE_ZS; + this._cancelTaskDlgt = parentDelegate; + this._cancelTaskCurrZone = this.zone; + } + } + } + fork(targetZone, zoneSpec) { + return this._forkZS ? this._forkZS.onFork(this._forkDlgt, this.zone, targetZone, zoneSpec) : new Zone(targetZone, zoneSpec); + } + intercept(targetZone, callback, source) { + return this._interceptZS ? this._interceptZS.onIntercept(this._interceptDlgt, this._interceptCurrZone, targetZone, callback, source) : callback; + } + invoke(targetZone, callback, applyThis, applyArgs, source) { + return this._invokeZS ? this._invokeZS.onInvoke(this._invokeDlgt, this._invokeCurrZone, targetZone, callback, applyThis, applyArgs, source) : callback.apply(applyThis, applyArgs); + } + handleError(targetZone, error) { + return this._handleErrorZS ? this._handleErrorZS.onHandleError(this._handleErrorDlgt, this._handleErrorCurrZone, targetZone, error) : true; + } + scheduleTask(targetZone, task) { + let returnTask = task; + if (this._scheduleTaskZS) { + if (this._hasTaskZS) { + returnTask._zoneDelegates.push(this._hasTaskDlgtOwner); + } + // clang-format off + returnTask = this._scheduleTaskZS.onScheduleTask(this._scheduleTaskDlgt, this._scheduleTaskCurrZone, targetZone, task); + // clang-format on + if (!returnTask) returnTask = task; + } else { + if (task.scheduleFn) { + task.scheduleFn(task); + } else if (task.type == microTask) { + scheduleMicroTask(task); + } else { + throw new Error('Task is missing scheduleFn.'); + } + } + return returnTask; + } + invokeTask(targetZone, task, applyThis, applyArgs) { + return this._invokeTaskZS ? this._invokeTaskZS.onInvokeTask(this._invokeTaskDlgt, this._invokeTaskCurrZone, targetZone, task, applyThis, applyArgs) : task.callback.apply(applyThis, applyArgs); + } + cancelTask(targetZone, task) { + let value; + if (this._cancelTaskZS) { + value = this._cancelTaskZS.onCancelTask(this._cancelTaskDlgt, this._cancelTaskCurrZone, targetZone, task); + } else { + if (!task.cancelFn) { + throw Error('Task is not cancelable'); + } + value = task.cancelFn(task); + } + return value; + } + hasTask(targetZone, isEmpty) { + // hasTask should not throw error so other ZoneDelegate + // can still trigger hasTask callback + try { + this._hasTaskZS && this._hasTaskZS.onHasTask(this._hasTaskDlgt, this._hasTaskCurrZone, targetZone, isEmpty); + } catch (err) { + this.handleError(targetZone, err); + } + } + // tslint:disable-next-line:require-internal-with-underscore + _updateTaskCount(type, count) { + const counts = this._taskCounts; + const prev = counts[type]; + const next = counts[type] = prev + count; + if (next < 0) { + throw new Error('More tasks executed then were scheduled.'); + } + if (prev == 0 || next == 0) { + const isEmpty = { + microTask: counts['microTask'] > 0, + macroTask: counts['macroTask'] > 0, + eventTask: counts['eventTask'] > 0, + change: type + }; + this.hasTask(this.zone, isEmpty); + } + } + } + class ZoneTask { + constructor(type, source, callback, options, scheduleFn, cancelFn) { + // tslint:disable-next-line:require-internal-with-underscore + this._zone = null; + this.runCount = 0; + // tslint:disable-next-line:require-internal-with-underscore + this._zoneDelegates = null; + // tslint:disable-next-line:require-internal-with-underscore + this._state = 'notScheduled'; + this.type = type; + this.source = source; + this.data = options; + this.scheduleFn = scheduleFn; + this.cancelFn = cancelFn; + if (!callback) { + throw new Error('callback is not defined'); + } + this.callback = callback; + const self = this; + // TODO: @JiaLiPassion options should have interface + if (type === eventTask && options && options.useG) { + this.invoke = ZoneTask.invokeTask; + } else { + this.invoke = function () { + return ZoneTask.invokeTask.call(global, self, this, arguments); + }; + } + } + static invokeTask(task, target, args) { + if (!task) { + task = this; + } + _numberOfNestedTaskFrames++; + try { + task.runCount++; + return task.zone.runTask(task, target, args); + } finally { + if (_numberOfNestedTaskFrames == 1) { + drainMicroTaskQueue(); + } + _numberOfNestedTaskFrames--; + } + } + get zone() { + return this._zone; + } + get state() { + return this._state; + } + cancelScheduleRequest() { + this._transitionTo(notScheduled, scheduling); + } + // tslint:disable-next-line:require-internal-with-underscore + _transitionTo(toState, fromState1, fromState2) { + if (this._state === fromState1 || this._state === fromState2) { + this._state = toState; + if (toState == notScheduled) { + this._zoneDelegates = null; + } + } else { + throw new Error(`${this.type} '${this.source}': can not transition to '${toState}', expecting state '${fromState1}'${fromState2 ? ' or \'' + fromState2 + '\'' : ''}, was '${this._state}'.`); + } + } + toString() { + if (this.data && typeof this.data.handleId !== 'undefined') { + return this.data.handleId.toString(); + } else { + return Object.prototype.toString.call(this); + } + } + // add toJSON method to prevent cyclic error when + // call JSON.stringify(zoneTask) + toJSON() { + return { + type: this.type, + state: this.state, + source: this.source, + zone: this.zone.name, + runCount: this.runCount + }; + } + } + ////////////////////////////////////////////////////// + ////////////////////////////////////////////////////// + /// MICROTASK QUEUE + ////////////////////////////////////////////////////// + ////////////////////////////////////////////////////// + const symbolSetTimeout = __symbol__('setTimeout'); + const symbolPromise = __symbol__('Promise'); + const symbolThen = __symbol__('then'); + let _microTaskQueue = []; + let _isDrainingMicrotaskQueue = false; + let nativeMicroTaskQueuePromise; + function nativeScheduleMicroTask(func) { + if (!nativeMicroTaskQueuePromise) { + if (global[symbolPromise]) { + nativeMicroTaskQueuePromise = global[symbolPromise].resolve(0); + } + } + if (nativeMicroTaskQueuePromise) { + let nativeThen = nativeMicroTaskQueuePromise[symbolThen]; + if (!nativeThen) { + // native Promise is not patchable, we need to use `then` directly + // issue 1078 + nativeThen = nativeMicroTaskQueuePromise['then']; + } + nativeThen.call(nativeMicroTaskQueuePromise, func); + } else { + global[symbolSetTimeout](func, 0); + } + } + function scheduleMicroTask(task) { + // if we are not running in any task, and there has not been anything scheduled + // we must bootstrap the initial task creation by manually scheduling the drain + if (_numberOfNestedTaskFrames === 0 && _microTaskQueue.length === 0) { + // We are not running in Task, so we need to kickstart the microtask queue. + nativeScheduleMicroTask(drainMicroTaskQueue); + } + task && _microTaskQueue.push(task); + } + function drainMicroTaskQueue() { + if (!_isDrainingMicrotaskQueue) { + _isDrainingMicrotaskQueue = true; + while (_microTaskQueue.length) { + const queue = _microTaskQueue; + _microTaskQueue = []; + for (let i = 0; i < queue.length; i++) { + const task = queue[i]; + try { + task.zone.runTask(task, null, null); + } catch (error) { + _api.onUnhandledError(error); + } + } + } + _api.microtaskDrainDone(); + _isDrainingMicrotaskQueue = false; + } + } + ////////////////////////////////////////////////////// + ////////////////////////////////////////////////////// + /// BOOTSTRAP + ////////////////////////////////////////////////////// + ////////////////////////////////////////////////////// + const NO_ZONE = { + name: 'NO ZONE' + }; + const notScheduled = 'notScheduled', + scheduling = 'scheduling', + scheduled = 'scheduled', + running = 'running', + canceling = 'canceling', + unknown = 'unknown'; + const microTask = 'microTask', + macroTask = 'macroTask', + eventTask = 'eventTask'; + const patches = {}; + const _api = { + symbol: __symbol__, + currentZoneFrame: () => _currentZoneFrame, + onUnhandledError: noop, + microtaskDrainDone: noop, + scheduleMicroTask: scheduleMicroTask, + showUncaughtError: () => !Zone[__symbol__('ignoreConsoleErrorUncaughtError')], + patchEventTarget: () => [], + patchOnProperties: noop, + patchMethod: () => noop, + bindArguments: () => [], + patchThen: () => noop, + patchMacroTask: () => noop, + patchEventPrototype: () => noop, + isIEOrEdge: () => false, + getGlobalObjects: () => undefined, + ObjectDefineProperty: () => noop, + ObjectGetOwnPropertyDescriptor: () => undefined, + ObjectCreate: () => undefined, + ArraySlice: () => [], + patchClass: () => noop, + wrapWithCurrentZone: () => noop, + filterProperties: () => [], + attachOriginToPatched: () => noop, + _redefineProperty: () => noop, + patchCallbacks: () => noop, + nativeScheduleMicroTask: nativeScheduleMicroTask + }; + let _currentZoneFrame = { + parent: null, + zone: new Zone(null, null) + }; + let _currentTask = null; + let _numberOfNestedTaskFrames = 0; + function noop() {} + performanceMeasure('Zone', 'Zone'); + return global['Zone'] = Zone; +})(typeof window !== 'undefined' && window || typeof self !== 'undefined' && self || global); + +/** + * Suppress closure compiler errors about unknown 'Zone' variable + * @fileoverview + * @suppress {undefinedVars,globalThis,missingRequire} + */ +/// +// issue #989, to reduce bundle size, use short name +/** Object.getOwnPropertyDescriptor */ +const ObjectGetOwnPropertyDescriptor = Object.getOwnPropertyDescriptor; +/** Object.defineProperty */ +const ObjectDefineProperty = Object.defineProperty; +/** Object.getPrototypeOf */ +const ObjectGetPrototypeOf = Object.getPrototypeOf; +/** Object.create */ +const ObjectCreate = Object.create; +/** Array.prototype.slice */ +const ArraySlice = Array.prototype.slice; +/** addEventListener string const */ +const ADD_EVENT_LISTENER_STR = 'addEventListener'; +/** removeEventListener string const */ +const REMOVE_EVENT_LISTENER_STR = 'removeEventListener'; +/** zoneSymbol addEventListener */ +const ZONE_SYMBOL_ADD_EVENT_LISTENER = Zone.__symbol__(ADD_EVENT_LISTENER_STR); +/** zoneSymbol removeEventListener */ +const ZONE_SYMBOL_REMOVE_EVENT_LISTENER = Zone.__symbol__(REMOVE_EVENT_LISTENER_STR); +/** true string const */ +const TRUE_STR = 'true'; +/** false string const */ +const FALSE_STR = 'false'; +/** Zone symbol prefix string const. */ +const ZONE_SYMBOL_PREFIX = Zone.__symbol__(''); +function wrapWithCurrentZone(callback, source) { + return Zone.current.wrap(callback, source); +} +function scheduleMacroTaskWithCurrentZone(source, callback, data, customSchedule, customCancel) { + return Zone.current.scheduleMacroTask(source, callback, data, customSchedule, customCancel); +} +const zoneSymbol = Zone.__symbol__; +const isWindowExists = typeof window !== 'undefined'; +const internalWindow = isWindowExists ? window : undefined; +const _global = isWindowExists && internalWindow || typeof self === 'object' && self || global; +const REMOVE_ATTRIBUTE = 'removeAttribute'; +function bindArguments(args, source) { + for (let i = args.length - 1; i >= 0; i--) { + if (typeof args[i] === 'function') { + args[i] = wrapWithCurrentZone(args[i], source + '_' + i); + } + } + return args; +} +function patchPrototype(prototype, fnNames) { + const source = prototype.constructor['name']; + for (let i = 0; i < fnNames.length; i++) { + const name = fnNames[i]; + const delegate = prototype[name]; + if (delegate) { + const prototypeDesc = ObjectGetOwnPropertyDescriptor(prototype, name); + if (!isPropertyWritable(prototypeDesc)) { + continue; + } + prototype[name] = (delegate => { + const patched = function () { + return delegate.apply(this, bindArguments(arguments, source + '.' + name)); + }; + attachOriginToPatched(patched, delegate); + return patched; + })(delegate); + } + } +} +function isPropertyWritable(propertyDesc) { + if (!propertyDesc) { + return true; + } + if (propertyDesc.writable === false) { + return false; + } + return !(typeof propertyDesc.get === 'function' && typeof propertyDesc.set === 'undefined'); +} +const isWebWorker = typeof WorkerGlobalScope !== 'undefined' && self instanceof WorkerGlobalScope; +// Make sure to access `process` through `_global` so that WebPack does not accidentally browserify +// this code. +const isNode = !('nw' in _global) && typeof _global.process !== 'undefined' && {}.toString.call(_global.process) === '[object process]'; +const isBrowser = !isNode && !isWebWorker && !!(isWindowExists && internalWindow['HTMLElement']); +// we are in electron of nw, so we are both browser and nodejs +// Make sure to access `process` through `_global` so that WebPack does not accidentally browserify +// this code. +const isMix = typeof _global.process !== 'undefined' && {}.toString.call(_global.process) === '[object process]' && !isWebWorker && !!(isWindowExists && internalWindow['HTMLElement']); +const zoneSymbolEventNames$1 = {}; +const wrapFn = function (event) { + // https://github.com/angular/zone.js/issues/911, in IE, sometimes + // event will be undefined, so we need to use window.event + event = event || _global.event; + if (!event) { + return; + } + let eventNameSymbol = zoneSymbolEventNames$1[event.type]; + if (!eventNameSymbol) { + eventNameSymbol = zoneSymbolEventNames$1[event.type] = zoneSymbol('ON_PROPERTY' + event.type); + } + const target = this || event.target || _global; + const listener = target[eventNameSymbol]; + let result; + if (isBrowser && target === internalWindow && event.type === 'error') { + // window.onerror have different signature + // https://developer.mozilla.org/en-US/docs/Web/API/GlobalEventHandlers/onerror#window.onerror + // and onerror callback will prevent default when callback return true + const errorEvent = event; + result = listener && listener.call(this, errorEvent.message, errorEvent.filename, errorEvent.lineno, errorEvent.colno, errorEvent.error); + if (result === true) { + event.preventDefault(); + } + } else { + result = listener && listener.apply(this, arguments); + if (result != undefined && !result) { + event.preventDefault(); + } + } + return result; +}; +function patchProperty(obj, prop, prototype) { + let desc = ObjectGetOwnPropertyDescriptor(obj, prop); + if (!desc && prototype) { + // when patch window object, use prototype to check prop exist or not + const prototypeDesc = ObjectGetOwnPropertyDescriptor(prototype, prop); + if (prototypeDesc) { + desc = { + enumerable: true, + configurable: true + }; + } + } + // if the descriptor not exists or is not configurable + // just return + if (!desc || !desc.configurable) { + return; + } + const onPropPatchedSymbol = zoneSymbol('on' + prop + 'patched'); + if (obj.hasOwnProperty(onPropPatchedSymbol) && obj[onPropPatchedSymbol]) { + return; + } + // A property descriptor cannot have getter/setter and be writable + // deleting the writable and value properties avoids this error: + // + // TypeError: property descriptors must not specify a value or be writable when a + // getter or setter has been specified + delete desc.writable; + delete desc.value; + const originalDescGet = desc.get; + const originalDescSet = desc.set; + // slice(2) cuz 'onclick' -> 'click', etc + const eventName = prop.slice(2); + let eventNameSymbol = zoneSymbolEventNames$1[eventName]; + if (!eventNameSymbol) { + eventNameSymbol = zoneSymbolEventNames$1[eventName] = zoneSymbol('ON_PROPERTY' + eventName); + } + desc.set = function (newValue) { + // in some of windows's onproperty callback, this is undefined + // so we need to check it + let target = this; + if (!target && obj === _global) { + target = _global; + } + if (!target) { + return; + } + const previousValue = target[eventNameSymbol]; + if (typeof previousValue === 'function') { + target.removeEventListener(eventName, wrapFn); + } + // issue #978, when onload handler was added before loading zone.js + // we should remove it with originalDescSet + originalDescSet && originalDescSet.call(target, null); + target[eventNameSymbol] = newValue; + if (typeof newValue === 'function') { + target.addEventListener(eventName, wrapFn, false); + } + }; + // The getter would return undefined for unassigned properties but the default value of an + // unassigned property is null + desc.get = function () { + // in some of windows's onproperty callback, this is undefined + // so we need to check it + let target = this; + if (!target && obj === _global) { + target = _global; + } + if (!target) { + return null; + } + const listener = target[eventNameSymbol]; + if (listener) { + return listener; + } else if (originalDescGet) { + // result will be null when use inline event attribute, + // such as + // because the onclick function is internal raw uncompiled handler + // the onclick will be evaluated when first time event was triggered or + // the property is accessed, https://github.com/angular/zone.js/issues/525 + // so we should use original native get to retrieve the handler + let value = originalDescGet.call(this); + if (value) { + desc.set.call(this, value); + if (typeof target[REMOVE_ATTRIBUTE] === 'function') { + target.removeAttribute(prop); + } + return value; + } + } + return null; + }; + ObjectDefineProperty(obj, prop, desc); + obj[onPropPatchedSymbol] = true; +} +function patchOnProperties(obj, properties, prototype) { + if (properties) { + for (let i = 0; i < properties.length; i++) { + patchProperty(obj, 'on' + properties[i], prototype); + } + } else { + const onProperties = []; + for (const prop in obj) { + if (prop.slice(0, 2) == 'on') { + onProperties.push(prop); + } + } + for (let j = 0; j < onProperties.length; j++) { + patchProperty(obj, onProperties[j], prototype); + } + } +} +const originalInstanceKey = zoneSymbol('originalInstance'); +// wrap some native API on `window` +function patchClass(className) { + const OriginalClass = _global[className]; + if (!OriginalClass) return; + // keep original class in global + _global[zoneSymbol(className)] = OriginalClass; + _global[className] = function () { + const a = bindArguments(arguments, className); + switch (a.length) { + case 0: + this[originalInstanceKey] = new OriginalClass(); + break; + case 1: + this[originalInstanceKey] = new OriginalClass(a[0]); + break; + case 2: + this[originalInstanceKey] = new OriginalClass(a[0], a[1]); + break; + case 3: + this[originalInstanceKey] = new OriginalClass(a[0], a[1], a[2]); + break; + case 4: + this[originalInstanceKey] = new OriginalClass(a[0], a[1], a[2], a[3]); + break; + default: + throw new Error('Arg list too long.'); + } + }; + // attach original delegate to patched function + attachOriginToPatched(_global[className], OriginalClass); + const instance = new OriginalClass(function () {}); + let prop; + for (prop in instance) { + // https://bugs.webkit.org/show_bug.cgi?id=44721 + if (className === 'XMLHttpRequest' && prop === 'responseBlob') continue; + (function (prop) { + if (typeof instance[prop] === 'function') { + _global[className].prototype[prop] = function () { + return this[originalInstanceKey][prop].apply(this[originalInstanceKey], arguments); + }; + } else { + ObjectDefineProperty(_global[className].prototype, prop, { + set: function (fn) { + if (typeof fn === 'function') { + this[originalInstanceKey][prop] = wrapWithCurrentZone(fn, className + '.' + prop); + // keep callback in wrapped function so we can + // use it in Function.prototype.toString to return + // the native one. + attachOriginToPatched(this[originalInstanceKey][prop], fn); + } else { + this[originalInstanceKey][prop] = fn; + } + }, + get: function () { + return this[originalInstanceKey][prop]; + } + }); + } + })(prop); + } + for (prop in OriginalClass) { + if (prop !== 'prototype' && OriginalClass.hasOwnProperty(prop)) { + _global[className][prop] = OriginalClass[prop]; + } + } +} +function patchMethod(target, name, patchFn) { + let proto = target; + while (proto && !proto.hasOwnProperty(name)) { + proto = ObjectGetPrototypeOf(proto); + } + if (!proto && target[name]) { + // somehow we did not find it, but we can see it. This happens on IE for Window properties. + proto = target; + } + const delegateName = zoneSymbol(name); + let delegate = null; + if (proto && (!(delegate = proto[delegateName]) || !proto.hasOwnProperty(delegateName))) { + delegate = proto[delegateName] = proto[name]; + // check whether proto[name] is writable + // some property is readonly in safari, such as HtmlCanvasElement.prototype.toBlob + const desc = proto && ObjectGetOwnPropertyDescriptor(proto, name); + if (isPropertyWritable(desc)) { + const patchDelegate = patchFn(delegate, delegateName, name); + proto[name] = function () { + return patchDelegate(this, arguments); + }; + attachOriginToPatched(proto[name], delegate); + } + } + return delegate; +} +// TODO: @JiaLiPassion, support cancel task later if necessary +function patchMacroTask(obj, funcName, metaCreator) { + let setNative = null; + function scheduleTask(task) { + const data = task.data; + data.args[data.cbIdx] = function () { + task.invoke.apply(this, arguments); + }; + setNative.apply(data.target, data.args); + return task; + } + setNative = patchMethod(obj, funcName, delegate => function (self, args) { + const meta = metaCreator(self, args); + if (meta.cbIdx >= 0 && typeof args[meta.cbIdx] === 'function') { + return scheduleMacroTaskWithCurrentZone(meta.name, args[meta.cbIdx], meta, scheduleTask); + } else { + // cause an error by calling it directly. + return delegate.apply(self, args); + } + }); +} +function attachOriginToPatched(patched, original) { + patched[zoneSymbol('OriginalDelegate')] = original; +} +let isDetectedIEOrEdge = false; +let ieOrEdge = false; +function isIE() { + try { + const ua = internalWindow.navigator.userAgent; + if (ua.indexOf('MSIE ') !== -1 || ua.indexOf('Trident/') !== -1) { + return true; + } + } catch (error) {} + return false; +} +function isIEOrEdge() { + if (isDetectedIEOrEdge) { + return ieOrEdge; + } + isDetectedIEOrEdge = true; + try { + const ua = internalWindow.navigator.userAgent; + if (ua.indexOf('MSIE ') !== -1 || ua.indexOf('Trident/') !== -1 || ua.indexOf('Edge/') !== -1) { + ieOrEdge = true; + } + } catch (error) {} + return ieOrEdge; +} +Zone.__load_patch('ZoneAwarePromise', (global, Zone, api) => { + const ObjectGetOwnPropertyDescriptor = Object.getOwnPropertyDescriptor; + const ObjectDefineProperty = Object.defineProperty; + function readableObjectToString(obj) { + if (obj && obj.toString === Object.prototype.toString) { + const className = obj.constructor && obj.constructor.name; + return (className ? className : '') + ': ' + JSON.stringify(obj); + } + return obj ? obj.toString() : Object.prototype.toString.call(obj); + } + const __symbol__ = api.symbol; + const _uncaughtPromiseErrors = []; + const isDisableWrappingUncaughtPromiseRejection = global[__symbol__('DISABLE_WRAPPING_UNCAUGHT_PROMISE_REJECTION')] === true; + const symbolPromise = __symbol__('Promise'); + const symbolThen = __symbol__('then'); + const creationTrace = '__creationTrace__'; + api.onUnhandledError = e => { + if (api.showUncaughtError()) { + const rejection = e && e.rejection; + if (rejection) { + console.error('Unhandled Promise rejection:', rejection instanceof Error ? rejection.message : rejection, '; Zone:', e.zone.name, '; Task:', e.task && e.task.source, '; Value:', rejection, rejection instanceof Error ? rejection.stack : undefined); + } else { + console.error(e); + } + } + }; + api.microtaskDrainDone = () => { + while (_uncaughtPromiseErrors.length) { + const uncaughtPromiseError = _uncaughtPromiseErrors.shift(); + try { + uncaughtPromiseError.zone.runGuarded(() => { + if (uncaughtPromiseError.throwOriginal) { + throw uncaughtPromiseError.rejection; + } + throw uncaughtPromiseError; + }); + } catch (error) { + handleUnhandledRejection(error); + } + } + }; + const UNHANDLED_PROMISE_REJECTION_HANDLER_SYMBOL = __symbol__('unhandledPromiseRejectionHandler'); + function handleUnhandledRejection(e) { + api.onUnhandledError(e); + try { + const handler = Zone[UNHANDLED_PROMISE_REJECTION_HANDLER_SYMBOL]; + if (typeof handler === 'function') { + handler.call(this, e); + } + } catch (err) {} + } + function isThenable(value) { + return value && value.then; + } + function forwardResolution(value) { + return value; + } + function forwardRejection(rejection) { + return ZoneAwarePromise.reject(rejection); + } + const symbolState = __symbol__('state'); + const symbolValue = __symbol__('value'); + const symbolFinally = __symbol__('finally'); + const symbolParentPromiseValue = __symbol__('parentPromiseValue'); + const symbolParentPromiseState = __symbol__('parentPromiseState'); + const source = 'Promise.then'; + const UNRESOLVED = null; + const RESOLVED = true; + const REJECTED = false; + const REJECTED_NO_CATCH = 0; + function makeResolver(promise, state) { + return v => { + try { + resolvePromise(promise, state, v); + } catch (err) { + resolvePromise(promise, false, err); + } + // Do not return value or you will break the Promise spec. + }; + } + + const once = function () { + let wasCalled = false; + return function wrapper(wrappedFunction) { + return function () { + if (wasCalled) { + return; + } + wasCalled = true; + wrappedFunction.apply(null, arguments); + }; + }; + }; + const TYPE_ERROR = 'Promise resolved with itself'; + const CURRENT_TASK_TRACE_SYMBOL = __symbol__('currentTaskTrace'); + // Promise Resolution + function resolvePromise(promise, state, value) { + const onceWrapper = once(); + if (promise === value) { + throw new TypeError(TYPE_ERROR); + } + if (promise[symbolState] === UNRESOLVED) { + // should only get value.then once based on promise spec. + let then = null; + try { + if (typeof value === 'object' || typeof value === 'function') { + then = value && value.then; + } + } catch (err) { + onceWrapper(() => { + resolvePromise(promise, false, err); + })(); + return promise; + } + // if (value instanceof ZoneAwarePromise) { + if (state !== REJECTED && value instanceof ZoneAwarePromise && value.hasOwnProperty(symbolState) && value.hasOwnProperty(symbolValue) && value[symbolState] !== UNRESOLVED) { + clearRejectedNoCatch(value); + resolvePromise(promise, value[symbolState], value[symbolValue]); + } else if (state !== REJECTED && typeof then === 'function') { + try { + then.call(value, onceWrapper(makeResolver(promise, state)), onceWrapper(makeResolver(promise, false))); + } catch (err) { + onceWrapper(() => { + resolvePromise(promise, false, err); + })(); + } + } else { + promise[symbolState] = state; + const queue = promise[symbolValue]; + promise[symbolValue] = value; + if (promise[symbolFinally] === symbolFinally) { + // the promise is generated by Promise.prototype.finally + if (state === RESOLVED) { + // the state is resolved, should ignore the value + // and use parent promise value + promise[symbolState] = promise[symbolParentPromiseState]; + promise[symbolValue] = promise[symbolParentPromiseValue]; + } + } + // record task information in value when error occurs, so we can + // do some additional work such as render longStackTrace + if (state === REJECTED && value instanceof Error) { + // check if longStackTraceZone is here + const trace = Zone.currentTask && Zone.currentTask.data && Zone.currentTask.data[creationTrace]; + if (trace) { + // only keep the long stack trace into error when in longStackTraceZone + ObjectDefineProperty(value, CURRENT_TASK_TRACE_SYMBOL, { + configurable: true, + enumerable: false, + writable: true, + value: trace + }); + } + } + for (let i = 0; i < queue.length;) { + scheduleResolveOrReject(promise, queue[i++], queue[i++], queue[i++], queue[i++]); + } + if (queue.length == 0 && state == REJECTED) { + promise[symbolState] = REJECTED_NO_CATCH; + let uncaughtPromiseError = value; + try { + // Here we throws a new Error to print more readable error log + // and if the value is not an error, zone.js builds an `Error` + // Object here to attach the stack information. + throw new Error('Uncaught (in promise): ' + readableObjectToString(value) + (value && value.stack ? '\n' + value.stack : '')); + } catch (err) { + uncaughtPromiseError = err; + } + if (isDisableWrappingUncaughtPromiseRejection) { + // If disable wrapping uncaught promise reject + // use the value instead of wrapping it. + uncaughtPromiseError.throwOriginal = true; + } + uncaughtPromiseError.rejection = value; + uncaughtPromiseError.promise = promise; + uncaughtPromiseError.zone = Zone.current; + uncaughtPromiseError.task = Zone.currentTask; + _uncaughtPromiseErrors.push(uncaughtPromiseError); + api.scheduleMicroTask(); // to make sure that it is running + } + } + } + // Resolving an already resolved promise is a noop. + return promise; + } + const REJECTION_HANDLED_HANDLER = __symbol__('rejectionHandledHandler'); + function clearRejectedNoCatch(promise) { + if (promise[symbolState] === REJECTED_NO_CATCH) { + // if the promise is rejected no catch status + // and queue.length > 0, means there is a error handler + // here to handle the rejected promise, we should trigger + // windows.rejectionhandled eventHandler or nodejs rejectionHandled + // eventHandler + try { + const handler = Zone[REJECTION_HANDLED_HANDLER]; + if (handler && typeof handler === 'function') { + handler.call(this, { + rejection: promise[symbolValue], + promise: promise + }); + } + } catch (err) {} + promise[symbolState] = REJECTED; + for (let i = 0; i < _uncaughtPromiseErrors.length; i++) { + if (promise === _uncaughtPromiseErrors[i].promise) { + _uncaughtPromiseErrors.splice(i, 1); + } + } + } + } + function scheduleResolveOrReject(promise, zone, chainPromise, onFulfilled, onRejected) { + clearRejectedNoCatch(promise); + const promiseState = promise[symbolState]; + const delegate = promiseState ? typeof onFulfilled === 'function' ? onFulfilled : forwardResolution : typeof onRejected === 'function' ? onRejected : forwardRejection; + zone.scheduleMicroTask(source, () => { + try { + const parentPromiseValue = promise[symbolValue]; + const isFinallyPromise = !!chainPromise && symbolFinally === chainPromise[symbolFinally]; + if (isFinallyPromise) { + // if the promise is generated from finally call, keep parent promise's state and value + chainPromise[symbolParentPromiseValue] = parentPromiseValue; + chainPromise[symbolParentPromiseState] = promiseState; + } + // should not pass value to finally callback + const value = zone.run(delegate, undefined, isFinallyPromise && delegate !== forwardRejection && delegate !== forwardResolution ? [] : [parentPromiseValue]); + resolvePromise(chainPromise, true, value); + } catch (error) { + // if error occurs, should always return this error + resolvePromise(chainPromise, false, error); + } + }, chainPromise); + } + const ZONE_AWARE_PROMISE_TO_STRING = 'function ZoneAwarePromise() { [native code] }'; + const noop = function () {}; + const AggregateError = global.AggregateError; + class ZoneAwarePromise { + static toString() { + return ZONE_AWARE_PROMISE_TO_STRING; + } + static resolve(value) { + return resolvePromise(new this(null), RESOLVED, value); + } + static reject(error) { + return resolvePromise(new this(null), REJECTED, error); + } + static any(values) { + if (!values || typeof values[Symbol.iterator] !== 'function') { + return Promise.reject(new AggregateError([], 'All promises were rejected')); + } + const promises = []; + let count = 0; + try { + for (let v of values) { + count++; + promises.push(ZoneAwarePromise.resolve(v)); + } + } catch (err) { + return Promise.reject(new AggregateError([], 'All promises were rejected')); + } + if (count === 0) { + return Promise.reject(new AggregateError([], 'All promises were rejected')); + } + let finished = false; + const errors = []; + return new ZoneAwarePromise((resolve, reject) => { + for (let i = 0; i < promises.length; i++) { + promises[i].then(v => { + if (finished) { + return; + } + finished = true; + resolve(v); + }, err => { + errors.push(err); + count--; + if (count === 0) { + finished = true; + reject(new AggregateError(errors, 'All promises were rejected')); + } + }); + } + }); + } + static race(values) { + let resolve; + let reject; + let promise = new this((res, rej) => { + resolve = res; + reject = rej; + }); + function onResolve(value) { + resolve(value); + } + function onReject(error) { + reject(error); + } + for (let value of values) { + if (!isThenable(value)) { + value = this.resolve(value); + } + value.then(onResolve, onReject); + } + return promise; + } + static all(values) { + return ZoneAwarePromise.allWithCallback(values); + } + static allSettled(values) { + const P = this && this.prototype instanceof ZoneAwarePromise ? this : ZoneAwarePromise; + return P.allWithCallback(values, { + thenCallback: value => ({ + status: 'fulfilled', + value + }), + errorCallback: err => ({ + status: 'rejected', + reason: err + }) + }); + } + static allWithCallback(values, callback) { + let resolve; + let reject; + let promise = new this((res, rej) => { + resolve = res; + reject = rej; + }); + // Start at 2 to prevent prematurely resolving if .then is called immediately. + let unresolvedCount = 2; + let valueIndex = 0; + const resolvedValues = []; + for (let value of values) { + if (!isThenable(value)) { + value = this.resolve(value); + } + const curValueIndex = valueIndex; + try { + value.then(value => { + resolvedValues[curValueIndex] = callback ? callback.thenCallback(value) : value; + unresolvedCount--; + if (unresolvedCount === 0) { + resolve(resolvedValues); + } + }, err => { + if (!callback) { + reject(err); + } else { + resolvedValues[curValueIndex] = callback.errorCallback(err); + unresolvedCount--; + if (unresolvedCount === 0) { + resolve(resolvedValues); + } + } + }); + } catch (thenErr) { + reject(thenErr); + } + unresolvedCount++; + valueIndex++; + } + // Make the unresolvedCount zero-based again. + unresolvedCount -= 2; + if (unresolvedCount === 0) { + resolve(resolvedValues); + } + return promise; + } + constructor(executor) { + const promise = this; + if (!(promise instanceof ZoneAwarePromise)) { + throw new Error('Must be an instanceof Promise.'); + } + promise[symbolState] = UNRESOLVED; + promise[symbolValue] = []; // queue; + try { + const onceWrapper = once(); + executor && executor(onceWrapper(makeResolver(promise, RESOLVED)), onceWrapper(makeResolver(promise, REJECTED))); + } catch (error) { + resolvePromise(promise, false, error); + } + } + get [Symbol.toStringTag]() { + return 'Promise'; + } + get [Symbol.species]() { + return ZoneAwarePromise; + } + then(onFulfilled, onRejected) { + // We must read `Symbol.species` safely because `this` may be anything. For instance, `this` + // may be an object without a prototype (created through `Object.create(null)`); thus + // `this.constructor` will be undefined. One of the use cases is SystemJS creating + // prototype-less objects (modules) via `Object.create(null)`. The SystemJS creates an empty + // object and copies promise properties into that object (within the `getOrCreateLoad` + // function). The zone.js then checks if the resolved value has the `then` method and invokes + // it with the `value` context. Otherwise, this will throw an error: `TypeError: Cannot read + // properties of undefined (reading 'Symbol(Symbol.species)')`. + let C = this.constructor?.[Symbol.species]; + if (!C || typeof C !== 'function') { + C = this.constructor || ZoneAwarePromise; + } + const chainPromise = new C(noop); + const zone = Zone.current; + if (this[symbolState] == UNRESOLVED) { + this[symbolValue].push(zone, chainPromise, onFulfilled, onRejected); + } else { + scheduleResolveOrReject(this, zone, chainPromise, onFulfilled, onRejected); + } + return chainPromise; + } + catch(onRejected) { + return this.then(null, onRejected); + } + finally(onFinally) { + // See comment on the call to `then` about why thee `Symbol.species` is safely accessed. + let C = this.constructor?.[Symbol.species]; + if (!C || typeof C !== 'function') { + C = ZoneAwarePromise; + } + const chainPromise = new C(noop); + chainPromise[symbolFinally] = symbolFinally; + const zone = Zone.current; + if (this[symbolState] == UNRESOLVED) { + this[symbolValue].push(zone, chainPromise, onFinally, onFinally); + } else { + scheduleResolveOrReject(this, zone, chainPromise, onFinally, onFinally); + } + return chainPromise; + } + } + // Protect against aggressive optimizers dropping seemingly unused properties. + // E.g. Closure Compiler in advanced mode. + ZoneAwarePromise['resolve'] = ZoneAwarePromise.resolve; + ZoneAwarePromise['reject'] = ZoneAwarePromise.reject; + ZoneAwarePromise['race'] = ZoneAwarePromise.race; + ZoneAwarePromise['all'] = ZoneAwarePromise.all; + const NativePromise = global[symbolPromise] = global['Promise']; + global['Promise'] = ZoneAwarePromise; + const symbolThenPatched = __symbol__('thenPatched'); + function patchThen(Ctor) { + const proto = Ctor.prototype; + const prop = ObjectGetOwnPropertyDescriptor(proto, 'then'); + if (prop && (prop.writable === false || !prop.configurable)) { + // check Ctor.prototype.then propertyDescriptor is writable or not + // in meteor env, writable is false, we should ignore such case + return; + } + const originalThen = proto.then; + // Keep a reference to the original method. + proto[symbolThen] = originalThen; + Ctor.prototype.then = function (onResolve, onReject) { + const wrapped = new ZoneAwarePromise((resolve, reject) => { + originalThen.call(this, resolve, reject); + }); + return wrapped.then(onResolve, onReject); + }; + Ctor[symbolThenPatched] = true; + } + api.patchThen = patchThen; + function zoneify(fn) { + return function (self, args) { + let resultPromise = fn.apply(self, args); + if (resultPromise instanceof ZoneAwarePromise) { + return resultPromise; + } + let ctor = resultPromise.constructor; + if (!ctor[symbolThenPatched]) { + patchThen(ctor); + } + return resultPromise; + }; + } + if (NativePromise) { + patchThen(NativePromise); + patchMethod(global, 'fetch', delegate => zoneify(delegate)); + } + // This is not part of public API, but it is useful for tests, so we expose it. + Promise[Zone.__symbol__('uncaughtPromiseErrors')] = _uncaughtPromiseErrors; + return ZoneAwarePromise; +}); + +// override Function.prototype.toString to make zone.js patched function +// look like native function +Zone.__load_patch('toString', global => { + // patch Func.prototype.toString to let them look like native + const originalFunctionToString = Function.prototype.toString; + const ORIGINAL_DELEGATE_SYMBOL = zoneSymbol('OriginalDelegate'); + const PROMISE_SYMBOL = zoneSymbol('Promise'); + const ERROR_SYMBOL = zoneSymbol('Error'); + const newFunctionToString = function toString() { + if (typeof this === 'function') { + const originalDelegate = this[ORIGINAL_DELEGATE_SYMBOL]; + if (originalDelegate) { + if (typeof originalDelegate === 'function') { + return originalFunctionToString.call(originalDelegate); + } else { + return Object.prototype.toString.call(originalDelegate); + } + } + if (this === Promise) { + const nativePromise = global[PROMISE_SYMBOL]; + if (nativePromise) { + return originalFunctionToString.call(nativePromise); + } + } + if (this === Error) { + const nativeError = global[ERROR_SYMBOL]; + if (nativeError) { + return originalFunctionToString.call(nativeError); + } + } + } + return originalFunctionToString.call(this); + }; + newFunctionToString[ORIGINAL_DELEGATE_SYMBOL] = originalFunctionToString; + Function.prototype.toString = newFunctionToString; + // patch Object.prototype.toString to let them look like native + const originalObjectToString = Object.prototype.toString; + const PROMISE_OBJECT_TO_STRING = '[object Promise]'; + Object.prototype.toString = function () { + if (typeof Promise === 'function' && this instanceof Promise) { + return PROMISE_OBJECT_TO_STRING; + } + return originalObjectToString.call(this); + }; +}); + +/** + * @fileoverview + * @suppress {missingRequire} + */ +let passiveSupported = false; +if (typeof window !== 'undefined') { + try { + const options = Object.defineProperty({}, 'passive', { + get: function () { + passiveSupported = true; + } + }); + // Note: We pass the `options` object as the event handler too. This is not compatible with the + // signature of `addEventListener` or `removeEventListener` but enables us to remove the handler + // without an actual handler. + window.addEventListener('test', options, options); + window.removeEventListener('test', options, options); + } catch (err) { + passiveSupported = false; + } +} +// an identifier to tell ZoneTask do not create a new invoke closure +const OPTIMIZED_ZONE_EVENT_TASK_DATA = { + useG: true +}; +const zoneSymbolEventNames = {}; +const globalSources = {}; +const EVENT_NAME_SYMBOL_REGX = new RegExp('^' + ZONE_SYMBOL_PREFIX + '(\\w+)(true|false)$'); +const IMMEDIATE_PROPAGATION_SYMBOL = zoneSymbol('propagationStopped'); +function prepareEventNames(eventName, eventNameToString) { + const falseEventName = (eventNameToString ? eventNameToString(eventName) : eventName) + FALSE_STR; + const trueEventName = (eventNameToString ? eventNameToString(eventName) : eventName) + TRUE_STR; + const symbol = ZONE_SYMBOL_PREFIX + falseEventName; + const symbolCapture = ZONE_SYMBOL_PREFIX + trueEventName; + zoneSymbolEventNames[eventName] = {}; + zoneSymbolEventNames[eventName][FALSE_STR] = symbol; + zoneSymbolEventNames[eventName][TRUE_STR] = symbolCapture; +} +function patchEventTarget(_global, api, apis, patchOptions) { + const ADD_EVENT_LISTENER = patchOptions && patchOptions.add || ADD_EVENT_LISTENER_STR; + const REMOVE_EVENT_LISTENER = patchOptions && patchOptions.rm || REMOVE_EVENT_LISTENER_STR; + const LISTENERS_EVENT_LISTENER = patchOptions && patchOptions.listeners || 'eventListeners'; + const REMOVE_ALL_LISTENERS_EVENT_LISTENER = patchOptions && patchOptions.rmAll || 'removeAllListeners'; + const zoneSymbolAddEventListener = zoneSymbol(ADD_EVENT_LISTENER); + const ADD_EVENT_LISTENER_SOURCE = '.' + ADD_EVENT_LISTENER + ':'; + const PREPEND_EVENT_LISTENER = 'prependListener'; + const PREPEND_EVENT_LISTENER_SOURCE = '.' + PREPEND_EVENT_LISTENER + ':'; + const invokeTask = function (task, target, event) { + // for better performance, check isRemoved which is set + // by removeEventListener + if (task.isRemoved) { + return; + } + const delegate = task.callback; + if (typeof delegate === 'object' && delegate.handleEvent) { + // create the bind version of handleEvent when invoke + task.callback = event => delegate.handleEvent(event); + task.originalDelegate = delegate; + } + // invoke static task.invoke + // need to try/catch error here, otherwise, the error in one event listener + // will break the executions of the other event listeners. Also error will + // not remove the event listener when `once` options is true. + let error; + try { + task.invoke(task, target, [event]); + } catch (err) { + error = err; + } + const options = task.options; + if (options && typeof options === 'object' && options.once) { + // if options.once is true, after invoke once remove listener here + // only browser need to do this, nodejs eventEmitter will cal removeListener + // inside EventEmitter.once + const delegate = task.originalDelegate ? task.originalDelegate : task.callback; + target[REMOVE_EVENT_LISTENER].call(target, event.type, delegate, options); + } + return error; + }; + function globalCallback(context, event, isCapture) { + // https://github.com/angular/zone.js/issues/911, in IE, sometimes + // event will be undefined, so we need to use window.event + event = event || _global.event; + if (!event) { + return; + } + // event.target is needed for Samsung TV and SourceBuffer + // || global is needed https://github.com/angular/zone.js/issues/190 + const target = context || event.target || _global; + const tasks = target[zoneSymbolEventNames[event.type][isCapture ? TRUE_STR : FALSE_STR]]; + if (tasks) { + const errors = []; + // invoke all tasks which attached to current target with given event.type and capture = false + // for performance concern, if task.length === 1, just invoke + if (tasks.length === 1) { + const err = invokeTask(tasks[0], target, event); + err && errors.push(err); + } else { + // https://github.com/angular/zone.js/issues/836 + // copy the tasks array before invoke, to avoid + // the callback will remove itself or other listener + const copyTasks = tasks.slice(); + for (let i = 0; i < copyTasks.length; i++) { + if (event && event[IMMEDIATE_PROPAGATION_SYMBOL] === true) { + break; + } + const err = invokeTask(copyTasks[i], target, event); + err && errors.push(err); + } + } + // Since there is only one error, we don't need to schedule microTask + // to throw the error. + if (errors.length === 1) { + throw errors[0]; + } else { + for (let i = 0; i < errors.length; i++) { + const err = errors[i]; + api.nativeScheduleMicroTask(() => { + throw err; + }); + } + } + } + } + // global shared zoneAwareCallback to handle all event callback with capture = false + const globalZoneAwareCallback = function (event) { + return globalCallback(this, event, false); + }; + // global shared zoneAwareCallback to handle all event callback with capture = true + const globalZoneAwareCaptureCallback = function (event) { + return globalCallback(this, event, true); + }; + function patchEventTargetMethods(obj, patchOptions) { + if (!obj) { + return false; + } + let useGlobalCallback = true; + if (patchOptions && patchOptions.useG !== undefined) { + useGlobalCallback = patchOptions.useG; + } + const validateHandler = patchOptions && patchOptions.vh; + let checkDuplicate = true; + if (patchOptions && patchOptions.chkDup !== undefined) { + checkDuplicate = patchOptions.chkDup; + } + let returnTarget = false; + if (patchOptions && patchOptions.rt !== undefined) { + returnTarget = patchOptions.rt; + } + let proto = obj; + while (proto && !proto.hasOwnProperty(ADD_EVENT_LISTENER)) { + proto = ObjectGetPrototypeOf(proto); + } + if (!proto && obj[ADD_EVENT_LISTENER]) { + // somehow we did not find it, but we can see it. This happens on IE for Window properties. + proto = obj; + } + if (!proto) { + return false; + } + if (proto[zoneSymbolAddEventListener]) { + return false; + } + const eventNameToString = patchOptions && patchOptions.eventNameToString; + // a shared global taskData to pass data for scheduleEventTask + // so we do not need to create a new object just for pass some data + const taskData = {}; + const nativeAddEventListener = proto[zoneSymbolAddEventListener] = proto[ADD_EVENT_LISTENER]; + const nativeRemoveEventListener = proto[zoneSymbol(REMOVE_EVENT_LISTENER)] = proto[REMOVE_EVENT_LISTENER]; + const nativeListeners = proto[zoneSymbol(LISTENERS_EVENT_LISTENER)] = proto[LISTENERS_EVENT_LISTENER]; + const nativeRemoveAllListeners = proto[zoneSymbol(REMOVE_ALL_LISTENERS_EVENT_LISTENER)] = proto[REMOVE_ALL_LISTENERS_EVENT_LISTENER]; + let nativePrependEventListener; + if (patchOptions && patchOptions.prepend) { + nativePrependEventListener = proto[zoneSymbol(patchOptions.prepend)] = proto[patchOptions.prepend]; + } + /** + * This util function will build an option object with passive option + * to handle all possible input from the user. + */ + function buildEventListenerOptions(options, passive) { + if (!passiveSupported && typeof options === 'object' && options) { + // doesn't support passive but user want to pass an object as options. + // this will not work on some old browser, so we just pass a boolean + // as useCapture parameter + return !!options.capture; + } + if (!passiveSupported || !passive) { + return options; + } + if (typeof options === 'boolean') { + return { + capture: options, + passive: true + }; + } + if (!options) { + return { + passive: true + }; + } + if (typeof options === 'object' && options.passive !== false) { + return { + ...options, + passive: true + }; + } + return options; + } + const customScheduleGlobal = function (task) { + // if there is already a task for the eventName + capture, + // just return, because we use the shared globalZoneAwareCallback here. + if (taskData.isExisting) { + return; + } + return nativeAddEventListener.call(taskData.target, taskData.eventName, taskData.capture ? globalZoneAwareCaptureCallback : globalZoneAwareCallback, taskData.options); + }; + const customCancelGlobal = function (task) { + // if task is not marked as isRemoved, this call is directly + // from Zone.prototype.cancelTask, we should remove the task + // from tasksList of target first + if (!task.isRemoved) { + const symbolEventNames = zoneSymbolEventNames[task.eventName]; + let symbolEventName; + if (symbolEventNames) { + symbolEventName = symbolEventNames[task.capture ? TRUE_STR : FALSE_STR]; + } + const existingTasks = symbolEventName && task.target[symbolEventName]; + if (existingTasks) { + for (let i = 0; i < existingTasks.length; i++) { + const existingTask = existingTasks[i]; + if (existingTask === task) { + existingTasks.splice(i, 1); + // set isRemoved to data for faster invokeTask check + task.isRemoved = true; + if (existingTasks.length === 0) { + // all tasks for the eventName + capture have gone, + // remove globalZoneAwareCallback and remove the task cache from target + task.allRemoved = true; + task.target[symbolEventName] = null; + } + break; + } + } + } + } + // if all tasks for the eventName + capture have gone, + // we will really remove the global event callback, + // if not, return + if (!task.allRemoved) { + return; + } + return nativeRemoveEventListener.call(task.target, task.eventName, task.capture ? globalZoneAwareCaptureCallback : globalZoneAwareCallback, task.options); + }; + const customScheduleNonGlobal = function (task) { + return nativeAddEventListener.call(taskData.target, taskData.eventName, task.invoke, taskData.options); + }; + const customSchedulePrepend = function (task) { + return nativePrependEventListener.call(taskData.target, taskData.eventName, task.invoke, taskData.options); + }; + const customCancelNonGlobal = function (task) { + return nativeRemoveEventListener.call(task.target, task.eventName, task.invoke, task.options); + }; + const customSchedule = useGlobalCallback ? customScheduleGlobal : customScheduleNonGlobal; + const customCancel = useGlobalCallback ? customCancelGlobal : customCancelNonGlobal; + const compareTaskCallbackVsDelegate = function (task, delegate) { + const typeOfDelegate = typeof delegate; + return typeOfDelegate === 'function' && task.callback === delegate || typeOfDelegate === 'object' && task.originalDelegate === delegate; + }; + const compare = patchOptions && patchOptions.diff ? patchOptions.diff : compareTaskCallbackVsDelegate; + const unpatchedEvents = Zone[zoneSymbol('UNPATCHED_EVENTS')]; + const passiveEvents = _global[zoneSymbol('PASSIVE_EVENTS')]; + const makeAddListener = function (nativeListener, addSource, customScheduleFn, customCancelFn, returnTarget = false, prepend = false) { + return function () { + const target = this || _global; + let eventName = arguments[0]; + if (patchOptions && patchOptions.transferEventName) { + eventName = patchOptions.transferEventName(eventName); + } + let delegate = arguments[1]; + if (!delegate) { + return nativeListener.apply(this, arguments); + } + if (isNode && eventName === 'uncaughtException') { + // don't patch uncaughtException of nodejs to prevent endless loop + return nativeListener.apply(this, arguments); + } + // don't create the bind delegate function for handleEvent + // case here to improve addEventListener performance + // we will create the bind delegate when invoke + let isHandleEvent = false; + if (typeof delegate !== 'function') { + if (!delegate.handleEvent) { + return nativeListener.apply(this, arguments); + } + isHandleEvent = true; + } + if (validateHandler && !validateHandler(nativeListener, delegate, target, arguments)) { + return; + } + const passive = passiveSupported && !!passiveEvents && passiveEvents.indexOf(eventName) !== -1; + const options = buildEventListenerOptions(arguments[2], passive); + if (unpatchedEvents) { + // check unpatched list + for (let i = 0; i < unpatchedEvents.length; i++) { + if (eventName === unpatchedEvents[i]) { + if (passive) { + return nativeListener.call(target, eventName, delegate, options); + } else { + return nativeListener.apply(this, arguments); + } + } + } + } + const capture = !options ? false : typeof options === 'boolean' ? true : options.capture; + const once = options && typeof options === 'object' ? options.once : false; + const zone = Zone.current; + let symbolEventNames = zoneSymbolEventNames[eventName]; + if (!symbolEventNames) { + prepareEventNames(eventName, eventNameToString); + symbolEventNames = zoneSymbolEventNames[eventName]; + } + const symbolEventName = symbolEventNames[capture ? TRUE_STR : FALSE_STR]; + let existingTasks = target[symbolEventName]; + let isExisting = false; + if (existingTasks) { + // already have task registered + isExisting = true; + if (checkDuplicate) { + for (let i = 0; i < existingTasks.length; i++) { + if (compare(existingTasks[i], delegate)) { + // same callback, same capture, same event name, just return + return; + } + } + } + } else { + existingTasks = target[symbolEventName] = []; + } + let source; + const constructorName = target.constructor['name']; + const targetSource = globalSources[constructorName]; + if (targetSource) { + source = targetSource[eventName]; + } + if (!source) { + source = constructorName + addSource + (eventNameToString ? eventNameToString(eventName) : eventName); + } + // do not create a new object as task.data to pass those things + // just use the global shared one + taskData.options = options; + if (once) { + // if addEventListener with once options, we don't pass it to + // native addEventListener, instead we keep the once setting + // and handle ourselves. + taskData.options.once = false; + } + taskData.target = target; + taskData.capture = capture; + taskData.eventName = eventName; + taskData.isExisting = isExisting; + const data = useGlobalCallback ? OPTIMIZED_ZONE_EVENT_TASK_DATA : undefined; + // keep taskData into data to allow onScheduleEventTask to access the task information + if (data) { + data.taskData = taskData; + } + const task = zone.scheduleEventTask(source, delegate, data, customScheduleFn, customCancelFn); + // should clear taskData.target to avoid memory leak + // issue, https://github.com/angular/angular/issues/20442 + taskData.target = null; + // need to clear up taskData because it is a global object + if (data) { + data.taskData = null; + } + // have to save those information to task in case + // application may call task.zone.cancelTask() directly + if (once) { + options.once = true; + } + if (!(!passiveSupported && typeof task.options === 'boolean')) { + // if not support passive, and we pass an option object + // to addEventListener, we should save the options to task + task.options = options; + } + task.target = target; + task.capture = capture; + task.eventName = eventName; + if (isHandleEvent) { + // save original delegate for compare to check duplicate + task.originalDelegate = delegate; + } + if (!prepend) { + existingTasks.push(task); + } else { + existingTasks.unshift(task); + } + if (returnTarget) { + return target; + } + }; + }; + proto[ADD_EVENT_LISTENER] = makeAddListener(nativeAddEventListener, ADD_EVENT_LISTENER_SOURCE, customSchedule, customCancel, returnTarget); + if (nativePrependEventListener) { + proto[PREPEND_EVENT_LISTENER] = makeAddListener(nativePrependEventListener, PREPEND_EVENT_LISTENER_SOURCE, customSchedulePrepend, customCancel, returnTarget, true); + } + proto[REMOVE_EVENT_LISTENER] = function () { + const target = this || _global; + let eventName = arguments[0]; + if (patchOptions && patchOptions.transferEventName) { + eventName = patchOptions.transferEventName(eventName); + } + const options = arguments[2]; + const capture = !options ? false : typeof options === 'boolean' ? true : options.capture; + const delegate = arguments[1]; + if (!delegate) { + return nativeRemoveEventListener.apply(this, arguments); + } + if (validateHandler && !validateHandler(nativeRemoveEventListener, delegate, target, arguments)) { + return; + } + const symbolEventNames = zoneSymbolEventNames[eventName]; + let symbolEventName; + if (symbolEventNames) { + symbolEventName = symbolEventNames[capture ? TRUE_STR : FALSE_STR]; + } + const existingTasks = symbolEventName && target[symbolEventName]; + if (existingTasks) { + for (let i = 0; i < existingTasks.length; i++) { + const existingTask = existingTasks[i]; + if (compare(existingTask, delegate)) { + existingTasks.splice(i, 1); + // set isRemoved to data for faster invokeTask check + existingTask.isRemoved = true; + if (existingTasks.length === 0) { + // all tasks for the eventName + capture have gone, + // remove globalZoneAwareCallback and remove the task cache from target + existingTask.allRemoved = true; + target[symbolEventName] = null; + // in the target, we have an event listener which is added by on_property + // such as target.onclick = function() {}, so we need to clear this internal + // property too if all delegates all removed + if (typeof eventName === 'string') { + const onPropertySymbol = ZONE_SYMBOL_PREFIX + 'ON_PROPERTY' + eventName; + target[onPropertySymbol] = null; + } + } + existingTask.zone.cancelTask(existingTask); + if (returnTarget) { + return target; + } + return; + } + } + } + // issue 930, didn't find the event name or callback + // from zone kept existingTasks, the callback maybe + // added outside of zone, we need to call native removeEventListener + // to try to remove it. + return nativeRemoveEventListener.apply(this, arguments); + }; + proto[LISTENERS_EVENT_LISTENER] = function () { + const target = this || _global; + let eventName = arguments[0]; + if (patchOptions && patchOptions.transferEventName) { + eventName = patchOptions.transferEventName(eventName); + } + const listeners = []; + const tasks = findEventTasks(target, eventNameToString ? eventNameToString(eventName) : eventName); + for (let i = 0; i < tasks.length; i++) { + const task = tasks[i]; + let delegate = task.originalDelegate ? task.originalDelegate : task.callback; + listeners.push(delegate); + } + return listeners; + }; + proto[REMOVE_ALL_LISTENERS_EVENT_LISTENER] = function () { + const target = this || _global; + let eventName = arguments[0]; + if (!eventName) { + const keys = Object.keys(target); + for (let i = 0; i < keys.length; i++) { + const prop = keys[i]; + const match = EVENT_NAME_SYMBOL_REGX.exec(prop); + let evtName = match && match[1]; + // in nodejs EventEmitter, removeListener event is + // used for monitoring the removeListener call, + // so just keep removeListener eventListener until + // all other eventListeners are removed + if (evtName && evtName !== 'removeListener') { + this[REMOVE_ALL_LISTENERS_EVENT_LISTENER].call(this, evtName); + } + } + // remove removeListener listener finally + this[REMOVE_ALL_LISTENERS_EVENT_LISTENER].call(this, 'removeListener'); + } else { + if (patchOptions && patchOptions.transferEventName) { + eventName = patchOptions.transferEventName(eventName); + } + const symbolEventNames = zoneSymbolEventNames[eventName]; + if (symbolEventNames) { + const symbolEventName = symbolEventNames[FALSE_STR]; + const symbolCaptureEventName = symbolEventNames[TRUE_STR]; + const tasks = target[symbolEventName]; + const captureTasks = target[symbolCaptureEventName]; + if (tasks) { + const removeTasks = tasks.slice(); + for (let i = 0; i < removeTasks.length; i++) { + const task = removeTasks[i]; + let delegate = task.originalDelegate ? task.originalDelegate : task.callback; + this[REMOVE_EVENT_LISTENER].call(this, eventName, delegate, task.options); + } + } + if (captureTasks) { + const removeTasks = captureTasks.slice(); + for (let i = 0; i < removeTasks.length; i++) { + const task = removeTasks[i]; + let delegate = task.originalDelegate ? task.originalDelegate : task.callback; + this[REMOVE_EVENT_LISTENER].call(this, eventName, delegate, task.options); + } + } + } + } + if (returnTarget) { + return this; + } + }; + // for native toString patch + attachOriginToPatched(proto[ADD_EVENT_LISTENER], nativeAddEventListener); + attachOriginToPatched(proto[REMOVE_EVENT_LISTENER], nativeRemoveEventListener); + if (nativeRemoveAllListeners) { + attachOriginToPatched(proto[REMOVE_ALL_LISTENERS_EVENT_LISTENER], nativeRemoveAllListeners); + } + if (nativeListeners) { + attachOriginToPatched(proto[LISTENERS_EVENT_LISTENER], nativeListeners); + } + return true; + } + let results = []; + for (let i = 0; i < apis.length; i++) { + results[i] = patchEventTargetMethods(apis[i], patchOptions); + } + return results; +} +function findEventTasks(target, eventName) { + if (!eventName) { + const foundTasks = []; + for (let prop in target) { + const match = EVENT_NAME_SYMBOL_REGX.exec(prop); + let evtName = match && match[1]; + if (evtName && (!eventName || evtName === eventName)) { + const tasks = target[prop]; + if (tasks) { + for (let i = 0; i < tasks.length; i++) { + foundTasks.push(tasks[i]); + } + } + } + } + return foundTasks; + } + let symbolEventName = zoneSymbolEventNames[eventName]; + if (!symbolEventName) { + prepareEventNames(eventName); + symbolEventName = zoneSymbolEventNames[eventName]; + } + const captureFalseTasks = target[symbolEventName[FALSE_STR]]; + const captureTrueTasks = target[symbolEventName[TRUE_STR]]; + if (!captureFalseTasks) { + return captureTrueTasks ? captureTrueTasks.slice() : []; + } else { + return captureTrueTasks ? captureFalseTasks.concat(captureTrueTasks) : captureFalseTasks.slice(); + } +} +function patchEventPrototype(global, api) { + const Event = global['Event']; + if (Event && Event.prototype) { + api.patchMethod(Event.prototype, 'stopImmediatePropagation', delegate => function (self, args) { + self[IMMEDIATE_PROPAGATION_SYMBOL] = true; + // we need to call the native stopImmediatePropagation + // in case in some hybrid application, some part of + // application will be controlled by zone, some are not + delegate && delegate.apply(self, args); + }); + } +} +function patchCallbacks(api, target, targetName, method, callbacks) { + const symbol = Zone.__symbol__(method); + if (target[symbol]) { + return; + } + const nativeDelegate = target[symbol] = target[method]; + target[method] = function (name, opts, options) { + if (opts && opts.prototype) { + callbacks.forEach(function (callback) { + const source = `${targetName}.${method}::` + callback; + const prototype = opts.prototype; + // Note: the `patchCallbacks` is used for patching the `document.registerElement` and + // `customElements.define`. We explicitly wrap the patching code into try-catch since + // callbacks may be already patched by other web components frameworks (e.g. LWC), and they + // make those properties non-writable. This means that patching callback will throw an error + // `cannot assign to read-only property`. See this code as an example: + // https://github.com/salesforce/lwc/blob/master/packages/@lwc/engine-core/src/framework/base-bridge-element.ts#L180-L186 + // We don't want to stop the application rendering if we couldn't patch some + // callback, e.g. `attributeChangedCallback`. + try { + if (prototype.hasOwnProperty(callback)) { + const descriptor = api.ObjectGetOwnPropertyDescriptor(prototype, callback); + if (descriptor && descriptor.value) { + descriptor.value = api.wrapWithCurrentZone(descriptor.value, source); + api._redefineProperty(opts.prototype, callback, descriptor); + } else if (prototype[callback]) { + prototype[callback] = api.wrapWithCurrentZone(prototype[callback], source); + } + } else if (prototype[callback]) { + prototype[callback] = api.wrapWithCurrentZone(prototype[callback], source); + } + } catch { + // Note: we leave the catch block empty since there's no way to handle the error related + // to non-writable property. + } + }); + } + return nativeDelegate.call(target, name, opts, options); + }; + api.attachOriginToPatched(target[method], nativeDelegate); +} + +/** + * @fileoverview + * @suppress {globalThis} + */ +function filterProperties(target, onProperties, ignoreProperties) { + if (!ignoreProperties || ignoreProperties.length === 0) { + return onProperties; + } + const tip = ignoreProperties.filter(ip => ip.target === target); + if (!tip || tip.length === 0) { + return onProperties; + } + const targetIgnoreProperties = tip[0].ignoreProperties; + return onProperties.filter(op => targetIgnoreProperties.indexOf(op) === -1); +} +function patchFilteredProperties(target, onProperties, ignoreProperties, prototype) { + // check whether target is available, sometimes target will be undefined + // because different browser or some 3rd party plugin. + if (!target) { + return; + } + const filteredProperties = filterProperties(target, onProperties, ignoreProperties); + patchOnProperties(target, filteredProperties, prototype); +} +/** + * Get all event name properties which the event name startsWith `on` + * from the target object itself, inherited properties are not considered. + */ +function getOnEventNames(target) { + return Object.getOwnPropertyNames(target).filter(name => name.startsWith('on') && name.length > 2).map(name => name.substring(2)); +} +function propertyDescriptorPatch(api, _global) { + if (isNode && !isMix) { + return; + } + if (Zone[api.symbol('patchEvents')]) { + // events are already been patched by legacy patch. + return; + } + const ignoreProperties = _global['__Zone_ignore_on_properties']; + // for browsers that we can patch the descriptor: Chrome & Firefox + let patchTargets = []; + if (isBrowser) { + const internalWindow = window; + patchTargets = patchTargets.concat(['Document', 'SVGElement', 'Element', 'HTMLElement', 'HTMLBodyElement', 'HTMLMediaElement', 'HTMLFrameSetElement', 'HTMLFrameElement', 'HTMLIFrameElement', 'HTMLMarqueeElement', 'Worker']); + const ignoreErrorProperties = isIE() ? [{ + target: internalWindow, + ignoreProperties: ['error'] + }] : []; + // in IE/Edge, onProp not exist in window object, but in WindowPrototype + // so we need to pass WindowPrototype to check onProp exist or not + patchFilteredProperties(internalWindow, getOnEventNames(internalWindow), ignoreProperties ? ignoreProperties.concat(ignoreErrorProperties) : ignoreProperties, ObjectGetPrototypeOf(internalWindow)); + } + patchTargets = patchTargets.concat(['XMLHttpRequest', 'XMLHttpRequestEventTarget', 'IDBIndex', 'IDBRequest', 'IDBOpenDBRequest', 'IDBDatabase', 'IDBTransaction', 'IDBCursor', 'WebSocket']); + for (let i = 0; i < patchTargets.length; i++) { + const target = _global[patchTargets[i]]; + target && target.prototype && patchFilteredProperties(target.prototype, getOnEventNames(target.prototype), ignoreProperties); + } +} +Zone.__load_patch('util', (global, Zone, api) => { + // Collect native event names by looking at properties + // on the global namespace, e.g. 'onclick'. + const eventNames = getOnEventNames(global); + api.patchOnProperties = patchOnProperties; + api.patchMethod = patchMethod; + api.bindArguments = bindArguments; + api.patchMacroTask = patchMacroTask; + // In earlier version of zone.js (<0.9.0), we use env name `__zone_symbol__BLACK_LISTED_EVENTS` to + // define which events will not be patched by `Zone.js`. + // In newer version (>=0.9.0), we change the env name to `__zone_symbol__UNPATCHED_EVENTS` to keep + // the name consistent with angular repo. + // The `__zone_symbol__BLACK_LISTED_EVENTS` is deprecated, but it is still be supported for + // backwards compatibility. + const SYMBOL_BLACK_LISTED_EVENTS = Zone.__symbol__('BLACK_LISTED_EVENTS'); + const SYMBOL_UNPATCHED_EVENTS = Zone.__symbol__('UNPATCHED_EVENTS'); + if (global[SYMBOL_UNPATCHED_EVENTS]) { + global[SYMBOL_BLACK_LISTED_EVENTS] = global[SYMBOL_UNPATCHED_EVENTS]; + } + if (global[SYMBOL_BLACK_LISTED_EVENTS]) { + Zone[SYMBOL_BLACK_LISTED_EVENTS] = Zone[SYMBOL_UNPATCHED_EVENTS] = global[SYMBOL_BLACK_LISTED_EVENTS]; + } + api.patchEventPrototype = patchEventPrototype; + api.patchEventTarget = patchEventTarget; + api.isIEOrEdge = isIEOrEdge; + api.ObjectDefineProperty = ObjectDefineProperty; + api.ObjectGetOwnPropertyDescriptor = ObjectGetOwnPropertyDescriptor; + api.ObjectCreate = ObjectCreate; + api.ArraySlice = ArraySlice; + api.patchClass = patchClass; + api.wrapWithCurrentZone = wrapWithCurrentZone; + api.filterProperties = filterProperties; + api.attachOriginToPatched = attachOriginToPatched; + api._redefineProperty = Object.defineProperty; + api.patchCallbacks = patchCallbacks; + api.getGlobalObjects = () => ({ + globalSources, + zoneSymbolEventNames, + eventNames, + isBrowser, + isMix, + isNode, + TRUE_STR, + FALSE_STR, + ZONE_SYMBOL_PREFIX, + ADD_EVENT_LISTENER_STR, + REMOVE_EVENT_LISTENER_STR + }); +}); + +/** + * @fileoverview + * @suppress {missingRequire} + */ +function patchQueueMicrotask(global, api) { + api.patchMethod(global, 'queueMicrotask', delegate => { + return function (self, args) { + Zone.current.scheduleMicroTask('queueMicrotask', args[0]); + }; + }); +} + +/** + * @fileoverview + * @suppress {missingRequire} + */ +const taskSymbol = zoneSymbol('zoneTask'); +function patchTimer(window, setName, cancelName, nameSuffix) { + let setNative = null; + let clearNative = null; + setName += nameSuffix; + cancelName += nameSuffix; + const tasksByHandleId = {}; + function scheduleTask(task) { + const data = task.data; + data.args[0] = function () { + return task.invoke.apply(this, arguments); + }; + data.handleId = setNative.apply(window, data.args); + return task; + } + function clearTask(task) { + return clearNative.call(window, task.data.handleId); + } + setNative = patchMethod(window, setName, delegate => function (self, args) { + if (typeof args[0] === 'function') { + const options = { + isPeriodic: nameSuffix === 'Interval', + delay: nameSuffix === 'Timeout' || nameSuffix === 'Interval' ? args[1] || 0 : undefined, + args: args + }; + const callback = args[0]; + args[0] = function timer() { + try { + return callback.apply(this, arguments); + } finally { + // issue-934, task will be cancelled + // even it is a periodic task such as + // setInterval + // https://github.com/angular/angular/issues/40387 + // Cleanup tasksByHandleId should be handled before scheduleTask + // Since some zoneSpec may intercept and doesn't trigger + // scheduleFn(scheduleTask) provided here. + if (!options.isPeriodic) { + if (typeof options.handleId === 'number') { + // in non-nodejs env, we remove timerId + // from local cache + delete tasksByHandleId[options.handleId]; + } else if (options.handleId) { + // Node returns complex objects as handleIds + // we remove task reference from timer object + options.handleId[taskSymbol] = null; + } + } + } + }; + const task = scheduleMacroTaskWithCurrentZone(setName, args[0], options, scheduleTask, clearTask); + if (!task) { + return task; + } + // Node.js must additionally support the ref and unref functions. + const handle = task.data.handleId; + if (typeof handle === 'number') { + // for non nodejs env, we save handleId: task + // mapping in local cache for clearTimeout + tasksByHandleId[handle] = task; + } else if (handle) { + // for nodejs env, we save task + // reference in timerId Object for clearTimeout + handle[taskSymbol] = task; + } + // check whether handle is null, because some polyfill or browser + // may return undefined from setTimeout/setInterval/setImmediate/requestAnimationFrame + if (handle && handle.ref && handle.unref && typeof handle.ref === 'function' && typeof handle.unref === 'function') { + task.ref = handle.ref.bind(handle); + task.unref = handle.unref.bind(handle); + } + if (typeof handle === 'number' || handle) { + return handle; + } + return task; + } else { + // cause an error by calling it directly. + return delegate.apply(window, args); + } + }); + clearNative = patchMethod(window, cancelName, delegate => function (self, args) { + const id = args[0]; + let task; + if (typeof id === 'number') { + // non nodejs env. + task = tasksByHandleId[id]; + } else { + // nodejs env. + task = id && id[taskSymbol]; + // other environments. + if (!task) { + task = id; + } + } + if (task && typeof task.type === 'string') { + if (task.state !== 'notScheduled' && (task.cancelFn && task.data.isPeriodic || task.runCount === 0)) { + if (typeof id === 'number') { + delete tasksByHandleId[id]; + } else if (id) { + id[taskSymbol] = null; + } + // Do not cancel already canceled functions + task.zone.cancelTask(task); + } + } else { + // cause an error by calling it directly. + delegate.apply(window, args); + } + }); +} +function patchCustomElements(_global, api) { + const { + isBrowser, + isMix + } = api.getGlobalObjects(); + if (!isBrowser && !isMix || !_global['customElements'] || !('customElements' in _global)) { + return; + } + const callbacks = ['connectedCallback', 'disconnectedCallback', 'adoptedCallback', 'attributeChangedCallback']; + api.patchCallbacks(api, _global.customElements, 'customElements', 'define', callbacks); +} +function eventTargetPatch(_global, api) { + if (Zone[api.symbol('patchEventTarget')]) { + // EventTarget is already patched. + return; + } + const { + eventNames, + zoneSymbolEventNames, + TRUE_STR, + FALSE_STR, + ZONE_SYMBOL_PREFIX + } = api.getGlobalObjects(); + // predefine all __zone_symbol__ + eventName + true/false string + for (let i = 0; i < eventNames.length; i++) { + const eventName = eventNames[i]; + const falseEventName = eventName + FALSE_STR; + const trueEventName = eventName + TRUE_STR; + const symbol = ZONE_SYMBOL_PREFIX + falseEventName; + const symbolCapture = ZONE_SYMBOL_PREFIX + trueEventName; + zoneSymbolEventNames[eventName] = {}; + zoneSymbolEventNames[eventName][FALSE_STR] = symbol; + zoneSymbolEventNames[eventName][TRUE_STR] = symbolCapture; + } + const EVENT_TARGET = _global['EventTarget']; + if (!EVENT_TARGET || !EVENT_TARGET.prototype) { + return; + } + api.patchEventTarget(_global, api, [EVENT_TARGET && EVENT_TARGET.prototype]); + return true; +} +function patchEvent(global, api) { + api.patchEventPrototype(global, api); +} + +/** + * @fileoverview + * @suppress {missingRequire} + */ +Zone.__load_patch('legacy', global => { + const legacyPatch = global[Zone.__symbol__('legacyPatch')]; + if (legacyPatch) { + legacyPatch(); + } +}); +Zone.__load_patch('timers', global => { + const set = 'set'; + const clear = 'clear'; + patchTimer(global, set, clear, 'Timeout'); + patchTimer(global, set, clear, 'Interval'); + patchTimer(global, set, clear, 'Immediate'); +}); +Zone.__load_patch('requestAnimationFrame', global => { + patchTimer(global, 'request', 'cancel', 'AnimationFrame'); + patchTimer(global, 'mozRequest', 'mozCancel', 'AnimationFrame'); + patchTimer(global, 'webkitRequest', 'webkitCancel', 'AnimationFrame'); +}); +Zone.__load_patch('blocking', (global, Zone) => { + const blockingMethods = ['alert', 'prompt', 'confirm']; + for (let i = 0; i < blockingMethods.length; i++) { + const name = blockingMethods[i]; + patchMethod(global, name, (delegate, symbol, name) => { + return function (s, args) { + return Zone.current.run(delegate, global, args, name); + }; + }); + } +}); +Zone.__load_patch('EventTarget', (global, Zone, api) => { + patchEvent(global, api); + eventTargetPatch(global, api); + // patch XMLHttpRequestEventTarget's addEventListener/removeEventListener + const XMLHttpRequestEventTarget = global['XMLHttpRequestEventTarget']; + if (XMLHttpRequestEventTarget && XMLHttpRequestEventTarget.prototype) { + api.patchEventTarget(global, api, [XMLHttpRequestEventTarget.prototype]); + } +}); +Zone.__load_patch('MutationObserver', (global, Zone, api) => { + patchClass('MutationObserver'); + patchClass('WebKitMutationObserver'); +}); +Zone.__load_patch('IntersectionObserver', (global, Zone, api) => { + patchClass('IntersectionObserver'); +}); +Zone.__load_patch('FileReader', (global, Zone, api) => { + patchClass('FileReader'); +}); +Zone.__load_patch('on_property', (global, Zone, api) => { + propertyDescriptorPatch(api, global); +}); +Zone.__load_patch('customElements', (global, Zone, api) => { + patchCustomElements(global, api); +}); +Zone.__load_patch('XHR', (global, Zone) => { + // Treat XMLHttpRequest as a macrotask. + patchXHR(global); + const XHR_TASK = zoneSymbol('xhrTask'); + const XHR_SYNC = zoneSymbol('xhrSync'); + const XHR_LISTENER = zoneSymbol('xhrListener'); + const XHR_SCHEDULED = zoneSymbol('xhrScheduled'); + const XHR_URL = zoneSymbol('xhrURL'); + const XHR_ERROR_BEFORE_SCHEDULED = zoneSymbol('xhrErrorBeforeScheduled'); + function patchXHR(window) { + const XMLHttpRequest = window['XMLHttpRequest']; + if (!XMLHttpRequest) { + // XMLHttpRequest is not available in service worker + return; + } + const XMLHttpRequestPrototype = XMLHttpRequest.prototype; + function findPendingTask(target) { + return target[XHR_TASK]; + } + let oriAddListener = XMLHttpRequestPrototype[ZONE_SYMBOL_ADD_EVENT_LISTENER]; + let oriRemoveListener = XMLHttpRequestPrototype[ZONE_SYMBOL_REMOVE_EVENT_LISTENER]; + if (!oriAddListener) { + const XMLHttpRequestEventTarget = window['XMLHttpRequestEventTarget']; + if (XMLHttpRequestEventTarget) { + const XMLHttpRequestEventTargetPrototype = XMLHttpRequestEventTarget.prototype; + oriAddListener = XMLHttpRequestEventTargetPrototype[ZONE_SYMBOL_ADD_EVENT_LISTENER]; + oriRemoveListener = XMLHttpRequestEventTargetPrototype[ZONE_SYMBOL_REMOVE_EVENT_LISTENER]; + } + } + const READY_STATE_CHANGE = 'readystatechange'; + const SCHEDULED = 'scheduled'; + function scheduleTask(task) { + const data = task.data; + const target = data.target; + target[XHR_SCHEDULED] = false; + target[XHR_ERROR_BEFORE_SCHEDULED] = false; + // remove existing event listener + const listener = target[XHR_LISTENER]; + if (!oriAddListener) { + oriAddListener = target[ZONE_SYMBOL_ADD_EVENT_LISTENER]; + oriRemoveListener = target[ZONE_SYMBOL_REMOVE_EVENT_LISTENER]; + } + if (listener) { + oriRemoveListener.call(target, READY_STATE_CHANGE, listener); + } + const newListener = target[XHR_LISTENER] = () => { + if (target.readyState === target.DONE) { + // sometimes on some browsers XMLHttpRequest will fire onreadystatechange with + // readyState=4 multiple times, so we need to check task state here + if (!data.aborted && target[XHR_SCHEDULED] && task.state === SCHEDULED) { + // check whether the xhr has registered onload listener + // if that is the case, the task should invoke after all + // onload listeners finish. + // Also if the request failed without response (status = 0), the load event handler + // will not be triggered, in that case, we should also invoke the placeholder callback + // to close the XMLHttpRequest::send macroTask. + // https://github.com/angular/angular/issues/38795 + const loadTasks = target[Zone.__symbol__('loadfalse')]; + if (target.status !== 0 && loadTasks && loadTasks.length > 0) { + const oriInvoke = task.invoke; + task.invoke = function () { + // need to load the tasks again, because in other + // load listener, they may remove themselves + const loadTasks = target[Zone.__symbol__('loadfalse')]; + for (let i = 0; i < loadTasks.length; i++) { + if (loadTasks[i] === task) { + loadTasks.splice(i, 1); + } + } + if (!data.aborted && task.state === SCHEDULED) { + oriInvoke.call(task); + } + }; + loadTasks.push(task); + } else { + task.invoke(); + } + } else if (!data.aborted && target[XHR_SCHEDULED] === false) { + // error occurs when xhr.send() + target[XHR_ERROR_BEFORE_SCHEDULED] = true; + } + } + }; + oriAddListener.call(target, READY_STATE_CHANGE, newListener); + const storedTask = target[XHR_TASK]; + if (!storedTask) { + target[XHR_TASK] = task; + } + sendNative.apply(target, data.args); + target[XHR_SCHEDULED] = true; + return task; + } + function placeholderCallback() {} + function clearTask(task) { + const data = task.data; + // Note - ideally, we would call data.target.removeEventListener here, but it's too late + // to prevent it from firing. So instead, we store info for the event listener. + data.aborted = true; + return abortNative.apply(data.target, data.args); + } + const openNative = patchMethod(XMLHttpRequestPrototype, 'open', () => function (self, args) { + self[XHR_SYNC] = args[2] == false; + self[XHR_URL] = args[1]; + return openNative.apply(self, args); + }); + const XMLHTTPREQUEST_SOURCE = 'XMLHttpRequest.send'; + const fetchTaskAborting = zoneSymbol('fetchTaskAborting'); + const fetchTaskScheduling = zoneSymbol('fetchTaskScheduling'); + const sendNative = patchMethod(XMLHttpRequestPrototype, 'send', () => function (self, args) { + if (Zone.current[fetchTaskScheduling] === true) { + // a fetch is scheduling, so we are using xhr to polyfill fetch + // and because we already schedule macroTask for fetch, we should + // not schedule a macroTask for xhr again + return sendNative.apply(self, args); + } + if (self[XHR_SYNC]) { + // if the XHR is sync there is no task to schedule, just execute the code. + return sendNative.apply(self, args); + } else { + const options = { + target: self, + url: self[XHR_URL], + isPeriodic: false, + args: args, + aborted: false + }; + const task = scheduleMacroTaskWithCurrentZone(XMLHTTPREQUEST_SOURCE, placeholderCallback, options, scheduleTask, clearTask); + if (self && self[XHR_ERROR_BEFORE_SCHEDULED] === true && !options.aborted && task.state === SCHEDULED) { + // xhr request throw error when send + // we should invoke task instead of leaving a scheduled + // pending macroTask + task.invoke(); + } + } + }); + const abortNative = patchMethod(XMLHttpRequestPrototype, 'abort', () => function (self, args) { + const task = findPendingTask(self); + if (task && typeof task.type == 'string') { + // If the XHR has already completed, do nothing. + // If the XHR has already been aborted, do nothing. + // Fix #569, call abort multiple times before done will cause + // macroTask task count be negative number + if (task.cancelFn == null || task.data && task.data.aborted) { + return; + } + task.zone.cancelTask(task); + } else if (Zone.current[fetchTaskAborting] === true) { + // the abort is called from fetch polyfill, we need to call native abort of XHR. + return abortNative.apply(self, args); + } + // Otherwise, we are trying to abort an XHR which has not yet been sent, so there is no + // task + // to cancel. Do nothing. + }); + } +}); + +Zone.__load_patch('geolocation', global => { + /// GEO_LOCATION + if (global['navigator'] && global['navigator'].geolocation) { + patchPrototype(global['navigator'].geolocation, ['getCurrentPosition', 'watchPosition']); + } +}); +Zone.__load_patch('PromiseRejectionEvent', (global, Zone) => { + // handle unhandled promise rejection + function findPromiseRejectionHandler(evtName) { + return function (e) { + const eventTasks = findEventTasks(global, evtName); + eventTasks.forEach(eventTask => { + // windows has added unhandledrejection event listener + // trigger the event listener + const PromiseRejectionEvent = global['PromiseRejectionEvent']; + if (PromiseRejectionEvent) { + const evt = new PromiseRejectionEvent(evtName, { + promise: e.promise, + reason: e.rejection + }); + eventTask.invoke(evt); + } + }); + }; + } + if (global['PromiseRejectionEvent']) { + Zone[zoneSymbol('unhandledPromiseRejectionHandler')] = findPromiseRejectionHandler('unhandledrejection'); + Zone[zoneSymbol('rejectionHandledHandler')] = findPromiseRejectionHandler('rejectionhandled'); + } +}); +Zone.__load_patch('queueMicrotask', (global, Zone, api) => { + patchQueueMicrotask(global, api); +}); + +/***/ }), + +/***/ 64355: +/*!**************************!*\ + !*** ./src/polyfills.ts ***! + \**************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +__webpack_require__.r(__webpack_exports__); +/* harmony import */ var zone_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! zone.js */ 12340); +/* harmony import */ var zone_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(zone_js__WEBPACK_IMPORTED_MODULE_0__); +/** + * This file includes polyfills needed by Angular and is loaded before the app. + * You can add your own extra polyfills to this file. + * + * This file is divided into 2 sections: + * 1. Browser polyfills. These are applied before loading ZoneJS and are sorted by browsers. + * 2. Application imports. Files imported after ZoneJS that should be loaded before your main + * file. + * + * The current setup is for so-called "evergreen" browsers; the last versions of browsers that + * automatically update themselves. This includes Safari >= 10, Chrome >= 55 (including Opera), + * Edge >= 13 on the desktop, and iOS 10 and Chrome on mobile. + * + * Learn more in https://angular.io/guide/browser-support + */ +/*************************************************************************************************** + * BROWSER POLYFILLS + */ +/** + * By default, zone.js will patch all possible macroTask and DomEvents + * user can disable parts of macroTask/DomEvents patch by setting following flags + * because those flags need to be set before `zone.js` being loaded, and webpack + * will put import in the top of bundle, so user need to create a separate file + * in this directory (for example: zone-flags.ts), and put the following flags + * into that file, and then add the following code before importing zone.js. + * import './zone-flags'; + * + * The flags allowed in zone-flags.ts are listed here. + * + * The following flags will work for all browsers. + * + * (window as any).__Zone_disable_requestAnimationFrame = true; // disable patch requestAnimationFrame + * (window as any).__Zone_disable_on_property = true; // disable patch onProperty such as onclick + * (window as any).__zone_symbol__UNPATCHED_EVENTS = ['scroll', 'mousemove']; // disable patch specified eventNames + * + * in IE/Edge developer tools, the addEventListener will also be wrapped by zone.js + * with the following flag, it will bypass `zone.js` patch for IE/Edge + * + * (window as any).__Zone_enable_cross_context_check = true; + * + */ +/*************************************************************************************************** + * Zone JS is required by default for Angular itself. + */ + // Included with Angular CLI. +/*************************************************************************************************** + * APPLICATION IMPORTS + */ + +/***/ }) + +}, +/******/ __webpack_require__ => { // webpackRuntimeModules +/******/ var __webpack_exec__ = (moduleId) => (__webpack_require__(__webpack_require__.s = moduleId)) +/******/ var __webpack_exports__ = (__webpack_exec__(64355)); +/******/ } +]); +//# sourceMappingURL=polyfills.js.map \ No newline at end of file diff --git a/app-latest-build/polyfills.js.map b/app-latest-build/polyfills.js.map new file mode 100644 index 0000000..06d90e5 --- /dev/null +++ b/app-latest-build/polyfills.js.map @@ -0,0 +1 @@ +{"version":3,"file":"polyfills.js","mappings":";;;;;;;;;AAAa;;AACb;AACA;AACA;AACA;AACA;AACA,CAAE,UAAUA,MAAM,EAAE;EAChB,MAAMC,WAAW,GAAGD,MAAM,CAAC,aAAa,CAAC;EACzC,SAASE,IAAIA,CAACC,IAAI,EAAE;IAChBF,WAAW,IAAIA,WAAW,CAAC,MAAM,CAAC,IAAIA,WAAW,CAAC,MAAM,CAAC,CAACE,IAAI,CAAC;EACnE;EACA,SAASC,kBAAkBA,CAACD,IAAI,EAAEE,KAAK,EAAE;IACrCJ,WAAW,IAAIA,WAAW,CAAC,SAAS,CAAC,IAAIA,WAAW,CAAC,SAAS,CAAC,CAACE,IAAI,EAAEE,KAAK,CAAC;EAChF;EACAH,IAAI,CAAC,MAAM,CAAC;EACZ;EACA;EACA;EACA,MAAMI,YAAY,GAAGN,MAAM,CAAC,sBAAsB,CAAC,IAAI,iBAAiB;EACxE,SAASO,UAAUA,CAACJ,IAAI,EAAE;IACtB,OAAOG,YAAY,GAAGH,IAAI;EAC9B;EACA,MAAMK,cAAc,GAAGR,MAAM,CAACO,UAAU,CAAC,yBAAyB,CAAC,CAAC,KAAK,IAAI;EAC7E,IAAIP,MAAM,CAAC,MAAM,CAAC,EAAE;IAChB;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA,IAAIQ,cAAc,IAAI,OAAOR,MAAM,CAAC,MAAM,CAAC,CAACO,UAAU,KAAK,UAAU,EAAE;MACnE,MAAM,IAAIE,KAAK,CAAC,sBAAsB,CAAC;IAC3C,CAAC,MACI;MACD,OAAOT,MAAM,CAAC,MAAM,CAAC;IACzB;EACJ;EACA,MAAMU,IAAI,CAAC;IACP;IAAA,QAAAC,CAAA,GACS,IAAI,CAACJ,UAAU,GAAGA,UAAU;IACrC,OAAOK,iBAAiBA,CAAA,EAAG;MACvB,IAAIZ,MAAM,CAAC,SAAS,CAAC,KAAKa,OAAO,CAAC,kBAAkB,CAAC,EAAE;QACnD,MAAM,IAAIJ,KAAK,CAAC,uEAAuE,GACnF,yBAAyB,GACzB,+DAA+D,GAC/D,kFAAkF,GAClF,sDAAsD,CAAC;MAC/D;IACJ;IACA,WAAWK,IAAIA,CAAA,EAAG;MACd,IAAIC,IAAI,GAAGL,IAAI,CAACM,OAAO;MACvB,OAAOD,IAAI,CAACE,MAAM,EAAE;QAChBF,IAAI,GAAGA,IAAI,CAACE,MAAM;MACtB;MACA,OAAOF,IAAI;IACf;IACA,WAAWC,OAAOA,CAAA,EAAG;MACjB,OAAOE,iBAAiB,CAACH,IAAI;IACjC;IACA,WAAWI,WAAWA,CAAA,EAAG;MACrB,OAAOC,YAAY;IACvB;IACA;IACA,OAAOC,YAAYA,CAAClB,IAAI,EAAEmB,EAAE,EAAEC,eAAe,GAAG,KAAK,EAAE;MACnD,IAAIV,OAAO,CAACW,cAAc,CAACrB,IAAI,CAAC,EAAE;QAC9B;QACA;QACA;QACA,IAAI,CAACoB,eAAe,IAAIf,cAAc,EAAE;UACpC,MAAMC,KAAK,CAAC,wBAAwB,GAAGN,IAAI,CAAC;QAChD;MACJ,CAAC,MACI,IAAI,CAACH,MAAM,CAAC,iBAAiB,GAAGG,IAAI,CAAC,EAAE;QACxC,MAAMsB,QAAQ,GAAG,OAAO,GAAGtB,IAAI;QAC/BD,IAAI,CAACuB,QAAQ,CAAC;QACdZ,OAAO,CAACV,IAAI,CAAC,GAAGmB,EAAE,CAACtB,MAAM,EAAEU,IAAI,EAAEgB,IAAI,CAAC;QACtCtB,kBAAkB,CAACqB,QAAQ,EAAEA,QAAQ,CAAC;MAC1C;IACJ;IACA,IAAIR,MAAMA,CAAA,EAAG;MACT,OAAO,IAAI,CAACU,OAAO;IACvB;IACA,IAAIxB,IAAIA,CAAA,EAAG;MACP,OAAO,IAAI,CAACyB,KAAK;IACrB;IACAC,WAAWA,CAACZ,MAAM,EAAEa,QAAQ,EAAE;MAC1B,IAAI,CAACH,OAAO,GAAGV,MAAM;MACrB,IAAI,CAACW,KAAK,GAAGE,QAAQ,GAAGA,QAAQ,CAAC3B,IAAI,IAAI,SAAS,GAAG,QAAQ;MAC7D,IAAI,CAAC4B,WAAW,GAAGD,QAAQ,IAAIA,QAAQ,CAACE,UAAU,IAAI,CAAC,CAAC;MACxD,IAAI,CAACC,aAAa,GACd,IAAIC,aAAa,CAAC,IAAI,EAAE,IAAI,CAACP,OAAO,IAAI,IAAI,CAACA,OAAO,CAACM,aAAa,EAAEH,QAAQ,CAAC;IACrF;IACAK,GAAGA,CAACC,GAAG,EAAE;MACL,MAAMrB,IAAI,GAAG,IAAI,CAACsB,WAAW,CAACD,GAAG,CAAC;MAClC,IAAIrB,IAAI,EACJ,OAAOA,IAAI,CAACgB,WAAW,CAACK,GAAG,CAAC;IACpC;IACAC,WAAWA,CAACD,GAAG,EAAE;MACb,IAAIpB,OAAO,GAAG,IAAI;MAClB,OAAOA,OAAO,EAAE;QACZ,IAAIA,OAAO,CAACe,WAAW,CAACP,cAAc,CAACY,GAAG,CAAC,EAAE;UACzC,OAAOpB,OAAO;QAClB;QACAA,OAAO,GAAGA,OAAO,CAACW,OAAO;MAC7B;MACA,OAAO,IAAI;IACf;IACAW,IAAIA,CAACR,QAAQ,EAAE;MACX,IAAI,CAACA,QAAQ,EACT,MAAM,IAAIrB,KAAK,CAAC,oBAAoB,CAAC;MACzC,OAAO,IAAI,CAACwB,aAAa,CAACK,IAAI,CAAC,IAAI,EAAER,QAAQ,CAAC;IAClD;IACAS,IAAIA,CAACC,QAAQ,EAAEC,MAAM,EAAE;MACnB,IAAI,OAAOD,QAAQ,KAAK,UAAU,EAAE;QAChC,MAAM,IAAI/B,KAAK,CAAC,0BAA0B,GAAG+B,QAAQ,CAAC;MAC1D;MACA,MAAME,SAAS,GAAG,IAAI,CAACT,aAAa,CAACU,SAAS,CAAC,IAAI,EAAEH,QAAQ,EAAEC,MAAM,CAAC;MACtE,MAAM1B,IAAI,GAAG,IAAI;MACjB,OAAO,YAAY;QACf,OAAOA,IAAI,CAAC6B,UAAU,CAACF,SAAS,EAAE,IAAI,EAAEG,SAAS,EAAEJ,MAAM,CAAC;MAC9D,CAAC;IACL;IACAK,GAAGA,CAACN,QAAQ,EAAEO,SAAS,EAAEC,SAAS,EAAEP,MAAM,EAAE;MACxCvB,iBAAiB,GAAG;QAAED,MAAM,EAAEC,iBAAiB;QAAEH,IAAI,EAAE;MAAK,CAAC;MAC7D,IAAI;QACA,OAAO,IAAI,CAACkB,aAAa,CAACgB,MAAM,CAAC,IAAI,EAAET,QAAQ,EAAEO,SAAS,EAAEC,SAAS,EAAEP,MAAM,CAAC;MAClF,CAAC,SACO;QACJvB,iBAAiB,GAAGA,iBAAiB,CAACD,MAAM;MAChD;IACJ;IACA2B,UAAUA,CAACJ,QAAQ,EAAEO,SAAS,GAAG,IAAI,EAAEC,SAAS,EAAEP,MAAM,EAAE;MACtDvB,iBAAiB,GAAG;QAAED,MAAM,EAAEC,iBAAiB;QAAEH,IAAI,EAAE;MAAK,CAAC;MAC7D,IAAI;QACA,IAAI;UACA,OAAO,IAAI,CAACkB,aAAa,CAACgB,MAAM,CAAC,IAAI,EAAET,QAAQ,EAAEO,SAAS,EAAEC,SAAS,EAAEP,MAAM,CAAC;QAClF,CAAC,CACD,OAAOS,KAAK,EAAE;UACV,IAAI,IAAI,CAACjB,aAAa,CAACkB,WAAW,CAAC,IAAI,EAAED,KAAK,CAAC,EAAE;YAC7C,MAAMA,KAAK;UACf;QACJ;MACJ,CAAC,SACO;QACJhC,iBAAiB,GAAGA,iBAAiB,CAACD,MAAM;MAChD;IACJ;IACAmC,OAAOA,CAACC,IAAI,EAAEN,SAAS,EAAEC,SAAS,EAAE;MAChC,IAAIK,IAAI,CAACtC,IAAI,IAAI,IAAI,EAAE;QACnB,MAAM,IAAIN,KAAK,CAAC,6DAA6D,GACzE,CAAC4C,IAAI,CAACtC,IAAI,IAAIuC,OAAO,EAAEnD,IAAI,GAAG,eAAe,GAAG,IAAI,CAACA,IAAI,GAAG,GAAG,CAAC;MACxE;MACA;MACA;MACA;MACA,IAAIkD,IAAI,CAACE,KAAK,KAAKC,YAAY,KAAKH,IAAI,CAACI,IAAI,KAAKC,SAAS,IAAIL,IAAI,CAACI,IAAI,KAAKE,SAAS,CAAC,EAAE;QACrF;MACJ;MACA,MAAMC,YAAY,GAAGP,IAAI,CAACE,KAAK,IAAIM,OAAO;MAC1CD,YAAY,IAAIP,IAAI,CAACS,aAAa,CAACD,OAAO,EAAEE,SAAS,CAAC;MACtDV,IAAI,CAACW,QAAQ,EAAE;MACf,MAAMC,YAAY,GAAG7C,YAAY;MACjCA,YAAY,GAAGiC,IAAI;MACnBnC,iBAAiB,GAAG;QAAED,MAAM,EAAEC,iBAAiB;QAAEH,IAAI,EAAE;MAAK,CAAC;MAC7D,IAAI;QACA,IAAIsC,IAAI,CAACI,IAAI,IAAIE,SAAS,IAAIN,IAAI,CAACa,IAAI,IAAI,CAACb,IAAI,CAACa,IAAI,CAACC,UAAU,EAAE;UAC9Dd,IAAI,CAACe,QAAQ,GAAGC,SAAS;QAC7B;QACA,IAAI;UACA,OAAO,IAAI,CAACpC,aAAa,CAACqC,UAAU,CAAC,IAAI,EAAEjB,IAAI,EAAEN,SAAS,EAAEC,SAAS,CAAC;QAC1E,CAAC,CACD,OAAOE,KAAK,EAAE;UACV,IAAI,IAAI,CAACjB,aAAa,CAACkB,WAAW,CAAC,IAAI,EAAED,KAAK,CAAC,EAAE;YAC7C,MAAMA,KAAK;UACf;QACJ;MACJ,CAAC,SACO;QACJ;QACA;QACA,IAAIG,IAAI,CAACE,KAAK,KAAKC,YAAY,IAAIH,IAAI,CAACE,KAAK,KAAKgB,OAAO,EAAE;UACvD,IAAIlB,IAAI,CAACI,IAAI,IAAIC,SAAS,IAAKL,IAAI,CAACa,IAAI,IAAIb,IAAI,CAACa,IAAI,CAACC,UAAW,EAAE;YAC/DP,YAAY,IAAIP,IAAI,CAACS,aAAa,CAACC,SAAS,EAAEF,OAAO,CAAC;UAC1D,CAAC,MACI;YACDR,IAAI,CAACW,QAAQ,GAAG,CAAC;YACjB,IAAI,CAACQ,gBAAgB,CAACnB,IAAI,EAAE,CAAC,CAAC,CAAC;YAC/BO,YAAY,IACRP,IAAI,CAACS,aAAa,CAACN,YAAY,EAAEK,OAAO,EAAEL,YAAY,CAAC;UAC/D;QACJ;QACAtC,iBAAiB,GAAGA,iBAAiB,CAACD,MAAM;QAC5CG,YAAY,GAAG6C,YAAY;MAC/B;IACJ;IACAQ,YAAYA,CAACpB,IAAI,EAAE;MACf,IAAIA,IAAI,CAACtC,IAAI,IAAIsC,IAAI,CAACtC,IAAI,KAAK,IAAI,EAAE;QACjC;QACA;QACA,IAAI2D,OAAO,GAAG,IAAI;QAClB,OAAOA,OAAO,EAAE;UACZ,IAAIA,OAAO,KAAKrB,IAAI,CAACtC,IAAI,EAAE;YACvB,MAAMN,KAAK,CAAE,8BAA6B,IAAI,CAACN,IAAK,8CAA6CkD,IAAI,CAACtC,IAAI,CAACZ,IAAK,EAAC,CAAC;UACtH;UACAuE,OAAO,GAAGA,OAAO,CAACzD,MAAM;QAC5B;MACJ;MACAoC,IAAI,CAACS,aAAa,CAACa,UAAU,EAAEnB,YAAY,CAAC;MAC5C,MAAMoB,aAAa,GAAG,EAAE;MACxBvB,IAAI,CAACwB,cAAc,GAAGD,aAAa;MACnCvB,IAAI,CAACyB,KAAK,GAAG,IAAI;MACjB,IAAI;QACAzB,IAAI,GAAG,IAAI,CAACpB,aAAa,CAACwC,YAAY,CAAC,IAAI,EAAEpB,IAAI,CAAC;MACtD,CAAC,CACD,OAAO0B,GAAG,EAAE;QACR;QACA;QACA1B,IAAI,CAACS,aAAa,CAACS,OAAO,EAAEI,UAAU,EAAEnB,YAAY,CAAC;QACrD;QACA,IAAI,CAACvB,aAAa,CAACkB,WAAW,CAAC,IAAI,EAAE4B,GAAG,CAAC;QACzC,MAAMA,GAAG;MACb;MACA,IAAI1B,IAAI,CAACwB,cAAc,KAAKD,aAAa,EAAE;QACvC;QACA,IAAI,CAACJ,gBAAgB,CAACnB,IAAI,EAAE,CAAC,CAAC;MAClC;MACA,IAAIA,IAAI,CAACE,KAAK,IAAIoB,UAAU,EAAE;QAC1BtB,IAAI,CAACS,aAAa,CAACC,SAAS,EAAEY,UAAU,CAAC;MAC7C;MACA,OAAOtB,IAAI;IACf;IACA2B,iBAAiBA,CAACvC,MAAM,EAAED,QAAQ,EAAE0B,IAAI,EAAEe,cAAc,EAAE;MACtD,OAAO,IAAI,CAACR,YAAY,CAAC,IAAIS,QAAQ,CAACC,SAAS,EAAE1C,MAAM,EAAED,QAAQ,EAAE0B,IAAI,EAAEe,cAAc,EAAEZ,SAAS,CAAC,CAAC;IACxG;IACAe,iBAAiBA,CAAC3C,MAAM,EAAED,QAAQ,EAAE0B,IAAI,EAAEe,cAAc,EAAEI,YAAY,EAAE;MACpE,OAAO,IAAI,CAACZ,YAAY,CAAC,IAAIS,QAAQ,CAACvB,SAAS,EAAElB,MAAM,EAAED,QAAQ,EAAE0B,IAAI,EAAEe,cAAc,EAAEI,YAAY,CAAC,CAAC;IAC3G;IACAC,iBAAiBA,CAAC7C,MAAM,EAAED,QAAQ,EAAE0B,IAAI,EAAEe,cAAc,EAAEI,YAAY,EAAE;MACpE,OAAO,IAAI,CAACZ,YAAY,CAAC,IAAIS,QAAQ,CAACxB,SAAS,EAAEjB,MAAM,EAAED,QAAQ,EAAE0B,IAAI,EAAEe,cAAc,EAAEI,YAAY,CAAC,CAAC;IAC3G;IACAE,UAAUA,CAAClC,IAAI,EAAE;MACb,IAAIA,IAAI,CAACtC,IAAI,IAAI,IAAI,EACjB,MAAM,IAAIN,KAAK,CAAC,mEAAmE,GAC/E,CAAC4C,IAAI,CAACtC,IAAI,IAAIuC,OAAO,EAAEnD,IAAI,GAAG,eAAe,GAAG,IAAI,CAACA,IAAI,GAAG,GAAG,CAAC;MACxE,IAAIkD,IAAI,CAACE,KAAK,KAAKQ,SAAS,IAAIV,IAAI,CAACE,KAAK,KAAKM,OAAO,EAAE;QACpD;MACJ;MACAR,IAAI,CAACS,aAAa,CAAC0B,SAAS,EAAEzB,SAAS,EAAEF,OAAO,CAAC;MACjD,IAAI;QACA,IAAI,CAAC5B,aAAa,CAACsD,UAAU,CAAC,IAAI,EAAElC,IAAI,CAAC;MAC7C,CAAC,CACD,OAAO0B,GAAG,EAAE;QACR;QACA1B,IAAI,CAACS,aAAa,CAACS,OAAO,EAAEiB,SAAS,CAAC;QACtC,IAAI,CAACvD,aAAa,CAACkB,WAAW,CAAC,IAAI,EAAE4B,GAAG,CAAC;QACzC,MAAMA,GAAG;MACb;MACA,IAAI,CAACP,gBAAgB,CAACnB,IAAI,EAAE,CAAC,CAAC,CAAC;MAC/BA,IAAI,CAACS,aAAa,CAACN,YAAY,EAAEgC,SAAS,CAAC;MAC3CnC,IAAI,CAACW,QAAQ,GAAG,CAAC;MACjB,OAAOX,IAAI;IACf;IACAmB,gBAAgBA,CAACnB,IAAI,EAAEoC,KAAK,EAAE;MAC1B,MAAMb,aAAa,GAAGvB,IAAI,CAACwB,cAAc;MACzC,IAAIY,KAAK,IAAI,CAAC,CAAC,EAAE;QACbpC,IAAI,CAACwB,cAAc,GAAG,IAAI;MAC9B;MACA,KAAK,IAAIa,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGd,aAAa,CAACe,MAAM,EAAED,CAAC,EAAE,EAAE;QAC3Cd,aAAa,CAACc,CAAC,CAAC,CAAClB,gBAAgB,CAACnB,IAAI,CAACI,IAAI,EAAEgC,KAAK,CAAC;MACvD;IACJ;EACJ;EACA,MAAMG,WAAW,GAAG;IAChBzF,IAAI,EAAE,EAAE;IACR0F,SAAS,EAAEA,CAACC,QAAQ,EAAEnF,CAAC,EAAEoF,MAAM,EAAEC,YAAY,KAAKF,QAAQ,CAACG,OAAO,CAACF,MAAM,EAAEC,YAAY,CAAC;IACxFE,cAAc,EAAEA,CAACJ,QAAQ,EAAEnF,CAAC,EAAEoF,MAAM,EAAE1C,IAAI,KAAKyC,QAAQ,CAACrB,YAAY,CAACsB,MAAM,EAAE1C,IAAI,CAAC;IAClF8C,YAAY,EAAEA,CAACL,QAAQ,EAAEnF,CAAC,EAAEoF,MAAM,EAAE1C,IAAI,EAAEN,SAAS,EAAEC,SAAS,KAAK8C,QAAQ,CAACxB,UAAU,CAACyB,MAAM,EAAE1C,IAAI,EAAEN,SAAS,EAAEC,SAAS,CAAC;IAC1HoD,YAAY,EAAEA,CAACN,QAAQ,EAAEnF,CAAC,EAAEoF,MAAM,EAAE1C,IAAI,KAAKyC,QAAQ,CAACP,UAAU,CAACQ,MAAM,EAAE1C,IAAI;EACjF,CAAC;EACD,MAAMnB,aAAa,CAAC;IAChBL,WAAWA,CAACd,IAAI,EAAEsF,cAAc,EAAEvE,QAAQ,EAAE;MACxC,IAAI,CAACwE,WAAW,GAAG;QAAE,WAAW,EAAE,CAAC;QAAE,WAAW,EAAE,CAAC;QAAE,WAAW,EAAE;MAAE,CAAC;MACrE,IAAI,CAACvF,IAAI,GAAGA,IAAI;MAChB,IAAI,CAACwF,eAAe,GAAGF,cAAc;MACrC,IAAI,CAACG,OAAO,GAAG1E,QAAQ,KAAKA,QAAQ,IAAIA,QAAQ,CAAC2E,MAAM,GAAG3E,QAAQ,GAAGuE,cAAc,CAACG,OAAO,CAAC;MAC5F,IAAI,CAACE,SAAS,GAAG5E,QAAQ,KAAKA,QAAQ,CAAC2E,MAAM,GAAGJ,cAAc,GAAGA,cAAc,CAACK,SAAS,CAAC;MAC1F,IAAI,CAACC,aAAa,GACd7E,QAAQ,KAAKA,QAAQ,CAAC2E,MAAM,GAAG,IAAI,CAAC1F,IAAI,GAAGsF,cAAc,CAACM,aAAa,CAAC;MAC5E,IAAI,CAACC,YAAY,GACb9E,QAAQ,KAAKA,QAAQ,CAAC+E,WAAW,GAAG/E,QAAQ,GAAGuE,cAAc,CAACO,YAAY,CAAC;MAC/E,IAAI,CAACE,cAAc,GACfhF,QAAQ,KAAKA,QAAQ,CAAC+E,WAAW,GAAGR,cAAc,GAAGA,cAAc,CAACS,cAAc,CAAC;MACvF,IAAI,CAACC,kBAAkB,GACnBjF,QAAQ,KAAKA,QAAQ,CAAC+E,WAAW,GAAG,IAAI,CAAC9F,IAAI,GAAGsF,cAAc,CAACU,kBAAkB,CAAC;MACtF,IAAI,CAACC,SAAS,GAAGlF,QAAQ,KAAKA,QAAQ,CAACmF,QAAQ,GAAGnF,QAAQ,GAAGuE,cAAc,CAACW,SAAS,CAAC;MACtF,IAAI,CAACE,WAAW,GACZpF,QAAQ,KAAKA,QAAQ,CAACmF,QAAQ,GAAGZ,cAAc,GAAGA,cAAc,CAACa,WAAW,CAAC;MACjF,IAAI,CAACC,eAAe,GAChBrF,QAAQ,KAAKA,QAAQ,CAACmF,QAAQ,GAAG,IAAI,CAAClG,IAAI,GAAGsF,cAAc,CAACc,eAAe,CAAC;MAChF,IAAI,CAACC,cAAc,GACftF,QAAQ,KAAKA,QAAQ,CAACuF,aAAa,GAAGvF,QAAQ,GAAGuE,cAAc,CAACe,cAAc,CAAC;MACnF,IAAI,CAACE,gBAAgB,GACjBxF,QAAQ,KAAKA,QAAQ,CAACuF,aAAa,GAAGhB,cAAc,GAAGA,cAAc,CAACiB,gBAAgB,CAAC;MAC3F,IAAI,CAACC,oBAAoB,GACrBzF,QAAQ,KAAKA,QAAQ,CAACuF,aAAa,GAAG,IAAI,CAACtG,IAAI,GAAGsF,cAAc,CAACkB,oBAAoB,CAAC;MAC1F,IAAI,CAACC,eAAe,GAChB1F,QAAQ,KAAKA,QAAQ,CAACoE,cAAc,GAAGpE,QAAQ,GAAGuE,cAAc,CAACmB,eAAe,CAAC;MACrF,IAAI,CAACC,iBAAiB,GAAG3F,QAAQ,KAC5BA,QAAQ,CAACoE,cAAc,GAAGG,cAAc,GAAGA,cAAc,CAACoB,iBAAiB,CAAC;MACjF,IAAI,CAACC,qBAAqB,GACtB5F,QAAQ,KAAKA,QAAQ,CAACoE,cAAc,GAAG,IAAI,CAACnF,IAAI,GAAGsF,cAAc,CAACqB,qBAAqB,CAAC;MAC5F,IAAI,CAACC,aAAa,GACd7F,QAAQ,KAAKA,QAAQ,CAACqE,YAAY,GAAGrE,QAAQ,GAAGuE,cAAc,CAACsB,aAAa,CAAC;MACjF,IAAI,CAACC,eAAe,GAChB9F,QAAQ,KAAKA,QAAQ,CAACqE,YAAY,GAAGE,cAAc,GAAGA,cAAc,CAACuB,eAAe,CAAC;MACzF,IAAI,CAACC,mBAAmB,GACpB/F,QAAQ,KAAKA,QAAQ,CAACqE,YAAY,GAAG,IAAI,CAACpF,IAAI,GAAGsF,cAAc,CAACwB,mBAAmB,CAAC;MACxF,IAAI,CAACC,aAAa,GACdhG,QAAQ,KAAKA,QAAQ,CAACsE,YAAY,GAAGtE,QAAQ,GAAGuE,cAAc,CAACyB,aAAa,CAAC;MACjF,IAAI,CAACC,eAAe,GAChBjG,QAAQ,KAAKA,QAAQ,CAACsE,YAAY,GAAGC,cAAc,GAAGA,cAAc,CAAC0B,eAAe,CAAC;MACzF,IAAI,CAACC,mBAAmB,GACpBlG,QAAQ,KAAKA,QAAQ,CAACsE,YAAY,GAAG,IAAI,CAACrF,IAAI,GAAGsF,cAAc,CAAC2B,mBAAmB,CAAC;MACxF,IAAI,CAACC,UAAU,GAAG,IAAI;MACtB,IAAI,CAACC,YAAY,GAAG,IAAI;MACxB,IAAI,CAACC,iBAAiB,GAAG,IAAI;MAC7B,IAAI,CAACC,gBAAgB,GAAG,IAAI;MAC5B,MAAMC,eAAe,GAAGvG,QAAQ,IAAIA,QAAQ,CAAC+D,SAAS;MACtD,MAAMyC,aAAa,GAAGjC,cAAc,IAAIA,cAAc,CAAC4B,UAAU;MACjE,IAAII,eAAe,IAAIC,aAAa,EAAE;QAClC;QACA;QACA,IAAI,CAACL,UAAU,GAAGI,eAAe,GAAGvG,QAAQ,GAAG8D,WAAW;QAC1D,IAAI,CAACsC,YAAY,GAAG7B,cAAc;QAClC,IAAI,CAAC8B,iBAAiB,GAAG,IAAI;QAC7B,IAAI,CAACC,gBAAgB,GAAGrH,IAAI;QAC5B,IAAI,CAACe,QAAQ,CAACoE,cAAc,EAAE;UAC1B,IAAI,CAACsB,eAAe,GAAG5B,WAAW;UAClC,IAAI,CAAC6B,iBAAiB,GAAGpB,cAAc;UACvC,IAAI,CAACqB,qBAAqB,GAAG,IAAI,CAAC3G,IAAI;QAC1C;QACA,IAAI,CAACe,QAAQ,CAACqE,YAAY,EAAE;UACxB,IAAI,CAACwB,aAAa,GAAG/B,WAAW;UAChC,IAAI,CAACgC,eAAe,GAAGvB,cAAc;UACrC,IAAI,CAACwB,mBAAmB,GAAG,IAAI,CAAC9G,IAAI;QACxC;QACA,IAAI,CAACe,QAAQ,CAACsE,YAAY,EAAE;UACxB,IAAI,CAAC0B,aAAa,GAAGlC,WAAW;UAChC,IAAI,CAACmC,eAAe,GAAG1B,cAAc;UACrC,IAAI,CAAC2B,mBAAmB,GAAG,IAAI,CAACjH,IAAI;QACxC;MACJ;IACJ;IACAuB,IAAIA,CAACiG,UAAU,EAAEzG,QAAQ,EAAE;MACvB,OAAO,IAAI,CAAC0E,OAAO,GAAG,IAAI,CAACA,OAAO,CAACC,MAAM,CAAC,IAAI,CAACC,SAAS,EAAE,IAAI,CAAC3F,IAAI,EAAEwH,UAAU,EAAEzG,QAAQ,CAAC,GACtF,IAAIpB,IAAI,CAAC6H,UAAU,EAAEzG,QAAQ,CAAC;IACtC;IACAa,SAASA,CAAC4F,UAAU,EAAE/F,QAAQ,EAAEC,MAAM,EAAE;MACpC,OAAO,IAAI,CAACmE,YAAY,GACpB,IAAI,CAACA,YAAY,CAACC,WAAW,CAAC,IAAI,CAACC,cAAc,EAAE,IAAI,CAACC,kBAAkB,EAAEwB,UAAU,EAAE/F,QAAQ,EAAEC,MAAM,CAAC,GACzGD,QAAQ;IAChB;IACAS,MAAMA,CAACsF,UAAU,EAAE/F,QAAQ,EAAEO,SAAS,EAAEC,SAAS,EAAEP,MAAM,EAAE;MACvD,OAAO,IAAI,CAACuE,SAAS,GAAG,IAAI,CAACA,SAAS,CAACC,QAAQ,CAAC,IAAI,CAACC,WAAW,EAAE,IAAI,CAACC,eAAe,EAAEoB,UAAU,EAAE/F,QAAQ,EAAEO,SAAS,EAAEC,SAAS,EAAEP,MAAM,CAAC,GACvID,QAAQ,CAACgG,KAAK,CAACzF,SAAS,EAAEC,SAAS,CAAC;IAC5C;IACAG,WAAWA,CAACoF,UAAU,EAAErF,KAAK,EAAE;MAC3B,OAAO,IAAI,CAACkE,cAAc,GACtB,IAAI,CAACA,cAAc,CAACC,aAAa,CAAC,IAAI,CAACC,gBAAgB,EAAE,IAAI,CAACC,oBAAoB,EAAEgB,UAAU,EAAErF,KAAK,CAAC,GACtG,IAAI;IACZ;IACAuB,YAAYA,CAAC8D,UAAU,EAAElF,IAAI,EAAE;MAC3B,IAAIoF,UAAU,GAAGpF,IAAI;MACrB,IAAI,IAAI,CAACmE,eAAe,EAAE;QACtB,IAAI,IAAI,CAACS,UAAU,EAAE;UACjBQ,UAAU,CAAC5D,cAAc,CAAC6D,IAAI,CAAC,IAAI,CAACP,iBAAiB,CAAC;QAC1D;QACA;QACAM,UAAU,GAAG,IAAI,CAACjB,eAAe,CAACtB,cAAc,CAAC,IAAI,CAACuB,iBAAiB,EAAE,IAAI,CAACC,qBAAqB,EAAEa,UAAU,EAAElF,IAAI,CAAC;QACtH;QACA,IAAI,CAACoF,UAAU,EACXA,UAAU,GAAGpF,IAAI;MACzB,CAAC,MACI;QACD,IAAIA,IAAI,CAACsF,UAAU,EAAE;UACjBtF,IAAI,CAACsF,UAAU,CAACtF,IAAI,CAAC;QACzB,CAAC,MACI,IAAIA,IAAI,CAACI,IAAI,IAAI0B,SAAS,EAAE;UAC7BH,iBAAiB,CAAC3B,IAAI,CAAC;QAC3B,CAAC,MACI;UACD,MAAM,IAAI5C,KAAK,CAAC,6BAA6B,CAAC;QAClD;MACJ;MACA,OAAOgI,UAAU;IACrB;IACAnE,UAAUA,CAACiE,UAAU,EAAElF,IAAI,EAAEN,SAAS,EAAEC,SAAS,EAAE;MAC/C,OAAO,IAAI,CAAC2E,aAAa,GAAG,IAAI,CAACA,aAAa,CAACxB,YAAY,CAAC,IAAI,CAACyB,eAAe,EAAE,IAAI,CAACC,mBAAmB,EAAEU,UAAU,EAAElF,IAAI,EAAEN,SAAS,EAAEC,SAAS,CAAC,GAC/IK,IAAI,CAACb,QAAQ,CAACgG,KAAK,CAACzF,SAAS,EAAEC,SAAS,CAAC;IACjD;IACAuC,UAAUA,CAACgD,UAAU,EAAElF,IAAI,EAAE;MACzB,IAAIuF,KAAK;MACT,IAAI,IAAI,CAACd,aAAa,EAAE;QACpBc,KAAK,GAAG,IAAI,CAACd,aAAa,CAAC1B,YAAY,CAAC,IAAI,CAAC2B,eAAe,EAAE,IAAI,CAACC,mBAAmB,EAAEO,UAAU,EAAElF,IAAI,CAAC;MAC7G,CAAC,MACI;QACD,IAAI,CAACA,IAAI,CAACe,QAAQ,EAAE;UAChB,MAAM3D,KAAK,CAAC,wBAAwB,CAAC;QACzC;QACAmI,KAAK,GAAGvF,IAAI,CAACe,QAAQ,CAACf,IAAI,CAAC;MAC/B;MACA,OAAOuF,KAAK;IAChB;IACA3C,OAAOA,CAACsC,UAAU,EAAEM,OAAO,EAAE;MACzB;MACA;MACA,IAAI;QACA,IAAI,CAACZ,UAAU,IACX,IAAI,CAACA,UAAU,CAACpC,SAAS,CAAC,IAAI,CAACqC,YAAY,EAAE,IAAI,CAACE,gBAAgB,EAAEG,UAAU,EAAEM,OAAO,CAAC;MAChG,CAAC,CACD,OAAO9D,GAAG,EAAE;QACR,IAAI,CAAC5B,WAAW,CAACoF,UAAU,EAAExD,GAAG,CAAC;MACrC;IACJ;IACA;IACAP,gBAAgBA,CAACf,IAAI,EAAEgC,KAAK,EAAE;MAC1B,MAAMqD,MAAM,GAAG,IAAI,CAACxC,WAAW;MAC/B,MAAMyC,IAAI,GAAGD,MAAM,CAACrF,IAAI,CAAC;MACzB,MAAMuF,IAAI,GAAGF,MAAM,CAACrF,IAAI,CAAC,GAAGsF,IAAI,GAAGtD,KAAK;MACxC,IAAIuD,IAAI,GAAG,CAAC,EAAE;QACV,MAAM,IAAIvI,KAAK,CAAC,0CAA0C,CAAC;MAC/D;MACA,IAAIsI,IAAI,IAAI,CAAC,IAAIC,IAAI,IAAI,CAAC,EAAE;QACxB,MAAMH,OAAO,GAAG;UACZ1D,SAAS,EAAE2D,MAAM,CAAC,WAAW,CAAC,GAAG,CAAC;UAClCnF,SAAS,EAAEmF,MAAM,CAAC,WAAW,CAAC,GAAG,CAAC;UAClCpF,SAAS,EAAEoF,MAAM,CAAC,WAAW,CAAC,GAAG,CAAC;UAClCG,MAAM,EAAExF;QACZ,CAAC;QACD,IAAI,CAACwC,OAAO,CAAC,IAAI,CAAClF,IAAI,EAAE8H,OAAO,CAAC;MACpC;IACJ;EACJ;EACA,MAAM3D,QAAQ,CAAC;IACXrD,WAAWA,CAAC4B,IAAI,EAAEhB,MAAM,EAAED,QAAQ,EAAE0G,OAAO,EAAEP,UAAU,EAAEvE,QAAQ,EAAE;MAC/D;MACA,IAAI,CAACU,KAAK,GAAG,IAAI;MACjB,IAAI,CAACd,QAAQ,GAAG,CAAC;MACjB;MACA,IAAI,CAACa,cAAc,GAAG,IAAI;MAC1B;MACA,IAAI,CAACsE,MAAM,GAAG,cAAc;MAC5B,IAAI,CAAC1F,IAAI,GAAGA,IAAI;MAChB,IAAI,CAAChB,MAAM,GAAGA,MAAM;MACpB,IAAI,CAACyB,IAAI,GAAGgF,OAAO;MACnB,IAAI,CAACP,UAAU,GAAGA,UAAU;MAC5B,IAAI,CAACvE,QAAQ,GAAGA,QAAQ;MACxB,IAAI,CAAC5B,QAAQ,EAAE;QACX,MAAM,IAAI/B,KAAK,CAAC,yBAAyB,CAAC;MAC9C;MACA,IAAI,CAAC+B,QAAQ,GAAGA,QAAQ;MACxB,MAAM4G,IAAI,GAAG,IAAI;MACjB;MACA,IAAI3F,IAAI,KAAKC,SAAS,IAAIwF,OAAO,IAAIA,OAAO,CAACG,IAAI,EAAE;QAC/C,IAAI,CAACpG,MAAM,GAAGiC,QAAQ,CAACZ,UAAU;MACrC,CAAC,MACI;QACD,IAAI,CAACrB,MAAM,GAAG,YAAY;UACtB,OAAOiC,QAAQ,CAACZ,UAAU,CAACgF,IAAI,CAACtJ,MAAM,EAAEoJ,IAAI,EAAE,IAAI,EAAEvG,SAAS,CAAC;QAClE,CAAC;MACL;IACJ;IACA,OAAOyB,UAAUA,CAACjB,IAAI,EAAE0C,MAAM,EAAEwD,IAAI,EAAE;MAClC,IAAI,CAAClG,IAAI,EAAE;QACPA,IAAI,GAAG,IAAI;MACf;MACAmG,yBAAyB,EAAE;MAC3B,IAAI;QACAnG,IAAI,CAACW,QAAQ,EAAE;QACf,OAAOX,IAAI,CAACtC,IAAI,CAACqC,OAAO,CAACC,IAAI,EAAE0C,MAAM,EAAEwD,IAAI,CAAC;MAChD,CAAC,SACO;QACJ,IAAIC,yBAAyB,IAAI,CAAC,EAAE;UAChCC,mBAAmB,CAAC,CAAC;QACzB;QACAD,yBAAyB,EAAE;MAC/B;IACJ;IACA,IAAIzI,IAAIA,CAAA,EAAG;MACP,OAAO,IAAI,CAAC+D,KAAK;IACrB;IACA,IAAIvB,KAAKA,CAAA,EAAG;MACR,OAAO,IAAI,CAAC4F,MAAM;IACtB;IACAO,qBAAqBA,CAAA,EAAG;MACpB,IAAI,CAAC5F,aAAa,CAACN,YAAY,EAAEmB,UAAU,CAAC;IAChD;IACA;IACAb,aAAaA,CAAC6F,OAAO,EAAEC,UAAU,EAAEC,UAAU,EAAE;MAC3C,IAAI,IAAI,CAACV,MAAM,KAAKS,UAAU,IAAI,IAAI,CAACT,MAAM,KAAKU,UAAU,EAAE;QAC1D,IAAI,CAACV,MAAM,GAAGQ,OAAO;QACrB,IAAIA,OAAO,IAAInG,YAAY,EAAE;UACzB,IAAI,CAACqB,cAAc,GAAG,IAAI;QAC9B;MACJ,CAAC,MACI;QACD,MAAM,IAAIpE,KAAK,CAAE,GAAE,IAAI,CAACgD,IAAK,KAAI,IAAI,CAAChB,MAAO,6BAA4BkH,OAAQ,uBAAsBC,UAAW,IAAGC,UAAU,GAAG,QAAQ,GAAGA,UAAU,GAAG,IAAI,GAAG,EAAG,UAAS,IAAI,CAACV,MAAO,IAAG,CAAC;MACjM;IACJ;IACAW,QAAQA,CAAA,EAAG;MACP,IAAI,IAAI,CAAC5F,IAAI,IAAI,OAAO,IAAI,CAACA,IAAI,CAAC6F,QAAQ,KAAK,WAAW,EAAE;QACxD,OAAO,IAAI,CAAC7F,IAAI,CAAC6F,QAAQ,CAACD,QAAQ,CAAC,CAAC;MACxC,CAAC,MACI;QACD,OAAOE,MAAM,CAACC,SAAS,CAACH,QAAQ,CAACR,IAAI,CAAC,IAAI,CAAC;MAC/C;IACJ;IACA;IACA;IACAY,MAAMA,CAAA,EAAG;MACL,OAAO;QACHzG,IAAI,EAAE,IAAI,CAACA,IAAI;QACfF,KAAK,EAAE,IAAI,CAACA,KAAK;QACjBd,MAAM,EAAE,IAAI,CAACA,MAAM;QACnB1B,IAAI,EAAE,IAAI,CAACA,IAAI,CAACZ,IAAI;QACpB6D,QAAQ,EAAE,IAAI,CAACA;MACnB,CAAC;IACL;EACJ;EACA;EACA;EACA;EACA;EACA;EACA,MAAMmG,gBAAgB,GAAG5J,UAAU,CAAC,YAAY,CAAC;EACjD,MAAM6J,aAAa,GAAG7J,UAAU,CAAC,SAAS,CAAC;EAC3C,MAAM8J,UAAU,GAAG9J,UAAU,CAAC,MAAM,CAAC;EACrC,IAAI+J,eAAe,GAAG,EAAE;EACxB,IAAIC,yBAAyB,GAAG,KAAK;EACrC,IAAIC,2BAA2B;EAC/B,SAASC,uBAAuBA,CAACC,IAAI,EAAE;IACnC,IAAI,CAACF,2BAA2B,EAAE;MAC9B,IAAIxK,MAAM,CAACoK,aAAa,CAAC,EAAE;QACvBI,2BAA2B,GAAGxK,MAAM,CAACoK,aAAa,CAAC,CAACO,OAAO,CAAC,CAAC,CAAC;MAClE;IACJ;IACA,IAAIH,2BAA2B,EAAE;MAC7B,IAAII,UAAU,GAAGJ,2BAA2B,CAACH,UAAU,CAAC;MACxD,IAAI,CAACO,UAAU,EAAE;QACb;QACA;QACAA,UAAU,GAAGJ,2BAA2B,CAAC,MAAM,CAAC;MACpD;MACAI,UAAU,CAACtB,IAAI,CAACkB,2BAA2B,EAAEE,IAAI,CAAC;IACtD,CAAC,MACI;MACD1K,MAAM,CAACmK,gBAAgB,CAAC,CAACO,IAAI,EAAE,CAAC,CAAC;IACrC;EACJ;EACA,SAAS1F,iBAAiBA,CAAC3B,IAAI,EAAE;IAC7B;IACA;IACA,IAAImG,yBAAyB,KAAK,CAAC,IAAIc,eAAe,CAAC3E,MAAM,KAAK,CAAC,EAAE;MACjE;MACA8E,uBAAuB,CAAChB,mBAAmB,CAAC;IAChD;IACApG,IAAI,IAAIiH,eAAe,CAAC5B,IAAI,CAACrF,IAAI,CAAC;EACtC;EACA,SAASoG,mBAAmBA,CAAA,EAAG;IAC3B,IAAI,CAACc,yBAAyB,EAAE;MAC5BA,yBAAyB,GAAG,IAAI;MAChC,OAAOD,eAAe,CAAC3E,MAAM,EAAE;QAC3B,MAAMkF,KAAK,GAAGP,eAAe;QAC7BA,eAAe,GAAG,EAAE;QACpB,KAAK,IAAI5E,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGmF,KAAK,CAAClF,MAAM,EAAED,CAAC,EAAE,EAAE;UACnC,MAAMrC,IAAI,GAAGwH,KAAK,CAACnF,CAAC,CAAC;UACrB,IAAI;YACArC,IAAI,CAACtC,IAAI,CAACqC,OAAO,CAACC,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC;UACvC,CAAC,CACD,OAAOH,KAAK,EAAE;YACVxB,IAAI,CAACoJ,gBAAgB,CAAC5H,KAAK,CAAC;UAChC;QACJ;MACJ;MACAxB,IAAI,CAACqJ,kBAAkB,CAAC,CAAC;MACzBR,yBAAyB,GAAG,KAAK;IACrC;EACJ;EACA;EACA;EACA;EACA;EACA;EACA,MAAMjH,OAAO,GAAG;IAAEnD,IAAI,EAAE;EAAU,CAAC;EACnC,MAAMqD,YAAY,GAAG,cAAc;IAAEmB,UAAU,GAAG,YAAY;IAAEZ,SAAS,GAAG,WAAW;IAAEF,OAAO,GAAG,SAAS;IAAE2B,SAAS,GAAG,WAAW;IAAEjB,OAAO,GAAG,SAAS;EAC1J,MAAMY,SAAS,GAAG,WAAW;IAAExB,SAAS,GAAG,WAAW;IAAED,SAAS,GAAG,WAAW;EAC/E,MAAM7C,OAAO,GAAG,CAAC,CAAC;EAClB,MAAMa,IAAI,GAAG;IACTsJ,MAAM,EAAEzK,UAAU;IAClB0K,gBAAgB,EAAEA,CAAA,KAAM/J,iBAAiB;IACzC4J,gBAAgB,EAAEI,IAAI;IACtBH,kBAAkB,EAAEG,IAAI;IACxBlG,iBAAiB,EAAEA,iBAAiB;IACpCmG,iBAAiB,EAAEA,CAAA,KAAM,CAACzK,IAAI,CAACH,UAAU,CAAC,iCAAiC,CAAC,CAAC;IAC7E6K,gBAAgB,EAAEA,CAAA,KAAM,EAAE;IAC1BC,iBAAiB,EAAEH,IAAI;IACvBI,WAAW,EAAEA,CAAA,KAAMJ,IAAI;IACvBK,aAAa,EAAEA,CAAA,KAAM,EAAE;IACvBC,SAAS,EAAEA,CAAA,KAAMN,IAAI;IACrBO,cAAc,EAAEA,CAAA,KAAMP,IAAI;IAC1BQ,mBAAmB,EAAEA,CAAA,KAAMR,IAAI;IAC/BS,UAAU,EAAEA,CAAA,KAAM,KAAK;IACvBC,gBAAgB,EAAEA,CAAA,KAAMvH,SAAS;IACjCwH,oBAAoB,EAAEA,CAAA,KAAMX,IAAI;IAChCY,8BAA8B,EAAEA,CAAA,KAAMzH,SAAS;IAC/C0H,YAAY,EAAEA,CAAA,KAAM1H,SAAS;IAC7B2H,UAAU,EAAEA,CAAA,KAAM,EAAE;IACpBC,UAAU,EAAEA,CAAA,KAAMf,IAAI;IACtBgB,mBAAmB,EAAEA,CAAA,KAAMhB,IAAI;IAC/BiB,gBAAgB,EAAEA,CAAA,KAAM,EAAE;IAC1BC,qBAAqB,EAAEA,CAAA,KAAMlB,IAAI;IACjCmB,iBAAiB,EAAEA,CAAA,KAAMnB,IAAI;IAC7BoB,cAAc,EAAEA,CAAA,KAAMpB,IAAI;IAC1BT,uBAAuB,EAAEA;EAC7B,CAAC;EACD,IAAIvJ,iBAAiB,GAAG;IAAED,MAAM,EAAE,IAAI;IAAEF,IAAI,EAAE,IAAIL,IAAI,CAAC,IAAI,EAAE,IAAI;EAAE,CAAC;EACpE,IAAIU,YAAY,GAAG,IAAI;EACvB,IAAIoI,yBAAyB,GAAG,CAAC;EACjC,SAAS0B,IAAIA,CAAA,EAAG,CAAE;EAClB9K,kBAAkB,CAAC,MAAM,EAAE,MAAM,CAAC;EAClC,OAAOJ,MAAM,CAAC,MAAM,CAAC,GAAGU,IAAI;AAChC,CAAC,EAAG,OAAO6L,MAAM,KAAK,WAAW,IAAIA,MAAM,IAAI,OAAOnD,IAAI,KAAK,WAAW,IAAIA,IAAI,IAAIpJ,MAAM,CAAC;;AAE7F;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM8L,8BAA8B,GAAG9B,MAAM,CAACwC,wBAAwB;AACtE;AACA,MAAMX,oBAAoB,GAAG7B,MAAM,CAACyC,cAAc;AAClD;AACA,MAAMC,oBAAoB,GAAG1C,MAAM,CAAC2C,cAAc;AAClD;AACA,MAAMZ,YAAY,GAAG/B,MAAM,CAAC4C,MAAM;AAClC;AACA,MAAMZ,UAAU,GAAGa,KAAK,CAAC5C,SAAS,CAAC6C,KAAK;AACxC;AACA,MAAMC,sBAAsB,GAAG,kBAAkB;AACjD;AACA,MAAMC,yBAAyB,GAAG,qBAAqB;AACvD;AACA,MAAMC,8BAA8B,GAAGvM,IAAI,CAACH,UAAU,CAACwM,sBAAsB,CAAC;AAC9E;AACA,MAAMG,iCAAiC,GAAGxM,IAAI,CAACH,UAAU,CAACyM,yBAAyB,CAAC;AACpF;AACA,MAAMG,QAAQ,GAAG,MAAM;AACvB;AACA,MAAMC,SAAS,GAAG,OAAO;AACzB;AACA,MAAMC,kBAAkB,GAAG3M,IAAI,CAACH,UAAU,CAAC,EAAE,CAAC;AAC9C,SAAS2L,mBAAmBA,CAAC1J,QAAQ,EAAEC,MAAM,EAAE;EAC3C,OAAO/B,IAAI,CAACM,OAAO,CAACuB,IAAI,CAACC,QAAQ,EAAEC,MAAM,CAAC;AAC9C;AACA,SAAS6K,gCAAgCA,CAAC7K,MAAM,EAAED,QAAQ,EAAE0B,IAAI,EAAEe,cAAc,EAAEI,YAAY,EAAE;EAC5F,OAAO3E,IAAI,CAACM,OAAO,CAACoE,iBAAiB,CAAC3C,MAAM,EAAED,QAAQ,EAAE0B,IAAI,EAAEe,cAAc,EAAEI,YAAY,CAAC;AAC/F;AACA,MAAMkI,UAAU,GAAG7M,IAAI,CAACH,UAAU;AAClC,MAAMiN,cAAc,GAAG,OAAOjB,MAAM,KAAK,WAAW;AACpD,MAAMkB,cAAc,GAAGD,cAAc,GAAGjB,MAAM,GAAGlI,SAAS;AAC1D,MAAMqJ,OAAO,GAAGF,cAAc,IAAIC,cAAc,IAAI,OAAOrE,IAAI,KAAK,QAAQ,IAAIA,IAAI,IAAIpJ,MAAM;AAC9F,MAAM2N,gBAAgB,GAAG,iBAAiB;AAC1C,SAASpC,aAAaA,CAAChC,IAAI,EAAE9G,MAAM,EAAE;EACjC,KAAK,IAAIiD,CAAC,GAAG6D,IAAI,CAAC5D,MAAM,GAAG,CAAC,EAAED,CAAC,IAAI,CAAC,EAAEA,CAAC,EAAE,EAAE;IACvC,IAAI,OAAO6D,IAAI,CAAC7D,CAAC,CAAC,KAAK,UAAU,EAAE;MAC/B6D,IAAI,CAAC7D,CAAC,CAAC,GAAGwG,mBAAmB,CAAC3C,IAAI,CAAC7D,CAAC,CAAC,EAAEjD,MAAM,GAAG,GAAG,GAAGiD,CAAC,CAAC;IAC5D;EACJ;EACA,OAAO6D,IAAI;AACf;AACA,SAASqE,cAAcA,CAAC3D,SAAS,EAAE4D,OAAO,EAAE;EACxC,MAAMpL,MAAM,GAAGwH,SAAS,CAACpI,WAAW,CAAC,MAAM,CAAC;EAC5C,KAAK,IAAI6D,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGmI,OAAO,CAAClI,MAAM,EAAED,CAAC,EAAE,EAAE;IACrC,MAAMvF,IAAI,GAAG0N,OAAO,CAACnI,CAAC,CAAC;IACvB,MAAMI,QAAQ,GAAGmE,SAAS,CAAC9J,IAAI,CAAC;IAChC,IAAI2F,QAAQ,EAAE;MACV,MAAMgI,aAAa,GAAGhC,8BAA8B,CAAC7B,SAAS,EAAE9J,IAAI,CAAC;MACrE,IAAI,CAAC4N,kBAAkB,CAACD,aAAa,CAAC,EAAE;QACpC;MACJ;MACA7D,SAAS,CAAC9J,IAAI,CAAC,GAAG,CAAE2F,QAAQ,IAAK;QAC7B,MAAMkI,OAAO,GAAG,SAAAA,CAAA,EAAY;UACxB,OAAOlI,QAAQ,CAAC0C,KAAK,CAAC,IAAI,EAAE+C,aAAa,CAAC1I,SAAS,EAAEJ,MAAM,GAAG,GAAG,GAAGtC,IAAI,CAAC,CAAC;QAC9E,CAAC;QACDiM,qBAAqB,CAAC4B,OAAO,EAAElI,QAAQ,CAAC;QACxC,OAAOkI,OAAO;MAClB,CAAC,EAAElI,QAAQ,CAAC;IAChB;EACJ;AACJ;AACA,SAASiI,kBAAkBA,CAACE,YAAY,EAAE;EACtC,IAAI,CAACA,YAAY,EAAE;IACf,OAAO,IAAI;EACf;EACA,IAAIA,YAAY,CAACC,QAAQ,KAAK,KAAK,EAAE;IACjC,OAAO,KAAK;EAChB;EACA,OAAO,EAAE,OAAOD,YAAY,CAAC9L,GAAG,KAAK,UAAU,IAAI,OAAO8L,YAAY,CAACE,GAAG,KAAK,WAAW,CAAC;AAC/F;AACA,MAAMC,WAAW,GAAI,OAAOC,iBAAiB,KAAK,WAAW,IAAIjF,IAAI,YAAYiF,iBAAkB;AACnG;AACA;AACA,MAAMC,MAAM,GAAI,EAAE,IAAI,IAAIZ,OAAO,CAAC,IAAI,OAAOA,OAAO,CAACa,OAAO,KAAK,WAAW,IACxE,CAAC,CAAC,CAACzE,QAAQ,CAACR,IAAI,CAACoE,OAAO,CAACa,OAAO,CAAC,KAAK,kBAAmB;AAC7D,MAAMC,SAAS,GAAG,CAACF,MAAM,IAAI,CAACF,WAAW,IAAI,CAAC,EAAEZ,cAAc,IAAIC,cAAc,CAAC,aAAa,CAAC,CAAC;AAChG;AACA;AACA;AACA,MAAMgB,KAAK,GAAG,OAAOf,OAAO,CAACa,OAAO,KAAK,WAAW,IAChD,CAAC,CAAC,CAACzE,QAAQ,CAACR,IAAI,CAACoE,OAAO,CAACa,OAAO,CAAC,KAAK,kBAAkB,IAAI,CAACH,WAAW,IACxE,CAAC,EAAEZ,cAAc,IAAIC,cAAc,CAAC,aAAa,CAAC,CAAC;AACvD,MAAMiB,sBAAsB,GAAG,CAAC,CAAC;AACjC,MAAMC,MAAM,GAAG,SAAAA,CAAUC,KAAK,EAAE;EAC5B;EACA;EACAA,KAAK,GAAGA,KAAK,IAAIlB,OAAO,CAACkB,KAAK;EAC9B,IAAI,CAACA,KAAK,EAAE;IACR;EACJ;EACA,IAAIC,eAAe,GAAGH,sBAAsB,CAACE,KAAK,CAACnL,IAAI,CAAC;EACxD,IAAI,CAACoL,eAAe,EAAE;IAClBA,eAAe,GAAGH,sBAAsB,CAACE,KAAK,CAACnL,IAAI,CAAC,GAAG8J,UAAU,CAAC,aAAa,GAAGqB,KAAK,CAACnL,IAAI,CAAC;EACjG;EACA,MAAMsC,MAAM,GAAG,IAAI,IAAI6I,KAAK,CAAC7I,MAAM,IAAI2H,OAAO;EAC9C,MAAMoB,QAAQ,GAAG/I,MAAM,CAAC8I,eAAe,CAAC;EACxC,IAAIE,MAAM;EACV,IAAIP,SAAS,IAAIzI,MAAM,KAAK0H,cAAc,IAAImB,KAAK,CAACnL,IAAI,KAAK,OAAO,EAAE;IAClE;IACA;IACA;IACA,MAAMuL,UAAU,GAAGJ,KAAK;IACxBG,MAAM,GAAGD,QAAQ,IACbA,QAAQ,CAACxF,IAAI,CAAC,IAAI,EAAE0F,UAAU,CAACC,OAAO,EAAED,UAAU,CAACE,QAAQ,EAAEF,UAAU,CAACG,MAAM,EAAEH,UAAU,CAACI,KAAK,EAAEJ,UAAU,CAAC9L,KAAK,CAAC;IACvH,IAAI6L,MAAM,KAAK,IAAI,EAAE;MACjBH,KAAK,CAACS,cAAc,CAAC,CAAC;IAC1B;EACJ,CAAC,MACI;IACDN,MAAM,GAAGD,QAAQ,IAAIA,QAAQ,CAACtG,KAAK,CAAC,IAAI,EAAE3F,SAAS,CAAC;IACpD,IAAIkM,MAAM,IAAI1K,SAAS,IAAI,CAAC0K,MAAM,EAAE;MAChCH,KAAK,CAACS,cAAc,CAAC,CAAC;IAC1B;EACJ;EACA,OAAON,MAAM;AACjB,CAAC;AACD,SAASO,aAAaA,CAACC,GAAG,EAAEC,IAAI,EAAEvF,SAAS,EAAE;EACzC,IAAIwF,IAAI,GAAG3D,8BAA8B,CAACyD,GAAG,EAAEC,IAAI,CAAC;EACpD,IAAI,CAACC,IAAI,IAAIxF,SAAS,EAAE;IACpB;IACA,MAAM6D,aAAa,GAAGhC,8BAA8B,CAAC7B,SAAS,EAAEuF,IAAI,CAAC;IACrE,IAAI1B,aAAa,EAAE;MACf2B,IAAI,GAAG;QAAEC,UAAU,EAAE,IAAI;QAAEC,YAAY,EAAE;MAAK,CAAC;IACnD;EACJ;EACA;EACA;EACA,IAAI,CAACF,IAAI,IAAI,CAACA,IAAI,CAACE,YAAY,EAAE;IAC7B;EACJ;EACA,MAAMC,mBAAmB,GAAGrC,UAAU,CAAC,IAAI,GAAGiC,IAAI,GAAG,SAAS,CAAC;EAC/D,IAAID,GAAG,CAAC/N,cAAc,CAACoO,mBAAmB,CAAC,IAAIL,GAAG,CAACK,mBAAmB,CAAC,EAAE;IACrE;EACJ;EACA;EACA;EACA;EACA;EACA;EACA,OAAOH,IAAI,CAACvB,QAAQ;EACpB,OAAOuB,IAAI,CAAC7G,KAAK;EACjB,MAAMiH,eAAe,GAAGJ,IAAI,CAACtN,GAAG;EAChC,MAAM2N,eAAe,GAAGL,IAAI,CAACtB,GAAG;EAChC;EACA,MAAM4B,SAAS,GAAGP,IAAI,CAAC1C,KAAK,CAAC,CAAC,CAAC;EAC/B,IAAI+B,eAAe,GAAGH,sBAAsB,CAACqB,SAAS,CAAC;EACvD,IAAI,CAAClB,eAAe,EAAE;IAClBA,eAAe,GAAGH,sBAAsB,CAACqB,SAAS,CAAC,GAAGxC,UAAU,CAAC,aAAa,GAAGwC,SAAS,CAAC;EAC/F;EACAN,IAAI,CAACtB,GAAG,GAAG,UAAU6B,QAAQ,EAAE;IAC3B;IACA;IACA,IAAIjK,MAAM,GAAG,IAAI;IACjB,IAAI,CAACA,MAAM,IAAIwJ,GAAG,KAAK7B,OAAO,EAAE;MAC5B3H,MAAM,GAAG2H,OAAO;IACpB;IACA,IAAI,CAAC3H,MAAM,EAAE;MACT;IACJ;IACA,MAAMkK,aAAa,GAAGlK,MAAM,CAAC8I,eAAe,CAAC;IAC7C,IAAI,OAAOoB,aAAa,KAAK,UAAU,EAAE;MACrClK,MAAM,CAACmK,mBAAmB,CAACH,SAAS,EAAEpB,MAAM,CAAC;IACjD;IACA;IACA;IACAmB,eAAe,IAAIA,eAAe,CAACxG,IAAI,CAACvD,MAAM,EAAE,IAAI,CAAC;IACrDA,MAAM,CAAC8I,eAAe,CAAC,GAAGmB,QAAQ;IAClC,IAAI,OAAOA,QAAQ,KAAK,UAAU,EAAE;MAChCjK,MAAM,CAACoK,gBAAgB,CAACJ,SAAS,EAAEpB,MAAM,EAAE,KAAK,CAAC;IACrD;EACJ,CAAC;EACD;EACA;EACAc,IAAI,CAACtN,GAAG,GAAG,YAAY;IACnB;IACA;IACA,IAAI4D,MAAM,GAAG,IAAI;IACjB,IAAI,CAACA,MAAM,IAAIwJ,GAAG,KAAK7B,OAAO,EAAE;MAC5B3H,MAAM,GAAG2H,OAAO;IACpB;IACA,IAAI,CAAC3H,MAAM,EAAE;MACT,OAAO,IAAI;IACf;IACA,MAAM+I,QAAQ,GAAG/I,MAAM,CAAC8I,eAAe,CAAC;IACxC,IAAIC,QAAQ,EAAE;MACV,OAAOA,QAAQ;IACnB,CAAC,MACI,IAAIe,eAAe,EAAE;MACtB;MACA;MACA;MACA;MACA;MACA;MACA,IAAIjH,KAAK,GAAGiH,eAAe,CAACvG,IAAI,CAAC,IAAI,CAAC;MACtC,IAAIV,KAAK,EAAE;QACP6G,IAAI,CAACtB,GAAG,CAAC7E,IAAI,CAAC,IAAI,EAAEV,KAAK,CAAC;QAC1B,IAAI,OAAO7C,MAAM,CAAC4H,gBAAgB,CAAC,KAAK,UAAU,EAAE;UAChD5H,MAAM,CAACqK,eAAe,CAACZ,IAAI,CAAC;QAChC;QACA,OAAO5G,KAAK;MAChB;IACJ;IACA,OAAO,IAAI;EACf,CAAC;EACDiD,oBAAoB,CAAC0D,GAAG,EAAEC,IAAI,EAAEC,IAAI,CAAC;EACrCF,GAAG,CAACK,mBAAmB,CAAC,GAAG,IAAI;AACnC;AACA,SAASvE,iBAAiBA,CAACkE,GAAG,EAAEvN,UAAU,EAAEiI,SAAS,EAAE;EACnD,IAAIjI,UAAU,EAAE;IACZ,KAAK,IAAI0D,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAG1D,UAAU,CAAC2D,MAAM,EAAED,CAAC,EAAE,EAAE;MACxC4J,aAAa,CAACC,GAAG,EAAE,IAAI,GAAGvN,UAAU,CAAC0D,CAAC,CAAC,EAAEuE,SAAS,CAAC;IACvD;EACJ,CAAC,MACI;IACD,MAAMoG,YAAY,GAAG,EAAE;IACvB,KAAK,MAAMb,IAAI,IAAID,GAAG,EAAE;MACpB,IAAIC,IAAI,CAAC1C,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,IAAI,EAAE;QAC1BuD,YAAY,CAAC3H,IAAI,CAAC8G,IAAI,CAAC;MAC3B;IACJ;IACA,KAAK,IAAIc,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGD,YAAY,CAAC1K,MAAM,EAAE2K,CAAC,EAAE,EAAE;MAC1ChB,aAAa,CAACC,GAAG,EAAEc,YAAY,CAACC,CAAC,CAAC,EAAErG,SAAS,CAAC;IAClD;EACJ;AACJ;AACA,MAAMsG,mBAAmB,GAAGhD,UAAU,CAAC,kBAAkB,CAAC;AAC1D;AACA,SAAStB,UAAUA,CAACuE,SAAS,EAAE;EAC3B,MAAMC,aAAa,GAAG/C,OAAO,CAAC8C,SAAS,CAAC;EACxC,IAAI,CAACC,aAAa,EACd;EACJ;EACA/C,OAAO,CAACH,UAAU,CAACiD,SAAS,CAAC,CAAC,GAAGC,aAAa;EAC9C/C,OAAO,CAAC8C,SAAS,CAAC,GAAG,YAAY;IAC7B,MAAME,CAAC,GAAGnF,aAAa,CAAC1I,SAAS,EAAE2N,SAAS,CAAC;IAC7C,QAAQE,CAAC,CAAC/K,MAAM;MACZ,KAAK,CAAC;QACF,IAAI,CAAC4K,mBAAmB,CAAC,GAAG,IAAIE,aAAa,CAAC,CAAC;QAC/C;MACJ,KAAK,CAAC;QACF,IAAI,CAACF,mBAAmB,CAAC,GAAG,IAAIE,aAAa,CAACC,CAAC,CAAC,CAAC,CAAC,CAAC;QACnD;MACJ,KAAK,CAAC;QACF,IAAI,CAACH,mBAAmB,CAAC,GAAG,IAAIE,aAAa,CAACC,CAAC,CAAC,CAAC,CAAC,EAAEA,CAAC,CAAC,CAAC,CAAC,CAAC;QACzD;MACJ,KAAK,CAAC;QACF,IAAI,CAACH,mBAAmB,CAAC,GAAG,IAAIE,aAAa,CAACC,CAAC,CAAC,CAAC,CAAC,EAAEA,CAAC,CAAC,CAAC,CAAC,EAAEA,CAAC,CAAC,CAAC,CAAC,CAAC;QAC/D;MACJ,KAAK,CAAC;QACF,IAAI,CAACH,mBAAmB,CAAC,GAAG,IAAIE,aAAa,CAACC,CAAC,CAAC,CAAC,CAAC,EAAEA,CAAC,CAAC,CAAC,CAAC,EAAEA,CAAC,CAAC,CAAC,CAAC,EAAEA,CAAC,CAAC,CAAC,CAAC,CAAC;QACrE;MACJ;QACI,MAAM,IAAIjQ,KAAK,CAAC,oBAAoB,CAAC;IAC7C;EACJ,CAAC;EACD;EACA2L,qBAAqB,CAACsB,OAAO,CAAC8C,SAAS,CAAC,EAAEC,aAAa,CAAC;EACxD,MAAME,QAAQ,GAAG,IAAIF,aAAa,CAAC,YAAY,CAAE,CAAC,CAAC;EACnD,IAAIjB,IAAI;EACR,KAAKA,IAAI,IAAImB,QAAQ,EAAE;IACnB;IACA,IAAIH,SAAS,KAAK,gBAAgB,IAAIhB,IAAI,KAAK,cAAc,EACzD;IACH,WAAUA,IAAI,EAAE;MACb,IAAI,OAAOmB,QAAQ,CAACnB,IAAI,CAAC,KAAK,UAAU,EAAE;QACtC9B,OAAO,CAAC8C,SAAS,CAAC,CAACvG,SAAS,CAACuF,IAAI,CAAC,GAAG,YAAY;UAC7C,OAAO,IAAI,CAACe,mBAAmB,CAAC,CAACf,IAAI,CAAC,CAAChH,KAAK,CAAC,IAAI,CAAC+H,mBAAmB,CAAC,EAAE1N,SAAS,CAAC;QACtF,CAAC;MACL,CAAC,MACI;QACDgJ,oBAAoB,CAAC6B,OAAO,CAAC8C,SAAS,CAAC,CAACvG,SAAS,EAAEuF,IAAI,EAAE;UACrDrB,GAAG,EAAE,SAAAA,CAAU7M,EAAE,EAAE;YACf,IAAI,OAAOA,EAAE,KAAK,UAAU,EAAE;cAC1B,IAAI,CAACiP,mBAAmB,CAAC,CAACf,IAAI,CAAC,GAAGtD,mBAAmB,CAAC5K,EAAE,EAAEkP,SAAS,GAAG,GAAG,GAAGhB,IAAI,CAAC;cACjF;cACA;cACA;cACApD,qBAAqB,CAAC,IAAI,CAACmE,mBAAmB,CAAC,CAACf,IAAI,CAAC,EAAElO,EAAE,CAAC;YAC9D,CAAC,MACI;cACD,IAAI,CAACiP,mBAAmB,CAAC,CAACf,IAAI,CAAC,GAAGlO,EAAE;YACxC;UACJ,CAAC;UACDa,GAAG,EAAE,SAAAA,CAAA,EAAY;YACb,OAAO,IAAI,CAACoO,mBAAmB,CAAC,CAACf,IAAI,CAAC;UAC1C;QACJ,CAAC,CAAC;MACN;IACJ,CAAC,EAACA,IAAI,CAAC;EACX;EACA,KAAKA,IAAI,IAAIiB,aAAa,EAAE;IACxB,IAAIjB,IAAI,KAAK,WAAW,IAAIiB,aAAa,CAACjP,cAAc,CAACgO,IAAI,CAAC,EAAE;MAC5D9B,OAAO,CAAC8C,SAAS,CAAC,CAAChB,IAAI,CAAC,GAAGiB,aAAa,CAACjB,IAAI,CAAC;IAClD;EACJ;AACJ;AACA,SAASlE,WAAWA,CAACvF,MAAM,EAAE5F,IAAI,EAAEyQ,OAAO,EAAE;EACxC,IAAIC,KAAK,GAAG9K,MAAM;EAClB,OAAO8K,KAAK,IAAI,CAACA,KAAK,CAACrP,cAAc,CAACrB,IAAI,CAAC,EAAE;IACzC0Q,KAAK,GAAGnE,oBAAoB,CAACmE,KAAK,CAAC;EACvC;EACA,IAAI,CAACA,KAAK,IAAI9K,MAAM,CAAC5F,IAAI,CAAC,EAAE;IACxB;IACA0Q,KAAK,GAAG9K,MAAM;EAClB;EACA,MAAM+K,YAAY,GAAGvD,UAAU,CAACpN,IAAI,CAAC;EACrC,IAAI2F,QAAQ,GAAG,IAAI;EACnB,IAAI+K,KAAK,KAAK,EAAE/K,QAAQ,GAAG+K,KAAK,CAACC,YAAY,CAAC,CAAC,IAAI,CAACD,KAAK,CAACrP,cAAc,CAACsP,YAAY,CAAC,CAAC,EAAE;IACrFhL,QAAQ,GAAG+K,KAAK,CAACC,YAAY,CAAC,GAAGD,KAAK,CAAC1Q,IAAI,CAAC;IAC5C;IACA;IACA,MAAMsP,IAAI,GAAGoB,KAAK,IAAI/E,8BAA8B,CAAC+E,KAAK,EAAE1Q,IAAI,CAAC;IACjE,IAAI4N,kBAAkB,CAAC0B,IAAI,CAAC,EAAE;MAC1B,MAAMsB,aAAa,GAAGH,OAAO,CAAC9K,QAAQ,EAAEgL,YAAY,EAAE3Q,IAAI,CAAC;MAC3D0Q,KAAK,CAAC1Q,IAAI,CAAC,GAAG,YAAY;QACtB,OAAO4Q,aAAa,CAAC,IAAI,EAAElO,SAAS,CAAC;MACzC,CAAC;MACDuJ,qBAAqB,CAACyE,KAAK,CAAC1Q,IAAI,CAAC,EAAE2F,QAAQ,CAAC;IAChD;EACJ;EACA,OAAOA,QAAQ;AACnB;AACA;AACA,SAAS2F,cAAcA,CAAC8D,GAAG,EAAEyB,QAAQ,EAAEC,WAAW,EAAE;EAChD,IAAIC,SAAS,GAAG,IAAI;EACpB,SAASzM,YAAYA,CAACpB,IAAI,EAAE;IACxB,MAAMa,IAAI,GAAGb,IAAI,CAACa,IAAI;IACtBA,IAAI,CAACqF,IAAI,CAACrF,IAAI,CAACiN,KAAK,CAAC,GAAG,YAAY;MAChC9N,IAAI,CAACJ,MAAM,CAACuF,KAAK,CAAC,IAAI,EAAE3F,SAAS,CAAC;IACtC,CAAC;IACDqO,SAAS,CAAC1I,KAAK,CAACtE,IAAI,CAAC6B,MAAM,EAAE7B,IAAI,CAACqF,IAAI,CAAC;IACvC,OAAOlG,IAAI;EACf;EACA6N,SAAS,GAAG5F,WAAW,CAACiE,GAAG,EAAEyB,QAAQ,EAAGlL,QAAQ,IAAK,UAAUsD,IAAI,EAAEG,IAAI,EAAE;IACvE,MAAM6H,IAAI,GAAGH,WAAW,CAAC7H,IAAI,EAAEG,IAAI,CAAC;IACpC,IAAI6H,IAAI,CAACD,KAAK,IAAI,CAAC,IAAI,OAAO5H,IAAI,CAAC6H,IAAI,CAACD,KAAK,CAAC,KAAK,UAAU,EAAE;MAC3D,OAAO7D,gCAAgC,CAAC8D,IAAI,CAACjR,IAAI,EAAEoJ,IAAI,CAAC6H,IAAI,CAACD,KAAK,CAAC,EAAEC,IAAI,EAAE3M,YAAY,CAAC;IAC5F,CAAC,MACI;MACD;MACA,OAAOqB,QAAQ,CAAC0C,KAAK,CAACY,IAAI,EAAEG,IAAI,CAAC;IACrC;EACJ,CAAC,CAAC;AACN;AACA,SAAS6C,qBAAqBA,CAAC4B,OAAO,EAAEqD,QAAQ,EAAE;EAC9CrD,OAAO,CAACT,UAAU,CAAC,kBAAkB,CAAC,CAAC,GAAG8D,QAAQ;AACtD;AACA,IAAIC,kBAAkB,GAAG,KAAK;AAC9B,IAAIC,QAAQ,GAAG,KAAK;AACpB,SAASC,IAAIA,CAAA,EAAG;EACZ,IAAI;IACA,MAAMC,EAAE,GAAGhE,cAAc,CAACiE,SAAS,CAACC,SAAS;IAC7C,IAAIF,EAAE,CAACG,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,IAAIH,EAAE,CAACG,OAAO,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,EAAE;MAC7D,OAAO,IAAI;IACf;EACJ,CAAC,CACD,OAAO1O,KAAK,EAAE,CACd;EACA,OAAO,KAAK;AAChB;AACA,SAASyI,UAAUA,CAAA,EAAG;EAClB,IAAI2F,kBAAkB,EAAE;IACpB,OAAOC,QAAQ;EACnB;EACAD,kBAAkB,GAAG,IAAI;EACzB,IAAI;IACA,MAAMG,EAAE,GAAGhE,cAAc,CAACiE,SAAS,CAACC,SAAS;IAC7C,IAAIF,EAAE,CAACG,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,IAAIH,EAAE,CAACG,OAAO,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,IAAIH,EAAE,CAACG,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE;MAC3FL,QAAQ,GAAG,IAAI;IACnB;EACJ,CAAC,CACD,OAAOrO,KAAK,EAAE,CACd;EACA,OAAOqO,QAAQ;AACnB;AAEA7Q,IAAI,CAACW,YAAY,CAAC,kBAAkB,EAAE,CAACrB,MAAM,EAAEU,IAAI,EAAEmR,GAAG,KAAK;EACzD,MAAM/F,8BAA8B,GAAG9B,MAAM,CAACwC,wBAAwB;EACtE,MAAMX,oBAAoB,GAAG7B,MAAM,CAACyC,cAAc;EAClD,SAASqF,sBAAsBA,CAACvC,GAAG,EAAE;IACjC,IAAIA,GAAG,IAAIA,GAAG,CAACzF,QAAQ,KAAKE,MAAM,CAACC,SAAS,CAACH,QAAQ,EAAE;MACnD,MAAM0G,SAAS,GAAGjB,GAAG,CAAC1N,WAAW,IAAI0N,GAAG,CAAC1N,WAAW,CAAC1B,IAAI;MACzD,OAAO,CAACqQ,SAAS,GAAGA,SAAS,GAAG,EAAE,IAAI,IAAI,GAAGuB,IAAI,CAACC,SAAS,CAACzC,GAAG,CAAC;IACpE;IACA,OAAOA,GAAG,GAAGA,GAAG,CAACzF,QAAQ,CAAC,CAAC,GAAGE,MAAM,CAACC,SAAS,CAACH,QAAQ,CAACR,IAAI,CAACiG,GAAG,CAAC;EACrE;EACA,MAAMhP,UAAU,GAAGsR,GAAG,CAAC7G,MAAM;EAC7B,MAAMiH,sBAAsB,GAAG,EAAE;EACjC,MAAMC,yCAAyC,GAAGlS,MAAM,CAACO,UAAU,CAAC,6CAA6C,CAAC,CAAC,KAAK,IAAI;EAC5H,MAAM6J,aAAa,GAAG7J,UAAU,CAAC,SAAS,CAAC;EAC3C,MAAM8J,UAAU,GAAG9J,UAAU,CAAC,MAAM,CAAC;EACrC,MAAM4R,aAAa,GAAG,mBAAmB;EACzCN,GAAG,CAAC/G,gBAAgB,GAAIsH,CAAC,IAAK;IAC1B,IAAIP,GAAG,CAAC1G,iBAAiB,CAAC,CAAC,EAAE;MACzB,MAAMkH,SAAS,GAAGD,CAAC,IAAIA,CAAC,CAACC,SAAS;MAClC,IAAIA,SAAS,EAAE;QACXC,OAAO,CAACpP,KAAK,CAAC,8BAA8B,EAAEmP,SAAS,YAAY5R,KAAK,GAAG4R,SAAS,CAACpD,OAAO,GAAGoD,SAAS,EAAE,SAAS,EAAED,CAAC,CAACrR,IAAI,CAACZ,IAAI,EAAE,SAAS,EAAEiS,CAAC,CAAC/O,IAAI,IAAI+O,CAAC,CAAC/O,IAAI,CAACZ,MAAM,EAAE,UAAU,EAAE4P,SAAS,EAAEA,SAAS,YAAY5R,KAAK,GAAG4R,SAAS,CAACE,KAAK,GAAGlO,SAAS,CAAC;MAC1P,CAAC,MACI;QACDiO,OAAO,CAACpP,KAAK,CAACkP,CAAC,CAAC;MACpB;IACJ;EACJ,CAAC;EACDP,GAAG,CAAC9G,kBAAkB,GAAG,MAAM;IAC3B,OAAOkH,sBAAsB,CAACtM,MAAM,EAAE;MAClC,MAAM6M,oBAAoB,GAAGP,sBAAsB,CAACQ,KAAK,CAAC,CAAC;MAC3D,IAAI;QACAD,oBAAoB,CAACzR,IAAI,CAAC6B,UAAU,CAAC,MAAM;UACvC,IAAI4P,oBAAoB,CAACE,aAAa,EAAE;YACpC,MAAMF,oBAAoB,CAACH,SAAS;UACxC;UACA,MAAMG,oBAAoB;QAC9B,CAAC,CAAC;MACN,CAAC,CACD,OAAOtP,KAAK,EAAE;QACVyP,wBAAwB,CAACzP,KAAK,CAAC;MACnC;IACJ;EACJ,CAAC;EACD,MAAM0P,0CAA0C,GAAGrS,UAAU,CAAC,kCAAkC,CAAC;EACjG,SAASoS,wBAAwBA,CAACP,CAAC,EAAE;IACjCP,GAAG,CAAC/G,gBAAgB,CAACsH,CAAC,CAAC;IACvB,IAAI;MACA,MAAMS,OAAO,GAAGnS,IAAI,CAACkS,0CAA0C,CAAC;MAChE,IAAI,OAAOC,OAAO,KAAK,UAAU,EAAE;QAC/BA,OAAO,CAACvJ,IAAI,CAAC,IAAI,EAAE8I,CAAC,CAAC;MACzB;IACJ,CAAC,CACD,OAAOrN,GAAG,EAAE,CACZ;EACJ;EACA,SAAS+N,UAAUA,CAAClK,KAAK,EAAE;IACvB,OAAOA,KAAK,IAAIA,KAAK,CAACmK,IAAI;EAC9B;EACA,SAASC,iBAAiBA,CAACpK,KAAK,EAAE;IAC9B,OAAOA,KAAK;EAChB;EACA,SAASqK,gBAAgBA,CAACZ,SAAS,EAAE;IACjC,OAAOa,gBAAgB,CAACC,MAAM,CAACd,SAAS,CAAC;EAC7C;EACA,MAAMe,WAAW,GAAG7S,UAAU,CAAC,OAAO,CAAC;EACvC,MAAM8S,WAAW,GAAG9S,UAAU,CAAC,OAAO,CAAC;EACvC,MAAM+S,aAAa,GAAG/S,UAAU,CAAC,SAAS,CAAC;EAC3C,MAAMgT,wBAAwB,GAAGhT,UAAU,CAAC,oBAAoB,CAAC;EACjE,MAAMiT,wBAAwB,GAAGjT,UAAU,CAAC,oBAAoB,CAAC;EACjE,MAAMkC,MAAM,GAAG,cAAc;EAC7B,MAAMgR,UAAU,GAAG,IAAI;EACvB,MAAMC,QAAQ,GAAG,IAAI;EACrB,MAAMC,QAAQ,GAAG,KAAK;EACtB,MAAMC,iBAAiB,GAAG,CAAC;EAC3B,SAASC,YAAYA,CAACC,OAAO,EAAEvQ,KAAK,EAAE;IAClC,OAAQwQ,CAAC,IAAK;MACV,IAAI;QACAC,cAAc,CAACF,OAAO,EAAEvQ,KAAK,EAAEwQ,CAAC,CAAC;MACrC,CAAC,CACD,OAAOhP,GAAG,EAAE;QACRiP,cAAc,CAACF,OAAO,EAAE,KAAK,EAAE/O,GAAG,CAAC;MACvC;MACA;IACJ,CAAC;EACL;;EACA,MAAMkP,IAAI,GAAG,SAAAA,CAAA,EAAY;IACrB,IAAIC,SAAS,GAAG,KAAK;IACrB,OAAO,SAASC,OAAOA,CAACC,eAAe,EAAE;MACrC,OAAO,YAAY;QACf,IAAIF,SAAS,EAAE;UACX;QACJ;QACAA,SAAS,GAAG,IAAI;QAChBE,eAAe,CAAC5L,KAAK,CAAC,IAAI,EAAE3F,SAAS,CAAC;MAC1C,CAAC;IACL,CAAC;EACL,CAAC;EACD,MAAMwR,UAAU,GAAG,8BAA8B;EACjD,MAAMC,yBAAyB,GAAG/T,UAAU,CAAC,kBAAkB,CAAC;EAChE;EACA,SAASyT,cAAcA,CAACF,OAAO,EAAEvQ,KAAK,EAAEqF,KAAK,EAAE;IAC3C,MAAM2L,WAAW,GAAGN,IAAI,CAAC,CAAC;IAC1B,IAAIH,OAAO,KAAKlL,KAAK,EAAE;MACnB,MAAM,IAAI4L,SAAS,CAACH,UAAU,CAAC;IACnC;IACA,IAAIP,OAAO,CAACV,WAAW,CAAC,KAAKK,UAAU,EAAE;MACrC;MACA,IAAIV,IAAI,GAAG,IAAI;MACf,IAAI;QACA,IAAI,OAAOnK,KAAK,KAAK,QAAQ,IAAI,OAAOA,KAAK,KAAK,UAAU,EAAE;UAC1DmK,IAAI,GAAGnK,KAAK,IAAIA,KAAK,CAACmK,IAAI;QAC9B;MACJ,CAAC,CACD,OAAOhO,GAAG,EAAE;QACRwP,WAAW,CAAC,MAAM;UACdP,cAAc,CAACF,OAAO,EAAE,KAAK,EAAE/O,GAAG,CAAC;QACvC,CAAC,CAAC,CAAC,CAAC;QACJ,OAAO+O,OAAO;MAClB;MACA;MACA,IAAIvQ,KAAK,KAAKoQ,QAAQ,IAAI/K,KAAK,YAAYsK,gBAAgB,IACvDtK,KAAK,CAACpH,cAAc,CAAC4R,WAAW,CAAC,IAAIxK,KAAK,CAACpH,cAAc,CAAC6R,WAAW,CAAC,IACtEzK,KAAK,CAACwK,WAAW,CAAC,KAAKK,UAAU,EAAE;QACnCgB,oBAAoB,CAAC7L,KAAK,CAAC;QAC3BoL,cAAc,CAACF,OAAO,EAAElL,KAAK,CAACwK,WAAW,CAAC,EAAExK,KAAK,CAACyK,WAAW,CAAC,CAAC;MACnE,CAAC,MACI,IAAI9P,KAAK,KAAKoQ,QAAQ,IAAI,OAAOZ,IAAI,KAAK,UAAU,EAAE;QACvD,IAAI;UACAA,IAAI,CAACzJ,IAAI,CAACV,KAAK,EAAE2L,WAAW,CAACV,YAAY,CAACC,OAAO,EAAEvQ,KAAK,CAAC,CAAC,EAAEgR,WAAW,CAACV,YAAY,CAACC,OAAO,EAAE,KAAK,CAAC,CAAC,CAAC;QAC1G,CAAC,CACD,OAAO/O,GAAG,EAAE;UACRwP,WAAW,CAAC,MAAM;YACdP,cAAc,CAACF,OAAO,EAAE,KAAK,EAAE/O,GAAG,CAAC;UACvC,CAAC,CAAC,CAAC,CAAC;QACR;MACJ,CAAC,MACI;QACD+O,OAAO,CAACV,WAAW,CAAC,GAAG7P,KAAK;QAC5B,MAAMsH,KAAK,GAAGiJ,OAAO,CAACT,WAAW,CAAC;QAClCS,OAAO,CAACT,WAAW,CAAC,GAAGzK,KAAK;QAC5B,IAAIkL,OAAO,CAACR,aAAa,CAAC,KAAKA,aAAa,EAAE;UAC1C;UACA,IAAI/P,KAAK,KAAKmQ,QAAQ,EAAE;YACpB;YACA;YACAI,OAAO,CAACV,WAAW,CAAC,GAAGU,OAAO,CAACN,wBAAwB,CAAC;YACxDM,OAAO,CAACT,WAAW,CAAC,GAAGS,OAAO,CAACP,wBAAwB,CAAC;UAC5D;QACJ;QACA;QACA;QACA,IAAIhQ,KAAK,KAAKoQ,QAAQ,IAAI/K,KAAK,YAAYnI,KAAK,EAAE;UAC9C;UACA,MAAMiU,KAAK,GAAGhU,IAAI,CAACS,WAAW,IAAIT,IAAI,CAACS,WAAW,CAAC+C,IAAI,IACnDxD,IAAI,CAACS,WAAW,CAAC+C,IAAI,CAACiO,aAAa,CAAC;UACxC,IAAIuC,KAAK,EAAE;YACP;YACA7I,oBAAoB,CAACjD,KAAK,EAAE0L,yBAAyB,EAAE;cAAE3E,YAAY,EAAE,IAAI;cAAED,UAAU,EAAE,KAAK;cAAExB,QAAQ,EAAE,IAAI;cAAEtF,KAAK,EAAE8L;YAAM,CAAC,CAAC;UACnI;QACJ;QACA,KAAK,IAAIhP,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGmF,KAAK,CAAClF,MAAM,GAAG;UAC/BgP,uBAAuB,CAACb,OAAO,EAAEjJ,KAAK,CAACnF,CAAC,EAAE,CAAC,EAAEmF,KAAK,CAACnF,CAAC,EAAE,CAAC,EAAEmF,KAAK,CAACnF,CAAC,EAAE,CAAC,EAAEmF,KAAK,CAACnF,CAAC,EAAE,CAAC,CAAC;QACpF;QACA,IAAImF,KAAK,CAAClF,MAAM,IAAI,CAAC,IAAIpC,KAAK,IAAIoQ,QAAQ,EAAE;UACxCG,OAAO,CAACV,WAAW,CAAC,GAAGQ,iBAAiB;UACxC,IAAIpB,oBAAoB,GAAG5J,KAAK;UAChC,IAAI;YACA;YACA;YACA;YACA,MAAM,IAAInI,KAAK,CAAC,yBAAyB,GAAGqR,sBAAsB,CAAClJ,KAAK,CAAC,IACpEA,KAAK,IAAIA,KAAK,CAAC2J,KAAK,GAAG,IAAI,GAAG3J,KAAK,CAAC2J,KAAK,GAAG,EAAE,CAAC,CAAC;UACzD,CAAC,CACD,OAAOxN,GAAG,EAAE;YACRyN,oBAAoB,GAAGzN,GAAG;UAC9B;UACA,IAAImN,yCAAyC,EAAE;YAC3C;YACA;YACAM,oBAAoB,CAACE,aAAa,GAAG,IAAI;UAC7C;UACAF,oBAAoB,CAACH,SAAS,GAAGzJ,KAAK;UACtC4J,oBAAoB,CAACsB,OAAO,GAAGA,OAAO;UACtCtB,oBAAoB,CAACzR,IAAI,GAAGL,IAAI,CAACM,OAAO;UACxCwR,oBAAoB,CAACnP,IAAI,GAAG3C,IAAI,CAACS,WAAW;UAC5C8Q,sBAAsB,CAACvJ,IAAI,CAAC8J,oBAAoB,CAAC;UACjDX,GAAG,CAAC7M,iBAAiB,CAAC,CAAC,CAAC,CAAC;QAC7B;MACJ;IACJ;IACA;IACA,OAAO8O,OAAO;EAClB;EACA,MAAMc,yBAAyB,GAAGrU,UAAU,CAAC,yBAAyB,CAAC;EACvE,SAASkU,oBAAoBA,CAACX,OAAO,EAAE;IACnC,IAAIA,OAAO,CAACV,WAAW,CAAC,KAAKQ,iBAAiB,EAAE;MAC5C;MACA;MACA;MACA;MACA;MACA,IAAI;QACA,MAAMf,OAAO,GAAGnS,IAAI,CAACkU,yBAAyB,CAAC;QAC/C,IAAI/B,OAAO,IAAI,OAAOA,OAAO,KAAK,UAAU,EAAE;UAC1CA,OAAO,CAACvJ,IAAI,CAAC,IAAI,EAAE;YAAE+I,SAAS,EAAEyB,OAAO,CAACT,WAAW,CAAC;YAAES,OAAO,EAAEA;UAAQ,CAAC,CAAC;QAC7E;MACJ,CAAC,CACD,OAAO/O,GAAG,EAAE,CACZ;MACA+O,OAAO,CAACV,WAAW,CAAC,GAAGO,QAAQ;MAC/B,KAAK,IAAIjO,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGuM,sBAAsB,CAACtM,MAAM,EAAED,CAAC,EAAE,EAAE;QACpD,IAAIoO,OAAO,KAAK7B,sBAAsB,CAACvM,CAAC,CAAC,CAACoO,OAAO,EAAE;UAC/C7B,sBAAsB,CAAC4C,MAAM,CAACnP,CAAC,EAAE,CAAC,CAAC;QACvC;MACJ;IACJ;EACJ;EACA,SAASiP,uBAAuBA,CAACb,OAAO,EAAE/S,IAAI,EAAE+T,YAAY,EAAEC,WAAW,EAAEC,UAAU,EAAE;IACnFP,oBAAoB,CAACX,OAAO,CAAC;IAC7B,MAAMmB,YAAY,GAAGnB,OAAO,CAACV,WAAW,CAAC;IACzC,MAAMtN,QAAQ,GAAGmP,YAAY,GACxB,OAAOF,WAAW,KAAK,UAAU,GAAIA,WAAW,GAAG/B,iBAAiB,GACpE,OAAOgC,UAAU,KAAK,UAAU,GAAIA,UAAU,GAC3C/B,gBAAgB;IACxBlS,IAAI,CAACiE,iBAAiB,CAACvC,MAAM,EAAE,MAAM;MACjC,IAAI;QACA,MAAMyS,kBAAkB,GAAGpB,OAAO,CAACT,WAAW,CAAC;QAC/C,MAAM8B,gBAAgB,GAAG,CAAC,CAACL,YAAY,IAAIxB,aAAa,KAAKwB,YAAY,CAACxB,aAAa,CAAC;QACxF,IAAI6B,gBAAgB,EAAE;UAClB;UACAL,YAAY,CAACvB,wBAAwB,CAAC,GAAG2B,kBAAkB;UAC3DJ,YAAY,CAACtB,wBAAwB,CAAC,GAAGyB,YAAY;QACzD;QACA;QACA,MAAMrM,KAAK,GAAG7H,IAAI,CAAC+B,GAAG,CAACgD,QAAQ,EAAEzB,SAAS,EAAE8Q,gBAAgB,IAAIrP,QAAQ,KAAKmN,gBAAgB,IAAInN,QAAQ,KAAKkN,iBAAiB,GAC3H,EAAE,GACF,CAACkC,kBAAkB,CAAC,CAAC;QACzBlB,cAAc,CAACc,YAAY,EAAE,IAAI,EAAElM,KAAK,CAAC;MAC7C,CAAC,CACD,OAAO1F,KAAK,EAAE;QACV;QACA8Q,cAAc,CAACc,YAAY,EAAE,KAAK,EAAE5R,KAAK,CAAC;MAC9C;IACJ,CAAC,EAAE4R,YAAY,CAAC;EACpB;EACA,MAAMM,4BAA4B,GAAG,+CAA+C;EACpF,MAAMlK,IAAI,GAAG,SAAAA,CAAA,EAAY,CAAE,CAAC;EAC5B,MAAMmK,cAAc,GAAGrV,MAAM,CAACqV,cAAc;EAC5C,MAAMnC,gBAAgB,CAAC;IACnB,OAAOpJ,QAAQA,CAAA,EAAG;MACd,OAAOsL,4BAA4B;IACvC;IACA,OAAOzK,OAAOA,CAAC/B,KAAK,EAAE;MAClB,OAAOoL,cAAc,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,EAAEN,QAAQ,EAAE9K,KAAK,CAAC;IAC1D;IACA,OAAOuK,MAAMA,CAACjQ,KAAK,EAAE;MACjB,OAAO8Q,cAAc,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,EAAEL,QAAQ,EAAEzQ,KAAK,CAAC;IAC1D;IACA,OAAOoS,GAAGA,CAACC,MAAM,EAAE;MACf,IAAI,CAACA,MAAM,IAAI,OAAOA,MAAM,CAACC,MAAM,CAACC,QAAQ,CAAC,KAAK,UAAU,EAAE;QAC1D,OAAOC,OAAO,CAACvC,MAAM,CAAC,IAAIkC,cAAc,CAAC,EAAE,EAAE,4BAA4B,CAAC,CAAC;MAC/E;MACA,MAAMM,QAAQ,GAAG,EAAE;MACnB,IAAIlQ,KAAK,GAAG,CAAC;MACb,IAAI;QACA,KAAK,IAAIsO,CAAC,IAAIwB,MAAM,EAAE;UAClB9P,KAAK,EAAE;UACPkQ,QAAQ,CAACjN,IAAI,CAACwK,gBAAgB,CAACvI,OAAO,CAACoJ,CAAC,CAAC,CAAC;QAC9C;MACJ,CAAC,CACD,OAAOhP,GAAG,EAAE;QACR,OAAO2Q,OAAO,CAACvC,MAAM,CAAC,IAAIkC,cAAc,CAAC,EAAE,EAAE,4BAA4B,CAAC,CAAC;MAC/E;MACA,IAAI5P,KAAK,KAAK,CAAC,EAAE;QACb,OAAOiQ,OAAO,CAACvC,MAAM,CAAC,IAAIkC,cAAc,CAAC,EAAE,EAAE,4BAA4B,CAAC,CAAC;MAC/E;MACA,IAAIO,QAAQ,GAAG,KAAK;MACpB,MAAMC,MAAM,GAAG,EAAE;MACjB,OAAO,IAAI3C,gBAAgB,CAAC,CAACvI,OAAO,EAAEwI,MAAM,KAAK;QAC7C,KAAK,IAAIzN,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGiQ,QAAQ,CAAChQ,MAAM,EAAED,CAAC,EAAE,EAAE;UACtCiQ,QAAQ,CAACjQ,CAAC,CAAC,CAACqN,IAAI,CAACgB,CAAC,IAAI;YAClB,IAAI6B,QAAQ,EAAE;cACV;YACJ;YACAA,QAAQ,GAAG,IAAI;YACfjL,OAAO,CAACoJ,CAAC,CAAC;UACd,CAAC,EAAEhP,GAAG,IAAI;YACN8Q,MAAM,CAACnN,IAAI,CAAC3D,GAAG,CAAC;YAChBU,KAAK,EAAE;YACP,IAAIA,KAAK,KAAK,CAAC,EAAE;cACbmQ,QAAQ,GAAG,IAAI;cACfzC,MAAM,CAAC,IAAIkC,cAAc,CAACQ,MAAM,EAAE,4BAA4B,CAAC,CAAC;YACpE;UACJ,CAAC,CAAC;QACN;MACJ,CAAC,CAAC;IACN;IAEA,OAAOC,IAAIA,CAACP,MAAM,EAAE;MAChB,IAAI5K,OAAO;MACX,IAAIwI,MAAM;MACV,IAAIW,OAAO,GAAG,IAAI,IAAI,CAAC,CAACiC,GAAG,EAAEC,GAAG,KAAK;QACjCrL,OAAO,GAAGoL,GAAG;QACb5C,MAAM,GAAG6C,GAAG;MAChB,CAAC,CAAC;MACF,SAASC,SAASA,CAACrN,KAAK,EAAE;QACtB+B,OAAO,CAAC/B,KAAK,CAAC;MAClB;MACA,SAASsN,QAAQA,CAAChT,KAAK,EAAE;QACrBiQ,MAAM,CAACjQ,KAAK,CAAC;MACjB;MACA,KAAK,IAAI0F,KAAK,IAAI2M,MAAM,EAAE;QACtB,IAAI,CAACzC,UAAU,CAAClK,KAAK,CAAC,EAAE;UACpBA,KAAK,GAAG,IAAI,CAAC+B,OAAO,CAAC/B,KAAK,CAAC;QAC/B;QACAA,KAAK,CAACmK,IAAI,CAACkD,SAAS,EAAEC,QAAQ,CAAC;MACnC;MACA,OAAOpC,OAAO;IAClB;IACA,OAAOqC,GAAGA,CAACZ,MAAM,EAAE;MACf,OAAOrC,gBAAgB,CAACkD,eAAe,CAACb,MAAM,CAAC;IACnD;IACA,OAAOc,UAAUA,CAACd,MAAM,EAAE;MACtB,MAAMe,CAAC,GAAG,IAAI,IAAI,IAAI,CAACrM,SAAS,YAAYiJ,gBAAgB,GAAG,IAAI,GAAGA,gBAAgB;MACtF,OAAOoD,CAAC,CAACF,eAAe,CAACb,MAAM,EAAE;QAC7BgB,YAAY,EAAG3N,KAAK,KAAM;UAAE4N,MAAM,EAAE,WAAW;UAAE5N;QAAM,CAAC,CAAC;QACzD6N,aAAa,EAAG1R,GAAG,KAAM;UAAEyR,MAAM,EAAE,UAAU;UAAEE,MAAM,EAAE3R;QAAI,CAAC;MAChE,CAAC,CAAC;IACN;IACA,OAAOqR,eAAeA,CAACb,MAAM,EAAE/S,QAAQ,EAAE;MACrC,IAAImI,OAAO;MACX,IAAIwI,MAAM;MACV,IAAIW,OAAO,GAAG,IAAI,IAAI,CAAC,CAACiC,GAAG,EAAEC,GAAG,KAAK;QACjCrL,OAAO,GAAGoL,GAAG;QACb5C,MAAM,GAAG6C,GAAG;MAChB,CAAC,CAAC;MACF;MACA,IAAIW,eAAe,GAAG,CAAC;MACvB,IAAIC,UAAU,GAAG,CAAC;MAClB,MAAMC,cAAc,GAAG,EAAE;MACzB,KAAK,IAAIjO,KAAK,IAAI2M,MAAM,EAAE;QACtB,IAAI,CAACzC,UAAU,CAAClK,KAAK,CAAC,EAAE;UACpBA,KAAK,GAAG,IAAI,CAAC+B,OAAO,CAAC/B,KAAK,CAAC;QAC/B;QACA,MAAMkO,aAAa,GAAGF,UAAU;QAChC,IAAI;UACAhO,KAAK,CAACmK,IAAI,CAAEnK,KAAK,IAAK;YAClBiO,cAAc,CAACC,aAAa,CAAC,GAAGtU,QAAQ,GAAGA,QAAQ,CAAC+T,YAAY,CAAC3N,KAAK,CAAC,GAAGA,KAAK;YAC/E+N,eAAe,EAAE;YACjB,IAAIA,eAAe,KAAK,CAAC,EAAE;cACvBhM,OAAO,CAACkM,cAAc,CAAC;YAC3B;UACJ,CAAC,EAAG9R,GAAG,IAAK;YACR,IAAI,CAACvC,QAAQ,EAAE;cACX2Q,MAAM,CAACpO,GAAG,CAAC;YACf,CAAC,MACI;cACD8R,cAAc,CAACC,aAAa,CAAC,GAAGtU,QAAQ,CAACiU,aAAa,CAAC1R,GAAG,CAAC;cAC3D4R,eAAe,EAAE;cACjB,IAAIA,eAAe,KAAK,CAAC,EAAE;gBACvBhM,OAAO,CAACkM,cAAc,CAAC;cAC3B;YACJ;UACJ,CAAC,CAAC;QACN,CAAC,CACD,OAAOE,OAAO,EAAE;UACZ5D,MAAM,CAAC4D,OAAO,CAAC;QACnB;QACAJ,eAAe,EAAE;QACjBC,UAAU,EAAE;MAChB;MACA;MACAD,eAAe,IAAI,CAAC;MACpB,IAAIA,eAAe,KAAK,CAAC,EAAE;QACvBhM,OAAO,CAACkM,cAAc,CAAC;MAC3B;MACA,OAAO/C,OAAO;IAClB;IACAjS,WAAWA,CAACmV,QAAQ,EAAE;MAClB,MAAMlD,OAAO,GAAG,IAAI;MACpB,IAAI,EAAEA,OAAO,YAAYZ,gBAAgB,CAAC,EAAE;QACxC,MAAM,IAAIzS,KAAK,CAAC,gCAAgC,CAAC;MACrD;MACAqT,OAAO,CAACV,WAAW,CAAC,GAAGK,UAAU;MACjCK,OAAO,CAACT,WAAW,CAAC,GAAG,EAAE,CAAC,CAAC;MAC3B,IAAI;QACA,MAAMkB,WAAW,GAAGN,IAAI,CAAC,CAAC;QAC1B+C,QAAQ,IACJA,QAAQ,CAACzC,WAAW,CAACV,YAAY,CAACC,OAAO,EAAEJ,QAAQ,CAAC,CAAC,EAAEa,WAAW,CAACV,YAAY,CAACC,OAAO,EAAEH,QAAQ,CAAC,CAAC,CAAC;MAC5G,CAAC,CACD,OAAOzQ,KAAK,EAAE;QACV8Q,cAAc,CAACF,OAAO,EAAE,KAAK,EAAE5Q,KAAK,CAAC;MACzC;IACJ;IACA,KAAKsS,MAAM,CAACyB,WAAW,IAAI;MACvB,OAAO,SAAS;IACpB;IACA,KAAKzB,MAAM,CAAC0B,OAAO,IAAI;MACnB,OAAOhE,gBAAgB;IAC3B;IACAH,IAAIA,CAACgC,WAAW,EAAEC,UAAU,EAAE;MAC1B;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA,IAAImC,CAAC,GAAG,IAAI,CAACtV,WAAW,GAAG2T,MAAM,CAAC0B,OAAO,CAAC;MAC1C,IAAI,CAACC,CAAC,IAAI,OAAOA,CAAC,KAAK,UAAU,EAAE;QAC/BA,CAAC,GAAG,IAAI,CAACtV,WAAW,IAAIqR,gBAAgB;MAC5C;MACA,MAAM4B,YAAY,GAAG,IAAIqC,CAAC,CAACjM,IAAI,CAAC;MAChC,MAAMnK,IAAI,GAAGL,IAAI,CAACM,OAAO;MACzB,IAAI,IAAI,CAACoS,WAAW,CAAC,IAAIK,UAAU,EAAE;QACjC,IAAI,CAACJ,WAAW,CAAC,CAAC3K,IAAI,CAAC3H,IAAI,EAAE+T,YAAY,EAAEC,WAAW,EAAEC,UAAU,CAAC;MACvE,CAAC,MACI;QACDL,uBAAuB,CAAC,IAAI,EAAE5T,IAAI,EAAE+T,YAAY,EAAEC,WAAW,EAAEC,UAAU,CAAC;MAC9E;MACA,OAAOF,YAAY;IACvB;IACAsC,KAAKA,CAACpC,UAAU,EAAE;MACd,OAAO,IAAI,CAACjC,IAAI,CAAC,IAAI,EAAEiC,UAAU,CAAC;IACtC;IACAqC,OAAOA,CAACC,SAAS,EAAE;MACf;MACA,IAAIH,CAAC,GAAG,IAAI,CAACtV,WAAW,GAAG2T,MAAM,CAAC0B,OAAO,CAAC;MAC1C,IAAI,CAACC,CAAC,IAAI,OAAOA,CAAC,KAAK,UAAU,EAAE;QAC/BA,CAAC,GAAGjE,gBAAgB;MACxB;MACA,MAAM4B,YAAY,GAAG,IAAIqC,CAAC,CAACjM,IAAI,CAAC;MAChC4J,YAAY,CAACxB,aAAa,CAAC,GAAGA,aAAa;MAC3C,MAAMvS,IAAI,GAAGL,IAAI,CAACM,OAAO;MACzB,IAAI,IAAI,CAACoS,WAAW,CAAC,IAAIK,UAAU,EAAE;QACjC,IAAI,CAACJ,WAAW,CAAC,CAAC3K,IAAI,CAAC3H,IAAI,EAAE+T,YAAY,EAAEwC,SAAS,EAAEA,SAAS,CAAC;MACpE,CAAC,MACI;QACD3C,uBAAuB,CAAC,IAAI,EAAE5T,IAAI,EAAE+T,YAAY,EAAEwC,SAAS,EAAEA,SAAS,CAAC;MAC3E;MACA,OAAOxC,YAAY;IACvB;EACJ;EACA;EACA;EACA5B,gBAAgB,CAAC,SAAS,CAAC,GAAGA,gBAAgB,CAACvI,OAAO;EACtDuI,gBAAgB,CAAC,QAAQ,CAAC,GAAGA,gBAAgB,CAACC,MAAM;EACpDD,gBAAgB,CAAC,MAAM,CAAC,GAAGA,gBAAgB,CAAC4C,IAAI;EAChD5C,gBAAgB,CAAC,KAAK,CAAC,GAAGA,gBAAgB,CAACiD,GAAG;EAC9C,MAAMoB,aAAa,GAAGvX,MAAM,CAACoK,aAAa,CAAC,GAAGpK,MAAM,CAAC,SAAS,CAAC;EAC/DA,MAAM,CAAC,SAAS,CAAC,GAAGkT,gBAAgB;EACpC,MAAMsE,iBAAiB,GAAGjX,UAAU,CAAC,aAAa,CAAC;EACnD,SAASiL,SAASA,CAACiM,IAAI,EAAE;IACrB,MAAM5G,KAAK,GAAG4G,IAAI,CAACxN,SAAS;IAC5B,MAAMuF,IAAI,GAAG1D,8BAA8B,CAAC+E,KAAK,EAAE,MAAM,CAAC;IAC1D,IAAIrB,IAAI,KAAKA,IAAI,CAACtB,QAAQ,KAAK,KAAK,IAAI,CAACsB,IAAI,CAACG,YAAY,CAAC,EAAE;MACzD;MACA;MACA;IACJ;IACA,MAAM+H,YAAY,GAAG7G,KAAK,CAACkC,IAAI;IAC/B;IACAlC,KAAK,CAACxG,UAAU,CAAC,GAAGqN,YAAY;IAChCD,IAAI,CAACxN,SAAS,CAAC8I,IAAI,GAAG,UAAUkD,SAAS,EAAEC,QAAQ,EAAE;MACjD,MAAMyB,OAAO,GAAG,IAAIzE,gBAAgB,CAAC,CAACvI,OAAO,EAAEwI,MAAM,KAAK;QACtDuE,YAAY,CAACpO,IAAI,CAAC,IAAI,EAAEqB,OAAO,EAAEwI,MAAM,CAAC;MAC5C,CAAC,CAAC;MACF,OAAOwE,OAAO,CAAC5E,IAAI,CAACkD,SAAS,EAAEC,QAAQ,CAAC;IAC5C,CAAC;IACDuB,IAAI,CAACD,iBAAiB,CAAC,GAAG,IAAI;EAClC;EACA3F,GAAG,CAACrG,SAAS,GAAGA,SAAS;EACzB,SAASoM,OAAOA,CAACtW,EAAE,EAAE;IACjB,OAAO,UAAU8H,IAAI,EAAEG,IAAI,EAAE;MACzB,IAAIsO,aAAa,GAAGvW,EAAE,CAACkH,KAAK,CAACY,IAAI,EAAEG,IAAI,CAAC;MACxC,IAAIsO,aAAa,YAAY3E,gBAAgB,EAAE;QAC3C,OAAO2E,aAAa;MACxB;MACA,IAAIC,IAAI,GAAGD,aAAa,CAAChW,WAAW;MACpC,IAAI,CAACiW,IAAI,CAACN,iBAAiB,CAAC,EAAE;QAC1BhM,SAAS,CAACsM,IAAI,CAAC;MACnB;MACA,OAAOD,aAAa;IACxB,CAAC;EACL;EACA,IAAIN,aAAa,EAAE;IACf/L,SAAS,CAAC+L,aAAa,CAAC;IACxBjM,WAAW,CAACtL,MAAM,EAAE,OAAO,EAAE8F,QAAQ,IAAI8R,OAAO,CAAC9R,QAAQ,CAAC,CAAC;EAC/D;EACA;EACA4P,OAAO,CAAChV,IAAI,CAACH,UAAU,CAAC,uBAAuB,CAAC,CAAC,GAAG0R,sBAAsB;EAC1E,OAAOiB,gBAAgB;AAC3B,CAAC,CAAC;;AAEF;AACA;AACAxS,IAAI,CAACW,YAAY,CAAC,UAAU,EAAGrB,MAAM,IAAK;EACtC;EACA,MAAM+X,wBAAwB,GAAGC,QAAQ,CAAC/N,SAAS,CAACH,QAAQ;EAC5D,MAAMmO,wBAAwB,GAAG1K,UAAU,CAAC,kBAAkB,CAAC;EAC/D,MAAM2K,cAAc,GAAG3K,UAAU,CAAC,SAAS,CAAC;EAC5C,MAAM4K,YAAY,GAAG5K,UAAU,CAAC,OAAO,CAAC;EACxC,MAAM6K,mBAAmB,GAAG,SAAStO,QAAQA,CAAA,EAAG;IAC5C,IAAI,OAAO,IAAI,KAAK,UAAU,EAAE;MAC5B,MAAMuO,gBAAgB,GAAG,IAAI,CAACJ,wBAAwB,CAAC;MACvD,IAAII,gBAAgB,EAAE;QAClB,IAAI,OAAOA,gBAAgB,KAAK,UAAU,EAAE;UACxC,OAAON,wBAAwB,CAACzO,IAAI,CAAC+O,gBAAgB,CAAC;QAC1D,CAAC,MACI;UACD,OAAOrO,MAAM,CAACC,SAAS,CAACH,QAAQ,CAACR,IAAI,CAAC+O,gBAAgB,CAAC;QAC3D;MACJ;MACA,IAAI,IAAI,KAAK3C,OAAO,EAAE;QAClB,MAAM4C,aAAa,GAAGtY,MAAM,CAACkY,cAAc,CAAC;QAC5C,IAAII,aAAa,EAAE;UACf,OAAOP,wBAAwB,CAACzO,IAAI,CAACgP,aAAa,CAAC;QACvD;MACJ;MACA,IAAI,IAAI,KAAK7X,KAAK,EAAE;QAChB,MAAM8X,WAAW,GAAGvY,MAAM,CAACmY,YAAY,CAAC;QACxC,IAAII,WAAW,EAAE;UACb,OAAOR,wBAAwB,CAACzO,IAAI,CAACiP,WAAW,CAAC;QACrD;MACJ;IACJ;IACA,OAAOR,wBAAwB,CAACzO,IAAI,CAAC,IAAI,CAAC;EAC9C,CAAC;EACD8O,mBAAmB,CAACH,wBAAwB,CAAC,GAAGF,wBAAwB;EACxEC,QAAQ,CAAC/N,SAAS,CAACH,QAAQ,GAAGsO,mBAAmB;EACjD;EACA,MAAMI,sBAAsB,GAAGxO,MAAM,CAACC,SAAS,CAACH,QAAQ;EACxD,MAAM2O,wBAAwB,GAAG,kBAAkB;EACnDzO,MAAM,CAACC,SAAS,CAACH,QAAQ,GAAG,YAAY;IACpC,IAAI,OAAO4L,OAAO,KAAK,UAAU,IAAI,IAAI,YAAYA,OAAO,EAAE;MAC1D,OAAO+C,wBAAwB;IACnC;IACA,OAAOD,sBAAsB,CAAClP,IAAI,CAAC,IAAI,CAAC;EAC5C,CAAC;AACL,CAAC,CAAC;;AAEF;AACA;AACA;AACA;AACA,IAAIoP,gBAAgB,GAAG,KAAK;AAC5B,IAAI,OAAOnM,MAAM,KAAK,WAAW,EAAE;EAC/B,IAAI;IACA,MAAMrD,OAAO,GAAGc,MAAM,CAACyC,cAAc,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE;MACjDtK,GAAG,EAAE,SAAAA,CAAA,EAAY;QACbuW,gBAAgB,GAAG,IAAI;MAC3B;IACJ,CAAC,CAAC;IACF;IACA;IACA;IACAnM,MAAM,CAAC4D,gBAAgB,CAAC,MAAM,EAAEjH,OAAO,EAAEA,OAAO,CAAC;IACjDqD,MAAM,CAAC2D,mBAAmB,CAAC,MAAM,EAAEhH,OAAO,EAAEA,OAAO,CAAC;EACxD,CAAC,CACD,OAAOnE,GAAG,EAAE;IACR2T,gBAAgB,GAAG,KAAK;EAC5B;AACJ;AACA;AACA,MAAMC,8BAA8B,GAAG;EACnCtP,IAAI,EAAE;AACV,CAAC;AACD,MAAMuP,oBAAoB,GAAG,CAAC,CAAC;AAC/B,MAAMC,aAAa,GAAG,CAAC,CAAC;AACxB,MAAMC,sBAAsB,GAAG,IAAIC,MAAM,CAAC,GAAG,GAAG1L,kBAAkB,GAAG,qBAAqB,CAAC;AAC3F,MAAM2L,4BAA4B,GAAGzL,UAAU,CAAC,oBAAoB,CAAC;AACrE,SAAS0L,iBAAiBA,CAAClJ,SAAS,EAAEmJ,iBAAiB,EAAE;EACrD,MAAMC,cAAc,GAAG,CAACD,iBAAiB,GAAGA,iBAAiB,CAACnJ,SAAS,CAAC,GAAGA,SAAS,IAAI3C,SAAS;EACjG,MAAMgM,aAAa,GAAG,CAACF,iBAAiB,GAAGA,iBAAiB,CAACnJ,SAAS,CAAC,GAAGA,SAAS,IAAI5C,QAAQ;EAC/F,MAAMnC,MAAM,GAAGqC,kBAAkB,GAAG8L,cAAc;EAClD,MAAME,aAAa,GAAGhM,kBAAkB,GAAG+L,aAAa;EACxDR,oBAAoB,CAAC7I,SAAS,CAAC,GAAG,CAAC,CAAC;EACpC6I,oBAAoB,CAAC7I,SAAS,CAAC,CAAC3C,SAAS,CAAC,GAAGpC,MAAM;EACnD4N,oBAAoB,CAAC7I,SAAS,CAAC,CAAC5C,QAAQ,CAAC,GAAGkM,aAAa;AAC7D;AACA,SAASjO,gBAAgBA,CAACsC,OAAO,EAAEmE,GAAG,EAAEyH,IAAI,EAAEC,YAAY,EAAE;EACxD,MAAMC,kBAAkB,GAAID,YAAY,IAAIA,YAAY,CAACE,GAAG,IAAK1M,sBAAsB;EACvF,MAAM2M,qBAAqB,GAAIH,YAAY,IAAIA,YAAY,CAACI,EAAE,IAAK3M,yBAAyB;EAC5F,MAAM4M,wBAAwB,GAAIL,YAAY,IAAIA,YAAY,CAACM,SAAS,IAAK,gBAAgB;EAC7F,MAAMC,mCAAmC,GAAIP,YAAY,IAAIA,YAAY,CAACQ,KAAK,IAAK,oBAAoB;EACxG,MAAMC,0BAA0B,GAAGzM,UAAU,CAACiM,kBAAkB,CAAC;EACjE,MAAMS,yBAAyB,GAAG,GAAG,GAAGT,kBAAkB,GAAG,GAAG;EAChE,MAAMU,sBAAsB,GAAG,iBAAiB;EAChD,MAAMC,6BAA6B,GAAG,GAAG,GAAGD,sBAAsB,GAAG,GAAG;EACxE,MAAM5V,UAAU,GAAG,SAAAA,CAAUjB,IAAI,EAAE0C,MAAM,EAAE6I,KAAK,EAAE;IAC9C;IACA;IACA,IAAIvL,IAAI,CAAC+W,SAAS,EAAE;MAChB;IACJ;IACA,MAAMtU,QAAQ,GAAGzC,IAAI,CAACb,QAAQ;IAC9B,IAAI,OAAOsD,QAAQ,KAAK,QAAQ,IAAIA,QAAQ,CAACuU,WAAW,EAAE;MACtD;MACAhX,IAAI,CAACb,QAAQ,GAAIoM,KAAK,IAAK9I,QAAQ,CAACuU,WAAW,CAACzL,KAAK,CAAC;MACtDvL,IAAI,CAACgV,gBAAgB,GAAGvS,QAAQ;IACpC;IACA;IACA;IACA;IACA;IACA,IAAI5C,KAAK;IACT,IAAI;MACAG,IAAI,CAACJ,MAAM,CAACI,IAAI,EAAE0C,MAAM,EAAE,CAAC6I,KAAK,CAAC,CAAC;IACtC,CAAC,CACD,OAAO7J,GAAG,EAAE;MACR7B,KAAK,GAAG6B,GAAG;IACf;IACA,MAAMmE,OAAO,GAAG7F,IAAI,CAAC6F,OAAO;IAC5B,IAAIA,OAAO,IAAI,OAAOA,OAAO,KAAK,QAAQ,IAAIA,OAAO,CAAC+K,IAAI,EAAE;MACxD;MACA;MACA;MACA,MAAMnO,QAAQ,GAAGzC,IAAI,CAACgV,gBAAgB,GAAGhV,IAAI,CAACgV,gBAAgB,GAAGhV,IAAI,CAACb,QAAQ;MAC9EuD,MAAM,CAAC2T,qBAAqB,CAAC,CAACpQ,IAAI,CAACvD,MAAM,EAAE6I,KAAK,CAACnL,IAAI,EAAEqC,QAAQ,EAAEoD,OAAO,CAAC;IAC7E;IACA,OAAOhG,KAAK;EAChB,CAAC;EACD,SAASoX,cAAcA,CAACC,OAAO,EAAE3L,KAAK,EAAE4L,SAAS,EAAE;IAC/C;IACA;IACA5L,KAAK,GAAGA,KAAK,IAAIlB,OAAO,CAACkB,KAAK;IAC9B,IAAI,CAACA,KAAK,EAAE;MACR;IACJ;IACA;IACA;IACA,MAAM7I,MAAM,GAAGwU,OAAO,IAAI3L,KAAK,CAAC7I,MAAM,IAAI2H,OAAO;IACjD,MAAM+M,KAAK,GAAG1U,MAAM,CAAC6S,oBAAoB,CAAChK,KAAK,CAACnL,IAAI,CAAC,CAAC+W,SAAS,GAAGrN,QAAQ,GAAGC,SAAS,CAAC,CAAC;IACxF,IAAIqN,KAAK,EAAE;MACP,MAAM5E,MAAM,GAAG,EAAE;MACjB;MACA;MACA,IAAI4E,KAAK,CAAC9U,MAAM,KAAK,CAAC,EAAE;QACpB,MAAMZ,GAAG,GAAGT,UAAU,CAACmW,KAAK,CAAC,CAAC,CAAC,EAAE1U,MAAM,EAAE6I,KAAK,CAAC;QAC/C7J,GAAG,IAAI8Q,MAAM,CAACnN,IAAI,CAAC3D,GAAG,CAAC;MAC3B,CAAC,MACI;QACD;QACA;QACA;QACA,MAAM2V,SAAS,GAAGD,KAAK,CAAC3N,KAAK,CAAC,CAAC;QAC/B,KAAK,IAAIpH,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGgV,SAAS,CAAC/U,MAAM,EAAED,CAAC,EAAE,EAAE;UACvC,IAAIkJ,KAAK,IAAIA,KAAK,CAACoK,4BAA4B,CAAC,KAAK,IAAI,EAAE;YACvD;UACJ;UACA,MAAMjU,GAAG,GAAGT,UAAU,CAACoW,SAAS,CAAChV,CAAC,CAAC,EAAEK,MAAM,EAAE6I,KAAK,CAAC;UACnD7J,GAAG,IAAI8Q,MAAM,CAACnN,IAAI,CAAC3D,GAAG,CAAC;QAC3B;MACJ;MACA;MACA;MACA,IAAI8Q,MAAM,CAAClQ,MAAM,KAAK,CAAC,EAAE;QACrB,MAAMkQ,MAAM,CAAC,CAAC,CAAC;MACnB,CAAC,MACI;QACD,KAAK,IAAInQ,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGmQ,MAAM,CAAClQ,MAAM,EAAED,CAAC,EAAE,EAAE;UACpC,MAAMX,GAAG,GAAG8Q,MAAM,CAACnQ,CAAC,CAAC;UACrBmM,GAAG,CAACpH,uBAAuB,CAAC,MAAM;YAC9B,MAAM1F,GAAG;UACb,CAAC,CAAC;QACN;MACJ;IACJ;EACJ;EACA;EACA,MAAM4V,uBAAuB,GAAG,SAAAA,CAAU/L,KAAK,EAAE;IAC7C,OAAO0L,cAAc,CAAC,IAAI,EAAE1L,KAAK,EAAE,KAAK,CAAC;EAC7C,CAAC;EACD;EACA,MAAMgM,8BAA8B,GAAG,SAAAA,CAAUhM,KAAK,EAAE;IACpD,OAAO0L,cAAc,CAAC,IAAI,EAAE1L,KAAK,EAAE,IAAI,CAAC;EAC5C,CAAC;EACD,SAASiM,uBAAuBA,CAACtL,GAAG,EAAEgK,YAAY,EAAE;IAChD,IAAI,CAAChK,GAAG,EAAE;MACN,OAAO,KAAK;IAChB;IACA,IAAIuL,iBAAiB,GAAG,IAAI;IAC5B,IAAIvB,YAAY,IAAIA,YAAY,CAAClQ,IAAI,KAAKhF,SAAS,EAAE;MACjDyW,iBAAiB,GAAGvB,YAAY,CAAClQ,IAAI;IACzC;IACA,MAAM0R,eAAe,GAAGxB,YAAY,IAAIA,YAAY,CAACyB,EAAE;IACvD,IAAIxa,cAAc,GAAG,IAAI;IACzB,IAAI+Y,YAAY,IAAIA,YAAY,CAAC0B,MAAM,KAAK5W,SAAS,EAAE;MACnD7D,cAAc,GAAG+Y,YAAY,CAAC0B,MAAM;IACxC;IACA,IAAIC,YAAY,GAAG,KAAK;IACxB,IAAI3B,YAAY,IAAIA,YAAY,CAAC4B,EAAE,KAAK9W,SAAS,EAAE;MAC/C6W,YAAY,GAAG3B,YAAY,CAAC4B,EAAE;IAClC;IACA,IAAItK,KAAK,GAAGtB,GAAG;IACf,OAAOsB,KAAK,IAAI,CAACA,KAAK,CAACrP,cAAc,CAACgY,kBAAkB,CAAC,EAAE;MACvD3I,KAAK,GAAGnE,oBAAoB,CAACmE,KAAK,CAAC;IACvC;IACA,IAAI,CAACA,KAAK,IAAItB,GAAG,CAACiK,kBAAkB,CAAC,EAAE;MACnC;MACA3I,KAAK,GAAGtB,GAAG;IACf;IACA,IAAI,CAACsB,KAAK,EAAE;MACR,OAAO,KAAK;IAChB;IACA,IAAIA,KAAK,CAACmJ,0BAA0B,CAAC,EAAE;MACnC,OAAO,KAAK;IAChB;IACA,MAAMd,iBAAiB,GAAGK,YAAY,IAAIA,YAAY,CAACL,iBAAiB;IACxE;IACA;IACA,MAAMkC,QAAQ,GAAG,CAAC,CAAC;IACnB,MAAMC,sBAAsB,GAAGxK,KAAK,CAACmJ,0BAA0B,CAAC,GAAGnJ,KAAK,CAAC2I,kBAAkB,CAAC;IAC5F,MAAM8B,yBAAyB,GAAGzK,KAAK,CAACtD,UAAU,CAACmM,qBAAqB,CAAC,CAAC,GACtE7I,KAAK,CAAC6I,qBAAqB,CAAC;IAChC,MAAM6B,eAAe,GAAG1K,KAAK,CAACtD,UAAU,CAACqM,wBAAwB,CAAC,CAAC,GAC/D/I,KAAK,CAAC+I,wBAAwB,CAAC;IACnC,MAAM4B,wBAAwB,GAAG3K,KAAK,CAACtD,UAAU,CAACuM,mCAAmC,CAAC,CAAC,GACnFjJ,KAAK,CAACiJ,mCAAmC,CAAC;IAC9C,IAAI2B,0BAA0B;IAC9B,IAAIlC,YAAY,IAAIA,YAAY,CAACmC,OAAO,EAAE;MACtCD,0BAA0B,GAAG5K,KAAK,CAACtD,UAAU,CAACgM,YAAY,CAACmC,OAAO,CAAC,CAAC,GAChE7K,KAAK,CAAC0I,YAAY,CAACmC,OAAO,CAAC;IACnC;IACA;AACR;AACA;AACA;IACQ,SAASC,yBAAyBA,CAACzS,OAAO,EAAE0S,OAAO,EAAE;MACjD,IAAI,CAAClD,gBAAgB,IAAI,OAAOxP,OAAO,KAAK,QAAQ,IAAIA,OAAO,EAAE;QAC7D;QACA;QACA;QACA,OAAO,CAAC,CAACA,OAAO,CAAC2S,OAAO;MAC5B;MACA,IAAI,CAACnD,gBAAgB,IAAI,CAACkD,OAAO,EAAE;QAC/B,OAAO1S,OAAO;MAClB;MACA,IAAI,OAAOA,OAAO,KAAK,SAAS,EAAE;QAC9B,OAAO;UAAE2S,OAAO,EAAE3S,OAAO;UAAE0S,OAAO,EAAE;QAAK,CAAC;MAC9C;MACA,IAAI,CAAC1S,OAAO,EAAE;QACV,OAAO;UAAE0S,OAAO,EAAE;QAAK,CAAC;MAC5B;MACA,IAAI,OAAO1S,OAAO,KAAK,QAAQ,IAAIA,OAAO,CAAC0S,OAAO,KAAK,KAAK,EAAE;QAC1D,OAAO;UAAE,GAAG1S,OAAO;UAAE0S,OAAO,EAAE;QAAK,CAAC;MACxC;MACA,OAAO1S,OAAO;IAClB;IACA,MAAM4S,oBAAoB,GAAG,SAAAA,CAAUzY,IAAI,EAAE;MACzC;MACA;MACA,IAAI+X,QAAQ,CAACW,UAAU,EAAE;QACrB;MACJ;MACA,OAAOV,sBAAsB,CAAC/R,IAAI,CAAC8R,QAAQ,CAACrV,MAAM,EAAEqV,QAAQ,CAACrL,SAAS,EAAEqL,QAAQ,CAACS,OAAO,GAAGjB,8BAA8B,GAAGD,uBAAuB,EAAES,QAAQ,CAAClS,OAAO,CAAC;IAC1K,CAAC;IACD,MAAM8S,kBAAkB,GAAG,SAAAA,CAAU3Y,IAAI,EAAE;MACvC;MACA;MACA;MACA,IAAI,CAACA,IAAI,CAAC+W,SAAS,EAAE;QACjB,MAAM6B,gBAAgB,GAAGrD,oBAAoB,CAACvV,IAAI,CAAC0M,SAAS,CAAC;QAC7D,IAAImM,eAAe;QACnB,IAAID,gBAAgB,EAAE;UAClBC,eAAe,GAAGD,gBAAgB,CAAC5Y,IAAI,CAACwY,OAAO,GAAG1O,QAAQ,GAAGC,SAAS,CAAC;QAC3E;QACA,MAAM+O,aAAa,GAAGD,eAAe,IAAI7Y,IAAI,CAAC0C,MAAM,CAACmW,eAAe,CAAC;QACrE,IAAIC,aAAa,EAAE;UACf,KAAK,IAAIzW,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGyW,aAAa,CAACxW,MAAM,EAAED,CAAC,EAAE,EAAE;YAC3C,MAAM0W,YAAY,GAAGD,aAAa,CAACzW,CAAC,CAAC;YACrC,IAAI0W,YAAY,KAAK/Y,IAAI,EAAE;cACvB8Y,aAAa,CAACtH,MAAM,CAACnP,CAAC,EAAE,CAAC,CAAC;cAC1B;cACArC,IAAI,CAAC+W,SAAS,GAAG,IAAI;cACrB,IAAI+B,aAAa,CAACxW,MAAM,KAAK,CAAC,EAAE;gBAC5B;gBACA;gBACAtC,IAAI,CAACgZ,UAAU,GAAG,IAAI;gBACtBhZ,IAAI,CAAC0C,MAAM,CAACmW,eAAe,CAAC,GAAG,IAAI;cACvC;cACA;YACJ;UACJ;QACJ;MACJ;MACA;MACA;MACA;MACA,IAAI,CAAC7Y,IAAI,CAACgZ,UAAU,EAAE;QAClB;MACJ;MACA,OAAOf,yBAAyB,CAAChS,IAAI,CAACjG,IAAI,CAAC0C,MAAM,EAAE1C,IAAI,CAAC0M,SAAS,EAAE1M,IAAI,CAACwY,OAAO,GAAGjB,8BAA8B,GAAGD,uBAAuB,EAAEtX,IAAI,CAAC6F,OAAO,CAAC;IAC7J,CAAC;IACD,MAAMoT,uBAAuB,GAAG,SAAAA,CAAUjZ,IAAI,EAAE;MAC5C,OAAOgY,sBAAsB,CAAC/R,IAAI,CAAC8R,QAAQ,CAACrV,MAAM,EAAEqV,QAAQ,CAACrL,SAAS,EAAE1M,IAAI,CAACJ,MAAM,EAAEmY,QAAQ,CAAClS,OAAO,CAAC;IAC1G,CAAC;IACD,MAAMqT,qBAAqB,GAAG,SAAAA,CAAUlZ,IAAI,EAAE;MAC1C,OAAOoY,0BAA0B,CAACnS,IAAI,CAAC8R,QAAQ,CAACrV,MAAM,EAAEqV,QAAQ,CAACrL,SAAS,EAAE1M,IAAI,CAACJ,MAAM,EAAEmY,QAAQ,CAAClS,OAAO,CAAC;IAC9G,CAAC;IACD,MAAMsT,qBAAqB,GAAG,SAAAA,CAAUnZ,IAAI,EAAE;MAC1C,OAAOiY,yBAAyB,CAAChS,IAAI,CAACjG,IAAI,CAAC0C,MAAM,EAAE1C,IAAI,CAAC0M,SAAS,EAAE1M,IAAI,CAACJ,MAAM,EAAEI,IAAI,CAAC6F,OAAO,CAAC;IACjG,CAAC;IACD,MAAMjE,cAAc,GAAG6V,iBAAiB,GAAGgB,oBAAoB,GAAGQ,uBAAuB;IACzF,MAAMjX,YAAY,GAAGyV,iBAAiB,GAAGkB,kBAAkB,GAAGQ,qBAAqB;IACnF,MAAMC,6BAA6B,GAAG,SAAAA,CAAUpZ,IAAI,EAAEyC,QAAQ,EAAE;MAC5D,MAAM4W,cAAc,GAAG,OAAO5W,QAAQ;MACtC,OAAQ4W,cAAc,KAAK,UAAU,IAAIrZ,IAAI,CAACb,QAAQ,KAAKsD,QAAQ,IAC9D4W,cAAc,KAAK,QAAQ,IAAIrZ,IAAI,CAACgV,gBAAgB,KAAKvS,QAAS;IAC3E,CAAC;IACD,MAAM6W,OAAO,GAAIpD,YAAY,IAAIA,YAAY,CAACqD,IAAI,GAAIrD,YAAY,CAACqD,IAAI,GAAGH,6BAA6B;IACvG,MAAMI,eAAe,GAAGnc,IAAI,CAAC6M,UAAU,CAAC,kBAAkB,CAAC,CAAC;IAC5D,MAAMuP,aAAa,GAAGpP,OAAO,CAACH,UAAU,CAAC,gBAAgB,CAAC,CAAC;IAC3D,MAAMwP,eAAe,GAAG,SAAAA,CAAUC,cAAc,EAAEC,SAAS,EAAEC,gBAAgB,EAAEC,cAAc,EAAEjC,YAAY,GAAG,KAAK,EAAEQ,OAAO,GAAG,KAAK,EAAE;MAClI,OAAO,YAAY;QACf,MAAM3V,MAAM,GAAG,IAAI,IAAI2H,OAAO;QAC9B,IAAIqC,SAAS,GAAGlN,SAAS,CAAC,CAAC,CAAC;QAC5B,IAAI0W,YAAY,IAAIA,YAAY,CAAC6D,iBAAiB,EAAE;UAChDrN,SAAS,GAAGwJ,YAAY,CAAC6D,iBAAiB,CAACrN,SAAS,CAAC;QACzD;QACA,IAAIjK,QAAQ,GAAGjD,SAAS,CAAC,CAAC,CAAC;QAC3B,IAAI,CAACiD,QAAQ,EAAE;UACX,OAAOkX,cAAc,CAACxU,KAAK,CAAC,IAAI,EAAE3F,SAAS,CAAC;QAChD;QACA,IAAIyL,MAAM,IAAIyB,SAAS,KAAK,mBAAmB,EAAE;UAC7C;UACA,OAAOiN,cAAc,CAACxU,KAAK,CAAC,IAAI,EAAE3F,SAAS,CAAC;QAChD;QACA;QACA;QACA;QACA,IAAIwa,aAAa,GAAG,KAAK;QACzB,IAAI,OAAOvX,QAAQ,KAAK,UAAU,EAAE;UAChC,IAAI,CAACA,QAAQ,CAACuU,WAAW,EAAE;YACvB,OAAO2C,cAAc,CAACxU,KAAK,CAAC,IAAI,EAAE3F,SAAS,CAAC;UAChD;UACAwa,aAAa,GAAG,IAAI;QACxB;QACA,IAAItC,eAAe,IAAI,CAACA,eAAe,CAACiC,cAAc,EAAElX,QAAQ,EAAEC,MAAM,EAAElD,SAAS,CAAC,EAAE;UAClF;QACJ;QACA,MAAM+Y,OAAO,GAAGlD,gBAAgB,IAAI,CAAC,CAACoE,aAAa,IAAIA,aAAa,CAAClL,OAAO,CAAC7B,SAAS,CAAC,KAAK,CAAC,CAAC;QAC9F,MAAM7G,OAAO,GAAGyS,yBAAyB,CAAC9Y,SAAS,CAAC,CAAC,CAAC,EAAE+Y,OAAO,CAAC;QAChE,IAAIiB,eAAe,EAAE;UACjB;UACA,KAAK,IAAInX,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGmX,eAAe,CAAClX,MAAM,EAAED,CAAC,EAAE,EAAE;YAC7C,IAAIqK,SAAS,KAAK8M,eAAe,CAACnX,CAAC,CAAC,EAAE;cAClC,IAAIkW,OAAO,EAAE;gBACT,OAAOoB,cAAc,CAAC1T,IAAI,CAACvD,MAAM,EAAEgK,SAAS,EAAEjK,QAAQ,EAAEoD,OAAO,CAAC;cACpE,CAAC,MACI;gBACD,OAAO8T,cAAc,CAACxU,KAAK,CAAC,IAAI,EAAE3F,SAAS,CAAC;cAChD;YACJ;UACJ;QACJ;QACA,MAAMgZ,OAAO,GAAG,CAAC3S,OAAO,GAAG,KAAK,GAAG,OAAOA,OAAO,KAAK,SAAS,GAAG,IAAI,GAAGA,OAAO,CAAC2S,OAAO;QACxF,MAAM5H,IAAI,GAAG/K,OAAO,IAAI,OAAOA,OAAO,KAAK,QAAQ,GAAGA,OAAO,CAAC+K,IAAI,GAAG,KAAK;QAC1E,MAAMlT,IAAI,GAAGL,IAAI,CAACM,OAAO;QACzB,IAAIib,gBAAgB,GAAGrD,oBAAoB,CAAC7I,SAAS,CAAC;QACtD,IAAI,CAACkM,gBAAgB,EAAE;UACnBhD,iBAAiB,CAAClJ,SAAS,EAAEmJ,iBAAiB,CAAC;UAC/C+C,gBAAgB,GAAGrD,oBAAoB,CAAC7I,SAAS,CAAC;QACtD;QACA,MAAMmM,eAAe,GAAGD,gBAAgB,CAACJ,OAAO,GAAG1O,QAAQ,GAAGC,SAAS,CAAC;QACxE,IAAI+O,aAAa,GAAGpW,MAAM,CAACmW,eAAe,CAAC;QAC3C,IAAIH,UAAU,GAAG,KAAK;QACtB,IAAII,aAAa,EAAE;UACf;UACAJ,UAAU,GAAG,IAAI;UACjB,IAAIvb,cAAc,EAAE;YAChB,KAAK,IAAIkF,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGyW,aAAa,CAACxW,MAAM,EAAED,CAAC,EAAE,EAAE;cAC3C,IAAIiX,OAAO,CAACR,aAAa,CAACzW,CAAC,CAAC,EAAEI,QAAQ,CAAC,EAAE;gBACrC;gBACA;cACJ;YACJ;UACJ;QACJ,CAAC,MACI;UACDqW,aAAa,GAAGpW,MAAM,CAACmW,eAAe,CAAC,GAAG,EAAE;QAChD;QACA,IAAIzZ,MAAM;QACV,MAAM6a,eAAe,GAAGvX,MAAM,CAAClE,WAAW,CAAC,MAAM,CAAC;QAClD,MAAM0b,YAAY,GAAG1E,aAAa,CAACyE,eAAe,CAAC;QACnD,IAAIC,YAAY,EAAE;UACd9a,MAAM,GAAG8a,YAAY,CAACxN,SAAS,CAAC;QACpC;QACA,IAAI,CAACtN,MAAM,EAAE;UACTA,MAAM,GAAG6a,eAAe,GAAGL,SAAS,IAC/B/D,iBAAiB,GAAGA,iBAAiB,CAACnJ,SAAS,CAAC,GAAGA,SAAS,CAAC;QACtE;QACA;QACA;QACAqL,QAAQ,CAAClS,OAAO,GAAGA,OAAO;QAC1B,IAAI+K,IAAI,EAAE;UACN;UACA;UACA;UACAmH,QAAQ,CAAClS,OAAO,CAAC+K,IAAI,GAAG,KAAK;QACjC;QACAmH,QAAQ,CAACrV,MAAM,GAAGA,MAAM;QACxBqV,QAAQ,CAACS,OAAO,GAAGA,OAAO;QAC1BT,QAAQ,CAACrL,SAAS,GAAGA,SAAS;QAC9BqL,QAAQ,CAACW,UAAU,GAAGA,UAAU;QAChC,MAAM7X,IAAI,GAAG4W,iBAAiB,GAAGnC,8BAA8B,GAAGtU,SAAS;QAC3E;QACA,IAAIH,IAAI,EAAE;UACNA,IAAI,CAACkX,QAAQ,GAAGA,QAAQ;QAC5B;QACA,MAAM/X,IAAI,GAAGtC,IAAI,CAACuE,iBAAiB,CAAC7C,MAAM,EAAEqD,QAAQ,EAAE5B,IAAI,EAAEgZ,gBAAgB,EAAEC,cAAc,CAAC;QAC7F;QACA;QACA/B,QAAQ,CAACrV,MAAM,GAAG,IAAI;QACtB;QACA,IAAI7B,IAAI,EAAE;UACNA,IAAI,CAACkX,QAAQ,GAAG,IAAI;QACxB;QACA;QACA;QACA,IAAInH,IAAI,EAAE;UACN/K,OAAO,CAAC+K,IAAI,GAAG,IAAI;QACvB;QACA,IAAI,EAAE,CAACyE,gBAAgB,IAAI,OAAOrV,IAAI,CAAC6F,OAAO,KAAK,SAAS,CAAC,EAAE;UAC3D;UACA;UACA7F,IAAI,CAAC6F,OAAO,GAAGA,OAAO;QAC1B;QACA7F,IAAI,CAAC0C,MAAM,GAAGA,MAAM;QACpB1C,IAAI,CAACwY,OAAO,GAAGA,OAAO;QACtBxY,IAAI,CAAC0M,SAAS,GAAGA,SAAS;QAC1B,IAAIsN,aAAa,EAAE;UACf;UACAha,IAAI,CAACgV,gBAAgB,GAAGvS,QAAQ;QACpC;QACA,IAAI,CAAC4V,OAAO,EAAE;UACVS,aAAa,CAACzT,IAAI,CAACrF,IAAI,CAAC;QAC5B,CAAC,MACI;UACD8Y,aAAa,CAACqB,OAAO,CAACna,IAAI,CAAC;QAC/B;QACA,IAAI6X,YAAY,EAAE;UACd,OAAOnV,MAAM;QACjB;MACJ,CAAC;IACL,CAAC;IACD8K,KAAK,CAAC2I,kBAAkB,CAAC,GAAGuD,eAAe,CAAC1B,sBAAsB,EAAEpB,yBAAyB,EAAEhV,cAAc,EAAEI,YAAY,EAAE6V,YAAY,CAAC;IAC1I,IAAIO,0BAA0B,EAAE;MAC5B5K,KAAK,CAACqJ,sBAAsB,CAAC,GAAG6C,eAAe,CAACtB,0BAA0B,EAAEtB,6BAA6B,EAAEoC,qBAAqB,EAAElX,YAAY,EAAE6V,YAAY,EAAE,IAAI,CAAC;IACvK;IACArK,KAAK,CAAC6I,qBAAqB,CAAC,GAAG,YAAY;MACvC,MAAM3T,MAAM,GAAG,IAAI,IAAI2H,OAAO;MAC9B,IAAIqC,SAAS,GAAGlN,SAAS,CAAC,CAAC,CAAC;MAC5B,IAAI0W,YAAY,IAAIA,YAAY,CAAC6D,iBAAiB,EAAE;QAChDrN,SAAS,GAAGwJ,YAAY,CAAC6D,iBAAiB,CAACrN,SAAS,CAAC;MACzD;MACA,MAAM7G,OAAO,GAAGrG,SAAS,CAAC,CAAC,CAAC;MAC5B,MAAMgZ,OAAO,GAAG,CAAC3S,OAAO,GAAG,KAAK,GAAG,OAAOA,OAAO,KAAK,SAAS,GAAG,IAAI,GAAGA,OAAO,CAAC2S,OAAO;MACxF,MAAM/V,QAAQ,GAAGjD,SAAS,CAAC,CAAC,CAAC;MAC7B,IAAI,CAACiD,QAAQ,EAAE;QACX,OAAOwV,yBAAyB,CAAC9S,KAAK,CAAC,IAAI,EAAE3F,SAAS,CAAC;MAC3D;MACA,IAAIkY,eAAe,IACf,CAACA,eAAe,CAACO,yBAAyB,EAAExV,QAAQ,EAAEC,MAAM,EAAElD,SAAS,CAAC,EAAE;QAC1E;MACJ;MACA,MAAMoZ,gBAAgB,GAAGrD,oBAAoB,CAAC7I,SAAS,CAAC;MACxD,IAAImM,eAAe;MACnB,IAAID,gBAAgB,EAAE;QAClBC,eAAe,GAAGD,gBAAgB,CAACJ,OAAO,GAAG1O,QAAQ,GAAGC,SAAS,CAAC;MACtE;MACA,MAAM+O,aAAa,GAAGD,eAAe,IAAInW,MAAM,CAACmW,eAAe,CAAC;MAChE,IAAIC,aAAa,EAAE;QACf,KAAK,IAAIzW,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGyW,aAAa,CAACxW,MAAM,EAAED,CAAC,EAAE,EAAE;UAC3C,MAAM0W,YAAY,GAAGD,aAAa,CAACzW,CAAC,CAAC;UACrC,IAAIiX,OAAO,CAACP,YAAY,EAAEtW,QAAQ,CAAC,EAAE;YACjCqW,aAAa,CAACtH,MAAM,CAACnP,CAAC,EAAE,CAAC,CAAC;YAC1B;YACA0W,YAAY,CAAChC,SAAS,GAAG,IAAI;YAC7B,IAAI+B,aAAa,CAACxW,MAAM,KAAK,CAAC,EAAE;cAC5B;cACA;cACAyW,YAAY,CAACC,UAAU,GAAG,IAAI;cAC9BtW,MAAM,CAACmW,eAAe,CAAC,GAAG,IAAI;cAC9B;cACA;cACA;cACA,IAAI,OAAOnM,SAAS,KAAK,QAAQ,EAAE;gBAC/B,MAAM0N,gBAAgB,GAAGpQ,kBAAkB,GAAG,aAAa,GAAG0C,SAAS;gBACvEhK,MAAM,CAAC0X,gBAAgB,CAAC,GAAG,IAAI;cACnC;YACJ;YACArB,YAAY,CAACrb,IAAI,CAACwE,UAAU,CAAC6W,YAAY,CAAC;YAC1C,IAAIlB,YAAY,EAAE;cACd,OAAOnV,MAAM;YACjB;YACA;UACJ;QACJ;MACJ;MACA;MACA;MACA;MACA;MACA,OAAOuV,yBAAyB,CAAC9S,KAAK,CAAC,IAAI,EAAE3F,SAAS,CAAC;IAC3D,CAAC;IACDgO,KAAK,CAAC+I,wBAAwB,CAAC,GAAG,YAAY;MAC1C,MAAM7T,MAAM,GAAG,IAAI,IAAI2H,OAAO;MAC9B,IAAIqC,SAAS,GAAGlN,SAAS,CAAC,CAAC,CAAC;MAC5B,IAAI0W,YAAY,IAAIA,YAAY,CAAC6D,iBAAiB,EAAE;QAChDrN,SAAS,GAAGwJ,YAAY,CAAC6D,iBAAiB,CAACrN,SAAS,CAAC;MACzD;MACA,MAAM8J,SAAS,GAAG,EAAE;MACpB,MAAMY,KAAK,GAAGiD,cAAc,CAAC3X,MAAM,EAAEmT,iBAAiB,GAAGA,iBAAiB,CAACnJ,SAAS,CAAC,GAAGA,SAAS,CAAC;MAClG,KAAK,IAAIrK,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAG+U,KAAK,CAAC9U,MAAM,EAAED,CAAC,EAAE,EAAE;QACnC,MAAMrC,IAAI,GAAGoX,KAAK,CAAC/U,CAAC,CAAC;QACrB,IAAII,QAAQ,GAAGzC,IAAI,CAACgV,gBAAgB,GAAGhV,IAAI,CAACgV,gBAAgB,GAAGhV,IAAI,CAACb,QAAQ;QAC5EqX,SAAS,CAACnR,IAAI,CAAC5C,QAAQ,CAAC;MAC5B;MACA,OAAO+T,SAAS;IACpB,CAAC;IACDhJ,KAAK,CAACiJ,mCAAmC,CAAC,GAAG,YAAY;MACrD,MAAM/T,MAAM,GAAG,IAAI,IAAI2H,OAAO;MAC9B,IAAIqC,SAAS,GAAGlN,SAAS,CAAC,CAAC,CAAC;MAC5B,IAAI,CAACkN,SAAS,EAAE;QACZ,MAAM4N,IAAI,GAAG3T,MAAM,CAAC2T,IAAI,CAAC5X,MAAM,CAAC;QAChC,KAAK,IAAIL,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGiY,IAAI,CAAChY,MAAM,EAAED,CAAC,EAAE,EAAE;UAClC,MAAM8J,IAAI,GAAGmO,IAAI,CAACjY,CAAC,CAAC;UACpB,MAAMkY,KAAK,GAAG9E,sBAAsB,CAAC+E,IAAI,CAACrO,IAAI,CAAC;UAC/C,IAAIsO,OAAO,GAAGF,KAAK,IAAIA,KAAK,CAAC,CAAC,CAAC;UAC/B;UACA;UACA;UACA;UACA,IAAIE,OAAO,IAAIA,OAAO,KAAK,gBAAgB,EAAE;YACzC,IAAI,CAAChE,mCAAmC,CAAC,CAACxQ,IAAI,CAAC,IAAI,EAAEwU,OAAO,CAAC;UACjE;QACJ;QACA;QACA,IAAI,CAAChE,mCAAmC,CAAC,CAACxQ,IAAI,CAAC,IAAI,EAAE,gBAAgB,CAAC;MAC1E,CAAC,MACI;QACD,IAAIiQ,YAAY,IAAIA,YAAY,CAAC6D,iBAAiB,EAAE;UAChDrN,SAAS,GAAGwJ,YAAY,CAAC6D,iBAAiB,CAACrN,SAAS,CAAC;QACzD;QACA,MAAMkM,gBAAgB,GAAGrD,oBAAoB,CAAC7I,SAAS,CAAC;QACxD,IAAIkM,gBAAgB,EAAE;UAClB,MAAMC,eAAe,GAAGD,gBAAgB,CAAC7O,SAAS,CAAC;UACnD,MAAM2Q,sBAAsB,GAAG9B,gBAAgB,CAAC9O,QAAQ,CAAC;UACzD,MAAMsN,KAAK,GAAG1U,MAAM,CAACmW,eAAe,CAAC;UACrC,MAAM8B,YAAY,GAAGjY,MAAM,CAACgY,sBAAsB,CAAC;UACnD,IAAItD,KAAK,EAAE;YACP,MAAMwD,WAAW,GAAGxD,KAAK,CAAC3N,KAAK,CAAC,CAAC;YACjC,KAAK,IAAIpH,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGuY,WAAW,CAACtY,MAAM,EAAED,CAAC,EAAE,EAAE;cACzC,MAAMrC,IAAI,GAAG4a,WAAW,CAACvY,CAAC,CAAC;cAC3B,IAAII,QAAQ,GAAGzC,IAAI,CAACgV,gBAAgB,GAAGhV,IAAI,CAACgV,gBAAgB,GAAGhV,IAAI,CAACb,QAAQ;cAC5E,IAAI,CAACkX,qBAAqB,CAAC,CAACpQ,IAAI,CAAC,IAAI,EAAEyG,SAAS,EAAEjK,QAAQ,EAAEzC,IAAI,CAAC6F,OAAO,CAAC;YAC7E;UACJ;UACA,IAAI8U,YAAY,EAAE;YACd,MAAMC,WAAW,GAAGD,YAAY,CAAClR,KAAK,CAAC,CAAC;YACxC,KAAK,IAAIpH,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGuY,WAAW,CAACtY,MAAM,EAAED,CAAC,EAAE,EAAE;cACzC,MAAMrC,IAAI,GAAG4a,WAAW,CAACvY,CAAC,CAAC;cAC3B,IAAII,QAAQ,GAAGzC,IAAI,CAACgV,gBAAgB,GAAGhV,IAAI,CAACgV,gBAAgB,GAAGhV,IAAI,CAACb,QAAQ;cAC5E,IAAI,CAACkX,qBAAqB,CAAC,CAACpQ,IAAI,CAAC,IAAI,EAAEyG,SAAS,EAAEjK,QAAQ,EAAEzC,IAAI,CAAC6F,OAAO,CAAC;YAC7E;UACJ;QACJ;MACJ;MACA,IAAIgS,YAAY,EAAE;QACd,OAAO,IAAI;MACf;IACJ,CAAC;IACD;IACA9O,qBAAqB,CAACyE,KAAK,CAAC2I,kBAAkB,CAAC,EAAE6B,sBAAsB,CAAC;IACxEjP,qBAAqB,CAACyE,KAAK,CAAC6I,qBAAqB,CAAC,EAAE4B,yBAAyB,CAAC;IAC9E,IAAIE,wBAAwB,EAAE;MAC1BpP,qBAAqB,CAACyE,KAAK,CAACiJ,mCAAmC,CAAC,EAAE0B,wBAAwB,CAAC;IAC/F;IACA,IAAID,eAAe,EAAE;MACjBnP,qBAAqB,CAACyE,KAAK,CAAC+I,wBAAwB,CAAC,EAAE2B,eAAe,CAAC;IAC3E;IACA,OAAO,IAAI;EACf;EACA,IAAI2C,OAAO,GAAG,EAAE;EAChB,KAAK,IAAIxY,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAG4T,IAAI,CAAC3T,MAAM,EAAED,CAAC,EAAE,EAAE;IAClCwY,OAAO,CAACxY,CAAC,CAAC,GAAGmV,uBAAuB,CAACvB,IAAI,CAAC5T,CAAC,CAAC,EAAE6T,YAAY,CAAC;EAC/D;EACA,OAAO2E,OAAO;AAClB;AACA,SAASR,cAAcA,CAAC3X,MAAM,EAAEgK,SAAS,EAAE;EACvC,IAAI,CAACA,SAAS,EAAE;IACZ,MAAMoO,UAAU,GAAG,EAAE;IACrB,KAAK,IAAI3O,IAAI,IAAIzJ,MAAM,EAAE;MACrB,MAAM6X,KAAK,GAAG9E,sBAAsB,CAAC+E,IAAI,CAACrO,IAAI,CAAC;MAC/C,IAAIsO,OAAO,GAAGF,KAAK,IAAIA,KAAK,CAAC,CAAC,CAAC;MAC/B,IAAIE,OAAO,KAAK,CAAC/N,SAAS,IAAI+N,OAAO,KAAK/N,SAAS,CAAC,EAAE;QAClD,MAAM0K,KAAK,GAAG1U,MAAM,CAACyJ,IAAI,CAAC;QAC1B,IAAIiL,KAAK,EAAE;UACP,KAAK,IAAI/U,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAG+U,KAAK,CAAC9U,MAAM,EAAED,CAAC,EAAE,EAAE;YACnCyY,UAAU,CAACzV,IAAI,CAAC+R,KAAK,CAAC/U,CAAC,CAAC,CAAC;UAC7B;QACJ;MACJ;IACJ;IACA,OAAOyY,UAAU;EACrB;EACA,IAAIjC,eAAe,GAAGtD,oBAAoB,CAAC7I,SAAS,CAAC;EACrD,IAAI,CAACmM,eAAe,EAAE;IAClBjD,iBAAiB,CAAClJ,SAAS,CAAC;IAC5BmM,eAAe,GAAGtD,oBAAoB,CAAC7I,SAAS,CAAC;EACrD;EACA,MAAMqO,iBAAiB,GAAGrY,MAAM,CAACmW,eAAe,CAAC9O,SAAS,CAAC,CAAC;EAC5D,MAAMiR,gBAAgB,GAAGtY,MAAM,CAACmW,eAAe,CAAC/O,QAAQ,CAAC,CAAC;EAC1D,IAAI,CAACiR,iBAAiB,EAAE;IACpB,OAAOC,gBAAgB,GAAGA,gBAAgB,CAACvR,KAAK,CAAC,CAAC,GAAG,EAAE;EAC3D,CAAC,MACI;IACD,OAAOuR,gBAAgB,GAAGD,iBAAiB,CAACE,MAAM,CAACD,gBAAgB,CAAC,GAChED,iBAAiB,CAACtR,KAAK,CAAC,CAAC;EACjC;AACJ;AACA,SAASpB,mBAAmBA,CAAC1L,MAAM,EAAE6R,GAAG,EAAE;EACtC,MAAM0M,KAAK,GAAGve,MAAM,CAAC,OAAO,CAAC;EAC7B,IAAIue,KAAK,IAAIA,KAAK,CAACtU,SAAS,EAAE;IAC1B4H,GAAG,CAACvG,WAAW,CAACiT,KAAK,CAACtU,SAAS,EAAE,0BAA0B,EAAGnE,QAAQ,IAAK,UAAUsD,IAAI,EAAEG,IAAI,EAAE;MAC7FH,IAAI,CAAC4P,4BAA4B,CAAC,GAAG,IAAI;MACzC;MACA;MACA;MACAlT,QAAQ,IAAIA,QAAQ,CAAC0C,KAAK,CAACY,IAAI,EAAEG,IAAI,CAAC;IAC1C,CAAC,CAAC;EACN;AACJ;AAEA,SAAS+C,cAAcA,CAACuF,GAAG,EAAE9L,MAAM,EAAEyY,UAAU,EAAEC,MAAM,EAAEC,SAAS,EAAE;EAChE,MAAM1T,MAAM,GAAGtK,IAAI,CAACH,UAAU,CAACke,MAAM,CAAC;EACtC,IAAI1Y,MAAM,CAACiF,MAAM,CAAC,EAAE;IAChB;EACJ;EACA,MAAM2T,cAAc,GAAG5Y,MAAM,CAACiF,MAAM,CAAC,GAAGjF,MAAM,CAAC0Y,MAAM,CAAC;EACtD1Y,MAAM,CAAC0Y,MAAM,CAAC,GAAG,UAAUte,IAAI,EAAEye,IAAI,EAAE1V,OAAO,EAAE;IAC5C,IAAI0V,IAAI,IAAIA,IAAI,CAAC3U,SAAS,EAAE;MACxByU,SAAS,CAACG,OAAO,CAAC,UAAUrc,QAAQ,EAAE;QAClC,MAAMC,MAAM,GAAI,GAAE+b,UAAW,IAAGC,MAAO,IAAG,GAAGjc,QAAQ;QACrD,MAAMyH,SAAS,GAAG2U,IAAI,CAAC3U,SAAS;QAChC;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA,IAAI;UACA,IAAIA,SAAS,CAACzI,cAAc,CAACgB,QAAQ,CAAC,EAAE;YACpC,MAAMsc,UAAU,GAAGjN,GAAG,CAAC/F,8BAA8B,CAAC7B,SAAS,EAAEzH,QAAQ,CAAC;YAC1E,IAAIsc,UAAU,IAAIA,UAAU,CAAClW,KAAK,EAAE;cAChCkW,UAAU,CAAClW,KAAK,GAAGiJ,GAAG,CAAC3F,mBAAmB,CAAC4S,UAAU,CAAClW,KAAK,EAAEnG,MAAM,CAAC;cACpEoP,GAAG,CAACxF,iBAAiB,CAACuS,IAAI,CAAC3U,SAAS,EAAEzH,QAAQ,EAAEsc,UAAU,CAAC;YAC/D,CAAC,MACI,IAAI7U,SAAS,CAACzH,QAAQ,CAAC,EAAE;cAC1ByH,SAAS,CAACzH,QAAQ,CAAC,GAAGqP,GAAG,CAAC3F,mBAAmB,CAACjC,SAAS,CAACzH,QAAQ,CAAC,EAAEC,MAAM,CAAC;YAC9E;UACJ,CAAC,MACI,IAAIwH,SAAS,CAACzH,QAAQ,CAAC,EAAE;YAC1ByH,SAAS,CAACzH,QAAQ,CAAC,GAAGqP,GAAG,CAAC3F,mBAAmB,CAACjC,SAAS,CAACzH,QAAQ,CAAC,EAAEC,MAAM,CAAC;UAC9E;QACJ,CAAC,CACD,MAAM;UACF;UACA;QAAA;MAER,CAAC,CAAC;IACN;IACA,OAAOkc,cAAc,CAACrV,IAAI,CAACvD,MAAM,EAAE5F,IAAI,EAAEye,IAAI,EAAE1V,OAAO,CAAC;EAC3D,CAAC;EACD2I,GAAG,CAACzF,qBAAqB,CAACrG,MAAM,CAAC0Y,MAAM,CAAC,EAAEE,cAAc,CAAC;AAC7D;;AAEA;AACA;AACA;AACA;AACA,SAASxS,gBAAgBA,CAACpG,MAAM,EAAEsK,YAAY,EAAE0O,gBAAgB,EAAE;EAC9D,IAAI,CAACA,gBAAgB,IAAIA,gBAAgB,CAACpZ,MAAM,KAAK,CAAC,EAAE;IACpD,OAAO0K,YAAY;EACvB;EACA,MAAM2O,GAAG,GAAGD,gBAAgB,CAACE,MAAM,CAACC,EAAE,IAAIA,EAAE,CAACnZ,MAAM,KAAKA,MAAM,CAAC;EAC/D,IAAI,CAACiZ,GAAG,IAAIA,GAAG,CAACrZ,MAAM,KAAK,CAAC,EAAE;IAC1B,OAAO0K,YAAY;EACvB;EACA,MAAM8O,sBAAsB,GAAGH,GAAG,CAAC,CAAC,CAAC,CAACD,gBAAgB;EACtD,OAAO1O,YAAY,CAAC4O,MAAM,CAACG,EAAE,IAAID,sBAAsB,CAACvN,OAAO,CAACwN,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC;AAC/E;AACA,SAASC,uBAAuBA,CAACtZ,MAAM,EAAEsK,YAAY,EAAE0O,gBAAgB,EAAE9U,SAAS,EAAE;EAChF;EACA;EACA,IAAI,CAAClE,MAAM,EAAE;IACT;EACJ;EACA,MAAMuZ,kBAAkB,GAAGnT,gBAAgB,CAACpG,MAAM,EAAEsK,YAAY,EAAE0O,gBAAgB,CAAC;EACnF1T,iBAAiB,CAACtF,MAAM,EAAEuZ,kBAAkB,EAAErV,SAAS,CAAC;AAC5D;AACA;AACA;AACA;AACA;AACA,SAASsV,eAAeA,CAACxZ,MAAM,EAAE;EAC7B,OAAOiE,MAAM,CAACwV,mBAAmB,CAACzZ,MAAM,CAAC,CACpCkZ,MAAM,CAAC9e,IAAI,IAAIA,IAAI,CAACsf,UAAU,CAAC,IAAI,CAAC,IAAItf,IAAI,CAACwF,MAAM,GAAG,CAAC,CAAC,CACxD+Z,GAAG,CAACvf,IAAI,IAAIA,IAAI,CAACwf,SAAS,CAAC,CAAC,CAAC,CAAC;AACvC;AACA,SAASC,uBAAuBA,CAAC/N,GAAG,EAAEnE,OAAO,EAAE;EAC3C,IAAIY,MAAM,IAAI,CAACG,KAAK,EAAE;IAClB;EACJ;EACA,IAAI/N,IAAI,CAACmR,GAAG,CAAC7G,MAAM,CAAC,aAAa,CAAC,CAAC,EAAE;IACjC;IACA;EACJ;EACA,MAAM+T,gBAAgB,GAAGrR,OAAO,CAAC,6BAA6B,CAAC;EAC/D;EACA,IAAImS,YAAY,GAAG,EAAE;EACrB,IAAIrR,SAAS,EAAE;IACX,MAAMf,cAAc,GAAGlB,MAAM;IAC7BsT,YAAY,GAAGA,YAAY,CAACvB,MAAM,CAAC,CAC/B,UAAU,EAAE,YAAY,EAAE,SAAS,EAAE,aAAa,EAAE,iBAAiB,EAAE,kBAAkB,EACzF,qBAAqB,EAAE,kBAAkB,EAAE,mBAAmB,EAAE,oBAAoB,EAAE,QAAQ,CACjG,CAAC;IACF,MAAMwB,qBAAqB,GAAGtO,IAAI,CAAC,CAAC,GAAG,CAAC;MAAEzL,MAAM,EAAE0H,cAAc;MAAEsR,gBAAgB,EAAE,CAAC,OAAO;IAAE,CAAC,CAAC,GAAG,EAAE;IACrG;IACA;IACAM,uBAAuB,CAAC5R,cAAc,EAAE8R,eAAe,CAAC9R,cAAc,CAAC,EAAEsR,gBAAgB,GAAGA,gBAAgB,CAACT,MAAM,CAACwB,qBAAqB,CAAC,GAAGf,gBAAgB,EAAErS,oBAAoB,CAACe,cAAc,CAAC,CAAC;EACxM;EACAoS,YAAY,GAAGA,YAAY,CAACvB,MAAM,CAAC,CAC/B,gBAAgB,EAAE,2BAA2B,EAAE,UAAU,EAAE,YAAY,EAAE,kBAAkB,EAC3F,aAAa,EAAE,gBAAgB,EAAE,WAAW,EAAE,WAAW,CAC5D,CAAC;EACF,KAAK,IAAI5Y,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGma,YAAY,CAACla,MAAM,EAAED,CAAC,EAAE,EAAE;IAC1C,MAAMK,MAAM,GAAG2H,OAAO,CAACmS,YAAY,CAACna,CAAC,CAAC,CAAC;IACvCK,MAAM,IAAIA,MAAM,CAACkE,SAAS,IACtBoV,uBAAuB,CAACtZ,MAAM,CAACkE,SAAS,EAAEsV,eAAe,CAACxZ,MAAM,CAACkE,SAAS,CAAC,EAAE8U,gBAAgB,CAAC;EACtG;AACJ;AAEAre,IAAI,CAACW,YAAY,CAAC,MAAM,EAAE,CAACrB,MAAM,EAAEU,IAAI,EAAEmR,GAAG,KAAK;EAC7C;EACA;EACA,MAAMkO,UAAU,GAAGR,eAAe,CAACvf,MAAM,CAAC;EAC1C6R,GAAG,CAACxG,iBAAiB,GAAGA,iBAAiB;EACzCwG,GAAG,CAACvG,WAAW,GAAGA,WAAW;EAC7BuG,GAAG,CAACtG,aAAa,GAAGA,aAAa;EACjCsG,GAAG,CAACpG,cAAc,GAAGA,cAAc;EACnC;EACA;EACA;EACA;EACA;EACA;EACA,MAAMuU,0BAA0B,GAAGtf,IAAI,CAACH,UAAU,CAAC,qBAAqB,CAAC;EACzE,MAAM0f,uBAAuB,GAAGvf,IAAI,CAACH,UAAU,CAAC,kBAAkB,CAAC;EACnE,IAAIP,MAAM,CAACigB,uBAAuB,CAAC,EAAE;IACjCjgB,MAAM,CAACggB,0BAA0B,CAAC,GAAGhgB,MAAM,CAACigB,uBAAuB,CAAC;EACxE;EACA,IAAIjgB,MAAM,CAACggB,0BAA0B,CAAC,EAAE;IACpCtf,IAAI,CAACsf,0BAA0B,CAAC,GAAGtf,IAAI,CAACuf,uBAAuB,CAAC,GAC5DjgB,MAAM,CAACggB,0BAA0B,CAAC;EAC1C;EACAnO,GAAG,CAACnG,mBAAmB,GAAGA,mBAAmB;EAC7CmG,GAAG,CAACzG,gBAAgB,GAAGA,gBAAgB;EACvCyG,GAAG,CAAClG,UAAU,GAAGA,UAAU;EAC3BkG,GAAG,CAAChG,oBAAoB,GAAGA,oBAAoB;EAC/CgG,GAAG,CAAC/F,8BAA8B,GAAGA,8BAA8B;EACnE+F,GAAG,CAAC9F,YAAY,GAAGA,YAAY;EAC/B8F,GAAG,CAAC7F,UAAU,GAAGA,UAAU;EAC3B6F,GAAG,CAAC5F,UAAU,GAAGA,UAAU;EAC3B4F,GAAG,CAAC3F,mBAAmB,GAAGA,mBAAmB;EAC7C2F,GAAG,CAAC1F,gBAAgB,GAAGA,gBAAgB;EACvC0F,GAAG,CAACzF,qBAAqB,GAAGA,qBAAqB;EACjDyF,GAAG,CAACxF,iBAAiB,GAAGrC,MAAM,CAACyC,cAAc;EAC7CoF,GAAG,CAACvF,cAAc,GAAGA,cAAc;EACnCuF,GAAG,CAACjG,gBAAgB,GAAG,OAAO;IAC1BiN,aAAa;IACbD,oBAAoB;IACpBmH,UAAU;IACVvR,SAAS;IACTC,KAAK;IACLH,MAAM;IACNnB,QAAQ;IACRC,SAAS;IACTC,kBAAkB;IAClBN,sBAAsB;IACtBC;EACJ,CAAC,CAAC;AACN,CAAC,CAAC;;AAEF;AACA;AACA;AACA;AACA,SAASkT,mBAAmBA,CAAClgB,MAAM,EAAE6R,GAAG,EAAE;EACtCA,GAAG,CAACvG,WAAW,CAACtL,MAAM,EAAE,gBAAgB,EAAG8F,QAAQ,IAAK;IACpD,OAAO,UAAUsD,IAAI,EAAEG,IAAI,EAAE;MACzB7I,IAAI,CAACM,OAAO,CAACgE,iBAAiB,CAAC,gBAAgB,EAAEuE,IAAI,CAAC,CAAC,CAAC,CAAC;IAC7D,CAAC;EACL,CAAC,CAAC;AACN;;AAEA;AACA;AACA;AACA;AACA,MAAM4W,UAAU,GAAG5S,UAAU,CAAC,UAAU,CAAC;AACzC,SAAS6S,UAAUA,CAAC7T,MAAM,EAAE8T,OAAO,EAAEC,UAAU,EAAEC,UAAU,EAAE;EACzD,IAAIrP,SAAS,GAAG,IAAI;EACpB,IAAIsP,WAAW,GAAG,IAAI;EACtBH,OAAO,IAAIE,UAAU;EACrBD,UAAU,IAAIC,UAAU;EACxB,MAAME,eAAe,GAAG,CAAC,CAAC;EAC1B,SAAShc,YAAYA,CAACpB,IAAI,EAAE;IACxB,MAAMa,IAAI,GAAGb,IAAI,CAACa,IAAI;IACtBA,IAAI,CAACqF,IAAI,CAAC,CAAC,CAAC,GAAG,YAAY;MACvB,OAAOlG,IAAI,CAACJ,MAAM,CAACuF,KAAK,CAAC,IAAI,EAAE3F,SAAS,CAAC;IAC7C,CAAC;IACDqB,IAAI,CAAC6F,QAAQ,GAAGmH,SAAS,CAAC1I,KAAK,CAAC+D,MAAM,EAAErI,IAAI,CAACqF,IAAI,CAAC;IAClD,OAAOlG,IAAI;EACf;EACA,SAASqd,SAASA,CAACrd,IAAI,EAAE;IACrB,OAAOmd,WAAW,CAAClX,IAAI,CAACiD,MAAM,EAAElJ,IAAI,CAACa,IAAI,CAAC6F,QAAQ,CAAC;EACvD;EACAmH,SAAS,GACL5F,WAAW,CAACiB,MAAM,EAAE8T,OAAO,EAAGva,QAAQ,IAAK,UAAUsD,IAAI,EAAEG,IAAI,EAAE;IAC7D,IAAI,OAAOA,IAAI,CAAC,CAAC,CAAC,KAAK,UAAU,EAAE;MAC/B,MAAML,OAAO,GAAG;QACZ/E,UAAU,EAAEoc,UAAU,KAAK,UAAU;QACrCI,KAAK,EAAGJ,UAAU,KAAK,SAAS,IAAIA,UAAU,KAAK,UAAU,GAAIhX,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,GACzElF,SAAS;QACbkF,IAAI,EAAEA;MACV,CAAC;MACD,MAAM/G,QAAQ,GAAG+G,IAAI,CAAC,CAAC,CAAC;MACxBA,IAAI,CAAC,CAAC,CAAC,GAAG,SAASqX,KAAKA,CAAA,EAAG;QACvB,IAAI;UACA,OAAOpe,QAAQ,CAACgG,KAAK,CAAC,IAAI,EAAE3F,SAAS,CAAC;QAC1C,CAAC,SACO;UACJ;UACA;UACA;UACA;UACA;UACA;UACA;UACA,IAAI,CAAEqG,OAAO,CAAC/E,UAAW,EAAE;YACvB,IAAI,OAAO+E,OAAO,CAACa,QAAQ,KAAK,QAAQ,EAAE;cACtC;cACA;cACA,OAAO0W,eAAe,CAACvX,OAAO,CAACa,QAAQ,CAAC;YAC5C,CAAC,MACI,IAAIb,OAAO,CAACa,QAAQ,EAAE;cACvB;cACA;cACAb,OAAO,CAACa,QAAQ,CAACoW,UAAU,CAAC,GAAG,IAAI;YACvC;UACJ;QACJ;MACJ,CAAC;MACD,MAAM9c,IAAI,GAAGiK,gCAAgC,CAAC+S,OAAO,EAAE9W,IAAI,CAAC,CAAC,CAAC,EAAEL,OAAO,EAAEzE,YAAY,EAAEic,SAAS,CAAC;MACjG,IAAI,CAACrd,IAAI,EAAE;QACP,OAAOA,IAAI;MACf;MACA;MACA,MAAMwd,MAAM,GAAGxd,IAAI,CAACa,IAAI,CAAC6F,QAAQ;MACjC,IAAI,OAAO8W,MAAM,KAAK,QAAQ,EAAE;QAC5B;QACA;QACAJ,eAAe,CAACI,MAAM,CAAC,GAAGxd,IAAI;MAClC,CAAC,MACI,IAAIwd,MAAM,EAAE;QACb;QACA;QACAA,MAAM,CAACV,UAAU,CAAC,GAAG9c,IAAI;MAC7B;MACA;MACA;MACA,IAAIwd,MAAM,IAAIA,MAAM,CAACC,GAAG,IAAID,MAAM,CAACE,KAAK,IAAI,OAAOF,MAAM,CAACC,GAAG,KAAK,UAAU,IACxE,OAAOD,MAAM,CAACE,KAAK,KAAK,UAAU,EAAE;QACpC1d,IAAI,CAACyd,GAAG,GAAGD,MAAM,CAACC,GAAG,CAACE,IAAI,CAACH,MAAM,CAAC;QAClCxd,IAAI,CAAC0d,KAAK,GAAGF,MAAM,CAACE,KAAK,CAACC,IAAI,CAACH,MAAM,CAAC;MAC1C;MACA,IAAI,OAAOA,MAAM,KAAK,QAAQ,IAAIA,MAAM,EAAE;QACtC,OAAOA,MAAM;MACjB;MACA,OAAOxd,IAAI;IACf,CAAC,MACI;MACD;MACA,OAAOyC,QAAQ,CAAC0C,KAAK,CAAC+D,MAAM,EAAEhD,IAAI,CAAC;IACvC;EACJ,CAAC,CAAC;EACNiX,WAAW,GACPlV,WAAW,CAACiB,MAAM,EAAE+T,UAAU,EAAGxa,QAAQ,IAAK,UAAUsD,IAAI,EAAEG,IAAI,EAAE;IAChE,MAAM0X,EAAE,GAAG1X,IAAI,CAAC,CAAC,CAAC;IAClB,IAAIlG,IAAI;IACR,IAAI,OAAO4d,EAAE,KAAK,QAAQ,EAAE;MACxB;MACA5d,IAAI,GAAGod,eAAe,CAACQ,EAAE,CAAC;IAC9B,CAAC,MACI;MACD;MACA5d,IAAI,GAAG4d,EAAE,IAAIA,EAAE,CAACd,UAAU,CAAC;MAC3B;MACA,IAAI,CAAC9c,IAAI,EAAE;QACPA,IAAI,GAAG4d,EAAE;MACb;IACJ;IACA,IAAI5d,IAAI,IAAI,OAAOA,IAAI,CAACI,IAAI,KAAK,QAAQ,EAAE;MACvC,IAAIJ,IAAI,CAACE,KAAK,KAAK,cAAc,KAC5BF,IAAI,CAACe,QAAQ,IAAIf,IAAI,CAACa,IAAI,CAACC,UAAU,IAAId,IAAI,CAACW,QAAQ,KAAK,CAAC,CAAC,EAAE;QAChE,IAAI,OAAOid,EAAE,KAAK,QAAQ,EAAE;UACxB,OAAOR,eAAe,CAACQ,EAAE,CAAC;QAC9B,CAAC,MACI,IAAIA,EAAE,EAAE;UACTA,EAAE,CAACd,UAAU,CAAC,GAAG,IAAI;QACzB;QACA;QACA9c,IAAI,CAACtC,IAAI,CAACwE,UAAU,CAAClC,IAAI,CAAC;MAC9B;IACJ,CAAC,MACI;MACD;MACAyC,QAAQ,CAAC0C,KAAK,CAAC+D,MAAM,EAAEhD,IAAI,CAAC;IAChC;EACJ,CAAC,CAAC;AACV;AAEA,SAAS2X,mBAAmBA,CAACxT,OAAO,EAAEmE,GAAG,EAAE;EACvC,MAAM;IAAErD,SAAS;IAAEC;EAAM,CAAC,GAAGoD,GAAG,CAACjG,gBAAgB,CAAC,CAAC;EACnD,IAAK,CAAC4C,SAAS,IAAI,CAACC,KAAK,IAAK,CAACf,OAAO,CAAC,gBAAgB,CAAC,IAAI,EAAE,gBAAgB,IAAIA,OAAO,CAAC,EAAE;IACxF;EACJ;EACA,MAAMgR,SAAS,GAAG,CAAC,mBAAmB,EAAE,sBAAsB,EAAE,iBAAiB,EAAE,0BAA0B,CAAC;EAC9G7M,GAAG,CAACvF,cAAc,CAACuF,GAAG,EAAEnE,OAAO,CAACyT,cAAc,EAAE,gBAAgB,EAAE,QAAQ,EAAEzC,SAAS,CAAC;AAC1F;AAEA,SAAS0C,gBAAgBA,CAAC1T,OAAO,EAAEmE,GAAG,EAAE;EACpC,IAAInR,IAAI,CAACmR,GAAG,CAAC7G,MAAM,CAAC,kBAAkB,CAAC,CAAC,EAAE;IACtC;IACA;EACJ;EACA,MAAM;IAAE+U,UAAU;IAAEnH,oBAAoB;IAAEzL,QAAQ;IAAEC,SAAS;IAAEC;EAAmB,CAAC,GAAGwE,GAAG,CAACjG,gBAAgB,CAAC,CAAC;EAC5G;EACA,KAAK,IAAIlG,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGqa,UAAU,CAACpa,MAAM,EAAED,CAAC,EAAE,EAAE;IACxC,MAAMqK,SAAS,GAAGgQ,UAAU,CAACra,CAAC,CAAC;IAC/B,MAAMyT,cAAc,GAAGpJ,SAAS,GAAG3C,SAAS;IAC5C,MAAMgM,aAAa,GAAGrJ,SAAS,GAAG5C,QAAQ;IAC1C,MAAMnC,MAAM,GAAGqC,kBAAkB,GAAG8L,cAAc;IAClD,MAAME,aAAa,GAAGhM,kBAAkB,GAAG+L,aAAa;IACxDR,oBAAoB,CAAC7I,SAAS,CAAC,GAAG,CAAC,CAAC;IACpC6I,oBAAoB,CAAC7I,SAAS,CAAC,CAAC3C,SAAS,CAAC,GAAGpC,MAAM;IACnD4N,oBAAoB,CAAC7I,SAAS,CAAC,CAAC5C,QAAQ,CAAC,GAAGkM,aAAa;EAC7D;EACA,MAAMgI,YAAY,GAAG3T,OAAO,CAAC,aAAa,CAAC;EAC3C,IAAI,CAAC2T,YAAY,IAAI,CAACA,YAAY,CAACpX,SAAS,EAAE;IAC1C;EACJ;EACA4H,GAAG,CAACzG,gBAAgB,CAACsC,OAAO,EAAEmE,GAAG,EAAE,CAACwP,YAAY,IAAIA,YAAY,CAACpX,SAAS,CAAC,CAAC;EAC5E,OAAO,IAAI;AACf;AACA,SAASqX,UAAUA,CAACthB,MAAM,EAAE6R,GAAG,EAAE;EAC7BA,GAAG,CAACnG,mBAAmB,CAAC1L,MAAM,EAAE6R,GAAG,CAAC;AACxC;;AAEA;AACA;AACA;AACA;AACAnR,IAAI,CAACW,YAAY,CAAC,QAAQ,EAAGrB,MAAM,IAAK;EACpC,MAAMuhB,WAAW,GAAGvhB,MAAM,CAACU,IAAI,CAACH,UAAU,CAAC,aAAa,CAAC,CAAC;EAC1D,IAAIghB,WAAW,EAAE;IACbA,WAAW,CAAC,CAAC;EACjB;AACJ,CAAC,CAAC;AACF7gB,IAAI,CAACW,YAAY,CAAC,QAAQ,EAAGrB,MAAM,IAAK;EACpC,MAAMmO,GAAG,GAAG,KAAK;EACjB,MAAMqT,KAAK,GAAG,OAAO;EACrBpB,UAAU,CAACpgB,MAAM,EAAEmO,GAAG,EAAEqT,KAAK,EAAE,SAAS,CAAC;EACzCpB,UAAU,CAACpgB,MAAM,EAAEmO,GAAG,EAAEqT,KAAK,EAAE,UAAU,CAAC;EAC1CpB,UAAU,CAACpgB,MAAM,EAAEmO,GAAG,EAAEqT,KAAK,EAAE,WAAW,CAAC;AAC/C,CAAC,CAAC;AACF9gB,IAAI,CAACW,YAAY,CAAC,uBAAuB,EAAGrB,MAAM,IAAK;EACnDogB,UAAU,CAACpgB,MAAM,EAAE,SAAS,EAAE,QAAQ,EAAE,gBAAgB,CAAC;EACzDogB,UAAU,CAACpgB,MAAM,EAAE,YAAY,EAAE,WAAW,EAAE,gBAAgB,CAAC;EAC/DogB,UAAU,CAACpgB,MAAM,EAAE,eAAe,EAAE,cAAc,EAAE,gBAAgB,CAAC;AACzE,CAAC,CAAC;AACFU,IAAI,CAACW,YAAY,CAAC,UAAU,EAAE,CAACrB,MAAM,EAAEU,IAAI,KAAK;EAC5C,MAAM+gB,eAAe,GAAG,CAAC,OAAO,EAAE,QAAQ,EAAE,SAAS,CAAC;EACtD,KAAK,IAAI/b,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAG+b,eAAe,CAAC9b,MAAM,EAAED,CAAC,EAAE,EAAE;IAC7C,MAAMvF,IAAI,GAAGshB,eAAe,CAAC/b,CAAC,CAAC;IAC/B4F,WAAW,CAACtL,MAAM,EAAEG,IAAI,EAAE,CAAC2F,QAAQ,EAAEkF,MAAM,EAAE7K,IAAI,KAAK;MAClD,OAAO,UAAUuhB,CAAC,EAAEnY,IAAI,EAAE;QACtB,OAAO7I,IAAI,CAACM,OAAO,CAAC8B,GAAG,CAACgD,QAAQ,EAAE9F,MAAM,EAAEuJ,IAAI,EAAEpJ,IAAI,CAAC;MACzD,CAAC;IACL,CAAC,CAAC;EACN;AACJ,CAAC,CAAC;AACFO,IAAI,CAACW,YAAY,CAAC,aAAa,EAAE,CAACrB,MAAM,EAAEU,IAAI,EAAEmR,GAAG,KAAK;EACpDyP,UAAU,CAACthB,MAAM,EAAE6R,GAAG,CAAC;EACvBuP,gBAAgB,CAACphB,MAAM,EAAE6R,GAAG,CAAC;EAC7B;EACA,MAAM8P,yBAAyB,GAAG3hB,MAAM,CAAC,2BAA2B,CAAC;EACrE,IAAI2hB,yBAAyB,IAAIA,yBAAyB,CAAC1X,SAAS,EAAE;IAClE4H,GAAG,CAACzG,gBAAgB,CAACpL,MAAM,EAAE6R,GAAG,EAAE,CAAC8P,yBAAyB,CAAC1X,SAAS,CAAC,CAAC;EAC5E;AACJ,CAAC,CAAC;AACFvJ,IAAI,CAACW,YAAY,CAAC,kBAAkB,EAAE,CAACrB,MAAM,EAAEU,IAAI,EAAEmR,GAAG,KAAK;EACzD5F,UAAU,CAAC,kBAAkB,CAAC;EAC9BA,UAAU,CAAC,wBAAwB,CAAC;AACxC,CAAC,CAAC;AACFvL,IAAI,CAACW,YAAY,CAAC,sBAAsB,EAAE,CAACrB,MAAM,EAAEU,IAAI,EAAEmR,GAAG,KAAK;EAC7D5F,UAAU,CAAC,sBAAsB,CAAC;AACtC,CAAC,CAAC;AACFvL,IAAI,CAACW,YAAY,CAAC,YAAY,EAAE,CAACrB,MAAM,EAAEU,IAAI,EAAEmR,GAAG,KAAK;EACnD5F,UAAU,CAAC,YAAY,CAAC;AAC5B,CAAC,CAAC;AACFvL,IAAI,CAACW,YAAY,CAAC,aAAa,EAAE,CAACrB,MAAM,EAAEU,IAAI,EAAEmR,GAAG,KAAK;EACpD+N,uBAAuB,CAAC/N,GAAG,EAAE7R,MAAM,CAAC;AACxC,CAAC,CAAC;AACFU,IAAI,CAACW,YAAY,CAAC,gBAAgB,EAAE,CAACrB,MAAM,EAAEU,IAAI,EAAEmR,GAAG,KAAK;EACvDqP,mBAAmB,CAAClhB,MAAM,EAAE6R,GAAG,CAAC;AACpC,CAAC,CAAC;AACFnR,IAAI,CAACW,YAAY,CAAC,KAAK,EAAE,CAACrB,MAAM,EAAEU,IAAI,KAAK;EACvC;EACAkhB,QAAQ,CAAC5hB,MAAM,CAAC;EAChB,MAAM6hB,QAAQ,GAAGtU,UAAU,CAAC,SAAS,CAAC;EACtC,MAAMuU,QAAQ,GAAGvU,UAAU,CAAC,SAAS,CAAC;EACtC,MAAMwU,YAAY,GAAGxU,UAAU,CAAC,aAAa,CAAC;EAC9C,MAAMyU,aAAa,GAAGzU,UAAU,CAAC,cAAc,CAAC;EAChD,MAAM0U,OAAO,GAAG1U,UAAU,CAAC,QAAQ,CAAC;EACpC,MAAM2U,0BAA0B,GAAG3U,UAAU,CAAC,yBAAyB,CAAC;EACxE,SAASqU,QAAQA,CAACrV,MAAM,EAAE;IACtB,MAAM4V,cAAc,GAAG5V,MAAM,CAAC,gBAAgB,CAAC;IAC/C,IAAI,CAAC4V,cAAc,EAAE;MACjB;MACA;IACJ;IACA,MAAMC,uBAAuB,GAAGD,cAAc,CAAClY,SAAS;IACxD,SAASoY,eAAeA,CAACtc,MAAM,EAAE;MAC7B,OAAOA,MAAM,CAAC8b,QAAQ,CAAC;IAC3B;IACA,IAAIS,cAAc,GAAGF,uBAAuB,CAACnV,8BAA8B,CAAC;IAC5E,IAAIsV,iBAAiB,GAAGH,uBAAuB,CAAClV,iCAAiC,CAAC;IAClF,IAAI,CAACoV,cAAc,EAAE;MACjB,MAAMX,yBAAyB,GAAGpV,MAAM,CAAC,2BAA2B,CAAC;MACrE,IAAIoV,yBAAyB,EAAE;QAC3B,MAAMa,kCAAkC,GAAGb,yBAAyB,CAAC1X,SAAS;QAC9EqY,cAAc,GAAGE,kCAAkC,CAACvV,8BAA8B,CAAC;QACnFsV,iBAAiB,GAAGC,kCAAkC,CAACtV,iCAAiC,CAAC;MAC7F;IACJ;IACA,MAAMuV,kBAAkB,GAAG,kBAAkB;IAC7C,MAAMC,SAAS,GAAG,WAAW;IAC7B,SAASje,YAAYA,CAACpB,IAAI,EAAE;MACxB,MAAMa,IAAI,GAAGb,IAAI,CAACa,IAAI;MACtB,MAAM6B,MAAM,GAAG7B,IAAI,CAAC6B,MAAM;MAC1BA,MAAM,CAACic,aAAa,CAAC,GAAG,KAAK;MAC7Bjc,MAAM,CAACmc,0BAA0B,CAAC,GAAG,KAAK;MAC1C;MACA,MAAMpT,QAAQ,GAAG/I,MAAM,CAACgc,YAAY,CAAC;MACrC,IAAI,CAACO,cAAc,EAAE;QACjBA,cAAc,GAAGvc,MAAM,CAACkH,8BAA8B,CAAC;QACvDsV,iBAAiB,GAAGxc,MAAM,CAACmH,iCAAiC,CAAC;MACjE;MACA,IAAI4B,QAAQ,EAAE;QACVyT,iBAAiB,CAACjZ,IAAI,CAACvD,MAAM,EAAE0c,kBAAkB,EAAE3T,QAAQ,CAAC;MAChE;MACA,MAAM6T,WAAW,GAAG5c,MAAM,CAACgc,YAAY,CAAC,GAAG,MAAM;QAC7C,IAAIhc,MAAM,CAAC6c,UAAU,KAAK7c,MAAM,CAAC8c,IAAI,EAAE;UACnC;UACA;UACA,IAAI,CAAC3e,IAAI,CAAC4e,OAAO,IAAI/c,MAAM,CAACic,aAAa,CAAC,IAAI3e,IAAI,CAACE,KAAK,KAAKmf,SAAS,EAAE;YACpE;YACA;YACA;YACA;YACA;YACA;YACA;YACA,MAAMK,SAAS,GAAGhd,MAAM,CAACrF,IAAI,CAACH,UAAU,CAAC,WAAW,CAAC,CAAC;YACtD,IAAIwF,MAAM,CAACyQ,MAAM,KAAK,CAAC,IAAIuM,SAAS,IAAIA,SAAS,CAACpd,MAAM,GAAG,CAAC,EAAE;cAC1D,MAAMqd,SAAS,GAAG3f,IAAI,CAACJ,MAAM;cAC7BI,IAAI,CAACJ,MAAM,GAAG,YAAY;gBACtB;gBACA;gBACA,MAAM8f,SAAS,GAAGhd,MAAM,CAACrF,IAAI,CAACH,UAAU,CAAC,WAAW,CAAC,CAAC;gBACtD,KAAK,IAAImF,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGqd,SAAS,CAACpd,MAAM,EAAED,CAAC,EAAE,EAAE;kBACvC,IAAIqd,SAAS,CAACrd,CAAC,CAAC,KAAKrC,IAAI,EAAE;oBACvB0f,SAAS,CAAClO,MAAM,CAACnP,CAAC,EAAE,CAAC,CAAC;kBAC1B;gBACJ;gBACA,IAAI,CAACxB,IAAI,CAAC4e,OAAO,IAAIzf,IAAI,CAACE,KAAK,KAAKmf,SAAS,EAAE;kBAC3CM,SAAS,CAAC1Z,IAAI,CAACjG,IAAI,CAAC;gBACxB;cACJ,CAAC;cACD0f,SAAS,CAACra,IAAI,CAACrF,IAAI,CAAC;YACxB,CAAC,MACI;cACDA,IAAI,CAACJ,MAAM,CAAC,CAAC;YACjB;UACJ,CAAC,MACI,IAAI,CAACiB,IAAI,CAAC4e,OAAO,IAAI/c,MAAM,CAACic,aAAa,CAAC,KAAK,KAAK,EAAE;YACvD;YACAjc,MAAM,CAACmc,0BAA0B,CAAC,GAAG,IAAI;UAC7C;QACJ;MACJ,CAAC;MACDI,cAAc,CAAChZ,IAAI,CAACvD,MAAM,EAAE0c,kBAAkB,EAAEE,WAAW,CAAC;MAC5D,MAAMM,UAAU,GAAGld,MAAM,CAAC8b,QAAQ,CAAC;MACnC,IAAI,CAACoB,UAAU,EAAE;QACbld,MAAM,CAAC8b,QAAQ,CAAC,GAAGxe,IAAI;MAC3B;MACA6f,UAAU,CAAC1a,KAAK,CAACzC,MAAM,EAAE7B,IAAI,CAACqF,IAAI,CAAC;MACnCxD,MAAM,CAACic,aAAa,CAAC,GAAG,IAAI;MAC5B,OAAO3e,IAAI;IACf;IACA,SAAS8f,mBAAmBA,CAAA,EAAG,CAAE;IACjC,SAASzC,SAASA,CAACrd,IAAI,EAAE;MACrB,MAAMa,IAAI,GAAGb,IAAI,CAACa,IAAI;MACtB;MACA;MACAA,IAAI,CAAC4e,OAAO,GAAG,IAAI;MACnB,OAAOM,WAAW,CAAC5a,KAAK,CAACtE,IAAI,CAAC6B,MAAM,EAAE7B,IAAI,CAACqF,IAAI,CAAC;IACpD;IACA,MAAM8Z,UAAU,GAAG/X,WAAW,CAAC8W,uBAAuB,EAAE,MAAM,EAAE,MAAM,UAAUhZ,IAAI,EAAEG,IAAI,EAAE;MACxFH,IAAI,CAAC0Y,QAAQ,CAAC,GAAGvY,IAAI,CAAC,CAAC,CAAC,IAAI,KAAK;MACjCH,IAAI,CAAC6Y,OAAO,CAAC,GAAG1Y,IAAI,CAAC,CAAC,CAAC;MACvB,OAAO8Z,UAAU,CAAC7a,KAAK,CAACY,IAAI,EAAEG,IAAI,CAAC;IACvC,CAAC,CAAC;IACF,MAAM+Z,qBAAqB,GAAG,qBAAqB;IACnD,MAAMC,iBAAiB,GAAGhW,UAAU,CAAC,mBAAmB,CAAC;IACzD,MAAMiW,mBAAmB,GAAGjW,UAAU,CAAC,qBAAqB,CAAC;IAC7D,MAAM2V,UAAU,GAAG5X,WAAW,CAAC8W,uBAAuB,EAAE,MAAM,EAAE,MAAM,UAAUhZ,IAAI,EAAEG,IAAI,EAAE;MACxF,IAAI7I,IAAI,CAACM,OAAO,CAACwiB,mBAAmB,CAAC,KAAK,IAAI,EAAE;QAC5C;QACA;QACA;QACA,OAAON,UAAU,CAAC1a,KAAK,CAACY,IAAI,EAAEG,IAAI,CAAC;MACvC;MACA,IAAIH,IAAI,CAAC0Y,QAAQ,CAAC,EAAE;QAChB;QACA,OAAOoB,UAAU,CAAC1a,KAAK,CAACY,IAAI,EAAEG,IAAI,CAAC;MACvC,CAAC,MACI;QACD,MAAML,OAAO,GAAG;UAAEnD,MAAM,EAAEqD,IAAI;UAAEqa,GAAG,EAAEra,IAAI,CAAC6Y,OAAO,CAAC;UAAE9d,UAAU,EAAE,KAAK;UAAEoF,IAAI,EAAEA,IAAI;UAAEuZ,OAAO,EAAE;QAAM,CAAC;QACnG,MAAMzf,IAAI,GAAGiK,gCAAgC,CAACgW,qBAAqB,EAAEH,mBAAmB,EAAEja,OAAO,EAAEzE,YAAY,EAAEic,SAAS,CAAC;QAC3H,IAAItX,IAAI,IAAIA,IAAI,CAAC8Y,0BAA0B,CAAC,KAAK,IAAI,IAAI,CAAChZ,OAAO,CAAC4Z,OAAO,IACrEzf,IAAI,CAACE,KAAK,KAAKmf,SAAS,EAAE;UAC1B;UACA;UACA;UACArf,IAAI,CAACJ,MAAM,CAAC,CAAC;QACjB;MACJ;IACJ,CAAC,CAAC;IACF,MAAMmgB,WAAW,GAAG9X,WAAW,CAAC8W,uBAAuB,EAAE,OAAO,EAAE,MAAM,UAAUhZ,IAAI,EAAEG,IAAI,EAAE;MAC1F,MAAMlG,IAAI,GAAGgf,eAAe,CAACjZ,IAAI,CAAC;MAClC,IAAI/F,IAAI,IAAI,OAAOA,IAAI,CAACI,IAAI,IAAI,QAAQ,EAAE;QACtC;QACA;QACA;QACA;QACA,IAAIJ,IAAI,CAACe,QAAQ,IAAI,IAAI,IAAKf,IAAI,CAACa,IAAI,IAAIb,IAAI,CAACa,IAAI,CAAC4e,OAAQ,EAAE;UAC3D;QACJ;QACAzf,IAAI,CAACtC,IAAI,CAACwE,UAAU,CAAClC,IAAI,CAAC;MAC9B,CAAC,MACI,IAAI3C,IAAI,CAACM,OAAO,CAACuiB,iBAAiB,CAAC,KAAK,IAAI,EAAE;QAC/C;QACA,OAAOH,WAAW,CAAC5a,KAAK,CAACY,IAAI,EAAEG,IAAI,CAAC;MACxC;MACA;MACA;MACA;IACJ,CAAC,CAAC;EACN;AACJ,CAAC,CAAC;;AACF7I,IAAI,CAACW,YAAY,CAAC,aAAa,EAAGrB,MAAM,IAAK;EACzC;EACA,IAAIA,MAAM,CAAC,WAAW,CAAC,IAAIA,MAAM,CAAC,WAAW,CAAC,CAAC0jB,WAAW,EAAE;IACxD9V,cAAc,CAAC5N,MAAM,CAAC,WAAW,CAAC,CAAC0jB,WAAW,EAAE,CAAC,oBAAoB,EAAE,eAAe,CAAC,CAAC;EAC5F;AACJ,CAAC,CAAC;AACFhjB,IAAI,CAACW,YAAY,CAAC,uBAAuB,EAAE,CAACrB,MAAM,EAAEU,IAAI,KAAK;EACzD;EACA,SAASijB,2BAA2BA,CAAC7F,OAAO,EAAE;IAC1C,OAAO,UAAU1L,CAAC,EAAE;MAChB,MAAMwR,UAAU,GAAGlG,cAAc,CAAC1d,MAAM,EAAE8d,OAAO,CAAC;MAClD8F,UAAU,CAAC/E,OAAO,CAACnb,SAAS,IAAI;QAC5B;QACA;QACA,MAAMmgB,qBAAqB,GAAG7jB,MAAM,CAAC,uBAAuB,CAAC;QAC7D,IAAI6jB,qBAAqB,EAAE;UACvB,MAAMC,GAAG,GAAG,IAAID,qBAAqB,CAAC/F,OAAO,EAAE;YAAEhK,OAAO,EAAE1B,CAAC,CAAC0B,OAAO;YAAE4C,MAAM,EAAEtE,CAAC,CAACC;UAAU,CAAC,CAAC;UAC3F3O,SAAS,CAACT,MAAM,CAAC6gB,GAAG,CAAC;QACzB;MACJ,CAAC,CAAC;IACN,CAAC;EACL;EACA,IAAI9jB,MAAM,CAAC,uBAAuB,CAAC,EAAE;IACjCU,IAAI,CAAC6M,UAAU,CAAC,kCAAkC,CAAC,CAAC,GAChDoW,2BAA2B,CAAC,oBAAoB,CAAC;IACrDjjB,IAAI,CAAC6M,UAAU,CAAC,yBAAyB,CAAC,CAAC,GACvCoW,2BAA2B,CAAC,kBAAkB,CAAC;EACvD;AACJ,CAAC,CAAC;AACFjjB,IAAI,CAACW,YAAY,CAAC,gBAAgB,EAAE,CAACrB,MAAM,EAAEU,IAAI,EAAEmR,GAAG,KAAK;EACvDqO,mBAAmB,CAAClgB,MAAM,EAAE6R,GAAG,CAAC;AACpC,CAAC,CAAC;;;;;;;;;;;;;ACprFF;;;;;;;;;;;;;;;AAgBA;;;AAIA;;;;;;;;;;;;;;;;;;;;;;;AAwBA;;;AAGiB,CAAC;AAElB","sources":["./node_modules/zone.js/fesm2015/zone.js","./src/polyfills.ts"],"sourcesContent":["'use strict';\n/**\n * @license Angular v\n * (c) 2010-2022 Google LLC. https://angular.io/\n * License: MIT\n */\n((function (global) {\n const performance = global['performance'];\n function mark(name) {\n performance && performance['mark'] && performance['mark'](name);\n }\n function performanceMeasure(name, label) {\n performance && performance['measure'] && performance['measure'](name, label);\n }\n mark('Zone');\n // Initialize before it's accessed below.\n // __Zone_symbol_prefix global can be used to override the default zone\n // symbol prefix with a custom one if needed.\n const symbolPrefix = global['__Zone_symbol_prefix'] || '__zone_symbol__';\n function __symbol__(name) {\n return symbolPrefix + name;\n }\n const checkDuplicate = global[__symbol__('forceDuplicateZoneCheck')] === true;\n if (global['Zone']) {\n // if global['Zone'] already exists (maybe zone.js was already loaded or\n // some other lib also registered a global object named Zone), we may need\n // to throw an error, but sometimes user may not want this error.\n // For example,\n // we have two web pages, page1 includes zone.js, page2 doesn't.\n // and the 1st time user load page1 and page2, everything work fine,\n // but when user load page2 again, error occurs because global['Zone'] already exists.\n // so we add a flag to let user choose whether to throw this error or not.\n // By default, if existing Zone is from zone.js, we will not throw the error.\n if (checkDuplicate || typeof global['Zone'].__symbol__ !== 'function') {\n throw new Error('Zone already loaded.');\n }\n else {\n return global['Zone'];\n }\n }\n class Zone {\n // tslint:disable-next-line:require-internal-with-underscore\n static { this.__symbol__ = __symbol__; }\n static assertZonePatched() {\n if (global['Promise'] !== patches['ZoneAwarePromise']) {\n throw new Error('Zone.js has detected that ZoneAwarePromise `(window|global).Promise` ' +\n 'has been overwritten.\\n' +\n 'Most likely cause is that a Promise polyfill has been loaded ' +\n 'after Zone.js (Polyfilling Promise api is not necessary when zone.js is loaded. ' +\n 'If you must load one, do so before loading zone.js.)');\n }\n }\n static get root() {\n let zone = Zone.current;\n while (zone.parent) {\n zone = zone.parent;\n }\n return zone;\n }\n static get current() {\n return _currentZoneFrame.zone;\n }\n static get currentTask() {\n return _currentTask;\n }\n // tslint:disable-next-line:require-internal-with-underscore\n static __load_patch(name, fn, ignoreDuplicate = false) {\n if (patches.hasOwnProperty(name)) {\n // `checkDuplicate` option is defined from global variable\n // so it works for all modules.\n // `ignoreDuplicate` can work for the specified module\n if (!ignoreDuplicate && checkDuplicate) {\n throw Error('Already loaded patch: ' + name);\n }\n }\n else if (!global['__Zone_disable_' + name]) {\n const perfName = 'Zone:' + name;\n mark(perfName);\n patches[name] = fn(global, Zone, _api);\n performanceMeasure(perfName, perfName);\n }\n }\n get parent() {\n return this._parent;\n }\n get name() {\n return this._name;\n }\n constructor(parent, zoneSpec) {\n this._parent = parent;\n this._name = zoneSpec ? zoneSpec.name || 'unnamed' : '';\n this._properties = zoneSpec && zoneSpec.properties || {};\n this._zoneDelegate =\n new _ZoneDelegate(this, this._parent && this._parent._zoneDelegate, zoneSpec);\n }\n get(key) {\n const zone = this.getZoneWith(key);\n if (zone)\n return zone._properties[key];\n }\n getZoneWith(key) {\n let current = this;\n while (current) {\n if (current._properties.hasOwnProperty(key)) {\n return current;\n }\n current = current._parent;\n }\n return null;\n }\n fork(zoneSpec) {\n if (!zoneSpec)\n throw new Error('ZoneSpec required!');\n return this._zoneDelegate.fork(this, zoneSpec);\n }\n wrap(callback, source) {\n if (typeof callback !== 'function') {\n throw new Error('Expecting function got: ' + callback);\n }\n const _callback = this._zoneDelegate.intercept(this, callback, source);\n const zone = this;\n return function () {\n return zone.runGuarded(_callback, this, arguments, source);\n };\n }\n run(callback, applyThis, applyArgs, source) {\n _currentZoneFrame = { parent: _currentZoneFrame, zone: this };\n try {\n return this._zoneDelegate.invoke(this, callback, applyThis, applyArgs, source);\n }\n finally {\n _currentZoneFrame = _currentZoneFrame.parent;\n }\n }\n runGuarded(callback, applyThis = null, applyArgs, source) {\n _currentZoneFrame = { parent: _currentZoneFrame, zone: this };\n try {\n try {\n return this._zoneDelegate.invoke(this, callback, applyThis, applyArgs, source);\n }\n catch (error) {\n if (this._zoneDelegate.handleError(this, error)) {\n throw error;\n }\n }\n }\n finally {\n _currentZoneFrame = _currentZoneFrame.parent;\n }\n }\n runTask(task, applyThis, applyArgs) {\n if (task.zone != this) {\n throw new Error('A task can only be run in the zone of creation! (Creation: ' +\n (task.zone || NO_ZONE).name + '; Execution: ' + this.name + ')');\n }\n // https://github.com/angular/zone.js/issues/778, sometimes eventTask\n // will run in notScheduled(canceled) state, we should not try to\n // run such kind of task but just return\n if (task.state === notScheduled && (task.type === eventTask || task.type === macroTask)) {\n return;\n }\n const reEntryGuard = task.state != running;\n reEntryGuard && task._transitionTo(running, scheduled);\n task.runCount++;\n const previousTask = _currentTask;\n _currentTask = task;\n _currentZoneFrame = { parent: _currentZoneFrame, zone: this };\n try {\n if (task.type == macroTask && task.data && !task.data.isPeriodic) {\n task.cancelFn = undefined;\n }\n try {\n return this._zoneDelegate.invokeTask(this, task, applyThis, applyArgs);\n }\n catch (error) {\n if (this._zoneDelegate.handleError(this, error)) {\n throw error;\n }\n }\n }\n finally {\n // if the task's state is notScheduled or unknown, then it has already been cancelled\n // we should not reset the state to scheduled\n if (task.state !== notScheduled && task.state !== unknown) {\n if (task.type == eventTask || (task.data && task.data.isPeriodic)) {\n reEntryGuard && task._transitionTo(scheduled, running);\n }\n else {\n task.runCount = 0;\n this._updateTaskCount(task, -1);\n reEntryGuard &&\n task._transitionTo(notScheduled, running, notScheduled);\n }\n }\n _currentZoneFrame = _currentZoneFrame.parent;\n _currentTask = previousTask;\n }\n }\n scheduleTask(task) {\n if (task.zone && task.zone !== this) {\n // check if the task was rescheduled, the newZone\n // should not be the children of the original zone\n let newZone = this;\n while (newZone) {\n if (newZone === task.zone) {\n throw Error(`can not reschedule task to ${this.name} which is descendants of the original zone ${task.zone.name}`);\n }\n newZone = newZone.parent;\n }\n }\n task._transitionTo(scheduling, notScheduled);\n const zoneDelegates = [];\n task._zoneDelegates = zoneDelegates;\n task._zone = this;\n try {\n task = this._zoneDelegate.scheduleTask(this, task);\n }\n catch (err) {\n // should set task's state to unknown when scheduleTask throw error\n // because the err may from reschedule, so the fromState maybe notScheduled\n task._transitionTo(unknown, scheduling, notScheduled);\n // TODO: @JiaLiPassion, should we check the result from handleError?\n this._zoneDelegate.handleError(this, err);\n throw err;\n }\n if (task._zoneDelegates === zoneDelegates) {\n // we have to check because internally the delegate can reschedule the task.\n this._updateTaskCount(task, 1);\n }\n if (task.state == scheduling) {\n task._transitionTo(scheduled, scheduling);\n }\n return task;\n }\n scheduleMicroTask(source, callback, data, customSchedule) {\n return this.scheduleTask(new ZoneTask(microTask, source, callback, data, customSchedule, undefined));\n }\n scheduleMacroTask(source, callback, data, customSchedule, customCancel) {\n return this.scheduleTask(new ZoneTask(macroTask, source, callback, data, customSchedule, customCancel));\n }\n scheduleEventTask(source, callback, data, customSchedule, customCancel) {\n return this.scheduleTask(new ZoneTask(eventTask, source, callback, data, customSchedule, customCancel));\n }\n cancelTask(task) {\n if (task.zone != this)\n throw new Error('A task can only be cancelled in the zone of creation! (Creation: ' +\n (task.zone || NO_ZONE).name + '; Execution: ' + this.name + ')');\n if (task.state !== scheduled && task.state !== running) {\n return;\n }\n task._transitionTo(canceling, scheduled, running);\n try {\n this._zoneDelegate.cancelTask(this, task);\n }\n catch (err) {\n // if error occurs when cancelTask, transit the state to unknown\n task._transitionTo(unknown, canceling);\n this._zoneDelegate.handleError(this, err);\n throw err;\n }\n this._updateTaskCount(task, -1);\n task._transitionTo(notScheduled, canceling);\n task.runCount = 0;\n return task;\n }\n _updateTaskCount(task, count) {\n const zoneDelegates = task._zoneDelegates;\n if (count == -1) {\n task._zoneDelegates = null;\n }\n for (let i = 0; i < zoneDelegates.length; i++) {\n zoneDelegates[i]._updateTaskCount(task.type, count);\n }\n }\n }\n const DELEGATE_ZS = {\n name: '',\n onHasTask: (delegate, _, target, hasTaskState) => delegate.hasTask(target, hasTaskState),\n onScheduleTask: (delegate, _, target, task) => delegate.scheduleTask(target, task),\n onInvokeTask: (delegate, _, target, task, applyThis, applyArgs) => delegate.invokeTask(target, task, applyThis, applyArgs),\n onCancelTask: (delegate, _, target, task) => delegate.cancelTask(target, task)\n };\n class _ZoneDelegate {\n constructor(zone, parentDelegate, zoneSpec) {\n this._taskCounts = { 'microTask': 0, 'macroTask': 0, 'eventTask': 0 };\n this.zone = zone;\n this._parentDelegate = parentDelegate;\n this._forkZS = zoneSpec && (zoneSpec && zoneSpec.onFork ? zoneSpec : parentDelegate._forkZS);\n this._forkDlgt = zoneSpec && (zoneSpec.onFork ? parentDelegate : parentDelegate._forkDlgt);\n this._forkCurrZone =\n zoneSpec && (zoneSpec.onFork ? this.zone : parentDelegate._forkCurrZone);\n this._interceptZS =\n zoneSpec && (zoneSpec.onIntercept ? zoneSpec : parentDelegate._interceptZS);\n this._interceptDlgt =\n zoneSpec && (zoneSpec.onIntercept ? parentDelegate : parentDelegate._interceptDlgt);\n this._interceptCurrZone =\n zoneSpec && (zoneSpec.onIntercept ? this.zone : parentDelegate._interceptCurrZone);\n this._invokeZS = zoneSpec && (zoneSpec.onInvoke ? zoneSpec : parentDelegate._invokeZS);\n this._invokeDlgt =\n zoneSpec && (zoneSpec.onInvoke ? parentDelegate : parentDelegate._invokeDlgt);\n this._invokeCurrZone =\n zoneSpec && (zoneSpec.onInvoke ? this.zone : parentDelegate._invokeCurrZone);\n this._handleErrorZS =\n zoneSpec && (zoneSpec.onHandleError ? zoneSpec : parentDelegate._handleErrorZS);\n this._handleErrorDlgt =\n zoneSpec && (zoneSpec.onHandleError ? parentDelegate : parentDelegate._handleErrorDlgt);\n this._handleErrorCurrZone =\n zoneSpec && (zoneSpec.onHandleError ? this.zone : parentDelegate._handleErrorCurrZone);\n this._scheduleTaskZS =\n zoneSpec && (zoneSpec.onScheduleTask ? zoneSpec : parentDelegate._scheduleTaskZS);\n this._scheduleTaskDlgt = zoneSpec &&\n (zoneSpec.onScheduleTask ? parentDelegate : parentDelegate._scheduleTaskDlgt);\n this._scheduleTaskCurrZone =\n zoneSpec && (zoneSpec.onScheduleTask ? this.zone : parentDelegate._scheduleTaskCurrZone);\n this._invokeTaskZS =\n zoneSpec && (zoneSpec.onInvokeTask ? zoneSpec : parentDelegate._invokeTaskZS);\n this._invokeTaskDlgt =\n zoneSpec && (zoneSpec.onInvokeTask ? parentDelegate : parentDelegate._invokeTaskDlgt);\n this._invokeTaskCurrZone =\n zoneSpec && (zoneSpec.onInvokeTask ? this.zone : parentDelegate._invokeTaskCurrZone);\n this._cancelTaskZS =\n zoneSpec && (zoneSpec.onCancelTask ? zoneSpec : parentDelegate._cancelTaskZS);\n this._cancelTaskDlgt =\n zoneSpec && (zoneSpec.onCancelTask ? parentDelegate : parentDelegate._cancelTaskDlgt);\n this._cancelTaskCurrZone =\n zoneSpec && (zoneSpec.onCancelTask ? this.zone : parentDelegate._cancelTaskCurrZone);\n this._hasTaskZS = null;\n this._hasTaskDlgt = null;\n this._hasTaskDlgtOwner = null;\n this._hasTaskCurrZone = null;\n const zoneSpecHasTask = zoneSpec && zoneSpec.onHasTask;\n const parentHasTask = parentDelegate && parentDelegate._hasTaskZS;\n if (zoneSpecHasTask || parentHasTask) {\n // If we need to report hasTask, than this ZS needs to do ref counting on tasks. In such\n // a case all task related interceptors must go through this ZD. We can't short circuit it.\n this._hasTaskZS = zoneSpecHasTask ? zoneSpec : DELEGATE_ZS;\n this._hasTaskDlgt = parentDelegate;\n this._hasTaskDlgtOwner = this;\n this._hasTaskCurrZone = zone;\n if (!zoneSpec.onScheduleTask) {\n this._scheduleTaskZS = DELEGATE_ZS;\n this._scheduleTaskDlgt = parentDelegate;\n this._scheduleTaskCurrZone = this.zone;\n }\n if (!zoneSpec.onInvokeTask) {\n this._invokeTaskZS = DELEGATE_ZS;\n this._invokeTaskDlgt = parentDelegate;\n this._invokeTaskCurrZone = this.zone;\n }\n if (!zoneSpec.onCancelTask) {\n this._cancelTaskZS = DELEGATE_ZS;\n this._cancelTaskDlgt = parentDelegate;\n this._cancelTaskCurrZone = this.zone;\n }\n }\n }\n fork(targetZone, zoneSpec) {\n return this._forkZS ? this._forkZS.onFork(this._forkDlgt, this.zone, targetZone, zoneSpec) :\n new Zone(targetZone, zoneSpec);\n }\n intercept(targetZone, callback, source) {\n return this._interceptZS ?\n this._interceptZS.onIntercept(this._interceptDlgt, this._interceptCurrZone, targetZone, callback, source) :\n callback;\n }\n invoke(targetZone, callback, applyThis, applyArgs, source) {\n return this._invokeZS ? this._invokeZS.onInvoke(this._invokeDlgt, this._invokeCurrZone, targetZone, callback, applyThis, applyArgs, source) :\n callback.apply(applyThis, applyArgs);\n }\n handleError(targetZone, error) {\n return this._handleErrorZS ?\n this._handleErrorZS.onHandleError(this._handleErrorDlgt, this._handleErrorCurrZone, targetZone, error) :\n true;\n }\n scheduleTask(targetZone, task) {\n let returnTask = task;\n if (this._scheduleTaskZS) {\n if (this._hasTaskZS) {\n returnTask._zoneDelegates.push(this._hasTaskDlgtOwner);\n }\n // clang-format off\n returnTask = this._scheduleTaskZS.onScheduleTask(this._scheduleTaskDlgt, this._scheduleTaskCurrZone, targetZone, task);\n // clang-format on\n if (!returnTask)\n returnTask = task;\n }\n else {\n if (task.scheduleFn) {\n task.scheduleFn(task);\n }\n else if (task.type == microTask) {\n scheduleMicroTask(task);\n }\n else {\n throw new Error('Task is missing scheduleFn.');\n }\n }\n return returnTask;\n }\n invokeTask(targetZone, task, applyThis, applyArgs) {\n return this._invokeTaskZS ? this._invokeTaskZS.onInvokeTask(this._invokeTaskDlgt, this._invokeTaskCurrZone, targetZone, task, applyThis, applyArgs) :\n task.callback.apply(applyThis, applyArgs);\n }\n cancelTask(targetZone, task) {\n let value;\n if (this._cancelTaskZS) {\n value = this._cancelTaskZS.onCancelTask(this._cancelTaskDlgt, this._cancelTaskCurrZone, targetZone, task);\n }\n else {\n if (!task.cancelFn) {\n throw Error('Task is not cancelable');\n }\n value = task.cancelFn(task);\n }\n return value;\n }\n hasTask(targetZone, isEmpty) {\n // hasTask should not throw error so other ZoneDelegate\n // can still trigger hasTask callback\n try {\n this._hasTaskZS &&\n this._hasTaskZS.onHasTask(this._hasTaskDlgt, this._hasTaskCurrZone, targetZone, isEmpty);\n }\n catch (err) {\n this.handleError(targetZone, err);\n }\n }\n // tslint:disable-next-line:require-internal-with-underscore\n _updateTaskCount(type, count) {\n const counts = this._taskCounts;\n const prev = counts[type];\n const next = counts[type] = prev + count;\n if (next < 0) {\n throw new Error('More tasks executed then were scheduled.');\n }\n if (prev == 0 || next == 0) {\n const isEmpty = {\n microTask: counts['microTask'] > 0,\n macroTask: counts['macroTask'] > 0,\n eventTask: counts['eventTask'] > 0,\n change: type\n };\n this.hasTask(this.zone, isEmpty);\n }\n }\n }\n class ZoneTask {\n constructor(type, source, callback, options, scheduleFn, cancelFn) {\n // tslint:disable-next-line:require-internal-with-underscore\n this._zone = null;\n this.runCount = 0;\n // tslint:disable-next-line:require-internal-with-underscore\n this._zoneDelegates = null;\n // tslint:disable-next-line:require-internal-with-underscore\n this._state = 'notScheduled';\n this.type = type;\n this.source = source;\n this.data = options;\n this.scheduleFn = scheduleFn;\n this.cancelFn = cancelFn;\n if (!callback) {\n throw new Error('callback is not defined');\n }\n this.callback = callback;\n const self = this;\n // TODO: @JiaLiPassion options should have interface\n if (type === eventTask && options && options.useG) {\n this.invoke = ZoneTask.invokeTask;\n }\n else {\n this.invoke = function () {\n return ZoneTask.invokeTask.call(global, self, this, arguments);\n };\n }\n }\n static invokeTask(task, target, args) {\n if (!task) {\n task = this;\n }\n _numberOfNestedTaskFrames++;\n try {\n task.runCount++;\n return task.zone.runTask(task, target, args);\n }\n finally {\n if (_numberOfNestedTaskFrames == 1) {\n drainMicroTaskQueue();\n }\n _numberOfNestedTaskFrames--;\n }\n }\n get zone() {\n return this._zone;\n }\n get state() {\n return this._state;\n }\n cancelScheduleRequest() {\n this._transitionTo(notScheduled, scheduling);\n }\n // tslint:disable-next-line:require-internal-with-underscore\n _transitionTo(toState, fromState1, fromState2) {\n if (this._state === fromState1 || this._state === fromState2) {\n this._state = toState;\n if (toState == notScheduled) {\n this._zoneDelegates = null;\n }\n }\n else {\n throw new Error(`${this.type} '${this.source}': can not transition to '${toState}', expecting state '${fromState1}'${fromState2 ? ' or \\'' + fromState2 + '\\'' : ''}, was '${this._state}'.`);\n }\n }\n toString() {\n if (this.data && typeof this.data.handleId !== 'undefined') {\n return this.data.handleId.toString();\n }\n else {\n return Object.prototype.toString.call(this);\n }\n }\n // add toJSON method to prevent cyclic error when\n // call JSON.stringify(zoneTask)\n toJSON() {\n return {\n type: this.type,\n state: this.state,\n source: this.source,\n zone: this.zone.name,\n runCount: this.runCount\n };\n }\n }\n //////////////////////////////////////////////////////\n //////////////////////////////////////////////////////\n /// MICROTASK QUEUE\n //////////////////////////////////////////////////////\n //////////////////////////////////////////////////////\n const symbolSetTimeout = __symbol__('setTimeout');\n const symbolPromise = __symbol__('Promise');\n const symbolThen = __symbol__('then');\n let _microTaskQueue = [];\n let _isDrainingMicrotaskQueue = false;\n let nativeMicroTaskQueuePromise;\n function nativeScheduleMicroTask(func) {\n if (!nativeMicroTaskQueuePromise) {\n if (global[symbolPromise]) {\n nativeMicroTaskQueuePromise = global[symbolPromise].resolve(0);\n }\n }\n if (nativeMicroTaskQueuePromise) {\n let nativeThen = nativeMicroTaskQueuePromise[symbolThen];\n if (!nativeThen) {\n // native Promise is not patchable, we need to use `then` directly\n // issue 1078\n nativeThen = nativeMicroTaskQueuePromise['then'];\n }\n nativeThen.call(nativeMicroTaskQueuePromise, func);\n }\n else {\n global[symbolSetTimeout](func, 0);\n }\n }\n function scheduleMicroTask(task) {\n // if we are not running in any task, and there has not been anything scheduled\n // we must bootstrap the initial task creation by manually scheduling the drain\n if (_numberOfNestedTaskFrames === 0 && _microTaskQueue.length === 0) {\n // We are not running in Task, so we need to kickstart the microtask queue.\n nativeScheduleMicroTask(drainMicroTaskQueue);\n }\n task && _microTaskQueue.push(task);\n }\n function drainMicroTaskQueue() {\n if (!_isDrainingMicrotaskQueue) {\n _isDrainingMicrotaskQueue = true;\n while (_microTaskQueue.length) {\n const queue = _microTaskQueue;\n _microTaskQueue = [];\n for (let i = 0; i < queue.length; i++) {\n const task = queue[i];\n try {\n task.zone.runTask(task, null, null);\n }\n catch (error) {\n _api.onUnhandledError(error);\n }\n }\n }\n _api.microtaskDrainDone();\n _isDrainingMicrotaskQueue = false;\n }\n }\n //////////////////////////////////////////////////////\n //////////////////////////////////////////////////////\n /// BOOTSTRAP\n //////////////////////////////////////////////////////\n //////////////////////////////////////////////////////\n const NO_ZONE = { name: 'NO ZONE' };\n const notScheduled = 'notScheduled', scheduling = 'scheduling', scheduled = 'scheduled', running = 'running', canceling = 'canceling', unknown = 'unknown';\n const microTask = 'microTask', macroTask = 'macroTask', eventTask = 'eventTask';\n const patches = {};\n const _api = {\n symbol: __symbol__,\n currentZoneFrame: () => _currentZoneFrame,\n onUnhandledError: noop,\n microtaskDrainDone: noop,\n scheduleMicroTask: scheduleMicroTask,\n showUncaughtError: () => !Zone[__symbol__('ignoreConsoleErrorUncaughtError')],\n patchEventTarget: () => [],\n patchOnProperties: noop,\n patchMethod: () => noop,\n bindArguments: () => [],\n patchThen: () => noop,\n patchMacroTask: () => noop,\n patchEventPrototype: () => noop,\n isIEOrEdge: () => false,\n getGlobalObjects: () => undefined,\n ObjectDefineProperty: () => noop,\n ObjectGetOwnPropertyDescriptor: () => undefined,\n ObjectCreate: () => undefined,\n ArraySlice: () => [],\n patchClass: () => noop,\n wrapWithCurrentZone: () => noop,\n filterProperties: () => [],\n attachOriginToPatched: () => noop,\n _redefineProperty: () => noop,\n patchCallbacks: () => noop,\n nativeScheduleMicroTask: nativeScheduleMicroTask\n };\n let _currentZoneFrame = { parent: null, zone: new Zone(null, null) };\n let _currentTask = null;\n let _numberOfNestedTaskFrames = 0;\n function noop() { }\n performanceMeasure('Zone', 'Zone');\n return global['Zone'] = Zone;\n}))(typeof window !== 'undefined' && window || typeof self !== 'undefined' && self || global);\n\n/**\n * Suppress closure compiler errors about unknown 'Zone' variable\n * @fileoverview\n * @suppress {undefinedVars,globalThis,missingRequire}\n */\n/// \n// issue #989, to reduce bundle size, use short name\n/** Object.getOwnPropertyDescriptor */\nconst ObjectGetOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\n/** Object.defineProperty */\nconst ObjectDefineProperty = Object.defineProperty;\n/** Object.getPrototypeOf */\nconst ObjectGetPrototypeOf = Object.getPrototypeOf;\n/** Object.create */\nconst ObjectCreate = Object.create;\n/** Array.prototype.slice */\nconst ArraySlice = Array.prototype.slice;\n/** addEventListener string const */\nconst ADD_EVENT_LISTENER_STR = 'addEventListener';\n/** removeEventListener string const */\nconst REMOVE_EVENT_LISTENER_STR = 'removeEventListener';\n/** zoneSymbol addEventListener */\nconst ZONE_SYMBOL_ADD_EVENT_LISTENER = Zone.__symbol__(ADD_EVENT_LISTENER_STR);\n/** zoneSymbol removeEventListener */\nconst ZONE_SYMBOL_REMOVE_EVENT_LISTENER = Zone.__symbol__(REMOVE_EVENT_LISTENER_STR);\n/** true string const */\nconst TRUE_STR = 'true';\n/** false string const */\nconst FALSE_STR = 'false';\n/** Zone symbol prefix string const. */\nconst ZONE_SYMBOL_PREFIX = Zone.__symbol__('');\nfunction wrapWithCurrentZone(callback, source) {\n return Zone.current.wrap(callback, source);\n}\nfunction scheduleMacroTaskWithCurrentZone(source, callback, data, customSchedule, customCancel) {\n return Zone.current.scheduleMacroTask(source, callback, data, customSchedule, customCancel);\n}\nconst zoneSymbol = Zone.__symbol__;\nconst isWindowExists = typeof window !== 'undefined';\nconst internalWindow = isWindowExists ? window : undefined;\nconst _global = isWindowExists && internalWindow || typeof self === 'object' && self || global;\nconst REMOVE_ATTRIBUTE = 'removeAttribute';\nfunction bindArguments(args, source) {\n for (let i = args.length - 1; i >= 0; i--) {\n if (typeof args[i] === 'function') {\n args[i] = wrapWithCurrentZone(args[i], source + '_' + i);\n }\n }\n return args;\n}\nfunction patchPrototype(prototype, fnNames) {\n const source = prototype.constructor['name'];\n for (let i = 0; i < fnNames.length; i++) {\n const name = fnNames[i];\n const delegate = prototype[name];\n if (delegate) {\n const prototypeDesc = ObjectGetOwnPropertyDescriptor(prototype, name);\n if (!isPropertyWritable(prototypeDesc)) {\n continue;\n }\n prototype[name] = ((delegate) => {\n const patched = function () {\n return delegate.apply(this, bindArguments(arguments, source + '.' + name));\n };\n attachOriginToPatched(patched, delegate);\n return patched;\n })(delegate);\n }\n }\n}\nfunction isPropertyWritable(propertyDesc) {\n if (!propertyDesc) {\n return true;\n }\n if (propertyDesc.writable === false) {\n return false;\n }\n return !(typeof propertyDesc.get === 'function' && typeof propertyDesc.set === 'undefined');\n}\nconst isWebWorker = (typeof WorkerGlobalScope !== 'undefined' && self instanceof WorkerGlobalScope);\n// Make sure to access `process` through `_global` so that WebPack does not accidentally browserify\n// this code.\nconst isNode = (!('nw' in _global) && typeof _global.process !== 'undefined' &&\n {}.toString.call(_global.process) === '[object process]');\nconst isBrowser = !isNode && !isWebWorker && !!(isWindowExists && internalWindow['HTMLElement']);\n// we are in electron of nw, so we are both browser and nodejs\n// Make sure to access `process` through `_global` so that WebPack does not accidentally browserify\n// this code.\nconst isMix = typeof _global.process !== 'undefined' &&\n {}.toString.call(_global.process) === '[object process]' && !isWebWorker &&\n !!(isWindowExists && internalWindow['HTMLElement']);\nconst zoneSymbolEventNames$1 = {};\nconst wrapFn = function (event) {\n // https://github.com/angular/zone.js/issues/911, in IE, sometimes\n // event will be undefined, so we need to use window.event\n event = event || _global.event;\n if (!event) {\n return;\n }\n let eventNameSymbol = zoneSymbolEventNames$1[event.type];\n if (!eventNameSymbol) {\n eventNameSymbol = zoneSymbolEventNames$1[event.type] = zoneSymbol('ON_PROPERTY' + event.type);\n }\n const target = this || event.target || _global;\n const listener = target[eventNameSymbol];\n let result;\n if (isBrowser && target === internalWindow && event.type === 'error') {\n // window.onerror have different signature\n // https://developer.mozilla.org/en-US/docs/Web/API/GlobalEventHandlers/onerror#window.onerror\n // and onerror callback will prevent default when callback return true\n const errorEvent = event;\n result = listener &&\n listener.call(this, errorEvent.message, errorEvent.filename, errorEvent.lineno, errorEvent.colno, errorEvent.error);\n if (result === true) {\n event.preventDefault();\n }\n }\n else {\n result = listener && listener.apply(this, arguments);\n if (result != undefined && !result) {\n event.preventDefault();\n }\n }\n return result;\n};\nfunction patchProperty(obj, prop, prototype) {\n let desc = ObjectGetOwnPropertyDescriptor(obj, prop);\n if (!desc && prototype) {\n // when patch window object, use prototype to check prop exist or not\n const prototypeDesc = ObjectGetOwnPropertyDescriptor(prototype, prop);\n if (prototypeDesc) {\n desc = { enumerable: true, configurable: true };\n }\n }\n // if the descriptor not exists or is not configurable\n // just return\n if (!desc || !desc.configurable) {\n return;\n }\n const onPropPatchedSymbol = zoneSymbol('on' + prop + 'patched');\n if (obj.hasOwnProperty(onPropPatchedSymbol) && obj[onPropPatchedSymbol]) {\n return;\n }\n // A property descriptor cannot have getter/setter and be writable\n // deleting the writable and value properties avoids this error:\n //\n // TypeError: property descriptors must not specify a value or be writable when a\n // getter or setter has been specified\n delete desc.writable;\n delete desc.value;\n const originalDescGet = desc.get;\n const originalDescSet = desc.set;\n // slice(2) cuz 'onclick' -> 'click', etc\n const eventName = prop.slice(2);\n let eventNameSymbol = zoneSymbolEventNames$1[eventName];\n if (!eventNameSymbol) {\n eventNameSymbol = zoneSymbolEventNames$1[eventName] = zoneSymbol('ON_PROPERTY' + eventName);\n }\n desc.set = function (newValue) {\n // in some of windows's onproperty callback, this is undefined\n // so we need to check it\n let target = this;\n if (!target && obj === _global) {\n target = _global;\n }\n if (!target) {\n return;\n }\n const previousValue = target[eventNameSymbol];\n if (typeof previousValue === 'function') {\n target.removeEventListener(eventName, wrapFn);\n }\n // issue #978, when onload handler was added before loading zone.js\n // we should remove it with originalDescSet\n originalDescSet && originalDescSet.call(target, null);\n target[eventNameSymbol] = newValue;\n if (typeof newValue === 'function') {\n target.addEventListener(eventName, wrapFn, false);\n }\n };\n // The getter would return undefined for unassigned properties but the default value of an\n // unassigned property is null\n desc.get = function () {\n // in some of windows's onproperty callback, this is undefined\n // so we need to check it\n let target = this;\n if (!target && obj === _global) {\n target = _global;\n }\n if (!target) {\n return null;\n }\n const listener = target[eventNameSymbol];\n if (listener) {\n return listener;\n }\n else if (originalDescGet) {\n // result will be null when use inline event attribute,\n // such as \n // because the onclick function is internal raw uncompiled handler\n // the onclick will be evaluated when first time event was triggered or\n // the property is accessed, https://github.com/angular/zone.js/issues/525\n // so we should use original native get to retrieve the handler\n let value = originalDescGet.call(this);\n if (value) {\n desc.set.call(this, value);\n if (typeof target[REMOVE_ATTRIBUTE] === 'function') {\n target.removeAttribute(prop);\n }\n return value;\n }\n }\n return null;\n };\n ObjectDefineProperty(obj, prop, desc);\n obj[onPropPatchedSymbol] = true;\n}\nfunction patchOnProperties(obj, properties, prototype) {\n if (properties) {\n for (let i = 0; i < properties.length; i++) {\n patchProperty(obj, 'on' + properties[i], prototype);\n }\n }\n else {\n const onProperties = [];\n for (const prop in obj) {\n if (prop.slice(0, 2) == 'on') {\n onProperties.push(prop);\n }\n }\n for (let j = 0; j < onProperties.length; j++) {\n patchProperty(obj, onProperties[j], prototype);\n }\n }\n}\nconst originalInstanceKey = zoneSymbol('originalInstance');\n// wrap some native API on `window`\nfunction patchClass(className) {\n const OriginalClass = _global[className];\n if (!OriginalClass)\n return;\n // keep original class in global\n _global[zoneSymbol(className)] = OriginalClass;\n _global[className] = function () {\n const a = bindArguments(arguments, className);\n switch (a.length) {\n case 0:\n this[originalInstanceKey] = new OriginalClass();\n break;\n case 1:\n this[originalInstanceKey] = new OriginalClass(a[0]);\n break;\n case 2:\n this[originalInstanceKey] = new OriginalClass(a[0], a[1]);\n break;\n case 3:\n this[originalInstanceKey] = new OriginalClass(a[0], a[1], a[2]);\n break;\n case 4:\n this[originalInstanceKey] = new OriginalClass(a[0], a[1], a[2], a[3]);\n break;\n default:\n throw new Error('Arg list too long.');\n }\n };\n // attach original delegate to patched function\n attachOriginToPatched(_global[className], OriginalClass);\n const instance = new OriginalClass(function () { });\n let prop;\n for (prop in instance) {\n // https://bugs.webkit.org/show_bug.cgi?id=44721\n if (className === 'XMLHttpRequest' && prop === 'responseBlob')\n continue;\n (function (prop) {\n if (typeof instance[prop] === 'function') {\n _global[className].prototype[prop] = function () {\n return this[originalInstanceKey][prop].apply(this[originalInstanceKey], arguments);\n };\n }\n else {\n ObjectDefineProperty(_global[className].prototype, prop, {\n set: function (fn) {\n if (typeof fn === 'function') {\n this[originalInstanceKey][prop] = wrapWithCurrentZone(fn, className + '.' + prop);\n // keep callback in wrapped function so we can\n // use it in Function.prototype.toString to return\n // the native one.\n attachOriginToPatched(this[originalInstanceKey][prop], fn);\n }\n else {\n this[originalInstanceKey][prop] = fn;\n }\n },\n get: function () {\n return this[originalInstanceKey][prop];\n }\n });\n }\n }(prop));\n }\n for (prop in OriginalClass) {\n if (prop !== 'prototype' && OriginalClass.hasOwnProperty(prop)) {\n _global[className][prop] = OriginalClass[prop];\n }\n }\n}\nfunction patchMethod(target, name, patchFn) {\n let proto = target;\n while (proto && !proto.hasOwnProperty(name)) {\n proto = ObjectGetPrototypeOf(proto);\n }\n if (!proto && target[name]) {\n // somehow we did not find it, but we can see it. This happens on IE for Window properties.\n proto = target;\n }\n const delegateName = zoneSymbol(name);\n let delegate = null;\n if (proto && (!(delegate = proto[delegateName]) || !proto.hasOwnProperty(delegateName))) {\n delegate = proto[delegateName] = proto[name];\n // check whether proto[name] is writable\n // some property is readonly in safari, such as HtmlCanvasElement.prototype.toBlob\n const desc = proto && ObjectGetOwnPropertyDescriptor(proto, name);\n if (isPropertyWritable(desc)) {\n const patchDelegate = patchFn(delegate, delegateName, name);\n proto[name] = function () {\n return patchDelegate(this, arguments);\n };\n attachOriginToPatched(proto[name], delegate);\n }\n }\n return delegate;\n}\n// TODO: @JiaLiPassion, support cancel task later if necessary\nfunction patchMacroTask(obj, funcName, metaCreator) {\n let setNative = null;\n function scheduleTask(task) {\n const data = task.data;\n data.args[data.cbIdx] = function () {\n task.invoke.apply(this, arguments);\n };\n setNative.apply(data.target, data.args);\n return task;\n }\n setNative = patchMethod(obj, funcName, (delegate) => function (self, args) {\n const meta = metaCreator(self, args);\n if (meta.cbIdx >= 0 && typeof args[meta.cbIdx] === 'function') {\n return scheduleMacroTaskWithCurrentZone(meta.name, args[meta.cbIdx], meta, scheduleTask);\n }\n else {\n // cause an error by calling it directly.\n return delegate.apply(self, args);\n }\n });\n}\nfunction attachOriginToPatched(patched, original) {\n patched[zoneSymbol('OriginalDelegate')] = original;\n}\nlet isDetectedIEOrEdge = false;\nlet ieOrEdge = false;\nfunction isIE() {\n try {\n const ua = internalWindow.navigator.userAgent;\n if (ua.indexOf('MSIE ') !== -1 || ua.indexOf('Trident/') !== -1) {\n return true;\n }\n }\n catch (error) {\n }\n return false;\n}\nfunction isIEOrEdge() {\n if (isDetectedIEOrEdge) {\n return ieOrEdge;\n }\n isDetectedIEOrEdge = true;\n try {\n const ua = internalWindow.navigator.userAgent;\n if (ua.indexOf('MSIE ') !== -1 || ua.indexOf('Trident/') !== -1 || ua.indexOf('Edge/') !== -1) {\n ieOrEdge = true;\n }\n }\n catch (error) {\n }\n return ieOrEdge;\n}\n\nZone.__load_patch('ZoneAwarePromise', (global, Zone, api) => {\n const ObjectGetOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\n const ObjectDefineProperty = Object.defineProperty;\n function readableObjectToString(obj) {\n if (obj && obj.toString === Object.prototype.toString) {\n const className = obj.constructor && obj.constructor.name;\n return (className ? className : '') + ': ' + JSON.stringify(obj);\n }\n return obj ? obj.toString() : Object.prototype.toString.call(obj);\n }\n const __symbol__ = api.symbol;\n const _uncaughtPromiseErrors = [];\n const isDisableWrappingUncaughtPromiseRejection = global[__symbol__('DISABLE_WRAPPING_UNCAUGHT_PROMISE_REJECTION')] === true;\n const symbolPromise = __symbol__('Promise');\n const symbolThen = __symbol__('then');\n const creationTrace = '__creationTrace__';\n api.onUnhandledError = (e) => {\n if (api.showUncaughtError()) {\n const rejection = e && e.rejection;\n if (rejection) {\n console.error('Unhandled Promise rejection:', rejection instanceof Error ? rejection.message : rejection, '; Zone:', e.zone.name, '; Task:', e.task && e.task.source, '; Value:', rejection, rejection instanceof Error ? rejection.stack : undefined);\n }\n else {\n console.error(e);\n }\n }\n };\n api.microtaskDrainDone = () => {\n while (_uncaughtPromiseErrors.length) {\n const uncaughtPromiseError = _uncaughtPromiseErrors.shift();\n try {\n uncaughtPromiseError.zone.runGuarded(() => {\n if (uncaughtPromiseError.throwOriginal) {\n throw uncaughtPromiseError.rejection;\n }\n throw uncaughtPromiseError;\n });\n }\n catch (error) {\n handleUnhandledRejection(error);\n }\n }\n };\n const UNHANDLED_PROMISE_REJECTION_HANDLER_SYMBOL = __symbol__('unhandledPromiseRejectionHandler');\n function handleUnhandledRejection(e) {\n api.onUnhandledError(e);\n try {\n const handler = Zone[UNHANDLED_PROMISE_REJECTION_HANDLER_SYMBOL];\n if (typeof handler === 'function') {\n handler.call(this, e);\n }\n }\n catch (err) {\n }\n }\n function isThenable(value) {\n return value && value.then;\n }\n function forwardResolution(value) {\n return value;\n }\n function forwardRejection(rejection) {\n return ZoneAwarePromise.reject(rejection);\n }\n const symbolState = __symbol__('state');\n const symbolValue = __symbol__('value');\n const symbolFinally = __symbol__('finally');\n const symbolParentPromiseValue = __symbol__('parentPromiseValue');\n const symbolParentPromiseState = __symbol__('parentPromiseState');\n const source = 'Promise.then';\n const UNRESOLVED = null;\n const RESOLVED = true;\n const REJECTED = false;\n const REJECTED_NO_CATCH = 0;\n function makeResolver(promise, state) {\n return (v) => {\n try {\n resolvePromise(promise, state, v);\n }\n catch (err) {\n resolvePromise(promise, false, err);\n }\n // Do not return value or you will break the Promise spec.\n };\n }\n const once = function () {\n let wasCalled = false;\n return function wrapper(wrappedFunction) {\n return function () {\n if (wasCalled) {\n return;\n }\n wasCalled = true;\n wrappedFunction.apply(null, arguments);\n };\n };\n };\n const TYPE_ERROR = 'Promise resolved with itself';\n const CURRENT_TASK_TRACE_SYMBOL = __symbol__('currentTaskTrace');\n // Promise Resolution\n function resolvePromise(promise, state, value) {\n const onceWrapper = once();\n if (promise === value) {\n throw new TypeError(TYPE_ERROR);\n }\n if (promise[symbolState] === UNRESOLVED) {\n // should only get value.then once based on promise spec.\n let then = null;\n try {\n if (typeof value === 'object' || typeof value === 'function') {\n then = value && value.then;\n }\n }\n catch (err) {\n onceWrapper(() => {\n resolvePromise(promise, false, err);\n })();\n return promise;\n }\n // if (value instanceof ZoneAwarePromise) {\n if (state !== REJECTED && value instanceof ZoneAwarePromise &&\n value.hasOwnProperty(symbolState) && value.hasOwnProperty(symbolValue) &&\n value[symbolState] !== UNRESOLVED) {\n clearRejectedNoCatch(value);\n resolvePromise(promise, value[symbolState], value[symbolValue]);\n }\n else if (state !== REJECTED && typeof then === 'function') {\n try {\n then.call(value, onceWrapper(makeResolver(promise, state)), onceWrapper(makeResolver(promise, false)));\n }\n catch (err) {\n onceWrapper(() => {\n resolvePromise(promise, false, err);\n })();\n }\n }\n else {\n promise[symbolState] = state;\n const queue = promise[symbolValue];\n promise[symbolValue] = value;\n if (promise[symbolFinally] === symbolFinally) {\n // the promise is generated by Promise.prototype.finally\n if (state === RESOLVED) {\n // the state is resolved, should ignore the value\n // and use parent promise value\n promise[symbolState] = promise[symbolParentPromiseState];\n promise[symbolValue] = promise[symbolParentPromiseValue];\n }\n }\n // record task information in value when error occurs, so we can\n // do some additional work such as render longStackTrace\n if (state === REJECTED && value instanceof Error) {\n // check if longStackTraceZone is here\n const trace = Zone.currentTask && Zone.currentTask.data &&\n Zone.currentTask.data[creationTrace];\n if (trace) {\n // only keep the long stack trace into error when in longStackTraceZone\n ObjectDefineProperty(value, CURRENT_TASK_TRACE_SYMBOL, { configurable: true, enumerable: false, writable: true, value: trace });\n }\n }\n for (let i = 0; i < queue.length;) {\n scheduleResolveOrReject(promise, queue[i++], queue[i++], queue[i++], queue[i++]);\n }\n if (queue.length == 0 && state == REJECTED) {\n promise[symbolState] = REJECTED_NO_CATCH;\n let uncaughtPromiseError = value;\n try {\n // Here we throws a new Error to print more readable error log\n // and if the value is not an error, zone.js builds an `Error`\n // Object here to attach the stack information.\n throw new Error('Uncaught (in promise): ' + readableObjectToString(value) +\n (value && value.stack ? '\\n' + value.stack : ''));\n }\n catch (err) {\n uncaughtPromiseError = err;\n }\n if (isDisableWrappingUncaughtPromiseRejection) {\n // If disable wrapping uncaught promise reject\n // use the value instead of wrapping it.\n uncaughtPromiseError.throwOriginal = true;\n }\n uncaughtPromiseError.rejection = value;\n uncaughtPromiseError.promise = promise;\n uncaughtPromiseError.zone = Zone.current;\n uncaughtPromiseError.task = Zone.currentTask;\n _uncaughtPromiseErrors.push(uncaughtPromiseError);\n api.scheduleMicroTask(); // to make sure that it is running\n }\n }\n }\n // Resolving an already resolved promise is a noop.\n return promise;\n }\n const REJECTION_HANDLED_HANDLER = __symbol__('rejectionHandledHandler');\n function clearRejectedNoCatch(promise) {\n if (promise[symbolState] === REJECTED_NO_CATCH) {\n // if the promise is rejected no catch status\n // and queue.length > 0, means there is a error handler\n // here to handle the rejected promise, we should trigger\n // windows.rejectionhandled eventHandler or nodejs rejectionHandled\n // eventHandler\n try {\n const handler = Zone[REJECTION_HANDLED_HANDLER];\n if (handler && typeof handler === 'function') {\n handler.call(this, { rejection: promise[symbolValue], promise: promise });\n }\n }\n catch (err) {\n }\n promise[symbolState] = REJECTED;\n for (let i = 0; i < _uncaughtPromiseErrors.length; i++) {\n if (promise === _uncaughtPromiseErrors[i].promise) {\n _uncaughtPromiseErrors.splice(i, 1);\n }\n }\n }\n }\n function scheduleResolveOrReject(promise, zone, chainPromise, onFulfilled, onRejected) {\n clearRejectedNoCatch(promise);\n const promiseState = promise[symbolState];\n const delegate = promiseState ?\n (typeof onFulfilled === 'function') ? onFulfilled : forwardResolution :\n (typeof onRejected === 'function') ? onRejected :\n forwardRejection;\n zone.scheduleMicroTask(source, () => {\n try {\n const parentPromiseValue = promise[symbolValue];\n const isFinallyPromise = !!chainPromise && symbolFinally === chainPromise[symbolFinally];\n if (isFinallyPromise) {\n // if the promise is generated from finally call, keep parent promise's state and value\n chainPromise[symbolParentPromiseValue] = parentPromiseValue;\n chainPromise[symbolParentPromiseState] = promiseState;\n }\n // should not pass value to finally callback\n const value = zone.run(delegate, undefined, isFinallyPromise && delegate !== forwardRejection && delegate !== forwardResolution ?\n [] :\n [parentPromiseValue]);\n resolvePromise(chainPromise, true, value);\n }\n catch (error) {\n // if error occurs, should always return this error\n resolvePromise(chainPromise, false, error);\n }\n }, chainPromise);\n }\n const ZONE_AWARE_PROMISE_TO_STRING = 'function ZoneAwarePromise() { [native code] }';\n const noop = function () { };\n const AggregateError = global.AggregateError;\n class ZoneAwarePromise {\n static toString() {\n return ZONE_AWARE_PROMISE_TO_STRING;\n }\n static resolve(value) {\n return resolvePromise(new this(null), RESOLVED, value);\n }\n static reject(error) {\n return resolvePromise(new this(null), REJECTED, error);\n }\n static any(values) {\n if (!values || typeof values[Symbol.iterator] !== 'function') {\n return Promise.reject(new AggregateError([], 'All promises were rejected'));\n }\n const promises = [];\n let count = 0;\n try {\n for (let v of values) {\n count++;\n promises.push(ZoneAwarePromise.resolve(v));\n }\n }\n catch (err) {\n return Promise.reject(new AggregateError([], 'All promises were rejected'));\n }\n if (count === 0) {\n return Promise.reject(new AggregateError([], 'All promises were rejected'));\n }\n let finished = false;\n const errors = [];\n return new ZoneAwarePromise((resolve, reject) => {\n for (let i = 0; i < promises.length; i++) {\n promises[i].then(v => {\n if (finished) {\n return;\n }\n finished = true;\n resolve(v);\n }, err => {\n errors.push(err);\n count--;\n if (count === 0) {\n finished = true;\n reject(new AggregateError(errors, 'All promises were rejected'));\n }\n });\n }\n });\n }\n ;\n static race(values) {\n let resolve;\n let reject;\n let promise = new this((res, rej) => {\n resolve = res;\n reject = rej;\n });\n function onResolve(value) {\n resolve(value);\n }\n function onReject(error) {\n reject(error);\n }\n for (let value of values) {\n if (!isThenable(value)) {\n value = this.resolve(value);\n }\n value.then(onResolve, onReject);\n }\n return promise;\n }\n static all(values) {\n return ZoneAwarePromise.allWithCallback(values);\n }\n static allSettled(values) {\n const P = this && this.prototype instanceof ZoneAwarePromise ? this : ZoneAwarePromise;\n return P.allWithCallback(values, {\n thenCallback: (value) => ({ status: 'fulfilled', value }),\n errorCallback: (err) => ({ status: 'rejected', reason: err })\n });\n }\n static allWithCallback(values, callback) {\n let resolve;\n let reject;\n let promise = new this((res, rej) => {\n resolve = res;\n reject = rej;\n });\n // Start at 2 to prevent prematurely resolving if .then is called immediately.\n let unresolvedCount = 2;\n let valueIndex = 0;\n const resolvedValues = [];\n for (let value of values) {\n if (!isThenable(value)) {\n value = this.resolve(value);\n }\n const curValueIndex = valueIndex;\n try {\n value.then((value) => {\n resolvedValues[curValueIndex] = callback ? callback.thenCallback(value) : value;\n unresolvedCount--;\n if (unresolvedCount === 0) {\n resolve(resolvedValues);\n }\n }, (err) => {\n if (!callback) {\n reject(err);\n }\n else {\n resolvedValues[curValueIndex] = callback.errorCallback(err);\n unresolvedCount--;\n if (unresolvedCount === 0) {\n resolve(resolvedValues);\n }\n }\n });\n }\n catch (thenErr) {\n reject(thenErr);\n }\n unresolvedCount++;\n valueIndex++;\n }\n // Make the unresolvedCount zero-based again.\n unresolvedCount -= 2;\n if (unresolvedCount === 0) {\n resolve(resolvedValues);\n }\n return promise;\n }\n constructor(executor) {\n const promise = this;\n if (!(promise instanceof ZoneAwarePromise)) {\n throw new Error('Must be an instanceof Promise.');\n }\n promise[symbolState] = UNRESOLVED;\n promise[symbolValue] = []; // queue;\n try {\n const onceWrapper = once();\n executor &&\n executor(onceWrapper(makeResolver(promise, RESOLVED)), onceWrapper(makeResolver(promise, REJECTED)));\n }\n catch (error) {\n resolvePromise(promise, false, error);\n }\n }\n get [Symbol.toStringTag]() {\n return 'Promise';\n }\n get [Symbol.species]() {\n return ZoneAwarePromise;\n }\n then(onFulfilled, onRejected) {\n // We must read `Symbol.species` safely because `this` may be anything. For instance, `this`\n // may be an object without a prototype (created through `Object.create(null)`); thus\n // `this.constructor` will be undefined. One of the use cases is SystemJS creating\n // prototype-less objects (modules) via `Object.create(null)`. The SystemJS creates an empty\n // object and copies promise properties into that object (within the `getOrCreateLoad`\n // function). The zone.js then checks if the resolved value has the `then` method and invokes\n // it with the `value` context. Otherwise, this will throw an error: `TypeError: Cannot read\n // properties of undefined (reading 'Symbol(Symbol.species)')`.\n let C = this.constructor?.[Symbol.species];\n if (!C || typeof C !== 'function') {\n C = this.constructor || ZoneAwarePromise;\n }\n const chainPromise = new C(noop);\n const zone = Zone.current;\n if (this[symbolState] == UNRESOLVED) {\n this[symbolValue].push(zone, chainPromise, onFulfilled, onRejected);\n }\n else {\n scheduleResolveOrReject(this, zone, chainPromise, onFulfilled, onRejected);\n }\n return chainPromise;\n }\n catch(onRejected) {\n return this.then(null, onRejected);\n }\n finally(onFinally) {\n // See comment on the call to `then` about why thee `Symbol.species` is safely accessed.\n let C = this.constructor?.[Symbol.species];\n if (!C || typeof C !== 'function') {\n C = ZoneAwarePromise;\n }\n const chainPromise = new C(noop);\n chainPromise[symbolFinally] = symbolFinally;\n const zone = Zone.current;\n if (this[symbolState] == UNRESOLVED) {\n this[symbolValue].push(zone, chainPromise, onFinally, onFinally);\n }\n else {\n scheduleResolveOrReject(this, zone, chainPromise, onFinally, onFinally);\n }\n return chainPromise;\n }\n }\n // Protect against aggressive optimizers dropping seemingly unused properties.\n // E.g. Closure Compiler in advanced mode.\n ZoneAwarePromise['resolve'] = ZoneAwarePromise.resolve;\n ZoneAwarePromise['reject'] = ZoneAwarePromise.reject;\n ZoneAwarePromise['race'] = ZoneAwarePromise.race;\n ZoneAwarePromise['all'] = ZoneAwarePromise.all;\n const NativePromise = global[symbolPromise] = global['Promise'];\n global['Promise'] = ZoneAwarePromise;\n const symbolThenPatched = __symbol__('thenPatched');\n function patchThen(Ctor) {\n const proto = Ctor.prototype;\n const prop = ObjectGetOwnPropertyDescriptor(proto, 'then');\n if (prop && (prop.writable === false || !prop.configurable)) {\n // check Ctor.prototype.then propertyDescriptor is writable or not\n // in meteor env, writable is false, we should ignore such case\n return;\n }\n const originalThen = proto.then;\n // Keep a reference to the original method.\n proto[symbolThen] = originalThen;\n Ctor.prototype.then = function (onResolve, onReject) {\n const wrapped = new ZoneAwarePromise((resolve, reject) => {\n originalThen.call(this, resolve, reject);\n });\n return wrapped.then(onResolve, onReject);\n };\n Ctor[symbolThenPatched] = true;\n }\n api.patchThen = patchThen;\n function zoneify(fn) {\n return function (self, args) {\n let resultPromise = fn.apply(self, args);\n if (resultPromise instanceof ZoneAwarePromise) {\n return resultPromise;\n }\n let ctor = resultPromise.constructor;\n if (!ctor[symbolThenPatched]) {\n patchThen(ctor);\n }\n return resultPromise;\n };\n }\n if (NativePromise) {\n patchThen(NativePromise);\n patchMethod(global, 'fetch', delegate => zoneify(delegate));\n }\n // This is not part of public API, but it is useful for tests, so we expose it.\n Promise[Zone.__symbol__('uncaughtPromiseErrors')] = _uncaughtPromiseErrors;\n return ZoneAwarePromise;\n});\n\n// override Function.prototype.toString to make zone.js patched function\n// look like native function\nZone.__load_patch('toString', (global) => {\n // patch Func.prototype.toString to let them look like native\n const originalFunctionToString = Function.prototype.toString;\n const ORIGINAL_DELEGATE_SYMBOL = zoneSymbol('OriginalDelegate');\n const PROMISE_SYMBOL = zoneSymbol('Promise');\n const ERROR_SYMBOL = zoneSymbol('Error');\n const newFunctionToString = function toString() {\n if (typeof this === 'function') {\n const originalDelegate = this[ORIGINAL_DELEGATE_SYMBOL];\n if (originalDelegate) {\n if (typeof originalDelegate === 'function') {\n return originalFunctionToString.call(originalDelegate);\n }\n else {\n return Object.prototype.toString.call(originalDelegate);\n }\n }\n if (this === Promise) {\n const nativePromise = global[PROMISE_SYMBOL];\n if (nativePromise) {\n return originalFunctionToString.call(nativePromise);\n }\n }\n if (this === Error) {\n const nativeError = global[ERROR_SYMBOL];\n if (nativeError) {\n return originalFunctionToString.call(nativeError);\n }\n }\n }\n return originalFunctionToString.call(this);\n };\n newFunctionToString[ORIGINAL_DELEGATE_SYMBOL] = originalFunctionToString;\n Function.prototype.toString = newFunctionToString;\n // patch Object.prototype.toString to let them look like native\n const originalObjectToString = Object.prototype.toString;\n const PROMISE_OBJECT_TO_STRING = '[object Promise]';\n Object.prototype.toString = function () {\n if (typeof Promise === 'function' && this instanceof Promise) {\n return PROMISE_OBJECT_TO_STRING;\n }\n return originalObjectToString.call(this);\n };\n});\n\n/**\n * @fileoverview\n * @suppress {missingRequire}\n */\nlet passiveSupported = false;\nif (typeof window !== 'undefined') {\n try {\n const options = Object.defineProperty({}, 'passive', {\n get: function () {\n passiveSupported = true;\n }\n });\n // Note: We pass the `options` object as the event handler too. This is not compatible with the\n // signature of `addEventListener` or `removeEventListener` but enables us to remove the handler\n // without an actual handler.\n window.addEventListener('test', options, options);\n window.removeEventListener('test', options, options);\n }\n catch (err) {\n passiveSupported = false;\n }\n}\n// an identifier to tell ZoneTask do not create a new invoke closure\nconst OPTIMIZED_ZONE_EVENT_TASK_DATA = {\n useG: true\n};\nconst zoneSymbolEventNames = {};\nconst globalSources = {};\nconst EVENT_NAME_SYMBOL_REGX = new RegExp('^' + ZONE_SYMBOL_PREFIX + '(\\\\w+)(true|false)$');\nconst IMMEDIATE_PROPAGATION_SYMBOL = zoneSymbol('propagationStopped');\nfunction prepareEventNames(eventName, eventNameToString) {\n const falseEventName = (eventNameToString ? eventNameToString(eventName) : eventName) + FALSE_STR;\n const trueEventName = (eventNameToString ? eventNameToString(eventName) : eventName) + TRUE_STR;\n const symbol = ZONE_SYMBOL_PREFIX + falseEventName;\n const symbolCapture = ZONE_SYMBOL_PREFIX + trueEventName;\n zoneSymbolEventNames[eventName] = {};\n zoneSymbolEventNames[eventName][FALSE_STR] = symbol;\n zoneSymbolEventNames[eventName][TRUE_STR] = symbolCapture;\n}\nfunction patchEventTarget(_global, api, apis, patchOptions) {\n const ADD_EVENT_LISTENER = (patchOptions && patchOptions.add) || ADD_EVENT_LISTENER_STR;\n const REMOVE_EVENT_LISTENER = (patchOptions && patchOptions.rm) || REMOVE_EVENT_LISTENER_STR;\n const LISTENERS_EVENT_LISTENER = (patchOptions && patchOptions.listeners) || 'eventListeners';\n const REMOVE_ALL_LISTENERS_EVENT_LISTENER = (patchOptions && patchOptions.rmAll) || 'removeAllListeners';\n const zoneSymbolAddEventListener = zoneSymbol(ADD_EVENT_LISTENER);\n const ADD_EVENT_LISTENER_SOURCE = '.' + ADD_EVENT_LISTENER + ':';\n const PREPEND_EVENT_LISTENER = 'prependListener';\n const PREPEND_EVENT_LISTENER_SOURCE = '.' + PREPEND_EVENT_LISTENER + ':';\n const invokeTask = function (task, target, event) {\n // for better performance, check isRemoved which is set\n // by removeEventListener\n if (task.isRemoved) {\n return;\n }\n const delegate = task.callback;\n if (typeof delegate === 'object' && delegate.handleEvent) {\n // create the bind version of handleEvent when invoke\n task.callback = (event) => delegate.handleEvent(event);\n task.originalDelegate = delegate;\n }\n // invoke static task.invoke\n // need to try/catch error here, otherwise, the error in one event listener\n // will break the executions of the other event listeners. Also error will\n // not remove the event listener when `once` options is true.\n let error;\n try {\n task.invoke(task, target, [event]);\n }\n catch (err) {\n error = err;\n }\n const options = task.options;\n if (options && typeof options === 'object' && options.once) {\n // if options.once is true, after invoke once remove listener here\n // only browser need to do this, nodejs eventEmitter will cal removeListener\n // inside EventEmitter.once\n const delegate = task.originalDelegate ? task.originalDelegate : task.callback;\n target[REMOVE_EVENT_LISTENER].call(target, event.type, delegate, options);\n }\n return error;\n };\n function globalCallback(context, event, isCapture) {\n // https://github.com/angular/zone.js/issues/911, in IE, sometimes\n // event will be undefined, so we need to use window.event\n event = event || _global.event;\n if (!event) {\n return;\n }\n // event.target is needed for Samsung TV and SourceBuffer\n // || global is needed https://github.com/angular/zone.js/issues/190\n const target = context || event.target || _global;\n const tasks = target[zoneSymbolEventNames[event.type][isCapture ? TRUE_STR : FALSE_STR]];\n if (tasks) {\n const errors = [];\n // invoke all tasks which attached to current target with given event.type and capture = false\n // for performance concern, if task.length === 1, just invoke\n if (tasks.length === 1) {\n const err = invokeTask(tasks[0], target, event);\n err && errors.push(err);\n }\n else {\n // https://github.com/angular/zone.js/issues/836\n // copy the tasks array before invoke, to avoid\n // the callback will remove itself or other listener\n const copyTasks = tasks.slice();\n for (let i = 0; i < copyTasks.length; i++) {\n if (event && event[IMMEDIATE_PROPAGATION_SYMBOL] === true) {\n break;\n }\n const err = invokeTask(copyTasks[i], target, event);\n err && errors.push(err);\n }\n }\n // Since there is only one error, we don't need to schedule microTask\n // to throw the error.\n if (errors.length === 1) {\n throw errors[0];\n }\n else {\n for (let i = 0; i < errors.length; i++) {\n const err = errors[i];\n api.nativeScheduleMicroTask(() => {\n throw err;\n });\n }\n }\n }\n }\n // global shared zoneAwareCallback to handle all event callback with capture = false\n const globalZoneAwareCallback = function (event) {\n return globalCallback(this, event, false);\n };\n // global shared zoneAwareCallback to handle all event callback with capture = true\n const globalZoneAwareCaptureCallback = function (event) {\n return globalCallback(this, event, true);\n };\n function patchEventTargetMethods(obj, patchOptions) {\n if (!obj) {\n return false;\n }\n let useGlobalCallback = true;\n if (patchOptions && patchOptions.useG !== undefined) {\n useGlobalCallback = patchOptions.useG;\n }\n const validateHandler = patchOptions && patchOptions.vh;\n let checkDuplicate = true;\n if (patchOptions && patchOptions.chkDup !== undefined) {\n checkDuplicate = patchOptions.chkDup;\n }\n let returnTarget = false;\n if (patchOptions && patchOptions.rt !== undefined) {\n returnTarget = patchOptions.rt;\n }\n let proto = obj;\n while (proto && !proto.hasOwnProperty(ADD_EVENT_LISTENER)) {\n proto = ObjectGetPrototypeOf(proto);\n }\n if (!proto && obj[ADD_EVENT_LISTENER]) {\n // somehow we did not find it, but we can see it. This happens on IE for Window properties.\n proto = obj;\n }\n if (!proto) {\n return false;\n }\n if (proto[zoneSymbolAddEventListener]) {\n return false;\n }\n const eventNameToString = patchOptions && patchOptions.eventNameToString;\n // a shared global taskData to pass data for scheduleEventTask\n // so we do not need to create a new object just for pass some data\n const taskData = {};\n const nativeAddEventListener = proto[zoneSymbolAddEventListener] = proto[ADD_EVENT_LISTENER];\n const nativeRemoveEventListener = proto[zoneSymbol(REMOVE_EVENT_LISTENER)] =\n proto[REMOVE_EVENT_LISTENER];\n const nativeListeners = proto[zoneSymbol(LISTENERS_EVENT_LISTENER)] =\n proto[LISTENERS_EVENT_LISTENER];\n const nativeRemoveAllListeners = proto[zoneSymbol(REMOVE_ALL_LISTENERS_EVENT_LISTENER)] =\n proto[REMOVE_ALL_LISTENERS_EVENT_LISTENER];\n let nativePrependEventListener;\n if (patchOptions && patchOptions.prepend) {\n nativePrependEventListener = proto[zoneSymbol(patchOptions.prepend)] =\n proto[patchOptions.prepend];\n }\n /**\n * This util function will build an option object with passive option\n * to handle all possible input from the user.\n */\n function buildEventListenerOptions(options, passive) {\n if (!passiveSupported && typeof options === 'object' && options) {\n // doesn't support passive but user want to pass an object as options.\n // this will not work on some old browser, so we just pass a boolean\n // as useCapture parameter\n return !!options.capture;\n }\n if (!passiveSupported || !passive) {\n return options;\n }\n if (typeof options === 'boolean') {\n return { capture: options, passive: true };\n }\n if (!options) {\n return { passive: true };\n }\n if (typeof options === 'object' && options.passive !== false) {\n return { ...options, passive: true };\n }\n return options;\n }\n const customScheduleGlobal = function (task) {\n // if there is already a task for the eventName + capture,\n // just return, because we use the shared globalZoneAwareCallback here.\n if (taskData.isExisting) {\n return;\n }\n return nativeAddEventListener.call(taskData.target, taskData.eventName, taskData.capture ? globalZoneAwareCaptureCallback : globalZoneAwareCallback, taskData.options);\n };\n const customCancelGlobal = function (task) {\n // if task is not marked as isRemoved, this call is directly\n // from Zone.prototype.cancelTask, we should remove the task\n // from tasksList of target first\n if (!task.isRemoved) {\n const symbolEventNames = zoneSymbolEventNames[task.eventName];\n let symbolEventName;\n if (symbolEventNames) {\n symbolEventName = symbolEventNames[task.capture ? TRUE_STR : FALSE_STR];\n }\n const existingTasks = symbolEventName && task.target[symbolEventName];\n if (existingTasks) {\n for (let i = 0; i < existingTasks.length; i++) {\n const existingTask = existingTasks[i];\n if (existingTask === task) {\n existingTasks.splice(i, 1);\n // set isRemoved to data for faster invokeTask check\n task.isRemoved = true;\n if (existingTasks.length === 0) {\n // all tasks for the eventName + capture have gone,\n // remove globalZoneAwareCallback and remove the task cache from target\n task.allRemoved = true;\n task.target[symbolEventName] = null;\n }\n break;\n }\n }\n }\n }\n // if all tasks for the eventName + capture have gone,\n // we will really remove the global event callback,\n // if not, return\n if (!task.allRemoved) {\n return;\n }\n return nativeRemoveEventListener.call(task.target, task.eventName, task.capture ? globalZoneAwareCaptureCallback : globalZoneAwareCallback, task.options);\n };\n const customScheduleNonGlobal = function (task) {\n return nativeAddEventListener.call(taskData.target, taskData.eventName, task.invoke, taskData.options);\n };\n const customSchedulePrepend = function (task) {\n return nativePrependEventListener.call(taskData.target, taskData.eventName, task.invoke, taskData.options);\n };\n const customCancelNonGlobal = function (task) {\n return nativeRemoveEventListener.call(task.target, task.eventName, task.invoke, task.options);\n };\n const customSchedule = useGlobalCallback ? customScheduleGlobal : customScheduleNonGlobal;\n const customCancel = useGlobalCallback ? customCancelGlobal : customCancelNonGlobal;\n const compareTaskCallbackVsDelegate = function (task, delegate) {\n const typeOfDelegate = typeof delegate;\n return (typeOfDelegate === 'function' && task.callback === delegate) ||\n (typeOfDelegate === 'object' && task.originalDelegate === delegate);\n };\n const compare = (patchOptions && patchOptions.diff) ? patchOptions.diff : compareTaskCallbackVsDelegate;\n const unpatchedEvents = Zone[zoneSymbol('UNPATCHED_EVENTS')];\n const passiveEvents = _global[zoneSymbol('PASSIVE_EVENTS')];\n const makeAddListener = function (nativeListener, addSource, customScheduleFn, customCancelFn, returnTarget = false, prepend = false) {\n return function () {\n const target = this || _global;\n let eventName = arguments[0];\n if (patchOptions && patchOptions.transferEventName) {\n eventName = patchOptions.transferEventName(eventName);\n }\n let delegate = arguments[1];\n if (!delegate) {\n return nativeListener.apply(this, arguments);\n }\n if (isNode && eventName === 'uncaughtException') {\n // don't patch uncaughtException of nodejs to prevent endless loop\n return nativeListener.apply(this, arguments);\n }\n // don't create the bind delegate function for handleEvent\n // case here to improve addEventListener performance\n // we will create the bind delegate when invoke\n let isHandleEvent = false;\n if (typeof delegate !== 'function') {\n if (!delegate.handleEvent) {\n return nativeListener.apply(this, arguments);\n }\n isHandleEvent = true;\n }\n if (validateHandler && !validateHandler(nativeListener, delegate, target, arguments)) {\n return;\n }\n const passive = passiveSupported && !!passiveEvents && passiveEvents.indexOf(eventName) !== -1;\n const options = buildEventListenerOptions(arguments[2], passive);\n if (unpatchedEvents) {\n // check unpatched list\n for (let i = 0; i < unpatchedEvents.length; i++) {\n if (eventName === unpatchedEvents[i]) {\n if (passive) {\n return nativeListener.call(target, eventName, delegate, options);\n }\n else {\n return nativeListener.apply(this, arguments);\n }\n }\n }\n }\n const capture = !options ? false : typeof options === 'boolean' ? true : options.capture;\n const once = options && typeof options === 'object' ? options.once : false;\n const zone = Zone.current;\n let symbolEventNames = zoneSymbolEventNames[eventName];\n if (!symbolEventNames) {\n prepareEventNames(eventName, eventNameToString);\n symbolEventNames = zoneSymbolEventNames[eventName];\n }\n const symbolEventName = symbolEventNames[capture ? TRUE_STR : FALSE_STR];\n let existingTasks = target[symbolEventName];\n let isExisting = false;\n if (existingTasks) {\n // already have task registered\n isExisting = true;\n if (checkDuplicate) {\n for (let i = 0; i < existingTasks.length; i++) {\n if (compare(existingTasks[i], delegate)) {\n // same callback, same capture, same event name, just return\n return;\n }\n }\n }\n }\n else {\n existingTasks = target[symbolEventName] = [];\n }\n let source;\n const constructorName = target.constructor['name'];\n const targetSource = globalSources[constructorName];\n if (targetSource) {\n source = targetSource[eventName];\n }\n if (!source) {\n source = constructorName + addSource +\n (eventNameToString ? eventNameToString(eventName) : eventName);\n }\n // do not create a new object as task.data to pass those things\n // just use the global shared one\n taskData.options = options;\n if (once) {\n // if addEventListener with once options, we don't pass it to\n // native addEventListener, instead we keep the once setting\n // and handle ourselves.\n taskData.options.once = false;\n }\n taskData.target = target;\n taskData.capture = capture;\n taskData.eventName = eventName;\n taskData.isExisting = isExisting;\n const data = useGlobalCallback ? OPTIMIZED_ZONE_EVENT_TASK_DATA : undefined;\n // keep taskData into data to allow onScheduleEventTask to access the task information\n if (data) {\n data.taskData = taskData;\n }\n const task = zone.scheduleEventTask(source, delegate, data, customScheduleFn, customCancelFn);\n // should clear taskData.target to avoid memory leak\n // issue, https://github.com/angular/angular/issues/20442\n taskData.target = null;\n // need to clear up taskData because it is a global object\n if (data) {\n data.taskData = null;\n }\n // have to save those information to task in case\n // application may call task.zone.cancelTask() directly\n if (once) {\n options.once = true;\n }\n if (!(!passiveSupported && typeof task.options === 'boolean')) {\n // if not support passive, and we pass an option object\n // to addEventListener, we should save the options to task\n task.options = options;\n }\n task.target = target;\n task.capture = capture;\n task.eventName = eventName;\n if (isHandleEvent) {\n // save original delegate for compare to check duplicate\n task.originalDelegate = delegate;\n }\n if (!prepend) {\n existingTasks.push(task);\n }\n else {\n existingTasks.unshift(task);\n }\n if (returnTarget) {\n return target;\n }\n };\n };\n proto[ADD_EVENT_LISTENER] = makeAddListener(nativeAddEventListener, ADD_EVENT_LISTENER_SOURCE, customSchedule, customCancel, returnTarget);\n if (nativePrependEventListener) {\n proto[PREPEND_EVENT_LISTENER] = makeAddListener(nativePrependEventListener, PREPEND_EVENT_LISTENER_SOURCE, customSchedulePrepend, customCancel, returnTarget, true);\n }\n proto[REMOVE_EVENT_LISTENER] = function () {\n const target = this || _global;\n let eventName = arguments[0];\n if (patchOptions && patchOptions.transferEventName) {\n eventName = patchOptions.transferEventName(eventName);\n }\n const options = arguments[2];\n const capture = !options ? false : typeof options === 'boolean' ? true : options.capture;\n const delegate = arguments[1];\n if (!delegate) {\n return nativeRemoveEventListener.apply(this, arguments);\n }\n if (validateHandler &&\n !validateHandler(nativeRemoveEventListener, delegate, target, arguments)) {\n return;\n }\n const symbolEventNames = zoneSymbolEventNames[eventName];\n let symbolEventName;\n if (symbolEventNames) {\n symbolEventName = symbolEventNames[capture ? TRUE_STR : FALSE_STR];\n }\n const existingTasks = symbolEventName && target[symbolEventName];\n if (existingTasks) {\n for (let i = 0; i < existingTasks.length; i++) {\n const existingTask = existingTasks[i];\n if (compare(existingTask, delegate)) {\n existingTasks.splice(i, 1);\n // set isRemoved to data for faster invokeTask check\n existingTask.isRemoved = true;\n if (existingTasks.length === 0) {\n // all tasks for the eventName + capture have gone,\n // remove globalZoneAwareCallback and remove the task cache from target\n existingTask.allRemoved = true;\n target[symbolEventName] = null;\n // in the target, we have an event listener which is added by on_property\n // such as target.onclick = function() {}, so we need to clear this internal\n // property too if all delegates all removed\n if (typeof eventName === 'string') {\n const onPropertySymbol = ZONE_SYMBOL_PREFIX + 'ON_PROPERTY' + eventName;\n target[onPropertySymbol] = null;\n }\n }\n existingTask.zone.cancelTask(existingTask);\n if (returnTarget) {\n return target;\n }\n return;\n }\n }\n }\n // issue 930, didn't find the event name or callback\n // from zone kept existingTasks, the callback maybe\n // added outside of zone, we need to call native removeEventListener\n // to try to remove it.\n return nativeRemoveEventListener.apply(this, arguments);\n };\n proto[LISTENERS_EVENT_LISTENER] = function () {\n const target = this || _global;\n let eventName = arguments[0];\n if (patchOptions && patchOptions.transferEventName) {\n eventName = patchOptions.transferEventName(eventName);\n }\n const listeners = [];\n const tasks = findEventTasks(target, eventNameToString ? eventNameToString(eventName) : eventName);\n for (let i = 0; i < tasks.length; i++) {\n const task = tasks[i];\n let delegate = task.originalDelegate ? task.originalDelegate : task.callback;\n listeners.push(delegate);\n }\n return listeners;\n };\n proto[REMOVE_ALL_LISTENERS_EVENT_LISTENER] = function () {\n const target = this || _global;\n let eventName = arguments[0];\n if (!eventName) {\n const keys = Object.keys(target);\n for (let i = 0; i < keys.length; i++) {\n const prop = keys[i];\n const match = EVENT_NAME_SYMBOL_REGX.exec(prop);\n let evtName = match && match[1];\n // in nodejs EventEmitter, removeListener event is\n // used for monitoring the removeListener call,\n // so just keep removeListener eventListener until\n // all other eventListeners are removed\n if (evtName && evtName !== 'removeListener') {\n this[REMOVE_ALL_LISTENERS_EVENT_LISTENER].call(this, evtName);\n }\n }\n // remove removeListener listener finally\n this[REMOVE_ALL_LISTENERS_EVENT_LISTENER].call(this, 'removeListener');\n }\n else {\n if (patchOptions && patchOptions.transferEventName) {\n eventName = patchOptions.transferEventName(eventName);\n }\n const symbolEventNames = zoneSymbolEventNames[eventName];\n if (symbolEventNames) {\n const symbolEventName = symbolEventNames[FALSE_STR];\n const symbolCaptureEventName = symbolEventNames[TRUE_STR];\n const tasks = target[symbolEventName];\n const captureTasks = target[symbolCaptureEventName];\n if (tasks) {\n const removeTasks = tasks.slice();\n for (let i = 0; i < removeTasks.length; i++) {\n const task = removeTasks[i];\n let delegate = task.originalDelegate ? task.originalDelegate : task.callback;\n this[REMOVE_EVENT_LISTENER].call(this, eventName, delegate, task.options);\n }\n }\n if (captureTasks) {\n const removeTasks = captureTasks.slice();\n for (let i = 0; i < removeTasks.length; i++) {\n const task = removeTasks[i];\n let delegate = task.originalDelegate ? task.originalDelegate : task.callback;\n this[REMOVE_EVENT_LISTENER].call(this, eventName, delegate, task.options);\n }\n }\n }\n }\n if (returnTarget) {\n return this;\n }\n };\n // for native toString patch\n attachOriginToPatched(proto[ADD_EVENT_LISTENER], nativeAddEventListener);\n attachOriginToPatched(proto[REMOVE_EVENT_LISTENER], nativeRemoveEventListener);\n if (nativeRemoveAllListeners) {\n attachOriginToPatched(proto[REMOVE_ALL_LISTENERS_EVENT_LISTENER], nativeRemoveAllListeners);\n }\n if (nativeListeners) {\n attachOriginToPatched(proto[LISTENERS_EVENT_LISTENER], nativeListeners);\n }\n return true;\n }\n let results = [];\n for (let i = 0; i < apis.length; i++) {\n results[i] = patchEventTargetMethods(apis[i], patchOptions);\n }\n return results;\n}\nfunction findEventTasks(target, eventName) {\n if (!eventName) {\n const foundTasks = [];\n for (let prop in target) {\n const match = EVENT_NAME_SYMBOL_REGX.exec(prop);\n let evtName = match && match[1];\n if (evtName && (!eventName || evtName === eventName)) {\n const tasks = target[prop];\n if (tasks) {\n for (let i = 0; i < tasks.length; i++) {\n foundTasks.push(tasks[i]);\n }\n }\n }\n }\n return foundTasks;\n }\n let symbolEventName = zoneSymbolEventNames[eventName];\n if (!symbolEventName) {\n prepareEventNames(eventName);\n symbolEventName = zoneSymbolEventNames[eventName];\n }\n const captureFalseTasks = target[symbolEventName[FALSE_STR]];\n const captureTrueTasks = target[symbolEventName[TRUE_STR]];\n if (!captureFalseTasks) {\n return captureTrueTasks ? captureTrueTasks.slice() : [];\n }\n else {\n return captureTrueTasks ? captureFalseTasks.concat(captureTrueTasks) :\n captureFalseTasks.slice();\n }\n}\nfunction patchEventPrototype(global, api) {\n const Event = global['Event'];\n if (Event && Event.prototype) {\n api.patchMethod(Event.prototype, 'stopImmediatePropagation', (delegate) => function (self, args) {\n self[IMMEDIATE_PROPAGATION_SYMBOL] = true;\n // we need to call the native stopImmediatePropagation\n // in case in some hybrid application, some part of\n // application will be controlled by zone, some are not\n delegate && delegate.apply(self, args);\n });\n }\n}\n\nfunction patchCallbacks(api, target, targetName, method, callbacks) {\n const symbol = Zone.__symbol__(method);\n if (target[symbol]) {\n return;\n }\n const nativeDelegate = target[symbol] = target[method];\n target[method] = function (name, opts, options) {\n if (opts && opts.prototype) {\n callbacks.forEach(function (callback) {\n const source = `${targetName}.${method}::` + callback;\n const prototype = opts.prototype;\n // Note: the `patchCallbacks` is used for patching the `document.registerElement` and\n // `customElements.define`. We explicitly wrap the patching code into try-catch since\n // callbacks may be already patched by other web components frameworks (e.g. LWC), and they\n // make those properties non-writable. This means that patching callback will throw an error\n // `cannot assign to read-only property`. See this code as an example:\n // https://github.com/salesforce/lwc/blob/master/packages/@lwc/engine-core/src/framework/base-bridge-element.ts#L180-L186\n // We don't want to stop the application rendering if we couldn't patch some\n // callback, e.g. `attributeChangedCallback`.\n try {\n if (prototype.hasOwnProperty(callback)) {\n const descriptor = api.ObjectGetOwnPropertyDescriptor(prototype, callback);\n if (descriptor && descriptor.value) {\n descriptor.value = api.wrapWithCurrentZone(descriptor.value, source);\n api._redefineProperty(opts.prototype, callback, descriptor);\n }\n else if (prototype[callback]) {\n prototype[callback] = api.wrapWithCurrentZone(prototype[callback], source);\n }\n }\n else if (prototype[callback]) {\n prototype[callback] = api.wrapWithCurrentZone(prototype[callback], source);\n }\n }\n catch {\n // Note: we leave the catch block empty since there's no way to handle the error related\n // to non-writable property.\n }\n });\n }\n return nativeDelegate.call(target, name, opts, options);\n };\n api.attachOriginToPatched(target[method], nativeDelegate);\n}\n\n/**\n * @fileoverview\n * @suppress {globalThis}\n */\nfunction filterProperties(target, onProperties, ignoreProperties) {\n if (!ignoreProperties || ignoreProperties.length === 0) {\n return onProperties;\n }\n const tip = ignoreProperties.filter(ip => ip.target === target);\n if (!tip || tip.length === 0) {\n return onProperties;\n }\n const targetIgnoreProperties = tip[0].ignoreProperties;\n return onProperties.filter(op => targetIgnoreProperties.indexOf(op) === -1);\n}\nfunction patchFilteredProperties(target, onProperties, ignoreProperties, prototype) {\n // check whether target is available, sometimes target will be undefined\n // because different browser or some 3rd party plugin.\n if (!target) {\n return;\n }\n const filteredProperties = filterProperties(target, onProperties, ignoreProperties);\n patchOnProperties(target, filteredProperties, prototype);\n}\n/**\n * Get all event name properties which the event name startsWith `on`\n * from the target object itself, inherited properties are not considered.\n */\nfunction getOnEventNames(target) {\n return Object.getOwnPropertyNames(target)\n .filter(name => name.startsWith('on') && name.length > 2)\n .map(name => name.substring(2));\n}\nfunction propertyDescriptorPatch(api, _global) {\n if (isNode && !isMix) {\n return;\n }\n if (Zone[api.symbol('patchEvents')]) {\n // events are already been patched by legacy patch.\n return;\n }\n const ignoreProperties = _global['__Zone_ignore_on_properties'];\n // for browsers that we can patch the descriptor: Chrome & Firefox\n let patchTargets = [];\n if (isBrowser) {\n const internalWindow = window;\n patchTargets = patchTargets.concat([\n 'Document', 'SVGElement', 'Element', 'HTMLElement', 'HTMLBodyElement', 'HTMLMediaElement',\n 'HTMLFrameSetElement', 'HTMLFrameElement', 'HTMLIFrameElement', 'HTMLMarqueeElement', 'Worker'\n ]);\n const ignoreErrorProperties = isIE() ? [{ target: internalWindow, ignoreProperties: ['error'] }] : [];\n // in IE/Edge, onProp not exist in window object, but in WindowPrototype\n // so we need to pass WindowPrototype to check onProp exist or not\n patchFilteredProperties(internalWindow, getOnEventNames(internalWindow), ignoreProperties ? ignoreProperties.concat(ignoreErrorProperties) : ignoreProperties, ObjectGetPrototypeOf(internalWindow));\n }\n patchTargets = patchTargets.concat([\n 'XMLHttpRequest', 'XMLHttpRequestEventTarget', 'IDBIndex', 'IDBRequest', 'IDBOpenDBRequest',\n 'IDBDatabase', 'IDBTransaction', 'IDBCursor', 'WebSocket'\n ]);\n for (let i = 0; i < patchTargets.length; i++) {\n const target = _global[patchTargets[i]];\n target && target.prototype &&\n patchFilteredProperties(target.prototype, getOnEventNames(target.prototype), ignoreProperties);\n }\n}\n\nZone.__load_patch('util', (global, Zone, api) => {\n // Collect native event names by looking at properties\n // on the global namespace, e.g. 'onclick'.\n const eventNames = getOnEventNames(global);\n api.patchOnProperties = patchOnProperties;\n api.patchMethod = patchMethod;\n api.bindArguments = bindArguments;\n api.patchMacroTask = patchMacroTask;\n // In earlier version of zone.js (<0.9.0), we use env name `__zone_symbol__BLACK_LISTED_EVENTS` to\n // define which events will not be patched by `Zone.js`.\n // In newer version (>=0.9.0), we change the env name to `__zone_symbol__UNPATCHED_EVENTS` to keep\n // the name consistent with angular repo.\n // The `__zone_symbol__BLACK_LISTED_EVENTS` is deprecated, but it is still be supported for\n // backwards compatibility.\n const SYMBOL_BLACK_LISTED_EVENTS = Zone.__symbol__('BLACK_LISTED_EVENTS');\n const SYMBOL_UNPATCHED_EVENTS = Zone.__symbol__('UNPATCHED_EVENTS');\n if (global[SYMBOL_UNPATCHED_EVENTS]) {\n global[SYMBOL_BLACK_LISTED_EVENTS] = global[SYMBOL_UNPATCHED_EVENTS];\n }\n if (global[SYMBOL_BLACK_LISTED_EVENTS]) {\n Zone[SYMBOL_BLACK_LISTED_EVENTS] = Zone[SYMBOL_UNPATCHED_EVENTS] =\n global[SYMBOL_BLACK_LISTED_EVENTS];\n }\n api.patchEventPrototype = patchEventPrototype;\n api.patchEventTarget = patchEventTarget;\n api.isIEOrEdge = isIEOrEdge;\n api.ObjectDefineProperty = ObjectDefineProperty;\n api.ObjectGetOwnPropertyDescriptor = ObjectGetOwnPropertyDescriptor;\n api.ObjectCreate = ObjectCreate;\n api.ArraySlice = ArraySlice;\n api.patchClass = patchClass;\n api.wrapWithCurrentZone = wrapWithCurrentZone;\n api.filterProperties = filterProperties;\n api.attachOriginToPatched = attachOriginToPatched;\n api._redefineProperty = Object.defineProperty;\n api.patchCallbacks = patchCallbacks;\n api.getGlobalObjects = () => ({\n globalSources,\n zoneSymbolEventNames,\n eventNames,\n isBrowser,\n isMix,\n isNode,\n TRUE_STR,\n FALSE_STR,\n ZONE_SYMBOL_PREFIX,\n ADD_EVENT_LISTENER_STR,\n REMOVE_EVENT_LISTENER_STR\n });\n});\n\n/**\n * @fileoverview\n * @suppress {missingRequire}\n */\nfunction patchQueueMicrotask(global, api) {\n api.patchMethod(global, 'queueMicrotask', (delegate) => {\n return function (self, args) {\n Zone.current.scheduleMicroTask('queueMicrotask', args[0]);\n };\n });\n}\n\n/**\n * @fileoverview\n * @suppress {missingRequire}\n */\nconst taskSymbol = zoneSymbol('zoneTask');\nfunction patchTimer(window, setName, cancelName, nameSuffix) {\n let setNative = null;\n let clearNative = null;\n setName += nameSuffix;\n cancelName += nameSuffix;\n const tasksByHandleId = {};\n function scheduleTask(task) {\n const data = task.data;\n data.args[0] = function () {\n return task.invoke.apply(this, arguments);\n };\n data.handleId = setNative.apply(window, data.args);\n return task;\n }\n function clearTask(task) {\n return clearNative.call(window, task.data.handleId);\n }\n setNative =\n patchMethod(window, setName, (delegate) => function (self, args) {\n if (typeof args[0] === 'function') {\n const options = {\n isPeriodic: nameSuffix === 'Interval',\n delay: (nameSuffix === 'Timeout' || nameSuffix === 'Interval') ? args[1] || 0 :\n undefined,\n args: args\n };\n const callback = args[0];\n args[0] = function timer() {\n try {\n return callback.apply(this, arguments);\n }\n finally {\n // issue-934, task will be cancelled\n // even it is a periodic task such as\n // setInterval\n // https://github.com/angular/angular/issues/40387\n // Cleanup tasksByHandleId should be handled before scheduleTask\n // Since some zoneSpec may intercept and doesn't trigger\n // scheduleFn(scheduleTask) provided here.\n if (!(options.isPeriodic)) {\n if (typeof options.handleId === 'number') {\n // in non-nodejs env, we remove timerId\n // from local cache\n delete tasksByHandleId[options.handleId];\n }\n else if (options.handleId) {\n // Node returns complex objects as handleIds\n // we remove task reference from timer object\n options.handleId[taskSymbol] = null;\n }\n }\n }\n };\n const task = scheduleMacroTaskWithCurrentZone(setName, args[0], options, scheduleTask, clearTask);\n if (!task) {\n return task;\n }\n // Node.js must additionally support the ref and unref functions.\n const handle = task.data.handleId;\n if (typeof handle === 'number') {\n // for non nodejs env, we save handleId: task\n // mapping in local cache for clearTimeout\n tasksByHandleId[handle] = task;\n }\n else if (handle) {\n // for nodejs env, we save task\n // reference in timerId Object for clearTimeout\n handle[taskSymbol] = task;\n }\n // check whether handle is null, because some polyfill or browser\n // may return undefined from setTimeout/setInterval/setImmediate/requestAnimationFrame\n if (handle && handle.ref && handle.unref && typeof handle.ref === 'function' &&\n typeof handle.unref === 'function') {\n task.ref = handle.ref.bind(handle);\n task.unref = handle.unref.bind(handle);\n }\n if (typeof handle === 'number' || handle) {\n return handle;\n }\n return task;\n }\n else {\n // cause an error by calling it directly.\n return delegate.apply(window, args);\n }\n });\n clearNative =\n patchMethod(window, cancelName, (delegate) => function (self, args) {\n const id = args[0];\n let task;\n if (typeof id === 'number') {\n // non nodejs env.\n task = tasksByHandleId[id];\n }\n else {\n // nodejs env.\n task = id && id[taskSymbol];\n // other environments.\n if (!task) {\n task = id;\n }\n }\n if (task && typeof task.type === 'string') {\n if (task.state !== 'notScheduled' &&\n (task.cancelFn && task.data.isPeriodic || task.runCount === 0)) {\n if (typeof id === 'number') {\n delete tasksByHandleId[id];\n }\n else if (id) {\n id[taskSymbol] = null;\n }\n // Do not cancel already canceled functions\n task.zone.cancelTask(task);\n }\n }\n else {\n // cause an error by calling it directly.\n delegate.apply(window, args);\n }\n });\n}\n\nfunction patchCustomElements(_global, api) {\n const { isBrowser, isMix } = api.getGlobalObjects();\n if ((!isBrowser && !isMix) || !_global['customElements'] || !('customElements' in _global)) {\n return;\n }\n const callbacks = ['connectedCallback', 'disconnectedCallback', 'adoptedCallback', 'attributeChangedCallback'];\n api.patchCallbacks(api, _global.customElements, 'customElements', 'define', callbacks);\n}\n\nfunction eventTargetPatch(_global, api) {\n if (Zone[api.symbol('patchEventTarget')]) {\n // EventTarget is already patched.\n return;\n }\n const { eventNames, zoneSymbolEventNames, TRUE_STR, FALSE_STR, ZONE_SYMBOL_PREFIX } = api.getGlobalObjects();\n // predefine all __zone_symbol__ + eventName + true/false string\n for (let i = 0; i < eventNames.length; i++) {\n const eventName = eventNames[i];\n const falseEventName = eventName + FALSE_STR;\n const trueEventName = eventName + TRUE_STR;\n const symbol = ZONE_SYMBOL_PREFIX + falseEventName;\n const symbolCapture = ZONE_SYMBOL_PREFIX + trueEventName;\n zoneSymbolEventNames[eventName] = {};\n zoneSymbolEventNames[eventName][FALSE_STR] = symbol;\n zoneSymbolEventNames[eventName][TRUE_STR] = symbolCapture;\n }\n const EVENT_TARGET = _global['EventTarget'];\n if (!EVENT_TARGET || !EVENT_TARGET.prototype) {\n return;\n }\n api.patchEventTarget(_global, api, [EVENT_TARGET && EVENT_TARGET.prototype]);\n return true;\n}\nfunction patchEvent(global, api) {\n api.patchEventPrototype(global, api);\n}\n\n/**\n * @fileoverview\n * @suppress {missingRequire}\n */\nZone.__load_patch('legacy', (global) => {\n const legacyPatch = global[Zone.__symbol__('legacyPatch')];\n if (legacyPatch) {\n legacyPatch();\n }\n});\nZone.__load_patch('timers', (global) => {\n const set = 'set';\n const clear = 'clear';\n patchTimer(global, set, clear, 'Timeout');\n patchTimer(global, set, clear, 'Interval');\n patchTimer(global, set, clear, 'Immediate');\n});\nZone.__load_patch('requestAnimationFrame', (global) => {\n patchTimer(global, 'request', 'cancel', 'AnimationFrame');\n patchTimer(global, 'mozRequest', 'mozCancel', 'AnimationFrame');\n patchTimer(global, 'webkitRequest', 'webkitCancel', 'AnimationFrame');\n});\nZone.__load_patch('blocking', (global, Zone) => {\n const blockingMethods = ['alert', 'prompt', 'confirm'];\n for (let i = 0; i < blockingMethods.length; i++) {\n const name = blockingMethods[i];\n patchMethod(global, name, (delegate, symbol, name) => {\n return function (s, args) {\n return Zone.current.run(delegate, global, args, name);\n };\n });\n }\n});\nZone.__load_patch('EventTarget', (global, Zone, api) => {\n patchEvent(global, api);\n eventTargetPatch(global, api);\n // patch XMLHttpRequestEventTarget's addEventListener/removeEventListener\n const XMLHttpRequestEventTarget = global['XMLHttpRequestEventTarget'];\n if (XMLHttpRequestEventTarget && XMLHttpRequestEventTarget.prototype) {\n api.patchEventTarget(global, api, [XMLHttpRequestEventTarget.prototype]);\n }\n});\nZone.__load_patch('MutationObserver', (global, Zone, api) => {\n patchClass('MutationObserver');\n patchClass('WebKitMutationObserver');\n});\nZone.__load_patch('IntersectionObserver', (global, Zone, api) => {\n patchClass('IntersectionObserver');\n});\nZone.__load_patch('FileReader', (global, Zone, api) => {\n patchClass('FileReader');\n});\nZone.__load_patch('on_property', (global, Zone, api) => {\n propertyDescriptorPatch(api, global);\n});\nZone.__load_patch('customElements', (global, Zone, api) => {\n patchCustomElements(global, api);\n});\nZone.__load_patch('XHR', (global, Zone) => {\n // Treat XMLHttpRequest as a macrotask.\n patchXHR(global);\n const XHR_TASK = zoneSymbol('xhrTask');\n const XHR_SYNC = zoneSymbol('xhrSync');\n const XHR_LISTENER = zoneSymbol('xhrListener');\n const XHR_SCHEDULED = zoneSymbol('xhrScheduled');\n const XHR_URL = zoneSymbol('xhrURL');\n const XHR_ERROR_BEFORE_SCHEDULED = zoneSymbol('xhrErrorBeforeScheduled');\n function patchXHR(window) {\n const XMLHttpRequest = window['XMLHttpRequest'];\n if (!XMLHttpRequest) {\n // XMLHttpRequest is not available in service worker\n return;\n }\n const XMLHttpRequestPrototype = XMLHttpRequest.prototype;\n function findPendingTask(target) {\n return target[XHR_TASK];\n }\n let oriAddListener = XMLHttpRequestPrototype[ZONE_SYMBOL_ADD_EVENT_LISTENER];\n let oriRemoveListener = XMLHttpRequestPrototype[ZONE_SYMBOL_REMOVE_EVENT_LISTENER];\n if (!oriAddListener) {\n const XMLHttpRequestEventTarget = window['XMLHttpRequestEventTarget'];\n if (XMLHttpRequestEventTarget) {\n const XMLHttpRequestEventTargetPrototype = XMLHttpRequestEventTarget.prototype;\n oriAddListener = XMLHttpRequestEventTargetPrototype[ZONE_SYMBOL_ADD_EVENT_LISTENER];\n oriRemoveListener = XMLHttpRequestEventTargetPrototype[ZONE_SYMBOL_REMOVE_EVENT_LISTENER];\n }\n }\n const READY_STATE_CHANGE = 'readystatechange';\n const SCHEDULED = 'scheduled';\n function scheduleTask(task) {\n const data = task.data;\n const target = data.target;\n target[XHR_SCHEDULED] = false;\n target[XHR_ERROR_BEFORE_SCHEDULED] = false;\n // remove existing event listener\n const listener = target[XHR_LISTENER];\n if (!oriAddListener) {\n oriAddListener = target[ZONE_SYMBOL_ADD_EVENT_LISTENER];\n oriRemoveListener = target[ZONE_SYMBOL_REMOVE_EVENT_LISTENER];\n }\n if (listener) {\n oriRemoveListener.call(target, READY_STATE_CHANGE, listener);\n }\n const newListener = target[XHR_LISTENER] = () => {\n if (target.readyState === target.DONE) {\n // sometimes on some browsers XMLHttpRequest will fire onreadystatechange with\n // readyState=4 multiple times, so we need to check task state here\n if (!data.aborted && target[XHR_SCHEDULED] && task.state === SCHEDULED) {\n // check whether the xhr has registered onload listener\n // if that is the case, the task should invoke after all\n // onload listeners finish.\n // Also if the request failed without response (status = 0), the load event handler\n // will not be triggered, in that case, we should also invoke the placeholder callback\n // to close the XMLHttpRequest::send macroTask.\n // https://github.com/angular/angular/issues/38795\n const loadTasks = target[Zone.__symbol__('loadfalse')];\n if (target.status !== 0 && loadTasks && loadTasks.length > 0) {\n const oriInvoke = task.invoke;\n task.invoke = function () {\n // need to load the tasks again, because in other\n // load listener, they may remove themselves\n const loadTasks = target[Zone.__symbol__('loadfalse')];\n for (let i = 0; i < loadTasks.length; i++) {\n if (loadTasks[i] === task) {\n loadTasks.splice(i, 1);\n }\n }\n if (!data.aborted && task.state === SCHEDULED) {\n oriInvoke.call(task);\n }\n };\n loadTasks.push(task);\n }\n else {\n task.invoke();\n }\n }\n else if (!data.aborted && target[XHR_SCHEDULED] === false) {\n // error occurs when xhr.send()\n target[XHR_ERROR_BEFORE_SCHEDULED] = true;\n }\n }\n };\n oriAddListener.call(target, READY_STATE_CHANGE, newListener);\n const storedTask = target[XHR_TASK];\n if (!storedTask) {\n target[XHR_TASK] = task;\n }\n sendNative.apply(target, data.args);\n target[XHR_SCHEDULED] = true;\n return task;\n }\n function placeholderCallback() { }\n function clearTask(task) {\n const data = task.data;\n // Note - ideally, we would call data.target.removeEventListener here, but it's too late\n // to prevent it from firing. So instead, we store info for the event listener.\n data.aborted = true;\n return abortNative.apply(data.target, data.args);\n }\n const openNative = patchMethod(XMLHttpRequestPrototype, 'open', () => function (self, args) {\n self[XHR_SYNC] = args[2] == false;\n self[XHR_URL] = args[1];\n return openNative.apply(self, args);\n });\n const XMLHTTPREQUEST_SOURCE = 'XMLHttpRequest.send';\n const fetchTaskAborting = zoneSymbol('fetchTaskAborting');\n const fetchTaskScheduling = zoneSymbol('fetchTaskScheduling');\n const sendNative = patchMethod(XMLHttpRequestPrototype, 'send', () => function (self, args) {\n if (Zone.current[fetchTaskScheduling] === true) {\n // a fetch is scheduling, so we are using xhr to polyfill fetch\n // and because we already schedule macroTask for fetch, we should\n // not schedule a macroTask for xhr again\n return sendNative.apply(self, args);\n }\n if (self[XHR_SYNC]) {\n // if the XHR is sync there is no task to schedule, just execute the code.\n return sendNative.apply(self, args);\n }\n else {\n const options = { target: self, url: self[XHR_URL], isPeriodic: false, args: args, aborted: false };\n const task = scheduleMacroTaskWithCurrentZone(XMLHTTPREQUEST_SOURCE, placeholderCallback, options, scheduleTask, clearTask);\n if (self && self[XHR_ERROR_BEFORE_SCHEDULED] === true && !options.aborted &&\n task.state === SCHEDULED) {\n // xhr request throw error when send\n // we should invoke task instead of leaving a scheduled\n // pending macroTask\n task.invoke();\n }\n }\n });\n const abortNative = patchMethod(XMLHttpRequestPrototype, 'abort', () => function (self, args) {\n const task = findPendingTask(self);\n if (task && typeof task.type == 'string') {\n // If the XHR has already completed, do nothing.\n // If the XHR has already been aborted, do nothing.\n // Fix #569, call abort multiple times before done will cause\n // macroTask task count be negative number\n if (task.cancelFn == null || (task.data && task.data.aborted)) {\n return;\n }\n task.zone.cancelTask(task);\n }\n else if (Zone.current[fetchTaskAborting] === true) {\n // the abort is called from fetch polyfill, we need to call native abort of XHR.\n return abortNative.apply(self, args);\n }\n // Otherwise, we are trying to abort an XHR which has not yet been sent, so there is no\n // task\n // to cancel. Do nothing.\n });\n }\n});\nZone.__load_patch('geolocation', (global) => {\n /// GEO_LOCATION\n if (global['navigator'] && global['navigator'].geolocation) {\n patchPrototype(global['navigator'].geolocation, ['getCurrentPosition', 'watchPosition']);\n }\n});\nZone.__load_patch('PromiseRejectionEvent', (global, Zone) => {\n // handle unhandled promise rejection\n function findPromiseRejectionHandler(evtName) {\n return function (e) {\n const eventTasks = findEventTasks(global, evtName);\n eventTasks.forEach(eventTask => {\n // windows has added unhandledrejection event listener\n // trigger the event listener\n const PromiseRejectionEvent = global['PromiseRejectionEvent'];\n if (PromiseRejectionEvent) {\n const evt = new PromiseRejectionEvent(evtName, { promise: e.promise, reason: e.rejection });\n eventTask.invoke(evt);\n }\n });\n };\n }\n if (global['PromiseRejectionEvent']) {\n Zone[zoneSymbol('unhandledPromiseRejectionHandler')] =\n findPromiseRejectionHandler('unhandledrejection');\n Zone[zoneSymbol('rejectionHandledHandler')] =\n findPromiseRejectionHandler('rejectionhandled');\n }\n});\nZone.__load_patch('queueMicrotask', (global, Zone, api) => {\n patchQueueMicrotask(global, api);\n});\n","/**\n * This file includes polyfills needed by Angular and is loaded before the app.\n * You can add your own extra polyfills to this file.\n *\n * This file is divided into 2 sections:\n * 1. Browser polyfills. These are applied before loading ZoneJS and are sorted by browsers.\n * 2. Application imports. Files imported after ZoneJS that should be loaded before your main\n * file.\n *\n * The current setup is for so-called \"evergreen\" browsers; the last versions of browsers that\n * automatically update themselves. This includes Safari >= 10, Chrome >= 55 (including Opera),\n * Edge >= 13 on the desktop, and iOS 10 and Chrome on mobile.\n *\n * Learn more in https://angular.io/guide/browser-support\n */\n\n/***************************************************************************************************\n * BROWSER POLYFILLS\n */\n\n/**\n * By default, zone.js will patch all possible macroTask and DomEvents\n * user can disable parts of macroTask/DomEvents patch by setting following flags\n * because those flags need to be set before `zone.js` being loaded, and webpack\n * will put import in the top of bundle, so user need to create a separate file\n * in this directory (for example: zone-flags.ts), and put the following flags\n * into that file, and then add the following code before importing zone.js.\n * import './zone-flags';\n *\n * The flags allowed in zone-flags.ts are listed here.\n *\n * The following flags will work for all browsers.\n *\n * (window as any).__Zone_disable_requestAnimationFrame = true; // disable patch requestAnimationFrame\n * (window as any).__Zone_disable_on_property = true; // disable patch onProperty such as onclick\n * (window as any).__zone_symbol__UNPATCHED_EVENTS = ['scroll', 'mousemove']; // disable patch specified eventNames\n *\n * in IE/Edge developer tools, the addEventListener will also be wrapped by zone.js\n * with the following flag, it will bypass `zone.js` patch for IE/Edge\n *\n * (window as any).__Zone_enable_cross_context_check = true;\n *\n */\n\n/***************************************************************************************************\n * Zone JS is required by default for Angular itself.\n */\nimport 'zone.js'; // Included with Angular CLI.\n\n/***************************************************************************************************\n * APPLICATION IMPORTS\n */\n"],"names":["global","performance","mark","name","performanceMeasure","label","symbolPrefix","__symbol__","checkDuplicate","Error","Zone","_","assertZonePatched","patches","root","zone","current","parent","_currentZoneFrame","currentTask","_currentTask","__load_patch","fn","ignoreDuplicate","hasOwnProperty","perfName","_api","_parent","_name","constructor","zoneSpec","_properties","properties","_zoneDelegate","_ZoneDelegate","get","key","getZoneWith","fork","wrap","callback","source","_callback","intercept","runGuarded","arguments","run","applyThis","applyArgs","invoke","error","handleError","runTask","task","NO_ZONE","state","notScheduled","type","eventTask","macroTask","reEntryGuard","running","_transitionTo","scheduled","runCount","previousTask","data","isPeriodic","cancelFn","undefined","invokeTask","unknown","_updateTaskCount","scheduleTask","newZone","scheduling","zoneDelegates","_zoneDelegates","_zone","err","scheduleMicroTask","customSchedule","ZoneTask","microTask","scheduleMacroTask","customCancel","scheduleEventTask","cancelTask","canceling","count","i","length","DELEGATE_ZS","onHasTask","delegate","target","hasTaskState","hasTask","onScheduleTask","onInvokeTask","onCancelTask","parentDelegate","_taskCounts","_parentDelegate","_forkZS","onFork","_forkDlgt","_forkCurrZone","_interceptZS","onIntercept","_interceptDlgt","_interceptCurrZone","_invokeZS","onInvoke","_invokeDlgt","_invokeCurrZone","_handleErrorZS","onHandleError","_handleErrorDlgt","_handleErrorCurrZone","_scheduleTaskZS","_scheduleTaskDlgt","_scheduleTaskCurrZone","_invokeTaskZS","_invokeTaskDlgt","_invokeTaskCurrZone","_cancelTaskZS","_cancelTaskDlgt","_cancelTaskCurrZone","_hasTaskZS","_hasTaskDlgt","_hasTaskDlgtOwner","_hasTaskCurrZone","zoneSpecHasTask","parentHasTask","targetZone","apply","returnTask","push","scheduleFn","value","isEmpty","counts","prev","next","change","options","_state","self","useG","call","args","_numberOfNestedTaskFrames","drainMicroTaskQueue","cancelScheduleRequest","toState","fromState1","fromState2","toString","handleId","Object","prototype","toJSON","symbolSetTimeout","symbolPromise","symbolThen","_microTaskQueue","_isDrainingMicrotaskQueue","nativeMicroTaskQueuePromise","nativeScheduleMicroTask","func","resolve","nativeThen","queue","onUnhandledError","microtaskDrainDone","symbol","currentZoneFrame","noop","showUncaughtError","patchEventTarget","patchOnProperties","patchMethod","bindArguments","patchThen","patchMacroTask","patchEventPrototype","isIEOrEdge","getGlobalObjects","ObjectDefineProperty","ObjectGetOwnPropertyDescriptor","ObjectCreate","ArraySlice","patchClass","wrapWithCurrentZone","filterProperties","attachOriginToPatched","_redefineProperty","patchCallbacks","window","getOwnPropertyDescriptor","defineProperty","ObjectGetPrototypeOf","getPrototypeOf","create","Array","slice","ADD_EVENT_LISTENER_STR","REMOVE_EVENT_LISTENER_STR","ZONE_SYMBOL_ADD_EVENT_LISTENER","ZONE_SYMBOL_REMOVE_EVENT_LISTENER","TRUE_STR","FALSE_STR","ZONE_SYMBOL_PREFIX","scheduleMacroTaskWithCurrentZone","zoneSymbol","isWindowExists","internalWindow","_global","REMOVE_ATTRIBUTE","patchPrototype","fnNames","prototypeDesc","isPropertyWritable","patched","propertyDesc","writable","set","isWebWorker","WorkerGlobalScope","isNode","process","isBrowser","isMix","zoneSymbolEventNames$1","wrapFn","event","eventNameSymbol","listener","result","errorEvent","message","filename","lineno","colno","preventDefault","patchProperty","obj","prop","desc","enumerable","configurable","onPropPatchedSymbol","originalDescGet","originalDescSet","eventName","newValue","previousValue","removeEventListener","addEventListener","removeAttribute","onProperties","j","originalInstanceKey","className","OriginalClass","a","instance","patchFn","proto","delegateName","patchDelegate","funcName","metaCreator","setNative","cbIdx","meta","original","isDetectedIEOrEdge","ieOrEdge","isIE","ua","navigator","userAgent","indexOf","api","readableObjectToString","JSON","stringify","_uncaughtPromiseErrors","isDisableWrappingUncaughtPromiseRejection","creationTrace","e","rejection","console","stack","uncaughtPromiseError","shift","throwOriginal","handleUnhandledRejection","UNHANDLED_PROMISE_REJECTION_HANDLER_SYMBOL","handler","isThenable","then","forwardResolution","forwardRejection","ZoneAwarePromise","reject","symbolState","symbolValue","symbolFinally","symbolParentPromiseValue","symbolParentPromiseState","UNRESOLVED","RESOLVED","REJECTED","REJECTED_NO_CATCH","makeResolver","promise","v","resolvePromise","once","wasCalled","wrapper","wrappedFunction","TYPE_ERROR","CURRENT_TASK_TRACE_SYMBOL","onceWrapper","TypeError","clearRejectedNoCatch","trace","scheduleResolveOrReject","REJECTION_HANDLED_HANDLER","splice","chainPromise","onFulfilled","onRejected","promiseState","parentPromiseValue","isFinallyPromise","ZONE_AWARE_PROMISE_TO_STRING","AggregateError","any","values","Symbol","iterator","Promise","promises","finished","errors","race","res","rej","onResolve","onReject","all","allWithCallback","allSettled","P","thenCallback","status","errorCallback","reason","unresolvedCount","valueIndex","resolvedValues","curValueIndex","thenErr","executor","toStringTag","species","C","catch","finally","onFinally","NativePromise","symbolThenPatched","Ctor","originalThen","wrapped","zoneify","resultPromise","ctor","originalFunctionToString","Function","ORIGINAL_DELEGATE_SYMBOL","PROMISE_SYMBOL","ERROR_SYMBOL","newFunctionToString","originalDelegate","nativePromise","nativeError","originalObjectToString","PROMISE_OBJECT_TO_STRING","passiveSupported","OPTIMIZED_ZONE_EVENT_TASK_DATA","zoneSymbolEventNames","globalSources","EVENT_NAME_SYMBOL_REGX","RegExp","IMMEDIATE_PROPAGATION_SYMBOL","prepareEventNames","eventNameToString","falseEventName","trueEventName","symbolCapture","apis","patchOptions","ADD_EVENT_LISTENER","add","REMOVE_EVENT_LISTENER","rm","LISTENERS_EVENT_LISTENER","listeners","REMOVE_ALL_LISTENERS_EVENT_LISTENER","rmAll","zoneSymbolAddEventListener","ADD_EVENT_LISTENER_SOURCE","PREPEND_EVENT_LISTENER","PREPEND_EVENT_LISTENER_SOURCE","isRemoved","handleEvent","globalCallback","context","isCapture","tasks","copyTasks","globalZoneAwareCallback","globalZoneAwareCaptureCallback","patchEventTargetMethods","useGlobalCallback","validateHandler","vh","chkDup","returnTarget","rt","taskData","nativeAddEventListener","nativeRemoveEventListener","nativeListeners","nativeRemoveAllListeners","nativePrependEventListener","prepend","buildEventListenerOptions","passive","capture","customScheduleGlobal","isExisting","customCancelGlobal","symbolEventNames","symbolEventName","existingTasks","existingTask","allRemoved","customScheduleNonGlobal","customSchedulePrepend","customCancelNonGlobal","compareTaskCallbackVsDelegate","typeOfDelegate","compare","diff","unpatchedEvents","passiveEvents","makeAddListener","nativeListener","addSource","customScheduleFn","customCancelFn","transferEventName","isHandleEvent","constructorName","targetSource","unshift","onPropertySymbol","findEventTasks","keys","match","exec","evtName","symbolCaptureEventName","captureTasks","removeTasks","results","foundTasks","captureFalseTasks","captureTrueTasks","concat","Event","targetName","method","callbacks","nativeDelegate","opts","forEach","descriptor","ignoreProperties","tip","filter","ip","targetIgnoreProperties","op","patchFilteredProperties","filteredProperties","getOnEventNames","getOwnPropertyNames","startsWith","map","substring","propertyDescriptorPatch","patchTargets","ignoreErrorProperties","eventNames","SYMBOL_BLACK_LISTED_EVENTS","SYMBOL_UNPATCHED_EVENTS","patchQueueMicrotask","taskSymbol","patchTimer","setName","cancelName","nameSuffix","clearNative","tasksByHandleId","clearTask","delay","timer","handle","ref","unref","bind","id","patchCustomElements","customElements","eventTargetPatch","EVENT_TARGET","patchEvent","legacyPatch","clear","blockingMethods","s","XMLHttpRequestEventTarget","patchXHR","XHR_TASK","XHR_SYNC","XHR_LISTENER","XHR_SCHEDULED","XHR_URL","XHR_ERROR_BEFORE_SCHEDULED","XMLHttpRequest","XMLHttpRequestPrototype","findPendingTask","oriAddListener","oriRemoveListener","XMLHttpRequestEventTargetPrototype","READY_STATE_CHANGE","SCHEDULED","newListener","readyState","DONE","aborted","loadTasks","oriInvoke","storedTask","sendNative","placeholderCallback","abortNative","openNative","XMLHTTPREQUEST_SOURCE","fetchTaskAborting","fetchTaskScheduling","url","geolocation","findPromiseRejectionHandler","eventTasks","PromiseRejectionEvent","evt"],"sourceRoot":"webpack:///","x_google_ignoreList":[0]} \ No newline at end of file diff --git a/app-latest-build/runtime.cf402925d3cccd0d.js b/app-latest-build/runtime.cf402925d3cccd0d.js deleted file mode 100644 index 799cfeb..0000000 --- a/app-latest-build/runtime.cf402925d3cccd0d.js +++ /dev/null @@ -1 +0,0 @@ -(()=>{"use strict";var e,_={},p={};function n(e){var a=p[e];if(void 0!==a)return a.exports;var r=p[e]={exports:{}};return _[e].call(r.exports,r,r.exports,n),r.exports}n.m=_,e=[],n.O=(a,r,o,l)=>{if(!r){var c=1/0;for(f=0;f=l)&&Object.keys(n.O).every(h=>n.O[h](r[t]))?r.splice(t--,1):(s=!1,l0&&e[f-1][2]>l;f--)e[f]=e[f-1];e[f]=[r,o,l]},n.n=e=>{var a=e&&e.__esModule?()=>e.default:()=>e;return n.d(a,{a}),a},n.d=(e,a)=>{for(var r in a)n.o(a,r)&&!n.o(e,r)&&Object.defineProperty(e,r,{enumerable:!0,get:a[r]})},n.o=(e,a)=>Object.prototype.hasOwnProperty.call(e,a),(()=>{var e={666:0};n.O.j=o=>0===e[o];var a=(o,l)=>{var t,u,[f,c,s]=l,v=0;if(f.some(d=>0!==e[d])){for(t in c)n.o(c,t)&&(n.m[t]=c[t]);if(s)var b=s(n)}for(o&&o(l);v { // webpackBootstrap +/******/ "use strict"; +/******/ var __webpack_modules__ = ({}); +/************************************************************************/ +/******/ // The module cache +/******/ var __webpack_module_cache__ = {}; +/******/ +/******/ // The require function +/******/ function __webpack_require__(moduleId) { +/******/ // Check if module is in cache +/******/ var cachedModule = __webpack_module_cache__[moduleId]; +/******/ if (cachedModule !== undefined) { +/******/ return cachedModule.exports; +/******/ } +/******/ // Create a new module (and put it into the cache) +/******/ var module = __webpack_module_cache__[moduleId] = { +/******/ // no module.id needed +/******/ // no module.loaded needed +/******/ exports: {} +/******/ }; +/******/ +/******/ // Execute the module function +/******/ __webpack_modules__[moduleId].call(module.exports, module, module.exports, __webpack_require__); +/******/ +/******/ // Return the exports of the module +/******/ return module.exports; +/******/ } +/******/ +/******/ // expose the modules object (__webpack_modules__) +/******/ __webpack_require__.m = __webpack_modules__; +/******/ +/************************************************************************/ +/******/ /* webpack/runtime/chunk loaded */ +/******/ (() => { +/******/ var deferred = []; +/******/ __webpack_require__.O = (result, chunkIds, fn, priority) => { +/******/ if(chunkIds) { +/******/ priority = priority || 0; +/******/ for(var i = deferred.length; i > 0 && deferred[i - 1][2] > priority; i--) deferred[i] = deferred[i - 1]; +/******/ deferred[i] = [chunkIds, fn, priority]; +/******/ return; +/******/ } +/******/ var notFulfilled = Infinity; +/******/ for (var i = 0; i < deferred.length; i++) { +/******/ var [chunkIds, fn, priority] = deferred[i]; +/******/ var fulfilled = true; +/******/ for (var j = 0; j < chunkIds.length; j++) { +/******/ if ((priority & 1 === 0 || notFulfilled >= priority) && Object.keys(__webpack_require__.O).every((key) => (__webpack_require__.O[key](chunkIds[j])))) { +/******/ chunkIds.splice(j--, 1); +/******/ } else { +/******/ fulfilled = false; +/******/ if(priority < notFulfilled) notFulfilled = priority; +/******/ } +/******/ } +/******/ if(fulfilled) { +/******/ deferred.splice(i--, 1) +/******/ var r = fn(); +/******/ if (r !== undefined) result = r; +/******/ } +/******/ } +/******/ return result; +/******/ }; +/******/ })(); +/******/ +/******/ /* webpack/runtime/compat get default export */ +/******/ (() => { +/******/ // getDefaultExport function for compatibility with non-harmony modules +/******/ __webpack_require__.n = (module) => { +/******/ var getter = module && module.__esModule ? +/******/ () => (module['default']) : +/******/ () => (module); +/******/ __webpack_require__.d(getter, { a: getter }); +/******/ return getter; +/******/ }; +/******/ })(); +/******/ +/******/ /* webpack/runtime/define property getters */ +/******/ (() => { +/******/ // define getter functions for harmony exports +/******/ __webpack_require__.d = (exports, definition) => { +/******/ for(var key in definition) { +/******/ if(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) { +/******/ Object.defineProperty(exports, key, { enumerable: true, get: definition[key] }); +/******/ } +/******/ } +/******/ }; +/******/ })(); +/******/ +/******/ /* webpack/runtime/hasOwnProperty shorthand */ +/******/ (() => { +/******/ __webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop)) +/******/ })(); +/******/ +/******/ /* webpack/runtime/make namespace object */ +/******/ (() => { +/******/ // define __esModule on exports +/******/ __webpack_require__.r = (exports) => { +/******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) { +/******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' }); +/******/ } +/******/ Object.defineProperty(exports, '__esModule', { value: true }); +/******/ }; +/******/ })(); +/******/ +/******/ /* webpack/runtime/jsonp chunk loading */ +/******/ (() => { +/******/ // no baseURI +/******/ +/******/ // object to store loaded and loading chunks +/******/ // undefined = chunk not loaded, null = chunk preloaded/prefetched +/******/ // [resolve, reject, Promise] = chunk loading, 0 = chunk loaded +/******/ var installedChunks = { +/******/ "runtime": 0 +/******/ }; +/******/ +/******/ // no chunk on demand loading +/******/ +/******/ // no prefetching +/******/ +/******/ // no preloaded +/******/ +/******/ // no HMR +/******/ +/******/ // no HMR manifest +/******/ +/******/ __webpack_require__.O.j = (chunkId) => (installedChunks[chunkId] === 0); +/******/ +/******/ // install a JSONP callback for chunk loading +/******/ var webpackJsonpCallback = (parentChunkLoadingFunction, data) => { +/******/ var [chunkIds, moreModules, runtime] = data; +/******/ // add "moreModules" to the modules object, +/******/ // then flag all "chunkIds" as loaded and fire callback +/******/ var moduleId, chunkId, i = 0; +/******/ if(chunkIds.some((id) => (installedChunks[id] !== 0))) { +/******/ for(moduleId in moreModules) { +/******/ if(__webpack_require__.o(moreModules, moduleId)) { +/******/ __webpack_require__.m[moduleId] = moreModules[moduleId]; +/******/ } +/******/ } +/******/ if(runtime) var result = runtime(__webpack_require__); +/******/ } +/******/ if(parentChunkLoadingFunction) parentChunkLoadingFunction(data); +/******/ for(;i < chunkIds.length; i++) { +/******/ chunkId = chunkIds[i]; +/******/ if(__webpack_require__.o(installedChunks, chunkId) && installedChunks[chunkId]) { +/******/ installedChunks[chunkId][0](); +/******/ } +/******/ installedChunks[chunkId] = 0; +/******/ } +/******/ return __webpack_require__.O(result); +/******/ } +/******/ +/******/ var chunkLoadingGlobal = self["webpackChunkegon"] = self["webpackChunkegon"] || []; +/******/ chunkLoadingGlobal.forEach(webpackJsonpCallback.bind(null, 0)); +/******/ chunkLoadingGlobal.push = webpackJsonpCallback.bind(null, chunkLoadingGlobal.push.bind(chunkLoadingGlobal)); +/******/ })(); +/******/ +/************************************************************************/ +/******/ +/******/ +/******/ })() +; +//# sourceMappingURL=runtime.js.map \ No newline at end of file diff --git a/app-latest-build/runtime.js.map b/app-latest-build/runtime.js.map new file mode 100644 index 0000000..e0ba198 --- /dev/null +++ b/app-latest-build/runtime.js.map @@ -0,0 +1 @@ +{"version":3,"file":"runtime.js","mappings":";;;;UAAA;UACA;;UAEA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;;UAEA;UACA;;UAEA;UACA;UACA;;UAEA;UACA;;;;;WCzBA;WACA;WACA;WACA;WACA,+BAA+B,wCAAwC;WACvE;WACA;WACA;WACA;WACA,iBAAiB,qBAAqB;WACtC;WACA;WACA,kBAAkB,qBAAqB;WACvC;WACA;WACA,KAAK;WACL;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;;;;;WC3BA;WACA;WACA;WACA;WACA;WACA,iCAAiC,WAAW;WAC5C;WACA;;;;;WCPA;WACA;WACA;WACA;WACA,yCAAyC,wCAAwC;WACjF;WACA;WACA;;;;;WCPA;;;;;WCAA;WACA;WACA;WACA,uDAAuD,iBAAiB;WACxE;WACA,gDAAgD,aAAa;WAC7D;;;;;WCNA;;WAEA;WACA;WACA;WACA;WACA;WACA;;WAEA;;WAEA;;WAEA;;WAEA;;WAEA;;WAEA;;WAEA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA,MAAM,qBAAqB;WAC3B;WACA;WACA;WACA;WACA;WACA;WACA;WACA;;WAEA;WACA;WACA","sources":["webpack/bootstrap","webpack/runtime/chunk loaded","webpack/runtime/compat get default export","webpack/runtime/define property getters","webpack/runtime/hasOwnProperty shorthand","webpack/runtime/make namespace object","webpack/runtime/jsonp chunk loading","webpack/before-startup","webpack/startup","webpack/after-startup"],"sourcesContent":["// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\t// no module.id needed\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n// expose the modules object (__webpack_modules__)\n__webpack_require__.m = __webpack_modules__;\n\n","var deferred = [];\n__webpack_require__.O = (result, chunkIds, fn, priority) => {\n\tif(chunkIds) {\n\t\tpriority = priority || 0;\n\t\tfor(var i = deferred.length; i > 0 && deferred[i - 1][2] > priority; i--) deferred[i] = deferred[i - 1];\n\t\tdeferred[i] = [chunkIds, fn, priority];\n\t\treturn;\n\t}\n\tvar notFulfilled = Infinity;\n\tfor (var i = 0; i < deferred.length; i++) {\n\t\tvar [chunkIds, fn, priority] = deferred[i];\n\t\tvar fulfilled = true;\n\t\tfor (var j = 0; j < chunkIds.length; j++) {\n\t\t\tif ((priority & 1 === 0 || notFulfilled >= priority) && Object.keys(__webpack_require__.O).every((key) => (__webpack_require__.O[key](chunkIds[j])))) {\n\t\t\t\tchunkIds.splice(j--, 1);\n\t\t\t} else {\n\t\t\t\tfulfilled = false;\n\t\t\t\tif(priority < notFulfilled) notFulfilled = priority;\n\t\t\t}\n\t\t}\n\t\tif(fulfilled) {\n\t\t\tdeferred.splice(i--, 1)\n\t\t\tvar r = fn();\n\t\t\tif (r !== undefined) result = r;\n\t\t}\n\t}\n\treturn result;\n};","// getDefaultExport function for compatibility with non-harmony modules\n__webpack_require__.n = (module) => {\n\tvar getter = module && module.__esModule ?\n\t\t() => (module['default']) :\n\t\t() => (module);\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","// define getter functions for harmony exports\n__webpack_require__.d = (exports, definition) => {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","// define __esModule on exports\n__webpack_require__.r = (exports) => {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","// no baseURI\n\n// object to store loaded and loading chunks\n// undefined = chunk not loaded, null = chunk preloaded/prefetched\n// [resolve, reject, Promise] = chunk loading, 0 = chunk loaded\nvar installedChunks = {\n\t\"runtime\": 0\n};\n\n// no chunk on demand loading\n\n// no prefetching\n\n// no preloaded\n\n// no HMR\n\n// no HMR manifest\n\n__webpack_require__.O.j = (chunkId) => (installedChunks[chunkId] === 0);\n\n// install a JSONP callback for chunk loading\nvar webpackJsonpCallback = (parentChunkLoadingFunction, data) => {\n\tvar [chunkIds, moreModules, runtime] = data;\n\t// add \"moreModules\" to the modules object,\n\t// then flag all \"chunkIds\" as loaded and fire callback\n\tvar moduleId, chunkId, i = 0;\n\tif(chunkIds.some((id) => (installedChunks[id] !== 0))) {\n\t\tfor(moduleId in moreModules) {\n\t\t\tif(__webpack_require__.o(moreModules, moduleId)) {\n\t\t\t\t__webpack_require__.m[moduleId] = moreModules[moduleId];\n\t\t\t}\n\t\t}\n\t\tif(runtime) var result = runtime(__webpack_require__);\n\t}\n\tif(parentChunkLoadingFunction) parentChunkLoadingFunction(data);\n\tfor(;i < chunkIds.length; i++) {\n\t\tchunkId = chunkIds[i];\n\t\tif(__webpack_require__.o(installedChunks, chunkId) && installedChunks[chunkId]) {\n\t\t\tinstalledChunks[chunkId][0]();\n\t\t}\n\t\tinstalledChunks[chunkId] = 0;\n\t}\n\treturn __webpack_require__.O(result);\n}\n\nvar chunkLoadingGlobal = self[\"webpackChunkegon\"] = self[\"webpackChunkegon\"] || [];\nchunkLoadingGlobal.forEach(webpackJsonpCallback.bind(null, 0));\nchunkLoadingGlobal.push = webpackJsonpCallback.bind(null, chunkLoadingGlobal.push.bind(chunkLoadingGlobal));","","",""],"names":[],"sourceRoot":"webpack:///","x_google_ignoreList":[0,1,2,3,4,5,6,7,8,9]} \ No newline at end of file diff --git a/app-latest-build/styles.92e5b5b9999374a1.css b/app-latest-build/styles.92e5b5b9999374a1.css deleted file mode 100644 index 29bbec2..0000000 --- a/app-latest-build/styles.92e5b5b9999374a1.css +++ /dev/null @@ -1 +0,0 @@ -.djs-container{--color-grey-225-10-15: hsl(225, 10%, 15%);--color-grey-225-10-35: hsl(225, 10%, 35%);--color-grey-225-10-55: hsl(225, 10%, 55%);--color-grey-225-10-75: hsl(225, 10%, 75%);--color-grey-225-10-80: hsl(225, 10%, 80%);--color-grey-225-10-85: hsl(225, 10%, 85%);--color-grey-225-10-90: hsl(225, 10%, 90%);--color-grey-225-10-95: hsl(225, 10%, 95%);--color-grey-225-10-97: hsl(225, 10%, 97%);--color-blue-205-100-45: hsl(205, 100%, 45%);--color-blue-205-100-45-opacity-30: hsla(205, 100%, 45%, 30%);--color-blue-205-100-50: hsl(205, 100%, 50%);--color-blue-205-100-95: hsl(205, 100%, 95%);--color-green-150-86-44: hsl(150, 86%, 44%);--color-red-360-100-40: hsl(360, 100%, 40%);--color-red-360-100-45: hsl(360, 100%, 45%);--color-red-360-100-92: hsl(360, 100%, 92%);--color-red-360-100-97: hsl(360, 100%, 97%);--color-white: hsl(0, 0%, 100%);--color-black: hsl(0, 0%, 0%);--color-black-opacity-05: hsla(0, 0%, 0%, 5%);--color-black-opacity-10: hsla(0, 0%, 0%, 10%);--bendpoint-fill-color: var(--color-blue-205-100-45-opacity-30);--bendpoint-stroke-color: var(--color-blue-205-100-50);--context-pad-entry-background-color: var(--color-white);--context-pad-entry-hover-background-color: var(--color-grey-225-10-95);--element-dragger-color: var(--color-blue-205-100-50);--element-hover-outline-fill-color: var(--color-blue-205-100-45);--element-selected-outline-stroke-color: var(--color-blue-205-100-50);--lasso-fill-color: var(--color-black-opacity-05);--lasso-stroke-color: var(--color-black);--palette-entry-color: var(--color-grey-225-10-15);--palette-entry-hover-color: var(--color-blue-205-100-45);--palette-entry-selected-color: var(--color-blue-205-100-50);--palette-separator-color: var(--color-grey-225-10-75);--palette-toggle-hover-background-color: var(--color-grey-225-10-55);--palette-background-color: var(--color-grey-225-10-97);--palette-border-color: var(--color-grey-225-10-75);--popup-body-background-color: var(--color-white);--popup-header-entry-selected-color: var(--color-blue-205-100-50);--popup-header-entry-selected-background-color: var(--color-black-opacity-10);--popup-header-separator-color: var(--color-grey-225-10-75);--popup-background-color: var(--color-grey-225-10-97);--popup-border-color: var(--color-grey-225-10-75);--resizer-fill-color: var(--color-blue-205-100-45-opacity-30);--resizer-stroke-color: var(--color-blue-205-100-50);--search-container-background-color: var(--color-grey-225-10-97);--search-container-border-color: var(--color-blue-205-100-50);--search-container-box-shadow-color: var(--color-blue-205-100-95);--search-container-box-shadow-inset-color: var(--color-grey-225-10-80);--search-input-border-color: var(--color-grey-225-10-75);--search-result-border-color: var(--color-grey-225-10-75);--search-result-highlight-color: var(--color-black);--search-result-selected-color: var(--color-blue-205-100-45-opacity-30);--shape-attach-allowed-stroke-color: var(--color-blue-205-100-50);--shape-connect-allowed-fill-color: var(--color-grey-225-10-97);--shape-drop-allowed-fill-color: var(--color-grey-225-10-97);--shape-drop-not-allowed-fill-color: var(--color-red-360-100-97);--shape-resize-preview-stroke-color: var(--color-blue-205-100-50);--snap-line-stroke-color: var(--color-blue-205-100-45-opacity-30);--space-tool-crosshair-stroke-color: var(--color-black);--tooltip-error-background-color: var(--color-red-360-100-97);--tooltip-error-border-color: var(--color-red-360-100-45);--tooltip-error-color: var(--color-red-360-100-45)}.djs-element.hover .djs-outline,.djs-element.selected .djs-outline{visibility:visible;shape-rendering:geometricPrecision;stroke-dasharray:3,3}.djs-element.selected .djs-outline{stroke:var(--element-selected-outline-stroke-color);stroke-width:1px}.djs-element.hover .djs-outline{stroke:var(--element-hover-outline-fill-color);stroke-width:1px}.djs-shape.connect-ok .djs-visual>:nth-child(1){fill:var(--shape-connect-allowed-fill-color)!important}.djs-shape.connect-not-ok .djs-visual>:nth-child(1),.djs-shape.drop-not-ok .djs-visual>:nth-child(1){fill:var(--shape-drop-not-allowed-fill-color)!important}.djs-shape.new-parent .djs-visual>:nth-child(1){fill:var(--shape-drop-allowed-fill-color)!important}svg.drop-not-ok{background:var(--shape-drop-not-allowed-fill-color)!important}svg.new-parent{background:var(--shape-drop-allowed-fill-color)!important}.djs-connection.connect-ok .djs-visual>:nth-child(1),.djs-connection.drop-ok .djs-visual>:nth-child(1){stroke:var(--shape-drop-allowed-fill-color)!important}.djs-connection.connect-not-ok .djs-visual>:nth-child(1),.djs-connection.drop-not-ok .djs-visual>:nth-child(1){stroke:var(--shape-drop-not-allowed-fill-color)!important}.drop-not-ok,.connect-not-ok{cursor:not-allowed}.djs-element.attach-ok .djs-visual>:nth-child(1){stroke-width:5px!important;stroke:var(--shape-attach-allowed-stroke-color)!important}.djs-frame.connect-not-ok .djs-visual>:nth-child(1),.djs-frame.drop-not-ok .djs-visual>:nth-child(1){stroke-width:3px!important;stroke:var(--shape-drop-not-allowed-fill-color)!important;fill:none!important}.djs-lasso-overlay{fill:var(--lasso-fill-color);stroke-dasharray:5 1 3 1;stroke:var(--lasso-stroke-color);shape-rendering:geometricPrecision;pointer-events:none}.djs-resize-overlay{fill:none;stroke-dasharray:5 1 3 1;stroke:var(--shape-resize-preview-stroke-color);pointer-events:none}.djs-resizer-hit{fill:none;pointer-events:all}.djs-resizer-visual{fill:var(--resizer-fill-color);stroke-width:1px;stroke-opacity:.5;stroke:var(--resizer-stroke-color);shape-rendering:geometricprecision}.djs-resizer:hover .djs-resizer-visual{stroke:var(--resizer-stroke-color);stroke-opacity:1}.djs-cursor-resize-ns,.djs-resizer-n,.djs-resizer-s{cursor:ns-resize}.djs-cursor-resize-ew,.djs-resizer-e,.djs-resizer-w{cursor:ew-resize}.djs-cursor-resize-nwse,.djs-resizer-nw,.djs-resizer-se{cursor:nwse-resize}.djs-cursor-resize-nesw,.djs-resizer-ne,.djs-resizer-sw{cursor:nesw-resize}.djs-shape.djs-resizing>.djs-outline{visibility:hidden!important}.djs-shape.djs-resizing>.djs-resizer{visibility:hidden}.djs-dragger>.djs-resizer{visibility:hidden}.djs-dragger *{fill:none!important;stroke:var(--element-dragger-color)!important}.djs-dragger tspan,.djs-dragger text{fill:var(--element-dragger-color)!important;stroke:none!important}marker.djs-dragger circle,marker.djs-dragger path,marker.djs-dragger polygon,marker.djs-dragger polyline,marker.djs-dragger rect{fill:var(--element-dragger-color)!important;stroke:none!important}marker.djs-dragger text,marker.djs-dragger tspan{fill:none!important;stroke:var(--element-dragger-color)!important}.djs-dragging{opacity:.3}.djs-dragging,.djs-dragging>*{pointer-events:none!important}.djs-dragging .djs-context-pad,.djs-dragging .djs-outline{display:none!important}.djs-visual,.djs-outline{pointer-events:none}.djs-element.attach-ok .djs-hit{stroke-width:60px!important}.djs-element>.djs-hit-all{pointer-events:all}.djs-element>.djs-hit-stroke,.djs-element>.djs-hit-click-stroke{pointer-events:stroke}.djs-drag-active .djs-element>.djs-hit-click-stroke{pointer-events:all}.djs-connection .djs-visual{stroke-width:2px;fill:none}.djs-cursor-grab{cursor:grab}.djs-cursor-grabbing{cursor:grabbing}.djs-cursor-crosshair{cursor:crosshair}.djs-cursor-move{cursor:move}.djs-cursor-resize-ns{cursor:ns-resize}.djs-cursor-resize-ew{cursor:ew-resize}.djs-snap-line{stroke:var(--snap-line-stroke-color);stroke-linecap:round;stroke-width:2px;pointer-events:none}.djs-crosshair{stroke:var(--space-tool-crosshair-stroke-color);stroke-linecap:round;stroke-width:1px;pointer-events:none;shape-rendering:crispEdges;stroke-dasharray:5,5}.djs-palette{position:absolute;left:20px;top:20px;box-sizing:border-box;width:48px}.djs-palette .separator{margin:0 5px;padding-top:5px;border:none;border-bottom:solid 1px var(--palette-separator-color);clear:both}.djs-palette .entry:before{vertical-align:text-bottom}.djs-palette .entry,.djs-palette .djs-palette-toggle{color:var(--palette-entry-color);font-size:30px;text-align:center}.djs-palette .djs-palette-toggle:hover{background:var(--palette-toggle-hover-background-color)}.djs-palette .entry:hover{color:var(--palette-entry-hover-color)}.djs-palette .highlighted-entry{color:var(--palette-entry-selected-color)!important}.djs-palette .entry,.djs-palette .djs-palette-toggle{width:46px;height:46px;line-height:46px;cursor:default}.djs-palette.two-column.open{width:94px}.djs-overlay-context-pad{width:72px;z-index:100}.djs-context-pad{position:absolute;display:none;pointer-events:none;line-height:1}.djs-context-pad .entry{width:22px;height:22px;text-align:center;display:inline-block;font-size:22px;margin:0 2px 2px 0;border-radius:3px;cursor:default;background-color:var(--context-pad-entry-background-color);box-shadow:0 0 2px 1px var(--context-pad-entry-background-color);pointer-events:all;vertical-align:middle}.djs-context-pad .entry:hover{background:var(--context-pad-entry-hover-background-color)}.djs-context-pad.open{display:block}.djs-popup .entry{line-height:20px;white-space:nowrap;cursor:default}.djs-popup .entry:before{vertical-align:middle;font-size:20px}.djs-popup .entry>span{vertical-align:middle;font-size:14px}.djs-popup .entry:hover,.djs-popup .entry.active:hover{background:var(--popup-header-entry-selected-background-color)}.djs-popup .entry.disabled{background:inherit}.djs-popup .djs-popup-header .entry{display:inline-block;padding:2px 3px;border:solid 1px transparent;border-radius:3px}.djs-popup .djs-popup-header .entry.active{color:var(--popup-header-entry-selected-color);border:solid 1px var(--popup-header-entry-selected-color);background-color:var(--popup-header-entry-selected-background-color)}.djs-popup-body .entry{padding:4px 10px 4px 5px}.djs-popup-body .entry>span{margin-left:5px}.djs-popup-body{background-color:var(--popup-body-background-color)}.djs-popup-header{border-bottom:1px solid var(--popup-header-separator-color)}.djs-popup-header .entry{margin:1px 1px 1px 3px}.djs-popup-header .entry:last-child{margin-right:3px}.djs-palette{background:var(--palette-background-color);border:solid 1px var(--palette-border-color);border-radius:2px}.djs-popup{background:var(--popup-background-color);border:solid 1px var(--popup-border-color);border-radius:2px}.djs-shape,.djs-connection{touch-action:none}.djs-segment-dragger,.djs-bendpoint{display:none}.djs-segment-dragger .djs-visual{display:none;fill:var(--bendpoint-fill-color);stroke:var(--bendpoint-stroke-color);stroke-width:1px;stroke-opacity:1}.djs-segment-dragger:hover .djs-visual{display:block}.djs-bendpoint .djs-visual{fill:var(--bendpoint-fill-color);stroke:var(--bendpoint-stroke-color);stroke-width:1px;stroke-opacity:.5}.djs-segment-dragger:hover,.djs-bendpoints.hover .djs-segment-dragger,.djs-bendpoints.selected .djs-segment-dragger,.djs-bendpoint:hover,.djs-bendpoints.hover .djs-bendpoint,.djs-bendpoints.selected .djs-bendpoint{display:block}.djs-drag-active .djs-bendpoints *{display:none}.djs-bendpoints:not(.hover) .floating{display:none}.djs-segment-dragger:hover .djs-visual,.djs-segment-dragger.djs-dragging .djs-visual,.djs-bendpoint:hover .djs-visual,.djs-bendpoint.floating .djs-visual{fill:var(--bendpoint-fill-color);stroke:var(--bendpoint-stroke-color);stroke-opacity:1}.djs-bendpoint.floating .djs-hit{pointer-events:none}.djs-segment-dragger .djs-hit,.djs-bendpoint .djs-hit{fill:none;pointer-events:all}.djs-segment-dragger.horizontal .djs-hit{cursor:ns-resize}.djs-segment-dragger.vertical .djs-hit{cursor:ew-resize}.djs-segment-dragger.djs-dragging .djs-hit{pointer-events:none}.djs-updating,.djs-updating>*{pointer-events:none!important}.djs-updating .djs-context-pad,.djs-updating .djs-outline,.djs-updating .djs-bendpoint,.connect-ok .djs-bendpoint,.connect-not-ok .djs-bendpoint,.drop-ok .djs-bendpoint,.drop-not-ok .djs-bendpoint{display:none!important}.djs-segment-dragger.djs-dragging,.djs-bendpoint.djs-dragging{display:block;opacity:1}.djs-tooltip-error{width:160px;padding:6px;background:var(--tooltip-error-background-color);border:solid 1px var(--tooltip-error-border-color);border-radius:2px;color:var(--tooltip-error-color);font-size:12px;line-height:16px;opacity:.75}.djs-tooltip-error:hover{opacity:1}.djs-search-container{position:absolute;top:20px;left:0;right:0;margin-left:auto;margin-right:auto;width:25%;min-width:300px;max-width:400px;z-index:10;font-size:1.05em;opacity:.9;background:var(--search-container-background-color);border:solid 1px var(--search-container-border-color);border-radius:2px;box-shadow:0 0 0 2px var(--search-container-box-shadow-color),0 0 0 1px var(--search-container-box-shadow-inset-color) inset}.djs-search-container:not(.open){display:none}.djs-search-input input{font-size:1.05em;width:100%;padding:6px 10px;border:1px solid var(--search-input-border-color);box-sizing:border-box}.djs-search-input input:focus{outline:none;border-color:var(--search-input-border-color)}.djs-search-results{position:relative;overflow-y:auto;max-height:200px}.djs-search-results:hover{cursor:pointer}.djs-search-result{width:100%;padding:6px 10px;background:white;border-bottom:solid 1px var(--search-result-border-color);border-radius:1px}.djs-search-highlight{color:var(--search-result-highlight-color)}.djs-search-result-primary{margin:0 0 10px}.djs-search-result-secondary{font-family:monospace;margin:0}.djs-search-result:hover,.djs-search-result-selected,.djs-search-result-selected:hover,.djs-search-overlay{background:var(--search-result-selected-color)}.djs-element-hidden,.djs-element-hidden .djs-hit,.djs-element-hidden .djs-outline,.djs-label-hidden .djs-label{display:none!important}@font-face{font-family:bpmn;src:url(bpmn.5d33bee45f1fb468.eot?26374340);src:url(bpmn.5d33bee45f1fb468.eot?26374340#iefix) format("embedded-opentype"),url(bpmn.67058807b4bcf238.woff2?26374340) format("woff2"),url(bpmn.e9e7d07618d46ca6.woff?26374340) format("woff"),url(bpmn.b5c9250d7d4947c4.ttf?26374340) format("truetype"),url(bpmn.74eea12b52b25cb2.svg?26374340#bpmn) format("svg");font-weight:400;font-style:normal}[class^=bpmn-icon-]:before,[class*=" bpmn-icon-"]:before{font-family:bpmn;font-style:normal;font-weight:400;speak:never;display:inline-block;text-decoration:inherit;width:1em;text-align:center;font-variant:normal;text-transform:none;line-height:1em;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.bpmn-icon-screw-wrench:before{content:"\e800"}.bpmn-icon-trash:before{content:"\e801"}.bpmn-icon-conditional-flow:before{content:"\e802"}.bpmn-icon-default-flow:before{content:"\e803"}.bpmn-icon-gateway-parallel:before{content:"\e804"}.bpmn-icon-intermediate-event-catch-cancel:before{content:"\e805"}.bpmn-icon-intermediate-event-catch-non-interrupting-message:before{content:"\e806"}.bpmn-icon-start-event-compensation:before{content:"\e807"}.bpmn-icon-start-event-non-interrupting-parallel-multiple:before{content:"\e808"}.bpmn-icon-loop-marker:before{content:"\e809"}.bpmn-icon-parallel-mi-marker:before{content:"\e80a"}.bpmn-icon-start-event-non-interrupting-signal:before{content:"\e80b"}.bpmn-icon-intermediate-event-catch-non-interrupting-timer:before{content:"\e80c"}.bpmn-icon-intermediate-event-catch-parallel-multiple:before{content:"\e80d"}.bpmn-icon-intermediate-event-catch-compensation:before{content:"\e80e"}.bpmn-icon-gateway-xor:before{content:"\e80f"}.bpmn-icon-connection:before{content:"\e810"}.bpmn-icon-end-event-cancel:before{content:"\e811"}.bpmn-icon-intermediate-event-catch-condition:before{content:"\e812"}.bpmn-icon-intermediate-event-catch-non-interrupting-parallel-multiple:before{content:"\e813"}.bpmn-icon-start-event-condition:before{content:"\e814"}.bpmn-icon-start-event-non-interrupting-timer:before{content:"\e815"}.bpmn-icon-sequential-mi-marker:before{content:"\e816"}.bpmn-icon-user-task:before{content:"\e817"}.bpmn-icon-business-rule:before{content:"\e818"}.bpmn-icon-sub-process-marker:before{content:"\e819"}.bpmn-icon-start-event-parallel-multiple:before{content:"\e81a"}.bpmn-icon-start-event-error:before{content:"\e81b"}.bpmn-icon-intermediate-event-catch-signal:before{content:"\e81c"}.bpmn-icon-intermediate-event-catch-error:before{content:"\e81d"}.bpmn-icon-end-event-compensation:before{content:"\e81e"}.bpmn-icon-subprocess-collapsed:before{content:"\e81f"}.bpmn-icon-subprocess-expanded:before{content:"\e820"}.bpmn-icon-task:before{content:"\e821"}.bpmn-icon-end-event-error:before{content:"\e822"}.bpmn-icon-intermediate-event-catch-escalation:before{content:"\e823"}.bpmn-icon-intermediate-event-catch-timer:before{content:"\e824"}.bpmn-icon-start-event-escalation:before{content:"\e825"}.bpmn-icon-start-event-signal:before{content:"\e826"}.bpmn-icon-business-rule-task:before{content:"\e827"}.bpmn-icon-manual:before{content:"\e828"}.bpmn-icon-receive:before{content:"\e829"}.bpmn-icon-call-activity:before{content:"\e82a"}.bpmn-icon-start-event-timer:before{content:"\e82b"}.bpmn-icon-start-event-message:before{content:"\e82c"}.bpmn-icon-intermediate-event-none:before{content:"\e82d"}.bpmn-icon-intermediate-event-catch-link:before{content:"\e82e"}.bpmn-icon-end-event-escalation:before{content:"\e82f"}.bpmn-icon-text-annotation:before{content:"\e830"}.bpmn-icon-bpmn-io:before{content:"\e831"}.bpmn-icon-gateway-complex:before{content:"\e832"}.bpmn-icon-gateway-eventbased:before{content:"\e833"}.bpmn-icon-gateway-none:before{content:"\e834"}.bpmn-icon-gateway-or:before{content:"\e835"}.bpmn-icon-end-event-terminate:before{content:"\e836"}.bpmn-icon-end-event-signal:before{content:"\e837"}.bpmn-icon-end-event-none:before{content:"\e838"}.bpmn-icon-end-event-multiple:before{content:"\e839"}.bpmn-icon-end-event-message:before{content:"\e83a"}.bpmn-icon-end-event-link:before{content:"\e83b"}.bpmn-icon-intermediate-event-catch-message:before{content:"\e83c"}.bpmn-icon-intermediate-event-throw-compensation:before{content:"\e83d"}.bpmn-icon-start-event-multiple:before{content:"\e83e"}.bpmn-icon-script:before{content:"\e83f"}.bpmn-icon-manual-task:before{content:"\e840"}.bpmn-icon-send:before{content:"\e841"}.bpmn-icon-service:before{content:"\e842"}.bpmn-icon-receive-task:before{content:"\e843"}.bpmn-icon-user:before{content:"\e844"}.bpmn-icon-start-event-none:before{content:"\e845"}.bpmn-icon-intermediate-event-throw-escalation:before{content:"\e846"}.bpmn-icon-intermediate-event-catch-multiple:before{content:"\e847"}.bpmn-icon-intermediate-event-catch-non-interrupting-escalation:before{content:"\e848"}.bpmn-icon-intermediate-event-throw-link:before{content:"\e849"}.bpmn-icon-start-event-non-interrupting-condition:before{content:"\e84a"}.bpmn-icon-data-object:before{content:"\e84b"}.bpmn-icon-script-task:before{content:"\e84c"}.bpmn-icon-send-task:before{content:"\e84d"}.bpmn-icon-data-store:before{content:"\e84e"}.bpmn-icon-start-event-non-interrupting-escalation:before{content:"\e84f"}.bpmn-icon-intermediate-event-throw-message:before{content:"\e850"}.bpmn-icon-intermediate-event-catch-non-interrupting-multiple:before{content:"\e851"}.bpmn-icon-intermediate-event-catch-non-interrupting-signal:before{content:"\e852"}.bpmn-icon-intermediate-event-throw-multiple:before{content:"\e853"}.bpmn-icon-start-event-non-interrupting-message:before{content:"\e854"}.bpmn-icon-ad-hoc-marker:before{content:"\e855"}.bpmn-icon-service-task:before{content:"\e856"}.bpmn-icon-task-none:before{content:"\e857"}.bpmn-icon-compensation-marker:before{content:"\e858"}.bpmn-icon-start-event-non-interrupting-multiple:before{content:"\e859"}.bpmn-icon-intermediate-event-throw-signal:before{content:"\e85a"}.bpmn-icon-intermediate-event-catch-non-interrupting-condition:before{content:"\e85b"}.bpmn-icon-participant:before{content:"\e85c"}.bpmn-icon-event-subprocess-expanded:before{content:"\e85d"}.bpmn-icon-lane-insert-below:before{content:"\e85e"}.bpmn-icon-space-tool:before{content:"\e85f"}.bpmn-icon-connection-multi:before{content:"\e860"}.bpmn-icon-lane:before{content:"\e861"}.bpmn-icon-lasso-tool:before{content:"\e862"}.bpmn-icon-lane-insert-above:before{content:"\e863"}.bpmn-icon-lane-divide-three:before{content:"\e864"}.bpmn-icon-lane-divide-two:before{content:"\e865"}.bpmn-icon-data-input:before{content:"\e866"}.bpmn-icon-data-output:before{content:"\e867"}.bpmn-icon-hand-tool:before{content:"\e868"}.bpmn-icon-group:before{content:"\e869"}.bpmn-icon-transaction:before{content:"\e8c4"}@font-face{font-family:Material Icons;font-style:normal;font-weight:400;font-display:block;src:url(material-icons.59322316b3fd6063.woff2) format("woff2"),url(material-icons.4ad034d2c499d9b6.woff) format("woff")}.material-icons{font-family:Material Icons;font-weight:400;font-style:normal;font-size:24px;line-height:1;letter-spacing:normal;text-transform:none;display:inline-block;white-space:nowrap;word-wrap:normal;direction:ltr;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility;font-feature-settings:"liga"}@font-face{font-family:Material Icons Outlined;font-style:normal;font-weight:400;font-display:block;src:url(material-icons-outlined.f86cb7b0aa53f0fe.woff2) format("woff2"),url(material-icons-outlined.78a93b2079680a08.woff) format("woff")}.material-icons-outlined{font-family:Material Icons Outlined;font-weight:400;font-style:normal;font-size:24px;line-height:1;letter-spacing:normal;text-transform:none;display:inline-block;white-space:nowrap;word-wrap:normal;direction:ltr;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility;font-feature-settings:"liga"}@font-face{font-family:Material Icons Round;font-style:normal;font-weight:400;font-display:block;src:url(material-icons-round.b10ec9db5b7fbc74.woff2) format("woff2"),url(material-icons-round.92dc7ca2f4c591e7.woff) format("woff")}.material-icons-round{font-family:Material Icons Round;font-weight:400;font-style:normal;font-size:24px;line-height:1;letter-spacing:normal;text-transform:none;display:inline-block;white-space:nowrap;word-wrap:normal;direction:ltr;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility;font-feature-settings:"liga"}@font-face{font-family:Material Icons Sharp;font-style:normal;font-weight:400;font-display:block;src:url(material-icons-sharp.3885863ee4746422.woff2) format("woff2"),url(material-icons-sharp.a71cb2bf66c604de.woff) format("woff")}.material-icons-sharp{font-family:Material Icons Sharp;font-weight:400;font-style:normal;font-size:24px;line-height:1;letter-spacing:normal;text-transform:none;display:inline-block;white-space:nowrap;word-wrap:normal;direction:ltr;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility;font-feature-settings:"liga"}@font-face{font-family:Material Icons Two Tone;font-style:normal;font-weight:400;font-display:block;src:url(material-icons-two-tone.675bd578bd14533e.woff2) format("woff2"),url(material-icons-two-tone.588d63134de807a7.woff) format("woff")}.material-icons-two-tone{font-family:Material Icons Two Tone;font-weight:400;font-style:normal;font-size:24px;line-height:1;letter-spacing:normal;text-transform:none;display:inline-block;white-space:nowrap;word-wrap:normal;direction:ltr;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility;font-feature-settings:"liga"}html{--mat-badge-text-font: Roboto, sans-serif;--mat-badge-text-size: 12px;--mat-badge-text-weight: 600;--mat-badge-small-size-text-size: 9px;--mat-badge-large-size-text-size: 24px}.mat-h1,.mat-headline-5,.mat-typography .mat-h1,.mat-typography .mat-headline-5,.mat-typography h1{font-size:24px;font-weight:400;line-height:32px;font-family:Roboto,sans-serif;letter-spacing:normal;margin:0 0 16px}.mat-h2,.mat-headline-6,.mat-typography .mat-h2,.mat-typography .mat-headline-6,.mat-typography h2{font-size:20px;font-weight:500;line-height:32px;font-family:Roboto,sans-serif;letter-spacing:.0125em;margin:0 0 16px}.mat-h3,.mat-subtitle-1,.mat-typography .mat-h3,.mat-typography .mat-subtitle-1,.mat-typography h3{font-size:16px;font-weight:400;line-height:28px;font-family:Roboto,sans-serif;letter-spacing:.009375em;margin:0 0 16px}.mat-h4,.mat-body-1,.mat-typography .mat-h4,.mat-typography .mat-body-1,.mat-typography h4{font-size:16px;font-weight:400;line-height:24px;font-family:Roboto,sans-serif;letter-spacing:.03125em;margin:0 0 16px}.mat-h5,.mat-typography .mat-h5,.mat-typography h5{font:400 11.62px/20px Roboto,sans-serif;margin:0 0 12px}.mat-h6,.mat-typography .mat-h6,.mat-typography h6{font:400 9.38px/20px Roboto,sans-serif;margin:0 0 12px}.mat-body-strong,.mat-subtitle-2,.mat-typography .mat-body-strong,.mat-typography .mat-subtitle-2{font-size:14px;font-weight:500;line-height:22px;font-family:Roboto,sans-serif;letter-spacing:.0071428571em}.mat-body,.mat-body-2,.mat-typography .mat-body,.mat-typography .mat-body-2,.mat-typography{font-size:14px;font-weight:400;line-height:20px;font-family:Roboto,sans-serif;letter-spacing:.0178571429em}.mat-body p,.mat-body-2 p,.mat-typography .mat-body p,.mat-typography .mat-body-2 p,.mat-typography p{margin:0 0 12px}.mat-small,.mat-caption,.mat-typography .mat-small,.mat-typography .mat-caption{font-size:12px;font-weight:400;line-height:20px;font-family:Roboto,sans-serif;letter-spacing:.0333333333em}.mat-headline-1,.mat-typography .mat-headline-1{font-size:96px;font-weight:300;line-height:96px;font-family:Roboto,sans-serif;letter-spacing:-.015625em;margin:0 0 56px}.mat-headline-2,.mat-typography .mat-headline-2{font-size:60px;font-weight:300;line-height:60px;font-family:Roboto,sans-serif;letter-spacing:-.0083333333em;margin:0 0 64px}.mat-headline-3,.mat-typography .mat-headline-3{font-size:48px;font-weight:400;line-height:50px;font-family:Roboto,sans-serif;letter-spacing:normal;margin:0 0 64px}.mat-headline-4,.mat-typography .mat-headline-4{font-size:34px;font-weight:400;line-height:40px;font-family:Roboto,sans-serif;letter-spacing:.0073529412em;margin:0 0 64px}html{--mat-bottom-sheet-container-text-font: Roboto, sans-serif;--mat-bottom-sheet-container-text-line-height: 20px;--mat-bottom-sheet-container-text-size: 14px;--mat-bottom-sheet-container-text-tracking: .0178571429em;--mat-bottom-sheet-container-text-weight: 400}html{--mat-legacy-button-toggle-text-font: Roboto, sans-serif;--mat-standard-button-toggle-text-font: Roboto, sans-serif}html{--mat-datepicker-calendar-text-font: Roboto, sans-serif;--mat-datepicker-calendar-text-size: 13px;--mat-datepicker-calendar-body-label-text-size: 14px;--mat-datepicker-calendar-body-label-text-weight: 500;--mat-datepicker-calendar-period-button-text-size: 14px;--mat-datepicker-calendar-period-button-text-weight: 500;--mat-datepicker-calendar-header-text-size: 11px;--mat-datepicker-calendar-header-text-weight: 400}html{--mat-expansion-header-text-font: Roboto, sans-serif;--mat-expansion-header-text-size: 14px;--mat-expansion-header-text-weight: 500;--mat-expansion-header-text-line-height: inherit;--mat-expansion-header-text-tracking: inherit;--mat-expansion-container-text-font: Roboto, sans-serif;--mat-expansion-container-text-line-height: 20px;--mat-expansion-container-text-size: 14px;--mat-expansion-container-text-tracking: .0178571429em;--mat-expansion-container-text-weight: 400}html{--mat-grid-list-tile-header-primary-text-size: 14px;--mat-grid-list-tile-header-secondary-text-size: 12px;--mat-grid-list-tile-footer-primary-text-size: 14px;--mat-grid-list-tile-footer-secondary-text-size: 12px}html{--mat-stepper-container-text-font: Roboto, sans-serif;--mat-stepper-header-label-text-font: Roboto, sans-serif;--mat-stepper-header-label-text-size: 14px;--mat-stepper-header-label-text-weight: 400;--mat-stepper-header-error-state-label-text-size: 16px;--mat-stepper-header-selected-state-label-text-size: 16px;--mat-stepper-header-selected-state-label-text-weight: 400}html{--mat-toolbar-title-text-font: Roboto, sans-serif;--mat-toolbar-title-text-line-height: 32px;--mat-toolbar-title-text-size: 20px;--mat-toolbar-title-text-tracking: .0125em;--mat-toolbar-title-text-weight: 500}.mat-tree{font-family:Roboto,sans-serif}.mat-tree-node,.mat-nested-tree-node{font-weight:400;font-size:14px}html{--mat-option-label-text-font: Roboto, sans-serif;--mat-option-label-text-line-height: 24px;--mat-option-label-text-size: 16px;--mat-option-label-text-tracking: .03125em;--mat-option-label-text-weight: 400}html{--mat-optgroup-label-text-font: Roboto, sans-serif;--mat-optgroup-label-text-line-height: 24px;--mat-optgroup-label-text-size: 16px;--mat-optgroup-label-text-tracking: .03125em;--mat-optgroup-label-text-weight: 400}.mat-mdc-card{--mat-card-title-text-font: Roboto, sans-serif;--mat-card-title-text-line-height: 32px;--mat-card-title-text-size: 20px;--mat-card-title-text-tracking: .0125em;--mat-card-title-text-weight: 500;--mat-card-subtitle-text-font: Roboto, sans-serif;--mat-card-subtitle-text-line-height: 22px;--mat-card-subtitle-text-size: 14px;--mat-card-subtitle-text-tracking: .0071428571em;--mat-card-subtitle-text-weight: 500}.mat-mdc-tooltip{--mdc-plain-tooltip-supporting-text-font: Roboto, sans-serif;--mdc-plain-tooltip-supporting-text-size: 12px;--mdc-plain-tooltip-supporting-text-weight: 400;--mdc-plain-tooltip-supporting-text-tracking: .0333333333em}html{--mdc-filled-text-field-label-text-font: Roboto, sans-serif;--mdc-filled-text-field-label-text-size: 16px;--mdc-filled-text-field-label-text-tracking: .03125em;--mdc-filled-text-field-label-text-weight: 400;--mdc-outlined-text-field-label-text-font: Roboto, sans-serif;--mdc-outlined-text-field-label-text-size: 16px;--mdc-outlined-text-field-label-text-tracking: .03125em;--mdc-outlined-text-field-label-text-weight: 400;--mat-form-field-container-text-font: Roboto, sans-serif;--mat-form-field-container-text-line-height: 24px;--mat-form-field-container-text-size: 16px;--mat-form-field-container-text-tracking: .03125em;--mat-form-field-container-text-weight: 400;--mat-form-field-outlined-label-text-populated-size: 16px;--mat-form-field-subscript-text-font: Roboto, sans-serif;--mat-form-field-subscript-text-line-height: 20px;--mat-form-field-subscript-text-size: 12px;--mat-form-field-subscript-text-tracking: .0333333333em;--mat-form-field-subscript-text-weight: 400}html{--mat-select-trigger-text-font: Roboto, sans-serif;--mat-select-trigger-text-line-height: 24px;--mat-select-trigger-text-size: 16px;--mat-select-trigger-text-tracking: .03125em;--mat-select-trigger-text-weight: 400}.mat-mdc-dialog-container{--mdc-dialog-subhead-font: Roboto, sans-serif;--mdc-dialog-subhead-line-height: 32px;--mdc-dialog-subhead-size: 20px;--mdc-dialog-subhead-weight: 500;--mdc-dialog-subhead-tracking: .0125em;--mdc-dialog-supporting-text-font: Roboto, sans-serif;--mdc-dialog-supporting-text-line-height: 24px;--mdc-dialog-supporting-text-size: 16px;--mdc-dialog-supporting-text-weight: 400;--mdc-dialog-supporting-text-tracking: .03125em}.mat-mdc-standard-chip{--mdc-chip-label-text-font: Roboto, sans-serif;--mdc-chip-label-text-line-height: 20px;--mdc-chip-label-text-size: 14px;--mdc-chip-label-text-tracking: .0178571429em;--mdc-chip-label-text-weight: 400}.mat-mdc-slide-toggle{--mat-slide-toggle-label-text-font: Roboto, sans-serif;--mat-slide-toggle-label-text-size: 14px;--mat-slide-toggle-label-text-tracking: .0178571429em;--mat-slide-toggle-label-text-line-height: 20px;--mat-slide-toggle-label-text-weight: 400}.mat-mdc-slide-toggle .mdc-form-field{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;font-family:Roboto,sans-serif;font-family:var(--mdc-typography-body2-font-family, var(--mdc-typography-font-family, Roboto, sans-serif));font-size:.875rem;font-size:var(--mdc-typography-body2-font-size, .875rem);line-height:1.25rem;line-height:var(--mdc-typography-body2-line-height, 1.25rem);font-weight:400;font-weight:var(--mdc-typography-body2-font-weight, 400);letter-spacing:.0178571429em;letter-spacing:var(--mdc-typography-body2-letter-spacing, .0178571429em);text-decoration:inherit;-webkit-text-decoration:var(--mdc-typography-body2-text-decoration, inherit);text-decoration:var(--mdc-typography-body2-text-decoration, inherit);text-transform:inherit;text-transform:var(--mdc-typography-body2-text-transform, inherit)}.mat-mdc-radio-button .mdc-form-field{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;font-family:var(--mdc-typography-body2-font-family, var(--mdc-typography-font-family, Roboto, sans-serif));font-size:var(--mdc-typography-body2-font-size, 14px);line-height:var(--mdc-typography-body2-line-height, 20px);font-weight:var(--mdc-typography-body2-font-weight, 400);letter-spacing:var(--mdc-typography-body2-letter-spacing, .0178571429em);-webkit-text-decoration:var(--mdc-typography-body2-text-decoration, inherit);text-decoration:var(--mdc-typography-body2-text-decoration, inherit);text-transform:var(--mdc-typography-body2-text-transform, none)}.mat-mdc-slider{--mdc-slider-label-label-text-font: Roboto, sans-serif;--mdc-slider-label-label-text-size: 14px;--mdc-slider-label-label-text-line-height: 22px;--mdc-slider-label-label-text-tracking: .0071428571em;--mdc-slider-label-label-text-weight: 500}html{--mat-menu-item-label-text-font: Roboto, sans-serif;--mat-menu-item-label-text-size: 16px;--mat-menu-item-label-text-tracking: .03125em;--mat-menu-item-label-text-line-height: 24px;--mat-menu-item-label-text-weight: 400}.mat-mdc-list-base{--mdc-list-list-item-label-text-font: Roboto, sans-serif;--mdc-list-list-item-label-text-line-height: 24px;--mdc-list-list-item-label-text-size: 16px;--mdc-list-list-item-label-text-tracking: .03125em;--mdc-list-list-item-label-text-weight: 400;--mdc-list-list-item-supporting-text-font: Roboto, sans-serif;--mdc-list-list-item-supporting-text-line-height: 20px;--mdc-list-list-item-supporting-text-size: 14px;--mdc-list-list-item-supporting-text-tracking: .0178571429em;--mdc-list-list-item-supporting-text-weight: 400;--mdc-list-list-item-trailing-supporting-text-font: Roboto, sans-serif;--mdc-list-list-item-trailing-supporting-text-line-height: 20px;--mdc-list-list-item-trailing-supporting-text-size: 12px;--mdc-list-list-item-trailing-supporting-text-tracking: .0333333333em;--mdc-list-list-item-trailing-supporting-text-weight: 400}.mdc-list-group__subheader{font-size:16px;font-weight:400;line-height:28px;font-family:Roboto,sans-serif;letter-spacing:.009375em}html{--mat-paginator-container-text-font: Roboto, sans-serif;--mat-paginator-container-text-line-height: 20px;--mat-paginator-container-text-size: 12px;--mat-paginator-container-text-tracking: .0333333333em;--mat-paginator-container-text-weight: 400;--mat-paginator-select-trigger-text-size: 12px}.mat-mdc-tab-header{--mat-tab-header-label-text-font: Roboto, sans-serif;--mat-tab-header-label-text-size: 14px;--mat-tab-header-label-text-tracking: .0892857143em;--mat-tab-header-label-text-line-height: 36px;--mat-tab-header-label-text-weight: 500}.mat-mdc-checkbox .mdc-form-field{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;font-family:var(--mdc-typography-body2-font-family, var(--mdc-typography-font-family, Roboto, sans-serif));font-size:var(--mdc-typography-body2-font-size, 14px);line-height:var(--mdc-typography-body2-line-height, 20px);font-weight:var(--mdc-typography-body2-font-weight, 400);letter-spacing:var(--mdc-typography-body2-letter-spacing, .0178571429em);-webkit-text-decoration:var(--mdc-typography-body2-text-decoration, inherit);text-decoration:var(--mdc-typography-body2-text-decoration, inherit);text-transform:var(--mdc-typography-body2-text-transform, none)}.mdc-button,.mdc-fab--extended{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;font-family:var(--mdc-typography-button-font-family, var(--mdc-typography-font-family, Roboto, sans-serif));font-size:var(--mdc-typography-button-font-size, 14px);line-height:var(--mdc-typography-button-line-height, 36px);font-weight:var(--mdc-typography-button-font-weight, 500);letter-spacing:var(--mdc-typography-button-letter-spacing, .0892857143em);-webkit-text-decoration:var(--mdc-typography-button-text-decoration, none);text-decoration:var(--mdc-typography-button-text-decoration, none);text-transform:var(--mdc-typography-button-text-transform, none)}.mat-mdc-extended-fab{--mdc-extended-fab-label-text-font: Roboto, sans-serif;--mdc-extended-fab-label-text-size: 14px;--mdc-extended-fab-label-text-tracking: .0892857143em;--mdc-extended-fab-label-text-weight: 500}.mat-mdc-snack-bar-container{--mdc-snackbar-supporting-text-font: Roboto, sans-serif;--mdc-snackbar-supporting-text-line-height: 20px;--mdc-snackbar-supporting-text-size: 14px;--mdc-snackbar-supporting-text-weight: 400}html{--mat-table-header-headline-font: Roboto, sans-serif;--mat-table-header-headline-line-height: 22px;--mat-table-header-headline-size: 14px;--mat-table-header-headline-weight: 500;--mat-table-header-headline-tracking: .0071428571em;--mat-table-row-item-label-text-font: Roboto, sans-serif;--mat-table-row-item-label-text-line-height: 20px;--mat-table-row-item-label-text-size: 14px;--mat-table-row-item-label-text-weight: 400;--mat-table-row-item-label-text-tracking: .0178571429em;--mat-table-footer-supporting-text-font: Roboto, sans-serif;--mat-table-footer-supporting-text-line-height: 20px;--mat-table-footer-supporting-text-size: 14px;--mat-table-footer-supporting-text-weight: 400;--mat-table-footer-supporting-text-tracking: .0178571429em}.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)}.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:rgba(0,0,0,.32)}.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-ripple-element{background-color:#0000001a}html{--mat-option-selected-state-label-text-color: #00bcd4;--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: #ff4081}.mat-warn{--mat-option-selected-state-label-text-color: #f44336}html{--mat-optgroup-label-text-color: rgba(0, 0, 0, .87)}.mat-pseudo-checkbox-full{color:#0000008a}.mat-pseudo-checkbox-full.mat-pseudo-checkbox-disabled{color:#b0b0b0}.mat-primary .mat-pseudo-checkbox-checked.mat-pseudo-checkbox-minimal:after,.mat-primary .mat-pseudo-checkbox-indeterminate.mat-pseudo-checkbox-minimal:after{color:#00bcd4}.mat-primary .mat-pseudo-checkbox-checked.mat-pseudo-checkbox-full,.mat-primary .mat-pseudo-checkbox-indeterminate.mat-pseudo-checkbox-full{background:#00bcd4}.mat-primary .mat-pseudo-checkbox-checked.mat-pseudo-checkbox-full:after,.mat-primary .mat-pseudo-checkbox-indeterminate.mat-pseudo-checkbox-full:after{color:#fafafa}.mat-pseudo-checkbox-checked.mat-pseudo-checkbox-minimal:after,.mat-pseudo-checkbox-indeterminate.mat-pseudo-checkbox-minimal:after{color:#ff4081}.mat-pseudo-checkbox-checked.mat-pseudo-checkbox-full,.mat-pseudo-checkbox-indeterminate.mat-pseudo-checkbox-full{background:#ff4081}.mat-pseudo-checkbox-checked.mat-pseudo-checkbox-full:after,.mat-pseudo-checkbox-indeterminate.mat-pseudo-checkbox-full:after{color:#fafafa}.mat-accent .mat-pseudo-checkbox-checked.mat-pseudo-checkbox-minimal:after,.mat-accent .mat-pseudo-checkbox-indeterminate.mat-pseudo-checkbox-minimal:after{color:#ff4081}.mat-accent .mat-pseudo-checkbox-checked.mat-pseudo-checkbox-full,.mat-accent .mat-pseudo-checkbox-indeterminate.mat-pseudo-checkbox-full{background:#ff4081}.mat-accent .mat-pseudo-checkbox-checked.mat-pseudo-checkbox-full:after,.mat-accent .mat-pseudo-checkbox-indeterminate.mat-pseudo-checkbox-full:after{color:#fafafa}.mat-warn .mat-pseudo-checkbox-checked.mat-pseudo-checkbox-minimal:after,.mat-warn .mat-pseudo-checkbox-indeterminate.mat-pseudo-checkbox-minimal:after{color:#f44336}.mat-warn .mat-pseudo-checkbox-checked.mat-pseudo-checkbox-full,.mat-warn .mat-pseudo-checkbox-indeterminate.mat-pseudo-checkbox-full{background:#f44336}.mat-warn .mat-pseudo-checkbox-checked.mat-pseudo-checkbox-full:after,.mat-warn .mat-pseudo-checkbox-indeterminate.mat-pseudo-checkbox-full:after{color:#fafafa}.mat-pseudo-checkbox-disabled.mat-pseudo-checkbox-checked.mat-pseudo-checkbox-minimal:after,.mat-pseudo-checkbox-disabled.mat-pseudo-checkbox-indeterminate.mat-pseudo-checkbox-minimal:after{color:#b0b0b0}.mat-pseudo-checkbox-disabled.mat-pseudo-checkbox-checked.mat-pseudo-checkbox-full,.mat-pseudo-checkbox-disabled.mat-pseudo-checkbox-indeterminate.mat-pseudo-checkbox-full{background:#b0b0b0}.mat-app-background{background-color:#fafafa;color:#000000de}.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}.mat-mdc-card{--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)}.mat-mdc-progress-bar{--mdc-linear-progress-active-indicator-color: #00bcd4;--mdc-linear-progress-track-color: rgba(0, 188, 212, .25)}.mat-mdc-progress-bar .mdc-linear-progress__buffer-dots{background-color:#00bcd440;background-color:var(--mdc-linear-progress-track-color, rgba(0, 188, 212, .25))}@media (forced-colors: active){.mat-mdc-progress-bar .mdc-linear-progress__buffer-dots{background-color:ButtonBorder}}@media all and (-ms-high-contrast: none),(-ms-high-contrast: active){.mat-mdc-progress-bar .mdc-linear-progress__buffer-dots{background-color:transparent;background-image:url("data:image/svg+xml,%3Csvg version='1.1' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' x='0px' y='0px' enable-background='new 0 0 5 2' xml:space='preserve' viewBox='0 0 5 2' preserveAspectRatio='none slice'%3E%3Ccircle cx='1' cy='1' r='1' fill='rgba(0, 188, 212, 0.25)'/%3E%3C/svg%3E")}}.mat-mdc-progress-bar .mdc-linear-progress__buffer-bar{background-color:#00bcd440;background-color:var(--mdc-linear-progress-track-color, rgba(0, 188, 212, .25))}.mat-mdc-progress-bar.mat-accent{--mdc-linear-progress-active-indicator-color: #ff4081;--mdc-linear-progress-track-color: rgba(255, 64, 129, .25)}.mat-mdc-progress-bar.mat-accent .mdc-linear-progress__buffer-dots{background-color:#ff408140;background-color:var(--mdc-linear-progress-track-color, rgba(255, 64, 129, .25))}@media (forced-colors: active){.mat-mdc-progress-bar.mat-accent .mdc-linear-progress__buffer-dots{background-color:ButtonBorder}}@media all and (-ms-high-contrast: none),(-ms-high-contrast: active){.mat-mdc-progress-bar.mat-accent .mdc-linear-progress__buffer-dots{background-color:transparent;background-image:url("data:image/svg+xml,%3Csvg version='1.1' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' x='0px' y='0px' enable-background='new 0 0 5 2' xml:space='preserve' viewBox='0 0 5 2' preserveAspectRatio='none slice'%3E%3Ccircle cx='1' cy='1' r='1' fill='rgba(255, 64, 129, 0.25)'/%3E%3C/svg%3E")}}.mat-mdc-progress-bar.mat-accent .mdc-linear-progress__buffer-bar{background-color:#ff408140;background-color:var(--mdc-linear-progress-track-color, rgba(255, 64, 129, .25))}.mat-mdc-progress-bar.mat-warn{--mdc-linear-progress-active-indicator-color: #f44336;--mdc-linear-progress-track-color: rgba(244, 67, 54, .25)}@keyframes mdc-linear-progress-buffering{}.mat-mdc-progress-bar.mat-warn .mdc-linear-progress__buffer-dots{background-color:#f4433640;background-color:var(--mdc-linear-progress-track-color, rgba(244, 67, 54, .25))}@media (forced-colors: active){.mat-mdc-progress-bar.mat-warn .mdc-linear-progress__buffer-dots{background-color:ButtonBorder}}@media all and (-ms-high-contrast: none),(-ms-high-contrast: active){.mat-mdc-progress-bar.mat-warn .mdc-linear-progress__buffer-dots{background-color:transparent;background-image:url("data:image/svg+xml,%3Csvg version='1.1' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' x='0px' y='0px' enable-background='new 0 0 5 2' xml:space='preserve' viewBox='0 0 5 2' preserveAspectRatio='none slice'%3E%3Ccircle cx='1' cy='1' r='1' fill='rgba(244, 67, 54, 0.25)'/%3E%3C/svg%3E")}}.mat-mdc-progress-bar.mat-warn .mdc-linear-progress__buffer-bar{background-color:#f4433640;background-color:var(--mdc-linear-progress-track-color, rgba(244, 67, 54, .25))}.mat-mdc-tooltip{--mdc-plain-tooltip-container-color: #616161;--mdc-plain-tooltip-supporting-text-color: #fff}html{--mdc-filled-text-field-caret-color: #00bcd4;--mdc-filled-text-field-focus-active-indicator-color: #00bcd4;--mdc-filled-text-field-focus-label-text-color: rgba(0, 188, 212, .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-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-focus-label-text-color: #f44336;--mdc-filled-text-field-error-label-text-color: #f44336;--mdc-filled-text-field-error-caret-color: #f44336;--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: #f44336;--mdc-filled-text-field-error-focus-active-indicator-color: #f44336;--mdc-filled-text-field-error-hover-active-indicator-color: #f44336;--mdc-outlined-text-field-caret-color: #00bcd4;--mdc-outlined-text-field-focus-outline-color: #00bcd4;--mdc-outlined-text-field-focus-label-text-color: rgba(0, 188, 212, .87);--mdc-outlined-text-field-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: #f44336;--mdc-outlined-text-field-error-focus-label-text-color: #f44336;--mdc-outlined-text-field-error-label-text-color: #f44336;--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: #f44336;--mdc-outlined-text-field-error-hover-outline-color: #f44336;--mdc-outlined-text-field-error-outline-color: #f44336;--mat-form-field-disabled-input-text-placeholder-color: rgba(0, 0, 0, .38)}.mat-mdc-form-field-error{color:var(--mdc-theme-error, #f44336)}.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{background-color:#000000de}.mat-mdc-form-field:hover .mat-mdc-form-field-focus-overlay{opacity:.04}.mat-mdc-form-field.mat-focused .mat-mdc-form-field-focus-overlay{opacity:.12}.mat-mdc-form-field-type-mat-native-select .mat-mdc-form-field-infix:after{color:#0000008a}.mat-mdc-form-field-type-mat-native-select.mat-focused.mat-primary .mat-mdc-form-field-infix:after{color:#00bcd4de}.mat-mdc-form-field-type-mat-native-select.mat-focused.mat-accent .mat-mdc-form-field-infix:after{color:#ff4081de}.mat-mdc-form-field-type-mat-native-select.mat-focused.mat-warn .mat-mdc-form-field-infix:after{color:#f44336de}.mat-mdc-form-field-type-mat-native-select.mat-form-field-disabled .mat-mdc-form-field-infix:after{color:#00000061}.mat-mdc-form-field.mat-accent{--mdc-filled-text-field-caret-color: #ff4081;--mdc-filled-text-field-focus-active-indicator-color: #ff4081;--mdc-filled-text-field-focus-label-text-color: rgba(255, 64, 129, .87);--mdc-outlined-text-field-caret-color: #ff4081;--mdc-outlined-text-field-focus-outline-color: #ff4081;--mdc-outlined-text-field-focus-label-text-color: rgba(255, 64, 129, .87)}.mat-mdc-form-field.mat-warn{--mdc-filled-text-field-caret-color: #f44336;--mdc-filled-text-field-focus-active-indicator-color: #f44336;--mdc-filled-text-field-focus-label-text-color: rgba(244, 67, 54, .87);--mdc-outlined-text-field-caret-color: #f44336;--mdc-outlined-text-field-focus-outline-color: #f44336;--mdc-outlined-text-field-focus-label-text-color: rgba(244, 67, 54, .87)}.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 transparent}[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 transparent}.mat-mdc-form-field-infix{min-height:56px}.mat-mdc-text-field-wrapper .mat-mdc-form-field-flex .mat-mdc-floating-label{top:28px}.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( -34.75px) scale(var(--mat-mdc-form-field-floating-label-scale, .75));transform:var(--mat-mdc-form-field-label-transform)}.mat-mdc-text-field-wrapper.mdc-text-field--outlined .mat-mdc-form-field-infix{padding-top:16px;padding-bottom:16px}.mat-mdc-text-field-wrapper:not(.mdc-text-field--outlined) .mat-mdc-form-field-infix{padding-top:24px;padding-bottom:8px}.mdc-text-field--no-label:not(.mdc-text-field--outlined):not(.mdc-text-field--textarea) .mat-mdc-form-field-infix{padding-top:16px;padding-bottom:16px}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(0, 188, 212, .87);--mat-select-invalid-arrow-color: rgba(244, 67, 54, .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(255, 64, 129, .87);--mat-select-invalid-arrow-color: rgba(244, 67, 54, .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(244, 67, 54, .87);--mat-select-invalid-arrow-color: rgba(244, 67, 54, .87)}html{--mat-autocomplete-background-color: white}.mat-mdc-dialog-container{--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-disabled-label-text-color: #212121;--mdc-chip-elevated-container-color: #e0e0e0;--mdc-chip-elevated-disabled-container-color: #e0e0e0;--mdc-chip-focus-state-layer-color: black;--mdc-chip-focus-state-layer-opacity: .12;--mdc-chip-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-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: white;--mdc-chip-elevated-container-color: #00bcd4;--mdc-chip-elevated-disabled-container-color: #00bcd4;--mdc-chip-focus-state-layer-color: black;--mdc-chip-focus-state-layer-opacity: .12;--mdc-chip-label-text-color: white;--mdc-chip-with-icon-icon-color: white;--mdc-chip-with-icon-disabled-icon-color: white;--mdc-chip-with-icon-selected-icon-color: white;--mdc-chip-with-trailing-icon-disabled-trailing-icon-color: white;--mdc-chip-with-trailing-icon-trailing-icon-color: white}.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: white;--mdc-chip-elevated-container-color: #ff4081;--mdc-chip-elevated-disabled-container-color: #ff4081;--mdc-chip-focus-state-layer-color: black;--mdc-chip-focus-state-layer-opacity: .12;--mdc-chip-label-text-color: white;--mdc-chip-with-icon-icon-color: white;--mdc-chip-with-icon-disabled-icon-color: white;--mdc-chip-with-icon-selected-icon-color: white;--mdc-chip-with-trailing-icon-disabled-trailing-icon-color: white;--mdc-chip-with-trailing-icon-trailing-icon-color: white}.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: white;--mdc-chip-elevated-container-color: #f44336;--mdc-chip-elevated-disabled-container-color: #f44336;--mdc-chip-focus-state-layer-color: black;--mdc-chip-focus-state-layer-opacity: .12;--mdc-chip-label-text-color: white;--mdc-chip-with-icon-icon-color: white;--mdc-chip-with-icon-disabled-icon-color: white;--mdc-chip-with-icon-selected-icon-color: white;--mdc-chip-with-trailing-icon-disabled-trailing-icon-color: white;--mdc-chip-with-trailing-icon-trailing-icon-color: white}.mat-mdc-chip.mat-mdc-standard-chip{--mdc-chip-container-height: 32px}.mat-mdc-slide-toggle{--mdc-switch-selected-focus-state-layer-color: #00acc1;--mdc-switch-selected-handle-color: #00acc1;--mdc-switch-selected-hover-state-layer-color: #00acc1;--mdc-switch-selected-pressed-state-layer-color: #00acc1;--mdc-switch-selected-focus-handle-color: #006064;--mdc-switch-selected-hover-handle-color: #006064;--mdc-switch-selected-pressed-handle-color: #006064;--mdc-switch-selected-focus-track-color: #4dd0e1;--mdc-switch-selected-hover-track-color: #4dd0e1;--mdc-switch-selected-pressed-track-color: #4dd0e1;--mdc-switch-selected-track-color: #4dd0e1;--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}.mat-mdc-slide-toggle .mdc-form-field{color:var(--mdc-theme-text-primary-on-background, rgba(0, 0, 0, .87))}.mat-mdc-slide-toggle .mdc-switch--disabled+label{color:#00000061}.mat-mdc-slide-toggle.mat-accent{--mdc-switch-selected-focus-state-layer-color: #d81b60;--mdc-switch-selected-handle-color: #d81b60;--mdc-switch-selected-hover-state-layer-color: #d81b60;--mdc-switch-selected-pressed-state-layer-color: #d81b60;--mdc-switch-selected-focus-handle-color: #880e4f;--mdc-switch-selected-hover-handle-color: #880e4f;--mdc-switch-selected-pressed-handle-color: #880e4f;--mdc-switch-selected-focus-track-color: #f06292;--mdc-switch-selected-hover-track-color: #f06292;--mdc-switch-selected-pressed-track-color: #f06292;--mdc-switch-selected-track-color: #f06292}.mat-mdc-slide-toggle.mat-warn{--mdc-switch-selected-focus-state-layer-color: #e53935;--mdc-switch-selected-handle-color: #e53935;--mdc-switch-selected-hover-state-layer-color: #e53935;--mdc-switch-selected-pressed-state-layer-color: #e53935;--mdc-switch-selected-focus-handle-color: #b71c1c;--mdc-switch-selected-hover-handle-color: #b71c1c;--mdc-switch-selected-pressed-handle-color: #b71c1c;--mdc-switch-selected-focus-track-color: #e57373;--mdc-switch-selected-hover-track-color: #e57373;--mdc-switch-selected-pressed-track-color: #e57373;--mdc-switch-selected-track-color: #e57373}.mat-mdc-slide-toggle{--mdc-switch-state-layer-size: 48px}.mat-mdc-radio-button .mdc-form-field{color:var(--mdc-theme-text-primary-on-background, rgba(0, 0, 0, .87))}.mat-mdc-radio-button.mat-primary{--mdc-radio-disabled-selected-icon-color: #000;--mdc-radio-disabled-unselected-icon-color: #000;--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: #00bcd4;--mdc-radio-selected-hover-icon-color: #00bcd4;--mdc-radio-selected-icon-color: #00bcd4;--mdc-radio-selected-pressed-icon-color: #00bcd4;--mat-radio-ripple-color: #000;--mat-radio-checked-ripple-color: #00bcd4;--mat-radio-disabled-label-color: rgba(0, 0, 0, .38)}.mat-mdc-radio-button.mat-accent{--mdc-radio-disabled-selected-icon-color: #000;--mdc-radio-disabled-unselected-icon-color: #000;--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: #ff4081;--mdc-radio-selected-hover-icon-color: #ff4081;--mdc-radio-selected-icon-color: #ff4081;--mdc-radio-selected-pressed-icon-color: #ff4081;--mat-radio-ripple-color: #000;--mat-radio-checked-ripple-color: #ff4081;--mat-radio-disabled-label-color: rgba(0, 0, 0, .38)}.mat-mdc-radio-button.mat-warn{--mdc-radio-disabled-selected-icon-color: #000;--mdc-radio-disabled-unselected-icon-color: #000;--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: #f44336;--mdc-radio-selected-hover-icon-color: #f44336;--mdc-radio-selected-icon-color: #f44336;--mdc-radio-selected-pressed-icon-color: #f44336;--mat-radio-ripple-color: #000;--mat-radio-checked-ripple-color: #f44336;--mat-radio-disabled-label-color: rgba(0, 0, 0, .38)}.mat-mdc-radio-button .mdc-radio{--mdc-radio-state-layer-size: 40px}.mat-mdc-slider{--mdc-slider-label-container-color: black;--mdc-slider-label-label-text-color: white;--mdc-slider-disabled-handle-color: #000;--mdc-slider-disabled-active-track-color: #000;--mdc-slider-disabled-inactive-track-color: #000;--mdc-slider-with-tick-marks-disabled-container-color: #000;--mat-mdc-slider-value-indicator-opacity: .6}.mat-mdc-slider.mat-primary{--mdc-slider-handle-color: #00bcd4;--mdc-slider-focus-handle-color: #00bcd4;--mdc-slider-hover-handle-color: #00bcd4;--mdc-slider-active-track-color: #00bcd4;--mdc-slider-inactive-track-color: #00bcd4;--mdc-slider-with-tick-marks-active-container-color: #000;--mdc-slider-with-tick-marks-inactive-container-color: #00bcd4;--mat-mdc-slider-ripple-color: #00bcd4;--mat-mdc-slider-hover-ripple-color: rgba(0, 188, 212, .05);--mat-mdc-slider-focus-ripple-color: rgba(0, 188, 212, .2)}.mat-mdc-slider.mat-accent{--mdc-slider-handle-color: #ff4081;--mdc-slider-focus-handle-color: #ff4081;--mdc-slider-hover-handle-color: #ff4081;--mdc-slider-active-track-color: #ff4081;--mdc-slider-inactive-track-color: #ff4081;--mdc-slider-with-tick-marks-active-container-color: #fff;--mdc-slider-with-tick-marks-inactive-container-color: #ff4081;--mat-mdc-slider-ripple-color: #ff4081;--mat-mdc-slider-hover-ripple-color: rgba(255, 64, 129, .05);--mat-mdc-slider-focus-ripple-color: rgba(255, 64, 129, .2)}.mat-mdc-slider.mat-warn{--mdc-slider-handle-color: #f44336;--mdc-slider-focus-handle-color: #f44336;--mdc-slider-hover-handle-color: #f44336;--mdc-slider-active-track-color: #f44336;--mdc-slider-inactive-track-color: #f44336;--mdc-slider-with-tick-marks-active-container-color: #fff;--mdc-slider-with-tick-marks-inactive-container-color: #f44336;--mat-mdc-slider-ripple-color: #f44336;--mat-mdc-slider-hover-ripple-color: rgba(244, 67, 54, .05);--mat-mdc-slider-focus-ripple-color: rgba(244, 67, 54, .2)}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-mdc-list-base{--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: #000;--mdc-radio-disabled-unselected-icon-color: #000;--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: #00bcd4;--mdc-radio-selected-hover-icon-color: #00bcd4;--mdc-radio-selected-icon-color: #00bcd4;--mdc-radio-selected-pressed-icon-color: #00bcd4}.mat-accent .mdc-list-item__start,.mat-accent .mdc-list-item__end{--mdc-radio-disabled-selected-icon-color: #000;--mdc-radio-disabled-unselected-icon-color: #000;--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: #ff4081;--mdc-radio-selected-hover-icon-color: #ff4081;--mdc-radio-selected-icon-color: #ff4081;--mdc-radio-selected-pressed-icon-color: #ff4081}.mat-warn .mdc-list-item__start,.mat-warn .mdc-list-item__end{--mdc-radio-disabled-selected-icon-color: #000;--mdc-radio-disabled-unselected-icon-color: #000;--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: #f44336;--mdc-radio-selected-hover-icon-color: #f44336;--mdc-radio-selected-icon-color: #f44336;--mdc-radio-selected-pressed-icon-color: #f44336}.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: #000;--mdc-checkbox-selected-focus-icon-color: #00bcd4;--mdc-checkbox-selected-hover-icon-color: #00bcd4;--mdc-checkbox-selected-icon-color: #00bcd4;--mdc-checkbox-selected-pressed-icon-color: #00bcd4;--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: #00bcd4;--mdc-checkbox-selected-hover-state-layer-color: #00bcd4;--mdc-checkbox-selected-pressed-state-layer-color: #00bcd4;--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: #fff;--mdc-checkbox-selected-focus-icon-color: #ff4081;--mdc-checkbox-selected-hover-icon-color: #ff4081;--mdc-checkbox-selected-icon-color: #ff4081;--mdc-checkbox-selected-pressed-icon-color: #ff4081;--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: #ff4081;--mdc-checkbox-selected-hover-state-layer-color: #ff4081;--mdc-checkbox-selected-pressed-state-layer-color: #ff4081;--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: #fff;--mdc-checkbox-selected-focus-icon-color: #f44336;--mdc-checkbox-selected-hover-icon-color: #f44336;--mdc-checkbox-selected-icon-color: #f44336;--mdc-checkbox-selected-pressed-icon-color: #f44336;--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: #f44336;--mdc-checkbox-selected-hover-state-layer-color: #f44336;--mdc-checkbox-selected-pressed-state-layer-color: #f44336;--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:#00bcd4}.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}.mat-mdc-list-base{--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-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-mdc-paginator .mat-mdc-form-field-infix{min-height:40px}.mat-mdc-paginator .mat-mdc-text-field-wrapper .mat-mdc-form-field-flex .mat-mdc-floating-label{top:20px}.mat-mdc-paginator .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( -26.75px) scale(var(--mat-mdc-form-field-floating-label-scale, .75));transform:var(--mat-mdc-form-field-label-transform)}.mat-mdc-paginator .mat-mdc-text-field-wrapper.mdc-text-field--outlined .mat-mdc-form-field-infix{padding-top:8px;padding-bottom:8px}.mat-mdc-paginator .mat-mdc-text-field-wrapper:not(.mdc-text-field--outlined) .mat-mdc-form-field-infix{padding-top:8px;padding-bottom:8px}.mat-mdc-paginator .mdc-text-field--no-label:not(.mdc-text-field--outlined):not(.mdc-text-field--textarea) .mat-mdc-form-field-infix{padding-top:8px;padding-bottom:8px}.mat-mdc-paginator .mat-mdc-text-field-wrapper:not(.mdc-text-field--outlined) .mat-mdc-floating-label{display:none}.mat-mdc-tab-group,.mat-mdc-tab-nav-bar{--mdc-tab-indicator-active-indicator-color: #00bcd4;--mat-tab-header-disabled-ripple-color: rgba(0, 0, 0, .38);--mat-tab-header-pagination-icon-color: #000;--mat-tab-header-inactive-label-text-color: rgba(0, 0, 0, .6);--mat-tab-header-active-label-text-color: #00bcd4;--mat-tab-header-active-ripple-color: #00bcd4;--mat-tab-header-inactive-ripple-color: #00bcd4;--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: #00bcd4;--mat-tab-header-active-hover-label-text-color: #00bcd4;--mat-tab-header-active-focus-indicator-color: #00bcd4;--mat-tab-header-active-hover-indicator-color: #00bcd4}.mat-mdc-tab-group.mat-accent,.mat-mdc-tab-nav-bar.mat-accent{--mdc-tab-indicator-active-indicator-color: #ff4081;--mat-tab-header-disabled-ripple-color: rgba(0, 0, 0, .38);--mat-tab-header-pagination-icon-color: #000;--mat-tab-header-inactive-label-text-color: rgba(0, 0, 0, .6);--mat-tab-header-active-label-text-color: #ff4081;--mat-tab-header-active-ripple-color: #ff4081;--mat-tab-header-inactive-ripple-color: #ff4081;--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: #ff4081;--mat-tab-header-active-hover-label-text-color: #ff4081;--mat-tab-header-active-focus-indicator-color: #ff4081;--mat-tab-header-active-hover-indicator-color: #ff4081}.mat-mdc-tab-group.mat-warn,.mat-mdc-tab-nav-bar.mat-warn{--mdc-tab-indicator-active-indicator-color: #f44336;--mat-tab-header-disabled-ripple-color: rgba(0, 0, 0, .38);--mat-tab-header-pagination-icon-color: #000;--mat-tab-header-inactive-label-text-color: rgba(0, 0, 0, .6);--mat-tab-header-active-label-text-color: #f44336;--mat-tab-header-active-ripple-color: #f44336;--mat-tab-header-inactive-ripple-color: #f44336;--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: #f44336;--mat-tab-header-active-hover-label-text-color: #f44336;--mat-tab-header-active-focus-indicator-color: #f44336;--mat-tab-header-active-hover-indicator-color: #f44336}.mat-mdc-tab-group.mat-background-primary,.mat-mdc-tab-nav-bar.mat-background-primary{--mat-tab-header-with-background-background-color: #00bcd4;--mat-tab-header-with-background-foreground-color: white}.mat-mdc-tab-group.mat-background-accent,.mat-mdc-tab-nav-bar.mat-background-accent{--mat-tab-header-with-background-background-color: #ff4081;--mat-tab-header-with-background-foreground-color: white}.mat-mdc-tab-group.mat-background-warn,.mat-mdc-tab-nav-bar.mat-background-warn{--mat-tab-header-with-background-background-color: #f44336;--mat-tab-header-with-background-foreground-color: white}.mat-mdc-tab-header{--mdc-secondary-navigation-tab-container-height: 48px}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: #fff;--mdc-checkbox-selected-focus-icon-color: #ff4081;--mdc-checkbox-selected-hover-icon-color: #ff4081;--mdc-checkbox-selected-icon-color: #ff4081;--mdc-checkbox-selected-pressed-icon-color: #ff4081;--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: #ff4081;--mdc-checkbox-selected-hover-state-layer-color: #ff4081;--mdc-checkbox-selected-pressed-state-layer-color: #ff4081;--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-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: #000;--mdc-checkbox-selected-focus-icon-color: #00bcd4;--mdc-checkbox-selected-hover-icon-color: #00bcd4;--mdc-checkbox-selected-icon-color: #00bcd4;--mdc-checkbox-selected-pressed-icon-color: #00bcd4;--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: #00bcd4;--mdc-checkbox-selected-hover-state-layer-color: #00bcd4;--mdc-checkbox-selected-pressed-state-layer-color: #00bcd4;--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: #fff;--mdc-checkbox-selected-focus-icon-color: #f44336;--mdc-checkbox-selected-hover-icon-color: #f44336;--mdc-checkbox-selected-icon-color: #f44336;--mdc-checkbox-selected-pressed-icon-color: #f44336;--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: #f44336;--mdc-checkbox-selected-hover-state-layer-color: #f44336;--mdc-checkbox-selected-pressed-state-layer-color: #f44336;--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 .mdc-form-field{color:var(--mdc-theme-text-primary-on-background, rgba(0, 0, 0, .87))}.mat-mdc-checkbox.mat-mdc-checkbox-disabled label{color:#00000061}html{--mdc-checkbox-state-layer-size: 40px}.mat-mdc-button.mat-unthemed{--mdc-text-button-label-text-color: #000}.mat-mdc-button.mat-primary{--mdc-text-button-label-text-color: #00bcd4}.mat-mdc-button.mat-accent{--mdc-text-button-label-text-color: #ff4081}.mat-mdc-button.mat-warn{--mdc-text-button-label-text-color: #f44336}.mat-mdc-button[disabled][disabled]{--mdc-text-button-disabled-label-text-color: rgba(0, 0, 0, .38);--mdc-text-button-label-text-color: rgba(0, 0, 0, .38)}.mat-mdc-unelevated-button.mat-unthemed{--mdc-filled-button-container-color: #fff;--mdc-filled-button-label-text-color: #000}.mat-mdc-unelevated-button.mat-primary{--mdc-filled-button-container-color: #00bcd4;--mdc-filled-button-label-text-color: #000}.mat-mdc-unelevated-button.mat-accent{--mdc-filled-button-container-color: #ff4081;--mdc-filled-button-label-text-color: #fff}.mat-mdc-unelevated-button.mat-warn{--mdc-filled-button-container-color: #f44336;--mdc-filled-button-label-text-color: #fff}.mat-mdc-unelevated-button[disabled][disabled]{--mdc-filled-button-disabled-container-color: rgba(0, 0, 0, .12);--mdc-filled-button-disabled-label-text-color: rgba(0, 0, 0, .38);--mdc-filled-button-container-color: rgba(0, 0, 0, .12);--mdc-filled-button-label-text-color: rgba(0, 0, 0, .38)}.mat-mdc-raised-button.mat-unthemed{--mdc-protected-button-container-color: #fff;--mdc-protected-button-label-text-color: #000}.mat-mdc-raised-button.mat-primary{--mdc-protected-button-container-color: #00bcd4;--mdc-protected-button-label-text-color: #000}.mat-mdc-raised-button.mat-accent{--mdc-protected-button-container-color: #ff4081;--mdc-protected-button-label-text-color: #fff}.mat-mdc-raised-button.mat-warn{--mdc-protected-button-container-color: #f44336;--mdc-protected-button-label-text-color: #fff}.mat-mdc-raised-button[disabled][disabled]{--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-color: rgba(0, 0, 0, .12);--mdc-protected-button-label-text-color: rgba(0, 0, 0, .38);--mdc-protected-button-container-elevation: 0}.mat-mdc-outlined-button{--mdc-outlined-button-outline-color: rgba(0, 0, 0, .12)}.mat-mdc-outlined-button.mat-unthemed{--mdc-outlined-button-label-text-color: #000}.mat-mdc-outlined-button.mat-primary{--mdc-outlined-button-label-text-color: #00bcd4}.mat-mdc-outlined-button.mat-accent{--mdc-outlined-button-label-text-color: #ff4081}.mat-mdc-outlined-button.mat-warn{--mdc-outlined-button-label-text-color: #f44336}.mat-mdc-outlined-button[disabled][disabled]{--mdc-outlined-button-label-text-color: rgba(0, 0, 0, .38);--mdc-outlined-button-disabled-label-text-color: rgba(0, 0, 0, .38);--mdc-outlined-button-outline-color: rgba(0, 0, 0, .12);--mdc-outlined-button-disabled-outline-color: rgba(0, 0, 0, .12)}.mat-mdc-button,.mat-mdc-outlined-button{--mat-mdc-button-persistent-ripple-color: #000;--mat-mdc-button-ripple-color: rgba(0, 0, 0, .1)}.mat-mdc-button:hover .mat-mdc-button-persistent-ripple:before,.mat-mdc-outlined-button:hover .mat-mdc-button-persistent-ripple:before{opacity:.04}.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-outlined-button.cdk-program-focused .mat-mdc-button-persistent-ripple:before,.mat-mdc-outlined-button.cdk-keyboard-focused .mat-mdc-button-persistent-ripple:before{opacity:.12}.mat-mdc-button:active .mat-mdc-button-persistent-ripple:before,.mat-mdc-outlined-button:active .mat-mdc-button-persistent-ripple:before{opacity:.12}.mat-mdc-button.mat-primary,.mat-mdc-outlined-button.mat-primary{--mat-mdc-button-persistent-ripple-color: #00bcd4;--mat-mdc-button-ripple-color: rgba(0, 188, 212, .1)}.mat-mdc-button.mat-accent,.mat-mdc-outlined-button.mat-accent{--mat-mdc-button-persistent-ripple-color: #ff4081;--mat-mdc-button-ripple-color: rgba(255, 64, 129, .1)}.mat-mdc-button.mat-warn,.mat-mdc-outlined-button.mat-warn{--mat-mdc-button-persistent-ripple-color: #f44336;--mat-mdc-button-ripple-color: rgba(244, 67, 54, .1)}.mat-mdc-raised-button,.mat-mdc-unelevated-button{--mat-mdc-button-persistent-ripple-color: #000;--mat-mdc-button-ripple-color: rgba(0, 0, 0, .1)}.mat-mdc-raised-button:hover .mat-mdc-button-persistent-ripple:before,.mat-mdc-unelevated-button:hover .mat-mdc-button-persistent-ripple:before{opacity:.04}.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-unelevated-button.cdk-program-focused .mat-mdc-button-persistent-ripple:before,.mat-mdc-unelevated-button.cdk-keyboard-focused .mat-mdc-button-persistent-ripple:before{opacity:.12}.mat-mdc-raised-button:active .mat-mdc-button-persistent-ripple:before,.mat-mdc-unelevated-button:active .mat-mdc-button-persistent-ripple:before{opacity:.12}.mat-mdc-raised-button.mat-primary,.mat-mdc-unelevated-button.mat-primary{--mat-mdc-button-persistent-ripple-color: #000;--mat-mdc-button-ripple-color: rgba(0, 0, 0, .1)}.mat-mdc-raised-button.mat-accent,.mat-mdc-unelevated-button.mat-accent,.mat-mdc-raised-button.mat-warn,.mat-mdc-unelevated-button.mat-warn{--mat-mdc-button-persistent-ripple-color: #fff;--mat-mdc-button-ripple-color: rgba(255, 255, 255, .1)}.mat-mdc-button.mat-mdc-button-base,.mat-mdc-raised-button.mat-mdc-button-base,.mat-mdc-unelevated-button.mat-mdc-button-base,.mat-mdc-outlined-button.mat-mdc-button-base{height:36px}.mat-mdc-icon-button{--mdc-icon-button-icon-color: inherit;--mat-mdc-button-persistent-ripple-color: #000;--mat-mdc-button-ripple-color: rgba(0, 0, 0, .1)}.mat-mdc-icon-button:hover .mat-mdc-button-persistent-ripple:before{opacity:.04}.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{opacity:.12}.mat-mdc-icon-button:active .mat-mdc-button-persistent-ripple:before{opacity:.12}.mat-mdc-icon-button.mat-primary{--mat-mdc-button-persistent-ripple-color: #6200ee;--mat-mdc-button-ripple-color: rgba(98, 0, 238, .1)}.mat-mdc-icon-button.mat-accent{--mat-mdc-button-persistent-ripple-color: #018786;--mat-mdc-button-ripple-color: rgba(1, 135, 134, .1)}.mat-mdc-icon-button.mat-warn{--mat-mdc-button-persistent-ripple-color: #b00020;--mat-mdc-button-ripple-color: rgba(176, 0, 32, .1)}.mat-mdc-icon-button.mat-primary{--mdc-icon-button-icon-color: #00bcd4;--mat-mdc-button-persistent-ripple-color: #00bcd4;--mat-mdc-button-ripple-color: rgba(0, 188, 212, .1)}.mat-mdc-icon-button.mat-accent{--mdc-icon-button-icon-color: #ff4081;--mat-mdc-button-persistent-ripple-color: #ff4081;--mat-mdc-button-ripple-color: rgba(255, 64, 129, .1)}.mat-mdc-icon-button.mat-warn{--mdc-icon-button-icon-color: #f44336;--mat-mdc-button-persistent-ripple-color: #f44336;--mat-mdc-button-ripple-color: rgba(244, 67, 54, .1)}.mat-mdc-icon-button[disabled][disabled]{--mdc-icon-button-icon-color: rgba(0, 0, 0, .38);--mdc-icon-button-disabled-icon-color: rgba(0, 0, 0, .38)}.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}.mat-mdc-fab,.mat-mdc-mini-fab{--mat-mdc-button-persistent-ripple-color: #000;--mat-mdc-button-ripple-color: rgba(0, 0, 0, .1)}.mat-mdc-fab:hover .mat-mdc-button-persistent-ripple:before,.mat-mdc-mini-fab:hover .mat-mdc-button-persistent-ripple:before{opacity:.04}.mat-mdc-fab.cdk-program-focused .mat-mdc-button-persistent-ripple:before,.mat-mdc-fab.cdk-keyboard-focused .mat-mdc-button-persistent-ripple:before,.mat-mdc-mini-fab.cdk-program-focused .mat-mdc-button-persistent-ripple:before,.mat-mdc-mini-fab.cdk-keyboard-focused .mat-mdc-button-persistent-ripple:before{opacity:.12}.mat-mdc-fab:active .mat-mdc-button-persistent-ripple:before,.mat-mdc-mini-fab:active .mat-mdc-button-persistent-ripple:before{opacity:.12}.mat-mdc-fab.mat-primary,.mat-mdc-mini-fab.mat-primary{--mat-mdc-button-persistent-ripple-color: #000;--mat-mdc-button-ripple-color: rgba(0, 0, 0, .1)}.mat-mdc-fab.mat-accent,.mat-mdc-mini-fab.mat-accent,.mat-mdc-fab.mat-warn,.mat-mdc-mini-fab.mat-warn{--mat-mdc-button-persistent-ripple-color: #fff;--mat-mdc-button-ripple-color: rgba(255, 255, 255, .1)}.mat-mdc-fab[disabled][disabled],.mat-mdc-mini-fab[disabled][disabled]{--mdc-fab-container-color: rgba(0, 0, 0, .12);--mdc-fab-icon-color: rgba(0, 0, 0, .38);--mat-mdc-fab-color: rgba(0, 0, 0, .38)}.mat-mdc-fab.mat-unthemed,.mat-mdc-mini-fab.mat-unthemed{--mdc-fab-container-color: white;--mdc-fab-icon-color: black;--mat-mdc-fab-color: #000}.mat-mdc-fab.mat-primary,.mat-mdc-mini-fab.mat-primary{--mdc-fab-container-color: #00bcd4;--mdc-fab-icon-color: black;--mat-mdc-fab-color: #000}.mat-mdc-fab.mat-accent,.mat-mdc-mini-fab.mat-accent{--mdc-fab-container-color: #ff4081;--mdc-fab-icon-color: white;--mat-mdc-fab-color: #fff}.mat-mdc-fab.mat-warn,.mat-mdc-mini-fab.mat-warn{--mdc-fab-container-color: #f44336;--mdc-fab-icon-color: white;--mat-mdc-fab-color: #fff}.mat-mdc-snack-bar-container{--mdc-snackbar-container-color: #333333;--mdc-snackbar-supporting-text-color: rgba(255, 255, 255, .87);--mat-snack-bar-button-color: #ff4081}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}.mat-mdc-progress-spinner{--mdc-circular-progress-active-indicator-color: #00bcd4}.mat-mdc-progress-spinner.mat-accent{--mdc-circular-progress-active-indicator-color: #ff4081}.mat-mdc-progress-spinner.mat-warn{--mdc-circular-progress-active-indicator-color: #f44336}.mat-badge{position:relative}.mat-badge.mat-badge{overflow:visible}.mat-badge-content{position:absolute;text-align:center;display:inline-block;border-radius:50%;transition:transform .2s ease-in-out;transform:scale(.6);overflow:hidden;white-space:nowrap;text-overflow:ellipsis;pointer-events:none;background-color:var(--mat-badge-background-color);color:var(--mat-badge-text-color);font-family:Roboto,sans-serif;font-family:var(--mat-badge-text-font, Roboto, sans-serif);font-size:12px;font-size:var(--mat-badge-text-size, 12px);font-weight:600;font-weight:var(--mat-badge-text-weight, 600)}.cdk-high-contrast-active .mat-badge-content{outline:solid 1px;border-radius:0}.mat-badge-disabled .mat-badge-content{background-color:var(--mat-badge-disabled-state-background-color);color:var(--mat-badge-disabled-state-text-color)}.mat-badge-hidden .mat-badge-content{display:none}.ng-animate-disabled .mat-badge-content,.mat-badge-content._mat-animation-noopable{transition:none}.mat-badge-content.mat-badge-active{transform:none}.mat-badge-small .mat-badge-content{width:16px;height:16px;line-height:16px;font-size:9px;font-size:var(--mat-badge-small-size-text-size, 9px)}.mat-badge-small.mat-badge-above .mat-badge-content{top:-8px}.mat-badge-small.mat-badge-below .mat-badge-content{bottom:-8px}.mat-badge-small.mat-badge-before .mat-badge-content{left:-16px}[dir=rtl] .mat-badge-small.mat-badge-before .mat-badge-content{left:auto;right:-16px}.mat-badge-small.mat-badge-after .mat-badge-content{right:-16px}[dir=rtl] .mat-badge-small.mat-badge-after .mat-badge-content{right:auto;left:-16px}.mat-badge-small.mat-badge-overlap.mat-badge-before .mat-badge-content{left:-8px}[dir=rtl] .mat-badge-small.mat-badge-overlap.mat-badge-before .mat-badge-content{left:auto;right:-8px}.mat-badge-small.mat-badge-overlap.mat-badge-after .mat-badge-content{right:-8px}[dir=rtl] .mat-badge-small.mat-badge-overlap.mat-badge-after .mat-badge-content{right:auto;left:-8px}.mat-badge-medium .mat-badge-content{width:22px;height:22px;line-height:22px}.mat-badge-medium.mat-badge-above .mat-badge-content{top:-11px}.mat-badge-medium.mat-badge-below .mat-badge-content{bottom:-11px}.mat-badge-medium.mat-badge-before .mat-badge-content{left:-22px}[dir=rtl] .mat-badge-medium.mat-badge-before .mat-badge-content{left:auto;right:-22px}.mat-badge-medium.mat-badge-after .mat-badge-content{right:-22px}[dir=rtl] .mat-badge-medium.mat-badge-after .mat-badge-content{right:auto;left:-22px}.mat-badge-medium.mat-badge-overlap.mat-badge-before .mat-badge-content{left:-11px}[dir=rtl] .mat-badge-medium.mat-badge-overlap.mat-badge-before .mat-badge-content{left:auto;right:-11px}.mat-badge-medium.mat-badge-overlap.mat-badge-after .mat-badge-content{right:-11px}[dir=rtl] .mat-badge-medium.mat-badge-overlap.mat-badge-after .mat-badge-content{right:auto;left:-11px}.mat-badge-large .mat-badge-content{width:28px;height:28px;line-height:28px;font-size:24px;font-size:var(--mat-badge-large-size-text-size, 24px)}.mat-badge-large.mat-badge-above .mat-badge-content{top:-14px}.mat-badge-large.mat-badge-below .mat-badge-content{bottom:-14px}.mat-badge-large.mat-badge-before .mat-badge-content{left:-28px}[dir=rtl] .mat-badge-large.mat-badge-before .mat-badge-content{left:auto;right:-28px}.mat-badge-large.mat-badge-after .mat-badge-content{right:-28px}[dir=rtl] .mat-badge-large.mat-badge-after .mat-badge-content{right:auto;left:-28px}.mat-badge-large.mat-badge-overlap.mat-badge-before .mat-badge-content{left:-14px}[dir=rtl] .mat-badge-large.mat-badge-overlap.mat-badge-before .mat-badge-content{left:auto;right:-14px}.mat-badge-large.mat-badge-overlap.mat-badge-after .mat-badge-content{right:-14px}[dir=rtl] .mat-badge-large.mat-badge-overlap.mat-badge-after .mat-badge-content{right:auto;left:-14px}html{--mat-badge-background-color: #00bcd4;--mat-badge-text-color: white;--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: #ff4081;--mat-badge-text-color: white}.mat-badge-warn{--mat-badge-background-color: #f44336;--mat-badge-text-color: white}html{--mat-bottom-sheet-container-text-color: rgba(0, 0, 0, .87);--mat-bottom-sheet-container-background-color: white}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-date-selected-state-text-color: white;--mat-datepicker-calendar-date-selected-state-background-color: #00bcd4;--mat-datepicker-calendar-date-selected-disabled-state-background-color: rgba(0, 188, 212, .4);--mat-datepicker-calendar-date-today-selected-state-outline-color: white;--mat-datepicker-calendar-date-focus-state-background-color: rgba(0, 188, 212, .3);--mat-datepicker-calendar-date-hover-state-background-color: rgba(0, 188, 212, .3);--mat-datepicker-toggle-active-state-icon-color: #00bcd4;--mat-datepicker-calendar-date-in-range-state-background-color: rgba(0, 188, 212, .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-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: white;--mat-datepicker-calendar-date-selected-state-background-color: #ff4081;--mat-datepicker-calendar-date-selected-disabled-state-background-color: rgba(255, 64, 129, .4);--mat-datepicker-calendar-date-today-selected-state-outline-color: white;--mat-datepicker-calendar-date-focus-state-background-color: rgba(255, 64, 129, .3);--mat-datepicker-calendar-date-hover-state-background-color: rgba(255, 64, 129, .3);--mat-datepicker-calendar-date-in-range-state-background-color: rgba(255, 64, 129, .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: white;--mat-datepicker-calendar-date-selected-state-background-color: #f44336;--mat-datepicker-calendar-date-selected-disabled-state-background-color: rgba(244, 67, 54, .4);--mat-datepicker-calendar-date-today-selected-state-outline-color: white;--mat-datepicker-calendar-date-focus-state-background-color: rgba(244, 67, 54, .3);--mat-datepicker-calendar-date-hover-state-background-color: rgba(244, 67, 54, .3);--mat-datepicker-calendar-date-in-range-state-background-color: rgba(244, 67, 54, .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: #ff4081}.mat-datepicker-toggle-active.mat-warn{--mat-datepicker-toggle-active-state-icon-color: #f44336}.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}.mat-calendar-controls .mat-mdc-icon-button.mat-mdc-button-base .mat-mdc-button-touch-target{display:none}html{--mat-divider-color: rgba(0, 0, 0, .12)}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: #00bcd4}.mat-icon.mat-accent{--mat-icon-color: #ff4081}.mat-icon.mat-warn{--mat-icon-color: #f44336}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: white;--mat-stepper-header-selected-state-icon-background-color: #00bcd4;--mat-stepper-header-selected-state-icon-foreground-color: white;--mat-stepper-header-done-state-icon-background-color: #00bcd4;--mat-stepper-header-done-state-icon-foreground-color: white;--mat-stepper-header-edit-state-icon-background-color: #00bcd4;--mat-stepper-header-edit-state-icon-foreground-color: white;--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: #f44336;--mat-stepper-header-icon-background-color: rgba(0, 0, 0, .54);--mat-stepper-header-error-state-icon-foreground-color: #f44336;--mat-stepper-header-error-state-icon-background-color: transparent}html .mat-step-header.mat-accent{--mat-stepper-header-icon-foreground-color: white;--mat-stepper-header-selected-state-icon-background-color: #ff4081;--mat-stepper-header-selected-state-icon-foreground-color: white;--mat-stepper-header-done-state-icon-background-color: #ff4081;--mat-stepper-header-done-state-icon-foreground-color: white;--mat-stepper-header-edit-state-icon-background-color: #ff4081;--mat-stepper-header-edit-state-icon-foreground-color: white}html .mat-step-header.mat-warn{--mat-stepper-header-icon-foreground-color: white;--mat-stepper-header-selected-state-icon-background-color: #f44336;--mat-stepper-header-selected-state-icon-foreground-color: white;--mat-stepper-header-done-state-icon-background-color: #f44336;--mat-stepper-header-done-state-icon-foreground-color: white;--mat-stepper-header-edit-state-icon-background-color: #f44336;--mat-stepper-header-edit-state-icon-foreground-color: white}html{--mat-stepper-header-height: 72px}.mat-sort-header-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: #00bcd4;--mat-toolbar-container-text-color: white}.mat-toolbar.mat-accent{--mat-toolbar-container-background-color: #ff4081;--mat-toolbar-container-text-color: white}.mat-toolbar.mat-warn{--mat-toolbar-container-background-color: #f44336;--mat-toolbar-container-text-color: white}html{--mat-toolbar-standard-height: 64px;--mat-toolbar-mobile-height: 56px}.mat-tree{background:white}.mat-tree-node,.mat-nested-tree-node{color:#000000de}.mat-tree-node{min-height:48px}@font-face{font-family:Roboto;font-style:normal;font-weight:700;src:local("Roboto-Regular"),url(Roboto-Regular.acbcb575c528bd7d.woff)}html,body{height:100%}body{margin:0;font-family:Roboto,Helvetica Neue,Arial,sans-serif}.smallScrollbar{scrollbar-width:thin}.smallScrollbar *::-webkit-scrollbar{width:12px}.headline{font-size:17pt;height:40px;cursor:pointer}.headerButton{background-color:transparent;border:none}.spacer{flex:1 1 auto}.mr-1{margin-right:8px!important}.mr-10{margin-right:10px!important}.materialIconButton{font-size:24px!important;padding-left:5px;padding-right:5px;margin-top:9px}.toolbar{height:65px}app-root{display:block;height:100%}a{color:#880e4f}mat-dialog-actions.mdc-dialog__actions{padding:0 24px 20px;justify-content:end}.mat-mdc-snack-bar-container.snackbar_success{--mdc-snackbar-container-color: darkgreen;--mat-mdc-snack-bar-button-color: #fff;--mdc-snackbar-supporting-text-color: #fff}.mat-mdc-snack-bar-container.snackbar_warning{--mdc-snackbar-container-color: darkorange;--mat-mdc-snack-bar-button-color: black;--mdc-snackbar-supporting-text-color: #fff}.mat-mdc-snack-bar-container.snackbar_error{--mdc-snackbar-container-color: #d04437;--mat-mdc-snack-bar-button-color: #fff;--mdc-snackbar-supporting-text-color: #fff}.mat-mdc-snack-bar-container.snackbar_info{--mdc-snackbar-container-color: #42aebb;--mat-mdc-snack-bar-button-color: black;--mdc-snackbar-supporting-text-color: #fff}.djs-overlay-context-pad{width:120px;height:238px;overflow-y:auto}.djs-context-pad.open{border:solid 1px rgba(128,128,128,.3294117647)}.djs-context-pad.open>.group{border:solid 1px rgba(128,128,128,.3294117647);padding:1px;background-color:#fff}.djs-palette{position:absolute;left:20px;top:20px;box-sizing:border-box;width:32px}.djs-palette .separator{margin:0 2px;padding-top:0;border:none;border-bottom:solid 1px #ddd;clear:both}.djs-palette .entry:before{vertical-align:middle}.djs-palette .djs-palette-toggle{cursor:pointer}.djs-palette .entry,.djs-palette .djs-palette-toggle{color:#333;font-size:26px;text-align:center}.djs-palette .entry{float:left}.djs-palette .entry img{max-width:100%}.djs-palette .djs-palette-entries:after{content:"";display:table;clear:both}.djs-palette .djs-palette-toggle:hover{background:#666}.djs-palette .entry:hover{fill:#42aebb}.djs-palette .entry,.djs-palette .djs-palette-toggle{width:30px;height:30px;line-height:30px;cursor:default}.djs-palette.two-column.open{width:64px}.djs-palette:not(.open) .djs-palette-entries{display:none}.djs-palette:not(.open){overflow:hidden}.djs-palette.open .djs-palette-toggle{display:none}.djs-outline{fill:none;visibility:hidden}.djs-element.hover .djs-outline,.djs-element.selected .djs-outline{visibility:visible;shape-rendering:crispEdges;stroke-dasharray:3,3}.djs-element.selected .djs-outline{stroke:#88f;stroke-width:1px}.djs-element.hover .djs-outline{stroke:#42aebb}.djs-element.attach-ok .djs-visual>:nth-child(1){stroke:#42aebb!important}.djs-lasso-overlay,.djs-resize-overlay{stroke:#42aebb}.djs-dragger .djs-visual circle,.djs-dragger .djs-visual path,.djs-dragger .djs-visual polygon,.djs-dragger .djs-visual polyline,.djs-dragger .djs-visual rect,.djs-dragger .djs-visual text{fill:none!important;stroke:#42aebb!important}.djs-snap-line{stroke:#42aebb;stroke:#ffc34280}.djs-palette .entry:hover{color:#42aebb}.djs-palette .highlighted-entry{color:#42aebb!important}.djs-context-pad .entry:hover{background:#42aebb}.djs-popup .djs-popup-header .entry.active{color:#42aebb;border:solid 1px #42aebb;background-color:#f6f6f6}.djs-popup-body .entry{width:auto!important}.djs-segment-dragger:hover .djs-visual,.djs-segment-dragger.djs-dragging .djs-visual,.djs-bendpoint:hover .djs-visual,.djs-bendpoint.floating .djs-visual{fill:#42aebb;stroke-opacity:.5;stroke:#000}.djs-segment-dragger.djs-dragging .djs-visual,.djs-bendpoint.djs-dragging .djs-visual{fill:#42aebb}.djs-tooltip-error>*{color:#42aebb;border-left:solid 5px #42aebb}.djs-search-input input:focus{outline:none;border-color:#52b415}.djs-search-result:hover{background:#fdffd6}.djs-search-result-selected,.djs-search-result-selected:hover,.djs-search-overlay{background:#42aebb}.autocomplete-items{border:1px solid #a9a9a9;background-color:#f0f0f0}.autocomplete-active{background-color:#1e90ff!important;color:#fff} diff --git a/app-latest-build/styles.css b/app-latest-build/styles.css new file mode 100644 index 0000000..426a947 --- /dev/null +++ b/app-latest-build/styles.css @@ -0,0 +1,3905 @@ +/*!*****************************************************************************************************************************************************************************************************************************************************!*\ + !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[5].rules[0].oneOf[0].use[1]!./node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[5].rules[0].oneOf[0].use[2]!./node_modules/diagram-js/assets/diagram-js.css?ngGlobalStyle ***! + \*****************************************************************************************************************************************************************************************************************************************************/ +/** + * color definitions + */ +.djs-container { + --color-grey-225-10-15: hsl(225, 10%, 15%); + --color-grey-225-10-35: hsl(225, 10%, 35%); + --color-grey-225-10-55: hsl(225, 10%, 55%); + --color-grey-225-10-75: hsl(225, 10%, 75%); + --color-grey-225-10-80: hsl(225, 10%, 80%); + --color-grey-225-10-85: hsl(225, 10%, 85%); + --color-grey-225-10-90: hsl(225, 10%, 90%); + --color-grey-225-10-95: hsl(225, 10%, 95%); + --color-grey-225-10-97: hsl(225, 10%, 97%); + + --color-blue-205-100-45: hsl(205, 100%, 45%); + --color-blue-205-100-45-opacity-30: hsla(205, 100%, 45%, 30%); + --color-blue-205-100-50: hsl(205, 100%, 50%); + --color-blue-205-100-95: hsl(205, 100%, 95%); + + --color-green-150-86-44: hsl(150, 86%, 44%); + + --color-red-360-100-40: hsl(360, 100%, 40%); + --color-red-360-100-45: hsl(360, 100%, 45%); + --color-red-360-100-92: hsl(360, 100%, 92%); + --color-red-360-100-97: hsl(360, 100%, 97%); + + --color-white: hsl(0, 0%, 100%); + --color-black: hsl(0, 0%, 0%); + --color-black-opacity-05: hsla(0, 0%, 0%, 5%); + --color-black-opacity-10: hsla(0, 0%, 0%, 10%); + + --bendpoint-fill-color: var(--color-blue-205-100-45-opacity-30); + --bendpoint-stroke-color: var(--color-blue-205-100-50); + + --context-pad-entry-background-color: var(--color-white); + --context-pad-entry-hover-background-color: var(--color-grey-225-10-95); + + --element-dragger-color: var(--color-blue-205-100-50); + --element-hover-outline-fill-color: var(--color-blue-205-100-45); + --element-selected-outline-stroke-color: var(--color-blue-205-100-50); + + --lasso-fill-color: var(--color-black-opacity-05); + --lasso-stroke-color: var(--color-black); + + --palette-entry-color: var(--color-grey-225-10-15); + --palette-entry-hover-color: var(--color-blue-205-100-45); + --palette-entry-selected-color: var(--color-blue-205-100-50); + --palette-separator-color: var(--color-grey-225-10-75); + --palette-toggle-hover-background-color: var(--color-grey-225-10-55); + --palette-background-color: var(--color-grey-225-10-97); + --palette-border-color: var(--color-grey-225-10-75); + + --popup-body-background-color: var(--color-white); + --popup-header-entry-selected-color: var(--color-blue-205-100-50); + --popup-header-entry-selected-background-color: var(--color-black-opacity-10); + --popup-header-separator-color: var(--color-grey-225-10-75); + --popup-background-color: var(--color-grey-225-10-97); + --popup-border-color: var(--color-grey-225-10-75); + + --resizer-fill-color: var(--color-blue-205-100-45-opacity-30); + --resizer-stroke-color: var(--color-blue-205-100-50); + + --search-container-background-color: var(--color-grey-225-10-97); + --search-container-border-color: var(--color-blue-205-100-50); + --search-container-box-shadow-color: var(--color-blue-205-100-95); + --search-container-box-shadow-inset-color: var(--color-grey-225-10-80); + --search-input-border-color: var(--color-grey-225-10-75); + --search-result-border-color: var(--color-grey-225-10-75); + --search-result-highlight-color: var(--color-black); + --search-result-selected-color: var(--color-blue-205-100-45-opacity-30); + + --shape-attach-allowed-stroke-color: var(--color-blue-205-100-50); + --shape-connect-allowed-fill-color: var(--color-grey-225-10-97); + --shape-drop-allowed-fill-color: var(--color-grey-225-10-97); + --shape-drop-not-allowed-fill-color: var(--color-red-360-100-97); + --shape-resize-preview-stroke-color: var(--color-blue-205-100-50); + + --snap-line-stroke-color: var(--color-blue-205-100-45-opacity-30); + + --space-tool-crosshair-stroke-color: var(--color-black); + + --tooltip-error-background-color: var(--color-red-360-100-97); + --tooltip-error-border-color: var(--color-red-360-100-45); + --tooltip-error-color: var(--color-red-360-100-45); +} + +/** + * outline styles + */ + +.djs-outline { + fill: none; + visibility: hidden; +} + +.djs-element.hover .djs-outline, +.djs-element.selected .djs-outline { + visibility: visible; + shape-rendering: geometricPrecision; + stroke-dasharray: 3,3; +} + +.djs-element.selected .djs-outline { + stroke: var(--element-selected-outline-stroke-color); + stroke-width: 1px; +} + +.djs-element.hover .djs-outline { + stroke: var(--element-hover-outline-fill-color); + stroke-width: 1px; +} + +.djs-shape.connect-ok .djs-visual > :nth-child(1) { + fill: var(--shape-connect-allowed-fill-color) !important; +} + +.djs-shape.connect-not-ok .djs-visual > :nth-child(1), +.djs-shape.drop-not-ok .djs-visual > :nth-child(1) { + fill: var(--shape-drop-not-allowed-fill-color) !important; +} + +.djs-shape.new-parent .djs-visual > :nth-child(1) { + fill: var(--shape-drop-allowed-fill-color) !important; +} + +svg.drop-not-ok { + background: var(--shape-drop-not-allowed-fill-color) !important; +} + +svg.new-parent { + background: var(--shape-drop-allowed-fill-color) !important; +} + +.djs-connection.connect-ok .djs-visual > :nth-child(1), +.djs-connection.drop-ok .djs-visual > :nth-child(1) { + stroke: var(--shape-drop-allowed-fill-color) !important; +} + +.djs-connection.connect-not-ok .djs-visual > :nth-child(1), +.djs-connection.drop-not-ok .djs-visual > :nth-child(1) { + stroke: var(--shape-drop-not-allowed-fill-color) !important; +} + +.drop-not-ok, +.connect-not-ok { + cursor: not-allowed; +} + +.djs-element.attach-ok .djs-visual > :nth-child(1) { + stroke-width: 5px !important; + stroke: var(--shape-attach-allowed-stroke-color) !important; +} + +.djs-frame.connect-not-ok .djs-visual > :nth-child(1), +.djs-frame.drop-not-ok .djs-visual > :nth-child(1) { + stroke-width: 3px !important; + stroke: var(--shape-drop-not-allowed-fill-color) !important; + fill: none !important; +} + +/** +* Selection box style +* +*/ +.djs-lasso-overlay { + fill: var(--lasso-fill-color); + + stroke-dasharray: 5 1 3 1; + stroke: var(--lasso-stroke-color); + + shape-rendering: geometricPrecision; + pointer-events: none; +} + +/** + * Resize styles + */ +.djs-resize-overlay { + fill: none; + + stroke-dasharray: 5 1 3 1; + stroke: var(--shape-resize-preview-stroke-color); + + pointer-events: none; +} + +.djs-resizer-hit { + fill: none; + pointer-events: all; +} + +.djs-resizer-visual { + fill: var(--resizer-fill-color); + stroke-width: 1px; + stroke-opacity: 0.5; + stroke: var(--resizer-stroke-color); + shape-rendering: geometricprecision; +} + +.djs-resizer:hover .djs-resizer-visual { + stroke: var(--resizer-stroke-color); + stroke-opacity: 1; +} + +.djs-cursor-resize-ns, +.djs-resizer-n, +.djs-resizer-s { + cursor: ns-resize; +} + +.djs-cursor-resize-ew, +.djs-resizer-e, +.djs-resizer-w { + cursor: ew-resize; +} + +.djs-cursor-resize-nwse, +.djs-resizer-nw, +.djs-resizer-se { + cursor: nwse-resize; +} + +.djs-cursor-resize-nesw, +.djs-resizer-ne, +.djs-resizer-sw { + cursor: nesw-resize; +} + +.djs-shape.djs-resizing > .djs-outline { + visibility: hidden !important; +} + +.djs-shape.djs-resizing > .djs-resizer { + visibility: hidden; +} + +.djs-dragger > .djs-resizer { + visibility: hidden; +} + +/** + * drag styles + */ +.djs-dragger * { + fill: none !important; + stroke: var(--element-dragger-color) !important; +} + +.djs-dragger tspan, +.djs-dragger text { + fill: var(--element-dragger-color) !important; + stroke: none !important; +} + +marker.djs-dragger circle, +marker.djs-dragger path, +marker.djs-dragger polygon, +marker.djs-dragger polyline, +marker.djs-dragger rect { + fill: var(--element-dragger-color) !important; + stroke: none !important; +} + +marker.djs-dragger text, +marker.djs-dragger tspan { + fill: none !important; + stroke: var(--element-dragger-color) !important; +} + +.djs-dragging { + opacity: 0.3; +} + +.djs-dragging, +.djs-dragging > * { + pointer-events: none !important; +} + +.djs-dragging .djs-context-pad, +.djs-dragging .djs-outline { + display: none !important; +} + +/** + * no pointer events for visual + */ +.djs-visual, +.djs-outline { + pointer-events: none; +} + +.djs-element.attach-ok .djs-hit { + stroke-width: 60px !important; +} + +/** + * all pointer events for hit shape + */ +.djs-element > .djs-hit-all { + pointer-events: all; +} + +.djs-element > .djs-hit-stroke, +.djs-element > .djs-hit-click-stroke { + pointer-events: stroke; +} + +/** + * all pointer events for hit shape + */ +.djs-drag-active .djs-element > .djs-hit-click-stroke { + pointer-events: all; +} + +/** + * shape / connection basic styles + */ +.djs-connection .djs-visual { + stroke-width: 2px; + fill: none; +} + +.djs-cursor-grab { + cursor: grab; +} + +.djs-cursor-grabbing { + cursor: grabbing; +} + +.djs-cursor-crosshair { + cursor: crosshair; +} + +.djs-cursor-move { + cursor: move; +} + +.djs-cursor-resize-ns { + cursor: ns-resize; +} + +.djs-cursor-resize-ew { + cursor: ew-resize; +} + + +/** + * snapping + */ +.djs-snap-line { + stroke: var(--snap-line-stroke-color); + stroke-linecap: round; + stroke-width: 2px; + pointer-events: none; +} + +/** + * snapping + */ +.djs-crosshair { + stroke: var(--space-tool-crosshair-stroke-color); + stroke-linecap: round; + stroke-width: 1px; + pointer-events: none; + shape-rendering: crispEdges; + stroke-dasharray: 5, 5; +} + +/** + * palette + */ + +.djs-palette { + position: absolute; + left: 20px; + top: 20px; + + box-sizing: border-box; + width: 48px; +} + +.djs-palette .separator { + margin: 0 5px; + padding-top: 5px; + + border: none; + border-bottom: solid 1px var(--palette-separator-color); + + clear: both; +} + +.djs-palette .entry:before { + vertical-align: text-bottom; +} + +.djs-palette .djs-palette-toggle { + cursor: pointer; +} + +.djs-palette .entry, +.djs-palette .djs-palette-toggle { + color: var(--palette-entry-color); + font-size: 30px; + + text-align: center; +} + +.djs-palette .entry { + float: left; +} + +.djs-palette .entry img { + max-width: 100%; +} + +.djs-palette .djs-palette-entries:after { + content: ''; + display: table; + clear: both; +} + +.djs-palette .djs-palette-toggle:hover { + background: var(--palette-toggle-hover-background-color); +} + +.djs-palette .entry:hover { + color: var(--palette-entry-hover-color); +} + +.djs-palette .highlighted-entry { + color: var(--palette-entry-selected-color) !important; +} + +.djs-palette .entry, +.djs-palette .djs-palette-toggle { + width: 46px; + height: 46px; + line-height: 46px; + cursor: default; +} + +/** + * Palette open / two-column layout is controlled via + * classes on the palette. Events to hook into palette + * changed life-cycle are available in addition. + */ +.djs-palette.two-column.open { + width: 94px; +} + +.djs-palette:not(.open) .djs-palette-entries { + display: none; +} + +.djs-palette:not(.open) { + overflow: hidden; +} + +.djs-palette.open .djs-palette-toggle { + display: none; +} + +/** + * context-pad + */ +.djs-overlay-context-pad { + width: 72px; + z-index: 100; +} + +.djs-context-pad { + position: absolute; + display: none; + pointer-events: none; + line-height: 1; +} + +.djs-context-pad .entry { + width: 22px; + height: 22px; + text-align: center; + display: inline-block; + font-size: 22px; + margin: 0 2px 2px 0; + + border-radius: 3px; + + cursor: default; + + background-color: var(--context-pad-entry-background-color); + box-shadow: 0 0 2px 1px var(--context-pad-entry-background-color); + pointer-events: all; + vertical-align: middle; +} + +.djs-context-pad .entry:hover { + background: var(--context-pad-entry-hover-background-color); +} + +.djs-context-pad.open { + display: block; +} + +/** + * popup styles + */ +.djs-popup .entry { + line-height: 20px; + white-space: nowrap; + cursor: default; +} + +/* larger font for prefixed icons */ +.djs-popup .entry:before { + vertical-align: middle; + font-size: 20px; +} + +.djs-popup .entry > span { + vertical-align: middle; + font-size: 14px; +} + +.djs-popup .entry:hover, +.djs-popup .entry.active:hover { + background: var(--popup-header-entry-selected-background-color); +} + +.djs-popup .entry.disabled { + background: inherit; +} + +.djs-popup .djs-popup-header .entry { + display: inline-block; + padding: 2px 3px 2px 3px; + + border: solid 1px transparent; + border-radius: 3px; +} + +.djs-popup .djs-popup-header .entry.active { + color: var(--popup-header-entry-selected-color); + border: solid 1px var(--popup-header-entry-selected-color); + background-color: var(--popup-header-entry-selected-background-color); +} + +.djs-popup-body .entry { + padding: 4px 10px 4px 5px; +} + +.djs-popup-body .entry > span { + margin-left: 5px; +} + +.djs-popup-body { + background-color: var(--popup-body-background-color); +} + +.djs-popup-header { + border-bottom: 1px solid var(--popup-header-separator-color); +} + +.djs-popup-header .entry { + margin: 1px; + margin-left: 3px; +} + +.djs-popup-header .entry:last-child { + margin-right: 3px; +} + +/** + * popup / palette styles + */ +.djs-palette { + background: var(--palette-background-color); + border: solid 1px var(--palette-border-color); + border-radius: 2px; +} + +.djs-popup { + background: var(--popup-background-color); + border: solid 1px var(--popup-border-color); + border-radius: 2px; +} + +/** + * touch + */ + +.djs-shape, +.djs-connection { + touch-action: none; +} + +.djs-segment-dragger, +.djs-bendpoint { + display: none; +} + +/** + * bendpoints + */ +.djs-segment-dragger .djs-visual { + display: none; + + fill: var(--bendpoint-fill-color); + stroke: var(--bendpoint-stroke-color); + stroke-width: 1px; + stroke-opacity: 1; +} + +.djs-segment-dragger:hover .djs-visual { + display: block; +} + +.djs-bendpoint .djs-visual { + fill: var(--bendpoint-fill-color); + stroke: var(--bendpoint-stroke-color); + stroke-width: 1px; + stroke-opacity: 0.5; +} + +.djs-segment-dragger:hover, +.djs-bendpoints.hover .djs-segment-dragger, +.djs-bendpoints.selected .djs-segment-dragger, +.djs-bendpoint:hover, +.djs-bendpoints.hover .djs-bendpoint, +.djs-bendpoints.selected .djs-bendpoint { + display: block; +} + +.djs-drag-active .djs-bendpoints * { + display: none; +} + +.djs-bendpoints:not(.hover) .floating { + display: none; +} + +.djs-segment-dragger:hover .djs-visual, +.djs-segment-dragger.djs-dragging .djs-visual, +.djs-bendpoint:hover .djs-visual, +.djs-bendpoint.floating .djs-visual { + fill: var(--bendpoint-fill-color); + stroke: var(--bendpoint-stroke-color); + stroke-opacity: 1; +} + +.djs-bendpoint.floating .djs-hit { + pointer-events: none; +} + +.djs-segment-dragger .djs-hit, +.djs-bendpoint .djs-hit { + fill: none; + pointer-events: all; +} + +.djs-segment-dragger.horizontal .djs-hit { + cursor: ns-resize; +} + +.djs-segment-dragger.vertical .djs-hit { + cursor: ew-resize; +} + +.djs-segment-dragger.djs-dragging .djs-hit { + pointer-events: none; +} + +.djs-updating, +.djs-updating > * { + pointer-events: none !important; +} + +.djs-updating .djs-context-pad, +.djs-updating .djs-outline, +.djs-updating .djs-bendpoint, +.connect-ok .djs-bendpoint, +.connect-not-ok .djs-bendpoint, +.drop-ok .djs-bendpoint, +.drop-not-ok .djs-bendpoint { + display: none !important; +} + +.djs-segment-dragger.djs-dragging, +.djs-bendpoint.djs-dragging { + display: block; + opacity: 1.0; +} + + +/** + * tooltips + */ +.djs-tooltip-error { + width: 160px; + padding: 6px; + + background: var(--tooltip-error-background-color); + border: solid 1px var(--tooltip-error-border-color); + border-radius: 2px; + color: var(--tooltip-error-color); + font-size: 12px; + line-height: 16px; + + opacity: 0.75; +} + +.djs-tooltip-error:hover { + opacity: 1; +} + + +/** + * search pad + */ +.djs-search-container { + position: absolute; + top: 20px; + left: 0; + right: 0; + margin-left: auto; + margin-right: auto; + + width: 25%; + min-width: 300px; + max-width: 400px; + z-index: 10; + + font-size: 1.05em; + opacity: 0.9; + background: var(--search-container-background-color); + border: solid 1px var(--search-container-border-color); + border-radius: 2px; + box-shadow: 0 0 0 2px var(--search-container-box-shadow-color), 0 0 0 1px var(--search-container-box-shadow-inset-color) inset; +} + +.djs-search-container:not(.open) { + display: none; +} + +.djs-search-input input { + font-size: 1.05em; + width: 100%; + padding: 6px 10px; + border: 1px solid var(--search-input-border-color); + box-sizing: border-box; +} + +.djs-search-input input:focus { + outline: none; + border-color: var(--search-input-border-color); +} + +.djs-search-results { + position: relative; + overflow-y: auto; + max-height: 200px; +} + +.djs-search-results:hover { + cursor: pointer; +} + +.djs-search-result { + width: 100%; + padding: 6px 10px; + background: white; + border-bottom: solid 1px var(--search-result-border-color); + border-radius: 1px; +} + +.djs-search-highlight { + color: var(--search-result-highlight-color); +} + +.djs-search-result-primary { + margin: 0 0 10px; +} + +.djs-search-result-secondary { + font-family: monospace; + margin: 0; +} + +.djs-search-result:hover { + background: var(--search-result-selected-color); +} + +.djs-search-result-selected { + background: var(--search-result-selected-color); +} + +.djs-search-result-selected:hover { + background: var(--search-result-selected-color); +} + +.djs-search-overlay { + background: var(--search-result-selected-color); +} + +/** + * hidden styles + */ +.djs-element-hidden, +.djs-element-hidden .djs-hit, +.djs-element-hidden .djs-outline, +.djs-label-hidden .djs-label { + display: none !important; +} + +/*!***************************************************************************************************************************************************************************************************************************************************************!*\ + !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[5].rules[0].oneOf[0].use[1]!./node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[5].rules[0].oneOf[0].use[2]!./node_modules/bpmn-js/dist/assets/bpmn-font/css/bpmn.css?ngGlobalStyle ***! + \***************************************************************************************************************************************************************************************************************************************************************/ +@font-face { + font-family: 'bpmn'; + src: url('bpmn.eot?26374340'); + src: url('bpmn.eot?26374340#iefix') format('embedded-opentype'), + url('bpmn.woff2?26374340') format('woff2'), + url('bpmn.woff?26374340') format('woff'), + url('bpmn.ttf?26374340') format('truetype'), + url('bpmn.svg?26374340#bpmn') format('svg'); + font-weight: normal; + font-style: normal; +} +/* Chrome hack: SVG is rendered more smooth in Windozze. 100% magic, uncomment if you need it. */ +/* Note, that will break hinting! In other OS-es font will be not as sharp as it could be */ +/* +@media screen and (-webkit-min-device-pixel-ratio:0) { + @font-face { + font-family: 'bpmn'; + src: url('../font/bpmn.svg?26374340#bpmn') format('svg'); + } +} +*/ + + [class^="bpmn-icon-"]:before, [class*=" bpmn-icon-"]:before { + font-family: "bpmn"; + font-style: normal; + font-weight: normal; + speak: never; + + display: inline-block; + text-decoration: inherit; + width: 1em; + /* margin-right: .2em; */ + text-align: center; + /* opacity: .8; */ + + /* For safety - reset parent styles, that can break glyph codes*/ + font-variant: normal; + text-transform: none; + + /* fix buttons height, for twitter bootstrap */ + line-height: 1em; + + /* Animation center compensation - margins should be symmetric */ + /* remove if not needed */ + /* margin-left: .2em; */ + + /* you can be more comfortable with increased icons size */ + /* font-size: 120%; */ + + /* Font smoothing. That was taken from TWBS */ + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; + + /* Uncomment for 3D effect */ + /* text-shadow: 1px 1px 1px rgba(127, 127, 127, 0.3); */ +} + +.bpmn-icon-screw-wrench:before { content: '\e800'; } /* '' */ +.bpmn-icon-trash:before { content: '\e801'; } /* '' */ +.bpmn-icon-conditional-flow:before { content: '\e802'; } /* '' */ +.bpmn-icon-default-flow:before { content: '\e803'; } /* '' */ +.bpmn-icon-gateway-parallel:before { content: '\e804'; } /* '' */ +.bpmn-icon-intermediate-event-catch-cancel:before { content: '\e805'; } /* '' */ +.bpmn-icon-intermediate-event-catch-non-interrupting-message:before { content: '\e806'; } /* '' */ +.bpmn-icon-start-event-compensation:before { content: '\e807'; } /* '' */ +.bpmn-icon-start-event-non-interrupting-parallel-multiple:before { content: '\e808'; } /* '' */ +.bpmn-icon-loop-marker:before { content: '\e809'; } /* '' */ +.bpmn-icon-parallel-mi-marker:before { content: '\e80a'; } /* '' */ +.bpmn-icon-start-event-non-interrupting-signal:before { content: '\e80b'; } /* '' */ +.bpmn-icon-intermediate-event-catch-non-interrupting-timer:before { content: '\e80c'; } /* '' */ +.bpmn-icon-intermediate-event-catch-parallel-multiple:before { content: '\e80d'; } /* '' */ +.bpmn-icon-intermediate-event-catch-compensation:before { content: '\e80e'; } /* '' */ +.bpmn-icon-gateway-xor:before { content: '\e80f'; } /* '' */ +.bpmn-icon-connection:before { content: '\e810'; } /* '' */ +.bpmn-icon-end-event-cancel:before { content: '\e811'; } /* '' */ +.bpmn-icon-intermediate-event-catch-condition:before { content: '\e812'; } /* '' */ +.bpmn-icon-intermediate-event-catch-non-interrupting-parallel-multiple:before { content: '\e813'; } /* '' */ +.bpmn-icon-start-event-condition:before { content: '\e814'; } /* '' */ +.bpmn-icon-start-event-non-interrupting-timer:before { content: '\e815'; } /* '' */ +.bpmn-icon-sequential-mi-marker:before { content: '\e816'; } /* '' */ +.bpmn-icon-user-task:before { content: '\e817'; } /* '' */ +.bpmn-icon-business-rule:before { content: '\e818'; } /* '' */ +.bpmn-icon-sub-process-marker:before { content: '\e819'; } /* '' */ +.bpmn-icon-start-event-parallel-multiple:before { content: '\e81a'; } /* '' */ +.bpmn-icon-start-event-error:before { content: '\e81b'; } /* '' */ +.bpmn-icon-intermediate-event-catch-signal:before { content: '\e81c'; } /* '' */ +.bpmn-icon-intermediate-event-catch-error:before { content: '\e81d'; } /* '' */ +.bpmn-icon-end-event-compensation:before { content: '\e81e'; } /* '' */ +.bpmn-icon-subprocess-collapsed:before { content: '\e81f'; } /* '' */ +.bpmn-icon-subprocess-expanded:before { content: '\e820'; } /* '' */ +.bpmn-icon-task:before { content: '\e821'; } /* '' */ +.bpmn-icon-end-event-error:before { content: '\e822'; } /* '' */ +.bpmn-icon-intermediate-event-catch-escalation:before { content: '\e823'; } /* '' */ +.bpmn-icon-intermediate-event-catch-timer:before { content: '\e824'; } /* '' */ +.bpmn-icon-start-event-escalation:before { content: '\e825'; } /* '' */ +.bpmn-icon-start-event-signal:before { content: '\e826'; } /* '' */ +.bpmn-icon-business-rule-task:before { content: '\e827'; } /* '' */ +.bpmn-icon-manual:before { content: '\e828'; } /* '' */ +.bpmn-icon-receive:before { content: '\e829'; } /* '' */ +.bpmn-icon-call-activity:before { content: '\e82a'; } /* '' */ +.bpmn-icon-start-event-timer:before { content: '\e82b'; } /* '' */ +.bpmn-icon-start-event-message:before { content: '\e82c'; } /* '' */ +.bpmn-icon-intermediate-event-none:before { content: '\e82d'; } /* '' */ +.bpmn-icon-intermediate-event-catch-link:before { content: '\e82e'; } /* '' */ +.bpmn-icon-end-event-escalation:before { content: '\e82f'; } /* '' */ +.bpmn-icon-text-annotation:before { content: '\e830'; } /* '' */ +.bpmn-icon-bpmn-io:before { content: '\e831'; } /* '' */ +.bpmn-icon-gateway-complex:before { content: '\e832'; } /* '' */ +.bpmn-icon-gateway-eventbased:before { content: '\e833'; } /* '' */ +.bpmn-icon-gateway-none:before { content: '\e834'; } /* '' */ +.bpmn-icon-gateway-or:before { content: '\e835'; } /* '' */ +.bpmn-icon-end-event-terminate:before { content: '\e836'; } /* '' */ +.bpmn-icon-end-event-signal:before { content: '\e837'; } /* '' */ +.bpmn-icon-end-event-none:before { content: '\e838'; } /* '' */ +.bpmn-icon-end-event-multiple:before { content: '\e839'; } /* '' */ +.bpmn-icon-end-event-message:before { content: '\e83a'; } /* '' */ +.bpmn-icon-end-event-link:before { content: '\e83b'; } /* '' */ +.bpmn-icon-intermediate-event-catch-message:before { content: '\e83c'; } /* '' */ +.bpmn-icon-intermediate-event-throw-compensation:before { content: '\e83d'; } /* '' */ +.bpmn-icon-start-event-multiple:before { content: '\e83e'; } /* '' */ +.bpmn-icon-script:before { content: '\e83f'; } /* '' */ +.bpmn-icon-manual-task:before { content: '\e840'; } /* '' */ +.bpmn-icon-send:before { content: '\e841'; } /* '' */ +.bpmn-icon-service:before { content: '\e842'; } /* '' */ +.bpmn-icon-receive-task:before { content: '\e843'; } /* '' */ +.bpmn-icon-user:before { content: '\e844'; } /* '' */ +.bpmn-icon-start-event-none:before { content: '\e845'; } /* '' */ +.bpmn-icon-intermediate-event-throw-escalation:before { content: '\e846'; } /* '' */ +.bpmn-icon-intermediate-event-catch-multiple:before { content: '\e847'; } /* '' */ +.bpmn-icon-intermediate-event-catch-non-interrupting-escalation:before { content: '\e848'; } /* '' */ +.bpmn-icon-intermediate-event-throw-link:before { content: '\e849'; } /* '' */ +.bpmn-icon-start-event-non-interrupting-condition:before { content: '\e84a'; } /* '' */ +.bpmn-icon-data-object:before { content: '\e84b'; } /* '' */ +.bpmn-icon-script-task:before { content: '\e84c'; } /* '' */ +.bpmn-icon-send-task:before { content: '\e84d'; } /* '' */ +.bpmn-icon-data-store:before { content: '\e84e'; } /* '' */ +.bpmn-icon-start-event-non-interrupting-escalation:before { content: '\e84f'; } /* '' */ +.bpmn-icon-intermediate-event-throw-message:before { content: '\e850'; } /* '' */ +.bpmn-icon-intermediate-event-catch-non-interrupting-multiple:before { content: '\e851'; } /* '' */ +.bpmn-icon-intermediate-event-catch-non-interrupting-signal:before { content: '\e852'; } /* '' */ +.bpmn-icon-intermediate-event-throw-multiple:before { content: '\e853'; } /* '' */ +.bpmn-icon-start-event-non-interrupting-message:before { content: '\e854'; } /* '' */ +.bpmn-icon-ad-hoc-marker:before { content: '\e855'; } /* '' */ +.bpmn-icon-service-task:before { content: '\e856'; } /* '' */ +.bpmn-icon-task-none:before { content: '\e857'; } /* '' */ +.bpmn-icon-compensation-marker:before { content: '\e858'; } /* '' */ +.bpmn-icon-start-event-non-interrupting-multiple:before { content: '\e859'; } /* '' */ +.bpmn-icon-intermediate-event-throw-signal:before { content: '\e85a'; } /* '' */ +.bpmn-icon-intermediate-event-catch-non-interrupting-condition:before { content: '\e85b'; } /* '' */ +.bpmn-icon-participant:before { content: '\e85c'; } /* '' */ +.bpmn-icon-event-subprocess-expanded:before { content: '\e85d'; } /* '' */ +.bpmn-icon-lane-insert-below:before { content: '\e85e'; } /* '' */ +.bpmn-icon-space-tool:before { content: '\e85f'; } /* '' */ +.bpmn-icon-connection-multi:before { content: '\e860'; } /* '' */ +.bpmn-icon-lane:before { content: '\e861'; } /* '' */ +.bpmn-icon-lasso-tool:before { content: '\e862'; } /* '' */ +.bpmn-icon-lane-insert-above:before { content: '\e863'; } /* '' */ +.bpmn-icon-lane-divide-three:before { content: '\e864'; } /* '' */ +.bpmn-icon-lane-divide-two:before { content: '\e865'; } /* '' */ +.bpmn-icon-data-input:before { content: '\e866'; } /* '' */ +.bpmn-icon-data-output:before { content: '\e867'; } /* '' */ +.bpmn-icon-hand-tool:before { content: '\e868'; } /* '' */ +.bpmn-icon-group:before { content: '\e869'; } /* '' */ +.bpmn-icon-transaction:before { content: '\e8c4'; } /* '' */ +/*!*************************************************************************************************************************************************************************************************************************************************!*\ + !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[6].rules[0].oneOf[0].use[1]!./node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[6].rules[0].oneOf[0].use[2]!./node_modules/material-icons/iconfont/material-icons.css ***! + \*************************************************************************************************************************************************************************************************************************************************/ +@font-face { + font-family: "Material Icons"; + font-style: normal; + font-weight: 400; + font-display: block; + src: url('material-icons.woff2') format("woff2"), url('material-icons.woff') format("woff"); +} +.material-icons { + font-family: "Material Icons"; + font-weight: normal; + font-style: normal; + font-size: 24px; + line-height: 1; + letter-spacing: normal; + text-transform: none; + display: inline-block; + white-space: nowrap; + word-wrap: normal; + direction: ltr; + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; + text-rendering: optimizeLegibility; + font-feature-settings: "liga"; +} + +@font-face { + font-family: "Material Icons Outlined"; + font-style: normal; + font-weight: 400; + font-display: block; + src: url('material-icons-outlined.woff2') format("woff2"), url('material-icons-outlined.woff') format("woff"); +} +.material-icons-outlined { + font-family: "Material Icons Outlined"; + font-weight: normal; + font-style: normal; + font-size: 24px; + line-height: 1; + letter-spacing: normal; + text-transform: none; + display: inline-block; + white-space: nowrap; + word-wrap: normal; + direction: ltr; + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; + text-rendering: optimizeLegibility; + font-feature-settings: "liga"; +} + +@font-face { + font-family: "Material Icons Round"; + font-style: normal; + font-weight: 400; + font-display: block; + src: url('material-icons-round.woff2') format("woff2"), url('material-icons-round.woff') format("woff"); +} +.material-icons-round { + font-family: "Material Icons Round"; + font-weight: normal; + font-style: normal; + font-size: 24px; + line-height: 1; + letter-spacing: normal; + text-transform: none; + display: inline-block; + white-space: nowrap; + word-wrap: normal; + direction: ltr; + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; + text-rendering: optimizeLegibility; + font-feature-settings: "liga"; +} + +@font-face { + font-family: "Material Icons Sharp"; + font-style: normal; + font-weight: 400; + font-display: block; + src: url('material-icons-sharp.woff2') format("woff2"), url('material-icons-sharp.woff') format("woff"); +} +.material-icons-sharp { + font-family: "Material Icons Sharp"; + font-weight: normal; + font-style: normal; + font-size: 24px; + line-height: 1; + letter-spacing: normal; + text-transform: none; + display: inline-block; + white-space: nowrap; + word-wrap: normal; + direction: ltr; + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; + text-rendering: optimizeLegibility; + font-feature-settings: "liga"; +} + +@font-face { + font-family: "Material Icons Two Tone"; + font-style: normal; + font-weight: 400; + font-display: block; + src: url('material-icons-two-tone.woff2') format("woff2"), url('material-icons-two-tone.woff') format("woff"); +} +.material-icons-two-tone { + font-family: "Material Icons Two Tone"; + font-weight: normal; + font-style: normal; + font-size: 24px; + line-height: 1; + letter-spacing: normal; + text-transform: none; + display: inline-block; + white-space: nowrap; + word-wrap: normal; + direction: ltr; + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; + text-rendering: optimizeLegibility; + font-feature-settings: "liga"; +} + +/*!***********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\ + !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[6].rules[0].oneOf[0].use[1]!./node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[6].rules[0].oneOf[0].use[2]!./node_modules/resolve-url-loader/index.js??ruleSet[1].rules[6].rules[1].use[0]!./node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[6].rules[1].use[1]!./src/styles.scss?ngGlobalStyle ***! + \***********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/ +html { + --mat-badge-text-font: Roboto, sans-serif; + --mat-badge-text-size: 12px; + --mat-badge-text-weight: 600; + --mat-badge-small-size-text-size: 9px; + --mat-badge-large-size-text-size: 24px; +} + +.mat-h1, +.mat-headline-5, +.mat-typography .mat-h1, +.mat-typography .mat-headline-5, +.mat-typography h1 { + font-size: 24px; + font-weight: 400; + line-height: 32px; + font-family: Roboto, sans-serif; + letter-spacing: normal; + margin: 0 0 16px; +} + +.mat-h2, +.mat-headline-6, +.mat-typography .mat-h2, +.mat-typography .mat-headline-6, +.mat-typography h2 { + font-size: 20px; + font-weight: 500; + line-height: 32px; + font-family: Roboto, sans-serif; + letter-spacing: 0.0125em; + margin: 0 0 16px; +} + +.mat-h3, +.mat-subtitle-1, +.mat-typography .mat-h3, +.mat-typography .mat-subtitle-1, +.mat-typography h3 { + font-size: 16px; + font-weight: 400; + line-height: 28px; + font-family: Roboto, sans-serif; + letter-spacing: 0.009375em; + margin: 0 0 16px; +} + +.mat-h4, +.mat-body-1, +.mat-typography .mat-h4, +.mat-typography .mat-body-1, +.mat-typography h4 { + font-size: 16px; + font-weight: 400; + line-height: 24px; + font-family: Roboto, sans-serif; + letter-spacing: 0.03125em; + margin: 0 0 16px; +} + +.mat-h5, +.mat-typography .mat-h5, +.mat-typography h5 { + font: 400 calc(14px * 0.83) / 20px Roboto, sans-serif; + margin: 0 0 12px; +} + +.mat-h6, +.mat-typography .mat-h6, +.mat-typography h6 { + font: 400 calc(14px * 0.67) / 20px Roboto, sans-serif; + margin: 0 0 12px; +} + +.mat-body-strong, +.mat-subtitle-2, +.mat-typography .mat-body-strong, +.mat-typography .mat-subtitle-2 { + font-size: 14px; + font-weight: 500; + line-height: 22px; + font-family: Roboto, sans-serif; + letter-spacing: 0.0071428571em; +} + +.mat-body, +.mat-body-2, +.mat-typography .mat-body, +.mat-typography .mat-body-2, +.mat-typography { + font-size: 14px; + font-weight: 400; + line-height: 20px; + font-family: Roboto, sans-serif; + letter-spacing: 0.0178571429em; +} +.mat-body p, +.mat-body-2 p, +.mat-typography .mat-body p, +.mat-typography .mat-body-2 p, +.mat-typography p { + margin: 0 0 12px; +} + +.mat-small, +.mat-caption, +.mat-typography .mat-small, +.mat-typography .mat-caption { + font-size: 12px; + font-weight: 400; + line-height: 20px; + font-family: Roboto, sans-serif; + letter-spacing: 0.0333333333em; +} + +.mat-headline-1, +.mat-typography .mat-headline-1 { + font-size: 96px; + font-weight: 300; + line-height: 96px; + font-family: Roboto, sans-serif; + letter-spacing: -0.015625em; + margin: 0 0 56px; +} + +.mat-headline-2, +.mat-typography .mat-headline-2 { + font-size: 60px; + font-weight: 300; + line-height: 60px; + font-family: Roboto, sans-serif; + letter-spacing: -0.0083333333em; + margin: 0 0 64px; +} + +.mat-headline-3, +.mat-typography .mat-headline-3 { + font-size: 48px; + font-weight: 400; + line-height: 50px; + font-family: Roboto, sans-serif; + letter-spacing: normal; + margin: 0 0 64px; +} + +.mat-headline-4, +.mat-typography .mat-headline-4 { + font-size: 34px; + font-weight: 400; + line-height: 40px; + font-family: Roboto, sans-serif; + letter-spacing: 0.0073529412em; + margin: 0 0 64px; +} + +html { + --mat-bottom-sheet-container-text-font: Roboto, sans-serif; + --mat-bottom-sheet-container-text-line-height: 20px; + --mat-bottom-sheet-container-text-size: 14px; + --mat-bottom-sheet-container-text-tracking: 0.0178571429em; + --mat-bottom-sheet-container-text-weight: 400; +} + +html { + --mat-legacy-button-toggle-text-font: Roboto, sans-serif; + --mat-standard-button-toggle-text-font: Roboto, sans-serif; +} + +html { + --mat-datepicker-calendar-text-font: Roboto, sans-serif; + --mat-datepicker-calendar-text-size: 13px; + --mat-datepicker-calendar-body-label-text-size: 14px; + --mat-datepicker-calendar-body-label-text-weight: 500; + --mat-datepicker-calendar-period-button-text-size: 14px; + --mat-datepicker-calendar-period-button-text-weight: 500; + --mat-datepicker-calendar-header-text-size: 11px; + --mat-datepicker-calendar-header-text-weight: 400; +} + +html { + --mat-expansion-header-text-font: Roboto, sans-serif; + --mat-expansion-header-text-size: 14px; + --mat-expansion-header-text-weight: 500; + --mat-expansion-header-text-line-height: inherit; + --mat-expansion-header-text-tracking: inherit; + --mat-expansion-container-text-font: Roboto, sans-serif; + --mat-expansion-container-text-line-height: 20px; + --mat-expansion-container-text-size: 14px; + --mat-expansion-container-text-tracking: 0.0178571429em; + --mat-expansion-container-text-weight: 400; +} + +html { + --mat-grid-list-tile-header-primary-text-size: 14px; + --mat-grid-list-tile-header-secondary-text-size: 12px; + --mat-grid-list-tile-footer-primary-text-size: 14px; + --mat-grid-list-tile-footer-secondary-text-size: 12px; +} + +html { + --mat-stepper-container-text-font: Roboto, sans-serif; + --mat-stepper-header-label-text-font: Roboto, sans-serif; + --mat-stepper-header-label-text-size: 14px; + --mat-stepper-header-label-text-weight: 400; + --mat-stepper-header-error-state-label-text-size: 16px; + --mat-stepper-header-selected-state-label-text-size: 16px; + --mat-stepper-header-selected-state-label-text-weight: 400; +} + +html { + --mat-toolbar-title-text-font: Roboto, sans-serif; + --mat-toolbar-title-text-line-height: 32px; + --mat-toolbar-title-text-size: 20px; + --mat-toolbar-title-text-tracking: 0.0125em; + --mat-toolbar-title-text-weight: 500; +} + +.mat-tree { + font-family: Roboto, sans-serif; +} + +.mat-tree-node, +.mat-nested-tree-node { + font-weight: 400; + font-size: 14px; +} + +html { + --mat-option-label-text-font: Roboto, sans-serif; + --mat-option-label-text-line-height: 24px; + --mat-option-label-text-size: 16px; + --mat-option-label-text-tracking: 0.03125em; + --mat-option-label-text-weight: 400; +} + +html { + --mat-optgroup-label-text-font: Roboto, sans-serif; + --mat-optgroup-label-text-line-height: 24px; + --mat-optgroup-label-text-size: 16px; + --mat-optgroup-label-text-tracking: 0.03125em; + --mat-optgroup-label-text-weight: 400; +} + +.mat-mdc-card { + --mat-card-title-text-font: Roboto, sans-serif; + --mat-card-title-text-line-height: 32px; + --mat-card-title-text-size: 20px; + --mat-card-title-text-tracking: 0.0125em; + --mat-card-title-text-weight: 500; + --mat-card-subtitle-text-font: Roboto, sans-serif; + --mat-card-subtitle-text-line-height: 22px; + --mat-card-subtitle-text-size: 14px; + --mat-card-subtitle-text-tracking: 0.0071428571em; + --mat-card-subtitle-text-weight: 500; +} + +.mat-mdc-tooltip { + --mdc-plain-tooltip-supporting-text-font: Roboto, sans-serif; + --mdc-plain-tooltip-supporting-text-size: 12px; + --mdc-plain-tooltip-supporting-text-weight: 400; + --mdc-plain-tooltip-supporting-text-tracking: 0.0333333333em; +} + +html { + --mdc-filled-text-field-label-text-font: Roboto, sans-serif; + --mdc-filled-text-field-label-text-size: 16px; + --mdc-filled-text-field-label-text-tracking: 0.03125em; + --mdc-filled-text-field-label-text-weight: 400; + --mdc-outlined-text-field-label-text-font: Roboto, sans-serif; + --mdc-outlined-text-field-label-text-size: 16px; + --mdc-outlined-text-field-label-text-tracking: 0.03125em; + --mdc-outlined-text-field-label-text-weight: 400; + --mat-form-field-container-text-font: Roboto, sans-serif; + --mat-form-field-container-text-line-height: 24px; + --mat-form-field-container-text-size: 16px; + --mat-form-field-container-text-tracking: 0.03125em; + --mat-form-field-container-text-weight: 400; + --mat-form-field-outlined-label-text-populated-size: 16px; + --mat-form-field-subscript-text-font: Roboto, sans-serif; + --mat-form-field-subscript-text-line-height: 20px; + --mat-form-field-subscript-text-size: 12px; + --mat-form-field-subscript-text-tracking: 0.0333333333em; + --mat-form-field-subscript-text-weight: 400; +} + +html { + --mat-select-trigger-text-font: Roboto, sans-serif; + --mat-select-trigger-text-line-height: 24px; + --mat-select-trigger-text-size: 16px; + --mat-select-trigger-text-tracking: 0.03125em; + --mat-select-trigger-text-weight: 400; +} + +.mat-mdc-dialog-container { + --mdc-dialog-subhead-font: Roboto, sans-serif; + --mdc-dialog-subhead-line-height: 32px; + --mdc-dialog-subhead-size: 20px; + --mdc-dialog-subhead-weight: 500; + --mdc-dialog-subhead-tracking: 0.0125em; + --mdc-dialog-supporting-text-font: Roboto, sans-serif; + --mdc-dialog-supporting-text-line-height: 24px; + --mdc-dialog-supporting-text-size: 16px; + --mdc-dialog-supporting-text-weight: 400; + --mdc-dialog-supporting-text-tracking: 0.03125em; +} + +.mat-mdc-standard-chip { + --mdc-chip-label-text-font: Roboto, sans-serif; + --mdc-chip-label-text-line-height: 20px; + --mdc-chip-label-text-size: 14px; + --mdc-chip-label-text-tracking: 0.0178571429em; + --mdc-chip-label-text-weight: 400; +} + +.mat-mdc-slide-toggle { + --mat-slide-toggle-label-text-font: Roboto, sans-serif; + --mat-slide-toggle-label-text-size: 14px; + --mat-slide-toggle-label-text-tracking: 0.0178571429em; + --mat-slide-toggle-label-text-line-height: 20px; + --mat-slide-toggle-label-text-weight: 400; +} +.mat-mdc-slide-toggle .mdc-form-field { + -moz-osx-font-smoothing: grayscale; + -webkit-font-smoothing: antialiased; + font-family: Roboto, sans-serif; + /* @alternate */ + font-family: var(--mdc-typography-body2-font-family, var(--mdc-typography-font-family, Roboto, sans-serif)); + font-size: 0.875rem; + /* @alternate */ + font-size: var(--mdc-typography-body2-font-size, 0.875rem); + line-height: 1.25rem; + /* @alternate */ + line-height: var(--mdc-typography-body2-line-height, 1.25rem); + font-weight: 400; + /* @alternate */ + font-weight: var(--mdc-typography-body2-font-weight, 400); + letter-spacing: 0.0178571429em; + /* @alternate */ + letter-spacing: var(--mdc-typography-body2-letter-spacing, 0.0178571429em); + text-decoration: inherit; + /* @alternate */ + -webkit-text-decoration: var(--mdc-typography-body2-text-decoration, inherit); + text-decoration: var(--mdc-typography-body2-text-decoration, inherit); + text-transform: inherit; + /* @alternate */ + text-transform: var(--mdc-typography-body2-text-transform, inherit); +} + +.mat-mdc-radio-button .mdc-form-field { + -moz-osx-font-smoothing: grayscale; + -webkit-font-smoothing: antialiased; + font-family: var(--mdc-typography-body2-font-family, var(--mdc-typography-font-family, Roboto, sans-serif)); + font-size: var(--mdc-typography-body2-font-size, 14px); + line-height: var(--mdc-typography-body2-line-height, 20px); + font-weight: var(--mdc-typography-body2-font-weight, 400); + letter-spacing: var(--mdc-typography-body2-letter-spacing, 0.0178571429em); + -webkit-text-decoration: var(--mdc-typography-body2-text-decoration, inherit); + text-decoration: var(--mdc-typography-body2-text-decoration, inherit); + text-transform: var(--mdc-typography-body2-text-transform, none); +} + +.mat-mdc-slider { + --mdc-slider-label-label-text-font: Roboto, sans-serif; + --mdc-slider-label-label-text-size: 14px; + --mdc-slider-label-label-text-line-height: 22px; + --mdc-slider-label-label-text-tracking: 0.0071428571em; + --mdc-slider-label-label-text-weight: 500; +} + +html { + --mat-menu-item-label-text-font: Roboto, sans-serif; + --mat-menu-item-label-text-size: 16px; + --mat-menu-item-label-text-tracking: 0.03125em; + --mat-menu-item-label-text-line-height: 24px; + --mat-menu-item-label-text-weight: 400; +} + +.mat-mdc-list-base { + --mdc-list-list-item-label-text-font: Roboto, sans-serif; + --mdc-list-list-item-label-text-line-height: 24px; + --mdc-list-list-item-label-text-size: 16px; + --mdc-list-list-item-label-text-tracking: 0.03125em; + --mdc-list-list-item-label-text-weight: 400; + --mdc-list-list-item-supporting-text-font: Roboto, sans-serif; + --mdc-list-list-item-supporting-text-line-height: 20px; + --mdc-list-list-item-supporting-text-size: 14px; + --mdc-list-list-item-supporting-text-tracking: 0.0178571429em; + --mdc-list-list-item-supporting-text-weight: 400; + --mdc-list-list-item-trailing-supporting-text-font: Roboto, sans-serif; + --mdc-list-list-item-trailing-supporting-text-line-height: 20px; + --mdc-list-list-item-trailing-supporting-text-size: 12px; + --mdc-list-list-item-trailing-supporting-text-tracking: 0.0333333333em; + --mdc-list-list-item-trailing-supporting-text-weight: 400; +} + +.mdc-list-group__subheader { + font-size: 16px; + font-weight: 400; + line-height: 28px; + font-family: Roboto, sans-serif; + letter-spacing: 0.009375em; +} + +html { + --mat-paginator-container-text-font: Roboto, sans-serif; + --mat-paginator-container-text-line-height: 20px; + --mat-paginator-container-text-size: 12px; + --mat-paginator-container-text-tracking: 0.0333333333em; + --mat-paginator-container-text-weight: 400; + --mat-paginator-select-trigger-text-size: 12px; +} + +.mat-mdc-tab-header { + --mat-tab-header-label-text-font: Roboto, sans-serif; + --mat-tab-header-label-text-size: 14px; + --mat-tab-header-label-text-tracking: 0.0892857143em; + --mat-tab-header-label-text-line-height: 36px; + --mat-tab-header-label-text-weight: 500; +} + +.mat-mdc-checkbox .mdc-form-field { + -moz-osx-font-smoothing: grayscale; + -webkit-font-smoothing: antialiased; + font-family: var(--mdc-typography-body2-font-family, var(--mdc-typography-font-family, Roboto, sans-serif)); + font-size: var(--mdc-typography-body2-font-size, 14px); + line-height: var(--mdc-typography-body2-line-height, 20px); + font-weight: var(--mdc-typography-body2-font-weight, 400); + letter-spacing: var(--mdc-typography-body2-letter-spacing, 0.0178571429em); + -webkit-text-decoration: var(--mdc-typography-body2-text-decoration, inherit); + text-decoration: var(--mdc-typography-body2-text-decoration, inherit); + text-transform: var(--mdc-typography-body2-text-transform, none); +} + +.mdc-button { + -moz-osx-font-smoothing: grayscale; + -webkit-font-smoothing: antialiased; + font-family: var(--mdc-typography-button-font-family, var(--mdc-typography-font-family, Roboto, sans-serif)); + font-size: var(--mdc-typography-button-font-size, 14px); + line-height: var(--mdc-typography-button-line-height, 36px); + font-weight: var(--mdc-typography-button-font-weight, 500); + letter-spacing: var(--mdc-typography-button-letter-spacing, 0.0892857143em); + -webkit-text-decoration: var(--mdc-typography-button-text-decoration, none); + text-decoration: var(--mdc-typography-button-text-decoration, none); + text-transform: var(--mdc-typography-button-text-transform, none); +} + +.mdc-fab--extended { + -moz-osx-font-smoothing: grayscale; + -webkit-font-smoothing: antialiased; + font-family: var(--mdc-typography-button-font-family, var(--mdc-typography-font-family, Roboto, sans-serif)); + font-size: var(--mdc-typography-button-font-size, 14px); + line-height: var(--mdc-typography-button-line-height, 36px); + font-weight: var(--mdc-typography-button-font-weight, 500); + letter-spacing: var(--mdc-typography-button-letter-spacing, 0.0892857143em); + -webkit-text-decoration: var(--mdc-typography-button-text-decoration, none); + text-decoration: var(--mdc-typography-button-text-decoration, none); + text-transform: var(--mdc-typography-button-text-transform, none); +} +.mat-mdc-extended-fab { + --mdc-extended-fab-label-text-font: Roboto, sans-serif; + --mdc-extended-fab-label-text-size: 14px; + --mdc-extended-fab-label-text-tracking: 0.0892857143em; + --mdc-extended-fab-label-text-weight: 500; +} + +.mat-mdc-snack-bar-container { + --mdc-snackbar-supporting-text-font: Roboto, sans-serif; + --mdc-snackbar-supporting-text-line-height: 20px; + --mdc-snackbar-supporting-text-size: 14px; + --mdc-snackbar-supporting-text-weight: 400; +} + +html { + --mat-table-header-headline-font: Roboto, sans-serif; + --mat-table-header-headline-line-height: 22px; + --mat-table-header-headline-size: 14px; + --mat-table-header-headline-weight: 500; + --mat-table-header-headline-tracking: 0.0071428571em; + --mat-table-row-item-label-text-font: Roboto, sans-serif; + --mat-table-row-item-label-text-line-height: 20px; + --mat-table-row-item-label-text-size: 14px; + --mat-table-row-item-label-text-weight: 400; + --mat-table-row-item-label-text-tracking: 0.0178571429em; + --mat-table-footer-supporting-text-font: Roboto, sans-serif; + --mat-table-footer-supporting-text-line-height: 20px; + --mat-table-footer-supporting-text-size: 14px; + --mat-table-footer-supporting-text-weight: 400; + --mat-table-footer-supporting-text-tracking: 0.0178571429em; +} + +.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, 0.2, 1); + transform: scale3d(0, 0, 0); +} +.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; + top: 0; + bottom: 0; + left: 0; + right: 0; + z-index: 1000; + pointer-events: auto; + -webkit-tap-highlight-color: transparent; + transition: opacity 400ms cubic-bezier(0.25, 0.8, 0.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: 0.6; +} + +.cdk-overlay-dark-backdrop { + background: rgba(0, 0, 0, 0.32); +} + +.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 { + top: 0; + left: 0; + right: 0; + bottom: 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 { + top: 0; + left: 0; + right: 0; + bottom: 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-ripple-element { + background-color: rgba(0, 0, 0, 0.1); +} + +html { + --mat-option-selected-state-label-text-color: #00bcd4; + --mat-option-label-text-color: rgba(0, 0, 0, 0.87); + --mat-option-hover-state-layer-color: rgba(0, 0, 0, 0.04); + --mat-option-focus-state-layer-color: rgba(0, 0, 0, 0.04); + --mat-option-selected-state-layer-color: rgba(0, 0, 0, 0.04); +} + +.mat-accent { + --mat-option-selected-state-label-text-color: #ff4081; +} + +.mat-warn { + --mat-option-selected-state-label-text-color: #f44336; +} + +html { + --mat-optgroup-label-text-color: rgba(0, 0, 0, 0.87); +} + +.mat-pseudo-checkbox-full { + color: rgba(0, 0, 0, 0.54); +} +.mat-pseudo-checkbox-full.mat-pseudo-checkbox-disabled { + color: #b0b0b0; +} + +.mat-primary .mat-pseudo-checkbox-checked.mat-pseudo-checkbox-minimal::after, +.mat-primary .mat-pseudo-checkbox-indeterminate.mat-pseudo-checkbox-minimal::after { + color: #00bcd4; +} +.mat-primary .mat-pseudo-checkbox-checked.mat-pseudo-checkbox-full, +.mat-primary .mat-pseudo-checkbox-indeterminate.mat-pseudo-checkbox-full { + background: #00bcd4; +} +.mat-primary .mat-pseudo-checkbox-checked.mat-pseudo-checkbox-full::after, +.mat-primary .mat-pseudo-checkbox-indeterminate.mat-pseudo-checkbox-full::after { + color: #fafafa; +} + +.mat-pseudo-checkbox-checked.mat-pseudo-checkbox-minimal::after, +.mat-pseudo-checkbox-indeterminate.mat-pseudo-checkbox-minimal::after { + color: #ff4081; +} +.mat-pseudo-checkbox-checked.mat-pseudo-checkbox-full, +.mat-pseudo-checkbox-indeterminate.mat-pseudo-checkbox-full { + background: #ff4081; +} +.mat-pseudo-checkbox-checked.mat-pseudo-checkbox-full::after, +.mat-pseudo-checkbox-indeterminate.mat-pseudo-checkbox-full::after { + color: #fafafa; +} + +.mat-accent .mat-pseudo-checkbox-checked.mat-pseudo-checkbox-minimal::after, +.mat-accent .mat-pseudo-checkbox-indeterminate.mat-pseudo-checkbox-minimal::after { + color: #ff4081; +} +.mat-accent .mat-pseudo-checkbox-checked.mat-pseudo-checkbox-full, +.mat-accent .mat-pseudo-checkbox-indeterminate.mat-pseudo-checkbox-full { + background: #ff4081; +} +.mat-accent .mat-pseudo-checkbox-checked.mat-pseudo-checkbox-full::after, +.mat-accent .mat-pseudo-checkbox-indeterminate.mat-pseudo-checkbox-full::after { + color: #fafafa; +} + +.mat-warn .mat-pseudo-checkbox-checked.mat-pseudo-checkbox-minimal::after, +.mat-warn .mat-pseudo-checkbox-indeterminate.mat-pseudo-checkbox-minimal::after { + color: #f44336; +} +.mat-warn .mat-pseudo-checkbox-checked.mat-pseudo-checkbox-full, +.mat-warn .mat-pseudo-checkbox-indeterminate.mat-pseudo-checkbox-full { + background: #f44336; +} +.mat-warn .mat-pseudo-checkbox-checked.mat-pseudo-checkbox-full::after, +.mat-warn .mat-pseudo-checkbox-indeterminate.mat-pseudo-checkbox-full::after { + color: #fafafa; +} + +.mat-pseudo-checkbox-disabled.mat-pseudo-checkbox-checked.mat-pseudo-checkbox-minimal::after, +.mat-pseudo-checkbox-disabled.mat-pseudo-checkbox-indeterminate.mat-pseudo-checkbox-minimal::after { + color: #b0b0b0; +} +.mat-pseudo-checkbox-disabled.mat-pseudo-checkbox-checked.mat-pseudo-checkbox-full, +.mat-pseudo-checkbox-disabled.mat-pseudo-checkbox-indeterminate.mat-pseudo-checkbox-full { + background: #b0b0b0; +} + +.mat-app-background { + background-color: #fafafa; + color: rgba(0, 0, 0, 0.87); +} + +.mat-elevation-z0, .mat-mdc-elevation-specific.mat-elevation-z0 { + box-shadow: 0px 0px 0px 0px rgba(0, 0, 0, 0.2), 0px 0px 0px 0px rgba(0, 0, 0, 0.14), 0px 0px 0px 0px rgba(0, 0, 0, 0.12); +} + +.mat-elevation-z1, .mat-mdc-elevation-specific.mat-elevation-z1 { + box-shadow: 0px 2px 1px -1px rgba(0, 0, 0, 0.2), 0px 1px 1px 0px rgba(0, 0, 0, 0.14), 0px 1px 3px 0px rgba(0, 0, 0, 0.12); +} + +.mat-elevation-z2, .mat-mdc-elevation-specific.mat-elevation-z2 { + box-shadow: 0px 3px 1px -2px rgba(0, 0, 0, 0.2), 0px 2px 2px 0px rgba(0, 0, 0, 0.14), 0px 1px 5px 0px rgba(0, 0, 0, 0.12); +} + +.mat-elevation-z3, .mat-mdc-elevation-specific.mat-elevation-z3 { + box-shadow: 0px 3px 3px -2px rgba(0, 0, 0, 0.2), 0px 3px 4px 0px rgba(0, 0, 0, 0.14), 0px 1px 8px 0px rgba(0, 0, 0, 0.12); +} + +.mat-elevation-z4, .mat-mdc-elevation-specific.mat-elevation-z4 { + box-shadow: 0px 2px 4px -1px rgba(0, 0, 0, 0.2), 0px 4px 5px 0px rgba(0, 0, 0, 0.14), 0px 1px 10px 0px rgba(0, 0, 0, 0.12); +} + +.mat-elevation-z5, .mat-mdc-elevation-specific.mat-elevation-z5 { + box-shadow: 0px 3px 5px -1px rgba(0, 0, 0, 0.2), 0px 5px 8px 0px rgba(0, 0, 0, 0.14), 0px 1px 14px 0px rgba(0, 0, 0, 0.12); +} + +.mat-elevation-z6, .mat-mdc-elevation-specific.mat-elevation-z6 { + 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-elevation-z7, .mat-mdc-elevation-specific.mat-elevation-z7 { + box-shadow: 0px 4px 5px -2px rgba(0, 0, 0, 0.2), 0px 7px 10px 1px rgba(0, 0, 0, 0.14), 0px 2px 16px 1px rgba(0, 0, 0, 0.12); +} + +.mat-elevation-z8, .mat-mdc-elevation-specific.mat-elevation-z8 { + box-shadow: 0px 5px 5px -3px rgba(0, 0, 0, 0.2), 0px 8px 10px 1px rgba(0, 0, 0, 0.14), 0px 3px 14px 2px rgba(0, 0, 0, 0.12); +} + +.mat-elevation-z9, .mat-mdc-elevation-specific.mat-elevation-z9 { + box-shadow: 0px 5px 6px -3px rgba(0, 0, 0, 0.2), 0px 9px 12px 1px rgba(0, 0, 0, 0.14), 0px 3px 16px 2px rgba(0, 0, 0, 0.12); +} + +.mat-elevation-z10, .mat-mdc-elevation-specific.mat-elevation-z10 { + box-shadow: 0px 6px 6px -3px rgba(0, 0, 0, 0.2), 0px 10px 14px 1px rgba(0, 0, 0, 0.14), 0px 4px 18px 3px rgba(0, 0, 0, 0.12); +} + +.mat-elevation-z11, .mat-mdc-elevation-specific.mat-elevation-z11 { + box-shadow: 0px 6px 7px -4px rgba(0, 0, 0, 0.2), 0px 11px 15px 1px rgba(0, 0, 0, 0.14), 0px 4px 20px 3px rgba(0, 0, 0, 0.12); +} + +.mat-elevation-z12, .mat-mdc-elevation-specific.mat-elevation-z12 { + box-shadow: 0px 7px 8px -4px rgba(0, 0, 0, 0.2), 0px 12px 17px 2px rgba(0, 0, 0, 0.14), 0px 5px 22px 4px rgba(0, 0, 0, 0.12); +} + +.mat-elevation-z13, .mat-mdc-elevation-specific.mat-elevation-z13 { + box-shadow: 0px 7px 8px -4px rgba(0, 0, 0, 0.2), 0px 13px 19px 2px rgba(0, 0, 0, 0.14), 0px 5px 24px 4px rgba(0, 0, 0, 0.12); +} + +.mat-elevation-z14, .mat-mdc-elevation-specific.mat-elevation-z14 { + box-shadow: 0px 7px 9px -4px rgba(0, 0, 0, 0.2), 0px 14px 21px 2px rgba(0, 0, 0, 0.14), 0px 5px 26px 4px rgba(0, 0, 0, 0.12); +} + +.mat-elevation-z15, .mat-mdc-elevation-specific.mat-elevation-z15 { + box-shadow: 0px 8px 9px -5px rgba(0, 0, 0, 0.2), 0px 15px 22px 2px rgba(0, 0, 0, 0.14), 0px 6px 28px 5px rgba(0, 0, 0, 0.12); +} + +.mat-elevation-z16, .mat-mdc-elevation-specific.mat-elevation-z16 { + box-shadow: 0px 8px 10px -5px rgba(0, 0, 0, 0.2), 0px 16px 24px 2px rgba(0, 0, 0, 0.14), 0px 6px 30px 5px rgba(0, 0, 0, 0.12); +} + +.mat-elevation-z17, .mat-mdc-elevation-specific.mat-elevation-z17 { + box-shadow: 0px 8px 11px -5px rgba(0, 0, 0, 0.2), 0px 17px 26px 2px rgba(0, 0, 0, 0.14), 0px 6px 32px 5px rgba(0, 0, 0, 0.12); +} + +.mat-elevation-z18, .mat-mdc-elevation-specific.mat-elevation-z18 { + box-shadow: 0px 9px 11px -5px rgba(0, 0, 0, 0.2), 0px 18px 28px 2px rgba(0, 0, 0, 0.14), 0px 7px 34px 6px rgba(0, 0, 0, 0.12); +} + +.mat-elevation-z19, .mat-mdc-elevation-specific.mat-elevation-z19 { + box-shadow: 0px 9px 12px -6px rgba(0, 0, 0, 0.2), 0px 19px 29px 2px rgba(0, 0, 0, 0.14), 0px 7px 36px 6px rgba(0, 0, 0, 0.12); +} + +.mat-elevation-z20, .mat-mdc-elevation-specific.mat-elevation-z20 { + box-shadow: 0px 10px 13px -6px rgba(0, 0, 0, 0.2), 0px 20px 31px 3px rgba(0, 0, 0, 0.14), 0px 8px 38px 7px rgba(0, 0, 0, 0.12); +} + +.mat-elevation-z21, .mat-mdc-elevation-specific.mat-elevation-z21 { + box-shadow: 0px 10px 13px -6px rgba(0, 0, 0, 0.2), 0px 21px 33px 3px rgba(0, 0, 0, 0.14), 0px 8px 40px 7px rgba(0, 0, 0, 0.12); +} + +.mat-elevation-z22, .mat-mdc-elevation-specific.mat-elevation-z22 { + box-shadow: 0px 10px 14px -6px rgba(0, 0, 0, 0.2), 0px 22px 35px 3px rgba(0, 0, 0, 0.14), 0px 8px 42px 7px rgba(0, 0, 0, 0.12); +} + +.mat-elevation-z23, .mat-mdc-elevation-specific.mat-elevation-z23 { + box-shadow: 0px 11px 14px -7px rgba(0, 0, 0, 0.2), 0px 23px 36px 3px rgba(0, 0, 0, 0.14), 0px 9px 44px 8px rgba(0, 0, 0, 0.12); +} + +.mat-elevation-z24, .mat-mdc-elevation-specific.mat-elevation-z24 { + box-shadow: 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-theme-loaded-marker { + display: none; +} + +.mat-mdc-card { + --mdc-elevated-card-container-color: white; + --mdc-elevated-card-container-elevation: 0px 2px 1px -1px rgba(0, 0, 0, 0.2), 0px 1px 1px 0px rgba(0, 0, 0, 0.14), 0px 1px 3px 0px rgba(0, 0, 0, 0.12); + --mdc-outlined-card-container-color: white; + --mdc-outlined-card-outline-color: rgba(0, 0, 0, 0.12); + --mdc-outlined-card-container-elevation: 0px 0px 0px 0px rgba(0, 0, 0, 0.2), 0px 0px 0px 0px rgba(0, 0, 0, 0.14), 0px 0px 0px 0px rgba(0, 0, 0, 0.12); + --mat-card-subtitle-text-color: rgba(0, 0, 0, 0.54); +} + +.mat-mdc-progress-bar { + --mdc-linear-progress-active-indicator-color: #00bcd4; + --mdc-linear-progress-track-color: rgba(0, 188, 212, 0.25); +} +@keyframes mdc-linear-progress-buffering { + from { + /* @noflip */ /*rtl:ignore*/ + } +} +.mat-mdc-progress-bar .mdc-linear-progress__buffer-dots { + background-color: rgba(0, 188, 212, 0.25); + /* @alternate */ + background-color: var(--mdc-linear-progress-track-color, rgba(0, 188, 212, 0.25)); +} +@media (forced-colors: active) { + .mat-mdc-progress-bar .mdc-linear-progress__buffer-dots { + background-color: ButtonBorder; + } +} +@media all and (-ms-high-contrast: none), (-ms-high-contrast: active) { + .mat-mdc-progress-bar .mdc-linear-progress__buffer-dots { + background-color: transparent; + background-image: url("data:image/svg+xml,%3Csvg version='1.1' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' x='0px' y='0px' enable-background='new 0 0 5 2' xml:space='preserve' viewBox='0 0 5 2' preserveAspectRatio='none slice'%3E%3Ccircle cx='1' cy='1' r='1' fill='rgba(0, 188, 212, 0.25)'/%3E%3C/svg%3E"); + } +} +.mat-mdc-progress-bar .mdc-linear-progress__buffer-bar { + background-color: rgba(0, 188, 212, 0.25); + /* @alternate */ + background-color: var(--mdc-linear-progress-track-color, rgba(0, 188, 212, 0.25)); +} +.mat-mdc-progress-bar.mat-accent { + --mdc-linear-progress-active-indicator-color: #ff4081; + --mdc-linear-progress-track-color: rgba(255, 64, 129, 0.25); +} +@keyframes mdc-linear-progress-buffering { + from { + /* @noflip */ /*rtl:ignore*/ + } +} +.mat-mdc-progress-bar.mat-accent .mdc-linear-progress__buffer-dots { + background-color: rgba(255, 64, 129, 0.25); + /* @alternate */ + background-color: var(--mdc-linear-progress-track-color, rgba(255, 64, 129, 0.25)); +} +@media (forced-colors: active) { + .mat-mdc-progress-bar.mat-accent .mdc-linear-progress__buffer-dots { + background-color: ButtonBorder; + } +} +@media all and (-ms-high-contrast: none), (-ms-high-contrast: active) { + .mat-mdc-progress-bar.mat-accent .mdc-linear-progress__buffer-dots { + background-color: transparent; + background-image: url("data:image/svg+xml,%3Csvg version='1.1' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' x='0px' y='0px' enable-background='new 0 0 5 2' xml:space='preserve' viewBox='0 0 5 2' preserveAspectRatio='none slice'%3E%3Ccircle cx='1' cy='1' r='1' fill='rgba(255, 64, 129, 0.25)'/%3E%3C/svg%3E"); + } +} +.mat-mdc-progress-bar.mat-accent .mdc-linear-progress__buffer-bar { + background-color: rgba(255, 64, 129, 0.25); + /* @alternate */ + background-color: var(--mdc-linear-progress-track-color, rgba(255, 64, 129, 0.25)); +} +.mat-mdc-progress-bar.mat-warn { + --mdc-linear-progress-active-indicator-color: #f44336; + --mdc-linear-progress-track-color: rgba(244, 67, 54, 0.25); +} +@keyframes mdc-linear-progress-buffering { + from { + /* @noflip */ /*rtl:ignore*/ + } +} +.mat-mdc-progress-bar.mat-warn .mdc-linear-progress__buffer-dots { + background-color: rgba(244, 67, 54, 0.25); + /* @alternate */ + background-color: var(--mdc-linear-progress-track-color, rgba(244, 67, 54, 0.25)); +} +@media (forced-colors: active) { + .mat-mdc-progress-bar.mat-warn .mdc-linear-progress__buffer-dots { + background-color: ButtonBorder; + } +} +@media all and (-ms-high-contrast: none), (-ms-high-contrast: active) { + .mat-mdc-progress-bar.mat-warn .mdc-linear-progress__buffer-dots { + background-color: transparent; + background-image: url("data:image/svg+xml,%3Csvg version='1.1' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' x='0px' y='0px' enable-background='new 0 0 5 2' xml:space='preserve' viewBox='0 0 5 2' preserveAspectRatio='none slice'%3E%3Ccircle cx='1' cy='1' r='1' fill='rgba(244, 67, 54, 0.25)'/%3E%3C/svg%3E"); + } +} +.mat-mdc-progress-bar.mat-warn .mdc-linear-progress__buffer-bar { + background-color: rgba(244, 67, 54, 0.25); + /* @alternate */ + background-color: var(--mdc-linear-progress-track-color, rgba(244, 67, 54, 0.25)); +} +.mat-mdc-tooltip { + --mdc-plain-tooltip-container-color: #616161; + --mdc-plain-tooltip-supporting-text-color: #fff; +} + +html { + --mdc-filled-text-field-caret-color: #00bcd4; + --mdc-filled-text-field-focus-active-indicator-color: #00bcd4; + --mdc-filled-text-field-focus-label-text-color: rgba(0, 188, 212, 0.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, 0.6); + --mdc-filled-text-field-disabled-label-text-color: rgba(0, 0, 0, 0.38); + --mdc-filled-text-field-input-text-color: rgba(0, 0, 0, 0.87); + --mdc-filled-text-field-disabled-input-text-color: rgba(0, 0, 0, 0.38); + --mdc-filled-text-field-input-text-placeholder-color: rgba(0, 0, 0, 0.6); + --mdc-filled-text-field-error-focus-label-text-color: #f44336; + --mdc-filled-text-field-error-label-text-color: #f44336; + --mdc-filled-text-field-error-caret-color: #f44336; + --mdc-filled-text-field-active-indicator-color: rgba(0, 0, 0, 0.42); + --mdc-filled-text-field-disabled-active-indicator-color: rgba(0, 0, 0, 0.06); + --mdc-filled-text-field-hover-active-indicator-color: rgba(0, 0, 0, 0.87); + --mdc-filled-text-field-error-active-indicator-color: #f44336; + --mdc-filled-text-field-error-focus-active-indicator-color: #f44336; + --mdc-filled-text-field-error-hover-active-indicator-color: #f44336; + --mdc-outlined-text-field-caret-color: #00bcd4; + --mdc-outlined-text-field-focus-outline-color: #00bcd4; + --mdc-outlined-text-field-focus-label-text-color: rgba(0, 188, 212, 0.87); + --mdc-outlined-text-field-label-text-color: rgba(0, 0, 0, 0.6); + --mdc-outlined-text-field-disabled-label-text-color: rgba(0, 0, 0, 0.38); + --mdc-outlined-text-field-input-text-color: rgba(0, 0, 0, 0.87); + --mdc-outlined-text-field-disabled-input-text-color: rgba(0, 0, 0, 0.38); + --mdc-outlined-text-field-input-text-placeholder-color: rgba(0, 0, 0, 0.6); + --mdc-outlined-text-field-error-caret-color: #f44336; + --mdc-outlined-text-field-error-focus-label-text-color: #f44336; + --mdc-outlined-text-field-error-label-text-color: #f44336; + --mdc-outlined-text-field-outline-color: rgba(0, 0, 0, 0.38); + --mdc-outlined-text-field-disabled-outline-color: rgba(0, 0, 0, 0.06); + --mdc-outlined-text-field-hover-outline-color: rgba(0, 0, 0, 0.87); + --mdc-outlined-text-field-error-focus-outline-color: #f44336; + --mdc-outlined-text-field-error-hover-outline-color: #f44336; + --mdc-outlined-text-field-error-outline-color: #f44336; + --mat-form-field-disabled-input-text-placeholder-color: rgba(0, 0, 0, 0.38); +} + +.mat-mdc-form-field-error { + color: var(--mdc-theme-error, #f44336); +} + +.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 { + background-color: rgba(0, 0, 0, 0.87); +} + +.mat-mdc-form-field:hover .mat-mdc-form-field-focus-overlay { + opacity: 0.04; +} + +.mat-mdc-form-field.mat-focused .mat-mdc-form-field-focus-overlay { + opacity: 0.12; +} + +.mat-mdc-form-field-type-mat-native-select .mat-mdc-form-field-infix::after { + color: rgba(0, 0, 0, 0.54); +} +.mat-mdc-form-field-type-mat-native-select.mat-focused.mat-primary .mat-mdc-form-field-infix::after { + color: rgba(0, 188, 212, 0.87); +} +.mat-mdc-form-field-type-mat-native-select.mat-focused.mat-accent .mat-mdc-form-field-infix::after { + color: rgba(255, 64, 129, 0.87); +} +.mat-mdc-form-field-type-mat-native-select.mat-focused.mat-warn .mat-mdc-form-field-infix::after { + color: rgba(244, 67, 54, 0.87); +} +.mat-mdc-form-field-type-mat-native-select.mat-form-field-disabled .mat-mdc-form-field-infix::after { + color: rgba(0, 0, 0, 0.38); +} + +.mat-mdc-form-field.mat-accent { + --mdc-filled-text-field-caret-color: #ff4081; + --mdc-filled-text-field-focus-active-indicator-color: #ff4081; + --mdc-filled-text-field-focus-label-text-color: rgba(255, 64, 129, 0.87); + --mdc-outlined-text-field-caret-color: #ff4081; + --mdc-outlined-text-field-focus-outline-color: #ff4081; + --mdc-outlined-text-field-focus-label-text-color: rgba(255, 64, 129, 0.87); +} + +.mat-mdc-form-field.mat-warn { + --mdc-filled-text-field-caret-color: #f44336; + --mdc-filled-text-field-focus-active-indicator-color: #f44336; + --mdc-filled-text-field-focus-label-text-color: rgba(244, 67, 54, 0.87); + --mdc-outlined-text-field-caret-color: #f44336; + --mdc-outlined-text-field-focus-outline-color: #f44336; + --mdc-outlined-text-field-focus-label-text-color: rgba(244, 67, 54, 0.87); +} + +.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 transparent; +} + +[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 transparent; +} + +.mat-mdc-form-field-infix { + min-height: 56px; +} + +.mat-mdc-text-field-wrapper .mat-mdc-form-field-flex .mat-mdc-floating-label { + top: 28px; +} + +.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( + -34.75px) + scale(var(--mat-mdc-form-field-floating-label-scale, 0.75)); + transform: var(--mat-mdc-form-field-label-transform); +} + +.mat-mdc-text-field-wrapper.mdc-text-field--outlined .mat-mdc-form-field-infix { + padding-top: 16px; + padding-bottom: 16px; +} + +.mat-mdc-text-field-wrapper:not(.mdc-text-field--outlined) .mat-mdc-form-field-infix { + padding-top: 24px; + padding-bottom: 8px; +} + +.mdc-text-field--no-label:not(.mdc-text-field--outlined):not(.mdc-text-field--textarea) .mat-mdc-form-field-infix { + padding-top: 16px; + padding-bottom: 16px; +} + +html { + --mat-select-panel-background-color: white; + --mat-select-enabled-trigger-text-color: rgba(0, 0, 0, 0.87); + --mat-select-disabled-trigger-text-color: rgba(0, 0, 0, 0.38); + --mat-select-placeholder-text-color: rgba(0, 0, 0, 0.6); + --mat-select-enabled-arrow-color: rgba(0, 0, 0, 0.54); + --mat-select-disabled-arrow-color: rgba(0, 0, 0, 0.38); + --mat-select-focused-arrow-color: rgba(0, 188, 212, 0.87); + --mat-select-invalid-arrow-color: rgba(244, 67, 54, 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, 0.87); + --mat-select-disabled-trigger-text-color: rgba(0, 0, 0, 0.38); + --mat-select-placeholder-text-color: rgba(0, 0, 0, 0.6); + --mat-select-enabled-arrow-color: rgba(0, 0, 0, 0.54); + --mat-select-disabled-arrow-color: rgba(0, 0, 0, 0.38); + --mat-select-focused-arrow-color: rgba(255, 64, 129, 0.87); + --mat-select-invalid-arrow-color: rgba(244, 67, 54, 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, 0.87); + --mat-select-disabled-trigger-text-color: rgba(0, 0, 0, 0.38); + --mat-select-placeholder-text-color: rgba(0, 0, 0, 0.6); + --mat-select-enabled-arrow-color: rgba(0, 0, 0, 0.54); + --mat-select-disabled-arrow-color: rgba(0, 0, 0, 0.38); + --mat-select-focused-arrow-color: rgba(244, 67, 54, 0.87); + --mat-select-invalid-arrow-color: rgba(244, 67, 54, 0.87); +} + +html { + --mat-autocomplete-background-color: white; +} + +.mat-mdc-dialog-container { + --mdc-dialog-container-color: white; + --mdc-dialog-subhead-color: rgba(0, 0, 0, 0.87); + --mdc-dialog-supporting-text-color: rgba(0, 0, 0, 0.6); +} + +.mat-mdc-standard-chip { + --mdc-chip-disabled-label-text-color: #212121; + --mdc-chip-elevated-container-color: #e0e0e0; + --mdc-chip-elevated-disabled-container-color: #e0e0e0; + --mdc-chip-focus-state-layer-color: black; + --mdc-chip-focus-state-layer-opacity: 0.12; + --mdc-chip-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-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: white; + --mdc-chip-elevated-container-color: #00bcd4; + --mdc-chip-elevated-disabled-container-color: #00bcd4; + --mdc-chip-focus-state-layer-color: black; + --mdc-chip-focus-state-layer-opacity: 0.12; + --mdc-chip-label-text-color: white; + --mdc-chip-with-icon-icon-color: white; + --mdc-chip-with-icon-disabled-icon-color: white; + --mdc-chip-with-icon-selected-icon-color: white; + --mdc-chip-with-trailing-icon-disabled-trailing-icon-color: white; + --mdc-chip-with-trailing-icon-trailing-icon-color: white; +} +.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: white; + --mdc-chip-elevated-container-color: #ff4081; + --mdc-chip-elevated-disabled-container-color: #ff4081; + --mdc-chip-focus-state-layer-color: black; + --mdc-chip-focus-state-layer-opacity: 0.12; + --mdc-chip-label-text-color: white; + --mdc-chip-with-icon-icon-color: white; + --mdc-chip-with-icon-disabled-icon-color: white; + --mdc-chip-with-icon-selected-icon-color: white; + --mdc-chip-with-trailing-icon-disabled-trailing-icon-color: white; + --mdc-chip-with-trailing-icon-trailing-icon-color: white; +} +.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: white; + --mdc-chip-elevated-container-color: #f44336; + --mdc-chip-elevated-disabled-container-color: #f44336; + --mdc-chip-focus-state-layer-color: black; + --mdc-chip-focus-state-layer-opacity: 0.12; + --mdc-chip-label-text-color: white; + --mdc-chip-with-icon-icon-color: white; + --mdc-chip-with-icon-disabled-icon-color: white; + --mdc-chip-with-icon-selected-icon-color: white; + --mdc-chip-with-trailing-icon-disabled-trailing-icon-color: white; + --mdc-chip-with-trailing-icon-trailing-icon-color: white; +} + +.mat-mdc-chip.mat-mdc-standard-chip { + --mdc-chip-container-height: 32px; +} + +.mat-mdc-slide-toggle { + --mdc-switch-selected-focus-state-layer-color: #00acc1; + --mdc-switch-selected-handle-color: #00acc1; + --mdc-switch-selected-hover-state-layer-color: #00acc1; + --mdc-switch-selected-pressed-state-layer-color: #00acc1; + --mdc-switch-selected-focus-handle-color: #006064; + --mdc-switch-selected-hover-handle-color: #006064; + --mdc-switch-selected-pressed-handle-color: #006064; + --mdc-switch-selected-focus-track-color: #4dd0e1; + --mdc-switch-selected-hover-track-color: #4dd0e1; + --mdc-switch-selected-pressed-track-color: #4dd0e1; + --mdc-switch-selected-track-color: #4dd0e1; + --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, 0.2), 0px 1px 1px 0px rgba(0, 0, 0, 0.14), 0px 1px 3px 0px rgba(0, 0, 0, 0.12); + --mdc-switch-handle-shadow-color: black; + --mdc-switch-disabled-handle-elevation-shadow: 0px 0px 0px 0px rgba(0, 0, 0, 0.2), 0px 0px 0px 0px rgba(0, 0, 0, 0.14), 0px 0px 0px 0px rgba(0, 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; +} +.mat-mdc-slide-toggle .mdc-form-field { + color: var(--mdc-theme-text-primary-on-background, rgba(0, 0, 0, 0.87)); +} +.mat-mdc-slide-toggle .mdc-switch--disabled + label { + color: rgba(0, 0, 0, 0.38); +} +.mat-mdc-slide-toggle.mat-accent { + --mdc-switch-selected-focus-state-layer-color: #d81b60; + --mdc-switch-selected-handle-color: #d81b60; + --mdc-switch-selected-hover-state-layer-color: #d81b60; + --mdc-switch-selected-pressed-state-layer-color: #d81b60; + --mdc-switch-selected-focus-handle-color: #880e4f; + --mdc-switch-selected-hover-handle-color: #880e4f; + --mdc-switch-selected-pressed-handle-color: #880e4f; + --mdc-switch-selected-focus-track-color: #f06292; + --mdc-switch-selected-hover-track-color: #f06292; + --mdc-switch-selected-pressed-track-color: #f06292; + --mdc-switch-selected-track-color: #f06292; +} +.mat-mdc-slide-toggle.mat-warn { + --mdc-switch-selected-focus-state-layer-color: #e53935; + --mdc-switch-selected-handle-color: #e53935; + --mdc-switch-selected-hover-state-layer-color: #e53935; + --mdc-switch-selected-pressed-state-layer-color: #e53935; + --mdc-switch-selected-focus-handle-color: #b71c1c; + --mdc-switch-selected-hover-handle-color: #b71c1c; + --mdc-switch-selected-pressed-handle-color: #b71c1c; + --mdc-switch-selected-focus-track-color: #e57373; + --mdc-switch-selected-hover-track-color: #e57373; + --mdc-switch-selected-pressed-track-color: #e57373; + --mdc-switch-selected-track-color: #e57373; +} + +.mat-mdc-slide-toggle { + --mdc-switch-state-layer-size: 48px; +} + +.mat-mdc-radio-button .mdc-form-field { + color: var(--mdc-theme-text-primary-on-background, rgba(0, 0, 0, 0.87)); +} + +.mat-mdc-radio-button.mat-primary { + --mdc-radio-disabled-selected-icon-color: #000; + --mdc-radio-disabled-unselected-icon-color: #000; + --mdc-radio-unselected-hover-icon-color: #212121; + --mdc-radio-unselected-icon-color: rgba(0, 0, 0, 0.54); + --mdc-radio-unselected-pressed-icon-color: rgba(0, 0, 0, 0.54); + --mdc-radio-selected-focus-icon-color: #00bcd4; + --mdc-radio-selected-hover-icon-color: #00bcd4; + --mdc-radio-selected-icon-color: #00bcd4; + --mdc-radio-selected-pressed-icon-color: #00bcd4; + --mat-radio-ripple-color: #000; + --mat-radio-checked-ripple-color: #00bcd4; + --mat-radio-disabled-label-color: rgba(0, 0, 0, 0.38); +} +.mat-mdc-radio-button.mat-accent { + --mdc-radio-disabled-selected-icon-color: #000; + --mdc-radio-disabled-unselected-icon-color: #000; + --mdc-radio-unselected-hover-icon-color: #212121; + --mdc-radio-unselected-icon-color: rgba(0, 0, 0, 0.54); + --mdc-radio-unselected-pressed-icon-color: rgba(0, 0, 0, 0.54); + --mdc-radio-selected-focus-icon-color: #ff4081; + --mdc-radio-selected-hover-icon-color: #ff4081; + --mdc-radio-selected-icon-color: #ff4081; + --mdc-radio-selected-pressed-icon-color: #ff4081; + --mat-radio-ripple-color: #000; + --mat-radio-checked-ripple-color: #ff4081; + --mat-radio-disabled-label-color: rgba(0, 0, 0, 0.38); +} +.mat-mdc-radio-button.mat-warn { + --mdc-radio-disabled-selected-icon-color: #000; + --mdc-radio-disabled-unselected-icon-color: #000; + --mdc-radio-unselected-hover-icon-color: #212121; + --mdc-radio-unselected-icon-color: rgba(0, 0, 0, 0.54); + --mdc-radio-unselected-pressed-icon-color: rgba(0, 0, 0, 0.54); + --mdc-radio-selected-focus-icon-color: #f44336; + --mdc-radio-selected-hover-icon-color: #f44336; + --mdc-radio-selected-icon-color: #f44336; + --mdc-radio-selected-pressed-icon-color: #f44336; + --mat-radio-ripple-color: #000; + --mat-radio-checked-ripple-color: #f44336; + --mat-radio-disabled-label-color: rgba(0, 0, 0, 0.38); +} + +.mat-mdc-radio-button .mdc-radio { + --mdc-radio-state-layer-size: 40px; +} + +.mat-mdc-slider { + --mdc-slider-label-container-color: black; + --mdc-slider-label-label-text-color: white; + --mdc-slider-disabled-handle-color: #000; + --mdc-slider-disabled-active-track-color: #000; + --mdc-slider-disabled-inactive-track-color: #000; + --mdc-slider-with-tick-marks-disabled-container-color: #000; + --mat-mdc-slider-value-indicator-opacity: 0.6; +} +.mat-mdc-slider.mat-primary { + --mdc-slider-handle-color: #00bcd4; + --mdc-slider-focus-handle-color: #00bcd4; + --mdc-slider-hover-handle-color: #00bcd4; + --mdc-slider-active-track-color: #00bcd4; + --mdc-slider-inactive-track-color: #00bcd4; + --mdc-slider-with-tick-marks-active-container-color: #000; + --mdc-slider-with-tick-marks-inactive-container-color: #00bcd4; + --mat-mdc-slider-ripple-color: #00bcd4; + --mat-mdc-slider-hover-ripple-color: rgba(0, 188, 212, 0.05); + --mat-mdc-slider-focus-ripple-color: rgba(0, 188, 212, 0.2); +} +.mat-mdc-slider.mat-accent { + --mdc-slider-handle-color: #ff4081; + --mdc-slider-focus-handle-color: #ff4081; + --mdc-slider-hover-handle-color: #ff4081; + --mdc-slider-active-track-color: #ff4081; + --mdc-slider-inactive-track-color: #ff4081; + --mdc-slider-with-tick-marks-active-container-color: #fff; + --mdc-slider-with-tick-marks-inactive-container-color: #ff4081; + --mat-mdc-slider-ripple-color: #ff4081; + --mat-mdc-slider-hover-ripple-color: rgba(255, 64, 129, 0.05); + --mat-mdc-slider-focus-ripple-color: rgba(255, 64, 129, 0.2); +} +.mat-mdc-slider.mat-warn { + --mdc-slider-handle-color: #f44336; + --mdc-slider-focus-handle-color: #f44336; + --mdc-slider-hover-handle-color: #f44336; + --mdc-slider-active-track-color: #f44336; + --mdc-slider-inactive-track-color: #f44336; + --mdc-slider-with-tick-marks-active-container-color: #fff; + --mdc-slider-with-tick-marks-inactive-container-color: #f44336; + --mat-mdc-slider-ripple-color: #f44336; + --mat-mdc-slider-hover-ripple-color: rgba(244, 67, 54, 0.05); + --mat-mdc-slider-focus-ripple-color: rgba(244, 67, 54, 0.2); +} + +html { + --mat-menu-item-label-text-color: rgba(0, 0, 0, 0.87); + --mat-menu-item-icon-color: rgba(0, 0, 0, 0.87); + --mat-menu-item-hover-state-layer-color: rgba(0, 0, 0, 0.04); + --mat-menu-item-focus-state-layer-color: rgba(0, 0, 0, 0.04); + --mat-menu-container-color: white; +} + +.mat-mdc-list-base { + --mdc-list-list-item-label-text-color: rgba(0, 0, 0, 0.87); + --mdc-list-list-item-supporting-text-color: rgba(0, 0, 0, 0.54); + --mdc-list-list-item-leading-icon-color: rgba(0, 0, 0, 0.38); + --mdc-list-list-item-trailing-supporting-text-color: rgba(0, 0, 0, 0.38); + --mdc-list-list-item-trailing-icon-color: rgba(0, 0, 0, 0.38); + --mdc-list-list-item-selected-trailing-icon-color: rgba(0, 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, 0.87); + --mdc-list-list-item-hover-leading-icon-color: rgba(0, 0, 0, 0.38); + --mdc-list-list-item-hover-trailing-icon-color: rgba(0, 0, 0, 0.38); + --mdc-list-list-item-focus-label-text-color: rgba(0, 0, 0, 0.87); + --mdc-list-list-item-hover-state-layer-color: black; + --mdc-list-list-item-hover-state-layer-opacity: 0.04; + --mdc-list-list-item-focus-state-layer-color: black; + --mdc-list-list-item-focus-state-layer-opacity: 0.12; +} + +.mdc-list-item__start, +.mdc-list-item__end { + --mdc-radio-disabled-selected-icon-color: #000; + --mdc-radio-disabled-unselected-icon-color: #000; + --mdc-radio-unselected-hover-icon-color: #212121; + --mdc-radio-unselected-icon-color: rgba(0, 0, 0, 0.54); + --mdc-radio-unselected-pressed-icon-color: rgba(0, 0, 0, 0.54); + --mdc-radio-selected-focus-icon-color: #00bcd4; + --mdc-radio-selected-hover-icon-color: #00bcd4; + --mdc-radio-selected-icon-color: #00bcd4; + --mdc-radio-selected-pressed-icon-color: #00bcd4; +} + +.mat-accent .mdc-list-item__start, +.mat-accent .mdc-list-item__end { + --mdc-radio-disabled-selected-icon-color: #000; + --mdc-radio-disabled-unselected-icon-color: #000; + --mdc-radio-unselected-hover-icon-color: #212121; + --mdc-radio-unselected-icon-color: rgba(0, 0, 0, 0.54); + --mdc-radio-unselected-pressed-icon-color: rgba(0, 0, 0, 0.54); + --mdc-radio-selected-focus-icon-color: #ff4081; + --mdc-radio-selected-hover-icon-color: #ff4081; + --mdc-radio-selected-icon-color: #ff4081; + --mdc-radio-selected-pressed-icon-color: #ff4081; +} + +.mat-warn .mdc-list-item__start, +.mat-warn .mdc-list-item__end { + --mdc-radio-disabled-selected-icon-color: #000; + --mdc-radio-disabled-unselected-icon-color: #000; + --mdc-radio-unselected-hover-icon-color: #212121; + --mdc-radio-unselected-icon-color: rgba(0, 0, 0, 0.54); + --mdc-radio-unselected-pressed-icon-color: rgba(0, 0, 0, 0.54); + --mdc-radio-selected-focus-icon-color: #f44336; + --mdc-radio-selected-hover-icon-color: #f44336; + --mdc-radio-selected-icon-color: #f44336; + --mdc-radio-selected-pressed-icon-color: #f44336; +} + +.mat-mdc-list-option { + --mdc-checkbox-disabled-selected-icon-color: rgba(0, 0, 0, 0.38); + --mdc-checkbox-disabled-unselected-icon-color: rgba(0, 0, 0, 0.38); + --mdc-checkbox-selected-checkmark-color: #000; + --mdc-checkbox-selected-focus-icon-color: #00bcd4; + --mdc-checkbox-selected-hover-icon-color: #00bcd4; + --mdc-checkbox-selected-icon-color: #00bcd4; + --mdc-checkbox-selected-pressed-icon-color: #00bcd4; + --mdc-checkbox-unselected-focus-icon-color: #212121; + --mdc-checkbox-unselected-hover-icon-color: #212121; + --mdc-checkbox-unselected-icon-color: rgba(0, 0, 0, 0.54); + --mdc-checkbox-unselected-pressed-icon-color: rgba(0, 0, 0, 0.54); + --mdc-checkbox-selected-focus-state-layer-color: #00bcd4; + --mdc-checkbox-selected-hover-state-layer-color: #00bcd4; + --mdc-checkbox-selected-pressed-state-layer-color: #00bcd4; + --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, 0.38); + --mdc-checkbox-disabled-unselected-icon-color: rgba(0, 0, 0, 0.38); + --mdc-checkbox-selected-checkmark-color: #fff; + --mdc-checkbox-selected-focus-icon-color: #ff4081; + --mdc-checkbox-selected-hover-icon-color: #ff4081; + --mdc-checkbox-selected-icon-color: #ff4081; + --mdc-checkbox-selected-pressed-icon-color: #ff4081; + --mdc-checkbox-unselected-focus-icon-color: #212121; + --mdc-checkbox-unselected-hover-icon-color: #212121; + --mdc-checkbox-unselected-icon-color: rgba(0, 0, 0, 0.54); + --mdc-checkbox-unselected-pressed-icon-color: rgba(0, 0, 0, 0.54); + --mdc-checkbox-selected-focus-state-layer-color: #ff4081; + --mdc-checkbox-selected-hover-state-layer-color: #ff4081; + --mdc-checkbox-selected-pressed-state-layer-color: #ff4081; + --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, 0.38); + --mdc-checkbox-disabled-unselected-icon-color: rgba(0, 0, 0, 0.38); + --mdc-checkbox-selected-checkmark-color: #fff; + --mdc-checkbox-selected-focus-icon-color: #f44336; + --mdc-checkbox-selected-hover-icon-color: #f44336; + --mdc-checkbox-selected-icon-color: #f44336; + --mdc-checkbox-selected-pressed-icon-color: #f44336; + --mdc-checkbox-unselected-focus-icon-color: #212121; + --mdc-checkbox-unselected-hover-icon-color: #212121; + --mdc-checkbox-unselected-icon-color: rgba(0, 0, 0, 0.54); + --mdc-checkbox-unselected-pressed-icon-color: rgba(0, 0, 0, 0.54); + --mdc-checkbox-selected-focus-state-layer-color: #f44336; + --mdc-checkbox-selected-hover-state-layer-color: #f44336; + --mdc-checkbox-selected-pressed-state-layer-color: #f44336; + --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 { + color: #00bcd4; +} +.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: #00bcd4; +} + +.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; +} + +.mat-mdc-list-base { + --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-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, 0.87); + --mat-paginator-container-background-color: white; + --mat-paginator-enabled-icon-color: rgba(0, 0, 0, 0.54); + --mat-paginator-disabled-icon-color: rgba(0, 0, 0, 0.12); +} + +html { + --mat-paginator-container-size: 56px; +} + +.mat-mdc-paginator .mat-mdc-form-field-infix { + min-height: 40px; +} +.mat-mdc-paginator .mat-mdc-text-field-wrapper .mat-mdc-form-field-flex .mat-mdc-floating-label { + top: 20px; +} +.mat-mdc-paginator .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( + -26.75px) + scale(var(--mat-mdc-form-field-floating-label-scale, 0.75)); + transform: var(--mat-mdc-form-field-label-transform); +} +.mat-mdc-paginator .mat-mdc-text-field-wrapper.mdc-text-field--outlined .mat-mdc-form-field-infix { + padding-top: 8px; + padding-bottom: 8px; +} +.mat-mdc-paginator .mat-mdc-text-field-wrapper:not(.mdc-text-field--outlined) .mat-mdc-form-field-infix { + padding-top: 8px; + padding-bottom: 8px; +} +.mat-mdc-paginator .mdc-text-field--no-label:not(.mdc-text-field--outlined):not(.mdc-text-field--textarea) .mat-mdc-form-field-infix { + padding-top: 8px; + padding-bottom: 8px; +} +.mat-mdc-paginator .mat-mdc-text-field-wrapper:not(.mdc-text-field--outlined) .mat-mdc-floating-label { + display: none; +} + +.mat-mdc-tab-group, .mat-mdc-tab-nav-bar { + --mdc-tab-indicator-active-indicator-color: #00bcd4; + --mat-tab-header-disabled-ripple-color: rgba(0, 0, 0, 0.38); + --mat-tab-header-pagination-icon-color: #000; + --mat-tab-header-inactive-label-text-color: rgba(0, 0, 0, 0.6); + --mat-tab-header-active-label-text-color: #00bcd4; + --mat-tab-header-active-ripple-color: #00bcd4; + --mat-tab-header-inactive-ripple-color: #00bcd4; + --mat-tab-header-inactive-focus-label-text-color: rgba(0, 0, 0, 0.6); + --mat-tab-header-inactive-hover-label-text-color: rgba(0, 0, 0, 0.6); + --mat-tab-header-active-focus-label-text-color: #00bcd4; + --mat-tab-header-active-hover-label-text-color: #00bcd4; + --mat-tab-header-active-focus-indicator-color: #00bcd4; + --mat-tab-header-active-hover-indicator-color: #00bcd4; +} +.mat-mdc-tab-group.mat-accent, .mat-mdc-tab-nav-bar.mat-accent { + --mdc-tab-indicator-active-indicator-color: #ff4081; + --mat-tab-header-disabled-ripple-color: rgba(0, 0, 0, 0.38); + --mat-tab-header-pagination-icon-color: #000; + --mat-tab-header-inactive-label-text-color: rgba(0, 0, 0, 0.6); + --mat-tab-header-active-label-text-color: #ff4081; + --mat-tab-header-active-ripple-color: #ff4081; + --mat-tab-header-inactive-ripple-color: #ff4081; + --mat-tab-header-inactive-focus-label-text-color: rgba(0, 0, 0, 0.6); + --mat-tab-header-inactive-hover-label-text-color: rgba(0, 0, 0, 0.6); + --mat-tab-header-active-focus-label-text-color: #ff4081; + --mat-tab-header-active-hover-label-text-color: #ff4081; + --mat-tab-header-active-focus-indicator-color: #ff4081; + --mat-tab-header-active-hover-indicator-color: #ff4081; +} +.mat-mdc-tab-group.mat-warn, .mat-mdc-tab-nav-bar.mat-warn { + --mdc-tab-indicator-active-indicator-color: #f44336; + --mat-tab-header-disabled-ripple-color: rgba(0, 0, 0, 0.38); + --mat-tab-header-pagination-icon-color: #000; + --mat-tab-header-inactive-label-text-color: rgba(0, 0, 0, 0.6); + --mat-tab-header-active-label-text-color: #f44336; + --mat-tab-header-active-ripple-color: #f44336; + --mat-tab-header-inactive-ripple-color: #f44336; + --mat-tab-header-inactive-focus-label-text-color: rgba(0, 0, 0, 0.6); + --mat-tab-header-inactive-hover-label-text-color: rgba(0, 0, 0, 0.6); + --mat-tab-header-active-focus-label-text-color: #f44336; + --mat-tab-header-active-hover-label-text-color: #f44336; + --mat-tab-header-active-focus-indicator-color: #f44336; + --mat-tab-header-active-hover-indicator-color: #f44336; +} +.mat-mdc-tab-group.mat-background-primary, .mat-mdc-tab-nav-bar.mat-background-primary { + --mat-tab-header-with-background-background-color: #00bcd4; + --mat-tab-header-with-background-foreground-color: white; +} +.mat-mdc-tab-group.mat-background-accent, .mat-mdc-tab-nav-bar.mat-background-accent { + --mat-tab-header-with-background-background-color: #ff4081; + --mat-tab-header-with-background-foreground-color: white; +} +.mat-mdc-tab-group.mat-background-warn, .mat-mdc-tab-nav-bar.mat-background-warn { + --mat-tab-header-with-background-background-color: #f44336; + --mat-tab-header-with-background-foreground-color: white; +} + +.mat-mdc-tab-header { + --mdc-secondary-navigation-tab-container-height: 48px; +} + +html { + --mdc-checkbox-disabled-selected-icon-color: rgba(0, 0, 0, 0.38); + --mdc-checkbox-disabled-unselected-icon-color: rgba(0, 0, 0, 0.38); + --mdc-checkbox-selected-checkmark-color: #fff; + --mdc-checkbox-selected-focus-icon-color: #ff4081; + --mdc-checkbox-selected-hover-icon-color: #ff4081; + --mdc-checkbox-selected-icon-color: #ff4081; + --mdc-checkbox-selected-pressed-icon-color: #ff4081; + --mdc-checkbox-unselected-focus-icon-color: #212121; + --mdc-checkbox-unselected-hover-icon-color: #212121; + --mdc-checkbox-unselected-icon-color: rgba(0, 0, 0, 0.54); + --mdc-checkbox-unselected-pressed-icon-color: rgba(0, 0, 0, 0.54); + --mdc-checkbox-selected-focus-state-layer-color: #ff4081; + --mdc-checkbox-selected-hover-state-layer-color: #ff4081; + --mdc-checkbox-selected-pressed-state-layer-color: #ff4081; + --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-primary { + --mdc-checkbox-disabled-selected-icon-color: rgba(0, 0, 0, 0.38); + --mdc-checkbox-disabled-unselected-icon-color: rgba(0, 0, 0, 0.38); + --mdc-checkbox-selected-checkmark-color: #000; + --mdc-checkbox-selected-focus-icon-color: #00bcd4; + --mdc-checkbox-selected-hover-icon-color: #00bcd4; + --mdc-checkbox-selected-icon-color: #00bcd4; + --mdc-checkbox-selected-pressed-icon-color: #00bcd4; + --mdc-checkbox-unselected-focus-icon-color: #212121; + --mdc-checkbox-unselected-hover-icon-color: #212121; + --mdc-checkbox-unselected-icon-color: rgba(0, 0, 0, 0.54); + --mdc-checkbox-unselected-pressed-icon-color: rgba(0, 0, 0, 0.54); + --mdc-checkbox-selected-focus-state-layer-color: #00bcd4; + --mdc-checkbox-selected-hover-state-layer-color: #00bcd4; + --mdc-checkbox-selected-pressed-state-layer-color: #00bcd4; + --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, 0.38); + --mdc-checkbox-disabled-unselected-icon-color: rgba(0, 0, 0, 0.38); + --mdc-checkbox-selected-checkmark-color: #fff; + --mdc-checkbox-selected-focus-icon-color: #f44336; + --mdc-checkbox-selected-hover-icon-color: #f44336; + --mdc-checkbox-selected-icon-color: #f44336; + --mdc-checkbox-selected-pressed-icon-color: #f44336; + --mdc-checkbox-unselected-focus-icon-color: #212121; + --mdc-checkbox-unselected-hover-icon-color: #212121; + --mdc-checkbox-unselected-icon-color: rgba(0, 0, 0, 0.54); + --mdc-checkbox-unselected-pressed-icon-color: rgba(0, 0, 0, 0.54); + --mdc-checkbox-selected-focus-state-layer-color: #f44336; + --mdc-checkbox-selected-hover-state-layer-color: #f44336; + --mdc-checkbox-selected-pressed-state-layer-color: #f44336; + --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 .mdc-form-field { + color: var(--mdc-theme-text-primary-on-background, rgba(0, 0, 0, 0.87)); +} +.mat-mdc-checkbox.mat-mdc-checkbox-disabled label { + color: rgba(0, 0, 0, 0.38); +} + +html { + --mdc-checkbox-state-layer-size: 40px; +} + +.mat-mdc-button.mat-unthemed { + --mdc-text-button-label-text-color: #000; +} +.mat-mdc-button.mat-primary { + --mdc-text-button-label-text-color: #00bcd4; +} +.mat-mdc-button.mat-accent { + --mdc-text-button-label-text-color: #ff4081; +} +.mat-mdc-button.mat-warn { + --mdc-text-button-label-text-color: #f44336; +} +.mat-mdc-button[disabled][disabled] { + --mdc-text-button-disabled-label-text-color: rgba(0, 0, 0, 0.38); + --mdc-text-button-label-text-color: rgba(0, 0, 0, 0.38); +} + +.mat-mdc-unelevated-button.mat-unthemed { + --mdc-filled-button-container-color: #fff; + --mdc-filled-button-label-text-color: #000; +} +.mat-mdc-unelevated-button.mat-primary { + --mdc-filled-button-container-color: #00bcd4; + --mdc-filled-button-label-text-color: #000; +} +.mat-mdc-unelevated-button.mat-accent { + --mdc-filled-button-container-color: #ff4081; + --mdc-filled-button-label-text-color: #fff; +} +.mat-mdc-unelevated-button.mat-warn { + --mdc-filled-button-container-color: #f44336; + --mdc-filled-button-label-text-color: #fff; +} +.mat-mdc-unelevated-button[disabled][disabled] { + --mdc-filled-button-disabled-container-color: rgba(0, 0, 0, 0.12); + --mdc-filled-button-disabled-label-text-color: rgba(0, 0, 0, 0.38); + --mdc-filled-button-container-color: rgba(0, 0, 0, 0.12); + --mdc-filled-button-label-text-color: rgba(0, 0, 0, 0.38); +} + +.mat-mdc-raised-button.mat-unthemed { + --mdc-protected-button-container-color: #fff; + --mdc-protected-button-label-text-color: #000; +} +.mat-mdc-raised-button.mat-primary { + --mdc-protected-button-container-color: #00bcd4; + --mdc-protected-button-label-text-color: #000; +} +.mat-mdc-raised-button.mat-accent { + --mdc-protected-button-container-color: #ff4081; + --mdc-protected-button-label-text-color: #fff; +} +.mat-mdc-raised-button.mat-warn { + --mdc-protected-button-container-color: #f44336; + --mdc-protected-button-label-text-color: #fff; +} +.mat-mdc-raised-button[disabled][disabled] { + --mdc-protected-button-disabled-container-color: rgba(0, 0, 0, 0.12); + --mdc-protected-button-disabled-label-text-color: rgba(0, 0, 0, 0.38); + --mdc-protected-button-container-color: rgba(0, 0, 0, 0.12); + --mdc-protected-button-label-text-color: rgba(0, 0, 0, 0.38); + --mdc-protected-button-container-elevation: 0; +} + +.mat-mdc-outlined-button { + --mdc-outlined-button-outline-color: rgba(0, 0, 0, 0.12); +} +.mat-mdc-outlined-button.mat-unthemed { + --mdc-outlined-button-label-text-color: #000; +} +.mat-mdc-outlined-button.mat-primary { + --mdc-outlined-button-label-text-color: #00bcd4; +} +.mat-mdc-outlined-button.mat-accent { + --mdc-outlined-button-label-text-color: #ff4081; +} +.mat-mdc-outlined-button.mat-warn { + --mdc-outlined-button-label-text-color: #f44336; +} +.mat-mdc-outlined-button[disabled][disabled] { + --mdc-outlined-button-label-text-color: rgba(0, 0, 0, 0.38); + --mdc-outlined-button-disabled-label-text-color: rgba(0, 0, 0, 0.38); + --mdc-outlined-button-outline-color: rgba(0, 0, 0, 0.12); + --mdc-outlined-button-disabled-outline-color: rgba(0, 0, 0, 0.12); +} + +.mat-mdc-button, .mat-mdc-outlined-button { + --mat-mdc-button-persistent-ripple-color: #000; + --mat-mdc-button-ripple-color: rgba(0, 0, 0, 0.1); +} +.mat-mdc-button:hover .mat-mdc-button-persistent-ripple::before, .mat-mdc-outlined-button:hover .mat-mdc-button-persistent-ripple::before { + opacity: 0.04; +} +.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-outlined-button.cdk-program-focused .mat-mdc-button-persistent-ripple::before, .mat-mdc-outlined-button.cdk-keyboard-focused .mat-mdc-button-persistent-ripple::before { + opacity: 0.12; +} +.mat-mdc-button:active .mat-mdc-button-persistent-ripple::before, .mat-mdc-outlined-button:active .mat-mdc-button-persistent-ripple::before { + opacity: 0.12; +} +.mat-mdc-button.mat-primary, .mat-mdc-outlined-button.mat-primary { + --mat-mdc-button-persistent-ripple-color: #00bcd4; + --mat-mdc-button-ripple-color: rgba(0, 188, 212, 0.1); +} +.mat-mdc-button.mat-accent, .mat-mdc-outlined-button.mat-accent { + --mat-mdc-button-persistent-ripple-color: #ff4081; + --mat-mdc-button-ripple-color: rgba(255, 64, 129, 0.1); +} +.mat-mdc-button.mat-warn, .mat-mdc-outlined-button.mat-warn { + --mat-mdc-button-persistent-ripple-color: #f44336; + --mat-mdc-button-ripple-color: rgba(244, 67, 54, 0.1); +} + +.mat-mdc-raised-button, .mat-mdc-unelevated-button { + --mat-mdc-button-persistent-ripple-color: #000; + --mat-mdc-button-ripple-color: rgba(0, 0, 0, 0.1); +} +.mat-mdc-raised-button:hover .mat-mdc-button-persistent-ripple::before, .mat-mdc-unelevated-button:hover .mat-mdc-button-persistent-ripple::before { + opacity: 0.04; +} +.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-unelevated-button.cdk-program-focused .mat-mdc-button-persistent-ripple::before, .mat-mdc-unelevated-button.cdk-keyboard-focused .mat-mdc-button-persistent-ripple::before { + opacity: 0.12; +} +.mat-mdc-raised-button:active .mat-mdc-button-persistent-ripple::before, .mat-mdc-unelevated-button:active .mat-mdc-button-persistent-ripple::before { + opacity: 0.12; +} +.mat-mdc-raised-button.mat-primary, .mat-mdc-unelevated-button.mat-primary { + --mat-mdc-button-persistent-ripple-color: #000; + --mat-mdc-button-ripple-color: rgba(0, 0, 0, 0.1); +} +.mat-mdc-raised-button.mat-accent, .mat-mdc-unelevated-button.mat-accent { + --mat-mdc-button-persistent-ripple-color: #fff; + --mat-mdc-button-ripple-color: rgba(255, 255, 255, 0.1); +} +.mat-mdc-raised-button.mat-warn, .mat-mdc-unelevated-button.mat-warn { + --mat-mdc-button-persistent-ripple-color: #fff; + --mat-mdc-button-ripple-color: rgba(255, 255, 255, 0.1); +} + +.mat-mdc-button.mat-mdc-button-base, +.mat-mdc-raised-button.mat-mdc-button-base, +.mat-mdc-unelevated-button.mat-mdc-button-base, +.mat-mdc-outlined-button.mat-mdc-button-base { + height: 36px; +} + +.mat-mdc-icon-button { + --mat-mdc-button-persistent-ripple-color: #000; + --mat-mdc-button-ripple-color: rgba(0, 0, 0, 0.1); + --mdc-icon-button-icon-color: inherit; + --mat-mdc-button-persistent-ripple-color: #000; + --mat-mdc-button-ripple-color: rgba(0, 0, 0, 0.1); +} +.mat-mdc-icon-button:hover .mat-mdc-button-persistent-ripple::before { + opacity: 0.04; +} +.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 { + opacity: 0.12; +} +.mat-mdc-icon-button:active .mat-mdc-button-persistent-ripple::before { + opacity: 0.12; +} +.mat-mdc-icon-button.mat-primary { + --mat-mdc-button-persistent-ripple-color: #6200ee; + --mat-mdc-button-ripple-color: rgba(98, 0, 238, 0.1); +} +.mat-mdc-icon-button.mat-accent { + --mat-mdc-button-persistent-ripple-color: #018786; + --mat-mdc-button-ripple-color: rgba(1, 135, 134, 0.1); +} +.mat-mdc-icon-button.mat-warn { + --mat-mdc-button-persistent-ripple-color: #b00020; + --mat-mdc-button-ripple-color: rgba(176, 0, 32, 0.1); +} +.mat-mdc-icon-button.mat-primary { + --mdc-icon-button-icon-color: #00bcd4; + --mat-mdc-button-persistent-ripple-color: #00bcd4; + --mat-mdc-button-ripple-color: rgba(0, 188, 212, 0.1); +} +.mat-mdc-icon-button.mat-accent { + --mdc-icon-button-icon-color: #ff4081; + --mat-mdc-button-persistent-ripple-color: #ff4081; + --mat-mdc-button-ripple-color: rgba(255, 64, 129, 0.1); +} +.mat-mdc-icon-button.mat-warn { + --mdc-icon-button-icon-color: #f44336; + --mat-mdc-button-persistent-ripple-color: #f44336; + --mat-mdc-button-ripple-color: rgba(244, 67, 54, 0.1); +} +.mat-mdc-icon-button[disabled][disabled] { + --mdc-icon-button-icon-color: rgba(0, 0, 0, 0.38); + --mdc-icon-button-disabled-icon-color: rgba(0, 0, 0, 0.38); +} + +.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; +} + +.mat-mdc-fab, +.mat-mdc-mini-fab { + --mat-mdc-button-persistent-ripple-color: #000; + --mat-mdc-button-ripple-color: rgba(0, 0, 0, 0.1); +} +.mat-mdc-fab:hover .mat-mdc-button-persistent-ripple::before, +.mat-mdc-mini-fab:hover .mat-mdc-button-persistent-ripple::before { + opacity: 0.04; +} +.mat-mdc-fab.cdk-program-focused .mat-mdc-button-persistent-ripple::before, .mat-mdc-fab.cdk-keyboard-focused .mat-mdc-button-persistent-ripple::before, +.mat-mdc-mini-fab.cdk-program-focused .mat-mdc-button-persistent-ripple::before, +.mat-mdc-mini-fab.cdk-keyboard-focused .mat-mdc-button-persistent-ripple::before { + opacity: 0.12; +} +.mat-mdc-fab:active .mat-mdc-button-persistent-ripple::before, +.mat-mdc-mini-fab:active .mat-mdc-button-persistent-ripple::before { + opacity: 0.12; +} +.mat-mdc-fab.mat-primary, +.mat-mdc-mini-fab.mat-primary { + --mat-mdc-button-persistent-ripple-color: #000; + --mat-mdc-button-ripple-color: rgba(0, 0, 0, 0.1); +} +.mat-mdc-fab.mat-accent, +.mat-mdc-mini-fab.mat-accent { + --mat-mdc-button-persistent-ripple-color: #fff; + --mat-mdc-button-ripple-color: rgba(255, 255, 255, 0.1); +} +.mat-mdc-fab.mat-warn, +.mat-mdc-mini-fab.mat-warn { + --mat-mdc-button-persistent-ripple-color: #fff; + --mat-mdc-button-ripple-color: rgba(255, 255, 255, 0.1); +} +.mat-mdc-fab[disabled][disabled], +.mat-mdc-mini-fab[disabled][disabled] { + --mdc-fab-container-color: rgba(0, 0, 0, 0.12); + --mdc-fab-icon-color: rgba(0, 0, 0, 0.38); + --mat-mdc-fab-color: rgba(0, 0, 0, 0.38); +} +.mat-mdc-fab.mat-unthemed, +.mat-mdc-mini-fab.mat-unthemed { + --mdc-fab-container-color: white; + --mdc-fab-icon-color: black; + --mat-mdc-fab-color: #000; +} +.mat-mdc-fab.mat-primary, +.mat-mdc-mini-fab.mat-primary { + --mdc-fab-container-color: #00bcd4; + --mdc-fab-icon-color: black; + --mat-mdc-fab-color: #000; +} +.mat-mdc-fab.mat-accent, +.mat-mdc-mini-fab.mat-accent { + --mdc-fab-container-color: #ff4081; + --mdc-fab-icon-color: white; + --mat-mdc-fab-color: #fff; +} +.mat-mdc-fab.mat-warn, +.mat-mdc-mini-fab.mat-warn { + --mdc-fab-container-color: #f44336; + --mdc-fab-icon-color: white; + --mat-mdc-fab-color: #fff; +} + +.mat-mdc-snack-bar-container { + --mdc-snackbar-container-color: #333333; + --mdc-snackbar-supporting-text-color: rgba(255, 255, 255, 0.87); + --mat-snack-bar-button-color: #ff4081; +} + +html { + --mat-table-background-color: white; + --mat-table-header-headline-color: rgba(0, 0, 0, 0.87); + --mat-table-row-item-label-text-color: rgba(0, 0, 0, 0.87); + --mat-table-row-item-outline-color: rgba(0, 0, 0, 0.12); +} + +html { + --mat-table-header-container-height: 56px; + --mat-table-footer-container-height: 52px; + --mat-table-row-item-container-height: 52px; +} + +.mat-mdc-progress-spinner { + --mdc-circular-progress-active-indicator-color: #00bcd4; +} +.mat-mdc-progress-spinner.mat-accent { + --mdc-circular-progress-active-indicator-color: #ff4081; +} +.mat-mdc-progress-spinner.mat-warn { + --mdc-circular-progress-active-indicator-color: #f44336; +} + +.mat-badge { + position: relative; +} +.mat-badge.mat-badge { + overflow: visible; +} + +.mat-badge-content { + position: absolute; + text-align: center; + display: inline-block; + border-radius: 50%; + transition: transform 200ms ease-in-out; + transform: scale(0.6); + overflow: hidden; + white-space: nowrap; + text-overflow: ellipsis; + pointer-events: none; + background-color: var(--mat-badge-background-color); + color: var(--mat-badge-text-color); + font-family: Roboto, sans-serif; + /* @alternate */ + font-family: var(--mat-badge-text-font, Roboto, sans-serif); + font-size: 12px; + /* @alternate */ + font-size: var(--mat-badge-text-size, 12px); + font-weight: 600; + /* @alternate */ + font-weight: var(--mat-badge-text-weight, 600); +} +.cdk-high-contrast-active .mat-badge-content { + outline: solid 1px; + border-radius: 0; +} + +.mat-badge-disabled .mat-badge-content { + background-color: var(--mat-badge-disabled-state-background-color); + color: var(--mat-badge-disabled-state-text-color); +} + +.mat-badge-hidden .mat-badge-content { + display: none; +} + +.ng-animate-disabled .mat-badge-content, +.mat-badge-content._mat-animation-noopable { + transition: none; +} + +.mat-badge-content.mat-badge-active { + transform: none; +} + +.mat-badge-small .mat-badge-content { + width: 16px; + height: 16px; + line-height: 16px; + font-size: 9px; + /* @alternate */ + font-size: var(--mat-badge-small-size-text-size, 9px); +} +.mat-badge-small.mat-badge-above .mat-badge-content { + top: -8px; +} +.mat-badge-small.mat-badge-below .mat-badge-content { + bottom: -8px; +} +.mat-badge-small.mat-badge-before .mat-badge-content { + left: -16px; +} +[dir=rtl] .mat-badge-small.mat-badge-before .mat-badge-content { + left: auto; + right: -16px; +} +.mat-badge-small.mat-badge-after .mat-badge-content { + right: -16px; +} +[dir=rtl] .mat-badge-small.mat-badge-after .mat-badge-content { + right: auto; + left: -16px; +} +.mat-badge-small.mat-badge-overlap.mat-badge-before .mat-badge-content { + left: -8px; +} +[dir=rtl] .mat-badge-small.mat-badge-overlap.mat-badge-before .mat-badge-content { + left: auto; + right: -8px; +} +.mat-badge-small.mat-badge-overlap.mat-badge-after .mat-badge-content { + right: -8px; +} +[dir=rtl] .mat-badge-small.mat-badge-overlap.mat-badge-after .mat-badge-content { + right: auto; + left: -8px; +} + +.mat-badge-medium .mat-badge-content { + width: 22px; + height: 22px; + line-height: 22px; +} +.mat-badge-medium.mat-badge-above .mat-badge-content { + top: -11px; +} +.mat-badge-medium.mat-badge-below .mat-badge-content { + bottom: -11px; +} +.mat-badge-medium.mat-badge-before .mat-badge-content { + left: -22px; +} +[dir=rtl] .mat-badge-medium.mat-badge-before .mat-badge-content { + left: auto; + right: -22px; +} +.mat-badge-medium.mat-badge-after .mat-badge-content { + right: -22px; +} +[dir=rtl] .mat-badge-medium.mat-badge-after .mat-badge-content { + right: auto; + left: -22px; +} +.mat-badge-medium.mat-badge-overlap.mat-badge-before .mat-badge-content { + left: -11px; +} +[dir=rtl] .mat-badge-medium.mat-badge-overlap.mat-badge-before .mat-badge-content { + left: auto; + right: -11px; +} +.mat-badge-medium.mat-badge-overlap.mat-badge-after .mat-badge-content { + right: -11px; +} +[dir=rtl] .mat-badge-medium.mat-badge-overlap.mat-badge-after .mat-badge-content { + right: auto; + left: -11px; +} + +.mat-badge-large .mat-badge-content { + width: 28px; + height: 28px; + line-height: 28px; + font-size: 24px; + /* @alternate */ + font-size: var(--mat-badge-large-size-text-size, 24px); +} +.mat-badge-large.mat-badge-above .mat-badge-content { + top: -14px; +} +.mat-badge-large.mat-badge-below .mat-badge-content { + bottom: -14px; +} +.mat-badge-large.mat-badge-before .mat-badge-content { + left: -28px; +} +[dir=rtl] .mat-badge-large.mat-badge-before .mat-badge-content { + left: auto; + right: -28px; +} +.mat-badge-large.mat-badge-after .mat-badge-content { + right: -28px; +} +[dir=rtl] .mat-badge-large.mat-badge-after .mat-badge-content { + right: auto; + left: -28px; +} +.mat-badge-large.mat-badge-overlap.mat-badge-before .mat-badge-content { + left: -14px; +} +[dir=rtl] .mat-badge-large.mat-badge-overlap.mat-badge-before .mat-badge-content { + left: auto; + right: -14px; +} +.mat-badge-large.mat-badge-overlap.mat-badge-after .mat-badge-content { + right: -14px; +} +[dir=rtl] .mat-badge-large.mat-badge-overlap.mat-badge-after .mat-badge-content { + right: auto; + left: -14px; +} + +html { + --mat-badge-background-color: #00bcd4; + --mat-badge-text-color: white; + --mat-badge-disabled-state-background-color: #b9b9b9; + --mat-badge-disabled-state-text-color: rgba(0, 0, 0, 0.38); +} + +.mat-badge-accent { + --mat-badge-background-color: #ff4081; + --mat-badge-text-color: white; +} + +.mat-badge-warn { + --mat-badge-background-color: #f44336; + --mat-badge-text-color: white; +} + +html { + --mat-bottom-sheet-container-text-color: rgba(0, 0, 0, 0.87); + --mat-bottom-sheet-container-background-color: white; +} + +html { + --mat-legacy-button-toggle-text-color: rgba(0, 0, 0, 0.38); + --mat-legacy-button-toggle-state-layer-color: rgba(0, 0, 0, 0.12); + --mat-legacy-button-toggle-selected-state-text-color: rgba(0, 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, 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, 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, 0.87); + --mat-standard-button-toggle-disabled-state-text-color: rgba(0, 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, 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-date-selected-state-text-color: white; + --mat-datepicker-calendar-date-selected-state-background-color: #00bcd4; + --mat-datepicker-calendar-date-selected-disabled-state-background-color: rgba(0, 188, 212, 0.4); + --mat-datepicker-calendar-date-today-selected-state-outline-color: white; + --mat-datepicker-calendar-date-focus-state-background-color: rgba(0, 188, 212, 0.3); + --mat-datepicker-calendar-date-hover-state-background-color: rgba(0, 188, 212, 0.3); + --mat-datepicker-toggle-active-state-icon-color: #00bcd4; + --mat-datepicker-calendar-date-in-range-state-background-color: rgba(0, 188, 212, 0.2); + --mat-datepicker-calendar-date-in-comparison-range-state-background-color: rgba(249, 171, 0, 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, 0.54); + --mat-datepicker-calendar-body-label-text-color: rgba(0, 0, 0, 0.54); + --mat-datepicker-calendar-period-button-icon-color: rgba(0, 0, 0, 0.54); + --mat-datepicker-calendar-navigation-button-icon-color: rgba(0, 0, 0, 0.54); + --mat-datepicker-calendar-header-divider-color: rgba(0, 0, 0, 0.12); + --mat-datepicker-calendar-header-text-color: rgba(0, 0, 0, 0.54); + --mat-datepicker-calendar-date-today-outline-color: rgba(0, 0, 0, 0.38); + --mat-datepicker-calendar-date-today-disabled-state-outline-color: rgba(0, 0, 0, 0.18); + --mat-datepicker-calendar-date-text-color: rgba(0, 0, 0, 0.87); + --mat-datepicker-calendar-date-outline-color: transparent; + --mat-datepicker-calendar-date-disabled-state-text-color: rgba(0, 0, 0, 0.38); + --mat-datepicker-calendar-date-preview-state-outline-color: rgba(0, 0, 0, 0.24); + --mat-datepicker-range-input-separator-color: rgba(0, 0, 0, 0.87); + --mat-datepicker-range-input-disabled-state-separator-color: rgba(0, 0, 0, 0.38); + --mat-datepicker-range-input-disabled-state-text-color: rgba(0, 0, 0, 0.38); + --mat-datepicker-calendar-container-background-color: white; + --mat-datepicker-calendar-container-text-color: rgba(0, 0, 0, 0.87); +} + +.mat-datepicker-content.mat-accent { + --mat-datepicker-calendar-date-selected-state-text-color: white; + --mat-datepicker-calendar-date-selected-state-background-color: #ff4081; + --mat-datepicker-calendar-date-selected-disabled-state-background-color: rgba(255, 64, 129, 0.4); + --mat-datepicker-calendar-date-today-selected-state-outline-color: white; + --mat-datepicker-calendar-date-focus-state-background-color: rgba(255, 64, 129, 0.3); + --mat-datepicker-calendar-date-hover-state-background-color: rgba(255, 64, 129, 0.3); + --mat-datepicker-calendar-date-in-range-state-background-color: rgba(255, 64, 129, 0.2); + --mat-datepicker-calendar-date-in-comparison-range-state-background-color: rgba(249, 171, 0, 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: white; + --mat-datepicker-calendar-date-selected-state-background-color: #f44336; + --mat-datepicker-calendar-date-selected-disabled-state-background-color: rgba(244, 67, 54, 0.4); + --mat-datepicker-calendar-date-today-selected-state-outline-color: white; + --mat-datepicker-calendar-date-focus-state-background-color: rgba(244, 67, 54, 0.3); + --mat-datepicker-calendar-date-hover-state-background-color: rgba(244, 67, 54, 0.3); + --mat-datepicker-calendar-date-in-range-state-background-color: rgba(244, 67, 54, 0.2); + --mat-datepicker-calendar-date-in-comparison-range-state-background-color: rgba(249, 171, 0, 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: #ff4081; +} +.mat-datepicker-toggle-active.mat-warn { + --mat-datepicker-toggle-active-state-icon-color: #f44336; +} + +.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; +} +.mat-calendar-controls .mat-mdc-icon-button.mat-mdc-button-base .mat-mdc-button-touch-target { + display: none; +} + +html { + --mat-divider-color: rgba(0, 0, 0, 0.12); +} + +html { + --mat-expansion-container-background-color: white; + --mat-expansion-container-text-color: rgba(0, 0, 0, 0.87); + --mat-expansion-actions-divider-color: rgba(0, 0, 0, 0.12); + --mat-expansion-header-hover-state-layer-color: rgba(0, 0, 0, 0.04); + --mat-expansion-header-focus-state-layer-color: rgba(0, 0, 0, 0.04); + --mat-expansion-header-disabled-state-text-color: rgba(0, 0, 0, 0.26); + --mat-expansion-header-text-color: rgba(0, 0, 0, 0.87); + --mat-expansion-header-description-color: rgba(0, 0, 0, 0.54); + --mat-expansion-header-indicator-color: rgba(0, 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: #00bcd4; +} +.mat-icon.mat-accent { + --mat-icon-color: #ff4081; +} +.mat-icon.mat-warn { + --mat-icon-color: #f44336; +} + +html { + --mat-sidenav-container-divider-color: rgba(0, 0, 0, 0.12); + --mat-sidenav-container-background-color: white; + --mat-sidenav-container-text-color: rgba(0, 0, 0, 0.87); + --mat-sidenav-content-background-color: #fafafa; + --mat-sidenav-content-text-color: rgba(0, 0, 0, 0.87); + --mat-sidenav-scrim-color: rgba(0, 0, 0, 0.6); +} + +html { + --mat-stepper-header-icon-foreground-color: white; + --mat-stepper-header-selected-state-icon-background-color: #00bcd4; + --mat-stepper-header-selected-state-icon-foreground-color: white; + --mat-stepper-header-done-state-icon-background-color: #00bcd4; + --mat-stepper-header-done-state-icon-foreground-color: white; + --mat-stepper-header-edit-state-icon-background-color: #00bcd4; + --mat-stepper-header-edit-state-icon-foreground-color: white; + --mat-stepper-container-color: white; + --mat-stepper-line-color: rgba(0, 0, 0, 0.12); + --mat-stepper-header-hover-state-layer-color: rgba(0, 0, 0, 0.04); + --mat-stepper-header-focus-state-layer-color: rgba(0, 0, 0, 0.04); + --mat-stepper-header-label-text-color: rgba(0, 0, 0, 0.54); + --mat-stepper-header-optional-label-text-color: rgba(0, 0, 0, 0.54); + --mat-stepper-header-selected-state-label-text-color: rgba(0, 0, 0, 0.87); + --mat-stepper-header-error-state-label-text-color: #f44336; + --mat-stepper-header-icon-background-color: rgba(0, 0, 0, 0.54); + --mat-stepper-header-error-state-icon-foreground-color: #f44336; + --mat-stepper-header-error-state-icon-background-color: transparent; +} +html .mat-step-header.mat-accent { + --mat-stepper-header-icon-foreground-color: white; + --mat-stepper-header-selected-state-icon-background-color: #ff4081; + --mat-stepper-header-selected-state-icon-foreground-color: white; + --mat-stepper-header-done-state-icon-background-color: #ff4081; + --mat-stepper-header-done-state-icon-foreground-color: white; + --mat-stepper-header-edit-state-icon-background-color: #ff4081; + --mat-stepper-header-edit-state-icon-foreground-color: white; +} +html .mat-step-header.mat-warn { + --mat-stepper-header-icon-foreground-color: white; + --mat-stepper-header-selected-state-icon-background-color: #f44336; + --mat-stepper-header-selected-state-icon-foreground-color: white; + --mat-stepper-header-done-state-icon-background-color: #f44336; + --mat-stepper-header-done-state-icon-foreground-color: white; + --mat-stepper-header-edit-state-icon-background-color: #f44336; + --mat-stepper-header-edit-state-icon-foreground-color: white; +} + +html { + --mat-stepper-header-height: 72px; +} + +.mat-sort-header-arrow { + color: #757575; +} + +html { + --mat-toolbar-container-background-color: whitesmoke; + --mat-toolbar-container-text-color: rgba(0, 0, 0, 0.87); +} + +.mat-toolbar.mat-primary { + --mat-toolbar-container-background-color: #00bcd4; + --mat-toolbar-container-text-color: white; +} +.mat-toolbar.mat-accent { + --mat-toolbar-container-background-color: #ff4081; + --mat-toolbar-container-text-color: white; +} +.mat-toolbar.mat-warn { + --mat-toolbar-container-background-color: #f44336; + --mat-toolbar-container-text-color: white; +} + +html { + --mat-toolbar-standard-height: 64px; + --mat-toolbar-mobile-height: 56px; +} + +.mat-tree { + background: white; +} + +.mat-tree-node, +.mat-nested-tree-node { + color: rgba(0, 0, 0, 0.87); +} + +.mat-tree-node { + min-height: 48px; +} + +/* FONTS */ +@font-face { + font-family: Roboto; + font-style: normal; + font-weight: 700; + src: local("Roboto-Regular"), url('Roboto-Regular.woff'); +} +/* You can add global styles to this file, and also import other style files */ +html, +body { + height: 100%; +} + +body { + margin: 0; + font-family: Roboto, "Helvetica Neue", Arial, sans-serif; +} + +.smallScrollbar { + /* Works on Firefox */ + scrollbar-width: thin; + /* Works on Chrome, Edge, and Safari */ +} +.smallScrollbar *::-webkit-scrollbar { + width: 12px; +} + +.headline { + font-size: 17pt; + height: 40px; + cursor: pointer; +} + +.headerButton { + background-color: transparent; + border: none; +} + +.spacer { + flex: 1 1 auto; +} + +.mr-1 { + margin-right: 8px !important; +} + +.mr-10 { + margin-right: 10px !important; +} + +.materialIconButton { + font-size: 24px !important; + padding-left: 5px; + padding-right: 5px; + margin-top: 9px; +} + +.toolbar { + height: 65px; +} + +app-root { + display: block; + height: 100%; +} + +a { + color: #880e4f; +} + +/* Material Design */ +mat-dialog-actions.mdc-dialog__actions { + padding: 0 24px 20px 24px; + justify-content: end; +} + +/* Snackbar */ +.mat-mdc-snack-bar-container.snackbar_success { + --mdc-snackbar-container-color: darkgreen; + --mat-mdc-snack-bar-button-color: #fff; + --mdc-snackbar-supporting-text-color: #fff; +} +.mat-mdc-snack-bar-container.snackbar_warning { + --mdc-snackbar-container-color: darkorange; + --mat-mdc-snack-bar-button-color: black; + --mdc-snackbar-supporting-text-color: #fff; +} +.mat-mdc-snack-bar-container.snackbar_error { + --mdc-snackbar-container-color: #d04437; + --mat-mdc-snack-bar-button-color: #fff; + --mdc-snackbar-supporting-text-color: #fff; +} +.mat-mdc-snack-bar-container.snackbar_info { + --mdc-snackbar-container-color: #42aebb; + --mat-mdc-snack-bar-button-color: black; + --mdc-snackbar-supporting-text-color: #fff; +} + +/* BPMN elements */ +.djs-overlay-context-pad { + width: 120px; + height: 238px; + overflow-y: auto; +} + +.djs-context-pad.open { + border: solid 1px rgba(128, 128, 128, 0.3294117647); +} + +.djs-context-pad.open > .group { + border: solid 1px rgba(128, 128, 128, 0.3294117647); + padding: 1px; + background-color: white; +} + +/** + * from bpmn.io + */ +/** + * palette + */ +.djs-palette { + position: absolute; + left: 20px; + top: 20px; + box-sizing: border-box; + width: 32px; +} + +.djs-palette .separator { + margin: 0 2px; + padding-top: 0; + border: none; + border-bottom: solid 1px #ddd; + clear: both; +} + +.djs-palette .entry:before { + vertical-align: middle; +} + +.djs-palette .djs-palette-toggle { + cursor: pointer; +} + +.djs-palette .entry, +.djs-palette .djs-palette-toggle { + color: #333; + font-size: 26px; + text-align: center; +} + +.djs-palette .entry { + float: left; +} + +.djs-palette .entry img { + max-width: 100%; +} + +.djs-palette .djs-palette-entries:after { + content: ""; + display: table; + clear: both; +} + +.djs-palette .djs-palette-toggle:hover { + background: #666; +} + +.djs-palette .entry:hover { + fill: #42aebb; +} + +.djs-palette .highlighted-entry { + color: #42aebb !important; +} + +.djs-palette .entry, +.djs-palette .djs-palette-toggle { + width: 30px; + height: 30px; + line-height: 30px; + cursor: default; +} + +/** + * Palette open / two-column layout is controlled via + * classes on the palette. Events to hook into palette + * changed life-cycle are available in addition. + */ +.djs-palette.two-column.open { + width: 64px; +} + +.djs-palette:not(.open) .djs-palette-entries { + display: none; +} + +.djs-palette:not(.open) { + overflow: hidden; +} + +.djs-palette.open .djs-palette-toggle { + display: none; +} + +/** + * outline styles + */ +.djs-outline { + fill: none; + visibility: hidden; +} + +.djs-element.hover .djs-outline, +.djs-element.selected .djs-outline { + visibility: visible; + shape-rendering: crispEdges; + stroke-dasharray: 3, 3; +} + +.djs-element.selected .djs-outline { + stroke: #8888ff; + stroke-width: 1px; +} + +.djs-element.hover .djs-outline { + stroke: #42aebb; +} + +.djs-element.attach-ok .djs-visual > :nth-child(1) { + stroke: #42aebb !important; +} + +/** +* Selection box style +* +*/ +.djs-lasso-overlay { + stroke: #42aebb; +} + +/** + * Resize styles + */ +.djs-resize-overlay { + stroke: #42aebb; +} + +/** + * drag styles + */ +.djs-dragger .djs-visual circle, +.djs-dragger .djs-visual path, +.djs-dragger .djs-visual polygon, +.djs-dragger .djs-visual polyline, +.djs-dragger .djs-visual rect, +.djs-dragger .djs-visual text { + fill: none !important; + stroke: #42aebb !important; +} + +/** + * snapping + */ +.djs-snap-line { + stroke: #42aebb; + stroke: rgba(255, 195, 66, 0.5); +} + +.djs-palette .entry:hover { + color: #42aebb; +} + +.djs-palette .highlighted-entry { + color: #42aebb !important; +} + +.djs-context-pad .entry:hover { + background: #42aebb; +} + +.djs-popup .djs-popup-header .entry.active { + color: #42aebb; + border: solid 1px #42aebb; + background-color: #f6f6f6; +} + +.djs-popup-body .entry { + width: auto !important; +} + +.djs-segment-dragger:hover .djs-visual, +.djs-segment-dragger.djs-dragging .djs-visual, +.djs-bendpoint:hover .djs-visual, +.djs-bendpoint.floating .djs-visual { + fill: #42aebb; + stroke-opacity: 0.5; + stroke: black; +} + +.djs-segment-dragger.djs-dragging .djs-visual, +.djs-bendpoint.djs-dragging .djs-visual { + fill: #42aebb; +} + +.djs-tooltip-error > * { + color: #42aebb; + border-left: solid 5px #42aebb; +} + +.djs-search-input input:focus { + outline: none; + border-color: #52b415; +} + +.djs-search-result:hover { + background: #fdffd6; +} + +.djs-search-result-selected { + background: #42aebb; +} + +.djs-search-result-selected:hover { + background: #42aebb; +} + +.djs-search-overlay { + background: #42aebb; +} + +.autocomplete-items { + border: 1px solid #a9a9a9; + background-color: #f0f0f0; +} + +.autocomplete-active { + background-color: DodgerBlue !important; + color: #ffffff; +} + +/*# sourceMappingURL=styles.css.map*/ \ No newline at end of file diff --git a/app-latest-build/styles.css.map b/app-latest-build/styles.css.map new file mode 100644 index 0000000..d06ff0b --- /dev/null +++ b/app-latest-build/styles.css.map @@ -0,0 +1 @@ +{"version":3,"file":"styles.css","mappings":"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NW;ECmEP;EAAA;EAAA;EAAA;EAAA;ACoKJ;;AI1ME;ELsCE;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;ACiLJ;;AK1OE;ENyDE;EAAA;EAAA;EAAA;ACwLJ;;AF3PW;ECmEP;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;AC8MJ;;AFjRW;ECmEP;EAAA;EAAA;EAAA;EAAA;ACsNJ;;AMnRE;EP6DE;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;ACmOJ;;AO7OE;ERUE;EAAA;EAAA;EAAA;EAAA;AC2OJ;;AQjQE;ETsBE;EAAA;EAAA;EAAA;EAAA;ACmPJ;AS3RE;ECmSE;EACA;EXxQE;EYZF;EZwBA;EAZE;EYZF;EZwBA;EAZE;EYZF;EZwBA;EAZE;EYZF;EZwBA;EAZE;EYZF;EZwBA;EAZE;EYZF;EZwBA;UAAA;EAZE;EYZF;EZwBA;AC4QJ;;ASpTE;ECmSE;EACA;EX5PA;EAAA;EAAA;EAAA;EAAA;EAAA;UAAA;EAAA;ACwRJ;;AYlTI;Eb0BA;EAAA;EAAA;EAAA;EAAA;ACgSJ;;AFnWW;ECmEP;EAAA;EAAA;EAAA;EAAA;ACwSJ;;Aa1PE;Ed9CE;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;AC0TJ;;AatQE;EX1BA;EACA;EACA;EACA;EAEA;AFmSF;;AFrYW;ECmEP;EAAA;EAAA;EAAA;EAAA;EAAA;AC2UJ;;Ac7VE;EfkBE;EAAA;EAAA;EAAA;EAAA;ACmVJ;;AS3XE;ECmSE;EACA;EX5PA;EAAA;EAAA;EAAA;EAAA;EAAA;UAAA;EAAA;AC+VJ;;AenRE;EL+KE;EACA;EX5PA;EAAA;EAAA;EAAA;EAAA;EAAA;UAAA;EAAA;AC2WJ;;AgBtXE;ENsQE;EACA;EX5PA;EAAA;EAAA;EAAA;EAAA;EAAA;UAAA;EAAA;ACuXJ;AiBzWE;ElBdE;EAAA;EAAA;EAAA;AC6XJ;;AkBnbE;EnBsDE;EAAA;EAAA;EAAA;ACoYJ;;AmBxcI;EpBoEA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;ACsZJ;;AoB/dE;EACE;EAIA;ApB+dJ;AoBxdI;EACE;ApB0dN;;AoBtdE;EACE;ApBydJ;;AoBtdE;EACE;EACA;EACA;EAEA;EAIA;ApBqdJ;AqBtcI;EDXE;ApBodN;;AqBxfE;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EAIA;EAGA;EAGA;EACA;EAMA;ArB+eJ;AqB7eI;EACE;EACA;ArB+eN;;AsB/fE;EAEE;EAGA;EACA;EACA;EACA;AtB+fJ;;AsB3fE;EACE;EACA,aA3BwB;AtByhB5B;AsB5fI;EAGE;AtB4fN;;AsBpfE;EACE;EACA;EACA,aA1Cc;AtBiiBlB;;AsBnfE;EAGE;EACA;EACA;EACA,aApDc;EAwDd;EACA;EACA;AtBifJ;;AsB9eE;EAEE;EACA;EACA;EACA;EACA;EAEA,aApEuB;EAqEvB;EACA;EACA;EACA;AtB+eJ;AsB7eI;EACE;AtB+eN;AsB1eM;EAGE;AtB0eR;;AsBreE;EACE,+BAtFqB;AtB8jBzB;;AsBreE;EAEE;EACA;EACA;AtBueJ;AsBjeI;EACE;EACA;AtBmeN;;AsB/dE;EACE;AtBkeJ;;AsB7dE;EACE;EACA,aArHc;EA0Hd;EAIA;EAGA;EACA;AtBudJ;;AsBndE;EACE;EAKA;EAKA;AtB8cJ;;AuB/lBE;EACE;AvBkmBJ;;AuB5lBE;EAyCA;EACA;EAxCE;EACA;AvBgmBJ;;AuBvlBE;EA6BA;EACA;EA5BE;AvB2lBJ;;AuBjlBE;AACA;AAEA;EAEE;AvBklBJ;;AuB/kBE;EAEE;AvBilBJ;;AwBhnBE;EACE;AxBmnBJ;AwBjnBI;ECfF;EACA;EACA;EACA;EACA;EDaI;EACA;EACA;EACA;EAYA;AxB4mBN;AwBpmBI;EACE;AxBsmBN;;AqB3jBM;EG7BA;AxB4lBN;;AwBvoBE;EACE;AxB0oBJ;AwBxoBI;ECfF;EACA;EACA;EACA;EACA;EDaI;EACA;EACA;EACA;EAYA;AxBmoBN;AwB3nBI;EACE;AxB6nBN;;AqBllBM;EG7BA;AxBmnBN;;A0BjqBE;EAII;A1BiqBN;;AFrqBW;ECmEP;EAAA;EAAA;EAAA;EAAA;AC0mBJ;;A2BtqBI;E5B4DA;AC8mBJ;;A2BrqBI;E5BuDA;ACknBJ;;AFrrBW;ECmEP;ACsnBJ;;A4B7pBE;EACE,0BAXe;A5B2qBnB;A4B/pBI;EACE,cANa;A5BuqBnB;;A4BrsBI;;EACE,cAkBM;A5BurBZ;A4BrsBI;;EAKE,mBASM;A5B2rBZ;A4BxsBM;;EACE,cAeO;A5B4rBf;;A4BltBI;;EACE,cAmBK;A5BmsBX;A4BltBI;;EAKE,mBAUK;A5BusBX;A4BrtBM;;EACE,cAeO;A5BysBf;;A4B/tBI;;EACE,cAmBK;A5BgtBX;A4B/tBI;;EAKE,mBAUK;A5BotBX;A4BluBM;;EACE,cAeO;A5BstBf;;A4B5uBI;;EACE,cAoBG;A5B4tBT;A4B5uBI;;EAKE,mBAWG;A5BguBT;A4B/uBM;;EACE,cAeO;A5BmuBf;;A4B7rBI;;EACE,cA/Ba;A5BguBnB;A4B9rBI;;EACE,mBAnCa;A5BouBnB;;A6BnvBE;EAIE;EACA;A7BmvBJ;;A6BzuBI;E9B0CA;ACmsBJ;;A6B7uBI;E9B0CA;ACusBJ;;A6BjvBI;E9B0CA;AC2sBJ;;A6BrvBI;E9B0CA;AC+sBJ;;A6BzvBI;E9B0CA;ACmtBJ;;A6B7vBI;E9B0CA;ACutBJ;;A6BjwBI;E9B0CA;AC2tBJ;;A6BrwBI;E9B0CA;AC+tBJ;;A6BzwBI;E9B0CA;ACmuBJ;;A6B7wBI;E9B0CA;ACuuBJ;;A6BjxBI;E9B0CA;AC2uBJ;;A6BrxBI;E9B0CA;AC+uBJ;;A6BzxBI;E9B0CA;ACmvBJ;;A6B7xBI;E9B0CA;ACuvBJ;;A6BjyBI;E9B0CA;AC2vBJ;;A6BryBI;E9B0CA;AC+vBJ;;A6BzyBI;E9B0CA;ACmwBJ;;A6B7yBI;E9B0CA;ACuwBJ;;A6BjzBI;E9B0CA;AC2wBJ;;A6BrzBI;E9B0CA;AC+wBJ;;A6BzzBI;E9B0CA;ACmxBJ;;A6B7zBI;E9B0CA;ACuxBJ;;A6Bj0BI;E9B0CA;AC2xBJ;;A6Br0BI;E9B0CA;AC+xBJ;;A6Bz0BI;E9B0CA;ACmyBJ;;A6Bt0BI;EACE;A7By0BN;;AI51BE;ELqDE;EAAA;EAAA;EAAA;EAAA;EAAA;ACgzBJ;;A8Bn2BE;E/BmDE;EAAA;ACqzBJ;A+BvsBI;EACE;IpBlIF;EX40BF;AACF;A+B3vBE;EhC3EI;EYZF;EZwBA;AC+zBJ;A+B5vBM;EAJJ;IAKM;E/B+vBN;AACF;AgC/zBE;ED0DA;IASM;IhCxEJ;ECy0BF;AACF;A+BrvBE;EhCjGI;EYZF;EZwBA;AC+0BJ;A8B/3BI;E/BgDA;EAAA;ACm1BJ;A+BruBI;EACE;IpBlIF;EX02BF;AACF;A+BzxBE;EhC3EI;EYZF;EZwBA;AC61BJ;A+B1xBM;EAJJ;IAKM;E/B6xBN;AACF;AgC71BE;ED0DA;IASM;IhCxEJ;ECu2BF;AACF;A+BnxBE;EhCjGI;EYZF;EZwBA;AC62BJ;A8Bz5BI;E/B4CA;EAAA;ACi3BJ;A+BnwBI;EACE;IpBlIF;EXw4BF;AACF;A+BvzBE;EhC3EI;EYZF;EZwBA;AC23BJ;A+BxzBM;EAJJ;IAKM;E/B2zBN;AACF;AgC33BE;ED0DA;IASM;IhCxEJ;ECq4BF;AACF;A+BjzBE;EhCjGI;EYZF;EZwBA;AC24BJ;AK/8BE;ENoEE;EAAA;AC+4BJ;;AFl9BW;ECmEP;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;ACu7BJ;;AiCp8BE;ElCaE;AC27BJ;;AiCl8BE;;EvBkQE;EACA;EX5PA;EAAA;EAAA;EAAA;EAAA;ACs8BJ;;AkC5/BE;EACE,qCCHwB;AnCkgC5B;;AkC5/BE;EACE,aAPc;AlCsgClB;;AkC5/BE;EACE,aAZc;AlC2gClB;;AoC17BM;EACE,0BAtBkB;ApCm9B1B;AoCx7BU;EACE;ApC07BZ;AoCr7BU;EACE;ApCu7BZ;AoCl7BU;EACE;ApCo7BZ;AoC96BQ;EACE,0BA9CyB;ApC89BnC;;AqC7gCM;EtC2CF;EAAA;EAAA;EAAA;EAAA;EAAA;AC2+BJ;;AqC/gCM;EtCoCF;EAAA;EAAA;EAAA;EAAA;EAAA;ACo/BJ;;AqCvgCQ;EACE;ArC0gCV;;AqCpgCU;EACE;EACA;ArCugCZ;;AsCngCE;EACE,gBA7BO;AtCmiCX;;AsC//BE;EACE;AtCkgCJ;;AsC5/BE;EAEE;;qEAAA;EAGA;AtC8/BJ;;AsC9jCE;EACE;EACA;AtCikCJ;;AsCnlCE;EACE;EACA;AtCslCJ;;AsCnlCE;EAEE;EACA;AtCqlCJ;;AF9lCW;ECmEP;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;ACsiCJ;AuCnmCI;ExC6DA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;ACgjCJ;AuCtmCI;ExCsDA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;AC0jCJ;;AF7nCW;ECmEP;AC8jCJ;;AMpoCE;EPsEE;EAAA;EAAA;ACokCJ;;AOhnCE;ER4CE;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;ACklCJ;AOtnCM;ERoCF;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;AC+lCJ;AO9nCM;ER+BF;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;AC4mCJ;AOroCM;ERyBF;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;ACynCJ;;AO3nCE;EREE;AC6nCJ;;AQrrCI;ETwDA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;ACkqCJ;AS1sCE;EVwCE;ACqqCJ;AQxtCM;EACE;AR0tCR;AQttCM;ET8CF;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;ACqrCJ;AQ5tCM;ETuCF;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;ACksCJ;;AQ5sCE;ETUE;ACssCJ;;AS9uCE;EVwCE;AC0sCJ;;AwChwCI;EzCsDA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;ACytCJ;AwCxwCI;EzC+CA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;ACuuCJ;AwC/wCI;EzCwCA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;ACqvCJ;;AwCtwCE;EzCiBE;ACyvCJ;;AYxzCI;Eb+DA;EAAA;EAAA;EAAA;EAAA;EAAA;Ea/CE;AZkzCN;AYhzCM;Eb6CF;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EasBF;EACA;EACA;AZuvCF;AYxzCM;EbyCF;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EasBF;EACA;EACA;AZmwCF;AYh0CM;EbqCF;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EasBF;EACA;EACA;AZ+wCF;;AF12CW;ECmEP;EAAA;EAAA;EAAA;EAAA;AC+yCJ;;Aap2CE;EdqDE;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;ACm0CJ;;Aap3CE;;EdiDE;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;ACg1CJ;;Aa33CI;;Ed2CA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;AC61CJ;;Aaj4CI;;EdoCA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;AC02CJ;;Aax4CE;Ed8BE;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;AC83CJ;;Aaz5CE;Ed2BE;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;ACk5CJ;;Aa16CE;EdwBE;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;ACs6CJ;;AyC5sBE;;E1C1tBE;AC26CJ;AyClCI;;E1Cz4CA;AC+6CJ;;Aaz7CI;;;EAGE;Ab47CN;;Aal7CE;EdHE;EAAA;EAAA;AC27CJ;;Aa56CM;EACE;Ab+6CR;Aar6CM;EACE;Abu6CR;;AFrgDW;ECmEP;EAAA;EAAA;EAAA;ACy8CJ;;AF5gDW;ECmEP;AC68CJ;;AsCn9CE;EACE,gBA7BO;AtCm/CX;AsC/8CE;EACE;AtCi9CJ;AsC38CE;EAEE;;qEAAA;EAGA;AtC48CJ;AsC5gDE;EACE;EACA;AtC8gDJ;AsChiDE;EACE;EACA;AtCkiDJ;AsC/hDE;EAEE;EACA;AtCgiDJ;AsCz8CI;EACI;AtC28CR;;AcxiDE;Ef+DE;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;ACy/CJ;AcrjDI;Ef4DA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;ACwgDJ;AchkDI;EfwDA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;ACuhDJ;Ac3kDI;EfoDA;EAAA;AC2hDJ;Ac3kDI;EfgDA;EAAA;AC+hDJ;Ac3kDI;Ef4CA;EAAA;ACmiDJ;;AcviDE;EfIE;ACuiDJ;;AF1mDW;ECmEP;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;AC2jDJ;;A0CrnDI;E3C0DA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;AC+kDJ;A0CpoDI;E3CqDA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;ACkmDJ;AS1oDE;EVwCE;ACqmDJ;A0ChpDI;EAEE;A1CipDN;;AF3qDW;ECmEP;AC4mDJ;;A2CloDM;E5CsBF;ACgnDJ;A2CloDM;E5CkBF;ACmnDJ;A2CjoDM;E5CcF;ACsnDJ;A2ChoDM;E5CUF;ACynDJ;A4ClpDE;E7CyBE;EAAA;AC6nDJ;;A2CxnDM;E5CLF;EAAA;ACkoDJ;A2CznDM;E5CTF;EAAA;ACsoDJ;A2CznDM;E5CbF;EAAA;AC0oDJ;A2CznDM;E5CjBF;EAAA;AC8oDJ;A4CvqDE;E7CyBE;EAAA;EAAA;EAAA;ACopDJ;;A2ClnDM;E5ClCF;EAAA;ACypDJ;A2CnnDM;E5CtCF;EAAA;AC6pDJ;A2CnnDM;E5C1CF;EAAA;ACiqDJ;A2CnnDM;E5C9CF;EAAA;ACqqDJ;A4C9rDE;E7CyBE;EAAA;EAAA;EAAA;EAAA;AC4qDJ;;A2C7mDI;E5C/DA;ACgrDJ;A2C5mDM;E5CpEF;ACmrDJ;A2C3mDM;E5CxEF;ACsrDJ;A2C1mDM;E5C5EF;ACyrDJ;A2CzmDM;E5ChFF;AC4rDJ;A4CrtDE;E7CyBE;EAAA;EAAA;EAAA;ACksDJ;;A2CjmDI;ECxKF;EACA;A5C6wDF;A4CrwDE;EACE;A5CuwDJ;A4ClwDI;EACE;A5CowDN;A4ChwDE;EACE;A5CkwDJ;A4C7vDE;EA1BA;EACA;A5C0xDF;A4C7vDE;EA9BA;EACA;A5C8xDF;A4C7vDE;EAlCA;EACA;A5CkyDF;;A2CvnDI;EC5KF;EACA;A5CuyDF;A4C/xDE;EACE;A5CiyDJ;A4C5xDI;EACE;A5C8xDN;A4C1xDE;EACE;A5C4xDJ;A4CvxDE;EA1BA;EACA;A5CozDF;A4CvxDE;EA9BA;EACA;A5CwzDF;A4CvxDE;EAlCA;EACA;A5C4zDF;;A2C5nDI;;;;E5C1HA;AC6vDJ;;A6C1yDE;ED1BA;EACA;E7CsEE;E8CjEF;EACA;A7Cq0DF;A4Cn0DE;EACE;A5Cq0DJ;A4Ch0DI;EACE;A5Ck0DN;A4C9zDE;EACE;A5Cg0DJ;A4C3zDE;EA1BA;EACA;A5Cw1DF;A4C3zDE;EA9BA;EACA;A5C41DF;A4C3zDE;EAlCA;EACA;A5Cg2DF;A6Cl0DI;E9CwCA;E8CjEF;EACA;A7C+1DF;A6Cj0DI;E9CkCA;E8CjEF;EACA;A7Co2DF;A6Ch0DI;E9C4BA;E8CjEF;EACA;A7Cy2DF;A4Cl0DE;E7CyBE;EAAA;AC6yDJ;;A6CryDE;E9CRE;E8CoBA;EACA;EACA;A7C8xDJ;;AiB/0DE;;E2B5CA;EACA;A5Cg4DF;A4Cx3DE;;EACE;A5C23DJ;A4Ct3DI;;;EACE;A5C03DN;A4Ct3DE;;EACE;A5Cy3DJ;A4Cp3DE;;EA1BA;EACA;A5Ck5DF;A4Cr3DE;;EA9BA;EACA;A5Cu5DF;A4Ct3DE;;EAlCA;EACA;A5C45DF;A4C/2DE;;E7CyBE;EAAA;EkBrDF;AjBi5DF;AiB12DI;;ElBcA;EAAA;EkBrDF;AjBu5DF;AiB52DI;;ElBUA;EAAA;EkBrDF;AjB65DF;AiB92DI;;ElBMA;EAAA;EkBrDF;AjBm6DF;AiBh3DI;;ElBEA;EAAA;EkBrDF;AjBy6DF;;AkBv7DE;EnBmEE;EAAA;EAAA;AC03DJ;;AmB97DI;EpBoEA;EAAA;EAAA;EAAA;ACi4DJ;;AmBr8DI;EpBoEA;EAAA;EAAA;ACu4DJ;;A8C58DE;E/CqEE;AC24DJ;A8C78DI;E/CkEA;AC84DJ;A8C38DI;E/C6DA;ACi5DJ;;A+Cn4DE;EACE;A/Cs4DJ;A+Ch4DI;EACE;A/Ck4DN;;A+C93DE;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EhDpCA;EAAA;EAZE;EYZF;EZwBA;EAZE;EYZF;EZwBA;EAZE;EYZF;EZwBA;ACg7DJ;AqB58DI;E0B2EE;EACA;A/Co4DN;;A+Ch4DE;EhDpDE;EAAA;ACy7DJ;;A+C93DE;EACE;A/Ci4DJ;;A+C93DE;;EAEE;A/Ci4DJ;;A+C53DE;EAEE;A/C83DJ;;A+Cx/DE;EACE,WAdS;EAeT,YAfS;EAgBT,iBAhBS;EhDmDP;EYZF;EZwBA;AC+8DJ;A+Cp/DE;EACE;A/Cs/DJ;A+Cn/DE;EACE;A/Cq/DJ;A+Cl/DE;EACE;A/Co/DJ;A+Cj/DE;EACE;EACA;A/Cm/DJ;A+Ch/DE;EACE;A/Ck/DJ;A+C/+DE;EACE;EACA;A/Ci/DJ;A+C7+DI;EACE;A/C++DN;A+C5+DI;EACE;EACA;A/C8+DN;A+C3+DI;EACE;A/C6+DN;A+C1+DI;EACE;EACA;A/C4+DN;;A+CniEE;EACE,WAfW;EAgBX,YAhBW;EAiBX,iBAjBW;A/CujEf;A+C5hEE;EACE;A/C8hEJ;A+C3hEE;EACE;A/C6hEJ;A+C1hEE;EACE;A/C4hEJ;A+CzhEE;EACE;EACA;A/C2hEJ;A+CxhEE;EACE;A/C0hEJ;A+CvhEE;EACE;EACA;A/CyhEJ;A+CrhEI;EACE;A/CuhEN;A+CphEI;EACE;EACA;A/CshEN;A+CnhEI;EACE;A/CqhEN;A+ClhEI;EACE;EACA;A/CohEN;;A+C3kEE;EACE,WAbS;EAcT,YAdS;EAeT,iBAfS;EhDkDP;EYZF;EZwBA;ACkiEJ;A+CvkEE;EACE;A/CykEJ;A+CtkEE;EACE;A/CwkEJ;A+CrkEE;EACE;A/CukEJ;A+CpkEE;EACE;EACA;A/CskEJ;A+CnkEE;EACE;A/CqkEJ;A+ClkEE;EACE;EACA;A/CokEJ;A+ChkEI;EACE;A/CkkEN;A+C/jEI;EACE;EACA;A/CikEN;A+C9jEI;EACE;A/CgkEN;A+C7jEI;EACE;EACA;A/C+jEN;;AFvoEW;ECmEP;EAAA;EAAA;EAAA;AC2kEJ;;A+Cz+DE;EhDlGE;EAAA;ACglEJ;;A+Cz+DE;EhDvGE;EAAA;ACqlEJ;;AFxpEW;ECmEP;EAAA;AC0lEJ;;AF7pEW;ECmEP;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;AC8mEJ;;AFjrEW;ECmEP;ACknEJ;;AFrrEW;ECmEP;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;ACipEJ;;AgDvrEI;EjDsCA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;AC8pEJ;AgDhsEI;EjDkCA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;AC0qEJ;;AgDtsEI;EjD4BA;AC8qEJ;AgDpsEI;EjDsBA;ACirEJ;;A6CzqEE;E9CRE;E8CoBA;EACA;EACA;A7CkqEJ;A4CzsEI;EACE;A5C2sEN;;AF9vEW;ECmEP;AC+rEJ;;AFlwEW;ECmEP;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;AC2sEJ;;AF9wEW;ECmEP;EAAA;ACgtEJ;;AFnxEW;ECmEP;ACotEJ;;AiD5wEI;ElDwDA;ACwtEJ;AiD5wEI;ElDoDA;AC2tEJ;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","sources":["./node_modules/diagram-js/assets/diagram-js.css","./node_modules/bpmn-js/dist/assets/bpmn-font/css/bpmn.css","./node_modules/material-icons/iconfont/material-icons.css","./node_modules/@angular/material/core/style/_sass-utils.scss","./node_modules/@material/theme/_css.scss","./src/styles.scss","./node_modules/@angular/material/core/typography/_typography.scss","./node_modules/@angular/material/core/typography/_typography-utils.scss","./node_modules/@angular/material/tree/_tree-theme.scss","./node_modules/@angular/material/card/_card-theme.scss","./node_modules/@angular/material/tooltip/_tooltip-theme.scss","./node_modules/@angular/material/dialog/_dialog-theme.scss","./node_modules/@angular/material/chips/_chips-theme.scss","./node_modules/@angular/material/slide-toggle/_slide-toggle-theme.scss","./node_modules/@material/form-field/_form-field.scss","./node_modules/@material/typography/_typography.scss","./node_modules/@material/theme/_gss.scss","./node_modules/@angular/material/slider/_slider-theme.scss","./node_modules/@angular/material/list/_list-theme.scss","./node_modules/@angular/material/tabs/_tabs-theme.scss","./node_modules/@material/button/_button-base.scss","./node_modules/@material/fab/_fab.scss","./node_modules/@angular/material/button/_fab-theme.scss","./node_modules/@angular/material/snack-bar/_snack-bar-theme.scss","./node_modules/@angular/material/table/_table-theme.scss","./node_modules/@angular/material/core/ripple/_ripple.scss","./node_modules/@angular/cdk/a11y/_index.scss","./node_modules/@angular/cdk/overlay/_index.scss","./node_modules/@angular/cdk/text-field/_index.scss","./node_modules/@angular/material/core/focus-indicators/_private.scss","./node_modules/@angular/material/core/style/_layout-common.scss","./node_modules/@angular/material/core/ripple/_ripple-theme.scss","./node_modules/@angular/material/core/option/_option-theme.scss","./node_modules/@angular/material/core/selection/pseudo-checkbox/_pseudo-checkbox-theme.scss","./node_modules/@angular/material/core/_core-theme.scss","./node_modules/@angular/material/progress-bar/_progress-bar-theme.scss","./node_modules/@material/linear-progress/_linear-progress-theme.scss","./node_modules/@material/dom/_dom.scss","./node_modules/@angular/material/form-field/_form-field-subscript.scss","./node_modules/@angular/material/form-field/_form-field-focus-overlay.scss","./node_modules/@angular/material/form-field/_mdc-text-field-theme-variable-refresh.scss","./node_modules/@angular/material/form-field/_form-field-native-select.scss","./node_modules/@angular/material/form-field/_form-field-theme.scss","./node_modules/@angular/material/form-field/_form-field-density.scss","./node_modules/@angular/material/select/_select-theme.scss","./node_modules/@angular/material/radio/_radio-theme.scss","./node_modules/@material/list/_list.scss","./node_modules/@angular/material/checkbox/_checkbox-theme.scss","./node_modules/@angular/material/button/_button-theme.scss","./node_modules/@angular/material/button/_button-theme-private.scss","./node_modules/@angular/material/button/_icon-button-theme.scss","./node_modules/@angular/material/progress-spinner/_progress-spinner-theme.scss","./node_modules/@angular/material/badge/_badge-theme.scss","./node_modules/@angular/material/datepicker/_datepicker-theme.scss","./node_modules/@angular/material/icon/_icon-theme.scss","./node_modules/@angular/material/stepper/_stepper-theme.scss","./node_modules/@angular/material/sort/_sort-theme.scss","./node_modules/@angular/material/toolbar/_toolbar-theme.scss"],"sourcesContent":["/**\n * color definitions\n */\n.djs-container {\n --color-grey-225-10-15: hsl(225, 10%, 15%);\n --color-grey-225-10-35: hsl(225, 10%, 35%);\n --color-grey-225-10-55: hsl(225, 10%, 55%);\n --color-grey-225-10-75: hsl(225, 10%, 75%);\n --color-grey-225-10-80: hsl(225, 10%, 80%);\n --color-grey-225-10-85: hsl(225, 10%, 85%);\n --color-grey-225-10-90: hsl(225, 10%, 90%);\n --color-grey-225-10-95: hsl(225, 10%, 95%); \n --color-grey-225-10-97: hsl(225, 10%, 97%);\n\n --color-blue-205-100-45: hsl(205, 100%, 45%);\n --color-blue-205-100-45-opacity-30: hsla(205, 100%, 45%, 30%);\n --color-blue-205-100-50: hsl(205, 100%, 50%);\n --color-blue-205-100-95: hsl(205, 100%, 95%);\n\n --color-green-150-86-44: hsl(150, 86%, 44%);\n\n --color-red-360-100-40: hsl(360, 100%, 40%);\n --color-red-360-100-45: hsl(360, 100%, 45%);\n --color-red-360-100-92: hsl(360, 100%, 92%);\n --color-red-360-100-97: hsl(360, 100%, 97%);\n\n --color-white: hsl(0, 0%, 100%);\n --color-black: hsl(0, 0%, 0%); \n --color-black-opacity-05: hsla(0, 0%, 0%, 5%); \n --color-black-opacity-10: hsla(0, 0%, 0%, 10%);\n\n --bendpoint-fill-color: var(--color-blue-205-100-45-opacity-30);\n --bendpoint-stroke-color: var(--color-blue-205-100-50);\n\n --context-pad-entry-background-color: var(--color-white);\n --context-pad-entry-hover-background-color: var(--color-grey-225-10-95);\n\n --element-dragger-color: var(--color-blue-205-100-50);\n --element-hover-outline-fill-color: var(--color-blue-205-100-45);\n --element-selected-outline-stroke-color: var(--color-blue-205-100-50);\n\n --lasso-fill-color: var(--color-black-opacity-05);\n --lasso-stroke-color: var(--color-black);\n\n --palette-entry-color: var(--color-grey-225-10-15);\n --palette-entry-hover-color: var(--color-blue-205-100-45);\n --palette-entry-selected-color: var(--color-blue-205-100-50);\n --palette-separator-color: var(--color-grey-225-10-75);\n --palette-toggle-hover-background-color: var(--color-grey-225-10-55);\n --palette-background-color: var(--color-grey-225-10-97);\n --palette-border-color: var(--color-grey-225-10-75);\n\n --popup-body-background-color: var(--color-white);\n --popup-header-entry-selected-color: var(--color-blue-205-100-50);\n --popup-header-entry-selected-background-color: var(--color-black-opacity-10);\n --popup-header-separator-color: var(--color-grey-225-10-75);\n --popup-background-color: var(--color-grey-225-10-97);\n --popup-border-color: var(--color-grey-225-10-75);\n\n --resizer-fill-color: var(--color-blue-205-100-45-opacity-30);\n --resizer-stroke-color: var(--color-blue-205-100-50);\n\n --search-container-background-color: var(--color-grey-225-10-97);\n --search-container-border-color: var(--color-blue-205-100-50);\n --search-container-box-shadow-color: var(--color-blue-205-100-95);\n --search-container-box-shadow-inset-color: var(--color-grey-225-10-80);\n --search-input-border-color: var(--color-grey-225-10-75);\n --search-result-border-color: var(--color-grey-225-10-75);\n --search-result-highlight-color: var(--color-black);\n --search-result-selected-color: var(--color-blue-205-100-45-opacity-30);\n\n --shape-attach-allowed-stroke-color: var(--color-blue-205-100-50);\n --shape-connect-allowed-fill-color: var(--color-grey-225-10-97);\n --shape-drop-allowed-fill-color: var(--color-grey-225-10-97);\n --shape-drop-not-allowed-fill-color: var(--color-red-360-100-97);\n --shape-resize-preview-stroke-color: var(--color-blue-205-100-50);\n\n --snap-line-stroke-color: var(--color-blue-205-100-45-opacity-30);\n\n --space-tool-crosshair-stroke-color: var(--color-black);\n\n --tooltip-error-background-color: var(--color-red-360-100-97);\n --tooltip-error-border-color: var(--color-red-360-100-45);\n --tooltip-error-color: var(--color-red-360-100-45);\n}\n\n/**\n * outline styles\n */\n\n.djs-outline {\n fill: none;\n visibility: hidden;\n}\n\n.djs-element.hover .djs-outline,\n.djs-element.selected .djs-outline {\n visibility: visible;\n shape-rendering: geometricPrecision;\n stroke-dasharray: 3,3;\n}\n\n.djs-element.selected .djs-outline {\n stroke: var(--element-selected-outline-stroke-color);\n stroke-width: 1px;\n}\n\n.djs-element.hover .djs-outline {\n stroke: var(--element-hover-outline-fill-color);\n stroke-width: 1px;\n}\n\n.djs-shape.connect-ok .djs-visual > :nth-child(1) {\n fill: var(--shape-connect-allowed-fill-color) !important;\n}\n\n.djs-shape.connect-not-ok .djs-visual > :nth-child(1),\n.djs-shape.drop-not-ok .djs-visual > :nth-child(1) {\n fill: var(--shape-drop-not-allowed-fill-color) !important;\n}\n\n.djs-shape.new-parent .djs-visual > :nth-child(1) {\n fill: var(--shape-drop-allowed-fill-color) !important;\n}\n\nsvg.drop-not-ok {\n background: var(--shape-drop-not-allowed-fill-color) !important;\n}\n\nsvg.new-parent {\n background: var(--shape-drop-allowed-fill-color) !important;\n}\n\n.djs-connection.connect-ok .djs-visual > :nth-child(1),\n.djs-connection.drop-ok .djs-visual > :nth-child(1) {\n stroke: var(--shape-drop-allowed-fill-color) !important;\n}\n\n.djs-connection.connect-not-ok .djs-visual > :nth-child(1),\n.djs-connection.drop-not-ok .djs-visual > :nth-child(1) {\n stroke: var(--shape-drop-not-allowed-fill-color) !important;\n}\n\n.drop-not-ok,\n.connect-not-ok {\n cursor: not-allowed;\n}\n\n.djs-element.attach-ok .djs-visual > :nth-child(1) {\n stroke-width: 5px !important;\n stroke: var(--shape-attach-allowed-stroke-color) !important;\n}\n\n.djs-frame.connect-not-ok .djs-visual > :nth-child(1),\n.djs-frame.drop-not-ok .djs-visual > :nth-child(1) {\n stroke-width: 3px !important;\n stroke: var(--shape-drop-not-allowed-fill-color) !important;\n fill: none !important;\n}\n\n/**\n* Selection box style\n*\n*/\n.djs-lasso-overlay {\n fill: var(--lasso-fill-color);\n\n stroke-dasharray: 5 1 3 1;\n stroke: var(--lasso-stroke-color);\n\n shape-rendering: geometricPrecision;\n pointer-events: none;\n}\n\n/**\n * Resize styles\n */\n.djs-resize-overlay {\n fill: none;\n\n stroke-dasharray: 5 1 3 1;\n stroke: var(--shape-resize-preview-stroke-color);\n\n pointer-events: none;\n}\n\n.djs-resizer-hit {\n fill: none;\n pointer-events: all;\n}\n\n.djs-resizer-visual {\n fill: var(--resizer-fill-color);\n stroke-width: 1px;\n stroke-opacity: 0.5;\n stroke: var(--resizer-stroke-color);\n shape-rendering: geometricprecision;\n}\n\n.djs-resizer:hover .djs-resizer-visual {\n stroke: var(--resizer-stroke-color);\n stroke-opacity: 1;\n}\n\n.djs-cursor-resize-ns,\n.djs-resizer-n,\n.djs-resizer-s {\n cursor: ns-resize;\n}\n\n.djs-cursor-resize-ew,\n.djs-resizer-e,\n.djs-resizer-w {\n cursor: ew-resize;\n}\n\n.djs-cursor-resize-nwse,\n.djs-resizer-nw,\n.djs-resizer-se {\n cursor: nwse-resize;\n}\n\n.djs-cursor-resize-nesw,\n.djs-resizer-ne,\n.djs-resizer-sw {\n cursor: nesw-resize;\n}\n\n.djs-shape.djs-resizing > .djs-outline {\n visibility: hidden !important;\n}\n\n.djs-shape.djs-resizing > .djs-resizer {\n visibility: hidden;\n}\n\n.djs-dragger > .djs-resizer {\n visibility: hidden;\n}\n\n/**\n * drag styles\n */\n.djs-dragger * {\n fill: none !important;\n stroke: var(--element-dragger-color) !important;\n}\n\n.djs-dragger tspan,\n.djs-dragger text {\n fill: var(--element-dragger-color) !important;\n stroke: none !important;\n}\n\nmarker.djs-dragger circle,\nmarker.djs-dragger path,\nmarker.djs-dragger polygon,\nmarker.djs-dragger polyline,\nmarker.djs-dragger rect {\n fill: var(--element-dragger-color) !important;\n stroke: none !important;\n}\n\nmarker.djs-dragger text,\nmarker.djs-dragger tspan {\n fill: none !important;\n stroke: var(--element-dragger-color) !important;\n}\n\n.djs-dragging {\n opacity: 0.3;\n}\n\n.djs-dragging,\n.djs-dragging > * {\n pointer-events: none !important;\n}\n\n.djs-dragging .djs-context-pad,\n.djs-dragging .djs-outline {\n display: none !important;\n}\n\n/**\n * no pointer events for visual\n */\n.djs-visual,\n.djs-outline {\n pointer-events: none;\n}\n\n.djs-element.attach-ok .djs-hit {\n stroke-width: 60px !important;\n}\n\n/**\n * all pointer events for hit shape\n */\n.djs-element > .djs-hit-all {\n pointer-events: all;\n}\n\n.djs-element > .djs-hit-stroke,\n.djs-element > .djs-hit-click-stroke {\n pointer-events: stroke;\n}\n\n/**\n * all pointer events for hit shape\n */\n.djs-drag-active .djs-element > .djs-hit-click-stroke {\n pointer-events: all;\n}\n\n/**\n * shape / connection basic styles\n */\n.djs-connection .djs-visual {\n stroke-width: 2px;\n fill: none;\n}\n\n.djs-cursor-grab {\n cursor: -webkit-grab;\n cursor: -moz-grab;\n cursor: grab;\n}\n\n.djs-cursor-grabbing {\n cursor: -webkit-grabbing;\n cursor: -moz-grabbing;\n cursor: grabbing;\n}\n\n.djs-cursor-crosshair {\n cursor: crosshair;\n}\n\n.djs-cursor-move {\n cursor: move;\n}\n\n.djs-cursor-resize-ns {\n cursor: ns-resize;\n}\n\n.djs-cursor-resize-ew {\n cursor: ew-resize;\n}\n\n\n/**\n * snapping\n */\n.djs-snap-line {\n stroke: var(--snap-line-stroke-color);\n stroke-linecap: round;\n stroke-width: 2px;\n pointer-events: none;\n}\n\n/**\n * snapping\n */\n.djs-crosshair {\n stroke: var(--space-tool-crosshair-stroke-color);\n stroke-linecap: round;\n stroke-width: 1px;\n pointer-events: none;\n shape-rendering: crispEdges;\n stroke-dasharray: 5, 5;\n}\n\n/**\n * palette\n */\n\n.djs-palette {\n position: absolute;\n left: 20px;\n top: 20px;\n\n box-sizing: border-box;\n width: 48px;\n}\n\n.djs-palette .separator {\n margin: 0 5px;\n padding-top: 5px;\n\n border: none;\n border-bottom: solid 1px var(--palette-separator-color);\n\n clear: both;\n}\n\n.djs-palette .entry:before {\n vertical-align: text-bottom;\n}\n\n.djs-palette .djs-palette-toggle {\n cursor: pointer;\n}\n\n.djs-palette .entry,\n.djs-palette .djs-palette-toggle {\n color: var(--palette-entry-color);\n font-size: 30px;\n\n text-align: center;\n}\n\n.djs-palette .entry {\n float: left;\n}\n\n.djs-palette .entry img {\n max-width: 100%;\n}\n\n.djs-palette .djs-palette-entries:after {\n content: '';\n display: table;\n clear: both;\n}\n\n.djs-palette .djs-palette-toggle:hover {\n background: var(--palette-toggle-hover-background-color);\n}\n\n.djs-palette .entry:hover {\n color: var(--palette-entry-hover-color);\n}\n\n.djs-palette .highlighted-entry {\n color: var(--palette-entry-selected-color) !important;\n}\n\n.djs-palette .entry,\n.djs-palette .djs-palette-toggle {\n width: 46px;\n height: 46px;\n line-height: 46px;\n cursor: default;\n}\n\n/**\n * Palette open / two-column layout is controlled via\n * classes on the palette. Events to hook into palette\n * changed life-cycle are available in addition.\n */\n.djs-palette.two-column.open {\n width: 94px;\n}\n\n.djs-palette:not(.open) .djs-palette-entries {\n display: none;\n}\n\n.djs-palette:not(.open) {\n overflow: hidden;\n}\n\n.djs-palette.open .djs-palette-toggle {\n display: none;\n}\n\n/**\n * context-pad\n */\n.djs-overlay-context-pad {\n width: 72px;\n z-index: 100;\n}\n\n.djs-context-pad {\n position: absolute;\n display: none;\n pointer-events: none;\n line-height: 1;\n}\n\n.djs-context-pad .entry {\n width: 22px;\n height: 22px;\n text-align: center;\n display: inline-block;\n font-size: 22px;\n margin: 0 2px 2px 0;\n\n border-radius: 3px;\n\n cursor: default;\n\n background-color: var(--context-pad-entry-background-color);\n box-shadow: 0 0 2px 1px var(--context-pad-entry-background-color);\n pointer-events: all;\n vertical-align: middle;\n}\n\n.djs-context-pad .entry:hover {\n background: var(--context-pad-entry-hover-background-color);\n}\n\n.djs-context-pad.open {\n display: block;\n}\n\n/**\n * popup styles\n */\n.djs-popup .entry {\n line-height: 20px;\n white-space: nowrap;\n cursor: default;\n}\n\n/* larger font for prefixed icons */\n.djs-popup .entry:before {\n vertical-align: middle;\n font-size: 20px;\n}\n\n.djs-popup .entry > span {\n vertical-align: middle;\n font-size: 14px;\n}\n\n.djs-popup .entry:hover,\n.djs-popup .entry.active:hover {\n background: var(--popup-header-entry-selected-background-color);\n}\n\n.djs-popup .entry.disabled {\n background: inherit;\n}\n\n.djs-popup .djs-popup-header .entry {\n display: inline-block;\n padding: 2px 3px 2px 3px;\n\n border: solid 1px transparent;\n border-radius: 3px;\n}\n\n.djs-popup .djs-popup-header .entry.active {\n color: var(--popup-header-entry-selected-color);\n border: solid 1px var(--popup-header-entry-selected-color);\n background-color: var(--popup-header-entry-selected-background-color);\n}\n\n.djs-popup-body .entry {\n padding: 4px 10px 4px 5px;\n}\n\n.djs-popup-body .entry > span {\n margin-left: 5px;\n}\n\n.djs-popup-body {\n background-color: var(--popup-body-background-color);\n}\n\n.djs-popup-header {\n border-bottom: 1px solid var(--popup-header-separator-color);\n}\n\n.djs-popup-header .entry {\n margin: 1px;\n margin-left: 3px;\n}\n\n.djs-popup-header .entry:last-child {\n margin-right: 3px;\n}\n\n/**\n * popup / palette styles\n */\n.djs-palette {\n background: var(--palette-background-color);\n border: solid 1px var(--palette-border-color);\n border-radius: 2px;\n}\n\n.djs-popup {\n background: var(--popup-background-color);\n border: solid 1px var(--popup-border-color);\n border-radius: 2px;\n}\n\n/**\n * touch\n */\n\n.djs-shape,\n.djs-connection {\n touch-action: none;\n}\n\n.djs-segment-dragger,\n.djs-bendpoint {\n display: none;\n}\n\n/**\n * bendpoints\n */\n.djs-segment-dragger .djs-visual {\n display: none;\n\n fill: var(--bendpoint-fill-color);\n stroke: var(--bendpoint-stroke-color);\n stroke-width: 1px;\n stroke-opacity: 1;\n}\n\n.djs-segment-dragger:hover .djs-visual {\n display: block;\n}\n\n.djs-bendpoint .djs-visual {\n fill: var(--bendpoint-fill-color);\n stroke: var(--bendpoint-stroke-color);\n stroke-width: 1px;\n stroke-opacity: 0.5;\n}\n\n.djs-segment-dragger:hover,\n.djs-bendpoints.hover .djs-segment-dragger,\n.djs-bendpoints.selected .djs-segment-dragger,\n.djs-bendpoint:hover,\n.djs-bendpoints.hover .djs-bendpoint,\n.djs-bendpoints.selected .djs-bendpoint {\n display: block;\n}\n\n.djs-drag-active .djs-bendpoints * {\n display: none;\n}\n\n.djs-bendpoints:not(.hover) .floating {\n display: none;\n}\n\n.djs-segment-dragger:hover .djs-visual,\n.djs-segment-dragger.djs-dragging .djs-visual,\n.djs-bendpoint:hover .djs-visual,\n.djs-bendpoint.floating .djs-visual {\n fill: var(--bendpoint-fill-color);\n stroke: var(--bendpoint-stroke-color);\n stroke-opacity: 1;\n}\n\n.djs-bendpoint.floating .djs-hit {\n pointer-events: none;\n}\n\n.djs-segment-dragger .djs-hit,\n.djs-bendpoint .djs-hit {\n fill: none;\n pointer-events: all;\n}\n\n.djs-segment-dragger.horizontal .djs-hit {\n cursor: ns-resize;\n}\n\n.djs-segment-dragger.vertical .djs-hit {\n cursor: ew-resize;\n}\n\n.djs-segment-dragger.djs-dragging .djs-hit {\n pointer-events: none;\n}\n\n.djs-updating,\n.djs-updating > * {\n pointer-events: none !important;\n}\n\n.djs-updating .djs-context-pad,\n.djs-updating .djs-outline,\n.djs-updating .djs-bendpoint,\n.connect-ok .djs-bendpoint,\n.connect-not-ok .djs-bendpoint,\n.drop-ok .djs-bendpoint,\n.drop-not-ok .djs-bendpoint {\n display: none !important;\n}\n\n.djs-segment-dragger.djs-dragging,\n.djs-bendpoint.djs-dragging {\n display: block;\n opacity: 1.0;\n}\n\n\n/**\n * tooltips\n */\n.djs-tooltip-error {\n width: 160px;\n padding: 6px;\n\n background: var(--tooltip-error-background-color);\n border: solid 1px var(--tooltip-error-border-color);\n border-radius: 2px;\n color: var(--tooltip-error-color);\n font-size: 12px;\n line-height: 16px;\n\n opacity: 0.75;\n}\n\n.djs-tooltip-error:hover {\n opacity: 1;\n}\n\n\n/**\n * search pad\n */\n.djs-search-container {\n position: absolute;\n top: 20px;\n left: 0;\n right: 0;\n margin-left: auto;\n margin-right: auto;\n\n width: 25%;\n min-width: 300px;\n max-width: 400px;\n z-index: 10;\n\n font-size: 1.05em;\n opacity: 0.9;\n background: var(--search-container-background-color);\n border: solid 1px var(--search-container-border-color);\n border-radius: 2px;\n box-shadow: 0 0 0 2px var(--search-container-box-shadow-color), 0 0 0 1px var(--search-container-box-shadow-inset-color) inset;\n}\n\n.djs-search-container:not(.open) {\n display: none;\n}\n\n.djs-search-input input {\n font-size: 1.05em;\n width: 100%;\n padding: 6px 10px;\n border: 1px solid var(--search-input-border-color);\n box-sizing: border-box;\n}\n\n.djs-search-input input:focus {\n outline: none;\n border-color: var(--search-input-border-color);\n}\n\n.djs-search-results {\n position: relative;\n overflow-y: auto;\n max-height: 200px;\n}\n\n.djs-search-results:hover {\n cursor: pointer;\n}\n\n.djs-search-result {\n width: 100%;\n padding: 6px 10px;\n background: white;\n border-bottom: solid 1px var(--search-result-border-color);\n border-radius: 1px;\n}\n\n.djs-search-highlight {\n color: var(--search-result-highlight-color);\n}\n\n.djs-search-result-primary {\n margin: 0 0 10px;\n}\n\n.djs-search-result-secondary {\n font-family: monospace;\n margin: 0;\n}\n\n.djs-search-result:hover {\n background: var(--search-result-selected-color);\n}\n\n.djs-search-result-selected {\n background: var(--search-result-selected-color);\n}\n\n.djs-search-result-selected:hover {\n background: var(--search-result-selected-color);\n}\n\n.djs-search-overlay {\n background: var(--search-result-selected-color);\n}\n\n/**\n * hidden styles\n */\n.djs-element-hidden,\n.djs-element-hidden .djs-hit,\n.djs-element-hidden .djs-outline,\n.djs-label-hidden .djs-label {\n display: none !important;\n}\n","@font-face {\n font-family: 'bpmn';\n src: url('../font/bpmn.eot?26374340');\n src: url('../font/bpmn.eot?26374340#iefix') format('embedded-opentype'),\n url('../font/bpmn.woff2?26374340') format('woff2'),\n url('../font/bpmn.woff?26374340') format('woff'),\n url('../font/bpmn.ttf?26374340') format('truetype'),\n url('../font/bpmn.svg?26374340#bpmn') format('svg');\n font-weight: normal;\n font-style: normal;\n}\n/* Chrome hack: SVG is rendered more smooth in Windozze. 100% magic, uncomment if you need it. */\n/* Note, that will break hinting! In other OS-es font will be not as sharp as it could be */\n/*\n@media screen and (-webkit-min-device-pixel-ratio:0) {\n @font-face {\n font-family: 'bpmn';\n src: url('../font/bpmn.svg?26374340#bpmn') format('svg');\n }\n}\n*/\n\n [class^=\"bpmn-icon-\"]:before, [class*=\" bpmn-icon-\"]:before {\n font-family: \"bpmn\";\n font-style: normal;\n font-weight: normal;\n speak: never;\n\n display: inline-block;\n text-decoration: inherit;\n width: 1em;\n /* margin-right: .2em; */\n text-align: center;\n /* opacity: .8; */\n\n /* For safety - reset parent styles, that can break glyph codes*/\n font-variant: normal;\n text-transform: none;\n\n /* fix buttons height, for twitter bootstrap */\n line-height: 1em;\n\n /* Animation center compensation - margins should be symmetric */\n /* remove if not needed */\n /* margin-left: .2em; */\n\n /* you can be more comfortable with increased icons size */\n /* font-size: 120%; */\n\n /* Font smoothing. That was taken from TWBS */\n -webkit-font-smoothing: antialiased;\n -moz-osx-font-smoothing: grayscale;\n\n /* Uncomment for 3D effect */\n /* text-shadow: 1px 1px 1px rgba(127, 127, 127, 0.3); */\n}\n\n.bpmn-icon-screw-wrench:before { content: '\\e800'; } /* '' */\n.bpmn-icon-trash:before { content: '\\e801'; } /* '' */\n.bpmn-icon-conditional-flow:before { content: '\\e802'; } /* '' */\n.bpmn-icon-default-flow:before { content: '\\e803'; } /* '' */\n.bpmn-icon-gateway-parallel:before { content: '\\e804'; } /* '' */\n.bpmn-icon-intermediate-event-catch-cancel:before { content: '\\e805'; } /* '' */\n.bpmn-icon-intermediate-event-catch-non-interrupting-message:before { content: '\\e806'; } /* '' */\n.bpmn-icon-start-event-compensation:before { content: '\\e807'; } /* '' */\n.bpmn-icon-start-event-non-interrupting-parallel-multiple:before { content: '\\e808'; } /* '' */\n.bpmn-icon-loop-marker:before { content: '\\e809'; } /* '' */\n.bpmn-icon-parallel-mi-marker:before { content: '\\e80a'; } /* '' */\n.bpmn-icon-start-event-non-interrupting-signal:before { content: '\\e80b'; } /* '' */\n.bpmn-icon-intermediate-event-catch-non-interrupting-timer:before { content: '\\e80c'; } /* '' */\n.bpmn-icon-intermediate-event-catch-parallel-multiple:before { content: '\\e80d'; } /* '' */\n.bpmn-icon-intermediate-event-catch-compensation:before { content: '\\e80e'; } /* '' */\n.bpmn-icon-gateway-xor:before { content: '\\e80f'; } /* '' */\n.bpmn-icon-connection:before { content: '\\e810'; } /* '' */\n.bpmn-icon-end-event-cancel:before { content: '\\e811'; } /* '' */\n.bpmn-icon-intermediate-event-catch-condition:before { content: '\\e812'; } /* '' */\n.bpmn-icon-intermediate-event-catch-non-interrupting-parallel-multiple:before { content: '\\e813'; } /* '' */\n.bpmn-icon-start-event-condition:before { content: '\\e814'; } /* '' */\n.bpmn-icon-start-event-non-interrupting-timer:before { content: '\\e815'; } /* '' */\n.bpmn-icon-sequential-mi-marker:before { content: '\\e816'; } /* '' */\n.bpmn-icon-user-task:before { content: '\\e817'; } /* '' */\n.bpmn-icon-business-rule:before { content: '\\e818'; } /* '' */\n.bpmn-icon-sub-process-marker:before { content: '\\e819'; } /* '' */\n.bpmn-icon-start-event-parallel-multiple:before { content: '\\e81a'; } /* '' */\n.bpmn-icon-start-event-error:before { content: '\\e81b'; } /* '' */\n.bpmn-icon-intermediate-event-catch-signal:before { content: '\\e81c'; } /* '' */\n.bpmn-icon-intermediate-event-catch-error:before { content: '\\e81d'; } /* '' */\n.bpmn-icon-end-event-compensation:before { content: '\\e81e'; } /* '' */\n.bpmn-icon-subprocess-collapsed:before { content: '\\e81f'; } /* '' */\n.bpmn-icon-subprocess-expanded:before { content: '\\e820'; } /* '' */\n.bpmn-icon-task:before { content: '\\e821'; } /* '' */\n.bpmn-icon-end-event-error:before { content: '\\e822'; } /* '' */\n.bpmn-icon-intermediate-event-catch-escalation:before { content: '\\e823'; } /* '' */\n.bpmn-icon-intermediate-event-catch-timer:before { content: '\\e824'; } /* '' */\n.bpmn-icon-start-event-escalation:before { content: '\\e825'; } /* '' */\n.bpmn-icon-start-event-signal:before { content: '\\e826'; } /* '' */\n.bpmn-icon-business-rule-task:before { content: '\\e827'; } /* '' */\n.bpmn-icon-manual:before { content: '\\e828'; } /* '' */\n.bpmn-icon-receive:before { content: '\\e829'; } /* '' */\n.bpmn-icon-call-activity:before { content: '\\e82a'; } /* '' */\n.bpmn-icon-start-event-timer:before { content: '\\e82b'; } /* '' */\n.bpmn-icon-start-event-message:before { content: '\\e82c'; } /* '' */\n.bpmn-icon-intermediate-event-none:before { content: '\\e82d'; } /* '' */\n.bpmn-icon-intermediate-event-catch-link:before { content: '\\e82e'; } /* '' */\n.bpmn-icon-end-event-escalation:before { content: '\\e82f'; } /* '' */\n.bpmn-icon-text-annotation:before { content: '\\e830'; } /* '' */\n.bpmn-icon-bpmn-io:before { content: '\\e831'; } /* '' */\n.bpmn-icon-gateway-complex:before { content: '\\e832'; } /* '' */\n.bpmn-icon-gateway-eventbased:before { content: '\\e833'; } /* '' */\n.bpmn-icon-gateway-none:before { content: '\\e834'; } /* '' */\n.bpmn-icon-gateway-or:before { content: '\\e835'; } /* '' */\n.bpmn-icon-end-event-terminate:before { content: '\\e836'; } /* '' */\n.bpmn-icon-end-event-signal:before { content: '\\e837'; } /* '' */\n.bpmn-icon-end-event-none:before { content: '\\e838'; } /* '' */\n.bpmn-icon-end-event-multiple:before { content: '\\e839'; } /* '' */\n.bpmn-icon-end-event-message:before { content: '\\e83a'; } /* '' */\n.bpmn-icon-end-event-link:before { content: '\\e83b'; } /* '' */\n.bpmn-icon-intermediate-event-catch-message:before { content: '\\e83c'; } /* '' */\n.bpmn-icon-intermediate-event-throw-compensation:before { content: '\\e83d'; } /* '' */\n.bpmn-icon-start-event-multiple:before { content: '\\e83e'; } /* '' */\n.bpmn-icon-script:before { content: '\\e83f'; } /* '' */\n.bpmn-icon-manual-task:before { content: '\\e840'; } /* '' */\n.bpmn-icon-send:before { content: '\\e841'; } /* '' */\n.bpmn-icon-service:before { content: '\\e842'; } /* '' */\n.bpmn-icon-receive-task:before { content: '\\e843'; } /* '' */\n.bpmn-icon-user:before { content: '\\e844'; } /* '' */\n.bpmn-icon-start-event-none:before { content: '\\e845'; } /* '' */\n.bpmn-icon-intermediate-event-throw-escalation:before { content: '\\e846'; } /* '' */\n.bpmn-icon-intermediate-event-catch-multiple:before { content: '\\e847'; } /* '' */\n.bpmn-icon-intermediate-event-catch-non-interrupting-escalation:before { content: '\\e848'; } /* '' */\n.bpmn-icon-intermediate-event-throw-link:before { content: '\\e849'; } /* '' */\n.bpmn-icon-start-event-non-interrupting-condition:before { content: '\\e84a'; } /* '' */\n.bpmn-icon-data-object:before { content: '\\e84b'; } /* '' */\n.bpmn-icon-script-task:before { content: '\\e84c'; } /* '' */\n.bpmn-icon-send-task:before { content: '\\e84d'; } /* '' */\n.bpmn-icon-data-store:before { content: '\\e84e'; } /* '' */\n.bpmn-icon-start-event-non-interrupting-escalation:before { content: '\\e84f'; } /* '' */\n.bpmn-icon-intermediate-event-throw-message:before { content: '\\e850'; } /* '' */\n.bpmn-icon-intermediate-event-catch-non-interrupting-multiple:before { content: '\\e851'; } /* '' */\n.bpmn-icon-intermediate-event-catch-non-interrupting-signal:before { content: '\\e852'; } /* '' */\n.bpmn-icon-intermediate-event-throw-multiple:before { content: '\\e853'; } /* '' */\n.bpmn-icon-start-event-non-interrupting-message:before { content: '\\e854'; } /* '' */\n.bpmn-icon-ad-hoc-marker:before { content: '\\e855'; } /* '' */\n.bpmn-icon-service-task:before { content: '\\e856'; } /* '' */\n.bpmn-icon-task-none:before { content: '\\e857'; } /* '' */\n.bpmn-icon-compensation-marker:before { content: '\\e858'; } /* '' */\n.bpmn-icon-start-event-non-interrupting-multiple:before { content: '\\e859'; } /* '' */\n.bpmn-icon-intermediate-event-throw-signal:before { content: '\\e85a'; } /* '' */\n.bpmn-icon-intermediate-event-catch-non-interrupting-condition:before { content: '\\e85b'; } /* '' */\n.bpmn-icon-participant:before { content: '\\e85c'; } /* '' */\n.bpmn-icon-event-subprocess-expanded:before { content: '\\e85d'; } /* '' */\n.bpmn-icon-lane-insert-below:before { content: '\\e85e'; } /* '' */\n.bpmn-icon-space-tool:before { content: '\\e85f'; } /* '' */\n.bpmn-icon-connection-multi:before { content: '\\e860'; } /* '' */\n.bpmn-icon-lane:before { content: '\\e861'; } /* '' */\n.bpmn-icon-lasso-tool:before { content: '\\e862'; } /* '' */\n.bpmn-icon-lane-insert-above:before { content: '\\e863'; } /* '' */\n.bpmn-icon-lane-divide-three:before { content: '\\e864'; } /* '' */\n.bpmn-icon-lane-divide-two:before { content: '\\e865'; } /* '' */\n.bpmn-icon-data-input:before { content: '\\e866'; } /* '' */\n.bpmn-icon-data-output:before { content: '\\e867'; } /* '' */\n.bpmn-icon-hand-tool:before { content: '\\e868'; } /* '' */\n.bpmn-icon-group:before { content: '\\e869'; } /* '' */\n.bpmn-icon-transaction:before { content: '\\e8c4'; } /* '' */","@font-face {\n font-family: \"Material Icons\";\n font-style: normal;\n font-weight: 400;\n font-display: block;\n src: url(\"./material-icons.woff2\") format(\"woff2\"), url(\"./material-icons.woff\") format(\"woff\");\n}\n.material-icons {\n font-family: \"Material Icons\";\n font-weight: normal;\n font-style: normal;\n font-size: 24px;\n line-height: 1;\n letter-spacing: normal;\n text-transform: none;\n display: inline-block;\n white-space: nowrap;\n word-wrap: normal;\n direction: ltr;\n -webkit-font-smoothing: antialiased;\n -moz-osx-font-smoothing: grayscale;\n text-rendering: optimizeLegibility;\n font-feature-settings: \"liga\";\n}\n\n@font-face {\n font-family: \"Material Icons Outlined\";\n font-style: normal;\n font-weight: 400;\n font-display: block;\n src: url(\"./material-icons-outlined.woff2\") format(\"woff2\"), url(\"./material-icons-outlined.woff\") format(\"woff\");\n}\n.material-icons-outlined {\n font-family: \"Material Icons Outlined\";\n font-weight: normal;\n font-style: normal;\n font-size: 24px;\n line-height: 1;\n letter-spacing: normal;\n text-transform: none;\n display: inline-block;\n white-space: nowrap;\n word-wrap: normal;\n direction: ltr;\n -webkit-font-smoothing: antialiased;\n -moz-osx-font-smoothing: grayscale;\n text-rendering: optimizeLegibility;\n font-feature-settings: \"liga\";\n}\n\n@font-face {\n font-family: \"Material Icons Round\";\n font-style: normal;\n font-weight: 400;\n font-display: block;\n src: url(\"./material-icons-round.woff2\") format(\"woff2\"), url(\"./material-icons-round.woff\") format(\"woff\");\n}\n.material-icons-round {\n font-family: \"Material Icons Round\";\n font-weight: normal;\n font-style: normal;\n font-size: 24px;\n line-height: 1;\n letter-spacing: normal;\n text-transform: none;\n display: inline-block;\n white-space: nowrap;\n word-wrap: normal;\n direction: ltr;\n -webkit-font-smoothing: antialiased;\n -moz-osx-font-smoothing: grayscale;\n text-rendering: optimizeLegibility;\n font-feature-settings: \"liga\";\n}\n\n@font-face {\n font-family: \"Material Icons Sharp\";\n font-style: normal;\n font-weight: 400;\n font-display: block;\n src: url(\"./material-icons-sharp.woff2\") format(\"woff2\"), url(\"./material-icons-sharp.woff\") format(\"woff\");\n}\n.material-icons-sharp {\n font-family: \"Material Icons Sharp\";\n font-weight: normal;\n font-style: normal;\n font-size: 24px;\n line-height: 1;\n letter-spacing: normal;\n text-transform: none;\n display: inline-block;\n white-space: nowrap;\n word-wrap: normal;\n direction: ltr;\n -webkit-font-smoothing: antialiased;\n -moz-osx-font-smoothing: grayscale;\n text-rendering: optimizeLegibility;\n font-feature-settings: \"liga\";\n}\n\n@font-face {\n font-family: \"Material Icons Two Tone\";\n font-style: normal;\n font-weight: 400;\n font-display: block;\n src: url(\"./material-icons-two-tone.woff2\") format(\"woff2\"), url(\"./material-icons-two-tone.woff\") format(\"woff\");\n}\n.material-icons-two-tone {\n font-family: \"Material Icons Two Tone\";\n font-weight: normal;\n font-style: normal;\n font-size: 24px;\n line-height: 1;\n letter-spacing: normal;\n text-transform: none;\n display: inline-block;\n white-space: nowrap;\n word-wrap: normal;\n direction: ltr;\n -webkit-font-smoothing: antialiased;\n -moz-osx-font-smoothing: grayscale;\n text-rendering: optimizeLegibility;\n font-feature-settings: \"liga\";\n}\n","@use 'sass:map';\n@use 'sass:meta';\n\n/// Include content under the current selector (&) or the document root if there is no current\n/// selector.\n/// @param {String} $root [html] The default root selector to use when there is no current selector.\n/// @output The given content under the current selector, or root selector if there is no current\n/// selector.\n/// @content Content to output under the current selector, or root selector if there is no current\n/// selector.\n@mixin current-selector-or-root($root: html) {\n @at-root #{& or $root} {\n @content;\n }\n}\n\n/// A version of the standard `map.merge` function that takes a variable number of arguments.\n/// Each argument is merged into the final result from left to right.\n/// @param {List} $maps The maps to combine with map.merge\n/// @return {Map} The combined result of successively calling map.merge with each parameter.\n@function merge-all($maps...) {\n $result: ();\n @each $map in $maps {\n $result: map.merge($result, $map);\n }\n @return $result;\n}\n\n/// A version of the standard `map.deep-merge` function that takes a variable number of arguments.\n/// Each argument is deep-merged into the final result from left to right.\n/// @param {List} $maps The maps to combine with map.deep-merge\n/// @return {Map} The combined result of successively calling map.deep-merge with each parameter.\n@function deep-merge-all($maps...) {\n $result: ();\n @each $map in $maps {\n $result: map.deep-merge($result, $map);\n }\n @return $result;\n}\n\n/// Coerces the given value to a list, by converting any non-list value into a single-item list.\n/// This should be used when dealing with user-passed lists of args to avoid confusing errors,\n/// since Sass treats `($x)` as equivalent to `$x`.\n/// @param {Any} $value The value to coerce to a list.\n/// @return {List} The original $value if it was a list, otherwise a single-item list containing\n/// $value.\n@function coerce-to-list($value) {\n @return if(meta.type-of($value) != 'list', ($value,), $value);\n}\n","//\n// Copyright 2020 Google Inc.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a copy\n// of this software and associated documentation files (the \"Software\"), to deal\n// in the Software without restriction, including without limitation the rights\n// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n// copies of the Software, and to permit persons to whom the Software is\n// furnished to do so, subject to the following conditions:\n//\n// The above copyright notice and this permission notice shall be included in\n// all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\n// THE SOFTWARE.\n//\n\n@use 'sass:list';\n@use 'sass:map';\n@use 'sass:meta';\n@use './gss';\n\n/// When true, add an additional property/value declaration before declarations\n/// that use advanced features such as custom properties or CSS functions. This\n/// adds fallback support for older browsers such as IE11 that do not support\n/// these features at the cost of additional CSS. Set this variable to false to\n/// disable generating fallback declarations.\n$enable-fallback-declarations: true !default;\n\n/// Writes a CSS property/value declaration. This mixin is used throughout the\n/// theme package for consistency for dynamically setting CSS property values.\n///\n/// This mixin may optionally take a fallback value. For advanced features such\n/// as custom properties or CSS functions like min and max, a fallback value is\n/// recommended to support older browsers.\n///\n/// @param {String} $property - The CSS property of the declaration.\n/// @param {*} $value - The value of the CSS declaration. The value should be\n/// resolved by other theme functions first (i.e. custom property Maps and\n/// Material theme keys are not supported in this mixin). If the value is\n/// null, no declarations will be emitted.\n/// @param {*} $fallback - An optional fallback value for older browsers. If\n/// provided, a second property/value declaration will be added before the\n/// main property/value declaration.\n/// @param {Map} $gss - An optional Map of GSS annotations to add.\n/// @param {Bool} $important - If true, add `!important` to the declaration.\n@mixin declaration(\n $property,\n $value,\n $fallback-value: null,\n $gss: (),\n $important: false\n) {\n // Normally setting a null value to a property will not emit CSS, so mixins\n // wouldn't need to check this. However, Sass will throw an error if the\n // interpolated property is a custom property.\n @if $value != null {\n $important-rule: if($important, ' !important', '');\n\n @if $fallback-value and $enable-fallback-declarations {\n @include gss.annotate($gss);\n #{$property}: #{$fallback-value} #{$important-rule};\n\n // Add @alternate to annotations.\n $gss: map.merge(\n $gss,\n (\n alternate: true,\n )\n );\n }\n\n @include gss.annotate($gss);\n #{$property}: #{$value}#{$important-rule};\n }\n}\n\n/// Unpacks shorthand values for CSS properties (i.e. lists of 1-3 values).\n/// If a list of 4 values is given, it is returned as-is.\n///\n/// Examples:\n///\n/// unpack-value(4px) => 4px 4px 4px 4px\n/// unpack-value(4px 2px) => 4px 2px 4px 2px\n/// unpack-value(4px 2px 2px) => 4px 2px 2px 2px\n/// unpack-value(4px 2px 0 2px) => 4px 2px 0 2px\n///\n/// @param {Number | Map | List} $value - List of 1 to 4 value numbers.\n/// @return {List} a List of 4 value numbers.\n@function unpack-value($value) {\n @if meta.type-of($value) == 'map' or list.length($value) == 1 {\n @return $value $value $value $value;\n } @else if list.length($value) == 4 {\n @return $value;\n } @else if list.length($value) == 3 {\n @return list.nth($value, 1) list.nth($value, 2) list.nth($value, 3)\n list.nth($value, 2);\n } @else if list.length($value) == 2 {\n @return list.nth($value, 1) list.nth($value, 2) list.nth($value, 1)\n list.nth($value, 2);\n }\n\n @error \"Invalid CSS property value: '#{$value}' is more than 4 values\";\n}\n","// Custom Theming for Angular Material\n// For more information: https://material.angular.io/guide/theming\n@use \"@angular/material\" as mat;\n@import \"@angular/material/theming\";\n@import \"material-icons/iconfont/material-icons.css\";\n// Plus imports for other components in your app.\n// Include the common styles for Angular Material. We include this here so that you only\n// have to load a single css file for Angular Material in your app.\n// Be sure that you only ever include this mixin once!\n@include mat.all-component-typographies();\n@include mat.core();\n\n// Define the palettes for your theme using the Material Design palettes available in palette.scss\n// (imported above). For each palette, you can optionally specify a default, lighter, and darker\n// hue. Available color palettes: https://material.io/design/color/\n$egon-primary: mat.define-palette(mat.$cyan-palette);\n$egon-accent: mat.define-palette(mat.$pink-palette, A200, A100, A400);\n\n// The warn palette is optional (defaults to red).\n$egon-warn: mat.define-palette(mat.$red-palette);\n\n// Create the theme object. A theme consists of configurations for individual\n// theming systems such as \"color\" or \"typography\".\n$egon-theme: mat.define-light-theme(\n (\n color: (\n primary: $egon-primary,\n accent: $egon-accent,\n warn: $egon-warn,\n ),\n )\n);\n\n// Include theme styles for core and each component used in your app.\n// Alternatively, you can import and @include the theme mixins for each component\n// that you are using.\n@include mat.all-component-themes($egon-theme);\n\n/* FONTS */\n\n@font-face {\n font-family: Roboto;\n font-style: normal;\n font-weight: 700;\n src: local(\"Roboto-Regular\"), url(\"~src/assets/font/Roboto-Regular.woff\");\n}\n\n/* You can add global styles to this file, and also import other style files */\n\nhtml,\nbody {\n height: 100%;\n}\n\nbody {\n margin: 0;\n font-family: Roboto, \"Helvetica Neue\", Arial, sans-serif;\n}\n\n.smallScrollbar {\n /* Works on Firefox */\n scrollbar-width: thin;\n\n /* Works on Chrome, Edge, and Safari */\n *::-webkit-scrollbar {\n width: 12px;\n }\n}\n\n.headline {\n font-size: 17pt;\n height: 40px;\n cursor: pointer;\n}\n\n.headerButton {\n background-color: transparent;\n border: none;\n}\n\n.spacer {\n flex: 1 1 auto;\n}\n\n.mr-1 {\n margin-right: 8px !important;\n}\n\n.mr-10 {\n margin-right: 10px !important;\n}\n\n.materialIconButton {\n font-size: 24px !important;\n padding-left: 5px;\n padding-right: 5px;\n margin-top: 9px;\n}\n\n.toolbar {\n height: 65px;\n}\n\napp-root {\n display: block;\n height: 100%;\n}\n\na {\n color: map-get($egon-accent, 900);\n}\n\n/* Material Design */\n\nmat-dialog-actions.mdc-dialog__actions {\n padding: 0 24px 20px 24px;\n justify-content: end;\n}\n\n/* Snackbar */\n\n.mat-mdc-snack-bar-container {\n &.snackbar_success {\n --mdc-snackbar-container-color: darkgreen;\n --mat-mdc-snack-bar-button-color: #fff;\n --mdc-snackbar-supporting-text-color: #fff;\n }\n &.snackbar_warning {\n --mdc-snackbar-container-color: darkorange;\n --mat-mdc-snack-bar-button-color: black;\n --mdc-snackbar-supporting-text-color: #fff;\n }\n &.snackbar_error {\n --mdc-snackbar-container-color: #d04437;\n --mat-mdc-snack-bar-button-color: #fff;\n --mdc-snackbar-supporting-text-color: #fff;\n }\n &.snackbar_info {\n --mdc-snackbar-container-color: #42aebb;\n --mat-mdc-snack-bar-button-color: black;\n --mdc-snackbar-supporting-text-color: #fff;\n }\n}\n\n/* BPMN elements */\n\n.djs-overlay-context-pad {\n width: 120px;\n height: 238px;\n overflow-y: auto;\n}\n\n.djs-context-pad.open {\n border: solid 1px #80808054;\n}\n\n.djs-context-pad.open > .group {\n border: solid 1px #80808054;\n padding: 1px;\n background-color: white;\n}\n\n/**\n * from bpmn.io\n */\n\n/**\n * palette\n */\n\n.djs-palette {\n position: absolute;\n left: 20px;\n top: 20px;\n\n box-sizing: border-box;\n width: 32px;\n}\n\n.djs-palette .separator {\n margin: 0 2px;\n padding-top: 0;\n\n border: none;\n border-bottom: solid 1px #ddd;\n\n clear: both;\n}\n\n.djs-palette .entry:before {\n vertical-align: middle;\n}\n\n.djs-palette .djs-palette-toggle {\n cursor: pointer;\n}\n\n.djs-palette .entry,\n.djs-palette .djs-palette-toggle {\n color: #333;\n font-size: 26px;\n\n text-align: center;\n}\n\n.djs-palette .entry {\n float: left;\n}\n\n.djs-palette .entry img {\n max-width: 100%;\n}\n\n.djs-palette .djs-palette-entries:after {\n content: \"\";\n display: table;\n clear: both;\n}\n\n.djs-palette .djs-palette-toggle:hover {\n background: #666;\n}\n\n.djs-palette .entry:hover {\n fill: #42aebb;\n}\n\n.djs-palette .highlighted-entry {\n color: #42aebb !important;\n}\n\n.djs-palette .entry,\n.djs-palette .djs-palette-toggle {\n width: 30px;\n height: 30px;\n line-height: 30px;\n cursor: default;\n}\n\n/**\n * Palette open / two-column layout is controlled via\n * classes on the palette. Events to hook into palette\n * changed life-cycle are available in addition.\n */\n.djs-palette.two-column.open {\n width: 64px;\n}\n\n.djs-palette:not(.open) .djs-palette-entries {\n display: none;\n}\n\n.djs-palette:not(.open) {\n overflow: hidden;\n}\n\n.djs-palette.open .djs-palette-toggle {\n display: none;\n}\n\n/**\n * outline styles\n */\n\n.djs-outline {\n fill: none;\n visibility: hidden;\n}\n\n.djs-element.hover .djs-outline,\n.djs-element.selected .djs-outline {\n visibility: visible;\n shape-rendering: crispEdges;\n stroke-dasharray: 3, 3;\n}\n\n.djs-element.selected .djs-outline {\n stroke: #8888ff;\n stroke-width: 1px;\n}\n\n.djs-element.hover .djs-outline {\n stroke: #42aebb;\n}\n\n.djs-element.attach-ok .djs-visual > :nth-child(1) {\n stroke: #42aebb !important;\n}\n\n/**\n* Selection box style\n*\n*/\n.djs-lasso-overlay {\n stroke: #42aebb;\n}\n\n/**\n * Resize styles\n */\n.djs-resize-overlay {\n stroke: #42aebb;\n}\n\n/**\n * drag styles\n */\n.djs-dragger .djs-visual circle,\n.djs-dragger .djs-visual path,\n.djs-dragger .djs-visual polygon,\n.djs-dragger .djs-visual polyline,\n.djs-dragger .djs-visual rect,\n.djs-dragger .djs-visual text {\n fill: none !important;\n stroke: #42aebb !important;\n}\n\n/**\n * snapping\n */\n.djs-snap-line {\n stroke: #42aebb;\n stroke: rgba(255, 195, 66, 0.5);\n}\n\n.djs-palette .entry:hover {\n color: #42aebb;\n}\n\n.djs-palette .highlighted-entry {\n color: #42aebb !important;\n}\n\n.djs-context-pad .entry:hover {\n background: #42aebb;\n}\n\n.djs-popup .djs-popup-header .entry.active {\n color: #42aebb;\n border: solid 1px #42aebb;\n background-color: #f6f6f6;\n}\n\n.djs-popup-body .entry {\n width: auto !important;\n}\n\n.djs-segment-dragger:hover .djs-visual,\n.djs-segment-dragger.djs-dragging .djs-visual,\n.djs-bendpoint:hover .djs-visual,\n.djs-bendpoint.floating .djs-visual {\n fill: #42aebb;\n stroke-opacity: 0.5;\n stroke: black;\n}\n\n.djs-segment-dragger.djs-dragging .djs-visual,\n.djs-bendpoint.djs-dragging .djs-visual {\n fill: #42aebb;\n}\n\n.djs-tooltip-error > * {\n color: #42aebb;\n border-left: solid 5px #42aebb;\n}\n\n.djs-search-input input:focus {\n outline: none;\n border-color: #52b415;\n}\n\n.djs-search-result:hover {\n background: #fdffd6;\n}\n\n.djs-search-result-selected {\n background: #42aebb;\n}\n\n.djs-search-result-selected:hover {\n background: #42aebb;\n}\n\n.djs-search-overlay {\n background: #42aebb;\n}\n\n.autocomplete-items {\n border: 1px solid #a9a9a9;\n background-color: #f0f0f0;\n}\n\n.autocomplete-active {\n background-color: DodgerBlue !important;\n color: #ffffff;\n}\n","@use 'sass:map';\n@use 'sass:math';\n@use 'sass:meta';\n@use 'typography-utils';\n@use '../theming/theming';\n@use '@material/typography' as mdc-typography;\n\n/// Defines a typography level from the Material Design spec.\n/// @param {String} $font-size The font-size for this level.\n/// @param {String | Number} $line-height The line-height for this level.\n/// @param {String | Number} $font-weight The font-weight for this level.\n/// @param {String} $font-family The font-family for this level.\n/// @param {String} $letter-spacing The letter-spacing for this level.\n/// @returns {Map} A map representing the definition of this typographic level.\n@function define-typography-level(\n $font-size,\n $line-height: $font-size,\n $font-weight: 400,\n $font-family: null,\n $letter-spacing: normal) {\n\n @return (\n font-size: $font-size,\n line-height: $line-height,\n font-weight: $font-weight,\n font-family: $font-family,\n letter-spacing: $letter-spacing\n );\n}\n\n/// Defines a collection of typography levels to configure typography for an application.\n/// Any level not specified defaults to the values defined in the Material Design specification:\n/// https://material.io/guidelines/style/typography.html.\n///\n/// Note that the Material Design specification does not describe explicit letter-spacing values.\n/// The values here come from reverse engineering the Material Design examples.\n/// @param {String} $font-family Default font-family for levels that don't specify font-family.\n/// @param {Map} $display-4 Configuration for the \"display-4\" typographic level.\n/// @param {Map} $display-3 Configuration for the \"display-3\" typographic level.\n/// @param {Map} $display-2 Configuration for the \"display-2\" typographic level.\n/// @param {Map} $display-1 Configuration for the \"display-1\" typographic level.\n/// @param {Map} $headline Configuration for the \"headline\" typographic level.\n/// @param {Map} $title Configuration for the \"title\" typographic level.\n/// @param {Map} $subheading-2 Configuration for the \"subheading-2\" typographic level.\n/// @param {Map} $subheading-1 Configuration for the \"subheading-1\" typographic level.\n/// @param {Map} $body-2 Configuration for the \"body-2\" typographic level.\n/// @param {Map} $body-1 Configuration for the \"body-1\" typographic level.\n/// @param {Map} $caption Configuration for the \"caption\" typographic level.\n/// @param {Map} $button Configuration for the \"button\" typographic level.\n/// @param {Map} $input Configuration for the \"input\" typographic level.\n/// @returns {Map} A typography config for the application.\n///\n/// @deprecated Use `mat.define-typography-config` instead. See https://material.angular.io/guide/mdc-migration for information about migrating.\n/// @breaking-change 17.0.0\n@function define-legacy-typography-config(\n $font-family: 'Roboto, \"Helvetica Neue\", sans-serif',\n $display-4: define-typography-level(112px, 112px, 300, $letter-spacing: -0.05em),\n $display-3: define-typography-level(56px, 56px, 400, $letter-spacing: -0.02em),\n $display-2: define-typography-level(45px, 48px, 400, $letter-spacing: -0.005em),\n $display-1: define-typography-level(34px, 40px, 400),\n $headline: define-typography-level(24px, 32px, 400),\n $title: define-typography-level(20px, 32px, 500),\n $subheading-2: define-typography-level(16px, 28px, 400),\n $subheading-1: define-typography-level(15px, 24px, 400),\n $body-2: define-typography-level(14px, 24px, 500),\n $body-1: define-typography-level(14px, 20px, 400),\n $caption: define-typography-level(12px, 20px, 400),\n $button: define-typography-level(14px, 14px, 500),\n // Line-height must be unit-less fraction of the font-size.\n $input: define-typography-level(inherit, 1.125, 400)\n) {\n\n // Declare an initial map with all of the levels.\n $config: (\n display-4: $display-4,\n display-3: $display-3,\n display-2: $display-2,\n display-1: $display-1,\n headline: $headline,\n title: $title,\n subheading-2: $subheading-2,\n subheading-1: $subheading-1,\n body-2: $body-2,\n body-1: $body-1,\n caption: $caption,\n button: $button,\n input: $input,\n );\n\n // Loop through the levels and set the `font-family` of the ones that don't have one to the base.\n // Note that Sass can't modify maps in place, which means that we need to merge and re-assign.\n @each $key, $level in $config {\n @if map.get($level, font-family) == null {\n $new-level: map.merge($level, (font-family: $font-family));\n $config: map.merge($config, ($key: $new-level));\n }\n }\n\n // Add the base font family to the config.\n @return map.merge($config, (font-family: $font-family));\n}\n\n// Converts a map containing rem values to a map containing px values.\n@function _rem-to-px($x, $px-per-rem: 16px) {\n @if meta.type-of($x) == 'map' {\n @each $key, $val in $x {\n $x: map.merge($x, ($key: _rem-to-px($val)));\n }\n @return $x;\n }\n @if meta.type-of($x) == 'number' and math.unit($x) == 'rem' {\n @return math.div($x, 1rem) * $px-per-rem;\n }\n @else {\n @return $x;\n }\n}\n\n// Applies the default font family to all levels in a typography config.\n@function _apply-font-family($font-family, $initial-config) {\n $config: $initial-config;\n\n @each $key, $level in $config {\n @if map.get($level, 'font-family') == null {\n // Sass maps are immutable so we have to re-assign the variable each time.\n $config: map.set($config, $key, map.set($level, 'font-family', $font-family));\n }\n }\n\n @return map.set($config, 'font-family', $font-family);\n}\n\n// Converts an MDC typography level config to an Angular Material one.\n@function typography-config-level-from-mdc($mdc-level, $font-family: null) {\n $mdc-level-config: map.get(mdc-typography.$styles, $mdc-level);\n\n // Explicitly default the font family to null since we'll apply it globally\n // through the `define-typgraphy-config`/`define-legacy-typography-config`.\n @return define-typography-level(\n $font-family: $font-family,\n $font-size: map.get($mdc-level-config, font-size),\n $line-height: map.get($mdc-level-config, line-height),\n $font-weight: map.get($mdc-level-config, font-weight),\n $letter-spacing: map.get($mdc-level-config, letter-spacing)\n );\n}\n\n/// Generates an Angular Material typography config based on values from the official Material\n/// Design spec implementation (MDC Web). All arguments are optional, but may be passed to override\n/// the default values. The `mat-typography-level` function can be used to generate a custom\n/// typography level map which can be passed to this function to override one of the default levels.\n/// All default typography sizing generated by this function is in `px` units.\n///\n/// @param {String} $font-family The font family to use for levels where it is not explicitly\n/// specified.\n/// @param {Map} $headline-1 The font settings for the headline-1 font level.\n/// @param {Map} $headline-2 The font settings for the headline-2 font level.\n/// @param {Map} $headline-3 The font settings for the headline-3 font level.\n/// @param {Map} $headline-4 The font settings for the headline-4 font level.\n/// @param {Map} $headline-5 The font settings for the headline-5 font level.\n/// @param {Map} $headline-6 The font settings for the headline-6 font level.\n/// @param {Map} $subtitle-1 The font settings for the subtitle-1 font level.\n/// @param {Map} $subtitle-2 The font settings for the subtitle-2 font level.\n/// @param {Map} $body-1 The font settings for the body-1 font level.\n/// @param {Map} $body-2 The font settings for the body-2 font level.\n/// @param {Map} $caption The font settings for the caption font level.\n/// @param {Map} $button The font settings for the button font level.\n/// @param {Map} $overline The font settings for the overline font level.\n/// @return {Map} A map containing font settings for each of the levels in the Material Design spec.\n@function define-typography-config(\n // TODO(mmalerba): rename this function to define-typography-config,\n // and create a predefined px based config for people that need it.\n $font-family: mdc-typography.$font-family,\n $headline-1: null,\n $headline-2: null,\n $headline-3: null,\n $headline-4: null,\n $headline-5: null,\n $headline-6: null,\n $subtitle-1: null,\n $subtitle-2: null,\n $body-1: null,\n $body-2: null,\n $caption: null,\n $button: null,\n $overline: null,\n) {\n @return _apply-font-family($font-family, (\n headline-1: $headline-1 or _rem-to-px(typography-config-level-from-mdc(headline1)),\n headline-2: $headline-2 or _rem-to-px(typography-config-level-from-mdc(headline2)),\n headline-3: $headline-3 or _rem-to-px(typography-config-level-from-mdc(headline3)),\n headline-4: $headline-4 or _rem-to-px(typography-config-level-from-mdc(headline4)),\n headline-5: $headline-5 or _rem-to-px(typography-config-level-from-mdc(headline5)),\n headline-6: $headline-6 or _rem-to-px(typography-config-level-from-mdc(headline6)),\n subtitle-1: $subtitle-1 or _rem-to-px(typography-config-level-from-mdc(subtitle1)),\n subtitle-2: $subtitle-2 or _rem-to-px(typography-config-level-from-mdc(subtitle2)),\n body-1: $body-1 or _rem-to-px(typography-config-level-from-mdc(body1)),\n body-2: $body-2 or _rem-to-px(typography-config-level-from-mdc(body2)),\n caption: $caption or _rem-to-px(typography-config-level-from-mdc(caption)),\n button: $button or _rem-to-px(typography-config-level-from-mdc(button)),\n overline: $overline or _rem-to-px(typography-config-level-from-mdc(overline)),\n ));\n}\n\n/// Generates an Angular Material typography config based on values from the official Material\n/// Design spec implementation (MDC Web). All arguments are optional, but may be passed to override\n/// the default values. The `mat-typography-level` function can be used to generate a custom\n/// typography level map which can be passed to this function to override one of the default levels.\n/// All default typography sizing generated by this function is in `rem` units.\n///\n/// @param {String} $font-family The font family to use for levels where it is not explicitly\n/// specified.\n/// @param {Map} $headline-1 The font settings for the headline-1 font level.\n/// @param {Map} $headline-2 The font settings for the headline-2 font level.\n/// @param {Map} $headline-3 The font settings for the headline-3 font level.\n/// @param {Map} $headline-4 The font settings for the headline-4 font level.\n/// @param {Map} $headline-5 The font settings for the headline-5 font level.\n/// @param {Map} $headline-6 The font settings for the headline-6 font level.\n/// @param {Map} $subtitle-1 The font settings for the subtitle-1 font level.\n/// @param {Map} $subtitle-2 The font settings for the subtitle-2 font level.\n/// @param {Map} $body-1 The font settings for the body-1 font level.\n/// @param {Map} $body-2 The font settings for the body-2 font level.\n/// @param {Map} $caption The font settings for the caption font level.\n/// @param {Map} $button The font settings for the button font level.\n/// @param {Map} $overline The font settings for the overline font level.\n/// @return {Map} A map containing font settings for each of the levels in the Material Design spec.\n@function define-rem-typography-config(\n // TODO(mmalerba): rename this function to define-typography-config,\n // and create a predefined px based config for people that need it.\n $font-family: mdc-typography.$font-family,\n $headline-1: null,\n $headline-2: null,\n $headline-3: null,\n $headline-4: null,\n $headline-5: null,\n $headline-6: null,\n $subtitle-1: null,\n $subtitle-2: null,\n $body-1: null,\n $body-2: null,\n $caption: null,\n $button: null,\n $overline: null,\n) {\n @return _apply-font-family($font-family, (\n headline-1: $headline-1 or typography-config-level-from-mdc(headline1),\n headline-2: $headline-2 or typography-config-level-from-mdc(headline2),\n headline-3: $headline-3 or typography-config-level-from-mdc(headline3),\n headline-4: $headline-4 or typography-config-level-from-mdc(headline4),\n headline-5: $headline-5 or typography-config-level-from-mdc(headline5),\n headline-6: $headline-6 or typography-config-level-from-mdc(headline6),\n subtitle-1: $subtitle-1 or typography-config-level-from-mdc(subtitle1),\n subtitle-2: $subtitle-2 or typography-config-level-from-mdc(subtitle2),\n body-1: $body-1 or typography-config-level-from-mdc(body1),\n body-2: $body-2 or typography-config-level-from-mdc(body2),\n caption: $caption or typography-config-level-from-mdc(caption),\n button: $button or typography-config-level-from-mdc(button),\n overline: $overline or typography-config-level-from-mdc(overline),\n ));\n}\n\n// Whether a config is for the Material Design 2018 typography system.\n@function private-typography-is-2018-config($config) {\n @return map.get($config, headline-1) != null;\n}\n\n// Whether a config is for the Material Design 2014 typography system.\n@function private-typography-is-2014-config($config) {\n @return map.get($config, headline) != null;\n}\n\n// Given a config for either the 2014 or 2018 Material Design typography system,\n// produces a normalized typography config for the 2014 Material Design typography system.\n// 2014 - https://material.io/archive/guidelines/style/typography.html#typography-styles\n// 2018 - https://material.io/design/typography/the-type-system.html#type-scale\n//\n// Components using this function should be migrated to normalize to the 2018 style config instead.\n// New components should not use this function.\n@function private-typography-to-2014-config($config) {\n @if $config == null {\n @return null;\n }\n @if not private-typography-is-2014-config($config) {\n $args: (\n display-4: map.get($config, headline-1),\n display-3: map.get($config, headline-2),\n display-2: map.get($config, headline-3),\n display-1: map.get($config, headline-4),\n headline: map.get($config, headline-5),\n title: map.get($config, headline-6),\n subheading-2: map.get($config, subtitle-1),\n subheading-1: map.get($config, subtitle-2),\n body-2: map.get($config, body-1),\n body-1: map.get($config, body-2),\n button: map.get($config, button),\n caption: map.get($config, caption),\n font-family: map.get($config, font-family),\n );\n $non-null-args: ();\n @each $key, $value in $args {\n @if $value != null {\n $non-null-args: map.merge($non-null-args, ($key: $value));\n }\n }\n @return define-legacy-typography-config($non-null-args...);\n }\n @return $config;\n}\n\n// Given a config for either the 2014 or 2018 Material Design typography system,\n// produces a normalized typography config for the 2018 Material Design typography system.\n// 2014 - https://material.io/archive/guidelines/style/typography.html#typography-styles\n// 2018 - https://material.io/design/typography/the-type-system.html#type-scale\n@function private-typography-to-2018-config($config) {\n @if $config == null {\n @return null;\n }\n @if not private-typography-is-2018-config($config) {\n @return (\n headline-1: map.get($config, display-4),\n headline-2: map.get($config, display-3),\n headline-3: map.get($config, display-2),\n headline-4: map.get($config, display-1),\n headline-5: map.get($config, headline),\n headline-6: map.get($config, title),\n subtitle-1: map.get($config, subheading-2),\n font-famiy: map.get($config, font-family),\n\n // These mappings are odd, but body-2 in the 2014 system actually looks closer to subtitle-2\n // in the 2018 system, and subeading-1 in the 2014 system looks more like body-1 in the 2018\n // system.\n subtitle-2: map.get($config, body-2),\n body-1: map.get($config, subheading-1),\n\n body-2: map.get($config, body-1),\n button: map.get($config, button),\n caption: map.get($config, caption),\n overline: if(map.get($config, overline), map.get($config, overline),\n define-typography-level(12px, 32px, 500)\n )\n );\n }\n @return $config;\n}\n\n/// Emits baseline typographic styles based on a given config.\n/// @param {Map} $config-or-theme A typography config for an entire theme.\n/// @param {String} $selector Ancestor selector under which native elements, such as h1, will\n/// be styled.\n@mixin typography-hierarchy($config-or-theme, $selector: '.mat-typography') {\n $config: private-typography-to-2018-config(theming.get-typography-config($config-or-theme));\n\n // Note that it seems redundant to prefix the class rules with the `$selector`, however it's\n // necessary if we want to allow people to overwrite the tag selectors. This is due to\n // selectors like `#{$selector} h1` being more specific than ones like `.mat-title`.\n .mat-h1,\n .mat-headline-5,\n #{$selector} .mat-h1,\n #{$selector} .mat-headline-5,\n #{$selector} h1 {\n @include typography-utils.typography-level($config, headline-5);\n margin: 0 0 16px;\n }\n\n .mat-h2,\n .mat-headline-6,\n #{$selector} .mat-h2,\n #{$selector} .mat-headline-6,\n #{$selector} h2 {\n @include typography-utils.typography-level($config, headline-6);\n margin: 0 0 16px;\n }\n\n .mat-h3,\n .mat-subtitle-1,\n #{$selector} .mat-h3,\n #{$selector} .mat-subtitle-1,\n #{$selector} h3 {\n @include typography-utils.typography-level($config, subtitle-1);\n margin: 0 0 16px;\n }\n\n .mat-h4,\n .mat-body-1,\n #{$selector} .mat-h4,\n #{$selector} .mat-body-1,\n #{$selector} h4 {\n @include typography-utils.typography-level($config, body-1);\n margin: 0 0 16px;\n }\n\n // Note: the spec doesn't have anything that would correspond to h5 and h6, but we add these for\n // consistency. The font sizes come from the Chrome user agent styles which have h5 at 0.83em\n // and h6 at 0.67em.\n .mat-h5,\n #{$selector} .mat-h5,\n #{$selector} h5 {\n @include typography-utils.font-shorthand(\n // calc is used here to support css variables\n calc(#{typography-utils.font-size($config, body-2)} * 0.83),\n typography-utils.font-weight($config, body-2),\n typography-utils.line-height($config, body-2),\n typography-utils.font-family($config, body-2)\n );\n\n margin: 0 0 12px;\n }\n\n .mat-h6,\n #{$selector} .mat-h6,\n #{$selector} h6 {\n @include typography-utils.font-shorthand(\n // calc is used here to support css variables\n calc(#{typography-utils.font-size($config, body-2)} * 0.67),\n typography-utils.font-weight($config, body-2),\n typography-utils.line-height($config, body-2),\n typography-utils.font-family($config, body-2)\n );\n\n margin: 0 0 12px;\n }\n\n .mat-body-strong,\n .mat-subtitle-2,\n #{$selector} .mat-body-strong,\n #{$selector} .mat-subtitle-2 {\n @include typography-utils.typography-level($config, subtitle-2);\n }\n\n .mat-body,\n .mat-body-2,\n #{$selector} .mat-body,\n #{$selector} .mat-body-2,\n #{$selector} {\n @include typography-utils.typography-level($config, body-2);\n\n p {\n margin: 0 0 12px;\n }\n }\n\n .mat-small,\n .mat-caption,\n #{$selector} .mat-small,\n #{$selector} .mat-caption {\n @include typography-utils.typography-level($config, caption);\n }\n\n .mat-headline-1,\n #{$selector} .mat-headline-1 {\n @include typography-utils.typography-level($config, headline-1);\n margin: 0 0 56px;\n }\n\n .mat-headline-2,\n #{$selector} .mat-headline-2 {\n @include typography-utils.typography-level($config, headline-2);\n margin: 0 0 64px;\n }\n\n .mat-headline-3,\n #{$selector} .mat-headline-3 {\n @include typography-utils.typography-level($config, headline-3);\n margin: 0 0 64px;\n }\n\n .mat-headline-4,\n #{$selector} .mat-headline-4 {\n @include typography-utils.typography-level($config, headline-4);\n margin: 0 0 64px;\n }\n}\n\n/// Emits baseline typographic styles based on a given config.\n/// @param {Map} $config-or-theme A typography config for an entire theme.\n/// @param {String} $selector Ancestor selector under which native elements, such as h1, will\n/// be styled.\n/// @deprecated Use `mat.typography-hierarchy` instead. See https://material.angular.io/guide/mdc-migration for information about migrating.\n/// @breaking-change 17.0.0\n@mixin legacy-typography-hierarchy($config-or-theme, $selector: '.mat-typography') {\n $config: private-typography-to-2014-config(theming.get-typography-config($config-or-theme));\n\n // Note that it seems redundant to prefix the class rules with the `$selector`, however it's\n // necessary if we want to allow people to overwrite the tag selectors. This is due to\n // selectors like `#{$selector} h1` being more specific than ones like `.mat-title`.\n .mat-h1,\n .mat-headline,\n #{$selector} .mat-h1,\n #{$selector} .mat-headline,\n #{$selector} h1 {\n @include typography-utils.typography-level($config, headline);\n margin: 0 0 16px;\n }\n\n .mat-h2,\n .mat-title,\n #{$selector} .mat-h2,\n #{$selector} .mat-title,\n #{$selector} h2 {\n @include typography-utils.typography-level($config, title);\n margin: 0 0 16px;\n }\n\n .mat-h3,\n .mat-subheading-2,\n #{$selector} .mat-h3,\n #{$selector} .mat-subheading-2,\n #{$selector} h3 {\n @include typography-utils.typography-level($config, subheading-2);\n margin: 0 0 16px;\n }\n\n .mat-h4,\n .mat-subheading-1,\n #{$selector} .mat-h4,\n #{$selector} .mat-subheading-1,\n #{$selector} h4 {\n @include typography-utils.typography-level($config, subheading-1);\n margin: 0 0 16px;\n }\n\n // Note: the spec doesn't have anything that would correspond to h5 and h6, but we add these for\n // consistency. The font sizes come from the Chrome user agent styles which have h5 at 0.83em\n // and h6 at 0.67em.\n .mat-h5,\n #{$selector} .mat-h5,\n #{$selector} h5 {\n @include typography-utils.font-shorthand(\n // calc is used here to support css variables\n calc(#{typography-utils.font-size($config, body-1)} * 0.83),\n typography-utils.font-weight($config, body-1),\n typography-utils.line-height($config, body-1),\n typography-utils.font-family($config, body-1)\n );\n\n margin: 0 0 12px;\n }\n\n .mat-h6,\n #{$selector} .mat-h6,\n #{$selector} h6 {\n @include typography-utils.font-shorthand(\n // calc is used here to support css variables\n calc(#{typography-utils.font-size($config, body-1)} * 0.67),\n typography-utils.font-weight($config, body-1),\n typography-utils.line-height($config, body-1),\n typography-utils.font-family($config, body-1)\n );\n\n margin: 0 0 12px;\n }\n\n .mat-body-strong,\n .mat-body-2,\n #{$selector} .mat-body-strong,\n #{$selector} .mat-body-2 {\n @include typography-utils.typography-level($config, body-2);\n }\n\n .mat-body,\n .mat-body-1,\n #{$selector} .mat-body,\n #{$selector} .mat-body-1,\n #{$selector} {\n @include typography-utils.typography-level($config, body-1);\n\n p {\n margin: 0 0 12px;\n }\n }\n\n .mat-small,\n .mat-caption,\n #{$selector} .mat-small,\n #{$selector} .mat-caption {\n @include typography-utils.typography-level($config, caption);\n }\n\n .mat-display-4,\n #{$selector} .mat-display-4 {\n @include typography-utils.typography-level($config, display-4);\n margin: 0 0 56px;\n }\n\n .mat-display-3,\n #{$selector} .mat-display-3 {\n @include typography-utils.typography-level($config, display-3);\n margin: 0 0 64px;\n }\n\n .mat-display-2,\n #{$selector} .mat-display-2 {\n @include typography-utils.typography-level($config, display-2);\n margin: 0 0 64px;\n }\n\n .mat-display-1,\n #{$selector} .mat-display-1 {\n @include typography-utils.typography-level($config, display-1);\n margin: 0 0 64px;\n }\n}\n","@use 'sass:list';\n@use 'sass:map';\n@use 'sass:math';\n@use 'sass:meta';\n@use 'sass:string';\n\n\n// Utility for fetching a nested value from a typography config.\n@function _mat-get-type-value($config, $level, $name) {\n @if meta.type-of($config) != 'map' {\n @error 'Typography config must be a map. Received #{meta.type-of($config)}.';\n }\n\n @if not map.has-key($config, $level) {\n @error 'Typography config does not have a level called \"#{$level}\". ' +\n 'Available levels are: #{map.keys($config)}.';\n }\n\n @return map.get(map.get($config, $level), $name);\n}\n\n/// Gets the font size for a level inside a typography config.\n/// @param {Map} $config A typography config.\n/// @param {Map} $level A typography level.\n@function font-size($config, $level) {\n @return _mat-get-type-value($config, $level, font-size);\n}\n\n/// Gets the line height for a level inside a typography config.\n/// @param {Map} $config A typography config.\n/// @param {Map} $level A typography level.\n@function line-height($config, $level) {\n @return _mat-get-type-value($config, $level, line-height);\n}\n\n/// Gets the font weight for a level inside a typography config.\n/// @param {Map} $config A typography config.\n/// @param {Map} $level A typography level.\n@function font-weight($config, $level) {\n @return _mat-get-type-value($config, $level, font-weight);\n}\n\n/// Gets the letter spacing for a level inside a typography config.\n/// @param {Map} $config A typography config.\n/// @param {Map} $level A typography level.\n@function letter-spacing($config, $level) {\n @return _mat-get-type-value($config, $level, letter-spacing);\n}\n\n/// Gets the font-family from a typography config and removes the quotes around it.\n/// @param {Map} $config A typography config.\n/// @param {Map} $level A typography level.\n@function font-family($config, $level: null) {\n @if meta.type-of($config) != 'map' {\n @error 'Typography config must be a map. Received #{meta.type-of($config)}.';\n }\n\n $font-family: map.get($config, font-family);\n\n @if $level != null {\n $font-family: _mat-get-type-value($config, $level, font-family);\n }\n\n // Guard against unquoting non-string values, because it's deprecated.\n @return if(meta.type-of($font-family) == string, string.unquote($font-family), $font-family);\n}\n\n/// Outputs the shorthand `font` CSS property, based on a set of typography values. Falls back to\n/// the individual properties if a value that isn't allowed in the shorthand is passed in.\n/// @param {String} $font-size The font-size value.\n/// @param {String | Number} $font-weight The font-weight value.\n/// @param {String | Number} $line-height The line-height value.\n/// @param {String} $font-family The font-family value.\n/// @returns {String} The `font` shorthand value combining the given parts.\n@mixin font-shorthand($font-size, $font-weight, $line-height, $font-family) {\n // If any of the values are set to `inherit`, we can't use the shorthand\n // so we fall back to passing in the individual properties.\n @if ($font-size == inherit or\n $font-weight == inherit or\n $line-height == inherit or\n $font-family == inherit or\n $font-size == null or\n $font-weight == null or\n $line-height == null or\n $font-family == null) {\n\n font-size: $font-size;\n font-weight: $font-weight;\n line-height: $line-height;\n font-family: $font-family;\n }\n @else {\n // Otherwise use the shorthand `font`, because it's the least amount of bytes.\n font: $font-weight list.slash($font-size, $line-height) $font-family;\n }\n}\n\n/// Emits CSS styles for the given typography level.\n/// @param {Map} $config A typography config.\n/// @param {Map} $level A typography level.\n@mixin typography-level($config, $level) {\n // we deliberately do not use the font shorthand here because it overrides\n // certain font properties that can't be configured in the current typography\n // config, e.g. the font-variant-caps or font-feature-settings property\n font-size: font-size($config, $level);\n font-weight: font-weight($config, $level);\n line-height: line-height($config, $level);\n font-family: font-family($config, $level);\n\n letter-spacing: letter-spacing($config, $level);\n}\n\n/// Coerce a value to `em` if it is a unitless number, otherwise returns\n/// the value provided.\n@function private-coerce-unitless-to-em($value) {\n @return if(math.is-unitless($value), 1em * $value, $value);\n}\n","@use 'sass:map';\n@use '../core/density/private/compatibility';\n@use '../core/theming/theming';\n@use '../core/typography/typography';\n@use '../core/typography/typography-utils';\n@use './tree-variables';\n\n@mixin color($config-or-theme) {\n $config: theming.get-color-config($config-or-theme);\n $background: map.get($config, background);\n $foreground: map.get($config, foreground);\n\n .mat-tree {\n background: theming.get-color-from-palette($background, 'card');\n }\n\n .mat-tree-node,\n .mat-nested-tree-node {\n color: theming.get-color-from-palette($foreground, text);\n }\n}\n\n@mixin typography($config-or-theme) {\n $config: typography.private-typography-to-2014-config(\n theming.get-typography-config($config-or-theme));\n .mat-tree {\n font-family: typography-utils.font-family($config);\n }\n\n .mat-tree-node,\n .mat-nested-tree-node {\n font-weight: typography-utils.font-weight($config, body-1);\n font-size: typography-utils.font-size($config, body-1);\n }\n}\n\n@mixin density($config-or-theme) {\n $density-scale: theming.get-density-config($config-or-theme);\n $height: compatibility.private-density-prop-value(tree-variables.$density-config,\n $density-scale, height);\n\n @include compatibility.private-density-legacy-compatibility() {\n .mat-tree-node {\n min-height: $height;\n }\n }\n}\n\n@mixin theme($theme-or-color-config) {\n $theme: theming.private-legacy-get-theme($theme-or-color-config);\n @include theming.private-check-duplicate-theme-styles($theme, 'mat-tree') {\n $color: theming.get-color-config($theme);\n $density: theming.get-density-config($theme);\n $typography: theming.get-typography-config($theme);\n\n @if $color != null {\n @include color($color);\n }\n @if $density != null {\n @include density($density);\n }\n @if $typography != null {\n @include typography($typography);\n }\n }\n}\n\n","@use 'sass:map';\n@use '../core/theming/theming';\n@use '../core/typography/typography';\n@use '../core/tokens/token-utils';\n@use '../core/tokens/m2/mat/card' as tokens-mat-card;\n@use '../core/tokens/m2/mdc/elevated-card' as tokens-mdc-elevated-card;\n@use '../core/tokens/m2/mdc/outlined-card' as tokens-mdc-outlined-card;\n@use '@material/card/elevated-card-theme' as mdc-elevated-card-theme;\n@use '@material/card/outlined-card-theme' as mdc-outlined-card-theme;\n\n@mixin color($config-or-theme) {\n $config: theming.get-color-config($config-or-theme);\n $mdc-elevated-card-color-tokens: token-utils.resolve-elevation(\n tokens-mdc-elevated-card.get-color-tokens($config),\n container-elevation,\n container-shadow-color\n );\n $mdc-outlined-card-color-tokens: token-utils.resolve-elevation(\n tokens-mdc-outlined-card.get-color-tokens($config),\n container-elevation,\n container-shadow-color,\n );\n $mat-card-color-tokens: tokens-mat-card.get-color-tokens($config);\n\n // Add values for card tokens.\n .mat-mdc-card {\n @include mdc-elevated-card-theme.theme($mdc-elevated-card-color-tokens);\n @include mdc-outlined-card-theme.theme($mdc-outlined-card-color-tokens);\n @include token-utils.create-token-values(tokens-mat-card.$prefix, $mat-card-color-tokens);\n }\n}\n\n@mixin typography($config-or-theme) {\n $config: typography.private-typography-to-2018-config(\n theming.get-typography-config($config-or-theme));\n $mdc-elevated-card-typography-tokens: tokens-mdc-elevated-card.get-typography-tokens($config);\n $mdc-outlined-card-typography-tokens: tokens-mdc-outlined-card.get-typography-tokens($config);\n $mat-card-typography-tokens: tokens-mat-card.get-typography-tokens($config);\n\n // Add values for card tokens.\n .mat-mdc-card {\n @include mdc-elevated-card-theme.theme($mdc-elevated-card-typography-tokens);\n @include mdc-outlined-card-theme.theme($mdc-outlined-card-typography-tokens);\n @include token-utils.create-token-values(tokens-mat-card.$prefix, $mat-card-typography-tokens);\n }\n}\n\n@mixin density($config-or-theme) {\n $density-scale: theming.get-density-config($config-or-theme);\n $mdc-elevated-card-density-tokens: tokens-mdc-elevated-card.get-density-tokens($density-scale);\n $mdc-outlined-card-density-tokens: tokens-mdc-outlined-card.get-density-tokens($density-scale);\n $mat-card-density-tokens: tokens-mat-card.get-density-tokens($density-scale);\n\n // Add values for card tokens.\n .mat-mdc-card {\n @include mdc-elevated-card-theme.theme($mdc-elevated-card-density-tokens);\n @include mdc-outlined-card-theme.theme($mdc-outlined-card-density-tokens);\n @include token-utils.create-token-values(tokens-mat-card.$prefix, $mat-card-density-tokens);\n }\n}\n\n@mixin theme($theme-or-color-config) {\n $theme: theming.private-legacy-get-theme($theme-or-color-config);\n @include theming.private-check-duplicate-theme-styles($theme, 'mat-card') {\n $color: theming.get-color-config($theme);\n $density: theming.get-density-config($theme);\n $typography: theming.get-typography-config($theme);\n\n @if $color != null {\n @include color($color);\n }\n @if $density != null {\n @include density($density);\n }\n @if $typography != null {\n @include typography($typography);\n }\n }\n}\n\n@mixin theme-from-tokens($tokens) {\n @if ($tokens != ()) {\n $elevated-card-tokens: map.get($tokens, tokens-mdc-elevated-card.$prefix);\n // Work around a bug in MDC where the elevation is not resolved to an actual shadow value.\n $elevated-card-tokens: token-utils.resolve-elevation(\n $elevated-card-tokens,\n container-elevation,\n container-shadow-color\n );\n $outlined-card-tokens: map.get($tokens, tokens-mdc-outlined-card.$prefix);\n // Work around a bug in MDC where the elevation is not resolved to an actual shadow value.\n $outlined-card-tokens: token-utils.resolve-elevation(\n $outlined-card-tokens,\n container-elevation,\n container-shadow-color\n );\n @include mdc-elevated-card-theme.theme($elevated-card-tokens);\n @include mdc-outlined-card-theme.theme($outlined-card-tokens);\n @include token-utils.create-token-values(\n tokens-mat-card.$prefix, map.get($tokens, tokens-mat-card.$prefix));\n }\n}\n","@use '@material/tooltip/plain-tooltip-theme' as mdc-plain-tooltip-theme;\n@use '../core/theming/theming';\n@use '../core/typography/typography';\n@use '../core/tokens/m2/mdc/plain-tooltip' as m2-mdc-plain-tooltip;\n\n@mixin color($config-or-theme) {\n $config: theming.get-color-config($config-or-theme);\n $mdc-tooltip-color-tokens: m2-mdc-plain-tooltip.get-color-tokens($config);\n\n // Add values for MDC tooltip tokens.\n .mat-mdc-tooltip {\n @include mdc-plain-tooltip-theme.theme($mdc-tooltip-color-tokens);\n }\n}\n\n@mixin typography($config-or-theme) {\n $config: typography.private-typography-to-2018-config(\n theming.get-typography-config($config-or-theme));\n $mdc-tooltip-typography-tokens: m2-mdc-plain-tooltip.get-typography-tokens($config);\n\n // Add values for MDC tooltip tokens.\n .mat-mdc-tooltip {\n @include mdc-plain-tooltip-theme.theme($mdc-tooltip-typography-tokens);\n }\n}\n\n@mixin density($config-or-theme) {\n $density-scale: theming.get-density-config($config-or-theme);\n $mdc-tooltip-density-tokens: m2-mdc-plain-tooltip.get-density-tokens($density-scale);\n\n // Add values for MDC tooltip tokens.\n .mat-mdc-tooltip {\n @include mdc-plain-tooltip-theme.theme($mdc-tooltip-density-tokens);\n }\n}\n\n@mixin theme($theme-or-color-config) {\n $theme: theming.private-legacy-get-theme($theme-or-color-config);\n @include theming.private-check-duplicate-theme-styles($theme, 'mat-tooltip') {\n $color: theming.get-color-config($theme);\n $density: theming.get-density-config($theme);\n $typography: theming.get-typography-config($theme);\n\n @if $color != null {\n @include color($color);\n }\n @if $density != null {\n @include density($density);\n }\n @if $typography != null {\n @include typography($typography);\n }\n }\n}\n","@use '@material/dialog/dialog-theme' as mdc-dialog-theme;\n@use '../core/tokens/m2/mdc/dialog' as tokens-mdc-dialog;\n@use '../core/theming/theming';\n@use '../core/typography/typography';\n\n@mixin color($config-or-theme) {\n $config: theming.get-color-config($config-or-theme);\n\n .mat-mdc-dialog-container {\n @include mdc-dialog-theme.theme(tokens-mdc-dialog.get-color-tokens($config));\n }\n}\n\n@mixin typography($config-or-theme) {\n $config: typography.private-typography-to-2018-config(\n theming.get-typography-config($config-or-theme));\n\n .mat-mdc-dialog-container {\n @include mdc-dialog-theme.theme(tokens-mdc-dialog.get-typography-tokens($config));\n }\n}\n\n@mixin density($config-or-theme) {\n $density-scale: theming.get-density-config($config-or-theme);\n}\n\n@mixin theme($theme-or-color-config) {\n $theme: theming.private-legacy-get-theme($theme-or-color-config);\n @include theming.private-check-duplicate-theme-styles($theme, 'mat-dialog') {\n $color: theming.get-color-config($theme);\n $density: theming.get-density-config($theme);\n $typography: theming.get-typography-config($theme);\n\n @if $color != null {\n @include color($color);\n }\n @if $density != null {\n @include density($density);\n }\n @if $typography != null {\n @include typography($typography);\n }\n }\n}\n","@use 'sass:color';\n@use 'sass:map';\n@use 'sass:meta';\n@use '@material/chips/chip-theme' as mdc-chip-theme;\n@use '../core/tokens/m2/mdc/chip' as tokens-mdc-chip;\n@use '../core/theming/palette';\n@use '../core/theming/theming';\n@use '../core/typography/typography';\n@use '../core/mdc-helpers/mdc-helpers';\n\n@function _get-default-palette($config) {\n $is-dark: map.get($config, is-dark);\n $grey-50: map.get(palette.$grey-palette, 50);\n $grey-900: map.get(palette.$grey-palette, 900);\n $default-foreground: if($is-dark, $grey-50, $grey-900);\n\n $surface: map.get(map.get($config, background), card);\n $on-surface: if(\n mdc-helpers.variable-safe-contrast-tone($surface, $is-dark) == 'dark',\n #000,\n #fff\n );\n $default-background: if(\n meta.type-of($on-surface) == color and meta.type-of($surface) == color,\n color.mix($on-surface, $surface, 12%),\n $on-surface\n );\n\n @return (default: $default-background, default-contrast: $default-foreground);\n}\n\n@mixin color($config-or-theme) {\n $config: theming.get-color-config($config-or-theme);\n\n .mat-mdc-standard-chip {\n $default-palette: _get-default-palette($config);\n $default-config: map.merge($config, (primary: $default-palette));\n $default-color-tokens: tokens-mdc-chip.get-color-tokens($default-config);\n @include mdc-chip-theme.theme($default-color-tokens);\n\n &.mat-mdc-chip-selected,\n &.mat-mdc-chip-highlighted {\n &.mat-primary {\n $primary-color-tokens: tokens-mdc-chip.get-color-tokens($config);\n @include mdc-chip-theme.theme($primary-color-tokens);\n }\n\n &.mat-accent {\n $accent-config: map.merge($config, (primary: map.get($config, accent)));\n $accent-color-tokens: tokens-mdc-chip.get-color-tokens($accent-config);\n @include mdc-chip-theme.theme($accent-color-tokens);\n }\n\n &.mat-warn {\n $warn-config: map.merge($config, (primary: map.get($config, warn)));\n $warn-color-tokens: tokens-mdc-chip.get-color-tokens($warn-config);\n @include mdc-chip-theme.theme($warn-color-tokens);\n }\n }\n }\n}\n\n@mixin typography($config-or-theme) {\n $config: typography.private-typography-to-2018-config(\n theming.get-typography-config($config-or-theme)\n );\n $typography-tokens: tokens-mdc-chip.get-typography-tokens($config);\n\n .mat-mdc-standard-chip {\n @include mdc-chip-theme.theme($typography-tokens);\n }\n}\n\n@mixin density($config-or-theme) {\n $density-scale: theming.get-density-config($config-or-theme);\n $density-tokens: tokens-mdc-chip.get-density-tokens($density-scale);\n .mat-mdc-chip.mat-mdc-standard-chip {\n @include mdc-chip-theme.theme($density-tokens);\n }\n}\n\n@mixin theme($theme-or-color-config) {\n $theme: theming.private-legacy-get-theme($theme-or-color-config);\n @include theming.private-check-duplicate-theme-styles($theme, 'mat-chips') {\n $color: theming.get-color-config($theme);\n $density: theming.get-density-config($theme);\n $typography: theming.get-typography-config($theme);\n\n @if $color != null {\n @include color($color);\n }\n @if $density != null {\n @include density($density);\n }\n @if $typography != null {\n @include typography($typography);\n }\n }\n}\n","@use 'sass:map';\n@use '@material/switch/switch-theme' as mdc-switch-theme;\n@use '@material/form-field' as mdc-form-field;\n@use '../core/theming/theming';\n@use '../core/mdc-helpers/mdc-helpers';\n@use '../core/typography/typography';\n@use '../core/tokens/m2/mdc/switch' as m2-mdc-switch;\n@use '../core/tokens/m2/mat/slide-toggle' as m2-mat-slide-toggle;\n@use '../core/tokens/token-utils';\n\n@mixin color($config-or-theme) {\n $config: theming.get-color-config($config-or-theme);\n $primary: map.get($config, primary);\n $accent: map.get($config, accent);\n $warn: map.get($config, warn);\n $is-dark: map.get($config, is-dark);\n $foreground: map.get($config, foreground);\n\n $mdc-switch-color-tokens: m2-mdc-switch.get-color-tokens($config);\n\n @include mdc-helpers.using-mdc-theme($config) {\n // Add values for MDC slide toggles tokens\n .mat-mdc-slide-toggle {\n @include mdc-form-field.core-styles($query: mdc-helpers.$mdc-theme-styles-query);\n @include mdc-switch-theme.theme($mdc-switch-color-tokens);\n\n // MDC should set the disabled color on the label, but doesn't, so we do it here instead.\n .mdc-switch--disabled + label {\n color: theming.get-color-from-palette($foreground, disabled-text);\n }\n\n // Change the color palette related tokens to accent or warn if applicable\n &.mat-accent {\n @include mdc-switch-theme.theme(m2-mdc-switch.private-get-color-palette-color-tokens(\n map.get($config, accent),\n map.get($config, is-dark)\n ));\n }\n\n &.mat-warn {\n @include mdc-switch-theme.theme(m2-mdc-switch.private-get-color-palette-color-tokens(\n map.get($config, warn),\n map.get($config, is-dark)\n ));\n }\n }\n }\n}\n\n@mixin typography($config-or-theme) {\n $config: typography.private-typography-to-2018-config(\n theming.get-typography-config($config-or-theme));\n $mdc-switch-typography-tokens: m2-mdc-switch.get-typography-tokens($config);\n $mat-slide-toggle-typography-tokens: m2-mat-slide-toggle.get-typography-tokens($config);\n\n //Add values for MDC slide toggle tokens\n .mat-mdc-slide-toggle {\n @include mdc-form-field.core-styles($query: mdc-helpers.$mdc-typography-styles-query);\n @include mdc-switch-theme.theme($mdc-switch-typography-tokens);\n @include token-utils.create-token-values(\n m2-mat-slide-toggle.$prefix,\n $mat-slide-toggle-typography-tokens\n );\n }\n}\n\n@mixin density($config-or-theme) {\n $density-scale: theming.get-density-config($config-or-theme);\n .mat-mdc-slide-toggle {\n @include mdc-switch-theme.theme(mdc-switch-theme.density($density-scale));\n }\n}\n\n@mixin theme($theme-or-color-config) {\n $theme: theming.private-legacy-get-theme($theme-or-color-config);\n\n @include theming.private-check-duplicate-theme-styles($theme, 'mat-slide-toggle') {\n $color: theming.get-color-config($theme);\n $density: theming.get-density-config($theme);\n $typography: theming.get-typography-config($theme);\n\n @if $color != null {\n @include color($color);\n }\n @if $density != null {\n @include density($density);\n }\n @if $typography != null {\n @include typography($typography);\n }\n }\n}\n","//\n// Copyright 2023 Google Inc.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a copy\n// of this software and associated documentation files (the \"Software\"), to deal\n// in the Software without restriction, including without limitation the rights\n// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n// copies of the Software, and to permit persons to whom the Software is\n// furnished to do so, subject to the following conditions:\n//\n// The above copyright notice and this permission notice shall be included in\n// all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\n// THE SOFTWARE.\n//\n\n// stylelint-disable selector-class-pattern --\n// Selector '.mdc-*' should only be used in this project.\n\n@use '@material/feature-targeting/feature-targeting';\n@use '@material/rtl/rtl';\n@use '@material/theme/theme';\n@use '@material/typography/typography';\n@use './form-field-theme';\n@use './variables';\n\n@mixin core-styles($query: feature-targeting.all()) {\n $feat-color: feature-targeting.create-target($query, color);\n\n @include static-styles($query);\n\n // TODO: Replace with call to theme-styles after Angular moves to Theming API\n .mdc-form-field {\n @include typography.typography(body2, $query);\n\n @include feature-targeting.targets($feat-color) {\n @include theme.property(color, text-primary-on-background);\n }\n }\n}\n\n@mixin static-styles($query: feature-targeting.all()) {\n $feat-structure: feature-targeting.create-target($query, structure);\n\n .mdc-form-field {\n @include feature-targeting.targets($feat-structure) {\n display: inline-flex;\n &[hidden] {\n display: none;\n }\n align-items: center;\n vertical-align: middle;\n }\n\n > label {\n @include feature-targeting.targets($feat-structure) {\n @include rtl.reflexive-property(margin, 0, auto);\n @include rtl.reflexive-property(padding, variables.$item-spacing, 0);\n\n order: 0;\n }\n }\n }\n\n .mdc-form-field--nowrap {\n > label {\n @include feature-targeting.targets($feat-structure) {\n text-overflow: ellipsis;\n overflow: hidden;\n white-space: nowrap;\n }\n }\n }\n\n .mdc-form-field--align-end {\n > label {\n @include feature-targeting.targets($feat-structure) {\n @include rtl.reflexive-property(margin, auto, 0);\n @include rtl.reflexive-property(padding, 0, variables.$item-spacing);\n\n order: -1;\n }\n }\n }\n\n .mdc-form-field--space-between {\n @include feature-targeting.targets($feat-structure) {\n justify-content: space-between;\n }\n\n > label {\n @include feature-targeting.targets($feat-structure) {\n margin: 0;\n\n @include rtl.rtl {\n // RTL needed for specificity\n margin: 0;\n }\n }\n }\n }\n}\n","//\n// Copyright 2017 Google Inc.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a copy\n// of this software and associated documentation files (the \"Software\"), to deal\n// in the Software without restriction, including without limitation the rights\n// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n// copies of the Software, and to permit persons to whom the Software is\n// furnished to do so, subject to the following conditions:\n//\n// The above copyright notice and this permission notice shall be included in\n// all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\n// THE SOFTWARE.\n//\n\n// stylelint-disable selector-class-pattern --\n// Selector '.mdc-*' should only be used in this project.\n\n@use 'sass:math';\n@use 'sass:list';\n@use 'sass:map';\n@use 'sass:meta';\n@use 'sass:string';\n@use '@material/feature-targeting/feature-targeting';\n@use '@material/theme/custom-properties';\n@use '@material/theme/keys';\n@use '@material/theme/theme';\n\n/// @deprecated Avoid calling this function directly. Instead, configure the\n/// `$styles-