]> _ Git - fluidbook-toolbox.git/commitdiff
wip #5468 @6
authorVincent Vanwaelscappel <vincent@cubedesigners.com>
Fri, 28 Oct 2022 15:11:29 +0000 (17:11 +0200)
committerVincent Vanwaelscappel <vincent@cubedesigners.com>
Fri, 28 Oct 2022 15:11:29 +0000 (17:11 +0200)
12 files changed:
app/Fields/FluidbookLinkEditor/LinkType.php
app/SubForms/Link/Base.php
package-lock.json
package.json
resources/linkeditor/js/linkeditor.form.js [new file with mode: 0644]
resources/linkeditor/js/linkeditor.js
resources/linkeditor/js/linkeditor.links.js
resources/linkeditor/js/linkeditor.save.js
resources/linkeditor/style/style.sass
resources/views/fluidbook_publication/link_editor.blade.php
resources/views/fluidbook_publication/link_editor_icons.blade.php
resources/views/layouts/linkeditor.blade.php [new file with mode: 0644]

index 4be979496750c5155115eb8b867d3bbe1a976dda..776e2c5a647fd48bd066d90a21fd11a1163f1ca9 100644 (file)
@@ -15,7 +15,14 @@ class LinkType extends SelectFromArray
     {
         $res = [];
         foreach (Base::types() as $type) {
-            $res[$type['type']] = '<span class="linkeditor-linktype" data-type="' . $type['type'] . '">' . $type['label'] . '</span>';
+            if (isset($type['disabled']) && $type['disabled']) {
+                continue;
+            }
+            if ($type['type'] === 'separator') {
+                $res[''] = ['value' => '<hr>', 'disabled' => true];
+            } else {
+                $res[$type['type']] = '<span class="linkeditor-linktype" data-type="' . $type['type'] . '">' . $type['label'] . '</span>';
+            }
         }
         return $res;
     }
