diff --git a/.gitignore b/.gitignore index 46a132a..a9f84bd 100644 --- a/.gitignore +++ b/.gitignore @@ -1,4 +1,3 @@ - +app/ +oragin_src/ node_modules/ - -archive.zip diff --git a/Gruntfile.js b/Gruntfile.js index 156c6f7..43b2caf 100644 --- a/Gruntfile.js +++ b/Gruntfile.js @@ -16,35 +16,49 @@ module.exports = function(grunt) { expand: true, cwd: 'src', src: ['**/*.ts', '**/*.d.ts'], - dest: 'dist' + dest: 'dist', }, dist_html: { expand: true, flatten: true, cwd: 'src/partials', src: ['*.html'], - dest: 'dist/partials/' + dest: 'dist/partials/', }, dist_css: { expand: true, flatten: true, cwd: 'src/css', src: ['*.css'], - dest: 'dist/css/' + dest: 'dist/css/', }, dist_img: { expand: true, flatten: true, cwd: 'src/img', src: ['*.*'], - dest: 'dist/img/' + dest: 'dist/img/', }, dist_statics: { expand: true, flatten: true, - src: ['src/plugin.json', 'LICENSE', 'README.md'], - dest: 'dist/' - } + src: ['src/*.json', 'LICENSE', 'README.md'], + dest: 'dist/', + }, + app_core_utils: { + expand: true, + flatten: true, + cwd: 'reference', + src: ['fontsize.ts', 'operationURL.ts'], + dest: 'node_modules/grafana-sdk-mocks/app/core/utils/', + }, + app_headers: { + expand: true, + flatten: true, + cwd: 'reference', + src: ['common.d.ts'], + dest: 'node_modules/grafana-sdk-mocks/app/headers/', + }, }, typescript: { @@ -60,47 +74,61 @@ module.exports = function(grunt) { experimentalDecorators: true, sourceMap: true, noImplicitAny: false, - } - } + }, + }, }, 'string-replace': { dist: { - files: [{ - cwd: 'src', - expand: true, - src: ["**/plugin.json"], - dest: 'dist' - }], + files: [ + { + cwd: 'src', + expand: true, + src: ['**/plugin.json'], + dest: 'dist', + }, + ], options: { - replacements: [{ - pattern: '%VERSION%', - replacement: pkgJson.version - },{ - pattern: '%TODAY%', - replacement: '<%= grunt.template.today("yyyy-mm-dd") %>' - }] - } - } + replacements: [ + { + pattern: '%VERSION%', + replacement: pkgJson.version, + }, + { + pattern: '%TODAY%', + replacement: '<%= grunt.template.today("yyyy-mm-dd") %>', + }, + ], + }, + }, }, watch: { - files: ['src/**/*.ts', 'src/**/*.html', 'src/**/*.css', 'src/img/*.*', 'src/plugin.json', 'README.md'], + files: [ + 'src/**/*.ts', + 'src/**/*.html', + 'src/**/*.css', + 'src/img/*.*', + 'src/plugin.json', + 'README.md', + ], tasks: ['default'], options: { debounceDelay: 250, }, - } + }, }); grunt.registerTask('default', [ 'clean', 'copy:dist_js', + 'copy:app_core_utils', + 'copy:app_headers', 'typescript:build', 'copy:dist_html', 'copy:dist_css', 'copy:dist_img', 'copy:dist_statics', - 'string-replace' + 'string-replace', ]); }; diff --git a/README.md b/README.md index adc5138..fe03298 100644 --- a/README.md +++ b/README.md @@ -19,6 +19,7 @@ To complie, run: ``` npm install -g yarn +npm install -g grunt-cli yarn install --pure-lockfile grunt ``` @@ -31,6 +32,16 @@ yarn pretty #### Changelog +##### rebuild v0.0.7 with Advantech v1.1.1 source code + +* Add replaceCodes function that can use system variable $code with panel values and colors mapping. +* The $code format like: groupname|$No.|status, for example: FX|$1|started. +* The function will check without-number legendInfo with groupname. + +##### v0.0.8 (not released yet) + +* TODO... annotations + ##### v0.0.7 * Switch to typescript diff --git a/dist/README.md b/dist/README.md index adc5138..43401c2 100644 --- a/dist/README.md +++ b/dist/README.md @@ -31,6 +31,16 @@ yarn pretty #### Changelog +##### rebuild v0.0.7 with Advantech v1.1.1 source code + +* Add replaceCodes function that can use system variable $code with panel values and colors mapping. +* The $code format like: groupname|$No.|status, for example: FX|$1|started. +* The function will check without-number legendInfo with groupname. + +##### v0.0.8 (not released yet) + +* TODO... annotations + ##### v0.0.7 * Switch to typescript diff --git a/dist/canvas-metric.d.ts b/dist/canvas-metric.d.ts index e21955b..794941c 100644 --- a/dist/canvas-metric.d.ts +++ b/dist/canvas-metric.d.ts @@ -29,4 +29,5 @@ export declare class CanvasPanelCtrl extends MetricsPanelCtrl { roundDate(timeStamp: any, roundee: any): any; formatDate(d: any, fmt: any): any; leftPad(n: any, pad: any): any; + initDefaultI18n(): void; } diff --git a/dist/canvas-metric.js b/dist/canvas-metric.js index e6db64f..8bce105 100644 --- a/dist/canvas-metric.js +++ b/dist/canvas-metric.js @@ -1,11 +1,11 @@ /// -System.register(['app/plugins/sdk', 'moment', 'jquery', 'app/core/app_events'], function(exports_1) { +System.register(['app/plugins/sdk', 'moment', 'jquery', 'app/core/app_events', './i18n'], function(exports_1) { var __extends = (this && this.__extends) || function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; function __() { this.constructor = d; } d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __()); }; - var sdk_1, moment_1, jquery_1, app_events_1; + var sdk_1, moment_1, jquery_1, app_events_1, i18n_1; var CanvasPanelCtrl; return { setters:[ @@ -20,6 +20,9 @@ System.register(['app/plugins/sdk', 'moment', 'jquery', 'app/core/app_events'], }, function (app_events_1_1) { app_events_1 = app_events_1_1; + }, + function (i18n_1_1) { + i18n_1 = i18n_1_1; }], execute: function() { // Expects a template with: @@ -136,6 +139,7 @@ System.register(['app/plugins/sdk', 'moment', 'jquery', 'app/core/app_events'], }; CanvasPanelCtrl.prototype.link = function (scope, elem, attrs, ctrl) { var _this = this; + ctrl.initDefaultI18n(); this.wrap = elem.find('.canvas-spot')[0]; this.canvas = document.createElement('canvas'); this.wrap.appendChild(this.canvas); @@ -251,14 +255,7 @@ System.register(['app/plugins/sdk', 'moment', 'jquery', 'app/core/app_events'], _this.render(); _this.$tooltip.detach(); }, scope); - // scope.$on('$destroy', () => { - // this.$tooltip.destroy(); - // elem.off(); - // elem.remove(); - // }); }; - // Utility Functions for time axis - //--------------------------------- CanvasPanelCtrl.prototype.time_format = function (range, secPerTick) { var oneDay = 86400000; var oneYear = 31536000000; @@ -342,7 +339,7 @@ System.register(['app/plugins/sdk', 'moment', 'jquery', 'app/core/app_events'], 'Dec', ]; var dayNames = ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat']; - if (typeof d.strftime == 'function') { + if (typeof d.strftime === 'function') { return d.strftime(fmt); } var r = []; @@ -372,7 +369,7 @@ System.register(['app/plugins/sdk', 'moment', 'jquery', 'app/core/app_events'], if (hours > 12) { hours12 = hours - 12; } - else if (hours == 0) { + else if (hours === 0) { hours12 = 12; } else { @@ -437,7 +434,7 @@ System.register(['app/plugins/sdk', 'moment', 'jquery', 'app/core/app_events'], escape = false; } else { - if (c == '%') { + if (c === '%') { escape = true; } else { @@ -450,7 +447,22 @@ System.register(['app/plugins/sdk', 'moment', 'jquery', 'app/core/app_events'], CanvasPanelCtrl.prototype.leftPad = function (n, pad) { n = '' + n; pad = '' + (pad == null ? '0' : pad); - return n.length == 1 ? pad + n : n; + return n.length === 1 ? pad + n : n; + }; + CanvasPanelCtrl.prototype.initDefaultI18n = function () { + var lang = this.dashboard.panelLanguage; + if (lang) { + for (var _i = 0, _a = this.panel.valueMaps; _i < _a.length; _i++) { + var valueMap = _a[_i]; + i18n_1.initAttrI18n(valueMap, 'text', lang); + } + for (var _b = 0, _c = this.panel.rangeMaps; _b < _c.length; _b++) { + var rangeMap = _c[_b]; + i18n_1.initAttrI18n(rangeMap, 'text', lang); + } + i18n_1.initAttrI18n(this.panel, 'FontSize', lang); + i18n_1.initAttrI18n(this.panel, 'FontSizeValue', lang); + } }; return CanvasPanelCtrl; })(sdk_1.MetricsPanelCtrl); diff --git a/dist/canvas-metric.js.map b/dist/canvas-metric.js.map index 3e074a9..eddf49e 100644 --- a/dist/canvas-metric.js.map +++ b/dist/canvas-metric.js.map @@ -1 +1 @@ -{"version":3,"file":"canvas-metric.js","sourceRoot":"","sources":["canvas-metric.ts"],"names":["CanvasPanelCtrl","CanvasPanelCtrl.constructor","CanvasPanelCtrl.onPanelInitalized","CanvasPanelCtrl.onRefresh","CanvasPanelCtrl.onRender","CanvasPanelCtrl.clearTT","CanvasPanelCtrl.getMousePosition","CanvasPanelCtrl.onGraphHover","CanvasPanelCtrl.onMouseClicked","CanvasPanelCtrl.onMouseSelectedRange","CanvasPanelCtrl.link","CanvasPanelCtrl.time_format","CanvasPanelCtrl.getTimeResolution","CanvasPanelCtrl.roundDate","CanvasPanelCtrl.formatDate","CanvasPanelCtrl.leftPad"],"mappings":"AAAA,iFAAiF;;;;;;;;;;;;;;;;;;;;;;;;YAUjF,2BAA2B;YAC3B,kCAAkC;YAClC;gBAAqCA,mCAAgBA;gBASnDA,yBAAYA,MAAMA,EAAEA,SAASA;oBAC3BC,kBAAMA,MAAMA,EAAEA,SAASA,CAACA,CAACA;oBAEzBA,IAAIA,CAACA,IAAIA,GAAGA,IAAIA,CAACA;oBACjBA,IAAIA,CAACA,KAAKA,GAAGA;wBACXA,QAAQA,EAAEA,IAAIA;wBACdA,IAAIA,EAAEA,IAAIA;qBACXA,CAACA;oBACFA,IAAIA,CAACA,QAAQA,GAAGA,gBAACA,CAACA,6BAA6BA,CAACA,CAACA;oBAEjDA,IAAIA,CAACA,MAAMA,CAACA,EAAEA,CAACA,mBAAmBA,EAAEA,IAAIA,CAACA,iBAAiBA,CAACA,IAAIA,CAACA,IAAIA,CAACA,CAACA,CAACA;oBACvEA,IAAIA,CAACA,MAAMA,CAACA,EAAEA,CAACA,SAASA,EAAEA,IAAIA,CAACA,SAASA,CAACA,IAAIA,CAACA,IAAIA,CAACA,CAACA,CAACA;oBACrDA,IAAIA,CAACA,MAAMA,CAACA,EAAEA,CAACA,QAAQA,EAAEA,IAAIA,CAACA,QAAQA,CAACA,IAAIA,CAACA,IAAIA,CAACA,CAACA,CAACA;oBAEnDA,IAAIA,CAACA,iBAAiBA,GAAGA,CAACA,CAACA;oBAC3BA,EAAEA,CAACA,CAACA,MAAMA,CAACA,gBAAgBA,KAAKA,SAASA,CAACA,CAACA,CAACA;wBAC1CA,IAAIA,CAACA,iBAAiBA,GAAGA,MAAMA,CAACA,gBAAgBA,CAACA;oBACnDA,CAACA;gBACHA,CAACA;gBAEDD,2CAAiBA,GAAjBA;oBACEE,qCAAqCA;oBACrCA,IAAIA,CAACA,MAAMA,EAAEA,CAACA;gBAChBA,CAACA;gBAEDF,mCAASA,GAATA;oBACEG,6BAA6BA;oBAC7BA,IAAIA,CAACA,MAAMA,EAAEA,CAACA;gBAChBA,CAACA;gBAEDH,mCAAmCA;gBACnCA,kCAAQA,GAARA;oBACEI,EAAEA,CAACA,CAACA,CAACA,IAAIA,CAACA,OAAOA,CAACA,CAACA,CAACA;wBAClBA,OAAOA,CAACA,GAAGA,CAACA,aAAaA,CAACA,CAACA;wBAC3BA,MAAMA,CAACA;oBACTA,CAACA;oBACDA,OAAOA,CAACA,GAAGA,CAACA,eAAeA,EAAEA,IAAIA,CAACA,KAAKA,CAACA,CAACA;oBAEzCA,IAAIA,IAAIA,GAAGA,IAAIA,CAACA,IAAIA,CAACA,qBAAqBA,EAAEA,CAACA;oBAE7CA,IAAIA,MAAMA,GAAGA,IAAIA,CAACA,GAAGA,CAACA,IAAIA,CAACA,MAAMA,EAAEA,GAAGA,CAACA,CAACA;oBACxCA,IAAIA,KAAKA,GAAGA,IAAIA,CAACA,KAAKA,CAACA;oBACvBA,IAAIA,CAACA,MAAMA,CAACA,KAAKA,GAAGA,KAAKA,CAACA;oBAC1BA,IAAIA,CAACA,MAAMA,CAACA,MAAMA,GAAGA,MAAMA,CAACA;oBAE5BA,IAAIA,OAAOA,GAAGA,MAAMA,GAAGA,CAACA,CAACA;oBAEzBA,IAAIA,GAAGA,GAAGA,IAAIA,CAACA,OAAOA,CAACA;oBACvBA,GAAGA,CAACA,SAASA,GAAGA,CAACA,CAACA;oBAClBA,GAAGA,CAACA,YAAYA,GAAGA,QAAQA,CAACA;oBAE5BA,IAAIA,IAAIA,GAAGA,EAAEA,CAACA;oBACdA,EAAEA,CAACA,CAACA,IAAIA,CAACA,KAAKA,CAACA,QAAQA,IAAIA,IAAIA,CAACA,CAACA,CAACA;wBAChCA,IAAIA,GAAGA,IAAIA,CAACA,SAASA,CAACA,UAAUA,CAACA,gBAAMA,CAACA,IAAIA,CAACA,KAAKA,CAACA,QAAQA,CAACA,EAAEA,CAACA,CAACA,CAACA;oBACnEA,CAACA;oBAEDA,GAAGA,CAACA,SAASA,GAAGA,SAASA,CAACA;oBAC1BA,GAAGA,CAACA,QAAQA,CAACA,CAACA,EAAEA,CAACA,EAAEA,KAAKA,EAAEA,MAAMA,CAACA,CAACA;oBAClCA,GAAGA,CAACA,SAASA,GAAGA,SAASA,CAACA;oBAC1BA,GAAGA,CAACA,IAAIA,GAAGA,gDAAgDA,CAACA;oBAC5DA,GAAGA,CAACA,SAASA,GAAGA,MAAMA,CAACA;oBACvBA,GAAGA,CAACA,QAAQA,CAACA,UAAUA,GAAGA,IAAIA,EAAEA,EAAEA,EAAEA,OAAOA,CAACA,CAACA;oBAE7CA,EAAEA,CAACA,CAACA,IAAIA,CAACA,KAAKA,CAACA,QAAQA,IAAIA,IAAIA,CAACA,CAACA,CAACA;wBAChCA,EAAEA,CAACA,CAACA,IAAIA,CAACA,KAAKA,CAACA,IAAIA,IAAIA,IAAIA,CAACA,CAACA,CAACA;4BAC5BA,IAAIA,IAAIA,GAAGA,IAAIA,CAACA,GAAGA,CAACA,IAAIA,CAACA,KAAKA,CAACA,QAAQA,CAACA,CAACA,EAAEA,IAAIA,CAACA,KAAKA,CAACA,IAAIA,CAACA,CAACA,CAACA,CAACA;4BAC9DA,IAAIA,IAAIA,GAAGA,IAAIA,CAACA,GAAGA,CAACA,IAAIA,CAACA,KAAKA,CAACA,QAAQA,CAACA,CAACA,EAAEA,IAAIA,CAACA,KAAKA,CAACA,IAAIA,CAACA,CAACA,CAACA,CAACA;4BAE9DA,wDAAwDA;4BACxDA,GAAGA,CAACA,wBAAwBA,GAAGA,iBAAiBA,CAACA;4BACjDA,GAAGA,CAACA,SAASA,GAAGA,0BAA0BA,CAACA;4BAC3CA,GAAGA,CAACA,SAASA,EAAEA,CAACA;4BAChBA,GAAGA,CAACA,QAAQA,CAACA,CAACA,EAAEA,CAACA,EAAEA,IAAIA,EAAEA,MAAMA,CAACA,CAACA;4BACjCA,GAAGA,CAACA,IAAIA,EAAEA,CAACA;4BAEXA,GAAGA,CAACA,SAASA,EAAEA,CAACA;4BAChBA,GAAGA,CAACA,QAAQA,CAACA,IAAIA,EAAEA,CAACA,EAAEA,KAAKA,EAAEA,MAAMA,CAACA,CAACA;4BACrCA,GAAGA,CAACA,IAAIA,EAAEA,CAACA;4BACXA,GAAGA,CAACA,wBAAwBA,GAAGA,aAAaA,CAACA;wBAC/CA,CAACA;wBAACA,IAAIA,CAACA,CAACA;4BACNA,GAAGA,CAACA,WAAWA,GAAGA,MAAMA,CAACA;4BACzBA,GAAGA,CAACA,SAASA,EAAEA,CAACA;4BAChBA,GAAGA,CAACA,MAAMA,CAACA,IAAIA,CAACA,KAAKA,CAACA,QAAQA,CAACA,CAACA,EAAEA,CAACA,CAACA,CAACA;4BACrCA,GAAGA,CAACA,MAAMA,CAACA,IAAIA,CAACA,KAAKA,CAACA,QAAQA,CAACA,CAACA,EAAEA,MAAMA,CAACA,CAACA;4BAC1CA,GAAGA,CAACA,SAASA,GAAGA,CAACA,CAACA;4BAClBA,GAAGA,CAACA,MAAMA,EAAEA,CAACA;4BAEbA,GAAGA,CAACA,SAASA,EAAEA,CAACA;4BAChBA,GAAGA,CAACA,MAAMA,CAACA,IAAIA,CAACA,KAAKA,CAACA,QAAQA,CAACA,CAACA,EAAEA,CAACA,CAACA,CAACA;4BACrCA,GAAGA,CAACA,MAAMA,CAACA,IAAIA,CAACA,KAAKA,CAACA,QAAQA,CAACA,CAACA,EAAEA,MAAMA,CAACA,CAACA;4BAC1CA,GAAGA,CAACA,WAAWA,GAAGA,SAASA,CAACA;4BAC5BA,GAAGA,CAACA,SAASA,GAAGA,CAACA,CAACA;4BAClBA,GAAGA,CAACA,MAAMA,EAAEA,CAACA;wBACfA,CAACA;oBACHA,CAACA;gBACHA,CAACA;gBAEDJ,iCAAOA,GAAPA;oBACEK,IAAIA,CAACA,QAAQA,CAACA,MAAMA,EAAEA,CAACA;gBACzBA,CAACA;gBAEDL,0CAAgBA,GAAhBA,UAAiBA,GAAGA;oBAClBM,IAAIA,OAAOA,GAAGA,IAAIA,CAACA,KAAKA,CAACA,EAAEA,GAAGA,IAAIA,CAACA,KAAKA,CAACA,IAAIA,CAACA;oBAC9CA,IAAIA,IAAIA,GAAGA,IAAIA,CAACA,MAAMA,CAACA,qBAAqBA,EAAEA,CAACA;oBAC/CA,IAAIA,CAACA,GAAGA,GAAGA,CAACA,OAAOA,CAACA,CAACA,eAAeA;oBACpCA,IAAIA,EAAEA,GAAGA,IAAIA,CAACA,KAAKA,CAACA,IAAIA,GAAGA,OAAOA,GAAGA,CAACA,CAACA,GAAGA,UAAUA,CAACA,IAAIA,CAACA,KAAKA,CAACA,CAACA,CAACA;oBAClEA,IAAIA,CAACA,GAAGA,GAAGA,CAACA,OAAOA,GAAGA,IAAIA,CAACA,GAAGA,CAACA;oBAE/BA,MAAMA,CAACA;wBACLA,CAACA,EAAEA,CAACA;wBACJA,CAACA,EAAEA,CAACA;wBACJA,IAAIA,EAAEA,CAACA,GAAGA,UAAUA,CAACA,IAAIA,CAACA,MAAMA,CAACA;wBACjCA,EAAEA,EAAEA,EAAEA;wBACNA,GAAGA,EAAEA,GAAGA;qBACTA,CAACA;gBACJA,CAACA;gBAEDN,sCAAYA,GAAZA,UAAaA,GAAGA,EAAEA,MAAMA,EAAEA,UAAUA;oBAClCO,OAAOA,CAACA,GAAGA,CAACA,OAAOA,EAAEA,GAAGA,EAAEA,MAAMA,EAAEA,UAAUA,CAACA,CAACA;gBAChDA,CAACA;gBAEDP,wCAAcA,GAAdA,UAAeA,KAAKA;oBAClBQ,OAAOA,CAACA,GAAGA,CAACA,gBAAgBA,EAAEA,KAAKA,CAACA,CAACA;oBACrCA,IAAIA,CAACA,MAAMA,EAAEA,CAACA;gBAChBA,CAACA;gBAEDR,8CAAoBA,GAApBA,UAAqBA,KAAKA;oBACxBS,OAAOA,CAACA,GAAGA,CAACA,cAAcA,EAAEA,KAAKA,CAACA,CAACA;gBACrCA,CAACA;gBAEDT,8BAAIA,GAAJA,UAAKA,KAAKA,EAAEA,IAAIA,EAAEA,KAAKA,EAAEA,IAAIA;oBAA7BU,iBA+KCA;oBA9KCA,IAAIA,CAACA,IAAIA,GAAGA,IAAIA,CAACA,IAAIA,CAACA,cAAcA,CAACA,CAACA,CAACA,CAACA,CAACA;oBACzCA,IAAIA,CAACA,MAAMA,GAAGA,QAAQA,CAACA,aAAaA,CAACA,QAAQA,CAACA,CAACA;oBAC/CA,IAAIA,CAACA,IAAIA,CAACA,WAAWA,CAACA,IAAIA,CAACA,MAAMA,CAACA,CAACA;oBAEnCA,gBAACA,CAACA,IAAIA,CAACA,MAAMA,CAACA,CAACA,GAAGA,CAACA,QAAQA,EAAEA,SAASA,CAACA,CAACA;oBACxCA,gBAACA,CAACA,IAAIA,CAACA,IAAIA,CAACA,CAACA,GAAGA,CAACA,OAAOA,EAAEA,MAAMA,CAACA,CAACA;oBAElCA,gCAAgCA;oBAEhCA,IAAIA,CAACA,OAAOA,GAAGA,IAAIA,CAACA,MAAMA,CAACA,UAAUA,CAACA,IAAIA,CAACA,CAACA;oBAC5CA,IAAIA,CAACA,MAAMA,CAACA,gBAAgBA,CAC1BA,WAAWA,EACXA,UAAAA,GAAGA;wBACDA,EAAEA,CAACA,CAACA,CAACA,KAAIA,CAACA,KAAKA,CAACA,CAACA,CAACA;4BAChBA,MAAMA,CAACA,CAACA,oCAAoCA;wBAC9CA,CAACA;wBAEDA,KAAIA,CAACA,KAAKA,CAACA,QAAQA,GAAGA,KAAIA,CAACA,gBAAgBA,CAACA,GAAGA,CAACA,CAACA;wBACjDA,IAAIA,IAAIA,GAAGA;4BACTA,GAAGA,EAAEA;gCACHA,KAAKA,EAAEA,GAAGA,CAACA,KAAKA;gCAChBA,KAAKA,EAAEA,GAAGA,CAACA,KAAKA;gCAChBA,CAACA,EAAEA,KAAIA,CAACA,KAAKA,CAACA,QAAQA,CAACA,EAAEA;gCACzBA,CAACA,EAAEA,KAAIA,CAACA,KAAKA,CAACA,QAAQA,CAACA,CAACA;gCACxBA,SAASA,EAAEA,KAAIA,CAACA,KAAKA,CAACA,QAAQA,CAACA,IAAIA;gCACnCA,SAASA,EAAEA,KAAIA,CAACA,KAAKA,CAACA,QAAQA,CAACA,IAAIA;6BACpCA;4BACDA,GAAGA,EAAEA,GAAGA;4BACRA,KAAKA,EAAEA,KAAIA,CAACA,KAAKA;yBAClBA,CAACA;wBACFA,oBAASA,CAACA,IAAIA,CAACA,aAAaA,EAAEA,IAAIA,CAACA,CAACA;wBACpCA,EAAEA,CAACA,CAACA,KAAIA,CAACA,KAAKA,CAACA,IAAIA,IAAIA,IAAIA,CAACA,CAACA,CAACA;4BAC5BA,gBAACA,CAACA,KAAIA,CAACA,MAAMA,CAACA,CAACA,GAAGA,CAACA,QAAQA,EAAEA,YAAYA,CAACA,CAACA;wBAC7CA,CAACA;oBACHA,CAACA,EACDA,KAAKA,CACNA,CAACA;oBAEFA,IAAIA,CAACA,MAAMA,CAACA,gBAAgBA,CAC1BA,UAAUA,EACVA,UAAAA,GAAGA;wBACDA,EAAEA,CAACA,CAACA,KAAIA,CAACA,KAAKA,CAACA,IAAIA,IAAIA,IAAIA,CAACA,CAACA,CAACA;4BAC5BA,KAAIA,CAACA,KAAKA,CAACA,QAAQA,GAAGA,IAAIA,CAACA;4BAC3BA,KAAIA,CAACA,QAAQA,EAAEA,CAACA;4BAChBA,KAAIA,CAACA,QAAQA,CAACA,MAAMA,EAAEA,CAACA;4BACvBA,oBAASA,CAACA,IAAIA,CAACA,mBAAmBA,CAACA,CAACA;wBACtCA,CAACA;oBACHA,CAACA,EACDA,KAAKA,CACNA,CAACA;oBAEFA,IAAIA,CAACA,MAAMA,CAACA,gBAAgBA,CAC1BA,WAAWA,EACXA,UAAAA,GAAGA;wBACDA,KAAIA,CAACA,KAAKA,CAACA,IAAIA,GAAGA,KAAIA,CAACA,gBAAgBA,CAACA,GAAGA,CAACA,CAACA;oBAC/CA,CAACA,EACDA,KAAKA,CACNA,CAACA;oBAEFA,IAAIA,CAACA,MAAMA,CAACA,gBAAgBA,CAC1BA,YAAYA,EACZA,UAAAA,GAAGA;wBACDA,EAAEA,CAACA,CAACA,KAAIA,CAACA,KAAKA,CAACA,IAAIA,IAAIA,CAACA,GAAGA,CAACA,OAAOA,CAACA,CAACA,CAACA;4BACpCA,KAAIA,CAACA,KAAKA,CAACA,QAAQA,GAAGA,IAAIA,CAACA;4BAC3BA,KAAIA,CAACA,KAAKA,CAACA,IAAIA,GAAGA,IAAIA,CAACA;4BACvBA,KAAIA,CAACA,QAAQA,EAAEA,CAACA;4BAChBA,KAAIA,CAACA,QAAQA,CAACA,MAAMA,EAAEA,CAACA;4BACvBA,oBAASA,CAACA,IAAIA,CAACA,mBAAmBA,CAACA,CAACA;wBACtCA,CAACA;wBACDA,gBAACA,CAACA,KAAIA,CAACA,MAAMA,CAACA,CAACA,GAAGA,CAACA,QAAQA,EAAEA,SAASA,CAACA,CAACA;oBAC1CA,CAACA,EACDA,KAAKA,CACNA,CAACA;oBAEFA,IAAIA,CAACA,MAAMA,CAACA,gBAAgBA,CAC1BA,SAASA,EACTA,UAAAA,GAAGA;wBACDA,KAAIA,CAACA,QAAQA,CAACA,MAAMA,EAAEA,CAACA;wBACvBA,IAAIA,EAAEA,GAAGA,KAAIA,CAACA,gBAAgBA,CAACA,GAAGA,CAACA,CAACA;wBACpCA,EAAEA,CAACA,CAACA,KAAIA,CAACA,KAAKA,CAACA,IAAIA,IAAIA,IAAIA,CAACA,CAACA,CAACA;4BAC5BA,EAAEA,CAACA,CAACA,EAAEA,CAACA,CAACA,KAAKA,KAAIA,CAACA,KAAKA,CAACA,IAAIA,CAACA,CAACA,IAAIA,EAAEA,CAACA,CAACA,KAAKA,KAAIA,CAACA,KAAKA,CAACA,IAAIA,CAACA,CAACA,CAACA,CAACA,CAACA;gCAC7DA,KAAIA,CAACA,KAAKA,CAACA,QAAQA,GAAGA,IAAIA,CAACA;gCAC3BA,KAAIA,CAACA,KAAKA,CAACA,IAAIA,GAAGA,IAAIA,CAACA;gCACvBA,KAAIA,CAACA,cAAcA,CAACA,EAAEA,CAACA,CAACA;4BAC1BA,CAACA;4BAACA,IAAIA,CAACA,CAACA;gCACNA,IAAIA,GAAGA,GAAGA,IAAIA,CAACA,GAAGA,CAACA,KAAIA,CAACA,KAAKA,CAACA,IAAIA,CAACA,EAAEA,EAAEA,EAAEA,CAACA,EAAEA,CAACA,CAACA;gCAC9CA,IAAIA,GAAGA,GAAGA,IAAIA,CAACA,GAAGA,CAACA,KAAIA,CAACA,KAAKA,CAACA,IAAIA,CAACA,EAAEA,EAAEA,EAAEA,CAACA,EAAEA,CAACA,CAACA;gCAC9CA,IAAIA,KAAKA,GAAGA,EAACA,IAAIA,EAAEA,gBAAMA,CAACA,GAAGA,CAACA,GAAGA,CAACA,EAAEA,EAAEA,EAAEA,gBAAMA,CAACA,GAAGA,CAACA,GAAGA,CAACA,EAACA,CAACA;gCACzDA,KAAIA,CAACA,KAAKA,CAACA,QAAQA,GAAGA,EAAEA,CAACA;gCACzBA,KAAIA,CAACA,oBAAoBA,CAACA,KAAKA,CAACA,CAACA;4BACnCA,CAACA;wBACHA,CAACA;wBACDA,KAAIA,CAACA,KAAKA,CAACA,IAAIA,GAAGA,IAAIA,CAACA;wBACvBA,KAAIA,CAACA,KAAKA,CAACA,QAAQA,GAAGA,IAAIA,CAACA;oBAC7BA,CAACA,EACDA,KAAKA,CACNA,CAACA;oBAEFA,IAAIA,CAACA,MAAMA,CAACA,gBAAgBA,CAC1BA,UAAUA,EACVA,UAAAA,GAAGA;wBACDA,KAAIA,CAACA,KAAKA,CAACA,QAAQA,GAAGA,IAAIA,CAACA;wBAC3BA,KAAIA,CAACA,KAAKA,CAACA,IAAIA,GAAGA,IAAIA,CAACA;wBACvBA,KAAIA,CAACA,QAAQA,EAAEA,CAACA;wBAChBA,KAAIA,CAACA,QAAQA,CAACA,MAAMA,EAAEA,CAACA;wBACvBA,oBAASA,CAACA,IAAIA,CAACA,mBAAmBA,CAACA,CAACA;wBAEpCA,OAAOA,CAACA,GAAGA,CAACA,gBAAgBA,CAACA,CAACA;oBAChCA,CAACA,EACDA,IAAIA,CACLA,CAACA;oBAEFA,gBAAgBA;oBAChBA,oBAASA,CAACA,EAAEA,CACVA,aAAaA,EACbA,UAAAA,KAAKA;wBACHA,gEAAgEA;wBAChEA,IAAIA,MAAMA,GAAGA,KAAKA,CAACA,KAAKA,CAACA,EAAEA,KAAKA,KAAIA,CAACA,KAAKA,CAACA,EAAEA,CAACA;wBAC9CA,EAAEA,CAACA,CAACA,CAACA,KAAIA,CAACA,SAASA,CAACA,wBAAwBA,EAAEA,IAAIA,CAACA,MAAMA,CAACA,CAACA,CAACA;4BAC1DA,MAAMA,CAACA;wBACTA,CAACA;wBAEDA,wCAAwCA;wBACxCA,EAAEA,CAACA,CAACA,KAAIA,CAACA,0BAA0BA,EAAEA,CAACA,CAACA,CAACA;4BACtCA,MAAMA,CAACA;wBACTA,CAACA;wBAEDA,gEAAgEA;wBAChEA,EAAEA,CAACA,CAACA,CAACA,MAAMA,CAACA,CAACA,CAACA;4BACZA,EAAEA,CAACA,CAACA,CAACA,KAAKA,CAACA,GAAGA,CAACA,CAACA,CAACA,CAACA,CAACA;gCACjBA,OAAOA,CAACA,GAAGA,CAACA,qBAAqBA,EAAEA,KAAKA,CAACA,CAACA;gCAC1CA,MAAMA,CAACA;4BACTA,CAACA;4BAEDA,IAAIA,EAAEA,GAAGA,KAAKA,CAACA,GAAGA,CAACA,CAACA,CAACA;4BACrBA,IAAIA,IAAIA,GAAGA,KAAIA,CAACA,MAAMA,CAACA,qBAAqBA,EAAEA,CAACA;4BAC/CA,IAAIA,OAAOA,GAAGA,KAAIA,CAACA,KAAKA,CAACA,EAAEA,GAAGA,KAAIA,CAACA,KAAKA,CAACA,IAAIA,CAACA;4BAC9CA,IAAIA,CAACA,GAAGA,CAACA,EAAEA,GAAGA,KAAIA,CAACA,KAAKA,CAACA,IAAIA,CAACA,GAAGA,OAAOA,GAAGA,IAAIA,CAACA,KAAKA,CAACA;4BAEtDA,KAAIA,CAACA,KAAKA,CAACA,QAAQA,GAAGA;gCACpBA,CAACA,EAAEA,CAACA;gCACJA,CAACA,EAAEA,KAAKA,CAACA,GAAGA,CAACA,SAASA,GAAGA,IAAIA,CAACA,MAAMA;gCACpCA,IAAIA,EAAEA,KAAKA,CAACA,GAAGA,CAACA,SAASA;gCACzBA,EAAEA,EAAEA,EAAEA;gCACNA,IAAIA,EAAEA,KAAKA;6BACZA,CAACA;wBAEJA,CAACA;wBAEDA,KAAIA,CAACA,YAAYA,CACfA,KAAKA,EACLA,MAAMA,IAAIA,CAACA,KAAIA,CAACA,SAASA,CAACA,uBAAuBA,EAAEA,EACnDA,CAACA,MAAMA,CACRA,CAACA;oBACJA,CAACA,EACDA,KAAKA,CACNA,CAACA;oBAEFA,oBAASA,CAACA,EAAEA,CACVA,mBAAmBA,EACnBA,UAACA,KAAKA,EAAEA,IAAIA;wBACVA,KAAIA,CAACA,KAAKA,CAACA,QAAQA,GAAGA,IAAIA,CAACA;wBAC3BA,KAAIA,CAACA,KAAKA,CAACA,IAAIA,GAAGA,IAAIA,CAACA;wBACvBA,KAAIA,CAACA,MAAMA,EAAEA,CAACA;wBACdA,KAAIA,CAACA,QAAQA,CAACA,MAAMA,EAAEA,CAACA;oBACzBA,CAACA,EACDA,KAAKA,CACNA,CAACA;oBAEFA,gCAAgCA;oBAChCA,6BAA6BA;oBAC7BA,gBAAgBA;oBAChBA,mBAAmBA;oBACnBA,MAAMA;gBACRA,CAACA;gBAEDV,kCAAkCA;gBAClCA,mCAAmCA;gBAEnCA,qCAAWA,GAAXA,UAAYA,KAAaA,EAAEA,UAAkBA;oBAC3CW,IAAIA,MAAMA,GAAGA,QAAQA,CAACA;oBACtBA,IAAIA,OAAOA,GAAGA,WAAWA,CAACA;oBAE1BA,EAAEA,CAACA,CAACA,UAAUA,IAAIA,EAAEA,CAACA,CAACA,CAACA;wBACrBA,MAAMA,CAACA,UAAUA,CAACA;oBACpBA,CAACA;oBACDA,EAAEA,CAACA,CAACA,UAAUA,IAAIA,IAAIA,IAAIA,KAAKA,IAAIA,MAAMA,CAACA,CAACA,CAACA;wBAC1CA,MAAMA,CAACA,OAAOA,CAACA;oBACjBA,CAACA;oBACDA,EAAEA,CAACA,CAACA,UAAUA,IAAIA,KAAKA,CAACA,CAACA,CAACA;wBACxBA,MAAMA,CAACA,aAAaA,CAACA;oBACvBA,CAACA;oBACDA,EAAEA,CAACA,CAACA,UAAUA,IAAIA,OAAOA,IAAIA,KAAKA,IAAIA,OAAOA,CAACA,CAACA,CAACA;wBAC9CA,MAAMA,CAACA,OAAOA,CAACA;oBACjBA,CAACA;oBACDA,MAAMA,CAACA,OAAOA,CAACA;gBACjBA,CAACA;gBAEDX,2CAAiBA,GAAjBA,UAAkBA,eAAuBA;oBACvCY,IAAIA,aAAaA,GAAGA,eAAeA,GAAGA,IAAIA,CAACA;oBAE3CA,EAAEA,CAACA,CAACA,aAAaA,IAAIA,EAAEA,CAACA,CAACA,CAACA;wBACxBA,MAAMA,CAACA,EAAEA,GAAGA,IAAIA,CAACA;oBACnBA,CAACA;oBAEDA,EAAEA,CAACA,CAACA,aAAaA,IAAIA,EAAEA,CAACA,CAACA,CAACA;wBACxBA,MAAMA,CAACA,EAAEA,GAAGA,IAAIA,CAACA;oBACnBA,CAACA;oBAEDA,EAAEA,CAACA,CAACA,aAAaA,IAAIA,EAAEA,GAAGA,CAACA,CAACA,CAACA,CAACA;wBAC5BA,MAAMA,CAACA,CAACA,GAAGA,EAAEA,GAAGA,IAAIA,CAACA;oBACvBA,CAACA;oBAEDA,EAAEA,CAACA,CAACA,aAAaA,IAAIA,EAAEA,GAAGA,EAAEA,CAACA,CAACA,CAACA;wBAC7BA,MAAMA,CAACA,EAAEA,GAAGA,EAAEA,GAAGA,IAAIA,CAACA;oBACxBA,CAACA;oBAEDA,EAAEA,CAACA,CAACA,aAAaA,IAAIA,EAAEA,GAAGA,EAAEA,CAACA,CAACA,CAACA;wBAC7BA,MAAMA,CAACA,EAAEA,GAAGA,EAAEA,GAAGA,IAAIA,CAACA;oBACxBA,CAACA;oBAEDA,EAAEA,CAACA,CAACA,aAAaA,IAAIA,EAAEA,GAAGA,EAAEA,CAACA,CAACA,CAACA;wBAC7BA,MAAMA,CAACA,EAAEA,GAAGA,EAAEA,GAAGA,IAAIA,CAACA;oBACxBA,CAACA;oBAEDA,EAAEA,CAACA,CAACA,aAAaA,IAAIA,EAAEA,GAAGA,EAAEA,CAACA,CAACA,CAACA;wBAC7BA,MAAMA,CAACA,EAAEA,GAAGA,EAAEA,GAAGA,IAAIA,CAACA;oBACxBA,CAACA;oBAEDA,EAAEA,CAACA,CAACA,aAAaA,IAAIA,CAACA,GAAGA,EAAEA,GAAGA,EAAEA,CAACA,CAACA,CAACA;wBACjCA,MAAMA,CAACA,CAACA,GAAGA,EAAEA,GAAGA,EAAEA,GAAGA,IAAIA,CAACA;oBAC5BA,CAACA;oBAEDA,EAAEA,CAACA,CAACA,aAAaA,IAAIA,CAACA,GAAGA,EAAEA,GAAGA,EAAEA,CAACA,CAACA,CAACA;wBACjCA,MAAMA,CAACA,CAACA,GAAGA,EAAEA,GAAGA,EAAEA,GAAGA,IAAIA,CAACA;oBAC5BA,CAACA;oBAEDA,EAAEA,CAACA,CAACA,aAAaA,IAAIA,EAAEA,GAAGA,EAAEA,GAAGA,EAAEA,CAACA,CAACA,CAACA;wBAClCA,MAAMA,CAACA,EAAEA,GAAGA,EAAEA,GAAGA,EAAEA,GAAGA,IAAIA,CAACA;oBAC7BA,CAACA;oBAEDA,EAAEA,CAACA,CAACA,aAAaA,IAAIA,EAAEA,GAAGA,EAAEA,GAAGA,EAAEA,CAACA,CAACA,CAACA;wBAClCA,MAAMA,CAACA,EAAEA,GAAGA,EAAEA,GAAGA,EAAEA,GAAGA,IAAIA,CAACA;oBAC7BA,CAACA;oBAEDA,EAAEA,CAACA,CAACA,aAAaA,IAAIA,CAACA,GAAGA,EAAEA,GAAGA,EAAEA,GAAGA,EAAEA,CAACA,CAACA,CAACA;wBACtCA,MAAMA,CAACA,CAACA,GAAGA,EAAEA,GAAGA,EAAEA,GAAGA,EAAEA,GAAGA,IAAIA,CAACA;oBACjCA,CAACA;oBAEDA,EAAEA,CAACA,CAACA,aAAaA,IAAIA,CAACA,GAAGA,EAAEA,GAAGA,EAAEA,GAAGA,EAAEA,CAACA,CAACA,CAACA;wBACtCA,MAAMA,CAACA,CAACA,GAAGA,EAAEA,GAAGA,EAAEA,GAAGA,EAAEA,GAAGA,IAAIA,CAACA;oBACjCA,CAACA;oBAEDA,EAAEA,CAACA,CAACA,aAAaA,IAAIA,EAAEA,GAAGA,EAAEA,GAAGA,EAAEA,GAAGA,EAAEA,CAACA,CAACA,CAACA;wBACvCA,MAAMA,CAACA,EAAEA,GAAGA,EAAEA,GAAGA,EAAEA,GAAGA,EAAEA,GAAGA,IAAIA,CAACA;oBAClCA,CAACA;oBAEDA,MAAMA,CAACA,CAACA,GAAGA,EAAEA,GAAGA,EAAEA,GAAGA,EAAEA,GAAGA,EAAEA,GAAGA,IAAIA,CAACA;gBACtCA,CAACA;gBAEDZ,mCAASA,GAATA,UAAUA,SAASA,EAAEA,OAAOA;oBAC1Ba,SAASA,IAAIA,SAASA,GAAGA,OAAOA,CAACA,CAACA,wCAAwCA;oBAC1EA,MAAMA,CAACA,SAASA,CAACA;gBACnBA,CAACA;gBAEDb,oCAAUA,GAAVA,UAAWA,CAACA,EAAEA,GAAGA;oBACfc,IAAIA,UAAUA,GAAGA;wBACfA,KAAKA;wBACLA,KAAKA;wBACLA,KAAKA;wBACLA,KAAKA;wBACLA,KAAKA;wBACLA,KAAKA;wBACLA,KAAKA;wBACLA,KAAKA;wBACLA,KAAKA;wBACLA,KAAKA;wBACLA,KAAKA;wBACLA,KAAKA;qBACNA,CAACA;oBACFA,IAAIA,QAAQA,GAAGA,CAACA,KAAKA,EAAEA,KAAKA,EAAEA,KAAKA,EAAEA,KAAKA,EAAEA,KAAKA,EAAEA,KAAKA,EAAEA,KAAKA,CAACA,CAACA;oBACjEA,EAAEA,CAACA,CAACA,OAAOA,CAACA,CAACA,QAAQA,IAAIA,UAAUA,CAACA,CAACA,CAACA;wBACpCA,MAAMA,CAACA,CAACA,CAACA,QAAQA,CAACA,GAAGA,CAACA,CAACA;oBACzBA,CAACA;oBAEDA,IAAIA,CAACA,GAAGA,EAAEA,CAACA;oBACXA,IAAIA,MAAMA,GAAGA,KAAKA,CAACA;oBACnBA,IAAIA,KAAKA,GAAGA,CAACA,CAACA,QAAQA,EAAEA,CAACA;oBACzBA,IAAIA,IAAIA,GAAGA,KAAKA,GAAGA,EAAEA,CAACA;oBAEtBA,EAAEA,CAACA,CAACA,UAAUA,IAAIA,IAAIA,CAACA,CAACA,CAACA;wBACvBA,UAAUA,GAAGA;4BACXA,KAAKA;4BACLA,KAAKA;4BACLA,KAAKA;4BACLA,KAAKA;4BACLA,KAAKA;4BACLA,KAAKA;4BACLA,KAAKA;4BACLA,KAAKA;4BACLA,KAAKA;4BACLA,KAAKA;4BACLA,KAAKA;4BACLA,KAAKA;yBACNA,CAACA;oBACJA,CAACA;oBAEDA,EAAEA,CAACA,CAACA,QAAQA,IAAIA,IAAIA,CAACA,CAACA,CAACA;wBACrBA,QAAQA,GAAGA,CAACA,KAAKA,EAAEA,KAAKA,EAAEA,KAAKA,EAAEA,KAAKA,EAAEA,KAAKA,EAAEA,KAAKA,EAAEA,KAAKA,CAACA,CAACA;oBAC/DA,CAACA;oBAEDA,IAAIA,OAAOA,CAACA;oBAEZA,EAAEA,CAACA,CAACA,KAAKA,GAAGA,EAAEA,CAACA,CAACA,CAACA;wBACfA,OAAOA,GAAGA,KAAKA,GAAGA,EAAEA,CAACA;oBACvBA,CAACA;oBAACA,IAAIA,CAACA,EAAEA,CAACA,CAACA,KAAKA,IAAIA,CAACA,CAACA,CAACA,CAACA;wBACtBA,OAAOA,GAAGA,EAAEA,CAACA;oBACfA,CAACA;oBAACA,IAAIA,CAACA,CAACA;wBACNA,OAAOA,GAAGA,KAAKA,CAACA;oBAClBA,CAACA;oBAEDA,GAAGA,CAACA,CAACA,GAAGA,CAACA,CAACA,GAAGA,CAACA,EAAEA,CAACA,GAAGA,GAAGA,CAACA,MAAMA,EAAEA,EAAEA,CAACA,EAAEA,CAACA;wBACpCA,IAAIA,CAACA,GAAGA,GAAGA,CAACA,MAAMA,CAACA,CAACA,CAACA,CAACA;wBAEtBA,EAAEA,CAACA,CAACA,MAAMA,CAACA,CAACA,CAACA;4BACXA,MAAMA,CAACA,CAACA,CAACA,CAACA,CAACA,CAACA;gCACVA,KAAKA,GAAGA;oCACNA,CAACA,GAAGA,EAAEA,GAAGA,QAAQA,CAACA,CAACA,CAACA,MAAMA,EAAEA,CAACA,CAACA;oCAC9BA,KAAKA,CAACA;gCACRA,KAAKA,GAAGA;oCACNA,CAACA,GAAGA,EAAEA,GAAGA,UAAUA,CAACA,CAACA,CAACA,QAAQA,EAAEA,CAACA,CAACA;oCAClCA,KAAKA,CAACA;gCACRA,KAAKA,GAAGA;oCACNA,CAACA,GAAGA,IAAIA,CAACA,OAAOA,CAACA,CAACA,CAACA,OAAOA,EAAEA,EAAEA,EAAEA,CAACA,CAACA;oCAClCA,KAAKA,CAACA;gCACRA,KAAKA,GAAGA;oCACNA,CAACA,GAAGA,IAAIA,CAACA,OAAOA,CAACA,CAACA,CAACA,OAAOA,EAAEA,EAAEA,GAAGA,CAACA,CAACA;oCACnCA,KAAKA,CAACA;gCACRA,KAAKA,GAAGA,CAACA,CAACA,0CAA0CA;gCACpDA,KAAKA,GAAGA;oCACNA,CAACA,GAAGA,IAAIA,CAACA,OAAOA,CAACA,KAAKA,EAAEA,IAAIA,CAACA,CAACA;oCAC9BA,KAAKA,CAACA;gCACRA,KAAKA,GAAGA;oCACNA,CAACA,GAAGA,IAAIA,CAACA,OAAOA,CAACA,OAAOA,EAAEA,IAAIA,CAACA,CAACA;oCAChCA,KAAKA,CAACA;gCACRA,KAAKA,GAAGA;oCACNA,CAACA,GAAGA,IAAIA,CAACA,OAAOA,CAACA,OAAOA,EAAEA,GAAGA,CAACA,CAACA;oCAC/BA,KAAKA,CAACA;gCACRA,KAAKA,GAAGA;oCACNA,CAACA,GAAGA,IAAIA,CAACA,OAAOA,CAACA,CAACA,CAACA,QAAQA,EAAEA,GAAGA,CAACA,EAAEA,EAAEA,CAACA,CAACA;oCACvCA,KAAKA,CAACA;gCACRA,KAAKA,GAAGA;oCACNA,CAACA,GAAGA,IAAIA,CAACA,OAAOA,CAACA,CAACA,CAACA,UAAUA,EAAEA,EAAEA,IAAIA,CAACA,CAACA;oCACvCA,KAAKA,CAACA;gCACRA,sDAAsDA;gCACtDA,KAAKA,GAAGA;oCACNA,CAACA,GAAGA,EAAEA,GAAGA,CAACA,IAAIA,CAACA,KAAKA,CAACA,CAACA,CAACA,QAAQA,EAAEA,GAAGA,CAACA,CAACA,GAAGA,CAACA,CAACA,CAACA;oCAC5CA,KAAKA,CAACA;gCACRA,KAAKA,GAAGA;oCACNA,CAACA,GAAGA,IAAIA,CAACA,OAAOA,CAACA,CAACA,CAACA,UAAUA,EAAEA,EAAEA,IAAIA,CAACA,CAACA;oCACvCA,KAAKA,CAACA;gCACRA,KAAKA,GAAGA;oCACNA,CAACA,GAAGA,IAAIA,CAACA,OAAOA,CAACA,CAACA,CAACA,WAAWA,EAAEA,GAAGA,GAAGA,EAAEA,IAAIA,CAACA,CAACA;oCAC9CA,KAAKA,CAACA;gCACRA,KAAKA,GAAGA;oCACNA,CAACA,GAAGA,EAAEA,GAAGA,CAACA,CAACA,WAAWA,EAAEA,CAACA;oCACzBA,KAAKA,CAACA;gCACRA,KAAKA,GAAGA;oCACNA,CAACA,GAAGA,IAAIA,GAAGA,EAAEA,GAAGA,IAAIA,GAAGA,EAAEA,GAAGA,IAAIA,CAACA;oCACjCA,KAAKA,CAACA;gCACRA,KAAKA,GAAGA;oCACNA,CAACA,GAAGA,IAAIA,GAAGA,EAAEA,GAAGA,IAAIA,GAAGA,EAAEA,GAAGA,IAAIA,CAACA;oCACjCA,KAAKA,CAACA;gCACRA,KAAKA,GAAGA;oCACNA,CAACA,GAAGA,EAAEA,GAAGA,CAACA,CAACA,MAAMA,EAAEA,CAACA;oCACpBA,KAAKA,CAACA;4BACVA,CAACA;4BACDA,CAACA,CAACA,IAAIA,CAACA,CAACA,CAACA,CAACA;4BACVA,MAAMA,GAAGA,KAAKA,CAACA;wBACjBA,CAACA;wBAACA,IAAIA,CAACA,CAACA;4BACNA,EAAEA,CAACA,CAACA,CAACA,IAAIA,GAAGA,CAACA,CAACA,CAACA;gCACbA,MAAMA,GAAGA,IAAIA,CAACA;4BAChBA,CAACA;4BAACA,IAAIA,CAACA,CAACA;gCACNA,CAACA,CAACA,IAAIA,CAACA,CAACA,CAACA,CAACA;4BACZA,CAACA;wBACHA,CAACA;oBACHA,CAACA;oBAEDA,MAAMA,CAACA,CAACA,CAACA,IAAIA,CAACA,EAAEA,CAACA,CAACA;gBACpBA,CAACA;gBAEDd,iCAAOA,GAAPA,UAAQA,CAACA,EAAEA,GAAGA;oBACZe,CAACA,GAAGA,EAAEA,GAAGA,CAACA,CAACA;oBACXA,GAAGA,GAAGA,EAAEA,GAAGA,CAACA,GAAGA,IAAIA,IAAIA,GAAGA,GAAGA,GAAGA,GAAGA,CAACA,CAACA;oBACrCA,MAAMA,CAACA,CAACA,CAACA,MAAMA,IAAIA,CAACA,GAAGA,GAAGA,GAAGA,CAACA,GAAGA,CAACA,CAACA;gBACrCA,CAACA;gBACHf,sBAACA;YAADA,CAACA,AAxhBD,EAAqC,sBAAgB,EAwhBpD;YAxhBD,6CAwhBC,CAAA"} \ No newline at end of file +{"version":3,"file":"canvas-metric.js","sourceRoot":"","sources":["canvas-metric.ts"],"names":["CanvasPanelCtrl","CanvasPanelCtrl.constructor","CanvasPanelCtrl.onPanelInitalized","CanvasPanelCtrl.onRefresh","CanvasPanelCtrl.onRender","CanvasPanelCtrl.clearTT","CanvasPanelCtrl.getMousePosition","CanvasPanelCtrl.onGraphHover","CanvasPanelCtrl.onMouseClicked","CanvasPanelCtrl.onMouseSelectedRange","CanvasPanelCtrl.link","CanvasPanelCtrl.time_format","CanvasPanelCtrl.getTimeResolution","CanvasPanelCtrl.roundDate","CanvasPanelCtrl.formatDate","CanvasPanelCtrl.leftPad","CanvasPanelCtrl.initDefaultI18n"],"mappings":"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"} \ No newline at end of file diff --git a/dist/canvas-metric.ts b/dist/canvas-metric.ts index e5124ab..58b405a 100644 --- a/dist/canvas-metric.ts +++ b/dist/canvas-metric.ts @@ -7,6 +7,7 @@ import moment from 'moment'; import $ from 'jquery'; import appEvents from 'app/core/app_events'; +import {initAttrI18n} from './i18n'; // Expects a template with: //
@@ -21,7 +22,6 @@ export class CanvasPanelCtrl extends MetricsPanelCtrl { constructor($scope, $injector) { super($scope, $injector); - this.data = null; this.mouse = { position: null, @@ -150,6 +150,7 @@ export class CanvasPanelCtrl extends MetricsPanelCtrl { } link(scope, elem, attrs, ctrl) { + ctrl.initDefaultI18n(); this.wrap = elem.find('.canvas-spot')[0]; this.canvas = document.createElement('canvas'); this.wrap.appendChild(this.canvas); @@ -298,7 +299,6 @@ export class CanvasPanelCtrl extends MetricsPanelCtrl { }; //console.log( "Calculate mouseInfo", event, this.mouse.position); } - this.onGraphHover( event, isThis || !this.dashboard.sharedCrosshairModeOnly(), @@ -318,17 +318,8 @@ export class CanvasPanelCtrl extends MetricsPanelCtrl { }, scope ); - - // scope.$on('$destroy', () => { - // this.$tooltip.destroy(); - // elem.off(); - // elem.remove(); - // }); } - // Utility Functions for time axis - //--------------------------------- - time_format(range: number, secPerTick: number): string { let oneDay = 86400000; let oneYear = 31536000000; @@ -431,7 +422,7 @@ export class CanvasPanelCtrl extends MetricsPanelCtrl { 'Dec', ]; let dayNames = ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat']; - if (typeof d.strftime == 'function') { + if (typeof d.strftime === 'function') { return d.strftime(fmt); } @@ -465,7 +456,7 @@ export class CanvasPanelCtrl extends MetricsPanelCtrl { if (hours > 12) { hours12 = hours - 12; - } else if (hours == 0) { + } else if (hours === 0) { hours12 = 12; } else { hours12 = hours; @@ -530,7 +521,7 @@ export class CanvasPanelCtrl extends MetricsPanelCtrl { r.push(c); escape = false; } else { - if (c == '%') { + if (c === '%') { escape = true; } else { r.push(c); @@ -544,6 +535,20 @@ export class CanvasPanelCtrl extends MetricsPanelCtrl { leftPad(n, pad) { n = '' + n; pad = '' + (pad == null ? '0' : pad); - return n.length == 1 ? pad + n : n; + return n.length === 1 ? pad + n : n; + } + + initDefaultI18n() { + const lang = this.dashboard.panelLanguage; + if (lang) { + for (const valueMap of this.panel.valueMaps) { + initAttrI18n(valueMap, 'text', lang); + } + for (const rangeMap of this.panel.rangeMaps) { + initAttrI18n(rangeMap, 'text', lang); + } + initAttrI18n(this.panel, 'FontSize', lang); + initAttrI18n(this.panel, 'FontSizeValue', lang); + } } } diff --git a/dist/css/discrete.dark.css b/dist/css/discrete.dark.css new file mode 100644 index 0000000..d93d7f3 --- /dev/null +++ b/dist/css/discrete.dark.css @@ -0,0 +1,3 @@ +.discrete-Theme { + color: #d8d9da; +} \ No newline at end of file diff --git a/dist/css/discrete.light.css b/dist/css/discrete.light.css new file mode 100644 index 0000000..ff128fe --- /dev/null +++ b/dist/css/discrete.light.css @@ -0,0 +1,3 @@ +.discrete-Theme { + color: #323233; +} \ No newline at end of file diff --git a/dist/i18n.d.ts b/dist/i18n.d.ts new file mode 100644 index 0000000..edc5fa2 --- /dev/null +++ b/dist/i18n.d.ts @@ -0,0 +1,31 @@ +/** + * 写入panel多语言文本 + * @param obj :{} 字段所在对象 + * @param label : string 字段名字 + * @param value : string 值 + * @param lang : string 语言 + */ +declare const setI18n: (obj: any, label: string, value: any, lang: string) => void; +/** + * 获取panel多语言文本 + * @param obj : {}, 字段所属对象 + * @param label : string, 字段名字 + * @param lang : string, 语言 + */ +declare const getI18n: (obj: any, label: string, lang: string) => any; +/** + * 初始化所有国际化字段 + * @param obj : {}, 字段所属根对象,一般传this.panel + * @param lang : string, 语言 + * @param depth : number, 对象递归的最深层级,默认4 + */ +declare const initI18n: (obj: any, lang: string, depth?: number) => void; +/** + * 初始化时判断字段如果未经国际化,则生成对应的国际化数据 + * @param obj 字段所属对象 + * @param label 字段名称 + * @param lang 语言 + */ +declare const initAttrI18n: (obj: any, label: string, lang: string) => void; +declare const initAttrArrayI18n: (obj: any, labels: string[], lang: string) => void; +export { setI18n, getI18n, initI18n, initAttrI18n, initAttrArrayI18n }; diff --git a/dist/i18n.js b/dist/i18n.js new file mode 100644 index 0000000..dedda19 --- /dev/null +++ b/dist/i18n.js @@ -0,0 +1,121 @@ +System.register([], function(exports_1) { + var isEffective, isObject, isObjectOrArray, setI18n, getI18n, initI18n, initAttrI18n, initAttrArrayI18n; + return { + setters:[], + execute: function() { + isEffective = function (target) { + return target !== undefined && target !== null; + }; + isObject = function (target) { + return Object.prototype.toString.call(target) === '[object Object]'; + }; + isObjectOrArray = function (target) { + return Object.prototype.toString.call(target) === '[object Array]' || isObject(target); + }; + /** + * 写入panel多语言文本 + * @param obj :{} 字段所在对象 + * @param label : string 字段名字 + * @param value : string 值 + * @param lang : string 语言 + */ + setI18n = function (obj, label, value, lang) { + if (lang && isObject(obj)) { + if (!obj.i18n) { + obj.i18n = {}; + } + if (!obj.i18n[lang]) { + obj.i18n[lang] = {}; + } + obj.i18n[lang][label] = value; + } + }; + /** + * 获取panel多语言文本 + * @param obj : {}, 字段所属对象 + * @param label : string, 字段名字 + * @param lang : string, 语言 + */ + getI18n = function (obj, label, lang) { + if (lang && + isObject(obj) && + isObject(obj.i18n) && + isObject(obj.i18n[lang]) && + obj.i18n[lang].hasOwnProperty(label)) { + return obj.i18n[lang][label]; + } + return isEffective(obj[label]) ? obj[label] : ''; + }; + /** + * 初始化所有国际化字段 + * @param obj : {}, 字段所属根对象,一般传this.panel + * @param lang : string, 语言 + * @param depth : number, 对象递归的最深层级,默认4 + */ + initI18n = function (obj, lang, depth) { + if (depth === void 0) { depth = 4; } + if (!isObjectOrArray(obj) || !lang) { + return; + } + for (var key in obj) { + if (typeof obj.hasOwnProperty === 'function' && obj.hasOwnProperty(key)) { + if (key === 'i18n' && isObjectOrArray(obj[key])) { + if (isObjectOrArray(obj[key][lang])) { + for (var attr in obj[key][lang]) { + if (obj[key][lang].hasOwnProperty(attr)) { + obj[attr] = obj[key][lang][attr]; + } + } + } + } + else if (isObjectOrArray(obj[key])) { + if (depth > 0) { + initI18n(obj[key], lang, --depth); + ++depth; + } + } + } + } + }; + /** + * 初始化时判断字段如果未经国际化,则生成对应的国际化数据 + * @param obj 字段所属对象 + * @param label 字段名称 + * @param lang 语言 + */ + initAttrI18n = function (obj, label, lang) { + if (isObject(obj) && lang) { + if (!obj.hasOwnProperty('i18n')) { + obj.i18n = {}; + obj.i18n[lang] = {}; + obj.i18n[lang][label] = obj[label]; + } + else { + if (!isEffective(obj.i18n[lang])) { + obj.i18n[lang] = {}; + obj.i18n[lang][label] = obj[label]; + } + else { + if (!isEffective(obj.i18n[lang][label])) { + obj.i18n[lang][label] = obj[label]; + } + } + } + } + }; + initAttrArrayI18n = function (obj, labels, lang) { + if (Array.isArray(labels)) { + labels.forEach(function (label) { + initAttrI18n(obj, label, lang); + }); + } + }; + exports_1("setI18n", setI18n); + exports_1("getI18n", getI18n); + exports_1("initI18n", initI18n); + exports_1("initAttrI18n", initAttrI18n); + exports_1("initAttrArrayI18n", initAttrArrayI18n); + } + } +}); +//# sourceMappingURL=i18n.js.map \ No newline at end of file diff --git a/dist/i18n.js.map b/dist/i18n.js.map new file mode 100644 index 0000000..094ec0f --- /dev/null +++ b/dist/i18n.js.map @@ -0,0 +1 @@ +{"version":3,"file":"i18n.js","sourceRoot":"","sources":["i18n.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/dist/i18n.json b/dist/i18n.json new file mode 100644 index 0000000..c3178c6 --- /dev/null +++ b/dist/i18n.json @@ -0,0 +1,148 @@ +{ + "en-US": { + "textColors": "Text Colors", + "metricNames": "Metric Names", + "timeText": "Time Text", + "valueText": "Value Text", + "lines": "Lines", + "colorMappings": "Color Mappings", + "addCurrentValues": "Add Current Values", + "showMetricNames": "Show Metric Names", + "transitionCount": "Transition Count", + "distinctValuesCount": "Distinct Values Count", + "legendFontsize": "Legend Font size", + "sortBy": "Sort By", + "percentDecimals": "Percent Decimals", + "showTime": "Show Time", + "showCounts": "Show Counts", + "showPercent": "Show Percent", + "showTimeAxis": "Show Time Axis", + "rangeMappings": "Range Mappings", + "numericConversion": "Numeric Conversion", + "rowHeight": "Row Height", + "hoverTooltip": "Hover tooltip", + "expandfromquery": "Extended query", + "expandfromqueryInfo": + "This expands the query to include the time before the normal query range", + "seconds": "Seconds", + "writeLastValue": "Write Last Value", + "writeMetricNames": "Write Metric Names", + "writeAllValues": "Write All Values", + "nullValues": "Null Values", + "highlightOnHover": "Highlight on Hover", + "addaColorMapping": "Add a Color mapping", + "Tip_1": "Font size adjust with window size", + "Showtimeline": "Show timeline", + "Tip_2": "Override automatic decimal precision", + "Mappings": "Mappings" + }, + "zh-CN": { + "textColors": "文本颜色", + "valueText": "值", + "timeText": "时间", + "metricNames": "指标名称", + "lines": "线条", + "colorMappings": "颜色匹配", + "addCurrentValues": "添加当前值", + "showMetricNames": "显示指标名称", + "transitionCount": "转换计数", + "distinctValuesCount": "差异数据个数", + "legendFontsize": "图例字体大小", + "sortBy": "排序方式", + "percentDecimals": "百分比小数位数", + "showTime": "显示时间", + "showCounts": "显示个数", + "showPercent": "显示百分比", + "showTimeAxis": "显示时间轴", + "rangeMappings": "范围匹配", + "numericConversion": "数制转换", + "rowHeight": "行高", + "hoverTooltip": "悬浮提示", + "expandfromquery": "扩展查询", + "expandfromqueryInfo": "这将扩展查询以包括正常查询范围之前的时间", + "seconds": "秒", + "writeLastValue": "显示最后一个值", + "writeMetricNames": "显示指标名称", + "writeAllValues": "显示所有值", + "nullValues": "显示 null 值", + "highlightOnHover": "悬浮时高亮", + "addaColorMapping": "添加一条颜色匹配", + "Tip_1": "字体大小随窗口大小调整", + "Showtimeline": "显示时间轴", + "Tip_2": "覆盖自动十进制精度", + "Mappings": "映射" + }, + "zh-TW": { + "textColors": "文本顏色", + "valueText": "值", + "timeText": "時間", + "metricNames": "指標名稱", + "lines": "線條", + "colorMappings": "顏色匹配", + "addCurrentValues": "添加當前值", + "showMetricNames": "顯示指標名稱", + "transitionCount": "轉換計數", + "distinctValuesCount": "差異數據個數", + "legendFontsize": "圖例字體大小", + "sortBy": "排序方式", + "percentDecimals": "百分比小數位數", + "showTime": "顯示時間", + "showCounts": "顯示個數", + "showPercent": "顯示百分比", + "showTimeAxis": "顯示時間軸", + "rangeMappings": "範圍匹配", + "numericConversion": "數制轉換", + "rowHeight": "行高", + "hoverTooltip": "懸浮提示", + "expandfromquery": "擴展査詢", + "expandfromqueryInfo": "這將擴展査詢以包括正常查詢範圍之前的時間", + "seconds": "秒", + "writeLastValue": "顯示最後一個值", + "writeMetricNames": "顯示指標名稱", + "writeAllValues": "顯示所有值", + "nullValues": "顯示 null 值", + "highlightOnHover": "懸浮時高亮", + "addaColorMapping": "添加一條顏色匹配", + "Tip_1": "字體大小隨視窗大小調整", + "Showtimeline": "顯示時間軸", + "Tip_2": "覆蓋自動十進位精度", + "Mappings": "映射" + }, + "ja-JP": { + "metricNames": "Metric Names", + "valueText": "Value Text", + "timeText": "Time Text", + "textColors": "Text Colors", + "lines": "Lines", + "colorMappings": "Color Mappings", + "addCurrentValues": "Add Current Values", + "showMetricNames": "Show Metric Names", + "transitionCount": "Transition Count", + "distinctValuesCount": "Distinct Values Count", + "legendFontsize": "Legend Font size", + "sortBy": "Sort By", + "percentDecimals": "Percent Decimals", + "showTime": "Show Time", + "showCounts": "Show Counts", + "showPercent": "Show Percent", + "showTimeAxis": "Show Time Axis", + "rangeMappings": "Range Mappings", + "numericConversion": "Numeric Conversion", + "rowHeight": "Row Height", + "hoverTooltip": "Hover tooltip", + "expandfromquery": "Extended query", + "expandfromqueryInfo": + "This expands the query to include the time before the normal query range", + "seconds": "Seconds", + "writeLastValue": "Write Last Value", + "writeMetricNames": "Write Metric Names", + "writeAllValues": "Write All Values", + "nullValues": "Null Values", + "highlightOnHover": "Highlight on Hover", + "addaColorMapping": "Add a Color mapping", + "Tip_1": "Font size adjust with window size", + "Showtimeline": "Show timeline", + "Tip_2": "Override automatic decimal precision", + "Mappings": "Mappings" + } +} diff --git a/dist/i18n.ts b/dist/i18n.ts new file mode 100644 index 0000000..f92c3ee --- /dev/null +++ b/dist/i18n.ts @@ -0,0 +1,113 @@ +const isEffective = (target: any) => { + return target !== undefined && target !== null; +}; + +const isObject = (target: any) => + Object.prototype.toString.call(target) === '[object Object]'; + +const isObjectOrArray = (target: any) => { + return Object.prototype.toString.call(target) === '[object Array]' || isObject(target); +}; + +/** + * 写入panel多语言文本 + * @param obj :{} 字段所在对象 + * @param label : string 字段名字 + * @param value : string 值 + * @param lang : string 语言 + */ +const setI18n = (obj: any, label: string, value: any, lang: string) => { + if (lang && isObject(obj)) { + if (!obj.i18n) { + obj.i18n = {}; + } + if (!obj.i18n[lang]) { + obj.i18n[lang] = {}; + } + obj.i18n[lang][label] = value; + } +}; + +/** + * 获取panel多语言文本 + * @param obj : {}, 字段所属对象 + * @param label : string, 字段名字 + * @param lang : string, 语言 + */ +const getI18n = (obj: any, label: string, lang: string) => { + if ( + lang && + isObject(obj) && + isObject(obj.i18n) && + isObject(obj.i18n[lang]) && + obj.i18n[lang].hasOwnProperty(label) + ) { + return obj.i18n[lang][label]; + } + return isEffective(obj[label]) ? obj[label] : ''; +}; + +/** + * 初始化所有国际化字段 + * @param obj : {}, 字段所属根对象,一般传this.panel + * @param lang : string, 语言 + * @param depth : number, 对象递归的最深层级,默认4 + */ +const initI18n = (obj: any, lang: string, depth = 4) => { + if (!isObjectOrArray(obj) || !lang) { + return; + } + for (const key in obj) { + if (typeof obj.hasOwnProperty === 'function' && obj.hasOwnProperty(key)) { + if (key === 'i18n' && isObjectOrArray(obj[key])) { + if (isObjectOrArray(obj[key][lang])) { + for (const attr in obj[key][lang]) { + if (obj[key][lang].hasOwnProperty(attr)) { + obj[attr] = obj[key][lang][attr]; + } + } + } + } else if (isObjectOrArray(obj[key])) { + if (depth > 0) { + initI18n(obj[key], lang, --depth); + ++depth; + } + } + } + } +}; + +/** + * 初始化时判断字段如果未经国际化,则生成对应的国际化数据 + * @param obj 字段所属对象 + * @param label 字段名称 + * @param lang 语言 + */ +const initAttrI18n = (obj: any, label: string, lang: string) => { + if (isObject(obj) && lang) { + if (!obj.hasOwnProperty('i18n')) { + obj.i18n = {}; + obj.i18n[lang] = {}; + obj.i18n[lang][label] = obj[label]; + } else { + if (!isEffective(obj.i18n[lang])) { + obj.i18n[lang] = {}; + obj.i18n[lang][label] = obj[label]; + } else { + if (!isEffective(obj.i18n[lang][label])) { + obj.i18n[lang][label] = obj[label]; + } + } + } + } +}; + +const initAttrArrayI18n = (obj: any, labels: string[], lang: string) => { + if (Array.isArray(labels)) { + labels.forEach((label: string) => { + initAttrI18n(obj, label, lang); + }); + } +}; + +export {setI18n, getI18n, initI18n, initAttrI18n, initAttrArrayI18n}; diff --git a/dist/module.d.ts b/dist/module.d.ts index 0db737d..5578c59 100644 --- a/dist/module.d.ts +++ b/dist/module.d.ts @@ -41,7 +41,12 @@ declare class DiscretePanelCtrl extends CanvasPanelCtrl { expandFromQueryS: number; legendSortBy: string; units: string; + adjFontSize: boolean; + FontSize: string; + FontSizeValue: string; + nullValue: boolean; }; + translate: any; data: any; externalPT: boolean; isTimeline: boolean; @@ -51,9 +56,15 @@ declare class DiscretePanelCtrl extends CanvasPanelCtrl { _colorsPaleteCash: any; unitFormats: any; formatter: any; + fontSizes: any; + fontCalc: any; _renderDimensions: any; _selectionMatrix: Array>; + noPoints: boolean; + timeSrv: any; constructor($scope: any, $injector: any); + replaceCodes(val: any): any; + onDataSnapshotLoad(snapshotData: any): void; onPanelInitialized(): void; onDataError(err: any): void; onInitEditMode(): void; @@ -62,9 +73,12 @@ declare class DiscretePanelCtrl extends CanvasPanelCtrl { clearTT(): void; formatValue(val: any): any; getColor(val: any): any; + checkValidValueMapping(val: any): boolean; + mappingColorsPaleteCash(val: any, c: any): void; randomColor(): string; applyPanelTimeOverrides(): void; onDataReceived(dataList: any): void; + exportReportCsv(): void; removeColorMap(map: any): void; updateColorInfo(): void; addColorMap(what: any): void; @@ -73,6 +87,7 @@ declare class DiscretePanelCtrl extends CanvasPanelCtrl { removeRangeMap(rangeMap: any): void; addRangeMap(): void; onConfigChanged(update?: boolean): void; + getFontSize(fontSize: any): any; getLegendDisplay(info: any, metric: any): any; showTooltip(evt: any, point: any, isExternal: any): void; onGraphHover(evt: any, showTT: any, isExternal: any): void; @@ -87,6 +102,13 @@ declare class DiscretePanelCtrl extends CanvasPanelCtrl { _renderLabels(): void; _renderSelection(): void; _renderTimeAxis(): void; + timeFormatFun(date: Date, timeFormat: any): any; _renderCrosshair(): void; + handleValueTextChange(valueMap: any): void; + handleRangeTextChange(rangeMap: any): void; + handleLegnedFontSizeChange(): void; + handleFontSizeChange(): void; + formatDatas(): any[]; + initI18n(): void; } export { DiscretePanelCtrl as PanelCtrl }; diff --git a/dist/module.js b/dist/module.js index 766b210..140a5d7 100644 --- a/dist/module.js +++ b/dist/module.js @@ -1,12 +1,11 @@ -/// -System.register(['./canvas-metric', './distinct-points', 'lodash', 'jquery', 'moment', 'app/core/utils/kbn', 'app/core/app_events'], function(exports_1) { +System.register(['./canvas-metric', './distinct-points', 'lodash', 'jquery', 'moment', 'app/core/utils/kbn', 'app/core/app_events', 'app/core/utils/fontsize', 'app/plugins/sdk', './i18n'], function(exports_1) { var __extends = (this && this.__extends) || function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; function __() { this.constructor = d; } d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __()); }; - var canvas_metric_1, distinct_points_1, lodash_1, jquery_1, moment_1, kbn_1, app_events_1; - var grafanaColors, DiscretePanelCtrl; + var canvas_metric_1, distinct_points_1, lodash_1, jquery_1, moment_1, kbn_1, app_events_1, fontsize_1, sdk_1, i18n_1; + var grafanaColors, colorSwitch, DiscretePanelCtrl; return { setters:[ function (canvas_metric_1_1) { @@ -29,8 +28,21 @@ System.register(['./canvas-metric', './distinct-points', 'lodash', 'jquery', 'mo }, function (app_events_1_1) { app_events_1 = app_events_1_1; + }, + function (fontsize_1_1) { + fontsize_1 = fontsize_1_1; + }, + function (sdk_1_1) { + sdk_1 = sdk_1_1; + }, + function (i18n_1_1) { + i18n_1 = i18n_1_1; }], execute: function() { + sdk_1.loadPluginCss({ + dark: 'plugins/natel-discrete-panel/css/discrete.dark.css', + light: 'plugins/natel-discrete-panel/css/discrete.light.css', + }); grafanaColors = [ '#7EB26D', '#EAB839', @@ -90,13 +102,14 @@ System.register(['./canvas-metric', './distinct-points', 'lodash', 'jquery', 'mo '#DEDAF7', ]; // copied from public/app/core/utils/colors.ts because of changes in grafana 4.6.0 //(https://github.com/grafana/grafana/blob/master/PLUGIN_DEV.md) + colorSwitch = []; DiscretePanelCtrl = (function (_super) { __extends(DiscretePanelCtrl, _super); function DiscretePanelCtrl($scope, $injector) { _super.call(this, $scope, $injector); this.defaults = { display: 'timeline', - rowHeight: 50, + rowHeight: 100, valueMaps: [{ value: 'null', op: '=', text: 'N/A' }], rangeMaps: [{ from: 'null', to: 'null', text: 'N/A' }], colorMaps: [{ text: 'N/A', color: '#CCC' }], @@ -107,7 +120,7 @@ System.register(['./canvas-metric', './distinct-points', 'lodash', 'jquery', 'mo backgroundColor: 'rgba(128,128,128,0.1)', lineColor: 'rgba(0,0,0,0.1)', textSize: 24, - textSizeTime: 12, + textSizeTime: 14, extendLastValue: true, writeLastValue: true, writeAllValues: false, @@ -121,6 +134,11 @@ System.register(['./canvas-metric', './distinct-points', 'lodash', 'jquery', 'mo expandFromQueryS: 0, legendSortBy: '-ms', units: 'short', + adjFontSize: true, + FontSize: '70%', + FontSizeValue: '140%', + // FontSizeTime: '0.8vw', + nullValue: false, }; this.data = null; this.externalPT = false; @@ -131,18 +149,141 @@ System.register(['./canvas-metric', './distinct-points', 'lodash', 'jquery', 'mo this._colorsPaleteCash = null; this.unitFormats = null; // only used for editor this.formatter = null; + this.fontSizes = null; + this.fontCalc = null; this._renderDimensions = {}; this._selectionMatrix = []; + this.noPoints = false; + // console.log(languageList); // defaults configs + this.translate = $injector.get('$translate'); lodash_1.default.defaultsDeep(this.panel, this.defaults); this.panel.display = 'timeline'; // Only supported version now - this.events.on('init-edit-mode', this.onInitEditMode.bind(this)); - this.events.on('render', this.onRender.bind(this)); - this.events.on('data-received', this.onDataReceived.bind(this)); - this.events.on('panel-initialized', this.onPanelInitialized.bind(this)); - this.events.on('data-error', this.onDataError.bind(this)); - this.events.on('refresh', this.onRefresh.bind(this)); + // li.na modify start at 2019.4.16 + this.fontCalc = [ + { + text: '60%', + value: '60%', + vw: '0.6vw', + px: '12px', + }, + { + text: '70%', + value: '70%', + vw: '0.8vw', + px: '15px', + }, + { + text: '80%', + value: '80%', + vw: '1vw', + px: '19px', + }, + { + text: '100%', + value: '100%', + vw: '1.4vw', + px: '27px', + }, + { + text: '110%', + value: '110%', + vw: '1.6vw', + px: '31px', + }, + { + text: '120%', + value: '120%', + vw: '1.8vw', + px: '35px', + }, + { + text: '130%', + value: '130%', + vw: '2vw', + px: '38px', + }, + { + text: '140%', + value: '140%', + vw: '2.2vw', + px: '42px', + }, + { + text: '150%', + value: '150%', + vw: '2.4vw', + px: '46px', + }, + { + text: '160%', + value: '160%', + vw: '2.6vw', + px: '50px', + }, + { + text: '180%', + value: '180%', + vw: '3vw', + px: '58px', + }, + { + text: '200%', + value: '200%', + vw: '3.4vw', + px: '65px', + }, + { + text: '220%', + value: '220%', + vw: '3.8vw', + px: '73px', + }, + { + text: '230%', + value: '230%', + vw: '4vw', + px: '77px', + }, + ]; + // li.na modify end at 2019.4.16 + if (this.scope.$$listeners.isWisePaas) { + this.events.on('init-edit-mode', this.onInitEditMode.bind(this)); + this.events.on('render', this.onRender.bind(this)); + this.events.on('data-received', this.onDataReceived.bind(this)); + this.events.on('panel-initialized', this.onPanelInitialized.bind(this)); + this.events.on('data-error', this.onDataError.bind(this)); + this.events.on('refresh', this.onRefresh.bind(this)); + this.events.on('data-snapshot-load', this.onDataSnapshotLoad.bind(this)); + } + this.timeSrv = $scope.ctrl.timeSrv; } + // Shaun add 20220506 replace val with Dashboard Variables + DiscretePanelCtrl.prototype.replaceCodes = function (val) { + var templateSrv = this.templateSrv; + var mapcode = { + group: '', + Value: '', + Text: '', + }; + // console.log(this.data[0].name); + var gp = this.data[0].name.replace(/\d/g, ''); // get group name + // console.log(templateSrv.index['code']); + if (templateSrv.index['code']) { + for (var j = 0; j < templateSrv.index['code'].options.length; j++) { + _a = templateSrv.index['code'].options[j].text.split('|'), mapcode.group = _a[0], mapcode.Value = _a[1], mapcode.Text = _a[2]; + // console.log(gp + val, mapcode.group + mapcode.Value); + if (gp + val === mapcode.group + mapcode.Value) { + val = mapcode.Text; + } + } + } + return val; + var _a; + }; + DiscretePanelCtrl.prototype.onDataSnapshotLoad = function (snapshotData) { + this.onDataReceived(snapshotData); + }; DiscretePanelCtrl.prototype.onPanelInitialized = function () { this.updateColorInfo(); this.onConfigChanged(); @@ -151,18 +292,28 @@ System.register(['./canvas-metric', './distinct-points', 'lodash', 'jquery', 'mo console.log('onDataError', err); }; DiscretePanelCtrl.prototype.onInitEditMode = function () { + var _this = this; this.unitFormats = kbn_1.default.getUnitFormats(); - this.addEditorTab('Options', 'public/plugins/natel-discrete-panel/partials/editor.options.html', 1); - this.addEditorTab('Legend', 'public/plugins/natel-discrete-panel/partials/editor.legend.html', 3); - this.addEditorTab('Colors', 'public/plugins/natel-discrete-panel/partials/editor.colors.html', 4); - this.addEditorTab('Mappings', 'public/plugins/natel-discrete-panel/partials/editor.mappings.html', 5); + var translateArr = [ + 'public.options', + 'public.legend', + 'public.colors', + 'natel-discrete-panel.Mappings', + ]; + this.translate(translateArr).then(function (translate) { + _this.addEditorTab(translate['public.options'], 'public/plugins/natel-discrete-panel/partials/editor.options.html', 2); + _this.addEditorTab(translate['public.legend'], 'public/plugins/natel-discrete-panel/partials/editor.legend.html', 3); + _this.addEditorTab(translate['public.colors'], 'public/plugins/natel-discrete-panel/partials/editor.colors.html', 4); + _this.addEditorTab(translate['natel-discrete-panel.Mappings'], 'public/plugins/natel-discrete-panel/partials/editor.mappings.html', 5); + }); this.editorTabIndex = 1; - this.refresh(); }; DiscretePanelCtrl.prototype.onRender = function () { + this.initI18n(); if (this.data == null || !this.context) { return; } + this.data = this.formatDatas(); this._updateRenderDimensions(); this._updateSelectionMatrix(); this._updateCanvasSize(); @@ -189,20 +340,21 @@ System.register(['./canvas-metric', './distinct-points', 'lodash', 'jquery', 'mo this.$tooltip.detach(); }; DiscretePanelCtrl.prototype.formatValue = function (val) { + colorSwitch.length = 0; if (lodash_1.default.isNumber(val)) { if (this.panel.rangeMaps) { for (var i = 0; i < this.panel.rangeMaps.length; i++) { - var map = this.panel.rangeMaps[i]; + var map_1 = this.panel.rangeMaps[i]; // value/number to range mapping - var from = parseFloat(map.from); - var to = parseFloat(map.to); + var from = parseFloat(map_1.from); + var to = parseFloat(map_1.to); if (to >= val && from <= val) { - return map.text; + return map_1.text; } } } if (this.formatter) { - return this.formatter(val, this.panel.decimals); + val = this.formatter(val, this.panel.decimals); } } var isNull = lodash_1.default.isNil(val); @@ -210,6 +362,10 @@ System.register(['./canvas-metric', './distinct-points', 'lodash', 'jquery', 'mo val = val.toString(); // convert everything to a string } for (var i = 0; i < this.panel.valueMaps.length; i++) { + var mapJson = { + colorValue: '', + colorText: '', + }; var map = this.panel.valueMaps[i]; // special null case if (map.value === 'null') { @@ -219,6 +375,9 @@ System.register(['./canvas-metric', './distinct-points', 'lodash', 'jquery', 'mo continue; } if (val === map.value) { + mapJson.colorValue = map.value; + mapJson.colorText = map.text; + colorSwitch.push(mapJson); return map.text; } } @@ -231,13 +390,73 @@ System.register(['./canvas-metric', './distinct-points', 'lodash', 'jquery', 'mo if (lodash_1.default.has(this.colorMap, val)) { return this.colorMap[val]; } + // li.na add start at 2019.6.19 if (this._colorsPaleteCash[val] === undefined) { + // let c = grafanaColors[this._colorsPaleteCash.length % grafanaColors.length]; + // if (colorSwitch.length === 0) { + // this._colorsPaleteCash[val] = c; + // } else { + // for (let i = 0; i < colorSwitch.length; i++) { + // if (colorSwitch[i].colorText === val) { + // let colorSwitchValue = this._colorsPaleteCash[colorSwitch[i].colorValue]; + // this._colorsPaleteCash[val] = colorSwitchValue; + // } else { + // this._colorsPaleteCash[val] = c; + // } + // } + // } + // this._colorsPaleteCash.length++; var c = grafanaColors[this._colorsPaleteCash.length % grafanaColors.length]; - this._colorsPaleteCash[val] = c; + if (colorSwitch.length === 0) { + if (this.checkValidValueMapping(val)) { + this.mappingColorsPaleteCash(val, c); + } + else { + this._colorsPaleteCash[val] = c; + } + } + else { + this.mappingColorsPaleteCash(val, c); + } + // li.na add end at 2019.6.19 this._colorsPaleteCash.length++; } return this._colorsPaleteCash[val]; }; + //li.na add at 2019.7.19 + // find valid valueMapping + DiscretePanelCtrl.prototype.checkValidValueMapping = function (val) { + for (var i = 0; i < this.panel.valueMaps.length; i++) { + if (this.panel.valueMaps[i].text === val && + this.panel.valueMaps[i].text && + this.panel.valueMaps[i].text !== 'undefined') { + return true; + } + } + return false; + }; + // mappingColor + DiscretePanelCtrl.prototype.mappingColorsPaleteCash = function (val, c) { + for (var i = 0; i < this.panel.valueMaps.length; i++) { + if (this.panel.valueMaps[i].value === '' || + this.panel.valueMaps[i].value === 'null') { + this._colorsPaleteCash[val] = c; + continue; + } + if (this.panel.valueMaps[i].text === val) { + if (this.colorMap.hasOwnProperty(this.panel.valueMaps[i].value)) { + this._colorsPaleteCash[val] = this.colorMap[this.panel.valueMaps[i].value]; + } + else { + this._colorsPaleteCash[val] = this._colorsPaleteCash[this.panel.valueMaps[i].value]; + if (this._colorsPaleteCash[val] === 'undefined') { + this._colorsPaleteCash[val] = c; + } + } + } + } + }; + //li.na add end DiscretePanelCtrl.prototype.randomColor = function () { var letters = 'ABCDE'.split(''); var color = '#'; @@ -256,39 +475,30 @@ System.register(['./canvas-metric', './distinct-points', 'lodash', 'jquery', 'mo } }; DiscretePanelCtrl.prototype.onDataReceived = function (dataList) { - var _this = this; - jquery_1.default(this.canvas).css('cursor', 'pointer'); - // console.log('GOT', dataList); - var data = []; - lodash_1.default.forEach(dataList, function (metric) { - if ('table' === metric.type) { - if ('time' !== metric.columns[0].type) { - throw new Error('Expected a time column from the table format'); - } - var last = null; - for (var i = 1; i < metric.columns.length; i++) { - var res = new distinct_points_1.DistinctPoints(metric.columns[i].text); - for (var j = 0; j < metric.rows.length; j++) { - var row = metric.rows[j]; - res.add(row[0], _this.formatValue(row[i])); - } - res.finish(_this); - data.push(res); + if (Array.isArray(dataList) && dataList.length === 0) { + this.noPoints = true; + } + else { + var datas = []; + lodash_1.default.forEach(dataList, function (metric) { + if (Array.isArray(metric.datapoints)) { + datas = datas.concat(metric.datapoints); } + }); + if (datas.length === 0) { + this.noPoints = true; } - else { - var res = new distinct_points_1.DistinctPoints(metric.target); - lodash_1.default.forEach(metric.datapoints, function (point) { - res.add(point[1], _this.formatValue(point[0])); - }); - res.finish(_this); - data.push(res); - } - }); - this.data = data; + } + jquery_1.default(this.canvas).css('cursor', 'pointer'); + // console.log('GOT', dataList); + this.dataList = dataList; + this.data = this.formatDatas(); this.onRender(); //console.log( 'data', dataList, this.data); }; + DiscretePanelCtrl.prototype.exportReportCsv = function () { + this.panel.exportReportCsv(this.dataList); + }; DiscretePanelCtrl.prototype.removeColorMap = function (map) { var index = lodash_1.default.indexOf(this.panel.colorMaps, map); this.panel.colorMaps.splice(index, 1); @@ -314,7 +524,20 @@ System.register(['./canvas-metric', './distinct-points', 'lodash', 'jquery', 'mo if (metric.legendInfo) { lodash_1.default.forEach(metric.legendInfo, function (info) { if (!lodash_1.default.has(_this.colorMap, info.val)) { - var v = { text: info.val, color: _this.getColor(info.val) }; + var v; + if (colorSwitch.length === 0) { + v = { text: info.val, color: _this.getColor(info.val) }; + } + else { + for (var i = 0; i < colorSwitch.length; i++) { + if (colorSwitch[i].colorText === info.val) { + v = { text: info.val, color: _this.getColor(colorSwitch[i].colorValue) }; + } + else { + v = { text: info.val, color: _this.getColor(info.val) }; + } + } + } _this.panel.colorMaps.push(v); _this.colorMap[info.val] = v; } @@ -330,7 +553,8 @@ System.register(['./canvas-metric', './distinct-points', 'lodash', 'jquery', 'mo DiscretePanelCtrl.prototype.removeValueMap = function (map) { var index = lodash_1.default.indexOf(this.panel.valueMaps, map); this.panel.valueMaps.splice(index, 1); - this.render(); + // li.na modify start at 2019.7.10 + this.refresh(); }; DiscretePanelCtrl.prototype.addValueMap = function () { this.panel.valueMaps.push({ value: '', op: '=', text: '' }); @@ -358,8 +582,13 @@ System.register(['./canvas-metric', './distinct-points', 'lodash', 'jquery', 'mo this.render(); } }; + DiscretePanelCtrl.prototype.getFontSize = function (fontSize) { + return fontsize_1.default.getValue(this.panel.adjFontSize, fontSize); + }; DiscretePanelCtrl.prototype.getLegendDisplay = function (info, metric) { var disp = info.val; + // Shaun add 20220506 replace disp with Dashboard Variables + disp = this.replaceCodes(disp); if (this.panel.showLegendPercent || this.panel.showLegendCounts || this.panel.showLegendTime) { @@ -406,6 +635,8 @@ System.register(['./canvas-metric', './distinct-points', 'lodash', 'jquery', 'mo var to = point.start + point.ms; var time = point.ms; var val = point.val; + // Shaun add 20220506 replace val with Dashboard Variables + val = this.replaceCodes(val); if (this.mouse.down != null) { from = Math.min(this.mouse.down.ts, this.mouse.position.ts); to = Math.max(this.mouse.down.ts, this.mouse.position.ts); @@ -413,10 +644,13 @@ System.register(['./canvas-metric', './distinct-points', 'lodash', 'jquery', 'mo val = 'Zoom To:'; } var body = '
' + val + '
'; + var formatTimeType = 'YYYY-MM-DD HH:mm:ss'; + var fromData = this.timeFormatFun(from, formatTimeType); + var toData = this.timeFormatFun(to, formatTimeType); body += '
'; - body += this.dashboard.formatDate(moment_1.default(from)) + '
'; + body += fromData + '
'; body += 'to
'; - body += this.dashboard.formatDate(moment_1.default(to)) + '

'; + body += toData + '

'; body += moment_1.default.duration(time).humanize() + '
'; body += '
'; var pageX = 0; @@ -444,7 +678,8 @@ System.register(['./canvas-metric', './distinct-points', 'lodash', 'jquery', 'mo this.externalPT = false; if (this.data && this.data.length) { var hover = null; - var j = Math.floor(this.mouse.position.y / this.panel.rowHeight); + var panelHeight = jquery_1.default('.panel-container').height(); + var j = Math.floor(this.mouse.position.y / (this.panel.rowHeight * panelHeight * 0.001)); if (j < 0) { j = 0; } @@ -511,9 +746,31 @@ System.register(['./canvas-metric', './distinct-points', 'lodash', 'jquery', 'mo DiscretePanelCtrl.prototype._updateRenderDimensions = function () { var _this = this; this._renderDimensions = {}; + var domObj = jquery_1.default('.panel-container'); + if (domObj.length > 0) { + var maxHeight; + for (var i = 0; i < domObj.length; i++) { + if (i === 0) { + var a = domObj[i]; + maxHeight = a.getBoundingClientRect().height; + } + else { + var b = domObj[i]; + var domHeight = b.getBoundingClientRect().height; + if (domHeight > maxHeight) { + maxHeight = domHeight; + } + } + } + } + var panelHeight = jquery_1.default('.panel-container').height(); + if (panelHeight < maxHeight) { + panelHeight = maxHeight; + } var rect = (this._renderDimensions.rect = this.wrap.getBoundingClientRect()); var rows = (this._renderDimensions.rows = this.data.length); - var rowHeight = (this._renderDimensions.rowHeight = this.panel.rowHeight); + var rowHeight = (this._renderDimensions.rowHeight = + this.panel.rowHeight * panelHeight * 0.001); var rowsHeight = (this._renderDimensions.rowsHeight = rowHeight * rows); var timeHeight = this.panel.showTimeAxis ? 14 + this.panel.textSizeTime : 0; var height = (this._renderDimensions.height = rowsHeight + timeHeight); @@ -526,8 +783,8 @@ System.register(['./canvas-metric', './distinct-points', 'lodash', 'jquery', 'mo if (_this.isTimeline) { var lastBS = 0; var point = metric.changes[0]; - for (var i = 0; i < metric.changes.length; i++) { - point = metric.changes[i]; + for (var i_1 = 0; i_1 < metric.changes.length; i_1++) { + point = metric.changes[i_1]; if (point.start <= _this.range.to) { var xt = Math.max(point.start - _this.range.from, 0); var x = xt / elapsed * width; @@ -538,8 +795,8 @@ System.register(['./canvas-metric', './distinct-points', 'lodash', 'jquery', 'mo if (_this.isStacked) { var point = null; var start = _this.range.from; - for (var i = 0; i < metric.legendInfo.length; i++) { - point = metric.legendInfo[i]; + for (var i_2 = 0; i_2 < metric.legendInfo.length; i_2++) { + point = metric.legendInfo[i_2]; var xt = Math.max(start - _this.range.from, 0); var x = xt / elapsed * width; positions.push(x); @@ -667,7 +924,10 @@ System.register(['./canvas-metric', './distinct-points', 'lodash', 'jquery', 'mo var ctx = this.context; ctx.lineWidth = 1; ctx.textBaseline = 'middle'; - ctx.font = this.panel.textSize + 'px "Open Sans", Helvetica, Arial, sans-serif'; + // ctx.font = this.panel.textSize + 'px "Open Sans", Helvetica, Arial, sans-serif'; + ctx.font = + this.getFontSize(this.panel.FontSizeValue) + + ' "Open Sans", Helvetica, Arial, sans-serif'; var offset = 2; var rowHeight = this._renderDimensions.rowHeight; lodash_1.default.forEach(this.data, function (metric, i) { @@ -685,7 +945,8 @@ System.register(['./canvas-metric', './distinct-points', 'lodash', 'jquery', 'mo for (var j = 0; j < positions.length; j++) { if (positions[j] <= _this.mouse.position.x) { if (j >= positions.length - 1 || positions[j + 1] >= _this.mouse.position.x) { - var val = _this._getVal(i, j); + //Shaun modify 20220506 replace val with Dashboard Variables + var val = _this.replaceCodes(_this._getVal(i, j)); ctx.fillStyle = _this.panel.valueTextColor; ctx.textAlign = 'left'; hoverTextStart = positions[j] + offset; @@ -708,7 +969,7 @@ System.register(['./canvas-metric', './distinct-points', 'lodash', 'jquery', 'mo minTextSpot = offset + ctx.measureText(metric.name).width + 2; } } - if (_this.panel.writeLastValue) { + if (_this.panel.writeLastValue && positions.length > 0) { var val = _this._getVal(i, positions.length - 1); ctx.fillStyle = _this.panel.valueTextColor; ctx.textAlign = 'right'; @@ -765,20 +1026,23 @@ System.register(['./canvas-metric', './distinct-points', 'lodash', 'jquery', 'mo ctx.strokeRect(xmin, 0, xmax - xmin, height); }; DiscretePanelCtrl.prototype._renderTimeAxis = function () { - if (!this.panel.showTimeAxis) { + if (!this.panel.showTimeAxis || this.noPoints) { return; } + var panelHeight = jquery_1.default('.panel-container').height(); var ctx = this.context; var rows = this.data.length; - var rowHeight = this.panel.rowHeight; + var rowHeight = this.panel.rowHeight * panelHeight * 0.001; var height = this._renderDimensions.height; var width = this._renderDimensions.width; var top = this._renderDimensions.rowsHeight; var headerColumnIndent = 0; // header inset (zero for now) - ctx.font = this.panel.textSizeTime + 'px "Open Sans", Helvetica, Arial, sans-serif'; - ctx.fillStyle = this.panel.timeTextColor; + ctx.font = this.panel.textSizeTime + ' "Open Sans", Helvetica, Arial, sans-serif'; + // ctx.fillStyle = this.panel.timeTextColor; + ctx.fillStyle = jquery_1.default('.discrete-Theme').css('color'); ctx.textAlign = 'left'; - ctx.strokeStyle = this.panel.timeTextColor; + // ctx.strokeStyle = this.panel.timeTextColor; + ctx.strokeStyle = jquery_1.default('.discrete-Theme').css('color'); ctx.textBaseline = 'top'; ctx.setLineDash([7, 5]); // dashes are 5px and spaces are 3px ctx.lineDashOffset = 0; @@ -791,7 +1055,7 @@ System.register(['./canvas-metric', './distinct-points', 'lodash', 'jquery', 'mo var pixelStep = timeResolution / (max - min) * width; var nextPointInTime = this.roundDate(min, timeResolution) + timeResolution; var xPos = headerColumnIndent + (nextPointInTime - min) / (max - min) * width; - var timeFormat = this.time_format(max - min, timeResolution / 1000); + var timeFormat = this.timeSrv.graphTimeFormat(timeResolution / 1000, min, max); while (nextPointInTime < max) { // draw ticks ctx.beginPath(); @@ -801,13 +1065,21 @@ System.register(['./canvas-metric', './distinct-points', 'lodash', 'jquery', 'mo ctx.stroke(); // draw time label var date = new Date(nextPointInTime); - var dateStr = this.formatDate(date, timeFormat); + var dateStr = this.timeFormatFun(date, timeFormat); var xOffset = ctx.measureText(dateStr).width / 2; ctx.fillText(dateStr, xPos - xOffset, top + 10); nextPointInTime += timeResolution; xPos += pixelStep; } }; + DiscretePanelCtrl.prototype.timeFormatFun = function (date, timeFormat) { + var dateTimeFormat = this.timeSrv.dateTimeFormatFun(); + var dashboardTimeZone = this.dashboard.getTimezone(); + return dateTimeFormat(date.valueOf(), { + format: timeFormat, + timeZone: dashboardTimeZone, + }); + }; DiscretePanelCtrl.prototype._renderCrosshair = function () { if (this.mouse.down != null) { return; @@ -818,9 +1090,10 @@ System.register(['./canvas-metric', './distinct-points', 'lodash', 'jquery', 'mo if (!this.isTimeline) { return; } + var panelHeight = jquery_1.default('.panel-container').height(); var ctx = this.context; var rows = this.data.length; - var rowHeight = this.panel.rowHeight; + var rowHeight = this.panel.rowHeight * panelHeight * 0.001; var height = this._renderDimensions.height; ctx.beginPath(); ctx.moveTo(this.mouse.position.x, 0); @@ -838,6 +1111,67 @@ System.register(['./canvas-metric', './distinct-points', 'lodash', 'jquery', 'mo ctx.lineWidth = 1; } }; + DiscretePanelCtrl.prototype.handleValueTextChange = function (valueMap) { + i18n_1.setI18n(valueMap, 'text', valueMap.text, this.dashboard.panelLanguage); + }; + DiscretePanelCtrl.prototype.handleRangeTextChange = function (rangeMap) { + i18n_1.setI18n(rangeMap, 'text', rangeMap.text, this.dashboard.panelLanguage); + }; + DiscretePanelCtrl.prototype.handleLegnedFontSizeChange = function () { + i18n_1.setI18n(this.panel, 'FontSize', this.panel.FontSize, this.dashboard.panelLanguage); + }; + DiscretePanelCtrl.prototype.handleFontSizeChange = function () { + i18n_1.setI18n(this.panel, 'FontSizeValue', this.panel.FontSizeValue, this.dashboard.panelLanguage); + }; + DiscretePanelCtrl.prototype.formatDatas = function () { + var _this = this; + var data = []; + lodash_1.default.forEach(this.dataList, function (metric) { + if ('table' === metric.type) { + if ('time' !== metric.columns[0].type) { + throw new Error('Expected a time column from the table format'); + } + var last = null; + for (var i = 1; i < metric.columns.length; i++) { + var res = new distinct_points_1.DistinctPoints(metric.columns[i].text); + for (var j = 0; j < metric.rows.length; j++) { + var row = metric.rows[j]; + res.add(row[0], _this.formatValue(row[i])); + } + res.finish(_this); + data.push(res); + } + } + else { + // ��ijһʱ���ϵ� + if (_this.panel.nullValue) { + var length = metric.datapoints.length; + metric.datapoints[length - 1][0] = null; + } + var res = new distinct_points_1.DistinctPoints(metric.target); + lodash_1.default.forEach(metric.datapoints, function (point) { + res.add(point[1], _this.formatValue(point[0])); + }); + res.finish(_this); + data.push(res); + } + }); + return data; + }; + DiscretePanelCtrl.prototype.initI18n = function () { + if (this.dashboard.panelLanguage) { + for (var _i = 0, _a = this.panel.valueMaps; _i < _a.length; _i++) { + var valueMap = _a[_i]; + valueMap.text = i18n_1.getI18n(valueMap, 'text', this.dashboard.panelLanguage); + } + for (var _b = 0, _c = this.panel.rangeMaps; _b < _c.length; _b++) { + var rangeMap = _c[_b]; + rangeMap.text = i18n_1.getI18n(rangeMap, 'text', this.dashboard.panelLanguage); + } + this.panel.FontSize = i18n_1.getI18n(this.panel, 'FontSize', this.dashboard.panelLanguage); + this.panel.FontSizeValue = i18n_1.getI18n(this.panel, 'FontSizeValue', this.dashboard.panelLanguage); + } + }; DiscretePanelCtrl.templateUrl = 'partials/module.html'; DiscretePanelCtrl.scrollable = true; return DiscretePanelCtrl; diff --git a/dist/module.js.map b/dist/module.js.map index 42c5dd8..c1a8cdb 100644 --- a/dist/module.js.map +++ b/dist/module.js.map @@ -1 +1 @@ -{"version":3,"file":"module.js","sourceRoot":"","sources":["module.ts"],"names":["DiscretePanelCtrl","DiscretePanelCtrl.constructor","DiscretePanelCtrl.onPanelInitialized","DiscretePanelCtrl.onDataError","DiscretePanelCtrl.onInitEditMode","DiscretePanelCtrl.onRender","DiscretePanelCtrl.showLegandTooltip","DiscretePanelCtrl.clearTT","DiscretePanelCtrl.formatValue","DiscretePanelCtrl.getColor","DiscretePanelCtrl.randomColor","DiscretePanelCtrl.applyPanelTimeOverrides","DiscretePanelCtrl.onDataReceived","DiscretePanelCtrl.removeColorMap","DiscretePanelCtrl.updateColorInfo","DiscretePanelCtrl.addColorMap","DiscretePanelCtrl.removeValueMap","DiscretePanelCtrl.addValueMap","DiscretePanelCtrl.removeRangeMap","DiscretePanelCtrl.addRangeMap","DiscretePanelCtrl.onConfigChanged","DiscretePanelCtrl.getLegendDisplay","DiscretePanelCtrl.showTooltip","DiscretePanelCtrl.onGraphHover","DiscretePanelCtrl.onMouseClicked","DiscretePanelCtrl.onMouseSelectedRange","DiscretePanelCtrl.clear","DiscretePanelCtrl._updateRenderDimensions","DiscretePanelCtrl._updateSelectionMatrix","DiscretePanelCtrl._updateSelectionMatrix.getPredicate","DiscretePanelCtrl._updateCanvasSize","DiscretePanelCtrl._getVal","DiscretePanelCtrl._renderRects","DiscretePanelCtrl._renderLabels","DiscretePanelCtrl._renderSelection","DiscretePanelCtrl._renderTimeAxis","DiscretePanelCtrl._renderCrosshair"],"mappings":"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CA,CAACA,CAACA,MAAMA,IAAIA,CAACA,gBAACA,CAACA,QAAQA,CAACA,GAAGA,CAACA,CAACA,CAACA,CAACA;wBAChCA,GAAGA,GAAGA,GAAGA,CAACA,QAAQA,EAAEA,CAACA,CAACA,iCAAiCA;oBACzDA,CAACA;oBAEDA,GAAGA,CAACA,CAACA,GAAGA,CAACA,CAACA,GAAGA,CAACA,EAAEA,CAACA,GAAGA,IAAIA,CAACA,KAAKA,CAACA,SAASA,CAACA,MAAMA,EAAEA,CAACA,EAAEA,EAAEA,CAACA;wBACrDA,IAAIA,GAAGA,GAAGA,IAAIA,CAACA,KAAKA,CAACA,SAASA,CAACA,CAACA,CAACA,CAACA;wBAClCA,oBAAoBA;wBACpBA,EAAEA,CAACA,CAACA,GAAGA,CAACA,KAAKA,KAAKA,MAAMA,CAACA,CAACA,CAACA;4BACzBA,EAAEA,CAACA,CAACA,MAAMA,CAACA,CAACA,CAACA;gCACXA,MAAMA,CAACA,GAAGA,CAACA,IAAIA,CAACA;4BAClBA,CAACA;4BACDA,QAAQA,CAACA;wBACXA,CAACA;wBAEDA,EAAEA,CAACA,CAACA,GAAGA,KAAKA,GAAGA,CAACA,KAAKA,CAACA,CAACA,CAACA;4BACtBA,MAAMA,CAACA,GAAGA,CAACA,IAAIA,CAACA;wBAClBA,CAACA;oBACHA,CAACA;oBAEDA,EAAEA,CAACA,CAACA,MAAMA,CAACA,CAACA,CAACA;wBACXA,MAAMA,CAACA,MAAMA,CAACA;oBAChBA,CAACA;oBACDA,MAAMA,CAACA,GAAGA,CAACA;gBACbA,CAACA;gBAEDR,oCAAQA,GAARA,UAASA,GAAGA;oBACVS,EAAEA,CAACA,CAACA,gBAACA,CAACA,GAAGA,CAACA,IAAIA,CAACA,QAAQA,EAAEA,GAAGA,CAACA,CAACA,CAACA,CAACA;wBAC9BA,MAAMA,CAACA,IAAIA,CAACA,QAAQA,CAACA,GAAGA,CAACA,CAACA;oBAC5BA,CAACA;oBACDA,EAAEA,CAACA,CAACA,IAAIA,CAACA,iBAAiBA,CAACA,GAAGA,CAACA,KAAKA,SAASA,CAACA,CAACA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CAACA,CAACA,CAACA,CAACA,IAAIA,CAACA,CAACA,CAACA;4BACXA,EAAEA,CAACA,CAACA,CAACA,IAAIA,CAACA,GAAGA,CAACA,CAACA,KAAKA,CAACA;wBACvBA,CAACA;oBACHA,CAACA;oBACDA,IAAIA,CAACA,iBAAiBA,GAAGA,EAAEA,CAACA;oBAC5BA,IAAIA,CAACA,iBAAiBA,CAACA,MAAMA,GAAGA,CAACA,CAACA;oBAClCA,IAAIA,CAACA,QAAQA,GAAGA,EAAEA,CAACA;oBACnBA,IAAIA,CAACA,MAAMA,EAAEA,CAACA;gBAChBA,CAACA;gBAEDd,uCAAWA,GAAXA,UAAYA,IAAIA;oBAAhBe,iBAiBCA;oBAhBCA,EAAEA,CAACA,CAACA,IAAIA,KAAKA,QAAQA,CAACA,CAACA,CAACA;wBACtBA,gBAACA,CAACA,OAAOA,CAACA,IAAIA,CAACA,IAAIA,EAAEA,UAAAA,MAAMA;4BACzBA,EAAEA,CAACA,CAACA,MAAMA,CAACA,UAAUA,CAACA,CAACA,CAACA;gCACtBA,gBAACA,CAACA,OAAOA,CAACA,MAAMA,CAACA,UAAUA,EAAEA,UAAAA,IAAIA;oCAC/BA,EAAEA,CAACA,CAACA,CAACA,gBAACA,CAACA,GAAGA,CAACA,KAAIA,CAACA,QAAQA,EAAEA,IAAIA,CAACA,GAAGA,CAACA,CAACA,CAACA,CAACA;wCACpCA,IAAIA,CAACA,GAAGA,EAACA,IAAIA,EAAEA,IAAIA,CAACA,GAAGA,EAAEA,KAAKA,EAAEA,KAAIA,CAACA,QAAQA,CAACA,IAAIA,CAACA,GAAGA,CAACA,EAACA,CAACA;wCACzDA,KAAIA,CAACA,KAAKA,CAACA,SAASA,CAACA,IAAIA,CAACA,CAACA,CAACA,CAACA;wCAC7BA,KAAIA,CAACA,QAAQA,CAACA,IAAIA,CAACA,GAAGA,CAACA,GAAGA,CAACA,CAACA;oCAC9BA,CAACA;gCACHA,CAACA,CAACA,CAACA;4BACLA,CAACA;wBACHA,CAACA,CAACA,CAACA;oBACLA,CAACA;oBAACA,IAAIA,CAACA,CAACA;wBACNA,IAAIA,CAAC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B,IAAIA,CAACA,UAAUA,GAAGA,KAAKA,CAACA;oBACxBA,EAAEA,CAACA,CAACA,IAAIA,CAACA,IAAIA,IAAIA,IAAIA,CAACA,IAAIA,CAACA,MAAMA,CAACA,CAACA,CAACA;wBAClCA,IAAIA,KAAKA,GAAGA,IAAIA,CAACA;wBACjBA,IAAIA,CAACA,GAAGA,IAAIA,CAACA,KAAKA,CAACA,IAAIA,CAACA,KAAKA,CAACA,QAAQA,CAACA,CAACA,GAAGA,IAAIA,CAACA,KAAKA,CAACA,SAASA,CAACA,CAACA;wBACjEA,EAAEA,CAACA,CAACA,CAACA,GAAGA,CAACA,CAACA,CAACA,CAACA;4BACVA,CAACA,GAAGA,CAACA,CAACA;wBACRA,CAACA;wBACDA,EAAEA,CAACA,CAACA,CAACA,IAAIA,IAAIA,CAACA,IAAIA,CAACA,MAAMA,CAACA,CAACA,CAACA;4BAC1BA,CAACA,GAAGA,IAAIA,CAACA,IAAIA,CAACA,MAAMA,GAAGA,CAACA,CAACA;wBAC3BA,CAACA;wBAEDA,EAAEA,CAACA,CAACA,IAAIA,CAACA,UAAUA,CAACA,CAACA,CAACA;4BACpBA,KAAKA,GAAGA,IAAIA,CAACA,IAAIA,CAACA,CAACA,CAACA,CAACA,OAAOA,CAACA,CAACA,CAACA,CAACA;4BAChCA,GAAGA,CAACA,CAACA,GAAGA,CAACA,CAACA,GAAGA,CAACA,EAAEA,CAACA,GAAGA,IAAIA,CAACA,IAAIA,CAACA,CAACA,CAACA,CAACA,OAAOA,CAACA,MAAMA,EAAEA,CAACA,EAAEA,EAAEA,CAACA;gCACrDA,EAAEA,CAACA,CAACA,IAAIA,CAACA,IAAIA,CAACA,CAACA,CAACA,CAACA,OAAOA,CAACA,CAACA,CAACA,CAACA,KAAKA,GAAGA,IAAIA,CAACA,KAAKA,CAACA,QAAQA,CAACA,EAAEA,CAACA,CAACA,CAACA;oCAC3DA,KAAKA,CAACA;gCACRA,CAACA;gCACDA,KAAKA,GAAGA,IAAIA,CAACA,IAAIA,CAACA,CAACA,CAACA,CAACA,OAAOA,CAACA,CAACA,CAACA,CAACA;4BAClCA,CAACA;4BACDA,IAAIA,CAACA,UAAUA,GAAGA,KAAKA,CAACA;4BAExBA,EAAEA,CAACA,CAACA,MAAMA,CAACA,CAACA,CAACA;gCACXA,IAAIA,CAACA,UAAUA,GAAGA,UAAUA,CAACA;gCAC7BA,IAAIA,CAACA,WAAWA,CAACA,GAAGA,EAAEA,KAAKA,EAAEA,UAAUA,CAACA,CAACA;4BAC3CA,CAACA;4BACDA,IAAIA,CAACA,QAAQA,EAAEA,CAACA,CAACA,mBAAmBA;wBACtCA,CAACA;wBAACA,IAAIA,CAACA,EAAEA,CAACA,CAACA,CAACA,UAAUA,CAACA,CAACA,CAACA;4BACvBA,EAAEA,CAACA,CAACA,IAAIA,CAACA,SAASA,CAACA,CAACA,CAACA;gCACnBA,KAAKA,GAAGA,IAAIA,CAACA,IAAIA,CAACA,CAACA,CAACA,CAACA,UAAUA,CAACA,CAACA,CAACA,CAACA;gCACnCA,GAAGA,CAACA,CAACA,GAAGA,CAACA,CAACA,GAAGA,CAACA,EAAEA,CAACA,GAAGA,IAAIA,CAACA,IAAIA,CAACA,CAACA,CAACA,CAACA,UAAUA,CAACA,MAAMA,EAAEA,CAACA,EAAEA,EAAEA,CAACA;oCACxDA,EAAEA,CAACA,CAACA,IAAIA,CAACA,IAAIA,CAACA,CAACA,CAACA,CAACA,UAAUA,CAACA,CAACA,CAACA,CAACA,CAACA,GAAGA,IAAIA,CAACA,KAAKA,CAACA,QAAQA,CAACA,CAACA,CAACA,CAACA,CAACA;wCACzDA,KAAKA,CAACA;oCACRA,CAACA;oCACDA,KAAKA,GAAGA,IAAIA,CAACA,IAAIA,CAACA,CAACA,CAACA,CAACA,UAAUA,CAACA,CAACA,CAACA,CAACA;gCACrCA,CAACA;gCACDA,IAAIA,CAACA,UAAUA,GAAGA,KAAKA,CAACA;gCACxBA,IAAIA,CAACA,QAAQA,EAAEA,CAACA,CAACA,mBAAmBA;gCAEpCA,EAAEA,CAACA,CAACA,MAAMA,CAACA,CAACA,CAACA;oCACXA,IAAIA,CAACA,UAAUA,GAAGA,UAAUA,CAACA;oCAC7BA,IAAIA,CAAC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AIA,EAAEA,UAACA,MAAMA,EAAEA,CAACA;wBAC7BA,IAAMA,MAAMA,GAAGA,MAAMA,CAACA,CAACA,CAACA,CAACA;wBACzBA,GAAGA,CAACA,CAACA,GAAGA,CAACA,CAACA,GAAGA,CAACA,EAAEA,CAACA,GAAGA,MAAMA,CAACA,SAASA,CAACA,MAAMA,EAAEA,CAACA,EAAEA,EAAEA,CAACA;4BACjDA,IAAMA,QAAQA,GAAGA,MAAMA,CAACA,SAASA,CAACA,CAACA,CAACA,CAACA;4BACrCA,IAAIA,KAAKA,GAAGA,KAAIA,CAACA,iBAAiBA,CAACA,KAAKA,CAACA;4BACzCA,EAAEA,CAACA,CAACA,CAACA,GAAGA,CAACA,KAAKA,MAAMA,CAACA,SAASA,CAACA,MAAMA,CAACA,CAACA,CAACA;gCACtCA,KAAKA,GAAGA,MAAMA,CAACA,SAASA,CAACA,CAACA,GAAGA,CAACA,CAACA,CAACA;4BAClCA,CAACA;4BACDA,GAAGA,CAACA,SAASA,GAAGA,KAAIA,CAACA,QAAQA,CAACA,KAAIA,CAACA,OAAOA,CAACA,CAACA,EAAEA,CAACA,CAACA,CAACA,CAACA;4BAClDA,IAAIA,eAAeA,GAAGA,GAAGA,CAACA,WAAWA,CAACA;4BACtCA,EAAEA,CAACA,CAACA,CAACA,KAAIA,CAACA,gBAAgBA,CAACA,CAACA,CAACA,CAACA,CAACA,CAACA,CAACA,CAACA,CAACA;gCACjCA,GAAGA,CAACA,WAAWA,GAAGA,GAAGA,CAACA;4BACxBA,CAACA;4BACDA,GAAGA,CAACA,QAAQA,CACVA,QAAQA,EACRA,MAAMA,CAACA,CAACA,CAACA,CAACA,CAACA,EACXA,KAAKA,GAAGA,QAAQA,EAChBA,KAAIA,CAACA,iBAAiBA,CAACA,SAASA,CACjCA,CAACA;4BACFA,GAAGA,CAACA,WAAWA,GAAGA,eAAeA,CAACA;wBACpCA,CAACA;wBAEDA,EAAEA,CAACA,CAACA,CAACA,GAAGA,CAACA,CAACA,CAACA,CAACA;4BACVA,IAAMA,KAAGA,GAAGA,MAAMA,CAACA,CAACA,CAACA,CAACA,C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"} \ No newline at end of file +{"version":3,"file":"module.js","sourceRoot":"","sources":["module.ts"],"names":["DiscretePanelCtrl","DiscretePanelCtrl.constructor","DiscretePanelCtrl.replaceCodes","DiscretePanelCtrl.onDataSnapshotLoad","DiscretePanelCtrl.onPanelInitialized","DiscretePanelCtrl.onDataError","DiscretePanelCtrl.onInitEditMode","DiscretePanelCtrl.onRender","DiscretePanelCtrl.showLegandTooltip","DiscretePanelCtrl.clearTT","DiscretePanelCtrl.formatValue","DiscretePanelCtrl.getColor","DiscretePanelCtrl.checkValidValueMapping","DiscretePanelCtrl.mappingColorsPaleteCash","DiscretePanelCtrl.randomColor","DiscretePanelCtrl.applyPanelTimeOverrides","DiscretePanelCtrl.onDataReceived","DiscretePanelCtrl.exportReportCsv","DiscretePanelCtrl.removeColorMap","DiscretePanelCtrl.updateColorInfo","DiscretePanelCtrl.addColorMap","DiscretePanelCtrl.removeValueMap","DiscretePanelCtrl.addValueMap","DiscretePanelCtrl.removeRangeMap","DiscretePanelCtrl.addRangeMap","DiscretePanelCtrl.onConfigChanged","DiscretePanelCtrl.getFontSize","DiscretePanelCtrl.getLegendDisplay","DiscretePanelCtrl.showTooltip","DiscretePanelCtrl.onGraphHover","DiscretePanelCtrl.onMouseClicked","DiscretePanelCtrl.onMouseSelectedRange","DiscretePanelCtrl.clear","DiscretePanelCtrl._updateRenderDimensions","DiscretePanelCtrl._updateSelectionMatrix","DiscretePanelCtrl._updateSelectionMatrix.getPredicate","DiscretePanelCtrl._updateCanvasSize","DiscretePanelCtrl._getVal","DiscretePanelCtrl._renderRects","DiscretePanelCtrl._renderLabels","DiscretePanelCtrl._renderSelection","DiscretePanelCtrl._renderTimeAxis","DiscretePanelCtrl.timeFormatFun","DiscretePanelCtrl._renderCrosshair","DiscretePanelCtrl.handleValueTextChange","DiscretePanelCtrl.handleRangeTextChange","DiscretePanelCtrl.handleLegnedFontSizeChange","DiscretePanelCtrl.handleFontSizeChange","DiscretePanelCtrl.formatDatas","DiscretePanelCtrl.initI18n"],"mappings":"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,CAACA;oCAC7BA,MAAMA,CAACA,KAAGA,CAACA,IAAIA,CAACA;gCAClBA,CAACA;4BACHA,CAACA;wBACHA,CAACA;wBACDA,EAAEA,CAACA,CAACA,IAAIA,CAACA,SAASA,CAACA,CAACA,CAACA;4BACnBA,GAAGA,GAAGA,IAAIA,CAACA,SAASA,CAACA,GAAGA,EAAEA,IAAIA,CAACA,KAAKA,CAACA,QAAQA,CAACA,CAACA;wBACjDA,CAACA;oBACHA,CAACA;oBACDA,IAAIA,MAAMA,GAAGA,gBAACA,CAACA,KAAKA,CAACA,GAAGA,CAACA,CAACA;oBAC1BA,EAAEA,CAACA,CAACA,CAACA,MAAMA,IAAIA,CAACA,gBAACA,CAACA,QAAQA,CAACA,GAAGA,CAACA,CAACA,CAACA,CAACA;wBAChCA,GAAGA,GAAGA,GAAGA,CAACA,QAAQA,EAAEA,CAACA,CAACA,iCAAiCA;oBACzDA,CAACA;oBAEDA,GAAGA,CAACA,CAACA,GAAGA,CAACA,CAACA,GAAGA,CAACA,EAAEA,CAACA,GAAGA,IAAIA,CAACA,KAAKA,CAACA,SAASA,CAACA,MAAMA,EAAEA,CAACA,EAAEA,EAAEA,CAACA;wBACrDA,IAAMA,OAAOA,GAAGA;4BACdA,UAAUA,EAAEA,EAAEA;4BACdA,SAASA,EAAEA,EAAEA;yBACdA,CAACA;wBAEFA,IAAIA,GAAGA,GAAGA,IAAIA,CAACA,KAAKA,CAACA,SAASA,CAACA,CAACA,CAACA,CAACA;wBAClCA,oBAAoBA;wBACpBA,EAAEA,CAACA,CAACA,GAAGA,CAACA,KAAKA,KAAKA,MAAMA,CAACA,CAACA,CAACA;4BACzBA,EAAEA,CAACA,CAACA,MAAMA,CAACA,CAACA,CAACA;gCACXA,MAAMA,CAACA,GAAGA,CAACA,IAAIA,CAACA;4BAClBA,CAACA;4BACDA,QAAQA,CAACA;wBACXA,CAACA;wBAEDA,EAAEA,CAACA,CAACA,GAAGA,KAAKA,GAAGA,CAACA,KAAKA,CAACA,CAACA,CAACA;4BACtBA,OAAOA,CAACA,UAAUA,GAAGA,GAAGA,CAACA,KAAKA,CAACA;4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CAACA,CAACA,CAACA,CAACA,KAAKA,KAAKA,EAAEA;4BACpCA,IAAIA,CAACA,KAAKA,CAACA,SAASA,CAACA,CAACA,CAACA,CAACA,KAAKA,KAAKA,MACpCA,CAACA,CAACA,CAACA;4BACDA,IAAIA,CAACA,iBAAiBA,CAACA,GAAGA,CAACA,GAAGA,CAACA,CAACA;4BAChCA,QAAQA,CAACA;wBACXA,CAACA;wBACDA,EAAEA,CAACA,CAACA,IAAIA,CAACA,KAAKA,CAACA,SAASA,CAACA,CAACA,CAACA,CAACA,IAAIA,KAAKA,GAAGA,CAACA,CAACA,CAACA;4BACzCA,EAAEA,CAACA,CAACA,IAAIA,CAACA,QAAQA,CAACA,cAAcA,CAACA,IAAIA,CAACA,KAAKA,CAACA,SAASA,CAACA,CAACA,CAACA,CAACA,KAAKA,CAACA,CAACA,CAACA,CAACA;gCAChEA,IAAIA,CAACA,iBAAiBA,CAACA,GAAGA,CAACA,GAAGA,IAAIA,CAACA,QAAQA,CAACA,IAAIA,CAACA,KAAKA,CAACA,SAASA,CAACA,CAACA,CAACA,CAACA,KAAKA,CAACA,CAACA;4BAC7EA,CAACA;4BAACA,IAAIA,CAACA,CAACA;gCACNA,IAAIA,CAACA,iBAAiBA,CAACA,GAAGA,CAACA,GAAGA,IAAIA,CAACA,iBAAiBA,CAClDA,IAAIA,CAACA,KAAKA,CAACA,SAASA,CAACA,CAACA,CAACA,CAACA,KAAKA,CAC9BA,CAACA;gCACFA,EAAEA,CAACA,CAACA,IAAIA,CAACA,iBAAiBA,CAACA,GAAGA,CAACA,KAAKA,WAAWA,CAACA,CAACA,CAACA;oCAChDA,IAAIA,CAACA,iBAAiBA,CAACA,GAAGA,CAACA,GAAGA,CAACA,CAACA;gCAClCA,CAACA;4BACHA,CAACA;wBACHA,CAACA;oBACHA,CAACA;gBACHA,CAACA;gBACDb,eAAeA;gBAEfA,uCAAWA,GAAXA;oBACEc,IAAIA,OAAOA,GAAGA,OAAOA,CAACA,KAAKA,CAACA,EAAEA,CAACA,CAACA;oBAChCA,IAAIA,KAAKA,GAAGA,GAAGA,CAACA;oBA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ACA,CAACA,WAAWA,CAACA,CAACA,CAACA,CAACA,SAASA,KAAKA,IAAIA,CAACA,GAAGA,CAACA,CAACA,CAACA;oDAC1CA,CAACA,GAAGA,EAACA,IAAIA,EAAEA,IAAIA,CAACA,GAAGA,EAAEA,KAAKA,EAAEA,KAAIA,CAACA,QAAQA,CAACA,WAAWA,CAACA,CAACA,CAACA,CAACA,UAAUA,CAACA,EAACA,CAACA;gDACxEA,CAACA;gDAACA,IAAIA,CAACA,CAACA;oDACNA,CAACA,GAAGA,EAACA,IAAIA,EAAEA,IAAIA,CAACA,GAAGA,EAAEA,KAAKA,EAAEA,KAAIA,CAACA,QAAQA,CAACA,IAAIA,CAACA,GAAGA,CAACA,EAACA,CAACA;gDACvDA,CAACA;4CACHA,CAACA;wCACHA,CAACA;wCACDA,KAAIA,CAACA,KAAKA,CAACA,SAASA,CAACA,IAAIA,CAACA,CAACA,CAACA,CAACA;wCAC7BA,KAAIA,CAACA,QAAQA,CAACA,IAAIA,CAACA,GAAGA,CAACA,GAAGA,CAACA,CAACA;oCAC9BA,CAACA;gCACHA,CAACA,CAACA,CAACA;4BACLA,CAACA;wBACHA,CAACA,CAACA,CAACA;oBACLA,CAACA;oBAACA,IAAIA,CAACA,CAACA;wBACNA,IAAIA,CAACA,KAAKA,CAACA,SAASA,CAACA,IAAIA,CAACA,EAACA,IAAIA,EAAEA,KAAKA,EAAEA,KAAKA,EAAEA,IAAIA,CAACA,WAAWA,EAAEA,EAACA,CAACA,CAACA;oBACtEA,CAACA;oBACDA,IAAIA,CAACA,eAAeA,EAAEA,CAACA;gBACzBA,CAACA;gBAEDpB,0CAAcA,GAAdA,UAAeA,GAAGA;oBAChBqB,IAAIA,KAAKA,GAAGA,gBAACA,CAACA,OAAOA,CAACA,IAAIA,CAACA,KAAKA,CAACA,SAASA,EAAEA,GAAGA,CAACA,CAACA;oBACjDA,IAAIA,CAACA,KAAKA,CAACA,SAASA,CAACA,MAAMA,CAACA,KAAKA,EAAEA,CAACA,CAACA,CAACA;oBACtCA,kCAAkCA;oBAClCA,IAAIA,CAACA,OAAOA,EAAEA,CAACA;gBA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AACA,IAAIA,IAAIA,IAAIA,CAACA,IAAIA,CAACA,MAAMA,CAACA,CAACA,CAACA;wBAClCA,IAAIA,KAAKA,GAAGA,IAAIA,CAACA;wBACjBA,IAAIA,WAAWA,GAAGA,gBAACA,CAACA,kBAAkBA,CAACA,CAACA,MAAMA,EAAEA,CAACA;wBACjDA,IAAIA,CAACA,GAAGA,IAAIA,CAACA,KAAKA,CAChBA,IAAIA,CAACA,KAAKA,CAACA,QAAQA,CAACA,CAACA,GAAGA,CAACA,IAAIA,CAACA,KAAKA,CAACA,SAASA,GAAGA,WAAWA,GAAGA,KAAKA,CAACA,CACrEA,CAACA;wBACFA,EAAEA,CAACA,CAACA,CAACA,GAAGA,CAACA,CAACA,CAACA,CAACA;4BACVA,CAACA,GAAGA,CAACA,CAACA;wBACRA,CAACA;wBACDA,EAAEA,CAACA,CAACA,CAACA,IAAIA,IAAIA,CAACA,IAAIA,CAACA,MAAMA,CAACA,CAACA,CAACA;4BAC1BA,CAACA,GAAGA,IAAIA,CAACA,IAAIA,CAACA,MAAMA,GAAGA,CAACA,CAACA;wBAC3BA,CAACA;wBAEDA,EAAEA,CAACA,CAACA,IAAIA,CAACA,UAAUA,CAACA,CAACA,CAACA;4BACpBA,KAAKA,GAAGA,IAAIA,CAACA,IAAIA,CAACA,CAACA,CAACA,CAACA,OAAOA,CAACA,CAACA,CAACA,CAACA;4BAChCA,GAAGA,CAACA,CAACA,GAAGA,CAACA,CAACA,GAAGA,CAACA,EAAEA,CAACA,GAAGA,IAAIA,CAACA,IAAIA,CAACA,CAACA,CAACA,CAACA,OAAOA,CAACA,MAAMA,EAAEA,CAACA,EAAEA,EAAEA,CAACA;gCACrDA,EAAEA,CAACA,CAACA,IAAIA,CAACA,IAAIA,CAACA,CAACA,CAACA,CAACA,OAAOA,CAACA,CAACA,CAACA,CAACA,KAAKA,GAAGA,IAAIA,CAACA,KAAKA,CAACA,QAAQA,CAACA,EAAEA,CAACA,CAACA,CAACA;oCAC3DA,KAAKA,CAACA;gCACRA,CAACA;gCACDA,KAAKA,GAAGA,IAAIA,CAACA,IAAIA,CAACA,CAACA,CAACA,CAACA,OAAOA,CAACA,CAACA,CAACA,CAACA;4BAClCA,CAACA;4BACDA,IAAIA,CAACA,UAAUA,GAAGA,KAAKA,CAACA;4BAExBA,EAAEA,CAACA,CAACA,MAAMA,CAACA,CAACA,CAACA;gCACXA,IAAIA,CAACA,UAAUA,GAAGA,UAAUA,CAACA;gCAC7BA,IAAIA,CAACA,WAAWA,CAACA,GAAGA,EAAEA,KAAKA,EAAEA,UAAUA,CAACA,CAACA;4BAC3CA,CAACA;4BACDA,IAAIA,CAACA,QAAQA,EAAEA,CAACA,CAACA,mBAAmBA;wBACtCA,CAACA;wBAACA,IAAIA,CAACA,EAAEA,CAACA,CAACA,CAACA,UAAUA,CAACA,CAACA,CAACA;4BACvBA,EAAEA,CAACA,CAACA,IAAIA,CAACA,SAASA,CAACA,CAACA,CAACA;gCACnBA,KAAKA,GAAGA,IAAIA,CAACA,IAAIA,CAACA,CAACA,CAACA,CAACA,UAAUA,CAACA,CAACA,CAACA,CAACA;gCACnCA,GAAGA,CAACA,CAACA,GAAGA,CAACA,CAACA,GAAGA,CAACA,EAAEA,CAACA,GAAGA,IAAIA,CAACA,IAAIA,CAACA,CAACA,CAACA,CAACA,UAAUA,CAACA,MAAMA,EAAEA,CAACA,EAAEA,EAAEA,CAACA;oCACxDA,EAAEA,CAACA,CAACA,IAAIA,CAACA,IAAIA,CAACA,CAACA,CAACA,CAACA,UAAUA,CAACA,CAACA,CAACA,CAACA,CAACA,GAAGA,IAAIA,CAACA,KAAKA,CAACA,QAAQA,CAACA,CAACA,CAACA,CAACA,CAACA;wCACzDA,KAAKA,CAACA;oCACRA,CAACA;oCACDA,KAAKA,GAAGA,IAAIA,CAACA,IAAIA,CAACA,CAACA,CAACA,CAACA,UAAUA,CAACA,CAACA,CAACA,CAACA;gCACrCA,CAACA;gCACDA,IAAIA,CAACA,UAAUA,GAAGA,KAAKA,CAACA;gCACxBA,IAAIA,CAACA,QAAQA,EAAEA,CAACA,CAACA,mBAAmBA;gCAEpCA,EAAEA,CAACA,CAACA,MAAMA,CAACA,CAACA,CAACA;oCACXA,IAAIA,CAACA,UAAUA,GAAGA,UAAUA,CAACA;oCAC7BA,IAAIA,CAACA,iBAAiBA,CAACA,GAAGA,CAACA,GAAGA,EAAEA,KAAKA,CAACA,CAACA;gCACzCA,CAACA;4BACHA,CAACA;wBACHA,CAACA;oBACHA,CAACA;oBAACA,IAAIA,CAACA,CAACA;wBACNA,IAAIA,CAACA,QAAQA,CAACA,MAAMA,EAAEA,CAACA,CAACA,yBAAyBA;oBACnDA,CAACA;gBACHA,CAACA;gBAED7B,0CAAcA,GAAdA,UAAeA,KAAKA;oBAClB8B,IAAIA,EAAEA,GAAGA,IAAIA,CAACA,UAAUA,CAACA;oBACzBA,EAAEA,CAACA,CAACA,EAAEA,IAAIA,EAAEA,CAACA,KAAKA,CAACA,CAACA,CAACA;wBACnBA,IAAIA,KAAKA,GAAGA,EAACA,IAAIA,EAAEA,gBAAMA,CAACA,GAAGA,CAACA,EAAEA,CAACA,KAAKA,CAACA,EAAEA,EAAEA,EAAEA,gBAAMA,CAACA,GAAGA,CAACA,EAAEA,CAACA,KAAKA,GAAGA,EAAEA,CAACA,EAAEA,CAACA,EAACA,CAACA;wBAC3EA,IAAIA,CAACA,OAAOA,CAACA,OAAOA,CAACA,KAAKA,CAACA,CAACA;wBAC5BA,IAAIA,CAACA,KAAKA,EAAEA,CAACA;oBACfA,CAACA;gBACHA,CAACA;gBAED9B,gDAAoBA,GAApBA,UAAqBA,KAAKA;oBACxB+B,IAAIA,CAACA,OAAOA,CAACA,OAAOA,CAACA,KAAKA,CAACA,CAACA;oBAC5BA,IAAIA,CAACA,KAAKA,EAAEA,CAACA;gBACfA,CAACA;gBAED/B,iCAAKA,GAALA;oBACEgC,IAAIA,CAACA,KAAKA,CAACA,QAAQA,GAAGA,IAAIA,CAACA;oBAC3BA,IAAIA,CAACA,KAAKA,CAACA,IAAIA,GAAGA,IAAIA,CAACA;oBACvBA,IAAIA,CAACA,UAAUA,GAAGA,IAAIA,CAACA;oBACvBA,gBAACA,CAACA,IAAIA,CAACA,MAAMA,CAACA,CAACA,GAAGA,CAACA,QAAQA,EAAEA,MAAMA,CAACA,CAACA;oBACrCA,oBAASA,CAACA,IAAIA,CAACA,mBAAmBA,CAACA,CAACA;oBACpCA,IAAIA,CAACA,MAAMA,EAAEA,CAACA;gBAChBA,CAACA;gBAEDhC,mDAAuBA,GAAvBA;oBAAAiC,iBAuECA;oBAtECA,IAAIA,CAACA,iBAAiBA,GAAGA,EAAEA,CAACA;oBAC5BA,IAAIA,MAAMA,GAAGA,gBAACA,CAACA,kBAAkBA,CAACA,CAACA;oBACnCA,EAAEA,CAACA,CAACA,MAAMA,CAACA,MAAMA,GAAGA,CAACA,CAACA,CAACA,CAACA;wBACtBA,IAAIA,SAASA,CAACA;wBACdA,GAAGA,CAACA,CAACA,GAAGA,CAACA,CAACA,GAAGA,CAACA,EAAEA,CAACA,GAAGA,MAAMA,CAACA,MAAMA,EAAEA,CAACA,EAAEA,EAAEA,CAACA;4BACvCA,EAAEA,CAACA,CAACA,CAACA,KAAKA,CAACA,CAACA,CAACA,CAACA;gCACZA,IAAIA,CAACA,GAAGA,MAAMA,CAACA,CAACA,CAACA,CAACA;gCAClBA,SAASA,GAAGA,CAACA,CAACA,qBAAqBA,EAAEA,CAACA,MAAMA,CAACA;4BAC/CA,CAACA;4BAACA,IAAIA,CAACA,CAACA;gCACNA,IAAIA,CAACA,GAAGA,MAAMA,CAACA,CAACA,CAACA,CAACA;gCAClBA,IAAIA,SAASA,GAAGA,CAACA,CAACA,qBAAqBA,EAAEA,CAACA,MAAMA,CAACA;gCACjDA,EAAEA,CAACA,CAACA,SAASA,GAAGA,SAASA,CAACA,CAACA,CAACA;oCAC1BA,SAASA,GAAGA,SAASA,CAACA;gCACxBA,CAACA;4BACHA,CAACA;wBACHA,CAACA;oBACHA,CAACA;oBACDA,IAAIA,WAAWA,GAAGA,gBAACA,CAACA,kBAAkBA,CAACA,CAACA,MAAMA,EAAEA,CAACA;oBACjDA,EAAEA,CAACA,CAACA,WAAWA,GAAGA,SAASA,CAACA,CAACA,CAACA;wBAC5BA,WAAWA,GAAGA,SAASA,CAACA;oBAC1BA,CAACA;oBAEDA,IAAMA,IAAIA,GAAGA,CAACA,IAAIA,CAACA,iBAAiBA,CAACA,IAAIA,GAAGA,IAAIA,CAACA,IAAI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SAASA,CAACA,MAAMA,EAAEA,CAACA,EAAEA,EAAEA,CAACA;4BACjDA,IAAMA,QAAQA,GAAGA,MAAMA,CAACA,SAASA,CAACA,CAACA,CAACA,CAACA;4BACrCA,IAAIA,KAAKA,GAAGA,KAAIA,CAACA,iBAAiBA,CAACA,KAAKA,CAACA;4BACzCA,EAAEA,CAACA,CAACA,CAACA,GAAGA,CAACA,KAAKA,MAAMA,CAACA,SAASA,CAACA,MAAMA,CAACA,CAACA,CAACA;gCACtCA,KAAKA,GAAGA,MAAMA,CAACA,SAASA,CAACA,CAACA,GAAGA,CAACA,CAACA,CAACA;4BAClCA,CAACA;4BACDA,GAAGA,CAACA,SAASA,GAAGA,KAAIA,CAACA,QAAQA,CAACA,KAAIA,CAACA,OAAOA,CAACA,CAACA,EAAEA,CAACA,CAACA,CAACA,CAACA;4BAClDA,IAAIA,eAAeA,GAAGA,GAAGA,CAACA,WAAWA,CAACA;4BACtCA,EAAEA,CAACA,CAACA,CAACA,KAAIA,CAACA,gBAAgBA,CAACA,CAACA,CAACA,CAACA,CAACA,CAACA,CAACA,CAACA,CAACA;gCACjCA,GAAGA,CAACA,WAAWA,GAAGA,GAAGA,CAACA;4BACxBA,CAACA;4BACDA,GAAGA,CAACA,QAAQA,CACVA,QAAQA,EACRA,MAAMA,CAACA,CAACA,CAACA,CAACA,CAACA,EACXA,KAAKA,GAAGA,QAAQA,EAChBA,KAAIA,CAACA,iBAAiBA,CAACA,SAASA,CACjCA,CAACA;4BACFA,GAAGA,CAACA,WAAWA,GAAGA,eAAeA,CAACA;wBACpCA,CAACA;wBAEDA,EAAEA,CAACA,CAACA,CAACA,GAAGA,CAACA,CAACA,CAACA,CAACA;4BACVA,IAAMA,KAAGA,GAAGA,MAAMA,CAACA,CAACA,CAACA,CAACA,CAACA,CAACA;4BACxBA,GAAGA,CAACA,WAAWA,GAAGA,KAAIA,CAACA,KAAKA,CAACA,SAASA,CAACA;4BACvCA,GAAGA,CAACA,SAASA,EAAEA,CAACA;4BAChBA,GAAGA,CAACA,MAAMA,CAACA,CAACA,EAAEA,KAAGA,CAACA,CAA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"} \ No newline at end of file diff --git a/dist/module.ts b/dist/module.ts index be17713..0033c40 100644 --- a/dist/module.ts +++ b/dist/module.ts @@ -1,5 +1,4 @@ /// - import config from 'app/core/config'; import {CanvasPanelCtrl} from './canvas-metric'; @@ -11,6 +10,15 @@ import moment from 'moment'; import kbn from 'app/core/utils/kbn'; import appEvents from 'app/core/app_events'; +import appFontSize from 'app/core/utils/fontsize'; + +import {loadPluginCss} from 'app/plugins/sdk'; +import {getI18n, setI18n} from './i18n'; + +loadPluginCss({ + dark: 'plugins/natel-discrete-panel/css/discrete.dark.css', + light: 'plugins/natel-discrete-panel/css/discrete.light.css', +}); const grafanaColors = [ '#7EB26D', @@ -72,13 +80,14 @@ const grafanaColors = [ ]; // copied from public/app/core/utils/colors.ts because of changes in grafana 4.6.0 //(https://github.com/grafana/grafana/blob/master/PLUGIN_DEV.md) +const colorSwitch = []; + class DiscretePanelCtrl extends CanvasPanelCtrl { static templateUrl = 'partials/module.html'; static scrollable = true; - defaults = { display: 'timeline', // or 'stacked' - rowHeight: 50, + rowHeight: 100, valueMaps: [{value: 'null', op: '=', text: 'N/A'}], rangeMaps: [{from: 'null', to: 'null', text: 'N/A'}], colorMaps: [{text: 'N/A', color: '#CCC'}], @@ -89,7 +98,7 @@ class DiscretePanelCtrl extends CanvasPanelCtrl { backgroundColor: 'rgba(128,128,128,0.1)', lineColor: 'rgba(0,0,0,0.1)', textSize: 24, - textSizeTime: 12, + textSizeTime: 14, extendLastValue: true, writeLastValue: true, writeAllValues: false, @@ -103,8 +112,13 @@ class DiscretePanelCtrl extends CanvasPanelCtrl { expandFromQueryS: 0, legendSortBy: '-ms', units: 'short', + adjFontSize: true, + FontSize: '70%', + FontSizeValue: '140%', + // FontSizeTime: '0.8vw', + nullValue: false, }; - + translate: any; data: any = null; externalPT = false; isTimeline = true; @@ -114,23 +128,149 @@ class DiscretePanelCtrl extends CanvasPanelCtrl { _colorsPaleteCash: any = null; unitFormats: any = null; // only used for editor formatter: any = null; + fontSizes = null; + fontCalc = null; _renderDimensions: any = {}; _selectionMatrix: Array> = []; + noPoints = false; + timeSrv: any; constructor($scope, $injector) { super($scope, $injector); - + // console.log(languageList); // defaults configs + this.translate = $injector.get('$translate'); _.defaultsDeep(this.panel, this.defaults); this.panel.display = 'timeline'; // Only supported version now - this.events.on('init-edit-mode', this.onInitEditMode.bind(this)); - this.events.on('render', this.onRender.bind(this)); - this.events.on('data-received', this.onDataReceived.bind(this)); - this.events.on('panel-initialized', this.onPanelInitialized.bind(this)); - this.events.on('data-error', this.onDataError.bind(this)); - this.events.on('refresh', this.onRefresh.bind(this)); + // li.na modify start at 2019.4.16 + this.fontCalc = [ + { + text: '60%', + value: '60%', + vw: '0.6vw', + px: '12px', + }, + { + text: '70%', + value: '70%', + vw: '0.8vw', + px: '15px', + }, + { + text: '80%', + value: '80%', + vw: '1vw', + px: '19px', + }, + { + text: '100%', + value: '100%', + vw: '1.4vw', + px: '27px', + }, + { + text: '110%', + value: '110%', + vw: '1.6vw', + px: '31px', + }, + { + text: '120%', + value: '120%', + vw: '1.8vw', + px: '35px', + }, + { + text: '130%', + value: '130%', + vw: '2vw', + px: '38px', + }, + { + text: '140%', + value: '140%', + vw: '2.2vw', + px: '42px', + }, + { + text: '150%', + value: '150%', + vw: '2.4vw', + px: '46px', + }, + { + text: '160%', + value: '160%', + vw: '2.6vw', + px: '50px', + }, + { + text: '180%', + value: '180%', + vw: '3vw', + px: '58px', + }, + { + text: '200%', + value: '200%', + vw: '3.4vw', + px: '65px', + }, + { + text: '220%', + value: '220%', + vw: '3.8vw', + px: '73px', + }, + { + text: '230%', + value: '230%', + vw: '4vw', + px: '77px', + }, + ]; + // li.na modify end at 2019.4.16 + + if (this.scope.$$listeners.isWisePaas) { + this.events.on('init-edit-mode', this.onInitEditMode.bind(this)); + this.events.on('render', this.onRender.bind(this)); + this.events.on('data-received', this.onDataReceived.bind(this)); + this.events.on('panel-initialized', this.onPanelInitialized.bind(this)); + this.events.on('data-error', this.onDataError.bind(this)); + this.events.on('refresh', this.onRefresh.bind(this)); + this.events.on('data-snapshot-load', this.onDataSnapshotLoad.bind(this)); + } + this.timeSrv = $scope.ctrl.timeSrv; + } + // Shaun add 20220506 replace val with Dashboard Variables + replaceCodes(val) { + const templateSrv = this.templateSrv; + const mapcode = { + group: '', + Value: '', + Text: '', + }; + // console.log(this.data[0].name); + let gp = this.data[0].name.replace(/\d/g, ''); // get group name + // console.log(templateSrv.index['code']); + if (templateSrv.index['code']) { + for (let j = 0; j < templateSrv.index['code'].options.length; j++) { + [mapcode.group, mapcode.Value, mapcode.Text] = templateSrv.index['code'].options[ + j + ].text.split('|'); + // console.log(gp + val, mapcode.group + mapcode.Value); + if (gp + val === mapcode.group + mapcode.Value) { + val = mapcode.Text; + } + } + } + return val; + } + + onDataSnapshotLoad(snapshotData) { + this.onDataReceived(snapshotData); } onPanelInitialized() { @@ -144,36 +284,43 @@ class DiscretePanelCtrl extends CanvasPanelCtrl { onInitEditMode() { this.unitFormats = kbn.getUnitFormats(); - - this.addEditorTab( - 'Options', - 'public/plugins/natel-discrete-panel/partials/editor.options.html', - 1 - ); - this.addEditorTab( - 'Legend', - 'public/plugins/natel-discrete-panel/partials/editor.legend.html', - 3 - ); - this.addEditorTab( - 'Colors', - 'public/plugins/natel-discrete-panel/partials/editor.colors.html', - 4 - ); - this.addEditorTab( - 'Mappings', - 'public/plugins/natel-discrete-panel/partials/editor.mappings.html', - 5 - ); + const translateArr = [ + 'public.options', + 'public.legend', + 'public.colors', + 'natel-discrete-panel.Mappings', + ]; + this.translate(translateArr).then(translate => { + this.addEditorTab( + translate['public.options'], + 'public/plugins/natel-discrete-panel/partials/editor.options.html', + 2 + ); + this.addEditorTab( + translate['public.legend'], + 'public/plugins/natel-discrete-panel/partials/editor.legend.html', + 3 + ); + this.addEditorTab( + translate['public.colors'], + 'public/plugins/natel-discrete-panel/partials/editor.colors.html', + 4 + ); + this.addEditorTab( + translate['natel-discrete-panel.Mappings'], + 'public/plugins/natel-discrete-panel/partials/editor.mappings.html', + 5 + ); + }); this.editorTabIndex = 1; - this.refresh(); } onRender() { + this.initI18n(); if (this.data == null || !this.context) { return; } - + this.data = this.formatDatas(); this._updateRenderDimensions(); this._updateSelectionMatrix(); this._updateCanvasSize(); @@ -205,6 +352,7 @@ class DiscretePanelCtrl extends CanvasPanelCtrl { } formatValue(val) { + colorSwitch.length = 0; if (_.isNumber(val)) { if (this.panel.rangeMaps) { for (let i = 0; i < this.panel.rangeMaps.length; i++) { @@ -219,17 +367,21 @@ class DiscretePanelCtrl extends CanvasPanelCtrl { } } if (this.formatter) { - return this.formatter(val, this.panel.decimals); + val = this.formatter(val, this.panel.decimals); } } - let isNull = _.isNil(val); if (!isNull && !_.isString(val)) { val = val.toString(); // convert everything to a string } for (let i = 0; i < this.panel.valueMaps.length; i++) { - let map = this.panel.valueMaps[i]; + const mapJson = { + colorValue: '', + colorText: '', + }; + + var map = this.panel.valueMaps[i]; // special null case if (map.value === 'null') { if (isNull) { @@ -239,6 +391,9 @@ class DiscretePanelCtrl extends CanvasPanelCtrl { } if (val === map.value) { + mapJson.colorValue = map.value; + mapJson.colorText = map.text; + colorSwitch.push(mapJson); return map.text; } } @@ -253,14 +408,79 @@ class DiscretePanelCtrl extends CanvasPanelCtrl { if (_.has(this.colorMap, val)) { return this.colorMap[val]; } + // li.na add start at 2019.6.19 if (this._colorsPaleteCash[val] === undefined) { + // let c = grafanaColors[this._colorsPaleteCash.length % grafanaColors.length]; + // if (colorSwitch.length === 0) { + // this._colorsPaleteCash[val] = c; + // } else { + // for (let i = 0; i < colorSwitch.length; i++) { + // if (colorSwitch[i].colorText === val) { + // let colorSwitchValue = this._colorsPaleteCash[colorSwitch[i].colorValue]; + // this._colorsPaleteCash[val] = colorSwitchValue; + // } else { + // this._colorsPaleteCash[val] = c; + // } + // } + // } + // this._colorsPaleteCash.length++; let c = grafanaColors[this._colorsPaleteCash.length % grafanaColors.length]; - this._colorsPaleteCash[val] = c; + if (colorSwitch.length === 0) { + if (this.checkValidValueMapping(val)) { + this.mappingColorsPaleteCash(val, c); + } else { + this._colorsPaleteCash[val] = c; + } + } else { + this.mappingColorsPaleteCash(val, c); + } + // li.na add end at 2019.6.19 this._colorsPaleteCash.length++; } return this._colorsPaleteCash[val]; } + //li.na add at 2019.7.19 + // find valid valueMapping + checkValidValueMapping(val) { + for (let i = 0; i < this.panel.valueMaps.length; i++) { + if ( + this.panel.valueMaps[i].text === val && + this.panel.valueMaps[i].text && + this.panel.valueMaps[i].text !== 'undefined' + ) { + return true; + } + } + return false; + } + + // mappingColor + mappingColorsPaleteCash(val, c) { + for (let i = 0; i < this.panel.valueMaps.length; i++) { + if ( + this.panel.valueMaps[i].value === '' || + this.panel.valueMaps[i].value === 'null' + ) { + this._colorsPaleteCash[val] = c; + continue; + } + if (this.panel.valueMaps[i].text === val) { + if (this.colorMap.hasOwnProperty(this.panel.valueMaps[i].value)) { + this._colorsPaleteCash[val] = this.colorMap[this.panel.valueMaps[i].value]; + } else { + this._colorsPaleteCash[val] = this._colorsPaleteCash[ + this.panel.valueMaps[i].value + ]; + if (this._colorsPaleteCash[val] === 'undefined') { + this._colorsPaleteCash[val] = c; + } + } + } + } + } + //li.na add end + randomColor() { let letters = 'ABCDE'.split(''); let color = '#'; @@ -282,43 +502,34 @@ class DiscretePanelCtrl extends CanvasPanelCtrl { } onDataReceived(dataList) { + if (Array.isArray(dataList) && dataList.length === 0) { + this.noPoints = true; + } else { + let datas = []; + _.forEach(dataList, metric => { + if (Array.isArray(metric.datapoints)) { + datas = datas.concat(metric.datapoints); + } + }); + if (datas.length === 0) { + this.noPoints = true; + } + } $(this.canvas).css('cursor', 'pointer'); // console.log('GOT', dataList); - - let data = []; - _.forEach(dataList, metric => { - if ('table' === metric.type) { - if ('time' !== metric.columns[0].type) { - throw new Error('Expected a time column from the table format'); - } - - let last = null; - for (let i = 1; i < metric.columns.length; i++) { - let res = new DistinctPoints(metric.columns[i].text); - for (let j = 0; j < metric.rows.length; j++) { - let row = metric.rows[j]; - res.add(row[0], this.formatValue(row[i])); - } - res.finish(this); - data.push(res); - } - } else { - let res = new DistinctPoints(metric.target); - _.forEach(metric.datapoints, point => { - res.add(point[1], this.formatValue(point[0])); - }); - res.finish(this); - data.push(res); - } - }); - this.data = data; + this.dataList = dataList; + this.data = this.formatDatas(); this.onRender(); //console.log( 'data', dataList, this.data); } + exportReportCsv() { + this.panel.exportReportCsv(this.dataList); + } + removeColorMap(map) { let index = _.indexOf(this.panel.colorMaps, map); this.panel.colorMaps.splice(index, 1); @@ -345,7 +556,18 @@ class DiscretePanelCtrl extends CanvasPanelCtrl { if (metric.legendInfo) { _.forEach(metric.legendInfo, info => { if (!_.has(this.colorMap, info.val)) { - let v = {text: info.val, color: this.getColor(info.val)}; + let v; + if (colorSwitch.length === 0) { + v = {text: info.val, color: this.getColor(info.val)}; + } else { + for (let i = 0; i < colorSwitch.length; i++) { + if (colorSwitch[i].colorText === info.val) { + v = {text: info.val, color: this.getColor(colorSwitch[i].colorValue)}; + } else { + v = {text: info.val, color: this.getColor(info.val)}; + } + } + } this.panel.colorMaps.push(v); this.colorMap[info.val] = v; } @@ -361,7 +583,8 @@ class DiscretePanelCtrl extends CanvasPanelCtrl { removeValueMap(map) { let index = _.indexOf(this.panel.valueMaps, map); this.panel.valueMaps.splice(index, 1); - this.render(); + // li.na modify start at 2019.7.10 + this.refresh(); } addValueMap() { @@ -394,8 +617,14 @@ class DiscretePanelCtrl extends CanvasPanelCtrl { } } + getFontSize(fontSize) { + return appFontSize.getValue(this.panel.adjFontSize, fontSize); + } + getLegendDisplay(info, metric) { let disp = info.val; + // Shaun add 20220506 replace disp with Dashboard Variables + disp = this.replaceCodes(disp); if ( this.panel.showLegendPercent || this.panel.showLegendCounts || @@ -447,6 +676,8 @@ class DiscretePanelCtrl extends CanvasPanelCtrl { let to = point.start + point.ms; let time = point.ms; let val = point.val; + // Shaun add 20220506 replace val with Dashboard Variables + val = this.replaceCodes(val); if (this.mouse.down != null) { from = Math.min(this.mouse.down.ts, this.mouse.position.ts); @@ -456,11 +687,14 @@ class DiscretePanelCtrl extends CanvasPanelCtrl { } let body = '
' + val + '
'; + const formatTimeType = 'YYYY-MM-DD HH:mm:ss'; + const fromData = this.timeFormatFun(from, formatTimeType); + const toData = this.timeFormatFun(to, formatTimeType); body += '
'; - body += this.dashboard.formatDate(moment(from)) + '
'; + body += fromData + '
'; body += 'to
'; - body += this.dashboard.formatDate(moment(to)) + '

'; + body += toData + '

'; body += moment.duration(time).humanize() + '
'; body += '
'; @@ -491,7 +725,10 @@ class DiscretePanelCtrl extends CanvasPanelCtrl { this.externalPT = false; if (this.data && this.data.length) { let hover = null; - let j = Math.floor(this.mouse.position.y / this.panel.rowHeight); + var panelHeight = $('.panel-container').height(); + let j = Math.floor( + this.mouse.position.y / (this.panel.rowHeight * panelHeight * 0.001) + ); if (j < 0) { j = 0; } @@ -562,10 +799,31 @@ class DiscretePanelCtrl extends CanvasPanelCtrl { _updateRenderDimensions() { this._renderDimensions = {}; + var domObj = $('.panel-container'); + if (domObj.length > 0) { + var maxHeight; + for (var i = 0; i < domObj.length; i++) { + if (i === 0) { + var a = domObj[i]; + maxHeight = a.getBoundingClientRect().height; + } else { + var b = domObj[i]; + var domHeight = b.getBoundingClientRect().height; + if (domHeight > maxHeight) { + maxHeight = domHeight; + } + } + } + } + var panelHeight = $('.panel-container').height(); + if (panelHeight < maxHeight) { + panelHeight = maxHeight; + } const rect = (this._renderDimensions.rect = this.wrap.getBoundingClientRect()); const rows = (this._renderDimensions.rows = this.data.length); - const rowHeight = (this._renderDimensions.rowHeight = this.panel.rowHeight); + const rowHeight = (this._renderDimensions.rowHeight = + this.panel.rowHeight * panelHeight * 0.001); const rowsHeight = (this._renderDimensions.rowsHeight = rowHeight * rows); const timeHeight = this.panel.showTimeAxis ? 14 + this.panel.textSizeTime : 0; const height = (this._renderDimensions.height = rowsHeight + timeHeight); @@ -742,7 +1000,10 @@ class DiscretePanelCtrl extends CanvasPanelCtrl { let ctx = this.context; ctx.lineWidth = 1; ctx.textBaseline = 'middle'; - ctx.font = this.panel.textSize + 'px "Open Sans", Helvetica, Arial, sans-serif'; + // ctx.font = this.panel.textSize + 'px "Open Sans", Helvetica, Arial, sans-serif'; + ctx.font = + this.getFontSize(this.panel.FontSizeValue) + + ' "Open Sans", Helvetica, Arial, sans-serif'; const offset = 2; const rowHeight = this._renderDimensions.rowHeight; @@ -764,7 +1025,8 @@ class DiscretePanelCtrl extends CanvasPanelCtrl { for (let j = 0; j < positions.length; j++) { if (positions[j] <= this.mouse.position.x) { if (j >= positions.length - 1 || positions[j + 1] >= this.mouse.position.x) { - let val = this._getVal(i, j); + //Shaun modify 20220506 replace val with Dashboard Variables + let val = this.replaceCodes(this._getVal(i, j)); ctx.fillStyle = this.panel.valueTextColor; ctx.textAlign = 'left'; hoverTextStart = positions[j] + offset; @@ -788,7 +1050,7 @@ class DiscretePanelCtrl extends CanvasPanelCtrl { minTextSpot = offset + ctx.measureText(metric.name).width + 2; } } - if (this.panel.writeLastValue) { + if (this.panel.writeLastValue && positions.length > 0) { let val = this._getVal(i, positions.length - 1); ctx.fillStyle = this.panel.valueTextColor; ctx.textAlign = 'right'; @@ -857,23 +1119,26 @@ class DiscretePanelCtrl extends CanvasPanelCtrl { } _renderTimeAxis() { - if (!this.panel.showTimeAxis) { + if (!this.panel.showTimeAxis || this.noPoints) { return; } + var panelHeight = $('.panel-container').height(); const ctx = this.context; const rows = this.data.length; - const rowHeight = this.panel.rowHeight; + const rowHeight = this.panel.rowHeight * panelHeight * 0.001; const height = this._renderDimensions.height; const width = this._renderDimensions.width; const top = this._renderDimensions.rowsHeight; const headerColumnIndent = 0; // header inset (zero for now) - ctx.font = this.panel.textSizeTime + 'px "Open Sans", Helvetica, Arial, sans-serif'; - ctx.fillStyle = this.panel.timeTextColor; + ctx.font = this.panel.textSizeTime + ' "Open Sans", Helvetica, Arial, sans-serif'; + // ctx.fillStyle = this.panel.timeTextColor; + ctx.fillStyle = $('.discrete-Theme').css('color'); ctx.textAlign = 'left'; - ctx.strokeStyle = this.panel.timeTextColor; + // ctx.strokeStyle = this.panel.timeTextColor; + ctx.strokeStyle = $('.discrete-Theme').css('color'); ctx.textBaseline = 'top'; ctx.setLineDash([7, 5]); // dashes are 5px and spaces are 3px ctx.lineDashOffset = 0; @@ -888,7 +1153,7 @@ class DiscretePanelCtrl extends CanvasPanelCtrl { let nextPointInTime = this.roundDate(min, timeResolution) + timeResolution; let xPos = headerColumnIndent + (nextPointInTime - min) / (max - min) * width; - let timeFormat = this.time_format(max - min, timeResolution / 1000); + let timeFormat = this.timeSrv.graphTimeFormat(timeResolution / 1000, min, max); while (nextPointInTime < max) { // draw ticks @@ -900,7 +1165,7 @@ class DiscretePanelCtrl extends CanvasPanelCtrl { // draw time label let date = new Date(nextPointInTime); - let dateStr = this.formatDate(date, timeFormat); + let dateStr = this.timeFormatFun(date, timeFormat); let xOffset = ctx.measureText(dateStr).width / 2; ctx.fillText(dateStr, xPos - xOffset, top + 10); @@ -909,6 +1174,16 @@ class DiscretePanelCtrl extends CanvasPanelCtrl { } } + timeFormatFun(date: Date, timeFormat: any) { + const dateTimeFormat = this.timeSrv.dateTimeFormatFun(); + const dashboardTimeZone = this.dashboard.getTimezone(); + + return dateTimeFormat(date.valueOf(), { + format: timeFormat, + timeZone: dashboardTimeZone, + }); + } + _renderCrosshair() { if (this.mouse.down != null) { return; @@ -920,9 +1195,10 @@ class DiscretePanelCtrl extends CanvasPanelCtrl { return; } + var panelHeight = $('.panel-container').height(); let ctx = this.context; let rows = this.data.length; - let rowHeight = this.panel.rowHeight; + let rowHeight = this.panel.rowHeight * panelHeight * 0.001; let height = this._renderDimensions.height; ctx.beginPath(); @@ -942,6 +1218,79 @@ class DiscretePanelCtrl extends CanvasPanelCtrl { ctx.lineWidth = 1; } } + + handleValueTextChange(valueMap: any) { + setI18n(valueMap, 'text', valueMap.text, this.dashboard.panelLanguage); + } + + handleRangeTextChange(rangeMap: any) { + setI18n(rangeMap, 'text', rangeMap.text, this.dashboard.panelLanguage); + } + + handleLegnedFontSizeChange() { + setI18n(this.panel, 'FontSize', this.panel.FontSize, this.dashboard.panelLanguage); + } + + handleFontSizeChange() { + setI18n( + this.panel, + 'FontSizeValue', + this.panel.FontSizeValue, + this.dashboard.panelLanguage + ); + } + + formatDatas() { + let data = []; + _.forEach(this.dataList, metric => { + if ('table' === metric.type) { + if ('time' !== metric.columns[0].type) { + throw new Error('Expected a time column from the table format'); + } + + let last = null; + for (let i = 1; i < metric.columns.length; i++) { + let res = new DistinctPoints(metric.columns[i].text); + for (let j = 0; j < metric.rows.length; j++) { + let row = metric.rows[j]; + res.add(row[0], this.formatValue(row[i])); + } + res.finish(this); + data.push(res); + } + } else { + // ��ijһʱ���ϵ� + if (this.panel.nullValue) { + var length = metric.datapoints.length; + metric.datapoints[length - 1][0] = null; + } + let res = new DistinctPoints(metric.target); + _.forEach(metric.datapoints, point => { + res.add(point[1], this.formatValue(point[0])); + }); + res.finish(this); + data.push(res); + } + }); + return data; + } + + initI18n() { + if (this.dashboard.panelLanguage) { + for (const valueMap of this.panel.valueMaps) { + valueMap.text = getI18n(valueMap, 'text', this.dashboard.panelLanguage); + } + for (const rangeMap of this.panel.rangeMaps) { + rangeMap.text = getI18n(rangeMap, 'text', this.dashboard.panelLanguage); + } + this.panel.FontSize = getI18n(this.panel, 'FontSize', this.dashboard.panelLanguage); + this.panel.FontSizeValue = getI18n( + this.panel, + 'FontSizeValue', + this.dashboard.panelLanguage + ); + } + } } export {DiscretePanelCtrl as PanelCtrl}; diff --git a/dist/partials/editor.colors.html b/dist/partials/editor.colors.html index 94ac1d7..d46a44f 100644 --- a/dist/partials/editor.colors.html +++ b/dist/partials/editor.colors.html @@ -1,10 +1,10 @@
-
Text Colors
+
{{'natel-discrete-panel.textColors' | translate}}
- Metric Names + {{'natel-discrete-panel.metricNames' | translate}} @@ -14,7 +14,7 @@
Text Colors
- Value Text + {{'natel-discrete-panel.valueText' | translate}} @@ -24,7 +24,7 @@
Text Colors
- Time Text + {{'natel-discrete-panel.timeText' | translate}} @@ -35,7 +35,7 @@
Text Colors
- Background + {{'public.background' | translate}} @@ -45,7 +45,7 @@
Text Colors
- Lines + {{'natel-discrete-panel.lines' | translate}} @@ -57,7 +57,7 @@
Text Colors
-
Color Mappings
+
{{'natel-discrete-panel.colorMappings' | translate}}
@@ -76,11 +76,11 @@
Color Mappings
diff --git a/dist/partials/editor.legend.html b/dist/partials/editor.legend.html index 7818532..2d47e83 100644 --- a/dist/partials/editor.legend.html +++ b/dist/partials/editor.legend.html @@ -4,39 +4,53 @@
-
Legend
+
{{'public.legend' | translate}}
+ + +
+ +
+ +
+
-
Values
+
{{'public.values' | translate}}
- +
- +
diff --git a/dist/partials/editor.mappings.html b/dist/partials/editor.mappings.html index 0b62b31..465c673 100644 --- a/dist/partials/editor.mappings.html +++ b/dist/partials/editor.mappings.html @@ -1,7 +1,7 @@
-
Value Mappings
+
{{'public.valueMappings' | translate}}
@@ -10,38 +10,39 @@
Value Mappings
+ - +
-
Range Mappings
+
{{'natel-discrete-panel.rangeMappings' | translate}}
- From + {{'public.from' | translate}} - To + {{'public.to' | translate}} - Text - + {{'public.text' | translate}} +
@@ -50,18 +51,18 @@
Range Mappings
-
Numeric Conversion
+
{{'natel-discrete-panel.numericConversion' | translate}}
- +
- - + +
diff --git a/dist/partials/editor.options.html b/dist/partials/editor.options.html index def98b0..cbc7e2b 100644 --- a/dist/partials/editor.options.html +++ b/dist/partials/editor.options.html @@ -3,88 +3,70 @@
-
Display
+
{{'public.display' | translate}}
- - -
- - -
-
- - -
-
- - -
- + + + +
+ +
+ +
+
-
Hover tooltip
+
{{'natel-discrete-panel.hoverTooltip' | translate}}
-
Query
+
{{'public.query' | translate}}
-
diff --git a/dist/partials/module.html b/dist/partials/module.html index d7b484f..4b1a056 100644 --- a/dist/partials/module.html +++ b/dist/partials/module.html @@ -1,8 +1,8 @@ -
+
+
- -
+
{{ metric.name }}:
+ +import {MetricsPanelCtrl} from 'app/plugins/sdk'; + +import _ from 'lodash'; +import moment from 'moment'; +import $ from 'jquery'; + +import appEvents from 'app/core/app_events'; + +// Expects a template with: +//
+export class CanvasPanelCtrl extends MetricsPanelCtrl { + data: any; + mouse: any; + $tooltip: any; + wrap: any; + canvas: any; + context: any; + _devicePixelRatio: number; + + constructor($scope, $injector) { + super($scope, $injector); + + this.data = null; + this.mouse = { + position: null, + down: null, + }; + this.$tooltip = $('
'); + + this.events.on('panel-initialized', this.onPanelInitalized.bind(this)); + this.events.on('refresh', this.onRefresh.bind(this)); + this.events.on('render', this.onRender.bind(this)); + + this._devicePixelRatio = 1; + if (window.devicePixelRatio !== undefined) { + this._devicePixelRatio = window.devicePixelRatio; + } + } + + onPanelInitalized() { + //console.log("onPanelInitalized()"); + this.render(); + } + + onRefresh() { + //console.log("onRefresh()"); + this.render(); + } + + // Typically you will override this + onRender() { + if (!this.context) { + console.log('No context!'); + return; + } + console.log('canvas render', this.mouse); + + let rect = this.wrap.getBoundingClientRect(); + + let height = Math.max(this.height, 100); + let width = rect.width; + this.canvas.width = width; + this.canvas.height = height; + + let centerV = height / 2; + + let ctx = this.context; + ctx.lineWidth = 1; + ctx.textBaseline = 'middle'; + + let time = ''; + if (this.mouse.position != null) { + time = this.dashboard.formatDate(moment(this.mouse.position.ts)); + } + + ctx.fillStyle = '#999999'; + ctx.fillRect(0, 0, width, height); + ctx.fillStyle = '#111111'; + ctx.font = '24px "Open Sans", Helvetica, Arial, sans-serif'; + ctx.textAlign = 'left'; + ctx.fillText('Mouse @ ' + time, 10, centerV); + + if (this.mouse.position != null) { + if (this.mouse.down != null) { + let xmin = Math.min(this.mouse.position.x, this.mouse.down.x); + let xmax = Math.max(this.mouse.position.x, this.mouse.down.x); + + // Fill canvas using 'destination-out' and alpha at 0.05 + ctx.globalCompositeOperation = 'destination-out'; + ctx.fillStyle = 'rgba(255, 255, 255, 0.6)'; + ctx.beginPath(); + ctx.fillRect(0, 0, xmin, height); + ctx.fill(); + + ctx.beginPath(); + ctx.fillRect(xmax, 0, width, height); + ctx.fill(); + ctx.globalCompositeOperation = 'source-over'; + } else { + ctx.strokeStyle = '#111'; + ctx.beginPath(); + ctx.moveTo(this.mouse.position.x, 0); + ctx.lineTo(this.mouse.position.x, height); + ctx.lineWidth = 3; + ctx.stroke(); + + ctx.beginPath(); + ctx.moveTo(this.mouse.position.x, 0); + ctx.lineTo(this.mouse.position.x, height); + ctx.strokeStyle = '#e22c14'; + ctx.lineWidth = 2; + ctx.stroke(); + } + } + } + + clearTT() { + this.$tooltip.detach(); + } + + getMousePosition(evt) { + let elapsed = this.range.to - this.range.from; + let rect = this.canvas.getBoundingClientRect(); + let x = evt.offsetX; // - rect.left; + let ts = this.range.from + elapsed * (x / parseFloat(rect.width)); + let y = evt.clientY - rect.top; + + return { + x: x, + y: y, + yRel: y / parseFloat(rect.height), + ts: ts, + evt: evt, + }; + } + + onGraphHover(evt, showTT, isExternal) { + console.log('HOVER', evt, showTT, isExternal); + } + + onMouseClicked(where) { + console.log('CANVAS CLICKED', where); + this.render(); + } + + onMouseSelectedRange(range) { + console.log('CANVAS Range', range); + } + + link(scope, elem, attrs, ctrl) { + this.wrap = elem.find('.canvas-spot')[0]; + this.canvas = document.createElement('canvas'); + this.wrap.appendChild(this.canvas); + + $(this.canvas).css('cursor', 'pointer'); + $(this.wrap).css('width', '100%'); + + // console.log( 'link', this ); + + this.context = this.canvas.getContext('2d'); + this.canvas.addEventListener( + 'mousemove', + evt => { + if (!this.range) { + return; // skip events before we have loaded + } + + this.mouse.position = this.getMousePosition(evt); + let info = { + pos: { + pageX: evt.pageX, + pageY: evt.pageY, + x: this.mouse.position.ts, + y: this.mouse.position.y, + panelRelY: this.mouse.position.yRel, + panelRelX: this.mouse.position.xRel, + }, + evt: evt, + panel: this.panel, + }; + appEvents.emit('graph-hover', info); + if (this.mouse.down != null) { + $(this.canvas).css('cursor', 'col-resize'); + } + }, + false + ); + + this.canvas.addEventListener( + 'mouseout', + evt => { + if (this.mouse.down == null) { + this.mouse.position = null; + this.onRender(); + this.$tooltip.detach(); + appEvents.emit('graph-hover-clear'); + } + }, + false + ); + + this.canvas.addEventListener( + 'mousedown', + evt => { + this.mouse.down = this.getMousePosition(evt); + }, + false + ); + + this.canvas.addEventListener( + 'mouseenter', + evt => { + if (this.mouse.down && !evt.buttons) { + this.mouse.position = null; + this.mouse.down = null; + this.onRender(); + this.$tooltip.detach(); + appEvents.emit('graph-hover-clear'); + } + $(this.canvas).css('cursor', 'pointer'); + }, + false + ); + + this.canvas.addEventListener( + 'mouseup', + evt => { + this.$tooltip.detach(); + let up = this.getMousePosition(evt); + if (this.mouse.down != null) { + if (up.x === this.mouse.down.x && up.y === this.mouse.down.y) { + this.mouse.position = null; + this.mouse.down = null; + this.onMouseClicked(up); + } else { + let min = Math.min(this.mouse.down.ts, up.ts); + let max = Math.max(this.mouse.down.ts, up.ts); + let range = {from: moment.utc(min), to: moment.utc(max)}; + this.mouse.position = up; + this.onMouseSelectedRange(range); + } + } + this.mouse.down = null; + this.mouse.position = null; + }, + false + ); + + this.canvas.addEventListener( + 'dblclick', + evt => { + this.mouse.position = null; + this.mouse.down = null; + this.onRender(); + this.$tooltip.detach(); + appEvents.emit('graph-hover-clear'); + + console.log('TODO, ZOOM OUT'); + }, + true + ); + + // global events + appEvents.on( + 'graph-hover', + event => { + // ignore other graph hover events if shared tooltip is disabled + let isThis = event.panel.id === this.panel.id; + if (!this.dashboard.sharedTooltipModeEnabled() && !isThis) { + return; + } + + // ignore if other panels are fullscreen + if (this.otherPanelInFullscreenMode()) { + return; + } + + // Calculate the mouse position when it came from somewhere else + if (!isThis) { + if (!event.pos.x) { + console.log('Invalid hover point', event); + return; + } + + let ts = event.pos.x; + let rect = this.canvas.getBoundingClientRect(); + let elapsed = this.range.to - this.range.from; + let x = (ts - this.range.from) / elapsed * rect.width; + + this.mouse.position = { + x: x, + y: event.pos.panelRelY * rect.height, + yRel: event.pos.panelRelY, + ts: ts, + gevt: event, + }; + //console.log( "Calculate mouseInfo", event, this.mouse.position); + } + + this.onGraphHover( + event, + isThis || !this.dashboard.sharedCrosshairModeOnly(), + !isThis + ); + }, + scope + ); + + appEvents.on( + 'graph-hover-clear', + (event, info) => { + this.mouse.position = null; + this.mouse.down = null; + this.render(); + this.$tooltip.detach(); + }, + scope + ); + + // scope.$on('$destroy', () => { + // this.$tooltip.destroy(); + // elem.off(); + // elem.remove(); + // }); + } + + // Utility Functions for time axis + //--------------------------------- + + time_format(range: number, secPerTick: number): string { + let oneDay = 86400000; + let oneYear = 31536000000; + + if (secPerTick <= 45) { + return '%H:%M:%S'; + } + if (secPerTick <= 7200 || range <= oneDay) { + return '%H:%M'; + } + if (secPerTick <= 80000) { + return '%m/%d %H:%M'; + } + if (secPerTick <= 2419200 || range <= oneYear) { + return '%m/%d'; + } + return '%Y-%m'; + } + + getTimeResolution(estTimeInterval: number): number { + let timeIntInSecs = estTimeInterval / 1000; + + if (timeIntInSecs <= 30) { + return 30 * 1000; + } + + if (timeIntInSecs <= 60) { + return 60 * 1000; + } + + if (timeIntInSecs <= 60 * 5) { + return 5 * 60 * 1000; + } + + if (timeIntInSecs <= 60 * 10) { + return 10 * 60 * 1000; + } + + if (timeIntInSecs <= 60 * 30) { + return 30 * 60 * 1000; + } + + if (timeIntInSecs <= 60 * 60) { + return 60 * 60 * 1000; + } + + if (timeIntInSecs <= 60 * 60) { + return 60 * 60 * 1000; + } + + if (timeIntInSecs <= 2 * 60 * 60) { + return 2 * 60 * 60 * 1000; + } + + if (timeIntInSecs <= 6 * 60 * 60) { + return 6 * 60 * 60 * 1000; + } + + if (timeIntInSecs <= 12 * 60 * 60) { + return 12 * 60 * 60 * 1000; + } + + if (timeIntInSecs <= 24 * 60 * 60) { + return 24 * 60 * 60 * 1000; + } + + if (timeIntInSecs <= 2 * 24 * 60 * 60) { + return 2 * 24 * 60 * 60 * 1000; + } + + if (timeIntInSecs <= 7 * 24 * 60 * 60) { + return 7 * 24 * 60 * 60 * 1000; + } + + if (timeIntInSecs <= 30 * 24 * 60 * 60) { + return 30 * 24 * 60 * 60 * 1000; + } + + return 6 * 30 * 24 * 60 * 60 * 1000; + } + + roundDate(timeStamp, roundee) { + timeStamp -= timeStamp % roundee; //subtract amount of time since midnight + return timeStamp; + } + + formatDate(d, fmt) { + let monthNames = [ + 'Jan', + 'Feb', + 'Mar', + 'Apr', + 'May', + 'Jun', + 'Jul', + 'Aug', + 'Sep', + 'Oct', + 'Nov', + 'Dec', + ]; + let dayNames = ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat']; + if (typeof d.strftime == 'function') { + return d.strftime(fmt); + } + + let r = []; + let escape = false; + let hours = d.getHours(); + let isAM = hours < 12; + + if (monthNames == null) { + monthNames = [ + 'Jan', + 'Feb', + 'Mar', + 'Apr', + 'May', + 'Jun', + 'Jul', + 'Aug', + 'Sep', + 'Oct', + 'Nov', + 'Dec', + ]; + } + + if (dayNames == null) { + dayNames = ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat']; + } + + let hours12; + + if (hours > 12) { + hours12 = hours - 12; + } else if (hours == 0) { + hours12 = 12; + } else { + hours12 = hours; + } + + for (let i = 0; i < fmt.length; ++i) { + let c = fmt.charAt(i); + + if (escape) { + switch (c) { + case 'a': + c = '' + dayNames[d.getDay()]; + break; + case 'b': + c = '' + monthNames[d.getMonth()]; + break; + case 'd': + c = this.leftPad(d.getDate(), ''); + break; + case 'e': + c = this.leftPad(d.getDate(), ' '); + break; + case 'h': // For back-compat with 0.7; remove in 1.0 + case 'H': + c = this.leftPad(hours, null); + break; + case 'I': + c = this.leftPad(hours12, null); + break; + case 'l': + c = this.leftPad(hours12, ' '); + break; + case 'm': + c = this.leftPad(d.getMonth() + 1, ''); + break; + case 'M': + c = this.leftPad(d.getMinutes(), null); + break; + // quarters not in Open Group's strftime specification + case 'q': + c = '' + (Math.floor(d.getMonth() / 3) + 1); + break; + case 'S': + c = this.leftPad(d.getSeconds(), null); + break; + case 'y': + c = this.leftPad(d.getFullYear() % 100, null); + break; + case 'Y': + c = '' + d.getFullYear(); + break; + case 'p': + c = isAM ? '' + 'am' : '' + 'pm'; + break; + case 'P': + c = isAM ? '' + 'AM' : '' + 'PM'; + break; + case 'w': + c = '' + d.getDay(); + break; + } + r.push(c); + escape = false; + } else { + if (c == '%') { + escape = true; + } else { + r.push(c); + } + } + } + + return r.join(''); + } + + leftPad(n, pad) { + n = '' + n; + pad = '' + (pad == null ? '0' : pad); + return n.length == 1 ? pad + n : n; + } +} diff --git a/origin_src/distinct-points.ts b/origin_src/distinct-points.ts new file mode 100644 index 0000000..98f3814 --- /dev/null +++ b/origin_src/distinct-points.ts @@ -0,0 +1,132 @@ +import _ from 'lodash'; + +export class DistinctPoints { + changes: Array = []; + legendInfo: Array = []; + last: any = null; + asc = false; + transitionCount = 0; + distinctValuesCount = 0; + elapsed = 0; + + constructor(public name) {} + + // ts numeric ms, + // val is the normalized value + add(ts: number, val: any) { + if (this.last == null) { + this.last = { + val: val, + start: ts, + ms: 0, + }; + this.changes.push(this.last); + } else if (ts === this.last.ts) { + console.log('skip point with duplicate timestamp', ts, val); + return; + } else { + if (this.changes.length === 1) { + this.asc = ts > this.last.start; + } + + if (ts > this.last.start !== this.asc) { + console.log('skip out of order point', ts, val); + return; + } + + // Same value + if (val === this.last.val) { + if (!this.asc) { + this.last.start = ts; + } + } else { + this.last = { + val: val, + start: ts, + ms: 0, + }; + this.changes.push(this.last); + } + } + } + + finish(ctrl) { + if (this.changes.length < 1) { + console.log('no points found!'); + return; + } + + if (!this.asc) { + this.last = this.changes[0]; + _.reverse(this.changes); + } + + // Add a point beyond the controls + if (this.last.start < ctrl.range.to) { + var until = ctrl.range.to + 1; + // var now = Date.now(); + // if(this.last.start < now && ctrl.range.to > now) { + // until = now; + // } + + // This won't be shown, but will keep the count consistent + this.changes.push({ + val: this.last.val, + start: until, + ms: 0, + }); + } + + this.transitionCount = 0; + var valToInfo = {}; + var lastTS = 0; + var legendCount = 0; + var maxLegendSize = ctrl.panel.legendMaxValues; + if (!maxLegendSize) { + maxLegendSize = 20; + } + var last = this.changes[0]; + for (var i = 1; i < this.changes.length; i++) { + var pt = this.changes[i]; + + var s = last.start; + var e = pt.start; + if (s < ctrl.range.from) { + s = ctrl.range.from; + } else if (s < ctrl.range.to) { + this.transitionCount++; + } + + if (e > ctrl.range.to) { + e = ctrl.range.to; + } + + last.ms = e - s; + if (last.ms > 0) { + if (_.has(valToInfo, last.val)) { + var v = valToInfo[last.val]; + v.ms += last.ms; + v.count++; + } else { + valToInfo[last.val] = {val: last.val, ms: last.ms, count: 1}; + legendCount++; + } + } + last = pt; + } + + var elapsed = ctrl.range.to - ctrl.range.from; + this.elapsed = elapsed; + + _.forEach(valToInfo, value => { + value.per = value.ms / elapsed; + this.legendInfo.push(value); + }); + this.distinctValuesCount = _.size(this.legendInfo); + + if (!ctrl.isTimeline) { + this.legendInfo = _.orderBy(this.legendInfo, ['ms'], ['desc']); + } + //console.log( "FINISH", this ); + } +} diff --git a/origin_src/img/discrete_logo.svg b/origin_src/img/discrete_logo.svg new file mode 100644 index 0000000..022596c --- /dev/null +++ b/origin_src/img/discrete_logo.svg @@ -0,0 +1,60 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/origin_src/img/screenshot-multiple.png b/origin_src/img/screenshot-multiple.png new file mode 100644 index 0000000..b94add3 Binary files /dev/null and b/origin_src/img/screenshot-multiple.png differ diff --git a/origin_src/img/screenshot-options-1.png b/origin_src/img/screenshot-options-1.png new file mode 100644 index 0000000..932caba Binary files /dev/null and b/origin_src/img/screenshot-options-1.png differ diff --git a/origin_src/img/screenshot-options-2.png b/origin_src/img/screenshot-options-2.png new file mode 100644 index 0000000..18cf227 Binary files /dev/null and b/origin_src/img/screenshot-options-2.png differ diff --git a/origin_src/img/screenshot-single-1.png b/origin_src/img/screenshot-single-1.png new file mode 100644 index 0000000..1a0e476 Binary files /dev/null and b/origin_src/img/screenshot-single-1.png differ diff --git a/origin_src/img/screenshot-single-2.png b/origin_src/img/screenshot-single-2.png new file mode 100644 index 0000000..3681fa9 Binary files /dev/null and b/origin_src/img/screenshot-single-2.png differ diff --git a/origin_src/img/screenshot-single-3.png b/origin_src/img/screenshot-single-3.png new file mode 100644 index 0000000..bce8dd5 Binary files /dev/null and b/origin_src/img/screenshot-single-3.png differ diff --git a/origin_src/img/screenshot-single-4.png b/origin_src/img/screenshot-single-4.png new file mode 100644 index 0000000..3460237 Binary files /dev/null and b/origin_src/img/screenshot-single-4.png differ diff --git a/origin_src/module.ts b/origin_src/module.ts new file mode 100644 index 0000000..be17713 --- /dev/null +++ b/origin_src/module.ts @@ -0,0 +1,947 @@ +/// + +import config from 'app/core/config'; + +import {CanvasPanelCtrl} from './canvas-metric'; +import {DistinctPoints} from './distinct-points'; + +import _ from 'lodash'; +import $ from 'jquery'; +import moment from 'moment'; +import kbn from 'app/core/utils/kbn'; + +import appEvents from 'app/core/app_events'; + +const grafanaColors = [ + '#7EB26D', + '#EAB839', + '#6ED0E0', + '#EF843C', + '#E24D42', + '#1F78C1', + '#BA43A9', + '#705DA0', + '#508642', + '#CCA300', + '#447EBC', + '#C15C17', + '#890F02', + '#0A437C', + '#6D1F62', + '#584477', + '#B7DBAB', + '#F4D598', + '#70DBED', + '#F9BA8F', + '#F29191', + '#82B5D8', + '#E5A8E2', + '#AEA2E0', + '#629E51', + '#E5AC0E', + '#64B0C8', + '#E0752D', + '#BF1B00', + '#0A50A1', + '#962D82', + '#614D93', + '#9AC48A', + '#F2C96D', + '#65C5DB', + '#F9934E', + '#EA6460', + '#5195CE', + '#D683CE', + '#806EB7', + '#3F6833', + '#967302', + '#2F575E', + '#99440A', + '#58140C', + '#052B51', + '#511749', + '#3F2B5B', + '#E0F9D7', + '#FCEACA', + '#CFFAFF', + '#F9E2D2', + '#FCE2DE', + '#BADFF4', + '#F9D9F9', + '#DEDAF7', +]; // copied from public/app/core/utils/colors.ts because of changes in grafana 4.6.0 +//(https://github.com/grafana/grafana/blob/master/PLUGIN_DEV.md) + +class DiscretePanelCtrl extends CanvasPanelCtrl { + static templateUrl = 'partials/module.html'; + static scrollable = true; + + defaults = { + display: 'timeline', // or 'stacked' + rowHeight: 50, + valueMaps: [{value: 'null', op: '=', text: 'N/A'}], + rangeMaps: [{from: 'null', to: 'null', text: 'N/A'}], + colorMaps: [{text: 'N/A', color: '#CCC'}], + metricNameColor: '#000000', + valueTextColor: '#000000', + timeTextColor: '#d8d9da', + crosshairColor: '#8F070C', + backgroundColor: 'rgba(128,128,128,0.1)', + lineColor: 'rgba(0,0,0,0.1)', + textSize: 24, + textSizeTime: 12, + extendLastValue: true, + writeLastValue: true, + writeAllValues: false, + writeMetricNames: false, + showTimeAxis: true, + showLegend: true, + showLegendNames: true, + showLegendValues: true, + showLegendPercent: true, + highlightOnMouseover: true, + expandFromQueryS: 0, + legendSortBy: '-ms', + units: 'short', + }; + + data: any = null; + externalPT = false; + isTimeline = true; + isStacked = false; + hoverPoint: any = null; + colorMap: any = {}; + _colorsPaleteCash: any = null; + unitFormats: any = null; // only used for editor + formatter: any = null; + + _renderDimensions: any = {}; + _selectionMatrix: Array> = []; + + constructor($scope, $injector) { + super($scope, $injector); + + // defaults configs + _.defaultsDeep(this.panel, this.defaults); + this.panel.display = 'timeline'; // Only supported version now + + this.events.on('init-edit-mode', this.onInitEditMode.bind(this)); + this.events.on('render', this.onRender.bind(this)); + this.events.on('data-received', this.onDataReceived.bind(this)); + this.events.on('panel-initialized', this.onPanelInitialized.bind(this)); + this.events.on('data-error', this.onDataError.bind(this)); + this.events.on('refresh', this.onRefresh.bind(this)); + } + + onPanelInitialized() { + this.updateColorInfo(); + this.onConfigChanged(); + } + + onDataError(err) { + console.log('onDataError', err); + } + + onInitEditMode() { + this.unitFormats = kbn.getUnitFormats(); + + this.addEditorTab( + 'Options', + 'public/plugins/natel-discrete-panel/partials/editor.options.html', + 1 + ); + this.addEditorTab( + 'Legend', + 'public/plugins/natel-discrete-panel/partials/editor.legend.html', + 3 + ); + this.addEditorTab( + 'Colors', + 'public/plugins/natel-discrete-panel/partials/editor.colors.html', + 4 + ); + this.addEditorTab( + 'Mappings', + 'public/plugins/natel-discrete-panel/partials/editor.mappings.html', + 5 + ); + this.editorTabIndex = 1; + this.refresh(); + } + + onRender() { + if (this.data == null || !this.context) { + return; + } + + this._updateRenderDimensions(); + this._updateSelectionMatrix(); + this._updateCanvasSize(); + this._renderRects(); + this._renderTimeAxis(); + this._renderLabels(); + this._renderSelection(); + this._renderCrosshair(); + } + + showLegandTooltip(pos, info) { + let body = '
' + info.val + '
'; + + body += '
'; + if (info.count > 1) { + body += info.count + ' times
for
'; + } + body += moment.duration(info.ms).humanize(); + if (info.count > 1) { + body += '
total'; + } + body += '
'; + + this.$tooltip.html(body).place_tt(pos.pageX + 20, pos.pageY); + } + + clearTT() { + this.$tooltip.detach(); + } + + formatValue(val) { + if (_.isNumber(val)) { + if (this.panel.rangeMaps) { + for (let i = 0; i < this.panel.rangeMaps.length; i++) { + let map = this.panel.rangeMaps[i]; + + // value/number to range mapping + let from = parseFloat(map.from); + let to = parseFloat(map.to); + if (to >= val && from <= val) { + return map.text; + } + } + } + if (this.formatter) { + return this.formatter(val, this.panel.decimals); + } + } + + let isNull = _.isNil(val); + if (!isNull && !_.isString(val)) { + val = val.toString(); // convert everything to a string + } + + for (let i = 0; i < this.panel.valueMaps.length; i++) { + let map = this.panel.valueMaps[i]; + // special null case + if (map.value === 'null') { + if (isNull) { + return map.text; + } + continue; + } + + if (val === map.value) { + return map.text; + } + } + + if (isNull) { + return 'null'; + } + return val; + } + + getColor(val) { + if (_.has(this.colorMap, val)) { + return this.colorMap[val]; + } + if (this._colorsPaleteCash[val] === undefined) { + let c = grafanaColors[this._colorsPaleteCash.length % grafanaColors.length]; + this._colorsPaleteCash[val] = c; + this._colorsPaleteCash.length++; + } + return this._colorsPaleteCash[val]; + } + + randomColor() { + let letters = 'ABCDE'.split(''); + let color = '#'; + for (let i = 0; i < 3; i++) { + color += letters[Math.floor(Math.random() * letters.length)]; + } + return color; + } + + // Override the + applyPanelTimeOverrides() { + super.applyPanelTimeOverrides(); + + if (this.panel.expandFromQueryS && this.panel.expandFromQueryS > 0) { + let from = this.range.from.subtract(this.panel.expandFromQueryS, 's'); + this.range.from = from; + this.range.raw.from = from; + } + } + + onDataReceived(dataList) { + $(this.canvas).css('cursor', 'pointer'); + + // console.log('GOT', dataList); + + let data = []; + _.forEach(dataList, metric => { + if ('table' === metric.type) { + if ('time' !== metric.columns[0].type) { + throw new Error('Expected a time column from the table format'); + } + + let last = null; + for (let i = 1; i < metric.columns.length; i++) { + let res = new DistinctPoints(metric.columns[i].text); + for (let j = 0; j < metric.rows.length; j++) { + let row = metric.rows[j]; + res.add(row[0], this.formatValue(row[i])); + } + res.finish(this); + data.push(res); + } + } else { + let res = new DistinctPoints(metric.target); + _.forEach(metric.datapoints, point => { + res.add(point[1], this.formatValue(point[0])); + }); + res.finish(this); + data.push(res); + } + }); + this.data = data; + + this.onRender(); + + //console.log( 'data', dataList, this.data); + } + + removeColorMap(map) { + let index = _.indexOf(this.panel.colorMaps, map); + this.panel.colorMaps.splice(index, 1); + this.updateColorInfo(); + } + + updateColorInfo() { + let cm = {}; + for (let i = 0; i < this.panel.colorMaps.length; i++) { + let m = this.panel.colorMaps[i]; + if (m.text) { + cm[m.text] = m.color; + } + } + this._colorsPaleteCash = {}; + this._colorsPaleteCash.length = 0; + this.colorMap = cm; + this.render(); + } + + addColorMap(what) { + if (what === 'curent') { + _.forEach(this.data, metric => { + if (metric.legendInfo) { + _.forEach(metric.legendInfo, info => { + if (!_.has(this.colorMap, info.val)) { + let v = {text: info.val, color: this.getColor(info.val)}; + this.panel.colorMaps.push(v); + this.colorMap[info.val] = v; + } + }); + } + }); + } else { + this.panel.colorMaps.push({text: '???', color: this.randomColor()}); + } + this.updateColorInfo(); + } + + removeValueMap(map) { + let index = _.indexOf(this.panel.valueMaps, map); + this.panel.valueMaps.splice(index, 1); + this.render(); + } + + addValueMap() { + this.panel.valueMaps.push({value: '', op: '=', text: ''}); + } + + removeRangeMap(rangeMap) { + let index = _.indexOf(this.panel.rangeMaps, rangeMap); + this.panel.rangeMaps.splice(index, 1); + this.render(); + } + + addRangeMap() { + this.panel.rangeMaps.push({from: '', to: '', text: ''}); + } + + onConfigChanged(update = false) { + this.isTimeline = this.panel.display === 'timeline'; + this.isStacked = this.panel.display === 'stacked'; + + this.formatter = null; + if (this.panel.units && 'none' !== this.panel.units) { + this.formatter = kbn.valueFormats[this.panel.units]; + } + + if (update) { + this.refresh(); + } else { + this.render(); + } + } + + getLegendDisplay(info, metric) { + let disp = info.val; + if ( + this.panel.showLegendPercent || + this.panel.showLegendCounts || + this.panel.showLegendTime + ) { + disp += ' ('; + let hassomething = false; + if (this.panel.showLegendTime) { + disp += moment.duration(info.ms).humanize(); + hassomething = true; + } + + if (this.panel.showLegendPercent) { + if (hassomething) { + disp += ', '; + } + + let dec = this.panel.legendPercentDecimals; + if (_.isNil(dec)) { + if (info.per > 0.98 && metric.changes.length > 1) { + dec = 2; + } else if (info.per < 0.02) { + dec = 2; + } else { + dec = 0; + } + } + disp += kbn.valueFormats.percentunit(info.per, dec); + hassomething = true; + } + + if (this.panel.showLegendCounts) { + if (hassomething) { + disp += ', '; + } + disp += info.count + 'x'; + } + disp += ')'; + } + return disp; + } + + //------------------ + // Mouse Events + //------------------ + + showTooltip(evt, point, isExternal) { + let from = point.start; + let to = point.start + point.ms; + let time = point.ms; + let val = point.val; + + if (this.mouse.down != null) { + from = Math.min(this.mouse.down.ts, this.mouse.position.ts); + to = Math.max(this.mouse.down.ts, this.mouse.position.ts); + time = to - from; + val = 'Zoom To:'; + } + + let body = '
' + val + '
'; + + body += '
'; + body += this.dashboard.formatDate(moment(from)) + '
'; + body += 'to
'; + body += this.dashboard.formatDate(moment(to)) + '

'; + body += moment.duration(time).humanize() + '
'; + body += '
'; + + let pageX = 0; + let pageY = 0; + if (isExternal) { + let rect = this.canvas.getBoundingClientRect(); + pageY = rect.top + evt.pos.panelRelY * rect.height; + if (pageY < 0 || pageY > $(window).innerHeight()) { + // Skip Hidden tooltip + this.$tooltip.detach(); + return; + } + pageY += $(window).scrollTop(); + + let elapsed = this.range.to - this.range.from; + let pX = (evt.pos.x - this.range.from) / elapsed; + pageX = rect.left + pX * rect.width; + } else { + pageX = evt.evt.pageX; + pageY = evt.evt.pageY; + } + + this.$tooltip.html(body).place_tt(pageX + 20, pageY + 5); + } + + onGraphHover(evt, showTT, isExternal) { + this.externalPT = false; + if (this.data && this.data.length) { + let hover = null; + let j = Math.floor(this.mouse.position.y / this.panel.rowHeight); + if (j < 0) { + j = 0; + } + if (j >= this.data.length) { + j = this.data.length - 1; + } + + if (this.isTimeline) { + hover = this.data[j].changes[0]; + for (let i = 0; i < this.data[j].changes.length; i++) { + if (this.data[j].changes[i].start > this.mouse.position.ts) { + break; + } + hover = this.data[j].changes[i]; + } + this.hoverPoint = hover; + + if (showTT) { + this.externalPT = isExternal; + this.showTooltip(evt, hover, isExternal); + } + this.onRender(); // refresh the view + } else if (!isExternal) { + if (this.isStacked) { + hover = this.data[j].legendInfo[0]; + for (let i = 0; i < this.data[j].legendInfo.length; i++) { + if (this.data[j].legendInfo[i].x > this.mouse.position.x) { + break; + } + hover = this.data[j].legendInfo[i]; + } + this.hoverPoint = hover; + this.onRender(); // refresh the view + + if (showTT) { + this.externalPT = isExternal; + this.showLegandTooltip(evt.evt, hover); + } + } + } + } else { + this.$tooltip.detach(); // make sure it is hidden + } + } + + onMouseClicked(where) { + let pt = this.hoverPoint; + if (pt && pt.start) { + let range = {from: moment.utc(pt.start), to: moment.utc(pt.start + pt.ms)}; + this.timeSrv.setTime(range); + this.clear(); + } + } + + onMouseSelectedRange(range) { + this.timeSrv.setTime(range); + this.clear(); + } + + clear() { + this.mouse.position = null; + this.mouse.down = null; + this.hoverPoint = null; + $(this.canvas).css('cursor', 'wait'); + appEvents.emit('graph-hover-clear'); + this.render(); + } + + _updateRenderDimensions() { + this._renderDimensions = {}; + + const rect = (this._renderDimensions.rect = this.wrap.getBoundingClientRect()); + const rows = (this._renderDimensions.rows = this.data.length); + const rowHeight = (this._renderDimensions.rowHeight = this.panel.rowHeight); + const rowsHeight = (this._renderDimensions.rowsHeight = rowHeight * rows); + const timeHeight = this.panel.showTimeAxis ? 14 + this.panel.textSizeTime : 0; + const height = (this._renderDimensions.height = rowsHeight + timeHeight); + const width = (this._renderDimensions.width = rect.width); + + let top = 0; + let elapsed = this.range.to - this.range.from; + + this._renderDimensions.matrix = []; + _.forEach(this.data, metric => { + let positions = []; + + if (this.isTimeline) { + let lastBS = 0; + let point = metric.changes[0]; + for (let i = 0; i < metric.changes.length; i++) { + point = metric.changes[i]; + if (point.start <= this.range.to) { + let xt = Math.max(point.start - this.range.from, 0); + let x = xt / elapsed * width; + positions.push(x); + } + } + } + + if (this.isStacked) { + let point = null; + let start = this.range.from; + for (let i = 0; i < metric.legendInfo.length; i++) { + point = metric.legendInfo[i]; + let xt = Math.max(start - this.range.from, 0); + let x = xt / elapsed * width; + positions.push(x); + start += point.ms; + } + } + + this._renderDimensions.matrix.push({ + y: top, + positions: positions, + }); + + top += rowHeight; + }); + } + + _updateSelectionMatrix() { + let selectionPredicates = { + all: function() { + return true; + }, + crosshairHover: function(i, j) { + if (j + 1 === this.data[i].changes.length) { + return this.data[i].changes[j].start <= this.mouse.position.ts; + } + return ( + this.data[i].changes[j].start <= this.mouse.position.ts && + this.mouse.position.ts < this.data[i].changes[j + 1].start + ); + }, + mouseX: function(i, j) { + let row = this._renderDimensions.matrix[i]; + if (j + 1 === row.positions.length) { + return row.positions[j] <= this.mouse.position.x; + } + return ( + row.positions[j] <= this.mouse.position.x && + this.mouse.position.x < row.positions[j + 1] + ); + }, + metric: function(i) { + return this.data[i] === this._selectedMetric; + }, + legendItem: function(i, j) { + if (this.data[i] !== this._selectedMetric) { + return false; + } + return this._selectedLegendItem.val === this._getVal(i, j); + }, + }; + + function getPredicate() { + if (this._selectedLegendItem !== undefined) { + return 'legendItem'; + } + if (this._selectedMetric !== undefined) { + return 'metric'; + } + if (this.mouse.down !== null) { + return 'all'; + } + if (this.panel.highlightOnMouseover && this.mouse.position != null) { + if (this.isTimeline) { + return 'crosshairHover'; + } + if (this.isStacked) { + return 'mouseX'; + } + } + return 'all'; + } + + let pn = getPredicate.bind(this)(); + let predicate = selectionPredicates[pn].bind(this); + this._selectionMatrix = []; + for (let i = 0; i < this._renderDimensions.matrix.length; i++) { + let rs = []; + let r = this._renderDimensions.matrix[i]; + for (let j = 0; j < r.positions.length; j++) { + rs.push(predicate(i, j)); + } + this._selectionMatrix.push(rs); + } + } + + _updateCanvasSize() { + this.canvas.width = this._renderDimensions.width * this._devicePixelRatio; + this.canvas.height = this._renderDimensions.height * this._devicePixelRatio; + + $(this.canvas).css('width', this._renderDimensions.width + 'px'); + $(this.canvas).css('height', this._renderDimensions.height + 'px'); + + this.context.scale(this._devicePixelRatio, this._devicePixelRatio); + } + + _getVal(metricIndex, rectIndex) { + let point = undefined; + if (this.isTimeline) { + point = this.data[metricIndex].changes[rectIndex]; + } + if (this.isStacked) { + point = this.data[metricIndex].legendInfo[rectIndex]; + } + return point.val; + } + + _renderRects() { + const matrix = this._renderDimensions.matrix; + const ctx = this.context; + _.forEach(this.data, (metric, i) => { + const rowObj = matrix[i]; + for (let j = 0; j < rowObj.positions.length; j++) { + const currentX = rowObj.positions[j]; + let nextX = this._renderDimensions.width; + if (j + 1 !== rowObj.positions.length) { + nextX = rowObj.positions[j + 1]; + } + ctx.fillStyle = this.getColor(this._getVal(i, j)); + let globalAlphaTemp = ctx.globalAlpha; + if (!this._selectionMatrix[i][j]) { + ctx.globalAlpha = 0.3; + } + ctx.fillRect( + currentX, + matrix[i].y, + nextX - currentX, + this._renderDimensions.rowHeight + ); + ctx.globalAlpha = globalAlphaTemp; + } + + if (i > 0) { + const top = matrix[i].y; + ctx.strokeStyle = this.panel.lineColor; + ctx.beginPath(); + ctx.moveTo(0, top); + ctx.lineTo(this._renderDimensions.width, top); + ctx.stroke(); + } + }); + } + + _renderLabels() { + let ctx = this.context; + ctx.lineWidth = 1; + ctx.textBaseline = 'middle'; + ctx.font = this.panel.textSize + 'px "Open Sans", Helvetica, Arial, sans-serif'; + + const offset = 2; + const rowHeight = this._renderDimensions.rowHeight; + _.forEach(this.data, (metric, i) => { + const {y, positions} = this._renderDimensions.matrix[i]; + + const centerY = y + rowHeight / 2; + // let labelPositionMetricName = y + rectHeight - this.panel.textSize / 2; + // let labelPositionLastValue = y + rectHeight - this.panel.textSize / 2; + // let labelPositionValue = y + this.panel.textSize / 2; + let labelPositionMetricName = centerY; + let labelPositionLastValue = centerY; + let labelPositionValue = centerY; + + let hoverTextStart = -1; + let hoverTextEnd = -1; + + if (this.mouse.position) { + for (let j = 0; j < positions.length; j++) { + if (positions[j] <= this.mouse.position.x) { + if (j >= positions.length - 1 || positions[j + 1] >= this.mouse.position.x) { + let val = this._getVal(i, j); + ctx.fillStyle = this.panel.valueTextColor; + ctx.textAlign = 'left'; + hoverTextStart = positions[j] + offset; + ctx.fillText(val, hoverTextStart, labelPositionValue); + const txtinfo = ctx.measureText(val); + hoverTextEnd = hoverTextStart + txtinfo.width + 4; + break; + } + } + } + } + + let minTextSpot = 0; + let maxTextSpot = this._renderDimensions.width; + if (this.panel.writeMetricNames) { + ctx.fillStyle = this.panel.metricNameColor; + ctx.textAlign = 'left'; + const txtinfo = ctx.measureText(metric.name); + if (hoverTextStart < 0 || hoverTextStart > txtinfo.width) { + ctx.fillText(metric.name, offset, labelPositionMetricName); + minTextSpot = offset + ctx.measureText(metric.name).width + 2; + } + } + if (this.panel.writeLastValue) { + let val = this._getVal(i, positions.length - 1); + ctx.fillStyle = this.panel.valueTextColor; + ctx.textAlign = 'right'; + const txtinfo = ctx.measureText(val); + const xval = this._renderDimensions.width - offset - txtinfo.width; + if (xval > hoverTextEnd) { + ctx.fillText( + val, + this._renderDimensions.width - offset, + labelPositionLastValue + ); + maxTextSpot = this._renderDimensions.width - ctx.measureText(val).width - 10; + } + } + + if (this.panel.writeAllValues) { + ctx.fillStyle = this.panel.valueTextColor; + ctx.textAlign = 'left'; + for (let j = 0; j < positions.length; j++) { + const val = this._getVal(i, j); + let nextX = this._renderDimensions.width; + if (j + 1 !== positions.length) { + nextX = positions[j + 1]; + } + + const x = positions[j]; + if (x > minTextSpot) { + const width = nextX - x; + if (maxTextSpot > x + width) { + // This clips the text within the given bounds + ctx.save(); + ctx.rect(x, y, width, rowHeight); + ctx.clip(); + + ctx.fillText(val, x + offset, labelPositionValue); + ctx.restore(); + } + } + } + } + }); + } + + _renderSelection() { + if (this.mouse.down === null) { + return; + } + if (this.mouse.position === null) { + return; + } + if (!this.isTimeline) { + return; + } + + let ctx = this.context; + let height = this._renderDimensions.height; + + let xmin = Math.min(this.mouse.position.x, this.mouse.down.x); + let xmax = Math.max(this.mouse.position.x, this.mouse.down.x); + + ctx.fillStyle = 'rgba(110, 110, 110, 0.5)'; + ctx.strokeStyle = 'rgba(110, 110, 110, 0.5)'; + ctx.beginPath(); + ctx.fillRect(xmin, 0, xmax - xmin, height); + ctx.strokeRect(xmin, 0, xmax - xmin, height); + } + + _renderTimeAxis() { + if (!this.panel.showTimeAxis) { + return; + } + + const ctx = this.context; + const rows = this.data.length; + const rowHeight = this.panel.rowHeight; + const height = this._renderDimensions.height; + const width = this._renderDimensions.width; + const top = this._renderDimensions.rowsHeight; + + const headerColumnIndent = 0; // header inset (zero for now) + + ctx.font = this.panel.textSizeTime + 'px "Open Sans", Helvetica, Arial, sans-serif'; + ctx.fillStyle = this.panel.timeTextColor; + ctx.textAlign = 'left'; + ctx.strokeStyle = this.panel.timeTextColor; + ctx.textBaseline = 'top'; + ctx.setLineDash([7, 5]); // dashes are 5px and spaces are 3px + ctx.lineDashOffset = 0; + + let min = _.isUndefined(this.range.from) ? null : this.range.from.valueOf(); + let max = _.isUndefined(this.range.to) ? null : this.range.to.valueOf(); + let minPxInterval = ctx.measureText('12/33 24:59').width * 2; + let estNumTicks = width / minPxInterval; + let estTimeInterval = (max - min) / estNumTicks; + let timeResolution = this.getTimeResolution(estTimeInterval); + let pixelStep = timeResolution / (max - min) * width; + let nextPointInTime = this.roundDate(min, timeResolution) + timeResolution; + let xPos = headerColumnIndent + (nextPointInTime - min) / (max - min) * width; + + let timeFormat = this.time_format(max - min, timeResolution / 1000); + + while (nextPointInTime < max) { + // draw ticks + ctx.beginPath(); + ctx.moveTo(xPos, top + 5); + ctx.lineTo(xPos, 0); + ctx.lineWidth = 1; + ctx.stroke(); + + // draw time label + let date = new Date(nextPointInTime); + let dateStr = this.formatDate(date, timeFormat); + let xOffset = ctx.measureText(dateStr).width / 2; + ctx.fillText(dateStr, xPos - xOffset, top + 10); + + nextPointInTime += timeResolution; + xPos += pixelStep; + } + } + + _renderCrosshair() { + if (this.mouse.down != null) { + return; + } + if (this.mouse.position === null) { + return; + } + if (!this.isTimeline) { + return; + } + + let ctx = this.context; + let rows = this.data.length; + let rowHeight = this.panel.rowHeight; + let height = this._renderDimensions.height; + + ctx.beginPath(); + ctx.moveTo(this.mouse.position.x, 0); + ctx.lineTo(this.mouse.position.x, height); + ctx.strokeStyle = this.panel.crosshairColor; + ctx.setLineDash([]); + ctx.lineWidth = 1; + ctx.stroke(); + + // Draw a Circle around the point if showing a tooltip + if (this.externalPT && rows > 1) { + ctx.beginPath(); + ctx.arc(this.mouse.position.x, this.mouse.position.y, 3, 0, 2 * Math.PI, false); + ctx.fillStyle = this.panel.crosshairColor; + ctx.fill(); + ctx.lineWidth = 1; + } + } +} + +export {DiscretePanelCtrl as PanelCtrl}; diff --git a/origin_src/partials/editor.colors.html b/origin_src/partials/editor.colors.html new file mode 100644 index 0000000..94ac1d7 --- /dev/null +++ b/origin_src/partials/editor.colors.html @@ -0,0 +1,87 @@ + +
+
Text Colors
+
+
+ + Metric Names + + + + + +
+ +
+ + Value Text + + + + + +
+ +
+ + Time Text + + + + + +
+ + +
+ + Background + + + + + +
+ +
+ + Lines + + + + + +
+
+
+ + +
+
Color Mappings
+
+
+ + + + + + + + + + + +
+ +
+ + +
+
+
diff --git a/origin_src/partials/editor.legend.html b/origin_src/partials/editor.legend.html new file mode 100644 index 0000000..7818532 --- /dev/null +++ b/origin_src/partials/editor.legend.html @@ -0,0 +1,82 @@ + + +
+ + +
+
Legend
+ + + + +
+ +
+
Values
+ + +
+ +
+ +
+
+ +
+ + +
+ + + + + + + + +
+ + +
+ +
+
+ +
diff --git a/origin_src/partials/editor.mappings.html b/origin_src/partials/editor.mappings.html new file mode 100644 index 0000000..0b62b31 --- /dev/null +++ b/origin_src/partials/editor.mappings.html @@ -0,0 +1,69 @@ + + +
+
Value Mappings
+
+
+ + + + + + + + +
+ +
+ +
+
+
+ +
+
Range Mappings
+
+
+ + + + From + + To + + Text + +
+ +
+ +
+
+
+ + + +
+
Numeric Conversion
+
+
+ +
+
+ +
+ + +
+ +
+
+ diff --git a/origin_src/partials/editor.options.html b/origin_src/partials/editor.options.html new file mode 100644 index 0000000..def98b0 --- /dev/null +++ b/origin_src/partials/editor.options.html @@ -0,0 +1,91 @@ + + +
+ +
+
Display
+ + + +
+ + +
+
+ + +
+
+ + +
+ + + + + + + + + +
+ +
+
Hover tooltip
+ +
+ +
+
Query
+
+ + +   Seconds +
+
+ +
diff --git a/origin_src/partials/module.html b/origin_src/partials/module.html new file mode 100644 index 0000000..d7b484f --- /dev/null +++ b/origin_src/partials/module.html @@ -0,0 +1,22 @@ + +
+ + +
+
+ {{ metric.name }}: +
+
{{ ctrl.getLegendDisplay( info, metric ) }} +
+
+   Transitions: {{metric.transitionCount}} +
+
+   Distinct: {{metric.distinctValuesCount}} +
+
+
diff --git a/origin_src/plugin.json b/origin_src/plugin.json new file mode 100644 index 0000000..f330072 --- /dev/null +++ b/origin_src/plugin.json @@ -0,0 +1,44 @@ +{ + "type": "panel", + "name": "Discrete", + "id": "natel-discrete-panel", + + "info": { + "description": "Discrete Events grafana", + "author": { + "name": "Natel Energy" + }, + "keywords": ["discrete", "events", "strings"], + "logos": { + "small": "img/discrete_logo.svg", + "large": "img/discrete_logo.svg" + }, + "links": [ + { + "name": "Project site", + "url": "https://github.com/NatelEnergy/grafana-discrete-panel" + }, + { + "name": "MIT License", + "url": "https://github.com/NatelEnergy/grafana-discrete-panel/blob/master/LICENSE" + }, + {"name": "Natel Energy", "url": "http://www.natelenergy.com/"} + ], + "screenshots": [ + {"name": "Single State", "path": "img/screenshot-single-1.png"}, + {"name": "Tooltips", "path": "img/screenshot-single-2.png"}, + {"name": "Summary Tooltips", "path": "img/screenshot-single-3.png"}, + {"name": "Show all values", "path": "img/screenshot-single-4.png"}, + {"name": "Multiple Results", "path": "img/screenshot-multiple.png"}, + {"name": "Options", "path": "img/screenshot-options-1.png"}, + {"name": "Legend", "path": "img/screenshot-options-2.png"} + ], + "version": "%VERSION%", + "updated": "%TODAY%" + }, + + "dependencies": { + "grafanaVersion": "4.x.x", + "plugins": [] + } +} diff --git a/package-lock.json b/package-lock.json index e310431..fda487a 100644 --- a/package-lock.json +++ b/package-lock.json @@ -34,7 +34,7 @@ "integrity": "sha1-w8p0NJOGSMPg2cHjKN1otiLChMo=", "dev": true, "requires": { - "mime-types": "2.1.18", + "mime-types": "~2.1.11", "negotiator": "0.6.1" } }, @@ -50,10 +50,10 @@ "integrity": "sha1-c7Xuyj+rZT49P5Qis0GtQiBdyWU=", "dev": true, "requires": { - "co": "4.6.0", - "fast-deep-equal": "1.1.0", - "fast-json-stable-stringify": "2.0.0", - "json-schema-traverse": "0.3.1" + "co": "^4.6.0", + "fast-deep-equal": "^1.0.0", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.3.0" } }, "ansi-regex": { @@ -75,8 +75,8 @@ "sha512-0XNayC8lTHQ2OI8aljNCN3sSx6hsr/1+rlcDAotXJR7C1oZZHCNsfpbKwMjRA3Uqb5tF1Rae2oloTr4xpq+WjA==", "dev": true, "requires": { - "micromatch": "2.3.11", - "normalize-path": "2.1.1" + "micromatch": "^2.1.5", + "normalize-path": "^2.0.0" } }, "argparse": { @@ -86,7 +86,7 @@ "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", "dev": true, "requires": { - "sprintf-js": "1.0.3" + "sprintf-js": "~1.0.2" }, "dependencies": { "sprintf-js": { @@ -103,7 +103,7 @@ "integrity": "sha1-jzuCf5Vai9ZpaX5KQlasPOrjVs8=", "dev": true, "requires": { - "arr-flatten": "1.1.0" + "arr-flatten": "^1.0.1" } }, "arr-flatten": { @@ -138,7 +138,7 @@ "integrity": "sha1-mjRBDk9OPaI96jdb5b5w8kd47Dk=", "dev": true, "requires": { - "array-uniq": "1.0.3" + "array-uniq": "^1.0.1" } }, "array-uniq": { @@ -240,7 +240,7 @@ "dev": true, "optional": true, "requires": { - "tweetnacl": "0.14.5" + "tweetnacl": "^0.14.3" } }, "better-assert": { @@ -278,15 +278,15 @@ "dev": true, "requires": { "bytes": "2.2.0", - "content-type": "1.0.4", - "debug": "2.2.0", - "depd": "1.1.2", - "http-errors": "1.3.1", + "content-type": "~1.0.1", + "debug": "~2.2.0", + "depd": "~1.1.0", + "http-errors": "~1.3.1", "iconv-lite": "0.4.13", - "on-finished": "2.3.0", + "on-finished": "~2.3.0", "qs": "5.2.0", - "raw-body": "2.1.7", - "type-is": "1.6.16" + "raw-body": "~2.1.5", + "type-is": "~1.6.10" }, "dependencies": { "iconv-lite": { @@ -309,7 +309,7 @@ "integrity": "sha1-T4owBctKfjiJ90kDD9JbluAdLjE=", "dev": true, "requires": { - "hoek": "4.2.1" + "hoek": "4.x.x" } }, "brace-expansion": { @@ -320,7 +320,7 @@ "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", "dev": true, "requires": { - "balanced-match": "1.0.0", + "balanced-match": "^1.0.0", "concat-map": "0.0.1" } }, @@ -330,9 +330,9 @@ "integrity": "sha1-uneWLhLf+WnWt2cR6RS3N4V79qc=", "dev": true, "requires": { - "expand-range": "1.8.2", - "preserve": "0.2.0", - "repeat-element": "1.1.2" + "expand-range": "^1.8.1", + "preserve": "^0.2.0", + "repeat-element": "^1.1.2" } }, "build": { @@ -341,16 +341,16 @@ "integrity": "sha1-cH/gJv/O3crL/c3zVur9pk8VEEY=", "dev": true, "requires": { - "cssmin": "0.3.2", - "jsmin": "1.0.1", - "jxLoader": "0.1.1", - "moo-server": "1.3.0", - "promised-io": "0.3.5", - "timespan": "2.3.0", - "uglify-js": "1.3.5", - "walker": "1.0.7", - "winston": "2.4.1", - "wrench": "1.3.9" + "cssmin": "0.3.x", + "jsmin": "1.x", + "jxLoader": "*", + "moo-server": "*", + "promised-io": "*", + "timespan": "2.x", + "uglify-js": "1.x", + "walker": "1.x", + "winston": "*", + "wrench": "1.3.x" } }, "builtin-modules": { @@ -384,8 +384,8 @@ "integrity": "sha1-MIvur/3ygRkFHvodkyITyRuPkuc=", "dev": true, "requires": { - "camelcase": "2.1.1", - "map-obj": "1.0.1" + "camelcase": "^2.0.0", + "map-obj": "^1.0.0" } }, "caseless": { @@ -400,11 +400,11 @@ "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", "dev": true, "requires": { - "ansi-styles": "2.2.1", - "escape-string-regexp": "1.0.5", - "has-ansi": "2.0.0", - "strip-ansi": "3.0.1", - "supports-color": "2.0.0" + "ansi-styles": "^2.2.1", + "escape-string-regexp": "^1.0.2", + "has-ansi": "^2.0.0", + "strip-ansi": "^3.0.0", + "supports-color": "^2.0.0" } }, "chokidar": { @@ -413,15 +413,15 @@ "integrity": "sha1-eY5ol3gVHIB2tLNg5e3SjNortGg=", "dev": true, "requires": { - "anymatch": "1.3.2", - "async-each": "1.0.1", - "fsevents": "1.1.3", - "glob-parent": "2.0.0", - "inherits": "2.0.3", - "is-binary-path": "1.0.1", - "is-glob": "2.0.1", - "path-is-absolute": "1.0.1", - "readdirp": "2.1.0" + "anymatch": "^1.3.0", + "async-each": "^1.0.0", + "fsevents": "^1.0.0", + "glob-parent": "^2.0.0", + "inherits": "^2.0.1", + "is-binary-path": "^1.0.0", + "is-glob": "^2.0.0", + "path-is-absolute": "^1.0.0", + "readdirp": "^2.0.0" } }, "ci-info": { @@ -450,7 +450,7 @@ "sha512-mjGanIiwQJskCC18rPR6OmrZ6fm2Lc7PeGFYwCmy5J34wC6F1PzdGL6xeMfmgicfYcNLGuVFA3WzXtIDCQSZxQ==", "dev": true, "requires": { - "color-name": "1.1.3" + "color-name": "^1.1.1" } }, "color-name": { @@ -471,7 +471,7 @@ "integrity": "sha1-RYwH4J4NkA/Ci3Cj/sLazR0st/Y=", "dev": true, "requires": { - "lodash": "4.17.5" + "lodash": "^4.5.0" } }, "combined-stream": { @@ -481,7 +481,7 @@ "integrity": "sha1-cj599ugBrFYTETp+RFqbactjKBg=", "dev": true, "requires": { - "delayed-stream": "1.0.0" + "delayed-stream": "~1.0.0" } }, "component-bind": { @@ -516,9 +516,9 @@ "integrity": "sha1-CqxmL9Ur54lk1VMvaUeE5wEQrPc=", "dev": true, "requires": { - "inherits": "2.0.3", - "readable-stream": "2.3.5", - "typedarray": "0.0.6" + "inherits": "^2.0.3", + "readable-stream": "^2.2.2", + "typedarray": "^0.0.6" } }, "connect": { @@ -529,7 +529,7 @@ "requires": { "debug": "2.6.9", "finalhandler": "1.1.0", - "parseurl": "1.3.2", + "parseurl": "~1.3.2", "utils-merge": "1.0.1" }, "dependencies": { @@ -582,9 +582,9 @@ "integrity": "sha1-6L0O/uWPz/b4+UUQoKVUu/ojVEk=", "dev": true, "requires": { - "lru-cache": "4.1.2", - "shebang-command": "1.2.0", - "which": "1.2.14" + "lru-cache": "^4.0.1", + "shebang-command": "^1.2.0", + "which": "^1.2.9" } }, "cryptiles": { @@ -593,7 +593,7 @@ "integrity": "sha1-qJ+7Ig9c4l7FboxKqKT9e1sNKf4=", "dev": true, "requires": { - "boom": "5.2.0" + "boom": "5.x.x" }, "dependencies": { "boom": { @@ -603,7 +603,7 @@ "sha512-Z5BTk6ZRe4tXXQlkqftmsAUANpXmuwlsF5Oov8ThoMbQRzdGTA1ngYRW160GexgOgjsFOKJz0LYhoNi+2AMBUw==", "dev": true, "requires": { - "hoek": "4.2.1" + "hoek": "4.x.x" } } } @@ -621,7 +621,7 @@ "integrity": "sha1-mI3zP+qxke95mmE2nddsF635V+o=", "dev": true, "requires": { - "array-find-index": "1.0.2" + "array-find-index": "^1.0.1" } }, "custom-event": { @@ -642,7 +642,7 @@ "integrity": "sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA=", "dev": true, "requires": { - "assert-plus": "1.0.0" + "assert-plus": "^1.0.0" } }, "dateformat": { @@ -651,8 +651,8 @@ "integrity": "sha1-nxJLZ1lMk3/3BpMuSmQsyo27/uk=", "dev": true, "requires": { - "get-stdin": "4.0.1", - "meow": "3.7.0" + "get-stdin": "^4.0.1", + "meow": "^3.3.0" } }, "debug": { @@ -701,10 +701,10 @@ "integrity": "sha1-ViromZ9Evl6jB29UGdzVnrQ6yVs=", "dev": true, "requires": { - "custom-event": "1.0.1", - "ent": "2.2.0", - "extend": "3.0.1", - "void-elements": "2.0.1" + "custom-event": "~1.0.0", + "ent": "~2.2.0", + "extend": "^3.0.0", + "void-elements": "^2.0.0" } }, "ecc-jsbn": { @@ -714,7 +714,7 @@ "dev": true, "optional": true, "requires": { - "jsbn": "0.1.1" + "jsbn": "~0.1.0" } }, "ee-first": { @@ -832,7 +832,7 @@ "integrity": "sha1-+FWobOYa3E6GIcPNoh56dhLDqNw=", "dev": true, "requires": { - "is-arrayish": "0.2.1" + "is-arrayish": "^0.2.1" } }, "es6-promise": { @@ -879,13 +879,13 @@ "integrity": "sha1-2NdrvBtVIX7RkP1t1J08d07PyNo=", "dev": true, "requires": { - "cross-spawn": "5.1.0", - "get-stream": "3.0.0", - "is-stream": "1.1.0", - "npm-run-path": "2.0.2", - "p-finally": "1.0.0", - "signal-exit": "3.0.2", - "strip-eof": "1.0.0" + "cross-spawn": "^5.0.1", + "get-stream": "^3.0.0", + "is-stream": "^1.1.0", + "npm-run-path": "^2.0.0", + "p-finally": "^1.0.0", + "signal-exit": "^3.0.0", + "strip-eof": "^1.0.0" } }, "exit": { @@ -900,9 +900,9 @@ "integrity": "sha1-SIsdHSRRyz06axks/AMPRMWFX+o=", "dev": true, "requires": { - "array-slice": "0.2.3", - "array-unique": "0.2.1", - "braces": "0.1.5" + "array-slice": "^0.2.3", + "array-unique": "^0.2.1", + "braces": "^0.1.2" }, "dependencies": { "braces": { @@ -911,7 +911,7 @@ "integrity": "sha1-wIVxEIUpHYt1/ddOqw+FlygHEeY=", "dev": true, "requires": { - "expand-range": "0.1.1" + "expand-range": "^0.1.0" } }, "expand-range": { @@ -920,8 +920,8 @@ "integrity": "sha1-TLjtoJk8pW+k9B/ELzy7TMrf8EQ=", "dev": true, "requires": { - "is-number": "0.1.1", - "repeat-string": "0.2.2" + "is-number": "^0.1.1", + "repeat-string": "^0.2.2" } }, "is-number": { @@ -946,7 +946,7 @@ "integrity": "sha1-3wcoTjQqgHzXM6xa9yQR5YHRF3s=", "dev": true, "requires": { - "is-posix-bracket": "0.1.1" + "is-posix-bracket": "^0.1.0" } }, "expand-range": { @@ -955,7 +955,7 @@ "integrity": "sha1-opnv/TNf4nIeuujiV+x5ZE/IUzc=", "dev": true, "requires": { - "fill-range": "2.2.3" + "fill-range": "^2.1.0" } }, "expect.js": { @@ -976,7 +976,7 @@ "integrity": "sha1-Lhj/PS9JqydlzskCPwEdqo2DSaE=", "dev": true, "requires": { - "is-extglob": "1.0.0" + "is-extglob": "^1.0.0" } }, "extract-zip": { @@ -1041,7 +1041,7 @@ "integrity": "sha1-TkkvjQTftviQA1B/btvy1QHnxvQ=", "dev": true, "requires": { - "websocket-driver": "0.7.0" + "websocket-driver": ">=0.5.1" } }, "fd-slicer": { @@ -1050,7 +1050,7 @@ "integrity": "sha1-i1vL2ewyfFBBv5qwI/1nUPEXfmU=", "dev": true, "requires": { - "pend": "1.2.0" + "pend": "~1.2.0" } }, "file-sync-cmp": { @@ -1071,11 +1071,11 @@ "integrity": "sha1-ULd9/X5Gm8dJJHCWNpn+eoSFpyM=", "dev": true, "requires": { - "is-number": "2.1.0", - "isobject": "2.1.0", - "randomatic": "1.1.7", - "repeat-element": "1.1.2", - "repeat-string": "1.6.1" + "is-number": "^2.1.0", + "isobject": "^2.0.0", + "randomatic": "^1.1.3", + "repeat-element": "^1.1.2", + "repeat-string": "^1.5.2" } }, "finalhandler": { @@ -1085,12 +1085,12 @@ "dev": true, "requires": { "debug": "2.6.9", - "encodeurl": "1.0.2", - "escape-html": "1.0.3", - "on-finished": "2.3.0", - "parseurl": "1.3.2", - "statuses": "1.3.1", - "unpipe": "1.0.0" + "encodeurl": "~1.0.1", + "escape-html": "~1.0.3", + "on-finished": "~2.3.0", + "parseurl": "~1.3.2", + "statuses": "~1.3.1", + "unpipe": "~1.0.0" }, "dependencies": { "debug": { @@ -1123,8 +1123,8 @@ "integrity": "sha1-ay6YIrGizgpgq2TWEOzK1TyyTQ8=", "dev": true, "requires": { - "path-exists": "2.1.0", - "pinkie-promise": "2.0.1" + "path-exists": "^2.0.0", + "pinkie-promise": "^2.0.0" } }, "findup-sync": { @@ -1133,7 +1133,7 @@ "integrity": "sha1-N5MKpdgWt3fANEXhlmzGeQpMCxY=", "dev": true, "requires": { - "glob": "5.0.15" + "glob": "~5.0.0" }, "dependencies": { "glob": { @@ -1142,11 +1142,11 @@ "integrity": "sha1-G8k2ueAvSmA/zCIuz3Yz0wuLk7E=", "dev": true, "requires": { - "inflight": "1.0.6", - "inherits": "2.0.3", - "minimatch": "3.0.4", - "once": "1.4.0", - "path-is-absolute": "1.0.1" + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "2 || 3", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" } } } @@ -1163,7 +1163,7 @@ "integrity": "sha1-UmXGgaTylNq78XyVCbZ2OqhFEM4=", "dev": true, "requires": { - "for-in": "1.0.2" + "for-in": "^1.0.1" } }, "forever-agent": { @@ -1178,9 +1178,9 @@ "integrity": "sha1-SXBJi+YEwgwAXU9cI67NIda0kJk=", "dev": true, "requires": { - "asynckit": "0.4.0", + "asynckit": "^0.4.0", "combined-stream": "1.0.6", - "mime-types": "2.1.18" + "mime-types": "^2.1.12" } }, "formatio": { @@ -1189,7 +1189,7 @@ "integrity": "sha1-87IWfZBoxGmKjVH092CjmlTYGOs=", "dev": true, "requires": { - "samsam": "1.3.0" + "samsam": "1.x" } }, "fs-access": { @@ -1198,7 +1198,7 @@ "integrity": "sha1-1qh/JiJxzv6+wwxVNAf7mV2od3o=", "dev": true, "requires": { - "null-check": "1.0.0" + "null-check": "^1.0.0" } }, "fs-extra": { @@ -1207,9 +1207,9 @@ "integrity": "sha1-zTzl9+fLYUWIP8rjGR6Yd/hYeVA=", "dev": true, "requires": { - "graceful-fs": "4.1.11", - "jsonfile": "2.4.0", - "klaw": "1.3.1" + "graceful-fs": "^4.1.2", + "jsonfile": "^2.1.0", + "klaw": "^1.0.0" } }, "fs.realpath": { @@ -1226,8 +1226,8 @@ "dev": true, "optional": true, "requires": { - "nan": "2.9.2", - "node-pre-gyp": "0.6.39" + "nan": "^2.3.0", + "node-pre-gyp": "^0.6.39" }, "dependencies": { "abbrev": { @@ -1252,7 +1252,8 @@ "version": "2.1.1", "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=", - "dev": true + "dev": true, + "optional": true }, "aproba": { "version": "1.1.1", @@ -1313,7 +1314,8 @@ "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-0.4.2.tgz", "integrity": "sha1-yz8+PHMtwPAe5wtAPzAuYddwmDg=", - "dev": true + "dev": true, + "optional": true }, "bcrypt-pbkdf": { "version": "1.0.1", @@ -1330,6 +1332,7 @@ "resolved": "https://registry.npmjs.org/block-stream/-/block-stream-0.0.9.tgz", "integrity": "sha1-E+v+d4oDIFz+A3UUgeu0szAMEmo=", "dev": true, + "optional": true, "requires": { "inherits": "2.0.3" } @@ -1339,6 +1342,7 @@ "resolved": "https://registry.npmjs.org/boom/-/boom-2.10.1.tgz", "integrity": "sha1-OciRjO/1eZ+D+UkqhI9iWt0Mdm8=", "dev": true, + "optional": true, "requires": { "hoek": "2.16.3" } @@ -1349,6 +1353,7 @@ "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.7.tgz", "integrity": "sha1-Pv/DxQ4ABTH7cg6v+A8K6O8jz1k=", "dev": true, + "optional": true, "requires": { "balanced-match": "0.4.2", "concat-map": "0.0.1" @@ -1358,7 +1363,8 @@ "version": "1.0.0", "resolved": "https://registry.npmjs.org/buffer-shims/-/buffer-shims-1.0.0.tgz", "integrity": "sha1-mXjOMXOIxkmth5MCjDR37wRKi1E=", - "dev": true + "dev": true, + "optional": true }, "caseless": { "version": "0.12.0", @@ -1379,7 +1385,8 @@ "resolved": "https://registry.npmjs.org/code-point-at/-/code-point-at-1.1.0.tgz", "integrity": "sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c=", - "dev": true + "dev": true, + "optional": true }, "combined-stream": { "version": "1.0.5", @@ -1387,6 +1394,7 @@ "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.5.tgz", "integrity": "sha1-k4NwpXtKUd6ix3wV1cX9+JUWQAk=", "dev": true, + "optional": true, "requires": { "delayed-stream": "1.0.0" } @@ -1395,26 +1403,30 @@ "version": "0.0.1", "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=", - "dev": true + "dev": true, + "optional": true }, "console-control-strings": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/console-control-strings/-/console-control-strings-1.1.0.tgz", "integrity": "sha1-PXz0Rk22RG6mRL9LOVB/mFEAjo4=", - "dev": true + "dev": true, + "optional": 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 + "dev": true, + "optional": true }, "cryptiles": { "version": "2.0.5", "resolved": "https://registry.npmjs.org/cryptiles/-/cryptiles-2.0.5.tgz", "integrity": "sha1-O9/s3GCBR8HGcgL6KR59ylnqo7g=", "dev": true, + "optional": true, "requires": { "boom": "2.10.1" } @@ -1461,7 +1473,8 @@ "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", "integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk=", - "dev": true + "dev": true, + "optional": true }, "delegates": { "version": "1.0.0", @@ -1498,7 +1511,8 @@ "version": "1.0.2", "resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.0.2.tgz", "integrity": "sha1-4QgOBljjALBilJkMxw4VAiNf1VA=", - "dev": true + "dev": true, + "optional": true }, "forever-agent": { "version": "0.6.1", @@ -1524,13 +1538,15 @@ "version": "1.0.0", "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=", - "dev": true + "dev": true, + "optional": true }, "fstream": { "version": "1.0.11", "resolved": "https://registry.npmjs.org/fstream/-/fstream-1.0.11.tgz", "integrity": "sha1-XB+x8RdHcRTwYyoOtLcbPLD9MXE=", "dev": true, + "optional": true, "requires": { "graceful-fs": "4.1.11", "inherits": "2.0.3", @@ -1594,6 +1610,7 @@ "integrity": "sha512-MJTUg1kjuLeQCJ+ccE4Vpa6kKVXkPYJ2mOCQyUuKLcLQsdrMCpBPUi8qVE6+YuaJkozeA9NusTAw3hLr8Xe5EQ==", "dev": true, + "optional": true, "requires": { "fs.realpath": "1.0.0", "inflight": "1.0.6", @@ -1607,7 +1624,8 @@ "version": "4.1.11", "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.11.tgz", "integrity": "sha1-Dovf5NHduIVNZOBOp8AOKgJuVlg=", - "dev": true + "dev": true, + "optional": true }, "har-schema": { "version": "1.0.5", @@ -1640,6 +1658,7 @@ "resolved": "https://registry.npmjs.org/hawk/-/hawk-3.1.3.tgz", "integrity": "sha1-B4REvXwWQLD+VA0sm3PVlnjo4cQ=", "dev": true, + "optional": true, "requires": { "boom": "2.10.1", "cryptiles": "2.0.5", @@ -1651,7 +1670,8 @@ "version": "2.16.3", "resolved": "https://registry.npmjs.org/hoek/-/hoek-2.16.3.tgz", "integrity": "sha1-ILt0A9POo5jpHcRxCo/xuCdKJe0=", - "dev": true + "dev": true, + "optional": true }, "http-signature": { "version": "1.1.1", @@ -1671,6 +1691,7 @@ "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", "dev": true, + "optional": true, "requires": { "once": "1.4.0", "wrappy": "1.0.2" @@ -1680,7 +1701,8 @@ "version": "2.0.3", "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=", - "dev": true + "dev": true, + "optional": true }, "ini": { "version": "1.3.4", @@ -1695,6 +1717,7 @@ "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz", "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=", "dev": true, + "optional": true, "requires": { "number-is-nan": "1.0.1" } @@ -1711,7 +1734,8 @@ "version": "1.0.0", "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", - "dev": true + "dev": true, + "optional": true }, "isstream": { "version": "0.1.2", @@ -1797,13 +1821,15 @@ "version": "1.27.0", "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.27.0.tgz", "integrity": "sha1-gg9XIpa70g7CXtVeW13oaeVDbrE=", - "dev": true + "dev": true, + "optional": true }, "mime-types": { "version": "2.1.15", "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.15.tgz", "integrity": "sha1-pOv1BkCUVpI3uM9wBGd20J/JKu0=", "dev": true, + "optional": true, "requires": { "mime-db": "1.27.0" } @@ -1814,6 +1840,7 @@ "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", "dev": true, + "optional": true, "requires": { "brace-expansion": "1.1.7" } @@ -1822,13 +1849,15 @@ "version": "0.0.8", "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz", "integrity": "sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0=", - "dev": true + "dev": true, + "optional": true }, "mkdirp": { "version": "0.5.1", "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz", "integrity": "sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM=", "dev": true, + "optional": true, "requires": { "minimist": "0.0.8" } @@ -1891,7 +1920,8 @@ "resolved": "https://registry.npmjs.org/number-is-nan/-/number-is-nan-1.0.1.tgz", "integrity": "sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0=", - "dev": true + "dev": true, + "optional": true }, "oauth-sign": { "version": "0.8.2", @@ -1913,6 +1943,7 @@ "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", "dev": true, + "optional": true, "requires": { "wrappy": "1.0.2" } @@ -1947,7 +1978,8 @@ "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=", - "dev": true + "dev": true, + "optional": true }, "performance-now": { "version": "0.2.0", @@ -1962,7 +1994,8 @@ "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-1.0.7.tgz", "integrity": "sha1-FQ4gt1ZZCtP5EJPyWk8q2L/zC6M=", - "dev": true + "dev": true, + "optional": true }, "punycode": { "version": "1.4.1", @@ -2006,6 +2039,7 @@ "https://registry.npmjs.org/readable-stream/-/readable-stream-2.2.9.tgz", "integrity": "sha1-z3jsb0ptHrQ9JkiMrJfwQudLf8g=", "dev": true, + "optional": true, "requires": { "buffer-shims": "1.0.0", "core-util-is": "1.0.2", @@ -2052,6 +2086,7 @@ "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.1.tgz", "integrity": "sha1-wjOOxkPfeht/5cVPqG9XQopV8z0=", "dev": true, + "optional": true, "requires": { "glob": "7.1.2" } @@ -2060,7 +2095,8 @@ "version": "5.0.1", "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.0.1.tgz", "integrity": "sha1-0mPKVGls2KMGtcplUekt5XkY++c=", - "dev": true + "dev": true, + "optional": true }, "semver": { "version": "5.3.0", @@ -2088,6 +2124,7 @@ "resolved": "https://registry.npmjs.org/sntp/-/sntp-1.0.9.tgz", "integrity": "sha1-ZUEYTMkK7qbG57NeJlkIJEPGYZg=", "dev": true, + "optional": true, "requires": { "hoek": "2.16.3" } @@ -2125,6 +2162,7 @@ "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz", "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=", "dev": true, + "optional": true, "requires": { "code-point-at": "1.1.0", "is-fullwidth-code-point": "1.0.0", @@ -2137,6 +2175,7 @@ "https://registry.npmjs.org/string_decoder/-/string_decoder-1.0.1.tgz", "integrity": "sha1-YuIA8DmVWmgQ2N8KM//A8BNmLZg=", "dev": true, + "optional": true, "requires": { "safe-buffer": "5.0.1" } @@ -2153,6 +2192,7 @@ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", "dev": true, + "optional": true, "requires": { "ansi-regex": "2.1.1" } @@ -2170,6 +2210,7 @@ "resolved": "https://registry.npmjs.org/tar/-/tar-2.2.1.tgz", "integrity": "sha1-jk0qJWwOIYXGsYrWlK7JaLg8sdE=", "dev": true, + "optional": true, "requires": { "block-stream": "0.0.9", "fstream": "1.0.11", @@ -2232,7 +2273,8 @@ "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=", - "dev": true + "dev": true, + "optional": true }, "uuid": { "version": "3.0.1", @@ -2266,7 +2308,8 @@ "version": "1.0.2", "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=", - "dev": true + "dev": true, + "optional": true } } }, @@ -2276,7 +2319,7 @@ "integrity": "sha1-hHIkZ3rbiHDWeSV+0ziP22HkAQU=", "dev": true, "requires": { - "globule": "1.2.0" + "globule": "^1.0.0" } }, "get-stdin": { @@ -2303,7 +2346,7 @@ "integrity": "sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo=", "dev": true, "requires": { - "assert-plus": "1.0.0" + "assert-plus": "^1.0.0" } }, "glob": { @@ -2312,12 +2355,12 @@ "integrity": "sha1-IRuvr0nlJbjNkyYNFKsTYVKz9Xo=", "dev": true, "requires": { - "fs.realpath": "1.0.0", - "inflight": "1.0.6", - "inherits": "2.0.3", - "minimatch": "3.0.4", - "once": "1.4.0", - "path-is-absolute": "1.0.1" + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.0.2", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" } }, "glob-base": { @@ -2326,8 +2369,8 @@ "integrity": "sha1-27Fk9iIbHAscz4Kuoyi0l98Oo8Q=", "dev": true, "requires": { - "glob-parent": "2.0.0", - "is-glob": "2.0.1" + "glob-parent": "^2.0.0", + "is-glob": "^2.0.0" } }, "glob-parent": { @@ -2336,7 +2379,7 @@ "integrity": "sha1-gTg9ctsFT8zPUzbaqQLxgvbtuyg=", "dev": true, "requires": { - "is-glob": "2.0.1" + "is-glob": "^2.0.0" } }, "globule": { @@ -2345,9 +2388,9 @@ "integrity": "sha1-HcScaCLdnoovoAuiopUAboZkvQk=", "dev": true, "requires": { - "glob": "7.1.2", - "lodash": "4.17.5", - "minimatch": "3.0.4" + "glob": "~7.1.1", + "lodash": "~4.17.4", + "minimatch": "~3.0.2" }, "dependencies": { "glob": { @@ -2357,12 +2400,12 @@ "sha512-MJTUg1kjuLeQCJ+ccE4Vpa6kKVXkPYJ2mOCQyUuKLcLQsdrMCpBPUi8qVE6+YuaJkozeA9NusTAw3hLr8Xe5EQ==", "dev": true, "requires": { - "fs.realpath": "1.0.0", - "inflight": "1.0.6", - "inherits": "2.0.3", - "minimatch": "3.0.4", - "once": "1.4.0", - "path-is-absolute": "1.0.1" + "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" } } } @@ -2375,7 +2418,8 @@ }, "grafana-sdk-mocks": { "version": - "github:grafana/grafana-sdk-mocks#82d4b132f1ac9761c969c917382d5fb9988ec632", + "github:grafana/grafana-sdk-mocks#8022ff1856048f8716d00b15b4423795b81f8369", + "from": "github:grafana/grafana-sdk-mocks", "dev": true }, "grunt": { @@ -2384,22 +2428,22 @@ "integrity": "sha1-TmpeaVtwRy/VME9fqeNCNoNqc7w=", "dev": true, "requires": { - "coffeescript": "1.10.0", - "dateformat": "1.0.12", - "eventemitter2": "0.4.14", - "exit": "0.1.2", - "findup-sync": "0.3.0", - "glob": "7.0.6", - "grunt-cli": "1.2.0", - "grunt-known-options": "1.1.0", - "grunt-legacy-log": "1.0.1", - "grunt-legacy-util": "1.0.0", - "iconv-lite": "0.4.19", - "js-yaml": "3.5.5", - "minimatch": "3.0.4", - "nopt": "3.0.6", - "path-is-absolute": "1.0.1", - "rimraf": "2.2.8" + "coffeescript": "~1.10.0", + "dateformat": "~1.0.12", + "eventemitter2": "~0.4.13", + "exit": "~0.1.1", + "findup-sync": "~0.3.0", + "glob": "~7.0.0", + "grunt-cli": "~1.2.0", + "grunt-known-options": "~1.1.0", + "grunt-legacy-log": "~1.0.0", + "grunt-legacy-util": "~1.0.0", + "iconv-lite": "~0.4.13", + "js-yaml": "~3.5.2", + "minimatch": "~3.0.2", + "nopt": "~3.0.6", + "path-is-absolute": "~1.0.0", + "rimraf": "~2.2.8" }, "dependencies": { "grunt-cli": { @@ -2408,10 +2452,10 @@ "integrity": "sha1-VisRnrsGndtGSs4oRVAb6Xs1tqg=", "dev": true, "requires": { - "findup-sync": "0.3.0", - "grunt-known-options": "1.1.0", - "nopt": "3.0.6", - "resolve": "1.1.7" + "findup-sync": "~0.3.0", + "grunt-known-options": "~1.1.0", + "nopt": "~3.0.6", + "resolve": "~1.1.0" } } } @@ -2423,8 +2467,8 @@ "integrity": "sha1-Vkq/LQN4qYOhW54/MO51tzjEBjg=", "dev": true, "requires": { - "async": "1.5.2", - "rimraf": "2.6.2" + "async": "^1.5.2", + "rimraf": "^2.5.1" }, "dependencies": { "rimraf": { @@ -2434,7 +2478,7 @@ "sha512-lreewLK/BlghmxtfH36YYVg1i8IAce4TI7oao75I1g245+6BctqTVQiBP3YUJ9C6DQOXJmkYR9X9fCLtCOJc5w==", "dev": true, "requires": { - "glob": "7.0.6" + "glob": "^7.0.5" } } } @@ -2446,8 +2490,8 @@ "integrity": "sha1-cGDGWB6QS4qw0A8HbgqPbj58NXM=", "dev": true, "requires": { - "chalk": "1.1.3", - "file-sync-cmp": "0.1.1" + "chalk": "^1.1.1", + "file-sync-cmp": "^0.1.0" } }, "grunt-contrib-watch": { @@ -2457,10 +2501,10 @@ "integrity": "sha1-hKGnodar0m7VaEE0lscxM+mQAY8=", "dev": true, "requires": { - "async": "1.5.2", - "gaze": "1.1.2", - "lodash": "3.10.1", - "tiny-lr": "0.2.1" + "async": "^1.5.0", + "gaze": "^1.0.0", + "lodash": "^3.10.1", + "tiny-lr": "^0.2.1" }, "dependencies": { "lodash": { @@ -2486,11 +2530,11 @@ "sha512-rwuyqNKlI0IPz0DvxzJjcEiQEBaBNVeb1LFoZKxSmHLETFUwhwUrqOsPIxURTKSwNZHZ4ht1YLBYmVU0YZAzHQ==", "dev": true, "requires": { - "colors": "1.1.2", - "grunt-legacy-log-utils": "1.0.0", - "hooker": "0.2.3", - "lodash": "4.17.5", - "underscore.string": "3.3.4" + "colors": "~1.1.2", + "grunt-legacy-log-utils": "~1.0.0", + "hooker": "~0.2.3", + "lodash": "~4.17.5", + "underscore.string": "~3.3.4" } }, "grunt-legacy-log-utils": { @@ -2500,8 +2544,8 @@ "integrity": "sha1-p7ji0Ps1taUPSvmG/BEnSevJbz0=", "dev": true, "requires": { - "chalk": "1.1.3", - "lodash": "4.3.0" + "chalk": "~1.1.1", + "lodash": "~4.3.0" }, "dependencies": { "lodash": { @@ -2519,13 +2563,13 @@ "integrity": "sha1-OGqnjcbtUJhsKxiVcmWxtIq7m4Y=", "dev": true, "requires": { - "async": "1.5.2", - "exit": "0.1.2", - "getobject": "0.1.0", - "hooker": "0.2.3", - "lodash": "4.3.0", - "underscore.string": "3.2.3", - "which": "1.2.14" + "async": "~1.5.2", + "exit": "~0.1.1", + "getobject": "~0.1.0", + "hooker": "~0.2.3", + "lodash": "~4.3.0", + "underscore.string": "~3.2.3", + "which": "~1.2.1" }, "dependencies": { "lodash": { @@ -2550,8 +2594,8 @@ "integrity": "sha1-YzoDvHhIKg4OH5339kWBH8H7sWI=", "dev": true, "requires": { - "async": "2.6.0", - "chalk": "1.1.3" + "async": "^2.0.0", + "chalk": "^1.0.0" }, "dependencies": { "async": { @@ -2561,7 +2605,7 @@ "sha512-xAfGg1/NTLBBKlHFmnd7PlmUW9KhVQIUuSrYem9xzFUZy13ScvtyGGejaae9iAVRiRq9+Cx7DPFaAAhCpyxyPw==", "dev": true, "requires": { - "lodash": "4.17.5" + "lodash": "^4.14.0" } } } @@ -2573,8 +2617,8 @@ "integrity": "sha1-Ir3UP/xZre6bzSdNMqC4PKVQApA=", "dev": true, "requires": { - "bluebird": "2.9.34", - "chokidar": "1.7.0", + "bluebird": "~2.9.34", + "chokidar": "^1.0.5", "typescript": "1.6.2" } }, @@ -2590,8 +2634,8 @@ "integrity": "sha1-ukAsJmGU8VlW7xXg/PJCmT9qff0=", "dev": true, "requires": { - "ajv": "5.5.2", - "har-schema": "2.0.0" + "ajv": "^5.1.0", + "har-schema": "^2.0.0" } }, "has-ansi": { @@ -2600,7 +2644,7 @@ "integrity": "sha1-NPUEnOHs3ysGSa8+8k5F7TVBbZE=", "dev": true, "requires": { - "ansi-regex": "2.1.1" + "ansi-regex": "^2.0.0" } }, "has-binary": { @@ -2638,8 +2682,8 @@ "integrity": "sha1-eNfL/B5tZjA/55g3NlmEUXsvbuE=", "dev": true, "requires": { - "is-stream": "1.1.0", - "pinkie-promise": "2.0.1" + "is-stream": "^1.0.1", + "pinkie-promise": "^2.0.0" } }, "hawk": { @@ -2649,10 +2693,10 @@ "sha512-miowhl2+U7Qle4vdLqDdPt9m09K6yZhkLDTWGoUiUzrQCn+mHHSmfJgAyGaLRZbPmTqfFFjRV1QWCW0VWUJBbQ==", "dev": true, "requires": { - "boom": "4.3.1", - "cryptiles": "3.1.2", - "hoek": "4.2.1", - "sntp": "2.1.0" + "boom": "4.x.x", + "cryptiles": "3.x.x", + "hoek": "4.x.x", + "sntp": "2.x.x" } }, "hoek": { @@ -2682,8 +2726,8 @@ "integrity": "sha1-GX4izevUGYWF6GlO9nhhl7ke2UI=", "dev": true, "requires": { - "inherits": "2.0.3", - "statuses": "1.4.0" + "inherits": "~2.0.1", + "statuses": "1" } }, "http-parser-js": { @@ -2699,8 +2743,8 @@ "integrity": "sha1-Bt/ykpUr9k2+hHH6nfcwZtTzd0I=", "dev": true, "requires": { - "eventemitter3": "1.2.0", - "requires-port": "1.0.0" + "eventemitter3": "1.x.x", + "requires-port": "1.x.x" } }, "http-signature": { @@ -2709,9 +2753,9 @@ "integrity": "sha1-muzZJRFHcvPZW2WmCruPfBj7rOE=", "dev": true, "requires": { - "assert-plus": "1.0.0", - "jsprim": "1.4.1", - "sshpk": "1.13.1" + "assert-plus": "^1.0.0", + "jsprim": "^1.2.2", + "sshpk": "^1.7.0" } }, "husky": { @@ -2721,9 +2765,9 @@ "sha512-e21wivqHpstpoiWA/Yi8eFti8E+sQDSS53cpJsPptPs295QTOQR0ZwnHo2TXy1XOpZFD9rPOd3NpmqTK6uMLJA==", "dev": true, "requires": { - "is-ci": "1.1.0", - "normalize-path": "1.0.0", - "strip-indent": "2.0.0" + "is-ci": "^1.0.10", + "normalize-path": "^1.0.0", + "strip-indent": "^2.0.0" }, "dependencies": { "normalize-path": { @@ -2761,7 +2805,7 @@ "integrity": "sha1-ji1INIdCEhtKghi3oTfppSBJ3IA=", "dev": true, "requires": { - "repeating": "2.0.1" + "repeating": "^2.0.0" } }, "indexof": { @@ -2776,8 +2820,8 @@ "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", "dev": true, "requires": { - "once": "1.4.0", - "wrappy": "1.0.2" + "once": "^1.3.0", + "wrappy": "1" } }, "inherits": { @@ -2798,7 +2842,7 @@ "integrity": "sha1-dfFmQrSA8YenEcgUFh/TpKdlWJg=", "dev": true, "requires": { - "binary-extensions": "1.11.0" + "binary-extensions": "^1.0.0" } }, "is-buffer": { @@ -2815,7 +2859,7 @@ "integrity": "sha1-VAVy0096wxGfj3bDDLwbHgN6/74=", "dev": true, "requires": { - "builtin-modules": "1.1.1" + "builtin-modules": "^1.0.0" } }, "is-ci": { @@ -2825,7 +2869,7 @@ "sha512-c7TnwxLePuqIlxHgr7xtxzycJPegNHFuIrBkwbf8hc58//+Op1CqFkyS+xnIMkwn9UsJIwc174BIjkyBmSpjKg==", "dev": true, "requires": { - "ci-info": "1.1.2" + "ci-info": "^1.0.0" } }, "is-dotfile": { @@ -2841,7 +2885,7 @@ "integrity": "sha1-IjgJj8Ih3gvPpdnqxMRdY4qhxTQ=", "dev": true, "requires": { - "is-primitive": "2.0.0" + "is-primitive": "^2.0.0" } }, "is-extendable": { @@ -2862,7 +2906,7 @@ "integrity": "sha1-zGZ3aVYCvlUO8R6LSqYwU0K20Ko=", "dev": true, "requires": { - "number-is-nan": "1.0.1" + "number-is-nan": "^1.0.0" } }, "is-glob": { @@ -2871,7 +2915,7 @@ "integrity": "sha1-0Jb5JqPe1WAPP9/ZEZjLCIjC2GM=", "dev": true, "requires": { - "is-extglob": "1.0.0" + "is-extglob": "^1.0.0" } }, "is-number": { @@ -2880,7 +2924,7 @@ "integrity": "sha1-Afy7s5NGOlSPL0ZszhbezknbkI8=", "dev": true, "requires": { - "kind-of": "3.2.2" + "kind-of": "^3.0.2" } }, "is-posix-bracket": { @@ -2953,8 +2997,8 @@ "integrity": "sha1-A3fDgBfKvHMisNH7zSWkkWQfL74=", "dev": true, "requires": { - "argparse": "1.0.10", - "esprima": "2.7.3" + "argparse": "^1.0.2", + "esprima": "^2.6.0" } }, "jsbn": { @@ -3002,7 +3046,7 @@ "integrity": "sha1-NzaitCi4e72gzIO1P6PWM6NcKug=", "dev": true, "requires": { - "graceful-fs": "4.1.11" + "graceful-fs": "^4.1.6" } }, "jsprim": { @@ -3030,10 +3074,10 @@ "integrity": "sha1-ATTqUUTlM7WU/B/yX/GU4jXFPs0=", "dev": true, "requires": { - "js-yaml": "0.3.7", - "moo-server": "1.3.0", - "promised-io": "0.3.5", - "walker": "1.0.7" + "js-yaml": "0.3.x", + "moo-server": "1.3.x", + "promised-io": "*", + "walker": "1.x" }, "dependencies": { "js-yaml": { @@ -3051,33 +3095,33 @@ "sha512-k5pBjHDhmkdaUccnC7gE3mBzZjcxyxYsYVaqiL2G5AqlfLyBO5nw2VdNK+O16cveEPd/gIOWULH7gkiYYwVNHg==", "dev": true, "requires": { - "bluebird": "3.5.1", - "body-parser": "1.18.2", - "chokidar": "1.7.0", - "colors": "1.1.2", - "combine-lists": "1.0.1", - "connect": "3.6.6", - "core-js": "2.5.3", - "di": "0.0.1", - "dom-serialize": "2.2.1", - "expand-braces": "0.1.2", - "glob": "7.1.2", - "graceful-fs": "4.1.11", - "http-proxy": "1.16.2", - "isbinaryfile": "3.0.2", - "lodash": "3.10.1", - "log4js": "0.6.38", - "mime": "1.6.0", - "minimatch": "3.0.4", - "optimist": "0.6.1", - "qjobs": "1.2.0", - "range-parser": "1.2.0", - "rimraf": "2.6.2", - "safe-buffer": "5.1.1", + "bluebird": "^3.3.0", + "body-parser": "^1.16.1", + "chokidar": "^1.4.1", + "colors": "^1.1.0", + "combine-lists": "^1.0.0", + "connect": "^3.6.0", + "core-js": "^2.2.0", + "di": "^0.0.1", + "dom-serialize": "^2.2.0", + "expand-braces": "^0.1.1", + "glob": "^7.1.1", + "graceful-fs": "^4.1.2", + "http-proxy": "^1.13.0", + "isbinaryfile": "^3.0.0", + "lodash": "^3.8.0", + "log4js": "^0.6.31", + "mime": "^1.3.4", + "minimatch": "^3.0.2", + "optimist": "^0.6.1", + "qjobs": "^1.1.4", + "range-parser": "^1.2.0", + "rimraf": "^2.6.0", + "safe-buffer": "^5.0.1", "socket.io": "1.7.3", - "source-map": "0.5.7", + "source-map": "^0.5.3", "tmp": "0.0.31", - "useragent": "2.3.0" + "useragent": "^2.1.12" }, "dependencies": { "bluebird": { @@ -3094,15 +3138,15 @@ "dev": true, "requires": { "bytes": "3.0.0", - "content-type": "1.0.4", + "content-type": "~1.0.4", "debug": "2.6.9", - "depd": "1.1.2", - "http-errors": "1.6.2", + "depd": "~1.1.1", + "http-errors": "~1.6.2", "iconv-lite": "0.4.19", - "on-finished": "2.3.0", + "on-finished": "~2.3.0", "qs": "6.5.1", "raw-body": "2.3.2", - "type-is": "1.6.16" + "type-is": "~1.6.15" } }, "bytes": { @@ -3128,12 +3172,12 @@ "sha512-MJTUg1kjuLeQCJ+ccE4Vpa6kKVXkPYJ2mOCQyUuKLcLQsdrMCpBPUi8qVE6+YuaJkozeA9NusTAw3hLr8Xe5EQ==", "dev": true, "requires": { - "fs.realpath": "1.0.0", - "inflight": "1.0.6", - "inherits": "2.0.3", - "minimatch": "3.0.4", - "once": "1.4.0", - "path-is-absolute": "1.0.1" + "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" } }, "http-errors": { @@ -3145,7 +3189,7 @@ "depd": "1.1.1", "inherits": "2.0.3", "setprototypeof": "1.0.3", - "statuses": "1.4.0" + "statuses": ">= 1.3.1 < 2" }, "dependencies": { "depd": { @@ -3194,7 +3238,7 @@ "sha512-lreewLK/BlghmxtfH36YYVg1i8IAce4TI7oao75I1g245+6BctqTVQiBP3YUJ9C6DQOXJmkYR9X9fCLtCOJc5w==", "dev": true, "requires": { - "glob": "7.1.2" + "glob": "^7.0.5" } } } @@ -3207,8 +3251,8 @@ "sha512-uf/ZVpAabDBPvdPdveyk1EPgbnloPvFFGgmRhYLTDH7gEB4nZdSBk8yTU47w1g/drLSx5uMOkjKk7IWKfWg/+w==", "dev": true, "requires": { - "fs-access": "1.0.1", - "which": "1.2.14" + "fs-access": "^1.0.0", + "which": "^1.2.1" } }, "karma-expect": { @@ -3217,7 +3261,7 @@ "integrity": "sha1-xrClb/GJA9sRr08JjMbnzxmM4nU=", "dev": true, "requires": { - "expect.js": "0.3.1" + "expect.js": "^0.3.1" } }, "karma-mocha": { @@ -3236,8 +3280,8 @@ "integrity": "sha1-0jyjSAG9qYY60xjju0vUBisTrNI=", "dev": true, "requires": { - "lodash": "4.17.5", - "phantomjs-prebuilt": "2.1.16" + "lodash": "^4.0.1", + "phantomjs-prebuilt": "^2.1.7" } }, "karma-sinon": { @@ -3252,8 +3296,8 @@ "integrity": "sha1-/iyB+vpkm8j9DuyMxba9dRXB8V0=", "dev": true, "requires": { - "lodash": "4.17.5", - "minimatch": "3.0.4" + "lodash": "^4.16.2", + "minimatch": "^3.0.0" } }, "kew": { @@ -3268,7 +3312,7 @@ "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", "dev": true, "requires": { - "is-buffer": "1.1.6" + "is-buffer": "^1.1.5" } }, "klaw": { @@ -3277,7 +3321,7 @@ "integrity": "sha1-QIhDO0azsbolnXh4XY6W9zugJDk=", "dev": true, "requires": { - "graceful-fs": "4.1.11" + "graceful-fs": "^4.1.9" } }, "livereload-js": { @@ -3294,10 +3338,10 @@ "integrity": "sha1-ByhWEYD9IP+KaSdQWFL8WKrqDIg=", "dev": true, "requires": { - "arrify": "1.0.1", - "multimatch": "2.1.0", - "pkg-up": "1.0.0", - "resolve-pkg": "0.1.0" + "arrify": "^1.0.0", + "multimatch": "^2.0.0", + "pkg-up": "^1.0.0", + "resolve-pkg": "^0.1.0" } }, "load-json-file": { @@ -3306,11 +3350,11 @@ "integrity": "sha1-lWkFcI1YtLq0wiYbBPWfMcmTdMA=", "dev": true, "requires": { - "graceful-fs": "4.1.11", - "parse-json": "2.2.0", - "pify": "2.3.0", - "pinkie-promise": "2.0.1", - "strip-bom": "2.0.0" + "graceful-fs": "^4.1.2", + "parse-json": "^2.2.0", + "pify": "^2.0.0", + "pinkie-promise": "^2.0.0", + "strip-bom": "^2.0.0" } }, "locate-path": { @@ -3319,8 +3363,8 @@ "integrity": "sha1-K1aLJl7slExtnA3pw9u7ygNUzY4=", "dev": true, "requires": { - "p-locate": "2.0.0", - "path-exists": "3.0.0" + "p-locate": "^2.0.0", + "path-exists": "^3.0.0" }, "dependencies": { "path-exists": { @@ -3349,8 +3393,8 @@ "integrity": "sha1-LElBFmldb7JUgJQ9P8hy5mKlIv0=", "dev": true, "requires": { - "readable-stream": "1.0.34", - "semver": "4.3.6" + "readable-stream": "~1.0.2", + "semver": "~4.3.3" }, "dependencies": { "isarray": { @@ -3366,10 +3410,10 @@ "integrity": "sha1-Elgg40vIQtLyqq+v5MKRbuMsFXw=", "dev": true, "requires": { - "core-util-is": "1.0.2", - "inherits": "2.0.3", + "core-util-is": "~1.0.0", + "inherits": "~2.0.1", "isarray": "0.0.1", - "string_decoder": "0.10.31" + "string_decoder": "~0.10.x" } }, "semver": { @@ -3400,8 +3444,8 @@ "integrity": "sha1-W0b4AUft7leIcPCG0Eghz5mOVR8=", "dev": true, "requires": { - "currently-unhandled": "0.4.1", - "signal-exit": "3.0.2" + "currently-unhandled": "^0.4.1", + "signal-exit": "^3.0.0" } }, "lru-cache": { @@ -3411,8 +3455,8 @@ "sha512-wgeVXhrDwAWnIF/yZARsFnMBtdFXOg1b8RIrhilp+0iDYN4mdQcNZElDZ0e4B64BhaxeQ5zN7PMyvu7we1kPeQ==", "dev": true, "requires": { - "pseudomap": "1.0.2", - "yallist": "2.1.2" + "pseudomap": "^1.0.2", + "yallist": "^2.1.2" } }, "makeerror": { @@ -3421,7 +3465,7 @@ "integrity": "sha1-4BpckQnyr3lmDk6LlYd5AYT1qWw=", "dev": true, "requires": { - "tmpl": "1.0.4" + "tmpl": "1.0.x" } }, "map-obj": { @@ -3442,16 +3486,16 @@ "integrity": "sha1-cstmi0JSKCkKu/qFaJJYcwioAfs=", "dev": true, "requires": { - "camelcase-keys": "2.1.0", - "decamelize": "1.2.0", - "loud-rejection": "1.6.0", - "map-obj": "1.0.1", - "minimist": "1.2.0", - "normalize-package-data": "2.4.0", - "object-assign": "4.1.1", - "read-pkg-up": "1.0.1", - "redent": "1.0.0", - "trim-newlines": "1.0.0" + "camelcase-keys": "^2.0.0", + "decamelize": "^1.1.2", + "loud-rejection": "^1.0.0", + "map-obj": "^1.0.1", + "minimist": "^1.1.3", + "normalize-package-data": "^2.3.4", + "object-assign": "^4.0.1", + "read-pkg-up": "^1.0.1", + "redent": "^1.0.0", + "trim-newlines": "^1.0.0" } }, "micromatch": { @@ -3460,19 +3504,19 @@ "integrity": "sha1-hmd8l9FyCzY0MdBNDRUpO9OMFWU=", "dev": true, "requires": { - "arr-diff": "2.0.0", - "array-unique": "0.2.1", - "braces": "1.8.5", - "expand-brackets": "0.1.5", - "extglob": "0.3.2", - "filename-regex": "2.0.1", - "is-extglob": "1.0.0", - "is-glob": "2.0.1", - "kind-of": "3.2.2", - "normalize-path": "2.1.1", - "object.omit": "2.0.1", - "parse-glob": "3.0.4", - "regex-cache": "0.4.4" + "arr-diff": "^2.0.0", + "array-unique": "^0.2.1", + "braces": "^1.8.2", + "expand-brackets": "^0.1.4", + "extglob": "^0.3.1", + "filename-regex": "^2.0.0", + "is-extglob": "^1.0.0", + "is-glob": "^2.0.1", + "kind-of": "^3.0.2", + "normalize-path": "^2.0.1", + "object.omit": "^2.0.0", + "parse-glob": "^3.0.4", + "regex-cache": "^0.4.2" } }, "mime": { @@ -3496,7 +3540,7 @@ "sha512-lc/aahn+t4/SWV/qcmumYjymLsWfN3ELhpmVuUFjgsORruuZPVSwAQryq+HHGvO/SI2KVX26bx+En+zhM8g8hQ==", "dev": true, "requires": { - "mime-db": "1.33.0" + "mime-db": "~1.33.0" } }, "minimatch": { @@ -3506,7 +3550,7 @@ "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", "dev": true, "requires": { - "brace-expansion": "1.1.11" + "brace-expansion": "^1.1.7" } }, "minimist": { @@ -3562,10 +3606,10 @@ "integrity": "sha1-nHkGoi+0wCkZ4vX3UWG0zb1LKis=", "dev": true, "requires": { - "array-differ": "1.0.0", - "array-union": "1.0.2", - "arrify": "1.0.1", - "minimatch": "3.0.4" + "array-differ": "^1.0.0", + "array-union": "^1.0.1", + "arrify": "^1.0.0", + "minimatch": "^3.0.0" } }, "nan": { @@ -3596,11 +3640,11 @@ "sha512-U+Krdzhsw4losPP/Rij5UGTLQgS9gaWmXdRIbZQIQWVsUGDBo+N0m9mrY9CCEnmwssgswwydxLJUZtFfouC0gA==", "dev": true, "requires": { - "@sinonjs/formatio": "2.0.0", - "just-extend": "1.1.27", - "lolex": "2.3.2", - "path-to-regexp": "1.7.0", - "text-encoding": "0.6.4" + "@sinonjs/formatio": "^2.0.0", + "just-extend": "^1.1.27", + "lolex": "^2.3.2", + "path-to-regexp": "^1.7.0", + "text-encoding": "^0.6.4" } }, "nopt": { @@ -3609,7 +3653,7 @@ "integrity": "sha1-xkZdvwirzU2zWTF/eaxopkayj/k=", "dev": true, "requires": { - "abbrev": "1.1.1" + "abbrev": "1" } }, "normalize-package-data": { @@ -3620,10 +3664,10 @@ "sha512-9jjUFbTPfEy3R/ad/2oNbKtW9Hgovl5O1FvFWKkKblNXoN/Oou6+9+KKohPK13Yc3/TyunyWhJp6gvRNR/PPAw==", "dev": true, "requires": { - "hosted-git-info": "2.6.0", - "is-builtin-module": "1.0.0", - "semver": "5.5.0", - "validate-npm-package-license": "3.0.3" + "hosted-git-info": "^2.1.4", + "is-builtin-module": "^1.0.0", + "semver": "2 || 3 || 4 || 5", + "validate-npm-package-license": "^3.0.1" } }, "normalize-path": { @@ -3632,7 +3676,7 @@ "integrity": "sha1-GrKLVW4Zg2Oowab35vogE3/mrtk=", "dev": true, "requires": { - "remove-trailing-separator": "1.1.0" + "remove-trailing-separator": "^1.0.1" } }, "npm-run-path": { @@ -3641,7 +3685,7 @@ "integrity": "sha1-NakjLfo11wZ7TLLd8jV7GHFTbF8=", "dev": true, "requires": { - "path-key": "2.0.1" + "path-key": "^2.0.0" } }, "null-check": { @@ -3681,8 +3725,8 @@ "integrity": "sha1-Gpx0SCnznbuFjHbKNXmuKlTr0fo=", "dev": true, "requires": { - "for-own": "0.1.5", - "is-extendable": "0.1.1" + "for-own": "^0.1.4", + "is-extendable": "^0.1.1" } }, "on-finished": { @@ -3700,7 +3744,7 @@ "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", "dev": true, "requires": { - "wrappy": "1.0.2" + "wrappy": "1" } }, "optimist": { @@ -3709,8 +3753,8 @@ "integrity": "sha1-2j6nRob6IaGaERwybpDrFaAZZoY=", "dev": true, "requires": { - "minimist": "0.0.10", - "wordwrap": "0.0.3" + "minimist": "~0.0.1", + "wordwrap": "~0.0.2" }, "dependencies": { "minimist": { @@ -3746,7 +3790,7 @@ "sha512-Y/OtIaXtUPr4/YpMv1pCL5L5ed0rumAaAeBSj12F+bSlMdys7i8oQF/GUJmfpTS/QoaRrS/k6pma29haJpsMng==", "dev": true, "requires": { - "p-try": "1.0.0" + "p-try": "^1.0.0" } }, "p-locate": { @@ -3755,7 +3799,7 @@ "integrity": "sha1-IKAQOyIqcMj9OcwuWAaA893l7EM=", "dev": true, "requires": { - "p-limit": "1.2.0" + "p-limit": "^1.1.0" } }, "p-try": { @@ -3770,10 +3814,10 @@ "integrity": "sha1-ssN2z7EfNVE7rdFz7wu246OIORw=", "dev": true, "requires": { - "glob-base": "0.3.0", - "is-dotfile": "1.0.3", - "is-extglob": "1.0.0", - "is-glob": "2.0.1" + "glob-base": "^0.3.0", + "is-dotfile": "^1.0.0", + "is-extglob": "^1.0.0", + "is-glob": "^2.0.0" } }, "parse-json": { @@ -3782,7 +3826,7 @@ "integrity": "sha1-9ID0BDTvgHQfhGkJn43qGPVaTck=", "dev": true, "requires": { - "error-ex": "1.3.1" + "error-ex": "^1.2.0" } }, "parsejson": { @@ -3791,7 +3835,7 @@ "integrity": "sha1-q343WfIJ7OmUN5c/fQ8fZK4OZKs=", "dev": true, "requires": { - "better-assert": "1.0.2" + "better-assert": "~1.0.0" } }, "parseqs": { @@ -3800,7 +3844,7 @@ "integrity": "sha1-1SCKNzjkZ2bikbouoXNoSSGouJ0=", "dev": true, "requires": { - "better-assert": "1.0.2" + "better-assert": "~1.0.0" } }, "parseuri": { @@ -3809,7 +3853,7 @@ "integrity": "sha1-gCBKUNTbt3m/3G6+J3jZDkvOMgo=", "dev": true, "requires": { - "better-assert": "1.0.2" + "better-assert": "~1.0.0" } }, "parseurl": { @@ -3824,7 +3868,7 @@ "integrity": "sha1-D+tsZPD8UY2adU3V77YscCJ2H0s=", "dev": true, "requires": { - "pinkie-promise": "2.0.1" + "pinkie-promise": "^2.0.0" } }, "path-is-absolute": { @@ -3863,9 +3907,9 @@ "integrity": "sha1-WcRPfuSR2nBNpBXaWkBwuk+P5EE=", "dev": true, "requires": { - "graceful-fs": "4.1.11", - "pify": "2.3.0", - "pinkie-promise": "2.0.1" + "graceful-fs": "^4.1.2", + "pify": "^2.0.0", + "pinkie-promise": "^2.0.0" } }, "pend": { @@ -3888,15 +3932,15 @@ "integrity": "sha1-79ISpKOWbTZHaE6ouniFSb4q7+8=", "dev": true, "requires": { - "es6-promise": "4.2.4", - "extract-zip": "1.6.6", - "fs-extra": "1.0.0", - "hasha": "2.2.0", - "kew": "0.7.0", - "progress": "1.1.8", - "request": "2.85.0", - "request-progress": "2.0.1", - "which": "1.2.14" + "es6-promise": "^4.0.3", + "extract-zip": "^1.6.5", + "fs-extra": "^1.0.0", + "hasha": "^2.2.0", + "kew": "^0.7.0", + "progress": "^1.1.8", + "request": "^2.81.0", + "request-progress": "^2.0.1", + "which": "^1.2.10" } }, "pify": { @@ -3917,7 +3961,7 @@ "integrity": "sha1-ITXW36ejWMBprJsXh3YogihFD/o=", "dev": true, "requires": { - "pinkie": "2.0.4" + "pinkie": "^2.0.0" } }, "pkg-up": { @@ -3926,7 +3970,7 @@ "integrity": "sha1-Pgj7RhUlxEIWJKM7n35tCvWwWiY=", "dev": true, "requires": { - "find-up": "1.1.2" + "find-up": "^1.0.0" } }, "plugin-typescript": { @@ -3956,11 +4000,11 @@ "sha512-Q4V2GAflSaM739kKH63utbfI2n4s2fCDCyjFC4ykxA9ueb7FknLcLAZSKa3DejHMt5q9Fq395eKTZ9wYwoILBw==", "dev": true, "requires": { - "chalk": "2.3.2", - "execa": "0.8.0", - "find-up": "2.1.0", - "ignore": "3.3.7", - "mri": "1.1.0" + "chalk": "^2.3.0", + "execa": "^0.8.0", + "find-up": "^2.1.0", + "ignore": "^3.3.7", + "mri": "^1.1.0" }, "dependencies": { "ansi-styles": { @@ -3970,7 +4014,7 @@ "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", "dev": true, "requires": { - "color-convert": "1.9.1" + "color-convert": "^1.9.0" } }, "chalk": { @@ -3980,9 +4024,9 @@ "sha512-ZM4j2/ld/YZDc3Ma8PgN7gyAk+kHMMMyzLNryCPGhWrsfAuDVeuid5bpRFTDgMH9JBK2lA4dyyAkkZYF/WcqDQ==", "dev": true, "requires": { - "ansi-styles": "3.2.1", - "escape-string-regexp": "1.0.5", - "supports-color": "5.3.0" + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" } }, "find-up": { @@ -3991,7 +4035,7 @@ "integrity": "sha1-RdG35QbHF93UgndaK3eSCjwMV6c=", "dev": true, "requires": { - "locate-path": "2.0.0" + "locate-path": "^2.0.0" } }, "supports-color": { @@ -4002,7 +4046,7 @@ "sha512-0aP01LLIskjKs3lq52EC0aGBAJhLq7B2Rd8HC/DR/PtNNpcLilNmHC12O+hu0usQpo7wtHNRqtrhBwtDb0+dNg==", "dev": true, "requires": { - "has-flag": "3.0.0" + "has-flag": "^3.0.0" } } } @@ -4064,8 +4108,8 @@ "sha512-D5JUjPyJbaJDkuAazpVnSfVkLlpeO3wDlPROTMLGKG1zMFNFRgrciKo1ltz/AzNTkqE0HzDx655QOL51N06how==", "dev": true, "requires": { - "is-number": "3.0.0", - "kind-of": "4.0.0" + "is-number": "^3.0.0", + "kind-of": "^4.0.0" }, "dependencies": { "is-number": { @@ -4074,7 +4118,7 @@ "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", "dev": true, "requires": { - "kind-of": "3.2.2" + "kind-of": "^3.0.2" }, "dependencies": { "kind-of": { @@ -4083,7 +4127,7 @@ "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", "dev": true, "requires": { - "is-buffer": "1.1.6" + "is-buffer": "^1.1.5" } } } @@ -4094,7 +4138,7 @@ "integrity": "sha1-IIE989cSkosgc3hpGkUGb65y3Vc=", "dev": true, "requires": { - "is-buffer": "1.1.6" + "is-buffer": "^1.1.5" } } } @@ -4136,9 +4180,9 @@ "integrity": "sha1-9f+qXs0pyzHAR0vKfXVra7KePyg=", "dev": true, "requires": { - "load-json-file": "1.1.0", - "normalize-package-data": "2.4.0", - "path-type": "1.1.0" + "load-json-file": "^1.0.0", + "normalize-package-data": "^2.3.2", + "path-type": "^1.0.0" } }, "read-pkg-up": { @@ -4147,8 +4191,8 @@ "integrity": "sha1-nWPBMnbAZZGNV/ACpX9AobZD+wI=", "dev": true, "requires": { - "find-up": "1.1.2", - "read-pkg": "1.1.0" + "find-up": "^1.0.0", + "read-pkg": "^1.0.0" } }, "readable-stream": { @@ -4159,13 +4203,13 @@ "sha512-tK0yDhrkygt/knjowCUiWP9YdV7c5R+8cR0r/kt9ZhBU906Fs6RpQJCEilamRJj1Nx2rWI6LkW9gKqjTkshhEw==", "dev": true, "requires": { - "core-util-is": "1.0.2", - "inherits": "2.0.3", - "isarray": "1.0.0", - "process-nextick-args": "2.0.0", - "safe-buffer": "5.1.1", - "string_decoder": "1.0.3", - "util-deprecate": "1.0.2" + "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.0.3", + "util-deprecate": "~1.0.1" } }, "readdirp": { @@ -4174,10 +4218,10 @@ "integrity": "sha1-TtCtBg3zBzMAxIRANz9y0cxkLXg=", "dev": true, "requires": { - "graceful-fs": "4.1.11", - "minimatch": "3.0.4", - "readable-stream": "2.3.5", - "set-immediate-shim": "1.0.1" + "graceful-fs": "^4.1.2", + "minimatch": "^3.0.2", + "readable-stream": "^2.0.2", + "set-immediate-shim": "^1.0.1" } }, "redent": { @@ -4186,8 +4230,8 @@ "integrity": "sha1-z5Fqsf1fHxbfsggi3W7H9zDCr94=", "dev": true, "requires": { - "indent-string": "2.1.0", - "strip-indent": "1.0.1" + "indent-string": "^2.1.0", + "strip-indent": "^1.0.1" } }, "regex-cache": { @@ -4197,7 +4241,7 @@ "sha512-nVIZwtCjkC9YgvWkpM55B5rBhBYRZhAaJbgcFYXXsHnbZ9UZI9nnVWYZpBlCqv9ho2eZryPnWrZGsOdPwVWXWQ==", "dev": true, "requires": { - "is-equal-shallow": "0.1.3" + "is-equal-shallow": "^0.1.3" } }, "remove-trailing-separator": { @@ -4225,7 +4269,7 @@ "integrity": "sha1-UhTFOpJtNVJwdSf7q0FdvAjQbdo=", "dev": true, "requires": { - "is-finite": "1.0.2" + "is-finite": "^1.0.0" } }, "request": { @@ -4235,28 +4279,28 @@ "sha512-8H7Ehijd4js+s6wuVPLjwORxD4zeuyjYugprdOXlPSqaApmL/QOy+EB/beICHVCHkGMKNh5rvihb5ov+IDw4mg==", "dev": true, "requires": { - "aws-sign2": "0.7.0", - "aws4": "1.6.0", - "caseless": "0.12.0", - "combined-stream": "1.0.6", - "extend": "3.0.1", - "forever-agent": "0.6.1", - "form-data": "2.3.2", - "har-validator": "5.0.3", - "hawk": "6.0.2", - "http-signature": "1.2.0", - "is-typedarray": "1.0.0", - "isstream": "0.1.2", - "json-stringify-safe": "5.0.1", - "mime-types": "2.1.18", - "oauth-sign": "0.8.2", - "performance-now": "2.1.0", - "qs": "6.5.1", - "safe-buffer": "5.1.1", - "stringstream": "0.0.5", - "tough-cookie": "2.3.4", - "tunnel-agent": "0.6.0", - "uuid": "3.2.1" + "aws-sign2": "~0.7.0", + "aws4": "^1.6.0", + "caseless": "~0.12.0", + "combined-stream": "~1.0.5", + "extend": "~3.0.1", + "forever-agent": "~0.6.1", + "form-data": "~2.3.1", + "har-validator": "~5.0.3", + "hawk": "~6.0.2", + "http-signature": "~1.2.0", + "is-typedarray": "~1.0.0", + "isstream": "~0.1.2", + "json-stringify-safe": "~5.0.1", + "mime-types": "~2.1.17", + "oauth-sign": "~0.8.2", + "performance-now": "^2.1.0", + "qs": "~6.5.1", + "safe-buffer": "^5.1.1", + "stringstream": "~0.0.5", + "tough-cookie": "~2.3.3", + "tunnel-agent": "^0.6.0", + "uuid": "^3.1.0" }, "dependencies": { "qs": { @@ -4275,7 +4319,7 @@ "integrity": "sha1-XTa7V5YcZzqlt4jbyBQf3yO0Tgg=", "dev": true, "requires": { - "throttleit": "1.0.0" + "throttleit": "^1.0.0" } }, "requires-port": { @@ -4302,7 +4346,7 @@ "integrity": "sha1-AsyZNBDik2livZcWahsHfalyVTE=", "dev": true, "requires": { - "resolve-from": "2.0.0" + "resolve-from": "^2.0.0" } }, "rimraf": { @@ -4352,7 +4396,7 @@ "integrity": "sha1-RKrGW2lbAzmJaMOfNj/uXer98eo=", "dev": true, "requires": { - "shebang-regex": "1.0.0" + "shebang-regex": "^1.0.0" } }, "shebang-regex": { @@ -4374,17 +4418,17 @@ "sha512-/flfGfIxIRXSvZBHJzIf3iAyGYkmMQq6SQjA0cx9SOuVuq+4ZPPO4LJtH1Ce0Lznax1KSG1U6Dad85wIcSW19w==", "dev": true, "requires": { - "build": "0.1.4", - "diff": "3.5.0", + "build": "^0.1.4", + "diff": "^3.1.0", "formatio": "1.2.0", - "lodash.get": "4.4.2", - "lolex": "2.3.2", - "native-promise-only": "0.8.1", - "nise": "1.3.0", - "path-to-regexp": "1.7.0", - "samsam": "1.3.0", + "lodash.get": "^4.4.2", + "lolex": "^2.1.2", + "native-promise-only": "^0.8.1", + "nise": "^1.0.1", + "path-to-regexp": "^1.7.0", + "samsam": "^1.1.3", "text-encoding": "0.6.4", - "type-detect": "4.0.8" + "type-detect": "^4.0.0" } }, "sntp": { @@ -4394,7 +4438,7 @@ "sha512-FL1b58BDrqS3A11lJ0zEdnJ3UOKqVxawAkF3k7F0CVN7VQ34aZrV+G8BZ1WC9ZL7NyrwsW0oviwsWDgRuVYtJg==", "dev": true, "requires": { - "hoek": "4.2.1" + "hoek": "4.x.x" } }, "socket.io": { @@ -4542,8 +4586,8 @@ "sha512-N19o9z5cEyc8yQQPukRCZ9EUmb4HUpnrmaL/fxS2pBo2jbfcFRVuFZ/oFC+vZz0MNNk0h80iMn5/S6qGZOL5+g==", "dev": true, "requires": { - "spdx-expression-parse": "3.0.0", - "spdx-license-ids": "3.0.0" + "spdx-expression-parse": "^3.0.0", + "spdx-license-ids": "^3.0.0" } }, "spdx-exceptions": { @@ -4562,8 +4606,8 @@ "sha512-Yg6D3XpRD4kkOmTpdgbUiEJFKghJH03fiC1OPll5h/0sO6neh2jqRDVHOQ4o/LMea0tgCkbMgea5ip/e+MkWyg==", "dev": true, "requires": { - "spdx-exceptions": "2.1.0", - "spdx-license-ids": "3.0.0" + "spdx-exceptions": "^2.1.0", + "spdx-license-ids": "^3.0.0" } }, "spdx-license-ids": { @@ -4586,14 +4630,14 @@ "integrity": "sha1-US322mKHFEMW3EwY/hzx2UBzm+M=", "dev": true, "requires": { - "asn1": "0.2.3", - "assert-plus": "1.0.0", - "bcrypt-pbkdf": "1.0.1", - "dashdash": "1.14.1", - "ecc-jsbn": "0.1.1", - "getpass": "0.1.7", - "jsbn": "0.1.1", - "tweetnacl": "0.14.5" + "asn1": "~0.2.3", + "assert-plus": "^1.0.0", + "bcrypt-pbkdf": "^1.0.0", + "dashdash": "^1.12.0", + "ecc-jsbn": "~0.1.1", + "getpass": "^0.1.1", + "jsbn": "~0.1.0", + "tweetnacl": "~0.14.0" } }, "stack-trace": { @@ -4616,7 +4660,7 @@ "sha512-4AH6Z5fzNNBcH+6XDMfA/BTt87skxqJlO0lAh3Dker5zThcAxG6mKz+iGu308UKoPPQ8Dcqx/4JhujzltRa+hQ==", "dev": true, "requires": { - "safe-buffer": "5.1.1" + "safe-buffer": "~5.1.0" } }, "stringstream": { @@ -4631,7 +4675,7 @@ "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", "dev": true, "requires": { - "ansi-regex": "2.1.1" + "ansi-regex": "^2.0.0" } }, "strip-bom": { @@ -4640,7 +4684,7 @@ "integrity": "sha1-YhmoVhZSBJHzV4i9vxRHqZx+aw4=", "dev": true, "requires": { - "is-utf8": "0.2.1" + "is-utf8": "^0.2.0" } }, "strip-eof": { @@ -4655,7 +4699,7 @@ "integrity": "sha1-DHlipq3vp7vUrDZkYKY4VSrhoKI=", "dev": true, "requires": { - "get-stdin": "4.0.1" + "get-stdin": "^4.0.1" } }, "supports-color": { @@ -4669,7 +4713,7 @@ "resolved": "https://registry.npmjs.org/systemjs/-/systemjs-0.19.47.tgz", "integrity": "sha1-yMk5NxgPP1SBx2nNJyB2P7SjHG8=", "requires": { - "when": "3.7.8" + "when": "^3.7.5" } }, "systemjs-plugin-css": { @@ -4704,12 +4748,12 @@ "integrity": "sha1-s/26gC5dVqM8L28QeUsy5Hescp0=", "dev": true, "requires": { - "body-parser": "1.14.2", - "debug": "2.2.0", - "faye-websocket": "0.10.0", - "livereload-js": "2.3.0", - "parseurl": "1.3.2", - "qs": "5.1.0" + "body-parser": "~1.14.0", + "debug": "~2.2.0", + "faye-websocket": "~0.10.0", + "livereload-js": "^2.2.0", + "parseurl": "~1.3.0", + "qs": "~5.1.0" } }, "tmp": { @@ -4718,7 +4762,7 @@ "integrity": "sha1-jzirlDjhcxXl29izZX6L+yd65Kc=", "dev": true, "requires": { - "os-tmpdir": "1.0.2" + "os-tmpdir": "~1.0.1" } }, "tmpl": { @@ -4740,7 +4784,7 @@ "sha512-TZ6TTfI5NtZnuyy/Kecv+CnoROnyXn2DN97LontgQpCwsX2XyLYCC0ENhYkehSOwAp8rTQKc/NUIF7BkQ5rKLA==", "dev": true, "requires": { - "punycode": "1.4.1" + "punycode": "^1.4.1" } }, "trim-newlines": { @@ -4755,7 +4799,7 @@ "integrity": "sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0=", "dev": true, "requires": { - "safe-buffer": "5.1.1" + "safe-buffer": "^5.0.1" } }, "tweetnacl": { @@ -4780,7 +4824,7 @@ "dev": true, "requires": { "media-typer": "0.3.0", - "mime-types": "2.1.18" + "mime-types": "~2.1.18" } }, "typedarray": { @@ -4814,8 +4858,8 @@ "integrity": "sha1-LCo/n4PmR2L9xF5s6sZRQoZCE9s=", "dev": true, "requires": { - "sprintf-js": "1.1.1", - "util-deprecate": "1.0.2" + "sprintf-js": "^1.0.3", + "util-deprecate": "^1.0.2" } }, "unpipe": { @@ -4831,8 +4875,8 @@ "sha512-4AoH4pxuSvHCjqLO04sU6U/uE65BYza8l/KKBS0b0hnUPWi+cQ2BpeTEwejCSx9SPV5/U03nniDTrWx5NrmKdw==", "dev": true, "requires": { - "lru-cache": "4.1.2", - "tmp": "0.0.31" + "lru-cache": "4.1.x", + "tmp": "0.0.x" } }, "util-deprecate": { @@ -4862,8 +4906,8 @@ "sha512-63ZOUnL4SIXj4L0NixR3L1lcjO38crAbgrTpl28t8jjrfuiOBL5Iygm+60qPs/KsZGzPNg6Smnc/oY16QTjF0g==", "dev": true, "requires": { - "spdx-correct": "3.0.0", - "spdx-expression-parse": "3.0.0" + "spdx-correct": "^3.0.0", + "spdx-expression-parse": "^3.0.0" } }, "verror": { @@ -4872,9 +4916,9 @@ "integrity": "sha1-OhBcoXBTr1XW4nDB+CiGguGNpAA=", "dev": true, "requires": { - "assert-plus": "1.0.0", + "assert-plus": "^1.0.0", "core-util-is": "1.0.2", - "extsprintf": "1.3.0" + "extsprintf": "^1.2.0" } }, "void-elements": { @@ -4889,7 +4933,7 @@ "integrity": "sha1-L3+bj9ENZ3JisYqITijRlhjgKPs=", "dev": true, "requires": { - "makeerror": "1.0.11" + "makeerror": "1.0.x" } }, "websocket-driver": { @@ -4899,8 +4943,8 @@ "integrity": "sha1-DK+dLXVdk67gSdS90NP+LMoqJOs=", "dev": true, "requires": { - "http-parser-js": "0.4.11", - "websocket-extensions": "0.1.3" + "http-parser-js": ">=0.4.0", + "websocket-extensions": ">=0.1.1" } }, "websocket-extensions": { @@ -4922,7 +4966,7 @@ "integrity": "sha1-mofEN48D6CfOyvGs31bHNsAcFOU=", "dev": true, "requires": { - "isexe": "2.0.0" + "isexe": "^2.0.0" } }, "winston": { @@ -4932,12 +4976,12 @@ "sha512-k/+Dkzd39ZdyJHYkuaYmf4ff+7j+sCIy73UCOWHYA67/WXU+FF/Y6PF28j+Vy7qNRPHWO+dR+/+zkoQWPimPqg==", "dev": true, "requires": { - "async": "1.0.0", - "colors": "1.0.3", - "cycle": "1.0.3", - "eyes": "0.1.8", - "isstream": "0.1.2", - "stack-trace": "0.0.10" + "async": "~1.0.0", + "colors": "1.0.x", + "cycle": "1.0.x", + "eyes": "0.1.x", + "isstream": "0.1.x", + "stack-trace": "0.0.x" }, "dependencies": { "async": { @@ -4978,8 +5022,8 @@ "integrity": "sha1-iiRPoFJAHgjJiGz0SoUYnh/UBn8=", "dev": true, "requires": { - "options": "0.0.6", - "ultron": "1.0.2" + "options": ">=0.0.5", + "ultron": "1.0.x" } }, "wtf-8": { @@ -5007,7 +5051,7 @@ "integrity": "sha1-lSj0QtqxsihOWLQ3m7GU4i4MQAU=", "dev": true, "requires": { - "fd-slicer": "1.0.1" + "fd-slicer": "~1.0.1" } }, "yeast": { diff --git a/reference/common.d.ts b/reference/common.d.ts new file mode 100644 index 0000000..a89e540 --- /dev/null +++ b/reference/common.d.ts @@ -0,0 +1,220 @@ +/// + +declare var System: any; + +// dummy modules +declare module 'app/core/config' { + var config: any; + export default config; +} + +declare module 'app/core/core_module' { + var coreModule: any; + export default coreModule; +} + +declare module 'lodash' { + var lodash: any; + export default lodash; +} + +declare module 'moment' { + var moment: any; + export default moment; +} + +declare module 'angular' { + var angular: any; + export default angular; +} + +declare module 'jquery' { + var jquery: any; + export default jquery; +} + +declare module 'q' { + var q: any; + export default q; +} + +declare module 'app/core/time_series2' { + var time_series2: any; + export default time_series2; +} + +declare module 'app/core/table_model' { + var table_model: any; + export default table_model; +} + +declare module 'app/core/utils/file_export' { + var file_export: any; + export default file_export; +} + +declare module 'app/core/utils/flatten' { + var flatten: any; + export default flatten; +} + +//shaun add +declare module 'app/core/utils/fontsize' { + var fontsize: any; + export default fontsize; +} + +declare module 'app/core/utils/kbn' { + var kbn: any; + export default kbn; + // var interval_regex: string; + // var intervals_in_seconds: string; + // var formatBuilders: any; + // var valueFormats: any; + + // export function round_interval(interval: number): number; + // export function secondsToHms(seconds: number): string; + // export function to_percent(number: number, outof: number): string; + // export function calculateInterval(range: any, resolution: any, userInterval: any); + // export function describe_interval(string: string): any; + // export function interval_to_ms(string: string): number; + // export function interval_to_seconds(string: string): number; + // export function query_color_dot(color: string, diameter: string|number): string; + // export function slugifyForUrl(str: string): string; + // export function stringToJsRegex(str: string): RegExp; + // export function toFixed(value: any, decimals: any): any; + // export function toFixedScaled(value: any, decimals: any, scaledDecimals: any, additionalDecimals: any, ext: any); + // export function roundValue(num: number, decimals: number): number; + // export function toDuration(size, decimals, timeScale): string; + // export function getUnitFormats(): any; +} + +declare module 'app/core/store' { + var store: any; + export default store; +} + +declare module 'app/core/app_events' { + var appEvents: any; + export default appEvents; +} + +declare module 'tether' { + var config: any; + export default config; +} + +declare module 'tether-drop' { + var config: any; + export default config; +} + +declare module 'eventemitter3' { + var config: any; + export default config; +} + +declare module 'app/core/utils/datemath' { + export function parse(text: any, roundUp?: any): any; + export function isValid(text: any): any; + export function parseDateMath(mathString: any, time: any, roundUp?: any): any; +} + +declare module 'app/plugins/sdk' { + export class PanelCtrl{ + panel: any; + error: any; + row: any; + dashboard: any; + editorTabIndex: number; + pluginName: string; + pluginId: string; + editorTabs: any; + $scope: any; + $injector: any; + $timeout: any; + fullscreen: boolean; + inspector: any; + editModeInitiated: boolean; + editorHelpIndex: number; + editMode: any; + height: any; + containerHeight: any; + events: any; + timing: any; + init(): void; + renderingCompleted(): void; + refresh(): void; + publishAppEvent(evtName: any, evt: any): void; + changeView(fullscreen: boolean, edit: boolean): void; + viewPanel(): void; + editPanel(): void; + exitFullscreen(): void; + initEditMode(): void; + changeTab(newIndex: any): void; + addEditorTab(title: any, directiveFn: any, index?: any): void; + getMenu(): any; + getExtendedMenu(): any; + otherPanelInFullscreenMode(): boolean; + calculatePanelHeight(): void; + render(payload?: any): void; + toggleEditorHelp(index: any): void; + duplicate(): void; + updateColumnSpan(span: any): void; + removePanel(): void; + editPanelJson(): void; + replacePanel(newPanel: any, oldPanel: any): void; + sharePanel(): void; + getInfoMode(): void; + getInfoContent(options: any): void; + openInspector(): void; + } + export class MetricsPanelCtrl extends PanelCtrl{ + constructor($scope:any, $injector: any); + scope: any; + loading: boolean; + datasource: any; + datasourceName: any; + $q: any; + $timeout: any; + datasourceSrv: any; + timeSrv: any; + templateSrv: any; + timing: any; + range: any; + interval: any; + intervalMs: any; + resolution: any; + timeInfo: any; + skipDataOnInit: boolean; + dataStream: any; + dataSubscription: any; + dataList: any; + nextRefId: string; + setTimeQueryStart() :void + setTimeQueryEnd() :void + updateTimeRange(datasource?) :void + calculateInterval() :void + applyPanelTimeOverrides() :void + issueQueries(datasource) :void + handleQueryResult(result) :void + handleDataStream(stream) :void + setDatasource(datasource) :void + addQuery(target) :void + removeQuery(target) :void + moveQuery(target, direction) :void; + } + export class QueryCtrl{ + constructor($scope:any, $injector: any); + target: any; + panelCtrl: any; + panel: any; + datasource: any; + hasRawMode: boolean; + error: string; + + refresh(): void; + } + + export function loadPluginCss(options: any): void; +} diff --git a/reference/fontsize.ts b/reference/fontsize.ts new file mode 100644 index 0000000..7808a30 --- /dev/null +++ b/reference/fontsize.ts @@ -0,0 +1,250 @@ +import operationUrl from 'app/core/utils/operationURL'; + +const fontSize: any = {}; + +fontSize.defaultValues = [ + { + text: '55%', + value: '55%', + vw: '0.5vw', + px: '10px', + }, + { + text: '60%', + value: '60%', + vw: '0.6vw', + px: '12px', + }, + { + text: '65%', + value: '65%', + vw: '0.7vw', + px: '14px', + }, + { + text: '70%', + value: '70%', + vw: '0.8vw', + px: '15px', + }, + { + text: '80%', + value: '80%', + vw: '1vw', + px: '19px', + }, + { + text: '90%', + value: '90%', + vw: '1.2vw', + px: '23px', + }, + { + text: '100%', + value: '100%', + vw: '1.4vw', + px: '27px', + }, + { + text: '110%', + value: '110%', + vw: '1.6vw', + px: '31px', + }, + { + text: '120%', + value: '120%', + vw: '1.8vw', + px: '35px', + }, + { + text: '130%', + value: '130%', + vw: '2vw', + px: '38px', + }, + { + text: '140%', + value: '140%', + vw: '2.2vw', + px: '42px', + }, + { + text: '150%', + value: '150%', + vw: '2.4vw', + px: '46px', + }, + { + text: '160%', + value: '160%', + vw: '2.6vw', + px: '50px', + }, + { + text: '180%', + value: '180%', + vw: '3vw', + px: '58px', + }, + { + text: '200%', + value: '200%', + vw: '3.4vw', + px: '65px', + }, + { + text: '220%', + value: '220%', + vw: '3.8vw', + px: '73px', + }, + { + text: '230%', + value: '230%', + vw: '4vw', + px: '77px', + }, +]; + +//new +fontSize.getValue = (isVw: boolean, font: string) => { + const key = font || '70%'; + let val = ""; + for (let i = 0; i < fontSize.defaultValues.length; i++) { + const option = fontSize.defaultValues[i]; + if (option.text === key || option.vw === key || option.px === key) { + val = isVw ? option.vw : option.px; + if (isVw && window.screen.width < 768) { + val = option.value; + } + if (operationUrl.getUrlParame('reportExport') === 'PDF') { + val = option.px; + } + } + } + val = val || "15px"; + return val; +}; + +//old +fontSize.fontSizeChange = (isVw: boolean, text: any, mobile?: any) => { + let r: string; + fontSize.defaultValues.forEach((val: any) => { + + if (val.text === text) { + + if (isVw) { + r = val.vw; + } else { + r = val.text; + } + + if (mobile === "mobile") { + r = val.text; + } + + } + }); + + return r; +}; + +fontSize.reportVwToPx = (vw: string) => { + let rText = "15px"; + fontSize.defaultValues.forEach((val: any) => { + if (val.vw === vw) { + rText = val.px; + } + }); + return rText; +}; + +fontSize.mobileVwtoText = (vw: string) => { + let rText = "100%"; + fontSize.defaultValues.forEach((val: any) => { + if (val.vw === vw) { + rText = val.text; + } + }); + return rText; +}; + +fontSize.getFontHeight = (font: any, isVw: boolean) => { + const LINE_HEIGHT = 1.5; + let rfont: number; + for (let i = 0; i < fontSize.defaultValues.length; i++) { + const option = fontSize.defaultValues[i]; + if (option.value === font) { + if (isVw) { + const num = parseFloat(option.vw); + const vwTopxScale = window.innerWidth / 100; + rfont = LINE_HEIGHT * num * vwTopxScale; + } else { + const num = parseFloat(option.px); + rfont = LINE_HEIGHT * num; + } + } + } + + rfont = Math.round(rfont); + if (rfont < 19) { + rfont = 19; + } + return rfont; +}; + +//li.na add +fontSize.getGaugeFontPx = (font: any) => { + const unit = font.charAt(font.length - 1); + let rfont: any; + fontSize.defaultValues.forEach((val: any) => { + if (unit === "w") { + if (val.vw === font) { + rfont = val.px; + } + } else if (unit === "%") { + if (val.text === font) { + rfont = val.px; + } + } else { + rfont = val.vw; + } + }); + + rfont = parseFloat(rfont); + return rfont; +}; +//li.na add + +fontSize.upgradesFontsize = (font: any) => { + let rfont = "70%"; + for (let i = 0; i < fontSize.defaultValues.length; i++) { + const option = fontSize.defaultValues[i]; + if (option.px === font || option.vw === font || option.value === font) { + rfont = option.value; + } + } + return rfont; +}; + +fontSize.fontSizeCompatibility = (isVw: boolean, value: any) => { + let r: "70%"; + fontSize.defaultValues.forEach((val: any) => { + if (isVw) { + if (val.vw === value) { + r = val.value; + } + } else { + if (val.px === value) { + r = val.value; + } else if (val.text === value) { + r = val.value; + } + } + }); + + return r; +}; + +export default fontSize; diff --git a/reference/operationURL.ts b/reference/operationURL.ts new file mode 100644 index 0000000..3d3ec99 --- /dev/null +++ b/reference/operationURL.ts @@ -0,0 +1,58 @@ +const operationUrl: any = {}; + +operationUrl.getUrlParame = (name: string, url?: string) => { + //All URL + const reg = new RegExp("(^|&)" + name + "=([^&]*)(&|$)", "i"); + const r = url || window.location.search.substr(1).match(reg); + if (r != null) { + return unescape(r[2]); + } + return null; +}; + +operationUrl.getParame = (name: string, urlParam: any) => { + //? the following URL + const reg = new RegExp("(^|&)" + name + "=([^&]*)(&|$)"); + const r = urlParam.substr(1).match(reg); + if (r != null) { + return decodeURI(r[2]); + } else { + return null; + } +}; + +operationUrl.updateQueryStringParameter = (uri: any, key: any, value: any) => { + const re = new RegExp("([?&])" + key + "=.*?(&|$)", "i"); + const separator = uri.indexOf('?') !== -1 ? "&" : "?"; + if (uri.match(re)) { + if (value) { + return uri.replace(re, '$1' + key + "=" + value + '$2'); + } else { + return uri.replace(re, '$1' + key + '$2'); + } + } else { + if (value) { + return uri + separator + key + "=" + value; + } else { + return uri + separator + key; + } + } +}; + +operationUrl.getUrl = (uri: any) => { + if (!uri) { return; } + /* const index = uri.lastIndexOf("\/"); + let url = uri.substring(index + 1, uri.length); */ + if (uri.indexOf("?") !== -1) { + uri = uri.split("?")[0]; + } + + let url = uri.replace(/(^\s*)|(\s*$)/g, ""); + + if (url.charAt(url.length - 1) === "\/") { + url = url.substring(0, url.length - 1); + } + return url; +}; + +export default operationUrl; diff --git a/src-bak/LICENSE b/src-bak/LICENSE new file mode 100644 index 0000000..56f34d5 --- /dev/null +++ b/src-bak/LICENSE @@ -0,0 +1,21 @@ +The MIT License (MIT) + +Copyright (c) 2016 Natel Energy + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/src-bak/README.md b/src-bak/README.md new file mode 100644 index 0000000..cd219c1 --- /dev/null +++ b/src-bak/README.md @@ -0,0 +1,88 @@ +## Discrete Panel + +This panel shows discrete values in a horizontal graph. This lets show state transitions clearly. It is a good +choice to display string or boolean data + +### Screenshots + +![example](https://raw.githubusercontent.com/NatelEnergy/grafana-discrete-panel/master/src/img/screenshot-multiple.png) +![example](https://raw.githubusercontent.com/NatelEnergy/grafana-discrete-panel/master/src/img/screenshot-single-1.png) +![example](https://raw.githubusercontent.com/NatelEnergy/grafana-discrete-panel/master/src/img/screenshot-single-2.png) +![example](https://raw.githubusercontent.com/NatelEnergy/grafana-discrete-panel/master/src/img/screenshot-single-3.png) +![example](https://raw.githubusercontent.com/NatelEnergy/grafana-discrete-panel/master/src/img/screenshot-single-4.png) +![options](https://raw.githubusercontent.com/NatelEnergy/grafana-discrete-panel/master/src/img/screenshot-options-1.png) +![options](https://raw.githubusercontent.com/NatelEnergy/grafana-discrete-panel/master/src/img/screenshot-options-2.png) + +### Building + +To complie, run: + +``` +npm install -g yarn +yarn install --pure-lockfile +grunt +``` + +To lint everything: + +``` +yarn pretty +``` + +#### Changelog + +##### rebuild v0.0.7 with Advantech v1.1.1 source code + +* Add replaceCodes function that can use system variable $code with panel values and colors mapping. +* The $code format like: groupname|$No.|status, for example: FX|$1|started. +* The function will check legendInfo-without-number with groupname. + +##### v0.0.8 (not released yet) + +* TODO... annotations + +##### v0.0.7 + +* Switch to typescript +* Override applyPanelTimeOverrides rather than issueQueries to extend time +* Support numeric unit conversion +* New rendering pipeline (thanks @jonyrock) +* Don't detect duplicate colors from metrics +* Formatting with prettier.js +* Only hide hover text when it collides +* Show time axis (copied from novatec-grafana-discrete-panel) +* Improved text collision behavior + +##### v0.0.6 + +* Fix for grafana 4.5 (thanks @alin-amana) + +##### v0.0.5 + +* Support results from the table format +* Support results in ascending or decending order +* Configure legend percentage decimal points +* Legend can show transition count and distinct value count +* Clamp percentage stats within the query time window +* Changed the grafana dependency version to 4.x.x, since 3.x.x was not really supported +* Fixed issues with tooltip hover position +* Option to expand 'from' query so the inital state can avoid 'null' + +##### v0.0.4 + +* Support shared tooltips (not just crosshair) + +##### v0.0.3 + +* Configure more colors (retzkek) +* Fix tooltips (retzkek) +* Configure Text Size +* Support shared crosshair + +##### v0.0.2 + +* Use the panel time shift. + +##### v0.0.1 + +* First working version diff --git a/src-bak/canvas-metric.d.ts b/src-bak/canvas-metric.d.ts new file mode 100644 index 0000000..698d37d --- /dev/null +++ b/src-bak/canvas-metric.d.ts @@ -0,0 +1,35 @@ +/// +import {MetricsPanelCtrl} from 'app/plugins/sdk'; +export declare class CanvasPanelCtrl extends MetricsPanelCtrl { + data: any; + mouse: any; + $tooltip: any; + wrap: any; + canvas: any; + context: any; + _devicePixelRatio: number; + constructor($scope: any, $injector: any); + onPanelInitalized(): void; + onRefresh(): void; + onRender(): void; + clearTT(): void; + getMousePosition( + evt: any + ): { + x: any; + y: number; + yRel: number; + ts: any; + evt: any; + }; + onGraphHover(evt: any, showTT: any, isExternal: any): void; + onMouseClicked(where: any): void; + onMouseSelectedRange(range: any): void; + link(scope: any, elem: any, attrs: any, ctrl: any): void; + time_format(range: number, secPerTick: number): string; + getTimeResolution(estTimeInterval: number): number; + roundDate(timeStamp: any, roundee: any): any; + formatDate(d: any, fmt: any): any; + leftPad(n: any, pad: any): any; + initDefaultI18n(): void; +} diff --git a/src-bak/canvas-metric.js b/src-bak/canvas-metric.js new file mode 100644 index 0000000..b27d5c3 --- /dev/null +++ b/src-bak/canvas-metric.js @@ -0,0 +1,515 @@ +/// +System.register( + ['app/plugins/sdk', 'moment', 'jquery', 'app/core/app_events', './i18n'], + function(exports_1) { + var __extends = + (this && this.__extends) || + function(d, b) { + for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; + function __() { + this.constructor = d; + } + d.prototype = + b === null ? Object.create(b) : ((__.prototype = b.prototype), new __()); + }; + var sdk_1, moment_1, jquery_1, app_events_1, i18n_1; + var CanvasPanelCtrl; + return { + setters: [ + function(sdk_1_1) { + sdk_1 = sdk_1_1; + }, + function(moment_1_1) { + moment_1 = moment_1_1; + }, + function(jquery_1_1) { + jquery_1 = jquery_1_1; + }, + function(app_events_1_1) { + app_events_1 = app_events_1_1; + }, + function(i18n_1_1) { + i18n_1 = i18n_1_1; + }, + ], + execute: function() { + // Expects a template with: + //
+ CanvasPanelCtrl = (function(_super) { + __extends(CanvasPanelCtrl, _super); + function CanvasPanelCtrl($scope, $injector) { + _super.call(this, $scope, $injector); + this.data = null; + this.mouse = { + position: null, + down: null, + }; + this.$tooltip = jquery_1.default('
'); + this.events.on('panel-initialized', this.onPanelInitalized.bind(this)); + this.events.on('refresh', this.onRefresh.bind(this)); + this.events.on('render', this.onRender.bind(this)); + this._devicePixelRatio = 1; + if (window.devicePixelRatio !== undefined) { + this._devicePixelRatio = window.devicePixelRatio; + } + } + CanvasPanelCtrl.prototype.onPanelInitalized = function() { + //console.log("onPanelInitalized()"); + this.render(); + }; + CanvasPanelCtrl.prototype.onRefresh = function() { + //console.log("onRefresh()"); + this.render(); + }; + // Typically you will override this + CanvasPanelCtrl.prototype.onRender = function() { + if (!this.context) { + console.log('No context!'); + return; + } + console.log('canvas render', this.mouse); + var rect = this.wrap.getBoundingClientRect(); + var height = Math.max(this.height, 100); + var width = rect.width; + this.canvas.width = width; + this.canvas.height = height; + var centerV = height / 2; + var ctx = this.context; + ctx.lineWidth = 1; + ctx.textBaseline = 'middle'; + var time = ''; + if (this.mouse.position != null) { + time = this.dashboard.formatDate(moment_1.default(this.mouse.position.ts)); + } + ctx.fillStyle = '#999999'; + ctx.fillRect(0, 0, width, height); + ctx.fillStyle = '#111111'; + ctx.font = '24px "Open Sans", Helvetica, Arial, sans-serif'; + ctx.textAlign = 'left'; + ctx.fillText('Mouse @ ' + time, 10, centerV); + if (this.mouse.position != null) { + if (this.mouse.down != null) { + var xmin = Math.min(this.mouse.position.x, this.mouse.down.x); + var xmax = Math.max(this.mouse.position.x, this.mouse.down.x); + // Fill canvas using 'destination-out' and alpha at 0.05 + ctx.globalCompositeOperation = 'destination-out'; + ctx.fillStyle = 'rgba(255, 255, 255, 0.6)'; + ctx.beginPath(); + ctx.fillRect(0, 0, xmin, height); + ctx.fill(); + ctx.beginPath(); + ctx.fillRect(xmax, 0, width, height); + ctx.fill(); + ctx.globalCompositeOperation = 'source-over'; + } else { + ctx.strokeStyle = '#111'; + ctx.beginPath(); + ctx.moveTo(this.mouse.position.x, 0); + ctx.lineTo(this.mouse.position.x, height); + ctx.lineWidth = 3; + ctx.stroke(); + ctx.beginPath(); + ctx.moveTo(this.mouse.position.x, 0); + ctx.lineTo(this.mouse.position.x, height); + ctx.strokeStyle = '#e22c14'; + ctx.lineWidth = 2; + ctx.stroke(); + } + } + }; + CanvasPanelCtrl.prototype.clearTT = function() { + this.$tooltip.detach(); + }; + CanvasPanelCtrl.prototype.getMousePosition = function(evt) { + var elapsed = this.range.to - this.range.from; + var rect = this.canvas.getBoundingClientRect(); + var x = evt.offsetX; // - rect.left; + var ts = this.range.from + elapsed * (x / parseFloat(rect.width)); + var y = evt.clientY - rect.top; + return { + x: x, + y: y, + yRel: y / parseFloat(rect.height), + ts: ts, + evt: evt, + }; + }; + CanvasPanelCtrl.prototype.onGraphHover = function(evt, showTT, isExternal) { + console.log('HOVER', evt, showTT, isExternal); + }; + CanvasPanelCtrl.prototype.onMouseClicked = function(where) { + console.log('CANVAS CLICKED', where); + this.render(); + }; + CanvasPanelCtrl.prototype.onMouseSelectedRange = function(range) { + console.log('CANVAS Range', range); + }; + CanvasPanelCtrl.prototype.link = function(scope, elem, attrs, ctrl) { + var _this = this; + ctrl.initDefaultI18n(); + this.wrap = elem.find('.canvas-spot')[0]; + this.canvas = document.createElement('canvas'); + this.wrap.appendChild(this.canvas); + jquery_1.default(this.canvas).css('cursor', 'pointer'); + jquery_1.default(this.wrap).css('width', '100%'); + // console.log( 'link', this ); + this.context = this.canvas.getContext('2d'); + this.canvas.addEventListener( + 'mousemove', + function(evt) { + if (!_this.range) { + return; // skip events before we have loaded + } + _this.mouse.position = _this.getMousePosition(evt); + var info = { + pos: { + pageX: evt.pageX, + pageY: evt.pageY, + x: _this.mouse.position.ts, + y: _this.mouse.position.y, + panelRelY: _this.mouse.position.yRel, + panelRelX: _this.mouse.position.xRel, + }, + evt: evt, + panel: _this.panel, + }; + app_events_1.default.emit('graph-hover', info); + if (_this.mouse.down != null) { + jquery_1.default(_this.canvas).css('cursor', 'col-resize'); + } + }, + false + ); + this.canvas.addEventListener( + 'mouseout', + function(evt) { + if (_this.mouse.down == null) { + _this.mouse.position = null; + _this.onRender(); + _this.$tooltip.detach(); + app_events_1.default.emit('graph-hover-clear'); + } + }, + false + ); + this.canvas.addEventListener( + 'mousedown', + function(evt) { + _this.mouse.down = _this.getMousePosition(evt); + }, + false + ); + this.canvas.addEventListener( + 'mouseenter', + function(evt) { + if (_this.mouse.down && !evt.buttons) { + _this.mouse.position = null; + _this.mouse.down = null; + _this.onRender(); + _this.$tooltip.detach(); + app_events_1.default.emit('graph-hover-clear'); + } + jquery_1.default(_this.canvas).css('cursor', 'pointer'); + }, + false + ); + this.canvas.addEventListener( + 'mouseup', + function(evt) { + _this.$tooltip.detach(); + var up = _this.getMousePosition(evt); + if (_this.mouse.down != null) { + if (up.x === _this.mouse.down.x && up.y === _this.mouse.down.y) { + _this.mouse.position = null; + _this.mouse.down = null; + _this.onMouseClicked(up); + } else { + var min = Math.min(_this.mouse.down.ts, up.ts); + var max = Math.max(_this.mouse.down.ts, up.ts); + var range = { + from: moment_1.default.utc(min), + to: moment_1.default.utc(max), + }; + _this.mouse.position = up; + _this.onMouseSelectedRange(range); + } + } + _this.mouse.down = null; + _this.mouse.position = null; + }, + false + ); + this.canvas.addEventListener( + 'dblclick', + function(evt) { + _this.mouse.position = null; + _this.mouse.down = null; + _this.onRender(); + _this.$tooltip.detach(); + app_events_1.default.emit('graph-hover-clear'); + console.log('TODO, ZOOM OUT'); + }, + true + ); + // global events + app_events_1.default.on( + 'graph-hover', + function(event) { + // ignore other graph hover events if shared tooltip is disabled + var isThis = event.panel.id === _this.panel.id; + if (!_this.dashboard.sharedTooltipModeEnabled() && !isThis) { + return; + } + // ignore if other panels are fullscreen + if (_this.otherPanelInFullscreenMode()) { + return; + } + // Calculate the mouse position when it came from somewhere else + if (!isThis) { + if (!event.pos.x) { + console.log('Invalid hover point', event); + return; + } + var ts = event.pos.x; + var rect = _this.canvas.getBoundingClientRect(); + var elapsed = _this.range.to - _this.range.from; + var x = (ts - _this.range.from) / elapsed * rect.width; + _this.mouse.position = { + x: x, + y: event.pos.panelRelY * rect.height, + yRel: event.pos.panelRelY, + ts: ts, + gevt: event, + }; + } + _this.onGraphHover( + event, + isThis || !_this.dashboard.sharedCrosshairModeOnly(), + !isThis + ); + }, + scope + ); + app_events_1.default.on( + 'graph-hover-clear', + function(event, info) { + _this.mouse.position = null; + _this.mouse.down = null; + _this.render(); + _this.$tooltip.detach(); + }, + scope + ); + }; + CanvasPanelCtrl.prototype.time_format = function(range, secPerTick) { + var oneDay = 86400000; + var oneYear = 31536000000; + if (secPerTick <= 45) { + return '%H:%M:%S'; + } + if (secPerTick <= 7200 || range <= oneDay) { + return '%H:%M'; + } + if (secPerTick <= 80000) { + return '%m/%d %H:%M'; + } + if (secPerTick <= 2419200 || range <= oneYear) { + return '%m/%d'; + } + return '%Y-%m'; + }; + CanvasPanelCtrl.prototype.getTimeResolution = function(estTimeInterval) { + var timeIntInSecs = estTimeInterval / 1000; + if (timeIntInSecs <= 30) { + return 30 * 1000; + } + if (timeIntInSecs <= 60) { + return 60 * 1000; + } + if (timeIntInSecs <= 60 * 5) { + return 5 * 60 * 1000; + } + if (timeIntInSecs <= 60 * 10) { + return 10 * 60 * 1000; + } + if (timeIntInSecs <= 60 * 30) { + return 30 * 60 * 1000; + } + if (timeIntInSecs <= 60 * 60) { + return 60 * 60 * 1000; + } + if (timeIntInSecs <= 60 * 60) { + return 60 * 60 * 1000; + } + if (timeIntInSecs <= 2 * 60 * 60) { + return 2 * 60 * 60 * 1000; + } + if (timeIntInSecs <= 6 * 60 * 60) { + return 6 * 60 * 60 * 1000; + } + if (timeIntInSecs <= 12 * 60 * 60) { + return 12 * 60 * 60 * 1000; + } + if (timeIntInSecs <= 24 * 60 * 60) { + return 24 * 60 * 60 * 1000; + } + if (timeIntInSecs <= 2 * 24 * 60 * 60) { + return 2 * 24 * 60 * 60 * 1000; + } + if (timeIntInSecs <= 7 * 24 * 60 * 60) { + return 7 * 24 * 60 * 60 * 1000; + } + if (timeIntInSecs <= 30 * 24 * 60 * 60) { + return 30 * 24 * 60 * 60 * 1000; + } + return 6 * 30 * 24 * 60 * 60 * 1000; + }; + CanvasPanelCtrl.prototype.roundDate = function(timeStamp, roundee) { + timeStamp -= timeStamp % roundee; //subtract amount of time since midnight + return timeStamp; + }; + CanvasPanelCtrl.prototype.formatDate = function(d, fmt) { + var monthNames = [ + 'Jan', + 'Feb', + 'Mar', + 'Apr', + 'May', + 'Jun', + 'Jul', + 'Aug', + 'Sep', + 'Oct', + 'Nov', + 'Dec', + ]; + var dayNames = ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat']; + if (typeof d.strftime === 'function') { + return d.strftime(fmt); + } + var r = []; + var escape = false; + var hours = d.getHours(); + var isAM = hours < 12; + if (monthNames == null) { + monthNames = [ + 'Jan', + 'Feb', + 'Mar', + 'Apr', + 'May', + 'Jun', + 'Jul', + 'Aug', + 'Sep', + 'Oct', + 'Nov', + 'Dec', + ]; + } + if (dayNames == null) { + dayNames = ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat']; + } + var hours12; + if (hours > 12) { + hours12 = hours - 12; + } else if (hours === 0) { + hours12 = 12; + } else { + hours12 = hours; + } + for (var i = 0; i < fmt.length; ++i) { + var c = fmt.charAt(i); + if (escape) { + switch (c) { + case 'a': + c = '' + dayNames[d.getDay()]; + break; + case 'b': + c = '' + monthNames[d.getMonth()]; + break; + case 'd': + c = this.leftPad(d.getDate(), ''); + break; + case 'e': + c = this.leftPad(d.getDate(), ' '); + break; + case 'h': // For back-compat with 0.7; remove in 1.0 + case 'H': + c = this.leftPad(hours, null); + break; + case 'I': + c = this.leftPad(hours12, null); + break; + case 'l': + c = this.leftPad(hours12, ' '); + break; + case 'm': + c = this.leftPad(d.getMonth() + 1, ''); + break; + case 'M': + c = this.leftPad(d.getMinutes(), null); + break; + // quarters not in Open Group's strftime specification + case 'q': + c = '' + (Math.floor(d.getMonth() / 3) + 1); + break; + case 'S': + c = this.leftPad(d.getSeconds(), null); + break; + case 'y': + c = this.leftPad(d.getFullYear() % 100, null); + break; + case 'Y': + c = '' + d.getFullYear(); + break; + case 'p': + c = isAM ? '' + 'am' : '' + 'pm'; + break; + case 'P': + c = isAM ? '' + 'AM' : '' + 'PM'; + break; + case 'w': + c = '' + d.getDay(); + break; + } + r.push(c); + escape = false; + } else { + if (c === '%') { + escape = true; + } else { + r.push(c); + } + } + } + return r.join(''); + }; + CanvasPanelCtrl.prototype.leftPad = function(n, pad) { + n = '' + n; + pad = '' + (pad == null ? '0' : pad); + return n.length === 1 ? pad + n : n; + }; + CanvasPanelCtrl.prototype.initDefaultI18n = function() { + var lang = this.dashboard.panelLanguage; + if (lang) { + for (var _i = 0, _a = this.panel.valueMaps; _i < _a.length; _i++) { + var valueMap = _a[_i]; + i18n_1.initAttrI18n(valueMap, 'text', lang); + } + for (var _b = 0, _c = this.panel.rangeMaps; _b < _c.length; _b++) { + var rangeMap = _c[_b]; + i18n_1.initAttrI18n(rangeMap, 'text', lang); + } + i18n_1.initAttrI18n(this.panel, 'FontSize', lang); + i18n_1.initAttrI18n(this.panel, 'FontSizeValue', lang); + } + }; + return CanvasPanelCtrl; + })(sdk_1.MetricsPanelCtrl); + exports_1('CanvasPanelCtrl', CanvasPanelCtrl); + }, + }; + } +); +//# sourceMappingURL=canvas-metric.js.map diff --git a/src-bak/canvas-metric.js.map b/src-bak/canvas-metric.js.map new file mode 100644 index 0000000..eddf49e --- /dev/null +++ b/src-bak/canvas-metric.js.map @@ -0,0 +1 @@ +{"version":3,"file":"canvas-metric.js","sourceRoot":"","sources":["canvas-metric.ts"],"names":["CanvasPanelCtrl","CanvasPanelCtrl.constructor","CanvasPanelCtrl.onPanelInitalized","CanvasPanelCtrl.onRefresh","CanvasPanelCtrl.onRender","CanvasPanelCtrl.clearTT","CanvasPanelCtrl.getMousePosition","CanvasPanelCtrl.onGraphHover","CanvasPanelCtrl.onMouseClicked","CanvasPanelCtrl.onMouseSelectedRange","CanvasPanelCtrl.link","CanvasPanelCtrl.time_format","CanvasPanelCtrl.getTimeResolution","CanvasPanelCtrl.roundDate","CanvasPanelCtrl.formatDate","CanvasPanelCtrl.leftPad","CanvasPanelCtrl.initDefaultI18n"],"mappings":"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"} \ No newline at end of file diff --git a/src-bak/canvas-metric.ts b/src-bak/canvas-metric.ts new file mode 100644 index 0000000..58b405a --- /dev/null +++ b/src-bak/canvas-metric.ts @@ -0,0 +1,554 @@ +/// + +import {MetricsPanelCtrl} from 'app/plugins/sdk'; + +import _ from 'lodash'; +import moment from 'moment'; +import $ from 'jquery'; + +import appEvents from 'app/core/app_events'; +import {initAttrI18n} from './i18n'; + +// Expects a template with: +//
+export class CanvasPanelCtrl extends MetricsPanelCtrl { + data: any; + mouse: any; + $tooltip: any; + wrap: any; + canvas: any; + context: any; + _devicePixelRatio: number; + + constructor($scope, $injector) { + super($scope, $injector); + this.data = null; + this.mouse = { + position: null, + down: null, + }; + this.$tooltip = $('
'); + + this.events.on('panel-initialized', this.onPanelInitalized.bind(this)); + this.events.on('refresh', this.onRefresh.bind(this)); + this.events.on('render', this.onRender.bind(this)); + + this._devicePixelRatio = 1; + if (window.devicePixelRatio !== undefined) { + this._devicePixelRatio = window.devicePixelRatio; + } + } + + onPanelInitalized() { + //console.log("onPanelInitalized()"); + this.render(); + } + + onRefresh() { + //console.log("onRefresh()"); + this.render(); + } + + // Typically you will override this + onRender() { + if (!this.context) { + console.log('No context!'); + return; + } + console.log('canvas render', this.mouse); + + let rect = this.wrap.getBoundingClientRect(); + + let height = Math.max(this.height, 100); + let width = rect.width; + this.canvas.width = width; + this.canvas.height = height; + + let centerV = height / 2; + + let ctx = this.context; + ctx.lineWidth = 1; + ctx.textBaseline = 'middle'; + + let time = ''; + if (this.mouse.position != null) { + time = this.dashboard.formatDate(moment(this.mouse.position.ts)); + } + + ctx.fillStyle = '#999999'; + ctx.fillRect(0, 0, width, height); + ctx.fillStyle = '#111111'; + ctx.font = '24px "Open Sans", Helvetica, Arial, sans-serif'; + ctx.textAlign = 'left'; + ctx.fillText('Mouse @ ' + time, 10, centerV); + + if (this.mouse.position != null) { + if (this.mouse.down != null) { + let xmin = Math.min(this.mouse.position.x, this.mouse.down.x); + let xmax = Math.max(this.mouse.position.x, this.mouse.down.x); + + // Fill canvas using 'destination-out' and alpha at 0.05 + ctx.globalCompositeOperation = 'destination-out'; + ctx.fillStyle = 'rgba(255, 255, 255, 0.6)'; + ctx.beginPath(); + ctx.fillRect(0, 0, xmin, height); + ctx.fill(); + + ctx.beginPath(); + ctx.fillRect(xmax, 0, width, height); + ctx.fill(); + ctx.globalCompositeOperation = 'source-over'; + } else { + ctx.strokeStyle = '#111'; + ctx.beginPath(); + ctx.moveTo(this.mouse.position.x, 0); + ctx.lineTo(this.mouse.position.x, height); + ctx.lineWidth = 3; + ctx.stroke(); + + ctx.beginPath(); + ctx.moveTo(this.mouse.position.x, 0); + ctx.lineTo(this.mouse.position.x, height); + ctx.strokeStyle = '#e22c14'; + ctx.lineWidth = 2; + ctx.stroke(); + } + } + } + + clearTT() { + this.$tooltip.detach(); + } + + getMousePosition(evt) { + let elapsed = this.range.to - this.range.from; + let rect = this.canvas.getBoundingClientRect(); + let x = evt.offsetX; // - rect.left; + let ts = this.range.from + elapsed * (x / parseFloat(rect.width)); + let y = evt.clientY - rect.top; + + return { + x: x, + y: y, + yRel: y / parseFloat(rect.height), + ts: ts, + evt: evt, + }; + } + + onGraphHover(evt, showTT, isExternal) { + console.log('HOVER', evt, showTT, isExternal); + } + + onMouseClicked(where) { + console.log('CANVAS CLICKED', where); + this.render(); + } + + onMouseSelectedRange(range) { + console.log('CANVAS Range', range); + } + + link(scope, elem, attrs, ctrl) { + ctrl.initDefaultI18n(); + this.wrap = elem.find('.canvas-spot')[0]; + this.canvas = document.createElement('canvas'); + this.wrap.appendChild(this.canvas); + + $(this.canvas).css('cursor', 'pointer'); + $(this.wrap).css('width', '100%'); + + // console.log( 'link', this ); + + this.context = this.canvas.getContext('2d'); + this.canvas.addEventListener( + 'mousemove', + evt => { + if (!this.range) { + return; // skip events before we have loaded + } + + this.mouse.position = this.getMousePosition(evt); + let info = { + pos: { + pageX: evt.pageX, + pageY: evt.pageY, + x: this.mouse.position.ts, + y: this.mouse.position.y, + panelRelY: this.mouse.position.yRel, + panelRelX: this.mouse.position.xRel, + }, + evt: evt, + panel: this.panel, + }; + appEvents.emit('graph-hover', info); + if (this.mouse.down != null) { + $(this.canvas).css('cursor', 'col-resize'); + } + }, + false + ); + + this.canvas.addEventListener( + 'mouseout', + evt => { + if (this.mouse.down == null) { + this.mouse.position = null; + this.onRender(); + this.$tooltip.detach(); + appEvents.emit('graph-hover-clear'); + } + }, + false + ); + + this.canvas.addEventListener( + 'mousedown', + evt => { + this.mouse.down = this.getMousePosition(evt); + }, + false + ); + + this.canvas.addEventListener( + 'mouseenter', + evt => { + if (this.mouse.down && !evt.buttons) { + this.mouse.position = null; + this.mouse.down = null; + this.onRender(); + this.$tooltip.detach(); + appEvents.emit('graph-hover-clear'); + } + $(this.canvas).css('cursor', 'pointer'); + }, + false + ); + + this.canvas.addEventListener( + 'mouseup', + evt => { + this.$tooltip.detach(); + let up = this.getMousePosition(evt); + if (this.mouse.down != null) { + if (up.x === this.mouse.down.x && up.y === this.mouse.down.y) { + this.mouse.position = null; + this.mouse.down = null; + this.onMouseClicked(up); + } else { + let min = Math.min(this.mouse.down.ts, up.ts); + let max = Math.max(this.mouse.down.ts, up.ts); + let range = {from: moment.utc(min), to: moment.utc(max)}; + this.mouse.position = up; + this.onMouseSelectedRange(range); + } + } + this.mouse.down = null; + this.mouse.position = null; + }, + false + ); + + this.canvas.addEventListener( + 'dblclick', + evt => { + this.mouse.position = null; + this.mouse.down = null; + this.onRender(); + this.$tooltip.detach(); + appEvents.emit('graph-hover-clear'); + + console.log('TODO, ZOOM OUT'); + }, + true + ); + + // global events + appEvents.on( + 'graph-hover', + event => { + // ignore other graph hover events if shared tooltip is disabled + let isThis = event.panel.id === this.panel.id; + if (!this.dashboard.sharedTooltipModeEnabled() && !isThis) { + return; + } + + // ignore if other panels are fullscreen + if (this.otherPanelInFullscreenMode()) { + return; + } + + // Calculate the mouse position when it came from somewhere else + if (!isThis) { + if (!event.pos.x) { + console.log('Invalid hover point', event); + return; + } + + let ts = event.pos.x; + let rect = this.canvas.getBoundingClientRect(); + let elapsed = this.range.to - this.range.from; + let x = (ts - this.range.from) / elapsed * rect.width; + + this.mouse.position = { + x: x, + y: event.pos.panelRelY * rect.height, + yRel: event.pos.panelRelY, + ts: ts, + gevt: event, + }; + //console.log( "Calculate mouseInfo", event, this.mouse.position); + } + this.onGraphHover( + event, + isThis || !this.dashboard.sharedCrosshairModeOnly(), + !isThis + ); + }, + scope + ); + + appEvents.on( + 'graph-hover-clear', + (event, info) => { + this.mouse.position = null; + this.mouse.down = null; + this.render(); + this.$tooltip.detach(); + }, + scope + ); + } + + time_format(range: number, secPerTick: number): string { + let oneDay = 86400000; + let oneYear = 31536000000; + + if (secPerTick <= 45) { + return '%H:%M:%S'; + } + if (secPerTick <= 7200 || range <= oneDay) { + return '%H:%M'; + } + if (secPerTick <= 80000) { + return '%m/%d %H:%M'; + } + if (secPerTick <= 2419200 || range <= oneYear) { + return '%m/%d'; + } + return '%Y-%m'; + } + + getTimeResolution(estTimeInterval: number): number { + let timeIntInSecs = estTimeInterval / 1000; + + if (timeIntInSecs <= 30) { + return 30 * 1000; + } + + if (timeIntInSecs <= 60) { + return 60 * 1000; + } + + if (timeIntInSecs <= 60 * 5) { + return 5 * 60 * 1000; + } + + if (timeIntInSecs <= 60 * 10) { + return 10 * 60 * 1000; + } + + if (timeIntInSecs <= 60 * 30) { + return 30 * 60 * 1000; + } + + if (timeIntInSecs <= 60 * 60) { + return 60 * 60 * 1000; + } + + if (timeIntInSecs <= 60 * 60) { + return 60 * 60 * 1000; + } + + if (timeIntInSecs <= 2 * 60 * 60) { + return 2 * 60 * 60 * 1000; + } + + if (timeIntInSecs <= 6 * 60 * 60) { + return 6 * 60 * 60 * 1000; + } + + if (timeIntInSecs <= 12 * 60 * 60) { + return 12 * 60 * 60 * 1000; + } + + if (timeIntInSecs <= 24 * 60 * 60) { + return 24 * 60 * 60 * 1000; + } + + if (timeIntInSecs <= 2 * 24 * 60 * 60) { + return 2 * 24 * 60 * 60 * 1000; + } + + if (timeIntInSecs <= 7 * 24 * 60 * 60) { + return 7 * 24 * 60 * 60 * 1000; + } + + if (timeIntInSecs <= 30 * 24 * 60 * 60) { + return 30 * 24 * 60 * 60 * 1000; + } + + return 6 * 30 * 24 * 60 * 60 * 1000; + } + + roundDate(timeStamp, roundee) { + timeStamp -= timeStamp % roundee; //subtract amount of time since midnight + return timeStamp; + } + + formatDate(d, fmt) { + let monthNames = [ + 'Jan', + 'Feb', + 'Mar', + 'Apr', + 'May', + 'Jun', + 'Jul', + 'Aug', + 'Sep', + 'Oct', + 'Nov', + 'Dec', + ]; + let dayNames = ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat']; + if (typeof d.strftime === 'function') { + return d.strftime(fmt); + } + + let r = []; + let escape = false; + let hours = d.getHours(); + let isAM = hours < 12; + + if (monthNames == null) { + monthNames = [ + 'Jan', + 'Feb', + 'Mar', + 'Apr', + 'May', + 'Jun', + 'Jul', + 'Aug', + 'Sep', + 'Oct', + 'Nov', + 'Dec', + ]; + } + + if (dayNames == null) { + dayNames = ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat']; + } + + let hours12; + + if (hours > 12) { + hours12 = hours - 12; + } else if (hours === 0) { + hours12 = 12; + } else { + hours12 = hours; + } + + for (let i = 0; i < fmt.length; ++i) { + let c = fmt.charAt(i); + + if (escape) { + switch (c) { + case 'a': + c = '' + dayNames[d.getDay()]; + break; + case 'b': + c = '' + monthNames[d.getMonth()]; + break; + case 'd': + c = this.leftPad(d.getDate(), ''); + break; + case 'e': + c = this.leftPad(d.getDate(), ' '); + break; + case 'h': // For back-compat with 0.7; remove in 1.0 + case 'H': + c = this.leftPad(hours, null); + break; + case 'I': + c = this.leftPad(hours12, null); + break; + case 'l': + c = this.leftPad(hours12, ' '); + break; + case 'm': + c = this.leftPad(d.getMonth() + 1, ''); + break; + case 'M': + c = this.leftPad(d.getMinutes(), null); + break; + // quarters not in Open Group's strftime specification + case 'q': + c = '' + (Math.floor(d.getMonth() / 3) + 1); + break; + case 'S': + c = this.leftPad(d.getSeconds(), null); + break; + case 'y': + c = this.leftPad(d.getFullYear() % 100, null); + break; + case 'Y': + c = '' + d.getFullYear(); + break; + case 'p': + c = isAM ? '' + 'am' : '' + 'pm'; + break; + case 'P': + c = isAM ? '' + 'AM' : '' + 'PM'; + break; + case 'w': + c = '' + d.getDay(); + break; + } + r.push(c); + escape = false; + } else { + if (c === '%') { + escape = true; + } else { + r.push(c); + } + } + } + + return r.join(''); + } + + leftPad(n, pad) { + n = '' + n; + pad = '' + (pad == null ? '0' : pad); + return n.length === 1 ? pad + n : n; + } + + initDefaultI18n() { + const lang = this.dashboard.panelLanguage; + if (lang) { + for (const valueMap of this.panel.valueMaps) { + initAttrI18n(valueMap, 'text', lang); + } + for (const rangeMap of this.panel.rangeMaps) { + initAttrI18n(rangeMap, 'text', lang); + } + initAttrI18n(this.panel, 'FontSize', lang); + initAttrI18n(this.panel, 'FontSizeValue', lang); + } + } +} diff --git a/src-bak/css/discrete.dark.css b/src-bak/css/discrete.dark.css new file mode 100644 index 0000000..817d253 --- /dev/null +++ b/src-bak/css/discrete.dark.css @@ -0,0 +1,3 @@ +.discrete-Theme { + color: #d8d9da; +} diff --git a/src-bak/css/discrete.light.css b/src-bak/css/discrete.light.css new file mode 100644 index 0000000..5716528 --- /dev/null +++ b/src-bak/css/discrete.light.css @@ -0,0 +1,3 @@ +.discrete-Theme { + color: #323233; +} diff --git a/src-bak/distinct-points.d.ts b/src-bak/distinct-points.d.ts new file mode 100644 index 0000000..8d47a1d --- /dev/null +++ b/src-bak/distinct-points.d.ts @@ -0,0 +1,13 @@ +export declare class DistinctPoints { + name: any; + changes: Array; + legendInfo: Array; + last: any; + asc: boolean; + transitionCount: number; + distinctValuesCount: number; + elapsed: number; + constructor(name: any); + add(ts: number, val: any): void; + finish(ctrl: any): void; +} diff --git a/src-bak/distinct-points.js b/src-bak/distinct-points.js new file mode 100644 index 0000000..eebc42c --- /dev/null +++ b/src-bak/distinct-points.js @@ -0,0 +1,134 @@ +System.register(['lodash'], function(exports_1) { + var lodash_1; + var DistinctPoints; + return { + setters: [ + function(lodash_1_1) { + lodash_1 = lodash_1_1; + }, + ], + execute: function() { + DistinctPoints = (function() { + function DistinctPoints(name) { + this.name = name; + this.changes = []; + this.legendInfo = []; + this.last = null; + this.asc = false; + this.transitionCount = 0; + this.distinctValuesCount = 0; + this.elapsed = 0; + } + // ts numeric ms, + // val is the normalized value + DistinctPoints.prototype.add = function(ts, val) { + if (this.last == null) { + this.last = { + val: val, + start: ts, + ms: 0, + }; + this.changes.push(this.last); + } else if (ts === this.last.ts) { + console.log('skip point with duplicate timestamp', ts, val); + return; + } else { + if (this.changes.length === 1) { + this.asc = ts > this.last.start; + } + if (ts > this.last.start !== this.asc) { + console.log('skip out of order point', ts, val); + return; + } + // Same value + if (val === this.last.val) { + if (!this.asc) { + this.last.start = ts; + } + } else { + this.last = { + val: val, + start: ts, + ms: 0, + }; + this.changes.push(this.last); + } + } + }; + DistinctPoints.prototype.finish = function(ctrl) { + var _this = this; + if (this.changes.length < 1) { + console.log('no points found!'); + return; + } + if (!this.asc) { + this.last = this.changes[0]; + lodash_1.default.reverse(this.changes); + } + // Add a point beyond the controls + if (this.last.start < ctrl.range.to) { + var until = ctrl.range.to + 1; + // var now = Date.now(); + // if(this.last.start < now && ctrl.range.to > now) { + // until = now; + // } + // This won't be shown, but will keep the count consistent + this.changes.push({ + val: this.last.val, + start: until, + ms: 0, + }); + } + this.transitionCount = 0; + var valToInfo = {}; + var lastTS = 0; + var legendCount = 0; + var maxLegendSize = ctrl.panel.legendMaxValues; + if (!maxLegendSize) { + maxLegendSize = 20; + } + var last = this.changes[0]; + for (var i = 1; i < this.changes.length; i++) { + var pt = this.changes[i]; + var s = last.start; + var e = pt.start; + if (s < ctrl.range.from) { + s = ctrl.range.from; + } else if (s < ctrl.range.to) { + this.transitionCount++; + } + if (e > ctrl.range.to) { + e = ctrl.range.to; + } + last.ms = e - s; + if (last.ms > 0) { + if (lodash_1.default.has(valToInfo, last.val)) { + var v = valToInfo[last.val]; + v.ms += last.ms; + v.count++; + } else { + valToInfo[last.val] = {val: last.val, ms: last.ms, count: 1}; + legendCount++; + } + } + last = pt; + } + var elapsed = ctrl.range.to - ctrl.range.from; + this.elapsed = elapsed; + lodash_1.default.forEach(valToInfo, function(value) { + value.per = value.ms / elapsed; + _this.legendInfo.push(value); + }); + this.distinctValuesCount = lodash_1.default.size(this.legendInfo); + if (!ctrl.isTimeline) { + this.legendInfo = lodash_1.default.orderBy(this.legendInfo, ['ms'], ['desc']); + } + //console.log( "FINISH", this ); + }; + return DistinctPoints; + })(); + exports_1('DistinctPoints', DistinctPoints); + }, + }; +}); +//# sourceMappingURL=distinct-points.js.map diff --git a/src-bak/distinct-points.js.map b/src-bak/distinct-points.js.map new file mode 100644 index 0000000..17c15ef --- /dev/null +++ b/src-bak/distinct-points.js.map @@ -0,0 +1 @@ +{"version":3,"file":"distinct-points.js","sourceRoot":"","sources":["distinct-points.ts"],"names":["DistinctPoints","DistinctPoints.constructor","DistinctPoints.add","DistinctPoints.finish"],"mappings":"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"} \ No newline at end of file diff --git a/src-bak/distinct-points.ts b/src-bak/distinct-points.ts new file mode 100644 index 0000000..98f3814 --- /dev/null +++ b/src-bak/distinct-points.ts @@ -0,0 +1,132 @@ +import _ from 'lodash'; + +export class DistinctPoints { + changes: Array = []; + legendInfo: Array = []; + last: any = null; + asc = false; + transitionCount = 0; + distinctValuesCount = 0; + elapsed = 0; + + constructor(public name) {} + + // ts numeric ms, + // val is the normalized value + add(ts: number, val: any) { + if (this.last == null) { + this.last = { + val: val, + start: ts, + ms: 0, + }; + this.changes.push(this.last); + } else if (ts === this.last.ts) { + console.log('skip point with duplicate timestamp', ts, val); + return; + } else { + if (this.changes.length === 1) { + this.asc = ts > this.last.start; + } + + if (ts > this.last.start !== this.asc) { + console.log('skip out of order point', ts, val); + return; + } + + // Same value + if (val === this.last.val) { + if (!this.asc) { + this.last.start = ts; + } + } else { + this.last = { + val: val, + start: ts, + ms: 0, + }; + this.changes.push(this.last); + } + } + } + + finish(ctrl) { + if (this.changes.length < 1) { + console.log('no points found!'); + return; + } + + if (!this.asc) { + this.last = this.changes[0]; + _.reverse(this.changes); + } + + // Add a point beyond the controls + if (this.last.start < ctrl.range.to) { + var until = ctrl.range.to + 1; + // var now = Date.now(); + // if(this.last.start < now && ctrl.range.to > now) { + // until = now; + // } + + // This won't be shown, but will keep the count consistent + this.changes.push({ + val: this.last.val, + start: until, + ms: 0, + }); + } + + this.transitionCount = 0; + var valToInfo = {}; + var lastTS = 0; + var legendCount = 0; + var maxLegendSize = ctrl.panel.legendMaxValues; + if (!maxLegendSize) { + maxLegendSize = 20; + } + var last = this.changes[0]; + for (var i = 1; i < this.changes.length; i++) { + var pt = this.changes[i]; + + var s = last.start; + var e = pt.start; + if (s < ctrl.range.from) { + s = ctrl.range.from; + } else if (s < ctrl.range.to) { + this.transitionCount++; + } + + if (e > ctrl.range.to) { + e = ctrl.range.to; + } + + last.ms = e - s; + if (last.ms > 0) { + if (_.has(valToInfo, last.val)) { + var v = valToInfo[last.val]; + v.ms += last.ms; + v.count++; + } else { + valToInfo[last.val] = {val: last.val, ms: last.ms, count: 1}; + legendCount++; + } + } + last = pt; + } + + var elapsed = ctrl.range.to - ctrl.range.from; + this.elapsed = elapsed; + + _.forEach(valToInfo, value => { + value.per = value.ms / elapsed; + this.legendInfo.push(value); + }); + this.distinctValuesCount = _.size(this.legendInfo); + + if (!ctrl.isTimeline) { + this.legendInfo = _.orderBy(this.legendInfo, ['ms'], ['desc']); + } + //console.log( "FINISH", this ); + } +} diff --git a/src-bak/i18n.d.ts b/src-bak/i18n.d.ts new file mode 100644 index 0000000..396c65c --- /dev/null +++ b/src-bak/i18n.d.ts @@ -0,0 +1,31 @@ +/** + * 写入panel多语言文本 + * @param obj :{} 字段所在对象 + * @param label : string 字段名字 + * @param value : string 值 + * @param lang : string 语言 + */ +declare const setI18n: (obj: any, label: string, value: any, lang: string) => void; +/** + * 获取panel多语言文本 + * @param obj : {}, 字段所属对象 + * @param label : string, 字段名字 + * @param lang : string, 语言 + */ +declare const getI18n: (obj: any, label: string, lang: string) => any; +/** + * 初始化所有国际化字段 + * @param obj : {}, 字段所属根对象,一般传this.panel + * @param lang : string, 语言 + * @param depth : number, 对象递归的最深层级,默认4 + */ +declare const initI18n: (obj: any, lang: string, depth?: number) => void; +/** + * 初始化时判断字段如果未经国际化,则生成对应的国际化数据 + * @param obj 字段所属对象 + * @param label 字段名称 + * @param lang 语言 + */ +declare const initAttrI18n: (obj: any, label: string, lang: string) => void; +declare const initAttrArrayI18n: (obj: any, labels: string[], lang: string) => void; +export {setI18n, getI18n, initI18n, initAttrI18n, initAttrArrayI18n}; diff --git a/src-bak/i18n.js b/src-bak/i18n.js new file mode 100644 index 0000000..b752ab3 --- /dev/null +++ b/src-bak/i18n.js @@ -0,0 +1,131 @@ +System.register([], function(exports_1) { + var isEffective, + isObject, + isObjectOrArray, + setI18n, + getI18n, + initI18n, + initAttrI18n, + initAttrArrayI18n; + return { + setters: [], + execute: function() { + isEffective = function(target) { + return target !== undefined && target !== null; + }; + isObject = function(target) { + return Object.prototype.toString.call(target) === '[object Object]'; + }; + isObjectOrArray = function(target) { + return ( + Object.prototype.toString.call(target) === '[object Array]' || isObject(target) + ); + }; + /** + * 写入panel多语言文本 + * @param obj :{} 字段所在对象 + * @param label : string 字段名字 + * @param value : string 值 + * @param lang : string 语言 + */ + setI18n = function(obj, label, value, lang) { + if (lang && isObject(obj)) { + if (!obj.i18n) { + obj.i18n = {}; + } + if (!obj.i18n[lang]) { + obj.i18n[lang] = {}; + } + obj.i18n[lang][label] = value; + } + }; + /** + * 获取panel多语言文本 + * @param obj : {}, 字段所属对象 + * @param label : string, 字段名字 + * @param lang : string, 语言 + */ + getI18n = function(obj, label, lang) { + if ( + lang && + isObject(obj) && + isObject(obj.i18n) && + isObject(obj.i18n[lang]) && + obj.i18n[lang].hasOwnProperty(label) + ) { + return obj.i18n[lang][label]; + } + return isEffective(obj[label]) ? obj[label] : ''; + }; + /** + * 初始化所有国际化字段 + * @param obj : {}, 字段所属根对象,一般传this.panel + * @param lang : string, 语言 + * @param depth : number, 对象递归的最深层级,默认4 + */ + initI18n = function(obj, lang, depth) { + if (depth === void 0) { + depth = 4; + } + if (!isObjectOrArray(obj) || !lang) { + return; + } + for (var key in obj) { + if (typeof obj.hasOwnProperty === 'function' && obj.hasOwnProperty(key)) { + if (key === 'i18n' && isObjectOrArray(obj[key])) { + if (isObjectOrArray(obj[key][lang])) { + for (var attr in obj[key][lang]) { + if (obj[key][lang].hasOwnProperty(attr)) { + obj[attr] = obj[key][lang][attr]; + } + } + } + } else if (isObjectOrArray(obj[key])) { + if (depth > 0) { + initI18n(obj[key], lang, --depth); + ++depth; + } + } + } + } + }; + /** + * 初始化时判断字段如果未经国际化,则生成对应的国际化数据 + * @param obj 字段所属对象 + * @param label 字段名称 + * @param lang 语言 + */ + initAttrI18n = function(obj, label, lang) { + if (isObject(obj) && lang) { + if (!obj.hasOwnProperty('i18n')) { + obj.i18n = {}; + obj.i18n[lang] = {}; + obj.i18n[lang][label] = obj[label]; + } else { + if (!isEffective(obj.i18n[lang])) { + obj.i18n[lang] = {}; + obj.i18n[lang][label] = obj[label]; + } else { + if (!isEffective(obj.i18n[lang][label])) { + obj.i18n[lang][label] = obj[label]; + } + } + } + } + }; + initAttrArrayI18n = function(obj, labels, lang) { + if (Array.isArray(labels)) { + labels.forEach(function(label) { + initAttrI18n(obj, label, lang); + }); + } + }; + exports_1('setI18n', setI18n); + exports_1('getI18n', getI18n); + exports_1('initI18n', initI18n); + exports_1('initAttrI18n', initAttrI18n); + exports_1('initAttrArrayI18n', initAttrArrayI18n); + }, + }; +}); +//# sourceMappingURL=i18n.js.map diff --git a/src-bak/i18n.js.map b/src-bak/i18n.js.map new file mode 100644 index 0000000..094ec0f --- /dev/null +++ b/src-bak/i18n.js.map @@ -0,0 +1 @@ +{"version":3,"file":"i18n.js","sourceRoot":"","sources":["i18n.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/src-bak/i18n.json b/src-bak/i18n.json new file mode 100644 index 0000000..c3178c6 --- /dev/null +++ b/src-bak/i18n.json @@ -0,0 +1,148 @@ +{ + "en-US": { + "textColors": "Text Colors", + "metricNames": "Metric Names", + "timeText": "Time Text", + "valueText": "Value Text", + "lines": "Lines", + "colorMappings": "Color Mappings", + "addCurrentValues": "Add Current Values", + "showMetricNames": "Show Metric Names", + "transitionCount": "Transition Count", + "distinctValuesCount": "Distinct Values Count", + "legendFontsize": "Legend Font size", + "sortBy": "Sort By", + "percentDecimals": "Percent Decimals", + "showTime": "Show Time", + "showCounts": "Show Counts", + "showPercent": "Show Percent", + "showTimeAxis": "Show Time Axis", + "rangeMappings": "Range Mappings", + "numericConversion": "Numeric Conversion", + "rowHeight": "Row Height", + "hoverTooltip": "Hover tooltip", + "expandfromquery": "Extended query", + "expandfromqueryInfo": + "This expands the query to include the time before the normal query range", + "seconds": "Seconds", + "writeLastValue": "Write Last Value", + "writeMetricNames": "Write Metric Names", + "writeAllValues": "Write All Values", + "nullValues": "Null Values", + "highlightOnHover": "Highlight on Hover", + "addaColorMapping": "Add a Color mapping", + "Tip_1": "Font size adjust with window size", + "Showtimeline": "Show timeline", + "Tip_2": "Override automatic decimal precision", + "Mappings": "Mappings" + }, + "zh-CN": { + "textColors": "文本颜色", + "valueText": "值", + "timeText": "时间", + "metricNames": "指标名称", + "lines": "线条", + "colorMappings": "颜色匹配", + "addCurrentValues": "添加当前值", + "showMetricNames": "显示指标名称", + "transitionCount": "转换计数", + "distinctValuesCount": "差异数据个数", + "legendFontsize": "图例字体大小", + "sortBy": "排序方式", + "percentDecimals": "百分比小数位数", + "showTime": "显示时间", + "showCounts": "显示个数", + "showPercent": "显示百分比", + "showTimeAxis": "显示时间轴", + "rangeMappings": "范围匹配", + "numericConversion": "数制转换", + "rowHeight": "行高", + "hoverTooltip": "悬浮提示", + "expandfromquery": "扩展查询", + "expandfromqueryInfo": "这将扩展查询以包括正常查询范围之前的时间", + "seconds": "秒", + "writeLastValue": "显示最后一个值", + "writeMetricNames": "显示指标名称", + "writeAllValues": "显示所有值", + "nullValues": "显示 null 值", + "highlightOnHover": "悬浮时高亮", + "addaColorMapping": "添加一条颜色匹配", + "Tip_1": "字体大小随窗口大小调整", + "Showtimeline": "显示时间轴", + "Tip_2": "覆盖自动十进制精度", + "Mappings": "映射" + }, + "zh-TW": { + "textColors": "文本顏色", + "valueText": "值", + "timeText": "時間", + "metricNames": "指標名稱", + "lines": "線條", + "colorMappings": "顏色匹配", + "addCurrentValues": "添加當前值", + "showMetricNames": "顯示指標名稱", + "transitionCount": "轉換計數", + "distinctValuesCount": "差異數據個數", + "legendFontsize": "圖例字體大小", + "sortBy": "排序方式", + "percentDecimals": "百分比小數位數", + "showTime": "顯示時間", + "showCounts": "顯示個數", + "showPercent": "顯示百分比", + "showTimeAxis": "顯示時間軸", + "rangeMappings": "範圍匹配", + "numericConversion": "數制轉換", + "rowHeight": "行高", + "hoverTooltip": "懸浮提示", + "expandfromquery": "擴展査詢", + "expandfromqueryInfo": "這將擴展査詢以包括正常查詢範圍之前的時間", + "seconds": "秒", + "writeLastValue": "顯示最後一個值", + "writeMetricNames": "顯示指標名稱", + "writeAllValues": "顯示所有值", + "nullValues": "顯示 null 值", + "highlightOnHover": "懸浮時高亮", + "addaColorMapping": "添加一條顏色匹配", + "Tip_1": "字體大小隨視窗大小調整", + "Showtimeline": "顯示時間軸", + "Tip_2": "覆蓋自動十進位精度", + "Mappings": "映射" + }, + "ja-JP": { + "metricNames": "Metric Names", + "valueText": "Value Text", + "timeText": "Time Text", + "textColors": "Text Colors", + "lines": "Lines", + "colorMappings": "Color Mappings", + "addCurrentValues": "Add Current Values", + "showMetricNames": "Show Metric Names", + "transitionCount": "Transition Count", + "distinctValuesCount": "Distinct Values Count", + "legendFontsize": "Legend Font size", + "sortBy": "Sort By", + "percentDecimals": "Percent Decimals", + "showTime": "Show Time", + "showCounts": "Show Counts", + "showPercent": "Show Percent", + "showTimeAxis": "Show Time Axis", + "rangeMappings": "Range Mappings", + "numericConversion": "Numeric Conversion", + "rowHeight": "Row Height", + "hoverTooltip": "Hover tooltip", + "expandfromquery": "Extended query", + "expandfromqueryInfo": + "This expands the query to include the time before the normal query range", + "seconds": "Seconds", + "writeLastValue": "Write Last Value", + "writeMetricNames": "Write Metric Names", + "writeAllValues": "Write All Values", + "nullValues": "Null Values", + "highlightOnHover": "Highlight on Hover", + "addaColorMapping": "Add a Color mapping", + "Tip_1": "Font size adjust with window size", + "Showtimeline": "Show timeline", + "Tip_2": "Override automatic decimal precision", + "Mappings": "Mappings" + } +} diff --git a/src-bak/i18n.ts b/src-bak/i18n.ts new file mode 100644 index 0000000..f92c3ee --- /dev/null +++ b/src-bak/i18n.ts @@ -0,0 +1,113 @@ +const isEffective = (target: any) => { + return target !== undefined && target !== null; +}; + +const isObject = (target: any) => + Object.prototype.toString.call(target) === '[object Object]'; + +const isObjectOrArray = (target: any) => { + return Object.prototype.toString.call(target) === '[object Array]' || isObject(target); +}; + +/** + * 写入panel多语言文本 + * @param obj :{} 字段所在对象 + * @param label : string 字段名字 + * @param value : string 值 + * @param lang : string 语言 + */ +const setI18n = (obj: any, label: string, value: any, lang: string) => { + if (lang && isObject(obj)) { + if (!obj.i18n) { + obj.i18n = {}; + } + if (!obj.i18n[lang]) { + obj.i18n[lang] = {}; + } + obj.i18n[lang][label] = value; + } +}; + +/** + * 获取panel多语言文本 + * @param obj : {}, 字段所属对象 + * @param label : string, 字段名字 + * @param lang : string, 语言 + */ +const getI18n = (obj: any, label: string, lang: string) => { + if ( + lang && + isObject(obj) && + isObject(obj.i18n) && + isObject(obj.i18n[lang]) && + obj.i18n[lang].hasOwnProperty(label) + ) { + return obj.i18n[lang][label]; + } + return isEffective(obj[label]) ? obj[label] : ''; +}; + +/** + * 初始化所有国际化字段 + * @param obj : {}, 字段所属根对象,一般传this.panel + * @param lang : string, 语言 + * @param depth : number, 对象递归的最深层级,默认4 + */ +const initI18n = (obj: any, lang: string, depth = 4) => { + if (!isObjectOrArray(obj) || !lang) { + return; + } + for (const key in obj) { + if (typeof obj.hasOwnProperty === 'function' && obj.hasOwnProperty(key)) { + if (key === 'i18n' && isObjectOrArray(obj[key])) { + if (isObjectOrArray(obj[key][lang])) { + for (const attr in obj[key][lang]) { + if (obj[key][lang].hasOwnProperty(attr)) { + obj[attr] = obj[key][lang][attr]; + } + } + } + } else if (isObjectOrArray(obj[key])) { + if (depth > 0) { + initI18n(obj[key], lang, --depth); + ++depth; + } + } + } + } +}; + +/** + * 初始化时判断字段如果未经国际化,则生成对应的国际化数据 + * @param obj 字段所属对象 + * @param label 字段名称 + * @param lang 语言 + */ +const initAttrI18n = (obj: any, label: string, lang: string) => { + if (isObject(obj) && lang) { + if (!obj.hasOwnProperty('i18n')) { + obj.i18n = {}; + obj.i18n[lang] = {}; + obj.i18n[lang][label] = obj[label]; + } else { + if (!isEffective(obj.i18n[lang])) { + obj.i18n[lang] = {}; + obj.i18n[lang][label] = obj[label]; + } else { + if (!isEffective(obj.i18n[lang][label])) { + obj.i18n[lang][label] = obj[label]; + } + } + } + } +}; + +const initAttrArrayI18n = (obj: any, labels: string[], lang: string) => { + if (Array.isArray(labels)) { + labels.forEach((label: string) => { + initAttrI18n(obj, label, lang); + }); + } +}; + +export {setI18n, getI18n, initI18n, initAttrI18n, initAttrArrayI18n}; diff --git a/src-bak/img/discrete_logo.svg b/src-bak/img/discrete_logo.svg new file mode 100644 index 0000000..022596c --- /dev/null +++ b/src-bak/img/discrete_logo.svg @@ -0,0 +1,60 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src-bak/img/screenshot-multiple.png b/src-bak/img/screenshot-multiple.png new file mode 100644 index 0000000..b94add3 Binary files /dev/null and b/src-bak/img/screenshot-multiple.png differ diff --git a/src-bak/img/screenshot-options-1.png b/src-bak/img/screenshot-options-1.png new file mode 100644 index 0000000..932caba Binary files /dev/null and b/src-bak/img/screenshot-options-1.png differ diff --git a/src-bak/img/screenshot-options-2.png b/src-bak/img/screenshot-options-2.png new file mode 100644 index 0000000..18cf227 Binary files /dev/null and b/src-bak/img/screenshot-options-2.png differ diff --git a/src-bak/img/screenshot-single-1.png b/src-bak/img/screenshot-single-1.png new file mode 100644 index 0000000..1a0e476 Binary files /dev/null and b/src-bak/img/screenshot-single-1.png differ diff --git a/src-bak/img/screenshot-single-2.png b/src-bak/img/screenshot-single-2.png new file mode 100644 index 0000000..3681fa9 Binary files /dev/null and b/src-bak/img/screenshot-single-2.png differ diff --git a/src-bak/img/screenshot-single-3.png b/src-bak/img/screenshot-single-3.png new file mode 100644 index 0000000..bce8dd5 Binary files /dev/null and b/src-bak/img/screenshot-single-3.png differ diff --git a/src-bak/img/screenshot-single-4.png b/src-bak/img/screenshot-single-4.png new file mode 100644 index 0000000..3460237 Binary files /dev/null and b/src-bak/img/screenshot-single-4.png differ diff --git a/src-bak/module.d.ts b/src-bak/module.d.ts new file mode 100644 index 0000000..d8a60ca --- /dev/null +++ b/src-bak/module.d.ts @@ -0,0 +1,113 @@ +/// +import {CanvasPanelCtrl} from './canvas-metric'; +declare class DiscretePanelCtrl extends CanvasPanelCtrl { + static templateUrl: string; + static scrollable: boolean; + defaults: { + display: string; + rowHeight: number; + valueMaps: { + value: string; + op: string; + text: string; + }[]; + rangeMaps: { + from: string; + to: string; + text: string; + }[]; + colorMaps: { + text: string; + color: string; + }[]; + metricNameColor: string; + valueTextColor: string; + timeTextColor: string; + crosshairColor: string; + backgroundColor: string; + lineColor: string; + textSize: number; + textSizeTime: number; + extendLastValue: boolean; + writeLastValue: boolean; + writeAllValues: boolean; + writeMetricNames: boolean; + showTimeAxis: boolean; + showLegend: boolean; + showLegendNames: boolean; + showLegendValues: boolean; + showLegendPercent: boolean; + highlightOnMouseover: boolean; + expandFromQueryS: number; + legendSortBy: string; + units: string; + adjFontSize: boolean; + FontSize: string; + FontSizeValue: string; + nullValue: boolean; + }; + translate: any; + data: any; + externalPT: boolean; + isTimeline: boolean; + isStacked: boolean; + hoverPoint: any; + colorMap: any; + _colorsPaleteCash: any; + unitFormats: any; + formatter: any; + fontSizes: any; + fontCalc: any; + _renderDimensions: any; + _selectionMatrix: Array>; + noPoints: boolean; + timeSrv: any; + constructor($scope: any, $injector: any); + onDataSnapshotLoad(snapshotData: any): void; + onPanelInitialized(): void; + onDataError(err: any): void; + onInitEditMode(): void; + onRender(): void; + showLegandTooltip(pos: any, info: any): void; + clearTT(): void; + formatValue(val: any): any; + getColor(val: any): any; + checkValidValueMapping(val: any): boolean; + mappingColorsPaleteCash(val: any, c: any): void; + randomColor(): string; + applyPanelTimeOverrides(): void; + onDataReceived(dataList: any): void; + exportReportCsv(): void; + removeColorMap(map: any): void; + updateColorInfo(): void; + addColorMap(what: any): void; + removeValueMap(map: any): void; + addValueMap(): void; + removeRangeMap(rangeMap: any): void; + addRangeMap(): void; + onConfigChanged(update?: boolean): void; + getFontSize(fontSize: any): any; + getLegendDisplay(info: any, metric: any): any; + showTooltip(evt: any, point: any, isExternal: any): void; + onGraphHover(evt: any, showTT: any, isExternal: any): void; + onMouseClicked(where: any): void; + onMouseSelectedRange(range: any): void; + clear(): void; + _updateRenderDimensions(): void; + _updateSelectionMatrix(): void; + _updateCanvasSize(): void; + _getVal(metricIndex: any, rectIndex: any): any; + _renderRects(): void; + _renderLabels(): void; + _renderSelection(): void; + _renderTimeAxis(): void; + timeFormatFun(date: Date, timeFormat: any): any; + _renderCrosshair(): void; + handleValueTextChange(valueMap: any): void; + handleRangeTextChange(rangeMap: any): void; + handleLegnedFontSizeChange(): void; + handleFontSizeChange(): void; + formatDatas(): any[]; + initI18n(): void; +} +export {DiscretePanelCtrl as PanelCtrl}; diff --git a/src-bak/module.js b/src-bak/module.js new file mode 100644 index 0000000..5a291c6 --- /dev/null +++ b/src-bak/module.js @@ -0,0 +1,1271 @@ +/// +System.register( + [ + './canvas-metric', + './distinct-points', + 'lodash', + 'jquery', + 'moment', + 'app/core/utils/kbn', + 'app/core/app_events', + 'app/core/utils/fontsize', + 'app/plugins/sdk', + './i18n', + ], + function(exports_1) { + var __extends = + (this && this.__extends) || + function(d, b) { + for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; + function __() { + this.constructor = d; + } + d.prototype = + b === null ? Object.create(b) : ((__.prototype = b.prototype), new __()); + }; + var canvas_metric_1, + distinct_points_1, + lodash_1, + jquery_1, + moment_1, + kbn_1, + app_events_1, + fontsize_1, + sdk_1, + i18n_1; + var grafanaColors, colorSwitch, DiscretePanelCtrl; + return { + setters: [ + function(canvas_metric_1_1) { + canvas_metric_1 = canvas_metric_1_1; + }, + function(distinct_points_1_1) { + distinct_points_1 = distinct_points_1_1; + }, + function(lodash_1_1) { + lodash_1 = lodash_1_1; + }, + function(jquery_1_1) { + jquery_1 = jquery_1_1; + }, + function(moment_1_1) { + moment_1 = moment_1_1; + }, + function(kbn_1_1) { + kbn_1 = kbn_1_1; + }, + function(app_events_1_1) { + app_events_1 = app_events_1_1; + }, + function(fontsize_1_1) { + fontsize_1 = fontsize_1_1; + }, + function(sdk_1_1) { + sdk_1 = sdk_1_1; + }, + function(i18n_1_1) { + i18n_1 = i18n_1_1; + }, + ], + execute: function() { + sdk_1.loadPluginCss({ + dark: 'plugins/natel-discrete-panel/css/discrete.dark.css', + light: 'plugins/natel-discrete-panel/css/discrete.light.css', + }); + grafanaColors = [ + '#7EB26D', + '#EAB839', + '#6ED0E0', + '#EF843C', + '#E24D42', + '#1F78C1', + '#BA43A9', + '#705DA0', + '#508642', + '#CCA300', + '#447EBC', + '#C15C17', + '#890F02', + '#0A437C', + '#6D1F62', + '#584477', + '#B7DBAB', + '#F4D598', + '#70DBED', + '#F9BA8F', + '#F29191', + '#82B5D8', + '#E5A8E2', + '#AEA2E0', + '#629E51', + '#E5AC0E', + '#64B0C8', + '#E0752D', + '#BF1B00', + '#0A50A1', + '#962D82', + '#614D93', + '#9AC48A', + '#F2C96D', + '#65C5DB', + '#F9934E', + '#EA6460', + '#5195CE', + '#D683CE', + '#806EB7', + '#3F6833', + '#967302', + '#2F575E', + '#99440A', + '#58140C', + '#052B51', + '#511749', + '#3F2B5B', + '#E0F9D7', + '#FCEACA', + '#CFFAFF', + '#F9E2D2', + '#FCE2DE', + '#BADFF4', + '#F9D9F9', + '#DEDAF7', + ]; // copied from public/app/core/utils/colors.ts because of changes in grafana 4.6.0 + //(https://github.com/grafana/grafana/blob/master/PLUGIN_DEV.md) + colorSwitch = []; + DiscretePanelCtrl = (function(_super) { + __extends(DiscretePanelCtrl, _super); + function DiscretePanelCtrl($scope, $injector) { + _super.call(this, $scope, $injector); + this.defaults = { + display: 'timeline', + rowHeight: 100, + valueMaps: [{value: 'null', op: '=', text: 'N/A'}], + rangeMaps: [{from: 'null', to: 'null', text: 'N/A'}], + colorMaps: [{text: 'N/A', color: '#CCC'}], + metricNameColor: '#000000', + valueTextColor: '#000000', + timeTextColor: '#d8d9da', + crosshairColor: '#8F070C', + backgroundColor: 'rgba(128,128,128,0.1)', + lineColor: 'rgba(0,0,0,0.1)', + textSize: 24, + textSizeTime: 14, + extendLastValue: true, + writeLastValue: true, + writeAllValues: false, + writeMetricNames: false, + showTimeAxis: true, + showLegend: true, + showLegendNames: true, + showLegendValues: true, + showLegendPercent: true, + highlightOnMouseover: true, + expandFromQueryS: 0, + legendSortBy: '-ms', + units: 'short', + adjFontSize: true, + FontSize: '70%', + FontSizeValue: '140%', + // FontSizeTime: '0.8vw', + nullValue: false, + }; + this.data = null; + this.externalPT = false; + this.isTimeline = true; + this.isStacked = false; + this.hoverPoint = null; + this.colorMap = {}; + this._colorsPaleteCash = null; + this.unitFormats = null; // only used for editor + this.formatter = null; + this.fontSizes = null; + this.fontCalc = null; + this._renderDimensions = {}; + this._selectionMatrix = []; + this.noPoints = false; + // console.log(languageList); + // defaults configs + this.translate = $injector.get('$translate'); + lodash_1.default.defaultsDeep(this.panel, this.defaults); + this.panel.display = 'timeline'; // Only supported version now + // li.na modify start at 2019.4.16 + this.fontCalc = [ + { + text: '60%', + value: '60%', + vw: '0.6vw', + px: '12px', + }, + { + text: '70%', + value: '70%', + vw: '0.8vw', + px: '15px', + }, + { + text: '80%', + value: '80%', + vw: '1vw', + px: '19px', + }, + { + text: '100%', + value: '100%', + vw: '1.4vw', + px: '27px', + }, + { + text: '110%', + value: '110%', + vw: '1.6vw', + px: '31px', + }, + { + text: '120%', + value: '120%', + vw: '1.8vw', + px: '35px', + }, + { + text: '130%', + value: '130%', + vw: '2vw', + px: '38px', + }, + { + text: '140%', + value: '140%', + vw: '2.2vw', + px: '42px', + }, + { + text: '150%', + value: '150%', + vw: '2.4vw', + px: '46px', + }, + { + text: '160%', + value: '160%', + vw: '2.6vw', + px: '50px', + }, + { + text: '180%', + value: '180%', + vw: '3vw', + px: '58px', + }, + { + text: '200%', + value: '200%', + vw: '3.4vw', + px: '65px', + }, + { + text: '220%', + value: '220%', + vw: '3.8vw', + px: '73px', + }, + { + text: '230%', + value: '230%', + vw: '4vw', + px: '77px', + }, + ]; + // li.na modify end at 2019.4.16 + if (this.scope.$$listeners.isWisePaas) { + this.events.on('init-edit-mode', this.onInitEditMode.bind(this)); + this.events.on('render', this.onRender.bind(this)); + this.events.on('data-received', this.onDataReceived.bind(this)); + this.events.on('panel-initialized', this.onPanelInitialized.bind(this)); + this.events.on('data-error', this.onDataError.bind(this)); + this.events.on('refresh', this.onRefresh.bind(this)); + this.events.on('data-snapshot-load', this.onDataSnapshotLoad.bind(this)); + } + this.timeSrv = $scope.ctrl.timeSrv; + } + DiscretePanelCtrl.prototype.onDataSnapshotLoad = function(snapshotData) { + this.onDataReceived(snapshotData); + }; + DiscretePanelCtrl.prototype.onPanelInitialized = function() { + this.updateColorInfo(); + this.onConfigChanged(); + }; + DiscretePanelCtrl.prototype.onDataError = function(err) { + console.log('onDataError', err); + }; + DiscretePanelCtrl.prototype.onInitEditMode = function() { + var _this = this; + this.unitFormats = kbn_1.default.getUnitFormats(); + var translateArr = [ + 'public.options', + 'public.legend', + 'public.colors', + 'natel-discrete-panel.Mappings', + ]; + this.translate(translateArr).then(function(translate) { + _this.addEditorTab( + translate['public.options'], + 'public/plugins/natel-discrete-panel/partials/editor.options.html', + 2 + ); + _this.addEditorTab( + translate['public.legend'], + 'public/plugins/natel-discrete-panel/partials/editor.legend.html', + 3 + ); + _this.addEditorTab( + translate['public.colors'], + 'public/plugins/natel-discrete-panel/partials/editor.colors.html', + 4 + ); + _this.addEditorTab( + translate['natel-discrete-panel.Mappings'], + 'public/plugins/natel-discrete-panel/partials/editor.mappings.html', + 5 + ); + }); + this.editorTabIndex = 1; + }; + DiscretePanelCtrl.prototype.onRender = function() { + this.initI18n(); + if (this.data == null || !this.context) { + return; + } + this.data = this.formatDatas(); + this._updateRenderDimensions(); + this._updateSelectionMatrix(); + this._updateCanvasSize(); + this._renderRects(); + this._renderTimeAxis(); + this._renderLabels(); + this._renderSelection(); + this._renderCrosshair(); + }; + DiscretePanelCtrl.prototype.showLegandTooltip = function(pos, info) { + var body = '
' + info.val + '
'; + body += '
'; + if (info.count > 1) { + body += info.count + ' times
for
'; + } + body += moment_1.default.duration(info.ms).humanize(); + if (info.count > 1) { + body += '
total'; + } + body += '
'; + this.$tooltip.html(body).place_tt(pos.pageX + 20, pos.pageY); + }; + DiscretePanelCtrl.prototype.clearTT = function() { + this.$tooltip.detach(); + }; + DiscretePanelCtrl.prototype.formatValue = function(val) { + colorSwitch.length = 0; + if (lodash_1.default.isNumber(val)) { + if (this.panel.rangeMaps) { + for (var i = 0; i < this.panel.rangeMaps.length; i++) { + var map = this.panel.rangeMaps[i]; + // value/number to range mapping + var from = parseFloat(map.from); + var to = parseFloat(map.to); + if (to >= val && from <= val) { + return map.text; + } + } + } + if (this.formatter) { + val = this.formatter(val, this.panel.decimals); + } + } + var isNull = lodash_1.default.isNil(val); + if (!isNull && !lodash_1.default.isString(val)) { + val = val.toString(); // convert everything to a string + } + for (var i = 0; i < this.panel.valueMaps.length; i++) { + var mapJson = { + colorValue: '', + colorText: '', + }; + var map = this.panel.valueMaps[i]; + // special null case + if (map.value === 'null') { + if (isNull) { + return map.text; + } + continue; + } + if (val === map.value) { + mapJson.colorValue = map.value; + mapJson.colorText = map.text; + colorSwitch.push(mapJson); + return map.text; + } + } + if (isNull) { + return 'null'; + } + return val; + }; + DiscretePanelCtrl.prototype.getColor = function(val) { + if (lodash_1.default.has(this.colorMap, val)) { + return this.colorMap[val]; + } + // li.na add start at 2019.6.19 + if (this._colorsPaleteCash[val] === undefined) { + // let c = grafanaColors[this._colorsPaleteCash.length % grafanaColors.length]; + // if (colorSwitch.length === 0) { + // this._colorsPaleteCash[val] = c; + // } else { + // for (let i = 0; i < colorSwitch.length; i++) { + // if (colorSwitch[i].colorText === val) { + // let colorSwitchValue = this._colorsPaleteCash[colorSwitch[i].colorValue]; + // this._colorsPaleteCash[val] = colorSwitchValue; + // } else { + // this._colorsPaleteCash[val] = c; + // } + // } + // } + // this._colorsPaleteCash.length++; + var c = grafanaColors[this._colorsPaleteCash.length % grafanaColors.length]; + if (colorSwitch.length === 0) { + if (this.checkValidValueMapping(val)) { + this.mappingColorsPaleteCash(val, c); + } else { + this._colorsPaleteCash[val] = c; + } + } else { + this.mappingColorsPaleteCash(val, c); + } + // li.na add end at 2019.6.19 + this._colorsPaleteCash.length++; + } + return this._colorsPaleteCash[val]; + }; + //li.na add at 2019.7.19 + // find valid valueMapping + DiscretePanelCtrl.prototype.checkValidValueMapping = function(val) { + for (var i = 0; i < this.panel.valueMaps.length; i++) { + if ( + this.panel.valueMaps[i].text === val && + this.panel.valueMaps[i].text && + this.panel.valueMaps[i].text !== 'undefined' + ) { + return true; + } + } + return false; + }; + // mappingColor + DiscretePanelCtrl.prototype.mappingColorsPaleteCash = function(val, c) { + for (var i = 0; i < this.panel.valueMaps.length; i++) { + if ( + this.panel.valueMaps[i].value === '' || + this.panel.valueMaps[i].value === 'null' + ) { + this._colorsPaleteCash[val] = c; + continue; + } + if (this.panel.valueMaps[i].text === val) { + if (this.colorMap.hasOwnProperty(this.panel.valueMaps[i].value)) { + this._colorsPaleteCash[val] = this.colorMap[ + this.panel.valueMaps[i].value + ]; + } else { + this._colorsPaleteCash[val] = this._colorsPaleteCash[ + this.panel.valueMaps[i].value + ]; + if (this._colorsPaleteCash[val] === 'undefined') { + this._colorsPaleteCash[val] = c; + } + } + } + } + }; + //li.na add end + DiscretePanelCtrl.prototype.randomColor = function() { + var letters = 'ABCDE'.split(''); + var color = '#'; + for (var i = 0; i < 3; i++) { + color += letters[Math.floor(Math.random() * letters.length)]; + } + return color; + }; + // Override the + DiscretePanelCtrl.prototype.applyPanelTimeOverrides = function() { + _super.prototype.applyPanelTimeOverrides.call(this); + if (this.panel.expandFromQueryS && this.panel.expandFromQueryS > 0) { + var from = this.range.from.subtract(this.panel.expandFromQueryS, 's'); + this.range.from = from; + this.range.raw.from = from; + } + }; + DiscretePanelCtrl.prototype.onDataReceived = function(dataList) { + if (Array.isArray(dataList) && dataList.length === 0) { + this.noPoints = true; + } else { + var datas = []; + lodash_1.default.forEach(dataList, function(metric) { + if (Array.isArray(metric.datapoints)) { + datas = datas.concat(metric.datapoints); + } + }); + if (datas.length === 0) { + this.noPoints = true; + } + } + jquery_1.default(this.canvas).css('cursor', 'pointer'); + // console.log('GOT', dataList); + this.dataList = dataList; + this.data = this.formatDatas(); + this.onRender(); + //console.log( 'data', dataList, this.data); + }; + DiscretePanelCtrl.prototype.exportReportCsv = function() { + this.panel.exportReportCsv(this.dataList); + }; + DiscretePanelCtrl.prototype.removeColorMap = function(map) { + var index = lodash_1.default.indexOf(this.panel.colorMaps, map); + this.panel.colorMaps.splice(index, 1); + this.updateColorInfo(); + }; + DiscretePanelCtrl.prototype.updateColorInfo = function() { + var cm = {}; + for (var i = 0; i < this.panel.colorMaps.length; i++) { + var m = this.panel.colorMaps[i]; + if (m.text) { + cm[m.text] = m.color; + } + } + this._colorsPaleteCash = {}; + this._colorsPaleteCash.length = 0; + this.colorMap = cm; + this.render(); + }; + DiscretePanelCtrl.prototype.addColorMap = function(what) { + var _this = this; + if (what === 'curent') { + lodash_1.default.forEach(this.data, function(metric) { + if (metric.legendInfo) { + lodash_1.default.forEach(metric.legendInfo, function(info) { + if (!lodash_1.default.has(_this.colorMap, info.val)) { + var v; + if (colorSwitch.length === 0) { + v = {text: info.val, color: _this.getColor(info.val)}; + } else { + for (var i = 0; i < colorSwitch.length; i++) { + if (colorSwitch[i].colorText === info.val) { + v = { + text: info.val, + color: _this.getColor(colorSwitch[i].colorValue), + }; + } else { + v = {text: info.val, color: _this.getColor(info.val)}; + } + } + } + _this.panel.colorMaps.push(v); + _this.colorMap[info.val] = v; + } + }); + } + }); + } else { + this.panel.colorMaps.push({text: '???', color: this.randomColor()}); + } + this.updateColorInfo(); + }; + DiscretePanelCtrl.prototype.removeValueMap = function(map) { + var index = lodash_1.default.indexOf(this.panel.valueMaps, map); + this.panel.valueMaps.splice(index, 1); + // li.na modify start at 2019.7.10 + this.refresh(); + }; + DiscretePanelCtrl.prototype.addValueMap = function() { + this.panel.valueMaps.push({value: '', op: '=', text: ''}); + }; + DiscretePanelCtrl.prototype.removeRangeMap = function(rangeMap) { + var index = lodash_1.default.indexOf(this.panel.rangeMaps, rangeMap); + this.panel.rangeMaps.splice(index, 1); + this.render(); + }; + DiscretePanelCtrl.prototype.addRangeMap = function() { + this.panel.rangeMaps.push({from: '', to: '', text: ''}); + }; + DiscretePanelCtrl.prototype.onConfigChanged = function(update) { + if (update === void 0) { + update = false; + } + this.isTimeline = this.panel.display === 'timeline'; + this.isStacked = this.panel.display === 'stacked'; + this.formatter = null; + if (this.panel.units && 'none' !== this.panel.units) { + this.formatter = kbn_1.default.valueFormats[this.panel.units]; + } + if (update) { + this.refresh(); + } else { + this.render(); + } + }; + DiscretePanelCtrl.prototype.getFontSize = function(fontSize) { + return fontsize_1.default.getValue(this.panel.adjFontSize, fontSize); + }; + DiscretePanelCtrl.prototype.getLegendDisplay = function(info, metric) { + var disp = info.val; + if ( + this.panel.showLegendPercent || + this.panel.showLegendCounts || + this.panel.showLegendTime + ) { + disp += ' ('; + var hassomething = false; + if (this.panel.showLegendTime) { + disp += moment_1.default.duration(info.ms).humanize(); + hassomething = true; + } + if (this.panel.showLegendPercent) { + if (hassomething) { + disp += ', '; + } + var dec = this.panel.legendPercentDecimals; + if (lodash_1.default.isNil(dec)) { + if (info.per > 0.98 && metric.changes.length > 1) { + dec = 2; + } else if (info.per < 0.02) { + dec = 2; + } else { + dec = 0; + } + } + disp += kbn_1.default.valueFormats.percentunit(info.per, dec); + hassomething = true; + } + if (this.panel.showLegendCounts) { + if (hassomething) { + disp += ', '; + } + disp += info.count + 'x'; + } + disp += ')'; + } + return disp; + }; + //------------------ + // Mouse Events + //------------------ + DiscretePanelCtrl.prototype.showTooltip = function(evt, point, isExternal) { + var from = point.start; + var to = point.start + point.ms; + var time = point.ms; + var val = point.val; + if (this.mouse.down != null) { + from = Math.min(this.mouse.down.ts, this.mouse.position.ts); + to = Math.max(this.mouse.down.ts, this.mouse.position.ts); + time = to - from; + val = 'Zoom To:'; + } + var body = '
' + val + '
'; + var formatTimeType = 'YYYY-MM-DD HH:mm:ss'; + var fromData = this.timeFormatFun(from, formatTimeType); + var toData = this.timeFormatFun(to, formatTimeType); + body += '
'; + body += fromData + '
'; + body += 'to
'; + body += toData + '

'; + body += moment_1.default.duration(time).humanize() + '
'; + body += '
'; + var pageX = 0; + var pageY = 0; + if (isExternal) { + var rect = this.canvas.getBoundingClientRect(); + pageY = rect.top + evt.pos.panelRelY * rect.height; + if (pageY < 0 || pageY > jquery_1.default(window).innerHeight()) { + // Skip Hidden tooltip + this.$tooltip.detach(); + return; + } + pageY += jquery_1.default(window).scrollTop(); + var elapsed = this.range.to - this.range.from; + var pX = (evt.pos.x - this.range.from) / elapsed; + pageX = rect.left + pX * rect.width; + } else { + pageX = evt.evt.pageX; + pageY = evt.evt.pageY; + } + this.$tooltip.html(body).place_tt(pageX + 20, pageY + 5); + }; + DiscretePanelCtrl.prototype.onGraphHover = function(evt, showTT, isExternal) { + this.externalPT = false; + if (this.data && this.data.length) { + var hover = null; + var panelHeight = jquery_1.default('.panel-container').height(); + var j = Math.floor( + this.mouse.position.y / (this.panel.rowHeight * panelHeight * 0.001) + ); + if (j < 0) { + j = 0; + } + if (j >= this.data.length) { + j = this.data.length - 1; + } + if (this.isTimeline) { + hover = this.data[j].changes[0]; + for (var i = 0; i < this.data[j].changes.length; i++) { + if (this.data[j].changes[i].start > this.mouse.position.ts) { + break; + } + hover = this.data[j].changes[i]; + } + this.hoverPoint = hover; + if (showTT) { + this.externalPT = isExternal; + this.showTooltip(evt, hover, isExternal); + } + this.onRender(); // refresh the view + } else if (!isExternal) { + if (this.isStacked) { + hover = this.data[j].legendInfo[0]; + for (var i = 0; i < this.data[j].legendInfo.length; i++) { + if (this.data[j].legendInfo[i].x > this.mouse.position.x) { + break; + } + hover = this.data[j].legendInfo[i]; + } + this.hoverPoint = hover; + this.onRender(); // refresh the view + if (showTT) { + this.externalPT = isExternal; + this.showLegandTooltip(evt.evt, hover); + } + } + } + } else { + this.$tooltip.detach(); // make sure it is hidden + } + }; + DiscretePanelCtrl.prototype.onMouseClicked = function(where) { + var pt = this.hoverPoint; + if (pt && pt.start) { + var range = { + from: moment_1.default.utc(pt.start), + to: moment_1.default.utc(pt.start + pt.ms), + }; + this.timeSrv.setTime(range); + this.clear(); + } + }; + DiscretePanelCtrl.prototype.onMouseSelectedRange = function(range) { + this.timeSrv.setTime(range); + this.clear(); + }; + DiscretePanelCtrl.prototype.clear = function() { + this.mouse.position = null; + this.mouse.down = null; + this.hoverPoint = null; + jquery_1.default(this.canvas).css('cursor', 'wait'); + app_events_1.default.emit('graph-hover-clear'); + this.render(); + }; + DiscretePanelCtrl.prototype._updateRenderDimensions = function() { + var _this = this; + this._renderDimensions = {}; + var domObj = jquery_1.default('.panel-container'); + if (domObj.length > 0) { + var maxHeight; + for (var i = 0; i < domObj.length; i++) { + if (i === 0) { + var a = domObj[i]; + maxHeight = a.getBoundingClientRect().height; + } else { + var b = domObj[i]; + var domHeight = b.getBoundingClientRect().height; + if (domHeight > maxHeight) { + maxHeight = domHeight; + } + } + } + } + var panelHeight = jquery_1.default('.panel-container').height(); + if (panelHeight < maxHeight) { + panelHeight = maxHeight; + } + var rect = (this._renderDimensions.rect = this.wrap.getBoundingClientRect()); + var rows = (this._renderDimensions.rows = this.data.length); + var rowHeight = (this._renderDimensions.rowHeight = + this.panel.rowHeight * panelHeight * 0.001); + var rowsHeight = (this._renderDimensions.rowsHeight = rowHeight * rows); + var timeHeight = this.panel.showTimeAxis ? 14 + this.panel.textSizeTime : 0; + var height = (this._renderDimensions.height = rowsHeight + timeHeight); + var width = (this._renderDimensions.width = rect.width); + var top = 0; + var elapsed = this.range.to - this.range.from; + this._renderDimensions.matrix = []; + lodash_1.default.forEach(this.data, function(metric) { + var positions = []; + if (_this.isTimeline) { + var lastBS = 0; + var point = metric.changes[0]; + for (var i_1 = 0; i_1 < metric.changes.length; i_1++) { + point = metric.changes[i_1]; + if (point.start <= _this.range.to) { + var xt = Math.max(point.start - _this.range.from, 0); + var x = xt / elapsed * width; + positions.push(x); + } + } + } + if (_this.isStacked) { + var point = null; + var start = _this.range.from; + for (var i_2 = 0; i_2 < metric.legendInfo.length; i_2++) { + point = metric.legendInfo[i_2]; + var xt = Math.max(start - _this.range.from, 0); + var x = xt / elapsed * width; + positions.push(x); + start += point.ms; + } + } + _this._renderDimensions.matrix.push({ + y: top, + positions: positions, + }); + top += rowHeight; + }); + }; + DiscretePanelCtrl.prototype._updateSelectionMatrix = function() { + var selectionPredicates = { + all: function() { + return true; + }, + crosshairHover: function(i, j) { + if (j + 1 === this.data[i].changes.length) { + return this.data[i].changes[j].start <= this.mouse.position.ts; + } + return ( + this.data[i].changes[j].start <= this.mouse.position.ts && + this.mouse.position.ts < this.data[i].changes[j + 1].start + ); + }, + mouseX: function(i, j) { + var row = this._renderDimensions.matrix[i]; + if (j + 1 === row.positions.length) { + return row.positions[j] <= this.mouse.position.x; + } + return ( + row.positions[j] <= this.mouse.position.x && + this.mouse.position.x < row.positions[j + 1] + ); + }, + metric: function(i) { + return this.data[i] === this._selectedMetric; + }, + legendItem: function(i, j) { + if (this.data[i] !== this._selectedMetric) { + return false; + } + return this._selectedLegendItem.val === this._getVal(i, j); + }, + }; + function getPredicate() { + if (this._selectedLegendItem !== undefined) { + return 'legendItem'; + } + if (this._selectedMetric !== undefined) { + return 'metric'; + } + if (this.mouse.down !== null) { + return 'all'; + } + if (this.panel.highlightOnMouseover && this.mouse.position != null) { + if (this.isTimeline) { + return 'crosshairHover'; + } + if (this.isStacked) { + return 'mouseX'; + } + } + return 'all'; + } + var pn = getPredicate.bind(this)(); + var predicate = selectionPredicates[pn].bind(this); + this._selectionMatrix = []; + for (var i = 0; i < this._renderDimensions.matrix.length; i++) { + var rs = []; + var r = this._renderDimensions.matrix[i]; + for (var j = 0; j < r.positions.length; j++) { + rs.push(predicate(i, j)); + } + this._selectionMatrix.push(rs); + } + }; + DiscretePanelCtrl.prototype._updateCanvasSize = function() { + this.canvas.width = this._renderDimensions.width * this._devicePixelRatio; + this.canvas.height = this._renderDimensions.height * this._devicePixelRatio; + jquery_1 + .default(this.canvas) + .css('width', this._renderDimensions.width + 'px'); + jquery_1 + .default(this.canvas) + .css('height', this._renderDimensions.height + 'px'); + this.context.scale(this._devicePixelRatio, this._devicePixelRatio); + }; + DiscretePanelCtrl.prototype._getVal = function(metricIndex, rectIndex) { + var point = undefined; + if (this.isTimeline) { + point = this.data[metricIndex].changes[rectIndex]; + } + if (this.isStacked) { + point = this.data[metricIndex].legendInfo[rectIndex]; + } + return point.val; + }; + DiscretePanelCtrl.prototype._renderRects = function() { + var _this = this; + var matrix = this._renderDimensions.matrix; + var ctx = this.context; + lodash_1.default.forEach(this.data, function(metric, i) { + var rowObj = matrix[i]; + for (var j = 0; j < rowObj.positions.length; j++) { + var currentX = rowObj.positions[j]; + var nextX = _this._renderDimensions.width; + if (j + 1 !== rowObj.positions.length) { + nextX = rowObj.positions[j + 1]; + } + ctx.fillStyle = _this.getColor(_this._getVal(i, j)); + var globalAlphaTemp = ctx.globalAlpha; + if (!_this._selectionMatrix[i][j]) { + ctx.globalAlpha = 0.3; + } + ctx.fillRect( + currentX, + matrix[i].y, + nextX - currentX, + _this._renderDimensions.rowHeight + ); + ctx.globalAlpha = globalAlphaTemp; + } + if (i > 0) { + var top_1 = matrix[i].y; + ctx.strokeStyle = _this.panel.lineColor; + ctx.beginPath(); + ctx.moveTo(0, top_1); + ctx.lineTo(_this._renderDimensions.width, top_1); + ctx.stroke(); + } + }); + }; + DiscretePanelCtrl.prototype._renderLabels = function() { + var _this = this; + var ctx = this.context; + ctx.lineWidth = 1; + ctx.textBaseline = 'middle'; + // ctx.font = this.panel.textSize + 'px "Open Sans", Helvetica, Arial, sans-serif'; + ctx.font = + this.getFontSize(this.panel.FontSizeValue) + + ' "Open Sans", Helvetica, Arial, sans-serif'; + var offset = 2; + var rowHeight = this._renderDimensions.rowHeight; + lodash_1.default.forEach(this.data, function(metric, i) { + var _a = _this._renderDimensions.matrix[i], + y = _a.y, + positions = _a.positions; + var centerY = y + rowHeight / 2; + // let labelPositionMetricName = y + rectHeight - this.panel.textSize / 2; + // let labelPositionLastValue = y + rectHeight - this.panel.textSize / 2; + // let labelPositionValue = y + this.panel.textSize / 2; + var labelPositionMetricName = centerY; + var labelPositionLastValue = centerY; + var labelPositionValue = centerY; + var hoverTextStart = -1; + var hoverTextEnd = -1; + if (_this.mouse.position) { + for (var j = 0; j < positions.length; j++) { + if (positions[j] <= _this.mouse.position.x) { + if ( + j >= positions.length - 1 || + positions[j + 1] >= _this.mouse.position.x + ) { + var val = _this._getVal(i, j); + ctx.fillStyle = _this.panel.valueTextColor; + ctx.textAlign = 'left'; + hoverTextStart = positions[j] + offset; + ctx.fillText(val, hoverTextStart, labelPositionValue); + var txtinfo = ctx.measureText(val); + hoverTextEnd = hoverTextStart + txtinfo.width + 4; + break; + } + } + } + } + var minTextSpot = 0; + var maxTextSpot = _this._renderDimensions.width; + if (_this.panel.writeMetricNames) { + ctx.fillStyle = _this.panel.metricNameColor; + ctx.textAlign = 'left'; + var txtinfo = ctx.measureText(metric.name); + if (hoverTextStart < 0 || hoverTextStart > txtinfo.width) { + ctx.fillText(metric.name, offset, labelPositionMetricName); + minTextSpot = offset + ctx.measureText(metric.name).width + 2; + } + } + if (_this.panel.writeLastValue && positions.length > 0) { + var val = _this._getVal(i, positions.length - 1); + ctx.fillStyle = _this.panel.valueTextColor; + ctx.textAlign = 'right'; + var txtinfo = ctx.measureText(val); + var xval = _this._renderDimensions.width - offset - txtinfo.width; + if (xval > hoverTextEnd) { + ctx.fillText( + val, + _this._renderDimensions.width - offset, + labelPositionLastValue + ); + maxTextSpot = + _this._renderDimensions.width - ctx.measureText(val).width - 10; + } + } + if (_this.panel.writeAllValues) { + ctx.fillStyle = _this.panel.valueTextColor; + ctx.textAlign = 'left'; + for (var j = 0; j < positions.length; j++) { + var val = _this._getVal(i, j); + var nextX = _this._renderDimensions.width; + if (j + 1 !== positions.length) { + nextX = positions[j + 1]; + } + var x = positions[j]; + if (x > minTextSpot) { + var width = nextX - x; + if (maxTextSpot > x + width) { + // This clips the text within the given bounds + ctx.save(); + ctx.rect(x, y, width, rowHeight); + ctx.clip(); + ctx.fillText(val, x + offset, labelPositionValue); + ctx.restore(); + } + } + } + } + }); + }; + DiscretePanelCtrl.prototype._renderSelection = function() { + if (this.mouse.down === null) { + return; + } + if (this.mouse.position === null) { + return; + } + if (!this.isTimeline) { + return; + } + var ctx = this.context; + var height = this._renderDimensions.height; + var xmin = Math.min(this.mouse.position.x, this.mouse.down.x); + var xmax = Math.max(this.mouse.position.x, this.mouse.down.x); + ctx.fillStyle = 'rgba(110, 110, 110, 0.5)'; + ctx.strokeStyle = 'rgba(110, 110, 110, 0.5)'; + ctx.beginPath(); + ctx.fillRect(xmin, 0, xmax - xmin, height); + ctx.strokeRect(xmin, 0, xmax - xmin, height); + }; + DiscretePanelCtrl.prototype._renderTimeAxis = function() { + if (!this.panel.showTimeAxis || this.noPoints) { + return; + } + var panelHeight = jquery_1.default('.panel-container').height(); + var ctx = this.context; + var rows = this.data.length; + var rowHeight = this.panel.rowHeight * panelHeight * 0.001; + var height = this._renderDimensions.height; + var width = this._renderDimensions.width; + var top = this._renderDimensions.rowsHeight; + var headerColumnIndent = 0; // header inset (zero for now) + ctx.font = + this.panel.textSizeTime + ' "Open Sans", Helvetica, Arial, sans-serif'; + // ctx.fillStyle = this.panel.timeTextColor; + ctx.fillStyle = jquery_1.default('.discrete-Theme').css('color'); + ctx.textAlign = 'left'; + // ctx.strokeStyle = this.panel.timeTextColor; + ctx.strokeStyle = jquery_1.default('.discrete-Theme').css('color'); + ctx.textBaseline = 'top'; + ctx.setLineDash([7, 5]); // dashes are 5px and spaces are 3px + ctx.lineDashOffset = 0; + var min = lodash_1.default.isUndefined(this.range.from) + ? null + : this.range.from.valueOf(); + var max = lodash_1.default.isUndefined(this.range.to) + ? null + : this.range.to.valueOf(); + var minPxInterval = ctx.measureText('12/33 24:59').width * 2; + var estNumTicks = width / minPxInterval; + var estTimeInterval = (max - min) / estNumTicks; + var timeResolution = this.getTimeResolution(estTimeInterval); + var pixelStep = timeResolution / (max - min) * width; + var nextPointInTime = this.roundDate(min, timeResolution) + timeResolution; + var xPos = headerColumnIndent + (nextPointInTime - min) / (max - min) * width; + var timeFormat = this.timeSrv.graphTimeFormat( + timeResolution / 1000, + min, + max + ); + while (nextPointInTime < max) { + // draw ticks + ctx.beginPath(); + ctx.moveTo(xPos, top + 5); + ctx.lineTo(xPos, 0); + ctx.lineWidth = 1; + ctx.stroke(); + // draw time label + var date = new Date(nextPointInTime); + var dateStr = this.timeFormatFun(date, timeFormat); + var xOffset = ctx.measureText(dateStr).width / 2; + ctx.fillText(dateStr, xPos - xOffset, top + 10); + nextPointInTime += timeResolution; + xPos += pixelStep; + } + }; + DiscretePanelCtrl.prototype.timeFormatFun = function(date, timeFormat) { + var dateTimeFormat = this.timeSrv.dateTimeFormatFun(); + var dashboardTimeZone = this.dashboard.getTimezone(); + return dateTimeFormat(date.valueOf(), { + format: timeFormat, + timeZone: dashboardTimeZone, + }); + }; + DiscretePanelCtrl.prototype._renderCrosshair = function() { + if (this.mouse.down != null) { + return; + } + if (this.mouse.position === null) { + return; + } + if (!this.isTimeline) { + return; + } + var panelHeight = jquery_1.default('.panel-container').height(); + var ctx = this.context; + var rows = this.data.length; + var rowHeight = this.panel.rowHeight * panelHeight * 0.001; + var height = this._renderDimensions.height; + ctx.beginPath(); + ctx.moveTo(this.mouse.position.x, 0); + ctx.lineTo(this.mouse.position.x, height); + ctx.strokeStyle = this.panel.crosshairColor; + ctx.setLineDash([]); + ctx.lineWidth = 1; + ctx.stroke(); + // Draw a Circle around the point if showing a tooltip + if (this.externalPT && rows > 1) { + ctx.beginPath(); + ctx.arc( + this.mouse.position.x, + this.mouse.position.y, + 3, + 0, + 2 * Math.PI, + false + ); + ctx.fillStyle = this.panel.crosshairColor; + ctx.fill(); + ctx.lineWidth = 1; + } + }; + DiscretePanelCtrl.prototype.handleValueTextChange = function(valueMap) { + i18n_1.setI18n(valueMap, 'text', valueMap.text, this.dashboard.panelLanguage); + }; + DiscretePanelCtrl.prototype.handleRangeTextChange = function(rangeMap) { + i18n_1.setI18n(rangeMap, 'text', rangeMap.text, this.dashboard.panelLanguage); + }; + DiscretePanelCtrl.prototype.handleLegnedFontSizeChange = function() { + i18n_1.setI18n( + this.panel, + 'FontSize', + this.panel.FontSize, + this.dashboard.panelLanguage + ); + }; + DiscretePanelCtrl.prototype.handleFontSizeChange = function() { + i18n_1.setI18n( + this.panel, + 'FontSizeValue', + this.panel.FontSizeValue, + this.dashboard.panelLanguage + ); + }; + DiscretePanelCtrl.prototype.formatDatas = function() { + var _this = this; + var data = []; + lodash_1.default.forEach(this.dataList, function(metric) { + if ('table' === metric.type) { + if ('time' !== metric.columns[0].type) { + throw new Error('Expected a time column from the table format'); + } + var last = null; + for (var i = 1; i < metric.columns.length; i++) { + var res = new distinct_points_1.DistinctPoints(metric.columns[i].text); + for (var j = 0; j < metric.rows.length; j++) { + var row = metric.rows[j]; + res.add(row[0], _this.formatValue(row[i])); + } + res.finish(_this); + data.push(res); + } + } else { + // ��ijһʱ���ϵ� + if (_this.panel.nullValue) { + var length = metric.datapoints.length; + metric.datapoints[length - 1][0] = null; + } + var res = new distinct_points_1.DistinctPoints(metric.target); + lodash_1.default.forEach(metric.datapoints, function(point) { + res.add(point[1], _this.formatValue(point[0])); + }); + res.finish(_this); + data.push(res); + } + }); + return data; + }; + DiscretePanelCtrl.prototype.initI18n = function() { + if (this.dashboard.panelLanguage) { + for (var _i = 0, _a = this.panel.valueMaps; _i < _a.length; _i++) { + var valueMap = _a[_i]; + valueMap.text = i18n_1.getI18n( + valueMap, + 'text', + this.dashboard.panelLanguage + ); + } + for (var _b = 0, _c = this.panel.rangeMaps; _b < _c.length; _b++) { + var rangeMap = _c[_b]; + rangeMap.text = i18n_1.getI18n( + rangeMap, + 'text', + this.dashboard.panelLanguage + ); + } + this.panel.FontSize = i18n_1.getI18n( + this.panel, + 'FontSize', + this.dashboard.panelLanguage + ); + this.panel.FontSizeValue = i18n_1.getI18n( + this.panel, + 'FontSizeValue', + this.dashboard.panelLanguage + ); + } + }; + DiscretePanelCtrl.templateUrl = 'partials/module.html'; + DiscretePanelCtrl.scrollable = true; + return DiscretePanelCtrl; + })(canvas_metric_1.CanvasPanelCtrl); + exports_1('PanelCtrl', DiscretePanelCtrl); + }, + }; + } +); +//# sourceMappingURL=module.js.map diff --git a/src-bak/module.js.map b/src-bak/module.js.map new file mode 100644 index 0000000..16bc8ef --- /dev/null +++ b/src-bak/module.js.map @@ -0,0 +1 @@ +{"version":3,"file":"module.js","sourceRoot":"","sources":["module.ts"],"names":["DiscretePanelCtrl","DiscretePanelCtrl.constructor","DiscretePanelCtrl.onDataSnapshotLoad","DiscretePanelCtrl.onPanelInitialized","DiscretePanelCtrl.onDataError","DiscretePanelCtrl.onInitEditMode","DiscretePanelCtrl.onRender","DiscretePanelCtrl.showLegandTooltip","DiscretePanelCtrl.clearTT","DiscretePanelCtrl.formatValue","DiscretePanelCtrl.getColor","DiscretePanelCtrl.checkValidValueMapping","DiscretePanelCtrl.mappingColorsPaleteCash","DiscretePanelCtrl.randomColor","DiscretePanelCtrl.applyPanelTimeOverrides","DiscretePanelCtrl.onDataReceived","DiscretePanelCtrl.exportReportCsv","DiscretePanelCtrl.removeColorMap","DiscretePanelCtrl.updateColorInfo","DiscretePanelCtrl.addColorMap","DiscretePanelCtrl.removeValueMap","DiscretePanelCtrl.addValueMap","DiscretePanelCtrl.removeRangeMap","DiscretePanelCtrl.addRangeMap","DiscretePanelCtrl.onConfigChanged","DiscretePanelCtrl.getFontSize","DiscretePanelCtrl.getLegendDisplay","DiscretePanelCtrl.showTooltip","DiscretePanelCtrl.onGraphHover","DiscretePanelCtrl.onMouseClicked","DiscretePanelCtrl.onMouseSelectedRange","DiscretePanelCtrl.clear","DiscretePanelCtrl._updateRenderDimensions","DiscretePanelCtrl._updateSelectionMatrix","DiscretePanelCtrl._updateSelectionMatrix.getPredicate","DiscretePanelCtrl._updateCanvasSize","DiscretePanelCtrl._getVal","DiscretePanelCtrl._renderRects","DiscretePanelCtrl._renderLabels","DiscretePanelCtrl._renderSelection","DiscretePanelCtrl._renderTimeAxis","DiscretePanelCtrl.timeFormatFun","DiscretePanelCtrl._renderCrosshair","DiscretePanelCtrl.handleValueTextChange","DiscretePanelCtrl.handleRangeTextChange","DiscretePanelCtrl.handleLegnedFontSizeChange","DiscretePanelCtrl.handleFontSizeChange","DiscretePanelCtrl.formatDatas","DiscretePanelCtrl.initI18n"],"mappings":"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AAGA,UAAUA,CAACA,GAAGA,CAACA,EAAEA,CAACA,CAACA;gCAC5BA,EAAEA,CAACA,CAACA,EAAEA,IAAIA,GAAGA,IAAIA,IAAIA,IAAIA,GAAGA,CAACA,CAACA,CAACA;oCAC7BA,MAAMA,CAACA,GAAGA,CAACA,IAAIA,CAACA;gCAClBA,CAACA;4BACHA,CAACA;wBACHA,CAACA;wBACDA,EAAEA,CAACA,CAACA,IAAIA,CAACA,SAASA,CAACA,CAACA,CAACA;4BACnBA,GAAGA,GAAGA,IAAIA,CAACA,SAASA,CAACA,GAAGA,EAAEA,IAAIA,CAACA,KAAKA,CAACA,QAAQA,CAACA,CAACA;wBACjDA,CAACA;oBACHA,CAACA;oBACDA,IAAIA,MAAMA,GAAGA,gBAACA,CAACA,KAAKA,CAACA,GAAGA,CAACA,CAACA;oBAC1BA,EAAEA,CAACA,CAACA,CAACA,MAAMA,IAAIA,CAACA,gBAACA,CAACA,QAAQA,CAACA,GAAGA,CAACA,CAACA,CAACA,CAACA;wBAChCA,GAAGA,GAAGA,GAAGA,CAACA,QAAQA,EAAEA,CAACA,CAACA,iCAAiCA;oBACzDA,CAACA;oBAEDA,GAAGA,CAACA,CAACA,GAAGA,CAACA,CAACA,GAAGA,CAACA,EAAEA,CAACA,GAAGA,IAAIA,CAACA,KAAKA,CAACA,SAASA,CAACA,MAAMA,EAAEA,CAACA,EAAEA,EAAEA,CAACA;wBACrDA,IAAMA,OAAOA,GAAGA;4BACdA,UAAUA,EAAEA,EAAEA;4BACdA,SAASA,EAAEA,EAAEA;yBACdA,CAACA;wBACFA,IAAIA,GAAGA,GAAGA,IAAIA,CAACA,KAAKA,CAACA,SAASA,CAACA,CAACA,CAACA,CAACA;wBAClCA,oBAAoBA;wBACpBA,EAAEA,CAACA,CAACA,GAAGA,CAACA,KAAKA,KAAKA,MAAMA,CAACA,CAACA,CAACA;4BACzBA,EAAEA,CAACA,CAACA,MAAMA,CAACA,CAACA,CAACA;gCACXA,MAAMA,CAACA,GAAGA,CAACA,IAAIA,CAACA;4BAClBA,CAACA;4BACDA,QAAQA,CAACA;wBACXA,CAACA;wBAEDA,EAAEA,CAACA,CAACA,GAAGA,KAAKA,GAAGA,CAACA,KAAKA,CAACA,CAACA,CAACA;4BACtBA,OAAOA,CAACA,UAAUA,GAAGA,GAAGA,CAACA,KAAKA,CAACA;4BAC/BA,OAAOA,CAACA,SAASA,GAAGA,GAAGA,CAACA,IAAIA,CAACA;4BAC7BA,WAAWA,CAACA,IAAIA,CAACA,OAAOA,CAACA,CAACA;4BAC1BA,MAAMA,CAACA,GAAGA,CAACA,IAAIA,CAACA;wBAClBA,CAACA;oBACHA,CAACA;oBAEDA,EAAEA,CAACA,CAACA,MAAMA,CAACA,CAACA,CAACA;wBACXA,MAAMA,CAACA,MAAMA,CAACA;oBAChBA,CAACA;oBACDA,MAAMA,CAACA,GAAGA,CAACA;gBACbA,CAACA;gBAEDT,oCAAQA,GAARA,UAASA,GAAGA;oBACVU,EAAEA,CAACA,CAACA,gBAACA,CAACA,GAAGA,CAACA,IAAIA,CAACA,QAAQA,EAAEA,GAAGA,CAACA,CAACA,CAACA,CAACA;wBAC9BA,MAAMA,CAACA,IAAIA,CAACA,QAAQA,CAACA,GAAGA,CAACA,CAACA;oBAC5BA,CAACA;oBACDA,+BAA+BA;oBAC/BA,EAAEA,CAACA,CAACA,IAAIA,CAACA,iBAAiBA,CAACA,GAAGA,CAACA,KAAKA,SAASA,CAACA,CAACA,CAACA;wBAC9CA,+EAA+EA;wBAC/EA,kCAAkCA;wBAClCA,qCAAqCA;wBACrCA,WAAWA;wBACXA,mDAAmDA;wBACnDA,8CAA8CA;wBAC9CA,kFAAkFA;wBAClFA,wDAAwDA;wBACxDA,eAAeA;wBACfA,yCAAyCA;wBACzCA,QAAQA;wBACRA,MAAMA;wBACNA,IAAIA;wBACJA,mCAAmCA;wBACnCA,IAAIA,CAACA,GAAGA,aAAaA,CAACA,IAAIA,CAACA,iBAAiBA,CAACA,MAAMA,GAAGA,aAAaA,CAACA,MAAMA,CAACA,CAACA;wBAC5EA,EAAEA,CAACA,CAACA,WAAWA,CAACA,MAAMA,KAAKA,CAACA,CAACA,CAACA,CAACA;4BAC7BA,EAAEA,CAACA,CAACA,IAAIA,CAACA,sBAAsBA,CAACA,GAAGA,CAACA,CAACA,CAACA,CAACA;gCACrCA,IAAIA,CAACA,uBAAuBA,CAACA,GAAGA,EAAEA,CAACA,CAACA,CAACA;4BACvCA,CAACA;4BAACA,IAAIA,CAACA,CAACA;gCACNA,IAAIA,CAACA,iBAAiBA,CAACA,GAAGA,CAACA,GAAGA,CAACA,CAACA;4BAClCA,CAACA;wBACHA,CAACA;wBAACA,IAAIA,CAACA,CAACA;4BACNA,IAAIA,CAACA,uBAAuBA,CAACA,GAAGA,EAAEA,CAACA,CAACA,CAACA;wBACvCA,CAACA;wBACDA,6BAA6BA;wBAC7BA,IAAIA,CAACA,iBAAiBA,CAACA,MAAMA,EAAEA,CAACA;oBAClCA,CAACA;oBACDA,MAAMA,CAACA,IAAIA,CAACA,iBAAiBA,CAACA,GAAGA,CAACA,CAACA;gBACrCA,CAACA;gBAEDV,wBAAwBA;gBACxBA,0BAA0BA;gBAC1BA,kDAAsBA,GAAtBA,UAAuBA,GAAGA;oBACxBW,GAAGA,CAACA,CAACA,GAAGA,CAACA,CAACA,GAAGA,CAACA,EAAEA,CAACA,GAAGA,IAAIA,CAACA,KAAKA,CAACA,SAASA,CAACA,MAAMA,EAAEA,CAACA,EAAEA,EAAEA,CAACA;wBACrDA,EAAEA,CAACA,CACDA,IAAIA,CAACA,KAAKA,CAACA,SAASA,CAACA,CAACA,CAACA,CAACA,IAAIA,KAAKA,GAAGA;4BACpCA,IAAIA,CAACA,KAAKA,CAACA,SAASA,CAACA,CAACA,CAACA,CAACA,IAAIA;4BAC5BA,IAAIA,CAACA,KAAKA,CAACA,SAASA,CAACA,CAACA,CAACA,CAACA,IAAIA,KAAKA,WACnCA,CAACA,CAACA,CAACA;4BACDA,MAAMA,CAACA,IAAIA,CAACA;wBACdA,CAACA;oBACHA,CAACA;oBACDA,MAAMA,CAACA,KAAKA,CAACA;gBACfA,CAACA;gBAEDX,eAAeA;gBACfA,mDAAuBA,GAAvBA,UAAwBA,GAAGA,EAAEA,CAACA;oBAC5BY,GAAGA,CAACA,CAACA,GAAGA,CAACA,CAACA,GAAGA,CAACA,EAAEA,CAACA,GAAGA,IAAIA,CAACA,KAAKA,CAACA,SAASA,CAACA,MAAMA,EAAEA,CAACA,EAAEA,EAAEA,CAACA;wBACrDA,EAAEA,CAACA,CACDA,IAAIA,CAACA,KAAKA,CAACA,SAASA,CAACA,CAACA,CAACA,CAACA,KAAKA,KAAKA,EAAEA;4BACpCA,IAAIA,CAACA,KAAKA,CAACA,SAASA,CAACA,CAACA,CAACA,CAACA,KAAKA,KAAKA,MACpCA,CAACA,CAACA,CAACA;4BACDA,IAAIA,CAACA,iBAAiBA,CAACA,GAAGA,CAACA,GAAGA,CAACA,CAACA;4BAChCA,QAAQA,CAACA;wBACXA,CAACA;wBACDA,EAAEA,CAACA,CAACA,IAAIA,CAACA,KAAKA,CAACA,SAASA,CAACA,CAACA,CAACA,CAACA,IAAIA,KAAKA,GAAGA,CAACA,CAACA,CAACA;4BACzCA,EAAEA,CAACA,CAACA,IAAIA,CAACA,QAAQA,CAACA,cAAcA,CAACA,IAAIA,CAACA,KAAKA,CAACA,SAASA,CAACA,CAACA,CAACA,CAACA,KAAKA,CAACA,CAACA,CAACA,CAACA;gCAChEA,IAAIA,CAACA,iBAAiBA,CAACA,GAAGA,CAACA,GAAGA,IAAIA,CAACA,QAAQA,CAACA,IAAIA,CAACA,KAAKA,CAACA,SAASA,CAACA,CAACA,CAACA,CAACA,KAAKA,CAACA,CAACA;4BAC7EA,CAACA;4BAACA,IAAIA,CAACA,CAACA;gCACNA,IAAIA,CAACA,iBAAiBA,CAACA,GAAGA,CAACA,GAAGA,IAAIA,CAACA,iBAAiBA,CAClDA,IAAIA,CAACA,KAAKA,CAACA,SAASA,CAACA,CAACA,CAACA,CAACA,KAAKA,CAC9BA,CAACA;gCACFA,EAAEA,CAACA,CAACA,IAAIA,CAACA,iBAAiBA,CAACA,GAAGA,CAACA,KAAKA,WAAWA,CAACA,CAACA,CAACA;oCAChDA,IAAIA,CAACA,iBAAiBA,CAACA,GAAGA,CAACA,GAAGA,CAACA,CAACA;gCAClCA,CAACA;4BACHA,CAACA;wBACHA,CAACA;oBACHA,CAACA;gBACHA,CAACA;gBACDZ,eAAeA;gB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CAACA,CAACA,GAAGA,CAACA,CAACA,GAAGA,CAACA,EAAEA,CAACA,GAAGA,WAAWA,CAACA,MAAMA,EAAEA,CAACA,EAAEA,EAAEA,CAACA;gDAC5CA,EAAEA,CAACA,CAACA,WAAWA,CAACA,CAACA,CAACA,CAACA,SAASA,KAAKA,IAAIA,CAACA,GAAGA,CAACA,CAACA,CAACA;oDAC1CA,CAACA,GAAGA,EAACA,IAAIA,EAAEA,IAAIA,CAACA,GAAGA,EAAEA,KAAKA,EAAEA,KAAIA,CAACA,QAAQA,CAACA,WAAWA,CAACA,CAACA,CAACA,CAACA,UAAUA,CAACA,EAACA,CAACA;gDACxEA,CAACA;gDAACA,IAAIA,CAACA,CAACA;oDACNA,CAACA,GAAGA,EAACA,IAAIA,EAAEA,IAAIA,CAACA,GAAGA,EAAEA,KAAKA,EAAEA,KAAIA,CAACA,QAAQA,CAACA,IAAIA,CAACA,GAAGA,CAACA,EAACA,CAACA;gDACvDA,CAACA;4CACHA,CAACA;wCACHA,CAACA;wCACDA,KAAIA,CAACA,KAAKA,CAACA,SAASA,CAACA,IAAIA,CAACA,CAACA,CAACA,CAACA;wCAC7BA,KAAIA,CAACA,QAAQA,CAACA,IAAIA,CAACA,GAAGA,CAACA,GAAGA,CAACA,CAACA;oCAC9BA,CAACA;gCACHA,CAACA,CAACA,CAACA;4BACLA,CAACA;wBACHA,CAACA,CAACA,CAACA;oBACLA,CAACA;oBAACA,IAAIA,CAACA,CAACA;wBACNA,IAAIA,CAACA,KAAKA,CAACA,SAASA,CAACA,IAAIA,CAACA,EAACA,IAAIA,EAAEA,KAAKA,EAAEA,KAAKA,EAAEA,IAAIA,CAACA,WAAWA,EAAEA,EAACA,CAACA,CAACA;oBACtEA,CAACA;oBACDA,IAAIA,CAACA,eAAeA,EAAEA,CAACA;gBACzBA,CAACA;gBAEDnB,0CAAcA,GAAdA,UAAeA,GAAGA;oBAChBoB,IAAIA,KAAKA,GAAGA,gBAACA,CAACA,OAAOA,CAACA,IAAIA,CAACA,KAAKA,CAACA,SAASA,EAAEA,GAAGA,CAACA,CAACA;oBACjDA,IAAIA,CAACA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IA,CAACA,MAAMA,CAACA,CAACA,CAACA;wBAClCA,IAAIA,KAAKA,GAAGA,IAAIA,CAACA;wBACjBA,IAAIA,WAAWA,GAAGA,gBAACA,CAACA,kBAAkBA,CAACA,CAACA,MAAMA,EAAEA,CAACA;wBACjDA,IAAIA,CAACA,GAAGA,IAAIA,CAACA,KAAKA,CAChBA,IAAIA,CAACA,KAAKA,CAACA,QAAQA,CAACA,CAACA,GAAGA,CAACA,IAAIA,CAACA,KAAKA,CAACA,SAASA,GAAGA,WAAWA,GAAGA,KAAKA,CAACA,CACrEA,CAACA;wBACFA,EAAEA,CAACA,CAACA,CAACA,GAAGA,CAACA,CAACA,CAACA,CAACA;4BACVA,CAACA,GAAGA,CAACA,CAACA;wBACRA,CAACA;wBACDA,EAAEA,CAACA,CAACA,CAACA,IAAIA,IAAIA,CAACA,IAAIA,CAACA,MAAMA,CAACA,CAACA,CAACA;4BAC1BA,CAACA,GAAGA,IAAIA,CAACA,IAAIA,CAACA,MAAMA,GAAGA,CAACA,CAACA;wBAC3BA,CAACA;wBAEDA,EAAEA,CAACA,CAACA,IAAIA,CAACA,UAAUA,CAACA,CAACA,CAACA;4BACpBA,KAAKA,GAAGA,IAAIA,CAACA,IAAIA,CAACA,CAACA,CAACA,CAACA,OAAOA,CAACA,CAACA,CAACA,CAACA;4BAChCA,GAAGA,CAACA,CAACA,GAAGA,CAACA,CAACA,GAAGA,CAACA,EAAEA,CAACA,GAAGA,IAAIA,CAACA,IAAIA,CAACA,CAACA,CAACA,CAACA,OAAOA,CAACA,MAAMA,EAAEA,CAACA,EAAEA,EAAEA,CAACA;gCACrDA,EAAEA,CAACA,CAACA,IAAIA,CAACA,IAAIA,CAACA,CAACA,CAACA,CAACA,OAAOA,CAACA,CAACA,CAACA,CAACA,KAAKA,GAAGA,IAAIA,CAACA,KAAKA,CAACA,QAAQA,CAACA,EAAEA,CAACA,CAACA,CAACA;oCAC3DA,KAAKA,CAACA;gCACRA,CAACA;gCACDA,KAAKA,GAAGA,IAAIA,CAACA,IAAIA,CAACA,CAACA,CAACA,CAACA,OAAOA,CAACA,CAACA,CAACA,CAACA;4BAClCA,CAACA;4BACDA,IAAIA,CAACA,UAAUA,GAAGA,KAAKA,CAACA;4BAExBA,EAAEA,CAACA,CAACA,MAAMA,CAACA,CAACA,CAACA;gCACXA,IAAIA,CAACA,UAAUA,GAAGA,UAAUA,CAACA;gCAC7BA,IAAIA,CAACA,WAAWA,CAACA,GAAGA,EAAEA,KAAKA,EAAEA,UAAUA,CAACA,CAACA;4BAC3CA,CAACA;4BACDA,IAAIA,CAACA,QAAQA,EAAEA,CAACA,CAACA,mBAAmBA;wBACtCA,CAACA;wBAACA,IAAIA,CAACA,EAAEA,CAACA,CAACA,CAACA,UAAUA,CAACA,CAACA,CAACA;4BACvBA,EAAEA,CAACA,CAACA,IAAIA,CAACA,SAASA,CAACA,CAACA,CAACA;gCACnBA,KAAKA,GAAGA,IAAIA,CAACA,IAAIA,CAACA,CAACA,CAACA,CAACA,UAAUA,CAACA,CAACA,CAACA,CAACA;gCACnCA,GAAGA,CAACA,CAACA,GAAGA,CAACA,CAACA,GAAGA,CAACA,EAAEA,CAACA,GAAGA,IAAIA,CAACA,IAAIA,CAACA,CAACA,CAACA,CAACA,UAAUA,CAACA,MAAMA,EAAEA,CAACA,EAAEA,EAAEA,CAACA;oCACxDA,EAAEA,CAACA,CAACA,IAAIA,CAACA,IAAIA,CAACA,CAACA,CAACA,CAACA,UAAUA,CAACA,CAACA,CAACA,CAACA,CAACA,GAAGA,IAAIA,CAACA,KAAKA,CAACA,QAAQA,CAACA,CAACA,CAACA,CAACA,CAACA;wCACzDA,KAAKA,CAACA;oCACRA,CAACA;oCACDA,KAAKA,GAAGA,IAAIA,CAACA,IAAIA,CAACA,CAACA,CAACA,CAACA,UAAUA,CAACA,CAACA,CAACA,CAACA;gCACrCA,CAACA;gCACDA,IAAIA,CAACA,UAAUA,GAAGA,KAAKA,CAACA;gCACxBA,IAAIA,CAACA,QAAQA,EAAEA,CAACA,CAACA,mBAAmBA;gCAEpCA,EAAEA,CAACA,CAACA,MAAMA,CAACA,CAACA,CAACA;oCACXA,IAAIA,CAACA,UAAUA,GAAGA,UAAUA,CAACA;oCAC7BA,IAAIA,CAACA,iBAAiBA,CAACA,GAAGA,CAACA,GAAGA,EAAEA,KAAKA,CAACA,CAACA;gCACzCA,CAACA;4BACHA,CAACA;wBACHA,CAACA;oBACHA,CAACA;oBAACA,IAAIA,CAACA,CAACA;wBACNA,IAAIA,CAACA,QAAQA,CAACA,MAAMA,EAAEA,CAACA,CAACA,yBAAyBA;oBACnDA,CAACA;gBACHA,CAACA;gBAED5B,0CAAcA,GAAdA,UAAeA,KAAKA;oBAClB6B,IAAIA,EAAEA,GAAGA,IAAIA,CAACA,UAAUA,CAACA;oBACzBA,EAAEA,CAACA,CAACA,EAAEA,IAAIA,EAAEA,CAACA,KAAKA,CAACA,CAACA,CAACA;wBACnBA,IAAIA,KAAKA,GAAGA,EAACA,IAAIA,EAAEA,gBAAMA,CAACA,GAAGA,CAACA,EAAEA,CAACA,KAAKA,CAACA,EAAEA,EAAEA,EAAEA,gBAAMA,CAACA,GAAGA,CAACA,EAAEA,CAACA,KAAKA,GAAGA,EAAEA,CAACA,EAAEA,CAACA,EAACA,CAACA;wBAC3EA,IAAIA,CAACA,OAAOA,CAACA,OAAOA,CAACA,KAAKA,CAACA,CAACA;wBAC5BA,IAAIA,CAACA,KAAKA,EAAEA,CAACA;oBACfA,CAACA;gBACHA,CAACA;gBAED7B,gDAAoBA,GAApBA,UAAqBA,KAAKA;oBACxB8B,IAAIA,CAACA,OAAOA,CAACA,OAAOA,CAACA,KAAKA,CAACA,CAACA;oBAC5BA,IAAIA,CAACA,KAAKA,EAAEA,CAACA;gBACfA,CAACA;gBAED9B,iCAAKA,GAALA;oBACE+B,IAAIA,CAACA,KAAKA,CAACA,QAAQA,GAAGA,IAAIA,CAACA;oBAC3BA,IAAIA,CAACA,KAAKA,CAACA,IAAIA,GAAGA,IAAIA,CAACA;oBACvBA,IAAIA,CAACA,UAAUA,GAAGA,IAAIA,CAACA;oBACvBA,gBAACA,CAACA,IAAIA,CAACA,MAAMA,CAACA,CAACA,GAAGA,CAACA,QAAQA,EAAEA,MAAMA,CAACA,CAACA;oBACrCA,oBAASA,CAACA,IAAIA,CAACA,mBAAmBA,CAACA,CAACA;oBACpCA,IAAIA,CAACA,MAAMA,EAAEA,CAACA;gBAChBA,CAACA;gBAED/B,mDAAuBA,GAAvBA;oBAAAgC,iBAuECA;oBAtECA,IAAIA,CAACA,iBAAiBA,GAAGA,EAAEA,CAACA;oBAC5BA,IAAIA,MAAMA,GAAGA,gBAACA,CAACA,kBAAkBA,CAACA,CAACA;oBACnCA,EAAEA,CAACA,CAACA,MAAMA,CAACA,MAAMA,GAAGA,CAACA,CAACA,CAACA,CAACA;wBACtBA,IAAIA,SAASA,CAACA;wBACdA,GAAGA,CAACA,CAACA,GAAGA,CAACA,CAACA,GAAGA,CAACA,EAAEA,CAACA,GAAGA,MAAMA,CAACA,MAAMA,EAAEA,CAACA,EAAEA,EAAEA,CAACA;4BACvCA,EAAEA,CAACA,CAACA,CAACA,KAAKA,CAACA,CAACA,CAACA,CAACA;gCACZA,IAAIA,CAACA,GAAGA,MAAMA,CAACA,CAACA,CAACA,CAACA;gCAClBA,SAASA,GAAGA,CAACA,CAACA,qBAAqBA,EAAEA,CAACA,MAAMA,CAACA;4BAC/CA,CAACA;4BAACA,IAAIA,CAACA,CAACA;gCACNA,IAAIA,CAACA,GAAGA,MAAMA,CAACA,CAACA,CAACA,CAACA;gCAClBA,IAAIA,SAASA,GAAGA,CAACA,CAACA,qBAAqBA,EAAEA,CAACA,MAAMA,CAACA;gCACjDA,EAAEA,CAACA,CAACA,SAASA,GAAGA,SAASA,CAACA,CAACA,CAACA;oCAC1BA,SAASA,GAAGA,SAASA,CAACA;gCACxBA,CAACA;4BACHA,CAACA;wBACHA,CAACA;oBACHA,CAACA;oBACDA,IAAIA,WAAWA,GAAGA,gBAACA,CAACA,kBAAkBA,CAACA,CAACA,MAAMA,EAAEA,CAACA;oBACjDA,EAAEA,CAACA,CAACA,WAAWA,GAAGA,SAASA,CAACA,CAACA,CAACA;wBAC5BA,WAAWA,GAAGA,SAASA,CAACA;oBAC1BA,CAACA;oBAEDA,IAAMA,IAAIA,GAAGA,CAACA,IAAIA,CAACA,iBAAiBA,CAACA,IAAIA,GAAGA,IAAIA,CAACA,IAAIA,CAACA,qBAAqBA,EAAEA,CAACA,CAAC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AEA,EAAEA,CAACA;4BACjDA,IAAMA,QAAQA,GAAGA,MAAMA,CAACA,SAASA,CAACA,CAACA,CAACA,CAACA;4BACrCA,IAAIA,KAAKA,GAAGA,KAAIA,CAACA,iBAAiBA,CAACA,KAAKA,CAACA;4BACzCA,EAAEA,CAACA,CAACA,CAACA,GAAGA,CAACA,KAAKA,MAAMA,CAACA,SAASA,CAACA,MAAMA,CAACA,CAACA,CAACA;gCACtCA,KAAKA,GAAGA,MAAMA,CAACA,SAASA,CAACA,CAACA,GAAGA,CAACA,CAACA,CAACA;4BAClCA,CAACA;4BACDA,GAAGA,CAACA,SAASA,GAAGA,KAAIA,CAACA,QAAQA,CAACA,KAAIA,CAACA,OAAOA,CAACA,CAACA,EAAEA,CAACA,CAACA,CAACA,CAACA;4BAClDA,IAAIA,eAAeA,GAAGA,GAAGA,CAACA,WAAWA,CAACA;4BACtCA,EAAEA,CAACA,CAACA,CAACA,KAAIA,CAACA,gBAAgBA,CAACA,CAACA,CAACA,CAACA,CAACA,CAACA,CAACA,CAACA,CAACA;gCACjCA,GAAGA,CAACA,WAAWA,GAAGA,GAAGA,CAACA;4BACxBA,CAACA;4BACDA,GAAGA,CAACA,QAAQA,CACVA,QAAQA,EACRA,MAAMA,CAACA,CAACA,CAACA,CAACA,CAACA,EACXA,KAAKA,GAAGA,QAAQA,EAChBA,KAAIA,CAACA,iBAAiBA,CAACA,SAASA,CACjCA,CAACA;4BACFA,GAAGA,CAACA,WAAWA,GAAGA,eAAeA,CAACA;wBACpCA,CAACA;wBAEDA,EAAEA,CAACA,CAACA,CAACA,GAAGA,CAACA,CAACA,CAACA,CAACA;4BACVA,IAAMA,KAAGA,GAAGA,MAAMA,CAACA,CAACA,CAACA,CAACA,CAACA,CAACA;4BACxBA,GAAGA,CAACA,WAAWA,GAAGA,KAAIA,CAACA,KAAKA,CAACA,SAASA,CAACA;4BACvCA,GAAGA,CAACA,SAASA,EAAEA,CAACA;4BAChBA,GAAGA,CAACA,MAAMA,CAACA,CAACA,EAAEA,KAAGA,CAACA,CAACA;4BACnBA,GAAGA,CAACA,MAAMA,CAA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"} \ No newline at end of file diff --git a/src-bak/module.ts b/src-bak/module.ts new file mode 100644 index 0000000..7bb8845 --- /dev/null +++ b/src-bak/module.ts @@ -0,0 +1,1296 @@ +/// +import config from 'app/core/config'; + +import {CanvasPanelCtrl} from './canvas-metric'; +import {DistinctPoints} from './distinct-points'; + +import _ from 'lodash'; +import $ from 'jquery'; +import moment from 'moment'; +import kbn from 'app/core/utils/kbn'; + +import appEvents from 'app/core/app_events'; +import appFontSize from 'app/core/utils/fontsize'; + +import {loadPluginCss} from 'app/plugins/sdk'; +import {getI18n, setI18n} from './i18n'; + +loadPluginCss({ + dark: 'plugins/natel-discrete-panel/css/discrete.dark.css', + light: 'plugins/natel-discrete-panel/css/discrete.light.css', +}); + +const grafanaColors = [ + '#7EB26D', + '#EAB839', + '#6ED0E0', + '#EF843C', + '#E24D42', + '#1F78C1', + '#BA43A9', + '#705DA0', + '#508642', + '#CCA300', + '#447EBC', + '#C15C17', + '#890F02', + '#0A437C', + '#6D1F62', + '#584477', + '#B7DBAB', + '#F4D598', + '#70DBED', + '#F9BA8F', + '#F29191', + '#82B5D8', + '#E5A8E2', + '#AEA2E0', + '#629E51', + '#E5AC0E', + '#64B0C8', + '#E0752D', + '#BF1B00', + '#0A50A1', + '#962D82', + '#614D93', + '#9AC48A', + '#F2C96D', + '#65C5DB', + '#F9934E', + '#EA6460', + '#5195CE', + '#D683CE', + '#806EB7', + '#3F6833', + '#967302', + '#2F575E', + '#99440A', + '#58140C', + '#052B51', + '#511749', + '#3F2B5B', + '#E0F9D7', + '#FCEACA', + '#CFFAFF', + '#F9E2D2', + '#FCE2DE', + '#BADFF4', + '#F9D9F9', + '#DEDAF7', +]; // copied from public/app/core/utils/colors.ts because of changes in grafana 4.6.0 +//(https://github.com/grafana/grafana/blob/master/PLUGIN_DEV.md) + +const colorSwitch = []; + +class DiscretePanelCtrl extends CanvasPanelCtrl { + static templateUrl = 'partials/module.html'; + static scrollable = true; + defaults = { + display: 'timeline', // or 'stacked' + rowHeight: 100, + valueMaps: [{value: 'null', op: '=', text: 'N/A'}], + rangeMaps: [{from: 'null', to: 'null', text: 'N/A'}], + colorMaps: [{text: 'N/A', color: '#CCC'}], + metricNameColor: '#000000', + valueTextColor: '#000000', + timeTextColor: '#d8d9da', + crosshairColor: '#8F070C', + backgroundColor: 'rgba(128,128,128,0.1)', + lineColor: 'rgba(0,0,0,0.1)', + textSize: 24, + textSizeTime: 14, + extendLastValue: true, + writeLastValue: true, + writeAllValues: false, + writeMetricNames: false, + showTimeAxis: true, + showLegend: true, + showLegendNames: true, + showLegendValues: true, + showLegendPercent: true, + highlightOnMouseover: true, + expandFromQueryS: 0, + legendSortBy: '-ms', + units: 'short', + adjFontSize: true, + FontSize: '70%', + FontSizeValue: '140%', + // FontSizeTime: '0.8vw', + nullValue: false, + }; + translate: any; + data: any = null; + externalPT = false; + isTimeline = true; + isStacked = false; + hoverPoint: any = null; + colorMap: any = {}; + _colorsPaleteCash: any = null; + unitFormats: any = null; // only used for editor + formatter: any = null; + fontSizes = null; + fontCalc = null; + + _renderDimensions: any = {}; + _selectionMatrix: Array> = []; + noPoints = false; + timeSrv: any; + + constructor($scope, $injector) { + super($scope, $injector); + // console.log(languageList); + // defaults configs + this.translate = $injector.get('$translate'); + _.defaultsDeep(this.panel, this.defaults); + this.panel.display = 'timeline'; // Only supported version now + + // li.na modify start at 2019.4.16 + this.fontCalc = [ + { + text: '60%', + value: '60%', + vw: '0.6vw', + px: '12px', + }, + { + text: '70%', + value: '70%', + vw: '0.8vw', + px: '15px', + }, + { + text: '80%', + value: '80%', + vw: '1vw', + px: '19px', + }, + { + text: '100%', + value: '100%', + vw: '1.4vw', + px: '27px', + }, + { + text: '110%', + value: '110%', + vw: '1.6vw', + px: '31px', + }, + { + text: '120%', + value: '120%', + vw: '1.8vw', + px: '35px', + }, + { + text: '130%', + value: '130%', + vw: '2vw', + px: '38px', + }, + { + text: '140%', + value: '140%', + vw: '2.2vw', + px: '42px', + }, + { + text: '150%', + value: '150%', + vw: '2.4vw', + px: '46px', + }, + { + text: '160%', + value: '160%', + vw: '2.6vw', + px: '50px', + }, + { + text: '180%', + value: '180%', + vw: '3vw', + px: '58px', + }, + { + text: '200%', + value: '200%', + vw: '3.4vw', + px: '65px', + }, + { + text: '220%', + value: '220%', + vw: '3.8vw', + px: '73px', + }, + { + text: '230%', + value: '230%', + vw: '4vw', + px: '77px', + }, + ]; + // li.na modify end at 2019.4.16 + + if (this.scope.$$listeners.isWisePaas) { + this.events.on('init-edit-mode', this.onInitEditMode.bind(this)); + this.events.on('render', this.onRender.bind(this)); + this.events.on('data-received', this.onDataReceived.bind(this)); + this.events.on('panel-initialized', this.onPanelInitialized.bind(this)); + this.events.on('data-error', this.onDataError.bind(this)); + this.events.on('refresh', this.onRefresh.bind(this)); + this.events.on('data-snapshot-load', this.onDataSnapshotLoad.bind(this)); + } + this.timeSrv = $scope.ctrl.timeSrv; + } + // Shaun add 20220506 replace val with Dashboard Variables + replaceCodes(val) { + const templateSrv = this.templateSrv; + const mapcode = { + group: '', + Value: '', + Text: '', + }; + // console.log(this.data[0].name); + let gp = this.data[0].name.replace(/\d/g, ''); + // console.log(templateSrv.index['code']); + if (templateSrv.index['code']) { + for (let j = 0; j < templateSrv.index['code'].options.length; j++) { + [mapcode.group, mapcode.Value, mapcode.Text] = templateSrv.index['code'].options[ + j + ].text.split('|'); + console.log(gp + val, mapcode.group + mapcode.Value); + if (gp + val === mapcode.group + mapcode.Value) { + val = mapcode.Text; + } + } + } + return val; + } + + onDataSnapshotLoad(snapshotData) { + this.onDataReceived(snapshotData); + } + + onPanelInitialized() { + this.updateColorInfo(); + this.onConfigChanged(); + } + + onDataError(err) { + console.log('onDataError', err); + } + + onInitEditMode() { + this.unitFormats = kbn.getUnitFormats(); + const translateArr = [ + 'public.options', + 'public.legend', + 'public.colors', + 'natel-discrete-panel.Mappings', + ]; + this.translate(translateArr).then(translate => { + this.addEditorTab( + translate['public.options'], + 'public/plugins/natel-discrete-panel/partials/editor.options.html', + 2 + ); + this.addEditorTab( + translate['public.legend'], + 'public/plugins/natel-discrete-panel/partials/editor.legend.html', + 3 + ); + this.addEditorTab( + translate['public.colors'], + 'public/plugins/natel-discrete-panel/partials/editor.colors.html', + 4 + ); + this.addEditorTab( + translate['natel-discrete-panel.Mappings'], + 'public/plugins/natel-discrete-panel/partials/editor.mappings.html', + 5 + ); + }); + this.editorTabIndex = 1; + } + + onRender() { + this.initI18n(); + if (this.data == null || !this.context) { + return; + } + this.data = this.formatDatas(); + this._updateRenderDimensions(); + this._updateSelectionMatrix(); + this._updateCanvasSize(); + this._renderRects(); + this._renderTimeAxis(); + this._renderLabels(); + this._renderSelection(); + this._renderCrosshair(); + } + + showLegandTooltip(pos, info) { + let body = '
' + info.val + '
'; + + body += '
'; + if (info.count > 1) { + body += info.count + ' times
for
'; + } + body += moment.duration(info.ms).humanize(); + if (info.count > 1) { + body += '
total'; + } + body += '
'; + + this.$tooltip.html(body).place_tt(pos.pageX + 20, pos.pageY); + } + + clearTT() { + this.$tooltip.detach(); + } + + formatValue(val) { + colorSwitch.length = 0; + if (_.isNumber(val)) { + if (this.panel.rangeMaps) { + for (let i = 0; i < this.panel.rangeMaps.length; i++) { + let map = this.panel.rangeMaps[i]; + + // value/number to range mapping + let from = parseFloat(map.from); + let to = parseFloat(map.to); + if (to >= val && from <= val) { + return map.text; + } + } + } + if (this.formatter) { + val = this.formatter(val, this.panel.decimals); + } + } + let isNull = _.isNil(val); + if (!isNull && !_.isString(val)) { + val = val.toString(); // convert everything to a string + } + + for (let i = 0; i < this.panel.valueMaps.length; i++) { + const mapJson = { + colorValue: '', + colorText: '', + }; + + var map = this.panel.valueMaps[i]; + // special null case + if (map.value === 'null') { + if (isNull) { + return map.text; + } + continue; + } + + if (val === map.value) { + mapJson.colorValue = map.value; + mapJson.colorText = map.text; + colorSwitch.push(mapJson); + return map.text; + } + } + + if (isNull) { + return 'null'; + } + return val; + } + + getColor(val) { + if (_.has(this.colorMap, val)) { + return this.colorMap[val]; + } + // li.na add start at 2019.6.19 + if (this._colorsPaleteCash[val] === undefined) { + // let c = grafanaColors[this._colorsPaleteCash.length % grafanaColors.length]; + // if (colorSwitch.length === 0) { + // this._colorsPaleteCash[val] = c; + // } else { + // for (let i = 0; i < colorSwitch.length; i++) { + // if (colorSwitch[i].colorText === val) { + // let colorSwitchValue = this._colorsPaleteCash[colorSwitch[i].colorValue]; + // this._colorsPaleteCash[val] = colorSwitchValue; + // } else { + // this._colorsPaleteCash[val] = c; + // } + // } + // } + // this._colorsPaleteCash.length++; + let c = grafanaColors[this._colorsPaleteCash.length % grafanaColors.length]; + if (colorSwitch.length === 0) { + if (this.checkValidValueMapping(val)) { + this.mappingColorsPaleteCash(val, c); + } else { + this._colorsPaleteCash[val] = c; + } + } else { + this.mappingColorsPaleteCash(val, c); + } + // li.na add end at 2019.6.19 + this._colorsPaleteCash.length++; + } + return this._colorsPaleteCash[val]; + } + + //li.na add at 2019.7.19 + // find valid valueMapping + checkValidValueMapping(val) { + for (let i = 0; i < this.panel.valueMaps.length; i++) { + if ( + this.panel.valueMaps[i].text === val && + this.panel.valueMaps[i].text && + this.panel.valueMaps[i].text !== 'undefined' + ) { + return true; + } + } + return false; + } + + // mappingColor + mappingColorsPaleteCash(val, c) { + for (let i = 0; i < this.panel.valueMaps.length; i++) { + if ( + this.panel.valueMaps[i].value === '' || + this.panel.valueMaps[i].value === 'null' + ) { + this._colorsPaleteCash[val] = c; + continue; + } + if (this.panel.valueMaps[i].text === val) { + if (this.colorMap.hasOwnProperty(this.panel.valueMaps[i].value)) { + this._colorsPaleteCash[val] = this.colorMap[this.panel.valueMaps[i].value]; + } else { + this._colorsPaleteCash[val] = this._colorsPaleteCash[ + this.panel.valueMaps[i].value + ]; + if (this._colorsPaleteCash[val] === 'undefined') { + this._colorsPaleteCash[val] = c; + } + } + } + } + } + //li.na add end + + randomColor() { + let letters = 'ABCDE'.split(''); + let color = '#'; + for (let i = 0; i < 3; i++) { + color += letters[Math.floor(Math.random() * letters.length)]; + } + return color; + } + + // Override the + applyPanelTimeOverrides() { + super.applyPanelTimeOverrides(); + + if (this.panel.expandFromQueryS && this.panel.expandFromQueryS > 0) { + let from = this.range.from.subtract(this.panel.expandFromQueryS, 's'); + this.range.from = from; + this.range.raw.from = from; + } + } + + onDataReceived(dataList) { + if (Array.isArray(dataList) && dataList.length === 0) { + this.noPoints = true; + } else { + let datas = []; + _.forEach(dataList, metric => { + if (Array.isArray(metric.datapoints)) { + datas = datas.concat(metric.datapoints); + } + }); + if (datas.length === 0) { + this.noPoints = true; + } + } + $(this.canvas).css('cursor', 'pointer'); + + // console.log('GOT', dataList); + this.dataList = dataList; + this.data = this.formatDatas(); + + this.onRender(); + + //console.log( 'data', dataList, this.data); + } + + exportReportCsv() { + this.panel.exportReportCsv(this.dataList); + } + + removeColorMap(map) { + let index = _.indexOf(this.panel.colorMaps, map); + this.panel.colorMaps.splice(index, 1); + this.updateColorInfo(); + } + + updateColorInfo() { + let cm = {}; + for (let i = 0; i < this.panel.colorMaps.length; i++) { + let m = this.panel.colorMaps[i]; + if (m.text) { + cm[m.text] = m.color; + } + } + this._colorsPaleteCash = {}; + this._colorsPaleteCash.length = 0; + this.colorMap = cm; + this.render(); + } + + addColorMap(what) { + if (what === 'curent') { + _.forEach(this.data, metric => { + if (metric.legendInfo) { + _.forEach(metric.legendInfo, info => { + if (!_.has(this.colorMap, info.val)) { + let v; + if (colorSwitch.length === 0) { + v = {text: info.val, color: this.getColor(info.val)}; + } else { + for (let i = 0; i < colorSwitch.length; i++) { + if (colorSwitch[i].colorText === info.val) { + v = {text: info.val, color: this.getColor(colorSwitch[i].colorValue)}; + } else { + v = {text: info.val, color: this.getColor(info.val)}; + } + } + } + this.panel.colorMaps.push(v); + this.colorMap[info.val] = v; + } + }); + } + }); + } else { + this.panel.colorMaps.push({text: '???', color: this.randomColor()}); + } + this.updateColorInfo(); + } + + removeValueMap(map) { + let index = _.indexOf(this.panel.valueMaps, map); + this.panel.valueMaps.splice(index, 1); + // li.na modify start at 2019.7.10 + this.refresh(); + } + + addValueMap() { + this.panel.valueMaps.push({value: '', op: '=', text: ''}); + } + + removeRangeMap(rangeMap) { + let index = _.indexOf(this.panel.rangeMaps, rangeMap); + this.panel.rangeMaps.splice(index, 1); + this.render(); + } + + addRangeMap() { + this.panel.rangeMaps.push({from: '', to: '', text: ''}); + } + + onConfigChanged(update = false) { + this.isTimeline = this.panel.display === 'timeline'; + this.isStacked = this.panel.display === 'stacked'; + + this.formatter = null; + if (this.panel.units && 'none' !== this.panel.units) { + this.formatter = kbn.valueFormats[this.panel.units]; + } + + if (update) { + this.refresh(); + } else { + this.render(); + } + } + + getFontSize(fontSize) { + return appFontSize.getValue(this.panel.adjFontSize, fontSize); + } + + getLegendDisplay(info, metric) { + let disp = info.val; + // Shaun add 20220506 replace disp with Dashboard Variables + disp = this.replaceCodes(disp); + if ( + this.panel.showLegendPercent || + this.panel.showLegendCounts || + this.panel.showLegendTime + ) { + disp += ' ('; + let hassomething = false; + if (this.panel.showLegendTime) { + disp += moment.duration(info.ms).humanize(); + hassomething = true; + } + + if (this.panel.showLegendPercent) { + if (hassomething) { + disp += ', '; + } + + let dec = this.panel.legendPercentDecimals; + if (_.isNil(dec)) { + if (info.per > 0.98 && metric.changes.length > 1) { + dec = 2; + } else if (info.per < 0.02) { + dec = 2; + } else { + dec = 0; + } + } + disp += kbn.valueFormats.percentunit(info.per, dec); + hassomething = true; + } + + if (this.panel.showLegendCounts) { + if (hassomething) { + disp += ', '; + } + disp += info.count + 'x'; + } + disp += ')'; + } + return disp; + } + + //------------------ + // Mouse Events + //------------------ + + showTooltip(evt, point, isExternal) { + let from = point.start; + let to = point.start + point.ms; + let time = point.ms; + let val = point.val; + // Shaun add 20220506 replace val with Dashboard Variables + val = this.replaceCodes(val); + + if (this.mouse.down != null) { + from = Math.min(this.mouse.down.ts, this.mouse.position.ts); + to = Math.max(this.mouse.down.ts, this.mouse.position.ts); + time = to - from; + val = 'Zoom To:'; + } + + let body = '
' + val + '
'; + const formatTimeType = 'YYYY-MM-DD HH:mm:ss'; + const fromData = this.timeFormatFun(from, formatTimeType); + const toData = this.timeFormatFun(to, formatTimeType); + + body += '
'; + body += fromData + '
'; + body += 'to
'; + body += toData + '

'; + body += moment.duration(time).humanize() + '
'; + body += '
'; + + let pageX = 0; + let pageY = 0; + if (isExternal) { + let rect = this.canvas.getBoundingClientRect(); + pageY = rect.top + evt.pos.panelRelY * rect.height; + if (pageY < 0 || pageY > $(window).innerHeight()) { + // Skip Hidden tooltip + this.$tooltip.detach(); + return; + } + pageY += $(window).scrollTop(); + + let elapsed = this.range.to - this.range.from; + let pX = (evt.pos.x - this.range.from) / elapsed; + pageX = rect.left + pX * rect.width; + } else { + pageX = evt.evt.pageX; + pageY = evt.evt.pageY; + } + + this.$tooltip.html(body).place_tt(pageX + 20, pageY + 5); + } + + onGraphHover(evt, showTT, isExternal) { + this.externalPT = false; + if (this.data && this.data.length) { + let hover = null; + var panelHeight = $('.panel-container').height(); + let j = Math.floor( + this.mouse.position.y / (this.panel.rowHeight * panelHeight * 0.001) + ); + if (j < 0) { + j = 0; + } + if (j >= this.data.length) { + j = this.data.length - 1; + } + + if (this.isTimeline) { + hover = this.data[j].changes[0]; + for (let i = 0; i < this.data[j].changes.length; i++) { + if (this.data[j].changes[i].start > this.mouse.position.ts) { + break; + } + hover = this.data[j].changes[i]; + } + this.hoverPoint = hover; + + if (showTT) { + this.externalPT = isExternal; + this.showTooltip(evt, hover, isExternal); + } + this.onRender(); // refresh the view + } else if (!isExternal) { + if (this.isStacked) { + hover = this.data[j].legendInfo[0]; + for (let i = 0; i < this.data[j].legendInfo.length; i++) { + if (this.data[j].legendInfo[i].x > this.mouse.position.x) { + break; + } + hover = this.data[j].legendInfo[i]; + } + this.hoverPoint = hover; + this.onRender(); // refresh the view + + if (showTT) { + this.externalPT = isExternal; + this.showLegandTooltip(evt.evt, hover); + } + } + } + } else { + this.$tooltip.detach(); // make sure it is hidden + } + } + + onMouseClicked(where) { + let pt = this.hoverPoint; + if (pt && pt.start) { + let range = {from: moment.utc(pt.start), to: moment.utc(pt.start + pt.ms)}; + this.timeSrv.setTime(range); + this.clear(); + } + } + + onMouseSelectedRange(range) { + this.timeSrv.setTime(range); + this.clear(); + } + + clear() { + this.mouse.position = null; + this.mouse.down = null; + this.hoverPoint = null; + $(this.canvas).css('cursor', 'wait'); + appEvents.emit('graph-hover-clear'); + this.render(); + } + + _updateRenderDimensions() { + this._renderDimensions = {}; + var domObj = $('.panel-container'); + if (domObj.length > 0) { + var maxHeight; + for (var i = 0; i < domObj.length; i++) { + if (i === 0) { + var a = domObj[i]; + maxHeight = a.getBoundingClientRect().height; + } else { + var b = domObj[i]; + var domHeight = b.getBoundingClientRect().height; + if (domHeight > maxHeight) { + maxHeight = domHeight; + } + } + } + } + var panelHeight = $('.panel-container').height(); + if (panelHeight < maxHeight) { + panelHeight = maxHeight; + } + + const rect = (this._renderDimensions.rect = this.wrap.getBoundingClientRect()); + const rows = (this._renderDimensions.rows = this.data.length); + const rowHeight = (this._renderDimensions.rowHeight = + this.panel.rowHeight * panelHeight * 0.001); + const rowsHeight = (this._renderDimensions.rowsHeight = rowHeight * rows); + const timeHeight = this.panel.showTimeAxis ? 14 + this.panel.textSizeTime : 0; + const height = (this._renderDimensions.height = rowsHeight + timeHeight); + const width = (this._renderDimensions.width = rect.width); + + let top = 0; + let elapsed = this.range.to - this.range.from; + + this._renderDimensions.matrix = []; + _.forEach(this.data, metric => { + let positions = []; + + if (this.isTimeline) { + let lastBS = 0; + let point = metric.changes[0]; + for (let i = 0; i < metric.changes.length; i++) { + point = metric.changes[i]; + if (point.start <= this.range.to) { + let xt = Math.max(point.start - this.range.from, 0); + let x = xt / elapsed * width; + positions.push(x); + } + } + } + + if (this.isStacked) { + let point = null; + let start = this.range.from; + for (let i = 0; i < metric.legendInfo.length; i++) { + point = metric.legendInfo[i]; + let xt = Math.max(start - this.range.from, 0); + let x = xt / elapsed * width; + positions.push(x); + start += point.ms; + } + } + + this._renderDimensions.matrix.push({ + y: top, + positions: positions, + }); + + top += rowHeight; + }); + } + + _updateSelectionMatrix() { + let selectionPredicates = { + all: function() { + return true; + }, + crosshairHover: function(i, j) { + if (j + 1 === this.data[i].changes.length) { + return this.data[i].changes[j].start <= this.mouse.position.ts; + } + return ( + this.data[i].changes[j].start <= this.mouse.position.ts && + this.mouse.position.ts < this.data[i].changes[j + 1].start + ); + }, + mouseX: function(i, j) { + let row = this._renderDimensions.matrix[i]; + if (j + 1 === row.positions.length) { + return row.positions[j] <= this.mouse.position.x; + } + return ( + row.positions[j] <= this.mouse.position.x && + this.mouse.position.x < row.positions[j + 1] + ); + }, + metric: function(i) { + return this.data[i] === this._selectedMetric; + }, + legendItem: function(i, j) { + if (this.data[i] !== this._selectedMetric) { + return false; + } + return this._selectedLegendItem.val === this._getVal(i, j); + }, + }; + + function getPredicate() { + if (this._selectedLegendItem !== undefined) { + return 'legendItem'; + } + if (this._selectedMetric !== undefined) { + return 'metric'; + } + if (this.mouse.down !== null) { + return 'all'; + } + if (this.panel.highlightOnMouseover && this.mouse.position != null) { + if (this.isTimeline) { + return 'crosshairHover'; + } + if (this.isStacked) { + return 'mouseX'; + } + } + return 'all'; + } + + let pn = getPredicate.bind(this)(); + let predicate = selectionPredicates[pn].bind(this); + this._selectionMatrix = []; + for (let i = 0; i < this._renderDimensions.matrix.length; i++) { + let rs = []; + let r = this._renderDimensions.matrix[i]; + for (let j = 0; j < r.positions.length; j++) { + rs.push(predicate(i, j)); + } + this._selectionMatrix.push(rs); + } + } + + _updateCanvasSize() { + this.canvas.width = this._renderDimensions.width * this._devicePixelRatio; + this.canvas.height = this._renderDimensions.height * this._devicePixelRatio; + + $(this.canvas).css('width', this._renderDimensions.width + 'px'); + $(this.canvas).css('height', this._renderDimensions.height + 'px'); + + this.context.scale(this._devicePixelRatio, this._devicePixelRatio); + } + + _getVal(metricIndex, rectIndex) { + let point = undefined; + if (this.isTimeline) { + point = this.data[metricIndex].changes[rectIndex]; + } + if (this.isStacked) { + point = this.data[metricIndex].legendInfo[rectIndex]; + } + return point.val; + } + + _renderRects() { + const matrix = this._renderDimensions.matrix; + const ctx = this.context; + _.forEach(this.data, (metric, i) => { + const rowObj = matrix[i]; + for (let j = 0; j < rowObj.positions.length; j++) { + const currentX = rowObj.positions[j]; + let nextX = this._renderDimensions.width; + if (j + 1 !== rowObj.positions.length) { + nextX = rowObj.positions[j + 1]; + } + ctx.fillStyle = this.getColor(this._getVal(i, j)); + let globalAlphaTemp = ctx.globalAlpha; + if (!this._selectionMatrix[i][j]) { + ctx.globalAlpha = 0.3; + } + ctx.fillRect( + currentX, + matrix[i].y, + nextX - currentX, + this._renderDimensions.rowHeight + ); + ctx.globalAlpha = globalAlphaTemp; + } + + if (i > 0) { + const top = matrix[i].y; + ctx.strokeStyle = this.panel.lineColor; + ctx.beginPath(); + ctx.moveTo(0, top); + ctx.lineTo(this._renderDimensions.width, top); + ctx.stroke(); + } + }); + } + + _renderLabels() { + let ctx = this.context; + ctx.lineWidth = 1; + ctx.textBaseline = 'middle'; + // ctx.font = this.panel.textSize + 'px "Open Sans", Helvetica, Arial, sans-serif'; + ctx.font = + this.getFontSize(this.panel.FontSizeValue) + + ' "Open Sans", Helvetica, Arial, sans-serif'; + + const offset = 2; + const rowHeight = this._renderDimensions.rowHeight; + _.forEach(this.data, (metric, i) => { + const {y, positions} = this._renderDimensions.matrix[i]; + + const centerY = y + rowHeight / 2; + // let labelPositionMetricName = y + rectHeight - this.panel.textSize / 2; + // let labelPositionLastValue = y + rectHeight - this.panel.textSize / 2; + // let labelPositionValue = y + this.panel.textSize / 2; + let labelPositionMetricName = centerY; + let labelPositionLastValue = centerY; + let labelPositionValue = centerY; + + let hoverTextStart = -1; + let hoverTextEnd = -1; + + if (this.mouse.position) { + for (let j = 0; j < positions.length; j++) { + if (positions[j] <= this.mouse.position.x) { + if (j >= positions.length - 1 || positions[j + 1] >= this.mouse.position.x) { + //Shaun modify 20220506 replace val with Dashboard Variables + let val = this.replaceCodes(this._getVal(i, j)); + ctx.fillStyle = this.panel.valueTextColor; + ctx.textAlign = 'left'; + hoverTextStart = positions[j] + offset; + ctx.fillText(val, hoverTextStart, labelPositionValue); + const txtinfo = ctx.measureText(val); + hoverTextEnd = hoverTextStart + txtinfo.width + 4; + break; + } + } + } + } + + let minTextSpot = 0; + let maxTextSpot = this._renderDimensions.width; + if (this.panel.writeMetricNames) { + ctx.fillStyle = this.panel.metricNameColor; + ctx.textAlign = 'left'; + const txtinfo = ctx.measureText(metric.name); + if (hoverTextStart < 0 || hoverTextStart > txtinfo.width) { + ctx.fillText(metric.name, offset, labelPositionMetricName); + minTextSpot = offset + ctx.measureText(metric.name).width + 2; + } + } + if (this.panel.writeLastValue && positions.length > 0) { + let val = this._getVal(i, positions.length - 1); + ctx.fillStyle = this.panel.valueTextColor; + ctx.textAlign = 'right'; + const txtinfo = ctx.measureText(val); + const xval = this._renderDimensions.width - offset - txtinfo.width; + if (xval > hoverTextEnd) { + ctx.fillText( + val, + this._renderDimensions.width - offset, + labelPositionLastValue + ); + maxTextSpot = this._renderDimensions.width - ctx.measureText(val).width - 10; + } + } + + if (this.panel.writeAllValues) { + ctx.fillStyle = this.panel.valueTextColor; + ctx.textAlign = 'left'; + for (let j = 0; j < positions.length; j++) { + const val = this._getVal(i, j); + let nextX = this._renderDimensions.width; + if (j + 1 !== positions.length) { + nextX = positions[j + 1]; + } + + const x = positions[j]; + if (x > minTextSpot) { + const width = nextX - x; + if (maxTextSpot > x + width) { + // This clips the text within the given bounds + ctx.save(); + ctx.rect(x, y, width, rowHeight); + ctx.clip(); + + ctx.fillText(val, x + offset, labelPositionValue); + ctx.restore(); + } + } + } + } + }); + } + + _renderSelection() { + if (this.mouse.down === null) { + return; + } + if (this.mouse.position === null) { + return; + } + if (!this.isTimeline) { + return; + } + + let ctx = this.context; + let height = this._renderDimensions.height; + + let xmin = Math.min(this.mouse.position.x, this.mouse.down.x); + let xmax = Math.max(this.mouse.position.x, this.mouse.down.x); + + ctx.fillStyle = 'rgba(110, 110, 110, 0.5)'; + ctx.strokeStyle = 'rgba(110, 110, 110, 0.5)'; + ctx.beginPath(); + ctx.fillRect(xmin, 0, xmax - xmin, height); + ctx.strokeRect(xmin, 0, xmax - xmin, height); + } + + _renderTimeAxis() { + if (!this.panel.showTimeAxis || this.noPoints) { + return; + } + + var panelHeight = $('.panel-container').height(); + const ctx = this.context; + const rows = this.data.length; + const rowHeight = this.panel.rowHeight * panelHeight * 0.001; + const height = this._renderDimensions.height; + const width = this._renderDimensions.width; + const top = this._renderDimensions.rowsHeight; + + const headerColumnIndent = 0; // header inset (zero for now) + + ctx.font = this.panel.textSizeTime + ' "Open Sans", Helvetica, Arial, sans-serif'; + // ctx.fillStyle = this.panel.timeTextColor; + ctx.fillStyle = $('.discrete-Theme').css('color'); + ctx.textAlign = 'left'; + // ctx.strokeStyle = this.panel.timeTextColor; + ctx.strokeStyle = $('.discrete-Theme').css('color'); + ctx.textBaseline = 'top'; + ctx.setLineDash([7, 5]); // dashes are 5px and spaces are 3px + ctx.lineDashOffset = 0; + + let min = _.isUndefined(this.range.from) ? null : this.range.from.valueOf(); + let max = _.isUndefined(this.range.to) ? null : this.range.to.valueOf(); + let minPxInterval = ctx.measureText('12/33 24:59').width * 2; + let estNumTicks = width / minPxInterval; + let estTimeInterval = (max - min) / estNumTicks; + let timeResolution = this.getTimeResolution(estTimeInterval); + let pixelStep = timeResolution / (max - min) * width; + let nextPointInTime = this.roundDate(min, timeResolution) + timeResolution; + let xPos = headerColumnIndent + (nextPointInTime - min) / (max - min) * width; + + let timeFormat = this.timeSrv.graphTimeFormat(timeResolution / 1000, min, max); + + while (nextPointInTime < max) { + // draw ticks + ctx.beginPath(); + ctx.moveTo(xPos, top + 5); + ctx.lineTo(xPos, 0); + ctx.lineWidth = 1; + ctx.stroke(); + + // draw time label + let date = new Date(nextPointInTime); + let dateStr = this.timeFormatFun(date, timeFormat); + let xOffset = ctx.measureText(dateStr).width / 2; + ctx.fillText(dateStr, xPos - xOffset, top + 10); + + nextPointInTime += timeResolution; + xPos += pixelStep; + } + } + + timeFormatFun(date: Date, timeFormat: any) { + const dateTimeFormat = this.timeSrv.dateTimeFormatFun(); + const dashboardTimeZone = this.dashboard.getTimezone(); + + return dateTimeFormat(date.valueOf(), { + format: timeFormat, + timeZone: dashboardTimeZone, + }); + } + + _renderCrosshair() { + if (this.mouse.down != null) { + return; + } + if (this.mouse.position === null) { + return; + } + if (!this.isTimeline) { + return; + } + + var panelHeight = $('.panel-container').height(); + let ctx = this.context; + let rows = this.data.length; + let rowHeight = this.panel.rowHeight * panelHeight * 0.001; + let height = this._renderDimensions.height; + + ctx.beginPath(); + ctx.moveTo(this.mouse.position.x, 0); + ctx.lineTo(this.mouse.position.x, height); + ctx.strokeStyle = this.panel.crosshairColor; + ctx.setLineDash([]); + ctx.lineWidth = 1; + ctx.stroke(); + + // Draw a Circle around the point if showing a tooltip + if (this.externalPT && rows > 1) { + ctx.beginPath(); + ctx.arc(this.mouse.position.x, this.mouse.position.y, 3, 0, 2 * Math.PI, false); + ctx.fillStyle = this.panel.crosshairColor; + ctx.fill(); + ctx.lineWidth = 1; + } + } + + handleValueTextChange(valueMap: any) { + setI18n(valueMap, 'text', valueMap.text, this.dashboard.panelLanguage); + } + + handleRangeTextChange(rangeMap: any) { + setI18n(rangeMap, 'text', rangeMap.text, this.dashboard.panelLanguage); + } + + handleLegnedFontSizeChange() { + setI18n(this.panel, 'FontSize', this.panel.FontSize, this.dashboard.panelLanguage); + } + + handleFontSizeChange() { + setI18n( + this.panel, + 'FontSizeValue', + this.panel.FontSizeValue, + this.dashboard.panelLanguage + ); + } + + formatDatas() { + let data = []; + _.forEach(this.dataList, metric => { + if ('table' === metric.type) { + if ('time' !== metric.columns[0].type) { + throw new Error('Expected a time column from the table format'); + } + + let last = null; + for (let i = 1; i < metric.columns.length; i++) { + let res = new DistinctPoints(metric.columns[i].text); + for (let j = 0; j < metric.rows.length; j++) { + let row = metric.rows[j]; + res.add(row[0], this.formatValue(row[i])); + } + res.finish(this); + data.push(res); + } + } else { + // ��ijһʱ���ϵ� + if (this.panel.nullValue) { + var length = metric.datapoints.length; + metric.datapoints[length - 1][0] = null; + } + let res = new DistinctPoints(metric.target); + _.forEach(metric.datapoints, point => { + res.add(point[1], this.formatValue(point[0])); + }); + res.finish(this); + data.push(res); + } + }); + return data; + } + + initI18n() { + if (this.dashboard.panelLanguage) { + for (const valueMap of this.panel.valueMaps) { + valueMap.text = getI18n(valueMap, 'text', this.dashboard.panelLanguage); + } + for (const rangeMap of this.panel.rangeMaps) { + rangeMap.text = getI18n(rangeMap, 'text', this.dashboard.panelLanguage); + } + this.panel.FontSize = getI18n(this.panel, 'FontSize', this.dashboard.panelLanguage); + this.panel.FontSizeValue = getI18n( + this.panel, + 'FontSizeValue', + this.dashboard.panelLanguage + ); + } + } +} + +export {DiscretePanelCtrl as PanelCtrl}; diff --git a/src-bak/partials/editor.colors.html b/src-bak/partials/editor.colors.html new file mode 100644 index 0000000..d46a44f --- /dev/null +++ b/src-bak/partials/editor.colors.html @@ -0,0 +1,87 @@ + +
+
{{'natel-discrete-panel.textColors' | translate}}
+
+
+ + {{'natel-discrete-panel.metricNames' | translate}} + + + + + +
+ +
+ + {{'natel-discrete-panel.valueText' | translate}} + + + + + +
+ +
+ + {{'natel-discrete-panel.timeText' | translate}} + + + + + +
+ + +
+ + {{'public.background' | translate}} + + + + + +
+ +
+ + {{'natel-discrete-panel.lines' | translate}} + + + + + +
+
+
+ + +
+
{{'natel-discrete-panel.colorMappings' | translate}}
+
+
+ + + + + + + + + + + +
+ +
+ + +
+
+
diff --git a/src-bak/partials/editor.legend.html b/src-bak/partials/editor.legend.html new file mode 100644 index 0000000..2d47e83 --- /dev/null +++ b/src-bak/partials/editor.legend.html @@ -0,0 +1,96 @@ + + +
+ + +
+
{{'public.legend' | translate}}
+ + + + + + +
+ +
+ +
+
+
+ +
+
{{'public.values' | translate}}
+ + +
+ +
+ +
+
+ +
+ + +
+ + + + + + + + +
+ + +
+ +
+
+ +
diff --git a/src-bak/partials/editor.mappings.html b/src-bak/partials/editor.mappings.html new file mode 100644 index 0000000..465c673 --- /dev/null +++ b/src-bak/partials/editor.mappings.html @@ -0,0 +1,70 @@ + + +
+
{{'public.valueMappings' | translate}}
+
+
+ + + + + + + + + +
+ +
+ +
+
+
+ +
+
{{'natel-discrete-panel.rangeMappings' | translate}}
+
+
+ + + + {{'public.from' | translate}} + + {{'public.to' | translate}} + + {{'public.text' | translate}} + +
+ +
+ +
+
+
+ + + +
+
{{'natel-discrete-panel.numericConversion' | translate}}
+
+
+ +
+
+ +
+ + +
+ +
+
+ diff --git a/src-bak/partials/editor.options.html b/src-bak/partials/editor.options.html new file mode 100644 index 0000000..cbc7e2b --- /dev/null +++ b/src-bak/partials/editor.options.html @@ -0,0 +1,73 @@ + + +
+ +
+
{{'public.display' | translate}}
+ +
+ + +
+ + + + + + + + + + + +
+ +
+ +
+
+
+ +
+
{{'natel-discrete-panel.hoverTooltip' | translate}}
+ +
+ +
+
{{'public.query' | translate}}
+
+ + + + +
+
+ +
diff --git a/src-bak/partials/module.html b/src-bak/partials/module.html new file mode 100644 index 0000000..4b1a056 --- /dev/null +++ b/src-bak/partials/module.html @@ -0,0 +1,22 @@ + +
+
+ +
+
+ {{ metric.name }}: +
+
{{ ctrl.getLegendDisplay( info, metric ) }} +
+
+   Transitions: {{metric.transitionCount}} +
+
+   Distinct: {{metric.distinctValuesCount}} +
+
+
diff --git a/src-bak/plugin.json b/src-bak/plugin.json new file mode 100644 index 0000000..21ab7e5 --- /dev/null +++ b/src-bak/plugin.json @@ -0,0 +1,45 @@ +{ + "type": "panel", + "name": "Discrete", + "id": "natel-discrete-panel", + + "info": { + "description": "Discrete Events grafana", + "author": { + "name": "Advantech" + }, + "keywords": ["discrete", "events", "strings"], + "logos": { + "small": "img/discrete_logo.svg", + "large": "img/discrete_logo.svg" + }, + "links": [ + { + "name": "Project site", + "url": "https://github.com/NatelEnergy/grafana-discrete-panel" + }, + { + "name": "MIT License", + "url": "https://github.com/NatelEnergy/grafana-discrete-panel/blob/master/LICENSE" + }, + {"name": "Natel Energy", "url": "http://www.natelenergy.com/"} + ], + "screenshots": [ + {"name": "Single State", "path": "img/screenshot-single-1.png"}, + {"name": "Tooltips", "path": "img/screenshot-single-2.png"}, + {"name": "Summary Tooltips", "path": "img/screenshot-single-3.png"}, + {"name": "Show all values", "path": "img/screenshot-single-4.png"}, + {"name": "Multiple Results", "path": "img/screenshot-multiple.png"}, + {"name": "Options", "path": "img/screenshot-options-1.png"}, + {"name": "Legend", "path": "img/screenshot-options-2.png"} + ], + "version": "1.1.1", + "updated": "2022-1-14" + }, + "version": "1.1.0", + + "dependencies": { + "grafanaVersion": "4.x.x", + "plugins": [] + } +} diff --git a/src/LICENSE b/src/LICENSE new file mode 100644 index 0000000..56f34d5 --- /dev/null +++ b/src/LICENSE @@ -0,0 +1,21 @@ +The MIT License (MIT) + +Copyright (c) 2016 Natel Energy + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/src/README.md b/src/README.md new file mode 100644 index 0000000..cd219c1 --- /dev/null +++ b/src/README.md @@ -0,0 +1,88 @@ +## Discrete Panel + +This panel shows discrete values in a horizontal graph. This lets show state transitions clearly. It is a good +choice to display string or boolean data + +### Screenshots + +![example](https://raw.githubusercontent.com/NatelEnergy/grafana-discrete-panel/master/src/img/screenshot-multiple.png) +![example](https://raw.githubusercontent.com/NatelEnergy/grafana-discrete-panel/master/src/img/screenshot-single-1.png) +![example](https://raw.githubusercontent.com/NatelEnergy/grafana-discrete-panel/master/src/img/screenshot-single-2.png) +![example](https://raw.githubusercontent.com/NatelEnergy/grafana-discrete-panel/master/src/img/screenshot-single-3.png) +![example](https://raw.githubusercontent.com/NatelEnergy/grafana-discrete-panel/master/src/img/screenshot-single-4.png) +![options](https://raw.githubusercontent.com/NatelEnergy/grafana-discrete-panel/master/src/img/screenshot-options-1.png) +![options](https://raw.githubusercontent.com/NatelEnergy/grafana-discrete-panel/master/src/img/screenshot-options-2.png) + +### Building + +To complie, run: + +``` +npm install -g yarn +yarn install --pure-lockfile +grunt +``` + +To lint everything: + +``` +yarn pretty +``` + +#### Changelog + +##### rebuild v0.0.7 with Advantech v1.1.1 source code + +* Add replaceCodes function that can use system variable $code with panel values and colors mapping. +* The $code format like: groupname|$No.|status, for example: FX|$1|started. +* The function will check legendInfo-without-number with groupname. + +##### v0.0.8 (not released yet) + +* TODO... annotations + +##### v0.0.7 + +* Switch to typescript +* Override applyPanelTimeOverrides rather than issueQueries to extend time +* Support numeric unit conversion +* New rendering pipeline (thanks @jonyrock) +* Don't detect duplicate colors from metrics +* Formatting with prettier.js +* Only hide hover text when it collides +* Show time axis (copied from novatec-grafana-discrete-panel) +* Improved text collision behavior + +##### v0.0.6 + +* Fix for grafana 4.5 (thanks @alin-amana) + +##### v0.0.5 + +* Support results from the table format +* Support results in ascending or decending order +* Configure legend percentage decimal points +* Legend can show transition count and distinct value count +* Clamp percentage stats within the query time window +* Changed the grafana dependency version to 4.x.x, since 3.x.x was not really supported +* Fixed issues with tooltip hover position +* Option to expand 'from' query so the inital state can avoid 'null' + +##### v0.0.4 + +* Support shared tooltips (not just crosshair) + +##### v0.0.3 + +* Configure more colors (retzkek) +* Fix tooltips (retzkek) +* Configure Text Size +* Support shared crosshair + +##### v0.0.2 + +* Use the panel time shift. + +##### v0.0.1 + +* First working version diff --git a/src/canvas-metric.ts b/src/canvas-metric.ts index e5124ab..58b405a 100644 --- a/src/canvas-metric.ts +++ b/src/canvas-metric.ts @@ -7,6 +7,7 @@ import moment from 'moment'; import $ from 'jquery'; import appEvents from 'app/core/app_events'; +import {initAttrI18n} from './i18n'; // Expects a template with: //
@@ -21,7 +22,6 @@ export class CanvasPanelCtrl extends MetricsPanelCtrl { constructor($scope, $injector) { super($scope, $injector); - this.data = null; this.mouse = { position: null, @@ -150,6 +150,7 @@ export class CanvasPanelCtrl extends MetricsPanelCtrl { } link(scope, elem, attrs, ctrl) { + ctrl.initDefaultI18n(); this.wrap = elem.find('.canvas-spot')[0]; this.canvas = document.createElement('canvas'); this.wrap.appendChild(this.canvas); @@ -298,7 +299,6 @@ export class CanvasPanelCtrl extends MetricsPanelCtrl { }; //console.log( "Calculate mouseInfo", event, this.mouse.position); } - this.onGraphHover( event, isThis || !this.dashboard.sharedCrosshairModeOnly(), @@ -318,17 +318,8 @@ export class CanvasPanelCtrl extends MetricsPanelCtrl { }, scope ); - - // scope.$on('$destroy', () => { - // this.$tooltip.destroy(); - // elem.off(); - // elem.remove(); - // }); } - // Utility Functions for time axis - //--------------------------------- - time_format(range: number, secPerTick: number): string { let oneDay = 86400000; let oneYear = 31536000000; @@ -431,7 +422,7 @@ export class CanvasPanelCtrl extends MetricsPanelCtrl { 'Dec', ]; let dayNames = ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat']; - if (typeof d.strftime == 'function') { + if (typeof d.strftime === 'function') { return d.strftime(fmt); } @@ -465,7 +456,7 @@ export class CanvasPanelCtrl extends MetricsPanelCtrl { if (hours > 12) { hours12 = hours - 12; - } else if (hours == 0) { + } else if (hours === 0) { hours12 = 12; } else { hours12 = hours; @@ -530,7 +521,7 @@ export class CanvasPanelCtrl extends MetricsPanelCtrl { r.push(c); escape = false; } else { - if (c == '%') { + if (c === '%') { escape = true; } else { r.push(c); @@ -544,6 +535,20 @@ export class CanvasPanelCtrl extends MetricsPanelCtrl { leftPad(n, pad) { n = '' + n; pad = '' + (pad == null ? '0' : pad); - return n.length == 1 ? pad + n : n; + return n.length === 1 ? pad + n : n; + } + + initDefaultI18n() { + const lang = this.dashboard.panelLanguage; + if (lang) { + for (const valueMap of this.panel.valueMaps) { + initAttrI18n(valueMap, 'text', lang); + } + for (const rangeMap of this.panel.rangeMaps) { + initAttrI18n(rangeMap, 'text', lang); + } + initAttrI18n(this.panel, 'FontSize', lang); + initAttrI18n(this.panel, 'FontSizeValue', lang); + } } } diff --git a/src/css/discrete.dark.css b/src/css/discrete.dark.css new file mode 100644 index 0000000..d93d7f3 --- /dev/null +++ b/src/css/discrete.dark.css @@ -0,0 +1,3 @@ +.discrete-Theme { + color: #d8d9da; +} \ No newline at end of file diff --git a/src/css/discrete.light.css b/src/css/discrete.light.css new file mode 100644 index 0000000..ff128fe --- /dev/null +++ b/src/css/discrete.light.css @@ -0,0 +1,3 @@ +.discrete-Theme { + color: #323233; +} \ No newline at end of file diff --git a/src/i18n.json b/src/i18n.json new file mode 100644 index 0000000..c3178c6 --- /dev/null +++ b/src/i18n.json @@ -0,0 +1,148 @@ +{ + "en-US": { + "textColors": "Text Colors", + "metricNames": "Metric Names", + "timeText": "Time Text", + "valueText": "Value Text", + "lines": "Lines", + "colorMappings": "Color Mappings", + "addCurrentValues": "Add Current Values", + "showMetricNames": "Show Metric Names", + "transitionCount": "Transition Count", + "distinctValuesCount": "Distinct Values Count", + "legendFontsize": "Legend Font size", + "sortBy": "Sort By", + "percentDecimals": "Percent Decimals", + "showTime": "Show Time", + "showCounts": "Show Counts", + "showPercent": "Show Percent", + "showTimeAxis": "Show Time Axis", + "rangeMappings": "Range Mappings", + "numericConversion": "Numeric Conversion", + "rowHeight": "Row Height", + "hoverTooltip": "Hover tooltip", + "expandfromquery": "Extended query", + "expandfromqueryInfo": + "This expands the query to include the time before the normal query range", + "seconds": "Seconds", + "writeLastValue": "Write Last Value", + "writeMetricNames": "Write Metric Names", + "writeAllValues": "Write All Values", + "nullValues": "Null Values", + "highlightOnHover": "Highlight on Hover", + "addaColorMapping": "Add a Color mapping", + "Tip_1": "Font size adjust with window size", + "Showtimeline": "Show timeline", + "Tip_2": "Override automatic decimal precision", + "Mappings": "Mappings" + }, + "zh-CN": { + "textColors": "文本颜色", + "valueText": "值", + "timeText": "时间", + "metricNames": "指标名称", + "lines": "线条", + "colorMappings": "颜色匹配", + "addCurrentValues": "添加当前值", + "showMetricNames": "显示指标名称", + "transitionCount": "转换计数", + "distinctValuesCount": "差异数据个数", + "legendFontsize": "图例字体大小", + "sortBy": "排序方式", + "percentDecimals": "百分比小数位数", + "showTime": "显示时间", + "showCounts": "显示个数", + "showPercent": "显示百分比", + "showTimeAxis": "显示时间轴", + "rangeMappings": "范围匹配", + "numericConversion": "数制转换", + "rowHeight": "行高", + "hoverTooltip": "悬浮提示", + "expandfromquery": "扩展查询", + "expandfromqueryInfo": "这将扩展查询以包括正常查询范围之前的时间", + "seconds": "秒", + "writeLastValue": "显示最后一个值", + "writeMetricNames": "显示指标名称", + "writeAllValues": "显示所有值", + "nullValues": "显示 null 值", + "highlightOnHover": "悬浮时高亮", + "addaColorMapping": "添加一条颜色匹配", + "Tip_1": "字体大小随窗口大小调整", + "Showtimeline": "显示时间轴", + "Tip_2": "覆盖自动十进制精度", + "Mappings": "映射" + }, + "zh-TW": { + "textColors": "文本顏色", + "valueText": "值", + "timeText": "時間", + "metricNames": "指標名稱", + "lines": "線條", + "colorMappings": "顏色匹配", + "addCurrentValues": "添加當前值", + "showMetricNames": "顯示指標名稱", + "transitionCount": "轉換計數", + "distinctValuesCount": "差異數據個數", + "legendFontsize": "圖例字體大小", + "sortBy": "排序方式", + "percentDecimals": "百分比小數位數", + "showTime": "顯示時間", + "showCounts": "顯示個數", + "showPercent": "顯示百分比", + "showTimeAxis": "顯示時間軸", + "rangeMappings": "範圍匹配", + "numericConversion": "數制轉換", + "rowHeight": "行高", + "hoverTooltip": "懸浮提示", + "expandfromquery": "擴展査詢", + "expandfromqueryInfo": "這將擴展査詢以包括正常查詢範圍之前的時間", + "seconds": "秒", + "writeLastValue": "顯示最後一個值", + "writeMetricNames": "顯示指標名稱", + "writeAllValues": "顯示所有值", + "nullValues": "顯示 null 值", + "highlightOnHover": "懸浮時高亮", + "addaColorMapping": "添加一條顏色匹配", + "Tip_1": "字體大小隨視窗大小調整", + "Showtimeline": "顯示時間軸", + "Tip_2": "覆蓋自動十進位精度", + "Mappings": "映射" + }, + "ja-JP": { + "metricNames": "Metric Names", + "valueText": "Value Text", + "timeText": "Time Text", + "textColors": "Text Colors", + "lines": "Lines", + "colorMappings": "Color Mappings", + "addCurrentValues": "Add Current Values", + "showMetricNames": "Show Metric Names", + "transitionCount": "Transition Count", + "distinctValuesCount": "Distinct Values Count", + "legendFontsize": "Legend Font size", + "sortBy": "Sort By", + "percentDecimals": "Percent Decimals", + "showTime": "Show Time", + "showCounts": "Show Counts", + "showPercent": "Show Percent", + "showTimeAxis": "Show Time Axis", + "rangeMappings": "Range Mappings", + "numericConversion": "Numeric Conversion", + "rowHeight": "Row Height", + "hoverTooltip": "Hover tooltip", + "expandfromquery": "Extended query", + "expandfromqueryInfo": + "This expands the query to include the time before the normal query range", + "seconds": "Seconds", + "writeLastValue": "Write Last Value", + "writeMetricNames": "Write Metric Names", + "writeAllValues": "Write All Values", + "nullValues": "Null Values", + "highlightOnHover": "Highlight on Hover", + "addaColorMapping": "Add a Color mapping", + "Tip_1": "Font size adjust with window size", + "Showtimeline": "Show timeline", + "Tip_2": "Override automatic decimal precision", + "Mappings": "Mappings" + } +} diff --git a/src/i18n.ts b/src/i18n.ts new file mode 100644 index 0000000..f92c3ee --- /dev/null +++ b/src/i18n.ts @@ -0,0 +1,113 @@ +const isEffective = (target: any) => { + return target !== undefined && target !== null; +}; + +const isObject = (target: any) => + Object.prototype.toString.call(target) === '[object Object]'; + +const isObjectOrArray = (target: any) => { + return Object.prototype.toString.call(target) === '[object Array]' || isObject(target); +}; + +/** + * 写入panel多语言文本 + * @param obj :{} 字段所在对象 + * @param label : string 字段名字 + * @param value : string 值 + * @param lang : string 语言 + */ +const setI18n = (obj: any, label: string, value: any, lang: string) => { + if (lang && isObject(obj)) { + if (!obj.i18n) { + obj.i18n = {}; + } + if (!obj.i18n[lang]) { + obj.i18n[lang] = {}; + } + obj.i18n[lang][label] = value; + } +}; + +/** + * 获取panel多语言文本 + * @param obj : {}, 字段所属对象 + * @param label : string, 字段名字 + * @param lang : string, 语言 + */ +const getI18n = (obj: any, label: string, lang: string) => { + if ( + lang && + isObject(obj) && + isObject(obj.i18n) && + isObject(obj.i18n[lang]) && + obj.i18n[lang].hasOwnProperty(label) + ) { + return obj.i18n[lang][label]; + } + return isEffective(obj[label]) ? obj[label] : ''; +}; + +/** + * 初始化所有国际化字段 + * @param obj : {}, 字段所属根对象,一般传this.panel + * @param lang : string, 语言 + * @param depth : number, 对象递归的最深层级,默认4 + */ +const initI18n = (obj: any, lang: string, depth = 4) => { + if (!isObjectOrArray(obj) || !lang) { + return; + } + for (const key in obj) { + if (typeof obj.hasOwnProperty === 'function' && obj.hasOwnProperty(key)) { + if (key === 'i18n' && isObjectOrArray(obj[key])) { + if (isObjectOrArray(obj[key][lang])) { + for (const attr in obj[key][lang]) { + if (obj[key][lang].hasOwnProperty(attr)) { + obj[attr] = obj[key][lang][attr]; + } + } + } + } else if (isObjectOrArray(obj[key])) { + if (depth > 0) { + initI18n(obj[key], lang, --depth); + ++depth; + } + } + } + } +}; + +/** + * 初始化时判断字段如果未经国际化,则生成对应的国际化数据 + * @param obj 字段所属对象 + * @param label 字段名称 + * @param lang 语言 + */ +const initAttrI18n = (obj: any, label: string, lang: string) => { + if (isObject(obj) && lang) { + if (!obj.hasOwnProperty('i18n')) { + obj.i18n = {}; + obj.i18n[lang] = {}; + obj.i18n[lang][label] = obj[label]; + } else { + if (!isEffective(obj.i18n[lang])) { + obj.i18n[lang] = {}; + obj.i18n[lang][label] = obj[label]; + } else { + if (!isEffective(obj.i18n[lang][label])) { + obj.i18n[lang][label] = obj[label]; + } + } + } + } +}; + +const initAttrArrayI18n = (obj: any, labels: string[], lang: string) => { + if (Array.isArray(labels)) { + labels.forEach((label: string) => { + initAttrI18n(obj, label, lang); + }); + } +}; + +export {setI18n, getI18n, initI18n, initAttrI18n, initAttrArrayI18n}; diff --git a/src/module.ts b/src/module.ts index be17713..0033c40 100644 --- a/src/module.ts +++ b/src/module.ts @@ -1,5 +1,4 @@ /// - import config from 'app/core/config'; import {CanvasPanelCtrl} from './canvas-metric'; @@ -11,6 +10,15 @@ import moment from 'moment'; import kbn from 'app/core/utils/kbn'; import appEvents from 'app/core/app_events'; +import appFontSize from 'app/core/utils/fontsize'; + +import {loadPluginCss} from 'app/plugins/sdk'; +import {getI18n, setI18n} from './i18n'; + +loadPluginCss({ + dark: 'plugins/natel-discrete-panel/css/discrete.dark.css', + light: 'plugins/natel-discrete-panel/css/discrete.light.css', +}); const grafanaColors = [ '#7EB26D', @@ -72,13 +80,14 @@ const grafanaColors = [ ]; // copied from public/app/core/utils/colors.ts because of changes in grafana 4.6.0 //(https://github.com/grafana/grafana/blob/master/PLUGIN_DEV.md) +const colorSwitch = []; + class DiscretePanelCtrl extends CanvasPanelCtrl { static templateUrl = 'partials/module.html'; static scrollable = true; - defaults = { display: 'timeline', // or 'stacked' - rowHeight: 50, + rowHeight: 100, valueMaps: [{value: 'null', op: '=', text: 'N/A'}], rangeMaps: [{from: 'null', to: 'null', text: 'N/A'}], colorMaps: [{text: 'N/A', color: '#CCC'}], @@ -89,7 +98,7 @@ class DiscretePanelCtrl extends CanvasPanelCtrl { backgroundColor: 'rgba(128,128,128,0.1)', lineColor: 'rgba(0,0,0,0.1)', textSize: 24, - textSizeTime: 12, + textSizeTime: 14, extendLastValue: true, writeLastValue: true, writeAllValues: false, @@ -103,8 +112,13 @@ class DiscretePanelCtrl extends CanvasPanelCtrl { expandFromQueryS: 0, legendSortBy: '-ms', units: 'short', + adjFontSize: true, + FontSize: '70%', + FontSizeValue: '140%', + // FontSizeTime: '0.8vw', + nullValue: false, }; - + translate: any; data: any = null; externalPT = false; isTimeline = true; @@ -114,23 +128,149 @@ class DiscretePanelCtrl extends CanvasPanelCtrl { _colorsPaleteCash: any = null; unitFormats: any = null; // only used for editor formatter: any = null; + fontSizes = null; + fontCalc = null; _renderDimensions: any = {}; _selectionMatrix: Array> = []; + noPoints = false; + timeSrv: any; constructor($scope, $injector) { super($scope, $injector); - + // console.log(languageList); // defaults configs + this.translate = $injector.get('$translate'); _.defaultsDeep(this.panel, this.defaults); this.panel.display = 'timeline'; // Only supported version now - this.events.on('init-edit-mode', this.onInitEditMode.bind(this)); - this.events.on('render', this.onRender.bind(this)); - this.events.on('data-received', this.onDataReceived.bind(this)); - this.events.on('panel-initialized', this.onPanelInitialized.bind(this)); - this.events.on('data-error', this.onDataError.bind(this)); - this.events.on('refresh', this.onRefresh.bind(this)); + // li.na modify start at 2019.4.16 + this.fontCalc = [ + { + text: '60%', + value: '60%', + vw: '0.6vw', + px: '12px', + }, + { + text: '70%', + value: '70%', + vw: '0.8vw', + px: '15px', + }, + { + text: '80%', + value: '80%', + vw: '1vw', + px: '19px', + }, + { + text: '100%', + value: '100%', + vw: '1.4vw', + px: '27px', + }, + { + text: '110%', + value: '110%', + vw: '1.6vw', + px: '31px', + }, + { + text: '120%', + value: '120%', + vw: '1.8vw', + px: '35px', + }, + { + text: '130%', + value: '130%', + vw: '2vw', + px: '38px', + }, + { + text: '140%', + value: '140%', + vw: '2.2vw', + px: '42px', + }, + { + text: '150%', + value: '150%', + vw: '2.4vw', + px: '46px', + }, + { + text: '160%', + value: '160%', + vw: '2.6vw', + px: '50px', + }, + { + text: '180%', + value: '180%', + vw: '3vw', + px: '58px', + }, + { + text: '200%', + value: '200%', + vw: '3.4vw', + px: '65px', + }, + { + text: '220%', + value: '220%', + vw: '3.8vw', + px: '73px', + }, + { + text: '230%', + value: '230%', + vw: '4vw', + px: '77px', + }, + ]; + // li.na modify end at 2019.4.16 + + if (this.scope.$$listeners.isWisePaas) { + this.events.on('init-edit-mode', this.onInitEditMode.bind(this)); + this.events.on('render', this.onRender.bind(this)); + this.events.on('data-received', this.onDataReceived.bind(this)); + this.events.on('panel-initialized', this.onPanelInitialized.bind(this)); + this.events.on('data-error', this.onDataError.bind(this)); + this.events.on('refresh', this.onRefresh.bind(this)); + this.events.on('data-snapshot-load', this.onDataSnapshotLoad.bind(this)); + } + this.timeSrv = $scope.ctrl.timeSrv; + } + // Shaun add 20220506 replace val with Dashboard Variables + replaceCodes(val) { + const templateSrv = this.templateSrv; + const mapcode = { + group: '', + Value: '', + Text: '', + }; + // console.log(this.data[0].name); + let gp = this.data[0].name.replace(/\d/g, ''); // get group name + // console.log(templateSrv.index['code']); + if (templateSrv.index['code']) { + for (let j = 0; j < templateSrv.index['code'].options.length; j++) { + [mapcode.group, mapcode.Value, mapcode.Text] = templateSrv.index['code'].options[ + j + ].text.split('|'); + // console.log(gp + val, mapcode.group + mapcode.Value); + if (gp + val === mapcode.group + mapcode.Value) { + val = mapcode.Text; + } + } + } + return val; + } + + onDataSnapshotLoad(snapshotData) { + this.onDataReceived(snapshotData); } onPanelInitialized() { @@ -144,36 +284,43 @@ class DiscretePanelCtrl extends CanvasPanelCtrl { onInitEditMode() { this.unitFormats = kbn.getUnitFormats(); - - this.addEditorTab( - 'Options', - 'public/plugins/natel-discrete-panel/partials/editor.options.html', - 1 - ); - this.addEditorTab( - 'Legend', - 'public/plugins/natel-discrete-panel/partials/editor.legend.html', - 3 - ); - this.addEditorTab( - 'Colors', - 'public/plugins/natel-discrete-panel/partials/editor.colors.html', - 4 - ); - this.addEditorTab( - 'Mappings', - 'public/plugins/natel-discrete-panel/partials/editor.mappings.html', - 5 - ); + const translateArr = [ + 'public.options', + 'public.legend', + 'public.colors', + 'natel-discrete-panel.Mappings', + ]; + this.translate(translateArr).then(translate => { + this.addEditorTab( + translate['public.options'], + 'public/plugins/natel-discrete-panel/partials/editor.options.html', + 2 + ); + this.addEditorTab( + translate['public.legend'], + 'public/plugins/natel-discrete-panel/partials/editor.legend.html', + 3 + ); + this.addEditorTab( + translate['public.colors'], + 'public/plugins/natel-discrete-panel/partials/editor.colors.html', + 4 + ); + this.addEditorTab( + translate['natel-discrete-panel.Mappings'], + 'public/plugins/natel-discrete-panel/partials/editor.mappings.html', + 5 + ); + }); this.editorTabIndex = 1; - this.refresh(); } onRender() { + this.initI18n(); if (this.data == null || !this.context) { return; } - + this.data = this.formatDatas(); this._updateRenderDimensions(); this._updateSelectionMatrix(); this._updateCanvasSize(); @@ -205,6 +352,7 @@ class DiscretePanelCtrl extends CanvasPanelCtrl { } formatValue(val) { + colorSwitch.length = 0; if (_.isNumber(val)) { if (this.panel.rangeMaps) { for (let i = 0; i < this.panel.rangeMaps.length; i++) { @@ -219,17 +367,21 @@ class DiscretePanelCtrl extends CanvasPanelCtrl { } } if (this.formatter) { - return this.formatter(val, this.panel.decimals); + val = this.formatter(val, this.panel.decimals); } } - let isNull = _.isNil(val); if (!isNull && !_.isString(val)) { val = val.toString(); // convert everything to a string } for (let i = 0; i < this.panel.valueMaps.length; i++) { - let map = this.panel.valueMaps[i]; + const mapJson = { + colorValue: '', + colorText: '', + }; + + var map = this.panel.valueMaps[i]; // special null case if (map.value === 'null') { if (isNull) { @@ -239,6 +391,9 @@ class DiscretePanelCtrl extends CanvasPanelCtrl { } if (val === map.value) { + mapJson.colorValue = map.value; + mapJson.colorText = map.text; + colorSwitch.push(mapJson); return map.text; } } @@ -253,14 +408,79 @@ class DiscretePanelCtrl extends CanvasPanelCtrl { if (_.has(this.colorMap, val)) { return this.colorMap[val]; } + // li.na add start at 2019.6.19 if (this._colorsPaleteCash[val] === undefined) { + // let c = grafanaColors[this._colorsPaleteCash.length % grafanaColors.length]; + // if (colorSwitch.length === 0) { + // this._colorsPaleteCash[val] = c; + // } else { + // for (let i = 0; i < colorSwitch.length; i++) { + // if (colorSwitch[i].colorText === val) { + // let colorSwitchValue = this._colorsPaleteCash[colorSwitch[i].colorValue]; + // this._colorsPaleteCash[val] = colorSwitchValue; + // } else { + // this._colorsPaleteCash[val] = c; + // } + // } + // } + // this._colorsPaleteCash.length++; let c = grafanaColors[this._colorsPaleteCash.length % grafanaColors.length]; - this._colorsPaleteCash[val] = c; + if (colorSwitch.length === 0) { + if (this.checkValidValueMapping(val)) { + this.mappingColorsPaleteCash(val, c); + } else { + this._colorsPaleteCash[val] = c; + } + } else { + this.mappingColorsPaleteCash(val, c); + } + // li.na add end at 2019.6.19 this._colorsPaleteCash.length++; } return this._colorsPaleteCash[val]; } + //li.na add at 2019.7.19 + // find valid valueMapping + checkValidValueMapping(val) { + for (let i = 0; i < this.panel.valueMaps.length; i++) { + if ( + this.panel.valueMaps[i].text === val && + this.panel.valueMaps[i].text && + this.panel.valueMaps[i].text !== 'undefined' + ) { + return true; + } + } + return false; + } + + // mappingColor + mappingColorsPaleteCash(val, c) { + for (let i = 0; i < this.panel.valueMaps.length; i++) { + if ( + this.panel.valueMaps[i].value === '' || + this.panel.valueMaps[i].value === 'null' + ) { + this._colorsPaleteCash[val] = c; + continue; + } + if (this.panel.valueMaps[i].text === val) { + if (this.colorMap.hasOwnProperty(this.panel.valueMaps[i].value)) { + this._colorsPaleteCash[val] = this.colorMap[this.panel.valueMaps[i].value]; + } else { + this._colorsPaleteCash[val] = this._colorsPaleteCash[ + this.panel.valueMaps[i].value + ]; + if (this._colorsPaleteCash[val] === 'undefined') { + this._colorsPaleteCash[val] = c; + } + } + } + } + } + //li.na add end + randomColor() { let letters = 'ABCDE'.split(''); let color = '#'; @@ -282,43 +502,34 @@ class DiscretePanelCtrl extends CanvasPanelCtrl { } onDataReceived(dataList) { + if (Array.isArray(dataList) && dataList.length === 0) { + this.noPoints = true; + } else { + let datas = []; + _.forEach(dataList, metric => { + if (Array.isArray(metric.datapoints)) { + datas = datas.concat(metric.datapoints); + } + }); + if (datas.length === 0) { + this.noPoints = true; + } + } $(this.canvas).css('cursor', 'pointer'); // console.log('GOT', dataList); - - let data = []; - _.forEach(dataList, metric => { - if ('table' === metric.type) { - if ('time' !== metric.columns[0].type) { - throw new Error('Expected a time column from the table format'); - } - - let last = null; - for (let i = 1; i < metric.columns.length; i++) { - let res = new DistinctPoints(metric.columns[i].text); - for (let j = 0; j < metric.rows.length; j++) { - let row = metric.rows[j]; - res.add(row[0], this.formatValue(row[i])); - } - res.finish(this); - data.push(res); - } - } else { - let res = new DistinctPoints(metric.target); - _.forEach(metric.datapoints, point => { - res.add(point[1], this.formatValue(point[0])); - }); - res.finish(this); - data.push(res); - } - }); - this.data = data; + this.dataList = dataList; + this.data = this.formatDatas(); this.onRender(); //console.log( 'data', dataList, this.data); } + exportReportCsv() { + this.panel.exportReportCsv(this.dataList); + } + removeColorMap(map) { let index = _.indexOf(this.panel.colorMaps, map); this.panel.colorMaps.splice(index, 1); @@ -345,7 +556,18 @@ class DiscretePanelCtrl extends CanvasPanelCtrl { if (metric.legendInfo) { _.forEach(metric.legendInfo, info => { if (!_.has(this.colorMap, info.val)) { - let v = {text: info.val, color: this.getColor(info.val)}; + let v; + if (colorSwitch.length === 0) { + v = {text: info.val, color: this.getColor(info.val)}; + } else { + for (let i = 0; i < colorSwitch.length; i++) { + if (colorSwitch[i].colorText === info.val) { + v = {text: info.val, color: this.getColor(colorSwitch[i].colorValue)}; + } else { + v = {text: info.val, color: this.getColor(info.val)}; + } + } + } this.panel.colorMaps.push(v); this.colorMap[info.val] = v; } @@ -361,7 +583,8 @@ class DiscretePanelCtrl extends CanvasPanelCtrl { removeValueMap(map) { let index = _.indexOf(this.panel.valueMaps, map); this.panel.valueMaps.splice(index, 1); - this.render(); + // li.na modify start at 2019.7.10 + this.refresh(); } addValueMap() { @@ -394,8 +617,14 @@ class DiscretePanelCtrl extends CanvasPanelCtrl { } } + getFontSize(fontSize) { + return appFontSize.getValue(this.panel.adjFontSize, fontSize); + } + getLegendDisplay(info, metric) { let disp = info.val; + // Shaun add 20220506 replace disp with Dashboard Variables + disp = this.replaceCodes(disp); if ( this.panel.showLegendPercent || this.panel.showLegendCounts || @@ -447,6 +676,8 @@ class DiscretePanelCtrl extends CanvasPanelCtrl { let to = point.start + point.ms; let time = point.ms; let val = point.val; + // Shaun add 20220506 replace val with Dashboard Variables + val = this.replaceCodes(val); if (this.mouse.down != null) { from = Math.min(this.mouse.down.ts, this.mouse.position.ts); @@ -456,11 +687,14 @@ class DiscretePanelCtrl extends CanvasPanelCtrl { } let body = '
' + val + '
'; + const formatTimeType = 'YYYY-MM-DD HH:mm:ss'; + const fromData = this.timeFormatFun(from, formatTimeType); + const toData = this.timeFormatFun(to, formatTimeType); body += '
'; - body += this.dashboard.formatDate(moment(from)) + '
'; + body += fromData + '
'; body += 'to
'; - body += this.dashboard.formatDate(moment(to)) + '

'; + body += toData + '

'; body += moment.duration(time).humanize() + '
'; body += '
'; @@ -491,7 +725,10 @@ class DiscretePanelCtrl extends CanvasPanelCtrl { this.externalPT = false; if (this.data && this.data.length) { let hover = null; - let j = Math.floor(this.mouse.position.y / this.panel.rowHeight); + var panelHeight = $('.panel-container').height(); + let j = Math.floor( + this.mouse.position.y / (this.panel.rowHeight * panelHeight * 0.001) + ); if (j < 0) { j = 0; } @@ -562,10 +799,31 @@ class DiscretePanelCtrl extends CanvasPanelCtrl { _updateRenderDimensions() { this._renderDimensions = {}; + var domObj = $('.panel-container'); + if (domObj.length > 0) { + var maxHeight; + for (var i = 0; i < domObj.length; i++) { + if (i === 0) { + var a = domObj[i]; + maxHeight = a.getBoundingClientRect().height; + } else { + var b = domObj[i]; + var domHeight = b.getBoundingClientRect().height; + if (domHeight > maxHeight) { + maxHeight = domHeight; + } + } + } + } + var panelHeight = $('.panel-container').height(); + if (panelHeight < maxHeight) { + panelHeight = maxHeight; + } const rect = (this._renderDimensions.rect = this.wrap.getBoundingClientRect()); const rows = (this._renderDimensions.rows = this.data.length); - const rowHeight = (this._renderDimensions.rowHeight = this.panel.rowHeight); + const rowHeight = (this._renderDimensions.rowHeight = + this.panel.rowHeight * panelHeight * 0.001); const rowsHeight = (this._renderDimensions.rowsHeight = rowHeight * rows); const timeHeight = this.panel.showTimeAxis ? 14 + this.panel.textSizeTime : 0; const height = (this._renderDimensions.height = rowsHeight + timeHeight); @@ -742,7 +1000,10 @@ class DiscretePanelCtrl extends CanvasPanelCtrl { let ctx = this.context; ctx.lineWidth = 1; ctx.textBaseline = 'middle'; - ctx.font = this.panel.textSize + 'px "Open Sans", Helvetica, Arial, sans-serif'; + // ctx.font = this.panel.textSize + 'px "Open Sans", Helvetica, Arial, sans-serif'; + ctx.font = + this.getFontSize(this.panel.FontSizeValue) + + ' "Open Sans", Helvetica, Arial, sans-serif'; const offset = 2; const rowHeight = this._renderDimensions.rowHeight; @@ -764,7 +1025,8 @@ class DiscretePanelCtrl extends CanvasPanelCtrl { for (let j = 0; j < positions.length; j++) { if (positions[j] <= this.mouse.position.x) { if (j >= positions.length - 1 || positions[j + 1] >= this.mouse.position.x) { - let val = this._getVal(i, j); + //Shaun modify 20220506 replace val with Dashboard Variables + let val = this.replaceCodes(this._getVal(i, j)); ctx.fillStyle = this.panel.valueTextColor; ctx.textAlign = 'left'; hoverTextStart = positions[j] + offset; @@ -788,7 +1050,7 @@ class DiscretePanelCtrl extends CanvasPanelCtrl { minTextSpot = offset + ctx.measureText(metric.name).width + 2; } } - if (this.panel.writeLastValue) { + if (this.panel.writeLastValue && positions.length > 0) { let val = this._getVal(i, positions.length - 1); ctx.fillStyle = this.panel.valueTextColor; ctx.textAlign = 'right'; @@ -857,23 +1119,26 @@ class DiscretePanelCtrl extends CanvasPanelCtrl { } _renderTimeAxis() { - if (!this.panel.showTimeAxis) { + if (!this.panel.showTimeAxis || this.noPoints) { return; } + var panelHeight = $('.panel-container').height(); const ctx = this.context; const rows = this.data.length; - const rowHeight = this.panel.rowHeight; + const rowHeight = this.panel.rowHeight * panelHeight * 0.001; const height = this._renderDimensions.height; const width = this._renderDimensions.width; const top = this._renderDimensions.rowsHeight; const headerColumnIndent = 0; // header inset (zero for now) - ctx.font = this.panel.textSizeTime + 'px "Open Sans", Helvetica, Arial, sans-serif'; - ctx.fillStyle = this.panel.timeTextColor; + ctx.font = this.panel.textSizeTime + ' "Open Sans", Helvetica, Arial, sans-serif'; + // ctx.fillStyle = this.panel.timeTextColor; + ctx.fillStyle = $('.discrete-Theme').css('color'); ctx.textAlign = 'left'; - ctx.strokeStyle = this.panel.timeTextColor; + // ctx.strokeStyle = this.panel.timeTextColor; + ctx.strokeStyle = $('.discrete-Theme').css('color'); ctx.textBaseline = 'top'; ctx.setLineDash([7, 5]); // dashes are 5px and spaces are 3px ctx.lineDashOffset = 0; @@ -888,7 +1153,7 @@ class DiscretePanelCtrl extends CanvasPanelCtrl { let nextPointInTime = this.roundDate(min, timeResolution) + timeResolution; let xPos = headerColumnIndent + (nextPointInTime - min) / (max - min) * width; - let timeFormat = this.time_format(max - min, timeResolution / 1000); + let timeFormat = this.timeSrv.graphTimeFormat(timeResolution / 1000, min, max); while (nextPointInTime < max) { // draw ticks @@ -900,7 +1165,7 @@ class DiscretePanelCtrl extends CanvasPanelCtrl { // draw time label let date = new Date(nextPointInTime); - let dateStr = this.formatDate(date, timeFormat); + let dateStr = this.timeFormatFun(date, timeFormat); let xOffset = ctx.measureText(dateStr).width / 2; ctx.fillText(dateStr, xPos - xOffset, top + 10); @@ -909,6 +1174,16 @@ class DiscretePanelCtrl extends CanvasPanelCtrl { } } + timeFormatFun(date: Date, timeFormat: any) { + const dateTimeFormat = this.timeSrv.dateTimeFormatFun(); + const dashboardTimeZone = this.dashboard.getTimezone(); + + return dateTimeFormat(date.valueOf(), { + format: timeFormat, + timeZone: dashboardTimeZone, + }); + } + _renderCrosshair() { if (this.mouse.down != null) { return; @@ -920,9 +1195,10 @@ class DiscretePanelCtrl extends CanvasPanelCtrl { return; } + var panelHeight = $('.panel-container').height(); let ctx = this.context; let rows = this.data.length; - let rowHeight = this.panel.rowHeight; + let rowHeight = this.panel.rowHeight * panelHeight * 0.001; let height = this._renderDimensions.height; ctx.beginPath(); @@ -942,6 +1218,79 @@ class DiscretePanelCtrl extends CanvasPanelCtrl { ctx.lineWidth = 1; } } + + handleValueTextChange(valueMap: any) { + setI18n(valueMap, 'text', valueMap.text, this.dashboard.panelLanguage); + } + + handleRangeTextChange(rangeMap: any) { + setI18n(rangeMap, 'text', rangeMap.text, this.dashboard.panelLanguage); + } + + handleLegnedFontSizeChange() { + setI18n(this.panel, 'FontSize', this.panel.FontSize, this.dashboard.panelLanguage); + } + + handleFontSizeChange() { + setI18n( + this.panel, + 'FontSizeValue', + this.panel.FontSizeValue, + this.dashboard.panelLanguage + ); + } + + formatDatas() { + let data = []; + _.forEach(this.dataList, metric => { + if ('table' === metric.type) { + if ('time' !== metric.columns[0].type) { + throw new Error('Expected a time column from the table format'); + } + + let last = null; + for (let i = 1; i < metric.columns.length; i++) { + let res = new DistinctPoints(metric.columns[i].text); + for (let j = 0; j < metric.rows.length; j++) { + let row = metric.rows[j]; + res.add(row[0], this.formatValue(row[i])); + } + res.finish(this); + data.push(res); + } + } else { + // ��ijһʱ���ϵ� + if (this.panel.nullValue) { + var length = metric.datapoints.length; + metric.datapoints[length - 1][0] = null; + } + let res = new DistinctPoints(metric.target); + _.forEach(metric.datapoints, point => { + res.add(point[1], this.formatValue(point[0])); + }); + res.finish(this); + data.push(res); + } + }); + return data; + } + + initI18n() { + if (this.dashboard.panelLanguage) { + for (const valueMap of this.panel.valueMaps) { + valueMap.text = getI18n(valueMap, 'text', this.dashboard.panelLanguage); + } + for (const rangeMap of this.panel.rangeMaps) { + rangeMap.text = getI18n(rangeMap, 'text', this.dashboard.panelLanguage); + } + this.panel.FontSize = getI18n(this.panel, 'FontSize', this.dashboard.panelLanguage); + this.panel.FontSizeValue = getI18n( + this.panel, + 'FontSizeValue', + this.dashboard.panelLanguage + ); + } + } } export {DiscretePanelCtrl as PanelCtrl}; diff --git a/src/partials/editor.colors.html b/src/partials/editor.colors.html index 94ac1d7..d46a44f 100644 --- a/src/partials/editor.colors.html +++ b/src/partials/editor.colors.html @@ -1,10 +1,10 @@
-
Text Colors
+
{{'natel-discrete-panel.textColors' | translate}}
- Metric Names + {{'natel-discrete-panel.metricNames' | translate}} @@ -14,7 +14,7 @@
Text Colors
- Value Text + {{'natel-discrete-panel.valueText' | translate}} @@ -24,7 +24,7 @@
Text Colors
- Time Text + {{'natel-discrete-panel.timeText' | translate}} @@ -35,7 +35,7 @@
Text Colors
- Background + {{'public.background' | translate}} @@ -45,7 +45,7 @@
Text Colors
- Lines + {{'natel-discrete-panel.lines' | translate}} @@ -57,7 +57,7 @@
Text Colors
-
Color Mappings
+
{{'natel-discrete-panel.colorMappings' | translate}}
@@ -76,11 +76,11 @@
Color Mappings
diff --git a/src/partials/editor.legend.html b/src/partials/editor.legend.html index 7818532..2d47e83 100644 --- a/src/partials/editor.legend.html +++ b/src/partials/editor.legend.html @@ -4,39 +4,53 @@
-
Legend
+
{{'public.legend' | translate}}
+ + +
+ +
+ +
+
-
Values
+
{{'public.values' | translate}}
- +
- +
diff --git a/src/partials/editor.mappings.html b/src/partials/editor.mappings.html index 0b62b31..465c673 100644 --- a/src/partials/editor.mappings.html +++ b/src/partials/editor.mappings.html @@ -1,7 +1,7 @@
-
Value Mappings
+
{{'public.valueMappings' | translate}}
@@ -10,38 +10,39 @@
Value Mappings
+ - +
-
Range Mappings
+
{{'natel-discrete-panel.rangeMappings' | translate}}
- From + {{'public.from' | translate}} - To + {{'public.to' | translate}} - Text - + {{'public.text' | translate}} +
@@ -50,18 +51,18 @@
Range Mappings
-
Numeric Conversion
+
{{'natel-discrete-panel.numericConversion' | translate}}
- +
- - + +
diff --git a/src/partials/editor.options.html b/src/partials/editor.options.html index def98b0..cbc7e2b 100644 --- a/src/partials/editor.options.html +++ b/src/partials/editor.options.html @@ -3,88 +3,70 @@
-
Display
+
{{'public.display' | translate}}
- - -
- - -
-
- - -
-
- - -
- + + + +
+ +
+ +
+
-
Hover tooltip
+
{{'natel-discrete-panel.hoverTooltip' | translate}}
-
Query
+
{{'public.query' | translate}}
-
diff --git a/src/partials/module.html b/src/partials/module.html index d7b484f..4b1a056 100644 --- a/src/partials/module.html +++ b/src/partials/module.html @@ -1,8 +1,8 @@ -
+
+
- -
+
{{ metric.name }}:
=7": + version "8.13.0" + resolved "https://registry.yarnpkg.com/@testing-library/dom/-/dom-8.13.0.tgz#bc00bdd64c7d8b40841e27a70211399ad3af46f5" + integrity sha512-9VHgfIatKNXQNaZTtLnalIy0jNZzY35a4S3oi08YAt9Hv1VsfZ/DfA45lM8D/UhtHBGJ4/lGwp0PZkVndRkoOQ== + dependencies: + "@babel/code-frame" "^7.10.4" + "@babel/runtime" "^7.12.5" + "@types/aria-query" "^4.2.0" + aria-query "^5.0.0" + chalk "^4.1.0" + dom-accessibility-api "^0.5.9" + lz-string "^1.4.4" + pretty-format "^27.0.2" + +"@tootallnate/once@1": version "1.1.2" - resolved "https://registry.yarnpkg.com/colors/-/colors-1.1.2.tgz#168a4701756b6a7f51a12ce0c97bfa28c084ed63" + resolved "https://registry.yarnpkg.com/@tootallnate/once/-/once-1.1.2.tgz#ccb91445360179a04e7fe6aff78c00ffc1eeaf82" + integrity sha512-RbzJvlNzmRq5c3O09UipeuXno4tA1FE6ikOjxZK0tuxVv3412l64l5t1W5pj4+rJq9vpkm/kwiR07aZXnsKPxw== -combine-lists@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/combine-lists/-/combine-lists-1.0.1.tgz#458c07e09e0d900fc28b70a3fec2dacd1d2cb7f6" - dependencies: - lodash "^4.5.0" +"@trysound/sax@0.2.0": + version "0.2.0" + resolved "https://registry.yarnpkg.com/@trysound/sax/-/sax-0.2.0.tgz#cccaab758af56761eb7bf37af6f03f326dd798ad" + integrity sha512-L7z9BgrNEcYyUYtF+HaEfiS5ebkh9jXqbszz7pC0hRBPaatV0XjSD3+eHrpqFemQfgwiFF0QPIarnIihIDn7OA== -combined-stream@1.0.6, combined-stream@^1.0.5, combined-stream@~1.0.5: - version "1.0.6" - resolved "https://registry.yarnpkg.com/combined-stream/-/combined-stream-1.0.6.tgz#723e7df6e801ac5613113a7e445a9b69cb632818" +"@types/anymatch@*": + version "3.0.0" + resolved "https://registry.yarnpkg.com/@types/anymatch/-/anymatch-3.0.0.tgz#c95ff14401dbb2869913afac3935af4ad0d37f1a" + integrity sha512-qLChUo6yhpQ9k905NwL74GU7TxH+9UODwwQ6ICNI+O6EDMExqH/Cv9NsbmcZ7yC/rRXJ/AHCzfgjsFRY5fKjYw== dependencies: - delayed-stream "~1.0.0" + anymatch "*" -component-bind@1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/component-bind/-/component-bind-1.0.0.tgz#00c608ab7dcd93897c0009651b1d3a8e1e73bbd1" +"@types/aria-query@^4.2.0": + version "4.2.2" + resolved "https://registry.yarnpkg.com/@types/aria-query/-/aria-query-4.2.2.tgz#ed4e0ad92306a704f9fb132a0cfcf77486dbe2bc" + integrity sha512-HnYpAE1Y6kRyKM/XkEuiRQhTHvkzMBurTHnpFLYLBGPIylZNPs9jJcuOOYWxPLJCSEtmZT0Y8rHDokKN7rRTig== -component-emitter@1.1.2: - version "1.1.2" - resolved "https://registry.yarnpkg.com/component-emitter/-/component-emitter-1.1.2.tgz#296594f2753daa63996d2af08d15a95116c9aec3" +"@types/babel__core@^7.0.0", "@types/babel__core@^7.1.7": + version "7.1.19" + resolved "https://registry.yarnpkg.com/@types/babel__core/-/babel__core-7.1.19.tgz#7b497495b7d1b4812bdb9d02804d0576f43ee460" + integrity sha512-WEOTgRsbYkvA/KCsDwVEGkd7WAr1e3g31VHQ8zy5gul/V1qKullU/BU5I68X5v7V3GnB9eotmom4v5a5gjxorw== + dependencies: + "@babel/parser" "^7.1.0" + "@babel/types" "^7.0.0" + "@types/babel__generator" "*" + "@types/babel__template" "*" + "@types/babel__traverse" "*" -component-emitter@1.2.1: - version "1.2.1" - resolved "https://registry.yarnpkg.com/component-emitter/-/component-emitter-1.2.1.tgz#137918d6d78283f7df7a6b7c5a63e140e69425e6" +"@types/babel__generator@*": + version "7.6.4" + resolved "https://registry.yarnpkg.com/@types/babel__generator/-/babel__generator-7.6.4.tgz#1f20ce4c5b1990b37900b63f050182d28c2439b7" + integrity sha512-tFkciB9j2K755yrTALxD44McOrk+gfpIpvC3sxHjRawj6PfnQxrse4Clq5y/Rq+G3mrBurMax/lG8Qn2t9mSsg== + dependencies: + "@babel/types" "^7.0.0" -component-inherit@0.0.3: - version "0.0.3" - resolved "https://registry.yarnpkg.com/component-inherit/-/component-inherit-0.0.3.tgz#645fc4adf58b72b649d5cae65135619db26ff143" +"@types/babel__template@*": + version "7.4.1" + resolved "https://registry.yarnpkg.com/@types/babel__template/-/babel__template-7.4.1.tgz#3d1a48fd9d6c0edfd56f2ff578daed48f36c8969" + integrity sha512-azBFKemX6kMg5Io+/rdGT0dkGreboUVR0Cdm3fz9QJWpaQGJRQXl7C+6hOTCZcMll7KFyEQpgbYI2lHdsS4U7g== + dependencies: + "@babel/parser" "^7.1.0" + "@babel/types" "^7.0.0" -concat-map@0.0.1: - version "0.0.1" - resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b" +"@types/babel__traverse@*", "@types/babel__traverse@^7.0.4", "@types/babel__traverse@^7.0.6": + version "7.17.1" + resolved "https://registry.yarnpkg.com/@types/babel__traverse/-/babel__traverse-7.17.1.tgz#1a0e73e8c28c7e832656db372b779bfd2ef37314" + integrity sha512-kVzjari1s2YVi77D3w1yuvohV2idweYXMCDzqBiVNN63TcDWrIlTVOYpqVrvbbyOE/IyzBoTKF0fdnLPEORFxA== + dependencies: + "@babel/types" "^7.3.0" -concat-stream@1.6.0: - version "1.6.0" - resolved "https://registry.yarnpkg.com/concat-stream/-/concat-stream-1.6.0.tgz#0aac662fd52be78964d5532f694784e70110acf7" +"@types/body-parser@*": + version "1.19.2" + resolved "https://registry.yarnpkg.com/@types/body-parser/-/body-parser-1.19.2.tgz#aea2059e28b7658639081347ac4fab3de166e6f0" + integrity sha512-ALYone6pm6QmwZoAgeyNksccT9Q4AWZQ6PvfwR37GT6r6FWUPguq6sUmNGSMV2Wr761oQoBxwGGa6DR5o1DC9g== dependencies: - inherits "^2.0.3" - readable-stream "^2.2.2" - typedarray "^0.0.6" + "@types/connect" "*" + "@types/node" "*" -connect@^3.6.0: - version "3.6.6" - resolved "https://registry.yarnpkg.com/connect/-/connect-3.6.6.tgz#09eff6c55af7236e137135a72574858b6786f524" +"@types/clean-css@*": + version "4.2.5" + resolved "https://registry.yarnpkg.com/@types/clean-css/-/clean-css-4.2.5.tgz#69ce62cc13557c90ca40460133f672dc52ceaf89" + integrity sha512-NEzjkGGpbs9S9fgC4abuBvTpVwE3i+Acu9BBod3PUyjDVZcNsGx61b8r2PphR61QGPnn0JHVs5ey6/I4eTrkxw== dependencies: - debug "2.6.9" - finalhandler "1.1.0" - parseurl "~1.3.2" - utils-merge "1.0.1" + "@types/node" "*" + source-map "^0.6.0" -console-control-strings@^1.0.0, console-control-strings@~1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/console-control-strings/-/console-control-strings-1.1.0.tgz#3d7cf4464db6446ea644bf4b39507f9851008e8e" +"@types/command-exists@^1.2.0": + version "1.2.0" + resolved "https://registry.yarnpkg.com/@types/command-exists/-/command-exists-1.2.0.tgz#d97e0ed10097090e4ab0367ed425b0312fad86f3" + integrity sha512-ugsxEJfsCuqMLSuCD4PIJkp5Uk2z6TCMRCgYVuhRo5cYQY3+1xXTQkSlPtkpGHuvWMjS2KTeVQXxkXRACMbM6A== -content-type@~1.0.1, content-type@~1.0.4: - version "1.0.4" - resolved "https://registry.yarnpkg.com/content-type/-/content-type-1.0.4.tgz#e138cc75e040c727b1966fe5e5f8c9aee256fe3b" +"@types/connect-history-api-fallback@*": + version "1.3.5" + resolved "https://registry.yarnpkg.com/@types/connect-history-api-fallback/-/connect-history-api-fallback-1.3.5.tgz#d1f7a8a09d0ed5a57aee5ae9c18ab9b803205dae" + integrity sha512-h8QJa8xSb1WD4fpKBDcATDNGXghFj6/3GRWG6dhmRcu0RX1Ubasur2Uvx5aeEwlf0MwblEC2bMzzMQntxnw/Cw== + dependencies: + "@types/express-serve-static-core" "*" + "@types/node" "*" -cookie@0.3.1: - version "0.3.1" - resolved "https://registry.yarnpkg.com/cookie/-/cookie-0.3.1.tgz#e7e0a1f9ef43b4c8ba925c5c5a96e806d16873bb" +"@types/connect@*": + version "3.4.35" + resolved "https://registry.yarnpkg.com/@types/connect/-/connect-3.4.35.tgz#5fcf6ae445e4021d1fc2219a4873cc73a3bb2ad1" + integrity sha512-cdeYyv4KWoEgpBISTxWvqYsVy444DOqehiF3fM3ne10AmJ62RSyNkUnxMJXHQWRQQX2eR94m5y1IZyDwBjV9FQ== + dependencies: + "@types/node" "*" -core-js@^2.2.0: - version "2.5.3" - resolved "https://registry.yarnpkg.com/core-js/-/core-js-2.5.3.tgz#8acc38345824f16d8365b7c9b4259168e8ed603e" +"@types/d3-color@^1": + version "1.4.2" + resolved "https://registry.yarnpkg.com/@types/d3-color/-/d3-color-1.4.2.tgz#944f281d04a0f06e134ea96adbb68303515b2784" + integrity sha512-fYtiVLBYy7VQX+Kx7wU/uOIkGQn8aAEY8oWMoyja3N4dLd8Yf6XgSIR/4yWvMuveNOH5VShnqCgRqqh/UNanBA== -core-util-is@1.0.2, core-util-is@~1.0.0: - version "1.0.2" - resolved "https://registry.yarnpkg.com/core-util-is/-/core-util-is-1.0.2.tgz#b5fd54220aa2bc5ab57aab7140c940754503c1a7" +"@types/d3-interpolate@^1.4.0": + version "1.4.2" + resolved "https://registry.yarnpkg.com/@types/d3-interpolate/-/d3-interpolate-1.4.2.tgz#88902a205f682773a517612299a44699285eed7b" + integrity sha512-ylycts6llFf8yAEs1tXzx2loxxzDZHseuhPokrqKprTQSTcD3JbJI1omZP1rphsELZO3Q+of3ff0ZS7+O6yVzg== + dependencies: + "@types/d3-color" "^1" -cross-spawn@^5.0.1: - version "5.1.0" - resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-5.1.0.tgz#e8bd0efee58fcff6f8f94510a0a554bbfa235449" +"@types/eslint@*": + version "8.4.1" + resolved "https://registry.yarnpkg.com/@types/eslint/-/eslint-8.4.1.tgz#c48251553e8759db9e656de3efc846954ac32304" + integrity sha512-GE44+DNEyxxh2Kc6ro/VkIj+9ma0pO0bwv9+uHSyBrikYOHr8zYcdPvnBOp1aw8s+CjRvuSx7CyWqRrNFQ59mA== dependencies: - lru-cache "^4.0.1" - shebang-command "^1.2.0" - which "^1.2.9" + "@types/estree" "*" + "@types/json-schema" "*" -cryptiles@2.x.x: - version "2.0.5" - resolved "https://registry.yarnpkg.com/cryptiles/-/cryptiles-2.0.5.tgz#3bdfecdc608147c1c67202fa291e7dca59eaa3b8" +"@types/eslint@7.28.0": + version "7.28.0" + resolved "https://registry.yarnpkg.com/@types/eslint/-/eslint-7.28.0.tgz#7e41f2481d301c68e14f483fe10b017753ce8d5a" + integrity sha512-07XlgzX0YJUn4iG1ocY4IX9DzKSmMGUs6ESKlxWhZRaa0fatIWaHWUVapcuGa8r5HFnTqzj+4OCjd5f7EZ/i/A== dependencies: - boom "2.x.x" + "@types/estree" "*" + "@types/json-schema" "*" -cryptiles@3.x.x: - version "3.1.2" - resolved "https://registry.yarnpkg.com/cryptiles/-/cryptiles-3.1.2.tgz#a89fbb220f5ce25ec56e8c4aa8a4fd7b5b0d29fe" +"@types/estree@*": + version "0.0.51" + resolved "https://registry.yarnpkg.com/@types/estree/-/estree-0.0.51.tgz#cfd70924a25a3fd32b218e5e420e6897e1ac4f40" + integrity sha512-CuPgU6f3eT/XgKKPqKd/gLZV1Xmvf1a2R5POBOGQa6uv82xpls89HU5zKeVoyR8XzHd1RGNOlQlvUe3CFkjWNQ== + +"@types/express-serve-static-core@*", "@types/express-serve-static-core@^4.17.18": + version "4.17.28" + resolved "https://registry.yarnpkg.com/@types/express-serve-static-core/-/express-serve-static-core-4.17.28.tgz#c47def9f34ec81dc6328d0b1b5303d1ec98d86b8" + integrity sha512-P1BJAEAW3E2DJUlkgq4tOL3RyMunoWXqbSCygWo5ZIWTjUgN1YnaXWW4VWl/oc8vs/XoYibEGBKP0uZyF4AHig== dependencies: - boom "5.x.x" + "@types/node" "*" + "@types/qs" "*" + "@types/range-parser" "*" -cssmin@0.3.x: - version "0.3.2" - resolved "https://registry.yarnpkg.com/cssmin/-/cssmin-0.3.2.tgz#ddce4c547b510ae0d594a8f1fbf8aaf8e2c5c00d" +"@types/express@*": + version "4.17.13" + resolved "https://registry.yarnpkg.com/@types/express/-/express-4.17.13.tgz#a76e2995728999bab51a33fabce1d705a3709034" + integrity sha512-6bSZTPaTIACxn48l50SR+axgrqm6qXFIxrdAKaG6PaJk3+zuUr35hBlgT7vOmJcum+OEaIBLtHV/qloEAFITeA== + dependencies: + "@types/body-parser" "*" + "@types/express-serve-static-core" "^4.17.18" + "@types/qs" "*" + "@types/serve-static" "*" -currently-unhandled@^0.4.1: - version "0.4.1" - resolved "https://registry.yarnpkg.com/currently-unhandled/-/currently-unhandled-0.4.1.tgz#988df33feab191ef799a61369dd76c17adf957ea" +"@types/fs-extra@^9.0.13": + version "9.0.13" + resolved "https://registry.yarnpkg.com/@types/fs-extra/-/fs-extra-9.0.13.tgz#7594fbae04fe7f1918ce8b3d213f74ff44ac1f45" + integrity sha512-nEnwB++1u5lVDM2UI4c1+5R+FYaKfaAzS4OococimjVm3nQw3TuzH5UNsocrcTBbhnerblyHj4A49qXbIiZdpA== dependencies: - array-find-index "^1.0.1" + "@types/node" "*" -custom-event@~1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/custom-event/-/custom-event-1.0.1.tgz#5d02a46850adf1b4a317946a3928fccb5bfd0425" +"@types/glob@*", "@types/glob@^7.1.1": + version "7.2.0" + resolved "https://registry.yarnpkg.com/@types/glob/-/glob-7.2.0.tgz#bc1b5bf3aa92f25bd5dd39f35c57361bdce5b2eb" + integrity sha512-ZUxbzKl0IfJILTS6t7ip5fQQM/J3TJYubDm3nMbgubNNYS62eXeUpoLUC8/7fJNiFYHTrGPQn7hspDUzIHX3UA== + dependencies: + "@types/minimatch" "*" + "@types/node" "*" -cycle@1.0.x: - version "1.0.3" - resolved "https://registry.yarnpkg.com/cycle/-/cycle-1.0.3.tgz#21e80b2be8580f98b468f379430662b046c34ad2" +"@types/graceful-fs@^4.1.2": + version "4.1.5" + resolved "https://registry.yarnpkg.com/@types/graceful-fs/-/graceful-fs-4.1.5.tgz#21ffba0d98da4350db64891f92a9e5db3cdb4e15" + integrity sha512-anKkLmZZ+xm4p8JWBf4hElkM4XR+EZeA2M9BAkkTldmcyDY4mbdIJnRghDJH3Ov5ooY7/UAoENtmdMSkaAd7Cw== + dependencies: + "@types/node" "*" -dashdash@^1.12.0: - version "1.14.1" - resolved "https://registry.yarnpkg.com/dashdash/-/dashdash-1.14.1.tgz#853cfa0f7cbe2fed5de20326b8dd581035f6e2f0" +"@types/hoist-non-react-statics@^3.3.0": + version "3.3.1" + resolved "https://registry.yarnpkg.com/@types/hoist-non-react-statics/-/hoist-non-react-statics-3.3.1.tgz#1124aafe5118cb591977aeb1ceaaed1070eb039f" + integrity sha512-iMIqiko6ooLrTh1joXodJK5X9xeEALT1kM5G3ZLhD3hszxBdIEd5C75U834D9mLcINgD4OyZf5uQXjkuYydWvA== dependencies: - assert-plus "^1.0.0" + "@types/react" "*" + hoist-non-react-statics "^3.3.0" -dateformat@~1.0.12: - version "1.0.12" - resolved "https://registry.yarnpkg.com/dateformat/-/dateformat-1.0.12.tgz#9f124b67594c937ff706932e4a642cca8dbbfee9" +"@types/html-minifier@*": + version "4.0.2" + resolved "https://registry.yarnpkg.com/@types/html-minifier/-/html-minifier-4.0.2.tgz#ea0b927ad0019821a2e9d14ba9c57d105b63cecc" + integrity sha512-4IkmkXJP/25R2fZsCHDX2abztXuQRzUAZq39PfCMz2loLFj8vS9y7aF6vDl58koXSTpsF+eL4Lc5Y4Aww/GCTQ== dependencies: - get-stdin "^4.0.1" - meow "^3.3.0" + "@types/clean-css" "*" + "@types/relateurl" "*" + "@types/uglify-js" "*" -debug@2.2.0, debug@~2.2.0: - version "2.2.0" - resolved "https://registry.yarnpkg.com/debug/-/debug-2.2.0.tgz#f87057e995b1a1f6ae6a4960664137bc56f039da" +"@types/html-webpack-plugin@*": + version "3.2.6" + resolved "https://registry.yarnpkg.com/@types/html-webpack-plugin/-/html-webpack-plugin-3.2.6.tgz#07951aaf0fa260dbf626f9644f1d13106d537625" + integrity sha512-U8uJSvlf9lwrKG6sKFnMhqY4qJw2QXad+PHlX9sqEXVUMilVt96aVvFde73tzsdXD+QH9JS6kEytuGO2JcYZog== dependencies: - ms "0.7.1" + "@types/html-minifier" "*" + "@types/tapable" "^1" + "@types/webpack" "^4" -debug@2.3.3: - version "2.3.3" - resolved "https://registry.yarnpkg.com/debug/-/debug-2.3.3.tgz#40c453e67e6e13c901ddec317af8986cda9eff8c" +"@types/http-proxy@^1.17.5": + version "1.17.8" + resolved "https://registry.yarnpkg.com/@types/http-proxy/-/http-proxy-1.17.8.tgz#968c66903e7e42b483608030ee85800f22d03f55" + integrity sha512-5kPLG5BKpWYkw/LVOGWpiq3nEVqxiN32rTgI53Sk12/xHFQ2rG3ehI9IO+O3W2QoKeyB92dJkoka8SUm6BX1pA== dependencies: - ms "0.7.2" + "@types/node" "*" -debug@2.6.9, debug@^2.2.0: - version "2.6.9" - resolved "https://registry.yarnpkg.com/debug/-/debug-2.6.9.tgz#5d128515df134ff327e90a4c93f4e077a536341f" +"@types/inquirer@^8.0.0": + version "8.2.1" + resolved "https://registry.yarnpkg.com/@types/inquirer/-/inquirer-8.2.1.tgz#28a139be3105a1175e205537e8ac10830e38dbf4" + integrity sha512-wKW3SKIUMmltbykg4I5JzCVzUhkuD9trD6efAmYgN2MrSntY0SMRQzEnD3mkyJ/rv9NLbTC7g3hKKE86YwEDLw== dependencies: - ms "2.0.0" + "@types/through" "*" + rxjs "^7.2.0" -decamelize@^1.1.2: - version "1.2.0" - resolved "https://registry.yarnpkg.com/decamelize/-/decamelize-1.2.0.tgz#f6534d15148269b20352e7bee26f501f9a191290" +"@types/istanbul-lib-coverage@*", "@types/istanbul-lib-coverage@^2.0.0", "@types/istanbul-lib-coverage@^2.0.1": + version "2.0.4" + resolved "https://registry.yarnpkg.com/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.4.tgz#8467d4b3c087805d63580480890791277ce35c44" + integrity sha512-z/QT1XN4K4KYuslS23k62yDIDLwLFkzxOuMplDtObz0+y7VqJCaO2o+SPwHCvLFZh7xazvvoor2tA/hPz9ee7g== -deep-extend@~0.4.0: - version "0.4.2" - resolved "https://registry.yarnpkg.com/deep-extend/-/deep-extend-0.4.2.tgz#48b699c27e334bf89f10892be432f6e4c7d34a7f" +"@types/istanbul-lib-report@*": + version "3.0.0" + resolved "https://registry.yarnpkg.com/@types/istanbul-lib-report/-/istanbul-lib-report-3.0.0.tgz#c14c24f18ea8190c118ee7562b7ff99a36552686" + integrity sha512-plGgXAPfVKFoYfa9NpYDAkseG+g6Jr294RqeqcqDixSbU34MZVJRi/P+7Y8GDpzkEwLaGZZOpKIEmeVZNtKsrg== + dependencies: + "@types/istanbul-lib-coverage" "*" -delayed-stream@~1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/delayed-stream/-/delayed-stream-1.0.0.tgz#df3ae199acadfb7d440aaae0b29e2272b24ec619" +"@types/istanbul-reports@^1.1.1": + version "1.1.2" + resolved "https://registry.yarnpkg.com/@types/istanbul-reports/-/istanbul-reports-1.1.2.tgz#e875cc689e47bce549ec81f3df5e6f6f11cfaeb2" + integrity sha512-P/W9yOX/3oPZSpaYOCQzGqgCQRXn0FFO/V8bWrCQs+wLmvVVxk6CRBXALEvNs9OHIatlnlFokfhuDo2ug01ciw== + dependencies: + "@types/istanbul-lib-coverage" "*" + "@types/istanbul-lib-report" "*" -delegates@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/delegates/-/delegates-1.0.0.tgz#84c6e159b81904fdca59a0ef44cd870d31250f9a" +"@types/istanbul-reports@^3.0.0": + version "3.0.1" + resolved "https://registry.yarnpkg.com/@types/istanbul-reports/-/istanbul-reports-3.0.1.tgz#9153fe98bba2bd565a63add9436d6f0d7f8468ff" + integrity sha512-c3mAZEuK0lvBp8tmuL74XRKn1+y2dcwOUpH7x4WrF6gk1GIgiluDRgMYQtw2OFcBvAJWlt6ASU3tSqxp0Uu0Aw== + dependencies: + "@types/istanbul-lib-report" "*" -depd@1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/depd/-/depd-1.1.1.tgz#5783b4e1c459f06fa5ca27f991f3d06e7a310359" +"@types/jest@26.x": + version "26.0.24" + resolved "https://registry.yarnpkg.com/@types/jest/-/jest-26.0.24.tgz#943d11976b16739185913a1936e0de0c4a7d595a" + integrity sha512-E/X5Vib8BWqZNRlDxj9vYXhsDwPYbPINqKF9BsnSoon4RQ0D9moEuLD8txgyypFLH7J4+Lho9Nr/c8H0Fi+17w== + dependencies: + jest-diff "^26.0.0" + pretty-format "^26.0.0" -depd@~1.1.0, depd@~1.1.1: - version "1.1.2" - resolved "https://registry.yarnpkg.com/depd/-/depd-1.1.2.tgz#9bcd52e14c097763e749b274c4346ed2e560b5a9" +"@types/jest@27.0.2": + version "27.0.2" + resolved "https://registry.yarnpkg.com/@types/jest/-/jest-27.0.2.tgz#ac383c4d4aaddd29bbf2b916d8d105c304a5fcd7" + integrity sha512-4dRxkS/AFX0c5XW6IPMNOydLn2tEhNhJV7DnYK+0bjoJZ+QTmfucBlihX7aoEsh/ocYtkLC73UbnBXBXIxsULA== + dependencies: + jest-diff "^27.0.0" + pretty-format "^27.0.0" -detect-libc@^1.0.2: - version "1.0.3" - resolved "https://registry.yarnpkg.com/detect-libc/-/detect-libc-1.0.3.tgz#fa137c4bd698edf55cd5cd02ac559f91a4c4ba9b" +"@types/js-cookie@^2.2.6": + version "2.2.7" + resolved "https://registry.yarnpkg.com/@types/js-cookie/-/js-cookie-2.2.7.tgz#226a9e31680835a6188e887f3988e60c04d3f6a3" + integrity sha512-aLkWa0C0vO5b4Sr798E26QgOkss68Un0bLjs7u9qxzPT5CG+8DuNTffWES58YzJs3hrVAOs1wonycqEBqNJubA== -di@^0.0.1: - version "0.0.1" - resolved "https://registry.yarnpkg.com/di/-/di-0.0.1.tgz#806649326ceaa7caa3306d75d985ea2748ba913c" +"@types/json-schema@*", "@types/json-schema@^7.0.4", "@types/json-schema@^7.0.5", "@types/json-schema@^7.0.7", "@types/json-schema@^7.0.8", "@types/json-schema@^7.0.9": + version "7.0.11" + resolved "https://registry.yarnpkg.com/@types/json-schema/-/json-schema-7.0.11.tgz#d421b6c527a3037f7c84433fd2c4229e016863d3" + integrity sha512-wOuvG1SN4Us4rez+tylwwwCV1psiNVOkJeM3AUWUNWg/jDQY2+HE/444y5gc+jBmRqASOm2Oeh5c1axHobwRKQ== -diff@^3.1.0: - version "3.5.0" - resolved "https://registry.yarnpkg.com/diff/-/diff-3.5.0.tgz#800c0dd1e0a8bfbc95835c202ad220fe317e5a12" +"@types/lodash@4.14.149": + version "4.14.149" + resolved "https://registry.yarnpkg.com/@types/lodash/-/lodash-4.14.149.tgz#1342d63d948c6062838fbf961012f74d4e638440" + integrity sha512-ijGqzZt/b7BfzcK9vTrS6MFljQRPn5BFWOx8oE0GYxribu6uV+aA9zZuXI1zc/etK9E8nrgdoF2+LgUw7+9tJQ== -dom-serialize@^2.2.0: - version "2.2.1" - resolved "https://registry.yarnpkg.com/dom-serialize/-/dom-serialize-2.2.1.tgz#562ae8999f44be5ea3076f5419dcd59eb43ac95b" - dependencies: - custom-event "~1.0.0" - ent "~2.2.0" - extend "^3.0.0" - void-elements "^2.0.0" +"@types/lodash@^4.14.74": + version "4.14.104" + resolved "https://registry.yarnpkg.com/@types/lodash/-/lodash-4.14.104.tgz#53ee2357fa2e6e68379341d92eb2ecea4b11bb80" -ecc-jsbn@~0.1.1: - version "0.1.1" - resolved "https://registry.yarnpkg.com/ecc-jsbn/-/ecc-jsbn-0.1.1.tgz#0fc73a9ed5f0d53c38193398523ef7e543777505" - dependencies: - jsbn "~0.1.0" +"@types/mime@^1": + version "1.3.2" + resolved "https://registry.yarnpkg.com/@types/mime/-/mime-1.3.2.tgz#93e25bf9ee75fe0fd80b594bc4feb0e862111b5a" + integrity sha512-YATxVxgRqNH6nHEIsvg6k2Boc1JHI9ZbH5iWFFv/MTkchz3b1ieGDa5T0a9RznNdI0KhVbdbWSN+KWWrQZRxTw== -ee-first@1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/ee-first/-/ee-first-1.1.1.tgz#590c61156b0ae2f4f0255732a158b266bc56b21d" +"@types/minimatch@*": + version "3.0.5" + resolved "https://registry.yarnpkg.com/@types/minimatch/-/minimatch-3.0.5.tgz#1001cc5e6a3704b83c236027e77f2f58ea010f40" + integrity sha512-Klz949h02Gz2uZCMGwDUSDS1YBlTdDDgbWHi+81l29tQALUtvz4rAYi5uoVhE5Lagoq6DeqAUlbrHvW/mXDgdQ== -encodeurl@~1.0.1: - version "1.0.2" - resolved "https://registry.yarnpkg.com/encodeurl/-/encodeurl-1.0.2.tgz#ad3ff4c86ec2d029322f5a02c3a9a606c95b3f59" +"@types/node@*": + version "17.0.30" + resolved "https://registry.yarnpkg.com/@types/node/-/node-17.0.30.tgz#2c6e8512acac70815e8176aa30c38025067880ef" + integrity sha512-oNBIZjIqyHYP8VCNAV9uEytXVeXG2oR0w9lgAXro20eugRQfY002qr3CUl6BAe+Yf/z3CRjPdz27Pu6WWtuSRw== -engine.io-client@1.8.3: - version "1.8.3" - resolved "https://registry.yarnpkg.com/engine.io-client/-/engine.io-client-1.8.3.tgz#1798ed93451246453d4c6f635d7a201fe940d5ab" +"@types/node@^16.0.0": + version "16.11.32" + resolved "https://registry.yarnpkg.com/@types/node/-/node-16.11.32.tgz#ff1a57f7c52dacb3537d22d230654390202774de" + integrity sha512-+fnfNvG5JQdC1uGZiTx+0QVtoOHcggy6+epx65JYroPGsE1uhp+vo5kioiGKsAkor6ocwHteU2EvO7N8vtOZtA== + +"@types/normalize-package-data@^2.4.0": + version "2.4.1" + resolved "https://registry.yarnpkg.com/@types/normalize-package-data/-/normalize-package-data-2.4.1.tgz#d3357479a0fdfdd5907fe67e17e0a85c906e1301" + integrity sha512-Gj7cI7z+98M282Tqmp2K5EIsoouUEzbBJhQQzDE3jSIRk6r9gsz0oUokqIUR4u1R3dMHo0pDHM7sNOHyhulypw== + +"@types/parse-json@^4.0.0": + version "4.0.0" + resolved "https://registry.yarnpkg.com/@types/parse-json/-/parse-json-4.0.0.tgz#2f8bb441434d163b35fb8ffdccd7138927ffb8c0" + integrity sha512-//oorEZjL6sbPcKUaCdIGlIUeH26mgzimjBB77G6XRgnDl/L5wOnpyBGRe/Mmf5CVW3PwEBE1NjiMZ/ssFh4wA== + +"@types/prettier@^2.0.0", "@types/prettier@^2.4.0": + version "2.6.0" + resolved "https://registry.yarnpkg.com/@types/prettier/-/prettier-2.6.0.tgz#efcbd41937f9ae7434c714ab698604822d890759" + integrity sha512-G/AdOadiZhnJp0jXCaBQU449W2h716OW/EoXeYkCytxKL06X1WCXB4DZpp8TpZ8eyIJVS1cw4lrlkkSYU21cDw== + +"@types/prop-types@*": + version "15.7.5" + resolved "https://registry.yarnpkg.com/@types/prop-types/-/prop-types-15.7.5.tgz#5f19d2b85a98e9558036f6a3cacc8819420f05cf" + integrity sha512-JCB8C6SnDoQf0cNycqd/35A7MjcnK+ZTqE7judS6o7utxUCg6imJg3QK2qzHKszlTjcj2cn+NwMB2i96ubpj7w== + +"@types/qs@*": + version "6.9.7" + resolved "https://registry.yarnpkg.com/@types/qs/-/qs-6.9.7.tgz#63bb7d067db107cc1e457c303bc25d511febf6cb" + integrity sha512-FGa1F62FT09qcrueBA6qYTrJPVDzah9a+493+o2PCXsesWHIn27G98TsSMs3WPNbZIEj4+VJf6saSFpvD+3Zsw== + +"@types/range-parser@*": + version "1.2.4" + resolved "https://registry.yarnpkg.com/@types/range-parser/-/range-parser-1.2.4.tgz#cd667bcfdd025213aafb7ca5915a932590acdcdc" + integrity sha512-EEhsLsD6UsDM1yFhAvy0Cjr6VwmpMWqFBCb9w07wVugF7w9nfajxLuVmngTIpgS6svCnm6Vaw+MZhoDCKnOfsw== + +"@types/react-dev-utils@^9.0.4": + version "9.0.10" + resolved "https://registry.yarnpkg.com/@types/react-dev-utils/-/react-dev-utils-9.0.10.tgz#92bcfb83b25c9788b124a1598673b6e11727fead" + integrity sha512-kkPY4YbdoEXwf4CZdrEKNEYPHshdRGwHiCixyqaWxmYSj337hMX3YD28+tZkNiV4XUmJ4NevKtgZNbylkLSQ+A== + dependencies: + "@types/eslint" "*" + "@types/express" "*" + "@types/html-webpack-plugin" "*" + "@types/webpack" "^4" + "@types/webpack-dev-server" "3" + +"@types/react-redux@^7.1.20": + version "7.1.24" + resolved "https://registry.yarnpkg.com/@types/react-redux/-/react-redux-7.1.24.tgz#6caaff1603aba17b27d20f8ad073e4c077e975c0" + integrity sha512-7FkurKcS1k0FHZEtdbbgN8Oc6b+stGSfZYjQGicofJ0j4U0qIn/jaSvnP2pLwZKiai3/17xqqxkkrxTgN8UNbQ== + dependencies: + "@types/hoist-non-react-statics" "^3.3.0" + "@types/react" "*" + hoist-non-react-statics "^3.3.0" + redux "^4.0.0" + +"@types/react-transition-group@^4.4.0": + version "4.4.4" + resolved "https://registry.yarnpkg.com/@types/react-transition-group/-/react-transition-group-4.4.4.tgz#acd4cceaa2be6b757db61ed7b432e103242d163e" + integrity sha512-7gAPz7anVK5xzbeQW9wFBDg7G++aPLAFY0QaSMOou9rJZpbuI58WAuJrgu+qR92l61grlnCUe7AFX8KGahAgug== + dependencies: + "@types/react" "*" + +"@types/react@*": + version "18.0.8" + resolved "https://registry.yarnpkg.com/@types/react/-/react-18.0.8.tgz#a051eb380a9fbcaa404550543c58e1cf5ce4ab87" + integrity sha512-+j2hk9BzCOrrOSJASi5XiOyBbERk9jG5O73Ya4M0env5Ixi6vUNli4qy994AINcEF+1IEHISYFfIT4zwr++LKw== + dependencies: + "@types/prop-types" "*" + "@types/scheduler" "*" + csstype "^3.0.2" + +"@types/relateurl@*": + version "0.2.29" + resolved "https://registry.yarnpkg.com/@types/relateurl/-/relateurl-0.2.29.tgz#68ccecec3d4ffdafb9c577fe764f912afc050fe6" + integrity sha512-QSvevZ+IRww2ldtfv1QskYsqVVVwCKQf1XbwtcyyoRvLIQzfyPhj/C+3+PKzSDRdiyejaiLgnq//XTkleorpLg== + +"@types/rimraf@^3.0.0": + version "3.0.2" + resolved "https://registry.yarnpkg.com/@types/rimraf/-/rimraf-3.0.2.tgz#a63d175b331748e5220ad48c901d7bbf1f44eef8" + integrity sha512-F3OznnSLAUxFrCEu/L5PY8+ny8DtcFRjx7fZZ9bycvXRi3KPTRS9HOitGZwvPg0juRhXFWIeKX58cnX5YqLohQ== dependencies: - component-emitter "1.2.1" - component-inherit "0.0.3" - debug "2.3.3" - engine.io-parser "1.3.2" - has-cors "1.1.0" - indexof "0.0.1" - parsejson "0.0.3" - parseqs "0.0.5" - parseuri "0.0.5" - ws "1.1.2" - xmlhttprequest-ssl "1.5.3" - yeast "0.1.2" + "@types/glob" "*" + "@types/node" "*" -engine.io-parser@1.3.2: - version "1.3.2" - resolved "https://registry.yarnpkg.com/engine.io-parser/-/engine.io-parser-1.3.2.tgz#937b079f0007d0893ec56d46cb220b8cb435220a" +"@types/scheduler@*": + version "0.16.2" + resolved "https://registry.yarnpkg.com/@types/scheduler/-/scheduler-0.16.2.tgz#1a62f89525723dde24ba1b01b092bf5df8ad4d39" + integrity sha512-hppQEBDmlwhFAXKJX2KnWLYu5yMfi91yazPb2l+lbJiwW+wdo1gNeRA+3RgNSO39WYX2euey41KEwnqesU2Jew== + +"@types/semver@^7.0.0": + version "7.3.9" + resolved "https://registry.yarnpkg.com/@types/semver/-/semver-7.3.9.tgz#152c6c20a7688c30b967ec1841d31ace569863fc" + integrity sha512-L/TMpyURfBkf+o/526Zb6kd/tchUP3iBDEPjqjb+U2MAJhVRxxrmr2fwpe08E7QsV7YLcpq0tUaQ9O9x97ZIxQ== + +"@types/serve-static@*": + version "1.13.10" + resolved "https://registry.yarnpkg.com/@types/serve-static/-/serve-static-1.13.10.tgz#f5e0ce8797d2d7cc5ebeda48a52c96c4fa47a8d9" + integrity sha512-nCkHGI4w7ZgAdNkrEu0bv+4xNV/XDqW+DydknebMOQwkpDGx8G+HTlj7R7ABI8i8nKxVw0wtKPi1D+lPOkh4YQ== dependencies: - after "0.8.2" - arraybuffer.slice "0.0.6" - base64-arraybuffer "0.1.5" - blob "0.0.4" - has-binary "0.1.7" - wtf-8 "1.0.0" + "@types/mime" "^1" + "@types/node" "*" -engine.io@1.8.3: - version "1.8.3" - resolved "https://registry.yarnpkg.com/engine.io/-/engine.io-1.8.3.tgz#8de7f97895d20d39b85f88eeee777b2bd42b13d4" +"@types/source-list-map@*": + version "0.1.2" + resolved "https://registry.yarnpkg.com/@types/source-list-map/-/source-list-map-0.1.2.tgz#0078836063ffaf17412349bba364087e0ac02ec9" + integrity sha512-K5K+yml8LTo9bWJI/rECfIPrGgxdpeNbj+d53lwN4QjW1MCwlkhUms+gtdzigTeUyBr09+u8BwOIY3MXvHdcsA== + +"@types/stack-utils@^1.0.1": + version "1.0.1" + resolved "https://registry.yarnpkg.com/@types/stack-utils/-/stack-utils-1.0.1.tgz#0a851d3bd96498fa25c33ab7278ed3bd65f06c3e" + integrity sha512-l42BggppR6zLmpfU6fq9HEa2oGPEI8yrSPL3GITjfRInppYFahObbIQOQK3UGxEnyQpltZLaPe75046NOZQikw== + +"@types/stack-utils@^2.0.0": + version "2.0.1" + resolved "https://registry.yarnpkg.com/@types/stack-utils/-/stack-utils-2.0.1.tgz#20f18294f797f2209b5f65c8e3b5c8e8261d127c" + integrity sha512-Hl219/BT5fLAaz6NDkSuhzasy49dwQS/DSdu4MdggFB8zcXv7vflBI3xp7FEmkmdDkBUI2bPUNeMttp2knYdxw== + +"@types/tapable@*": + version "2.2.2" + resolved "https://registry.yarnpkg.com/@types/tapable/-/tapable-2.2.2.tgz#1d324b524190954a5700d86b6328bfc57e1fda48" + integrity sha512-ujqOVJEeLcwpDVJPnp/k3u1UXmTKq5urJq9fO8aUKg8Vlel5RNOFbVKEfqfh6wGfF/M+HiTJlBJMLC1aDfyf0Q== dependencies: - accepts "1.3.3" - base64id "1.0.0" - cookie "0.3.1" - debug "2.3.3" - engine.io-parser "1.3.2" - ws "1.1.2" + tapable "^2.2.0" -ent@~2.2.0: - version "2.2.0" - resolved "https://registry.yarnpkg.com/ent/-/ent-2.2.0.tgz#e964219325a21d05f44466a2f686ed6ce5f5dd1d" +"@types/tapable@^1": + version "1.0.8" + resolved "https://registry.yarnpkg.com/@types/tapable/-/tapable-1.0.8.tgz#b94a4391c85666c7b73299fd3ad79d4faa435310" + integrity sha512-ipixuVrh2OdNmauvtT51o3d8z12p6LtFW9in7U79der/kwejjdNchQC5UMn5u/KxNoM7VHHOs/l8KS8uHxhODQ== -error-ex@^1.2.0: - version "1.3.1" - resolved "https://registry.yarnpkg.com/error-ex/-/error-ex-1.3.1.tgz#f855a86ce61adc4e8621c3cda21e7a7612c3a8dc" +"@types/through@*": + version "0.0.30" + resolved "https://registry.yarnpkg.com/@types/through/-/through-0.0.30.tgz#e0e42ce77e897bd6aead6f6ea62aeb135b8a3895" + integrity sha512-FvnCJljyxhPM3gkRgWmxmDZyAQSiBQQWLI0A0VFL0K7W1oRUrPJSqNO0NvTnLkBcotdlp3lKvaT0JrnyRDkzOg== dependencies: - is-arrayish "^0.2.1" + "@types/node" "*" -es6-promise@^4.0.3: - version "4.2.4" - resolved "https://registry.yarnpkg.com/es6-promise/-/es6-promise-4.2.4.tgz#dc4221c2b16518760bd8c39a52d8f356fc00ed29" +"@types/tmp@^0.1.0": + version "0.1.0" + resolved "https://registry.yarnpkg.com/@types/tmp/-/tmp-0.1.0.tgz#19cf73a7bcf641965485119726397a096f0049bd" + integrity sha512-6IwZ9HzWbCq6XoQWhxLpDjuADodH/MKXRUIDFudvgjcVdjFknvmR+DNsoUeer4XPrEnrZs04Jj+kfV9pFsrhmA== + +"@types/uglify-js@*": + version "3.13.2" + resolved "https://registry.yarnpkg.com/@types/uglify-js/-/uglify-js-3.13.2.tgz#1044c1713fb81cb1ceef29ad8a9ee1ce08d690ef" + integrity sha512-/xFrPIo+4zOeNGtVMbf9rUm0N+i4pDf1ynExomqtokIJmVzR3962lJ1UE+MmexMkA0cmN9oTzg5Xcbwge0Ij2Q== + dependencies: + source-map "^0.6.1" + +"@types/webpack-dev-server@3": + version "3.11.6" + resolved "https://registry.yarnpkg.com/@types/webpack-dev-server/-/webpack-dev-server-3.11.6.tgz#d8888cfd2f0630203e13d3ed7833a4d11b8a34dc" + integrity sha512-XCph0RiiqFGetukCTC3KVnY1jwLcZ84illFRMbyFzCcWl90B/76ew0tSqF46oBhnLC4obNDG7dMO0JfTN0MgMQ== + dependencies: + "@types/connect-history-api-fallback" "*" + "@types/express" "*" + "@types/serve-static" "*" + "@types/webpack" "^4" + http-proxy-middleware "^1.0.0" + +"@types/webpack-sources@*": + version "3.2.0" + resolved "https://registry.yarnpkg.com/@types/webpack-sources/-/webpack-sources-3.2.0.tgz#16d759ba096c289034b26553d2df1bf45248d38b" + integrity sha512-Ft7YH3lEVRQ6ls8k4Ff1oB4jN6oy/XmU6tQISKdhfh+1mR+viZFphS6WL0IrtDOzvefmJg5a0s7ZQoRXwqTEFg== + dependencies: + "@types/node" "*" + "@types/source-list-map" "*" + source-map "^0.7.3" + +"@types/webpack@4.41.7": + version "4.41.7" + resolved "https://registry.yarnpkg.com/@types/webpack/-/webpack-4.41.7.tgz#22be27dbd4362b01c3954ca9b021dbc9328d9511" + integrity sha512-OQG9viYwO0V1NaNV7d0n79V+n6mjOV30CwgFPIfTzwmk8DHbt+C4f2aBGdCYbo3yFyYD6sjXfqqOjwkl1j+ulA== + dependencies: + "@types/anymatch" "*" + "@types/node" "*" + "@types/tapable" "*" + "@types/uglify-js" "*" + "@types/webpack-sources" "*" + source-map "^0.6.0" + +"@types/webpack@^4": + version "4.41.32" + resolved "https://registry.yarnpkg.com/@types/webpack/-/webpack-4.41.32.tgz#a7bab03b72904070162b2f169415492209e94212" + integrity sha512-cb+0ioil/7oz5//7tZUSwbrSAN/NWHrQylz5cW8G0dWTcF/g+/dSdMlKVZspBYuMAN1+WnwHrkxiRrLcwd0Heg== + dependencies: + "@types/node" "*" + "@types/tapable" "^1" + "@types/uglify-js" "*" + "@types/webpack-sources" "*" + anymatch "^3.0.0" + source-map "^0.6.0" + +"@types/yargs-parser@*": + version "21.0.0" + resolved "https://registry.yarnpkg.com/@types/yargs-parser/-/yargs-parser-21.0.0.tgz#0c60e537fa790f5f9472ed2776c2b71ec117351b" + integrity sha512-iO9ZQHkZxHn4mSakYV0vFHAVDyEOIJQrV2uZ06HxEPcx+mt8swXoZHIbaaJ2crJYFfErySgktuTZ3BeLz+XmFA== + +"@types/yargs@^13.0.0": + version "13.0.12" + resolved "https://registry.yarnpkg.com/@types/yargs/-/yargs-13.0.12.tgz#d895a88c703b78af0465a9de88aa92c61430b092" + integrity sha512-qCxJE1qgz2y0hA4pIxjBR+PelCH0U5CK1XJXFwCNqfmliatKp47UCXXE9Dyk1OXBDLvsCF57TqQEJaeLfDYEOQ== + dependencies: + "@types/yargs-parser" "*" + +"@types/yargs@^15.0.0": + version "15.0.14" + resolved "https://registry.yarnpkg.com/@types/yargs/-/yargs-15.0.14.tgz#26d821ddb89e70492160b66d10a0eb6df8f6fb06" + integrity sha512-yEJzHoxf6SyQGhBhIYGXQDSCkJjB6HohDShto7m8vaKg9Yp0Yn8+71J9eakh2bnPg6BfsH9PRMhiRTZnd4eXGQ== + dependencies: + "@types/yargs-parser" "*" + +"@typescript-eslint/eslint-plugin@4.28.0": + version "4.28.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-4.28.0.tgz#1a66f03b264844387beb7dc85e1f1d403bd1803f" + integrity sha512-KcF6p3zWhf1f8xO84tuBailV5cN92vhS+VT7UJsPzGBm9VnQqfI9AsiMUFUCYHTYPg1uCCo+HyiDnpDuvkAMfQ== + dependencies: + "@typescript-eslint/experimental-utils" "4.28.0" + "@typescript-eslint/scope-manager" "4.28.0" + debug "^4.3.1" + functional-red-black-tree "^1.0.1" + regexpp "^3.1.0" + semver "^7.3.5" + tsutils "^3.21.0" + +"@typescript-eslint/eslint-plugin@5.10.0": + version "5.10.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.10.0.tgz#e90afea96dff8620892ad216b0e4ccdf8ee32d3a" + integrity sha512-XXVKnMsq2fuu9K2KsIxPUGqb6xAImz8MEChClbXmE3VbveFtBUU5bzM6IPVWqzyADIgdkS2Ws/6Xo7W2TeZWjQ== + dependencies: + "@typescript-eslint/scope-manager" "5.10.0" + "@typescript-eslint/type-utils" "5.10.0" + "@typescript-eslint/utils" "5.10.0" + debug "^4.3.2" + functional-red-black-tree "^1.0.1" + ignore "^5.1.8" + regexpp "^3.2.0" + semver "^7.3.5" + tsutils "^3.21.0" + +"@typescript-eslint/experimental-utils@4.28.0": + version "4.28.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/experimental-utils/-/experimental-utils-4.28.0.tgz#13167ed991320684bdc23588135ae62115b30ee0" + integrity sha512-9XD9s7mt3QWMk82GoyUpc/Ji03vz4T5AYlHF9DcoFNfJ/y3UAclRsfGiE2gLfXtyC+JRA3trR7cR296TEb1oiQ== + dependencies: + "@types/json-schema" "^7.0.7" + "@typescript-eslint/scope-manager" "4.28.0" + "@typescript-eslint/types" "4.28.0" + "@typescript-eslint/typescript-estree" "4.28.0" + eslint-scope "^5.1.1" + eslint-utils "^3.0.0" + +"@typescript-eslint/parser@4.28.0": + version "4.28.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-4.28.0.tgz#2404c16751a28616ef3abab77c8e51d680a12caa" + integrity sha512-7x4D22oPY8fDaOCvkuXtYYTQ6mTMmkivwEzS+7iml9F9VkHGbbZ3x4fHRwxAb5KeuSkLqfnYjs46tGx2Nour4A== + dependencies: + "@typescript-eslint/scope-manager" "4.28.0" + "@typescript-eslint/types" "4.28.0" + "@typescript-eslint/typescript-estree" "4.28.0" + debug "^4.3.1" + +"@typescript-eslint/parser@5.10.0": + version "5.10.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-5.10.0.tgz#8f59e036f5f1cffc178cacbd5ccdd02aeb96c91c" + integrity sha512-pJB2CCeHWtwOAeIxv8CHVGJhI5FNyJAIpx5Pt72YkK3QfEzt6qAlXZuyaBmyfOdM62qU0rbxJzNToPTVeJGrQw== + dependencies: + "@typescript-eslint/scope-manager" "5.10.0" + "@typescript-eslint/types" "5.10.0" + "@typescript-eslint/typescript-estree" "5.10.0" + debug "^4.3.2" + +"@typescript-eslint/scope-manager@4.28.0": + version "4.28.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-4.28.0.tgz#6a3009d2ab64a30fc8a1e257a1a320067f36a0ce" + integrity sha512-eCALCeScs5P/EYjwo6se9bdjtrh8ByWjtHzOkC4Tia6QQWtQr3PHovxh3TdYTuFcurkYI4rmFsRFpucADIkseg== + dependencies: + "@typescript-eslint/types" "4.28.0" + "@typescript-eslint/visitor-keys" "4.28.0" + +"@typescript-eslint/scope-manager@5.10.0": + version "5.10.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-5.10.0.tgz#bb5d872e8b9e36203908595507fbc4d3105329cb" + integrity sha512-tgNgUgb4MhqK6DoKn3RBhyZ9aJga7EQrw+2/OiDk5hKf3pTVZWyqBi7ukP+Z0iEEDMF5FDa64LqODzlfE4O/Dg== + dependencies: + "@typescript-eslint/types" "5.10.0" + "@typescript-eslint/visitor-keys" "5.10.0" + +"@typescript-eslint/type-utils@5.10.0": + version "5.10.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/type-utils/-/type-utils-5.10.0.tgz#8524b9479c19c478347a7df216827e749e4a51e5" + integrity sha512-TzlyTmufJO5V886N+hTJBGIfnjQDQ32rJYxPaeiyWKdjsv2Ld5l8cbS7pxim4DeNs62fKzRSt8Q14Evs4JnZyQ== + dependencies: + "@typescript-eslint/utils" "5.10.0" + debug "^4.3.2" + tsutils "^3.21.0" + +"@typescript-eslint/types@4.28.0": + version "4.28.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-4.28.0.tgz#a33504e1ce7ac51fc39035f5fe6f15079d4dafb0" + integrity sha512-p16xMNKKoiJCVZY5PW/AfILw2xe1LfruTcfAKBj3a+wgNYP5I9ZEKNDOItoRt53p4EiPV6iRSICy8EPanG9ZVA== + +"@typescript-eslint/types@5.10.0": + version "5.10.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-5.10.0.tgz#beb3cb345076f5b088afe996d57bcd1dfddaa75c" + integrity sha512-wUljCgkqHsMZbw60IbOqT/puLfyqqD5PquGiBo1u1IS3PLxdi3RDGlyf032IJyh+eQoGhz9kzhtZa+VC4eWTlQ== + +"@typescript-eslint/typescript-estree@4.28.0": + version "4.28.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-4.28.0.tgz#e66d4e5aa2ede66fec8af434898fe61af10c71cf" + integrity sha512-m19UQTRtxMzKAm8QxfKpvh6OwQSXaW1CdZPoCaQuLwAq7VZMNuhJmZR4g5281s2ECt658sldnJfdpSZZaxUGMQ== + dependencies: + "@typescript-eslint/types" "4.28.0" + "@typescript-eslint/visitor-keys" "4.28.0" + debug "^4.3.1" + globby "^11.0.3" + is-glob "^4.0.1" + semver "^7.3.5" + tsutils "^3.21.0" + +"@typescript-eslint/typescript-estree@5.10.0": + version "5.10.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-5.10.0.tgz#4be24a3dea0f930bb1397c46187d0efdd955a224" + integrity sha512-x+7e5IqfwLwsxTdliHRtlIYkgdtYXzE0CkFeV6ytAqq431ZyxCFzNMNR5sr3WOlIG/ihVZr9K/y71VHTF/DUQA== + dependencies: + "@typescript-eslint/types" "5.10.0" + "@typescript-eslint/visitor-keys" "5.10.0" + debug "^4.3.2" + globby "^11.0.4" + is-glob "^4.0.3" + semver "^7.3.5" + tsutils "^3.21.0" + +"@typescript-eslint/utils@5.10.0": + version "5.10.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/utils/-/utils-5.10.0.tgz#c3d152a85da77c400e37281355561c72fb1b5a65" + integrity sha512-IGYwlt1CVcFoE2ueW4/ioEwybR60RAdGeiJX/iDAw0t5w0wK3S7QncDwpmsM70nKgGTuVchEWB8lwZwHqPAWRg== + dependencies: + "@types/json-schema" "^7.0.9" + "@typescript-eslint/scope-manager" "5.10.0" + "@typescript-eslint/types" "5.10.0" + "@typescript-eslint/typescript-estree" "5.10.0" + eslint-scope "^5.1.1" + eslint-utils "^3.0.0" + +"@typescript-eslint/visitor-keys@4.28.0": + version "4.28.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-4.28.0.tgz#255c67c966ec294104169a6939d96f91c8a89434" + integrity sha512-PjJyTWwrlrvM5jazxYF5ZPs/nl0kHDZMVbuIcbpawVXaDPelp3+S9zpOz5RmVUfS/fD5l5+ZXNKnWhNYjPzCvw== + dependencies: + "@typescript-eslint/types" "4.28.0" + eslint-visitor-keys "^2.0.0" + +"@typescript-eslint/visitor-keys@5.10.0": + version "5.10.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-5.10.0.tgz#770215497ad67cd15a572b52089991d5dfe06281" + integrity sha512-GMxj0K1uyrFLPKASLmZzCuSddmjZVbVj3Ouy5QVuIGKZopxvOr24JsS7gruz6C3GExE01mublZ3mIBOaon9zuQ== + dependencies: + "@typescript-eslint/types" "5.10.0" + eslint-visitor-keys "^3.0.0" + +"@webassemblyjs/ast@1.8.5": + version "1.8.5" + resolved "https://registry.yarnpkg.com/@webassemblyjs/ast/-/ast-1.8.5.tgz#51b1c5fe6576a34953bf4b253df9f0d490d9e359" + integrity sha512-aJMfngIZ65+t71C3y2nBBg5FFG0Okt9m0XEgWZ7Ywgn1oMAT8cNwx00Uv1cQyHtidq0Xn94R4TAywO+LCQ+ZAQ== + dependencies: + "@webassemblyjs/helper-module-context" "1.8.5" + "@webassemblyjs/helper-wasm-bytecode" "1.8.5" + "@webassemblyjs/wast-parser" "1.8.5" -escape-html@~1.0.3: - version "1.0.3" - resolved "https://registry.yarnpkg.com/escape-html/-/escape-html-1.0.3.tgz#0258eae4d3d0c0974de1c169188ef0051d1d1988" +"@webassemblyjs/floating-point-hex-parser@1.8.5": + version "1.8.5" + resolved "https://registry.yarnpkg.com/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.8.5.tgz#1ba926a2923613edce496fd5b02e8ce8a5f49721" + integrity sha512-9p+79WHru1oqBh9ewP9zW95E3XAo+90oth7S5Re3eQnECGq59ly1Ri5tsIipKGpiStHsUYmY3zMLqtk3gTcOtQ== -escape-string-regexp@^1.0.2, escape-string-regexp@^1.0.5: - version "1.0.5" - resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz#1b61c0562190a8dff6ae3bb2cf0200ca130b86d4" +"@webassemblyjs/helper-api-error@1.8.5": + version "1.8.5" + resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-api-error/-/helper-api-error-1.8.5.tgz#c49dad22f645227c5edb610bdb9697f1aab721f7" + integrity sha512-Za/tnzsvnqdaSPOUXHyKJ2XI7PDX64kWtURyGiJJZKVEdFOsdKUCPTNEVFZq3zJ2R0G5wc2PZ5gvdTRFgm81zA== -esprima@^2.6.0: - version "2.7.3" - resolved "https://registry.yarnpkg.com/esprima/-/esprima-2.7.3.tgz#96e3b70d5779f6ad49cd032673d1c312767ba581" +"@webassemblyjs/helper-buffer@1.8.5": + version "1.8.5" + resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-buffer/-/helper-buffer-1.8.5.tgz#fea93e429863dd5e4338555f42292385a653f204" + integrity sha512-Ri2R8nOS0U6G49Q86goFIPNgjyl6+oE1abW1pS84BuhP1Qcr5JqMwRFT3Ah3ADDDYGEgGs1iyb1DGX+kAi/c/Q== -eventemitter2@~0.4.13: - version "0.4.14" - resolved "https://registry.yarnpkg.com/eventemitter2/-/eventemitter2-0.4.14.tgz#8f61b75cde012b2e9eb284d4545583b5643b61ab" +"@webassemblyjs/helper-code-frame@1.8.5": + version "1.8.5" + resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-code-frame/-/helper-code-frame-1.8.5.tgz#9a740ff48e3faa3022b1dff54423df9aa293c25e" + integrity sha512-VQAadSubZIhNpH46IR3yWO4kZZjMxN1opDrzePLdVKAZ+DFjkGD/rf4v1jap744uPVU6yjL/smZbRIIJTOUnKQ== + dependencies: + "@webassemblyjs/wast-printer" "1.8.5" -eventemitter3@1.x.x: - version "1.2.0" - resolved "https://registry.yarnpkg.com/eventemitter3/-/eventemitter3-1.2.0.tgz#1c86991d816ad1e504750e73874224ecf3bec508" +"@webassemblyjs/helper-fsm@1.8.5": + version "1.8.5" + resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-fsm/-/helper-fsm-1.8.5.tgz#ba0b7d3b3f7e4733da6059c9332275d860702452" + integrity sha512-kRuX/saORcg8se/ft6Q2UbRpZwP4y7YrWsLXPbbmtepKr22i8Z4O3V5QE9DbZK908dh5Xya4Un57SDIKwB9eow== -execa@^0.8.0: - version "0.8.0" - resolved "https://registry.yarnpkg.com/execa/-/execa-0.8.0.tgz#d8d76bbc1b55217ed190fd6dd49d3c774ecfc8da" +"@webassemblyjs/helper-module-context@1.8.5": + version "1.8.5" + resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-module-context/-/helper-module-context-1.8.5.tgz#def4b9927b0101dc8cbbd8d1edb5b7b9c82eb245" + integrity sha512-/O1B236mN7UNEU4t9X7Pj38i4VoU8CcMHyy3l2cV/kIF4U5KoHXDVqcDuOs1ltkac90IM4vZdHc52t1x8Yfs3g== dependencies: - cross-spawn "^5.0.1" - get-stream "^3.0.0" - is-stream "^1.1.0" - npm-run-path "^2.0.0" - p-finally "^1.0.0" - signal-exit "^3.0.0" - strip-eof "^1.0.0" + "@webassemblyjs/ast" "1.8.5" + mamacro "^0.0.3" -exit@~0.1.1: - version "0.1.2" - resolved "https://registry.yarnpkg.com/exit/-/exit-0.1.2.tgz#0632638f8d877cc82107d30a0fff1a17cba1cd0c" +"@webassemblyjs/helper-wasm-bytecode@1.8.5": + version "1.8.5" + resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.8.5.tgz#537a750eddf5c1e932f3744206551c91c1b93e61" + integrity sha512-Cu4YMYG3Ddl72CbmpjU/wbP6SACcOPVbHN1dI4VJNJVgFwaKf1ppeFJrwydOG3NDHxVGuCfPlLZNyEdIYlQ6QQ== -expand-braces@^0.1.1: - version "0.1.2" - resolved "https://registry.yarnpkg.com/expand-braces/-/expand-braces-0.1.2.tgz#488b1d1d2451cb3d3a6b192cfc030f44c5855fea" +"@webassemblyjs/helper-wasm-section@1.8.5": + version "1.8.5" + resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.8.5.tgz#74ca6a6bcbe19e50a3b6b462847e69503e6bfcbf" + integrity sha512-VV083zwR+VTrIWWtgIUpqfvVdK4ff38loRmrdDBgBT8ADXYsEZ5mPQ4Nde90N3UYatHdYoDIFb7oHzMncI02tA== dependencies: - array-slice "^0.2.3" - array-unique "^0.2.1" - braces "^0.1.2" + "@webassemblyjs/ast" "1.8.5" + "@webassemblyjs/helper-buffer" "1.8.5" + "@webassemblyjs/helper-wasm-bytecode" "1.8.5" + "@webassemblyjs/wasm-gen" "1.8.5" -expand-brackets@^0.1.4: - version "0.1.5" - resolved "https://registry.yarnpkg.com/expand-brackets/-/expand-brackets-0.1.5.tgz#df07284e342a807cd733ac5af72411e581d1177b" +"@webassemblyjs/ieee754@1.8.5": + version "1.8.5" + resolved "https://registry.yarnpkg.com/@webassemblyjs/ieee754/-/ieee754-1.8.5.tgz#712329dbef240f36bf57bd2f7b8fb9bf4154421e" + integrity sha512-aaCvQYrvKbY/n6wKHb/ylAJr27GglahUO89CcGXMItrOBqRarUMxWLJgxm9PJNuKULwN5n1csT9bYoMeZOGF3g== dependencies: - is-posix-bracket "^0.1.0" + "@xtuc/ieee754" "^1.2.0" -expand-range@^0.1.0: - version "0.1.1" - resolved "https://registry.yarnpkg.com/expand-range/-/expand-range-0.1.1.tgz#4cb8eda0993ca56fa4f41fc42f3cbb4ccadff044" +"@webassemblyjs/leb128@1.8.5": + version "1.8.5" + resolved "https://registry.yarnpkg.com/@webassemblyjs/leb128/-/leb128-1.8.5.tgz#044edeb34ea679f3e04cd4fd9824d5e35767ae10" + integrity sha512-plYUuUwleLIziknvlP8VpTgO4kqNaH57Y3JnNa6DLpu/sGcP6hbVdfdX5aHAV716pQBKrfuU26BJK29qY37J7A== dependencies: - is-number "^0.1.1" - repeat-string "^0.2.2" + "@xtuc/long" "4.2.2" -expand-range@^1.8.1: - version "1.8.2" - resolved "https://registry.yarnpkg.com/expand-range/-/expand-range-1.8.2.tgz#a299effd335fe2721ebae8e257ec79644fc85337" +"@webassemblyjs/utf8@1.8.5": + version "1.8.5" + resolved "https://registry.yarnpkg.com/@webassemblyjs/utf8/-/utf8-1.8.5.tgz#a8bf3b5d8ffe986c7c1e373ccbdc2a0915f0cedc" + integrity sha512-U7zgftmQriw37tfD934UNInokz6yTmn29inT2cAetAsaU9YeVCveWEwhKL1Mg4yS7q//NGdzy79nlXh3bT8Kjw== + +"@webassemblyjs/wasm-edit@1.8.5": + version "1.8.5" + resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-edit/-/wasm-edit-1.8.5.tgz#962da12aa5acc1c131c81c4232991c82ce56e01a" + integrity sha512-A41EMy8MWw5yvqj7MQzkDjU29K7UJq1VrX2vWLzfpRHt3ISftOXqrtojn7nlPsZ9Ijhp5NwuODuycSvfAO/26Q== + dependencies: + "@webassemblyjs/ast" "1.8.5" + "@webassemblyjs/helper-buffer" "1.8.5" + "@webassemblyjs/helper-wasm-bytecode" "1.8.5" + "@webassemblyjs/helper-wasm-section" "1.8.5" + "@webassemblyjs/wasm-gen" "1.8.5" + "@webassemblyjs/wasm-opt" "1.8.5" + "@webassemblyjs/wasm-parser" "1.8.5" + "@webassemblyjs/wast-printer" "1.8.5" + +"@webassemblyjs/wasm-gen@1.8.5": + version "1.8.5" + resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-gen/-/wasm-gen-1.8.5.tgz#54840766c2c1002eb64ed1abe720aded714f98bc" + integrity sha512-BCZBT0LURC0CXDzj5FXSc2FPTsxwp3nWcqXQdOZE4U7h7i8FqtFK5Egia6f9raQLpEKT1VL7zr4r3+QX6zArWg== dependencies: - fill-range "^2.1.0" + "@webassemblyjs/ast" "1.8.5" + "@webassemblyjs/helper-wasm-bytecode" "1.8.5" + "@webassemblyjs/ieee754" "1.8.5" + "@webassemblyjs/leb128" "1.8.5" + "@webassemblyjs/utf8" "1.8.5" -expect.js@^0.3.1: - version "0.3.1" - resolved "https://registry.yarnpkg.com/expect.js/-/expect.js-0.3.1.tgz#b0a59a0d2eff5437544ebf0ceaa6015841d09b5b" +"@webassemblyjs/wasm-opt@1.8.5": + version "1.8.5" + resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-opt/-/wasm-opt-1.8.5.tgz#b24d9f6ba50394af1349f510afa8ffcb8a63d264" + integrity sha512-HKo2mO/Uh9A6ojzu7cjslGaHaUU14LdLbGEKqTR7PBKwT6LdPtLLh9fPY33rmr5wcOMrsWDbbdCHq4hQUdd37Q== + dependencies: + "@webassemblyjs/ast" "1.8.5" + "@webassemblyjs/helper-buffer" "1.8.5" + "@webassemblyjs/wasm-gen" "1.8.5" + "@webassemblyjs/wasm-parser" "1.8.5" -extend@^3.0.0, extend@~3.0.0, extend@~3.0.1: - version "3.0.1" - resolved "https://registry.yarnpkg.com/extend/-/extend-3.0.1.tgz#a755ea7bc1adfcc5a31ce7e762dbaadc5e636444" +"@webassemblyjs/wasm-parser@1.8.5": + version "1.8.5" + resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-parser/-/wasm-parser-1.8.5.tgz#21576f0ec88b91427357b8536383668ef7c66b8d" + integrity sha512-pi0SYE9T6tfcMkthwcgCpL0cM9nRYr6/6fjgDtL6q/ZqKHdMWvxitRi5JcZ7RI4SNJJYnYNaWy5UUrHQy998lw== + dependencies: + "@webassemblyjs/ast" "1.8.5" + "@webassemblyjs/helper-api-error" "1.8.5" + "@webassemblyjs/helper-wasm-bytecode" "1.8.5" + "@webassemblyjs/ieee754" "1.8.5" + "@webassemblyjs/leb128" "1.8.5" + "@webassemblyjs/utf8" "1.8.5" -extglob@^0.3.1: - version "0.3.2" - resolved "https://registry.yarnpkg.com/extglob/-/extglob-0.3.2.tgz#2e18ff3d2f49ab2765cec9023f011daa8d8349a1" +"@webassemblyjs/wast-parser@1.8.5": + version "1.8.5" + resolved "https://registry.yarnpkg.com/@webassemblyjs/wast-parser/-/wast-parser-1.8.5.tgz#e10eecd542d0e7bd394f6827c49f3df6d4eefb8c" + integrity sha512-daXC1FyKWHF1i11obK086QRlsMsY4+tIOKgBqI1lxAnkp9xe9YMcgOxm9kLe+ttjs5aWV2KKE1TWJCN57/Btsg== dependencies: - is-extglob "^1.0.0" + "@webassemblyjs/ast" "1.8.5" + "@webassemblyjs/floating-point-hex-parser" "1.8.5" + "@webassemblyjs/helper-api-error" "1.8.5" + "@webassemblyjs/helper-code-frame" "1.8.5" + "@webassemblyjs/helper-fsm" "1.8.5" + "@xtuc/long" "4.2.2" -extract-zip@^1.6.5: - version "1.6.6" - resolved "https://registry.yarnpkg.com/extract-zip/-/extract-zip-1.6.6.tgz#1290ede8d20d0872b429fd3f351ca128ec5ef85c" +"@webassemblyjs/wast-printer@1.8.5": + version "1.8.5" + resolved "https://registry.yarnpkg.com/@webassemblyjs/wast-printer/-/wast-printer-1.8.5.tgz#114bbc481fd10ca0e23b3560fa812748b0bae5bc" + integrity sha512-w0U0pD4EhlnvRyeJzBqaVSJAo9w/ce7/WPogeXLzGkO6hzhr4GnQIZ4W4uUt5b9ooAaXPtnXlj0gzsXEOUNYMg== dependencies: - concat-stream "1.6.0" - debug "2.6.9" - mkdirp "0.5.0" - yauzl "2.4.1" + "@webassemblyjs/ast" "1.8.5" + "@webassemblyjs/wast-parser" "1.8.5" + "@xtuc/long" "4.2.2" -extsprintf@1.3.0: - version "1.3.0" - resolved "https://registry.yarnpkg.com/extsprintf/-/extsprintf-1.3.0.tgz#96918440e3041a7a414f8c52e3c574eb3c3e1e05" +"@wojtekmaj/date-utils@^1.0.2": + version "1.0.3" + resolved "https://registry.yarnpkg.com/@wojtekmaj/date-utils/-/date-utils-1.0.3.tgz#2dcfd92881425c5923e429c2aec86fb3609032a1" + integrity sha512-1VPkkTBk07gMR1fjpBtse4G+oJqpmE+0gUFB0dg3VIL7qJmUVaBoD/vlzMm/jNeOPfvlmerl1lpnsZyBUFIRuw== -extsprintf@^1.2.0: - version "1.4.0" - resolved "https://registry.yarnpkg.com/extsprintf/-/extsprintf-1.4.0.tgz#e2689f8f356fad62cca65a3a91c5df5f9551692f" +"@xobotyi/scrollbar-width@^1.9.5": + version "1.9.5" + resolved "https://registry.yarnpkg.com/@xobotyi/scrollbar-width/-/scrollbar-width-1.9.5.tgz#80224a6919272f405b87913ca13b92929bdf3c4d" + integrity sha512-N8tkAACJx2ww8vFMneJmaAgmjAG1tnVBZJRLRcx061tmsLRZHSEZSLuGWnwPtunsSLvSqXQ2wfp7Mgqg1I+2dQ== -eyes@0.1.x: - version "0.1.8" - resolved "https://registry.yarnpkg.com/eyes/-/eyes-0.1.8.tgz#62cf120234c683785d902348a800ef3e0cc20bc0" +"@xtuc/ieee754@^1.2.0": + version "1.2.0" + resolved "https://registry.yarnpkg.com/@xtuc/ieee754/-/ieee754-1.2.0.tgz#eef014a3145ae477a1cbc00cd1e552336dceb790" + integrity sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA== -fast-deep-equal@^1.0.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/fast-deep-equal/-/fast-deep-equal-1.1.0.tgz#c053477817c86b51daa853c81e059b733d023614" +"@xtuc/long@4.2.2": + version "4.2.2" + resolved "https://registry.yarnpkg.com/@xtuc/long/-/long-4.2.2.tgz#d291c6a4e97989b5c61d9acf396ae4fe133a718d" + integrity sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ== -fast-json-stable-stringify@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/fast-json-stable-stringify/-/fast-json-stable-stringify-2.0.0.tgz#d5142c0caee6b1189f87d3a76111064f86c8bbf2" +abab@^2.0.0, abab@^2.0.3, abab@^2.0.5: + version "2.0.6" + resolved "https://registry.yarnpkg.com/abab/-/abab-2.0.6.tgz#41b80f2c871d19686216b82309231cfd3cb3d291" + integrity sha512-j2afSsaIENvHZN2B8GOpF566vZ5WVk5opAiMTvWgaQT8DkbOqsTfvNAvHoRGU2zzP8cPoqys+xHTRDWW8L+/BA== -faye-websocket@~0.10.0: - version "0.10.0" - resolved "https://registry.yarnpkg.com/faye-websocket/-/faye-websocket-0.10.0.tgz#4e492f8d04dfb6f89003507f6edbf2d501e7c6f4" +abbrev@1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/abbrev/-/abbrev-1.1.1.tgz#f8f2c887ad10bf67f634f005b6987fed3179aac8" + +accepts@1.3.3: + version "1.3.3" + resolved "https://registry.yarnpkg.com/accepts/-/accepts-1.3.3.tgz#c3ca7434938648c3e0d9c1e328dd68b622c284ca" dependencies: - websocket-driver ">=0.5.1" + mime-types "~2.1.11" + negotiator "0.6.1" -fd-slicer@~1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/fd-slicer/-/fd-slicer-1.0.1.tgz#8b5bcbd9ec327c5041bf9ab023fd6750f1177e65" +acorn-globals@^4.3.2: + version "4.3.4" + resolved "https://registry.yarnpkg.com/acorn-globals/-/acorn-globals-4.3.4.tgz#9fa1926addc11c97308c4e66d7add0d40c3272e7" + integrity sha512-clfQEh21R+D0leSbUdWf3OcfqyaCSAQ8Ryq00bofSekfr9W8u1jyYZo6ir0xu9Gtcf7BjcHJpnbZH7JOCpP60A== + dependencies: + acorn "^6.0.1" + acorn-walk "^6.0.1" + +acorn-globals@^6.0.0: + version "6.0.0" + resolved "https://registry.yarnpkg.com/acorn-globals/-/acorn-globals-6.0.0.tgz#46cdd39f0f8ff08a876619b55f5ac8a6dc770b45" + integrity sha512-ZQl7LOWaF5ePqqcX4hLuv/bLXYQNfNWw2c0/yX/TsPRKamzHcTGQnlCjHT3TsmkOUVEPS3crCxiPfdzE/Trlhg== + dependencies: + acorn "^7.1.1" + acorn-walk "^7.1.1" + +acorn-jsx@^5.3.1: + version "5.3.2" + resolved "https://registry.yarnpkg.com/acorn-jsx/-/acorn-jsx-5.3.2.tgz#7ed5bb55908b3b2f1bc55c6af1653bada7f07937" + integrity sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ== + +acorn-walk@^6.0.1: + version "6.2.0" + resolved "https://registry.yarnpkg.com/acorn-walk/-/acorn-walk-6.2.0.tgz#123cb8f3b84c2171f1f7fb252615b1c78a6b1a8c" + integrity sha512-7evsyfH1cLOCdAzZAd43Cic04yKydNx0cF+7tiA19p1XnLLPU4dpCQOqpjqwokFe//vS0QqfqqjCS2JkiIs0cA== + +acorn-walk@^7.1.1: + version "7.2.0" + resolved "https://registry.yarnpkg.com/acorn-walk/-/acorn-walk-7.2.0.tgz#0de889a601203909b0fbe07b8938dc21d2e967bc" + integrity sha512-OPdCF6GsMIP+Az+aWfAAOEt2/+iVDKE7oy6lJ098aoe59oAmK76qV6Gw60SbZ8jHuG2wH058GF4pLFbYamYrVA== + +acorn@^6.0.1, acorn@^6.2.1: + version "6.4.2" + resolved "https://registry.yarnpkg.com/acorn/-/acorn-6.4.2.tgz#35866fd710528e92de10cf06016498e47e39e1e6" + integrity sha512-XtGIhXwF8YM8bJhGxG5kXgjkEuNGLTkoYqVE+KMR+aspr4KGYmKYg7yUe3KghyQ9yheNwLnjmzh/7+gfDBmHCQ== + +acorn@^7.1.0, acorn@^7.1.1, acorn@^7.4.0: + version "7.4.1" + resolved "https://registry.yarnpkg.com/acorn/-/acorn-7.4.1.tgz#feaed255973d2e77555b83dbc08851a6c63520fa" + integrity sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A== + +acorn@^8.2.4: + version "8.7.1" + resolved "https://registry.yarnpkg.com/acorn/-/acorn-8.7.1.tgz#0197122c843d1bf6d0a5e83220a788f278f63c30" + integrity sha512-Xx54uLJQZ19lKygFXOWsscKUbsBZW0CPykPhVQdhIeIwrbPmJzqeASDInc8nKBnp/JT6igTs82qPXz069H8I/A== + +add-dom-event-listener@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/add-dom-event-listener/-/add-dom-event-listener-1.1.0.tgz#6a92db3a0dd0abc254e095c0f1dc14acbbaae310" + integrity sha512-WCxx1ixHT0GQU9hb0KI/mhgRQhnU+U3GvwY6ZvVjYq8rsihIGoaIOUbY0yMPBxLH5MDtr0kz3fisWGNcbWW7Jw== dependencies: - pend "~1.2.0" + object-assign "4.x" -file-sync-cmp@^0.1.0: - version "0.1.1" - resolved "https://registry.yarnpkg.com/file-sync-cmp/-/file-sync-cmp-0.1.1.tgz#a5e7a8ffbfa493b43b923bbd4ca89a53b63b612b" +add-px-to-style@1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/add-px-to-style/-/add-px-to-style-1.0.0.tgz#d0c135441fa8014a8137904531096f67f28f263a" + integrity sha1-0ME1RB+oAUqBN5BFMQlvZ/KPJjo= -filename-regex@^2.0.0: - version "2.0.1" - resolved "https://registry.yarnpkg.com/filename-regex/-/filename-regex-2.0.1.tgz#c1c4b9bee3e09725ddb106b75c1e301fe2f18b26" +address@^1.0.1, address@^1.1.2: + version "1.2.0" + resolved "https://registry.yarnpkg.com/address/-/address-1.2.0.tgz#d352a62c92fee90f89a693eccd2a8b2139ab02d9" + integrity sha512-tNEZYz5G/zYunxFm7sfhAxkXEuLj3K6BKwv6ZURlsF6yiUQ65z0Q2wZW9L5cPUl9ocofGvXOdFYbFHp0+6MOig== -fill-range@^2.1.0: - version "2.2.3" - resolved "https://registry.yarnpkg.com/fill-range/-/fill-range-2.2.3.tgz#50b77dfd7e469bc7492470963699fe7a8485a723" +after@0.8.2: + version "0.8.2" + resolved "https://registry.yarnpkg.com/after/-/after-0.8.2.tgz#fedb394f9f0e02aa9768e702bda23b505fae7e1f" + +agent-base@6: + version "6.0.2" + resolved "https://registry.yarnpkg.com/agent-base/-/agent-base-6.0.2.tgz#49fff58577cfee3f37176feab4c22e00f86d7f77" + integrity sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ== dependencies: - is-number "^2.1.0" - isobject "^2.0.0" - randomatic "^1.1.3" - repeat-element "^1.1.2" - repeat-string "^1.5.2" + debug "4" -finalhandler@1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/finalhandler/-/finalhandler-1.1.0.tgz#ce0b6855b45853e791b2fcc680046d88253dd7f5" +aggregate-error@^3.0.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/aggregate-error/-/aggregate-error-3.1.0.tgz#92670ff50f5359bdb7a3e0d40d0ec30c5737687a" + integrity sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA== dependencies: - debug "2.6.9" - encodeurl "~1.0.1" - escape-html "~1.0.3" - on-finished "~2.3.0" - parseurl "~1.3.2" - statuses "~1.3.1" - unpipe "~1.0.0" + clean-stack "^2.0.0" + indent-string "^4.0.0" -find-up@^1.0.0: - version "1.1.2" - resolved "https://registry.yarnpkg.com/find-up/-/find-up-1.1.2.tgz#6b2e9822b1a2ce0a60ab64d610eccad53cb24d0f" - dependencies: - path-exists "^2.0.0" - pinkie-promise "^2.0.0" +ajv-errors@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/ajv-errors/-/ajv-errors-1.0.1.tgz#f35986aceb91afadec4102fbd85014950cefa64d" + integrity sha512-DCRfO/4nQ+89p/RK43i8Ezd41EqdGIU4ld7nGF8OQ14oc/we5rEntLCUa7+jrn3nn83BosfwZA0wb4pon2o8iQ== -find-up@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/find-up/-/find-up-2.1.0.tgz#45d1b7e506c717ddd482775a2b77920a3c0c57a7" - dependencies: - locate-path "^2.0.0" +ajv-keywords@^3.1.0, ajv-keywords@^3.4.1, ajv-keywords@^3.5.2: + version "3.5.2" + resolved "https://registry.yarnpkg.com/ajv-keywords/-/ajv-keywords-3.5.2.tgz#31f29da5ab6e00d1c2d329acf7b5929614d5014d" + integrity sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ== -findup-sync@~0.3.0: - version "0.3.0" - resolved "https://registry.yarnpkg.com/findup-sync/-/findup-sync-0.3.0.tgz#37930aa5d816b777c03445e1966cc6790a4c0b16" +ajv@^4.9.1: + version "4.11.8" + resolved "https://registry.yarnpkg.com/ajv/-/ajv-4.11.8.tgz#82ffb02b29e662ae53bdc20af15947706739c536" dependencies: - glob "~5.0.0" - -for-in@^1.0.1: - version "1.0.2" - resolved "https://registry.yarnpkg.com/for-in/-/for-in-1.0.2.tgz#81068d295a8142ec0ac726c6e2200c30fb6d5e80" + co "^4.6.0" + json-stable-stringify "^1.0.1" -for-own@^0.1.4: - version "0.1.5" - resolved "https://registry.yarnpkg.com/for-own/-/for-own-0.1.5.tgz#5265c681a4f294dabbf17c9509b6763aa84510ce" +ajv@^5.1.0: + version "5.5.2" + resolved "https://registry.yarnpkg.com/ajv/-/ajv-5.5.2.tgz#73b5eeca3fab653e3d3f9422b341ad42205dc965" dependencies: - for-in "^1.0.1" - -forever-agent@~0.6.1: - version "0.6.1" - resolved "https://registry.yarnpkg.com/forever-agent/-/forever-agent-0.6.1.tgz#fbc71f0c41adeb37f96c577ad1ed42d8fdacca91" + co "^4.6.0" + fast-deep-equal "^1.0.0" + fast-json-stable-stringify "^2.0.0" + json-schema-traverse "^0.3.0" -form-data@~2.1.1: - version "2.1.4" - resolved "https://registry.yarnpkg.com/form-data/-/form-data-2.1.4.tgz#33c183acf193276ecaa98143a69e94bfee1750d1" +ajv@^6.1.0, ajv@^6.10.0, ajv@^6.10.2, ajv@^6.12.2, ajv@^6.12.3, ajv@^6.12.4, ajv@^6.12.5: + version "6.12.6" + resolved "https://registry.yarnpkg.com/ajv/-/ajv-6.12.6.tgz#baf5a62e802b07d977034586f8c3baf5adf26df4" + integrity sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g== dependencies: - asynckit "^0.4.0" - combined-stream "^1.0.5" - mime-types "^2.1.12" + fast-deep-equal "^3.1.1" + fast-json-stable-stringify "^2.0.0" + json-schema-traverse "^0.4.1" + uri-js "^4.2.2" -form-data@~2.3.1: - version "2.3.2" - resolved "https://registry.yarnpkg.com/form-data/-/form-data-2.3.2.tgz#4970498be604c20c005d4f5c23aecd21d6b49099" +ajv@^8.0.1: + version "8.11.0" + resolved "https://registry.yarnpkg.com/ajv/-/ajv-8.11.0.tgz#977e91dd96ca669f54a11e23e378e33b884a565f" + integrity sha512-wGgprdCvMalC0BztXvitD2hC04YffAvtsUn93JbGXYLAtCUO4xd17mCCZQxUOItiBwZvJScWo8NIvQMQ71rdpg== dependencies: - asynckit "^0.4.0" - combined-stream "1.0.6" - mime-types "^2.1.12" + fast-deep-equal "^3.1.1" + json-schema-traverse "^1.0.0" + require-from-string "^2.0.2" + uri-js "^4.2.2" -formatio@1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/formatio/-/formatio-1.2.0.tgz#f3b2167d9068c4698a8d51f4f760a39a54d818eb" - dependencies: - samsam "1.x" +ansi-colors@^3.0.0: + version "3.2.4" + resolved "https://registry.yarnpkg.com/ansi-colors/-/ansi-colors-3.2.4.tgz#e3a3da4bfbae6c86a9c285625de124a234026fbf" + integrity sha512-hHUXGagefjN2iRrID63xckIvotOXOojhQKWIPUZ4mNUZ9nLZW+7FMNoE1lOkEhNWYsx/7ysGIuJYCiMAA9FnrA== -fs-access@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/fs-access/-/fs-access-1.0.1.tgz#d6a87f262271cefebec30c553407fb995da8777a" - dependencies: - null-check "^1.0.0" +ansi-colors@^4.1.1: + version "4.1.1" + resolved "https://registry.yarnpkg.com/ansi-colors/-/ansi-colors-4.1.1.tgz#cbb9ae256bf750af1eab344f229aa27fe94ba348" + integrity sha512-JoX0apGbHaUJBNl6yF+p6JAFYZ666/hhCGKN5t9QFjbJQKUU/g8MNbFDbvfrgKXvI1QpZplPOnwIo99lX/AAmA== -fs-extra@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-1.0.0.tgz#cd3ce5f7e7cb6145883fcae3191e9877f8587950" +ansi-escapes@^4.2.1: + version "4.3.2" + resolved "https://registry.yarnpkg.com/ansi-escapes/-/ansi-escapes-4.3.2.tgz#6b2291d1db7d98b6521d5f1efa42d0f3a9feb65e" + integrity sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ== dependencies: - graceful-fs "^4.1.2" - jsonfile "^2.1.0" - klaw "^1.0.0" - -fs.realpath@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/fs.realpath/-/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f" + type-fest "^0.21.3" -fsevents@^1.0.0: - version "1.1.3" - resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-1.1.3.tgz#11f82318f5fe7bb2cd22965a108e9306208216d8" - dependencies: - nan "^2.3.0" - node-pre-gyp "^0.6.39" +ansi-regex@^2.0.0: + version "2.1.1" + resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-2.1.1.tgz#c3b33ab5ee360d86e0e628f0468ae7ef27d654df" -fstream-ignore@^1.0.5: - version "1.0.5" - resolved "https://registry.yarnpkg.com/fstream-ignore/-/fstream-ignore-1.0.5.tgz#9c31dae34767018fe1d249b24dada67d092da105" - dependencies: - fstream "^1.0.0" - inherits "2" - minimatch "^3.0.0" +ansi-regex@^5.0.0, ansi-regex@^5.0.1: + version "5.0.1" + resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-5.0.1.tgz#082cb2c89c9fe8659a311a53bd6a4dc5301db304" + integrity sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ== -fstream@^1.0.0, fstream@^1.0.10, fstream@^1.0.2: - version "1.0.11" - resolved "https://registry.yarnpkg.com/fstream/-/fstream-1.0.11.tgz#5c1fb1f117477114f0632a0eb4b71b3cb0fd3171" - dependencies: - graceful-fs "^4.1.2" - inherits "~2.0.0" - mkdirp ">=0.5 0" - rimraf "2" +ansi-styles@^2.2.1: + version "2.2.1" + resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-2.2.1.tgz#b432dd3358b634cf75e1e4664368240533c1ddbe" -gauge@~2.7.3: - version "2.7.4" - resolved "https://registry.yarnpkg.com/gauge/-/gauge-2.7.4.tgz#2c03405c7538c39d7eb37b317022e325fb018bf7" +ansi-styles@^3.2.1: + version "3.2.1" + resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-3.2.1.tgz#41fbb20243e50b12be0f04b8dedbf07520ce841d" dependencies: - 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" + color-convert "^1.9.0" -gaze@^1.0.0: - version "1.1.2" - resolved "https://registry.yarnpkg.com/gaze/-/gaze-1.1.2.tgz#847224677adb8870d679257ed3388fdb61e40105" +ansi-styles@^4.0.0, ansi-styles@^4.1.0: + version "4.3.0" + resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-4.3.0.tgz#edd803628ae71c04c85ae7a0906edad34b648937" + integrity sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg== dependencies: - globule "^1.0.0" - -get-stdin@^4.0.1: - version "4.0.1" - resolved "https://registry.yarnpkg.com/get-stdin/-/get-stdin-4.0.1.tgz#b968c6b0a04384324902e8bf1a5df32579a450fe" + color-convert "^2.0.1" -get-stream@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-3.0.0.tgz#8e943d1358dc37555054ecbe2edb05aa174ede14" +ansi-styles@^5.0.0: + version "5.2.0" + resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-5.2.0.tgz#07449690ad45777d1924ac2abb2fc8895dba836b" + integrity sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA== -getobject@~0.1.0: - version "0.1.0" - resolved "https://registry.yarnpkg.com/getobject/-/getobject-0.1.0.tgz#047a449789fa160d018f5486ed91320b6ec7885c" +ansicolor@1.1.100: + version "1.1.100" + resolved "https://registry.yarnpkg.com/ansicolor/-/ansicolor-1.1.100.tgz#811f1afbf726edca3aafb942a14df8351996304a" + integrity sha512-Jl0pxRfa9WaQVUX57AB8/V2my6FJxrOR1Pp2qqFbig20QB4HzUoQ48THTKAgHlUCJeQm/s2WoOPcoIDhyCL/kw== -getpass@^0.1.1: - version "0.1.7" - resolved "https://registry.yarnpkg.com/getpass/-/getpass-0.1.7.tgz#5eff8e3e684d569ae4cb2b1282604e8ba62149fa" +anymatch@*, anymatch@^3.0.0, anymatch@^3.0.3, anymatch@~3.1.2: + version "3.1.2" + resolved "https://registry.yarnpkg.com/anymatch/-/anymatch-3.1.2.tgz#c0557c096af32f106198f4f4e2a383537e378716" + integrity sha512-P43ePfOAIupkguHUycrc4qJ9kz8ZiuOUijaETwX7THt0Y/GNK7v0aa8rY816xWjZ7rJdA5XdMcpVFTKMq+RvWg== dependencies: - assert-plus "^1.0.0" + normalize-path "^3.0.0" + picomatch "^2.0.4" -glob-base@^0.3.0: - version "0.3.0" - resolved "https://registry.yarnpkg.com/glob-base/-/glob-base-0.3.0.tgz#dbb164f6221b1c0b1ccf82aea328b497df0ea3c4" +anymatch@^1.3.0: + version "1.3.2" + resolved "https://registry.yarnpkg.com/anymatch/-/anymatch-1.3.2.tgz#553dcb8f91e3c889845dfdba34c77721b90b9d7a" dependencies: - glob-parent "^2.0.0" - is-glob "^2.0.0" + micromatch "^2.1.5" + normalize-path "^2.0.0" -glob-parent@^2.0.0: +anymatch@^2.0.0: version "2.0.0" - resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-2.0.0.tgz#81383d72db054fcccf5336daa902f182f6edbb28" + resolved "https://registry.yarnpkg.com/anymatch/-/anymatch-2.0.0.tgz#bcb24b4f37934d9aa7ac17b4adaf89e7c76ef2eb" + integrity sha512-5teOsQWABXHHBFP9y3skS5P3d/WfWXpv3FUpy+LorMrNYaT9pI4oLMQX7jzQ2KklNpGpWHzdCXTDT2Y3XGlZBw== dependencies: - is-glob "^2.0.0" + micromatch "^3.1.4" + normalize-path "^2.1.1" -glob@^7.0.5, glob@^7.1.1, glob@~7.1.1: - version "7.1.2" - resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.2.tgz#c19c9df9a028702d678612384a6552404c636d15" - dependencies: - 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" +aproba@^1.0.3, aproba@^1.1.1: + version "1.2.0" + resolved "https://registry.yarnpkg.com/aproba/-/aproba-1.2.0.tgz#6802e6264efd18c790a1b0d517f0f2627bf2c94a" -glob@~5.0.0: - version "5.0.15" - resolved "https://registry.yarnpkg.com/glob/-/glob-5.0.15.tgz#1bc936b9e02f4a603fcc222ecf7633d30b8b93b1" +are-we-there-yet@~1.1.2: + version "1.1.4" + resolved "https://registry.yarnpkg.com/are-we-there-yet/-/are-we-there-yet-1.1.4.tgz#bb5dca382bb94f05e15194373d16fd3ba1ca110d" dependencies: - inflight "^1.0.4" - inherits "2" - minimatch "2 || 3" - once "^1.3.0" - path-is-absolute "^1.0.0" + delegates "^1.0.0" + readable-stream "^2.0.6" -glob@~7.0.0: - version "7.0.6" - resolved "https://registry.yarnpkg.com/glob/-/glob-7.0.6.tgz#211bafaf49e525b8cd93260d14ab136152b3f57a" - dependencies: - fs.realpath "^1.0.0" - inflight "^1.0.4" - inherits "2" - minimatch "^3.0.2" - once "^1.3.0" - path-is-absolute "^1.0.0" +arg@^4.1.0: + version "4.1.3" + resolved "https://registry.yarnpkg.com/arg/-/arg-4.1.3.tgz#269fc7ad5b8e42cb63c896d5666017261c144089" + integrity sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA== -globule@^1.0.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/globule/-/globule-1.2.0.tgz#1dc49c6822dd9e8a2fa00ba2a295006e8664bd09" +argparse@^1.0.2, argparse@^1.0.7: + version "1.0.10" + resolved "https://registry.yarnpkg.com/argparse/-/argparse-1.0.10.tgz#bcd6791ea5ae09725e17e5ad988134cd40b3d911" dependencies: - glob "~7.1.1" - lodash "~4.17.4" - minimatch "~3.0.2" - -graceful-fs@^4.1.2, graceful-fs@^4.1.6, graceful-fs@^4.1.9: - version "4.1.11" - resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.1.11.tgz#0e8bdfe4d1ddb8854d64e04ea7c00e2a026e5658" + sprintf-js "~1.0.2" -"grafana-sdk-mocks@github:grafana/grafana-sdk-mocks": - version "1.0.0" - resolved "https://codeload.github.com/grafana/grafana-sdk-mocks/tar.gz/82d4b132f1ac9761c969c917382d5fb9988ec632" +aria-query@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/aria-query/-/aria-query-5.0.0.tgz#210c21aaf469613ee8c9a62c7f86525e058db52c" + integrity sha512-V+SM7AbUwJ+EBnB8+DXs0hPZHO0W6pqBcc0dW90OwtVG02PswOu/teuARoLQjdDOH+t9pJgGnW5/Qmouf3gPJg== -grunt-cli@~1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/grunt-cli/-/grunt-cli-1.2.0.tgz#562b119ebb069ddb464ace2845501be97b35b6a8" +arr-diff@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/arr-diff/-/arr-diff-2.0.0.tgz#8f3b827f955a8bd669697e4a4256ac3ceae356cf" dependencies: - findup-sync "~0.3.0" - grunt-known-options "~1.1.0" - nopt "~3.0.6" - resolve "~1.1.0" + arr-flatten "^1.0.1" -grunt-contrib-clean@^1.1.0: +arr-diff@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/arr-diff/-/arr-diff-4.0.0.tgz#d6461074febfec71e7e15235761a329a5dc7c520" + integrity sha1-1kYQdP6/7HHn4VI1dhoyml3HxSA= + +arr-flatten@^1.0.1, arr-flatten@^1.1.0: version "1.1.0" - resolved "https://registry.yarnpkg.com/grunt-contrib-clean/-/grunt-contrib-clean-1.1.0.tgz#564abf2d0378a983a15b9e3f30ee75b738c40638" - dependencies: - async "^1.5.2" - rimraf "^2.5.1" + resolved "https://registry.yarnpkg.com/arr-flatten/-/arr-flatten-1.1.0.tgz#36048bbff4e7b47e136644316c99669ea5ae91f1" -grunt-contrib-copy@^1.0.0: +arr-union@^3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/arr-union/-/arr-union-3.1.0.tgz#e39b09aea9def866a8f206e288af63919bae39c4" + integrity sha1-45sJrqne+Gao8gbiiK9jkZuuOcQ= + +array-differ@^1.0.0: version "1.0.0" - resolved "https://registry.yarnpkg.com/grunt-contrib-copy/-/grunt-contrib-copy-1.0.0.tgz#7060c6581e904b8ab0d00f076e0a8f6e3e7c3573" - dependencies: - chalk "^1.1.1" - file-sync-cmp "^0.1.0" + resolved "https://registry.yarnpkg.com/array-differ/-/array-differ-1.0.0.tgz#eff52e3758249d33be402b8bb8e564bb2b5d4031" -grunt-contrib-watch@^1.0.0: +array-equal@^1.0.0: version "1.0.0" - resolved "https://registry.yarnpkg.com/grunt-contrib-watch/-/grunt-contrib-watch-1.0.0.tgz#84a1a7a1d6abd26ed568413496c73133e990018f" - dependencies: - async "^1.5.0" - gaze "^1.0.0" - lodash "^3.10.1" - tiny-lr "^0.2.1" + resolved "https://registry.yarnpkg.com/array-equal/-/array-equal-1.0.0.tgz#8c2a5ef2472fd9ea742b04c77a75093ba2757c93" + integrity sha1-jCpe8kcv2ep0KwTHenUJO6J1fJM= -grunt-known-options@~1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/grunt-known-options/-/grunt-known-options-1.1.0.tgz#a4274eeb32fa765da5a7a3b1712617ce3b144149" +array-find-index@^1.0.1: + version "1.0.2" + resolved "https://registry.yarnpkg.com/array-find-index/-/array-find-index-1.0.2.tgz#df010aa1287e164bbda6f9723b0a96a1ec4187a1" -grunt-legacy-log-utils@~1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/grunt-legacy-log-utils/-/grunt-legacy-log-utils-1.0.0.tgz#a7b8e2d0fb35b5a50f4af986fc112749ebc96f3d" +array-includes@^3.1.4: + version "3.1.4" + resolved "https://registry.yarnpkg.com/array-includes/-/array-includes-3.1.4.tgz#f5b493162c760f3539631f005ba2bb46acb45ba9" + integrity sha512-ZTNSQkmWumEbiHO2GF4GmWxYVTiQyJy2XOTa15sdQSrvKn7l+180egQMqlrMOUMCyLMD7pmyQe4mMDUT6Behrw== dependencies: - chalk "~1.1.1" - lodash "~4.3.0" + call-bind "^1.0.2" + define-properties "^1.1.3" + es-abstract "^1.19.1" + get-intrinsic "^1.1.1" + is-string "^1.0.7" -grunt-legacy-log@~1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/grunt-legacy-log/-/grunt-legacy-log-1.0.1.tgz#c7731b2745f4732aa9950ee4d7ae63c553f68469" - dependencies: - colors "~1.1.2" - grunt-legacy-log-utils "~1.0.0" - hooker "~0.2.3" - lodash "~4.17.5" - underscore.string "~3.3.4" +array-slice@^0.2.3: + version "0.2.3" + resolved "https://registry.yarnpkg.com/array-slice/-/array-slice-0.2.3.tgz#dd3cfb80ed7973a75117cdac69b0b99ec86186f5" -grunt-legacy-util@~1.0.0: +array-tree-filter@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/array-tree-filter/-/array-tree-filter-2.1.0.tgz#873ac00fec83749f255ac8dd083814b4f6329190" + integrity sha512-4ROwICNlNw/Hqa9v+rk5h22KjmzB1JGTMVKP2AKJBOCgb0yL0ASf0+YvCcLNNwquOHNX48jkeZIJ3a+oOQqKcw== + +array-union@^1.0.1: + version "1.0.2" + resolved "https://registry.yarnpkg.com/array-union/-/array-union-1.0.2.tgz#9a34410e4f4e3da23dea375be5be70f24778ec39" + dependencies: + array-uniq "^1.0.1" + +array-union@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/array-union/-/array-union-2.1.0.tgz#b798420adbeb1de828d84acd8a2e23d3efe85e8d" + integrity sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw== + +array-uniq@^1.0.1: + version "1.0.3" + resolved "https://registry.yarnpkg.com/array-uniq/-/array-uniq-1.0.3.tgz#af6ac877a25cc7f74e058894753858dfdb24fdb6" + +array-unique@^0.2.1: + version "0.2.1" + resolved "https://registry.yarnpkg.com/array-unique/-/array-unique-0.2.1.tgz#a1d97ccafcbc2625cc70fadceb36a50c58b01a53" + +array-unique@^0.3.2: + version "0.3.2" + resolved "https://registry.yarnpkg.com/array-unique/-/array-unique-0.3.2.tgz#a894b75d4bc4f6cd679ef3244a9fd8f46ae2d428" + integrity sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg= + +array.prototype.flatmap@^1.2.5: + version "1.3.0" + resolved "https://registry.yarnpkg.com/array.prototype.flatmap/-/array.prototype.flatmap-1.3.0.tgz#a7e8ed4225f4788a70cd910abcf0791e76a5534f" + integrity sha512-PZC9/8TKAIxcWKdyeb77EzULHPrIX/tIZebLJUQOMR1OwYosT8yggdfWScfTBCDj5utONvOuPQQumYsU2ULbkg== + dependencies: + call-bind "^1.0.2" + define-properties "^1.1.3" + es-abstract "^1.19.2" + es-shim-unscopables "^1.0.0" + +arraybuffer.slice@0.0.6: + version "0.0.6" + resolved "https://registry.yarnpkg.com/arraybuffer.slice/-/arraybuffer.slice-0.0.6.tgz#f33b2159f0532a3f3107a272c0ccfbd1ad2979ca" + +arrify@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/arrify/-/arrify-1.0.1.tgz#898508da2226f380df904728456849c1501a4b0d" + +asn1.js@^5.2.0: + version "5.4.1" + resolved "https://registry.yarnpkg.com/asn1.js/-/asn1.js-5.4.1.tgz#11a980b84ebb91781ce35b0fdc2ee294e3783f07" + integrity sha512-+I//4cYPccV8LdmBLiX8CYvf9Sp3vQsrqu2QNXRcrbiWvcx/UdlFiqUJJzxRQxgsZmvhXhn4cSKeSmoFjVdupA== + dependencies: + bn.js "^4.0.0" + inherits "^2.0.1" + minimalistic-assert "^1.0.0" + safer-buffer "^2.1.0" + +asn1@~0.2.3: + version "0.2.3" + resolved "https://registry.yarnpkg.com/asn1/-/asn1-0.2.3.tgz#dac8787713c9966849fc8180777ebe9c1ddf3b86" + +assert-plus@1.0.0, assert-plus@^1.0.0: version "1.0.0" - resolved "https://registry.yarnpkg.com/grunt-legacy-util/-/grunt-legacy-util-1.0.0.tgz#386aa78dc6ed50986c2b18957265b1b48abb9b86" + resolved "https://registry.yarnpkg.com/assert-plus/-/assert-plus-1.0.0.tgz#f12e0f3c5d77b0b1cdd9146942e4e96c1e4dd525" + +assert-plus@^0.2.0: + version "0.2.0" + resolved "https://registry.yarnpkg.com/assert-plus/-/assert-plus-0.2.0.tgz#d74e1b87e7affc0db8aadb7021f3fe48101ab234" + +assert@^1.1.1: + version "1.5.0" + resolved "https://registry.yarnpkg.com/assert/-/assert-1.5.0.tgz#55c109aaf6e0aefdb3dc4b71240c70bf574b18eb" + integrity sha512-EDsgawzwoun2CZkCgtxJbv392v4nbk9XDD06zI+kQYoBM/3RBWLlEyJARDOmhAAosBjWACEkKL6S+lIZtcAubA== dependencies: - async "~1.5.2" - exit "~0.1.1" - getobject "~0.1.0" - hooker "~0.2.3" - lodash "~4.3.0" - underscore.string "~3.2.3" - which "~1.2.1" + object-assign "^4.1.1" + util "0.10.3" -grunt-string-replace@^1.3: - version "1.3.1" - resolved "https://registry.yarnpkg.com/grunt-string-replace/-/grunt-string-replace-1.3.1.tgz#633a03bc78482a0e0e1f9df7f645811fc1fbb162" +assign-symbols@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/assign-symbols/-/assign-symbols-1.0.0.tgz#59667f41fadd4f20ccbc2bb96b8d4f7f78ec0367" + integrity sha1-WWZ/QfrdTyDMvCu5a41Pf3jsA2c= + +ast-types@0.9.6: + version "0.9.6" + resolved "https://registry.yarnpkg.com/ast-types/-/ast-types-0.9.6.tgz#102c9e9e9005d3e7e3829bf0c4fa24ee862ee9b9" + integrity sha1-ECyenpAF0+fjgpvwxPok7oYu6bk= + +astral-regex@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/astral-regex/-/astral-regex-2.0.0.tgz#483143c567aeed4785759c0865786dc77d7d2e31" + integrity sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ== + +async-each@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/async-each/-/async-each-1.0.1.tgz#19d386a1d9edc6e7c1c85d388aedbcc56d33602d" + +async-each@^1.0.1: + version "1.0.3" + resolved "https://registry.yarnpkg.com/async-each/-/async-each-1.0.3.tgz#b727dbf87d7651602f06f4d4ac387f47d91b0cbf" + integrity sha512-z/WhQ5FPySLdvREByI2vZiTWwCnF0moMJ1hK9YQwDTHKh6I7/uSckMetoRGb5UBZPC1z0jlw+n/XCgjeH7y1AQ== + +async@^1.5.0, async@^1.5.2, async@~1.5.2: + version "1.5.2" + resolved "https://registry.yarnpkg.com/async/-/async-1.5.2.tgz#ec6a61ae56480c0c3cb241c95618e20892f9672a" + +async@^2.0.0: + version "2.6.0" + resolved "https://registry.yarnpkg.com/async/-/async-2.6.0.tgz#61a29abb6fcc026fea77e56d1c6ec53a795951f4" dependencies: - async "^2.0.0" - chalk "^1.0.0" + lodash "^4.14.0" -grunt-typescript@^0.8.0: - version "0.8.0" - resolved "https://registry.yarnpkg.com/grunt-typescript/-/grunt-typescript-0.8.0.tgz#22bdd43ffc59adee9bcd274d32a0b83ca5500290" +async@~1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/async/-/async-1.0.0.tgz#f8fc04ca3a13784ade9e1641af98578cfbd647a9" + +asynckit@^0.4.0: + version "0.4.0" + resolved "https://registry.yarnpkg.com/asynckit/-/asynckit-0.4.0.tgz#c79ed97f7f34cb8f2ba1bc9790bcc366474b4b79" + +at-least-node@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/at-least-node/-/at-least-node-1.0.0.tgz#602cd4b46e844ad4effc92a8011a3c46e0238dc2" + integrity sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg== + +atob@^2.1.2: + version "2.1.2" + resolved "https://registry.yarnpkg.com/atob/-/atob-2.1.2.tgz#6d9517eb9e030d2436666651e86bd9f6f13533c9" + integrity sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg== + +attr-accept@^2.2.2: + version "2.2.2" + resolved "https://registry.yarnpkg.com/attr-accept/-/attr-accept-2.2.2.tgz#646613809660110749e92f2c10833b70968d929b" + integrity sha512-7prDjvt9HmqiZ0cl5CRjtS84sEyhsHP2coDkaZKRKVfCDo9s7iw7ChVmar78Gu9pC4SoR/28wFu/G5JJhTnqEg== + +autoprefixer@^9.6.1: + version "9.8.8" + resolved "https://registry.yarnpkg.com/autoprefixer/-/autoprefixer-9.8.8.tgz#fd4bd4595385fa6f06599de749a4d5f7a474957a" + integrity sha512-eM9d/swFopRt5gdJ7jrpCwgvEMIayITpojhkkSMRsFHYuH5bkSQ4p/9qTEHtmNudUZh22Tehu7I6CxAW0IXTKA== + dependencies: + browserslist "^4.12.0" + caniuse-lite "^1.0.30001109" + normalize-range "^0.1.2" + num2fraction "^1.2.2" + picocolors "^0.2.1" + postcss "^7.0.32" + postcss-value-parser "^4.1.0" + +aws-sign2@~0.6.0: + version "0.6.0" + resolved "https://registry.yarnpkg.com/aws-sign2/-/aws-sign2-0.6.0.tgz#14342dd38dbcc94d0e5b87d763cd63612c0e794f" + +aws-sign2@~0.7.0: + version "0.7.0" + resolved "https://registry.yarnpkg.com/aws-sign2/-/aws-sign2-0.7.0.tgz#b46e890934a9591f2d2f6f86d7e6a9f1b3fe76a8" + +aws4@^1.2.1, aws4@^1.6.0: + version "1.6.0" + resolved "https://registry.yarnpkg.com/aws4/-/aws4-1.6.0.tgz#83ef5ca860b2b32e4a0deedee8c771b9db57471e" + +aws4@^1.8.0: + version "1.11.0" + resolved "https://registry.yarnpkg.com/aws4/-/aws4-1.11.0.tgz#d61f46d83b2519250e2784daf5b09479a8b41c59" + integrity sha512-xh1Rl34h6Fi1DC2WWKfxUTVqRsNnr6LsKz2+hfwDxQJWmrx8+c7ylaqBMcHfl1U1r2dsifOvKX3LQuLNZ+XSvA== + +axios@0.21.2: + version "0.21.2" + resolved "https://registry.yarnpkg.com/axios/-/axios-0.21.2.tgz#21297d5084b2aeeb422f5d38e7be4fbb82239017" + integrity sha512-87otirqUw3e8CzHTMO+/9kh/FSgXt/eVDvipijwDtEuwbkySWZ9SBm6VEubmJ/kLKEoLQV/POhxXFb66bfekfg== + dependencies: + follow-redirects "^1.14.0" + +babel-jest@26.6.3, babel-jest@^26.6.3: + version "26.6.3" + resolved "https://registry.yarnpkg.com/babel-jest/-/babel-jest-26.6.3.tgz#d87d25cb0037577a0c89f82e5755c5d293c01056" + integrity sha512-pl4Q+GAVOHwvjrck6jKjvmGhnO3jHX/xuB9d27f+EJZ/6k+6nMuPjorrYp7s++bKKdANwzElBWnLWaObvTnaZA== + dependencies: + "@jest/transform" "^26.6.2" + "@jest/types" "^26.6.2" + "@types/babel__core" "^7.1.7" + babel-plugin-istanbul "^6.0.0" + babel-preset-jest "^26.6.2" + chalk "^4.0.0" + graceful-fs "^4.2.4" + slash "^3.0.0" + +babel-loader@8.2.2: + version "8.2.2" + resolved "https://registry.yarnpkg.com/babel-loader/-/babel-loader-8.2.2.tgz#9363ce84c10c9a40e6c753748e1441b60c8a0b81" + integrity sha512-JvTd0/D889PQBtUXJ2PXaKU/pjZDMtHA9V2ecm+eNRmmBCMR09a+fmpGTNwnJtFmFl5Ei7Vy47LjBb+L0wQ99g== + dependencies: + find-cache-dir "^3.3.1" + loader-utils "^1.4.0" + make-dir "^3.1.0" + schema-utils "^2.6.5" + +babel-plugin-angularjs-annotate@0.10.0: + version "0.10.0" + resolved "https://registry.yarnpkg.com/babel-plugin-angularjs-annotate/-/babel-plugin-angularjs-annotate-0.10.0.tgz#4213b3aaae494a087aad0b8237c5d0716d22ca76" + integrity sha512-NPE7FOAxcLPCUR/kNkrhHIjoScR3RyIlRH3yRn79j8EZWtpILVnCOdA9yKfsOmRh6BHnLHKl8ZAThc+YDd/QwQ== dependencies: - bluebird "~2.9.34" - chokidar "^1.0.5" - typescript "1.6.2" + "@babel/code-frame" "^7.0.0" + "@babel/types" "^7.2.0" + simple-is "~0.2.0" + +babel-plugin-dynamic-import-node@^2.3.3: + version "2.3.3" + resolved "https://registry.yarnpkg.com/babel-plugin-dynamic-import-node/-/babel-plugin-dynamic-import-node-2.3.3.tgz#84fda19c976ec5c6defef57f9427b3def66e17a3" + integrity sha512-jZVI+s9Zg3IqA/kdi0i6UDCybUI3aSBLnglhYbSSjKlV7yF1F/5LWv8MakQmvYpnbJDS6fcBL2KzHSxNCMtWSQ== + dependencies: + object.assign "^4.1.0" + +babel-plugin-istanbul@^5.1.0: + version "5.2.0" + resolved "https://registry.yarnpkg.com/babel-plugin-istanbul/-/babel-plugin-istanbul-5.2.0.tgz#df4ade83d897a92df069c4d9a25cf2671293c854" + integrity sha512-5LphC0USA8t4i1zCtjbbNb6jJj/9+X6P37Qfirc/70EQ34xKlMW+a1RHGwxGI+SwWpNwZ27HqvzAobeqaXwiZw== + dependencies: + "@babel/helper-plugin-utils" "^7.0.0" + find-up "^3.0.0" + istanbul-lib-instrument "^3.3.0" + test-exclude "^5.2.3" + +babel-plugin-istanbul@^6.0.0: + version "6.1.1" + resolved "https://registry.yarnpkg.com/babel-plugin-istanbul/-/babel-plugin-istanbul-6.1.1.tgz#fa88ec59232fd9b4e36dbbc540a8ec9a9b47da73" + integrity sha512-Y1IQok9821cC9onCx5otgFfRm7Lm+I+wwxOx738M/WLPZ9Q42m4IG5W0FNX8WLL2gYMZo3JkuXIH2DOpWM+qwA== + dependencies: + "@babel/helper-plugin-utils" "^7.0.0" + "@istanbuljs/load-nyc-config" "^1.0.0" + "@istanbuljs/schema" "^0.1.2" + istanbul-lib-instrument "^5.0.4" + test-exclude "^6.0.0" + +babel-plugin-jest-hoist@^26.6.2: + version "26.6.2" + resolved "https://registry.yarnpkg.com/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-26.6.2.tgz#8185bd030348d254c6d7dd974355e6a28b21e62d" + integrity sha512-PO9t0697lNTmcEHH69mdtYiOIkkOlj9fySqfO3K1eCcdISevLAE0xY59VLLUj0SoiPiTX/JU2CYFpILydUa5Lw== + dependencies: + "@babel/template" "^7.3.3" + "@babel/types" "^7.3.3" + "@types/babel__core" "^7.0.0" + "@types/babel__traverse" "^7.0.6" + +babel-plugin-macros@^2.6.1: + version "2.8.0" + resolved "https://registry.yarnpkg.com/babel-plugin-macros/-/babel-plugin-macros-2.8.0.tgz#0f958a7cc6556b1e65344465d99111a1e5e10138" + integrity sha512-SEP5kJpfGYqYKpBrj5XU3ahw5p5GOHJ0U5ssOSQ/WBVdwkD2Dzlce95exQTs3jOVWPPKLBN2rlEWkCK7dSmLvg== + dependencies: + "@babel/runtime" "^7.7.2" + cosmiconfig "^6.0.0" + resolve "^1.12.0" + +babel-plugin-polyfill-corejs2@^0.1.4: + version "0.1.10" + resolved "https://registry.yarnpkg.com/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.1.10.tgz#a2c5c245f56c0cac3dbddbf0726a46b24f0f81d1" + integrity sha512-DO95wD4g0A8KRaHKi0D51NdGXzvpqVLnLu5BTvDlpqUEpTmeEtypgC1xqesORaWmiUOQI14UHKlzNd9iZ2G3ZA== + dependencies: + "@babel/compat-data" "^7.13.0" + "@babel/helper-define-polyfill-provider" "^0.1.5" + semver "^6.1.1" + +babel-plugin-polyfill-corejs3@^0.1.3: + version "0.1.7" + resolved "https://registry.yarnpkg.com/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.1.7.tgz#80449d9d6f2274912e05d9e182b54816904befd0" + integrity sha512-u+gbS9bbPhZWEeyy1oR/YaaSpod/KDT07arZHb80aTpl8H5ZBq+uN1nN9/xtX7jQyfLdPfoqI4Rue/MQSWJquw== + dependencies: + "@babel/helper-define-polyfill-provider" "^0.1.5" + core-js-compat "^3.8.1" + +babel-plugin-polyfill-regenerator@^0.1.2: + version "0.1.6" + resolved "https://registry.yarnpkg.com/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.1.6.tgz#0fe06a026fe0faa628ccc8ba3302da0a6ce02f3f" + integrity sha512-OUrYG9iKPKz8NxswXbRAdSwF0GhRdIEMTloQATJi4bDuFqrXaXcCUT/VGNrr8pBcjMh1RxZ7Xt9cytVJTJfvMg== + dependencies: + "@babel/helper-define-polyfill-provider" "^0.1.5" + +babel-preset-current-node-syntax@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/babel-preset-current-node-syntax/-/babel-preset-current-node-syntax-1.0.1.tgz#b4399239b89b2a011f9ddbe3e4f401fc40cff73b" + integrity sha512-M7LQ0bxarkxQoN+vz5aJPsLBn77n8QgTFmo8WK0/44auK2xlCXrYcUxHFxgU7qW5Yzw/CjmLRK2uJzaCd7LvqQ== + dependencies: + "@babel/plugin-syntax-async-generators" "^7.8.4" + "@babel/plugin-syntax-bigint" "^7.8.3" + "@babel/plugin-syntax-class-properties" "^7.8.3" + "@babel/plugin-syntax-import-meta" "^7.8.3" + "@babel/plugin-syntax-json-strings" "^7.8.3" + "@babel/plugin-syntax-logical-assignment-operators" "^7.8.3" + "@babel/plugin-syntax-nullish-coalescing-operator" "^7.8.3" + "@babel/plugin-syntax-numeric-separator" "^7.8.3" + "@babel/plugin-syntax-object-rest-spread" "^7.8.3" + "@babel/plugin-syntax-optional-catch-binding" "^7.8.3" + "@babel/plugin-syntax-optional-chaining" "^7.8.3" + "@babel/plugin-syntax-top-level-await" "^7.8.3" + +babel-preset-jest@^26.6.2: + version "26.6.2" + resolved "https://registry.yarnpkg.com/babel-preset-jest/-/babel-preset-jest-26.6.2.tgz#747872b1171df032252426586881d62d31798fee" + integrity sha512-YvdtlVm9t3k777c5NPQIv6cxFFFapys25HiUmuSgHwIZhfifweR5c5Sf5nwE3MAbfu327CYSvps8Yx6ANLyleQ== + dependencies: + babel-plugin-jest-hoist "^26.6.2" + babel-preset-current-node-syntax "^1.0.0" + +babel-runtime@6.x, babel-runtime@^6.26.0: + version "6.26.0" + resolved "https://registry.yarnpkg.com/babel-runtime/-/babel-runtime-6.26.0.tgz#965c7058668e82b55d7bfe04ff2337bc8b5647fe" + integrity sha1-llxwWGaOgrVde/4E/yM3vItWR/4= + dependencies: + core-js "^2.4.0" + regenerator-runtime "^0.11.0" + +backo2@1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/backo2/-/backo2-1.0.2.tgz#31ab1ac8b129363463e35b3ebb69f4dfcfba7947" + +balanced-match@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.0.tgz#89b4d199ab2bee49de164ea02b89ce462d71b767" + +base64-arraybuffer@0.1.5: + version "0.1.5" + resolved "https://registry.yarnpkg.com/base64-arraybuffer/-/base64-arraybuffer-0.1.5.tgz#73926771923b5a19747ad666aa5cd4bf9c6e9ce8" + +base64-js@^1.0.2, base64-js@^1.3.1: + version "1.5.1" + resolved "https://registry.yarnpkg.com/base64-js/-/base64-js-1.5.1.tgz#1b1b440160a5bf7ad40b650f095963481903930a" + integrity sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA== + +base64id@1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/base64id/-/base64id-1.0.0.tgz#47688cb99bb6804f0e06d3e763b1c32e57d8e6b6" + +base@^0.11.1: + version "0.11.2" + resolved "https://registry.yarnpkg.com/base/-/base-0.11.2.tgz#7bde5ced145b6d551a90db87f83c558b4eb48a8f" + integrity sha512-5T6P4xPgpp0YDFvSWwEZ4NoE3aM4QBQXDzmVbraCkFj8zHM+mba8SyqB5DbZWyR7mYHo6Y7BdQo3MoA4m0TeQg== + dependencies: + 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" + +bcrypt-pbkdf@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.1.tgz#63bc5dcb61331b92bc05fd528953c33462a06f8d" + dependencies: + tweetnacl "^0.14.3" + +better-assert@~1.0.0: + version "1.0.2" + resolved "https://registry.yarnpkg.com/better-assert/-/better-assert-1.0.2.tgz#40866b9e1b9e0b55b481894311e68faffaebc522" + dependencies: + callsite "1.0.0" + +big.js@^3.1.3: + version "3.2.0" + resolved "https://registry.yarnpkg.com/big.js/-/big.js-3.2.0.tgz#a5fc298b81b9e0dca2e458824784b65c52ba588e" + integrity sha512-+hN/Zh2D08Mx65pZ/4g5bsmNiZUuChDiQfTUQ7qJr4/kuopCr88xZsAXv6mBoZEsUI4OuGHlX59qE94K2mMW8Q== + +big.js@^5.2.2: + version "5.2.2" + resolved "https://registry.yarnpkg.com/big.js/-/big.js-5.2.2.tgz#65f0af382f578bcdc742bd9c281e9cb2d7768328" + integrity sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ== + +binary-extensions@^1.0.0: + version "1.11.0" + resolved "https://registry.yarnpkg.com/binary-extensions/-/binary-extensions-1.11.0.tgz#46aa1751fb6a2f93ee5e689bb1087d4b14c6c205" + +binary-extensions@^2.0.0: + version "2.2.0" + resolved "https://registry.yarnpkg.com/binary-extensions/-/binary-extensions-2.2.0.tgz#75f502eeaf9ffde42fc98829645be4ea76bd9e2d" + integrity sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA== + +bindings@^1.5.0: + version "1.5.0" + resolved "https://registry.yarnpkg.com/bindings/-/bindings-1.5.0.tgz#10353c9e945334bc0511a6d90b38fbc7c9c504df" + integrity sha512-p2q/t/mhvuOj/UeLlV6566GD/guowlr0hHxClI0W9m7MWYkL1F0hLo+0Aexs9HSPCtR1SXQ0TD3MMKrXZajbiQ== + dependencies: + file-uri-to-path "1.0.0" + +bl@^4.1.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/bl/-/bl-4.1.0.tgz#451535264182bec2fbbc83a62ab98cf11d9f7b3a" + integrity sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w== + dependencies: + buffer "^5.5.0" + inherits "^2.0.4" + readable-stream "^3.4.0" + +blob@0.0.4: + version "0.0.4" + resolved "https://registry.yarnpkg.com/blob/-/blob-0.0.4.tgz#bcf13052ca54463f30f9fc7e95b9a47630a94921" + +block-stream@*: + version "0.0.9" + resolved "https://registry.yarnpkg.com/block-stream/-/block-stream-0.0.9.tgz#13ebfe778a03205cfe03751481ebb4b3300c126a" + dependencies: + inherits "~2.0.0" + +bluebird@^3.3.0: + version "3.5.1" + resolved "https://registry.yarnpkg.com/bluebird/-/bluebird-3.5.1.tgz#d9551f9de98f1fcda1e683d17ee91a0602ee2eb9" + +bluebird@^3.5.5: + version "3.7.2" + resolved "https://registry.yarnpkg.com/bluebird/-/bluebird-3.7.2.tgz#9f229c15be272454ffa973ace0dbee79a1b0c36f" + integrity sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg== + +bluebird@~2.9.34: + version "2.9.34" + resolved "https://registry.yarnpkg.com/bluebird/-/bluebird-2.9.34.tgz#2f7b4ec80216328a9fddebdf69c8d4942feff7d8" + +bn.js@^4.0.0, bn.js@^4.1.0, bn.js@^4.11.9: + version "4.12.0" + resolved "https://registry.yarnpkg.com/bn.js/-/bn.js-4.12.0.tgz#775b3f278efbb9718eec7361f483fb36fbbfea88" + integrity sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA== + +bn.js@^5.0.0, bn.js@^5.1.1: + version "5.2.0" + resolved "https://registry.yarnpkg.com/bn.js/-/bn.js-5.2.0.tgz#358860674396c6997771a9d051fcc1b57d4ae002" + integrity sha512-D7iWRBvnZE8ecXiLj/9wbxH7Tk79fAh8IHaTNq1RWRixsS02W+5qS+iE9yq6RYl0asXx5tw0bLhmT5pIfbSquw== + +body-parser@^1.16.1: + version "1.18.2" + resolved "https://registry.yarnpkg.com/body-parser/-/body-parser-1.18.2.tgz#87678a19d84b47d859b83199bd59bce222b10454" + dependencies: + bytes "3.0.0" + content-type "~1.0.4" + debug "2.6.9" + depd "~1.1.1" + http-errors "~1.6.2" + iconv-lite "0.4.19" + on-finished "~2.3.0" + qs "6.5.1" + raw-body "2.3.2" + type-is "~1.6.15" + +body-parser@~1.14.0: + version "1.14.2" + resolved "https://registry.yarnpkg.com/body-parser/-/body-parser-1.14.2.tgz#1015cb1fe2c443858259581db53332f8d0cf50f9" + dependencies: + bytes "2.2.0" + content-type "~1.0.1" + debug "~2.2.0" + depd "~1.1.0" + http-errors "~1.3.1" + iconv-lite "0.4.13" + on-finished "~2.3.0" + qs "5.2.0" + raw-body "~2.1.5" + type-is "~1.6.10" + +boolbase@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/boolbase/-/boolbase-1.0.0.tgz#68dff5fbe60c51eb37725ea9e3ed310dcc1e776e" + integrity sha1-aN/1++YMUes3cl6p4+0xDcwed24= + +boom@2.x.x: + version "2.10.1" + resolved "https://registry.yarnpkg.com/boom/-/boom-2.10.1.tgz#39c8918ceff5799f83f9492a848f625add0c766f" + dependencies: + hoek "2.x.x" + +boom@4.x.x: + version "4.3.1" + resolved "https://registry.yarnpkg.com/boom/-/boom-4.3.1.tgz#4f8a3005cb4a7e3889f749030fd25b96e01d2e31" + dependencies: + hoek "4.x.x" + +boom@5.x.x: + version "5.2.0" + resolved "https://registry.yarnpkg.com/boom/-/boom-5.2.0.tgz#5dd9da6ee3a5f302077436290cb717d3f4a54e02" + dependencies: + hoek "4.x.x" + +brace-expansion@^1.1.7: + version "1.1.11" + resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-1.1.11.tgz#3c7fcbf529d87226f3d2f52b966ff5271eb441dd" + dependencies: + balanced-match "^1.0.0" + concat-map "0.0.1" + +braces@^0.1.2: + version "0.1.5" + resolved "https://registry.yarnpkg.com/braces/-/braces-0.1.5.tgz#c085711085291d8b75fdd74eab0f8597280711e6" + dependencies: + expand-range "^0.1.0" + +braces@^1.8.2: + version "1.8.5" + resolved "https://registry.yarnpkg.com/braces/-/braces-1.8.5.tgz#ba77962e12dff969d6b76711e914b737857bf6a7" + dependencies: + expand-range "^1.8.1" + preserve "^0.2.0" + repeat-element "^1.1.2" + +braces@^2.3.1, braces@^2.3.2: + version "2.3.2" + resolved "https://registry.yarnpkg.com/braces/-/braces-2.3.2.tgz#5979fd3f14cd531565e5fa2df1abfff1dfaee729" + integrity sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w== + dependencies: + 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" + +braces@^3.0.2, braces@~3.0.2: + version "3.0.2" + resolved "https://registry.yarnpkg.com/braces/-/braces-3.0.2.tgz#3454e1a462ee8d599e236df336cd9ea4f8afe107" + integrity sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A== + dependencies: + fill-range "^7.0.1" + +brorand@^1.0.1, brorand@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/brorand/-/brorand-1.1.0.tgz#12c25efe40a45e3c323eb8675a0a0ce57b22371f" + integrity sha1-EsJe/kCkXjwyPrhnWgoM5XsiNx8= + +browser-process-hrtime@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/browser-process-hrtime/-/browser-process-hrtime-1.0.0.tgz#3c9b4b7d782c8121e56f10106d84c0d0ffc94626" + integrity sha512-9o5UecI3GhkpM6DrXr69PblIuWxPKk9Y0jHBRhdocZ2y7YECBFCsHm79Pr3OyR2AvjhDkabFJaDJMYRazHgsow== + +browserify-aes@^1.0.0, browserify-aes@^1.0.4: + version "1.2.0" + resolved "https://registry.yarnpkg.com/browserify-aes/-/browserify-aes-1.2.0.tgz#326734642f403dabc3003209853bb70ad428ef48" + integrity sha512-+7CHXqGuspUn/Sl5aO7Ea0xWGAtETPXNSAjHo48JfLdPWcMng33Xe4znFvQweqc/uzk5zSOI3H52CYnjCfb5hA== + dependencies: + buffer-xor "^1.0.3" + cipher-base "^1.0.0" + create-hash "^1.1.0" + evp_bytestokey "^1.0.3" + inherits "^2.0.1" + safe-buffer "^5.0.1" + +browserify-cipher@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/browserify-cipher/-/browserify-cipher-1.0.1.tgz#8d6474c1b870bfdabcd3bcfcc1934a10e94f15f0" + integrity sha512-sPhkz0ARKbf4rRQt2hTpAHqn47X3llLkUGn+xEJzLjwY8LRs2p0v7ljvI5EyoRO/mexrNunNECisZs+gw2zz1w== + dependencies: + browserify-aes "^1.0.4" + browserify-des "^1.0.0" + evp_bytestokey "^1.0.0" + +browserify-des@^1.0.0: + version "1.0.2" + resolved "https://registry.yarnpkg.com/browserify-des/-/browserify-des-1.0.2.tgz#3af4f1f59839403572f1c66204375f7a7f703e9c" + integrity sha512-BioO1xf3hFwz4kc6iBhI3ieDFompMhrMlnDFC4/0/vd5MokpuAc3R+LYbwTA9A5Yc9pq9UYPqffKpW2ObuwX5A== + dependencies: + cipher-base "^1.0.1" + des.js "^1.0.0" + inherits "^2.0.1" + safe-buffer "^5.1.2" + +browserify-rsa@^4.0.0, browserify-rsa@^4.0.1: + version "4.1.0" + resolved "https://registry.yarnpkg.com/browserify-rsa/-/browserify-rsa-4.1.0.tgz#b2fd06b5b75ae297f7ce2dc651f918f5be158c8d" + integrity sha512-AdEER0Hkspgno2aR97SAf6vi0y0k8NuOpGnVH3O99rcA5Q6sh8QxcngtHuJ6uXwnfAXNM4Gn1Gb7/MV1+Ymbog== + dependencies: + bn.js "^5.0.0" + randombytes "^2.0.1" + +browserify-sign@^4.0.0: + version "4.2.1" + resolved "https://registry.yarnpkg.com/browserify-sign/-/browserify-sign-4.2.1.tgz#eaf4add46dd54be3bb3b36c0cf15abbeba7956c3" + integrity sha512-/vrA5fguVAKKAVTNJjgSm1tRQDHUU6DbwO9IROu/0WAzC8PKhucDSh18J0RMvVeHAn5puMd+QHC2erPRNf8lmg== + dependencies: + bn.js "^5.1.1" + browserify-rsa "^4.0.1" + create-hash "^1.2.0" + create-hmac "^1.1.7" + elliptic "^6.5.3" + inherits "^2.0.4" + parse-asn1 "^5.1.5" + readable-stream "^3.6.0" + safe-buffer "^5.2.0" + +browserify-zlib@^0.2.0: + version "0.2.0" + resolved "https://registry.yarnpkg.com/browserify-zlib/-/browserify-zlib-0.2.0.tgz#2869459d9aa3be245fe8fe2ca1f46e2e7f54d73f" + integrity sha512-Z942RysHXmJrhqk88FmKBVq/v5tqmSkDz7p54G/MGyjMnCFFnC79XWNbg+Vta8W6Wb2qtSZTSxIGkJrRpCFEiA== + dependencies: + pako "~1.0.5" + +browserslist@^4.0.0, browserslist@^4.12.0, browserslist@^4.16.6, browserslist@^4.17.5, browserslist@^4.18.1, browserslist@^4.20.3, browserslist@^4.6.4: + version "4.20.3" + resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.20.3.tgz#eb7572f49ec430e054f56d52ff0ebe9be915f8bf" + integrity sha512-NBhymBQl1zM0Y5dQT/O+xiLP9/rzOIQdKM/eMJBAq7yBgaB6krIYLGejrwVYnSHZdqjscB1SPuAjHwxjvN6Wdg== + dependencies: + caniuse-lite "^1.0.30001332" + electron-to-chromium "^1.4.118" + escalade "^3.1.1" + node-releases "^2.0.3" + picocolors "^1.0.0" + +bs-logger@0.x: + version "0.2.6" + resolved "https://registry.yarnpkg.com/bs-logger/-/bs-logger-0.2.6.tgz#eb7d365307a72cf974cc6cda76b68354ad336bd8" + integrity sha512-pd8DCoxmbgc7hyPKOvxtqNcjYoOsABPQdcCUjGp3d42VR2CX1ORhk2A87oqqu5R1kk+76nsxZupkmyd+MVtCog== + dependencies: + fast-json-stable-stringify "2.x" + +bser@2.1.1: + version "2.1.1" + resolved "https://registry.yarnpkg.com/bser/-/bser-2.1.1.tgz#e6787da20ece9d07998533cfd9de6f5c38f4bc05" + integrity sha512-gQxTNE/GAfIIrmHLUE3oJyp5FO6HRBfhjnw4/wMmA63ZGDJnWBmgY/lyQBpnDUkGmAhbSe39tx2d/iTOAfglwQ== + dependencies: + node-int64 "^0.4.0" + +buffer-from@1.x, buffer-from@^1.0.0: + version "1.1.2" + resolved "https://registry.yarnpkg.com/buffer-from/-/buffer-from-1.1.2.tgz#2b146a6fd72e80b4f55d255f35ed59a3a9a41bd5" + integrity sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ== + +buffer-xor@^1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/buffer-xor/-/buffer-xor-1.0.3.tgz#26e61ed1422fb70dd42e6e36729ed51d855fe8d9" + integrity sha1-JuYe0UIvtw3ULm42cp7VHYVf6Nk= + +buffer@^4.3.0: + version "4.9.2" + resolved "https://registry.yarnpkg.com/buffer/-/buffer-4.9.2.tgz#230ead344002988644841ab0244af8c44bbe3ef8" + integrity sha512-xq+q3SRMOxGivLhBNaUdC64hDTQwejJ+H0T/NB1XMtTVEwNTrfFF3gAxiyW0Bu/xWEGhjVKgUcMhCrUy2+uCWg== + dependencies: + base64-js "^1.0.2" + ieee754 "^1.1.4" + isarray "^1.0.0" + +buffer@^5.5.0: + version "5.7.1" + resolved "https://registry.yarnpkg.com/buffer/-/buffer-5.7.1.tgz#ba62e7c13133053582197160851a8f648e99eed0" + integrity sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ== + dependencies: + base64-js "^1.3.1" + ieee754 "^1.1.13" + +build@^0.1.4: + version "0.1.4" + resolved "https://registry.yarnpkg.com/build/-/build-0.1.4.tgz#707fe026ffceddcacbfdcdf356eafda64f151046" + dependencies: + cssmin "0.3.x" + jsmin "1.x" + jxLoader "*" + moo-server "*" + promised-io "*" + timespan "2.x" + uglify-js "1.x" + walker "1.x" + winston "*" + wrench "1.3.x" + +builtin-modules@^1.0.0: + version "1.1.1" + resolved "https://registry.yarnpkg.com/builtin-modules/-/builtin-modules-1.1.1.tgz#270f076c5a72c02f5b65a47df94c5fe3a278892f" + +builtin-status-codes@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/builtin-status-codes/-/builtin-status-codes-3.0.0.tgz#85982878e21b98e1c66425e03d0174788f569ee8" + integrity sha1-hZgoeOIbmOHGZCXgPQF0eI9Wnug= + +bytes@2.2.0: + version "2.2.0" + resolved "https://registry.yarnpkg.com/bytes/-/bytes-2.2.0.tgz#fd35464a403f6f9117c2de3609ecff9cae000588" + +bytes@2.4.0: + version "2.4.0" + resolved "https://registry.yarnpkg.com/bytes/-/bytes-2.4.0.tgz#7d97196f9d5baf7f6935e25985549edd2a6c2339" + +bytes@3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/bytes/-/bytes-3.0.0.tgz#d32815404d689699f85a4ea4fa8755dd13a96048" + +cacache@^12.0.2, cacache@^12.0.3: + version "12.0.4" + resolved "https://registry.yarnpkg.com/cacache/-/cacache-12.0.4.tgz#668bcbd105aeb5f1d92fe25570ec9525c8faa40c" + integrity sha512-a0tMB40oefvuInr4Cwb3GerbL9xTj1D5yg0T5xrjGCGyfvbxseIXX7BAO/u/hIXdafzOI5JC3wDwHyf24buOAQ== + dependencies: + bluebird "^3.5.5" + chownr "^1.1.1" + figgy-pudding "^3.5.1" + glob "^7.1.4" + graceful-fs "^4.1.15" + infer-owner "^1.0.3" + lru-cache "^5.1.1" + mississippi "^3.0.0" + mkdirp "^0.5.1" + move-concurrently "^1.0.1" + promise-inflight "^1.0.1" + rimraf "^2.6.3" + ssri "^6.0.1" + unique-filename "^1.1.1" + y18n "^4.0.0" + +cacache@^13.0.1: + version "13.0.1" + resolved "https://registry.yarnpkg.com/cacache/-/cacache-13.0.1.tgz#a8000c21697089082f85287a1aec6e382024a71c" + integrity sha512-5ZvAxd05HDDU+y9BVvcqYu2LLXmPnQ0hW62h32g4xBTgL/MppR4/04NHfj/ycM2y6lmTnbw6HVi+1eN0Psba6w== + dependencies: + chownr "^1.1.2" + figgy-pudding "^3.5.1" + fs-minipass "^2.0.0" + glob "^7.1.4" + graceful-fs "^4.2.2" + infer-owner "^1.0.4" + lru-cache "^5.1.1" + minipass "^3.0.0" + minipass-collect "^1.0.2" + minipass-flush "^1.0.5" + minipass-pipeline "^1.2.2" + mkdirp "^0.5.1" + move-concurrently "^1.0.1" + p-map "^3.0.0" + promise-inflight "^1.0.1" + rimraf "^2.7.1" + ssri "^7.0.0" + unique-filename "^1.1.1" + +cache-base@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/cache-base/-/cache-base-1.0.1.tgz#0a7f46416831c8b662ee36fe4e7c59d76f666ab2" + integrity sha512-AKcdTnFSWATd5/GCPRxr2ChwIJ85CeyrEyjRHlKxQ56d4XJMGym0uAiKn0xbLOGOl3+yRpOTi484dVCEc5AUzQ== + dependencies: + 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" + +calculate-size@1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/calculate-size/-/calculate-size-1.1.1.tgz#ae7caa1c7795f82c4f035dc7be270e3581dae3ee" + integrity sha1-rnyqHHeV+CxPA13HvicONYHa4+4= + +call-bind@^1.0.0, call-bind@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/call-bind/-/call-bind-1.0.2.tgz#b1d4e89e688119c3c9a903ad30abb2f6a919be3c" + integrity sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA== + dependencies: + function-bind "^1.1.1" + get-intrinsic "^1.0.2" + +caller-callsite@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/caller-callsite/-/caller-callsite-2.0.0.tgz#847e0fce0a223750a9a027c54b33731ad3154134" + integrity sha1-hH4PzgoiN1CpoCfFSzNzGtMVQTQ= + dependencies: + callsites "^2.0.0" + +caller-path@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/caller-path/-/caller-path-2.0.0.tgz#468f83044e369ab2010fac5f06ceee15bb2cb1f4" + integrity sha1-Ro+DBE42mrIBD6xfBs7uFbsssfQ= + dependencies: + caller-callsite "^2.0.0" + +callsite@1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/callsite/-/callsite-1.0.0.tgz#280398e5d664bd74038b6f0905153e6e8af1bc20" + +callsites@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/callsites/-/callsites-2.0.0.tgz#06eb84f00eea413da86affefacbffb36093b3c50" + integrity sha1-BuuE8A7qQT2oav/vrL/7Ngk7PFA= + +callsites@^3.0.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/callsites/-/callsites-3.1.0.tgz#b3630abd8943432f54b3f0519238e33cd7df2f73" + integrity sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ== + +camel-case@3.0.x: + version "3.0.0" + resolved "https://registry.yarnpkg.com/camel-case/-/camel-case-3.0.0.tgz#ca3c3688a4e9cf3a4cda777dc4dcbc713249cf73" + integrity sha1-yjw2iKTpzzpM2nd9xNy8cTJJz3M= + dependencies: + no-case "^2.2.0" + upper-case "^1.1.1" + +camelcase-keys@^2.0.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/camelcase-keys/-/camelcase-keys-2.1.0.tgz#308beeaffdf28119051efa1d932213c91b8f92e7" + dependencies: + camelcase "^2.0.0" + map-obj "^1.0.0" + +camelcase@^2.0.0: + version "2.1.1" + resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-2.1.1.tgz#7c1d16d679a1bbe59ca02cacecfb011e201f5a1f" + +camelcase@^5.0.0, camelcase@^5.3.1: + version "5.3.1" + resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-5.3.1.tgz#e3c9b31569e106811df242f715725a1f4c494320" + integrity sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg== + +camelcase@^6.0.0: + version "6.3.0" + resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-6.3.0.tgz#5685b95eb209ac9c0c177467778c9c84df58ba9a" + integrity sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA== + +caniuse-api@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/caniuse-api/-/caniuse-api-3.0.0.tgz#5e4d90e2274961d46291997df599e3ed008ee4c0" + integrity sha512-bsTwuIg/BZZK/vreVTYYbSWoe2F+71P7K5QGEX+pT250DZbfU1MQ5prOKpPR+LL6uWKK3KMwMCAS74QB3Um1uw== + dependencies: + browserslist "^4.0.0" + caniuse-lite "^1.0.0" + lodash.memoize "^4.1.2" + lodash.uniq "^4.5.0" + +caniuse-lite@^1.0.0, caniuse-lite@^1.0.30000981, caniuse-lite@^1.0.30001109, caniuse-lite@^1.0.30001332: + version "1.0.30001334" + resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001334.tgz#892e9965b35285033fc2b8a8eff499fe02f13d8b" + integrity sha512-kbaCEBRRVSoeNs74sCuq92MJyGrMtjWVfhltoHUCW4t4pXFvGjUBrfo47weBRViHkiV3eBYyIsfl956NtHGazw== + +capture-exit@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/capture-exit/-/capture-exit-2.0.0.tgz#fb953bfaebeb781f62898239dabb426d08a509a4" + integrity sha512-PiT/hQmTonHhl/HFGN+Lx3JJUznrVYJ3+AQsnthneZbvW7x+f08Tk7yLJTLEOUvBTbduLeeBkxEaYXUOUrRq6g== + dependencies: + rsvp "^4.8.4" + +caseless@~0.12.0: + version "0.12.0" + resolved "https://registry.yarnpkg.com/caseless/-/caseless-0.12.0.tgz#1b681c21ff84033c826543090689420d187151dc" + +chalk@^1.0.0, chalk@^1.1.1, chalk@~1.1.1: + version "1.1.3" + resolved "https://registry.yarnpkg.com/chalk/-/chalk-1.1.3.tgz#a8115c55e4a702fe4d150abd3872822a7e09fc98" + dependencies: + ansi-styles "^2.2.1" + escape-string-regexp "^1.0.2" + has-ansi "^2.0.0" + strip-ansi "^3.0.0" + supports-color "^2.0.0" + +chalk@^2.0.0, chalk@^2.0.1, chalk@^2.4.2: + version "2.4.2" + resolved "https://registry.yarnpkg.com/chalk/-/chalk-2.4.2.tgz#cd42541677a54333cf541a49108c1432b44c9424" + integrity sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ== + dependencies: + ansi-styles "^3.2.1" + escape-string-regexp "^1.0.5" + supports-color "^5.3.0" + +chalk@^2.3.0: + version "2.3.2" + resolved "https://registry.yarnpkg.com/chalk/-/chalk-2.3.2.tgz#250dc96b07491bfd601e648d66ddf5f60c7a5c65" + dependencies: + ansi-styles "^3.2.1" + escape-string-regexp "^1.0.5" + supports-color "^5.3.0" + +chalk@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/chalk/-/chalk-3.0.0.tgz#3f73c2bf526591f574cc492c51e2456349f844e4" + integrity sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg== + dependencies: + ansi-styles "^4.1.0" + supports-color "^7.1.0" + +chalk@^4.0.0, chalk@^4.1.0, chalk@^4.1.1, chalk@^4.1.2: + version "4.1.2" + resolved "https://registry.yarnpkg.com/chalk/-/chalk-4.1.2.tgz#aac4e2b7734a740867aeb16bf02aad556a1e7a01" + integrity sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA== + dependencies: + ansi-styles "^4.1.0" + supports-color "^7.1.0" + +char-regex@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/char-regex/-/char-regex-1.0.2.tgz#d744358226217f981ed58f479b1d6bcc29545dcf" + integrity sha512-kWWXztvZ5SBQV+eRgKFeh8q5sLuZY2+8WUIzlxWVTg+oGwY14qylx1KbKzHd8P6ZYkAg0xyIDU9JMHhyJMZ1jw== + +chardet@^0.7.0: + version "0.7.0" + resolved "https://registry.yarnpkg.com/chardet/-/chardet-0.7.0.tgz#90094849f0937f2eedc2425d0d28a9e5f0cbad9e" + integrity sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA== + +"chokidar@>=2.0.0 <4.0.0", chokidar@^3.4.1, chokidar@^3.4.2: + version "3.5.3" + resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-3.5.3.tgz#1cf37c8707b932bd1af1ae22c0432e2acd1903bd" + integrity sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw== + dependencies: + anymatch "~3.1.2" + braces "~3.0.2" + glob-parent "~5.1.2" + is-binary-path "~2.1.0" + is-glob "~4.0.1" + normalize-path "~3.0.0" + readdirp "~3.6.0" + optionalDependencies: + fsevents "~2.3.2" + +chokidar@^1.0.5, chokidar@^1.4.1: + version "1.7.0" + resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-1.7.0.tgz#798e689778151c8076b4b360e5edd28cda2bb468" + dependencies: + anymatch "^1.3.0" + async-each "^1.0.0" + glob-parent "^2.0.0" + inherits "^2.0.1" + is-binary-path "^1.0.0" + is-glob "^2.0.0" + path-is-absolute "^1.0.0" + readdirp "^2.0.0" + optionalDependencies: + fsevents "^1.0.0" + +chokidar@^2.1.8: + version "2.1.8" + resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-2.1.8.tgz#804b3a7b6a99358c3c5c61e71d8728f041cff917" + integrity sha512-ZmZUazfOzf0Nve7duiCKD23PFSCs4JPoYyccjUFF3aQkQadqBhfzhjkwBH2mNOG9cTBwhamM37EIsIkZw3nRgg== + dependencies: + anymatch "^2.0.0" + async-each "^1.0.1" + braces "^2.3.2" + 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" + optionalDependencies: + fsevents "^1.2.7" + +chownr@^1.1.1, chownr@^1.1.2: + version "1.1.4" + resolved "https://registry.yarnpkg.com/chownr/-/chownr-1.1.4.tgz#6fc9d7b42d32a583596337666e7d08084da2cc6b" + integrity sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg== + +chrome-trace-event@^1.0.2: + version "1.0.3" + resolved "https://registry.yarnpkg.com/chrome-trace-event/-/chrome-trace-event-1.0.3.tgz#1015eced4741e15d06664a957dbbf50d041e26ac" + integrity sha512-p3KULyQg4S7NIHixdwbGX+nFHkoBiA4YQmyWtjb8XngSKV124nJmRysgAeujbUVb15vh+RvFUfCPqU7rXk+hZg== + +ci-info@^1.0.0: + version "1.1.2" + resolved "https://registry.yarnpkg.com/ci-info/-/ci-info-1.1.2.tgz#03561259db48d0474c8bdc90f5b47b068b6bbfb4" + +ci-info@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/ci-info/-/ci-info-2.0.0.tgz#67a9e964be31a51e15e5010d58e6f12834002f46" + integrity sha512-5tK7EtrZ0N+OLFMthtqOj4fI2Jeb88C4CAZPu25LDVUgXJ0A3Js4PMGqrn0JU1W0Mh1/Z8wZzYPxqUrXeBboCQ== + +cipher-base@^1.0.0, cipher-base@^1.0.1, cipher-base@^1.0.3: + version "1.0.4" + resolved "https://registry.yarnpkg.com/cipher-base/-/cipher-base-1.0.4.tgz#8760e4ecc272f4c363532f926d874aae2c1397de" + integrity sha512-Kkht5ye6ZGmwv40uUDZztayT2ThLQGfnj/T71N/XzeZeo3nf8foyW7zGTsPYkEya3m5f3cAypH+qe7YOrM1U2Q== + dependencies: + inherits "^2.0.1" + safe-buffer "^5.0.1" + +cjs-module-lexer@^0.6.0: + version "0.6.0" + resolved "https://registry.yarnpkg.com/cjs-module-lexer/-/cjs-module-lexer-0.6.0.tgz#4186fcca0eae175970aee870b9fe2d6cf8d5655f" + integrity sha512-uc2Vix1frTfnuzxxu1Hp4ktSvM3QaI4oXl4ZUqL1wjTu/BGki9TrCWoqLTg/drR1KwAEarXuRFCG2Svr1GxPFw== + +class-utils@^0.3.5: + version "0.3.6" + resolved "https://registry.yarnpkg.com/class-utils/-/class-utils-0.3.6.tgz#f93369ae8b9a7ce02fd41faad0ca83033190c463" + integrity sha512-qOhPa/Fj7s6TY8H8esGu5QNpMMQxz79h+urzrNYN6mn+9BnxlDGf5QZ+XeCDsxSjPqsSR56XOZOJmpeurnLMeg== + dependencies: + arr-union "^3.1.0" + define-property "^0.2.5" + isobject "^3.0.0" + static-extend "^0.1.1" + +classnames@2.3.1, classnames@2.x, classnames@^2.2.1, classnames@^2.2.5, classnames@^2.2.6, classnames@^2.3.1: + version "2.3.1" + resolved "https://registry.yarnpkg.com/classnames/-/classnames-2.3.1.tgz#dfcfa3891e306ec1dad105d0e88f4417b8535e8e" + integrity sha512-OlQdbZ7gLfGarSqxesMesDa5uz7KFbID8Kpq/SxIoNGDqY8lSYs0D+hhtBXhcdB3rcbXArFr7vlHheLk1voeNA== + +clean-css@4.2.x: + version "4.2.4" + resolved "https://registry.yarnpkg.com/clean-css/-/clean-css-4.2.4.tgz#733bf46eba4e607c6891ea57c24a989356831178" + integrity sha512-EJUDT7nDVFDvaQgAo2G/PJvxmp1o/c6iXLbswsBbUFXi1Nr+AjA2cKmfbKDMjMvzEe75g3P6JkaDDAKk96A85A== + dependencies: + source-map "~0.6.0" + +clean-stack@^2.0.0: + version "2.2.0" + resolved "https://registry.yarnpkg.com/clean-stack/-/clean-stack-2.2.0.tgz#ee8472dbb129e727b31e8a10a427dee9dfe4008b" + integrity sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A== + +cli-cursor@^3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/cli-cursor/-/cli-cursor-3.1.0.tgz#264305a7ae490d1d03bf0c9ba7c925d1753af307" + integrity sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw== + dependencies: + restore-cursor "^3.1.0" + +cli-spinners@^2.2.0, cli-spinners@^2.5.0: + version "2.6.1" + resolved "https://registry.yarnpkg.com/cli-spinners/-/cli-spinners-2.6.1.tgz#adc954ebe281c37a6319bfa401e6dd2488ffb70d" + integrity sha512-x/5fWmGMnbKQAaNwN+UZlV79qBLM9JFnJuJ03gIi5whrob0xV0ofNVHy9DhwGdsMJQc2OKv0oGmLzvaqvAVv+g== + +cli-width@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/cli-width/-/cli-width-3.0.0.tgz#a2f48437a2caa9a22436e794bf071ec9e61cedf6" + integrity sha512-FxqpkPPwu1HjuN93Omfm4h8uIanXofW0RxVEW3k5RKx+mJJYSthzNhp32Kzxxy3YAEZ/Dc/EWN1vZRY0+kOhbw== + +cliui@^6.0.0: + version "6.0.0" + resolved "https://registry.yarnpkg.com/cliui/-/cliui-6.0.0.tgz#511d702c0c4e41ca156d7d0e96021f23e13225b1" + integrity sha512-t6wbgtoCXvAzst7QgXxJYqPt0usEfbgQdftEPbLL/cvv6HPE5VgvqCuAIDR0NgU52ds6rFwqrgakNLrHEjCbrQ== + dependencies: + string-width "^4.2.0" + strip-ansi "^6.0.0" + wrap-ansi "^6.2.0" + +cliui@^7.0.2: + version "7.0.4" + resolved "https://registry.yarnpkg.com/cliui/-/cliui-7.0.4.tgz#a0265ee655476fc807aea9df3df8df7783808b4f" + integrity sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ== + dependencies: + string-width "^4.2.0" + strip-ansi "^6.0.0" + wrap-ansi "^7.0.0" + +clone-deep@^4.0.1: + version "4.0.1" + resolved "https://registry.yarnpkg.com/clone-deep/-/clone-deep-4.0.1.tgz#c19fd9bdbbf85942b4fd979c84dcf7d5f07c2387" + integrity sha512-neHB9xuzh/wk0dIHweyAXv2aPGZIVk3pLMe+/RNzINf17fe0OG96QroktYAUm7SM1PBnzTabaLboqqxDyMU+SQ== + dependencies: + is-plain-object "^2.0.4" + kind-of "^6.0.2" + shallow-clone "^3.0.0" + +clone@^1.0.2: + version "1.0.4" + resolved "https://registry.yarnpkg.com/clone/-/clone-1.0.4.tgz#da309cc263df15994c688ca902179ca3c7cd7c7e" + integrity sha1-2jCcwmPfFZlMaIypAheco8fNfH4= + +clone@^2.1.1: + version "2.1.2" + resolved "https://registry.yarnpkg.com/clone/-/clone-2.1.2.tgz#1b7f4b9f591f1e8f83670401600345a02887435f" + integrity sha1-G39Ln1kfHo+DZwQBYANFoCiHQ18= + +clsx@^1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/clsx/-/clsx-1.1.1.tgz#98b3134f9abbdf23b2663491ace13c5c03a73188" + integrity sha512-6/bPho624p3S2pMyvP5kKBPXnI3ufHLObBFCfgx+LkeR5lg2XYy2hqZqUf45ypD8COn2bhgGJSUE+l5dhNBieA== + +co@^4.6.0: + version "4.6.0" + resolved "https://registry.yarnpkg.com/co/-/co-4.6.0.tgz#6ea6bdf3d853ae54ccb8e47bfa0bf3f9031fb184" + +code-point-at@^1.0.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/code-point-at/-/code-point-at-1.1.0.tgz#0d070b4d043a5bea33a2f1a40e2edb3d9a4ccf77" + +coffeescript@~1.10.0: + version "1.10.0" + resolved "https://registry.yarnpkg.com/coffeescript/-/coffeescript-1.10.0.tgz#e7aa8301917ef621b35d8a39f348dcdd1db7e33e" + +collect-v8-coverage@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/collect-v8-coverage/-/collect-v8-coverage-1.0.1.tgz#cc2c8e94fc18bbdffe64d6534570c8a673b27f59" + integrity sha512-iBPtljfCNcTKNAto0KEtDfZ3qzjJvqE3aTGZsbhjSBlorqpXJlaWWtPO35D+ZImoC3KWejX64o+yPGxhWSTzfg== + +collection-visit@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/collection-visit/-/collection-visit-1.0.0.tgz#4bc0373c164bc3291b4d368c829cf1a80a59dca0" + integrity sha1-S8A3PBZLwykbTTaMgpzxqApZ3KA= + dependencies: + map-visit "^1.0.0" + object-visit "^1.0.0" + +color-convert@^1.9.0: + version "1.9.1" + resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-1.9.1.tgz#c1261107aeb2f294ebffec9ed9ecad529a6097ed" + dependencies: + color-name "^1.1.1" + +color-convert@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-2.0.1.tgz#72d3a68d598c9bdb3af2ad1e84f21d896abd4de3" + integrity sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ== + dependencies: + color-name "~1.1.4" + +color-name@^1.1.1: + version "1.1.3" + resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.3.tgz#a7d0558bd89c42f795dd42328f740831ca53bc25" + +color-name@^1.1.4, color-name@~1.1.4: + version "1.1.4" + resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.4.tgz#c2a09a87acbde69543de6f63fa3995c826c536a2" + integrity sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA== + +colord@^2.9.1: + version "2.9.2" + resolved "https://registry.yarnpkg.com/colord/-/colord-2.9.2.tgz#25e2bacbbaa65991422c07ea209e2089428effb1" + integrity sha512-Uqbg+J445nc1TKn4FoDPS6ZZqAvEDnwrH42yo8B40JSOgSLxMZ/gt3h4nmCtPLQeXhjJJkqBx7SCY35WnIixaQ== + +colors@1.0.x: + version "1.0.3" + resolved "https://registry.yarnpkg.com/colors/-/colors-1.0.3.tgz#0433f44d809680fdeb60ed260f1b0c262e82a40b" + +colors@^1.1.0: + version "1.2.1" + resolved "https://registry.yarnpkg.com/colors/-/colors-1.2.1.tgz#f4a3d302976aaf042356ba1ade3b1a2c62d9d794" + +colors@~1.1.2: + version "1.1.2" + resolved "https://registry.yarnpkg.com/colors/-/colors-1.1.2.tgz#168a4701756b6a7f51a12ce0c97bfa28c084ed63" + +combine-lists@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/combine-lists/-/combine-lists-1.0.1.tgz#458c07e09e0d900fc28b70a3fec2dacd1d2cb7f6" + dependencies: + lodash "^4.5.0" + +combined-stream@1.0.6, combined-stream@^1.0.5, combined-stream@~1.0.5: + version "1.0.6" + resolved "https://registry.yarnpkg.com/combined-stream/-/combined-stream-1.0.6.tgz#723e7df6e801ac5613113a7e445a9b69cb632818" + dependencies: + delayed-stream "~1.0.0" + +combined-stream@^1.0.6, combined-stream@^1.0.8, combined-stream@~1.0.6: + version "1.0.8" + resolved "https://registry.yarnpkg.com/combined-stream/-/combined-stream-1.0.8.tgz#c3d45a8b34fd730631a110a8a2520682b31d5a7f" + integrity sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg== + dependencies: + delayed-stream "~1.0.0" + +command-exists@^1.2.8: + version "1.2.9" + resolved "https://registry.yarnpkg.com/command-exists/-/command-exists-1.2.9.tgz#c50725af3808c8ab0260fd60b01fbfa25b954f69" + integrity sha512-LTQ/SGc+s0Xc0Fu5WaKnR0YiygZkm9eKFvyS+fRsU7/ZWFF8ykFM6Pc9aCVf1+xasOOZpO3BAVgVrKvsqKHV7w== + +commander@2, commander@^2.20.0, commander@^2.20.3: + version "2.20.3" + resolved "https://registry.yarnpkg.com/commander/-/commander-2.20.3.tgz#fd485e84c03eb4881c20722ba48035e8531aeb33" + integrity sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ== + +commander@2.17.x: + version "2.17.1" + resolved "https://registry.yarnpkg.com/commander/-/commander-2.17.1.tgz#bd77ab7de6de94205ceacc72f1716d29f20a77bf" + integrity sha512-wPMUt6FnH2yzG95SA6mzjQOEKUU3aLaDEmzs1ti+1E9h+CsrZghRlqEM/EJ4KscsQVG8uNN4uVreUeT8+drlgg== + +commander@^7.2.0: + version "7.2.0" + resolved "https://registry.yarnpkg.com/commander/-/commander-7.2.0.tgz#a36cb57d0b501ce108e4d20559a150a391d97ab7" + integrity sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw== + +commander@^8.0.0: + version "8.3.0" + resolved "https://registry.yarnpkg.com/commander/-/commander-8.3.0.tgz#4837ea1b2da67b9c616a67afbb0fafee567bca66" + integrity sha512-OkTL9umf+He2DZkUq8f8J9of7yL6RJKI24dVITBmNfZBmri9zYZQrKkuXiKhyfPSu8tUhnVBB1iKXevvnlR4Ww== + +commander@~2.19.0: + version "2.19.0" + resolved "https://registry.yarnpkg.com/commander/-/commander-2.19.0.tgz#f6198aa84e5b83c46054b94ddedbfed5ee9ff12a" + integrity sha512-6tvAOO+D6OENvRAh524Dh9jcfKTYDQAqvqezbCW82xj5X0pSrcpxtvRKHLG0yBY6SD7PSDrJaj+0AiOcKVd1Xg== + +comment-parser@1.3.0: + version "1.3.0" + resolved "https://registry.yarnpkg.com/comment-parser/-/comment-parser-1.3.0.tgz#68beb7dbe0849295309b376406730cd16c719c44" + integrity sha512-hRpmWIKgzd81vn0ydoWoyPoALEOnF4wt8yKD35Ib1D6XC2siLiYaiqfGkYrunuKdsXGwpBpHU3+9r+RVw2NZfA== + +commondir@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/commondir/-/commondir-1.0.1.tgz#ddd800da0c66127393cca5950ea968a3aaf1253b" + integrity sha1-3dgA2gxmEnOTzKWVDqloo6rxJTs= + +component-bind@1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/component-bind/-/component-bind-1.0.0.tgz#00c608ab7dcd93897c0009651b1d3a8e1e73bbd1" + +component-classes@^1.2.5: + version "1.2.6" + resolved "https://registry.yarnpkg.com/component-classes/-/component-classes-1.2.6.tgz#c642394c3618a4d8b0b8919efccbbd930e5cd691" + integrity sha1-xkI5TDYYpNiwuJGe/Mu9kw5c1pE= + dependencies: + component-indexof "0.0.3" + +component-emitter@1.1.2: + version "1.1.2" + resolved "https://registry.yarnpkg.com/component-emitter/-/component-emitter-1.1.2.tgz#296594f2753daa63996d2af08d15a95116c9aec3" + +component-emitter@1.2.1: + version "1.2.1" + resolved "https://registry.yarnpkg.com/component-emitter/-/component-emitter-1.2.1.tgz#137918d6d78283f7df7a6b7c5a63e140e69425e6" + +component-emitter@^1.2.1: + version "1.3.0" + resolved "https://registry.yarnpkg.com/component-emitter/-/component-emitter-1.3.0.tgz#16e4070fba8ae29b679f2215853ee181ab2eabc0" + integrity sha512-Rd3se6QB+sO1TwqZjscQrurpEPIfO0/yYnSin6Q/rD3mOutHvUrCAhJub3r90uNb+SESBuE0QYoB90YdfatsRg== + +component-indexof@0.0.3: + version "0.0.3" + resolved "https://registry.yarnpkg.com/component-indexof/-/component-indexof-0.0.3.tgz#11d091312239eb8f32c8f25ae9cb002ffe8d3c24" + integrity sha1-EdCRMSI5648yyPJa6csAL/6NPCQ= + +component-inherit@0.0.3: + version "0.0.3" + resolved "https://registry.yarnpkg.com/component-inherit/-/component-inherit-0.0.3.tgz#645fc4adf58b72b649d5cae65135619db26ff143" + +concat-map@0.0.1: + version "0.0.1" + resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b" + +concat-stream@1.6.0: + version "1.6.0" + resolved "https://registry.yarnpkg.com/concat-stream/-/concat-stream-1.6.0.tgz#0aac662fd52be78964d5532f694784e70110acf7" + dependencies: + inherits "^2.0.3" + readable-stream "^2.2.2" + typedarray "^0.0.6" + +concat-stream@^1.5.0: + version "1.6.2" + resolved "https://registry.yarnpkg.com/concat-stream/-/concat-stream-1.6.2.tgz#904bdf194cd3122fc675c77fc4ac3d4ff0fd1a34" + integrity sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw== + dependencies: + buffer-from "^1.0.0" + inherits "^2.0.3" + readable-stream "^2.2.2" + typedarray "^0.0.6" + +concurrently@6.3.0: + version "6.3.0" + resolved "https://registry.yarnpkg.com/concurrently/-/concurrently-6.3.0.tgz#63128cb4a6ed54d3c0ed8528728590a5fe54582a" + integrity sha512-k4k1jQGHHKsfbqzkUszVf29qECBrkvBKkcPJEUDTyVR7tZd1G/JOfnst4g1sYbFvJ4UjHZisj1aWQR8yLKpGPw== + dependencies: + chalk "^4.1.0" + date-fns "^2.16.1" + lodash "^4.17.21" + rxjs "^6.6.3" + spawn-command "^0.0.2-1" + supports-color "^8.1.0" + tree-kill "^1.2.2" + yargs "^16.2.0" + +connect@^3.6.0: + version "3.6.6" + resolved "https://registry.yarnpkg.com/connect/-/connect-3.6.6.tgz#09eff6c55af7236e137135a72574858b6786f524" + dependencies: + debug "2.6.9" + finalhandler "1.1.0" + parseurl "~1.3.2" + utils-merge "1.0.1" + +console-browserify@^1.1.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/console-browserify/-/console-browserify-1.2.0.tgz#67063cef57ceb6cf4993a2ab3a55840ae8c49336" + integrity sha512-ZMkYO/LkF17QvCPqM0gxw8yUzigAOZOSWSHg91FH6orS7vcEj5dVZTidN2fQ14yBSdg97RqhSNwLUXInd52OTA== + +console-control-strings@^1.0.0, console-control-strings@~1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/console-control-strings/-/console-control-strings-1.1.0.tgz#3d7cf4464db6446ea644bf4b39507f9851008e8e" + +constants-browserify@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/constants-browserify/-/constants-browserify-1.0.0.tgz#c20b96d8c617748aaf1c16021760cd27fcb8cb75" + integrity sha1-wguW2MYXdIqvHBYCF2DNJ/y4y3U= + +content-type@~1.0.1, content-type@~1.0.4: + version "1.0.4" + resolved "https://registry.yarnpkg.com/content-type/-/content-type-1.0.4.tgz#e138cc75e040c727b1966fe5e5f8c9aee256fe3b" + +convert-source-map@^1.4.0, convert-source-map@^1.5.0, convert-source-map@^1.6.0, convert-source-map@^1.7.0: + version "1.8.0" + resolved "https://registry.yarnpkg.com/convert-source-map/-/convert-source-map-1.8.0.tgz#f3373c32d21b4d780dd8004514684fb791ca4369" + integrity sha512-+OQdjP49zViI/6i7nIJpA8rAl4sV/JdPfU9nZs3VqOwGIgizICvuN2ru6fMd+4llL0tar18UYJXfZ/TWtmhUjA== + dependencies: + safe-buffer "~5.1.1" + +cookie@0.3.1: + version "0.3.1" + resolved "https://registry.yarnpkg.com/cookie/-/cookie-0.3.1.tgz#e7e0a1f9ef43b4c8ba925c5c5a96e806d16873bb" + +copy-anything@^2.0.1: + version "2.0.6" + resolved "https://registry.yarnpkg.com/copy-anything/-/copy-anything-2.0.6.tgz#092454ea9584a7b7ad5573062b2a87f5900fc480" + integrity sha512-1j20GZTsvKNkc4BY3NpMOM8tt///wY3FpIzozTOFO2ffuZcV61nojHXVKIy3WM+7ADCy5FVhdZYHYDdgTU0yJw== + dependencies: + is-what "^3.14.1" + +copy-concurrently@^1.0.0: + version "1.0.5" + resolved "https://registry.yarnpkg.com/copy-concurrently/-/copy-concurrently-1.0.5.tgz#92297398cae34937fcafd6ec8139c18051f0b5e0" + integrity sha512-f2domd9fsVDFtaFcbaRZuYXwtdmnzqbADSwhSWYxYB/Q8zsdUUFMXVRwXGDMWmbEzAn1kdRrtI1T/KTFOL4X2A== + dependencies: + aproba "^1.1.1" + fs-write-stream-atomic "^1.0.8" + iferr "^0.1.5" + mkdirp "^0.5.1" + rimraf "^2.5.4" + run-queue "^1.0.0" + +copy-descriptor@^0.1.0: + version "0.1.1" + resolved "https://registry.yarnpkg.com/copy-descriptor/-/copy-descriptor-0.1.1.tgz#676f6eb3c39997c2ee1ac3a924fd6124748f578d" + integrity sha1-Z29us8OZl8LuGsOpJP1hJHSPV40= + +copy-to-clipboard@^3.3.1: + version "3.3.1" + resolved "https://registry.yarnpkg.com/copy-to-clipboard/-/copy-to-clipboard-3.3.1.tgz#115aa1a9998ffab6196f93076ad6da3b913662ae" + integrity sha512-i13qo6kIHTTpCm8/Wup+0b1mVWETvu2kIMzKoK8FpkLkFxlt0znUAHcMzox+T8sPlqtZXq3CulEjQHsYiGFJUw== + dependencies: + toggle-selection "^1.0.6" + +copy-webpack-plugin@5.1.2: + version "5.1.2" + resolved "https://registry.yarnpkg.com/copy-webpack-plugin/-/copy-webpack-plugin-5.1.2.tgz#8a889e1dcafa6c91c6cd4be1ad158f1d3823bae2" + integrity sha512-Uh7crJAco3AjBvgAy9Z75CjK8IG+gxaErro71THQ+vv/bl4HaQcpkexAY8KVW/T6D2W2IRr+couF/knIRkZMIQ== + dependencies: + cacache "^12.0.3" + find-cache-dir "^2.1.0" + glob-parent "^3.1.0" + globby "^7.1.1" + is-glob "^4.0.1" + loader-utils "^1.2.3" + minimatch "^3.0.4" + normalize-path "^3.0.0" + p-limit "^2.2.1" + schema-utils "^1.0.0" + serialize-javascript "^4.0.0" + webpack-log "^2.0.0" + +core-js-compat@^3.8.1, core-js-compat@^3.9.0: + version "3.22.3" + resolved "https://registry.yarnpkg.com/core-js-compat/-/core-js-compat-3.22.3.tgz#9b10d786052d042bc97ee8df9c0d1fb6a49c2005" + integrity sha512-wliMbvPI2idgFWpFe7UEyHMvu6HWgW8WA+HnDRtgzoSDYvXFMpoGX1H3tPDDXrcfUSyXafCLDd7hOeMQHEZxGw== + dependencies: + browserslist "^4.20.3" + semver "7.0.0" + +core-js@3.21.1: + version "3.21.1" + resolved "https://registry.yarnpkg.com/core-js/-/core-js-3.21.1.tgz#f2e0ddc1fc43da6f904706e8e955bc19d06a0d94" + integrity sha512-FRq5b/VMrWlrmCzwRrpDYNxyHP9BcAZC+xHJaqTgIE5091ZV1NTmyh0sGOg5XqpnHvR0svdy0sv1gWA1zmhxig== + +core-js@^2.2.0: + version "2.5.3" + resolved "https://registry.yarnpkg.com/core-js/-/core-js-2.5.3.tgz#8acc38345824f16d8365b7c9b4259168e8ed603e" + +core-js@^2.4.0: + version "2.6.12" + resolved "https://registry.yarnpkg.com/core-js/-/core-js-2.6.12.tgz#d9333dfa7b065e347cc5682219d6f690859cc2ec" + integrity sha512-Kb2wC0fvsWfQrgk8HU5lW6U/Lcs8+9aaYcy4ZFc6DDlo4nZ7n70dEgE5rtR0oG6ufKDUnrwfWL1mXR5ljDatrQ== + +core-util-is@1.0.2, core-util-is@~1.0.0: + version "1.0.2" + resolved "https://registry.yarnpkg.com/core-util-is/-/core-util-is-1.0.2.tgz#b5fd54220aa2bc5ab57aab7140c940754503c1a7" + +cosmiconfig@^5.0.0: + version "5.2.1" + resolved "https://registry.yarnpkg.com/cosmiconfig/-/cosmiconfig-5.2.1.tgz#040f726809c591e77a17c0a3626ca45b4f168b1a" + integrity sha512-H65gsXo1SKjf8zmrJ67eJk8aIRKV5ff2D4uKZIBZShbhGSpEmsQOPW/SKMKYhSTrqR7ufy6RP69rPogdaPh/kA== + dependencies: + import-fresh "^2.0.0" + is-directory "^0.3.1" + js-yaml "^3.13.1" + parse-json "^4.0.0" + +cosmiconfig@^6.0.0: + version "6.0.0" + resolved "https://registry.yarnpkg.com/cosmiconfig/-/cosmiconfig-6.0.0.tgz#da4fee853c52f6b1e6935f41c1a2fc50bd4a9982" + integrity sha512-xb3ZL6+L8b9JLLCx3ZdoZy4+2ECphCMo2PwqgP1tlfVq6M6YReyzBJtvWWtbDSpNr9hn96pkCiZqUcFEc+54Qg== + dependencies: + "@types/parse-json" "^4.0.0" + import-fresh "^3.1.0" + parse-json "^5.0.0" + path-type "^4.0.0" + yaml "^1.7.2" + +create-ecdh@^4.0.0: + version "4.0.4" + resolved "https://registry.yarnpkg.com/create-ecdh/-/create-ecdh-4.0.4.tgz#d6e7f4bffa66736085a0762fd3a632684dabcc4e" + integrity sha512-mf+TCx8wWc9VpuxfP2ht0iSISLZnt0JgWlrOKZiNqyUZWnjIaCIVNQArMHnCZKfEYRg6IM7A+NeJoN8gf/Ws0A== + dependencies: + bn.js "^4.1.0" + elliptic "^6.5.3" + +create-hash@^1.1.0, create-hash@^1.1.2, create-hash@^1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/create-hash/-/create-hash-1.2.0.tgz#889078af11a63756bcfb59bd221996be3a9ef196" + integrity sha512-z00bCGNHDG8mHAkP7CtT1qVu+bFQUPjYq/4Iv3C3kWjTFV10zIjfSoeqXo9Asws8gwSHDGj/hl2u4OGIjapeCg== + dependencies: + cipher-base "^1.0.1" + inherits "^2.0.1" + md5.js "^1.3.4" + ripemd160 "^2.0.1" + sha.js "^2.4.0" + +create-hmac@^1.1.0, create-hmac@^1.1.4, create-hmac@^1.1.7: + version "1.1.7" + resolved "https://registry.yarnpkg.com/create-hmac/-/create-hmac-1.1.7.tgz#69170c78b3ab957147b2b8b04572e47ead2243ff" + integrity sha512-MJG9liiZ+ogc4TzUwuvbER1JRdgvUFSB5+VR/g5h82fGaIRWMWddtKBHi7/sVhfjQZ6SehlyhvQYrcYkaUIpLg== + dependencies: + cipher-base "^1.0.3" + create-hash "^1.1.0" + inherits "^2.0.1" + ripemd160 "^2.0.0" + safe-buffer "^5.0.1" + sha.js "^2.4.8" + +cross-spawn@^5.0.1: + version "5.1.0" + resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-5.1.0.tgz#e8bd0efee58fcff6f8f94510a0a554bbfa235449" + dependencies: + lru-cache "^4.0.1" + shebang-command "^1.2.0" + which "^1.2.9" + +cross-spawn@^6.0.0: + version "6.0.5" + resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-6.0.5.tgz#4a5ec7c64dfae22c3a14124dbacdee846d80cbc4" + integrity sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ== + dependencies: + nice-try "^1.0.4" + path-key "^2.0.1" + semver "^5.5.0" + shebang-command "^1.2.0" + which "^1.2.9" + +cross-spawn@^7.0.0, cross-spawn@^7.0.2, cross-spawn@^7.0.3: + version "7.0.3" + resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-7.0.3.tgz#f73a85b9d5d41d045551c177e2882d4ac85728a6" + integrity sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w== + dependencies: + path-key "^3.1.0" + shebang-command "^2.0.0" + which "^2.0.1" + +cryptiles@2.x.x: + version "2.0.5" + resolved "https://registry.yarnpkg.com/cryptiles/-/cryptiles-2.0.5.tgz#3bdfecdc608147c1c67202fa291e7dca59eaa3b8" + dependencies: + boom "2.x.x" + +cryptiles@3.x.x: + version "3.1.2" + resolved "https://registry.yarnpkg.com/cryptiles/-/cryptiles-3.1.2.tgz#a89fbb220f5ce25ec56e8c4aa8a4fd7b5b0d29fe" + dependencies: + boom "5.x.x" + +crypto-browserify@^3.11.0: + version "3.12.0" + resolved "https://registry.yarnpkg.com/crypto-browserify/-/crypto-browserify-3.12.0.tgz#396cf9f3137f03e4b8e532c58f698254e00f80ec" + integrity sha512-fz4spIh+znjO2VjL+IdhEpRJ3YN6sMzITSBijk6FK2UvTqruSQW+/cCZTSNsMiZNvUeq0CqurF+dAbyiGOY6Wg== + dependencies: + browserify-cipher "^1.0.0" + browserify-sign "^4.0.0" + create-ecdh "^4.0.0" + create-hash "^1.1.0" + create-hmac "^1.1.0" + diffie-hellman "^5.0.0" + inherits "^2.0.1" + pbkdf2 "^3.0.3" + public-encrypt "^4.0.0" + randombytes "^2.0.0" + randomfill "^1.0.3" + +css-animation@^1.3.2: + version "1.6.1" + resolved "https://registry.yarnpkg.com/css-animation/-/css-animation-1.6.1.tgz#162064a3b0d51f958b7ff37b3d6d4de18e17039e" + integrity sha512-/48+/BaEaHRY6kNQ2OIPzKf9A6g8WjZYjhiNDNuIVbsm5tXCGIAsHDjB4Xu1C4vXJtUWZo26O68OQkDpNBaPog== + dependencies: + babel-runtime "6.x" + component-classes "^1.2.5" + +css-blank-pseudo@^0.1.4: + version "0.1.4" + resolved "https://registry.yarnpkg.com/css-blank-pseudo/-/css-blank-pseudo-0.1.4.tgz#dfdefd3254bf8a82027993674ccf35483bfcb3c5" + integrity sha512-LHz35Hr83dnFeipc7oqFDmsjHdljj3TQtxGGiNWSOsTLIAubSm4TEz8qCaKFpk7idaQ1GfWscF4E6mgpBysA1w== + dependencies: + postcss "^7.0.5" + +css-box-model@^1.2.0: + version "1.2.1" + resolved "https://registry.yarnpkg.com/css-box-model/-/css-box-model-1.2.1.tgz#59951d3b81fd6b2074a62d49444415b0d2b4d7c1" + integrity sha512-a7Vr4Q/kd/aw96bnJG332W9V9LkJO69JRcaCYDUqjp6/z0w6VcZjgAcTbgFxEPfBgdnAwlh3iwu+hLopa+flJw== + dependencies: + tiny-invariant "^1.0.6" + +css-declaration-sorter@^6.2.2: + version "6.2.2" + resolved "https://registry.yarnpkg.com/css-declaration-sorter/-/css-declaration-sorter-6.2.2.tgz#bfd2f6f50002d6a3ae779a87d3a0c5d5b10e0f02" + integrity sha512-Ufadglr88ZLsrvS11gjeu/40Lw74D9Am/Jpr3LlYm5Q4ZP5KdlUhG+6u2EjyXeZcxmZ2h1ebCKngDjolpeLHpg== + +css-has-pseudo@^0.10.0: + version "0.10.0" + resolved "https://registry.yarnpkg.com/css-has-pseudo/-/css-has-pseudo-0.10.0.tgz#3c642ab34ca242c59c41a125df9105841f6966ee" + integrity sha512-Z8hnfsZu4o/kt+AuFzeGpLVhFOGO9mluyHBaA2bA8aCGTwah5sT3WV/fTHH8UNZUytOIImuGPrl/prlb4oX4qQ== + dependencies: + postcss "^7.0.6" + postcss-selector-parser "^5.0.0-rc.4" + +css-in-js-utils@^2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/css-in-js-utils/-/css-in-js-utils-2.0.1.tgz#3b472b398787291b47cfe3e44fecfdd9e914ba99" + integrity sha512-PJF0SpJT+WdbVVt0AOYp9C8GnuruRlL/UFW7932nLWmFLQTaWEzTBQEx7/hn4BuV+WON75iAViSUJLiU3PKbpA== + dependencies: + hyphenate-style-name "^1.0.2" + isobject "^3.0.1" + +css-loader@3.4.2: + version "3.4.2" + resolved "https://registry.yarnpkg.com/css-loader/-/css-loader-3.4.2.tgz#d3fdb3358b43f233b78501c5ed7b1c6da6133202" + integrity sha512-jYq4zdZT0oS0Iykt+fqnzVLRIeiPWhka+7BqPn+oSIpWJAHak5tmB/WZrJ2a21JhCeFyNnnlroSl8c+MtVndzA== + dependencies: + camelcase "^5.3.1" + cssesc "^3.0.0" + icss-utils "^4.1.1" + loader-utils "^1.2.3" + normalize-path "^3.0.0" + postcss "^7.0.23" + postcss-modules-extract-imports "^2.0.0" + postcss-modules-local-by-default "^3.0.2" + postcss-modules-scope "^2.1.1" + postcss-modules-values "^3.0.0" + postcss-value-parser "^4.0.2" + schema-utils "^2.6.0" + +css-prefers-color-scheme@^3.1.1: + version "3.1.1" + resolved "https://registry.yarnpkg.com/css-prefers-color-scheme/-/css-prefers-color-scheme-3.1.1.tgz#6f830a2714199d4f0d0d0bb8a27916ed65cff1f4" + integrity sha512-MTu6+tMs9S3EUqzmqLXEcgNRbNkkD/TGFvowpeoWJn5Vfq7FMgsmRQs9X5NXAURiOBmOxm/lLjsDNXDE6k9bhg== + dependencies: + postcss "^7.0.5" + +css-select@^4.1.3: + version "4.3.0" + resolved "https://registry.yarnpkg.com/css-select/-/css-select-4.3.0.tgz#db7129b2846662fd8628cfc496abb2b59e41529b" + integrity sha512-wPpOYtnsVontu2mODhA19JrqWxNsfdatRKd64kmpRbQgh1KtItko5sTnEpPdpSaJszTOhEMlF/RPz28qj4HqhQ== + dependencies: + boolbase "^1.0.0" + css-what "^6.0.1" + domhandler "^4.3.1" + domutils "^2.8.0" + nth-check "^2.0.1" + +css-tree@^1.1.2, css-tree@^1.1.3: + version "1.1.3" + resolved "https://registry.yarnpkg.com/css-tree/-/css-tree-1.1.3.tgz#eb4870fb6fd7707327ec95c2ff2ab09b5e8db91d" + integrity sha512-tRpdppF7TRazZrjJ6v3stzv93qxRcSsFmW6cX0Zm2NVKpxE1WV1HblnghVv9TreireHkqI/VDEsfolRF1p6y7Q== + dependencies: + mdn-data "2.0.14" + source-map "^0.6.1" + +css-what@^6.0.1: + version "6.1.0" + resolved "https://registry.yarnpkg.com/css-what/-/css-what-6.1.0.tgz#fb5effcf76f1ddea2c81bdfaa4de44e79bac70f4" + integrity sha512-HTUrgRJ7r4dsZKU6GjmpfRK1O76h97Z8MfS1G0FozR+oF2kG6Vfe8JE6zwrkbxigziPHinCJ+gCPjA9EaBDtRw== + +csscolorparser@~1.0.2: + version "1.0.3" + resolved "https://registry.yarnpkg.com/csscolorparser/-/csscolorparser-1.0.3.tgz#b34f391eea4da8f3e98231e2ccd8df9c041f171b" + integrity sha1-s085HupNqPPpgjHizNjfnAQfFxs= + +cssdb@^4.4.0: + version "4.4.0" + resolved "https://registry.yarnpkg.com/cssdb/-/cssdb-4.4.0.tgz#3bf2f2a68c10f5c6a08abd92378331ee803cddb0" + integrity sha512-LsTAR1JPEM9TpGhl/0p3nQecC2LJ0kD8X5YARu1hk/9I1gril5vDtMZyNxcEpxxDj34YNck/ucjuoUd66K03oQ== + +cssesc@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/cssesc/-/cssesc-2.0.0.tgz#3b13bd1bb1cb36e1bcb5a4dcd27f54c5dcb35703" + integrity sha512-MsCAG1z9lPdoO/IUMLSBWBSVxVtJ1395VGIQ+Fc2gNdkQ1hNDnQdw3YhA71WJCBW1vdwA0cAnk/DnW6bqoEUYg== + +cssesc@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/cssesc/-/cssesc-3.0.0.tgz#37741919903b868565e1c09ea747445cd18983ee" + integrity sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg== + +cssfilter@0.0.10: + version "0.0.10" + resolved "https://registry.yarnpkg.com/cssfilter/-/cssfilter-0.0.10.tgz#c6d2672632a2e5c83e013e6864a42ce8defd20ae" + integrity sha1-xtJnJjKi5cg+AT5oZKQs6N79IK4= + +cssfontparser@^1.2.1: + version "1.2.1" + resolved "https://registry.yarnpkg.com/cssfontparser/-/cssfontparser-1.2.1.tgz#f4022fc8f9700c68029d542084afbaf425a3f3e3" + integrity sha1-9AIvyPlwDGgCnVQghK+69CWj8+M= + +cssmin@0.3.x: + version "0.3.2" + resolved "https://registry.yarnpkg.com/cssmin/-/cssmin-0.3.2.tgz#ddce4c547b510ae0d594a8f1fbf8aaf8e2c5c00d" + +cssnano-preset-default@^5.2.7: + version "5.2.7" + resolved "https://registry.yarnpkg.com/cssnano-preset-default/-/cssnano-preset-default-5.2.7.tgz#791e3603fb8f1b46717ac53b47e3c418e950f5f3" + integrity sha512-JiKP38ymZQK+zVKevphPzNSGHSlTI+AOwlasoSRtSVMUU285O7/6uZyd5NbW92ZHp41m0sSHe6JoZosakj63uA== + dependencies: + css-declaration-sorter "^6.2.2" + cssnano-utils "^3.1.0" + postcss-calc "^8.2.3" + postcss-colormin "^5.3.0" + postcss-convert-values "^5.1.0" + postcss-discard-comments "^5.1.1" + postcss-discard-duplicates "^5.1.0" + postcss-discard-empty "^5.1.1" + postcss-discard-overridden "^5.1.0" + postcss-merge-longhand "^5.1.4" + postcss-merge-rules "^5.1.1" + postcss-minify-font-values "^5.1.0" + postcss-minify-gradients "^5.1.1" + postcss-minify-params "^5.1.2" + postcss-minify-selectors "^5.2.0" + postcss-normalize-charset "^5.1.0" + postcss-normalize-display-values "^5.1.0" + postcss-normalize-positions "^5.1.0" + postcss-normalize-repeat-style "^5.1.0" + postcss-normalize-string "^5.1.0" + postcss-normalize-timing-functions "^5.1.0" + postcss-normalize-unicode "^5.1.0" + postcss-normalize-url "^5.1.0" + postcss-normalize-whitespace "^5.1.1" + postcss-ordered-values "^5.1.1" + postcss-reduce-initial "^5.1.0" + postcss-reduce-transforms "^5.1.0" + postcss-svgo "^5.1.0" + postcss-unique-selectors "^5.1.1" + +cssnano-utils@^3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/cssnano-utils/-/cssnano-utils-3.1.0.tgz#95684d08c91511edfc70d2636338ca37ef3a6861" + integrity sha512-JQNR19/YZhz4psLX/rQ9M83e3z2Wf/HdJbryzte4a3NSuafyp9w/I4U+hx5C2S9g41qlstH7DEWnZaaj83OuEA== + +cssnano@^5.0.2: + version "5.1.7" + resolved "https://registry.yarnpkg.com/cssnano/-/cssnano-5.1.7.tgz#99858bef6c76c9240f0cdc9239570bc7db8368be" + integrity sha512-pVsUV6LcTXif7lvKKW9ZrmX+rGRzxkEdJuVJcp5ftUjWITgwam5LMZOgaTvUrWPkcORBey6he7JKb4XAJvrpKg== + dependencies: + cssnano-preset-default "^5.2.7" + lilconfig "^2.0.3" + yaml "^1.10.2" + +csso@^4.2.0: + version "4.2.0" + resolved "https://registry.yarnpkg.com/csso/-/csso-4.2.0.tgz#ea3a561346e8dc9f546d6febedd50187cf389529" + integrity sha512-wvlcdIbf6pwKEk7vHj8/Bkc0B4ylXZruLvOgs9doS5eOsOpuodOV2zJChSpkp+pRpYQLQMeF04nr3Z68Sta9jA== + dependencies: + css-tree "^1.1.2" + +cssom@^0.4.1, cssom@^0.4.4: + version "0.4.4" + resolved "https://registry.yarnpkg.com/cssom/-/cssom-0.4.4.tgz#5a66cf93d2d0b661d80bf6a44fb65f5c2e4e0a10" + integrity sha512-p3pvU7r1MyyqbTk+WbNJIgJjG2VmTIaB10rI93LzVPrmDJKkzKYMtxxyAvQXR/NS6otuzveI7+7BBq3SjBS2mw== + +cssom@~0.3.6: + version "0.3.8" + resolved "https://registry.yarnpkg.com/cssom/-/cssom-0.3.8.tgz#9f1276f5b2b463f2114d3f2c75250af8c1a36f4a" + integrity sha512-b0tGHbfegbhPJpxpiBPU2sCkigAqtM9O121le6bbOlgyV+NyGyCmVfJ6QW9eRjz8CpNfWEOYBIMIGRYkLwsIYg== + +cssstyle@^2.0.0, cssstyle@^2.3.0: + version "2.3.0" + resolved "https://registry.yarnpkg.com/cssstyle/-/cssstyle-2.3.0.tgz#ff665a0ddbdc31864b09647f34163443d90b0852" + integrity sha512-AZL67abkUzIuvcHqk7c09cezpGNcxUxU4Ioi/05xHk4DQeTkWmGYftIE6ctU6AEt+Gn4n1lDStOtj7FKycP71A== + dependencies: + cssom "~0.3.6" + +csstype@^3.0.2, csstype@^3.0.6: + version "3.0.11" + resolved "https://registry.yarnpkg.com/csstype/-/csstype-3.0.11.tgz#d66700c5eacfac1940deb4e3ee5642792d85cd33" + integrity sha512-sa6P2wJ+CAbgyy4KFssIb/JNMLxFvKF1pCYCSXS8ZMuqZnMsrxqI2E5sPyoTpxoPU/gVZMzr2zjOfg8GIZOMsw== + +currently-unhandled@^0.4.1: + version "0.4.1" + resolved "https://registry.yarnpkg.com/currently-unhandled/-/currently-unhandled-0.4.1.tgz#988df33feab191ef799a61369dd76c17adf957ea" + dependencies: + array-find-index "^1.0.1" + +custom-event@~1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/custom-event/-/custom-event-1.0.1.tgz#5d02a46850adf1b4a317946a3928fccb5bfd0425" + +cycle@1.0.x: + version "1.0.3" + resolved "https://registry.yarnpkg.com/cycle/-/cycle-1.0.3.tgz#21e80b2be8580f98b468f379430662b046c34ad2" + +cyclist@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/cyclist/-/cyclist-1.0.1.tgz#596e9698fd0c80e12038c2b82d6eb1b35b6224d9" + integrity sha1-WW6WmP0MgOEgOMK4LW6xs1tiJNk= + +d3-array@1, d3-array@^1.1.1, d3-array@^1.2.0: + version "1.2.4" + resolved "https://registry.yarnpkg.com/d3-array/-/d3-array-1.2.4.tgz#635ce4d5eea759f6f605863dbcfc30edc737f71f" + integrity sha512-KHW6M86R+FUPYGb3R5XiYjXPq7VzwxZ22buHhAEVG5ztoEcZZMLov530mmccaqA1GghZArjQV46fuc8kUqhhHw== + +d3-axis@1: + version "1.0.12" + resolved "https://registry.yarnpkg.com/d3-axis/-/d3-axis-1.0.12.tgz#cdf20ba210cfbb43795af33756886fb3638daac9" + integrity sha512-ejINPfPSNdGFKEOAtnBtdkpr24c4d4jsei6Lg98mxf424ivoDP2956/5HDpIAtmHo85lqT4pruy+zEgvRUBqaQ== + +d3-brush@1: + version "1.1.6" + resolved "https://registry.yarnpkg.com/d3-brush/-/d3-brush-1.1.6.tgz#b0a22c7372cabec128bdddf9bddc058592f89e9b" + integrity sha512-7RW+w7HfMCPyZLifTz/UnJmI5kdkXtpCbombUSs8xniAyo0vIbrDzDwUJB6eJOgl9u5DQOt2TQlYumxzD1SvYA== + dependencies: + d3-dispatch "1" + d3-drag "1" + d3-interpolate "1" + d3-selection "1" + d3-transition "1" + +d3-chord@1: + version "1.0.6" + resolved "https://registry.yarnpkg.com/d3-chord/-/d3-chord-1.0.6.tgz#309157e3f2db2c752f0280fedd35f2067ccbb15f" + integrity sha512-JXA2Dro1Fxw9rJe33Uv+Ckr5IrAa74TlfDEhE/jfLOaXegMQFQTAgAw9WnZL8+HxVBRXaRGCkrNU7pJeylRIuA== + dependencies: + d3-array "1" + d3-path "1" + +d3-collection@1: + version "1.0.7" + resolved "https://registry.yarnpkg.com/d3-collection/-/d3-collection-1.0.7.tgz#349bd2aa9977db071091c13144d5e4f16b5b310e" + integrity sha512-ii0/r5f4sjKNTfh84Di+DpztYwqKhEyUlKoPrzUFfeSkWxjW49xU2QzO9qrPrNkpdI0XJkfzvmTu8V2Zylln6A== + +d3-color@1: + version "1.4.1" + resolved "https://registry.yarnpkg.com/d3-color/-/d3-color-1.4.1.tgz#c52002bf8846ada4424d55d97982fef26eb3bc8a" + integrity sha512-p2sTHSLCJI2QKunbGb7ocOh7DgTAn8IrLx21QRc/BSnodXM4sv6aLQlnfpvehFMLZEfBc6g9pH9SWQccFYfJ9Q== + +d3-contour@1: + version "1.3.2" + resolved "https://registry.yarnpkg.com/d3-contour/-/d3-contour-1.3.2.tgz#652aacd500d2264cb3423cee10db69f6f59bead3" + integrity sha512-hoPp4K/rJCu0ladiH6zmJUEz6+u3lgR+GSm/QdM2BBvDraU39Vr7YdDCicJcxP1z8i9B/2dJLgDC1NcvlF8WCg== + dependencies: + d3-array "^1.1.1" + +d3-dispatch@1: + version "1.0.6" + resolved "https://registry.yarnpkg.com/d3-dispatch/-/d3-dispatch-1.0.6.tgz#00d37bcee4dd8cd97729dd893a0ac29caaba5d58" + integrity sha512-fVjoElzjhCEy+Hbn8KygnmMS7Or0a9sI2UzGwoB7cCtvI1XpVN9GpoYlnb3xt2YV66oXYb1fLJ8GMvP4hdU1RA== + +d3-drag@1: + version "1.2.5" + resolved "https://registry.yarnpkg.com/d3-drag/-/d3-drag-1.2.5.tgz#2537f451acd39d31406677b7dc77c82f7d988f70" + integrity sha512-rD1ohlkKQwMZYkQlYVCrSFxsWPzI97+W+PaEIBNTMxRuxz9RF0Hi5nJWHGVJ3Om9d2fRTe1yOBINJyy/ahV95w== + dependencies: + d3-dispatch "1" + d3-selection "1" + +d3-dsv@1: + version "1.2.0" + resolved "https://registry.yarnpkg.com/d3-dsv/-/d3-dsv-1.2.0.tgz#9d5f75c3a5f8abd611f74d3f5847b0d4338b885c" + integrity sha512-9yVlqvZcSOMhCYzniHE7EVUws7Fa1zgw+/EAV2BxJoG3ME19V6BQFBwI855XQDsxyOuG7NibqRMTtiF/Qup46g== + dependencies: + commander "2" + iconv-lite "0.4" + rw "1" + +d3-ease@1: + version "1.0.7" + resolved "https://registry.yarnpkg.com/d3-ease/-/d3-ease-1.0.7.tgz#9a834890ef8b8ae8c558b2fe55bd57f5993b85e2" + integrity sha512-lx14ZPYkhNx0s/2HX5sLFUI3mbasHjSSpwO/KaaNACweVwxUruKyWVcb293wMv1RqTPZyZ8kSZ2NogUZNcLOFQ== + +d3-fetch@1: + version "1.2.0" + resolved "https://registry.yarnpkg.com/d3-fetch/-/d3-fetch-1.2.0.tgz#15ce2ecfc41b092b1db50abd2c552c2316cf7fc7" + integrity sha512-yC78NBVcd2zFAyR/HnUiBS7Lf6inSCoWcSxFfw8FYL7ydiqe80SazNwoffcqOfs95XaLo7yebsmQqDKSsXUtvA== + dependencies: + d3-dsv "1" + +d3-force@1: + version "1.2.1" + resolved "https://registry.yarnpkg.com/d3-force/-/d3-force-1.2.1.tgz#fd29a5d1ff181c9e7f0669e4bd72bdb0e914ec0b" + integrity sha512-HHvehyaiUlVo5CxBJ0yF/xny4xoaxFxDnBXNvNcfW9adORGZfyNF1dj6DGLKyk4Yh3brP/1h3rnDzdIAwL08zg== + dependencies: + d3-collection "1" + d3-dispatch "1" + d3-quadtree "1" + d3-timer "1" + +d3-format@1: + version "1.4.5" + resolved "https://registry.yarnpkg.com/d3-format/-/d3-format-1.4.5.tgz#374f2ba1320e3717eb74a9356c67daee17a7edb4" + integrity sha512-J0piedu6Z8iB6TbIGfZgDzfXxUFN3qQRMofy2oPdXzQibYGqPB/9iMcxr/TGalU+2RsyDO+U4f33id8tbnSRMQ== + +d3-geo@1: + version "1.12.1" + resolved "https://registry.yarnpkg.com/d3-geo/-/d3-geo-1.12.1.tgz#7fc2ab7414b72e59fbcbd603e80d9adc029b035f" + integrity sha512-XG4d1c/UJSEX9NfU02KwBL6BYPj8YKHxgBEw5om2ZnTRSbIcego6dhHwcxuSR3clxh0EpE38os1DVPOmnYtTPg== + dependencies: + d3-array "1" + +d3-hierarchy@1: + version "1.1.9" + resolved "https://registry.yarnpkg.com/d3-hierarchy/-/d3-hierarchy-1.1.9.tgz#2f6bee24caaea43f8dc37545fa01628559647a83" + integrity sha512-j8tPxlqh1srJHAtxfvOUwKNYJkQuBFdM1+JAUfq6xqH5eAqf93L7oG1NVqDa4CpFZNvnNKtCYEUC8KY9yEn9lQ== + +d3-interpolate@1, d3-interpolate@1.4.0: + version "1.4.0" + resolved "https://registry.yarnpkg.com/d3-interpolate/-/d3-interpolate-1.4.0.tgz#526e79e2d80daa383f9e0c1c1c7dcc0f0583e987" + integrity sha512-V9znK0zc3jOPV4VD2zZn0sDhZU3WAE2bmlxdIwwQPPzPjvyLkd8B3JUVdS1IDUFDkWZ72c9qnv1GK2ZagTZ8EA== + dependencies: + d3-color "1" + +d3-path@1: + version "1.0.9" + resolved "https://registry.yarnpkg.com/d3-path/-/d3-path-1.0.9.tgz#48c050bb1fe8c262493a8caf5524e3e9591701cf" + integrity sha512-VLaYcn81dtHVTjEHd8B+pbe9yHWpXKZUC87PzoFmsFrJqgFwDe/qxfp5MlfsfM1V5E/iVt0MmEbWQ7FVIXh/bg== + +d3-polygon@1: + version "1.0.6" + resolved "https://registry.yarnpkg.com/d3-polygon/-/d3-polygon-1.0.6.tgz#0bf8cb8180a6dc107f518ddf7975e12abbfbd38e" + integrity sha512-k+RF7WvI08PC8reEoXa/w2nSg5AUMTi+peBD9cmFc+0ixHfbs4QmxxkarVal1IkVkgxVuk9JSHhJURHiyHKAuQ== + +d3-quadtree@1: + version "1.0.7" + resolved "https://registry.yarnpkg.com/d3-quadtree/-/d3-quadtree-1.0.7.tgz#ca8b84df7bb53763fe3c2f24bd435137f4e53135" + integrity sha512-RKPAeXnkC59IDGD0Wu5mANy0Q2V28L+fNe65pOCXVdVuTJS3WPKaJlFHer32Rbh9gIo9qMuJXio8ra4+YmIymA== + +d3-random@1: + version "1.1.2" + resolved "https://registry.yarnpkg.com/d3-random/-/d3-random-1.1.2.tgz#2833be7c124360bf9e2d3fd4f33847cfe6cab291" + integrity sha512-6AK5BNpIFqP+cx/sreKzNjWbwZQCSUatxq+pPRmFIQaWuoD+NrbVWw7YWpHiXpCQ/NanKdtGDuB+VQcZDaEmYQ== + +d3-scale-chromatic@1: + version "1.5.0" + resolved "https://registry.yarnpkg.com/d3-scale-chromatic/-/d3-scale-chromatic-1.5.0.tgz#54e333fc78212f439b14641fb55801dd81135a98" + integrity sha512-ACcL46DYImpRFMBcpk9HhtIyC7bTBR4fNOPxwVSl0LfulDAwyiHyPOTqcDG1+t5d4P9W7t/2NAuWu59aKko/cg== + dependencies: + d3-color "1" + d3-interpolate "1" + +d3-scale@2: + version "2.2.2" + resolved "https://registry.yarnpkg.com/d3-scale/-/d3-scale-2.2.2.tgz#4e880e0b2745acaaddd3ede26a9e908a9e17b81f" + integrity sha512-LbeEvGgIb8UMcAa0EATLNX0lelKWGYDQiPdHj+gLblGVhGLyNbaCn3EvrJf0A3Y/uOOU5aD6MTh5ZFCdEwGiCw== + dependencies: + d3-array "^1.2.0" + d3-collection "1" + d3-format "1" + d3-interpolate "1" + d3-time "1" + d3-time-format "2" + +d3-selection@1, d3-selection@^1.1.0: + version "1.4.2" + resolved "https://registry.yarnpkg.com/d3-selection/-/d3-selection-1.4.2.tgz#dcaa49522c0dbf32d6c1858afc26b6094555bc5c" + integrity sha512-SJ0BqYihzOjDnnlfyeHT0e30k0K1+5sR3d5fNueCNeuhZTnGw4M4o8mqJchSwgKMXCNFo+e2VTChiSJ0vYtXkg== + +d3-shape@1: + version "1.3.7" + resolved "https://registry.yarnpkg.com/d3-shape/-/d3-shape-1.3.7.tgz#df63801be07bc986bc54f63789b4fe502992b5d7" + integrity sha512-EUkvKjqPFUAZyOlhY5gzCxCeI0Aep04LwIRpsZ/mLFelJiUfnK56jo5JMDSE7yyP2kLSb6LtF+S5chMk7uqPqw== + dependencies: + d3-path "1" + +d3-time-format@2: + version "2.3.0" + resolved "https://registry.yarnpkg.com/d3-time-format/-/d3-time-format-2.3.0.tgz#107bdc028667788a8924ba040faf1fbccd5a7850" + integrity sha512-guv6b2H37s2Uq/GefleCDtbe0XZAuy7Wa49VGkPVPMfLL9qObgBST3lEHJBMUp8S7NdLQAGIvr2KXk8Hc98iKQ== + dependencies: + d3-time "1" + +d3-time@1: + version "1.1.0" + resolved "https://registry.yarnpkg.com/d3-time/-/d3-time-1.1.0.tgz#b1e19d307dae9c900b7e5b25ffc5dcc249a8a0f1" + integrity sha512-Xh0isrZ5rPYYdqhAVk8VLnMEidhz5aP7htAADH6MfzgmmicPkTo8LhkLxci61/lCB7n7UmE3bN0leRt+qvkLxA== + +d3-timer@1: + version "1.0.10" + resolved "https://registry.yarnpkg.com/d3-timer/-/d3-timer-1.0.10.tgz#dfe76b8a91748831b13b6d9c793ffbd508dd9de5" + integrity sha512-B1JDm0XDaQC+uvo4DT79H0XmBskgS3l6Ve+1SBCfxgmtIb1AVrPIoqd+nPSv+loMX8szQ0sVUhGngL7D5QPiXw== + +d3-transition@1: + version "1.3.2" + resolved "https://registry.yarnpkg.com/d3-transition/-/d3-transition-1.3.2.tgz#a98ef2151be8d8600543434c1ca80140ae23b398" + integrity sha512-sc0gRU4PFqZ47lPVHloMn9tlPcv8jxgOQg+0zjhfZXMQuvppjG6YuwdMBE0TuqCZjeJkLecku/l9R0JPcRhaDA== + dependencies: + d3-color "1" + d3-dispatch "1" + d3-ease "1" + d3-interpolate "1" + d3-selection "^1.1.0" + d3-timer "1" + +d3-voronoi@1: + version "1.1.4" + resolved "https://registry.yarnpkg.com/d3-voronoi/-/d3-voronoi-1.1.4.tgz#dd3c78d7653d2bb359284ae478645d95944c8297" + integrity sha512-dArJ32hchFsrQ8uMiTBLq256MpnZjeuBtdHpaDlYuQyjU0CVzCJl/BVW+SkszaAeH95D/8gxqAhgx0ouAWAfRg== + +d3-zoom@1: + version "1.8.3" + resolved "https://registry.yarnpkg.com/d3-zoom/-/d3-zoom-1.8.3.tgz#b6a3dbe738c7763121cd05b8a7795ffe17f4fc0a" + integrity sha512-VoLXTK4wvy1a0JpH2Il+F2CiOhVu7VRXWF5M/LroMIh3/zBAC3WAt7QoIvPibOavVo20hN6/37vwAsdBejLyKQ== + dependencies: + d3-dispatch "1" + d3-drag "1" + d3-interpolate "1" + d3-selection "1" + d3-transition "1" + +d3@5.15.0: + version "5.15.0" + resolved "https://registry.yarnpkg.com/d3/-/d3-5.15.0.tgz#ffd44958e6a3cb8a59a84429c45429b8bca5677a" + integrity sha512-C+E80SL2nLLtmykZ6klwYj5rPqB5nlfN5LdWEAVdWPppqTD8taoJi2PxLZjPeYT8FFRR2yucXq+kBlOnnvZeLg== + dependencies: + d3-array "1" + d3-axis "1" + d3-brush "1" + d3-chord "1" + d3-collection "1" + d3-color "1" + d3-contour "1" + d3-dispatch "1" + d3-drag "1" + d3-dsv "1" + d3-ease "1" + d3-fetch "1" + d3-force "1" + d3-format "1" + d3-geo "1" + d3-hierarchy "1" + d3-interpolate "1" + d3-path "1" + d3-polygon "1" + d3-quadtree "1" + d3-random "1" + d3-scale "2" + d3-scale-chromatic "1" + d3-selection "1" + d3-shape "1" + d3-time "1" + d3-time-format "2" + d3-timer "1" + d3-transition "1" + d3-voronoi "1" + d3-zoom "1" + +dashdash@^1.12.0: + version "1.14.1" + resolved "https://registry.yarnpkg.com/dashdash/-/dashdash-1.14.1.tgz#853cfa0f7cbe2fed5de20326b8dd581035f6e2f0" + dependencies: + assert-plus "^1.0.0" + +data-urls@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/data-urls/-/data-urls-1.1.0.tgz#15ee0582baa5e22bb59c77140da8f9c76963bbfe" + integrity sha512-YTWYI9se1P55u58gL5GkQHW4P6VJBJ5iBT+B5a7i2Tjadhv52paJG0qHX4A0OR6/t52odI64KP2YvFpkDOi3eQ== + dependencies: + abab "^2.0.0" + whatwg-mimetype "^2.2.0" + whatwg-url "^7.0.0" + +data-urls@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/data-urls/-/data-urls-2.0.0.tgz#156485a72963a970f5d5821aaf642bef2bf2db9b" + integrity sha512-X5eWTSXO/BJmpdIKCRuKUgSCgAN0OwliVK3yPKbwIWU1Tdw5BRajxlzMidvh+gwko9AfQ9zIj52pzF91Q3YAvQ== + dependencies: + abab "^2.0.3" + whatwg-mimetype "^2.3.0" + whatwg-url "^8.0.0" + +date-fns@2.28.0, date-fns@^2.16.1: + version "2.28.0" + resolved "https://registry.yarnpkg.com/date-fns/-/date-fns-2.28.0.tgz#9570d656f5fc13143e50c975a3b6bbeb46cd08b2" + integrity sha512-8d35hViGYx/QH0icHYCeLmsLmMUheMmTyV9Fcm6gvNwdw31yXXH+O85sOBJ+OLnLQMKZowvpKb6FgMIQjcpvQw== + +dateformat@~1.0.12: + version "1.0.12" + resolved "https://registry.yarnpkg.com/dateformat/-/dateformat-1.0.12.tgz#9f124b67594c937ff706932e4a642cca8dbbfee9" + dependencies: + get-stdin "^4.0.1" + meow "^3.3.0" + +debug@2.2.0, debug@~2.2.0: + version "2.2.0" + resolved "https://registry.yarnpkg.com/debug/-/debug-2.2.0.tgz#f87057e995b1a1f6ae6a4960664137bc56f039da" + dependencies: + ms "0.7.1" + +debug@2.3.3: + version "2.3.3" + resolved "https://registry.yarnpkg.com/debug/-/debug-2.3.3.tgz#40c453e67e6e13c901ddec317af8986cda9eff8c" + dependencies: + ms "0.7.2" + +debug@2.6.9, debug@^2.2.0, debug@^2.3.3, debug@^2.6.0: + version "2.6.9" + resolved "https://registry.yarnpkg.com/debug/-/debug-2.6.9.tgz#5d128515df134ff327e90a4c93f4e077a536341f" + dependencies: + ms "2.0.0" + +debug@4, debug@^4.0.1, debug@^4.1.0, debug@^4.1.1, debug@^4.3.1, debug@^4.3.2, debug@^4.3.3: + version "4.3.4" + resolved "https://registry.yarnpkg.com/debug/-/debug-4.3.4.tgz#1319f6579357f2338d3337d2cdd4914bb5dcc865" + integrity sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ== + dependencies: + ms "2.1.2" + +debug@^3.1.0: + version "3.2.7" + resolved "https://registry.yarnpkg.com/debug/-/debug-3.2.7.tgz#72580b7e9145fb39b6676f9c5e5fb100b934179a" + integrity sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ== + dependencies: + ms "^2.1.1" + +decamelize@^1.1.2, decamelize@^1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/decamelize/-/decamelize-1.2.0.tgz#f6534d15148269b20352e7bee26f501f9a191290" + +decimal.js@^10.2.1: + version "10.3.1" + resolved "https://registry.yarnpkg.com/decimal.js/-/decimal.js-10.3.1.tgz#d8c3a444a9c6774ba60ca6ad7261c3a94fd5e783" + integrity sha512-V0pfhfr8suzyPGOx3nmq4aHqabehUZn6Ch9kyFpV79TGDTWFmHqUqXdabR7QHqxzrYolF4+tVmJhUG4OURg5dQ== + +decode-uri-component@^0.2.0: + version "0.2.0" + resolved "https://registry.yarnpkg.com/decode-uri-component/-/decode-uri-component-0.2.0.tgz#eb3913333458775cb84cd1a1fae062106bb87545" + integrity sha1-6zkTMzRYd1y4TNGh+uBiEGu4dUU= + +deep-extend@~0.4.0: + version "0.4.2" + resolved "https://registry.yarnpkg.com/deep-extend/-/deep-extend-0.4.2.tgz#48b699c27e334bf89f10892be432f6e4c7d34a7f" + +deep-is@^0.1.3, deep-is@~0.1.3: + version "0.1.4" + resolved "https://registry.yarnpkg.com/deep-is/-/deep-is-0.1.4.tgz#a6f2dce612fadd2ef1f519b73551f17e85199831" + integrity sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ== + +deepmerge@^4.2.2: + version "4.2.2" + resolved "https://registry.yarnpkg.com/deepmerge/-/deepmerge-4.2.2.tgz#44d2ea3679b8f4d4ffba33f03d865fc1e7bf4955" + integrity sha512-FJ3UgI4gIl+PHZm53knsuSFpE+nESMr7M4v9QcgB7S63Kj/6WqMiFQJpBBYz1Pt+66bZpP3Q7Lye0Oo9MPKEdg== + +defaults@^1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/defaults/-/defaults-1.0.3.tgz#c656051e9817d9ff08ed881477f3fe4019f3ef7d" + integrity sha1-xlYFHpgX2f8I7YgUd/P+QBnz730= + dependencies: + clone "^1.0.2" + +define-lazy-prop@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/define-lazy-prop/-/define-lazy-prop-2.0.0.tgz#3f7ae421129bcaaac9bc74905c98a0009ec9ee7f" + integrity sha512-Ds09qNh8yw3khSjiJjiUInaGX9xlqZDY7JVryGxdxV7NPeuqQfplOpQ66yJFZut3jLa5zOwkXw1g9EI2uKh4Og== + +define-properties@^1.1.2, define-properties@^1.1.3: + version "1.1.4" + resolved "https://registry.yarnpkg.com/define-properties/-/define-properties-1.1.4.tgz#0b14d7bd7fbeb2f3572c3a7eda80ea5d57fb05b1" + integrity sha512-uckOqKcfaVvtBdsVkdPv3XjveQJsNQqmhXgRi8uhvWWuPYZCNlzT8qAyblUgNoXdHdjMTzAqeGjAoli8f+bzPA== + dependencies: + has-property-descriptors "^1.0.0" + object-keys "^1.1.1" + +define-property@^0.2.5: + version "0.2.5" + resolved "https://registry.yarnpkg.com/define-property/-/define-property-0.2.5.tgz#c35b1ef918ec3c990f9a5bc57be04aacec5c8116" + integrity sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY= + dependencies: + is-descriptor "^0.1.0" + +define-property@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/define-property/-/define-property-1.0.0.tgz#769ebaaf3f4a63aad3af9e8d304c9bbe79bfb0e6" + integrity sha1-dp66rz9KY6rTr56NMEybvnm/sOY= + dependencies: + is-descriptor "^1.0.0" + +define-property@^2.0.2: + version "2.0.2" + resolved "https://registry.yarnpkg.com/define-property/-/define-property-2.0.2.tgz#d459689e8d654ba77e02a817f8710d702cb16e9d" + integrity sha512-jwK2UV4cnPpbcG7+VRARKTZPUWowwXA8bzH5NP6ud0oeAxyYPuGZUAC7hMugpCdz4BeSZl2Dl9k66CHJ/46ZYQ== + dependencies: + is-descriptor "^1.0.2" + isobject "^3.0.1" + +delayed-stream@~1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/delayed-stream/-/delayed-stream-1.0.0.tgz#df3ae199acadfb7d440aaae0b29e2272b24ec619" + +delegates@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/delegates/-/delegates-1.0.0.tgz#84c6e159b81904fdca59a0ef44cd870d31250f9a" + +depd@1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/depd/-/depd-1.1.1.tgz#5783b4e1c459f06fa5ca27f991f3d06e7a310359" + +depd@~1.1.0, depd@~1.1.1: + version "1.1.2" + resolved "https://registry.yarnpkg.com/depd/-/depd-1.1.2.tgz#9bcd52e14c097763e749b274c4346ed2e560b5a9" + +des.js@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/des.js/-/des.js-1.0.1.tgz#5382142e1bdc53f85d86d53e5f4aa7deb91e0843" + integrity sha512-Q0I4pfFrv2VPd34/vfLrFOoRmlYj3OV50i7fskps1jZWK1kApMWWT9G6RRUeYedLcBDIhnSDaUvJMb3AhUlaEA== + dependencies: + inherits "^2.0.1" + minimalistic-assert "^1.0.0" + +detect-libc@^1.0.2: + version "1.0.3" + resolved "https://registry.yarnpkg.com/detect-libc/-/detect-libc-1.0.3.tgz#fa137c4bd698edf55cd5cd02ac559f91a4c4ba9b" + +detect-newline@^3.0.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/detect-newline/-/detect-newline-3.1.0.tgz#576f5dfc63ae1a192ff192d8ad3af6308991b651" + integrity sha512-TLz+x/vEXm/Y7P7wn1EJFNLxYpUD4TgMosxY6fAVJUnJMbupHBOncxyWUG9OpTaH9EBD7uFI5LfEgmMOc54DsA== + +detect-port-alt@^1.1.6: + version "1.1.6" + resolved "https://registry.yarnpkg.com/detect-port-alt/-/detect-port-alt-1.1.6.tgz#24707deabe932d4a3cf621302027c2b266568275" + integrity sha512-5tQykt+LqfJFBEYaDITx7S7cR7mJ/zQmLXZ2qt5w04ainYZw6tBf9dBunMjVeVOdYVRUzUOE4HkY5J7+uttb5Q== + dependencies: + address "^1.0.1" + debug "^2.6.0" + +di@^0.0.1: + version "0.0.1" + resolved "https://registry.yarnpkg.com/di/-/di-0.0.1.tgz#806649326ceaa7caa3306d75d985ea2748ba913c" + +diff-sequences@^26.6.2: + version "26.6.2" + resolved "https://registry.yarnpkg.com/diff-sequences/-/diff-sequences-26.6.2.tgz#48ba99157de1923412eed41db6b6d4aa9ca7c0b1" + integrity sha512-Mv/TDa3nZ9sbc5soK+OoA74BsS3mL37yixCvUAQkiuA4Wz6YtwP/K47n2rv2ovzHZvoiQeA5FTQOschKkEwB0Q== + +diff-sequences@^27.5.1: + version "27.5.1" + resolved "https://registry.yarnpkg.com/diff-sequences/-/diff-sequences-27.5.1.tgz#eaecc0d327fd68c8d9672a1e64ab8dccb2ef5327" + integrity sha512-k1gCAXAsNgLwEL+Y8Wvl+M6oEFj5bgazfZULpS5CneoPPXRaCCW7dm+q21Ky2VEE5X+VeRDBVg1Pcvvsr4TtNQ== + +diff@^3.1.0: + version "3.5.0" + resolved "https://registry.yarnpkg.com/diff/-/diff-3.5.0.tgz#800c0dd1e0a8bfbc95835c202ad220fe317e5a12" + +diff@^4.0.1: + version "4.0.2" + resolved "https://registry.yarnpkg.com/diff/-/diff-4.0.2.tgz#60f3aecb89d5fae520c11aa19efc2bb982aade7d" + integrity sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A== + +diffie-hellman@^5.0.0: + version "5.0.3" + resolved "https://registry.yarnpkg.com/diffie-hellman/-/diffie-hellman-5.0.3.tgz#40e8ee98f55a2149607146921c63e1ae5f3d2875" + integrity sha512-kqag/Nl+f3GwyK25fhUMYj81BUOrZ9IuJsjIcDE5icNM9FJHAVm3VcUDxdLPoQtTuUylWm6ZIknYJwwaPxsUzg== + dependencies: + bn.js "^4.1.0" + miller-rabin "^4.0.0" + randombytes "^2.0.0" + +dir-glob@^2.0.0: + version "2.2.2" + resolved "https://registry.yarnpkg.com/dir-glob/-/dir-glob-2.2.2.tgz#fa09f0694153c8918b18ba0deafae94769fc50c4" + integrity sha512-f9LBi5QWzIW3I6e//uxZoLBlUt9kcp66qo0sSCxL6YZKc75R1c4MFCoe/LaZiBGmgujvQdxc5Bn3QhfyvK5Hsw== + dependencies: + path-type "^3.0.0" + +dir-glob@^3.0.1: + version "3.0.1" + resolved "https://registry.yarnpkg.com/dir-glob/-/dir-glob-3.0.1.tgz#56dbf73d992a4a93ba1584f4534063fd2e41717f" + integrity sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA== + dependencies: + path-type "^4.0.0" + +direction@^0.1.5: + version "0.1.5" + resolved "https://registry.yarnpkg.com/direction/-/direction-0.1.5.tgz#ce5d797f97e26f8be7beff53f7dc40e1c1a9ec4c" + integrity sha1-zl15f5fib4vnvv9T99xA4cGp7Ew= + +doctrine@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/doctrine/-/doctrine-2.1.0.tgz#5cd01fc101621b42c4cd7f5d1a66243716d3f39d" + integrity sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw== + dependencies: + esutils "^2.0.2" + +doctrine@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/doctrine/-/doctrine-3.0.0.tgz#addebead72a6574db783639dc87a121773973961" + integrity sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w== + dependencies: + esutils "^2.0.2" + +dom-accessibility-api@^0.5.9: + version "0.5.14" + resolved "https://registry.yarnpkg.com/dom-accessibility-api/-/dom-accessibility-api-0.5.14.tgz#56082f71b1dc7aac69d83c4285eef39c15d93f56" + integrity sha512-NMt+m9zFMPZe0JcY9gN224Qvk6qLIdqex29clBvc/y75ZBX9YA9wNK3frsYvu2DI1xcCIwxwnX+TlsJ2DSOADg== + +dom-align@^1.7.0: + version "1.12.3" + resolved "https://registry.yarnpkg.com/dom-align/-/dom-align-1.12.3.tgz#a36d02531dae0eefa2abb0c4db6595250526f103" + integrity sha512-Gj9hZN3a07cbR6zviMUBOMPdWxYhbMI+x+WS0NAIu2zFZmbK8ys9R79g+iG9qLnlCwpFoaB+fKy8Pdv470GsPA== + +dom-converter@^0.2.0: + version "0.2.0" + resolved "https://registry.yarnpkg.com/dom-converter/-/dom-converter-0.2.0.tgz#6721a9daee2e293682955b6afe416771627bb768" + integrity sha512-gd3ypIPfOMr9h5jIKq8E3sHOTCjeirnl0WK5ZdS1AW0Odt0b1PaWaHdJ4Qk4klv+YB9aJBS7mESXjFoDQPu6DA== + dependencies: + utila "~0.4" + +dom-css@^2.0.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/dom-css/-/dom-css-2.1.0.tgz#fdbc2d5a015d0a3e1872e11472bbd0e7b9e6a202" + integrity sha1-/bwtWgFdCj4YcuEUcrvQ57nmogI= + dependencies: + add-px-to-style "1.0.0" + prefix-style "2.0.1" + to-camel-case "1.0.0" + +dom-helpers@^3.3.1: + version "3.4.0" + resolved "https://registry.yarnpkg.com/dom-helpers/-/dom-helpers-3.4.0.tgz#e9b369700f959f62ecde5a6babde4bccd9169af8" + integrity sha512-LnuPJ+dwqKDIyotW1VzmOZ5TONUN7CwkCR5hrgawTUbkBGYdeoNLZo6nNfGkCrjtE1nXXaj7iMMpDa8/d9WoIA== + dependencies: + "@babel/runtime" "^7.1.2" + +dom-helpers@^5.0.1: + version "5.2.1" + resolved "https://registry.yarnpkg.com/dom-helpers/-/dom-helpers-5.2.1.tgz#d9400536b2bf8225ad98fe052e029451ac40e902" + integrity sha512-nRCa7CK3VTrM2NmGkIy4cbK7IZlgBE/PYMn55rrXefr5xXDP0LdtfPnblFDoVdcAfslJ7or6iqAUnx0CCGIWQA== + dependencies: + "@babel/runtime" "^7.8.7" + csstype "^3.0.2" + +dom-serialize@^2.2.0: + version "2.2.1" + resolved "https://registry.yarnpkg.com/dom-serialize/-/dom-serialize-2.2.1.tgz#562ae8999f44be5ea3076f5419dcd59eb43ac95b" + dependencies: + custom-event "~1.0.0" + ent "~2.2.0" + extend "^3.0.0" + void-elements "^2.0.0" + +dom-serializer@^1.0.1: + version "1.4.1" + resolved "https://registry.yarnpkg.com/dom-serializer/-/dom-serializer-1.4.1.tgz#de5d41b1aea290215dc45a6dae8adcf1d32e2d30" + integrity sha512-VHwB3KfrcOOkelEG2ZOfxqLZdfkil8PtJi4P8N2MMXucZq2yLp75ClViUlOVwyoHEDjYU433Aq+5zWP61+RGag== + dependencies: + domelementtype "^2.0.1" + domhandler "^4.2.0" + entities "^2.0.0" + +domain-browser@^1.1.1: + version "1.2.0" + resolved "https://registry.yarnpkg.com/domain-browser/-/domain-browser-1.2.0.tgz#3d31f50191a6749dd1375a7f522e823d42e54eda" + integrity sha512-jnjyiM6eRyZl2H+W8Q/zLMA481hzi0eszAaBUzIVnmYVDBbnLxVNnfu1HgEBvCbL+71FrxMl3E6lpKH7Ge3OXA== + +domelementtype@^2.0.1, domelementtype@^2.2.0: + version "2.3.0" + resolved "https://registry.yarnpkg.com/domelementtype/-/domelementtype-2.3.0.tgz#5c45e8e869952626331d7aab326d01daf65d589d" + integrity sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw== + +domexception@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/domexception/-/domexception-1.0.1.tgz#937442644ca6a31261ef36e3ec677fe805582c90" + integrity sha512-raigMkn7CJNNo6Ihro1fzG7wr3fHuYVytzquZKX5n0yizGsTcYgzdIUwj1X9pK0VvjeihV+XiclP+DjwbsSKug== + dependencies: + webidl-conversions "^4.0.2" + +domexception@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/domexception/-/domexception-2.0.1.tgz#fb44aefba793e1574b0af6aed2801d057529f304" + integrity sha512-yxJ2mFy/sibVQlu5qHjOkf9J3K6zgmCxgJ94u2EdvDOV09H+32LtRswEcUsmUWN72pVLOEnTSRaIVVzVQgS0dg== + dependencies: + webidl-conversions "^5.0.0" + +domhandler@^4.0.0, domhandler@^4.2.0, domhandler@^4.3.1: + version "4.3.1" + resolved "https://registry.yarnpkg.com/domhandler/-/domhandler-4.3.1.tgz#8d792033416f59d68bc03a5aa7b018c1ca89279c" + integrity sha512-GrwoxYN+uWlzO8uhUXRl0P+kHE4GtVPfYzVLcUxPL7KNdHKj66vvlhiweIHqYYXWlw+T8iLMp42Lm67ghw4WMQ== + dependencies: + domelementtype "^2.2.0" + +domutils@^2.5.2, domutils@^2.8.0: + version "2.8.0" + resolved "https://registry.yarnpkg.com/domutils/-/domutils-2.8.0.tgz#4437def5db6e2d1f5d6ee859bd95ca7d02048135" + integrity sha512-w96Cjofp72M5IIhpjgobBimYEfoPjx1Vx0BSX9P30WBdZW2WIKU0T1Bd0kz2eNZ9ikjKgHbEyKx8BB6H1L3h3A== + dependencies: + dom-serializer "^1.0.1" + domelementtype "^2.2.0" + domhandler "^4.2.0" + +duplexer@^0.1.2: + version "0.1.2" + resolved "https://registry.yarnpkg.com/duplexer/-/duplexer-0.1.2.tgz#3abe43aef3835f8ae077d136ddce0f276b0400e6" + integrity sha512-jtD6YG370ZCIi/9GTaJKQxWTZD045+4R4hTk/x1UyoqadyJ9x9CgSi1RlVDQF8U2sxLLSnFkCaMihqljHIWgMg== + +duplexify@^3.4.2, duplexify@^3.6.0: + version "3.7.1" + resolved "https://registry.yarnpkg.com/duplexify/-/duplexify-3.7.1.tgz#2a4df5317f6ccfd91f86d6fd25d8d8a103b88309" + integrity sha512-07z8uv2wMyS51kKhD1KsdXJg5WQ6t93RneqRxUHnskXVtlYYkLqM0gqStQZ3pj073g687jPCHrqNfCzawLYh5g== + dependencies: + end-of-stream "^1.0.0" + inherits "^2.0.1" + readable-stream "^2.0.0" + stream-shift "^1.0.0" + +ecc-jsbn@~0.1.1: + version "0.1.1" + resolved "https://registry.yarnpkg.com/ecc-jsbn/-/ecc-jsbn-0.1.1.tgz#0fc73a9ed5f0d53c38193398523ef7e543777505" + dependencies: + jsbn "~0.1.0" + +ee-first@1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/ee-first/-/ee-first-1.1.1.tgz#590c61156b0ae2f4f0255732a158b266bc56b21d" + +electron-to-chromium@^1.4.118: + version "1.4.127" + resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.4.127.tgz#4ef19d5d920abe2676d938f4170729b44f7f423a" + integrity sha512-nhD6S8nKI0O2MueC6blNOEZio+/PWppE/pevnf3LOlQA/fKPCrDp2Ao4wx4LFwmIkJpVdFdn2763YWLy9ENIZg== + +elliptic@^6.5.3: + version "6.5.4" + resolved "https://registry.yarnpkg.com/elliptic/-/elliptic-6.5.4.tgz#da37cebd31e79a1367e941b592ed1fbebd58abbb" + integrity sha512-iLhC6ULemrljPZb+QutR5TQGB+pdW6KGD5RSegS+8sorOZT+rdQFbsQFJgvN3eRqNALqJer4oQ16YvJHlU8hzQ== + dependencies: + bn.js "^4.11.9" + brorand "^1.1.0" + hash.js "^1.0.0" + hmac-drbg "^1.0.1" + inherits "^2.0.4" + minimalistic-assert "^1.0.1" + minimalistic-crypto-utils "^1.0.1" + +emittery@^0.7.1: + version "0.7.2" + resolved "https://registry.yarnpkg.com/emittery/-/emittery-0.7.2.tgz#25595908e13af0f5674ab419396e2fb394cdfa82" + integrity sha512-A8OG5SR/ij3SsJdWDJdkkSYUjQdCUx6APQXem0SaEePBSRg4eymGYwBkKo1Y6DU+af/Jn2dBQqDBvjnr9Vi8nQ== + +emoji-regex@^8.0.0: + version "8.0.0" + resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-8.0.0.tgz#e818fd69ce5ccfcb404594f842963bf53164cc37" + integrity sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A== + +emojis-list@^2.0.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/emojis-list/-/emojis-list-2.1.0.tgz#4daa4d9db00f9819880c79fa457ae5b09a1fd389" + integrity sha1-TapNnbAPmBmIDHn6RXrlsJof04k= + +emojis-list@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/emojis-list/-/emojis-list-3.0.0.tgz#5570662046ad29e2e916e71aae260abdff4f6a78" + integrity sha512-/kyM18EfinwXZbno9FyUGeFh87KC8HRQBQGildHZbEuRyWFOmv1U10o9BBp8XVZDVNNuQKyIGIu5ZYAAXJ0V2Q== + +encodeurl@~1.0.1: + version "1.0.2" + resolved "https://registry.yarnpkg.com/encodeurl/-/encodeurl-1.0.2.tgz#ad3ff4c86ec2d029322f5a02c3a9a606c95b3f59" + +end-of-stream@^1.0.0, end-of-stream@^1.1.0: + version "1.4.4" + resolved "https://registry.yarnpkg.com/end-of-stream/-/end-of-stream-1.4.4.tgz#5ae64a5f45057baf3626ec14da0ca5e4b2431eb0" + integrity sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q== + dependencies: + once "^1.4.0" + +engine.io-client@1.8.3: + version "1.8.3" + resolved "https://registry.yarnpkg.com/engine.io-client/-/engine.io-client-1.8.3.tgz#1798ed93451246453d4c6f635d7a201fe940d5ab" + dependencies: + component-emitter "1.2.1" + component-inherit "0.0.3" + debug "2.3.3" + engine.io-parser "1.3.2" + has-cors "1.1.0" + indexof "0.0.1" + parsejson "0.0.3" + parseqs "0.0.5" + parseuri "0.0.5" + ws "1.1.2" + xmlhttprequest-ssl "1.5.3" + yeast "0.1.2" + +engine.io-parser@1.3.2: + version "1.3.2" + resolved "https://registry.yarnpkg.com/engine.io-parser/-/engine.io-parser-1.3.2.tgz#937b079f0007d0893ec56d46cb220b8cb435220a" + dependencies: + after "0.8.2" + arraybuffer.slice "0.0.6" + base64-arraybuffer "0.1.5" + blob "0.0.4" + has-binary "0.1.7" + wtf-8 "1.0.0" + +engine.io@1.8.3: + version "1.8.3" + resolved "https://registry.yarnpkg.com/engine.io/-/engine.io-1.8.3.tgz#8de7f97895d20d39b85f88eeee777b2bd42b13d4" + dependencies: + accepts "1.3.3" + base64id "1.0.0" + cookie "0.3.1" + debug "2.3.3" + engine.io-parser "1.3.2" + ws "1.1.2" + +enhanced-resolve@^4.0.0, enhanced-resolve@^4.1.0: + version "4.5.0" + resolved "https://registry.yarnpkg.com/enhanced-resolve/-/enhanced-resolve-4.5.0.tgz#2f3cfd84dbe3b487f18f2db2ef1e064a571ca5ec" + integrity sha512-Nv9m36S/vxpsI+Hc4/ZGRs0n9mXqSWGGq49zxb/cJfPAQMbUtttJAlNPS4AQzaBdw/pKskw5bMbekT/Y7W/Wlg== + dependencies: + graceful-fs "^4.1.2" + memory-fs "^0.5.0" + tapable "^1.0.0" + +enquirer@^2.3.5: + version "2.3.6" + resolved "https://registry.yarnpkg.com/enquirer/-/enquirer-2.3.6.tgz#2a7fe5dd634a1e4125a975ec994ff5456dc3734d" + integrity sha512-yjNnPr315/FjS4zIsUxYguYUPP2e1NK4d7E7ZOLiyYCcbFBiTMyID+2wvm2w6+pZ/odMA7cRkjhsPbltwBOrLg== + dependencies: + ansi-colors "^4.1.1" + +ent@~2.2.0: + version "2.2.0" + resolved "https://registry.yarnpkg.com/ent/-/ent-2.2.0.tgz#e964219325a21d05f44466a2f686ed6ce5f5dd1d" + +entities@^2.0.0: + version "2.2.0" + resolved "https://registry.yarnpkg.com/entities/-/entities-2.2.0.tgz#098dc90ebb83d8dffa089d55256b351d34c4da55" + integrity sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A== + +errno@^0.1.1, errno@^0.1.3, errno@~0.1.7: + version "0.1.8" + resolved "https://registry.yarnpkg.com/errno/-/errno-0.1.8.tgz#8bb3e9c7d463be4976ff888f76b4809ebc2e811f" + integrity sha512-dJ6oBr5SQ1VSd9qkk7ByRgb/1SH4JZjCHSW/mr63/QcXO9zLVxvJ6Oy13nio03rxpSnVDDjFor75SjVeZWPW/A== + dependencies: + prr "~1.0.1" + +error-ex@^1.2.0: + version "1.3.1" + resolved "https://registry.yarnpkg.com/error-ex/-/error-ex-1.3.1.tgz#f855a86ce61adc4e8621c3cda21e7a7612c3a8dc" + dependencies: + is-arrayish "^0.2.1" + +error-ex@^1.3.1: + version "1.3.2" + resolved "https://registry.yarnpkg.com/error-ex/-/error-ex-1.3.2.tgz#b4ac40648107fdcdcfae242f428bea8a14d4f1bf" + integrity sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g== + dependencies: + is-arrayish "^0.2.1" + +error-stack-parser@^2.0.6: + version "2.0.7" + resolved "https://registry.yarnpkg.com/error-stack-parser/-/error-stack-parser-2.0.7.tgz#b0c6e2ce27d0495cf78ad98715e0cad1219abb57" + integrity sha512-chLOW0ZGRf4s8raLrDxa5sdkvPec5YdvwbFnqJme4rk0rFajP8mPtrDL1+I+CwrQDCjswDA5sREX7jYQDQs9vA== + dependencies: + stackframe "^1.1.1" + +es-abstract@^1.19.1, es-abstract@^1.19.2: + version "1.19.5" + resolved "https://registry.yarnpkg.com/es-abstract/-/es-abstract-1.19.5.tgz#a2cb01eb87f724e815b278b0dd0d00f36ca9a7f1" + integrity sha512-Aa2G2+Rd3b6kxEUKTF4TaW67czBLyAv3z7VOhYRU50YBx+bbsYZ9xQP4lMNazePuFlybXI0V4MruPos7qUo5fA== + dependencies: + call-bind "^1.0.2" + es-to-primitive "^1.2.1" + function-bind "^1.1.1" + get-intrinsic "^1.1.1" + get-symbol-description "^1.0.0" + has "^1.0.3" + has-symbols "^1.0.3" + internal-slot "^1.0.3" + is-callable "^1.2.4" + is-negative-zero "^2.0.2" + is-regex "^1.1.4" + is-shared-array-buffer "^1.0.2" + is-string "^1.0.7" + is-weakref "^1.0.2" + object-inspect "^1.12.0" + object-keys "^1.1.1" + object.assign "^4.1.2" + string.prototype.trimend "^1.0.4" + string.prototype.trimstart "^1.0.4" + unbox-primitive "^1.0.1" + +es-shim-unscopables@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/es-shim-unscopables/-/es-shim-unscopables-1.0.0.tgz#702e632193201e3edf8713635d083d378e510241" + integrity sha512-Jm6GPcCdC30eMLbZ2x8z2WuRwAws3zTBBKuusffYVUrNj/GVSUAZ+xKMaUpfNDR5IbyNA5LJbaecoUVbmUcB1w== + dependencies: + has "^1.0.3" + +es-to-primitive@^1.2.1: + version "1.2.1" + resolved "https://registry.yarnpkg.com/es-to-primitive/-/es-to-primitive-1.2.1.tgz#e55cd4c9cdc188bcefb03b366c736323fc5c898a" + integrity sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA== + dependencies: + is-callable "^1.1.4" + is-date-object "^1.0.1" + is-symbol "^1.0.2" + +es6-promise@^4.0.3: + version "4.2.4" + resolved "https://registry.yarnpkg.com/es6-promise/-/es6-promise-4.2.4.tgz#dc4221c2b16518760bd8c39a52d8f356fc00ed29" + +es6-templates@^0.2.3: + version "0.2.3" + resolved "https://registry.yarnpkg.com/es6-templates/-/es6-templates-0.2.3.tgz#5cb9ac9fb1ded6eb1239342b81d792bbb4078ee4" + integrity sha1-XLmsn7He1usSOTQrgdeSu7QHjuQ= + dependencies: + recast "~0.11.12" + through "~2.3.6" + +escalade@^3.1.1: + version "3.1.1" + resolved "https://registry.yarnpkg.com/escalade/-/escalade-3.1.1.tgz#d8cfdc7000965c5a0174b4a82eaa5c0552742e40" + integrity sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw== + +escape-html@~1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/escape-html/-/escape-html-1.0.3.tgz#0258eae4d3d0c0974de1c169188ef0051d1d1988" + +escape-string-regexp@^1.0.2, escape-string-regexp@^1.0.5: + version "1.0.5" + resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz#1b61c0562190a8dff6ae3bb2cf0200ca130b86d4" + +escape-string-regexp@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-2.0.0.tgz#a30304e99daa32e23b2fd20f51babd07cffca344" + integrity sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w== + +escape-string-regexp@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz#14ba83a5d373e3d311e5afca29cf5bfad965bf34" + integrity sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA== + +escodegen@^1.11.1: + version "1.14.3" + resolved "https://registry.yarnpkg.com/escodegen/-/escodegen-1.14.3.tgz#4e7b81fba61581dc97582ed78cab7f0e8d63f503" + integrity sha512-qFcX0XJkdg+PB3xjZZG/wKSuT1PnQWx57+TVSjIMmILd2yC/6ByYElPwJnslDsuWuSAp4AwJGumarAAmJch5Kw== + dependencies: + esprima "^4.0.1" + estraverse "^4.2.0" + esutils "^2.0.2" + optionator "^0.8.1" + optionalDependencies: + source-map "~0.6.1" + +escodegen@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/escodegen/-/escodegen-2.0.0.tgz#5e32b12833e8aa8fa35e1bf0befa89380484c7dd" + integrity sha512-mmHKys/C8BFUGI+MAWNcSYoORYLMdPzjrknd2Vc+bUsjN5bXcr8EhrNB+UTqfL1y3I9c4fw2ihgtMPQLBRiQxw== + dependencies: + esprima "^4.0.1" + estraverse "^5.2.0" + esutils "^2.0.2" + optionator "^0.8.1" + optionalDependencies: + source-map "~0.6.1" + +eslint-config-prettier@8.3.0: + version "8.3.0" + resolved "https://registry.yarnpkg.com/eslint-config-prettier/-/eslint-config-prettier-8.3.0.tgz#f7471b20b6fe8a9a9254cc684454202886a2dd7a" + integrity sha512-BgZuLUSeKzvlL/VUjx/Yb787VQ26RU3gGjA3iiFvdsp/2bMfVIWUVP7tjxtjS0e+HP409cPlPvNkQloz8C91ew== + +eslint-plugin-jsdoc@37.7.0: + version "37.7.0" + resolved "https://registry.yarnpkg.com/eslint-plugin-jsdoc/-/eslint-plugin-jsdoc-37.7.0.tgz#975d9f18cb0520dde7a2b0db5f4421dfee3fdd17" + integrity sha512-vzy3/ltXoGtabRnjLogaEmhGxxIv5B8HK5MJLIrdxFJUvhBppZjuVuLr71DjIBi0jg6bFomwkYKjojt29cN8PA== + dependencies: + "@es-joy/jsdoccomment" "~0.18.0" + comment-parser "1.3.0" + debug "^4.3.3" + escape-string-regexp "^4.0.0" + esquery "^1.4.0" + regextras "^0.8.0" + semver "^7.3.5" + spdx-expression-parse "^3.0.1" + +eslint-plugin-prettier@4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/eslint-plugin-prettier/-/eslint-plugin-prettier-4.0.0.tgz#8b99d1e4b8b24a762472b4567992023619cb98e0" + integrity sha512-98MqmCJ7vJodoQK359bqQWaxOE0CS8paAz/GgjaZLyex4TTk3g9HugoO89EqWCrFiOqn9EVvcoo7gZzONCWVwQ== + dependencies: + prettier-linter-helpers "^1.0.0" + +eslint-plugin-react-hooks@4.3.0: + version "4.3.0" + resolved "https://registry.yarnpkg.com/eslint-plugin-react-hooks/-/eslint-plugin-react-hooks-4.3.0.tgz#318dbf312e06fab1c835a4abef00121751ac1172" + integrity sha512-XslZy0LnMn+84NEG9jSGR6eGqaZB3133L8xewQo3fQagbQuGt7a63gf+P1NGKZavEYEC3UXaWEAA/AqDkuN6xA== + +eslint-plugin-react@7.28.0: + version "7.28.0" + resolved "https://registry.yarnpkg.com/eslint-plugin-react/-/eslint-plugin-react-7.28.0.tgz#8f3ff450677571a659ce76efc6d80b6a525adbdf" + integrity sha512-IOlFIRHzWfEQQKcAD4iyYDndHwTQiCMcJVJjxempf203jnNLUnW34AXLrV33+nEXoifJE2ZEGmcjKPL8957eSw== + dependencies: + array-includes "^3.1.4" + array.prototype.flatmap "^1.2.5" + doctrine "^2.1.0" + estraverse "^5.3.0" + jsx-ast-utils "^2.4.1 || ^3.0.0" + minimatch "^3.0.4" + object.entries "^1.1.5" + object.fromentries "^2.0.5" + object.hasown "^1.1.0" + object.values "^1.1.5" + prop-types "^15.7.2" + resolve "^2.0.0-next.3" + semver "^6.3.0" + string.prototype.matchall "^4.0.6" + +eslint-scope@^4.0.3: + version "4.0.3" + resolved "https://registry.yarnpkg.com/eslint-scope/-/eslint-scope-4.0.3.tgz#ca03833310f6889a3264781aa82e63eb9cfe7848" + integrity sha512-p7VutNr1O/QrxysMo3E45FjYDTeXBy0iTltPFNSqKAIfjDSXC+4dj+qfyuD8bfAXrW/y6lW3O76VaYNPKfpKrg== + dependencies: + esrecurse "^4.1.0" + estraverse "^4.1.1" + +eslint-scope@^5.1.1: + version "5.1.1" + resolved "https://registry.yarnpkg.com/eslint-scope/-/eslint-scope-5.1.1.tgz#e786e59a66cb92b3f6c1fb0d508aab174848f48c" + integrity sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw== + dependencies: + esrecurse "^4.3.0" + estraverse "^4.1.1" + +eslint-utils@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/eslint-utils/-/eslint-utils-2.1.0.tgz#d2de5e03424e707dc10c74068ddedae708741b27" + integrity sha512-w94dQYoauyvlDc43XnGB8lU3Zt713vNChgt4EWwhXAP2XkBvndfxF0AgIqKOOasjPIPzj9JqgwkwbCYD0/V3Zg== + dependencies: + eslint-visitor-keys "^1.1.0" + +eslint-utils@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/eslint-utils/-/eslint-utils-3.0.0.tgz#8aebaface7345bb33559db0a1f13a1d2d48c3672" + integrity sha512-uuQC43IGctw68pJA1RgbQS8/NP7rch6Cwd4j3ZBtgo4/8Flj4eGE7ZYSZRN3iq5pVUv6GPdW5Z1RFleo84uLDA== + dependencies: + eslint-visitor-keys "^2.0.0" + +eslint-visitor-keys@^1.1.0, eslint-visitor-keys@^1.3.0: + version "1.3.0" + resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz#30ebd1ef7c2fdff01c3a4f151044af25fab0523e" + integrity sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ== + +eslint-visitor-keys@^2.0.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-2.1.0.tgz#f65328259305927392c938ed44eb0a5c9b2bd303" + integrity sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw== + +eslint-visitor-keys@^3.0.0: + version "3.3.0" + resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-3.3.0.tgz#f6480fa6b1f30efe2d1968aa8ac745b862469826" + integrity sha512-mQ+suqKJVyeuwGYHAdjMFqjCyfl8+Ldnxuyp3ldiMBFKkvytrXUZWaiPCEav8qDHKty44bD+qV1IP4T+w+xXRA== + +eslint@7.28.0: + version "7.28.0" + resolved "https://registry.yarnpkg.com/eslint/-/eslint-7.28.0.tgz#435aa17a0b82c13bb2be9d51408b617e49c1e820" + integrity sha512-UMfH0VSjP0G4p3EWirscJEQ/cHqnT/iuH6oNZOB94nBjWbMnhGEPxsZm1eyIW0C/9jLI0Fow4W5DXLjEI7mn1g== + dependencies: + "@babel/code-frame" "7.12.11" + "@eslint/eslintrc" "^0.4.2" + ajv "^6.10.0" + chalk "^4.0.0" + cross-spawn "^7.0.2" + debug "^4.0.1" + doctrine "^3.0.0" + enquirer "^2.3.5" + escape-string-regexp "^4.0.0" + eslint-scope "^5.1.1" + eslint-utils "^2.1.0" + eslint-visitor-keys "^2.0.0" + espree "^7.3.1" + esquery "^1.4.0" + esutils "^2.0.2" + fast-deep-equal "^3.1.3" + file-entry-cache "^6.0.1" + functional-red-black-tree "^1.0.1" + glob-parent "^5.1.2" + globals "^13.6.0" + ignore "^4.0.6" + import-fresh "^3.0.0" + imurmurhash "^0.1.4" + is-glob "^4.0.0" + js-yaml "^3.13.1" + json-stable-stringify-without-jsonify "^1.0.1" + levn "^0.4.1" + lodash.merge "^4.6.2" + minimatch "^3.0.4" + natural-compare "^1.4.0" + optionator "^0.9.1" + progress "^2.0.0" + regexpp "^3.1.0" + semver "^7.2.1" + strip-ansi "^6.0.0" + strip-json-comments "^3.1.0" + table "^6.0.9" + text-table "^0.2.0" + v8-compile-cache "^2.0.3" + +espree@^7.3.0, espree@^7.3.1: + version "7.3.1" + resolved "https://registry.yarnpkg.com/espree/-/espree-7.3.1.tgz#f2df330b752c6f55019f8bd89b7660039c1bbbb6" + integrity sha512-v3JCNCE64umkFpmkFGqzVKsOT0tN1Zr+ueqLZfpV1Ob8e+CEgPWa+OxCoGH3tnhimMKIaBm4m/vaRpJ/krRz2g== + dependencies: + acorn "^7.4.0" + acorn-jsx "^5.3.1" + eslint-visitor-keys "^1.3.0" + +esprima@^2.6.0: + version "2.7.3" + resolved "https://registry.yarnpkg.com/esprima/-/esprima-2.7.3.tgz#96e3b70d5779f6ad49cd032673d1c312767ba581" + +esprima@^4.0.0, esprima@^4.0.1: + version "4.0.1" + resolved "https://registry.yarnpkg.com/esprima/-/esprima-4.0.1.tgz#13b04cdb3e6c5d19df91ab6987a8695619b0aa71" + integrity sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A== + +esprima@~3.1.0: + version "3.1.3" + resolved "https://registry.yarnpkg.com/esprima/-/esprima-3.1.3.tgz#fdca51cee6133895e3c88d535ce49dbff62a4633" + integrity sha1-/cpRzuYTOJXjyI1TXOSdv/YqRjM= + +esquery@^1.4.0: + version "1.4.0" + resolved "https://registry.yarnpkg.com/esquery/-/esquery-1.4.0.tgz#2148ffc38b82e8c7057dfed48425b3e61f0f24a5" + integrity sha512-cCDispWt5vHHtwMY2YrAQ4ibFkAL8RbH5YGBnZBc90MolvvfkkQcJro/aZiAQUlQ3qgrYS6D6v8Gc5G5CQsc9w== + dependencies: + estraverse "^5.1.0" + +esrecurse@^4.1.0, esrecurse@^4.3.0: + version "4.3.0" + resolved "https://registry.yarnpkg.com/esrecurse/-/esrecurse-4.3.0.tgz#7ad7964d679abb28bee72cec63758b1c5d2c9921" + integrity sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag== + dependencies: + estraverse "^5.2.0" + +esrever@^0.2.0: + version "0.2.0" + resolved "https://registry.yarnpkg.com/esrever/-/esrever-0.2.0.tgz#96e9d28f4f1b1a76784cd5d490eaae010e7407b8" + integrity sha1-lunSj08bGnZ4TNXUkOquAQ50B7g= + +estraverse@^4.1.1, estraverse@^4.2.0: + version "4.3.0" + resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-4.3.0.tgz#398ad3f3c5a24948be7725e83d11a7de28cdbd1d" + integrity sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw== + +estraverse@^5.1.0, estraverse@^5.2.0, estraverse@^5.3.0: + version "5.3.0" + resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-5.3.0.tgz#2eea5290702f26ab8fe5370370ff86c965d21123" + integrity sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA== + +esutils@^2.0.2: + version "2.0.3" + resolved "https://registry.yarnpkg.com/esutils/-/esutils-2.0.3.tgz#74d2eb4de0b8da1293711910d50775b9b710ef64" + integrity sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g== + +eventemitter2@~0.4.13: + version "0.4.14" + resolved "https://registry.yarnpkg.com/eventemitter2/-/eventemitter2-0.4.14.tgz#8f61b75cde012b2e9eb284d4545583b5643b61ab" + +eventemitter3@1.x.x: + version "1.2.0" + resolved "https://registry.yarnpkg.com/eventemitter3/-/eventemitter3-1.2.0.tgz#1c86991d816ad1e504750e73874224ecf3bec508" + +eventemitter3@4.0.7, eventemitter3@^4.0.0: + version "4.0.7" + resolved "https://registry.yarnpkg.com/eventemitter3/-/eventemitter3-4.0.7.tgz#2de9b68f6528d5644ef5c59526a1b4a07306169f" + integrity sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw== + +events@^3.0.0: + version "3.3.0" + resolved "https://registry.yarnpkg.com/events/-/events-3.3.0.tgz#31a95ad0a924e2d2c419a813aeb2c4e878ea7400" + integrity sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q== + +evp_bytestokey@^1.0.0, evp_bytestokey@^1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/evp_bytestokey/-/evp_bytestokey-1.0.3.tgz#7fcbdb198dc71959432efe13842684e0525acb02" + integrity sha512-/f2Go4TognH/KvCISP7OUsHn85hT9nUkxxA9BEWxFn+Oj9o8ZNLm/40hdlgSLyuOimsrTKLUMEorQexp/aPQeA== + dependencies: + md5.js "^1.3.4" + safe-buffer "^5.1.1" + +exec-sh@^0.3.2: + version "0.3.6" + resolved "https://registry.yarnpkg.com/exec-sh/-/exec-sh-0.3.6.tgz#ff264f9e325519a60cb5e273692943483cca63bc" + integrity sha512-nQn+hI3yp+oD0huYhKwvYI32+JFeq+XkNcD1GAo3Y/MjxsfVGmrrzrnzjWiNY6f+pUCP440fThsFh5gZrRAU/w== + +execa@^0.8.0: + version "0.8.0" + resolved "https://registry.yarnpkg.com/execa/-/execa-0.8.0.tgz#d8d76bbc1b55217ed190fd6dd49d3c774ecfc8da" + dependencies: + cross-spawn "^5.0.1" + get-stream "^3.0.0" + is-stream "^1.1.0" + npm-run-path "^2.0.0" + p-finally "^1.0.0" + signal-exit "^3.0.0" + strip-eof "^1.0.0" + +execa@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/execa/-/execa-1.0.0.tgz#c6236a5bb4df6d6f15e88e7f017798216749ddd8" + integrity sha512-adbxcyWV46qiHyvSp50TKt05tB4tK3HcmF7/nxfAdhnox83seTDbwnaqKO4sXRy7roHAIFqJP/Rw/AuEbX61LA== + dependencies: + cross-spawn "^6.0.0" + get-stream "^4.0.0" + is-stream "^1.1.0" + npm-run-path "^2.0.0" + p-finally "^1.0.0" + signal-exit "^3.0.0" + strip-eof "^1.0.0" + +execa@^4.0.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/execa/-/execa-4.1.0.tgz#4e5491ad1572f2f17a77d388c6c857135b22847a" + integrity sha512-j5W0//W7f8UxAn8hXVnwG8tLwdiUy4FJLcSupCg6maBYZDpyBvTApK7KyuI4bKj8KOh1r2YH+6ucuYtJv1bTZA== + dependencies: + cross-spawn "^7.0.0" + get-stream "^5.0.0" + human-signals "^1.1.1" + is-stream "^2.0.0" + merge-stream "^2.0.0" + npm-run-path "^4.0.0" + onetime "^5.1.0" + signal-exit "^3.0.2" + strip-final-newline "^2.0.0" + +execa@^5.1.1: + version "5.1.1" + resolved "https://registry.yarnpkg.com/execa/-/execa-5.1.1.tgz#f80ad9cbf4298f7bd1d4c9555c21e93741c411dd" + integrity sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg== + dependencies: + cross-spawn "^7.0.3" + get-stream "^6.0.0" + human-signals "^2.1.0" + is-stream "^2.0.0" + merge-stream "^2.0.0" + npm-run-path "^4.0.1" + onetime "^5.1.2" + signal-exit "^3.0.3" + strip-final-newline "^2.0.0" + +exenv@^1.2.2: + version "1.2.2" + resolved "https://registry.yarnpkg.com/exenv/-/exenv-1.2.2.tgz#2ae78e85d9894158670b03d47bec1f03bd91bb9d" + integrity sha1-KueOhdmJQVhnCwPUe+wfA72Ru50= + +exit@^0.1.2, exit@~0.1.1: + version "0.1.2" + resolved "https://registry.yarnpkg.com/exit/-/exit-0.1.2.tgz#0632638f8d877cc82107d30a0fff1a17cba1cd0c" + +expand-braces@^0.1.1: + version "0.1.2" + resolved "https://registry.yarnpkg.com/expand-braces/-/expand-braces-0.1.2.tgz#488b1d1d2451cb3d3a6b192cfc030f44c5855fea" + dependencies: + array-slice "^0.2.3" + array-unique "^0.2.1" + braces "^0.1.2" + +expand-brackets@^0.1.4: + version "0.1.5" + resolved "https://registry.yarnpkg.com/expand-brackets/-/expand-brackets-0.1.5.tgz#df07284e342a807cd733ac5af72411e581d1177b" + dependencies: + is-posix-bracket "^0.1.0" + +expand-brackets@^2.1.4: + version "2.1.4" + resolved "https://registry.yarnpkg.com/expand-brackets/-/expand-brackets-2.1.4.tgz#b77735e315ce30f6b6eff0f83b04151a22449622" + integrity sha1-t3c14xXOMPa27/D4OwQVGiJEliI= + dependencies: + 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" + +expand-range@^0.1.0: + version "0.1.1" + resolved "https://registry.yarnpkg.com/expand-range/-/expand-range-0.1.1.tgz#4cb8eda0993ca56fa4f41fc42f3cbb4ccadff044" + dependencies: + is-number "^0.1.1" + repeat-string "^0.2.2" + +expand-range@^1.8.1: + version "1.8.2" + resolved "https://registry.yarnpkg.com/expand-range/-/expand-range-1.8.2.tgz#a299effd335fe2721ebae8e257ec79644fc85337" + dependencies: + fill-range "^2.1.0" + +expect.js@^0.3.1: + version "0.3.1" + resolved "https://registry.yarnpkg.com/expect.js/-/expect.js-0.3.1.tgz#b0a59a0d2eff5437544ebf0ceaa6015841d09b5b" + +expect@^26.6.2: + version "26.6.2" + resolved "https://registry.yarnpkg.com/expect/-/expect-26.6.2.tgz#c6b996bf26bf3fe18b67b2d0f51fc981ba934417" + integrity sha512-9/hlOBkQl2l/PLHJx6JjoDF6xPKcJEsUlWKb23rKE7KzeDqUZKXKNMW27KIue5JMdBV9HgmoJPcc8HtO85t9IA== + dependencies: + "@jest/types" "^26.6.2" + ansi-styles "^4.0.0" + jest-get-type "^26.3.0" + jest-matcher-utils "^26.6.2" + jest-message-util "^26.6.2" + jest-regex-util "^26.0.0" + +extend-shallow@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/extend-shallow/-/extend-shallow-2.0.1.tgz#51af7d614ad9a9f610ea1bafbb989d6b1c56890f" + integrity sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8= + dependencies: + is-extendable "^0.1.0" + +extend-shallow@^3.0.0, extend-shallow@^3.0.2: + version "3.0.2" + resolved "https://registry.yarnpkg.com/extend-shallow/-/extend-shallow-3.0.2.tgz#26a71aaf073b39fb2127172746131c2704028db8" + integrity sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg= + dependencies: + assign-symbols "^1.0.0" + is-extendable "^1.0.1" + +extend@^3.0.0, extend@~3.0.0, extend@~3.0.1: + version "3.0.1" + resolved "https://registry.yarnpkg.com/extend/-/extend-3.0.1.tgz#a755ea7bc1adfcc5a31ce7e762dbaadc5e636444" + +extend@~3.0.2: + version "3.0.2" + resolved "https://registry.yarnpkg.com/extend/-/extend-3.0.2.tgz#f8b1136b4071fbd8eb140aff858b1019ec2915fa" + integrity sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g== + +external-editor@^3.0.3: + version "3.1.0" + resolved "https://registry.yarnpkg.com/external-editor/-/external-editor-3.1.0.tgz#cb03f740befae03ea4d283caed2741a83f335495" + integrity sha512-hMQ4CX1p1izmuLYyZqLMO/qGNw10wSv9QDCPfzXfyFrOaCSSoRfqE1Kf1s5an66J5JZC62NewG+mK49jOCtQew== + dependencies: + chardet "^0.7.0" + iconv-lite "^0.4.24" + tmp "^0.0.33" + +extglob@^0.3.1: + version "0.3.2" + resolved "https://registry.yarnpkg.com/extglob/-/extglob-0.3.2.tgz#2e18ff3d2f49ab2765cec9023f011daa8d8349a1" + dependencies: + is-extglob "^1.0.0" + +extglob@^2.0.4: + version "2.0.4" + resolved "https://registry.yarnpkg.com/extglob/-/extglob-2.0.4.tgz#ad00fe4dc612a9232e8718711dc5cb5ab0285543" + integrity sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw== + dependencies: + 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" + +extract-zip@^1.6.5: + version "1.6.6" + resolved "https://registry.yarnpkg.com/extract-zip/-/extract-zip-1.6.6.tgz#1290ede8d20d0872b429fd3f351ca128ec5ef85c" + dependencies: + concat-stream "1.6.0" + debug "2.6.9" + mkdirp "0.5.0" + yauzl "2.4.1" + +extsprintf@1.3.0: + version "1.3.0" + resolved "https://registry.yarnpkg.com/extsprintf/-/extsprintf-1.3.0.tgz#96918440e3041a7a414f8c52e3c574eb3c3e1e05" + +extsprintf@^1.2.0: + version "1.4.0" + resolved "https://registry.yarnpkg.com/extsprintf/-/extsprintf-1.4.0.tgz#e2689f8f356fad62cca65a3a91c5df5f9551692f" + +eyes@0.1.x: + version "0.1.8" + resolved "https://registry.yarnpkg.com/eyes/-/eyes-0.1.8.tgz#62cf120234c683785d902348a800ef3e0cc20bc0" + +fast-deep-equal@^1.0.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/fast-deep-equal/-/fast-deep-equal-1.1.0.tgz#c053477817c86b51daa853c81e059b733d023614" + +fast-deep-equal@^3.1.1, fast-deep-equal@^3.1.3: + version "3.1.3" + resolved "https://registry.yarnpkg.com/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz#3a7d56b559d6cbc3eb512325244e619a65c6c525" + integrity sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q== + +fast-diff@^1.1.2: + version "1.2.0" + resolved "https://registry.yarnpkg.com/fast-diff/-/fast-diff-1.2.0.tgz#73ee11982d86caaf7959828d519cfe927fac5f03" + integrity sha512-xJuoT5+L99XlZ8twedaRf6Ax2TgQVxvgZOYoPKqZufmJib0tL2tegPBOZb1pVNgIhlqDlA0eO0c3wBvQcmzx4w== + +fast-glob@^3.0.3, fast-glob@^3.2.9: + version "3.2.11" + resolved "https://registry.yarnpkg.com/fast-glob/-/fast-glob-3.2.11.tgz#a1172ad95ceb8a16e20caa5c5e56480e5129c1d9" + integrity sha512-xrO3+1bxSo3ZVHAnqzyuewYT6aMFHRAd4Kcs92MAonjwQZLsK9d0SF1IyQ3k5PoirxTW0Oe/RqFgMQ6TcNE5Ew== + dependencies: + "@nodelib/fs.stat" "^2.0.2" + "@nodelib/fs.walk" "^1.2.3" + glob-parent "^5.1.2" + merge2 "^1.3.0" + micromatch "^4.0.4" + +fast-json-stable-stringify@2.x: + version "2.1.0" + resolved "https://registry.yarnpkg.com/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz#874bf69c6f404c2b5d99c481341399fd55892633" + integrity sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw== + +fast-json-stable-stringify@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/fast-json-stable-stringify/-/fast-json-stable-stringify-2.0.0.tgz#d5142c0caee6b1189f87d3a76111064f86c8bbf2" + +fast-levenshtein@^2.0.6, fast-levenshtein@~2.0.6: + version "2.0.6" + resolved "https://registry.yarnpkg.com/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz#3d8a5c66883a16a30ca8643e851f19baa7797917" + integrity sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc= + +fast-shallow-equal@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/fast-shallow-equal/-/fast-shallow-equal-1.0.0.tgz#d4dcaf6472440dcefa6f88b98e3251e27f25628b" + integrity sha512-HPtaa38cPgWvaCFmRNhlc6NG7pv6NUHqjPgVAkWGoB9mQMwYB27/K0CvOM5Czy+qpT3e8XJ6Q4aPAnzpNpzNaw== + +fastest-stable-stringify@^2.0.2: + version "2.0.2" + resolved "https://registry.yarnpkg.com/fastest-stable-stringify/-/fastest-stable-stringify-2.0.2.tgz#3757a6774f6ec8de40c4e86ec28ea02417214c76" + integrity sha512-bijHueCGd0LqqNK9b5oCMHc0MluJAx0cwqASgbWMvkO01lCYgIhacVRLcaDz3QnyYIRNJRDwMb41VuT6pHJ91Q== + +fastparse@^1.1.1: + version "1.1.2" + resolved "https://registry.yarnpkg.com/fastparse/-/fastparse-1.1.2.tgz#91728c5a5942eced8531283c79441ee4122c35a9" + integrity sha512-483XLLxTVIwWK3QTrMGRqUfUpoOs/0hbQrl2oz4J0pAcm3A3bu84wxTFqGqkJzewCLdME38xJLJAxBABfQT8sQ== + +fastq@^1.6.0: + version "1.13.0" + resolved "https://registry.yarnpkg.com/fastq/-/fastq-1.13.0.tgz#616760f88a7526bdfc596b7cab8c18938c36b98c" + integrity sha512-YpkpUnK8od0o1hmeSc7UUs/eB/vIPWJYjKck2QKIzAf71Vm1AAQ3EbuZB3g2JIy+pg+ERD0vqI79KyZiB2e2Nw== + dependencies: + reusify "^1.0.4" + +faye-websocket@~0.10.0: + version "0.10.0" + resolved "https://registry.yarnpkg.com/faye-websocket/-/faye-websocket-0.10.0.tgz#4e492f8d04dfb6f89003507f6edbf2d501e7c6f4" + dependencies: + websocket-driver ">=0.5.1" + +fb-watchman@^2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/fb-watchman/-/fb-watchman-2.0.1.tgz#fc84fb39d2709cf3ff6d743706157bb5708a8a85" + integrity sha512-DkPJKQeY6kKwmuMretBhr7G6Vodr7bFwDYTXIkfG1gjvNpaxBTQV3PbXg6bR1c1UP4jPOX0jHUbbHANL9vRjVg== + dependencies: + bser "2.1.1" + +fd-slicer@~1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/fd-slicer/-/fd-slicer-1.0.1.tgz#8b5bcbd9ec327c5041bf9ab023fd6750f1177e65" + dependencies: + pend "~1.2.0" + +figgy-pudding@^3.5.1: + version "3.5.2" + resolved "https://registry.yarnpkg.com/figgy-pudding/-/figgy-pudding-3.5.2.tgz#b4eee8148abb01dcf1d1ac34367d59e12fa61d6e" + integrity sha512-0btnI/H8f2pavGMN8w40mlSKOfTK2SVJmBfBeVIj3kNw0swwgzyRq0d5TJVOwodFmtvpPeWPN/MCcfuWF0Ezbw== + +figures@^3.0.0: + version "3.2.0" + resolved "https://registry.yarnpkg.com/figures/-/figures-3.2.0.tgz#625c18bd293c604dc4a8ddb2febf0c88341746af" + integrity sha512-yaduQFRKLXYOGgEn6AZau90j3ggSOyiqXU0F9JZfeXYhNa+Jk4X+s45A2zg5jns87GAFa34BBm2kXw4XpNcbdg== + dependencies: + escape-string-regexp "^1.0.5" + +file-entry-cache@^6.0.1: + version "6.0.1" + resolved "https://registry.yarnpkg.com/file-entry-cache/-/file-entry-cache-6.0.1.tgz#211b2dd9659cb0394b073e7323ac3c933d522027" + integrity sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg== + dependencies: + flat-cache "^3.0.4" + +file-loader@6.2.0: + version "6.2.0" + resolved "https://registry.yarnpkg.com/file-loader/-/file-loader-6.2.0.tgz#baef7cf8e1840df325e4390b4484879480eebe4d" + integrity sha512-qo3glqyTa61Ytg4u73GultjHGjdRyig3tG6lPtyX/jOEJvHif9uB0/OCI2Kif6ctF3caQTW2G5gym21oAsI4pw== + dependencies: + loader-utils "^2.0.0" + schema-utils "^3.0.0" + +file-selector@^0.4.0: + version "0.4.0" + resolved "https://registry.yarnpkg.com/file-selector/-/file-selector-0.4.0.tgz#59ec4f27aa5baf0841e9c6385c8386bef4d18b17" + integrity sha512-iACCiXeMYOvZqlF1kTiYINzgepRBymz1wwjiuup9u9nayhb6g4fSwiyJ/6adli+EPwrWtpgQAh2PoS7HukEGEg== + dependencies: + tslib "^2.0.3" + +file-sync-cmp@^0.1.0: + version "0.1.1" + resolved "https://registry.yarnpkg.com/file-sync-cmp/-/file-sync-cmp-0.1.1.tgz#a5e7a8ffbfa493b43b923bbd4ca89a53b63b612b" + +file-uri-to-path@1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/file-uri-to-path/-/file-uri-to-path-1.0.0.tgz#553a7b8446ff6f684359c445f1e37a05dacc33dd" + integrity sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw== + +filename-regex@^2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/filename-regex/-/filename-regex-2.0.1.tgz#c1c4b9bee3e09725ddb106b75c1e301fe2f18b26" + +filesize@^8.0.6: + version "8.0.7" + resolved "https://registry.yarnpkg.com/filesize/-/filesize-8.0.7.tgz#695e70d80f4e47012c132d57a059e80c6b580bd8" + integrity sha512-pjmC+bkIF8XI7fWaH8KxHcZL3DPybs1roSKP4rKDvy20tAWwIObE4+JIseG2byfGKhud5ZnM4YSGKBz7Sh0ndQ== + +fill-range@^2.1.0: + version "2.2.3" + resolved "https://registry.yarnpkg.com/fill-range/-/fill-range-2.2.3.tgz#50b77dfd7e469bc7492470963699fe7a8485a723" + dependencies: + is-number "^2.1.0" + isobject "^2.0.0" + randomatic "^1.1.3" + repeat-element "^1.1.2" + repeat-string "^1.5.2" + +fill-range@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/fill-range/-/fill-range-4.0.0.tgz#d544811d428f98eb06a63dc402d2403c328c38f7" + integrity sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc= + dependencies: + extend-shallow "^2.0.1" + is-number "^3.0.0" + repeat-string "^1.6.1" + to-regex-range "^2.1.0" + +fill-range@^7.0.1: + version "7.0.1" + resolved "https://registry.yarnpkg.com/fill-range/-/fill-range-7.0.1.tgz#1919a6a7c75fe38b2c7c77e5198535da9acdda40" + integrity sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ== + dependencies: + to-regex-range "^5.0.1" + +finalhandler@1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/finalhandler/-/finalhandler-1.1.0.tgz#ce0b6855b45853e791b2fcc680046d88253dd7f5" + dependencies: + debug "2.6.9" + encodeurl "~1.0.1" + escape-html "~1.0.3" + on-finished "~2.3.0" + parseurl "~1.3.2" + statuses "~1.3.1" + unpipe "~1.0.0" + +find-cache-dir@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/find-cache-dir/-/find-cache-dir-2.1.0.tgz#8d0f94cd13fe43c6c7c261a0d86115ca918c05f7" + integrity sha512-Tq6PixE0w/VMFfCgbONnkiQIVol/JJL7nRMi20fqzA4NRs9AfeqMGeRdPi3wIhYkxjeBaWh2rxwapn5Tu3IqOQ== + dependencies: + commondir "^1.0.1" + make-dir "^2.0.0" + pkg-dir "^3.0.0" + +find-cache-dir@^3.3.1: + version "3.3.2" + resolved "https://registry.yarnpkg.com/find-cache-dir/-/find-cache-dir-3.3.2.tgz#b30c5b6eff0730731aea9bbd9dbecbd80256d64b" + integrity sha512-wXZV5emFEjrridIgED11OoUKLxiYjAcqot/NJdAkOhlJ+vGzwhOAfcG5OX1jP+S0PcjEn8bdMJv+g2jwQ3Onig== + dependencies: + commondir "^1.0.1" + make-dir "^3.0.2" + pkg-dir "^4.1.0" + +find-root@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/find-root/-/find-root-1.1.0.tgz#abcfc8ba76f708c42a97b3d685b7e9450bfb9ce4" + integrity sha512-NKfW6bec6GfKc0SGx1e07QZY9PE99u0Bft/0rzSD5k3sO/vwkVUpDUKVm5Gpp5Ue3YfShPFTX2070tDs5kB9Ng== + +find-up@^1.0.0: + version "1.1.2" + resolved "https://registry.yarnpkg.com/find-up/-/find-up-1.1.2.tgz#6b2e9822b1a2ce0a60ab64d610eccad53cb24d0f" + dependencies: + path-exists "^2.0.0" + pinkie-promise "^2.0.0" + +find-up@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/find-up/-/find-up-2.1.0.tgz#45d1b7e506c717ddd482775a2b77920a3c0c57a7" + dependencies: + locate-path "^2.0.0" + +find-up@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/find-up/-/find-up-3.0.0.tgz#49169f1d7993430646da61ecc5ae355c21c97b73" + integrity sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg== + dependencies: + locate-path "^3.0.0" + +find-up@^4.0.0, find-up@^4.1.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/find-up/-/find-up-4.1.0.tgz#97afe7d6cdc0bc5928584b7c8d7b16e8a9aa5d19" + integrity sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw== + dependencies: + locate-path "^5.0.0" + path-exists "^4.0.0" + +find-up@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/find-up/-/find-up-5.0.0.tgz#4c92819ecb7083561e4f4a240a86be5198f536fc" + integrity sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng== + dependencies: + locate-path "^6.0.0" + path-exists "^4.0.0" + +findup-sync@~0.3.0: + version "0.3.0" + resolved "https://registry.yarnpkg.com/findup-sync/-/findup-sync-0.3.0.tgz#37930aa5d816b777c03445e1966cc6790a4c0b16" + dependencies: + glob "~5.0.0" + +flat-cache@^3.0.4: + version "3.0.4" + resolved "https://registry.yarnpkg.com/flat-cache/-/flat-cache-3.0.4.tgz#61b0338302b2fe9f957dcc32fc2a87f1c3048b11" + integrity sha512-dm9s5Pw7Jc0GvMYbshN6zchCA9RgQlzzEZX3vylR9IqFfS8XciblUXOKfW6SiuJ0e13eDYZoZV5wdrev7P3Nwg== + dependencies: + flatted "^3.1.0" + rimraf "^3.0.2" + +flatted@^3.1.0: + version "3.2.5" + resolved "https://registry.yarnpkg.com/flatted/-/flatted-3.2.5.tgz#76c8584f4fc843db64702a6bd04ab7a8bd666da3" + integrity sha512-WIWGi2L3DyTUvUrwRKgGi9TwxQMUEqPOPQBVi71R96jZXJdFskXEmf54BoZaS1kknGODoIGASGEzBUYdyMCBJg== + +flatten@^1.0.2: + version "1.0.3" + resolved "https://registry.yarnpkg.com/flatten/-/flatten-1.0.3.tgz#c1283ac9f27b368abc1e36d1ff7b04501a30356b" + integrity sha512-dVsPA/UwQ8+2uoFe5GHtiBMu48dWLTdsuEd7CKGlZlD78r1TTWBvDuFaFGKCo/ZfEr95Uk56vZoX86OsHkUeIg== + +flush-write-stream@^1.0.0: + version "1.1.1" + resolved "https://registry.yarnpkg.com/flush-write-stream/-/flush-write-stream-1.1.1.tgz#8dd7d873a1babc207d94ead0c2e0e44276ebf2e8" + integrity sha512-3Z4XhFZ3992uIq0XOqb9AreonueSYphE6oYbpt5+3u06JWklbsPkNv3ZKkP9Bz/r+1MWCaMoSQ28P85+1Yc77w== + dependencies: + inherits "^2.0.3" + readable-stream "^2.3.6" + +follow-redirects@^1.0.0, follow-redirects@^1.14.0: + version "1.14.9" + resolved "https://registry.yarnpkg.com/follow-redirects/-/follow-redirects-1.14.9.tgz#dd4ea157de7bfaf9ea9b3fbd85aa16951f78d8d7" + integrity sha512-MQDfihBQYMcyy5dhRDJUHcw7lb2Pv/TuE6xP1vyraLukNDHKbDxDNaOE3NbCAdKQApno+GPRyo1YAp89yCjK4w== + +for-each@^0.3.3: + version "0.3.3" + resolved "https://registry.yarnpkg.com/for-each/-/for-each-0.3.3.tgz#69b447e88a0a5d32c3e7084f3f1710034b21376e" + integrity sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw== + dependencies: + is-callable "^1.1.3" + +for-in@^1.0.1, for-in@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/for-in/-/for-in-1.0.2.tgz#81068d295a8142ec0ac726c6e2200c30fb6d5e80" + +for-own@^0.1.4: + version "0.1.5" + resolved "https://registry.yarnpkg.com/for-own/-/for-own-0.1.5.tgz#5265c681a4f294dabbf17c9509b6763aa84510ce" + dependencies: + for-in "^1.0.1" + +forever-agent@~0.6.1: + version "0.6.1" + resolved "https://registry.yarnpkg.com/forever-agent/-/forever-agent-0.6.1.tgz#fbc71f0c41adeb37f96c577ad1ed42d8fdacca91" + +fork-ts-checker-webpack-plugin@6.4.0: + version "6.4.0" + resolved "https://registry.yarnpkg.com/fork-ts-checker-webpack-plugin/-/fork-ts-checker-webpack-plugin-6.4.0.tgz#057e477cf1d8b013b2ed2669437f818680289c4c" + integrity sha512-3I3wFkc4DbzaUDPWEi96wdYGu4EKtxBafhZYm0o4mX51d9bphAY4P3mBl8K5mFXFJqVzHfmdbm9kLGnm7vwwBg== + dependencies: + "@babel/code-frame" "^7.8.3" + "@types/json-schema" "^7.0.5" + chalk "^4.1.0" + chokidar "^3.4.2" + cosmiconfig "^6.0.0" + deepmerge "^4.2.2" + fs-extra "^9.0.0" + glob "^7.1.6" + memfs "^3.1.2" + minimatch "^3.0.4" + schema-utils "2.7.0" + semver "^7.3.2" + tapable "^1.0.0" + +fork-ts-checker-webpack-plugin@^6.5.0: + version "6.5.2" + resolved "https://registry.yarnpkg.com/fork-ts-checker-webpack-plugin/-/fork-ts-checker-webpack-plugin-6.5.2.tgz#4f67183f2f9eb8ba7df7177ce3cf3e75cdafb340" + integrity sha512-m5cUmF30xkZ7h4tWUgTAcEaKmUW7tfyUyTqNNOz7OxWJ0v1VWKTcOvH8FWHUwSjlW/356Ijc9vi3XfcPstpQKA== + dependencies: + "@babel/code-frame" "^7.8.3" + "@types/json-schema" "^7.0.5" + chalk "^4.1.0" + chokidar "^3.4.2" + cosmiconfig "^6.0.0" + deepmerge "^4.2.2" + fs-extra "^9.0.0" + glob "^7.1.6" + memfs "^3.1.2" + minimatch "^3.0.4" + schema-utils "2.7.0" + semver "^7.3.2" + tapable "^1.0.0" + +form-data@^3.0.0: + version "3.0.1" + resolved "https://registry.yarnpkg.com/form-data/-/form-data-3.0.1.tgz#ebd53791b78356a99af9a300d4282c4d5eb9755f" + integrity sha512-RHkBKtLWUVwd7SqRIvCZMEvAMoGUp0XU+seQiZejj0COz3RI3hWP4sCv3gZWWLjJTd7rGwcsF5eKZGii0r/hbg== + dependencies: + asynckit "^0.4.0" + combined-stream "^1.0.8" + mime-types "^2.1.12" + +form-data@~2.1.1: + version "2.1.4" + resolved "https://registry.yarnpkg.com/form-data/-/form-data-2.1.4.tgz#33c183acf193276ecaa98143a69e94bfee1750d1" + dependencies: + asynckit "^0.4.0" + combined-stream "^1.0.5" + mime-types "^2.1.12" + +form-data@~2.3.1: + version "2.3.2" + resolved "https://registry.yarnpkg.com/form-data/-/form-data-2.3.2.tgz#4970498be604c20c005d4f5c23aecd21d6b49099" + dependencies: + asynckit "^0.4.0" + combined-stream "1.0.6" + mime-types "^2.1.12" + +form-data@~2.3.2: + version "2.3.3" + resolved "https://registry.yarnpkg.com/form-data/-/form-data-2.3.3.tgz#dcce52c05f644f298c6a7ab936bd724ceffbf3a6" + integrity sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ== + dependencies: + asynckit "^0.4.0" + combined-stream "^1.0.6" + mime-types "^2.1.12" + +formatio@1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/formatio/-/formatio-1.2.0.tgz#f3b2167d9068c4698a8d51f4f760a39a54d818eb" + dependencies: + samsam "1.x" + +fragment-cache@^0.2.1: + version "0.2.1" + resolved "https://registry.yarnpkg.com/fragment-cache/-/fragment-cache-0.2.1.tgz#4290fad27f13e89be7f33799c6bc5a0abfff0d19" + integrity sha1-QpD60n8T6Jvn8zeZxrxaCr//DRk= + dependencies: + map-cache "^0.2.2" + +from2@^2.1.0: + version "2.3.0" + resolved "https://registry.yarnpkg.com/from2/-/from2-2.3.0.tgz#8bfb5502bde4a4d36cfdeea007fcca21d7e382af" + integrity sha1-i/tVAr3kpNNs/e6gB/zKIdfjgq8= + dependencies: + inherits "^2.0.1" + readable-stream "^2.0.0" + +fs-access@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/fs-access/-/fs-access-1.0.1.tgz#d6a87f262271cefebec30c553407fb995da8777a" + dependencies: + null-check "^1.0.0" + +fs-extra@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-1.0.0.tgz#cd3ce5f7e7cb6145883fcae3191e9877f8587950" + dependencies: + graceful-fs "^4.1.2" + jsonfile "^2.1.0" + klaw "^1.0.0" + +fs-extra@^10.0.0: + version "10.1.0" + resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-10.1.0.tgz#02873cfbc4084dde127eaa5f9905eef2325d1abf" + integrity sha512-oRXApq54ETRj4eMiFzGnHWGy+zo5raudjuxN0b8H7s/RU2oW0Wvsx9O0ACRN/kRq9E8Vu/ReskGB5o3ji+FzHQ== + dependencies: + graceful-fs "^4.2.0" + jsonfile "^6.0.1" + universalify "^2.0.0" + +fs-extra@^9.0.0: + version "9.1.0" + resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-9.1.0.tgz#5954460c764a8da2094ba3554bf839e6b9a7c86d" + integrity sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ== + dependencies: + at-least-node "^1.0.0" + graceful-fs "^4.2.0" + jsonfile "^6.0.1" + universalify "^2.0.0" + +fs-minipass@^2.0.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/fs-minipass/-/fs-minipass-2.1.0.tgz#7f5036fdbf12c63c169190cbe4199c852271f9fb" + integrity sha512-V/JgOLFCS+R6Vcq0slCuaeWEdNC3ouDlJMNIsacH2VtALiu9mV4LPrHc5cDl8k5aw6J8jwgWWpiTo5RYhmIzvg== + dependencies: + minipass "^3.0.0" + +fs-monkey@1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/fs-monkey/-/fs-monkey-1.0.3.tgz#ae3ac92d53bb328efe0e9a1d9541f6ad8d48e2d3" + integrity sha512-cybjIfiiE+pTWicSCLFHSrXZ6EilF30oh91FDP9S2B051prEa7QWfrVTQm10/dDpswBDXZugPa1Ogu8Yh+HV0Q== + +fs-write-stream-atomic@^1.0.8: + version "1.0.10" + resolved "https://registry.yarnpkg.com/fs-write-stream-atomic/-/fs-write-stream-atomic-1.0.10.tgz#b47df53493ef911df75731e70a9ded0189db40c9" + integrity sha1-tH31NJPvkR33VzHnCp3tAYnbQMk= + dependencies: + graceful-fs "^4.1.2" + iferr "^0.1.5" + imurmurhash "^0.1.4" + readable-stream "1 || 2" + +fs.realpath@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/fs.realpath/-/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f" + +fsevents@^1.0.0: + version "1.1.3" + resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-1.1.3.tgz#11f82318f5fe7bb2cd22965a108e9306208216d8" + dependencies: + nan "^2.3.0" + node-pre-gyp "^0.6.39" + +fsevents@^1.2.7: + version "1.2.13" + resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-1.2.13.tgz#f325cb0455592428bcf11b383370ef70e3bfcc38" + integrity sha512-oWb1Z6mkHIskLzEJ/XWX0srkpkTQ7vaopMQkyaEIoq0fmtFVxOthb8cCxeT+p3ynTdkk/RZwbgG4brR5BeWECw== + dependencies: + bindings "^1.5.0" + nan "^2.12.1" + +fsevents@^2.1.2, fsevents@~2.3.2: + version "2.3.2" + resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-2.3.2.tgz#8a526f78b8fdf4623b709e0b975c52c24c02fd1a" + integrity sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA== + +fstream-ignore@^1.0.5: + version "1.0.5" + resolved "https://registry.yarnpkg.com/fstream-ignore/-/fstream-ignore-1.0.5.tgz#9c31dae34767018fe1d249b24dada67d092da105" + dependencies: + fstream "^1.0.0" + inherits "2" + minimatch "^3.0.0" + +fstream@^1.0.0, fstream@^1.0.10, fstream@^1.0.2: + version "1.0.11" + resolved "https://registry.yarnpkg.com/fstream/-/fstream-1.0.11.tgz#5c1fb1f117477114f0632a0eb4b71b3cb0fd3171" + dependencies: + graceful-fs "^4.1.2" + inherits "~2.0.0" + mkdirp ">=0.5 0" + rimraf "2" + +function-bind@^1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/function-bind/-/function-bind-1.1.1.tgz#a56899d3ea3c9bab874bb9773b7c5ede92f4895d" + integrity sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A== + +functional-red-black-tree@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz#1b0ab3bd553b2a0d6399d29c0e3ea0b252078327" + integrity sha1-GwqzvVU7Kg1jmdKcDj6gslIHgyc= + +functions-have-names@^1.2.2: + version "1.2.3" + resolved "https://registry.yarnpkg.com/functions-have-names/-/functions-have-names-1.2.3.tgz#0404fe4ee2ba2f607f0e0ec3c80bae994133b834" + integrity sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ== + +gauge@~2.7.3: + version "2.7.4" + resolved "https://registry.yarnpkg.com/gauge/-/gauge-2.7.4.tgz#2c03405c7538c39d7eb37b317022e325fb018bf7" + dependencies: + 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" + +gaze@^1.0.0: + version "1.1.2" + resolved "https://registry.yarnpkg.com/gaze/-/gaze-1.1.2.tgz#847224677adb8870d679257ed3388fdb61e40105" + dependencies: + globule "^1.0.0" + +gensync@^1.0.0-beta.2: + version "1.0.0-beta.2" + resolved "https://registry.yarnpkg.com/gensync/-/gensync-1.0.0-beta.2.tgz#32a6ee76c3d7f52d46b2b1ae5d93fea8580a25e0" + integrity sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg== + +geotiff@^2.0.2: + version "2.0.5" + resolved "https://registry.yarnpkg.com/geotiff/-/geotiff-2.0.5.tgz#ef94227aba5c1b64167b49c44304b1fea5b01c95" + integrity sha512-U5kVYm118YAmw2swiLu8rhfrYnDKOFI7VaMjuQwcq6Intuuid9Pyb4jjxYUxxkq8kOu2r7Am0Rmb52PObGp4pQ== + dependencies: + "@petamoriken/float16" "^3.4.7" + lerc "^3.0.0" + pako "^2.0.4" + parse-headers "^2.0.2" + quick-lru "^6.1.0" + web-worker "^1.2.0" + xml-utils "^1.0.2" + +get-caller-file@^2.0.1, get-caller-file@^2.0.5: + version "2.0.5" + resolved "https://registry.yarnpkg.com/get-caller-file/-/get-caller-file-2.0.5.tgz#4f94412a82db32f36e3b0b9741f8a97feb031f7e" + integrity sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg== + +get-document@1: + version "1.0.0" + resolved "https://registry.yarnpkg.com/get-document/-/get-document-1.0.0.tgz#4821bce66f1c24cb0331602be6cb6b12c4f01c4b" + integrity sha1-SCG85m8cJMsDMWAr5strEsTwHEs= + +get-intrinsic@^1.0.2, get-intrinsic@^1.1.0, get-intrinsic@^1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/get-intrinsic/-/get-intrinsic-1.1.1.tgz#15f59f376f855c446963948f0d24cd3637b4abc6" + integrity sha512-kWZrnVM42QCiEA2Ig1bG8zjoIMOgxWwYCEeNdwY6Tv/cOSeGpcoX4pXHfKUxNKVoArnrEr2e9srnAxxGIraS9Q== + dependencies: + function-bind "^1.1.1" + has "^1.0.3" + has-symbols "^1.0.1" + +get-package-type@^0.1.0: + version "0.1.0" + resolved "https://registry.yarnpkg.com/get-package-type/-/get-package-type-0.1.0.tgz#8de2d803cff44df3bc6c456e6668b36c3926e11a" + integrity sha512-pjzuKtY64GYfWizNAJ0fr9VqttZkNiK2iS430LtIHzjBEr6bX8Am2zm4sW4Ro5wjWW5cAlRL1qAMTcXbjNAO2Q== + +get-stdin@^4.0.1: + version "4.0.1" + resolved "https://registry.yarnpkg.com/get-stdin/-/get-stdin-4.0.1.tgz#b968c6b0a04384324902e8bf1a5df32579a450fe" + +get-stream@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-3.0.0.tgz#8e943d1358dc37555054ecbe2edb05aa174ede14" + +get-stream@^4.0.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-4.1.0.tgz#c1b255575f3dc21d59bfc79cd3d2b46b1c3a54b5" + integrity sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w== + dependencies: + pump "^3.0.0" + +get-stream@^5.0.0: + version "5.2.0" + resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-5.2.0.tgz#4966a1795ee5ace65e706c4b7beb71257d6e22d3" + integrity sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA== + dependencies: + pump "^3.0.0" + +get-stream@^6.0.0: + version "6.0.1" + resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-6.0.1.tgz#a262d8eef67aced57c2852ad6167526a43cbf7b7" + integrity sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg== + +get-symbol-description@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/get-symbol-description/-/get-symbol-description-1.0.0.tgz#7fdb81c900101fbd564dd5f1a30af5aadc1e58d6" + integrity sha512-2EmdH1YvIQiZpltCNgkuiUnyukzxM/R6NDJX31Ke3BG1Nq5b0S2PhX59UKi9vZpPDQVdqn+1IcaAwnzTT5vCjw== + dependencies: + call-bind "^1.0.2" + get-intrinsic "^1.1.1" + +get-user-locale@^1.2.0: + version "1.4.0" + resolved "https://registry.yarnpkg.com/get-user-locale/-/get-user-locale-1.4.0.tgz#a2c4b5da46feec9f03c9b07d197b1620490a5370" + integrity sha512-gQo03lP1OArHLKlnoglqrGGl7b04u2EP9Xutmp72cMdtrrSD7ZgIsCsUKZynYWLDkVJW33Cj3pliP7uP0UonHQ== + dependencies: + lodash.once "^4.1.1" + +get-value@^2.0.3, get-value@^2.0.6: + version "2.0.6" + resolved "https://registry.yarnpkg.com/get-value/-/get-value-2.0.6.tgz#dc15ca1c672387ca76bd37ac0a395ba2042a2c28" + integrity sha1-3BXKHGcjh8p2vTesCjlbogQqLCg= + +get-window@^1.1.1: + version "1.1.2" + resolved "https://registry.yarnpkg.com/get-window/-/get-window-1.1.2.tgz#65fbaa999fb87f86ea5d30770f4097707044f47f" + integrity sha512-yjWpFcy9fjhLQHW1dPtg9ga4pmizLY8y4ZSHdGrAQ1NU277MRhnGnnLPxe19X8W5lWVsCZz++5xEuNozWMVmTw== + dependencies: + get-document "1" + +getobject@~0.1.0: + version "0.1.0" + resolved "https://registry.yarnpkg.com/getobject/-/getobject-0.1.0.tgz#047a449789fa160d018f5486ed91320b6ec7885c" + +getpass@^0.1.1: + version "0.1.7" + resolved "https://registry.yarnpkg.com/getpass/-/getpass-0.1.7.tgz#5eff8e3e684d569ae4cb2b1282604e8ba62149fa" + dependencies: + assert-plus "^1.0.0" + +glob-base@^0.3.0: + version "0.3.0" + resolved "https://registry.yarnpkg.com/glob-base/-/glob-base-0.3.0.tgz#dbb164f6221b1c0b1ccf82aea328b497df0ea3c4" + dependencies: + glob-parent "^2.0.0" + is-glob "^2.0.0" + +glob-parent@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-2.0.0.tgz#81383d72db054fcccf5336daa902f182f6edbb28" + dependencies: + is-glob "^2.0.0" + +glob-parent@^3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-3.1.0.tgz#9e6af6299d8d3bd2bd40430832bd113df906c5ae" + integrity sha1-nmr2KZ2NO9K9QEMIMr0RPfkGxa4= + dependencies: + is-glob "^3.1.0" + path-dirname "^1.0.0" + +glob-parent@^5.1.2, glob-parent@~5.1.2: + version "5.1.2" + resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-5.1.2.tgz#869832c58034fe68a4093c17dc15e8340d8401c4" + integrity sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow== + dependencies: + is-glob "^4.0.1" + +glob@^7.0.5, glob@^7.1.1, glob@~7.1.1: + version "7.1.2" + resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.2.tgz#c19c9df9a028702d678612384a6552404c636d15" + dependencies: + 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" + +glob@^7.1.2, glob@^7.1.3, glob@^7.1.4, glob@^7.1.6: + version "7.2.0" + resolved "https://registry.yarnpkg.com/glob/-/glob-7.2.0.tgz#d15535af7732e02e948f4c41628bd910293f6023" + integrity sha512-lmLf6gtyrPq8tTjSmrO94wBeQbFR3HbLHbuyD69wuyQkImp2hWqMGB47OX65FBkPffO641IP9jWa1z4ivqG26Q== + dependencies: + 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" + +glob@~5.0.0: + version "5.0.15" + resolved "https://registry.yarnpkg.com/glob/-/glob-5.0.15.tgz#1bc936b9e02f4a603fcc222ecf7633d30b8b93b1" + dependencies: + inflight "^1.0.4" + inherits "2" + minimatch "2 || 3" + once "^1.3.0" + path-is-absolute "^1.0.0" + +glob@~7.0.0: + version "7.0.6" + resolved "https://registry.yarnpkg.com/glob/-/glob-7.0.6.tgz#211bafaf49e525b8cd93260d14ab136152b3f57a" + dependencies: + fs.realpath "^1.0.0" + inflight "^1.0.4" + inherits "2" + minimatch "^3.0.2" + once "^1.3.0" + path-is-absolute "^1.0.0" + +global-modules@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/global-modules/-/global-modules-2.0.0.tgz#997605ad2345f27f51539bea26574421215c7780" + integrity sha512-NGbfmJBp9x8IxyJSd1P+otYK8vonoJactOogrVfFRIAEY1ukil8RSKDz2Yo7wh1oihl51l/r6W4epkeKJHqL8A== + dependencies: + global-prefix "^3.0.0" + +global-prefix@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/global-prefix/-/global-prefix-3.0.0.tgz#fc85f73064df69f50421f47f883fe5b913ba9b97" + integrity sha512-awConJSVCHVGND6x3tmMaKcQvwXLhjdkmomy2W+Goaui8YPgYgXJZewhg3fWC+DlfqqQuWg8AwqjGTD2nAPVWg== + dependencies: + ini "^1.3.5" + kind-of "^6.0.2" + which "^1.3.1" + +globals@^11.1.0: + version "11.12.0" + resolved "https://registry.yarnpkg.com/globals/-/globals-11.12.0.tgz#ab8795338868a0babd8525758018c2a7eb95c42e" + integrity sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA== + +globals@^13.6.0, globals@^13.9.0: + version "13.13.0" + resolved "https://registry.yarnpkg.com/globals/-/globals-13.13.0.tgz#ac32261060d8070e2719dd6998406e27d2b5727b" + integrity sha512-EQ7Q18AJlPwp3vUDL4mKA0KXrXyNIQyWon6T6XQiBQF0XHvRsiCSrWmmeATpUzdJN2HhWZU6Pdl0a9zdep5p6A== + dependencies: + type-fest "^0.20.2" + +globby@^10.0.1: + version "10.0.2" + resolved "https://registry.yarnpkg.com/globby/-/globby-10.0.2.tgz#277593e745acaa4646c3ab411289ec47a0392543" + integrity sha512-7dUi7RvCoT/xast/o/dLN53oqND4yk0nsHkhRgn9w65C4PofCLOoJ39iSOg+qVDdWQPIEj+eszMHQ+aLVwwQSg== + dependencies: + "@types/glob" "^7.1.1" + array-union "^2.1.0" + dir-glob "^3.0.1" + fast-glob "^3.0.3" + glob "^7.1.3" + ignore "^5.1.1" + merge2 "^1.2.3" + slash "^3.0.0" + +globby@^11.0.3, globby@^11.0.4: + version "11.1.0" + resolved "https://registry.yarnpkg.com/globby/-/globby-11.1.0.tgz#bd4be98bb042f83d796f7e3811991fbe82a0d34b" + integrity sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g== + dependencies: + array-union "^2.1.0" + dir-glob "^3.0.1" + fast-glob "^3.2.9" + ignore "^5.2.0" + merge2 "^1.4.1" + slash "^3.0.0" + +globby@^7.1.1: + version "7.1.1" + resolved "https://registry.yarnpkg.com/globby/-/globby-7.1.1.tgz#fb2ccff9401f8600945dfada97440cca972b8680" + integrity sha1-+yzP+UAfhgCUXfral0QMypcrhoA= + dependencies: + array-union "^1.0.1" + dir-glob "^2.0.0" + glob "^7.1.2" + ignore "^3.3.5" + pify "^3.0.0" + slash "^1.0.0" + +globule@^1.0.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/globule/-/globule-1.2.0.tgz#1dc49c6822dd9e8a2fa00ba2a295006e8664bd09" + dependencies: + glob "~7.1.1" + lodash "~4.17.4" + minimatch "~3.0.2" + +graceful-fs@^4.1.11, graceful-fs@^4.1.15, graceful-fs@^4.2.0, graceful-fs@^4.2.2, graceful-fs@^4.2.4: + version "4.2.10" + resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.10.tgz#147d3a006da4ca3ce14728c7aefc287c367d7a6c" + integrity sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA== + +graceful-fs@^4.1.2, graceful-fs@^4.1.6, graceful-fs@^4.1.9: + version "4.1.11" + resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.1.11.tgz#0e8bdfe4d1ddb8854d64e04ea7c00e2a026e5658" + +"grafana-sdk-mocks@github:grafana/grafana-sdk-mocks": + version "1.0.0" + resolved "https://codeload.github.com/grafana/grafana-sdk-mocks/tar.gz/82d4b132f1ac9761c969c917382d5fb9988ec632" + +growly@^1.3.0: + version "1.3.0" + resolved "https://registry.yarnpkg.com/growly/-/growly-1.3.0.tgz#f10748cbe76af964b7c96c93c6bcc28af120c081" + integrity sha1-8QdIy+dq+WS3yWyTxrzCivEgwIE= + +grunt-cli@~1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/grunt-cli/-/grunt-cli-1.2.0.tgz#562b119ebb069ddb464ace2845501be97b35b6a8" + dependencies: + findup-sync "~0.3.0" + grunt-known-options "~1.1.0" + nopt "~3.0.6" + resolve "~1.1.0" + +grunt-contrib-clean@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/grunt-contrib-clean/-/grunt-contrib-clean-1.1.0.tgz#564abf2d0378a983a15b9e3f30ee75b738c40638" + dependencies: + async "^1.5.2" + rimraf "^2.5.1" + +grunt-contrib-copy@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/grunt-contrib-copy/-/grunt-contrib-copy-1.0.0.tgz#7060c6581e904b8ab0d00f076e0a8f6e3e7c3573" + dependencies: + chalk "^1.1.1" + file-sync-cmp "^0.1.0" + +grunt-contrib-watch@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/grunt-contrib-watch/-/grunt-contrib-watch-1.0.0.tgz#84a1a7a1d6abd26ed568413496c73133e990018f" + dependencies: + async "^1.5.0" + gaze "^1.0.0" + lodash "^3.10.1" + tiny-lr "^0.2.1" + +grunt-known-options@~1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/grunt-known-options/-/grunt-known-options-1.1.0.tgz#a4274eeb32fa765da5a7a3b1712617ce3b144149" + +grunt-legacy-log-utils@~1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/grunt-legacy-log-utils/-/grunt-legacy-log-utils-1.0.0.tgz#a7b8e2d0fb35b5a50f4af986fc112749ebc96f3d" + dependencies: + chalk "~1.1.1" + lodash "~4.3.0" + +grunt-legacy-log@~1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/grunt-legacy-log/-/grunt-legacy-log-1.0.1.tgz#c7731b2745f4732aa9950ee4d7ae63c553f68469" + dependencies: + colors "~1.1.2" + grunt-legacy-log-utils "~1.0.0" + hooker "~0.2.3" + lodash "~4.17.5" + underscore.string "~3.3.4" + +grunt-legacy-util@~1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/grunt-legacy-util/-/grunt-legacy-util-1.0.0.tgz#386aa78dc6ed50986c2b18957265b1b48abb9b86" + dependencies: + async "~1.5.2" + exit "~0.1.1" + getobject "~0.1.0" + hooker "~0.2.3" + lodash "~4.3.0" + underscore.string "~3.2.3" + which "~1.2.1" + +grunt-string-replace@^1.3: + version "1.3.1" + resolved "https://registry.yarnpkg.com/grunt-string-replace/-/grunt-string-replace-1.3.1.tgz#633a03bc78482a0e0e1f9df7f645811fc1fbb162" + dependencies: + async "^2.0.0" + chalk "^1.0.0" + +grunt-typescript@^0.8.0: + version "0.8.0" + resolved "https://registry.yarnpkg.com/grunt-typescript/-/grunt-typescript-0.8.0.tgz#22bdd43ffc59adee9bcd274d32a0b83ca5500290" + dependencies: + bluebird "~2.9.34" + chokidar "^1.0.5" + typescript "1.6.2" + +grunt@^1.0.1: + version "1.0.2" + resolved "https://registry.yarnpkg.com/grunt/-/grunt-1.0.2.tgz#4e6a5e695b70472fd5304f5fa9e34236836a73bc" + dependencies: + coffeescript "~1.10.0" + dateformat "~1.0.12" + eventemitter2 "~0.4.13" + exit "~0.1.1" + findup-sync "~0.3.0" + glob "~7.0.0" + grunt-cli "~1.2.0" + grunt-known-options "~1.1.0" + grunt-legacy-log "~1.0.0" + grunt-legacy-util "~1.0.0" + iconv-lite "~0.4.13" + js-yaml "~3.5.2" + minimatch "~3.0.2" + nopt "~3.0.6" + path-is-absolute "~1.0.0" + rimraf "~2.2.8" + +gzip-size@^6.0.0: + version "6.0.0" + resolved "https://registry.yarnpkg.com/gzip-size/-/gzip-size-6.0.0.tgz#065367fd50c239c0671cbcbad5be3e2eeb10e462" + integrity sha512-ax7ZYomf6jqPTQ4+XCpUGyXKHk5WweS+e05MBO4/y3WJ5RkmPXNKvX+bx1behVILVwr6JSQvZAku021CHPXG3Q== + dependencies: + duplexer "^0.1.2" + +har-schema@^1.0.5: + version "1.0.5" + resolved "https://registry.yarnpkg.com/har-schema/-/har-schema-1.0.5.tgz#d263135f43307c02c602afc8fe95970c0151369e" + +har-schema@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/har-schema/-/har-schema-2.0.0.tgz#a94c2224ebcac04782a0d9035521f24735b7ec92" + +har-validator@~4.2.1: + version "4.2.1" + resolved "https://registry.yarnpkg.com/har-validator/-/har-validator-4.2.1.tgz#33481d0f1bbff600dd203d75812a6a5fba002e2a" + dependencies: + ajv "^4.9.1" + har-schema "^1.0.5" + +har-validator@~5.0.3: + version "5.0.3" + resolved "https://registry.yarnpkg.com/har-validator/-/har-validator-5.0.3.tgz#ba402c266194f15956ef15e0fcf242993f6a7dfd" + dependencies: + ajv "^5.1.0" + har-schema "^2.0.0" + +har-validator@~5.1.3: + version "5.1.5" + resolved "https://registry.yarnpkg.com/har-validator/-/har-validator-5.1.5.tgz#1f0803b9f8cb20c0fa13822df1ecddb36bde1efd" + integrity sha512-nmT2T0lljbxdQZfspsno9hgrG3Uir6Ks5afism62poxqBM6sDnMEuPmzTq8XN0OEwqKLLdh1jQI3qyE66Nzb3w== + dependencies: + ajv "^6.12.3" + har-schema "^2.0.0" + +has-ansi@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/has-ansi/-/has-ansi-2.0.0.tgz#34f5049ce1ecdf2b0649af3ef24e45ed35416d91" + dependencies: + ansi-regex "^2.0.0" + +has-bigints@^1.0.1, has-bigints@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/has-bigints/-/has-bigints-1.0.2.tgz#0871bd3e3d51626f6ca0966668ba35d5602d6eaa" + integrity sha512-tSvCKtBr9lkF0Ex0aQiP9N+OpV4zi2r/Nee5VkRDbaqv35RLYMzbwQfFSZZH0kR+Rd6302UJZ2p/bJCEoR3VoQ== + +has-binary@0.1.7: + version "0.1.7" + resolved "https://registry.yarnpkg.com/has-binary/-/has-binary-0.1.7.tgz#68e61eb16210c9545a0a5cce06a873912fe1e68c" + dependencies: + isarray "0.0.1" + +has-cors@1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/has-cors/-/has-cors-1.1.0.tgz#5e474793f7ea9843d1bb99c23eef49ff126fff39" + +has-flag@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-3.0.0.tgz#b5d454dc2199ae225699f3467e5a07f3b955bafd" + +has-flag@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-4.0.0.tgz#944771fd9c81c81265c4d6941860da06bb59479b" + integrity sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ== + +has-property-descriptors@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/has-property-descriptors/-/has-property-descriptors-1.0.0.tgz#610708600606d36961ed04c196193b6a607fa861" + integrity sha512-62DVLZGoiEBDHQyqG4w9xCuZ7eJEwNmJRWw2VY84Oedb7WFcA27fiEVe8oUQx9hAUJ4ekurquucTGwsyO1XGdQ== + dependencies: + get-intrinsic "^1.1.1" + +has-symbols@^1.0.1, has-symbols@^1.0.2, has-symbols@^1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/has-symbols/-/has-symbols-1.0.3.tgz#bb7b2c4349251dce87b125f7bdf874aa7c8b39f8" + integrity sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A== + +has-tostringtag@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/has-tostringtag/-/has-tostringtag-1.0.0.tgz#7e133818a7d394734f941e73c3d3f9291e658b25" + integrity sha512-kFjcSNhnlGV1kyoGk7OXKSawH5JOb/LzUc5w9B02hOTO0dfFRjbHQKvg1d6cf3HbeUmtU9VbbV3qzZ2Teh97WQ== + dependencies: + has-symbols "^1.0.2" + +has-unicode@^2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/has-unicode/-/has-unicode-2.0.1.tgz#e0e6fe6a28cf51138855e086d1691e771de2a8b9" + +has-value@^0.3.1: + version "0.3.1" + resolved "https://registry.yarnpkg.com/has-value/-/has-value-0.3.1.tgz#7b1f58bada62ca827ec0a2078025654845995e1f" + integrity sha1-ex9YutpiyoJ+wKIHgCVlSEWZXh8= + dependencies: + get-value "^2.0.3" + has-values "^0.1.4" + isobject "^2.0.0" + +has-value@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/has-value/-/has-value-1.0.0.tgz#18b281da585b1c5c51def24c930ed29a0be6b177" + integrity sha1-GLKB2lhbHFxR3vJMkw7SmgvmsXc= + dependencies: + get-value "^2.0.6" + has-values "^1.0.0" + isobject "^3.0.0" + +has-values@^0.1.4: + version "0.1.4" + resolved "https://registry.yarnpkg.com/has-values/-/has-values-0.1.4.tgz#6d61de95d91dfca9b9a02089ad384bff8f62b771" + integrity sha1-bWHeldkd/Km5oCCJrThL/49it3E= + +has-values@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/has-values/-/has-values-1.0.0.tgz#95b0b63fec2146619a6fe57fe75628d5a39efe4f" + integrity sha1-lbC2P+whRmGab+V/51Yo1aOe/k8= + dependencies: + is-number "^3.0.0" + kind-of "^4.0.0" + +has@^1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/has/-/has-1.0.3.tgz#722d7cbfc1f6aa8241f16dd814e011e1f41e8796" + integrity sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw== + dependencies: + function-bind "^1.1.1" + +hash-base@^3.0.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/hash-base/-/hash-base-3.1.0.tgz#55c381d9e06e1d2997a883b4a3fddfe7f0d3af33" + integrity sha512-1nmYp/rhMDiE7AYkDw+lLwlAzz0AntGIe51F3RfFfEqyQ3feY2eI/NcwC6umIQVOASPMsWJLJScWKSSvzL9IVA== + dependencies: + inherits "^2.0.4" + readable-stream "^3.6.0" + safe-buffer "^5.2.0" + +hash.js@^1.0.0, hash.js@^1.0.3: + version "1.1.7" + resolved "https://registry.yarnpkg.com/hash.js/-/hash.js-1.1.7.tgz#0babca538e8d4ee4a0f8988d68866537a003cf42" + integrity sha512-taOaskGt4z4SOANNseOviYDvjEJinIkRgmp7LbKP2YTTmVxWBl87s/uzK9r+44BclBSp2X7K1hqeNfz9JbBeXA== + dependencies: + inherits "^2.0.3" + minimalistic-assert "^1.0.1" + +hasha@^2.2.0: + version "2.2.0" + resolved "https://registry.yarnpkg.com/hasha/-/hasha-2.2.0.tgz#78d7cbfc1e6d66303fe79837365984517b2f6ee1" + dependencies: + is-stream "^1.0.1" + pinkie-promise "^2.0.0" + +hawk@3.1.3, hawk@~3.1.3: + version "3.1.3" + resolved "https://registry.yarnpkg.com/hawk/-/hawk-3.1.3.tgz#078444bd7c1640b0fe540d2c9b73d59678e8e1c4" + dependencies: + boom "2.x.x" + cryptiles "2.x.x" + hoek "2.x.x" + sntp "1.x.x" + +hawk@~6.0.2: + version "6.0.2" + resolved "https://registry.yarnpkg.com/hawk/-/hawk-6.0.2.tgz#af4d914eb065f9b5ce4d9d11c1cb2126eecc3038" + dependencies: + boom "4.x.x" + cryptiles "3.x.x" + hoek "4.x.x" + sntp "2.x.x" + +he@1.2.x: + version "1.2.0" + resolved "https://registry.yarnpkg.com/he/-/he-1.2.0.tgz#84ae65fa7eafb165fddb61566ae14baf05664f0f" + integrity sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw== + +highlight-words-core@^1.2.0: + version "1.2.2" + resolved "https://registry.yarnpkg.com/highlight-words-core/-/highlight-words-core-1.2.2.tgz#1eff6d7d9f0a22f155042a00791237791b1eeaaa" + integrity sha512-BXUKIkUuh6cmmxzi5OIbUJxrG8OAk2MqoL1DtO3Wo9D2faJg2ph5ntyuQeLqaHJmzER6H5tllCDA9ZnNe9BVGg== + +history@^4.9.0: + version "4.10.1" + resolved "https://registry.yarnpkg.com/history/-/history-4.10.1.tgz#33371a65e3a83b267434e2b3f3b1b4c58aad4cf3" + integrity sha512-36nwAD620w12kuzPAsyINPWJqlNbij+hpK1k9XRloDtym8mxzGYl2c17LnV6IAGB2Dmg4tEa7G7DlawS0+qjew== + dependencies: + "@babel/runtime" "^7.1.2" + loose-envify "^1.2.0" + resolve-pathname "^3.0.0" + tiny-invariant "^1.0.2" + tiny-warning "^1.0.0" + value-equal "^1.0.1" + +hmac-drbg@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/hmac-drbg/-/hmac-drbg-1.0.1.tgz#d2745701025a6c775a6c545793ed502fc0c649a1" + integrity sha1-0nRXAQJabHdabFRXk+1QL8DGSaE= + dependencies: + hash.js "^1.0.3" + minimalistic-assert "^1.0.0" + minimalistic-crypto-utils "^1.0.1" + +hoek@2.x.x: + version "2.16.3" + resolved "https://registry.yarnpkg.com/hoek/-/hoek-2.16.3.tgz#20bb7403d3cea398e91dc4710a8ff1b8274a25ed" + +hoek@4.x.x: + version "4.2.1" + resolved "https://registry.yarnpkg.com/hoek/-/hoek-4.2.1.tgz#9634502aa12c445dd5a7c5734b572bb8738aacbb" + +hoist-non-react-statics@3.3.2, hoist-non-react-statics@^3.1.0, hoist-non-react-statics@^3.3.0, hoist-non-react-statics@^3.3.1, hoist-non-react-statics@^3.3.2: + version "3.3.2" + resolved "https://registry.yarnpkg.com/hoist-non-react-statics/-/hoist-non-react-statics-3.3.2.tgz#ece0acaf71d62c2969c2ec59feff42a4b1a85b45" + integrity sha512-/gGivxi8JPKWNm/W0jSmzcMPpfpPLc3dY/6GxhX2hQ9iGj3aDfklV4ET7NjKpSinLpJ5vafa9iiGIEZg10SfBw== + dependencies: + react-is "^16.7.0" + +hooker@~0.2.3: + version "0.2.3" + resolved "https://registry.yarnpkg.com/hooker/-/hooker-0.2.3.tgz#b834f723cc4a242aa65963459df6d984c5d3d959" + +hosted-git-info@^2.1.4: + version "2.6.0" + resolved "https://registry.yarnpkg.com/hosted-git-info/-/hosted-git-info-2.6.0.tgz#23235b29ab230c576aab0d4f13fc046b0b038222" + +html-encoding-sniffer@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/html-encoding-sniffer/-/html-encoding-sniffer-1.0.2.tgz#e70d84b94da53aa375e11fe3a351be6642ca46f8" + integrity sha512-71lZziiDnsuabfdYiUeWdCVyKuqwWi23L8YeIgV9jSSZHCtb6wB1BKWooH7L3tn4/FuZJMVWyNaIDr4RGmaSYw== + dependencies: + whatwg-encoding "^1.0.1" + +html-encoding-sniffer@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/html-encoding-sniffer/-/html-encoding-sniffer-2.0.1.tgz#42a6dc4fd33f00281176e8b23759ca4e4fa185f3" + integrity sha512-D5JbOMBIR/TVZkubHT+OyT2705QvogUW4IBn6nHd756OwieSF9aDYFj4dv6HHEVGYbHaLETa3WggZYWWMyy3ZQ== + dependencies: + whatwg-encoding "^1.0.5" + +html-escaper@^2.0.0: + version "2.0.2" + resolved "https://registry.yarnpkg.com/html-escaper/-/html-escaper-2.0.2.tgz#dfd60027da36a36dfcbe236262c00a5822681453" + integrity sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg== + +html-loader@0.5.5: + version "0.5.5" + resolved "https://registry.yarnpkg.com/html-loader/-/html-loader-0.5.5.tgz#6356dbeb0c49756d8ebd5ca327f16ff06ab5faea" + integrity sha512-7hIW7YinOYUpo//kSYcPB6dCKoceKLmOwjEMmhIobHuWGDVl0Nwe4l68mdG/Ru0wcUxQjVMEoZpkalZ/SE7zog== + dependencies: + es6-templates "^0.2.3" + fastparse "^1.1.1" + html-minifier "^3.5.8" + loader-utils "^1.1.0" + object-assign "^4.1.1" + +html-minifier@^3.2.3, html-minifier@^3.5.8: + version "3.5.21" + resolved "https://registry.yarnpkg.com/html-minifier/-/html-minifier-3.5.21.tgz#d0040e054730e354db008463593194015212d20c" + integrity sha512-LKUKwuJDhxNa3uf/LPR/KVjm/l3rBqtYeCOAekvG8F1vItxMUpueGd94i/asDDr8/1u7InxzFA5EeGjhhG5mMA== + dependencies: + camel-case "3.0.x" + clean-css "4.2.x" + commander "2.17.x" + he "1.2.x" + param-case "2.1.x" + relateurl "0.2.x" + uglify-js "3.4.x" + +html-webpack-plugin@^3.2.0: + version "3.2.0" + resolved "https://registry.yarnpkg.com/html-webpack-plugin/-/html-webpack-plugin-3.2.0.tgz#b01abbd723acaaa7b37b6af4492ebda03d9dd37b" + integrity sha1-sBq71yOsqqeze2r0SS69oD2d03s= + dependencies: + html-minifier "^3.2.3" + loader-utils "^0.2.16" + lodash "^4.17.3" + pretty-error "^2.0.2" + tapable "^1.0.0" + toposort "^1.0.0" + util.promisify "1.0.0" + +htmlparser2@^6.1.0: + version "6.1.0" + resolved "https://registry.yarnpkg.com/htmlparser2/-/htmlparser2-6.1.0.tgz#c4d762b6c3371a05dbe65e94ae43a9f845fb8fb7" + integrity sha512-gyyPk6rgonLFEDGoeRgQNaEUvdJ4ktTmmUh/h2t7s+M8oPpIPxgNACWa+6ESR57kXstwqPiCut0V8NRpcwgU7A== + dependencies: + domelementtype "^2.0.1" + domhandler "^4.0.0" + domutils "^2.5.2" + entities "^2.0.0" + +http-errors@1.6.2, http-errors@~1.6.2: + version "1.6.2" + resolved "https://registry.yarnpkg.com/http-errors/-/http-errors-1.6.2.tgz#0a002cc85707192a7e7946ceedc11155f60ec736" + dependencies: + depd "1.1.1" + inherits "2.0.3" + setprototypeof "1.0.3" + statuses ">= 1.3.1 < 2" + +http-errors@~1.3.1: + version "1.3.1" + resolved "https://registry.yarnpkg.com/http-errors/-/http-errors-1.3.1.tgz#197e22cdebd4198585e8694ef6786197b91ed942" + dependencies: + inherits "~2.0.1" + statuses "1" + +http-parser-js@>=0.4.0: + version "0.4.11" + resolved "https://registry.yarnpkg.com/http-parser-js/-/http-parser-js-0.4.11.tgz#5b720849c650903c27e521633d94696ee95f3529" + +http-proxy-agent@^4.0.1: + version "4.0.1" + resolved "https://registry.yarnpkg.com/http-proxy-agent/-/http-proxy-agent-4.0.1.tgz#8a8c8ef7f5932ccf953c296ca8291b95aa74aa3a" + integrity sha512-k0zdNgqWTGA6aeIRVpvfVob4fL52dTfaehylg0Y4UvSySvOq/Y+BOyPrgpUrA7HylqvU8vIZGsRuXmspskV0Tg== + dependencies: + "@tootallnate/once" "1" + agent-base "6" + debug "4" + +http-proxy-middleware@^1.0.0: + version "1.3.1" + resolved "https://registry.yarnpkg.com/http-proxy-middleware/-/http-proxy-middleware-1.3.1.tgz#43700d6d9eecb7419bf086a128d0f7205d9eb665" + integrity sha512-13eVVDYS4z79w7f1+NPllJtOQFx/FdUW4btIvVRMaRlUY9VGstAbo5MOhLEuUgZFRHn3x50ufn25zkj/boZnEg== + dependencies: + "@types/http-proxy" "^1.17.5" + http-proxy "^1.18.1" + is-glob "^4.0.1" + is-plain-obj "^3.0.0" + micromatch "^4.0.2" + +http-proxy@^1.13.0: + version "1.16.2" + resolved "https://registry.yarnpkg.com/http-proxy/-/http-proxy-1.16.2.tgz#06dff292952bf64dbe8471fa9df73066d4f37742" + dependencies: + eventemitter3 "1.x.x" + requires-port "1.x.x" + +http-proxy@^1.18.1: + version "1.18.1" + resolved "https://registry.yarnpkg.com/http-proxy/-/http-proxy-1.18.1.tgz#401541f0534884bbf95260334e72f88ee3976549" + integrity sha512-7mz/721AbnJwIVbnaSv1Cz3Am0ZLT/UBwkC92VlxhXv/k/BBQfM2fXElQNC27BVGr0uwUpplYPQM9LnaBMR5NQ== + dependencies: + eventemitter3 "^4.0.0" + follow-redirects "^1.0.0" + requires-port "^1.0.0" + +http-signature@~1.1.0: + version "1.1.1" + resolved "https://registry.yarnpkg.com/http-signature/-/http-signature-1.1.1.tgz#df72e267066cd0ac67fb76adf8e134a8fbcf91bf" + dependencies: + assert-plus "^0.2.0" + jsprim "^1.2.2" + sshpk "^1.7.0" + +http-signature@~1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/http-signature/-/http-signature-1.2.0.tgz#9aecd925114772f3d95b65a60abb8f7c18fbace1" + dependencies: + assert-plus "^1.0.0" + jsprim "^1.2.2" + sshpk "^1.7.0" + +https-browserify@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/https-browserify/-/https-browserify-1.0.0.tgz#ec06c10e0a34c0f2faf199f7fd7fc78fffd03c73" + integrity sha1-7AbBDgo0wPL68Zn3/X/Hj//QPHM= + +https-proxy-agent@^5.0.0: + version "5.0.1" + resolved "https://registry.yarnpkg.com/https-proxy-agent/-/https-proxy-agent-5.0.1.tgz#c59ef224a04fe8b754f3db0063a25ea30d0005d6" + integrity sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA== + dependencies: + agent-base "6" + debug "4" + +human-signals@^1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/human-signals/-/human-signals-1.1.1.tgz#c5b1cd14f50aeae09ab6c59fe63ba3395fe4dfa3" + integrity sha512-SEQu7vl8KjNL2eoGBLF3+wAjpsNfA9XMlXAYj/3EdaNfAlxKthD1xjEQfGOUhllCGGJVNY34bRr6lPINhNjyZw== + +human-signals@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/human-signals/-/human-signals-2.1.0.tgz#dc91fcba42e4d06e4abaed33b3e7a3c02f514ea0" + integrity sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw== + +husky@^0.14.3: + version "0.14.3" + resolved "https://registry.yarnpkg.com/husky/-/husky-0.14.3.tgz#c69ed74e2d2779769a17ba8399b54ce0b63c12c3" + dependencies: + is-ci "^1.0.10" + normalize-path "^1.0.0" + strip-indent "^2.0.0" + +hyphenate-style-name@^1.0.2: + version "1.0.4" + resolved "https://registry.yarnpkg.com/hyphenate-style-name/-/hyphenate-style-name-1.0.4.tgz#691879af8e220aea5750e8827db4ef62a54e361d" + integrity sha512-ygGZLjmXfPHj+ZWh6LwbC37l43MhfztxetbFCoYTM2VjkIUpeHgSNn7QIyVFj7YQ1Wl9Cbw5sholVJPzWvC2MQ== + +iconv-lite@0.4, iconv-lite@0.4.24, iconv-lite@^0.4.24: + version "0.4.24" + resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.4.24.tgz#2022b4b25fbddc21d2f524974a474aafe733908b" + integrity sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA== + dependencies: + safer-buffer ">= 2.1.2 < 3" + +iconv-lite@0.4.13: + version "0.4.13" + resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.4.13.tgz#1f88aba4ab0b1508e8312acc39345f36e992e2f2" + +iconv-lite@0.4.19, iconv-lite@~0.4.13: + version "0.4.19" + resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.4.19.tgz#f7468f60135f5e5dad3399c0a81be9a1603a082b" + +icss-utils@^4.0.0, icss-utils@^4.1.1: + version "4.1.1" + resolved "https://registry.yarnpkg.com/icss-utils/-/icss-utils-4.1.1.tgz#21170b53789ee27447c2f47dd683081403f9a467" + integrity sha512-4aFq7wvWyMHKgxsH8QQtGpvbASCf+eM3wPRLI6R+MgAnTCZ6STYsRvttLvRWK0Nfif5piF394St3HeJDaljGPA== + dependencies: + postcss "^7.0.14" + +ieee754@^1.1.12, ieee754@^1.1.13, ieee754@^1.1.4: + version "1.2.1" + resolved "https://registry.yarnpkg.com/ieee754/-/ieee754-1.2.1.tgz#8eb7a10a63fff25d15a57b001586d177d1b0d352" + integrity sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA== + +iferr@^0.1.5: + version "0.1.5" + resolved "https://registry.yarnpkg.com/iferr/-/iferr-0.1.5.tgz#c60eed69e6d8fdb6b3104a1fcbca1c192dc5b501" + integrity sha1-xg7taebY/bazEEofy8ocGS3FtQE= + +ignore@^3.3.5: + version "3.3.10" + resolved "https://registry.yarnpkg.com/ignore/-/ignore-3.3.10.tgz#0a97fb876986e8081c631160f8f9f389157f0043" + integrity sha512-Pgs951kaMm5GXP7MOvxERINe3gsaVjUWFm+UZPSq9xYriQAksyhg0csnS0KXSNRD5NmNdapXEpjxG49+AKh/ug== + +ignore@^3.3.7: + version "3.3.7" + resolved "https://registry.yarnpkg.com/ignore/-/ignore-3.3.7.tgz#612289bfb3c220e186a58118618d5be8c1bab021" + +ignore@^4.0.6: + version "4.0.6" + resolved "https://registry.yarnpkg.com/ignore/-/ignore-4.0.6.tgz#750e3db5862087b4737ebac8207ffd1ef27b25fc" + integrity sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg== + +ignore@^5.1.1, ignore@^5.1.8, ignore@^5.2.0: + version "5.2.0" + resolved "https://registry.yarnpkg.com/ignore/-/ignore-5.2.0.tgz#6d3bac8fa7fe0d45d9f9be7bac2fc279577e345a" + integrity sha512-CmxgYGiEPCLhfLnpPp1MoRmifwEIOgjcHXxOBjv7mY96c+eWScsOP9c112ZyLdWHi0FxHjI+4uVhKYp/gcdRmQ== + +image-size@~0.5.0: + version "0.5.5" + resolved "https://registry.yarnpkg.com/image-size/-/image-size-0.5.5.tgz#09dfd4ab9d20e29eb1c3e80b8990378df9e3cb9c" + integrity sha1-Cd/Uq50g4p6xw+gLiZA3jfnjy5w= + +immer@^9.0.7: + version "9.0.12" + resolved "https://registry.yarnpkg.com/immer/-/immer-9.0.12.tgz#2d33ddf3ee1d247deab9d707ca472c8c942a0f20" + integrity sha512-lk7UNmSbAukB5B6dh9fnh5D0bJTOFKxVg2cyJWTYrWRfhLrLMBquONcUs3aFq507hNoIZEDDh8lb8UtOizSMhA== + +immutable@4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/immutable/-/immutable-4.0.0.tgz#b86f78de6adef3608395efb269a91462797e2c23" + integrity sha512-zIE9hX70qew5qTUjSS7wi1iwj/l7+m54KWU247nhM3v806UdGj1yDndXj+IOYxxtW9zyLI+xqFNZjTuDaLUqFw== + +import-cwd@^2.0.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/import-cwd/-/import-cwd-2.1.0.tgz#aa6cf36e722761285cb371ec6519f53e2435b0a9" + integrity sha1-qmzzbnInYShcs3HsZRn1PiQ1sKk= + dependencies: + import-from "^2.1.0" + +import-fresh@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/import-fresh/-/import-fresh-2.0.0.tgz#d81355c15612d386c61f9ddd3922d4304822a546" + integrity sha1-2BNVwVYS04bGH53dOSLUMEgipUY= + dependencies: + caller-path "^2.0.0" + resolve-from "^3.0.0" + +import-fresh@^3.0.0, import-fresh@^3.1.0, import-fresh@^3.2.1: + version "3.3.0" + resolved "https://registry.yarnpkg.com/import-fresh/-/import-fresh-3.3.0.tgz#37162c25fcb9ebaa2e6e53d5b4d88ce17d9e0c2b" + integrity sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw== + dependencies: + parent-module "^1.0.0" + resolve-from "^4.0.0" + +import-from@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/import-from/-/import-from-2.1.0.tgz#335db7f2a7affd53aaa471d4b8021dee36b7f3b1" + integrity sha1-M1238qev/VOqpHHUuAId7ja387E= + dependencies: + resolve-from "^3.0.0" + +import-local@^3.0.2: + version "3.1.0" + resolved "https://registry.yarnpkg.com/import-local/-/import-local-3.1.0.tgz#b4479df8a5fd44f6cdce24070675676063c95cb4" + integrity sha512-ASB07uLtnDs1o6EHjKpX34BKYDSqnFerfTOJL2HvMqF70LnxpjkzDB8J44oT9pu4AMPkQwf8jl6szgvNd2tRIg== + dependencies: + pkg-dir "^4.2.0" + resolve-cwd "^3.0.0" + +imurmurhash@^0.1.4: + version "0.1.4" + resolved "https://registry.yarnpkg.com/imurmurhash/-/imurmurhash-0.1.4.tgz#9218b9b2b928a238b13dc4fb6b6d576f231453ea" + integrity sha1-khi5srkoojixPcT7a21XbyMUU+o= + +indent-string@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/indent-string/-/indent-string-2.1.0.tgz#8e2d48348742121b4a8218b7a137e9a52049dc80" + dependencies: + repeating "^2.0.0" + +indent-string@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/indent-string/-/indent-string-4.0.0.tgz#624f8f4497d619b2d9768531d58f4122854d7251" + integrity sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg== + +indexes-of@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/indexes-of/-/indexes-of-1.0.1.tgz#f30f716c8e2bd346c7b67d3df3915566a7c05607" + integrity sha1-8w9xbI4r00bHtn0985FVZqfAVgc= + +indexof@0.0.1: + version "0.0.1" + resolved "https://registry.yarnpkg.com/indexof/-/indexof-0.0.1.tgz#82dc336d232b9062179d05ab3293a66059fd435d" + +infer-owner@^1.0.3, infer-owner@^1.0.4: + version "1.0.4" + resolved "https://registry.yarnpkg.com/infer-owner/-/infer-owner-1.0.4.tgz#c4cefcaa8e51051c2a40ba2ce8a3d27295af9467" + integrity sha512-IClj+Xz94+d7irH5qRyfJonOdfTzuDaifE6ZPWfx0N0+/ATZCbuTPq2prFl526urkQd90WyUKIh1DfBQ2hMz9A== + +inflight@^1.0.4: + version "1.0.6" + resolved "https://registry.yarnpkg.com/inflight/-/inflight-1.0.6.tgz#49bd6331d7d02d0c09bc910a1075ba8165b56df9" + dependencies: + once "^1.3.0" + wrappy "1" + +inherits@2, inherits@2.0.3, inherits@^2.0.1, inherits@^2.0.3, inherits@~2.0.0, inherits@~2.0.1, inherits@~2.0.3: + version "2.0.3" + resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.3.tgz#633c2c83e3da42a502f52466022480f4208261de" + +inherits@2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.1.tgz#b17d08d326b4423e568eff719f91b0b1cbdf69f1" + integrity sha1-sX0I0ya0Qj5Wjv9xn5GwscvfafE= + +inherits@^2.0.4: + version "2.0.4" + resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.4.tgz#0fa2c64f932917c3433a0ded55363aae37416b7c" + integrity sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ== + +ini@^1.3.5: + version "1.3.8" + resolved "https://registry.yarnpkg.com/ini/-/ini-1.3.8.tgz#a29da425b48806f34767a4efce397269af28432c" + integrity sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew== + +ini@~1.3.0: + version "1.3.5" + resolved "https://registry.yarnpkg.com/ini/-/ini-1.3.5.tgz#eee25f56db1c9ec6085e0c22778083f596abf927" + +inline-style-prefixer@^6.0.0: + version "6.0.1" + resolved "https://registry.yarnpkg.com/inline-style-prefixer/-/inline-style-prefixer-6.0.1.tgz#c5c0e43ba8831707afc5f5bbfd97edf45c1fa7ae" + integrity sha512-AsqazZ8KcRzJ9YPN1wMH2aNM7lkWQ8tSPrW5uDk1ziYwiAPWSZnUsC7lfZq+BDqLqz0B4Pho5wscWcJzVvRzDQ== + dependencies: + css-in-js-utils "^2.0.0" + +inquirer@^8.0.0: + version "8.2.4" + resolved "https://registry.yarnpkg.com/inquirer/-/inquirer-8.2.4.tgz#ddbfe86ca2f67649a67daa6f1051c128f684f0b4" + integrity sha512-nn4F01dxU8VeKfq192IjLsxu0/OmMZ4Lg3xKAns148rCaXP6ntAoEkVYZThWjwON8AlzdZZi6oqnhNbxUG9hVg== + dependencies: + ansi-escapes "^4.2.1" + chalk "^4.1.1" + cli-cursor "^3.1.0" + cli-width "^3.0.0" + external-editor "^3.0.3" + figures "^3.0.0" + lodash "^4.17.21" + mute-stream "0.0.8" + ora "^5.4.1" + run-async "^2.4.0" + rxjs "^7.5.5" + string-width "^4.1.0" + strip-ansi "^6.0.0" + through "^2.3.6" + wrap-ansi "^7.0.0" + +internal-slot@^1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/internal-slot/-/internal-slot-1.0.3.tgz#7347e307deeea2faac2ac6205d4bc7d34967f59c" + integrity sha512-O0DB1JC/sPyZl7cIo78n5dR7eUSwwpYPiXRhTzNxZVAMUuB8vlnRFyLxdrVToks6XPLVnFfbzaVd5WLjhgg+vA== + dependencies: + get-intrinsic "^1.1.0" + has "^1.0.3" + side-channel "^1.0.4" + +intl-messageformat@^9.6.12: + version "9.13.0" + resolved "https://registry.yarnpkg.com/intl-messageformat/-/intl-messageformat-9.13.0.tgz#97360b73bd82212e4f6005c712a4a16053165468" + integrity sha512-7sGC7QnSQGa5LZP7bXLDhVDtQOeKGeBFGHF2Y8LVBwYZoQZCgWeKoPGTa5GMG8g/TzDgeXuYJQis7Ggiw2xTOw== + dependencies: + "@formatjs/ecma402-abstract" "1.11.4" + "@formatjs/fast-memoize" "1.2.1" + "@formatjs/icu-messageformat-parser" "2.1.0" + tslib "^2.1.0" + +invariant@^2.2.2, invariant@^2.2.4: + version "2.2.4" + resolved "https://registry.yarnpkg.com/invariant/-/invariant-2.2.4.tgz#610f3c92c9359ce1db616e538008d23ff35158e6" + integrity sha512-phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA== + dependencies: + loose-envify "^1.0.0" + +ip-regex@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/ip-regex/-/ip-regex-2.1.0.tgz#fa78bf5d2e6913c911ce9f819ee5146bb6d844e9" + integrity sha1-+ni/XS5pE8kRzp+BnuUUa7bYROk= + +is-accessor-descriptor@^0.1.6: + version "0.1.6" + resolved "https://registry.yarnpkg.com/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz#a9e12cb3ae8d876727eeef3843f8a0897b5c98d6" + integrity sha1-qeEss66Nh2cn7u84Q/igiXtcmNY= + dependencies: + kind-of "^3.0.2" + +is-accessor-descriptor@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz#169c2f6d3df1f992618072365c9b0ea1f6878656" + integrity sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ== + dependencies: + kind-of "^6.0.0" + +is-arrayish@^0.2.1: + version "0.2.1" + resolved "https://registry.yarnpkg.com/is-arrayish/-/is-arrayish-0.2.1.tgz#77c99840527aa8ecb1a8ba697b80645a7a926a9d" + +is-bigint@^1.0.1: + version "1.0.4" + resolved "https://registry.yarnpkg.com/is-bigint/-/is-bigint-1.0.4.tgz#08147a1875bc2b32005d41ccd8291dffc6691df3" + integrity sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg== + dependencies: + has-bigints "^1.0.1" + +is-binary-path@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/is-binary-path/-/is-binary-path-1.0.1.tgz#75f16642b480f187a711c814161fd3a4a7655898" + dependencies: + binary-extensions "^1.0.0" + +is-binary-path@~2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/is-binary-path/-/is-binary-path-2.1.0.tgz#ea1f7f3b80f064236e83470f86c09c254fb45b09" + integrity sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw== + dependencies: + binary-extensions "^2.0.0" + +is-boolean-object@^1.1.0: + version "1.1.2" + resolved "https://registry.yarnpkg.com/is-boolean-object/-/is-boolean-object-1.1.2.tgz#5c6dc200246dd9321ae4b885a114bb1f75f63719" + integrity sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA== + dependencies: + call-bind "^1.0.2" + has-tostringtag "^1.0.0" + +is-buffer@^1.1.5: + version "1.1.6" + resolved "https://registry.yarnpkg.com/is-buffer/-/is-buffer-1.1.6.tgz#efaa2ea9daa0d7ab2ea13a97b2b8ad51fefbe8be" + +is-builtin-module@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/is-builtin-module/-/is-builtin-module-1.0.0.tgz#540572d34f7ac3119f8f76c30cbc1b1e037affbe" + dependencies: + builtin-modules "^1.0.0" + +is-callable@^1.1.3, is-callable@^1.1.4, is-callable@^1.2.4: + version "1.2.4" + resolved "https://registry.yarnpkg.com/is-callable/-/is-callable-1.2.4.tgz#47301d58dd0259407865547853df6d61fe471945" + integrity sha512-nsuwtxZfMX67Oryl9LCQ+upnC0Z0BgpwntpS89m1H/TLF0zNfzfLMV/9Wa/6MZsj0acpEjAO0KF1xT6ZdLl95w== + +is-ci@^1.0.10: + version "1.1.0" + resolved "https://registry.yarnpkg.com/is-ci/-/is-ci-1.1.0.tgz#247e4162e7860cebbdaf30b774d6b0ac7dcfe7a5" + dependencies: + ci-info "^1.0.0" + +is-ci@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/is-ci/-/is-ci-2.0.0.tgz#6bc6334181810e04b5c22b3d589fdca55026404c" + integrity sha512-YfJT7rkpQB0updsdHLGWrvhBJfcfzNNawYDNIyQXJz0IViGf75O8EBPKSdvw2rF+LGCsX4FZ8tcr3b19LcZq4w== + dependencies: + ci-info "^2.0.0" + +is-core-module@^2.2.0, is-core-module@^2.8.1: + version "2.9.0" + resolved "https://registry.yarnpkg.com/is-core-module/-/is-core-module-2.9.0.tgz#e1c34429cd51c6dd9e09e0799e396e27b19a9c69" + integrity sha512-+5FPy5PnwmO3lvfMb0AsoPaBG+5KHUI0wYFXOtYPnVVVspTFUuMZNfNaNVRt3FZadstu2c8x23vykRW/NBoU6A== + dependencies: + has "^1.0.3" + +is-data-descriptor@^0.1.4: + version "0.1.4" + resolved "https://registry.yarnpkg.com/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz#0b5ee648388e2c860282e793f1856fec3f301b56" + integrity sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y= + dependencies: + kind-of "^3.0.2" + +is-data-descriptor@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz#d84876321d0e7add03990406abbbbd36ba9268c7" + integrity sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ== + dependencies: + kind-of "^6.0.0" + +is-date-object@^1.0.1: + version "1.0.5" + resolved "https://registry.yarnpkg.com/is-date-object/-/is-date-object-1.0.5.tgz#0841d5536e724c25597bf6ea62e1bd38298df31f" + integrity sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ== + dependencies: + has-tostringtag "^1.0.0" + +is-descriptor@^0.1.0: + version "0.1.6" + resolved "https://registry.yarnpkg.com/is-descriptor/-/is-descriptor-0.1.6.tgz#366d8240dde487ca51823b1ab9f07a10a78251ca" + integrity sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg== + dependencies: + is-accessor-descriptor "^0.1.6" + is-data-descriptor "^0.1.4" + kind-of "^5.0.0" + +is-descriptor@^1.0.0, is-descriptor@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/is-descriptor/-/is-descriptor-1.0.2.tgz#3b159746a66604b04f8c81524ba365c5f14d86ec" + integrity sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg== + dependencies: + is-accessor-descriptor "^1.0.0" + is-data-descriptor "^1.0.0" + kind-of "^6.0.2" + +is-directory@^0.3.1: + version "0.3.1" + resolved "https://registry.yarnpkg.com/is-directory/-/is-directory-0.3.1.tgz#61339b6f2475fc772fd9c9d83f5c8575dc154ae1" + integrity sha1-YTObbyR1/Hcv2cnYP1yFddwVSuE= + +is-docker@^2.0.0, is-docker@^2.1.1: + version "2.2.1" + resolved "https://registry.yarnpkg.com/is-docker/-/is-docker-2.2.1.tgz#33eeabe23cfe86f14bde4408a02c0cfb853acdaa" + integrity sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ== + +is-dotfile@^1.0.0: + version "1.0.3" + resolved "https://registry.yarnpkg.com/is-dotfile/-/is-dotfile-1.0.3.tgz#a6a2f32ffd2dfb04f5ca25ecd0f6b83cf798a1e1" + +is-equal-shallow@^0.1.3: + version "0.1.3" + resolved "https://registry.yarnpkg.com/is-equal-shallow/-/is-equal-shallow-0.1.3.tgz#2238098fc221de0bcfa5d9eac4c45d638aa1c534" + dependencies: + is-primitive "^2.0.0" + +is-extendable@^0.1.0, is-extendable@^0.1.1: + version "0.1.1" + resolved "https://registry.yarnpkg.com/is-extendable/-/is-extendable-0.1.1.tgz#62b110e289a471418e3ec36a617d472e301dfc89" + +is-extendable@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/is-extendable/-/is-extendable-1.0.1.tgz#a7470f9e426733d81bd81e1155264e3a3507cab4" + integrity sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA== + dependencies: + is-plain-object "^2.0.4" + +is-extglob@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/is-extglob/-/is-extglob-1.0.0.tgz#ac468177c4943405a092fc8f29760c6ffc6206c0" + +is-extglob@^2.1.0, is-extglob@^2.1.1: + version "2.1.1" + resolved "https://registry.yarnpkg.com/is-extglob/-/is-extglob-2.1.1.tgz#a88c02535791f02ed37c76a1b9ea9773c833f8c2" + integrity sha1-qIwCU1eR8C7TfHahueqXc8gz+MI= + +is-finite@^1.0.0: + version "1.0.2" + resolved "https://registry.yarnpkg.com/is-finite/-/is-finite-1.0.2.tgz#cc6677695602be550ef11e8b4aa6305342b6d0aa" + dependencies: + number-is-nan "^1.0.0" + +is-fullwidth-code-point@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz#ef9e31386f031a7f0d643af82fde50c457ef00cb" + dependencies: + number-is-nan "^1.0.0" + +is-fullwidth-code-point@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz#f116f8064fe90b3f7844a38997c0b75051269f1d" + integrity sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg== + +is-generator-fn@^2.0.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/is-generator-fn/-/is-generator-fn-2.1.0.tgz#7d140adc389aaf3011a8f2a2a4cfa6faadffb118" + integrity sha512-cTIB4yPYL/Grw0EaSzASzg6bBy9gqCofvWN8okThAYIxKJZC+udlRAmGbM0XLeniEJSs8uEgHPGuHSe1XsOLSQ== + +is-glob@^2.0.0, is-glob@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-2.0.1.tgz#d096f926a3ded5600f3fdfd91198cb0888c2d863" + dependencies: + is-extglob "^1.0.0" + +is-glob@^3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-3.1.0.tgz#7ba5ae24217804ac70707b96922567486cc3e84a" + integrity sha1-e6WuJCF4BKxwcHuWkiVnSGzD6Eo= + dependencies: + is-extglob "^2.1.0" + +is-glob@^4.0.0, is-glob@^4.0.1, is-glob@^4.0.3, is-glob@~4.0.1: + version "4.0.3" + resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-4.0.3.tgz#64f61e42cbbb2eec2071a9dac0b28ba1e65d5084" + integrity sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg== + dependencies: + is-extglob "^2.1.1" + +is-hotkey@0.1.4: + version "0.1.4" + resolved "https://registry.yarnpkg.com/is-hotkey/-/is-hotkey-0.1.4.tgz#c34d2c85d6ec8d09a871dcf71931c8067a824c7d" + integrity sha512-Py+aW4r5mBBY18TGzGz286/gKS+fCQ0Hee3qkaiSmEPiD0PqFpe0wuA3l7rTOUKyeXl8Mxf3XzJxIoTlSv+kxA== + +is-hotkey@0.2.0: + version "0.2.0" + resolved "https://registry.yarnpkg.com/is-hotkey/-/is-hotkey-0.2.0.tgz#1835a68171a91e5c9460869d96336947c8340cef" + integrity sha512-UknnZK4RakDmTgz4PI1wIph5yxSs/mvChWs9ifnlXsKuXgWmOkY/hAE0H/k2MIqH0RlRye0i1oC07MCRSD28Mw== + +is-in-browser@^1.1.3: + version "1.1.3" + resolved "https://registry.yarnpkg.com/is-in-browser/-/is-in-browser-1.1.3.tgz#56ff4db683a078c6082eb95dad7dc62e1d04f835" + integrity sha1-Vv9NtoOgeMYILrldrX3GLh0E+DU= + +is-interactive@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/is-interactive/-/is-interactive-1.0.0.tgz#cea6e6ae5c870a7b0a0004070b7b587e0252912e" + integrity sha512-2HvIEKRoqS62guEC+qBjpvRubdX910WCMuJTZ+I9yvqKU2/12eSL549HMwtabb4oupdj2sMP50k+XJfB/8JE6w== + +is-negative-zero@^2.0.2: + version "2.0.2" + resolved "https://registry.yarnpkg.com/is-negative-zero/-/is-negative-zero-2.0.2.tgz#7bf6f03a28003b8b3965de3ac26f664d765f3150" + integrity sha512-dqJvarLawXsFbNDeJW7zAz8ItJ9cd28YufuuFzh0G8pNHjJMnY08Dv7sYX2uF5UpQOwieAeOExEYAWWfu7ZZUA== + +is-number-object@^1.0.4: + version "1.0.7" + resolved "https://registry.yarnpkg.com/is-number-object/-/is-number-object-1.0.7.tgz#59d50ada4c45251784e9904f5246c742f07a42fc" + integrity sha512-k1U0IRzLMo7ZlYIfzRu23Oh6MiIFasgpb9X76eqfFZAqwH44UI4KTBvBYIZ1dSL9ZzChTB9ShHfLkR4pdW5krQ== + dependencies: + has-tostringtag "^1.0.0" + +is-number@^0.1.1: + version "0.1.1" + resolved "https://registry.yarnpkg.com/is-number/-/is-number-0.1.1.tgz#69a7af116963d47206ec9bd9b48a14216f1e3806" + +is-number@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/is-number/-/is-number-2.1.0.tgz#01fcbbb393463a548f2f466cce16dece49db908f" + dependencies: + kind-of "^3.0.2" + +is-number@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/is-number/-/is-number-3.0.0.tgz#24fd6201a4782cf50561c810276afc7d12d71195" + dependencies: + kind-of "^3.0.2" + +is-number@^7.0.0: + version "7.0.0" + resolved "https://registry.yarnpkg.com/is-number/-/is-number-7.0.0.tgz#7535345b896734d5f80c4d06c50955527a14f12b" + integrity sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng== + +is-plain-obj@^1.0.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/is-plain-obj/-/is-plain-obj-1.1.0.tgz#71a50c8429dfca773c92a390a4a03b39fcd51d3e" + integrity sha1-caUMhCnfync8kqOQpKA7OfzVHT4= + +is-plain-obj@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/is-plain-obj/-/is-plain-obj-3.0.0.tgz#af6f2ea14ac5a646183a5bbdb5baabbc156ad9d7" + integrity sha512-gwsOE28k+23GP1B6vFl1oVh/WOzmawBrKwo5Ev6wMKzPkaXaCDIQKzLnvsA42DRlbVTWorkgTKIviAKCWkfUwA== + +is-plain-object@^2.0.3, is-plain-object@^2.0.4: + version "2.0.4" + resolved "https://registry.yarnpkg.com/is-plain-object/-/is-plain-object-2.0.4.tgz#2c163b3fafb1b606d9d17928f05c2a1c38e07677" + integrity sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og== + dependencies: + isobject "^3.0.1" + +is-posix-bracket@^0.1.0: + version "0.1.1" + resolved "https://registry.yarnpkg.com/is-posix-bracket/-/is-posix-bracket-0.1.1.tgz#3334dc79774368e92f016e6fbc0a88f5cd6e6bc4" + +is-potential-custom-element-name@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/is-potential-custom-element-name/-/is-potential-custom-element-name-1.0.1.tgz#171ed6f19e3ac554394edf78caa05784a45bebb5" + integrity sha512-bCYeRA2rVibKZd+s2625gGnGF/t7DSqDs4dP7CrLA1m7jKWz6pps0LpYLJN8Q64HtmPKJ1hrN3nzPNKFEKOUiQ== + +is-primitive@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/is-primitive/-/is-primitive-2.0.0.tgz#207bab91638499c07b2adf240a41a87210034575" + +is-regex@^1.1.4: + version "1.1.4" + resolved "https://registry.yarnpkg.com/is-regex/-/is-regex-1.1.4.tgz#eef5663cd59fa4c0ae339505323df6854bb15958" + integrity sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg== + dependencies: + call-bind "^1.0.2" + has-tostringtag "^1.0.0" + +is-root@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/is-root/-/is-root-2.1.0.tgz#809e18129cf1129644302a4f8544035d51984a9c" + integrity sha512-AGOriNp96vNBd3HtU+RzFEc75FfR5ymiYv8E553I71SCeXBiMsVDUtdio1OEFvrPyLIQ9tVR5RxXIFe5PUFjMg== + +is-shared-array-buffer@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/is-shared-array-buffer/-/is-shared-array-buffer-1.0.2.tgz#8f259c573b60b6a32d4058a1a07430c0a7344c79" + integrity sha512-sqN2UDu1/0y6uvXyStCOzyhAjCSlHceFoMKJW8W9EU9cvic/QdsZ0kEU93HEy3IUEFZIiH/3w+AH/UQbPHNdhA== + dependencies: + call-bind "^1.0.2" + +is-stream@^1.0.1, is-stream@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/is-stream/-/is-stream-1.1.0.tgz#12d4a3dd4e68e0b79ceb8dbc84173ae80d91ca44" + +is-stream@^2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/is-stream/-/is-stream-2.0.1.tgz#fac1e3d53b97ad5a9d0ae9cef2389f5810a5c077" + integrity sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg== + +is-string@^1.0.5, is-string@^1.0.7: + version "1.0.7" + resolved "https://registry.yarnpkg.com/is-string/-/is-string-1.0.7.tgz#0dd12bf2006f255bb58f695110eff7491eebc0fd" + integrity sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg== + dependencies: + has-tostringtag "^1.0.0" + +is-symbol@^1.0.2, is-symbol@^1.0.3: + version "1.0.4" + resolved "https://registry.yarnpkg.com/is-symbol/-/is-symbol-1.0.4.tgz#a6dac93b635b063ca6872236de88910a57af139c" + integrity sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg== + dependencies: + has-symbols "^1.0.2" + +is-typedarray@^1.0.0, is-typedarray@~1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/is-typedarray/-/is-typedarray-1.0.0.tgz#e479c80858df0c1b11ddda6940f96011fcda4a9a" + +is-unicode-supported@^0.1.0: + version "0.1.0" + resolved "https://registry.yarnpkg.com/is-unicode-supported/-/is-unicode-supported-0.1.0.tgz#3f26c76a809593b52bfa2ecb5710ed2779b522a7" + integrity sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw== + +is-utf8@^0.2.0: + version "0.2.1" + resolved "https://registry.yarnpkg.com/is-utf8/-/is-utf8-0.2.1.tgz#4b0da1442104d1b336340e80797e865cf39f7d72" + +is-weakref@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/is-weakref/-/is-weakref-1.0.2.tgz#9529f383a9338205e89765e0392efc2f100f06f2" + integrity sha512-qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ== + dependencies: + call-bind "^1.0.2" + +is-what@^3.14.1: + version "3.14.1" + resolved "https://registry.yarnpkg.com/is-what/-/is-what-3.14.1.tgz#e1222f46ddda85dead0fd1c9df131760e77755c1" + integrity sha512-sNxgpk9793nzSs7bA6JQJGeIuRBQhAaNGG77kzYQgMkrID+lS6SlK07K5LaptscDlSaIgH+GPFzf+d75FVxozA== + +is-window@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/is-window/-/is-window-1.0.2.tgz#2c896ca53db97de45d3c33133a65d8c9f563480d" + integrity sha1-LIlspT25feRdPDMTOmXYyfVjSA0= + +is-windows@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/is-windows/-/is-windows-1.0.2.tgz#d1850eb9791ecd18e6182ce12a30f396634bb19d" + integrity sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA== + +is-wsl@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/is-wsl/-/is-wsl-1.1.0.tgz#1f16e4aa22b04d1336b66188a66af3c600c3a66d" + integrity sha1-HxbkqiKwTRM2tmGIpmrzxgDDpm0= + +is-wsl@^2.2.0: + version "2.2.0" + resolved "https://registry.yarnpkg.com/is-wsl/-/is-wsl-2.2.0.tgz#74a4c76e77ca9fd3f932f290c17ea326cd157271" + integrity sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww== + dependencies: + is-docker "^2.0.0" + +isarray@0.0.1: + version "0.0.1" + resolved "https://registry.yarnpkg.com/isarray/-/isarray-0.0.1.tgz#8a18acfca9a8f4177e09abfc6038939b05d1eedf" + +isarray@1.0.0, isarray@^1.0.0, isarray@~1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/isarray/-/isarray-1.0.0.tgz#bb935d48582cba168c06834957a54a3e07124f11" + +isbinaryfile@^3.0.0: + version "3.0.2" + resolved "https://registry.yarnpkg.com/isbinaryfile/-/isbinaryfile-3.0.2.tgz#4a3e974ec0cba9004d3fc6cde7209ea69368a621" + +isexe@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/isexe/-/isexe-2.0.0.tgz#e8fbf374dc556ff8947a10dcb0572d633f2cfa10" + +isobject@^2.0.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/isobject/-/isobject-2.1.0.tgz#f065561096a3f1da2ef46272f815c840d87e0c89" + dependencies: + isarray "1.0.0" + +isobject@^3.0.0, isobject@^3.0.1: + version "3.0.1" + resolved "https://registry.yarnpkg.com/isobject/-/isobject-3.0.1.tgz#4e431e92b11a9731636aa1f9c8d1ccbcfdab78df" + integrity sha1-TkMekrEalzFjaqH5yNHMvP2reN8= + +isomorphic-base64@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/isomorphic-base64/-/isomorphic-base64-1.0.2.tgz#f426aae82569ba8a4ec5ca73ad21a44ab1ee7803" + integrity sha1-9Caq6CVpuopOxcpzrSGkSrHueAM= + +isstream@0.1.x, isstream@~0.1.2: + version "0.1.2" + resolved "https://registry.yarnpkg.com/isstream/-/isstream-0.1.2.tgz#47e63f7af55afa6f92e1500e690eb8b8529c099a" + +istanbul-lib-coverage@^2.0.5: + version "2.0.5" + resolved "https://registry.yarnpkg.com/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.5.tgz#675f0ab69503fad4b1d849f736baaca803344f49" + integrity sha512-8aXznuEPCJvGnMSRft4udDRDtb1V3pkQkMMI5LI+6HuQz5oQ4J2UFn1H82raA3qJtyOLkkwVqICBQkjnGtn5mA== + +istanbul-lib-coverage@^3.0.0, istanbul-lib-coverage@^3.2.0: + version "3.2.0" + resolved "https://registry.yarnpkg.com/istanbul-lib-coverage/-/istanbul-lib-coverage-3.2.0.tgz#189e7909d0a39fa5a3dfad5b03f71947770191d3" + integrity sha512-eOeJ5BHCmHYvQK7xt9GkdHuzuCGS1Y6g9Gvnx3Ym33fz/HpLRYxiS0wHNr+m/MBC8B647Xt608vCDEvhl9c6Mw== + +istanbul-lib-instrument@^3.3.0: + version "3.3.0" + resolved "https://registry.yarnpkg.com/istanbul-lib-instrument/-/istanbul-lib-instrument-3.3.0.tgz#a5f63d91f0bbc0c3e479ef4c5de027335ec6d630" + integrity sha512-5nnIN4vo5xQZHdXno/YDXJ0G+I3dAm4XgzfSVTPLQpj/zAV2dV6Juy0yaf10/zrJOJeHoN3fraFe+XRq2bFVZA== + dependencies: + "@babel/generator" "^7.4.0" + "@babel/parser" "^7.4.3" + "@babel/template" "^7.4.0" + "@babel/traverse" "^7.4.3" + "@babel/types" "^7.4.0" + istanbul-lib-coverage "^2.0.5" + semver "^6.0.0" + +istanbul-lib-instrument@^4.0.3: + version "4.0.3" + resolved "https://registry.yarnpkg.com/istanbul-lib-instrument/-/istanbul-lib-instrument-4.0.3.tgz#873c6fff897450118222774696a3f28902d77c1d" + integrity sha512-BXgQl9kf4WTCPCCpmFGoJkz/+uhvm7h7PFKUYxh7qarQd3ER33vHG//qaE8eN25l07YqZPpHXU9I09l/RD5aGQ== + dependencies: + "@babel/core" "^7.7.5" + "@istanbuljs/schema" "^0.1.2" + istanbul-lib-coverage "^3.0.0" + semver "^6.3.0" + +istanbul-lib-instrument@^5.0.4: + version "5.2.0" + resolved "https://registry.yarnpkg.com/istanbul-lib-instrument/-/istanbul-lib-instrument-5.2.0.tgz#31d18bdd127f825dd02ea7bfdfd906f8ab840e9f" + integrity sha512-6Lthe1hqXHBNsqvgDzGO6l03XNeu3CrG4RqQ1KM9+l5+jNGpEJfIELx1NS3SEHmJQA8np/u+E4EPRKRiu6m19A== + dependencies: + "@babel/core" "^7.12.3" + "@babel/parser" "^7.14.7" + "@istanbuljs/schema" "^0.1.2" + istanbul-lib-coverage "^3.2.0" + semver "^6.3.0" + +istanbul-lib-report@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/istanbul-lib-report/-/istanbul-lib-report-3.0.0.tgz#7518fe52ea44de372f460a76b5ecda9ffb73d8a6" + integrity sha512-wcdi+uAKzfiGT2abPpKZ0hSU1rGQjUQnLvtY5MpQ7QCTahD3VODhcu4wcfY1YtkGaDD5yuydOLINXsfbus9ROw== + dependencies: + istanbul-lib-coverage "^3.0.0" + make-dir "^3.0.0" + supports-color "^7.1.0" + +istanbul-lib-source-maps@^4.0.0: + version "4.0.1" + resolved "https://registry.yarnpkg.com/istanbul-lib-source-maps/-/istanbul-lib-source-maps-4.0.1.tgz#895f3a709fcfba34c6de5a42939022f3e4358551" + integrity sha512-n3s8EwkdFIJCG3BPKBYvskgXGoy88ARzvegkitk60NxRdwltLOTaH7CUiMRXvwYorl0Q712iEjcWB+fK/MrWVw== + dependencies: + debug "^4.1.1" + istanbul-lib-coverage "^3.0.0" + source-map "^0.6.1" + +istanbul-reports@^3.0.2: + version "3.1.4" + resolved "https://registry.yarnpkg.com/istanbul-reports/-/istanbul-reports-3.1.4.tgz#1b6f068ecbc6c331040aab5741991273e609e40c" + integrity sha512-r1/DshN4KSE7xWEknZLLLLDn5CJybV3nw01VTkp6D5jzLuELlcbudfj/eSQFvrKsJuTVCGnePO7ho82Nw9zzfw== + dependencies: + html-escaper "^2.0.0" + istanbul-lib-report "^3.0.0" + +jest-canvas-mock@2.3.0: + version "2.3.0" + resolved "https://registry.yarnpkg.com/jest-canvas-mock/-/jest-canvas-mock-2.3.0.tgz#50f4cc178ae52c4c0e2ce4fd3a3ad2a41ad4eb36" + integrity sha512-3TMyR66VG2MzAW8Negzec03bbcIjVJMfGNvKzrEnbws1CYKqMNkvIJ8LbkoGYfp42tKqDmhIpQq3v+MNLW2A2w== + dependencies: + cssfontparser "^1.2.1" + moo-color "^1.0.2" + +jest-changed-files@^26.6.2: + version "26.6.2" + resolved "https://registry.yarnpkg.com/jest-changed-files/-/jest-changed-files-26.6.2.tgz#f6198479e1cc66f22f9ae1e22acaa0b429c042d0" + integrity sha512-fDS7szLcY9sCtIip8Fjry9oGf3I2ht/QT21bAHm5Dmf0mD4X3ReNUf17y+bO6fR8WgbIZTlbyG1ak/53cbRzKQ== + dependencies: + "@jest/types" "^26.6.2" + execa "^4.0.0" + throat "^5.0.0" + +jest-cli@^26.6.3: + version "26.6.3" + resolved "https://registry.yarnpkg.com/jest-cli/-/jest-cli-26.6.3.tgz#43117cfef24bc4cd691a174a8796a532e135e92a" + integrity sha512-GF9noBSa9t08pSyl3CY4frMrqp+aQXFGFkf5hEPbh/pIUFYWMK6ZLTfbmadxJVcJrdRoChlWQsA2VkJcDFK8hg== + dependencies: + "@jest/core" "^26.6.3" + "@jest/test-result" "^26.6.2" + "@jest/types" "^26.6.2" + chalk "^4.0.0" + exit "^0.1.2" + graceful-fs "^4.2.4" + import-local "^3.0.2" + is-ci "^2.0.0" + jest-config "^26.6.3" + jest-util "^26.6.2" + jest-validate "^26.6.2" + prompts "^2.0.1" + yargs "^15.4.1" + +jest-config@^26.6.3: + version "26.6.3" + resolved "https://registry.yarnpkg.com/jest-config/-/jest-config-26.6.3.tgz#64f41444eef9eb03dc51d5c53b75c8c71f645349" + integrity sha512-t5qdIj/bCj2j7NFVHb2nFB4aUdfucDn3JRKgrZnplb8nieAirAzRSHP8uDEd+qV6ygzg9Pz4YG7UTJf94LPSyg== + dependencies: + "@babel/core" "^7.1.0" + "@jest/test-sequencer" "^26.6.3" + "@jest/types" "^26.6.2" + babel-jest "^26.6.3" + chalk "^4.0.0" + deepmerge "^4.2.2" + glob "^7.1.1" + graceful-fs "^4.2.4" + jest-environment-jsdom "^26.6.2" + jest-environment-node "^26.6.2" + jest-get-type "^26.3.0" + jest-jasmine2 "^26.6.3" + jest-regex-util "^26.0.0" + jest-resolve "^26.6.2" + jest-util "^26.6.2" + jest-validate "^26.6.2" + micromatch "^4.0.2" + pretty-format "^26.6.2" + +jest-coverage-badges@^1.1.2: + version "1.1.2" + resolved "https://registry.yarnpkg.com/jest-coverage-badges/-/jest-coverage-badges-1.1.2.tgz#a70786b139fd8fb685db732e1e2d916d8a47287e" + integrity sha512-44A7i2xR6os8+fWk8ZRM6W4fKiD2jwKOLU9eB3iTIIWACd9RbdvmiCNpQZTOsUBhKvz7aQ/ASFhu5JOEhWUOlg== + dependencies: + mkdirp "0.5.1" + +jest-diff@^26.0.0, jest-diff@^26.6.2: + version "26.6.2" + resolved "https://registry.yarnpkg.com/jest-diff/-/jest-diff-26.6.2.tgz#1aa7468b52c3a68d7d5c5fdcdfcd5e49bd164394" + integrity sha512-6m+9Z3Gv9wN0WFVasqjCL/06+EFCMTqDEUl/b87HYK2rAPTyfz4ZIuSlPhY51PIQRWx5TaxeF1qmXKe9gfN3sA== + dependencies: + chalk "^4.0.0" + diff-sequences "^26.6.2" + jest-get-type "^26.3.0" + pretty-format "^26.6.2" + +jest-diff@^27.0.0: + version "27.5.1" + resolved "https://registry.yarnpkg.com/jest-diff/-/jest-diff-27.5.1.tgz#a07f5011ac9e6643cf8a95a462b7b1ecf6680def" + integrity sha512-m0NvkX55LDt9T4mctTEgnZk3fmEg3NRYutvMPWM/0iPnkFj2wIeF45O1718cMSOFO1vINkqmxqD8vE37uTEbqw== + dependencies: + chalk "^4.0.0" + diff-sequences "^27.5.1" + jest-get-type "^27.5.1" + pretty-format "^27.5.1" + +jest-docblock@^26.0.0: + version "26.0.0" + resolved "https://registry.yarnpkg.com/jest-docblock/-/jest-docblock-26.0.0.tgz#3e2fa20899fc928cb13bd0ff68bd3711a36889b5" + integrity sha512-RDZ4Iz3QbtRWycd8bUEPxQsTlYazfYn/h5R65Fc6gOfwozFhoImx+affzky/FFBuqISPTqjXomoIGJVKBWoo0w== + dependencies: + detect-newline "^3.0.0" + +jest-each@^26.6.2: + version "26.6.2" + resolved "https://registry.yarnpkg.com/jest-each/-/jest-each-26.6.2.tgz#02526438a77a67401c8a6382dfe5999952c167cb" + integrity sha512-Mer/f0KaATbjl8MCJ+0GEpNdqmnVmDYqCTJYTvoo7rqmRiDllmp2AYN+06F93nXcY3ur9ShIjS+CO/uD+BbH4A== + dependencies: + "@jest/types" "^26.6.2" + chalk "^4.0.0" + jest-get-type "^26.3.0" + jest-util "^26.6.2" + pretty-format "^26.6.2" + +jest-environment-jsdom-fifteen@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/jest-environment-jsdom-fifteen/-/jest-environment-jsdom-fifteen-1.0.2.tgz#49a0af55e0d32737a6114a1575dd714702ad63b0" + integrity sha512-nfrnAfwklE1872LIB31HcjM65cWTh1wzvMSp10IYtPJjLDUbTTvDpajZgIxUnhRmzGvogdHDayCIlerLK0OBBg== + dependencies: + "@jest/environment" "^24.3.0" + "@jest/fake-timers" "^24.3.0" + "@jest/types" "^24.3.0" + jest-mock "^24.0.0" + jest-util "^24.0.0" + jsdom "^15.2.1" + +jest-environment-jsdom@^26.6.2: + version "26.6.2" + resolved "https://registry.yarnpkg.com/jest-environment-jsdom/-/jest-environment-jsdom-26.6.2.tgz#78d09fe9cf019a357009b9b7e1f101d23bd1da3e" + integrity sha512-jgPqCruTlt3Kwqg5/WVFyHIOJHsiAvhcp2qiR2QQstuG9yWox5+iHpU3ZrcBxW14T4fe5Z68jAfLRh7joCSP2Q== + dependencies: + "@jest/environment" "^26.6.2" + "@jest/fake-timers" "^26.6.2" + "@jest/types" "^26.6.2" + "@types/node" "*" + jest-mock "^26.6.2" + jest-util "^26.6.2" + jsdom "^16.4.0" + +jest-environment-node@^26.6.2: + version "26.6.2" + resolved "https://registry.yarnpkg.com/jest-environment-node/-/jest-environment-node-26.6.2.tgz#824e4c7fb4944646356f11ac75b229b0035f2b0c" + integrity sha512-zhtMio3Exty18dy8ee8eJ9kjnRyZC1N4C1Nt/VShN1apyXc8rWGtJ9lI7vqiWcyyXS4BVSEn9lxAM2D+07/Tag== + dependencies: + "@jest/environment" "^26.6.2" + "@jest/fake-timers" "^26.6.2" + "@jest/types" "^26.6.2" + "@types/node" "*" + jest-mock "^26.6.2" + jest-util "^26.6.2" + +jest-get-type@^26.3.0: + version "26.3.0" + resolved "https://registry.yarnpkg.com/jest-get-type/-/jest-get-type-26.3.0.tgz#e97dc3c3f53c2b406ca7afaed4493b1d099199e0" + integrity sha512-TpfaviN1R2pQWkIihlfEanwOXK0zcxrKEE4MlU6Tn7keoXdN6/3gK/xl0yEh8DOunn5pOVGKf8hB4R9gVh04ig== + +jest-get-type@^27.5.1: + version "27.5.1" + resolved "https://registry.yarnpkg.com/jest-get-type/-/jest-get-type-27.5.1.tgz#3cd613c507b0f7ace013df407a1c1cd578bcb4f1" + integrity sha512-2KY95ksYSaK7DMBWQn6dQz3kqAf3BB64y2udeG+hv4KfSOb9qwcYQstTJc1KCbsix+wLZWZYN8t7nwX3GOBLRw== + +jest-haste-map@^24.9.0: + version "24.9.0" + resolved "https://registry.yarnpkg.com/jest-haste-map/-/jest-haste-map-24.9.0.tgz#b38a5d64274934e21fa417ae9a9fbeb77ceaac7d" + integrity sha512-kfVFmsuWui2Sj1Rp1AJ4D9HqJwE4uwTlS/vO+eRUaMmd54BFpli2XhMQnPC2k4cHFVbB2Q2C+jtI1AGLgEnCjQ== + dependencies: + "@jest/types" "^24.9.0" + anymatch "^2.0.0" + fb-watchman "^2.0.0" + graceful-fs "^4.1.15" + invariant "^2.2.4" + jest-serializer "^24.9.0" + jest-util "^24.9.0" + jest-worker "^24.9.0" + micromatch "^3.1.10" + sane "^4.0.3" + walker "^1.0.7" + optionalDependencies: + fsevents "^1.2.7" + +jest-haste-map@^26.6.2: + version "26.6.2" + resolved "https://registry.yarnpkg.com/jest-haste-map/-/jest-haste-map-26.6.2.tgz#dd7e60fe7dc0e9f911a23d79c5ff7fb5c2cafeaa" + integrity sha512-easWIJXIw71B2RdR8kgqpjQrbMRWQBgiBwXYEhtGUTaX+doCjBheluShdDMeR8IMfJiTqH4+zfhtg29apJf/8w== + dependencies: + "@jest/types" "^26.6.2" + "@types/graceful-fs" "^4.1.2" + "@types/node" "*" + anymatch "^3.0.3" + fb-watchman "^2.0.0" + graceful-fs "^4.2.4" + jest-regex-util "^26.0.0" + jest-serializer "^26.6.2" + jest-util "^26.6.2" + jest-worker "^26.6.2" + micromatch "^4.0.2" + sane "^4.0.3" + walker "^1.0.7" + optionalDependencies: + fsevents "^2.1.2" + +jest-jasmine2@^26.6.3: + version "26.6.3" + resolved "https://registry.yarnpkg.com/jest-jasmine2/-/jest-jasmine2-26.6.3.tgz#adc3cf915deacb5212c93b9f3547cd12958f2edd" + integrity sha512-kPKUrQtc8aYwBV7CqBg5pu+tmYXlvFlSFYn18ev4gPFtrRzB15N2gW/Roew3187q2w2eHuu0MU9TJz6w0/nPEg== + dependencies: + "@babel/traverse" "^7.1.0" + "@jest/environment" "^26.6.2" + "@jest/source-map" "^26.6.2" + "@jest/test-result" "^26.6.2" + "@jest/types" "^26.6.2" + "@types/node" "*" + chalk "^4.0.0" + co "^4.6.0" + expect "^26.6.2" + is-generator-fn "^2.0.0" + jest-each "^26.6.2" + jest-matcher-utils "^26.6.2" + jest-message-util "^26.6.2" + jest-runtime "^26.6.3" + jest-snapshot "^26.6.2" + jest-util "^26.6.2" + pretty-format "^26.6.2" + throat "^5.0.0" + +jest-junit@^13.0.0: + version "13.2.0" + resolved "https://registry.yarnpkg.com/jest-junit/-/jest-junit-13.2.0.tgz#66eeb86429aafac8c1745a70f44ace185aacb943" + integrity sha512-B0XNlotl1rdsvFZkFfoa19mc634+rrd8E4Sskb92Bb8MmSXeWV9XJGUyctunZS1W410uAxcyYuPUGVnbcOH8cg== + dependencies: + mkdirp "^1.0.4" + strip-ansi "^6.0.1" + uuid "^8.3.2" + xml "^1.0.1" + +jest-leak-detector@^26.6.2: + version "26.6.2" + resolved "https://registry.yarnpkg.com/jest-leak-detector/-/jest-leak-detector-26.6.2.tgz#7717cf118b92238f2eba65054c8a0c9c653a91af" + integrity sha512-i4xlXpsVSMeKvg2cEKdfhh0H39qlJlP5Ex1yQxwF9ubahboQYMgTtz5oML35AVA3B4Eu+YsmwaiKVev9KCvLxg== + dependencies: + jest-get-type "^26.3.0" + pretty-format "^26.6.2" + +jest-matcher-utils@^26.6.2: + version "26.6.2" + resolved "https://registry.yarnpkg.com/jest-matcher-utils/-/jest-matcher-utils-26.6.2.tgz#8e6fd6e863c8b2d31ac6472eeb237bc595e53e7a" + integrity sha512-llnc8vQgYcNqDrqRDXWwMr9i7rS5XFiCwvh6DTP7Jqa2mqpcCBBlpCbn+trkG0KNhPu/h8rzyBkriOtBstvWhw== + dependencies: + chalk "^4.0.0" + jest-diff "^26.6.2" + jest-get-type "^26.3.0" + pretty-format "^26.6.2" + +jest-message-util@^24.9.0: + version "24.9.0" + resolved "https://registry.yarnpkg.com/jest-message-util/-/jest-message-util-24.9.0.tgz#527f54a1e380f5e202a8d1149b0ec872f43119e3" + integrity sha512-oCj8FiZ3U0hTP4aSui87P4L4jC37BtQwUMqk+zk/b11FR19BJDeZsZAvIHutWnmtw7r85UmR3CEWZ0HWU2mAlw== + dependencies: + "@babel/code-frame" "^7.0.0" + "@jest/test-result" "^24.9.0" + "@jest/types" "^24.9.0" + "@types/stack-utils" "^1.0.1" + chalk "^2.0.1" + micromatch "^3.1.10" + slash "^2.0.0" + stack-utils "^1.0.1" + +jest-message-util@^26.6.2: + version "26.6.2" + resolved "https://registry.yarnpkg.com/jest-message-util/-/jest-message-util-26.6.2.tgz#58173744ad6fc0506b5d21150b9be56ef001ca07" + integrity sha512-rGiLePzQ3AzwUshu2+Rn+UMFk0pHN58sOG+IaJbk5Jxuqo3NYO1U2/MIR4S1sKgsoYSXSzdtSa0TgrmtUwEbmA== + dependencies: + "@babel/code-frame" "^7.0.0" + "@jest/types" "^26.6.2" + "@types/stack-utils" "^2.0.0" + chalk "^4.0.0" + graceful-fs "^4.2.4" + micromatch "^4.0.2" + pretty-format "^26.6.2" + slash "^3.0.0" + stack-utils "^2.0.2" + +jest-mock@^24.0.0, jest-mock@^24.9.0: + version "24.9.0" + resolved "https://registry.yarnpkg.com/jest-mock/-/jest-mock-24.9.0.tgz#c22835541ee379b908673ad51087a2185c13f1c6" + integrity sha512-3BEYN5WbSq9wd+SyLDES7AHnjH9A/ROBwmz7l2y+ol+NtSFO8DYiEBzoO1CeFc9a8DYy10EO4dDFVv/wN3zl1w== + dependencies: + "@jest/types" "^24.9.0" + +jest-mock@^26.6.2: + version "26.6.2" + resolved "https://registry.yarnpkg.com/jest-mock/-/jest-mock-26.6.2.tgz#d6cb712b041ed47fe0d9b6fc3474bc6543feb302" + integrity sha512-YyFjePHHp1LzpzYcmgqkJ0nm0gg/lJx2aZFzFy1S6eUqNjXsOqTK10zNRff2dNfssgokjkG65OlWNcIlgd3zew== + dependencies: + "@jest/types" "^26.6.2" + "@types/node" "*" + +jest-pnp-resolver@^1.2.2: + version "1.2.2" + resolved "https://registry.yarnpkg.com/jest-pnp-resolver/-/jest-pnp-resolver-1.2.2.tgz#b704ac0ae028a89108a4d040b3f919dfddc8e33c" + integrity sha512-olV41bKSMm8BdnuMsewT4jqlZ8+3TCARAXjZGT9jcoSnrfUnRCqnMoF9XEeoWjbzObpqF9dRhHQj0Xb9QdF6/w== + +jest-regex-util@^24.9.0: + version "24.9.0" + resolved "https://registry.yarnpkg.com/jest-regex-util/-/jest-regex-util-24.9.0.tgz#c13fb3380bde22bf6575432c493ea8fe37965636" + integrity sha512-05Cmb6CuxaA+Ys6fjr3PhvV3bGQmO+2p2La4hFbU+W5uOc479f7FdLXUWXw4pYMAhhSZIuKHwSXSu6CsSBAXQA== + +jest-regex-util@^26.0.0: + version "26.0.0" + resolved "https://registry.yarnpkg.com/jest-regex-util/-/jest-regex-util-26.0.0.tgz#d25e7184b36e39fd466c3bc41be0971e821fee28" + integrity sha512-Gv3ZIs/nA48/Zvjrl34bf+oD76JHiGDUxNOVgUjh3j890sblXryjY4rss71fPtD/njchl6PSE2hIhvyWa1eT0A== + +jest-resolve-dependencies@^26.6.3: + version "26.6.3" + resolved "https://registry.yarnpkg.com/jest-resolve-dependencies/-/jest-resolve-dependencies-26.6.3.tgz#6680859ee5d22ee5dcd961fe4871f59f4c784fb6" + integrity sha512-pVwUjJkxbhe4RY8QEWzN3vns2kqyuldKpxlxJlzEYfKSvY6/bMvxoFrYYzUO1Gx28yKWN37qyV7rIoIp2h8fTg== + dependencies: + "@jest/types" "^26.6.2" + jest-regex-util "^26.0.0" + jest-snapshot "^26.6.2" + +jest-resolve@^26.6.2: + version "26.6.2" + resolved "https://registry.yarnpkg.com/jest-resolve/-/jest-resolve-26.6.2.tgz#a3ab1517217f469b504f1b56603c5bb541fbb507" + integrity sha512-sOxsZOq25mT1wRsfHcbtkInS+Ek7Q8jCHUB0ZUTP0tc/c41QHriU/NunqMfCUWsL4H3MHpvQD4QR9kSYhS7UvQ== + dependencies: + "@jest/types" "^26.6.2" + chalk "^4.0.0" + graceful-fs "^4.2.4" + jest-pnp-resolver "^1.2.2" + jest-util "^26.6.2" + read-pkg-up "^7.0.1" + resolve "^1.18.1" + slash "^3.0.0" + +jest-runner@^26.6.3: + version "26.6.3" + resolved "https://registry.yarnpkg.com/jest-runner/-/jest-runner-26.6.3.tgz#2d1fed3d46e10f233fd1dbd3bfaa3fe8924be159" + integrity sha512-atgKpRHnaA2OvByG/HpGA4g6CSPS/1LK0jK3gATJAoptC1ojltpmVlYC3TYgdmGp+GLuhzpH30Gvs36szSL2JQ== + dependencies: + "@jest/console" "^26.6.2" + "@jest/environment" "^26.6.2" + "@jest/test-result" "^26.6.2" + "@jest/types" "^26.6.2" + "@types/node" "*" + chalk "^4.0.0" + emittery "^0.7.1" + exit "^0.1.2" + graceful-fs "^4.2.4" + jest-config "^26.6.3" + jest-docblock "^26.0.0" + jest-haste-map "^26.6.2" + jest-leak-detector "^26.6.2" + jest-message-util "^26.6.2" + jest-resolve "^26.6.2" + jest-runtime "^26.6.3" + jest-util "^26.6.2" + jest-worker "^26.6.2" + source-map-support "^0.5.6" + throat "^5.0.0" + +jest-runtime@^26.6.3: + version "26.6.3" + resolved "https://registry.yarnpkg.com/jest-runtime/-/jest-runtime-26.6.3.tgz#4f64efbcfac398331b74b4b3c82d27d401b8fa2b" + integrity sha512-lrzyR3N8sacTAMeonbqpnSka1dHNux2uk0qqDXVkMv2c/A3wYnvQ4EXuI013Y6+gSKSCxdaczvf4HF0mVXHRdw== + dependencies: + "@jest/console" "^26.6.2" + "@jest/environment" "^26.6.2" + "@jest/fake-timers" "^26.6.2" + "@jest/globals" "^26.6.2" + "@jest/source-map" "^26.6.2" + "@jest/test-result" "^26.6.2" + "@jest/transform" "^26.6.2" + "@jest/types" "^26.6.2" + "@types/yargs" "^15.0.0" + chalk "^4.0.0" + cjs-module-lexer "^0.6.0" + collect-v8-coverage "^1.0.0" + exit "^0.1.2" + glob "^7.1.3" + graceful-fs "^4.2.4" + jest-config "^26.6.3" + jest-haste-map "^26.6.2" + jest-message-util "^26.6.2" + jest-mock "^26.6.2" + jest-regex-util "^26.0.0" + jest-resolve "^26.6.2" + jest-snapshot "^26.6.2" + jest-util "^26.6.2" + jest-validate "^26.6.2" + slash "^3.0.0" + strip-bom "^4.0.0" + yargs "^15.4.1" + +jest-serializer@^24.9.0: + version "24.9.0" + resolved "https://registry.yarnpkg.com/jest-serializer/-/jest-serializer-24.9.0.tgz#e6d7d7ef96d31e8b9079a714754c5d5c58288e73" + integrity sha512-DxYipDr8OvfrKH3Kel6NdED3OXxjvxXZ1uIY2I9OFbGg+vUkkg7AGvi65qbhbWNPvDckXmzMPbK3u3HaDO49bQ== + +jest-serializer@^26.6.2: + version "26.6.2" + resolved "https://registry.yarnpkg.com/jest-serializer/-/jest-serializer-26.6.2.tgz#d139aafd46957d3a448f3a6cdabe2919ba0742d1" + integrity sha512-S5wqyz0DXnNJPd/xfIzZ5Xnp1HrJWBczg8mMfMpN78OJ5eDxXyf+Ygld9wX1DnUWbIbhM1YDY95NjR4CBXkb2g== + dependencies: + "@types/node" "*" + graceful-fs "^4.2.4" + +jest-snapshot@^26.6.2: + version "26.6.2" + resolved "https://registry.yarnpkg.com/jest-snapshot/-/jest-snapshot-26.6.2.tgz#f3b0af1acb223316850bd14e1beea9837fb39c84" + integrity sha512-OLhxz05EzUtsAmOMzuupt1lHYXCNib0ECyuZ/PZOx9TrZcC8vL0x+DUG3TL+GLX3yHG45e6YGjIm0XwDc3q3og== + dependencies: + "@babel/types" "^7.0.0" + "@jest/types" "^26.6.2" + "@types/babel__traverse" "^7.0.4" + "@types/prettier" "^2.0.0" + chalk "^4.0.0" + expect "^26.6.2" + graceful-fs "^4.2.4" + jest-diff "^26.6.2" + jest-get-type "^26.3.0" + jest-haste-map "^26.6.2" + jest-matcher-utils "^26.6.2" + jest-message-util "^26.6.2" + jest-resolve "^26.6.2" + natural-compare "^1.4.0" + pretty-format "^26.6.2" + semver "^7.3.2" + +jest-util@^24.0.0, jest-util@^24.9.0: + version "24.9.0" + resolved "https://registry.yarnpkg.com/jest-util/-/jest-util-24.9.0.tgz#7396814e48536d2e85a37de3e4c431d7cb140162" + integrity sha512-x+cZU8VRmOJxbA1K5oDBdxQmdq0OIdADarLxk0Mq+3XS4jgvhG/oKGWcIDCtPG0HgjxOYvF+ilPJQsAyXfbNOg== + dependencies: + "@jest/console" "^24.9.0" + "@jest/fake-timers" "^24.9.0" + "@jest/source-map" "^24.9.0" + "@jest/test-result" "^24.9.0" + "@jest/types" "^24.9.0" + callsites "^3.0.0" + chalk "^2.0.1" + graceful-fs "^4.1.15" + is-ci "^2.0.0" + mkdirp "^0.5.1" + slash "^2.0.0" + source-map "^0.6.0" + +jest-util@^26.1.0, jest-util@^26.6.2: + version "26.6.2" + resolved "https://registry.yarnpkg.com/jest-util/-/jest-util-26.6.2.tgz#907535dbe4d5a6cb4c47ac9b926f6af29576cbc1" + integrity sha512-MDW0fKfsn0OI7MS7Euz6h8HNDXVQ0gaM9uW6RjfDmd1DAFcaxX9OqIakHIqhbnmF08Cf2DLDG+ulq8YQQ0Lp0Q== + dependencies: + "@jest/types" "^26.6.2" + "@types/node" "*" + chalk "^4.0.0" + graceful-fs "^4.2.4" + is-ci "^2.0.0" + micromatch "^4.0.2" + +jest-validate@^26.6.2: + version "26.6.2" + resolved "https://registry.yarnpkg.com/jest-validate/-/jest-validate-26.6.2.tgz#23d380971587150467342911c3d7b4ac57ab20ec" + integrity sha512-NEYZ9Aeyj0i5rQqbq+tpIOom0YS1u2MVu6+euBsvpgIme+FOfRmoC4R5p0JiAUpaFvFy24xgrpMknarR/93XjQ== + dependencies: + "@jest/types" "^26.6.2" + camelcase "^6.0.0" + chalk "^4.0.0" + jest-get-type "^26.3.0" + leven "^3.1.0" + pretty-format "^26.6.2" + +jest-watcher@^26.6.2: + version "26.6.2" + resolved "https://registry.yarnpkg.com/jest-watcher/-/jest-watcher-26.6.2.tgz#a5b683b8f9d68dbcb1d7dae32172d2cca0592975" + integrity sha512-WKJob0P/Em2csiVthsI68p6aGKTIcsfjH9Gsx1f0A3Italz43e3ho0geSAVsmj09RWOELP1AZ/DXyJgOgDKxXQ== + dependencies: + "@jest/test-result" "^26.6.2" + "@jest/types" "^26.6.2" + "@types/node" "*" + ansi-escapes "^4.2.1" + chalk "^4.0.0" + jest-util "^26.6.2" + string-length "^4.0.1" + +jest-worker@^24.9.0: + version "24.9.0" + resolved "https://registry.yarnpkg.com/jest-worker/-/jest-worker-24.9.0.tgz#5dbfdb5b2d322e98567898238a9697bcce67b3e5" + integrity sha512-51PE4haMSXcHohnSMdM42anbvZANYTqMrr52tVKPqqsPJMzoP6FYYDVqahX/HrAoKEKz3uUPzSvKs9A3qR4iVw== + dependencies: + merge-stream "^2.0.0" + supports-color "^6.1.0" + +jest-worker@^25.4.0: + version "25.5.0" + resolved "https://registry.yarnpkg.com/jest-worker/-/jest-worker-25.5.0.tgz#2611d071b79cea0f43ee57a3d118593ac1547db1" + integrity sha512-/dsSmUkIy5EBGfv/IjjqmFxrNAUpBERfGs1oHROyD7yxjG/w+t0GOJDX8O1k32ySmd7+a5IhnJU2qQFcJ4n1vw== + dependencies: + merge-stream "^2.0.0" + supports-color "^7.0.0" + +jest-worker@^26.6.2: + version "26.6.2" + resolved "https://registry.yarnpkg.com/jest-worker/-/jest-worker-26.6.2.tgz#7f72cbc4d643c365e27b9fd775f9d0eaa9c7a8ed" + integrity sha512-KWYVV1c4i+jbMpaBC+U++4Va0cp8OisU185o73T1vo99hqi7w8tSJfUXYswwqqrjzwxa6KpRK54WhPvwf5w6PQ== + dependencies: + "@types/node" "*" + merge-stream "^2.0.0" + supports-color "^7.0.0" + +jest@26.6.3: + version "26.6.3" + resolved "https://registry.yarnpkg.com/jest/-/jest-26.6.3.tgz#40e8fdbe48f00dfa1f0ce8121ca74b88ac9148ef" + integrity sha512-lGS5PXGAzR4RF7V5+XObhqz2KZIDUA1yD0DG6pBVmy10eh0ZIXQImRuzocsI/N2XZ1GrLFwTS27In2i2jlpq1Q== + dependencies: + "@jest/core" "^26.6.3" + import-local "^3.0.2" + jest-cli "^26.6.3" + +jquery@3.6.0: + version "3.6.0" + resolved "https://registry.yarnpkg.com/jquery/-/jquery-3.6.0.tgz#c72a09f15c1bdce142f49dbf1170bdf8adac2470" + integrity sha512-JVzAR/AjBvVt2BmYhxRCSYysDsPcssdmTFnzyLEts9qNwmjmu4JTAMYubEfwVOSwpQ1I1sKKFcxhZCI2buerfw== + +js-cookie@^2.2.1: + version "2.2.1" + resolved "https://registry.yarnpkg.com/js-cookie/-/js-cookie-2.2.1.tgz#69e106dc5d5806894562902aa5baec3744e9b2b8" + integrity sha512-HvdH2LzI/EAZcUwA8+0nKNtWHqS+ZmijLA30RwZA0bo7ToCckjK5MkGhjED9KoRcXO6BaGI3I9UIzSA1FKFPOQ== + +"js-tokens@^3.0.0 || ^4.0.0", js-tokens@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-4.0.0.tgz#19203fb59991df98e3a287050d4647cdeaf32499" + integrity sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ== + +js-yaml@0.3.x: + version "0.3.7" + resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-0.3.7.tgz#d739d8ee86461e54b354d6a7d7d1f2ad9a167f62" + +js-yaml@^3.13.1: + version "3.14.1" + resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-3.14.1.tgz#dae812fdb3825fa306609a8717383c50c36a0537" + integrity sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g== + dependencies: + argparse "^1.0.7" + esprima "^4.0.0" + +js-yaml@~3.5.2: + version "3.5.5" + resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-3.5.5.tgz#0377c38017cabc7322b0d1fbcd25a491641f2fbe" + dependencies: + argparse "^1.0.2" + esprima "^2.6.0" + +jsbn@~0.1.0: + version "0.1.1" + resolved "https://registry.yarnpkg.com/jsbn/-/jsbn-0.1.1.tgz#a5e654c2e5a2deb5f201d96cefbca80c0ef2f513" + +jsdoc-type-pratt-parser@~2.2.2: + version "2.2.5" + resolved "https://registry.yarnpkg.com/jsdoc-type-pratt-parser/-/jsdoc-type-pratt-parser-2.2.5.tgz#c9f93afac7ee4b5ed4432fe3f09f7d36b05ed0ff" + integrity sha512-2a6eRxSxp1BW040hFvaJxhsCMI9lT8QB8t14t+NY5tC5rckIR0U9cr2tjOeaFirmEOy6MHvmJnY7zTBHq431Lw== + +jsdom@^15.2.1: + version "15.2.1" + resolved "https://registry.yarnpkg.com/jsdom/-/jsdom-15.2.1.tgz#d2feb1aef7183f86be521b8c6833ff5296d07ec5" + integrity sha512-fAl1W0/7T2G5vURSyxBzrJ1LSdQn6Tr5UX/xD4PXDx/PDgwygedfW6El/KIj3xJ7FU61TTYnc/l/B7P49Eqt6g== + dependencies: + abab "^2.0.0" + acorn "^7.1.0" + acorn-globals "^4.3.2" + array-equal "^1.0.0" + cssom "^0.4.1" + cssstyle "^2.0.0" + data-urls "^1.1.0" + domexception "^1.0.1" + escodegen "^1.11.1" + html-encoding-sniffer "^1.0.2" + nwsapi "^2.2.0" + parse5 "5.1.0" + pn "^1.1.0" + request "^2.88.0" + request-promise-native "^1.0.7" + saxes "^3.1.9" + symbol-tree "^3.2.2" + tough-cookie "^3.0.1" + w3c-hr-time "^1.0.1" + w3c-xmlserializer "^1.1.2" + webidl-conversions "^4.0.2" + whatwg-encoding "^1.0.5" + whatwg-mimetype "^2.3.0" + whatwg-url "^7.0.0" + ws "^7.0.0" + xml-name-validator "^3.0.0" + +jsdom@^16.4.0: + version "16.7.0" + resolved "https://registry.yarnpkg.com/jsdom/-/jsdom-16.7.0.tgz#918ae71965424b197c819f8183a754e18977b710" + integrity sha512-u9Smc2G1USStM+s/x1ru5Sxrl6mPYCbByG1U/hUmqaVsm4tbNyS7CicOSRyuGQYZhTu0h84qkZZQ/I+dzizSVw== + dependencies: + abab "^2.0.5" + acorn "^8.2.4" + acorn-globals "^6.0.0" + cssom "^0.4.4" + cssstyle "^2.3.0" + data-urls "^2.0.0" + decimal.js "^10.2.1" + domexception "^2.0.1" + escodegen "^2.0.0" + form-data "^3.0.0" + html-encoding-sniffer "^2.0.1" + http-proxy-agent "^4.0.1" + https-proxy-agent "^5.0.0" + is-potential-custom-element-name "^1.0.1" + nwsapi "^2.2.0" + parse5 "6.0.1" + saxes "^5.0.1" + symbol-tree "^3.2.4" + tough-cookie "^4.0.0" + w3c-hr-time "^1.0.2" + w3c-xmlserializer "^2.0.0" + webidl-conversions "^6.1.0" + whatwg-encoding "^1.0.5" + whatwg-mimetype "^2.3.0" + whatwg-url "^8.5.0" + ws "^7.4.6" + xml-name-validator "^3.0.0" + +jsesc@^2.5.1: + version "2.5.2" + resolved "https://registry.yarnpkg.com/jsesc/-/jsesc-2.5.2.tgz#80564d2e483dacf6e8ef209650a67df3f0c283a4" + integrity sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA== + +jsesc@~0.5.0: + version "0.5.0" + resolved "https://registry.yarnpkg.com/jsesc/-/jsesc-0.5.0.tgz#e7dee66e35d6fc16f710fe91d5cf69f70f08911d" + integrity sha1-597mbjXW/Bb3EP6R1c9p9w8IkR0= + +jsmin@1.x: + version "1.0.1" + resolved "https://registry.yarnpkg.com/jsmin/-/jsmin-1.0.1.tgz#e7bd0dcd6496c3bf4863235bf461a3d98aa3b98c" + +json-parse-better-errors@^1.0.1, json-parse-better-errors@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz#bb867cfb3450e69107c131d1c514bab3dc8bcaa9" + integrity sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw== + +json-parse-even-better-errors@^2.3.0: + version "2.3.1" + resolved "https://registry.yarnpkg.com/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz#7c47805a94319928e05777405dc12e1f7a4ee02d" + integrity sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w== + +json-schema-traverse@^0.3.0: + version "0.3.1" + resolved "https://registry.yarnpkg.com/json-schema-traverse/-/json-schema-traverse-0.3.1.tgz#349a6d44c53a51de89b40805c5d5e59b417d3340" + +json-schema-traverse@^0.4.1: + version "0.4.1" + resolved "https://registry.yarnpkg.com/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz#69f6a87d9513ab8bb8fe63bdb0979c448e684660" + integrity sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg== + +json-schema-traverse@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz#ae7bcb3656ab77a73ba5c49bf654f38e6b6860e2" + integrity sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug== + +json-schema@0.2.3: + version "0.2.3" + resolved "https://registry.yarnpkg.com/json-schema/-/json-schema-0.2.3.tgz#b480c892e59a2f05954ce727bd3f2a4e882f9e13" + +json-stable-stringify-without-jsonify@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz#9db7b59496ad3f3cfef30a75142d2d930ad72651" + integrity sha1-nbe1lJatPzz+8wp1FC0tkwrXJlE= + +json-stable-stringify@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/json-stable-stringify/-/json-stable-stringify-1.0.1.tgz#9a759d39c5f2ff503fd5300646ed445f88c4f9af" + dependencies: + jsonify "~0.0.0" + +json-stringify-pretty-compact@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/json-stringify-pretty-compact/-/json-stringify-pretty-compact-2.0.0.tgz#e77c419f52ff00c45a31f07f4c820c2433143885" + integrity sha512-WRitRfs6BGq4q8gTgOy4ek7iPFXjbra0H3PmDLKm2xnZ+Gh1HUhiKGgCZkSPNULlP7mvfu6FV/mOLhCarspADQ== + +json-stringify-safe@~5.0.1: + version "5.0.1" + resolved "https://registry.yarnpkg.com/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz#1296a2d58fd45f19a0f6ce01d65701e2c735b6eb" + +json3@3.3.2: + version "3.3.2" + resolved "https://registry.yarnpkg.com/json3/-/json3-3.3.2.tgz#3c0434743df93e2f5c42aee7b19bcb483575f4e1" + +json5@2.x, json5@^2.1.2, json5@^2.2.1: + version "2.2.1" + resolved "https://registry.yarnpkg.com/json5/-/json5-2.2.1.tgz#655d50ed1e6f95ad1a3caababd2b0efda10b395c" + integrity sha512-1hqLFMSrGHRHxav9q9gNjJ5EXznIxGVO09xQRrwplcS8qs28pZ8s8hupZAmqDwZUmVZ2Qb2jnyPOWcDH8m8dlA== + +json5@^0.5.0: + version "0.5.1" + resolved "https://registry.yarnpkg.com/json5/-/json5-0.5.1.tgz#1eade7acc012034ad84e2396767ead9fa5495821" + integrity sha1-Hq3nrMASA0rYTiOWdn6tn6VJWCE= + +json5@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/json5/-/json5-1.0.1.tgz#779fb0018604fa854eacbf6252180d83543e3dbe" + integrity sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow== + dependencies: + minimist "^1.2.0" + +jsonfile@^2.1.0: + version "2.4.0" + resolved "https://registry.yarnpkg.com/jsonfile/-/jsonfile-2.4.0.tgz#3736a2b428b87bbda0cc83b53fa3d633a35c2ae8" + optionalDependencies: + graceful-fs "^4.1.6" + +jsonfile@^6.0.1: + version "6.1.0" + resolved "https://registry.yarnpkg.com/jsonfile/-/jsonfile-6.1.0.tgz#bc55b2634793c679ec6403094eb13698a6ec0aae" + integrity sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ== + dependencies: + universalify "^2.0.0" + optionalDependencies: + graceful-fs "^4.1.6" + +jsonify@~0.0.0: + version "0.0.0" + resolved "https://registry.yarnpkg.com/jsonify/-/jsonify-0.0.0.tgz#2c74b6ee41d93ca51b7b5aaee8f503631d252a73" + +jsprim@^1.2.2: + version "1.4.1" + resolved "https://registry.yarnpkg.com/jsprim/-/jsprim-1.4.1.tgz#313e66bc1e5cc06e438bc1b7499c2e5c56acb6a2" + dependencies: + assert-plus "1.0.0" + extsprintf "1.3.0" + json-schema "0.2.3" + verror "1.10.0" + +"jsx-ast-utils@^2.4.1 || ^3.0.0": + version "3.2.2" + resolved "https://registry.yarnpkg.com/jsx-ast-utils/-/jsx-ast-utils-3.2.2.tgz#6ab1e52c71dfc0c0707008a91729a9491fe9f76c" + integrity sha512-HDAyJ4MNQBboGpUnHAVUNJs6X0lh058s6FuixsFGP7MgJYpD6Vasd6nzSG5iIfXu1zAYlHJ/zsOKNlrenTUBnw== + dependencies: + array-includes "^3.1.4" + object.assign "^4.1.2" + +just-extend@^1.1.27: + version "1.1.27" + resolved "https://registry.yarnpkg.com/just-extend/-/just-extend-1.1.27.tgz#ec6e79410ff914e472652abfa0e603c03d60e905" + +jxLoader@*: + version "0.1.1" + resolved "https://registry.yarnpkg.com/jxLoader/-/jxLoader-0.1.1.tgz#0134ea5144e533b594fc1ff25ff194e235c53ecd" + dependencies: + js-yaml "0.3.x" + moo-server "1.3.x" + promised-io "*" + walker "1.x" + +karma-chrome-launcher@^2.2.0: + version "2.2.0" + resolved "https://registry.yarnpkg.com/karma-chrome-launcher/-/karma-chrome-launcher-2.2.0.tgz#cf1b9d07136cc18fe239327d24654c3dbc368acf" + dependencies: + fs-access "^1.0.0" + which "^1.2.1" + +karma-expect@^1.1.3: + version "1.1.3" + resolved "https://registry.yarnpkg.com/karma-expect/-/karma-expect-1.1.3.tgz#c6b0a56ff18903db11af4f098cc6e7cf198ce275" + dependencies: + expect.js "^0.3.1" + +karma-mocha@^1.3.0: + version "1.3.0" + resolved "https://registry.yarnpkg.com/karma-mocha/-/karma-mocha-1.3.0.tgz#eeaac7ffc0e201eb63c467440d2b69c7cf3778bf" + dependencies: + minimist "1.2.0" + +karma-phantomjs-launcher@^1.0.4: + version "1.0.4" + resolved "https://registry.yarnpkg.com/karma-phantomjs-launcher/-/karma-phantomjs-launcher-1.0.4.tgz#d23ca34801bda9863ad318e3bb4bd4062b13acd2" + dependencies: + lodash "^4.0.1" + phantomjs-prebuilt "^2.1.7" + +karma-sinon@^1.0.5: + version "1.0.5" + resolved "https://registry.yarnpkg.com/karma-sinon/-/karma-sinon-1.0.5.tgz#4e3443f2830fdecff624d3747163f1217daa2a9a" + +karma-systemjs@^0.16.0: + version "0.16.0" + resolved "https://registry.yarnpkg.com/karma-systemjs/-/karma-systemjs-0.16.0.tgz#fe2c81fafa649bc8fd0eec8cc5b6bd7515c1f15d" + dependencies: + lodash "^4.16.2" + minimatch "^3.0.0" + +karma@^1.7.0: + version "1.7.1" + resolved "https://registry.yarnpkg.com/karma/-/karma-1.7.1.tgz#85cc08e9e0a22d7ce9cca37c4a1be824f6a2b1ae" + dependencies: + bluebird "^3.3.0" + body-parser "^1.16.1" + chokidar "^1.4.1" + colors "^1.1.0" + combine-lists "^1.0.0" + connect "^3.6.0" + core-js "^2.2.0" + di "^0.0.1" + dom-serialize "^2.2.0" + expand-braces "^0.1.1" + glob "^7.1.1" + graceful-fs "^4.1.2" + http-proxy "^1.13.0" + isbinaryfile "^3.0.0" + lodash "^3.8.0" + log4js "^0.6.31" + mime "^1.3.4" + minimatch "^3.0.2" + optimist "^0.6.1" + qjobs "^1.1.4" + range-parser "^1.2.0" + rimraf "^2.6.0" + safe-buffer "^5.0.1" + socket.io "1.7.3" + source-map "^0.5.3" + tmp "0.0.31" + useragent "^2.1.12" + +kew@^0.7.0: + version "0.7.0" + resolved "https://registry.yarnpkg.com/kew/-/kew-0.7.0.tgz#79d93d2d33363d6fdd2970b335d9141ad591d79b" + +kind-of@^3.0.2, kind-of@^3.0.3, kind-of@^3.2.0: + version "3.2.2" + resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-3.2.2.tgz#31ea21a734bab9bbb0f32466d893aea51e4a3c64" + dependencies: + is-buffer "^1.1.5" + +kind-of@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-4.0.0.tgz#20813df3d712928b207378691a45066fae72dd57" + dependencies: + is-buffer "^1.1.5" + +kind-of@^5.0.0: + version "5.1.0" + resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-5.1.0.tgz#729c91e2d857b7a419a1f9aa65685c4c33f5845d" + integrity sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw== + +kind-of@^6.0.0, kind-of@^6.0.2: + version "6.0.3" + resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-6.0.3.tgz#07c05034a6c349fa06e24fa35aa76db4580ce4dd" + integrity sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw== + +klaw@^1.0.0: + version "1.3.1" + resolved "https://registry.yarnpkg.com/klaw/-/klaw-1.3.1.tgz#4088433b46b3b1ba259d78785d8e96f73ba02439" + optionalDependencies: + graceful-fs "^4.1.9" + +kleur@^3.0.3: + version "3.0.3" + resolved "https://registry.yarnpkg.com/kleur/-/kleur-3.0.3.tgz#a79c9ecc86ee1ce3fa6206d1216c501f147fc07e" + integrity sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w== + +last-call-webpack-plugin@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/last-call-webpack-plugin/-/last-call-webpack-plugin-3.0.0.tgz#9742df0e10e3cf46e5c0381c2de90d3a7a2d7555" + integrity sha512-7KI2l2GIZa9p2spzPIVZBYyNKkN+e/SQPpnjlTiPhdbDW3F86tdKKELxKpzJ5sgU19wQWsACULZmpTPYHeWO5w== + dependencies: + lodash "^4.17.5" + webpack-sources "^1.1.0" + +lerc@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/lerc/-/lerc-3.0.0.tgz#36f36fbd4ba46f0abf4833799fff2e7d6865f5cb" + integrity sha512-Rm4J/WaHhRa93nCN2mwWDZFoRVF18G1f47C+kvQWyHGEZxFpTUi73p7lMVSAndyxGt6lJ2/CFbOcf9ra5p8aww== + +less-loader@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/less-loader/-/less-loader-5.0.0.tgz#498dde3a6c6c4f887458ee9ed3f086a12ad1b466" + integrity sha512-bquCU89mO/yWLaUq0Clk7qCsKhsF/TZpJUzETRvJa9KSVEL9SO3ovCvdEHISBhrC81OwC8QSVX7E0bzElZj9cg== + dependencies: + clone "^2.1.1" + loader-utils "^1.1.0" + pify "^4.0.1" + +less@^3.11.1: + version "3.13.1" + resolved "https://registry.yarnpkg.com/less/-/less-3.13.1.tgz#0ebc91d2a0e9c0c6735b83d496b0ab0583077909" + integrity sha512-SwA1aQXGUvp+P5XdZslUOhhLnClSLIjWvJhmd+Vgib5BFIr9lMNlQwmwUNOjXThF/A0x+MCYYPeWEfeWiLRnTw== + dependencies: + copy-anything "^2.0.1" + tslib "^1.10.0" + optionalDependencies: + errno "^0.1.1" + graceful-fs "^4.1.2" + image-size "~0.5.0" + make-dir "^2.1.0" + mime "^1.4.1" + native-request "^1.0.5" + source-map "~0.6.0" + +leven@^3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/leven/-/leven-3.1.0.tgz#77891de834064cccba82ae7842bb6b14a13ed7f2" + integrity sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A== + +levn@^0.4.1: + version "0.4.1" + resolved "https://registry.yarnpkg.com/levn/-/levn-0.4.1.tgz#ae4562c007473b932a6200d403268dd2fffc6ade" + integrity sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ== + dependencies: + prelude-ls "^1.2.1" + type-check "~0.4.0" + +levn@~0.3.0: + version "0.3.0" + resolved "https://registry.yarnpkg.com/levn/-/levn-0.3.0.tgz#3b09924edf9f083c0490fdd4c0bc4421e04764ee" + integrity sha1-OwmSTt+fCDwEkP3UwLxEIeBHZO4= + dependencies: + prelude-ls "~1.1.2" + type-check "~0.3.2" + +lilconfig@^2.0.3: + version "2.0.5" + resolved "https://registry.yarnpkg.com/lilconfig/-/lilconfig-2.0.5.tgz#19e57fd06ccc3848fd1891655b5a447092225b25" + integrity sha512-xaYmXZtTHPAw5m+xLN8ab9C+3a8YmV3asNSPOATITbtwrfbwaLJj8h66H1WMIpALCkqsIzK3h7oQ+PdX+LQ9Eg== + +lines-and-columns@^1.1.6: + version "1.2.4" + resolved "https://registry.yarnpkg.com/lines-and-columns/-/lines-and-columns-1.2.4.tgz#eca284f75d2965079309dc0ad9255abb2ebc1632" + integrity sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg== + +livereload-js@^2.2.0: + version "2.3.0" + resolved "https://registry.yarnpkg.com/livereload-js/-/livereload-js-2.3.0.tgz#c3ab22e8aaf5bf3505d80d098cbad67726548c9a" + +load-grunt-tasks@^3.5.2: + version "3.5.2" + resolved "https://registry.yarnpkg.com/load-grunt-tasks/-/load-grunt-tasks-3.5.2.tgz#0728561180fd20ff8a6927505852fc58aaea0c88" + dependencies: + arrify "^1.0.0" + multimatch "^2.0.0" + pkg-up "^1.0.0" + resolve-pkg "^0.1.0" + +load-json-file@^1.0.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/load-json-file/-/load-json-file-1.1.0.tgz#956905708d58b4bab4c2261b04f59f31c99374c0" + dependencies: + graceful-fs "^4.1.2" + parse-json "^2.2.0" + pify "^2.0.0" + pinkie-promise "^2.0.0" + strip-bom "^2.0.0" + +load-json-file@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/load-json-file/-/load-json-file-4.0.0.tgz#2f5f45ab91e33216234fd53adab668eb4ec0993b" + integrity sha1-L19Fq5HjMhYjT9U62rZo607AmTs= + dependencies: + graceful-fs "^4.1.2" + parse-json "^4.0.0" + pify "^3.0.0" + strip-bom "^3.0.0" + +loader-runner@^2.4.0: + version "2.4.0" + resolved "https://registry.yarnpkg.com/loader-runner/-/loader-runner-2.4.0.tgz#ed47066bfe534d7e84c4c7b9998c2a75607d9357" + integrity sha512-Jsmr89RcXGIwivFY21FcRrisYZfvLMTWx5kOLc+JTxtpBOG6xML0vzbc6SEQG2FO9/4Fc3wW4LVcB5DmGflaRw== + +loader-utils@^0.2.16: + version "0.2.17" + resolved "https://registry.yarnpkg.com/loader-utils/-/loader-utils-0.2.17.tgz#f86e6374d43205a6e6c60e9196f17c0299bfb348" + integrity sha1-+G5jdNQyBabmxg6RlvF8Apm/s0g= + dependencies: + big.js "^3.1.3" + emojis-list "^2.0.0" + json5 "^0.5.0" + object-assign "^4.0.1" + +loader-utils@^1.0.2, loader-utils@^1.1.0, loader-utils@^1.2.3, loader-utils@^1.4.0: + version "1.4.0" + resolved "https://registry.yarnpkg.com/loader-utils/-/loader-utils-1.4.0.tgz#c579b5e34cb34b1a74edc6c1fb36bfa371d5a613" + integrity sha512-qH0WSMBtn/oHuwjy/NucEgbx5dbxxnxup9s4PVXJUDHZBQY+s0NWA9rJf53RBnQZxfch7euUui7hpoAPvALZdA== + dependencies: + big.js "^5.2.2" + emojis-list "^3.0.0" + json5 "^1.0.1" + +loader-utils@^2.0.0: + version "2.0.2" + resolved "https://registry.yarnpkg.com/loader-utils/-/loader-utils-2.0.2.tgz#d6e3b4fb81870721ae4e0868ab11dd638368c129" + integrity sha512-TM57VeHptv569d/GKh6TAYdzKblwDNiumOdkFnejjD0XwTH87K90w3O7AiJRqdQoXygvi1VQTJTLGhJl7WqA7A== + dependencies: + big.js "^5.2.2" + emojis-list "^3.0.0" + json5 "^2.1.2" + +loader-utils@^3.2.0: + version "3.2.0" + resolved "https://registry.yarnpkg.com/loader-utils/-/loader-utils-3.2.0.tgz#bcecc51a7898bee7473d4bc6b845b23af8304d4f" + integrity sha512-HVl9ZqccQihZ7JM85dco1MvO9G+ONvxoGa9rkhzFsneGLKSUg1gJf9bWzhRhcvm2qChhWpebQhP44qxjKIUCaQ== + +locate-path@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-2.0.0.tgz#2b568b265eec944c6d9c0de9c3dbbbca0354cd8e" + dependencies: + p-locate "^2.0.0" + path-exists "^3.0.0" + +locate-path@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-3.0.0.tgz#dbec3b3ab759758071b58fe59fc41871af21400e" + integrity sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A== + dependencies: + p-locate "^3.0.0" + path-exists "^3.0.0" + +locate-path@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-5.0.0.tgz#1afba396afd676a6d42504d0a67a3a7eb9f62aa0" + integrity sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g== + dependencies: + p-locate "^4.1.0" + +locate-path@^6.0.0: + version "6.0.0" + resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-6.0.0.tgz#55321eb309febbc59c4801d931a72452a681d286" + integrity sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw== + dependencies: + p-locate "^5.0.0" + +lodash.debounce@^4.0.8: + version "4.0.8" + resolved "https://registry.yarnpkg.com/lodash.debounce/-/lodash.debounce-4.0.8.tgz#82d79bff30a67c4005ffd5e2515300ad9ca4d7af" + integrity sha1-gteb/zCmfEAF/9XiUVMArZyk168= + +lodash.get@^4.4.2: + version "4.4.2" + resolved "https://registry.yarnpkg.com/lodash.get/-/lodash.get-4.4.2.tgz#2d177f652fa31e939b4438d5341499dfa3825e99" + +lodash.memoize@4.x, lodash.memoize@^4.1.2: + version "4.1.2" + resolved "https://registry.yarnpkg.com/lodash.memoize/-/lodash.memoize-4.1.2.tgz#bcc6c49a42a2840ed997f323eada5ecd182e0bfe" + integrity sha1-vMbEmkKihA7Zl/Mj6tpezRguC/4= + +lodash.merge@^4.6.2: + version "4.6.2" + resolved "https://registry.yarnpkg.com/lodash.merge/-/lodash.merge-4.6.2.tgz#558aa53b43b661e1925a0afdfa36a9a1085fe57a" + integrity sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ== + +lodash.once@^4.1.1: + version "4.1.1" + resolved "https://registry.yarnpkg.com/lodash.once/-/lodash.once-4.1.1.tgz#0dd3971213c7c56df880977d504c88fb471a97ac" + integrity sha1-DdOXEhPHxW34gJd9UEyI+0cal6w= + +lodash.sortby@^4.7.0: + version "4.7.0" + resolved "https://registry.yarnpkg.com/lodash.sortby/-/lodash.sortby-4.7.0.tgz#edd14c824e2cc9c1e0b0a1b42bb5210516a42438" + integrity sha1-7dFMgk4sycHgsKG0K7UhBRakJDg= + +lodash.truncate@^4.4.2: + version "4.4.2" + resolved "https://registry.yarnpkg.com/lodash.truncate/-/lodash.truncate-4.4.2.tgz#5a350da0b1113b837ecfffd5812cbe58d6eae193" + integrity sha1-WjUNoLERO4N+z//VgSy+WNbq4ZM= + +lodash.uniq@^4.5.0: + version "4.5.0" + resolved "https://registry.yarnpkg.com/lodash.uniq/-/lodash.uniq-4.5.0.tgz#d0225373aeb652adc1bc82e4945339a842754773" + integrity sha1-0CJTc662Uq3BvILklFM5qEJ1R3M= + +lodash@4.17.21, lodash@^4.1.1, lodash@^4.17.19, lodash@^4.17.20, lodash@^4.17.21, lodash@^4.17.3, lodash@^4.17.5, lodash@^4.7.0: + version "4.17.21" + resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.21.tgz#679591c564c3bffaae8454cf0b3df370c3d6911c" + integrity sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg== + +lodash@^3.10.1, lodash@^3.8.0: + version "3.10.1" + resolved "https://registry.yarnpkg.com/lodash/-/lodash-3.10.1.tgz#5bf45e8e49ba4189e17d482789dfd15bd140b7b6" + +lodash@^4.0.1, lodash@^4.14.0, lodash@^4.16.2, lodash@^4.17.4, lodash@^4.5.0, lodash@~4.17.4, lodash@~4.17.5: + version "4.17.5" + resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.5.tgz#99a92d65c0272debe8c96b6057bc8fbfa3bed511" + +lodash@~4.3.0: + version "4.3.0" + resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.3.0.tgz#efd9c4a6ec53f3b05412429915c3e4824e4d25a4" + +log-symbols@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/log-symbols/-/log-symbols-3.0.0.tgz#f3a08516a5dea893336a7dee14d18a1cfdab77c4" + integrity sha512-dSkNGuI7iG3mfvDzUuYZyvk5dD9ocYCYzNU6CYDE6+Xqd+gwme6Z00NS3dUh8mq/73HaEtT7m6W+yUPtU6BZnQ== + dependencies: + chalk "^2.4.2" + +log-symbols@^4.1.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/log-symbols/-/log-symbols-4.1.0.tgz#3fbdbb95b4683ac9fc785111e792e558d4abd503" + integrity sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg== + dependencies: + chalk "^4.1.0" + is-unicode-supported "^0.1.0" + +log4js@^0.6.31: + version "0.6.38" + resolved "https://registry.yarnpkg.com/log4js/-/log4js-0.6.38.tgz#2c494116695d6fb25480943d3fc872e662a522fd" + dependencies: + readable-stream "~1.0.2" + semver "~4.3.3" + +lolex@^2.1.2, lolex@^2.3.2: + version "2.3.2" + resolved "https://registry.yarnpkg.com/lolex/-/lolex-2.3.2.tgz#85f9450425103bf9e7a60668ea25dc43274ca807" + +loose-envify@^1.0.0, loose-envify@^1.1.0, loose-envify@^1.2.0, loose-envify@^1.3.1, loose-envify@^1.4.0: + version "1.4.0" + resolved "https://registry.yarnpkg.com/loose-envify/-/loose-envify-1.4.0.tgz#71ee51fa7be4caec1a63839f7e682d8132d30caf" + integrity sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q== + dependencies: + js-tokens "^3.0.0 || ^4.0.0" + +loud-rejection@^1.0.0: + version "1.6.0" + resolved "https://registry.yarnpkg.com/loud-rejection/-/loud-rejection-1.6.0.tgz#5b46f80147edee578870f086d04821cf998e551f" + dependencies: + currently-unhandled "^0.4.1" + signal-exit "^3.0.0" + +lower-case@^1.1.1: + version "1.1.4" + resolved "https://registry.yarnpkg.com/lower-case/-/lower-case-1.1.4.tgz#9a2cabd1b9e8e0ae993a4bf7d5875c39c42e8eac" + integrity sha1-miyr0bno4K6ZOkv31YdcOcQujqw= + +lru-cache@4.1.x, lru-cache@^4.0.1: + version "4.1.2" + resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-4.1.2.tgz#45234b2e6e2f2b33da125624c4664929a0224c3f" + dependencies: + pseudomap "^1.0.2" + yallist "^2.1.2" + +lru-cache@^5.1.1: + version "5.1.1" + resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-5.1.1.tgz#1da27e6710271947695daf6848e847f01d84b920" + integrity sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w== + dependencies: + yallist "^3.0.2" + +lru-cache@^6.0.0: + version "6.0.0" + resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-6.0.0.tgz#6d6fe6570ebd96aaf90fcad1dafa3b2566db3a94" + integrity sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA== + dependencies: + yallist "^4.0.0" + +lz-string@^1.4.4: + version "1.4.4" + resolved "https://registry.yarnpkg.com/lz-string/-/lz-string-1.4.4.tgz#c0d8eaf36059f705796e1e344811cf4c498d3a26" + integrity sha1-wNjq82BZ9wV5bh40SBHPTEmNOiY= + +make-dir@^2.0.0, make-dir@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/make-dir/-/make-dir-2.1.0.tgz#5f0310e18b8be898cc07009295a30ae41e91e6f5" + integrity sha512-LS9X+dc8KLxXCb8dni79fLIIUA5VyZoyjSMCwTluaXA0o27cCK0bhXkpgw+sTXVpPy/lSO57ilRixqk0vDmtRA== + dependencies: + pify "^4.0.1" + semver "^5.6.0" + +make-dir@^3.0.0, make-dir@^3.0.2, make-dir@^3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/make-dir/-/make-dir-3.1.0.tgz#415e967046b3a7f1d185277d84aa58203726a13f" + integrity sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw== + dependencies: + semver "^6.0.0" + +make-error@1.x, make-error@^1.1.1: + version "1.3.6" + resolved "https://registry.yarnpkg.com/make-error/-/make-error-1.3.6.tgz#2eb2e37ea9b67c4891f684a1394799af484cf7a2" + integrity sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw== + +makeerror@1.0.12: + version "1.0.12" + resolved "https://registry.yarnpkg.com/makeerror/-/makeerror-1.0.12.tgz#3e5dd2079a82e812e983cc6610c4a2cb0eaa801a" + integrity sha512-JmqCvUhmt43madlpFzG4BQzG2Z3m6tvQDNKdClZnO3VbIudJYmxsT0FNJMeiB2+JTSlTQTSbU8QdesVmwJcmLg== + dependencies: + tmpl "1.0.5" + +makeerror@1.0.x: + version "1.0.11" + resolved "https://registry.yarnpkg.com/makeerror/-/makeerror-1.0.11.tgz#e01a5c9109f2af79660e4e8b9587790184f5a96c" + dependencies: + tmpl "1.0.x" + +mamacro@^0.0.3: + version "0.0.3" + resolved "https://registry.yarnpkg.com/mamacro/-/mamacro-0.0.3.tgz#ad2c9576197c9f1abf308d0787865bd975a3f3e4" + integrity sha512-qMEwh+UujcQ+kbz3T6V+wAmO2U8veoq2w+3wY8MquqwVA3jChfwY+Tk52GZKDfACEPjuZ7r2oJLejwpt8jtwTA== + +map-cache@^0.2.2: + version "0.2.2" + resolved "https://registry.yarnpkg.com/map-cache/-/map-cache-0.2.2.tgz#c32abd0bd6525d9b051645bb4f26ac5dc98a0dbf" + integrity sha1-wyq9C9ZSXZsFFkW7TyasXcmKDb8= + +map-obj@^1.0.0, map-obj@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/map-obj/-/map-obj-1.0.1.tgz#d933ceb9205d82bdcf4886f6742bdc2b4dea146d" + +map-visit@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/map-visit/-/map-visit-1.0.0.tgz#ecdca8f13144e660f1b5bd41f12f3479d98dfb8f" + integrity sha1-7Nyo8TFE5mDxtb1B8S80edmN+48= + dependencies: + object-visit "^1.0.0" + +mapbox-to-css-font@^2.4.1: + version "2.4.1" + resolved "https://registry.yarnpkg.com/mapbox-to-css-font/-/mapbox-to-css-font-2.4.1.tgz#41bf38faed36b7dab069828aa3654e4bd91a1eda" + integrity sha512-QQ/iKiM43DM9+aujTL45Iz5o7gDeSFmy4LPl3HZmNcwCE++NxGazf+yFpY+wCb+YS23sDa1ghpo3zrNFOcHlow== + +marked@4.0.12: + version "4.0.12" + resolved "https://registry.yarnpkg.com/marked/-/marked-4.0.12.tgz#2262a4e6fd1afd2f13557726238b69a48b982f7d" + integrity sha512-hgibXWrEDNBWgGiK18j/4lkS6ihTe9sxtV4Q1OQppb/0zzyPSzoFANBa5MfsG/zgsWklmNnhm0XACZOH/0HBiQ== + +md5-file@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/md5-file/-/md5-file-5.0.0.tgz#e519f631feca9c39e7f9ea1780b63c4745012e20" + integrity sha512-xbEFXCYVWrSx/gEKS1VPlg84h/4L20znVIulKw6kMfmBUAZNAnF00eczz9ICMl+/hjQGo5KSXRxbL/47X3rmMw== + +md5.js@^1.3.4: + version "1.3.5" + resolved "https://registry.yarnpkg.com/md5.js/-/md5.js-1.3.5.tgz#b5d07b8e3216e3e27cd728d72f70d1e6a342005f" + integrity sha512-xitP+WxNPcTTOgnTJcrhM0xvdPepipPSf3I8EIpGKeFLjt3PlJLIDG3u8EX53ZIubkb+5U2+3rELYpEhHhzdkg== + dependencies: + hash-base "^3.0.0" + inherits "^2.0.1" + safe-buffer "^5.1.2" + +mdn-data@2.0.14: + version "2.0.14" + resolved "https://registry.yarnpkg.com/mdn-data/-/mdn-data-2.0.14.tgz#7113fc4281917d63ce29b43446f701e68c25ba50" + integrity sha512-dn6wd0uw5GsdswPFfsgMp5NSB0/aDe6fK94YJV/AJDYXL6HVLWBsxeq7js7Ad+mU2K9LAlwpk6kN2D5mwCPVow== + +media-typer@0.3.0: + version "0.3.0" + resolved "https://registry.yarnpkg.com/media-typer/-/media-typer-0.3.0.tgz#8710d7af0aa626f8fffa1ce00168545263255748" + +memfs@^3.1.2: + version "3.4.1" + resolved "https://registry.yarnpkg.com/memfs/-/memfs-3.4.1.tgz#b78092f466a0dce054d63d39275b24c71d3f1305" + integrity sha512-1c9VPVvW5P7I85c35zAdEr1TD5+F11IToIHIlrVIcflfnzPkJa0ZoYEoEdYDP8KgPFoSZ/opDrUsAoZWym3mtw== + dependencies: + fs-monkey "1.0.3" + +memoize-one@6.0.0: + version "6.0.0" + resolved "https://registry.yarnpkg.com/memoize-one/-/memoize-one-6.0.0.tgz#b2591b871ed82948aee4727dc6abceeeac8c1045" + integrity sha512-rkpe71W0N0c0Xz6QD0eJETuWAJGnJ9afsl1srmwPrI+yBCkge5EycXXbYRyvL29zZVUWQCY7InPRCv3GDXuZNw== + +"memoize-one@>=3.1.1 <6", memoize-one@^5.0.0, memoize-one@^5.1.1: + version "5.2.1" + resolved "https://registry.yarnpkg.com/memoize-one/-/memoize-one-5.2.1.tgz#8337aa3c4335581839ec01c3d594090cebe8f00e" + integrity sha512-zYiwtZUcYyXKo/np96AGZAckk+FWWsUdJ3cHGGmld7+AhvcWmQyGCYUh1hc4Q/pkOhb65dQR/pqCyK0cOaHz4Q== + +memoize-one@^4.0.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/memoize-one/-/memoize-one-4.1.0.tgz#a2387c58c03fff27ca390c31b764a79addf3f906" + integrity sha512-2GApq0yI/b22J2j9rhbrAlsHb0Qcz+7yWxeLG8h+95sl1XPUgeLimQSOdur4Vw7cUhrBHwaUZxWFZueojqNRzA== + +memory-fs@^0.4.1: + version "0.4.1" + resolved "https://registry.yarnpkg.com/memory-fs/-/memory-fs-0.4.1.tgz#3a9a20b8462523e447cfbc7e8bb80ed667bfc552" + integrity sha1-OpoguEYlI+RHz7x+i7gO1me/xVI= + dependencies: + errno "^0.1.3" + readable-stream "^2.0.1" + +memory-fs@^0.5.0: + version "0.5.0" + resolved "https://registry.yarnpkg.com/memory-fs/-/memory-fs-0.5.0.tgz#324c01288b88652966d161db77838720845a8e3c" + integrity sha512-jA0rdU5KoQMC0e6ppoNRtpp6vjFq6+NY7r8hywnC7V+1Xj/MtHwGIbB1QaK/dunyjWteJzmkpd7ooeWg10T7GA== + dependencies: + errno "^0.1.3" + readable-stream "^2.0.1" + +meow@^3.3.0: + version "3.7.0" + resolved "https://registry.yarnpkg.com/meow/-/meow-3.7.0.tgz#72cb668b425228290abbfa856892587308a801fb" + dependencies: + camelcase-keys "^2.0.0" + decamelize "^1.1.2" + loud-rejection "^1.0.0" + map-obj "^1.0.1" + minimist "^1.1.3" + normalize-package-data "^2.3.4" + object-assign "^4.0.1" + read-pkg-up "^1.0.1" + redent "^1.0.0" + trim-newlines "^1.0.0" + +merge-class-names@^1.1.1: + version "1.4.2" + resolved "https://registry.yarnpkg.com/merge-class-names/-/merge-class-names-1.4.2.tgz#78d6d95ab259e7e647252a7988fd25a27d5a8835" + integrity sha512-bOl98VzwCGi25Gcn3xKxnR5p/WrhWFQB59MS/aGENcmUc6iSm96yrFDF0XSNurX9qN4LbJm0R9kfvsQ17i8zCw== + +merge-stream@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/merge-stream/-/merge-stream-2.0.0.tgz#52823629a14dd00c9770fb6ad47dc6310f2c1f60" + integrity sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w== + +merge2@^1.2.3, merge2@^1.3.0, merge2@^1.4.1: + version "1.4.1" + resolved "https://registry.yarnpkg.com/merge2/-/merge2-1.4.1.tgz#4368892f885e907455a6fd7dc55c0c9d404990ae" + integrity sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg== + +micromatch@^2.1.5: + version "2.3.11" + resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-2.3.11.tgz#86677c97d1720b363431d04d0d15293bd38c1565" + dependencies: + arr-diff "^2.0.0" + array-unique "^0.2.1" + braces "^1.8.2" + expand-brackets "^0.1.4" + extglob "^0.3.1" + filename-regex "^2.0.0" + is-extglob "^1.0.0" + is-glob "^2.0.1" + kind-of "^3.0.2" + normalize-path "^2.0.1" + object.omit "^2.0.0" + parse-glob "^3.0.4" + regex-cache "^0.4.2" + +micromatch@^3.1.10, micromatch@^3.1.4: + version "3.1.10" + resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-3.1.10.tgz#70859bc95c9840952f359a068a3fc49f9ecfac23" + integrity sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg== + dependencies: + 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" + +micromatch@^4.0.0, micromatch@^4.0.2, micromatch@^4.0.4: + version "4.0.5" + resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-4.0.5.tgz#bc8999a7cbbf77cdc89f132f6e467051b49090c6" + integrity sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA== + dependencies: + braces "^3.0.2" + picomatch "^2.3.1" + +miller-rabin@^4.0.0: + version "4.0.1" + resolved "https://registry.yarnpkg.com/miller-rabin/-/miller-rabin-4.0.1.tgz#f080351c865b0dc562a8462966daa53543c78a4d" + integrity sha512-115fLhvZVqWwHPbClyntxEVfVDfl9DLLTuJvq3g2O/Oxi8AiNouAHvDSzHS0viUJc+V5vm3eq91Xwqn9dp4jRA== + dependencies: + bn.js "^4.0.0" + brorand "^1.0.1" + +mime-db@1.52.0: + version "1.52.0" + resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.52.0.tgz#bbabcdc02859f4987301c856e3387ce5ec43bf70" + integrity sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg== + +mime-db@~1.33.0: + version "1.33.0" + resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.33.0.tgz#a3492050a5cb9b63450541e39d9788d2272783db" + +mime-types@^2.1.12, mime-types@~2.1.11, mime-types@~2.1.17, mime-types@~2.1.18, mime-types@~2.1.7: + version "2.1.18" + resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.18.tgz#6f323f60a83d11146f831ff11fd66e2fe5503bb8" + dependencies: + mime-db "~1.33.0" + +mime-types@~2.1.19: + version "2.1.35" + resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.35.tgz#381a871b62a734450660ae3deee44813f70d959a" + integrity sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw== + dependencies: + mime-db "1.52.0" + +mime@^1.3.4, mime@^1.4.1: + version "1.6.0" + resolved "https://registry.yarnpkg.com/mime/-/mime-1.6.0.tgz#32cd9e5c64553bd58d19a568af452acff04981b1" + +mime@^2.4.4: + version "2.6.0" + resolved "https://registry.yarnpkg.com/mime/-/mime-2.6.0.tgz#a2a682a95cd4d0cb1d6257e28f83da7e35800367" + integrity sha512-USPkMeET31rOMiarsBNIHZKLGgvKc/LrjofAnBlOttf5ajRvqiRA8QsenbcooctK6d6Ts6aqZXBA+XbkKthiQg== + +mimic-fn@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/mimic-fn/-/mimic-fn-2.1.0.tgz#7ed2c2ccccaf84d3ffcb7a69b57711fc2083401b" + integrity sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg== + +mini-create-react-context@^0.4.0: + version "0.4.1" + resolved "https://registry.yarnpkg.com/mini-create-react-context/-/mini-create-react-context-0.4.1.tgz#072171561bfdc922da08a60c2197a497cc2d1d5e" + integrity sha512-YWCYEmd5CQeHGSAKrYvXgmzzkrvssZcuuQDDeqkT+PziKGMgE+0MCCtcKbROzocGBG1meBLl2FotlRwf4gAzbQ== + dependencies: + "@babel/runtime" "^7.12.1" + tiny-warning "^1.0.3" + +mini-css-extract-plugin@^0.7.0: + version "0.7.0" + resolved "https://registry.yarnpkg.com/mini-css-extract-plugin/-/mini-css-extract-plugin-0.7.0.tgz#5ba8290fbb4179a43dd27cca444ba150bee743a0" + integrity sha512-RQIw6+7utTYn8DBGsf/LpRgZCJMpZt+kuawJ/fju0KiOL6nAaTBNmCJwS7HtwSCXfS47gCkmtBFS7HdsquhdxQ== + dependencies: + loader-utils "^1.1.0" + normalize-url "1.9.1" + schema-utils "^1.0.0" + webpack-sources "^1.1.0" + +minimalistic-assert@^1.0.0, minimalistic-assert@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz#2e194de044626d4a10e7f7fbc00ce73e83e4d5c7" + integrity sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A== + +minimalistic-crypto-utils@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz#f6c00c1c0b082246e5c4d99dfb8c7c083b2b582a" + integrity sha1-9sAMHAsIIkblxNmd+4x8CDsrWCo= + +"minimatch@2 || 3", minimatch@3.0.4, minimatch@^3.0.0, minimatch@^3.0.2, minimatch@^3.0.4, minimatch@~3.0.2: + version "3.0.4" + resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.0.4.tgz#5166e286457f03306064be5497e8dbb0c3d32083" + dependencies: + brace-expansion "^1.1.7" + +minimist@0.0.8: + version "0.0.8" + resolved "https://registry.yarnpkg.com/minimist/-/minimist-0.0.8.tgz#857fcabfc3397d2625b8228262e86aa7a011b05d" + +minimist@1.2.0, minimist@^1.1.3, minimist@^1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.0.tgz#a35008b20f41383eec1fb914f4cd5df79a264284" + +minimist@^1.1.1, minimist@^1.2.5: + version "1.2.6" + resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.6.tgz#8637a5b759ea0d6e98702cfb3a9283323c93af44" + integrity sha512-Jsjnk4bw3YJqYzbdyBiNsPWHPfO++UGG749Cxs6peCu5Xg4nrena6OVxOYxrQTqww0Jmwt+Ref8rggumkTLz9Q== + +minimist@~0.0.1: + version "0.0.10" + resolved "https://registry.yarnpkg.com/minimist/-/minimist-0.0.10.tgz#de3f98543dbf96082be48ad1a0c7cda836301dcf" + +minipass-collect@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/minipass-collect/-/minipass-collect-1.0.2.tgz#22b813bf745dc6edba2576b940022ad6edc8c617" + integrity sha512-6T6lH0H8OG9kITm/Jm6tdooIbogG9e0tLgpY6mphXSm/A9u8Nq1ryBG+Qspiub9LjWlBPsPS3tWQ/Botq4FdxA== + dependencies: + minipass "^3.0.0" + +minipass-flush@^1.0.5: + version "1.0.5" + resolved "https://registry.yarnpkg.com/minipass-flush/-/minipass-flush-1.0.5.tgz#82e7135d7e89a50ffe64610a787953c4c4cbb373" + integrity sha512-JmQSYYpPUqX5Jyn1mXaRwOda1uQ8HP5KAT/oDSLCzt1BYRhQU0/hDtsB1ufZfEEzMZ9aAVmsBw8+FWsIXlClWw== + dependencies: + minipass "^3.0.0" + +minipass-pipeline@^1.2.2: + version "1.2.4" + resolved "https://registry.yarnpkg.com/minipass-pipeline/-/minipass-pipeline-1.2.4.tgz#68472f79711c084657c067c5c6ad93cddea8214c" + integrity sha512-xuIq7cIOt09RPRJ19gdi4b+RiNvDFYe5JH+ggNvBqGqpQXcru3PcRmOZuHBKWK1Txf9+cQ+HMVN4d6z46LZP7A== + dependencies: + minipass "^3.0.0" + +minipass@^3.0.0, minipass@^3.1.1: + version "3.1.6" + resolved "https://registry.yarnpkg.com/minipass/-/minipass-3.1.6.tgz#3b8150aa688a711a1521af5e8779c1d3bb4f45ee" + integrity sha512-rty5kpw9/z8SX9dmxblFA6edItUmwJgMeYDZRrwlIVN27i8gysGbznJwUggw2V/FVqFSDdWy040ZPS811DYAqQ== + dependencies: + yallist "^4.0.0" + +mississippi@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/mississippi/-/mississippi-3.0.0.tgz#ea0a3291f97e0b5e8776b363d5f0a12d94c67022" + integrity sha512-x471SsVjUtBRtcvd4BzKE9kFC+/2TeWgKCgw0bZcw1b9l2X3QX5vCWgF+KaZaYm87Ss//rHnWryupDrgLvmSkA== + dependencies: + concat-stream "^1.5.0" + duplexify "^3.4.2" + end-of-stream "^1.1.0" + flush-write-stream "^1.0.0" + from2 "^2.1.0" + parallel-transform "^1.1.0" + pump "^3.0.0" + pumpify "^1.3.3" + stream-each "^1.1.0" + through2 "^2.0.0" + +mixin-deep@^1.2.0: + version "1.3.2" + resolved "https://registry.yarnpkg.com/mixin-deep/-/mixin-deep-1.3.2.tgz#1120b43dc359a785dce65b55b82e257ccf479566" + integrity sha512-WRoDn//mXBiJ1H40rqa3vH0toePwSsGb45iInWlTySa+Uu4k3tYUSxa2v1KqAiLtvlrSzaExqS1gtk96A9zvEA== + dependencies: + for-in "^1.0.2" + is-extendable "^1.0.1" + +mkdirp@0.5.0: + version "0.5.0" + resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-0.5.0.tgz#1d73076a6df986cd9344e15e71fcc05a4c9abf12" + dependencies: + minimist "0.0.8" + +mkdirp@0.5.1, "mkdirp@>=0.5 0", mkdirp@^0.5.1: + version "0.5.1" + resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-0.5.1.tgz#30057438eac6cf7f8c4767f38648d6697d75c903" + dependencies: + minimist "0.0.8" + +mkdirp@1.x, mkdirp@^1.0.4: + version "1.0.4" + resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-1.0.4.tgz#3eb5ed62622756d79a5f0e2a221dfebad75c2f7e" + integrity sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw== + +moment-timezone@0.5.34: + version "0.5.34" + resolved "https://registry.yarnpkg.com/moment-timezone/-/moment-timezone-0.5.34.tgz#a75938f7476b88f155d3504a9343f7519d9a405c" + integrity sha512-3zAEHh2hKUs3EXLESx/wsgw6IQdusOT8Bxm3D9UrHPQR7zlMmzwybC8zHEM1tQ4LJwP7fcxrWr8tuBg05fFCbg== + dependencies: + moment ">= 2.9.0" + +moment@2.29.2: + version "2.29.2" + resolved "https://registry.yarnpkg.com/moment/-/moment-2.29.2.tgz#00910c60b20843bcba52d37d58c628b47b1f20e4" + integrity sha512-UgzG4rvxYpN15jgCmVJwac49h9ly9NurikMWGPdVxm8GZD6XjkKPxDTjQQ43gtGgnV3X0cAyWDdP2Wexoquifg== + +moment@2.x, "moment@>= 2.9.0": + version "2.29.3" + resolved "https://registry.yarnpkg.com/moment/-/moment-2.29.3.tgz#edd47411c322413999f7a5940d526de183c031f3" + integrity sha512-c6YRvhEo//6T2Jz/vVtYzqBzwvPT95JBQ+smCytzf7c50oMZRsR/a4w88aD34I+/QVSfnoAnSBFPJHItlOMJVw== + +moment@^2.18.1: + version "2.21.0" + resolved "https://registry.yarnpkg.com/moment/-/moment-2.21.0.tgz#2a114b51d2a6ec9e6d83cf803f838a878d8a023a" + +monaco-editor@^0.31.1: + version "0.31.1" + resolved "https://registry.yarnpkg.com/monaco-editor/-/monaco-editor-0.31.1.tgz#67f597b3e45679d1f551237e12a3a42c4438b97b" + integrity sha512-FYPwxGZAeP6mRRyrr5XTGHD9gRXVjy7GUzF4IPChnyt3fS5WrNxIkS8DNujWf6EQy0Zlzpxw8oTVE+mWI2/D1Q== + +moo-color@^1.0.2: + version "1.0.3" + resolved "https://registry.yarnpkg.com/moo-color/-/moo-color-1.0.3.tgz#d56435f8359c8284d83ac58016df7427febece74" + integrity sha512-i/+ZKXMDf6aqYtBhuOcej71YSlbjT3wCO/4H1j8rPvxDJEifdwgg5MaFyu6iYAT8GBZJg2z0dkgK4YMzvURALQ== + dependencies: + color-name "^1.1.4" + +moo-server@*, moo-server@1.3.x: + version "1.3.0" + resolved "https://registry.yarnpkg.com/moo-server/-/moo-server-1.3.0.tgz#5dc79569565a10d6efed5439491e69d2392e58f1" + +move-concurrently@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/move-concurrently/-/move-concurrently-1.0.1.tgz#be2c005fda32e0b29af1f05d7c4b33214c701f92" + integrity sha1-viwAX9oy4LKa8fBdfEszIUxwH5I= + dependencies: + aproba "^1.1.1" + copy-concurrently "^1.0.0" + fs-write-stream-atomic "^1.0.8" + mkdirp "^0.5.1" + rimraf "^2.5.4" + run-queue "^1.0.3" + +mri@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/mri/-/mri-1.1.0.tgz#5c0a3f29c8ccffbbb1ec941dcec09d71fa32f36a" + +ms@0.7.1: + version "0.7.1" + resolved "https://registry.yarnpkg.com/ms/-/ms-0.7.1.tgz#9cd13c03adbff25b65effde7ce864ee952017098" + +ms@0.7.2: + version "0.7.2" + resolved "https://registry.yarnpkg.com/ms/-/ms-0.7.2.tgz#ae25cf2512b3885a1d95d7f037868d8431124765" + +ms@2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/ms/-/ms-2.0.0.tgz#5608aeadfc00be6c2901df5f9861788de0d597c8" + +ms@2.1.2: + version "2.1.2" + resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.2.tgz#d09d1f357b443f493382a8eb3ccd183872ae6009" + integrity sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w== + +ms@^2.1.1: + version "2.1.3" + resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.3.tgz#574c8138ce1d2b5861f0b44579dbadd60c6615b2" + integrity sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA== + +multimatch@^2.0.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/multimatch/-/multimatch-2.1.0.tgz#9c7906a22fb4c02919e2f5f75161b4cdbd4b2a2b" + dependencies: + array-differ "^1.0.0" + array-union "^1.0.1" + arrify "^1.0.0" + minimatch "^3.0.0" + +mute-stream@0.0.8: + version "0.0.8" + resolved "https://registry.yarnpkg.com/mute-stream/-/mute-stream-0.0.8.tgz#1630c42b2251ff81e2a283de96a5497ea92e5e0d" + integrity sha512-nnbWWOkoWyUsTjKrhgD0dcz22mdkSnpYqbEjIm2nhwhuxlSkpywJmBo8h0ZqJdkp73mb90SssHkN4rsRaBAfAA== + +nan@^2.12.1: + version "2.15.0" + resolved "https://registry.yarnpkg.com/nan/-/nan-2.15.0.tgz#3f34a473ff18e15c1b5626b62903b5ad6e665fee" + integrity sha512-8ZtvEnA2c5aYCZYd1cvgdnU6cqwixRoYg70xPLWUws5ORTa/lnw+u4amixRS/Ac5U5mQVgp9pnlSUnbNWFaWZQ== + +nan@^2.3.0: + version "2.9.2" + resolved "https://registry.yarnpkg.com/nan/-/nan-2.9.2.tgz#f564d75f5f8f36a6d9456cca7a6c4fe488ab7866" + +nano-css@^5.3.1: + version "5.3.4" + resolved "https://registry.yarnpkg.com/nano-css/-/nano-css-5.3.4.tgz#40af6a83a76f84204f346e8ccaa9169cdae9167b" + integrity sha512-wfcviJB6NOxDIDfr7RFn/GlaN7I/Bhe4d39ZRCJ3xvZX60LVe2qZ+rDqM49nm4YT81gAjzS+ZklhKP/Gnfnubg== + dependencies: + css-tree "^1.1.2" + csstype "^3.0.6" + fastest-stable-stringify "^2.0.2" + inline-style-prefixer "^6.0.0" + rtl-css-js "^1.14.0" + sourcemap-codec "^1.4.8" + stacktrace-js "^2.0.2" + stylis "^4.0.6" + +nanoid@^3.3.1: + version "3.3.3" + resolved "https://registry.yarnpkg.com/nanoid/-/nanoid-3.3.3.tgz#fd8e8b7aa761fe807dba2d1b98fb7241bb724a25" + integrity sha512-p1sjXuopFs0xg+fPASzQ28agW1oHD7xDsd9Xkf3T15H3c/cifrFHVwrh74PdoklAPi+i7MdRsE47vm2r6JoB+w== + +nanomatch@^1.2.9: + version "1.2.13" + resolved "https://registry.yarnpkg.com/nanomatch/-/nanomatch-1.2.13.tgz#b87a8aa4fc0de8fe6be88895b38983ff265bd119" + integrity sha512-fpoe2T0RbHwBTBUOftAfBPaDEi06ufaUai0mE6Yn1kacc3SnTErfb/h+X94VXzI64rKFHYImXSvdwGGCmwOqCA== + dependencies: + 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" + +native-promise-only@^0.8.1: + version "0.8.1" + resolved "https://registry.yarnpkg.com/native-promise-only/-/native-promise-only-0.8.1.tgz#20a318c30cb45f71fe7adfbf7b21c99c1472ef11" + +native-request@^1.0.5: + version "1.1.0" + resolved "https://registry.yarnpkg.com/native-request/-/native-request-1.1.0.tgz#acdb30fe2eefa3e1bc8c54b3a6852e9c5c0d3cb0" + integrity sha512-uZ5rQaeRn15XmpgE0xoPL8YWqcX90VtCFglYwAgkvKM5e8fog+vePLAhHxuuv/gRkrQxIeh5U3q9sMNUrENqWw== + +natural-compare@^1.4.0: + version "1.4.0" + resolved "https://registry.yarnpkg.com/natural-compare/-/natural-compare-1.4.0.tgz#4abebfeed7541f2c27acfb29bdbbd15c8d5ba4f7" + integrity sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc= + +negotiator@0.6.1: + version "0.6.1" + resolved "https://registry.yarnpkg.com/negotiator/-/negotiator-0.6.1.tgz#2b327184e8992101177b28563fb5e7102acd0ca9" + +neo-async@^2.5.0, neo-async@^2.6.1: + version "2.6.2" + resolved "https://registry.yarnpkg.com/neo-async/-/neo-async-2.6.2.tgz#b4aafb93e3aeb2d8174ca53cf163ab7d7308305f" + integrity sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw== + +nice-try@^1.0.4: + version "1.0.5" + resolved "https://registry.yarnpkg.com/nice-try/-/nice-try-1.0.5.tgz#a3378a7696ce7d223e88fc9b764bd7ef1089e366" + integrity sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ== + +nise@^1.0.1: + version "1.3.0" + resolved "https://registry.yarnpkg.com/nise/-/nise-1.3.0.tgz#7d6d506e64a0e37959495157f30a799c0436df72" + dependencies: + "@sinonjs/formatio" "^2.0.0" + just-extend "^1.1.27" + lolex "^2.3.2" + path-to-regexp "^1.7.0" + text-encoding "^0.6.4" + +no-case@^2.2.0: + version "2.3.2" + resolved "https://registry.yarnpkg.com/no-case/-/no-case-2.3.2.tgz#60b813396be39b3f1288a4c1ed5d1e7d28b464ac" + integrity sha512-rmTZ9kz+f3rCvK2TD1Ue/oZlns7OGoIWP4fc3llxxRXlOkHKoWPPWJOfFYpITabSow43QJbRIoHQXtt10VldyQ== + dependencies: + lower-case "^1.1.1" + +node-int64@^0.4.0: + version "0.4.0" + resolved "https://registry.yarnpkg.com/node-int64/-/node-int64-0.4.0.tgz#87a9065cdb355d3182d8f94ce11188b825c68a3b" + integrity sha1-h6kGXNs1XTGC2PlM4RGIuCXGijs= + +node-libs-browser@^2.2.1: + version "2.2.1" + resolved "https://registry.yarnpkg.com/node-libs-browser/-/node-libs-browser-2.2.1.tgz#b64f513d18338625f90346d27b0d235e631f6425" + integrity sha512-h/zcD8H9kaDZ9ALUWwlBUDo6TKF8a7qBSCSEGfjTVIYeqsioSKaAX+BN7NgiMGp6iSIXZ3PxgCu8KS3b71YK5Q== + dependencies: + assert "^1.1.1" + browserify-zlib "^0.2.0" + buffer "^4.3.0" + console-browserify "^1.1.0" + constants-browserify "^1.0.0" + crypto-browserify "^3.11.0" + domain-browser "^1.1.1" + events "^3.0.0" + https-browserify "^1.0.0" + os-browserify "^0.3.0" + path-browserify "0.0.1" + process "^0.11.10" + punycode "^1.2.4" + querystring-es3 "^0.2.0" + readable-stream "^2.3.3" + stream-browserify "^2.0.1" + stream-http "^2.7.2" + string_decoder "^1.0.0" + timers-browserify "^2.0.4" + tty-browserify "0.0.0" + url "^0.11.0" + util "^0.11.0" + vm-browserify "^1.0.1" + +node-notifier@^8.0.0: + version "8.0.2" + resolved "https://registry.yarnpkg.com/node-notifier/-/node-notifier-8.0.2.tgz#f3167a38ef0d2c8a866a83e318c1ba0efeb702c5" + integrity sha512-oJP/9NAdd9+x2Q+rfphB2RJCHjod70RcRLjosiPMMu5gjIfwVnOUGq2nbTjTUbmy0DJ/tFIVT30+Qe3nzl4TJg== + dependencies: + growly "^1.3.0" + is-wsl "^2.2.0" + semver "^7.3.2" + shellwords "^0.1.1" + uuid "^8.3.0" + which "^2.0.2" + +node-pre-gyp@^0.6.39: + version "0.6.39" + resolved "https://registry.yarnpkg.com/node-pre-gyp/-/node-pre-gyp-0.6.39.tgz#c00e96860b23c0e1420ac7befc5044e1d78d8649" + dependencies: + detect-libc "^1.0.2" + hawk "3.1.3" + mkdirp "^0.5.1" + nopt "^4.0.1" + npmlog "^4.0.2" + rc "^1.1.7" + request "2.81.0" + rimraf "^2.6.1" + semver "^5.3.0" + tar "^2.2.1" + tar-pack "^3.4.0" + +node-releases@^2.0.3: + version "2.0.4" + resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-2.0.4.tgz#f38252370c43854dc48aa431c766c6c398f40476" + integrity sha512-gbMzqQtTtDz/00jQzZ21PQzdI9PyLYqUSvD0p3naOhX4odFji0ZxYdnVwPTxmSwkmxhcFImpozceidSG+AgoPQ== + +nopt@^4.0.1: + version "4.0.1" + resolved "https://registry.yarnpkg.com/nopt/-/nopt-4.0.1.tgz#d0d4685afd5415193c8c7505602d0d17cd64474d" + dependencies: + abbrev "1" + osenv "^0.1.4" + +nopt@~3.0.6: + version "3.0.6" + resolved "https://registry.yarnpkg.com/nopt/-/nopt-3.0.6.tgz#c6465dbf08abcd4db359317f79ac68a646b28ff9" + dependencies: + abbrev "1" + +normalize-package-data@^2.3.2, normalize-package-data@^2.3.4: + version "2.4.0" + resolved "https://registry.yarnpkg.com/normalize-package-data/-/normalize-package-data-2.4.0.tgz#12f95a307d58352075a04907b84ac8be98ac012f" + dependencies: + hosted-git-info "^2.1.4" + is-builtin-module "^1.0.0" + semver "2 || 3 || 4 || 5" + validate-npm-package-license "^3.0.1" + +normalize-package-data@^2.5.0: + version "2.5.0" + resolved "https://registry.yarnpkg.com/normalize-package-data/-/normalize-package-data-2.5.0.tgz#e66db1838b200c1dfc233225d12cb36520e234a8" + integrity sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA== + dependencies: + hosted-git-info "^2.1.4" + resolve "^1.10.0" + semver "2 || 3 || 4 || 5" + validate-npm-package-license "^3.0.1" + +normalize-path@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/normalize-path/-/normalize-path-1.0.0.tgz#32d0e472f91ff345701c15a8311018d3b0a90379" -grunt@^1.0.1: - version "1.0.2" - resolved "https://registry.yarnpkg.com/grunt/-/grunt-1.0.2.tgz#4e6a5e695b70472fd5304f5fa9e34236836a73bc" +normalize-path@^2.0.0, normalize-path@^2.0.1, normalize-path@^2.1.1: + version "2.1.1" + resolved "https://registry.yarnpkg.com/normalize-path/-/normalize-path-2.1.1.tgz#1ab28b556e198363a8c1a6f7e6fa20137fe6aed9" dependencies: - coffeescript "~1.10.0" - dateformat "~1.0.12" - eventemitter2 "~0.4.13" - exit "~0.1.1" - findup-sync "~0.3.0" - glob "~7.0.0" - grunt-cli "~1.2.0" - grunt-known-options "~1.1.0" - grunt-legacy-log "~1.0.0" - grunt-legacy-util "~1.0.0" - iconv-lite "~0.4.13" - js-yaml "~3.5.2" - minimatch "~3.0.2" - nopt "~3.0.6" - path-is-absolute "~1.0.0" - rimraf "~2.2.8" + remove-trailing-separator "^1.0.1" -har-schema@^1.0.5: - version "1.0.5" - resolved "https://registry.yarnpkg.com/har-schema/-/har-schema-1.0.5.tgz#d263135f43307c02c602afc8fe95970c0151369e" +normalize-path@^3.0.0, normalize-path@~3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/normalize-path/-/normalize-path-3.0.0.tgz#0dcd69ff23a1c9b11fd0978316644a0388216a65" + integrity sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA== -har-schema@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/har-schema/-/har-schema-2.0.0.tgz#a94c2224ebcac04782a0d9035521f24735b7ec92" +normalize-range@^0.1.2: + version "0.1.2" + resolved "https://registry.yarnpkg.com/normalize-range/-/normalize-range-0.1.2.tgz#2d10c06bdfd312ea9777695a4d28439456b75942" + integrity sha1-LRDAa9/TEuqXd2laTShDlFa3WUI= -har-validator@~4.2.1: - version "4.2.1" - resolved "https://registry.yarnpkg.com/har-validator/-/har-validator-4.2.1.tgz#33481d0f1bbff600dd203d75812a6a5fba002e2a" +normalize-url@1.9.1: + version "1.9.1" + resolved "https://registry.yarnpkg.com/normalize-url/-/normalize-url-1.9.1.tgz#2cc0d66b31ea23036458436e3620d85954c66c3c" + integrity sha1-LMDWazHqIwNkWENuNiDYWVTGbDw= dependencies: - ajv "^4.9.1" - har-schema "^1.0.5" + object-assign "^4.0.1" + prepend-http "^1.0.0" + query-string "^4.1.0" + sort-keys "^1.0.0" -har-validator@~5.0.3: - version "5.0.3" - resolved "https://registry.yarnpkg.com/har-validator/-/har-validator-5.0.3.tgz#ba402c266194f15956ef15e0fcf242993f6a7dfd" +normalize-url@^6.0.1: + version "6.1.0" + resolved "https://registry.yarnpkg.com/normalize-url/-/normalize-url-6.1.0.tgz#40d0885b535deffe3f3147bec877d05fe4c5668a" + integrity sha512-DlL+XwOy3NxAQ8xuC0okPgK46iuVNAK01YN7RueYBqqFeGsBjV9XmCAzAdgt+667bCl5kPh9EqKKDwnaPG1I7A== + +npm-run-path@^2.0.0: + version "2.0.2" + resolved "https://registry.yarnpkg.com/npm-run-path/-/npm-run-path-2.0.2.tgz#35a9232dfa35d7067b4cb2ddf2357b1871536c5f" dependencies: - ajv "^5.1.0" - har-schema "^2.0.0" + path-key "^2.0.0" -has-ansi@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/has-ansi/-/has-ansi-2.0.0.tgz#34f5049ce1ecdf2b0649af3ef24e45ed35416d91" +npm-run-path@^4.0.0, npm-run-path@^4.0.1: + version "4.0.1" + resolved "https://registry.yarnpkg.com/npm-run-path/-/npm-run-path-4.0.1.tgz#b7ecd1e5ed53da8e37a55e1c2269e0b97ed748ea" + integrity sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw== dependencies: - ansi-regex "^2.0.0" + path-key "^3.0.0" -has-binary@0.1.7: - version "0.1.7" - resolved "https://registry.yarnpkg.com/has-binary/-/has-binary-0.1.7.tgz#68e61eb16210c9545a0a5cce06a873912fe1e68c" +npmlog@^4.0.2: + version "4.1.2" + resolved "https://registry.yarnpkg.com/npmlog/-/npmlog-4.1.2.tgz#08a7f2a8bf734604779a9efa4ad5cc717abb954b" dependencies: - isarray "0.0.1" + are-we-there-yet "~1.1.2" + console-control-strings "~1.1.0" + gauge "~2.7.3" + set-blocking "~2.0.0" -has-cors@1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/has-cors/-/has-cors-1.1.0.tgz#5e474793f7ea9843d1bb99c23eef49ff126fff39" +nth-check@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/nth-check/-/nth-check-2.0.1.tgz#2efe162f5c3da06a28959fbd3db75dbeea9f0fc2" + integrity sha512-it1vE95zF6dTT9lBsYbxvqh0Soy4SPowchj0UBGj/V6cTPnXXtQOPUbhZ6CmGzAD/rW22LQK6E96pcdJXk4A4w== + dependencies: + boolbase "^1.0.0" -has-flag@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-3.0.0.tgz#b5d454dc2199ae225699f3467e5a07f3b955bafd" +null-check@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/null-check/-/null-check-1.0.0.tgz#977dffd7176012b9ec30d2a39db5cf72a0439edd" -has-unicode@^2.0.0: - version "2.0.1" - resolved "https://registry.yarnpkg.com/has-unicode/-/has-unicode-2.0.1.tgz#e0e6fe6a28cf51138855e086d1691e771de2a8b9" +num2fraction@^1.2.2: + version "1.2.2" + resolved "https://registry.yarnpkg.com/num2fraction/-/num2fraction-1.2.2.tgz#6f682b6a027a4e9ddfa4564cd2589d1d4e669ede" + integrity sha1-b2gragJ6Tp3fpFZM0lidHU5mnt4= -hasha@^2.2.0: +number-is-nan@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/number-is-nan/-/number-is-nan-1.0.1.tgz#097b602b53422a522c1afb8790318336941a011d" + +nwsapi@^2.2.0: version "2.2.0" - resolved "https://registry.yarnpkg.com/hasha/-/hasha-2.2.0.tgz#78d7cbfc1e6d66303fe79837365984517b2f6ee1" - dependencies: - is-stream "^1.0.1" - pinkie-promise "^2.0.0" + resolved "https://registry.yarnpkg.com/nwsapi/-/nwsapi-2.2.0.tgz#204879a9e3d068ff2a55139c2c772780681a38b7" + integrity sha512-h2AatdwYH+JHiZpv7pt/gSX1XoRGb7L/qSIeuqA6GwYoF9w1vP1cw42TO0aI2pNyshRK5893hNSl+1//vHK7hQ== -hawk@3.1.3, hawk@~3.1.3: - version "3.1.3" - resolved "https://registry.yarnpkg.com/hawk/-/hawk-3.1.3.tgz#078444bd7c1640b0fe540d2c9b73d59678e8e1c4" - dependencies: - boom "2.x.x" - cryptiles "2.x.x" - hoek "2.x.x" - sntp "1.x.x" +oauth-sign@~0.8.1, oauth-sign@~0.8.2: + version "0.8.2" + resolved "https://registry.yarnpkg.com/oauth-sign/-/oauth-sign-0.8.2.tgz#46a6ab7f0aead8deae9ec0565780b7d4efeb9d43" -hawk@~6.0.2: - version "6.0.2" - resolved "https://registry.yarnpkg.com/hawk/-/hawk-6.0.2.tgz#af4d914eb065f9b5ce4d9d11c1cb2126eecc3038" - dependencies: - boom "4.x.x" - cryptiles "3.x.x" - hoek "4.x.x" - sntp "2.x.x" +oauth-sign@~0.9.0: + version "0.9.0" + resolved "https://registry.yarnpkg.com/oauth-sign/-/oauth-sign-0.9.0.tgz#47a7b016baa68b5fa0ecf3dee08a85c679ac6455" + integrity sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ== -hoek@2.x.x: - version "2.16.3" - resolved "https://registry.yarnpkg.com/hoek/-/hoek-2.16.3.tgz#20bb7403d3cea398e91dc4710a8ff1b8274a25ed" +object-assign@4.1.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/object-assign/-/object-assign-4.1.0.tgz#7a3b3d0e98063d43f4c03f2e8ae6cd51a86883a0" -hoek@4.x.x: - version "4.2.1" - resolved "https://registry.yarnpkg.com/hoek/-/hoek-4.2.1.tgz#9634502aa12c445dd5a7c5734b572bb8738aacbb" +object-assign@4.x, object-assign@^4.0.1, object-assign@^4.1.0, object-assign@^4.1.1: + version "4.1.1" + resolved "https://registry.yarnpkg.com/object-assign/-/object-assign-4.1.1.tgz#2109adc7965887cfc05cbbd442cac8bfbb360863" -hooker@~0.2.3: - version "0.2.3" - resolved "https://registry.yarnpkg.com/hooker/-/hooker-0.2.3.tgz#b834f723cc4a242aa65963459df6d984c5d3d959" +object-component@0.0.3: + version "0.0.3" + resolved "https://registry.yarnpkg.com/object-component/-/object-component-0.0.3.tgz#f0c69aa50efc95b866c186f400a33769cb2f1291" -hosted-git-info@^2.1.4: - version "2.6.0" - resolved "https://registry.yarnpkg.com/hosted-git-info/-/hosted-git-info-2.6.0.tgz#23235b29ab230c576aab0d4f13fc046b0b038222" +object-copy@^0.1.0: + version "0.1.0" + resolved "https://registry.yarnpkg.com/object-copy/-/object-copy-0.1.0.tgz#7e7d858b781bd7c991a41ba975ed3812754e998c" + integrity sha1-fn2Fi3gb18mRpBupde04EnVOmYw= + dependencies: + copy-descriptor "^0.1.0" + define-property "^0.2.5" + kind-of "^3.0.3" -http-errors@1.6.2, http-errors@~1.6.2: - version "1.6.2" - resolved "https://registry.yarnpkg.com/http-errors/-/http-errors-1.6.2.tgz#0a002cc85707192a7e7946ceedc11155f60ec736" +object-inspect@^1.12.0, object-inspect@^1.9.0: + version "1.12.0" + resolved "https://registry.yarnpkg.com/object-inspect/-/object-inspect-1.12.0.tgz#6e2c120e868fd1fd18cb4f18c31741d0d6e776f0" + integrity sha512-Ho2z80bVIvJloH+YzRmpZVQe87+qASmBUKZDWgx9cu+KDrX2ZDH/3tMy+gXbZETVGs2M8YdxObOh7XAtim9Y0g== + +object-keys@^1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/object-keys/-/object-keys-1.1.1.tgz#1c47f272df277f3b1daf061677d9c82e2322c60e" + integrity sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA== + +object-visit@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/object-visit/-/object-visit-1.0.1.tgz#f79c4493af0c5377b59fe39d395e41042dd045bb" + integrity sha1-95xEk68MU3e1n+OdOV5BBC3QRbs= dependencies: - depd "1.1.1" - inherits "2.0.3" - setprototypeof "1.0.3" - statuses ">= 1.3.1 < 2" + isobject "^3.0.0" -http-errors@~1.3.1: - version "1.3.1" - resolved "https://registry.yarnpkg.com/http-errors/-/http-errors-1.3.1.tgz#197e22cdebd4198585e8694ef6786197b91ed942" +object.assign@^4.1.0, object.assign@^4.1.2: + version "4.1.2" + resolved "https://registry.yarnpkg.com/object.assign/-/object.assign-4.1.2.tgz#0ed54a342eceb37b38ff76eb831a0e788cb63940" + integrity sha512-ixT2L5THXsApyiUPYKmW+2EHpXXe5Ii3M+f4e+aJFAHao5amFRW6J0OO6c/LU8Be47utCx2GL89hxGB6XSmKuQ== dependencies: - inherits "~2.0.1" - statuses "1" + call-bind "^1.0.0" + define-properties "^1.1.3" + has-symbols "^1.0.1" + object-keys "^1.1.1" -http-parser-js@>=0.4.0: - version "0.4.11" - resolved "https://registry.yarnpkg.com/http-parser-js/-/http-parser-js-0.4.11.tgz#5b720849c650903c27e521633d94696ee95f3529" +object.entries@^1.1.5: + version "1.1.5" + resolved "https://registry.yarnpkg.com/object.entries/-/object.entries-1.1.5.tgz#e1acdd17c4de2cd96d5a08487cfb9db84d881861" + integrity sha512-TyxmjUoZggd4OrrU1W66FMDG6CuqJxsFvymeyXI51+vQLN67zYfZseptRge703kKQdo4uccgAKebXFcRCzk4+g== + dependencies: + call-bind "^1.0.2" + define-properties "^1.1.3" + es-abstract "^1.19.1" -http-proxy@^1.13.0: - version "1.16.2" - resolved "https://registry.yarnpkg.com/http-proxy/-/http-proxy-1.16.2.tgz#06dff292952bf64dbe8471fa9df73066d4f37742" +object.fromentries@^2.0.5: + version "2.0.5" + resolved "https://registry.yarnpkg.com/object.fromentries/-/object.fromentries-2.0.5.tgz#7b37b205109c21e741e605727fe8b0ad5fa08251" + integrity sha512-CAyG5mWQRRiBU57Re4FKoTBjXfDoNwdFVH2Y1tS9PqCsfUTymAohOkEMSG3aRNKmv4lV3O7p1et7c187q6bynw== dependencies: - eventemitter3 "1.x.x" - requires-port "1.x.x" + call-bind "^1.0.2" + define-properties "^1.1.3" + es-abstract "^1.19.1" -http-signature@~1.1.0: - version "1.1.1" - resolved "https://registry.yarnpkg.com/http-signature/-/http-signature-1.1.1.tgz#df72e267066cd0ac67fb76adf8e134a8fbcf91bf" +object.getownpropertydescriptors@^2.0.3, object.getownpropertydescriptors@^2.1.1: + version "2.1.3" + resolved "https://registry.yarnpkg.com/object.getownpropertydescriptors/-/object.getownpropertydescriptors-2.1.3.tgz#b223cf38e17fefb97a63c10c91df72ccb386df9e" + integrity sha512-VdDoCwvJI4QdC6ndjpqFmoL3/+HxffFBbcJzKi5hwLLqqx3mdbedRpfZDdK0SrOSauj8X4GzBvnDZl4vTN7dOw== dependencies: - assert-plus "^0.2.0" - jsprim "^1.2.2" - sshpk "^1.7.0" + call-bind "^1.0.2" + define-properties "^1.1.3" + es-abstract "^1.19.1" -http-signature@~1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/http-signature/-/http-signature-1.2.0.tgz#9aecd925114772f3d95b65a60abb8f7c18fbace1" +object.hasown@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/object.hasown/-/object.hasown-1.1.0.tgz#7232ed266f34d197d15cac5880232f7a4790afe5" + integrity sha512-MhjYRfj3GBlhSkDHo6QmvgjRLXQ2zndabdf3nX0yTyZK9rPfxb6uRpAac8HXNLy1GpqWtZ81Qh4v3uOls2sRAg== dependencies: - assert-plus "^1.0.0" - jsprim "^1.2.2" - sshpk "^1.7.0" + define-properties "^1.1.3" + es-abstract "^1.19.1" -husky@^0.14.3: - version "0.14.3" - resolved "https://registry.yarnpkg.com/husky/-/husky-0.14.3.tgz#c69ed74e2d2779769a17ba8399b54ce0b63c12c3" +object.omit@^2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/object.omit/-/object.omit-2.0.1.tgz#1a9c744829f39dbb858c76ca3579ae2a54ebd1fa" dependencies: - is-ci "^1.0.10" - normalize-path "^1.0.0" - strip-indent "^2.0.0" + for-own "^0.1.4" + is-extendable "^0.1.1" -iconv-lite@0.4.13: - version "0.4.13" - resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.4.13.tgz#1f88aba4ab0b1508e8312acc39345f36e992e2f2" +object.pick@^1.3.0: + version "1.3.0" + resolved "https://registry.yarnpkg.com/object.pick/-/object.pick-1.3.0.tgz#87a10ac4c1694bd2e1cbf53591a66141fb5dd747" + integrity sha1-h6EKxMFpS9Lhy/U1kaZhQftd10c= + dependencies: + isobject "^3.0.1" -iconv-lite@0.4.19, iconv-lite@~0.4.13: - version "0.4.19" - resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.4.19.tgz#f7468f60135f5e5dad3399c0a81be9a1603a082b" +object.values@^1.1.5: + version "1.1.5" + resolved "https://registry.yarnpkg.com/object.values/-/object.values-1.1.5.tgz#959f63e3ce9ef108720333082131e4a459b716ac" + integrity sha512-QUZRW0ilQ3PnPpbNtgdNV1PDbEqLIiSFB3l+EnGtBQ/8SUTLj1PZwtQHABZtLgwpJZTSZhuGLOGk57Drx2IvYg== + dependencies: + call-bind "^1.0.2" + define-properties "^1.1.3" + es-abstract "^1.19.1" -ignore@^3.3.7: - version "3.3.7" - resolved "https://registry.yarnpkg.com/ignore/-/ignore-3.3.7.tgz#612289bfb3c220e186a58118618d5be8c1bab021" +ol-mapbox-style@^7.1.1: + version "7.1.1" + resolved "https://registry.yarnpkg.com/ol-mapbox-style/-/ol-mapbox-style-7.1.1.tgz#cf33c39badd943c25fc438c689bf678f9aa847a2" + integrity sha512-GLTEYiH/Ec9Zn1eS4S/zXyR2sierVrUc+OLVP8Ra0FRyqRhoYbXdko0b7OIeSHWdtJfHssWYefDOGxfTRUUZ/A== + dependencies: + "@mapbox/mapbox-gl-style-spec" "^13.20.1" + mapbox-to-css-font "^2.4.1" + webfont-matcher "^1.1.0" -indent-string@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/indent-string/-/indent-string-2.1.0.tgz#8e2d48348742121b4a8218b7a137e9a52049dc80" +ol@6.14.1: + version "6.14.1" + resolved "https://registry.yarnpkg.com/ol/-/ol-6.14.1.tgz#8061bdcf7cd67a665fc8e76545442a702cbc7282" + integrity sha512-sIcUWkGud3Y2gT3TJubSHlkyMXiPVh1yxfCPHxmY8+qtm79bB9oRnei9xHVIbRRG0Ro6Ldp5E+BMVSvYCxSpaA== dependencies: - repeating "^2.0.0" + geotiff "^2.0.2" + ol-mapbox-style "^7.1.1" + pbf "3.2.1" + rbush "^3.0.1" -indexof@0.0.1: - version "0.0.1" - resolved "https://registry.yarnpkg.com/indexof/-/indexof-0.0.1.tgz#82dc336d232b9062179d05ab3293a66059fd435d" +on-finished@~2.3.0: + version "2.3.0" + resolved "https://registry.yarnpkg.com/on-finished/-/on-finished-2.3.0.tgz#20f1336481b083cd75337992a16971aa2d906947" + dependencies: + ee-first "1.1.1" -inflight@^1.0.4: - version "1.0.6" - resolved "https://registry.yarnpkg.com/inflight/-/inflight-1.0.6.tgz#49bd6331d7d02d0c09bc910a1075ba8165b56df9" +once@^1.3.0, once@^1.3.1, once@^1.3.3, once@^1.4.0: + version "1.4.0" + resolved "https://registry.yarnpkg.com/once/-/once-1.4.0.tgz#583b1aa775961d4b113ac17d9c50baef9dd76bd1" dependencies: - once "^1.3.0" wrappy "1" -inherits@2, inherits@2.0.3, inherits@^2.0.1, inherits@^2.0.3, inherits@~2.0.0, inherits@~2.0.1, inherits@~2.0.3: - version "2.0.3" - resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.3.tgz#633c2c83e3da42a502f52466022480f4208261de" - -ini@~1.3.0: - version "1.3.5" - resolved "https://registry.yarnpkg.com/ini/-/ini-1.3.5.tgz#eee25f56db1c9ec6085e0c22778083f596abf927" +onetime@^5.1.0, onetime@^5.1.2: + version "5.1.2" + resolved "https://registry.yarnpkg.com/onetime/-/onetime-5.1.2.tgz#d0e96ebb56b07476df1dd9c4806e5237985ca45e" + integrity sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg== + dependencies: + mimic-fn "^2.1.0" -is-arrayish@^0.2.1: - version "0.2.1" - resolved "https://registry.yarnpkg.com/is-arrayish/-/is-arrayish-0.2.1.tgz#77c99840527aa8ecb1a8ba697b80645a7a926a9d" +open@^8.4.0: + version "8.4.0" + resolved "https://registry.yarnpkg.com/open/-/open-8.4.0.tgz#345321ae18f8138f82565a910fdc6b39e8c244f8" + integrity sha512-XgFPPM+B28FtCCgSb9I+s9szOC1vZRSwgWsRUA5ylIxRTgKozqjOCrVOqGsYABPYK5qnfqClxZTFBa8PKt2v6Q== + dependencies: + define-lazy-prop "^2.0.0" + is-docker "^2.1.1" + is-wsl "^2.2.0" -is-binary-path@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/is-binary-path/-/is-binary-path-1.0.1.tgz#75f16642b480f187a711c814161fd3a4a7655898" +optimist@^0.6.1: + version "0.6.1" + resolved "https://registry.yarnpkg.com/optimist/-/optimist-0.6.1.tgz#da3ea74686fa21a19a111c326e90eb15a0196686" dependencies: - binary-extensions "^1.0.0" + minimist "~0.0.1" + wordwrap "~0.0.2" -is-buffer@^1.1.5: - version "1.1.6" - resolved "https://registry.yarnpkg.com/is-buffer/-/is-buffer-1.1.6.tgz#efaa2ea9daa0d7ab2ea13a97b2b8ad51fefbe8be" +optimize-css-assets-webpack-plugin@6.0.1: + version "6.0.1" + resolved "https://registry.yarnpkg.com/optimize-css-assets-webpack-plugin/-/optimize-css-assets-webpack-plugin-6.0.1.tgz#7719bceabba1f3891ec3ae04efb81a1cc99cd793" + integrity sha512-BshV2UZPfggZLdUfN3zFBbG4sl/DynUI+YCB6fRRDWaqO2OiWN8GPcp4Y0/fEV6B3k9Hzyk3czve3V/8B/SzKQ== + dependencies: + cssnano "^5.0.2" + last-call-webpack-plugin "^3.0.0" + postcss "^8.2.1" + +optionator@^0.8.1: + version "0.8.3" + resolved "https://registry.yarnpkg.com/optionator/-/optionator-0.8.3.tgz#84fa1d036fe9d3c7e21d99884b601167ec8fb495" + integrity sha512-+IW9pACdk3XWmmTXG8m3upGUJst5XRGzxMRjXzAuJ1XnIFNvfhjjIuYkDvysnPQ7qzqVzLt78BCruntqRhWQbA== + dependencies: + deep-is "~0.1.3" + fast-levenshtein "~2.0.6" + levn "~0.3.0" + prelude-ls "~1.1.2" + type-check "~0.3.2" + word-wrap "~1.2.3" + +optionator@^0.9.1: + version "0.9.1" + resolved "https://registry.yarnpkg.com/optionator/-/optionator-0.9.1.tgz#4f236a6373dae0566a6d43e1326674f50c291499" + integrity sha512-74RlY5FCnhq4jRxVUPKDaRwrVNXMqsGsiW6AJw4XK8hmtm10wC0ypZBLw5IIp85NZMr91+qd1RvvENwg7jjRFw== + dependencies: + deep-is "^0.1.3" + fast-levenshtein "^2.0.6" + levn "^0.4.1" + prelude-ls "^1.2.1" + type-check "^0.4.0" + word-wrap "^1.2.3" -is-builtin-module@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/is-builtin-module/-/is-builtin-module-1.0.0.tgz#540572d34f7ac3119f8f76c30cbc1b1e037affbe" - dependencies: - builtin-modules "^1.0.0" +options@>=0.0.5: + version "0.0.6" + resolved "https://registry.yarnpkg.com/options/-/options-0.0.6.tgz#ec22d312806bb53e731773e7cdaefcf1c643128f" -is-ci@^1.0.10: - version "1.1.0" - resolved "https://registry.yarnpkg.com/is-ci/-/is-ci-1.1.0.tgz#247e4162e7860cebbdaf30b774d6b0ac7dcfe7a5" - dependencies: - ci-info "^1.0.0" +ora@^4.0.3: + version "4.1.1" + resolved "https://registry.yarnpkg.com/ora/-/ora-4.1.1.tgz#566cc0348a15c36f5f0e979612842e02ba9dddbc" + integrity sha512-sjYP8QyVWBpBZWD6Vr1M/KwknSw6kJOz41tvGMlwWeClHBtYKTbHMki1PsLZnxKpXMPbTKv9b3pjQu3REib96A== + dependencies: + chalk "^3.0.0" + cli-cursor "^3.1.0" + cli-spinners "^2.2.0" + is-interactive "^1.0.0" + log-symbols "^3.0.0" + mute-stream "0.0.8" + strip-ansi "^6.0.0" + wcwidth "^1.0.1" + +ora@^5.4.1: + version "5.4.1" + resolved "https://registry.yarnpkg.com/ora/-/ora-5.4.1.tgz#1b2678426af4ac4a509008e5e4ac9e9959db9e18" + integrity sha512-5b6Y85tPxZZ7QytO+BQzysW31HJku27cRIlkbAXaNx+BdcVi+LlRFmVXzeF6a7JCwJpyw5c4b+YSVImQIrBpuQ== + dependencies: + bl "^4.1.0" + chalk "^4.1.0" + cli-cursor "^3.1.0" + cli-spinners "^2.5.0" + is-interactive "^1.0.0" + is-unicode-supported "^0.1.0" + log-symbols "^4.1.0" + strip-ansi "^6.0.0" + wcwidth "^1.0.1" + +os-browserify@^0.3.0: + version "0.3.0" + resolved "https://registry.yarnpkg.com/os-browserify/-/os-browserify-0.3.0.tgz#854373c7f5c2315914fc9bfc6bd8238fdda1ec27" + integrity sha1-hUNzx/XCMVkU/Jv8a9gjj92h7Cc= -is-dotfile@^1.0.0: - version "1.0.3" - resolved "https://registry.yarnpkg.com/is-dotfile/-/is-dotfile-1.0.3.tgz#a6a2f32ffd2dfb04f5ca25ecd0f6b83cf798a1e1" +os-homedir@^1.0.0: + version "1.0.2" + resolved "https://registry.yarnpkg.com/os-homedir/-/os-homedir-1.0.2.tgz#ffbc4988336e0e833de0c168c7ef152121aa7fb3" + +os-tmpdir@^1.0.0, os-tmpdir@~1.0.1, os-tmpdir@~1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/os-tmpdir/-/os-tmpdir-1.0.2.tgz#bbe67406c79aa85c5cfec766fe5734555dfa1274" -is-equal-shallow@^0.1.3: - version "0.1.3" - resolved "https://registry.yarnpkg.com/is-equal-shallow/-/is-equal-shallow-0.1.3.tgz#2238098fc221de0bcfa5d9eac4c45d638aa1c534" +osenv@^0.1.4: + version "0.1.5" + resolved "https://registry.yarnpkg.com/osenv/-/osenv-0.1.5.tgz#85cdfafaeb28e8677f416e287592b5f3f49ea410" dependencies: - is-primitive "^2.0.0" + os-homedir "^1.0.0" + os-tmpdir "^1.0.0" -is-extendable@^0.1.1: - version "0.1.1" - resolved "https://registry.yarnpkg.com/is-extendable/-/is-extendable-0.1.1.tgz#62b110e289a471418e3ec36a617d472e301dfc89" +p-each-series@^2.1.0: + version "2.2.0" + resolved "https://registry.yarnpkg.com/p-each-series/-/p-each-series-2.2.0.tgz#105ab0357ce72b202a8a8b94933672657b5e2a9a" + integrity sha512-ycIL2+1V32th+8scbpTvyHNaHe02z0sjgh91XXjAk+ZeXoPN4Z46DVUnzdso0aX4KckKw0FNNFHdjZ2UsZvxiA== -is-extglob@^1.0.0: +p-finally@^1.0.0: version "1.0.0" - resolved "https://registry.yarnpkg.com/is-extglob/-/is-extglob-1.0.0.tgz#ac468177c4943405a092fc8f29760c6ffc6206c0" + resolved "https://registry.yarnpkg.com/p-finally/-/p-finally-1.0.0.tgz#3fbcfb15b899a44123b34b6dcc18b724336a2cae" -is-finite@^1.0.0: - version "1.0.2" - resolved "https://registry.yarnpkg.com/is-finite/-/is-finite-1.0.2.tgz#cc6677695602be550ef11e8b4aa6305342b6d0aa" +p-limit@^1.1.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-1.2.0.tgz#0e92b6bedcb59f022c13d0f1949dc82d15909f1c" dependencies: - number-is-nan "^1.0.0" + p-try "^1.0.0" -is-fullwidth-code-point@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz#ef9e31386f031a7f0d643af82fde50c457ef00cb" +p-limit@^2.0.0, p-limit@^2.2.0, p-limit@^2.2.1, p-limit@^2.3.0: + version "2.3.0" + resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-2.3.0.tgz#3dd33c647a214fdfffd835933eb086da0dc21db1" + integrity sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w== dependencies: - number-is-nan "^1.0.0" + p-try "^2.0.0" -is-glob@^2.0.0, is-glob@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-2.0.1.tgz#d096f926a3ded5600f3fdfd91198cb0888c2d863" +p-limit@^3.0.2: + version "3.1.0" + resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-3.1.0.tgz#e1daccbe78d0d1388ca18c64fea38e3e57e3706b" + integrity sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ== dependencies: - is-extglob "^1.0.0" - -is-number@^0.1.1: - version "0.1.1" - resolved "https://registry.yarnpkg.com/is-number/-/is-number-0.1.1.tgz#69a7af116963d47206ec9bd9b48a14216f1e3806" + yocto-queue "^0.1.0" -is-number@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/is-number/-/is-number-2.1.0.tgz#01fcbbb393463a548f2f466cce16dece49db908f" +p-locate@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-2.0.0.tgz#20a0103b222a70c8fd39cc2e580680f3dde5ec43" dependencies: - kind-of "^3.0.2" + p-limit "^1.1.0" -is-number@^3.0.0: +p-locate@^3.0.0: version "3.0.0" - resolved "https://registry.yarnpkg.com/is-number/-/is-number-3.0.0.tgz#24fd6201a4782cf50561c810276afc7d12d71195" + resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-3.0.0.tgz#322d69a05c0264b25997d9f40cd8a891ab0064a4" + integrity sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ== dependencies: - kind-of "^3.0.2" + p-limit "^2.0.0" -is-posix-bracket@^0.1.0: - version "0.1.1" - resolved "https://registry.yarnpkg.com/is-posix-bracket/-/is-posix-bracket-0.1.1.tgz#3334dc79774368e92f016e6fbc0a88f5cd6e6bc4" +p-locate@^4.1.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-4.1.0.tgz#a3428bb7088b3a60292f66919278b7c297ad4f07" + integrity sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A== + dependencies: + p-limit "^2.2.0" -is-primitive@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/is-primitive/-/is-primitive-2.0.0.tgz#207bab91638499c07b2adf240a41a87210034575" +p-locate@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-5.0.0.tgz#83c8315c6785005e3bd021839411c9e110e6d834" + integrity sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw== + dependencies: + p-limit "^3.0.2" -is-stream@^1.0.1, is-stream@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/is-stream/-/is-stream-1.1.0.tgz#12d4a3dd4e68e0b79ceb8dbc84173ae80d91ca44" +p-map@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/p-map/-/p-map-3.0.0.tgz#d704d9af8a2ba684e2600d9a215983d4141a979d" + integrity sha512-d3qXVTF/s+W+CdJ5A29wywV2n8CQQYahlgz2bFiA+4eVNJbHJodPZ+/gXwPGh0bOqA+j8S+6+ckmvLGPk1QpxQ== + dependencies: + aggregate-error "^3.0.0" -is-typedarray@~1.0.0: +p-try@^1.0.0: version "1.0.0" - resolved "https://registry.yarnpkg.com/is-typedarray/-/is-typedarray-1.0.0.tgz#e479c80858df0c1b11ddda6940f96011fcda4a9a" - -is-utf8@^0.2.0: - version "0.2.1" - resolved "https://registry.yarnpkg.com/is-utf8/-/is-utf8-0.2.1.tgz#4b0da1442104d1b336340e80797e865cf39f7d72" + resolved "https://registry.yarnpkg.com/p-try/-/p-try-1.0.0.tgz#cbc79cdbaf8fd4228e13f621f2b1a237c1b207b3" -isarray@0.0.1: - version "0.0.1" - resolved "https://registry.yarnpkg.com/isarray/-/isarray-0.0.1.tgz#8a18acfca9a8f4177e09abfc6038939b05d1eedf" +p-try@^2.0.0: + version "2.2.0" + resolved "https://registry.yarnpkg.com/p-try/-/p-try-2.2.0.tgz#cb2868540e313d61de58fafbe35ce9004d5540e6" + integrity sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ== -isarray@1.0.0, isarray@~1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/isarray/-/isarray-1.0.0.tgz#bb935d48582cba168c06834957a54a3e07124f11" +pako@^2.0.4: + version "2.0.4" + resolved "https://registry.yarnpkg.com/pako/-/pako-2.0.4.tgz#6cebc4bbb0b6c73b0d5b8d7e8476e2b2fbea576d" + integrity sha512-v8tweI900AUkZN6heMU/4Uy4cXRc2AYNRggVmTR+dEncawDJgCdLMximOVA2p4qO57WMynangsfGRb5WD6L1Bg== -isbinaryfile@^3.0.0: - version "3.0.2" - resolved "https://registry.yarnpkg.com/isbinaryfile/-/isbinaryfile-3.0.2.tgz#4a3e974ec0cba9004d3fc6cde7209ea69368a621" +pako@~1.0.5: + version "1.0.11" + resolved "https://registry.yarnpkg.com/pako/-/pako-1.0.11.tgz#6c9599d340d54dfd3946380252a35705a6b992bf" + integrity sha512-4hLB8Py4zZce5s4yd9XzopqwVv/yGNhV1Bl8NTmCq1763HeK2+EwVTv+leGeL13Dnh2wfbqowVPXCIO0z4taYw== -isexe@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/isexe/-/isexe-2.0.0.tgz#e8fbf374dc556ff8947a10dcb0572d633f2cfa10" +papaparse@5.3.2: + version "5.3.2" + resolved "https://registry.yarnpkg.com/papaparse/-/papaparse-5.3.2.tgz#d1abed498a0ee299f103130a6109720404fbd467" + integrity sha512-6dNZu0Ki+gyV0eBsFKJhYr+MdQYAzFUGlBMNj3GNrmHxmz1lfRa24CjFObPXtjcetlOv5Ad299MhIK0znp3afw== -isobject@^2.0.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/isobject/-/isobject-2.1.0.tgz#f065561096a3f1da2ef46272f815c840d87e0c89" +parallel-transform@^1.1.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/parallel-transform/-/parallel-transform-1.2.0.tgz#9049ca37d6cb2182c3b1d2c720be94d14a5814fc" + integrity sha512-P2vSmIu38uIlvdcU7fDkyrxj33gTUy/ABO5ZUbGowxNCopBq/OoD42bP4UmMrJoPyk4Uqf0mu3mtWBhHCZD8yg== dependencies: - isarray "1.0.0" - -isstream@0.1.x, isstream@~0.1.2: - version "0.1.2" - resolved "https://registry.yarnpkg.com/isstream/-/isstream-0.1.2.tgz#47e63f7af55afa6f92e1500e690eb8b8529c099a" - -js-yaml@0.3.x: - version "0.3.7" - resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-0.3.7.tgz#d739d8ee86461e54b354d6a7d7d1f2ad9a167f62" + cyclist "^1.0.1" + inherits "^2.0.3" + readable-stream "^2.1.5" -js-yaml@~3.5.2: - version "3.5.5" - resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-3.5.5.tgz#0377c38017cabc7322b0d1fbcd25a491641f2fbe" +param-case@2.1.x: + version "2.1.1" + resolved "https://registry.yarnpkg.com/param-case/-/param-case-2.1.1.tgz#df94fd8cf6531ecf75e6bef9a0858fbc72be2247" + integrity sha1-35T9jPZTHs915r75oIWPvHK+Ikc= dependencies: - argparse "^1.0.2" - esprima "^2.6.0" - -jsbn@~0.1.0: - version "0.1.1" - resolved "https://registry.yarnpkg.com/jsbn/-/jsbn-0.1.1.tgz#a5e654c2e5a2deb5f201d96cefbca80c0ef2f513" - -jsmin@1.x: - version "1.0.1" - resolved "https://registry.yarnpkg.com/jsmin/-/jsmin-1.0.1.tgz#e7bd0dcd6496c3bf4863235bf461a3d98aa3b98c" - -json-schema-traverse@^0.3.0: - version "0.3.1" - resolved "https://registry.yarnpkg.com/json-schema-traverse/-/json-schema-traverse-0.3.1.tgz#349a6d44c53a51de89b40805c5d5e59b417d3340" - -json-schema@0.2.3: - version "0.2.3" - resolved "https://registry.yarnpkg.com/json-schema/-/json-schema-0.2.3.tgz#b480c892e59a2f05954ce727bd3f2a4e882f9e13" + no-case "^2.2.0" -json-stable-stringify@^1.0.1: +parent-module@^1.0.0: version "1.0.1" - resolved "https://registry.yarnpkg.com/json-stable-stringify/-/json-stable-stringify-1.0.1.tgz#9a759d39c5f2ff503fd5300646ed445f88c4f9af" + resolved "https://registry.yarnpkg.com/parent-module/-/parent-module-1.0.1.tgz#691d2709e78c79fae3a156622452d00762caaaa2" + integrity sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g== dependencies: - jsonify "~0.0.0" - -json-stringify-safe@~5.0.1: - version "5.0.1" - resolved "https://registry.yarnpkg.com/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz#1296a2d58fd45f19a0f6ce01d65701e2c735b6eb" + callsites "^3.0.0" -json3@3.3.2: - version "3.3.2" - resolved "https://registry.yarnpkg.com/json3/-/json3-3.3.2.tgz#3c0434743df93e2f5c42aee7b19bcb483575f4e1" +parse-asn1@^5.0.0, parse-asn1@^5.1.5: + version "5.1.6" + resolved "https://registry.yarnpkg.com/parse-asn1/-/parse-asn1-5.1.6.tgz#385080a3ec13cb62a62d39409cb3e88844cdaed4" + integrity sha512-RnZRo1EPU6JBnra2vGHj0yhp6ebyjBZpmUCLHWiFhxlzvBCCpAuZ7elsBp1PVAbQN0/04VD/19rfzlBSwLstMw== + dependencies: + asn1.js "^5.2.0" + browserify-aes "^1.0.0" + evp_bytestokey "^1.0.0" + pbkdf2 "^3.0.3" + safe-buffer "^5.1.1" -jsonfile@^2.1.0: - version "2.4.0" - resolved "https://registry.yarnpkg.com/jsonfile/-/jsonfile-2.4.0.tgz#3736a2b428b87bbda0cc83b53fa3d633a35c2ae8" - optionalDependencies: - graceful-fs "^4.1.6" +parse-glob@^3.0.4: + version "3.0.4" + resolved "https://registry.yarnpkg.com/parse-glob/-/parse-glob-3.0.4.tgz#b2c376cfb11f35513badd173ef0bb6e3a388391c" + dependencies: + glob-base "^0.3.0" + is-dotfile "^1.0.0" + is-extglob "^1.0.0" + is-glob "^2.0.0" -jsonify@~0.0.0: - version "0.0.0" - resolved "https://registry.yarnpkg.com/jsonify/-/jsonify-0.0.0.tgz#2c74b6ee41d93ca51b7b5aaee8f503631d252a73" +parse-headers@^2.0.2: + version "2.0.5" + resolved "https://registry.yarnpkg.com/parse-headers/-/parse-headers-2.0.5.tgz#069793f9356a54008571eb7f9761153e6c770da9" + integrity sha512-ft3iAoLOB/MlwbNXgzy43SWGP6sQki2jQvAyBg/zDFAgr9bfNWZIUj42Kw2eJIl8kEi4PbgE6U1Zau/HwI75HA== -jsprim@^1.2.2: - version "1.4.1" - resolved "https://registry.yarnpkg.com/jsprim/-/jsprim-1.4.1.tgz#313e66bc1e5cc06e438bc1b7499c2e5c56acb6a2" +parse-json@^2.2.0: + version "2.2.0" + resolved "https://registry.yarnpkg.com/parse-json/-/parse-json-2.2.0.tgz#f480f40434ef80741f8469099f8dea18f55a4dc9" dependencies: - assert-plus "1.0.0" - extsprintf "1.3.0" - json-schema "0.2.3" - verror "1.10.0" - -just-extend@^1.1.27: - version "1.1.27" - resolved "https://registry.yarnpkg.com/just-extend/-/just-extend-1.1.27.tgz#ec6e79410ff914e472652abfa0e603c03d60e905" + error-ex "^1.2.0" -jxLoader@*: - version "0.1.1" - resolved "https://registry.yarnpkg.com/jxLoader/-/jxLoader-0.1.1.tgz#0134ea5144e533b594fc1ff25ff194e235c53ecd" +parse-json@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/parse-json/-/parse-json-4.0.0.tgz#be35f5425be1f7f6c747184f98a788cb99477ee0" + integrity sha1-vjX1Qlvh9/bHRxhPmKeIy5lHfuA= dependencies: - js-yaml "0.3.x" - moo-server "1.3.x" - promised-io "*" - walker "1.x" + error-ex "^1.3.1" + json-parse-better-errors "^1.0.1" -karma-chrome-launcher@^2.2.0: - version "2.2.0" - resolved "https://registry.yarnpkg.com/karma-chrome-launcher/-/karma-chrome-launcher-2.2.0.tgz#cf1b9d07136cc18fe239327d24654c3dbc368acf" +parse-json@^5.0.0: + version "5.2.0" + resolved "https://registry.yarnpkg.com/parse-json/-/parse-json-5.2.0.tgz#c76fc66dee54231c962b22bcc8a72cf2f99753cd" + integrity sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg== dependencies: - fs-access "^1.0.0" - which "^1.2.1" + "@babel/code-frame" "^7.0.0" + error-ex "^1.3.1" + json-parse-even-better-errors "^2.3.0" + lines-and-columns "^1.1.6" -karma-expect@^1.1.3: - version "1.1.3" - resolved "https://registry.yarnpkg.com/karma-expect/-/karma-expect-1.1.3.tgz#c6b0a56ff18903db11af4f098cc6e7cf198ce275" +parse5@5.1.0: + version "5.1.0" + resolved "https://registry.yarnpkg.com/parse5/-/parse5-5.1.0.tgz#c59341c9723f414c452975564c7c00a68d58acd2" + integrity sha512-fxNG2sQjHvlVAYmzBZS9YlDp6PTSSDwa98vkD4QgVDDCAo84z5X1t5XyJQ62ImdLXx5NdIIfihey6xpum9/gRQ== + +parse5@6.0.1: + version "6.0.1" + resolved "https://registry.yarnpkg.com/parse5/-/parse5-6.0.1.tgz#e1a1c085c569b3dc08321184f19a39cc27f7c30b" + integrity sha512-Ofn/CTFzRGTTxwpNEs9PP93gXShHcTq255nzRYSKe8AkVpZY7e1fpmTfOyoIvjP5HG7Z2ZM7VS9PPhQGW2pOpw== + +parsejson@0.0.3: + version "0.0.3" + resolved "https://registry.yarnpkg.com/parsejson/-/parsejson-0.0.3.tgz#ab7e3759f209ece99437973f7d0f1f64ae0e64ab" dependencies: - expect.js "^0.3.1" + better-assert "~1.0.0" -karma-mocha@^1.3.0: - version "1.3.0" - resolved "https://registry.yarnpkg.com/karma-mocha/-/karma-mocha-1.3.0.tgz#eeaac7ffc0e201eb63c467440d2b69c7cf3778bf" +parseqs@0.0.5: + version "0.0.5" + resolved "https://registry.yarnpkg.com/parseqs/-/parseqs-0.0.5.tgz#d5208a3738e46766e291ba2ea173684921a8b89d" dependencies: - minimist "1.2.0" + better-assert "~1.0.0" -karma-phantomjs-launcher@^1.0.4: - version "1.0.4" - resolved "https://registry.yarnpkg.com/karma-phantomjs-launcher/-/karma-phantomjs-launcher-1.0.4.tgz#d23ca34801bda9863ad318e3bb4bd4062b13acd2" +parseuri@0.0.5: + version "0.0.5" + resolved "https://registry.yarnpkg.com/parseuri/-/parseuri-0.0.5.tgz#80204a50d4dbb779bfdc6ebe2778d90e4bce320a" dependencies: - lodash "^4.0.1" - phantomjs-prebuilt "^2.1.7" + better-assert "~1.0.0" -karma-sinon@^1.0.5: - version "1.0.5" - resolved "https://registry.yarnpkg.com/karma-sinon/-/karma-sinon-1.0.5.tgz#4e3443f2830fdecff624d3747163f1217daa2a9a" +parseurl@~1.3.0, parseurl@~1.3.2: + version "1.3.2" + resolved "https://registry.yarnpkg.com/parseurl/-/parseurl-1.3.2.tgz#fc289d4ed8993119460c156253262cdc8de65bf3" -karma-systemjs@^0.16.0: - version "0.16.0" - resolved "https://registry.yarnpkg.com/karma-systemjs/-/karma-systemjs-0.16.0.tgz#fe2c81fafa649bc8fd0eec8cc5b6bd7515c1f15d" - dependencies: - lodash "^4.16.2" - minimatch "^3.0.0" +pascalcase@^0.1.1: + version "0.1.1" + resolved "https://registry.yarnpkg.com/pascalcase/-/pascalcase-0.1.1.tgz#b363e55e8006ca6fe21784d2db22bd15d7917f14" + integrity sha1-s2PlXoAGym/iF4TS2yK9FdeRfxQ= -karma@^1.7.0: - version "1.7.1" - resolved "https://registry.yarnpkg.com/karma/-/karma-1.7.1.tgz#85cc08e9e0a22d7ce9cca37c4a1be824f6a2b1ae" - dependencies: - bluebird "^3.3.0" - body-parser "^1.16.1" - chokidar "^1.4.1" - colors "^1.1.0" - combine-lists "^1.0.0" - connect "^3.6.0" - core-js "^2.2.0" - di "^0.0.1" - dom-serialize "^2.2.0" - expand-braces "^0.1.1" - glob "^7.1.1" - graceful-fs "^4.1.2" - http-proxy "^1.13.0" - isbinaryfile "^3.0.0" - lodash "^3.8.0" - log4js "^0.6.31" - mime "^1.3.4" - minimatch "^3.0.2" - optimist "^0.6.1" - qjobs "^1.1.4" - range-parser "^1.2.0" - rimraf "^2.6.0" - safe-buffer "^5.0.1" - socket.io "1.7.3" - source-map "^0.5.3" - tmp "0.0.31" - useragent "^2.1.12" +path-browserify@0.0.1: + version "0.0.1" + resolved "https://registry.yarnpkg.com/path-browserify/-/path-browserify-0.0.1.tgz#e6c4ddd7ed3aa27c68a20cc4e50e1a4ee83bbc4a" + integrity sha512-BapA40NHICOS+USX9SN4tyhq+A2RrN/Ws5F0Z5aMHDp98Fl86lX8Oti8B7uN93L4Ifv4fHOEA+pQw87gmMO/lQ== -kew@^0.7.0: - version "0.7.0" - resolved "https://registry.yarnpkg.com/kew/-/kew-0.7.0.tgz#79d93d2d33363d6fdd2970b335d9141ad591d79b" +path-dirname@^1.0.0: + version "1.0.2" + resolved "https://registry.yarnpkg.com/path-dirname/-/path-dirname-1.0.2.tgz#cc33d24d525e099a5388c0336c6e32b9160609e0" + integrity sha1-zDPSTVJeCZpTiMAzbG4yuRYGCeA= -kind-of@^3.0.2: - version "3.2.2" - resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-3.2.2.tgz#31ea21a734bab9bbb0f32466d893aea51e4a3c64" +path-exists@^2.0.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-2.1.0.tgz#0feb6c64f0fc518d9a754dd5efb62c7022761f4b" dependencies: - is-buffer "^1.1.5" + pinkie-promise "^2.0.0" -kind-of@^4.0.0: +path-exists@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-3.0.0.tgz#ce0ebeaa5f78cb18925ea7d810d7b59b010fd515" + +path-exists@^4.0.0: version "4.0.0" - resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-4.0.0.tgz#20813df3d712928b207378691a45066fae72dd57" - dependencies: - is-buffer "^1.1.5" + resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-4.0.0.tgz#513bdbe2d3b95d7762e8c1137efa195c6c61b5b3" + integrity sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w== -klaw@^1.0.0: - version "1.3.1" - resolved "https://registry.yarnpkg.com/klaw/-/klaw-1.3.1.tgz#4088433b46b3b1ba259d78785d8e96f73ba02439" - optionalDependencies: - graceful-fs "^4.1.9" +path-is-absolute@^1.0.0, path-is-absolute@~1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/path-is-absolute/-/path-is-absolute-1.0.1.tgz#174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f" -livereload-js@^2.2.0: - version "2.3.0" - resolved "https://registry.yarnpkg.com/livereload-js/-/livereload-js-2.3.0.tgz#c3ab22e8aaf5bf3505d80d098cbad67726548c9a" +path-key@^2.0.0, path-key@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/path-key/-/path-key-2.0.1.tgz#411cadb574c5a140d3a4b1910d40d80cc9f40b40" -load-grunt-tasks@^3.5.2: - version "3.5.2" - resolved "https://registry.yarnpkg.com/load-grunt-tasks/-/load-grunt-tasks-3.5.2.tgz#0728561180fd20ff8a6927505852fc58aaea0c88" +path-key@^3.0.0, path-key@^3.1.0: + version "3.1.1" + resolved "https://registry.yarnpkg.com/path-key/-/path-key-3.1.1.tgz#581f6ade658cbba65a0d3380de7753295054f375" + integrity sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q== + +path-parse@^1.0.6, path-parse@^1.0.7: + version "1.0.7" + resolved "https://registry.yarnpkg.com/path-parse/-/path-parse-1.0.7.tgz#fbc114b60ca42b30d9daf5858e4bd68bbedb6735" + integrity sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw== + +path-to-regexp@^1.7.0: + version "1.7.0" + resolved "https://registry.yarnpkg.com/path-to-regexp/-/path-to-regexp-1.7.0.tgz#59fde0f435badacba103a84e9d3bc64e96b9937d" dependencies: - arrify "^1.0.0" - multimatch "^2.0.0" - pkg-up "^1.0.0" - resolve-pkg "^0.1.0" + isarray "0.0.1" -load-json-file@^1.0.0: +path-type@^1.0.0: version "1.1.0" - resolved "https://registry.yarnpkg.com/load-json-file/-/load-json-file-1.1.0.tgz#956905708d58b4bab4c2261b04f59f31c99374c0" + resolved "https://registry.yarnpkg.com/path-type/-/path-type-1.1.0.tgz#59c44f7ee491da704da415da5a4070ba4f8fe441" dependencies: graceful-fs "^4.1.2" - parse-json "^2.2.0" pify "^2.0.0" pinkie-promise "^2.0.0" - strip-bom "^2.0.0" -locate-path@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-2.0.0.tgz#2b568b265eec944c6d9c0de9c3dbbbca0354cd8e" +path-type@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/path-type/-/path-type-3.0.0.tgz#cef31dc8e0a1a3bb0d105c0cd97cf3bf47f4e36f" + integrity sha512-T2ZUsdZFHgA3u4e5PfPbjd7HDDpxPnQb5jN0SrDsjNSuVXHJqtwTnWqG0B1jZrgmJ/7lj1EmVIByWt1gxGkWvg== dependencies: - p-locate "^2.0.0" - path-exists "^3.0.0" + pify "^3.0.0" -lodash.get@^4.4.2: - version "4.4.2" - resolved "https://registry.yarnpkg.com/lodash.get/-/lodash.get-4.4.2.tgz#2d177f652fa31e939b4438d5341499dfa3825e99" +path-type@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/path-type/-/path-type-4.0.0.tgz#84ed01c0a7ba380afe09d90a8c180dcd9d03043b" + integrity sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw== -lodash@^3.10.1, lodash@^3.8.0: - version "3.10.1" - resolved "https://registry.yarnpkg.com/lodash/-/lodash-3.10.1.tgz#5bf45e8e49ba4189e17d482789dfd15bd140b7b6" +pbf@3.2.1: + version "3.2.1" + resolved "https://registry.yarnpkg.com/pbf/-/pbf-3.2.1.tgz#b4c1b9e72af966cd82c6531691115cc0409ffe2a" + integrity sha512-ClrV7pNOn7rtmoQVF4TS1vyU0WhYRnP92fzbfF75jAIwpnzdJXf8iTd4CMEqO4yUenH6NDqLiwjqlh6QgZzgLQ== + dependencies: + ieee754 "^1.1.12" + resolve-protobuf-schema "^2.1.0" -lodash@^4.0.1, lodash@^4.14.0, lodash@^4.16.2, lodash@^4.17.4, lodash@^4.5.0, lodash@~4.17.4, lodash@~4.17.5: - version "4.17.5" - resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.5.tgz#99a92d65c0272debe8c96b6057bc8fbfa3bed511" +pbkdf2@^3.0.3: + version "3.1.2" + resolved "https://registry.yarnpkg.com/pbkdf2/-/pbkdf2-3.1.2.tgz#dd822aa0887580e52f1a039dc3eda108efae3075" + integrity sha512-iuh7L6jA7JEGu2WxDwtQP1ddOpaJNC4KlDEFfdQajSGgGPNi4OyDc2R7QnbY2bR9QjBVGwgvTdNJZoE7RaxUMA== + dependencies: + create-hash "^1.1.2" + create-hmac "^1.1.4" + ripemd160 "^2.0.1" + safe-buffer "^5.0.1" + sha.js "^2.4.8" -lodash@~4.3.0: - version "4.3.0" - resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.3.0.tgz#efd9c4a6ec53f3b05412429915c3e4824e4d25a4" +pend@~1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/pend/-/pend-1.2.0.tgz#7a57eb550a6783f9115331fcf4663d5c8e007a50" -log4js@^0.6.31: - version "0.6.38" - resolved "https://registry.yarnpkg.com/log4js/-/log4js-0.6.38.tgz#2c494116695d6fb25480943d3fc872e662a522fd" +performance-now@^0.2.0: + version "0.2.0" + resolved "https://registry.yarnpkg.com/performance-now/-/performance-now-0.2.0.tgz#33ef30c5c77d4ea21c5a53869d91b56d8f2555e5" + +performance-now@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/performance-now/-/performance-now-2.1.0.tgz#6309f4e0e5fa913ec1c69307ae364b4b377c9e7b" + +phantomjs-prebuilt@^2.1.7: + version "2.1.16" + resolved "https://registry.yarnpkg.com/phantomjs-prebuilt/-/phantomjs-prebuilt-2.1.16.tgz#efd212a4a3966d3647684ea8ba788549be2aefef" dependencies: - readable-stream "~1.0.2" - semver "~4.3.3" + es6-promise "^4.0.3" + extract-zip "^1.6.5" + fs-extra "^1.0.0" + hasha "^2.2.0" + kew "^0.7.0" + progress "^1.1.8" + request "^2.81.0" + request-progress "^2.0.1" + which "^1.2.10" -lolex@^2.1.2, lolex@^2.3.2: - version "2.3.2" - resolved "https://registry.yarnpkg.com/lolex/-/lolex-2.3.2.tgz#85f9450425103bf9e7a60668ea25dc43274ca807" +picocolors@^0.2.1: + version "0.2.1" + resolved "https://registry.yarnpkg.com/picocolors/-/picocolors-0.2.1.tgz#570670f793646851d1ba135996962abad587859f" + integrity sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA== -loud-rejection@^1.0.0: - version "1.6.0" - resolved "https://registry.yarnpkg.com/loud-rejection/-/loud-rejection-1.6.0.tgz#5b46f80147edee578870f086d04821cf998e551f" +picocolors@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/picocolors/-/picocolors-1.0.0.tgz#cb5bdc74ff3f51892236eaf79d68bc44564ab81c" + integrity sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ== + +picomatch@^2.0.4, picomatch@^2.2.1, picomatch@^2.3.1: + version "2.3.1" + resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-2.3.1.tgz#3ba3833733646d9d3e4995946c1365a67fb07a42" + integrity sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA== + +pify@^2.0.0: + version "2.3.0" + resolved "https://registry.yarnpkg.com/pify/-/pify-2.3.0.tgz#ed141a6ac043a849ea588498e7dca8b15330e90c" + +pify@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/pify/-/pify-3.0.0.tgz#e5a4acd2c101fdf3d9a4d07f0dbc4db49dd28176" + integrity sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY= + +pify@^4.0.1: + version "4.0.1" + resolved "https://registry.yarnpkg.com/pify/-/pify-4.0.1.tgz#4b2cd25c50d598735c50292224fd8c6df41e3231" + integrity sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g== + +pinkie-promise@^2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/pinkie-promise/-/pinkie-promise-2.0.1.tgz#2135d6dfa7a358c069ac9b178776288228450ffa" dependencies: - currently-unhandled "^0.4.1" - signal-exit "^3.0.0" + pinkie "^2.0.0" -lru-cache@4.1.x, lru-cache@^4.0.1: - version "4.1.2" - resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-4.1.2.tgz#45234b2e6e2f2b33da125624c4664929a0224c3f" +pinkie@^2.0.0: + version "2.0.4" + resolved "https://registry.yarnpkg.com/pinkie/-/pinkie-2.0.4.tgz#72556b80cfa0d48a974e80e77248e80ed4f7f870" + +pirates@^4.0.1: + version "4.0.5" + resolved "https://registry.yarnpkg.com/pirates/-/pirates-4.0.5.tgz#feec352ea5c3268fb23a37c702ab1699f35a5f3b" + integrity sha512-8V9+HQPupnaXMA23c5hvl69zXvTwTzyAYasnkb0Tts4XvO4CliqONMOnvlq26rkhLC3nWDFBJf73LU1e1VZLaQ== + +pixelmatch@^5.1.0: + version "5.3.0" + resolved "https://registry.yarnpkg.com/pixelmatch/-/pixelmatch-5.3.0.tgz#5e5321a7abedfb7962d60dbf345deda87cb9560a" + integrity sha512-o8mkY4E/+LNUf6LzX96ht6k6CEDi65k9G2rjMtBe9Oo+VPKSvl+0GKHuH/AlG+GA5LPG/i5hrekkxUc3s2HU+Q== dependencies: - pseudomap "^1.0.2" - yallist "^2.1.2" + pngjs "^6.0.0" -makeerror@1.0.x: - version "1.0.11" - resolved "https://registry.yarnpkg.com/makeerror/-/makeerror-1.0.11.tgz#e01a5c9109f2af79660e4e8b9587790184f5a96c" +pkg-dir@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/pkg-dir/-/pkg-dir-3.0.0.tgz#2749020f239ed990881b1f71210d51eb6523bea3" + integrity sha512-/E57AYkoeQ25qkxMj5PBOVgF8Kiu/h7cYS30Z5+R7WaiCCBfLq58ZI/dSeaEKb9WVJV5n/03QwrN3IeWIFllvw== dependencies: - tmpl "1.0.x" + find-up "^3.0.0" -map-obj@^1.0.0, map-obj@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/map-obj/-/map-obj-1.0.1.tgz#d933ceb9205d82bdcf4886f6742bdc2b4dea146d" +pkg-dir@^4.1.0, pkg-dir@^4.2.0: + version "4.2.0" + resolved "https://registry.yarnpkg.com/pkg-dir/-/pkg-dir-4.2.0.tgz#f099133df7ede422e81d1d8448270eeb3e4261f3" + integrity sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ== + dependencies: + find-up "^4.0.0" -media-typer@0.3.0: - version "0.3.0" - resolved "https://registry.yarnpkg.com/media-typer/-/media-typer-0.3.0.tgz#8710d7af0aa626f8fffa1ce00168545263255748" +pkg-up@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/pkg-up/-/pkg-up-1.0.0.tgz#3e08fb461525c4421624a33b9f7e6d0af5b05a26" + dependencies: + find-up "^1.0.0" -meow@^3.3.0: - version "3.7.0" - resolved "https://registry.yarnpkg.com/meow/-/meow-3.7.0.tgz#72cb668b425228290abbfa856892587308a801fb" +pkg-up@^3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/pkg-up/-/pkg-up-3.1.0.tgz#100ec235cc150e4fd42519412596a28512a0def5" + integrity sha512-nDywThFk1i4BQK4twPQ6TA4RT8bDY96yeuCVBWL3ePARCiEKDRSrNGbFIgUJpLp+XeIR65v8ra7WuJOFUBtkMA== dependencies: - camelcase-keys "^2.0.0" - decamelize "^1.1.2" - loud-rejection "^1.0.0" - map-obj "^1.0.1" - minimist "^1.1.3" - normalize-package-data "^2.3.4" - object-assign "^4.0.1" - read-pkg-up "^1.0.1" - redent "^1.0.0" - trim-newlines "^1.0.0" + find-up "^3.0.0" -micromatch@^2.1.5: - version "2.3.11" - resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-2.3.11.tgz#86677c97d1720b363431d04d0d15293bd38c1565" +plugin-typescript@^7.1.0: + version "7.1.1" + resolved "https://registry.yarnpkg.com/plugin-typescript/-/plugin-typescript-7.1.1.tgz#e3ff0d6edb6ff3a10b94e2cde3fc31c692c0adac" + +pn@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/pn/-/pn-1.1.0.tgz#e2f4cef0e219f463c179ab37463e4e1ecdccbafb" + integrity sha512-2qHaIQr2VLRFoxe2nASzsV6ef4yOOH+Fi9FBOVH6cqeSgUnoyySPZkxzLuzd+RYOQTRpROA0ztTMqxROKSb/nA== + +pngjs@^6.0.0: + version "6.0.0" + resolved "https://registry.yarnpkg.com/pngjs/-/pngjs-6.0.0.tgz#ca9e5d2aa48db0228a52c419c3308e87720da821" + integrity sha512-TRzzuFRRmEoSW/p1KVAmiOgPco2Irlah+bGFCeNfJXxxYGwSw7YwAOAcd7X28K/m5bjBWKsC29KyoMfHbypayg== + +posix-character-classes@^0.1.0: + version "0.1.1" + resolved "https://registry.yarnpkg.com/posix-character-classes/-/posix-character-classes-0.1.1.tgz#01eac0fe3b5af71a2a6c02feabb8c1fef7e00eab" + integrity sha1-AerA/jta9xoqbAL+q7jB/vfgDqs= + +postcss-attribute-case-insensitive@^4.0.1: + version "4.0.2" + resolved "https://registry.yarnpkg.com/postcss-attribute-case-insensitive/-/postcss-attribute-case-insensitive-4.0.2.tgz#d93e46b504589e94ac7277b0463226c68041a880" + integrity sha512-clkFxk/9pcdb4Vkn0hAHq3YnxBQ2p0CGD1dy24jN+reBck+EWxMbxSUqN4Yj7t0w8csl87K6p0gxBe1utkJsYA== dependencies: - arr-diff "^2.0.0" - array-unique "^0.2.1" - braces "^1.8.2" - expand-brackets "^0.1.4" - extglob "^0.3.1" - filename-regex "^2.0.0" - is-extglob "^1.0.0" - is-glob "^2.0.1" - kind-of "^3.0.2" - normalize-path "^2.0.1" - object.omit "^2.0.0" - parse-glob "^3.0.4" - regex-cache "^0.4.2" + postcss "^7.0.2" + postcss-selector-parser "^6.0.2" -mime-db@~1.33.0: - version "1.33.0" - resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.33.0.tgz#a3492050a5cb9b63450541e39d9788d2272783db" +postcss-calc@^8.2.3: + version "8.2.4" + resolved "https://registry.yarnpkg.com/postcss-calc/-/postcss-calc-8.2.4.tgz#77b9c29bfcbe8a07ff6693dc87050828889739a5" + integrity sha512-SmWMSJmB8MRnnULldx0lQIyhSNvuDl9HfrZkaqqE/WHAhToYsAvDq+yAsA/kIyINDszOp3Rh0GFoNuH5Ypsm3Q== + dependencies: + postcss-selector-parser "^6.0.9" + postcss-value-parser "^4.2.0" -mime-types@^2.1.12, mime-types@~2.1.11, mime-types@~2.1.17, mime-types@~2.1.18, mime-types@~2.1.7: - version "2.1.18" - resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.18.tgz#6f323f60a83d11146f831ff11fd66e2fe5503bb8" +postcss-color-functional-notation@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/postcss-color-functional-notation/-/postcss-color-functional-notation-2.0.1.tgz#5efd37a88fbabeb00a2966d1e53d98ced93f74e0" + integrity sha512-ZBARCypjEDofW4P6IdPVTLhDNXPRn8T2s1zHbZidW6rPaaZvcnCS2soYFIQJrMZSxiePJ2XIYTlcb2ztr/eT2g== dependencies: - mime-db "~1.33.0" + postcss "^7.0.2" + postcss-values-parser "^2.0.0" -mime@^1.3.4: - version "1.6.0" - resolved "https://registry.yarnpkg.com/mime/-/mime-1.6.0.tgz#32cd9e5c64553bd58d19a568af452acff04981b1" +postcss-color-gray@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/postcss-color-gray/-/postcss-color-gray-5.0.0.tgz#532a31eb909f8da898ceffe296fdc1f864be8547" + integrity sha512-q6BuRnAGKM/ZRpfDascZlIZPjvwsRye7UDNalqVz3s7GDxMtqPY6+Q871liNxsonUw8oC61OG+PSaysYpl1bnw== + dependencies: + "@csstools/convert-colors" "^1.4.0" + postcss "^7.0.5" + postcss-values-parser "^2.0.0" -"minimatch@2 || 3", minimatch@^3.0.0, minimatch@^3.0.2, minimatch@^3.0.4, minimatch@~3.0.2: - version "3.0.4" - resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.0.4.tgz#5166e286457f03306064be5497e8dbb0c3d32083" +postcss-color-hex-alpha@^5.0.3: + version "5.0.3" + resolved "https://registry.yarnpkg.com/postcss-color-hex-alpha/-/postcss-color-hex-alpha-5.0.3.tgz#a8d9ca4c39d497c9661e374b9c51899ef0f87388" + integrity sha512-PF4GDel8q3kkreVXKLAGNpHKilXsZ6xuu+mOQMHWHLPNyjiUBOr75sp5ZKJfmv1MCus5/DWUGcK9hm6qHEnXYw== dependencies: - brace-expansion "^1.1.7" + postcss "^7.0.14" + postcss-values-parser "^2.0.1" -minimist@0.0.8: - version "0.0.8" - resolved "https://registry.yarnpkg.com/minimist/-/minimist-0.0.8.tgz#857fcabfc3397d2625b8228262e86aa7a011b05d" +postcss-color-mod-function@^3.0.3: + version "3.0.3" + resolved "https://registry.yarnpkg.com/postcss-color-mod-function/-/postcss-color-mod-function-3.0.3.tgz#816ba145ac11cc3cb6baa905a75a49f903e4d31d" + integrity sha512-YP4VG+xufxaVtzV6ZmhEtc+/aTXH3d0JLpnYfxqTvwZPbJhWqp8bSY3nfNzNRFLgB4XSaBA82OE4VjOOKpCdVQ== + dependencies: + "@csstools/convert-colors" "^1.4.0" + postcss "^7.0.2" + postcss-values-parser "^2.0.0" -minimist@1.2.0, minimist@^1.1.3, minimist@^1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.0.tgz#a35008b20f41383eec1fb914f4cd5df79a264284" +postcss-color-rebeccapurple@^4.0.1: + version "4.0.1" + resolved "https://registry.yarnpkg.com/postcss-color-rebeccapurple/-/postcss-color-rebeccapurple-4.0.1.tgz#c7a89be872bb74e45b1e3022bfe5748823e6de77" + integrity sha512-aAe3OhkS6qJXBbqzvZth2Au4V3KieR5sRQ4ptb2b2O8wgvB3SJBsdG+jsn2BZbbwekDG8nTfcCNKcSfe/lEy8g== + dependencies: + postcss "^7.0.2" + postcss-values-parser "^2.0.0" -minimist@~0.0.1: - version "0.0.10" - resolved "https://registry.yarnpkg.com/minimist/-/minimist-0.0.10.tgz#de3f98543dbf96082be48ad1a0c7cda836301dcf" +postcss-colormin@^5.3.0: + version "5.3.0" + resolved "https://registry.yarnpkg.com/postcss-colormin/-/postcss-colormin-5.3.0.tgz#3cee9e5ca62b2c27e84fce63affc0cfb5901956a" + integrity sha512-WdDO4gOFG2Z8n4P8TWBpshnL3JpmNmJwdnfP2gbk2qBA8PWwOYcmjmI/t3CmMeL72a7Hkd+x/Mg9O2/0rD54Pg== + dependencies: + browserslist "^4.16.6" + caniuse-api "^3.0.0" + colord "^2.9.1" + postcss-value-parser "^4.2.0" -mkdirp@0.5.0: - version "0.5.0" - resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-0.5.0.tgz#1d73076a6df986cd9344e15e71fcc05a4c9abf12" +postcss-convert-values@^5.1.0: + version "5.1.0" + resolved "https://registry.yarnpkg.com/postcss-convert-values/-/postcss-convert-values-5.1.0.tgz#f8d3abe40b4ce4b1470702a0706343eac17e7c10" + integrity sha512-GkyPbZEYJiWtQB0KZ0X6qusqFHUepguBCNFi9t5JJc7I2OTXG7C0twbTLvCfaKOLl3rSXmpAwV7W5txd91V84g== dependencies: - minimist "0.0.8" + postcss-value-parser "^4.2.0" -"mkdirp@>=0.5 0", mkdirp@^0.5.1: - version "0.5.1" - resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-0.5.1.tgz#30057438eac6cf7f8c4767f38648d6697d75c903" +postcss-custom-media@^7.0.8: + version "7.0.8" + resolved "https://registry.yarnpkg.com/postcss-custom-media/-/postcss-custom-media-7.0.8.tgz#fffd13ffeffad73621be5f387076a28b00294e0c" + integrity sha512-c9s5iX0Ge15o00HKbuRuTqNndsJUbaXdiNsksnVH8H4gdc+zbLzr/UasOwNG6CTDpLFekVY4672eWdiiWu2GUg== dependencies: - minimist "0.0.8" + postcss "^7.0.14" -moment@^2.18.1: - version "2.21.0" - resolved "https://registry.yarnpkg.com/moment/-/moment-2.21.0.tgz#2a114b51d2a6ec9e6d83cf803f838a878d8a023a" +postcss-custom-properties@^8.0.11: + version "8.0.11" + resolved "https://registry.yarnpkg.com/postcss-custom-properties/-/postcss-custom-properties-8.0.11.tgz#2d61772d6e92f22f5e0d52602df8fae46fa30d97" + integrity sha512-nm+o0eLdYqdnJ5abAJeXp4CEU1c1k+eB2yMCvhgzsds/e0umabFrN6HoTy/8Q4K5ilxERdl/JD1LO5ANoYBeMA== + dependencies: + postcss "^7.0.17" + postcss-values-parser "^2.0.1" -moo-server@*, moo-server@1.3.x: - version "1.3.0" - resolved "https://registry.yarnpkg.com/moo-server/-/moo-server-1.3.0.tgz#5dc79569565a10d6efed5439491e69d2392e58f1" +postcss-custom-selectors@^5.1.2: + version "5.1.2" + resolved "https://registry.yarnpkg.com/postcss-custom-selectors/-/postcss-custom-selectors-5.1.2.tgz#64858c6eb2ecff2fb41d0b28c9dd7b3db4de7fba" + integrity sha512-DSGDhqinCqXqlS4R7KGxL1OSycd1lydugJ1ky4iRXPHdBRiozyMHrdu0H3o7qNOCiZwySZTUI5MV0T8QhCLu+w== + dependencies: + postcss "^7.0.2" + postcss-selector-parser "^5.0.0-rc.3" -mri@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/mri/-/mri-1.1.0.tgz#5c0a3f29c8ccffbbb1ec941dcec09d71fa32f36a" +postcss-dir-pseudo-class@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/postcss-dir-pseudo-class/-/postcss-dir-pseudo-class-5.0.0.tgz#6e3a4177d0edb3abcc85fdb6fbb1c26dabaeaba2" + integrity sha512-3pm4oq8HYWMZePJY+5ANriPs3P07q+LW6FAdTlkFH2XqDdP4HeeJYMOzn0HYLhRSjBO3fhiqSwwU9xEULSrPgw== + dependencies: + postcss "^7.0.2" + postcss-selector-parser "^5.0.0-rc.3" -ms@0.7.1: - version "0.7.1" - resolved "https://registry.yarnpkg.com/ms/-/ms-0.7.1.tgz#9cd13c03adbff25b65effde7ce864ee952017098" +postcss-discard-comments@^5.1.1: + version "5.1.1" + resolved "https://registry.yarnpkg.com/postcss-discard-comments/-/postcss-discard-comments-5.1.1.tgz#e90019e1a0e5b99de05f63516ce640bd0df3d369" + integrity sha512-5JscyFmvkUxz/5/+TB3QTTT9Gi9jHkcn8dcmmuN68JQcv3aQg4y88yEHHhwFB52l/NkaJ43O0dbksGMAo49nfQ== -ms@0.7.2: - version "0.7.2" - resolved "https://registry.yarnpkg.com/ms/-/ms-0.7.2.tgz#ae25cf2512b3885a1d95d7f037868d8431124765" +postcss-discard-duplicates@^5.1.0: + version "5.1.0" + resolved "https://registry.yarnpkg.com/postcss-discard-duplicates/-/postcss-discard-duplicates-5.1.0.tgz#9eb4fe8456706a4eebd6d3b7b777d07bad03e848" + integrity sha512-zmX3IoSI2aoenxHV6C7plngHWWhUOV3sP1T8y2ifzxzbtnuhk1EdPwm0S1bIUNaJ2eNbWeGLEwzw8huPD67aQw== -ms@2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/ms/-/ms-2.0.0.tgz#5608aeadfc00be6c2901df5f9861788de0d597c8" +postcss-discard-empty@^5.1.1: + version "5.1.1" + resolved "https://registry.yarnpkg.com/postcss-discard-empty/-/postcss-discard-empty-5.1.1.tgz#e57762343ff7f503fe53fca553d18d7f0c369c6c" + integrity sha512-zPz4WljiSuLWsI0ir4Mcnr4qQQ5e1Ukc3i7UfE2XcrwKK2LIPIqE5jxMRxO6GbI3cv//ztXDsXwEWT3BHOGh3A== + +postcss-discard-overridden@^5.1.0: + version "5.1.0" + resolved "https://registry.yarnpkg.com/postcss-discard-overridden/-/postcss-discard-overridden-5.1.0.tgz#7e8c5b53325747e9d90131bb88635282fb4a276e" + integrity sha512-21nOL7RqWR1kasIVdKs8HNqQJhFxLsyRfAnUDm4Fe4t4mCWL9OJiHvlHPjcd8zc5Myu89b/7wZDnOSjFgeWRtw== -multimatch@^2.0.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/multimatch/-/multimatch-2.1.0.tgz#9c7906a22fb4c02919e2f5f75161b4cdbd4b2a2b" +postcss-double-position-gradients@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/postcss-double-position-gradients/-/postcss-double-position-gradients-1.0.0.tgz#fc927d52fddc896cb3a2812ebc5df147e110522e" + integrity sha512-G+nV8EnQq25fOI8CH/B6krEohGWnF5+3A6H/+JEpOncu5dCnkS1QQ6+ct3Jkaepw1NGVqqOZH6lqrm244mCftA== dependencies: - array-differ "^1.0.0" - array-union "^1.0.1" - arrify "^1.0.0" - minimatch "^3.0.0" - -nan@^2.3.0: - version "2.9.2" - resolved "https://registry.yarnpkg.com/nan/-/nan-2.9.2.tgz#f564d75f5f8f36a6d9456cca7a6c4fe488ab7866" + postcss "^7.0.5" + postcss-values-parser "^2.0.0" -native-promise-only@^0.8.1: - version "0.8.1" - resolved "https://registry.yarnpkg.com/native-promise-only/-/native-promise-only-0.8.1.tgz#20a318c30cb45f71fe7adfbf7b21c99c1472ef11" +postcss-env-function@^2.0.2: + version "2.0.2" + resolved "https://registry.yarnpkg.com/postcss-env-function/-/postcss-env-function-2.0.2.tgz#0f3e3d3c57f094a92c2baf4b6241f0b0da5365d7" + integrity sha512-rwac4BuZlITeUbiBq60h/xbLzXY43qOsIErngWa4l7Mt+RaSkT7QBjXVGTcBHupykkblHMDrBFh30zchYPaOUw== + dependencies: + postcss "^7.0.2" + postcss-values-parser "^2.0.0" -negotiator@0.6.1: - version "0.6.1" - resolved "https://registry.yarnpkg.com/negotiator/-/negotiator-0.6.1.tgz#2b327184e8992101177b28563fb5e7102acd0ca9" +postcss-flexbugs-fixes@4.2.0: + version "4.2.0" + resolved "https://registry.yarnpkg.com/postcss-flexbugs-fixes/-/postcss-flexbugs-fixes-4.2.0.tgz#662b3dcb6354638b9213a55eed8913bcdc8d004a" + integrity sha512-QRE0n3hpkxxS/OGvzOa+PDuy4mh/Jg4o9ui22/ko5iGYOG3M5dfJabjnAZjTdh2G9F85c7Hv8hWcEDEKW/xceQ== + dependencies: + postcss "^7.0.26" -nise@^1.0.1: - version "1.3.0" - resolved "https://registry.yarnpkg.com/nise/-/nise-1.3.0.tgz#7d6d506e64a0e37959495157f30a799c0436df72" +postcss-focus-visible@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/postcss-focus-visible/-/postcss-focus-visible-4.0.0.tgz#477d107113ade6024b14128317ade2bd1e17046e" + integrity sha512-Z5CkWBw0+idJHSV6+Bgf2peDOFf/x4o+vX/pwcNYrWpXFrSfTkQ3JQ1ojrq9yS+upnAlNRHeg8uEwFTgorjI8g== dependencies: - "@sinonjs/formatio" "^2.0.0" - just-extend "^1.1.27" - lolex "^2.3.2" - path-to-regexp "^1.7.0" - text-encoding "^0.6.4" + postcss "^7.0.2" -node-pre-gyp@^0.6.39: - version "0.6.39" - resolved "https://registry.yarnpkg.com/node-pre-gyp/-/node-pre-gyp-0.6.39.tgz#c00e96860b23c0e1420ac7befc5044e1d78d8649" +postcss-focus-within@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/postcss-focus-within/-/postcss-focus-within-3.0.0.tgz#763b8788596cee9b874c999201cdde80659ef680" + integrity sha512-W0APui8jQeBKbCGZudW37EeMCjDeVxKgiYfIIEo8Bdh5SpB9sxds/Iq8SEuzS0Q4YFOlG7EPFulbbxujpkrV2w== dependencies: - detect-libc "^1.0.2" - hawk "3.1.3" - mkdirp "^0.5.1" - nopt "^4.0.1" - npmlog "^4.0.2" - rc "^1.1.7" - request "2.81.0" - rimraf "^2.6.1" - semver "^5.3.0" - tar "^2.2.1" - tar-pack "^3.4.0" + postcss "^7.0.2" -nopt@^4.0.1: +postcss-font-variant@^4.0.0: version "4.0.1" - resolved "https://registry.yarnpkg.com/nopt/-/nopt-4.0.1.tgz#d0d4685afd5415193c8c7505602d0d17cd64474d" + resolved "https://registry.yarnpkg.com/postcss-font-variant/-/postcss-font-variant-4.0.1.tgz#42d4c0ab30894f60f98b17561eb5c0321f502641" + integrity sha512-I3ADQSTNtLTTd8uxZhtSOrTCQ9G4qUVKPjHiDk0bV75QSxXjVWiJVJ2VLdspGUi9fbW9BcjKJoRvxAH1pckqmA== dependencies: - abbrev "1" - osenv "^0.1.4" + postcss "^7.0.2" -nopt@~3.0.6: - version "3.0.6" - resolved "https://registry.yarnpkg.com/nopt/-/nopt-3.0.6.tgz#c6465dbf08abcd4db359317f79ac68a646b28ff9" +postcss-gap-properties@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/postcss-gap-properties/-/postcss-gap-properties-2.0.0.tgz#431c192ab3ed96a3c3d09f2ff615960f902c1715" + integrity sha512-QZSqDaMgXCHuHTEzMsS2KfVDOq7ZFiknSpkrPJY6jmxbugUPTuSzs/vuE5I3zv0WAS+3vhrlqhijiprnuQfzmg== dependencies: - abbrev "1" + postcss "^7.0.2" -normalize-package-data@^2.3.2, normalize-package-data@^2.3.4: - version "2.4.0" - resolved "https://registry.yarnpkg.com/normalize-package-data/-/normalize-package-data-2.4.0.tgz#12f95a307d58352075a04907b84ac8be98ac012f" +postcss-image-set-function@^3.0.1: + version "3.0.1" + resolved "https://registry.yarnpkg.com/postcss-image-set-function/-/postcss-image-set-function-3.0.1.tgz#28920a2f29945bed4c3198d7df6496d410d3f288" + integrity sha512-oPTcFFip5LZy8Y/whto91L9xdRHCWEMs3e1MdJxhgt4jy2WYXfhkng59fH5qLXSCPN8k4n94p1Czrfe5IOkKUw== dependencies: - hosted-git-info "^2.1.4" - is-builtin-module "^1.0.0" - semver "2 || 3 || 4 || 5" - validate-npm-package-license "^3.0.1" - -normalize-path@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/normalize-path/-/normalize-path-1.0.0.tgz#32d0e472f91ff345701c15a8311018d3b0a90379" + postcss "^7.0.2" + postcss-values-parser "^2.0.0" -normalize-path@^2.0.0, normalize-path@^2.0.1: - version "2.1.1" - resolved "https://registry.yarnpkg.com/normalize-path/-/normalize-path-2.1.1.tgz#1ab28b556e198363a8c1a6f7e6fa20137fe6aed9" +postcss-initial@^3.0.0: + version "3.0.4" + resolved "https://registry.yarnpkg.com/postcss-initial/-/postcss-initial-3.0.4.tgz#9d32069a10531fe2ecafa0b6ac750ee0bc7efc53" + integrity sha512-3RLn6DIpMsK1l5UUy9jxQvoDeUN4gP939tDcKUHD/kM8SGSKbFAnvkpFpj3Bhtz3HGk1jWY5ZNWX6mPta5M9fg== dependencies: - remove-trailing-separator "^1.0.1" + postcss "^7.0.2" -npm-run-path@^2.0.0: - version "2.0.2" - resolved "https://registry.yarnpkg.com/npm-run-path/-/npm-run-path-2.0.2.tgz#35a9232dfa35d7067b4cb2ddf2357b1871536c5f" +postcss-lab-function@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/postcss-lab-function/-/postcss-lab-function-2.0.1.tgz#bb51a6856cd12289ab4ae20db1e3821ef13d7d2e" + integrity sha512-whLy1IeZKY+3fYdqQFuDBf8Auw+qFuVnChWjmxm/UhHWqNHZx+B99EwxTvGYmUBqe3Fjxs4L1BoZTJmPu6usVg== dependencies: - path-key "^2.0.0" + "@csstools/convert-colors" "^1.4.0" + postcss "^7.0.2" + postcss-values-parser "^2.0.0" -npmlog@^4.0.2: - version "4.1.2" - resolved "https://registry.yarnpkg.com/npmlog/-/npmlog-4.1.2.tgz#08a7f2a8bf734604779a9efa4ad5cc717abb954b" +postcss-load-config@^2.0.0: + version "2.1.2" + resolved "https://registry.yarnpkg.com/postcss-load-config/-/postcss-load-config-2.1.2.tgz#c5ea504f2c4aef33c7359a34de3573772ad7502a" + integrity sha512-/rDeGV6vMUo3mwJZmeHfEDvwnTKKqQ0S7OHUi/kJvvtx3aWtyWG2/0ZWnzCt2keEclwN6Tf0DST2v9kITdOKYw== dependencies: - are-we-there-yet "~1.1.2" - console-control-strings "~1.1.0" - gauge "~2.7.3" - set-blocking "~2.0.0" + cosmiconfig "^5.0.0" + import-cwd "^2.0.0" -null-check@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/null-check/-/null-check-1.0.0.tgz#977dffd7176012b9ec30d2a39db5cf72a0439edd" +postcss-loader@3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/postcss-loader/-/postcss-loader-3.0.0.tgz#6b97943e47c72d845fa9e03f273773d4e8dd6c2d" + integrity sha512-cLWoDEY5OwHcAjDnkyRQzAXfs2jrKjXpO/HQFcc5b5u/r7aa471wdmChmwfnv7x2u840iat/wi0lQ5nbRgSkUA== + dependencies: + loader-utils "^1.1.0" + postcss "^7.0.0" + postcss-load-config "^2.0.0" + schema-utils "^1.0.0" -number-is-nan@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/number-is-nan/-/number-is-nan-1.0.1.tgz#097b602b53422a522c1afb8790318336941a011d" +postcss-logical@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/postcss-logical/-/postcss-logical-3.0.0.tgz#2495d0f8b82e9f262725f75f9401b34e7b45d5b5" + integrity sha512-1SUKdJc2vuMOmeItqGuNaC+N8MzBWFWEkAnRnLpFYj1tGGa7NqyVBujfRtgNa2gXR+6RkGUiB2O5Vmh7E2RmiA== + dependencies: + postcss "^7.0.2" -oauth-sign@~0.8.1, oauth-sign@~0.8.2: - version "0.8.2" - resolved "https://registry.yarnpkg.com/oauth-sign/-/oauth-sign-0.8.2.tgz#46a6ab7f0aead8deae9ec0565780b7d4efeb9d43" +postcss-media-minmax@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/postcss-media-minmax/-/postcss-media-minmax-4.0.0.tgz#b75bb6cbc217c8ac49433e12f22048814a4f5ed5" + integrity sha512-fo9moya6qyxsjbFAYl97qKO9gyre3qvbMnkOZeZwlsW6XYFsvs2DMGDlchVLfAd8LHPZDxivu/+qW2SMQeTHBw== + dependencies: + postcss "^7.0.2" -object-assign@4.1.0: - version "4.1.0" - resolved "https://registry.yarnpkg.com/object-assign/-/object-assign-4.1.0.tgz#7a3b3d0e98063d43f4c03f2e8ae6cd51a86883a0" +postcss-merge-longhand@^5.1.4: + version "5.1.4" + resolved "https://registry.yarnpkg.com/postcss-merge-longhand/-/postcss-merge-longhand-5.1.4.tgz#0f46f8753989a33260efc47de9a0cdc571f2ec5c" + integrity sha512-hbqRRqYfmXoGpzYKeW0/NCZhvNyQIlQeWVSao5iKWdyx7skLvCfQFGIUsP9NUs3dSbPac2IC4Go85/zG+7MlmA== + dependencies: + postcss-value-parser "^4.2.0" + stylehacks "^5.1.0" -object-assign@^4.0.1, object-assign@^4.1.0: - version "4.1.1" - resolved "https://registry.yarnpkg.com/object-assign/-/object-assign-4.1.1.tgz#2109adc7965887cfc05cbbd442cac8bfbb360863" +postcss-merge-rules@^5.1.1: + version "5.1.1" + resolved "https://registry.yarnpkg.com/postcss-merge-rules/-/postcss-merge-rules-5.1.1.tgz#d327b221cd07540bcc8d9ff84446d8b404d00162" + integrity sha512-8wv8q2cXjEuCcgpIB1Xx1pIy8/rhMPIQqYKNzEdyx37m6gpq83mQQdCxgIkFgliyEnKvdwJf/C61vN4tQDq4Ww== + dependencies: + browserslist "^4.16.6" + caniuse-api "^3.0.0" + cssnano-utils "^3.1.0" + postcss-selector-parser "^6.0.5" -object-component@0.0.3: - version "0.0.3" - resolved "https://registry.yarnpkg.com/object-component/-/object-component-0.0.3.tgz#f0c69aa50efc95b866c186f400a33769cb2f1291" +postcss-minify-font-values@^5.1.0: + version "5.1.0" + resolved "https://registry.yarnpkg.com/postcss-minify-font-values/-/postcss-minify-font-values-5.1.0.tgz#f1df0014a726083d260d3bd85d7385fb89d1f01b" + integrity sha512-el3mYTgx13ZAPPirSVsHqFzl+BBBDrXvbySvPGFnQcTI4iNslrPaFq4muTkLZmKlGk4gyFAYUBMH30+HurREyA== + dependencies: + postcss-value-parser "^4.2.0" -object.omit@^2.0.0: - version "2.0.1" - resolved "https://registry.yarnpkg.com/object.omit/-/object.omit-2.0.1.tgz#1a9c744829f39dbb858c76ca3579ae2a54ebd1fa" +postcss-minify-gradients@^5.1.1: + version "5.1.1" + resolved "https://registry.yarnpkg.com/postcss-minify-gradients/-/postcss-minify-gradients-5.1.1.tgz#f1fe1b4f498134a5068240c2f25d46fcd236ba2c" + integrity sha512-VGvXMTpCEo4qHTNSa9A0a3D+dxGFZCYwR6Jokk+/3oB6flu2/PnPXAh2x7x52EkY5xlIHLm+Le8tJxe/7TNhzw== dependencies: - for-own "^0.1.4" - is-extendable "^0.1.1" + colord "^2.9.1" + cssnano-utils "^3.1.0" + postcss-value-parser "^4.2.0" -on-finished@~2.3.0: - version "2.3.0" - resolved "https://registry.yarnpkg.com/on-finished/-/on-finished-2.3.0.tgz#20f1336481b083cd75337992a16971aa2d906947" +postcss-minify-params@^5.1.2: + version "5.1.2" + resolved "https://registry.yarnpkg.com/postcss-minify-params/-/postcss-minify-params-5.1.2.tgz#77e250780c64198289c954884ebe3ee4481c3b1c" + integrity sha512-aEP+p71S/urY48HWaRHasyx4WHQJyOYaKpQ6eXl8k0kxg66Wt/30VR6/woh8THgcpRbonJD5IeD+CzNhPi1L8g== dependencies: - ee-first "1.1.1" + browserslist "^4.16.6" + cssnano-utils "^3.1.0" + postcss-value-parser "^4.2.0" -once@^1.3.0, once@^1.3.3: - version "1.4.0" - resolved "https://registry.yarnpkg.com/once/-/once-1.4.0.tgz#583b1aa775961d4b113ac17d9c50baef9dd76bd1" +postcss-minify-selectors@^5.2.0: + version "5.2.0" + resolved "https://registry.yarnpkg.com/postcss-minify-selectors/-/postcss-minify-selectors-5.2.0.tgz#17c2be233e12b28ffa8a421a02fc8b839825536c" + integrity sha512-vYxvHkW+iULstA+ctVNx0VoRAR4THQQRkG77o0oa4/mBS0OzGvvzLIvHDv/nNEM0crzN2WIyFU5X7wZhaUK3RA== dependencies: - wrappy "1" + postcss-selector-parser "^6.0.5" -optimist@^0.6.1: - version "0.6.1" - resolved "https://registry.yarnpkg.com/optimist/-/optimist-0.6.1.tgz#da3ea74686fa21a19a111c326e90eb15a0196686" +postcss-modules-extract-imports@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/postcss-modules-extract-imports/-/postcss-modules-extract-imports-2.0.0.tgz#818719a1ae1da325f9832446b01136eeb493cd7e" + integrity sha512-LaYLDNS4SG8Q5WAWqIJgdHPJrDDr/Lv775rMBFUbgjTz6j34lUznACHcdRWroPvXANP2Vj7yNK57vp9eFqzLWQ== dependencies: - minimist "~0.0.1" - wordwrap "~0.0.2" + postcss "^7.0.5" -options@>=0.0.5: - version "0.0.6" - resolved "https://registry.yarnpkg.com/options/-/options-0.0.6.tgz#ec22d312806bb53e731773e7cdaefcf1c643128f" +postcss-modules-local-by-default@^3.0.2: + version "3.0.3" + resolved "https://registry.yarnpkg.com/postcss-modules-local-by-default/-/postcss-modules-local-by-default-3.0.3.tgz#bb14e0cc78279d504dbdcbfd7e0ca28993ffbbb0" + integrity sha512-e3xDq+LotiGesympRlKNgaJ0PCzoUIdpH0dj47iWAui/kyTgh3CiAr1qP54uodmJhl6p9rN6BoNcdEDVJx9RDw== + dependencies: + icss-utils "^4.1.1" + postcss "^7.0.32" + postcss-selector-parser "^6.0.2" + postcss-value-parser "^4.1.0" -os-homedir@^1.0.0: - version "1.0.2" - resolved "https://registry.yarnpkg.com/os-homedir/-/os-homedir-1.0.2.tgz#ffbc4988336e0e833de0c168c7ef152121aa7fb3" +postcss-modules-scope@^2.1.1: + version "2.2.0" + resolved "https://registry.yarnpkg.com/postcss-modules-scope/-/postcss-modules-scope-2.2.0.tgz#385cae013cc7743f5a7d7602d1073a89eaae62ee" + integrity sha512-YyEgsTMRpNd+HmyC7H/mh3y+MeFWevy7V1evVhJWewmMbjDHIbZbOXICC2y+m1xI1UVfIT1HMW/O04Hxyu9oXQ== + dependencies: + postcss "^7.0.6" + postcss-selector-parser "^6.0.0" -os-tmpdir@^1.0.0, os-tmpdir@~1.0.1, os-tmpdir@~1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/os-tmpdir/-/os-tmpdir-1.0.2.tgz#bbe67406c79aa85c5cfec766fe5734555dfa1274" +postcss-modules-values@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/postcss-modules-values/-/postcss-modules-values-3.0.0.tgz#5b5000d6ebae29b4255301b4a3a54574423e7f10" + integrity sha512-1//E5jCBrZ9DmRX+zCtmQtRSV6PV42Ix7Bzj9GbwJceduuf7IqP8MgeTXuRDHOWj2m0VzZD5+roFWDuU8RQjcg== + dependencies: + icss-utils "^4.0.0" + postcss "^7.0.6" -osenv@^0.1.4: - version "0.1.5" - resolved "https://registry.yarnpkg.com/osenv/-/osenv-0.1.5.tgz#85cdfafaeb28e8677f416e287592b5f3f49ea410" +postcss-nesting@^7.0.0: + version "7.0.1" + resolved "https://registry.yarnpkg.com/postcss-nesting/-/postcss-nesting-7.0.1.tgz#b50ad7b7f0173e5b5e3880c3501344703e04c052" + integrity sha512-FrorPb0H3nuVq0Sff7W2rnc3SmIcruVC6YwpcS+k687VxyxO33iE1amna7wHuRVzM8vfiYofXSBHNAZ3QhLvYg== dependencies: - os-homedir "^1.0.0" - os-tmpdir "^1.0.0" + postcss "^7.0.2" -p-finally@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/p-finally/-/p-finally-1.0.0.tgz#3fbcfb15b899a44123b34b6dcc18b724336a2cae" +postcss-normalize-charset@^5.1.0: + version "5.1.0" + resolved "https://registry.yarnpkg.com/postcss-normalize-charset/-/postcss-normalize-charset-5.1.0.tgz#9302de0b29094b52c259e9b2cf8dc0879879f0ed" + integrity sha512-mSgUJ+pd/ldRGVx26p2wz9dNZ7ji6Pn8VWBajMXFf8jk7vUoSrZ2lt/wZR7DtlZYKesmZI680qjr2CeFF2fbUg== -p-limit@^1.1.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-1.2.0.tgz#0e92b6bedcb59f022c13d0f1949dc82d15909f1c" +postcss-normalize-display-values@^5.1.0: + version "5.1.0" + resolved "https://registry.yarnpkg.com/postcss-normalize-display-values/-/postcss-normalize-display-values-5.1.0.tgz#72abbae58081960e9edd7200fcf21ab8325c3da8" + integrity sha512-WP4KIM4o2dazQXWmFaqMmcvsKmhdINFblgSeRgn8BJ6vxaMyaJkwAzpPpuvSIoG/rmX3M+IrRZEz2H0glrQNEA== dependencies: - p-try "^1.0.0" + postcss-value-parser "^4.2.0" -p-locate@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-2.0.0.tgz#20a0103b222a70c8fd39cc2e580680f3dde5ec43" +postcss-normalize-positions@^5.1.0: + version "5.1.0" + resolved "https://registry.yarnpkg.com/postcss-normalize-positions/-/postcss-normalize-positions-5.1.0.tgz#902a7cb97cf0b9e8b1b654d4a43d451e48966458" + integrity sha512-8gmItgA4H5xiUxgN/3TVvXRoJxkAWLW6f/KKhdsH03atg0cB8ilXnrB5PpSshwVu/dD2ZsRFQcR1OEmSBDAgcQ== dependencies: - p-limit "^1.1.0" + postcss-value-parser "^4.2.0" -p-try@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/p-try/-/p-try-1.0.0.tgz#cbc79cdbaf8fd4228e13f621f2b1a237c1b207b3" +postcss-normalize-repeat-style@^5.1.0: + version "5.1.0" + resolved "https://registry.yarnpkg.com/postcss-normalize-repeat-style/-/postcss-normalize-repeat-style-5.1.0.tgz#f6d6fd5a54f51a741cc84a37f7459e60ef7a6398" + integrity sha512-IR3uBjc+7mcWGL6CtniKNQ4Rr5fTxwkaDHwMBDGGs1x9IVRkYIT/M4NelZWkAOBdV6v3Z9S46zqaKGlyzHSchw== + dependencies: + postcss-value-parser "^4.2.0" -parse-glob@^3.0.4: - version "3.0.4" - resolved "https://registry.yarnpkg.com/parse-glob/-/parse-glob-3.0.4.tgz#b2c376cfb11f35513badd173ef0bb6e3a388391c" +postcss-normalize-string@^5.1.0: + version "5.1.0" + resolved "https://registry.yarnpkg.com/postcss-normalize-string/-/postcss-normalize-string-5.1.0.tgz#411961169e07308c82c1f8c55f3e8a337757e228" + integrity sha512-oYiIJOf4T9T1N4i+abeIc7Vgm/xPCGih4bZz5Nm0/ARVJ7K6xrDlLwvwqOydvyL3RHNf8qZk6vo3aatiw/go3w== dependencies: - glob-base "^0.3.0" - is-dotfile "^1.0.0" - is-extglob "^1.0.0" - is-glob "^2.0.0" + postcss-value-parser "^4.2.0" -parse-json@^2.2.0: - version "2.2.0" - resolved "https://registry.yarnpkg.com/parse-json/-/parse-json-2.2.0.tgz#f480f40434ef80741f8469099f8dea18f55a4dc9" +postcss-normalize-timing-functions@^5.1.0: + version "5.1.0" + resolved "https://registry.yarnpkg.com/postcss-normalize-timing-functions/-/postcss-normalize-timing-functions-5.1.0.tgz#d5614410f8f0b2388e9f240aa6011ba6f52dafbb" + integrity sha512-DOEkzJ4SAXv5xkHl0Wa9cZLF3WCBhF3o1SKVxKQAa+0pYKlueTpCgvkFAHfk+Y64ezX9+nITGrDZeVGgITJXjg== dependencies: - error-ex "^1.2.0" + postcss-value-parser "^4.2.0" -parsejson@0.0.3: - version "0.0.3" - resolved "https://registry.yarnpkg.com/parsejson/-/parsejson-0.0.3.tgz#ab7e3759f209ece99437973f7d0f1f64ae0e64ab" +postcss-normalize-unicode@^5.1.0: + version "5.1.0" + resolved "https://registry.yarnpkg.com/postcss-normalize-unicode/-/postcss-normalize-unicode-5.1.0.tgz#3d23aede35e160089a285e27bf715de11dc9db75" + integrity sha512-J6M3MizAAZ2dOdSjy2caayJLQT8E8K9XjLce8AUQMwOrCvjCHv24aLC/Lps1R1ylOfol5VIDMaM/Lo9NGlk1SQ== dependencies: - better-assert "~1.0.0" + browserslist "^4.16.6" + postcss-value-parser "^4.2.0" -parseqs@0.0.5: - version "0.0.5" - resolved "https://registry.yarnpkg.com/parseqs/-/parseqs-0.0.5.tgz#d5208a3738e46766e291ba2ea173684921a8b89d" +postcss-normalize-url@^5.1.0: + version "5.1.0" + resolved "https://registry.yarnpkg.com/postcss-normalize-url/-/postcss-normalize-url-5.1.0.tgz#ed9d88ca82e21abef99f743457d3729a042adcdc" + integrity sha512-5upGeDO+PVthOxSmds43ZeMeZfKH+/DKgGRD7TElkkyS46JXAUhMzIKiCa7BabPeIy3AQcTkXwVVN7DbqsiCew== dependencies: - better-assert "~1.0.0" + normalize-url "^6.0.1" + postcss-value-parser "^4.2.0" -parseuri@0.0.5: - version "0.0.5" - resolved "https://registry.yarnpkg.com/parseuri/-/parseuri-0.0.5.tgz#80204a50d4dbb779bfdc6ebe2778d90e4bce320a" +postcss-normalize-whitespace@^5.1.1: + version "5.1.1" + resolved "https://registry.yarnpkg.com/postcss-normalize-whitespace/-/postcss-normalize-whitespace-5.1.1.tgz#08a1a0d1ffa17a7cc6efe1e6c9da969cc4493cfa" + integrity sha512-83ZJ4t3NUDETIHTa3uEg6asWjSBYL5EdkVB0sDncx9ERzOKBVJIUeDO9RyA9Zwtig8El1d79HBp0JEi8wvGQnA== dependencies: - better-assert "~1.0.0" + postcss-value-parser "^4.2.0" -parseurl@~1.3.0, parseurl@~1.3.2: - version "1.3.2" - resolved "https://registry.yarnpkg.com/parseurl/-/parseurl-1.3.2.tgz#fc289d4ed8993119460c156253262cdc8de65bf3" +postcss-ordered-values@^5.1.1: + version "5.1.1" + resolved "https://registry.yarnpkg.com/postcss-ordered-values/-/postcss-ordered-values-5.1.1.tgz#0b41b610ba02906a3341e92cab01ff8ebc598adb" + integrity sha512-7lxgXF0NaoMIgyihL/2boNAEZKiW0+HkMhdKMTD93CjW8TdCy2hSdj8lsAo+uwm7EDG16Da2Jdmtqpedl0cMfw== + dependencies: + cssnano-utils "^3.1.0" + postcss-value-parser "^4.2.0" -path-exists@^2.0.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-2.1.0.tgz#0feb6c64f0fc518d9a754dd5efb62c7022761f4b" +postcss-overflow-shorthand@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/postcss-overflow-shorthand/-/postcss-overflow-shorthand-2.0.0.tgz#31ecf350e9c6f6ddc250a78f0c3e111f32dd4c30" + integrity sha512-aK0fHc9CBNx8jbzMYhshZcEv8LtYnBIRYQD5i7w/K/wS9c2+0NSR6B3OVMu5y0hBHYLcMGjfU+dmWYNKH0I85g== dependencies: - pinkie-promise "^2.0.0" + postcss "^7.0.2" -path-exists@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-3.0.0.tgz#ce0ebeaa5f78cb18925ea7d810d7b59b010fd515" +postcss-page-break@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/postcss-page-break/-/postcss-page-break-2.0.0.tgz#add52d0e0a528cabe6afee8b46e2abb277df46bf" + integrity sha512-tkpTSrLpfLfD9HvgOlJuigLuk39wVTbbd8RKcy8/ugV2bNBUW3xU+AIqyxhDrQr1VUj1RmyJrBn1YWrqUm9zAQ== + dependencies: + postcss "^7.0.2" -path-is-absolute@^1.0.0, path-is-absolute@~1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/path-is-absolute/-/path-is-absolute-1.0.1.tgz#174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f" +postcss-place@^4.0.1: + version "4.0.1" + resolved "https://registry.yarnpkg.com/postcss-place/-/postcss-place-4.0.1.tgz#e9f39d33d2dc584e46ee1db45adb77ca9d1dcc62" + integrity sha512-Zb6byCSLkgRKLODj/5mQugyuj9bvAAw9LqJJjgwz5cYryGeXfFZfSXoP1UfveccFmeq0b/2xxwcTEVScnqGxBg== + dependencies: + postcss "^7.0.2" + postcss-values-parser "^2.0.0" + +postcss-preset-env@6.7.0: + version "6.7.0" + resolved "https://registry.yarnpkg.com/postcss-preset-env/-/postcss-preset-env-6.7.0.tgz#c34ddacf8f902383b35ad1e030f178f4cdf118a5" + integrity sha512-eU4/K5xzSFwUFJ8hTdTQzo2RBLbDVt83QZrAvI07TULOkmyQlnYlpwep+2yIK+K+0KlZO4BvFcleOCCcUtwchg== + dependencies: + autoprefixer "^9.6.1" + browserslist "^4.6.4" + caniuse-lite "^1.0.30000981" + css-blank-pseudo "^0.1.4" + css-has-pseudo "^0.10.0" + css-prefers-color-scheme "^3.1.1" + cssdb "^4.4.0" + postcss "^7.0.17" + postcss-attribute-case-insensitive "^4.0.1" + postcss-color-functional-notation "^2.0.1" + postcss-color-gray "^5.0.0" + postcss-color-hex-alpha "^5.0.3" + postcss-color-mod-function "^3.0.3" + postcss-color-rebeccapurple "^4.0.1" + postcss-custom-media "^7.0.8" + postcss-custom-properties "^8.0.11" + postcss-custom-selectors "^5.1.2" + postcss-dir-pseudo-class "^5.0.0" + postcss-double-position-gradients "^1.0.0" + postcss-env-function "^2.0.2" + postcss-focus-visible "^4.0.0" + postcss-focus-within "^3.0.0" + postcss-font-variant "^4.0.0" + postcss-gap-properties "^2.0.0" + postcss-image-set-function "^3.0.1" + postcss-initial "^3.0.0" + postcss-lab-function "^2.0.1" + postcss-logical "^3.0.0" + postcss-media-minmax "^4.0.0" + postcss-nesting "^7.0.0" + postcss-overflow-shorthand "^2.0.0" + postcss-page-break "^2.0.0" + postcss-place "^4.0.1" + postcss-pseudo-class-any-link "^6.0.0" + postcss-replace-overflow-wrap "^3.0.0" + postcss-selector-matches "^4.0.0" + postcss-selector-not "^4.0.0" + +postcss-pseudo-class-any-link@^6.0.0: + version "6.0.0" + resolved "https://registry.yarnpkg.com/postcss-pseudo-class-any-link/-/postcss-pseudo-class-any-link-6.0.0.tgz#2ed3eed393b3702879dec4a87032b210daeb04d1" + integrity sha512-lgXW9sYJdLqtmw23otOzrtbDXofUdfYzNm4PIpNE322/swES3VU9XlXHeJS46zT2onFO7V1QFdD4Q9LiZj8mew== + dependencies: + postcss "^7.0.2" + postcss-selector-parser "^5.0.0-rc.3" + +postcss-reduce-initial@^5.1.0: + version "5.1.0" + resolved "https://registry.yarnpkg.com/postcss-reduce-initial/-/postcss-reduce-initial-5.1.0.tgz#fc31659ea6e85c492fb2a7b545370c215822c5d6" + integrity sha512-5OgTUviz0aeH6MtBjHfbr57tml13PuedK/Ecg8szzd4XRMbYxH4572JFG067z+FqBIf6Zp/d+0581glkvvWMFw== + dependencies: + browserslist "^4.16.6" + caniuse-api "^3.0.0" -path-key@^2.0.0: - version "2.0.1" - resolved "https://registry.yarnpkg.com/path-key/-/path-key-2.0.1.tgz#411cadb574c5a140d3a4b1910d40d80cc9f40b40" +postcss-reduce-transforms@^5.1.0: + version "5.1.0" + resolved "https://registry.yarnpkg.com/postcss-reduce-transforms/-/postcss-reduce-transforms-5.1.0.tgz#333b70e7758b802f3dd0ddfe98bb1ccfef96b6e9" + integrity sha512-2fbdbmgir5AvpW9RLtdONx1QoYG2/EtqpNQbFASDlixBbAYuTcJ0dECwlqNqH7VbaUnEnh8SrxOe2sRIn24XyQ== + dependencies: + postcss-value-parser "^4.2.0" -path-to-regexp@^1.7.0: - version "1.7.0" - resolved "https://registry.yarnpkg.com/path-to-regexp/-/path-to-regexp-1.7.0.tgz#59fde0f435badacba103a84e9d3bc64e96b9937d" +postcss-replace-overflow-wrap@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/postcss-replace-overflow-wrap/-/postcss-replace-overflow-wrap-3.0.0.tgz#61b360ffdaedca84c7c918d2b0f0d0ea559ab01c" + integrity sha512-2T5hcEHArDT6X9+9dVSPQdo7QHzG4XKclFT8rU5TzJPDN7RIRTbO9c4drUISOVemLj03aezStHCR2AIcr8XLpw== dependencies: - isarray "0.0.1" + postcss "^7.0.2" -path-type@^1.0.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/path-type/-/path-type-1.1.0.tgz#59c44f7ee491da704da415da5a4070ba4f8fe441" +postcss-selector-matches@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/postcss-selector-matches/-/postcss-selector-matches-4.0.0.tgz#71c8248f917ba2cc93037c9637ee09c64436fcff" + integrity sha512-LgsHwQR/EsRYSqlwdGzeaPKVT0Ml7LAT6E75T8W8xLJY62CE4S/l03BWIt3jT8Taq22kXP08s2SfTSzaraoPww== dependencies: - graceful-fs "^4.1.2" - pify "^2.0.0" - pinkie-promise "^2.0.0" + balanced-match "^1.0.0" + postcss "^7.0.2" -pend@~1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/pend/-/pend-1.2.0.tgz#7a57eb550a6783f9115331fcf4663d5c8e007a50" +postcss-selector-not@^4.0.0: + version "4.0.1" + resolved "https://registry.yarnpkg.com/postcss-selector-not/-/postcss-selector-not-4.0.1.tgz#263016eef1cf219e0ade9a913780fc1f48204cbf" + integrity sha512-YolvBgInEK5/79C+bdFMyzqTg6pkYqDbzZIST/PDMqa/o3qtXenD05apBG2jLgT0/BQ77d4U2UK12jWpilqMAQ== + dependencies: + balanced-match "^1.0.0" + postcss "^7.0.2" -performance-now@^0.2.0: - version "0.2.0" - resolved "https://registry.yarnpkg.com/performance-now/-/performance-now-0.2.0.tgz#33ef30c5c77d4ea21c5a53869d91b56d8f2555e5" +postcss-selector-parser@^5.0.0-rc.3, postcss-selector-parser@^5.0.0-rc.4: + version "5.0.0" + resolved "https://registry.yarnpkg.com/postcss-selector-parser/-/postcss-selector-parser-5.0.0.tgz#249044356697b33b64f1a8f7c80922dddee7195c" + integrity sha512-w+zLE5Jhg6Liz8+rQOWEAwtwkyqpfnmsinXjXg6cY7YIONZZtgvE0v2O0uhQBs0peNomOJwWRKt6JBfTdTd3OQ== + dependencies: + cssesc "^2.0.0" + indexes-of "^1.0.1" + uniq "^1.0.1" -performance-now@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/performance-now/-/performance-now-2.1.0.tgz#6309f4e0e5fa913ec1c69307ae364b4b377c9e7b" +postcss-selector-parser@^6.0.0, postcss-selector-parser@^6.0.2, postcss-selector-parser@^6.0.4, postcss-selector-parser@^6.0.5, postcss-selector-parser@^6.0.9: + version "6.0.10" + resolved "https://registry.yarnpkg.com/postcss-selector-parser/-/postcss-selector-parser-6.0.10.tgz#79b61e2c0d1bfc2602d549e11d0876256f8df88d" + integrity sha512-IQ7TZdoaqbT+LCpShg46jnZVlhWD2w6iQYAcYXfHARZ7X1t/UGhhceQDs5X0cGqKvYlHNOuv7Oa1xmb0oQuA3w== + dependencies: + cssesc "^3.0.0" + util-deprecate "^1.0.2" -phantomjs-prebuilt@^2.1.7: - version "2.1.16" - resolved "https://registry.yarnpkg.com/phantomjs-prebuilt/-/phantomjs-prebuilt-2.1.16.tgz#efd212a4a3966d3647684ea8ba788549be2aefef" +postcss-svgo@^5.1.0: + version "5.1.0" + resolved "https://registry.yarnpkg.com/postcss-svgo/-/postcss-svgo-5.1.0.tgz#0a317400ced789f233a28826e77523f15857d80d" + integrity sha512-D75KsH1zm5ZrHyxPakAxJWtkyXew5qwS70v56exwvw542d9CRtTo78K0WeFxZB4G7JXKKMbEZtZayTGdIky/eA== dependencies: - es6-promise "^4.0.3" - extract-zip "^1.6.5" - fs-extra "^1.0.0" - hasha "^2.2.0" - kew "^0.7.0" - progress "^1.1.8" - request "^2.81.0" - request-progress "^2.0.1" - which "^1.2.10" + postcss-value-parser "^4.2.0" + svgo "^2.7.0" -pify@^2.0.0: - version "2.3.0" - resolved "https://registry.yarnpkg.com/pify/-/pify-2.3.0.tgz#ed141a6ac043a849ea588498e7dca8b15330e90c" +postcss-unique-selectors@^5.1.1: + version "5.1.1" + resolved "https://registry.yarnpkg.com/postcss-unique-selectors/-/postcss-unique-selectors-5.1.1.tgz#a9f273d1eacd09e9aa6088f4b0507b18b1b541b6" + integrity sha512-5JiODlELrz8L2HwxfPnhOWZYWDxVHWL83ufOv84NrcgipI7TaeRsatAhK4Tr2/ZiYldpK/wBvw5BD3qfaK96GA== + dependencies: + postcss-selector-parser "^6.0.5" -pinkie-promise@^2.0.0: +postcss-value-parser@^4.0.2, postcss-value-parser@^4.1.0, postcss-value-parser@^4.2.0: + version "4.2.0" + resolved "https://registry.yarnpkg.com/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz#723c09920836ba6d3e5af019f92bc0971c02e514" + integrity sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ== + +postcss-values-parser@^2.0.0, postcss-values-parser@^2.0.1: version "2.0.1" - resolved "https://registry.yarnpkg.com/pinkie-promise/-/pinkie-promise-2.0.1.tgz#2135d6dfa7a358c069ac9b178776288228450ffa" + resolved "https://registry.yarnpkg.com/postcss-values-parser/-/postcss-values-parser-2.0.1.tgz#da8b472d901da1e205b47bdc98637b9e9e550e5f" + integrity sha512-2tLuBsA6P4rYTNKCXYG/71C7j1pU6pK503suYOmn4xYrQIzW+opD+7FAFNuGSdZC/3Qfy334QbeMu7MEb8gOxg== dependencies: - pinkie "^2.0.0" + flatten "^1.0.2" + indexes-of "^1.0.1" + uniq "^1.0.1" -pinkie@^2.0.0: - version "2.0.4" - resolved "https://registry.yarnpkg.com/pinkie/-/pinkie-2.0.4.tgz#72556b80cfa0d48a974e80e77248e80ed4f7f870" +postcss@^7.0.0, postcss@^7.0.14, postcss@^7.0.17, postcss@^7.0.2, postcss@^7.0.23, postcss@^7.0.26, postcss@^7.0.32, postcss@^7.0.5, postcss@^7.0.6: + version "7.0.39" + resolved "https://registry.yarnpkg.com/postcss/-/postcss-7.0.39.tgz#9624375d965630e2e1f2c02a935c82a59cb48309" + integrity sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA== + dependencies: + picocolors "^0.2.1" + source-map "^0.6.1" -pkg-up@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/pkg-up/-/pkg-up-1.0.0.tgz#3e08fb461525c4421624a33b9f7e6d0af5b05a26" +postcss@^8.2.1: + version "8.4.12" + resolved "https://registry.yarnpkg.com/postcss/-/postcss-8.4.12.tgz#1e7de78733b28970fa4743f7da6f3763648b1905" + integrity sha512-lg6eITwYe9v6Hr5CncVbK70SoioNQIq81nsaG86ev5hAidQvmOeETBqs7jm43K2F5/Ley3ytDtriImV6TpNiSg== dependencies: - find-up "^1.0.0" + nanoid "^3.3.1" + picocolors "^1.0.0" + source-map-js "^1.0.2" -plugin-typescript@^7.1.0: - version "7.1.1" - resolved "https://registry.yarnpkg.com/plugin-typescript/-/plugin-typescript-7.1.1.tgz#e3ff0d6edb6ff3a10b94e2cde3fc31c692c0adac" +prefix-style@2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/prefix-style/-/prefix-style-2.0.1.tgz#66bba9a870cfda308a5dc20e85e9120932c95a06" + integrity sha1-ZrupqHDP2jCKXcIOhekSCTLJWgY= + +prelude-ls@^1.2.1: + version "1.2.1" + resolved "https://registry.yarnpkg.com/prelude-ls/-/prelude-ls-1.2.1.tgz#debc6489d7a6e6b0e7611888cec880337d316396" + integrity sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g== + +prelude-ls@~1.1.2: + version "1.1.2" + resolved "https://registry.yarnpkg.com/prelude-ls/-/prelude-ls-1.1.2.tgz#21932a549f5e52ffd9a827f570e04be62a97da54" + integrity sha1-IZMqVJ9eUv/ZqCf1cOBL5iqX2lQ= + +prepend-http@^1.0.0: + version "1.0.4" + resolved "https://registry.yarnpkg.com/prepend-http/-/prepend-http-1.0.4.tgz#d4f4562b0ce3696e41ac52d0e002e57a635dc6dc" + integrity sha1-1PRWKwzjaW5BrFLQ4ALlemNdxtw= preserve@^0.2.0: version "0.2.0" resolved "https://registry.yarnpkg.com/preserve/-/preserve-0.2.0.tgz#815ed1f6ebc65926f865b310c0713bcb3315ce4b" +prettier-linter-helpers@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/prettier-linter-helpers/-/prettier-linter-helpers-1.0.0.tgz#d23d41fe1375646de2d0104d3454a3008802cf7b" + integrity sha512-GbK2cP9nraSSUF9N2XwUwqfzlAFlMNYYl+ShE/V+H8a9uNl/oUqB1w2EL54Jh0OlyRSd8RfWYJ3coVS4TROP2w== + dependencies: + fast-diff "^1.1.2" + prettier@1.11.1: version "1.11.1" resolved "https://registry.yarnpkg.com/prettier/-/prettier-1.11.1.tgz#61e43fc4cd44e68f2b0dfc2c38cd4bb0fccdcc75" +prettier@2.5.1: + version "2.5.1" + resolved "https://registry.yarnpkg.com/prettier/-/prettier-2.5.1.tgz#fff75fa9d519c54cf0fce328c1017d94546bc56a" + integrity sha512-vBZcPRUR5MZJwoyi3ZoyQlc1rXeEck8KgeC9AwwOn+exuxLxq5toTRDTSaVrXHxelDMHy9zlicw8u66yxoSUFg== + +prettier@2.6.0: + version "2.6.0" + resolved "https://registry.yarnpkg.com/prettier/-/prettier-2.6.0.tgz#12f8f504c4d8ddb76475f441337542fa799207d4" + integrity sha512-m2FgJibYrBGGgQXNzfd0PuDGShJgRavjUoRCw1mZERIWVSXF0iLzLm+aOqTAbLnC3n6JzUhAA8uZnFVghHJ86A== + +pretty-error@^2.0.2: + version "2.1.2" + resolved "https://registry.yarnpkg.com/pretty-error/-/pretty-error-2.1.2.tgz#be89f82d81b1c86ec8fdfbc385045882727f93b6" + integrity sha512-EY5oDzmsX5wvuynAByrmY0P0hcp+QpnAKbJng2A2MPjVKXCxrDSUkzghVJ4ZGPIv+JC4gX8fPUWscC0RtjsWGw== + dependencies: + lodash "^4.17.20" + renderkid "^2.0.4" + +pretty-format@^26.0.0, pretty-format@^26.6.2: + version "26.6.2" + resolved "https://registry.yarnpkg.com/pretty-format/-/pretty-format-26.6.2.tgz#e35c2705f14cb7fe2fe94fa078345b444120fc93" + integrity sha512-7AeGuCYNGmycyQbCqd/3PWH4eOoX/OiCa0uphp57NVTeAGdJGaAliecxwBDHYQCIvrW7aDBZCYeNTP/WX69mkg== + dependencies: + "@jest/types" "^26.6.2" + ansi-regex "^5.0.0" + ansi-styles "^4.0.0" + react-is "^17.0.1" + +pretty-format@^27.0.0, pretty-format@^27.0.2, pretty-format@^27.5.1: + version "27.5.1" + resolved "https://registry.yarnpkg.com/pretty-format/-/pretty-format-27.5.1.tgz#2181879fdea51a7a5851fb39d920faa63f01d88e" + integrity sha512-Qb1gy5OrP5+zDf2Bvnzdl3jsTf1qXVMazbvCoKhtKqVs4/YK4ozX4gKQJJVyNe+cajNPn0KoC0MC3FUmaHWEmQ== + dependencies: + ansi-regex "^5.0.1" + ansi-styles "^5.0.0" + react-is "^17.0.1" + pretty-quick@^1.4.1: version "1.4.1" resolved "https://registry.yarnpkg.com/pretty-quick/-/pretty-quick-1.4.1.tgz#9d41f778d2d4d940ec603d1293a0998e84c4722c" @@ -2074,26 +11313,130 @@ pretty-quick@^1.4.1: ignore "^3.3.7" mri "^1.1.0" +prismjs@1.27.0: + version "1.27.0" + resolved "https://registry.yarnpkg.com/prismjs/-/prismjs-1.27.0.tgz#bb6ee3138a0b438a3653dd4d6ce0cc6510a45057" + integrity sha512-t13BGPUlFDR7wRB5kQDG4jjl7XeuH6jbJGt11JHPL96qwsEHNX2+68tFXqc1/k+/jALsbSWJKUOT/hcYAZ5LkA== + +private@~0.1.5: + version "0.1.8" + resolved "https://registry.yarnpkg.com/private/-/private-0.1.8.tgz#2381edb3689f7a53d653190060fcf822d2f368ff" + integrity sha512-VvivMrbvd2nKkiG38qjULzlc+4Vx4wm/whI9pQD35YrARNnhxeiRktSOhSukRLFNlzg6Br/cJPet5J/u19r/mg== + process-nextick-args@~2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/process-nextick-args/-/process-nextick-args-2.0.0.tgz#a37d732f4271b4ab1ad070d35508e8290788ffaa" +process@^0.11.10: + version "0.11.10" + resolved "https://registry.yarnpkg.com/process/-/process-0.11.10.tgz#7332300e840161bda3e69a1d1d91a7d4bc16f182" + integrity sha1-czIwDoQBYb2j5podHZGn1LwW8YI= + progress@^1.1.8: version "1.1.8" resolved "https://registry.yarnpkg.com/progress/-/progress-1.1.8.tgz#e260c78f6161cdd9b0e56cc3e0a85de17c7a57be" +progress@^2.0.0: + version "2.0.3" + resolved "https://registry.yarnpkg.com/progress/-/progress-2.0.3.tgz#7e8cf8d8f5b8f239c1bc68beb4eb78567d572ef8" + integrity sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA== + +promise-inflight@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/promise-inflight/-/promise-inflight-1.0.1.tgz#98472870bf228132fcbdd868129bad12c3c029e3" + integrity sha1-mEcocL8igTL8vdhoEputEsPAKeM= + promised-io@*: version "0.3.5" resolved "https://registry.yarnpkg.com/promised-io/-/promised-io-0.3.5.tgz#4ad217bb3658bcaae9946b17a8668ecd851e1356" +prompts@^2.0.1, prompts@^2.4.2: + version "2.4.2" + resolved "https://registry.yarnpkg.com/prompts/-/prompts-2.4.2.tgz#7b57e73b3a48029ad10ebd44f74b01722a4cb069" + integrity sha512-NxNv/kLguCA7p3jE8oL2aEBsrJWgAakBpgmgK6lpPWV+WuOmY6r2/zbAVnP+T8bQlA0nzHXSJSJW0Hq7ylaD2Q== + dependencies: + kleur "^3.0.3" + sisteransi "^1.0.5" + +prop-types@15.x, prop-types@^15.5.10, prop-types@^15.5.8, prop-types@^15.6.0, prop-types@^15.6.2, prop-types@^15.7.2, prop-types@^15.8.1: + version "15.8.1" + resolved "https://registry.yarnpkg.com/prop-types/-/prop-types-15.8.1.tgz#67d87bf1a694f48435cf332c24af10214a3140b5" + integrity sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg== + dependencies: + loose-envify "^1.4.0" + object-assign "^4.1.1" + react-is "^16.13.1" + +protocol-buffers-schema@^3.3.1: + version "3.6.0" + resolved "https://registry.yarnpkg.com/protocol-buffers-schema/-/protocol-buffers-schema-3.6.0.tgz#77bc75a48b2ff142c1ad5b5b90c94cd0fa2efd03" + integrity sha512-TdDRD+/QNdrCGCE7v8340QyuXd4kIWIgapsE2+n/SaGiSSbomYl4TjHlvIoCWRpE7wFt02EpB35VVA2ImcBVqw== + +prr@~1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/prr/-/prr-1.0.1.tgz#d3fc114ba06995a45ec6893f484ceb1d78f5f476" + integrity sha1-0/wRS6BplaRexok/SEzrHXj19HY= + pseudomap@^1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/pseudomap/-/pseudomap-1.0.2.tgz#f052a28da70e618917ef0a8ac34c1ae5a68286b3" -punycode@^1.4.1: +psl@^1.1.28, psl@^1.1.33: + version "1.8.0" + resolved "https://registry.yarnpkg.com/psl/-/psl-1.8.0.tgz#9326f8bcfb013adcc005fdff056acce020e51c24" + integrity sha512-RIdOzyoavK+hA18OGGWDqUTsCLhtA7IcZ/6NCs4fFJaHBDab+pDDmDIByWFRQJq2Cd7r1OoQxBGKOaztq+hjIQ== + +public-encrypt@^4.0.0: + version "4.0.3" + resolved "https://registry.yarnpkg.com/public-encrypt/-/public-encrypt-4.0.3.tgz#4fcc9d77a07e48ba7527e7cbe0de33d0701331e0" + integrity sha512-zVpa8oKZSz5bTMTFClc1fQOnyyEzpl5ozpi1B5YcvBrdohMjH2rfsBtyXcuNuwjsDIXmBYlF2N5FlJYhR29t8Q== + dependencies: + bn.js "^4.1.0" + browserify-rsa "^4.0.0" + create-hash "^1.1.0" + parse-asn1 "^5.0.0" + randombytes "^2.0.1" + safe-buffer "^5.1.2" + +pump@^2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/pump/-/pump-2.0.1.tgz#12399add6e4cf7526d973cbc8b5ce2e2908b3909" + integrity sha512-ruPMNRkN3MHP1cWJc9OWr+T/xDP0jhXYCLfJcBuX54hhfIBnaQmAUMfDcG4DM5UMWByBbJY69QSphm3jtDKIkA== + dependencies: + end-of-stream "^1.1.0" + once "^1.3.1" + +pump@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/pump/-/pump-3.0.0.tgz#b4a2116815bde2f4e1ea602354e8c75565107a64" + integrity sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww== + dependencies: + end-of-stream "^1.1.0" + once "^1.3.1" + +pumpify@^1.3.3: + version "1.5.1" + resolved "https://registry.yarnpkg.com/pumpify/-/pumpify-1.5.1.tgz#36513be246ab27570b1a374a5ce278bfd74370ce" + integrity sha512-oClZI37HvuUJJxSKKrC17bZ9Cu0ZYhEAGPsPUy9KlMUmv9dKX2o77RUmq7f3XjIxbwyGwYzbzQ1L2Ks8sIradQ== + dependencies: + duplexify "^3.6.0" + inherits "^2.0.3" + pump "^2.0.0" + +punycode@1.3.2: + version "1.3.2" + resolved "https://registry.yarnpkg.com/punycode/-/punycode-1.3.2.tgz#9653a036fb7c1ee42342f2325cceefea3926c48d" + integrity sha1-llOgNvt8HuQjQvIyXM7v6jkmxI0= + +punycode@^1.2.4, punycode@^1.4.1: version "1.4.1" resolved "https://registry.yarnpkg.com/punycode/-/punycode-1.4.1.tgz#c0d5a63b2718800ad8e1eb0fa5269c84dd41845e" +punycode@^2.1.0, punycode@^2.1.1: + version "2.1.1" + resolved "https://registry.yarnpkg.com/punycode/-/punycode-2.1.1.tgz#b58b010ac40c22c5657616c8d2c2c02c7bf479ec" + integrity sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A== + q@^1.5.0: version "1.5.1" resolved "https://registry.yarnpkg.com/q/-/q-1.5.1.tgz#7e32f75b41381291d04611f1bf14109ac00651d7" @@ -2118,6 +11461,56 @@ qs@~6.4.0: version "6.4.0" resolved "https://registry.yarnpkg.com/qs/-/qs-6.4.0.tgz#13e26d28ad6b0ffaa91312cd3bf708ed351e7233" +qs@~6.5.2: + version "6.5.3" + resolved "https://registry.yarnpkg.com/qs/-/qs-6.5.3.tgz#3aeeffc91967ef6e35c0e488ef46fb296ab76aad" + integrity sha512-qxXIEh4pCGfHICj1mAJQ2/2XVZkjCDTcEgfoSQxc/fYivUZxTkk7L3bDBJSoNrEzXI17oUO5Dp07ktqE5KzczA== + +query-string@^4.1.0: + version "4.3.4" + resolved "https://registry.yarnpkg.com/query-string/-/query-string-4.3.4.tgz#bbb693b9ca915c232515b228b1a02b609043dbeb" + integrity sha1-u7aTucqRXCMlFbIosaArYJBD2+s= + dependencies: + object-assign "^4.1.0" + strict-uri-encode "^1.0.0" + +querystring-es3@^0.2.0: + version "0.2.1" + resolved "https://registry.yarnpkg.com/querystring-es3/-/querystring-es3-0.2.1.tgz#9ec61f79049875707d69414596fd907a4d711e73" + integrity sha1-nsYfeQSYdXB9aUFFlv2Qek1xHnM= + +querystring@0.2.0: + version "0.2.0" + resolved "https://registry.yarnpkg.com/querystring/-/querystring-0.2.0.tgz#b209849203bb25df820da756e747005878521620" + integrity sha1-sgmEkgO7Jd+CDadW50cAWHhSFiA= + +queue-microtask@^1.2.2: + version "1.2.3" + resolved "https://registry.yarnpkg.com/queue-microtask/-/queue-microtask-1.2.3.tgz#4929228bbc724dfac43e0efb058caf7b6cfb6243" + integrity sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A== + +quick-lru@^6.1.0: + version "6.1.1" + resolved "https://registry.yarnpkg.com/quick-lru/-/quick-lru-6.1.1.tgz#f8e5bf9010376c126c80c1a62827a526c0e60adf" + integrity sha512-S27GBT+F0NTRiehtbrgaSE1idUAJ5bX8dPAQTdylEyNlrdcH5X4Lz7Edz3DYzecbsCluD5zO8ZNEe04z3D3u6Q== + +quickselect@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/quickselect/-/quickselect-2.0.0.tgz#f19680a486a5eefb581303e023e98faaf25dd018" + integrity sha512-RKJ22hX8mHe3Y6wH/N3wCM6BWtjaxIyyUIkpHOvfFnxdI4yD4tBXEBKSbriGujF6jnSVkJrffuo6vxACiSSxIw== + +raf-schd@^4.0.2: + version "4.0.3" + resolved "https://registry.yarnpkg.com/raf-schd/-/raf-schd-4.0.3.tgz#5d6c34ef46f8b2a0e880a8fcdb743efc5bfdbc1a" + integrity sha512-tQkJl2GRWh83ui2DiPTJz9wEiMN20syf+5oKfB03yYP7ioZcJwsIK8FjrtLwH1m7C7e+Tt2yYBlrOpdT+dyeIQ== + +raf@^3.1.0, raf@^3.4.0, raf@^3.4.1: + version "3.4.1" + resolved "https://registry.yarnpkg.com/raf/-/raf-3.4.1.tgz#0742e99a4a6552f445d73e3ee0328af0ff1ede39" + integrity sha512-Sq4CW4QhwOHE8ucn6J34MqtZCeWFP2aQSmrlroYgqAV1PjStIhJXxYuTgUIfkEk7zTLjmIjLmU5q+fbD1NnOJA== + dependencies: + performance-now "^2.1.0" + randomatic@^1.1.3: version "1.1.7" resolved "https://registry.yarnpkg.com/randomatic/-/randomatic-1.1.7.tgz#c7abe9cc8b87c0baa876b19fde83fd464797e38c" @@ -2125,6 +11518,21 @@ randomatic@^1.1.3: is-number "^3.0.0" kind-of "^4.0.0" +randombytes@^2.0.0, randombytes@^2.0.1, randombytes@^2.0.5, randombytes@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/randombytes/-/randombytes-2.1.0.tgz#df6f84372f0270dc65cdf6291349ab7a473d4f2a" + integrity sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ== + dependencies: + safe-buffer "^5.1.0" + +randomfill@^1.0.3: + version "1.0.4" + resolved "https://registry.yarnpkg.com/randomfill/-/randomfill-1.0.4.tgz#c92196fc86ab42be983f1bf31778224931d61458" + integrity sha512-87lcbR8+MhcWcUiQ+9e+Rwx8MyR2P7qnt15ynUlbm3TU/fjbgz4GsvfSUDTemtCCtVCqb4ZcEFlyPNTh9bBTLw== + dependencies: + randombytes "^2.0.5" + safe-buffer "^5.1.0" + range-parser@^1.2.0: version "1.2.0" resolved "https://registry.yarnpkg.com/range-parser/-/range-parser-1.2.0.tgz#f49be6b487894ddc40dcc94a322f611092e00d5e" @@ -2146,6 +11554,206 @@ raw-body@~2.1.5: iconv-lite "0.4.13" unpipe "1.0.0" +rbush@^3.0.1: + version "3.0.1" + resolved "https://registry.yarnpkg.com/rbush/-/rbush-3.0.1.tgz#5fafa8a79b3b9afdfe5008403a720cc1de882ecf" + integrity sha512-XRaVO0YecOpEuIvbhbpTrZgoiI6xBlz6hnlr6EHhd+0x9ase6EmeN+hdwwUaJvLcsFFQ8iWVF1GAK1yB0BWi0w== + dependencies: + quickselect "^2.0.0" + +rc-align@^2.4.0: + version "2.4.5" + resolved "https://registry.yarnpkg.com/rc-align/-/rc-align-2.4.5.tgz#c941a586f59d1017f23a428f0b468663fb7102ab" + integrity sha512-nv9wYUYdfyfK+qskThf4BQUSIadeI/dCsfaMZfNEoxm9HwOIioQ+LyqmMK6jWHAZQgOzMLaqawhuBXlF63vgjw== + dependencies: + babel-runtime "^6.26.0" + dom-align "^1.7.0" + prop-types "^15.5.8" + rc-util "^4.0.4" + +rc-align@^4.0.0: + version "4.0.12" + resolved "https://registry.yarnpkg.com/rc-align/-/rc-align-4.0.12.tgz#065b5c68a1cc92a00800c9239320d9fdf5f16207" + integrity sha512-3DuwSJp8iC/dgHzwreOQl52soj40LchlfUHtgACOUtwGuoFIOVh6n/sCpfqCU8kO5+iz6qR0YKvjgB8iPdE3aQ== + dependencies: + "@babel/runtime" "^7.10.1" + classnames "2.x" + dom-align "^1.7.0" + lodash "^4.17.21" + rc-util "^5.3.0" + resize-observer-polyfill "^1.5.1" + +rc-animate@2.x: + version "2.11.1" + resolved "https://registry.yarnpkg.com/rc-animate/-/rc-animate-2.11.1.tgz#2666eeb6f1f2a495a13b2af09e236712278fdb2c" + integrity sha512-1NyuCGFJG/0Y+9RKh5y/i/AalUCA51opyyS/jO2seELpgymZm2u9QV3xwODwEuzkmeQ1BDPxMLmYLcTJedPlkQ== + dependencies: + babel-runtime "6.x" + classnames "^2.2.6" + css-animation "^1.3.2" + prop-types "15.x" + raf "^3.4.0" + rc-util "^4.15.3" + react-lifecycles-compat "^3.0.4" + +rc-cascader@3.4.1: + version "3.4.1" + resolved "https://registry.yarnpkg.com/rc-cascader/-/rc-cascader-3.4.1.tgz#7943738cd3fe67b7cee745134c958d3f64a76e30" + integrity sha512-9O3uPK47XwnXez0tEUHt5Lyv+E2b/9irOWXEVpL1ba5rPhKIipU1i+/W0P69BtU/rPG3kOQAJdCbvWBus7Xpzw== + dependencies: + "@babel/runtime" "^7.12.5" + array-tree-filter "^2.1.0" + classnames "^2.3.1" + rc-select "~14.0.0-alpha.23" + rc-tree "~5.5.0" + rc-util "^5.6.1" + +rc-drawer@4.4.3: + version "4.4.3" + resolved "https://registry.yarnpkg.com/rc-drawer/-/rc-drawer-4.4.3.tgz#2094937a844e55dc9644236a2d9fba79c344e321" + integrity sha512-FYztwRs3uXnFOIf1hLvFxIQP9MiZJA+0w+Os8dfDh/90X7z/HqP/Yg+noLCIeHEbKln1Tqelv8ymCAN24zPcfQ== + dependencies: + "@babel/runtime" "^7.10.1" + classnames "^2.2.6" + rc-util "^5.7.0" + +rc-motion@^2.0.0, rc-motion@^2.0.1: + version "2.5.1" + resolved "https://registry.yarnpkg.com/rc-motion/-/rc-motion-2.5.1.tgz#3eceb7d891079c0f67a72639d30e168b91839e03" + integrity sha512-h3GKMjFJkK+4z6fNfVlIMrb7WFCZsreivVvHOBb38cKcpKDx5g3kpHwn5Ekbo1+g0nnC02Dtap2trfCAPGxllw== + dependencies: + "@babel/runtime" "^7.11.1" + classnames "^2.2.1" + rc-util "^5.21.0" + +rc-overflow@^1.0.0: + version "1.2.5" + resolved "https://registry.yarnpkg.com/rc-overflow/-/rc-overflow-1.2.5.tgz#d0fe3f9fa99edec70f4fe20e38119e8c1c5ae3ca" + integrity sha512-5HJKZ4nPe9e7AFdCkflgpRydvH6lJ4i2iFF06q/T1G9lL/XBeuoPLRrTBU8ao/Vo/yARW6WfEHnC2951lVgX5Q== + dependencies: + "@babel/runtime" "^7.11.1" + classnames "^2.2.1" + rc-resize-observer "^1.0.0" + rc-util "^5.19.2" + +rc-resize-observer@^1.0.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/rc-resize-observer/-/rc-resize-observer-1.2.0.tgz#9f46052f81cdf03498be35144cb7c53fd282c4c7" + integrity sha512-6W+UzT3PyDM0wVCEHfoW3qTHPTvbdSgiA43buiy8PzmeMnfgnDeb9NjdimMXMl3/TcrvvWl5RRVdp+NqcR47pQ== + dependencies: + "@babel/runtime" "^7.10.1" + classnames "^2.2.1" + rc-util "^5.15.0" + resize-observer-polyfill "^1.5.1" + +rc-select@~14.0.0-alpha.23: + version "14.0.6" + resolved "https://registry.yarnpkg.com/rc-select/-/rc-select-14.0.6.tgz#93be0b185a9d66dc84795e079121f0f65310d8bf" + integrity sha512-HMb2BwfTvBxMmIWTR/afP4bcRJLbVKFSBW/VFfL5Z+kdV2XlrYdlliK2uHY7pRRvW16PPGwmOwGfV+eoulPINw== + dependencies: + "@babel/runtime" "^7.10.1" + classnames "2.x" + rc-motion "^2.0.1" + rc-overflow "^1.0.0" + rc-trigger "^5.0.4" + rc-util "^5.16.1" + rc-virtual-list "^3.2.0" + +rc-slider@9.7.5: + version "9.7.5" + resolved "https://registry.yarnpkg.com/rc-slider/-/rc-slider-9.7.5.tgz#193141c68e99b1dc3b746daeb6bf852946f5b7f4" + integrity sha512-LV/MWcXFjco1epPbdw1JlLXlTgmWpB9/Y/P2yinf8Pg3wElHxA9uajN21lJiWtZjf5SCUekfSP6QMJfDo4t1hg== + dependencies: + "@babel/runtime" "^7.10.1" + classnames "^2.2.5" + rc-tooltip "^5.0.1" + rc-util "^5.16.1" + shallowequal "^1.1.0" + +rc-time-picker@^3.7.3: + version "3.7.3" + resolved "https://registry.yarnpkg.com/rc-time-picker/-/rc-time-picker-3.7.3.tgz#65a8de904093250ae9c82b02a4905e0f995e23e2" + integrity sha512-Lv1Mvzp9fRXhXEnRLO4nW6GLNxUkfAZ3RsiIBsWjGjXXvMNjdr4BX/ayElHAFK0DoJqOhm7c5tjmIYpEOwcUXg== + dependencies: + classnames "2.x" + moment "2.x" + prop-types "^15.5.8" + raf "^3.4.1" + rc-trigger "^2.2.0" + react-lifecycles-compat "^3.0.4" + +rc-tooltip@^5.0.1: + version "5.1.1" + resolved "https://registry.yarnpkg.com/rc-tooltip/-/rc-tooltip-5.1.1.tgz#94178ed162d0252bc4993b725f5dc2ac0fccf154" + integrity sha512-alt8eGMJulio6+4/uDm7nvV+rJq9bsfxFDCI0ljPdbuoygUscbsMYb6EQgwib/uqsXQUvzk+S7A59uYHmEgmDA== + dependencies: + "@babel/runtime" "^7.11.2" + rc-trigger "^5.0.0" + +rc-tree@~5.5.0: + version "5.5.0" + resolved "https://registry.yarnpkg.com/rc-tree/-/rc-tree-5.5.0.tgz#ba7c8aea2ad29f40a9c7168e490300f7a50c0f22" + integrity sha512-vpKeFsDyj7weik8UPseCTaSNAPt939qn1dQd8goSbRDajbjJEja0v/WFXyRhOiF1HLemNTfqMz4MYc9qlqyNXg== + dependencies: + "@babel/runtime" "^7.10.1" + classnames "2.x" + rc-motion "^2.0.1" + rc-util "^5.16.1" + rc-virtual-list "^3.4.2" + +rc-trigger@^2.2.0: + version "2.6.5" + resolved "https://registry.yarnpkg.com/rc-trigger/-/rc-trigger-2.6.5.tgz#140a857cf28bd0fa01b9aecb1e26a50a700e9885" + integrity sha512-m6Cts9hLeZWsTvWnuMm7oElhf+03GOjOLfTuU0QmdB9ZrW7jR2IpI5rpNM7i9MvAAlMAmTx5Zr7g3uu/aMvZAw== + dependencies: + babel-runtime "6.x" + classnames "^2.2.6" + prop-types "15.x" + rc-align "^2.4.0" + rc-animate "2.x" + rc-util "^4.4.0" + react-lifecycles-compat "^3.0.4" + +rc-trigger@^5.0.0, rc-trigger@^5.0.4: + version "5.2.18" + resolved "https://registry.yarnpkg.com/rc-trigger/-/rc-trigger-5.2.18.tgz#adab51918e4569b174d4fc5044186200d97a542c" + integrity sha512-hi2yZ7umtbAGLxgSph1az9BR9i4Pb4fiQa4pdvFQuKN7U//3nwwygHQKHfexnM+0APBnzZwVlEHA5I8BpWrygw== + dependencies: + "@babel/runtime" "^7.11.2" + classnames "^2.2.6" + rc-align "^4.0.0" + rc-motion "^2.0.0" + rc-util "^5.19.2" + +rc-util@^4.0.4, rc-util@^4.15.3, rc-util@^4.4.0: + version "4.21.1" + resolved "https://registry.yarnpkg.com/rc-util/-/rc-util-4.21.1.tgz#88602d0c3185020aa1053d9a1e70eac161becb05" + integrity sha512-Z+vlkSQVc1l8O2UjR3WQ+XdWlhj5q9BMQNLk2iOBch75CqPfrJyGtcWMcnhRlNuDu0Ndtt4kLVO8JI8BrABobg== + dependencies: + add-dom-event-listener "^1.1.0" + prop-types "^15.5.10" + react-is "^16.12.0" + react-lifecycles-compat "^3.0.4" + shallowequal "^1.1.0" + +rc-util@^5.15.0, rc-util@^5.16.1, rc-util@^5.19.2, rc-util@^5.21.0, rc-util@^5.3.0, rc-util@^5.6.1, rc-util@^5.7.0: + version "5.21.2" + resolved "https://registry.yarnpkg.com/rc-util/-/rc-util-5.21.2.tgz#fa23277ba84e5561af2febdca64de3fc2b3e1528" + integrity sha512-QuuZ2tKMScGtxSx3rLzgPGGDZm/np7phMqA7OcDidSf44abvSk+AdtdD7ZvQPvCEtdC6nCSI5tEVnUaYjjD9/w== + dependencies: + "@babel/runtime" "^7.12.5" + react-is "^16.12.0" + shallowequal "^1.1.0" + +rc-virtual-list@^3.2.0, rc-virtual-list@^3.4.2: + version "3.4.7" + resolved "https://registry.yarnpkg.com/rc-virtual-list/-/rc-virtual-list-3.4.7.tgz#ca0ba5ecddff686cd3833562d07c2678d1c9cb2e" + integrity sha512-PhV8a8g/L9sCmWcmXizzwW7QdqsxK4ebHU6fA9OsUIR7isFdx2bTGU2iAUdRV4teiIF1ZHF3gSQh8NtAxrXh6A== + dependencies: + classnames "^2.2.6" + rc-resize-observer "^1.0.0" + rc-util "^5.15.0" + rc@^1.1.7: version "1.2.5" resolved "https://registry.yarnpkg.com/rc/-/rc-1.2.5.tgz#275cd687f6e3b36cc756baa26dfee80a790301fd" @@ -2155,6 +11763,292 @@ rc@^1.1.7: minimist "^1.2.0" strip-json-comments "~2.0.1" +react-beautiful-dnd@13.1.0: + version "13.1.0" + resolved "https://registry.yarnpkg.com/react-beautiful-dnd/-/react-beautiful-dnd-13.1.0.tgz#ec97c81093593526454b0de69852ae433783844d" + integrity sha512-aGvblPZTJowOWUNiwd6tNfEpgkX5OxmpqxHKNW/4VmvZTNTbeiq7bA3bn5T+QSF2uibXB0D1DmJsb1aC/+3cUA== + dependencies: + "@babel/runtime" "^7.9.2" + css-box-model "^1.2.0" + memoize-one "^5.1.1" + raf-schd "^4.0.2" + react-redux "^7.2.0" + redux "^4.0.4" + use-memo-one "^1.1.1" + +react-calendar@3.7.0: + version "3.7.0" + resolved "https://registry.yarnpkg.com/react-calendar/-/react-calendar-3.7.0.tgz#951d56e91afb33b1c1e019cb790349fbffcc6894" + integrity sha512-zkK95zWLWLC6w3O7p3SHx/FJXEyyD2UMd4jr3CrKD+G73N+G5vEwrXxYQCNivIPoFNBjqoyYYGlkHA+TBDPLCw== + dependencies: + "@wojtekmaj/date-utils" "^1.0.2" + get-user-locale "^1.2.0" + merge-class-names "^1.1.1" + prop-types "^15.6.0" + +react-colorful@5.5.1: + version "5.5.1" + resolved "https://registry.yarnpkg.com/react-colorful/-/react-colorful-5.5.1.tgz#29d9c4e496f2ca784dd2bb5053a3a4340cfaf784" + integrity sha512-M1TJH2X3RXEt12sWkpa6hLc/bbYS0H6F4rIqjQZ+RxNBstpY67d9TrFXtqdZwhpmBXcCwEi7stKqFue3ZRkiOg== + +react-custom-scrollbars-2@4.4.0: + version "4.4.0" + resolved "https://registry.yarnpkg.com/react-custom-scrollbars-2/-/react-custom-scrollbars-2-4.4.0.tgz#6cc237abc18f5ab32b5392b336e6f072c2b4cfc1" + integrity sha512-I+oxZ9rfHfvYm85jdH2lQqpzwNr/ZAdYB8htm6R/hwRGoIEK31jq+YE6MmFwBzuO7C5zcAtH5HN9vwZxnW61NQ== + dependencies: + dom-css "^2.0.0" + prop-types "^15.5.10" + raf "^3.1.0" + +react-dev-utils@^12.0.0: + version "12.0.1" + resolved "https://registry.yarnpkg.com/react-dev-utils/-/react-dev-utils-12.0.1.tgz#ba92edb4a1f379bd46ccd6bcd4e7bc398df33e73" + integrity sha512-84Ivxmr17KjUupyqzFode6xKhjwuEJDROWKJy/BthkL7Wn6NJ8h4WE6k/exAv6ImS+0oZLRRW5j/aINMHyeGeQ== + dependencies: + "@babel/code-frame" "^7.16.0" + address "^1.1.2" + browserslist "^4.18.1" + chalk "^4.1.2" + cross-spawn "^7.0.3" + detect-port-alt "^1.1.6" + escape-string-regexp "^4.0.0" + filesize "^8.0.6" + find-up "^5.0.0" + fork-ts-checker-webpack-plugin "^6.5.0" + global-modules "^2.0.0" + globby "^11.0.4" + gzip-size "^6.0.0" + immer "^9.0.7" + is-root "^2.1.0" + loader-utils "^3.2.0" + open "^8.4.0" + pkg-up "^3.1.0" + prompts "^2.4.2" + react-error-overlay "^6.0.11" + recursive-readdir "^2.2.2" + shell-quote "^1.7.3" + strip-ansi "^6.0.1" + text-table "^0.2.0" + +react-dom@17.0.2: + version "17.0.2" + resolved "https://registry.yarnpkg.com/react-dom/-/react-dom-17.0.2.tgz#ecffb6845e3ad8dbfcdc498f0d0a939736502c23" + integrity sha512-s4h96KtLDUQlsENhMn1ar8t2bEa+q/YAtj8pPPdIjPDGBDIVNsrD9aXNWqspUe6AzKCIG0C1HZZLqLV7qpOBGA== + dependencies: + loose-envify "^1.1.0" + object-assign "^4.1.1" + scheduler "^0.20.2" + +react-dropzone@12.0.4: + version "12.0.4" + resolved "https://registry.yarnpkg.com/react-dropzone/-/react-dropzone-12.0.4.tgz#b88eeaa2c7118f7fd042404682b17a1d466f2fcf" + integrity sha512-fcqHEYe1MzAghU6/Hz86lHDlBNsA+lO48nAcm7/wA+kIzwS6uuJbUG33tBZjksj7GAZ1iUQ6NHwjUURPmSGang== + dependencies: + attr-accept "^2.2.2" + file-selector "^0.4.0" + prop-types "^15.8.1" + +react-error-overlay@^6.0.11: + version "6.0.11" + resolved "https://registry.yarnpkg.com/react-error-overlay/-/react-error-overlay-6.0.11.tgz#92835de5841c5cf08ba00ddd2d677b6d17ff9adb" + integrity sha512-/6UZ2qgEyH2aqzYZgQPxEnz33NJ2gNsnHA2o5+o4wW9bLM/JYQitNP9xPhsXwC08hMMovfGe/8retsdDsczPRg== + +react-fast-compare@^3.0.1: + version "3.2.0" + resolved "https://registry.yarnpkg.com/react-fast-compare/-/react-fast-compare-3.2.0.tgz#641a9da81b6a6320f270e89724fb45a0b39e43bb" + integrity sha512-rtGImPZ0YyLrscKI9xTpV8psd6I8VAtjKCzQDlzyDvqJA8XOW78TXYQwNRNd8g8JZnDu8q9Fu/1v4HPAVwVdHA== + +react-from-dom@^0.6.0: + version "0.6.2" + resolved "https://registry.yarnpkg.com/react-from-dom/-/react-from-dom-0.6.2.tgz#9da903a508c91c013b55afcd59348b8b0a39bdb4" + integrity sha512-qvWWTL/4xw4k/Dywd41RBpLQUSq97csuv15qrxN+izNeLYlD9wn5W8LspbfYe5CWbaSdkZ72BsaYBPQf2x4VbQ== + +react-highlight-words@0.17.0: + version "0.17.0" + resolved "https://registry.yarnpkg.com/react-highlight-words/-/react-highlight-words-0.17.0.tgz#e79a559a2de301548339d7216264d6cd0f1eed6f" + integrity sha512-uX1Qh5IGjnLuJT0Zok234QDwRC8h4hcVMnB99Cb7aquB1NlPPDiWKm0XpSZOTdSactvnClCk8LOmVlP+75dgHA== + dependencies: + highlight-words-core "^1.2.0" + memoize-one "^4.0.0" + prop-types "^15.5.8" + +react-hook-form@7.5.3: + version "7.5.3" + resolved "https://registry.yarnpkg.com/react-hook-form/-/react-hook-form-7.5.3.tgz#9a624fa14ec153b154891c5ebddae02ec5c2e40f" + integrity sha512-5T0mfJ4kCPKljd7t3Rgp7lML4Y2+kaZIeMdN6Zo/J7gBQ+WkrDBHOftdOtz4X+7/eqHGak5yL5evNpYdA9abVA== + +react-immutable-proptypes@^2.1.0: + version "2.2.0" + resolved "https://registry.yarnpkg.com/react-immutable-proptypes/-/react-immutable-proptypes-2.2.0.tgz#cce96d68cc3c18e89617cbf3092d08e35126af4a" + integrity sha512-Vf4gBsePlwdGvSZoLSBfd4HAP93HDauMY4fDjXhreg/vg6F3Fj/MXDNyTbltPC/xZKmZc+cjLu3598DdYK6sgQ== + dependencies: + invariant "^2.2.2" + +react-inlinesvg@2.3.0: + version "2.3.0" + resolved "https://registry.yarnpkg.com/react-inlinesvg/-/react-inlinesvg-2.3.0.tgz#62283c0ce7e9d11d8190ec3e89589102288830fd" + integrity sha512-fEGOdDf4k4bcveArbEpj01pJcH8pOCKLxmSj2POFdGvEk5YK0NZVnH6BXpW/PzACHPRsuh1YKAhNZyFnD28oxg== + dependencies: + exenv "^1.2.2" + react-from-dom "^0.6.0" + +react-is@^16.12.0, react-is@^16.13.1, react-is@^16.6.0, react-is@^16.7.0: + version "16.13.1" + resolved "https://registry.yarnpkg.com/react-is/-/react-is-16.13.1.tgz#789729a4dc36de2999dc156dd6c1d9c18cea56a4" + integrity sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ== + +react-is@^17.0.1, react-is@^17.0.2: + version "17.0.2" + resolved "https://registry.yarnpkg.com/react-is/-/react-is-17.0.2.tgz#e691d4a8e9c789365655539ab372762b0efb54f0" + integrity sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w== + +react-lifecycles-compat@^3.0.4: + version "3.0.4" + resolved "https://registry.yarnpkg.com/react-lifecycles-compat/-/react-lifecycles-compat-3.0.4.tgz#4f1a273afdfc8f3488a8c516bfda78f872352362" + integrity sha512-fBASbA6LnOU9dOU2eW7aQ8xmYBSXUIWr+UmF9b1efZBazGNO+rcXT/icdKnYm2pTwcRylVUYwW7H1PHfLekVzA== + +react-popper-tooltip@^4.3.1: + version "4.3.1" + resolved "https://registry.yarnpkg.com/react-popper-tooltip/-/react-popper-tooltip-4.3.1.tgz#0bfdd40453395865d7a5678a160640243070528e" + integrity sha512-/Lj1vjAEFEFxKKWnxupeS9pRrXYQlJd++OAAj/Ht3uOSqjWLtYWDXKV99e+YO6b5hV3SgXbtkHFzHH4eqlMWJA== + dependencies: + "@babel/runtime" "^7.15.4" + "@popperjs/core" "^2.10.2" + react-popper "^2.2.5" + +react-popper@2.2.5: + version "2.2.5" + resolved "https://registry.yarnpkg.com/react-popper/-/react-popper-2.2.5.tgz#1214ef3cec86330a171671a4fbcbeeb65ee58e96" + integrity sha512-kxGkS80eQGtLl18+uig1UIf9MKixFSyPxglsgLBxlYnyDf65BiY9B3nZSc6C9XUNDgStROB0fMQlTEz1KxGddw== + dependencies: + react-fast-compare "^3.0.1" + warning "^4.0.2" + +react-popper@^2.2.5: + version "2.3.0" + resolved "https://registry.yarnpkg.com/react-popper/-/react-popper-2.3.0.tgz#17891c620e1320dce318bad9fede46a5f71c70ba" + integrity sha512-e1hj8lL3uM+sgSR4Lxzn5h1GxBlpa4CQz0XLF8kx4MDrDRWY0Ena4c97PUeSX9i5W3UAfDP0z0FXCTQkoXUl3Q== + dependencies: + react-fast-compare "^3.0.1" + warning "^4.0.2" + +react-redux@^7.2.0: + version "7.2.8" + resolved "https://registry.yarnpkg.com/react-redux/-/react-redux-7.2.8.tgz#a894068315e65de5b1b68899f9c6ee0923dd28de" + integrity sha512-6+uDjhs3PSIclqoCk0kd6iX74gzrGc3W5zcAjbrFgEdIjRSQObdIwfx80unTkVUYvbQ95Y8Av3OvFHq1w5EOUw== + dependencies: + "@babel/runtime" "^7.15.4" + "@types/react-redux" "^7.1.20" + hoist-non-react-statics "^3.3.2" + loose-envify "^1.4.0" + prop-types "^15.7.2" + react-is "^17.0.2" + +react-router-dom@^5.2.0: + version "5.3.1" + resolved "https://registry.yarnpkg.com/react-router-dom/-/react-router-dom-5.3.1.tgz#0151baf2365c5fcd8493f6ec9b9b31f34d0f8ae1" + integrity sha512-f0pj/gMAbv9e8gahTmCEY20oFhxhrmHwYeIwH5EO5xu0qme+wXtsdB8YfUOAZzUz4VaXmb58m3ceiLtjMhqYmQ== + dependencies: + "@babel/runtime" "^7.12.13" + history "^4.9.0" + loose-envify "^1.3.1" + prop-types "^15.6.2" + react-router "5.3.1" + tiny-invariant "^1.0.2" + tiny-warning "^1.0.0" + +react-router@5.3.1: + version "5.3.1" + resolved "https://registry.yarnpkg.com/react-router/-/react-router-5.3.1.tgz#b13e84a016c79b9e80dde123ca4112c4f117e3cf" + integrity sha512-v+zwjqb7bakqgF+wMVKlAPTca/cEmPOvQ9zt7gpSNyPXau1+0qvuYZ5BWzzNDP1y6s15zDwgb9rPN63+SIniRQ== + dependencies: + "@babel/runtime" "^7.12.13" + history "^4.9.0" + hoist-non-react-statics "^3.1.0" + loose-envify "^1.3.1" + mini-create-react-context "^0.4.0" + path-to-regexp "^1.7.0" + prop-types "^15.6.2" + react-is "^16.6.0" + tiny-invariant "^1.0.2" + tiny-warning "^1.0.0" + +react-select-event@^5.1.0: + version "5.5.0" + resolved "https://registry.yarnpkg.com/react-select-event/-/react-select-event-5.5.0.tgz#148067f75846f6bf07254c453083f2d3d59935f6" + integrity sha512-BwGjWL9wJxfug32mcIjj9arw9C8vBuW/pGijocFsS0NA8n6QSTmgvs27N1tVk7Pb5cJ1iFpQ5EcjqtO61sA02g== + dependencies: + "@testing-library/dom" ">=7" + +react-select@5.2.2: + version "5.2.2" + resolved "https://registry.yarnpkg.com/react-select/-/react-select-5.2.2.tgz#3d5edf0a60f1276fd5f29f9f90a305f0a25a5189" + integrity sha512-miGS2rT1XbFNjduMZT+V73xbJEeMzVkJOz727F6MeAr2hKE0uUSA8Ff7vD44H32x2PD3SRB6OXTY/L+fTV3z9w== + dependencies: + "@babel/runtime" "^7.12.0" + "@emotion/cache" "^11.4.0" + "@emotion/react" "^11.1.1" + "@types/react-transition-group" "^4.4.0" + memoize-one "^5.0.0" + prop-types "^15.6.0" + react-transition-group "^4.3.0" + +react-table@7.7.0: + version "7.7.0" + resolved "https://registry.yarnpkg.com/react-table/-/react-table-7.7.0.tgz#e2ce14d7fe3a559f7444e9ecfe8231ea8373f912" + integrity sha512-jBlj70iBwOTvvImsU9t01LjFjy4sXEtclBovl3mTiqjz23Reu0DKnRza4zlLtOPACx6j2/7MrQIthIK1Wi+LIA== + +react-transition-group@4.4.2, react-transition-group@^4.3.0: + version "4.4.2" + resolved "https://registry.yarnpkg.com/react-transition-group/-/react-transition-group-4.4.2.tgz#8b59a56f09ced7b55cbd53c36768b922890d5470" + integrity sha512-/RNYfRAMlZwDSr6z4zNKV6xu53/e2BuaBbGhbyYIXTrmgu/bGHzmqOs7mJSJBHy9Ud+ApHx3QjrkKSp1pxvlFg== + dependencies: + "@babel/runtime" "^7.5.5" + dom-helpers "^5.0.1" + loose-envify "^1.4.0" + prop-types "^15.6.2" + +react-universal-interface@^0.6.2: + version "0.6.2" + resolved "https://registry.yarnpkg.com/react-universal-interface/-/react-universal-interface-0.6.2.tgz#5e8d438a01729a4dbbcbeeceb0b86be146fe2b3b" + integrity sha512-dg8yXdcQmvgR13RIlZbTRQOoUrDciFVoSBZILwjE2LFISxZZ8loVJKAkuzswl5js8BHda79bIb2b84ehU8IjXw== + +react-use@17.3.2: + version "17.3.2" + resolved "https://registry.yarnpkg.com/react-use/-/react-use-17.3.2.tgz#448abf515f47c41c32455024db28167cb6e53be8" + integrity sha512-bj7OD0/1wL03KyWmzFXAFe425zziuTf7q8olwCYBfOeFHY1qfO1FAMjROQLsLZYwG4Rx63xAfb7XAbBrJsZmEw== + dependencies: + "@types/js-cookie" "^2.2.6" + "@xobotyi/scrollbar-width" "^1.9.5" + copy-to-clipboard "^3.3.1" + fast-deep-equal "^3.1.3" + fast-shallow-equal "^1.0.0" + js-cookie "^2.2.1" + nano-css "^5.3.1" + react-universal-interface "^0.6.2" + resize-observer-polyfill "^1.5.1" + screenfull "^5.1.0" + set-harmonic-interval "^1.0.1" + throttle-debounce "^3.0.1" + ts-easing "^0.2.0" + tslib "^2.1.0" + +react-window@1.8.6: + version "1.8.6" + resolved "https://registry.yarnpkg.com/react-window/-/react-window-1.8.6.tgz#d011950ac643a994118632665aad0c6382e2a112" + integrity sha512-8VwEEYyjz6DCnGBsd+MgkD0KJ2/OXFULyDtorIiTz+QzwoP94tBoA7CnbtyXMm+cCeAUER5KJcPtWl9cpKbOBg== + dependencies: + "@babel/runtime" "^7.0.0" + memoize-one ">=3.1.1 <6" + +react@17.0.2: + version "17.0.2" + resolved "https://registry.yarnpkg.com/react/-/react-17.0.2.tgz#d0b5cc516d29eb3eee383f75b62864cfb6800037" + integrity sha512-gnhPt75i/dq/z3/6q/0asP78D0u592D5L1pd7M8P+dck6Fu/jJeL6iVVK23fptSUZj8Vjf++7wXA8UNclGQcbA== + dependencies: + loose-envify "^1.1.0" + object-assign "^4.1.1" + read-pkg-up@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/read-pkg-up/-/read-pkg-up-1.0.1.tgz#9d63c13276c065918d57f002a57f40a1b643fb02" @@ -2162,6 +12056,23 @@ read-pkg-up@^1.0.1: find-up "^1.0.0" read-pkg "^1.0.0" +read-pkg-up@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/read-pkg-up/-/read-pkg-up-4.0.0.tgz#1b221c6088ba7799601c808f91161c66e58f8978" + integrity sha512-6etQSH7nJGsK0RbG/2TeDzZFa8shjQ1um+SwQQ5cwKy0dhSXdOncEhb1CPpvQG4h7FyOV6EB6YlV0yJvZQNAkA== + dependencies: + find-up "^3.0.0" + read-pkg "^3.0.0" + +read-pkg-up@^7.0.1: + version "7.0.1" + resolved "https://registry.yarnpkg.com/read-pkg-up/-/read-pkg-up-7.0.1.tgz#f3a6135758459733ae2b95638056e1854e7ef507" + integrity sha512-zK0TB7Xd6JpCLmlLmufqykGE+/TlOePD6qKClNW7hHDKFh/J7/7gCWGR7joEQEW1bKq3a3yUZSObOoWLFQ4ohg== + dependencies: + find-up "^4.1.0" + read-pkg "^5.2.0" + type-fest "^0.8.1" + read-pkg@^1.0.0: version "1.1.0" resolved "https://registry.yarnpkg.com/read-pkg/-/read-pkg-1.1.0.tgz#f5ffaa5ecd29cb31c0474bca7d756b6bb29e3f28" @@ -2170,6 +12081,38 @@ read-pkg@^1.0.0: normalize-package-data "^2.3.2" path-type "^1.0.0" +read-pkg@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/read-pkg/-/read-pkg-3.0.0.tgz#9cbc686978fee65d16c00e2b19c237fcf6e38389" + integrity sha1-nLxoaXj+5l0WwA4rGcI3/Pbjg4k= + dependencies: + load-json-file "^4.0.0" + normalize-package-data "^2.3.2" + path-type "^3.0.0" + +read-pkg@^5.2.0: + version "5.2.0" + resolved "https://registry.yarnpkg.com/read-pkg/-/read-pkg-5.2.0.tgz#7bf295438ca5a33e56cd30e053b34ee7250c93cc" + integrity sha512-Ug69mNOpfvKDAc2Q8DRpMjjzdtrnv9HcSMX+4VsZxD1aZ6ZzrIE7rlzXBtWTyhULSMKg076AW6WR5iZpD0JiOg== + dependencies: + "@types/normalize-package-data" "^2.4.0" + normalize-package-data "^2.5.0" + parse-json "^5.0.0" + type-fest "^0.6.0" + +"readable-stream@1 || 2", readable-stream@^2.0.0, readable-stream@^2.0.1, readable-stream@^2.1.5, readable-stream@^2.3.3, readable-stream@^2.3.6, readable-stream@~2.3.6: + version "2.3.7" + resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.3.7.tgz#1eca1cf711aef814c04f62252a36a62f6cb23b57" + integrity sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw== + dependencies: + 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" + readable-stream@^2.0.2, readable-stream@^2.0.6, readable-stream@^2.1.4, readable-stream@^2.2.2: version "2.3.5" resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.3.5.tgz#b4f85003a938cbb6ecbce2a124fb1012bd1a838d" @@ -2182,6 +12125,15 @@ readable-stream@^2.0.2, readable-stream@^2.0.6, readable-stream@^2.1.4, readable string_decoder "~1.0.3" util-deprecate "~1.0.1" +readable-stream@^3.4.0, readable-stream@^3.6.0: + version "3.6.0" + resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-3.6.0.tgz#337bbda3adc0706bd3e024426a286d4b4b2c9198" + integrity sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA== + dependencies: + inherits "^2.0.3" + string_decoder "^1.1.1" + util-deprecate "^1.0.1" + readable-stream@~1.0.2: version "1.0.34" resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-1.0.34.tgz#125820e34bc842d2f2aaafafe4c2916ee32c157c" @@ -2200,6 +12152,46 @@ readdirp@^2.0.0: readable-stream "^2.0.2" set-immediate-shim "^1.0.1" +readdirp@^2.2.1: + version "2.2.1" + resolved "https://registry.yarnpkg.com/readdirp/-/readdirp-2.2.1.tgz#0e87622a3325aa33e892285caf8b4e846529a525" + integrity sha512-1JU/8q+VgFZyxwrJ+SVIOsh+KywWGpds3NTqikiKpDMZWScmAYyKIgqkO+ARvNWJfXeXR1zxz7aHF4u4CyH6vQ== + dependencies: + graceful-fs "^4.1.11" + micromatch "^3.1.10" + readable-stream "^2.0.2" + +readdirp@~3.6.0: + version "3.6.0" + resolved "https://registry.yarnpkg.com/readdirp/-/readdirp-3.6.0.tgz#74a370bd857116e245b29cc97340cd431a02a6c7" + integrity sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA== + dependencies: + picomatch "^2.2.1" + +realpath-native@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/realpath-native/-/realpath-native-1.1.0.tgz#2003294fea23fb0672f2476ebe22fcf498a2d65c" + integrity sha512-wlgPA6cCIIg9gKz0fgAPjnzh4yR/LnXovwuo9hvyGvx3h8nX4+/iLZplfUWasXpqD8BdnGnP5njOFjkUwPzvjA== + dependencies: + util.promisify "^1.0.0" + +recast@~0.11.12: + version "0.11.23" + resolved "https://registry.yarnpkg.com/recast/-/recast-0.11.23.tgz#451fd3004ab1e4df9b4e4b66376b2a21912462d3" + integrity sha1-RR/TAEqx5N+bTktmN2sqIZEkYtM= + dependencies: + ast-types "0.9.6" + esprima "~3.1.0" + private "~0.1.5" + source-map "~0.5.0" + +recursive-readdir@^2.2.2: + version "2.2.2" + resolved "https://registry.yarnpkg.com/recursive-readdir/-/recursive-readdir-2.2.2.tgz#9946fb3274e1628de6e36b2f6714953b4845094f" + integrity sha512-nRCcW9Sj7NuZwa2XvH9co8NPeXUBhZP7CRKJtU+cS6PW9FpCIFoI5ib0NT1ZrbNuPoRy0ylyCaUL8Gih4LSyFg== + dependencies: + minimatch "3.0.4" + redent@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/redent/-/redent-1.0.0.tgz#cf916ab1fd5f1f16dfb20822dd6ec7f730c2afde" @@ -2207,16 +12199,119 @@ redent@^1.0.0: indent-string "^2.1.0" strip-indent "^1.0.1" +redux@^4.0.0, redux@^4.0.4: + version "4.2.0" + resolved "https://registry.yarnpkg.com/redux/-/redux-4.2.0.tgz#46f10d6e29b6666df758780437651eeb2b969f13" + integrity sha512-oSBmcKKIuIR4ME29/AeNUnl5L+hvBq7OaJWzaptTQJAntaPvxIJqfnjbaEiCzzaIz+XmVILfqAM3Ob0aXLPfjA== + dependencies: + "@babel/runtime" "^7.9.2" + +regenerate-unicode-properties@^10.0.1: + version "10.0.1" + resolved "https://registry.yarnpkg.com/regenerate-unicode-properties/-/regenerate-unicode-properties-10.0.1.tgz#7f442732aa7934a3740c779bb9b3340dccc1fb56" + integrity sha512-vn5DU6yg6h8hP/2OkQo3K7uVILvY4iu0oI4t3HFa81UPkhGJwkRwM10JEc3upjdhHjs/k8GJY1sRBhk5sr69Bw== + dependencies: + regenerate "^1.4.2" + +regenerate@^1.4.2: + version "1.4.2" + resolved "https://registry.yarnpkg.com/regenerate/-/regenerate-1.4.2.tgz#b9346d8827e8f5a32f7ba29637d398b69014848a" + integrity sha512-zrceR/XhGYU/d/opr2EKO7aRHUeiBI8qjtfHqADTwZd6Szfy16la6kqD0MIUs5z5hx6AaKa+PixpPrR289+I0A== + +regenerator-runtime@0.13.9, regenerator-runtime@^0.13.4: + version "0.13.9" + resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.13.9.tgz#8925742a98ffd90814988d7566ad30ca3b263b52" + integrity sha512-p3VT+cOEgxFsRRA9X4lkI1E+k2/CtnKtU4gcxyaCUreilL/vqI6CdZ3wxVUx3UOUg+gnUOQQcRI7BmSI656MYA== + +regenerator-runtime@^0.11.0: + version "0.11.1" + resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.11.1.tgz#be05ad7f9bf7d22e056f9726cee5017fbf19e2e9" + integrity sha512-MguG95oij0fC3QV3URf4V2SDYGJhJnJGqvIIgdECeODCT98wSWDAJ94SSuVpYQUoTcGUIL6L4yNB7j1DFFHSBg== + +regenerator-transform@^0.15.0: + version "0.15.0" + resolved "https://registry.yarnpkg.com/regenerator-transform/-/regenerator-transform-0.15.0.tgz#cbd9ead5d77fae1a48d957cf889ad0586adb6537" + integrity sha512-LsrGtPmbYg19bcPHwdtmXwbW+TqNvtY4riE3P83foeHRroMbH6/2ddFBfab3t7kbzc7v7p4wbkIecHImqt0QNg== + dependencies: + "@babel/runtime" "^7.8.4" + regex-cache@^0.4.2: version "0.4.4" resolved "https://registry.yarnpkg.com/regex-cache/-/regex-cache-0.4.4.tgz#75bdc58a2a1496cec48a12835bc54c8d562336dd" dependencies: is-equal-shallow "^0.1.3" +regex-not@^1.0.0, regex-not@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/regex-not/-/regex-not-1.0.2.tgz#1f4ece27e00b0b65e0247a6810e6a85d83a5752c" + integrity sha512-J6SDjUgDxQj5NusnOtdFxDwN/+HWykR8GELwctJ7mdqhcyy1xEc4SRFHUXvxTp661YaVKAjfRLZ9cCqS6tn32A== + dependencies: + extend-shallow "^3.0.2" + safe-regex "^1.1.0" + +regexp.prototype.flags@^1.4.1: + version "1.4.3" + resolved "https://registry.yarnpkg.com/regexp.prototype.flags/-/regexp.prototype.flags-1.4.3.tgz#87cab30f80f66660181a3bb7bf5981a872b367ac" + integrity sha512-fjggEOO3slI6Wvgjwflkc4NFRCTZAu5CnNfBd5qOMYhWdn67nJBBu34/TkD++eeFmd8C9r9jfXJ27+nSiRkSUA== + dependencies: + call-bind "^1.0.2" + define-properties "^1.1.3" + functions-have-names "^1.2.2" + +regexpp@^3.1.0, regexpp@^3.2.0: + version "3.2.0" + resolved "https://registry.yarnpkg.com/regexpp/-/regexpp-3.2.0.tgz#0425a2768d8f23bad70ca4b90461fa2f1213e1b2" + integrity sha512-pq2bWo9mVD43nbts2wGv17XLiNLya+GklZ8kaDLV2Z08gDCsGpnKn9BFMepvWuHCbyVvY7J5o5+BVvoQbmlJLg== + +regexpu-core@^5.0.1: + version "5.0.1" + resolved "https://registry.yarnpkg.com/regexpu-core/-/regexpu-core-5.0.1.tgz#c531122a7840de743dcf9c83e923b5560323ced3" + integrity sha512-CriEZlrKK9VJw/xQGJpQM5rY88BtuL8DM+AEwvcThHilbxiTAy8vq4iJnd2tqq8wLmjbGZzP7ZcKFjbGkmEFrw== + dependencies: + regenerate "^1.4.2" + regenerate-unicode-properties "^10.0.1" + regjsgen "^0.6.0" + regjsparser "^0.8.2" + unicode-match-property-ecmascript "^2.0.0" + unicode-match-property-value-ecmascript "^2.0.0" + +regextras@^0.8.0: + version "0.8.0" + resolved "https://registry.yarnpkg.com/regextras/-/regextras-0.8.0.tgz#ec0f99853d4912839321172f608b544814b02217" + integrity sha512-k519uI04Z3SaY0fLX843MRXnDeG2+vHOFsyhiPZvNLe7r8rD2YNRjq4BQLZZ0oAr2NrtvZlICsXysGNFPGa3CQ== + +regjsgen@^0.6.0: + version "0.6.0" + resolved "https://registry.yarnpkg.com/regjsgen/-/regjsgen-0.6.0.tgz#83414c5354afd7d6627b16af5f10f41c4e71808d" + integrity sha512-ozE883Uigtqj3bx7OhL1KNbCzGyW2NQZPl6Hs09WTvCuZD5sTI4JY58bkbQWa/Y9hxIsvJ3M8Nbf7j54IqeZbA== + +regjsparser@^0.8.2: + version "0.8.4" + resolved "https://registry.yarnpkg.com/regjsparser/-/regjsparser-0.8.4.tgz#8a14285ffcc5de78c5b95d62bbf413b6bc132d5f" + integrity sha512-J3LABycON/VNEu3abOviqGHuB/LOtOQj8SKmfP9anY5GfAVw/SPjwzSjxGjbZXIxbGfqTHtJw58C2Li/WkStmA== + dependencies: + jsesc "~0.5.0" + +relateurl@0.2.x: + version "0.2.7" + resolved "https://registry.yarnpkg.com/relateurl/-/relateurl-0.2.7.tgz#54dbf377e51440aca90a4cd274600d3ff2d888a9" + integrity sha1-VNvzd+UUQKypCkzSdGANP/LYiKk= + remove-trailing-separator@^1.0.1: version "1.1.0" resolved "https://registry.yarnpkg.com/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz#c24bce2a283adad5bc3f58e0d48249b92379d8ef" +renderkid@^2.0.4: + version "2.0.7" + resolved "https://registry.yarnpkg.com/renderkid/-/renderkid-2.0.7.tgz#464f276a6bdcee606f4a15993f9b29fc74ca8609" + integrity sha512-oCcFyxaMrKsKcTY59qnCAtmDVSLfPbrv6A3tVbPdFMMrv5jaK10V6m40cKsoPNhAqN6rmHW9sswW4o3ruSrwUQ== + dependencies: + css-select "^4.1.3" + dom-converter "^0.2.0" + htmlparser2 "^6.1.0" + lodash "^4.17.21" + strip-ansi "^3.0.1" + repeat-element@^1.1.2: version "1.1.2" resolved "https://registry.yarnpkg.com/repeat-element/-/repeat-element-1.1.2.tgz#ef089a178d1483baae4d93eb98b4f9e4e11d990a" @@ -2225,7 +12320,7 @@ repeat-string@^0.2.2: version "0.2.2" resolved "https://registry.yarnpkg.com/repeat-string/-/repeat-string-0.2.2.tgz#c7a8d3236068362059a7e4651fc6884e8b1fb4ae" -repeat-string@^1.5.2: +repeat-string@^1.5.2, repeat-string@^1.6.1: version "1.6.1" resolved "https://registry.yarnpkg.com/repeat-string/-/repeat-string-1.6.1.tgz#8dcae470e1c88abc2d600fff4a776286da75e637" @@ -2235,12 +12330,42 @@ repeating@^2.0.0: dependencies: is-finite "^1.0.0" +replace-in-file-webpack-plugin@^1.0.6: + version "1.0.6" + resolved "https://registry.yarnpkg.com/replace-in-file-webpack-plugin/-/replace-in-file-webpack-plugin-1.0.6.tgz#eee7e139be967e8e48a0552f73037ed567b54dbd" + integrity sha512-+KRgNYL2nbc6nza6SeF+wTBNkovuHFTfJF8QIEqZg5MbwkYpU9no0kH2YU354wvY/BK8mAC2UKoJ7q+sJTvciw== + +replace-in-file@^4.1.0: + version "4.3.1" + resolved "https://registry.yarnpkg.com/replace-in-file/-/replace-in-file-4.3.1.tgz#c67c92178b38052008e379197cc0d86ca927f7b0" + integrity sha512-FqVvfmpqGTD2JRGI1JjJ86b24P17x/WWwGdxExeyJxnh/2rVQz2+jXfD1507UnnhEQw092X0u0DPCBf1WC4ooQ== + dependencies: + chalk "^2.4.2" + glob "^7.1.6" + yargs "^15.0.2" + request-progress@^2.0.1: version "2.0.1" resolved "https://registry.yarnpkg.com/request-progress/-/request-progress-2.0.1.tgz#5d36bb57961c673aa5b788dbc8141fdf23b44e08" dependencies: throttleit "^1.0.0" +request-promise-core@1.1.4: + version "1.1.4" + resolved "https://registry.yarnpkg.com/request-promise-core/-/request-promise-core-1.1.4.tgz#3eedd4223208d419867b78ce815167d10593a22f" + integrity sha512-TTbAfBBRdWD7aNNOoVOBH4pN/KigV6LyapYNNlAPA8JwbovRti1E88m3sYAwsLi5ryhPKsE9APwnjFTgdUjTpw== + dependencies: + lodash "^4.17.19" + +request-promise-native@^1.0.7: + version "1.0.9" + resolved "https://registry.yarnpkg.com/request-promise-native/-/request-promise-native-1.0.9.tgz#e407120526a5efdc9a39b28a5679bf47b9d9dc28" + integrity sha512-wcW+sIUiWnKgNY0dqCpOZkUbF/I+YPi+f09JZIDa39Ec+q82CpSYniDp+ISgTTbKmnpJWASeJBPZmoxH84wt3g== + dependencies: + request-promise-core "1.1.4" + stealthy-require "^1.1.1" + tough-cookie "^2.3.3" + request@2.81.0: version "2.81.0" resolved "https://registry.yarnpkg.com/request/-/request-2.81.0.tgz#c6928946a0e06c5f8d6f8a9333469ffda46298a0" @@ -2295,76 +12420,512 @@ request@^2.81.0: tunnel-agent "^0.6.0" uuid "^3.1.0" -requires-port@1.x.x: +request@^2.88.0: + version "2.88.2" + resolved "https://registry.yarnpkg.com/request/-/request-2.88.2.tgz#d73c918731cb5a87da047e207234146f664d12b3" + integrity sha512-MsvtOrfG9ZcrOwAW+Qi+F6HbD0CWXEh9ou77uOb7FM2WPhwT7smM833PzanhJLsgXjN89Ir6V2PczXNnMpwKhw== + dependencies: + aws-sign2 "~0.7.0" + aws4 "^1.8.0" + caseless "~0.12.0" + combined-stream "~1.0.6" + extend "~3.0.2" + forever-agent "~0.6.1" + form-data "~2.3.2" + har-validator "~5.1.3" + http-signature "~1.2.0" + is-typedarray "~1.0.0" + isstream "~0.1.2" + json-stringify-safe "~5.0.1" + mime-types "~2.1.19" + oauth-sign "~0.9.0" + performance-now "^2.1.0" + qs "~6.5.2" + safe-buffer "^5.1.2" + tough-cookie "~2.5.0" + tunnel-agent "^0.6.0" + uuid "^3.3.2" + +require-directory@^2.1.1: + version "2.1.1" + resolved "https://registry.yarnpkg.com/require-directory/-/require-directory-2.1.1.tgz#8c64ad5fd30dab1c976e2344ffe7f792a6a6df42" + integrity sha1-jGStX9MNqxyXbiNE/+f3kqam30I= + +require-from-string@^2.0.2: + version "2.0.2" + resolved "https://registry.yarnpkg.com/require-from-string/-/require-from-string-2.0.2.tgz#89a7fdd938261267318eafe14f9c32e598c36909" + integrity sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw== + +require-main-filename@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/require-main-filename/-/require-main-filename-2.0.0.tgz#d0b329ecc7cc0f61649f62215be69af54aa8989b" + integrity sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg== + +requires-port@1.x.x, requires-port@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/requires-port/-/requires-port-1.0.0.tgz#925d2601d39ac485e091cf0da5c6e694dc3dcaff" +resize-observer-polyfill@^1.5.1: + version "1.5.1" + resolved "https://registry.yarnpkg.com/resize-observer-polyfill/-/resize-observer-polyfill-1.5.1.tgz#0e9020dd3d21024458d4ebd27e23e40269810464" + integrity sha512-LwZrotdHOo12nQuZlHEmtuXdqGoOD0OhaxopaNFxWzInpEgaLWoVuAMbTzixuosCx2nEG58ngzW3vxdWoxIgdg== + +resolve-cwd@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/resolve-cwd/-/resolve-cwd-3.0.0.tgz#0f0075f1bb2544766cf73ba6a6e2adfebcb13f2d" + integrity sha512-OrZaX2Mb+rJCpH/6CpSqt9xFVpN++x01XnN2ie9g6P5/3xelLAkXWVADpdz1IHD/KFfEXyE6V0U01OQ3UO2rEg== + dependencies: + resolve-from "^5.0.0" + resolve-from@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-2.0.0.tgz#9480ab20e94ffa1d9e80a804c7ea147611966b57" +resolve-from@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-3.0.0.tgz#b22c7af7d9d6881bc8b6e653335eebcb0a188748" + integrity sha1-six699nWiBvItuZTM17rywoYh0g= + +resolve-from@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-4.0.0.tgz#4abcd852ad32dd7baabfe9b40e00a36db5f392e6" + integrity sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g== + +resolve-from@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-5.0.0.tgz#c35225843df8f776df21c57557bc087e9dfdfc69" + integrity sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw== + +resolve-pathname@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/resolve-pathname/-/resolve-pathname-3.0.0.tgz#99d02224d3cf263689becbb393bc560313025dcd" + integrity sha512-C7rARubxI8bXFNB/hqcp/4iUeIXJhJZvFPFPiSPRnhU5UPxzMFIl+2E6yY6c4k9giDJAhtV+enfA+G89N6Csng== + resolve-pkg@^0.1.0: version "0.1.0" resolved "https://registry.yarnpkg.com/resolve-pkg/-/resolve-pkg-0.1.0.tgz#02cc993410e2936962bd97166a1b077da9725531" dependencies: resolve-from "^2.0.0" +resolve-protobuf-schema@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/resolve-protobuf-schema/-/resolve-protobuf-schema-2.1.0.tgz#9ca9a9e69cf192bbdaf1006ec1973948aa4a3758" + integrity sha512-kI5ffTiZWmJaS/huM8wZfEMer1eRd7oJQhDuxeCLe3t7N7mX3z94CN0xPxBQxFYQTSNz9T0i+v6inKqSdK8xrQ== + dependencies: + protocol-buffers-schema "^3.3.1" + +resolve-url@^0.2.1: + version "0.2.1" + resolved "https://registry.yarnpkg.com/resolve-url/-/resolve-url-0.2.1.tgz#2c637fe77c893afd2a663fe21aa9080068e2052a" + integrity sha1-LGN/53yJOv0qZj/iGqkIAGjiBSo= + +resolve@^1.10.0, resolve@^1.12.0, resolve@^1.14.2, resolve@^1.18.1: + version "1.22.0" + resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.22.0.tgz#5e0b8c67c15df57a89bdbabe603a002f21731198" + integrity sha512-Hhtrw0nLeSrFQ7phPp4OOcVjLPIeMnRlr5mcnVuMe7M/7eBn98A3hmFRLoFo3DLZkivSYwhRUJTyPyWAk56WLw== + dependencies: + is-core-module "^2.8.1" + path-parse "^1.0.7" + supports-preserve-symlinks-flag "^1.0.0" + +resolve@^2.0.0-next.3: + version "2.0.0-next.3" + resolved "https://registry.yarnpkg.com/resolve/-/resolve-2.0.0-next.3.tgz#d41016293d4a8586a39ca5d9b5f15cbea1f55e46" + integrity sha512-W8LucSynKUIDu9ylraa7ueVZ7hc0uAgJBxVsQSKOXOyle8a93qXhcz+XAXZ8bIq2d6i4Ehddn6Evt+0/UwKk6Q== + dependencies: + is-core-module "^2.2.0" + path-parse "^1.0.6" + resolve@~1.1.0: version "1.1.7" resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.1.7.tgz#203114d82ad2c5ed9e8e0411b3932875e889e97b" +restore-cursor@^3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/restore-cursor/-/restore-cursor-3.1.0.tgz#39f67c54b3a7a58cea5236d95cf0034239631f7e" + integrity sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA== + dependencies: + onetime "^5.1.0" + signal-exit "^3.0.2" + +ret@~0.1.10: + version "0.1.15" + resolved "https://registry.yarnpkg.com/ret/-/ret-0.1.15.tgz#b8a4825d5bdb1fc3f6f53c2bc33f81388681c7bc" + integrity sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg== + +reusify@^1.0.4: + version "1.0.4" + resolved "https://registry.yarnpkg.com/reusify/-/reusify-1.0.4.tgz#90da382b1e126efc02146e90845a88db12925d76" + integrity sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw== + rimraf@2, rimraf@^2.5.1, rimraf@^2.6.0, rimraf@^2.6.1: version "2.6.2" resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-2.6.2.tgz#2ed8150d24a16ea8651e6d6ef0f47c4158ce7a36" dependencies: glob "^7.0.5" +rimraf@^2.5.4, rimraf@^2.6.3, rimraf@^2.7.1: + version "2.7.1" + resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-2.7.1.tgz#35797f13a7fdadc566142c29d4f07ccad483e3ec" + integrity sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w== + dependencies: + glob "^7.1.3" + +rimraf@^3.0.0, rimraf@^3.0.2: + version "3.0.2" + resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-3.0.2.tgz#f1a5402ba6220ad52cc1282bac1ae3aa49fd061a" + integrity sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA== + dependencies: + glob "^7.1.3" + rimraf@~2.2.8: version "2.2.8" resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-2.2.8.tgz#e439be2aaee327321952730f99a8929e4fc50582" +ripemd160@^2.0.0, ripemd160@^2.0.1: + version "2.0.2" + resolved "https://registry.yarnpkg.com/ripemd160/-/ripemd160-2.0.2.tgz#a1c1a6f624751577ba5d07914cbc92850585890c" + integrity sha512-ii4iagi25WusVoiC4B4lq7pbXfAp3D9v5CwfkY33vffw2+pkDjY1D8GaN7spsxvCSx8dkPqOZCEZyfxcmJG2IA== + dependencies: + hash-base "^3.0.0" + inherits "^2.0.1" + +rsvp@^4.8.4: + version "4.8.5" + resolved "https://registry.yarnpkg.com/rsvp/-/rsvp-4.8.5.tgz#c8f155311d167f68f21e168df71ec5b083113734" + integrity sha512-nfMOlASu9OnRJo1mbEk2cz0D56a1MBNrJ7orjRZQG10XDyuvwksKbuXNp6qa+kbn839HwjwhBzhFmdsaEAfauA== + +rtl-css-js@^1.14.0: + version "1.15.0" + resolved "https://registry.yarnpkg.com/rtl-css-js/-/rtl-css-js-1.15.0.tgz#680ed816e570a9ebccba9e1cd0f202c6a8bb2dc0" + integrity sha512-99Cu4wNNIhrI10xxUaABHsdDqzalrSRTie4GeCmbGVuehm4oj+fIy8fTzB+16pmKe8Bv9rl+hxIBez6KxExTew== + dependencies: + "@babel/runtime" "^7.1.2" + +run-async@^2.4.0: + version "2.4.1" + resolved "https://registry.yarnpkg.com/run-async/-/run-async-2.4.1.tgz#8440eccf99ea3e70bd409d49aab88e10c189a455" + integrity sha512-tvVnVv01b8c1RrA6Ep7JkStj85Guv/YrMcwqYQnwjsAS2cTmmPGBBjAjpCW7RrSodNSoE2/qg9O4bceNvUuDgQ== + +run-parallel@^1.1.9: + version "1.2.0" + resolved "https://registry.yarnpkg.com/run-parallel/-/run-parallel-1.2.0.tgz#66d1368da7bdf921eb9d95bd1a9229e7f21a43ee" + integrity sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA== + dependencies: + queue-microtask "^1.2.2" + +run-queue@^1.0.0, run-queue@^1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/run-queue/-/run-queue-1.0.3.tgz#e848396f057d223f24386924618e25694161ec47" + integrity sha1-6Eg5bwV9Ij8kOGkkYY4laUFh7Ec= + dependencies: + aproba "^1.1.1" + +rw@1, rw@^1.3.3: + version "1.3.3" + resolved "https://registry.yarnpkg.com/rw/-/rw-1.3.3.tgz#3f862dfa91ab766b14885ef4d01124bfda074fb4" + integrity sha1-P4Yt+pGrdmsUiF700BEkv9oHT7Q= + +rxjs@7.5.5, rxjs@^7.2.0, rxjs@^7.5.5: + version "7.5.5" + resolved "https://registry.yarnpkg.com/rxjs/-/rxjs-7.5.5.tgz#2ebad89af0f560f460ad5cc4213219e1f7dd4e9f" + integrity sha512-sy+H0pQofO95VDmFLzyaw9xNJU4KTRSwQIGM6+iG3SypAtCiLDzpeG8sJrNCWn2Up9km+KhkvTdbkrdy+yzZdw== + dependencies: + tslib "^2.1.0" + +rxjs@^6.6.3: + version "6.6.7" + resolved "https://registry.yarnpkg.com/rxjs/-/rxjs-6.6.7.tgz#90ac018acabf491bf65044235d5863c4dab804c9" + integrity sha512-hTdwr+7yYNIT5n4AMYp85KA6yw2Va0FLa3Rguvbpa4W3I5xynaBZo41cM3XM+4Q6fRMj3sBYIR1VAmZMXYJvRQ== + dependencies: + tslib "^1.9.0" + safe-buffer@^5.0.1, safe-buffer@^5.1.1, safe-buffer@~5.1.0, safe-buffer@~5.1.1: version "5.1.1" resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.1.1.tgz#893312af69b2123def71f57889001671eeb2c853" +safe-buffer@^5.1.0, safe-buffer@^5.1.2, safe-buffer@^5.2.0, safe-buffer@~5.2.0: + version "5.2.1" + resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.2.1.tgz#1eaf9fa9bdb1fdd4ec75f58f9cdb4e6b7827eec6" + integrity sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ== + +safe-regex@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/safe-regex/-/safe-regex-1.1.0.tgz#40a3669f3b077d1e943d44629e157dd48023bf2e" + integrity sha1-QKNmnzsHfR6UPURinhV91IAjvy4= + dependencies: + ret "~0.1.10" + +"safer-buffer@>= 2.1.2 < 3", safer-buffer@^2.1.0: + version "2.1.2" + resolved "https://registry.yarnpkg.com/safer-buffer/-/safer-buffer-2.1.2.tgz#44fa161b0187b9549dd84bb91802f9bd8385cd6a" + integrity sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg== + samsam@1.3.0, samsam@1.x, samsam@^1.1.3: version "1.3.0" resolved "https://registry.yarnpkg.com/samsam/-/samsam-1.3.0.tgz#8d1d9350e25622da30de3e44ba692b5221ab7c50" +sane@^4.0.3: + version "4.1.0" + resolved "https://registry.yarnpkg.com/sane/-/sane-4.1.0.tgz#ed881fd922733a6c461bc189dc2b6c006f3ffded" + integrity sha512-hhbzAgTIX8O7SHfp2c8/kREfEn4qO/9q8C9beyY6+tvZ87EpoZ3i1RIEvp27YBswnNbY9mWd6paKVmKbAgLfZA== + dependencies: + "@cnakazawa/watch" "^1.0.3" + anymatch "^2.0.0" + capture-exit "^2.0.0" + exec-sh "^0.3.2" + execa "^1.0.0" + fb-watchman "^2.0.0" + micromatch "^3.1.4" + minimist "^1.1.1" + walker "~1.0.5" + +sass-loader@8.0.2: + version "8.0.2" + resolved "https://registry.yarnpkg.com/sass-loader/-/sass-loader-8.0.2.tgz#debecd8c3ce243c76454f2e8290482150380090d" + integrity sha512-7o4dbSK8/Ol2KflEmSco4jTjQoV988bM82P9CZdmo9hR3RLnvNc0ufMNdMrB0caq38JQ/FgF4/7RcbcfKzxoFQ== + dependencies: + clone-deep "^4.0.1" + loader-utils "^1.2.3" + neo-async "^2.6.1" + schema-utils "^2.6.1" + semver "^6.3.0" + +sass@1.27.0: + version "1.27.0" + resolved "https://registry.yarnpkg.com/sass/-/sass-1.27.0.tgz#0657ff674206b95ec20dc638a93e179c78f6ada2" + integrity sha512-0gcrER56OkzotK/GGwgg4fPrKuiFlPNitO7eUJ18Bs+/NBlofJfMxmxqpqJxjae9vu0Wq8TZzrSyxZal00WDig== + dependencies: + chokidar ">=2.0.0 <4.0.0" + +saxes@^3.1.9: + version "3.1.11" + resolved "https://registry.yarnpkg.com/saxes/-/saxes-3.1.11.tgz#d59d1fd332ec92ad98a2e0b2ee644702384b1c5b" + integrity sha512-Ydydq3zC+WYDJK1+gRxRapLIED9PWeSuuS41wqyoRmzvhhh9nc+QQrVMKJYzJFULazeGhzSV0QleN2wD3boh2g== + dependencies: + xmlchars "^2.1.1" + +saxes@^5.0.1: + version "5.0.1" + resolved "https://registry.yarnpkg.com/saxes/-/saxes-5.0.1.tgz#eebab953fa3b7608dbe94e5dadb15c888fa6696d" + integrity sha512-5LBh1Tls8c9xgGjw3QrMwETmTMVk0oFgvrFSvWx62llR2hcEInrKNZ2GZCCuuy2lvWrdl5jhbpeqc5hRYKFOcw== + dependencies: + xmlchars "^2.2.0" + +scheduler@^0.20.2: + version "0.20.2" + resolved "https://registry.yarnpkg.com/scheduler/-/scheduler-0.20.2.tgz#4baee39436e34aa93b4874bddcbf0fe8b8b50e91" + integrity sha512-2eWfGgAqqWFGqtdMmcL5zCMK1U8KlXv8SQFGglL3CEtd0aDVDWgeF/YoCmvln55m5zSk3J/20hTaSBeSObsQDQ== + dependencies: + loose-envify "^1.1.0" + object-assign "^4.1.1" + +schema-utils@2.7.0: + version "2.7.0" + resolved "https://registry.yarnpkg.com/schema-utils/-/schema-utils-2.7.0.tgz#17151f76d8eae67fbbf77960c33c676ad9f4efc7" + integrity sha512-0ilKFI6QQF5nxDZLFn2dMjvc4hjg/Wkg7rHd3jK6/A4a1Hl9VFdQWvgB1UMGoU94pad1P/8N7fMcEnLnSiju8A== + dependencies: + "@types/json-schema" "^7.0.4" + ajv "^6.12.2" + ajv-keywords "^3.4.1" + +schema-utils@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/schema-utils/-/schema-utils-1.0.0.tgz#0b79a93204d7b600d4b2850d1f66c2a34951c770" + integrity sha512-i27Mic4KovM/lnGsy8whRCHhc7VicJajAjTrYg11K9zfZXnYIt4k5F+kZkwjnrhKzLic/HLU4j11mjsz2G/75g== + dependencies: + ajv "^6.1.0" + ajv-errors "^1.0.0" + ajv-keywords "^3.1.0" + +schema-utils@^2.5.0, schema-utils@^2.6.0, schema-utils@^2.6.1, schema-utils@^2.6.4, schema-utils@^2.6.5, schema-utils@^2.6.6: + version "2.7.1" + resolved "https://registry.yarnpkg.com/schema-utils/-/schema-utils-2.7.1.tgz#1ca4f32d1b24c590c203b8e7a50bf0ea4cd394d7" + integrity sha512-SHiNtMOUGWBQJwzISiVYKu82GiV4QYGePp3odlY1tuKO7gPtphAT5R/py0fA6xtbgLL/RvtJZnU9b8s0F1q0Xg== + dependencies: + "@types/json-schema" "^7.0.5" + ajv "^6.12.4" + ajv-keywords "^3.5.2" + +schema-utils@^3.0.0: + version "3.1.1" + resolved "https://registry.yarnpkg.com/schema-utils/-/schema-utils-3.1.1.tgz#bc74c4b6b6995c1d88f76a8b77bea7219e0c8281" + integrity sha512-Y5PQxS4ITlC+EahLuXaY86TXfR7Dc5lw294alXOq86JAHCihAIZfqv8nNCWvaEJvaC51uN9hbLGeV0cFBdH+Fw== + dependencies: + "@types/json-schema" "^7.0.8" + ajv "^6.12.5" + ajv-keywords "^3.5.2" + +screenfull@^5.1.0: + version "5.2.0" + resolved "https://registry.yarnpkg.com/screenfull/-/screenfull-5.2.0.tgz#6533d524d30621fc1283b9692146f3f13a93d1ba" + integrity sha512-9BakfsO2aUQN2K9Fdbj87RJIEZ82Q9IGim7FqM5OsebfoFC6ZHXgDq/KvniuLTPdeM8wY2o6Dj3WQ7KeQCj3cA== + +selection-is-backward@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/selection-is-backward/-/selection-is-backward-1.0.0.tgz#97a54633188a511aba6419fc5c1fa91b467e6be1" + integrity sha1-l6VGMxiKURq6ZBn8XB+pG0Z+a+E= + "semver@2 || 3 || 4 || 5", semver@^5.3.0: version "5.5.0" resolved "https://registry.yarnpkg.com/semver/-/semver-5.5.0.tgz#dc4bbc7a6ca9d916dee5d43516f0092b58f7b8ab" +semver@7.0.0: + version "7.0.0" + resolved "https://registry.yarnpkg.com/semver/-/semver-7.0.0.tgz#5f3ca35761e47e05b206c6daff2cf814f0316b8e" + integrity sha512-+GB6zVA9LWh6zovYQLALHwv5rb2PHGlJi3lfiqIHxR0uuwCgefcOJc59v9fv1w8GbStwxuuqqAjI9NMAOOgq1A== + +semver@7.x, semver@^7.1.3, semver@^7.2.1, semver@^7.3.2, semver@^7.3.5: + version "7.3.7" + resolved "https://registry.yarnpkg.com/semver/-/semver-7.3.7.tgz#12c5b649afdbf9049707796e22a4028814ce523f" + integrity sha512-QlYTucUYOews+WeEujDoEGziz4K6c47V/Bd+LjSSYcA94p+DmINdf7ncaUinThfvZyu13lN9OY1XDxt8C0Tw0g== + dependencies: + lru-cache "^6.0.0" + +semver@^5.5.0, semver@^5.6.0: + version "5.7.1" + resolved "https://registry.yarnpkg.com/semver/-/semver-5.7.1.tgz#a954f931aeba508d307bbf069eff0c01c96116f7" + integrity sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ== + +semver@^6.0.0, semver@^6.1.1, semver@^6.1.2, semver@^6.3.0: + version "6.3.0" + resolved "https://registry.yarnpkg.com/semver/-/semver-6.3.0.tgz#ee0a64c8af5e8ceea67687b133761e1becbd1d3d" + integrity sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw== + semver@~4.3.3: version "4.3.6" resolved "https://registry.yarnpkg.com/semver/-/semver-4.3.6.tgz#300bc6e0e86374f7ba61068b5b1ecd57fc6532da" -set-blocking@~2.0.0: +serialize-javascript@^3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/serialize-javascript/-/serialize-javascript-3.1.0.tgz#8bf3a9170712664ef2561b44b691eafe399214ea" + integrity sha512-JIJT1DGiWmIKhzRsG91aS6Ze4sFUrYbltlkg2onR5OrnNM02Kl/hnY/T4FN2omvyeBbQmMJv+K4cPOpGzOTFBg== + dependencies: + randombytes "^2.1.0" + +serialize-javascript@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/serialize-javascript/-/serialize-javascript-4.0.0.tgz#b525e1238489a5ecfc42afacc3fe99e666f4b1aa" + integrity sha512-GaNA54380uFefWghODBWEGisLZFj00nS5ACs6yHa9nLqlLpVLO8ChDGeKRjZnV4Nh4n0Qi7nhYZD/9fCPzEqkw== + dependencies: + randombytes "^2.1.0" + +set-blocking@^2.0.0, set-blocking@~2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/set-blocking/-/set-blocking-2.0.0.tgz#045f9782d011ae9a6803ddd382b24392b3d890f7" +set-harmonic-interval@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/set-harmonic-interval/-/set-harmonic-interval-1.0.1.tgz#e1773705539cdfb80ce1c3d99e7f298bb3995249" + integrity sha512-AhICkFV84tBP1aWqPwLZqFvAwqEoVA9kxNMniGEUvzOlm4vLmOFLiTT3UZ6bziJTy4bOVpzWGTfSCbmaayGx8g== + set-immediate-shim@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/set-immediate-shim/-/set-immediate-shim-1.0.1.tgz#4b2b1b27eb808a9f8dcc481a58e5e56f599f3f61" +set-value@^2.0.0, set-value@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/set-value/-/set-value-2.0.1.tgz#a18d40530e6f07de4228c7defe4227af8cad005b" + integrity sha512-JxHc1weCN68wRY0fhCoXpyK55m/XPHafOmK4UWD7m2CI14GMcFypt4w/0+NV5f/ZMby2F6S2wwA7fgynh9gWSw== + dependencies: + extend-shallow "^2.0.1" + is-extendable "^0.1.1" + is-plain-object "^2.0.3" + split-string "^3.0.1" + +setimmediate@^1.0.4: + version "1.0.5" + resolved "https://registry.yarnpkg.com/setimmediate/-/setimmediate-1.0.5.tgz#290cbb232e306942d7d7ea9b83732ab7856f8285" + integrity sha1-KQy7Iy4waULX1+qbg3Mqt4VvgoU= + setprototypeof@1.0.3: version "1.0.3" resolved "https://registry.yarnpkg.com/setprototypeof/-/setprototypeof-1.0.3.tgz#66567e37043eeb4f04d91bd658c0cbefb55b8e04" +sha.js@^2.4.0, sha.js@^2.4.8: + version "2.4.11" + resolved "https://registry.yarnpkg.com/sha.js/-/sha.js-2.4.11.tgz#37a5cf0b81ecbc6943de109ba2960d1b26584ae7" + integrity sha512-QMEp5B7cftE7APOjk5Y6xgrbWu+WkLVQwk8JNjZ8nKRciZaByEW6MubieAiToS7+dwvrjGhH8jRXz3MVd0AYqQ== + dependencies: + inherits "^2.0.1" + safe-buffer "^5.0.1" + +shallow-clone@^3.0.0: + version "3.0.1" + resolved "https://registry.yarnpkg.com/shallow-clone/-/shallow-clone-3.0.1.tgz#8f2981ad92531f55035b01fb230769a40e02efa3" + integrity sha512-/6KqX+GVUdqPuPPd2LxDDxzX6CAbjJehAAOKlNpqqUpAqPM6HeL8f+o3a+JsyGjn2lv0WY8UsTgUJjU9Ok55NA== + dependencies: + kind-of "^6.0.2" + +shallowequal@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/shallowequal/-/shallowequal-1.1.0.tgz#188d521de95b9087404fd4dcb68b13df0ae4e7f8" + integrity sha512-y0m1JoUZSlPAjXVtPPW70aZWfIL/dSP7AFkRnniLCrK/8MDKog3TySTBmckD+RObVxH0v4Tox67+F14PdED2oQ== + shebang-command@^1.2.0: version "1.2.0" resolved "https://registry.yarnpkg.com/shebang-command/-/shebang-command-1.2.0.tgz#44aac65b695b03398968c39f363fee5deafdf1ea" dependencies: shebang-regex "^1.0.0" +shebang-command@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/shebang-command/-/shebang-command-2.0.0.tgz#ccd0af4f8835fbdc265b82461aaf0c36663f34ea" + integrity sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA== + dependencies: + shebang-regex "^3.0.0" + shebang-regex@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/shebang-regex/-/shebang-regex-1.0.0.tgz#da42f49740c0b42db2ca9728571cb190c98efea3" +shebang-regex@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/shebang-regex/-/shebang-regex-3.0.0.tgz#ae16f1644d873ecad843b0307b143362d4c42172" + integrity sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A== + +shell-quote@^1.7.3: + version "1.7.3" + resolved "https://registry.yarnpkg.com/shell-quote/-/shell-quote-1.7.3.tgz#aa40edac170445b9a431e17bb62c0b881b9c4123" + integrity sha512-Vpfqwm4EnqGdlsBFNmHhxhElJYrdfcxPThu+ryKS5J8L/fhAwLazFZtq+S+TWZ9ANj2piSQLGj6NQg+lKPmxrw== + +shellwords@^0.1.1: + version "0.1.1" + resolved "https://registry.yarnpkg.com/shellwords/-/shellwords-0.1.1.tgz#d6b9181c1a48d397324c84871efbcfc73fc0654b" + integrity sha512-vFwSUfQvqybiICwZY5+DAWIPLKsWO31Q91JSKl3UYv+K5c2QRPzn0qzec6QPu1Qc9eHYItiP3NdJqNVqetYAww== + +side-channel@^1.0.4: + version "1.0.4" + resolved "https://registry.yarnpkg.com/side-channel/-/side-channel-1.0.4.tgz#efce5c8fdc104ee751b25c58d4290011fa5ea2cf" + integrity sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw== + dependencies: + call-bind "^1.0.0" + get-intrinsic "^1.0.2" + object-inspect "^1.9.0" + signal-exit@^3.0.0: version "3.0.2" resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.2.tgz#b5fdc08f1287ea1178628e415e25132b73646c6d" +signal-exit@^3.0.2, signal-exit@^3.0.3: + version "3.0.7" + resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.7.tgz#a9a1767f8af84155114eaabd73f99273c8f59ad9" + integrity sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ== + +simple-git@^3.5.0: + version "3.7.1" + resolved "https://registry.yarnpkg.com/simple-git/-/simple-git-3.7.1.tgz#cb85c59da4da3d69792d206dd28cfbd803941fac" + integrity sha512-+Osjtsumbtew2y9to0pOYjNzSIr4NkKGBg7Po5SUtjQhaJf2QBmiTX/9E9cv9rmc7oUiSGFIB9e7ys5ibnT9+A== + dependencies: + "@kwsites/file-exists" "^1.1.1" + "@kwsites/promise-deferred" "^1.1.1" + debug "^4.3.3" + +simple-is@~0.2.0: + version "0.2.0" + resolved "https://registry.yarnpkg.com/simple-is/-/simple-is-0.2.0.tgz#2abb75aade39deb5cc815ce10e6191164850baf0" + integrity sha1-Krt1qt453rXMgVzhDmGRFkhQuvA= + sinon@^3.2.1: version "3.3.0" resolved "https://registry.yarnpkg.com/sinon/-/sinon-3.3.0.tgz#9132111b4bbe13c749c2848210864250165069b1" @@ -2381,6 +12942,121 @@ sinon@^3.2.1: text-encoding "0.6.4" type-detect "^4.0.0" +sisteransi@^1.0.5: + version "1.0.5" + resolved "https://registry.yarnpkg.com/sisteransi/-/sisteransi-1.0.5.tgz#134d681297756437cc05ca01370d3a7a571075ed" + integrity sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg== + +slash@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/slash/-/slash-1.0.0.tgz#c41f2f6c39fc16d1cd17ad4b5d896114ae470d55" + integrity sha1-xB8vbDn8FtHNF61LXYlhFK5HDVU= + +slash@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/slash/-/slash-2.0.0.tgz#de552851a1759df3a8f206535442f5ec4ddeab44" + integrity sha512-ZYKh3Wh2z1PpEXWr0MpSBZ0V6mZHAQfYevttO11c51CaWjGTaadiKZ+wVt1PbMlDV5qhMFslpZCemhwOK7C89A== + +slash@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/slash/-/slash-3.0.0.tgz#6539be870c165adbd5240220dbe361f1bc4d4634" + integrity sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q== + +slate-base64-serializer@^0.2.111: + version "0.2.115" + resolved "https://registry.yarnpkg.com/slate-base64-serializer/-/slate-base64-serializer-0.2.115.tgz#438e051959bde013b50507f3144257e74039ff7f" + integrity sha512-GnLV7bUW/UQ5j7rVIxCU5zdB6NOVsEU6YWsCp68dndIjSGTGLaQv2+WwV3NcnrGGZEYe5qgo33j2QWrPws2C1A== + dependencies: + isomorphic-base64 "^1.0.2" + +slate-dev-environment@^0.2.2: + version "0.2.5" + resolved "https://registry.yarnpkg.com/slate-dev-environment/-/slate-dev-environment-0.2.5.tgz#481b6906fde5becc390db7c14edf97a4bb0029f2" + integrity sha512-oLD8Fclv/RqrDv6RYfN2CRzNcRXsUB99Qgcw5L/njTjxAdDPguV6edQ3DgUG9Q2pLFLhI15DwsKClzVfFzfwGQ== + dependencies: + is-in-browser "^1.1.3" + +slate-hotkeys@^0.2.9: + version "0.2.11" + resolved "https://registry.yarnpkg.com/slate-hotkeys/-/slate-hotkeys-0.2.11.tgz#a94db117d9a98575671192329b05f23e6f485d6f" + integrity sha512-xhq/TlI74dRbO57O4ulGsvCcV4eaQ5nEEz9noZjeNLtNzFRd6lSgExRqAJqKGGIeJw+FnJ3OcqGvdb5CEc9/Ew== + dependencies: + is-hotkey "0.1.4" + slate-dev-environment "^0.2.2" + +slate-plain-serializer@0.7.10: + version "0.7.10" + resolved "https://registry.yarnpkg.com/slate-plain-serializer/-/slate-plain-serializer-0.7.10.tgz#bc4a6942cf52fde826019bb1095dffd0dac8cc08" + integrity sha512-/QvMCQ0F3NzbnuoW+bxsLIChPdRgxBjQeGhYhpRGTVvlZCLOmfDvavhN6fHsuEwkvdwOmocNF30xT1WVlmibYg== + +slate-plain-serializer@^0.7.10: + version "0.7.13" + resolved "https://registry.yarnpkg.com/slate-plain-serializer/-/slate-plain-serializer-0.7.13.tgz#6de8f5c645dd749f1b2e4426c20de74bfd213adf" + integrity sha512-TtrlaslxQBEMV0LYdf3s7VAbTxRPe1xaW10WNNGAzGA855/0RhkaHjKkQiRjHv5rvbRleVf7Nxr9fH+4uErfxQ== + +slate-prop-types@^0.5.41: + version "0.5.44" + resolved "https://registry.yarnpkg.com/slate-prop-types/-/slate-prop-types-0.5.44.tgz#da60b69c3451c3bd6cdd60a45d308eeba7e83c76" + integrity sha512-JS0iW7uaciE/W3ADuzeN1HOnSjncQhHPXJ65nZNQzB0DF7mXVmbwQKI6cmCo/xKni7XRJT0JbWSpXFhEdPiBUA== + +slate-react-placeholder@^0.2.8: + version "0.2.9" + resolved "https://registry.yarnpkg.com/slate-react-placeholder/-/slate-react-placeholder-0.2.9.tgz#30f450a05d4871c7d1a27668ebe7907861e7ca74" + integrity sha512-YSJ9Gb4tGpbzPje3eNKtu26hWM8ApxTk9RzjK+6zfD5V/RMTkuWONk24y6c9lZk0OAYNZNUmrnb/QZfU3j9nag== + +slate@0.47.8: + version "0.47.8" + resolved "https://registry.yarnpkg.com/slate/-/slate-0.47.8.tgz#1e987b74d8216d44ec56154f0e6d3c722ce21e6e" + integrity sha512-/Jt0eq4P40qZvtzeKIvNb+1N97zVICulGQgQoMDH0TI8h8B+5kqa1YeckRdRnuvfYJm3J/9lWn2V3J1PrF+hag== + dependencies: + debug "^3.1.0" + direction "^0.1.5" + esrever "^0.2.0" + is-plain-object "^2.0.4" + lodash "^4.17.4" + tiny-invariant "^1.0.1" + tiny-warning "^0.0.3" + type-of "^2.0.1" + +slice-ansi@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/slice-ansi/-/slice-ansi-4.0.0.tgz#500e8dd0fd55b05815086255b3195adf2a45fe6b" + integrity sha512-qMCMfhY040cVHT43K9BFygqYbUPFZKHOg7K73mtTWJRb8pyP3fzf4Ixd5SzdEJQ6MRUg/WBnOLxghZtKKurENQ== + dependencies: + ansi-styles "^4.0.0" + astral-regex "^2.0.0" + is-fullwidth-code-point "^3.0.0" + +snapdragon-node@^2.0.1: + version "2.1.1" + resolved "https://registry.yarnpkg.com/snapdragon-node/-/snapdragon-node-2.1.1.tgz#6c175f86ff14bdb0724563e8f3c1b021a286853b" + integrity sha512-O27l4xaMYt/RSQ5TR3vpWCAB5Kb/czIcqUFOM/C4fYcLnbZUc1PkjTAMjof2pBWaSTwOUd6qUHcFGVGj7aIwnw== + dependencies: + define-property "^1.0.0" + isobject "^3.0.0" + snapdragon-util "^3.0.1" + +snapdragon-util@^3.0.1: + version "3.0.1" + resolved "https://registry.yarnpkg.com/snapdragon-util/-/snapdragon-util-3.0.1.tgz#f956479486f2acd79700693f6f7b805e45ab56e2" + integrity sha512-mbKkMdQKsjX4BAL4bRYTj21edOf8cN7XHdYUJEe+Zn99hVEYcMvKPct1IqNe7+AZPirn8BCDOQBHQZknqmKlZQ== + dependencies: + kind-of "^3.2.0" + +snapdragon@^0.8.1: + version "0.8.2" + resolved "https://registry.yarnpkg.com/snapdragon/-/snapdragon-0.8.2.tgz#64922e7c565b0e14204ba1aa7d6964278d25182d" + integrity sha512-FtyOnWN/wCHTVXOMwvSv26d+ko5vWlIDD6zoUJ7LW8vh+ZBC8QdljveRP+crNrtBwioEUWy/4dMtbBjA4ioNlg== + dependencies: + 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" + sntp@1.x.x: version "1.0.9" resolved "https://registry.yarnpkg.com/sntp/-/sntp-1.0.9.tgz#6541184cc90aeea6c6e7b35e2659082443c66198" @@ -2437,10 +13113,94 @@ socket.io@1.7.3: socket.io-client "1.7.3" socket.io-parser "2.3.1" -source-map@^0.5.3: +sort-asc@^0.1.0: + version "0.1.0" + resolved "https://registry.yarnpkg.com/sort-asc/-/sort-asc-0.1.0.tgz#ab799df61fc73ea0956c79c4b531ed1e9e7727e9" + integrity sha1-q3md9h/HPqCVbHnEtTHtHp53J+k= + +sort-desc@^0.1.1: + version "0.1.1" + resolved "https://registry.yarnpkg.com/sort-desc/-/sort-desc-0.1.1.tgz#198b8c0cdeb095c463341861e3925d4ee359a9ee" + integrity sha1-GYuMDN6wlcRjNBhh45JdTuNZqe4= + +sort-keys@^1.0.0: + version "1.1.2" + resolved "https://registry.yarnpkg.com/sort-keys/-/sort-keys-1.1.2.tgz#441b6d4d346798f1b4e49e8920adfba0e543f9ad" + integrity sha1-RBttTTRnmPG05J6JIK37oOVD+a0= + dependencies: + is-plain-obj "^1.0.0" + +sort-object@^0.3.2: + version "0.3.2" + resolved "https://registry.yarnpkg.com/sort-object/-/sort-object-0.3.2.tgz#98e0d199ede40e07c61a84403c61d6c3b290f9e2" + integrity sha1-mODRme3kDgfGGoRAPGHWw7KQ+eI= + dependencies: + sort-asc "^0.1.0" + sort-desc "^0.1.1" + +source-list-map@^2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/source-list-map/-/source-list-map-2.0.1.tgz#3993bd873bfc48479cca9ea3a547835c7c154b34" + integrity sha512-qnQ7gVMxGNxsiL4lEuJwe/To8UnK7fAnmbGEEH8RpLouuKbeEm0lhbQVFIrNSuB+G7tVrAlVsZgETT5nljf+Iw== + +source-map-js@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/source-map-js/-/source-map-js-1.0.2.tgz#adbc361d9c62df380125e7f161f71c826f1e490c" + integrity sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw== + +source-map-resolve@^0.5.0: + version "0.5.3" + resolved "https://registry.yarnpkg.com/source-map-resolve/-/source-map-resolve-0.5.3.tgz#190866bece7553e1f8f267a2ee82c606b5509a1a" + integrity sha512-Htz+RnsXWk5+P2slx5Jh3Q66vhQj1Cllm0zvnaY98+NFx+Dv2CF/f5O/t8x+KaNdrdIAsruNzoh/KpialbqAnw== + dependencies: + 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@^0.5.17, source-map-support@^0.5.6, source-map-support@~0.5.12: + version "0.5.21" + resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.5.21.tgz#04fe7c7f9e1ed2d662233c28cb2b35b9f63f6e4f" + integrity sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w== + dependencies: + buffer-from "^1.0.0" + source-map "^0.6.0" + +source-map-url@^0.4.0: + version "0.4.1" + resolved "https://registry.yarnpkg.com/source-map-url/-/source-map-url-0.4.1.tgz#0af66605a745a5a2f91cf1bbf8a7afbc283dec56" + integrity sha512-cPiFOTLUKvJFIg4SKVScy4ilPPW6rFgMgfuZJPNoDuMs3nC1HbMUycBoJw77xFIp6z1UJQJOfx6C9GMH80DiTw== + +source-map@0.5.6: + version "0.5.6" + resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.5.6.tgz#75ce38f52bf0733c5a7f0c118d81334a2bb5f412" + integrity sha1-dc449SvwczxafwwRjYEzSiu19BI= + +source-map@^0.5.0, source-map@^0.5.3, source-map@^0.5.6, source-map@^0.5.7, source-map@~0.5.0: version "0.5.7" resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.5.7.tgz#8a039d2d1021d22d1ea14c80d8ea468ba2ef3fcc" +source-map@^0.6.0, source-map@^0.6.1, source-map@~0.6.0, source-map@~0.6.1: + version "0.6.1" + resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.6.1.tgz#74722af32e9614e9c287a8d0bbde48b5e2f1a263" + integrity sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g== + +source-map@^0.7.3: + version "0.7.3" + resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.7.3.tgz#5302f8169031735226544092e64981f751750383" + integrity sha512-CkCj6giN3S+n9qrYiBTX5gystlENnRW5jZeNLHpe6aue+SrHcG5VYwujhW9s4dY31mEGsxBDrHR6oI69fTXsaQ== + +sourcemap-codec@^1.4.8: + version "1.4.8" + resolved "https://registry.yarnpkg.com/sourcemap-codec/-/sourcemap-codec-1.4.8.tgz#ea804bd94857402e6992d05a38ef1ae35a9ab4c4" + integrity sha512-9NykojV5Uih4lgo5So5dtw+f0JgJX30KCNI8gwhz2J9A15wD0Ml6tjHKwf6fTSa6fAdVBdZeNOs9eJ71qCk8vA== + +spawn-command@^0.0.2-1: + version "0.0.2-1" + resolved "https://registry.yarnpkg.com/spawn-command/-/spawn-command-0.0.2-1.tgz#62f5e9466981c1b796dc5929937e11c9c6921bd0" + integrity sha1-YvXpRmmBwbeW3Fkpk34RycaSG9A= + spdx-correct@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/spdx-correct/-/spdx-correct-3.0.0.tgz#05a5b4d7153a195bc92c3c425b69f3b2a9524c82" @@ -2459,10 +13219,25 @@ spdx-expression-parse@^3.0.0: spdx-exceptions "^2.1.0" spdx-license-ids "^3.0.0" +spdx-expression-parse@^3.0.1: + version "3.0.1" + resolved "https://registry.yarnpkg.com/spdx-expression-parse/-/spdx-expression-parse-3.0.1.tgz#cf70f50482eefdc98e3ce0a6833e4a53ceeba679" + integrity sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q== + dependencies: + spdx-exceptions "^2.1.0" + spdx-license-ids "^3.0.0" + spdx-license-ids@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/spdx-license-ids/-/spdx-license-ids-3.0.0.tgz#7a7cd28470cc6d3a1cfe6d66886f6bc430d3ac87" +split-string@^3.0.1, split-string@^3.0.2: + version "3.1.0" + resolved "https://registry.yarnpkg.com/split-string/-/split-string-3.1.0.tgz#7cb09dda3a86585705c64b39a6466038682e8fe2" + integrity sha512-NzNVhJDYpwceVVii8/Hu6DKfD2G+NrQHlS/V/qgv763EYudVwEcMQNxd2lh+0VrUByXN/oJkl5grOhYWvQUYiw== + dependencies: + extend-shallow "^3.0.0" + sprintf-js@^1.0.3: version "1.1.1" resolved "https://registry.yarnpkg.com/sprintf-js/-/sprintf-js-1.1.1.tgz#36be78320afe5801f6cea3ee78b6e5aab940ea0c" @@ -2485,10 +13260,86 @@ sshpk@^1.7.0: jsbn "~0.1.0" tweetnacl "~0.14.0" +ssri@^6.0.1: + version "6.0.2" + resolved "https://registry.yarnpkg.com/ssri/-/ssri-6.0.2.tgz#157939134f20464e7301ddba3e90ffa8f7728ac5" + integrity sha512-cepbSq/neFK7xB6A50KHN0xHDotYzq58wWCa5LeWqnPrHG8GzfEjO/4O8kpmcGW+oaxkvhEJCWgbgNk4/ZV93Q== + dependencies: + figgy-pudding "^3.5.1" + +ssri@^7.0.0: + version "7.1.1" + resolved "https://registry.yarnpkg.com/ssri/-/ssri-7.1.1.tgz#33e44f896a967158e3c63468e47ec46613b95b5f" + integrity sha512-w+daCzXN89PseTL99MkA+fxJEcU3wfaE/ah0i0lnOlpG1CYLJ2ZjzEry68YBKfLs4JfoTShrTEsJkAZuNZ/stw== + dependencies: + figgy-pudding "^3.5.1" + minipass "^3.1.1" + +stable@^0.1.8: + version "0.1.8" + resolved "https://registry.yarnpkg.com/stable/-/stable-0.1.8.tgz#836eb3c8382fe2936feaf544631017ce7d47a3cf" + integrity sha512-ji9qxRnOVfcuLDySj9qzhGSEFVobyt1kIOSkj1qZzYLzq7Tos/oUUWvotUPQLlrsidqsK6tBH89Bc9kL5zHA6w== + +stack-generator@^2.0.5: + version "2.0.5" + resolved "https://registry.yarnpkg.com/stack-generator/-/stack-generator-2.0.5.tgz#fb00e5b4ee97de603e0773ea78ce944d81596c36" + integrity sha512-/t1ebrbHkrLrDuNMdeAcsvynWgoH/i4o8EGGfX7dEYDoTXOYVAkEpFdtshlvabzc6JlJ8Kf9YdFEoz7JkzGN9Q== + dependencies: + stackframe "^1.1.1" + stack-trace@0.0.x: version "0.0.10" resolved "https://registry.yarnpkg.com/stack-trace/-/stack-trace-0.0.10.tgz#547c70b347e8d32b4e108ea1a2a159e5fdde19c0" +stack-utils@^1.0.1: + version "1.0.5" + resolved "https://registry.yarnpkg.com/stack-utils/-/stack-utils-1.0.5.tgz#a19b0b01947e0029c8e451d5d61a498f5bb1471b" + integrity sha512-KZiTzuV3CnSnSvgMRrARVCj+Ht7rMbauGDK0LdVFRGyenwdylpajAp4Q0i6SX8rEmbTpMMf6ryq2gb8pPq2WgQ== + dependencies: + escape-string-regexp "^2.0.0" + +stack-utils@^2.0.2: + version "2.0.5" + resolved "https://registry.yarnpkg.com/stack-utils/-/stack-utils-2.0.5.tgz#d25265fca995154659dbbfba3b49254778d2fdd5" + integrity sha512-xrQcmYhOsn/1kX+Vraq+7j4oE2j/6BFscZ0etmYg81xuM8Gq0022Pxb8+IqgOFUIaxHs0KaSb7T1+OegiNrNFA== + dependencies: + escape-string-regexp "^2.0.0" + +stackframe@^1.1.1: + version "1.2.1" + resolved "https://registry.yarnpkg.com/stackframe/-/stackframe-1.2.1.tgz#1033a3473ee67f08e2f2fc8eba6aef4f845124e1" + integrity sha512-h88QkzREN/hy8eRdyNhhsO7RSJ5oyTqxxmmn0dzBIMUclZsjpfmrsg81vp8mjjAs2vAZ72nyWxRUwSwmh0e4xg== + +stacktrace-gps@^3.0.4: + version "3.0.4" + resolved "https://registry.yarnpkg.com/stacktrace-gps/-/stacktrace-gps-3.0.4.tgz#7688dc2fc09ffb3a13165ebe0dbcaf41bcf0c69a" + integrity sha512-qIr8x41yZVSldqdqe6jciXEaSCKw1U8XTXpjDuy0ki/apyTn/r3w9hDAAQOhZdxvsC93H+WwwEu5cq5VemzYeg== + dependencies: + source-map "0.5.6" + stackframe "^1.1.1" + +stacktrace-js@^2.0.2: + version "2.0.2" + resolved "https://registry.yarnpkg.com/stacktrace-js/-/stacktrace-js-2.0.2.tgz#4ca93ea9f494752d55709a081d400fdaebee897b" + integrity sha512-Je5vBeY4S1r/RnLydLl0TBTi3F2qdfWmYsGvtfZgEI+SCprPppaIhQf5nGcal4gI4cGpCV/duLcAzT1np6sQqg== + dependencies: + error-stack-parser "^2.0.6" + stack-generator "^2.0.5" + stacktrace-gps "^3.0.4" + +state-local@^1.0.6: + version "1.0.7" + resolved "https://registry.yarnpkg.com/state-local/-/state-local-1.0.7.tgz#da50211d07f05748d53009bee46307a37db386d5" + integrity sha512-HTEHMNieakEnoe33shBYcZ7NX83ACUjCu8c40iOGEZsngj9zRnkqS9j1pqQPXwobB0ZcVTk27REb7COQ0UR59w== + +static-extend@^0.1.1: + version "0.1.2" + resolved "https://registry.yarnpkg.com/static-extend/-/static-extend-0.1.2.tgz#60809c39cbff55337226fd5e0b520f341f1fb5c6" + integrity sha1-YICcOcv/VTNyJv1eC1IPNB8ftcY= + dependencies: + define-property "^0.2.5" + object-copy "^0.1.0" + statuses@1, "statuses@>= 1.3.1 < 2": version "1.4.0" resolved "https://registry.yarnpkg.com/statuses/-/statuses-1.4.0.tgz#bb73d446da2796106efcc1b601a253d6c46bd087" @@ -2497,6 +13348,56 @@ statuses@~1.3.1: version "1.3.1" resolved "https://registry.yarnpkg.com/statuses/-/statuses-1.3.1.tgz#faf51b9eb74aaef3b3acf4ad5f61abf24cb7b93e" +stealthy-require@^1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/stealthy-require/-/stealthy-require-1.1.1.tgz#35b09875b4ff49f26a777e509b3090a3226bf24b" + integrity sha1-NbCYdbT/SfJqd35QmzCQoyJr8ks= + +stream-browserify@^2.0.1: + version "2.0.2" + resolved "https://registry.yarnpkg.com/stream-browserify/-/stream-browserify-2.0.2.tgz#87521d38a44aa7ee91ce1cd2a47df0cb49dd660b" + integrity sha512-nX6hmklHs/gr2FuxYDltq8fJA1GDlxKQCz8O/IM4atRqBH8OORmBNgfvW5gG10GT/qQ9u0CzIvr2X5Pkt6ntqg== + dependencies: + inherits "~2.0.1" + readable-stream "^2.0.2" + +stream-each@^1.1.0: + version "1.2.3" + resolved "https://registry.yarnpkg.com/stream-each/-/stream-each-1.2.3.tgz#ebe27a0c389b04fbcc233642952e10731afa9bae" + integrity sha512-vlMC2f8I2u/bZGqkdfLQW/13Zihpej/7PmSiMQsbYddxuTsJp8vRe2x2FvVExZg7FaOds43ROAuFJwPR4MTZLw== + dependencies: + end-of-stream "^1.1.0" + stream-shift "^1.0.0" + +stream-http@^2.7.2: + version "2.8.3" + resolved "https://registry.yarnpkg.com/stream-http/-/stream-http-2.8.3.tgz#b2d242469288a5a27ec4fe8933acf623de6514fc" + integrity sha512-+TSkfINHDo4J+ZobQLWiMouQYB+UVYFttRA94FpEzzJ7ZdqcL4uUUQ7WkdkI4DSozGmgBUE/a47L+38PenXhUw== + dependencies: + builtin-status-codes "^3.0.0" + inherits "^2.0.1" + readable-stream "^2.3.6" + to-arraybuffer "^1.0.0" + xtend "^4.0.0" + +stream-shift@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/stream-shift/-/stream-shift-1.0.1.tgz#d7088281559ab2778424279b0877da3c392d5a3d" + integrity sha512-AiisoFqQ0vbGcZgQPY1cdP2I76glaVA/RauYR4G4thNFgkTqr90yXTo4LYX60Jl+sIlPNHHdGSwo01AvbKUSVQ== + +strict-uri-encode@^1.0.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/strict-uri-encode/-/strict-uri-encode-1.1.0.tgz#279b225df1d582b1f54e65addd4352e18faa0713" + integrity sha1-J5siXfHVgrH1TmWt3UNS4Y+qBxM= + +string-length@^4.0.1: + version "4.0.2" + resolved "https://registry.yarnpkg.com/string-length/-/string-length-4.0.2.tgz#a8a8dc7bd5c1a82b9b3c8b87e125f66871b6e57a" + integrity sha512-+l6rNN5fYHNhZZy41RXsYptCjA2Igmq4EG7kZAYFQI1E1VTXarr6ZPXBg6eq7Y6eK4FEhY6AJlyuFIb/v/S0VQ== + dependencies: + char-regex "^1.0.2" + strip-ansi "^6.0.0" + string-width@^1.0.1, string-width@^1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/string-width/-/string-width-1.0.2.tgz#118bdf5b8cdc51a2a7e70d211e07e2b0b9b107d3" @@ -2505,6 +13406,52 @@ string-width@^1.0.1, string-width@^1.0.2: is-fullwidth-code-point "^1.0.0" strip-ansi "^3.0.0" +string-width@^4.1.0, string-width@^4.2.0, string-width@^4.2.3: + version "4.2.3" + resolved "https://registry.yarnpkg.com/string-width/-/string-width-4.2.3.tgz#269c7117d27b05ad2e536830a8ec895ef9c6d010" + integrity sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g== + dependencies: + emoji-regex "^8.0.0" + is-fullwidth-code-point "^3.0.0" + strip-ansi "^6.0.1" + +string.prototype.matchall@^4.0.6: + version "4.0.7" + resolved "https://registry.yarnpkg.com/string.prototype.matchall/-/string.prototype.matchall-4.0.7.tgz#8e6ecb0d8a1fb1fda470d81acecb2dba057a481d" + integrity sha512-f48okCX7JiwVi1NXCVWcFnZgADDC/n2vePlQ/KUCNqCikLLilQvwjMO8+BHVKvgzH0JB0J9LEPgxOGT02RoETg== + dependencies: + call-bind "^1.0.2" + define-properties "^1.1.3" + es-abstract "^1.19.1" + get-intrinsic "^1.1.1" + has-symbols "^1.0.3" + internal-slot "^1.0.3" + regexp.prototype.flags "^1.4.1" + side-channel "^1.0.4" + +string.prototype.trimend@^1.0.4: + version "1.0.4" + resolved "https://registry.yarnpkg.com/string.prototype.trimend/-/string.prototype.trimend-1.0.4.tgz#e75ae90c2942c63504686c18b287b4a0b1a45f80" + integrity sha512-y9xCjw1P23Awk8EvTpcyL2NIr1j7wJ39f+k6lvRnSMz+mz9CGz9NYPelDk42kOz6+ql8xjfK8oYzy3jAP5QU5A== + dependencies: + call-bind "^1.0.2" + define-properties "^1.1.3" + +string.prototype.trimstart@^1.0.4: + version "1.0.4" + resolved "https://registry.yarnpkg.com/string.prototype.trimstart/-/string.prototype.trimstart-1.0.4.tgz#b36399af4ab2999b4c9c648bd7a3fb2bb26feeed" + integrity sha512-jh6e984OBfvxS50tdY2nRZnoC5/mLFKOREQfw8t5yytkoUsJRNxvI/E39qu1sD0OtWI3OC0XgKSmcWwziwYuZw== + dependencies: + call-bind "^1.0.2" + define-properties "^1.1.3" + +string_decoder@^1.0.0, string_decoder@^1.1.1: + version "1.3.0" + resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.3.0.tgz#42f114594a46cf1a8e30b0a84f56c78c3edac21e" + integrity sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA== + dependencies: + safe-buffer "~5.2.0" + string_decoder@~0.10.x: version "0.10.31" resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-0.10.31.tgz#62e203bc41766c6c28c9fc84301dab1c5310fa94" @@ -2515,6 +13462,13 @@ string_decoder@~1.0.3: dependencies: safe-buffer "~5.1.0" +string_decoder@~1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.1.1.tgz#9cf1611ba62685d7030ae9e4ba34149c3af03fc8" + integrity sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg== + dependencies: + safe-buffer "~5.1.0" + stringstream@~0.0.4, stringstream@~0.0.5: version "0.0.5" resolved "https://registry.yarnpkg.com/stringstream/-/stringstream-0.0.5.tgz#4e484cd4de5a0bbbee18e46307710a8a81621878" @@ -2525,16 +13479,38 @@ strip-ansi@^3.0.0, strip-ansi@^3.0.1: dependencies: ansi-regex "^2.0.0" +strip-ansi@^6.0.0, strip-ansi@^6.0.1: + version "6.0.1" + resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-6.0.1.tgz#9e26c63d30f53443e9489495b2105d37b67a85d9" + integrity sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A== + dependencies: + ansi-regex "^5.0.1" + strip-bom@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/strip-bom/-/strip-bom-2.0.0.tgz#6219a85616520491f35788bdbf1447a99c7e6b0e" dependencies: is-utf8 "^0.2.0" +strip-bom@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/strip-bom/-/strip-bom-3.0.0.tgz#2334c18e9c759f7bdd56fdef7e9ae3d588e68ed3" + integrity sha1-IzTBjpx1n3vdVv3vfprj1YjmjtM= + +strip-bom@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/strip-bom/-/strip-bom-4.0.0.tgz#9c3505c1db45bcedca3d9cf7a16f5c5aa3901878" + integrity sha512-3xurFv5tEgii33Zi8Jtp55wEIILR9eh34FAW00PZf+JnSsTmV/ioewSgQl97JHvgjoRGwPShsWm+IdrxB35d0w== + strip-eof@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/strip-eof/-/strip-eof-1.0.0.tgz#bb43ff5598a6eb05d89b59fcd129c983313606bf" +strip-final-newline@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/strip-final-newline/-/strip-final-newline-2.0.0.tgz#89b852fb2fcbe936f6f4b3187afb0a12c1ab58ad" + integrity sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA== + strip-indent@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/strip-indent/-/strip-indent-1.0.1.tgz#0c7962a6adefa7bbd4ac366460a638552ae1a0a2" @@ -2545,10 +13521,41 @@ strip-indent@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/strip-indent/-/strip-indent-2.0.0.tgz#5ef8db295d01e6ed6cbf7aab96998d7822527b68" +strip-json-comments@^3.1.0, strip-json-comments@^3.1.1: + version "3.1.1" + resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-3.1.1.tgz#31f1281b3832630434831c310c01cccda8cbe006" + integrity sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig== + strip-json-comments@~2.0.1: version "2.0.1" resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-2.0.1.tgz#3c531942e908c2697c0ec344858c286c7ca0a60a" +style-loader@1.1.3: + version "1.1.3" + resolved "https://registry.yarnpkg.com/style-loader/-/style-loader-1.1.3.tgz#9e826e69c683c4d9bf9db924f85e9abb30d5e200" + integrity sha512-rlkH7X/22yuwFYK357fMN/BxYOorfnfq0eD7+vqlemSK4wEcejFF1dg4zxP0euBW8NrYx2WZzZ8PPFevr7D+Kw== + dependencies: + loader-utils "^1.2.3" + schema-utils "^2.6.4" + +stylehacks@^5.1.0: + version "5.1.0" + resolved "https://registry.yarnpkg.com/stylehacks/-/stylehacks-5.1.0.tgz#a40066490ca0caca04e96c6b02153ddc39913520" + integrity sha512-SzLmvHQTrIWfSgljkQCw2++C9+Ne91d/6Sp92I8c5uHTcy/PgeHamwITIbBW9wnFTY/3ZfSXR9HIL6Ikqmcu6Q== + dependencies: + browserslist "^4.16.6" + postcss-selector-parser "^6.0.4" + +stylis@4.0.13: + version "4.0.13" + resolved "https://registry.yarnpkg.com/stylis/-/stylis-4.0.13.tgz#f5db332e376d13cc84ecfe5dace9a2a51d954c91" + integrity sha512-xGPXiFVl4YED9Jh7Euv2V220mriG9u4B2TA6Ybjc1catrstKD2PpIdU3U0RKpkVBC2EhmL/F0sPCr9vrFTNRag== + +stylis@^4.0.6: + version "4.1.1" + resolved "https://registry.yarnpkg.com/stylis/-/stylis-4.1.1.tgz#e46c6a9bbf7c58db1e65bb730be157311ae1fe12" + integrity sha512-lVrM/bNdhVX2OgBFNa2YJ9Lxj7kPzylieHd3TNjuGE0Re9JB7joL5VUKOVH1kdNNJTgGPpT8hmwIAPLaSyEVFQ== + supports-color@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-2.0.0.tgz#535d045ce6b6363fa40117084629995e9df324c7" @@ -2559,6 +13566,58 @@ supports-color@^5.3.0: dependencies: has-flag "^3.0.0" +supports-color@^6.1.0: + version "6.1.0" + resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-6.1.0.tgz#0764abc69c63d5ac842dd4867e8d025e880df8f3" + integrity sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ== + dependencies: + has-flag "^3.0.0" + +supports-color@^7.0.0, supports-color@^7.1.0: + version "7.2.0" + resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-7.2.0.tgz#1b7dcdcb32b8138801b3e478ba6a51caa89648da" + integrity sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw== + dependencies: + has-flag "^4.0.0" + +supports-color@^8.1.0: + version "8.1.1" + resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-8.1.1.tgz#cd6fc17e28500cff56c1b86c0a7fd4a54a73005c" + integrity sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q== + dependencies: + has-flag "^4.0.0" + +supports-hyperlinks@^2.0.0: + version "2.2.0" + resolved "https://registry.yarnpkg.com/supports-hyperlinks/-/supports-hyperlinks-2.2.0.tgz#4f77b42488765891774b70c79babd87f9bd594bb" + integrity sha512-6sXEzV5+I5j8Bmq9/vUphGRM/RJNT9SCURJLjwfOg51heRtguGWDzcaBlgAzKhQa0EVNpPEKzQuBwZ8S8WaCeQ== + dependencies: + has-flag "^4.0.0" + supports-color "^7.0.0" + +supports-preserve-symlinks-flag@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz#6eda4bd344a3c94aea376d4cc31bc77311039e09" + integrity sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w== + +svgo@^2.7.0: + version "2.8.0" + resolved "https://registry.yarnpkg.com/svgo/-/svgo-2.8.0.tgz#4ff80cce6710dc2795f0c7c74101e6764cfccd24" + integrity sha512-+N/Q9kV1+F+UeWYoSiULYo4xYSDQlTgb+ayMobAXPwMnLvop7oxKMo9OzIrX5x3eS4L4f2UHhc9axXwY8DpChg== + dependencies: + "@trysound/sax" "0.2.0" + commander "^7.2.0" + css-select "^4.1.3" + css-tree "^1.1.3" + csso "^4.2.0" + picocolors "^1.0.0" + stable "^0.1.8" + +symbol-tree@^3.2.2, symbol-tree@^3.2.4: + version "3.2.4" + resolved "https://registry.yarnpkg.com/symbol-tree/-/symbol-tree-3.2.4.tgz#430637d248ba77e078883951fb9aa0eed7c63fa2" + integrity sha512-9QNk5KwDF+Bvz+PyObkmSYjI5ksVUYtjW7AU22r2NKcfLJcXp96hkDWU3+XndOsUb+AQ9QhfzfCT2O+CNWT5Tw== + systemjs-plugin-css@^0.1.35: version "0.1.37" resolved "https://registry.yarnpkg.com/systemjs-plugin-css/-/systemjs-plugin-css-0.1.37.tgz#684847252ca69b7da24a1201094c86274324e82f" @@ -2569,6 +13628,27 @@ systemjs@^0.19.47: dependencies: when "^3.7.5" +table@^6.0.9: + version "6.8.0" + resolved "https://registry.yarnpkg.com/table/-/table-6.8.0.tgz#87e28f14fa4321c3377ba286f07b79b281a3b3ca" + integrity sha512-s/fitrbVeEyHKFa7mFdkuQMWlH1Wgw/yEXMt5xACT4ZpzWFluehAxRtUUQKPuWhaLAWhFcVx6w3oC8VKaUfPGA== + dependencies: + ajv "^8.0.1" + lodash.truncate "^4.4.2" + slice-ansi "^4.0.0" + string-width "^4.2.3" + strip-ansi "^6.0.1" + +tapable@^1.0.0, tapable@^1.1.3: + version "1.1.3" + resolved "https://registry.yarnpkg.com/tapable/-/tapable-1.1.3.tgz#a1fccc06b58db61fd7a45da2da44f5f3a3e67ba2" + integrity sha512-4WK/bYZmj8xLr+HUCODHGF1ZFzsYffasLUgEiMBY4fgtltdO6B4WJtlSbPaDTLpYTcGVwM2qLnFTICEcNxs3kA== + +tapable@^2.2.0: + version "2.2.1" + resolved "https://registry.yarnpkg.com/tapable/-/tapable-2.2.1.tgz#1967a73ef4060a82f12ab96af86d52fdb76eeca0" + integrity sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ== + tar-pack@^3.4.0: version "3.4.1" resolved "https://registry.yarnpkg.com/tar-pack/-/tar-pack-3.4.1.tgz#e1dbc03a9b9d3ba07e896ad027317eb679a10a1f" @@ -2590,18 +13670,124 @@ tar@^2.2.1: fstream "^1.0.2" inherits "2" +terminal-link@^2.0.0: + version "2.1.1" + resolved "https://registry.yarnpkg.com/terminal-link/-/terminal-link-2.1.1.tgz#14a64a27ab3c0df933ea546fba55f2d078edc994" + integrity sha512-un0FmiRUQNr5PJqy9kP7c40F5BOfpGlYTrxonDChEZB7pzZxRNp/bt+ymiy9/npwXya9KH99nJ/GXFIiUkYGFQ== + dependencies: + ansi-escapes "^4.2.1" + supports-hyperlinks "^2.0.0" + +terser-webpack-plugin@2.3.7: + version "2.3.7" + resolved "https://registry.yarnpkg.com/terser-webpack-plugin/-/terser-webpack-plugin-2.3.7.tgz#4910ff5d1a872168cc7fa6cd3749e2b0d60a8a0b" + integrity sha512-xzYyaHUNhzgaAdBsXxk2Yvo/x1NJdslUaussK3fdpBbvttm1iIwU+c26dj9UxJcwk2c5UWt5F55MUTIA8BE7Dg== + dependencies: + cacache "^13.0.1" + find-cache-dir "^3.3.1" + jest-worker "^25.4.0" + p-limit "^2.3.0" + schema-utils "^2.6.6" + serialize-javascript "^3.1.0" + source-map "^0.6.1" + terser "^4.6.12" + webpack-sources "^1.4.3" + +terser-webpack-plugin@^1.4.3: + version "1.4.5" + resolved "https://registry.yarnpkg.com/terser-webpack-plugin/-/terser-webpack-plugin-1.4.5.tgz#a217aefaea330e734ffacb6120ec1fa312d6040b" + integrity sha512-04Rfe496lN8EYruwi6oPQkG0vo8C+HT49X687FZnpPF0qMAIHONI6HEXYPKDOE8e5HjXTyKfqRd/agHtH0kOtw== + dependencies: + cacache "^12.0.2" + find-cache-dir "^2.1.0" + is-wsl "^1.1.0" + schema-utils "^1.0.0" + serialize-javascript "^4.0.0" + source-map "^0.6.1" + terser "^4.1.2" + webpack-sources "^1.4.0" + worker-farm "^1.7.0" + +terser@^4.1.2, terser@^4.6.12: + version "4.8.0" + resolved "https://registry.yarnpkg.com/terser/-/terser-4.8.0.tgz#63056343d7c70bb29f3af665865a46fe03a0df17" + integrity sha512-EAPipTNeWsb/3wLPeup1tVPaXfIaU68xMnVdPafIL1TV05OhASArYyIfFvnvJCNrR2NIOvDVNNTFRa+Re2MWyw== + dependencies: + commander "^2.20.0" + source-map "~0.6.1" + source-map-support "~0.5.12" + +test-exclude@^5.2.3: + version "5.2.3" + resolved "https://registry.yarnpkg.com/test-exclude/-/test-exclude-5.2.3.tgz#c3d3e1e311eb7ee405e092dac10aefd09091eac0" + integrity sha512-M+oxtseCFO3EDtAaGH7iiej3CBkzXqFMbzqYAACdzKui4eZA+pq3tZEwChvOdNfa7xxy8BfbmgJSIr43cC/+2g== + dependencies: + glob "^7.1.3" + minimatch "^3.0.4" + read-pkg-up "^4.0.0" + require-main-filename "^2.0.0" + +test-exclude@^6.0.0: + version "6.0.0" + resolved "https://registry.yarnpkg.com/test-exclude/-/test-exclude-6.0.0.tgz#04a8698661d805ea6fa293b6cb9e63ac044ef15e" + integrity sha512-cAGWPIyOHU6zlmg88jwm7VRyXnMN7iV68OGAbYDk/Mh/xC/pzVPlQtY6ngoIH/5/tciuhGfvESU8GrHrcxD56w== + dependencies: + "@istanbuljs/schema" "^0.1.2" + glob "^7.1.4" + minimatch "^3.0.4" + text-encoding@0.6.4, text-encoding@^0.6.4: version "0.6.4" resolved "https://registry.yarnpkg.com/text-encoding/-/text-encoding-0.6.4.tgz#e399a982257a276dae428bb92845cb71bdc26d19" +text-table@^0.2.0: + version "0.2.0" + resolved "https://registry.yarnpkg.com/text-table/-/text-table-0.2.0.tgz#7f5ee823ae805207c00af2df4a84ec3fcfa570b4" + integrity sha1-f17oI66AUgfACvLfSoTsP8+lcLQ= + +throat@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/throat/-/throat-5.0.0.tgz#c5199235803aad18754a667d659b5e72ce16764b" + integrity sha512-fcwX4mndzpLQKBS1DVYhGAcYaYt7vsHNIvQV+WXMvnow5cgjPphq5CaayLaGsjRdSCKZFNGt7/GYAuXaNOiYCA== + +throttle-debounce@^3.0.1: + version "3.0.1" + resolved "https://registry.yarnpkg.com/throttle-debounce/-/throttle-debounce-3.0.1.tgz#32f94d84dfa894f786c9a1f290e7a645b6a19abb" + integrity sha512-dTEWWNu6JmeVXY0ZYoPuH5cRIwc0MeGbJwah9KUNYSJwommQpCzTySTpEe8Gs1J23aeWEuAobe4Ag7EHVt/LOg== + throttleit@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/throttleit/-/throttleit-1.0.0.tgz#9e785836daf46743145a5984b6268d828528ac6c" +through2@^2.0.0: + version "2.0.5" + resolved "https://registry.yarnpkg.com/through2/-/through2-2.0.5.tgz#01c1e39eb31d07cb7d03a96a70823260b23132cd" + integrity sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ== + dependencies: + readable-stream "~2.3.6" + xtend "~4.0.1" + +through@^2.3.6, through@~2.3.6: + version "2.3.8" + resolved "https://registry.yarnpkg.com/through/-/through-2.3.8.tgz#0dd4c9ffaabc357960b1b724115d7e0e86a2e1f5" + integrity sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU= + +timers-browserify@^2.0.4: + version "2.0.12" + resolved "https://registry.yarnpkg.com/timers-browserify/-/timers-browserify-2.0.12.tgz#44a45c11fbf407f34f97bccd1577c652361b00ee" + integrity sha512-9phl76Cqm6FhSX9Xe1ZUAMLtm1BLkKj2Qd5ApyWkXzsMRaA7dgr81kf4wJmQf/hAvg8EEyJxDo3du/0KlhPiKQ== + dependencies: + setimmediate "^1.0.4" + timespan@2.x: version "2.3.0" resolved "https://registry.yarnpkg.com/timespan/-/timespan-2.3.0.tgz#4902ce040bd13d845c8f59b27e9d59bad6f39929" +tiny-invariant@^1.0.1, tiny-invariant@^1.0.2, tiny-invariant@^1.0.6: + version "1.2.0" + resolved "https://registry.yarnpkg.com/tiny-invariant/-/tiny-invariant-1.2.0.tgz#a1141f86b672a9148c72e978a19a73b9b94a15a9" + integrity sha512-1Uhn/aqw5C6RI4KejVeTg6mIS7IqxnLJ8Mv2tV5rTc0qWobay7pDUz6Wi392Cnc8ak1H0F2cjoRzb2/AW4+Fvg== + tiny-lr@^0.2.1: version "0.2.1" resolved "https://registry.yarnpkg.com/tiny-lr/-/tiny-lr-0.2.1.tgz#b3fdba802e5d56a33c2f6f10794b32e477ac729d" @@ -2613,18 +13799,38 @@ tiny-lr@^0.2.1: parseurl "~1.3.0" qs "~5.1.0" +tiny-warning@^0.0.3: + version "0.0.3" + resolved "https://registry.yarnpkg.com/tiny-warning/-/tiny-warning-0.0.3.tgz#1807eb4c5f81784a6354d58ea1d5024f18c6c81f" + integrity sha512-r0SSA5Y5IWERF9Xh++tFPx0jITBgGggOsRLDWWew6YRw/C2dr4uNO1fw1vanrBmHsICmPyMLNBZboTlxUmUuaA== + +tiny-warning@^1.0.0, tiny-warning@^1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/tiny-warning/-/tiny-warning-1.0.3.tgz#94a30db453df4c643d0fd566060d60a875d84754" + integrity sha512-lBN9zLN/oAf68o3zNXYrdCt1kP8WsiGW8Oo2ka41b2IM5JL/S1CTyX1rW0mb/zSuJun0ZUrDxx4sqvYS2FWzPA== + +tinycolor2@1.4.2: + version "1.4.2" + resolved "https://registry.yarnpkg.com/tinycolor2/-/tinycolor2-1.4.2.tgz#3f6a4d1071ad07676d7fa472e1fac40a719d8803" + integrity sha512-vJhccZPs965sV/L2sU4oRQVAos0pQXwsvTLkWYdqJ+a8Q5kPFzJTuOFwy7UniPli44NKQGAglksjvOcpo95aZA== + tmp@0.0.31: version "0.0.31" resolved "https://registry.yarnpkg.com/tmp/-/tmp-0.0.31.tgz#8f38ab9438e17315e5dbd8b3657e8bfb277ae4a7" dependencies: os-tmpdir "~1.0.1" -tmp@0.0.x: +tmp@0.0.x, tmp@^0.0.33: version "0.0.33" resolved "https://registry.yarnpkg.com/tmp/-/tmp-0.0.33.tgz#6d34335889768d21b2bcda0aa277ced3b1bfadf9" dependencies: os-tmpdir "~1.0.2" +tmpl@1.0.5: + version "1.0.5" + resolved "https://registry.yarnpkg.com/tmpl/-/tmpl-1.0.5.tgz#8683e0b902bb9c20c4f726e3c0b69f36518c07cc" + integrity sha512-3f0uOEAQwIqGuWW2MVzYg8fV/QNnc/IpuJNG837rLuczAaLVHslWHZQj4IGiEl5Hs3kkbhwL9Ab7Hrsmuj+Smw== + tmpl@1.0.x: version "1.0.4" resolved "https://registry.yarnpkg.com/tmpl/-/tmpl-1.0.4.tgz#23640dd7b42d00433911140820e5cf440e521dd1" @@ -2633,16 +13839,203 @@ to-array@0.1.4: version "0.1.4" resolved "https://registry.yarnpkg.com/to-array/-/to-array-0.1.4.tgz#17e6c11f73dd4f3d74cda7a4ff3238e9ad9bf890" +to-arraybuffer@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/to-arraybuffer/-/to-arraybuffer-1.0.1.tgz#7d229b1fcc637e466ca081180836a7aabff83f43" + integrity sha1-fSKbH8xjfkZsoIEYCDanqr/4P0M= + +to-camel-case@1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/to-camel-case/-/to-camel-case-1.0.0.tgz#1a56054b2f9d696298ce66a60897322b6f423e46" + integrity sha1-GlYFSy+daWKYzmamCJcyK29CPkY= + dependencies: + to-space-case "^1.0.0" + +to-fast-properties@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/to-fast-properties/-/to-fast-properties-2.0.0.tgz#dc5e698cbd079265bc73e0377681a4e4e83f616e" + integrity sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4= + +to-no-case@^1.0.0: + version "1.0.2" + resolved "https://registry.yarnpkg.com/to-no-case/-/to-no-case-1.0.2.tgz#c722907164ef6b178132c8e69930212d1b4aa16a" + integrity sha1-xyKQcWTvaxeBMsjmmTAhLRtKoWo= + +to-object-path@^0.3.0: + version "0.3.0" + resolved "https://registry.yarnpkg.com/to-object-path/-/to-object-path-0.3.0.tgz#297588b7b0e7e0ac08e04e672f85c1f4999e17af" + integrity sha1-KXWIt7Dn4KwI4E5nL4XB9JmeF68= + dependencies: + kind-of "^3.0.2" + +to-regex-range@^2.1.0: + version "2.1.1" + resolved "https://registry.yarnpkg.com/to-regex-range/-/to-regex-range-2.1.1.tgz#7c80c17b9dfebe599e27367e0d4dd5590141db38" + integrity sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg= + dependencies: + is-number "^3.0.0" + repeat-string "^1.6.1" + +to-regex-range@^5.0.1: + version "5.0.1" + resolved "https://registry.yarnpkg.com/to-regex-range/-/to-regex-range-5.0.1.tgz#1648c44aae7c8d988a326018ed72f5b4dd0392e4" + integrity sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ== + dependencies: + is-number "^7.0.0" + +to-regex@^3.0.1, to-regex@^3.0.2: + version "3.0.2" + resolved "https://registry.yarnpkg.com/to-regex/-/to-regex-3.0.2.tgz#13cfdd9b336552f30b51f33a8ae1b42a7a7599ce" + integrity sha512-FWtleNAtZ/Ki2qtqej2CXTOayOH9bHDQF+Q48VpWyDXjbYxA4Yz8iDB31zXOBUlOHHKidDbqGVrTUvQMPmBGBw== + dependencies: + define-property "^2.0.2" + extend-shallow "^3.0.2" + regex-not "^1.0.2" + safe-regex "^1.1.0" + +to-space-case@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/to-space-case/-/to-space-case-1.0.0.tgz#b052daafb1b2b29dc770cea0163e5ec0ebc9fc17" + integrity sha1-sFLar7Gysp3HcM6gFj5ewOvJ/Bc= + dependencies: + to-no-case "^1.0.0" + +toggle-selection@^1.0.6: + version "1.0.6" + resolved "https://registry.yarnpkg.com/toggle-selection/-/toggle-selection-1.0.6.tgz#6e45b1263f2017fa0acc7d89d78b15b8bf77da32" + integrity sha1-bkWxJj8gF/oKzH2J14sVuL932jI= + +toposort@^1.0.0: + version "1.0.7" + resolved "https://registry.yarnpkg.com/toposort/-/toposort-1.0.7.tgz#2e68442d9f64ec720b8cc89e6443ac6caa950029" + integrity sha1-LmhELZ9k7HILjMieZEOsbKqVACk= + +tough-cookie@^2.3.3, tough-cookie@~2.5.0: + version "2.5.0" + resolved "https://registry.yarnpkg.com/tough-cookie/-/tough-cookie-2.5.0.tgz#cd9fb2a0aa1d5a12b473bd9fb96fa3dcff65ade2" + integrity sha512-nlLsUzgm1kfLXSXfRZMc1KLAugd4hqJHDTvc2hDIwS3mZAfMEuMbc03SujMF+GEcpaX/qboeycw6iO8JwVv2+g== + dependencies: + psl "^1.1.28" + punycode "^2.1.1" + +tough-cookie@^3.0.1: + version "3.0.1" + resolved "https://registry.yarnpkg.com/tough-cookie/-/tough-cookie-3.0.1.tgz#9df4f57e739c26930a018184887f4adb7dca73b2" + integrity sha512-yQyJ0u4pZsv9D4clxO69OEjLWYw+jbgspjTue4lTQZLfV0c5l1VmK2y1JK8E9ahdpltPOaAThPcp5nKPUgSnsg== + dependencies: + ip-regex "^2.1.0" + psl "^1.1.28" + punycode "^2.1.1" + +tough-cookie@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/tough-cookie/-/tough-cookie-4.0.0.tgz#d822234eeca882f991f0f908824ad2622ddbece4" + integrity sha512-tHdtEpQCMrc1YLrMaqXXcj6AxhYi/xgit6mZu1+EDWUn+qhUf8wMQoFIy9NXuq23zAwtcB0t/MjACGR18pcRbg== + dependencies: + psl "^1.1.33" + punycode "^2.1.1" + universalify "^0.1.2" + tough-cookie@~2.3.0, tough-cookie@~2.3.3: version "2.3.4" resolved "https://registry.yarnpkg.com/tough-cookie/-/tough-cookie-2.3.4.tgz#ec60cee38ac675063ffc97a5c18970578ee83655" dependencies: punycode "^1.4.1" +tr46@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/tr46/-/tr46-1.0.1.tgz#a8b13fd6bfd2489519674ccde55ba3693b706d09" + integrity sha1-qLE/1r/SSJUZZ0zN5VujaTtwbQk= + dependencies: + punycode "^2.1.0" + +tr46@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/tr46/-/tr46-2.1.0.tgz#fa87aa81ca5d5941da8cbf1f9b749dc969a4e240" + integrity sha512-15Ih7phfcdP5YxqiB+iDtLoaTz4Nd35+IiAv0kQ5FNKHzXgdWqPoTIqEDDJmXceQt4JZk6lVPT8lnDlPpGDppw== + dependencies: + punycode "^2.1.1" + +tree-kill@^1.2.2: + version "1.2.2" + resolved "https://registry.yarnpkg.com/tree-kill/-/tree-kill-1.2.2.tgz#4ca09a9092c88b73a7cdc5e8a01b507b0790a0cc" + integrity sha512-L0Orpi8qGpRG//Nd+H90vFB+3iHnue1zSSGmNOOCh1GLJ7rUKVwV2HvijphGQS2UmhUZewS9VgvxYIdgr+fG1A== + trim-newlines@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/trim-newlines/-/trim-newlines-1.0.0.tgz#5887966bb582a4503a41eb524f7d35011815a613" +ts-easing@^0.2.0: + version "0.2.0" + resolved "https://registry.yarnpkg.com/ts-easing/-/ts-easing-0.2.0.tgz#c8a8a35025105566588d87dbda05dd7fbfa5a4ec" + integrity sha512-Z86EW+fFFh/IFB1fqQ3/+7Zpf9t2ebOAxNI/V6Wo7r5gqiqtxmgTlQ1qbqQcjLKYeSHPTsEmvlJUDg/EuL0uHQ== + +ts-jest@26.4.4: + version "26.4.4" + resolved "https://registry.yarnpkg.com/ts-jest/-/ts-jest-26.4.4.tgz#61f13fb21ab400853c532270e52cc0ed7e502c49" + integrity sha512-3lFWKbLxJm34QxyVNNCgXX1u4o/RV0myvA2y2Bxm46iGIjKlaY0own9gIckbjZJPn+WaJEnfPPJ20HHGpoq4yg== + dependencies: + "@types/jest" "26.x" + bs-logger "0.x" + buffer-from "1.x" + fast-json-stable-stringify "2.x" + jest-util "^26.1.0" + json5 "2.x" + lodash.memoize "4.x" + make-error "1.x" + mkdirp "1.x" + semver "7.x" + yargs-parser "20.x" + +ts-loader@6.2.1: + version "6.2.1" + resolved "https://registry.yarnpkg.com/ts-loader/-/ts-loader-6.2.1.tgz#67939d5772e8a8c6bdaf6277ca023a4812da02ef" + integrity sha512-Dd9FekWuABGgjE1g0TlQJ+4dFUfYGbYcs52/HQObE0ZmUNjQlmLAS7xXsSzy23AMaMwipsx5sNHvoEpT2CZq1g== + dependencies: + chalk "^2.3.0" + enhanced-resolve "^4.0.0" + loader-utils "^1.0.2" + micromatch "^4.0.0" + semver "^6.0.0" + +ts-node@9.0.0: + version "9.0.0" + resolved "https://registry.yarnpkg.com/ts-node/-/ts-node-9.0.0.tgz#e7699d2a110cc8c0d3b831715e417688683460b3" + integrity sha512-/TqB4SnererCDR/vb4S/QvSZvzQMJN8daAslg7MeaiHvD8rDZsSfXmNeNumyZZzMned72Xoq/isQljYSt8Ynfg== + dependencies: + arg "^4.1.0" + diff "^4.0.1" + make-error "^1.1.1" + source-map-support "^0.5.17" + yn "3.1.1" + +tslib@2.3.1: + version "2.3.1" + resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.3.1.tgz#e8a335add5ceae51aa261d32a490158ef042ef01" + integrity sha512-77EbyPPpMz+FRFRuAFlWMtmgUWGe9UOG2Z25NqCwiIjRhOf5iKGuzSe5P2w1laq+FkRy4p+PCuVkJSGkzTEKVw== + +tslib@^1.10.0, tslib@^1.8.1, tslib@^1.9.0, tslib@^1.9.3: + version "1.14.1" + resolved "https://registry.yarnpkg.com/tslib/-/tslib-1.14.1.tgz#cf2d38bdc34a134bcaf1091c41f6619e2f672d00" + integrity sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg== + +tslib@^2.0.3, tslib@^2.1.0: + version "2.4.0" + resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.4.0.tgz#7cecaa7f073ce680a05847aa77be941098f36dc3" + integrity sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ== + +tsutils@^3.21.0: + version "3.21.0" + resolved "https://registry.yarnpkg.com/tsutils/-/tsutils-3.21.0.tgz#b48717d394cea6c1e096983eed58e9d61715b623" + integrity sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA== + dependencies: + tslib "^1.8.1" + +tty-browserify@0.0.0: + version "0.0.0" + resolved "https://registry.yarnpkg.com/tty-browserify/-/tty-browserify-0.0.0.tgz#a157ba402da24e9bf957f9aa69d524eed42901a6" + integrity sha1-oVe6QC2iTpv5V/mqadUk7tQpAaY= + tunnel-agent@^0.6.0: version "0.6.0" resolved "https://registry.yarnpkg.com/tunnel-agent/-/tunnel-agent-0.6.0.tgz#27a5dea06b36b04a0a9966774b290868f0fc40fd" @@ -2653,10 +14046,44 @@ tweetnacl@^0.14.3, tweetnacl@~0.14.0: version "0.14.5" resolved "https://registry.yarnpkg.com/tweetnacl/-/tweetnacl-0.14.5.tgz#5ae68177f192d4456269d108afa93ff8743f4f64" -type-detect@^4.0.0: +type-check@^0.4.0, type-check@~0.4.0: + version "0.4.0" + resolved "https://registry.yarnpkg.com/type-check/-/type-check-0.4.0.tgz#07b8203bfa7056c0657050e3ccd2c37730bab8f1" + integrity sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew== + dependencies: + prelude-ls "^1.2.1" + +type-check@~0.3.2: + version "0.3.2" + resolved "https://registry.yarnpkg.com/type-check/-/type-check-0.3.2.tgz#5884cab512cf1d355e3fb784f30804b2b520db72" + integrity sha1-WITKtRLPHTVeP7eE8wgEsrUg23I= + dependencies: + prelude-ls "~1.1.2" + +type-detect@4.0.8, type-detect@^4.0.0: version "4.0.8" resolved "https://registry.yarnpkg.com/type-detect/-/type-detect-4.0.8.tgz#7646fb5f18871cfbb7749e69bd39a6388eb7450c" +type-fest@^0.20.2: + version "0.20.2" + resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.20.2.tgz#1bf207f4b28f91583666cb5fbd327887301cd5f4" + integrity sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ== + +type-fest@^0.21.3: + version "0.21.3" + resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.21.3.tgz#d260a24b0198436e133fa26a524a6d65fa3b2e37" + integrity sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w== + +type-fest@^0.6.0: + version "0.6.0" + resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.6.0.tgz#8d2a2370d3df886eb5c90ada1c5bf6188acf838b" + integrity sha512-q+MB8nYR1KDLrgr4G5yemftpMC7/QLqVndBmEEdqzmNj5dcFOO4Oo8qlwZE3ULT3+Zim1F8Kq4cBnikNhlCMlg== + +type-fest@^0.8.1: + version "0.8.1" + resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.8.1.tgz#09e249ebde851d3b1e48d27c105444667f17b83d" + integrity sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA== + type-is@~1.6.10, type-is@~1.6.15: version "1.6.16" resolved "https://registry.yarnpkg.com/type-is/-/type-is-1.6.16.tgz#f89ce341541c672b25ee7ae3c73dee3b2be50194" @@ -2664,6 +14091,18 @@ type-is@~1.6.10, type-is@~1.6.15: media-typer "0.3.0" mime-types "~2.1.18" +type-of@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/type-of/-/type-of-2.0.1.tgz#e72a1741896568e9f628378d816d6912f7f23972" + integrity sha1-5yoXQYllaOn2KDeNgW1pEvfyOXI= + +typedarray-to-buffer@^3.1.5: + version "3.1.5" + resolved "https://registry.yarnpkg.com/typedarray-to-buffer/-/typedarray-to-buffer-3.1.5.tgz#a97ee7a9ff42691b9f783ff1bc5112fe3fca9080" + integrity sha512-zdu8XMNEDepKKR+XYOXAVPtWui0ly0NtohUscw+UmaHiAWT8hrV1rr//H6V+0DvJ3OQ19S979M0laLfX8rm82Q== + dependencies: + is-typedarray "^1.0.0" + typedarray@^0.0.6: version "0.0.6" resolved "https://registry.yarnpkg.com/typedarray/-/typedarray-0.0.6.tgz#867ac74e3864187b1d3d47d996a78ec5c8830777" @@ -2672,10 +14111,28 @@ typescript@1.6.2: version "1.6.2" resolved "https://registry.yarnpkg.com/typescript/-/typescript-1.6.2.tgz#5b27254abeb111027cbf9450d3431bc5843191dd" +typescript@4.4.3: + version "4.4.3" + resolved "https://registry.yarnpkg.com/typescript/-/typescript-4.4.3.tgz#bdc5407caa2b109efd4f82fe130656f977a29324" + integrity sha512-4xfscpisVgqqDfPaJo5vkd+Qd/ItkoagnHpufr+i2QCHBsNYp+G7UAoyFl8aPtx879u38wPV65rZ8qbGZijalA== + +typescript@4.4.4: + version "4.4.4" + resolved "https://registry.yarnpkg.com/typescript/-/typescript-4.4.4.tgz#2cd01a1a1f160704d3101fd5a58ff0f9fcb8030c" + integrity sha512-DqGhF5IKoBl8WNf8C1gu8q0xZSInh9j1kJJMqT3a94w1JzVaBU4EXOSMrz9yDqMT0xt3selp83fuFMQ0uzv6qA== + uglify-js@1.x: version "1.3.5" resolved "https://registry.yarnpkg.com/uglify-js/-/uglify-js-1.3.5.tgz#4b5bfff9186effbaa888e4c9e94bd9fc4c94929d" +uglify-js@3.4.x: + version "3.4.10" + resolved "https://registry.yarnpkg.com/uglify-js/-/uglify-js-3.4.10.tgz#9ad9563d8eb3acdfb8d38597d2af1d815f6a755f" + integrity sha512-Y2VsbPVs0FIshJztycsO2SfPk7/KAF/T72qzv9u5EpQ4kB2hQoHlhNQTsNyy6ul7lQtqJN/AoWeS23OzEiEFxw== + dependencies: + commander "~2.19.0" + source-map "~0.6.1" + uid-number@^0.0.6: version "0.0.6" resolved "https://registry.yarnpkg.com/uid-number/-/uid-number-0.0.6.tgz#0ea10e8035e8eb5b8e4449f06da1c730663baa81" @@ -2684,6 +14141,16 @@ ultron@1.0.x: version "1.0.2" resolved "https://registry.yarnpkg.com/ultron/-/ultron-1.0.2.tgz#ace116ab557cd197386a4e88f4685378c8b2e4fa" +unbox-primitive@^1.0.1: + version "1.0.2" + resolved "https://registry.yarnpkg.com/unbox-primitive/-/unbox-primitive-1.0.2.tgz#29032021057d5e6cdbd08c5129c226dff8ed6f9e" + integrity sha512-61pPlCD9h51VoreyJ0BReideM3MDKMKnh6+V9L08331ipq6Q8OFXZYiqP6n/tbHx4s5I9uRhcye6BrbkizkBDw== + dependencies: + call-bind "^1.0.2" + has-bigints "^1.0.2" + has-symbols "^1.0.3" + which-boxed-primitive "^1.0.2" + underscore.string@~3.2.3: version "3.2.3" resolved "https://registry.yarnpkg.com/underscore.string/-/underscore.string-3.2.3.tgz#806992633665d5e5fcb4db1fb3a862eb68e9e6da" @@ -2695,10 +14162,134 @@ underscore.string@~3.3.4: sprintf-js "^1.0.3" util-deprecate "^1.0.2" +unicode-canonical-property-names-ecmascript@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-2.0.0.tgz#301acdc525631670d39f6146e0e77ff6bbdebddc" + integrity sha512-yY5PpDlfVIU5+y/BSCxAJRBIS1Zc2dDG3Ujq+sR0U+JjUevW2JhocOF+soROYDSaAezOzOKuyyixhD6mBknSmQ== + +unicode-match-property-ecmascript@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/unicode-match-property-ecmascript/-/unicode-match-property-ecmascript-2.0.0.tgz#54fd16e0ecb167cf04cf1f756bdcc92eba7976c3" + integrity sha512-5kaZCrbp5mmbz5ulBkDkbY0SsPOjKqVS35VpL9ulMPfSl0J0Xsm+9Evphv9CoIZFwre7aJoa94AY6seMKGVN5Q== + dependencies: + unicode-canonical-property-names-ecmascript "^2.0.0" + unicode-property-aliases-ecmascript "^2.0.0" + +unicode-match-property-value-ecmascript@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-2.0.0.tgz#1a01aa57247c14c568b89775a54938788189a714" + integrity sha512-7Yhkc0Ye+t4PNYzOGKedDhXbYIBe1XEQYQxOPyhcXNMJ0WCABqqj6ckydd6pWRZTHV4GuCPKdBAUiMc60tsKVw== + +unicode-property-aliases-ecmascript@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-2.0.0.tgz#0a36cb9a585c4f6abd51ad1deddb285c165297c8" + integrity sha512-5Zfuy9q/DFr4tfO7ZPeVXb1aPoeQSdeFMLpYuFebehDAhbuevLs5yxSZmIFN1tP5F9Wl4IpJrYojg85/zgyZHQ== + +union-value@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/union-value/-/union-value-1.0.1.tgz#0b6fe7b835aecda61c6ea4d4f02c14221e109847" + integrity sha512-tJfXmxMeWYnczCVs7XAEvIV7ieppALdyepWMkHkwciRpZraG/xwT+s2JN8+pr1+8jCRf80FFzvr+MpQeeoF4Xg== + dependencies: + arr-union "^3.1.0" + get-value "^2.0.6" + is-extendable "^0.1.1" + set-value "^2.0.1" + +uniq@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/uniq/-/uniq-1.0.1.tgz#b31c5ae8254844a3a8281541ce2b04b865a734ff" + integrity sha1-sxxa6CVIRKOoKBVBzisEuGWnNP8= + +unique-filename@^1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/unique-filename/-/unique-filename-1.1.1.tgz#1d69769369ada0583103a1e6ae87681b56573230" + integrity sha512-Vmp0jIp2ln35UTXuryvjzkjGdRyf9b2lTXuSYUiPmzRcl3FDtYqAwOnTJkAngD9SWhnoJzDbTKwaOrZ+STtxNQ== + dependencies: + unique-slug "^2.0.0" + +unique-slug@^2.0.0: + version "2.0.2" + resolved "https://registry.yarnpkg.com/unique-slug/-/unique-slug-2.0.2.tgz#baabce91083fc64e945b0f3ad613e264f7cd4e6c" + integrity sha512-zoWr9ObaxALD3DOPfjPSqxt4fnZiWblxHIgeWqW8x7UqDzEtHEQLzji2cuJYQFCU6KmoJikOYAZlrTHHebjx2w== + dependencies: + imurmurhash "^0.1.4" + +universalify@^0.1.2: + version "0.1.2" + resolved "https://registry.yarnpkg.com/universalify/-/universalify-0.1.2.tgz#b646f69be3942dabcecc9d6639c80dc105efaa66" + integrity sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg== + +universalify@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/universalify/-/universalify-2.0.0.tgz#75a4984efedc4b08975c5aeb73f530d02df25717" + integrity sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ== + unpipe@1.0.0, unpipe@~1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/unpipe/-/unpipe-1.0.0.tgz#b2bf4ee8514aae6165b4817829d21b2ef49904ec" +unset-value@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/unset-value/-/unset-value-1.0.0.tgz#8376873f7d2335179ffb1e6fc3a8ed0dfc8ab559" + integrity sha1-g3aHP30jNRef+x5vw6jtDfyKtVk= + dependencies: + has-value "^0.3.1" + isobject "^3.0.0" + +upath@^1.1.1: + version "1.2.0" + resolved "https://registry.yarnpkg.com/upath/-/upath-1.2.0.tgz#8f66dbcd55a883acdae4408af8b035a5044c1894" + integrity sha512-aZwGpamFO61g3OlfT7OQCHqhGnW43ieH9WZeP7QxN/G/jS4jfqUkZxoryvJgVPEcrl5NL/ggHsSmLMHuH64Lhg== + +uplot@1.6.19: + version "1.6.19" + resolved "https://registry.yarnpkg.com/uplot/-/uplot-1.6.19.tgz#98f461992a3f7f3bda7a62f4a028b8afa8da7942" + integrity sha512-s5Oab13s8zUzuZ/KiSV0GRhEvuKptAg2831fkt2PFsginIP1NSsiNrcozlc+tTPuUEAt+4rAXqX521I1DrZwEg== + +upper-case@^1.1.1: + version "1.1.3" + resolved "https://registry.yarnpkg.com/upper-case/-/upper-case-1.1.3.tgz#f6b4501c2ec4cdd26ba78be7222961de77621598" + integrity sha1-9rRQHC7EzdJrp4vnIilh3ndiFZg= + +uri-js@^4.2.2: + version "4.4.1" + resolved "https://registry.yarnpkg.com/uri-js/-/uri-js-4.4.1.tgz#9b1a52595225859e55f669d928f88c6c57f2a77e" + integrity sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg== + dependencies: + punycode "^2.1.0" + +urix@^0.1.0: + version "0.1.0" + resolved "https://registry.yarnpkg.com/urix/-/urix-0.1.0.tgz#da937f7a62e21fec1fd18d49b35c2935067a6c72" + integrity sha1-2pN/emLiH+wf0Y1Js1wpNQZ6bHI= + +url-loader@^2.0.1: + version "2.3.0" + resolved "https://registry.yarnpkg.com/url-loader/-/url-loader-2.3.0.tgz#e0e2ef658f003efb8ca41b0f3ffbf76bab88658b" + integrity sha512-goSdg8VY+7nPZKUEChZSEtW5gjbS66USIGCeSJ1OVOJ7Yfuh/36YxCwMi5HVEJh6mqUYOoy3NJ0vlOMrWsSHog== + dependencies: + loader-utils "^1.2.3" + mime "^2.4.4" + schema-utils "^2.5.0" + +url@^0.11.0: + version "0.11.0" + resolved "https://registry.yarnpkg.com/url/-/url-0.11.0.tgz#3838e97cfc60521eb73c525a8e55bfdd9e2e28f1" + integrity sha1-ODjpfPxgUh63PFJajlW/3Z4uKPE= + dependencies: + punycode "1.3.2" + querystring "0.2.0" + +use-memo-one@^1.1.1: + version "1.1.2" + resolved "https://registry.yarnpkg.com/use-memo-one/-/use-memo-one-1.1.2.tgz#0c8203a329f76e040047a35a1197defe342fab20" + integrity sha512-u2qFKtxLsia/r8qG0ZKkbytbztzRb317XCkT7yP8wxL0tZ/CzK2G+WWie5vWvpyeP7+YoPIwbJoIHJ4Ba4k0oQ== + +use@^3.1.0: + version "3.1.1" + resolved "https://registry.yarnpkg.com/use/-/use-3.1.1.tgz#d50c8cac79a19fbc20f2911f56eb973f4e10070f" + integrity sha512-cwESVXlO3url9YWlFW/TA9cshCEhtu7IKJ/p5soJ/gGpj7vbvFrAY/eIioQ6Dw23KjZhYgiIo8HOs1nQ2vr/oQ== + useragent@^2.1.12: version "2.3.0" resolved "https://registry.yarnpkg.com/useragent/-/useragent-2.3.0.tgz#217f943ad540cb2128658ab23fc960f6a88c9972" @@ -2706,18 +14297,80 @@ useragent@^2.1.12: lru-cache "4.1.x" tmp "0.0.x" -util-deprecate@^1.0.2, util-deprecate@~1.0.1: +util-deprecate@^1.0.1, util-deprecate@^1.0.2, util-deprecate@~1.0.1: version "1.0.2" resolved "https://registry.yarnpkg.com/util-deprecate/-/util-deprecate-1.0.2.tgz#450d4dc9fa70de732762fbd2d4a28981419a0ccf" +util.promisify@1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/util.promisify/-/util.promisify-1.0.0.tgz#440f7165a459c9a16dc145eb8e72f35687097030" + integrity sha512-i+6qA2MPhvoKLuxnJNpXAGhg7HphQOSUq2LKMZD0m15EiskXUkMvKdF4Uui0WYeCUGea+o2cw/ZuwehtfsrNkA== + dependencies: + define-properties "^1.1.2" + object.getownpropertydescriptors "^2.0.3" + +util.promisify@^1.0.0: + version "1.1.1" + resolved "https://registry.yarnpkg.com/util.promisify/-/util.promisify-1.1.1.tgz#77832f57ced2c9478174149cae9b96e9918cd54b" + integrity sha512-/s3UsZUrIfa6xDhr7zZhnE9SLQ5RIXyYfiVnMMyMDzOc8WhWN4Nbh36H842OyurKbCDAesZOJaVyvmSl6fhGQw== + dependencies: + call-bind "^1.0.0" + define-properties "^1.1.3" + for-each "^0.3.3" + has-symbols "^1.0.1" + object.getownpropertydescriptors "^2.1.1" + +util@0.10.3: + version "0.10.3" + resolved "https://registry.yarnpkg.com/util/-/util-0.10.3.tgz#7afb1afe50805246489e3db7fe0ed379336ac0f9" + integrity sha1-evsa/lCAUkZInj23/g7TeTNqwPk= + dependencies: + inherits "2.0.1" + +util@^0.11.0: + version "0.11.1" + resolved "https://registry.yarnpkg.com/util/-/util-0.11.1.tgz#3236733720ec64bb27f6e26f421aaa2e1b588d61" + integrity sha512-HShAsny+zS2TZfaXxD9tYj4HQGlBezXZMZuM/S5PKLLoZkShZiGk9o5CzukI1LVHZvjdvZ2Sj1aW/Ndn2NB/HQ== + dependencies: + inherits "2.0.3" + +utila@~0.4: + version "0.4.0" + resolved "https://registry.yarnpkg.com/utila/-/utila-0.4.0.tgz#8a16a05d445657a3aea5eecc5b12a4fa5379772c" + integrity sha1-ihagXURWV6Oupe7MWxKk+lN5dyw= + utils-merge@1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/utils-merge/-/utils-merge-1.0.1.tgz#9f95710f50a267947b2ccc124741c1028427e713" +uuid@8.3.2, uuid@^8.3.0, uuid@^8.3.2: + version "8.3.2" + resolved "https://registry.yarnpkg.com/uuid/-/uuid-8.3.2.tgz#80d5b5ced271bb9af6c445f21a1a04c606cefbe2" + integrity sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg== + uuid@^3.0.0, uuid@^3.1.0: version "3.2.1" resolved "https://registry.yarnpkg.com/uuid/-/uuid-3.2.1.tgz#12c528bb9d58d0b9265d9a2f6f0fe8be17ff1f14" +uuid@^3.3.2: + version "3.4.0" + resolved "https://registry.yarnpkg.com/uuid/-/uuid-3.4.0.tgz#b23e4358afa8a202fe7a100af1f5f883f02007ee" + integrity sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A== + +v8-compile-cache@^2.0.3: + version "2.3.0" + resolved "https://registry.yarnpkg.com/v8-compile-cache/-/v8-compile-cache-2.3.0.tgz#2de19618c66dc247dcfb6f99338035d8245a2cee" + integrity sha512-l8lCEmLcLYZh4nbunNZvQCJc5pv7+RCwa8q/LdUx8u7lsWvPDKmpodJAJNwkAhJC//dFY48KuIEmjtd4RViDrA== + +v8-to-istanbul@^7.0.0: + version "7.1.2" + resolved "https://registry.yarnpkg.com/v8-to-istanbul/-/v8-to-istanbul-7.1.2.tgz#30898d1a7fa0c84d225a2c1434fb958f290883c1" + integrity sha512-TxNb7YEUwkLXCQYeudi6lgQ/SZrzNO4kMdlqVxaZPUIUjCv6iSSypUQX70kNBSERpQ8fk48+d61FXk+tgqcWow== + dependencies: + "@types/istanbul-lib-coverage" "^2.0.1" + convert-source-map "^1.6.0" + source-map "^0.7.3" + validate-npm-package-license@^3.0.1: version "3.0.3" resolved "https://registry.yarnpkg.com/validate-npm-package-license/-/validate-npm-package-license-3.0.3.tgz#81643bcbef1bdfecd4623793dc4648948ba98338" @@ -2725,6 +14378,11 @@ validate-npm-package-license@^3.0.1: spdx-correct "^3.0.0" spdx-expression-parse "^3.0.0" +value-equal@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/value-equal/-/value-equal-1.0.1.tgz#1e0b794c734c5c0cade179c437d356d931a34d6c" + integrity sha512-NOJ6JZCAWr0zlxZt+xqCHNTEKOsrks2HQd4MqhP1qy4z1SkbEP467eNx6TgDKXMvUOb+OENfJCZwM+16n7fRfw== + verror@1.10.0: version "1.10.0" resolved "https://registry.yarnpkg.com/verror/-/verror-1.10.0.tgz#3a105ca17053af55d6e270c1f8288682e18da400" @@ -2733,16 +14391,153 @@ verror@1.10.0: core-util-is "1.0.2" extsprintf "^1.2.0" +vm-browserify@^1.0.1: + version "1.1.2" + resolved "https://registry.yarnpkg.com/vm-browserify/-/vm-browserify-1.1.2.tgz#78641c488b8e6ca91a75f511e7a3b32a86e5dda0" + integrity sha512-2ham8XPWTONajOR0ohOKOHXkm3+gaBmGut3SRuu75xLd/RRaY6vqgh8NBYYk7+RW3u5AtzPQZG8F10LHkl0lAQ== + void-elements@^2.0.0: version "2.0.1" resolved "https://registry.yarnpkg.com/void-elements/-/void-elements-2.0.1.tgz#c066afb582bb1cb4128d60ea92392e94d5e9dbec" +w3c-hr-time@^1.0.1, w3c-hr-time@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/w3c-hr-time/-/w3c-hr-time-1.0.2.tgz#0a89cdf5cc15822df9c360543676963e0cc308cd" + integrity sha512-z8P5DvDNjKDoFIHK7q8r8lackT6l+jo/Ye3HOle7l9nICP9lf1Ci25fy9vHd0JOWewkIFzXIEig3TdKT7JQ5fQ== + dependencies: + browser-process-hrtime "^1.0.0" + +w3c-xmlserializer@^1.1.2: + version "1.1.2" + resolved "https://registry.yarnpkg.com/w3c-xmlserializer/-/w3c-xmlserializer-1.1.2.tgz#30485ca7d70a6fd052420a3d12fd90e6339ce794" + integrity sha512-p10l/ayESzrBMYWRID6xbuCKh2Fp77+sA0doRuGn4tTIMrrZVeqfpKjXHY+oDh3K4nLdPgNwMTVP6Vp4pvqbNg== + dependencies: + domexception "^1.0.1" + webidl-conversions "^4.0.2" + xml-name-validator "^3.0.0" + +w3c-xmlserializer@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/w3c-xmlserializer/-/w3c-xmlserializer-2.0.0.tgz#3e7104a05b75146cc60f564380b7f683acf1020a" + integrity sha512-4tzD0mF8iSiMiNs30BiLO3EpfGLZUT2MSX/G+o7ZywDzliWQ3OPtTZ0PTC3B3ca1UAf4cJMHB+2Bf56EriJuRA== + dependencies: + xml-name-validator "^3.0.0" + walker@1.x: version "1.0.7" resolved "https://registry.yarnpkg.com/walker/-/walker-1.0.7.tgz#2f7f9b8fd10d677262b18a884e28d19618e028fb" dependencies: makeerror "1.0.x" +walker@^1.0.7, walker@~1.0.5: + version "1.0.8" + resolved "https://registry.yarnpkg.com/walker/-/walker-1.0.8.tgz#bd498db477afe573dc04185f011d3ab8a8d7653f" + integrity sha512-ts/8E8l5b7kY0vlWLewOkDXMmPdLcVV4GmOQLyxuSswIJsweeFZtAsMF7k1Nszz+TYBQrlYRmzOnr398y1JemQ== + dependencies: + makeerror "1.0.12" + +warning@^4.0.2: + version "4.0.3" + resolved "https://registry.yarnpkg.com/warning/-/warning-4.0.3.tgz#16e9e077eb8a86d6af7d64aa1e05fd85b4678ca3" + integrity sha512-rpJyN222KWIvHJ/F53XSZv0Zl/accqHR8et1kpaMTD/fLCRxtV8iX8czMzY7sVZupTI3zcUTg8eycS2kNF9l6w== + dependencies: + loose-envify "^1.0.0" + +watchpack-chokidar2@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/watchpack-chokidar2/-/watchpack-chokidar2-2.0.1.tgz#38500072ee6ece66f3769936950ea1771be1c957" + integrity sha512-nCFfBIPKr5Sh61s4LPpy1Wtfi0HE8isJ3d2Yb5/Ppw2P2B/3eVSEBjKfN0fmHJSK14+31KwMKmcrzs2GM4P0Ww== + dependencies: + chokidar "^2.1.8" + +watchpack@^1.6.0: + version "1.7.5" + resolved "https://registry.yarnpkg.com/watchpack/-/watchpack-1.7.5.tgz#1267e6c55e0b9b5be44c2023aed5437a2c26c453" + integrity sha512-9P3MWk6SrKjHsGkLT2KHXdQ/9SNkyoJbabxnKOoJepsvJjJG8uYTR3yTPxPQvNDI3w4Nz1xnE0TLHK4RIVe/MQ== + dependencies: + graceful-fs "^4.1.2" + neo-async "^2.5.0" + optionalDependencies: + chokidar "^3.4.1" + watchpack-chokidar2 "^2.0.1" + +wcwidth@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/wcwidth/-/wcwidth-1.0.1.tgz#f0b0dcf915bc5ff1528afadb2c0e17b532da2fe8" + integrity sha1-8LDc+RW8X/FSivrbLA4XtTLaL+g= + dependencies: + defaults "^1.0.3" + +web-worker@^1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/web-worker/-/web-worker-1.2.0.tgz#5d85a04a7fbc1e7db58f66595d7a3ac7c9c180da" + integrity sha512-PgF341avzqyx60neE9DD+XS26MMNMoUQRz9NOZwW32nPQrF6p77f1htcnjBSEV8BGMKZ16choqUG4hyI0Hx7mA== + +webfont-matcher@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/webfont-matcher/-/webfont-matcher-1.1.0.tgz#98ce95097b29e31fbe733053e10e571642d1c6c7" + integrity sha1-mM6VCXsp4x++czBT4Q5XFkLRxsc= + +webidl-conversions@^4.0.2: + version "4.0.2" + resolved "https://registry.yarnpkg.com/webidl-conversions/-/webidl-conversions-4.0.2.tgz#a855980b1f0b6b359ba1d5d9fb39ae941faa63ad" + integrity sha512-YQ+BmxuTgd6UXZW3+ICGfyqRyHXVlD5GtQr5+qjiNW7bF0cqrzX500HVXPBOvgXb5YnzDd+h0zqyv61KUD7+Sg== + +webidl-conversions@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/webidl-conversions/-/webidl-conversions-5.0.0.tgz#ae59c8a00b121543a2acc65c0434f57b0fc11aff" + integrity sha512-VlZwKPCkYKxQgeSbH5EyngOmRp7Ww7I9rQLERETtf5ofd9pGeswWiOtogpEO850jziPRarreGxn5QIiTqpb2wA== + +webidl-conversions@^6.1.0: + version "6.1.0" + resolved "https://registry.yarnpkg.com/webidl-conversions/-/webidl-conversions-6.1.0.tgz#9111b4d7ea80acd40f5270d666621afa78b69514" + integrity sha512-qBIvFLGiBpLjfwmYAaHPXsn+ho5xZnGvyGvsarywGNc8VyQJUMHJ8OBKGGrPER0okBeMDaan4mNBlgBROxuI8w== + +webpack-log@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/webpack-log/-/webpack-log-2.0.0.tgz#5b7928e0637593f119d32f6227c1e0ac31e1b47f" + integrity sha512-cX8G2vR/85UYG59FgkoMamwHUIkSSlV3bBMRsbxVXVUk2j6NleCKjQ/WE9eYg9WY4w25O9w8wKP4rzNZFmUcUg== + dependencies: + ansi-colors "^3.0.0" + uuid "^3.3.2" + +webpack-sources@^1.1.0, webpack-sources@^1.4.0, webpack-sources@^1.4.1, webpack-sources@^1.4.3: + version "1.4.3" + resolved "https://registry.yarnpkg.com/webpack-sources/-/webpack-sources-1.4.3.tgz#eedd8ec0b928fbf1cbfe994e22d2d890f330a933" + integrity sha512-lgTS3Xhv1lCOKo7SA5TjKXMjpSM4sBjNV5+q2bqesbSPs5FjGmU6jjtBSkX9b4qW87vDIsCIlUPOEhbZrMdjeQ== + dependencies: + source-list-map "^2.0.0" + source-map "~0.6.1" + +webpack@4.41.5: + version "4.41.5" + resolved "https://registry.yarnpkg.com/webpack/-/webpack-4.41.5.tgz#3210f1886bce5310e62bb97204d18c263341b77c" + integrity sha512-wp0Co4vpyumnp3KlkmpM5LWuzvZYayDwM2n17EHFr4qxBBbRokC7DJawPJC7TfSFZ9HZ6GsdH40EBj4UV0nmpw== + dependencies: + "@webassemblyjs/ast" "1.8.5" + "@webassemblyjs/helper-module-context" "1.8.5" + "@webassemblyjs/wasm-edit" "1.8.5" + "@webassemblyjs/wasm-parser" "1.8.5" + acorn "^6.2.1" + ajv "^6.10.2" + ajv-keywords "^3.4.1" + chrome-trace-event "^1.0.2" + enhanced-resolve "^4.1.0" + eslint-scope "^4.0.3" + json-parse-better-errors "^1.0.2" + loader-runner "^2.4.0" + loader-utils "^1.2.3" + memory-fs "^0.4.1" + micromatch "^3.1.10" + mkdirp "^0.5.1" + neo-async "^2.6.1" + node-libs-browser "^2.2.1" + schema-utils "^1.0.0" + tapable "^1.1.3" + terser-webpack-plugin "^1.4.3" + watchpack "^1.6.0" + webpack-sources "^1.4.1" + websocket-driver@>=0.5.1: version "0.7.0" resolved "https://registry.yarnpkg.com/websocket-driver/-/websocket-driver-0.7.0.tgz#0caf9d2d755d93aee049d4bdd0d3fe2cca2a24eb" @@ -2754,16 +14549,76 @@ websocket-extensions@>=0.1.1: version "0.1.3" resolved "https://registry.yarnpkg.com/websocket-extensions/-/websocket-extensions-0.1.3.tgz#5d2ff22977003ec687a4b87073dfbbac146ccf29" +whatwg-encoding@^1.0.1, whatwg-encoding@^1.0.5: + version "1.0.5" + resolved "https://registry.yarnpkg.com/whatwg-encoding/-/whatwg-encoding-1.0.5.tgz#5abacf777c32166a51d085d6b4f3e7d27113ddb0" + integrity sha512-b5lim54JOPN9HtzvK9HFXvBma/rnfFeqsic0hSpjtDbVxR3dJKLc+KB4V6GgiGOvl7CY/KNh8rxSo9DKQrnUEw== + dependencies: + iconv-lite "0.4.24" + +whatwg-mimetype@^2.2.0, whatwg-mimetype@^2.3.0: + version "2.3.0" + resolved "https://registry.yarnpkg.com/whatwg-mimetype/-/whatwg-mimetype-2.3.0.tgz#3d4b1e0312d2079879f826aff18dbeeca5960fbf" + integrity sha512-M4yMwr6mAnQz76TbJm914+gPpB/nCwvZbJU28cUD6dR004SAxDLOOSUaB1JDRqLtaOV/vi0IC5lEAGFgrjGv/g== + +whatwg-url@^7.0.0: + version "7.1.0" + resolved "https://registry.yarnpkg.com/whatwg-url/-/whatwg-url-7.1.0.tgz#c2c492f1eca612988efd3d2266be1b9fc6170d06" + integrity sha512-WUu7Rg1DroM7oQvGWfOiAK21n74Gg+T4elXEQYkOhtyLeWiJFoOGLXPKI/9gzIie9CtwVLm8wtw6YJdKyxSjeg== + dependencies: + lodash.sortby "^4.7.0" + tr46 "^1.0.1" + webidl-conversions "^4.0.2" + +whatwg-url@^8.0.0, whatwg-url@^8.5.0: + version "8.7.0" + resolved "https://registry.yarnpkg.com/whatwg-url/-/whatwg-url-8.7.0.tgz#656a78e510ff8f3937bc0bcbe9f5c0ac35941b77" + integrity sha512-gAojqb/m9Q8a5IV96E3fHJM70AzCkgt4uXYX2O7EmuyOnLrViCQlsEBmF9UQIu3/aeAIp2U17rtbpZWNntQqdg== + dependencies: + lodash "^4.7.0" + tr46 "^2.1.0" + webidl-conversions "^6.1.0" + when@^3.7.5: version "3.7.8" resolved "https://registry.yarnpkg.com/when/-/when-3.7.8.tgz#c7130b6a7ea04693e842cdc9e7a1f2aa39a39f82" +which-boxed-primitive@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/which-boxed-primitive/-/which-boxed-primitive-1.0.2.tgz#13757bc89b209b049fe5d86430e21cf40a89a8e6" + integrity sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg== + dependencies: + is-bigint "^1.0.1" + is-boolean-object "^1.1.0" + is-number-object "^1.0.4" + is-string "^1.0.5" + is-symbol "^1.0.3" + +which-module@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/which-module/-/which-module-2.0.0.tgz#d9ef07dce77b9902b8a3a8fa4b31c3e3f7e6e87a" + integrity sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho= + which@^1.2.1, which@^1.2.10, which@^1.2.9: version "1.3.0" resolved "https://registry.yarnpkg.com/which/-/which-1.3.0.tgz#ff04bdfc010ee547d780bec38e1ac1c2777d253a" dependencies: isexe "^2.0.0" +which@^1.3.1: + version "1.3.1" + resolved "https://registry.yarnpkg.com/which/-/which-1.3.1.tgz#a45043d54f5805316da8d62f9f50918d3da70b0a" + integrity sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ== + dependencies: + isexe "^2.0.0" + +which@^2.0.1, which@^2.0.2: + version "2.0.2" + resolved "https://registry.yarnpkg.com/which/-/which-2.0.2.tgz#7c6a8dd0a636a0327e10b59c9286eee93f3f51b1" + integrity sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA== + dependencies: + isexe "^2.0.0" + which@~1.2.1: version "1.2.14" resolved "https://registry.yarnpkg.com/which/-/which-1.2.14.tgz#9a87c4378f03e827cecaf1acdf56c736c01c14e5" @@ -2787,10 +14642,40 @@ winston@*: isstream "0.1.x" stack-trace "0.0.x" +word-wrap@^1.2.3, word-wrap@~1.2.3: + version "1.2.3" + resolved "https://registry.yarnpkg.com/word-wrap/-/word-wrap-1.2.3.tgz#610636f6b1f703891bd34771ccb17fb93b47079c" + integrity sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ== + wordwrap@~0.0.2: version "0.0.3" resolved "https://registry.yarnpkg.com/wordwrap/-/wordwrap-0.0.3.tgz#a3d5da6cd5c0bc0008d37234bbaf1bed63059107" +worker-farm@^1.7.0: + version "1.7.0" + resolved "https://registry.yarnpkg.com/worker-farm/-/worker-farm-1.7.0.tgz#26a94c5391bbca926152002f69b84a4bf772e5a8" + integrity sha512-rvw3QTZc8lAxyVrqcSGVm5yP/IJ2UcB3U0graE3LCFoZ0Yn2x4EoVSqJKdB/T5M+FLcRPjz4TDacRf3OCfNUzw== + dependencies: + errno "~0.1.7" + +wrap-ansi@^6.2.0: + version "6.2.0" + resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-6.2.0.tgz#e9393ba07102e6c91a3b221478f0257cd2856e53" + integrity sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA== + dependencies: + ansi-styles "^4.0.0" + string-width "^4.1.0" + strip-ansi "^6.0.0" + +wrap-ansi@^7.0.0: + version "7.0.0" + resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-7.0.0.tgz#67e145cff510a6a6984bdf1152911d69d2eb9e43" + integrity sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q== + dependencies: + ansi-styles "^4.0.0" + string-width "^4.1.0" + strip-ansi "^6.0.0" + wrappy@1: version "1.0.2" resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f" @@ -2799,6 +14684,25 @@ wrench@1.3.x: version "1.3.9" resolved "https://registry.yarnpkg.com/wrench/-/wrench-1.3.9.tgz#6f13ec35145317eb292ca5f6531391b244111411" +write-file-atomic@2.4.1: + version "2.4.1" + resolved "https://registry.yarnpkg.com/write-file-atomic/-/write-file-atomic-2.4.1.tgz#d0b05463c188ae804396fd5ab2a370062af87529" + integrity sha512-TGHFeZEZMnv+gBFRfjAcxL5bPHrsGKtnb4qsFAws7/vlh+QfwAaySIw4AXP9ZskTTh5GWu3FLuJhsWVdiJPGvg== + dependencies: + graceful-fs "^4.1.11" + imurmurhash "^0.1.4" + signal-exit "^3.0.2" + +write-file-atomic@^3.0.0: + version "3.0.3" + resolved "https://registry.yarnpkg.com/write-file-atomic/-/write-file-atomic-3.0.3.tgz#56bd5c5a5c70481cd19c571bd39ab965a5de56e8" + integrity sha512-AvHcyZ5JnSfq3ioSyjrBkH9yW4m7Ayk8/9My/DD9onKeu/94fwrMocemO2QAJFAlnnDN+ZDS+ZjAR5ua1/PV/Q== + dependencies: + imurmurhash "^0.1.4" + is-typedarray "^1.0.0" + signal-exit "^3.0.2" + typedarray-to-buffer "^3.1.5" + ws@1.1.2: version "1.1.2" resolved "https://registry.yarnpkg.com/ws/-/ws-1.1.2.tgz#8a244fa052401e08c9886cf44a85189e1fd4067f" @@ -2806,18 +14710,124 @@ ws@1.1.2: options ">=0.0.5" ultron "1.0.x" +ws@^7.0.0, ws@^7.4.6: + version "7.5.7" + resolved "https://registry.yarnpkg.com/ws/-/ws-7.5.7.tgz#9e0ac77ee50af70d58326ecff7e85eb3fa375e67" + integrity sha512-KMvVuFzpKBuiIXW3E4u3mySRO2/mCHSyZDJQM5NQ9Q9KHWHWh0NHgfbRMLLrceUK5qAL4ytALJbpRMjixFZh8A== + wtf-8@1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/wtf-8/-/wtf-8-1.0.0.tgz#392d8ba2d0f1c34d1ee2d630f15d0efb68e1048a" +xml-name-validator@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/xml-name-validator/-/xml-name-validator-3.0.0.tgz#6ae73e06de4d8c6e47f9fb181f78d648ad457c6a" + integrity sha512-A5CUptxDsvxKJEU3yO6DuWBSJz/qizqzJKOMIfUJHETbBw/sFaDxgd6fxm1ewUaM0jZ444Fc5vC5ROYurg/4Pw== + +xml-utils@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/xml-utils/-/xml-utils-1.0.2.tgz#8081bfefb87b72e03e4adbabdd217ccbbc395eeb" + integrity sha512-rEn0FvKi+YGjv9omf22oAf+0d6Ly/sgJ/CUufU/nOzS7SRLmgwSujrewc03KojXxt+aPaTRpm593TgehtUBMSQ== + +xml@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/xml/-/xml-1.0.1.tgz#78ba72020029c5bc87b8a81a3cfcd74b4a2fc1e5" + integrity sha1-eLpyAgApxbyHuKgaPPzXS0ovweU= + +xmlchars@^2.1.1, xmlchars@^2.2.0: + version "2.2.0" + resolved "https://registry.yarnpkg.com/xmlchars/-/xmlchars-2.2.0.tgz#060fe1bcb7f9c76fe2a17db86a9bc3ab894210cb" + integrity sha512-JZnDKK8B0RCDw84FNdDAIpZK+JuJw+s7Lz8nksI7SIuU3UXJJslUthsi+uWBUYOwPFwW7W7PRLRfUKpxjtjFCw== + xmlhttprequest-ssl@1.5.3: version "1.5.3" resolved "https://registry.yarnpkg.com/xmlhttprequest-ssl/-/xmlhttprequest-ssl-1.5.3.tgz#185a888c04eca46c3e4070d99f7b49de3528992d" +xss@1.0.11: + version "1.0.11" + resolved "https://registry.yarnpkg.com/xss/-/xss-1.0.11.tgz#211cb82e95b5071d4c75d597283c021157ebe46a" + integrity sha512-EimjrjThZeK2MO7WKR9mN5ZC1CSqivSl55wvUK5EtU6acf0rzEE1pN+9ZDrFXJ82BRp3JL38pPE6S4o/rpp1zQ== + dependencies: + commander "^2.20.3" + cssfilter "0.0.10" + +xtend@^4.0.0, xtend@~4.0.1: + version "4.0.2" + resolved "https://registry.yarnpkg.com/xtend/-/xtend-4.0.2.tgz#bb72779f5fa465186b1f438f674fa347fdb5db54" + integrity sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ== + +y18n@^4.0.0: + version "4.0.3" + resolved "https://registry.yarnpkg.com/y18n/-/y18n-4.0.3.tgz#b5f259c82cd6e336921efd7bfd8bf560de9eeedf" + integrity sha512-JKhqTOwSrqNA1NY5lSztJ1GrBiUodLMmIZuLiDaMRJ+itFd+ABVE8XBjOvIWL+rSqNDC74LCSFmlb/U4UZ4hJQ== + +y18n@^5.0.5: + version "5.0.8" + resolved "https://registry.yarnpkg.com/y18n/-/y18n-5.0.8.tgz#7f4934d0f7ca8c56f95314939ddcd2dd91ce1d55" + integrity sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA== + yallist@^2.1.2: version "2.1.2" resolved "https://registry.yarnpkg.com/yallist/-/yallist-2.1.2.tgz#1c11f9218f076089a47dd512f93c6699a6a81d52" +yallist@^3.0.2: + version "3.1.1" + resolved "https://registry.yarnpkg.com/yallist/-/yallist-3.1.1.tgz#dbb7daf9bfd8bac9ab45ebf602b8cbad0d5d08fd" + integrity sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g== + +yallist@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/yallist/-/yallist-4.0.0.tgz#9bb92790d9c0effec63be73519e11a35019a3a72" + integrity sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A== + +yaml@^1.10.2, yaml@^1.7.2: + version "1.10.2" + resolved "https://registry.yarnpkg.com/yaml/-/yaml-1.10.2.tgz#2301c5ffbf12b467de8da2333a459e29e7920e4b" + integrity sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg== + +yargs-parser@20.x, yargs-parser@^20.2.2: + version "20.2.9" + resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-20.2.9.tgz#2eb7dc3b0289718fc295f362753845c41a0c94ee" + integrity sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w== + +yargs-parser@^18.1.2: + version "18.1.3" + resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-18.1.3.tgz#be68c4975c6b2abf469236b0c870362fab09a7b0" + integrity sha512-o50j0JeToy/4K6OZcaQmW6lyXXKhq7csREXcDwk2omFPJEwUNOVtJKvmDr9EI1fAJZUyZcRF7kxGBWmRXudrCQ== + dependencies: + camelcase "^5.0.0" + decamelize "^1.2.0" + +yargs@^15.0.2, yargs@^15.4.1: + version "15.4.1" + resolved "https://registry.yarnpkg.com/yargs/-/yargs-15.4.1.tgz#0d87a16de01aee9d8bec2bfbf74f67851730f4f8" + integrity sha512-aePbxDmcYW++PaqBsJ+HYUFwCdv4LVvdnhBy78E57PIor8/OVvhMrADFFEDh8DHDFRv/O9i3lPhsENjO7QX0+A== + dependencies: + cliui "^6.0.0" + decamelize "^1.2.0" + find-up "^4.1.0" + get-caller-file "^2.0.1" + require-directory "^2.1.1" + require-main-filename "^2.0.0" + set-blocking "^2.0.0" + string-width "^4.2.0" + which-module "^2.0.0" + y18n "^4.0.0" + yargs-parser "^18.1.2" + +yargs@^16.2.0: + version "16.2.0" + resolved "https://registry.yarnpkg.com/yargs/-/yargs-16.2.0.tgz#1c82bf0f6b6a66eafce7ef30e376f49a12477f66" + integrity sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw== + dependencies: + cliui "^7.0.2" + escalade "^3.1.1" + get-caller-file "^2.0.5" + require-directory "^2.1.1" + string-width "^4.2.0" + y18n "^5.0.5" + yargs-parser "^20.2.2" + yauzl@2.4.1: version "2.4.1" resolved "https://registry.yarnpkg.com/yauzl/-/yauzl-2.4.1.tgz#9528f442dab1b2284e58b4379bb194e22e0c4005" @@ -2827,3 +14837,13 @@ yauzl@2.4.1: yeast@0.1.2: version "0.1.2" resolved "https://registry.yarnpkg.com/yeast/-/yeast-0.1.2.tgz#008e06d8094320c372dbc2f8ed76a0ca6c8ac419" + +yn@3.1.1: + version "3.1.1" + resolved "https://registry.yarnpkg.com/yn/-/yn-3.1.1.tgz#1e87401a09d767c1d5eab26a6e4c185182d2eb50" + integrity sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q== + +yocto-queue@^0.1.0: + version "0.1.0" + resolved "https://registry.yarnpkg.com/yocto-queue/-/yocto-queue-0.1.0.tgz#0294eb3dee05028d31ee1a5fa2c556a6aaf10a1b" + integrity sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==