From ac61ceb1e6fffb10240271891d18131ff380f4f5 Mon Sep 17 00:00:00 2001 From: David Trattnig <david.trattnig@o94.at> Date: Tue, 25 Aug 2020 12:07:57 +0200 Subject: [PATCH] Created submodules. --- .gitmodules | 6 + contrib/aura-clock/.gitignore | 4 - contrib/aura-clock/README.md | 93 - contrib/aura-clock/package-lock.json | 2290 --------------------- contrib/aura-clock/package.json | 32 - contrib/aura-clock/public/favicon.png | Bin 19295 -> 0 bytes contrib/aura-clock/public/global.css | 66 - contrib/aura-clock/public/index.html | 26 - contrib/aura-clock/rollup.config.js | 72 - contrib/aura-clock/src/StudioClock.svelte | 490 ----- contrib/aura-clock/src/main.js | 1 - contrib/engine-api | 1 + contrib/engine-clock | 1 + 13 files changed, 8 insertions(+), 3074 deletions(-) create mode 100644 .gitmodules delete mode 100644 contrib/aura-clock/.gitignore delete mode 100644 contrib/aura-clock/README.md delete mode 100644 contrib/aura-clock/package-lock.json delete mode 100644 contrib/aura-clock/package.json delete mode 100644 contrib/aura-clock/public/favicon.png delete mode 100644 contrib/aura-clock/public/global.css delete mode 100644 contrib/aura-clock/public/index.html delete mode 100644 contrib/aura-clock/rollup.config.js delete mode 100644 contrib/aura-clock/src/StudioClock.svelte delete mode 100644 contrib/aura-clock/src/main.js create mode 160000 contrib/engine-api create mode 160000 contrib/engine-clock diff --git a/.gitmodules b/.gitmodules new file mode 100644 index 00000000..6325ce94 --- /dev/null +++ b/.gitmodules @@ -0,0 +1,6 @@ +[submodule "contrib/engine-clock"] + path = contrib/engine-clock + url = git@gitlab.servus.at:aura/engine-clock.git +[submodule "contrib/engine-api"] + path = contrib/engine-api + url = git@gitlab.servus.at:aura/engine-api.git diff --git a/contrib/aura-clock/.gitignore b/contrib/aura-clock/.gitignore deleted file mode 100644 index da93220b..00000000 --- a/contrib/aura-clock/.gitignore +++ /dev/null @@ -1,4 +0,0 @@ -/node_modules/ -/public/build/ - -.DS_Store diff --git a/contrib/aura-clock/README.md b/contrib/aura-clock/README.md deleted file mode 100644 index 234b0742..00000000 --- a/contrib/aura-clock/README.md +++ /dev/null @@ -1,93 +0,0 @@ -*Looking for a shareable component template? Go here --> [sveltejs/component-template](https://github.com/sveltejs/component-template)* - ---- - -# svelte app - -This is a project template for [Svelte](https://svelte.dev) apps. It lives at https://github.com/sveltejs/template. - -To create a new project based on this template using [degit](https://github.com/Rich-Harris/degit): - -```bash -npx degit sveltejs/template svelte-app -cd svelte-app -``` - -*Note that you will need to have [Node.js](https://nodejs.org) installed.* - - -## Get started - -Install the dependencies... - -```bash -cd svelte-app -npm install -``` - -...then start [Rollup](https://rollupjs.org): - -```bash -npm run dev -``` - -Navigate to [localhost:5000](http://localhost:5000). You should see your app running. Edit a component file in `src`, save it, and reload the page to see your changes. - -By default, the server will only respond to requests from localhost. To allow connections from other computers, edit the `sirv` commands in package.json to include the option `--host 0.0.0.0`. - - -## Building and running in production mode - -To create an optimised version of the app: - -```bash -npm run build -``` - -You can run the newly built app with `npm run start`. This uses [sirv](https://github.com/lukeed/sirv), which is included in your package.json's `dependencies` so that the app will work when you deploy to platforms like [Heroku](https://heroku.com). - - -## Single-page app mode - -By default, sirv will only respond to requests that match files in `public`. This is to maximise compatibility with static fileservers, allowing you to deploy your app anywhere. - -If you're building a single-page app (SPA) with multiple routes, sirv needs to be able to respond to requests for *any* path. You can make it so by editing the `"start"` command in package.json: - -```js -"start": "sirv public --single" -``` - - -## Deploying to the web - -### With [now](https://zeit.co/now) - -Install `now` if you haven't already: - -```bash -npm install -g now -``` - -Then, from within your project folder: - -```bash -cd public -now deploy --name my-project -``` - -As an alternative, use the [Now desktop client](https://zeit.co/download) and simply drag the unzipped project folder to the taskbar icon. - -### With [surge](https://surge.sh/) - -Install `surge` if you haven't already: - -```bash -npm install -g surge -``` - -Then, from within your project folder: - -```bash -npm run build -surge public my-project.surge.sh -``` diff --git a/contrib/aura-clock/package-lock.json b/contrib/aura-clock/package-lock.json deleted file mode 100644 index 94db01f7..00000000 --- a/contrib/aura-clock/package-lock.json +++ /dev/null @@ -1,2290 +0,0 @@ -{ - "name": "aura-engine-clock", - "version": "1.0.0", - "lockfileVersion": 1, - "requires": true, - "dependencies": { - "@babel/code-frame": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.8.3.tgz", - "integrity": "sha512-a9gxpmdXtZEInkCSHUJDLHZVBgb1QS0jhss4cPP93EW7s+uC5bikET2twEF3KV+7rDblJcmNvTR7VJejqd2C2g==", - "dev": true, - "requires": { - "@babel/highlight": "^7.8.3" - } - }, - "@babel/highlight": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.8.3.tgz", - "integrity": "sha512-PX4y5xQUvy0fnEVHrYOarRPXVWafSjTW9T0Hab8gVIawpl2Sj0ORyrygANq+KjcNlSSTw0YCLSNA8OyZ1I4yEg==", - "dev": true, - "requires": { - "chalk": "^2.0.0", - "esutils": "^2.0.2", - "js-tokens": "^4.0.0" - } - }, - "@polka/url": { - "version": "0.5.0", - "resolved": "https://registry.npmjs.org/@polka/url/-/url-0.5.0.tgz", - "integrity": "sha512-oZLYFEAzUKyi3SKnXvj32ZCEGH6RDnao7COuCVhDydMS9NrCSVXhM79VaKyP5+Zc33m0QXEd2DN3UkU7OsHcfw==" - }, - "@rollup/plugin-commonjs": { - "version": "11.0.2", - "resolved": "https://registry.npmjs.org/@rollup/plugin-commonjs/-/plugin-commonjs-11.0.2.tgz", - "integrity": "sha512-MPYGZr0qdbV5zZj8/2AuomVpnRVXRU5XKXb3HVniwRoRCreGlf5kOE081isNWeiLIi6IYkwTX9zE0/c7V8g81g==", - "dev": true, - "requires": { - "@rollup/pluginutils": "^3.0.0", - "estree-walker": "^1.0.1", - "is-reference": "^1.1.2", - "magic-string": "^0.25.2", - "resolve": "^1.11.0" - } - }, - "@rollup/plugin-node-resolve": { - "version": "7.1.1", - "resolved": "https://registry.npmjs.org/@rollup/plugin-node-resolve/-/plugin-node-resolve-7.1.1.tgz", - "integrity": "sha512-14ddhD7TnemeHE97a4rLOhobfYvUVcaYuqTnL8Ti7Jxi9V9Jr5LY7Gko4HZ5k4h4vqQM0gBQt6tsp9xXW94WPA==", - "dev": true, - "requires": { - "@rollup/pluginutils": "^3.0.6", - "@types/resolve": "0.0.8", - "builtin-modules": "^3.1.0", - "is-module": "^1.0.0", - "resolve": "^1.14.2" - } - }, - "@rollup/pluginutils": { - "version": "3.0.8", - "resolved": "https://registry.npmjs.org/@rollup/pluginutils/-/pluginutils-3.0.8.tgz", - "integrity": "sha512-rYGeAc4sxcZ+kPG/Tw4/fwJODC3IXHYDH4qusdN/b6aLw5LPUbzpecYbEJh4sVQGPFJxd2dBU4kc1H3oy9/bnw==", - "dev": true, - "requires": { - "estree-walker": "^1.0.1" - } - }, - "@types/estree": { - "version": "0.0.39", - "resolved": "https://registry.npmjs.org/@types/estree/-/estree-0.0.39.tgz", - "integrity": "sha512-EYNwp3bU+98cpU4lAWYYL7Zz+2gryWH1qbdDTidVd6hkiR6weksdbMadyXKXNPEkQFhXM+hVO9ZygomHXp+AIw==", - "dev": true - }, - "@types/node": { - "version": "13.9.0", - "resolved": "https://registry.npmjs.org/@types/node/-/node-13.9.0.tgz", - "integrity": "sha512-0ARSQootUG1RljH2HncpsY2TJBfGQIKOOi7kxzUY6z54ePu/ZD+wJA8zI2Q6v8rol2qpG/rvqsReco8zNMPvhQ==", - "dev": true - }, - "@types/resolve": { - "version": "0.0.8", - "resolved": "https://registry.npmjs.org/@types/resolve/-/resolve-0.0.8.tgz", - "integrity": "sha512-auApPaJf3NPfe18hSoJkp8EbZzer2ISk7o8mCC3M9he/a04+gbMF97NkpD2S8riMGvm4BMRI59/SZQSaLTKpsQ==", - "dev": true, - "requires": { - "@types/node": "*" - } - }, - "acorn": { - "version": "7.1.1", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.1.1.tgz", - "integrity": "sha512-add7dgA5ppRPxCFJoAGfMDi7PIBXq1RtGo7BhbLaxwrXPOmw8gq48Y9ozT01hUKy9byMjlR20EJhu5zlkErEkg==", - "dev": true - }, - "ansi-styles": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", - "dev": true, - "requires": { - "color-convert": "^1.9.0" - } - }, - "anymatch": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-2.0.0.tgz", - "integrity": "sha512-5teOsQWABXHHBFP9y3skS5P3d/WfWXpv3FUpy+LorMrNYaT9pI4oLMQX7jzQ2KklNpGpWHzdCXTDT2Y3XGlZBw==", - "dev": true, - "requires": { - "micromatch": "^3.1.4", - "normalize-path": "^2.1.1" - }, - "dependencies": { - "normalize-path": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz", - "integrity": "sha1-GrKLVW4Zg2Oowab35vogE3/mrtk=", - "dev": true, - "requires": { - "remove-trailing-separator": "^1.0.1" - } - } - } - }, - "arr-diff": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-4.0.0.tgz", - "integrity": "sha1-1kYQdP6/7HHn4VI1dhoyml3HxSA=", - "dev": true - }, - "arr-flatten": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/arr-flatten/-/arr-flatten-1.1.0.tgz", - "integrity": "sha512-L3hKV5R/p5o81R7O02IGnwpDmkp6E982XhtbuwSe3O4qOtMMMtodicASA1Cny2U+aCXcNpml+m4dPsvsJ3jatg==", - "dev": true - }, - "arr-union": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/arr-union/-/arr-union-3.1.0.tgz", - "integrity": "sha1-45sJrqne+Gao8gbiiK9jkZuuOcQ=", - "dev": true - }, - "array-unique": { - "version": "0.3.2", - "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.3.2.tgz", - "integrity": "sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg=", - "dev": true - }, - "assign-symbols": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/assign-symbols/-/assign-symbols-1.0.0.tgz", - "integrity": "sha1-WWZ/QfrdTyDMvCu5a41Pf3jsA2c=", - "dev": true - }, - "async-each": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/async-each/-/async-each-1.0.3.tgz", - "integrity": "sha512-z/WhQ5FPySLdvREByI2vZiTWwCnF0moMJ1hK9YQwDTHKh6I7/uSckMetoRGb5UBZPC1z0jlw+n/XCgjeH7y1AQ==", - "dev": true - }, - "async-limiter": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/async-limiter/-/async-limiter-1.0.1.tgz", - "integrity": "sha512-csOlWGAcRFJaI6m+F2WKdnMKr4HhdhFVBk0H/QbJFMCr+uO2kwohwXQPxw/9OCxp05r5ghVBFSyioixx3gfkNQ==", - "dev": true - }, - "atob": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/atob/-/atob-2.1.2.tgz", - "integrity": "sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg==", - "dev": true - }, - "base": { - "version": "0.11.2", - "resolved": "https://registry.npmjs.org/base/-/base-0.11.2.tgz", - "integrity": "sha512-5T6P4xPgpp0YDFvSWwEZ4NoE3aM4QBQXDzmVbraCkFj8zHM+mba8SyqB5DbZWyR7mYHo6Y7BdQo3MoA4m0TeQg==", - "dev": true, - "requires": { - "cache-base": "^1.0.1", - "class-utils": "^0.3.5", - "component-emitter": "^1.2.1", - "define-property": "^1.0.0", - "isobject": "^3.0.1", - "mixin-deep": "^1.2.0", - "pascalcase": "^0.1.1" - }, - "dependencies": { - "define-property": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", - "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", - "dev": true, - "requires": { - "is-descriptor": "^1.0.0" - } - }, - "is-accessor-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", - "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", - "dev": true, - "requires": { - "kind-of": "^6.0.0" - } - }, - "is-data-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", - "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", - "dev": true, - "requires": { - "kind-of": "^6.0.0" - } - }, - "is-descriptor": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", - "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", - "dev": true, - "requires": { - "is-accessor-descriptor": "^1.0.0", - "is-data-descriptor": "^1.0.0", - "kind-of": "^6.0.2" - } - } - } - }, - "binary-extensions": { - "version": "1.13.1", - "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-1.13.1.tgz", - "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" - } - }, - "braces": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz", - "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==", - "dev": true, - "requires": { - "arr-flatten": "^1.1.0", - "array-unique": "^0.3.2", - "extend-shallow": "^2.0.1", - "fill-range": "^4.0.0", - "isobject": "^3.0.1", - "repeat-element": "^1.1.2", - "snapdragon": "^0.8.1", - "snapdragon-node": "^2.0.1", - "split-string": "^3.0.2", - "to-regex": "^3.0.1" - }, - "dependencies": { - "extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "dev": true, - "requires": { - "is-extendable": "^0.1.0" - } - } - } - }, - "buffer-from": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.1.tgz", - "integrity": "sha512-MQcXEUbCKtEo7bhqEs6560Hyd4XaovZlO/k9V3hjVUF/zwW7KBVdSK4gIt/bzwS9MbR5qob+F5jusZsb0YQK2A==", - "dev": true - }, - "builtin-modules": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/builtin-modules/-/builtin-modules-3.1.0.tgz", - "integrity": "sha512-k0KL0aWZuBt2lrxrcASWDfwOLMnodeQjodT/1SxEQAXsHANgo6ZC/VEaSEHCXt7aSTZ4/4H5LKa+tBXmW7Vtvw==", - "dev": true - }, - "cache-base": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/cache-base/-/cache-base-1.0.1.tgz", - "integrity": "sha512-AKcdTnFSWATd5/GCPRxr2ChwIJ85CeyrEyjRHlKxQ56d4XJMGym0uAiKn0xbLOGOl3+yRpOTi484dVCEc5AUzQ==", - "dev": true, - "requires": { - "collection-visit": "^1.0.0", - "component-emitter": "^1.2.1", - "get-value": "^2.0.6", - "has-value": "^1.0.0", - "isobject": "^3.0.1", - "set-value": "^2.0.0", - "to-object-path": "^0.3.0", - "union-value": "^1.0.0", - "unset-value": "^1.0.0" - } - }, - "chalk": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", - "dev": true, - "requires": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - } - }, - "chokidar": { - "version": "2.1.8", - "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-2.1.8.tgz", - "integrity": "sha512-ZmZUazfOzf0Nve7duiCKD23PFSCs4JPoYyccjUFF3aQkQadqBhfzhjkwBH2mNOG9cTBwhamM37EIsIkZw3nRgg==", - "dev": true, - "requires": { - "anymatch": "^2.0.0", - "async-each": "^1.0.1", - "braces": "^2.3.2", - "fsevents": "^1.2.7", - "glob-parent": "^3.1.0", - "inherits": "^2.0.3", - "is-binary-path": "^1.0.0", - "is-glob": "^4.0.0", - "normalize-path": "^3.0.0", - "path-is-absolute": "^1.0.0", - "readdirp": "^2.2.1", - "upath": "^1.1.1" - } - }, - "class-utils": { - "version": "0.3.6", - "resolved": "https://registry.npmjs.org/class-utils/-/class-utils-0.3.6.tgz", - "integrity": "sha512-qOhPa/Fj7s6TY8H8esGu5QNpMMQxz79h+urzrNYN6mn+9BnxlDGf5QZ+XeCDsxSjPqsSR56XOZOJmpeurnLMeg==", - "dev": true, - "requires": { - "arr-union": "^3.1.0", - "define-property": "^0.2.5", - "isobject": "^3.0.0", - "static-extend": "^0.1.1" - }, - "dependencies": { - "define-property": { - "version": "0.2.5", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", - "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", - "dev": true, - "requires": { - "is-descriptor": "^0.1.0" - } - } - } - }, - "collection-visit": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/collection-visit/-/collection-visit-1.0.0.tgz", - "integrity": "sha1-S8A3PBZLwykbTTaMgpzxqApZ3KA=", - "dev": true, - "requires": { - "map-visit": "^1.0.0", - "object-visit": "^1.0.0" - } - }, - "color-convert": { - "version": "1.9.3", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", - "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", - "dev": true, - "requires": { - "color-name": "1.1.3" - } - }, - "color-name": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=", - "dev": true - }, - "commander": { - "version": "2.20.3", - "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", - "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==", - "dev": true - }, - "component-emitter": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.3.0.tgz", - "integrity": "sha512-Rd3se6QB+sO1TwqZjscQrurpEPIfO0/yYnSin6Q/rD3mOutHvUrCAhJub3r90uNb+SESBuE0QYoB90YdfatsRg==", - "dev": true - }, - "console-clear": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/console-clear/-/console-clear-1.1.1.tgz", - "integrity": "sha512-pMD+MVR538ipqkG5JXeOEbKWS5um1H4LUUccUQG68qpeqBYbzYy79Gh55jkd2TtPdRfUaLWdv6LPP//5Zt0aPQ==" - }, - "copy-descriptor": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/copy-descriptor/-/copy-descriptor-0.1.1.tgz", - "integrity": "sha1-Z29us8OZl8LuGsOpJP1hJHSPV40=", - "dev": true - }, - "core-util-is": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", - "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=", - "dev": true - }, - "debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "dev": true, - "requires": { - "ms": "2.0.0" - } - }, - "decode-uri-component": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/decode-uri-component/-/decode-uri-component-0.2.0.tgz", - "integrity": "sha1-6zkTMzRYd1y4TNGh+uBiEGu4dUU=", - "dev": true - }, - "define-property": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-2.0.2.tgz", - "integrity": "sha512-jwK2UV4cnPpbcG7+VRARKTZPUWowwXA8bzH5NP6ud0oeAxyYPuGZUAC7hMugpCdz4BeSZl2Dl9k66CHJ/46ZYQ==", - "dev": true, - "requires": { - "is-descriptor": "^1.0.2", - "isobject": "^3.0.1" - }, - "dependencies": { - "is-accessor-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", - "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", - "dev": true, - "requires": { - "kind-of": "^6.0.0" - } - }, - "is-data-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", - "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", - "dev": true, - "requires": { - "kind-of": "^6.0.0" - } - }, - "is-descriptor": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", - "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", - "dev": true, - "requires": { - "is-accessor-descriptor": "^1.0.0", - "is-data-descriptor": "^1.0.0", - "kind-of": "^6.0.2" - } - } - } - }, - "escape-string-regexp": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", - "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=", - "dev": true - }, - "estree-walker": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-1.0.1.tgz", - "integrity": "sha512-1fMXF3YP4pZZVozF8j/ZLfvnR8NSIljt56UhbZ5PeeDmmGHpgpdwQt7ITlGvYaQukCvuBRMLEiKiYC+oeIg4cg==", - "dev": true - }, - "esutils": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", - "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", - "dev": true - }, - "expand-brackets": { - "version": "2.1.4", - "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-2.1.4.tgz", - "integrity": "sha1-t3c14xXOMPa27/D4OwQVGiJEliI=", - "dev": true, - "requires": { - "debug": "^2.3.3", - "define-property": "^0.2.5", - "extend-shallow": "^2.0.1", - "posix-character-classes": "^0.1.0", - "regex-not": "^1.0.0", - "snapdragon": "^0.8.1", - "to-regex": "^3.0.1" - }, - "dependencies": { - "define-property": { - "version": "0.2.5", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", - "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", - "dev": true, - "requires": { - "is-descriptor": "^0.1.0" - } - }, - "extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "dev": true, - "requires": { - "is-extendable": "^0.1.0" - } - } - } - }, - "extend-shallow": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz", - "integrity": "sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg=", - "dev": true, - "requires": { - "assign-symbols": "^1.0.0", - "is-extendable": "^1.0.1" - }, - "dependencies": { - "is-extendable": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", - "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", - "dev": true, - "requires": { - "is-plain-object": "^2.0.4" - } - } - } - }, - "extglob": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/extglob/-/extglob-2.0.4.tgz", - "integrity": "sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw==", - "dev": true, - "requires": { - "array-unique": "^0.3.2", - "define-property": "^1.0.0", - "expand-brackets": "^2.1.4", - "extend-shallow": "^2.0.1", - "fragment-cache": "^0.2.1", - "regex-not": "^1.0.0", - "snapdragon": "^0.8.1", - "to-regex": "^3.0.1" - }, - "dependencies": { - "define-property": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", - "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", - "dev": true, - "requires": { - "is-descriptor": "^1.0.0" - } - }, - "extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "dev": true, - "requires": { - "is-extendable": "^0.1.0" - } - }, - "is-accessor-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", - "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", - "dev": true, - "requires": { - "kind-of": "^6.0.0" - } - }, - "is-data-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", - "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", - "dev": true, - "requires": { - "kind-of": "^6.0.0" - } - }, - "is-descriptor": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", - "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", - "dev": true, - "requires": { - "is-accessor-descriptor": "^1.0.0", - "is-data-descriptor": "^1.0.0", - "kind-of": "^6.0.2" - } - } - } - }, - "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", - "integrity": "sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=", - "dev": true, - "requires": { - "extend-shallow": "^2.0.1", - "is-number": "^3.0.0", - "repeat-string": "^1.6.1", - "to-regex-range": "^2.1.0" - }, - "dependencies": { - "extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "dev": true, - "requires": { - "is-extendable": "^0.1.0" - } - } - } - }, - "for-in": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/for-in/-/for-in-1.0.2.tgz", - "integrity": "sha1-gQaNKVqBQuwKxybG4iAMMPttXoA=", - "dev": true - }, - "fragment-cache": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/fragment-cache/-/fragment-cache-0.2.1.tgz", - "integrity": "sha1-QpD60n8T6Jvn8zeZxrxaCr//DRk=", - "dev": true, - "requires": { - "map-cache": "^0.2.2" - } - }, - "fsevents": { - "version": "1.2.11", - "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-1.2.11.tgz", - "integrity": "sha512-+ux3lx6peh0BpvY0JebGyZoiR4D+oYzdPZMKJwkZ+sFkNJzpL7tXc/wehS49gUAxg3tmMHPHZkA8JU2rhhgDHw==", - "dev": true, - "optional": true, - "requires": { - "bindings": "^1.5.0", - "nan": "^2.12.1", - "node-pre-gyp": "*" - }, - "dependencies": { - "abbrev": { - "version": "1.1.1", - "bundled": true, - "dev": true, - "optional": true - }, - "ansi-regex": { - "version": "2.1.1", - "bundled": true, - "dev": true, - "optional": true - }, - "aproba": { - "version": "1.2.0", - "bundled": true, - "dev": true, - "optional": true - }, - "are-we-there-yet": { - "version": "1.1.5", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "delegates": "^1.0.0", - "readable-stream": "^2.0.6" - } - }, - "balanced-match": { - "version": "1.0.0", - "bundled": true, - "dev": true, - "optional": true - }, - "brace-expansion": { - "version": "1.1.11", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" - } - }, - "chownr": { - "version": "1.1.3", - "bundled": true, - "dev": true, - "optional": true - }, - "code-point-at": { - "version": "1.1.0", - "bundled": true, - "dev": true, - "optional": true - }, - "concat-map": { - "version": "0.0.1", - "bundled": true, - "dev": true, - "optional": true - }, - "console-control-strings": { - "version": "1.1.0", - "bundled": true, - "dev": true, - "optional": true - }, - "core-util-is": { - "version": "1.0.2", - "bundled": true, - "dev": true, - "optional": true - }, - "debug": { - "version": "3.2.6", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "ms": "^2.1.1" - } - }, - "deep-extend": { - "version": "0.6.0", - "bundled": true, - "dev": true, - "optional": true - }, - "delegates": { - "version": "1.0.0", - "bundled": true, - "dev": true, - "optional": true - }, - "detect-libc": { - "version": "1.0.3", - "bundled": true, - "dev": true, - "optional": true - }, - "fs-minipass": { - "version": "1.2.7", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "minipass": "^2.6.0" - } - }, - "fs.realpath": { - "version": "1.0.0", - "bundled": true, - "dev": true, - "optional": true - }, - "gauge": { - "version": "2.7.4", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "aproba": "^1.0.3", - "console-control-strings": "^1.0.0", - "has-unicode": "^2.0.0", - "object-assign": "^4.1.0", - "signal-exit": "^3.0.0", - "string-width": "^1.0.1", - "strip-ansi": "^3.0.1", - "wide-align": "^1.1.0" - } - }, - "glob": { - "version": "7.1.6", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.0.4", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" - } - }, - "has-unicode": { - "version": "2.0.1", - "bundled": true, - "dev": true, - "optional": true - }, - "iconv-lite": { - "version": "0.4.24", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "safer-buffer": ">= 2.1.2 < 3" - } - }, - "ignore-walk": { - "version": "3.0.3", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "minimatch": "^3.0.4" - } - }, - "inflight": { - "version": "1.0.6", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "once": "^1.3.0", - "wrappy": "1" - } - }, - "inherits": { - "version": "2.0.4", - "bundled": true, - "dev": true, - "optional": true - }, - "ini": { - "version": "1.3.5", - "bundled": true, - "dev": true, - "optional": true - }, - "is-fullwidth-code-point": { - "version": "1.0.0", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "number-is-nan": "^1.0.0" - } - }, - "isarray": { - "version": "1.0.0", - "bundled": true, - "dev": true, - "optional": true - }, - "minimatch": { - "version": "3.0.4", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "brace-expansion": "^1.1.7" - } - }, - "minimist": { - "version": "0.0.8", - "bundled": true, - "dev": true, - "optional": true - }, - "minipass": { - "version": "2.9.0", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "safe-buffer": "^5.1.2", - "yallist": "^3.0.0" - } - }, - "minizlib": { - "version": "1.3.3", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "minipass": "^2.9.0" - } - }, - "mkdirp": { - "version": "0.5.1", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "minimist": "0.0.8" - } - }, - "ms": { - "version": "2.1.2", - "bundled": true, - "dev": true, - "optional": true - }, - "needle": { - "version": "2.4.0", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "debug": "^3.2.6", - "iconv-lite": "^0.4.4", - "sax": "^1.2.4" - } - }, - "node-pre-gyp": { - "version": "0.14.0", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "detect-libc": "^1.0.2", - "mkdirp": "^0.5.1", - "needle": "^2.2.1", - "nopt": "^4.0.1", - "npm-packlist": "^1.1.6", - "npmlog": "^4.0.2", - "rc": "^1.2.7", - "rimraf": "^2.6.1", - "semver": "^5.3.0", - "tar": "^4.4.2" - } - }, - "nopt": { - "version": "4.0.1", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "abbrev": "1", - "osenv": "^0.1.4" - } - }, - "npm-bundled": { - "version": "1.1.1", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "npm-normalize-package-bin": "^1.0.1" - } - }, - "npm-normalize-package-bin": { - "version": "1.0.1", - "bundled": true, - "dev": true, - "optional": true - }, - "npm-packlist": { - "version": "1.4.7", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "ignore-walk": "^3.0.1", - "npm-bundled": "^1.0.1" - } - }, - "npmlog": { - "version": "4.1.2", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "are-we-there-yet": "~1.1.2", - "console-control-strings": "~1.1.0", - "gauge": "~2.7.3", - "set-blocking": "~2.0.0" - } - }, - "number-is-nan": { - "version": "1.0.1", - "bundled": true, - "dev": true, - "optional": true - }, - "object-assign": { - "version": "4.1.1", - "bundled": true, - "dev": true, - "optional": true - }, - "once": { - "version": "1.4.0", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "wrappy": "1" - } - }, - "os-homedir": { - "version": "1.0.2", - "bundled": true, - "dev": true, - "optional": true - }, - "os-tmpdir": { - "version": "1.0.2", - "bundled": true, - "dev": true, - "optional": true - }, - "osenv": { - "version": "0.1.5", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "os-homedir": "^1.0.0", - "os-tmpdir": "^1.0.0" - } - }, - "path-is-absolute": { - "version": "1.0.1", - "bundled": true, - "dev": true, - "optional": true - }, - "process-nextick-args": { - "version": "2.0.1", - "bundled": true, - "dev": true, - "optional": true - }, - "rc": { - "version": "1.2.8", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "deep-extend": "^0.6.0", - "ini": "~1.3.0", - "minimist": "^1.2.0", - "strip-json-comments": "~2.0.1" - }, - "dependencies": { - "minimist": { - "version": "1.2.0", - "bundled": true, - "dev": true, - "optional": true - } - } - }, - "readable-stream": { - "version": "2.3.6", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" - } - }, - "rimraf": { - "version": "2.7.1", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "glob": "^7.1.3" - } - }, - "safe-buffer": { - "version": "5.1.2", - "bundled": true, - "dev": true, - "optional": true - }, - "safer-buffer": { - "version": "2.1.2", - "bundled": true, - "dev": true, - "optional": true - }, - "sax": { - "version": "1.2.4", - "bundled": true, - "dev": true, - "optional": true - }, - "semver": { - "version": "5.7.1", - "bundled": true, - "dev": true, - "optional": true - }, - "set-blocking": { - "version": "2.0.0", - "bundled": true, - "dev": true, - "optional": true - }, - "signal-exit": { - "version": "3.0.2", - "bundled": true, - "dev": true, - "optional": true - }, - "string-width": { - "version": "1.0.2", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "code-point-at": "^1.0.0", - "is-fullwidth-code-point": "^1.0.0", - "strip-ansi": "^3.0.0" - } - }, - "string_decoder": { - "version": "1.1.1", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "safe-buffer": "~5.1.0" - } - }, - "strip-ansi": { - "version": "3.0.1", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "ansi-regex": "^2.0.0" - } - }, - "strip-json-comments": { - "version": "2.0.1", - "bundled": true, - "dev": true, - "optional": true - }, - "tar": { - "version": "4.4.13", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "chownr": "^1.1.1", - "fs-minipass": "^1.2.5", - "minipass": "^2.8.6", - "minizlib": "^1.2.1", - "mkdirp": "^0.5.0", - "safe-buffer": "^5.1.2", - "yallist": "^3.0.3" - } - }, - "util-deprecate": { - "version": "1.0.2", - "bundled": true, - "dev": true, - "optional": true - }, - "wide-align": { - "version": "1.1.3", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "string-width": "^1.0.2 || 2" - } - }, - "wrappy": { - "version": "1.0.2", - "bundled": true, - "dev": true, - "optional": true - }, - "yallist": { - "version": "3.1.1", - "bundled": true, - "dev": true, - "optional": true - } - } - }, - "get-port": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/get-port/-/get-port-3.2.0.tgz", - "integrity": "sha1-3Xzn3hh8Bsi/NTeWrHHgmfCYDrw=" - }, - "get-value": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/get-value/-/get-value-2.0.6.tgz", - "integrity": "sha1-3BXKHGcjh8p2vTesCjlbogQqLCg=", - "dev": true - }, - "glob-parent": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-3.1.0.tgz", - "integrity": "sha1-nmr2KZ2NO9K9QEMIMr0RPfkGxa4=", - "dev": true, - "requires": { - "is-glob": "^3.1.0", - "path-dirname": "^1.0.0" - }, - "dependencies": { - "is-glob": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-3.1.0.tgz", - "integrity": "sha1-e6WuJCF4BKxwcHuWkiVnSGzD6Eo=", - "dev": true, - "requires": { - "is-extglob": "^2.1.0" - } - } - } - }, - "graceful-fs": { - "version": "4.2.3", - "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.3.tgz", - "integrity": "sha512-a30VEBm4PEdx1dRB7MFK7BejejvCvBronbLjht+sHuGYj8PHs7M/5Z+rt5lw551vZ7yfTCj4Vuyy3mSJytDWRQ==", - "dev": true - }, - "has-flag": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", - "dev": true - }, - "has-value": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/has-value/-/has-value-1.0.0.tgz", - "integrity": "sha1-GLKB2lhbHFxR3vJMkw7SmgvmsXc=", - "dev": true, - "requires": { - "get-value": "^2.0.6", - "has-values": "^1.0.0", - "isobject": "^3.0.0" - } - }, - "has-values": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/has-values/-/has-values-1.0.0.tgz", - "integrity": "sha1-lbC2P+whRmGab+V/51Yo1aOe/k8=", - "dev": true, - "requires": { - "is-number": "^3.0.0", - "kind-of": "^4.0.0" - }, - "dependencies": { - "kind-of": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-4.0.0.tgz", - "integrity": "sha1-IIE989cSkosgc3hpGkUGb65y3Vc=", - "dev": true, - "requires": { - "is-buffer": "^1.1.5" - } - } - } - }, - "inherits": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", - "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", - "dev": true - }, - "is-accessor-descriptor": { - "version": "0.1.6", - "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", - "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=", - "dev": true, - "requires": { - "kind-of": "^3.0.2" - }, - "dependencies": { - "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "dev": true, - "requires": { - "is-buffer": "^1.1.5" - } - } - } - }, - "is-binary-path": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-1.0.1.tgz", - "integrity": "sha1-dfFmQrSA8YenEcgUFh/TpKdlWJg=", - "dev": true, - "requires": { - "binary-extensions": "^1.0.0" - } - }, - "is-buffer": { - "version": "1.1.6", - "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz", - "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==", - "dev": true - }, - "is-data-descriptor": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", - "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=", - "dev": true, - "requires": { - "kind-of": "^3.0.2" - }, - "dependencies": { - "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "dev": true, - "requires": { - "is-buffer": "^1.1.5" - } - } - } - }, - "is-descriptor": { - "version": "0.1.6", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", - "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", - "dev": true, - "requires": { - "is-accessor-descriptor": "^0.1.6", - "is-data-descriptor": "^0.1.4", - "kind-of": "^5.0.0" - }, - "dependencies": { - "kind-of": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", - "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==", - "dev": true - } - } - }, - "is-extendable": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", - "integrity": "sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik=", - "dev": true - }, - "is-extglob": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", - "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=", - "dev": true - }, - "is-glob": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.1.tgz", - "integrity": "sha512-5G0tKtBTFImOqDnLB2hG6Bp2qcKEFduo4tZu9MT/H6NQv/ghhy30o55ufafxJ/LdH79LLs2Kfrn85TLKyA7BUg==", - "dev": true, - "requires": { - "is-extglob": "^2.1.1" - } - }, - "is-module": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-module/-/is-module-1.0.0.tgz", - "integrity": "sha1-Mlj7afeMFNW4FdZkM2tM/7ZEFZE=", - "dev": true - }, - "is-number": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", - "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", - "dev": true, - "requires": { - "kind-of": "^3.0.2" - }, - "dependencies": { - "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "dev": true, - "requires": { - "is-buffer": "^1.1.5" - } - } - } - }, - "is-plain-object": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", - "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", - "dev": true, - "requires": { - "isobject": "^3.0.1" - } - }, - "is-reference": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/is-reference/-/is-reference-1.1.4.tgz", - "integrity": "sha512-uJA/CDPO3Tao3GTrxYn6AwkM4nUPJiGGYu5+cB8qbC7WGFlrKZbiRo7SFKxUAEpFUfiHofWCXBUNhvYJMh+6zw==", - "dev": true, - "requires": { - "@types/estree": "0.0.39" - } - }, - "is-windows": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-windows/-/is-windows-1.0.2.tgz", - "integrity": "sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA==", - "dev": true - }, - "isarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", - "dev": true - }, - "isobject": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", - "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=", - "dev": true - }, - "jest-worker": { - "version": "24.9.0", - "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-24.9.0.tgz", - "integrity": "sha512-51PE4haMSXcHohnSMdM42anbvZANYTqMrr52tVKPqqsPJMzoP6FYYDVqahX/HrAoKEKz3uUPzSvKs9A3qR4iVw==", - "dev": true, - "requires": { - "merge-stream": "^2.0.0", - "supports-color": "^6.1.0" - }, - "dependencies": { - "supports-color": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz", - "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==", - "dev": true, - "requires": { - "has-flag": "^3.0.0" - } - } - } - }, - "js-tokens": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", - "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==", - "dev": true - }, - "kind-of": { - "version": "6.0.3", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", - "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", - "dev": true - }, - "kleur": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/kleur/-/kleur-3.0.3.tgz", - "integrity": "sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w==" - }, - "livereload": { - "version": "0.8.2", - "resolved": "https://registry.npmjs.org/livereload/-/livereload-0.8.2.tgz", - "integrity": "sha512-8wCvhiCL4cGVoT3U5xoe+UjpiiVZLrlOvr6dbhb1VlyC5QarhrlyRRt4z7EMGO4KSgXj+tKF/dr284F28/wI+g==", - "dev": true, - "requires": { - "chokidar": "^2.1.5", - "opts": ">= 1.2.0", - "ws": "^6.2.1" - } - }, - "local-access": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/local-access/-/local-access-1.0.1.tgz", - "integrity": "sha512-ykt2pgN0aqIy6KQC1CqdWTWkmUwNgaOS6dcpHVjyBJONA+Xi7AtSB1vuxC/U/0tjIP3wcRudwQk1YYzUvzk2bA==" - }, - "magic-string": { - "version": "0.25.7", - "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.25.7.tgz", - "integrity": "sha512-4CrMT5DOHTDk4HYDlzmwu4FVCcIYI8gauveasrdCu2IKIFOJ3f0v/8MDGJCDL9oD2ppz/Av1b0Nj345H9M+XIA==", - "dev": true, - "requires": { - "sourcemap-codec": "^1.4.4" - } - }, - "map-cache": { - "version": "0.2.2", - "resolved": "https://registry.npmjs.org/map-cache/-/map-cache-0.2.2.tgz", - "integrity": "sha1-wyq9C9ZSXZsFFkW7TyasXcmKDb8=", - "dev": true - }, - "map-visit": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/map-visit/-/map-visit-1.0.0.tgz", - "integrity": "sha1-7Nyo8TFE5mDxtb1B8S80edmN+48=", - "dev": true, - "requires": { - "object-visit": "^1.0.0" - } - }, - "merge-stream": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz", - "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==", - "dev": true - }, - "micromatch": { - "version": "3.1.10", - "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz", - "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==", - "dev": true, - "requires": { - "arr-diff": "^4.0.0", - "array-unique": "^0.3.2", - "braces": "^2.3.1", - "define-property": "^2.0.2", - "extend-shallow": "^3.0.2", - "extglob": "^2.0.4", - "fragment-cache": "^0.2.1", - "kind-of": "^6.0.2", - "nanomatch": "^1.2.9", - "object.pick": "^1.3.0", - "regex-not": "^1.0.0", - "snapdragon": "^0.8.1", - "to-regex": "^3.0.2" - } - }, - "mime": { - "version": "2.4.4", - "resolved": "https://registry.npmjs.org/mime/-/mime-2.4.4.tgz", - "integrity": "sha512-LRxmNwziLPT828z+4YkNzloCFC2YM4wrB99k+AV5ZbEyfGNWfG8SO1FUXLmLDBSo89NrJZ4DIWeLjy1CHGhMGA==" - }, - "mixin-deep": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/mixin-deep/-/mixin-deep-1.3.2.tgz", - "integrity": "sha512-WRoDn//mXBiJ1H40rqa3vH0toePwSsGb45iInWlTySa+Uu4k3tYUSxa2v1KqAiLtvlrSzaExqS1gtk96A9zvEA==", - "dev": true, - "requires": { - "for-in": "^1.0.2", - "is-extendable": "^1.0.1" - }, - "dependencies": { - "is-extendable": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", - "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", - "dev": true, - "requires": { - "is-plain-object": "^2.0.4" - } - } - } - }, - "mri": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/mri/-/mri-1.1.4.tgz", - "integrity": "sha512-6y7IjGPm8AzlvoUrwAaw1tLnUBudaS3752vcd8JtrpGGQn+rXIe63LFVHm/YMwtqAuh+LJPCFdlLYPWM1nYn6w==" - }, - "ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", - "dev": true - }, - "nan": { - "version": "2.14.0", - "resolved": "https://registry.npmjs.org/nan/-/nan-2.14.0.tgz", - "integrity": "sha512-INOFj37C7k3AfaNTtX8RhsTw7qRy7eLET14cROi9+5HAVbbHuIWUHEauBv5qT4Av2tWasiTY1Jw6puUNqRJXQg==", - "dev": true, - "optional": true - }, - "nanomatch": { - "version": "1.2.13", - "resolved": "https://registry.npmjs.org/nanomatch/-/nanomatch-1.2.13.tgz", - "integrity": "sha512-fpoe2T0RbHwBTBUOftAfBPaDEi06ufaUai0mE6Yn1kacc3SnTErfb/h+X94VXzI64rKFHYImXSvdwGGCmwOqCA==", - "dev": true, - "requires": { - "arr-diff": "^4.0.0", - "array-unique": "^0.3.2", - "define-property": "^2.0.2", - "extend-shallow": "^3.0.2", - "fragment-cache": "^0.2.1", - "is-windows": "^1.0.2", - "kind-of": "^6.0.2", - "object.pick": "^1.3.0", - "regex-not": "^1.0.0", - "snapdragon": "^0.8.1", - "to-regex": "^3.0.1" - } - }, - "normalize-path": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", - "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", - "dev": true - }, - "object-copy": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/object-copy/-/object-copy-0.1.0.tgz", - "integrity": "sha1-fn2Fi3gb18mRpBupde04EnVOmYw=", - "dev": true, - "requires": { - "copy-descriptor": "^0.1.0", - "define-property": "^0.2.5", - "kind-of": "^3.0.3" - }, - "dependencies": { - "define-property": { - "version": "0.2.5", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", - "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", - "dev": true, - "requires": { - "is-descriptor": "^0.1.0" - } - }, - "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "dev": true, - "requires": { - "is-buffer": "^1.1.5" - } - } - } - }, - "object-visit": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/object-visit/-/object-visit-1.0.1.tgz", - "integrity": "sha1-95xEk68MU3e1n+OdOV5BBC3QRbs=", - "dev": true, - "requires": { - "isobject": "^3.0.0" - } - }, - "object.pick": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/object.pick/-/object.pick-1.3.0.tgz", - "integrity": "sha1-h6EKxMFpS9Lhy/U1kaZhQftd10c=", - "dev": true, - "requires": { - "isobject": "^3.0.1" - } - }, - "opts": { - "version": "1.2.7", - "resolved": "https://registry.npmjs.org/opts/-/opts-1.2.7.tgz", - "integrity": "sha512-hwZhzGGG/GQ7igxAVFOEun2N4fWul31qE9nfBdCnZGQCB5+L7tN9xZ+94B4aUpLOJx/of3zZs5XsuubayQYQjA==", - "dev": true - }, - "pascalcase": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/pascalcase/-/pascalcase-0.1.1.tgz", - "integrity": "sha1-s2PlXoAGym/iF4TS2yK9FdeRfxQ=", - "dev": true - }, - "path-dirname": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/path-dirname/-/path-dirname-1.0.2.tgz", - "integrity": "sha1-zDPSTVJeCZpTiMAzbG4yuRYGCeA=", - "dev": true - }, - "path-is-absolute": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", - "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=", - "dev": true - }, - "path-parse": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.6.tgz", - "integrity": "sha512-GSmOT2EbHrINBf9SR7CDELwlJ8AENk3Qn7OikK4nFYAu3Ote2+JYNVvkpAEQm3/TLNEJFD/xZJjzyxg3KBWOzw==", - "dev": true - }, - "posix-character-classes": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/posix-character-classes/-/posix-character-classes-0.1.1.tgz", - "integrity": "sha1-AerA/jta9xoqbAL+q7jB/vfgDqs=", - "dev": true - }, - "process-nextick-args": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz", - "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==", - "dev": true - }, - "readable-stream": { - "version": "2.3.7", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", - "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", - "dev": true, - "requires": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" - } - }, - "readdirp": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-2.2.1.tgz", - "integrity": "sha512-1JU/8q+VgFZyxwrJ+SVIOsh+KywWGpds3NTqikiKpDMZWScmAYyKIgqkO+ARvNWJfXeXR1zxz7aHF4u4CyH6vQ==", - "dev": true, - "requires": { - "graceful-fs": "^4.1.11", - "micromatch": "^3.1.10", - "readable-stream": "^2.0.2" - } - }, - "regex-not": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/regex-not/-/regex-not-1.0.2.tgz", - "integrity": "sha512-J6SDjUgDxQj5NusnOtdFxDwN/+HWykR8GELwctJ7mdqhcyy1xEc4SRFHUXvxTp661YaVKAjfRLZ9cCqS6tn32A==", - "dev": true, - "requires": { - "extend-shallow": "^3.0.2", - "safe-regex": "^1.1.0" - } - }, - "remove-trailing-separator": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz", - "integrity": "sha1-wkvOKig62tW8P1jg1IJJuSN52O8=", - "dev": true - }, - "repeat-element": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/repeat-element/-/repeat-element-1.1.3.tgz", - "integrity": "sha512-ahGq0ZnV5m5XtZLMb+vP76kcAM5nkLqk0lpqAuojSKGgQtn4eRi4ZZGm2olo2zKFH+sMsWaqOCW1dqAnOru72g==", - "dev": true - }, - "repeat-string": { - "version": "1.6.1", - "resolved": "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz", - "integrity": "sha1-jcrkcOHIirwtYA//Sndihtp15jc=", - "dev": true - }, - "require-relative": { - "version": "0.8.7", - "resolved": "https://registry.npmjs.org/require-relative/-/require-relative-0.8.7.tgz", - "integrity": "sha1-eZlTn8ngR6N5KPoZb44VY9q9Nt4=", - "dev": true - }, - "resolve": { - "version": "1.15.1", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.15.1.tgz", - "integrity": "sha512-84oo6ZTtoTUpjgNEr5SJyzQhzL72gaRodsSfyxC/AXRvwu0Yse9H8eF9IpGo7b8YetZhlI6v7ZQ6bKBFV/6S7w==", - "dev": true, - "requires": { - "path-parse": "^1.0.6" - } - }, - "resolve-url": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/resolve-url/-/resolve-url-0.2.1.tgz", - "integrity": "sha1-LGN/53yJOv0qZj/iGqkIAGjiBSo=", - "dev": true - }, - "ret": { - "version": "0.1.15", - "resolved": "https://registry.npmjs.org/ret/-/ret-0.1.15.tgz", - "integrity": "sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg==", - "dev": true - }, - "rollup": { - "version": "1.32.1", - "resolved": "https://registry.npmjs.org/rollup/-/rollup-1.32.1.tgz", - "integrity": "sha512-/2HA0Ec70TvQnXdzynFffkjA6XN+1e2pEv/uKS5Ulca40g2L7KuOE3riasHoNVHOsFD5KKZgDsMk1CP3Tw9s+A==", - "dev": true, - "requires": { - "@types/estree": "*", - "@types/node": "*", - "acorn": "^7.1.0" - } - }, - "rollup-plugin-livereload": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/rollup-plugin-livereload/-/rollup-plugin-livereload-1.0.4.tgz", - "integrity": "sha512-nbnSP8Mj2mmLZkrf080z3PrdacmpAW6UkmgM+BWClcJ8MSsruPONGTwirhZaNNHjUYvkJ+iF5/pSk4g0KV2uVQ==", - "dev": true, - "requires": { - "livereload": "0.8.0 || ^0.8.2" - } - }, - "rollup-plugin-svelte": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/rollup-plugin-svelte/-/rollup-plugin-svelte-5.1.1.tgz", - "integrity": "sha512-wP3CnKHjR4fZUgNm5Iey7eItnxwnH/nAw568WJ8dpMSchBxxZ/DmKSx8e6h8k/B6SwG1wfGvWehadFJHcuFFSw==", - "dev": true, - "requires": { - "require-relative": "^0.8.7", - "rollup-pluginutils": "^2.3.3", - "sourcemap-codec": "^1.4.4" - } - }, - "rollup-plugin-terser": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/rollup-plugin-terser/-/rollup-plugin-terser-5.2.0.tgz", - "integrity": "sha512-jQI+nYhtDBc9HFRBz8iGttQg7li9klmzR62RG2W2nN6hJ/FI2K2ItYQ7kJ7/zn+vs+BP1AEccmVRjRN989I+Nw==", - "dev": true, - "requires": { - "@babel/code-frame": "^7.5.5", - "jest-worker": "^24.9.0", - "rollup-pluginutils": "^2.8.2", - "serialize-javascript": "^2.1.2", - "terser": "^4.6.2" - } - }, - "rollup-pluginutils": { - "version": "2.8.2", - "resolved": "https://registry.npmjs.org/rollup-pluginutils/-/rollup-pluginutils-2.8.2.tgz", - "integrity": "sha512-EEp9NhnUkwY8aif6bxgovPHMoMoNr2FulJziTndpt5H9RdwC47GSGuII9XxpSdzVGM0GWrNPHV6ie1LTNJPaLQ==", - "dev": true, - "requires": { - "estree-walker": "^0.6.1" - }, - "dependencies": { - "estree-walker": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-0.6.1.tgz", - "integrity": "sha512-SqmZANLWS0mnatqbSfRP5g8OXZC12Fgg1IwNtLsyHDzJizORW4khDfjPqJZsemPWBB2uqykUah5YpQ6epsqC/w==", - "dev": true - } - } - }, - "sade": { - "version": "1.7.3", - "resolved": "https://registry.npmjs.org/sade/-/sade-1.7.3.tgz", - "integrity": "sha512-m4BctppMvJ60W1dXnHq7jMmFe3hPJZDAH85kQ3ACTo7XZNVUuTItCQ+2HfyaMeV5cKrbw7l4vD/6We3GBxvdJw==", - "requires": { - "mri": "^1.1.0" - } - }, - "safe-buffer": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", - "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", - "dev": true - }, - "safe-regex": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/safe-regex/-/safe-regex-1.1.0.tgz", - "integrity": "sha1-QKNmnzsHfR6UPURinhV91IAjvy4=", - "dev": true, - "requires": { - "ret": "~0.1.10" - } - }, - "serialize-javascript": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-2.1.2.tgz", - "integrity": "sha512-rs9OggEUF0V4jUSecXazOYsLfu7OGK2qIn3c7IPBiffz32XniEp/TX9Xmc9LQfK2nQ2QKHvZ2oygKUGU0lG4jQ==", - "dev": true - }, - "set-value": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/set-value/-/set-value-2.0.1.tgz", - "integrity": "sha512-JxHc1weCN68wRY0fhCoXpyK55m/XPHafOmK4UWD7m2CI14GMcFypt4w/0+NV5f/ZMby2F6S2wwA7fgynh9gWSw==", - "dev": true, - "requires": { - "extend-shallow": "^2.0.1", - "is-extendable": "^0.1.1", - "is-plain-object": "^2.0.3", - "split-string": "^3.0.1" - }, - "dependencies": { - "extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "dev": true, - "requires": { - "is-extendable": "^0.1.0" - } - } - } - }, - "sirv": { - "version": "0.4.2", - "resolved": "https://registry.npmjs.org/sirv/-/sirv-0.4.2.tgz", - "integrity": "sha512-dQbZnsMaIiTQPZmbGmktz+c74zt/hyrJEB4tdp2Jj0RNv9J6B/OWR5RyrZEvIn9fyh9Zlg2OlE2XzKz6wMKGAw==", - "requires": { - "@polka/url": "^0.5.0", - "mime": "^2.3.1" - } - }, - "sirv-cli": { - "version": "0.4.5", - "resolved": "https://registry.npmjs.org/sirv-cli/-/sirv-cli-0.4.5.tgz", - "integrity": "sha512-Fl6icSm0EwPrXSGid2xphMp//WNTSX2yENRAGnJuuZNmdc8LvE/BtdZD3MPn28ifAfDqTMwbB3dpcZojAIOiBg==", - "requires": { - "console-clear": "^1.1.0", - "get-port": "^3.2.0", - "kleur": "^3.0.0", - "local-access": "^1.0.1", - "sade": "^1.4.0", - "sirv": "^0.4.2", - "tinydate": "^1.0.0" - } - }, - "snapdragon": { - "version": "0.8.2", - "resolved": "https://registry.npmjs.org/snapdragon/-/snapdragon-0.8.2.tgz", - "integrity": "sha512-FtyOnWN/wCHTVXOMwvSv26d+ko5vWlIDD6zoUJ7LW8vh+ZBC8QdljveRP+crNrtBwioEUWy/4dMtbBjA4ioNlg==", - "dev": true, - "requires": { - "base": "^0.11.1", - "debug": "^2.2.0", - "define-property": "^0.2.5", - "extend-shallow": "^2.0.1", - "map-cache": "^0.2.2", - "source-map": "^0.5.6", - "source-map-resolve": "^0.5.0", - "use": "^3.1.0" - }, - "dependencies": { - "define-property": { - "version": "0.2.5", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", - "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", - "dev": true, - "requires": { - "is-descriptor": "^0.1.0" - } - }, - "extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "dev": true, - "requires": { - "is-extendable": "^0.1.0" - } - } - } - }, - "snapdragon-node": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/snapdragon-node/-/snapdragon-node-2.1.1.tgz", - "integrity": "sha512-O27l4xaMYt/RSQ5TR3vpWCAB5Kb/czIcqUFOM/C4fYcLnbZUc1PkjTAMjof2pBWaSTwOUd6qUHcFGVGj7aIwnw==", - "dev": true, - "requires": { - "define-property": "^1.0.0", - "isobject": "^3.0.0", - "snapdragon-util": "^3.0.1" - }, - "dependencies": { - "define-property": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", - "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", - "dev": true, - "requires": { - "is-descriptor": "^1.0.0" - } - }, - "is-accessor-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", - "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", - "dev": true, - "requires": { - "kind-of": "^6.0.0" - } - }, - "is-data-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", - "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", - "dev": true, - "requires": { - "kind-of": "^6.0.0" - } - }, - "is-descriptor": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", - "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", - "dev": true, - "requires": { - "is-accessor-descriptor": "^1.0.0", - "is-data-descriptor": "^1.0.0", - "kind-of": "^6.0.2" - } - } - } - }, - "snapdragon-util": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/snapdragon-util/-/snapdragon-util-3.0.1.tgz", - "integrity": "sha512-mbKkMdQKsjX4BAL4bRYTj21edOf8cN7XHdYUJEe+Zn99hVEYcMvKPct1IqNe7+AZPirn8BCDOQBHQZknqmKlZQ==", - "dev": true, - "requires": { - "kind-of": "^3.2.0" - }, - "dependencies": { - "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "dev": true, - "requires": { - "is-buffer": "^1.1.5" - } - } - } - }, - "source-map": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", - "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", - "dev": true - }, - "source-map-resolve": { - "version": "0.5.3", - "resolved": "https://registry.npmjs.org/source-map-resolve/-/source-map-resolve-0.5.3.tgz", - "integrity": "sha512-Htz+RnsXWk5+P2slx5Jh3Q66vhQj1Cllm0zvnaY98+NFx+Dv2CF/f5O/t8x+KaNdrdIAsruNzoh/KpialbqAnw==", - "dev": true, - "requires": { - "atob": "^2.1.2", - "decode-uri-component": "^0.2.0", - "resolve-url": "^0.2.1", - "source-map-url": "^0.4.0", - "urix": "^0.1.0" - } - }, - "source-map-support": { - "version": "0.5.16", - "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.16.tgz", - "integrity": "sha512-efyLRJDr68D9hBBNIPWFjhpFzURh+KJykQwvMyW5UiZzYwoF6l4YMMDIJJEyFWxWCqfyxLzz6tSfUFR+kXXsVQ==", - "dev": true, - "requires": { - "buffer-from": "^1.0.0", - "source-map": "^0.6.0" - }, - "dependencies": { - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true - } - } - }, - "source-map-url": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/source-map-url/-/source-map-url-0.4.0.tgz", - "integrity": "sha1-PpNdfd1zYxuXZZlW1VEo6HtQhKM=", - "dev": true - }, - "sourcemap-codec": { - "version": "1.4.8", - "resolved": "https://registry.npmjs.org/sourcemap-codec/-/sourcemap-codec-1.4.8.tgz", - "integrity": "sha512-9NykojV5Uih4lgo5So5dtw+f0JgJX30KCNI8gwhz2J9A15wD0Ml6tjHKwf6fTSa6fAdVBdZeNOs9eJ71qCk8vA==", - "dev": true - }, - "split-string": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/split-string/-/split-string-3.1.0.tgz", - "integrity": "sha512-NzNVhJDYpwceVVii8/Hu6DKfD2G+NrQHlS/V/qgv763EYudVwEcMQNxd2lh+0VrUByXN/oJkl5grOhYWvQUYiw==", - "dev": true, - "requires": { - "extend-shallow": "^3.0.0" - } - }, - "static-extend": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/static-extend/-/static-extend-0.1.2.tgz", - "integrity": "sha1-YICcOcv/VTNyJv1eC1IPNB8ftcY=", - "dev": true, - "requires": { - "define-property": "^0.2.5", - "object-copy": "^0.1.0" - }, - "dependencies": { - "define-property": { - "version": "0.2.5", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", - "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", - "dev": true, - "requires": { - "is-descriptor": "^0.1.0" - } - } - } - }, - "string_decoder": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", - "dev": true, - "requires": { - "safe-buffer": "~5.1.0" - } - }, - "supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", - "dev": true, - "requires": { - "has-flag": "^3.0.0" - } - }, - "svelte": { - "version": "3.19.2", - "resolved": "https://registry.npmjs.org/svelte/-/svelte-3.19.2.tgz", - "integrity": "sha512-Jswg065u8R9QYcN0rdpTQSFIr0hFq7YUzcPpEY6ZpFSAWkJKZG9AJvHE1d8+NJDTfr7SzKrO6EYssYYkUmszpA==", - "dev": true - }, - "terser": { - "version": "4.6.6", - "resolved": "https://registry.npmjs.org/terser/-/terser-4.6.6.tgz", - "integrity": "sha512-4lYPyeNmstjIIESr/ysHg2vUPRGf2tzF9z2yYwnowXVuVzLEamPN1Gfrz7f8I9uEPuHcbFlW4PLIAsJoxXyJ1g==", - "dev": true, - "requires": { - "commander": "^2.20.0", - "source-map": "~0.6.1", - "source-map-support": "~0.5.12" - }, - "dependencies": { - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true - } - } - }, - "tinydate": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/tinydate/-/tinydate-1.2.0.tgz", - "integrity": "sha512-3GwPk8VhDFnUZ2TrgkhXJs6hcMAIIw4x/xkz+ayK6dGoQmp2nUwKzBXK0WnMsqkh6vfUhpqQicQF3rbshfyJkg==" - }, - "to-object-path": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/to-object-path/-/to-object-path-0.3.0.tgz", - "integrity": "sha1-KXWIt7Dn4KwI4E5nL4XB9JmeF68=", - "dev": true, - "requires": { - "kind-of": "^3.0.2" - }, - "dependencies": { - "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "dev": true, - "requires": { - "is-buffer": "^1.1.5" - } - } - } - }, - "to-regex": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/to-regex/-/to-regex-3.0.2.tgz", - "integrity": "sha512-FWtleNAtZ/Ki2qtqej2CXTOayOH9bHDQF+Q48VpWyDXjbYxA4Yz8iDB31zXOBUlOHHKidDbqGVrTUvQMPmBGBw==", - "dev": true, - "requires": { - "define-property": "^2.0.2", - "extend-shallow": "^3.0.2", - "regex-not": "^1.0.2", - "safe-regex": "^1.1.0" - } - }, - "to-regex-range": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz", - "integrity": "sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg=", - "dev": true, - "requires": { - "is-number": "^3.0.0", - "repeat-string": "^1.6.1" - } - }, - "union-value": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/union-value/-/union-value-1.0.1.tgz", - "integrity": "sha512-tJfXmxMeWYnczCVs7XAEvIV7ieppALdyepWMkHkwciRpZraG/xwT+s2JN8+pr1+8jCRf80FFzvr+MpQeeoF4Xg==", - "dev": true, - "requires": { - "arr-union": "^3.1.0", - "get-value": "^2.0.6", - "is-extendable": "^0.1.1", - "set-value": "^2.0.1" - } - }, - "unset-value": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/unset-value/-/unset-value-1.0.0.tgz", - "integrity": "sha1-g3aHP30jNRef+x5vw6jtDfyKtVk=", - "dev": true, - "requires": { - "has-value": "^0.3.1", - "isobject": "^3.0.0" - }, - "dependencies": { - "has-value": { - "version": "0.3.1", - "resolved": "https://registry.npmjs.org/has-value/-/has-value-0.3.1.tgz", - "integrity": "sha1-ex9YutpiyoJ+wKIHgCVlSEWZXh8=", - "dev": true, - "requires": { - "get-value": "^2.0.3", - "has-values": "^0.1.4", - "isobject": "^2.0.0" - }, - "dependencies": { - "isobject": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/isobject/-/isobject-2.1.0.tgz", - "integrity": "sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk=", - "dev": true, - "requires": { - "isarray": "1.0.0" - } - } - } - }, - "has-values": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/has-values/-/has-values-0.1.4.tgz", - "integrity": "sha1-bWHeldkd/Km5oCCJrThL/49it3E=", - "dev": true - } - } - }, - "upath": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/upath/-/upath-1.2.0.tgz", - "integrity": "sha512-aZwGpamFO61g3OlfT7OQCHqhGnW43ieH9WZeP7QxN/G/jS4jfqUkZxoryvJgVPEcrl5NL/ggHsSmLMHuH64Lhg==", - "dev": true - }, - "urix": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/urix/-/urix-0.1.0.tgz", - "integrity": "sha1-2pN/emLiH+wf0Y1Js1wpNQZ6bHI=", - "dev": true - }, - "use": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/use/-/use-3.1.1.tgz", - "integrity": "sha512-cwESVXlO3url9YWlFW/TA9cshCEhtu7IKJ/p5soJ/gGpj7vbvFrAY/eIioQ6Dw23KjZhYgiIo8HOs1nQ2vr/oQ==", - "dev": true - }, - "util-deprecate": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", - "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=", - "dev": true - }, - "ws": { - "version": "6.2.1", - "resolved": "https://registry.npmjs.org/ws/-/ws-6.2.1.tgz", - "integrity": "sha512-GIyAXC2cB7LjvpgMt9EKS2ldqr0MTrORaleiOno6TweZ6r3TKtoFQWay/2PceJ3RuBasOHzXNn5Lrw1X0bEjqA==", - "dev": true, - "requires": { - "async-limiter": "~1.0.0" - } - } - } -} diff --git a/contrib/aura-clock/package.json b/contrib/aura-clock/package.json deleted file mode 100644 index d30952b4..00000000 --- a/contrib/aura-clock/package.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "name": "aura-engine-clock", - "version": "1.0.0", - "author": { - "name": "David Trattnig", - "email": "david.trattnig@subsquare.at", - "url": "https://subsquare.at" - }, - "license": "AGPL-3.0-only", - "homepage": "https://gitlab.servus.at/aura/meta", - "repository": { - "type": "git", - "url": "git@gitlab.servus.at:aura/engine.git" - }, - "scripts": { - "build": "rollup -c", - "dev": "rollup -c -w", - "start": "sirv public" - }, - "devDependencies": { - "@rollup/plugin-commonjs": "^11.0.0", - "@rollup/plugin-node-resolve": "^7.0.0", - "rollup": "^1.20.0", - "rollup-plugin-livereload": "^1.0.0", - "rollup-plugin-svelte": "^5.0.3", - "rollup-plugin-terser": "^5.1.2", - "svelte": "^3.0.0" - }, - "dependencies": { - "sirv-cli": "^0.4.4" - } -} diff --git a/contrib/aura-clock/public/favicon.png b/contrib/aura-clock/public/favicon.png deleted file mode 100644 index b210b336cd8f214dd83f2ea3dc6ce6d9cc413937..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 19295 zcma&O2Q-%r{5Pyf$lhdTXYW0-XZFb6E1SqD$`08(dy8b0><}V*79k`%8Ik>dulsq= zdH>II&U4P|=63KK*YCQ%<FkH6Yu#7E!J@=MK|#S$QI^+%?+wTo20Hv-atNIdzM(nX z)3}F%QX7Bk-0BAWe9c=&NfzbJFx3Y9Kxd<@qk)1Fz>I<t5{80u3cm_jM?rbSgMzYY ziGm`Qfr3Kj@v2!{0{(z*t)?W8a)tbt-&U3kzrplSe&CIQLT`b5T??2ySVlon9#@gS zr}ubvr_KMd-b^O*<<qrk^OEs)Zj3O-FnkQ2Kx`pPs+AiqeKyITOdM+GqLY34=7-&L zH!^=`p4iMzWQv&Ai)?(Fuhm$_;jZn>=(%;~hN%*QFMDQOqLb>}avanlU2HOq#YC#| zIUr9-D8J=Z;Ba8aS&loCJ+38|ZU!U%iew0z`jV>ki&5PSy^K4D#LOh67?R;C;cT*+ zRytPy=dW*cKgRoEjLy$Mj(rCoBmed57%_42rN06FYX_Zc2lQ09auWjOl~^b|<k(uo zHx!Eqd|RmD6E`xHh>#Hf_U$jEF*oe%DdYtf;(dqUNsDB7$mIhA#iypH3kwRKZEkLs zx3}jSo0u&5wp6sVWCsKU;A5a6pSY2ogO>IvC<M=<ECnd7YK<)6v;G@C5mEQv-rlRE zq~}#t9K!<x%Y%dJxk9d#Nl8gxU4-I~i!AuzW!=bkqMV(Z+c?~qVCCi}W6{hl&dQ>6 zc5x{l9=`uCNDA%xHLS?)1RYsb3Q<3v#J|B4R|^(cL<Ad2bJn$Q=iQWKWv}z`@jdR1 zr7+dg`&92RlE&{aEU&7H#r}eCL6_g^o^CCb#q-Ppc$(SS^-s}64Su`kp6CBO#R88w z-o1MVXGfcr_<4#K#sh9cjnSH!t7ch@40YzOJHGc-Rl8y-_&+o>q@;71-BnXn6=7lu z$3gE-c`=S>;V;Y2U!3wMppBKCok-m8H}To=ZdqmJUFU}ni)85V>HnnO*>&tKy~>Nq zXT{<my+ue!_~Gr_gmi9;;nxP$Nj*J1;~PG*7<;KK$A)R6gRxqyVbjwF+u!PyT;`kg zMIZm6o0^$XQl`o*#*`<_`6-KG#6enIR(7!56LYd<an=0Z<s099H8q>$eu08siL`$M z1jdc(lT%Y;!#UzTXS*HTxU^F0T<I|a8n<_s%m|4U?wOiWaT~o2ac|iXY6|%4oSB;1 zLmIQnuC!f4ToBqxx4E_D)c2BlIZk*1U+E<k!TkI@L4{v+XcSz^&>Oc%Ka20S>b@~+ zF|fC{uj{d<*e!^grwSs$sII&Vb>VdUdwzM!(1HX`1DRW6;J7Ncy`qZ?M;e^D-L_-% zCg-WUnQ3Xg=-oesoizevTjt%UL_B29Pey`C=ia*#adL8^sdKdbbC$W<WMpAE&=8(y z+-=#FYO?Joq#z>`UXW|4%xDP1jqDbAaw^bvaWpsZYbd*?LbptLLI7iLYX3-$t$-B^ zKK|tf{!a9pf0Uk<mp7tV<k=eOtIxxRIX^WOZr0)(oo?~;!MAr0)7O9hrXjksHJs8Z zwA#7uetCP_w#hg_=MFP7I&yvRB>sf>cH;=Et2#+;V3_IZ%GGpSHa}iXHB5Q&0xL<! zoP_WA7<;o=fE;^0rq43DpE!DcbeFp%_LFazEInH2JuI~ATKbPds!cFFr+PWUK2|-b ze>_pDF)Mleoxx!+gICn|(~}H=Fav#(n|L(D9ak5-$W^OpXl%65-Y65d^cnx=BJ`=J z$5Tg#aD03mDZS*Rq=bZokN3-na3fI-UZ=(>G8_(NR90d{cK<oM`1v<rY47pq*w{U4 zYHCL(r-HOJQfGJf$hn=;+}zx2XdUAtiLYM8&bhT{oDKW67jc??@ECU?XSq@EM2hyk z>m2jbi!BTGz@u$~ryaD0cNPkyqcxa`2#JUilam>4-MZ!fYcNyd$*GU6t*r+f6AL3F z^j{=bCbuHKzCJ_J?Ak#=eSI=Cb46`!;&85H%;u(ZWo2dI?5y$F*w`}<ksyWsY9~q; zq1$QP7F@JX4z+hmv)z(}vRwzKx1E==SQ_SbdMz&Z$yN<JPE(O-U?|%&8qE<V<K@Li zMnbap{Kl=v3$6YV-oMl{Gc%(<d=Pm*x5Hr0K!sbx?HK(*Gn4raq3qi+$4}uxc2aqG zZjITLl$0K)hfe>sd%z*9zMh_ziHV7PT(hb5)=Vb9!^@z<F{M@E_C1^(<C)hrPO^;+ z4L|UL|Ap?KEnb;dR8$mv(dYHKV^VGKb9HsE&hE?4fmC)oPfuP4TU$CVE;pItY#P+@ zZ{Jkn;^HR9$DhA^iMzSIE$`>&$C#mVEOYk-A*PU*SWZ-Yyppx`owCx>JN*2~D=RDC zmOQW@(+g^Z!nNt`RZK}u9V^RwdiQAi8$;#m*KGJ0rb4xUHMU{+{Bytj<=zlU6QHc7 zqC&A-(q?O#9A<AXASk%hLuMgxz84>?XKZX7K>Lf3%)mmgW&Wk8_pi^{Zq3o|AC}M` zXlZ?nj*doEH#M&zTN}wM8yHYUE{Sg0eQh~8)JML)NqsBNM%Lt5iSKAk+}V85?myYj z5*E^F88YT*+cJ+^HW3{bhK5Y<=g+Tmv9kUsEW9&3JZvA?P0-{gLN(p}z-i`<nKd-9 zp1C;}ECsIYNtA@Nv<T#g1L5ROH8eCl95)CaBFM@d`}#G?A=kh6Pu|r@UgFT=s_BSz zZT^Q3MsD9fXfOCoXn4UCry?RkrAN!4fD7m_{E8qFm%8xc>{!>%j!95JAfa!iz>-IV zF+rNIi6Qpkhn2&R!S&y;%O?7vAS516bC}oJVp>4&BQ@gGICoDzL8q{#<@VInRD<iB z(B824Zd6?z9|1NxcOVxmB9E(!<A?Fmmmjhc6Fr9#PqXd_@E4Vo+|ZQ1Xjnq(VA-pQ z>tPp(LMQAe|CQdjSu?+RrdwE8Ml5lam5$ENg{U`iM~`;qdX~B)E8e_$*=p|2m{0qW zq_OxgzLcLb&O?OiRZh;(!P>~0;KS+9c3;vw0|LZuV@G`c;=4J?7H}{m+%xCiQ9U_1 zX=;!_!p|TjMS~~xFaO9d_}I_c*?Ch?Ve?@GY=`&ng(S|l>m$<515`YlOw%8=!F6fh zD9!$fiYGx=)AC!40#4i=Sytk%lY=#<v!k8mn&6AqB2UjnnoPOIOL%yW_C}lI#HFNi z)zsAdFHZk@?aaR8V_}Je9?zhF^0<jhh0on_UiY>ANz3~7c5BtW-oCz-z{RuNqkk*$ zuT@l3X0R)2D3HP3`foXA;9x}hzhSk%O&O;+m@8=_bvP>L)g6JuCn%UoqHvFuSk~2* z(-n4ED-7#p*t|tAKHdKP!BPL^Eo$-ap1i!g8RC9#S`UWBSBHcbsp#LAIyt(zm2#TA zkCMLJi(mfPpL~Z3*JA$_3#<dYr+-j)#*}E=?5k*J&<X+r0{)aqU#R$RR+ObQH#e&> zd&90Vs4=g;*jc=+Hm$Rb7RVkN6~L*ku5R#NyB~neZK$J|-@kvyn7@{0`>T=ro2|jP z+NIXWCtKk7n7Fc1wLlBwnGDL)4(VmK$+mE@Li!IA8=qj^t_pXYXzcXfcDI#W1pH)u zb$PLjjHrKbUQ)kAa|}Xz1fTZ>Pqts|xIdhEo)geTBu0h1GVixYa&-`VsVQe?w_0u( zo=G1jV_-n)KHH#jmfdl3J2N@CTNVRA4wYm;%H?61G+QuC;MBCVv}+Xx-DYYXx&5}X z>gw1qY3U>-shgUbkXqW<*m(8o)gWLi0`~&9%?Sa{WhS2{Q%6_Vl3%~<#ey#-a>V^! zW@TrOIqb*$<T6)Qn(52R%6jp4Yv$qN<x%6i@o^oPo6s2V-={sjI$Mk}w0NTL<mgCu z5m3|vTk2oO)$!Gvg{NmbUWGRWH5_Ht*lOJurB2I&Pg%Mb+5*E%or;X{?IQ|VS-H5< z;-yZ@ThD&Cyn}Jf!w&;@9eLSEA&Gb{hrwoI5VQ5^uUI=+{q@Uw_?2i~adB8oOpGX0 z9x@2s8sldx7)ruM)<VCm7DAusK6pU!WUq%z&%l5gpwt))*Jm=jgl3LG09w7*hEtLD zXx(`~XKQcIOhjPHMYiyG1?Rt&A>zOPlWAmWfA!1i)v3jmnpv|Co2KoP09m5b!A$-` z?yG(72&k^uS;i9X{qYjD)%f6Z8z|66<JPrwaJ~NRtsF*5pWpM}s%}hq|NcEeNj{Am z<?Y)s6#Vvo&QA_j;gS89y28C?8=S}viOq3+Opc-NdvYZM*Z(YaFMn_H2K+^GB8wey z`Bzy*r8CEGp+XY6Vz$-);HxDM9X^I7Ov>f-j`NZ__r>;G?XBI<GOdKNYdu#KPoyvV zuCxyJ_nBQ}lJ`fh&PT3XTW|7GL2>_?TfCh9GyAZH&Ai4>?-pH2Sif!8=G5!ek*7!e zu0vUZ<F<SNW37;;U%cE|#5Q^FqAfu)@-|m!o<1ohC9Efg>`UNon_=M3M5Ujl8reUS znAB`xsj4$i=m+{H_lN!bX*-xL9N%&Du4WHjs3<3ATqZ>TZ+2&8;-${!w=F?IL1J3k zcmVR#l6ezlno8c@{4i4!D=Uj;qawPk1cZc=daUm`IaRzWcQPYN8hsK_zrP&AeHRA@ z$A`_<ywNQO`r};5wdV!NxFwIgRNK{&`&H@oT%#s7*>+9f-&glp(l{R6+3mP`igfvu zkjq!PGR-_Gt|osVCZeLEtpEeLI5}4*C-rc{Wj&fqi80V3*o{#&CbR&WrKYCZ)_-Fa z7EX5+x?NXaFDfid27pq}#6;X#=lJk2zoaC*uC7i?ON)p8)`GgSY%o;V;TMZb9Z{e4 z1e8KyCtm(oMTY4&X6#o>w3qixntdwth;Qud>>Tz<UuydweRD`17#Ogssc@nMAg!%U z5WHowm=rI0l;PV)?f1E=swzftIPL~EI_mhuM6Jh?Y%ae8Zr`U*A9s9p9URsY)T!=_ z=V<9^Yu}T___?-L-@POQ<?G<!Py|>B%3P^U8+sTJoVJcmmy?sziX^8T&l1M`w{Ovl zSC_{F+3xKXXrZ0u`Z#8dt(T`;t3;X-1)LV`rj*#|4e#HNyFWd+y*krz`A)~gL@iVw z+w5*%PmdK$`F$nn(?nkY-~;F9=a>`>E<EH3sj1<xBfQPcX|`yF5NO!>;51KMOsu@J z@<j$kczAeJbo4z%MRWi;`7k4Z`>o5S<y?-=|AuM$(?f*EeL>>AarKHM6Dm&u0{;>4 zXdbkuAP1O2;Y?-1wd)osM}qXlhUUB5?ycIe9{|-(z&?7oT9R%~2w+Lz)r)H={{H^w z^Se(C1Gj7Y8cNjC&EE|zq=rp7_dvJ$|Nh>z?IEINVWA0RLisumLFdZeD4_kQOecUz z1S&Zh8BtJ)y6`a>-7SySu^12ND~s0#eQj;+Kz?B2l~$M(P`tK3UAH1eq_2V|D;41t zU;Si}9&_us@O7#+`r+HMH?GD_@$_tN@ddyz${<erh)&Cog$gl0HG@xecd{4HO9zLC z+e?!i!||0>Rb^FFFyW+l=;{&)3Jc?DGeltkNzyYj(?Ab>_97;x1o-Iv`?w|?q^~6W zb$on%#~lxy(!VIk%a@dtyh=#mS<ofu45Rna)Wn1F>Wa*tA|R03?r0?`@bJsKL2Kf( z$Ue8RwjQ0B2sJeKSMXm7Cqp)zRX?n%xAsGnCqI)lowuf|lVO3bNZv@tem(W#{5&XE z)SDR?Zp1t5^`z#~(g^6N7cX9XwXdg#uDEzAeLq)1MJkW`uFh7al8MP}FE1}GJv{-d zy3Z`w1?+e4t~aga>OzTsay+z$2Lw!FcKNSQIt^-3OP>V#vi;vGcd!$1ufw-_I@v=J z2#vVhc97O3<2D~OoIn#c;GvBBJUsjh5aRFc?P3_!iRO-N(s1bI0E~d6i%3i7L3_gd ziGVpj0q|SC0oDf*{f*Fj9Ht)<;7axdVxg$x%LcZYBSk*&x~BcEY=PEfo)kUWuaP|N zyvNI!51>I%Jbrw<b{c%OdqsguBf%Omw+-Cb<?Gvf{~ZwUbmroX4IS9FAOqNs<PJd} z!$pz|nQZ=B)Yg_G2Bn^#AHvViPXNQcxR?>}x3;&p_arl(y`qxRO*l6^fITtk$$N7E zdI4q*_?7990@W5X=7KgcKK}2f^uK4mXFH8*3fdmOzl#PS^8xmf48{HNj3N8)0bAAk z9hWm#m82vj8s$TSsn7AR0}Rg)d`K!RC^+`5-r?parLAH&XXiWm`bfvaGFR5rbkLaa z*#62pHa}1OZgc7Qj192H-f|B}D15)IN>|zo0TZ|Q?hpb=k1=+ie)Qwr!<m7&+ro8Y zjzBqt7Xr38_b$(N*_*oyq+t>nR2wtp1?{W6d;8WyC+R^X{&i^WbEuw5gx`h^#W$BM zw;eC&BKL#m#DP5k54N8r_^|k!%S$mA1B_=3N-sx&@yly!jy#q={YPkwM|k?D8?Pu0 zOJ?`^;49H&WMF3|C3R($TJ0{hA^cw-w17yXyHOZ00)7PliwxF+ZO@XL#Y=elyzXB# zORg3fhY=5BzB0x$kULsWH(wKsI5|7tT@1du@B)UZeUom3GzCxkTx)V>X5z7-7qy}6 z&Cq+WD&k*Ki4qECUi;|QXag{F7LXYeK>^g3koyA1z?UzP%KmIjUf$j(u)_<QAMY(= zZg4ai17I@(QXqZ#Z^hZojq5nR5j{Y~%)me~TiBiS@87@j^6=;A?{BR_g(yuV2$o=x zHvrnfLJwUz9b8de2N~*gy(m6xZihy{wfB{%_fNn#oYe;G*Po&IZhxhJ?>2w;(3(Tc z2k(a*o@DWS(819D>#rIEE<!edEcTz>q#0daUXEZS2<x^&gq`iLwQ?Y88C4s6e{wuu z2kb{N5RV@1yPL3C^kmJKo(}}Z69RgAdZW)!Zz>9+M|MAhivq(t$le~FJi<Kq;?dan zIN!(ma`F4^mw#)%T<u$2#>B?OQP(I@`+e%|U0w*>O%+}Ys@Eg73wc__iUm+`<L`_G z8I&}=z2d!l*W7__9dQ@n;~ecSa^GcV?|Vno^?{(dtn6ls-)`wr>tiw)bkU|APum12 z<Nllk{e##4>GI;N$D>jaR-g30AECy+zDHqki`48tfByUviYHZ0LPCP`IsjSdE{pAE zfN9C&6u*0Y;VeoTmk)#4I@=Z~9Jlt%!xW=h>G>1rmm<|=fZrch(@cIgI8BhF0Pl7B zlE&G!vWJZ+0-X87T5e#2LJVntP11q{p^xwt!qSH}d~g%SpP0+Le5+H?Gc+VZQO}dg znW?ehRw4=_#*N(j=8zXXJw5F?NA>bnfuM#QfXN)OM|Yh!s`?&QfpnEMWdHBt>Gte9 zwO1mZve;xk4S*|}o?ZlO_=xqb5U?;>+t_#l{2M?Z(^B!_-b!B&G(gzmZsa$YUPO}u zgeGF_MMwZNy1c5&<@@AIPkJ97@=pK)!)T~UaflT<K_e*1y_^^wm7xv#^9%;OoX~S< z{|_rK#cl81>ohc<B98?+-43+KPDf`v0jF?gtLG+d5FMarjP*EKWcDfj4fk%DZ*Ul) z;WeLr$;;C4J3!Lw=jXSz=nOf@0RLYb)}(=cyW~NRs7HPAv}D~X|B!>;s_A&zRf-wM zQf0u7OaK_q67tf_cc`SFno>zT)`BtwX|u|_&6t^qNrAIOU%w}jL8-j0?TIP!QVwA( zE6+?7K1(6={x!G+V#3=_OBq8$viI(bT<Gc7Cj@XXF)>?xcZ@|7iA4Ku!wzqSrIZP> zROtLNSNg5FMt3rr_?zgV^nAOa`YE>xnwzuW+ICQeO$*>C#nUjQe<2|$_#3+dT)6+! zC;2p;LbwG~qV#syP$qw5I;V*cQw}#uOwaSxFX>;Pcj%MSGi!sdo>snj!z?M_w=rH) z<Q3Us$|dHzO&<4)>4OfrH!>k$h(~L&5>M?t`8E?Y|7fOm$Ud~PQUq2-LjDsrCPa4P zc+jQWe9)5!x}aJbM>KKCSV8t8E|mzKo_;vM4%qu5uvDGjfrt*^wH-e|GO_kk22nGh zM?}wZTr{5_l?DaOfcORw=D_3M)O-(gRDp=>!z`-Vu)L^!Zm!6|&+i>2Mu36#7KCO{ z;H`MbdEh?N)DOmFRHH$lE`0ay(O_GIjjE%);*%$m8!hYQ=&Wb}A4J*MFi}9DQiEnf zoy3v6_a5|Ohml;#0`@a?VtfK*mEE{;qiUvex^u9+ygVP)C=m)HGc&@gie6~BI66i# z{&>mM`)YJ;IENv=kBDTYIOXl!&i8b#Pt7f@05#DqX6)+=fP&T6)s;@hu_l5B%*4dx zQvWSty$^6%aZBxvulPuoU<@^`(xgr^_y~YbS%eGDq!fs&{j|8-bJElMz$gF_sj5o- z-^C?;AKZTrk*!z1omO_+*INNR^AfrE0OQ2Y&Q5kh05&2(-h&@MN^c=P#G(-#Vag~} zF0cx6oB}wK1d#kINR1yn5dHLYXb?8x8h}-{4GC3ZVqy<P#a?_&0GaUddF|jH#xtM* z!-Ipdv*QG~k)8k(%V$nit<*7hK>J)+kg9AH5*N?@tK0<J1#ASWLg_8cLg36cCnCw$ z0nL0K7_crH6A7u(Q9XQgbSK}BNHmL%n~e!{OSUZIIYUCYE>NNs`4m$>!ekT`6^s9< z+1M~V^6|kIQFMO+oINxwEQ}3PQk9XB@ehoyJJp=0MMXuZ0R)twzQxAImJ3G=#=d#O z75gaYFoQ^J7N_917N{py$^D;DM!$cDKfR&9E&F<E05q!=9rZoq$SG$9fZL!l(oj8{ znVM1<8X7`DssA>}#>Pff9U7hqvaX}Ro|xfv8`br8`xI@>s43^TL(CMN!jcj@nFAVX zs9HE{c}c_RQ4I|OG*p8lgBanmpaIjjP5W9~FXJy;U;ucaiFZ)Xvx8IhH-NyE*dQ;g z6i7QCWgH+pS65d7(;ETs3O;@MR2!6{5)QZso4LU}t+Bc~4*CP80Qd))L%+&3JV7Oq z%5#T@8pM>$!VrfS20l_aen89*t06^$*Cd{vp1OpmgajblyO3zxN6hWKOri7@p>pBN zR3z~it`H7?+L4zb>YOtG#MSv7-{|d00iA3?X!)^U9U4n&B2>88=`vM*RZ|T6E<$tV zl?=T6H?BYHuaM*CkC+JN_Guk+j3vIEt^-yV_ME|2M}hkp*3V|{s52A6C!XOXA3lbB z`-_0B=CP_J$LVub%Pzt!uwhh-9S4=yw#*E|@pbR^G09?dqK97VCJ-aW!f~9D`0mMI zr9*V8!}A?Y$@@F;8yZFNnPj0fx%A>9{}z3H>e1a<M}e1LpSrfHX_<XV(7_dt44tW} zA#$6X**X48RqsHdD;qEWIq~I;3HnyBaHe|qd&^tlvLJ!zTAvaYG(MzxIci@oDyyt9 zp{TK5%T+60dKb0|I)MVGs$2p7^G>>JZ4VaVQg*lFcUpRw#$=mr!S;m<DaV`^^}|Et zP8crQbz;|2?Zp#`>D3u%BDk@(;pODk8~-+QWyJn~^%Z#$1m}vLYmZGHFTPJMRL<*~ zeDnI<7uVUCTFtr9XYg9_edhieNqxy6oCPE$;0}~9tZyayaV1FokvK2+PJ+m(8U(`E z#}*ducl#fnW)aqc9$Z=Z=dnalC6}{McHehtp3*S5p4!LnCSG?pHa5!bYUHG)3Aqrd z*UX4>ojgpw0qh%De9zl~R)c#%7bYV@r3ilF`P1OZsW)&@f2NHB>h%!I(Ox|#AOJ80 z4XAQ8SW;TL{{!>R9Y7Gyj*jG05q4N@>sw24KvU@}!@8G#K=(7>0f(jG-McZ5d4dR3 z0(xfVh?V8#-a~&lBe0y1$JA85;;KMN$jwE{nLZpHv9~ri<s05fmHuG@%?QMcXb_TZ z%@BJdF|kv|{j03E_rcpvD+YQYAyS+9ZVzY^A2CsSdMmxs79cUo7}g+f%Ud5xGlNtF zA_;UC#h1QJV)%Z~%xpdZn6z)n@xjq!iE@~lr{E&OfS?l+^4+hb`d=D`c4PSHoCX}Y zwnell&6}IT{Qt3kXXjGJLsrkD?FYy!CM2x<&&3jfSCvTtZCTt{9fb~c3L;4IoC`~s zjJdh_B!P*1*wK+M$i}epo&)|@QRz=m*?brxx4ODoRG0j8iU2FzWB;cLOz+#{gr8i5 zieTu2UnE<A53(|>d&$k3*B~#Nn=fSe-M&51LO=k}xyTKdJ1k^os|0+^{j&>vSxXq^ zpf*a_+N^^%0g~Kd@i3by6$~iQ=Y)zGc~Odsi{CDM8QVQBs;f&<oT!^!@}LtI_8W}3 zjP>`>@%0rdD=AT^Hms<8vA^%N`7rGzh-uhthWYMv2<x1z(A5olNvN-{k7y&^f^0)0 zBWoKIW%Uc??VvVo?)S;K8_zs$xK81XnFH6U$lp5}1J)y8Kcy#T)sOp=nB<o8!tu+i zt4rh}adEc(W_8H`!lRN3${5a*mX_ZH@qyz(T^JOIk!o~vvl!quN`2b?@83=D!^AxQ zuLqEgB@p1FrUt^aZ!FXzOp!EB6J}i<9rV@<S&YXLG~4qnhOfl^+*DO9&|q&NCNfNA z^e`eGejOd1$KUGgK!l^m$N2F%kzw-tcPhaG(A8n5uQ~=$o3q7=7KGy)y|uiiv_;5t z=kV~*61MtJuO=WtK$k(+O6{H!k^($K4G2wL^ns#c2QEf8b1O)}0}tx$Yw@q=<m4dF z2^U4%9RuV6p5V)KPbX<ft}w)v`TqU8_J$##D-s0cx2ax%ItbD#o<|)9J**scao=rx z;5xcG0cZjO0;4af#pOZ4!$}(k2>Ecj%BrpT3UJ^0*IFBEfl4_yH@D)-4I`VuU1fP> z86%F8Bdrm}v(i%LQ{a#Cboe2FhF_4dgQ4y5`Ipv&KoB7M#OL$6<WU|Xu}{v9qDQ38 zT#RZgtgH%5+k^azC%&@e1>I4cP}9M9hCCd&LY{07CAip(U|oDk=cd&!16?o*lxsz2 zHPHRc0Cf9CalK*10#|wiSSrz@M~~p}@ewf!`4L`?fJn-WEuR&zEN~?cmCI@o-Fx6Y zEx6Sr>;|zWBws!08$izK3cm$<pztOo9*P!H!S*@eo+1JYU{|@jqo8iv^x-03ymov4 z2*LZL4L+~^+T>kEF0relim+Vw<_+cz4-tqu>}{0gK_Ty#i*^lu9vWH&TU>qzr+u89 zOqPg%kDuQk(5d!o>VU=xzXktDpu#HJ#KdG|UrgNF9x2P+rbh#>4pDNWL7VY(GUp$o zEBVx)%;I$LYY2gbQFh%fLMziI?x_$D(9tG_(=^($+pZSca%heri@{;mtOw@%OB1qi z&o8GifIsZ@-d37I#X~`45Z|3yCOv%x*wWKLh=6rR?pU+|Zm#t|urFzAyI`*gK!zr` z=BbINg=A!82d96x?7%kB)9*nt0|j!CicC4+G5?FW?M6=Ko%7O@0nVR{lM~wrkY&9v z-zL+;)2$j^fJ2z{S~@y+c3Thb196J<@dmT|AIPb9fDMarQD-t^K@%a&80hL>daFVm zRgs+g-yhAG=`5BD3ki*boJsL$OEN!w6ofGeq?9>N`Q5^%QIEh)WWSlc$c4tngaC7? ze?L$G<}LY%)dER#J=tHCJH(<#LyDrY<D%N@&yRb1`g)SZDPKE+JN^y1KP>{)0Pl88 zt#uC;LhFDqf`_znalDB5TTub+KHiJ7?;b{qwDwZ27(4b_*IKR)q}G*}JL=`AnsJf2 zF0?*?$woLjXJ7?py)h^Tcy3u-VIM)~-#{d?!<7zI1bVOK1)GZkA;af;m=yuT<notr zN5#e-FU+RHHR&sVy?#Qdom|Om!#Ad)zi~ACQb%Pm!1WKEsWvH#E7h$?Aw)=9P5Wu( z^4?=h@Bn~PwSyN{(!E5kQ=q4>?=tsZL*n?mx2mh_j$y<kL{$#IdylYzZ=OhgUZ}=K z0CnE-yIJjxc^j}=ehC^p^Cy4xR}r5rX&4YXRQQBFJR{d|$|d=+jwPf9gy(&dUx5#a zzad6=x{vXn9SZKJ(fZJiu<LAbwedUEyD#_{HC_XDcW>Q`*groQxz#q*Wvd8^r{vZ7 z0g?^TLSMVZ#}72OQvWq#CN!j^5Zl`$tRJ!Ry4DU9T)%<wR&PJF4EoglsED!w>8k_j ztHwR55c9#}wl?ZWJX+GRUsW5Nc+D*>PT=SxAt9iGu&VRx>U6MiOUHzxVM7C<*VfYu zi++n@hzc9$5RN7WNpFmGyWJd_2e;*fMfxNf$-w|2Lr(lb-qm-HpPvcnOJW0XAaX<V z_{X)Km*T$@AY;%<`{W!G=g?jW=m?d#ulo9QOw6+=@KSPJYb`skLwkcR-XkA|Y^lvn zO4-faTpBU&U)U!>QiEB7w*n%o`=7)5K%~AN#Oz~*)hzd!qeLDA->V-trALL_zO!<Y z-U4wE6lZSo1^+c_JAr%3I;tsYY5O+ulBGkS-^daVy}}P;z5_Z9C>_YM=(eYe_c5o# zmw{8v#K;JCcm{||rJ8xeot6o}c_M<O{?^?ryPs1C`yN!T6*x<nwdCoj_KM(%U!1Q= z8=4312ttEDG2&xkVp>{?q)h|)>@6u7StN|qp=@Dx?zY1u0AYlW6koXg4*a(i`3{*! zT>=t0_+jV)B|hLW!dhGh5?6%9yt_3m52e2Xdm71CfoAUa=+P4R-*V>oZBaw8oE5;= zEh#HwfR9Z+J0cvQa(Tg*P5)+sFATfEXDY+K<h#}u79SVagVYD@<)26xdz8?mU@bpB z-6+E;!u&B)3xS}M&kXU7@MPIM*R8tnv!d|9WbzPE2Z0k|uYb|D9`wWF(}NTPFt@0< zI0aCz{Cs@!o12ZpWDDqvr<0|>eEAX%){}ujnz@!&YZ=2`Wws@+ruFK^1)bc0O}1`m zRIUhJiVO-E`hJT~8jmLOF7>|j_gmTb!oXXHUTs38OYN<p(<h(^pCl^LB*IEeTp?-X zrDDb|cxJw91!)(s0V`ltZ{ifb(FBU74SFlqty>6VhYv*91wjJPSX8IB&8feJhK3K6 zp;ya%N^b6OZEbCaa*O~K0DR;uLu^CO{PEHaz*sL7@05VW{GUy@_ld|Dab!08xu5Rc zTJ6S@)>G6C(H5SV_g~A|M=q+3nes2|3@x}~EQ|K_OJI*fGS5n{G7^-iiV6ZrNl8`? zj-L<<07ak>%1Dw151^i+i}lLh<8|;h3tL-Xfh-Jky%WY>VFi7FV8!u5pymlgu-+ho z+Q#}ixo7V3%F14xdyrh<ax_Z=paMP=09zCMBN9ceC%>|bX3?&<g_#4CK@?TQ*zD!R zaAH&!f&GW1l*q9`7l?(vR#Mo6>Vqs^lnh-6$d~t(m1Tm0Bve&Z0fzzK-w$Z}G$==^ zqpv?XJw4w3<ZK-p+EyqVMm;#9eK}u2VR-j0RqE>8dk-3)z2juaJtdh%^TiV1`@as5 zVORmhOzRS{a}Kc!AZirwyJ;<D#yn7C1A<-pk3jMPEA9lzFCZ43d=8mdT80Oly!w}* zI3S=1K&RZ{;;nm)K`?DG^G0sYzW~M>`M>P(@|qf!^e=+eIYKovYJjP&0kFxA2sIj4 z^JEW^Z+*NCeiO)=r*LRJyHAhBSHsE7wUC1a#V7K~SV;=#&dBBHqX|?;Y*$-o0Dk`a zIbsSU5(lyS1MD@Xgqh%m{BA#UL%QH|^z6EiEFtB(z9itue}Iei!1^ls)&On}%)}3- zT%fdifS<ALEB<RZ=gYTm-@XGsgCUd{&=)EkivniW23%z1I12%ZgP!b^1++(oIeDW} zW#@l|3&s5R8K3;=yg7gz@m|Z~#eKv~l6P=mAsBnB^I-A($<9NI<o|rTz~4<Qgt!4< zM+88_rb=I(jJ%lHq9)1AqyR3$ZcvpFe03aL1LpI?E};f```ovlsad5<&~}7ZXTewQ zataDP<wL4Es*=MpQb%8HW&tf0_gI6hh@ey?9`G2lHwtEE)Vv2#F;!|_kl_JsD?>WC zodaxMC>YRqe!^1l70XF)P26T@ehKy-5Tty_E{y?NTVEe5T860vthBi0wNk+SJF-AF z7JcVj_d9RWrU0Ny4wxze<Il7e=J9|M?Gwi5oj=O6|MBo6I@;Bt=2bD|j(9hVWA{FW zF$;{E<XnL{sgwKk)X7euKTFK#4u^3=RL9x;u5;r;!0Xc8!E6xH!Ng=oKmz#2TE&Vz z%Et*hic%Z*%aWm}5SecnCbZK;sV7`+7{&_5IN9o@*Ua({xpW|10@xBlX+U(xp!{H= zBhDd^3Aobnpcjn`;K)W1V16Ei?Flo(sKGI@75eiX1UJ0FAVHOZ>$LFX*lg7gg2G<w zqXpWjT|2??v9Z{fEgfg#JK~EcFNJbD&&Djfh$vA2dv0Vp<PyN_AAehmNft^|E@0D( z-M-s?)_`OIHuHv{D2Q0@j{?(4LCh<_JvxBw3t7obgW5>4@UKJQLMS^9m=iv<#n-P! z05}s#shWR6WU<o{AM_*;LCws}e)_gRD0pmQf@nj2s$*$gd8EjR61FeQ$NzFhNNfsv zo1ybBbll<Q>zWrxmyW%zGaqQ}>FYaymt(dAHucztJ~5@xhtEf4+*yC>YD$*0LYoYD zO#Lc?ssXJ40lTY!<Z7x-oA?OnfBCj}BJd9!uNa_hQ7{6=rANrlK5d@9PT|{kxbx!G z>v(->Md|y}iZjvNN9tmU0FwZ_KZc^+Pcv~#j3MPrg2zP(`Tg5%d!fzbd@cC0tPavb zut2yfH1la1uBzRisQotx;hJhZ=0lyqFSrI6B?(zAs|Xk>bdBR7*HHzxgP4?bKLY1A zVh>dV7*Y7X02+wT;kx!I#DowN;S;P*mH3;{5k425Ok#^i!4E)_M)InVEJ{IE4#>Ij z<zxUD($govH!nc&R3U7M!v%q&a2f@_<9WY_no=jlLLV;s<$DDcKtJ~P7rof(xO{B| z)`|8_UL3!i_7OHx4kJ1Qnj-)h3HhGxBIbTw9U&;zB;W`}Lox^LU1MXin=BP)6SrN^ z>6diy@L(~t0&G5cSMx*zj7xeDmzF1C4wfNi95VZtM+@Y-c6=@N|M_VCKwfIHrc?#M z3{8=>{%{Ws0?PGNd5fUE8yAZ(0&t+v-h9wgskTtlCN2h52Ld<#VB75@ul8cj+{e!k zQ9r<b+W7bkbs20on8FH>TqVXvXCRIEGJmq=9EE=!fGlXIrhou|DIg&b(ZC}YVD1iO z6PWqwj{z1o1RlH9+I=BKGD^;%c<SqO`*Sqgwu9U96G=&=rKH3Lq7OKF4#5Em7Uf9z zCq3PZu`o?Ly%xlV11ufZ*5k24g;qFQO<t?2pvv}N2>XDsU+hN=ks`*_^mN@vj|2sU zgml0hzH$AUV;1RHGB+B%yzPNQtx-Zo#%Br&idUeE18FlgH628PS{WG_WfP*7R1knc z4sZ`<QdH<oJRK03Lb&@%hC{(`fGlCj1)Qu46v1udE<qK?e8WO;t6o5US=0^&n6<!| zfA_r^Kag#Z@Hnh=!y0o=AQWs4Ls>n(Et1wJFe;!GVXi>X8#=xMvWxJH07T?rGkCPj zL!zXh^6udzpMtg}4>@Rv(8_)N{rw27hdlm$4GjetEnCde^Yd@q(I5v5*8@p%TLT0` z@B+Mvpdy(2@Qc4M%x9>-ymN>}mand@S$HQs=o3_P%uk;LDt-ttifCjZ7{Wnt$4q`q z|3oVL5wZvD>@jOY*?q{qxJAa50vcALqr{W3M^6k{YPi6AQV^k{k#Q^<BNsK)PQmCu zGm$&=2DMEK<Q;?_L9t>|i+afesY_nmjSsr^=F>qb)Dq&fJ~?h#Onva+!3;;{vxl!n zKc?4?*0ddE{YL@;vBVE((BSxZm6erwgJ%f@HXd>Twt1=_p{yaPK=6DsjINMA?d9cF z>0BK+g&<D?rbD6u5T0oNw|ol;4OdoG6+@_Q|0IY^-$qf~9Vi^g0Z3N+A#yU*RaKiy zg+jU^yDTu;A_C*kq|uFpyY<g=WIU_A4>84-M@#NUgSZ69mdKkQ)?kT41Q3pj0rK1s zfJ5FdAwbzA-TCNxWVaR2Xoxl;Q9h7bAWNnV`w`xOp##bk@DPwc%hkkVecNHUl5!d| z(gtqx{uf_!Yqa2x#v$t}rfYZ!`U?nQV`|)O#faSujNdFNl7n(xeu62d-*!Ct$v4p4 z-5SBDsr`M4j_(-=@u&ny0K?loScwY(tHA?YTBN-ew7(+@ndL>q&xSB``+JY2E>F(+ zM<u)!7}Z7aUJ!(J>>;5vnCiu9Tdz5vohAo;2&N6Xdabh1c|5}@3UPy0rwQhr_OstH zU*}nfn3)Q$$ybhCZD<A)A~^<_k7Tjs*;S(@Pa%v}1MG7F2?0!1>Ju@movGT46B_p+ zVOE%J%R7yWq)0`;zA^knz&BQ4Vh#xxKtk-o5ET;!?xi$0_sh7u7_LONR>1Nn%mBz| zq*j|Wz5u|WAU1J7B2FuKU4EKj&#nE$-X9>LBTN*V1;0RvKdE#LxQ%mhkmZd+W*uVD z16O0N)Eawu?Ltl!EMG(tNkCwLY3t+K*q9i2OGO+-yH42j*z|M+obPCaMh5{>(tGfL zElA2jub_|!r#ag!{*%c&=Ty^r`#1>O7pQA!P{SQX+mqmq3kxsdjRdtY9KaiIMB?r+ z{5}|!ets-x$bPEskpb~^#0ds{g1rf10?aHd@yGamI2KN_TkD&fNX&Nw1UuPXPb07l z&1;0M9cbKB<ym+~=kn}N4>u4Gv>$}9|B{Q~Q$4OD$!#T8CupVx4H&6&h<1Sxs0g}9 z{z_kb%;{+W%;aQqE5|CA+0%H?lz|o^3AN&4c`k_OKy2e9L}1py{i^w7&uy$u5P-I> zQU#_VGPqgpzxofELAGTKrVsc#haZc+JW4q9`@DWl9rSPTvLpb1fK4uhG$Xv9ps7ZW z!lZiI^U7IWUY+3dj-@?#)1ckLQRqU!quV*^!n}nE)W74)K#Zk*)q3yZ=0}u`H(TrW z^_d7Pp`{&x<p7S}GAJ+z@&d`Y802OQ7XivL<sbq$#FSCg*u&9LAoCyQ-GJCX?^~gd z??b&9ftd-245+J&d)2#s+viix;S(D_0p%dne8Z=1VnZI3v^kge%269Vbsc3q#JXYa z*VnnD&(=^kJGSu5x^Rb&Xl}KgzYd8u<3FP8B&J}&Ep2!B|MhOI|I3@W{<mLyjQNsP zYCQgS&2<nZqUD;|We@ks?8WfPLbsCN;w6zc$>!3t&hKZz-*!h%wE}}rlSof5rE@(a zi6Aa6(`Zui@)w;-Tx3<87DmMbd#C!_T(0vO^d{LVTP|gn?l}B%U$?7@?fA@`{W;j^ z=S)<#92wFiLON{UzfDU1VoUXg`#sw8>M%=&XWZ}fxUSiv5EIGOqIL~yRfW7o5opGH zizb&!Xf=(WM0xTKU&1*g$QZ+%6Rn2wP6w&1RwYKQBHG&r<d)j8QG!My)0X#I#|AtV zZ&!7Fw(mjV?LExp2|GFi(RfCv_FzXyL4OrRhX+-${)dTB$=Hh;7ANKdCP&pJo`Co5 zEa$YXB_0;nyih_WEjc)TW$d172@ZblDCT=Wh27P0QB%0qCJaJRJ0qbQd0m<JcJfu> z-HHvl8czNE3%O?p9Xk1cW3xiq))^Xj_=#^?_FIamQ4DV}Qq`09J~maquFPW`YF>%= zp<-dT^x&GXAbRsC>3$OXcBCOrQe*mO#=qx%?KP@3KIrOQAx5F$M6p7{b)WWMW%%T7 zsjrznEQ}R2qU&Wf50b^tqHq+MlgkVKTJWm+&p5`GYRjT)(eox=K8Bfrq8wWLh;5gm zKi?+8+J$gYP&7i{ig$L>Sv}67e-WeRn6snxa2Wq)C;>^xgX?r27Fg3-%5;<09<yU) z;iWf~(1!$Cy!a)IGKZ}=utPcC!Dhw%<5nBTQ%-evp*;NE_bKeIR<z;8==#p1kMbA# znnLb&%4j*S8=&f~`Av9gGD!Uv3FT1ZsENwsnqeXvxT93r5cOKK5%b<UP0b6Nyq2D( zyR?|$ih80WxrgIpBc^vmyMvr`vM?CYJ_P5|@YB5sJIpud!z7>=;61&3x-=n!h2j}a z7(o6RWz<Y@UDP4us#ShrMDOb@|KexmIx7cH$pq1wmBYhO{;EtC^m%t&Jw3q?`_^IF zlA!0=J9B^Sf@@XYkHK}oC}b-7WW3aL-gt85zGIrqlXn(WvpYJ^pW?_;`2R(fBn)hP z#Cnj{(_bYqS6*`X=?31Fdlh|iydv$1^5I$ib!FPo)0ZJka-FePn&I^JpV%=rnRq=H zXY5ANwK`(xu7w8(+9+CRNdBJZA;kYiwK;=b|Ecy3`jWm}ae~$i^QszyS=(=8c<MaE zo+VAw<?~FM!ly|(i;XzUJ16{-K9&w;%0ur>vr^g(=&IVBLpz187oD*(3CbK0$-2sX zRgk$FDnV(W$$#=%W^+F5YdBeuI3v07;;%{N>!dvxWu0BMinpw>?ccN8f5l-o3VU_~ z16#%pGmn(f?`!<~{B&bk^ZhR#VUuVf(H^B`ISY<bZ`2!^{&1X4ZBa<Q2}?`T4jf>? z-Pt5w!Y}Gz&L_t}N2RB-e|x@v68bb6Ra`9f2K%!AsmodFRv~`@-8FAMhT}d;Duw;$ zVz*w0{9^cbpD63{&gdhp5V?Q*ROr_=WR9b65oTTE!@R*(N)Bc0`CbrrqH2$?d;2G2 zGIcFFJJeT3*fm8$I($^@xJ=oq0u!A4&P4^5=4?m9HHuXiO(k1Y6%+w`J)g$Wd&mB~ z6KTa1Z&CsTF;-L^^OU+fsdEZzg=8-JIRq7r--jRAi`!1^xs6Q|pYv5@J?o{E-kDpV z=d(8|`NoG?B2YB5{VSuJEV(j~pU@2@jN;D>{&O6GA4~~PW%JELN~rE@3S)%->aqQd zU9bCVE?IOY>ti(Y?d4b@A@f&{+gA9+wH-B=6g)*UoHV=m*QE3*QOy$XVchX~cu#EQ zVVRqt%%0+$e&YCwqGJW`u))7iOPcetw}P869ngtGW%eH3Z~FB{uitXh<yKPZQ3Wj; z8Y-cZ)T8JV_LZKh@r-`95{kC*bUUAH1wNGb5)t&I7(&?1Y4SBB3f&%Q#4$YkL;d07 z%2?vq>4q%ay_UUoA53>7=Tye>M$u$a3E#ZUJ2xiZGjwtnaSJ;N(Az#MH){|?L(kYS z;!CRMkZ|{Z^~&5f{nnfKvH_d<$uX)I>bU%)dSv+*w2z{`U(as%`lgMvo$N+I`sbo= zClRv&kA5w2F%OdWbCl!LQ$|yy+--GEfRQU{Om5DpZ03wI?;O&K{D>hX80#je{OBne z&ihbRp028UE%IBA0$@))q+FSdcJp-6OdoCFo{6Q<ioIS>CT90k1)CjRcCXMVQ@W4- z`wrLmq&YVg0X~*8)#4T@93L5znhi@{$}b*#XY}(&KKFF^kFz#{^uv0k*)ZOX;^&yu z@^L(f)ixp%NL$A^*7DBJc1GozJTsdlJWOK$E=MDXQA1ix!x@JE8bdAmZOW)o(g3Ai zTASNGK|~<QiG)<xZ{OEn53C|R-l5+lrn2r=?tkyG@j`?m&)OD6Sy^cBkuc+DU6$6# zZ(>@ijRI&+i$}P;Ht)@5b5`8mHhIyFZ4uU7N@HOU$KcDL>bcjXGEAx_+{0!RxR%E8 zvFT4Cw`AxN)>%bsOXkbRn+he3shg-~KebW+JhZ}6AtA)>r{dkhp%B~fqo&Q?%&3={ zASa2GEZnwCUtiovr{Kvz!&0-cwW<hJ$is|B<8kn;dL`ONj~l$a8F%n8U8i|FUrCQ@ zhjgYoHhqPX#Jh*3^5!3^XtzFbneD%MXz19rG6Oq=FS~9%5c#2x`gK=|TgvgZ-avD9 zIsc^Gy^5oXn-`jKAGElnjkfPv4#FE$33}IP-?Qfq{|VW!L{AzYl(>56$w%KKVYyF~ zq|y4X7tQ}P#?7k{Pok!cSNW!&?~CV6xW2u&Sq#6_X}?pTi7<;WqTAuZ$;5Nia_L^Y zE~7Ro7wjfh+PY{=pA|Y^TuX(oA#Aj)yXby{0GrX0?%F-H8)#!|J{vI?<OgiGb!FB1 zS?3l@^r*LJ?&QQN%66JYa&W|1rOExR5sk^=bAK;Kbup-L+9WT-%IdlQR_T?*ch2-G zl@9{D^arf{{01MsW+*;3vbwR&PhPQ@@cBFq-FrI9&E4-q<mIG?ynoS2*t!lX>UHf$ zI_!*=1n6H$h*&bVU)eU$FF4A*LI480IF7vt%u6;!qi}+xXIG9Q#oL}!QMI{Kyi7h0 z4>OKjw(#eF-|G~^HgdtD@<bQNy`{C%^fBR^L%*^zZ*3<lKGsp-Z45_utnq^RoI;P> z(3ND3qFlLYfwz=2J5H#>k(8zEr#cDO$*oZ+f4}Z-8z!#4DHo-BUD=pD@yv!~I2^m@ zdE#e|&aW$#C9XUAUDQVtKcYll^U!^v?5n4C^1821x%Q1v^xIF%vQF$4Yx_|Ai)E4a z$!t`<*kj`_J?S+)U#$i)I0bvhG|iUPGyOt*&;w@Ze$4ziiKJfs@$x<|A$J!&rl7<h z+dFhrDdiH|1T1*|KkKrI7*3DzV?E4{j%9oUxptab=P{@kSY$1zm<+lNS$oZ||MF2B zUZHg1_m8T(8yfa9C+t@TtJXZZ<x3mPuvtv}5S}Gj)cx{nRGXDVL!H0rr$TJ7?Y}3P z7SAUda~$mSKe?wc=K5D4O^aK!{cNAdKFrM(WBf8+T;6ZyPm-1{MeZ<<*`IJ4`jb$! zf;Lh4NGZ?g=i}t}?+fDvr!G}45z)=(6i??cI8x@zJIpRy;u}BVJn?fUyTn^Cn4H}- z$9%%%tBNh-iGn%9Z(VbH;V(6RJl%!N!4{S+3aaw_yF9J4Td1*Dg<aYLh0S9Wn*|Xe z*|Iv}e4qVw36r@x^6J&q`1|BJt(o}6x+Q(eU%wna^1+X<^+E5A8qFFIIgeJG)H_vn zmYZokwtKm}^hn<@eq>5R9<AIedZ1{2`6qq+`7EbO6*+oYD@MYQ)Zs69znmEc^>_A3 zg)b%aH9wxCF4537{9?wUmS#L}c^^GmEBCx@9<@uc2IGUfwPJwE_DSrvk|3H1CIlmD z$h3slAIi)LUDM5aPNC`i))wbXoxY;8CY(NVO!{-8Ocbw?rD37&;&r~*ms)r^zn#iP z#716dijTbL4RJ7ap|g=)kMMpf*3hEs<5wY&qKQ_da(qMnM3Fx~;^yo<6@0O*P@jK9 z>8!8Fx}8KxX&%#FW0DN*x3$MTu1~?gmK8CYc+qt>OG`Y*dAlS@GA?|oR|`8N<%d>C zaoH_n8_96?FRYIb^D*)y=!@s30^{~JLkU|#cz4_d!^BV3gDzZ%_)r9{6h6Kh_<Ztg zI=hJvAD!NkID&ruCV4ED`>iKm4JtUIhLSwd*<)p8@Ok<3>x%RB#!61dC=bWK<>H=p z%`py0XiSnHCfr@kuq(&*FMa(a)I)jsk6XHk;glT5O|07r^n<LvpC6R)e!qQ_nz~>L zf8{4Ze0jy6Clu^5Z3Za=MKsz^%VUzq)w4P$;~ix`iqvb}-N=;9eM99aPjbC(4)w}n z(V#2Ut}DZWQ9%bQ`P=n!D`h_xr=hsw+#34ol4uBz9!H2J{?+I-BFe^=>2i+VChhuG zhH+Vc(Hb^+`@ZqjE|z+QOmCwgE2=m13bsLUw#`>%RmR*0ef}LWxiuH+Y(B+N*xnp{ z<bztuZ+nwq8=F<;&B{s%+>n?gIO;45k7}BUlQOqO?+qDU(>xwc)HLf_qqv)sgQ;ll zr&(!Q$9(Vh5LK9*ItA^cKkOr~g#R^9ex}5_=kYFl1I`31$D@HNifQge{5#}z-rrii za9%%J`}pkR$Ho{8Dr`Da-&b8E7Ob`csIu4cpUKh7>`bIawNKXD?cTn-Ohh3o<J*Mc z6)P<Ff<(DZSMDu^$kp@bTI^3MG>PyX>0SkEKVzd%Zqh(~()4prk)1nsXu0hTBoYrt zEhU=;*Gqm`3bV=cBwW82^7ArViY8%iJ{xU%OJ$pOT{`VU<sGK=^#58WXM@7J2_LJ# z!#ws?qkw_23)bNDdN5TjI@beA_FKQiep+S@W9!juk*?ls`Gj&ngHktZd3LHe)Vi#w zf{q%I5Rbt_9?(yX`y5sBhvnPjZY!Qc!Us_c2gT?FxBJp+=2@xnuBz?L_XSm6ctsy= ze=&V*Bav_tBEM-ysEQpCv=NjVHtRt0;TYG*Jsi#8(@4Tr(yfvS%V@M?rRnk!Pg%P1 zw#*+|O*4L9x3siR>kP|<ZC){9Gx7{kj<7NJtxC@@{isx3uTPco{K?<A?)#eV`iDFN zf^^4ariVnu{CnfAftdZw=B;Ad2Gm=>+n#p((e(=?zv=7q;=w_Vm+>>#{FGdw9BMqN zLaZ2l%%JyjiNA;27ym9!{#9AN+@iPJW!B)8VJvy;>5FNSX3jk{!<l@Cm%`kzEF>kQ zRKbh*ffu|x;xKIRiB;jnc(qZXU$XFvidtLVI@&RO7y5=a?f_2OQ)cZO-vcq%at$n_ z>^=>~nTkwp|InZ~5Ul61d}xyDi19(iPE@|@Ncbx+e)JkjfCYA0=ktyCXb(0Amy<FC zPVTEU?W;JvTj%x^NFx_@*%<gy32D?6k>JWmfmAlhzOIXj*HIyb;rB()#MV9wt;Bq^ zC1f@KnR3gZ_o04Yb2xcId(WQ$J%P!8Y&OlQalOw@>zt;kNEgo%?O*8*bV|0!f7rBj zZ^PB6rX-_Bv*eNa)LT!_f4jHq+qi&VfxzHhdpTqD<Q^>CfArQX1-5H^k?3i>T6}dG zu?%eulk8@${7sFq_d4FnZ3#rYed)GJtq}XYPtXJZPfp=8ZnR^?-|vDMEr+HoJrtkv z4`qGCv*jHBCCdMkW=2$dVV;pPl;&~QJ*;}6AEam>S&3oa_uZ~m78Dm9N&8$+#rDcw zEh#fiBqO}bZhlB_%MXWV-iae|wyfTQ)AU_$wsXdqDH)w%pktJ4W>i9k^YWz20TUQo zdZ}YNWaRkaGmGM>Nlw3tefZfK7#F-g;#I%PoSdc9c{q|Zt*1G@bNwc&yzI3H)f|LL z`NgI6NxA*1ibCws{rJO15e0c1qXLc^IK@K3N1LM;N;dCmc{`$<KA<0PJd=^^41UQI zC8FhmtweCl{Qjl&OOfxlRVkfm7rdQfQMbdrK77TEWBOj12g-rKk=xN{k|PGX?$L~X znddt%Fz<)n0M^GsxuY!b4U~^(-Ig!$_4!t+Izq){E!<`UiJYII6{UK+V!E`eGU2>& zX89KN_VzG^7n8<&21X4fvn92Oj|G;ynnp~A6kk+WL&h-pG6UFY%|34sQhXZy+z^v? z{WdS|ffw_}^*uIiQ<KGi6&wtkH=gAm;wcs;Ha_W2760dD@Fv$ya*EO)D;X=9r`re1 z!tVU)!u-HG!SYo&{F6saJ_<%YwpKoNVm4lO@C}8JhmVJoho6&|Pmh;hj88;NK!}}( zM~sJuf%Try|8@sgcUvcW|Nr|PbRM0&fIBE6&*1HD@8f6XWrw2TYUN<3Vddat^N>!6 zOPEW9Q<RR6hgX1;M-ZNpPMcSV&e6xmLyVgn{^blVC*;=f1-IsM_j33iu>%i?LXJG5 zp5r4|YcVl-cbiA9c5XgmVp?!hZxr6Ls}}D6<2L_2r<j<dos)y34+^g+A0CPq^4iJ% z$K(9Jw=s0G^>IXQGEqg30XL!eA2-o(a<%jE_pn3x@2I#v+#ICq4DSCQkE5Xnw?g3+ z6cOOz6&2<adT#s$c^tg|@i@9p0d^=nva%_KQrqw+ga7d-eH|4PdnXq=c=_C}ZayyV z4&3%uzD_poZr<Gg--Y28<rTEy5wYeM;j`njv9-6h6}Gb%=CS3svgQ%s`+t^ZV5A4s Xp$BwdW`X`UpbZS3u6{1-oD!M<<u*b= diff --git a/contrib/aura-clock/public/global.css b/contrib/aura-clock/public/global.css deleted file mode 100644 index ec905f5e..00000000 --- a/contrib/aura-clock/public/global.css +++ /dev/null @@ -1,66 +0,0 @@ -html, body { - position: relative; - width: 100%; - height: 100%; -} - -body { - color: #333; - margin: 0; - padding: 8px; - box-sizing: border-box; - font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif; -} - -a { - color: rgb(0,100,200); - text-decoration: none; -} - -a:hover { - text-decoration: underline; -} - -a:visited { - color: rgb(0,80,160); -} - -label { - display: block; -} - -input, button, select, textarea { - font-family: inherit; - font-size: inherit; - padding: 0.4em; - margin: 0 0 0.5em 0; - box-sizing: border-box; - border: 1px solid #ccc; - border-radius: 2px; -} - -input:disabled { - color: #ccc; -} - -input[type="range"] { - height: 0; -} - -button { - color: #333; - background-color: #f4f4f4; - outline: none; -} - -button:disabled { - color: #999; -} - -button:not(:disabled):active { - background-color: #ddd; -} - -button:focus { - border-color: #666; -} diff --git a/contrib/aura-clock/public/index.html b/contrib/aura-clock/public/index.html deleted file mode 100644 index 555c98f1..00000000 --- a/contrib/aura-clock/public/index.html +++ /dev/null @@ -1,26 +0,0 @@ -<!DOCTYPE html> -<html lang="en"> -<head> - <meta charset='utf-8'> - <meta name='viewport' content='width=device-width,initial-scale=1'> - - <title>Aura Engine - Studio Clock</title> - - <link rel='icon' type='image/png' href='/favicon.png'> - <link rel='stylesheet' href='/global.css'> - <link rel='stylesheet' href='/build/aura-clock-bundle.css'> - - <script defer src='/build/aura-clock-bundle.js'></script> -</head> - -<body style="background-color: black;"> - <aura-clock - name="Studio Clock" - logo="https://o94.at/themes/custom/radio_orange/logo1.png" - logosize="180px" - api="http://localhost:3333/api/v1/" - css="http://localhost:3333/css/aura.css"> - - </aura-clock> -</body> -</html> diff --git a/contrib/aura-clock/rollup.config.js b/contrib/aura-clock/rollup.config.js deleted file mode 100644 index c6a5c217..00000000 --- a/contrib/aura-clock/rollup.config.js +++ /dev/null @@ -1,72 +0,0 @@ -import svelte from 'rollup-plugin-svelte'; -import resolve from '@rollup/plugin-node-resolve'; -import commonjs from '@rollup/plugin-commonjs'; -import livereload from 'rollup-plugin-livereload'; -import { terser } from 'rollup-plugin-terser'; - -const production = !process.env.ROLLUP_WATCH; - -export default { - input: 'src/main.js', - output: { - sourcemap: true, - format: 'iife', - name: 'app', - file: 'public/build/aura-clock-bundle.js' - }, - plugins: [ - svelte({ - // enable run-time checks when not in production - dev: !production, - // we'll extract any component CSS out into - // a separate file - better for performance - css: css => { - css.write('public/build/aura-clock-bundle.css'); - }, - customElement: true - }), - - // If you have external dependencies installed from - // npm, you'll most likely need these plugins. In - // some cases you'll need additional configuration - - // consult the documentation for details: - // https://github.com/rollup/plugins/tree/master/packages/commonjs - resolve({ - browser: true, - dedupe: ['svelte'] - }), - commonjs(), - - // In dev mode, call `npm run start` once - // the bundle has been generated - !production && serve(), - - // Watch the `public` directory and refresh the - // browser on changes when not in production - !production && livereload('public'), - - // If we're building for production (npm run build - // instead of npm run dev), minify - production && terser() - ], - watch: { - clearScreen: false - } -}; - -function serve() { - let started = false; - - return { - writeBundle() { - if (!started) { - started = true; - - require('child_process').spawn('npm', ['run', 'start', '--', '--dev'], { - stdio: ['ignore', 'inherit', 'inherit'], - shell: true - }); - } - } - }; -} diff --git a/contrib/aura-clock/src/StudioClock.svelte b/contrib/aura-clock/src/StudioClock.svelte deleted file mode 100644 index 7470d42a..00000000 --- a/contrib/aura-clock/src/StudioClock.svelte +++ /dev/null @@ -1,490 +0,0 @@ -<svelte:options tag="aura-clock"/> -<main bind:this={rootElement}></main> -<script> - import { onMount } from 'svelte'; - export let css = ""; - export let api = "http://localhost:3333/api/v1"; - export let name = "Studio Clock"; - export let logo = "https://gitlab.servus.at/aura/meta/-/raw/master/images/aura-logo.png"; - export let logosize = "100px"; - export let noScheduleMessage = "Nothing scheduled!"; - - let time = new Date(); - let queryCurrent = "/clock"; - let rootElement; - let data; - let currentTrack = null; - let timeLeft; - - - // these automatically update when `time` - // changes, because of the `$:` prefix - $: hours = time.getHours(); - $: minutes = time.getMinutes(); - $: seconds = time.getSeconds(); - - data = fetchApi(queryCurrent); - - - onMount(() => { - const interval = setInterval(() => { - time = new Date(); - timeLeft -= 1; - - if (timeLeft <= 0 || data == null) { - currentTrack = null; - data = null; - data = fetchApi(queryCurrent); - } - }, 1000); - - return () => { - clearInterval(interval); - }; - }); - - async function fetchApi(query) { - let response; - let data; - - try { - response = await fetch(api+query); - } catch { - throw new Error("Cannot connect to Engine!"); - } - - try { - data = await response.json(); - } catch(e) { - console.log("Error while converting response to JSON!", e); - throw new Error(response.statusText); - } - - if (response.ok) { - return data; - } else { - console.log("Error:", data); - throw new Error(data.message); - } - } - - function initComponent(info) { - - /* Load external CSS */ - if (css != null) - loadExternalCss(rootElement, css); - - /* Set currently loaded data */ - if (currentTrack == null && info != null && info.track != null) { - currentTrack = info; - - let t = time - Date.parse(info.track_start); - t = parseInt(t/1000); - - timeLeft = info.track.duration - t - 3; /* FIXME improve timings in coordination with scheduler/trackservice/LQS */ - console.log("Current Data", info); - } - return ""; - } - - function displayTitle(track) { - if (track != null) { - let artist = ""; - if (track.artist != "") - artist = track.artist + " - "; - return artist + track.title; - } - return ""; - } - - function formatTime(seconds) { - if (seconds != null && Number.isInteger(seconds)) { - let d = new Date(null); - d.setSeconds(seconds); - - let s; - if (seconds > 3600) - s = d.toISOString().substr(11, 8); - else - s = d.toISOString().substr(14, 5); - return s; - } - return ""; - } - - function displayShowName(show) { - let name = "" - if (show == null || show.name == null) { - name = '<span class="error">'+noScheduleMessage+'</span>'; - } else { - name = show.name; - } - return name; - } - - function displayShowSchedule(schedule) { - let str = ""; - - if (schedule != null && schedule.schedule_start != null) { - let scheduleStart = "" - let scheduleEnd = ""; - - if (schedule.schedule_start != null) { - let scheduleStart = new Date(Date.parse(schedule.schedule_start)); - scheduleStart = scheduleStart.toLocaleTimeString(navigator.language, { - hour: '2-digit', - minute:'2-digit' - }); - str = "(" + scheduleStart; - } - if (schedule.schedule_end != null) { - scheduleEnd = new Date(Date.parse(schedule.schedule_end)); - scheduleEnd = scheduleEnd.toLocaleTimeString(navigator.language, { - hour: '2-digit', - minute:'2-digit' - }); - str = str + " - " + scheduleEnd + ")"; - } else { - str += ")"; - } - - } - return str; - } - - function isActive(entry, currentTrack) { - if (currentTrack != null && entry.id == currentTrack.id) { - // Scroll to current playlist entry - location.hash = "#current-playlist-entry"; - return true; - } - return false; - } - - function loadExternalCss(root, file) { - let element = document.createElement("link"); - element.setAttribute("rel", "stylesheet"); - element.setAttribute("type", "text/css"); - element.setAttribute("href", file); - root.appendChild(element); - } - -</script> - -<style> - - #station-header { - width: 100%; - height: 50px; - /* margin: 20px 100px; */ - padding: 40px 100px; - } - - #station-name { - margin: 0; - font-size: 3em; - line-height: 80px; - } - - #station-logo { - align-content: left; - text-align: right; - margin: 0 40px 0 10px; - opacity: 0.5; - filter: invert(100%); - } - - #studio-clock { - width: calc(100% - 200px); - height: calc(100% - 500px); - margin: 100px; - display: -webkit-flex; - display: -ms-flexbox; - display: flex; - /* border: 2px solid #333; */ - flex-direction: row; - } - - #left-column { - width: 30%; - padding: 25px; - } - - #right-column { - width: 70%; - padding: 25px 25px 25px 50px; - } - - #current-schedule, - #next-schedule { - margin: 0 0 40px 20px; - } - - #next-schedule { - background-color:rgb(24, 24, 24); - margin-right: 20px; - padding: 12px; - } - - #current-schedule .schedule-title { - color: #ccc; - font-size: 3.5em; - } - #next-schedule .schedule-title { - color: gray !important; - font-size: 2em; - } - - #playlist { - border: 2px solid #333; - margin: 20px 20px 40px 20px; - padding: 10px; - height: calc(80% - 100px); - overflow-y: auto; - scroll-behavior: smooth; - background-color: #111; - display: flex; - align-items: center; - } - - #playlist::-webkit-scrollbar-track - { - border-radius: 10px; - -webkit-box-shadow: inset 0 0 6px rgba(0,0,0,0.3); - background-color: rgb(77, 73, 73); - } - - #playlist::-webkit-scrollbar - { - width: 12px; - background-color: rgb(0, 0, 0); - } - - #playlist::-webkit-scrollbar-thumb - { - border-radius: 10px; - -webkit-box-shadow: inset 0 0 6px rgba(0,0,0,.3); - background-color: rgb(34, 32, 32); - } - - .playlist-entry { - font-size: 1.9em; - padding-left: 53px; - } - - #current-track * { - font-size: 1.5em; - } - - .play-icon, - .track-time-left { - margin: 25px 50px; - } - - .is-active { - color: green; - padding-left: 0; - } - - .is-active .track-title::before { - content: "\00a0\00a0â–¶\00a0\00a0\00a0"; - font-size: larger; - color: green; - } - - .is-active .track-time-left { - color: rgb(43, 241, 36); - background-color: #222; - padding: 5px 15px; - } - - .error { - font-size: 1.3em; - color:red; - height:100%; - display : flex; - align-items : center; - justify-content: center; - } - - svg { - width: 100%; - height: 100%; - } - - .clock-face { - stroke: rgb(66, 66, 66); - fill: black; - } - - .minor { - stroke: rgb(132, 132, 132); - stroke-width: 0.5; - } - - .major { - stroke: rgb(162, 162, 162); - stroke-width: 1; - } - - .hour { - stroke: rgba(255, 255, 255, 0.705); - } - - .minute { - stroke: rgba(255, 255, 255, 0.705); - } - - .second, .second-counterweight { - stroke: rgb(180,0,0); - } - - .second-counterweight { - /* stroke-width: 3; */ - } - - footer { - width: 100%; - text-align: center; - font-size: 0.8em; - color: gray; - opacity: 0.5; - } - - footer a { - color: gray; - text-decoration: underline; - } - - footer #aura-logo { - /* opacity: 0.5; */ - filter: invert(100%); - width: 75px; - margin: 0 0 20px 0; - } - -</style> - - - -<div id="station-header"> - <img id="station-logo" src="{logo}" style="width:{logosize}" alt="Radio Station" align="left" /> - <h1 id="station-name">{name}</h1> -</div> - -<div id="studio-clock"> - <div id="left-column" class="column"> - <svg viewBox='-50 -50 100 100'> - <circle class='clock-face' r='48'/> - - <!-- markers --> - {#each [0, 5, 10, 15, 20, 25, 30, 35, 40, 45, 50, 55] as minute} - <line - class='major' - y1='35' - y2='45' - transform='rotate({30 * minute})' - /> - - {#each [1, 2, 3, 4] as offset} - <line - class='minor' - y1='42' - y2='45' - transform='rotate({6 * (minute + offset)})' - /> - {/each} - {/each} - - <!-- hour hand --> - <line - class='hour' - y1='2' - y2='-20' - transform='rotate({30 * hours + minutes / 2})' - /> - - <!-- minute hand --> - <line - class='minute' - y1='4' - y2='-30' - transform='rotate({6 * minutes + seconds / 10})' - /> - - <!-- second hand --> - <g transform='rotate({6 * seconds})'> - <line class='second' y1='10' y2='-38'/> - <line class='second-counterweight' y1='10' y2='2'/> - </g> - </svg> - </div> - - <div id="right-column" class="column"> - - {#await data} - <div class="spinner-border mt-5" role="status"> - <span class="sr-only">Loading...</span> - </div> - {:then value} - {initComponent(value)} - - {#if value.current.show} - - <div id="current-schedule"> - <h1 class="schedule-title">{@html displayShowName(value.current.show)} {displayShowSchedule(value.current)}</h1> - <!-- <div class="schedule-details"> - <b>Type:</b> {value.current.show.type}, <b>Host:</b> {value.current.show.host}</div>--> - </div> - <div id="playlist"> - - {#if value.current.playlist} - <ol> - {#each value.current.playlist.entries as entry, index} - {#if isActive(entry, value.track)} - - <li id="current-playlist-entry" class="playlist-entry is-active"> - <!-- <span class="play-icon">▶</span> --> - <span class="track-title">{displayTitle(entry)}</span> - <span class="track-time-left">({formatTime(timeLeft)})</span> - </li> - - {:else} - - <li class="playlist-entry"> - <span class="track-title">{displayTitle(entry)}</span> - <span class="track-duration">({formatTime(entry.duration)})</span> - </li> - - {/if} - - {/each} - </ol> - {:else} - - <div id="current-track" class="is-active"> - <h2> - <span class="track-title">{displayTitle(value.track)}</span> - <span class="track-time-left">{formatTime(timeLeft)}</span> - </h2> - </div> - {/if} - </div> - <div id="next-schedule"> - <h3 class="schedule-title">Next: {@html displayShowName(value.next.show)} {displayShowSchedule(value)}</h3> - </div> - - {/if} - {:catch error} - <div class="error"><p>{error}</p></div> - {/await} - - </div> - -</div> - -<footer> - <a href="https://gitlab.servus.at/aura/meta"><img id="aura-logo" src="https://gitlab.servus.at/aura/meta/-/raw/master/images/aura-logo.png" alt="Aura Logo" /></a> - <br/> - Studio Clock is powered by <a href="https://gitlab.servus.at/autoradio">Aura Engine</a> -</footer> \ No newline at end of file diff --git a/contrib/aura-clock/src/main.js b/contrib/aura-clock/src/main.js deleted file mode 100644 index edb5da3e..00000000 --- a/contrib/aura-clock/src/main.js +++ /dev/null @@ -1 +0,0 @@ -import StudioClock from './StudioClock.svelte'; diff --git a/contrib/engine-api b/contrib/engine-api new file mode 160000 index 00000000..ae560241 --- /dev/null +++ b/contrib/engine-api @@ -0,0 +1 @@ +Subproject commit ae560241e5947f595a793413dfc48657807233b0 diff --git a/contrib/engine-clock b/contrib/engine-clock new file mode 160000 index 00000000..6ae833ad --- /dev/null +++ b/contrib/engine-clock @@ -0,0 +1 @@ +Subproject commit 6ae833ad05501cfed65d54becf1f749bded1fd0d -- GitLab