index 8855a3605d2608afd925e46ec749795044478052..5d1a18411ad44e0540dac7ad77b07d5f8c5d96fa 100644 (file)
@@ -67,13 +67,15 @@ class Base extends Form
      */
     public static function types()
     {
-        return [
+        $res = [
+            ['type' => self::WEB, 'label' => __('Lien web'), 'color' => '#3399cc', 'class' => Web::class, 'order' => 1],
+            ['type' => self::INTERNAL, 'label' => __('Lien vers une page'), 'color' => '#c7b405', 'class' => Web::class, 'order' => 2],
+            ['type' => self::EMAIL, 'label' => __('Adresse e-mail'), 'color' => '#6c6360', 'class' => Email::class, 'order' => 3],
             ['type' => self::WEB_INFOS, 'label' => __('Lien web « plus d\'infos »'), 'color' => '#ff0000', 'class' => WebInfos::class],
-            ['type' => self::WEB, 'label' => __('Lien web'), 'color' => '#3399cc', 'class' => Web::class],
-            ['type' => self::EMAIL, 'label' => __('Adresse e-mail'), 'color' => '#6c6360', 'class' => Email::class],
+            ['type' => self::COLOR, 'label' => __('Couleur'), 'color' => '#8C5E24', 'class' => Web::class, 'order' => 4],
             ['type' => self::VIDEO, 'label' => __('Vidéo'), 'color' => '#33ff00', 'class' => Video::class],
-            ['type' => self::INTERNAL, 'label' => __('Lien vers une page'), 'color' => '#c7b405', 'class' => Web::class],
             ['type' => self::MULTIMEDIA, 'label' => __('Multimédia'), 'color' => '#ff00ff', 'class' => Web::class],
+            ['type' => 'separator', 'order' => 5],
             ['type' => self::CUSTOM, 'label' => __('Lien personnalisé'), 'color' => '#14511a', 'class' => Web::class],
             ['type' => self::PAGE_CORNER, 'label' => __('Coin de page'), 'color' => '#f19043', 'disabled' => true, 'class' => Web::class],
             ['type' => self::OBJECT3D, 'label' => __('Objet 3D'), 'color' => '#00ffff', 'disabled' => true, 'class' => Web::class],
@@ -81,7 +83,6 @@ class Base extends Form
             ['type' => self::ACTION, 'label' => __('Action'), 'color' => '#880000', 'class' => Web::class],
             ['type' => self::CART, 'label' => __('Panier'), 'color' => '#F2A4B7', 'class' => Web::class],
             ['type' => self::ZOOM, 'label' => __('Zone de zoom'), 'color' => '#322280', 'class' => Web::class],
-            ['type' => self::COLOR, 'label' => __('Couleurs'), 'color' => '#8C5E24', 'class' => Web::class],
             ['type' => self::IMAGE, 'label' => __('Image'), 'color' => '#BE418D', 'class' => Web::class],
             ['type' => self::FILE, 'label' => __('Fichier'), 'color' => '#F19043', 'class' => Web::class],
             ['type' => self::AUDIO, 'label' => __('Audio'), 'color' => '#0065AE', 'class' => Web::class],
@@ -110,6 +111,16 @@ class Base extends Form
             ['type' => self::ANCHOR, 'label' => __('Ancre'), 'color' => '#330000', 'class' => Web::class],
             ['type' => self::FLIPCARD, 'label' => __('Flipcard'), 'color' => '#460e3f', 'class' => Web::class],
         ];
+
+        usort($res, function ($a, $b) {
+            $ao = $a['order'] ?? 100;
+            $bo = $b['order'] ?? 100;
+            if ($ao === $bo) {
+                return strcasecmp($a['label'], $b['label']);
+            }
+            return $ao - $bo;
+        });
+        return $res;
     }
 
     public function init()
index 3db959012f688c08a6f52fae72817978c5ae8081..92a94d5d4bca2b1eab921886650ed4ea9b0ea758 100644 (file)
@@ -6,14 +6,18 @@
         "": {
             "dependencies": {
                 "command-line-args": "^5.2.1",
+                "jquery-contextmenu": "^2.9.2",
                 "jquery.scrollto": "^2.1.3",
                 "keymaster": "^1.6.2",
                 "lz4js": "^0.2.0",
+                "noty": "^3.2.0-beta-deprecated",
                 "pako": "^2.0.4",
                 "pdfjs-dist": "^2.14.305",
                 "pipwerks-scorm-api-wrapper": "^0.1.2",
                 "plyr": "^3.7.2",
                 "puppeteer": "^17.0.0",
+                "select2": "^4.1.0-rc.0",
+                "select2-bootstrap-theme": "^0.1.0-beta.10",
                 "tippy.js": "^6.3.7"
             },
             "devDependencies": {
             }
         },
         "node_modules/@babel/compat-data": {
-            "version": "7.18.13",
-            "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.18.13.tgz",
-            "integrity": "sha512-5yUzC5LqyTFp2HLmDoxGQelcdYgSpP9xsnMWBphAscOdFrHSAVbLNzWiy32sVNDqJRDiJK6klfDnAgu6PAGSHw==",
+            "version": "7.19.4",
+            "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.19.4.tgz",
+            "integrity": "sha512-CHIGpJcUQ5lU9KrPHTjBMhVwQG6CQjxfg36fGXl3qk/Gik1WwWachaXFuo0uCWJT/mStOKtcbFJCaVLihC1CMw==",
             "dev": true,
             "engines": {
                 "node": ">=6.9.0"
             }
         },
         "node_modules/@babel/core": {
-            "version": "7.18.13",
-            "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.18.13.tgz",
-            "integrity": "sha512-ZisbOvRRusFktksHSG6pjj1CSvkPkcZq/KHD45LAkVP/oiHJkNBZWfpvlLmX8OtHDG8IuzsFlVRWo08w7Qxn0A==",
+            "version": "7.19.6",
+            "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.19.6.tgz",
+            "integrity": "sha512-D2Ue4KHpc6Ys2+AxpIx1BZ8+UegLLLE2p3KJEuJRKmokHOtl49jQ5ny1773KsGLZs8MQvBidAF6yWUJxRqtKtg==",
             "dev": true,
             "dependencies": {
                 "@ampproject/remapping": "^2.1.0",
                 "@babel/code-frame": "^7.18.6",
-                "@babel/generator": "^7.18.13",
-                "@babel/helper-compilation-targets": "^7.18.9",
-                "@babel/helper-module-transforms": "^7.18.9",
-                "@babel/helpers": "^7.18.9",
-                "@babel/parser": "^7.18.13",
+                "@babel/generator": "^7.19.6",
+                "@babel/helper-compilation-targets": "^7.19.3",
+                "@babel/helper-module-transforms": "^7.19.6",
+                "@babel/helpers": "^7.19.4",
+                "@babel/parser": "^7.19.6",
                 "@babel/template": "^7.18.10",
-                "@babel/traverse": "^7.18.13",
-                "@babel/types": "^7.18.13",
+                "@babel/traverse": "^7.19.6",
+                "@babel/types": "^7.19.4",
                 "convert-source-map": "^1.7.0",
                 "debug": "^4.1.0",
                 "gensync": "^1.0.0-beta.2",
             "dev": true
         },
         "node_modules/@babel/generator": {
-            "version": "7.18.13",
-            "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.18.13.tgz",
-            "integrity": "sha512-CkPg8ySSPuHTYPJYo7IRALdqyjM9HCbt/3uOBEFbzyGVP6Mn8bwFPB0jX6982JVNBlYzM1nnPkfjuXSOPtQeEQ==",
+            "version": "7.19.6",
+            "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.19.6.tgz",
+            "integrity": "sha512-oHGRUQeoX1QrKeJIKVe0hwjGqNnVYsM5Nep5zo0uE0m42sLH+Fsd2pStJ5sRM1bNyTUUoz0pe2lTeMJrb/taTA==",
             "dev": true,
             "dependencies": {
-                "@babel/types": "^7.18.13",
+                "@babel/types": "^7.19.4",
                 "@jridgewell/gen-mapping": "^0.3.2",
                 "jsesc": "^2.5.1"
             },
             }
         },
         "node_modules/@babel/helper-compilation-targets": {
-            "version": "7.18.9",
-            "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.18.9.tgz",
-            "integrity": "sha512-tzLCyVmqUiFlcFoAPLA/gL9TeYrF61VLNtb+hvkuVaB5SUjW7jcfrglBIX1vUIoT7CLP3bBlIMeyEsIl2eFQNg==",
+            "version": "7.19.3",
+            "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.19.3.tgz",
+            "integrity": "sha512-65ESqLGyGmLvgR0mst5AdW1FkNlj9rQsCKduzEoEPhBCDFGXvz2jW6bXFG6i0/MrV2s7hhXjjb2yAzcPuQlLwg==",
             "dev": true,
             "dependencies": {
-                "@babel/compat-data": "^7.18.8",
+                "@babel/compat-data": "^7.19.3",
                 "@babel/helper-validator-option": "^7.18.6",
-                "browserslist": "^4.20.2",
+                "browserslist": "^4.21.3",
                 "semver": "^6.3.0"
             },
             "engines": {
             }
         },
         "node_modules/@babel/helper-create-class-features-plugin": {
-            "version": "7.18.13",
-            "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.18.13.tgz",
-            "integrity": "sha512-hDvXp+QYxSRL+23mpAlSGxHMDyIGChm0/AwTfTAAK5Ufe40nCsyNdaYCGuK91phn/fVu9kqayImRDkvNAgdrsA==",
+            "version": "7.19.0",
+            "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.19.0.tgz",
+            "integrity": "sha512-NRz8DwF4jT3UfrmUoZjd0Uph9HQnP30t7Ash+weACcyNkiYTywpIjDBgReJMKgr+n86sn2nPVVmJ28Dm053Kqw==",
             "dev": true,
             "dependencies": {
                 "@babel/helper-annotate-as-pure": "^7.18.6",
                 "@babel/helper-environment-visitor": "^7.18.9",
-                "@babel/helper-function-name": "^7.18.9",
+                "@babel/helper-function-name": "^7.19.0",
                 "@babel/helper-member-expression-to-functions": "^7.18.9",
                 "@babel/helper-optimise-call-expression": "^7.18.6",
                 "@babel/helper-replace-supers": "^7.18.9",
             }
         },
         "node_modules/@babel/helper-create-regexp-features-plugin": {
-            "version": "7.18.6",
-            "resolved": "https://registry.npmjs.org/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.18.6.tgz",
-            "integrity": "sha512-7LcpH1wnQLGrI+4v+nPp+zUvIkF9x0ddv1Hkdue10tg3gmRnLy97DXh4STiOf1qeIInyD69Qv5kKSZzKD8B/7A==",
+            "version": "7.19.0",
+            "resolved": "https://registry.npmjs.org/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.19.0.tgz",
+            "integrity": "sha512-htnV+mHX32DF81amCDrwIDr8nrp1PTm+3wfBN9/v8QJOLEioOCOG7qNyq0nHeFiWbT3Eb7gsPwEmV64UCQ1jzw==",
             "dev": true,
             "dependencies": {
                 "@babel/helper-annotate-as-pure": "^7.18.6",
             }
         },
         "node_modules/@babel/helper-define-polyfill-provider": {
-            "version": "0.3.2",
-            "resolved": "https://registry.npmjs.org/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.3.2.tgz",
-            "integrity": "sha512-r9QJJ+uDWrd+94BSPcP6/de67ygLtvVy6cK4luE6MOuDsZIdoaPBnfSpbO/+LTifjPckbKXRuI9BB/Z2/y3iTg==",
+            "version": "0.3.3",
+            "resolved": "https://registry.npmjs.org/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.3.3.tgz",
+            "integrity": "sha512-z5aQKU4IzbqCC1XH0nAqfsFLMVSo22SBKUc0BxGrLkolTdPTructy0ToNnlO2zA4j9Q/7pjMZf0DSY+DSTYzww==",
             "dev": true,
             "dependencies": {
                 "@babel/helper-compilation-targets": "^7.17.7",
             }
         },
         "node_modules/@babel/helper-function-name": {
-            "version": "7.18.9",
-            "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.18.9.tgz",
-            "integrity": "sha512-fJgWlZt7nxGksJS9a0XdSaI4XvpExnNIgRP+rVefWh5U7BL8pPuir6SJUmFKRfjWQ51OtWSzwOxhaH/EBWWc0A==",
+            "version": "7.19.0",
+            "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.19.0.tgz",
+            "integrity": "sha512-WAwHBINyrpqywkUH0nTnNgI5ina5TFn85HKS0pbPDfxFfhyR/aNQEn4hGi1P1JyT//I0t4OgXUlofzWILRvS5w==",
             "dev": true,
             "dependencies": {
-                "@babel/template": "^7.18.6",
-                "@babel/types": "^7.18.9"
+                "@babel/template": "^7.18.10",
+                "@babel/types": "^7.19.0"
             },
             "engines": {
                 "node": ">=6.9.0"
             }
         },
         "node_modules/@babel/helper-module-transforms": {
-            "version": "7.18.9",
-            "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.18.9.tgz",
-            "integrity": "sha512-KYNqY0ICwfv19b31XzvmI/mfcylOzbLtowkw+mfvGPAQ3kfCnMLYbED3YecL5tPd8nAYFQFAd6JHp2LxZk/J1g==",
+            "version": "7.19.6",
+            "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.19.6.tgz",
+            "integrity": "sha512-fCmcfQo/KYr/VXXDIyd3CBGZ6AFhPFy1TfSEJ+PilGVlQT6jcbqtHAM4C1EciRqMza7/TpOUZliuSH+U6HAhJw==",
             "dev": true,
             "dependencies": {
                 "@babel/helper-environment-visitor": "^7.18.9",
                 "@babel/helper-module-imports": "^7.18.6",
-                "@babel/helper-simple-access": "^7.18.6",
+                "@babel/helper-simple-access": "^7.19.4",
                 "@babel/helper-split-export-declaration": "^7.18.6",
-                "@babel/helper-validator-identifier": "^7.18.6",
-                "@babel/template": "^7.18.6",
-                "@babel/traverse": "^7.18.9",
-                "@babel/types": "^7.18.9"
+                "@babel/helper-validator-identifier": "^7.19.1",
+                "@babel/template": "^7.18.10",
+                "@babel/traverse": "^7.19.6",
+                "@babel/types": "^7.19.4"
             },
             "engines": {
                 "node": ">=6.9.0"
             }
         },
         "node_modules/@babel/helper-plugin-utils": {
-            "version": "7.18.9",
-            "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.18.9.tgz",
-            "integrity": "sha512-aBXPT3bmtLryXaoJLyYPXPlSD4p1ld9aYeR+sJNOZjJJGiOpb+fKfh3NkcCu7J54nUJwCERPBExCCpyCOHnu/w==",
+            "version": "7.19.0",
+            "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.19.0.tgz",
+            "integrity": "sha512-40Ryx7I8mT+0gaNxm8JGTZFUITNqdLAgdg0hXzeVZxVD6nFsdhQvip6v8dqkRHzsz1VFpFAaOCHNn0vKBL7Czw==",
             "dev": true,
             "engines": {
                 "node": ">=6.9.0"
             }
         },
         "node_modules/@babel/helper-replace-supers": {
-            "version": "7.18.9",
-            "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.18.9.tgz",
-            "integrity": "sha512-dNsWibVI4lNT6HiuOIBr1oyxo40HvIVmbwPUm3XZ7wMh4k2WxrxTqZwSqw/eEmXDS9np0ey5M2bz9tBmO9c+YQ==",
+            "version": "7.19.1",
+            "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.19.1.tgz",
+            "integrity": "sha512-T7ahH7wV0Hfs46SFh5Jz3s0B6+o8g3c+7TMxu7xKfmHikg7EAZ3I2Qk9LFhjxXq8sL7UkP5JflezNwoZa8WvWw==",
             "dev": true,
             "dependencies": {
                 "@babel/helper-environment-visitor": "^7.18.9",
                 "@babel/helper-member-expression-to-functions": "^7.18.9",
                 "@babel/helper-optimise-call-expression": "^7.18.6",
-                "@babel/traverse": "^7.18.9",
-                "@babel/types": "^7.18.9"
+                "@babel/traverse": "^7.19.1",
+                "@babel/types": "^7.19.0"
             },
             "engines": {
                 "node": ">=6.9.0"
             }
         },
         "node_modules/@babel/helper-simple-access": {
-            "version": "7.18.6",
-            "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.18.6.tgz",
-            "integrity": "sha512-iNpIgTgyAvDQpDj76POqg+YEt8fPxx3yaNBg3S30dxNKm2SWfYhD0TGrK/Eu9wHpUW63VQU894TsTg+GLbUa1g==",
+            "version": "7.19.4",
+            "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.19.4.tgz",
+            "integrity": "sha512-f9Xq6WqBFqaDfbCzn2w85hwklswz5qsKlh7f08w4Y9yhJHpnNC0QemtSkK5YyOY8kPGvyiwdzZksGUhnGdaUIg==",
             "dev": true,
             "dependencies": {
-                "@babel/types": "^7.18.6"
+                "@babel/types": "^7.19.4"
             },
             "engines": {
                 "node": ">=6.9.0"
             }
         },
         "node_modules/@babel/helper-string-parser": {
-            "version": "7.18.10",
-            "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.18.10.tgz",
-            "integrity": "sha512-XtIfWmeNY3i4t7t4D2t02q50HvqHybPqW2ki1kosnvWCwuCMeo81Jf0gwr85jy/neUdg5XDdeFE/80DXiO+njw==",
+            "version": "7.19.4",
+            "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.19.4.tgz",
+            "integrity": "sha512-nHtDoQcuqFmwYNYPz3Rah5ph2p8PFeFCsZk9A/48dPc/rGocJ5J3hAAZ7pb76VWX3fZKu+uEr/FhH5jLx7umrw==",
             "dev": true,
             "engines": {
                 "node": ">=6.9.0"
             }
         },
         "node_modules/@babel/helper-validator-identifier": {
-            "version": "7.18.6",
-            "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.18.6.tgz",
-            "integrity": "sha512-MmetCkz9ej86nJQV+sFCxoGGrUbU3q02kgLciwkrt9QqEB7cP39oKEY0PakknEO0Gu20SskMRi+AYZ3b1TpN9g==",
+            "version": "7.19.1",
+            "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.19.1.tgz",
+            "integrity": "sha512-awrNfaMtnHUr653GgGEs++LlAvW6w+DcPrOliSMXWCKo597CwL5Acf/wWdNkf/tfEQE3mjkeD1YOVZOUV/od1w==",
             "dev": true,
             "engines": {
                 "node": ">=6.9.0"
             }
         },
         "node_modules/@babel/helper-wrap-function": {
-            "version": "7.18.11",
-            "resolved": "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.18.11.tgz",
-            "integrity": "sha512-oBUlbv+rjZLh2Ks9SKi4aL7eKaAXBWleHzU89mP0G6BMUlRxSckk9tSIkgDGydhgFxHuGSlBQZfnaD47oBEB7w==",
+            "version": "7.19.0",
+            "resolved": "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.19.0.tgz",
+            "integrity": "sha512-txX8aN8CZyYGTwcLhlk87KRqncAzhh5TpQamZUa0/u3an36NtDpUP6bQgBCBcLeBs09R/OwQu3OjK0k/HwfNDg==",
             "dev": true,
             "dependencies": {
-                "@babel/helper-function-name": "^7.18.9",
+                "@babel/helper-function-name": "^7.19.0",
                 "@babel/template": "^7.18.10",
-                "@babel/traverse": "^7.18.11",
-                "@babel/types": "^7.18.10"
+                "@babel/traverse": "^7.19.0",
+                "@babel/types": "^7.19.0"
             },
             "engines": {
                 "node": ">=6.9.0"
             }
         },
         "node_modules/@babel/helpers": {
-            "version": "7.18.9",
-            "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.18.9.tgz",
-            "integrity": "sha512-Jf5a+rbrLoR4eNdUmnFu8cN5eNJT6qdTdOg5IHIzq87WwyRw9PwguLFOWYgktN/60IP4fgDUawJvs7PjQIzELQ==",
+            "version": "7.19.4",
+            "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.19.4.tgz",
+            "integrity": "sha512-G+z3aOx2nfDHwX/kyVii5fJq+bgscg89/dJNWpYeKeBv3v9xX8EIabmx1k6u9LS04H7nROFVRVK+e3k0VHp+sw==",
             "dev": true,
             "dependencies": {
-                "@babel/template": "^7.18.6",
-                "@babel/traverse": "^7.18.9",
-                "@babel/types": "^7.18.9"
+                "@babel/template": "^7.18.10",
+                "@babel/traverse": "^7.19.4",
+                "@babel/types": "^7.19.4"
             },
             "engines": {
                 "node": ">=6.9.0"
             }
         },
         "node_modules/@babel/parser": {
-            "version": "7.18.13",
-            "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.18.13.tgz",
-            "integrity": "sha512-dgXcIfMuQ0kgzLB2b9tRZs7TTFFaGM2AbtA4fJgUUYukzGH4jwsS7hzQHEGs67jdehpm22vkgKwvbU+aEflgwg==",
+            "version": "7.19.6",
+            "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.19.6.tgz",
+            "integrity": "sha512-h1IUp81s2JYJ3mRkdxJgs4UvmSsRvDrx5ICSJbPvtWYv5i1nTBGcBpnog+89rAFMwvvru6E5NUHdBe01UeSzYA==",
             "dev": true,
             "bin": {
                 "parser": "bin/babel-parser.js"
             }
         },
         "node_modules/@babel/plugin-proposal-async-generator-functions": {
-            "version": "7.18.10",
-            "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.18.10.tgz",
-            "integrity": "sha512-1mFuY2TOsR1hxbjCo4QL+qlIjV07p4H4EUYw2J/WCqsvFV6V9X9z9YhXbWndc/4fw+hYGlDT7egYxliMp5O6Ew==",
+            "version": "7.19.1",
+            "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.19.1.tgz",
+            "integrity": "sha512-0yu8vNATgLy4ivqMNBIwb1HebCelqN7YX8SL3FDXORv/RqT0zEEWUCH4GH44JsSrvCu6GqnAdR5EBFAPeNBB4Q==",
             "dev": true,
             "dependencies": {
                 "@babel/helper-environment-visitor": "^7.18.9",
-                "@babel/helper-plugin-utils": "^7.18.9",
+                "@babel/helper-plugin-utils": "^7.19.0",
                 "@babel/helper-remap-async-to-generator": "^7.18.9",
                 "@babel/plugin-syntax-async-generators": "^7.8.4"
             },
             }
         },
         "node_modules/@babel/plugin-proposal-object-rest-spread": {
-            "version": "7.18.9",
-            "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.18.9.tgz",
-            "integrity": "sha512-kDDHQ5rflIeY5xl69CEqGEZ0KY369ehsCIEbTGb4siHG5BE9sga/T0r0OUwyZNLMmZE79E1kbsqAjwFCW4ds6Q==",
+            "version": "7.19.4",
+            "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.19.4.tgz",
+            "integrity": "sha512-wHmj6LDxVDnL+3WhXteUBaoM1aVILZODAUjg11kHqG4cOlfgMQGxw6aCgvrXrmaJR3Bn14oZhImyCPZzRpC93Q==",
             "dev": true,
             "dependencies": {
-                "@babel/compat-data": "^7.18.8",
-                "@babel/helper-compilation-targets": "^7.18.9",
-                "@babel/helper-plugin-utils": "^7.18.9",
+                "@babel/compat-data": "^7.19.4",
+                "@babel/helper-compilation-targets": "^7.19.3",
+                "@babel/helper-plugin-utils": "^7.19.0",
                 "@babel/plugin-syntax-object-rest-spread": "^7.8.3",
                 "@babel/plugin-transform-parameters": "^7.18.8"
             },
             }
         },
         "node_modules/@babel/plugin-transform-block-scoping": {
-            "version": "7.18.9",
-            "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.18.9.tgz",
-            "integrity": "sha512-5sDIJRV1KtQVEbt/EIBwGy4T01uYIo4KRB3VUqzkhrAIOGx7AoctL9+Ux88btY0zXdDyPJ9mW+bg+v+XEkGmtw==",
+            "version": "7.19.4",
+            "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.19.4.tgz",
+            "integrity": "sha512-934S2VLLlt2hRJwPf4MczaOr4hYF0z+VKPwqTNxyKX7NthTiPfhuKFWQZHXRM0vh/wo/VyXB3s4bZUNA08l+tQ==",
             "dev": true,
             "dependencies": {
-                "@babel/helper-plugin-utils": "^7.18.9"
+                "@babel/helper-plugin-utils": "^7.19.0"
             },
             "engines": {
                 "node": ">=6.9.0"
             }
         },
         "node_modules/@babel/plugin-transform-classes": {
-            "version": "7.18.9",
-            "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.18.9.tgz",
-            "integrity": "sha512-EkRQxsxoytpTlKJmSPYrsOMjCILacAjtSVkd4gChEe2kXjFCun3yohhW5I7plXJhCemM0gKsaGMcO8tinvCA5g==",
+            "version": "7.19.0",
+            "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.19.0.tgz",
+            "integrity": "sha512-YfeEE9kCjqTS9IitkgfJuxjcEtLUHMqa8yUJ6zdz8vR7hKuo6mOy2C05P0F1tdMmDCeuyidKnlrw/iTppHcr2A==",
             "dev": true,
             "dependencies": {
                 "@babel/helper-annotate-as-pure": "^7.18.6",
+                "@babel/helper-compilation-targets": "^7.19.0",
                 "@babel/helper-environment-visitor": "^7.18.9",
-                "@babel/helper-function-name": "^7.18.9",
+                "@babel/helper-function-name": "^7.19.0",
                 "@babel/helper-optimise-call-expression": "^7.18.6",
-                "@babel/helper-plugin-utils": "^7.18.9",
+                "@babel/helper-plugin-utils": "^7.19.0",
                 "@babel/helper-replace-supers": "^7.18.9",
                 "@babel/helper-split-export-declaration": "^7.18.6",
                 "globals": "^11.1.0"
             }
         },
         "node_modules/@babel/plugin-transform-destructuring": {
-            "version": "7.18.13",
-            "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.18.13.tgz",
-            "integrity": "sha512-TodpQ29XekIsex2A+YJPj5ax2plkGa8YYY6mFjCohk/IG9IY42Rtuj1FuDeemfg2ipxIFLzPeA83SIBnlhSIow==",
+            "version": "7.19.4",
+            "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.19.4.tgz",
+            "integrity": "sha512-t0j0Hgidqf0aM86dF8U+vXYReUgJnlv4bZLsyoPnwZNrGY+7/38o8YjaELrvHeVfTZao15kjR0PVv0nju2iduA==",
             "dev": true,
             "dependencies": {
-                "@babel/helper-plugin-utils": "^7.18.9"
+                "@babel/helper-plugin-utils": "^7.19.0"
             },
             "engines": {
                 "node": ">=6.9.0"
             }
         },
         "node_modules/@babel/plugin-transform-modules-amd": {
-            "version": "7.18.6",
-            "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.18.6.tgz",
-            "integrity": "sha512-Pra5aXsmTsOnjM3IajS8rTaLCy++nGM4v3YR4esk5PCsyg9z8NA5oQLwxzMUtDBd8F+UmVza3VxoAaWCbzH1rg==",
+            "version": "7.19.6",
+            "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.19.6.tgz",
+            "integrity": "sha512-uG3od2mXvAtIFQIh0xrpLH6r5fpSQN04gIVovl+ODLdUMANokxQLZnPBHcjmv3GxRjnqwLuHvppjjcelqUFZvg==",
             "dev": true,
             "dependencies": {
-                "@babel/helper-module-transforms": "^7.18.6",
-                "@babel/helper-plugin-utils": "^7.18.6",
-                "babel-plugin-dynamic-import-node": "^2.3.3"
+                "@babel/helper-module-transforms": "^7.19.6",
+                "@babel/helper-plugin-utils": "^7.19.0"
             },
             "engines": {
                 "node": ">=6.9.0"
             }
         },
         "node_modules/@babel/plugin-transform-modules-commonjs": {
-            "version": "7.18.6",
-            "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.18.6.tgz",
-            "integrity": "sha512-Qfv2ZOWikpvmedXQJDSbxNqy7Xr/j2Y8/KfijM0iJyKkBTmWuvCA1yeH1yDM7NJhBW/2aXxeucLj6i80/LAJ/Q==",
+            "version": "7.19.6",
+            "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.19.6.tgz",
+            "integrity": "sha512-8PIa1ym4XRTKuSsOUXqDG0YaOlEuTVvHMe5JCfgBMOtHvJKw/4NGovEGN33viISshG/rZNVrACiBmPQLvWN8xQ==",
             "dev": true,
             "dependencies": {
-                "@babel/helper-module-transforms": "^7.18.6",
-                "@babel/helper-plugin-utils": "^7.18.6",
-                "@babel/helper-simple-access": "^7.18.6",
-                "babel-plugin-dynamic-import-node": "^2.3.3"
+                "@babel/helper-module-transforms": "^7.19.6",
+                "@babel/helper-plugin-utils": "^7.19.0",
+                "@babel/helper-simple-access": "^7.19.4"
             },
             "engines": {
                 "node": ">=6.9.0"
             }
         },
         "node_modules/@babel/plugin-transform-modules-systemjs": {
-            "version": "7.18.9",
-            "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.18.9.tgz",
-            "integrity": "sha512-zY/VSIbbqtoRoJKo2cDTewL364jSlZGvn0LKOf9ntbfxOvjfmyrdtEEOAdswOswhZEb8UH3jDkCKHd1sPgsS0A==",
+            "version": "7.19.6",
+            "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.19.6.tgz",
+            "integrity": "sha512-fqGLBepcc3kErfR9R3DnVpURmckXP7gj7bAlrTQyBxrigFqszZCkFkcoxzCp2v32XmwXLvbw+8Yq9/b+QqksjQ==",
             "dev": true,
             "dependencies": {
                 "@babel/helper-hoist-variables": "^7.18.6",
-                "@babel/helper-module-transforms": "^7.18.9",
-                "@babel/helper-plugin-utils": "^7.18.9",
-                "@babel/helper-validator-identifier": "^7.18.6",
-                "babel-plugin-dynamic-import-node": "^2.3.3"
+                "@babel/helper-module-transforms": "^7.19.6",
+                "@babel/helper-plugin-utils": "^7.19.0",
+                "@babel/helper-validator-identifier": "^7.19.1"
             },
             "engines": {
                 "node": ">=6.9.0"
             }
         },
         "node_modules/@babel/plugin-transform-named-capturing-groups-regex": {
-            "version": "7.18.6",
-            "resolved": "https://registry.npmjs.org/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.18.6.tgz",
-            "integrity": "sha512-UmEOGF8XgaIqD74bC8g7iV3RYj8lMf0Bw7NJzvnS9qQhM4mg+1WHKotUIdjxgD2RGrgFLZZPCFPFj3P/kVDYhg==",
+            "version": "7.19.1",
+            "resolved": "https://registry.npmjs.org/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.19.1.tgz",
+            "integrity": "sha512-oWk9l9WItWBQYS4FgXD4Uyy5kq898lvkXpXQxoJEY1RnvPk4R/Dvu2ebXU9q8lP+rlMwUQTFf2Ok6d78ODa0kw==",
             "dev": true,
             "dependencies": {
-                "@babel/helper-create-regexp-features-plugin": "^7.18.6",
-                "@babel/helper-plugin-utils": "^7.18.6"
+                "@babel/helper-create-regexp-features-plugin": "^7.19.0",
+                "@babel/helper-plugin-utils": "^7.19.0"
             },
             "engines": {
                 "node": ">=6.9.0"
             }
         },
         "node_modules/@babel/plugin-transform-runtime": {
-            "version": "7.18.10",
-            "resolved": "https://registry.npmjs.org/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.18.10.tgz",
-            "integrity": "sha512-q5mMeYAdfEbpBAgzl7tBre/la3LeCxmDO1+wMXRdPWbcoMjR3GiXlCLk7JBZVVye0bqTGNMbt0yYVXX1B1jEWQ==",
+            "version": "7.19.6",
+            "resolved": "https://registry.npmjs.org/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.19.6.tgz",
+            "integrity": "sha512-PRH37lz4JU156lYFW1p8OxE5i7d6Sl/zV58ooyr+q1J1lnQPyg5tIiXlIwNVhJaY4W3TmOtdc8jqdXQcB1v5Yw==",
             "dev": true,
             "dependencies": {
                 "@babel/helper-module-imports": "^7.18.6",
-                "@babel/helper-plugin-utils": "^7.18.9",
-                "babel-plugin-polyfill-corejs2": "^0.3.2",
-                "babel-plugin-polyfill-corejs3": "^0.5.3",
-                "babel-plugin-polyfill-regenerator": "^0.4.0",
+                "@babel/helper-plugin-utils": "^7.19.0",
+                "babel-plugin-polyfill-corejs2": "^0.3.3",
+                "babel-plugin-polyfill-corejs3": "^0.6.0",
+                "babel-plugin-polyfill-regenerator": "^0.4.1",
                 "semver": "^6.3.0"
             },
             "engines": {
             }
         },
         "node_modules/@babel/plugin-transform-spread": {
-            "version": "7.18.9",
-            "resolved": "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.18.9.tgz",
-            "integrity": "sha512-39Q814wyoOPtIB/qGopNIL9xDChOE1pNU0ZY5dO0owhiVt/5kFm4li+/bBtwc7QotG0u5EPzqhZdjMtmqBqyQA==",
+            "version": "7.19.0",
+            "resolved": "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.19.0.tgz",
+            "integrity": "sha512-RsuMk7j6n+r752EtzyScnWkQyuJdli6LdO5Klv8Yx0OfPVTcQkIUfS8clx5e9yHXzlnhOZF3CbQ8C2uP5j074w==",
             "dev": true,
             "dependencies": {
-                "@babel/helper-plugin-utils": "^7.18.9",
+                "@babel/helper-plugin-utils": "^7.19.0",
                 "@babel/helper-skip-transparent-expression-wrappers": "^7.18.9"
             },
             "engines": {
             }
         },
         "node_modules/@babel/preset-env": {
-            "version": "7.18.10",
-            "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.18.10.tgz",
-            "integrity": "sha512-wVxs1yjFdW3Z/XkNfXKoblxoHgbtUF7/l3PvvP4m02Qz9TZ6uZGxRVYjSQeR87oQmHco9zWitW5J82DJ7sCjvA==",
+            "version": "7.19.4",
+            "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.19.4.tgz",
+            "integrity": "sha512-5QVOTXUdqTCjQuh2GGtdd7YEhoRXBMVGROAtsBeLGIbIz3obCBIfRMT1I3ZKkMgNzwkyCkftDXSSkHxnfVf4qg==",
             "dev": true,
             "dependencies": {
-                "@babel/compat-data": "^7.18.8",
-                "@babel/helper-compilation-targets": "^7.18.9",
-                "@babel/helper-plugin-utils": "^7.18.9",
+                "@babel/compat-data": "^7.19.4",
+                "@babel/helper-compilation-targets": "^7.19.3",
+                "@babel/helper-plugin-utils": "^7.19.0",
                 "@babel/helper-validator-option": "^7.18.6",
                 "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": "^7.18.6",
                 "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": "^7.18.9",
-                "@babel/plugin-proposal-async-generator-functions": "^7.18.10",
+                "@babel/plugin-proposal-async-generator-functions": "^7.19.1",
                 "@babel/plugin-proposal-class-properties": "^7.18.6",
                 "@babel/plugin-proposal-class-static-block": "^7.18.6",
                 "@babel/plugin-proposal-dynamic-import": "^7.18.6",
                 "@babel/plugin-proposal-logical-assignment-operators": "^7.18.9",
                 "@babel/plugin-proposal-nullish-coalescing-operator": "^7.18.6",
                 "@babel/plugin-proposal-numeric-separator": "^7.18.6",
-                "@babel/plugin-proposal-object-rest-spread": "^7.18.9",
+                "@babel/plugin-proposal-object-rest-spread": "^7.19.4",
                 "@babel/plugin-proposal-optional-catch-binding": "^7.18.6",
                 "@babel/plugin-proposal-optional-chaining": "^7.18.9",
                 "@babel/plugin-proposal-private-methods": "^7.18.6",
                 "@babel/plugin-transform-arrow-functions": "^7.18.6",
                 "@babel/plugin-transform-async-to-generator": "^7.18.6",
                 "@babel/plugin-transform-block-scoped-functions": "^7.18.6",
-                "@babel/plugin-transform-block-scoping": "^7.18.9",
-                "@babel/plugin-transform-classes": "^7.18.9",
+                "@babel/plugin-transform-block-scoping": "^7.19.4",
+                "@babel/plugin-transform-classes": "^7.19.0",
                 "@babel/plugin-transform-computed-properties": "^7.18.9",
-                "@babel/plugin-transform-destructuring": "^7.18.9",
+                "@babel/plugin-transform-destructuring": "^7.19.4",
                 "@babel/plugin-transform-dotall-regex": "^7.18.6",
                 "@babel/plugin-transform-duplicate-keys": "^7.18.9",
                 "@babel/plugin-transform-exponentiation-operator": "^7.18.6",
                 "@babel/plugin-transform-member-expression-literals": "^7.18.6",
                 "@babel/plugin-transform-modules-amd": "^7.18.6",
                 "@babel/plugin-transform-modules-commonjs": "^7.18.6",
-                "@babel/plugin-transform-modules-systemjs": "^7.18.9",
+                "@babel/plugin-transform-modules-systemjs": "^7.19.0",
                 "@babel/plugin-transform-modules-umd": "^7.18.6",
-                "@babel/plugin-transform-named-capturing-groups-regex": "^7.18.6",
+                "@babel/plugin-transform-named-capturing-groups-regex": "^7.19.1",
                 "@babel/plugin-transform-new-target": "^7.18.6",
                 "@babel/plugin-transform-object-super": "^7.18.6",
                 "@babel/plugin-transform-parameters": "^7.18.8",
                 "@babel/plugin-transform-regenerator": "^7.18.6",
                 "@babel/plugin-transform-reserved-words": "^7.18.6",
                 "@babel/plugin-transform-shorthand-properties": "^7.18.6",
-                "@babel/plugin-transform-spread": "^7.18.9",
+                "@babel/plugin-transform-spread": "^7.19.0",
                 "@babel/plugin-transform-sticky-regex": "^7.18.6",
                 "@babel/plugin-transform-template-literals": "^7.18.9",
                 "@babel/plugin-transform-typeof-symbol": "^7.18.9",
                 "@babel/plugin-transform-unicode-escapes": "^7.18.10",
                 "@babel/plugin-transform-unicode-regex": "^7.18.6",
                 "@babel/preset-modules": "^0.1.5",
-                "@babel/types": "^7.18.10",
-                "babel-plugin-polyfill-corejs2": "^0.3.2",
-                "babel-plugin-polyfill-corejs3": "^0.5.3",
-                "babel-plugin-polyfill-regenerator": "^0.4.0",
-                "core-js-compat": "^3.22.1",
+                "@babel/types": "^7.19.4",
+                "babel-plugin-polyfill-corejs2": "^0.3.3",
+                "babel-plugin-polyfill-corejs3": "^0.6.0",
+                "babel-plugin-polyfill-regenerator": "^0.4.1",
+                "core-js-compat": "^3.25.1",
                 "semver": "^6.3.0"
             },
             "engines": {
             }
         },
         "node_modules/@babel/runtime": {
-            "version": "7.18.9",
-            "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.18.9.tgz",
-            "integrity": "sha512-lkqXDcvlFT5rvEjiu6+QYO+1GXrEHRo2LOtS7E4GtX5ESIZOgepqsZBVIj6Pv+a6zqsya9VCgiK1KAK4BvJDAw==",
+            "version": "7.19.4",
+            "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.19.4.tgz",
+            "integrity": "sha512-EXpLCrk55f+cYqmHsSR+yD/0gAIMxxA9QK9lnQWzhMCvt+YmoBN7Zx94s++Kv0+unHk39vxNO8t+CMA2WSS3wA==",
             "dev": true,
             "dependencies": {
                 "regenerator-runtime": "^0.13.4"
             }
         },
         "node_modules/@babel/traverse": {
-            "version": "7.18.13",
-            "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.18.13.tgz",
-            "integrity": "sha512-N6kt9X1jRMLPxxxPYWi7tgvJRH/rtoU+dbKAPDM44RFHiMH8igdsaSBgFeskhSl/kLWLDUvIh1RXCrTmg0/zvA==",
+            "version": "7.19.6",
+            "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.19.6.tgz",
+            "integrity": "sha512-6l5HrUCzFM04mfbG09AagtYyR2P0B71B1wN7PfSPiksDPz2k5H9CBC1tcZpz2M8OxbKTPccByoOJ22rUKbpmQQ==",
             "dev": true,
             "dependencies": {
                 "@babel/code-frame": "^7.18.6",
-                "@babel/generator": "^7.18.13",
+                "@babel/generator": "^7.19.6",
                 "@babel/helper-environment-visitor": "^7.18.9",
-                "@babel/helper-function-name": "^7.18.9",
+                "@babel/helper-function-name": "^7.19.0",
                 "@babel/helper-hoist-variables": "^7.18.6",
                 "@babel/helper-split-export-declaration": "^7.18.6",
-                "@babel/parser": "^7.18.13",
-                "@babel/types": "^7.18.13",
+                "@babel/parser": "^7.19.6",
+                "@babel/types": "^7.19.4",
                 "debug": "^4.1.0",
                 "globals": "^11.1.0"
             },
             "dev": true
         },
         "node_modules/@babel/types": {
-            "version": "7.18.13",
-            "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.18.13.tgz",
-            "integrity": "sha512-ePqfTihzW0W6XAU+aMw2ykilisStJfDnsejDCXRchCcMJ4O0+8DhPXf2YUbZ6wjBlsEmZwLK/sPweWtu8hcJYQ==",
+            "version": "7.19.4",
+            "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.19.4.tgz",
+            "integrity": "sha512-M5LK7nAeS6+9j7hAq+b3fQs+pNfUtTGq+yFFfHnauFA8zQtLRfmuipmsKDKKLuyG+wC8ABW43A153YNawNTEtw==",
             "dev": true,
             "dependencies": {
-                "@babel/helper-string-parser": "^7.18.10",
-                "@babel/helper-validator-identifier": "^7.18.6",
+                "@babel/helper-string-parser": "^7.19.4",
+                "@babel/helper-validator-identifier": "^7.19.1",
                 "to-fast-properties": "^2.0.0"
             },
             "engines": {
             "dev": true
         },
         "node_modules/@jridgewell/trace-mapping": {
-            "version": "0.3.15",
-            "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.15.tgz",
-            "integrity": "sha512-oWZNOULl+UbhsgB51uuZzglikfIKSUBO/M9W2OfEjn7cmqoAiCgmv9lyACTUacZwBz0ITnJ2NqjU8Tx0DHL88g==",
+            "version": "0.3.17",
+            "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.17.tgz",
+            "integrity": "sha512-MCNzAp77qzKca9+W/+I0+sEpaUnZoeasnghNeVc41VZCEKaCH73Vq3BZZ/SzWIgrqE4H4ceI+p+b6C0mHf9T4g==",
             "dev": true,
             "dependencies": {
-                "@jridgewell/resolve-uri": "^3.0.3",
-                "@jridgewell/sourcemap-codec": "^1.4.10"
+                "@jridgewell/resolve-uri": "3.1.0",
+                "@jridgewell/sourcemap-codec": "1.4.14"
             }
         },
         "node_modules/@mrmlnc/readdir-enhanced": {
             "dev": true
         },
         "node_modules/@types/minimatch": {
-            "version": "5.1.1",
-            "resolved": "https://registry.npmjs.org/@types/minimatch/-/minimatch-5.1.1.tgz",
-            "integrity": "sha512-v55NF6Dz0wrj14Rn8iEABTWrhYRmgkJYuokduunSiq++t3hZ9VZ6dvcDt+850Pm5sGJZk8RaHzkFCXPxVINZ+g==",
+            "version": "5.1.2",
+            "resolved": "https://registry.npmjs.org/@types/minimatch/-/minimatch-5.1.2.tgz",
+            "integrity": "sha512-K0VQKziLUWkVKiRVrx4a40iPaxTUefQmjtkQofBkYRcoaaL/8rhwDWww9qWbrgicNOgnpIsMxyNIUM4+n6dUIA==",
             "dev": true
         },
         "node_modules/@types/minimist": {
             "dev": true
         },
         "node_modules/@types/node": {
-            "version": "18.7.14",
-            "resolved": "https://registry.npmjs.org/@types/node/-/node-18.7.14.tgz",
-            "integrity": "sha512-6bbDaETVi8oyIARulOE9qF1/Qdi/23z6emrUh0fNJRUmjznqrixD4MpGDdgOFk5Xb0m2H6Xu42JGdvAxaJR/wA==",
+            "version": "18.11.5",
+            "resolved": "https://registry.npmjs.org/@types/node/-/node-18.11.5.tgz",
+            "integrity": "sha512-3JRwhbjI+cHLAkUorhf8RnqUbFXajvzX4q6fMn5JwkgtuwfYtRQYI3u4V92vI6NJuTsbBQWWh3RZjFsuevyMGQ==",
             "devOptional": true
         },
         "node_modules/@types/normalize-package-data": {
             }
         },
         "node_modules/@xmldom/xmldom": {
-            "version": "0.7.5",
-            "resolved": "https://registry.npmjs.org/@xmldom/xmldom/-/xmldom-0.7.5.tgz",
-            "integrity": "sha512-V3BIhmY36fXZ1OtVcI9W+FxQqxVLsPKcNjWigIaa81dLC9IolJl5Mt4Cvhmr0flUnjSpTdrbMTSbXqYqV5dT6A==",
+            "version": "0.7.6",
+            "resolved": "https://registry.npmjs.org/@xmldom/xmldom/-/xmldom-0.7.6.tgz",
+            "integrity": "sha512-HHXP9hskkFQHy8QxxUXkS7946FFIhYVfGqsk0WLwllmexN9x/+R4UBLvurHEuyXRfVEObVR8APuQehykLviwSQ==",
             "dev": true,
             "engines": {
                 "node": ">=10.0.0"
                 "object.omit": "^3.0.0"
             }
         },
