From 0aadabc51e32776bc3560437a51e9a68bcce0eeb Mon Sep 17 00:00:00 2001
From: Giceha junior
Date: Mon, 14 Jun 2021 10:18:05 -0400
Subject: [PATCH 01/14] Revamped this file on links
---
README.md | 12 ++++++------
1 file changed, 6 insertions(+), 6 deletions(-)
diff --git a/README.md b/README.md
index 4f390cbe..c6c55979 100644
--- a/README.md
+++ b/README.md
@@ -2,13 +2,13 @@
Bootstrap Multiselect is a JQuery based plugin to provide an intuitive user interface for using select inputs with the multiple attribute present. Instead of a select a bootstrap button will be shown w dropdown menu containing the single options as checkboxes.
-Documentation, Examples, FAQ and License: [http://davidstutz.github.io/bootstrap-multiselect/](http://davidstutz.github.io/bootstrap-multiselect/).
+Documentation, Examples, FAQ and License: [https://davidstutz.github.io/bootstrap-multiselect/](https://davidstutz.github.io/bootstrap-multiselect/).
**If you are interested in actively maintaining this project, please contact me (see GitHub profile for contact information).**
-Bootstrap Multiselect is featured in an article on [tutorialzine](http://tutorialzine.com/): [50 must-Have Plugins for Extending Twitter Bootstrap](http://tutorialzine.com/2013/07/50-must-have-plugins-for-extending-twitter-bootstrap/); on [Bootsnipp](http://bootsnipp.com/)'s [list of Twitter Bootstrap recourses](http://bootsnipp.com/resources); on [Design Your Way](http://www.designyourway.net/blog/resources/jquery-bootstrap-plugins/); and available on [NuGet](https://www.nuget.org/packages/Bootstrap.Multiselect/0.9.9).
+Bootstrap Multiselect is featured in an article on [tutorialzine](https://tutorialzine.com/): [50 must-Have Plugins for Extending Twitter Bootstrap](https://tutorialzine.com/2013/07/50-must-have-plugins-for-extending-twitter-bootstrap/); on [Bootsnipp](https://bootsnipp.com/)'s [list of Twitter Bootstrap recourses](https://bootsnipp.com/resources); on [Design Your Way](https://www.designyourway.net/blog/resources/jquery-bootstrap-plugins/); and available on [NuGet](https://www.nuget.org/packages/Bootstrap.Multiselect/0.9.9).
-**If you use this plugin commercially, consider supporting the development by [making a donation](http://davidstutz.de/donate/).**
+**If you use this plugin commercially, consider supporting the development by [making a donation](https://davidstutz.de/donate/).**
Also check out [Bootstrap Strength Meter](https://github.com/davidstutz/bootstrap-strength-meter) - a Twitter Bootstrap plugin to visualize password strength using [Password Score](https://github.com/davidstutz/password-score).
@@ -18,15 +18,15 @@ Also check out [Bootstrap Strength Meter](https://github.com/davidstutz/bootstra
**Apache License, Version 2.0**
-Copyright (c) 2012 - 2021 [David Stutz](http://davidstutz.de/)
+Copyright (c) 2012 - 2021 [David Stutz](https://davidstutz.de/)
-Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0
+Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at https://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.
**BSD 3-Clause License**
-Copyright (c) 2012 - 2021 [David Stutz](http://davidstutz.de/)
+Copyright (c) 2012 - 2021 [David Stutz](https://davidstutz.de/)
All rights reserved.
Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
From e7b6f2339823ec4c69e4326c446ac077d3254bb1 Mon Sep 17 00:00:00 2001
From: Giceha junior
Date: Mon, 14 Jun 2021 23:41:12 -0400
Subject: [PATCH 02/14] Fixed Typo on this File
---
README.md | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/README.md b/README.md
index c6c55979..8a3d10c0 100644
--- a/README.md
+++ b/README.md
@@ -6,7 +6,7 @@ Documentation, Examples, FAQ and License: [https://davidstutz.github.io/bootstra
**If you are interested in actively maintaining this project, please contact me (see GitHub profile for contact information).**
-Bootstrap Multiselect is featured in an article on [tutorialzine](https://tutorialzine.com/): [50 must-Have Plugins for Extending Twitter Bootstrap](https://tutorialzine.com/2013/07/50-must-have-plugins-for-extending-twitter-bootstrap/); on [Bootsnipp](https://bootsnipp.com/)'s [list of Twitter Bootstrap recourses](https://bootsnipp.com/resources); on [Design Your Way](https://www.designyourway.net/blog/resources/jquery-bootstrap-plugins/); and available on [NuGet](https://www.nuget.org/packages/Bootstrap.Multiselect/0.9.9).
+Bootstrap Multiselect is featured in an article on [tutorialzine](https://tutorialzine.com/): [50 must-Have Plugins for Extending Twitter Bootstrap](https://tutorialzine.com/2013/07/50-must-have-plugins-for-extending-twitter-bootstrap/); on [Bootsnipp](https://bootsnipp.com/)'s [list of Twitter Bootstrap resources](https://bootsnipp.com/resources); on [Design Your Way](https://www.designyourway.net/blog/resources/jquery-bootstrap-plugins/); and available on [NuGet](https://www.nuget.org/packages/Bootstrap.Multiselect/0.9.9).
**If you use this plugin commercially, consider supporting the development by [making a donation](https://davidstutz.de/donate/).**
From 93974bce2723df810cc077c193949bd5c296a146 Mon Sep 17 00:00:00 2001
From: davidstutz
Date: Sun, 1 Aug 2021 17:27:17 +0200
Subject: [PATCH 03/14] Documentation for #436.
---
index.html | 11 +++++++++++
1 file changed, 11 insertions(+)
diff --git a/index.html b/index.html
index 7647c67b..c6b9994a 100644
--- a/index.html
+++ b/index.html
@@ -280,6 +280,12 @@ Configuration Options
+ Unofficial pluguins:
+
+
+
Use Firebug, Chrome Developer Tools to get the best out of the below examples.
@@ -7283,6 +7289,11 @@ Frequently Asked Questions
Yes, see here: #887 .
+
+ How to move selected options to the top of the list?
+
+ Follow the discussion in #436 and the unofficial plugin here .
+
+
+ This examples shows how to make the filter/search input stick to the top:
+
+
+
+
+
+
+ Option 1
+ Option 2
+ Option 3
+ Option 4
+ Option 5
+ Option 1
+ Option 2
+ Option 3
+ Option 4
+ Option 5
+ Option 1
+ Option 2
+ Option 3
+ Option 4
+ Option 5
+ Option 1
+ Option 2
+ Option 3
+ Option 4
+ Option 5
+
+
+
+
+ <script type="text/javascript">
+ $(document).ready(function() {
+ $('#example-form-group').multiselect({
+ enableFiltering: true,
+ maxHeight: 200,
+ });
+ $('.multiselect-container .multiselect-filter', $('#example-fix-filter').parent()).css({
+ 'position': 'sticky', 'top': '0px', 'z-index': 1,
+ })
+ });
+ </script>
+
+ <div class="form-group">
+ <label for"example-form-group">Select</label>
+ <select id="example-form-group" multiple="multiple">
+ <option value="1">Option 1</option>
+ <option value="2">Option 2</option>
+ <option value="3">Option 3</option>
+ <option value="4">Option 4</option>
+ <option value="5">Option 5</option>
+ <option value="1">Option 1</option>
+ <option value="2">Option 2</option>
+ <option value="3">Option 3</option>
+ <option value="4">Option 4</option>
+ <option value="5">Option 5</option>
+ <option value="1">Option 1</option>
+ <option value="2">Option 2</option>
+ <option value="3">Option 3</option>
+ <option value="4">Option 4</option>
+ <option value="5">Option 5</option>
+ <option value="1">Option 1</option>
+ <option value="2">Option 2</option>
+ <option value="3">Option 3</option>
+ <option value="4">Option 4</option>
+ <option value="5">Option 5</option>
+ </select>
+ </div>
+
+
+
From 289b3e7ea710520b3aecdb1ddcddf50385fec281 Mon Sep 17 00:00:00 2001
From: davidstutz
Date: Tue, 3 Aug 2021 21:26:32 +0200
Subject: [PATCH 07/14] Feature #415, onSelectAll and onDeselectAll get changed
options as arguments.
---
dist/js/bootstrap-multiselect.js | 20 +++++++++++++++--
index.html | 26 ++++++++++++++++-------
tests/spec/bootstrap-multiselect.js | 33 +++++++++++++++++++++++++++--
3 files changed, 67 insertions(+), 12 deletions(-)
diff --git a/dist/js/bootstrap-multiselect.js b/dist/js/bootstrap-multiselect.js
index e1458788..8c10651f 100644
--- a/dist/js/bootstrap-multiselect.js
+++ b/dist/js/bootstrap-multiselect.js
@@ -1521,6 +1521,8 @@
return;
}
+ // Record all changes, i.e., options selected that were not selected before.
+ var selected = [];
var justVisible = typeof justVisible === 'undefined' ? true : justVisible;
if (justVisible) {
@@ -1531,6 +1533,9 @@
$('input:enabled', visibleOptions).each($.proxy(function (index, element) {
var value = $(element).val();
var option = this.getOptionByValue(value);
+ if (!$(option).prop('selected')) {
+ selected.push(option);
+ }
$(option).prop('selected', true);
}, this));
}
@@ -1542,6 +1547,9 @@
$('input:enabled', allOptions).each($.proxy(function (index, element) {
var value = $(element).val();
var option = this.getOptionByValue(value);
+ if (!$(option).prop('selected')) {
+ selected.push(option);
+ }
$(option).prop('selected', true);
}, this));
}
@@ -1556,7 +1564,7 @@
this.updateSelectAll();
if (triggerOnSelectAll) {
- this.options.onSelectAll();
+ this.options.onSelectAll(selected);
}
},
@@ -1573,6 +1581,8 @@
return;
}
+ // Record changes, i.e., those options that are deselected but were not deselected before.
+ var deselected = [];
var justVisible = typeof justVisible === 'undefined' ? true : justVisible;
if (justVisible) {
@@ -1583,6 +1593,9 @@
$('input[type="checkbox"]:enabled', visibleOptions).each($.proxy(function (index, element) {
var value = $(element).val();
var option = this.getOptionByValue(value);
+ if ($(option).prop('selected')) {
+ deselected.push(option);
+ }
$(option).prop('selected', false);
}, this));
}
@@ -1594,6 +1607,9 @@
$('input[type="checkbox"]:enabled', allOptions).each($.proxy(function (index, element) {
var value = $(element).val();
var option = this.getOptionByValue(value);
+ if ($(option).prop('selected')) {
+ deselected.push(option);
+ }
$(option).prop('selected', false);
}, this));
}
@@ -1608,7 +1624,7 @@
this.updateSelectAll();
if (triggerOnDeselectAll) {
- this.options.onDeselectAll();
+ this.options.onDeselectAll(deselected);
}
},
diff --git a/index.html b/index.html
index 43d335fa..ef628f62 100644
--- a/index.html
+++ b/index.html
@@ -2823,6 +2823,10 @@ Configuration Options
This function is triggered when the select all option is used to select all options. Note that this can also be triggered manually using the .multiselect('selectAll')
method.
+
+ The options passed to the onSelectAll
handler are exactly those options that are selected but were not selected before.
+
+
Note that the onChange
option is not triggered when (de)selecting all options using the select all option.
@@ -2836,8 +2840,8 @@ Configuration Options
$(document).ready(function() {
$('#example-onSelectAll').multiselect({
includeSelectAllOption: true,
- onSelectAll: function() {
- alert('onSelectAll triggered!');
+ onSelectAll: function(options) {
+ alert('onSelectAll triggered, ' + options.length + ' options selected!');
}
});
});
@@ -2849,6 +2853,7 @@ Configuration Options
Option 4
Option 5
Option 6
+ Disabled Option
@@ -2856,8 +2861,8 @@
Configuration Options
<script type="text/javascript">
$('#example-onSelectAll').multiselect({
includeSelectAllOption: true,
- onSelectAll: function() {
- alert('onSelectAll triggered!');
+ onSelectAll: function(options) {
+ alert('onSelectAll triggered, ' + options.length + ' options selected!');
}
});
</script>
@@ -2874,6 +2879,10 @@
Configuration Options
This function is triggered when the select all option is used to
de select all options. Note that this can also be triggered manually using the
.multiselect('deselectAll')
method.
+
+ The options passed to the onDeselectAll
handler are exactly those options that are selected but were not selected before.
+
+
Note that the onChange
option is not triggered when (de)selecting all options using the select all option.
@@ -2888,8 +2897,8 @@
Configuration Options
$('#example-onDeselectAll').multiselect({
includeSelectAllOption: true,
enableFiltering: true,
- onDeselectAll: function() {
- alert('onDeselectAll triggered!');
+ onDeselectAll: function(options) {
+ alert('onDeselectAll triggered, ' + options.length + ' options deselected!');
}
});
});
@@ -2901,6 +2910,7 @@
Configuration Options
Option 4
Option 5
Option 6
+
Disabled Option
@@ -2909,8 +2919,8 @@
Configuration Options
$(document).ready(function() {
$('#example-onDeselectAll').multiselect({
includeSelectAllOption: true,
- onDeselectAll: function() {
- alert('onDeselectAll triggered!');
+ onDeselectAll: function(options) {
+ alert('onDeselectAll triggered, ' + options.length + ' options deselected!');
}
});
});
diff --git a/tests/spec/bootstrap-multiselect.js b/tests/spec/bootstrap-multiselect.js
index 4b5b698f..a8bdc8f6 100644
--- a/tests/spec/bootstrap-multiselect.js
+++ b/tests/spec/bootstrap-multiselect.js
@@ -1296,11 +1296,13 @@ describe('Bootstrap Multiselect "Select All".', function () {
buttonContainer: '
',
includeSelectAllOption: true,
selectAllValue: 'multiselect-all',
- onSelectAll: function () {
+ onSelectAll: function (options) {
onSelectAllTriggered = true;
+ onSelectAllOptions = options.length;
},
- onDeselectAll: function () {
+ onDeselectAll: function (options) {
onDeselectAllTriggered = true;
+ onDeselectAllOptions = options.length;
},
onChange: function (option, checked) {
fired++;
@@ -1430,6 +1432,33 @@ describe('Bootstrap Multiselect "Select All".', function () {
expect(onDeselectAllTriggered).toBe(true);
});
+ it('Should include selected/deselected options in onSelectAll/onDeselectAll.', function () {
+ expect($('#multiselect option:selected').length).toBe(0);
+ expect($('#multiselect-container input[value="multiselect-all"]').prop('checked')).toBe(false);
+
+ // Set one option.
+ $('#multiselect-container input[value="1"]').prop('checked', true).trigger('change');
+ expect($('#multiselect-container input[value="1"]').prop('checked')).toBe(true);
+
+ $('#multiselect-container input[value="multiselect-all"]').prop('checked', true);
+ $('#multiselect-container input[value="multiselect-all"]').trigger('change');
+
+ expect($('#multiselect option:selected').length).toBe(99);
+ expect($('#multiselect-container input:checked').length).toBe(100);
+
+ expect(onSelectAllTriggered).toBe(true);
+ expect(onSelectAllOptions).toBe(98);
+
+ $('#multiselect-container input[value="multiselect-all"]').prop('checked', false);
+ $('#multiselect-container input[value="multiselect-all"]').trigger('change');
+
+ expect($('#multiselect option:selected[value!="multiselect-all"]').length).toBe(0);
+ expect($('#multiselect option:selected').length).toBe(0);
+
+ expect(onDeselectAllTriggered).toBe(true);
+ expect(onDeselectAllOptions).toBe(99);
+ });
+
it('Should trigger the onSelectAll/onDeselectAll when clicking the select all option.', function () {
expect($('#multiselect option:selected').length).toBe(0);
expect($('#multiselect-container input[value="multiselect-all"]').prop('checked')).toBe(false);
From 780829e39fabfb872f4432e37b858eabb6953b45 Mon Sep 17 00:00:00 2001
From: davidstutz
Date: Tue, 3 Aug 2021 21:39:03 +0200
Subject: [PATCH 08/14] Document #515.
---
index.html | 48 ++++++++++++++++++++++++++++++++++++++++++++++++
1 file changed, 48 insertions(+)
diff --git a/index.html b/index.html
index ef628f62..8d118ea9 100644
--- a/index.html
+++ b/index.html
@@ -50,6 +50,7 @@
Methods
Further Examples
Server-Side Processing
+ Validation
Keyboard Support
Require JS
Frequently Asked Questions
@@ -7112,6 +7113,53 @@ Server-Side Processing
+
+
+ The required
attribute is supported:
+
+
+
+
+
+
+<form>
+ <script type="text/javascript">
+ $(document).ready(function() {
+ $('#example-required').multiselect();
+ });
+ </script>
+ <select id="example-required" required multiple="multiple">
+ <option value="1">Option 1</option>
+ <option value="2">Option 2</option>
+ <option value="3">Option 3</option>
+ <option value="4">Option 4</option>
+ <option value="5">Option 5</option>
+ <option value="6">Option 6</option>
+ </select>
+
+ <button class="btn btn-primary" type="submit">Submit</button>
+</form>
+
+
+
From c649f790452ea26b005a5a130f1be42dad9d68cf Mon Sep 17 00:00:00 2001
From: davidstutz
Date: Thu, 5 Aug 2021 21:26:50 +0200
Subject: [PATCH 09/14] Reset button for #535.
---
dist/js/bootstrap-multiselect.js | 38 ++++++++
index.html | 117 +++++++++++++++++++++--
tests/spec/bootstrap-multiselect.js | 140 +++++++++++++++++++++++++++-
3 files changed, 285 insertions(+), 10 deletions(-)
diff --git a/dist/js/bootstrap-multiselect.js b/dist/js/bootstrap-multiselect.js
index 8c10651f..e882af8f 100644
--- a/dist/js/bootstrap-multiselect.js
+++ b/dist/js/bootstrap-multiselect.js
@@ -219,6 +219,7 @@
this.buildSelectAll();
this.buildDropdownOptions();
this.buildFilter();
+ this.buildButtons();
this.updateButtonText();
this.updateSelectAll(true);
@@ -435,6 +436,7 @@
nonSelectedText: 'None selected',
nSelectedText: 'selected',
allSelectedText: 'All selected',
+ resetButtonText: 'Reset',
numberDisplayed: 3,
disableIfEmpty: false,
disabledText: '',
@@ -446,10 +448,13 @@
// possible options: 'never', 'always', 'ifPopupIsSmaller', 'ifPopupIsWider'
widthSynchronizationMode: 'never',
buttonTextAlignment: 'center',
+ enableResetButton: false,
templates: {
button: ' ',
popupContainer: '',
filter: '
',
+ buttonGroup: '
',
+ buttonGroupReset: ' ',
option: ' ',
divider: '
',
optionGroup: ' ',
@@ -1294,6 +1299,38 @@
}
},
+ /**
+ * Builds the filter.
+ */
+ buildButtons: function () {
+ if (this.options.enableResetButton) {
+ var $buttonGroup = $(this.options.templates.buttonGroup);
+ this.$buttonGroupReset = $(this.options.templates.buttonGroupReset).text(this.options.resetButtonText);
+ $buttonGroup.append(this.$buttonGroupReset);
+ this.$popupContainer.prepend($buttonGroup);
+
+ // We save all options that were previously selected.
+ this.defaultSelection = {};
+ $('option', this.$select).each($.proxy(function(index, element) {
+ var $option = $(element);
+ this.defaultSelection[$option.val()] = $option.prop('selected');
+ }, this));
+
+ this.$buttonGroupReset.on('click', $.proxy(function(event) {
+ $('option', this.$select).each($.proxy(function(index, element) {
+ var $option = $(element);
+ $option.prop('selected', this.defaultSelection[$option.val()]);
+ }, this));
+ this.refresh();
+
+ if (this.options.enableFiltering) {
+ this.$filter.trigger('keydown');
+ $('input', this.$filter).val('');
+ }
+ }, this));
+ }
+ },
+
updatePopupPosition: function() {
// prevent gaps between popup and select when filter is used (#1199)
var transformMatrix = this.$popupContainer.css("transform");
@@ -1642,6 +1679,7 @@
this.buildSelectAll();
this.buildDropdownOptions();
this.buildFilter();
+ this.buildButtons();
this.updateButtonText();
this.updateSelectAll(true);
diff --git a/index.html b/index.html
index 8d118ea9..09de1db4 100644
--- a/index.html
+++ b/index.html
@@ -278,6 +278,10 @@ Configuration Options
widthSynchronizationMode
buttonTextAlignment
+
+ enableResetButton
+ enableResetButton
+
@@ -3865,6 +3869,104 @@ Configuration Options
});
});
</script>
+
+
+
+
+
+
+
+ enableResetButton
+
+
+
+ Includes a reset button at the top of the multiselect which resets the selection to the original selection.
+
+
+
+
+
+ Option 1
+ Option 2
+ Option 3
+ Option 4
+ Option 5
+
+
+
+
+<script type="text/javascript">
+ $(document).ready(function() {
+ $('#example-enableResetButton').multiselect({
+ enableResetButton: true,
+ enableFiltering: true,
+ includeSelectAllOption: true,
+ });
+ });
+</script>
+<select id="example-enableResetButton" multiple="multiple">
+ <option value="1">Option 1</option>
+ <option value="2" selected>Option 2</option>
+ <option value="3">Option 3</option>
+ <option value="4" selected>Option 4</option>
+ <option value="5">Option 5</option>
+</select>
+
+
+
+
+
+
+
+ enableResetButton
+
+
+
+ Changes the text of the reset button.
+
+
+
+
+
+ Option 1
+ Option 2
+ Option 3
+ Option 4
+ Option 5
+
+
+
+
+<script type="text/javascript">
+ $(document).ready(function() {
+ $('#example-resetButtonText').multiselect({
+ enableResetButton: true,
+ resetButtonText: 'Undo',
+ });
+ });
+</script>
+<select id="example-resetButtonText" multiple="multiple">
+ <option value="1">Option 1</option>
+ <option value="2" selected>Option 2</option>
+ <option value="3">Option 3</option>
+ <option value="4" selected>Option 4</option>
+ <option value="5">Option 5</option>
+</select>
@@ -3876,7 +3978,6 @@ Configuration Options
Templates
-
The generated HTML markup can be controlled using templates. Basically, templates are simple configuration options. The default templates are shown below:
@@ -3894,13 +3995,15 @@ Templates
$(document).ready(function() {
$('#example').multiselect({
templates: {
- button: '<button type="button" class="multiselect dropdown-toggle" data-toggle="dropdown"><span class="multiselect-selected-text"></span></button>',
+ button: '<button type="button" class="multiselect dropdown-toggle" data-toggle="dropdown"><span class="multiselect-selected-text"></span></button>',
popupContainer: '<div class="multiselect-container dropdown-menu"></div>',
- filter: '<div class="multiselect-filter d-flex align-items-center"><i class="fas fa-sm fa-search text-muted"></i><input type="search" class="multiselect-search form-control" /></div>',
- option: '<a class="multiselect-option dropdown-item"></a>',
- divider: '<div class="multiselect-item dropdown-divider"></div>',
- optionGroup: '<a class="multiselect-item multiselect-group"></a>',
- resetButton: '<div class="multiselect-reset text-center p-2"><a class="btn btn-sm btn-block btn-outline-secondary"></a></div>'
+ filter: '<div class="multiselect-filter d-flex align-items-center"><i class="fas fa-sm fa-search text-muted"></i><input type="search" class="multiselect-search form-control" /></div>',
+ buttonGroup: '<div class="multiselect-buttons btn-group" style="display:flex;"></div>',
+ buttonGroupReset: '<button type="button" class="multiselect-reset btn btn-secondary btn-block"></button>',
+ option: '<button type="button" class="multiselect-option dropdown-item"></button>',
+ divider: '<div class="dropdown-divider"></div>',
+ optionGroup: '<button type="button" class="multiselect-group dropdown-item"></button>',
+ resetButton: '<div class="multiselect-reset text-center p-2"><button type="button" class="btn btn-sm btn-block btn-outline-secondary"></button></div>'
}
});
});
diff --git a/tests/spec/bootstrap-multiselect.js b/tests/spec/bootstrap-multiselect.js
index a8bdc8f6..af79eecf 100644
--- a/tests/spec/bootstrap-multiselect.js
+++ b/tests/spec/bootstrap-multiselect.js
@@ -561,7 +561,7 @@ describe('Bootstrap Multiselect "Individual Configuration Options".', function (
});
});
-describe('Bootstrap Multiselect "individual Methods".', function () {
+describe('Bootstrap Multiselect "Individual Methods".', function () {
describe('Method "clearSelection" should clear selection in multiple mode.', function () {
beforeEach(function () {
var $select = $(' ');
@@ -1938,6 +1938,138 @@ describe('Bootstrap Multiselect "Filter".', function () {
});
});
+describe('Bootstrap Multiselect "Reset Button+Select All+Filter".', function() {
+ var $select = null;
+ beforeEach(function () {
+ $('#multiselect').multiselect('destroy');
+ $('#multiselect').remove();
+
+ $select = $(' ');
+
+ for (var i = 1; i < 10; i++) {
+ $select.append('Option ' + i + ' ');
+ }
+
+ $('body').append($select);
+ });
+
+ describe('Should create a reset button.', function () {
+ beforeEach(function () {
+ $select.multiselect({
+ buttonContainer: '
',
+ enableResetButton: true,
+ });
+ });
+
+ it('Should create reset button.', function () {
+ expect($('#multiselect-container .multiselect-buttons .multiselect-reset').length).toBe(1);
+ });
+ });
+ describe('Should remember the initially selected options.', function () {
+ beforeEach(function () {
+ $select.multiselect({
+ buttonContainer: '
',
+ enableResetButton: true,
+ });
+ });
+
+ it('Should reset to original selection.', function () {
+ expect($('#multiselect option').length).toBe(9);
+ expect($('#multiselect option:selected').length).toBe(2);
+
+ $('#multiselect-container input[value="1"]').trigger('click');
+ $('#multiselect-container input[value="9"]').trigger('click');
+ expect($('#multiselect option:selected').length).toBe(4);
+
+ $('#multiselect-container .multiselect-buttons .multiselect-reset').click();
+ expect($('#multiselect option:selected').length).toBe(2);
+
+ for (var i = 1; i < 10; i++) {
+ var expection = i == 2 || i == 3 ? true : false;
+ expect($('#multiselect option[value="' + i + '"]').prop('selected')).toBe(expection);
+ }
+ });
+ it('Should do nothing with the original selection.', function () {
+ $('#multiselect-container .multiselect-buttons .multiselect-reset').click();
+ expect($('#multiselect option:selected').length).toBe(2);
+
+ for (var i = 1; i < 10; i++) {
+ var expection = (i == 2 || i == 3) ? true : false;
+ expect($('#multiselect option[value="' + i + '"]').prop('selected')).toBe(expection);
+ }
+ });
+ });
+ describe('Should work with Select All.', function () {
+ beforeEach(function () {
+ $select.multiselect({
+ buttonContainer: '
',
+ enableResetButton: true,
+ includeSelectAllOption: true,
+ seletAllJustVisible: true,
+ enableFiltering: true,
+ selectAllValue: 'multiselect-all',
+ });
+ });
+
+ it('Should reset Select All.', function () {
+ expect($('#multiselect option').length).toBe(9);
+ expect($('#multiselect option:selected').length).toBe(2);
+
+ for (var i = 1; i < 10; i++) {
+ if (i != 2 && i != 3) {
+ $('#multiselect-container input[value="' + i + '"]').trigger('click');
+ }
+ }
+ expect($('#multiselect option:selected').length).toBe(9);
+ expect($('#multiselect-container input[value="multiselect-all"]').prop('checked')).toBe(true);
+
+ $('#multiselect-container .multiselect-buttons .multiselect-reset').click();
+ expect($('#multiselect option:selected').length).toBe(2);
+ expect($('#multiselect-container input[value="multiselect-all"]').prop('checked')).toBe(false);
+
+ for (var i = 1; i < 10; i++) {
+ var expection = i == 2 || i == 3 ? true : false;
+ expect($('#multiselect option[value="' + i + '"]').prop('selected')).toBe(expection);
+ }
+ });
+ });
+ describe('Should work with Filter.', function () {
+ beforeEach(function (done) {
+ $select.multiselect({
+ buttonContainer: '
',
+ enableResetButton: true,
+ includeSelectAllOption: true,
+ seletAllJustVisible: true,
+ enableFiltering: true,
+ selectAllValue: 'multiselect-all',
+ onFiltering: function() {
+ console.log('filter');
+ done();
+ }
+ });
+
+ console.log($('#multiselect-container .multiselect-filter input'));
+ $('#multiselect-container .multiselect-filter input').val('1').trigger('keydown');
+ });
+
+ it('Should reset Filter.', function () {
+ expect($('#multiselect option').length).toBe(9);
+ expect($('#multiselect option:selected').length).toBe(2);
+
+ expect($('#multiselect-container .multiselect-option input[value="1"]').closest('.multiselect-option').hasClass('multiselect-filter-hidden')).toBe(false);
+ expect($('#multiselect-container .multiselect-option input[value="2"]').closest('.multiselect-option').hasClass('multiselect-filter-hidden')).toBe(true);
+
+ $('#multiselect-container input[value="multiselect-all"]').trigger('click');
+ expect($('#multiselect option:selected').length).toBe(3);
+
+ $('#multiselect-container .multiselect-buttons .multiselect-reset').click();
+ expect($('#multiselect option:selected').length).toBe(2);
+ expect($('#multiselect-container input[value="multiselect-all"]').prop('checked')).toBe(false);
+ expect($('#multiselect-container .multiselect-filter input').val()).toBe('');
+ });
+ });
+});
+
describe('Bootstrap Multiselect "Select All+Filter+selectAllJustVisible".', function () {
var $select = null;
beforeEach(function () {
@@ -2096,7 +2228,6 @@ describe('Bootstrap Multiselect "Select All+Filter+selectAllJustVisible".', func
});
describe('Bootstrap Multiselect "Specific Issues".', function () {
-
it('#393.', function () {
var $select = $(' ');
@@ -2477,6 +2608,9 @@ describe('Bootstrap Multiselect "Reset".', function () {
var $select;
beforeEach(function () {
+ $('#multiselect').multiselect('destroy');
+ $('#multiselect').remove();
+
$select = $(' ');
for (var i = 1; i < 100; i++) {
@@ -2510,4 +2644,4 @@ describe('Bootstrap Multiselect "Reset".', function () {
$select.multiselect('destroy');
$select.remove();
});
-});
+});
\ No newline at end of file
From 4d651cd24f89bef0ac8d308d35ce8f7156664086 Mon Sep 17 00:00:00 2001
From: davidstutz
Date: Thu, 5 Aug 2021 21:26:50 +0200
Subject: [PATCH 10/14] Reset button for #535.
---
dist/js/bootstrap-multiselect.js | 38 ++++++++
dist/js/bootstrap-multiselect.min.js | 2 +-
index.html | 117 ++++++++++++++++++++--
tests/spec/bootstrap-multiselect.js | 140 ++++++++++++++++++++++++++-
4 files changed, 286 insertions(+), 11 deletions(-)
diff --git a/dist/js/bootstrap-multiselect.js b/dist/js/bootstrap-multiselect.js
index 8c10651f..e882af8f 100644
--- a/dist/js/bootstrap-multiselect.js
+++ b/dist/js/bootstrap-multiselect.js
@@ -219,6 +219,7 @@
this.buildSelectAll();
this.buildDropdownOptions();
this.buildFilter();
+ this.buildButtons();
this.updateButtonText();
this.updateSelectAll(true);
@@ -435,6 +436,7 @@
nonSelectedText: 'None selected',
nSelectedText: 'selected',
allSelectedText: 'All selected',
+ resetButtonText: 'Reset',
numberDisplayed: 3,
disableIfEmpty: false,
disabledText: '',
@@ -446,10 +448,13 @@
// possible options: 'never', 'always', 'ifPopupIsSmaller', 'ifPopupIsWider'
widthSynchronizationMode: 'never',
buttonTextAlignment: 'center',
+ enableResetButton: false,
templates: {
button: ' ',
popupContainer: '',
filter: '
',
+ buttonGroup: '
',
+ buttonGroupReset: ' ',
option: ' ',
divider: '
',
optionGroup: ' ',
@@ -1294,6 +1299,38 @@
}
},
+ /**
+ * Builds the filter.
+ */
+ buildButtons: function () {
+ if (this.options.enableResetButton) {
+ var $buttonGroup = $(this.options.templates.buttonGroup);
+ this.$buttonGroupReset = $(this.options.templates.buttonGroupReset).text(this.options.resetButtonText);
+ $buttonGroup.append(this.$buttonGroupReset);
+ this.$popupContainer.prepend($buttonGroup);
+
+ // We save all options that were previously selected.
+ this.defaultSelection = {};
+ $('option', this.$select).each($.proxy(function(index, element) {
+ var $option = $(element);
+ this.defaultSelection[$option.val()] = $option.prop('selected');
+ }, this));
+
+ this.$buttonGroupReset.on('click', $.proxy(function(event) {
+ $('option', this.$select).each($.proxy(function(index, element) {
+ var $option = $(element);
+ $option.prop('selected', this.defaultSelection[$option.val()]);
+ }, this));
+ this.refresh();
+
+ if (this.options.enableFiltering) {
+ this.$filter.trigger('keydown');
+ $('input', this.$filter).val('');
+ }
+ }, this));
+ }
+ },
+
updatePopupPosition: function() {
// prevent gaps between popup and select when filter is used (#1199)
var transformMatrix = this.$popupContainer.css("transform");
@@ -1642,6 +1679,7 @@
this.buildSelectAll();
this.buildDropdownOptions();
this.buildFilter();
+ this.buildButtons();
this.updateButtonText();
this.updateSelectAll(true);
diff --git a/dist/js/bootstrap-multiselect.min.js b/dist/js/bootstrap-multiselect.min.js
index 04582c1f..1c55bc84 100644
--- a/dist/js/bootstrap-multiselect.min.js
+++ b/dist/js/bootstrap-multiselect.min.js
@@ -41,4 +41,4 @@
* OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
* ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
-!function(root,factory){"function"==typeof define&&define.amd&&"function"==typeof require&&"function"==typeof require.specified&&require.specified("knockout")?define(["jquery","knockout"],factory):factory(root.jQuery,root.ko)}(this,function($,ko){"use strict";function forEach(array,callback){for(var index=0;index ').after(this.$container),this.$select.prop("tabindex","-1"),"never"!==this.options.widthSynchronizationMode&&this.synchronizeButtonAndPopupWidth(),this.options.onInitialized(this.$select,this.$container)}void 0!==ko&&ko.bindingHandlers&&!ko.bindingHandlers.multiselect&&(ko.bindingHandlers.multiselect={after:["options","value","selectedOptions","enable","disable"],init:function(element,valueAccessor,allBindings,viewModel,bindingContext){var $element=$(element),config=ko.toJS(valueAccessor());if($element.multiselect(config),allBindings.has("options")){var options=allBindings.get("options");ko.isObservable(options)&&ko.computed({read:function(){options(),setTimeout(function(){var ms=$element.data("multiselect");ms&&ms.updateOriginalOptions(),$element.multiselect("rebuild")},1)},disposeWhenNodeIsRemoved:element})}if(allBindings.has("value")){var value=allBindings.get("value");ko.isObservable(value)&&ko.computed({read:function(){value(),setTimeout(function(){$element.multiselect("refresh")},1)},disposeWhenNodeIsRemoved:element}).extend({rateLimit:100,notifyWhenChangesStop:!0})}if(allBindings.has("selectedOptions")){var selectedOptions=allBindings.get("selectedOptions");ko.isObservable(selectedOptions)&&ko.computed({read:function(){selectedOptions(),setTimeout(function(){$element.multiselect("refresh")},1)},disposeWhenNodeIsRemoved:element}).extend({rateLimit:100,notifyWhenChangesStop:!0})}var setEnabled=function(enable){setTimeout(function(){enable?$element.multiselect("enable"):$element.multiselect("disable")})};if(allBindings.has("enable")){var enable=allBindings.get("enable");ko.isObservable(enable)?ko.computed({read:function(){setEnabled(enable())},disposeWhenNodeIsRemoved:element}).extend({rateLimit:100,notifyWhenChangesStop:!0}):setEnabled(enable)}if(allBindings.has("disable")){var disable=allBindings.get("disable");ko.isObservable(disable)?ko.computed({read:function(){setEnabled(!disable())},disposeWhenNodeIsRemoved:element}).extend({rateLimit:100,notifyWhenChangesStop:!0}):setEnabled(!disable)}ko.utils.domNodeDisposal.addDisposeCallback(element,function(){$element.multiselect("destroy")})},update:function(element,valueAccessor,allBindings,viewModel,bindingContext){var $element=$(element),config=ko.toJS(valueAccessor());$element.multiselect("setOptions",config),$element.multiselect("rebuild")}}),Multiselect.prototype={defaults:{buttonText:function(selectedOptions,select){if(this.disabledText.length>0&&select.prop("disabled"))return this.disabledText;if(0===selectedOptions.length)return this.nonSelectedText;if(this.allSelectedText&&selectedOptions.length===$("option",$(select)).length&&1!==$("option",$(select)).length&&this.multiple)return this.selectAllNumber?this.allSelectedText+" ("+selectedOptions.length+")":this.allSelectedText;if(0!=this.numberDisplayed&&selectedOptions.length>this.numberDisplayed)return selectedOptions.length+" "+this.nSelectedText;var selected="",delimiter=this.delimiterText;return selectedOptions.each(function(){var label=void 0!==$(this).attr("label")?$(this).attr("label"):$(this).text();selected+=label+delimiter}),selected.substr(0,selected.length-this.delimiterText.length)},buttonTitle:function(options,select){if(0===options.length)return this.nonSelectedText;var selected="",delimiter=this.delimiterText;return options.each(function(){var label=void 0!==$(this).attr("label")?$(this).attr("label"):$(this).text();selected+=label+delimiter}),selected.substr(0,selected.length-this.delimiterText.length)},checkboxName:function(option){return!1},optionLabel:function(element){return $(element).attr("label")||$(element).text()},optionClass:function(element){return $(element).attr("class")||""},onChange:function(option,checked){},onDropdownShow:function(event){},onDropdownHide:function(event){},onDropdownShown:function(event){},onDropdownHidden:function(event){},onSelectAll:function(){},onDeselectAll:function(){},onInitialized:function($select,$container){},onFiltering:function($filter){},enableHTML:!1,buttonClass:"custom-select",inheritClass:!1,buttonWidth:"auto",buttonContainer:'
',dropRight:!1,dropUp:!1,selectedClass:"active",maxHeight:!1,includeSelectAllOption:!1,includeSelectAllIfMoreThan:0,selectAllText:" Select all",selectAllValue:"multiselect-all",selectAllName:!1,selectAllNumber:!0,selectAllJustVisible:!0,enableFiltering:!1,enableCaseInsensitiveFiltering:!1,enableFullValueFiltering:!1,enableClickableOptGroups:!1,enableCollapsibleOptGroups:!1,collapseOptGroupsByDefault:!1,filterPlaceholder:"Search",filterBehavior:"text",includeFilterClearBtn:!0,preventInputChangeEvent:!1,nonSelectedText:"None selected",nSelectedText:"selected",allSelectedText:"All selected",numberDisplayed:3,disableIfEmpty:!1,disabledText:"",delimiterText:", ",includeResetOption:!1,includeResetDivider:!1,resetText:"Reset",indentGroupOptions:!0,widthSynchronizationMode:"never",buttonTextAlignment:"center",templates:{button:' ',popupContainer:'',filter:'
',option:' ',divider:'
',optionGroup:' ',resetButton:'
'}},constructor:Multiselect,buildContainer:function(){this.$container=$(this.options.buttonContainer),"never"!==this.options.widthSynchronizationMode?this.$container.on("show.bs.dropdown",$.proxy(function(){this.synchronizeButtonAndPopupWidth(),this.options.onDropdownShow()},this)):this.$container.on("show.bs.dropdown",this.options.onDropdownShow),this.$container.on("hide.bs.dropdown",this.options.onDropdownHide),this.$container.on("shown.bs.dropdown",this.options.onDropdownShown),this.$container.on("hidden.bs.dropdown",this.options.onDropdownHidden)},buildButton:function(){if(this.$button=$(this.options.templates.button).addClass(this.options.buttonClass),this.$select.attr("class")&&this.options.inheritClass&&this.$button.addClass(this.$select.attr("class")),this.$select.prop("disabled")?this.disable():this.enable(),this.options.buttonWidth&&"auto"!==this.options.buttonWidth&&(this.$button.css({width:"100%"}),this.$container.css({width:this.options.buttonWidth})),this.options.buttonTextAlignment)switch(this.options.buttonTextAlignment){case"left":this.$button.addClass("text-left");break;case"center":this.$button.addClass("text-center");break;case"right":this.$button.addClass("text-right")}var tabindex=this.$select.attr("tabindex");tabindex&&this.$button.attr("tabindex",tabindex),this.$container.prepend(this.$button)},buildDropdown:function(){this.$popupContainer=$(this.options.templates.popupContainer),this.options.dropRight?this.$container.addClass("dropright"):this.options.dropUp&&this.$container.addClass("dropup"),this.options.maxHeight&&this.$popupContainer.css({"max-height":this.options.maxHeight+"px","overflow-y":"auto","overflow-x":"hidden"}),"never"!==this.options.widthSynchronizationMode&&this.$popupContainer.css("overflow-x","hidden"),this.$popupContainer.on("touchstart click",function(e){e.stopPropagation()}),this.$container.append(this.$popupContainer)},synchronizeButtonAndPopupWidth:function(){if(this.$popupContainer&&"never"!==this.options.widthSynchronizationMode){var buttonWidth=this.$button.outerWidth();switch(this.options.widthSynchronizationMode){case"always":this.$popupContainer.css("min-width",buttonWidth),this.$popupContainer.css("max-width",buttonWidth);break;case"ifPopupIsSmaller":this.$popupContainer.css("min-width",buttonWidth);break;case"ifPopupIsWider":this.$popupContainer.css("max-width",buttonWidth)}}},buildDropdownOptions:function(){this.$select.children().each($.proxy(function(index,element){var $element=$(element),tag=$element.prop("tagName").toLowerCase();$element.prop("value")!==this.options.selectAllValue&&("optgroup"===tag?this.createOptgroup(element):"option"===tag&&("divider"===$element.data("role")?this.createDivider():this.createOptionValue(element,!1)))},this)),$(this.$popupContainer).off("change",'> *:not(.multiselect-group) input[type="checkbox"], > *:not(.multiselect-group) input[type="radio"]'),$(this.$popupContainer).on("change",'> *:not(.multiselect-group) input[type="checkbox"], > *:not(.multiselect-group) input[type="radio"]',$.proxy(function(event){var $target=$(event.target),checked=$target.prop("checked")||!1,isSelectAllOption=$target.val()===this.options.selectAllValue;this.options.selectedClass&&(checked?$target.closest(".multiselect-option").addClass(this.options.selectedClass):$target.closest(".multiselect-option").removeClass(this.options.selectedClass));var value=$target.val(),$option=this.getOptionByValue(value),$optionsNotThis=$("option",this.$select).not($option),$checkboxesNotThis=$("input",this.$container).not($target);if(isSelectAllOption?checked?this.selectAll(this.options.selectAllJustVisible,!0):this.deselectAll(this.options.selectAllJustVisible,!0):(checked?($option.prop("selected",!0),this.options.multiple?$option.prop("selected",!0):(this.options.selectedClass&&$($checkboxesNotThis).closest(".dropdown-item").removeClass(this.options.selectedClass),$($checkboxesNotThis).prop("checked",!1),$optionsNotThis.prop("selected",!1),this.$button.click()),"active"===this.options.selectedClass&&$optionsNotThis.closest(".dropdown-item").css("outline","")):$option.prop("selected",!1),this.options.onChange($option,checked),this.updateSelectAll(),this.options.enableClickableOptGroups&&this.options.multiple&&this.updateOptGroups()),this.$select.change(),this.updateButtonText(),this.options.preventInputChangeEvent)return!1},this)),$(".multiselect-option",this.$popupContainer).off("mousedown"),$(".multiselect-option",this.$popupContainer).on("mousedown",function(e){if(e.shiftKey)return!1}),$(this.$popupContainer).off("touchstart click",".multiselect-option, .multiselect-all, .multiselect-group"),$(this.$popupContainer).on("touchstart click",".multiselect-option, .multiselect-all, .multiselect-group",$.proxy(function(event){event.stopPropagation();var $target=$(event.target),$input;if(event.shiftKey&&this.options.multiple){$target.is("input")||(event.preventDefault(),($target=$target.closest(".multiselect-option").find("input")).prop("checked",!$target.prop("checked")));var checked=$target.prop("checked")||!1;if(null!==this.lastToggledInput&&this.lastToggledInput!==$target){var from=this.$popupContainer.find(".multiselect-option:visible").index($target.closest(".multiselect-option")),to=this.$popupContainer.find(".multiselect-option:visible").index(this.lastToggledInput.closest(".multiselect-option"));if(from>to){var tmp=to;to=from,from=tmp}++to;var range=this.$popupContainer.find(".multiselect-option:not(.multiselect-filter-hidden)").slice(from,to).find("input");range.prop("checked",checked),this.options.selectedClass&&range.closest(".multiselect-option").toggleClass(this.options.selectedClass,checked);for(var i=0,j=range.length;i0)!this.options.multiple&&$checkbox.prop("checked")||($checkbox.prop("checked",!$checkbox.prop("checked")),$checkbox.change());else if(this.options.enableClickableOptGroups&&this.options.multiple&&!$target.hasClass("caret-container")){var groupItem=$target;groupItem.hasClass("multiselect-group")||(groupItem=$target.closest(".multiselect-group")),($checkbox=groupItem.find(".form-check-input")).length>0&&($checkbox.prop("checked",!$checkbox.prop("checked")),$checkbox.change())}event.preventDefault()}$target.closest(".multiselect-option").find("input[type='checkbox'], input[type='radio']").length>0?this.lastToggledInput=$target:this.lastToggledInput=null,$target.blur()},this)),this.$container.off("keydown.multiselect").on("keydown.multiselect",$.proxy(function(event){var $items=$(this.$container).find(".multiselect-option:not(.disabled), .multiselect-group:not(.disabled), .multiselect-all").filter(":visible"),index=$items.index($items.filter(":focus")),$search=$(".multiselect-search",this.$container);if(9===event.keyCode&&this.$container.hasClass("show"))this.$button.click();else if(13==event.keyCode){var $current=$items.eq(index);setTimeout(function(){$current.focus()},1)}else if(38==event.keyCode)0!=index||$search.is(":focus")||setTimeout(function(){$search.focus()},1);else if(40==event.keyCode)if($search.is(":focus")){var $first=$items.eq(0);setTimeout(function(){$search.blur(),$first.focus()},1)}else-1==index&&setTimeout(function(){$search.focus()},1)},this)),this.options.enableClickableOptGroups&&this.options.multiple&&($(".multiselect-group input",this.$popupContainer).off("change"),$(".multiselect-group input",this.$popupContainer).on("change",$.proxy(function(event){event.stopPropagation();var $target,checked=$(event.target).prop("checked")||!1,$item=$(event.target).closest(".dropdown-item"),$group,$inputs=$item.nextUntil(".multiselect-group").not(".multiselect-filter-hidden").not(".disabled").find("input"),$options=[];this.options.selectedClass&&(checked?$item.addClass(this.options.selectedClass):$item.removeClass(this.options.selectedClass)),$.each($inputs,$.proxy(function(index,input){var $input=$(input),value=$input.val(),$option=this.getOptionByValue(value);checked?($input.prop("checked",!0),$input.closest(".dropdown-item").addClass(this.options.selectedClass),$option.prop("selected",!0)):($input.prop("checked",!1),$input.closest(".dropdown-item").removeClass(this.options.selectedClass),$option.prop("selected",!1)),$options.push(this.getOptionByValue(value))},this)),this.options.onChange($options,checked),this.$select.change(),this.updateButtonText(),this.updateSelectAll()},this))),this.options.enableCollapsibleOptGroups&&this.options.multiple&&($(".multiselect-group .caret-container",this.$popupContainer).off("click"),$(".multiselect-group .caret-container",this.$popupContainer).on("click",$.proxy(function(event){var $group,$inputs=$(event.target).closest(".multiselect-group").nextUntil(".multiselect-group").not(".multiselect-filter-hidden"),visible=!0;$inputs.each(function(){visible=visible&&!$(this).hasClass("multiselect-collapsible-hidden")}),visible?$inputs.hide().addClass("multiselect-collapsible-hidden"):$inputs.show().removeClass("multiselect-collapsible-hidden")},this)))},createCheckbox:function($item,labelContent,name,value,title,inputType){var $wrapper=$(" "),$checkboxLabel,$checkboxLabel;($wrapper.addClass("form-check"),this.options.enableHTML&&$(labelContent).length>0)?(($checkboxLabel=$(' ')).html(labelContent),$wrapper.append($checkboxLabel)):(($checkboxLabel=$(' ')).text(labelContent),$wrapper.append($checkboxLabel));var $checkbox=$(' ').attr("type",inputType);return $checkbox.val(value),$wrapper.prepend($checkbox),name&&$checkbox.attr("name",name),$item.prepend($wrapper),$item.attr("title",title||labelContent),$checkbox},createOptionValue:function(element,isGroupOption){var $element=$(element);$element.is(":selected")&&$element.prop("selected",!0);var label=this.options.optionLabel(element),classes=this.options.optionClass(element),value=$element.val(),inputType=this.options.multiple?"checkbox":"radio",title=$element.attr("title"),$option=$(this.options.templates.option);$option.addClass(classes),isGroupOption&&this.options.indentGroupOptions&&$option.addClass("multiselect-group-option-indented"),this.options.collapseOptGroupsByDefault&&"optgroup"===$(element).parent().prop("tagName").toLowerCase()&&($option.addClass("multiselect-collapsible-hidden"),$option.hide());var name=this.options.checkboxName($element),$checkbox=this.createCheckbox($option,label,name,value,title,inputType),selected=$element.prop("selected")||!1;value===this.options.selectAllValue&&($option.addClass("multiselect-all"),$option.removeClass("multiselect-option"),$checkbox.parent().parent().addClass("multiselect-all")),this.$popupContainer.append($option),$element.is(":disabled")&&$checkbox.attr("disabled","disabled").prop("disabled",!0).closest(".dropdown-item").addClass("disabled"),$checkbox.prop("checked",selected),selected&&this.options.selectedClass&&$checkbox.closest(".dropdown-item").addClass(this.options.selectedClass)},createDivider:function(element){var $divider=$(this.options.templates.divider);this.$popupContainer.append($divider)},createOptgroup:function(group){var $group=$(group),label=$group.attr("label"),value=$group.attr("value"),title=$group.attr("title"),$groupOption=$(" ");if(this.options.enableClickableOptGroups&&this.options.multiple){$groupOption=$(this.options.templates.optionGroup);var $checkbox=this.createCheckbox($groupOption,label,null,value,title,"checkbox")}else this.options.enableHTML?$groupOption.html(" "+label):$groupOption.text(" "+label);var classes=this.options.optionClass(group);$groupOption.addClass(classes),this.options.enableCollapsibleOptGroups&&this.options.multiple&&($groupOption.find(".form-check").addClass("d-inline-block"),$groupOption.append(' ')),$group.is(":disabled")&&$groupOption.addClass("disabled"),this.$popupContainer.append($groupOption),$("option",group).each($.proxy(function($,group){this.createOptionValue(group,!0)},this))},buildReset:function(){if(this.options.includeResetOption){if(this.options.includeResetDivider){var divider=$(this.options.templates.divider);divider.addClass("mt-0"),this.$popupContainer.prepend(divider)}var $resetButton=$(this.options.templates.resetButton);this.options.enableHTML?$("button",$resetButton).html(this.options.resetText):$("button",$resetButton).text(this.options.resetText),$("button",$resetButton).click($.proxy(function(){this.clearSelection()},this)),this.$popupContainer.prepend($resetButton)}},buildSelectAll:function(){var alreadyHasSelectAll;if("number"==typeof this.options.selectAllValue&&(this.options.selectAllValue=this.options.selectAllValue.toString()),!this.hasSelectAll()&&this.options.includeSelectAllOption&&this.options.multiple&&$("option",this.$select).length>this.options.includeSelectAllIfMoreThan){this.options.includeSelectAllDivider&&this.$popupContainer.prepend($(this.options.templates.divider));var $option=$(this.options.templates.li||this.options.templates.option),$checkbox=this.createCheckbox($option,this.options.selectAllText,this.options.selectAllName,this.options.selectAllValue,this.options.selectAllText,"checkbox");$option.addClass("multiselect-all"),$option.removeClass("multiselect-option"),$option.find(".form-check-label").addClass("font-weight-bold"),this.$popupContainer.prepend($option),$checkbox.prop("checked",!1)}},buildFilter:function(){if(this.options.enableFiltering||this.options.enableCaseInsensitiveFiltering){var enableFilterLength=Math.max(this.options.enableFiltering,this.options.enableCaseInsensitiveFiltering);this.$select.find("option").length>=enableFilterLength&&(this.$filter=$(this.options.templates.filter),$("input",this.$filter).attr("placeholder",this.options.filterPlaceholder),this.options.includeFilterClearBtn?(this.isFirefox()&&0===this.$filter.find(".multiselect-clear-filter").length&&this.$filter.append(" "),this.$filter.find(".multiselect-clear-filter").on("click",$.proxy(function(event){clearTimeout(this.searchTimeout),this.query="",this.$filter.find(".multiselect-search").val(""),$(".dropdown-item",this.$popupContainer).show().removeClass("multiselect-filter-hidden"),this.updateSelectAll(),this.options.enableClickableOptGroups&&this.options.multiple&&this.updateOptGroups()},this))):(this.$filter.find(".multiselect-search").attr("type","text"),this.$filter.find(".multiselect-clear-filter").remove()),this.$popupContainer.prepend(this.$filter),this.$filter.val(this.query).on("click",function(event){event.stopPropagation()}).on("input keydown",$.proxy(function(event){13===event.which&&event.preventDefault(),this.isFirefox()&&this.options.includeFilterClearBtn&&(event.target.value?this.$filter.find(".multiselect-moz-clear-filter").show():this.$filter.find(".multiselect-moz-clear-filter").hide()),clearTimeout(this.searchTimeout),this.searchTimeout=this.asyncFunction($.proxy(function(){var currentGroup,currentGroupVisible;this.query!==event.target.value&&(this.query=event.target.value,$.each($(".multiselect-option, .multiselect-group",this.$popupContainer),$.proxy(function(index,element){var value=$("input",element).length>0?$("input",element).val():"",text=$(".form-check-label",element).text(),filterCandidate="";if("text"===this.options.filterBehavior?filterCandidate=text:"value"===this.options.filterBehavior?filterCandidate=value:"both"===this.options.filterBehavior&&(filterCandidate=text+"\n"+value),value!==this.options.selectAllValue&&text){var showElement=!1;if(this.options.enableCaseInsensitiveFiltering&&(filterCandidate=filterCandidate.toLowerCase(),this.query=this.query.toLowerCase()),this.options.enableFullValueFiltering&&"both"!==this.options.filterBehavior){var valueToMatch=filterCandidate.trim().substring(0,this.query.length);this.query.indexOf(valueToMatch)>-1&&(showElement=!0)}else filterCandidate.indexOf(this.query)>-1&&(showElement=!0);showElement||($(element).css("display","none"),$(element).addClass("multiselect-filter-hidden")),showElement&&($(element).css("display","block"),$(element).removeClass("multiselect-filter-hidden")),$(element).hasClass("multiselect-group")?(currentGroup=element,currentGroupVisible=showElement):(showElement&&$(currentGroup).show().removeClass("multiselect-filter-hidden"),!showElement&¤tGroupVisible&&$(element).show().removeClass("multiselect-filter-hidden"))}},this)));this.updateSelectAll(),this.options.enableClickableOptGroups&&this.options.multiple&&this.updateOptGroups(),this.updatePopupPosition(),this.options.onFiltering(event.target)},this),300,this)},this)))}},updatePopupPosition:function(){var transformMatrix=this.$popupContainer.css("transform"),matrixType=transformMatrix.substring(0,transformMatrix.indexOf("(")),values,valuesArray=transformMatrix.substring(transformMatrix.indexOf("(")+1,transformMatrix.length-1).split(","),valueIndex=5;"matrix3d"===matrixType&&(valueIndex=13);var yTransformation=valuesArray[valueIndex].trim();yTransformation<0&&(yTransformation=-1*this.$popupContainer.css("height").replace("px",""),valuesArray[valueIndex]=yTransformation,transformMatrix=matrixType+"("+valuesArray.join(",")+")",this.$popupContainer.css("transform",transformMatrix))},destroy:function(){this.$container.remove(),this.$select.unwrap(),this.$select.show(),this.$select.prop("disabled",this.options.wasDisabled),this.$select.data("multiselect",null)},refresh:function(){var inputs={};$(".multiselect-option input",this.$popupContainer).each(function(){inputs[$(this).val()]=$(this)}),$("option",this.$select).each($.proxy(function(index,element){var $elem=$(element),$input=inputs[$(element).val()];$elem.is(":selected")?($input.prop("checked",!0),this.options.selectedClass&&$input.closest(".multiselect-option").addClass(this.options.selectedClass)):($input.prop("checked",!1),this.options.selectedClass&&$input.closest(".multiselect-option").removeClass(this.options.selectedClass)),$elem.is(":disabled")?$input.attr("disabled","disabled").prop("disabled",!0).closest(".multiselect-option").addClass("disabled"):$input.prop("disabled",!1).closest(".multiselect-option").removeClass("disabled")},this)),this.updateButtonText(),this.updateSelectAll(),this.options.enableClickableOptGroups&&this.options.multiple&&this.updateOptGroups()},select:function(selectValues,triggerOnChange){$.isArray(selectValues)||(selectValues=[selectValues]);for(var i=0;i ").attr({label:option.label||"Group "+groupCounter,disabled:!!option.disabled,value:option.value}),forEach(option.children,function(subOption){var attributes={value:subOption.value,label:subOption.label||subOption.value,title:subOption.title,selected:!!subOption.selected,disabled:!!subOption.disabled};for(var key in subOption.attributes)attributes["data-"+key]=subOption.attributes[key];$tag.append($(" ").attr(attributes))});else{var attributes={value:option.value,label:option.label||option.value,title:option.title,class:option.class,selected:!!option.selected,disabled:!!option.disabled};for(var key in option.attributes)attributes["data-"+key]=option.attributes[key];($tag=$(" ").attr(attributes)).text(option.label||option.value)}$select.append($tag)}),this.rebuild()},enable:function(){this.$select.prop("disabled",!1),this.$button.prop("disabled",!1).removeClass("disabled"),this.updateButtonText()},disable:function(disableByOption){this.$select.prop("disabled",!0),this.$button.prop("disabled",!0).addClass("disabled"),disableByOption?this.$select.data("disabled-by-option",!0):this.$select.data("disabled-by-option",null),this.updateButtonText()},setOptions:function(options){this.options=this.mergeOptions(options)},mergeOptions:function(options){return $.extend(!0,{},this.defaults,this.options,options)},hasSelectAll:function(){return $(".multiselect-all",this.$popupContainer).length>0},updateOptGroups:function(){var $groups=$(".multiselect-group",this.$popupContainer),selectedClass=this.options.selectedClass;$groups.each(function(){var $options=$(this).nextUntil(".multiselect-group").not(".multiselect-filter-hidden").not(".disabled"),checked=!0;$options.each(function(){var $input;$("input",this).prop("checked")||(checked=!1)}),selectedClass&&(checked?$(this).addClass(selectedClass):$(this).removeClass(selectedClass)),$("input",this).prop("checked",checked)})},updateSelectAll:function(notTriggerOnSelectAll){if(this.hasSelectAll()){var allBoxes=$(".multiselect-option:not(.multiselect-filter-hidden):not(.multiselect-group):not(.disabled) input:enabled",this.$popupContainer),allBoxesLength=allBoxes.length,checkedBoxesLength=allBoxes.filter(":checked").length,selectAllItem=$(".multiselect-all",this.$popupContainer),selectAllInput=selectAllItem.find("input");checkedBoxesLength>0&&checkedBoxesLength===allBoxesLength?(selectAllInput.prop("checked",!0),selectAllItem.addClass(this.options.selectedClass)):(selectAllInput.prop("checked",!1),selectAllItem.removeClass(this.options.selectedClass))}},updateButtonText:function(){var options=this.getSelected();this.options.enableHTML?$(".multiselect .multiselect-selected-text",this.$container).html(this.options.buttonText(options,this.$select)):$(".multiselect .multiselect-selected-text",this.$container).text(this.options.buttonText(options,this.$select)),$(".multiselect",this.$container).attr("title",this.options.buttonTitle(options,this.$select)),this.$button.trigger("change")},getSelected:function(){return $("option",this.$select).filter(":selected")},getOptionByValue:function(value){for(var options=$("option",this.$select),valueToCompare=value.toString(),i=0;i-1}},$.fn.multiselect=function(option,parameter,extraOptions){return this.each(function(){var data=$(this).data("multiselect"),options;data||(data=new Multiselect(this,"object"==typeof option&&option),$(this).data("multiselect",data)),"string"==typeof option&&(data[option](parameter,extraOptions),"destroy"===option&&$(this).data("multiselect",!1))})},$.fn.multiselect.Constructor=Multiselect,$(function(){$("select[data-role=multiselect]").multiselect()})});
\ No newline at end of file
+!function(root,factory){"function"==typeof define&&define.amd&&"function"==typeof require&&"function"==typeof require.specified&&require.specified("knockout")?define(["jquery","knockout"],factory):factory(root.jQuery,root.ko)}(this,function($,ko){"use strict";function forEach(array,callback){for(var index=0;index ').after(this.$container),this.$select.prop("tabindex","-1"),"never"!==this.options.widthSynchronizationMode&&this.synchronizeButtonAndPopupWidth(),this.options.onInitialized(this.$select,this.$container)}void 0!==ko&&ko.bindingHandlers&&!ko.bindingHandlers.multiselect&&(ko.bindingHandlers.multiselect={after:["options","value","selectedOptions","enable","disable"],init:function(element,valueAccessor,allBindings,viewModel,bindingContext){var $element=$(element),config=ko.toJS(valueAccessor());if($element.multiselect(config),allBindings.has("options")){var options=allBindings.get("options");ko.isObservable(options)&&ko.computed({read:function(){options(),setTimeout(function(){var ms=$element.data("multiselect");ms&&ms.updateOriginalOptions(),$element.multiselect("rebuild")},1)},disposeWhenNodeIsRemoved:element})}if(allBindings.has("value")){var value=allBindings.get("value");ko.isObservable(value)&&ko.computed({read:function(){value(),setTimeout(function(){$element.multiselect("refresh")},1)},disposeWhenNodeIsRemoved:element}).extend({rateLimit:100,notifyWhenChangesStop:!0})}if(allBindings.has("selectedOptions")){var selectedOptions=allBindings.get("selectedOptions");ko.isObservable(selectedOptions)&&ko.computed({read:function(){selectedOptions(),setTimeout(function(){$element.multiselect("refresh")},1)},disposeWhenNodeIsRemoved:element}).extend({rateLimit:100,notifyWhenChangesStop:!0})}var setEnabled=function(enable){setTimeout(function(){enable?$element.multiselect("enable"):$element.multiselect("disable")})};if(allBindings.has("enable")){var enable=allBindings.get("enable");ko.isObservable(enable)?ko.computed({read:function(){setEnabled(enable())},disposeWhenNodeIsRemoved:element}).extend({rateLimit:100,notifyWhenChangesStop:!0}):setEnabled(enable)}if(allBindings.has("disable")){var disable=allBindings.get("disable");ko.isObservable(disable)?ko.computed({read:function(){setEnabled(!disable())},disposeWhenNodeIsRemoved:element}).extend({rateLimit:100,notifyWhenChangesStop:!0}):setEnabled(!disable)}ko.utils.domNodeDisposal.addDisposeCallback(element,function(){$element.multiselect("destroy")})},update:function(element,valueAccessor,allBindings,viewModel,bindingContext){var $element=$(element),config=ko.toJS(valueAccessor());$element.multiselect("setOptions",config),$element.multiselect("rebuild")}}),Multiselect.prototype={defaults:{buttonText:function(selectedOptions,select){if(this.disabledText.length>0&&select.prop("disabled"))return this.disabledText;if(0===selectedOptions.length)return this.nonSelectedText;if(this.allSelectedText&&selectedOptions.length===$("option",$(select)).length&&1!==$("option",$(select)).length&&this.multiple)return this.selectAllNumber?this.allSelectedText+" ("+selectedOptions.length+")":this.allSelectedText;if(0!=this.numberDisplayed&&selectedOptions.length>this.numberDisplayed)return selectedOptions.length+" "+this.nSelectedText;var selected="",delimiter=this.delimiterText;return selectedOptions.each(function(){var label=void 0!==$(this).attr("label")?$(this).attr("label"):$(this).text();selected+=label+delimiter}),selected.substr(0,selected.length-this.delimiterText.length)},buttonTitle:function(options,select){if(0===options.length)return this.nonSelectedText;var selected="",delimiter=this.delimiterText;return options.each(function(){var label=void 0!==$(this).attr("label")?$(this).attr("label"):$(this).text();selected+=label+delimiter}),selected.substr(0,selected.length-this.delimiterText.length)},checkboxName:function(option){return!1},optionLabel:function(element){return $(element).attr("label")||$(element).text()},optionClass:function(element){return $(element).attr("class")||""},onChange:function(option,checked){},onDropdownShow:function(event){},onDropdownHide:function(event){},onDropdownShown:function(event){},onDropdownHidden:function(event){},onSelectAll:function(){},onDeselectAll:function(){},onInitialized:function($select,$container){},onFiltering:function($filter){},enableHTML:!1,buttonClass:"custom-select",inheritClass:!1,buttonWidth:"auto",buttonContainer:'
',dropRight:!1,dropUp:!1,selectedClass:"active",maxHeight:!1,includeSelectAllOption:!1,includeSelectAllIfMoreThan:0,selectAllText:" Select all",selectAllValue:"multiselect-all",selectAllName:!1,selectAllNumber:!0,selectAllJustVisible:!0,enableFiltering:!1,enableCaseInsensitiveFiltering:!1,enableFullValueFiltering:!1,enableClickableOptGroups:!1,enableCollapsibleOptGroups:!1,collapseOptGroupsByDefault:!1,filterPlaceholder:"Search",filterBehavior:"text",includeFilterClearBtn:!0,preventInputChangeEvent:!1,nonSelectedText:"None selected",nSelectedText:"selected",allSelectedText:"All selected",resetButtonText:"Reset",numberDisplayed:3,disableIfEmpty:!1,disabledText:"",delimiterText:", ",includeResetOption:!1,includeResetDivider:!1,resetText:"Reset",indentGroupOptions:!0,widthSynchronizationMode:"never",buttonTextAlignment:"center",enableResetButton:!1,templates:{button:' ',popupContainer:'',filter:'
',buttonGroup:'
',buttonGroupReset:' ',option:' ',divider:'
',optionGroup:' ',resetButton:'
'}},constructor:Multiselect,buildContainer:function(){this.$container=$(this.options.buttonContainer),"never"!==this.options.widthSynchronizationMode?this.$container.on("show.bs.dropdown",$.proxy(function(){this.synchronizeButtonAndPopupWidth(),this.options.onDropdownShow()},this)):this.$container.on("show.bs.dropdown",this.options.onDropdownShow),this.$container.on("hide.bs.dropdown",this.options.onDropdownHide),this.$container.on("shown.bs.dropdown",this.options.onDropdownShown),this.$container.on("hidden.bs.dropdown",this.options.onDropdownHidden)},buildButton:function(){if(this.$button=$(this.options.templates.button).addClass(this.options.buttonClass),this.$select.attr("class")&&this.options.inheritClass&&this.$button.addClass(this.$select.attr("class")),this.$select.prop("disabled")?this.disable():this.enable(),this.options.buttonWidth&&"auto"!==this.options.buttonWidth&&(this.$button.css({width:"100%"}),this.$container.css({width:this.options.buttonWidth})),this.options.buttonTextAlignment)switch(this.options.buttonTextAlignment){case"left":this.$button.addClass("text-left");break;case"center":this.$button.addClass("text-center");break;case"right":this.$button.addClass("text-right")}var tabindex=this.$select.attr("tabindex");tabindex&&this.$button.attr("tabindex",tabindex),this.$container.prepend(this.$button)},buildDropdown:function(){this.$popupContainer=$(this.options.templates.popupContainer),this.options.dropRight?this.$container.addClass("dropright"):this.options.dropUp&&this.$container.addClass("dropup"),this.options.maxHeight&&this.$popupContainer.css({"max-height":this.options.maxHeight+"px","overflow-y":"auto","overflow-x":"hidden"}),"never"!==this.options.widthSynchronizationMode&&this.$popupContainer.css("overflow-x","hidden"),this.$popupContainer.on("touchstart click",function(e){e.stopPropagation()}),this.$container.append(this.$popupContainer)},synchronizeButtonAndPopupWidth:function(){if(this.$popupContainer&&"never"!==this.options.widthSynchronizationMode){var buttonWidth=this.$button.outerWidth();switch(this.options.widthSynchronizationMode){case"always":this.$popupContainer.css("min-width",buttonWidth),this.$popupContainer.css("max-width",buttonWidth);break;case"ifPopupIsSmaller":this.$popupContainer.css("min-width",buttonWidth);break;case"ifPopupIsWider":this.$popupContainer.css("max-width",buttonWidth)}}},buildDropdownOptions:function(){this.$select.children().each($.proxy(function(index,element){var $element=$(element),tag=$element.prop("tagName").toLowerCase();$element.prop("value")!==this.options.selectAllValue&&("optgroup"===tag?this.createOptgroup(element):"option"===tag&&("divider"===$element.data("role")?this.createDivider():this.createOptionValue(element,!1)))},this)),$(this.$popupContainer).off("change",'> *:not(.multiselect-group) input[type="checkbox"], > *:not(.multiselect-group) input[type="radio"]'),$(this.$popupContainer).on("change",'> *:not(.multiselect-group) input[type="checkbox"], > *:not(.multiselect-group) input[type="radio"]',$.proxy(function(event){var $target=$(event.target),checked=$target.prop("checked")||!1,isSelectAllOption=$target.val()===this.options.selectAllValue;this.options.selectedClass&&(checked?$target.closest(".multiselect-option").addClass(this.options.selectedClass):$target.closest(".multiselect-option").removeClass(this.options.selectedClass));var value=$target.val(),$option=this.getOptionByValue(value),$optionsNotThis=$("option",this.$select).not($option),$checkboxesNotThis=$("input",this.$container).not($target);if(isSelectAllOption?checked?this.selectAll(this.options.selectAllJustVisible,!0):this.deselectAll(this.options.selectAllJustVisible,!0):(checked?($option.prop("selected",!0),this.options.multiple?$option.prop("selected",!0):(this.options.selectedClass&&$($checkboxesNotThis).closest(".dropdown-item").removeClass(this.options.selectedClass),$($checkboxesNotThis).prop("checked",!1),$optionsNotThis.prop("selected",!1),this.$button.click()),"active"===this.options.selectedClass&&$optionsNotThis.closest(".dropdown-item").css("outline","")):$option.prop("selected",!1),this.options.onChange($option,checked),this.updateSelectAll(),this.options.enableClickableOptGroups&&this.options.multiple&&this.updateOptGroups()),this.$select.change(),this.updateButtonText(),this.options.preventInputChangeEvent)return!1},this)),$(".multiselect-option",this.$popupContainer).off("mousedown"),$(".multiselect-option",this.$popupContainer).on("mousedown",function(e){if(e.shiftKey)return!1}),$(this.$popupContainer).off("touchstart click",".multiselect-option, .multiselect-all, .multiselect-group"),$(this.$popupContainer).on("touchstart click",".multiselect-option, .multiselect-all, .multiselect-group",$.proxy(function(event){event.stopPropagation();var $target=$(event.target),$input;if(event.shiftKey&&this.options.multiple){$target.is("input")||(event.preventDefault(),($target=$target.closest(".multiselect-option").find("input")).prop("checked",!$target.prop("checked")));var checked=$target.prop("checked")||!1;if(null!==this.lastToggledInput&&this.lastToggledInput!==$target){var from=this.$popupContainer.find(".multiselect-option:visible").index($target.closest(".multiselect-option")),to=this.$popupContainer.find(".multiselect-option:visible").index(this.lastToggledInput.closest(".multiselect-option"));if(from>to){var tmp=to;to=from,from=tmp}++to;var range=this.$popupContainer.find(".multiselect-option:not(.multiselect-filter-hidden)").slice(from,to).find("input");range.prop("checked",checked),this.options.selectedClass&&range.closest(".multiselect-option").toggleClass(this.options.selectedClass,checked);for(var i=0,j=range.length;i0)!this.options.multiple&&$checkbox.prop("checked")||($checkbox.prop("checked",!$checkbox.prop("checked")),$checkbox.change());else if(this.options.enableClickableOptGroups&&this.options.multiple&&!$target.hasClass("caret-container")){var groupItem=$target;groupItem.hasClass("multiselect-group")||(groupItem=$target.closest(".multiselect-group")),($checkbox=groupItem.find(".form-check-input")).length>0&&($checkbox.prop("checked",!$checkbox.prop("checked")),$checkbox.change())}event.preventDefault()}$target.closest(".multiselect-option").find("input[type='checkbox'], input[type='radio']").length>0?this.lastToggledInput=$target:this.lastToggledInput=null,$target.blur()},this)),this.$container.off("keydown.multiselect").on("keydown.multiselect",$.proxy(function(event){var $items=$(this.$container).find(".multiselect-option:not(.disabled), .multiselect-group:not(.disabled), .multiselect-all").filter(":visible"),index=$items.index($items.filter(":focus")),$search=$(".multiselect-search",this.$container);if(9===event.keyCode&&this.$container.hasClass("show"))this.$button.click();else if(13==event.keyCode){var $current=$items.eq(index);setTimeout(function(){$current.focus()},1)}else if(38==event.keyCode)0!=index||$search.is(":focus")||setTimeout(function(){$search.focus()},1);else if(40==event.keyCode)if($search.is(":focus")){var $first=$items.eq(0);setTimeout(function(){$search.blur(),$first.focus()},1)}else-1==index&&setTimeout(function(){$search.focus()},1)},this)),this.options.enableClickableOptGroups&&this.options.multiple&&($(".multiselect-group input",this.$popupContainer).off("change"),$(".multiselect-group input",this.$popupContainer).on("change",$.proxy(function(event){event.stopPropagation();var $target,checked=$(event.target).prop("checked")||!1,$item=$(event.target).closest(".dropdown-item"),$group,$inputs=$item.nextUntil(".multiselect-group").not(".multiselect-filter-hidden").not(".disabled").find("input"),$options=[];this.options.selectedClass&&(checked?$item.addClass(this.options.selectedClass):$item.removeClass(this.options.selectedClass)),$.each($inputs,$.proxy(function(index,input){var $input=$(input),value=$input.val(),$option=this.getOptionByValue(value);checked?($input.prop("checked",!0),$input.closest(".dropdown-item").addClass(this.options.selectedClass),$option.prop("selected",!0)):($input.prop("checked",!1),$input.closest(".dropdown-item").removeClass(this.options.selectedClass),$option.prop("selected",!1)),$options.push(this.getOptionByValue(value))},this)),this.options.onChange($options,checked),this.$select.change(),this.updateButtonText(),this.updateSelectAll()},this))),this.options.enableCollapsibleOptGroups&&this.options.multiple&&($(".multiselect-group .caret-container",this.$popupContainer).off("click"),$(".multiselect-group .caret-container",this.$popupContainer).on("click",$.proxy(function(event){var $group,$inputs=$(event.target).closest(".multiselect-group").nextUntil(".multiselect-group").not(".multiselect-filter-hidden"),visible=!0;$inputs.each(function(){visible=visible&&!$(this).hasClass("multiselect-collapsible-hidden")}),visible?$inputs.hide().addClass("multiselect-collapsible-hidden"):$inputs.show().removeClass("multiselect-collapsible-hidden")},this)))},createCheckbox:function($item,labelContent,name,value,title,inputType){var $wrapper=$(" "),$checkboxLabel,$checkboxLabel;($wrapper.addClass("form-check"),this.options.enableHTML&&$(labelContent).length>0)?(($checkboxLabel=$(' ')).html(labelContent),$wrapper.append($checkboxLabel)):(($checkboxLabel=$(' ')).text(labelContent),$wrapper.append($checkboxLabel));var $checkbox=$(' ').attr("type",inputType);return $checkbox.val(value),$wrapper.prepend($checkbox),name&&$checkbox.attr("name",name),$item.prepend($wrapper),$item.attr("title",title||labelContent),$checkbox},createOptionValue:function(element,isGroupOption){var $element=$(element);$element.is(":selected")&&$element.prop("selected",!0);var label=this.options.optionLabel(element),classes=this.options.optionClass(element),value=$element.val(),inputType=this.options.multiple?"checkbox":"radio",title=$element.attr("title"),$option=$(this.options.templates.option);$option.addClass(classes),isGroupOption&&this.options.indentGroupOptions&&$option.addClass("multiselect-group-option-indented"),this.options.collapseOptGroupsByDefault&&"optgroup"===$(element).parent().prop("tagName").toLowerCase()&&($option.addClass("multiselect-collapsible-hidden"),$option.hide());var name=this.options.checkboxName($element),$checkbox=this.createCheckbox($option,label,name,value,title,inputType),selected=$element.prop("selected")||!1;value===this.options.selectAllValue&&($option.addClass("multiselect-all"),$option.removeClass("multiselect-option"),$checkbox.parent().parent().addClass("multiselect-all")),this.$popupContainer.append($option),$element.is(":disabled")&&$checkbox.attr("disabled","disabled").prop("disabled",!0).closest(".dropdown-item").addClass("disabled"),$checkbox.prop("checked",selected),selected&&this.options.selectedClass&&$checkbox.closest(".dropdown-item").addClass(this.options.selectedClass)},createDivider:function(element){var $divider=$(this.options.templates.divider);this.$popupContainer.append($divider)},createOptgroup:function(group){var $group=$(group),label=$group.attr("label"),value=$group.attr("value"),title=$group.attr("title"),$groupOption=$(" ");if(this.options.enableClickableOptGroups&&this.options.multiple){$groupOption=$(this.options.templates.optionGroup);var $checkbox=this.createCheckbox($groupOption,label,null,value,title,"checkbox")}else this.options.enableHTML?$groupOption.html(" "+label):$groupOption.text(" "+label);var classes=this.options.optionClass(group);$groupOption.addClass(classes),this.options.enableCollapsibleOptGroups&&this.options.multiple&&($groupOption.find(".form-check").addClass("d-inline-block"),$groupOption.append(' ')),$group.is(":disabled")&&$groupOption.addClass("disabled"),this.$popupContainer.append($groupOption),$("option",group).each($.proxy(function($,group){this.createOptionValue(group,!0)},this))},buildReset:function(){if(this.options.includeResetOption){if(this.options.includeResetDivider){var divider=$(this.options.templates.divider);divider.addClass("mt-0"),this.$popupContainer.prepend(divider)}var $resetButton=$(this.options.templates.resetButton);this.options.enableHTML?$("button",$resetButton).html(this.options.resetText):$("button",$resetButton).text(this.options.resetText),$("button",$resetButton).click($.proxy(function(){this.clearSelection()},this)),this.$popupContainer.prepend($resetButton)}},buildSelectAll:function(){var alreadyHasSelectAll;if("number"==typeof this.options.selectAllValue&&(this.options.selectAllValue=this.options.selectAllValue.toString()),!this.hasSelectAll()&&this.options.includeSelectAllOption&&this.options.multiple&&$("option",this.$select).length>this.options.includeSelectAllIfMoreThan){this.options.includeSelectAllDivider&&this.$popupContainer.prepend($(this.options.templates.divider));var $option=$(this.options.templates.li||this.options.templates.option),$checkbox=this.createCheckbox($option,this.options.selectAllText,this.options.selectAllName,this.options.selectAllValue,this.options.selectAllText,"checkbox");$option.addClass("multiselect-all"),$option.removeClass("multiselect-option"),$option.find(".form-check-label").addClass("font-weight-bold"),this.$popupContainer.prepend($option),$checkbox.prop("checked",!1)}},buildFilter:function(){if(this.options.enableFiltering||this.options.enableCaseInsensitiveFiltering){var enableFilterLength=Math.max(this.options.enableFiltering,this.options.enableCaseInsensitiveFiltering);this.$select.find("option").length>=enableFilterLength&&(this.$filter=$(this.options.templates.filter),$("input",this.$filter).attr("placeholder",this.options.filterPlaceholder),this.options.includeFilterClearBtn?(this.isFirefox()&&0===this.$filter.find(".multiselect-clear-filter").length&&this.$filter.append(" "),this.$filter.find(".multiselect-clear-filter").on("click",$.proxy(function(event){clearTimeout(this.searchTimeout),this.query="",this.$filter.find(".multiselect-search").val(""),$(".dropdown-item",this.$popupContainer).show().removeClass("multiselect-filter-hidden"),this.updateSelectAll(),this.options.enableClickableOptGroups&&this.options.multiple&&this.updateOptGroups()},this))):(this.$filter.find(".multiselect-search").attr("type","text"),this.$filter.find(".multiselect-clear-filter").remove()),this.$popupContainer.prepend(this.$filter),this.$filter.val(this.query).on("click",function(event){event.stopPropagation()}).on("input keydown",$.proxy(function(event){13===event.which&&event.preventDefault(),this.isFirefox()&&this.options.includeFilterClearBtn&&(event.target.value?this.$filter.find(".multiselect-moz-clear-filter").show():this.$filter.find(".multiselect-moz-clear-filter").hide()),clearTimeout(this.searchTimeout),this.searchTimeout=this.asyncFunction($.proxy(function(){var currentGroup,currentGroupVisible;this.query!==event.target.value&&(this.query=event.target.value,$.each($(".multiselect-option, .multiselect-group",this.$popupContainer),$.proxy(function(index,element){var value=$("input",element).length>0?$("input",element).val():"",text=$(".form-check-label",element).text(),filterCandidate="";if("text"===this.options.filterBehavior?filterCandidate=text:"value"===this.options.filterBehavior?filterCandidate=value:"both"===this.options.filterBehavior&&(filterCandidate=text+"\n"+value),value!==this.options.selectAllValue&&text){var showElement=!1;if(this.options.enableCaseInsensitiveFiltering&&(filterCandidate=filterCandidate.toLowerCase(),this.query=this.query.toLowerCase()),this.options.enableFullValueFiltering&&"both"!==this.options.filterBehavior){var valueToMatch=filterCandidate.trim().substring(0,this.query.length);this.query.indexOf(valueToMatch)>-1&&(showElement=!0)}else filterCandidate.indexOf(this.query)>-1&&(showElement=!0);showElement||($(element).css("display","none"),$(element).addClass("multiselect-filter-hidden")),showElement&&($(element).css("display","block"),$(element).removeClass("multiselect-filter-hidden")),$(element).hasClass("multiselect-group")?(currentGroup=element,currentGroupVisible=showElement):(showElement&&$(currentGroup).show().removeClass("multiselect-filter-hidden"),!showElement&¤tGroupVisible&&$(element).show().removeClass("multiselect-filter-hidden"))}},this)));this.updateSelectAll(),this.options.enableClickableOptGroups&&this.options.multiple&&this.updateOptGroups(),this.updatePopupPosition(),this.options.onFiltering(event.target)},this),300,this)},this)))}},buildButtons:function(){if(this.options.enableResetButton){var $buttonGroup=$(this.options.templates.buttonGroup);this.$buttonGroupReset=$(this.options.templates.buttonGroupReset).text(this.options.resetButtonText),$buttonGroup.append(this.$buttonGroupReset),this.$popupContainer.prepend($buttonGroup),this.defaultSelection={},$("option",this.$select).each($.proxy(function(index,element){var $option=$(element);this.defaultSelection[$option.val()]=$option.prop("selected")},this)),this.$buttonGroupReset.on("click",$.proxy(function(event){$("option",this.$select).each($.proxy(function(index,element){var $option=$(element);$option.prop("selected",this.defaultSelection[$option.val()])},this)),this.refresh(),this.options.enableFiltering&&(this.$filter.trigger("keydown"),$("input",this.$filter).val(""))},this))}},updatePopupPosition:function(){var transformMatrix=this.$popupContainer.css("transform"),matrixType=transformMatrix.substring(0,transformMatrix.indexOf("(")),values,valuesArray=transformMatrix.substring(transformMatrix.indexOf("(")+1,transformMatrix.length-1).split(","),valueIndex=5;"matrix3d"===matrixType&&(valueIndex=13);var yTransformation=valuesArray[valueIndex];(yTransformation=void 0===yTransformation?0:yTransformation.trim())<0&&(yTransformation=-1*this.$popupContainer.css("height").replace("px",""),valuesArray[valueIndex]=yTransformation,transformMatrix=matrixType+"("+valuesArray.join(",")+")",this.$popupContainer.css("transform",transformMatrix))},destroy:function(){this.$container.remove(),this.$select.unwrap(),this.$select.show(),this.$select.prop("disabled",this.options.wasDisabled),this.$select.data("multiselect",null)},refresh:function(){var inputs={};$(".multiselect-option input",this.$popupContainer).each(function(){inputs[$(this).val()]=$(this)}),$("option",this.$select).each($.proxy(function(index,element){var $elem=$(element),$input=inputs[$(element).val()];$elem.is(":selected")?($input.prop("checked",!0),this.options.selectedClass&&$input.closest(".multiselect-option").addClass(this.options.selectedClass)):($input.prop("checked",!1),this.options.selectedClass&&$input.closest(".multiselect-option").removeClass(this.options.selectedClass)),$elem.is(":disabled")?$input.attr("disabled","disabled").prop("disabled",!0).closest(".multiselect-option").addClass("disabled"):$input.prop("disabled",!1).closest(".multiselect-option").removeClass("disabled")},this)),this.updateButtonText(),this.updateSelectAll(),this.options.enableClickableOptGroups&&this.options.multiple&&this.updateOptGroups()},select:function(selectValues,triggerOnChange){$.isArray(selectValues)||(selectValues=[selectValues]);for(var i=0;i ").attr({label:option.label||"Group "+groupCounter,disabled:!!option.disabled,value:option.value}),forEach(option.children,function(subOption){var attributes={value:subOption.value,label:subOption.label||subOption.value,title:subOption.title,selected:!!subOption.selected,disabled:!!subOption.disabled};for(var key in subOption.attributes)attributes["data-"+key]=subOption.attributes[key];$tag.append($(" ").attr(attributes))});else{var attributes={value:option.value,label:option.label||option.value,title:option.title,class:option.class,selected:!!option.selected,disabled:!!option.disabled};for(var key in option.attributes)attributes["data-"+key]=option.attributes[key];($tag=$(" ").attr(attributes)).text(option.label||option.value)}$select.append($tag)}),this.rebuild()},enable:function(){this.$select.prop("disabled",!1),this.$button.prop("disabled",!1).removeClass("disabled"),this.updateButtonText()},disable:function(disableByOption){this.$select.prop("disabled",!0),this.$button.prop("disabled",!0).addClass("disabled"),disableByOption?this.$select.data("disabled-by-option",!0):this.$select.data("disabled-by-option",null),this.updateButtonText()},setOptions:function(options){this.options=this.mergeOptions(options)},mergeOptions:function(options){return $.extend(!0,{},this.defaults,this.options,options)},hasSelectAll:function(){return $(".multiselect-all",this.$popupContainer).length>0},updateOptGroups:function(){var $groups=$(".multiselect-group",this.$popupContainer),selectedClass=this.options.selectedClass;$groups.each(function(){var $options=$(this).nextUntil(".multiselect-group").not(".multiselect-filter-hidden").not(".disabled"),checked=!0;$options.each(function(){var $input;$("input",this).prop("checked")||(checked=!1)}),selectedClass&&(checked?$(this).addClass(selectedClass):$(this).removeClass(selectedClass)),$("input",this).prop("checked",checked)})},updateSelectAll:function(notTriggerOnSelectAll){if(this.hasSelectAll()){var allBoxes=$(".multiselect-option:not(.multiselect-filter-hidden):not(.multiselect-group):not(.disabled) input:enabled",this.$popupContainer),allBoxesLength=allBoxes.length,checkedBoxesLength=allBoxes.filter(":checked").length,selectAllItem=$(".multiselect-all",this.$popupContainer),selectAllInput=selectAllItem.find("input");checkedBoxesLength>0&&checkedBoxesLength===allBoxesLength?(selectAllInput.prop("checked",!0),selectAllItem.addClass(this.options.selectedClass)):(selectAllInput.prop("checked",!1),selectAllItem.removeClass(this.options.selectedClass))}},updateButtonText:function(){var options=this.getSelected();this.options.enableHTML?$(".multiselect .multiselect-selected-text",this.$container).html(this.options.buttonText(options,this.$select)):$(".multiselect .multiselect-selected-text",this.$container).text(this.options.buttonText(options,this.$select)),$(".multiselect",this.$container).attr("title",this.options.buttonTitle(options,this.$select)),this.$button.trigger("change")},getSelected:function(){return $("option",this.$select).filter(":selected")},getOptionByValue:function(value){for(var options=$("option",this.$select),valueToCompare=value.toString(),i=0;i-1}},$.fn.multiselect=function(option,parameter,extraOptions){return this.each(function(){var data=$(this).data("multiselect"),options;data||(data=new Multiselect(this,"object"==typeof option&&option),$(this).data("multiselect",data)),"string"==typeof option&&(data[option](parameter,extraOptions),"destroy"===option&&$(this).data("multiselect",!1))})},$.fn.multiselect.Constructor=Multiselect,$(function(){$("select[data-role=multiselect]").multiselect()})});
\ No newline at end of file
diff --git a/index.html b/index.html
index 8d118ea9..09de1db4 100644
--- a/index.html
+++ b/index.html
@@ -278,6 +278,10 @@ Configuration Options
widthSynchronizationMode
buttonTextAlignment
+
+ enableResetButton
+ enableResetButton
+
@@ -3865,6 +3869,104 @@ Configuration Options
});
});
</script>
+
+
+
+
+
+
+
+ enableResetButton
+
+
+
+ Includes a reset button at the top of the multiselect which resets the selection to the original selection.
+
+
+
+
+
+ Option 1
+ Option 2
+ Option 3
+ Option 4
+ Option 5
+
+
+
+
+<script type="text/javascript">
+ $(document).ready(function() {
+ $('#example-enableResetButton').multiselect({
+ enableResetButton: true,
+ enableFiltering: true,
+ includeSelectAllOption: true,
+ });
+ });
+</script>
+<select id="example-enableResetButton" multiple="multiple">
+ <option value="1">Option 1</option>
+ <option value="2" selected>Option 2</option>
+ <option value="3">Option 3</option>
+ <option value="4" selected>Option 4</option>
+ <option value="5">Option 5</option>
+</select>
+
+
+
+
+
+
+
+ enableResetButton
+
+
+
+ Changes the text of the reset button.
+
+
+
+
+
+ Option 1
+ Option 2
+ Option 3
+ Option 4
+ Option 5
+
+
+
+
+<script type="text/javascript">
+ $(document).ready(function() {
+ $('#example-resetButtonText').multiselect({
+ enableResetButton: true,
+ resetButtonText: 'Undo',
+ });
+ });
+</script>
+<select id="example-resetButtonText" multiple="multiple">
+ <option value="1">Option 1</option>
+ <option value="2" selected>Option 2</option>
+ <option value="3">Option 3</option>
+ <option value="4" selected>Option 4</option>
+ <option value="5">Option 5</option>
+</select>
@@ -3876,7 +3978,6 @@ Configuration Options
Templates
-
The generated HTML markup can be controlled using templates. Basically, templates are simple configuration options. The default templates are shown below:
@@ -3894,13 +3995,15 @@ Templates
$(document).ready(function() {
$('#example').multiselect({
templates: {
- button: '<button type="button" class="multiselect dropdown-toggle" data-toggle="dropdown"><span class="multiselect-selected-text"></span></button>',
+ button: '<button type="button" class="multiselect dropdown-toggle" data-toggle="dropdown"><span class="multiselect-selected-text"></span></button>',
popupContainer: '<div class="multiselect-container dropdown-menu"></div>',
- filter: '<div class="multiselect-filter d-flex align-items-center"><i class="fas fa-sm fa-search text-muted"></i><input type="search" class="multiselect-search form-control" /></div>',
- option: '<a class="multiselect-option dropdown-item"></a>',
- divider: '<div class="multiselect-item dropdown-divider"></div>',
- optionGroup: '<a class="multiselect-item multiselect-group"></a>',
- resetButton: '<div class="multiselect-reset text-center p-2"><a class="btn btn-sm btn-block btn-outline-secondary"></a></div>'
+ filter: '<div class="multiselect-filter d-flex align-items-center"><i class="fas fa-sm fa-search text-muted"></i><input type="search" class="multiselect-search form-control" /></div>',
+ buttonGroup: '<div class="multiselect-buttons btn-group" style="display:flex;"></div>',
+ buttonGroupReset: '<button type="button" class="multiselect-reset btn btn-secondary btn-block"></button>',
+ option: '<button type="button" class="multiselect-option dropdown-item"></button>',
+ divider: '<div class="dropdown-divider"></div>',
+ optionGroup: '<button type="button" class="multiselect-group dropdown-item"></button>',
+ resetButton: '<div class="multiselect-reset text-center p-2"><button type="button" class="btn btn-sm btn-block btn-outline-secondary"></button></div>'
}
});
});
diff --git a/tests/spec/bootstrap-multiselect.js b/tests/spec/bootstrap-multiselect.js
index a8bdc8f6..af79eecf 100644
--- a/tests/spec/bootstrap-multiselect.js
+++ b/tests/spec/bootstrap-multiselect.js
@@ -561,7 +561,7 @@ describe('Bootstrap Multiselect "Individual Configuration Options".', function (
});
});
-describe('Bootstrap Multiselect "individual Methods".', function () {
+describe('Bootstrap Multiselect "Individual Methods".', function () {
describe('Method "clearSelection" should clear selection in multiple mode.', function () {
beforeEach(function () {
var $select = $(' ');
@@ -1938,6 +1938,138 @@ describe('Bootstrap Multiselect "Filter".', function () {
});
});
+describe('Bootstrap Multiselect "Reset Button+Select All+Filter".', function() {
+ var $select = null;
+ beforeEach(function () {
+ $('#multiselect').multiselect('destroy');
+ $('#multiselect').remove();
+
+ $select = $(' ');
+
+ for (var i = 1; i < 10; i++) {
+ $select.append('Option ' + i + ' ');
+ }
+
+ $('body').append($select);
+ });
+
+ describe('Should create a reset button.', function () {
+ beforeEach(function () {
+ $select.multiselect({
+ buttonContainer: '
',
+ enableResetButton: true,
+ });
+ });
+
+ it('Should create reset button.', function () {
+ expect($('#multiselect-container .multiselect-buttons .multiselect-reset').length).toBe(1);
+ });
+ });
+ describe('Should remember the initially selected options.', function () {
+ beforeEach(function () {
+ $select.multiselect({
+ buttonContainer: '
',
+ enableResetButton: true,
+ });
+ });
+
+ it('Should reset to original selection.', function () {
+ expect($('#multiselect option').length).toBe(9);
+ expect($('#multiselect option:selected').length).toBe(2);
+
+ $('#multiselect-container input[value="1"]').trigger('click');
+ $('#multiselect-container input[value="9"]').trigger('click');
+ expect($('#multiselect option:selected').length).toBe(4);
+
+ $('#multiselect-container .multiselect-buttons .multiselect-reset').click();
+ expect($('#multiselect option:selected').length).toBe(2);
+
+ for (var i = 1; i < 10; i++) {
+ var expection = i == 2 || i == 3 ? true : false;
+ expect($('#multiselect option[value="' + i + '"]').prop('selected')).toBe(expection);
+ }
+ });
+ it('Should do nothing with the original selection.', function () {
+ $('#multiselect-container .multiselect-buttons .multiselect-reset').click();
+ expect($('#multiselect option:selected').length).toBe(2);
+
+ for (var i = 1; i < 10; i++) {
+ var expection = (i == 2 || i == 3) ? true : false;
+ expect($('#multiselect option[value="' + i + '"]').prop('selected')).toBe(expection);
+ }
+ });
+ });
+ describe('Should work with Select All.', function () {
+ beforeEach(function () {
+ $select.multiselect({
+ buttonContainer: '
',
+ enableResetButton: true,
+ includeSelectAllOption: true,
+ seletAllJustVisible: true,
+ enableFiltering: true,
+ selectAllValue: 'multiselect-all',
+ });
+ });
+
+ it('Should reset Select All.', function () {
+ expect($('#multiselect option').length).toBe(9);
+ expect($('#multiselect option:selected').length).toBe(2);
+
+ for (var i = 1; i < 10; i++) {
+ if (i != 2 && i != 3) {
+ $('#multiselect-container input[value="' + i + '"]').trigger('click');
+ }
+ }
+ expect($('#multiselect option:selected').length).toBe(9);
+ expect($('#multiselect-container input[value="multiselect-all"]').prop('checked')).toBe(true);
+
+ $('#multiselect-container .multiselect-buttons .multiselect-reset').click();
+ expect($('#multiselect option:selected').length).toBe(2);
+ expect($('#multiselect-container input[value="multiselect-all"]').prop('checked')).toBe(false);
+
+ for (var i = 1; i < 10; i++) {
+ var expection = i == 2 || i == 3 ? true : false;
+ expect($('#multiselect option[value="' + i + '"]').prop('selected')).toBe(expection);
+ }
+ });
+ });
+ describe('Should work with Filter.', function () {
+ beforeEach(function (done) {
+ $select.multiselect({
+ buttonContainer: '
',
+ enableResetButton: true,
+ includeSelectAllOption: true,
+ seletAllJustVisible: true,
+ enableFiltering: true,
+ selectAllValue: 'multiselect-all',
+ onFiltering: function() {
+ console.log('filter');
+ done();
+ }
+ });
+
+ console.log($('#multiselect-container .multiselect-filter input'));
+ $('#multiselect-container .multiselect-filter input').val('1').trigger('keydown');
+ });
+
+ it('Should reset Filter.', function () {
+ expect($('#multiselect option').length).toBe(9);
+ expect($('#multiselect option:selected').length).toBe(2);
+
+ expect($('#multiselect-container .multiselect-option input[value="1"]').closest('.multiselect-option').hasClass('multiselect-filter-hidden')).toBe(false);
+ expect($('#multiselect-container .multiselect-option input[value="2"]').closest('.multiselect-option').hasClass('multiselect-filter-hidden')).toBe(true);
+
+ $('#multiselect-container input[value="multiselect-all"]').trigger('click');
+ expect($('#multiselect option:selected').length).toBe(3);
+
+ $('#multiselect-container .multiselect-buttons .multiselect-reset').click();
+ expect($('#multiselect option:selected').length).toBe(2);
+ expect($('#multiselect-container input[value="multiselect-all"]').prop('checked')).toBe(false);
+ expect($('#multiselect-container .multiselect-filter input').val()).toBe('');
+ });
+ });
+});
+
describe('Bootstrap Multiselect "Select All+Filter+selectAllJustVisible".', function () {
var $select = null;
beforeEach(function () {
@@ -2096,7 +2228,6 @@ describe('Bootstrap Multiselect "Select All+Filter+selectAllJustVisible".', func
});
describe('Bootstrap Multiselect "Specific Issues".', function () {
-
it('#393.', function () {
var $select = $(' ');
@@ -2477,6 +2608,9 @@ describe('Bootstrap Multiselect "Reset".', function () {
var $select;
beforeEach(function () {
+ $('#multiselect').multiselect('destroy');
+ $('#multiselect').remove();
+
$select = $(' ');
for (var i = 1; i < 100; i++) {
@@ -2510,4 +2644,4 @@ describe('Bootstrap Multiselect "Reset".', function () {
$select.multiselect('destroy');
$select.remove();
});
-});
+});
\ No newline at end of file
From 52e0446bbc188dd2944a22ab8fdf366af2e2448b Mon Sep 17 00:00:00 2001
From: davidstutz
Date: Fri, 6 Aug 2021 21:15:55 +0200
Subject: [PATCH 11/14] Fixing bower.json, removing Travis config and fixed
require JS example.
---
.travis.yml | 23 -----------------------
bower.json | 10 +++++++---
require.html | 4 ++--
3 files changed, 9 insertions(+), 28 deletions(-)
delete mode 100644 .travis.yml
diff --git a/.travis.yml b/.travis.yml
deleted file mode 100644
index e8367a92..00000000
--- a/.travis.yml
+++ /dev/null
@@ -1,23 +0,0 @@
-#sudo: required
-#dist: trusty
-
-language: node_js
-node_js:
-# - "node"
- - "7"
-
-script: karma start tests/karma.conf.js --single-run
-
-#before_install:
-# - export CHROME_BIN=/usr/bin/google-chrome
-# - export DISPLAY=:99.0
-# - sh -e /etc/init.d/xvfb start
-# - sudo apt-get update
-# - sudo apt-get install -y libappindicator1 fonts-liberation
-# - wget https://dl.google.com/linux/direct/google-chrome-stable_current_amd64.deb
-# - sudo dpkg -i google-chrome*.deb
-
-before_install:
- - export CHROME_BIN=chromium-browser
- - export DISPLAY=:99.0
- - sh -e /etc/init.d/xvfb start
diff --git a/bower.json b/bower.json
index 7fdef00a..b6c7a7b6 100644
--- a/bower.json
+++ b/bower.json
@@ -2,7 +2,7 @@
"name": "bootstrap-multiselect",
"description": "Twitter Bootstrap plugin to make selects user friendly.",
"homepage": "http://davidstutz.github.io/bootstrap-multiselect/",
- "version": "1.0.0",
+ "version": "1.1.0",
"keywords": [
"js",
"css",
@@ -13,12 +13,16 @@
],
"main": [
"./dist/js/bootstrap-multiselect.js",
+ "./dist/js/bootstrap-multiselect.min.js",
"./dist/css/bootstrap-multiselect.css",
- "./dist/less/bootstrap-multiselect.less"
+ "./dist/css/bootstrap-multiselect.min.css",
+ "./dist/less/bootstrap-multiselect.less",
+ "LICENSE.md",
+ "READMEREADME.md"
],
"dependencies": {
"jquery": ">= 2.2.4",
- "bootstrap": ">= 4.5.2"
+ "bootstrap": ">= ~4.5.x"
},
"ignore": [
"docs/.*",
diff --git a/require.html b/require.html
index 5e143e6c..c4cc0e8d 100644
--- a/require.html
+++ b/require.html
@@ -56,7 +56,7 @@
-
Bootstrap Multiselect
+
Bootstrap Multiselect
@@ -84,7 +84,7 @@
Require JS
- Getting started with Bootstrap Multiselect and Require JS" :
+ Getting started with Bootstrap Multiselect and Require JS :
From 702437051a31e2ef080fd1f510543551a9efe0cd Mon Sep 17 00:00:00 2001
From: davidstutz
Date: Fri, 6 Aug 2021 21:18:27 +0200
Subject: [PATCH 12/14] Fixed Bower Bootstrap version.
---
bower.json | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/bower.json b/bower.json
index b6c7a7b6..aa47ee4d 100644
--- a/bower.json
+++ b/bower.json
@@ -22,7 +22,7 @@
],
"dependencies": {
"jquery": ">= 2.2.4",
- "bootstrap": ">= ~4.5.x"
+ "bootstrap": "~4.5.x"
},
"ignore": [
"docs/.*",
From 1627b186363e275b330cd6cad65a0277f986f1a9 Mon Sep 17 00:00:00 2001
From: davidstutz
Date: Fri, 6 Aug 2021 21:32:04 +0200
Subject: [PATCH 13/14] Removed Yarn for now, updated npm and bower jsons for
1.1.1 to fix installation issues with npm and bower.
---
bower.json | 6 +-
package-lock.json | 4015 ---------------------------------------------
package.json | 21 +-
yarn.lock | 1405 ----------------
4 files changed, 10 insertions(+), 5437 deletions(-)
delete mode 100644 package-lock.json
delete mode 100644 yarn.lock
diff --git a/bower.json b/bower.json
index aa47ee4d..85569c0c 100644
--- a/bower.json
+++ b/bower.json
@@ -2,7 +2,11 @@
"name": "bootstrap-multiselect",
"description": "Twitter Bootstrap plugin to make selects user friendly.",
"homepage": "http://davidstutz.github.io/bootstrap-multiselect/",
- "version": "1.1.0",
+ "version": "1.1.1",
+ "authors": [
+ "David Stutz"
+ ],
+ "license": "Apache License, Version 2.0 OR BSD 3-Clause License",
"keywords": [
"js",
"css",
diff --git a/package-lock.json b/package-lock.json
deleted file mode 100644
index fd7836d6..00000000
--- a/package-lock.json
+++ /dev/null
@@ -1,4015 +0,0 @@
-{
- "name": "bootstrap-multiselect",
- "version": "1.0.0",
- "lockfileVersion": 2,
- "requires": true,
- "packages": {
- "": {
- "version": "1.0.0",
- "license": "Apache License, Version 2.0",
- "dependencies": {
- "jquery": ">= 2.2.4"
- },
- "devDependencies": {
- "jasmine-core": "^2.7.0",
- "karma": "*",
- "karma-chrome-launcher": "^2.2.0",
- "karma-cli": "*",
- "karma-jasmine": "^1.1.0",
- "karma-phantomjs-launcher": "*"
- }
- },
- "node_modules/@types/component-emitter": {
- "version": "1.2.10",
- "resolved": "https://registry.npmjs.org/@types/component-emitter/-/component-emitter-1.2.10.tgz",
- "integrity": "sha512-bsjleuRKWmGqajMerkzox19aGbscQX5rmmvvXl3wlIp5gMG1HgkiwPxsN5p070fBDKTNSPgojVbuY1+HWMbFhg==",
- "dev": true
- },
- "node_modules/@types/cookie": {
- "version": "0.4.0",
- "resolved": "https://registry.npmjs.org/@types/cookie/-/cookie-0.4.0.tgz",
- "integrity": "sha512-y7mImlc/rNkvCRmg8gC3/lj87S7pTUIJ6QGjwHR9WQJcFs+ZMTOaoPrkdFA/YdbuqVEmEbb5RdhVxMkAcgOnpg==",
- "dev": true
- },
- "node_modules/@types/cors": {
- "version": "2.8.9",
- "resolved": "https://registry.npmjs.org/@types/cors/-/cors-2.8.9.tgz",
- "integrity": "sha512-zurD1ibz21BRlAOIKP8yhrxlqKx6L9VCwkB5kMiP6nZAhoF5MvC7qS1qPA7nRcr1GJolfkQC7/EAL4hdYejLtg==",
- "dev": true
- },
- "node_modules/@types/node": {
- "version": "14.14.23",
- "resolved": "https://registry.npmjs.org/@types/node/-/node-14.14.23.tgz",
- "integrity": "sha512-pkKXgf96TELUhrc8C01J0e+If5qb0WqF+WF09FbCINywIk+iUEQgMlA8IxgdZ79qQ88Bljw+9NcqwvWGXknWDw==",
- "dev": true
- },
- "node_modules/accepts": {
- "version": "1.3.7",
- "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.7.tgz",
- "integrity": "sha512-Il80Qs2WjYlJIBNzNkK6KYqlVMTbZLXgHx2oT0pU/fjRHyEp+PEfEPY0R3WCwAGVOtauxh1hOxNgIf5bv7dQpA==",
- "dev": true,
- "dependencies": {
- "mime-types": "~2.1.24",
- "negotiator": "0.6.2"
- },
- "engines": {
- "node": ">= 0.6"
- }
- },
- "node_modules/ajv": {
- "version": "6.12.6",
- "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz",
- "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==",
- "dev": true,
- "dependencies": {
- "fast-deep-equal": "^3.1.1",
- "fast-json-stable-stringify": "^2.0.0",
- "json-schema-traverse": "^0.4.1",
- "uri-js": "^4.2.2"
- },
- "funding": {
- "type": "github",
- "url": "https://github.com/sponsors/epoberezkin"
- }
- },
- "node_modules/ansi-regex": {
- "version": "5.0.0",
- "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz",
- "integrity": "sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==",
- "dev": true,
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/ansi-styles": {
- "version": "4.3.0",
- "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
- "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
- "dev": true,
- "dependencies": {
- "color-convert": "^2.0.1"
- },
- "engines": {
- "node": ">=8"
- },
- "funding": {
- "url": "https://github.com/chalk/ansi-styles?sponsor=1"
- }
- },
- "node_modules/anymatch": {
- "version": "3.1.1",
- "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.1.tgz",
- "integrity": "sha512-mM8522psRCqzV+6LhomX5wgp25YVibjh8Wj23I5RPkPppSVSjyKD2A2mBJmWGa+KN7f2D6LNh9jkBCeyLktzjg==",
- "dev": true,
- "dependencies": {
- "normalize-path": "^3.0.0",
- "picomatch": "^2.0.4"
- },
- "engines": {
- "node": ">= 8"
- }
- },
- "node_modules/asn1": {
- "version": "0.2.4",
- "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.4.tgz",
- "integrity": "sha512-jxwzQpLQjSmWXgwaCZE9Nz+glAG01yF1QnWgbhGwHI5A6FRIEY6IVqtHhIepHqI7/kyEyQEagBC5mBEFlIYvdg==",
- "dev": true,
- "dependencies": {
- "safer-buffer": "~2.1.0"
- }
- },
- "node_modules/assert-plus": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz",
- "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=",
- "dev": true,
- "engines": {
- "node": ">=0.8"
- }
- },
- "node_modules/asynckit": {
- "version": "0.4.0",
- "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz",
- "integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k=",
- "dev": true
- },
- "node_modules/aws-sign2": {
- "version": "0.7.0",
- "resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.7.0.tgz",
- "integrity": "sha1-tG6JCTSpWR8tL2+G1+ap8bP+dqg=",
- "dev": true,
- "engines": {
- "node": "*"
- }
- },
- "node_modules/aws4": {
- "version": "1.11.0",
- "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.11.0.tgz",
- "integrity": "sha512-xh1Rl34h6Fi1DC2WWKfxUTVqRsNnr6LsKz2+hfwDxQJWmrx8+c7ylaqBMcHfl1U1r2dsifOvKX3LQuLNZ+XSvA==",
- "dev": true
- },
- "node_modules/balanced-match": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz",
- "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=",
- "dev": true
- },
- "node_modules/base64-arraybuffer": {
- "version": "0.1.4",
- "resolved": "https://registry.npmjs.org/base64-arraybuffer/-/base64-arraybuffer-0.1.4.tgz",
- "integrity": "sha1-mBjHngWbE1X5fgQooBfIOOkLqBI=",
- "dev": true,
- "engines": {
- "node": ">= 0.6.0"
- }
- },
- "node_modules/base64id": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/base64id/-/base64id-2.0.0.tgz",
- "integrity": "sha512-lGe34o6EHj9y3Kts9R4ZYs/Gr+6N7MCaMlIFA3F1R2O5/m7K06AxfSeO5530PEERE6/WyEg3lsuyw4GHlPZHog==",
- "dev": true,
- "engines": {
- "node": "^4.5.0 || >= 5.9"
- }
- },
- "node_modules/bcrypt-pbkdf": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz",
- "integrity": "sha1-pDAdOJtqQ/m2f/PKEaP2Y342Dp4=",
- "dev": true,
- "dependencies": {
- "tweetnacl": "^0.14.3"
- }
- },
- "node_modules/binary-extensions": {
- "version": "2.2.0",
- "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz",
- "integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==",
- "dev": true,
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/body-parser": {
- "version": "1.19.0",
- "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.19.0.tgz",
- "integrity": "sha512-dhEPs72UPbDnAQJ9ZKMNTP6ptJaionhP5cBb541nXPlW60Jepo9RV/a4fX4XWW9CuFNK22krhrj1+rgzifNCsw==",
- "dev": true,
- "dependencies": {
- "bytes": "3.1.0",
- "content-type": "~1.0.4",
- "debug": "2.6.9",
- "depd": "~1.1.2",
- "http-errors": "1.7.2",
- "iconv-lite": "0.4.24",
- "on-finished": "~2.3.0",
- "qs": "6.7.0",
- "raw-body": "2.4.0",
- "type-is": "~1.6.17"
- },
- "engines": {
- "node": ">= 0.8"
- }
- },
- "node_modules/brace-expansion": {
- "version": "1.1.11",
- "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz",
- "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==",
- "dev": true,
- "dependencies": {
- "balanced-match": "^1.0.0",
- "concat-map": "0.0.1"
- }
- },
- "node_modules/braces": {
- "version": "3.0.2",
- "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz",
- "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==",
- "dev": true,
- "dependencies": {
- "fill-range": "^7.0.1"
- },
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/buffer-crc32": {
- "version": "0.2.13",
- "resolved": "https://registry.npmjs.org/buffer-crc32/-/buffer-crc32-0.2.13.tgz",
- "integrity": "sha1-DTM+PwDqxQqhRUq9MO+MKl2ackI=",
- "dev": true,
- "engines": {
- "node": "*"
- }
- },
- "node_modules/buffer-from": {
- "version": "1.1.1",
- "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.1.tgz",
- "integrity": "sha512-MQcXEUbCKtEo7bhqEs6560Hyd4XaovZlO/k9V3hjVUF/zwW7KBVdSK4gIt/bzwS9MbR5qob+F5jusZsb0YQK2A==",
- "dev": true
- },
- "node_modules/bytes": {
- "version": "3.1.0",
- "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.0.tgz",
- "integrity": "sha512-zauLjrfCG+xvoyaqLoV8bLVXXNGC4JqlxFCutSDWA6fJrTo2ZuvLYTqZ7aHBLZSMOopbzwv8f+wZcVzfVTI2Dg==",
- "dev": true,
- "engines": {
- "node": ">= 0.8"
- }
- },
- "node_modules/caseless": {
- "version": "0.12.0",
- "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz",
- "integrity": "sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw=",
- "dev": true
- },
- "node_modules/chokidar": {
- "version": "3.5.1",
- "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.1.tgz",
- "integrity": "sha512-9+s+Od+W0VJJzawDma/gvBNQqkTiqYTWLuZoyAsivsI4AaWTCzHG06/TMjsf1cYe9Cb97UCEhjz7HvnPk2p/tw==",
- "dev": true,
- "dependencies": {
- "anymatch": "~3.1.1",
- "braces": "~3.0.2",
- "fsevents": "~2.3.1",
- "glob-parent": "~5.1.0",
- "is-binary-path": "~2.1.0",
- "is-glob": "~4.0.1",
- "normalize-path": "~3.0.0",
- "readdirp": "~3.5.0"
- },
- "engines": {
- "node": ">= 8.10.0"
- },
- "optionalDependencies": {
- "fsevents": "~2.3.1"
- }
- },
- "node_modules/cliui": {
- "version": "7.0.4",
- "resolved": "https://registry.npmjs.org/cliui/-/cliui-7.0.4.tgz",
- "integrity": "sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==",
- "dev": true,
- "dependencies": {
- "string-width": "^4.2.0",
- "strip-ansi": "^6.0.0",
- "wrap-ansi": "^7.0.0"
- }
- },
- "node_modules/color-convert": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
- "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
- "dev": true,
- "dependencies": {
- "color-name": "~1.1.4"
- },
- "engines": {
- "node": ">=7.0.0"
- }
- },
- "node_modules/color-name": {
- "version": "1.1.4",
- "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
- "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
- "dev": true
- },
- "node_modules/colors": {
- "version": "1.4.0",
- "resolved": "https://registry.npmjs.org/colors/-/colors-1.4.0.tgz",
- "integrity": "sha512-a+UqTh4kgZg/SlGvfbzDHpgRu7AAQOmmqRHJnxhRZICKFUT91brVhNNt58CMWU9PsBbv3PDCZUHbVxuDiH2mtA==",
- "dev": true,
- "engines": {
- "node": ">=0.1.90"
- }
- },
- "node_modules/combined-stream": {
- "version": "1.0.8",
- "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz",
- "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==",
- "dev": true,
- "dependencies": {
- "delayed-stream": "~1.0.0"
- },
- "engines": {
- "node": ">= 0.8"
- }
- },
- "node_modules/component-emitter": {
- "version": "1.3.0",
- "resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.3.0.tgz",
- "integrity": "sha512-Rd3se6QB+sO1TwqZjscQrurpEPIfO0/yYnSin6Q/rD3mOutHvUrCAhJub3r90uNb+SESBuE0QYoB90YdfatsRg==",
- "dev": true
- },
- "node_modules/concat-map": {
- "version": "0.0.1",
- "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz",
- "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=",
- "dev": true
- },
- "node_modules/concat-stream": {
- "version": "1.6.2",
- "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.6.2.tgz",
- "integrity": "sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw==",
- "dev": true,
- "engines": [
- "node >= 0.8"
- ],
- "dependencies": {
- "buffer-from": "^1.0.0",
- "inherits": "^2.0.3",
- "readable-stream": "^2.2.2",
- "typedarray": "^0.0.6"
- }
- },
- "node_modules/connect": {
- "version": "3.7.0",
- "resolved": "https://registry.npmjs.org/connect/-/connect-3.7.0.tgz",
- "integrity": "sha512-ZqRXc+tZukToSNmh5C2iWMSoV3X1YUcPbqEM4DkEG5tNQXrQUZCNVGGv3IuicnkMtPfGf3Xtp8WCXs295iQ1pQ==",
- "dev": true,
- "dependencies": {
- "debug": "2.6.9",
- "finalhandler": "1.1.2",
- "parseurl": "~1.3.3",
- "utils-merge": "1.0.1"
- },
- "engines": {
- "node": ">= 0.10.0"
- }
- },
- "node_modules/content-type": {
- "version": "1.0.4",
- "resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.4.tgz",
- "integrity": "sha512-hIP3EEPs8tB9AT1L+NUqtwOAps4mk2Zob89MWXMHjHWg9milF/j4osnnQLXBCBFBk/tvIG/tUc9mOUJiPBhPXA==",
- "dev": true,
- "engines": {
- "node": ">= 0.6"
- }
- },
- "node_modules/cookie": {
- "version": "0.4.1",
- "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.4.1.tgz",
- "integrity": "sha512-ZwrFkGJxUR3EIoXtO+yVE69Eb7KlixbaeAWfBQB9vVsNn/o+Yw69gBWSSDK825hQNdN+wF8zELf3dFNl/kxkUA==",
- "dev": true,
- "engines": {
- "node": ">= 0.6"
- }
- },
- "node_modules/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
- },
- "node_modules/cors": {
- "version": "2.8.5",
- "resolved": "https://registry.npmjs.org/cors/-/cors-2.8.5.tgz",
- "integrity": "sha512-KIHbLJqu73RGr/hnbrO9uBeixNGuvSQjul/jdFvS/KFSIH1hWVd1ng7zOHx+YrEfInLG7q4n6GHQ9cDtxv/P6g==",
- "dev": true,
- "dependencies": {
- "object-assign": "^4",
- "vary": "^1"
- },
- "engines": {
- "node": ">= 0.10"
- }
- },
- "node_modules/custom-event": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/custom-event/-/custom-event-1.0.1.tgz",
- "integrity": "sha1-XQKkaFCt8bSjF5RqOSj8y1v9BCU=",
- "dev": true
- },
- "node_modules/dashdash": {
- "version": "1.14.1",
- "resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz",
- "integrity": "sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA=",
- "dev": true,
- "dependencies": {
- "assert-plus": "^1.0.0"
- },
- "engines": {
- "node": ">=0.10"
- }
- },
- "node_modules/date-format": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/date-format/-/date-format-3.0.0.tgz",
- "integrity": "sha512-eyTcpKOcamdhWJXj56DpQMo1ylSQpcGtGKXcU0Tb97+K56/CF5amAqqqNj0+KvA0iw2ynxtHWFsPDSClCxe48w==",
- "dev": true,
- "engines": {
- "node": ">=4.0"
- }
- },
- "node_modules/debug": {
- "version": "2.6.9",
- "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
- "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
- "dev": true,
- "dependencies": {
- "ms": "2.0.0"
- }
- },
- "node_modules/delayed-stream": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz",
- "integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk=",
- "dev": true,
- "engines": {
- "node": ">=0.4.0"
- }
- },
- "node_modules/depd": {
- "version": "1.1.2",
- "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz",
- "integrity": "sha1-m81S4UwJd2PnSbJ0xDRu0uVgtak=",
- "dev": true,
- "engines": {
- "node": ">= 0.6"
- }
- },
- "node_modules/di": {
- "version": "0.0.1",
- "resolved": "https://registry.npmjs.org/di/-/di-0.0.1.tgz",
- "integrity": "sha1-gGZJMmzqp8qjMG112YXqJ0i6kTw=",
- "dev": true
- },
- "node_modules/dom-serialize": {
- "version": "2.2.1",
- "resolved": "https://registry.npmjs.org/dom-serialize/-/dom-serialize-2.2.1.tgz",
- "integrity": "sha1-ViromZ9Evl6jB29UGdzVnrQ6yVs=",
- "dev": true,
- "dependencies": {
- "custom-event": "~1.0.0",
- "ent": "~2.2.0",
- "extend": "^3.0.0",
- "void-elements": "^2.0.0"
- }
- },
- "node_modules/ecc-jsbn": {
- "version": "0.1.2",
- "resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz",
- "integrity": "sha1-OoOpBOVDUyh4dMVkt1SThoSamMk=",
- "dev": true,
- "dependencies": {
- "jsbn": "~0.1.0",
- "safer-buffer": "^2.1.0"
- }
- },
- "node_modules/ee-first": {
- "version": "1.1.1",
- "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz",
- "integrity": "sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0=",
- "dev": true
- },
- "node_modules/emoji-regex": {
- "version": "8.0.0",
- "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz",
- "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==",
- "dev": true
- },
- "node_modules/encodeurl": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz",
- "integrity": "sha1-rT/0yG7C0CkyL1oCw6mmBslbP1k=",
- "dev": true,
- "engines": {
- "node": ">= 0.8"
- }
- },
- "node_modules/engine.io": {
- "version": "4.1.1",
- "resolved": "https://registry.npmjs.org/engine.io/-/engine.io-4.1.1.tgz",
- "integrity": "sha512-t2E9wLlssQjGw0nluF6aYyfX8LwYU8Jj0xct+pAhfWfv/YrBn6TSNtEYsgxHIfaMqfrLx07czcMg9bMN6di+3w==",
- "dev": true,
- "dependencies": {
- "accepts": "~1.3.4",
- "base64id": "2.0.0",
- "cookie": "~0.4.1",
- "cors": "~2.8.5",
- "debug": "~4.3.1",
- "engine.io-parser": "~4.0.0",
- "ws": "~7.4.2"
- },
- "engines": {
- "node": ">=10.0.0"
- }
- },
- "node_modules/engine.io-parser": {
- "version": "4.0.2",
- "resolved": "https://registry.npmjs.org/engine.io-parser/-/engine.io-parser-4.0.2.tgz",
- "integrity": "sha512-sHfEQv6nmtJrq6TKuIz5kyEKH/qSdK56H/A+7DnAuUPWosnIZAS2NHNcPLmyjtY3cGS/MqJdZbUjW97JU72iYg==",
- "dev": true,
- "dependencies": {
- "base64-arraybuffer": "0.1.4"
- },
- "engines": {
- "node": ">=8.0.0"
- }
- },
- "node_modules/engine.io/node_modules/debug": {
- "version": "4.3.1",
- "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.1.tgz",
- "integrity": "sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ==",
- "dev": true,
- "dependencies": {
- "ms": "2.1.2"
- },
- "engines": {
- "node": ">=6.0"
- },
- "peerDependenciesMeta": {
- "supports-color": {
- "optional": true
- }
- }
- },
- "node_modules/engine.io/node_modules/ms": {
- "version": "2.1.2",
- "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
- "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==",
- "dev": true
- },
- "node_modules/ent": {
- "version": "2.2.0",
- "resolved": "https://registry.npmjs.org/ent/-/ent-2.2.0.tgz",
- "integrity": "sha1-6WQhkyWiHQX0RGai9obtbOX13R0=",
- "dev": true
- },
- "node_modules/es6-promise": {
- "version": "4.2.8",
- "resolved": "https://registry.npmjs.org/es6-promise/-/es6-promise-4.2.8.tgz",
- "integrity": "sha512-HJDGx5daxeIvxdBxvG2cb9g4tEvwIk3i8+nhX0yGrYmZUzbkdg8QbDevheDB8gd0//uPj4c1EQua8Q+MViT0/w==",
- "dev": true
- },
- "node_modules/escalade": {
- "version": "3.1.1",
- "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz",
- "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==",
- "dev": true,
- "engines": {
- "node": ">=6"
- }
- },
- "node_modules/escape-html": {
- "version": "1.0.3",
- "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz",
- "integrity": "sha1-Aljq5NPQwJdN4cFpGI7wBR0dGYg=",
- "dev": true
- },
- "node_modules/eventemitter3": {
- "version": "4.0.7",
- "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-4.0.7.tgz",
- "integrity": "sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw==",
- "dev": true
- },
- "node_modules/extend": {
- "version": "3.0.2",
- "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz",
- "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==",
- "dev": true
- },
- "node_modules/extract-zip": {
- "version": "1.7.0",
- "resolved": "https://registry.npmjs.org/extract-zip/-/extract-zip-1.7.0.tgz",
- "integrity": "sha512-xoh5G1W/PB0/27lXgMQyIhP5DSY/LhoCsOyZgb+6iMmRtCwVBo55uKaMoEYrDCKQhWvqEip5ZPKAc6eFNyf/MA==",
- "dev": true,
- "dependencies": {
- "concat-stream": "^1.6.2",
- "debug": "^2.6.9",
- "mkdirp": "^0.5.4",
- "yauzl": "^2.10.0"
- },
- "bin": {
- "extract-zip": "cli.js"
- }
- },
- "node_modules/extsprintf": {
- "version": "1.3.0",
- "resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz",
- "integrity": "sha1-lpGEQOMEGnpBT4xS48V06zw+HgU=",
- "dev": true,
- "engines": [
- "node >=0.6.0"
- ]
- },
- "node_modules/fast-deep-equal": {
- "version": "3.1.3",
- "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz",
- "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==",
- "dev": true
- },
- "node_modules/fast-json-stable-stringify": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz",
- "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==",
- "dev": true
- },
- "node_modules/fd-slicer": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/fd-slicer/-/fd-slicer-1.1.0.tgz",
- "integrity": "sha1-JcfInLH5B3+IkbvmHY85Dq4lbx4=",
- "dev": true,
- "dependencies": {
- "pend": "~1.2.0"
- }
- },
- "node_modules/fill-range": {
- "version": "7.0.1",
- "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz",
- "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==",
- "dev": true,
- "dependencies": {
- "to-regex-range": "^5.0.1"
- },
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/finalhandler": {
- "version": "1.1.2",
- "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.1.2.tgz",
- "integrity": "sha512-aAWcW57uxVNrQZqFXjITpW3sIUQmHGG3qSb9mUah9MgMC4NeWhNOlNjXEYq3HjRAvL6arUviZGGJsBg6z0zsWA==",
- "dev": true,
- "dependencies": {
- "debug": "2.6.9",
- "encodeurl": "~1.0.2",
- "escape-html": "~1.0.3",
- "on-finished": "~2.3.0",
- "parseurl": "~1.3.3",
- "statuses": "~1.5.0",
- "unpipe": "~1.0.0"
- },
- "engines": {
- "node": ">= 0.8"
- }
- },
- "node_modules/flatted": {
- "version": "2.0.2",
- "resolved": "https://registry.npmjs.org/flatted/-/flatted-2.0.2.tgz",
- "integrity": "sha512-r5wGx7YeOwNWNlCA0wQ86zKyDLMQr+/RB8xy74M4hTphfmjlijTSSXGuH8rnvKZnfT9i+75zmd8jcKdMR4O6jA==",
- "dev": true
- },
- "node_modules/follow-redirects": {
- "version": "1.13.2",
- "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.13.2.tgz",
- "integrity": "sha512-6mPTgLxYm3r6Bkkg0vNM0HTjfGrOEtsfbhagQvbxDEsEkpNhw582upBaoRZylzen6krEmxXJgt9Ju6HiI4O7BA==",
- "dev": true,
- "funding": [
- {
- "type": "individual",
- "url": "https://github.com/sponsors/RubenVerborgh"
- }
- ],
- "engines": {
- "node": ">=4.0"
- },
- "peerDependenciesMeta": {
- "debug": {
- "optional": true
- }
- }
- },
- "node_modules/forever-agent": {
- "version": "0.6.1",
- "resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz",
- "integrity": "sha1-+8cfDEGt6zf5bFd60e1C2P2sypE=",
- "dev": true,
- "engines": {
- "node": "*"
- }
- },
- "node_modules/form-data": {
- "version": "2.3.3",
- "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.3.3.tgz",
- "integrity": "sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ==",
- "dev": true,
- "dependencies": {
- "asynckit": "^0.4.0",
- "combined-stream": "^1.0.6",
- "mime-types": "^2.1.12"
- },
- "engines": {
- "node": ">= 0.12"
- }
- },
- "node_modules/fs-access": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/fs-access/-/fs-access-1.0.1.tgz",
- "integrity": "sha1-1qh/JiJxzv6+wwxVNAf7mV2od3o=",
- "dev": true,
- "dependencies": {
- "null-check": "^1.0.0"
- },
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/fs-extra": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-1.0.0.tgz",
- "integrity": "sha1-zTzl9+fLYUWIP8rjGR6Yd/hYeVA=",
- "dev": true,
- "dependencies": {
- "graceful-fs": "^4.1.2",
- "jsonfile": "^2.1.0",
- "klaw": "^1.0.0"
- }
- },
- "node_modules/fs.realpath": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz",
- "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=",
- "dev": true
- },
- "node_modules/fsevents": {
- "version": "2.3.1",
- "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.1.tgz",
- "integrity": "sha512-YR47Eg4hChJGAB1O3yEAOkGO+rlzutoICGqGo9EZ4lKWokzZRSyIW1QmTzqjtw8MJdj9srP869CuWw/hyzSiBw==",
- "dev": true,
- "hasInstallScript": true,
- "optional": true,
- "os": [
- "darwin"
- ],
- "engines": {
- "node": "^8.16.0 || ^10.6.0 || >=11.0.0"
- }
- },
- "node_modules/function-bind": {
- "version": "1.1.1",
- "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz",
- "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==",
- "dev": true
- },
- "node_modules/get-caller-file": {
- "version": "2.0.5",
- "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz",
- "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==",
- "dev": true,
- "engines": {
- "node": "6.* || 8.* || >= 10.*"
- }
- },
- "node_modules/getpass": {
- "version": "0.1.7",
- "resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz",
- "integrity": "sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo=",
- "dev": true,
- "dependencies": {
- "assert-plus": "^1.0.0"
- }
- },
- "node_modules/glob": {
- "version": "7.1.6",
- "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.6.tgz",
- "integrity": "sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==",
- "dev": true,
- "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"
- },
- "engines": {
- "node": "*"
- },
- "funding": {
- "url": "https://github.com/sponsors/isaacs"
- }
- },
- "node_modules/glob-parent": {
- "version": "5.1.1",
- "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.1.tgz",
- "integrity": "sha512-FnI+VGOpnlGHWZxthPGR+QhR78fuiK0sNLkHQv+bL9fQi57lNNdquIbna/WrfROrolq8GK5Ek6BiMwqL/voRYQ==",
- "dev": true,
- "dependencies": {
- "is-glob": "^4.0.1"
- },
- "engines": {
- "node": ">= 6"
- }
- },
- "node_modules/graceful-fs": {
- "version": "4.2.4",
- "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.4.tgz",
- "integrity": "sha512-WjKPNJF79dtJAVniUlGGWHYGz2jWxT6VhN/4m1NdkbZ2nOsEF+cI1Edgql5zCRhs/VsQYRvrXctxktVXZUkixw==",
- "dev": true
- },
- "node_modules/har-schema": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/har-schema/-/har-schema-2.0.0.tgz",
- "integrity": "sha1-qUwiJOvKwEeCoNkDVSHyRzW37JI=",
- "dev": true,
- "engines": {
- "node": ">=4"
- }
- },
- "node_modules/har-validator": {
- "version": "5.1.5",
- "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-5.1.5.tgz",
- "integrity": "sha512-nmT2T0lljbxdQZfspsno9hgrG3Uir6Ks5afism62poxqBM6sDnMEuPmzTq8XN0OEwqKLLdh1jQI3qyE66Nzb3w==",
- "deprecated": "this library is no longer supported",
- "dev": true,
- "dependencies": {
- "ajv": "^6.12.3",
- "har-schema": "^2.0.0"
- },
- "engines": {
- "node": ">=6"
- }
- },
- "node_modules/has": {
- "version": "1.0.3",
- "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz",
- "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==",
- "dev": true,
- "dependencies": {
- "function-bind": "^1.1.1"
- },
- "engines": {
- "node": ">= 0.4.0"
- }
- },
- "node_modules/hasha": {
- "version": "2.2.0",
- "resolved": "https://registry.npmjs.org/hasha/-/hasha-2.2.0.tgz",
- "integrity": "sha1-eNfL/B5tZjA/55g3NlmEUXsvbuE=",
- "dev": true,
- "dependencies": {
- "is-stream": "^1.0.1",
- "pinkie-promise": "^2.0.0"
- },
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/http-errors": {
- "version": "1.7.2",
- "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.7.2.tgz",
- "integrity": "sha512-uUQBt3H/cSIVfch6i1EuPNy/YsRSOUBXTVfZ+yR7Zjez3qjBz6i9+i4zjNaoqcoFVI4lQJ5plg63TvGfRSDCRg==",
- "dev": true,
- "dependencies": {
- "depd": "~1.1.2",
- "inherits": "2.0.3",
- "setprototypeof": "1.1.1",
- "statuses": ">= 1.5.0 < 2",
- "toidentifier": "1.0.0"
- },
- "engines": {
- "node": ">= 0.6"
- }
- },
- "node_modules/http-errors/node_modules/inherits": {
- "version": "2.0.3",
- "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz",
- "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=",
- "dev": true
- },
- "node_modules/http-proxy": {
- "version": "1.18.1",
- "resolved": "https://registry.npmjs.org/http-proxy/-/http-proxy-1.18.1.tgz",
- "integrity": "sha512-7mz/721AbnJwIVbnaSv1Cz3Am0ZLT/UBwkC92VlxhXv/k/BBQfM2fXElQNC27BVGr0uwUpplYPQM9LnaBMR5NQ==",
- "dev": true,
- "dependencies": {
- "eventemitter3": "^4.0.0",
- "follow-redirects": "^1.0.0",
- "requires-port": "^1.0.0"
- },
- "engines": {
- "node": ">=8.0.0"
- }
- },
- "node_modules/http-signature": {
- "version": "1.2.0",
- "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.2.0.tgz",
- "integrity": "sha1-muzZJRFHcvPZW2WmCruPfBj7rOE=",
- "dev": true,
- "dependencies": {
- "assert-plus": "^1.0.0",
- "jsprim": "^1.2.2",
- "sshpk": "^1.7.0"
- },
- "engines": {
- "node": ">=0.8",
- "npm": ">=1.3.7"
- }
- },
- "node_modules/iconv-lite": {
- "version": "0.4.24",
- "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz",
- "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==",
- "dev": true,
- "dependencies": {
- "safer-buffer": ">= 2.1.2 < 3"
- },
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/inflight": {
- "version": "1.0.6",
- "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz",
- "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=",
- "dev": true,
- "dependencies": {
- "once": "^1.3.0",
- "wrappy": "1"
- }
- },
- "node_modules/inherits": {
- "version": "2.0.4",
- "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz",
- "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==",
- "dev": true
- },
- "node_modules/is-binary-path": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz",
- "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==",
- "dev": true,
- "dependencies": {
- "binary-extensions": "^2.0.0"
- },
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/is-core-module": {
- "version": "2.2.0",
- "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.2.0.tgz",
- "integrity": "sha512-XRAfAdyyY5F5cOXn7hYQDqh2Xmii+DEfIcQGxK/uNwMHhIkPWO0g8msXcbzLe+MpGoR951MlqM/2iIlU4vKDdQ==",
- "dev": true,
- "dependencies": {
- "has": "^1.0.3"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
- },
- "node_modules/is-extglob": {
- "version": "2.1.1",
- "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz",
- "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=",
- "dev": true,
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/is-fullwidth-code-point": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz",
- "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==",
- "dev": true,
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/is-glob": {
- "version": "4.0.1",
- "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.1.tgz",
- "integrity": "sha512-5G0tKtBTFImOqDnLB2hG6Bp2qcKEFduo4tZu9MT/H6NQv/ghhy30o55ufafxJ/LdH79LLs2Kfrn85TLKyA7BUg==",
- "dev": true,
- "dependencies": {
- "is-extglob": "^2.1.1"
- },
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/is-number": {
- "version": "7.0.0",
- "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz",
- "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==",
- "dev": true,
- "engines": {
- "node": ">=0.12.0"
- }
- },
- "node_modules/is-stream": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz",
- "integrity": "sha1-EtSj3U5o4Lec6428hBc66A2RykQ=",
- "dev": true,
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/is-typedarray": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz",
- "integrity": "sha1-5HnICFjfDBsR3dppQPlgEfzaSpo=",
- "dev": true
- },
- "node_modules/isarray": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz",
- "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=",
- "dev": true
- },
- "node_modules/isbinaryfile": {
- "version": "4.0.6",
- "resolved": "https://registry.npmjs.org/isbinaryfile/-/isbinaryfile-4.0.6.tgz",
- "integrity": "sha512-ORrEy+SNVqUhrCaal4hA4fBzhggQQ+BaLntyPOdoEiwlKZW9BZiJXjg3RMiruE4tPEI3pyVPpySHQF/dKWperg==",
- "dev": true,
- "engines": {
- "node": ">= 8.0.0"
- },
- "funding": {
- "url": "https://github.com/sponsors/gjtorikian/"
- }
- },
- "node_modules/isexe": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz",
- "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=",
- "dev": true
- },
- "node_modules/isstream": {
- "version": "0.1.2",
- "resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz",
- "integrity": "sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo=",
- "dev": true
- },
- "node_modules/jasmine-core": {
- "version": "2.99.1",
- "resolved": "https://registry.npmjs.org/jasmine-core/-/jasmine-core-2.99.1.tgz",
- "integrity": "sha1-5kAN8ea1bhMLYcS80JPap/boyhU=",
- "dev": true
- },
- "node_modules/jquery": {
- "version": "3.5.1",
- "resolved": "https://registry.npmjs.org/jquery/-/jquery-3.5.1.tgz",
- "integrity": "sha512-XwIBPqcMn57FxfT+Go5pzySnm4KWkT1Tv7gjrpT1srtf8Weynl6R273VJ5GjkRb51IzMp5nbaPjJXMWeju2MKg=="
- },
- "node_modules/jsbn": {
- "version": "0.1.1",
- "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz",
- "integrity": "sha1-peZUwuWi3rXyAdls77yoDA7y9RM=",
- "dev": true
- },
- "node_modules/json-schema": {
- "version": "0.2.3",
- "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.2.3.tgz",
- "integrity": "sha1-tIDIkuWaLwWVTOcnvT8qTogvnhM=",
- "dev": true
- },
- "node_modules/json-schema-traverse": {
- "version": "0.4.1",
- "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz",
- "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==",
- "dev": true
- },
- "node_modules/json-stringify-safe": {
- "version": "5.0.1",
- "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz",
- "integrity": "sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus=",
- "dev": true
- },
- "node_modules/jsonfile": {
- "version": "2.4.0",
- "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-2.4.0.tgz",
- "integrity": "sha1-NzaitCi4e72gzIO1P6PWM6NcKug=",
- "dev": true,
- "dependencies": {
- "graceful-fs": "^4.1.6"
- },
- "optionalDependencies": {
- "graceful-fs": "^4.1.6"
- }
- },
- "node_modules/jsprim": {
- "version": "1.4.1",
- "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-1.4.1.tgz",
- "integrity": "sha1-MT5mvB5cwG5Di8G3SZwuXFastqI=",
- "dev": true,
- "engines": [
- "node >=0.6.0"
- ],
- "dependencies": {
- "assert-plus": "1.0.0",
- "extsprintf": "1.3.0",
- "json-schema": "0.2.3",
- "verror": "1.10.0"
- }
- },
- "node_modules/karma": {
- "version": "6.1.0",
- "resolved": "https://registry.npmjs.org/karma/-/karma-6.1.0.tgz",
- "integrity": "sha512-QmRZ6HdKe6mHd89Az6yb85URRyDbXmn2IBo3lic7cwkkLjDWpjrMJxPAKlwNa5dFM1iHdT+kjtNJM0J5YAH90A==",
- "dev": true,
- "dependencies": {
- "body-parser": "^1.19.0",
- "braces": "^3.0.2",
- "chokidar": "^3.4.2",
- "colors": "^1.4.0",
- "connect": "^3.7.0",
- "di": "^0.0.1",
- "dom-serialize": "^2.2.1",
- "glob": "^7.1.6",
- "graceful-fs": "^4.2.4",
- "http-proxy": "^1.18.1",
- "isbinaryfile": "^4.0.6",
- "lodash": "^4.17.19",
- "log4js": "^6.2.1",
- "mime": "^2.4.5",
- "minimatch": "^3.0.4",
- "qjobs": "^1.2.0",
- "range-parser": "^1.2.1",
- "rimraf": "^3.0.2",
- "socket.io": "^3.1.0",
- "source-map": "^0.6.1",
- "tmp": "0.2.1",
- "ua-parser-js": "^0.7.23",
- "yargs": "^16.1.1"
- },
- "bin": {
- "karma": "bin/karma"
- },
- "engines": {
- "node": ">= 10"
- }
- },
- "node_modules/karma-chrome-launcher": {
- "version": "2.2.0",
- "resolved": "https://registry.npmjs.org/karma-chrome-launcher/-/karma-chrome-launcher-2.2.0.tgz",
- "integrity": "sha512-uf/ZVpAabDBPvdPdveyk1EPgbnloPvFFGgmRhYLTDH7gEB4nZdSBk8yTU47w1g/drLSx5uMOkjKk7IWKfWg/+w==",
- "dev": true,
- "dependencies": {
- "fs-access": "^1.0.0",
- "which": "^1.2.1"
- }
- },
- "node_modules/karma-cli": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/karma-cli/-/karma-cli-2.0.0.tgz",
- "integrity": "sha512-1Kb28UILg1ZsfqQmeELbPzuEb5C6GZJfVIk0qOr8LNYQuYWmAaqP16WpbpKEjhejDrDYyYOwwJXSZO6u7q5Pvw==",
- "dev": true,
- "dependencies": {
- "resolve": "^1.3.3"
- },
- "bin": {
- "karma": "bin/karma"
- },
- "engines": {
- "node": ">= 6"
- }
- },
- "node_modules/karma-jasmine": {
- "version": "1.1.2",
- "resolved": "https://registry.npmjs.org/karma-jasmine/-/karma-jasmine-1.1.2.tgz",
- "integrity": "sha1-OU8rJf+0pkS5rabyLUQ+L9CIhsM=",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">= 4"
- },
- "peerDependencies": {
- "jasmine-core": "*",
- "karma": "*"
- }
- },
- "node_modules/karma-phantomjs-launcher": {
- "version": "1.0.4",
- "resolved": "https://registry.npmjs.org/karma-phantomjs-launcher/-/karma-phantomjs-launcher-1.0.4.tgz",
- "integrity": "sha1-0jyjSAG9qYY60xjju0vUBisTrNI=",
- "dev": true,
- "dependencies": {
- "lodash": "^4.0.1",
- "phantomjs-prebuilt": "^2.1.7"
- },
- "peerDependencies": {
- "karma": ">=0.9"
- }
- },
- "node_modules/kew": {
- "version": "0.7.0",
- "resolved": "https://registry.npmjs.org/kew/-/kew-0.7.0.tgz",
- "integrity": "sha1-edk9LTM2PW/dKXCzNdkUGtWR15s=",
- "dev": true
- },
- "node_modules/klaw": {
- "version": "1.3.1",
- "resolved": "https://registry.npmjs.org/klaw/-/klaw-1.3.1.tgz",
- "integrity": "sha1-QIhDO0azsbolnXh4XY6W9zugJDk=",
- "dev": true,
- "dependencies": {
- "graceful-fs": "^4.1.9"
- },
- "optionalDependencies": {
- "graceful-fs": "^4.1.9"
- }
- },
- "node_modules/lodash": {
- "version": "4.17.20",
- "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.20.tgz",
- "integrity": "sha512-PlhdFcillOINfeV7Ni6oF1TAEayyZBoZ8bcshTHqOYJYlrqzRK5hagpagky5o4HfCzzd1TRkXPMFq6cKk9rGmA==",
- "dev": true
- },
- "node_modules/log4js": {
- "version": "6.3.0",
- "resolved": "https://registry.npmjs.org/log4js/-/log4js-6.3.0.tgz",
- "integrity": "sha512-Mc8jNuSFImQUIateBFwdOQcmC6Q5maU0VVvdC2R6XMb66/VnT+7WS4D/0EeNMZu1YODmJe5NIn2XftCzEocUgw==",
- "dev": true,
- "dependencies": {
- "date-format": "^3.0.0",
- "debug": "^4.1.1",
- "flatted": "^2.0.1",
- "rfdc": "^1.1.4",
- "streamroller": "^2.2.4"
- },
- "engines": {
- "node": ">=8.0"
- }
- },
- "node_modules/log4js/node_modules/debug": {
- "version": "4.3.1",
- "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.1.tgz",
- "integrity": "sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ==",
- "dev": true,
- "dependencies": {
- "ms": "2.1.2"
- },
- "engines": {
- "node": ">=6.0"
- },
- "peerDependenciesMeta": {
- "supports-color": {
- "optional": true
- }
- }
- },
- "node_modules/log4js/node_modules/ms": {
- "version": "2.1.2",
- "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
- "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==",
- "dev": true
- },
- "node_modules/media-typer": {
- "version": "0.3.0",
- "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz",
- "integrity": "sha1-hxDXrwqmJvj/+hzgAWhUUmMlV0g=",
- "dev": true,
- "engines": {
- "node": ">= 0.6"
- }
- },
- "node_modules/mime": {
- "version": "2.5.0",
- "resolved": "https://registry.npmjs.org/mime/-/mime-2.5.0.tgz",
- "integrity": "sha512-ft3WayFSFUVBuJj7BMLKAQcSlItKtfjsKDDsii3rqFDAZ7t11zRe8ASw/GlmivGwVUYtwkQrxiGGpL6gFvB0ag==",
- "dev": true,
- "bin": {
- "mime": "cli.js"
- },
- "engines": {
- "node": ">=4.0.0"
- }
- },
- "node_modules/mime-db": {
- "version": "1.45.0",
- "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.45.0.tgz",
- "integrity": "sha512-CkqLUxUk15hofLoLyljJSrukZi8mAtgd+yE5uO4tqRZsdsAJKv0O+rFMhVDRJgozy+yG6md5KwuXhD4ocIoP+w==",
- "dev": true,
- "engines": {
- "node": ">= 0.6"
- }
- },
- "node_modules/mime-types": {
- "version": "2.1.28",
- "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.28.tgz",
- "integrity": "sha512-0TO2yJ5YHYr7M2zzT7gDU1tbwHxEUWBCLt0lscSNpcdAfFyJOVEpRYNS7EXVcTLNj/25QO8gulHC5JtTzSE2UQ==",
- "dev": true,
- "dependencies": {
- "mime-db": "1.45.0"
- },
- "engines": {
- "node": ">= 0.6"
- }
- },
- "node_modules/minimatch": {
- "version": "3.0.4",
- "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz",
- "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==",
- "dev": true,
- "dependencies": {
- "brace-expansion": "^1.1.7"
- },
- "engines": {
- "node": "*"
- }
- },
- "node_modules/minimist": {
- "version": "1.2.5",
- "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz",
- "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==",
- "dev": true
- },
- "node_modules/mkdirp": {
- "version": "0.5.5",
- "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.5.tgz",
- "integrity": "sha512-NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ==",
- "dev": true,
- "dependencies": {
- "minimist": "^1.2.5"
- },
- "bin": {
- "mkdirp": "bin/cmd.js"
- }
- },
- "node_modules/ms": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
- "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=",
- "dev": true
- },
- "node_modules/negotiator": {
- "version": "0.6.2",
- "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.2.tgz",
- "integrity": "sha512-hZXc7K2e+PgeI1eDBe/10Ard4ekbfrrqG8Ep+8Jmf4JID2bNg7NvCPOZN+kfF574pFQI7mum2AUqDidoKqcTOw==",
- "dev": true,
- "engines": {
- "node": ">= 0.6"
- }
- },
- "node_modules/normalize-path": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz",
- "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==",
- "dev": true,
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/null-check": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/null-check/-/null-check-1.0.0.tgz",
- "integrity": "sha1-l33/1xdgErnsMNKjnbXPcqBDnt0=",
- "dev": true,
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/oauth-sign": {
- "version": "0.9.0",
- "resolved": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.9.0.tgz",
- "integrity": "sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ==",
- "dev": true,
- "engines": {
- "node": "*"
- }
- },
- "node_modules/object-assign": {
- "version": "4.1.1",
- "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz",
- "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=",
- "dev": true,
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/on-finished": {
- "version": "2.3.0",
- "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.3.0.tgz",
- "integrity": "sha1-IPEzZIGwg811M3mSoWlxqi2QaUc=",
- "dev": true,
- "dependencies": {
- "ee-first": "1.1.1"
- },
- "engines": {
- "node": ">= 0.8"
- }
- },
- "node_modules/once": {
- "version": "1.4.0",
- "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz",
- "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=",
- "dev": true,
- "dependencies": {
- "wrappy": "1"
- }
- },
- "node_modules/parseurl": {
- "version": "1.3.3",
- "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz",
- "integrity": "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==",
- "dev": true,
- "engines": {
- "node": ">= 0.8"
- }
- },
- "node_modules/path-is-absolute": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz",
- "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=",
- "dev": true,
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/path-parse": {
- "version": "1.0.6",
- "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.6.tgz",
- "integrity": "sha512-GSmOT2EbHrINBf9SR7CDELwlJ8AENk3Qn7OikK4nFYAu3Ote2+JYNVvkpAEQm3/TLNEJFD/xZJjzyxg3KBWOzw==",
- "dev": true
- },
- "node_modules/pend": {
- "version": "1.2.0",
- "resolved": "https://registry.npmjs.org/pend/-/pend-1.2.0.tgz",
- "integrity": "sha1-elfrVQpng/kRUzH89GY9XI4AelA=",
- "dev": true
- },
- "node_modules/performance-now": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz",
- "integrity": "sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns=",
- "dev": true
- },
- "node_modules/phantomjs-prebuilt": {
- "version": "2.1.16",
- "resolved": "https://registry.npmjs.org/phantomjs-prebuilt/-/phantomjs-prebuilt-2.1.16.tgz",
- "integrity": "sha1-79ISpKOWbTZHaE6ouniFSb4q7+8=",
- "deprecated": "this package is now deprecated",
- "dev": true,
- "hasInstallScript": true,
- "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"
- },
- "bin": {
- "phantomjs": "bin/phantomjs"
- }
- },
- "node_modules/picomatch": {
- "version": "2.2.2",
- "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.2.2.tgz",
- "integrity": "sha512-q0M/9eZHzmr0AulXyPwNfZjtwZ/RBZlbN3K3CErVrk50T2ASYI7Bye0EvekFY3IP1Nt2DHu0re+V2ZHIpMkuWg==",
- "dev": true,
- "engines": {
- "node": ">=8.6"
- },
- "funding": {
- "url": "https://github.com/sponsors/jonschlinkert"
- }
- },
- "node_modules/pinkie": {
- "version": "2.0.4",
- "resolved": "https://registry.npmjs.org/pinkie/-/pinkie-2.0.4.tgz",
- "integrity": "sha1-clVrgM+g1IqXToDnckjoDtT3+HA=",
- "dev": true,
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/pinkie-promise": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz",
- "integrity": "sha1-ITXW36ejWMBprJsXh3YogihFD/o=",
- "dev": true,
- "dependencies": {
- "pinkie": "^2.0.0"
- },
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/process-nextick-args": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz",
- "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==",
- "dev": true
- },
- "node_modules/progress": {
- "version": "1.1.8",
- "resolved": "https://registry.npmjs.org/progress/-/progress-1.1.8.tgz",
- "integrity": "sha1-4mDHj2Fhzdmw5WzD4Khd4Xx6V74=",
- "dev": true,
- "engines": {
- "node": ">=0.4.0"
- }
- },
- "node_modules/psl": {
- "version": "1.8.0",
- "resolved": "https://registry.npmjs.org/psl/-/psl-1.8.0.tgz",
- "integrity": "sha512-RIdOzyoavK+hA18OGGWDqUTsCLhtA7IcZ/6NCs4fFJaHBDab+pDDmDIByWFRQJq2Cd7r1OoQxBGKOaztq+hjIQ==",
- "dev": true
- },
- "node_modules/punycode": {
- "version": "2.1.1",
- "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz",
- "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==",
- "dev": true,
- "engines": {
- "node": ">=6"
- }
- },
- "node_modules/qjobs": {
- "version": "1.2.0",
- "resolved": "https://registry.npmjs.org/qjobs/-/qjobs-1.2.0.tgz",
- "integrity": "sha512-8YOJEHtxpySA3fFDyCRxA+UUV+fA+rTWnuWvylOK/NCjhY+b4ocCtmu8TtsWb+mYeU+GCHf/S66KZF/AsteKHg==",
- "dev": true,
- "engines": {
- "node": ">=0.9"
- }
- },
- "node_modules/qs": {
- "version": "6.7.0",
- "resolved": "https://registry.npmjs.org/qs/-/qs-6.7.0.tgz",
- "integrity": "sha512-VCdBRNFTX1fyE7Nb6FYoURo/SPe62QCaAyzJvUjwRaIsc+NePBEniHlvxFmmX56+HZphIGtV0XeCirBtpDrTyQ==",
- "dev": true,
- "engines": {
- "node": ">=0.6"
- }
- },
- "node_modules/range-parser": {
- "version": "1.2.1",
- "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz",
- "integrity": "sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==",
- "dev": true,
- "engines": {
- "node": ">= 0.6"
- }
- },
- "node_modules/raw-body": {
- "version": "2.4.0",
- "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.4.0.tgz",
- "integrity": "sha512-4Oz8DUIwdvoa5qMJelxipzi/iJIi40O5cGV1wNYp5hvZP8ZN0T+jiNkL0QepXs+EsQ9XJ8ipEDoiH70ySUJP3Q==",
- "dev": true,
- "dependencies": {
- "bytes": "3.1.0",
- "http-errors": "1.7.2",
- "iconv-lite": "0.4.24",
- "unpipe": "1.0.0"
- },
- "engines": {
- "node": ">= 0.8"
- }
- },
- "node_modules/readable-stream": {
- "version": "2.3.7",
- "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz",
- "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==",
- "dev": true,
- "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"
- }
- },
- "node_modules/readdirp": {
- "version": "3.5.0",
- "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.5.0.tgz",
- "integrity": "sha512-cMhu7c/8rdhkHXWsY+osBhfSy0JikwpHK/5+imo+LpeasTF8ouErHrlYkwT0++njiyuDvc7OFY5T3ukvZ8qmFQ==",
- "dev": true,
- "dependencies": {
- "picomatch": "^2.2.1"
- },
- "engines": {
- "node": ">=8.10.0"
- }
- },
- "node_modules/request": {
- "version": "2.88.2",
- "resolved": "https://registry.npmjs.org/request/-/request-2.88.2.tgz",
- "integrity": "sha512-MsvtOrfG9ZcrOwAW+Qi+F6HbD0CWXEh9ou77uOb7FM2WPhwT7smM833PzanhJLsgXjN89Ir6V2PczXNnMpwKhw==",
- "deprecated": "request has been deprecated, see https://github.com/request/request/issues/3142",
- "dev": true,
- "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"
- },
- "engines": {
- "node": ">= 6"
- }
- },
- "node_modules/request-progress": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/request-progress/-/request-progress-2.0.1.tgz",
- "integrity": "sha1-XTa7V5YcZzqlt4jbyBQf3yO0Tgg=",
- "dev": true,
- "dependencies": {
- "throttleit": "^1.0.0"
- }
- },
- "node_modules/request/node_modules/qs": {
- "version": "6.5.2",
- "resolved": "https://registry.npmjs.org/qs/-/qs-6.5.2.tgz",
- "integrity": "sha512-N5ZAX4/LxJmF+7wN74pUD6qAh9/wnvdQcjq9TZjevvXzSUo7bfmw91saqMjzGS2xq91/odN2dW/WOl7qQHNDGA==",
- "dev": true,
- "engines": {
- "node": ">=0.6"
- }
- },
- "node_modules/require-directory": {
- "version": "2.1.1",
- "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz",
- "integrity": "sha1-jGStX9MNqxyXbiNE/+f3kqam30I=",
- "dev": true,
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/requires-port": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/requires-port/-/requires-port-1.0.0.tgz",
- "integrity": "sha1-kl0mAdOaxIXgkc8NpcbmlNw9yv8=",
- "dev": true
- },
- "node_modules/resolve": {
- "version": "1.19.0",
- "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.19.0.tgz",
- "integrity": "sha512-rArEXAgsBG4UgRGcynxWIWKFvh/XZCcS8UJdHhwy91zwAvCZIbcs+vAbflgBnNjYMs/i/i+/Ux6IZhML1yPvxg==",
- "dev": true,
- "dependencies": {
- "is-core-module": "^2.1.0",
- "path-parse": "^1.0.6"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
- },
- "node_modules/rfdc": {
- "version": "1.2.0",
- "resolved": "https://registry.npmjs.org/rfdc/-/rfdc-1.2.0.tgz",
- "integrity": "sha512-ijLyszTMmUrXvjSooucVQwimGUk84eRcmCuLV8Xghe3UO85mjUtRAHRyoMM6XtyqbECaXuBWx18La3523sXINA==",
- "dev": true
- },
- "node_modules/rimraf": {
- "version": "3.0.2",
- "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz",
- "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==",
- "dev": true,
- "dependencies": {
- "glob": "^7.1.3"
- },
- "bin": {
- "rimraf": "bin.js"
- },
- "funding": {
- "url": "https://github.com/sponsors/isaacs"
- }
- },
- "node_modules/safe-buffer": {
- "version": "5.1.2",
- "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz",
- "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==",
- "dev": true
- },
- "node_modules/safer-buffer": {
- "version": "2.1.2",
- "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz",
- "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==",
- "dev": true
- },
- "node_modules/setprototypeof": {
- "version": "1.1.1",
- "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.1.tgz",
- "integrity": "sha512-JvdAWfbXeIGaZ9cILp38HntZSFSo3mWg6xGcJJsd+d4aRMOqauag1C63dJfDw7OaMYwEbHMOxEZ1lqVRYP2OAw==",
- "dev": true
- },
- "node_modules/socket.io": {
- "version": "3.1.1",
- "resolved": "https://registry.npmjs.org/socket.io/-/socket.io-3.1.1.tgz",
- "integrity": "sha512-7cBWdsDC7bbyEF6WbBqffjizc/H4YF1wLdZoOzuYfo2uMNSFjJKuQ36t0H40o9B20DO6p+mSytEd92oP4S15bA==",
- "dev": true,
- "dependencies": {
- "@types/cookie": "^0.4.0",
- "@types/cors": "^2.8.8",
- "@types/node": "^14.14.10",
- "accepts": "~1.3.4",
- "base64id": "~2.0.0",
- "debug": "~4.3.1",
- "engine.io": "~4.1.0",
- "socket.io-adapter": "~2.1.0",
- "socket.io-parser": "~4.0.3"
- },
- "engines": {
- "node": ">=10.0.0"
- }
- },
- "node_modules/socket.io-adapter": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/socket.io-adapter/-/socket.io-adapter-2.1.0.tgz",
- "integrity": "sha512-+vDov/aTsLjViYTwS9fPy5pEtTkrbEKsw2M+oVSoFGw6OD1IpvlV1VPhUzNbofCQ8oyMbdYJqDtGdmHQK6TdPg==",
- "dev": true
- },
- "node_modules/socket.io-parser": {
- "version": "4.0.4",
- "resolved": "https://registry.npmjs.org/socket.io-parser/-/socket.io-parser-4.0.4.tgz",
- "integrity": "sha512-t+b0SS+IxG7Rxzda2EVvyBZbvFPBCjJoyHuE0P//7OAsN23GItzDRdWa6ALxZI/8R5ygK7jAR6t028/z+7295g==",
- "dev": true,
- "dependencies": {
- "@types/component-emitter": "^1.2.10",
- "component-emitter": "~1.3.0",
- "debug": "~4.3.1"
- },
- "engines": {
- "node": ">=10.0.0"
- }
- },
- "node_modules/socket.io-parser/node_modules/debug": {
- "version": "4.3.1",
- "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.1.tgz",
- "integrity": "sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ==",
- "dev": true,
- "dependencies": {
- "ms": "2.1.2"
- },
- "engines": {
- "node": ">=6.0"
- },
- "peerDependenciesMeta": {
- "supports-color": {
- "optional": true
- }
- }
- },
- "node_modules/socket.io-parser/node_modules/ms": {
- "version": "2.1.2",
- "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
- "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==",
- "dev": true
- },
- "node_modules/socket.io/node_modules/debug": {
- "version": "4.3.1",
- "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.1.tgz",
- "integrity": "sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ==",
- "dev": true,
- "dependencies": {
- "ms": "2.1.2"
- },
- "engines": {
- "node": ">=6.0"
- },
- "peerDependenciesMeta": {
- "supports-color": {
- "optional": true
- }
- }
- },
- "node_modules/socket.io/node_modules/ms": {
- "version": "2.1.2",
- "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
- "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==",
- "dev": true
- },
- "node_modules/source-map": {
- "version": "0.6.1",
- "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
- "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
- "dev": true,
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/sshpk": {
- "version": "1.16.1",
- "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.16.1.tgz",
- "integrity": "sha512-HXXqVUq7+pcKeLqqZj6mHFUMvXtOJt1uoUx09pFW6011inTMxqI8BA8PM95myrIyyKwdnzjdFjLiE6KBPVtJIg==",
- "dev": true,
- "dependencies": {
- "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",
- "safer-buffer": "^2.0.2",
- "tweetnacl": "~0.14.0"
- },
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/statuses": {
- "version": "1.5.0",
- "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz",
- "integrity": "sha1-Fhx9rBd2Wf2YEfQ3cfqZOBR4Yow=",
- "dev": true,
- "engines": {
- "node": ">= 0.6"
- }
- },
- "node_modules/streamroller": {
- "version": "2.2.4",
- "resolved": "https://registry.npmjs.org/streamroller/-/streamroller-2.2.4.tgz",
- "integrity": "sha512-OG79qm3AujAM9ImoqgWEY1xG4HX+Lw+yY6qZj9R1K2mhF5bEmQ849wvrb+4vt4jLMLzwXttJlQbOdPOQVRv7DQ==",
- "dev": true,
- "dependencies": {
- "date-format": "^2.1.0",
- "debug": "^4.1.1",
- "fs-extra": "^8.1.0"
- },
- "engines": {
- "node": ">=8.0"
- }
- },
- "node_modules/streamroller/node_modules/date-format": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/date-format/-/date-format-2.1.0.tgz",
- "integrity": "sha512-bYQuGLeFxhkxNOF3rcMtiZxvCBAquGzZm6oWA1oZ0g2THUzivaRhv8uOhdr19LmoobSOLoIAxeUK2RdbM8IFTA==",
- "dev": true,
- "engines": {
- "node": ">=4.0"
- }
- },
- "node_modules/streamroller/node_modules/debug": {
- "version": "4.3.1",
- "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.1.tgz",
- "integrity": "sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ==",
- "dev": true,
- "dependencies": {
- "ms": "2.1.2"
- },
- "engines": {
- "node": ">=6.0"
- },
- "peerDependenciesMeta": {
- "supports-color": {
- "optional": true
- }
- }
- },
- "node_modules/streamroller/node_modules/fs-extra": {
- "version": "8.1.0",
- "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-8.1.0.tgz",
- "integrity": "sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==",
- "dev": true,
- "dependencies": {
- "graceful-fs": "^4.2.0",
- "jsonfile": "^4.0.0",
- "universalify": "^0.1.0"
- },
- "engines": {
- "node": ">=6 <7 || >=8"
- }
- },
- "node_modules/streamroller/node_modules/jsonfile": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz",
- "integrity": "sha1-h3Gq4HmbZAdrdmQPygWPnBDjPss=",
- "dev": true,
- "dependencies": {
- "graceful-fs": "^4.1.6"
- },
- "optionalDependencies": {
- "graceful-fs": "^4.1.6"
- }
- },
- "node_modules/streamroller/node_modules/ms": {
- "version": "2.1.2",
- "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
- "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==",
- "dev": true
- },
- "node_modules/string_decoder": {
- "version": "1.1.1",
- "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz",
- "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==",
- "dev": true,
- "dependencies": {
- "safe-buffer": "~5.1.0"
- }
- },
- "node_modules/string-width": {
- "version": "4.2.0",
- "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.0.tgz",
- "integrity": "sha512-zUz5JD+tgqtuDjMhwIg5uFVV3dtqZ9yQJlZVfq4I01/K5Paj5UHj7VyrQOJvzawSVlKpObApbfD0Ed6yJc+1eg==",
- "dev": true,
- "dependencies": {
- "emoji-regex": "^8.0.0",
- "is-fullwidth-code-point": "^3.0.0",
- "strip-ansi": "^6.0.0"
- },
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/strip-ansi": {
- "version": "6.0.0",
- "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz",
- "integrity": "sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==",
- "dev": true,
- "dependencies": {
- "ansi-regex": "^5.0.0"
- },
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/throttleit": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/throttleit/-/throttleit-1.0.0.tgz",
- "integrity": "sha1-nnhYNtr0Z0MUWlmEtiaNgoUorGw=",
- "dev": true
- },
- "node_modules/tmp": {
- "version": "0.2.1",
- "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.2.1.tgz",
- "integrity": "sha512-76SUhtfqR2Ijn+xllcI5P1oyannHNHByD80W1q447gU3mp9G9PSpGdWmjUOHRDPiHYacIk66W7ubDTuPF3BEtQ==",
- "dev": true,
- "dependencies": {
- "rimraf": "^3.0.0"
- },
- "engines": {
- "node": ">=8.17.0"
- }
- },
- "node_modules/to-regex-range": {
- "version": "5.0.1",
- "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz",
- "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==",
- "dev": true,
- "dependencies": {
- "is-number": "^7.0.0"
- },
- "engines": {
- "node": ">=8.0"
- }
- },
- "node_modules/toidentifier": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.0.tgz",
- "integrity": "sha512-yaOH/Pk/VEhBWWTlhI+qXxDFXlejDGcQipMlyxda9nthulaxLZUNcUqFxokp0vcYnvteJln5FNQDRrxj3YcbVw==",
- "dev": true,
- "engines": {
- "node": ">=0.6"
- }
- },
- "node_modules/tough-cookie": {
- "version": "2.5.0",
- "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.5.0.tgz",
- "integrity": "sha512-nlLsUzgm1kfLXSXfRZMc1KLAugd4hqJHDTvc2hDIwS3mZAfMEuMbc03SujMF+GEcpaX/qboeycw6iO8JwVv2+g==",
- "dev": true,
- "dependencies": {
- "psl": "^1.1.28",
- "punycode": "^2.1.1"
- },
- "engines": {
- "node": ">=0.8"
- }
- },
- "node_modules/tunnel-agent": {
- "version": "0.6.0",
- "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz",
- "integrity": "sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0=",
- "dev": true,
- "dependencies": {
- "safe-buffer": "^5.0.1"
- },
- "engines": {
- "node": "*"
- }
- },
- "node_modules/tweetnacl": {
- "version": "0.14.5",
- "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz",
- "integrity": "sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q=",
- "dev": true
- },
- "node_modules/type-is": {
- "version": "1.6.18",
- "resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.18.tgz",
- "integrity": "sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==",
- "dev": true,
- "dependencies": {
- "media-typer": "0.3.0",
- "mime-types": "~2.1.24"
- },
- "engines": {
- "node": ">= 0.6"
- }
- },
- "node_modules/typedarray": {
- "version": "0.0.6",
- "resolved": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz",
- "integrity": "sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c=",
- "dev": true
- },
- "node_modules/ua-parser-js": {
- "version": "0.7.23",
- "resolved": "https://registry.npmjs.org/ua-parser-js/-/ua-parser-js-0.7.23.tgz",
- "integrity": "sha512-m4hvMLxgGHXG3O3fQVAyyAQpZzDOvwnhOTjYz5Xmr7r/+LpkNy3vJXdVRWgd1TkAb7NGROZuSy96CrlNVjA7KA==",
- "dev": true,
- "engines": {
- "node": "*"
- }
- },
- "node_modules/universalify": {
- "version": "0.1.2",
- "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz",
- "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==",
- "dev": true,
- "engines": {
- "node": ">= 4.0.0"
- }
- },
- "node_modules/unpipe": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz",
- "integrity": "sha1-sr9O6FFKrmFltIF4KdIbLvSZBOw=",
- "dev": true,
- "engines": {
- "node": ">= 0.8"
- }
- },
- "node_modules/uri-js": {
- "version": "4.4.1",
- "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz",
- "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==",
- "dev": true,
- "dependencies": {
- "punycode": "^2.1.0"
- }
- },
- "node_modules/util-deprecate": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz",
- "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=",
- "dev": true
- },
- "node_modules/utils-merge": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz",
- "integrity": "sha1-n5VxD1CiZ5R7LMwSR0HBAoQn5xM=",
- "dev": true,
- "engines": {
- "node": ">= 0.4.0"
- }
- },
- "node_modules/uuid": {
- "version": "3.4.0",
- "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.4.0.tgz",
- "integrity": "sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==",
- "dev": true,
- "bin": {
- "uuid": "bin/uuid"
- }
- },
- "node_modules/vary": {
- "version": "1.1.2",
- "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz",
- "integrity": "sha1-IpnwLG3tMNSllhsLn3RSShj2NPw=",
- "dev": true,
- "engines": {
- "node": ">= 0.8"
- }
- },
- "node_modules/verror": {
- "version": "1.10.0",
- "resolved": "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz",
- "integrity": "sha1-OhBcoXBTr1XW4nDB+CiGguGNpAA=",
- "dev": true,
- "engines": [
- "node >=0.6.0"
- ],
- "dependencies": {
- "assert-plus": "^1.0.0",
- "core-util-is": "1.0.2",
- "extsprintf": "^1.2.0"
- }
- },
- "node_modules/void-elements": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/void-elements/-/void-elements-2.0.1.tgz",
- "integrity": "sha1-wGavtYK7HLQSjWDqkjkulNXp2+w=",
- "dev": true,
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/which": {
- "version": "1.3.1",
- "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz",
- "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==",
- "dev": true,
- "dependencies": {
- "isexe": "^2.0.0"
- },
- "bin": {
- "which": "bin/which"
- }
- },
- "node_modules/wrap-ansi": {
- "version": "7.0.0",
- "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz",
- "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==",
- "dev": true,
- "dependencies": {
- "ansi-styles": "^4.0.0",
- "string-width": "^4.1.0",
- "strip-ansi": "^6.0.0"
- },
- "engines": {
- "node": ">=10"
- },
- "funding": {
- "url": "https://github.com/chalk/wrap-ansi?sponsor=1"
- }
- },
- "node_modules/wrappy": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz",
- "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=",
- "dev": true
- },
- "node_modules/ws": {
- "version": "7.4.3",
- "resolved": "https://registry.npmjs.org/ws/-/ws-7.4.3.tgz",
- "integrity": "sha512-hr6vCR76GsossIRsr8OLR9acVVm1jyfEWvhbNjtgPOrfvAlKzvyeg/P6r8RuDjRyrcQoPQT7K0DGEPc7Ae6jzA==",
- "dev": true,
- "engines": {
- "node": ">=8.3.0"
- },
- "peerDependencies": {
- "bufferutil": "^4.0.1",
- "utf-8-validate": "^5.0.2"
- },
- "peerDependenciesMeta": {
- "bufferutil": {
- "optional": true
- },
- "utf-8-validate": {
- "optional": true
- }
- }
- },
- "node_modules/y18n": {
- "version": "5.0.5",
- "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.5.tgz",
- "integrity": "sha512-hsRUr4FFrvhhRH12wOdfs38Gy7k2FFzB9qgN9v3aLykRq0dRcdcpz5C9FxdS2NuhOrI/628b/KSTJ3rwHysYSg==",
- "dev": true,
- "engines": {
- "node": ">=10"
- }
- },
- "node_modules/yargs": {
- "version": "16.2.0",
- "resolved": "https://registry.npmjs.org/yargs/-/yargs-16.2.0.tgz",
- "integrity": "sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==",
- "dev": true,
- "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"
- },
- "engines": {
- "node": ">=10"
- }
- },
- "node_modules/yargs-parser": {
- "version": "20.2.4",
- "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.4.tgz",
- "integrity": "sha512-WOkpgNhPTlE73h4VFAFsOnomJVaovO8VqLDzy5saChRBFQFBoMYirowyW+Q9HB4HFF4Z7VZTiG3iSzJJA29yRA==",
- "dev": true,
- "engines": {
- "node": ">=10"
- }
- },
- "node_modules/yauzl": {
- "version": "2.10.0",
- "resolved": "https://registry.npmjs.org/yauzl/-/yauzl-2.10.0.tgz",
- "integrity": "sha1-x+sXyT4RLLEIb6bY5R+wZnt5pfk=",
- "dev": true,
- "dependencies": {
- "buffer-crc32": "~0.2.3",
- "fd-slicer": "~1.1.0"
- }
- }
- },
- "dependencies": {
- "@types/component-emitter": {
- "version": "1.2.10",
- "resolved": "https://registry.npmjs.org/@types/component-emitter/-/component-emitter-1.2.10.tgz",
- "integrity": "sha512-bsjleuRKWmGqajMerkzox19aGbscQX5rmmvvXl3wlIp5gMG1HgkiwPxsN5p070fBDKTNSPgojVbuY1+HWMbFhg==",
- "dev": true
- },
- "@types/cookie": {
- "version": "0.4.0",
- "resolved": "https://registry.npmjs.org/@types/cookie/-/cookie-0.4.0.tgz",
- "integrity": "sha512-y7mImlc/rNkvCRmg8gC3/lj87S7pTUIJ6QGjwHR9WQJcFs+ZMTOaoPrkdFA/YdbuqVEmEbb5RdhVxMkAcgOnpg==",
- "dev": true
- },
- "@types/cors": {
- "version": "2.8.9",
- "resolved": "https://registry.npmjs.org/@types/cors/-/cors-2.8.9.tgz",
- "integrity": "sha512-zurD1ibz21BRlAOIKP8yhrxlqKx6L9VCwkB5kMiP6nZAhoF5MvC7qS1qPA7nRcr1GJolfkQC7/EAL4hdYejLtg==",
- "dev": true
- },
- "@types/node": {
- "version": "14.14.23",
- "resolved": "https://registry.npmjs.org/@types/node/-/node-14.14.23.tgz",
- "integrity": "sha512-pkKXgf96TELUhrc8C01J0e+If5qb0WqF+WF09FbCINywIk+iUEQgMlA8IxgdZ79qQ88Bljw+9NcqwvWGXknWDw==",
- "dev": true
- },
- "accepts": {
- "version": "1.3.7",
- "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.7.tgz",
- "integrity": "sha512-Il80Qs2WjYlJIBNzNkK6KYqlVMTbZLXgHx2oT0pU/fjRHyEp+PEfEPY0R3WCwAGVOtauxh1hOxNgIf5bv7dQpA==",
- "dev": true,
- "requires": {
- "mime-types": "~2.1.24",
- "negotiator": "0.6.2"
- }
- },
- "ajv": {
- "version": "6.12.6",
- "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz",
- "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==",
- "dev": true,
- "requires": {
- "fast-deep-equal": "^3.1.1",
- "fast-json-stable-stringify": "^2.0.0",
- "json-schema-traverse": "^0.4.1",
- "uri-js": "^4.2.2"
- }
- },
- "ansi-regex": {
- "version": "5.0.0",
- "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz",
- "integrity": "sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==",
- "dev": true
- },
- "ansi-styles": {
- "version": "4.3.0",
- "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
- "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
- "dev": true,
- "requires": {
- "color-convert": "^2.0.1"
- }
- },
- "anymatch": {
- "version": "3.1.1",
- "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.1.tgz",
- "integrity": "sha512-mM8522psRCqzV+6LhomX5wgp25YVibjh8Wj23I5RPkPppSVSjyKD2A2mBJmWGa+KN7f2D6LNh9jkBCeyLktzjg==",
- "dev": true,
- "requires": {
- "normalize-path": "^3.0.0",
- "picomatch": "^2.0.4"
- }
- },
- "asn1": {
- "version": "0.2.4",
- "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.4.tgz",
- "integrity": "sha512-jxwzQpLQjSmWXgwaCZE9Nz+glAG01yF1QnWgbhGwHI5A6FRIEY6IVqtHhIepHqI7/kyEyQEagBC5mBEFlIYvdg==",
- "dev": true,
- "requires": {
- "safer-buffer": "~2.1.0"
- }
- },
- "assert-plus": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz",
- "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=",
- "dev": true
- },
- "asynckit": {
- "version": "0.4.0",
- "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz",
- "integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k=",
- "dev": true
- },
- "aws-sign2": {
- "version": "0.7.0",
- "resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.7.0.tgz",
- "integrity": "sha1-tG6JCTSpWR8tL2+G1+ap8bP+dqg=",
- "dev": true
- },
- "aws4": {
- "version": "1.11.0",
- "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.11.0.tgz",
- "integrity": "sha512-xh1Rl34h6Fi1DC2WWKfxUTVqRsNnr6LsKz2+hfwDxQJWmrx8+c7ylaqBMcHfl1U1r2dsifOvKX3LQuLNZ+XSvA==",
- "dev": true
- },
- "balanced-match": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz",
- "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=",
- "dev": true
- },
- "base64-arraybuffer": {
- "version": "0.1.4",
- "resolved": "https://registry.npmjs.org/base64-arraybuffer/-/base64-arraybuffer-0.1.4.tgz",
- "integrity": "sha1-mBjHngWbE1X5fgQooBfIOOkLqBI=",
- "dev": true
- },
- "base64id": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/base64id/-/base64id-2.0.0.tgz",
- "integrity": "sha512-lGe34o6EHj9y3Kts9R4ZYs/Gr+6N7MCaMlIFA3F1R2O5/m7K06AxfSeO5530PEERE6/WyEg3lsuyw4GHlPZHog==",
- "dev": true
- },
- "bcrypt-pbkdf": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz",
- "integrity": "sha1-pDAdOJtqQ/m2f/PKEaP2Y342Dp4=",
- "dev": true,
- "requires": {
- "tweetnacl": "^0.14.3"
- }
- },
- "binary-extensions": {
- "version": "2.2.0",
- "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz",
- "integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==",
- "dev": true
- },
- "body-parser": {
- "version": "1.19.0",
- "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.19.0.tgz",
- "integrity": "sha512-dhEPs72UPbDnAQJ9ZKMNTP6ptJaionhP5cBb541nXPlW60Jepo9RV/a4fX4XWW9CuFNK22krhrj1+rgzifNCsw==",
- "dev": true,
- "requires": {
- "bytes": "3.1.0",
- "content-type": "~1.0.4",
- "debug": "2.6.9",
- "depd": "~1.1.2",
- "http-errors": "1.7.2",
- "iconv-lite": "0.4.24",
- "on-finished": "~2.3.0",
- "qs": "6.7.0",
- "raw-body": "2.4.0",
- "type-is": "~1.6.17"
- }
- },
- "brace-expansion": {
- "version": "1.1.11",
- "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz",
- "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==",
- "dev": true,
- "requires": {
- "balanced-match": "^1.0.0",
- "concat-map": "0.0.1"
- }
- },
- "braces": {
- "version": "3.0.2",
- "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz",
- "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==",
- "dev": true,
- "requires": {
- "fill-range": "^7.0.1"
- }
- },
- "buffer-crc32": {
- "version": "0.2.13",
- "resolved": "https://registry.npmjs.org/buffer-crc32/-/buffer-crc32-0.2.13.tgz",
- "integrity": "sha1-DTM+PwDqxQqhRUq9MO+MKl2ackI=",
- "dev": true
- },
- "buffer-from": {
- "version": "1.1.1",
- "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.1.tgz",
- "integrity": "sha512-MQcXEUbCKtEo7bhqEs6560Hyd4XaovZlO/k9V3hjVUF/zwW7KBVdSK4gIt/bzwS9MbR5qob+F5jusZsb0YQK2A==",
- "dev": true
- },
- "bytes": {
- "version": "3.1.0",
- "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.0.tgz",
- "integrity": "sha512-zauLjrfCG+xvoyaqLoV8bLVXXNGC4JqlxFCutSDWA6fJrTo2ZuvLYTqZ7aHBLZSMOopbzwv8f+wZcVzfVTI2Dg==",
- "dev": true
- },
- "caseless": {
- "version": "0.12.0",
- "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz",
- "integrity": "sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw=",
- "dev": true
- },
- "chokidar": {
- "version": "3.5.1",
- "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.1.tgz",
- "integrity": "sha512-9+s+Od+W0VJJzawDma/gvBNQqkTiqYTWLuZoyAsivsI4AaWTCzHG06/TMjsf1cYe9Cb97UCEhjz7HvnPk2p/tw==",
- "dev": true,
- "requires": {
- "anymatch": "~3.1.1",
- "braces": "~3.0.2",
- "fsevents": "~2.3.1",
- "glob-parent": "~5.1.0",
- "is-binary-path": "~2.1.0",
- "is-glob": "~4.0.1",
- "normalize-path": "~3.0.0",
- "readdirp": "~3.5.0"
- }
- },
- "cliui": {
- "version": "7.0.4",
- "resolved": "https://registry.npmjs.org/cliui/-/cliui-7.0.4.tgz",
- "integrity": "sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==",
- "dev": true,
- "requires": {
- "string-width": "^4.2.0",
- "strip-ansi": "^6.0.0",
- "wrap-ansi": "^7.0.0"
- }
- },
- "color-convert": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
- "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
- "dev": true,
- "requires": {
- "color-name": "~1.1.4"
- }
- },
- "color-name": {
- "version": "1.1.4",
- "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
- "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
- "dev": true
- },
- "colors": {
- "version": "1.4.0",
- "resolved": "https://registry.npmjs.org/colors/-/colors-1.4.0.tgz",
- "integrity": "sha512-a+UqTh4kgZg/SlGvfbzDHpgRu7AAQOmmqRHJnxhRZICKFUT91brVhNNt58CMWU9PsBbv3PDCZUHbVxuDiH2mtA==",
- "dev": true
- },
- "combined-stream": {
- "version": "1.0.8",
- "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz",
- "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==",
- "dev": true,
- "requires": {
- "delayed-stream": "~1.0.0"
- }
- },
- "component-emitter": {
- "version": "1.3.0",
- "resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.3.0.tgz",
- "integrity": "sha512-Rd3se6QB+sO1TwqZjscQrurpEPIfO0/yYnSin6Q/rD3mOutHvUrCAhJub3r90uNb+SESBuE0QYoB90YdfatsRg==",
- "dev": true
- },
- "concat-map": {
- "version": "0.0.1",
- "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz",
- "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=",
- "dev": true
- },
- "concat-stream": {
- "version": "1.6.2",
- "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.6.2.tgz",
- "integrity": "sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw==",
- "dev": true,
- "requires": {
- "buffer-from": "^1.0.0",
- "inherits": "^2.0.3",
- "readable-stream": "^2.2.2",
- "typedarray": "^0.0.6"
- }
- },
- "connect": {
- "version": "3.7.0",
- "resolved": "https://registry.npmjs.org/connect/-/connect-3.7.0.tgz",
- "integrity": "sha512-ZqRXc+tZukToSNmh5C2iWMSoV3X1YUcPbqEM4DkEG5tNQXrQUZCNVGGv3IuicnkMtPfGf3Xtp8WCXs295iQ1pQ==",
- "dev": true,
- "requires": {
- "debug": "2.6.9",
- "finalhandler": "1.1.2",
- "parseurl": "~1.3.3",
- "utils-merge": "1.0.1"
- }
- },
- "content-type": {
- "version": "1.0.4",
- "resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.4.tgz",
- "integrity": "sha512-hIP3EEPs8tB9AT1L+NUqtwOAps4mk2Zob89MWXMHjHWg9milF/j4osnnQLXBCBFBk/tvIG/tUc9mOUJiPBhPXA==",
- "dev": true
- },
- "cookie": {
- "version": "0.4.1",
- "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.4.1.tgz",
- "integrity": "sha512-ZwrFkGJxUR3EIoXtO+yVE69Eb7KlixbaeAWfBQB9vVsNn/o+Yw69gBWSSDK825hQNdN+wF8zELf3dFNl/kxkUA==",
- "dev": true
- },
- "core-util-is": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz",
- "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=",
- "dev": true
- },
- "cors": {
- "version": "2.8.5",
- "resolved": "https://registry.npmjs.org/cors/-/cors-2.8.5.tgz",
- "integrity": "sha512-KIHbLJqu73RGr/hnbrO9uBeixNGuvSQjul/jdFvS/KFSIH1hWVd1ng7zOHx+YrEfInLG7q4n6GHQ9cDtxv/P6g==",
- "dev": true,
- "requires": {
- "object-assign": "^4",
- "vary": "^1"
- }
- },
- "custom-event": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/custom-event/-/custom-event-1.0.1.tgz",
- "integrity": "sha1-XQKkaFCt8bSjF5RqOSj8y1v9BCU=",
- "dev": true
- },
- "dashdash": {
- "version": "1.14.1",
- "resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz",
- "integrity": "sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA=",
- "dev": true,
- "requires": {
- "assert-plus": "^1.0.0"
- }
- },
- "date-format": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/date-format/-/date-format-3.0.0.tgz",
- "integrity": "sha512-eyTcpKOcamdhWJXj56DpQMo1ylSQpcGtGKXcU0Tb97+K56/CF5amAqqqNj0+KvA0iw2ynxtHWFsPDSClCxe48w==",
- "dev": true
- },
- "debug": {
- "version": "2.6.9",
- "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
- "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
- "dev": true,
- "requires": {
- "ms": "2.0.0"
- }
- },
- "delayed-stream": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz",
- "integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk=",
- "dev": true
- },
- "depd": {
- "version": "1.1.2",
- "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz",
- "integrity": "sha1-m81S4UwJd2PnSbJ0xDRu0uVgtak=",
- "dev": true
- },
- "di": {
- "version": "0.0.1",
- "resolved": "https://registry.npmjs.org/di/-/di-0.0.1.tgz",
- "integrity": "sha1-gGZJMmzqp8qjMG112YXqJ0i6kTw=",
- "dev": true
- },
- "dom-serialize": {
- "version": "2.2.1",
- "resolved": "https://registry.npmjs.org/dom-serialize/-/dom-serialize-2.2.1.tgz",
- "integrity": "sha1-ViromZ9Evl6jB29UGdzVnrQ6yVs=",
- "dev": true,
- "requires": {
- "custom-event": "~1.0.0",
- "ent": "~2.2.0",
- "extend": "^3.0.0",
- "void-elements": "^2.0.0"
- }
- },
- "ecc-jsbn": {
- "version": "0.1.2",
- "resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz",
- "integrity": "sha1-OoOpBOVDUyh4dMVkt1SThoSamMk=",
- "dev": true,
- "requires": {
- "jsbn": "~0.1.0",
- "safer-buffer": "^2.1.0"
- }
- },
- "ee-first": {
- "version": "1.1.1",
- "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz",
- "integrity": "sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0=",
- "dev": true
- },
- "emoji-regex": {
- "version": "8.0.0",
- "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz",
- "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==",
- "dev": true
- },
- "encodeurl": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz",
- "integrity": "sha1-rT/0yG7C0CkyL1oCw6mmBslbP1k=",
- "dev": true
- },
- "engine.io": {
- "version": "4.1.1",
- "resolved": "https://registry.npmjs.org/engine.io/-/engine.io-4.1.1.tgz",
- "integrity": "sha512-t2E9wLlssQjGw0nluF6aYyfX8LwYU8Jj0xct+pAhfWfv/YrBn6TSNtEYsgxHIfaMqfrLx07czcMg9bMN6di+3w==",
- "dev": true,
- "requires": {
- "accepts": "~1.3.4",
- "base64id": "2.0.0",
- "cookie": "~0.4.1",
- "cors": "~2.8.5",
- "debug": "~4.3.1",
- "engine.io-parser": "~4.0.0",
- "ws": "~7.4.2"
- },
- "dependencies": {
- "debug": {
- "version": "4.3.1",
- "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.1.tgz",
- "integrity": "sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ==",
- "dev": true,
- "requires": {
- "ms": "2.1.2"
- }
- },
- "ms": {
- "version": "2.1.2",
- "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
- "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==",
- "dev": true
- }
- }
- },
- "engine.io-parser": {
- "version": "4.0.2",
- "resolved": "https://registry.npmjs.org/engine.io-parser/-/engine.io-parser-4.0.2.tgz",
- "integrity": "sha512-sHfEQv6nmtJrq6TKuIz5kyEKH/qSdK56H/A+7DnAuUPWosnIZAS2NHNcPLmyjtY3cGS/MqJdZbUjW97JU72iYg==",
- "dev": true,
- "requires": {
- "base64-arraybuffer": "0.1.4"
- }
- },
- "ent": {
- "version": "2.2.0",
- "resolved": "https://registry.npmjs.org/ent/-/ent-2.2.0.tgz",
- "integrity": "sha1-6WQhkyWiHQX0RGai9obtbOX13R0=",
- "dev": true
- },
- "es6-promise": {
- "version": "4.2.8",
- "resolved": "https://registry.npmjs.org/es6-promise/-/es6-promise-4.2.8.tgz",
- "integrity": "sha512-HJDGx5daxeIvxdBxvG2cb9g4tEvwIk3i8+nhX0yGrYmZUzbkdg8QbDevheDB8gd0//uPj4c1EQua8Q+MViT0/w==",
- "dev": true
- },
- "escalade": {
- "version": "3.1.1",
- "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz",
- "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==",
- "dev": true
- },
- "escape-html": {
- "version": "1.0.3",
- "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz",
- "integrity": "sha1-Aljq5NPQwJdN4cFpGI7wBR0dGYg=",
- "dev": true
- },
- "eventemitter3": {
- "version": "4.0.7",
- "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-4.0.7.tgz",
- "integrity": "sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw==",
- "dev": true
- },
- "extend": {
- "version": "3.0.2",
- "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz",
- "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==",
- "dev": true
- },
- "extract-zip": {
- "version": "1.7.0",
- "resolved": "https://registry.npmjs.org/extract-zip/-/extract-zip-1.7.0.tgz",
- "integrity": "sha512-xoh5G1W/PB0/27lXgMQyIhP5DSY/LhoCsOyZgb+6iMmRtCwVBo55uKaMoEYrDCKQhWvqEip5ZPKAc6eFNyf/MA==",
- "dev": true,
- "requires": {
- "concat-stream": "^1.6.2",
- "debug": "^2.6.9",
- "mkdirp": "^0.5.4",
- "yauzl": "^2.10.0"
- }
- },
- "extsprintf": {
- "version": "1.3.0",
- "resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz",
- "integrity": "sha1-lpGEQOMEGnpBT4xS48V06zw+HgU=",
- "dev": true
- },
- "fast-deep-equal": {
- "version": "3.1.3",
- "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz",
- "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==",
- "dev": true
- },
- "fast-json-stable-stringify": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz",
- "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==",
- "dev": true
- },
- "fd-slicer": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/fd-slicer/-/fd-slicer-1.1.0.tgz",
- "integrity": "sha1-JcfInLH5B3+IkbvmHY85Dq4lbx4=",
- "dev": true,
- "requires": {
- "pend": "~1.2.0"
- }
- },
- "fill-range": {
- "version": "7.0.1",
- "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz",
- "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==",
- "dev": true,
- "requires": {
- "to-regex-range": "^5.0.1"
- }
- },
- "finalhandler": {
- "version": "1.1.2",
- "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.1.2.tgz",
- "integrity": "sha512-aAWcW57uxVNrQZqFXjITpW3sIUQmHGG3qSb9mUah9MgMC4NeWhNOlNjXEYq3HjRAvL6arUviZGGJsBg6z0zsWA==",
- "dev": true,
- "requires": {
- "debug": "2.6.9",
- "encodeurl": "~1.0.2",
- "escape-html": "~1.0.3",
- "on-finished": "~2.3.0",
- "parseurl": "~1.3.3",
- "statuses": "~1.5.0",
- "unpipe": "~1.0.0"
- }
- },
- "flatted": {
- "version": "2.0.2",
- "resolved": "https://registry.npmjs.org/flatted/-/flatted-2.0.2.tgz",
- "integrity": "sha512-r5wGx7YeOwNWNlCA0wQ86zKyDLMQr+/RB8xy74M4hTphfmjlijTSSXGuH8rnvKZnfT9i+75zmd8jcKdMR4O6jA==",
- "dev": true
- },
- "follow-redirects": {
- "version": "1.13.2",
- "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.13.2.tgz",
- "integrity": "sha512-6mPTgLxYm3r6Bkkg0vNM0HTjfGrOEtsfbhagQvbxDEsEkpNhw582upBaoRZylzen6krEmxXJgt9Ju6HiI4O7BA==",
- "dev": true
- },
- "forever-agent": {
- "version": "0.6.1",
- "resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz",
- "integrity": "sha1-+8cfDEGt6zf5bFd60e1C2P2sypE=",
- "dev": true
- },
- "form-data": {
- "version": "2.3.3",
- "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.3.3.tgz",
- "integrity": "sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ==",
- "dev": true,
- "requires": {
- "asynckit": "^0.4.0",
- "combined-stream": "^1.0.6",
- "mime-types": "^2.1.12"
- }
- },
- "fs-access": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/fs-access/-/fs-access-1.0.1.tgz",
- "integrity": "sha1-1qh/JiJxzv6+wwxVNAf7mV2od3o=",
- "dev": true,
- "requires": {
- "null-check": "^1.0.0"
- }
- },
- "fs-extra": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-1.0.0.tgz",
- "integrity": "sha1-zTzl9+fLYUWIP8rjGR6Yd/hYeVA=",
- "dev": true,
- "requires": {
- "graceful-fs": "^4.1.2",
- "jsonfile": "^2.1.0",
- "klaw": "^1.0.0"
- }
- },
- "fs.realpath": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz",
- "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=",
- "dev": true
- },
- "fsevents": {
- "version": "2.3.1",
- "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.1.tgz",
- "integrity": "sha512-YR47Eg4hChJGAB1O3yEAOkGO+rlzutoICGqGo9EZ4lKWokzZRSyIW1QmTzqjtw8MJdj9srP869CuWw/hyzSiBw==",
- "dev": true,
- "optional": true
- },
- "function-bind": {
- "version": "1.1.1",
- "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz",
- "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==",
- "dev": true
- },
- "get-caller-file": {
- "version": "2.0.5",
- "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz",
- "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==",
- "dev": true
- },
- "getpass": {
- "version": "0.1.7",
- "resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz",
- "integrity": "sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo=",
- "dev": true,
- "requires": {
- "assert-plus": "^1.0.0"
- }
- },
- "glob": {
- "version": "7.1.6",
- "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.6.tgz",
- "integrity": "sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==",
- "dev": true,
- "requires": {
- "fs.realpath": "^1.0.0",
- "inflight": "^1.0.4",
- "inherits": "2",
- "minimatch": "^3.0.4",
- "once": "^1.3.0",
- "path-is-absolute": "^1.0.0"
- }
- },
- "glob-parent": {
- "version": "5.1.1",
- "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.1.tgz",
- "integrity": "sha512-FnI+VGOpnlGHWZxthPGR+QhR78fuiK0sNLkHQv+bL9fQi57lNNdquIbna/WrfROrolq8GK5Ek6BiMwqL/voRYQ==",
- "dev": true,
- "requires": {
- "is-glob": "^4.0.1"
- }
- },
- "graceful-fs": {
- "version": "4.2.4",
- "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.4.tgz",
- "integrity": "sha512-WjKPNJF79dtJAVniUlGGWHYGz2jWxT6VhN/4m1NdkbZ2nOsEF+cI1Edgql5zCRhs/VsQYRvrXctxktVXZUkixw==",
- "dev": true
- },
- "har-schema": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/har-schema/-/har-schema-2.0.0.tgz",
- "integrity": "sha1-qUwiJOvKwEeCoNkDVSHyRzW37JI=",
- "dev": true
- },
- "har-validator": {
- "version": "5.1.5",
- "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-5.1.5.tgz",
- "integrity": "sha512-nmT2T0lljbxdQZfspsno9hgrG3Uir6Ks5afism62poxqBM6sDnMEuPmzTq8XN0OEwqKLLdh1jQI3qyE66Nzb3w==",
- "dev": true,
- "requires": {
- "ajv": "^6.12.3",
- "har-schema": "^2.0.0"
- }
- },
- "has": {
- "version": "1.0.3",
- "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz",
- "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==",
- "dev": true,
- "requires": {
- "function-bind": "^1.1.1"
- }
- },
- "hasha": {
- "version": "2.2.0",
- "resolved": "https://registry.npmjs.org/hasha/-/hasha-2.2.0.tgz",
- "integrity": "sha1-eNfL/B5tZjA/55g3NlmEUXsvbuE=",
- "dev": true,
- "requires": {
- "is-stream": "^1.0.1",
- "pinkie-promise": "^2.0.0"
- }
- },
- "http-errors": {
- "version": "1.7.2",
- "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.7.2.tgz",
- "integrity": "sha512-uUQBt3H/cSIVfch6i1EuPNy/YsRSOUBXTVfZ+yR7Zjez3qjBz6i9+i4zjNaoqcoFVI4lQJ5plg63TvGfRSDCRg==",
- "dev": true,
- "requires": {
- "depd": "~1.1.2",
- "inherits": "2.0.3",
- "setprototypeof": "1.1.1",
- "statuses": ">= 1.5.0 < 2",
- "toidentifier": "1.0.0"
- },
- "dependencies": {
- "inherits": {
- "version": "2.0.3",
- "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz",
- "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=",
- "dev": true
- }
- }
- },
- "http-proxy": {
- "version": "1.18.1",
- "resolved": "https://registry.npmjs.org/http-proxy/-/http-proxy-1.18.1.tgz",
- "integrity": "sha512-7mz/721AbnJwIVbnaSv1Cz3Am0ZLT/UBwkC92VlxhXv/k/BBQfM2fXElQNC27BVGr0uwUpplYPQM9LnaBMR5NQ==",
- "dev": true,
- "requires": {
- "eventemitter3": "^4.0.0",
- "follow-redirects": "^1.0.0",
- "requires-port": "^1.0.0"
- }
- },
- "http-signature": {
- "version": "1.2.0",
- "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.2.0.tgz",
- "integrity": "sha1-muzZJRFHcvPZW2WmCruPfBj7rOE=",
- "dev": true,
- "requires": {
- "assert-plus": "^1.0.0",
- "jsprim": "^1.2.2",
- "sshpk": "^1.7.0"
- }
- },
- "iconv-lite": {
- "version": "0.4.24",
- "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz",
- "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==",
- "dev": true,
- "requires": {
- "safer-buffer": ">= 2.1.2 < 3"
- }
- },
- "inflight": {
- "version": "1.0.6",
- "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz",
- "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=",
- "dev": true,
- "requires": {
- "once": "^1.3.0",
- "wrappy": "1"
- }
- },
- "inherits": {
- "version": "2.0.4",
- "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz",
- "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==",
- "dev": true
- },
- "is-binary-path": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz",
- "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==",
- "dev": true,
- "requires": {
- "binary-extensions": "^2.0.0"
- }
- },
- "is-core-module": {
- "version": "2.2.0",
- "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.2.0.tgz",
- "integrity": "sha512-XRAfAdyyY5F5cOXn7hYQDqh2Xmii+DEfIcQGxK/uNwMHhIkPWO0g8msXcbzLe+MpGoR951MlqM/2iIlU4vKDdQ==",
- "dev": true,
- "requires": {
- "has": "^1.0.3"
- }
- },
- "is-extglob": {
- "version": "2.1.1",
- "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz",
- "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=",
- "dev": true
- },
- "is-fullwidth-code-point": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz",
- "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==",
- "dev": true
- },
- "is-glob": {
- "version": "4.0.1",
- "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.1.tgz",
- "integrity": "sha512-5G0tKtBTFImOqDnLB2hG6Bp2qcKEFduo4tZu9MT/H6NQv/ghhy30o55ufafxJ/LdH79LLs2Kfrn85TLKyA7BUg==",
- "dev": true,
- "requires": {
- "is-extglob": "^2.1.1"
- }
- },
- "is-number": {
- "version": "7.0.0",
- "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz",
- "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==",
- "dev": true
- },
- "is-stream": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz",
- "integrity": "sha1-EtSj3U5o4Lec6428hBc66A2RykQ=",
- "dev": true
- },
- "is-typedarray": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz",
- "integrity": "sha1-5HnICFjfDBsR3dppQPlgEfzaSpo=",
- "dev": true
- },
- "isarray": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz",
- "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=",
- "dev": true
- },
- "isbinaryfile": {
- "version": "4.0.6",
- "resolved": "https://registry.npmjs.org/isbinaryfile/-/isbinaryfile-4.0.6.tgz",
- "integrity": "sha512-ORrEy+SNVqUhrCaal4hA4fBzhggQQ+BaLntyPOdoEiwlKZW9BZiJXjg3RMiruE4tPEI3pyVPpySHQF/dKWperg==",
- "dev": true
- },
- "isexe": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz",
- "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=",
- "dev": true
- },
- "isstream": {
- "version": "0.1.2",
- "resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz",
- "integrity": "sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo=",
- "dev": true
- },
- "jasmine-core": {
- "version": "2.99.1",
- "resolved": "https://registry.npmjs.org/jasmine-core/-/jasmine-core-2.99.1.tgz",
- "integrity": "sha1-5kAN8ea1bhMLYcS80JPap/boyhU=",
- "dev": true
- },
- "jquery": {
- "version": "3.5.1",
- "resolved": "https://registry.npmjs.org/jquery/-/jquery-3.5.1.tgz",
- "integrity": "sha512-XwIBPqcMn57FxfT+Go5pzySnm4KWkT1Tv7gjrpT1srtf8Weynl6R273VJ5GjkRb51IzMp5nbaPjJXMWeju2MKg=="
- },
- "jsbn": {
- "version": "0.1.1",
- "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz",
- "integrity": "sha1-peZUwuWi3rXyAdls77yoDA7y9RM=",
- "dev": true
- },
- "json-schema": {
- "version": "0.2.3",
- "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.2.3.tgz",
- "integrity": "sha1-tIDIkuWaLwWVTOcnvT8qTogvnhM=",
- "dev": true
- },
- "json-schema-traverse": {
- "version": "0.4.1",
- "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz",
- "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==",
- "dev": true
- },
- "json-stringify-safe": {
- "version": "5.0.1",
- "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz",
- "integrity": "sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus=",
- "dev": true
- },
- "jsonfile": {
- "version": "2.4.0",
- "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-2.4.0.tgz",
- "integrity": "sha1-NzaitCi4e72gzIO1P6PWM6NcKug=",
- "dev": true,
- "requires": {
- "graceful-fs": "^4.1.6"
- }
- },
- "jsprim": {
- "version": "1.4.1",
- "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-1.4.1.tgz",
- "integrity": "sha1-MT5mvB5cwG5Di8G3SZwuXFastqI=",
- "dev": true,
- "requires": {
- "assert-plus": "1.0.0",
- "extsprintf": "1.3.0",
- "json-schema": "0.2.3",
- "verror": "1.10.0"
- }
- },
- "karma": {
- "version": "6.1.0",
- "resolved": "https://registry.npmjs.org/karma/-/karma-6.1.0.tgz",
- "integrity": "sha512-QmRZ6HdKe6mHd89Az6yb85URRyDbXmn2IBo3lic7cwkkLjDWpjrMJxPAKlwNa5dFM1iHdT+kjtNJM0J5YAH90A==",
- "dev": true,
- "requires": {
- "body-parser": "^1.19.0",
- "braces": "^3.0.2",
- "chokidar": "^3.4.2",
- "colors": "^1.4.0",
- "connect": "^3.7.0",
- "di": "^0.0.1",
- "dom-serialize": "^2.2.1",
- "glob": "^7.1.6",
- "graceful-fs": "^4.2.4",
- "http-proxy": "^1.18.1",
- "isbinaryfile": "^4.0.6",
- "lodash": "^4.17.19",
- "log4js": "^6.2.1",
- "mime": "^2.4.5",
- "minimatch": "^3.0.4",
- "qjobs": "^1.2.0",
- "range-parser": "^1.2.1",
- "rimraf": "^3.0.2",
- "socket.io": "^3.1.0",
- "source-map": "^0.6.1",
- "tmp": "0.2.1",
- "ua-parser-js": "^0.7.23",
- "yargs": "^16.1.1"
- }
- },
- "karma-chrome-launcher": {
- "version": "2.2.0",
- "resolved": "https://registry.npmjs.org/karma-chrome-launcher/-/karma-chrome-launcher-2.2.0.tgz",
- "integrity": "sha512-uf/ZVpAabDBPvdPdveyk1EPgbnloPvFFGgmRhYLTDH7gEB4nZdSBk8yTU47w1g/drLSx5uMOkjKk7IWKfWg/+w==",
- "dev": true,
- "requires": {
- "fs-access": "^1.0.0",
- "which": "^1.2.1"
- }
- },
- "karma-cli": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/karma-cli/-/karma-cli-2.0.0.tgz",
- "integrity": "sha512-1Kb28UILg1ZsfqQmeELbPzuEb5C6GZJfVIk0qOr8LNYQuYWmAaqP16WpbpKEjhejDrDYyYOwwJXSZO6u7q5Pvw==",
- "dev": true,
- "requires": {
- "resolve": "^1.3.3"
- }
- },
- "karma-jasmine": {
- "version": "1.1.2",
- "resolved": "https://registry.npmjs.org/karma-jasmine/-/karma-jasmine-1.1.2.tgz",
- "integrity": "sha1-OU8rJf+0pkS5rabyLUQ+L9CIhsM=",
- "dev": true,
- "requires": {}
- },
- "karma-phantomjs-launcher": {
- "version": "1.0.4",
- "resolved": "https://registry.npmjs.org/karma-phantomjs-launcher/-/karma-phantomjs-launcher-1.0.4.tgz",
- "integrity": "sha1-0jyjSAG9qYY60xjju0vUBisTrNI=",
- "dev": true,
- "requires": {
- "lodash": "^4.0.1",
- "phantomjs-prebuilt": "^2.1.7"
- }
- },
- "kew": {
- "version": "0.7.0",
- "resolved": "https://registry.npmjs.org/kew/-/kew-0.7.0.tgz",
- "integrity": "sha1-edk9LTM2PW/dKXCzNdkUGtWR15s=",
- "dev": true
- },
- "klaw": {
- "version": "1.3.1",
- "resolved": "https://registry.npmjs.org/klaw/-/klaw-1.3.1.tgz",
- "integrity": "sha1-QIhDO0azsbolnXh4XY6W9zugJDk=",
- "dev": true,
- "requires": {
- "graceful-fs": "^4.1.9"
- }
- },
- "lodash": {
- "version": "4.17.20",
- "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.20.tgz",
- "integrity": "sha512-PlhdFcillOINfeV7Ni6oF1TAEayyZBoZ8bcshTHqOYJYlrqzRK5hagpagky5o4HfCzzd1TRkXPMFq6cKk9rGmA==",
- "dev": true
- },
- "log4js": {
- "version": "6.3.0",
- "resolved": "https://registry.npmjs.org/log4js/-/log4js-6.3.0.tgz",
- "integrity": "sha512-Mc8jNuSFImQUIateBFwdOQcmC6Q5maU0VVvdC2R6XMb66/VnT+7WS4D/0EeNMZu1YODmJe5NIn2XftCzEocUgw==",
- "dev": true,
- "requires": {
- "date-format": "^3.0.0",
- "debug": "^4.1.1",
- "flatted": "^2.0.1",
- "rfdc": "^1.1.4",
- "streamroller": "^2.2.4"
- },
- "dependencies": {
- "debug": {
- "version": "4.3.1",
- "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.1.tgz",
- "integrity": "sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ==",
- "dev": true,
- "requires": {
- "ms": "2.1.2"
- }
- },
- "ms": {
- "version": "2.1.2",
- "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
- "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==",
- "dev": true
- }
- }
- },
- "media-typer": {
- "version": "0.3.0",
- "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz",
- "integrity": "sha1-hxDXrwqmJvj/+hzgAWhUUmMlV0g=",
- "dev": true
- },
- "mime": {
- "version": "2.5.0",
- "resolved": "https://registry.npmjs.org/mime/-/mime-2.5.0.tgz",
- "integrity": "sha512-ft3WayFSFUVBuJj7BMLKAQcSlItKtfjsKDDsii3rqFDAZ7t11zRe8ASw/GlmivGwVUYtwkQrxiGGpL6gFvB0ag==",
- "dev": true
- },
- "mime-db": {
- "version": "1.45.0",
- "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.45.0.tgz",
- "integrity": "sha512-CkqLUxUk15hofLoLyljJSrukZi8mAtgd+yE5uO4tqRZsdsAJKv0O+rFMhVDRJgozy+yG6md5KwuXhD4ocIoP+w==",
- "dev": true
- },
- "mime-types": {
- "version": "2.1.28",
- "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.28.tgz",
- "integrity": "sha512-0TO2yJ5YHYr7M2zzT7gDU1tbwHxEUWBCLt0lscSNpcdAfFyJOVEpRYNS7EXVcTLNj/25QO8gulHC5JtTzSE2UQ==",
- "dev": true,
- "requires": {
- "mime-db": "1.45.0"
- }
- },
- "minimatch": {
- "version": "3.0.4",
- "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz",
- "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==",
- "dev": true,
- "requires": {
- "brace-expansion": "^1.1.7"
- }
- },
- "minimist": {
- "version": "1.2.5",
- "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz",
- "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==",
- "dev": true
- },
- "mkdirp": {
- "version": "0.5.5",
- "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.5.tgz",
- "integrity": "sha512-NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ==",
- "dev": true,
- "requires": {
- "minimist": "^1.2.5"
- }
- },
- "ms": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
- "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=",
- "dev": true
- },
- "negotiator": {
- "version": "0.6.2",
- "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.2.tgz",
- "integrity": "sha512-hZXc7K2e+PgeI1eDBe/10Ard4ekbfrrqG8Ep+8Jmf4JID2bNg7NvCPOZN+kfF574pFQI7mum2AUqDidoKqcTOw==",
- "dev": true
- },
- "normalize-path": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz",
- "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==",
- "dev": true
- },
- "null-check": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/null-check/-/null-check-1.0.0.tgz",
- "integrity": "sha1-l33/1xdgErnsMNKjnbXPcqBDnt0=",
- "dev": true
- },
- "oauth-sign": {
- "version": "0.9.0",
- "resolved": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.9.0.tgz",
- "integrity": "sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ==",
- "dev": true
- },
- "object-assign": {
- "version": "4.1.1",
- "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz",
- "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=",
- "dev": true
- },
- "on-finished": {
- "version": "2.3.0",
- "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.3.0.tgz",
- "integrity": "sha1-IPEzZIGwg811M3mSoWlxqi2QaUc=",
- "dev": true,
- "requires": {
- "ee-first": "1.1.1"
- }
- },
- "once": {
- "version": "1.4.0",
- "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz",
- "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=",
- "dev": true,
- "requires": {
- "wrappy": "1"
- }
- },
- "parseurl": {
- "version": "1.3.3",
- "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz",
- "integrity": "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==",
- "dev": true
- },
- "path-is-absolute": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz",
- "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=",
- "dev": true
- },
- "path-parse": {
- "version": "1.0.6",
- "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.6.tgz",
- "integrity": "sha512-GSmOT2EbHrINBf9SR7CDELwlJ8AENk3Qn7OikK4nFYAu3Ote2+JYNVvkpAEQm3/TLNEJFD/xZJjzyxg3KBWOzw==",
- "dev": true
- },
- "pend": {
- "version": "1.2.0",
- "resolved": "https://registry.npmjs.org/pend/-/pend-1.2.0.tgz",
- "integrity": "sha1-elfrVQpng/kRUzH89GY9XI4AelA=",
- "dev": true
- },
- "performance-now": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz",
- "integrity": "sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns=",
- "dev": true
- },
- "phantomjs-prebuilt": {
- "version": "2.1.16",
- "resolved": "https://registry.npmjs.org/phantomjs-prebuilt/-/phantomjs-prebuilt-2.1.16.tgz",
- "integrity": "sha1-79ISpKOWbTZHaE6ouniFSb4q7+8=",
- "dev": true,
- "requires": {
- "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"
- }
- },
- "picomatch": {
- "version": "2.2.2",
- "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.2.2.tgz",
- "integrity": "sha512-q0M/9eZHzmr0AulXyPwNfZjtwZ/RBZlbN3K3CErVrk50T2ASYI7Bye0EvekFY3IP1Nt2DHu0re+V2ZHIpMkuWg==",
- "dev": true
- },
- "pinkie": {
- "version": "2.0.4",
- "resolved": "https://registry.npmjs.org/pinkie/-/pinkie-2.0.4.tgz",
- "integrity": "sha1-clVrgM+g1IqXToDnckjoDtT3+HA=",
- "dev": true
- },
- "pinkie-promise": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz",
- "integrity": "sha1-ITXW36ejWMBprJsXh3YogihFD/o=",
- "dev": true,
- "requires": {
- "pinkie": "^2.0.0"
- }
- },
- "process-nextick-args": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz",
- "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==",
- "dev": true
- },
- "progress": {
- "version": "1.1.8",
- "resolved": "https://registry.npmjs.org/progress/-/progress-1.1.8.tgz",
- "integrity": "sha1-4mDHj2Fhzdmw5WzD4Khd4Xx6V74=",
- "dev": true
- },
- "psl": {
- "version": "1.8.0",
- "resolved": "https://registry.npmjs.org/psl/-/psl-1.8.0.tgz",
- "integrity": "sha512-RIdOzyoavK+hA18OGGWDqUTsCLhtA7IcZ/6NCs4fFJaHBDab+pDDmDIByWFRQJq2Cd7r1OoQxBGKOaztq+hjIQ==",
- "dev": true
- },
- "punycode": {
- "version": "2.1.1",
- "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz",
- "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==",
- "dev": true
- },
- "qjobs": {
- "version": "1.2.0",
- "resolved": "https://registry.npmjs.org/qjobs/-/qjobs-1.2.0.tgz",
- "integrity": "sha512-8YOJEHtxpySA3fFDyCRxA+UUV+fA+rTWnuWvylOK/NCjhY+b4ocCtmu8TtsWb+mYeU+GCHf/S66KZF/AsteKHg==",
- "dev": true
- },
- "qs": {
- "version": "6.7.0",
- "resolved": "https://registry.npmjs.org/qs/-/qs-6.7.0.tgz",
- "integrity": "sha512-VCdBRNFTX1fyE7Nb6FYoURo/SPe62QCaAyzJvUjwRaIsc+NePBEniHlvxFmmX56+HZphIGtV0XeCirBtpDrTyQ==",
- "dev": true
- },
- "range-parser": {
- "version": "1.2.1",
- "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz",
- "integrity": "sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==",
- "dev": true
- },
- "raw-body": {
- "version": "2.4.0",
- "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.4.0.tgz",
- "integrity": "sha512-4Oz8DUIwdvoa5qMJelxipzi/iJIi40O5cGV1wNYp5hvZP8ZN0T+jiNkL0QepXs+EsQ9XJ8ipEDoiH70ySUJP3Q==",
- "dev": true,
- "requires": {
- "bytes": "3.1.0",
- "http-errors": "1.7.2",
- "iconv-lite": "0.4.24",
- "unpipe": "1.0.0"
- }
- },
- "readable-stream": {
- "version": "2.3.7",
- "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz",
- "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==",
- "dev": true,
- "requires": {
- "core-util-is": "~1.0.0",
- "inherits": "~2.0.3",
- "isarray": "~1.0.0",
- "process-nextick-args": "~2.0.0",
- "safe-buffer": "~5.1.1",
- "string_decoder": "~1.1.1",
- "util-deprecate": "~1.0.1"
- }
- },
- "readdirp": {
- "version": "3.5.0",
- "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.5.0.tgz",
- "integrity": "sha512-cMhu7c/8rdhkHXWsY+osBhfSy0JikwpHK/5+imo+LpeasTF8ouErHrlYkwT0++njiyuDvc7OFY5T3ukvZ8qmFQ==",
- "dev": true,
- "requires": {
- "picomatch": "^2.2.1"
- }
- },
- "request": {
- "version": "2.88.2",
- "resolved": "https://registry.npmjs.org/request/-/request-2.88.2.tgz",
- "integrity": "sha512-MsvtOrfG9ZcrOwAW+Qi+F6HbD0CWXEh9ou77uOb7FM2WPhwT7smM833PzanhJLsgXjN89Ir6V2PczXNnMpwKhw==",
- "dev": true,
- "requires": {
- "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"
- },
- "dependencies": {
- "qs": {
- "version": "6.5.2",
- "resolved": "https://registry.npmjs.org/qs/-/qs-6.5.2.tgz",
- "integrity": "sha512-N5ZAX4/LxJmF+7wN74pUD6qAh9/wnvdQcjq9TZjevvXzSUo7bfmw91saqMjzGS2xq91/odN2dW/WOl7qQHNDGA==",
- "dev": true
- }
- }
- },
- "request-progress": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/request-progress/-/request-progress-2.0.1.tgz",
- "integrity": "sha1-XTa7V5YcZzqlt4jbyBQf3yO0Tgg=",
- "dev": true,
- "requires": {
- "throttleit": "^1.0.0"
- }
- },
- "require-directory": {
- "version": "2.1.1",
- "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz",
- "integrity": "sha1-jGStX9MNqxyXbiNE/+f3kqam30I=",
- "dev": true
- },
- "requires-port": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/requires-port/-/requires-port-1.0.0.tgz",
- "integrity": "sha1-kl0mAdOaxIXgkc8NpcbmlNw9yv8=",
- "dev": true
- },
- "resolve": {
- "version": "1.19.0",
- "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.19.0.tgz",
- "integrity": "sha512-rArEXAgsBG4UgRGcynxWIWKFvh/XZCcS8UJdHhwy91zwAvCZIbcs+vAbflgBnNjYMs/i/i+/Ux6IZhML1yPvxg==",
- "dev": true,
- "requires": {
- "is-core-module": "^2.1.0",
- "path-parse": "^1.0.6"
- }
- },
- "rfdc": {
- "version": "1.2.0",
- "resolved": "https://registry.npmjs.org/rfdc/-/rfdc-1.2.0.tgz",
- "integrity": "sha512-ijLyszTMmUrXvjSooucVQwimGUk84eRcmCuLV8Xghe3UO85mjUtRAHRyoMM6XtyqbECaXuBWx18La3523sXINA==",
- "dev": true
- },
- "rimraf": {
- "version": "3.0.2",
- "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz",
- "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==",
- "dev": true,
- "requires": {
- "glob": "^7.1.3"
- }
- },
- "safe-buffer": {
- "version": "5.1.2",
- "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz",
- "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==",
- "dev": true
- },
- "safer-buffer": {
- "version": "2.1.2",
- "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz",
- "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==",
- "dev": true
- },
- "setprototypeof": {
- "version": "1.1.1",
- "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.1.tgz",
- "integrity": "sha512-JvdAWfbXeIGaZ9cILp38HntZSFSo3mWg6xGcJJsd+d4aRMOqauag1C63dJfDw7OaMYwEbHMOxEZ1lqVRYP2OAw==",
- "dev": true
- },
- "socket.io": {
- "version": "3.1.1",
- "resolved": "https://registry.npmjs.org/socket.io/-/socket.io-3.1.1.tgz",
- "integrity": "sha512-7cBWdsDC7bbyEF6WbBqffjizc/H4YF1wLdZoOzuYfo2uMNSFjJKuQ36t0H40o9B20DO6p+mSytEd92oP4S15bA==",
- "dev": true,
- "requires": {
- "@types/cookie": "^0.4.0",
- "@types/cors": "^2.8.8",
- "@types/node": "^14.14.10",
- "accepts": "~1.3.4",
- "base64id": "~2.0.0",
- "debug": "~4.3.1",
- "engine.io": "~4.1.0",
- "socket.io-adapter": "~2.1.0",
- "socket.io-parser": "~4.0.3"
- },
- "dependencies": {
- "debug": {
- "version": "4.3.1",
- "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.1.tgz",
- "integrity": "sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ==",
- "dev": true,
- "requires": {
- "ms": "2.1.2"
- }
- },
- "ms": {
- "version": "2.1.2",
- "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
- "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==",
- "dev": true
- }
- }
- },
- "socket.io-adapter": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/socket.io-adapter/-/socket.io-adapter-2.1.0.tgz",
- "integrity": "sha512-+vDov/aTsLjViYTwS9fPy5pEtTkrbEKsw2M+oVSoFGw6OD1IpvlV1VPhUzNbofCQ8oyMbdYJqDtGdmHQK6TdPg==",
- "dev": true
- },
- "socket.io-parser": {
- "version": "4.0.4",
- "resolved": "https://registry.npmjs.org/socket.io-parser/-/socket.io-parser-4.0.4.tgz",
- "integrity": "sha512-t+b0SS+IxG7Rxzda2EVvyBZbvFPBCjJoyHuE0P//7OAsN23GItzDRdWa6ALxZI/8R5ygK7jAR6t028/z+7295g==",
- "dev": true,
- "requires": {
- "@types/component-emitter": "^1.2.10",
- "component-emitter": "~1.3.0",
- "debug": "~4.3.1"
- },
- "dependencies": {
- "debug": {
- "version": "4.3.1",
- "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.1.tgz",
- "integrity": "sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ==",
- "dev": true,
- "requires": {
- "ms": "2.1.2"
- }
- },
- "ms": {
- "version": "2.1.2",
- "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
- "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==",
- "dev": true
- }
- }
- },
- "source-map": {
- "version": "0.6.1",
- "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
- "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
- "dev": true
- },
- "sshpk": {
- "version": "1.16.1",
- "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.16.1.tgz",
- "integrity": "sha512-HXXqVUq7+pcKeLqqZj6mHFUMvXtOJt1uoUx09pFW6011inTMxqI8BA8PM95myrIyyKwdnzjdFjLiE6KBPVtJIg==",
- "dev": true,
- "requires": {
- "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",
- "safer-buffer": "^2.0.2",
- "tweetnacl": "~0.14.0"
- }
- },
- "statuses": {
- "version": "1.5.0",
- "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz",
- "integrity": "sha1-Fhx9rBd2Wf2YEfQ3cfqZOBR4Yow=",
- "dev": true
- },
- "streamroller": {
- "version": "2.2.4",
- "resolved": "https://registry.npmjs.org/streamroller/-/streamroller-2.2.4.tgz",
- "integrity": "sha512-OG79qm3AujAM9ImoqgWEY1xG4HX+Lw+yY6qZj9R1K2mhF5bEmQ849wvrb+4vt4jLMLzwXttJlQbOdPOQVRv7DQ==",
- "dev": true,
- "requires": {
- "date-format": "^2.1.0",
- "debug": "^4.1.1",
- "fs-extra": "^8.1.0"
- },
- "dependencies": {
- "date-format": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/date-format/-/date-format-2.1.0.tgz",
- "integrity": "sha512-bYQuGLeFxhkxNOF3rcMtiZxvCBAquGzZm6oWA1oZ0g2THUzivaRhv8uOhdr19LmoobSOLoIAxeUK2RdbM8IFTA==",
- "dev": true
- },
- "debug": {
- "version": "4.3.1",
- "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.1.tgz",
- "integrity": "sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ==",
- "dev": true,
- "requires": {
- "ms": "2.1.2"
- }
- },
- "fs-extra": {
- "version": "8.1.0",
- "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-8.1.0.tgz",
- "integrity": "sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==",
- "dev": true,
- "requires": {
- "graceful-fs": "^4.2.0",
- "jsonfile": "^4.0.0",
- "universalify": "^0.1.0"
- }
- },
- "jsonfile": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz",
- "integrity": "sha1-h3Gq4HmbZAdrdmQPygWPnBDjPss=",
- "dev": true,
- "requires": {
- "graceful-fs": "^4.1.6"
- }
- },
- "ms": {
- "version": "2.1.2",
- "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
- "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==",
- "dev": true
- }
- }
- },
- "string_decoder": {
- "version": "1.1.1",
- "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz",
- "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==",
- "dev": true,
- "requires": {
- "safe-buffer": "~5.1.0"
- }
- },
- "string-width": {
- "version": "4.2.0",
- "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.0.tgz",
- "integrity": "sha512-zUz5JD+tgqtuDjMhwIg5uFVV3dtqZ9yQJlZVfq4I01/K5Paj5UHj7VyrQOJvzawSVlKpObApbfD0Ed6yJc+1eg==",
- "dev": true,
- "requires": {
- "emoji-regex": "^8.0.0",
- "is-fullwidth-code-point": "^3.0.0",
- "strip-ansi": "^6.0.0"
- }
- },
- "strip-ansi": {
- "version": "6.0.0",
- "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz",
- "integrity": "sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==",
- "dev": true,
- "requires": {
- "ansi-regex": "^5.0.0"
- }
- },
- "throttleit": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/throttleit/-/throttleit-1.0.0.tgz",
- "integrity": "sha1-nnhYNtr0Z0MUWlmEtiaNgoUorGw=",
- "dev": true
- },
- "tmp": {
- "version": "0.2.1",
- "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.2.1.tgz",
- "integrity": "sha512-76SUhtfqR2Ijn+xllcI5P1oyannHNHByD80W1q447gU3mp9G9PSpGdWmjUOHRDPiHYacIk66W7ubDTuPF3BEtQ==",
- "dev": true,
- "requires": {
- "rimraf": "^3.0.0"
- }
- },
- "to-regex-range": {
- "version": "5.0.1",
- "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz",
- "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==",
- "dev": true,
- "requires": {
- "is-number": "^7.0.0"
- }
- },
- "toidentifier": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.0.tgz",
- "integrity": "sha512-yaOH/Pk/VEhBWWTlhI+qXxDFXlejDGcQipMlyxda9nthulaxLZUNcUqFxokp0vcYnvteJln5FNQDRrxj3YcbVw==",
- "dev": true
- },
- "tough-cookie": {
- "version": "2.5.0",
- "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.5.0.tgz",
- "integrity": "sha512-nlLsUzgm1kfLXSXfRZMc1KLAugd4hqJHDTvc2hDIwS3mZAfMEuMbc03SujMF+GEcpaX/qboeycw6iO8JwVv2+g==",
- "dev": true,
- "requires": {
- "psl": "^1.1.28",
- "punycode": "^2.1.1"
- }
- },
- "tunnel-agent": {
- "version": "0.6.0",
- "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz",
- "integrity": "sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0=",
- "dev": true,
- "requires": {
- "safe-buffer": "^5.0.1"
- }
- },
- "tweetnacl": {
- "version": "0.14.5",
- "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz",
- "integrity": "sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q=",
- "dev": true
- },
- "type-is": {
- "version": "1.6.18",
- "resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.18.tgz",
- "integrity": "sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==",
- "dev": true,
- "requires": {
- "media-typer": "0.3.0",
- "mime-types": "~2.1.24"
- }
- },
- "typedarray": {
- "version": "0.0.6",
- "resolved": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz",
- "integrity": "sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c=",
- "dev": true
- },
- "ua-parser-js": {
- "version": "0.7.23",
- "resolved": "https://registry.npmjs.org/ua-parser-js/-/ua-parser-js-0.7.23.tgz",
- "integrity": "sha512-m4hvMLxgGHXG3O3fQVAyyAQpZzDOvwnhOTjYz5Xmr7r/+LpkNy3vJXdVRWgd1TkAb7NGROZuSy96CrlNVjA7KA==",
- "dev": true
- },
- "universalify": {
- "version": "0.1.2",
- "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz",
- "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==",
- "dev": true
- },
- "unpipe": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz",
- "integrity": "sha1-sr9O6FFKrmFltIF4KdIbLvSZBOw=",
- "dev": true
- },
- "uri-js": {
- "version": "4.4.1",
- "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz",
- "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==",
- "dev": true,
- "requires": {
- "punycode": "^2.1.0"
- }
- },
- "util-deprecate": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz",
- "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=",
- "dev": true
- },
- "utils-merge": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz",
- "integrity": "sha1-n5VxD1CiZ5R7LMwSR0HBAoQn5xM=",
- "dev": true
- },
- "uuid": {
- "version": "3.4.0",
- "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.4.0.tgz",
- "integrity": "sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==",
- "dev": true
- },
- "vary": {
- "version": "1.1.2",
- "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz",
- "integrity": "sha1-IpnwLG3tMNSllhsLn3RSShj2NPw=",
- "dev": true
- },
- "verror": {
- "version": "1.10.0",
- "resolved": "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz",
- "integrity": "sha1-OhBcoXBTr1XW4nDB+CiGguGNpAA=",
- "dev": true,
- "requires": {
- "assert-plus": "^1.0.0",
- "core-util-is": "1.0.2",
- "extsprintf": "^1.2.0"
- }
- },
- "void-elements": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/void-elements/-/void-elements-2.0.1.tgz",
- "integrity": "sha1-wGavtYK7HLQSjWDqkjkulNXp2+w=",
- "dev": true
- },
- "which": {
- "version": "1.3.1",
- "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz",
- "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==",
- "dev": true,
- "requires": {
- "isexe": "^2.0.0"
- }
- },
- "wrap-ansi": {
- "version": "7.0.0",
- "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz",
- "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==",
- "dev": true,
- "requires": {
- "ansi-styles": "^4.0.0",
- "string-width": "^4.1.0",
- "strip-ansi": "^6.0.0"
- }
- },
- "wrappy": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz",
- "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=",
- "dev": true
- },
- "ws": {
- "version": "7.4.3",
- "resolved": "https://registry.npmjs.org/ws/-/ws-7.4.3.tgz",
- "integrity": "sha512-hr6vCR76GsossIRsr8OLR9acVVm1jyfEWvhbNjtgPOrfvAlKzvyeg/P6r8RuDjRyrcQoPQT7K0DGEPc7Ae6jzA==",
- "dev": true,
- "requires": {}
- },
- "y18n": {
- "version": "5.0.5",
- "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.5.tgz",
- "integrity": "sha512-hsRUr4FFrvhhRH12wOdfs38Gy7k2FFzB9qgN9v3aLykRq0dRcdcpz5C9FxdS2NuhOrI/628b/KSTJ3rwHysYSg==",
- "dev": true
- },
- "yargs": {
- "version": "16.2.0",
- "resolved": "https://registry.npmjs.org/yargs/-/yargs-16.2.0.tgz",
- "integrity": "sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==",
- "dev": true,
- "requires": {
- "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"
- }
- },
- "yargs-parser": {
- "version": "20.2.4",
- "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.4.tgz",
- "integrity": "sha512-WOkpgNhPTlE73h4VFAFsOnomJVaovO8VqLDzy5saChRBFQFBoMYirowyW+Q9HB4HFF4Z7VZTiG3iSzJJA29yRA==",
- "dev": true
- },
- "yauzl": {
- "version": "2.10.0",
- "resolved": "https://registry.npmjs.org/yauzl/-/yauzl-2.10.0.tgz",
- "integrity": "sha1-x+sXyT4RLLEIb6bY5R+wZnt5pfk=",
- "dev": true,
- "requires": {
- "buffer-crc32": "~0.2.3",
- "fd-slicer": "~1.1.0"
- }
- }
- }
-}
diff --git a/package.json b/package.json
index 874b2009..f7866fe8 100644
--- a/package.json
+++ b/package.json
@@ -1,6 +1,6 @@
{
"name": "bootstrap-multiselect",
- "version": "1.0.0",
+ "version": "1.1.1",
"description": "JQuery multiselect plugin based on Twitter Bootstrap.",
"main": "dist/js/bootstrap-multiselect.js",
"directories": {
@@ -20,24 +20,13 @@
"multiselect"
],
"author": "David Stutz",
- "license": "Apache License, Version 2.0",
+ "license": "Apache License, Version 2.0 OR BSD 3-Clause License",
"bugs": {
"url": "https://github.com/davidstutz/bootstrap-multiselect/issues"
},
"homepage": "http://davidstutz.github.io/bootstrap-multiselect/",
- "scripts": {
- "test": "karma start tests/karma.conf.js --single-run"
- },
"dependencies": {
- "jquery": ">= 2.2.4"
- },
- "devDependencies": {
- "jasmine-core": "^2.7.0",
- "karma": "*",
- "karma-chrome-launcher": "^2.2.0",
- "karma-cli": "*",
- "karma-jasmine": "^1.1.0",
- "karma-phantomjs-launcher": "*"
- },
- "types": "./types/index.d.ts"
+ "jquery": ">= 2.2.4",
+ "bootstrap": "~4.5.x"
+ }
}
diff --git a/yarn.lock b/yarn.lock
deleted file mode 100644
index f40336e8..00000000
--- a/yarn.lock
+++ /dev/null
@@ -1,1405 +0,0 @@
-# THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY.
-# yarn lockfile v1
-
-
-"@types/component-emitter@^1.2.10":
- "integrity" "sha512-bsjleuRKWmGqajMerkzox19aGbscQX5rmmvvXl3wlIp5gMG1HgkiwPxsN5p070fBDKTNSPgojVbuY1+HWMbFhg=="
- "resolved" "https://registry.npmjs.org/@types/component-emitter/-/component-emitter-1.2.10.tgz"
- "version" "1.2.10"
-
-"@types/cookie@^0.4.0":
- "integrity" "sha512-y7mImlc/rNkvCRmg8gC3/lj87S7pTUIJ6QGjwHR9WQJcFs+ZMTOaoPrkdFA/YdbuqVEmEbb5RdhVxMkAcgOnpg=="
- "resolved" "https://registry.npmjs.org/@types/cookie/-/cookie-0.4.0.tgz"
- "version" "0.4.0"
-
-"@types/cors@^2.8.8":
- "integrity" "sha512-zurD1ibz21BRlAOIKP8yhrxlqKx6L9VCwkB5kMiP6nZAhoF5MvC7qS1qPA7nRcr1GJolfkQC7/EAL4hdYejLtg=="
- "resolved" "https://registry.npmjs.org/@types/cors/-/cors-2.8.9.tgz"
- "version" "2.8.9"
-
-"@types/node@^14.14.10":
- "integrity" "sha512-pkKXgf96TELUhrc8C01J0e+If5qb0WqF+WF09FbCINywIk+iUEQgMlA8IxgdZ79qQ88Bljw+9NcqwvWGXknWDw=="
- "resolved" "https://registry.npmjs.org/@types/node/-/node-14.14.23.tgz"
- "version" "14.14.23"
-
-"accepts@~1.3.4":
- "integrity" "sha512-Il80Qs2WjYlJIBNzNkK6KYqlVMTbZLXgHx2oT0pU/fjRHyEp+PEfEPY0R3WCwAGVOtauxh1hOxNgIf5bv7dQpA=="
- "resolved" "https://registry.npmjs.org/accepts/-/accepts-1.3.7.tgz"
- "version" "1.3.7"
- dependencies:
- "mime-types" "~2.1.24"
- "negotiator" "0.6.2"
-
-"ajv@^6.12.3":
- "integrity" "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g=="
- "resolved" "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz"
- "version" "6.12.6"
- dependencies:
- "fast-deep-equal" "^3.1.1"
- "fast-json-stable-stringify" "^2.0.0"
- "json-schema-traverse" "^0.4.1"
- "uri-js" "^4.2.2"
-
-"ansi-regex@^5.0.0":
- "integrity" "sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg=="
- "resolved" "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz"
- "version" "5.0.0"
-
-"ansi-styles@^4.0.0":
- "integrity" "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg=="
- "resolved" "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz"
- "version" "4.3.0"
- dependencies:
- "color-convert" "^2.0.1"
-
-"anymatch@~3.1.1":
- "integrity" "sha512-mM8522psRCqzV+6LhomX5wgp25YVibjh8Wj23I5RPkPppSVSjyKD2A2mBJmWGa+KN7f2D6LNh9jkBCeyLktzjg=="
- "resolved" "https://registry.npmjs.org/anymatch/-/anymatch-3.1.1.tgz"
- "version" "3.1.1"
- dependencies:
- "normalize-path" "^3.0.0"
- "picomatch" "^2.0.4"
-
-"asn1@~0.2.3":
- "integrity" "sha512-jxwzQpLQjSmWXgwaCZE9Nz+glAG01yF1QnWgbhGwHI5A6FRIEY6IVqtHhIepHqI7/kyEyQEagBC5mBEFlIYvdg=="
- "resolved" "https://registry.npmjs.org/asn1/-/asn1-0.2.4.tgz"
- "version" "0.2.4"
- dependencies:
- "safer-buffer" "~2.1.0"
-
-"assert-plus@^1.0.0", "assert-plus@1.0.0":
- "integrity" "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU="
- "resolved" "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz"
- "version" "1.0.0"
-
-"asynckit@^0.4.0":
- "integrity" "sha1-x57Zf380y48robyXkLzDZkdLS3k="
- "resolved" "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz"
- "version" "0.4.0"
-
-"aws-sign2@~0.7.0":
- "integrity" "sha1-tG6JCTSpWR8tL2+G1+ap8bP+dqg="
- "resolved" "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.7.0.tgz"
- "version" "0.7.0"
-
-"aws4@^1.8.0":
- "integrity" "sha512-xh1Rl34h6Fi1DC2WWKfxUTVqRsNnr6LsKz2+hfwDxQJWmrx8+c7ylaqBMcHfl1U1r2dsifOvKX3LQuLNZ+XSvA=="
- "resolved" "https://registry.npmjs.org/aws4/-/aws4-1.11.0.tgz"
- "version" "1.11.0"
-
-"balanced-match@^1.0.0":
- "integrity" "sha1-ibTRmasr7kneFk6gK4nORi1xt2c="
- "resolved" "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz"
- "version" "1.0.0"
-
-"base64-arraybuffer@0.1.4":
- "integrity" "sha1-mBjHngWbE1X5fgQooBfIOOkLqBI="
- "resolved" "https://registry.npmjs.org/base64-arraybuffer/-/base64-arraybuffer-0.1.4.tgz"
- "version" "0.1.4"
-
-"base64id@~2.0.0", "base64id@2.0.0":
- "integrity" "sha512-lGe34o6EHj9y3Kts9R4ZYs/Gr+6N7MCaMlIFA3F1R2O5/m7K06AxfSeO5530PEERE6/WyEg3lsuyw4GHlPZHog=="
- "resolved" "https://registry.npmjs.org/base64id/-/base64id-2.0.0.tgz"
- "version" "2.0.0"
-
-"bcrypt-pbkdf@^1.0.0":
- "integrity" "sha1-pDAdOJtqQ/m2f/PKEaP2Y342Dp4="
- "resolved" "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz"
- "version" "1.0.2"
- dependencies:
- "tweetnacl" "^0.14.3"
-
-"binary-extensions@^2.0.0":
- "integrity" "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA=="
- "resolved" "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz"
- "version" "2.2.0"
-
-"body-parser@^1.19.0":
- "integrity" "sha512-dhEPs72UPbDnAQJ9ZKMNTP6ptJaionhP5cBb541nXPlW60Jepo9RV/a4fX4XWW9CuFNK22krhrj1+rgzifNCsw=="
- "resolved" "https://registry.npmjs.org/body-parser/-/body-parser-1.19.0.tgz"
- "version" "1.19.0"
- dependencies:
- "bytes" "3.1.0"
- "content-type" "~1.0.4"
- "debug" "2.6.9"
- "depd" "~1.1.2"
- "http-errors" "1.7.2"
- "iconv-lite" "0.4.24"
- "on-finished" "~2.3.0"
- "qs" "6.7.0"
- "raw-body" "2.4.0"
- "type-is" "~1.6.17"
-
-"brace-expansion@^1.1.7":
- "integrity" "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA=="
- "resolved" "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz"
- "version" "1.1.11"
- dependencies:
- "balanced-match" "^1.0.0"
- "concat-map" "0.0.1"
-
-"braces@^3.0.2", "braces@~3.0.2":
- "integrity" "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A=="
- "resolved" "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz"
- "version" "3.0.2"
- dependencies:
- "fill-range" "^7.0.1"
-
-"buffer-crc32@~0.2.3":
- "integrity" "sha1-DTM+PwDqxQqhRUq9MO+MKl2ackI="
- "resolved" "https://registry.npmjs.org/buffer-crc32/-/buffer-crc32-0.2.13.tgz"
- "version" "0.2.13"
-
-"buffer-from@^1.0.0":
- "integrity" "sha512-MQcXEUbCKtEo7bhqEs6560Hyd4XaovZlO/k9V3hjVUF/zwW7KBVdSK4gIt/bzwS9MbR5qob+F5jusZsb0YQK2A=="
- "resolved" "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.1.tgz"
- "version" "1.1.1"
-
-"bytes@3.1.0":
- "integrity" "sha512-zauLjrfCG+xvoyaqLoV8bLVXXNGC4JqlxFCutSDWA6fJrTo2ZuvLYTqZ7aHBLZSMOopbzwv8f+wZcVzfVTI2Dg=="
- "resolved" "https://registry.npmjs.org/bytes/-/bytes-3.1.0.tgz"
- "version" "3.1.0"
-
-"caseless@~0.12.0":
- "integrity" "sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw="
- "resolved" "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz"
- "version" "0.12.0"
-
-"chokidar@^3.4.2":
- "integrity" "sha512-9+s+Od+W0VJJzawDma/gvBNQqkTiqYTWLuZoyAsivsI4AaWTCzHG06/TMjsf1cYe9Cb97UCEhjz7HvnPk2p/tw=="
- "resolved" "https://registry.npmjs.org/chokidar/-/chokidar-3.5.1.tgz"
- "version" "3.5.1"
- dependencies:
- "anymatch" "~3.1.1"
- "braces" "~3.0.2"
- "fsevents" "~2.3.1"
- "glob-parent" "~5.1.0"
- "is-binary-path" "~2.1.0"
- "is-glob" "~4.0.1"
- "normalize-path" "~3.0.0"
- "readdirp" "~3.5.0"
- optionalDependencies:
- "fsevents" "~2.3.1"
-
-"cliui@^7.0.2":
- "integrity" "sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ=="
- "resolved" "https://registry.npmjs.org/cliui/-/cliui-7.0.4.tgz"
- "version" "7.0.4"
- dependencies:
- "string-width" "^4.2.0"
- "strip-ansi" "^6.0.0"
- "wrap-ansi" "^7.0.0"
-
-"color-convert@^2.0.1":
- "integrity" "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ=="
- "resolved" "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz"
- "version" "2.0.1"
- dependencies:
- "color-name" "~1.1.4"
-
-"color-name@~1.1.4":
- "integrity" "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA=="
- "resolved" "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz"
- "version" "1.1.4"
-
-"colors@^1.4.0":
- "integrity" "sha512-a+UqTh4kgZg/SlGvfbzDHpgRu7AAQOmmqRHJnxhRZICKFUT91brVhNNt58CMWU9PsBbv3PDCZUHbVxuDiH2mtA=="
- "resolved" "https://registry.npmjs.org/colors/-/colors-1.4.0.tgz"
- "version" "1.4.0"
-
-"combined-stream@^1.0.6", "combined-stream@~1.0.6":
- "integrity" "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg=="
- "resolved" "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz"
- "version" "1.0.8"
- dependencies:
- "delayed-stream" "~1.0.0"
-
-"component-emitter@~1.3.0":
- "integrity" "sha512-Rd3se6QB+sO1TwqZjscQrurpEPIfO0/yYnSin6Q/rD3mOutHvUrCAhJub3r90uNb+SESBuE0QYoB90YdfatsRg=="
- "resolved" "https://registry.npmjs.org/component-emitter/-/component-emitter-1.3.0.tgz"
- "version" "1.3.0"
-
-"concat-map@0.0.1":
- "integrity" "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s="
- "resolved" "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz"
- "version" "0.0.1"
-
-"concat-stream@^1.6.2":
- "integrity" "sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw=="
- "resolved" "https://registry.npmjs.org/concat-stream/-/concat-stream-1.6.2.tgz"
- "version" "1.6.2"
- dependencies:
- "buffer-from" "^1.0.0"
- "inherits" "^2.0.3"
- "readable-stream" "^2.2.2"
- "typedarray" "^0.0.6"
-
-"connect@^3.7.0":
- "integrity" "sha512-ZqRXc+tZukToSNmh5C2iWMSoV3X1YUcPbqEM4DkEG5tNQXrQUZCNVGGv3IuicnkMtPfGf3Xtp8WCXs295iQ1pQ=="
- "resolved" "https://registry.npmjs.org/connect/-/connect-3.7.0.tgz"
- "version" "3.7.0"
- dependencies:
- "debug" "2.6.9"
- "finalhandler" "1.1.2"
- "parseurl" "~1.3.3"
- "utils-merge" "1.0.1"
-
-"content-type@~1.0.4":
- "integrity" "sha512-hIP3EEPs8tB9AT1L+NUqtwOAps4mk2Zob89MWXMHjHWg9milF/j4osnnQLXBCBFBk/tvIG/tUc9mOUJiPBhPXA=="
- "resolved" "https://registry.npmjs.org/content-type/-/content-type-1.0.4.tgz"
- "version" "1.0.4"
-
-"cookie@~0.4.1":
- "integrity" "sha512-ZwrFkGJxUR3EIoXtO+yVE69Eb7KlixbaeAWfBQB9vVsNn/o+Yw69gBWSSDK825hQNdN+wF8zELf3dFNl/kxkUA=="
- "resolved" "https://registry.npmjs.org/cookie/-/cookie-0.4.1.tgz"
- "version" "0.4.1"
-
-"core-util-is@~1.0.0", "core-util-is@1.0.2":
- "integrity" "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac="
- "resolved" "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz"
- "version" "1.0.2"
-
-"cors@~2.8.5":
- "integrity" "sha512-KIHbLJqu73RGr/hnbrO9uBeixNGuvSQjul/jdFvS/KFSIH1hWVd1ng7zOHx+YrEfInLG7q4n6GHQ9cDtxv/P6g=="
- "resolved" "https://registry.npmjs.org/cors/-/cors-2.8.5.tgz"
- "version" "2.8.5"
- dependencies:
- "object-assign" "^4"
- "vary" "^1"
-
-"custom-event@~1.0.0":
- "integrity" "sha1-XQKkaFCt8bSjF5RqOSj8y1v9BCU="
- "resolved" "https://registry.npmjs.org/custom-event/-/custom-event-1.0.1.tgz"
- "version" "1.0.1"
-
-"dashdash@^1.12.0":
- "integrity" "sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA="
- "resolved" "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz"
- "version" "1.14.1"
- dependencies:
- "assert-plus" "^1.0.0"
-
-"date-format@^2.1.0":
- "integrity" "sha512-bYQuGLeFxhkxNOF3rcMtiZxvCBAquGzZm6oWA1oZ0g2THUzivaRhv8uOhdr19LmoobSOLoIAxeUK2RdbM8IFTA=="
- "resolved" "https://registry.npmjs.org/date-format/-/date-format-2.1.0.tgz"
- "version" "2.1.0"
-
-"date-format@^3.0.0":
- "integrity" "sha512-eyTcpKOcamdhWJXj56DpQMo1ylSQpcGtGKXcU0Tb97+K56/CF5amAqqqNj0+KvA0iw2ynxtHWFsPDSClCxe48w=="
- "resolved" "https://registry.npmjs.org/date-format/-/date-format-3.0.0.tgz"
- "version" "3.0.0"
-
-"debug@^2.6.9", "debug@2.6.9":
- "integrity" "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA=="
- "resolved" "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz"
- "version" "2.6.9"
- dependencies:
- "ms" "2.0.0"
-
-"debug@^4.1.1":
- "integrity" "sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ=="
- "resolved" "https://registry.npmjs.org/debug/-/debug-4.3.1.tgz"
- "version" "4.3.1"
- dependencies:
- "ms" "2.1.2"
-
-"debug@~4.3.1":
- "integrity" "sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ=="
- "resolved" "https://registry.npmjs.org/debug/-/debug-4.3.1.tgz"
- "version" "4.3.1"
- dependencies:
- "ms" "2.1.2"
-
-"delayed-stream@~1.0.0":
- "integrity" "sha1-3zrhmayt+31ECqrgsp4icrJOxhk="
- "resolved" "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz"
- "version" "1.0.0"
-
-"depd@~1.1.2":
- "integrity" "sha1-m81S4UwJd2PnSbJ0xDRu0uVgtak="
- "resolved" "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz"
- "version" "1.1.2"
-
-"di@^0.0.1":
- "integrity" "sha1-gGZJMmzqp8qjMG112YXqJ0i6kTw="
- "resolved" "https://registry.npmjs.org/di/-/di-0.0.1.tgz"
- "version" "0.0.1"
-
-"dom-serialize@^2.2.1":
- "integrity" "sha1-ViromZ9Evl6jB29UGdzVnrQ6yVs="
- "resolved" "https://registry.npmjs.org/dom-serialize/-/dom-serialize-2.2.1.tgz"
- "version" "2.2.1"
- dependencies:
- "custom-event" "~1.0.0"
- "ent" "~2.2.0"
- "extend" "^3.0.0"
- "void-elements" "^2.0.0"
-
-"ecc-jsbn@~0.1.1":
- "integrity" "sha1-OoOpBOVDUyh4dMVkt1SThoSamMk="
- "resolved" "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz"
- "version" "0.1.2"
- dependencies:
- "jsbn" "~0.1.0"
- "safer-buffer" "^2.1.0"
-
-"ee-first@1.1.1":
- "integrity" "sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0="
- "resolved" "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz"
- "version" "1.1.1"
-
-"emoji-regex@^8.0.0":
- "integrity" "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A=="
- "resolved" "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz"
- "version" "8.0.0"
-
-"encodeurl@~1.0.2":
- "integrity" "sha1-rT/0yG7C0CkyL1oCw6mmBslbP1k="
- "resolved" "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz"
- "version" "1.0.2"
-
-"engine.io-parser@~4.0.0":
- "integrity" "sha512-sHfEQv6nmtJrq6TKuIz5kyEKH/qSdK56H/A+7DnAuUPWosnIZAS2NHNcPLmyjtY3cGS/MqJdZbUjW97JU72iYg=="
- "resolved" "https://registry.npmjs.org/engine.io-parser/-/engine.io-parser-4.0.2.tgz"
- "version" "4.0.2"
- dependencies:
- "base64-arraybuffer" "0.1.4"
-
-"engine.io@~4.1.0":
- "integrity" "sha512-t2E9wLlssQjGw0nluF6aYyfX8LwYU8Jj0xct+pAhfWfv/YrBn6TSNtEYsgxHIfaMqfrLx07czcMg9bMN6di+3w=="
- "resolved" "https://registry.npmjs.org/engine.io/-/engine.io-4.1.1.tgz"
- "version" "4.1.1"
- dependencies:
- "accepts" "~1.3.4"
- "base64id" "2.0.0"
- "cookie" "~0.4.1"
- "cors" "~2.8.5"
- "debug" "~4.3.1"
- "engine.io-parser" "~4.0.0"
- "ws" "~7.4.2"
-
-"ent@~2.2.0":
- "integrity" "sha1-6WQhkyWiHQX0RGai9obtbOX13R0="
- "resolved" "https://registry.npmjs.org/ent/-/ent-2.2.0.tgz"
- "version" "2.2.0"
-
-"es6-promise@^4.0.3":
- "integrity" "sha512-HJDGx5daxeIvxdBxvG2cb9g4tEvwIk3i8+nhX0yGrYmZUzbkdg8QbDevheDB8gd0//uPj4c1EQua8Q+MViT0/w=="
- "resolved" "https://registry.npmjs.org/es6-promise/-/es6-promise-4.2.8.tgz"
- "version" "4.2.8"
-
-"escalade@^3.1.1":
- "integrity" "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw=="
- "resolved" "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz"
- "version" "3.1.1"
-
-"escape-html@~1.0.3":
- "integrity" "sha1-Aljq5NPQwJdN4cFpGI7wBR0dGYg="
- "resolved" "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz"
- "version" "1.0.3"
-
-"eventemitter3@^4.0.0":
- "integrity" "sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw=="
- "resolved" "https://registry.npmjs.org/eventemitter3/-/eventemitter3-4.0.7.tgz"
- "version" "4.0.7"
-
-"extend@^3.0.0", "extend@~3.0.2":
- "integrity" "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g=="
- "resolved" "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz"
- "version" "3.0.2"
-
-"extract-zip@^1.6.5":
- "integrity" "sha512-xoh5G1W/PB0/27lXgMQyIhP5DSY/LhoCsOyZgb+6iMmRtCwVBo55uKaMoEYrDCKQhWvqEip5ZPKAc6eFNyf/MA=="
- "resolved" "https://registry.npmjs.org/extract-zip/-/extract-zip-1.7.0.tgz"
- "version" "1.7.0"
- dependencies:
- "concat-stream" "^1.6.2"
- "debug" "^2.6.9"
- "mkdirp" "^0.5.4"
- "yauzl" "^2.10.0"
-
-"extsprintf@^1.2.0", "extsprintf@1.3.0":
- "integrity" "sha1-lpGEQOMEGnpBT4xS48V06zw+HgU="
- "resolved" "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz"
- "version" "1.3.0"
-
-"fast-deep-equal@^3.1.1":
- "integrity" "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q=="
- "resolved" "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz"
- "version" "3.1.3"
-
-"fast-json-stable-stringify@^2.0.0":
- "integrity" "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw=="
- "resolved" "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz"
- "version" "2.1.0"
-
-"fd-slicer@~1.1.0":
- "integrity" "sha1-JcfInLH5B3+IkbvmHY85Dq4lbx4="
- "resolved" "https://registry.npmjs.org/fd-slicer/-/fd-slicer-1.1.0.tgz"
- "version" "1.1.0"
- dependencies:
- "pend" "~1.2.0"
-
-"fill-range@^7.0.1":
- "integrity" "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ=="
- "resolved" "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz"
- "version" "7.0.1"
- dependencies:
- "to-regex-range" "^5.0.1"
-
-"finalhandler@1.1.2":
- "integrity" "sha512-aAWcW57uxVNrQZqFXjITpW3sIUQmHGG3qSb9mUah9MgMC4NeWhNOlNjXEYq3HjRAvL6arUviZGGJsBg6z0zsWA=="
- "resolved" "https://registry.npmjs.org/finalhandler/-/finalhandler-1.1.2.tgz"
- "version" "1.1.2"
- dependencies:
- "debug" "2.6.9"
- "encodeurl" "~1.0.2"
- "escape-html" "~1.0.3"
- "on-finished" "~2.3.0"
- "parseurl" "~1.3.3"
- "statuses" "~1.5.0"
- "unpipe" "~1.0.0"
-
-"flatted@^2.0.1":
- "integrity" "sha512-r5wGx7YeOwNWNlCA0wQ86zKyDLMQr+/RB8xy74M4hTphfmjlijTSSXGuH8rnvKZnfT9i+75zmd8jcKdMR4O6jA=="
- "resolved" "https://registry.npmjs.org/flatted/-/flatted-2.0.2.tgz"
- "version" "2.0.2"
-
-"follow-redirects@^1.0.0":
- "integrity" "sha512-6mPTgLxYm3r6Bkkg0vNM0HTjfGrOEtsfbhagQvbxDEsEkpNhw582upBaoRZylzen6krEmxXJgt9Ju6HiI4O7BA=="
- "resolved" "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.13.2.tgz"
- "version" "1.13.2"
-
-"forever-agent@~0.6.1":
- "integrity" "sha1-+8cfDEGt6zf5bFd60e1C2P2sypE="
- "resolved" "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz"
- "version" "0.6.1"
-
-"form-data@~2.3.2":
- "integrity" "sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ=="
- "resolved" "https://registry.npmjs.org/form-data/-/form-data-2.3.3.tgz"
- "version" "2.3.3"
- dependencies:
- "asynckit" "^0.4.0"
- "combined-stream" "^1.0.6"
- "mime-types" "^2.1.12"
-
-"fs-access@^1.0.0":
- "integrity" "sha1-1qh/JiJxzv6+wwxVNAf7mV2od3o="
- "resolved" "https://registry.npmjs.org/fs-access/-/fs-access-1.0.1.tgz"
- "version" "1.0.1"
- dependencies:
- "null-check" "^1.0.0"
-
-"fs-extra@^1.0.0":
- "integrity" "sha1-zTzl9+fLYUWIP8rjGR6Yd/hYeVA="
- "resolved" "https://registry.npmjs.org/fs-extra/-/fs-extra-1.0.0.tgz"
- "version" "1.0.0"
- dependencies:
- "graceful-fs" "^4.1.2"
- "jsonfile" "^2.1.0"
- "klaw" "^1.0.0"
-
-"fs-extra@^8.1.0":
- "integrity" "sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g=="
- "resolved" "https://registry.npmjs.org/fs-extra/-/fs-extra-8.1.0.tgz"
- "version" "8.1.0"
- dependencies:
- "graceful-fs" "^4.2.0"
- "jsonfile" "^4.0.0"
- "universalify" "^0.1.0"
-
-"fs.realpath@^1.0.0":
- "integrity" "sha1-FQStJSMVjKpA20onh8sBQRmU6k8="
- "resolved" "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz"
- "version" "1.0.0"
-
-"fsevents@~2.3.1":
- "integrity" "sha512-YR47Eg4hChJGAB1O3yEAOkGO+rlzutoICGqGo9EZ4lKWokzZRSyIW1QmTzqjtw8MJdj9srP869CuWw/hyzSiBw=="
- "resolved" "https://registry.npmjs.org/fsevents/-/fsevents-2.3.1.tgz"
- "version" "2.3.1"
-
-"function-bind@^1.1.1":
- "integrity" "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A=="
- "resolved" "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz"
- "version" "1.1.1"
-
-"get-caller-file@^2.0.5":
- "integrity" "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg=="
- "resolved" "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz"
- "version" "2.0.5"
-
-"getpass@^0.1.1":
- "integrity" "sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo="
- "resolved" "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz"
- "version" "0.1.7"
- dependencies:
- "assert-plus" "^1.0.0"
-
-"glob-parent@~5.1.0":
- "integrity" "sha512-FnI+VGOpnlGHWZxthPGR+QhR78fuiK0sNLkHQv+bL9fQi57lNNdquIbna/WrfROrolq8GK5Ek6BiMwqL/voRYQ=="
- "resolved" "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.1.tgz"
- "version" "5.1.1"
- dependencies:
- "is-glob" "^4.0.1"
-
-"glob@^7.1.3", "glob@^7.1.6":
- "integrity" "sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA=="
- "resolved" "https://registry.npmjs.org/glob/-/glob-7.1.6.tgz"
- "version" "7.1.6"
- 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"
-
-"graceful-fs@^4.1.2", "graceful-fs@^4.1.6", "graceful-fs@^4.1.9", "graceful-fs@^4.2.0", "graceful-fs@^4.2.4":
- "integrity" "sha512-WjKPNJF79dtJAVniUlGGWHYGz2jWxT6VhN/4m1NdkbZ2nOsEF+cI1Edgql5zCRhs/VsQYRvrXctxktVXZUkixw=="
- "resolved" "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.4.tgz"
- "version" "4.2.4"
-
-"har-schema@^2.0.0":
- "integrity" "sha1-qUwiJOvKwEeCoNkDVSHyRzW37JI="
- "resolved" "https://registry.npmjs.org/har-schema/-/har-schema-2.0.0.tgz"
- "version" "2.0.0"
-
-"har-validator@~5.1.3":
- "integrity" "sha512-nmT2T0lljbxdQZfspsno9hgrG3Uir6Ks5afism62poxqBM6sDnMEuPmzTq8XN0OEwqKLLdh1jQI3qyE66Nzb3w=="
- "resolved" "https://registry.npmjs.org/har-validator/-/har-validator-5.1.5.tgz"
- "version" "5.1.5"
- dependencies:
- "ajv" "^6.12.3"
- "har-schema" "^2.0.0"
-
-"has@^1.0.3":
- "integrity" "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw=="
- "resolved" "https://registry.npmjs.org/has/-/has-1.0.3.tgz"
- "version" "1.0.3"
- dependencies:
- "function-bind" "^1.1.1"
-
-"hasha@^2.2.0":
- "integrity" "sha1-eNfL/B5tZjA/55g3NlmEUXsvbuE="
- "resolved" "https://registry.npmjs.org/hasha/-/hasha-2.2.0.tgz"
- "version" "2.2.0"
- dependencies:
- "is-stream" "^1.0.1"
- "pinkie-promise" "^2.0.0"
-
-"http-errors@1.7.2":
- "integrity" "sha512-uUQBt3H/cSIVfch6i1EuPNy/YsRSOUBXTVfZ+yR7Zjez3qjBz6i9+i4zjNaoqcoFVI4lQJ5plg63TvGfRSDCRg=="
- "resolved" "https://registry.npmjs.org/http-errors/-/http-errors-1.7.2.tgz"
- "version" "1.7.2"
- dependencies:
- "depd" "~1.1.2"
- "inherits" "2.0.3"
- "setprototypeof" "1.1.1"
- "statuses" ">= 1.5.0 < 2"
- "toidentifier" "1.0.0"
-
-"http-proxy@^1.18.1":
- "integrity" "sha512-7mz/721AbnJwIVbnaSv1Cz3Am0ZLT/UBwkC92VlxhXv/k/BBQfM2fXElQNC27BVGr0uwUpplYPQM9LnaBMR5NQ=="
- "resolved" "https://registry.npmjs.org/http-proxy/-/http-proxy-1.18.1.tgz"
- "version" "1.18.1"
- dependencies:
- "eventemitter3" "^4.0.0"
- "follow-redirects" "^1.0.0"
- "requires-port" "^1.0.0"
-
-"http-signature@~1.2.0":
- "integrity" "sha1-muzZJRFHcvPZW2WmCruPfBj7rOE="
- "resolved" "https://registry.npmjs.org/http-signature/-/http-signature-1.2.0.tgz"
- "version" "1.2.0"
- dependencies:
- "assert-plus" "^1.0.0"
- "jsprim" "^1.2.2"
- "sshpk" "^1.7.0"
-
-"iconv-lite@0.4.24":
- "integrity" "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA=="
- "resolved" "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz"
- "version" "0.4.24"
- dependencies:
- "safer-buffer" ">= 2.1.2 < 3"
-
-"inflight@^1.0.4":
- "integrity" "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk="
- "resolved" "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz"
- "version" "1.0.6"
- dependencies:
- "once" "^1.3.0"
- "wrappy" "1"
-
-"inherits@^2.0.3", "inherits@~2.0.3", "inherits@2":
- "integrity" "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ=="
- "resolved" "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz"
- "version" "2.0.4"
-
-"inherits@2.0.3":
- "integrity" "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4="
- "resolved" "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz"
- "version" "2.0.3"
-
-"is-binary-path@~2.1.0":
- "integrity" "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw=="
- "resolved" "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz"
- "version" "2.1.0"
- dependencies:
- "binary-extensions" "^2.0.0"
-
-"is-core-module@^2.1.0":
- "integrity" "sha512-XRAfAdyyY5F5cOXn7hYQDqh2Xmii+DEfIcQGxK/uNwMHhIkPWO0g8msXcbzLe+MpGoR951MlqM/2iIlU4vKDdQ=="
- "resolved" "https://registry.npmjs.org/is-core-module/-/is-core-module-2.2.0.tgz"
- "version" "2.2.0"
- dependencies:
- "has" "^1.0.3"
-
-"is-extglob@^2.1.1":
- "integrity" "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI="
- "resolved" "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz"
- "version" "2.1.1"
-
-"is-fullwidth-code-point@^3.0.0":
- "integrity" "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg=="
- "resolved" "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz"
- "version" "3.0.0"
-
-"is-glob@^4.0.1", "is-glob@~4.0.1":
- "integrity" "sha512-5G0tKtBTFImOqDnLB2hG6Bp2qcKEFduo4tZu9MT/H6NQv/ghhy30o55ufafxJ/LdH79LLs2Kfrn85TLKyA7BUg=="
- "resolved" "https://registry.npmjs.org/is-glob/-/is-glob-4.0.1.tgz"
- "version" "4.0.1"
- dependencies:
- "is-extglob" "^2.1.1"
-
-"is-number@^7.0.0":
- "integrity" "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng=="
- "resolved" "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz"
- "version" "7.0.0"
-
-"is-stream@^1.0.1":
- "integrity" "sha1-EtSj3U5o4Lec6428hBc66A2RykQ="
- "resolved" "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz"
- "version" "1.1.0"
-
-"is-typedarray@~1.0.0":
- "integrity" "sha1-5HnICFjfDBsR3dppQPlgEfzaSpo="
- "resolved" "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz"
- "version" "1.0.0"
-
-"isarray@~1.0.0":
- "integrity" "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE="
- "resolved" "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz"
- "version" "1.0.0"
-
-"isbinaryfile@^4.0.6":
- "integrity" "sha512-ORrEy+SNVqUhrCaal4hA4fBzhggQQ+BaLntyPOdoEiwlKZW9BZiJXjg3RMiruE4tPEI3pyVPpySHQF/dKWperg=="
- "resolved" "https://registry.npmjs.org/isbinaryfile/-/isbinaryfile-4.0.6.tgz"
- "version" "4.0.6"
-
-"isexe@^2.0.0":
- "integrity" "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA="
- "resolved" "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz"
- "version" "2.0.0"
-
-"isstream@~0.1.2":
- "integrity" "sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo="
- "resolved" "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz"
- "version" "0.1.2"
-
-"jasmine-core@*", "jasmine-core@^2.7.0":
- "integrity" "sha1-5kAN8ea1bhMLYcS80JPap/boyhU="
- "resolved" "https://registry.npmjs.org/jasmine-core/-/jasmine-core-2.99.1.tgz"
- "version" "2.99.1"
-
-"jquery@>= 2.2.4":
- "integrity" "sha512-XwIBPqcMn57FxfT+Go5pzySnm4KWkT1Tv7gjrpT1srtf8Weynl6R273VJ5GjkRb51IzMp5nbaPjJXMWeju2MKg=="
- "resolved" "https://registry.npmjs.org/jquery/-/jquery-3.5.1.tgz"
- "version" "3.5.1"
-
-"jsbn@~0.1.0":
- "integrity" "sha1-peZUwuWi3rXyAdls77yoDA7y9RM="
- "resolved" "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz"
- "version" "0.1.1"
-
-"json-schema-traverse@^0.4.1":
- "integrity" "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg=="
- "resolved" "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz"
- "version" "0.4.1"
-
-"json-schema@0.2.3":
- "integrity" "sha1-tIDIkuWaLwWVTOcnvT8qTogvnhM="
- "resolved" "https://registry.npmjs.org/json-schema/-/json-schema-0.2.3.tgz"
- "version" "0.2.3"
-
-"json-stringify-safe@~5.0.1":
- "integrity" "sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus="
- "resolved" "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz"
- "version" "5.0.1"
-
-"jsonfile@^2.1.0":
- "integrity" "sha1-NzaitCi4e72gzIO1P6PWM6NcKug="
- "resolved" "https://registry.npmjs.org/jsonfile/-/jsonfile-2.4.0.tgz"
- "version" "2.4.0"
- dependencies:
- "graceful-fs" "^4.1.6"
- optionalDependencies:
- "graceful-fs" "^4.1.6"
-
-"jsonfile@^4.0.0":
- "integrity" "sha1-h3Gq4HmbZAdrdmQPygWPnBDjPss="
- "resolved" "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz"
- "version" "4.0.0"
- dependencies:
- "graceful-fs" "^4.1.6"
- optionalDependencies:
- "graceful-fs" "^4.1.6"
-
-"jsprim@^1.2.2":
- "integrity" "sha1-MT5mvB5cwG5Di8G3SZwuXFastqI="
- "resolved" "https://registry.npmjs.org/jsprim/-/jsprim-1.4.1.tgz"
- "version" "1.4.1"
- dependencies:
- "assert-plus" "1.0.0"
- "extsprintf" "1.3.0"
- "json-schema" "0.2.3"
- "verror" "1.10.0"
-
-"karma-chrome-launcher@^2.2.0":
- "integrity" "sha512-uf/ZVpAabDBPvdPdveyk1EPgbnloPvFFGgmRhYLTDH7gEB4nZdSBk8yTU47w1g/drLSx5uMOkjKk7IWKfWg/+w=="
- "resolved" "https://registry.npmjs.org/karma-chrome-launcher/-/karma-chrome-launcher-2.2.0.tgz"
- "version" "2.2.0"
- dependencies:
- "fs-access" "^1.0.0"
- "which" "^1.2.1"
-
-"karma-cli@*":
- "integrity" "sha512-1Kb28UILg1ZsfqQmeELbPzuEb5C6GZJfVIk0qOr8LNYQuYWmAaqP16WpbpKEjhejDrDYyYOwwJXSZO6u7q5Pvw=="
- "resolved" "https://registry.npmjs.org/karma-cli/-/karma-cli-2.0.0.tgz"
- "version" "2.0.0"
- dependencies:
- "resolve" "^1.3.3"
-
-"karma-jasmine@^1.1.0":
- "integrity" "sha1-OU8rJf+0pkS5rabyLUQ+L9CIhsM="
- "resolved" "https://registry.npmjs.org/karma-jasmine/-/karma-jasmine-1.1.2.tgz"
- "version" "1.1.2"
-
-"karma-phantomjs-launcher@*":
- "integrity" "sha1-0jyjSAG9qYY60xjju0vUBisTrNI="
- "resolved" "https://registry.npmjs.org/karma-phantomjs-launcher/-/karma-phantomjs-launcher-1.0.4.tgz"
- "version" "1.0.4"
- dependencies:
- "lodash" "^4.0.1"
- "phantomjs-prebuilt" "^2.1.7"
-
-"karma@*", "karma@>=0.9":
- "integrity" "sha512-QmRZ6HdKe6mHd89Az6yb85URRyDbXmn2IBo3lic7cwkkLjDWpjrMJxPAKlwNa5dFM1iHdT+kjtNJM0J5YAH90A=="
- "resolved" "https://registry.npmjs.org/karma/-/karma-6.1.0.tgz"
- "version" "6.1.0"
- dependencies:
- "body-parser" "^1.19.0"
- "braces" "^3.0.2"
- "chokidar" "^3.4.2"
- "colors" "^1.4.0"
- "connect" "^3.7.0"
- "di" "^0.0.1"
- "dom-serialize" "^2.2.1"
- "glob" "^7.1.6"
- "graceful-fs" "^4.2.4"
- "http-proxy" "^1.18.1"
- "isbinaryfile" "^4.0.6"
- "lodash" "^4.17.19"
- "log4js" "^6.2.1"
- "mime" "^2.4.5"
- "minimatch" "^3.0.4"
- "qjobs" "^1.2.0"
- "range-parser" "^1.2.1"
- "rimraf" "^3.0.2"
- "socket.io" "^3.1.0"
- "source-map" "^0.6.1"
- "tmp" "0.2.1"
- "ua-parser-js" "^0.7.23"
- "yargs" "^16.1.1"
-
-"kew@^0.7.0":
- "integrity" "sha1-edk9LTM2PW/dKXCzNdkUGtWR15s="
- "resolved" "https://registry.npmjs.org/kew/-/kew-0.7.0.tgz"
- "version" "0.7.0"
-
-"klaw@^1.0.0":
- "integrity" "sha1-QIhDO0azsbolnXh4XY6W9zugJDk="
- "resolved" "https://registry.npmjs.org/klaw/-/klaw-1.3.1.tgz"
- "version" "1.3.1"
- dependencies:
- "graceful-fs" "^4.1.9"
- optionalDependencies:
- "graceful-fs" "^4.1.9"
-
-"lodash@^4.0.1", "lodash@^4.17.19":
- "integrity" "sha512-PlhdFcillOINfeV7Ni6oF1TAEayyZBoZ8bcshTHqOYJYlrqzRK5hagpagky5o4HfCzzd1TRkXPMFq6cKk9rGmA=="
- "resolved" "https://registry.npmjs.org/lodash/-/lodash-4.17.20.tgz"
- "version" "4.17.20"
-
-"log4js@^6.2.1":
- "integrity" "sha512-Mc8jNuSFImQUIateBFwdOQcmC6Q5maU0VVvdC2R6XMb66/VnT+7WS4D/0EeNMZu1YODmJe5NIn2XftCzEocUgw=="
- "resolved" "https://registry.npmjs.org/log4js/-/log4js-6.3.0.tgz"
- "version" "6.3.0"
- dependencies:
- "date-format" "^3.0.0"
- "debug" "^4.1.1"
- "flatted" "^2.0.1"
- "rfdc" "^1.1.4"
- "streamroller" "^2.2.4"
-
-"media-typer@0.3.0":
- "integrity" "sha1-hxDXrwqmJvj/+hzgAWhUUmMlV0g="
- "resolved" "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz"
- "version" "0.3.0"
-
-"mime-db@1.45.0":
- "integrity" "sha512-CkqLUxUk15hofLoLyljJSrukZi8mAtgd+yE5uO4tqRZsdsAJKv0O+rFMhVDRJgozy+yG6md5KwuXhD4ocIoP+w=="
- "resolved" "https://registry.npmjs.org/mime-db/-/mime-db-1.45.0.tgz"
- "version" "1.45.0"
-
-"mime-types@^2.1.12", "mime-types@~2.1.19", "mime-types@~2.1.24":
- "integrity" "sha512-0TO2yJ5YHYr7M2zzT7gDU1tbwHxEUWBCLt0lscSNpcdAfFyJOVEpRYNS7EXVcTLNj/25QO8gulHC5JtTzSE2UQ=="
- "resolved" "https://registry.npmjs.org/mime-types/-/mime-types-2.1.28.tgz"
- "version" "2.1.28"
- dependencies:
- "mime-db" "1.45.0"
-
-"mime@^2.4.5":
- "integrity" "sha512-ft3WayFSFUVBuJj7BMLKAQcSlItKtfjsKDDsii3rqFDAZ7t11zRe8ASw/GlmivGwVUYtwkQrxiGGpL6gFvB0ag=="
- "resolved" "https://registry.npmjs.org/mime/-/mime-2.5.0.tgz"
- "version" "2.5.0"
-
-"minimatch@^3.0.4":
- "integrity" "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA=="
- "resolved" "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz"
- "version" "3.0.4"
- dependencies:
- "brace-expansion" "^1.1.7"
-
-"minimist@^1.2.5":
- "integrity" "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw=="
- "resolved" "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz"
- "version" "1.2.5"
-
-"mkdirp@^0.5.4":
- "integrity" "sha512-NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ=="
- "resolved" "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.5.tgz"
- "version" "0.5.5"
- dependencies:
- "minimist" "^1.2.5"
-
-"ms@2.0.0":
- "integrity" "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g="
- "resolved" "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz"
- "version" "2.0.0"
-
-"ms@2.1.2":
- "integrity" "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w=="
- "resolved" "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz"
- "version" "2.1.2"
-
-"negotiator@0.6.2":
- "integrity" "sha512-hZXc7K2e+PgeI1eDBe/10Ard4ekbfrrqG8Ep+8Jmf4JID2bNg7NvCPOZN+kfF574pFQI7mum2AUqDidoKqcTOw=="
- "resolved" "https://registry.npmjs.org/negotiator/-/negotiator-0.6.2.tgz"
- "version" "0.6.2"
-
-"normalize-path@^3.0.0", "normalize-path@~3.0.0":
- "integrity" "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA=="
- "resolved" "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz"
- "version" "3.0.0"
-
-"null-check@^1.0.0":
- "integrity" "sha1-l33/1xdgErnsMNKjnbXPcqBDnt0="
- "resolved" "https://registry.npmjs.org/null-check/-/null-check-1.0.0.tgz"
- "version" "1.0.0"
-
-"oauth-sign@~0.9.0":
- "integrity" "sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ=="
- "resolved" "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.9.0.tgz"
- "version" "0.9.0"
-
-"object-assign@^4":
- "integrity" "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM="
- "resolved" "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz"
- "version" "4.1.1"
-
-"on-finished@~2.3.0":
- "integrity" "sha1-IPEzZIGwg811M3mSoWlxqi2QaUc="
- "resolved" "https://registry.npmjs.org/on-finished/-/on-finished-2.3.0.tgz"
- "version" "2.3.0"
- dependencies:
- "ee-first" "1.1.1"
-
-"once@^1.3.0":
- "integrity" "sha1-WDsap3WWHUsROsF9nFC6753Xa9E="
- "resolved" "https://registry.npmjs.org/once/-/once-1.4.0.tgz"
- "version" "1.4.0"
- dependencies:
- "wrappy" "1"
-
-"parseurl@~1.3.3":
- "integrity" "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ=="
- "resolved" "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz"
- "version" "1.3.3"
-
-"path-is-absolute@^1.0.0":
- "integrity" "sha1-F0uSaHNVNP+8es5r9TpanhtcX18="
- "resolved" "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz"
- "version" "1.0.1"
-
-"path-parse@^1.0.6":
- "integrity" "sha512-GSmOT2EbHrINBf9SR7CDELwlJ8AENk3Qn7OikK4nFYAu3Ote2+JYNVvkpAEQm3/TLNEJFD/xZJjzyxg3KBWOzw=="
- "resolved" "https://registry.npmjs.org/path-parse/-/path-parse-1.0.6.tgz"
- "version" "1.0.6"
-
-"pend@~1.2.0":
- "integrity" "sha1-elfrVQpng/kRUzH89GY9XI4AelA="
- "resolved" "https://registry.npmjs.org/pend/-/pend-1.2.0.tgz"
- "version" "1.2.0"
-
-"performance-now@^2.1.0":
- "integrity" "sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns="
- "resolved" "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz"
- "version" "2.1.0"
-
-"phantomjs-prebuilt@^2.1.7":
- "integrity" "sha1-79ISpKOWbTZHaE6ouniFSb4q7+8="
- "resolved" "https://registry.npmjs.org/phantomjs-prebuilt/-/phantomjs-prebuilt-2.1.16.tgz"
- "version" "2.1.16"
- 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"
-
-"picomatch@^2.0.4", "picomatch@^2.2.1":
- "integrity" "sha512-q0M/9eZHzmr0AulXyPwNfZjtwZ/RBZlbN3K3CErVrk50T2ASYI7Bye0EvekFY3IP1Nt2DHu0re+V2ZHIpMkuWg=="
- "resolved" "https://registry.npmjs.org/picomatch/-/picomatch-2.2.2.tgz"
- "version" "2.2.2"
-
-"pinkie-promise@^2.0.0":
- "integrity" "sha1-ITXW36ejWMBprJsXh3YogihFD/o="
- "resolved" "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz"
- "version" "2.0.1"
- dependencies:
- "pinkie" "^2.0.0"
-
-"pinkie@^2.0.0":
- "integrity" "sha1-clVrgM+g1IqXToDnckjoDtT3+HA="
- "resolved" "https://registry.npmjs.org/pinkie/-/pinkie-2.0.4.tgz"
- "version" "2.0.4"
-
-"process-nextick-args@~2.0.0":
- "integrity" "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag=="
- "resolved" "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz"
- "version" "2.0.1"
-
-"progress@^1.1.8":
- "integrity" "sha1-4mDHj2Fhzdmw5WzD4Khd4Xx6V74="
- "resolved" "https://registry.npmjs.org/progress/-/progress-1.1.8.tgz"
- "version" "1.1.8"
-
-"psl@^1.1.28":
- "integrity" "sha512-RIdOzyoavK+hA18OGGWDqUTsCLhtA7IcZ/6NCs4fFJaHBDab+pDDmDIByWFRQJq2Cd7r1OoQxBGKOaztq+hjIQ=="
- "resolved" "https://registry.npmjs.org/psl/-/psl-1.8.0.tgz"
- "version" "1.8.0"
-
-"punycode@^2.1.0", "punycode@^2.1.1":
- "integrity" "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A=="
- "resolved" "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz"
- "version" "2.1.1"
-
-"qjobs@^1.2.0":
- "integrity" "sha512-8YOJEHtxpySA3fFDyCRxA+UUV+fA+rTWnuWvylOK/NCjhY+b4ocCtmu8TtsWb+mYeU+GCHf/S66KZF/AsteKHg=="
- "resolved" "https://registry.npmjs.org/qjobs/-/qjobs-1.2.0.tgz"
- "version" "1.2.0"
-
-"qs@~6.5.2":
- "integrity" "sha512-N5ZAX4/LxJmF+7wN74pUD6qAh9/wnvdQcjq9TZjevvXzSUo7bfmw91saqMjzGS2xq91/odN2dW/WOl7qQHNDGA=="
- "resolved" "https://registry.npmjs.org/qs/-/qs-6.5.2.tgz"
- "version" "6.5.2"
-
-"qs@6.7.0":
- "integrity" "sha512-VCdBRNFTX1fyE7Nb6FYoURo/SPe62QCaAyzJvUjwRaIsc+NePBEniHlvxFmmX56+HZphIGtV0XeCirBtpDrTyQ=="
- "resolved" "https://registry.npmjs.org/qs/-/qs-6.7.0.tgz"
- "version" "6.7.0"
-
-"range-parser@^1.2.1":
- "integrity" "sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg=="
- "resolved" "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz"
- "version" "1.2.1"
-
-"raw-body@2.4.0":
- "integrity" "sha512-4Oz8DUIwdvoa5qMJelxipzi/iJIi40O5cGV1wNYp5hvZP8ZN0T+jiNkL0QepXs+EsQ9XJ8ipEDoiH70ySUJP3Q=="
- "resolved" "https://registry.npmjs.org/raw-body/-/raw-body-2.4.0.tgz"
- "version" "2.4.0"
- dependencies:
- "bytes" "3.1.0"
- "http-errors" "1.7.2"
- "iconv-lite" "0.4.24"
- "unpipe" "1.0.0"
-
-"readable-stream@^2.2.2":
- "integrity" "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw=="
- "resolved" "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz"
- "version" "2.3.7"
- 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"
-
-"readdirp@~3.5.0":
- "integrity" "sha512-cMhu7c/8rdhkHXWsY+osBhfSy0JikwpHK/5+imo+LpeasTF8ouErHrlYkwT0++njiyuDvc7OFY5T3ukvZ8qmFQ=="
- "resolved" "https://registry.npmjs.org/readdirp/-/readdirp-3.5.0.tgz"
- "version" "3.5.0"
- dependencies:
- "picomatch" "^2.2.1"
-
-"request-progress@^2.0.1":
- "integrity" "sha1-XTa7V5YcZzqlt4jbyBQf3yO0Tgg="
- "resolved" "https://registry.npmjs.org/request-progress/-/request-progress-2.0.1.tgz"
- "version" "2.0.1"
- dependencies:
- "throttleit" "^1.0.0"
-
-"request@^2.81.0":
- "integrity" "sha512-MsvtOrfG9ZcrOwAW+Qi+F6HbD0CWXEh9ou77uOb7FM2WPhwT7smM833PzanhJLsgXjN89Ir6V2PczXNnMpwKhw=="
- "resolved" "https://registry.npmjs.org/request/-/request-2.88.2.tgz"
- "version" "2.88.2"
- 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":
- "integrity" "sha1-jGStX9MNqxyXbiNE/+f3kqam30I="
- "resolved" "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz"
- "version" "2.1.1"
-
-"requires-port@^1.0.0":
- "integrity" "sha1-kl0mAdOaxIXgkc8NpcbmlNw9yv8="
- "resolved" "https://registry.npmjs.org/requires-port/-/requires-port-1.0.0.tgz"
- "version" "1.0.0"
-
-"resolve@^1.3.3":
- "integrity" "sha512-rArEXAgsBG4UgRGcynxWIWKFvh/XZCcS8UJdHhwy91zwAvCZIbcs+vAbflgBnNjYMs/i/i+/Ux6IZhML1yPvxg=="
- "resolved" "https://registry.npmjs.org/resolve/-/resolve-1.19.0.tgz"
- "version" "1.19.0"
- dependencies:
- "is-core-module" "^2.1.0"
- "path-parse" "^1.0.6"
-
-"rfdc@^1.1.4":
- "integrity" "sha512-ijLyszTMmUrXvjSooucVQwimGUk84eRcmCuLV8Xghe3UO85mjUtRAHRyoMM6XtyqbECaXuBWx18La3523sXINA=="
- "resolved" "https://registry.npmjs.org/rfdc/-/rfdc-1.2.0.tgz"
- "version" "1.2.0"
-
-"rimraf@^3.0.0", "rimraf@^3.0.2":
- "integrity" "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA=="
- "resolved" "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz"
- "version" "3.0.2"
- dependencies:
- "glob" "^7.1.3"
-
-"safe-buffer@^5.0.1", "safe-buffer@^5.1.2", "safe-buffer@~5.1.0", "safe-buffer@~5.1.1":
- "integrity" "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g=="
- "resolved" "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz"
- "version" "5.1.2"
-
-"safer-buffer@^2.0.2", "safer-buffer@^2.1.0", "safer-buffer@>= 2.1.2 < 3", "safer-buffer@~2.1.0":
- "integrity" "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg=="
- "resolved" "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz"
- "version" "2.1.2"
-
-"setprototypeof@1.1.1":
- "integrity" "sha512-JvdAWfbXeIGaZ9cILp38HntZSFSo3mWg6xGcJJsd+d4aRMOqauag1C63dJfDw7OaMYwEbHMOxEZ1lqVRYP2OAw=="
- "resolved" "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.1.tgz"
- "version" "1.1.1"
-
-"socket.io-adapter@~2.1.0":
- "integrity" "sha512-+vDov/aTsLjViYTwS9fPy5pEtTkrbEKsw2M+oVSoFGw6OD1IpvlV1VPhUzNbofCQ8oyMbdYJqDtGdmHQK6TdPg=="
- "resolved" "https://registry.npmjs.org/socket.io-adapter/-/socket.io-adapter-2.1.0.tgz"
- "version" "2.1.0"
-
-"socket.io-parser@~4.0.3":
- "integrity" "sha512-t+b0SS+IxG7Rxzda2EVvyBZbvFPBCjJoyHuE0P//7OAsN23GItzDRdWa6ALxZI/8R5ygK7jAR6t028/z+7295g=="
- "resolved" "https://registry.npmjs.org/socket.io-parser/-/socket.io-parser-4.0.4.tgz"
- "version" "4.0.4"
- dependencies:
- "@types/component-emitter" "^1.2.10"
- "component-emitter" "~1.3.0"
- "debug" "~4.3.1"
-
-"socket.io@^3.1.0":
- "integrity" "sha512-7cBWdsDC7bbyEF6WbBqffjizc/H4YF1wLdZoOzuYfo2uMNSFjJKuQ36t0H40o9B20DO6p+mSytEd92oP4S15bA=="
- "resolved" "https://registry.npmjs.org/socket.io/-/socket.io-3.1.1.tgz"
- "version" "3.1.1"
- dependencies:
- "@types/cookie" "^0.4.0"
- "@types/cors" "^2.8.8"
- "@types/node" "^14.14.10"
- "accepts" "~1.3.4"
- "base64id" "~2.0.0"
- "debug" "~4.3.1"
- "engine.io" "~4.1.0"
- "socket.io-adapter" "~2.1.0"
- "socket.io-parser" "~4.0.3"
-
-"source-map@^0.6.1":
- "integrity" "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g=="
- "resolved" "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz"
- "version" "0.6.1"
-
-"sshpk@^1.7.0":
- "integrity" "sha512-HXXqVUq7+pcKeLqqZj6mHFUMvXtOJt1uoUx09pFW6011inTMxqI8BA8PM95myrIyyKwdnzjdFjLiE6KBPVtJIg=="
- "resolved" "https://registry.npmjs.org/sshpk/-/sshpk-1.16.1.tgz"
- "version" "1.16.1"
- dependencies:
- "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"
- "safer-buffer" "^2.0.2"
- "tweetnacl" "~0.14.0"
-
-"statuses@>= 1.5.0 < 2", "statuses@~1.5.0":
- "integrity" "sha1-Fhx9rBd2Wf2YEfQ3cfqZOBR4Yow="
- "resolved" "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz"
- "version" "1.5.0"
-
-"streamroller@^2.2.4":
- "integrity" "sha512-OG79qm3AujAM9ImoqgWEY1xG4HX+Lw+yY6qZj9R1K2mhF5bEmQ849wvrb+4vt4jLMLzwXttJlQbOdPOQVRv7DQ=="
- "resolved" "https://registry.npmjs.org/streamroller/-/streamroller-2.2.4.tgz"
- "version" "2.2.4"
- dependencies:
- "date-format" "^2.1.0"
- "debug" "^4.1.1"
- "fs-extra" "^8.1.0"
-
-"string_decoder@~1.1.1":
- "integrity" "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg=="
- "resolved" "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz"
- "version" "1.1.1"
- dependencies:
- "safe-buffer" "~5.1.0"
-
-"string-width@^4.1.0", "string-width@^4.2.0":
- "integrity" "sha512-zUz5JD+tgqtuDjMhwIg5uFVV3dtqZ9yQJlZVfq4I01/K5Paj5UHj7VyrQOJvzawSVlKpObApbfD0Ed6yJc+1eg=="
- "resolved" "https://registry.npmjs.org/string-width/-/string-width-4.2.0.tgz"
- "version" "4.2.0"
- dependencies:
- "emoji-regex" "^8.0.0"
- "is-fullwidth-code-point" "^3.0.0"
- "strip-ansi" "^6.0.0"
-
-"strip-ansi@^6.0.0":
- "integrity" "sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w=="
- "resolved" "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz"
- "version" "6.0.0"
- dependencies:
- "ansi-regex" "^5.0.0"
-
-"throttleit@^1.0.0":
- "integrity" "sha1-nnhYNtr0Z0MUWlmEtiaNgoUorGw="
- "resolved" "https://registry.npmjs.org/throttleit/-/throttleit-1.0.0.tgz"
- "version" "1.0.0"
-
-"tmp@0.2.1":
- "integrity" "sha512-76SUhtfqR2Ijn+xllcI5P1oyannHNHByD80W1q447gU3mp9G9PSpGdWmjUOHRDPiHYacIk66W7ubDTuPF3BEtQ=="
- "resolved" "https://registry.npmjs.org/tmp/-/tmp-0.2.1.tgz"
- "version" "0.2.1"
- dependencies:
- "rimraf" "^3.0.0"
-
-"to-regex-range@^5.0.1":
- "integrity" "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ=="
- "resolved" "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz"
- "version" "5.0.1"
- dependencies:
- "is-number" "^7.0.0"
-
-"toidentifier@1.0.0":
- "integrity" "sha512-yaOH/Pk/VEhBWWTlhI+qXxDFXlejDGcQipMlyxda9nthulaxLZUNcUqFxokp0vcYnvteJln5FNQDRrxj3YcbVw=="
- "resolved" "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.0.tgz"
- "version" "1.0.0"
-
-"tough-cookie@~2.5.0":
- "integrity" "sha512-nlLsUzgm1kfLXSXfRZMc1KLAugd4hqJHDTvc2hDIwS3mZAfMEuMbc03SujMF+GEcpaX/qboeycw6iO8JwVv2+g=="
- "resolved" "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.5.0.tgz"
- "version" "2.5.0"
- dependencies:
- "psl" "^1.1.28"
- "punycode" "^2.1.1"
-
-"tunnel-agent@^0.6.0":
- "integrity" "sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0="
- "resolved" "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz"
- "version" "0.6.0"
- dependencies:
- "safe-buffer" "^5.0.1"
-
-"tweetnacl@^0.14.3", "tweetnacl@~0.14.0":
- "integrity" "sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q="
- "resolved" "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz"
- "version" "0.14.5"
-
-"type-is@~1.6.17":
- "integrity" "sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g=="
- "resolved" "https://registry.npmjs.org/type-is/-/type-is-1.6.18.tgz"
- "version" "1.6.18"
- dependencies:
- "media-typer" "0.3.0"
- "mime-types" "~2.1.24"
-
-"typedarray@^0.0.6":
- "integrity" "sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c="
- "resolved" "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz"
- "version" "0.0.6"
-
-"ua-parser-js@^0.7.23":
- "integrity" "sha512-m4hvMLxgGHXG3O3fQVAyyAQpZzDOvwnhOTjYz5Xmr7r/+LpkNy3vJXdVRWgd1TkAb7NGROZuSy96CrlNVjA7KA=="
- "resolved" "https://registry.npmjs.org/ua-parser-js/-/ua-parser-js-0.7.23.tgz"
- "version" "0.7.23"
-
-"universalify@^0.1.0":
- "integrity" "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg=="
- "resolved" "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz"
- "version" "0.1.2"
-
-"unpipe@~1.0.0", "unpipe@1.0.0":
- "integrity" "sha1-sr9O6FFKrmFltIF4KdIbLvSZBOw="
- "resolved" "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz"
- "version" "1.0.0"
-
-"uri-js@^4.2.2":
- "integrity" "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg=="
- "resolved" "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz"
- "version" "4.4.1"
- dependencies:
- "punycode" "^2.1.0"
-
-"util-deprecate@~1.0.1":
- "integrity" "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8="
- "resolved" "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz"
- "version" "1.0.2"
-
-"utils-merge@1.0.1":
- "integrity" "sha1-n5VxD1CiZ5R7LMwSR0HBAoQn5xM="
- "resolved" "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz"
- "version" "1.0.1"
-
-"uuid@^3.3.2":
- "integrity" "sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A=="
- "resolved" "https://registry.npmjs.org/uuid/-/uuid-3.4.0.tgz"
- "version" "3.4.0"
-
-"vary@^1":
- "integrity" "sha1-IpnwLG3tMNSllhsLn3RSShj2NPw="
- "resolved" "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz"
- "version" "1.1.2"
-
-"verror@1.10.0":
- "integrity" "sha1-OhBcoXBTr1XW4nDB+CiGguGNpAA="
- "resolved" "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz"
- "version" "1.10.0"
- dependencies:
- "assert-plus" "^1.0.0"
- "core-util-is" "1.0.2"
- "extsprintf" "^1.2.0"
-
-"void-elements@^2.0.0":
- "integrity" "sha1-wGavtYK7HLQSjWDqkjkulNXp2+w="
- "resolved" "https://registry.npmjs.org/void-elements/-/void-elements-2.0.1.tgz"
- "version" "2.0.1"
-
-"which@^1.2.1", "which@^1.2.10":
- "integrity" "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ=="
- "resolved" "https://registry.npmjs.org/which/-/which-1.3.1.tgz"
- "version" "1.3.1"
- dependencies:
- "isexe" "^2.0.0"
-
-"wrap-ansi@^7.0.0":
- "integrity" "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q=="
- "resolved" "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz"
- "version" "7.0.0"
- dependencies:
- "ansi-styles" "^4.0.0"
- "string-width" "^4.1.0"
- "strip-ansi" "^6.0.0"
-
-"wrappy@1":
- "integrity" "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8="
- "resolved" "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz"
- "version" "1.0.2"
-
-"ws@~7.4.2":
- "integrity" "sha512-hr6vCR76GsossIRsr8OLR9acVVm1jyfEWvhbNjtgPOrfvAlKzvyeg/P6r8RuDjRyrcQoPQT7K0DGEPc7Ae6jzA=="
- "resolved" "https://registry.npmjs.org/ws/-/ws-7.4.3.tgz"
- "version" "7.4.3"
-
-"y18n@^5.0.5":
- "integrity" "sha512-hsRUr4FFrvhhRH12wOdfs38Gy7k2FFzB9qgN9v3aLykRq0dRcdcpz5C9FxdS2NuhOrI/628b/KSTJ3rwHysYSg=="
- "resolved" "https://registry.npmjs.org/y18n/-/y18n-5.0.5.tgz"
- "version" "5.0.5"
-
-"yargs-parser@^20.2.2":
- "integrity" "sha512-WOkpgNhPTlE73h4VFAFsOnomJVaovO8VqLDzy5saChRBFQFBoMYirowyW+Q9HB4HFF4Z7VZTiG3iSzJJA29yRA=="
- "resolved" "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.4.tgz"
- "version" "20.2.4"
-
-"yargs@^16.1.1":
- "integrity" "sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw=="
- "resolved" "https://registry.npmjs.org/yargs/-/yargs-16.2.0.tgz"
- "version" "16.2.0"
- 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.10.0":
- "integrity" "sha1-x+sXyT4RLLEIb6bY5R+wZnt5pfk="
- "resolved" "https://registry.npmjs.org/yauzl/-/yauzl-2.10.0.tgz"
- "version" "2.10.0"
- dependencies:
- "buffer-crc32" "~0.2.3"
- "fd-slicer" "~1.1.0"
From d4dd0887f2bd53f9f7c6a7b4ee969eb8b9ae485a Mon Sep 17 00:00:00 2001
From: davidstutz
Date: Fri, 6 Aug 2021 21:35:46 +0200
Subject: [PATCH 14/14] Updated NuGet link and removed obsolete TS support.
---
README.md | 2 +-
.../bootstrap-multiselect-tests.ts | 20 -
types/bootstrap-multiselect/index.d.ts | 445 ------------------
types/bootstrap-multiselect/tsconfig.json | 23 -
types/bootstrap-multiselect/tslint.json | 1 -
5 files changed, 1 insertion(+), 490 deletions(-)
delete mode 100644 types/bootstrap-multiselect/bootstrap-multiselect-tests.ts
delete mode 100644 types/bootstrap-multiselect/index.d.ts
delete mode 100644 types/bootstrap-multiselect/tsconfig.json
delete mode 100644 types/bootstrap-multiselect/tslint.json
diff --git a/README.md b/README.md
index 8a3d10c0..21bb2cc8 100644
--- a/README.md
+++ b/README.md
@@ -6,7 +6,7 @@ Documentation, Examples, FAQ and License: [https://davidstutz.github.io/bootstra
**If you are interested in actively maintaining this project, please contact me (see GitHub profile for contact information).**
-Bootstrap Multiselect is featured in an article on [tutorialzine](https://tutorialzine.com/): [50 must-Have Plugins for Extending Twitter Bootstrap](https://tutorialzine.com/2013/07/50-must-have-plugins-for-extending-twitter-bootstrap/); on [Bootsnipp](https://bootsnipp.com/)'s [list of Twitter Bootstrap resources](https://bootsnipp.com/resources); on [Design Your Way](https://www.designyourway.net/blog/resources/jquery-bootstrap-plugins/); and available on [NuGet](https://www.nuget.org/packages/Bootstrap.Multiselect/0.9.9).
+Bootstrap Multiselect is featured in an article on [tutorialzine](https://tutorialzine.com/): [50 must-Have Plugins for Extending Twitter Bootstrap](https://tutorialzine.com/2013/07/50-must-have-plugins-for-extending-twitter-bootstrap/); on [Bootsnipp](https://bootsnipp.com/)'s [list of Twitter Bootstrap resources](https://bootsnipp.com/resources); on [Design Your Way](https://www.designyourway.net/blog/resources/jquery-bootstrap-plugins/); and available on [NuGet](https://www.nuget.org/packages/Bootstrap.Multiselect).
**If you use this plugin commercially, consider supporting the development by [making a donation](https://davidstutz.de/donate/).**
diff --git a/types/bootstrap-multiselect/bootstrap-multiselect-tests.ts b/types/bootstrap-multiselect/bootstrap-multiselect-tests.ts
deleted file mode 100644
index 016f370e..00000000
--- a/types/bootstrap-multiselect/bootstrap-multiselect-tests.ts
+++ /dev/null
@@ -1,20 +0,0 @@
-$('select').multiselect();
-$('select').multiselect('destroy');
-$('select').multiselect({ buttonText: (options, select) => { return 'text'; } });
-$('select').multiselect('dataprovider', [{
- label: 'Group 1', children: [
- { label: 'Option 1.1', value: '1-1', selected: true, attributes: { 'some-attribute': 2 } },
- { label: 'Option 1.2', value: '1-2' },
- { label: 'Option 1.3', value: '1-3' }
- ]
-},
-{
- label: 'Group 2', children: [
- { label: 'Option 2.1', value: '1' },
- { label: 'Option 2.2', value: '2' },
- { label: 'Option 2.3', value: '3', disabled: true }
- ]
-}])
-
-$('select').multiselect({ filterBehavior: 'text' });
-$('select').multiselect('setOptions', { nonSelectedText: '-- Select --' })
\ No newline at end of file
diff --git a/types/bootstrap-multiselect/index.d.ts b/types/bootstrap-multiselect/index.d.ts
deleted file mode 100644
index 6bafec09..00000000
--- a/types/bootstrap-multiselect/index.d.ts
+++ /dev/null
@@ -1,445 +0,0 @@
-// Type definitions for bootstrap-multiselect 0.9
-// Project: https://github.com/davidstutz/bootstrap-multiselect
-// Definitions by: Makoto Schoppert
-// Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped
-// TypeScript Version: 2.3
-
-///
-
-interface Templates {
- button?: string;
- popupContainer?: string;
- filter?: string;
- option?: string;
- divider?: string;
- optionGroup?: string;
- resetButton?: string;
-}
-
-interface MultiSelectOptionElement {
- label: string;
- title?: string;
- value?: string | number;
- selected?: boolean;
- disabled?: boolean;
- children?: Array;
- attributes?: {[name: string]: any};
-}
-
-/**
- * See {@link https://davidstutz.github.io/bootstrap-multiselect/#configuration-options|https://davidstutz.github.io/bootstrap-multiselect/#configuration-options}
- */
-interface MultiSelectOptions {
- /**
- * XSS injection is a serious threat for all modern web applications. Setting enableHTML to false (default setting) will create a XSS safe multiselect.
- */
- enableHTML?: boolean;
-
- /**
- * If set to true, optgroup's will be clickable, allowing to easily select multiple options belonging to the same group.
- *
- * enableClickableOptGroups is not available in single selection mode, i.e. when the multiple attribute is not present.
- *
- * When using selectedClass, the selected classes are also applied on the option groups.
- */
- enableClickableOptGroups?: boolean;
-
- /**
- * If set to true, optgroup's will be collapsible.
- */
- enableCollapsibleOptGroups?: boolean;
-
- /**
- * This option will collapse all optgroups by default
- */
- collapseOptGroupsByDefault?: boolean;
-
- /**
- * If set to true, the multiselect will be disabled if no options are given.
- */
- disableIfEmpty?: boolean;
-
- /**
- * The text shown if the multiselect is disabled.
- * Note that this option is set to the empty string '' by default,
- * that is nonSelectedText is shown if the multiselect is disabled and no options are selected.
- */
- disabledText?: string;
-
- /**
- * The dropdown can also be dropped right.
- */
- dropRight?: boolean;
-
- /**
- * The dropdown can also be dropped up. Note that it is recommended to also set {@link maxHeight}.
- * The plugin calculates the necessary height of the dropdown and takes the minimum of the calculated value and maxHeight.
- */
- dropUp?: boolean;
-
- /**
- * The maximum height of the dropdown. This is useful when using the plugin with plenty of options.
- */
- maxHeight?: number;
-
- /**
- * The name used for the generated checkboxes.
- * See {@link https://davidstutz.github.io/bootstrap-multiselect/#post|Server-Side Processing} for details.
- */
- checkboxName?: string;
-
- /**
- * A function which is triggered on the change event of the options.
- * Note that the event is not triggered when selecting or deselecting options using the select and deselect methods provided by the plugin.
- * @param option The option item that was changed, wrapped in a JQuery object.
- * @param checked Whether the checkbox was checked or not.
- */
- onChange?: (option: JQuery, checked: boolean) => void;
-
- /**
- * A function which is triggered when the multiselect is finished initializing.
- */
- onInitialized?: (select: JQuery, container: JQuery) => void;
-
- /**
- * A callback called when the dropdown is shown.
- *
- * The onDropdownShow option is not available when using Twitter Bootstrap 2.3.
- */
- onDropdownShow?: (event: Event) => void;
-
- /**
- * A callback called when the dropdown is closed.
- *
- * The onDropdownHide option is not available when using Twitter Bootstrap 2.3.
- */
- onDropdownHide?: (event: Event) => void;
-
- /**
- * A callback called after the dropdown has been shown.
- *
- * The onDropdownShown option is not available when using Twitter Bootstrap 2.3.
- */
- onDropdownShown?: (event: Event) => void;
-
- /**
- * A callback called after the dropdown has been closed.
- *
- * The onDropdownHidden option is not available when using Twitter Bootstrap 2.3.
- */
- onDropdownHidden?: (event: Event) => void;
-
- /**
- * The class of the multiselect button.
- *
- * @example
- * $('#example-buttonClass').multiselect({
- buttonClass: 'btn btn-link'
- });
- */
- buttonClass?: string;
-
- /**
- * Inherit the class of the button from the original select.
- */
- inheritClass?: boolean;
-
- /**
- * The container holding both the button as well as the dropdown.
- *
- * @example
- * $('#example-buttonContainer').multiselect({
- buttonContainer: '
'
- });
- */
- buttonContainer?: string;
-
- /**
- * The width of the multiselect button may be fixed using this option.
- *
- * Actually, buttonWidth describes the width of the .btn-group container and the width of the button is set to 100%.
- *
- * @example
- * $('#example-buttonWidth').multiselect({
- buttonWidth: '400px'
- });
- */
- buttonWidth?: string;
-
- /**
- * A callback specifying the text shown on the button dependent on the currently selected options.
- *
- * The callback gets the currently selected options and the select as argument and returns the string shown as button text.
- * The default buttonText callback returns nonSelectedText in the case no option is selected,
- * {@link nSelectedText} in the case more than {@link numberDisplayed} options are selected
- * and the names of the selected options if less than {@link numberDisplayed} options are selected.
-
- * @param options
- * @param select
- * @returns {}
- */
- buttonText?: (options: HTMLOptionsCollection, select: HTMLSelectElement) => string;
-
- /**
- * A callback specifying the title of the button.
- *
- * The callback gets the currently selected options and the select as argument and returns the title of the button as string.
- * The default buttonTitle callback returns nonSelectedText in the case no option is selected and the names of the selected options of less than {@link numberDisplayed} options are selected.
- * If more than numberDisplayed options are selected, {@link nSelectedText} is returned.
- *
- * @param options
- * @param select
- * @returns {}
- */
- buttonTitle?: (options: HTMLOptionElement[], select: HTMLSelectElement) => string;
-
- /**
- * The text displayed when no option is selected. This option is used in the default buttonText and buttonTitle functions.
- */
- nonSelectedText?: string;
-
- /**
- * The text displayed if more than {@link numberDisplayed} options are selected. This option is used by the default buttonText and buttonTitle callbacks.
- */
- nSelectedText?: string;
-
- /**
- * allSelectedText is the text displayed if all options are selected. You can disable displaying the allSelectedText by setting it to false.
- */
- allSelectedText?: string | boolean;
-
- /**
- * This option is used by the buttonText and buttonTitle functions to determine of too much options would be displayed.
- */
- numberDisplayed?: number;
-
- /**
- * Sets the separator for the list of selected items for mouse-over. Defaults to ', '. Set to '\n' for a neater display.
- */
- delimiterText?: string;
-
- /**
- * A callback used to define the labels of the options.
- */
- optionLabel?: (element: HTMLElement) => string;
-
- /**
- * A callback used to define the classes for the li elements containing checkboxes and labels.
- */
- optionClass?: (element: HTMLElement) => string;
-
- /**
- * This option controls if options insade a optgroup are indented.
- */
- indentGroupOptions?: boolean;
-
- /**
- * The class(es) applied on selected options.
- */
- selectedClass?: string;
-
- /**
- * Set to true or false to enable or disable the select all option.
- */
- includeSelectAllOption?: boolean;
-
- /**
- * Setting both {@link includeSelectAllOption} and {@link enableFiltering} to true, the select all option does always select only the visible option.
- * With setting selectAllJustVisible to false this behavior is changed such that always all options (irrespective of whether they are visible) are selected.
- */
- selectAllJustVisible?: boolean;
-
- /**
- * The text displayed for the select all option.
- */
- selectAllText?: string;
-
- /**
- * The select all option is added as additional option within the select.
- * To distinguish this option from the original options the value used for the select all option can be configured using the selectAllValue option.
- */
- selectAllValue?: string | number;
-
- /**
- * This option allows to control the name given to the select all option.
- * See {@link https://davidstutz.github.io/bootstrap-multiselect/#post|Server-Side Processing} for more details.
- */
- selectAllName?: string;
-
- /**
- * If set to true (default), the number of selected options will be shown in parantheses when all options are seleted.
- */
- selectAllNumber?: boolean;
-
- /**
- * This function is triggered when the select all option is used to select all options.
- * Note that this can also be triggered manually using the {@link .multiselect('selectAll')} method.
- *
- * Note that the onChange option is not triggered when (de)selecting all options using the select all option.
- *
- * The onSelectAll option is only triggered if the select all option was checked;
- * it is not triggered if all options were checked manually (causing the select all option to be checked as well).
- */
- onSelectAll?: () => void;
-
- /**
- * This function is triggered when the select all option is used to deselect all options.
- * Note that this can also be triggered manually using the {@link .multiselect('deselectAll')} method.
- *
- * Note that the onChange option is not triggered when (de)selecting all options using the select all option.
- *
- * The onDeselectAll option is only triggered if the select all option was unchecked;
- * it is not triggered if all options were unchecked manually (causing the select all option to be unchecked as well).
- */
- onDeselectAll?: () => void;
-
- /**
- * Set to true or false to enable or disable the filter. A filter input will be added to dynamically filter all options.
- */
- enableFiltering?: boolean;
-
- /**
- * If it is not desired to have a clear button for the search it can also be disabled.
- */
- includeFilterClearBtn?: boolean;
-
- /**
- * The filter as configured above will use case sensitive filtering,
- * by setting enableCaseInsensitiveFiltering to true this behavior can be changed to use case insensitive filtering.
- */
- enableCaseInsensitiveFiltering?: boolean;
-
- /**
- * Set to true to enable full value filtering, that is all options are shown where the query is a prefix of.
- */
- enableFullValueFiltering?: boolean;
-
- /**
- * The options are filtered based on their text. This behavior can be changed to use the value of the options or both the text and the value.
- */
- filterBehavior?: 'text' | 'value' | 'both';
-
- /**
- * The placeholder used for the filter input.
- * @example $('#example-filter-placeholder').multiselect({
- enableFiltering: true,
- filterPlaceholder: 'Search for something...'
- });
- */
- filterPlaceholder?: string;
-
- /**
- * Add reset button to dropdown.
- */
- includeResetOption?: boolean;
-
- /**
- * Add a divider between reset button and options.
- */
- includeResetDivider?: boolean;
-
- /**
- * Defines the text of the reset button.
- */
- resetText?: string;
-
- /**
- * Synchronizes the width of the select button and the popup. The default value is 'never'.
- */
- widthSynchronizationMode?: 'never' | 'always' | 'ifPopupIsSmaller' | 'ifPopupIsWider';
-
- /**
- * Defines the text alignment in the button. Possible values are left, center and right. The default value is center.
- */
- buttonTextAlignment?: 'left' | 'center' | 'right';
-
- /**
- * The generated HTML markup can be controlled using templates. Basically, templates are simple configuration options.
- */
- templates?: Templates;
-}
-
-interface JQuery {
- multiselect(options?: MultiSelectOptions): JQuery;
-
- /**
- * This method is used to destroy the plugin on the given element - meaning unbinding the plugin.
- */
- multiselect(method: 'destroy'): JQuery;
-
- /**
- * This method is used to refresh the checked checkboxes based on the currently selected options within the select.
- * Click 'Select some options' to select some of the options. Then click refresh.
- * The plugin will update the checkboxes accordingly.
- */
- multiselect(method: 'refresh'): JQuery;
-
- /**
- * Rebuilds the whole dropdown menu. All selected options will remain selected (if still existent!).
- */
- multiselect(method: 'rebuild'): JQuery;
-
- /**
- * Selects an option by its value. Works also using an array of values.
- * @param triggerOnChange If set to true, the method will manually trigger the onChange option.
- */
- multiselect(method: 'select', value: string | Array | number, triggerOnChange?: boolean): JQuery;
-
- /**
- * Deselect an option by its value. Works also using an array of values.
- * @param triggerOnChange If set to true, the method will manually trigger the onChange option.
- */
- multiselect(method: 'deselect', value: string | Array | number, triggerOnChange?: boolean): JQuery;
-
- /**
- * Selects all options.
- * @param justVisible If set to true or not provided, all visible options are selected (when using the filter),
- * otherwise (justVisible set to false) all options are selected.
- */
- multiselect(method: 'selectAll', justVisible?: boolean): JQuery;
-
- /**
- * Deselects all options.
- * @param justVisible If set to true or not provided, all visible options are deselected,
- * otherwise (justVisible set to false) all options are deselected.
- */
- multiselect(method: 'deselectAll', justVisible?: boolean): JQuery;
-
- /**
- * When manually selecting/deselecting options and the corresponding checkboxes, this function updates the text and title of the button.
- *
- * Note that usually this method is only needed when using .multiselect('selectAll', justVisible) or .multiselect('deselectAll', justVisible). In all other cases, .multiselect('refresh') should be used.
- */
- multiselect(method: 'updateButtonText'): JQuery;
-
- /**
- * Used to change configuration after initializing the multiselect. This may be useful in combination with {@link multiselect('rebuild')}.
- * @example
- * $('#example-setOptions').multiselect('setOptions', options);
- * $('#example-setOptions').multiselect('rebuild');
- */
- multiselect(method: 'setOptions', options: MultiSelectOptions): JQuery;
-
- /**
- * Disable both the underlying select and the dropdown button.
- */
- multiselect(method: 'disable'): JQuery;
-
- /**
- * Enable both the underlying select and the dropdown button.
- */
- multiselect(method: 'enable'): JQuery;
-
- /**
- * This method is used to provide options programmatically
- */
- multiselect(method: 'dataprovider', data: Array): JQuery;
-
- /**
- * This method is used to programmatically provide a new text to display in the button when all options are selected, at runtime.
- */
- multiselect(method: 'setAllSelectedText', value: string): JQuery;
-}
-
-declare module "bootstrap-multiselect" {
-}
\ No newline at end of file
diff --git a/types/bootstrap-multiselect/tsconfig.json b/types/bootstrap-multiselect/tsconfig.json
deleted file mode 100644
index 6bdfac36..00000000
--- a/types/bootstrap-multiselect/tsconfig.json
+++ /dev/null
@@ -1,23 +0,0 @@
-{
- "compilerOptions": {
- "module": "commonjs",
- "lib": [
- "dom",
- "es6"
- ],
- "noImplicitAny": true,
- "noImplicitThis": true,
- "strictNullChecks": true,
- "baseUrl": "../",
- "typeRoots": [
- "../"
- ],
- "types": [],
- "noEmit": true,
- "forceConsistentCasingInFileNames": true
- },
- "files": [
- "index.d.ts",
- "bootstrap-multiselect-tests.ts"
- ]
-}
diff --git a/types/bootstrap-multiselect/tslint.json b/types/bootstrap-multiselect/tslint.json
deleted file mode 100644
index 3db14f85..00000000
--- a/types/bootstrap-multiselect/tslint.json
+++ /dev/null
@@ -1 +0,0 @@
-{ "extends": "dtslint/dt.json" }