├── .gitignore ├── .travis.yml ├── LICENSE ├── README.md ├── package.json ├── project.clj ├── src └── akiroz │ └── re_frame │ └── storage.cljs ├── test └── akiroz │ └── re_frame │ ├── storage_runner.cljs │ └── storage_tests.cljs └── yarn.lock /.gitignore: -------------------------------------------------------------------------------- 1 | pom.xml 2 | pom.xml.asc 3 | *jar 4 | /lib/ 5 | /classes/ 6 | /target/ 7 | /checkouts/ 8 | .lein-deps-sum 9 | .lein-repl-history 10 | .lein-plugins/ 11 | .lein-failures 12 | .nrepl-port 13 | 14 | node_modules 15 | -------------------------------------------------------------------------------- /.travis.yml: -------------------------------------------------------------------------------- 1 | language: clojure 2 | lein: 2.8.3 3 | 4 | addons: 5 | firefox: "64.0" 6 | 7 | cache: 8 | - npm 9 | - directories: 10 | - ~/.m2 11 | 12 | script: lein with-profile test doo firefox-headless test once 13 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2016 Akiroz 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # re-frame-storage 2 | 3 | [![Clojars Project](https://img.shields.io/clojars/v/akiroz.re-frame/storage.svg)](https://clojars.org/akiroz.re-frame/storage) 4 | [![GitHub license](https://img.shields.io/badge/license-MIT-blue.svg)](https://raw.githubusercontent.com/akiroz/re-frame-storage/master/LICENSE) 5 | [![Build Status](https://travis-ci.org/akiroz/re-frame-storage.svg?branch=master)](https://travis-ci.org/akiroz/re-frame-storage) 6 | 7 | A very simple re-frame wrapper around [storage-atom][storage-atom] for persisting app state. 8 | 9 | Depends on `re-frame >= 0.8.0`. 10 | 11 | 12 | ## Usage 13 | 14 | There are 2 ways to use this: 15 | 16 | ### 1. As individual re-frame fx & cofx 17 | 18 | ```clojure 19 | (ns my-app 20 | (:require [akiroz.re-frame.storage :refer [reg-co-fx!]])) 21 | 22 | ;; both :fx and :cofx keys are optional, they will not be registered if unspecified. 23 | (reg-co-fx! :my-app ;; local storage key 24 | {:fx :store ;; re-frame fx ID 25 | :cofx :store}) ;; re-frame cofx ID 26 | 27 | ;; ... 28 | 29 | (reg-event-fx 30 | :read-foo-store-bar 31 | [(inject-cofx :store)] 32 | (fn [{:keys [store]} _] 33 | (print (:foo store)) 34 | {:store (assoc store :bar "qux")})) 35 | 36 | ``` 37 | 38 | ### 2. As a re-frame interceptor that automatically persists part of your app-db 39 | 40 | ```clojure 41 | (ns my-app 42 | (:require [akiroz.re-frame.storage :refer [persist-db]])) 43 | 44 | ;; define a custom reg-event-db 45 | ;; local storage key is :my-app 46 | ;; everything inside the db's :persistent key is automatically stored and retreived. 47 | (defn my-reg-event-db 48 | [event-id handler] 49 | (reg-event-fx 50 | event-id 51 | [(persist-db :my-app :persistent)] 52 | (fn [{:keys [db]} event-vec] 53 | {:db (handler db event-vec)}))) 54 | 55 | ;; ... 56 | 57 | (my-reg-event-db 58 | :read-foo-store-bar 59 | (fn [db _] 60 | (print (get-in db [:persistent :foo])) 61 | (assoc-in db [:persistent :bar] "qux"))) 62 | 63 | ;; Or, if you want to persist multiple DB keys: 64 | 65 | (defn my-reg-event-db 66 | [event-id handler] 67 | (reg-event-fx 68 | event-id 69 | [(persist-db-keys :my-app [:persistent-1 :persistent-2])] 70 | (fn [{:keys [db]} event-vec] 71 | {:db (handler db event-vec)}))) 72 | 73 | ;; May want an init helper to dispatch on app init 74 | 75 | (my-reg-event-db :init (fn [db] db)) 76 | 77 | ``` 78 | 79 | [storage-atom]: https://github.com/alandipert/storage-atom 80 | -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "dependencies": { 3 | "@cljs-oss/module-deps": "^1.1.1", 4 | "karma": "^6.3.16", 5 | "karma-cljs-test": "^0.1.0", 6 | "karma-firefox-launcher": "^1.1.0" 7 | } 8 | } 9 | -------------------------------------------------------------------------------- /project.clj: -------------------------------------------------------------------------------- 1 | (defproject akiroz.re-frame/storage "0.1.4" 2 | :description "re-frame interceptors for browser local storage" 3 | :url "https://github.com/akiroz/re-frame-storage" 4 | :license {:name "MIT" 5 | :url "https://opensource.org/licenses/MIT"} 6 | 7 | :dependencies [[alandipert/storage-atom "2.0.1"]] 8 | 9 | :profiles {:test {:plugins [[lein-cljsbuild "1.1.7"] 10 | [lein-doo "0.1.11"] 11 | ] 12 | :dependencies [[org.clojure/clojure "1.10.0"] 13 | [org.clojure/clojurescript "1.10.520"] 14 | [org.clojure/core.async "0.4.490"] 15 | [re-frame "0.10.6"] 16 | [reagent "0.8.1"] 17 | ] 18 | :doo {:paths {:karma "./node_modules/karma/bin/karma"}} 19 | :cljsbuild {:builds [{:id "test" 20 | :source-paths ["src" "test"] 21 | :compiler {:output-dir "target/js/out" 22 | :output-to "target/js/testable.js" 23 | :main akiroz.re-frame.storage-runner 24 | :optimizations :whitespace 25 | :npm-deps {:karma "4.0.1" 26 | :karma-cljs-test "0.1.0" 27 | :karma-firefox-launcher "1.1.0"} 28 | :install-deps true 29 | }}]}}} 30 | 31 | ) 32 | -------------------------------------------------------------------------------- /src/akiroz/re_frame/storage.cljs: -------------------------------------------------------------------------------- 1 | (ns akiroz.re-frame.storage 2 | (:require [re-frame.core :refer [reg-fx reg-cofx ->interceptor]] 3 | [alandipert.storage-atom :refer [local-storage]] 4 | [cljs.spec.alpha :as s] 5 | )) 6 | 7 | (s/def ::cljs-data 8 | (s/or :nil nil? 9 | :boolean boolean? 10 | :number number? 11 | :string string? 12 | :keyword keyword? 13 | :symbol symbol? 14 | :uuid uuid? 15 | :date (partial instance? js/Date) 16 | :list (s/coll-of ::cljs-data :kind list?) 17 | :vector (s/coll-of ::cljs-data :kind vector?) 18 | :set (s/coll-of ::cljs-data :kind set?) 19 | :map (s/map-of ::cljs-data ::cljs-data) 20 | )) 21 | 22 | 23 | ;; atom containing local-storage atoms 24 | (def storage-atoms (atom {})) 25 | 26 | 27 | (defn register-store [store-key] 28 | (when-not (@storage-atoms store-key) 29 | (swap! storage-atoms assoc store-key 30 | (local-storage (atom nil) store-key)))) 31 | 32 | (s/fdef register-store 33 | :args (s/cat :store-key keyword?)) 34 | 35 | 36 | (defn ->store [store-key data] 37 | (reset! (@storage-atoms store-key) data)) 38 | 39 | (s/fdef ->store 40 | :args (s/cat :store-key keyword? 41 | :data ::cljs-data)) 42 | 43 | 44 | (defn <-store [store-key] 45 | @(@storage-atoms store-key)) 46 | 47 | (s/fdef <-store 48 | :args (s/cat :store-key keyword?) 49 | :ret ::cljs-data) 50 | 51 | 52 | 53 | 54 | (defn reg-co-fx! [store-key {:keys [fx cofx]}] 55 | (register-store store-key) 56 | (when fx 57 | (reg-fx 58 | fx 59 | (fn [data] 60 | (->store store-key data)))) 61 | (when cofx 62 | (reg-cofx 63 | cofx 64 | (fn [coeffects _] 65 | (assoc coeffects cofx (<-store store-key)))))) 66 | 67 | (s/def ::fx keyword?) 68 | (s/def ::cofx keyword?) 69 | (s/fdef reg-co-fx! 70 | :args (s/cat :store-key keyword? 71 | :handlers (s/keys :req-un [(or ::fx ::cofx)]))) 72 | 73 | 74 | (defn persist-db [store-key db-key] 75 | (register-store store-key) 76 | (->interceptor 77 | :id (keyword (str db-key "->" store-key)) 78 | :before (fn [context] 79 | (assoc-in context [:coeffects :db db-key] 80 | (<-store store-key))) 81 | :after (fn [context] 82 | (when-let [value (get-in context [:effects :db db-key])] 83 | (->store store-key value)) 84 | context))) 85 | 86 | (s/fdef persist-db 87 | :args (s/cat :store-key keyword? 88 | :db-key keyword?)) 89 | 90 | 91 | (defn persist-db-keys [store-key db-keys] 92 | (register-store store-key) 93 | (->interceptor 94 | :id (keyword (str (apply str (sort db-keys)) "->" store-key)) 95 | :before (fn [context] 96 | (update-in context [:coeffects :db] merge (<-store store-key))) 97 | :after (fn [context] 98 | (when-let [value (some-> (get-in context [:effects :db]) 99 | (select-keys db-keys))] 100 | (->store store-key value)) 101 | context))) 102 | 103 | (s/fdef persist-db-keys 104 | :args (s/cat :store-key keyword? 105 | :db-keys (s/coll-of keyword?))) 106 | 107 | 108 | -------------------------------------------------------------------------------- /test/akiroz/re_frame/storage_runner.cljs: -------------------------------------------------------------------------------- 1 | (ns akiroz.re-frame.storage-runner 2 | (:require [doo.runner :refer-macros [doo-tests]] 3 | [akiroz.re-frame.storage-tests] 4 | )) 5 | 6 | (enable-console-print!) 7 | (doo-tests 'akiroz.re-frame.storage-tests) 8 | -------------------------------------------------------------------------------- /test/akiroz/re_frame/storage_tests.cljs: -------------------------------------------------------------------------------- 1 | (ns akiroz.re-frame.storage-tests 2 | (:require-macros [cljs.core.async.macros :refer [go]]) 3 | (:require [cljs.core.async :refer [chan =10.0.0": 46 | version "18.7.18" 47 | resolved "https://registry.yarnpkg.com/@types/node/-/node-18.7.18.tgz#633184f55c322e4fb08612307c274ee6d5ed3154" 48 | integrity sha512-m+6nTEOadJZuTPkKR/SYK3A2d7FZrgElol9UP1Kae90VVU4a6mxnPuLiIW1m4Cq4gZ/nWb9GrdVXJCoCazDAbg== 49 | 50 | JSONStream@^1.0.3: 51 | version "1.3.5" 52 | resolved "https://registry.yarnpkg.com/JSONStream/-/JSONStream-1.3.5.tgz#3208c1f08d3a4d99261ab64f92302bc15e111ca0" 53 | integrity sha512-E+iruNOY8VV9s4JEbe1aNEm6MiszPRr/UfcHMz0TQh1BXSxHK+ASV1R6W4HpjBhSeS+54PIsAMCBmwD06LLsqQ== 54 | dependencies: 55 | jsonparse "^1.2.0" 56 | through ">=2.2.7 <3" 57 | 58 | accepts@~1.3.4: 59 | version "1.3.8" 60 | resolved "https://registry.yarnpkg.com/accepts/-/accepts-1.3.8.tgz#0bf0be125b67014adcb0b0921e62db7bffe16b2e" 61 | integrity sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw== 62 | dependencies: 63 | mime-types "~2.1.34" 64 | negotiator "0.6.3" 65 | 66 | acorn@^5.2.1: 67 | version "5.7.4" 68 | resolved "https://registry.yarnpkg.com/acorn/-/acorn-5.7.4.tgz#3e8d8a9947d0599a1796d10225d7432f4a4acf5e" 69 | integrity sha512-1D++VG7BhrtvQpNbBzovKNc1FLGGEE/oGe7b9xJm/RFHMBeUaUGpluV9RLjZa47YFdPcDAenEYuq9pQPcMdLJg== 70 | 71 | ansi-regex@^2.0.0: 72 | version "2.1.1" 73 | resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-2.1.1.tgz#c3b33ab5ee360d86e0e628f0468ae7ef27d654df" 74 | integrity sha512-TIGnTpdo+E3+pCyAluZvtED5p5wCqLdezCyhPZzKPcxvFplEt4i+W7OONCKgeZFT3+y5NZZfOOS/Bdcanm1MYA== 75 | 76 | ansi-regex@^5.0.1: 77 | version "5.0.1" 78 | resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-5.0.1.tgz#082cb2c89c9fe8659a311a53bd6a4dc5301db304" 79 | integrity sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ== 80 | 81 | ansi-styles@^2.2.1: 82 | version "2.2.1" 83 | resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-2.2.1.tgz#b432dd3358b634cf75e1e4664368240533c1ddbe" 84 | integrity sha512-kmCevFghRiWM7HB5zTPULl4r9bVFSWjz62MhqizDGUrq2NWuNMQyuv4tHHoKJHs69M/MF64lEcHdYIocrdWQYA== 85 | 86 | ansi-styles@^4.0.0: 87 | version "4.3.0" 88 | resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-4.3.0.tgz#edd803628ae71c04c85ae7a0906edad34b648937" 89 | integrity sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg== 90 | dependencies: 91 | color-convert "^2.0.1" 92 | 93 | anymatch@~3.1.2: 94 | version "3.1.2" 95 | resolved "https://registry.yarnpkg.com/anymatch/-/anymatch-3.1.2.tgz#c0557c096af32f106198f4f4e2a383537e378716" 96 | integrity sha512-P43ePfOAIupkguHUycrc4qJ9kz8ZiuOUijaETwX7THt0Y/GNK7v0aa8rY816xWjZ7rJdA5XdMcpVFTKMq+RvWg== 97 | dependencies: 98 | normalize-path "^3.0.0" 99 | picomatch "^2.0.4" 100 | 101 | babel-code-frame@^6.26.0: 102 | version "6.26.0" 103 | resolved "https://registry.yarnpkg.com/babel-code-frame/-/babel-code-frame-6.26.0.tgz#63fd43f7dc1e3bb7ce35947db8fe369a3f58c74b" 104 | integrity sha512-XqYMR2dfdGMW+hd0IUZ2PwK+fGeFkOxZJ0wY+JaQAHzt1Zx8LcvpiZD2NiGkEG8qx0CfkAOr5xt76d1e8vG90g== 105 | dependencies: 106 | chalk "^1.1.3" 107 | esutils "^2.0.2" 108 | js-tokens "^3.0.2" 109 | 110 | babel-messages@^6.23.0: 111 | version "6.23.0" 112 | resolved "https://registry.yarnpkg.com/babel-messages/-/babel-messages-6.23.0.tgz#f3cdf4703858035b2a2951c6ec5edf6c62f2630e" 113 | integrity sha512-Bl3ZiA+LjqaMtNYopA9TYE9HP1tQ+E5dLxE0XrAzcIJeK2UqF0/EaqXwBn9esd4UmTfEab+P+UYQ1GnioFIb/w== 114 | dependencies: 115 | babel-runtime "^6.22.0" 116 | 117 | babel-runtime@^6.22.0, babel-runtime@^6.26.0: 118 | version "6.26.0" 119 | resolved "https://registry.yarnpkg.com/babel-runtime/-/babel-runtime-6.26.0.tgz#965c7058668e82b55d7bfe04ff2337bc8b5647fe" 120 | integrity sha512-ITKNuq2wKlW1fJg9sSW52eepoYgZBggvOAHC0u/CYu/qxQ9EVzThCgR69BnSXLHjy2f7SY5zaQ4yt7H9ZVxY2g== 121 | dependencies: 122 | core-js "^2.4.0" 123 | regenerator-runtime "^0.11.0" 124 | 125 | babel-traverse@^6.23.1: 126 | version "6.26.0" 127 | resolved "https://registry.yarnpkg.com/babel-traverse/-/babel-traverse-6.26.0.tgz#46a9cbd7edcc62c8e5c064e2d2d8d0f4035766ee" 128 | integrity sha512-iSxeXx7apsjCHe9c7n8VtRXGzI2Bk1rBSOJgCCjfyXb6v1aCqE1KSEpq/8SXuVN8Ka/Rh1WDTF0MDzkvTA4MIA== 129 | dependencies: 130 | babel-code-frame "^6.26.0" 131 | babel-messages "^6.23.0" 132 | babel-runtime "^6.26.0" 133 | babel-types "^6.26.0" 134 | babylon "^6.18.0" 135 | debug "^2.6.8" 136 | globals "^9.18.0" 137 | invariant "^2.2.2" 138 | lodash "^4.17.4" 139 | 140 | babel-types@^6.26.0: 141 | version "6.26.0" 142 | resolved "https://registry.yarnpkg.com/babel-types/-/babel-types-6.26.0.tgz#a3b073f94ab49eb6fa55cd65227a334380632497" 143 | integrity sha512-zhe3V/26rCWsEZK8kZN+HaQj5yQ1CilTObixFzKW1UWjqG7618Twz6YEsCnjfg5gBcJh02DrpCkS9h98ZqDY+g== 144 | dependencies: 145 | babel-runtime "^6.26.0" 146 | esutils "^2.0.2" 147 | lodash "^4.17.4" 148 | to-fast-properties "^1.0.3" 149 | 150 | babylon@^6.15.0, babylon@^6.18.0: 151 | version "6.18.0" 152 | resolved "https://registry.yarnpkg.com/babylon/-/babylon-6.18.0.tgz#af2f3b88fa6f5c1e4c634d1a0f8eac4f55b395e3" 153 | integrity sha512-q/UEjfGJ2Cm3oKV71DJz9d25TPnq5rhBVL2Q4fA5wcC3jcrdn7+SssEybFIxwAvvP+YCsCYNKughoF33GxgycQ== 154 | 155 | balanced-match@^1.0.0: 156 | version "1.0.2" 157 | resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.2.tgz#e83e3a7e3f300b34cb9d87f615fa0cbf357690ee" 158 | integrity sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw== 159 | 160 | base64id@2.0.0, base64id@~2.0.0: 161 | version "2.0.0" 162 | resolved "https://registry.yarnpkg.com/base64id/-/base64id-2.0.0.tgz#2770ac6bc47d312af97a8bf9a634342e0cd25cb6" 163 | integrity sha512-lGe34o6EHj9y3Kts9R4ZYs/Gr+6N7MCaMlIFA3F1R2O5/m7K06AxfSeO5530PEERE6/WyEg3lsuyw4GHlPZHog== 164 | 165 | binary-extensions@^2.0.0: 166 | version "2.2.0" 167 | resolved "https://registry.yarnpkg.com/binary-extensions/-/binary-extensions-2.2.0.tgz#75f502eeaf9ffde42fc98829645be4ea76bd9e2d" 168 | integrity sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA== 169 | 170 | body-parser@^1.19.0: 171 | version "1.20.0" 172 | resolved "https://registry.yarnpkg.com/body-parser/-/body-parser-1.20.0.tgz#3de69bd89011c11573d7bfee6a64f11b6bd27cc5" 173 | integrity sha512-DfJ+q6EPcGKZD1QWUjSpqp+Q7bDQTsQIF4zfUAtZ6qk+H/3/QRhg9CEp39ss+/T2vw0+HaidC0ecJj/DRLIaKg== 174 | dependencies: 175 | bytes "3.1.2" 176 | content-type "~1.0.4" 177 | debug "2.6.9" 178 | depd "2.0.0" 179 | destroy "1.2.0" 180 | http-errors "2.0.0" 181 | iconv-lite "0.4.24" 182 | on-finished "2.4.1" 183 | qs "6.10.3" 184 | raw-body "2.5.1" 185 | type-is "~1.6.18" 186 | unpipe "1.0.0" 187 | 188 | brace-expansion@^1.1.7: 189 | version "1.1.11" 190 | resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-1.1.11.tgz#3c7fcbf529d87226f3d2f52b966ff5271eb441dd" 191 | integrity sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA== 192 | dependencies: 193 | balanced-match "^1.0.0" 194 | concat-map "0.0.1" 195 | 196 | braces@^3.0.2, braces@~3.0.2: 197 | version "3.0.2" 198 | resolved "https://registry.yarnpkg.com/braces/-/braces-3.0.2.tgz#3454e1a462ee8d599e236df336cd9ea4f8afe107" 199 | integrity sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A== 200 | dependencies: 201 | fill-range "^7.0.1" 202 | 203 | browser-resolve@^1.7.0: 204 | version "1.11.3" 205 | resolved "https://registry.yarnpkg.com/browser-resolve/-/browser-resolve-1.11.3.tgz#9b7cbb3d0f510e4cb86bdbd796124d28b5890af6" 206 | integrity sha512-exDi1BYWB/6raKHmDTCicQfTkqwN5fioMFV4j8BsfMU4R2DK/QfZfK7kOVkmWCNANf0snkBzqGqAJBao9gZMdQ== 207 | dependencies: 208 | resolve "1.1.7" 209 | 210 | bytes@3.1.2: 211 | version "3.1.2" 212 | resolved "https://registry.yarnpkg.com/bytes/-/bytes-3.1.2.tgz#8b0beeb98605adf1b128fa4386403c009e0221a5" 213 | integrity sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg== 214 | 215 | cached-path-relative@^1.0.0: 216 | version "1.1.0" 217 | resolved "https://registry.yarnpkg.com/cached-path-relative/-/cached-path-relative-1.1.0.tgz#865576dfef39c0d6a7defde794d078f5308e3ef3" 218 | integrity sha512-WF0LihfemtesFcJgO7xfOoOcnWzY/QHR4qeDqV44jPU3HTI54+LnfXK3SA27AVVGCdZFgjjFFaqUA9Jx7dMJZA== 219 | 220 | call-bind@^1.0.0: 221 | version "1.0.2" 222 | resolved "https://registry.yarnpkg.com/call-bind/-/call-bind-1.0.2.tgz#b1d4e89e688119c3c9a903ad30abb2f6a919be3c" 223 | integrity sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA== 224 | dependencies: 225 | function-bind "^1.1.1" 226 | get-intrinsic "^1.0.2" 227 | 228 | chalk@^1.1.3: 229 | version "1.1.3" 230 | resolved "https://registry.yarnpkg.com/chalk/-/chalk-1.1.3.tgz#a8115c55e4a702fe4d150abd3872822a7e09fc98" 231 | integrity sha512-U3lRVLMSlsCfjqYPbLyVv11M9CPW4I728d6TCKMAOJueEeB9/8o+eSsMnxPJD+Q+K909sdESg7C+tIkoH6on1A== 232 | dependencies: 233 | ansi-styles "^2.2.1" 234 | escape-string-regexp "^1.0.2" 235 | has-ansi "^2.0.0" 236 | strip-ansi "^3.0.0" 237 | supports-color "^2.0.0" 238 | 239 | chokidar@^3.5.1: 240 | version "3.5.3" 241 | resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-3.5.3.tgz#1cf37c8707b932bd1af1ae22c0432e2acd1903bd" 242 | integrity sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw== 243 | dependencies: 244 | anymatch "~3.1.2" 245 | braces "~3.0.2" 246 | glob-parent "~5.1.2" 247 | is-binary-path "~2.1.0" 248 | is-glob "~4.0.1" 249 | normalize-path "~3.0.0" 250 | readdirp "~3.6.0" 251 | optionalDependencies: 252 | fsevents "~2.3.2" 253 | 254 | cliui@^7.0.2: 255 | version "7.0.4" 256 | resolved "https://registry.yarnpkg.com/cliui/-/cliui-7.0.4.tgz#a0265ee655476fc807aea9df3df8df7783808b4f" 257 | integrity sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ== 258 | dependencies: 259 | string-width "^4.2.0" 260 | strip-ansi "^6.0.0" 261 | wrap-ansi "^7.0.0" 262 | 263 | color-convert@^2.0.1: 264 | version "2.0.1" 265 | resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-2.0.1.tgz#72d3a68d598c9bdb3af2ad1e84f21d896abd4de3" 266 | integrity sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ== 267 | dependencies: 268 | color-name "~1.1.4" 269 | 270 | color-name@~1.1.4: 271 | version "1.1.4" 272 | resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.4.tgz#c2a09a87acbde69543de6f63fa3995c826c536a2" 273 | integrity sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA== 274 | 275 | colors@1.4.0: 276 | version "1.4.0" 277 | resolved "https://registry.yarnpkg.com/colors/-/colors-1.4.0.tgz#c50491479d4c1bdaed2c9ced32cf7c7dc2360f78" 278 | integrity sha512-a+UqTh4kgZg/SlGvfbzDHpgRu7AAQOmmqRHJnxhRZICKFUT91brVhNNt58CMWU9PsBbv3PDCZUHbVxuDiH2mtA== 279 | 280 | concat-map@0.0.1: 281 | version "0.0.1" 282 | resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b" 283 | integrity sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg== 284 | 285 | concat-stream@~1.5.0: 286 | version "1.5.2" 287 | resolved "https://registry.yarnpkg.com/concat-stream/-/concat-stream-1.5.2.tgz#708978624d856af41a5a741defdd261da752c266" 288 | integrity sha512-H6xsIBfQ94aESBG8jGHXQ7i5AEpy5ZeVaLDOisDICiTCKpqEfr34/KmTrspKQNoLKNu9gTkovlpQcUi630AKiQ== 289 | dependencies: 290 | inherits "~2.0.1" 291 | readable-stream "~2.0.0" 292 | typedarray "~0.0.5" 293 | 294 | connect@^3.7.0: 295 | version "3.7.0" 296 | resolved "https://registry.yarnpkg.com/connect/-/connect-3.7.0.tgz#5d49348910caa5e07a01800b030d0c35f20484f8" 297 | integrity sha512-ZqRXc+tZukToSNmh5C2iWMSoV3X1YUcPbqEM4DkEG5tNQXrQUZCNVGGv3IuicnkMtPfGf3Xtp8WCXs295iQ1pQ== 298 | dependencies: 299 | debug "2.6.9" 300 | finalhandler "1.1.2" 301 | parseurl "~1.3.3" 302 | utils-merge "1.0.1" 303 | 304 | content-type@~1.0.4: 305 | version "1.0.4" 306 | resolved "https://registry.yarnpkg.com/content-type/-/content-type-1.0.4.tgz#e138cc75e040c727b1966fe5e5f8c9aee256fe3b" 307 | integrity sha512-hIP3EEPs8tB9AT1L+NUqtwOAps4mk2Zob89MWXMHjHWg9milF/j4osnnQLXBCBFBk/tvIG/tUc9mOUJiPBhPXA== 308 | 309 | cookie@~0.4.1: 310 | version "0.4.2" 311 | resolved "https://registry.yarnpkg.com/cookie/-/cookie-0.4.2.tgz#0e41f24de5ecf317947c82fc789e06a884824432" 312 | integrity sha512-aSWTXFzaKWkvHO1Ny/s+ePFpvKsPnjc551iI41v3ny/ow6tBG5Vd+FuqGNhh1LxOmVzOlGUriIlOaokOvhaStA== 313 | 314 | core-js@^2.4.0: 315 | version "2.6.12" 316 | resolved "https://registry.yarnpkg.com/core-js/-/core-js-2.6.12.tgz#d9333dfa7b065e347cc5682219d6f690859cc2ec" 317 | integrity sha512-Kb2wC0fvsWfQrgk8HU5lW6U/Lcs8+9aaYcy4ZFc6DDlo4nZ7n70dEgE5rtR0oG6ufKDUnrwfWL1mXR5ljDatrQ== 318 | 319 | core-util-is@~1.0.0: 320 | version "1.0.3" 321 | resolved "https://registry.yarnpkg.com/core-util-is/-/core-util-is-1.0.3.tgz#a6042d3634c2b27e9328f837b965fac83808db85" 322 | integrity sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ== 323 | 324 | cors@~2.8.5: 325 | version "2.8.5" 326 | resolved "https://registry.yarnpkg.com/cors/-/cors-2.8.5.tgz#eac11da51592dd86b9f06f6e7ac293b3df875d29" 327 | integrity sha512-KIHbLJqu73RGr/hnbrO9uBeixNGuvSQjul/jdFvS/KFSIH1hWVd1ng7zOHx+YrEfInLG7q4n6GHQ9cDtxv/P6g== 328 | dependencies: 329 | object-assign "^4" 330 | vary "^1" 331 | 332 | custom-event@~1.0.0: 333 | version "1.0.1" 334 | resolved "https://registry.yarnpkg.com/custom-event/-/custom-event-1.0.1.tgz#5d02a46850adf1b4a317946a3928fccb5bfd0425" 335 | integrity sha512-GAj5FOq0Hd+RsCGVJxZuKaIDXDf3h6GQoNEjFgbLLI/trgtavwUbSnZ5pVfg27DVCaWjIohryS0JFwIJyT2cMg== 336 | 337 | date-format@^4.0.13: 338 | version "4.0.13" 339 | resolved "https://registry.yarnpkg.com/date-format/-/date-format-4.0.13.tgz#87c3aab3a4f6f37582c5f5f63692d2956fa67890" 340 | integrity sha512-bnYCwf8Emc3pTD8pXnre+wfnjGtfi5ncMDKy7+cWZXbmRAsdWkOQHrfC1yz/KiwP5thDp2kCHWYWKBX4HP1hoQ== 341 | 342 | debug@2.6.9, debug@^2.6.8: 343 | version "2.6.9" 344 | resolved "https://registry.yarnpkg.com/debug/-/debug-2.6.9.tgz#5d128515df134ff327e90a4c93f4e077a536341f" 345 | integrity sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA== 346 | dependencies: 347 | ms "2.0.0" 348 | 349 | debug@^4.3.4, debug@~4.3.1, debug@~4.3.2: 350 | version "4.3.4" 351 | resolved "https://registry.yarnpkg.com/debug/-/debug-4.3.4.tgz#1319f6579357f2338d3337d2cdd4914bb5dcc865" 352 | integrity sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ== 353 | dependencies: 354 | ms "2.1.2" 355 | 356 | defined@^1.0.0: 357 | version "1.0.0" 358 | resolved "https://registry.yarnpkg.com/defined/-/defined-1.0.0.tgz#c98d9bcef75674188e110969151199e39b1fa693" 359 | integrity sha512-Y2caI5+ZwS5c3RiNDJ6u53VhQHv+hHKwhkI1iHvceKUHw9Df6EK2zRLfjejRgMuCuxK7PfSWIMwWecceVvThjQ== 360 | 361 | depd@2.0.0: 362 | version "2.0.0" 363 | resolved "https://registry.yarnpkg.com/depd/-/depd-2.0.0.tgz#b696163cc757560d09cf22cc8fad1571b79e76df" 364 | integrity sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw== 365 | 366 | destroy@1.2.0: 367 | version "1.2.0" 368 | resolved "https://registry.yarnpkg.com/destroy/-/destroy-1.2.0.tgz#4803735509ad8be552934c67df614f94e66fa015" 369 | integrity sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg== 370 | 371 | detective@^4.0.0: 372 | version "4.7.1" 373 | resolved "https://registry.yarnpkg.com/detective/-/detective-4.7.1.tgz#0eca7314338442febb6d65da54c10bb1c82b246e" 374 | integrity sha512-H6PmeeUcZloWtdt4DAkFyzFL94arpHr3NOwwmVILFiy+9Qd4JTxxXrzfyGk/lmct2qVGBwTSwSXagqu2BxmWig== 375 | dependencies: 376 | acorn "^5.2.1" 377 | defined "^1.0.0" 378 | 379 | di@^0.0.1: 380 | version "0.0.1" 381 | resolved "https://registry.yarnpkg.com/di/-/di-0.0.1.tgz#806649326ceaa7caa3306d75d985ea2748ba913c" 382 | integrity sha512-uJaamHkagcZtHPqCIHZxnFrXlunQXgBOsZSUOWwFw31QJCAbyTBoHMW75YOTur5ZNx8pIeAKgf6GWIgaqqiLhA== 383 | 384 | dom-serialize@^2.2.1: 385 | version "2.2.1" 386 | resolved "https://registry.yarnpkg.com/dom-serialize/-/dom-serialize-2.2.1.tgz#562ae8999f44be5ea3076f5419dcd59eb43ac95b" 387 | integrity sha512-Yra4DbvoW7/Z6LBN560ZwXMjoNOSAN2wRsKFGc4iBeso+mpIA6qj1vfdf9HpMaKAqG6wXTy+1SYEzmNpKXOSsQ== 388 | dependencies: 389 | custom-event "~1.0.0" 390 | ent "~2.2.0" 391 | extend "^3.0.0" 392 | void-elements "^2.0.0" 393 | 394 | duplexer2@^0.1.2, duplexer2@~0.1.0: 395 | version "0.1.4" 396 | resolved "https://registry.yarnpkg.com/duplexer2/-/duplexer2-0.1.4.tgz#8b12dab878c0d69e3e7891051662a32fc6bddcc1" 397 | integrity sha512-asLFVfWWtJ90ZyOUHMqk7/S2w2guQKxUI2itj3d92ADHhxUSbCMGi1f1cBcJ7xM1To+pE/Khbwo1yuNbMEPKeA== 398 | dependencies: 399 | readable-stream "^2.0.2" 400 | 401 | ee-first@1.1.1: 402 | version "1.1.1" 403 | resolved "https://registry.yarnpkg.com/ee-first/-/ee-first-1.1.1.tgz#590c61156b0ae2f4f0255732a158b266bc56b21d" 404 | integrity sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow== 405 | 406 | emoji-regex@^8.0.0: 407 | version "8.0.0" 408 | resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-8.0.0.tgz#e818fd69ce5ccfcb404594f842963bf53164cc37" 409 | integrity sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A== 410 | 411 | encodeurl@~1.0.2: 412 | version "1.0.2" 413 | resolved "https://registry.yarnpkg.com/encodeurl/-/encodeurl-1.0.2.tgz#ad3ff4c86ec2d029322f5a02c3a9a606c95b3f59" 414 | integrity sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w== 415 | 416 | engine.io-parser@~5.0.3: 417 | version "5.0.4" 418 | resolved "https://registry.yarnpkg.com/engine.io-parser/-/engine.io-parser-5.0.4.tgz#0b13f704fa9271b3ec4f33112410d8f3f41d0fc0" 419 | integrity sha512-+nVFp+5z1E3HcToEnO7ZIj3g+3k9389DvWtvJZz0T6/eOCPIyyxehFcedoYrZQrp0LgQbD9pPXhpMBKMd5QURg== 420 | 421 | engine.io@~6.2.0: 422 | version "6.2.0" 423 | resolved "https://registry.yarnpkg.com/engine.io/-/engine.io-6.2.0.tgz#003bec48f6815926f2b1b17873e576acd54f41d0" 424 | integrity sha512-4KzwW3F3bk+KlzSOY57fj/Jx6LyRQ1nbcyIadehl+AnXjKT7gDO0ORdRi/84ixvMKTym6ZKuxvbzN62HDDU1Lg== 425 | dependencies: 426 | "@types/cookie" "^0.4.1" 427 | "@types/cors" "^2.8.12" 428 | "@types/node" ">=10.0.0" 429 | accepts "~1.3.4" 430 | base64id "2.0.0" 431 | cookie "~0.4.1" 432 | cors "~2.8.5" 433 | debug "~4.3.1" 434 | engine.io-parser "~5.0.3" 435 | ws "~8.2.3" 436 | 437 | enhanced-resolve@3.4.1: 438 | version "3.4.1" 439 | resolved "https://registry.yarnpkg.com/enhanced-resolve/-/enhanced-resolve-3.4.1.tgz#0421e339fd71419b3da13d129b3979040230476e" 440 | integrity sha512-ZaAux1rigq1e2nQrztHn4h2ugvpzZxs64qneNah+8Mh/K0CRqJFJc+UoXnUsq+1yX+DmQFPPdVqboKAJ89e0Iw== 441 | dependencies: 442 | graceful-fs "^4.1.2" 443 | memory-fs "^0.4.0" 444 | object-assign "^4.0.1" 445 | tapable "^0.2.7" 446 | 447 | ent@~2.2.0: 448 | version "2.2.0" 449 | resolved "https://registry.yarnpkg.com/ent/-/ent-2.2.0.tgz#e964219325a21d05f44466a2f686ed6ce5f5dd1d" 450 | integrity sha512-GHrMyVZQWvTIdDtpiEXdHZnFQKzeO09apj8Cbl4pKWy4i0Oprcq17usfDt5aO63swf0JOeMWjWQE/LzgSRuWpA== 451 | 452 | errno@^0.1.3: 453 | version "0.1.8" 454 | resolved "https://registry.yarnpkg.com/errno/-/errno-0.1.8.tgz#8bb3e9c7d463be4976ff888f76b4809ebc2e811f" 455 | integrity sha512-dJ6oBr5SQ1VSd9qkk7ByRgb/1SH4JZjCHSW/mr63/QcXO9zLVxvJ6Oy13nio03rxpSnVDDjFor75SjVeZWPW/A== 456 | dependencies: 457 | prr "~1.0.1" 458 | 459 | escalade@^3.1.1: 460 | version "3.1.1" 461 | resolved "https://registry.yarnpkg.com/escalade/-/escalade-3.1.1.tgz#d8cfdc7000965c5a0174b4a82eaa5c0552742e40" 462 | integrity sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw== 463 | 464 | escape-html@~1.0.3: 465 | version "1.0.3" 466 | resolved "https://registry.yarnpkg.com/escape-html/-/escape-html-1.0.3.tgz#0258eae4d3d0c0974de1c169188ef0051d1d1988" 467 | integrity sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow== 468 | 469 | escape-string-regexp@^1.0.2: 470 | version "1.0.5" 471 | resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz#1b61c0562190a8dff6ae3bb2cf0200ca130b86d4" 472 | integrity sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg== 473 | 474 | esutils@^2.0.2: 475 | version "2.0.3" 476 | resolved "https://registry.yarnpkg.com/esutils/-/esutils-2.0.3.tgz#74d2eb4de0b8da1293711910d50775b9b710ef64" 477 | integrity sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g== 478 | 479 | eventemitter3@^4.0.0: 480 | version "4.0.7" 481 | resolved "https://registry.yarnpkg.com/eventemitter3/-/eventemitter3-4.0.7.tgz#2de9b68f6528d5644ef5c59526a1b4a07306169f" 482 | integrity sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw== 483 | 484 | extend@^3.0.0: 485 | version "3.0.2" 486 | resolved "https://registry.yarnpkg.com/extend/-/extend-3.0.2.tgz#f8b1136b4071fbd8eb140aff858b1019ec2915fa" 487 | integrity sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g== 488 | 489 | fill-range@^7.0.1: 490 | version "7.0.1" 491 | resolved "https://registry.yarnpkg.com/fill-range/-/fill-range-7.0.1.tgz#1919a6a7c75fe38b2c7c77e5198535da9acdda40" 492 | integrity sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ== 493 | dependencies: 494 | to-regex-range "^5.0.1" 495 | 496 | finalhandler@1.1.2: 497 | version "1.1.2" 498 | resolved "https://registry.yarnpkg.com/finalhandler/-/finalhandler-1.1.2.tgz#b7e7d000ffd11938d0fdb053506f6ebabe9f587d" 499 | integrity sha512-aAWcW57uxVNrQZqFXjITpW3sIUQmHGG3qSb9mUah9MgMC4NeWhNOlNjXEYq3HjRAvL6arUviZGGJsBg6z0zsWA== 500 | dependencies: 501 | debug "2.6.9" 502 | encodeurl "~1.0.2" 503 | escape-html "~1.0.3" 504 | on-finished "~2.3.0" 505 | parseurl "~1.3.3" 506 | statuses "~1.5.0" 507 | unpipe "~1.0.0" 508 | 509 | flatted@^3.2.6: 510 | version "3.2.7" 511 | resolved "https://registry.yarnpkg.com/flatted/-/flatted-3.2.7.tgz#609f39207cb614b89d0765b477cb2d437fbf9787" 512 | integrity sha512-5nqDSxl8nn5BSNxyR3n4I6eDmbolI6WT+QqR547RwxQapgjQBmtktdP+HTBb/a/zLsbzERTONyUB5pefh5TtjQ== 513 | 514 | follow-redirects@^1.0.0: 515 | version "1.15.2" 516 | resolved "https://registry.yarnpkg.com/follow-redirects/-/follow-redirects-1.15.2.tgz#b460864144ba63f2681096f274c4e57026da2c13" 517 | integrity sha512-VQLG33o04KaQ8uYi2tVNbdrWp1QWxNNea+nmIB4EVM28v0hmP17z7aG1+wAkNzVq4KeXTq3221ye5qTJP91JwA== 518 | 519 | fs-extra@^8.1.0: 520 | version "8.1.0" 521 | resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-8.1.0.tgz#49d43c45a88cd9677668cb7be1b46efdb8d2e1c0" 522 | integrity sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g== 523 | dependencies: 524 | graceful-fs "^4.2.0" 525 | jsonfile "^4.0.0" 526 | universalify "^0.1.0" 527 | 528 | fs.realpath@^1.0.0: 529 | version "1.0.0" 530 | resolved "https://registry.yarnpkg.com/fs.realpath/-/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f" 531 | integrity sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw== 532 | 533 | fsevents@~2.3.2: 534 | version "2.3.2" 535 | resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-2.3.2.tgz#8a526f78b8fdf4623b709e0b975c52c24c02fd1a" 536 | integrity sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA== 537 | 538 | function-bind@^1.1.1: 539 | version "1.1.1" 540 | resolved "https://registry.yarnpkg.com/function-bind/-/function-bind-1.1.1.tgz#a56899d3ea3c9bab874bb9773b7c5ede92f4895d" 541 | integrity sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A== 542 | 543 | get-caller-file@^2.0.5: 544 | version "2.0.5" 545 | resolved "https://registry.yarnpkg.com/get-caller-file/-/get-caller-file-2.0.5.tgz#4f94412a82db32f36e3b0b9741f8a97feb031f7e" 546 | integrity sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg== 547 | 548 | get-intrinsic@^1.0.2: 549 | version "1.1.3" 550 | resolved "https://registry.yarnpkg.com/get-intrinsic/-/get-intrinsic-1.1.3.tgz#063c84329ad93e83893c7f4f243ef63ffa351385" 551 | integrity sha512-QJVz1Tj7MS099PevUG5jvnt9tSkXN8K14dxQlikJuPt4uD9hHAHjLyLBiLR5zELelBdD9QNRAXZzsJx0WaDL9A== 552 | dependencies: 553 | function-bind "^1.1.1" 554 | has "^1.0.3" 555 | has-symbols "^1.0.3" 556 | 557 | glob-parent@~5.1.2: 558 | version "5.1.2" 559 | resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-5.1.2.tgz#869832c58034fe68a4093c17dc15e8340d8401c4" 560 | integrity sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow== 561 | dependencies: 562 | is-glob "^4.0.1" 563 | 564 | glob@^7.1.3, glob@^7.1.7: 565 | version "7.2.3" 566 | resolved "https://registry.yarnpkg.com/glob/-/glob-7.2.3.tgz#b8df0fb802bbfa8e89bd1d938b4e16578ed44f2b" 567 | integrity sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q== 568 | dependencies: 569 | fs.realpath "^1.0.0" 570 | inflight "^1.0.4" 571 | inherits "2" 572 | minimatch "^3.1.1" 573 | once "^1.3.0" 574 | path-is-absolute "^1.0.0" 575 | 576 | globals@^9.18.0: 577 | version "9.18.0" 578 | resolved "https://registry.yarnpkg.com/globals/-/globals-9.18.0.tgz#aa3896b3e69b487f17e31ed2143d69a8e30c2d8a" 579 | integrity sha512-S0nG3CLEQiY/ILxqtztTWH/3iRRdyBLw6KMDxnKMchrtbj2OFmehVh0WUCfW3DUrIgx/qFrJPICrq4Z4sTR9UQ== 580 | 581 | graceful-fs@^4.1.2, graceful-fs@^4.1.6, graceful-fs@^4.2.0, graceful-fs@^4.2.6: 582 | version "4.2.10" 583 | resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.10.tgz#147d3a006da4ca3ce14728c7aefc287c367d7a6c" 584 | integrity sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA== 585 | 586 | has-ansi@^2.0.0: 587 | version "2.0.0" 588 | resolved "https://registry.yarnpkg.com/has-ansi/-/has-ansi-2.0.0.tgz#34f5049ce1ecdf2b0649af3ef24e45ed35416d91" 589 | integrity sha512-C8vBJ8DwUCx19vhm7urhTuUsr4/IyP6l4VzNQDv+ryHQObW3TTTp9yB68WpYgRe2bbaGuZ/se74IqFeVnMnLZg== 590 | dependencies: 591 | ansi-regex "^2.0.0" 592 | 593 | has-symbols@^1.0.3: 594 | version "1.0.3" 595 | resolved "https://registry.yarnpkg.com/has-symbols/-/has-symbols-1.0.3.tgz#bb7b2c4349251dce87b125f7bdf874aa7c8b39f8" 596 | integrity sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A== 597 | 598 | has@^1.0.3: 599 | version "1.0.3" 600 | resolved "https://registry.yarnpkg.com/has/-/has-1.0.3.tgz#722d7cbfc1f6aa8241f16dd814e011e1f41e8796" 601 | integrity sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw== 602 | dependencies: 603 | function-bind "^1.1.1" 604 | 605 | http-errors@2.0.0: 606 | version "2.0.0" 607 | resolved "https://registry.yarnpkg.com/http-errors/-/http-errors-2.0.0.tgz#b7774a1486ef73cf7667ac9ae0858c012c57b9d3" 608 | integrity sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ== 609 | dependencies: 610 | depd "2.0.0" 611 | inherits "2.0.4" 612 | setprototypeof "1.2.0" 613 | statuses "2.0.1" 614 | toidentifier "1.0.1" 615 | 616 | http-proxy@^1.18.1: 617 | version "1.18.1" 618 | resolved "https://registry.yarnpkg.com/http-proxy/-/http-proxy-1.18.1.tgz#401541f0534884bbf95260334e72f88ee3976549" 619 | integrity sha512-7mz/721AbnJwIVbnaSv1Cz3Am0ZLT/UBwkC92VlxhXv/k/BBQfM2fXElQNC27BVGr0uwUpplYPQM9LnaBMR5NQ== 620 | dependencies: 621 | eventemitter3 "^4.0.0" 622 | follow-redirects "^1.0.0" 623 | requires-port "^1.0.0" 624 | 625 | iconv-lite@0.4.24: 626 | version "0.4.24" 627 | resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.4.24.tgz#2022b4b25fbddc21d2f524974a474aafe733908b" 628 | integrity sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA== 629 | dependencies: 630 | safer-buffer ">= 2.1.2 < 3" 631 | 632 | inflight@^1.0.4: 633 | version "1.0.6" 634 | resolved "https://registry.yarnpkg.com/inflight/-/inflight-1.0.6.tgz#49bd6331d7d02d0c09bc910a1075ba8165b56df9" 635 | integrity sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA== 636 | dependencies: 637 | once "^1.3.0" 638 | wrappy "1" 639 | 640 | inherits@2, inherits@2.0.4, inherits@^2.0.1, inherits@~2.0.1, inherits@~2.0.3: 641 | version "2.0.4" 642 | resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.4.tgz#0fa2c64f932917c3433a0ded55363aae37416b7c" 643 | integrity sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ== 644 | 645 | invariant@^2.2.2: 646 | version "2.2.4" 647 | resolved "https://registry.yarnpkg.com/invariant/-/invariant-2.2.4.tgz#610f3c92c9359ce1db616e538008d23ff35158e6" 648 | integrity sha512-phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA== 649 | dependencies: 650 | loose-envify "^1.0.0" 651 | 652 | is-binary-path@~2.1.0: 653 | version "2.1.0" 654 | resolved "https://registry.yarnpkg.com/is-binary-path/-/is-binary-path-2.1.0.tgz#ea1f7f3b80f064236e83470f86c09c254fb45b09" 655 | integrity sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw== 656 | dependencies: 657 | binary-extensions "^2.0.0" 658 | 659 | is-core-module@^2.9.0: 660 | version "2.10.0" 661 | resolved "https://registry.yarnpkg.com/is-core-module/-/is-core-module-2.10.0.tgz#9012ede0a91c69587e647514e1d5277019e728ed" 662 | integrity sha512-Erxj2n/LDAZ7H8WNJXd9tw38GYM3dv8rk8Zcs+jJuxYTW7sozH+SS8NtrSjVL1/vpLvWi1hxy96IzjJ3EHTJJg== 663 | dependencies: 664 | has "^1.0.3" 665 | 666 | is-docker@^2.0.0: 667 | version "2.2.1" 668 | resolved "https://registry.yarnpkg.com/is-docker/-/is-docker-2.2.1.tgz#33eeabe23cfe86f14bde4408a02c0cfb853acdaa" 669 | integrity sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ== 670 | 671 | is-extglob@^2.1.1: 672 | version "2.1.1" 673 | resolved "https://registry.yarnpkg.com/is-extglob/-/is-extglob-2.1.1.tgz#a88c02535791f02ed37c76a1b9ea9773c833f8c2" 674 | integrity sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ== 675 | 676 | is-fullwidth-code-point@^3.0.0: 677 | version "3.0.0" 678 | resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz#f116f8064fe90b3f7844a38997c0b75051269f1d" 679 | integrity sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg== 680 | 681 | is-glob@^4.0.1, is-glob@~4.0.1: 682 | version "4.0.3" 683 | resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-4.0.3.tgz#64f61e42cbbb2eec2071a9dac0b28ba1e65d5084" 684 | integrity sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg== 685 | dependencies: 686 | is-extglob "^2.1.1" 687 | 688 | is-number@^7.0.0: 689 | version "7.0.0" 690 | resolved "https://registry.yarnpkg.com/is-number/-/is-number-7.0.0.tgz#7535345b896734d5f80c4d06c50955527a14f12b" 691 | integrity sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng== 692 | 693 | is-wsl@^2.1.0: 694 | version "2.2.0" 695 | resolved "https://registry.yarnpkg.com/is-wsl/-/is-wsl-2.2.0.tgz#74a4c76e77ca9fd3f932f290c17ea326cd157271" 696 | integrity sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww== 697 | dependencies: 698 | is-docker "^2.0.0" 699 | 700 | isarray@~1.0.0: 701 | version "1.0.0" 702 | resolved "https://registry.yarnpkg.com/isarray/-/isarray-1.0.0.tgz#bb935d48582cba168c06834957a54a3e07124f11" 703 | integrity sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ== 704 | 705 | isbinaryfile@^4.0.8: 706 | version "4.0.10" 707 | resolved "https://registry.yarnpkg.com/isbinaryfile/-/isbinaryfile-4.0.10.tgz#0c5b5e30c2557a2f06febd37b7322946aaee42b3" 708 | integrity sha512-iHrqe5shvBUcFbmZq9zOQHBoeOhZJu6RQGrDpBgenUm/Am+F3JM2MgQj+rK3Z601fzrL5gLZWtAPH2OBaSVcyw== 709 | 710 | "js-tokens@^3.0.0 || ^4.0.0": 711 | version "4.0.0" 712 | resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-4.0.0.tgz#19203fb59991df98e3a287050d4647cdeaf32499" 713 | integrity sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ== 714 | 715 | js-tokens@^3.0.2: 716 | version "3.0.2" 717 | resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-3.0.2.tgz#9866df395102130e38f7f996bceb65443209c25b" 718 | integrity sha512-RjTcuD4xjtthQkaWH7dFlH85L+QaVtSoOyGdZ3g6HFhS9dFNDfLyqgm2NFe2X6cQpeFmt0452FJjFG5UameExg== 719 | 720 | jsonfile@^4.0.0: 721 | version "4.0.0" 722 | resolved "https://registry.yarnpkg.com/jsonfile/-/jsonfile-4.0.0.tgz#8771aae0799b64076b76640fca058f9c10e33ecb" 723 | integrity sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg== 724 | optionalDependencies: 725 | graceful-fs "^4.1.6" 726 | 727 | jsonparse@^1.2.0: 728 | version "1.3.1" 729 | resolved "https://registry.yarnpkg.com/jsonparse/-/jsonparse-1.3.1.tgz#3f4dae4a91fac315f71062f8521cc239f1366280" 730 | integrity sha512-POQXvpdL69+CluYsillJ7SUhKvytYjW9vG/GKpnf+xP8UWgYEM/RaMzHHofbALDiKbbP1W8UEYmgGl39WkPZsg== 731 | 732 | karma-cljs-test@^0.1.0: 733 | version "0.1.0" 734 | resolved "https://registry.yarnpkg.com/karma-cljs-test/-/karma-cljs-test-0.1.0.tgz#cb8605ef0e11f9a6f6d28f56ba5dbdf26f389923" 735 | integrity sha512-fd4aLynTv3htQCUS+OV1HfoB9UqYfEVFruKxkfTE3zB2aoSCHD966ZitSSgUeVYahWiaCK0XHZp9cB39t65cLQ== 736 | 737 | karma-firefox-launcher@^1.1.0: 738 | version "1.3.0" 739 | resolved "https://registry.yarnpkg.com/karma-firefox-launcher/-/karma-firefox-launcher-1.3.0.tgz#ebcbb1d1ddfada6be900eb8fae25bcf2dcdc8171" 740 | integrity sha512-Fi7xPhwrRgr+94BnHX0F5dCl1miIW4RHnzjIGxF8GaIEp7rNqX7LSi7ok63VXs3PS/5MQaQMhGxw+bvD+pibBQ== 741 | dependencies: 742 | is-wsl "^2.1.0" 743 | 744 | karma@^6.3.16: 745 | version "6.3.16" 746 | resolved "https://registry.yarnpkg.com/karma/-/karma-6.3.16.tgz#76d1a705fd1cf864ee5ed85270b572641e0958ef" 747 | integrity sha512-nEU50jLvDe5yvXqkEJRf8IuvddUkOY2x5Xc4WXHz6dxINgGDrgD2uqQWeVrJs4hbfNaotn+HQ1LZJ4yOXrL7xQ== 748 | dependencies: 749 | body-parser "^1.19.0" 750 | braces "^3.0.2" 751 | chokidar "^3.5.1" 752 | colors "1.4.0" 753 | connect "^3.7.0" 754 | di "^0.0.1" 755 | dom-serialize "^2.2.1" 756 | glob "^7.1.7" 757 | graceful-fs "^4.2.6" 758 | http-proxy "^1.18.1" 759 | isbinaryfile "^4.0.8" 760 | lodash "^4.17.21" 761 | log4js "^6.4.1" 762 | mime "^2.5.2" 763 | minimatch "^3.0.4" 764 | mkdirp "^0.5.5" 765 | qjobs "^1.2.0" 766 | range-parser "^1.2.1" 767 | rimraf "^3.0.2" 768 | socket.io "^4.2.0" 769 | source-map "^0.6.1" 770 | tmp "^0.2.1" 771 | ua-parser-js "^0.7.30" 772 | yargs "^16.1.1" 773 | 774 | konan@1.1.0: 775 | version "1.1.0" 776 | resolved "https://registry.yarnpkg.com/konan/-/konan-1.1.0.tgz#337743c4b97b4bd1ef8b62a24b315eb8bc4b2094" 777 | integrity sha512-I0rYNCtiPMQCOVkdDxm8TcQCIOBPwNJ3uwj98MkeVSMdo/iznnuOXfJLemxR3iXkmOa36RzNKnbvZpfK+H/7OA== 778 | dependencies: 779 | babel-traverse "^6.23.1" 780 | babylon "^6.15.0" 781 | 782 | lodash@^4.17.21, lodash@^4.17.4: 783 | version "4.17.21" 784 | resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.21.tgz#679591c564c3bffaae8454cf0b3df370c3d6911c" 785 | integrity sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg== 786 | 787 | log4js@^6.4.1: 788 | version "6.6.1" 789 | resolved "https://registry.yarnpkg.com/log4js/-/log4js-6.6.1.tgz#48f23de8a87d2f5ffd3d913f24ca9ce77895272f" 790 | integrity sha512-J8VYFH2UQq/xucdNu71io4Fo+purYYudyErgBbswWKO0MC6QVOERRomt5su/z6d3RJSmLyTGmXl3Q/XjKCf+/A== 791 | dependencies: 792 | date-format "^4.0.13" 793 | debug "^4.3.4" 794 | flatted "^3.2.6" 795 | rfdc "^1.3.0" 796 | streamroller "^3.1.2" 797 | 798 | loose-envify@^1.0.0: 799 | version "1.4.0" 800 | resolved "https://registry.yarnpkg.com/loose-envify/-/loose-envify-1.4.0.tgz#71ee51fa7be4caec1a63839f7e682d8132d30caf" 801 | integrity sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q== 802 | dependencies: 803 | js-tokens "^3.0.0 || ^4.0.0" 804 | 805 | media-typer@0.3.0: 806 | version "0.3.0" 807 | resolved "https://registry.yarnpkg.com/media-typer/-/media-typer-0.3.0.tgz#8710d7af0aa626f8fffa1ce00168545263255748" 808 | integrity sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ== 809 | 810 | memory-fs@^0.4.0: 811 | version "0.4.1" 812 | resolved "https://registry.yarnpkg.com/memory-fs/-/memory-fs-0.4.1.tgz#3a9a20b8462523e447cfbc7e8bb80ed667bfc552" 813 | integrity sha512-cda4JKCxReDXFXRqOHPQscuIYg1PvxbE2S2GP45rnwfEK+vZaXC8C1OFvdHIbgw0DLzowXGVoxLaAmlgRy14GQ== 814 | dependencies: 815 | errno "^0.1.3" 816 | readable-stream "^2.0.1" 817 | 818 | mime-db@1.52.0: 819 | version "1.52.0" 820 | resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.52.0.tgz#bbabcdc02859f4987301c856e3387ce5ec43bf70" 821 | integrity sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg== 822 | 823 | mime-types@~2.1.24, mime-types@~2.1.34: 824 | version "2.1.35" 825 | resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.35.tgz#381a871b62a734450660ae3deee44813f70d959a" 826 | integrity sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw== 827 | dependencies: 828 | mime-db "1.52.0" 829 | 830 | mime@^2.5.2: 831 | version "2.6.0" 832 | resolved "https://registry.yarnpkg.com/mime/-/mime-2.6.0.tgz#a2a682a95cd4d0cb1d6257e28f83da7e35800367" 833 | integrity sha512-USPkMeET31rOMiarsBNIHZKLGgvKc/LrjofAnBlOttf5ajRvqiRA8QsenbcooctK6d6Ts6aqZXBA+XbkKthiQg== 834 | 835 | minimatch@^3.0.4, minimatch@^3.1.1: 836 | version "3.1.2" 837 | resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.1.2.tgz#19cd194bfd3e428f049a70817c038d89ab4be35b" 838 | integrity sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw== 839 | dependencies: 840 | brace-expansion "^1.1.7" 841 | 842 | minimist@^1.1.0, minimist@^1.2.6: 843 | version "1.2.6" 844 | resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.6.tgz#8637a5b759ea0d6e98702cfb3a9283323c93af44" 845 | integrity sha512-Jsjnk4bw3YJqYzbdyBiNsPWHPfO++UGG749Cxs6peCu5Xg4nrena6OVxOYxrQTqww0Jmwt+Ref8rggumkTLz9Q== 846 | 847 | mkdirp@^0.5.5: 848 | version "0.5.6" 849 | resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-0.5.6.tgz#7def03d2432dcae4ba1d611445c48396062255f6" 850 | integrity sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw== 851 | dependencies: 852 | minimist "^1.2.6" 853 | 854 | ms@2.0.0: 855 | version "2.0.0" 856 | resolved "https://registry.yarnpkg.com/ms/-/ms-2.0.0.tgz#5608aeadfc00be6c2901df5f9861788de0d597c8" 857 | integrity sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A== 858 | 859 | ms@2.1.2: 860 | version "2.1.2" 861 | resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.2.tgz#d09d1f357b443f493382a8eb3ccd183872ae6009" 862 | integrity sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w== 863 | 864 | negotiator@0.6.3: 865 | version "0.6.3" 866 | resolved "https://registry.yarnpkg.com/negotiator/-/negotiator-0.6.3.tgz#58e323a72fedc0d6f9cd4d31fe49f51479590ccd" 867 | integrity sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg== 868 | 869 | normalize-path@^3.0.0, normalize-path@~3.0.0: 870 | version "3.0.0" 871 | resolved "https://registry.yarnpkg.com/normalize-path/-/normalize-path-3.0.0.tgz#0dcd69ff23a1c9b11fd0978316644a0388216a65" 872 | integrity sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA== 873 | 874 | object-assign@^4, object-assign@^4.0.1: 875 | version "4.1.1" 876 | resolved "https://registry.yarnpkg.com/object-assign/-/object-assign-4.1.1.tgz#2109adc7965887cfc05cbbd442cac8bfbb360863" 877 | integrity sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg== 878 | 879 | object-inspect@^1.9.0: 880 | version "1.12.2" 881 | resolved "https://registry.yarnpkg.com/object-inspect/-/object-inspect-1.12.2.tgz#c0641f26394532f28ab8d796ab954e43c009a8ea" 882 | integrity sha512-z+cPxW0QGUp0mcqcsgQyLVRDoXFQbXOwBaqyF7VIgI4TWNQsDHrBpUQslRmIfAoYWdYzs6UlKJtB2XJpTaNSpQ== 883 | 884 | on-finished@2.4.1: 885 | version "2.4.1" 886 | resolved "https://registry.yarnpkg.com/on-finished/-/on-finished-2.4.1.tgz#58c8c44116e54845ad57f14ab10b03533184ac3f" 887 | integrity sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg== 888 | dependencies: 889 | ee-first "1.1.1" 890 | 891 | on-finished@~2.3.0: 892 | version "2.3.0" 893 | resolved "https://registry.yarnpkg.com/on-finished/-/on-finished-2.3.0.tgz#20f1336481b083cd75337992a16971aa2d906947" 894 | integrity sha512-ikqdkGAAyf/X/gPhXGvfgAytDZtDbr+bkNUJ0N9h5MI/dmdgCs3l6hoHrcUv41sRKew3jIwrp4qQDXiK99Utww== 895 | dependencies: 896 | ee-first "1.1.1" 897 | 898 | once@^1.3.0: 899 | version "1.4.0" 900 | resolved "https://registry.yarnpkg.com/once/-/once-1.4.0.tgz#583b1aa775961d4b113ac17d9c50baef9dd76bd1" 901 | integrity sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w== 902 | dependencies: 903 | wrappy "1" 904 | 905 | parents@^1.0.0: 906 | version "1.0.1" 907 | resolved "https://registry.yarnpkg.com/parents/-/parents-1.0.1.tgz#fedd4d2bf193a77745fe71e371d73c3307d9c751" 908 | integrity sha512-mXKF3xkoUt5td2DoxpLmtOmZvko9VfFpwRwkKDHSNvgmpLAeBo18YDhcPbBzJq+QLCHMbGOfzia2cX4U+0v9Mg== 909 | dependencies: 910 | path-platform "~0.11.15" 911 | 912 | parseurl@~1.3.3: 913 | version "1.3.3" 914 | resolved "https://registry.yarnpkg.com/parseurl/-/parseurl-1.3.3.tgz#9da19e7bee8d12dff0513ed5b76957793bc2e8d4" 915 | integrity sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ== 916 | 917 | path-is-absolute@^1.0.0: 918 | version "1.0.1" 919 | resolved "https://registry.yarnpkg.com/path-is-absolute/-/path-is-absolute-1.0.1.tgz#174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f" 920 | integrity sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg== 921 | 922 | path-parse@^1.0.7: 923 | version "1.0.7" 924 | resolved "https://registry.yarnpkg.com/path-parse/-/path-parse-1.0.7.tgz#fbc114b60ca42b30d9daf5858e4bd68bbedb6735" 925 | integrity sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw== 926 | 927 | path-platform@~0.11.15: 928 | version "0.11.15" 929 | resolved "https://registry.yarnpkg.com/path-platform/-/path-platform-0.11.15.tgz#e864217f74c36850f0852b78dc7bf7d4a5721bf2" 930 | integrity sha512-Y30dB6rab1A/nfEKsZxmr01nUotHX0c/ZiIAsCTatEe1CmS5Pm5He7fZ195bPT7RdquoaL8lLxFCMQi/bS7IJg== 931 | 932 | picomatch@^2.0.4, picomatch@^2.2.1: 933 | version "2.3.1" 934 | resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-2.3.1.tgz#3ba3833733646d9d3e4995946c1365a67fb07a42" 935 | integrity sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA== 936 | 937 | process-nextick-args@~1.0.6: 938 | version "1.0.7" 939 | resolved "https://registry.yarnpkg.com/process-nextick-args/-/process-nextick-args-1.0.7.tgz#150e20b756590ad3f91093f25a4f2ad8bff30ba3" 940 | integrity sha512-yN0WQmuCX63LP/TMvAg31nvT6m4vDqJEiiv2CAZqWOGNWutc9DfDk1NPYYmKUFmaVM2UwDowH4u5AHWYP/jxKw== 941 | 942 | process-nextick-args@~2.0.0: 943 | version "2.0.1" 944 | resolved "https://registry.yarnpkg.com/process-nextick-args/-/process-nextick-args-2.0.1.tgz#7820d9b16120cc55ca9ae7792680ae7dba6d7fe2" 945 | integrity sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag== 946 | 947 | prr@~1.0.1: 948 | version "1.0.1" 949 | resolved "https://registry.yarnpkg.com/prr/-/prr-1.0.1.tgz#d3fc114ba06995a45ec6893f484ceb1d78f5f476" 950 | integrity sha512-yPw4Sng1gWghHQWj0B3ZggWUm4qVbPwPFcRG8KyxiU7J2OHFSoEHKS+EZ3fv5l1t9CyCiop6l/ZYeWbrgoQejw== 951 | 952 | qjobs@^1.2.0: 953 | version "1.2.0" 954 | resolved "https://registry.yarnpkg.com/qjobs/-/qjobs-1.2.0.tgz#c45e9c61800bd087ef88d7e256423bdd49e5d071" 955 | integrity sha512-8YOJEHtxpySA3fFDyCRxA+UUV+fA+rTWnuWvylOK/NCjhY+b4ocCtmu8TtsWb+mYeU+GCHf/S66KZF/AsteKHg== 956 | 957 | qs@6.10.3: 958 | version "6.10.3" 959 | resolved "https://registry.yarnpkg.com/qs/-/qs-6.10.3.tgz#d6cde1b2ffca87b5aa57889816c5f81535e22e8e" 960 | integrity sha512-wr7M2E0OFRfIfJZjKGieI8lBKb7fRCH4Fv5KNPEs7gJ8jadvotdsS08PzOKR7opXhZ/Xkjtt3WF9g38drmyRqQ== 961 | dependencies: 962 | side-channel "^1.0.4" 963 | 964 | range-parser@^1.2.1: 965 | version "1.2.1" 966 | resolved "https://registry.yarnpkg.com/range-parser/-/range-parser-1.2.1.tgz#3cf37023d199e1c24d1a55b84800c2f3e6468031" 967 | integrity sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg== 968 | 969 | raw-body@2.5.1: 970 | version "2.5.1" 971 | resolved "https://registry.yarnpkg.com/raw-body/-/raw-body-2.5.1.tgz#fe1b1628b181b700215e5fd42389f98b71392857" 972 | integrity sha512-qqJBtEyVgS0ZmPGdCFPWJ3FreoqvG4MVQln/kCgF7Olq95IbOp0/BWyMwbdtn4VTvkM8Y7khCQ2Xgk/tcrCXig== 973 | dependencies: 974 | bytes "3.1.2" 975 | http-errors "2.0.0" 976 | iconv-lite "0.4.24" 977 | unpipe "1.0.0" 978 | 979 | readable-stream@^2.0.1, readable-stream@^2.0.2, readable-stream@~2.3.6: 980 | version "2.3.7" 981 | resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.3.7.tgz#1eca1cf711aef814c04f62252a36a62f6cb23b57" 982 | integrity sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw== 983 | dependencies: 984 | core-util-is "~1.0.0" 985 | inherits "~2.0.3" 986 | isarray "~1.0.0" 987 | process-nextick-args "~2.0.0" 988 | safe-buffer "~5.1.1" 989 | string_decoder "~1.1.1" 990 | util-deprecate "~1.0.1" 991 | 992 | readable-stream@~2.0.0: 993 | version "2.0.6" 994 | resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.0.6.tgz#8f90341e68a53ccc928788dacfcd11b36eb9b78e" 995 | integrity sha512-TXcFfb63BQe1+ySzsHZI/5v1aJPCShfqvWJ64ayNImXMsN1Cd0YGk/wm8KB7/OeessgPc9QvS9Zou8QTkFzsLw== 996 | dependencies: 997 | core-util-is "~1.0.0" 998 | inherits "~2.0.1" 999 | isarray "~1.0.0" 1000 | process-nextick-args "~1.0.6" 1001 | string_decoder "~0.10.x" 1002 | util-deprecate "~1.0.1" 1003 | 1004 | readdirp@~3.6.0: 1005 | version "3.6.0" 1006 | resolved "https://registry.yarnpkg.com/readdirp/-/readdirp-3.6.0.tgz#74a370bd857116e245b29cc97340cd431a02a6c7" 1007 | integrity sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA== 1008 | dependencies: 1009 | picomatch "^2.2.1" 1010 | 1011 | regenerator-runtime@^0.11.0: 1012 | version "0.11.1" 1013 | resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.11.1.tgz#be05ad7f9bf7d22e056f9726cee5017fbf19e2e9" 1014 | integrity sha512-MguG95oij0fC3QV3URf4V2SDYGJhJnJGqvIIgdECeODCT98wSWDAJ94SSuVpYQUoTcGUIL6L4yNB7j1DFFHSBg== 1015 | 1016 | require-directory@^2.1.1: 1017 | version "2.1.1" 1018 | resolved "https://registry.yarnpkg.com/require-directory/-/require-directory-2.1.1.tgz#8c64ad5fd30dab1c976e2344ffe7f792a6a6df42" 1019 | integrity sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q== 1020 | 1021 | requires-port@^1.0.0: 1022 | version "1.0.0" 1023 | resolved "https://registry.yarnpkg.com/requires-port/-/requires-port-1.0.0.tgz#925d2601d39ac485e091cf0da5c6e694dc3dcaff" 1024 | integrity sha512-KigOCHcocU3XODJxsu8i/j8T9tzT4adHiecwORRQ0ZZFcp7ahwXuRU1m+yuO90C5ZUyGeGfocHDI14M3L3yDAQ== 1025 | 1026 | resolve@1.1.7: 1027 | version "1.1.7" 1028 | resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.1.7.tgz#203114d82ad2c5ed9e8e0411b3932875e889e97b" 1029 | integrity sha512-9znBF0vBcaSN3W2j7wKvdERPwqTxSpCq+if5C0WoTCyV9n24rua28jeuQ2pL/HOf+yUe/Mef+H/5p60K0Id3bg== 1030 | 1031 | resolve@^1.1.3: 1032 | version "1.22.1" 1033 | resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.22.1.tgz#27cb2ebb53f91abb49470a928bba7558066ac177" 1034 | integrity sha512-nBpuuYuY5jFsli/JIs1oldw6fOQCBioohqWZg/2hiaOybXOft4lonv85uDOKXdf8rhyK159cxU5cDcK/NKk8zw== 1035 | dependencies: 1036 | is-core-module "^2.9.0" 1037 | path-parse "^1.0.7" 1038 | supports-preserve-symlinks-flag "^1.0.0" 1039 | 1040 | rfdc@^1.3.0: 1041 | version "1.3.0" 1042 | resolved "https://registry.yarnpkg.com/rfdc/-/rfdc-1.3.0.tgz#d0b7c441ab2720d05dc4cf26e01c89631d9da08b" 1043 | integrity sha512-V2hovdzFbOi77/WajaSMXk2OLm+xNIeQdMMuB7icj7bk6zi2F8GGAxigcnDFpJHbNyNcgyJDiP+8nOrY5cZGrA== 1044 | 1045 | rimraf@^3.0.0, rimraf@^3.0.2: 1046 | version "3.0.2" 1047 | resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-3.0.2.tgz#f1a5402ba6220ad52cc1282bac1ae3aa49fd061a" 1048 | integrity sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA== 1049 | dependencies: 1050 | glob "^7.1.3" 1051 | 1052 | safe-buffer@~5.1.0, safe-buffer@~5.1.1: 1053 | version "5.1.2" 1054 | resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.1.2.tgz#991ec69d296e0313747d59bdfd2b745c35f8828d" 1055 | integrity sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g== 1056 | 1057 | "safer-buffer@>= 2.1.2 < 3": 1058 | version "2.1.2" 1059 | resolved "https://registry.yarnpkg.com/safer-buffer/-/safer-buffer-2.1.2.tgz#44fa161b0187b9549dd84bb91802f9bd8385cd6a" 1060 | integrity sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg== 1061 | 1062 | setprototypeof@1.2.0: 1063 | version "1.2.0" 1064 | resolved "https://registry.yarnpkg.com/setprototypeof/-/setprototypeof-1.2.0.tgz#66c9a24a73f9fc28cbe66b09fed3d33dcaf1b424" 1065 | integrity sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw== 1066 | 1067 | side-channel@^1.0.4: 1068 | version "1.0.4" 1069 | resolved "https://registry.yarnpkg.com/side-channel/-/side-channel-1.0.4.tgz#efce5c8fdc104ee751b25c58d4290011fa5ea2cf" 1070 | integrity sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw== 1071 | dependencies: 1072 | call-bind "^1.0.0" 1073 | get-intrinsic "^1.0.2" 1074 | object-inspect "^1.9.0" 1075 | 1076 | socket.io-adapter@~2.4.0: 1077 | version "2.4.0" 1078 | resolved "https://registry.yarnpkg.com/socket.io-adapter/-/socket.io-adapter-2.4.0.tgz#b50a4a9ecdd00c34d4c8c808224daa1a786152a6" 1079 | integrity sha512-W4N+o69rkMEGVuk2D/cvca3uYsvGlMwsySWV447y99gUPghxq42BxqLNMndb+a1mm/5/7NeXVQS7RLa2XyXvYg== 1080 | 1081 | socket.io-parser@~4.2.0: 1082 | version "4.2.1" 1083 | resolved "https://registry.yarnpkg.com/socket.io-parser/-/socket.io-parser-4.2.1.tgz#01c96efa11ded938dcb21cbe590c26af5eff65e5" 1084 | integrity sha512-V4GrkLy+HeF1F/en3SpUaM+7XxYXpuMUWLGde1kSSh5nQMN4hLrbPIkD+otwh6q9R6NOQBN4AMaOZ2zVjui82g== 1085 | dependencies: 1086 | "@socket.io/component-emitter" "~3.1.0" 1087 | debug "~4.3.1" 1088 | 1089 | socket.io@^4.2.0: 1090 | version "4.5.2" 1091 | resolved "https://registry.yarnpkg.com/socket.io/-/socket.io-4.5.2.tgz#1eb25fd380ab3d63470aa8279f8e48d922d443ac" 1092 | integrity sha512-6fCnk4ARMPZN448+SQcnn1u8OHUC72puJcNtSgg2xS34Cu7br1gQ09YKkO1PFfDn/wyUE9ZgMAwosJed003+NQ== 1093 | dependencies: 1094 | accepts "~1.3.4" 1095 | base64id "~2.0.0" 1096 | debug "~4.3.2" 1097 | engine.io "~6.2.0" 1098 | socket.io-adapter "~2.4.0" 1099 | socket.io-parser "~4.2.0" 1100 | 1101 | source-map@^0.6.1: 1102 | version "0.6.1" 1103 | resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.6.1.tgz#74722af32e9614e9c287a8d0bbde48b5e2f1a263" 1104 | integrity sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g== 1105 | 1106 | statuses@2.0.1: 1107 | version "2.0.1" 1108 | resolved "https://registry.yarnpkg.com/statuses/-/statuses-2.0.1.tgz#55cb000ccf1d48728bd23c685a063998cf1a1b63" 1109 | integrity sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ== 1110 | 1111 | statuses@~1.5.0: 1112 | version "1.5.0" 1113 | resolved "https://registry.yarnpkg.com/statuses/-/statuses-1.5.0.tgz#161c7dac177659fd9811f43771fa99381478628c" 1114 | integrity sha512-OpZ3zP+jT1PI7I8nemJX4AKmAX070ZkYPVWV/AaKTJl+tXCTGyVdC1a4SL8RUQYEwk/f34ZX8UTykN68FwrqAA== 1115 | 1116 | stream-combiner2@^1.1.1: 1117 | version "1.1.1" 1118 | resolved "https://registry.yarnpkg.com/stream-combiner2/-/stream-combiner2-1.1.1.tgz#fb4d8a1420ea362764e21ad4780397bebcb41cbe" 1119 | integrity sha512-3PnJbYgS56AeWgtKF5jtJRT6uFJe56Z0Hc5Ngg/6sI6rIt8iiMBTa9cvdyFfpMQjaVHr8dusbNeFGIIonxOvKw== 1120 | dependencies: 1121 | duplexer2 "~0.1.0" 1122 | readable-stream "^2.0.2" 1123 | 1124 | streamroller@^3.1.2: 1125 | version "3.1.2" 1126 | resolved "https://registry.yarnpkg.com/streamroller/-/streamroller-3.1.2.tgz#abd444560768b340f696307cf84d3f46e86c0e63" 1127 | integrity sha512-wZswqzbgGGsXYIrBYhOE0yP+nQ6XRk7xDcYwuQAGTYXdyAUmvgVFE0YU1g5pvQT0m7GBaQfYcSnlHbapuK0H0A== 1128 | dependencies: 1129 | date-format "^4.0.13" 1130 | debug "^4.3.4" 1131 | fs-extra "^8.1.0" 1132 | 1133 | string-width@^4.1.0, string-width@^4.2.0: 1134 | version "4.2.3" 1135 | resolved "https://registry.yarnpkg.com/string-width/-/string-width-4.2.3.tgz#269c7117d27b05ad2e536830a8ec895ef9c6d010" 1136 | integrity sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g== 1137 | dependencies: 1138 | emoji-regex "^8.0.0" 1139 | is-fullwidth-code-point "^3.0.0" 1140 | strip-ansi "^6.0.1" 1141 | 1142 | string_decoder@~0.10.x: 1143 | version "0.10.31" 1144 | resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-0.10.31.tgz#62e203bc41766c6c28c9fc84301dab1c5310fa94" 1145 | integrity sha512-ev2QzSzWPYmy9GuqfIVildA4OdcGLeFZQrq5ys6RtiuF+RQQiZWr8TZNyAcuVXyQRYfEO+MsoB/1BuQVhOJuoQ== 1146 | 1147 | string_decoder@~1.1.1: 1148 | version "1.1.1" 1149 | resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.1.1.tgz#9cf1611ba62685d7030ae9e4ba34149c3af03fc8" 1150 | integrity sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg== 1151 | dependencies: 1152 | safe-buffer "~5.1.0" 1153 | 1154 | strip-ansi@^3.0.0: 1155 | version "3.0.1" 1156 | resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-3.0.1.tgz#6a385fb8853d952d5ff05d0e8aaf94278dc63dcf" 1157 | integrity sha512-VhumSSbBqDTP8p2ZLKj40UjBCV4+v8bUSEpUb4KjRgWk9pbqGF4REFj6KEagidb2f/M6AzC0EmFyDNGaw9OCzg== 1158 | dependencies: 1159 | ansi-regex "^2.0.0" 1160 | 1161 | strip-ansi@^6.0.0, strip-ansi@^6.0.1: 1162 | version "6.0.1" 1163 | resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-6.0.1.tgz#9e26c63d30f53443e9489495b2105d37b67a85d9" 1164 | integrity sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A== 1165 | dependencies: 1166 | ansi-regex "^5.0.1" 1167 | 1168 | subarg@^1.0.0: 1169 | version "1.0.0" 1170 | resolved "https://registry.yarnpkg.com/subarg/-/subarg-1.0.0.tgz#f62cf17581e996b48fc965699f54c06ae268b8d2" 1171 | integrity sha512-RIrIdRY0X1xojthNcVtgT9sjpOGagEUKpZdgBUi054OEPFo282yg+zE+t1Rj3+RqKq2xStL7uUHhY+AjbC4BXg== 1172 | dependencies: 1173 | minimist "^1.1.0" 1174 | 1175 | supports-color@^2.0.0: 1176 | version "2.0.0" 1177 | resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-2.0.0.tgz#535d045ce6b6363fa40117084629995e9df324c7" 1178 | integrity sha512-KKNVtd6pCYgPIKU4cp2733HWYCpplQhddZLBUryaAHou723x+FRzQ5Df824Fj+IyyuiQTRoub4SnIFfIcrp70g== 1179 | 1180 | supports-preserve-symlinks-flag@^1.0.0: 1181 | version "1.0.0" 1182 | resolved "https://registry.yarnpkg.com/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz#6eda4bd344a3c94aea376d4cc31bc77311039e09" 1183 | integrity sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w== 1184 | 1185 | tapable@^0.2.7: 1186 | version "0.2.9" 1187 | resolved "https://registry.yarnpkg.com/tapable/-/tapable-0.2.9.tgz#af2d8bbc9b04f74ee17af2b4d9048f807acd18a8" 1188 | integrity sha512-2wsvQ+4GwBvLPLWsNfLCDYGsW6xb7aeC6utq2Qh0PFwgEy7K7dsma9Jsmb2zSQj7GvYAyUGSntLtsv++GmgL1A== 1189 | 1190 | through2@^2.0.0: 1191 | version "2.0.5" 1192 | resolved "https://registry.yarnpkg.com/through2/-/through2-2.0.5.tgz#01c1e39eb31d07cb7d03a96a70823260b23132cd" 1193 | integrity sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ== 1194 | dependencies: 1195 | readable-stream "~2.3.6" 1196 | xtend "~4.0.1" 1197 | 1198 | "through@>=2.2.7 <3": 1199 | version "2.3.8" 1200 | resolved "https://registry.yarnpkg.com/through/-/through-2.3.8.tgz#0dd4c9ffaabc357960b1b724115d7e0e86a2e1f5" 1201 | integrity sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg== 1202 | 1203 | tmp@^0.2.1: 1204 | version "0.2.1" 1205 | resolved "https://registry.yarnpkg.com/tmp/-/tmp-0.2.1.tgz#8457fc3037dcf4719c251367a1af6500ee1ccf14" 1206 | integrity sha512-76SUhtfqR2Ijn+xllcI5P1oyannHNHByD80W1q447gU3mp9G9PSpGdWmjUOHRDPiHYacIk66W7ubDTuPF3BEtQ== 1207 | dependencies: 1208 | rimraf "^3.0.0" 1209 | 1210 | to-fast-properties@^1.0.3: 1211 | version "1.0.3" 1212 | resolved "https://registry.yarnpkg.com/to-fast-properties/-/to-fast-properties-1.0.3.tgz#b83571fa4d8c25b82e231b06e3a3055de4ca1a47" 1213 | integrity sha512-lxrWP8ejsq+7E3nNjwYmUBMAgjMTZoTI+sdBOpvNyijeDLa29LUn9QaoXAHv4+Z578hbmHHJKZknzxVtvo77og== 1214 | 1215 | to-regex-range@^5.0.1: 1216 | version "5.0.1" 1217 | resolved "https://registry.yarnpkg.com/to-regex-range/-/to-regex-range-5.0.1.tgz#1648c44aae7c8d988a326018ed72f5b4dd0392e4" 1218 | integrity sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ== 1219 | dependencies: 1220 | is-number "^7.0.0" 1221 | 1222 | toidentifier@1.0.1: 1223 | version "1.0.1" 1224 | resolved "https://registry.yarnpkg.com/toidentifier/-/toidentifier-1.0.1.tgz#3be34321a88a820ed1bd80dfaa33e479fbb8dd35" 1225 | integrity sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA== 1226 | 1227 | type-is@~1.6.18: 1228 | version "1.6.18" 1229 | resolved "https://registry.yarnpkg.com/type-is/-/type-is-1.6.18.tgz#4e552cd05df09467dcbc4ef739de89f2cf37c131" 1230 | integrity sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g== 1231 | dependencies: 1232 | media-typer "0.3.0" 1233 | mime-types "~2.1.24" 1234 | 1235 | typedarray@~0.0.5: 1236 | version "0.0.6" 1237 | resolved "https://registry.yarnpkg.com/typedarray/-/typedarray-0.0.6.tgz#867ac74e3864187b1d3d47d996a78ec5c8830777" 1238 | integrity sha512-/aCDEGatGvZ2BIk+HmLf4ifCJFwvKFNb9/JeZPMulfgFracn9QFcAf5GO8B/mweUjSoblS5In0cWhqpfs/5PQA== 1239 | 1240 | ua-parser-js@^0.7.30: 1241 | version "0.7.31" 1242 | resolved "https://registry.yarnpkg.com/ua-parser-js/-/ua-parser-js-0.7.31.tgz#649a656b191dffab4f21d5e053e27ca17cbff5c6" 1243 | integrity sha512-qLK/Xe9E2uzmYI3qLeOmI0tEOt+TBBQyUIAh4aAgU05FVYzeZrKUdkAZfBNVGRaHVgV0TDkdEngJSw/SyQchkQ== 1244 | 1245 | universalify@^0.1.0: 1246 | version "0.1.2" 1247 | resolved "https://registry.yarnpkg.com/universalify/-/universalify-0.1.2.tgz#b646f69be3942dabcecc9d6639c80dc105efaa66" 1248 | integrity sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg== 1249 | 1250 | unpipe@1.0.0, unpipe@~1.0.0: 1251 | version "1.0.0" 1252 | resolved "https://registry.yarnpkg.com/unpipe/-/unpipe-1.0.0.tgz#b2bf4ee8514aae6165b4817829d21b2ef49904ec" 1253 | integrity sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ== 1254 | 1255 | util-deprecate@~1.0.1: 1256 | version "1.0.2" 1257 | resolved "https://registry.yarnpkg.com/util-deprecate/-/util-deprecate-1.0.2.tgz#450d4dc9fa70de732762fbd2d4a28981419a0ccf" 1258 | integrity sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw== 1259 | 1260 | utils-merge@1.0.1: 1261 | version "1.0.1" 1262 | resolved "https://registry.yarnpkg.com/utils-merge/-/utils-merge-1.0.1.tgz#9f95710f50a267947b2ccc124741c1028427e713" 1263 | integrity sha512-pMZTvIkT1d+TFGvDOqodOclx0QWkkgi6Tdoa8gC8ffGAAqz9pzPTZWAybbsHHoED/ztMtkv/VoYTYyShUn81hA== 1264 | 1265 | vary@^1: 1266 | version "1.1.2" 1267 | resolved "https://registry.yarnpkg.com/vary/-/vary-1.1.2.tgz#2299f02c6ded30d4a5961b0b9f74524a18f634fc" 1268 | integrity sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg== 1269 | 1270 | void-elements@^2.0.0: 1271 | version "2.0.1" 1272 | resolved "https://registry.yarnpkg.com/void-elements/-/void-elements-2.0.1.tgz#c066afb582bb1cb4128d60ea92392e94d5e9dbec" 1273 | integrity sha512-qZKX4RnBzH2ugr8Lxa7x+0V6XD9Sb/ouARtiasEQCHB1EVU4NXtmHsDDrx1dO4ne5fc3J6EW05BP1Dl0z0iung== 1274 | 1275 | wrap-ansi@^7.0.0: 1276 | version "7.0.0" 1277 | resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-7.0.0.tgz#67e145cff510a6a6984bdf1152911d69d2eb9e43" 1278 | integrity sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q== 1279 | dependencies: 1280 | ansi-styles "^4.0.0" 1281 | string-width "^4.1.0" 1282 | strip-ansi "^6.0.0" 1283 | 1284 | wrappy@1: 1285 | version "1.0.2" 1286 | resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f" 1287 | integrity sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ== 1288 | 1289 | ws@~8.2.3: 1290 | version "8.2.3" 1291 | resolved "https://registry.yarnpkg.com/ws/-/ws-8.2.3.tgz#63a56456db1b04367d0b721a0b80cae6d8becbba" 1292 | integrity sha512-wBuoj1BDpC6ZQ1B7DWQBYVLphPWkm8i9Y0/3YdHjHKHiohOJ1ws+3OccDWtH+PoC9DZD5WOTrJvNbWvjS6JWaA== 1293 | 1294 | xtend@^4.0.0, xtend@~4.0.1: 1295 | version "4.0.2" 1296 | resolved "https://registry.yarnpkg.com/xtend/-/xtend-4.0.2.tgz#bb72779f5fa465186b1f438f674fa347fdb5db54" 1297 | integrity sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ== 1298 | 1299 | y18n@^5.0.5: 1300 | version "5.0.8" 1301 | resolved "https://registry.yarnpkg.com/y18n/-/y18n-5.0.8.tgz#7f4934d0f7ca8c56f95314939ddcd2dd91ce1d55" 1302 | integrity sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA== 1303 | 1304 | yargs-parser@^20.2.2: 1305 | version "20.2.9" 1306 | resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-20.2.9.tgz#2eb7dc3b0289718fc295f362753845c41a0c94ee" 1307 | integrity sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w== 1308 | 1309 | yargs@^16.1.1: 1310 | version "16.2.0" 1311 | resolved "https://registry.yarnpkg.com/yargs/-/yargs-16.2.0.tgz#1c82bf0f6b6a66eafce7ef30e376f49a12477f66" 1312 | integrity sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw== 1313 | dependencies: 1314 | cliui "^7.0.2" 1315 | escalade "^3.1.1" 1316 | get-caller-file "^2.0.5" 1317 | require-directory "^2.1.1" 1318 | string-width "^4.2.0" 1319 | y18n "^5.0.5" 1320 | yargs-parser "^20.2.2" 1321 | --------------------------------------------------------------------------------