-        "node_modules/babel-plugin-dynamic-import-node": {
-            "version": "2.3.3",
-            "resolved": "https://registry.npmjs.org/babel-plugin-dynamic-import-node/-/babel-plugin-dynamic-import-node-2.3.3.tgz",
-            "integrity": "sha512-jZVI+s9Zg3IqA/kdi0i6UDCybUI3aSBLnglhYbSSjKlV7yF1F/5LWv8MakQmvYpnbJDS6fcBL2KzHSxNCMtWSQ==",
-            "dev": true,
-            "dependencies": {
-                "object.assign": "^4.1.0"
-            }
-        },
         "node_modules/babel-plugin-polyfill-corejs2": {
-            "version": "0.3.2",
-            "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.3.2.tgz",
-            "integrity": "sha512-LPnodUl3lS0/4wN3Rb+m+UK8s7lj2jcLRrjho4gLw+OJs+I4bvGXshINesY5xx/apM+biTnQ9reDI8yj+0M5+Q==",
+            "version": "0.3.3",
+            "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.3.3.tgz",
+            "integrity": "sha512-8hOdmFYFSZhqg2C/JgLUQ+t52o5nirNwaWM2B9LWteozwIvM14VSwdsCAUET10qT+kmySAlseadmfeeSWFCy+Q==",
             "dev": true,
             "dependencies": {
                 "@babel/compat-data": "^7.17.7",
-                "@babel/helper-define-polyfill-provider": "^0.3.2",
+                "@babel/helper-define-polyfill-provider": "^0.3.3",
                 "semver": "^6.1.1"
             },
             "peerDependencies": {
             }
         },
         "node_modules/babel-plugin-polyfill-corejs3": {
-            "version": "0.5.3",
-            "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.5.3.tgz",
-            "integrity": "sha512-zKsXDh0XjnrUEW0mxIHLfjBfnXSMr5Q/goMe/fxpQnLm07mcOZiIZHBNWCMx60HmdvjxfXcalac0tfFg0wqxyw==",
+            "version": "0.6.0",
+            "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.6.0.tgz",
+            "integrity": "sha512-+eHqR6OPcBhJOGgsIar7xoAB1GcSwVUA3XjAd7HJNzOXT4wv6/H7KIdA/Nc60cvUlDbKApmqNvD1B1bzOt4nyA==",
             "dev": true,
             "dependencies": {
-                "@babel/helper-define-polyfill-provider": "^0.3.2",
-                "core-js-compat": "^3.21.0"
+                "@babel/helper-define-polyfill-provider": "^0.3.3",
+                "core-js-compat": "^3.25.1"
             },
             "peerDependencies": {
                 "@babel/core": "^7.0.0-0"
             }
         },
         "node_modules/babel-plugin-polyfill-regenerator": {
-            "version": "0.4.0",
-            "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.4.0.tgz",
-            "integrity": "sha512-RW1cnryiADFeHmfLS+WW/G431p1PsW5qdRdz0SDRi7TKcUgc7Oh/uXkT7MZ/+tGsT1BkczEAmD5XjUyJ5SWDTw==",
+            "version": "0.4.1",
+            "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.4.1.tgz",
+            "integrity": "sha512-NtQGmyQDXjQqQ+IzRkBVwEOz9lQ4zxAQZgoAYEtU9dJjnl1Oc98qnN7jcp+bE7O7aYzVpavXE3/VKXNzUbh7aw==",
             "dev": true,
             "dependencies": {
-                "@babel/helper-define-polyfill-provider": "^0.3.2"
+                "@babel/helper-define-polyfill-provider": "^0.3.3"
             },
             "peerDependencies": {
                 "@babel/core": "^7.0.0-0"
                 "node": ">=0.10.0"
             }
         },
+        "node_modules/bindings": {
+            "version": "1.5.0",
+            "resolved": "https://registry.npmjs.org/bindings/-/bindings-1.5.0.tgz",
+            "integrity": "sha512-p2q/t/mhvuOj/UeLlV6566GD/guowlr0hHxClI0W9m7MWYkL1F0hLo+0Aexs9HSPCtR1SXQ0TD3MMKrXZajbiQ==",
+            "dev": true,
+            "optional": true,
+            "dependencies": {
+                "file-uri-to-path": "1.0.0"
+            }
+        },
         "node_modules/bl": {
             "version": "4.1.0",
             "resolved": "https://registry.npmjs.org/bl/-/bl-4.1.0.tgz",
             "dev": true
         },
         "node_modules/body-parser": {
-            "version": "1.20.0",
-            "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.20.0.tgz",
-            "integrity": "sha512-DfJ+q6EPcGKZD1QWUjSpqp+Q7bDQTsQIF4zfUAtZ6qk+H/3/QRhg9CEp39ss+/T2vw0+HaidC0ecJj/DRLIaKg==",
+            "version": "1.20.1",
+            "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.20.1.tgz",
+            "integrity": "sha512-jWi7abTbYwajOytWCQc37VulmWiRae5RyTpaCyDcS5/lMdtwSz5lOpDE67srw/HYe35f1z3fDQw+3txg7gNtWw==",
             "dev": true,
             "dependencies": {
                 "bytes": "3.1.2",
                 "http-errors": "2.0.0",
                 "iconv-lite": "0.4.24",
                 "on-finished": "2.4.1",
-                "qs": "6.10.3",
+                "qs": "6.11.0",
                 "raw-body": "2.5.1",
                 "type-is": "~1.6.18",
                 "unpipe": "1.0.0"
             "dev": true
         },
         "node_modules/browserslist": {
-            "version": "4.21.3",
-            "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.21.3.tgz",
-            "integrity": "sha512-898rgRXLAyRkM1GryrrBHGkqA5hlpkV5MhtZwg9QXeiyLUYs2k00Un05aX5l2/yJIOObYKOpS2JNo8nJDE7fWQ==",
+            "version": "4.21.4",
+            "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.21.4.tgz",
+            "integrity": "sha512-CBHJJdDmgjl3daYjN5Cp5kbTf1mUhZoS+beLklHIvkOWscs83YAhLlF3Wsh/lciQYAcbBJgTOD44VtG31ZM4Hw==",
             "dev": true,
             "funding": [
                 {
                 }
             ],
             "dependencies": {
-                "caniuse-lite": "^1.0.30001370",
-                "electron-to-chromium": "^1.4.202",
+                "caniuse-lite": "^1.0.30001400",
+                "electron-to-chromium": "^1.4.251",
                 "node-releases": "^2.0.6",
-                "update-browserslist-db": "^1.0.5"
+                "update-browserslist-db": "^1.0.9"
             },
             "bin": {
                 "browserslist": "cli.js"
             }
         },
         "node_modules/caniuse-lite": {
-            "version": "1.0.30001385",
-            "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001385.tgz",
-            "integrity": "sha512-MpiCqJGhBkHgpyimE9GWmZTnyHyEEM35u115bD3QBrXpjvL/JgcP8cUhKJshfmg4OtEHFenifcK5sZayEw5tvQ==",
+            "version": "1.0.30001425",
+            "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001425.tgz",
+            "integrity": "sha512-/pzFv0OmNG6W0ym80P3NtapU0QEiDS3VuYAZMGoLLqiC7f6FJFe1MjpQDREGApeenD9wloeytmVDj+JLXPC6qw==",
             "dev": true,
             "funding": [
                 {
             }
         },
         "node_modules/convert-source-map": {
-            "version": "1.8.0",
-            "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.8.0.tgz",
-            "integrity": "sha512-+OQdjP49zViI/6i7nIJpA8rAl4sV/JdPfU9nZs3VqOwGIgizICvuN2ru6fMd+4llL0tar18UYJXfZ/TWtmhUjA==",
-            "dev": true,
-            "dependencies": {
-                "safe-buffer": "~5.1.1"
-            }
+            "version": "1.9.0",
+            "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.9.0.tgz",
+            "integrity": "sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A==",
+            "dev": true
         },
         "node_modules/cookie": {
             "version": "0.5.0",
             }
         },
         "node_modules/core-js": {
-            "version": "3.25.0",
-            "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.25.0.tgz",
-            "integrity": "sha512-CVU1xvJEfJGhyCpBrzzzU1kjCfgsGUxhEvwUV2e/cOedYWHdmluamx+knDnmhqALddMG16fZvIqvs9aijsHHaA==",
+            "version": "3.26.0",
+            "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.26.0.tgz",
+            "integrity": "sha512-+DkDrhoR4Y0PxDz6rurahuB+I45OsEUv8E1maPTB6OuHRohMMcznBq9TMpdpDMm/hUPob/mJJS3PqgbHpMTQgw==",
             "hasInstallScript": true,
             "funding": {
                 "type": "opencollective",
             }
         },
         "node_modules/core-js-compat": {
-            "version": "3.25.0",
-            "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.25.0.tgz",
-            "integrity": "sha512-extKQM0g8/3GjFx9US12FAgx8KJawB7RCQ5y8ipYLbmfzEzmFRWdDjIlxDx82g7ygcNG85qMVUSRyABouELdow==",
+            "version": "3.26.0",
+            "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.26.0.tgz",
+            "integrity": "sha512-piOX9Go+Z4f9ZiBFLnZ5VrOpBl0h7IGCkiFUN11QTe6LjAvOT3ifL/5TdoizMh99hcGy5SoLyWbapIY/PIb/3A==",
             "dev": true,
             "dependencies": {
-                "browserslist": "^4.21.3",
-                "semver": "7.0.0"
+                "browserslist": "^4.21.4"
             },
             "funding": {
                 "type": "opencollective",
                 "url": "https://opencollective.com/core-js"
             }
         },
-        "node_modules/core-js-compat/node_modules/semver": {
-            "version": "7.0.0",
-            "resolved": "https://registry.npmjs.org/semver/-/semver-7.0.0.tgz",
-            "integrity": "sha512-+GB6zVA9LWh6zovYQLALHwv5rb2PHGlJi3lfiqIHxR0uuwCgefcOJc59v9fv1w8GbStwxuuqqAjI9NMAOOgq1A==",
-            "dev": true,
-            "bin": {
-                "semver": "bin/semver.js"
-            }
-        },
         "node_modules/core-util-is": {
             "version": "1.0.3",
             "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.3.tgz",
             "dev": true
         },
         "node_modules/devtools-protocol": {
-            "version": "0.0.1019158",
-            "resolved": "https://registry.npmjs.org/devtools-protocol/-/devtools-protocol-0.0.1019158.tgz",
-            "integrity": "sha512-wvq+KscQ7/6spEV7czhnZc9RM/woz1AY+/Vpd8/h2HFMwJSdTliu7f/yr1A6vDdJfKICZsShqsYpEQbdhg8AFQ=="
+            "version": "0.0.1036444",
+            "resolved": "https://registry.npmjs.org/devtools-protocol/-/devtools-protocol-0.0.1036444.tgz",
+            "integrity": "sha512-0y4f/T8H9lsESV9kKP1HDUXgHxCdniFeJh6Erq+FbdOEvp/Ydp9t8kcAAM5gOd17pMrTDlFWntoHtzzeTUWKNw=="
         },
         "node_modules/diffie-hellman": {
             "version": "5.0.3",
             "dev": true
         },
         "node_modules/electron-to-chromium": {
-            "version": "1.4.235",
-            "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.235.tgz",
-            "integrity": "sha512-eNU2SmVZYTzYVA5aAWmhAJbdVil5/8H5nMq6kGD0Yxd4k2uKIuT8YmS46I0QXY7iOoPPcb6jjem9/2xyuH5+XQ==",
+            "version": "1.4.284",
+            "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.284.tgz",
+            "integrity": "sha512-M8WEXFuKXMYMVr45fo8mq0wUrrJHheiKZf6BArTKk9ZBYCKJEOU5H8cdWgDT+qCVZf7Na4lVUaZsA+h6uA9+PA==",
             "dev": true
         },
         "node_modules/elliptic": {
             }
         },
         "node_modules/es-abstract": {
-            "version": "1.20.1",
-            "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.20.1.tgz",
-            "integrity": "sha512-WEm2oBhfoI2sImeM4OF2zE2V3BYdSF+KnSi9Sidz51fQHd7+JuF8Xgcj9/0o+OWeIeIS/MiuNnlruQrJf16GQA==",
+            "version": "1.20.4",
+            "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.20.4.tgz",
+            "integrity": "sha512-0UtvRN79eMe2L+UNEF1BwRe364sj/DXhQ/k5FmivgoSdpM90b8Jc0mDzKMGo7QS0BVbOP/bTwBKNnDc9rNzaPA==",
             "dev": true,
             "dependencies": {
                 "call-bind": "^1.0.2",
                 "es-to-primitive": "^1.2.1",
                 "function-bind": "^1.1.1",
                 "function.prototype.name": "^1.1.5",
-                "get-intrinsic": "^1.1.1",
+                "get-intrinsic": "^1.1.3",
                 "get-symbol-description": "^1.0.0",
                 "has": "^1.0.3",
                 "has-property-descriptors": "^1.0.0",
                 "has-symbols": "^1.0.3",
                 "internal-slot": "^1.0.3",
-                "is-callable": "^1.2.4",
+                "is-callable": "^1.2.7",
                 "is-negative-zero": "^2.0.2",
                 "is-regex": "^1.1.4",
                 "is-shared-array-buffer": "^1.0.2",
                 "is-string": "^1.0.7",
                 "is-weakref": "^1.0.2",
-                "object-inspect": "^1.12.0",
+                "object-inspect": "^1.12.2",
                 "object-keys": "^1.1.1",
-                "object.assign": "^4.1.2",
+                "object.assign": "^4.1.4",
                 "regexp.prototype.flags": "^1.4.3",
+                "safe-regex-test": "^1.0.0",
                 "string.prototype.trimend": "^1.0.5",
                 "string.prototype.trimstart": "^1.0.5",
                 "unbox-primitive": "^1.0.2"
             }
         },
         "node_modules/express": {
-            "version": "4.18.1",
-            "resolved": "https://registry.npmjs.org/express/-/express-4.18.1.tgz",
-            "integrity": "sha512-zZBcOX9TfehHQhtupq57OF8lFZ3UZi08Y97dwFCkD8p9d/d2Y3M+ykKcwaMDEL+4qyUolgBDX6AblpR3fL212Q==",
+            "version": "4.18.2",
+            "resolved": "https://registry.npmjs.org/express/-/express-4.18.2.tgz",
+            "integrity": "sha512-5/PsL6iGPdfQ/lKM1UuielYgv3BUoJfz1aUwU9vHZ+J7gyvwdQXFEBIEIaxeGf0GIcreATNyBExtalisDbuMqQ==",
             "dev": true,
             "dependencies": {
                 "accepts": "~1.3.8",
                 "array-flatten": "1.1.1",
-                "body-parser": "1.20.0",
+                "body-parser": "1.20.1",
                 "content-disposition": "0.5.4",
                 "content-type": "~1.0.4",
                 "cookie": "0.5.0",
                 "parseurl": "~1.3.3",
                 "path-to-regexp": "0.1.7",
                 "proxy-addr": "~2.0.7",
-                "qs": "6.10.3",
+                "qs": "6.11.0",
                 "range-parser": "~1.2.1",
                 "safe-buffer": "5.2.1",
                 "send": "0.18.0",
             ]
         },
         "node_modules/ext": {
-            "version": "1.6.0",
-            "resolved": "https://registry.npmjs.org/ext/-/ext-1.6.0.tgz",
-            "integrity": "sha512-sdBImtzkq2HpkdRLtlLWDa6w4DX22ijZLKx8BMPUuKe1c5lbN6xwQDQCxSfxBQnHZ13ls/FH0MQZx/q/gr6FQg==",
+            "version": "1.7.0",
+            "resolved": "https://registry.npmjs.org/ext/-/ext-1.7.0.tgz",
+            "integrity": "sha512-6hxeJYaL110a9b5TEJSj0gojyHQAmA2ch5Os+ySCiA1QGdS697XWY1pzsrSjqA9LDEEgdB/KypIlR59RcLuHYw==",
             "dev": true,
             "dependencies": {
-                "type": "^2.5.0"
+                "type": "^2.7.2"
             }
         },
         "node_modules/ext/node_modules/type": {
                 "node": ">=6"
             }
         },
+        "node_modules/file-uri-to-path": {
+            "version": "1.0.0",
+            "resolved": "https://registry.npmjs.org/file-uri-to-path/-/file-uri-to-path-1.0.0.tgz",
+            "integrity": "sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw==",
+            "dev": true,
+            "optional": true
+        },
         "node_modules/fill-range": {
             "version": "4.0.0",
             "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz",
             "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz",
             "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw=="
         },
+        "node_modules/fsevents": {
+            "version": "1.2.13",
+            "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-1.2.13.tgz",
+            "integrity": "sha512-oWb1Z6mkHIskLzEJ/XWX0srkpkTQ7vaopMQkyaEIoq0fmtFVxOthb8cCxeT+p3ynTdkk/RZwbgG4brR5BeWECw==",
+            "deprecated": "fsevents 1 will break on node v14+ and could be using insecure binaries. Upgrade to fsevents 2.",
+            "dev": true,
+            "hasInstallScript": true,
+            "optional": true,
+            "os": [
+                "darwin"
+            ],
+            "dependencies": {
+                "bindings": "^1.5.0",
+                "nan": "^2.12.1"
+            },
+            "engines": {
+                "node": ">= 4.0"
+            }
+        },
         "node_modules/function-bind": {
             "version": "1.1.1",
             "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz",
             }
         },
         "node_modules/get-intrinsic": {
-            "version": "1.1.2",
-            "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.1.2.tgz",
-            "integrity": "sha512-Jfm3OyCxHh9DJyc28qGk+JmfkpO41A4XkneDSujN9MDXrm4oDKdHvndhZ2dN94+ERNfkYJWDclW6k2L/ZGHjXA==",
+            "version": "1.1.3",
+            "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.1.3.tgz",
+            "integrity": "sha512-QJVz1Tj7MS099PevUG5jvnt9tSkXN8K14dxQlikJuPt4uD9hHAHjLyLBiLR5zELelBdD9QNRAXZzsJx0WaDL9A==",
             "dev": true,
             "dependencies": {
                 "function-bind": "^1.1.1",
             "dev": true
         },
         "node_modules/gsap": {
-            "version": "3.11.0",
-            "resolved": "https://registry.npmjs.org/gsap/-/gsap-3.11.0.tgz",
-            "integrity": "sha512-TV5aFGqXht+0o/CelnhCikSe3QGeG+q1XA/fyFFsMzesILHgWgFWIz0NuXIgcMaL5h7MG2l+j0BTupS5YyYkrw==",
+            "version": "3.11.3",
+            "resolved": "https://registry.npmjs.org/gsap/-/gsap-3.11.3.tgz",
+            "integrity": "sha512-xc/iIJy+LWiMbRa4IdMtdnnKa/7PXEK6NNzV71gdOYUVeTZN7UWnLU0fB7Hi1iwiz4ZZoYkBZPPYGg+2+zzFHA==",
             "dev": true
         },
         "node_modules/handle-thing": {
             "dev": true
         },
         "node_modules/is-callable": {
-            "version": "1.2.4",
-            "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.4.tgz",
-            "integrity": "sha512-nsuwtxZfMX67Oryl9LCQ+upnC0Z0BgpwntpS89m1H/TLF0zNfzfLMV/9Wa/6MZsj0acpEjAO0KF1xT6ZdLl95w==",
+            "version": "1.2.7",
+            "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.7.tgz",
+            "integrity": "sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==",
             "dev": true,
             "engines": {
                 "node": ">= 0.4"
             }
         },
         "node_modules/is-core-module": {
-            "version": "2.10.0",
-            "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.10.0.tgz",
-            "integrity": "sha512-Erxj2n/LDAZ7H8WNJXd9tw38GYM3dv8rk8Zcs+jJuxYTW7sozH+SS8NtrSjVL1/vpLvWi1hxy96IzjJ3EHTJJg==",
+            "version": "2.11.0",
+            "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.11.0.tgz",
+            "integrity": "sha512-RRjxlvLDkD1YJwDbroBHMb+cukurkDWNyHx7D3oNB5x9rb5ogcksMC5wHCadcXoo67gVr/+3GFySh3134zi6rw==",
             "dev": true,
             "dependencies": {
                 "has": "^1.0.3"
             "resolved": "https://registry.npmjs.org/jquery/-/jquery-3.6.1.tgz",
             "integrity": "sha512-opJeO4nCucVnsjiXOE+/PcCgYw9Gwpvs/a6B1LL/lQhwWwpbVEVYDZ1FokFr8PRc7ghYlrFPuyHuiiDNTQxmcw=="
         },
+        "node_modules/jquery-contextmenu": {
+            "version": "2.9.2",
+            "resolved": "https://registry.npmjs.org/jquery-contextmenu/-/jquery-contextmenu-2.9.2.tgz",
+            "integrity": "sha512-6S6sH/08owDStC/7zNwcN366yR0ydX6PmMB0RnjLRQOp7Nc/rqwEHglshfHrrw2kdTev97GXwRXrayDUmToIOw==",
+            "dependencies": {
+                "jquery": "^3.5.0"
+            },
+            "peerDependencies": {
+                "jquery": ">=1.8.2"
+            }
+        },
         "node_modules/jquery.scrollto": {
             "version": "2.1.3",
             "resolved": "https://registry.npmjs.org/jquery.scrollto/-/jquery.scrollto-2.1.3.tgz",
             }
         },
         "node_modules/loader-utils": {
-            "version": "2.0.2",
-            "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.2.tgz",
-            "integrity": "sha512-TM57VeHptv569d/GKh6TAYdzKblwDNiumOdkFnejjD0XwTH87K90w3O7AiJRqdQoXygvi1VQTJTLGhJl7WqA7A==",
+            "version": "2.0.3",
+            "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.3.tgz",
+            "integrity": "sha512-THWqIsn8QRnvLl0shHYVBN9syumU8pYWEHPTmkiVGd+7K5eFNVSY6AJhRvgGF70gg1Dz+l/k8WicvFCxdEs60A==",
             "dev": true,
             "dependencies": {
                 "big.js": "^5.2.2",
             }
         },
         "node_modules/minimist": {
-            "version": "1.2.6",
-            "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.6.tgz",
-            "integrity": "sha512-Jsjnk4bw3YJqYzbdyBiNsPWHPfO++UGG749Cxs6peCu5Xg4nrena6OVxOYxrQTqww0Jmwt+Ref8rggumkTLz9Q==",
-            "dev": true
+            "version": "1.2.7",
+            "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.7.tgz",
+            "integrity": "sha512-bzfL1YUZsP41gmu/qjrEk0Q6i2ix/cVeAhbCbqH9u3zYutS1cLg00qhrD0M2MVdCcx4Sc0UpP2eBWo9rotpq6g==",
+            "dev": true,
+            "funding": {
+                "url": "https://github.com/sponsors/ljharb"
+            }
         },
         "node_modules/minimist-options": {
             "version": "4.1.0",
             "integrity": "sha512-cnAsSVxIDsYt0v7HmC0hWZFwwXSh+E6PgCrREDuN/EsjgLwA5XRmlMHhSiDPrt6HxY1gTivEa/Zh7GtODoLevQ==",
             "dev": true
         },
+        "node_modules/nan": {
+            "version": "2.17.0",
+            "resolved": "https://registry.npmjs.org/nan/-/nan-2.17.0.tgz",
+            "integrity": "sha512-2ZTgtl0nJsO0KQCjEpxcIr5D+Yv90plTitZt9JBfQvVJDS5seMl3FOvsh3+9CoYWXf/1l5OaZzzF6nDm4cagaQ==",
+            "dev": true,
+            "optional": true
+        },
         "node_modules/nanomatch": {
             "version": "1.2.13",
             "resolved": "https://registry.npmjs.org/nanomatch/-/nanomatch-1.2.13.tgz",
             }
         },
         "node_modules/node-notifier/node_modules/semver": {
-            "version": "7.3.7",
-            "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.7.tgz",
-            "integrity": "sha512-QlYTucUYOews+WeEujDoEGziz4K6c47V/Bd+LjSSYcA94p+DmINdf7ncaUinThfvZyu13lN9OY1XDxt8C0Tw0g==",
+            "version": "7.3.8",
+            "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.8.tgz",
+            "integrity": "sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A==",
             "dev": true,
             "dependencies": {
                 "lru-cache": "^6.0.0"
             }
         },
         "node_modules/normalize-package-data/node_modules/semver": {
-            "version": "7.3.7",
-            "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.7.tgz",
-            "integrity": "sha512-QlYTucUYOews+WeEujDoEGziz4K6c47V/Bd+LjSSYcA94p+DmINdf7ncaUinThfvZyu13lN9OY1XDxt8C0Tw0g==",
+            "version": "7.3.8",
+            "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.8.tgz",
+            "integrity": "sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A==",
             "dev": true,
             "dependencies": {
                 "lru-cache": "^6.0.0"
                 "node": ">=6"
             }
         },
+        "node_modules/noty": {
+            "version": "3.2.0-beta-deprecated",
+            "resolved": "https://registry.npmjs.org/noty/-/noty-3.2.0-beta-deprecated.tgz",
+            "integrity": "sha512-ntRbHuQ9SnnnVFZm/oq5L1DBCaHQUvsU24AwZH3PGjAWx2YqR/IhOadMk11vmJovYiQo00oqTj6Hp+D6PGtmLA==",
+            "deprecated": "no longer supported"
+        },
         "node_modules/npm-run-path": {
             "version": "2.0.2",
             "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-2.0.2.tgz",
             }
         },
         "node_modules/puppeteer": {
-            "version": "17.0.0",
-            "resolved": "https://registry.npmjs.org/puppeteer/-/puppeteer-17.0.0.tgz",
-            "integrity": "sha512-T2rdzlPxnPezF218kywFP3O+0YI5/8Kl8riNUicGb+KuMyDTrqRjhSOSDp6coQ1T4QYPBARTFp4EMBepMOzAQA==",
+            "version": "17.1.3",
+            "resolved": "https://registry.npmjs.org/puppeteer/-/puppeteer-17.1.3.tgz",
+            "integrity": "sha512-tVtvNSOOqlq75rUgwLeDAEQoLIiBqmRg0/zedpI6fuqIocIkuxG23A7FIl1oVSkuSMMLgcOP5kVhNETmsmjvPw==",
             "hasInstallScript": true,
             "dependencies": {
                 "cross-fetch": "3.1.5",
                 "debug": "4.3.4",
-                "devtools-protocol": "0.0.1019158",
+                "devtools-protocol": "0.0.1036444",
                 "extract-zip": "2.0.1",
                 "https-proxy-agent": "5.0.1",
                 "progress": "2.0.3",
             }
         },
         "node_modules/qs": {
-            "version": "6.10.3",
-            "resolved": "https://registry.npmjs.org/qs/-/qs-6.10.3.tgz",
-            "integrity": "sha512-wr7M2E0OFRfIfJZjKGieI8lBKb7fRCH4Fv5KNPEs7gJ8jadvotdsS08PzOKR7opXhZ/Xkjtt3WF9g38drmyRqQ==",
+            "version": "6.11.0",
+            "resolved": "https://registry.npmjs.org/qs/-/qs-6.11.0.tgz",
+            "integrity": "sha512-MvjoMCJwEarSbUYk5O+nmoSzSutSsTwF85zcHPQ9OrlFoZOYIjaqBAJIqIXjptyD5vThxGq52Xu/MaJzRkIk4Q==",
             "dev": true,
             "dependencies": {
                 "side-channel": "^1.0.4"
             "dev": true
         },
         "node_modules/regenerate-unicode-properties": {
-            "version": "10.0.1",
-            "resolved": "https://registry.npmjs.org/regenerate-unicode-properties/-/regenerate-unicode-properties-10.0.1.tgz",
-            "integrity": "sha512-vn5DU6yg6h8hP/2OkQo3K7uVILvY4iu0oI4t3HFa81UPkhGJwkRwM10JEc3upjdhHjs/k8GJY1sRBhk5sr69Bw==",
+            "version": "10.1.0",
+            "resolved": "https://registry.npmjs.org/regenerate-unicode-properties/-/regenerate-unicode-properties-10.1.0.tgz",
+            "integrity": "sha512-d1VudCLoIGitcU/hEg2QqvyGZQmdC0Lf8BqdOMXGFSvJP4bNV1+XqbPQeHHLD51Jh4QJJ225dlIFvY4Ly6MXmQ==",
             "dev": true,
             "dependencies": {
                 "regenerate": "^1.4.2"
             }
         },
         "node_modules/regenerator-runtime": {
-            "version": "0.13.9",
-            "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.9.tgz",
-            "integrity": "sha512-p3VT+cOEgxFsRRA9X4lkI1E+k2/CtnKtU4gcxyaCUreilL/vqI6CdZ3wxVUx3UOUg+gnUOQQcRI7BmSI656MYA==",
+            "version": "0.13.10",
+            "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.10.tgz",
+            "integrity": "sha512-KepLsg4dU12hryUO7bp/axHAKvwGOCV0sGloQtpagJ12ai+ojVDqkeGSiRX1zlq+kjIMZ1t7gpze+26QqtdGqw==",
             "dev": true
         },
         "node_modules/regenerator-transform": {
             }
         },
         "node_modules/regexpu-core": {
-            "version": "5.1.0",
-            "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-5.1.0.tgz",
-            "integrity": "sha512-bb6hk+xWd2PEOkj5It46A16zFMs2mv86Iwpdu94la4S3sJ7C973h2dHpYKwIBGaWSO7cIRJ+UX0IeMaWcO4qwA==",
+            "version": "5.2.1",
+            "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-5.2.1.tgz",
+            "integrity": "sha512-HrnlNtpvqP1Xkb28tMhBUO2EbyUHdQlsnlAhzWcwHy8WJR53UWr7/MAvqrsQKMbV4qdpv03oTMG8iIhfsPFktQ==",
             "dev": true,
             "dependencies": {
                 "regenerate": "^1.4.2",
-                "regenerate-unicode-properties": "^10.0.1",
-                "regjsgen": "^0.6.0",
-                "regjsparser": "^0.8.2",
+                "regenerate-unicode-properties": "^10.1.0",
+                "regjsgen": "^0.7.1",
+                "regjsparser": "^0.9.1",
                 "unicode-match-property-ecmascript": "^2.0.0",
                 "unicode-match-property-value-ecmascript": "^2.0.0"
             },
             }
         },
         "node_modules/regjsgen": {
-            "version": "0.6.0",
-            "resolved": "https://registry.npmjs.org/regjsgen/-/regjsgen-0.6.0.tgz",
-            "integrity": "sha512-ozE883Uigtqj3bx7OhL1KNbCzGyW2NQZPl6Hs09WTvCuZD5sTI4JY58bkbQWa/Y9hxIsvJ3M8Nbf7j54IqeZbA==",
+            "version": "0.7.1",
+            "resolved": "https://registry.npmjs.org/regjsgen/-/regjsgen-0.7.1.tgz",
+            "integrity": "sha512-RAt+8H2ZEzHeYWxZ3H2z6tF18zyyOnlcdaafLrm21Bguj7uZy6ULibiAFdXEtKQY4Sy7wDTwDiOazasMLc4KPA==",
             "dev": true
         },
         "node_modules/regjsparser": {
-            "version": "0.8.4",
-            "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.8.4.tgz",
-            "integrity": "sha512-J3LABycON/VNEu3abOviqGHuB/LOtOQj8SKmfP9anY5GfAVw/SPjwzSjxGjbZXIxbGfqTHtJw58C2Li/WkStmA==",
+            "version": "0.9.1",
+            "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.9.1.tgz",
+            "integrity": "sha512-dQUtn90WanSNl+7mQKcXAgZxvUe7Z0SqXlgzv0za4LwiUhyzBC58yQO3liFoUgu8GiJVInAhJjkj1N0EtQ5nkQ==",
             "dev": true,
             "dependencies": {
                 "jsesc": "~0.5.0"
                 "ret": "~0.1.10"
             }
         },
+        "node_modules/safe-regex-test": {
+            "version": "1.0.0",
+            "resolved": "https://registry.npmjs.org/safe-regex-test/-/safe-regex-test-1.0.0.tgz",
+            "integrity": "sha512-JBUUzyOgEwXQY1NuPtvcj/qcBDbDmEvWufhlnXZIm75DEHp+afM1r1ujJpJsV/gSM4t59tpDyPi1sd6ZaPFfsA==",
+            "dev": true,
+            "dependencies": {
+                "call-bind": "^1.0.2",
+                "get-intrinsic": "^1.1.3",
+                "is-regex": "^1.1.4"
+            },
+            "funding": {
+                "url": "https://github.com/sponsors/ljharb"
+            }
+        },
         "node_modules/safer-buffer": {
             "version": "2.1.2",
             "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz",
             "dev": true
         },
         "node_modules/sass": {
-            "version": "1.54.6",
-            "resolved": "https://registry.npmjs.org/sass/-/sass-1.54.6.tgz",
-            "integrity": "sha512-DUqJjR2WxXBcZjRSZX5gCVyU+9fuC2qDfFzoKX9rV4rCOcec5mPtEafTcfsyL3YJuLONjWylBne+uXVh5rrmFw==",
+            "version": "1.55.0",
+            "resolved": "https://registry.npmjs.org/sass/-/sass-1.55.0.tgz",
+            "integrity": "sha512-Pk+PMy7OGLs9WaxZGJMn7S96dvlyVBwwtToX895WmCpAOr5YiJYEUJfiJidMuKb613z2xNWcXCHEuOvjZbqC6A==",
             "dev": true,
             "dependencies": {
                 "chokidar": ">=3.0.0 <4.0.0",
                 "node": ">=8"
             }
         },
+        "node_modules/sass/node_modules/fsevents": {
+            "version": "2.3.2",
+            "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz",
+            "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==",
+            "dev": true,
+            "hasInstallScript": true,
+            "optional": true,
+            "os": [
+                "darwin"
+            ],
+            "engines": {
+                "node": "^8.16.0 || ^10.6.0 || >=11.0.0"
+            }
+        },
         "node_modules/sass/node_modules/glob-parent": {
             "version": "5.1.2",
             "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz",
             "integrity": "sha512-mEugaLK+YfkijB4fx0e6kImuJdCIt2LxCRcbEYPqRGCs4F2ogyfZU5IAZRdjCP8JPq2AtdNoC/Dux63d9Kiryg==",
             "dev": true
         },
+        "node_modules/select2": {
+            "version": "4.1.0-rc.0",
+            "resolved": "https://registry.npmjs.org/select2/-/select2-4.1.0-rc.0.tgz",
+            "integrity": "sha512-Hr9TdhyHCZUtwznEH2CBf7967mEM0idtJ5nMtjvk3Up5tPukOLXbHUNmh10oRfeNIhj+3GD3niu+g6sVK+gK0A=="
+        },
+        "node_modules/select2-bootstrap-theme": {
+            "version": "0.1.0-beta.10",
+            "resolved": "https://registry.npmjs.org/select2-bootstrap-theme/-/select2-bootstrap-theme-0.1.0-beta.10.tgz",
+            "integrity": "sha512-gc9Y9yNjkGRqeFmI/pAKyL4maMKH9VKAn62E+uF/hxz8FTmfuKH0sDEGhFhk3f8Jp+emtsDdK1c1nb6S51BV0Q=="
+        },
         "node_modules/selfsigned": {
             "version": "1.10.14",
             "resolved": "https://registry.npmjs.org/selfsigned/-/selfsigned-1.10.14.tgz",
             }
         },
         "node_modules/unicode-property-aliases-ecmascript": {
-            "version": "2.0.0",
-            "resolved": "https://registry.npmjs.org/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-2.0.0.tgz",
-            "integrity": "sha512-5Zfuy9q/DFr4tfO7ZPeVXb1aPoeQSdeFMLpYuFebehDAhbuevLs5yxSZmIFN1tP5F9Wl4IpJrYojg85/zgyZHQ==",
+            "version": "2.1.0",
+            "resolved": "https://registry.npmjs.org/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-2.1.0.tgz",
+            "integrity": "sha512-6t3foTQI9qne+OZoVQB/8x8rk2k1eVy1gRXhV3oFQ5T6R1dqQ1xtin3XqSlx3+ATBkliTaR/hHyJBm+LVPNM8w==",
             "dev": true,
             "engines": {
                 "node": ">=4"
             }
         },
         "node_modules/update-browserslist-db": {
-            "version": "1.0.5",
-            "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.5.tgz",
-            "integrity": "sha512-dteFFpCyvuDdr9S/ff1ISkKt/9YZxKjI9WlRR99c180GaztJtRa/fn18FdxGVKVsnPY7/a/FDN68mcvUmP4U7Q==",
+            "version": "1.0.10",
+            "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.10.tgz",
+            "integrity": "sha512-OztqDenkfFkbSG+tRxBeAnCVPckDBcvibKd35yDONx6OU8N7sqgwc7rCbkJ/WcYtVRZ4ba68d6byhC21GFh7sQ==",
             "dev": true,
             "funding": [
                 {
             }
         },
         "node_modules/vue-template-compiler": {
-            "version": "2.7.10",
-            "resolved": "https://registry.npmjs.org/vue-template-compiler/-/vue-template-compiler-2.7.10.tgz",
-            "integrity": "sha512-QO+8R9YRq1Gudm8ZMdo/lImZLJVUIAM8c07Vp84ojdDAf8HmPJc7XB556PcXV218k2AkKznsRz6xB5uOjAC4EQ==",
+            "version": "2.7.13",
+            "resolved": "https://registry.npmjs.org/vue-template-compiler/-/vue-template-compiler-2.7.13.tgz",
+            "integrity": "sha512-jYM6TClwDS9YqP48gYrtAtaOhRKkbYmbzE+Q51gX5YDr777n7tNI/IZk4QV4l/PjQPNh/FVa/E92sh/RqKMrog==",
             "dev": true,
             "dependencies": {
                 "de-indent": "^1.0.2",
                 "node": ">=8"
             }
         },
+        "node_modules/watchpack/node_modules/fsevents": {
+            "version": "2.3.2",
+            "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz",
+            "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==",
+            "dev": true,
+            "hasInstallScript": true,
+            "optional": true,
+            "os": [
+                "darwin"
+            ],
+            "engines": {
+                "node": "^8.16.0 || ^10.6.0 || >=11.0.0"
+            }
+        },
         "node_modules/watchpack/node_modules/glob-parent": {
             "version": "5.1.2",
             "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz",
             }
         },
         "node_modules/webfont/node_modules/fast-glob": {
-            "version": "3.2.11",
-            "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.11.tgz",
-            "integrity": "sha512-xrO3+1bxSo3ZVHAnqzyuewYT6aMFHRAd4Kcs92MAonjwQZLsK9d0SF1IyQ3k5PoirxTW0Oe/RqFgMQ6TcNE5Ew==",
+            "version": "3.2.12",
+            "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.12.tgz",
+            "integrity": "sha512-DVj4CQIYYow0BlaelwK1pHl5n5cRSJfM60UA0zK891sVInoPri2Ekj7+e1CT3/3qxXenpI+nBBmQAcJPJgaj4w==",
             "dev": true,
             "dependencies": {
                 "@nodelib/fs.stat": "^2.0.2",
                 "node": ">=8"
             }
         },
+        "node_modules/webfont/node_modules/fsevents": {
+            "version": "2.3.2",
+            "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz",
+            "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==",
+            "dev": true,
+            "hasInstallScript": true,
+            "optional": true,
+            "os": [
+                "darwin"
+            ],
+            "peer": true,
+            "engines": {
+                "node": "^8.16.0 || ^10.6.0 || >=11.0.0"
+            }
+        },
         "node_modules/webfont/node_modules/glob-parent": {
             "version": "5.1.2",
             "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz",
             }
         },
         "@babel/compat-data": {
-            "version": "7.18.13",
-            "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.18.13.tgz",
-            "integrity": "sha512-5yUzC5LqyTFp2HLmDoxGQelcdYgSpP9xsnMWBphAscOdFrHSAVbLNzWiy32sVNDqJRDiJK6klfDnAgu6PAGSHw==",
+            "version": "7.19.4",
+            "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.19.4.tgz",
+            "integrity": "sha512-CHIGpJcUQ5lU9KrPHTjBMhVwQG6CQjxfg36fGXl3qk/Gik1WwWachaXFuo0uCWJT/mStOKtcbFJCaVLihC1CMw==",
             "dev": true
         },
         "@babel/core": {
-            "version": "7.18.13",
-            "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.18.13.tgz",
-            "integrity": "sha512-ZisbOvRRusFktksHSG6pjj1CSvkPkcZq/KHD45LAkVP/oiHJkNBZWfpvlLmX8OtHDG8IuzsFlVRWo08w7Qxn0A==",
+            "version": "7.19.6",
+            "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.19.6.tgz",
+            "integrity": "sha512-D2Ue4KHpc6Ys2+AxpIx1BZ8+UegLLLE2p3KJEuJRKmokHOtl49jQ5ny1773KsGLZs8MQvBidAF6yWUJxRqtKtg==",
             "dev": true,
             "requires": {
                 "@ampproject/remapping": "^2.1.0",
                 "@babel/code-frame": "^7.18.6",
-                "@babel/generator": "^7.18.13",
-                "@babel/helper-compilation-targets": "^7.18.9",
-                "@babel/helper-module-transforms": "^7.18.9",
-                "@babel/helpers": "^7.18.9",
-                "@babel/parser": "^7.18.13",
+                "@babel/generator": "^7.19.6",
+                "@babel/helper-compilation-targets": "^7.19.3",
+                "@babel/helper-module-transforms": "^7.19.6",
+                "@babel/helpers": "^7.19.4",
+                "@babel/parser": "^7.19.6",
                 "@babel/template": "^7.18.10",
-                "@babel/traverse": "^7.18.13",
-                "@babel/types": "^7.18.13",
+                "@babel/traverse": "^7.19.6",
+                "@babel/types": "^7.19.4",
                 "convert-source-map": "^1.7.0",
                 "debug": "^4.1.0",
                 "gensync": "^1.0.0-beta.2",
             }
         },
         "@babel/generator": {
-            "version": "7.18.13",
-            "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.18.13.tgz",
-            "integrity": "sha512-CkPg8ySSPuHTYPJYo7IRALdqyjM9HCbt/3uOBEFbzyGVP6Mn8bwFPB0jX6982JVNBlYzM1nnPkfjuXSOPtQeEQ==",
+            "version": "7.19.6",
+            "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.19.6.tgz",
+            "integrity": "sha512-oHGRUQeoX1QrKeJIKVe0hwjGqNnVYsM5Nep5zo0uE0m42sLH+Fsd2pStJ5sRM1bNyTUUoz0pe2lTeMJrb/taTA==",
             "dev": true,
             "requires": {
-                "@babel/types": "^7.18.13",
+                "@babel/types": "^7.19.4",
                 "@jridgewell/gen-mapping": "^0.3.2",
                 "jsesc": "^2.5.1"
             },
             }
         },
         "@babel/helper-compilation-targets": {
-            "version": "7.18.9",
-            "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.18.9.tgz",
-            "integrity": "sha512-tzLCyVmqUiFlcFoAPLA/gL9TeYrF61VLNtb+hvkuVaB5SUjW7jcfrglBIX1vUIoT7CLP3bBlIMeyEsIl2eFQNg==",
+            "version": "7.19.3",
+            "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.19.3.tgz",
+            "integrity": "sha512-65ESqLGyGmLvgR0mst5AdW1FkNlj9rQsCKduzEoEPhBCDFGXvz2jW6bXFG6i0/MrV2s7hhXjjb2yAzcPuQlLwg==",
             "dev": true,
             "requires": {
-                "@babel/compat-data": "^7.18.8",
+                "@babel/compat-data": "^7.19.3",
                 "@babel/helper-validator-option": "^7.18.6",
-                "browserslist": "^4.20.2",
+                "browserslist": "^4.21.3",
                 "semver": "^6.3.0"
             }
         },
         "@babel/helper-create-class-features-plugin": {
-            "version": "7.18.13",
-            "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.18.13.tgz",
-            "integrity": "sha512-hDvXp+QYxSRL+23mpAlSGxHMDyIGChm0/AwTfTAAK5Ufe40nCsyNdaYCGuK91phn/fVu9kqayImRDkvNAgdrsA==",
+            "version": "7.19.0",
+            "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.19.0.tgz",
+            "integrity": "sha512-NRz8DwF4jT3UfrmUoZjd0Uph9HQnP30t7Ash+weACcyNkiYTywpIjDBgReJMKgr+n86sn2nPVVmJ28Dm053Kqw==",
             "dev": true,
             "requires": {
                 "@babel/helper-annotate-as-pure": "^7.18.6",
                 "@babel/helper-environment-visitor": "^7.18.9",
-                "@babel/helper-function-name": "^7.18.9",
+                "@babel/helper-function-name": "^7.19.0",
                 "@babel/helper-member-expression-to-functions": "^7.18.9",
                 "@babel/helper-optimise-call-expression": "^7.18.6",
                 "@babel/helper-replace-supers": "^7.18.9",
             }
         },
         "@babel/helper-create-regexp-features-plugin": {
-            "version": "7.18.6",
-            "resolved": "https://registry.npmjs.org/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.18.6.tgz",
-            "integrity": "sha512-7LcpH1wnQLGrI+4v+nPp+zUvIkF9x0ddv1Hkdue10tg3gmRnLy97DXh4STiOf1qeIInyD69Qv5kKSZzKD8B/7A==",
+            "version": "7.19.0",
+            "resolved": "https://registry.npmjs.org/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.19.0.tgz",
+            "integrity": "sha512-htnV+mHX32DF81amCDrwIDr8nrp1PTm+3wfBN9/v8QJOLEioOCOG7qNyq0nHeFiWbT3Eb7gsPwEmV64UCQ1jzw==",
             "dev": true,
             "requires": {
                 "@babel/helper-annotate-as-pure": "^7.18.6",
             }
         },
         "@babel/helper-define-polyfill-provider": {
-            "version": "0.3.2",
-            "resolved": "https://registry.npmjs.org/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.3.2.tgz",
-            "integrity": "sha512-r9QJJ+uDWrd+94BSPcP6/de67ygLtvVy6cK4luE6MOuDsZIdoaPBnfSpbO/+LTifjPckbKXRuI9BB/Z2/y3iTg==",
+            "version": "0.3.3",
+            "resolved": "https://registry.npmjs.org/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.3.3.tgz",
+            "integrity": "sha512-z5aQKU4IzbqCC1XH0nAqfsFLMVSo22SBKUc0BxGrLkolTdPTructy0ToNnlO2zA4j9Q/7pjMZf0DSY+DSTYzww==",
             "dev": true,
             "requires": {
                 "@babel/helper-compilation-targets": "^7.17.7",
             }
         },
         "@babel/helper-function-name": {
-            "version": "7.18.9",
-            "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.18.9.tgz",
-            "integrity": "sha512-fJgWlZt7nxGksJS9a0XdSaI4XvpExnNIgRP+rVefWh5U7BL8pPuir6SJUmFKRfjWQ51OtWSzwOxhaH/EBWWc0A==",
+            "version": "7.19.0",
+            "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.19.0.tgz",
+            "integrity": "sha512-WAwHBINyrpqywkUH0nTnNgI5ina5TFn85HKS0pbPDfxFfhyR/aNQEn4hGi1P1JyT//I0t4OgXUlofzWILRvS5w==",
             "dev": true,
             "requires": {
-                "@babel/template": "^7.18.6",
-                "@babel/types": "^7.18.9"
+                "@babel/template": "^7.18.10",
+                "@babel/types": "^7.19.0"
             }
         },
         "@babel/helper-hoist-variables": {
             }
         },
         "@babel/helper-module-transforms": {
-            "version": "7.18.9",
-            "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.18.9.tgz",
-            "integrity": "sha512-KYNqY0ICwfv19b31XzvmI/mfcylOzbLtowkw+mfvGPAQ3kfCnMLYbED3YecL5tPd8nAYFQFAd6JHp2LxZk/J1g==",
+            "version": "7.19.6",
+            "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.19.6.tgz",
+            "integrity": "sha512-fCmcfQo/KYr/VXXDIyd3CBGZ6AFhPFy1TfSEJ+PilGVlQT6jcbqtHAM4C1EciRqMza7/TpOUZliuSH+U6HAhJw==",
             "dev": true,
             "requires": {
                 "@babel/helper-environment-visitor": "^7.18.9",
                 "@babel/helper-module-imports": "^7.18.6",
-                "@babel/helper-simple-access": "^7.18.6",
+                "@babel/helper-simple-access": "^7.19.4",
                 "@babel/helper-split-export-declaration": "^7.18.6",
-                "@babel/helper-validator-identifier": "^7.18.6",
-                "@babel/template": "^7.18.6",
-                "@babel/traverse": "^7.18.9",
-                "@babel/types": "^7.18.9"
+                "@babel/helper-validator-identifier": "^7.19.1",
+                "@babel/template": "^7.18.10",
+                "@babel/traverse": "^7.19.6",
+                "@babel/types": "^7.19.4"
             }
         },
         "@babel/helper-optimise-call-expression": {
             }
         },
         "@babel/helper-plugin-utils": {
-            "version": "7.18.9",
-            "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.18.9.tgz",
-            "integrity": "sha512-aBXPT3bmtLryXaoJLyYPXPlSD4p1ld9aYeR+sJNOZjJJGiOpb+fKfh3NkcCu7J54nUJwCERPBExCCpyCOHnu/w==",
+            "version": "7.19.0",
+            "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.19.0.tgz",
+            "integrity": "sha512-40Ryx7I8mT+0gaNxm8JGTZFUITNqdLAgdg0hXzeVZxVD6nFsdhQvip6v8dqkRHzsz1VFpFAaOCHNn0vKBL7Czw==",
             "dev": true
         },
         "@babel/helper-remap-async-to-generator": {
             }
         },
         "@babel/helper-replace-supers": {
-            "version": "7.18.9",
-            "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.18.9.tgz",
-            "integrity": "sha512-dNsWibVI4lNT6HiuOIBr1oyxo40HvIVmbwPUm3XZ7wMh4k2WxrxTqZwSqw/eEmXDS9np0ey5M2bz9tBmO9c+YQ==",
+            "version": "7.19.1",
+            "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.19.1.tgz",
+            "integrity": "sha512-T7ahH7wV0Hfs46SFh5Jz3s0B6+o8g3c+7TMxu7xKfmHikg7EAZ3I2Qk9LFhjxXq8sL7UkP5JflezNwoZa8WvWw==",
             "dev": true,
             "requires": {
                 "@babel/helper-environment-visitor": "^7.18.9",
                 "@babel/helper-member-expression-to-functions": "^7.18.9",
                 "@babel/helper-optimise-call-expression": "^7.18.6",
-                "@babel/traverse": "^7.18.9",
-                "@babel/types": "^7.18.9"
+                "@babel/traverse": "^7.19.1",
+                "@babel/types": "^7.19.0"
             }
         },
         "@babel/helper-simple-access": {
-            "version": "7.18.6",
-            "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.18.6.tgz",
-            "integrity": "sha512-iNpIgTgyAvDQpDj76POqg+YEt8fPxx3yaNBg3S30dxNKm2SWfYhD0TGrK/Eu9wHpUW63VQU894TsTg+GLbUa1g==",
+            "version": "7.19.4",
+            "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.19.4.tgz",
+            "integrity": "sha512-f9Xq6WqBFqaDfbCzn2w85hwklswz5qsKlh7f08w4Y9yhJHpnNC0QemtSkK5YyOY8kPGvyiwdzZksGUhnGdaUIg==",
             "dev": true,
             "requires": {
-                "@babel/types": "^7.18.6"
+                "@babel/types": "^7.19.4"
             }
         },
         "@babel/helper-skip-transparent-expression-wrappers": {
             }
         },
         "@babel/helper-string-parser": {
-            "version": "7.18.10",
-            "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.18.10.tgz",
-            "integrity": "sha512-XtIfWmeNY3i4t7t4D2t02q50HvqHybPqW2ki1kosnvWCwuCMeo81Jf0gwr85jy/neUdg5XDdeFE/80DXiO+njw==",
+            "version": "7.19.4",
+            "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.19.4.tgz",
+            "integrity": "sha512-nHtDoQcuqFmwYNYPz3Rah5ph2p8PFeFCsZk9A/48dPc/rGocJ5J3hAAZ7pb76VWX3fZKu+uEr/FhH5jLx7umrw==",
             "dev": true
         },
         "@babel/helper-validator-identifier": {
-            "version": "7.18.6",
-            "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.18.6.tgz",
-            "integrity": "sha512-MmetCkz9ej86nJQV+sFCxoGGrUbU3q02kgLciwkrt9QqEB7cP39oKEY0PakknEO0Gu20SskMRi+AYZ3b1TpN9g==",
+            "version": "7.19.1",
+            "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.19.1.tgz",
+            "integrity": "sha512-awrNfaMtnHUr653GgGEs++LlAvW6w+DcPrOliSMXWCKo597CwL5Acf/wWdNkf/tfEQE3mjkeD1YOVZOUV/od1w==",
             "dev": true
         },
         "@babel/helper-validator-option": {
             "dev": true
         },
         "@babel/helper-wrap-function": {
-            "version": "7.18.11",
-            "resolved": "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.18.11.tgz",
-            "integrity": "sha512-oBUlbv+rjZLh2Ks9SKi4aL7eKaAXBWleHzU89mP0G6BMUlRxSckk9tSIkgDGydhgFxHuGSlBQZfnaD47oBEB7w==",
+            "version": "7.19.0",
+            "resolved": "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.19.0.tgz",
+            "integrity": "sha512-txX8aN8CZyYGTwcLhlk87KRqncAzhh5TpQamZUa0/u3an36NtDpUP6bQgBCBcLeBs09R/OwQu3OjK0k/HwfNDg==",
             "dev": true,
             "requires": {
-                "@babel/helper-function-name": "^7.18.9",
+                "@babel/helper-function-name": "^7.19.0",
                 "@babel/template": "^7.18.10",
-                "@babel/traverse": "^7.18.11",
-                "@babel/types": "^7.18.10"
+                "@babel/traverse": "^7.19.0",
+                "@babel/types": "^7.19.0"
             }
         },
         "@babel/helpers": {
-            "version": "7.18.9",
-            "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.18.9.tgz",
-            "integrity": "sha512-Jf5a+rbrLoR4eNdUmnFu8cN5eNJT6qdTdOg5IHIzq87WwyRw9PwguLFOWYgktN/60IP4fgDUawJvs7PjQIzELQ==",
+            "version": "7.19.4",
+            "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.19.4.tgz",
+            "integrity": "sha512-G+z3aOx2nfDHwX/kyVii5fJq+bgscg89/dJNWpYeKeBv3v9xX8EIabmx1k6u9LS04H7nROFVRVK+e3k0VHp+sw==",
             "dev": true,
             "requires": {
-                "@babel/template": "^7.18.6",
-                "@babel/traverse": "^7.18.9",
-                "@babel/types": "^7.18.9"
+                "@babel/template": "^7.18.10",
+                "@babel/traverse": "^7.19.4",
+                "@babel/types": "^7.19.4"
             }
         },
         "@babel/highlight": {
             }
         },
         "@babel/parser": {
-            "version": "7.18.13",
-            "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.18.13.tgz",
-            "integrity": "sha512-dgXcIfMuQ0kgzLB2b9tRZs7TTFFaGM2AbtA4fJgUUYukzGH4jwsS7hzQHEGs67jdehpm22vkgKwvbU+aEflgwg==",
+            "version": "7.19.6",
+            "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.19.6.tgz",
+            "integrity": "sha512-h1IUp81s2JYJ3mRkdxJgs4UvmSsRvDrx5ICSJbPvtWYv5i1nTBGcBpnog+89rAFMwvvru6E5NUHdBe01UeSzYA==",
             "dev": true
         },
         "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": {
             }
         },
         "@babel/plugin-proposal-async-generator-functions": {
-            "version": "7.18.10",
-            "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.18.10.tgz",
-            "integrity": "sha512-1mFuY2TOsR1hxbjCo4QL+qlIjV07p4H4EUYw2J/WCqsvFV6V9X9z9YhXbWndc/4fw+hYGlDT7egYxliMp5O6Ew==",
+            "version": "7.19.1",
+            "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.19.1.tgz",
+            "integrity": "sha512-0yu8vNATgLy4ivqMNBIwb1HebCelqN7YX8SL3FDXORv/RqT0zEEWUCH4GH44JsSrvCu6GqnAdR5EBFAPeNBB4Q==",
             "dev": true,
             "requires": {
                 "@babel/helper-environment-visitor": "^7.18.9",
-                "@babel/helper-plugin-utils": "^7.18.9",
+                "@babel/helper-plugin-utils": "^7.19.0",
                 "@babel/helper-remap-async-to-generator": "^7.18.9",
                 "@babel/plugin-syntax-async-generators": "^7.8.4"
             }
             }
         },
         "@babel/plugin-proposal-object-rest-spread": {
-            "version": "7.18.9",
-            "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.18.9.tgz",
-            "integrity": "sha512-kDDHQ5rflIeY5xl69CEqGEZ0KY369ehsCIEbTGb4siHG5BE9sga/T0r0OUwyZNLMmZE79E1kbsqAjwFCW4ds6Q==",
+            "version": "7.19.4",
+            "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.19.4.tgz",
+            "integrity": "sha512-wHmj6LDxVDnL+3WhXteUBaoM1aVILZODAUjg11kHqG4cOlfgMQGxw6aCgvrXrmaJR3Bn14oZhImyCPZzRpC93Q==",
             "dev": true,
             "requires": {
-                "@babel/compat-data": "^7.18.8",
-                "@babel/helper-compilation-targets": "^7.18.9",
-                "@babel/helper-plugin-utils": "^7.18.9",
+                "@babel/compat-data": "^7.19.4",
+                "@babel/helper-compilation-targets": "^7.19.3",
+                "@babel/helper-plugin-utils": "^7.19.0",
                 "@babel/plugin-syntax-object-rest-spread": "^7.8.3",
                 "@babel/plugin-transform-parameters": "^7.18.8"
             }
             }
         },
         "@babel/plugin-transform-block-scoping": {
-            "version": "7.18.9",
-            "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.18.9.tgz",
-            "integrity": "sha512-5sDIJRV1KtQVEbt/EIBwGy4T01uYIo4KRB3VUqzkhrAIOGx7AoctL9+Ux88btY0zXdDyPJ9mW+bg+v+XEkGmtw==",
+            "version": "7.19.4",
+            "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.19.4.tgz",
+            "integrity": "sha512-934S2VLLlt2hRJwPf4MczaOr4hYF0z+VKPwqTNxyKX7NthTiPfhuKFWQZHXRM0vh/wo/VyXB3s4bZUNA08l+tQ==",
             "dev": true,
             "requires": {
-                "@babel/helper-plugin-utils": "^7.18.9"
+                "@babel/helper-plugin-utils": "^7.19.0"
             }
         },
         "@babel/plugin-transform-classes": {
-            "version": "7.18.9",
-            "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.18.9.tgz",
-            "integrity": "sha512-EkRQxsxoytpTlKJmSPYrsOMjCILacAjtSVkd4gChEe2kXjFCun3yohhW5I7plXJhCemM0gKsaGMcO8tinvCA5g==",
+            "version": "7.19.0",
+            "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.19.0.tgz",
+            "integrity": "sha512-YfeEE9kCjqTS9IitkgfJuxjcEtLUHMqa8yUJ6zdz8vR7hKuo6mOy2C05P0F1tdMmDCeuyidKnlrw/iTppHcr2A==",
             "dev": true,
             "requires": {
                 "@babel/helper-annotate-as-pure": "^7.18.6",
+                "@babel/helper-compilation-targets": "^7.19.0",
                 "@babel/helper-environment-visitor": "^7.18.9",
-                "@babel/helper-function-name": "^7.18.9",
+                "@babel/helper-function-name": "^7.19.0",
                 "@babel/helper-optimise-call-expression": "^7.18.6",
-                "@babel/helper-plugin-utils": "^7.18.9",
+                "@babel/helper-plugin-utils": "^7.19.0",
                 "@babel/helper-replace-supers": "^7.18.9",
                 "@babel/helper-split-export-declaration": "^7.18.6",
                 "globals": "^11.1.0"
             }
         },
         "@babel/plugin-transform-destructuring": {
-            "version": "7.18.13",
-            "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.18.13.tgz",
-            "integrity": "sha512-TodpQ29XekIsex2A+YJPj5ax2plkGa8YYY6mFjCohk/IG9IY42Rtuj1FuDeemfg2ipxIFLzPeA83SIBnlhSIow==",
+            "version": "7.19.4",
+            "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.19.4.tgz",
+            "integrity": "sha512-t0j0Hgidqf0aM86dF8U+vXYReUgJnlv4bZLsyoPnwZNrGY+7/38o8YjaELrvHeVfTZao15kjR0PVv0nju2iduA==",
             "dev": true,
             "requires": {
-                "@babel/helper-plugin-utils": "^7.18.9"
+                "@babel/helper-plugin-utils": "^7.19.0"
             }
         },
         "@babel/plugin-transform-dotall-regex": {
             }
         },
         "@babel/plugin-transform-modules-amd": {
-            "version": "7.18.6",
-            "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.18.6.tgz",
-            "integrity": "sha512-Pra5aXsmTsOnjM3IajS8rTaLCy++nGM4v3YR4esk5PCsyg9z8NA5oQLwxzMUtDBd8F+UmVza3VxoAaWCbzH1rg==",
+            "version": "7.19.6",
+            "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.19.6.tgz",
+            "integrity": "sha512-uG3od2mXvAtIFQIh0xrpLH6r5fpSQN04gIVovl+ODLdUMANokxQLZnPBHcjmv3GxRjnqwLuHvppjjcelqUFZvg==",
             "dev": true,
             "requires": {
-                "@babel/helper-module-transforms": "^7.18.6",
-                "@babel/helper-plugin-utils": "^7.18.6",
-                "babel-plugin-dynamic-import-node": "^2.3.3"
+                "@babel/helper-module-transforms": "^7.19.6",
+                "@babel/helper-plugin-utils": "^7.19.0"
             }
         },
         "@babel/plugin-transform-modules-commonjs": {
-            "version": "7.18.6",
-            "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.18.6.tgz",
-            "integrity": "sha512-Qfv2ZOWikpvmedXQJDSbxNqy7Xr/j2Y8/KfijM0iJyKkBTmWuvCA1yeH1yDM7NJhBW/2aXxeucLj6i80/LAJ/Q==",
+            "version": "7.19.6",
+            "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.19.6.tgz",
+            "integrity": "sha512-8PIa1ym4XRTKuSsOUXqDG0YaOlEuTVvHMe5JCfgBMOtHvJKw/4NGovEGN33viISshG/rZNVrACiBmPQLvWN8xQ==",
             "dev": true,
             "requires": {
-                "@babel/helper-module-transforms": "^7.18.6",
-                "@babel/helper-plugin-utils": "^7.18.6",
-                "@babel/helper-simple-access": "^7.18.6",
-                "babel-plugin-dynamic-import-node": "^2.3.3"
+                "@babel/helper-module-transforms": "^7.19.6",
+                "@babel/helper-plugin-utils": "^7.19.0",
+                "@babel/helper-simple-access": "^7.19.4"
             }
         },
         "@babel/plugin-transform-modules-systemjs": {
-            "version": "7.18.9",
-            "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.18.9.tgz",
-            "integrity": "sha512-zY/VSIbbqtoRoJKo2cDTewL364jSlZGvn0LKOf9ntbfxOvjfmyrdtEEOAdswOswhZEb8UH3jDkCKHd1sPgsS0A==",
+            "version": "7.19.6",
+            "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.19.6.tgz",
+            "integrity": "sha512-fqGLBepcc3kErfR9R3DnVpURmckXP7gj7bAlrTQyBxrigFqszZCkFkcoxzCp2v32XmwXLvbw+8Yq9/b+QqksjQ==",
             "dev": true,
             "requires": {
                 "@babel/helper-hoist-variables": "^7.18.6",
-                "@babel/helper-module-transforms": "^7.18.9",
-                "@babel/helper-plugin-utils": "^7.18.9",
-                "@babel/helper-validator-identifier": "^7.18.6",
-                "babel-plugin-dynamic-import-node": "^2.3.3"
+                "@babel/helper-module-transforms": "^7.19.6",
+                "@babel/helper-plugin-utils": "^7.19.0",
+                "@babel/helper-validator-identifier": "^7.19.1"
             }
         },
         "@babel/plugin-transform-modules-umd": {
             }
         },
         "@babel/plugin-transform-named-capturing-groups-regex": {
-            "version": "7.18.6",
-            "resolved": "https://registry.npmjs.org/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.18.6.tgz",
-            "integrity": "sha512-UmEOGF8XgaIqD74bC8g7iV3RYj8lMf0Bw7NJzvnS9qQhM4mg+1WHKotUIdjxgD2RGrgFLZZPCFPFj3P/kVDYhg==",
+            "version": "7.19.1",
+            "resolved": "https://registry.npmjs.org/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.19.1.tgz",
+            "integrity": "sha512-oWk9l9WItWBQYS4FgXD4Uyy5kq898lvkXpXQxoJEY1RnvPk4R/Dvu2ebXU9q8lP+rlMwUQTFf2Ok6d78ODa0kw==",
             "dev": true,
             "requires": {
-                "@babel/helper-create-regexp-features-plugin": "^7.18.6",
-                "@babel/helper-plugin-utils": "^7.18.6"
+                "@babel/helper-create-regexp-features-plugin": "^7.19.0",
+                "@babel/helper-plugin-utils": "^7.19.0"
             }
         },
         "@babel/plugin-transform-new-target": {
             }
         },
         "@babel/plugin-transform-runtime": {
-            "version": "7.18.10",
-            "resolved": "https://registry.npmjs.org/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.18.10.tgz",
-            "integrity": "sha512-q5mMeYAdfEbpBAgzl7tBre/la3LeCxmDO1+wMXRdPWbcoMjR3GiXlCLk7JBZVVye0bqTGNMbt0yYVXX1B1jEWQ==",
+            "version": "7.19.6",
+            "resolved": "https://registry.npmjs.org/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.19.6.tgz",
+            "integrity": "sha512-PRH37lz4JU156lYFW1p8OxE5i7d6Sl/zV58ooyr+q1J1lnQPyg5tIiXlIwNVhJaY4W3TmOtdc8jqdXQcB1v5Yw==",
             "dev": true,
             "requires": {
                 "@babel/helper-module-imports": "^7.18.6",
-                "@babel/helper-plugin-utils": "^7.18.9",
-                "babel-plugin-polyfill-corejs2": "^0.3.2",
-                "babel-plugin-polyfill-corejs3": "^0.5.3",
-                "babel-plugin-polyfill-regenerator": "^0.4.0",
+                "@babel/helper-plugin-utils": "^7.19.0",
+                "babel-plugin-polyfill-corejs2": "^0.3.3",
+                "babel-plugin-polyfill-corejs3": "^0.6.0",
+                "babel-plugin-polyfill-regenerator": "^0.4.1",
                 "semver": "^6.3.0"
             }
         },
             }
         },
         "@babel/plugin-transform-spread": {
-            "version": "7.18.9",
-            "resolved": "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.18.9.tgz",
-            "integrity": "sha512-39Q814wyoOPtIB/qGopNIL9xDChOE1pNU0ZY5dO0owhiVt/5kFm4li+/bBtwc7QotG0u5EPzqhZdjMtmqBqyQA==",
+            "version": "7.19.0",
+            "resolved": "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.19.0.tgz",
+            "integrity": "sha512-RsuMk7j6n+r752EtzyScnWkQyuJdli6LdO5Klv8Yx0OfPVTcQkIUfS8clx5e9yHXzlnhOZF3CbQ8C2uP5j074w==",
             "dev": true,
             "requires": {
-                "@babel/helper-plugin-utils": "^7.18.9",
+                "@babel/helper-plugin-utils": "^7.19.0",
                 "@babel/helper-skip-transparent-expression-wrappers": "^7.18.9"
             }
         },
             }
         },
         "@babel/preset-env": {
-            "version": "7.18.10",
-            "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.18.10.tgz",
-            "integrity": "sha512-wVxs1yjFdW3Z/XkNfXKoblxoHgbtUF7/l3PvvP4m02Qz9TZ6uZGxRVYjSQeR87oQmHco9zWitW5J82DJ7sCjvA==",
+            "version": "7.19.4",
+            "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.19.4.tgz",
+            "integrity": "sha512-5QVOTXUdqTCjQuh2GGtdd7YEhoRXBMVGROAtsBeLGIbIz3obCBIfRMT1I3ZKkMgNzwkyCkftDXSSkHxnfVf4qg==",
             "dev": true,
             "requires": {
-                "@babel/compat-data": "^7.18.8",
-                "@babel/helper-compilation-targets": "^7.18.9",
-                "@babel/helper-plugin-utils": "^7.18.9",
+                "@babel/compat-data": "^7.19.4",
+                "@babel/helper-compilation-targets": "^7.19.3",
+                "@babel/helper-plugin-utils": "^7.19.0",
                 "@babel/helper-validator-option": "^7.18.6",
                 "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": "^7.18.6",
                 "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": "^7.18.9",
-                "@babel/plugin-proposal-async-generator-functions": "^7.18.10",
+                "@babel/plugin-proposal-async-generator-functions": "^7.19.1",
                 "@babel/plugin-proposal-class-properties": "^7.18.6",
                 "@babel/plugin-proposal-class-static-block": "^7.18.6",
                 "@babel/plugin-proposal-dynamic-import": "^7.18.6",
                 "@babel/plugin-proposal-logical-assignment-operators": "^7.18.9",
                 "@babel/plugin-proposal-nullish-coalescing-operator": "^7.18.6",
                 "@babel/plugin-proposal-numeric-separator": "^7.18.6",
-                "@babel/plugin-proposal-object-rest-spread": "^7.18.9",
+                "@babel/plugin-proposal-object-rest-spread": "^7.19.4",
                 "@babel/plugin-proposal-optional-catch-binding": "^7.18.6",
                 "@babel/plugin-proposal-optional-chaining": "^7.18.9",
                 "@babel/plugin-proposal-private-methods": "^7.18.6",
                 "@babel/plugin-transform-arrow-functions": "^7.18.6",
                 "@babel/plugin-transform-async-to-generator": "^7.18.6",
                 "@babel/plugin-transform-block-scoped-functions": "^7.18.6",
-                "@babel/plugin-transform-block-scoping": "^7.18.9",
-                "@babel/plugin-transform-classes": "^7.18.9",
+                "@babel/plugin-transform-block-scoping": "^7.19.4",
+                "@babel/plugin-transform-classes": "^7.19.0",
                 "@babel/plugin-transform-computed-properties": "^7.18.9",
-                "@babel/plugin-transform-destructuring": "^7.18.9",
+                "@babel/plugin-transform-destructuring": "^7.19.4",
                 "@babel/plugin-transform-dotall-regex": "^7.18.6",
                 "@babel/plugin-transform-duplicate-keys": "^7.18.9",
                 "@babel/plugin-transform-exponentiation-operator": "^7.18.6",
                 "@babel/plugin-transform-member-expression-literals": "^7.18.6",
                 "@babel/plugin-transform-modules-amd": "^7.18.6",
                 "@babel/plugin-transform-modules-commonjs": "^7.18.6",
-                "@babel/plugin-transform-modules-systemjs": "^7.18.9",
+                "@babel/plugin-transform-modules-systemjs": "^7.19.0",
                 "@babel/plugin-transform-modules-umd": "^7.18.6",
-                "@babel/plugin-transform-named-capturing-groups-regex": "^7.18.6",
+                "@babel/plugin-transform-named-capturing-groups-regex": "^7.19.1",
                 "@babel/plugin-transform-new-target": "^7.18.6",
                 "@babel/plugin-transform-object-super": "^7.18.6",
                 "@babel/plugin-transform-parameters": "^7.18.8",
                 "@babel/plugin-transform-regenerator": "^7.18.6",
                 "@babel/plugin-transform-reserved-words": "^7.18.6",
                 "@babel/plugin-transform-shorthand-properties": "^7.18.6",
-                "@babel/plugin-transform-spread": "^7.18.9",
+                "@babel/plugin-transform-spread": "^7.19.0",
                 "@babel/plugin-transform-sticky-regex": "^7.18.6",
                 "@babel/plugin-transform-template-literals": "^7.18.9",
                 "@babel/plugin-transform-typeof-symbol": "^7.18.9",
                 "@babel/plugin-transform-unicode-escapes": "^7.18.10",
                 "@babel/plugin-transform-unicode-regex": "^7.18.6",
                 "@babel/preset-modules": "^0.1.5",
-                "@babel/types": "^7.18.10",
-                "babel-plugin-polyfill-corejs2": "^0.3.2",
-                "babel-plugin-polyfill-corejs3": "^0.5.3",
-                "babel-plugin-polyfill-regenerator": "^0.4.0",
-                "core-js-compat": "^3.22.1",
+                "@babel/types": "^7.19.4",
+                "babel-plugin-polyfill-corejs2": "^0.3.3",
+                "babel-plugin-polyfill-corejs3": "^0.6.0",
+                "babel-plugin-polyfill-regenerator": "^0.4.1",
+                "core-js-compat": "^3.25.1",
                 "semver": "^6.3.0"
             }
         },
             }
         },
         "@babel/runtime": {
-            "version": "7.18.9",
-            "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.18.9.tgz",
-            "integrity": "sha512-lkqXDcvlFT5rvEjiu6+QYO+1GXrEHRo2LOtS7E4GtX5ESIZOgepqsZBVIj6Pv+a6zqsya9VCgiK1KAK4BvJDAw==",
+            "version": "7.19.4",
+            "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.19.4.tgz",
+            "integrity": "sha512-EXpLCrk55f+cYqmHsSR+yD/0gAIMxxA9QK9lnQWzhMCvt+YmoBN7Zx94s++Kv0+unHk39vxNO8t+CMA2WSS3wA==",
             "dev": true,
             "requires": {
                 "regenerator-runtime": "^0.13.4"
             }
         },
         "@babel/traverse": {
-            "version": "7.18.13",
-            "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.18.13.tgz",
-            "integrity": "sha512-N6kt9X1jRMLPxxxPYWi7tgvJRH/rtoU+dbKAPDM44RFHiMH8igdsaSBgFeskhSl/kLWLDUvIh1RXCrTmg0/zvA==",
+            "version": "7.19.6",
+            "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.19.6.tgz",
+            "integrity": "sha512-6l5HrUCzFM04mfbG09AagtYyR2P0B71B1wN7PfSPiksDPz2k5H9CBC1tcZpz2M8OxbKTPccByoOJ22rUKbpmQQ==",
             "dev": true,
             "requires": {
                 "@babel/code-frame": "^7.18.6",
-                "@babel/generator": "^7.18.13",
+                "@babel/generator": "^7.19.6",
                 "@babel/helper-environment-visitor": "^7.18.9",
-                "@babel/helper-function-name": "^7.18.9",
+                "@babel/helper-function-name": "^7.19.0",
                 "@babel/helper-hoist-variables": "^7.18.6",
                 "@babel/helper-split-export-declaration": "^7.18.6",
-                "@babel/parser": "^7.18.13",
-                "@babel/types": "^7.18.13",
+                "@babel/parser": "^7.19.6",
+                "@babel/types": "^7.19.4",
                 "debug": "^4.1.0",
                 "globals": "^11.1.0"
             },
             }
         },
         "@babel/types": {
-            "version": "7.18.13",
-            "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.18.13.tgz",
-            "integrity": "sha512-ePqfTihzW0W6XAU+aMw2ykilisStJfDnsejDCXRchCcMJ4O0+8DhPXf2YUbZ6wjBlsEmZwLK/sPweWtu8hcJYQ==",
+            "version": "7.19.4",
+            "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.19.4.tgz",
+            "integrity": "sha512-M5LK7nAeS6+9j7hAq+b3fQs+pNfUtTGq+yFFfHnauFA8zQtLRfmuipmsKDKKLuyG+wC8ABW43A153YNawNTEtw==",
             "dev": true,
             "requires": {
-                "@babel/helper-string-parser": "^7.18.10",
-                "@babel/helper-validator-identifier": "^7.18.6",
+                "@babel/helper-string-parser": "^7.19.4",
+                "@babel/helper-validator-identifier": "^7.19.1",
                 "to-fast-properties": "^2.0.0"
             }
         },
             "dev": true
         },
         "@jridgewell/trace-mapping": {
-            "version": "0.3.15",
-            "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.15.tgz",
-            "integrity": "sha512-oWZNOULl+UbhsgB51uuZzglikfIKSUBO/M9W2OfEjn7cmqoAiCgmv9lyACTUacZwBz0ITnJ2NqjU8Tx0DHL88g==",
+            "version": "0.3.17",
+            "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.17.tgz",
+            "integrity": "sha512-MCNzAp77qzKca9+W/+I0+sEpaUnZoeasnghNeVc41VZCEKaCH73Vq3BZZ/SzWIgrqE4H4ceI+p+b6C0mHf9T4g==",
             "dev": true,
             "requires": {
-                "@jridgewell/resolve-uri": "^3.0.3",
-                "@jridgewell/sourcemap-codec": "^1.4.10"
+                "@jridgewell/resolve-uri": "3.1.0",
+                "@jridgewell/sourcemap-codec": "1.4.14"
             }
         },
         "@mrmlnc/readdir-enhanced": {
             "dev": true
         },
         "@types/minimatch": {
-            "version": "5.1.1",
-            "resolved": "https://registry.npmjs.org/@types/minimatch/-/minimatch-5.1.1.tgz",
-            "integrity": "sha512-v55NF6Dz0wrj14Rn8iEABTWrhYRmgkJYuokduunSiq++t3hZ9VZ6dvcDt+850Pm5sGJZk8RaHzkFCXPxVINZ+g==",
+            "version": "5.1.2",
+            "resolved": "https://registry.npmjs.org/@types/minimatch/-/minimatch-5.1.2.tgz",
+            "integrity": "sha512-K0VQKziLUWkVKiRVrx4a40iPaxTUefQmjtkQofBkYRcoaaL/8rhwDWww9qWbrgicNOgnpIsMxyNIUM4+n6dUIA==",
             "dev": true
         },
         "@types/minimist": {
             "dev": true
         },
         "@types/node": {
-            "version": "18.7.14",
-            "resolved": "https://registry.npmjs.org/@types/node/-/node-18.7.14.tgz",
-            "integrity": "sha512-6bbDaETVi8oyIARulOE9qF1/Qdi/23z6emrUh0fNJRUmjznqrixD4MpGDdgOFk5Xb0m2H6Xu42JGdvAxaJR/wA==",
+            "version": "18.11.5",
+            "resolved": "https://registry.npmjs.org/@types/node/-/node-18.11.5.tgz",
+            "integrity": "sha512-3JRwhbjI+cHLAkUorhf8RnqUbFXajvzX4q6fMn5JwkgtuwfYtRQYI3u4V92vI6NJuTsbBQWWh3RZjFsuevyMGQ==",
             "devOptional": true
         },
         "@types/normalize-package-data": {
             }
         },
         "@xmldom/xmldom": {
-            "version": "0.7.5",
-            "resolved": "https://registry.npmjs.org/@xmldom/xmldom/-/xmldom-0.7.5.tgz",
-            "integrity": "sha512-V3BIhmY36fXZ1OtVcI9W+FxQqxVLsPKcNjWigIaa81dLC9IolJl5Mt4Cvhmr0flUnjSpTdrbMTSbXqYqV5dT6A==",
+            "version": "0.7.6",
+            "resolved": "https://registry.npmjs.org/@xmldom/xmldom/-/xmldom-0.7.6.tgz",
+            "integrity": "sha512-HHXP9hskkFQHy8QxxUXkS7946FFIhYVfGqsk0WLwllmexN9x/+R4UBLvurHEuyXRfVEObVR8APuQehykLviwSQ==",
             "dev": true
         },
         "@xtuc/ieee754": {
                 "object.omit": "^3.0.0"
             }
         },
-        "babel-plugin-dynamic-import-node": {
-            "version": "2.3.3",
-            "resolved": "https://registry.npmjs.org/babel-plugin-dynamic-import-node/-/babel-plugin-dynamic-import-node-2.3.3.tgz",
-            "integrity": "sha512-jZVI+s9Zg3IqA/kdi0i6UDCybUI3aSBLnglhYbSSjKlV7yF1F/5LWv8MakQmvYpnbJDS6fcBL2KzHSxNCMtWSQ==",
-            "dev": true,
-            "requires": {
-                "object.assign": "^4.1.0"
-            }
-        },
         "babel-plugin-polyfill-corejs2": {
-            "version": "0.3.2",
-            "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.3.2.tgz",
-            "integrity": "sha512-LPnodUl3lS0/4wN3Rb+m+UK8s7lj2jcLRrjho4gLw+OJs+I4bvGXshINesY5xx/apM+biTnQ9reDI8yj+0M5+Q==",
+            "version": "0.3.3",
+            "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.3.3.tgz",
+            "integrity": "sha512-8hOdmFYFSZhqg2C/JgLUQ+t52o5nirNwaWM2B9LWteozwIvM14VSwdsCAUET10qT+kmySAlseadmfeeSWFCy+Q==",
             "dev": true,
             "requires": {
                 "@babel/compat-data": "^7.17.7",
-                "@babel/helper-define-polyfill-provider": "^0.3.2",
+                "@babel/helper-define-polyfill-provider": "^0.3.3",
                 "semver": "^6.1.1"
             }
         },
         "babel-plugin-polyfill-corejs3": {
-            "version": "0.5.3",
-            "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.5.3.tgz",
-            "integrity": "sha512-zKsXDh0XjnrUEW0mxIHLfjBfnXSMr5Q/goMe/fxpQnLm07mcOZiIZHBNWCMx60HmdvjxfXcalac0tfFg0wqxyw==",
+            "version": "0.6.0",
+            "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.6.0.tgz",
+            "integrity": "sha512-+eHqR6OPcBhJOGgsIar7xoAB1GcSwVUA3XjAd7HJNzOXT4wv6/H7KIdA/Nc60cvUlDbKApmqNvD1B1bzOt4nyA==",
             "dev": true,
             "requires": {
-                "@babel/helper-define-polyfill-provider": "^0.3.2",
-                "core-js-compat": "^3.21.0"
+                "@babel/helper-define-polyfill-provider": "^0.3.3",
+                "core-js-compat": "^3.25.1"
             }
         },
         "babel-plugin-polyfill-regenerator": {
-            "version": "0.4.0",
-            "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.4.0.tgz",
-            "integrity": "sha512-RW1cnryiADFeHmfLS+WW/G431p1PsW5qdRdz0SDRi7TKcUgc7Oh/uXkT7MZ/+tGsT1BkczEAmD5XjUyJ5SWDTw==",
+            "version": "0.4.1",
+            "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.4.1.tgz",
+            "integrity": "sha512-NtQGmyQDXjQqQ+IzRkBVwEOz9lQ4zxAQZgoAYEtU9dJjnl1Oc98qnN7jcp+bE7O7aYzVpavXE3/VKXNzUbh7aw==",
             "dev": true,
             "requires": {
-                "@babel/helper-define-polyfill-provider": "^0.3.2"
+                "@babel/helper-define-polyfill-provider": "^0.3.3"
             }
         },
         "balanced-match": {
             "integrity": "sha512-Un7MIEDdUC5gNpcGDV97op1Ywk748MpHcFTHoYs6qnj1Z3j7I53VG3nwZhKzoBZmbdRNnb6WRdFlwl7tSDuZGw==",
             "dev": true
         },
+        "bindings": {
+            "version": "1.5.0",
+            "resolved": "https://registry.npmjs.org/bindings/-/bindings-1.5.0.tgz",
+            "integrity": "sha512-p2q/t/mhvuOj/UeLlV6566GD/guowlr0hHxClI0W9m7MWYkL1F0hLo+0Aexs9HSPCtR1SXQ0TD3MMKrXZajbiQ==",
+            "dev": true,
+            "optional": true,
+            "requires": {
+                "file-uri-to-path": "1.0.0"
+            }
+        },
         "bl": {
             "version": "4.1.0",
             "resolved": "https://registry.npmjs.org/bl/-/bl-4.1.0.tgz",
             "dev": true
         },
         "body-parser": {
-            "version": "1.20.0",
-            "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.20.0.tgz",
-            "integrity": "sha512-DfJ+q6EPcGKZD1QWUjSpqp+Q7bDQTsQIF4zfUAtZ6qk+H/3/QRhg9CEp39ss+/T2vw0+HaidC0ecJj/DRLIaKg==",
+            "version": "1.20.1",
+            "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.20.1.tgz",
+            "integrity": "sha512-jWi7abTbYwajOytWCQc37VulmWiRae5RyTpaCyDcS5/lMdtwSz5lOpDE67srw/HYe35f1z3fDQw+3txg7gNtWw==",
             "dev": true,
             "requires": {
                 "bytes": "3.1.2",
                 "http-errors": "2.0.0",
                 "iconv-lite": "0.4.24",
                 "on-finished": "2.4.1",
-                "qs": "6.10.3",
+                "qs": "6.11.0",
                 "raw-body": "2.5.1",
                 "type-is": "~1.6.18",
                 "unpipe": "1.0.0"
             }
         },
         "browserslist": {
-            "version": "4.21.3",
-            "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.21.3.tgz",
-            "integrity": "sha512-898rgRXLAyRkM1GryrrBHGkqA5hlpkV5MhtZwg9QXeiyLUYs2k00Un05aX5l2/yJIOObYKOpS2JNo8nJDE7fWQ==",
+            "version": "4.21.4",
+            "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.21.4.tgz",
+            "integrity": "sha512-CBHJJdDmgjl3daYjN5Cp5kbTf1mUhZoS+beLklHIvkOWscs83YAhLlF3Wsh/lciQYAcbBJgTOD44VtG31ZM4Hw==",
             "dev": true,
             "requires": {
-                "caniuse-lite": "^1.0.30001370",
-                "electron-to-chromium": "^1.4.202",
+                "caniuse-lite": "^1.0.30001400",
+                "electron-to-chromium": "^1.4.251",
                 "node-releases": "^2.0.6",
-                "update-browserslist-db": "^1.0.5"
+                "update-browserslist-db": "^1.0.9"
             }
         },
         "buffer": {
             }
         },
         "caniuse-lite": {
-            "version": "1.0.30001385",
-            "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001385.tgz",
-            "integrity": "sha512-MpiCqJGhBkHgpyimE9GWmZTnyHyEEM35u115bD3QBrXpjvL/JgcP8cUhKJshfmg4OtEHFenifcK5sZayEw5tvQ==",
+            "version": "1.0.30001425",
+            "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001425.tgz",
+            "integrity": "sha512-/pzFv0OmNG6W0ym80P3NtapU0QEiDS3VuYAZMGoLLqiC7f6FJFe1MjpQDREGApeenD9wloeytmVDj+JLXPC6qw==",
             "dev": true
         },
         "chalk": {
             "dev": true
         },
         "convert-source-map": {
-            "version": "1.8.0",
-            "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.8.0.tgz",
-            "integrity": "sha512-+OQdjP49zViI/6i7nIJpA8rAl4sV/JdPfU9nZs3VqOwGIgizICvuN2ru6fMd+4llL0tar18UYJXfZ/TWtmhUjA==",
-            "dev": true,
-            "requires": {
-                "safe-buffer": "~5.1.1"
-            }
+            "version": "1.9.0",
+            "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.9.0.tgz",
+            "integrity": "sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A==",
+            "dev": true
         },
         "cookie": {
             "version": "0.5.0",
             "dev": true
         },
         "core-js": {
-            "version": "3.25.0",
-            "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.25.0.tgz",
-            "integrity": "sha512-CVU1xvJEfJGhyCpBrzzzU1kjCfgsGUxhEvwUV2e/cOedYWHdmluamx+knDnmhqALddMG16fZvIqvs9aijsHHaA=="
+            "version": "3.26.0",
+            "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.26.0.tgz",
+            "integrity": "sha512-+DkDrhoR4Y0PxDz6rurahuB+I45OsEUv8E1maPTB6OuHRohMMcznBq9TMpdpDMm/hUPob/mJJS3PqgbHpMTQgw=="
         },
         "core-js-compat": {
-            "version": "3.25.0",
-            "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.25.0.tgz",
-            "integrity": "sha512-extKQM0g8/3GjFx9US12FAgx8KJawB7RCQ5y8ipYLbmfzEzmFRWdDjIlxDx82g7ygcNG85qMVUSRyABouELdow==",
+            "version": "3.26.0",
+            "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.26.0.tgz",
+            "integrity": "sha512-piOX9Go+Z4f9ZiBFLnZ5VrOpBl0h7IGCkiFUN11QTe6LjAvOT3ifL/5TdoizMh99hcGy5SoLyWbapIY/PIb/3A==",
             "dev": true,
             "requires": {
-                "browserslist": "^4.21.3",
-                "semver": "7.0.0"
-            },
-            "dependencies": {
-                "semver": {
-                    "version": "7.0.0",
-                    "resolved": "https://registry.npmjs.org/semver/-/semver-7.0.0.tgz",
-                    "integrity": "sha512-+GB6zVA9LWh6zovYQLALHwv5rb2PHGlJi3lfiqIHxR0uuwCgefcOJc59v9fv1w8GbStwxuuqqAjI9NMAOOgq1A==",
-                    "dev": true
-                }
+                "browserslist": "^4.21.4"
             }
         },
         "core-util-is": {
             "dev": true
         },
         "devtools-protocol": {
-            "version": "0.0.1019158",
-            "resolved": "https://registry.npmjs.org/devtools-protocol/-/devtools-protocol-0.0.1019158.tgz",
-            "integrity": "sha512-wvq+KscQ7/6spEV7czhnZc9RM/woz1AY+/Vpd8/h2HFMwJSdTliu7f/yr1A6vDdJfKICZsShqsYpEQbdhg8AFQ=="
+            "version": "0.0.1036444",
+            "resolved": "https://registry.npmjs.org/devtools-protocol/-/devtools-protocol-0.0.1036444.tgz",
+            "integrity": "sha512-0y4f/T8H9lsESV9kKP1HDUXgHxCdniFeJh6Erq+FbdOEvp/Ydp9t8kcAAM5gOd17pMrTDlFWntoHtzzeTUWKNw=="
         },
         "diffie-hellman": {
             "version": "5.0.3",
             "dev": true
         },
         "electron-to-chromium": {
-            "version": "1.4.235",
-            "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.235.tgz",
-            "integrity": "sha512-eNU2SmVZYTzYVA5aAWmhAJbdVil5/8H5nMq6kGD0Yxd4k2uKIuT8YmS46I0QXY7iOoPPcb6jjem9/2xyuH5+XQ==",
+            "version": "1.4.284",
+            "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.284.tgz",
+            "integrity": "sha512-M8WEXFuKXMYMVr45fo8mq0wUrrJHheiKZf6BArTKk9ZBYCKJEOU5H8cdWgDT+qCVZf7Na4lVUaZsA+h6uA9+PA==",
             "dev": true
         },
         "elliptic": {
             }
         },
         "es-abstract": {
-            "version": "1.20.1",
-            "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.20.1.tgz",
-            "integrity": "sha512-WEm2oBhfoI2sImeM4OF2zE2V3BYdSF+KnSi9Sidz51fQHd7+JuF8Xgcj9/0o+OWeIeIS/MiuNnlruQrJf16GQA==",
+            "version": "1.20.4",
+            "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.20.4.tgz",
+            "integrity": "sha512-0UtvRN79eMe2L+UNEF1BwRe364sj/DXhQ/k5FmivgoSdpM90b8Jc0mDzKMGo7QS0BVbOP/bTwBKNnDc9rNzaPA==",
             "dev": true,
             "requires": {
                 "call-bind": "^1.0.2",
                 "es-to-primitive": "^1.2.1",
                 "function-bind": "^1.1.1",
                 "function.prototype.name": "^1.1.5",
-                "get-intrinsic": "^1.1.1",
+                "get-intrinsic": "^1.1.3",
                 "get-symbol-description": "^1.0.0",
                 "has": "^1.0.3",
                 "has-property-descriptors": "^1.0.0",
                 "has-symbols": "^1.0.3",
                 "internal-slot": "^1.0.3",
-                "is-callable": "^1.2.4",
+                "is-callable": "^1.2.7",
                 "is-negative-zero": "^2.0.2",
                 "is-regex": "^1.1.4",
                 "is-shared-array-buffer": "^1.0.2",
                 "is-string": "^1.0.7",
                 "is-weakref": "^1.0.2",
-                "object-inspect": "^1.12.0",
+                "object-inspect": "^1.12.2",
                 "object-keys": "^1.1.1",
-                "object.assign": "^4.1.2",
+                "object.assign": "^4.1.4",
                 "regexp.prototype.flags": "^1.4.3",
+                "safe-regex-test": "^1.0.0",
                 "string.prototype.trimend": "^1.0.5",
                 "string.prototype.trimstart": "^1.0.5",
                 "unbox-primitive": "^1.0.2"
             }
         },
         "express": {
-            "version": "4.18.1",
-            "resolved": "https://registry.npmjs.org/express/-/express-4.18.1.tgz",
-            "integrity": "sha512-zZBcOX9TfehHQhtupq57OF8lFZ3UZi08Y97dwFCkD8p9d/d2Y3M+ykKcwaMDEL+4qyUolgBDX6AblpR3fL212Q==",
+            "version": "4.18.2",
+            "resolved": "https://registry.npmjs.org/express/-/express-4.18.2.tgz",
+            "integrity": "sha512-5/PsL6iGPdfQ/lKM1UuielYgv3BUoJfz1aUwU9vHZ+J7gyvwdQXFEBIEIaxeGf0GIcreATNyBExtalisDbuMqQ==",
             "dev": true,
             "requires": {
                 "accepts": "~1.3.8",
                 "array-flatten": "1.1.1",
-                "body-parser": "1.20.0",
+                "body-parser": "1.20.1",
                 "content-disposition": "0.5.4",
                 "content-type": "~1.0.4",
                 "cookie": "0.5.0",
                 "parseurl": "~1.3.3",
                 "path-to-regexp": "0.1.7",
                 "proxy-addr": "~2.0.7",
-                "qs": "6.10.3",
+                "qs": "6.11.0",
                 "range-parser": "~1.2.1",
                 "safe-buffer": "5.2.1",
                 "send": "0.18.0",
             }
         },
         "ext": {
-            "version": "1.6.0",
-            "resolved": "https://registry.npmjs.org/ext/-/ext-1.6.0.tgz",
-            "integrity": "sha512-sdBImtzkq2HpkdRLtlLWDa6w4DX22ijZLKx8BMPUuKe1c5lbN6xwQDQCxSfxBQnHZ13ls/FH0MQZx/q/gr6FQg==",
+            "version": "1.7.0",
+            "resolved": "https://registry.npmjs.org/ext/-/ext-1.7.0.tgz",
+            "integrity": "sha512-6hxeJYaL110a9b5TEJSj0gojyHQAmA2ch5Os+ySCiA1QGdS697XWY1pzsrSjqA9LDEEgdB/KypIlR59RcLuHYw==",
             "dev": true,
             "requires": {
-                "type": "^2.5.0"
+                "type": "^2.7.2"
             },
             "dependencies": {
                 "type": {
             "integrity": "sha512-uzk64HRpUZyTGZtVuvrjP0FYxzQrBf4rojot6J65YMEbwBLB0CWm0CLojVpwpmFmxcE/lkvYICgfcGozbBq6rw==",
             "dev": true
         },
+        "file-uri-to-path": {
+            "version": "1.0.0",
+            "resolved": "https://registry.npmjs.org/file-uri-to-path/-/file-uri-to-path-1.0.0.tgz",
+            "integrity": "sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw==",
+            "dev": true,
+            "optional": true
+        },
         "fill-range": {
             "version": "4.0.0",
             "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz",
             "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz",
             "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw=="
         },
+        "fsevents": {
+            "version": "1.2.13",
+            "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-1.2.13.tgz",
+            "integrity": "sha512-oWb1Z6mkHIskLzEJ/XWX0srkpkTQ7vaopMQkyaEIoq0fmtFVxOthb8cCxeT+p3ynTdkk/RZwbgG4brR5BeWECw==",
+            "dev": true,
+            "optional": true,
+            "requires": {
+                "bindings": "^1.5.0",
+                "nan": "^2.12.1"
+            }
+        },
         "function-bind": {
             "version": "1.1.1",
             "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz",
             "dev": true
         },
         "get-intrinsic": {
-            "version": "1.1.2",
-            "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.1.2.tgz",
-            "integrity": "sha512-Jfm3OyCxHh9DJyc28qGk+JmfkpO41A4XkneDSujN9MDXrm4oDKdHvndhZ2dN94+ERNfkYJWDclW6k2L/ZGHjXA==",
+            "version": "1.1.3",
+            "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.1.3.tgz",
+            "integrity": "sha512-QJVz1Tj7MS099PevUG5jvnt9tSkXN8K14dxQlikJuPt4uD9hHAHjLyLBiLR5zELelBdD9QNRAXZzsJx0WaDL9A==",
             "dev": true,
             "requires": {
                 "function-bind": "^1.1.1",
             "dev": true
         },
         "gsap": {
-            "version": "3.11.0",
-            "resolved": "https://registry.npmjs.org/gsap/-/gsap-3.11.0.tgz",
-            "integrity": "sha512-TV5aFGqXht+0o/CelnhCikSe3QGeG+q1XA/fyFFsMzesILHgWgFWIz0NuXIgcMaL5h7MG2l+j0BTupS5YyYkrw==",
+            "version": "3.11.3",
+            "resolved": "https://registry.npmjs.org/gsap/-/gsap-3.11.3.tgz",
+            "integrity": "sha512-xc/iIJy+LWiMbRa4IdMtdnnKa/7PXEK6NNzV71gdOYUVeTZN7UWnLU0fB7Hi1iwiz4ZZoYkBZPPYGg+2+zzFHA==",
             "dev": true
         },
         "handle-thing": {
             "dev": true
         },
         "is-callable": {
-            "version": "1.2.4",
-            "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.4.tgz",
-            "integrity": "sha512-nsuwtxZfMX67Oryl9LCQ+upnC0Z0BgpwntpS89m1H/TLF0zNfzfLMV/9Wa/6MZsj0acpEjAO0KF1xT6ZdLl95w==",
+            "version": "1.2.7",
+            "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.7.tgz",
+            "integrity": "sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==",
             "dev": true
         },
         "is-color-stop": {
             }
         },
         "is-core-module": {
-            "version": "2.10.0",
-            "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.10.0.tgz",
-            "integrity": "sha512-Erxj2n/LDAZ7H8WNJXd9tw38GYM3dv8rk8Zcs+jJuxYTW7sozH+SS8NtrSjVL1/vpLvWi1hxy96IzjJ3EHTJJg==",
+            "version": "2.11.0",
+            "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.11.0.tgz",
+            "integrity": "sha512-RRjxlvLDkD1YJwDbroBHMb+cukurkDWNyHx7D3oNB5x9rb5ogcksMC5wHCadcXoo67gVr/+3GFySh3134zi6rw==",
             "dev": true,
             "requires": {
                 "has": "^1.0.3"
             "resolved": "https://registry.npmjs.org/jquery/-/jquery-3.6.1.tgz",
             "integrity": "sha512-opJeO4nCucVnsjiXOE+/PcCgYw9Gwpvs/a6B1LL/lQhwWwpbVEVYDZ1FokFr8PRc7ghYlrFPuyHuiiDNTQxmcw=="
         },
+        "jquery-contextmenu": {
+            "version": "2.9.2",
+            "resolved": "https://registry.npmjs.org/jquery-contextmenu/-/jquery-contextmenu-2.9.2.tgz",
+            "integrity": "sha512-6S6sH/08owDStC/7zNwcN366yR0ydX6PmMB0RnjLRQOp7Nc/rqwEHglshfHrrw2kdTev97GXwRXrayDUmToIOw==",
+            "requires": {
+                "jquery": "^3.5.0"
+            }
+        },
         "jquery.scrollto": {
             "version": "2.1.3",
             "resolved": "https://registry.npmjs.org/jquery.scrollto/-/jquery.scrollto-2.1.3.tgz",
             "dev": true
         },
         "loader-utils": {
-            "version": "2.0.2",
-            "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.2.tgz",
-            "integrity": "sha512-TM57VeHptv569d/GKh6TAYdzKblwDNiumOdkFnejjD0XwTH87K90w3O7AiJRqdQoXygvi1VQTJTLGhJl7WqA7A==",
+            "version": "2.0.3",
+            "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.3.tgz",
+            "integrity": "sha512-THWqIsn8QRnvLl0shHYVBN9syumU8pYWEHPTmkiVGd+7K5eFNVSY6AJhRvgGF70gg1Dz+l/k8WicvFCxdEs60A==",
             "dev": true,
             "requires": {
                 "big.js": "^5.2.2",
             }
         },
         "minimist": {
-            "version": "1.2.6",
-            "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.6.tgz",
-            "integrity": "sha512-Jsjnk4bw3YJqYzbdyBiNsPWHPfO++UGG749Cxs6peCu5Xg4nrena6OVxOYxrQTqww0Jmwt+Ref8rggumkTLz9Q==",
+            "version": "1.2.7",
+            "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.7.tgz",
+            "integrity": "sha512-bzfL1YUZsP41gmu/qjrEk0Q6i2ix/cVeAhbCbqH9u3zYutS1cLg00qhrD0M2MVdCcx4Sc0UpP2eBWo9rotpq6g==",
             "dev": true
         },
         "minimist-options": {
             "integrity": "sha512-cnAsSVxIDsYt0v7HmC0hWZFwwXSh+E6PgCrREDuN/EsjgLwA5XRmlMHhSiDPrt6HxY1gTivEa/Zh7GtODoLevQ==",
             "dev": true
         },
+        "nan": {
+            "version": "2.17.0",
+            "resolved": "https://registry.npmjs.org/nan/-/nan-2.17.0.tgz",
+            "integrity": "sha512-2ZTgtl0nJsO0KQCjEpxcIr5D+Yv90plTitZt9JBfQvVJDS5seMl3FOvsh3+9CoYWXf/1l5OaZzzF6nDm4cagaQ==",
+            "dev": true,
+            "optional": true
+        },
         "nanomatch": {
             "version": "1.2.13",
             "resolved": "https://registry.npmjs.org/nanomatch/-/nanomatch-1.2.13.tgz",
                     }
                 },
                 "semver": {
-                    "version": "7.3.7",
-                    "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.7.tgz",
-                    "integrity": "sha512-QlYTucUYOews+WeEujDoEGziz4K6c47V/Bd+LjSSYcA94p+DmINdf7ncaUinThfvZyu13lN9OY1XDxt8C0Tw0g==",
+                    "version": "7.3.8",
+                    "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.8.tgz",
+                    "integrity": "sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A==",
                     "dev": true,
                     "requires": {
                         "lru-cache": "^6.0.0"
                     }
                 },
                 "semver": {
-                    "version": "7.3.7",
-                    "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.7.tgz",
-                    "integrity": "sha512-QlYTucUYOews+WeEujDoEGziz4K6c47V/Bd+LjSSYcA94p+DmINdf7ncaUinThfvZyu13lN9OY1XDxt8C0Tw0g==",
+                    "version": "7.3.8",
+                    "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.8.tgz",
+                    "integrity": "sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A==",
                     "dev": true,
                     "requires": {
                         "lru-cache": "^6.0.0"
             "integrity": "sha512-U+JJi7duF1o+u2pynbp2zXDW2/PADgC30f0GsHZtRh+HOcXHnw137TrNlyxxRvWW5fjKd3bcLHPxofWuCjaeZg==",
             "dev": true
         },
+        "noty": {
+            "version": "3.2.0-beta-deprecated",
+            "resolved": "https://registry.npmjs.org/noty/-/noty-3.2.0-beta-deprecated.tgz",
+            "integrity": "sha512-ntRbHuQ9SnnnVFZm/oq5L1DBCaHQUvsU24AwZH3PGjAWx2YqR/IhOadMk11vmJovYiQo00oqTj6Hp+D6PGtmLA=="
+        },
         "npm-run-path": {
             "version": "2.0.2",
             "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-2.0.2.tgz",
             "dev": true
         },
         "puppeteer": {
-            "version": "17.0.0",
-            "resolved": "https://registry.npmjs.org/puppeteer/-/puppeteer-17.0.0.tgz",
-            "integrity": "sha512-T2rdzlPxnPezF218kywFP3O+0YI5/8Kl8riNUicGb+KuMyDTrqRjhSOSDp6coQ1T4QYPBARTFp4EMBepMOzAQA==",
+            "version": "17.1.3",
+            "resolved": "https://registry.npmjs.org/puppeteer/-/puppeteer-17.1.3.tgz",
+            "integrity": "sha512-tVtvNSOOqlq75rUgwLeDAEQoLIiBqmRg0/zedpI6fuqIocIkuxG23A7FIl1oVSkuSMMLgcOP5kVhNETmsmjvPw==",
             "requires": {
                 "cross-fetch": "3.1.5",
                 "debug": "4.3.4",
-                "devtools-protocol": "0.0.1019158",
+                "devtools-protocol": "0.0.1036444",
                 "extract-zip": "2.0.1",
                 "https-proxy-agent": "5.0.1",
                 "progress": "2.0.3",
             "dev": true
         },
         "qs": {
-            "version": "6.10.3",
-            "resolved": "https://registry.npmjs.org/qs/-/qs-6.10.3.tgz",
-            "integrity": "sha512-wr7M2E0OFRfIfJZjKGieI8lBKb7fRCH4Fv5KNPEs7gJ8jadvotdsS08PzOKR7opXhZ/Xkjtt3WF9g38drmyRqQ==",
+            "version": "6.11.0",
+            "resolved": "https://registry.npmjs.org/qs/-/qs-6.11.0.tgz",
+            "integrity": "sha512-MvjoMCJwEarSbUYk5O+nmoSzSutSsTwF85zcHPQ9OrlFoZOYIjaqBAJIqIXjptyD5vThxGq52Xu/MaJzRkIk4Q==",
             "dev": true,
             "requires": {
                 "side-channel": "^1.0.4"
             "dev": true
         },
         "regenerate-unicode-properties": {
-            "version": "10.0.1",
-            "resolved": "https://registry.npmjs.org/regenerate-unicode-properties/-/regenerate-unicode-properties-10.0.1.tgz",
-            "integrity": "sha512-vn5DU6yg6h8hP/2OkQo3K7uVILvY4iu0oI4t3HFa81UPkhGJwkRwM10JEc3upjdhHjs/k8GJY1sRBhk5sr69Bw==",
+            "version": "10.1.0",
+            "resolved": "https://registry.npmjs.org/regenerate-unicode-properties/-/regenerate-unicode-properties-10.1.0.tgz",
+            "integrity": "sha512-d1VudCLoIGitcU/hEg2QqvyGZQmdC0Lf8BqdOMXGFSvJP4bNV1+XqbPQeHHLD51Jh4QJJ225dlIFvY4Ly6MXmQ==",
             "dev": true,
             "requires": {
                 "regenerate": "^1.4.2"
             }
         },
         "regenerator-runtime": {
-            "version": "0.13.9",
-            "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.9.tgz",
-            "integrity": "sha512-p3VT+cOEgxFsRRA9X4lkI1E+k2/CtnKtU4gcxyaCUreilL/vqI6CdZ3wxVUx3UOUg+gnUOQQcRI7BmSI656MYA==",
+            "version": "0.13.10",
+            "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.10.tgz",
+            "integrity": "sha512-KepLsg4dU12hryUO7bp/axHAKvwGOCV0sGloQtpagJ12ai+ojVDqkeGSiRX1zlq+kjIMZ1t7gpze+26QqtdGqw==",
             "dev": true
         },
         "regenerator-transform": {
             }
         },
         "regexpu-core": {
-            "version": "5.1.0",
-            "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-5.1.0.tgz",
-            "integrity": "sha512-bb6hk+xWd2PEOkj5It46A16zFMs2mv86Iwpdu94la4S3sJ7C973h2dHpYKwIBGaWSO7cIRJ+UX0IeMaWcO4qwA==",
+            "version": "5.2.1",
+            "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-5.2.1.tgz",
+            "integrity": "sha512-HrnlNtpvqP1Xkb28tMhBUO2EbyUHdQlsnlAhzWcwHy8WJR53UWr7/MAvqrsQKMbV4qdpv03oTMG8iIhfsPFktQ==",
             "dev": true,
             "requires": {
                 "regenerate": "^1.4.2",
-                "regenerate-unicode-properties": "^10.0.1",
-                "regjsgen": "^0.6.0",
-                "regjsparser": "^0.8.2",
+                "regenerate-unicode-properties": "^10.1.0",
+                "regjsgen": "^0.7.1",
+                "regjsparser": "^0.9.1",
                 "unicode-match-property-ecmascript": "^2.0.0",
                 "unicode-match-property-value-ecmascript": "^2.0.0"
             }
         },
         "regjsgen": {
-            "version": "0.6.0",
-            "resolved": "https://registry.npmjs.org/regjsgen/-/regjsgen-0.6.0.tgz",
-            "integrity": "sha512-ozE883Uigtqj3bx7OhL1KNbCzGyW2NQZPl6Hs09WTvCuZD5sTI4JY58bkbQWa/Y9hxIsvJ3M8Nbf7j54IqeZbA==",
+            "version": "0.7.1",
+            "resolved": "https://registry.npmjs.org/regjsgen/-/regjsgen-0.7.1.tgz",
+            "integrity": "sha512-RAt+8H2ZEzHeYWxZ3H2z6tF18zyyOnlcdaafLrm21Bguj7uZy6ULibiAFdXEtKQY4Sy7wDTwDiOazasMLc4KPA==",
             "dev": true
         },
         "regjsparser": {
-            "version": "0.8.4",
-            "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.8.4.tgz",
-            "integrity": "sha512-J3LABycON/VNEu3abOviqGHuB/LOtOQj8SKmfP9anY5GfAVw/SPjwzSjxGjbZXIxbGfqTHtJw58C2Li/WkStmA==",
+            "version": "0.9.1",
+            "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.9.1.tgz",
+            "integrity": "sha512-dQUtn90WanSNl+7mQKcXAgZxvUe7Z0SqXlgzv0za4LwiUhyzBC58yQO3liFoUgu8GiJVInAhJjkj1N0EtQ5nkQ==",
             "dev": true,
             "requires": {
                 "jsesc": "~0.5.0"
                 "ret": "~0.1.10"
             }
         },
+        "safe-regex-test": {
+            "version": "1.0.0",
+            "resolved": "https://registry.npmjs.org/safe-regex-test/-/safe-regex-test-1.0.0.tgz",
+            "integrity": "sha512-JBUUzyOgEwXQY1NuPtvcj/qcBDbDmEvWufhlnXZIm75DEHp+afM1r1ujJpJsV/gSM4t59tpDyPi1sd6ZaPFfsA==",
+            "dev": true,
+            "requires": {
+                "call-bind": "^1.0.2",
+                "get-intrinsic": "^1.1.3",
+                "is-regex": "^1.1.4"
+            }
+        },
         "safer-buffer": {
             "version": "2.1.2",
             "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz",
             "dev": true
         },
         "sass": {
-            "version": "1.54.6",
-            "resolved": "https://registry.npmjs.org/sass/-/sass-1.54.6.tgz",
-            "integrity": "sha512-DUqJjR2WxXBcZjRSZX5gCVyU+9fuC2qDfFzoKX9rV4rCOcec5mPtEafTcfsyL3YJuLONjWylBne+uXVh5rrmFw==",
+            "version": "1.55.0",
+            "resolved": "https://registry.npmjs.org/sass/-/sass-1.55.0.tgz",
+            "integrity": "sha512-Pk+PMy7OGLs9WaxZGJMn7S96dvlyVBwwtToX895WmCpAOr5YiJYEUJfiJidMuKb613z2xNWcXCHEuOvjZbqC6A==",
             "dev": true,
             "requires": {
                 "chokidar": ">=3.0.0 <4.0.0",
                         "to-regex-range": "^5.0.1"
                     }
                 },
+                "fsevents": {
+                    "version": "2.3.2",
+                    "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz",
+                    "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==",
+                    "dev": true,
+                    "optional": true
+                },
                 "glob-parent": {
                     "version": "5.1.2",
                     "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz",
             "integrity": "sha512-mEugaLK+YfkijB4fx0e6kImuJdCIt2LxCRcbEYPqRGCs4F2ogyfZU5IAZRdjCP8JPq2AtdNoC/Dux63d9Kiryg==",
             "dev": true
         },
+        "select2": {
+            "version": "4.1.0-rc.0",
+            "resolved": "https://registry.npmjs.org/select2/-/select2-4.1.0-rc.0.tgz",
+            "integrity": "sha512-Hr9TdhyHCZUtwznEH2CBf7967mEM0idtJ5nMtjvk3Up5tPukOLXbHUNmh10oRfeNIhj+3GD3niu+g6sVK+gK0A=="
+        },
+        "select2-bootstrap-theme": {
+            "version": "0.1.0-beta.10",
+            "resolved": "https://registry.npmjs.org/select2-bootstrap-theme/-/select2-bootstrap-theme-0.1.0-beta.10.tgz",
+            "integrity": "sha512-gc9Y9yNjkGRqeFmI/pAKyL4maMKH9VKAn62E+uF/hxz8FTmfuKH0sDEGhFhk3f8Jp+emtsDdK1c1nb6S51BV0Q=="
+        },
         "selfsigned": {
             "version": "1.10.14",
             "resolved": "https://registry.npmjs.org/selfsigned/-/selfsigned-1.10.14.tgz",
             "dev": true
         },
         "unicode-property-aliases-ecmascript": {
-            "version": "2.0.0",
-            "resolved": "https://registry.npmjs.org/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-2.0.0.tgz",
-            "integrity": "sha512-5Zfuy9q/DFr4tfO7ZPeVXb1aPoeQSdeFMLpYuFebehDAhbuevLs5yxSZmIFN1tP5F9Wl4IpJrYojg85/zgyZHQ==",
+            "version": "2.1.0",
+            "resolved": "https://registry.npmjs.org/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-2.1.0.tgz",
+            "integrity": "sha512-6t3foTQI9qne+OZoVQB/8x8rk2k1eVy1gRXhV3oFQ5T6R1dqQ1xtin3XqSlx3+ATBkliTaR/hHyJBm+LVPNM8w==",
             "dev": true
         },
         "union-value": {
             "dev": true
         },
         "update-browserslist-db": {
-            "version": "1.0.5",
-            "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.5.tgz",
-            "integrity": "sha512-dteFFpCyvuDdr9S/ff1ISkKt/9YZxKjI9WlRR99c180GaztJtRa/fn18FdxGVKVsnPY7/a/FDN68mcvUmP4U7Q==",
+            "version": "1.0.10",
+            "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.10.tgz",
+            "integrity": "sha512-OztqDenkfFkbSG+tRxBeAnCVPckDBcvibKd35yDONx6OU8N7sqgwc7rCbkJ/WcYtVRZ4ba68d6byhC21GFh7sQ==",
             "dev": true,
             "requires": {
                 "escalade": "^3.1.1",
             }
         },
         "vue-template-compiler": {
-            "version": "2.7.10",
-            "resolved": "https://registry.npmjs.org/vue-template-compiler/-/vue-template-compiler-2.7.10.tgz",
-            "integrity": "sha512-QO+8R9YRq1Gudm8ZMdo/lImZLJVUIAM8c07Vp84ojdDAf8HmPJc7XB556PcXV218k2AkKznsRz6xB5uOjAC4EQ==",
+            "version": "2.7.13",
+            "resolved": "https://registry.npmjs.org/vue-template-compiler/-/vue-template-compiler-2.7.13.tgz",
+            "integrity": "sha512-jYM6TClwDS9YqP48gYrtAtaOhRKkbYmbzE+Q51gX5YDr777n7tNI/IZk4QV4l/PjQPNh/FVa/E92sh/RqKMrog==",
             "dev": true,
             "requires": {
                 "de-indent": "^1.0.2",
                         "to-regex-range": "^5.0.1"
                     }
                 },
+                "fsevents": {
+                    "version": "2.3.2",
+                    "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz",
+                    "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==",
+                    "dev": true,
+                    "optional": true
+                },
                 "glob-parent": {
                     "version": "5.1.2",
                     "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz",
                     }
                 },
                 "fast-glob": {
-                    "version": "3.2.11",
-                    "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.11.tgz",
-                    "integrity": "sha512-xrO3+1bxSo3ZVHAnqzyuewYT6aMFHRAd4Kcs92MAonjwQZLsK9d0SF1IyQ3k5PoirxTW0Oe/RqFgMQ6TcNE5Ew==",
+                    "version": "3.2.12",
+                    "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.12.tgz",
+                    "integrity": "sha512-DVj4CQIYYow0BlaelwK1pHl5n5cRSJfM60UA0zK891sVInoPri2Ekj7+e1CT3/3qxXenpI+nBBmQAcJPJgaj4w==",
                     "dev": true,
                     "requires": {
                         "@nodelib/fs.stat": "^2.0.2",
                         "to-regex-range": "^5.0.1"
                     }
                 },
+                "fsevents": {
+                    "version": "2.3.2",
+                    "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz",
+                    "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==",
+                    "dev": true,
+                    "optional": true,
+                    "peer": true
+                },
                 "glob-parent": {
                     "version": "5.1.2",
                     "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz",
index f215d00343f2a1940abe7370b28601e7f17f931b..50e2d0c8ca56bf9b88f576509c273a8662e47ecd 100644 (file)
     },
     "dependencies": {
         "command-line-args": "^5.2.1",
+        "jquery-contextmenu": "^2.9.2",
         "jquery.scrollto": "^2.1.3",
         "keymaster": "^1.6.2",
         "lz4js": "^0.2.0",
+        "noty": "^3.2.0-beta-deprecated",
         "pako": "^2.0.4",
         "pdfjs-dist": "^2.14.305",
         "pipwerks-scorm-api-wrapper": "^0.1.2",
         "plyr": "^3.7.2",
         "puppeteer": "^17.0.0",
+        "select2": "^4.1.0-rc.0",
+        "select2-bootstrap-theme": "^0.1.0-beta.10",
         "tippy.js": "^6.3.7"
     }
 }
diff --git a/resources/linkeditor/js/linkeditor.form.js b/resources/linkeditor/js/linkeditor.form.js
new file mode 100644 (file)
index 0000000..bb4d283
--- /dev/null
@@ -0,0 +1,30 @@
+function LinkeditorForm(linkeditor) {
+    this.linkeditor = linkeditor;
+
+}
+
+LinkeditorForm.prototype = {
+    initSelect2: function () {
+        // trigger select2 for each untriggered select2 box
+        $('#linkeditor-panel-form .select2_from_array:not(.init)').each(function (i, obj) {
+            var options = {
+                theme: "bootstrap",
+            };
+            if ($(this).is('[data-ajax]')) {
+                options.ajax = {
+                    url: 'select2/' + $(this).data('ajax'),
+                    dataType: 'json',
+                    delay: 250,
+                };
+            }
+            if ($(this).is('[data-allow-html="1"]')) {
+                options.escapeMarkup = function (m) {
+                    return m;
+                }
+            }
+            $(obj).addClass('init').select2(options);
+        });
+    },
+
+};
+module.exports = LinkeditorForm;
index a35d050fa69129a779996a41b7b25b16b1f087b4..6434454ad96ae852bc1338e0b0baa48af90ba01a 100644 (file)
@@ -1,5 +1,10 @@
 import tippy from 'tippy.js';
 import 'tippy.js/dist/tippy.css';
+
+import Noty from "noty";
+import 'noty/lib/noty.css';
+import 'noty/lib/themes/mint.css';
+
 import LinkeditorLinks from './linkeditor.links';
 import LinkeditorLoader from './linkeditor.loader';
 import LinkeditorResize from './linkeditor.resize';
@@ -10,13 +15,19 @@ import LinkeditorZoom from './linkeditor.zoom';
 import LinkeditorSave from './linkeditor.save';
 import LinkeditorSettings from './linkeditor.settings';
 import LinkeditorPanels from './linkeditor.panels';
+import LinkeditorForm from './linkeditor.form';
 
 window.$ = window.jQuery = require('jquery');
 window.key = require('keymaster');
 window.tippy = tippy;
+window.Noty = Noty;
 require('jquery.scrollto');
 require('jquery-contextmenu');
 
+require('select2');
+import 'select2/dist/css/select2.css';
+import 'select2-bootstrap-theme/dist/select2-bootstrap.css';
+
 $.ajaxSetup({
     headers: {
         'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content')
@@ -54,6 +65,7 @@ LinkEditor.prototype = {
         this.loader = new LinkeditorLoader(this);
         this.save = new LinkeditorSave(this);
         this.panels = new LinkeditorPanels(this);
+        this.form = new LinkeditorForm(this);
         this.settings = new LinkeditorSettings(this);
 
         this.initEvents();
@@ -355,3 +367,4 @@ $(function () {
         return old.apply(this, arguments);
     };
 })($.fn.attr);
+
index 282a840adc8fa244bfdedaef21c6d680a266ce16..d10b48e8303e5e0a959f3b1fed491f18f4ad1363 100644 (file)
@@ -302,13 +302,19 @@ LinkeditorLinks.prototype = {
         if (links.length != 1) {
             return;
         }
-        console.log(links);
         var link = $(links).eq(0);
         var type = $(link).attr('fb-type');
-        var form = $("#linkeditor-form-template-" + type).clone();
+        var form = $("#linkeditor-form-template-" + type).clone(false);
         $(form).attr('id', null);
         container.append(form);
-        console.log(form);
+
+        // Reset select2 fields
+        $(form).find('select.select2_from_array.init').each(function () {
+            console.log(this);
+            $(this).removeClass('init');
+        });
+
+        this.linkeditor.form.initSelect2();
     },
 
     checkLastSelectedLink: function () {
index 4e1f1cbd26a97823390f61a528769318d64e4301..072301e20b89eda6f5153a79f92f7d3cc7f6dad1 100644 (file)
@@ -35,13 +35,16 @@ LinkeditorSave.prototype = {
         if (message === undefined) {
             message = TRANSLATIONS.manual_save_message;
         }
+        var notificationTimeout=5000;
         $.ajax({
             url: '/fluidbook-publication/' + FLUIDBOOK_DATA.id + '/save/links', method: 'post', data: {
                 _method: 'put', 'message': message, rulers: window.RULERS, links: window.LINKS,
             },
             success: function (data) {
                 new Noty({
-                    type: "success", text: TRANSLATIONS.success_save,
+                    type: "success",
+                    text: TRANSLATIONS.success_save,
+                    timeout: notificationTimeout,
                 }).show();
                 clearTimeout($this.automaticSaveTimeout);
                 $this.unsavedChanges = false;
@@ -50,7 +53,9 @@ LinkeditorSave.prototype = {
             error: function (jqXHR, status, error) {
                 $this.linkeditor.hasChanged();
                 new Noty({
-                    type: "error", text: TRANSLATIONS.error_save + ' : ' + error,
+                    type: "error",
+                    text: TRANSLATIONS.error_save + ' : ' + error,
+                    timeout: notificationTimeout,
                 }).show();
             },
         });
index f707ade68269551dafc606e6c2287d821e012a71..ccd989981d1df0f53dc1a73b3679055b5fad90dd 100644 (file)
@@ -1,3 +1,4 @@
+@import url('https://fonts.googleapis.com/css2?family=Montserrat:ital,wght@0,100;0,200;0,300;0,400;0,500;0,600;0,700;0,800;0,900;1,100;1,200;1,300;1,400;1,500;1,600;1,700;1,800;1,900&display=swap')
 @import "variables"
 
 *
@@ -6,6 +7,7 @@
     box-sizing: border-box
 
 body
+    font-family: "Montserrat", sans-serif
     background-color: #ebecee
     @media (prefers-color-scheme: dark)
         background-color: #333
index 3495b341b0ed622c3436a122b52e646fbaa3b05c..774b76a8f186ccb8e30ebb509838f58b207f11c4 100644 (file)
@@ -23,7 +23,7 @@
         $settings[$k]=$user->getToolboxSetting('linkeditor_'.$k,$v);
     }
 @endphp
-@extends('layouts.empty')
+@extends('layouts.linkeditor')
 
 @section('content')
     @include('fluidbook_publication.link_editor_icons')
     <div id="linkeditor-preload"></div>
     <div id="linkeditor-form-templates">
         @foreach(\App\SubForms\Link\Base::types() as $f)
-            @if(isset($f['disabled']) && $f['disabled'])
+            @if(!isset($f['class']) || (isset($f['disabled']) && $f['disabled']))
                 @continue;
             @endif
             @php
     </div>
 @endsection
 
-@push('after_scripts')
+@push('linkeditor_scripts')
     <script>
         var TRANSLATIONS = @json($translations);
         var FLUIDBOOK_DATA = @json($fbdata);
     <script
         src="/packages/linkeditor/js/linkeditor.js?v={{filemtime(public_path('packages/linkeditor/js/linkeditor.js'))}}"></script>
 @endpush
-@push('after_styles')
+@push('linkeditor_styles')
+    <script>window._skipAutoTriggers = true;</script>
     <style>
         @foreach(\App\SubForms\Link\Base::types() as $type)
-        .link[fb-type="{{$type['type']}}"] {
-            color: {{$type['color']}};
-            background-color: {{\Cubist\Util\Graphics\Color::colorToCSS($type['color'],0.25)}};
-        }
-        .linkeditor-linktype[data-type="{{$type['type']}}"]::before{
-            background-color: {{$type['color']}};
-        }
+            @if(isset($type['color']))
+            .link[fb-type="{{$type['type']}}"] {
+                color: {{$type['color']}};
+                background-color: {{\Cubist\Util\Graphics\Color::colorToCSS($type['color'],0.25)}};
+            }
+
+            .linkeditor-linktype[data-type="{{$type['type']}}"]::before {
+                background-color: {{$type['color']}};
+            }
+            @endif
         @endforeach
     </style>
     <link rel="stylesheet"
index c8d4e6eaac4a56e735fdd724a4301c22f436d476..77550ba3749ed3589ea3964d71721909addbef5e 100644 (file)
@@ -8,7 +8,7 @@
                 <path id="Tracé_36" data-name="Tracé 36" d="M9.286,15.1a.658.658,0,1,1-.658-.658.659.659,0,0,1,.658.658" fill="currentColor"/>
             </g>
         </symbol><symbol id="linkeditor-wayback-machine" viewBox="0 0 20 20"><g fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.429"><path d="m.714 10a9.285 9.285 0 1 0 9.286-9.286 10.331 10.331 0 0 0 -7.143 2.857"/><path d="m3.571.714-.714 2.857 2.857.714"/><path d="m10 5v5.714l-3.714 1.857"/></g></symbol><symbol id="linkeditor-tooltip" viewBox="0 0 21.667 17.846"><g fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.429"><path d="m0 0h20.238" transform="translate(.715 17.131)"/><path d="m13.463 11.9-2.63 2.63-2.633-2.63h-2.958a1.316 1.316 0 0 1 -1.316-1.316v-8.554a1.316 1.316 0 0 1 1.316-1.316h11.183a1.316 1.316 0 0 1 1.316 1.316v8.552a1.316 1.316 0 0 1 -1.316 1.318z"/></g></symbol><symbol id="linkeditor-search" viewBox="0 0 20.322 16.684"><g fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.429"><path d="m17.571 11.417a.4.4 0 1 0 .211-.763l-7.81-5.354a.791.791 0 0 0 -1.237.7l.61 9.473a.4.4 0 1 0 .762.211l2.722-3.893z"/><path d="m8.029 7.509h-6.42a.894.894 0 0 1 -.894-.894v-5.007a.894.894 0 0 1 .894-.894h17.105a.894.894 0 0 1 .894.894v5.007a.894.894 0 0 1 -.894.894h-5.314"/></g></symbol><symbol id="linkeditor-archives" viewBox="0 0 19.851 20"><g fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.429"><path d="m.714 0h3.571a.715.715 0 0 1 .715.715v17.142a.714.714 0 0 1 -.714.714h-3.572a.714.714 0 0 1 -.714-.714v-17.143a.714.714 0 0 1 .714-.714z" transform="translate(.715 .714)"/><path d="m.714 0h3.571a.715.715 0 0 1 .715.715v14.285a.714.714 0 0 1 -.714.714h-3.572a.714.714 0 0 1 -.714-.714v-14.286a.714.714 0 0 1 .714-.714z" transform="translate(5.715 3.571)"/><path d="m.714 0h2.857a.715.715 0 0 1 .715.715v14.285a.714.714 0 0 1 -.714.714h-2.858a.714.714 0 0 1 -.714-.714v-14.286a.714.714 0 0 1 .714-.714z" transform="matrix(.97005881 -.24287013 .24287013 .97005881 11.315 4.048)"/><path d="m0 0h5" transform="translate(.714 14.286)"/><path d="m0 0h5" transform="translate(5.714 12.857)"/><path d="m0 1.029 4.114-1.029" transform="translate(14.286 14.685)"/></g></symbol><symbol id="linkeditor-layers" viewBox="0 0 20 19.997"><g fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.429"><path d="m10.671 9.854a1.686 1.686 0 0 1 -1.343 0l-8.143-3.771a.8.8 0 0 1 0-1.429l8.143-3.8a1.686 1.686 0 0 1 1.343 0l8.143 3.771a.8.8 0 0 1 0 1.429z"/><path d="m19.286 10.5-8.714 4.014a1.427 1.427 0 0 1 -1.186 0l-8.671-4.014"/><path d="m19.286 15.14-8.714 4.014a1.427 1.427 0 0 1 -1.186 0l-8.671-4.014"/></g></symbol><symbol id="linkeditor-copy" viewBox="0 0 20 20"><g fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.429"><rect height="15" rx="1.429" width="15" x="4.286" y="4.286"/><path d="m.714 15v-12.857a1.429 1.429 0 0 1 1.429-1.429h12.857"/></g></symbol><symbol id="linkeditor-link" viewBox="0 0 19.974 20.017"><g fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.429"><path d="m5.723 9.28-4.586 4.543a1.428 1.428 0 0 0 -.008 2.02l.008.008 3.029 3.029a1.428 1.428 0 0 0 2.02.008l.008-.008 4.543-4.586"/><path d="m14.294 10.737 4.543-4.543a1.428 1.428 0 0 0 .008-2.02l-.008-.008-2.986-3.029a1.428 1.428 0 0 0 -2.02-.008l-.008.008-4.543 4.586"/><path d="m5.714 0-5.714 5.714" transform="translate(7.151 7.151)"/></g></symbol><symbol id="linkeditor-import-links" viewBox="0 0 19.8 20"><g fill="currentColor"><path d="m5.1 20c-.6 0-1.1-.2-1.5-.6l-3-3c-.4-.4-.6-.9-.6-1.5s.2-1.1.6-1.5l4.6-4.5c.3-.3.7-.3 1 0s.3.7 0 1l-4.6 4.5c-.1.1-.2.3-.2.5s.1.4.2.5l3 3c.1.1.3.2.5.2s.4-.1.5-.2l4.5-4.6c.3-.3.7-.3 1 0s.3.7 0 1l-4.5 4.6c-.4.4-.9.6-1.5.6z"/><path d="m14.2 11.4c-.2 0-.4-.1-.5-.2-.3-.3-.3-.7 0-1l4.5-4.5c.1-.1.2-.3.2-.5s-.1-.4-.2-.5l-3-3c-.1-.1-.4-.2-.5-.2-.2 0-.4.1-.5.2l-4.5 4.6c-.3.3-.7.3-1 0s-.3-.7 0-1l4.5-4.6c.4-.4 1-.6 1.5-.6.6 0 1.1.2 1.5.6l3 3c.4.4.6.9.6 1.5s-.2 1.1-.6 1.5l-4.5 4.5c-.1.2-.3.2-.5.2z"/><path d="m7.1 13.6c-.2 0-.4-.1-.5-.2-.3-.3-.3-.7 0-1l5.7-5.7c.3-.3.7-.3 1 0s.3.7 0 1l-5.7 5.7c-.1.1-.3.2-.5.2z"/><path d="m6.4 3.9h-5.7c-.4 0-.7-.3-.7-.7s.3-.7.7-.7h5.7c.4 0 .7.3.7.7s-.4.7-.7.7z"/><path d="m4.6 6.4c-.2 0-.4-.1-.5-.2-.3-.3-.3-.7 0-1l2-2-2-2c-.3-.3-.3-.7 0-1s.7-.3 1 0l2.5 2.5c.3.3.3.7 0 1l-2.5 2.5c-.1.1-.3.2-.5.2z"/></g></symbol><symbol id="linkeditor-export-links" viewBox="0 0 20 20"><g fill="currentColor"><path d="m5.1 20c-.6 0-1.1-.2-1.5-.6l-3-3c-.8-.8-.8-2.2 0-3l4.6-4.5c.3-.3.7-.3 1 0s.3.7 0 1l-4.6 4.5c-.3.3-.3.7 0 1l3 3c.1.1.3.2.5.2s.4-.1.5-.2l4.5-4.6c.3-.3.7-.3 1 0s.3.7 0 1l-4.5 4.6c-.4.4-.9.6-1.5.6z"/><path d="m14.3 11.4c-.2 0-.4-.1-.5-.2-.3-.3-.3-.7 0-1l4.5-4.5c.1-.1.2-.3.2-.5s-.1-.4-.2-.5l-3-3c-.1-.1-.3-.2-.5-.2s-.4.1-.5.2l-4.5 4.6c-.3.3-.7.3-1 0s-.3-.7 0-1l4.5-4.6s0 0 .1-.1c.4-.4.9-.6 1.5-.6s1.1.2 1.5.6l3 3c.4.4.6 1 .6 1.5 0 .6-.2 1.1-.6 1.5l-4.5 4.5c-.3.3-.5.3-.6.3z"/><path d="m7.1 13.6c-.2 0-.4-.1-.5-.2-.3-.3-.3-.7 0-1l5.7-5.7c.3-.3.7-.3 1 0s.3.7 0 1l-5.7 5.7c-.1.1-.3.2-.5.2z"/><path d="m18.5 17.5h-5.7c-.4 0-.7-.3-.7-.7s.3-.7.7-.7h5.7c.4 0 .7.3.7.7s-.3.7-.7.7z"/><path d="m16.8 20c-.2 0-.4-.1-.5-.2-.3-.3-.3-.7 0-1l2-2-2-2c-.3-.3-.3-.7 0-1s.7-.3 1 0l2.5 2.5c.3.3.3.7 0 1l-2.5 2.5c-.2.1-.3.2-.5.2z"/></g></symbol><symbol id="linkeditor-merge-links" viewBox="0 0 20 20"><g fill="currentColor"><path d="m5.2 20c-.6 0-1.1-.2-1.5-.6l-3-3c-.5-.5-.7-1-.7-1.6s.2-1.1.6-1.5l4.6-4.5c.3-.3.7-.3 1 0s.3.7 0 1l-4.6 4.5c-.1.1-.2.3-.2.5s.1.4.2.5l3 3c.3.3.7.3 1 0l4.5-4.6c.3-.3.7-.3 1 0s.3.7 0 1l-4.5 4.6c-.3.5-.9.7-1.4.7z"/><path d="m14.3 11.5c-.2 0-.4-.1-.5-.2-.3-.3-.3-.7 0-1l4.5-4.5c.3-.3.3-.7 0-1l-3-3c-.1-.1-.3-.2-.5-.2s-.4.1-.5.2l-4.5 4.4c-.3.3-.7.3-1 0s-.3-.7 0-1l4.5-4.6c.4-.4.9-.6 1.6-.6.6 0 1.1.2 1.5.6l3 3c.8.8.8 2.2 0 3l-4.5 4.5c-.2.3-.4.4-.6.4z"/><path d="m7.2 13.6c-.2 0-.4-.1-.5-.2-.3-.3-.3-.7 0-1l5.7-5.7c.3-.3.7-.3 1 0s.3.7 0 1l-5.7 5.7c-.2.1-.4.2-.5.2z"/><path d="m6.4 4.3h-5.7c-.4 0-.7-.3-.7-.7s.3-.7.7-.7h5.7c.4 0 .7.3.7.7s-.3.7-.7.7z"/><path d="m3.6 7.2c-.4 0-.7-.3-.7-.7v-5.8c0-.4.3-.7.7-.7s.7.3.7.7v5.7c0 .4-.3.8-.7.8z"/></g></symbol><symbol id="linkeditor-move-links" viewBox="0 0 20 20"><g fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.429"><g transform="translate(-361.274 -372.18)"><path d="m367 381.5-4.6 4.5c-.6.6-.6 1.5 0 2l3 3c.6.6 1.5.6 2 0l4.5-4.6"/><path d="m375.6 382.9 4.5-4.5c.6-.6.6-1.5 0-2l-3-3c-.6-.6-1.5-.6-2 0l-4.5 4.6"/><path d="m374.1 379.3-5.7 5.7"/></g><path d="m2.526 5.32 4-4"/><path d="m2.126 2.32 1.4-1.4"/><path d="m17.526 14.72-4.1 4"/><path d="m17.826 17.72-1.4 1.4"/></g></symbol></svg></div>
-@push('after_scripts')
+@push('linkeditor_scripts')
     <script>
         function getSpriteIcon(icon, attrs, dimensions) {
             var a = [];
diff --git a/resources/views/layouts/linkeditor.blade.php b/resources/views/layouts/linkeditor.blade.php
new file mode 100644 (file)
index 0000000..f2ba37a
--- /dev/null
@@ -0,0 +1,25 @@
+<!DOCTYPE html>
+<html lang="{{ app()->getLocale() }}" dir="{{ config('backpack.base.html_direction') }}">
+<head>
+    <meta charset="utf-8">
+    <meta http-equiv="X-UA-Compatible" content="IE=edge">
+    <meta name="viewport" content="width=device-width, initial-scale=1.0, shrink-to-fit=no">
+    @if (config('backpack.base.meta_robots_content'))
+        <meta name="robots" content="{{ config('backpack.base.meta_robots_content', 'noindex, nofollow') }}">
+    @endif
+    <meta name="csrf-token"
+          content="{{ csrf_token() }}"/> {{-- Encrypted CSRF token for Laravel, in order for Ajax requests to work --}}
+    <title>{{ isset($title) ? $title.' :: '.config('backpack.base.project_name') : config('backpack.base.project_name') }}</title>
+    <link rel="preconnect" href="https://fonts.googleapis.com">
+    <link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
+    <link href="https://fonts.googleapis.com/css2?family=Open+Sans&display=swap" rel="stylesheet">
+    @yield('linkeditor_styles')
+    @stack('linkeditor_styles')
+</head>
+<body class="app flex-row align-items-center">
+@yield('header')
+@yield('content')
+@yield('linkeditor_scripts')
+@stack('linkeditor_scripts')
+</body>
+</html>