WP Product Review Lite - Version 3.6.0

Version Description

  • 2019-05-14
Download this release

Release Info

Developer codeinwp
Plugin Icon WP Product Review Lite
Version 3.6.0
Comparing to
See all releases

Code changes from version 3.5.2 to 3.6.0

Files changed (83) hide show
  1. CHANGELOG.md +10 -0
  2. assets/css/common.css +7 -0
  3. assets/css/default.css +1 -1
  4. assets/css/editor.css +19 -1
  5. assets/css/font-awesome.min.css +1 -1
  6. assets/css/fontawesome-compat.css +8 -0
  7. assets/css/style1.css +2 -2
  8. assets/css/style2.css +1 -1
  9. assets/js/admin-review.js +89 -38
  10. assets/js/post.js +18 -0
  11. assets/js/widget-admin.js +4 -3
  12. class-wppr-autoloader.php +5 -5
  13. includes/admin/class-wppr-admin.php +29 -26
  14. includes/admin/class-wppr-global-settings.php +11 -16
  15. includes/admin/controllers/class-wppr-admin-render-controller.php +14 -21
  16. includes/admin/helpers/class-wppr-html-fields.php +68 -6
  17. includes/admin/layouts/editor-default-tpl.php +40 -0
  18. includes/admin/layouts/widget-admin-tpl.php +1 -1
  19. includes/admin/models/class-wppr-editor-model.php +20 -2
  20. includes/admin/models/class-wppr-query-model.php +9 -9
  21. includes/admin/models/class-wppr-review-model.php +112 -8
  22. includes/admin/models/class-wppr-schema-model.php +212 -0
  23. includes/admin/widgets/abstract/class-wppr-widget-abstract.php +1 -1
  24. includes/admin/widgets/class-wppr-latest-products-widget.php +1 -1
  25. includes/admin/widgets/class-wppr-top-products-widget.php +2 -2
  26. includes/admin/widgets/class-wppr-top-reviews-widget.php +1 -1
  27. includes/class-wppr.php +3 -3
  28. includes/functions.php +70 -5
  29. includes/gutenberg/build/sidebar.js +1 -1
  30. includes/gutenberg/class-wppr-gutenberg.php +11 -2
  31. includes/gutenberg/package.json +0 -35
  32. includes/gutenberg/src/sidebar.js +20 -14
  33. includes/public/class-wppr-public.php +22 -22
  34. includes/public/layouts/rating-tpl.php +4 -4
  35. includes/public/layouts/widget/default.php +2 -0
  36. package-lock.json +2743 -2570
  37. readme.md +25 -1
  38. readme.txt +25 -1
  39. themeisle-hash.json +1 -1
  40. vendor/autoload.php +1 -1
  41. vendor/autoload_52.php +1 -1
  42. vendor/codeinwp/themeisle-sdk/CHANGELOG.md +15 -0
  43. vendor/codeinwp/themeisle-sdk/Gruntfile.js +0 -27
  44. vendor/codeinwp/themeisle-sdk/README.md +0 -32
  45. vendor/codeinwp/themeisle-sdk/bin/install-wp-tests.sh +0 -130
  46. vendor/codeinwp/themeisle-sdk/bin/run-unit-tests.sh +0 -7
  47. vendor/codeinwp/themeisle-sdk/composer.json +0 -30
  48. vendor/codeinwp/themeisle-sdk/composer.lock +0 -180
  49. vendor/codeinwp/themeisle-sdk/docker-compose.local.yml +0 -27
  50. vendor/codeinwp/themeisle-sdk/load.php +1 -1
  51. vendor/codeinwp/themeisle-sdk/package-lock.json +0 -7312
  52. vendor/codeinwp/themeisle-sdk/package.json +0 -15
  53. vendor/codeinwp/themeisle-sdk/phpcs.xml +0 -50
  54. vendor/codeinwp/themeisle-sdk/phpunit.xml +0 -20
  55. vendor/codeinwp/themeisle-sdk/src/Loader.php +9 -0
  56. vendor/codeinwp/themeisle-sdk/src/Modules/Dashboard_widget.php +22 -11
  57. vendor/codeinwp/themeisle-sdk/src/Modules/Logger.php +2 -1
  58. vendor/codeinwp/themeisle-sdk/src/Modules/Recommendation.php +374 -0
  59. vendor/codeinwp/themeisle-sdk/src/Modules/Uninstall_feedback.php +6 -0
  60. vendor/codeinwp/themeisle-sdk/src/Product.php +13 -0
  61. vendor/codeinwp/themeisle-sdk/start.php +1 -0
  62. vendor/codeinwp/themeisle-sdk/tests/bootstrap.php +0 -33
  63. vendor/codeinwp/themeisle-sdk/tests/dashboard-widget-test.php +0 -59
  64. vendor/codeinwp/themeisle-sdk/tests/endpoint-test.php +0 -79
  65. vendor/codeinwp/themeisle-sdk/tests/licenser-test.php +0 -79
  66. vendor/codeinwp/themeisle-sdk/tests/loader-test.php +0 -47
  67. vendor/codeinwp/themeisle-sdk/tests/loading-test.php +0 -52
  68. vendor/codeinwp/themeisle-sdk/tests/logger-test.php +0 -67
  69. vendor/codeinwp/themeisle-sdk/tests/notification-test.php +0 -111
  70. vendor/codeinwp/themeisle-sdk/tests/old/loading-test.php +0 -19
  71. vendor/codeinwp/themeisle-sdk/tests/product-test.php +0 -49
  72. vendor/codeinwp/themeisle-sdk/tests/review-test.php +0 -67
  73. vendor/codeinwp/themeisle-sdk/tests/rollback-test.php +0 -114
  74. vendor/codeinwp/themeisle-sdk/tests/sample_products/sample_plugin/plugin_file.php +0 -13
  75. vendor/codeinwp/themeisle-sdk/tests/sample_products/sample_theme/style.css +0 -10
  76. vendor/codeinwp/themeisle-sdk/tests/sample_products/sample_theme_external/style.css +0 -10
  77. vendor/codeinwp/themeisle-sdk/tests/translate-test.php +0 -83
  78. vendor/codeinwp/themeisle-sdk/tests/uninstall-feedback-test.php +0 -130
  79. vendor/composer/autoload_real.php +5 -5
  80. vendor/composer/autoload_real_52.php +3 -3
  81. vendor/composer/installed.json +40 -40
  82. vendor/xrstf/composer-php52/composer.json +0 -26
  83. wp-product-review.php +2 -2
CHANGELOG.md CHANGED
@@ -1,4 +1,14 @@
1
 
 
 
 
 
 
 
 
 
 
 
2
  ### v3.5.2 - 2019-02-28
3
  **Changes:**
4
  * Fix issues with Gutenberg
1
 
2
+ ### v3.6.0 - 2019-05-22
3
+ **Changes:**
4
+
5
+ ### v3.6.0 - 2019-05-14
6
+ **Changes:**
7
+ * Add support for more schema types
8
+ * Use Dashicons instead of FontAwesome
9
+ * Fix issue with buy button in listing table
10
+ * Tested up to WP 5.2
11
+
12
  ### v3.5.2 - 2019-02-28
13
  **Changes:**
14
  * Fix issues with Gutenberg
assets/css/common.css CHANGED
@@ -34,3 +34,10 @@
34
  text-decoration: none;
35
  text-transform: uppercase;
36
  }
 
 
 
 
 
 
 
34
  text-decoration: none;
35
  text-transform: uppercase;
36
  }
37
+
38
+
39
+ .wppr-template .wppr-dashicons {
40
+ height: 47px;
41
+ width: 47px;
42
+ font-size: 47px;
43
+ }
assets/css/default.css CHANGED
@@ -375,7 +375,7 @@
375
  }
376
 
377
  #review-statistics .rev-option ul > li {
378
- font-family: FontAwesome;
379
  }
380
 
381
  #review-statistics .review-wrap-up .review-wu-right ul {
375
  }
376
 
377
  #review-statistics .rev-option ul > li {
378
+ font-family: dashicons;
379
  }
380
 
381
  #review-statistics .review-wrap-up .review-wu-right ul {
assets/css/editor.css CHANGED
@@ -30,7 +30,7 @@ h4 {
30
  margin-left: 11px;
31
  }
32
 
33
- .wppr-review-section input[type="text"] {
34
  width: 200px;
35
  }
36
 
@@ -129,3 +129,21 @@ label.wppr-upsell-label {
129
  margin-top: -42px;
130
  margin-right: 10px;
131
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
30
  margin-left: 11px;
31
  }
32
 
33
+ .wppr-review-section input[type="text"]:not(.regular-text) {
34
  width: 200px;
35
  }
36
 
129
  margin-top: -42px;
130
  margin-right: 10px;
131
  }
132
+
133
+
134
+ .wppr-review-type-fields {
135
+ display: block;
136
+ }
137
+
138
+ .wppr-review-type {
139
+ margin-bottom: 2% !important;
140
+ }
141
+
142
+ .wppr-review-type-field p.desc {
143
+ color: #928b8b;
144
+ }
145
+
146
+ li.wppr-review-type-field label {
147
+ width: 30%;
148
+ }
149
+
assets/css/font-awesome.min.css CHANGED
@@ -1563,4 +1563,4 @@
1563
  }
1564
  .fa-bomb:before {
1565
  content: "\f1e2";
1566
- }
1563
  }
1564
  .fa-bomb:before {
1565
  content: "\f1e2";
1566
+ }
assets/css/fontawesome-compat.css ADDED
@@ -0,0 +1,8 @@
 
 
 
 
 
 
 
 
1
+ #review-statistics .rev-option ul > li {
2
+ font-family: FontAwesome !important;
3
+ }
4
+
5
+ .wppr-template-2 .wppr-review-option-rating li {
6
+ font-family: FontAwesome !important;
7
+ }
8
+
assets/css/style1.css CHANGED
@@ -23,7 +23,7 @@ Template 1
23
  display: table-cell;
24
  float: left;
25
  position: relative;
26
- font-family: FontAwesome;
27
  font-size: 38px;
28
  -webkit-font-smoothing: antialiased;
29
  line-height: 1;
@@ -239,7 +239,7 @@ Template 1
239
  display: inline-block;
240
  height: auto;
241
  background: transparent !important;
242
- font-family: FontAwesome;
243
  font-size: 22px;
244
  -webkit-font-smoothing: antialiased;
245
  text-align: center;
23
  display: table-cell;
24
  float: left;
25
  position: relative;
26
+ font-family: dashicons;
27
  font-size: 38px;
28
  -webkit-font-smoothing: antialiased;
29
  line-height: 1;
239
  display: inline-block;
240
  height: auto;
241
  background: transparent !important;
242
+ font-family: dashicons;
243
  font-size: 22px;
244
  -webkit-font-smoothing: antialiased;
245
  text-align: center;
assets/css/style2.css CHANGED
@@ -182,7 +182,7 @@ Template 2
182
  display: inline-block;
183
  float: left;
184
  margin-right: 10px;
185
- font-family: FontAwesome;
186
  font-size: 25px;
187
  -webkit-font-smoothing: antialiased;
188
  line-height: 1;
182
  display: inline-block;
183
  float: left;
184
  margin-right: 10px;
185
+ font-family: dashicons;
186
  font-size: 25px;
187
  -webkit-font-smoothing: antialiased;
188
  line-height: 1;
assets/js/admin-review.js CHANGED
@@ -1,52 +1,103 @@
1
  /* jshint ignore:start */
2
- jQuery( document ).ready(function(){
 
 
3
 
4
- var meta_image_frame;
5
 
6
- jQuery( '#wppr-editor-image-button' ).click(function(e){
7
 
8
- e.preventDefault();
9
 
10
- if ( meta_image_frame ) {
11
- wp.media.frame.open();
12
- return;
13
- }
14
- var mtitle = editor_vars.image_title ;
15
- var mbutton = editor_vars.image_button;
16
 
17
- meta_image_frame = wp.media.frames.meta_image_frame = wp.media({
18
- title: mtitle,
19
- button: { text: mbutton },
20
- library: { type: 'image' }
21
- });
22
 
23
- meta_image_frame.on('select', function(){
24
 
25
- var media_attachment = meta_image_frame.state().get( 'selection' ).first().toJSON();
26
 
27
- jQuery( '#wppr-editor-image' ).val( media_attachment.url );
28
- });
29
 
30
- wp.media.frame.open();
31
- });
32
 
33
- jQuery( 'input:radio[name="wppr-review-status"]' ).change(function(){
34
- var value = jQuery( this ).val();
35
- if (value === "yes") {
36
 
37
- jQuery( "#wppr-meta-yes" ).show();
38
- jQuery( "#wppr-meta-no" ).show();
39
- } else {
40
- jQuery( "#wppr-meta-yes" ).hide();
41
- jQuery( "#wppr-meta-no" ).hide();
42
- }
43
- });
44
 
45
- jQuery( '#wppr-editor-new-link' ).click(function(e){
46
- e.preventDefault();
47
- jQuery( '.hidden_fields' ).show();
48
- jQuery( this ).hide();
49
- return false;
50
- })
51
 
52
- });
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
  /* jshint ignore:start */
2
+ (function($){
3
+
4
+ $( document ).ready(function(){
5
 
6
+ var meta_image_frame;
7
 
8
+ $( '#wppr-editor-image-button' ).click(function(e){
9
 
10
+ e.preventDefault();
11
 
12
+ if ( meta_image_frame ) {
13
+ wp.media.frame.open();
14
+ return;
15
+ }
16
+ var mtitle = editor_vars.image_title ;
17
+ var mbutton = editor_vars.image_button;
18
 
19
+ meta_image_frame = wp.media.frames.meta_image_frame = wp.media({
20
+ title: mtitle,
21
+ button: { text: mbutton },
22
+ library: { type: 'image' }
23
+ });
24
 
25
+ meta_image_frame.on('select', function(){
26
 
27
+ var media_attachment = meta_image_frame.state().get( 'selection' ).first().toJSON();
28
 
29
+ $( '#wppr-editor-image' ).val( media_attachment.url );
30
+ });
31
 
32
+ wp.media.frame.open();
33
+ });
34
 
35
+ $( 'input:radio[name="wppr-review-status"]' ).change(function(){
36
+ var value = $( this ).val();
37
+ if (value === "yes") {
38
 
39
+ $( "#wppr-meta-yes" ).show();
40
+ $( "#wppr-meta-no" ).show();
41
+ } else {
42
+ $( "#wppr-meta-yes" ).hide();
43
+ $( "#wppr-meta-no" ).hide();
44
+ }
45
+ });
46
 
47
+ $( '#wppr-editor-new-link' ).click(function(e){
48
+ e.preventDefault();
49
+ $( '.hidden_fields' ).show();
50
+ $( this ).hide();
51
+ return false;
52
+ });
53
 
54
+ $type = $('#wppr-editor-review-type').val();
55
+ if($type !== ''){
56
+ populate_schema($type);
57
+ }
58
+
59
+ $('#wppr-editor-review-type').on('change', function(e){
60
+ $type = $(this).val();
61
+ populate_schema($type);
62
+ });
63
+
64
+ $('.wppr-review-type-fields-toggle a').on('click', function(e){
65
+ e.preventDefault();
66
+ if($('.wppr-review-type-fields').hasClass('hide')){
67
+ $('.wppr-review-type-fields').removeClass('hide');
68
+ $('.wppr-review-type-fields-toggle span').html('-');
69
+ }else{
70
+ $('.wppr-review-type-fields').addClass('hide');
71
+ $('.wppr-review-type-fields-toggle span').html('+');
72
+ }
73
+ });
74
+
75
+ });
76
+
77
+ function populate_schema($type){
78
+ $json = $values = null;
79
+ $data = $('#wppr-review-type-fields-template').attr('data-json');
80
+ if(typeof $data !== 'undefined'){
81
+ $json = JSON.parse($data);
82
+ }
83
+ $data = $('#wppr-review-type-fields-template').attr('data-custom-fields');
84
+ if(typeof $data !== 'undefined'){
85
+ $values = JSON.parse($data);
86
+ }
87
+ $saved_type = $('#wppr-review-type-fields-template').attr('data-type');
88
+ $template = $('#wppr-review-type-fields-template').html();
89
+ $html = '';
90
+ if($json !== null){
91
+ $.each($json[$type], function(name, data){
92
+ $value = '';
93
+ if($type === $saved_type && $values !== null){
94
+ $value = $values[name];
95
+ }
96
+ $desc = data.desc.replace(/<a /g, '<a target="blank" ');
97
+ $html += $template.replace(/#name#/g, name).replace(/#desc#/, $desc).replace(/#value#/g, $value);
98
+ });
99
+ $('.wppr-review-type-fields').empty().append($html);
100
+ }
101
+ }
102
+
103
+ })(jQuery);
assets/js/post.js ADDED
@@ -0,0 +1,18 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ /* global jQuery */
2
+
3
+ (function($){
4
+
5
+ $(document).ready(function(){
6
+ onReady();
7
+ });
8
+
9
+ function onReady() {
10
+ $('.wppr-review-type').accordion({
11
+ heightStyle: 'content',
12
+ collapsible: true,
13
+ active: false,
14
+ icons: false
15
+ });
16
+ }
17
+
18
+ })(jQuery);
assets/js/widget-admin.js CHANGED
@@ -93,7 +93,8 @@
93
  type : params.selected
94
  },
95
  success : function(data){
96
- if(data.data.categories){
 
97
  var $all = '';
98
  $.each(data.data.categories, function(tax, arr){
99
  var $group = '<optgroup label="' + tax + '">';
@@ -103,9 +104,9 @@
103
  $group += '</optgroup>';
104
  $all += $group;
105
  });
106
- categories.empty().append($all);
107
- categories.trigger("chosen:updated");
108
  }
 
109
  $('.wppr-cat-spinner').css('visibility', 'hidden').hide();
110
  }
111
  });
93
  type : params.selected
94
  },
95
  success : function(data){
96
+ categories.empty();
97
+ if(data.data && data.data.categories){
98
  var $all = '';
99
  $.each(data.data.categories, function(tax, arr){
100
  var $group = '<optgroup label="' + tax + '">';
104
  $group += '</optgroup>';
105
  $all += $group;
106
  });
107
+ categories.append($all);
 
108
  }
109
+ categories.trigger("chosen:updated");
110
  $('.wppr-cat-spinner').css('visibility', 'hidden').hide();
111
  }
112
  });
class-wppr-autoloader.php CHANGED
@@ -96,7 +96,7 @@ class WPPR_Autoloader {
96
  require_once 'class-wppr-recursive-filter.php';
97
 
98
  if ( is_null( static::$file_iterator ) ) {
99
- $Iterator = new RecursiveIteratorIterator(
100
  new Wppr_Recursive_Filter(
101
  $directory,
102
  array(
@@ -105,8 +105,8 @@ class WPPR_Autoloader {
105
  )
106
  )
107
  );
108
- $Regex = new RegexIterator( $Iterator, '/^.+\.php$/i', RecursiveRegexIterator::MATCH );
109
- static::$file_iterator = iterator_to_array( $Regex, false );
110
  }
111
 
112
  $filename = 'class-' . str_replace( '_', '-', strtolower( $class_name ) ) . static::$file_ext;
@@ -133,7 +133,7 @@ class WPPR_Autoloader {
133
  protected static function check_namespaces( $class_name ) {
134
  $found = false;
135
  foreach ( static::$namespaces as $namespace ) {
136
- if ( substr( $class_name, 0, strlen( $namespace ) ) == $namespace ) {
137
  $found = true;
138
  }
139
  }
@@ -213,7 +213,7 @@ class WPPR_Autoloader {
213
  * @return bool
214
  */
215
  public static function filter_excluded_files( \SplFileInfo $file, $key, \RecursiveDirectoryIterator $iterator ) {
216
- if ( ! in_array( $file->getFilename(), static::$excluded_files ) ) {
217
  return true;
218
  }
219
 
96
  require_once 'class-wppr-recursive-filter.php';
97
 
98
  if ( is_null( static::$file_iterator ) ) {
99
+ $iterator = new RecursiveIteratorIterator(
100
  new Wppr_Recursive_Filter(
101
  $directory,
102
  array(
105
  )
106
  )
107
  );
108
+ $regex = new RegexIterator( $iterator, '/^.+\.php$/i', RecursiveRegexIterator::MATCH );
109
+ static::$file_iterator = iterator_to_array( $regex, false );
110
  }
111
 
112
  $filename = 'class-' . str_replace( '_', '-', strtolower( $class_name ) ) . static::$file_ext;
133
  protected static function check_namespaces( $class_name ) {
134
  $found = false;
135
  foreach ( static::$namespaces as $namespace ) {
136
+ if ( substr( $class_name, 0, strlen( $namespace ) ) === $namespace ) {
137
  $found = true;
138
  }
139
  }
213
  * @return bool
214
  */
215
  public static function filter_excluded_files( \SplFileInfo $file, $key, \RecursiveDirectoryIterator $iterator ) {
216
+ if ( ! in_array( $file->getFilename(), static::$excluded_files, true ) ) {
217
  return true;
218
  }
219
 
includes/admin/class-wppr-admin.php CHANGED
@@ -76,13 +76,19 @@ class WPPR_Admin {
76
  * class.
77
  */
78
 
79
- if ( $hook == 'toplevel_page_wppr' ) {
80
- wp_enqueue_style( 'wp-color-picker' );
81
- wp_enqueue_style( $this->plugin_name . '-dashboard-css', WPPR_URL . '/assets/css/dashboard_styles.css', array(), $this->version );
82
- wp_enqueue_style( $this->plugin_name . '-admin-css', WPPR_URL . '/assets/css/admin.css', array(), $this->version );
83
- }
84
- if ( $hook == 'product-review_page_wppr_pro_upsell' || $hook == 'toplevel_page_wppr' ) {
85
- wp_enqueue_style( $this->plugin_name . '-upsell-css', WPPR_URL . '/assets/css/upsell.css', array(), $this->version );
 
 
 
 
 
 
86
  }
87
  }
88
 
@@ -108,16 +114,13 @@ class WPPR_Admin {
108
  * class.
109
  */
110
 
111
- if ( $hook == 'toplevel_page_wppr' ) {
112
- wp_enqueue_script(
113
- $this->plugin_name . '-admin-js',
114
- WPPR_URL . '/assets/js/admin.js',
115
- array(
116
- 'jquery',
117
- 'wp-color-picker',
118
- ),
119
- $this->version
120
- );
121
  }
122
 
123
  $this->load_review_cpt();
@@ -194,10 +197,10 @@ class WPPR_Admin {
194
  if ( ! isset( $nonce['name'] ) ) {
195
  die( 'invalid nonce field' );
196
  }
197
- if ( $nonce['name'] != 'wppr_nonce_settings' ) {
198
  die( 'invalid nonce name' );
199
  }
200
- if ( wp_verify_nonce( $nonce['value'], 'wppr_save_global_settings' ) != 1 ) {
201
  die( 'invalid nonce value' );
202
  }
203
 
@@ -232,10 +235,10 @@ class WPPR_Admin {
232
  if ( ! isset( $nonce['name'] ) ) {
233
  die( 'invalid nonce field' );
234
  }
235
- if ( $nonce['name'] != 'wppr_nonce_settings' ) {
236
  die( 'invalid nonce name' );
237
  }
238
- if ( wp_verify_nonce( $nonce['value'], 'wppr_save_global_settings' ) != 1 ) {
239
  die( 'invalid nonce value' );
240
  }
241
 
@@ -368,7 +371,7 @@ class WPPR_Admin {
368
  $post_types = apply_filters( 'wppr_post_types_custom_columns', array() );
369
  if ( $post_types ) {
370
  foreach ( $post_types as $post_type ) {
371
- $type = in_array( $post_type, array( 'post', 'page' ) ) ? "{$post_type}s" : "{$post_type}_posts";
372
  add_filter( "manage_{$type}_columns", array( $this, 'manage_posts_columns' ), 10, 1 );
373
  add_action( "manage_{$type}_custom_column", array( $this, 'manage_posts_custom_column' ), 10, 2 );
374
  }
@@ -384,7 +387,7 @@ class WPPR_Admin {
384
  */
385
  public function restrict_manage_posts( $post_type, $which ) {
386
  $post_types = apply_filters( 'wppr_post_types_custom_filter', array( 'post', 'page' ) );
387
- if ( ! $post_types || ! in_array( $post_type, $post_types ) ) {
388
  return;
389
  }
390
 
@@ -410,7 +413,7 @@ class WPPR_Admin {
410
  }
411
 
412
  $post_types = apply_filters( 'wppr_post_types_custom_filter', array( 'post', 'page' ) );
413
- if ( ! in_array( $query->query['post_type'], $post_types ) ) {
414
  return $query;
415
  }
416
 
@@ -459,7 +462,7 @@ class WPPR_Admin {
459
  if ( ! isset( $current_screen->id ) ) {
460
  return;
461
  }
462
- if ( $current_screen->id != 'wppr_review' ) {
463
  return;
464
  }
465
 
@@ -536,7 +539,7 @@ class WPPR_Admin {
536
  */
537
  public function settings_section_upsell( $section ) {
538
  if ( 'general' === $section ) {
539
- echo '<label class="wppr-upsell-label"> You can display the review using the <b>[P_REVIEW]</b> shortcode. You can read more about it <a href="https://docs.themeisle.com/article/449-wp-product-review-shortcode-documentation" target="_blank">here</a></label>.';
540
  }
541
  }
542
 
76
  * class.
77
  */
78
 
79
+ switch ( $hook ) {
80
+ case 'toplevel_page_wppr':
81
+ wp_enqueue_style( 'wp-color-picker' );
82
+ wp_enqueue_style( $this->plugin_name . '-dashboard-css', WPPR_URL . '/assets/css/dashboard_styles.css', array(), $this->version );
83
+ wp_enqueue_style( $this->plugin_name . '-admin-css', WPPR_URL . '/assets/css/admin.css', array(), $this->version );
84
+ // fall-through
85
+ case 'product-review_page_wppr_pro_upsell':
86
+ wp_enqueue_style( $this->plugin_name . '-upsell-css', WPPR_URL . '/assets/css/upsell.css', array(), $this->version );
87
+ break;
88
+ case 'post.php':
89
+ $wp_scripts = wp_scripts();
90
+ wp_enqueue_style( $this->plugin_name . '-jquery-ui', sprintf( '//ajax.googleapis.com/ajax/libs/jqueryui/%s/themes/smoothness/jquery-ui.css', $wp_scripts->registered['jquery-ui-core']->ver ), array(), $this->version );
91
+ break;
92
  }
93
  }
94
 
114
  * class.
115
  */
116
 
117
+ switch ( $hook ) {
118
+ case 'toplevel_page_wppr':
119
+ wp_enqueue_script( $this->plugin_name . '-admin-js', WPPR_URL . '/assets/js/admin.js', array( 'jquery', 'wp-color-picker' ), $this->version );
120
+ break;
121
+ case 'post.php':
122
+ wp_enqueue_script( $this->plugin_name . '-post', WPPR_URL . '/assets/js/post.js', array( 'jquery-ui-accordion' ), $this->version );
123
+ break;
 
 
 
124
  }
125
 
126
  $this->load_review_cpt();
197
  if ( ! isset( $nonce['name'] ) ) {
198
  die( 'invalid nonce field' );
199
  }
200
+ if ( $nonce['name'] !== 'wppr_nonce_settings' ) {
201
  die( 'invalid nonce name' );
202
  }
203
+ if ( wp_verify_nonce( $nonce['value'], 'wppr_save_global_settings' ) !== 1 ) {
204
  die( 'invalid nonce value' );
205
  }
206
 
235
  if ( ! isset( $nonce['name'] ) ) {
236
  die( 'invalid nonce field' );
237
  }
238
+ if ( $nonce['name'] !== 'wppr_nonce_settings' ) {
239
  die( 'invalid nonce name' );
240
  }
241
+ if ( wp_verify_nonce( $nonce['value'], 'wppr_save_global_settings' ) !== 1 ) {
242
  die( 'invalid nonce value' );
243
  }
244
 
371
  $post_types = apply_filters( 'wppr_post_types_custom_columns', array() );
372
  if ( $post_types ) {
373
  foreach ( $post_types as $post_type ) {
374
+ $type = in_array( $post_type, array( 'post', 'page' ), true ) ? "{$post_type}s" : "{$post_type}_posts";
375
  add_filter( "manage_{$type}_columns", array( $this, 'manage_posts_columns' ), 10, 1 );
376
  add_action( "manage_{$type}_custom_column", array( $this, 'manage_posts_custom_column' ), 10, 2 );
377
  }
387
  */
388
  public function restrict_manage_posts( $post_type, $which ) {
389
  $post_types = apply_filters( 'wppr_post_types_custom_filter', array( 'post', 'page' ) );
390
+ if ( ! $post_types || ! in_array( $post_type, $post_types, true ) ) {
391
  return;
392
  }
393
 
413
  }
414
 
415
  $post_types = apply_filters( 'wppr_post_types_custom_filter', array( 'post', 'page' ) );
416
+ if ( ! in_array( $query->query['post_type'], $post_types, true ) ) {
417
  return $query;
418
  }
419
 
462
  if ( ! isset( $current_screen->id ) ) {
463
  return;
464
  }
465
+ if ( $current_screen->id !== 'wppr_review' ) {
466
  return;
467
  }
468
 
539
  */
540
  public function settings_section_upsell( $section ) {
541
  if ( 'general' === $section ) {
542
+ echo '<label class="wppr-upsell-label"> You can display the review using the <b>[P_REVIEW]</b> shortcode. You can read more about it <a href="https://docs.themeisle.com/article/449-wp-product-review-shortcode-documentation" target="_blank">here</a></label>';
543
  }
544
  }
545
 
includes/admin/class-wppr-global-settings.php CHANGED
@@ -66,6 +66,16 @@ class WPPR_Global_Settings {
66
  'reset' => __( 'Reset Statistics', 'wp-product-review' ),
67
  )
68
  );
 
 
 
 
 
 
 
 
 
 
69
  self::$instance->fields = apply_filters(
70
  'wppr_settings_fields',
71
  array(
@@ -75,11 +85,7 @@ class WPPR_Global_Settings {
75
  'name' => __( 'Position of the review box', 'wp-product-review' ),
76
  'description' => '',
77
  'type' => 'select',
78
- 'options' => array(
79
- 'yes' => __( 'After content', 'wp-product-review' ),
80
- 'no' => __( 'Before content', 'wp-product-review' ),
81
- 'manual' => __( 'Manually placed', 'wp-product-review' ),
82
- ),
83
  'default' => 'yes',
84
  ),
85
  'cwppos_show_userreview' => array(
@@ -149,17 +155,6 @@ class WPPR_Global_Settings {
149
  ),
150
  'default' => 'no',
151
  ),
152
- 'cwppos_fontawesome' => array(
153
- 'type' => 'select',
154
- 'name' => __( 'Disable Font Awesome', 'wp-product-review' ),
155
- 'description' => __( 'Disable Font Awesome for websites that already are including it (increase loading speed)', 'wp-product-review' ),
156
- 'id' => 'use_fontawesome',
157
- 'options' => array(
158
- 'yes' => __( 'Yes', 'wp-product-review' ),
159
- 'no' => __( 'No', 'wp-product-review' ),
160
- ),
161
- 'default' => 'no',
162
- ),
163
  'wppr_rich_snippet' => array(
164
  'type' => 'select',
165
  'name' => __( 'Enable Rich Snippets', 'wp-product-review' ),
66
  'reset' => __( 'Reset Statistics', 'wp-product-review' ),
67
  )
68
  );
69
+
70
+ $placement = array(
71
+ 'yes' => __( 'After content', 'wp-product-review' ),
72
+ 'no' => __( 'Before content', 'wp-product-review' ),
73
+ );
74
+
75
+ if ( defined( 'WPPR_PRO_VERSION' ) ) {
76
+ $placement['manual'] = __( 'Manually placed', 'wp-product-review' );
77
+ }
78
+
79
  self::$instance->fields = apply_filters(
80
  'wppr_settings_fields',
81
  array(
85
  'name' => __( 'Position of the review box', 'wp-product-review' ),
86
  'description' => '',
87
  'type' => 'select',
88
+ 'options' => $placement,
 
 
 
 
89
  'default' => 'yes',
90
  ),
91
  'cwppos_show_userreview' => array(
155
  ),
156
  'default' => 'no',
157
  ),
 
 
 
 
 
 
 
 
 
 
 
158
  'wppr_rich_snippet' => array(
159
  'type' => 'select',
160
  'name' => __( 'Enable Rich Snippets', 'wp-product-review' ),
includes/admin/controllers/class-wppr-admin-render-controller.php CHANGED
@@ -111,33 +111,26 @@ class WPPR_Admin_Render_Controller {
111
  * @return mixed
112
  */
113
  public function add_element( $field ) {
114
- $output = '
115
- <div class="controls">
116
- <div class="explain"><h4>' . $field['title'] . '</h4></div>
117
- <div class="controls-content">
118
- ';
 
 
 
119
  switch ( $field['type'] ) {
120
  case 'input_text':
121
  $output .= $this->html_helper->text( $field );
122
  break;
123
- case 'select':
124
- $output .= $this->html_helper->select( $field );
125
- break;
126
- case 'color':
127
- $output .= $this->html_helper->color( $field );
128
- break;
129
- case 'text':
130
- $output .= $this->html_helper->text( $field );
131
- break;
132
- case 'icon_font':
133
- $output .= $this->html_helper->icon_font( $field );
134
- break;
135
- case 'button':
136
- $output .= $this->html_helper->button( $field );
137
  break;
138
  }
139
-
140
- $output .= '<p class="field_description">' . $field['description'] . '</p></div></div><hr/>';
 
141
  echo $output;
142
 
143
  if ( isset( $errors ) ) {
111
  * @return mixed
112
  */
113
  public function add_element( $field ) {
114
+ $output = '';
115
+ if ( 'hidden' !== $field['type'] ) {
116
+ $output = '
117
+ <div class="controls">
118
+ <div class="explain"><h4>' . $field['title'] . '</h4></div>
119
+ <div class="controls-content">
120
+ ';
121
+ }
122
  switch ( $field['type'] ) {
123
  case 'input_text':
124
  $output .= $this->html_helper->text( $field );
125
  break;
126
+ default:
127
+ $method = $field['type'];
128
+ $output .= $this->html_helper->$method( $field );
 
 
 
 
 
 
 
 
 
 
 
129
  break;
130
  }
131
+ if ( 'hidden' !== $field['type'] ) {
132
+ $output .= '<p class="field_description">' . $field['description'] . '</p></div></div><hr/>';
133
+ }
134
  echo $output;
135
 
136
  if ( isset( $errors ) ) {
includes/admin/helpers/class-wppr-html-fields.php CHANGED
@@ -99,11 +99,15 @@ class WPPR_Html_Fields {
99
  if ( is_null( $args['id'] ) ) {
100
  $args['id'] = $args['name'];
101
  }
102
- if ( $args['value'] == null ) {
103
  $args['value'] = $args['default'];
104
  }
105
  $output = '<input type="text" ' . $disabled . ' name="' . esc_attr( $args['name'] ) . '" id="' . esc_attr( $args['id'] ) . '" class="' . $class . '" value="' . esc_attr( $args['value'] ) . '" placeholder="' . esc_attr( $args['placeholder'] ) . '" />';
106
 
 
 
 
 
107
  return apply_filters( 'wppr_field', $output, $args );
108
  }
109
 
@@ -153,7 +157,7 @@ class WPPR_Html_Fields {
153
  );
154
  $args = wp_parse_args( $args, $defaults );
155
  $class = $this->validate_class( $args['class'] );
156
- if ( $args['value'] == null ) {
157
  $args['value'] = $args['default'];
158
  }
159
  $disabled = '';
@@ -164,9 +168,9 @@ class WPPR_Html_Fields {
164
  foreach ( $args['options'] as $ov => $op ) {
165
  $options[ esc_attr( $ov ) ] = esc_html( $op );
166
  }
167
- $output = '<select class="' . $class . '" name="' . esc_attr( $args['name'] ) . '"' . $disabled . ' > ';
168
  foreach ( $options as $k => $v ) {
169
- $output .= "<option value='" . $k . "' " . ( ( isset( $args['value'] ) && $args['value'] == $k ) ? 'selected' : '' ) . '>' . $v . '</option>';
170
  }
171
  $output .= '</select>';
172
 
@@ -189,7 +193,7 @@ class WPPR_Html_Fields {
189
  );
190
  $args = wp_parse_args( $args, $defaults );
191
  $class = $this->validate_class( $args['class'] );
192
- if ( $args['value'] == null ) {
193
  $args['value'] = $args['default'];
194
  }
195
  $output = '<input type="hidden" class="' . $class . '" id="' . esc_attr( $args['id'] ) . '_color" name="' . esc_attr( $args['name'] ) . '" value="' . esc_attr( $args['value'] ) . '"/></br>
@@ -201,6 +205,7 @@ class WPPR_Html_Fields {
201
  /**
202
  * Render a Icon font picker.
203
  *
 
204
  * @since 3.0.0
205
  * @access public
206
  * @param array $args The settings of the input.
@@ -218,7 +223,7 @@ class WPPR_Html_Fields {
218
  } else {
219
  $value = $args['value'];
220
  }
221
- if ( trim( $value ) != '' ) {
222
  $active_icon = '
223
  <i class="fa fa-fw">&' . $value . '</i>
224
  <a href="#" class="useDefault">' . __( '. Use Default Styling', 'wp-product-review' ) . ' </a>
@@ -241,6 +246,44 @@ class WPPR_Html_Fields {
241
  return apply_filters( 'wppr_field', $output, $args );
242
  }
243
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
244
  /**
245
  * Render a heading.
246
  *
@@ -278,4 +321,23 @@ class WPPR_Html_Fields {
278
  $output = '<' . $args['type'] . ' type="' . esc_attr( $args['subtype'] ) . '" class="' . $class . '" name="' . esc_attr( $args['name'] ) . '" value="' . esc_attr( $args['placeholder'] ) . '">' . $args['placeholder'] . '</' . $args['type'] . '>';
279
  return apply_filters( 'wppr_field', $output, $args );
280
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
281
  }
99
  if ( is_null( $args['id'] ) ) {
100
  $args['id'] = $args['name'];
101
  }
102
+ if ( $args['value'] === null ) {
103
  $args['value'] = $args['default'];
104
  }
105
  $output = '<input type="text" ' . $disabled . ' name="' . esc_attr( $args['name'] ) . '" id="' . esc_attr( $args['id'] ) . '" class="' . $class . '" value="' . esc_attr( $args['value'] ) . '" placeholder="' . esc_attr( $args['placeholder'] ) . '" />';
106
 
107
+ if ( isset( $args['desc'] ) ) {
108
+ $output .= '<p class="desc">' . $args['desc'] . '</p>';
109
+ }
110
+
111
  return apply_filters( 'wppr_field', $output, $args );
112
  }
113
 
157
  );
158
  $args = wp_parse_args( $args, $defaults );
159
  $class = $this->validate_class( $args['class'] );
160
+ if ( $args['value'] === null ) {
161
  $args['value'] = $args['default'];
162
  }
163
  $disabled = '';
168
  foreach ( $args['options'] as $ov => $op ) {
169
  $options[ esc_attr( $ov ) ] = esc_html( $op );
170
  }
171
+ $output = '<select class="' . $class . '" id="' . esc_attr( $args['name'] ) . '" name="' . esc_attr( $args['name'] ) . '"' . $disabled . ' > ';
172
  foreach ( $options as $k => $v ) {
173
+ $output .= "<option value='" . $k . "' " . ( ( isset( $args['value'] ) && $args['value'] === $k ) ? 'selected' : '' ) . '>' . $v . '</option>';
174
  }
175
  $output .= '</select>';
176
 
193
  );
194
  $args = wp_parse_args( $args, $defaults );
195
  $class = $this->validate_class( $args['class'] );
196
+ if ( $args['value'] === null ) {
197
  $args['value'] = $args['default'];
198
  }
199
  $output = '<input type="hidden" class="' . $class . '" id="' . esc_attr( $args['id'] ) . '_color" name="' . esc_attr( $args['name'] ) . '" value="' . esc_attr( $args['value'] ) . '"/></br>
205
  /**
206
  * Render a Icon font picker.
207
  *
208
+ * @deprecated 3.6.0 This will be replaced by the function `icon`.
209
  * @since 3.0.0
210
  * @access public
211
  * @param array $args The settings of the input.
223
  } else {
224
  $value = $args['value'];
225
  }
226
+ if ( trim( $value ) !== '' ) {
227
  $active_icon = '
228
  <i class="fa fa-fw">&' . $value . '</i>
229
  <a href="#" class="useDefault">' . __( '. Use Default Styling', 'wp-product-review' ) . ' </a>
246
  return apply_filters( 'wppr_field', $output, $args );
247
  }
248
 
249
+ /**
250
+ * Render a Icon picker.
251
+ *
252
+ * @since 3.6.0
253
+ * @access public
254
+ * @param array $args The settings of the input.
255
+ * @return mixed
256
+ */
257
+ public function icon( $args ) {
258
+ $defaults = $this->define_defaults(
259
+ array(
260
+ 'class' => 'cwp_bar_icon_field',
261
+ )
262
+ );
263
+ $args = wp_parse_args( $args, $defaults );
264
+ if ( is_array( $args['value'] ) ) {
265
+ $value = $args['value'][0];
266
+ } else {
267
+ $value = $args['value'];
268
+ }
269
+
270
+ $icons = $args['options'];
271
+ $output = '<div class="' . $args['class'] . '">';
272
+ $index = 0;
273
+ foreach ( $icons as $icon ) {
274
+ $selected = empty( $value ) && $index++ === 0 ? 'selected' : ( trim( $value ) === substr( $icon, 1 ) ? 'selected' : '' );
275
+ $output .= '<i id="' . substr( $icon, 3 ) . '" class="dashicons ' . $selected . '" data-icon-value="' . substr( $icon, 1 ) . '"></i>';
276
+ }
277
+ $output .= '<input type="hidden" id="' . esc_attr( $args['name'] . '-hidden' ) . '" name="' . esc_attr( $args['name'] ) . '" value="' . esc_attr( $value ) . '">';
278
+ $output .= '</div>';
279
+
280
+ if ( ! class_exists( 'WPPR_PRO' ) ) {
281
+ $output = '<span style="color:red;">' . __( 'You need the PRO <a style="color:red;" href="http://bit.ly/2bhylar" target="_blank" >add-on</a> in order to change the review icons.', 'wp-product-review' ) . '</span>';
282
+ }
283
+
284
+ return apply_filters( 'wppr_field', $output, $args );
285
+ }
286
+
287
  /**
288
  * Render a heading.
289
  *
321
  $output = '<' . $args['type'] . ' type="' . esc_attr( $args['subtype'] ) . '" class="' . $class . '" name="' . esc_attr( $args['name'] ) . '" value="' . esc_attr( $args['placeholder'] ) . '">' . $args['placeholder'] . '</' . $args['type'] . '>';
322
  return apply_filters( 'wppr_field', $output, $args );
323
  }
324
+
325
+ /**
326
+ * Render a hidden element.
327
+ *
328
+ * @since 2.4.0
329
+ * @access public
330
+ * @param array $args The settings of the input.
331
+ * @return mixed
332
+ */
333
+ public function hidden( $args ) {
334
+ $defaults = $this->define_defaults(
335
+ array(
336
+ )
337
+ );
338
+ $args = wp_parse_args( $args, $defaults );
339
+ $output = '<input type="hidden" name="' . esc_attr( $args['name'] ) . '" value="' . esc_attr( $args['value'] ) . '">';
340
+ return apply_filters( 'wppr_field', $output, $args );
341
+ }
342
+
343
  }
includes/admin/layouts/editor-default-tpl.php CHANGED
@@ -10,6 +10,8 @@
10
  * @since 3.0.0
11
  */
12
 
 
 
13
  $review = $model->review;
14
  if ( empty( $review ) ) {
15
  return;
@@ -53,6 +55,31 @@ $check = $review->is_active() ? 'yes' : 'no';
53
  <?php do_action( 'wppr_editor_details_before', $model->post ); ?>
54
  <div class="wppr-review-details-fields wppr-review-fieldset">
55
  <ul>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
56
  <?php
57
  $templates = apply_filters( 'wppr_review_templates', array( 'default', 'style1', 'style2' ) );
58
  if ( $templates ) {
@@ -405,3 +432,16 @@ $check = $review->is_active() ? 'yes' : 'no';
405
 
406
  <?php do_action( 'wppr_editor_after', $model->post ); ?>
407
  </div>
 
 
 
 
 
 
 
 
 
 
 
 
 
10
  * @since 3.0.0
11
  */
12
 
13
+ $schema = new WPPR_Schema_Model( array( 'CreativeWork' => array( 'Movie', 'Book', 'Course', 'Diet', 'Game', 'Painting' ), 'Thing' => array( 'Product' ) ) );
14
+
15
  $review = $model->review;
16
  if ( empty( $review ) ) {
17
  return;
55
  <?php do_action( 'wppr_editor_details_before', $model->post ); ?>
56
  <div class="wppr-review-details-fields wppr-review-fieldset">
57
  <ul>
58
+ <div class="wppr-review-type">
59
+ <h5>
60
+ <label for="wppr-editor-review-type"><?php _e( 'Review Type', 'wp-product-review' ); ?></label>
61
+ <?php
62
+ $schema_types = $schema->get_types();
63
+ $default = $review->get_type();
64
+ if ( empty( $default ) ) {
65
+ $default = 'Product';
66
+ }
67
+ echo $html_helper->select(
68
+ array(
69
+ 'name' => 'wppr-editor-review-type',
70
+ 'id' => 'wppr-editor-review-type',
71
+ 'value' => $default,
72
+ 'options' => array_combine(
73
+ array_keys( $schema_types ),
74
+ array_keys( $schema_types )
75
+ ),
76
+ )
77
+ );
78
+ ?>
79
+ </h5>
80
+ <div class="wppr-review-type-fields"></div>
81
+ </div>
82
+
83
  <?php
84
  $templates = apply_filters( 'wppr_review_templates', array( 'default', 'style1', 'style2' ) );
85
  if ( $templates ) {
432
 
433
  <?php do_action( 'wppr_editor_after', $model->post ); ?>
434
  </div>
435
+
436
+ <script id="wppr-review-type-fields-template" type="text/template"
437
+ data-json='<?php echo str_replace( "'", '\"', json_encode( $schema_types ) ); ?>'
438
+ data-type='<?php echo $review->get_type(); ?>'
439
+ data-custom-fields='<?php echo json_encode( $review->get_custom_fields() ); ?>'
440
+ >
441
+ <li class="wppr-review-type-field">
442
+ <label for="wppr-editor-review-type-field">#name#</label>
443
+ <input type="text" name="#name#" value="#value#" class="regular-text">
444
+ <input type="hidden" name="wppr-editor-review-type-field[]" value="#name#">
445
+ <p class="desc">#desc#</p>
446
+ </li>
447
+ </script>
includes/admin/layouts/widget-admin-tpl.php CHANGED
@@ -29,7 +29,7 @@
29
  <?php
30
  foreach( get_post_types( '', 'objects' ) as $post_type ) {
31
  ?>
32
- <option value="<?php echo $post_type->name;?>" <?php echo in_array($post_type->name, $instance['cwp_tp_post_types']) ? 'selected' : '';?>><?php echo $post_type->label;?></option>
33
  <?php
34
  }
35
  ?>
29
  <?php
30
  foreach( get_post_types( '', 'objects' ) as $post_type ) {
31
  ?>
32
+ <option value="<?php echo $post_type->name;?>" <?php echo in_array( $post_type->name, $instance['cwp_tp_post_types'], true) ? 'selected' : '';?>><?php echo $post_type->label;?></option>
33
  <?php
34
  }
35
  ?>
includes/admin/models/class-wppr-editor-model.php CHANGED
@@ -105,7 +105,7 @@ class WPPR_Editor_Model extends WPPR_Model_Abstract {
105
  if ( $this->review->is_active() ) {
106
  $links = $this->review->get_links();
107
  if ( ! empty( $links ) ) {
108
- if ( $key == 'wppr-editor-button-link' ) {
109
  $values = array_values( $links );
110
  } else {
111
  $values = array_keys( $links );
@@ -117,7 +117,7 @@ class WPPR_Editor_Model extends WPPR_Model_Abstract {
117
  if ( ! empty( $this->previous ) ) {
118
  $links = $this->previous->get_links();
119
  if ( ! empty( $links ) ) {
120
- if ( $key == 'wppr-editor-button-link' ) {
121
  $values = array_values( $links );
122
  } else {
123
  $values = array_keys( $links );
@@ -234,6 +234,24 @@ class WPPR_Editor_Model extends WPPR_Model_Abstract {
234
  $review->set_pros( $pros );
235
  $review->set_cons( $cons );
236
  $review->set_options( $options );
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
237
  $this->wppr_set_option( 'last_review', $review->get_ID() );
238
  } else {
239
  $review->deactivate();
105
  if ( $this->review->is_active() ) {
106
  $links = $this->review->get_links();
107
  if ( ! empty( $links ) ) {
108
+ if ( $key === 'wppr-editor-button-link' ) {
109
  $values = array_values( $links );
110
  } else {
111
  $values = array_keys( $links );
117
  if ( ! empty( $this->previous ) ) {
118
  $links = $this->previous->get_links();
119
  if ( ! empty( $links ) ) {
120
+ if ( $key === 'wppr-editor-button-link' ) {
121
  $values = array_values( $links );
122
  } else {
123
  $values = array_keys( $links );
234
  $review->set_pros( $pros );
235
  $review->set_cons( $cons );
236
  $review->set_options( $options );
237
+
238
+ $custom = isset( $data['wppr-editor-review-type-field'] ) ? $data['wppr-editor-review-type-field'] : array();
239
+ if ( is_array( $custom ) ) {
240
+ $custom = array_map( 'sanitize_text_field', $custom );
241
+ } else {
242
+ $custom = array();
243
+ }
244
+
245
+ $custom_fields = array();
246
+ if ( $custom ) {
247
+ foreach ( $custom as $field_name ) {
248
+ $custom_fields[ $field_name ] = sanitize_text_field( $data[ $field_name ] );
249
+ }
250
+ }
251
+
252
+ $review->set_type( $data['wppr-editor-review-type'] );
253
+ $review->set_custom_fields( $custom_fields );
254
+
255
  $this->wppr_set_option( 'last_review', $review->get_ID() );
256
  } else {
257
  $review->deactivate();
includes/admin/models/class-wppr-query-model.php CHANGED
@@ -137,7 +137,7 @@ class WPPR_Query_Model extends WPPR_Model_Abstract {
137
  $final_rating = "IF(`comment_rating` = 0, `rating`, (`comment_rating` * 10 * ( $comment_influence / 100 ) + `rating` * ( ( 100 - $comment_influence ) / 100 ) ) )";
138
  }
139
 
140
- $final_order = isset( $order['rating'] ) && in_array( $order['rating'], array( 'ASC', 'DESC' ) ) ? " ORDER BY `final_rating` {$order['rating']}" : '';
141
 
142
  $query = "
143
  SELECT ID, post_date, post_title, `check`, `name`, `price`, `rating`, `comment_rating`, FORMAT($final_rating, 2) as 'final_rating' FROM
@@ -221,14 +221,14 @@ class WPPR_Query_Model extends WPPR_Model_Abstract {
221
  */
222
  private function get_order_by( $order ) {
223
  $order_by = '';
224
- if ( isset( $order['rating'] ) && in_array( $order['rating'], array( 'ASC', 'DESC' ) ) ) {
225
  $order_by .= "`rating` {$order['rating']}, ";
226
  }
227
 
228
- if ( isset( $order['price'] ) && in_array( $order['price'], array( 'ASC', 'DESC' ) ) ) {
229
  $order_by .= "`price` {$order['price']}, ";
230
  }
231
- if ( isset( $order['date'] ) && in_array( $order['date'], array( 'ASC', 'DESC' ) ) ) {
232
  $order_by .= "`post_date` {$order['date']}, ";
233
  }
234
 
@@ -251,16 +251,16 @@ class WPPR_Query_Model extends WPPR_Model_Abstract {
251
  private function get_query_conditions( $post, $filter ) {
252
  $conditions = array( 'where' => '', 'having' => '' );
253
  $conditions['where'] = $this->get_sub_query_conditions( $post );
254
- if ( isset( $filter['name'] ) && $filter['name'] != false ) {
255
  $conditions['having'] .= $this->db->prepare( ' AND `name` LIKE %s ', '%' . $filter['name'] . '%' );
256
  }
257
 
258
  // TODO comparision arguments for price filter.
259
- if ( isset( $filter['price'] ) && $filter['price'] != false && is_numeric( $filter['price'] ) ) {
260
  $conditions['having'] .= $this->db->prepare( ' AND `price` > FORMAT( %d, 2 ) ', $filter['price'] );
261
  }
262
  // TODO comparision arguments for rating filter.
263
- if ( isset( $filter['rating'] ) && $filter['rating'] != false && is_numeric( $filter['rating'] ) ) {
264
  $conditions['having'] .= $this->db->prepare( ' AND `rating` > %f ', $filter['rating'] );
265
  }
266
 
@@ -281,11 +281,11 @@ class WPPR_Query_Model extends WPPR_Model_Abstract {
281
  */
282
  private function get_sub_query_conditions( $post ) {
283
  $sub_query_conditions = '';
284
- if ( isset( $post['category_id'] ) && $post['category_id'] != false && is_numeric( $post['category_id'] ) && $post['category_id'] > 0 ) {
285
  $sub_query_conditions .= $this->db->prepare( " AND wt.term_id = '%d' ", $post['category_id'] );
286
  }
287
 
288
- if ( isset( $post['category_name'] ) && $post['category_name'] != false ) {
289
  $sub_query_conditions .= $this->db->prepare( ' AND wt.slug = %s ', $post['category_name'] );
290
  }
291
  // TODO Check against available post_types.
137
  $final_rating = "IF(`comment_rating` = 0, `rating`, (`comment_rating` * 10 * ( $comment_influence / 100 ) + `rating` * ( ( 100 - $comment_influence ) / 100 ) ) )";
138
  }
139
 
140
+ $final_order = isset( $order['rating'] ) && in_array( $order['rating'], array( 'ASC', 'DESC' ), true ) ? " ORDER BY `final_rating` {$order['rating']}" : '';
141
 
142
  $query = "
143
  SELECT ID, post_date, post_title, `check`, `name`, `price`, `rating`, `comment_rating`, FORMAT($final_rating, 2) as 'final_rating' FROM
221
  */
222
  private function get_order_by( $order ) {
223
  $order_by = '';
224
+ if ( isset( $order['rating'] ) && in_array( $order['rating'], array( 'ASC', 'DESC' ), true ) ) {
225
  $order_by .= "`rating` {$order['rating']}, ";
226
  }
227
 
228
+ if ( isset( $order['price'] ) && in_array( $order['price'], array( 'ASC', 'DESC' ), true ) ) {
229
  $order_by .= "`price` {$order['price']}, ";
230
  }
231
+ if ( isset( $order['date'] ) && in_array( $order['date'], array( 'ASC', 'DESC' ), true ) ) {
232
  $order_by .= "`post_date` {$order['date']}, ";
233
  }
234
 
251
  private function get_query_conditions( $post, $filter ) {
252
  $conditions = array( 'where' => '', 'having' => '' );
253
  $conditions['where'] = $this->get_sub_query_conditions( $post );
254
+ if ( isset( $filter['name'] ) && $filter['name'] !== false ) {
255
  $conditions['having'] .= $this->db->prepare( ' AND `name` LIKE %s ', '%' . $filter['name'] . '%' );
256
  }
257
 
258
  // TODO comparision arguments for price filter.
259
+ if ( isset( $filter['price'] ) && $filter['price'] !== false && is_numeric( $filter['price'] ) ) {
260
  $conditions['having'] .= $this->db->prepare( ' AND `price` > FORMAT( %d, 2 ) ', $filter['price'] );
261
  }
262
  // TODO comparision arguments for rating filter.
263
+ if ( isset( $filter['rating'] ) && $filter['rating'] !== false && is_numeric( $filter['rating'] ) ) {
264
  $conditions['having'] .= $this->db->prepare( ' AND `rating` > %f ', $filter['rating'] );
265
  }
266
 
281
  */
282
  private function get_sub_query_conditions( $post ) {
283
  $sub_query_conditions = '';
284
+ if ( isset( $post['category_id'] ) && $post['category_id'] !== false && is_numeric( $post['category_id'] ) && $post['category_id'] > 0 ) {
285
  $sub_query_conditions .= $this->db->prepare( " AND wt.term_id = '%d' ", $post['category_id'] );
286
  }
287
 
288
+ if ( isset( $post['category_name'] ) && $post['category_name'] !== false ) {
289
  $sub_query_conditions .= $this->db->prepare( ' AND wt.slug = %s ', $post['category_name'] );
290
  }
291
  // TODO Check against available post_types.
includes/admin/models/class-wppr-review-model.php CHANGED
@@ -145,6 +145,22 @@ class WPPR_Review_Model extends WPPR_Model_Abstract {
145
  */
146
  private $template = 'default';
147
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
148
  /**
149
  * WPPR_Review constructor.
150
  *
@@ -177,6 +193,7 @@ class WPPR_Review_Model extends WPPR_Model_Abstract {
177
  $this->setup_pros_cons();
178
  $this->setup_options();
179
  $this->count_rating();
 
180
  if ( ! is_admin() ) {
181
  $this->alter_options();
182
  }
@@ -415,7 +432,7 @@ class WPPR_Review_Model extends WPPR_Model_Abstract {
415
  $options_nr = $this->wppr_get_option( 'cwppos_option_nr' );
416
  for ( $i = 1; $i <= $options_nr; $i ++ ) {
417
  $tmp_name = get_post_meta( $this->ID, 'option_' . $i . '_content', true );
418
- if ( $tmp_name != '' ) {
419
  $tmp_score = get_post_meta( $this->ID, 'option_' . $i . '_grade', true );
420
  $options[ $i ] = array(
421
  'name' => $tmp_name,
@@ -592,7 +609,7 @@ class WPPR_Review_Model extends WPPR_Model_Abstract {
592
  $options = array_merge( $options, $comment['options'] );
593
  }
594
 
595
- if ( count( $options ) != 0 ) {
596
  return ( array_sum( wp_list_pluck( $options, 'value' ) ) / count( $options ) );
597
  } else {
598
  return 0;
@@ -846,7 +863,7 @@ class WPPR_Review_Model extends WPPR_Model_Abstract {
846
  */
847
  public function set_click( $click ) {
848
  if ( $click === 'image' || $click === 'link' ) {
849
- if ( $this->click != $click ) {
850
  $this->click = $click;
851
 
852
  return update_post_meta( $this->ID, 'cwp_image_link', $this->click );
@@ -1164,11 +1181,12 @@ class WPPR_Review_Model extends WPPR_Model_Abstract {
1164
  public function get_json_ld() {
1165
  $ld = array(
1166
  '@context' => 'http://schema.org/',
1167
- '@type' => 'Product',
1168
  'name' => $this->get_name(),
1169
  'image' => $this->get_small_thumbnail(),
1170
  'description' => $this->get_excerpt(),
1171
  );
 
1172
  $ld['offers'] = array(
1173
  '@type' => 'Offer',
1174
  'price' => number_format( $this->get_price(), 2, '.', '' ),
@@ -1196,11 +1214,11 @@ class WPPR_Review_Model extends WPPR_Model_Abstract {
1196
  'datePublished' => get_the_time( 'Y-m-d', $this->get_ID() ),
1197
  );
1198
 
1199
- if ( $this->wppr_get_option( 'cwppos_show_userreview' ) != 'yes' ) {
1200
  $ld['review'] = $review_default;
1201
-
1202
- return $ld;
1203
  }
 
1204
  $ld['review'][] = $review_default;
1205
 
1206
  $comments = $this->get_comments_options();
@@ -1230,7 +1248,7 @@ class WPPR_Review_Model extends WPPR_Model_Abstract {
1230
  'reviewCount' => count( $ld['review'] ),
1231
  );
1232
 
1233
- return apply_filters( 'wppr_schema', $ld, $this );
1234
  }
1235
 
1236
  /**
@@ -1315,4 +1333,90 @@ class WPPR_Review_Model extends WPPR_Model_Abstract {
1315
  return 'wppr-weak';
1316
  }
1317
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1318
  }
145
  */
146
  private $template = 'default';
147
 
148
+ /**
149
+ * The schema type.
150
+ *
151
+ * @access private
152
+ * @var string $type The schema type.
153
+ */
154
+ private $type = 'Product';
155
+
156
+ /**
157
+ * The schema type custom fields.
158
+ *
159
+ * @access private
160
+ * @var array $custom_fields The schema type custom fields.
161
+ */
162
+ private $custom_fields;
163
+
164
  /**
165
  * WPPR_Review constructor.
166
  *
193
  $this->setup_pros_cons();
194
  $this->setup_options();
195
  $this->count_rating();
196
+ $this->setup_review_schema();
197
  if ( ! is_admin() ) {
198
  $this->alter_options();
199
  }
432
  $options_nr = $this->wppr_get_option( 'cwppos_option_nr' );
433
  for ( $i = 1; $i <= $options_nr; $i ++ ) {
434
  $tmp_name = get_post_meta( $this->ID, 'option_' . $i . '_content', true );
435
+ if ( $tmp_name !== '' ) {
436
  $tmp_score = get_post_meta( $this->ID, 'option_' . $i . '_grade', true );
437
  $options[ $i ] = array(
438
  'name' => $tmp_name,
609
  $options = array_merge( $options, $comment['options'] );
610
  }
611
 
612
+ if ( count( $options ) !== 0 ) {
613
  return ( array_sum( wp_list_pluck( $options, 'value' ) ) / count( $options ) );
614
  } else {
615
  return 0;
863
  */
864
  public function set_click( $click ) {
865
  if ( $click === 'image' || $click === 'link' ) {
866
+ if ( $this->click !== $click ) {
867
  $this->click = $click;
868
 
869
  return update_post_meta( $this->ID, 'cwp_image_link', $this->click );
1181
  public function get_json_ld() {
1182
  $ld = array(
1183
  '@context' => 'http://schema.org/',
1184
+ '@type' => $this->get_type(),
1185
  'name' => $this->get_name(),
1186
  'image' => $this->get_small_thumbnail(),
1187
  'description' => $this->get_excerpt(),
1188
  );
1189
+
1190
  $ld['offers'] = array(
1191
  '@type' => 'Offer',
1192
  'price' => number_format( $this->get_price(), 2, '.', '' ),
1214
  'datePublished' => get_the_time( 'Y-m-d', $this->get_ID() ),
1215
  );
1216
 
1217
+ if ( $this->wppr_get_option( 'cwppos_show_userreview' ) !== 'yes' ) {
1218
  $ld['review'] = $review_default;
1219
+ return $this->populate_json_for_schema( $ld );
 
1220
  }
1221
+
1222
  $ld['review'][] = $review_default;
1223
 
1224
  $comments = $this->get_comments_options();
1248
  'reviewCount' => count( $ld['review'] ),
1249
  );
1250
 
1251
+ return $this->populate_json_for_schema( $ld );
1252
  }
1253
 
1254
  /**
1333
  return 'wppr-weak';
1334
  }
1335
  }
1336
+
1337
+ /**
1338
+ * Setup the review schema and its related fields.
1339
+ *
1340
+ * @access private
1341
+ */
1342
+ private function setup_review_schema() {
1343
+ $name = get_post_meta( $this->ID, 'wppr_review_type', true );
1344
+ $this->type = $name;
1345
+ $fields = get_post_meta( $this->ID, 'wppr_review_custom_fields', true );
1346
+ $this->custom_fields = $fields;
1347
+ }
1348
+
1349
+ /**
1350
+ * Setter method for saving the review type.
1351
+ *
1352
+ * @access public
1353
+ *
1354
+ * @param string $type The new review type.
1355
+ *
1356
+ * @return bool
1357
+ */
1358
+ public function set_type( $type ) {
1359
+ $this->type = $type;
1360
+
1361
+ return update_post_meta( $this->ID, 'wppr_review_type', $type );
1362
+
1363
+ }
1364
+
1365
+ /**
1366
+ * Get the review schema type.
1367
+ */
1368
+ public function get_type() {
1369
+ return $this->type;
1370
+ }
1371
+
1372
+ /**
1373
+ * Setter method for saving the review type custom fields.
1374
+ *
1375
+ * @access public
1376
+ *
1377
+ * @param array $fields The new review type custom fields.
1378
+ *
1379
+ * @return bool
1380
+ */
1381
+ public function set_custom_fields( $fields ) {
1382
+ $this->custom_fields = $fields;
1383
+
1384
+ return update_post_meta( $this->ID, 'wppr_review_custom_fields', $fields );
1385
+
1386
+ }
1387
+
1388
+ /**
1389
+ * Get the review type custom fields.
1390
+ */
1391
+ public function get_custom_fields() {
1392
+ return $this->custom_fields;
1393
+ }
1394
+
1395
+ /**
1396
+ * Get a particular custom field value to display in the template.
1397
+ */
1398
+ public function get_custom_field( $key ) {
1399
+ $fields = $this->custom_fields;
1400
+ if ( $fields && isset( $fields[ $key ] ) ) {
1401
+ return $fields[ $key ];
1402
+ }
1403
+ return '';
1404
+ }
1405
+
1406
+ /**
1407
+ * Populate the JSON LD schema for the schema type.
1408
+ */
1409
+ private function populate_json_for_schema( $ld ) {
1410
+ $fields = $this->get_custom_fields();
1411
+ if ( $fields ) {
1412
+ foreach ( $fields as $key => $value ) {
1413
+ // we do not want to overwrite anything that is already set and we don't want to set empty values.
1414
+ if ( ! isset( $ld[ $key ] ) && ! empty( $value ) ) {
1415
+ $ld[ $key ] = $value;
1416
+ }
1417
+ }
1418
+ }
1419
+ return apply_filters( 'wppr_schema', $ld, $this );
1420
+ }
1421
+
1422
  }
includes/admin/models/class-wppr-schema-model.php ADDED
@@ -0,0 +1,212 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Model responsible for the review types supported in WPPR.
4
+ *
5
+ * @package WPPR
6
+ * @subpackage Models
7
+ * @copyright Copyright (c) 2017, Marius Cristea
8
+ * @license http://opensource.org/licenses/gpl-2.0.php GNU Public License
9
+ * @since 3.5.0
10
+ */
11
+
12
+ // Exit if accessed directly
13
+ if ( ! defined( 'ABSPATH' ) ) {
14
+ exit;
15
+ }
16
+
17
+ /**
18
+ * Class WPPR_Review
19
+ *
20
+ * @since 3.0
21
+ */
22
+ class WPPR_Schema_Model extends WPPR_Model_Abstract {
23
+
24
+ /**
25
+ * The schema URL.
26
+ *
27
+ * @var string _URL The schema URL.
28
+ */
29
+ const _URL = 'https://schema.org/?.jsonld';
30
+
31
+ /**
32
+ * The schema types tree.
33
+ *
34
+ * @var array $types The schema types tree.
35
+ */
36
+ private $types;
37
+
38
+ /**
39
+ * The schema data types allowed to become fields.
40
+ *
41
+ * @var array $data_types_allowed The schema data types allowed to become fields.
42
+ */
43
+ private $data_types_allowed;
44
+
45
+ /**
46
+ * WPPR_Schema_Model constructor.
47
+ *
48
+ * @access public
49
+ *
50
+ * @param array $things The tree of things to parse.
51
+ */
52
+ public function __construct( array $things ) {
53
+ parent::__construct();
54
+
55
+ $this->setup_types( $things );
56
+ }
57
+
58
+ /**
59
+ * Set up the types.
60
+ *
61
+ * @since 3.5.0
62
+ * @access private
63
+ *
64
+ * @param array $things The tree of things to fetch.
65
+ */
66
+ private function setup_types( array $things ) {
67
+ // good for testing.
68
+ // set_time_limit( 0 );
69
+ $this->data_types_allowed = apply_filters( 'wppr_schema_data_types_allowed', array( 'schema:Text', 'schema:URL', 'schema:Date', 'schema:Number', 'schema:Boolean', 'schema:DateTime', 'schema:Time', 'schema:Integer', 'schema:Float', 'schema:False', 'schema:True', 'schema:QuantitativeValue', 'schema:Distance' ), $things );
70
+ $types = get_transient( 'wppr_schema_types_' . md5( json_encode( $things ) ) );
71
+ if ( $types ) {
72
+ $this->types = $types;
73
+ return;
74
+ }
75
+
76
+ $types = array();
77
+ $things = apply_filters( 'wppr_schema_things', $things );
78
+ $categories = array();
79
+ foreach ( $things as $parent => $type ) {
80
+ foreach ( $type as $t ) {
81
+ $categories[ $t ] = $parent;
82
+ }
83
+ }
84
+
85
+ foreach ( $categories as $type => $parent ) {
86
+ $subtypes = array();
87
+
88
+ $this->data_types_allowed_for_type = apply_filters( 'wppr_schema_data_types_allowed_for_' . $type, $this->data_types_allowed );
89
+
90
+ // get the schema types under this type
91
+ $subtypes = $this->parse( array( $type ), '@id', array( 'rdfs:subClassOf > @id' => "schema:{$type}" ) );
92
+
93
+ // get the schema type itself
94
+ $subtypes = array_merge( $subtypes, $this->parse( array( $type ), '@id', array( 'rdfs:subClassOf > @id' => "schema:{$parent}" ) ) );
95
+
96
+ foreach ( $subtypes as $subtype ) {
97
+ if ( 'schema:Thing' === $subtype ) {
98
+ continue;
99
+ }
100
+
101
+ $subtype = str_replace( 'schema:', '', $subtype );
102
+
103
+ $attributes = $this->parse( array( $subtype ), null, array( '@type' => 'rdf:Property' ) );
104
+ if ( ! $attributes ) {
105
+ continue;
106
+ }
107
+
108
+ $fields = array();
109
+ foreach ( $attributes as $attribute ) {
110
+ $fields[ str_replace( 'schema:', '', $attribute['@id'] ) ] = array(
111
+ 'desc' => $attribute['rdfs:comment'],
112
+ 'label' => $attribute['rdfs:label'],
113
+ );
114
+ }
115
+
116
+ ksort( $fields );
117
+
118
+ $types[ $subtype ] = apply_filters( 'wppr_schema_fields_for_' . $type, $fields, $subtype );
119
+ }
120
+ }
121
+
122
+ ksort( $types );
123
+
124
+ $this->types = $types;
125
+
126
+ set_transient( 'wppr_schema_types_' . md5( json_encode( $things ) ), $types, YEAR_IN_SECONDS );
127
+
128
+ }
129
+
130
+ /**
131
+ * Parse the schema URL response.
132
+ *
133
+ * @param array $types The types to fetch.
134
+ * @param string $extract Extract these values from each element.
135
+ * @param array $if The conditions under which the element qualifies as a valid element.
136
+ *
137
+ * @return array
138
+ */
139
+ private function parse( $types, $extract, $if ) {
140
+ $elements = array();
141
+
142
+ foreach ( $types as $type ) {
143
+ $url = str_replace( '?', $type, self::_URL );
144
+ $json = json_decode( wp_remote_retrieve_body( wp_remote_get( $url ) ), true );
145
+ $if = apply_filters( 'wppr_schema_extract_if', $if, $type );
146
+
147
+ if ( $json && isset( $json['@graph'] ) ) {
148
+ foreach ( $json['@graph'] as $element ) {
149
+ foreach ( $if as $key => $val ) {
150
+ $extracted = $this->extract_if( $element, $extract, $key, $val );
151
+ if ( $extracted !== null ) {
152
+ $elements[] = $extracted;
153
+ }
154
+ }
155
+ }
156
+ }
157
+ }
158
+ return $elements;
159
+ }
160
+
161
+ /**
162
+ * Parse the schema URL response.
163
+ *
164
+ * @param array $element The schema element.
165
+ * @param string $extract Extract these values from each element.
166
+ * @param string $key The key(s) that will fetch the $val.
167
+ * @param string $val The value that will qualify the element as a valid one.
168
+ *
169
+ * @return mixed
170
+ */
171
+ private function extract_if( $element, $extract, $key, $val ) {
172
+ $leaf = $element;
173
+ $extracted = null;
174
+ foreach ( array_map( 'trim', explode( '>', $key ) ) as $k ) {
175
+ if ( isset( $leaf[ $k ] ) ) {
176
+ $leaf = $leaf[ $k ];
177
+ }
178
+ }
179
+ if ( $val === $leaf ) {
180
+ if ( is_null( $extract ) ) {
181
+ $extracted = $element;
182
+ } else {
183
+ $extracted = $element[ $extract ];
184
+ }
185
+ }
186
+
187
+ // exclude anything that is a complex object and cannot resolve to a scalar field.
188
+ if ( is_array( $extracted ) ) {
189
+ $range_includes = $extracted['schema:rangeIncludes'];
190
+ $data_types = array_values( $range_includes );
191
+ if ( count( $data_types ) > 1 ) {
192
+ $data_types = array_values( wp_list_pluck( $data_types, '@id' ) );
193
+ }
194
+ $common = array_intersect( $this->data_types_allowed_for_type, $data_types );
195
+ if ( empty( $common ) ) {
196
+ $extracted = null;
197
+ }
198
+ }
199
+
200
+ return $extracted;
201
+ }
202
+
203
+ /**
204
+ * Getter function to return the types.
205
+ *
206
+ * @return array
207
+ */
208
+ public function get_types() {
209
+ return apply_filters( 'wppr_schema_types', $this->types );
210
+ }
211
+
212
+ }
includes/admin/widgets/abstract/class-wppr-widget-abstract.php CHANGED
@@ -157,7 +157,7 @@ abstract class WPPR_Widget_Abstract extends WP_Widget {
157
  $instance['cwp_tp_layout'] = 'default.php';
158
  }
159
 
160
- if ( $instance['cwp_tp_layout'] == 'default.php' ) {
161
  $instance['cwp_tp_rating_type'] = 'round';
162
  } else {
163
  $instance['cwp_tp_rating_type'] = 'star';
157
  $instance['cwp_tp_layout'] = 'default.php';
158
  }
159
 
160
+ if ( $instance['cwp_tp_layout'] === 'default.php' ) {
161
  $instance['cwp_tp_rating_type'] = 'round';
162
  } else {
163
  $instance['cwp_tp_rating_type'] = 'star';
includes/admin/widgets/class-wppr-latest-products-widget.php CHANGED
@@ -56,7 +56,7 @@ class WPPR_Latest_Products_Widget extends WPPR_Widget_Abstract {
56
 
57
  $reviews = new WPPR_Query_Model();
58
  $post = array();
59
- if ( isset( $instance['cwp_tp_category'] ) && trim( $instance['cwp_tp_category'] ) != '' ) {
60
  $post['category_name'] = $instance['cwp_tp_category'];
61
  }
62
  if ( isset( $instance['cwp_tp_post_types'] ) && ! empty( $instance['cwp_tp_post_types'] ) ) {
56
 
57
  $reviews = new WPPR_Query_Model();
58
  $post = array();
59
+ if ( isset( $instance['cwp_tp_category'] ) && trim( $instance['cwp_tp_category'] ) !== '' ) {
60
  $post['category_name'] = $instance['cwp_tp_category'];
61
  }
62
  if ( isset( $instance['cwp_tp_post_types'] ) && ! empty( $instance['cwp_tp_post_types'] ) ) {
includes/admin/widgets/class-wppr-top-products-widget.php CHANGED
@@ -71,11 +71,11 @@ class WPPR_Top_Products_Widget extends WPPR_Widget_Abstract {
71
 
72
  $reviews = new WPPR_Query_Model();
73
  $post = array();
74
- if ( isset( $instance['cwp_tp_category'] ) && trim( $instance['cwp_tp_category'] ) != '' ) {
75
  $post['category_name'] = $instance['cwp_tp_category'];
76
  }
77
 
78
- if ( isset( $instance['cwp_timespan'] ) && trim( $instance['cwp_timespan'] ) != '' ) {
79
  $min_max = explode( ',', $instance['cwp_timespan'] );
80
  $min = intval( reset( $min_max ) );
81
  $max = intval( end( $min_max ) );
71
 
72
  $reviews = new WPPR_Query_Model();
73
  $post = array();
74
+ if ( isset( $instance['cwp_tp_category'] ) && trim( $instance['cwp_tp_category'] ) !== '' ) {
75
  $post['category_name'] = $instance['cwp_tp_category'];
76
  }
77
 
78
+ if ( isset( $instance['cwp_timespan'] ) && trim( $instance['cwp_timespan'] ) !== '' ) {
79
  $min_max = explode( ',', $instance['cwp_timespan'] );
80
  $min = intval( reset( $min_max ) );
81
  $max = intval( end( $min_max ) );
includes/admin/widgets/class-wppr-top-reviews-widget.php CHANGED
@@ -71,7 +71,7 @@ class WPPR_Top_Reviews_Widget extends WPPR_Widget_Abstract {
71
 
72
  $reviews = new WPPR_Query_Model();
73
  $post = array();
74
- if ( isset( $instance['cwp_tp_category'] ) && trim( $instance['cwp_tp_category'] ) != '' ) {
75
  $array = explode( ':', $instance['cwp_tp_category'] );
76
  $post['category_name'] = $array[1];
77
  $post['taxonomy_name'] = $array[0];
71
 
72
  $reviews = new WPPR_Query_Model();
73
  $post = array();
74
+ if ( isset( $instance['cwp_tp_category'] ) && trim( $instance['cwp_tp_category'] ) !== '' ) {
75
  $array = explode( ':', $instance['cwp_tp_category'] );
76
  $post['category_name'] = $array[1];
77
  $post['taxonomy_name'] = $array[0];
includes/class-wppr.php CHANGED
@@ -67,7 +67,7 @@ class WPPR {
67
  */
68
  public function __construct() {
69
  $this->plugin_name = 'wppr';
70
- $this->version = '3.5.2';
71
 
72
  $this->load_dependencies();
73
  $this->set_locale();
@@ -200,8 +200,8 @@ class WPPR {
200
  $this->loader->add_action( 'comment_form_logged_in_after', $plugin_public, 'add_comment_fields' );
201
  $this->loader->add_action( 'comment_form_after_fields', $plugin_public, 'add_comment_fields' );
202
  $this->loader->add_filter( 'comment_text', $plugin_public, 'show_comment_ratings' );
203
- $currentTheme = wp_get_theme();
204
- if ( $currentTheme->get( 'Name' ) !== 'Bookrev' && $currentTheme->get( 'Name' ) !== 'Book Rev Lite' ) {
205
 
206
  $this->loader->add_filter( 'the_content', $plugin_public, 'display_on_front' );
207
  }
67
  */
68
  public function __construct() {
69
  $this->plugin_name = 'wppr';
70
+ $this->version = '3.6.0';
71
 
72
  $this->load_dependencies();
73
  $this->set_locale();
200
  $this->loader->add_action( 'comment_form_logged_in_after', $plugin_public, 'add_comment_fields' );
201
  $this->loader->add_action( 'comment_form_after_fields', $plugin_public, 'add_comment_fields' );
202
  $this->loader->add_filter( 'comment_text', $plugin_public, 'show_comment_ratings' );
203
+ $current_theme = wp_get_theme();
204
+ if ( $current_theme->get( 'Name' ) !== 'Bookrev' && $current_theme->get( 'Name' ) !== 'Book Rev Lite' ) {
205
 
206
  $this->loader->add_filter( 'the_content', $plugin_public, 'display_on_front' );
207
  }
includes/functions.php CHANGED
@@ -43,21 +43,21 @@ if ( ! function_exists( 'wppr_display_rating_stars' ) ) {
43
  case 'full':
44
  for ( $i = 0; $i < $value; $i++ ) {
45
  ?>
46
- <i class="fa fa-star"></i>
47
  <?php
48
  }
49
  break;
50
  case 'half':
51
  if ( $value ) {
52
  ?>
53
- <i class="fa fa-star-half-o"></i>
54
  <?php
55
  }
56
  break;
57
  case 'empty':
58
  for ( $i = 0; $i < $value; $i++ ) {
59
  ?>
60
- <i class="fa fa-star-o"></i>
61
  <?php
62
  }
63
  break;
@@ -101,8 +101,34 @@ if ( ! function_exists( 'wppr_display_rating_custom_icon' ) ) {
101
  }
102
  }
103
 
104
- if ( ! function_exists( 'wppr_layout_get_rating' ) ) {
105
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
106
  /**
107
  * Display the rating of the given type.
108
  */
@@ -160,7 +186,7 @@ if ( ! function_exists( 'wppr_layout_get_image' ) ) {
160
  $links = array_filter( $links );
161
  $image_link = reset( $links );
162
  $lightbox = '';
163
- if ( $review_object->get_click() == 'image' ) {
164
  $lightbox = 'data-lightbox="' . esc_url( $src ) . '"';
165
  $image_link = $review_object->get_image();
166
  }
@@ -374,6 +400,45 @@ if ( ! function_exists( 'wppr_layout_get_affiliate_buttons' ) ) {
374
  }
375
  }
376
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
377
 
378
 
379
  if ( function_exists( 'register_block_type' ) ) {
43
  case 'full':
44
  for ( $i = 0; $i < $value; $i++ ) {
45
  ?>
46
+ <i class="dashicons dashicons-star-filled wppr-dashicons"></i>
47
  <?php
48
  }
49
  break;
50
  case 'half':
51
  if ( $value ) {
52
  ?>
53
+ <i class="dashicons dashicons-star-half wppr-dashicons"></i>
54
  <?php
55
  }
56
  break;
57
  case 'empty':
58
  for ( $i = 0; $i < $value; $i++ ) {
59
  ?>
60
+ <i class="dashicons dashicons-star-empty wppr-dashicons"></i>
61
  <?php
62
  }
63
  break;
101
  }
102
  }
103
 
104
+ if ( ! function_exists( 'wppr_default_get_image' ) ) {
105
 
106
+ /**
107
+ * Display the imaage for the default template.
108
+ */
109
+ function wppr_default_get_image( $review_object ) {
110
+ $links = $review_object->get_links();
111
+ $links = array_filter( $links );
112
+ $image_link = reset( $links );
113
+ $lightbox = '';
114
+ if ( $review_object->get_click() === 'image' ) {
115
+ $lightbox = 'data-lightbox="' . esc_url( $review_object->get_small_thumbnail() ) . '"';
116
+ $image_link = $review_object->get_image();
117
+ }
118
+ ?>
119
+ <div class="rev-wu-image">
120
+ <a class="wppr-default-img" href="<?php echo esc_url( $image_link ); ?>" <?php echo $lightbox; ?> rel="nofollow" target="_blank">
121
+ <img
122
+ src="<?php echo esc_attr( $review_object->get_small_thumbnail() ); ?>"
123
+ alt="<?php echo esc_attr( $review_object->get_name() ); ?>"
124
+ class="photo photo-wrapup wppr-product-image"/>
125
+ </a>
126
+ </div><!-- end .rev-wu-image -->
127
+ <?php
128
+ }
129
+ }
130
+
131
+ if ( ! function_exists( 'wppr_default_get_rating' ) ) {
132
  /**
133
  * Display the rating of the given type.
134
  */
186
  $links = array_filter( $links );
187
  $image_link = reset( $links );
188
  $lightbox = '';
189
+ if ( $review_object->get_click() === 'image' ) {
190
  $lightbox = 'data-lightbox="' . esc_url( $src ) . '"';
191
  $image_link = $review_object->get_image();
192
  }
400
  }
401
  }
402
 
403
+ if ( ! function_exists( 'wppr_schema_add_director_to_movie' ) ) {
404
+ add_filter( 'wppr_schema_data_types_allowed_for_Movie', 'wppr_schema_add_director_to_movie', 10, 1 );
405
+
406
+ /**
407
+ * Movie has to have the Director field.
408
+ */
409
+ function wppr_schema_add_director_to_movie( $types ) {
410
+ $types[] = 'schema:Person';
411
+ return $types;
412
+ }
413
+ }
414
+
415
+ if ( ! function_exists( 'wppr_schema_remove_fields_from_movie' ) ) {
416
+ add_filter( 'wppr_schema_fields_for_Movie', 'wppr_schema_remove_fields_from_movie', 10, 2 );
417
+
418
+ /**
419
+ * The property materialExtent is not recognised by Google for an object of type Movie.
420
+ */
421
+ function wppr_schema_remove_fields_from_movie( $fields, $subtype ) {
422
+ unset( $fields['materialExtent'] );
423
+ return $fields;
424
+ }
425
+ }
426
+
427
+ if ( ! function_exists( 'wppr_schema_data_types_allowed_brand' ) ) {
428
+ add_filter( 'wppr_schema_data_types_allowed_for_Product', 'wppr_schema_data_types_allowed_brand', 10, 1 );
429
+ add_filter( 'wppr_schema_data_types_allowed_for_IndividualProduct', 'wppr_schema_data_types_allowed_brand', 10, 1 );
430
+ add_filter( 'wppr_schema_data_types_allowed_for_ProductModel', 'wppr_schema_data_types_allowed_brand', 10, 1 );
431
+ add_filter( 'wppr_schema_data_types_allowed_for_SomeProducts', 'wppr_schema_data_types_allowed_brand', 10, 1 );
432
+ add_filter( 'wppr_schema_data_types_allowed_for_Vehicle', 'wppr_schema_data_types_allowed_brand', 10, 1 );
433
+
434
+ /**
435
+ * IndividualProduct, Product, ProductModel, SomeProducts, Vehicle need the Brand field.
436
+ */
437
+ function wppr_schema_data_types_allowed_brand( $types ) {
438
+ $types[] = 'schema:Brand';
439
+ return $types;
440
+ }
441
+ }
442
 
443
 
444
  if ( function_exists( 'register_block_type' ) ) {
includes/gutenberg/build/sidebar.js CHANGED
@@ -402,7 +402,7 @@ eval("var pIE = __webpack_require__(21);\nvar createDesc = __webpack_require__(2
402
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
403
 
404
  "use strict";
405
- eval("Object.defineProperty(__webpack_exports__, \"__esModule\", { value: true });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_babel_runtime_core_js_object_keys__ = __webpack_require__(56);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_babel_runtime_core_js_object_keys___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_babel_runtime_core_js_object_keys__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_babel_runtime_regenerator__ = __webpack_require__(61);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_babel_runtime_regenerator___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1_babel_runtime_regenerator__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_babel_runtime_helpers_extends__ = __webpack_require__(64);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_babel_runtime_helpers_extends___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_2_babel_runtime_helpers_extends__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_asyncToGenerator__ = __webpack_require__(69);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_asyncToGenerator___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_asyncToGenerator__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4_babel_runtime_core_js_object_get_prototype_of__ = __webpack_require__(92);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4_babel_runtime_core_js_object_get_prototype_of___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_4_babel_runtime_core_js_object_get_prototype_of__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5_babel_runtime_helpers_classCallCheck__ = __webpack_require__(95);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5_babel_runtime_helpers_classCallCheck___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_5_babel_runtime_helpers_classCallCheck__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_6_babel_runtime_helpers_createClass__ = __webpack_require__(96);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_6_babel_runtime_helpers_createClass___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_6_babel_runtime_helpers_createClass__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_7_babel_runtime_helpers_possibleConstructorReturn__ = __webpack_require__(100);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_7_babel_runtime_helpers_possibleConstructorReturn___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_7_babel_runtime_helpers_possibleConstructorReturn__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_8_babel_runtime_helpers_inherits__ = __webpack_require__(112);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_8_babel_runtime_helpers_inherits___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_8_babel_runtime_helpers_inherits__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_9__style_scss__ = __webpack_require__(120);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_9__style_scss___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_9__style_scss__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_10__utils__ = __webpack_require__(121);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_11__radio_image_control___ = __webpack_require__(122);\n\n\n\n\n\n\n\n\n\n/**\n * Internal dependencies\n */\n\n\n\n\n/**\n * WordPress dependencies\n */\nvar __ = wp.i18n.__;\nvar _lodash = lodash,\n isUndefined = _lodash.isUndefined,\n pickBy = _lodash.pickBy;\nvar registerPlugin = wp.plugins.registerPlugin;\nvar MediaUpload = wp.editor.MediaUpload;\nvar _wp$data = wp.data,\n select = _wp$data.select,\n withSelect = _wp$data.withSelect,\n withDispatch = _wp$data.withDispatch;\nvar _wp$editPost = wp.editPost,\n PluginPostStatusInfo = _wp$editPost.PluginPostStatusInfo,\n PluginSidebarMoreMenuItem = _wp$editPost.PluginSidebarMoreMenuItem,\n PluginSidebar = _wp$editPost.PluginSidebar;\nvar _wp$element = wp.element,\n Component = _wp$element.Component,\n Fragment = _wp$element.Fragment;\nvar _wp$compose = wp.compose,\n withState = _wp$compose.withState,\n compose = _wp$compose.compose;\nvar _wp$components = wp.components,\n Button = _wp$components.Button,\n FormToggle = _wp$components.FormToggle,\n Modal = _wp$components.Modal,\n PanelBody = _wp$components.PanelBody,\n SelectControl = _wp$components.SelectControl,\n TextControl = _wp$components.TextControl;\n\nvar WP_Product_Review = function (_Component) {\n\t__WEBPACK_IMPORTED_MODULE_8_babel_runtime_helpers_inherits___default()(WP_Product_Review, _Component);\n\n\tfunction WP_Product_Review() {\n\t\t__WEBPACK_IMPORTED_MODULE_5_babel_runtime_helpers_classCallCheck___default()(this, WP_Product_Review);\n\n\t\tvar _this = __WEBPACK_IMPORTED_MODULE_7_babel_runtime_helpers_possibleConstructorReturn___default()(this, (WP_Product_Review.__proto__ || __WEBPACK_IMPORTED_MODULE_4_babel_runtime_core_js_object_get_prototype_of___default()(WP_Product_Review)).apply(this, arguments));\n\n\t\t_this.toggleReviewStatus = _this.toggleReviewStatus.bind(_this);\n\t\t_this.onChangeTemplate = _this.onChangeTemplate.bind(_this);\n\t\t_this.onChangeReviewTitle = _this.onChangeReviewTitle.bind(_this);\n\t\t_this.onChangeReviewImage = _this.onChangeReviewImage.bind(_this);\n\t\t_this.onChangeImageLink = _this.onChangeImageLink.bind(_this);\n\t\t_this.onChangeReviewAffiliateTitle = _this.onChangeReviewAffiliateTitle.bind(_this);\n\t\t_this.onChangeReviewAffiliateLink = _this.onChangeReviewAffiliateLink.bind(_this);\n\t\t_this.addButton = _this.addButton.bind(_this);\n\t\t_this.onChangeReviewPrice = _this.onChangeReviewPrice.bind(_this);\n\t\t_this.onChangeOptionText = _this.onChangeOptionText.bind(_this);\n\t\t_this.onChangeOptionNumber = _this.onChangeOptionNumber.bind(_this);\n\t\t_this.addOption = _this.addOption.bind(_this);\n\t\t_this.onChangeProText = _this.onChangeProText.bind(_this);\n\t\t_this.addPro = _this.addPro.bind(_this);\n\t\t_this.onChangeConText = _this.onChangeConText.bind(_this);\n\t\t_this.addCon = _this.addCon.bind(_this);\n\t\t_this.importReview = _this.importReview.bind(_this);\n\n\t\t_this.state = {\n\t\t\tcwp_meta_box_check: 'No',\n\t\t\tcwp_rev_product_name: '',\n\t\t\t_wppr_review_template: 'default',\n\t\t\tcwp_rev_product_image: '',\n\t\t\tcwp_image_link: 'image',\n\t\t\twppr_links: {\n\t\t\t\t'': ''\n\t\t\t},\n\t\t\tcwp_rev_price: '',\n\t\t\twppr_options: {\n\t\t\t\t1: {\n\t\t\t\t\tname: '',\n\t\t\t\t\tvalue: 0\n\t\t\t\t}\n\t\t\t},\n\t\t\twppr_pros: {\n\t\t\t\t0: ''\n\t\t\t},\n\t\t\twppr_cons: {\n\t\t\t\t0: ''\n\t\t\t}\n\t\t};\n\t\treturn _this;\n\t}\n\n\t__WEBPACK_IMPORTED_MODULE_6_babel_runtime_helpers_createClass___default()(WP_Product_Review, [{\n\t\tkey: 'componentDidMount',\n\t\tvalue: function () {\n\t\t\tvar _ref = __WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_asyncToGenerator___default()( /*#__PURE__*/__WEBPACK_IMPORTED_MODULE_1_babel_runtime_regenerator___default.a.mark(function _callee() {\n\t\t\t\tvar _select, getCurrentPostId, getCurrentPostType, post;\n\n\t\t\t\treturn __WEBPACK_IMPORTED_MODULE_1_babel_runtime_regenerator___default.a.wrap(function _callee$(_context) {\n\t\t\t\t\twhile (1) {\n\t\t\t\t\t\tswitch (_context.prev = _context.next) {\n\t\t\t\t\t\t\tcase 0:\n\t\t\t\t\t\t\t\t_select = select('core/editor'), getCurrentPostId = _select.getCurrentPostId, getCurrentPostType = _select.getCurrentPostType;\n\t\t\t\t\t\t\t\t_context.next = 3;\n\t\t\t\t\t\t\t\treturn select('core').getEntityRecord('postType', getCurrentPostType(), getCurrentPostId());\n\n\t\t\t\t\t\t\tcase 3:\n\t\t\t\t\t\t\t\tpost = _context.sent;\n\n\n\t\t\t\t\t\t\t\tif (undefined !== post && post.wppr_data) {\n\t\t\t\t\t\t\t\t\tthis.setState(__WEBPACK_IMPORTED_MODULE_2_babel_runtime_helpers_extends___default()({}, post.wppr_data));\n\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\tcase 5:\n\t\t\t\t\t\t\tcase 'end':\n\t\t\t\t\t\t\t\treturn _context.stop();\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}, _callee, this);\n\t\t\t}));\n\n\t\t\tfunction componentDidMount() {\n\t\t\t\treturn _ref.apply(this, arguments);\n\t\t\t}\n\n\t\t\treturn componentDidMount;\n\t\t}()\n\t}, {\n\t\tkey: 'componentDidUpdate',\n\t\tvalue: function componentDidUpdate(prevProps, prevState) {\n\t\t\tif (this.state.cwp_meta_box_check !== prevState.cwp_meta_box_check && this.state.cwp_meta_box_check === 'Yes') {\n\t\t\t\tthis.props.openReviewSidebar();\n\t\t\t}\n\t\t}\n\t}, {\n\t\tkey: 'toggleReviewStatus',\n\t\tvalue: function toggleReviewStatus() {\n\t\t\tthis.setState({ cwp_meta_box_check: this.state.cwp_meta_box_check === 'Yes' ? 'No' : 'Yes' });\n\t\t\tthis.props.editPostStatus({ edited: true });\n\t\t}\n\t}, {\n\t\tkey: 'onChangeTemplate',\n\t\tvalue: function onChangeTemplate(value) {\n\t\t\tthis.setState({ _wppr_review_template: value });\n\t\t\tthis.props.editPostStatus({ edited: true });\n\t\t}\n\t}, {\n\t\tkey: 'onChangeReviewTitle',\n\t\tvalue: function onChangeReviewTitle(value) {\n\t\t\tthis.setState({ cwp_rev_product_name: value });\n\t\t\tthis.props.editPostStatus({ edited: true });\n\t\t}\n\t}, {\n\t\tkey: 'onChangeReviewImage',\n\t\tvalue: function onChangeReviewImage(value) {\n\t\t\tif (value.url !== undefined && value.url !== '') {\n\t\t\t\tthis.setState({ cwp_rev_product_image: value.url });\n\t\t\t} else if (value.id !== undefined) {\n\t\t\t\tthis.setState({ cwp_rev_product_image: value.id });\n\t\t\t}\n\t\t\tthis.props.editPostStatus({ edited: true });\n\t\t}\n\t}, {\n\t\tkey: 'onChangeImageLink',\n\t\tvalue: function onChangeImageLink(value) {\n\t\t\tthis.setState({ cwp_image_link: value });\n\t\t\tthis.props.editPostStatus({ edited: true });\n\t\t}\n\t}, {\n\t\tkey: 'onChangeReviewAffiliateTitle',\n\t\tvalue: function onChangeReviewAffiliateTitle(e, key) {\n\t\t\tvar wppr_links = __WEBPACK_IMPORTED_MODULE_2_babel_runtime_helpers_extends___default()({}, this.state.wppr_links);\n\t\t\tif (__WEBPACK_IMPORTED_MODULE_0_babel_runtime_core_js_object_keys___default()(this.state.wppr_links).length === 2) {\n\t\t\t\tif (e === __WEBPACK_IMPORTED_MODULE_0_babel_runtime_core_js_object_keys___default()(wppr_links)[0] || e === __WEBPACK_IMPORTED_MODULE_0_babel_runtime_core_js_object_keys___default()(wppr_links)[1]) {\n\t\t\t\t\te = e + ' ';\n\t\t\t\t}\n\t\t\t}\n\t\t\tif (__WEBPACK_IMPORTED_MODULE_0_babel_runtime_core_js_object_keys___default()(wppr_links)[0] === key) {\n\t\t\t\tObject(__WEBPACK_IMPORTED_MODULE_10__utils__[\"a\" /* renameKey */])(wppr_links, key, e);\n\t\t\t\twppr_links = Object(__WEBPACK_IMPORTED_MODULE_10__utils__[\"b\" /* reverseObject */])(wppr_links);\n\t\t\t} else {\n\t\t\t\tObject(__WEBPACK_IMPORTED_MODULE_10__utils__[\"a\" /* renameKey */])(wppr_links, key, e);\n\t\t\t}\n\t\t\tthis.setState({ wppr_links: wppr_links });\n\t\t\tthis.props.editPostStatus({ edited: true });\n\t\t}\n\t}, {\n\t\tkey: 'onChangeReviewAffiliateLink',\n\t\tvalue: function onChangeReviewAffiliateLink(e, key) {\n\t\t\tvar wppr_links = __WEBPACK_IMPORTED_MODULE_2_babel_runtime_helpers_extends___default()({}, this.state.wppr_links);\n\t\t\twppr_links[key] = e;\n\t\t\tthis.setState({ wppr_links: wppr_links });\n\t\t\tthis.props.editPostStatus({ edited: true });\n\t\t}\n\t}, {\n\t\tkey: 'addButton',\n\t\tvalue: function addButton() {\n\t\t\tvar wppr_links = __WEBPACK_IMPORTED_MODULE_2_babel_runtime_helpers_extends___default()({}, this.state.wppr_links);\n\t\t\twppr_links['Buy Now'] = '';\n\t\t\tthis.setState({ wppr_links: wppr_links });\n\t\t}\n\t}, {\n\t\tkey: 'onChangeReviewPrice',\n\t\tvalue: function onChangeReviewPrice(value) {\n\t\t\tthis.setState({ cwp_rev_price: value });\n\t\t\tthis.props.editPostStatus({ edited: true });\n\t\t}\n\t}, {\n\t\tkey: 'onChangeOptionText',\n\t\tvalue: function onChangeOptionText(e, key) {\n\t\t\tvar wppr_options = __WEBPACK_IMPORTED_MODULE_2_babel_runtime_helpers_extends___default()({}, this.state.wppr_options);\n\t\t\twppr_options[key]['name'] = e;\n\t\t\tthis.setState({ wppr_options: wppr_options });\n\t\t\tthis.props.editPostStatus({ edited: true });\n\t\t}\n\t}, {\n\t\tkey: 'onChangeOptionNumber',\n\t\tvalue: function onChangeOptionNumber(e, key) {\n\t\t\tvar wppr_options = __WEBPACK_IMPORTED_MODULE_2_babel_runtime_helpers_extends___default()({}, this.state.wppr_options);\n\t\t\tif (e === '') e = 0;\n\t\t\twppr_options[key]['value'] = e;\n\t\t\tthis.setState({ wppr_options: wppr_options });\n\t\t\tthis.props.editPostStatus({ edited: true });\n\t\t}\n\t}, {\n\t\tkey: 'addOption',\n\t\tvalue: function addOption() {\n\t\t\tvar key = __WEBPACK_IMPORTED_MODULE_0_babel_runtime_core_js_object_keys___default()(this.state.wppr_options).length + 1;\n\t\t\tvar wppr_options = __WEBPACK_IMPORTED_MODULE_2_babel_runtime_helpers_extends___default()({}, this.state.wppr_options);\n\t\t\twppr_options[key] = {\n\t\t\t\tname: '',\n\t\t\t\tvalue: 0\n\t\t\t};\n\t\t\tthis.setState({ wppr_options: wppr_options });\n\t\t}\n\t}, {\n\t\tkey: 'onChangeProText',\n\t\tvalue: function onChangeProText(e, key) {\n\t\t\tvar wppr_pros = __WEBPACK_IMPORTED_MODULE_2_babel_runtime_helpers_extends___default()({}, this.state.wppr_pros);\n\t\t\twppr_pros[key] = e;\n\t\t\tthis.setState({ wppr_pros: wppr_pros });\n\t\t\tthis.props.editPostStatus({ edited: true });\n\t\t}\n\t}, {\n\t\tkey: 'addPro',\n\t\tvalue: function addPro() {\n\t\t\tvar key = __WEBPACK_IMPORTED_MODULE_0_babel_runtime_core_js_object_keys___default()(this.state.wppr_pros).length;\n\t\t\tvar wppr_pros = __WEBPACK_IMPORTED_MODULE_2_babel_runtime_helpers_extends___default()({}, this.state.wppr_pros);\n\t\t\twppr_pros[key] = '';\n\t\t\tthis.setState({ wppr_pros: wppr_pros });\n\t\t}\n\t}, {\n\t\tkey: 'onChangeConText',\n\t\tvalue: function onChangeConText(e, key) {\n\t\t\tvar wppr_cons = __WEBPACK_IMPORTED_MODULE_2_babel_runtime_helpers_extends___default()({}, this.state.wppr_cons);\n\t\t\twppr_cons[key] = e;\n\t\t\tthis.setState({ wppr_cons: wppr_cons });\n\t\t\tthis.props.editPostStatus({ edited: true });\n\t\t}\n\t}, {\n\t\tkey: 'addCon',\n\t\tvalue: function addCon() {\n\t\t\tvar key = __WEBPACK_IMPORTED_MODULE_0_babel_runtime_core_js_object_keys___default()(this.state.wppr_cons).length;\n\t\t\tvar wppr_cons = __WEBPACK_IMPORTED_MODULE_2_babel_runtime_helpers_extends___default()({}, this.state.wppr_cons);\n\t\t\twppr_cons[key] = '';\n\t\t\tthis.setState({ wppr_cons: wppr_cons });\n\t\t}\n\t}, {\n\t\tkey: 'importReview',\n\t\tvalue: function importReview(key) {\n\t\t\tthis.setState({\n\t\t\t\twppr_options: this.props.posts[key].wppr_data.wppr_options,\n\t\t\t\twppr_pros: this.props.posts[key].wppr_data.wppr_pros,\n\t\t\t\twppr_cons: this.props.posts[key].wppr_data.wppr_cons\n\t\t\t});\n\t\t\tthis.props.editPostStatus({ edited: true });\n\t\t\tthis.props.setState({ isOpen: false });\n\t\t}\n\t}, {\n\t\tkey: 'render',\n\t\tvalue: function render() {\n\t\t\tvar _this2 = this;\n\n\t\t\treturn wp.element.createElement(\n\t\t\t\tFragment,\n\t\t\t\tnull,\n\t\t\t\twp.element.createElement(\n\t\t\t\t\tPluginPostStatusInfo,\n\t\t\t\t\tnull,\n\t\t\t\t\twp.element.createElement(\n\t\t\t\t\t\t'label',\n\t\t\t\t\t\t{ htmlFor: 'is-this-a-review' },\n\t\t\t\t\t\t__('Is this post a review?')\n\t\t\t\t\t),\n\t\t\t\t\twp.element.createElement(FormToggle, {\n\t\t\t\t\t\tchecked: this.state.cwp_meta_box_check === 'Yes' ? true : false,\n\t\t\t\t\t\tonChange: this.toggleReviewStatus,\n\t\t\t\t\t\tid: 'is-this-a-review'\n\t\t\t\t\t})\n\t\t\t\t),\n\t\t\t\tthis.state.cwp_meta_box_check === 'Yes' && [wp.element.createElement(\n\t\t\t\t\tPluginSidebarMoreMenuItem,\n\t\t\t\t\t{\n\t\t\t\t\t\ttarget: 'wp-product-review'\n\t\t\t\t\t},\n\t\t\t\t\t__('WP Product Review')\n\t\t\t\t), wp.element.createElement(\n\t\t\t\t\tPluginSidebar,\n\t\t\t\t\t{\n\t\t\t\t\t\tname: 'wp-product-review',\n\t\t\t\t\t\ttitle: __('WP Product Review')\n\t\t\t\t\t},\n\t\t\t\t\twp.element.createElement(\n\t\t\t\t\t\tPanelBody,\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\ttitle: __('Product Details'),\n\t\t\t\t\t\t\tclassName: 'wp-product-review-product-details',\n\t\t\t\t\t\t\tinitialOpen: true\n\t\t\t\t\t\t},\n\t\t\t\t\t\twpprguten.isPro && wp.element.createElement(__WEBPACK_IMPORTED_MODULE_11__radio_image_control___[\"a\" /* default */], {\n\t\t\t\t\t\t\tlabel: __('Review Template'),\n\t\t\t\t\t\t\tselected: this.state._wppr_review_template,\n\t\t\t\t\t\t\toptions: [{\n\t\t\t\t\t\t\t\tlabel: __('Default'),\n\t\t\t\t\t\t\t\tsrc: wpprguten.path + '/assets/img/templates/default.png',\n\t\t\t\t\t\t\t\tvalue: 'default'\n\t\t\t\t\t\t\t}, {\n\t\t\t\t\t\t\t\tlabel: __('Style 1'),\n\t\t\t\t\t\t\t\tsrc: wpprguten.path + '/assets/img/templates/style1.png',\n\t\t\t\t\t\t\t\tvalue: 'style1'\n\t\t\t\t\t\t\t}, {\n\t\t\t\t\t\t\t\tlabel: __('Style 2'),\n\t\t\t\t\t\t\t\tsrc: wpprguten.path + '/assets/img/templates/style2.png',\n\t\t\t\t\t\t\t\tvalue: 'style2'\n\t\t\t\t\t\t\t}],\n\t\t\t\t\t\t\tonChange: this.onChangeTemplate\n\t\t\t\t\t\t}),\n\t\t\t\t\t\tthis.props.postType !== 'wppr_review' && [wp.element.createElement(TextControl, {\n\t\t\t\t\t\t\tlabel: __('Product Name'),\n\t\t\t\t\t\t\ttype: 'text',\n\t\t\t\t\t\t\tvalue: this.state.cwp_rev_product_name,\n\t\t\t\t\t\t\tonChange: this.onChangeReviewTitle\n\t\t\t\t\t\t})],\n\t\t\t\t\t\twp.element.createElement(\n\t\t\t\t\t\t\t'div',\n\t\t\t\t\t\t\t{ className: 'wp-product-review-sidebar-base-control' },\n\t\t\t\t\t\t\twp.element.createElement(\n\t\t\t\t\t\t\t\t'label',\n\t\t\t\t\t\t\t\t{ className: 'blocks-base-control__label', 'for': 'inspector-media-upload' },\n\t\t\t\t\t\t\t\t__('Product Image')\n\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\twp.element.createElement(MediaUpload, {\n\t\t\t\t\t\t\t\ttype: 'image',\n\t\t\t\t\t\t\t\tid: 'inspector-media-upload',\n\t\t\t\t\t\t\t\tvalue: this.state.cwp_rev_product_image,\n\t\t\t\t\t\t\t\tonSelect: this.onChangeReviewImage,\n\t\t\t\t\t\t\t\trender: function render(_ref2) {\n\t\t\t\t\t\t\t\t\tvar open = _ref2.open;\n\t\t\t\t\t\t\t\t\treturn [_this2.state.cwp_rev_product_image !== '' && [wp.element.createElement('img', {\n\t\t\t\t\t\t\t\t\t\tonClick: open,\n\t\t\t\t\t\t\t\t\t\tsrc: _this2.state.cwp_rev_product_image,\n\t\t\t\t\t\t\t\t\t\talt: __('Review image')\n\t\t\t\t\t\t\t\t\t}), wp.element.createElement(\n\t\t\t\t\t\t\t\t\t\tButton,\n\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\tisLarge: true,\n\t\t\t\t\t\t\t\t\t\t\tonClick: function onClick() {\n\t\t\t\t\t\t\t\t\t\t\t\treturn _this2.setState({ cwp_rev_product_image: '' });\n\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t\tstyle: { marginTop: '10px' }\n\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t__('Remove Image')\n\t\t\t\t\t\t\t\t\t)], wp.element.createElement(\n\t\t\t\t\t\t\t\t\t\tButton,\n\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\tisLarge: true,\n\t\t\t\t\t\t\t\t\t\t\tonClick: open,\n\t\t\t\t\t\t\t\t\t\t\tstyle: { marginTop: '10px' },\n\t\t\t\t\t\t\t\t\t\t\tclassName: _this2.state.cwp_rev_product_image === '' && 'wppr_image_upload'\n\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t__('Choose or Upload an Image')\n\t\t\t\t\t\t\t\t\t)];\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t})\n\t\t\t\t\t\t),\n\t\t\t\t\t\twp.element.createElement(SelectControl, {\n\t\t\t\t\t\t\tlabel: __('Product Image Click'),\n\t\t\t\t\t\t\tvalue: this.state.cwp_image_link,\n\t\t\t\t\t\t\toptions: [{\n\t\t\t\t\t\t\t\tlabel: __('Show Whole Image'),\n\t\t\t\t\t\t\t\tvalue: 'image'\n\t\t\t\t\t\t\t}, {\n\t\t\t\t\t\t\t\tlabel: __('Open Affiliate Link'),\n\t\t\t\t\t\t\t\tvalue: 'link'\n\t\t\t\t\t\t\t}],\n\t\t\t\t\t\t\tonChange: this.onChangeImageLink\n\t\t\t\t\t\t}),\n\t\t\t\t\t\twp.element.createElement(\n\t\t\t\t\t\t\t'div',\n\t\t\t\t\t\t\t{ className: 'wppr-review-links-list' },\n\t\t\t\t\t\t\t__WEBPACK_IMPORTED_MODULE_0_babel_runtime_core_js_object_keys___default()(this.state.wppr_links).map(function (key) {\n\t\t\t\t\t\t\t\treturn [wp.element.createElement(TextControl, {\n\t\t\t\t\t\t\t\t\tlabel: __('Affiliate Button Text'),\n\t\t\t\t\t\t\t\t\ttype: 'text',\n\t\t\t\t\t\t\t\t\tvalue: key,\n\t\t\t\t\t\t\t\t\tonChange: function onChange(e) {\n\t\t\t\t\t\t\t\t\t\treturn _this2.onChangeReviewAffiliateTitle(e, key);\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t}), wp.element.createElement(TextControl, {\n\t\t\t\t\t\t\t\t\tlabel: __('Affiliate Button Link'),\n\t\t\t\t\t\t\t\t\ttype: 'url',\n\t\t\t\t\t\t\t\t\tvalue: _this2.state.wppr_links[key],\n\t\t\t\t\t\t\t\t\tonChange: function onChange(e) {\n\t\t\t\t\t\t\t\t\t\treturn _this2.onChangeReviewAffiliateLink(e, key);\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t})];\n\t\t\t\t\t\t\t}),\n\t\t\t\t\t\t\t__WEBPACK_IMPORTED_MODULE_0_babel_runtime_core_js_object_keys___default()(this.state.wppr_links).length < 2 && wp.element.createElement(\n\t\t\t\t\t\t\t\tButton,\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\tisLarge: true,\n\t\t\t\t\t\t\t\t\tonClick: this.addButton\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t__('Add another button')\n\t\t\t\t\t\t\t)\n\t\t\t\t\t\t),\n\t\t\t\t\t\twp.element.createElement(TextControl, {\n\t\t\t\t\t\t\tlabel: __('Product Price'),\n\t\t\t\t\t\t\ttype: 'text',\n\t\t\t\t\t\t\tvalue: this.state.cwp_rev_price,\n\t\t\t\t\t\t\tonChange: this.onChangeReviewPrice\n\t\t\t\t\t\t})\n\t\t\t\t\t),\n\t\t\t\t\twp.element.createElement(\n\t\t\t\t\t\tPanelBody,\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\ttitle: __('Product Options'),\n\t\t\t\t\t\t\tclassName: 'wp-product-review-product-options',\n\t\t\t\t\t\t\tinitialOpen: false\n\t\t\t\t\t\t},\n\t\t\t\t\t\twp.element.createElement(\n\t\t\t\t\t\t\t'div',\n\t\t\t\t\t\t\t{ className: 'wppr-review-options-list' },\n\t\t\t\t\t\t\t__WEBPACK_IMPORTED_MODULE_0_babel_runtime_core_js_object_keys___default()(this.state.wppr_options).map(function (key) {\n\t\t\t\t\t\t\t\treturn wp.element.createElement(\n\t\t\t\t\t\t\t\t\t'div',\n\t\t\t\t\t\t\t\t\t{ className: 'wppr-review-options-item' },\n\t\t\t\t\t\t\t\t\twp.element.createElement(\n\t\t\t\t\t\t\t\t\t\t'label',\n\t\t\t\t\t\t\t\t\t\t{ 'for': 'wppr-option-item-' + key },\n\t\t\t\t\t\t\t\t\t\tkey\n\t\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\t\twp.element.createElement(TextControl, {\n\t\t\t\t\t\t\t\t\t\ttype: 'text',\n\t\t\t\t\t\t\t\t\t\tid: 'wppr-option-item-' + key,\n\t\t\t\t\t\t\t\t\t\tclassName: 'wppr-text',\n\t\t\t\t\t\t\t\t\t\tplaceholder: __('Option'),\n\t\t\t\t\t\t\t\t\t\tvalue: _this2.state.wppr_options[key].name,\n\t\t\t\t\t\t\t\t\t\tonChange: function onChange(e) {\n\t\t\t\t\t\t\t\t\t\t\treturn _this2.onChangeOptionText(e, key);\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t}),\n\t\t\t\t\t\t\t\t\twp.element.createElement(TextControl, {\n\t\t\t\t\t\t\t\t\t\ttype: 'number',\n\t\t\t\t\t\t\t\t\t\tclassName: 'wppr-text wppr-option-number',\n\t\t\t\t\t\t\t\t\t\tplaceholder: __('0'),\n\t\t\t\t\t\t\t\t\t\tmin: 0,\n\t\t\t\t\t\t\t\t\t\tmax: 100,\n\t\t\t\t\t\t\t\t\t\tvalue: _this2.state.wppr_options[key].value,\n\t\t\t\t\t\t\t\t\t\tonChange: function onChange(e) {\n\t\t\t\t\t\t\t\t\t\t\treturn _this2.onChangeOptionNumber(e, key);\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t})\n\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t}),\n\t\t\t\t\t\t\t__WEBPACK_IMPORTED_MODULE_0_babel_runtime_core_js_object_keys___default()(this.state.wppr_options).length < wpprguten.length && wp.element.createElement(\n\t\t\t\t\t\t\t\tButton,\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\tisLarge: true,\n\t\t\t\t\t\t\t\t\tonClick: this.addOption\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t__('Add another option')\n\t\t\t\t\t\t\t)\n\t\t\t\t\t\t)\n\t\t\t\t\t),\n\t\t\t\t\twp.element.createElement(\n\t\t\t\t\t\tPanelBody,\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\ttitle: __('Pro Features'),\n\t\t\t\t\t\t\tclassName: 'wp-product-review-product-pros',\n\t\t\t\t\t\t\tinitialOpen: false\n\t\t\t\t\t\t},\n\t\t\t\t\t\twp.element.createElement(\n\t\t\t\t\t\t\t'div',\n\t\t\t\t\t\t\t{ className: 'wppr-review-pro-list' },\n\t\t\t\t\t\t\t__WEBPACK_IMPORTED_MODULE_0_babel_runtime_core_js_object_keys___default()(this.state.wppr_pros).map(function (key) {\n\t\t\t\t\t\t\t\treturn wp.element.createElement(\n\t\t\t\t\t\t\t\t\t'div',\n\t\t\t\t\t\t\t\t\t{ className: 'wppr-review-pro-item' },\n\t\t\t\t\t\t\t\t\twp.element.createElement(\n\t\t\t\t\t\t\t\t\t\t'label',\n\t\t\t\t\t\t\t\t\t\t{ 'for': 'wppr-pro-item-' + key },\n\t\t\t\t\t\t\t\t\t\tparseInt(key) + 1\n\t\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\t\twp.element.createElement(TextControl, {\n\t\t\t\t\t\t\t\t\t\ttype: 'text',\n\t\t\t\t\t\t\t\t\t\tid: 'wppr-pro-item-' + key,\n\t\t\t\t\t\t\t\t\t\tclassName: 'wppr-text',\n\t\t\t\t\t\t\t\t\t\tplaceholder: __('Option'),\n\t\t\t\t\t\t\t\t\t\tvalue: _this2.state.wppr_pros[key],\n\t\t\t\t\t\t\t\t\t\tonChange: function onChange(e) {\n\t\t\t\t\t\t\t\t\t\t\treturn _this2.onChangeProText(e, key);\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t})\n\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t}),\n\t\t\t\t\t\t\t__WEBPACK_IMPORTED_MODULE_0_babel_runtime_core_js_object_keys___default()(this.state.wppr_pros).length < wpprguten.length && wp.element.createElement(\n\t\t\t\t\t\t\t\tButton,\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\tisLarge: true,\n\t\t\t\t\t\t\t\t\tonClick: this.addPro\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t__('Add another option')\n\t\t\t\t\t\t\t)\n\t\t\t\t\t\t)\n\t\t\t\t\t),\n\t\t\t\t\twp.element.createElement(\n\t\t\t\t\t\tPanelBody,\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\ttitle: __('Con Features'),\n\t\t\t\t\t\t\tclassName: 'wp-product-review-product-cons',\n\t\t\t\t\t\t\tinitialOpen: false\n\t\t\t\t\t\t},\n\t\t\t\t\t\twp.element.createElement(\n\t\t\t\t\t\t\t'div',\n\t\t\t\t\t\t\t{ className: 'wppr-review-con-list' },\n\t\t\t\t\t\t\t__WEBPACK_IMPORTED_MODULE_0_babel_runtime_core_js_object_keys___default()(this.state.wppr_cons).map(function (key) {\n\t\t\t\t\t\t\t\treturn wp.element.createElement(\n\t\t\t\t\t\t\t\t\t'div',\n\t\t\t\t\t\t\t\t\t{ className: 'wppr-review-con-item' },\n\t\t\t\t\t\t\t\t\twp.element.createElement(\n\t\t\t\t\t\t\t\t\t\t'label',\n\t\t\t\t\t\t\t\t\t\t{ 'for': 'wppr-con-item-' + key },\n\t\t\t\t\t\t\t\t\t\tparseInt(key) + 1\n\t\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\t\twp.element.createElement(TextControl, {\n\t\t\t\t\t\t\t\t\t\ttype: 'text',\n\t\t\t\t\t\t\t\t\t\tid: 'wppr-con-item-' + key,\n\t\t\t\t\t\t\t\t\t\tclassName: 'wppr-text',\n\t\t\t\t\t\t\t\t\t\tplaceholder: __('Option'),\n\t\t\t\t\t\t\t\t\t\tvalue: _this2.state.wppr_cons[key],\n\t\t\t\t\t\t\t\t\t\tonChange: function onChange(e) {\n\t\t\t\t\t\t\t\t\t\t\treturn _this2.onChangeConText(e, key);\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t})\n\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t}),\n\t\t\t\t\t\t\t__WEBPACK_IMPORTED_MODULE_0_babel_runtime_core_js_object_keys___default()(this.state.wppr_cons).length < wpprguten.length && wp.element.createElement(\n\t\t\t\t\t\t\t\tButton,\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\tisLarge: true,\n\t\t\t\t\t\t\t\t\tonClick: this.addCon\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t__('Add another option')\n\t\t\t\t\t\t\t)\n\t\t\t\t\t\t)\n\t\t\t\t\t),\n\t\t\t\t\twpprguten.isPro && wp.element.createElement(\n\t\t\t\t\t\t'div',\n\t\t\t\t\t\t{ className: 'wppr-review-import-review-button' },\n\t\t\t\t\t\twp.element.createElement(\n\t\t\t\t\t\t\tButton,\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tisLarge: true,\n\t\t\t\t\t\t\t\tisPrimary: true,\n\t\t\t\t\t\t\t\tonClick: function onClick() {\n\t\t\t\t\t\t\t\t\treturn _this2.props.setState({ isOpen: true });\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t__('Import Review')\n\t\t\t\t\t\t),\n\t\t\t\t\t\tthis.props.isOpen ? wp.element.createElement(\n\t\t\t\t\t\t\tModal,\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\ttitle: __('Import Review'),\n\t\t\t\t\t\t\t\tclassName: 'wppr-review-import-modal',\n\t\t\t\t\t\t\t\tonRequestClose: function onRequestClose() {\n\t\t\t\t\t\t\t\t\treturn _this2.props.setState({ isOpen: false });\n\t\t\t\t\t\t\t\t} },\n\t\t\t\t\t\t\tthis.props.posts && __WEBPACK_IMPORTED_MODULE_0_babel_runtime_core_js_object_keys___default()(this.props.posts).map(function (key) {\n\t\t\t\t\t\t\t\treturn wp.element.createElement(\n\t\t\t\t\t\t\t\t\tPanelBody,\n\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\ttitle: _this2.props.posts[key].title.raw,\n\t\t\t\t\t\t\t\t\t\tinitialOpen: false\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\twp.element.createElement(\n\t\t\t\t\t\t\t\t\t\t'div',\n\t\t\t\t\t\t\t\t\t\t{ className: 'cwp_pitem_info' },\n\t\t\t\t\t\t\t\t\t\twp.element.createElement(\n\t\t\t\t\t\t\t\t\t\t\t'ul',\n\t\t\t\t\t\t\t\t\t\t\t{ 'class': 'cwp_pitem_options_content' },\n\t\t\t\t\t\t\t\t\t\t\twp.element.createElement(\n\t\t\t\t\t\t\t\t\t\t\t\t'h4',\n\t\t\t\t\t\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t\t\t\t\t\t__('Options')\n\t\t\t\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\t\t\t\t__WEBPACK_IMPORTED_MODULE_0_babel_runtime_core_js_object_keys___default()(_this2.props.posts[key].wppr_data.wppr_options).map(function (i) {\n\t\t\t\t\t\t\t\t\t\t\t\treturn wp.element.createElement(\n\t\t\t\t\t\t\t\t\t\t\t\t\t'li',\n\t\t\t\t\t\t\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t\t\t\t\t\t\t_this2.props.posts[key].wppr_data.wppr_options[i].name\n\t\t\t\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\t\t\t})\n\t\t\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\t\t\twp.element.createElement(\n\t\t\t\t\t\t\t\t\t\t\t'ul',\n\t\t\t\t\t\t\t\t\t\t\t{ 'class': 'cwp_pitem_options_pros' },\n\t\t\t\t\t\t\t\t\t\t\twp.element.createElement(\n\t\t\t\t\t\t\t\t\t\t\t\t'h4',\n\t\t\t\t\t\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t\t\t\t\t\t__('Pros')\n\t\t\t\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\t\t\t\t__WEBPACK_IMPORTED_MODULE_0_babel_runtime_core_js_object_keys___default()(_this2.props.posts[key].wppr_data.wppr_pros).map(function (i) {\n\t\t\t\t\t\t\t\t\t\t\t\treturn wp.element.createElement(\n\t\t\t\t\t\t\t\t\t\t\t\t\t'li',\n\t\t\t\t\t\t\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t\t\t\t\t\t\t_this2.props.posts[key].wppr_data.wppr_pros[i]\n\t\t\t\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\t\t\t})\n\t\t\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\t\t\twp.element.createElement(\n\t\t\t\t\t\t\t\t\t\t\t'ul',\n\t\t\t\t\t\t\t\t\t\t\t{ 'class': 'cwp_pitem_options_cons' },\n\t\t\t\t\t\t\t\t\t\t\twp.element.createElement(\n\t\t\t\t\t\t\t\t\t\t\t\t'h4',\n\t\t\t\t\t\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t\t\t\t\t\t__('Cons')\n\t\t\t\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\t\t\t\t__WEBPACK_IMPORTED_MODULE_0_babel_runtime_core_js_object_keys___default()(_this2.props.posts[key].wppr_data.wppr_cons).map(function (i) {\n\t\t\t\t\t\t\t\t\t\t\t\treturn wp.element.createElement(\n\t\t\t\t\t\t\t\t\t\t\t\t\t'li',\n\t\t\t\t\t\t\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t\t\t\t\t\t\t_this2.props.posts[key].wppr_data.wppr_cons[i]\n\t\t\t\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\t\t\t})\n\t\t\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\t\t\twp.element.createElement(\n\t\t\t\t\t\t\t\t\t\t\tButton,\n\t\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\t\tisLarge: true,\n\t\t\t\t\t\t\t\t\t\t\t\tonClick: function onClick() {\n\t\t\t\t\t\t\t\t\t\t\t\t\treturn _this2.importReview(key);\n\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t\t__('Import Review')\n\t\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t})\n\t\t\t\t\t\t) : null\n\t\t\t\t\t)\n\t\t\t\t)]\n\t\t\t);\n\t\t}\n\t}], [{\n\t\tkey: 'getDerivedStateFromProps',\n\t\tvalue: function getDerivedStateFromProps(nextProps, state) {\n\t\t\tif ((nextProps.isPublishing || nextProps.isSaving) && !nextProps.isAutoSaving) {\n\t\t\t\twp.apiRequest({ path: '/wp-product-review/update-review?id=' + nextProps.postId + '&postType=' + nextProps.postType, method: 'POST', data: state }).then(function (data) {\n\t\t\t\t\treturn data;\n\t\t\t\t}, function (err) {\n\t\t\t\t\treturn err;\n\t\t\t\t});\n\t\t\t}\n\t\t}\n\t}]);\n\n\treturn WP_Product_Review;\n}(Component);\n\nvar WPPR = compose([withSelect(function (select, _ref3) {\n\tvar forceIsSaving = _ref3.forceIsSaving;\n\n\tvar _select2 = select('core/editor'),\n\t getCurrentPostId = _select2.getCurrentPostId,\n\t isSavingPost = _select2.isSavingPost,\n\t isPublishingPost = _select2.isPublishingPost,\n\t isAutosavingPost = _select2.isAutosavingPost,\n\t getCurrentPostType = _select2.getCurrentPostType;\n\n\tvar latestPostsQuery = pickBy({\n\t\tper_page: 100,\n\t\tmeta_key: 'cwp_meta_box_check',\n\t\tmeta_value: 'Yes'\n\t}, function (value) {\n\t\treturn !isUndefined(value);\n\t});\n\treturn {\n\t\tpostId: getCurrentPostId(),\n\t\tpostType: getCurrentPostType(),\n\t\tposts: select('core').getEntityRecords('postType', 'post', latestPostsQuery),\n\t\tisSaving: forceIsSaving || isSavingPost(),\n\t\tisAutoSaving: isAutosavingPost(),\n\t\tisPublishing: isPublishingPost()\n\t};\n}), withState({\n\tisOpen: false\n}), withDispatch(function (dispatch) {\n\treturn {\n\t\topenReviewSidebar: function openReviewSidebar() {\n\t\t\treturn dispatch('core/edit-post').openGeneralSidebar('wp-product-review/wp-product-review');\n\t\t},\n\t\teditPostStatus: dispatch('core/editor').editPost\n\t};\n})])(WP_Product_Review);\n\nregisterPlugin('wp-product-review', {\n\ticon: 'star-empty',\n\trender: WPPR\n});//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiNTUuanMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9zcmMvc2lkZWJhci5qcz8yNWQ1Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBfT2JqZWN0JGtleXMgZnJvbSAnYmFiZWwtcnVudGltZS9jb3JlLWpzL29iamVjdC9rZXlzJztcbmltcG9ydCBfcmVnZW5lcmF0b3JSdW50aW1lIGZyb20gJ2JhYmVsLXJ1bnRpbWUvcmVnZW5lcmF0b3InO1xuaW1wb3J0IF9leHRlbmRzIGZyb20gJ2JhYmVsLXJ1bnRpbWUvaGVscGVycy9leHRlbmRzJztcbmltcG9ydCBfYXN5bmNUb0dlbmVyYXRvciBmcm9tICdiYWJlbC1ydW50aW1lL2hlbHBlcnMvYXN5bmNUb0dlbmVyYXRvcic7XG5pbXBvcnQgX09iamVjdCRnZXRQcm90b3R5cGVPZiBmcm9tICdiYWJlbC1ydW50aW1lL2NvcmUtanMvb2JqZWN0L2dldC1wcm90b3R5cGUtb2YnO1xuaW1wb3J0IF9jbGFzc0NhbGxDaGVjayBmcm9tICdiYWJlbC1ydW50aW1lL2hlbHBlcnMvY2xhc3NDYWxsQ2hlY2snO1xuaW1wb3J0IF9jcmVhdGVDbGFzcyBmcm9tICdiYWJlbC1ydW50aW1lL2hlbHBlcnMvY3JlYXRlQ2xhc3MnO1xuaW1wb3J0IF9wb3NzaWJsZUNvbnN0cnVjdG9yUmV0dXJuIGZyb20gJ2JhYmVsLXJ1bnRpbWUvaGVscGVycy9wb3NzaWJsZUNvbnN0cnVjdG9yUmV0dXJuJztcbmltcG9ydCBfaW5oZXJpdHMgZnJvbSAnYmFiZWwtcnVudGltZS9oZWxwZXJzL2luaGVyaXRzJztcbi8qKlxuICogSW50ZXJuYWwgZGVwZW5kZW5jaWVzXG4gKi9cbmltcG9ydCAnLi9zdHlsZS5zY3NzJztcbmltcG9ydCB7IHJldmVyc2VPYmplY3QsIHJlbmFtZUtleSB9IGZyb20gJy4vdXRpbHMnO1xuaW1wb3J0IFJhZGlvSW1hZ2VDb250cm9sIGZyb20gJy4vcmFkaW8taW1hZ2UtY29udHJvbC8nO1xuXG4vKipcbiAqIFdvcmRQcmVzcyBkZXBlbmRlbmNpZXNcbiAqL1xudmFyIF9fID0gd3AuaTE4bi5fXztcbnZhciBfbG9kYXNoID0gbG9kYXNoLFxuICAgIGlzVW5kZWZpbmVkID0gX2xvZGFzaC5pc1VuZGVmaW5lZCxcbiAgICBwaWNrQnkgPSBfbG9kYXNoLnBpY2tCeTtcbnZhciByZWdpc3RlclBsdWdpbiA9IHdwLnBsdWdpbnMucmVnaXN0ZXJQbHVnaW47XG52YXIgTWVkaWFVcGxvYWQgPSB3cC5lZGl0b3IuTWVkaWFVcGxvYWQ7XG52YXIgX3dwJGRhdGEgPSB3cC5kYXRhLFxuICAgIHNlbGVjdCA9IF93cCRkYXRhLnNlbGVjdCxcbiAgICB3aXRoU2VsZWN0ID0gX3dwJGRhdGEud2l0aFNlbGVjdCxcbiAgICB3aXRoRGlzcGF0Y2ggPSBfd3AkZGF0YS53aXRoRGlzcGF0Y2g7XG52YXIgX3dwJGVkaXRQb3N0ID0gd3AuZWRpdFBvc3QsXG4gICAgUGx1Z2luUG9zdFN0YXR1c0luZm8gPSBfd3AkZWRpdFBvc3QuUGx1Z2luUG9zdFN0YXR1c0luZm8sXG4gICAgUGx1Z2luU2lkZWJhck1vcmVNZW51SXRlbSA9IF93cCRlZGl0UG9zdC5QbHVnaW5TaWRlYmFyTW9yZU1lbnVJdGVtLFxuICAgIFBsdWdpblNpZGViYXIgPSBfd3AkZWRpdFBvc3QuUGx1Z2luU2lkZWJhcjtcbnZhciBfd3AkZWxlbWVudCA9IHdwLmVsZW1lbnQsXG4gICAgQ29tcG9uZW50ID0gX3dwJGVsZW1lbnQuQ29tcG9uZW50LFxuICAgIEZyYWdtZW50ID0gX3dwJGVsZW1lbnQuRnJhZ21lbnQ7XG52YXIgX3dwJGNvbXBvc2UgPSB3cC5jb21wb3NlLFxuICAgIHdpdGhTdGF0ZSA9IF93cCRjb21wb3NlLndpdGhTdGF0ZSxcbiAgICBjb21wb3NlID0gX3dwJGNvbXBvc2UuY29tcG9zZTtcbnZhciBfd3AkY29tcG9uZW50cyA9IHdwLmNvbXBvbmVudHMsXG4gICAgQnV0dG9uID0gX3dwJGNvbXBvbmVudHMuQnV0dG9uLFxuICAgIEZvcm1Ub2dnbGUgPSBfd3AkY29tcG9uZW50cy5Gb3JtVG9nZ2xlLFxuICAgIE1vZGFsID0gX3dwJGNvbXBvbmVudHMuTW9kYWwsXG4gICAgUGFuZWxCb2R5ID0gX3dwJGNvbXBvbmVudHMuUGFuZWxCb2R5LFxuICAgIFNlbGVjdENvbnRyb2wgPSBfd3AkY29tcG9uZW50cy5TZWxlY3RDb250cm9sLFxuICAgIFRleHRDb250cm9sID0gX3dwJGNvbXBvbmVudHMuVGV4dENvbnRyb2w7XG5cbnZhciBXUF9Qcm9kdWN0X1JldmlldyA9IGZ1bmN0aW9uIChfQ29tcG9uZW50KSB7XG5cdF9pbmhlcml0cyhXUF9Qcm9kdWN0X1JldmlldywgX0NvbXBvbmVudCk7XG5cblx0ZnVuY3Rpb24gV1BfUHJvZHVjdF9SZXZpZXcoKSB7XG5cdFx0X2NsYXNzQ2FsbENoZWNrKHRoaXMsIFdQX1Byb2R1Y3RfUmV2aWV3KTtcblxuXHRcdHZhciBfdGhpcyA9IF9wb3NzaWJsZUNvbnN0cnVjdG9yUmV0dXJuKHRoaXMsIChXUF9Qcm9kdWN0X1Jldmlldy5fX3Byb3RvX18gfHwgX09iamVjdCRnZXRQcm90b3R5cGVPZihXUF9Qcm9kdWN0X1JldmlldykpLmFwcGx5KHRoaXMsIGFyZ3VtZW50cykpO1xuXG5cdFx0X3RoaXMudG9nZ2xlUmV2aWV3U3RhdHVzID0gX3RoaXMudG9nZ2xlUmV2aWV3U3RhdHVzLmJpbmQoX3RoaXMpO1xuXHRcdF90aGlzLm9uQ2hhbmdlVGVtcGxhdGUgPSBfdGhpcy5vbkNoYW5nZVRlbXBsYXRlLmJpbmQoX3RoaXMpO1xuXHRcdF90aGlzLm9uQ2hhbmdlUmV2aWV3VGl0bGUgPSBfdGhpcy5vbkNoYW5nZVJldmlld1RpdGxlLmJpbmQoX3RoaXMpO1xuXHRcdF90aGlzLm9uQ2hhbmdlUmV2aWV3SW1hZ2UgPSBfdGhpcy5vbkNoYW5nZVJldmlld0ltYWdlLmJpbmQoX3RoaXMpO1xuXHRcdF90aGlzLm9uQ2hhbmdlSW1hZ2VMaW5rID0gX3RoaXMub25DaGFuZ2VJbWFnZUxpbmsuYmluZChfdGhpcyk7XG5cdFx0X3RoaXMub25DaGFuZ2VSZXZpZXdBZmZpbGlhdGVUaXRsZSA9IF90aGlzLm9uQ2hhbmdlUmV2aWV3QWZmaWxpYXRlVGl0bGUuYmluZChfdGhpcyk7XG5cdFx0X3RoaXMub25DaGFuZ2VSZXZpZXdBZmZpbGlhdGVMaW5rID0gX3RoaXMub25DaGFuZ2VSZXZpZXdBZmZpbGlhdGVMaW5rLmJpbmQoX3RoaXMpO1xuXHRcdF90aGlzLmFkZEJ1dHRvbiA9IF90aGlzLmFkZEJ1dHRvbi5iaW5kKF90aGlzKTtcblx0XHRfdGhpcy5vbkNoYW5nZVJldmlld1ByaWNlID0gX3RoaXMub25DaGFuZ2VSZXZpZXdQcmljZS5iaW5kKF90aGlzKTtcblx0XHRfdGhpcy5vbkNoYW5nZU9wdGlvblRleHQgPSBfdGhpcy5vbkNoYW5nZU9wdGlvblRleHQuYmluZChfdGhpcyk7XG5cdFx0X3RoaXMub25DaGFuZ2VPcHRpb25OdW1iZXIgPSBfdGhpcy5vbkNoYW5nZU9wdGlvbk51bWJlci5iaW5kKF90aGlzKTtcblx0XHRfdGhpcy5hZGRPcHRpb24gPSBfdGhpcy5hZGRPcHRpb24uYmluZChfdGhpcyk7XG5cdFx0X3RoaXMub25DaGFuZ2VQcm9UZXh0ID0gX3RoaXMub25DaGFuZ2VQcm9UZXh0LmJpbmQoX3RoaXMpO1xuXHRcdF90aGlzLmFkZFBybyA9IF90aGlzLmFkZFByby5iaW5kKF90aGlzKTtcblx0XHRfdGhpcy5vbkNoYW5nZUNvblRleHQgPSBfdGhpcy5vbkNoYW5nZUNvblRleHQuYmluZChfdGhpcyk7XG5cdFx0X3RoaXMuYWRkQ29uID0gX3RoaXMuYWRkQ29uLmJpbmQoX3RoaXMpO1xuXHRcdF90aGlzLmltcG9ydFJldmlldyA9IF90aGlzLmltcG9ydFJldmlldy5iaW5kKF90aGlzKTtcblxuXHRcdF90aGlzLnN0YXRlID0ge1xuXHRcdFx0Y3dwX21ldGFfYm94X2NoZWNrOiAnTm8nLFxuXHRcdFx0Y3dwX3Jldl9wcm9kdWN0X25hbWU6ICcnLFxuXHRcdFx0X3dwcHJfcmV2aWV3X3RlbXBsYXRlOiAnZGVmYXVsdCcsXG5cdFx0XHRjd3BfcmV2X3Byb2R1Y3RfaW1hZ2U6ICcnLFxuXHRcdFx0Y3dwX2ltYWdlX2xpbms6ICdpbWFnZScsXG5cdFx0XHR3cHByX2xpbmtzOiB7XG5cdFx0XHRcdCcnOiAnJ1xuXHRcdFx0fSxcblx0XHRcdGN3cF9yZXZfcHJpY2U6ICcnLFxuXHRcdFx0d3Bwcl9vcHRpb25zOiB7XG5cdFx0XHRcdDE6IHtcblx0XHRcdFx0XHRuYW1lOiAnJyxcblx0XHRcdFx0XHR2YWx1ZTogMFxuXHRcdFx0XHR9XG5cdFx0XHR9LFxuXHRcdFx0d3Bwcl9wcm9zOiB7XG5cdFx0XHRcdDA6ICcnXG5cdFx0XHR9LFxuXHRcdFx0d3Bwcl9jb25zOiB7XG5cdFx0XHRcdDA6ICcnXG5cdFx0XHR9XG5cdFx0fTtcblx0XHRyZXR1cm4gX3RoaXM7XG5cdH1cblxuXHRfY3JlYXRlQ2xhc3MoV1BfUHJvZHVjdF9SZXZpZXcsIFt7XG5cdFx0a2V5OiAnY29tcG9uZW50RGlkTW91bnQnLFxuXHRcdHZhbHVlOiBmdW5jdGlvbiAoKSB7XG5cdFx0XHR2YXIgX3JlZiA9IF9hc3luY1RvR2VuZXJhdG9yKCAvKiNfX1BVUkVfXyovX3JlZ2VuZXJhdG9yUnVudGltZS5tYXJrKGZ1bmN0aW9uIF9jYWxsZWUoKSB7XG5cdFx0XHRcdHZhciBfc2VsZWN0LCBnZXRDdXJyZW50UG9zdElkLCBnZXRDdXJyZW50UG9zdFR5cGUsIHBvc3Q7XG5cblx0XHRcdFx0cmV0dXJuIF9yZWdlbmVyYXRvclJ1bnRpbWUud3JhcChmdW5jdGlvbiBfY2FsbGVlJChfY29udGV4dCkge1xuXHRcdFx0XHRcdHdoaWxlICgxKSB7XG5cdFx0XHRcdFx0XHRzd2l0Y2ggKF9jb250ZXh0LnByZXYgPSBfY29udGV4dC5uZXh0KSB7XG5cdFx0XHRcdFx0XHRcdGNhc2UgMDpcblx0XHRcdFx0XHRcdFx0XHRfc2VsZWN0ID0gc2VsZWN0KCdjb3JlL2VkaXRvcicpLCBnZXRDdXJyZW50UG9zdElkID0gX3NlbGVjdC5nZXRDdXJyZW50UG9zdElkLCBnZXRDdXJyZW50UG9zdFR5cGUgPSBfc2VsZWN0LmdldEN1cnJlbnRQb3N0VHlwZTtcblx0XHRcdFx0XHRcdFx0XHRfY29udGV4dC5uZXh0ID0gMztcblx0XHRcdFx0XHRcdFx0XHRyZXR1cm4gc2VsZWN0KCdjb3JlJykuZ2V0RW50aXR5UmVjb3JkKCdwb3N0VHlwZScsIGdldEN1cnJlbnRQb3N0VHlwZSgpLCBnZXRDdXJyZW50UG9zdElkKCkpO1xuXG5cdFx0XHRcdFx0XHRcdGNhc2UgMzpcblx0XHRcdFx0XHRcdFx0XHRwb3N0ID0gX2NvbnRleHQuc2VudDtcblxuXG5cdFx0XHRcdFx0XHRcdFx0aWYgKHVuZGVmaW5lZCAhPT0gcG9zdCAmJiBwb3N0LndwcHJfZGF0YSkge1xuXHRcdFx0XHRcdFx0XHRcdFx0dGhpcy5zZXRTdGF0ZShfZXh0ZW5kcyh7fSwgcG9zdC53cHByX2RhdGEpKTtcblx0XHRcdFx0XHRcdFx0XHR9XG5cblx0XHRcdFx0XHRcdFx0Y2FzZSA1OlxuXHRcdFx0XHRcdFx0XHRjYXNlICdlbmQnOlxuXHRcdFx0XHRcdFx0XHRcdHJldHVybiBfY29udGV4dC5zdG9wKCk7XG5cdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9LCBfY2FsbGVlLCB0aGlzKTtcblx0XHRcdH0pKTtcblxuXHRcdFx0ZnVuY3Rpb24gY29tcG9uZW50RGlkTW91bnQoKSB7XG5cdFx0XHRcdHJldHVybiBfcmVmLmFwcGx5KHRoaXMsIGFyZ3VtZW50cyk7XG5cdFx0XHR9XG5cblx0XHRcdHJldHVybiBjb21wb25lbnREaWRNb3VudDtcblx0XHR9KClcblx0fSwge1xuXHRcdGtleTogJ2NvbXBvbmVudERpZFVwZGF0ZScsXG5cdFx0dmFsdWU6IGZ1bmN0aW9uIGNvbXBvbmVudERpZFVwZGF0ZShwcmV2UHJvcHMsIHByZXZTdGF0ZSkge1xuXHRcdFx0aWYgKHRoaXMuc3RhdGUuY3dwX21ldGFfYm94X2NoZWNrICE9PSBwcmV2U3RhdGUuY3dwX21ldGFfYm94X2NoZWNrICYmIHRoaXMuc3RhdGUuY3dwX21ldGFfYm94X2NoZWNrID09PSAnWWVzJykge1xuXHRcdFx0XHR0aGlzLnByb3BzLm9wZW5SZXZpZXdTaWRlYmFyKCk7XG5cdFx0XHR9XG5cdFx0fVxuXHR9LCB7XG5cdFx0a2V5OiAndG9nZ2xlUmV2aWV3U3RhdHVzJyxcblx0XHR2YWx1ZTogZnVuY3Rpb24gdG9nZ2xlUmV2aWV3U3RhdHVzKCkge1xuXHRcdFx0dGhpcy5zZXRTdGF0ZSh7IGN3cF9tZXRhX2JveF9jaGVjazogdGhpcy5zdGF0ZS5jd3BfbWV0YV9ib3hfY2hlY2sgPT09ICdZZXMnID8gJ05vJyA6ICdZZXMnIH0pO1xuXHRcdFx0dGhpcy5wcm9wcy5lZGl0UG9zdFN0YXR1cyh7IGVkaXRlZDogdHJ1ZSB9KTtcblx0XHR9XG5cdH0sIHtcblx0XHRrZXk6ICdvbkNoYW5nZVRlbXBsYXRlJyxcblx0XHR2YWx1ZTogZnVuY3Rpb24gb25DaGFuZ2VUZW1wbGF0ZSh2YWx1ZSkge1xuXHRcdFx0dGhpcy5zZXRTdGF0ZSh7IF93cHByX3Jldmlld190ZW1wbGF0ZTogdmFsdWUgfSk7XG5cdFx0XHR0aGlzLnByb3BzLmVkaXRQb3N0U3RhdHVzKHsgZWRpdGVkOiB0cnVlIH0pO1xuXHRcdH1cblx0fSwge1xuXHRcdGtleTogJ29uQ2hhbmdlUmV2aWV3VGl0bGUnLFxuXHRcdHZhbHVlOiBmdW5jdGlvbiBvbkNoYW5nZVJldmlld1RpdGxlKHZhbHVlKSB7XG5cdFx0XHR0aGlzLnNldFN0YXRlKHsgY3dwX3Jldl9wcm9kdWN0X25hbWU6IHZhbHVlIH0pO1xuXHRcdFx0dGhpcy5wcm9wcy5lZGl0UG9zdFN0YXR1cyh7IGVkaXRlZDogdHJ1ZSB9KTtcblx0XHR9XG5cdH0sIHtcblx0XHRrZXk6ICdvbkNoYW5nZVJldmlld0ltYWdlJyxcblx0XHR2YWx1ZTogZnVuY3Rpb24gb25DaGFuZ2VSZXZpZXdJbWFnZSh2YWx1ZSkge1xuXHRcdFx0aWYgKHZhbHVlLnVybCAhPT0gdW5kZWZpbmVkICYmIHZhbHVlLnVybCAhPT0gJycpIHtcblx0XHRcdFx0dGhpcy5zZXRTdGF0ZSh7IGN3cF9yZXZfcHJvZHVjdF9pbWFnZTogdmFsdWUudXJsIH0pO1xuXHRcdFx0fSBlbHNlIGlmICh2YWx1ZS5pZCAhPT0gdW5kZWZpbmVkKSB7XG5cdFx0XHRcdHRoaXMuc2V0U3RhdGUoeyBjd3BfcmV2X3Byb2R1Y3RfaW1hZ2U6IHZhbHVlLmlkIH0pO1xuXHRcdFx0fVxuXHRcdFx0dGhpcy5wcm9wcy5lZGl0UG9zdFN0YXR1cyh7IGVkaXRlZDogdHJ1ZSB9KTtcblx0XHR9XG5cdH0sIHtcblx0XHRrZXk6ICdvbkNoYW5nZUltYWdlTGluaycsXG5cdFx0dmFsdWU6IGZ1bmN0aW9uIG9uQ2hhbmdlSW1hZ2VMaW5rKHZhbHVlKSB7XG5cdFx0XHR0aGlzLnNldFN0YXRlKHsgY3dwX2ltYWdlX2xpbms6IHZhbHVlIH0pO1xuXHRcdFx0dGhpcy5wcm9wcy5lZGl0UG9zdFN0YXR1cyh7IGVkaXRlZDogdHJ1ZSB9KTtcblx0XHR9XG5cdH0sIHtcblx0XHRrZXk6ICdvbkNoYW5nZVJldmlld0FmZmlsaWF0ZVRpdGxlJyxcblx0XHR2YWx1ZTogZnVuY3Rpb24gb25DaGFuZ2VSZXZpZXdBZmZpbGlhdGVUaXRsZShlLCBrZXkpIHtcblx0XHRcdHZhciB3cHByX2xpbmtzID0gX2V4dGVuZHMoe30sIHRoaXMuc3RhdGUud3Bwcl9saW5rcyk7XG5cdFx0XHRpZiAoX09iamVjdCRrZXlzKHRoaXMuc3RhdGUud3Bwcl9saW5rcykubGVuZ3RoID09PSAyKSB7XG5cdFx0XHRcdGlmIChlID09PSBfT2JqZWN0JGtleXMod3Bwcl9saW5rcylbMF0gfHwgZSA9PT0gX09iamVjdCRrZXlzKHdwcHJfbGlua3MpWzFdKSB7XG5cdFx0XHRcdFx0ZSA9IGUgKyAnICc7XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHRcdGlmIChfT2JqZWN0JGtleXMod3Bwcl9saW5rcylbMF0gPT09IGtleSkge1xuXHRcdFx0XHRyZW5hbWVLZXkod3Bwcl9saW5rcywga2V5LCBlKTtcblx0XHRcdFx0d3Bwcl9saW5rcyA9IHJldmVyc2VPYmplY3Qod3Bwcl9saW5rcyk7XG5cdFx0XHR9IGVsc2Uge1xuXHRcdFx0XHRyZW5hbWVLZXkod3Bwcl9saW5rcywga2V5LCBlKTtcblx0XHRcdH1cblx0XHRcdHRoaXMuc2V0U3RhdGUoeyB3cHByX2xpbmtzOiB3cHByX2xpbmtzIH0pO1xuXHRcdFx0dGhpcy5wcm9wcy5lZGl0UG9zdFN0YXR1cyh7IGVkaXRlZDogdHJ1ZSB9KTtcblx0XHR9XG5cdH0sIHtcblx0XHRrZXk6ICdvbkNoYW5nZVJldmlld0FmZmlsaWF0ZUxpbmsnLFxuXHRcdHZhbHVlOiBmdW5jdGlvbiBvbkNoYW5nZVJldmlld0FmZmlsaWF0ZUxpbmsoZSwga2V5KSB7XG5cdFx0XHR2YXIgd3Bwcl9saW5rcyA9IF9leHRlbmRzKHt9LCB0aGlzLnN0YXRlLndwcHJfbGlua3MpO1xuXHRcdFx0d3Bwcl9saW5rc1trZXldID0gZTtcblx0XHRcdHRoaXMuc2V0U3RhdGUoeyB3cHByX2xpbmtzOiB3cHByX2xpbmtzIH0pO1xuXHRcdFx0dGhpcy5wcm9wcy5lZGl0UG9zdFN0YXR1cyh7IGVkaXRlZDogdHJ1ZSB9KTtcblx0XHR9XG5cdH0sIHtcblx0XHRrZXk6ICdhZGRCdXR0b24nLFxuXHRcdHZhbHVlOiBmdW5jdGlvbiBhZGRCdXR0b24oKSB7XG5cdFx0XHR2YXIgd3Bwcl9saW5rcyA9IF9leHRlbmRzKHt9LCB0aGlzLnN0YXRlLndwcHJfbGlua3MpO1xuXHRcdFx0d3Bwcl9saW5rc1snQnV5IE5vdyddID0gJyc7XG5cdFx0XHR0aGlzLnNldFN0YXRlKHsgd3Bwcl9saW5rczogd3Bwcl9saW5rcyB9KTtcblx0XHR9XG5cdH0sIHtcblx0XHRrZXk6ICdvbkNoYW5nZVJldmlld1ByaWNlJyxcblx0XHR2YWx1ZTogZnVuY3Rpb24gb25DaGFuZ2VSZXZpZXdQcmljZSh2YWx1ZSkge1xuXHRcdFx0dGhpcy5zZXRTdGF0ZSh7IGN3cF9yZXZfcHJpY2U6IHZhbHVlIH0pO1xuXHRcdFx0dGhpcy5wcm9wcy5lZGl0UG9zdFN0YXR1cyh7IGVkaXRlZDogdHJ1ZSB9KTtcblx0XHR9XG5cdH0sIHtcblx0XHRrZXk6ICdvbkNoYW5nZU9wdGlvblRleHQnLFxuXHRcdHZhbHVlOiBmdW5jdGlvbiBvbkNoYW5nZU9wdGlvblRleHQoZSwga2V5KSB7XG5cdFx0XHR2YXIgd3Bwcl9vcHRpb25zID0gX2V4dGVuZHMoe30sIHRoaXMuc3RhdGUud3Bwcl9vcHRpb25zKTtcblx0XHRcdHdwcHJfb3B0aW9uc1trZXldWyduYW1lJ10gPSBlO1xuXHRcdFx0dGhpcy5zZXRTdGF0ZSh7IHdwcHJfb3B0aW9uczogd3Bwcl9vcHRpb25zIH0pO1xuXHRcdFx0dGhpcy5wcm9wcy5lZGl0UG9zdFN0YXR1cyh7IGVkaXRlZDogdHJ1ZSB9KTtcblx0XHR9XG5cdH0sIHtcblx0XHRrZXk6ICdvbkNoYW5nZU9wdGlvbk51bWJlcicsXG5cdFx0dmFsdWU6IGZ1bmN0aW9uIG9uQ2hhbmdlT3B0aW9uTnVtYmVyKGUsIGtleSkge1xuXHRcdFx0dmFyIHdwcHJfb3B0aW9ucyA9IF9leHRlbmRzKHt9LCB0aGlzLnN0YXRlLndwcHJfb3B0aW9ucyk7XG5cdFx0XHRpZiAoZSA9PT0gJycpIGUgPSAwO1xuXHRcdFx0d3Bwcl9vcHRpb25zW2tleV1bJ3ZhbHVlJ10gPSBlO1xuXHRcdFx0dGhpcy5zZXRTdGF0ZSh7IHdwcHJfb3B0aW9uczogd3Bwcl9vcHRpb25zIH0pO1xuXHRcdFx0dGhpcy5wcm9wcy5lZGl0UG9zdFN0YXR1cyh7IGVkaXRlZDogdHJ1ZSB9KTtcblx0XHR9XG5cdH0sIHtcblx0XHRrZXk6ICdhZGRPcHRpb24nLFxuXHRcdHZhbHVlOiBmdW5jdGlvbiBhZGRPcHRpb24oKSB7XG5cdFx0XHR2YXIga2V5ID0gX09iamVjdCRrZXlzKHRoaXMuc3RhdGUud3Bwcl9vcHRpb25zKS5sZW5ndGggKyAxO1xuXHRcdFx0dmFyIHdwcHJfb3B0aW9ucyA9IF9leHRlbmRzKHt9LCB0aGlzLnN0YXRlLndwcHJfb3B0aW9ucyk7XG5cdFx0XHR3cHByX29wdGlvbnNba2V5XSA9IHtcblx0XHRcdFx0bmFtZTogJycsXG5cdFx0XHRcdHZhbHVlOiAwXG5cdFx0XHR9O1xuXHRcdFx0dGhpcy5zZXRTdGF0ZSh7IHdwcHJfb3B0aW9uczogd3Bwcl9vcHRpb25zIH0pO1xuXHRcdH1cblx0fSwge1xuXHRcdGtleTogJ29uQ2hhbmdlUHJvVGV4dCcsXG5cdFx0dmFsdWU6IGZ1bmN0aW9uIG9uQ2hhbmdlUHJvVGV4dChlLCBrZXkpIHtcblx0XHRcdHZhciB3cHByX3Byb3MgPSBfZXh0ZW5kcyh7fSwgdGhpcy5zdGF0ZS53cHByX3Byb3MpO1xuXHRcdFx0d3Bwcl9wcm9zW2tleV0gPSBlO1xuXHRcdFx0dGhpcy5zZXRTdGF0ZSh7IHdwcHJfcHJvczogd3Bwcl9wcm9zIH0pO1xuXHRcdFx0dGhpcy5wcm9wcy5lZGl0UG9zdFN0YXR1cyh7IGVkaXRlZDogdHJ1ZSB9KTtcblx0XHR9XG5cdH0sIHtcblx0XHRrZXk6ICdhZGRQcm8nLFxuXHRcdHZhbHVlOiBmdW5jdGlvbiBhZGRQcm8oKSB7XG5cdFx0XHR2YXIga2V5ID0gX09iamVjdCRrZXlzKHRoaXMuc3RhdGUud3Bwcl9wcm9zKS5sZW5ndGg7XG5cdFx0XHR2YXIgd3Bwcl9wcm9zID0gX2V4dGVuZHMoe30sIHRoaXMuc3RhdGUud3Bwcl9wcm9zKTtcblx0XHRcdHdwcHJfcHJvc1trZXldID0gJyc7XG5cdFx0XHR0aGlzLnNldFN0YXRlKHsgd3Bwcl9wcm9zOiB3cHByX3Byb3MgfSk7XG5cdFx0fVxuXHR9LCB7XG5cdFx0a2V5OiAnb25DaGFuZ2VDb25UZXh0Jyxcblx0XHR2YWx1ZTogZnVuY3Rpb24gb25DaGFuZ2VDb25UZXh0KGUsIGtleSkge1xuXHRcdFx0dmFyIHdwcHJfY29ucyA9IF9leHRlbmRzKHt9LCB0aGlzLnN0YXRlLndwcHJfY29ucyk7XG5cdFx0XHR3cHByX2NvbnNba2V5XSA9IGU7XG5cdFx0XHR0aGlzLnNldFN0YXRlKHsgd3Bwcl9jb25zOiB3cHByX2NvbnMgfSk7XG5cdFx0XHR0aGlzLnByb3BzLmVkaXRQb3N0U3RhdHVzKHsgZWRpdGVkOiB0cnVlIH0pO1xuXHRcdH1cblx0fSwge1xuXHRcdGtleTogJ2FkZENvbicsXG5cdFx0dmFsdWU6IGZ1bmN0aW9uIGFkZENvbigpIHtcblx0XHRcdHZhciBrZXkgPSBfT2JqZWN0JGtleXModGhpcy5zdGF0ZS53cHByX2NvbnMpLmxlbmd0aDtcblx0XHRcdHZhciB3cHByX2NvbnMgPSBfZXh0ZW5kcyh7fSwgdGhpcy5zdGF0ZS53cHByX2NvbnMpO1xuXHRcdFx0d3Bwcl9jb25zW2tleV0gPSAnJztcblx0XHRcdHRoaXMuc2V0U3RhdGUoeyB3cHByX2NvbnM6IHdwcHJfY29ucyB9KTtcblx0XHR9XG5cdH0sIHtcblx0XHRrZXk6ICdpbXBvcnRSZXZpZXcnLFxuXHRcdHZhbHVlOiBmdW5jdGlvbiBpbXBvcnRSZXZpZXcoa2V5KSB7XG5cdFx0XHR0aGlzLnNldFN0YXRlKHtcblx0XHRcdFx0d3Bwcl9vcHRpb25zOiB0aGlzLnByb3BzLnBvc3RzW2tleV0ud3Bwcl9kYXRhLndwcHJfb3B0aW9ucyxcblx0XHRcdFx0d3Bwcl9wcm9zOiB0aGlzLnByb3BzLnBvc3RzW2tleV0ud3Bwcl9kYXRhLndwcHJfcHJvcyxcblx0XHRcdFx0d3Bwcl9jb25zOiB0aGlzLnByb3BzLnBvc3RzW2tleV0ud3Bwcl9kYXRhLndwcHJfY29uc1xuXHRcdFx0fSk7XG5cdFx0XHR0aGlzLnByb3BzLmVkaXRQb3N0U3RhdHVzKHsgZWRpdGVkOiB0cnVlIH0pO1xuXHRcdFx0dGhpcy5wcm9wcy5zZXRTdGF0ZSh7IGlzT3BlbjogZmFsc2UgfSk7XG5cdFx0fVxuXHR9LCB7XG5cdFx0a2V5OiAncmVuZGVyJyxcblx0XHR2YWx1ZTogZnVuY3Rpb24gcmVuZGVyKCkge1xuXHRcdFx0dmFyIF90aGlzMiA9IHRoaXM7XG5cblx0XHRcdHJldHVybiB3cC5lbGVtZW50LmNyZWF0ZUVsZW1lbnQoXG5cdFx0XHRcdEZyYWdtZW50LFxuXHRcdFx0XHRudWxsLFxuXHRcdFx0XHR3cC5lbGVtZW50LmNyZWF0ZUVsZW1lbnQoXG5cdFx0XHRcdFx0UGx1Z2luUG9zdFN0YXR1c0luZm8sXG5cdFx0XHRcdFx0bnVsbCxcblx0XHRcdFx0XHR3cC5lbGVtZW50LmNyZWF0ZUVsZW1lbnQoXG5cdFx0XHRcdFx0XHQnbGFiZWwnLFxuXHRcdFx0XHRcdFx0eyBodG1sRm9yOiAnaXMtdGhpcy1hLXJldmlldycgfSxcblx0XHRcdFx0XHRcdF9fKCdJcyB0aGlzIHBvc3QgYSByZXZpZXc/Jylcblx0XHRcdFx0XHQpLFxuXHRcdFx0XHRcdHdwLmVsZW1lbnQuY3JlYXRlRWxlbWVudChGb3JtVG9nZ2xlLCB7XG5cdFx0XHRcdFx0XHRjaGVja2VkOiB0aGlzLnN0YXRlLmN3cF9tZXRhX2JveF9jaGVjayA9PT0gJ1llcycgPyB0cnVlIDogZmFsc2UsXG5cdFx0XHRcdFx0XHRvbkNoYW5nZTogdGhpcy50b2dnbGVSZXZpZXdTdGF0dXMsXG5cdFx0XHRcdFx0XHRpZDogJ2lzLXRoaXMtYS1yZXZpZXcnXG5cdFx0XHRcdFx0fSlcblx0XHRcdFx0KSxcblx0XHRcdFx0dGhpcy5zdGF0ZS5jd3BfbWV0YV9ib3hfY2hlY2sgPT09ICdZZXMnICYmIFt3cC5lbGVtZW50LmNyZWF0ZUVsZW1lbnQoXG5cdFx0XHRcdFx0UGx1Z2luU2lkZWJhck1vcmVNZW51SXRlbSxcblx0XHRcdFx0XHR7XG5cdFx0XHRcdFx0XHR0YXJnZXQ6ICd3cC1wcm9kdWN0LXJldmlldydcblx0XHRcdFx0XHR9LFxuXHRcdFx0XHRcdF9fKCdXUCBQcm9kdWN0IFJldmlldycpXG5cdFx0XHRcdCksIHdwLmVsZW1lbnQuY3JlYXRlRWxlbWVudChcblx0XHRcdFx0XHRQbHVnaW5TaWRlYmFyLFxuXHRcdFx0XHRcdHtcblx0XHRcdFx0XHRcdG5hbWU6ICd3cC1wcm9kdWN0LXJldmlldycsXG5cdFx0XHRcdFx0XHR0aXRsZTogX18oJ1dQIFByb2R1Y3QgUmV2aWV3Jylcblx0XHRcdFx0XHR9LFxuXHRcdFx0XHRcdHdwLmVsZW1lbnQuY3JlYXRlRWxlbWVudChcblx0XHRcdFx0XHRcdFBhbmVsQm9keSxcblx0XHRcdFx0XHRcdHtcblx0XHRcdFx0XHRcdFx0dGl0bGU6IF9fKCdQcm9kdWN0IERldGFpbHMnKSxcblx0XHRcdFx0XHRcdFx0Y2xhc3NOYW1lOiAnd3AtcHJvZHVjdC1yZXZpZXctcHJvZHVjdC1kZXRhaWxzJyxcblx0XHRcdFx0XHRcdFx0aW5pdGlhbE9wZW46IHRydWVcblx0XHRcdFx0XHRcdH0sXG5cdFx0XHRcdFx0XHR3cHByZ3V0ZW4uaXNQcm8gJiYgd3AuZWxlbWVudC5jcmVhdGVFbGVtZW50KFJhZGlvSW1hZ2VDb250cm9sLCB7XG5cdFx0XHRcdFx0XHRcdGxhYmVsOiBfXygnUmV2aWV3IFRlbXBsYXRlJyksXG5cdFx0XHRcdFx0XHRcdHNlbGVjdGVkOiB0aGlzLnN0YXRlLl93cHByX3Jldmlld190ZW1wbGF0ZSxcblx0XHRcdFx0XHRcdFx0b3B0aW9uczogW3tcblx0XHRcdFx0XHRcdFx0XHRsYWJlbDogX18oJ0RlZmF1bHQnKSxcblx0XHRcdFx0XHRcdFx0XHRzcmM6IHdwcHJndXRlbi5wYXRoICsgJy9hc3NldHMvaW1nL3RlbXBsYXRlcy9kZWZhdWx0LnBuZycsXG5cdFx0XHRcdFx0XHRcdFx0dmFsdWU6ICdkZWZhdWx0J1xuXHRcdFx0XHRcdFx0XHR9LCB7XG5cdFx0XHRcdFx0XHRcdFx0bGFiZWw6IF9fKCdTdHlsZSAxJyksXG5cdFx0XHRcdFx0XHRcdFx0c3JjOiB3cHByZ3V0ZW4ucGF0aCArICcvYXNzZXRzL2ltZy90ZW1wbGF0ZXMvc3R5bGUxLnBuZycsXG5cdFx0XHRcdFx0XHRcdFx0dmFsdWU6ICdzdHlsZTEnXG5cdFx0XHRcdFx0XHRcdH0sIHtcblx0XHRcdFx0XHRcdFx0XHRsYWJlbDogX18oJ1N0eWxlIDInKSxcblx0XHRcdFx0XHRcdFx0XHRzcmM6IHdwcHJndXRlbi5wYXRoICsgJy9hc3NldHMvaW1nL3RlbXBsYXRlcy9zdHlsZTIucG5nJyxcblx0XHRcdFx0XHRcdFx0XHR2YWx1ZTogJ3N0eWxlMidcblx0XHRcdFx0XHRcdFx0fV0sXG5cdFx0XHRcdFx0XHRcdG9uQ2hhbmdlOiB0aGlzLm9uQ2hhbmdlVGVtcGxhdGVcblx0XHRcdFx0XHRcdH0pLFxuXHRcdFx0XHRcdFx0dGhpcy5wcm9wcy5wb3N0VHlwZSAhPT0gJ3dwcHJfcmV2aWV3JyAmJiBbd3AuZWxlbWVudC5jcmVhdGVFbGVtZW50KFRleHRDb250cm9sLCB7XG5cdFx0XHRcdFx0XHRcdGxhYmVsOiBfXygnUHJvZHVjdCBOYW1lJyksXG5cdFx0XHRcdFx0XHRcdHR5cGU6ICd0ZXh0Jyxcblx0XHRcdFx0XHRcdFx0dmFsdWU6IHRoaXMuc3RhdGUuY3dwX3Jldl9wcm9kdWN0X25hbWUsXG5cdFx0XHRcdFx0XHRcdG9uQ2hhbmdlOiB0aGlzLm9uQ2hhbmdlUmV2aWV3VGl0bGVcblx0XHRcdFx0XHRcdH0pXSxcblx0XHRcdFx0XHRcdHdwLmVsZW1lbnQuY3JlYXRlRWxlbWVudChcblx0XHRcdFx0XHRcdFx0J2RpdicsXG5cdFx0XHRcdFx0XHRcdHsgY2xhc3NOYW1lOiAnd3AtcHJvZHVjdC1yZXZpZXctc2lkZWJhci1iYXNlLWNvbnRyb2wnIH0sXG5cdFx0XHRcdFx0XHRcdHdwLmVsZW1lbnQuY3JlYXRlRWxlbWVudChcblx0XHRcdFx0XHRcdFx0XHQnbGFiZWwnLFxuXHRcdFx0XHRcdFx0XHRcdHsgY2xhc3NOYW1lOiAnYmxvY2tzLWJhc2UtY29udHJvbF9fbGFiZWwnLCAnZm9yJzogJ2luc3BlY3Rvci1tZWRpYS11cGxvYWQnIH0sXG5cdFx0XHRcdFx0XHRcdFx0X18oJ1Byb2R1Y3QgSW1hZ2UnKVxuXHRcdFx0XHRcdFx0XHQpLFxuXHRcdFx0XHRcdFx0XHR3cC5lbGVtZW50LmNyZWF0ZUVsZW1lbnQoTWVkaWFVcGxvYWQsIHtcblx0XHRcdFx0XHRcdFx0XHR0eXBlOiAnaW1hZ2UnLFxuXHRcdFx0XHRcdFx0XHRcdGlkOiAnaW5zcGVjdG9yLW1lZGlhLXVwbG9hZCcsXG5cdFx0XHRcdFx0XHRcdFx0dmFsdWU6IHRoaXMuc3RhdGUuY3dwX3Jldl9wcm9kdWN0X2ltYWdlLFxuXHRcdFx0XHRcdFx0XHRcdG9uU2VsZWN0OiB0aGlzLm9uQ2hhbmdlUmV2aWV3SW1hZ2UsXG5cdFx0XHRcdFx0XHRcdFx0cmVuZGVyOiBmdW5jdGlvbiByZW5kZXIoX3JlZjIpIHtcblx0XHRcdFx0XHRcdFx0XHRcdHZhciBvcGVuID0gX3JlZjIub3Blbjtcblx0XHRcdFx0XHRcdFx0XHRcdHJldHVybiBbX3RoaXMyLnN0YXRlLmN3cF9yZXZfcHJvZHVjdF9pbWFnZSAhPT0gJycgJiYgW3dwLmVsZW1lbnQuY3JlYXRlRWxlbWVudCgnaW1nJywge1xuXHRcdFx0XHRcdFx0XHRcdFx0XHRvbkNsaWNrOiBvcGVuLFxuXHRcdFx0XHRcdFx0XHRcdFx0XHRzcmM6IF90aGlzMi5zdGF0ZS5jd3BfcmV2X3Byb2R1Y3RfaW1hZ2UsXG5cdFx0XHRcdFx0XHRcdFx0XHRcdGFsdDogX18oJ1JldmlldyBpbWFnZScpXG5cdFx0XHRcdFx0XHRcdFx0XHR9KSwgd3AuZWxlbWVudC5jcmVhdGVFbGVtZW50KFxuXHRcdFx0XHRcdFx0XHRcdFx0XHRCdXR0b24sXG5cdFx0XHRcdFx0XHRcdFx0XHRcdHtcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRpc0xhcmdlOiB0cnVlLFxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdG9uQ2xpY2s6IGZ1bmN0aW9uIG9uQ2xpY2soKSB7XG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRyZXR1cm4gX3RoaXMyLnNldFN0YXRlKHsgY3dwX3Jldl9wcm9kdWN0X2ltYWdlOiAnJyB9KTtcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHR9LFxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdHN0eWxlOiB7IG1hcmdpblRvcDogJzEwcHgnIH1cblx0XHRcdFx0XHRcdFx0XHRcdFx0fSxcblx0XHRcdFx0XHRcdFx0XHRcdFx0X18oJ1JlbW92ZSBJbWFnZScpXG5cdFx0XHRcdFx0XHRcdFx0XHQpXSwgd3AuZWxlbWVudC5jcmVhdGVFbGVtZW50KFxuXHRcdFx0XHRcdFx0XHRcdFx0XHRCdXR0b24sXG5cdFx0XHRcdFx0XHRcdFx0XHRcdHtcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRpc0xhcmdlOiB0cnVlLFxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdG9uQ2xpY2s6IG9wZW4sXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0c3R5bGU6IHsgbWFyZ2luVG9wOiAnMTBweCcgfSxcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRjbGFzc05hbWU6IF90aGlzMi5zdGF0ZS5jd3BfcmV2X3Byb2R1Y3RfaW1hZ2UgPT09ICcnICYmICd3cHByX2ltYWdlX3VwbG9hZCdcblx0XHRcdFx0XHRcdFx0XHRcdFx0fSxcblx0XHRcdFx0XHRcdFx0XHRcdFx0X18oJ0Nob29zZSBvciBVcGxvYWQgYW4gSW1hZ2UnKVxuXHRcdFx0XHRcdFx0XHRcdFx0KV07XG5cdFx0XHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdFx0XHR9KVxuXHRcdFx0XHRcdFx0KSxcblx0XHRcdFx0XHRcdHdwLmVsZW1lbnQuY3JlYXRlRWxlbWVudChTZWxlY3RDb250cm9sLCB7XG5cdFx0XHRcdFx0XHRcdGxhYmVsOiBfXygnUHJvZHVjdCBJbWFnZSBDbGljaycpLFxuXHRcdFx0XHRcdFx0XHR2YWx1ZTogdGhpcy5zdGF0ZS5jd3BfaW1hZ2VfbGluayxcblx0XHRcdFx0XHRcdFx0b3B0aW9uczogW3tcblx0XHRcdFx0XHRcdFx0XHRsYWJlbDogX18oJ1Nob3cgV2hvbGUgSW1hZ2UnKSxcblx0XHRcdFx0XHRcdFx0XHR2YWx1ZTogJ2ltYWdlJ1xuXHRcdFx0XHRcdFx0XHR9LCB7XG5cdFx0XHRcdFx0XHRcdFx0bGFiZWw6IF9fKCdPcGVuIEFmZmlsaWF0ZSBMaW5rJyksXG5cdFx0XHRcdFx0XHRcdFx0dmFsdWU6ICdsaW5rJ1xuXHRcdFx0XHRcdFx0XHR9XSxcblx0XHRcdFx0XHRcdFx0b25DaGFuZ2U6IHRoaXMub25DaGFuZ2VJbWFnZUxpbmtcblx0XHRcdFx0XHRcdH0pLFxuXHRcdFx0XHRcdFx0d3AuZWxlbWVudC5jcmVhdGVFbGVtZW50KFxuXHRcdFx0XHRcdFx0XHQnZGl2Jyxcblx0XHRcdFx0XHRcdFx0eyBjbGFzc05hbWU6ICd3cHByLXJldmlldy1saW5rcy1saXN0JyB9LFxuXHRcdFx0XHRcdFx0XHRfT2JqZWN0JGtleXModGhpcy5zdGF0ZS53cHByX2xpbmtzKS5tYXAoZnVuY3Rpb24gKGtleSkge1xuXHRcdFx0XHRcdFx0XHRcdHJldHVybiBbd3AuZWxlbWVudC5jcmVhdGVFbGVtZW50KFRleHRDb250cm9sLCB7XG5cdFx0XHRcdFx0XHRcdFx0XHRsYWJlbDogX18oJ0FmZmlsaWF0ZSBCdXR0b24gVGV4dCcpLFxuXHRcdFx0XHRcdFx0XHRcdFx0dHlwZTogJ3RleHQnLFxuXHRcdFx0XHRcdFx0XHRcdFx0dmFsdWU6IGtleSxcblx0XHRcdFx0XHRcdFx0XHRcdG9uQ2hhbmdlOiBmdW5jdGlvbiBvbkNoYW5nZShlKSB7XG5cdFx0XHRcdFx0XHRcdFx0XHRcdHJldHVybiBfdGhpczIub25DaGFuZ2VSZXZpZXdBZmZpbGlhdGVUaXRsZShlLCBrZXkpO1xuXHRcdFx0XHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdFx0XHRcdH0pLCB3cC5lbGVtZW50LmNyZWF0ZUVsZW1lbnQoVGV4dENvbnRyb2wsIHtcblx0XHRcdFx0XHRcdFx0XHRcdGxhYmVsOiBfXygnQWZmaWxpYXRlIEJ1dHRvbiBMaW5rJyksXG5cdFx0XHRcdFx0XHRcdFx0XHR0eXBlOiAndXJsJyxcblx0XHRcdFx0XHRcdFx0XHRcdHZhbHVlOiBfdGhpczIuc3RhdGUud3Bwcl9saW5rc1trZXldLFxuXHRcdFx0XHRcdFx0XHRcdFx0b25DaGFuZ2U6IGZ1bmN0aW9uIG9uQ2hhbmdlKGUpIHtcblx0XHRcdFx0XHRcdFx0XHRcdFx0cmV0dXJuIF90aGlzMi5vbkNoYW5nZVJldmlld0FmZmlsaWF0ZUxpbmsoZSwga2V5KTtcblx0XHRcdFx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHRcdFx0XHR9KV07XG5cdFx0XHRcdFx0XHRcdH0pLFxuXHRcdFx0XHRcdFx0XHRfT2JqZWN0JGtleXModGhpcy5zdGF0ZS53cHByX2xpbmtzKS5sZW5ndGggPCAyICYmIHdwLmVsZW1lbnQuY3JlYXRlRWxlbWVudChcblx0XHRcdFx0XHRcdFx0XHRCdXR0b24sXG5cdFx0XHRcdFx0XHRcdFx0e1xuXHRcdFx0XHRcdFx0XHRcdFx0aXNMYXJnZTogdHJ1ZSxcblx0XHRcdFx0XHRcdFx0XHRcdG9uQ2xpY2s6IHRoaXMuYWRkQnV0dG9uXG5cdFx0XHRcdFx0XHRcdFx0fSxcblx0XHRcdFx0XHRcdFx0XHRfXygnQWRkIGFub3RoZXIgYnV0dG9uJylcblx0XHRcdFx0XHRcdFx0KVxuXHRcdFx0XHRcdFx0KSxcblx0XHRcdFx0XHRcdHdwLmVsZW1lbnQuY3JlYXRlRWxlbWVudChUZXh0Q29udHJvbCwge1xuXHRcdFx0XHRcdFx0XHRsYWJlbDogX18oJ1Byb2R1Y3QgUHJpY2UnKSxcblx0XHRcdFx0XHRcdFx0dHlwZTogJ3RleHQnLFxuXHRcdFx0XHRcdFx0XHR2YWx1ZTogdGhpcy5zdGF0ZS5jd3BfcmV2X3ByaWNlLFxuXHRcdFx0XHRcdFx0XHRvbkNoYW5nZTogdGhpcy5vbkNoYW5nZVJldmlld1ByaWNlXG5cdFx0XHRcdFx0XHR9KVxuXHRcdFx0XHRcdCksXG5cdFx0XHRcdFx0d3AuZWxlbWVudC5jcmVhdGVFbGVtZW50KFxuXHRcdFx0XHRcdFx0UGFuZWxCb2R5LFxuXHRcdFx0XHRcdFx0e1xuXHRcdFx0XHRcdFx0XHR0aXRsZTogX18oJ1Byb2R1Y3QgT3B0aW9ucycpLFxuXHRcdFx0XHRcdFx0XHRjbGFzc05hbWU6ICd3cC1wcm9kdWN0LXJldmlldy1wcm9kdWN0LW9wdGlvbnMnLFxuXHRcdFx0XHRcdFx0XHRpbml0aWFsT3BlbjogZmFsc2Vcblx0XHRcdFx0XHRcdH0sXG5cdFx0XHRcdFx0XHR3cC5lbGVtZW50LmNyZWF0ZUVsZW1lbnQoXG5cdFx0XHRcdFx0XHRcdCdkaXYnLFxuXHRcdFx0XHRcdFx0XHR7IGNsYXNzTmFtZTogJ3dwcHItcmV2aWV3LW9wdGlvbnMtbGlzdCcgfSxcblx0XHRcdFx0XHRcdFx0X09iamVjdCRrZXlzKHRoaXMuc3RhdGUud3Bwcl9vcHRpb25zKS5tYXAoZnVuY3Rpb24gKGtleSkge1xuXHRcdFx0XHRcdFx0XHRcdHJldHVybiB3cC5lbGVtZW50LmNyZWF0ZUVsZW1lbnQoXG5cdFx0XHRcdFx0XHRcdFx0XHQnZGl2Jyxcblx0XHRcdFx0XHRcdFx0XHRcdHsgY2xhc3NOYW1lOiAnd3Bwci1yZXZpZXctb3B0aW9ucy1pdGVtJyB9LFxuXHRcdFx0XHRcdFx0XHRcdFx0d3AuZWxlbWVudC5jcmVhdGVFbGVtZW50KFxuXHRcdFx0XHRcdFx0XHRcdFx0XHQnbGFiZWwnLFxuXHRcdFx0XHRcdFx0XHRcdFx0XHR7ICdmb3InOiAnd3Bwci1vcHRpb24taXRlbS0nICsga2V5IH0sXG5cdFx0XHRcdFx0XHRcdFx0XHRcdGtleVxuXHRcdFx0XHRcdFx0XHRcdFx0KSxcblx0XHRcdFx0XHRcdFx0XHRcdHdwLmVsZW1lbnQuY3JlYXRlRWxlbWVudChUZXh0Q29udHJvbCwge1xuXHRcdFx0XHRcdFx0XHRcdFx0XHR0eXBlOiAndGV4dCcsXG5cdFx0XHRcdFx0XHRcdFx0XHRcdGlkOiAnd3Bwci1vcHRpb24taXRlbS0nICsga2V5LFxuXHRcdFx0XHRcdFx0XHRcdFx0XHRjbGFzc05hbWU6ICd3cHByLXRleHQnLFxuXHRcdFx0XHRcdFx0XHRcdFx0XHRwbGFjZWhvbGRlcjogX18oJ09wdGlvbicpLFxuXHRcdFx0XHRcdFx0XHRcdFx0XHR2YWx1ZTogX3RoaXMyLnN0YXRlLndwcHJfb3B0aW9uc1trZXldLm5hbWUsXG5cdFx0XHRcdFx0XHRcdFx0XHRcdG9uQ2hhbmdlOiBmdW5jdGlvbiBvbkNoYW5nZShlKSB7XG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0cmV0dXJuIF90aGlzMi5vbkNoYW5nZU9wdGlvblRleHQoZSwga2V5KTtcblx0XHRcdFx0XHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdFx0XHRcdFx0fSksXG5cdFx0XHRcdFx0XHRcdFx0XHR3cC5lbGVtZW50LmNyZWF0ZUVsZW1lbnQoVGV4dENvbnRyb2wsIHtcblx0XHRcdFx0XHRcdFx0XHRcdFx0dHlwZTogJ251bWJlcicsXG5cdFx0XHRcdFx0XHRcdFx0XHRcdGNsYXNzTmFtZTogJ3dwcHItdGV4dCB3cHByLW9wdGlvbi1udW1iZXInLFxuXHRcdFx0XHRcdFx0XHRcdFx0XHRwbGFjZWhvbGRlcjogX18oJzAnKSxcblx0XHRcdFx0XHRcdFx0XHRcdFx0bWluOiAwLFxuXHRcdFx0XHRcdFx0XHRcdFx0XHRtYXg6IDEwMCxcblx0XHRcdFx0XHRcdFx0XHRcdFx0dmFsdWU6IF90aGlzMi5zdGF0ZS53cHByX29wdGlvbnNba2V5XS52YWx1ZSxcblx0XHRcdFx0XHRcdFx0XHRcdFx0b25DaGFuZ2U6IGZ1bmN0aW9uIG9uQ2hhbmdlKGUpIHtcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRyZXR1cm4gX3RoaXMyLm9uQ2hhbmdlT3B0aW9uTnVtYmVyKGUsIGtleSk7XG5cdFx0XHRcdFx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHRcdFx0XHRcdH0pXG5cdFx0XHRcdFx0XHRcdFx0KTtcblx0XHRcdFx0XHRcdFx0fSksXG5cdFx0XHRcdFx0XHRcdF9PYmplY3Qka2V5cyh0aGlzLnN0YXRlLndwcHJfb3B0aW9ucykubGVuZ3RoIDwgd3Bwcmd1dGVuLmxlbmd0aCAmJiB3cC5lbGVtZW50LmNyZWF0ZUVsZW1lbnQoXG5cdFx0XHRcdFx0XHRcdFx0QnV0dG9uLFxuXHRcdFx0XHRcdFx0XHRcdHtcblx0XHRcdFx0XHRcdFx0XHRcdGlzTGFyZ2U6IHRydWUsXG5cdFx0XHRcdFx0XHRcdFx0XHRvbkNsaWNrOiB0aGlzLmFkZE9wdGlvblxuXHRcdFx0XHRcdFx0XHRcdH0sXG5cdFx0XHRcdFx0XHRcdFx0X18oJ0FkZCBhbm90aGVyIG9wdGlvbicpXG5cdFx0XHRcdFx0XHRcdClcblx0XHRcdFx0XHRcdClcblx0XHRcdFx0XHQpLFxuXHRcdFx0XHRcdHdwLmVsZW1lbnQuY3JlYXRlRWxlbWVudChcblx0XHRcdFx0XHRcdFBhbmVsQm9keSxcblx0XHRcdFx0XHRcdHtcblx0XHRcdFx0XHRcdFx0dGl0bGU6IF9fKCdQcm8gRmVhdHVyZXMnKSxcblx0XHRcdFx0XHRcdFx0Y2xhc3NOYW1lOiAnd3AtcHJvZHVjdC1yZXZpZXctcHJvZHVjdC1wcm9zJyxcblx0XHRcdFx0XHRcdFx0aW5pdGlhbE9wZW46IGZhbHNlXG5cdFx0XHRcdFx0XHR9LFxuXHRcdFx0XHRcdFx0d3AuZWxlbWVudC5jcmVhdGVFbGVtZW50KFxuXHRcdFx0XHRcdFx0XHQnZGl2Jyxcblx0XHRcdFx0XHRcdFx0eyBjbGFzc05hbWU6ICd3cHByLXJldmlldy1wcm8tbGlzdCcgfSxcblx0XHRcdFx0XHRcdFx0X09iamVjdCRrZXlzKHRoaXMuc3RhdGUud3Bwcl9wcm9zKS5tYXAoZnVuY3Rpb24gKGtleSkge1xuXHRcdFx0XHRcdFx0XHRcdHJldHVybiB3cC5lbGVtZW50LmNyZWF0ZUVsZW1lbnQoXG5cdFx0XHRcdFx0XHRcdFx0XHQnZGl2Jyxcblx0XHRcdFx0XHRcdFx0XHRcdHsgY2xhc3NOYW1lOiAnd3Bwci1yZXZpZXctcHJvLWl0ZW0nIH0sXG5cdFx0XHRcdFx0XHRcdFx0XHR3cC5lbGVtZW50LmNyZWF0ZUVsZW1lbnQoXG5cdFx0XHRcdFx0XHRcdFx0XHRcdCdsYWJlbCcsXG5cdFx0XHRcdFx0XHRcdFx0XHRcdHsgJ2Zvcic6ICd3cHByLXByby1pdGVtLScgKyBrZXkgfSxcblx0XHRcdFx0XHRcdFx0XHRcdFx0cGFyc2VJbnQoa2V5KSArIDFcblx0XHRcdFx0XHRcdFx0XHRcdCksXG5cdFx0XHRcdFx0XHRcdFx0XHR3cC5lbGVtZW50LmNyZWF0ZUVsZW1lbnQoVGV4dENvbnRyb2wsIHtcblx0XHRcdFx0XHRcdFx0XHRcdFx0dHlwZTogJ3RleHQnLFxuXHRcdFx0XHRcdFx0XHRcdFx0XHRpZDogJ3dwcHItcHJvLWl0ZW0tJyArIGtleSxcblx0XHRcdFx0XHRcdFx0XHRcdFx0Y2xhc3NOYW1lOiAnd3Bwci10ZXh0Jyxcblx0XHRcdFx0XHRcdFx0XHRcdFx0cGxhY2Vob2xkZXI6IF9fKCdPcHRpb24nKSxcblx0XHRcdFx0XHRcdFx0XHRcdFx0dmFsdWU6IF90aGlzMi5zdGF0ZS53cHByX3Byb3Nba2V5XSxcblx0XHRcdFx0XHRcdFx0XHRcdFx0b25DaGFuZ2U6IGZ1bmN0aW9uIG9uQ2hhbmdlKGUpIHtcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRyZXR1cm4gX3RoaXMyLm9uQ2hhbmdlUHJvVGV4dChlLCBrZXkpO1xuXHRcdFx0XHRcdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0XHRcdFx0XHR9KVxuXHRcdFx0XHRcdFx0XHRcdCk7XG5cdFx0XHRcdFx0XHRcdH0pLFxuXHRcdFx0XHRcdFx0XHRfT2JqZWN0JGtleXModGhpcy5zdGF0ZS53cHByX3Byb3MpLmxlbmd0aCA8IHdwcHJndXRlbi5sZW5ndGggJiYgd3AuZWxlbWVudC5jcmVhdGVFbGVtZW50KFxuXHRcdFx0XHRcdFx0XHRcdEJ1dHRvbixcblx0XHRcdFx0XHRcdFx0XHR7XG5cdFx0XHRcdFx0XHRcdFx0XHRpc0xhcmdlOiB0cnVlLFxuXHRcdFx0XHRcdFx0XHRcdFx0b25DbGljazogdGhpcy5hZGRQcm9cblx0XHRcdFx0XHRcdFx0XHR9LFxuXHRcdFx0XHRcdFx0XHRcdF9fKCdBZGQgYW5vdGhlciBvcHRpb24nKVxuXHRcdFx0XHRcdFx0XHQpXG5cdFx0XHRcdFx0XHQpXG5cdFx0XHRcdFx0KSxcblx0XHRcdFx0XHR3cC5lbGVtZW50LmNyZWF0ZUVsZW1lbnQoXG5cdFx0XHRcdFx0XHRQYW5lbEJvZHksXG5cdFx0XHRcdFx0XHR7XG5cdFx0XHRcdFx0XHRcdHRpdGxlOiBfXygnQ29uIEZlYXR1cmVzJyksXG5cdFx0XHRcdFx0XHRcdGNsYXNzTmFtZTogJ3dwLXByb2R1Y3QtcmV2aWV3LXByb2R1Y3QtY29ucycsXG5cdFx0XHRcdFx0XHRcdGluaXRpYWxPcGVuOiBmYWxzZVxuXHRcdFx0XHRcdFx0fSxcblx0XHRcdFx0XHRcdHdwLmVsZW1lbnQuY3JlYXRlRWxlbWVudChcblx0XHRcdFx0XHRcdFx0J2RpdicsXG5cdFx0XHRcdFx0XHRcdHsgY2xhc3NOYW1lOiAnd3Bwci1yZXZpZXctY29uLWxpc3QnIH0sXG5cdFx0XHRcdFx0XHRcdF9PYmplY3Qka2V5cyh0aGlzLnN0YXRlLndwcHJfY29ucykubWFwKGZ1bmN0aW9uIChrZXkpIHtcblx0XHRcdFx0XHRcdFx0XHRyZXR1cm4gd3AuZWxlbWVudC5jcmVhdGVFbGVtZW50KFxuXHRcdFx0XHRcdFx0XHRcdFx0J2RpdicsXG5cdFx0XHRcdFx0XHRcdFx0XHR7IGNsYXNzTmFtZTogJ3dwcHItcmV2aWV3LWNvbi1pdGVtJyB9LFxuXHRcdFx0XHRcdFx0XHRcdFx0d3AuZWxlbWVudC5jcmVhdGVFbGVtZW50KFxuXHRcdFx0XHRcdFx0XHRcdFx0XHQnbGFiZWwnLFxuXHRcdFx0XHRcdFx0XHRcdFx0XHR7ICdmb3InOiAnd3Bwci1jb24taXRlbS0nICsga2V5IH0sXG5cdFx0XHRcdFx0XHRcdFx0XHRcdHBhcnNlSW50KGtleSkgKyAxXG5cdFx0XHRcdFx0XHRcdFx0XHQpLFxuXHRcdFx0XHRcdFx0XHRcdFx0d3AuZWxlbWVudC5jcmVhdGVFbGVtZW50KFRleHRDb250cm9sLCB7XG5cdFx0XHRcdFx0XHRcdFx0XHRcdHR5cGU6ICd0ZXh0Jyxcblx0XHRcdFx0XHRcdFx0XHRcdFx0aWQ6ICd3cHByLWNvbi1pdGVtLScgKyBrZXksXG5cdFx0XHRcdFx0XHRcdFx0XHRcdGNsYXNzTmFtZTogJ3dwcHItdGV4dCcsXG5cdFx0XHRcdFx0XHRcdFx0XHRcdHBsYWNlaG9sZGVyOiBfXygnT3B0aW9uJyksXG5cdFx0XHRcdFx0XHRcdFx0XHRcdHZhbHVlOiBfdGhpczIuc3RhdGUud3Bwcl9jb25zW2tleV0sXG5cdFx0XHRcdFx0XHRcdFx0XHRcdG9uQ2hhbmdlOiBmdW5jdGlvbiBvbkNoYW5nZShlKSB7XG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0cmV0dXJuIF90aGlzMi5vbkNoYW5nZUNvblRleHQoZSwga2V5KTtcblx0XHRcdFx0XHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdFx0XHRcdFx0fSlcblx0XHRcdFx0XHRcdFx0XHQpO1xuXHRcdFx0XHRcdFx0XHR9KSxcblx0XHRcdFx0XHRcdFx0X09iamVjdCRrZXlzKHRoaXMuc3RhdGUud3Bwcl9jb25zKS5sZW5ndGggPCB3cHByZ3V0ZW4ubGVuZ3RoICYmIHdwLmVsZW1lbnQuY3JlYXRlRWxlbWVudChcblx0XHRcdFx0XHRcdFx0XHRCdXR0b24sXG5cdFx0XHRcdFx0XHRcdFx0e1xuXHRcdFx0XHRcdFx0XHRcdFx0aXNMYXJnZTogdHJ1ZSxcblx0XHRcdFx0XHRcdFx0XHRcdG9uQ2xpY2s6IHRoaXMuYWRkQ29uXG5cdFx0XHRcdFx0XHRcdFx0fSxcblx0XHRcdFx0XHRcdFx0XHRfXygnQWRkIGFub3RoZXIgb3B0aW9uJylcblx0XHRcdFx0XHRcdFx0KVxuXHRcdFx0XHRcdFx0KVxuXHRcdFx0XHRcdCksXG5cdFx0XHRcdFx0d3Bwcmd1dGVuLmlzUHJvICYmIHdwLmVsZW1lbnQuY3JlYXRlRWxlbWVudChcblx0XHRcdFx0XHRcdCdkaXYnLFxuXHRcdFx0XHRcdFx0eyBjbGFzc05hbWU6ICd3cHByLXJldmlldy1pbXBvcnQtcmV2aWV3LWJ1dHRvbicgfSxcblx0XHRcdFx0XHRcdHdwLmVsZW1lbnQuY3JlYXRlRWxlbWVudChcblx0XHRcdFx0XHRcdFx0QnV0dG9uLFxuXHRcdFx0XHRcdFx0XHR7XG5cdFx0XHRcdFx0XHRcdFx0aXNMYXJnZTogdHJ1ZSxcblx0XHRcdFx0XHRcdFx0XHRpc1ByaW1hcnk6IHRydWUsXG5cdFx0XHRcdFx0XHRcdFx0b25DbGljazogZnVuY3Rpb24gb25DbGljaygpIHtcblx0XHRcdFx0XHRcdFx0XHRcdHJldHVybiBfdGhpczIucHJvcHMuc2V0U3RhdGUoeyBpc09wZW46IHRydWUgfSk7XG5cdFx0XHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdFx0XHR9LFxuXHRcdFx0XHRcdFx0XHRfXygnSW1wb3J0IFJldmlldycpXG5cdFx0XHRcdFx0XHQpLFxuXHRcdFx0XHRcdFx0dGhpcy5wcm9wcy5pc09wZW4gPyB3cC5lbGVtZW50LmNyZWF0ZUVsZW1lbnQoXG5cdFx0XHRcdFx0XHRcdE1vZGFsLFxuXHRcdFx0XHRcdFx0XHR7XG5cdFx0XHRcdFx0XHRcdFx0dGl0bGU6IF9fKCdJbXBvcnQgUmV2aWV3JyksXG5cdFx0XHRcdFx0XHRcdFx0Y2xhc3NOYW1lOiAnd3Bwci1yZXZpZXctaW1wb3J0LW1vZGFsJyxcblx0XHRcdFx0XHRcdFx0XHRvblJlcXVlc3RDbG9zZTogZnVuY3Rpb24gb25SZXF1ZXN0Q2xvc2UoKSB7XG5cdFx0XHRcdFx0XHRcdFx0XHRyZXR1cm4gX3RoaXMyLnByb3BzLnNldFN0YXRlKHsgaXNPcGVuOiBmYWxzZSB9KTtcblx0XHRcdFx0XHRcdFx0XHR9IH0sXG5cdFx0XHRcdFx0XHRcdHRoaXMucHJvcHMucG9zdHMgJiYgX09iamVjdCRrZXlzKHRoaXMucHJvcHMucG9zdHMpLm1hcChmdW5jdGlvbiAoa2V5KSB7XG5cdFx0XHRcdFx0XHRcdFx0cmV0dXJuIHdwLmVsZW1lbnQuY3JlYXRlRWxlbWVudChcblx0XHRcdFx0XHRcdFx0XHRcdFBhbmVsQm9keSxcblx0XHRcdFx0XHRcdFx0XHRcdHtcblx0XHRcdFx0XHRcdFx0XHRcdFx0dGl0bGU6IF90aGlzMi5wcm9wcy5wb3N0c1trZXldLnRpdGxlLnJhdyxcblx0XHRcdFx0XHRcdFx0XHRcdFx0aW5pdGlhbE9wZW46IGZhbHNlXG5cdFx0XHRcdFx0XHRcdFx0XHR9LFxuXHRcdFx0XHRcdFx0XHRcdFx0d3AuZWxlbWVudC5jcmVhdGVFbGVtZW50KFxuXHRcdFx0XHRcdFx0XHRcdFx0XHQnZGl2Jyxcblx0XHRcdFx0XHRcdFx0XHRcdFx0eyBjbGFzc05hbWU6ICdjd3BfcGl0ZW1faW5mbycgfSxcblx0XHRcdFx0XHRcdFx0XHRcdFx0d3AuZWxlbWVudC5jcmVhdGVFbGVtZW50KFxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdCd1bCcsXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0eyAnY2xhc3MnOiAnY3dwX3BpdGVtX29wdGlvbnNfY29udGVudCcgfSxcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHR3cC5lbGVtZW50LmNyZWF0ZUVsZW1lbnQoXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHQnaDQnLFxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0bnVsbCxcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdF9fKCdPcHRpb25zJylcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHQpLFxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdF9PYmplY3Qka2V5cyhfdGhpczIucHJvcHMucG9zdHNba2V5XS53cHByX2RhdGEud3Bwcl9vcHRpb25zKS5tYXAoZnVuY3Rpb24gKGkpIHtcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdHJldHVybiB3cC5lbGVtZW50LmNyZWF0ZUVsZW1lbnQoXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdCdsaScsXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdG51bGwsXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdF90aGlzMi5wcm9wcy5wb3N0c1trZXldLndwcHJfZGF0YS53cHByX29wdGlvbnNbaV0ubmFtZVxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0KTtcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHR9KVxuXHRcdFx0XHRcdFx0XHRcdFx0XHQpLFxuXHRcdFx0XHRcdFx0XHRcdFx0XHR3cC5lbGVtZW50LmNyZWF0ZUVsZW1lbnQoXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0J3VsJyxcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHR7ICdjbGFzcyc6ICdjd3BfcGl0ZW1fb3B0aW9uc19wcm9zJyB9LFxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdHdwLmVsZW1lbnQuY3JlYXRlRWxlbWVudChcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdCdoNCcsXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRudWxsLFxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0X18oJ1Byb3MnKVxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdCksXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0X09iamVjdCRrZXlzKF90aGlzMi5wcm9wcy5wb3N0c1trZXldLndwcHJfZGF0YS53cHByX3Byb3MpLm1hcChmdW5jdGlvbiAoaSkge1xuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0cmV0dXJuIHdwLmVsZW1lbnQuY3JlYXRlRWxlbWVudChcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0J2xpJyxcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0bnVsbCxcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0X3RoaXMyLnByb3BzLnBvc3RzW2tleV0ud3Bwcl9kYXRhLndwcHJfcHJvc1tpXVxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0KTtcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHR9KVxuXHRcdFx0XHRcdFx0XHRcdFx0XHQpLFxuXHRcdFx0XHRcdFx0XHRcdFx0XHR3cC5lbGVtZW50LmNyZWF0ZUVsZW1lbnQoXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0J3VsJyxcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHR7ICdjbGFzcyc6ICdjd3BfcGl0ZW1fb3B0aW9uc19jb25zJyB9LFxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdHdwLmVsZW1lbnQuY3JlYXRlRWxlbWVudChcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdCdoNCcsXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRudWxsLFxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0X18oJ0NvbnMnKVxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdCksXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0X09iamVjdCRrZXlzKF90aGlzMi5wcm9wcy5wb3N0c1trZXldLndwcHJfZGF0YS53cHByX2NvbnMpLm1hcChmdW5jdGlvbiAoaSkge1xuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0cmV0dXJuIHdwLmVsZW1lbnQuY3JlYXRlRWxlbWVudChcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0J2xpJyxcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0bnVsbCxcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0X3RoaXMyLnByb3BzLnBvc3RzW2tleV0ud3Bwcl9kYXRhLndwcHJfY29uc1tpXVxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0KTtcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHR9KVxuXHRcdFx0XHRcdFx0XHRcdFx0XHQpLFxuXHRcdFx0XHRcdFx0XHRcdFx0XHR3cC5lbGVtZW50LmNyZWF0ZUVsZW1lbnQoXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0QnV0dG9uLFxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdHtcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdGlzTGFyZ2U6IHRydWUsXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRvbkNsaWNrOiBmdW5jdGlvbiBvbkNsaWNrKCkge1xuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRyZXR1cm4gX3RoaXMyLmltcG9ydFJldmlldyhrZXkpO1xuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdH0sXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0X18oJ0ltcG9ydCBSZXZpZXcnKVxuXHRcdFx0XHRcdFx0XHRcdFx0XHQpXG5cdFx0XHRcdFx0XHRcdFx0XHQpXG5cdFx0XHRcdFx0XHRcdFx0KTtcblx0XHRcdFx0XHRcdFx0fSlcblx0XHRcdFx0XHRcdCkgOiBudWxsXG5cdFx0XHRcdFx0KVxuXHRcdFx0XHQpXVxuXHRcdFx0KTtcblx0XHR9XG5cdH1dLCBbe1xuXHRcdGtleTogJ2dldERlcml2ZWRTdGF0ZUZyb21Qcm9wcycsXG5cdFx0dmFsdWU6IGZ1bmN0aW9uIGdldERlcml2ZWRTdGF0ZUZyb21Qcm9wcyhuZXh0UHJvcHMsIHN0YXRlKSB7XG5cdFx0XHRpZiAoKG5leHRQcm9wcy5pc1B1Ymxpc2hpbmcgfHwgbmV4dFByb3BzLmlzU2F2aW5nKSAmJiAhbmV4dFByb3BzLmlzQXV0b1NhdmluZykge1xuXHRcdFx0XHR3cC5hcGlSZXF1ZXN0KHsgcGF0aDogJy93cC1wcm9kdWN0LXJldmlldy91cGRhdGUtcmV2aWV3P2lkPScgKyBuZXh0UHJvcHMucG9zdElkICsgJyZwb3N0VHlwZT0nICsgbmV4dFByb3BzLnBvc3RUeXBlLCBtZXRob2Q6ICdQT1NUJywgZGF0YTogc3RhdGUgfSkudGhlbihmdW5jdGlvbiAoZGF0YSkge1xuXHRcdFx0XHRcdHJldHVybiBkYXRhO1xuXHRcdFx0XHR9LCBmdW5jdGlvbiAoZXJyKSB7XG5cdFx0XHRcdFx0cmV0dXJuIGVycjtcblx0XHRcdFx0fSk7XG5cdFx0XHR9XG5cdFx0fVxuXHR9XSk7XG5cblx0cmV0dXJuIFdQX1Byb2R1Y3RfUmV2aWV3O1xufShDb21wb25lbnQpO1xuXG52YXIgV1BQUiA9IGNvbXBvc2UoW3dpdGhTZWxlY3QoZnVuY3Rpb24gKHNlbGVjdCwgX3JlZjMpIHtcblx0dmFyIGZvcmNlSXNTYXZpbmcgPSBfcmVmMy5mb3JjZUlzU2F2aW5nO1xuXG5cdHZhciBfc2VsZWN0MiA9IHNlbGVjdCgnY29yZS9lZGl0b3InKSxcblx0ICAgIGdldEN1cnJlbnRQb3N0SWQgPSBfc2VsZWN0Mi5nZXRDdXJyZW50UG9zdElkLFxuXHQgICAgaXNTYXZpbmdQb3N0ID0gX3NlbGVjdDIuaXNTYXZpbmdQb3N0LFxuXHQgICAgaXNQdWJsaXNoaW5nUG9zdCA9IF9zZWxlY3QyLmlzUHVibGlzaGluZ1Bvc3QsXG5cdCAgICBpc0F1dG9zYXZpbmdQb3N0ID0gX3NlbGVjdDIuaXNBdXRvc2F2aW5nUG9zdCxcblx0ICAgIGdldEN1cnJlbnRQb3N0VHlwZSA9IF9zZWxlY3QyLmdldEN1cnJlbnRQb3N0VHlwZTtcblxuXHR2YXIgbGF0ZXN0UG9zdHNRdWVyeSA9IHBpY2tCeSh7XG5cdFx0cGVyX3BhZ2U6IDEwMCxcblx0XHRtZXRhX2tleTogJ2N3cF9tZXRhX2JveF9jaGVjaycsXG5cdFx0bWV0YV92YWx1ZTogJ1llcydcblx0fSwgZnVuY3Rpb24gKHZhbHVlKSB7XG5cdFx0cmV0dXJuICFpc1VuZGVmaW5lZCh2YWx1ZSk7XG5cdH0pO1xuXHRyZXR1cm4ge1xuXHRcdHBvc3RJZDogZ2V0Q3VycmVudFBvc3RJZCgpLFxuXHRcdHBvc3RUeXBlOiBnZXRDdXJyZW50UG9zdFR5cGUoKSxcblx0XHRwb3N0czogc2VsZWN0KCdjb3JlJykuZ2V0RW50aXR5UmVjb3JkcygncG9zdFR5cGUnLCAncG9zdCcsIGxhdGVzdFBvc3RzUXVlcnkpLFxuXHRcdGlzU2F2aW5nOiBmb3JjZUlzU2F2aW5nIHx8IGlzU2F2aW5nUG9zdCgpLFxuXHRcdGlzQXV0b1NhdmluZzogaXNBdXRvc2F2aW5nUG9zdCgpLFxuXHRcdGlzUHVibGlzaGluZzogaXNQdWJsaXNoaW5nUG9zdCgpXG5cdH07XG59KSwgd2l0aFN0YXRlKHtcblx0aXNPcGVuOiBmYWxzZVxufSksIHdpdGhEaXNwYXRjaChmdW5jdGlvbiAoZGlzcGF0Y2gpIHtcblx0cmV0dXJuIHtcblx0XHRvcGVuUmV2aWV3U2lkZWJhcjogZnVuY3Rpb24gb3BlblJldmlld1NpZGViYXIoKSB7XG5cdFx0XHRyZXR1cm4gZGlzcGF0Y2goJ2NvcmUvZWRpdC1wb3N0Jykub3BlbkdlbmVyYWxTaWRlYmFyKCd3cC1wcm9kdWN0LXJldmlldy93cC1wcm9kdWN0LXJldmlldycpO1xuXHRcdH0sXG5cdFx0ZWRpdFBvc3RTdGF0dXM6IGRpc3BhdGNoKCdjb3JlL2VkaXRvcicpLmVkaXRQb3N0XG5cdH07XG59KV0pKFdQX1Byb2R1Y3RfUmV2aWV3KTtcblxucmVnaXN0ZXJQbHVnaW4oJ3dwLXByb2R1Y3QtcmV2aWV3Jywge1xuXHRpY29uOiAnc3Rhci1lbXB0eScsXG5cdHJlbmRlcjogV1BQUlxufSk7XG5cblxuLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBXRUJQQUNLIEZPT1RFUlxuLy8gLi9zcmMvc2lkZWJhci5qc1xuLy8gbW9kdWxlIGlkID0gNTVcbi8vIG1vZHVsZSBjaHVua3MgPSAwIl0sIm1hcHBpbmdzIjoiQUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBIiwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///55\n");
406
 
407
  /***/ }),
408
  /* 56 */
402
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
403
 
404
  "use strict";
405
+ eval("Object.defineProperty(__webpack_exports__, \"__esModule\", { value: true });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_babel_runtime_core_js_object_keys__ = __webpack_require__(56);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_babel_runtime_core_js_object_keys___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_babel_runtime_core_js_object_keys__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_babel_runtime_regenerator__ = __webpack_require__(61);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_babel_runtime_regenerator___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1_babel_runtime_regenerator__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_babel_runtime_helpers_extends__ = __webpack_require__(64);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_babel_runtime_helpers_extends___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_2_babel_runtime_helpers_extends__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_asyncToGenerator__ = __webpack_require__(69);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_asyncToGenerator___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_asyncToGenerator__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4_babel_runtime_core_js_object_get_prototype_of__ = __webpack_require__(92);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4_babel_runtime_core_js_object_get_prototype_of___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_4_babel_runtime_core_js_object_get_prototype_of__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5_babel_runtime_helpers_classCallCheck__ = __webpack_require__(95);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5_babel_runtime_helpers_classCallCheck___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_5_babel_runtime_helpers_classCallCheck__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_6_babel_runtime_helpers_createClass__ = __webpack_require__(96);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_6_babel_runtime_helpers_createClass___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_6_babel_runtime_helpers_createClass__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_7_babel_runtime_helpers_possibleConstructorReturn__ = __webpack_require__(100);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_7_babel_runtime_helpers_possibleConstructorReturn___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_7_babel_runtime_helpers_possibleConstructorReturn__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_8_babel_runtime_helpers_inherits__ = __webpack_require__(112);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_8_babel_runtime_helpers_inherits___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_8_babel_runtime_helpers_inherits__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_9__style_scss__ = __webpack_require__(120);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_9__style_scss___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_9__style_scss__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_10__utils__ = __webpack_require__(121);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_11__radio_image_control___ = __webpack_require__(122);\n\n\n\n\n\n\n\n\n\n/**\n * Internal dependencies\n */\n\n\n\n\n/**\n * WordPress dependencies\n */\nvar __ = wp.i18n.__;\nvar _lodash = lodash,\n isUndefined = _lodash.isUndefined,\n pickBy = _lodash.pickBy;\nvar registerPlugin = wp.plugins.registerPlugin;\nvar MediaUpload = wp.editor.MediaUpload;\nvar _wp$data = wp.data,\n select = _wp$data.select,\n withSelect = _wp$data.withSelect,\n withDispatch = _wp$data.withDispatch;\nvar _wp$editPost = wp.editPost,\n PluginPostStatusInfo = _wp$editPost.PluginPostStatusInfo,\n PluginSidebarMoreMenuItem = _wp$editPost.PluginSidebarMoreMenuItem,\n PluginSidebar = _wp$editPost.PluginSidebar;\nvar _wp$element = wp.element,\n Component = _wp$element.Component,\n Fragment = _wp$element.Fragment;\nvar _wp$compose = wp.compose,\n withState = _wp$compose.withState,\n compose = _wp$compose.compose;\nvar _wp$components = wp.components,\n Button = _wp$components.Button,\n FormToggle = _wp$components.FormToggle,\n Modal = _wp$components.Modal,\n PanelBody = _wp$components.PanelBody,\n SelectControl = _wp$components.SelectControl,\n TextControl = _wp$components.TextControl;\n\nvar WP_Product_Review = function (_Component) {\n\t__WEBPACK_IMPORTED_MODULE_8_babel_runtime_helpers_inherits___default()(WP_Product_Review, _Component);\n\n\tfunction WP_Product_Review() {\n\t\t__WEBPACK_IMPORTED_MODULE_5_babel_runtime_helpers_classCallCheck___default()(this, WP_Product_Review);\n\n\t\tvar _this = __WEBPACK_IMPORTED_MODULE_7_babel_runtime_helpers_possibleConstructorReturn___default()(this, (WP_Product_Review.__proto__ || __WEBPACK_IMPORTED_MODULE_4_babel_runtime_core_js_object_get_prototype_of___default()(WP_Product_Review)).apply(this, arguments));\n\n\t\t_this.toggleReviewStatus = _this.toggleReviewStatus.bind(_this);\n\t\t_this.onChangeTemplate = _this.onChangeTemplate.bind(_this);\n\t\t_this.onChangeReviewTitle = _this.onChangeReviewTitle.bind(_this);\n\t\t_this.onChangeReviewImage = _this.onChangeReviewImage.bind(_this);\n\t\t_this.onChangeImageLink = _this.onChangeImageLink.bind(_this);\n\t\t_this.onChangeReviewAffiliateTitle = _this.onChangeReviewAffiliateTitle.bind(_this);\n\t\t_this.onChangeReviewAffiliateLink = _this.onChangeReviewAffiliateLink.bind(_this);\n\t\t_this.addButton = _this.addButton.bind(_this);\n\t\t_this.onChangeReviewPrice = _this.onChangeReviewPrice.bind(_this);\n\t\t_this.onChangeOptionText = _this.onChangeOptionText.bind(_this);\n\t\t_this.onChangeOptionNumber = _this.onChangeOptionNumber.bind(_this);\n\t\t_this.addOption = _this.addOption.bind(_this);\n\t\t_this.onChangeProText = _this.onChangeProText.bind(_this);\n\t\t_this.addPro = _this.addPro.bind(_this);\n\t\t_this.onChangeConText = _this.onChangeConText.bind(_this);\n\t\t_this.addCon = _this.addCon.bind(_this);\n\t\t_this.importReview = _this.importReview.bind(_this);\n\n\t\t_this.state = {\n\t\t\tcwp_meta_box_check: 'No',\n\t\t\tcwp_rev_product_name: '',\n\t\t\t_wppr_review_template: 'default',\n\t\t\tcwp_rev_product_image: '',\n\t\t\tcwp_image_link: 'image',\n\t\t\twppr_links: {\n\t\t\t\t'': ''\n\t\t\t},\n\t\t\tcwp_rev_price: '',\n\t\t\twppr_options: {\n\t\t\t\t1: {\n\t\t\t\t\tname: '',\n\t\t\t\t\tvalue: 0\n\t\t\t\t}\n\t\t\t},\n\t\t\twppr_pros: {\n\t\t\t\t0: ''\n\t\t\t},\n\t\t\twppr_cons: {\n\t\t\t\t0: ''\n\t\t\t}\n\t\t};\n\t\treturn _this;\n\t}\n\n\t__WEBPACK_IMPORTED_MODULE_6_babel_runtime_helpers_createClass___default()(WP_Product_Review, [{\n\t\tkey: 'componentDidMount',\n\t\tvalue: function () {\n\t\t\tvar _ref = __WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_asyncToGenerator___default()( /*#__PURE__*/__WEBPACK_IMPORTED_MODULE_1_babel_runtime_regenerator___default.a.mark(function _callee() {\n\t\t\t\tvar _select, getCurrentPostId, getCurrentPostType, post;\n\n\t\t\t\treturn __WEBPACK_IMPORTED_MODULE_1_babel_runtime_regenerator___default.a.wrap(function _callee$(_context) {\n\t\t\t\t\twhile (1) {\n\t\t\t\t\t\tswitch (_context.prev = _context.next) {\n\t\t\t\t\t\t\tcase 0:\n\t\t\t\t\t\t\t\t_select = select('core/editor'), getCurrentPostId = _select.getCurrentPostId, getCurrentPostType = _select.getCurrentPostType;\n\t\t\t\t\t\t\t\t_context.next = 3;\n\t\t\t\t\t\t\t\treturn select('core').getEntityRecord('postType', getCurrentPostType(), getCurrentPostId());\n\n\t\t\t\t\t\t\tcase 3:\n\t\t\t\t\t\t\t\tpost = _context.sent;\n\n\n\t\t\t\t\t\t\t\tif (undefined !== post && post.wppr_data) {\n\t\t\t\t\t\t\t\t\tif (post.wppr_data.wppr_links && post.wppr_data.wppr_links.length < 1) {\n\t\t\t\t\t\t\t\t\t\tpost.wppr_data.wppr_links[''] = '';\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\tthis.setState(__WEBPACK_IMPORTED_MODULE_2_babel_runtime_helpers_extends___default()({}, post.wppr_data));\n\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\tcase 5:\n\t\t\t\t\t\t\tcase 'end':\n\t\t\t\t\t\t\t\treturn _context.stop();\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}, _callee, this);\n\t\t\t}));\n\n\t\t\tfunction componentDidMount() {\n\t\t\t\treturn _ref.apply(this, arguments);\n\t\t\t}\n\n\t\t\treturn componentDidMount;\n\t\t}()\n\t}, {\n\t\tkey: 'componentDidUpdate',\n\t\tvalue: function componentDidUpdate(prevProps, prevState) {\n\t\t\tif (this.state.cwp_meta_box_check !== prevState.cwp_meta_box_check && this.state.cwp_meta_box_check === 'Yes') {\n\t\t\t\tthis.props.openReviewSidebar();\n\t\t\t}\n\t\t}\n\t}, {\n\t\tkey: 'toggleReviewStatus',\n\t\tvalue: function toggleReviewStatus() {\n\t\t\tthis.setState({ cwp_meta_box_check: this.state.cwp_meta_box_check === 'Yes' ? 'No' : 'Yes' });\n\t\t\tthis.props.editPostStatus({ edited: true });\n\t\t}\n\t}, {\n\t\tkey: 'onChangeTemplate',\n\t\tvalue: function onChangeTemplate(value) {\n\t\t\tthis.setState({ _wppr_review_template: value });\n\t\t\tthis.props.editPostStatus({ edited: true });\n\t\t}\n\t}, {\n\t\tkey: 'onChangeReviewTitle',\n\t\tvalue: function onChangeReviewTitle(value) {\n\t\t\tthis.setState({ cwp_rev_product_name: value });\n\t\t\tthis.props.editPostStatus({ edited: true });\n\t\t}\n\t}, {\n\t\tkey: 'onChangeReviewImage',\n\t\tvalue: function onChangeReviewImage(value) {\n\t\t\tif (value.url !== undefined && value.url !== '') {\n\t\t\t\tthis.setState({ cwp_rev_product_image: value.url });\n\t\t\t} else if (value.id !== undefined) {\n\t\t\t\tthis.setState({ cwp_rev_product_image: value.id });\n\t\t\t}\n\t\t\tthis.props.editPostStatus({ edited: true });\n\t\t}\n\t}, {\n\t\tkey: 'onChangeImageLink',\n\t\tvalue: function onChangeImageLink(value) {\n\t\t\tthis.setState({ cwp_image_link: value });\n\t\t\tthis.props.editPostStatus({ edited: true });\n\t\t}\n\t}, {\n\t\tkey: 'onChangeReviewAffiliateTitle',\n\t\tvalue: function onChangeReviewAffiliateTitle(e, key) {\n\t\t\tvar wppr_links = __WEBPACK_IMPORTED_MODULE_2_babel_runtime_helpers_extends___default()({}, this.state.wppr_links);\n\t\t\tif (__WEBPACK_IMPORTED_MODULE_0_babel_runtime_core_js_object_keys___default()(this.state.wppr_links).length === 2) {\n\t\t\t\tif (e === __WEBPACK_IMPORTED_MODULE_0_babel_runtime_core_js_object_keys___default()(wppr_links)[0] || e === __WEBPACK_IMPORTED_MODULE_0_babel_runtime_core_js_object_keys___default()(wppr_links)[1]) {\n\t\t\t\t\te = e + ' ';\n\t\t\t\t}\n\t\t\t}\n\t\t\tif (__WEBPACK_IMPORTED_MODULE_0_babel_runtime_core_js_object_keys___default()(wppr_links)[0] === key) {\n\t\t\t\tObject(__WEBPACK_IMPORTED_MODULE_10__utils__[\"a\" /* renameKey */])(wppr_links, key, e);\n\t\t\t\twppr_links = Object(__WEBPACK_IMPORTED_MODULE_10__utils__[\"b\" /* reverseObject */])(wppr_links);\n\t\t\t} else {\n\t\t\t\tObject(__WEBPACK_IMPORTED_MODULE_10__utils__[\"a\" /* renameKey */])(wppr_links, key, e);\n\t\t\t}\n\t\t\tthis.setState({ wppr_links: wppr_links });\n\t\t\tthis.props.editPostStatus({ edited: true });\n\t\t}\n\t}, {\n\t\tkey: 'onChangeReviewAffiliateLink',\n\t\tvalue: function onChangeReviewAffiliateLink(e, key) {\n\t\t\tvar wppr_links = __WEBPACK_IMPORTED_MODULE_2_babel_runtime_helpers_extends___default()({}, this.state.wppr_links);\n\t\t\twppr_links[key] = e;\n\t\t\tthis.setState({ wppr_links: wppr_links });\n\t\t\tthis.props.editPostStatus({ edited: true });\n\t\t}\n\t}, {\n\t\tkey: 'addButton',\n\t\tvalue: function addButton() {\n\t\t\tvar wppr_links = __WEBPACK_IMPORTED_MODULE_2_babel_runtime_helpers_extends___default()({}, this.state.wppr_links);\n\t\t\twppr_links['Buy Now'] = '';\n\t\t\tthis.setState({ wppr_links: wppr_links });\n\t\t}\n\t}, {\n\t\tkey: 'onChangeReviewPrice',\n\t\tvalue: function onChangeReviewPrice(value) {\n\t\t\tthis.setState({ cwp_rev_price: value });\n\t\t\tthis.props.editPostStatus({ edited: true });\n\t\t}\n\t}, {\n\t\tkey: 'onChangeOptionText',\n\t\tvalue: function onChangeOptionText(e, key) {\n\t\t\tvar wppr_options = __WEBPACK_IMPORTED_MODULE_2_babel_runtime_helpers_extends___default()({}, this.state.wppr_options);\n\t\t\twppr_options[key]['name'] = e;\n\t\t\tthis.setState({ wppr_options: wppr_options });\n\t\t\tthis.props.editPostStatus({ edited: true });\n\t\t}\n\t}, {\n\t\tkey: 'onChangeOptionNumber',\n\t\tvalue: function onChangeOptionNumber(e, key) {\n\t\t\tvar wppr_options = __WEBPACK_IMPORTED_MODULE_2_babel_runtime_helpers_extends___default()({}, this.state.wppr_options);\n\t\t\tif (e === '') e = 0;\n\t\t\twppr_options[key]['value'] = e;\n\t\t\tthis.setState({ wppr_options: wppr_options });\n\t\t\tthis.props.editPostStatus({ edited: true });\n\t\t}\n\t}, {\n\t\tkey: 'addOption',\n\t\tvalue: function addOption() {\n\t\t\tvar key = __WEBPACK_IMPORTED_MODULE_0_babel_runtime_core_js_object_keys___default()(this.state.wppr_options).length + 1;\n\t\t\tvar wppr_options = __WEBPACK_IMPORTED_MODULE_2_babel_runtime_helpers_extends___default()({}, this.state.wppr_options);\n\t\t\twppr_options[key] = {\n\t\t\t\tname: '',\n\t\t\t\tvalue: 0\n\t\t\t};\n\t\t\tthis.setState({ wppr_options: wppr_options });\n\t\t}\n\t}, {\n\t\tkey: 'onChangeProText',\n\t\tvalue: function onChangeProText(e, key) {\n\t\t\tvar wppr_pros = __WEBPACK_IMPORTED_MODULE_2_babel_runtime_helpers_extends___default()({}, this.state.wppr_pros);\n\t\t\twppr_pros[key] = e;\n\t\t\tthis.setState({ wppr_pros: wppr_pros });\n\t\t\tthis.props.editPostStatus({ edited: true });\n\t\t}\n\t}, {\n\t\tkey: 'addPro',\n\t\tvalue: function addPro() {\n\t\t\tvar key = __WEBPACK_IMPORTED_MODULE_0_babel_runtime_core_js_object_keys___default()(this.state.wppr_pros).length;\n\t\t\tvar wppr_pros = __WEBPACK_IMPORTED_MODULE_2_babel_runtime_helpers_extends___default()({}, this.state.wppr_pros);\n\t\t\twppr_pros[key] = '';\n\t\t\tthis.setState({ wppr_pros: wppr_pros });\n\t\t}\n\t}, {\n\t\tkey: 'onChangeConText',\n\t\tvalue: function onChangeConText(e, key) {\n\t\t\tvar wppr_cons = __WEBPACK_IMPORTED_MODULE_2_babel_runtime_helpers_extends___default()({}, this.state.wppr_cons);\n\t\t\twppr_cons[key] = e;\n\t\t\tthis.setState({ wppr_cons: wppr_cons });\n\t\t\tthis.props.editPostStatus({ edited: true });\n\t\t}\n\t}, {\n\t\tkey: 'addCon',\n\t\tvalue: function addCon() {\n\t\t\tvar key = __WEBPACK_IMPORTED_MODULE_0_babel_runtime_core_js_object_keys___default()(this.state.wppr_cons).length;\n\t\t\tvar wppr_cons = __WEBPACK_IMPORTED_MODULE_2_babel_runtime_helpers_extends___default()({}, this.state.wppr_cons);\n\t\t\twppr_cons[key] = '';\n\t\t\tthis.setState({ wppr_cons: wppr_cons });\n\t\t}\n\t}, {\n\t\tkey: 'importReview',\n\t\tvalue: function importReview(key) {\n\t\t\tthis.setState({\n\t\t\t\twppr_options: this.props.posts[key].wppr_data.wppr_options,\n\t\t\t\twppr_pros: this.props.posts[key].wppr_data.wppr_pros,\n\t\t\t\twppr_cons: this.props.posts[key].wppr_data.wppr_cons\n\t\t\t});\n\t\t\tthis.props.editPostStatus({ edited: true });\n\t\t\tthis.props.setState({ isOpen: false });\n\t\t}\n\t}, {\n\t\tkey: 'render',\n\t\tvalue: function render() {\n\t\t\tvar _this2 = this;\n\n\t\t\treturn wp.element.createElement(\n\t\t\t\tFragment,\n\t\t\t\tnull,\n\t\t\t\twp.element.createElement(\n\t\t\t\t\tPluginPostStatusInfo,\n\t\t\t\t\tnull,\n\t\t\t\t\twp.element.createElement(\n\t\t\t\t\t\t'label',\n\t\t\t\t\t\t{ htmlFor: 'is-this-a-review' },\n\t\t\t\t\t\t__('Is this post a review?')\n\t\t\t\t\t),\n\t\t\t\t\twp.element.createElement(FormToggle, {\n\t\t\t\t\t\tchecked: this.state.cwp_meta_box_check === 'Yes' ? true : false,\n\t\t\t\t\t\tonChange: this.toggleReviewStatus,\n\t\t\t\t\t\tid: 'is-this-a-review'\n\t\t\t\t\t})\n\t\t\t\t),\n\t\t\t\tthis.state.cwp_meta_box_check === 'Yes' && [wp.element.createElement(\n\t\t\t\t\tPluginSidebarMoreMenuItem,\n\t\t\t\t\t{\n\t\t\t\t\t\ttarget: 'wp-product-review'\n\t\t\t\t\t},\n\t\t\t\t\t__('WP Product Review')\n\t\t\t\t), wp.element.createElement(\n\t\t\t\t\tPluginSidebar,\n\t\t\t\t\t{\n\t\t\t\t\t\tname: 'wp-product-review',\n\t\t\t\t\t\ttitle: __('WP Product Review')\n\t\t\t\t\t},\n\t\t\t\t\twp.element.createElement(\n\t\t\t\t\t\tPanelBody,\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\ttitle: __('Product Details'),\n\t\t\t\t\t\t\tclassName: 'wp-product-review-product-details',\n\t\t\t\t\t\t\tinitialOpen: true\n\t\t\t\t\t\t},\n\t\t\t\t\t\twpprguten.isPro && wp.element.createElement(__WEBPACK_IMPORTED_MODULE_11__radio_image_control___[\"a\" /* default */], {\n\t\t\t\t\t\t\tlabel: __('Review Template'),\n\t\t\t\t\t\t\tselected: this.state._wppr_review_template,\n\t\t\t\t\t\t\toptions: [{\n\t\t\t\t\t\t\t\tlabel: __('Default'),\n\t\t\t\t\t\t\t\tsrc: wpprguten.path + '/assets/img/templates/default.png',\n\t\t\t\t\t\t\t\tvalue: 'default'\n\t\t\t\t\t\t\t}, {\n\t\t\t\t\t\t\t\tlabel: __('Style 1'),\n\t\t\t\t\t\t\t\tsrc: wpprguten.path + '/assets/img/templates/style1.png',\n\t\t\t\t\t\t\t\tvalue: 'style1'\n\t\t\t\t\t\t\t}, {\n\t\t\t\t\t\t\t\tlabel: __('Style 2'),\n\t\t\t\t\t\t\t\tsrc: wpprguten.path + '/assets/img/templates/style2.png',\n\t\t\t\t\t\t\t\tvalue: 'style2'\n\t\t\t\t\t\t\t}],\n\t\t\t\t\t\t\tonChange: this.onChangeTemplate\n\t\t\t\t\t\t}),\n\t\t\t\t\t\tthis.props.postType !== 'wppr_review' && [wp.element.createElement(TextControl, {\n\t\t\t\t\t\t\tlabel: __('Product Name'),\n\t\t\t\t\t\t\ttype: 'text',\n\t\t\t\t\t\t\tvalue: this.state.cwp_rev_product_name,\n\t\t\t\t\t\t\tonChange: this.onChangeReviewTitle\n\t\t\t\t\t\t})],\n\t\t\t\t\t\twp.element.createElement(\n\t\t\t\t\t\t\t'div',\n\t\t\t\t\t\t\t{ className: 'wp-product-review-sidebar-base-control' },\n\t\t\t\t\t\t\twp.element.createElement(\n\t\t\t\t\t\t\t\t'label',\n\t\t\t\t\t\t\t\t{ className: 'blocks-base-control__label', 'for': 'inspector-media-upload' },\n\t\t\t\t\t\t\t\t__('Product Image')\n\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\twp.element.createElement(MediaUpload, {\n\t\t\t\t\t\t\t\ttype: 'image',\n\t\t\t\t\t\t\t\tid: 'inspector-media-upload',\n\t\t\t\t\t\t\t\tvalue: this.state.cwp_rev_product_image,\n\t\t\t\t\t\t\t\tonSelect: this.onChangeReviewImage,\n\t\t\t\t\t\t\t\trender: function render(_ref2) {\n\t\t\t\t\t\t\t\t\tvar open = _ref2.open;\n\t\t\t\t\t\t\t\t\treturn [_this2.state.cwp_rev_product_image !== '' && [wp.element.createElement('img', {\n\t\t\t\t\t\t\t\t\t\tonClick: open,\n\t\t\t\t\t\t\t\t\t\tsrc: _this2.state.cwp_rev_product_image,\n\t\t\t\t\t\t\t\t\t\talt: __('Review image')\n\t\t\t\t\t\t\t\t\t}), wp.element.createElement(\n\t\t\t\t\t\t\t\t\t\tButton,\n\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\tisLarge: true,\n\t\t\t\t\t\t\t\t\t\t\tonClick: function onClick() {\n\t\t\t\t\t\t\t\t\t\t\t\treturn _this2.setState({ cwp_rev_product_image: '' });\n\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t\tstyle: { marginTop: '10px' }\n\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t__('Remove Image')\n\t\t\t\t\t\t\t\t\t)], wp.element.createElement(\n\t\t\t\t\t\t\t\t\t\tButton,\n\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\tisLarge: true,\n\t\t\t\t\t\t\t\t\t\t\tonClick: open,\n\t\t\t\t\t\t\t\t\t\t\tstyle: { marginTop: '10px' },\n\t\t\t\t\t\t\t\t\t\t\tclassName: _this2.state.cwp_rev_product_image === '' && 'wppr_image_upload'\n\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t__('Choose or Upload an Image')\n\t\t\t\t\t\t\t\t\t)];\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t})\n\t\t\t\t\t\t),\n\t\t\t\t\t\twp.element.createElement(SelectControl, {\n\t\t\t\t\t\t\tlabel: __('Product Image Click'),\n\t\t\t\t\t\t\tvalue: this.state.cwp_image_link,\n\t\t\t\t\t\t\toptions: [{\n\t\t\t\t\t\t\t\tlabel: __('Show Whole Image'),\n\t\t\t\t\t\t\t\tvalue: 'image'\n\t\t\t\t\t\t\t}, {\n\t\t\t\t\t\t\t\tlabel: __('Open Affiliate Link'),\n\t\t\t\t\t\t\t\tvalue: 'link'\n\t\t\t\t\t\t\t}],\n\t\t\t\t\t\t\tonChange: this.onChangeImageLink\n\t\t\t\t\t\t}),\n\t\t\t\t\t\twp.element.createElement(\n\t\t\t\t\t\t\t'div',\n\t\t\t\t\t\t\t{ className: 'wppr-review-links-list' },\n\t\t\t\t\t\t\t__WEBPACK_IMPORTED_MODULE_0_babel_runtime_core_js_object_keys___default()(this.state.wppr_links).map(function (key) {\n\t\t\t\t\t\t\t\treturn wp.element.createElement(\n\t\t\t\t\t\t\t\t\tFragment,\n\t\t\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t\t\twp.element.createElement(TextControl, {\n\t\t\t\t\t\t\t\t\t\tlabel: __('Affiliate Button Text'),\n\t\t\t\t\t\t\t\t\t\ttype: 'text',\n\t\t\t\t\t\t\t\t\t\tvalue: key != 1 ? key : '',\n\t\t\t\t\t\t\t\t\t\tonChange: function onChange(e) {\n\t\t\t\t\t\t\t\t\t\t\treturn _this2.onChangeReviewAffiliateTitle(e, key);\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t}),\n\t\t\t\t\t\t\t\t\twp.element.createElement(TextControl, {\n\t\t\t\t\t\t\t\t\t\tlabel: __('Affiliate Button Link'),\n\t\t\t\t\t\t\t\t\t\ttype: 'url',\n\t\t\t\t\t\t\t\t\t\tvalue: _this2.state.wppr_links[key],\n\t\t\t\t\t\t\t\t\t\tonChange: function onChange(e) {\n\t\t\t\t\t\t\t\t\t\t\treturn _this2.onChangeReviewAffiliateLink(e, key);\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t})\n\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t}),\n\t\t\t\t\t\t\t__WEBPACK_IMPORTED_MODULE_0_babel_runtime_core_js_object_keys___default()(this.state.wppr_links).length < 2 && wp.element.createElement(\n\t\t\t\t\t\t\t\tButton,\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\tisLarge: true,\n\t\t\t\t\t\t\t\t\tonClick: this.addButton\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t__('Add another button')\n\t\t\t\t\t\t\t)\n\t\t\t\t\t\t),\n\t\t\t\t\t\twp.element.createElement(TextControl, {\n\t\t\t\t\t\t\tlabel: __('Product Price'),\n\t\t\t\t\t\t\ttype: 'text',\n\t\t\t\t\t\t\tvalue: this.state.cwp_rev_price,\n\t\t\t\t\t\t\tonChange: this.onChangeReviewPrice\n\t\t\t\t\t\t})\n\t\t\t\t\t),\n\t\t\t\t\twp.element.createElement(\n\t\t\t\t\t\tPanelBody,\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\ttitle: __('Product Options'),\n\t\t\t\t\t\t\tclassName: 'wp-product-review-product-options',\n\t\t\t\t\t\t\tinitialOpen: false\n\t\t\t\t\t\t},\n\t\t\t\t\t\twp.element.createElement(\n\t\t\t\t\t\t\t'div',\n\t\t\t\t\t\t\t{ className: 'wppr-review-options-list' },\n\t\t\t\t\t\t\t__WEBPACK_IMPORTED_MODULE_0_babel_runtime_core_js_object_keys___default()(this.state.wppr_options).map(function (key) {\n\t\t\t\t\t\t\t\treturn wp.element.createElement(\n\t\t\t\t\t\t\t\t\t'div',\n\t\t\t\t\t\t\t\t\t{ className: 'wppr-review-options-item' },\n\t\t\t\t\t\t\t\t\twp.element.createElement(\n\t\t\t\t\t\t\t\t\t\t'label',\n\t\t\t\t\t\t\t\t\t\t{ 'for': 'wppr-option-item-' + key },\n\t\t\t\t\t\t\t\t\t\tkey\n\t\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\t\twp.element.createElement(TextControl, {\n\t\t\t\t\t\t\t\t\t\ttype: 'text',\n\t\t\t\t\t\t\t\t\t\tid: 'wppr-option-item-' + key,\n\t\t\t\t\t\t\t\t\t\tclassName: 'wppr-text',\n\t\t\t\t\t\t\t\t\t\tplaceholder: __('Option'),\n\t\t\t\t\t\t\t\t\t\tvalue: _this2.state.wppr_options[key].name,\n\t\t\t\t\t\t\t\t\t\tonChange: function onChange(e) {\n\t\t\t\t\t\t\t\t\t\t\treturn _this2.onChangeOptionText(e, key);\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t}),\n\t\t\t\t\t\t\t\t\twp.element.createElement(TextControl, {\n\t\t\t\t\t\t\t\t\t\ttype: 'number',\n\t\t\t\t\t\t\t\t\t\tclassName: 'wppr-text wppr-option-number',\n\t\t\t\t\t\t\t\t\t\tplaceholder: __('0'),\n\t\t\t\t\t\t\t\t\t\tmin: 0,\n\t\t\t\t\t\t\t\t\t\tmax: 100,\n\t\t\t\t\t\t\t\t\t\tvalue: _this2.state.wppr_options[key].value,\n\t\t\t\t\t\t\t\t\t\tonChange: function onChange(e) {\n\t\t\t\t\t\t\t\t\t\t\treturn _this2.onChangeOptionNumber(e, key);\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t})\n\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t}),\n\t\t\t\t\t\t\t__WEBPACK_IMPORTED_MODULE_0_babel_runtime_core_js_object_keys___default()(this.state.wppr_options).length < wpprguten.length && wp.element.createElement(\n\t\t\t\t\t\t\t\tButton,\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\tisLarge: true,\n\t\t\t\t\t\t\t\t\tonClick: this.addOption\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t__('Add another option')\n\t\t\t\t\t\t\t)\n\t\t\t\t\t\t)\n\t\t\t\t\t),\n\t\t\t\t\twp.element.createElement(\n\t\t\t\t\t\tPanelBody,\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\ttitle: __('Pro Features'),\n\t\t\t\t\t\t\tclassName: 'wp-product-review-product-pros',\n\t\t\t\t\t\t\tinitialOpen: false\n\t\t\t\t\t\t},\n\t\t\t\t\t\twp.element.createElement(\n\t\t\t\t\t\t\t'div',\n\t\t\t\t\t\t\t{ className: 'wppr-review-pro-list' },\n\t\t\t\t\t\t\t__WEBPACK_IMPORTED_MODULE_0_babel_runtime_core_js_object_keys___default()(this.state.wppr_pros).map(function (key) {\n\t\t\t\t\t\t\t\treturn wp.element.createElement(\n\t\t\t\t\t\t\t\t\t'div',\n\t\t\t\t\t\t\t\t\t{ className: 'wppr-review-pro-item' },\n\t\t\t\t\t\t\t\t\twp.element.createElement(\n\t\t\t\t\t\t\t\t\t\t'label',\n\t\t\t\t\t\t\t\t\t\t{ 'for': 'wppr-pro-item-' + key },\n\t\t\t\t\t\t\t\t\t\tparseInt(key) + 1\n\t\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\t\twp.element.createElement(TextControl, {\n\t\t\t\t\t\t\t\t\t\ttype: 'text',\n\t\t\t\t\t\t\t\t\t\tid: 'wppr-pro-item-' + key,\n\t\t\t\t\t\t\t\t\t\tclassName: 'wppr-text',\n\t\t\t\t\t\t\t\t\t\tplaceholder: __('Option'),\n\t\t\t\t\t\t\t\t\t\tvalue: _this2.state.wppr_pros[key],\n\t\t\t\t\t\t\t\t\t\tonChange: function onChange(e) {\n\t\t\t\t\t\t\t\t\t\t\treturn _this2.onChangeProText(e, key);\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t})\n\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t}),\n\t\t\t\t\t\t\t__WEBPACK_IMPORTED_MODULE_0_babel_runtime_core_js_object_keys___default()(this.state.wppr_pros).length < wpprguten.length && wp.element.createElement(\n\t\t\t\t\t\t\t\tButton,\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\tisLarge: true,\n\t\t\t\t\t\t\t\t\tonClick: this.addPro\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t__('Add another option')\n\t\t\t\t\t\t\t)\n\t\t\t\t\t\t)\n\t\t\t\t\t),\n\t\t\t\t\twp.element.createElement(\n\t\t\t\t\t\tPanelBody,\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\ttitle: __('Con Features'),\n\t\t\t\t\t\t\tclassName: 'wp-product-review-product-cons',\n\t\t\t\t\t\t\tinitialOpen: false\n\t\t\t\t\t\t},\n\t\t\t\t\t\twp.element.createElement(\n\t\t\t\t\t\t\t'div',\n\t\t\t\t\t\t\t{ className: 'wppr-review-con-list' },\n\t\t\t\t\t\t\t__WEBPACK_IMPORTED_MODULE_0_babel_runtime_core_js_object_keys___default()(this.state.wppr_cons).map(function (key) {\n\t\t\t\t\t\t\t\treturn wp.element.createElement(\n\t\t\t\t\t\t\t\t\t'div',\n\t\t\t\t\t\t\t\t\t{ className: 'wppr-review-con-item' },\n\t\t\t\t\t\t\t\t\twp.element.createElement(\n\t\t\t\t\t\t\t\t\t\t'label',\n\t\t\t\t\t\t\t\t\t\t{ 'for': 'wppr-con-item-' + key },\n\t\t\t\t\t\t\t\t\t\tparseInt(key) + 1\n\t\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\t\twp.element.createElement(TextControl, {\n\t\t\t\t\t\t\t\t\t\ttype: 'text',\n\t\t\t\t\t\t\t\t\t\tid: 'wppr-con-item-' + key,\n\t\t\t\t\t\t\t\t\t\tclassName: 'wppr-text',\n\t\t\t\t\t\t\t\t\t\tplaceholder: __('Option'),\n\t\t\t\t\t\t\t\t\t\tvalue: _this2.state.wppr_cons[key],\n\t\t\t\t\t\t\t\t\t\tonChange: function onChange(e) {\n\t\t\t\t\t\t\t\t\t\t\treturn _this2.onChangeConText(e, key);\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t})\n\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t}),\n\t\t\t\t\t\t\t__WEBPACK_IMPORTED_MODULE_0_babel_runtime_core_js_object_keys___default()(this.state.wppr_cons).length < wpprguten.length && wp.element.createElement(\n\t\t\t\t\t\t\t\tButton,\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\tisLarge: true,\n\t\t\t\t\t\t\t\t\tonClick: this.addCon\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t__('Add another option')\n\t\t\t\t\t\t\t)\n\t\t\t\t\t\t)\n\t\t\t\t\t),\n\t\t\t\t\twpprguten.isPro && wp.element.createElement(\n\t\t\t\t\t\t'div',\n\t\t\t\t\t\t{ className: 'wppr-review-import-review-button' },\n\t\t\t\t\t\twp.element.createElement(\n\t\t\t\t\t\t\tButton,\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tisLarge: true,\n\t\t\t\t\t\t\t\tisPrimary: true,\n\t\t\t\t\t\t\t\tonClick: function onClick() {\n\t\t\t\t\t\t\t\t\treturn _this2.props.setState({ isOpen: true });\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t__('Import Review')\n\t\t\t\t\t\t),\n\t\t\t\t\t\tthis.props.isOpen ? wp.element.createElement(\n\t\t\t\t\t\t\tModal,\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\ttitle: __('Import Review'),\n\t\t\t\t\t\t\t\tclassName: 'wppr-review-import-modal',\n\t\t\t\t\t\t\t\tonRequestClose: function onRequestClose() {\n\t\t\t\t\t\t\t\t\treturn _this2.props.setState({ isOpen: false });\n\t\t\t\t\t\t\t\t} },\n\t\t\t\t\t\t\tthis.props.posts && __WEBPACK_IMPORTED_MODULE_0_babel_runtime_core_js_object_keys___default()(this.props.posts).map(function (key) {\n\t\t\t\t\t\t\t\treturn wp.element.createElement(\n\t\t\t\t\t\t\t\t\tPanelBody,\n\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\ttitle: _this2.props.posts[key].title.raw,\n\t\t\t\t\t\t\t\t\t\tinitialOpen: false\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\twp.element.createElement(\n\t\t\t\t\t\t\t\t\t\t'div',\n\t\t\t\t\t\t\t\t\t\t{ className: 'cwp_pitem_info' },\n\t\t\t\t\t\t\t\t\t\twp.element.createElement(\n\t\t\t\t\t\t\t\t\t\t\t'ul',\n\t\t\t\t\t\t\t\t\t\t\t{ 'class': 'cwp_pitem_options_content' },\n\t\t\t\t\t\t\t\t\t\t\twp.element.createElement(\n\t\t\t\t\t\t\t\t\t\t\t\t'h4',\n\t\t\t\t\t\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t\t\t\t\t\t__('Options')\n\t\t\t\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\t\t\t\t__WEBPACK_IMPORTED_MODULE_0_babel_runtime_core_js_object_keys___default()(_this2.props.posts[key].wppr_data.wppr_options).map(function (i) {\n\t\t\t\t\t\t\t\t\t\t\t\treturn wp.element.createElement(\n\t\t\t\t\t\t\t\t\t\t\t\t\t'li',\n\t\t\t\t\t\t\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t\t\t\t\t\t\t_this2.props.posts[key].wppr_data.wppr_options[i].name\n\t\t\t\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\t\t\t})\n\t\t\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\t\t\twp.element.createElement(\n\t\t\t\t\t\t\t\t\t\t\t'ul',\n\t\t\t\t\t\t\t\t\t\t\t{ 'class': 'cwp_pitem_options_pros' },\n\t\t\t\t\t\t\t\t\t\t\twp.element.createElement(\n\t\t\t\t\t\t\t\t\t\t\t\t'h4',\n\t\t\t\t\t\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t\t\t\t\t\t__('Pros')\n\t\t\t\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\t\t\t\t__WEBPACK_IMPORTED_MODULE_0_babel_runtime_core_js_object_keys___default()(_this2.props.posts[key].wppr_data.wppr_pros).map(function (i) {\n\t\t\t\t\t\t\t\t\t\t\t\treturn wp.element.createElement(\n\t\t\t\t\t\t\t\t\t\t\t\t\t'li',\n\t\t\t\t\t\t\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t\t\t\t\t\t\t_this2.props.posts[key].wppr_data.wppr_pros[i]\n\t\t\t\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\t\t\t})\n\t\t\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\t\t\twp.element.createElement(\n\t\t\t\t\t\t\t\t\t\t\t'ul',\n\t\t\t\t\t\t\t\t\t\t\t{ 'class': 'cwp_pitem_options_cons' },\n\t\t\t\t\t\t\t\t\t\t\twp.element.createElement(\n\t\t\t\t\t\t\t\t\t\t\t\t'h4',\n\t\t\t\t\t\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t\t\t\t\t\t__('Cons')\n\t\t\t\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\t\t\t\t__WEBPACK_IMPORTED_MODULE_0_babel_runtime_core_js_object_keys___default()(_this2.props.posts[key].wppr_data.wppr_cons).map(function (i) {\n\t\t\t\t\t\t\t\t\t\t\t\treturn wp.element.createElement(\n\t\t\t\t\t\t\t\t\t\t\t\t\t'li',\n\t\t\t\t\t\t\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t\t\t\t\t\t\t_this2.props.posts[key].wppr_data.wppr_cons[i]\n\t\t\t\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\t\t\t})\n\t\t\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\t\t\twp.element.createElement(\n\t\t\t\t\t\t\t\t\t\t\tButton,\n\t\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\t\tisLarge: true,\n\t\t\t\t\t\t\t\t\t\t\t\tonClick: function onClick() {\n\t\t\t\t\t\t\t\t\t\t\t\t\treturn _this2.importReview(key);\n\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t\t__('Import Review')\n\t\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t})\n\t\t\t\t\t\t) : null\n\t\t\t\t\t)\n\t\t\t\t)]\n\t\t\t);\n\t\t}\n\t}], [{\n\t\tkey: 'getDerivedStateFromProps',\n\t\tvalue: function getDerivedStateFromProps(nextProps, state) {\n\t\t\tif ((nextProps.isPublishing || nextProps.isSaving) && !nextProps.isAutoSaving) {\n\t\t\t\twp.apiRequest({ path: '/wp-product-review/update-review?id=' + nextProps.postId + '&postType=' + nextProps.postType, method: 'POST', data: state }).then(function (data) {\n\t\t\t\t\treturn data;\n\t\t\t\t}, function (err) {\n\t\t\t\t\treturn err;\n\t\t\t\t});\n\t\t\t}\n\t\t}\n\t}]);\n\n\treturn WP_Product_Review;\n}(Component);\n\nvar WPPR = compose([withSelect(function (select, _ref3) {\n\tvar forceIsSaving = _ref3.forceIsSaving;\n\n\tvar _select2 = select('core/editor'),\n\t getCurrentPostId = _select2.getCurrentPostId,\n\t isSavingPost = _select2.isSavingPost,\n\t isPublishingPost = _select2.isPublishingPost,\n\t isAutosavingPost = _select2.isAutosavingPost,\n\t getCurrentPostType = _select2.getCurrentPostType;\n\n\tvar latestPostsQuery = pickBy({\n\t\tper_page: 100,\n\t\tmeta_key: 'cwp_meta_box_check',\n\t\tmeta_value: 'Yes'\n\t}, function (value) {\n\t\treturn !isUndefined(value);\n\t});\n\treturn {\n\t\tpostId: getCurrentPostId(),\n\t\tpostType: getCurrentPostType(),\n\t\tposts: select('core').getEntityRecords('postType', 'post', latestPostsQuery),\n\t\tisSaving: forceIsSaving || isSavingPost(),\n\t\tisAutoSaving: isAutosavingPost(),\n\t\tisPublishing: isPublishingPost()\n\t};\n}), withState({\n\tisOpen: false\n}), withDispatch(function (dispatch) {\n\treturn {\n\t\topenReviewSidebar: function openReviewSidebar() {\n\t\t\treturn dispatch('core/edit-post').openGeneralSidebar('wp-product-review/wp-product-review');\n\t\t},\n\t\teditPostStatus: dispatch('core/editor').editPost\n\t};\n})])(WP_Product_Review);\n\nregisterPlugin('wp-product-review', {\n\ticon: 'star-empty',\n\trender: WPPR\n});//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiNTUuanMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9zcmMvc2lkZWJhci5qcz8yNWQ1Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBfT2JqZWN0JGtleXMgZnJvbSAnYmFiZWwtcnVudGltZS9jb3JlLWpzL29iamVjdC9rZXlzJztcbmltcG9ydCBfcmVnZW5lcmF0b3JSdW50aW1lIGZyb20gJ2JhYmVsLXJ1bnRpbWUvcmVnZW5lcmF0b3InO1xuaW1wb3J0IF9leHRlbmRzIGZyb20gJ2JhYmVsLXJ1bnRpbWUvaGVscGVycy9leHRlbmRzJztcbmltcG9ydCBfYXN5bmNUb0dlbmVyYXRvciBmcm9tICdiYWJlbC1ydW50aW1lL2hlbHBlcnMvYXN5bmNUb0dlbmVyYXRvcic7XG5pbXBvcnQgX09iamVjdCRnZXRQcm90b3R5cGVPZiBmcm9tICdiYWJlbC1ydW50aW1lL2NvcmUtanMvb2JqZWN0L2dldC1wcm90b3R5cGUtb2YnO1xuaW1wb3J0IF9jbGFzc0NhbGxDaGVjayBmcm9tICdiYWJlbC1ydW50aW1lL2hlbHBlcnMvY2xhc3NDYWxsQ2hlY2snO1xuaW1wb3J0IF9jcmVhdGVDbGFzcyBmcm9tICdiYWJlbC1ydW50aW1lL2hlbHBlcnMvY3JlYXRlQ2xhc3MnO1xuaW1wb3J0IF9wb3NzaWJsZUNvbnN0cnVjdG9yUmV0dXJuIGZyb20gJ2JhYmVsLXJ1bnRpbWUvaGVscGVycy9wb3NzaWJsZUNvbnN0cnVjdG9yUmV0dXJuJztcbmltcG9ydCBfaW5oZXJpdHMgZnJvbSAnYmFiZWwtcnVudGltZS9oZWxwZXJzL2luaGVyaXRzJztcbi8qKlxuICogSW50ZXJuYWwgZGVwZW5kZW5jaWVzXG4gKi9cbmltcG9ydCAnLi9zdHlsZS5zY3NzJztcbmltcG9ydCB7IHJldmVyc2VPYmplY3QsIHJlbmFtZUtleSB9IGZyb20gJy4vdXRpbHMnO1xuaW1wb3J0IFJhZGlvSW1hZ2VDb250cm9sIGZyb20gJy4vcmFkaW8taW1hZ2UtY29udHJvbC8nO1xuXG4vKipcbiAqIFdvcmRQcmVzcyBkZXBlbmRlbmNpZXNcbiAqL1xudmFyIF9fID0gd3AuaTE4bi5fXztcbnZhciBfbG9kYXNoID0gbG9kYXNoLFxuICAgIGlzVW5kZWZpbmVkID0gX2xvZGFzaC5pc1VuZGVmaW5lZCxcbiAgICBwaWNrQnkgPSBfbG9kYXNoLnBpY2tCeTtcbnZhciByZWdpc3RlclBsdWdpbiA9IHdwLnBsdWdpbnMucmVnaXN0ZXJQbHVnaW47XG52YXIgTWVkaWFVcGxvYWQgPSB3cC5lZGl0b3IuTWVkaWFVcGxvYWQ7XG52YXIgX3dwJGRhdGEgPSB3cC5kYXRhLFxuICAgIHNlbGVjdCA9IF93cCRkYXRhLnNlbGVjdCxcbiAgICB3aXRoU2VsZWN0ID0gX3dwJGRhdGEud2l0aFNlbGVjdCxcbiAgICB3aXRoRGlzcGF0Y2ggPSBfd3AkZGF0YS53aXRoRGlzcGF0Y2g7XG52YXIgX3dwJGVkaXRQb3N0ID0gd3AuZWRpdFBvc3QsXG4gICAgUGx1Z2luUG9zdFN0YXR1c0luZm8gPSBfd3AkZWRpdFBvc3QuUGx1Z2luUG9zdFN0YXR1c0luZm8sXG4gICAgUGx1Z2luU2lkZWJhck1vcmVNZW51SXRlbSA9IF93cCRlZGl0UG9zdC5QbHVnaW5TaWRlYmFyTW9yZU1lbnVJdGVtLFxuICAgIFBsdWdpblNpZGViYXIgPSBfd3AkZWRpdFBvc3QuUGx1Z2luU2lkZWJhcjtcbnZhciBfd3AkZWxlbWVudCA9IHdwLmVsZW1lbnQsXG4gICAgQ29tcG9uZW50ID0gX3dwJGVsZW1lbnQuQ29tcG9uZW50LFxuICAgIEZyYWdtZW50ID0gX3dwJGVsZW1lbnQuRnJhZ21lbnQ7XG52YXIgX3dwJGNvbXBvc2UgPSB3cC5jb21wb3NlLFxuICAgIHdpdGhTdGF0ZSA9IF93cCRjb21wb3NlLndpdGhTdGF0ZSxcbiAgICBjb21wb3NlID0gX3dwJGNvbXBvc2UuY29tcG9zZTtcbnZhciBfd3AkY29tcG9uZW50cyA9IHdwLmNvbXBvbmVudHMsXG4gICAgQnV0dG9uID0gX3dwJGNvbXBvbmVudHMuQnV0dG9uLFxuICAgIEZvcm1Ub2dnbGUgPSBfd3AkY29tcG9uZW50cy5Gb3JtVG9nZ2xlLFxuICAgIE1vZGFsID0gX3dwJGNvbXBvbmVudHMuTW9kYWwsXG4gICAgUGFuZWxCb2R5ID0gX3dwJGNvbXBvbmVudHMuUGFuZWxCb2R5LFxuICAgIFNlbGVjdENvbnRyb2wgPSBfd3AkY29tcG9uZW50cy5TZWxlY3RDb250cm9sLFxuICAgIFRleHRDb250cm9sID0gX3dwJGNvbXBvbmVudHMuVGV4dENvbnRyb2w7XG5cbnZhciBXUF9Qcm9kdWN0X1JldmlldyA9IGZ1bmN0aW9uIChfQ29tcG9uZW50KSB7XG5cdF9pbmhlcml0cyhXUF9Qcm9kdWN0X1JldmlldywgX0NvbXBvbmVudCk7XG5cblx0ZnVuY3Rpb24gV1BfUHJvZHVjdF9SZXZpZXcoKSB7XG5cdFx0X2NsYXNzQ2FsbENoZWNrKHRoaXMsIFdQX1Byb2R1Y3RfUmV2aWV3KTtcblxuXHRcdHZhciBfdGhpcyA9IF9wb3NzaWJsZUNvbnN0cnVjdG9yUmV0dXJuKHRoaXMsIChXUF9Qcm9kdWN0X1Jldmlldy5fX3Byb3RvX18gfHwgX09iamVjdCRnZXRQcm90b3R5cGVPZihXUF9Qcm9kdWN0X1JldmlldykpLmFwcGx5KHRoaXMsIGFyZ3VtZW50cykpO1xuXG5cdFx0X3RoaXMudG9nZ2xlUmV2aWV3U3RhdHVzID0gX3RoaXMudG9nZ2xlUmV2aWV3U3RhdHVzLmJpbmQoX3RoaXMpO1xuXHRcdF90aGlzLm9uQ2hhbmdlVGVtcGxhdGUgPSBfdGhpcy5vbkNoYW5nZVRlbXBsYXRlLmJpbmQoX3RoaXMpO1xuXHRcdF90aGlzLm9uQ2hhbmdlUmV2aWV3VGl0bGUgPSBfdGhpcy5vbkNoYW5nZVJldmlld1RpdGxlLmJpbmQoX3RoaXMpO1xuXHRcdF90aGlzLm9uQ2hhbmdlUmV2aWV3SW1hZ2UgPSBfdGhpcy5vbkNoYW5nZVJldmlld0ltYWdlLmJpbmQoX3RoaXMpO1xuXHRcdF90aGlzLm9uQ2hhbmdlSW1hZ2VMaW5rID0gX3RoaXMub25DaGFuZ2VJbWFnZUxpbmsuYmluZChfdGhpcyk7XG5cdFx0X3RoaXMub25DaGFuZ2VSZXZpZXdBZmZpbGlhdGVUaXRsZSA9IF90aGlzLm9uQ2hhbmdlUmV2aWV3QWZmaWxpYXRlVGl0bGUuYmluZChfdGhpcyk7XG5cdFx0X3RoaXMub25DaGFuZ2VSZXZpZXdBZmZpbGlhdGVMaW5rID0gX3RoaXMub25DaGFuZ2VSZXZpZXdBZmZpbGlhdGVMaW5rLmJpbmQoX3RoaXMpO1xuXHRcdF90aGlzLmFkZEJ1dHRvbiA9IF90aGlzLmFkZEJ1dHRvbi5iaW5kKF90aGlzKTtcblx0XHRfdGhpcy5vbkNoYW5nZVJldmlld1ByaWNlID0gX3RoaXMub25DaGFuZ2VSZXZpZXdQcmljZS5iaW5kKF90aGlzKTtcblx0XHRfdGhpcy5vbkNoYW5nZU9wdGlvblRleHQgPSBfdGhpcy5vbkNoYW5nZU9wdGlvblRleHQuYmluZChfdGhpcyk7XG5cdFx0X3RoaXMub25DaGFuZ2VPcHRpb25OdW1iZXIgPSBfdGhpcy5vbkNoYW5nZU9wdGlvbk51bWJlci5iaW5kKF90aGlzKTtcblx0XHRfdGhpcy5hZGRPcHRpb24gPSBfdGhpcy5hZGRPcHRpb24uYmluZChfdGhpcyk7XG5cdFx0X3RoaXMub25DaGFuZ2VQcm9UZXh0ID0gX3RoaXMub25DaGFuZ2VQcm9UZXh0LmJpbmQoX3RoaXMpO1xuXHRcdF90aGlzLmFkZFBybyA9IF90aGlzLmFkZFByby5iaW5kKF90aGlzKTtcblx0XHRfdGhpcy5vbkNoYW5nZUNvblRleHQgPSBfdGhpcy5vbkNoYW5nZUNvblRleHQuYmluZChfdGhpcyk7XG5cdFx0X3RoaXMuYWRkQ29uID0gX3RoaXMuYWRkQ29uLmJpbmQoX3RoaXMpO1xuXHRcdF90aGlzLmltcG9ydFJldmlldyA9IF90aGlzLmltcG9ydFJldmlldy5iaW5kKF90aGlzKTtcblxuXHRcdF90aGlzLnN0YXRlID0ge1xuXHRcdFx0Y3dwX21ldGFfYm94X2NoZWNrOiAnTm8nLFxuXHRcdFx0Y3dwX3Jldl9wcm9kdWN0X25hbWU6ICcnLFxuXHRcdFx0X3dwcHJfcmV2aWV3X3RlbXBsYXRlOiAnZGVmYXVsdCcsXG5cdFx0XHRjd3BfcmV2X3Byb2R1Y3RfaW1hZ2U6ICcnLFxuXHRcdFx0Y3dwX2ltYWdlX2xpbms6ICdpbWFnZScsXG5cdFx0XHR3cHByX2xpbmtzOiB7XG5cdFx0XHRcdCcnOiAnJ1xuXHRcdFx0fSxcblx0XHRcdGN3cF9yZXZfcHJpY2U6ICcnLFxuXHRcdFx0d3Bwcl9vcHRpb25zOiB7XG5cdFx0XHRcdDE6IHtcblx0XHRcdFx0XHRuYW1lOiAnJyxcblx0XHRcdFx0XHR2YWx1ZTogMFxuXHRcdFx0XHR9XG5cdFx0XHR9LFxuXHRcdFx0d3Bwcl9wcm9zOiB7XG5cdFx0XHRcdDA6ICcnXG5cdFx0XHR9LFxuXHRcdFx0d3Bwcl9jb25zOiB7XG5cdFx0XHRcdDA6ICcnXG5cdFx0XHR9XG5cdFx0fTtcblx0XHRyZXR1cm4gX3RoaXM7XG5cdH1cblxuXHRfY3JlYXRlQ2xhc3MoV1BfUHJvZHVjdF9SZXZpZXcsIFt7XG5cdFx0a2V5OiAnY29tcG9uZW50RGlkTW91bnQnLFxuXHRcdHZhbHVlOiBmdW5jdGlvbiAoKSB7XG5cdFx0XHR2YXIgX3JlZiA9IF9hc3luY1RvR2VuZXJhdG9yKCAvKiNfX1BVUkVfXyovX3JlZ2VuZXJhdG9yUnVudGltZS5tYXJrKGZ1bmN0aW9uIF9jYWxsZWUoKSB7XG5cdFx0XHRcdHZhciBfc2VsZWN0LCBnZXRDdXJyZW50UG9zdElkLCBnZXRDdXJyZW50UG9zdFR5cGUsIHBvc3Q7XG5cblx0XHRcdFx0cmV0dXJuIF9yZWdlbmVyYXRvclJ1bnRpbWUud3JhcChmdW5jdGlvbiBfY2FsbGVlJChfY29udGV4dCkge1xuXHRcdFx0XHRcdHdoaWxlICgxKSB7XG5cdFx0XHRcdFx0XHRzd2l0Y2ggKF9jb250ZXh0LnByZXYgPSBfY29udGV4dC5uZXh0KSB7XG5cdFx0XHRcdFx0XHRcdGNhc2UgMDpcblx0XHRcdFx0XHRcdFx0XHRfc2VsZWN0ID0gc2VsZWN0KCdjb3JlL2VkaXRvcicpLCBnZXRDdXJyZW50UG9zdElkID0gX3NlbGVjdC5nZXRDdXJyZW50UG9zdElkLCBnZXRDdXJyZW50UG9zdFR5cGUgPSBfc2VsZWN0LmdldEN1cnJlbnRQb3N0VHlwZTtcblx0XHRcdFx0XHRcdFx0XHRfY29udGV4dC5uZXh0ID0gMztcblx0XHRcdFx0XHRcdFx0XHRyZXR1cm4gc2VsZWN0KCdjb3JlJykuZ2V0RW50aXR5UmVjb3JkKCdwb3N0VHlwZScsIGdldEN1cnJlbnRQb3N0VHlwZSgpLCBnZXRDdXJyZW50UG9zdElkKCkpO1xuXG5cdFx0XHRcdFx0XHRcdGNhc2UgMzpcblx0XHRcdFx0XHRcdFx0XHRwb3N0ID0gX2NvbnRleHQuc2VudDtcblxuXG5cdFx0XHRcdFx0XHRcdFx0aWYgKHVuZGVmaW5lZCAhPT0gcG9zdCAmJiBwb3N0LndwcHJfZGF0YSkge1xuXHRcdFx0XHRcdFx0XHRcdFx0aWYgKHBvc3Qud3Bwcl9kYXRhLndwcHJfbGlua3MgJiYgcG9zdC53cHByX2RhdGEud3Bwcl9saW5rcy5sZW5ndGggPCAxKSB7XG5cdFx0XHRcdFx0XHRcdFx0XHRcdHBvc3Qud3Bwcl9kYXRhLndwcHJfbGlua3NbJyddID0gJyc7XG5cdFx0XHRcdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0XHRcdFx0XHR0aGlzLnNldFN0YXRlKF9leHRlbmRzKHt9LCBwb3N0LndwcHJfZGF0YSkpO1xuXHRcdFx0XHRcdFx0XHRcdH1cblxuXHRcdFx0XHRcdFx0XHRjYXNlIDU6XG5cdFx0XHRcdFx0XHRcdGNhc2UgJ2VuZCc6XG5cdFx0XHRcdFx0XHRcdFx0cmV0dXJuIF9jb250ZXh0LnN0b3AoKTtcblx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHR9XG5cdFx0XHRcdH0sIF9jYWxsZWUsIHRoaXMpO1xuXHRcdFx0fSkpO1xuXG5cdFx0XHRmdW5jdGlvbiBjb21wb25lbnREaWRNb3VudCgpIHtcblx0XHRcdFx0cmV0dXJuIF9yZWYuYXBwbHkodGhpcywgYXJndW1lbnRzKTtcblx0XHRcdH1cblxuXHRcdFx0cmV0dXJuIGNvbXBvbmVudERpZE1vdW50O1xuXHRcdH0oKVxuXHR9LCB7XG5cdFx0a2V5OiAnY29tcG9uZW50RGlkVXBkYXRlJyxcblx0XHR2YWx1ZTogZnVuY3Rpb24gY29tcG9uZW50RGlkVXBkYXRlKHByZXZQcm9wcywgcHJldlN0YXRlKSB7XG5cdFx0XHRpZiAodGhpcy5zdGF0ZS5jd3BfbWV0YV9ib3hfY2hlY2sgIT09IHByZXZTdGF0ZS5jd3BfbWV0YV9ib3hfY2hlY2sgJiYgdGhpcy5zdGF0ZS5jd3BfbWV0YV9ib3hfY2hlY2sgPT09ICdZZXMnKSB7XG5cdFx0XHRcdHRoaXMucHJvcHMub3BlblJldmlld1NpZGViYXIoKTtcblx0XHRcdH1cblx0XHR9XG5cdH0sIHtcblx0XHRrZXk6ICd0b2dnbGVSZXZpZXdTdGF0dXMnLFxuXHRcdHZhbHVlOiBmdW5jdGlvbiB0b2dnbGVSZXZpZXdTdGF0dXMoKSB7XG5cdFx0XHR0aGlzLnNldFN0YXRlKHsgY3dwX21ldGFfYm94X2NoZWNrOiB0aGlzLnN0YXRlLmN3cF9tZXRhX2JveF9jaGVjayA9PT0gJ1llcycgPyAnTm8nIDogJ1llcycgfSk7XG5cdFx0XHR0aGlzLnByb3BzLmVkaXRQb3N0U3RhdHVzKHsgZWRpdGVkOiB0cnVlIH0pO1xuXHRcdH1cblx0fSwge1xuXHRcdGtleTogJ29uQ2hhbmdlVGVtcGxhdGUnLFxuXHRcdHZhbHVlOiBmdW5jdGlvbiBvbkNoYW5nZVRlbXBsYXRlKHZhbHVlKSB7XG5cdFx0XHR0aGlzLnNldFN0YXRlKHsgX3dwcHJfcmV2aWV3X3RlbXBsYXRlOiB2YWx1ZSB9KTtcblx0XHRcdHRoaXMucHJvcHMuZWRpdFBvc3RTdGF0dXMoeyBlZGl0ZWQ6IHRydWUgfSk7XG5cdFx0fVxuXHR9LCB7XG5cdFx0a2V5OiAnb25DaGFuZ2VSZXZpZXdUaXRsZScsXG5cdFx0dmFsdWU6IGZ1bmN0aW9uIG9uQ2hhbmdlUmV2aWV3VGl0bGUodmFsdWUpIHtcblx0XHRcdHRoaXMuc2V0U3RhdGUoeyBjd3BfcmV2X3Byb2R1Y3RfbmFtZTogdmFsdWUgfSk7XG5cdFx0XHR0aGlzLnByb3BzLmVkaXRQb3N0U3RhdHVzKHsgZWRpdGVkOiB0cnVlIH0pO1xuXHRcdH1cblx0fSwge1xuXHRcdGtleTogJ29uQ2hhbmdlUmV2aWV3SW1hZ2UnLFxuXHRcdHZhbHVlOiBmdW5jdGlvbiBvbkNoYW5nZVJldmlld0ltYWdlKHZhbHVlKSB7XG5cdFx0XHRpZiAodmFsdWUudXJsICE9PSB1bmRlZmluZWQgJiYgdmFsdWUudXJsICE9PSAnJykge1xuXHRcdFx0XHR0aGlzLnNldFN0YXRlKHsgY3dwX3Jldl9wcm9kdWN0X2ltYWdlOiB2YWx1ZS51cmwgfSk7XG5cdFx0XHR9IGVsc2UgaWYgKHZhbHVlLmlkICE9PSB1bmRlZmluZWQpIHtcblx0XHRcdFx0dGhpcy5zZXRTdGF0ZSh7IGN3cF9yZXZfcHJvZHVjdF9pbWFnZTogdmFsdWUuaWQgfSk7XG5cdFx0XHR9XG5cdFx0XHR0aGlzLnByb3BzLmVkaXRQb3N0U3RhdHVzKHsgZWRpdGVkOiB0cnVlIH0pO1xuXHRcdH1cblx0fSwge1xuXHRcdGtleTogJ29uQ2hhbmdlSW1hZ2VMaW5rJyxcblx0XHR2YWx1ZTogZnVuY3Rpb24gb25DaGFuZ2VJbWFnZUxpbmsodmFsdWUpIHtcblx0XHRcdHRoaXMuc2V0U3RhdGUoeyBjd3BfaW1hZ2VfbGluazogdmFsdWUgfSk7XG5cdFx0XHR0aGlzLnByb3BzLmVkaXRQb3N0U3RhdHVzKHsgZWRpdGVkOiB0cnVlIH0pO1xuXHRcdH1cblx0fSwge1xuXHRcdGtleTogJ29uQ2hhbmdlUmV2aWV3QWZmaWxpYXRlVGl0bGUnLFxuXHRcdHZhbHVlOiBmdW5jdGlvbiBvbkNoYW5nZVJldmlld0FmZmlsaWF0ZVRpdGxlKGUsIGtleSkge1xuXHRcdFx0dmFyIHdwcHJfbGlua3MgPSBfZXh0ZW5kcyh7fSwgdGhpcy5zdGF0ZS53cHByX2xpbmtzKTtcblx0XHRcdGlmIChfT2JqZWN0JGtleXModGhpcy5zdGF0ZS53cHByX2xpbmtzKS5sZW5ndGggPT09IDIpIHtcblx0XHRcdFx0aWYgKGUgPT09IF9PYmplY3Qka2V5cyh3cHByX2xpbmtzKVswXSB8fCBlID09PSBfT2JqZWN0JGtleXMod3Bwcl9saW5rcylbMV0pIHtcblx0XHRcdFx0XHRlID0gZSArICcgJztcblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdFx0aWYgKF9PYmplY3Qka2V5cyh3cHByX2xpbmtzKVswXSA9PT0ga2V5KSB7XG5cdFx0XHRcdHJlbmFtZUtleSh3cHByX2xpbmtzLCBrZXksIGUpO1xuXHRcdFx0XHR3cHByX2xpbmtzID0gcmV2ZXJzZU9iamVjdCh3cHByX2xpbmtzKTtcblx0XHRcdH0gZWxzZSB7XG5cdFx0XHRcdHJlbmFtZUtleSh3cHByX2xpbmtzLCBrZXksIGUpO1xuXHRcdFx0fVxuXHRcdFx0dGhpcy5zZXRTdGF0ZSh7IHdwcHJfbGlua3M6IHdwcHJfbGlua3MgfSk7XG5cdFx0XHR0aGlzLnByb3BzLmVkaXRQb3N0U3RhdHVzKHsgZWRpdGVkOiB0cnVlIH0pO1xuXHRcdH1cblx0fSwge1xuXHRcdGtleTogJ29uQ2hhbmdlUmV2aWV3QWZmaWxpYXRlTGluaycsXG5cdFx0dmFsdWU6IGZ1bmN0aW9uIG9uQ2hhbmdlUmV2aWV3QWZmaWxpYXRlTGluayhlLCBrZXkpIHtcblx0XHRcdHZhciB3cHByX2xpbmtzID0gX2V4dGVuZHMoe30sIHRoaXMuc3RhdGUud3Bwcl9saW5rcyk7XG5cdFx0XHR3cHByX2xpbmtzW2tleV0gPSBlO1xuXHRcdFx0dGhpcy5zZXRTdGF0ZSh7IHdwcHJfbGlua3M6IHdwcHJfbGlua3MgfSk7XG5cdFx0XHR0aGlzLnByb3BzLmVkaXRQb3N0U3RhdHVzKHsgZWRpdGVkOiB0cnVlIH0pO1xuXHRcdH1cblx0fSwge1xuXHRcdGtleTogJ2FkZEJ1dHRvbicsXG5cdFx0dmFsdWU6IGZ1bmN0aW9uIGFkZEJ1dHRvbigpIHtcblx0XHRcdHZhciB3cHByX2xpbmtzID0gX2V4dGVuZHMoe30sIHRoaXMuc3RhdGUud3Bwcl9saW5rcyk7XG5cdFx0XHR3cHByX2xpbmtzWydCdXkgTm93J10gPSAnJztcblx0XHRcdHRoaXMuc2V0U3RhdGUoeyB3cHByX2xpbmtzOiB3cHByX2xpbmtzIH0pO1xuXHRcdH1cblx0fSwge1xuXHRcdGtleTogJ29uQ2hhbmdlUmV2aWV3UHJpY2UnLFxuXHRcdHZhbHVlOiBmdW5jdGlvbiBvbkNoYW5nZVJldmlld1ByaWNlKHZhbHVlKSB7XG5cdFx0XHR0aGlzLnNldFN0YXRlKHsgY3dwX3Jldl9wcmljZTogdmFsdWUgfSk7XG5cdFx0XHR0aGlzLnByb3BzLmVkaXRQb3N0U3RhdHVzKHsgZWRpdGVkOiB0cnVlIH0pO1xuXHRcdH1cblx0fSwge1xuXHRcdGtleTogJ29uQ2hhbmdlT3B0aW9uVGV4dCcsXG5cdFx0dmFsdWU6IGZ1bmN0aW9uIG9uQ2hhbmdlT3B0aW9uVGV4dChlLCBrZXkpIHtcblx0XHRcdHZhciB3cHByX29wdGlvbnMgPSBfZXh0ZW5kcyh7fSwgdGhpcy5zdGF0ZS53cHByX29wdGlvbnMpO1xuXHRcdFx0d3Bwcl9vcHRpb25zW2tleV1bJ25hbWUnXSA9IGU7XG5cdFx0XHR0aGlzLnNldFN0YXRlKHsgd3Bwcl9vcHRpb25zOiB3cHByX29wdGlvbnMgfSk7XG5cdFx0XHR0aGlzLnByb3BzLmVkaXRQb3N0U3RhdHVzKHsgZWRpdGVkOiB0cnVlIH0pO1xuXHRcdH1cblx0fSwge1xuXHRcdGtleTogJ29uQ2hhbmdlT3B0aW9uTnVtYmVyJyxcblx0XHR2YWx1ZTogZnVuY3Rpb24gb25DaGFuZ2VPcHRpb25OdW1iZXIoZSwga2V5KSB7XG5cdFx0XHR2YXIgd3Bwcl9vcHRpb25zID0gX2V4dGVuZHMoe30sIHRoaXMuc3RhdGUud3Bwcl9vcHRpb25zKTtcblx0XHRcdGlmIChlID09PSAnJykgZSA9IDA7XG5cdFx0XHR3cHByX29wdGlvbnNba2V5XVsndmFsdWUnXSA9IGU7XG5cdFx0XHR0aGlzLnNldFN0YXRlKHsgd3Bwcl9vcHRpb25zOiB3cHByX29wdGlvbnMgfSk7XG5cdFx0XHR0aGlzLnByb3BzLmVkaXRQb3N0U3RhdHVzKHsgZWRpdGVkOiB0cnVlIH0pO1xuXHRcdH1cblx0fSwge1xuXHRcdGtleTogJ2FkZE9wdGlvbicsXG5cdFx0dmFsdWU6IGZ1bmN0aW9uIGFkZE9wdGlvbigpIHtcblx0XHRcdHZhciBrZXkgPSBfT2JqZWN0JGtleXModGhpcy5zdGF0ZS53cHByX29wdGlvbnMpLmxlbmd0aCArIDE7XG5cdFx0XHR2YXIgd3Bwcl9vcHRpb25zID0gX2V4dGVuZHMoe30sIHRoaXMuc3RhdGUud3Bwcl9vcHRpb25zKTtcblx0XHRcdHdwcHJfb3B0aW9uc1trZXldID0ge1xuXHRcdFx0XHRuYW1lOiAnJyxcblx0XHRcdFx0dmFsdWU6IDBcblx0XHRcdH07XG5cdFx0XHR0aGlzLnNldFN0YXRlKHsgd3Bwcl9vcHRpb25zOiB3cHByX29wdGlvbnMgfSk7XG5cdFx0fVxuXHR9LCB7XG5cdFx0a2V5OiAnb25DaGFuZ2VQcm9UZXh0Jyxcblx0XHR2YWx1ZTogZnVuY3Rpb24gb25DaGFuZ2VQcm9UZXh0KGUsIGtleSkge1xuXHRcdFx0dmFyIHdwcHJfcHJvcyA9IF9leHRlbmRzKHt9LCB0aGlzLnN0YXRlLndwcHJfcHJvcyk7XG5cdFx0XHR3cHByX3Byb3Nba2V5XSA9IGU7XG5cdFx0XHR0aGlzLnNldFN0YXRlKHsgd3Bwcl9wcm9zOiB3cHByX3Byb3MgfSk7XG5cdFx0XHR0aGlzLnByb3BzLmVkaXRQb3N0U3RhdHVzKHsgZWRpdGVkOiB0cnVlIH0pO1xuXHRcdH1cblx0fSwge1xuXHRcdGtleTogJ2FkZFBybycsXG5cdFx0dmFsdWU6IGZ1bmN0aW9uIGFkZFBybygpIHtcblx0XHRcdHZhciBrZXkgPSBfT2JqZWN0JGtleXModGhpcy5zdGF0ZS53cHByX3Byb3MpLmxlbmd0aDtcblx0XHRcdHZhciB3cHByX3Byb3MgPSBfZXh0ZW5kcyh7fSwgdGhpcy5zdGF0ZS53cHByX3Byb3MpO1xuXHRcdFx0d3Bwcl9wcm9zW2tleV0gPSAnJztcblx0XHRcdHRoaXMuc2V0U3RhdGUoeyB3cHByX3Byb3M6IHdwcHJfcHJvcyB9KTtcblx0XHR9XG5cdH0sIHtcblx0XHRrZXk6ICdvbkNoYW5nZUNvblRleHQnLFxuXHRcdHZhbHVlOiBmdW5jdGlvbiBvbkNoYW5nZUNvblRleHQoZSwga2V5KSB7XG5cdFx0XHR2YXIgd3Bwcl9jb25zID0gX2V4dGVuZHMoe30sIHRoaXMuc3RhdGUud3Bwcl9jb25zKTtcblx0XHRcdHdwcHJfY29uc1trZXldID0gZTtcblx0XHRcdHRoaXMuc2V0U3RhdGUoeyB3cHByX2NvbnM6IHdwcHJfY29ucyB9KTtcblx0XHRcdHRoaXMucHJvcHMuZWRpdFBvc3RTdGF0dXMoeyBlZGl0ZWQ6IHRydWUgfSk7XG5cdFx0fVxuXHR9LCB7XG5cdFx0a2V5OiAnYWRkQ29uJyxcblx0XHR2YWx1ZTogZnVuY3Rpb24gYWRkQ29uKCkge1xuXHRcdFx0dmFyIGtleSA9IF9PYmplY3Qka2V5cyh0aGlzLnN0YXRlLndwcHJfY29ucykubGVuZ3RoO1xuXHRcdFx0dmFyIHdwcHJfY29ucyA9IF9leHRlbmRzKHt9LCB0aGlzLnN0YXRlLndwcHJfY29ucyk7XG5cdFx0XHR3cHByX2NvbnNba2V5XSA9ICcnO1xuXHRcdFx0dGhpcy5zZXRTdGF0ZSh7IHdwcHJfY29uczogd3Bwcl9jb25zIH0pO1xuXHRcdH1cblx0fSwge1xuXHRcdGtleTogJ2ltcG9ydFJldmlldycsXG5cdFx0dmFsdWU6IGZ1bmN0aW9uIGltcG9ydFJldmlldyhrZXkpIHtcblx0XHRcdHRoaXMuc2V0U3RhdGUoe1xuXHRcdFx0XHR3cHByX29wdGlvbnM6IHRoaXMucHJvcHMucG9zdHNba2V5XS53cHByX2RhdGEud3Bwcl9vcHRpb25zLFxuXHRcdFx0XHR3cHByX3Byb3M6IHRoaXMucHJvcHMucG9zdHNba2V5XS53cHByX2RhdGEud3Bwcl9wcm9zLFxuXHRcdFx0XHR3cHByX2NvbnM6IHRoaXMucHJvcHMucG9zdHNba2V5XS53cHByX2RhdGEud3Bwcl9jb25zXG5cdFx0XHR9KTtcblx0XHRcdHRoaXMucHJvcHMuZWRpdFBvc3RTdGF0dXMoeyBlZGl0ZWQ6IHRydWUgfSk7XG5cdFx0XHR0aGlzLnByb3BzLnNldFN0YXRlKHsgaXNPcGVuOiBmYWxzZSB9KTtcblx0XHR9XG5cdH0sIHtcblx0XHRrZXk6ICdyZW5kZXInLFxuXHRcdHZhbHVlOiBmdW5jdGlvbiByZW5kZXIoKSB7XG5cdFx0XHR2YXIgX3RoaXMyID0gdGhpcztcblxuXHRcdFx0cmV0dXJuIHdwLmVsZW1lbnQuY3JlYXRlRWxlbWVudChcblx0XHRcdFx0RnJhZ21lbnQsXG5cdFx0XHRcdG51bGwsXG5cdFx0XHRcdHdwLmVsZW1lbnQuY3JlYXRlRWxlbWVudChcblx0XHRcdFx0XHRQbHVnaW5Qb3N0U3RhdHVzSW5mbyxcblx0XHRcdFx0XHRudWxsLFxuXHRcdFx0XHRcdHdwLmVsZW1lbnQuY3JlYXRlRWxlbWVudChcblx0XHRcdFx0XHRcdCdsYWJlbCcsXG5cdFx0XHRcdFx0XHR7IGh0bWxGb3I6ICdpcy10aGlzLWEtcmV2aWV3JyB9LFxuXHRcdFx0XHRcdFx0X18oJ0lzIHRoaXMgcG9zdCBhIHJldmlldz8nKVxuXHRcdFx0XHRcdCksXG5cdFx0XHRcdFx0d3AuZWxlbWVudC5jcmVhdGVFbGVtZW50KEZvcm1Ub2dnbGUsIHtcblx0XHRcdFx0XHRcdGNoZWNrZWQ6IHRoaXMuc3RhdGUuY3dwX21ldGFfYm94X2NoZWNrID09PSAnWWVzJyA/IHRydWUgOiBmYWxzZSxcblx0XHRcdFx0XHRcdG9uQ2hhbmdlOiB0aGlzLnRvZ2dsZVJldmlld1N0YXR1cyxcblx0XHRcdFx0XHRcdGlkOiAnaXMtdGhpcy1hLXJldmlldydcblx0XHRcdFx0XHR9KVxuXHRcdFx0XHQpLFxuXHRcdFx0XHR0aGlzLnN0YXRlLmN3cF9tZXRhX2JveF9jaGVjayA9PT0gJ1llcycgJiYgW3dwLmVsZW1lbnQuY3JlYXRlRWxlbWVudChcblx0XHRcdFx0XHRQbHVnaW5TaWRlYmFyTW9yZU1lbnVJdGVtLFxuXHRcdFx0XHRcdHtcblx0XHRcdFx0XHRcdHRhcmdldDogJ3dwLXByb2R1Y3QtcmV2aWV3J1xuXHRcdFx0XHRcdH0sXG5cdFx0XHRcdFx0X18oJ1dQIFByb2R1Y3QgUmV2aWV3Jylcblx0XHRcdFx0KSwgd3AuZWxlbWVudC5jcmVhdGVFbGVtZW50KFxuXHRcdFx0XHRcdFBsdWdpblNpZGViYXIsXG5cdFx0XHRcdFx0e1xuXHRcdFx0XHRcdFx0bmFtZTogJ3dwLXByb2R1Y3QtcmV2aWV3Jyxcblx0XHRcdFx0XHRcdHRpdGxlOiBfXygnV1AgUHJvZHVjdCBSZXZpZXcnKVxuXHRcdFx0XHRcdH0sXG5cdFx0XHRcdFx0d3AuZWxlbWVudC5jcmVhdGVFbGVtZW50KFxuXHRcdFx0XHRcdFx0UGFuZWxCb2R5LFxuXHRcdFx0XHRcdFx0e1xuXHRcdFx0XHRcdFx0XHR0aXRsZTogX18oJ1Byb2R1Y3QgRGV0YWlscycpLFxuXHRcdFx0XHRcdFx0XHRjbGFzc05hbWU6ICd3cC1wcm9kdWN0LXJldmlldy1wcm9kdWN0LWRldGFpbHMnLFxuXHRcdFx0XHRcdFx0XHRpbml0aWFsT3BlbjogdHJ1ZVxuXHRcdFx0XHRcdFx0fSxcblx0XHRcdFx0XHRcdHdwcHJndXRlbi5pc1BybyAmJiB3cC5lbGVtZW50LmNyZWF0ZUVsZW1lbnQoUmFkaW9JbWFnZUNvbnRyb2wsIHtcblx0XHRcdFx0XHRcdFx0bGFiZWw6IF9fKCdSZXZpZXcgVGVtcGxhdGUnKSxcblx0XHRcdFx0XHRcdFx0c2VsZWN0ZWQ6IHRoaXMuc3RhdGUuX3dwcHJfcmV2aWV3X3RlbXBsYXRlLFxuXHRcdFx0XHRcdFx0XHRvcHRpb25zOiBbe1xuXHRcdFx0XHRcdFx0XHRcdGxhYmVsOiBfXygnRGVmYXVsdCcpLFxuXHRcdFx0XHRcdFx0XHRcdHNyYzogd3Bwcmd1dGVuLnBhdGggKyAnL2Fzc2V0cy9pbWcvdGVtcGxhdGVzL2RlZmF1bHQucG5nJyxcblx0XHRcdFx0XHRcdFx0XHR2YWx1ZTogJ2RlZmF1bHQnXG5cdFx0XHRcdFx0XHRcdH0sIHtcblx0XHRcdFx0XHRcdFx0XHRsYWJlbDogX18oJ1N0eWxlIDEnKSxcblx0XHRcdFx0XHRcdFx0XHRzcmM6IHdwcHJndXRlbi5wYXRoICsgJy9hc3NldHMvaW1nL3RlbXBsYXRlcy9zdHlsZTEucG5nJyxcblx0XHRcdFx0XHRcdFx0XHR2YWx1ZTogJ3N0eWxlMSdcblx0XHRcdFx0XHRcdFx0fSwge1xuXHRcdFx0XHRcdFx0XHRcdGxhYmVsOiBfXygnU3R5bGUgMicpLFxuXHRcdFx0XHRcdFx0XHRcdHNyYzogd3Bwcmd1dGVuLnBhdGggKyAnL2Fzc2V0cy9pbWcvdGVtcGxhdGVzL3N0eWxlMi5wbmcnLFxuXHRcdFx0XHRcdFx0XHRcdHZhbHVlOiAnc3R5bGUyJ1xuXHRcdFx0XHRcdFx0XHR9XSxcblx0XHRcdFx0XHRcdFx0b25DaGFuZ2U6IHRoaXMub25DaGFuZ2VUZW1wbGF0ZVxuXHRcdFx0XHRcdFx0fSksXG5cdFx0XHRcdFx0XHR0aGlzLnByb3BzLnBvc3RUeXBlICE9PSAnd3Bwcl9yZXZpZXcnICYmIFt3cC5lbGVtZW50LmNyZWF0ZUVsZW1lbnQoVGV4dENvbnRyb2wsIHtcblx0XHRcdFx0XHRcdFx0bGFiZWw6IF9fKCdQcm9kdWN0IE5hbWUnKSxcblx0XHRcdFx0XHRcdFx0dHlwZTogJ3RleHQnLFxuXHRcdFx0XHRcdFx0XHR2YWx1ZTogdGhpcy5zdGF0ZS5jd3BfcmV2X3Byb2R1Y3RfbmFtZSxcblx0XHRcdFx0XHRcdFx0b25DaGFuZ2U6IHRoaXMub25DaGFuZ2VSZXZpZXdUaXRsZVxuXHRcdFx0XHRcdFx0fSldLFxuXHRcdFx0XHRcdFx0d3AuZWxlbWVudC5jcmVhdGVFbGVtZW50KFxuXHRcdFx0XHRcdFx0XHQnZGl2Jyxcblx0XHRcdFx0XHRcdFx0eyBjbGFzc05hbWU6ICd3cC1wcm9kdWN0LXJldmlldy1zaWRlYmFyLWJhc2UtY29udHJvbCcgfSxcblx0XHRcdFx0XHRcdFx0d3AuZWxlbWVudC5jcmVhdGVFbGVtZW50KFxuXHRcdFx0XHRcdFx0XHRcdCdsYWJlbCcsXG5cdFx0XHRcdFx0XHRcdFx0eyBjbGFzc05hbWU6ICdibG9ja3MtYmFzZS1jb250cm9sX19sYWJlbCcsICdmb3InOiAnaW5zcGVjdG9yLW1lZGlhLXVwbG9hZCcgfSxcblx0XHRcdFx0XHRcdFx0XHRfXygnUHJvZHVjdCBJbWFnZScpXG5cdFx0XHRcdFx0XHRcdCksXG5cdFx0XHRcdFx0XHRcdHdwLmVsZW1lbnQuY3JlYXRlRWxlbWVudChNZWRpYVVwbG9hZCwge1xuXHRcdFx0XHRcdFx0XHRcdHR5cGU6ICdpbWFnZScsXG5cdFx0XHRcdFx0XHRcdFx0aWQ6ICdpbnNwZWN0b3ItbWVkaWEtdXBsb2FkJyxcblx0XHRcdFx0XHRcdFx0XHR2YWx1ZTogdGhpcy5zdGF0ZS5jd3BfcmV2X3Byb2R1Y3RfaW1hZ2UsXG5cdFx0XHRcdFx0XHRcdFx0b25TZWxlY3Q6IHRoaXMub25DaGFuZ2VSZXZpZXdJbWFnZSxcblx0XHRcdFx0XHRcdFx0XHRyZW5kZXI6IGZ1bmN0aW9uIHJlbmRlcihfcmVmMikge1xuXHRcdFx0XHRcdFx0XHRcdFx0dmFyIG9wZW4gPSBfcmVmMi5vcGVuO1xuXHRcdFx0XHRcdFx0XHRcdFx0cmV0dXJuIFtfdGhpczIuc3RhdGUuY3dwX3Jldl9wcm9kdWN0X2ltYWdlICE9PSAnJyAmJiBbd3AuZWxlbWVudC5jcmVhdGVFbGVtZW50KCdpbWcnLCB7XG5cdFx0XHRcdFx0XHRcdFx0XHRcdG9uQ2xpY2s6IG9wZW4sXG5cdFx0XHRcdFx0XHRcdFx0XHRcdHNyYzogX3RoaXMyLnN0YXRlLmN3cF9yZXZfcHJvZHVjdF9pbWFnZSxcblx0XHRcdFx0XHRcdFx0XHRcdFx0YWx0OiBfXygnUmV2aWV3IGltYWdlJylcblx0XHRcdFx0XHRcdFx0XHRcdH0pLCB3cC5lbGVtZW50LmNyZWF0ZUVsZW1lbnQoXG5cdFx0XHRcdFx0XHRcdFx0XHRcdEJ1dHRvbixcblx0XHRcdFx0XHRcdFx0XHRcdFx0e1xuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdGlzTGFyZ2U6IHRydWUsXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0b25DbGljazogZnVuY3Rpb24gb25DbGljaygpIHtcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdHJldHVybiBfdGhpczIuc2V0U3RhdGUoeyBjd3BfcmV2X3Byb2R1Y3RfaW1hZ2U6ICcnIH0pO1xuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdH0sXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0c3R5bGU6IHsgbWFyZ2luVG9wOiAnMTBweCcgfVxuXHRcdFx0XHRcdFx0XHRcdFx0XHR9LFxuXHRcdFx0XHRcdFx0XHRcdFx0XHRfXygnUmVtb3ZlIEltYWdlJylcblx0XHRcdFx0XHRcdFx0XHRcdCldLCB3cC5lbGVtZW50LmNyZWF0ZUVsZW1lbnQoXG5cdFx0XHRcdFx0XHRcdFx0XHRcdEJ1dHRvbixcblx0XHRcdFx0XHRcdFx0XHRcdFx0e1xuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdGlzTGFyZ2U6IHRydWUsXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0b25DbGljazogb3Blbixcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRzdHlsZTogeyBtYXJnaW5Ub3A6ICcxMHB4JyB9LFxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdGNsYXNzTmFtZTogX3RoaXMyLnN0YXRlLmN3cF9yZXZfcHJvZHVjdF9pbWFnZSA9PT0gJycgJiYgJ3dwcHJfaW1hZ2VfdXBsb2FkJ1xuXHRcdFx0XHRcdFx0XHRcdFx0XHR9LFxuXHRcdFx0XHRcdFx0XHRcdFx0XHRfXygnQ2hvb3NlIG9yIFVwbG9hZCBhbiBJbWFnZScpXG5cdFx0XHRcdFx0XHRcdFx0XHQpXTtcblx0XHRcdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0XHRcdH0pXG5cdFx0XHRcdFx0XHQpLFxuXHRcdFx0XHRcdFx0d3AuZWxlbWVudC5jcmVhdGVFbGVtZW50KFNlbGVjdENvbnRyb2wsIHtcblx0XHRcdFx0XHRcdFx0bGFiZWw6IF9fKCdQcm9kdWN0IEltYWdlIENsaWNrJyksXG5cdFx0XHRcdFx0XHRcdHZhbHVlOiB0aGlzLnN0YXRlLmN3cF9pbWFnZV9saW5rLFxuXHRcdFx0XHRcdFx0XHRvcHRpb25zOiBbe1xuXHRcdFx0XHRcdFx0XHRcdGxhYmVsOiBfXygnU2hvdyBXaG9sZSBJbWFnZScpLFxuXHRcdFx0XHRcdFx0XHRcdHZhbHVlOiAnaW1hZ2UnXG5cdFx0XHRcdFx0XHRcdH0sIHtcblx0XHRcdFx0XHRcdFx0XHRsYWJlbDogX18oJ09wZW4gQWZmaWxpYXRlIExpbmsnKSxcblx0XHRcdFx0XHRcdFx0XHR2YWx1ZTogJ2xpbmsnXG5cdFx0XHRcdFx0XHRcdH1dLFxuXHRcdFx0XHRcdFx0XHRvbkNoYW5nZTogdGhpcy5vbkNoYW5nZUltYWdlTGlua1xuXHRcdFx0XHRcdFx0fSksXG5cdFx0XHRcdFx0XHR3cC5lbGVtZW50LmNyZWF0ZUVsZW1lbnQoXG5cdFx0XHRcdFx0XHRcdCdkaXYnLFxuXHRcdFx0XHRcdFx0XHR7IGNsYXNzTmFtZTogJ3dwcHItcmV2aWV3LWxpbmtzLWxpc3QnIH0sXG5cdFx0XHRcdFx0XHRcdF9PYmplY3Qka2V5cyh0aGlzLnN0YXRlLndwcHJfbGlua3MpLm1hcChmdW5jdGlvbiAoa2V5KSB7XG5cdFx0XHRcdFx0XHRcdFx0cmV0dXJuIHdwLmVsZW1lbnQuY3JlYXRlRWxlbWVudChcblx0XHRcdFx0XHRcdFx0XHRcdEZyYWdtZW50LFxuXHRcdFx0XHRcdFx0XHRcdFx0bnVsbCxcblx0XHRcdFx0XHRcdFx0XHRcdHdwLmVsZW1lbnQuY3JlYXRlRWxlbWVudChUZXh0Q29udHJvbCwge1xuXHRcdFx0XHRcdFx0XHRcdFx0XHRsYWJlbDogX18oJ0FmZmlsaWF0ZSBCdXR0b24gVGV4dCcpLFxuXHRcdFx0XHRcdFx0XHRcdFx0XHR0eXBlOiAndGV4dCcsXG5cdFx0XHRcdFx0XHRcdFx0XHRcdHZhbHVlOiBrZXkgIT0gMSA/IGtleSA6ICcnLFxuXHRcdFx0XHRcdFx0XHRcdFx0XHRvbkNoYW5nZTogZnVuY3Rpb24gb25DaGFuZ2UoZSkge1xuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdHJldHVybiBfdGhpczIub25DaGFuZ2VSZXZpZXdBZmZpbGlhdGVUaXRsZShlLCBrZXkpO1xuXHRcdFx0XHRcdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0XHRcdFx0XHR9KSxcblx0XHRcdFx0XHRcdFx0XHRcdHdwLmVsZW1lbnQuY3JlYXRlRWxlbWVudChUZXh0Q29udHJvbCwge1xuXHRcdFx0XHRcdFx0XHRcdFx0XHRsYWJlbDogX18oJ0FmZmlsaWF0ZSBCdXR0b24gTGluaycpLFxuXHRcdFx0XHRcdFx0XHRcdFx0XHR0eXBlOiAndXJsJyxcblx0XHRcdFx0XHRcdFx0XHRcdFx0dmFsdWU6IF90aGlzMi5zdGF0ZS53cHByX2xpbmtzW2tleV0sXG5cdFx0XHRcdFx0XHRcdFx0XHRcdG9uQ2hhbmdlOiBmdW5jdGlvbiBvbkNoYW5nZShlKSB7XG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0cmV0dXJuIF90aGlzMi5vbkNoYW5nZVJldmlld0FmZmlsaWF0ZUxpbmsoZSwga2V5KTtcblx0XHRcdFx0XHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdFx0XHRcdFx0fSlcblx0XHRcdFx0XHRcdFx0XHQpO1xuXHRcdFx0XHRcdFx0XHR9KSxcblx0XHRcdFx0XHRcdFx0X09iamVjdCRrZXlzKHRoaXMuc3RhdGUud3Bwcl9saW5rcykubGVuZ3RoIDwgMiAmJiB3cC5lbGVtZW50LmNyZWF0ZUVsZW1lbnQoXG5cdFx0XHRcdFx0XHRcdFx0QnV0dG9uLFxuXHRcdFx0XHRcdFx0XHRcdHtcblx0XHRcdFx0XHRcdFx0XHRcdGlzTGFyZ2U6IHRydWUsXG5cdFx0XHRcdFx0XHRcdFx0XHRvbkNsaWNrOiB0aGlzLmFkZEJ1dHRvblxuXHRcdFx0XHRcdFx0XHRcdH0sXG5cdFx0XHRcdFx0XHRcdFx0X18oJ0FkZCBhbm90aGVyIGJ1dHRvbicpXG5cdFx0XHRcdFx0XHRcdClcblx0XHRcdFx0XHRcdCksXG5cdFx0XHRcdFx0XHR3cC5lbGVtZW50LmNyZWF0ZUVsZW1lbnQoVGV4dENvbnRyb2wsIHtcblx0XHRcdFx0XHRcdFx0bGFiZWw6IF9fKCdQcm9kdWN0IFByaWNlJyksXG5cdFx0XHRcdFx0XHRcdHR5cGU6ICd0ZXh0Jyxcblx0XHRcdFx0XHRcdFx0dmFsdWU6IHRoaXMuc3RhdGUuY3dwX3Jldl9wcmljZSxcblx0XHRcdFx0XHRcdFx0b25DaGFuZ2U6IHRoaXMub25DaGFuZ2VSZXZpZXdQcmljZVxuXHRcdFx0XHRcdFx0fSlcblx0XHRcdFx0XHQpLFxuXHRcdFx0XHRcdHdwLmVsZW1lbnQuY3JlYXRlRWxlbWVudChcblx0XHRcdFx0XHRcdFBhbmVsQm9keSxcblx0XHRcdFx0XHRcdHtcblx0XHRcdFx0XHRcdFx0dGl0bGU6IF9fKCdQcm9kdWN0IE9wdGlvbnMnKSxcblx0XHRcdFx0XHRcdFx0Y2xhc3NOYW1lOiAnd3AtcHJvZHVjdC1yZXZpZXctcHJvZHVjdC1vcHRpb25zJyxcblx0XHRcdFx0XHRcdFx0aW5pdGlhbE9wZW46IGZhbHNlXG5cdFx0XHRcdFx0XHR9LFxuXHRcdFx0XHRcdFx0d3AuZWxlbWVudC5jcmVhdGVFbGVtZW50KFxuXHRcdFx0XHRcdFx0XHQnZGl2Jyxcblx0XHRcdFx0XHRcdFx0eyBjbGFzc05hbWU6ICd3cHByLXJldmlldy1vcHRpb25zLWxpc3QnIH0sXG5cdFx0XHRcdFx0XHRcdF9PYmplY3Qka2V5cyh0aGlzLnN0YXRlLndwcHJfb3B0aW9ucykubWFwKGZ1bmN0aW9uIChrZXkpIHtcblx0XHRcdFx0XHRcdFx0XHRyZXR1cm4gd3AuZWxlbWVudC5jcmVhdGVFbGVtZW50KFxuXHRcdFx0XHRcdFx0XHRcdFx0J2RpdicsXG5cdFx0XHRcdFx0XHRcdFx0XHR7IGNsYXNzTmFtZTogJ3dwcHItcmV2aWV3LW9wdGlvbnMtaXRlbScgfSxcblx0XHRcdFx0XHRcdFx0XHRcdHdwLmVsZW1lbnQuY3JlYXRlRWxlbWVudChcblx0XHRcdFx0XHRcdFx0XHRcdFx0J2xhYmVsJyxcblx0XHRcdFx0XHRcdFx0XHRcdFx0eyAnZm9yJzogJ3dwcHItb3B0aW9uLWl0ZW0tJyArIGtleSB9LFxuXHRcdFx0XHRcdFx0XHRcdFx0XHRrZXlcblx0XHRcdFx0XHRcdFx0XHRcdCksXG5cdFx0XHRcdFx0XHRcdFx0XHR3cC5lbGVtZW50LmNyZWF0ZUVsZW1lbnQoVGV4dENvbnRyb2wsIHtcblx0XHRcdFx0XHRcdFx0XHRcdFx0dHlwZTogJ3RleHQnLFxuXHRcdFx0XHRcdFx0XHRcdFx0XHRpZDogJ3dwcHItb3B0aW9uLWl0ZW0tJyArIGtleSxcblx0XHRcdFx0XHRcdFx0XHRcdFx0Y2xhc3NOYW1lOiAnd3Bwci10ZXh0Jyxcblx0XHRcdFx0XHRcdFx0XHRcdFx0cGxhY2Vob2xkZXI6IF9fKCdPcHRpb24nKSxcblx0XHRcdFx0XHRcdFx0XHRcdFx0dmFsdWU6IF90aGlzMi5zdGF0ZS53cHByX29wdGlvbnNba2V5XS5uYW1lLFxuXHRcdFx0XHRcdFx0XHRcdFx0XHRvbkNoYW5nZTogZnVuY3Rpb24gb25DaGFuZ2UoZSkge1xuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdHJldHVybiBfdGhpczIub25DaGFuZ2VPcHRpb25UZXh0KGUsIGtleSk7XG5cdFx0XHRcdFx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHRcdFx0XHRcdH0pLFxuXHRcdFx0XHRcdFx0XHRcdFx0d3AuZWxlbWVudC5jcmVhdGVFbGVtZW50KFRleHRDb250cm9sLCB7XG5cdFx0XHRcdFx0XHRcdFx0XHRcdHR5cGU6ICdudW1iZXInLFxuXHRcdFx0XHRcdFx0XHRcdFx0XHRjbGFzc05hbWU6ICd3cHByLXRleHQgd3Bwci1vcHRpb24tbnVtYmVyJyxcblx0XHRcdFx0XHRcdFx0XHRcdFx0cGxhY2Vob2xkZXI6IF9fKCcwJyksXG5cdFx0XHRcdFx0XHRcdFx0XHRcdG1pbjogMCxcblx0XHRcdFx0XHRcdFx0XHRcdFx0bWF4OiAxMDAsXG5cdFx0XHRcdFx0XHRcdFx0XHRcdHZhbHVlOiBfdGhpczIuc3RhdGUud3Bwcl9vcHRpb25zW2tleV0udmFsdWUsXG5cdFx0XHRcdFx0XHRcdFx0XHRcdG9uQ2hhbmdlOiBmdW5jdGlvbiBvbkNoYW5nZShlKSB7XG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0cmV0dXJuIF90aGlzMi5vbkNoYW5nZU9wdGlvbk51bWJlcihlLCBrZXkpO1xuXHRcdFx0XHRcdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0XHRcdFx0XHR9KVxuXHRcdFx0XHRcdFx0XHRcdCk7XG5cdFx0XHRcdFx0XHRcdH0pLFxuXHRcdFx0XHRcdFx0XHRfT2JqZWN0JGtleXModGhpcy5zdGF0ZS53cHByX29wdGlvbnMpLmxlbmd0aCA8IHdwcHJndXRlbi5sZW5ndGggJiYgd3AuZWxlbWVudC5jcmVhdGVFbGVtZW50KFxuXHRcdFx0XHRcdFx0XHRcdEJ1dHRvbixcblx0XHRcdFx0XHRcdFx0XHR7XG5cdFx0XHRcdFx0XHRcdFx0XHRpc0xhcmdlOiB0cnVlLFxuXHRcdFx0XHRcdFx0XHRcdFx0b25DbGljazogdGhpcy5hZGRPcHRpb25cblx0XHRcdFx0XHRcdFx0XHR9LFxuXHRcdFx0XHRcdFx0XHRcdF9fKCdBZGQgYW5vdGhlciBvcHRpb24nKVxuXHRcdFx0XHRcdFx0XHQpXG5cdFx0XHRcdFx0XHQpXG5cdFx0XHRcdFx0KSxcblx0XHRcdFx0XHR3cC5lbGVtZW50LmNyZWF0ZUVsZW1lbnQoXG5cdFx0XHRcdFx0XHRQYW5lbEJvZHksXG5cdFx0XHRcdFx0XHR7XG5cdFx0XHRcdFx0XHRcdHRpdGxlOiBfXygnUHJvIEZlYXR1cmVzJyksXG5cdFx0XHRcdFx0XHRcdGNsYXNzTmFtZTogJ3dwLXByb2R1Y3QtcmV2aWV3LXByb2R1Y3QtcHJvcycsXG5cdFx0XHRcdFx0XHRcdGluaXRpYWxPcGVuOiBmYWxzZVxuXHRcdFx0XHRcdFx0fSxcblx0XHRcdFx0XHRcdHdwLmVsZW1lbnQuY3JlYXRlRWxlbWVudChcblx0XHRcdFx0XHRcdFx0J2RpdicsXG5cdFx0XHRcdFx0XHRcdHsgY2xhc3NOYW1lOiAnd3Bwci1yZXZpZXctcHJvLWxpc3QnIH0sXG5cdFx0XHRcdFx0XHRcdF9PYmplY3Qka2V5cyh0aGlzLnN0YXRlLndwcHJfcHJvcykubWFwKGZ1bmN0aW9uIChrZXkpIHtcblx0XHRcdFx0XHRcdFx0XHRyZXR1cm4gd3AuZWxlbWVudC5jcmVhdGVFbGVtZW50KFxuXHRcdFx0XHRcdFx0XHRcdFx0J2RpdicsXG5cdFx0XHRcdFx0XHRcdFx0XHR7IGNsYXNzTmFtZTogJ3dwcHItcmV2aWV3LXByby1pdGVtJyB9LFxuXHRcdFx0XHRcdFx0XHRcdFx0d3AuZWxlbWVudC5jcmVhdGVFbGVtZW50KFxuXHRcdFx0XHRcdFx0XHRcdFx0XHQnbGFiZWwnLFxuXHRcdFx0XHRcdFx0XHRcdFx0XHR7ICdmb3InOiAnd3Bwci1wcm8taXRlbS0nICsga2V5IH0sXG5cdFx0XHRcdFx0XHRcdFx0XHRcdHBhcnNlSW50KGtleSkgKyAxXG5cdFx0XHRcdFx0XHRcdFx0XHQpLFxuXHRcdFx0XHRcdFx0XHRcdFx0d3AuZWxlbWVudC5jcmVhdGVFbGVtZW50KFRleHRDb250cm9sLCB7XG5cdFx0XHRcdFx0XHRcdFx0XHRcdHR5cGU6ICd0ZXh0Jyxcblx0XHRcdFx0XHRcdFx0XHRcdFx0aWQ6ICd3cHByLXByby1pdGVtLScgKyBrZXksXG5cdFx0XHRcdFx0XHRcdFx0XHRcdGNsYXNzTmFtZTogJ3dwcHItdGV4dCcsXG5cdFx0XHRcdFx0XHRcdFx0XHRcdHBsYWNlaG9sZGVyOiBfXygnT3B0aW9uJyksXG5cdFx0XHRcdFx0XHRcdFx0XHRcdHZhbHVlOiBfdGhpczIuc3RhdGUud3Bwcl9wcm9zW2tleV0sXG5cdFx0XHRcdFx0XHRcdFx0XHRcdG9uQ2hhbmdlOiBmdW5jdGlvbiBvbkNoYW5nZShlKSB7XG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0cmV0dXJuIF90aGlzMi5vbkNoYW5nZVByb1RleHQoZSwga2V5KTtcblx0XHRcdFx0XHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdFx0XHRcdFx0fSlcblx0XHRcdFx0XHRcdFx0XHQpO1xuXHRcdFx0XHRcdFx0XHR9KSxcblx0XHRcdFx0XHRcdFx0X09iamVjdCRrZXlzKHRoaXMuc3RhdGUud3Bwcl9wcm9zKS5sZW5ndGggPCB3cHByZ3V0ZW4ubGVuZ3RoICYmIHdwLmVsZW1lbnQuY3JlYXRlRWxlbWVudChcblx0XHRcdFx0XHRcdFx0XHRCdXR0b24sXG5cdFx0XHRcdFx0XHRcdFx0e1xuXHRcdFx0XHRcdFx0XHRcdFx0aXNMYXJnZTogdHJ1ZSxcblx0XHRcdFx0XHRcdFx0XHRcdG9uQ2xpY2s6IHRoaXMuYWRkUHJvXG5cdFx0XHRcdFx0XHRcdFx0fSxcblx0XHRcdFx0XHRcdFx0XHRfXygnQWRkIGFub3RoZXIgb3B0aW9uJylcblx0XHRcdFx0XHRcdFx0KVxuXHRcdFx0XHRcdFx0KVxuXHRcdFx0XHRcdCksXG5cdFx0XHRcdFx0d3AuZWxlbWVudC5jcmVhdGVFbGVtZW50KFxuXHRcdFx0XHRcdFx0UGFuZWxCb2R5LFxuXHRcdFx0XHRcdFx0e1xuXHRcdFx0XHRcdFx0XHR0aXRsZTogX18oJ0NvbiBGZWF0dXJlcycpLFxuXHRcdFx0XHRcdFx0XHRjbGFzc05hbWU6ICd3cC1wcm9kdWN0LXJldmlldy1wcm9kdWN0LWNvbnMnLFxuXHRcdFx0XHRcdFx0XHRpbml0aWFsT3BlbjogZmFsc2Vcblx0XHRcdFx0XHRcdH0sXG5cdFx0XHRcdFx0XHR3cC5lbGVtZW50LmNyZWF0ZUVsZW1lbnQoXG5cdFx0XHRcdFx0XHRcdCdkaXYnLFxuXHRcdFx0XHRcdFx0XHR7IGNsYXNzTmFtZTogJ3dwcHItcmV2aWV3LWNvbi1saXN0JyB9LFxuXHRcdFx0XHRcdFx0XHRfT2JqZWN0JGtleXModGhpcy5zdGF0ZS53cHByX2NvbnMpLm1hcChmdW5jdGlvbiAoa2V5KSB7XG5cdFx0XHRcdFx0XHRcdFx0cmV0dXJuIHdwLmVsZW1lbnQuY3JlYXRlRWxlbWVudChcblx0XHRcdFx0XHRcdFx0XHRcdCdkaXYnLFxuXHRcdFx0XHRcdFx0XHRcdFx0eyBjbGFzc05hbWU6ICd3cHByLXJldmlldy1jb24taXRlbScgfSxcblx0XHRcdFx0XHRcdFx0XHRcdHdwLmVsZW1lbnQuY3JlYXRlRWxlbWVudChcblx0XHRcdFx0XHRcdFx0XHRcdFx0J2xhYmVsJyxcblx0XHRcdFx0XHRcdFx0XHRcdFx0eyAnZm9yJzogJ3dwcHItY29uLWl0ZW0tJyArIGtleSB9LFxuXHRcdFx0XHRcdFx0XHRcdFx0XHRwYXJzZUludChrZXkpICsgMVxuXHRcdFx0XHRcdFx0XHRcdFx0KSxcblx0XHRcdFx0XHRcdFx0XHRcdHdwLmVsZW1lbnQuY3JlYXRlRWxlbWVudChUZXh0Q29udHJvbCwge1xuXHRcdFx0XHRcdFx0XHRcdFx0XHR0eXBlOiAndGV4dCcsXG5cdFx0XHRcdFx0XHRcdFx0XHRcdGlkOiAnd3Bwci1jb24taXRlbS0nICsga2V5LFxuXHRcdFx0XHRcdFx0XHRcdFx0XHRjbGFzc05hbWU6ICd3cHByLXRleHQnLFxuXHRcdFx0XHRcdFx0XHRcdFx0XHRwbGFjZWhvbGRlcjogX18oJ09wdGlvbicpLFxuXHRcdFx0XHRcdFx0XHRcdFx0XHR2YWx1ZTogX3RoaXMyLnN0YXRlLndwcHJfY29uc1trZXldLFxuXHRcdFx0XHRcdFx0XHRcdFx0XHRvbkNoYW5nZTogZnVuY3Rpb24gb25DaGFuZ2UoZSkge1xuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdHJldHVybiBfdGhpczIub25DaGFuZ2VDb25UZXh0KGUsIGtleSk7XG5cdFx0XHRcdFx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHRcdFx0XHRcdH0pXG5cdFx0XHRcdFx0XHRcdFx0KTtcblx0XHRcdFx0XHRcdFx0fSksXG5cdFx0XHRcdFx0XHRcdF9PYmplY3Qka2V5cyh0aGlzLnN0YXRlLndwcHJfY29ucykubGVuZ3RoIDwgd3Bwcmd1dGVuLmxlbmd0aCAmJiB3cC5lbGVtZW50LmNyZWF0ZUVsZW1lbnQoXG5cdFx0XHRcdFx0XHRcdFx0QnV0dG9uLFxuXHRcdFx0XHRcdFx0XHRcdHtcblx0XHRcdFx0XHRcdFx0XHRcdGlzTGFyZ2U6IHRydWUsXG5cdFx0XHRcdFx0XHRcdFx0XHRvbkNsaWNrOiB0aGlzLmFkZENvblxuXHRcdFx0XHRcdFx0XHRcdH0sXG5cdFx0XHRcdFx0XHRcdFx0X18oJ0FkZCBhbm90aGVyIG9wdGlvbicpXG5cdFx0XHRcdFx0XHRcdClcblx0XHRcdFx0XHRcdClcblx0XHRcdFx0XHQpLFxuXHRcdFx0XHRcdHdwcHJndXRlbi5pc1BybyAmJiB3cC5lbGVtZW50LmNyZWF0ZUVsZW1lbnQoXG5cdFx0XHRcdFx0XHQnZGl2Jyxcblx0XHRcdFx0XHRcdHsgY2xhc3NOYW1lOiAnd3Bwci1yZXZpZXctaW1wb3J0LXJldmlldy1idXR0b24nIH0sXG5cdFx0XHRcdFx0XHR3cC5lbGVtZW50LmNyZWF0ZUVsZW1lbnQoXG5cdFx0XHRcdFx0XHRcdEJ1dHRvbixcblx0XHRcdFx0XHRcdFx0e1xuXHRcdFx0XHRcdFx0XHRcdGlzTGFyZ2U6IHRydWUsXG5cdFx0XHRcdFx0XHRcdFx0aXNQcmltYXJ5OiB0cnVlLFxuXHRcdFx0XHRcdFx0XHRcdG9uQ2xpY2s6IGZ1bmN0aW9uIG9uQ2xpY2soKSB7XG5cdFx0XHRcdFx0XHRcdFx0XHRyZXR1cm4gX3RoaXMyLnByb3BzLnNldFN0YXRlKHsgaXNPcGVuOiB0cnVlIH0pO1xuXHRcdFx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHRcdFx0fSxcblx0XHRcdFx0XHRcdFx0X18oJ0ltcG9ydCBSZXZpZXcnKVxuXHRcdFx0XHRcdFx0KSxcblx0XHRcdFx0XHRcdHRoaXMucHJvcHMuaXNPcGVuID8gd3AuZWxlbWVudC5jcmVhdGVFbGVtZW50KFxuXHRcdFx0XHRcdFx0XHRNb2RhbCxcblx0XHRcdFx0XHRcdFx0e1xuXHRcdFx0XHRcdFx0XHRcdHRpdGxlOiBfXygnSW1wb3J0IFJldmlldycpLFxuXHRcdFx0XHRcdFx0XHRcdGNsYXNzTmFtZTogJ3dwcHItcmV2aWV3LWltcG9ydC1tb2RhbCcsXG5cdFx0XHRcdFx0XHRcdFx0b25SZXF1ZXN0Q2xvc2U6IGZ1bmN0aW9uIG9uUmVxdWVzdENsb3NlKCkge1xuXHRcdFx0XHRcdFx0XHRcdFx0cmV0dXJuIF90aGlzMi5wcm9wcy5zZXRTdGF0ZSh7IGlzT3BlbjogZmFsc2UgfSk7XG5cdFx0XHRcdFx0XHRcdFx0fSB9LFxuXHRcdFx0XHRcdFx0XHR0aGlzLnByb3BzLnBvc3RzICYmIF9PYmplY3Qka2V5cyh0aGlzLnByb3BzLnBvc3RzKS5tYXAoZnVuY3Rpb24gKGtleSkge1xuXHRcdFx0XHRcdFx0XHRcdHJldHVybiB3cC5lbGVtZW50LmNyZWF0ZUVsZW1lbnQoXG5cdFx0XHRcdFx0XHRcdFx0XHRQYW5lbEJvZHksXG5cdFx0XHRcdFx0XHRcdFx0XHR7XG5cdFx0XHRcdFx0XHRcdFx0XHRcdHRpdGxlOiBfdGhpczIucHJvcHMucG9zdHNba2V5XS50aXRsZS5yYXcsXG5cdFx0XHRcdFx0XHRcdFx0XHRcdGluaXRpYWxPcGVuOiBmYWxzZVxuXHRcdFx0XHRcdFx0XHRcdFx0fSxcblx0XHRcdFx0XHRcdFx0XHRcdHdwLmVsZW1lbnQuY3JlYXRlRWxlbWVudChcblx0XHRcdFx0XHRcdFx0XHRcdFx0J2RpdicsXG5cdFx0XHRcdFx0XHRcdFx0XHRcdHsgY2xhc3NOYW1lOiAnY3dwX3BpdGVtX2luZm8nIH0sXG5cdFx0XHRcdFx0XHRcdFx0XHRcdHdwLmVsZW1lbnQuY3JlYXRlRWxlbWVudChcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHQndWwnLFxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdHsgJ2NsYXNzJzogJ2N3cF9waXRlbV9vcHRpb25zX2NvbnRlbnQnIH0sXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0d3AuZWxlbWVudC5jcmVhdGVFbGVtZW50KFxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0J2g0Jyxcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdG51bGwsXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRfXygnT3B0aW9ucycpXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0KSxcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRfT2JqZWN0JGtleXMoX3RoaXMyLnByb3BzLnBvc3RzW2tleV0ud3Bwcl9kYXRhLndwcHJfb3B0aW9ucykubWFwKGZ1bmN0aW9uIChpKSB7XG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRyZXR1cm4gd3AuZWxlbWVudC5jcmVhdGVFbGVtZW50KFxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHQnbGknLFxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRudWxsLFxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRfdGhpczIucHJvcHMucG9zdHNba2V5XS53cHByX2RhdGEud3Bwcl9vcHRpb25zW2ldLm5hbWVcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdCk7XG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0fSlcblx0XHRcdFx0XHRcdFx0XHRcdFx0KSxcblx0XHRcdFx0XHRcdFx0XHRcdFx0d3AuZWxlbWVudC5jcmVhdGVFbGVtZW50KFxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdCd1bCcsXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0eyAnY2xhc3MnOiAnY3dwX3BpdGVtX29wdGlvbnNfcHJvcycgfSxcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHR3cC5lbGVtZW50LmNyZWF0ZUVsZW1lbnQoXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHQnaDQnLFxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0bnVsbCxcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdF9fKCdQcm9zJylcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHQpLFxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdF9PYmplY3Qka2V5cyhfdGhpczIucHJvcHMucG9zdHNba2V5XS53cHByX2RhdGEud3Bwcl9wcm9zKS5tYXAoZnVuY3Rpb24gKGkpIHtcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdHJldHVybiB3cC5lbGVtZW50LmNyZWF0ZUVsZW1lbnQoXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdCdsaScsXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdG51bGwsXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdF90aGlzMi5wcm9wcy5wb3N0c1trZXldLndwcHJfZGF0YS53cHByX3Byb3NbaV1cblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdCk7XG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0fSlcblx0XHRcdFx0XHRcdFx0XHRcdFx0KSxcblx0XHRcdFx0XHRcdFx0XHRcdFx0d3AuZWxlbWVudC5jcmVhdGVFbGVtZW50KFxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdCd1bCcsXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0eyAnY2xhc3MnOiAnY3dwX3BpdGVtX29wdGlvbnNfY29ucycgfSxcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHR3cC5lbGVtZW50LmNyZWF0ZUVsZW1lbnQoXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHQnaDQnLFxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0bnVsbCxcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdF9fKCdDb25zJylcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHQpLFxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdF9PYmplY3Qka2V5cyhfdGhpczIucHJvcHMucG9zdHNba2V5XS53cHByX2RhdGEud3Bwcl9jb25zKS5tYXAoZnVuY3Rpb24gKGkpIHtcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdHJldHVybiB3cC5lbGVtZW50LmNyZWF0ZUVsZW1lbnQoXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdCdsaScsXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdG51bGwsXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdF90aGlzMi5wcm9wcy5wb3N0c1trZXldLndwcHJfZGF0YS53cHByX2NvbnNbaV1cblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdCk7XG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0fSlcblx0XHRcdFx0XHRcdFx0XHRcdFx0KSxcblx0XHRcdFx0XHRcdFx0XHRcdFx0d3AuZWxlbWVudC5jcmVhdGVFbGVtZW50KFxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdEJ1dHRvbixcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHR7XG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRpc0xhcmdlOiB0cnVlLFxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0b25DbGljazogZnVuY3Rpb24gb25DbGljaygpIHtcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0cmV0dXJuIF90aGlzMi5pbXBvcnRSZXZpZXcoa2V5KTtcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHRcdFx0XHRcdFx0XHR9LFxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdF9fKCdJbXBvcnQgUmV2aWV3Jylcblx0XHRcdFx0XHRcdFx0XHRcdFx0KVxuXHRcdFx0XHRcdFx0XHRcdFx0KVxuXHRcdFx0XHRcdFx0XHRcdCk7XG5cdFx0XHRcdFx0XHRcdH0pXG5cdFx0XHRcdFx0XHQpIDogbnVsbFxuXHRcdFx0XHRcdClcblx0XHRcdFx0KV1cblx0XHRcdCk7XG5cdFx0fVxuXHR9XSwgW3tcblx0XHRrZXk6ICdnZXREZXJpdmVkU3RhdGVGcm9tUHJvcHMnLFxuXHRcdHZhbHVlOiBmdW5jdGlvbiBnZXREZXJpdmVkU3RhdGVGcm9tUHJvcHMobmV4dFByb3BzLCBzdGF0ZSkge1xuXHRcdFx0aWYgKChuZXh0UHJvcHMuaXNQdWJsaXNoaW5nIHx8IG5leHRQcm9wcy5pc1NhdmluZykgJiYgIW5leHRQcm9wcy5pc0F1dG9TYXZpbmcpIHtcblx0XHRcdFx0d3AuYXBpUmVxdWVzdCh7IHBhdGg6ICcvd3AtcHJvZHVjdC1yZXZpZXcvdXBkYXRlLXJldmlldz9pZD0nICsgbmV4dFByb3BzLnBvc3RJZCArICcmcG9zdFR5cGU9JyArIG5leHRQcm9wcy5wb3N0VHlwZSwgbWV0aG9kOiAnUE9TVCcsIGRhdGE6IHN0YXRlIH0pLnRoZW4oZnVuY3Rpb24gKGRhdGEpIHtcblx0XHRcdFx0XHRyZXR1cm4gZGF0YTtcblx0XHRcdFx0fSwgZnVuY3Rpb24gKGVycikge1xuXHRcdFx0XHRcdHJldHVybiBlcnI7XG5cdFx0XHRcdH0pO1xuXHRcdFx0fVxuXHRcdH1cblx0fV0pO1xuXG5cdHJldHVybiBXUF9Qcm9kdWN0X1Jldmlldztcbn0oQ29tcG9uZW50KTtcblxudmFyIFdQUFIgPSBjb21wb3NlKFt3aXRoU2VsZWN0KGZ1bmN0aW9uIChzZWxlY3QsIF9yZWYzKSB7XG5cdHZhciBmb3JjZUlzU2F2aW5nID0gX3JlZjMuZm9yY2VJc1NhdmluZztcblxuXHR2YXIgX3NlbGVjdDIgPSBzZWxlY3QoJ2NvcmUvZWRpdG9yJyksXG5cdCAgICBnZXRDdXJyZW50UG9zdElkID0gX3NlbGVjdDIuZ2V0Q3VycmVudFBvc3RJZCxcblx0ICAgIGlzU2F2aW5nUG9zdCA9IF9zZWxlY3QyLmlzU2F2aW5nUG9zdCxcblx0ICAgIGlzUHVibGlzaGluZ1Bvc3QgPSBfc2VsZWN0Mi5pc1B1Ymxpc2hpbmdQb3N0LFxuXHQgICAgaXNBdXRvc2F2aW5nUG9zdCA9IF9zZWxlY3QyLmlzQXV0b3NhdmluZ1Bvc3QsXG5cdCAgICBnZXRDdXJyZW50UG9zdFR5cGUgPSBfc2VsZWN0Mi5nZXRDdXJyZW50UG9zdFR5cGU7XG5cblx0dmFyIGxhdGVzdFBvc3RzUXVlcnkgPSBwaWNrQnkoe1xuXHRcdHBlcl9wYWdlOiAxMDAsXG5cdFx0bWV0YV9rZXk6ICdjd3BfbWV0YV9ib3hfY2hlY2snLFxuXHRcdG1ldGFfdmFsdWU6ICdZZXMnXG5cdH0sIGZ1bmN0aW9uICh2YWx1ZSkge1xuXHRcdHJldHVybiAhaXNVbmRlZmluZWQodmFsdWUpO1xuXHR9KTtcblx0cmV0dXJuIHtcblx0XHRwb3N0SWQ6IGdldEN1cnJlbnRQb3N0SWQoKSxcblx0XHRwb3N0VHlwZTogZ2V0Q3VycmVudFBvc3RUeXBlKCksXG5cdFx0cG9zdHM6IHNlbGVjdCgnY29yZScpLmdldEVudGl0eVJlY29yZHMoJ3Bvc3RUeXBlJywgJ3Bvc3QnLCBsYXRlc3RQb3N0c1F1ZXJ5KSxcblx0XHRpc1NhdmluZzogZm9yY2VJc1NhdmluZyB8fCBpc1NhdmluZ1Bvc3QoKSxcblx0XHRpc0F1dG9TYXZpbmc6IGlzQXV0b3NhdmluZ1Bvc3QoKSxcblx0XHRpc1B1Ymxpc2hpbmc6IGlzUHVibGlzaGluZ1Bvc3QoKVxuXHR9O1xufSksIHdpdGhTdGF0ZSh7XG5cdGlzT3BlbjogZmFsc2Vcbn0pLCB3aXRoRGlzcGF0Y2goZnVuY3Rpb24gKGRpc3BhdGNoKSB7XG5cdHJldHVybiB7XG5cdFx0b3BlblJldmlld1NpZGViYXI6IGZ1bmN0aW9uIG9wZW5SZXZpZXdTaWRlYmFyKCkge1xuXHRcdFx0cmV0dXJuIGRpc3BhdGNoKCdjb3JlL2VkaXQtcG9zdCcpLm9wZW5HZW5lcmFsU2lkZWJhcignd3AtcHJvZHVjdC1yZXZpZXcvd3AtcHJvZHVjdC1yZXZpZXcnKTtcblx0XHR9LFxuXHRcdGVkaXRQb3N0U3RhdHVzOiBkaXNwYXRjaCgnY29yZS9lZGl0b3InKS5lZGl0UG9zdFxuXHR9O1xufSldKShXUF9Qcm9kdWN0X1Jldmlldyk7XG5cbnJlZ2lzdGVyUGx1Z2luKCd3cC1wcm9kdWN0LXJldmlldycsIHtcblx0aWNvbjogJ3N0YXItZW1wdHknLFxuXHRyZW5kZXI6IFdQUFJcbn0pO1xuXG5cbi8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gV0VCUEFDSyBGT09URVJcbi8vIC4vc3JjL3NpZGViYXIuanNcbi8vIG1vZHVsZSBpZCA9IDU1XG4vLyBtb2R1bGUgY2h1bmtzID0gMCJdLCJtYXBwaW5ncyI6IkFBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EiLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///55\n");
406
 
407
  /***/ }),
408
  /* 56 */
includes/gutenberg/class-wppr-gutenberg.php CHANGED
@@ -29,7 +29,7 @@ class WPPR_Gutenberg {
29
  * Returns an instance of this class.
30
  */
31
  public static function get_instance() {
32
- if ( null == self::$instance ) {
33
  self::$instance = new WPPR_Gutenberg();
34
  }
35
  return self::$instance;
@@ -128,8 +128,15 @@ class WPPR_Gutenberg {
128
  $pros = isset( $data['wppr_pros'] ) ? $data['wppr_pros'] : array();
129
  $cons = isset( $data['wppr_cons'] ) ? $data['wppr_cons'] : array();
130
 
 
 
 
 
 
 
131
  foreach ( $options as $key => $option ) {
132
- if ( $option['name'] == '' && $option['value'] == 0 ) {
 
133
  unset( $options[ $key ] );
134
  }
135
  }
@@ -146,6 +153,8 @@ class WPPR_Gutenberg {
146
  } else {
147
  $review->deactivate();
148
  }
 
 
149
  }
150
  }
151
 
29
  * Returns an instance of this class.
30
  */
31
  public static function get_instance() {
32
+ if ( null === self::$instance ) {
33
  self::$instance = new WPPR_Gutenberg();
34
  }
35
  return self::$instance;
128
  $pros = isset( $data['wppr_pros'] ) ? $data['wppr_pros'] : array();
129
  $cons = isset( $data['wppr_cons'] ) ? $data['wppr_cons'] : array();
130
 
131
+ foreach ( $affiliates as $key => $option ) {
132
+ if ( $option === '' ) {
133
+ unset( $affiliates[ $key ] );
134
+ }
135
+ }
136
+
137
  foreach ( $options as $key => $option ) {
138
+ // phpcs:ignore WordPress.PHP.StrictComparisons.LooseComparison
139
+ if ( $option['name'] === '' && $option['value'] == 0 ) {
140
  unset( $options[ $key ] );
141
  }
142
  }
153
  } else {
154
  $review->deactivate();
155
  }
156
+
157
+ return new \WP_REST_Response( array( 'message' => __( 'Review updated.', 'wp-product-review' ) ), 200 );
158
  }
159
  }
160
 
includes/gutenberg/package.json DELETED
@@ -1,35 +0,0 @@
1
- {
2
- "name": "wp-product-review-gutenberg-block",
3
- "scripts": {
4
- "dev": "cross-env BABEL_ENV=default webpack --watch",
5
- "build": "cross-env BABEL_ENV=default NODE_ENV=production webpack"
6
- },
7
- "main": "src/sidebar.js",
8
- "devDependencies": {
9
- "babel-core": "^6.25.0",
10
- "babel-eslint": "^8.1.2",
11
- "babel-loader": "^7.1.1",
12
- "babel-plugin-transform-async-to-generator": "^6.24.1",
13
- "babel-plugin-transform-object-rest-spread": "^6.26.0",
14
- "babel-plugin-transform-react-jsx": "^6.24.1",
15
- "babel-plugin-transform-runtime": "^6.23.0",
16
- "babel-preset-env": "^1.6.1",
17
- "browser-sync": "^2.18.13",
18
- "browser-sync-webpack-plugin": "^1.2.0",
19
- "cross-env": "^5.1.1",
20
- "css-loader": "^0.28.7",
21
- "eslint": "^4.14.0",
22
- "eslint-config-prettier": "^2.9.0",
23
- "eslint-config-wordpress": "^2.0.0",
24
- "eslint-plugin-prettier": "^2.4.0",
25
- "extract-text-webpack-plugin": "^3.0.2",
26
- "node-sass": "^4.7.2",
27
- "postcss-loader": "^2.0.9",
28
- "raw-loader": "^0.5.1",
29
- "sass-loader": "^6.0.6",
30
- "style-loader": "^0.19.1",
31
- "webpack": "^3.10.0"
32
- },
33
- "version": "1.0.0",
34
- "license": "MIT"
35
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
includes/gutenberg/src/sidebar.js CHANGED
@@ -103,6 +103,9 @@ class WP_Product_Review extends Component {
103
  const post = await select( 'core' ).getEntityRecord( 'postType', getCurrentPostType(), getCurrentPostId() );
104
 
105
  if ( undefined !== post && post.wppr_data ) {
 
 
 
106
  this.setState( { ...post.wppr_data } );
107
  }
108
  }
@@ -360,20 +363,23 @@ class WP_Product_Review extends Component {
360
  onChange={ this.onChangeImageLink }
361
  />
362
  <div className="wppr-review-links-list">
363
- { Object.keys( this.state.wppr_links ).map( ( key ) => [
364
- <TextControl
365
- label={ __( 'Affiliate Button Text' ) }
366
- type="text"
367
- value={ key }
368
- onChange={ ( e ) => this.onChangeReviewAffiliateTitle( e, key ) }
369
- />,
370
- <TextControl
371
- label={ __( 'Affiliate Button Link' ) }
372
- type="url"
373
- value={ this.state.wppr_links[key] }
374
- onChange={ ( e ) => this.onChangeReviewAffiliateLink( e, key ) }
375
- />
376
- ] ) }
 
 
 
377
  { ( Object.keys( this.state.wppr_links ).length < 2 ) && (
378
  <Button
379
  isLarge
103
  const post = await select( 'core' ).getEntityRecord( 'postType', getCurrentPostType(), getCurrentPostId() );
104
 
105
  if ( undefined !== post && post.wppr_data ) {
106
+ if ( post.wppr_data.wppr_links && post.wppr_data.wppr_links.length < 1 ) {
107
+ post.wppr_data.wppr_links[''] = '';
108
+ }
109
  this.setState( { ...post.wppr_data } );
110
  }
111
  }
363
  onChange={ this.onChangeImageLink }
364
  />
365
  <div className="wppr-review-links-list">
366
+ { Object.keys( this.state.wppr_links ).map( ( key ) => (
367
+ <Fragment>
368
+ <TextControl
369
+ label={ __( 'Affiliate Button Text' ) }
370
+ type="text"
371
+ value={ key != 1 ? key : '' }
372
+ onChange={ ( e ) => this.onChangeReviewAffiliateTitle( e, key ) }
373
+ />
374
+
375
+ <TextControl
376
+ label={ __( 'Affiliate Button Link' ) }
377
+ type="url"
378
+ value={ this.state.wppr_links[key] }
379
+ onChange={ ( e ) => this.onChangeReviewAffiliateLink( e, key ) }
380
+ />
381
+ </Fragment>
382
+ ) ) }
383
  { ( Object.keys( this.state.wppr_links ).length < 2 ) && (
384
  <Button
385
  isLarge
includes/public/class-wppr-public.php CHANGED
@@ -99,12 +99,12 @@ class Wppr_Public {
99
  return;
100
  }
101
 
102
- if ( $review->wppr_get_option( 'cwppos_lighbox' ) == 'no' ) {
103
  wp_enqueue_script( $this->plugin_name . '-lightbox-js', WPPR_URL . '/assets/js/lightbox.min.js', array( 'jquery' ), $this->version, true );
104
  wp_enqueue_style( $this->plugin_name . '-lightbox-css', WPPR_URL . '/assets/css/lightbox.css', array(), $this->version );
105
  }
106
 
107
- if ( $review->wppr_get_option( 'cwppos_show_userreview' ) == 'yes' ) {
108
  wp_enqueue_script( 'jquery-ui-slider' );
109
  wp_enqueue_script( 'jquery-touch-punch' );
110
  wp_enqueue_script(
@@ -119,15 +119,6 @@ class Wppr_Public {
119
  wp_enqueue_style( $this->plugin_name . 'jqueryui', WPPR_URL . '/assets/css/jquery-ui.css', array(), $this->version );
120
  wp_enqueue_style( $this->plugin_name . 'comments', WPPR_URL . '/assets/css/comments.css', array(), $this->version );
121
  }
122
- $icon = $review->wppr_get_option( 'cwppos_change_bar_icon' );
123
-
124
- if ( 'default' !== $review->get_template() || ( ! empty( $icon ) && $review->wppr_get_option( 'cwppos_fontawesome' ) == 'no' ) ) {
125
- wp_enqueue_style( $this->plugin_name . 'font-awesome', WPPR_URL . '/assets/css/font-awesome.min.css', array(), $this->version );
126
- }
127
-
128
- if ( $review->wppr_get_option( 'cwppos_show_icon' ) == 'yes' ) {
129
- wp_enqueue_style( 'dashicons' );
130
- }
131
 
132
  wp_enqueue_style( $this->plugin_name . '-' . $review->get_template() . '-stylesheet', WPPR_URL . '/assets/css/' . $review->get_template() . '.css', array(), $this->version );
133
  wp_enqueue_style(
@@ -139,9 +130,18 @@ class Wppr_Public {
139
  wp_enqueue_style(
140
  $this->plugin_name . '-common',
141
  WPPR_URL . '/assets/css/common.css',
142
- array(),
143
  $this->version
144
  );
 
 
 
 
 
 
 
 
 
145
  $style = $this->generate_styles();
146
 
147
  $style = apply_filters( 'wppr_global_style', $style );
@@ -183,7 +183,7 @@ class Wppr_Public {
183
 
184
  $review = new WPPR_Review_Model();
185
  $conditional_styles = '';
186
- if ( $review->wppr_get_option( 'cwppos_show_icon' ) == 'yes' ) {
187
  $adverb = is_rtl() ? 'after' : 'before';
188
  $direction = is_rtl() ? 'left' : 'right';
189
  $conditional_styles .= '
@@ -195,7 +195,7 @@ class Wppr_Public {
195
  ';
196
  }
197
 
198
- if ( $review->wppr_get_option( 'cwppos_show_userreview' ) == 'yes' ) {
199
  $conditional_styles .= '
200
  .commentlist .comment-body p {
201
  clear: left;
@@ -479,9 +479,9 @@ class Wppr_Public {
479
  );
480
 
481
  $review_position_before_content = $this->review->wppr_get_option( 'cwppos_show_reviewbox' );
482
- if ( $review_position_before_content == 'yes' ) {
483
  $content = $content . $output;
484
- } elseif ( $review_position_before_content == 'no' ) {
485
  $content = $output . $content;
486
  }
487
  }
@@ -499,7 +499,7 @@ class Wppr_Public {
499
  if ( ! $this->review->is_active() ) {
500
  return '';
501
  }
502
- if ( $this->review->wppr_get_option( 'cwppos_show_userreview' ) != 'yes' ) {
503
  return '';
504
  }
505
  $options = $this->review->get_options();
@@ -535,7 +535,7 @@ class Wppr_Public {
535
  if ( ! $review->is_active() ) {
536
  return;
537
  }
538
- if ( $review->wppr_get_option( 'cwppos_show_userreview' ) != 'yes' ) {
539
  return;
540
  }
541
 
@@ -578,7 +578,7 @@ class Wppr_Public {
578
  if ( ! $this->review->is_active() ) {
579
  return $text;
580
  }
581
- if ( $this->review->wppr_get_option( 'cwppos_show_userreview' ) != 'yes' ) {
582
  return $text;
583
  }
584
 
@@ -591,13 +591,13 @@ class Wppr_Public {
591
  $return = '';
592
  $return .= '<div class="user-comments-grades">';
593
  foreach ( $options as $k => $option ) {
594
- $intGrade = intval( $option['value'] * 10 );
595
  $return .= '<div class="comment-meta-option">
596
  <p class="comment-meta-option-name">' . $option['name'] . '</p>
597
  <p class="comment-meta-option-grade">' . $option['value'] . '</p>
598
  <div class="cwpr_clearfix"></div>
599
- <div class="comment-meta-grade-bar ' . $this->review->get_rating_class( $intGrade ) . '">
600
- <div class="comment-meta-grade" style="width: ' . $intGrade . '%"></div>
601
  </div><!-- end .comment-meta-grade-bar -->
602
  </div><!-- end .comment-meta-option -->
603
  ';
99
  return;
100
  }
101
 
102
+ if ( $review->wppr_get_option( 'cwppos_lighbox' ) === 'no' ) {
103
  wp_enqueue_script( $this->plugin_name . '-lightbox-js', WPPR_URL . '/assets/js/lightbox.min.js', array( 'jquery' ), $this->version, true );
104
  wp_enqueue_style( $this->plugin_name . '-lightbox-css', WPPR_URL . '/assets/css/lightbox.css', array(), $this->version );
105
  }
106
 
107
+ if ( $review->wppr_get_option( 'cwppos_show_userreview' ) === 'yes' ) {
108
  wp_enqueue_script( 'jquery-ui-slider' );
109
  wp_enqueue_script( 'jquery-touch-punch' );
110
  wp_enqueue_script(
119
  wp_enqueue_style( $this->plugin_name . 'jqueryui', WPPR_URL . '/assets/css/jquery-ui.css', array(), $this->version );
120
  wp_enqueue_style( $this->plugin_name . 'comments', WPPR_URL . '/assets/css/comments.css', array(), $this->version );
121
  }
 
 
 
 
 
 
 
 
 
122
 
123
  wp_enqueue_style( $this->plugin_name . '-' . $review->get_template() . '-stylesheet', WPPR_URL . '/assets/css/' . $review->get_template() . '.css', array(), $this->version );
124
  wp_enqueue_style(
130
  wp_enqueue_style(
131
  $this->plugin_name . '-common',
132
  WPPR_URL . '/assets/css/common.css',
133
+ array( 'dashicons' ),
134
  $this->version
135
  );
136
+
137
+ $icon = $review->wppr_get_option( 'cwppos_change_bar_icon' );
138
+
139
+ // new free and old pro after removing fontawesome with an font awesome icon selected.
140
+ if ( defined( 'WPPR_PRO_VERSION' ) && version_compare( WPPR_PRO_VERSION, '2.4', '<' ) && 'style1' !== $review->get_template() && ! empty( $icon ) ) {
141
+ wp_enqueue_style( $this->plugin_name . 'fa', WPPR_URL . '/assets/css/font-awesome.min.css', array(), $this->version );
142
+ wp_enqueue_style( $this->plugin_name . '-fa-compat', WPPR_URL . '/assets/css/fontawesome-compat.css', array(), $this->version );
143
+ }
144
+
145
  $style = $this->generate_styles();
146
 
147
  $style = apply_filters( 'wppr_global_style', $style );
183
 
184
  $review = new WPPR_Review_Model();
185
  $conditional_styles = '';
186
+ if ( $review->wppr_get_option( 'cwppos_show_icon' ) === 'yes' ) {
187
  $adverb = is_rtl() ? 'after' : 'before';
188
  $direction = is_rtl() ? 'left' : 'right';
189
  $conditional_styles .= '
195
  ';
196
  }
197
 
198
+ if ( $review->wppr_get_option( 'cwppos_show_userreview' ) === 'yes' ) {
199
  $conditional_styles .= '
200
  .commentlist .comment-body p {
201
  clear: left;
479
  );
480
 
481
  $review_position_before_content = $this->review->wppr_get_option( 'cwppos_show_reviewbox' );
482
+ if ( $review_position_before_content === 'yes' ) {
483
  $content = $content . $output;
484
+ } elseif ( $review_position_before_content === 'no' ) {
485
  $content = $output . $content;
486
  }
487
  }
499
  if ( ! $this->review->is_active() ) {
500
  return '';
501
  }
502
+ if ( $this->review->wppr_get_option( 'cwppos_show_userreview' ) !== 'yes' ) {
503
  return '';
504
  }
505
  $options = $this->review->get_options();
535
  if ( ! $review->is_active() ) {
536
  return;
537
  }
538
+ if ( $review->wppr_get_option( 'cwppos_show_userreview' ) !== 'yes' ) {
539
  return;
540
  }
541
 
578
  if ( ! $this->review->is_active() ) {
579
  return $text;
580
  }
581
+ if ( $this->review->wppr_get_option( 'cwppos_show_userreview' ) !== 'yes' ) {
582
  return $text;
583
  }
584
 
591
  $return = '';
592
  $return .= '<div class="user-comments-grades">';
593
  foreach ( $options as $k => $option ) {
594
+ $int_grade = intval( $option['value'] * 10 );
595
  $return .= '<div class="comment-meta-option">
596
  <p class="comment-meta-option-name">' . $option['name'] . '</p>
597
  <p class="comment-meta-option-grade">' . $option['value'] . '</p>
598
  <div class="cwpr_clearfix"></div>
599
+ <div class="comment-meta-grade-bar ' . $this->review->get_rating_class( $int_grade ) . '">
600
+ <div class="comment-meta-grade" style="width: ' . $int_grade . '%"></div>
601
  </div><!-- end .comment-meta-grade-bar -->
602
  </div><!-- end .comment-meta-option -->
603
  ';
includes/public/layouts/rating-tpl.php CHANGED
@@ -13,7 +13,7 @@ _deprecated_file( __FILE__, '3.1.0', 'Bundle version', ' The shortcode is no lon
13
  $review = $review_object->get_review_data();
14
  $sub_title_info = '';
15
  $sub_title_info = $review['price'];
16
- if ( $sub_title_info != '' ) {
17
  $is_disabled = apply_filters( 'wppr_disable_price_richsnippet', false );
18
  $currency = preg_replace( '/[0-9.,]/', '', $review['price'] );
19
  if ( ! $is_disabled ) {
@@ -26,15 +26,15 @@ if ( $sub_title_info != '' ) {
26
  }
27
 
28
  $lightbox = '';
29
- if ( $review_object->wppr_get_option( 'cwppos_lighbox' ) == 'no' ) {
30
  $lightbox = 'data-lightbox="' . $review['image']['full'] . '"';
31
  }
32
  $image_link_url = $review['image']['full'];
33
  $multiple_affiliates_class = 'affiliate-button';
34
  $display_links_count = 0;
35
  foreach ( $review['links'] as $title => $link ) {
36
- if ( $title != '' && $link != '' ) {
37
- if ( $review['click'] != 'image' ) {
38
  $image_link_url = $link;
39
  }
40
  $display_links_count ++;
13
  $review = $review_object->get_review_data();
14
  $sub_title_info = '';
15
  $sub_title_info = $review['price'];
16
+ if ( $sub_title_info !== '' ) {
17
  $is_disabled = apply_filters( 'wppr_disable_price_richsnippet', false );
18
  $currency = preg_replace( '/[0-9.,]/', '', $review['price'] );
19
  if ( ! $is_disabled ) {
26
  }
27
 
28
  $lightbox = '';
29
+ if ( $review_object->wppr_get_option( 'cwppos_lighbox' ) === 'no' ) {
30
  $lightbox = 'data-lightbox="' . $review['image']['full'] . '"';
31
  }
32
  $image_link_url = $review['image']['full'];
33
  $multiple_affiliates_class = 'affiliate-button';
34
  $display_links_count = 0;
35
  foreach ( $review['links'] as $title => $link ) {
36
+ if ( $title !== '' && $link !== '' ) {
37
+ if ( $review['click'] !== 'image' ) {
38
  $image_link_url = $link;
39
  }
40
  $display_links_count ++;
includes/public/layouts/widget/default.php CHANGED
@@ -14,6 +14,7 @@
14
  <?php
15
  foreach ( $results as $review ) :
16
  $review_object = new WPPR_Review_Model( $review['ID'] );
 
17
  $product_title_display = ( $instance['post_type'] == true ) ? $review_object->get_name() : get_the_title( $review['ID'] );
18
  $product_image = $review_object->get_small_thumbnail();
19
 
@@ -25,6 +26,7 @@ foreach ( $results as $review ) :
25
 
26
  <?php
27
  $wppr_image = false;
 
28
  if ( $instance['show_image'] == true && ! empty( $product_image ) ) {
29
  ?>
30
  <div class="cwp_rev_image wppr-col">
14
  <?php
15
  foreach ( $results as $review ) :
16
  $review_object = new WPPR_Review_Model( $review['ID'] );
17
+ // phpcs:ignore WordPress.PHP.StrictComparisons.LooseComparison
18
  $product_title_display = ( $instance['post_type'] == true ) ? $review_object->get_name() : get_the_title( $review['ID'] );
19
  $product_image = $review_object->get_small_thumbnail();
20
 
26
 
27
  <?php
28
  $wppr_image = false;
29
+ // phpcs:ignore WordPress.PHP.StrictComparisons.LooseComparison
30
  if ( $instance['show_image'] == true && ! empty( $product_image ) ) {
31
  ?>
32
  <div class="cwp_rev_image wppr-col">
package-lock.json CHANGED
@@ -1,9 +1,39 @@
1
  {
2
  "name": "wp-product-review",
3
- "version": "3.5.2",
4
  "lockfileVersion": 1,
5
  "requires": true,
6
  "dependencies": {
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
7
  "abbrev": {
8
  "version": "1.1.1",
9
  "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.1.1.tgz",
@@ -11,9 +41,9 @@
11
  "dev": true
12
  },
13
  "ajv": {
14
- "version": "6.9.1",
15
- "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.9.1.tgz",
16
- "integrity": "sha512-XDN92U311aINL77ieWHmqCcNlwjoP5cHXDxIxbf2MaPYuCXOHS7gHH8jktxeK5omgd52XbSTX6a4Piwd1pQmzA==",
17
  "dev": true,
18
  "requires": {
19
  "fast-deep-equal": "2.0.1",
@@ -22,15 +52,6 @@
22
  "uri-js": "4.2.2"
23
  }
24
  },
25
- "ansi-gray": {
26
- "version": "0.1.1",
27
- "resolved": "https://registry.npmjs.org/ansi-gray/-/ansi-gray-0.1.1.tgz",
28
- "integrity": "sha1-KWLPVOyXksSFEKPetSRDaGHvclE=",
29
- "dev": true,
30
- "requires": {
31
- "ansi-wrap": "0.1.0"
32
- }
33
- },
34
  "ansi-regex": {
35
  "version": "2.1.1",
36
  "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz",
@@ -46,25 +67,36 @@
46
  "color-convert": "1.9.3"
47
  }
48
  },
49
- "ansi-wrap": {
50
- "version": "0.1.0",
51
- "resolved": "https://registry.npmjs.org/ansi-wrap/-/ansi-wrap-0.1.0.tgz",
52
- "integrity": "sha1-qCJQ3bABXponyoLoLqYDu/pF768=",
53
- "dev": true
54
- },
55
  "aproba": {
56
  "version": "1.2.0",
57
  "resolved": "https://registry.npmjs.org/aproba/-/aproba-1.2.0.tgz",
58
  "integrity": "sha512-Y9J6ZjXtoYh8RnXVCMOU/ttDmk1aBjunq9vO0ta5x85WDQiQfUF9sIPBITdbiiIVcBo03Hi3jMxigBtsddlXRw==",
59
  "dev": true
60
  },
 
 
 
 
 
 
 
61
  "archive-type": {
62
- "version": "3.2.0",
63
- "resolved": "https://registry.npmjs.org/archive-type/-/archive-type-3.2.0.tgz",
64
- "integrity": "sha1-nNnABpV+vpX62tW9YJiUKoE3N/Y=",
65
  "dev": true,
 
66
  "requires": {
67
- "file-type": "3.9.0"
 
 
 
 
 
 
 
 
 
68
  }
69
  },
70
  "archiver": {
@@ -74,7 +106,7 @@
74
  "dev": true,
75
  "requires": {
76
  "archiver-utils": "1.3.0",
77
- "async": "2.6.1",
78
  "buffer-crc32": "0.2.13",
79
  "glob": "7.0.6",
80
  "lodash": "4.17.11",
@@ -85,9 +117,9 @@
85
  },
86
  "dependencies": {
87
  "async": {
88
- "version": "2.6.1",
89
- "resolved": "https://registry.npmjs.org/async/-/async-2.6.1.tgz",
90
- "integrity": "sha512-fNEiL2+AZt6AlAw/29Cr0UDe4sRAHCpEHh54WMz+Bb7QfNcFw4h3loofyJpLeQs4Yx7yuqu/2dLgM5hKOs6HlQ==",
91
  "dev": true,
92
  "requires": {
93
  "lodash": "4.17.11"
@@ -137,13 +169,10 @@
137
  }
138
  },
139
  "arr-diff": {
140
- "version": "2.0.0",
141
- "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-2.0.0.tgz",
142
- "integrity": "sha1-jzuCf5Vai9ZpaX5KQlasPOrjVs8=",
143
- "dev": true,
144
- "requires": {
145
- "arr-flatten": "1.1.0"
146
- }
147
  },
148
  "arr-flatten": {
149
  "version": "1.1.0",
@@ -151,6 +180,12 @@
151
  "integrity": "sha512-L3hKV5R/p5o81R7O02IGnwpDmkp6E982XhtbuwSe3O4qOtMMMtodicASA1Cny2U+aCXcNpml+m4dPsvsJ3jatg==",
152
  "dev": true
153
  },
 
 
 
 
 
 
154
  "array-differ": {
155
  "version": "1.0.0",
156
  "resolved": "https://registry.npmjs.org/array-differ/-/array-differ-1.0.0.tgz",
@@ -179,9 +214,9 @@
179
  "dev": true
180
  },
181
  "array-unique": {
182
- "version": "0.2.1",
183
- "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.2.1.tgz",
184
- "integrity": "sha1-odl8yvy8JiXMcPrc6zalDFiwGlM=",
185
  "dev": true
186
  },
187
  "arrify": {
@@ -205,36 +240,41 @@
205
  "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=",
206
  "dev": true
207
  },
 
 
 
 
 
 
208
  "async": {
209
  "version": "1.5.2",
210
  "resolved": "https://registry.npmjs.org/async/-/async-1.5.2.tgz",
211
  "integrity": "sha1-7GphrlZIDAw8skHJVhjiCJL5Zyo=",
212
  "dev": true
213
  },
214
- "async-each-series": {
215
- "version": "1.1.0",
216
- "resolved": "https://registry.npmjs.org/async-each-series/-/async-each-series-1.1.0.tgz",
217
- "integrity": "sha1-9C/YFV048hpbjqB8KOBj7RcAsTg=",
218
- "dev": true,
219
- "optional": true
220
- },
221
  "asynckit": {
222
  "version": "0.4.0",
223
  "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz",
224
  "integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k=",
225
  "dev": true
226
  },
 
 
 
 
 
 
227
  "autoprefixer": {
228
- "version": "6.7.7",
229
- "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-6.7.7.tgz",
230
- "integrity": "sha1-Hb0cg1ZY41zj+ZhAmdsAWFx4IBQ=",
231
  "dev": true,
232
  "requires": {
233
- "browserslist": "1.7.7",
234
- "caniuse-db": "1.0.30000936",
235
  "normalize-range": "0.1.2",
236
  "num2fraction": "1.2.2",
237
- "postcss": "5.2.18",
238
  "postcss-value-parser": "3.3.1"
239
  }
240
  },
@@ -256,6 +296,61 @@
256
  "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=",
257
  "dev": true
258
  },
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
259
  "base64-js": {
260
  "version": "1.3.0",
261
  "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.3.0.tgz",
@@ -271,83 +366,244 @@
271
  "tweetnacl": "0.14.5"
272
  }
273
  },
274
- "beeper": {
275
- "version": "1.1.1",
276
- "resolved": "https://registry.npmjs.org/beeper/-/beeper-1.1.1.tgz",
277
- "integrity": "sha1-5tXqjF2tABMEpwsiY4RH9pyy+Ak=",
278
- "dev": true
279
- },
280
  "bin-build": {
281
- "version": "2.2.0",
282
- "resolved": "https://registry.npmjs.org/bin-build/-/bin-build-2.2.0.tgz",
283
- "integrity": "sha1-EfjdYfcP/Por3KpbRvXo/t1CIcw=",
284
  "dev": true,
285
  "optional": true,
286
  "requires": {
287
- "archive-type": "3.2.0",
288
- "decompress": "3.0.0",
289
- "download": "4.4.3",
290
- "exec-series": "1.0.3",
291
- "rimraf": "2.6.3",
292
- "tempfile": "1.1.1",
293
- "url-regex": "3.2.0"
294
  }
295
  },
296
  "bin-check": {
297
- "version": "2.0.0",
298
- "resolved": "https://registry.npmjs.org/bin-check/-/bin-check-2.0.0.tgz",
299
- "integrity": "sha1-hvjm9CU4k99g3DFpV/WvAqywWTA=",
300
  "dev": true,
301
  "optional": true,
302
  "requires": {
303
- "executable": "1.1.0"
 
304
  }
305
  },
306
  "bin-version": {
307
- "version": "1.0.4",
308
- "resolved": "https://registry.npmjs.org/bin-version/-/bin-version-1.0.4.tgz",
309
- "integrity": "sha1-nrSY7m/Xb3q5p8FgQ2+JV5Q1144=",
310
  "dev": true,
311
  "optional": true,
312
  "requires": {
313
- "find-versions": "1.2.1"
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
314
  }
315
  },
316
  "bin-version-check": {
317
- "version": "2.1.0",
318
- "resolved": "https://registry.npmjs.org/bin-version-check/-/bin-version-check-2.1.0.tgz",
319
- "integrity": "sha1-5OXfKQuQaffRETJAMe/BP90RpbA=",
320
  "dev": true,
321
  "optional": true,
322
  "requires": {
323
- "bin-version": "1.0.4",
324
- "minimist": "1.2.0",
325
- "semver": "4.3.6",
326
  "semver-truncate": "1.1.2"
327
- },
328
- "dependencies": {
329
- "semver": {
330
- "version": "4.3.6",
331
- "resolved": "https://registry.npmjs.org/semver/-/semver-4.3.6.tgz",
332
- "integrity": "sha1-MAvG4OhjdPe6YQaLWx7NV/xlMto=",
333
- "dev": true,
334
- "optional": true
335
- }
336
  }
337
  },
338
  "bin-wrapper": {
339
- "version": "3.0.2",
340
- "resolved": "https://registry.npmjs.org/bin-wrapper/-/bin-wrapper-3.0.2.tgz",
341
- "integrity": "sha1-Z9MwYmLksaXy+I7iNGT2plVneus=",
342
  "dev": true,
343
  "optional": true,
344
  "requires": {
345
- "bin-check": "2.0.0",
346
- "bin-version-check": "2.1.0",
347
- "download": "4.4.3",
348
- "each-async": "1.1.1",
349
- "lazy-req": "1.1.0",
350
- "os-filter-obj": "1.0.3"
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
351
  }
352
  },
353
  "bl": {
@@ -370,6 +626,12 @@
370
  "inherits": "2.0.3"
371
  }
372
  },
 
 
 
 
 
 
373
  "body": {
374
  "version": "5.1.0",
375
  "resolved": "https://registry.npmjs.org/body/-/body-5.1.0.tgz",
@@ -382,6 +644,12 @@
382
  "safe-json-parse": "1.0.1"
383
  }
384
  },
 
 
 
 
 
 
385
  "brace-expansion": {
386
  "version": "1.1.11",
387
  "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz",
@@ -393,24 +661,43 @@
393
  }
394
  },
395
  "braces": {
396
- "version": "1.8.5",
397
- "resolved": "https://registry.npmjs.org/braces/-/braces-1.8.5.tgz",
398
- "integrity": "sha1-uneWLhLf+WnWt2cR6RS3N4V79qc=",
399
  "dev": true,
400
  "requires": {
401
- "expand-range": "1.8.2",
402
- "preserve": "0.2.0",
403
- "repeat-element": "1.1.3"
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
404
  }
405
  },
406
  "browserslist": {
407
- "version": "1.7.7",
408
- "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-1.7.7.tgz",
409
- "integrity": "sha1-C9dnBCWL6CmyOYu1Dkti0aFmsLk=",
410
  "dev": true,
411
  "requires": {
412
- "caniuse-db": "1.0.30000936",
413
- "electron-to-chromium": "1.3.113"
 
414
  }
415
  },
416
  "buffer": {
@@ -420,7 +707,7 @@
420
  "dev": true,
421
  "requires": {
422
  "base64-js": "1.3.0",
423
- "ieee754": "1.1.12"
424
  }
425
  },
426
  "buffer-alloc": {
@@ -451,38 +738,29 @@
451
  "integrity": "sha1-+PeLdniYiO858gXNY39o5wISKyw=",
452
  "dev": true
453
  },
454
- "buffer-from": {
455
- "version": "1.1.1",
456
- "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.1.tgz",
457
- "integrity": "sha512-MQcXEUbCKtEo7bhqEs6560Hyd4XaovZlO/k9V3hjVUF/zwW7KBVdSK4gIt/bzwS9MbR5qob+F5jusZsb0YQK2A==",
458
- "dev": true
459
- },
460
- "buffer-to-vinyl": {
461
- "version": "1.1.0",
462
- "resolved": "https://registry.npmjs.org/buffer-to-vinyl/-/buffer-to-vinyl-1.1.0.tgz",
463
- "integrity": "sha1-APFfruOreh3aLN5tkSG//dB7ImI=",
464
- "dev": true,
465
- "requires": {
466
- "file-type": "3.9.0",
467
- "readable-stream": "2.3.6",
468
- "uuid": "2.0.3",
469
- "vinyl": "1.2.0"
470
- },
471
- "dependencies": {
472
- "uuid": {
473
- "version": "2.0.3",
474
- "resolved": "https://registry.npmjs.org/uuid/-/uuid-2.0.3.tgz",
475
- "integrity": "sha1-Z+LoY3lyFVMN/zGOW/nc6/1Hsho=",
476
- "dev": true
477
- }
478
- }
479
- },
480
  "bytes": {
481
  "version": "1.0.0",
482
  "resolved": "https://registry.npmjs.org/bytes/-/bytes-1.0.0.tgz",
483
  "integrity": "sha1-NWnt6Lo0MV+rmcPpLLBMciDeH6g=",
484
  "dev": true
485
  },
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
486
  "cache-swap": {
487
  "version": "0.3.0",
488
  "resolved": "https://registry.npmjs.org/cache-swap/-/cache-swap-0.3.0.tgz",
@@ -495,6 +773,37 @@
495
  "rimraf": "2.6.3"
496
  }
497
  },
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
498
  "camelcase": {
499
  "version": "2.1.1",
500
  "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-2.1.1.tgz",
@@ -511,16 +820,10 @@
511
  "map-obj": "1.0.1"
512
  }
513
  },
514
- "caniuse-db": {
515
- "version": "1.0.30000936",
516
- "resolved": "https://registry.npmjs.org/caniuse-db/-/caniuse-db-1.0.30000936.tgz",
517
- "integrity": "sha512-gOrcU8d+h5AdrO/Mhnj35vttNvAed2taqzrYDfhJE/qVnLxAaGb1doWlRF7iDex+EQPhkwAHc07RBwixnxpFDQ==",
518
- "dev": true
519
- },
520
- "capture-stack-trace": {
521
- "version": "1.0.1",
522
- "resolved": "https://registry.npmjs.org/capture-stack-trace/-/capture-stack-trace-1.0.1.tgz",
523
- "integrity": "sha512-mYQLZnx5Qt1JgB1WEiMCf2647plpGeQ2NMR/5L0HNZzGQo4fuSPnK+wjfPnKZV0aiJDgzmWqqkV/g7JD+DW0qw==",
524
  "dev": true
525
  },
526
  "caseless": {
@@ -530,29 +833,15 @@
530
  "dev": true
531
  },
532
  "caw": {
533
- "version": "1.2.0",
534
- "resolved": "https://registry.npmjs.org/caw/-/caw-1.2.0.tgz",
535
- "integrity": "sha1-/7Im/n78VHKI3GLuPpcHPCEtEDQ=",
536
  "dev": true,
537
  "requires": {
538
- "get-proxy": "1.1.0",
539
- "is-obj": "1.0.1",
540
- "object-assign": "3.0.0",
541
- "tunnel-agent": "0.4.3"
542
- },
543
- "dependencies": {
544
- "object-assign": {
545
- "version": "3.0.0",
546
- "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-3.0.0.tgz",
547
- "integrity": "sha1-m+3VygiXlJvKR+f/QIBi1Un1h/I=",
548
- "dev": true
549
- },
550
- "tunnel-agent": {
551
- "version": "0.4.3",
552
- "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.4.3.tgz",
553
- "integrity": "sha1-Y3PbdpCf5XDgjXNYM2Xtgop07us=",
554
- "dev": true
555
- }
556
  }
557
  },
558
  "chalk": {
@@ -573,43 +862,26 @@
573
  "dev": true,
574
  "optional": true
575
  },
576
- "clap": {
577
- "version": "1.2.3",
578
- "resolved": "https://registry.npmjs.org/clap/-/clap-1.2.3.tgz",
579
- "integrity": "sha512-4CoL/A3hf90V3VIEjeuhSvlGFEHKzOz+Wfc2IVZc+FaUgU0ZQafJTP49fvnULipOPcAfqhyI2duwQyns6xqjYA==",
580
  "dev": true,
581
- "optional": true,
582
  "requires": {
583
- "chalk": "1.1.3"
 
 
 
584
  },
585
  "dependencies": {
586
- "ansi-styles": {
587
- "version": "2.2.1",
588
- "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz",
589
- "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=",
590
- "dev": true,
591
- "optional": true
592
- },
593
- "chalk": {
594
- "version": "1.1.3",
595
- "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz",
596
- "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=",
597
  "dev": true,
598
- "optional": true,
599
  "requires": {
600
- "ansi-styles": "2.2.1",
601
- "escape-string-regexp": "1.0.5",
602
- "has-ansi": "2.0.0",
603
- "strip-ansi": "3.0.1",
604
- "supports-color": "2.0.0"
605
  }
606
- },
607
- "supports-color": {
608
- "version": "2.0.0",
609
- "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz",
610
- "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=",
611
- "dev": true,
612
- "optional": true
613
  }
614
  }
615
  },
@@ -620,13 +892,13 @@
620
  "dev": true,
621
  "requires": {
622
  "exit": "0.1.2",
623
- "glob": "7.1.3"
624
  },
625
  "dependencies": {
626
  "glob": {
627
- "version": "7.1.3",
628
- "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.3.tgz",
629
- "integrity": "sha512-vcfuiIxogLV4DlGBHIUOwI0IbrJ8HWPc4MU7HzviGeNho/UJDfi6B5p3sHeWIQ0KGIU0Jpxi5ZHxemQfLkkAwQ==",
630
  "dev": true,
631
  "requires": {
632
  "fs.realpath": "1.0.0",
@@ -639,31 +911,25 @@
639
  }
640
  }
641
  },
642
- "clone": {
643
- "version": "1.0.4",
644
- "resolved": "https://registry.npmjs.org/clone/-/clone-1.0.4.tgz",
645
- "integrity": "sha1-2jCcwmPfFZlMaIypAheco8fNfH4=",
646
- "dev": true
647
- },
648
- "clone-stats": {
649
- "version": "0.0.1",
650
- "resolved": "https://registry.npmjs.org/clone-stats/-/clone-stats-0.0.1.tgz",
651
- "integrity": "sha1-uI+UqCzzi4eR1YBG6kAprYjKmdE=",
652
- "dev": true
653
- },
654
- "co": {
655
- "version": "3.1.0",
656
- "resolved": "https://registry.npmjs.org/co/-/co-3.1.0.tgz",
657
- "integrity": "sha1-TqVOpaCJOBUxheFSEMaNkJK8G3g=",
658
- "dev": true
659
  },
660
  "coa": {
661
- "version": "1.0.4",
662
- "resolved": "https://registry.npmjs.org/coa/-/coa-1.0.4.tgz",
663
- "integrity": "sha1-qe8VNmDWqGqL3sAomlxoTSF0Mv0=",
664
  "dev": true,
665
  "optional": true,
666
  "requires": {
 
 
667
  "q": "1.5.1"
668
  }
669
  },
@@ -673,18 +939,22 @@
673
  "integrity": "sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c=",
674
  "dev": true
675
  },
676
- "coffee-script": {
677
- "version": "1.3.3",
678
- "resolved": "https://registry.npmjs.org/coffee-script/-/coffee-script-1.3.3.tgz",
679
- "integrity": "sha1-FQ1rTLUiiUNp7+1qIQHCC8f0pPQ=",
680
- "dev": true
681
- },
682
  "coffeescript": {
683
  "version": "1.10.0",
684
  "resolved": "https://registry.npmjs.org/coffeescript/-/coffeescript-1.10.0.tgz",
685
  "integrity": "sha1-56qDAZF+9iGzXYo580jc3R234z4=",
686
  "dev": true
687
  },
 
 
 
 
 
 
 
 
 
 
688
  "color-convert": {
689
  "version": "1.9.3",
690
  "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz",
@@ -700,12 +970,6 @@
700
  "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=",
701
  "dev": true
702
  },
703
- "color-support": {
704
- "version": "1.1.3",
705
- "resolved": "https://registry.npmjs.org/color-support/-/color-support-1.1.3.tgz",
706
- "integrity": "sha512-qiBjkpbMLO/HL68y+lh4q0/O1MZFj2RX6X/KmMa3+gJD3z+WwI1ZzDHysvqHGS3mP6mznPckpXmw1nI9cJjyRg==",
707
- "dev": true
708
- },
709
  "colors": {
710
  "version": "1.1.2",
711
  "resolved": "https://registry.npmjs.org/colors/-/colors-1.1.2.tgz",
@@ -713,9 +977,9 @@
713
  "dev": true
714
  },
715
  "combined-stream": {
716
- "version": "1.0.7",
717
- "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.7.tgz",
718
- "integrity": "sha512-brWl9y6vOB1xYPZcpZde3N9zDByXTosAeMDo4p1wzo6UMOX4vumB+TP1RZ76sfE6Md68Q0NJSrE/gbezd4Ul+w==",
719
  "dev": true,
720
  "requires": {
721
  "delayed-stream": "1.0.0"
@@ -730,6 +994,12 @@
730
  "graceful-readlink": "1.0.1"
731
  }
732
  },
 
 
 
 
 
 
733
  "compress-commons": {
734
  "version": "1.2.2",
735
  "resolved": "https://registry.npmjs.org/compress-commons/-/compress-commons-1.2.2.tgz",
@@ -748,16 +1018,14 @@
748
  "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=",
749
  "dev": true
750
  },
751
- "concat-stream": {
752
- "version": "1.6.2",
753
- "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.6.2.tgz",
754
- "integrity": "sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw==",
755
  "dev": true,
756
  "requires": {
757
- "buffer-from": "1.1.1",
758
- "inherits": "2.0.3",
759
- "readable-stream": "2.3.6",
760
- "typedarray": "0.0.6"
761
  }
762
  },
763
  "console-browserify": {
@@ -782,20 +1050,26 @@
782
  "dev": true,
783
  "optional": true
784
  },
 
 
 
 
 
 
 
 
 
785
  "continuable-cache": {
786
  "version": "0.3.1",
787
  "resolved": "https://registry.npmjs.org/continuable-cache/-/continuable-cache-0.3.1.tgz",
788
  "integrity": "sha1-vXJ6f67XfnH/OYWskzUakSczrQ8=",
789
  "dev": true
790
  },
791
- "convert-source-map": {
792
- "version": "1.6.0",
793
- "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.6.0.tgz",
794
- "integrity": "sha512-eFu7XigvxdZ1ETfbgPBohgyQ/Z++C0eEhTor0qRwBw9unw+L0/6V8wkSuGgzdThkiS5lSpdptOQPD8Ak40a+7A==",
795
- "dev": true,
796
- "requires": {
797
- "safe-buffer": "5.1.2"
798
- }
799
  },
800
  "core-util-is": {
801
  "version": "1.0.2",
@@ -822,13 +1096,15 @@
822
  "readable-stream": "2.3.6"
823
  }
824
  },
825
- "create-error-class": {
826
- "version": "3.0.2",
827
- "resolved": "https://registry.npmjs.org/create-error-class/-/create-error-class-3.0.2.tgz",
828
- "integrity": "sha1-Br56vvlHo/FKMP1hBnHUAbyot7Y=",
829
  "dev": true,
830
  "requires": {
831
- "capture-stack-trace": "1.0.1"
 
 
832
  }
833
  },
834
  "cson": {
@@ -869,6 +1145,60 @@
869
  }
870
  }
871
  },
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
872
  "cssbeautify": {
873
  "version": "0.3.1",
874
  "resolved": "https://registry.npmjs.org/cssbeautify/-/cssbeautify-0.3.1.tgz",
@@ -907,6 +1237,12 @@
907
  "vow-fs": "0.3.2"
908
  },
909
  "dependencies": {
 
 
 
 
 
 
910
  "minimatch": {
911
  "version": "0.2.12",
912
  "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-0.2.12.tgz",
@@ -920,14 +1256,33 @@
920
  }
921
  },
922
  "csso": {
923
- "version": "2.0.0",
924
- "resolved": "https://registry.npmjs.org/csso/-/csso-2.0.0.tgz",
925
- "integrity": "sha1-F4tDpEYhIhwndWCG9THgL0KQDug=",
926
  "dev": true,
927
  "optional": true,
928
  "requires": {
929
- "clap": "1.2.3",
930
- "source-map": "0.5.7"
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
931
  }
932
  },
933
  "currently-unhandled": {
@@ -974,12 +1329,12 @@
974
  }
975
  },
976
  "debug": {
977
- "version": "3.2.6",
978
- "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.6.tgz",
979
- "integrity": "sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ==",
980
  "dev": true,
981
  "requires": {
982
- "ms": "2.1.1"
983
  }
984
  },
985
  "decamelize": {
@@ -988,21 +1343,26 @@
988
  "integrity": "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=",
989
  "dev": true
990
  },
 
 
 
 
 
 
991
  "decompress": {
992
- "version": "3.0.0",
993
- "resolved": "https://registry.npmjs.org/decompress/-/decompress-3.0.0.tgz",
994
- "integrity": "sha1-rx3VDQbjv8QyRh033hGzjA2ZG+0=",
995
  "dev": true,
996
  "requires": {
997
- "buffer-to-vinyl": "1.1.0",
998
- "concat-stream": "1.6.2",
999
- "decompress-tar": "3.1.0",
1000
- "decompress-tarbz2": "3.1.0",
1001
- "decompress-targz": "3.1.0",
1002
- "decompress-unzip": "3.4.0",
1003
- "stream-combiner2": "1.1.1",
1004
- "vinyl-assign": "1.2.1",
1005
- "vinyl-fs": "2.4.4"
1006
  }
1007
  },
1008
  "decompress-response": {
@@ -1010,149 +1370,95 @@
1010
  "resolved": "https://registry.npmjs.org/decompress-response/-/decompress-response-3.3.0.tgz",
1011
  "integrity": "sha1-gKTdMjdIOEv6JICDYirt7Jgq3/M=",
1012
  "dev": true,
1013
- "optional": true,
1014
  "requires": {
1015
  "mimic-response": "1.0.1"
1016
  }
1017
  },
1018
  "decompress-tar": {
1019
- "version": "3.1.0",
1020
- "resolved": "https://registry.npmjs.org/decompress-tar/-/decompress-tar-3.1.0.tgz",
1021
- "integrity": "sha1-IXx4n5uURQ76rcXF5TeXj8MzxGY=",
1022
  "dev": true,
1023
  "requires": {
1024
- "is-tar": "1.0.0",
1025
- "object-assign": "2.1.1",
1026
- "strip-dirs": "1.1.1",
1027
- "tar-stream": "1.6.2",
1028
- "through2": "0.6.5",
1029
- "vinyl": "0.4.6"
1030
  },
1031
  "dependencies": {
1032
- "clone": {
1033
- "version": "0.2.0",
1034
- "resolved": "https://registry.npmjs.org/clone/-/clone-0.2.0.tgz",
1035
- "integrity": "sha1-xhJqkK1Pctv1rNskPMN3JP6T/B8=",
1036
  "dev": true
1037
- },
1038
- "object-assign": {
1039
- "version": "2.1.1",
1040
- "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-2.1.1.tgz",
1041
- "integrity": "sha1-Q8NuXVaf+OSBbE76i+AtJpZ8GKo=",
1042
- "dev": true
1043
- },
1044
- "vinyl": {
1045
- "version": "0.4.6",
1046
- "resolved": "https://registry.npmjs.org/vinyl/-/vinyl-0.4.6.tgz",
1047
- "integrity": "sha1-LzVsh6VQolVGHza76ypbqL94SEc=",
1048
- "dev": true,
1049
- "requires": {
1050
- "clone": "0.2.0",
1051
- "clone-stats": "0.0.1"
1052
- }
1053
  }
1054
  }
1055
  },
1056
  "decompress-tarbz2": {
1057
- "version": "3.1.0",
1058
- "resolved": "https://registry.npmjs.org/decompress-tarbz2/-/decompress-tarbz2-3.1.0.tgz",
1059
- "integrity": "sha1-iyOTVoE1X58YnYclag+L3ZbZZm0=",
1060
  "dev": true,
1061
  "requires": {
1062
- "is-bzip2": "1.0.0",
1063
- "object-assign": "2.1.1",
 
1064
  "seek-bzip": "1.0.5",
1065
- "strip-dirs": "1.1.1",
1066
- "tar-stream": "1.6.2",
1067
- "through2": "0.6.5",
1068
- "vinyl": "0.4.6"
1069
  },
1070
  "dependencies": {
1071
- "clone": {
1072
- "version": "0.2.0",
1073
- "resolved": "https://registry.npmjs.org/clone/-/clone-0.2.0.tgz",
1074
- "integrity": "sha1-xhJqkK1Pctv1rNskPMN3JP6T/B8=",
1075
  "dev": true
1076
- },
1077
- "object-assign": {
1078
- "version": "2.1.1",
1079
- "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-2.1.1.tgz",
1080
- "integrity": "sha1-Q8NuXVaf+OSBbE76i+AtJpZ8GKo=",
1081
- "dev": true
1082
- },
1083
- "vinyl": {
1084
- "version": "0.4.6",
1085
- "resolved": "https://registry.npmjs.org/vinyl/-/vinyl-0.4.6.tgz",
1086
- "integrity": "sha1-LzVsh6VQolVGHza76ypbqL94SEc=",
1087
- "dev": true,
1088
- "requires": {
1089
- "clone": "0.2.0",
1090
- "clone-stats": "0.0.1"
1091
- }
1092
  }
1093
  }
1094
  },
1095
  "decompress-targz": {
1096
- "version": "3.1.0",
1097
- "resolved": "https://registry.npmjs.org/decompress-targz/-/decompress-targz-3.1.0.tgz",
1098
- "integrity": "sha1-ssE9+YFmJomRtxXWRH9kLpaW9aA=",
1099
  "dev": true,
1100
  "requires": {
1101
- "is-gzip": "1.0.0",
1102
- "object-assign": "2.1.1",
1103
- "strip-dirs": "1.1.1",
1104
- "tar-stream": "1.6.2",
1105
- "through2": "0.6.5",
1106
- "vinyl": "0.4.6"
1107
  },
1108
  "dependencies": {
1109
- "clone": {
1110
- "version": "0.2.0",
1111
- "resolved": "https://registry.npmjs.org/clone/-/clone-0.2.0.tgz",
1112
- "integrity": "sha1-xhJqkK1Pctv1rNskPMN3JP6T/B8=",
1113
- "dev": true
1114
- },
1115
- "object-assign": {
1116
- "version": "2.1.1",
1117
- "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-2.1.1.tgz",
1118
- "integrity": "sha1-Q8NuXVaf+OSBbE76i+AtJpZ8GKo=",
1119
  "dev": true
1120
- },
1121
- "vinyl": {
1122
- "version": "0.4.6",
1123
- "resolved": "https://registry.npmjs.org/vinyl/-/vinyl-0.4.6.tgz",
1124
- "integrity": "sha1-LzVsh6VQolVGHza76ypbqL94SEc=",
1125
- "dev": true,
1126
- "requires": {
1127
- "clone": "0.2.0",
1128
- "clone-stats": "0.0.1"
1129
- }
1130
  }
1131
  }
1132
  },
1133
  "decompress-unzip": {
1134
- "version": "3.4.0",
1135
- "resolved": "https://registry.npmjs.org/decompress-unzip/-/decompress-unzip-3.4.0.tgz",
1136
- "integrity": "sha1-YUdbQVIGa74/7hL51inRX+ZHjus=",
1137
  "dev": true,
1138
  "requires": {
1139
- "is-zip": "1.0.0",
1140
- "read-all-stream": "3.1.0",
1141
- "stat-mode": "0.2.2",
1142
- "strip-dirs": "1.1.1",
1143
- "through2": "2.0.5",
1144
- "vinyl": "1.2.0",
1145
  "yauzl": "2.10.0"
1146
  },
1147
  "dependencies": {
1148
- "through2": {
1149
- "version": "2.0.5",
1150
- "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.5.tgz",
1151
- "integrity": "sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==",
 
 
 
 
 
 
1152
  "dev": true,
1153
  "requires": {
1154
- "readable-stream": "2.3.6",
1155
- "xtend": "4.0.1"
1156
  }
1157
  }
1158
  }
@@ -1161,7 +1467,58 @@
1161
  "version": "0.6.0",
1162
  "resolved": "https://registry.npmjs.org/deep-extend/-/deep-extend-0.6.0.tgz",
1163
  "integrity": "sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==",
1164
- "dev": true
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1165
  },
1166
  "delayed-stream": {
1167
  "version": "1.0.0",
@@ -1188,30 +1545,43 @@
1188
  "integrity": "sha512-A46qtFgd+g7pDZinpnwiRJtxbC1hpgf0uzP3iG89scHk0AUC7A1TGxf5OiiOUv/JMZR8GOt8hL900hV0bOy5xA==",
1189
  "dev": true
1190
  },
1191
- "dom-serializer": {
1192
- "version": "0.1.0",
1193
- "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-0.1.0.tgz",
1194
- "integrity": "sha1-BzxpdUbOB4DOI75KKOKT5AvDDII=",
1195
  "dev": true,
1196
  "requires": {
1197
- "domelementtype": "1.1.3",
1198
- "entities": "1.1.2"
1199
  },
1200
  "dependencies": {
1201
- "domelementtype": {
1202
- "version": "1.1.3",
1203
- "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-1.1.3.tgz",
1204
- "integrity": "sha1-vSh3PiZCiBrsUVRJJCmcXNgiGFs=",
1205
- "dev": true
 
 
 
1206
  },
1207
- "entities": {
1208
- "version": "1.1.2",
1209
- "resolved": "https://registry.npmjs.org/entities/-/entities-1.1.2.tgz",
1210
- "integrity": "sha512-f2LZMYl1Fzu7YSBKg+RoROelpOaNrcGmE9AZubeDfrCEia483oW4MI4VyFd5VNHIgQ/7qm1I0wUHK1eJnn2y2w==",
1211
  "dev": true
1212
  }
1213
  }
1214
  },
 
 
 
 
 
 
 
 
 
 
1215
  "domelementtype": {
1216
  "version": "1.3.1",
1217
  "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-1.3.1.tgz",
@@ -1228,68 +1598,57 @@
1228
  }
1229
  },
1230
  "domutils": {
1231
- "version": "1.5.1",
1232
- "resolved": "https://registry.npmjs.org/domutils/-/domutils-1.5.1.tgz",
1233
- "integrity": "sha1-3NhIiib1Y9YQeeSMn3t+Mjc2gs8=",
1234
  "dev": true,
 
1235
  "requires": {
1236
- "dom-serializer": "0.1.0",
1237
  "domelementtype": "1.3.1"
1238
  }
1239
  },
1240
  "download": {
1241
- "version": "4.4.3",
1242
- "resolved": "https://registry.npmjs.org/download/-/download-4.4.3.tgz",
1243
- "integrity": "sha1-qlX9rTktldS2jowr4D4MKqIbqaw=",
1244
- "dev": true,
1245
- "requires": {
1246
- "caw": "1.2.0",
1247
- "concat-stream": "1.6.2",
1248
- "each-async": "1.1.1",
1249
- "filenamify": "1.2.1",
1250
- "got": "5.7.1",
1251
- "gulp-decompress": "1.2.0",
1252
- "gulp-rename": "1.4.0",
1253
- "is-url": "1.2.4",
1254
- "object-assign": "4.1.1",
1255
- "read-all-stream": "3.1.0",
1256
- "readable-stream": "2.3.6",
1257
- "stream-combiner2": "1.1.1",
1258
- "vinyl": "1.2.0",
1259
- "vinyl-fs": "2.4.4",
1260
- "ware": "1.3.0"
1261
- }
1262
- },
1263
- "duplexer2": {
1264
- "version": "0.1.4",
1265
- "resolved": "https://registry.npmjs.org/duplexer2/-/duplexer2-0.1.4.tgz",
1266
- "integrity": "sha1-ixLauHjA1p4+eJEFFmKjL8a93ME=",
1267
- "dev": true,
1268
- "requires": {
1269
- "readable-stream": "2.3.6"
1270
- }
1271
- },
1272
- "duplexify": {
1273
- "version": "3.7.1",
1274
- "resolved": "https://registry.npmjs.org/duplexify/-/duplexify-3.7.1.tgz",
1275
- "integrity": "sha512-07z8uv2wMyS51kKhD1KsdXJg5WQ6t93RneqRxUHnskXVtlYYkLqM0gqStQZ3pj073g687jPCHrqNfCzawLYh5g==",
1276
  "dev": true,
 
1277
  "requires": {
1278
- "end-of-stream": "1.4.1",
1279
- "inherits": "2.0.3",
1280
- "readable-stream": "2.3.6",
1281
- "stream-shift": "1.0.0"
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1282
  }
1283
  },
1284
- "each-async": {
1285
- "version": "1.1.1",
1286
- "resolved": "https://registry.npmjs.org/each-async/-/each-async-1.1.1.tgz",
1287
- "integrity": "sha1-3uUim98KtrogEqOV4bhpq/iBNHM=",
1288
- "dev": true,
1289
- "requires": {
1290
- "onetime": "1.1.0",
1291
- "set-immediate-shim": "1.0.1"
1292
- }
1293
  },
1294
  "eachr": {
1295
  "version": "3.2.0",
@@ -1318,9 +1677,9 @@
1318
  "dev": true
1319
  },
1320
  "electron-to-chromium": {
1321
- "version": "1.3.113",
1322
- "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.113.tgz",
1323
- "integrity": "sha512-De+lPAxEcpxvqPTyZAXELNpRZXABRxf+uL/rSykstQhzj/B0l1150G/ExIIxKc16lI89Hgz81J0BHAcbTqK49g==",
1324
  "dev": true
1325
  },
1326
  "encoding": {
@@ -1342,9 +1701,9 @@
1342
  }
1343
  },
1344
  "entities": {
1345
- "version": "1.0.0",
1346
- "resolved": "https://registry.npmjs.org/entities/-/entities-1.0.0.tgz",
1347
- "integrity": "sha1-sph6o4ITR/zeZCsk/fyeT7cSvyY=",
1348
  "dev": true
1349
  },
1350
  "errlop": {
@@ -1363,7 +1722,7 @@
1363
  "dev": true,
1364
  "requires": {
1365
  "errlop": "1.1.1",
1366
- "semver": "5.6.0"
1367
  }
1368
  }
1369
  }
@@ -1387,6 +1746,31 @@
1387
  "is-arrayish": "0.2.1"
1388
  }
1389
  },
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1390
  "escape-string-regexp": {
1391
  "version": "1.0.5",
1392
  "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz",
@@ -1394,9 +1778,9 @@
1394
  "dev": true
1395
  },
1396
  "esprima": {
1397
- "version": "2.7.3",
1398
- "resolved": "https://registry.npmjs.org/esprima/-/esprima-2.7.3.tgz",
1399
- "integrity": "sha1-luO3DVd59q1JzQMmc9HDEnZ7pYE=",
1400
  "dev": true
1401
  },
1402
  "eventemitter2": {
@@ -1406,35 +1790,51 @@
1406
  "dev": true
1407
  },
1408
  "exec-buffer": {
1409
- "version": "2.0.1",
1410
- "resolved": "https://registry.npmjs.org/exec-buffer/-/exec-buffer-2.0.1.tgz",
1411
- "integrity": "sha1-ACijG+CxRgth0HX5avRYO54zXqA=",
1412
  "dev": true,
1413
  "optional": true,
1414
  "requires": {
 
 
 
1415
  "rimraf": "2.6.3",
1416
- "tempfile": "1.1.1"
1417
- }
1418
- },
1419
- "exec-series": {
1420
- "version": "1.0.3",
1421
- "resolved": "https://registry.npmjs.org/exec-series/-/exec-series-1.0.3.tgz",
1422
- "integrity": "sha1-bSV6m+rEgqhyx3g7yGFYOfx3FDo=",
1423
- "dev": true,
1424
- "optional": true,
 
 
 
 
 
 
 
 
1425
  "requires": {
1426
- "async-each-series": "1.1.0",
1427
- "object-assign": "4.1.1"
 
 
 
 
 
1428
  }
1429
  },
1430
  "executable": {
1431
- "version": "1.1.0",
1432
- "resolved": "https://registry.npmjs.org/executable/-/executable-1.1.0.tgz",
1433
- "integrity": "sha1-h3mA6REvM5EGbaNyZd562ENKtNk=",
1434
  "dev": true,
1435
  "optional": true,
1436
  "requires": {
1437
- "meow": "3.7.0"
1438
  }
1439
  },
1440
  "exit": {
@@ -1444,21 +1844,38 @@
1444
  "dev": true
1445
  },
1446
  "expand-brackets": {
1447
- "version": "0.1.5",
1448
- "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-0.1.5.tgz",
1449
- "integrity": "sha1-3wcoTjQqgHzXM6xa9yQR5YHRF3s=",
1450
- "dev": true,
1451
- "requires": {
1452
- "is-posix-bracket": "0.1.1"
1453
- }
1454
- },
1455
- "expand-range": {
1456
- "version": "1.8.2",
1457
- "resolved": "https://registry.npmjs.org/expand-range/-/expand-range-1.8.2.tgz",
1458
- "integrity": "sha1-opnv/TNf4nIeuujiV+x5ZE/IUzc=",
1459
- "dev": true,
1460
- "requires": {
1461
- "fill-range": "2.2.4"
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1462
  }
1463
  },
1464
  "expand-template": {
@@ -1468,6 +1885,25 @@
1468
  "dev": true,
1469
  "optional": true
1470
  },
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1471
  "extend": {
1472
  "version": "3.0.2",
1473
  "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz",
@@ -1475,28 +1911,88 @@
1475
  "dev": true
1476
  },
1477
  "extend-shallow": {
1478
- "version": "2.0.1",
1479
- "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
1480
- "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
1481
  "dev": true,
1482
  "requires": {
1483
- "is-extendable": "0.1.1"
 
 
 
 
 
 
 
 
 
 
 
 
1484
  }
1485
  },
1486
  "extglob": {
1487
- "version": "0.3.2",
1488
- "resolved": "https://registry.npmjs.org/extglob/-/extglob-0.3.2.tgz",
1489
- "integrity": "sha1-Lhj/PS9JqydlzskCPwEdqo2DSaE=",
1490
- "dev": true,
1491
- "requires": {
1492
- "is-extglob": "1.0.0"
 
 
 
 
 
 
 
1493
  },
1494
  "dependencies": {
1495
- "is-extglob": {
1496
  "version": "1.0.0",
1497
- "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-1.0.0.tgz",
1498
- "integrity": "sha1-rEaBd8SUNAWgkvyPKXYMb/xiBsA=",
1499
- "dev": true
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1500
  }
1501
  }
1502
  },
@@ -1517,24 +2013,26 @@
1517
  "integrity": "sha1-lpGEQOMEGnpBT4xS48V06zw+HgU=",
1518
  "dev": true
1519
  },
1520
- "fancy-log": {
1521
- "version": "1.3.3",
1522
- "resolved": "https://registry.npmjs.org/fancy-log/-/fancy-log-1.3.3.tgz",
1523
- "integrity": "sha512-k9oEhlyc0FrVh25qYuSELjr8oxsCoc4/LEZfg2iJJrfEk/tZL9bCoJE47gqAvI2m/AUjluCS4+3I0eTx8n3AEw==",
1524
- "dev": true,
1525
- "requires": {
1526
- "ansi-gray": "0.1.1",
1527
- "color-support": "1.1.3",
1528
- "parse-node-version": "1.0.1",
1529
- "time-stamp": "1.1.0"
1530
- }
1531
- },
1532
  "fast-deep-equal": {
1533
  "version": "2.0.1",
1534
  "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-2.0.1.tgz",
1535
  "integrity": "sha1-ewUhjd+WZ79/Nwv3/bLLFf3Qqkk=",
1536
  "dev": true
1537
  },
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1538
  "fast-json-stable-stringify": {
1539
  "version": "2.0.0",
1540
  "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.0.0.tgz",
@@ -1576,45 +2074,49 @@
1576
  "dev": true
1577
  },
1578
  "file-type": {
1579
- "version": "3.9.0",
1580
- "resolved": "https://registry.npmjs.org/file-type/-/file-type-3.9.0.tgz",
1581
- "integrity": "sha1-JXoHg4TR24CHvESdEH1SpSZyuek=",
1582
- "dev": true
1583
- },
1584
- "filename-regex": {
1585
- "version": "2.0.1",
1586
- "resolved": "https://registry.npmjs.org/filename-regex/-/filename-regex-2.0.1.tgz",
1587
- "integrity": "sha1-wcS5vuPglyXdsQa3XB4wH+LxiyY=",
1588
  "dev": true
1589
  },
1590
  "filename-reserved-regex": {
1591
- "version": "1.0.0",
1592
- "resolved": "https://registry.npmjs.org/filename-reserved-regex/-/filename-reserved-regex-1.0.0.tgz",
1593
- "integrity": "sha1-5hz4BfDeHJhFZ9A4bcXfUO5a9+Q=",
1594
  "dev": true
1595
  },
1596
  "filenamify": {
1597
- "version": "1.2.1",
1598
- "resolved": "https://registry.npmjs.org/filenamify/-/filenamify-1.2.1.tgz",
1599
- "integrity": "sha1-qfL/0RxQO+0wABUCknI3jx8TZaU=",
1600
  "dev": true,
1601
  "requires": {
1602
- "filename-reserved-regex": "1.0.0",
1603
  "strip-outer": "1.0.1",
1604
  "trim-repeated": "1.0.0"
1605
  }
1606
  },
1607
  "fill-range": {
1608
- "version": "2.2.4",
1609
- "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-2.2.4.tgz",
1610
- "integrity": "sha512-cnrcCbj01+j2gTG921VZPnHbjmdAf8oQV/iGeV2kZxGSyfYjjTyY79ErsK1WJWMpw6DaApEX72binqJE+/d+5Q==",
1611
  "dev": true,
1612
  "requires": {
1613
- "is-number": "2.1.0",
1614
- "isobject": "2.1.0",
1615
- "randomatic": "3.1.1",
1616
- "repeat-element": "1.1.3",
1617
- "repeat-string": "1.6.1"
 
 
 
 
 
 
 
 
 
 
1618
  }
1619
  },
1620
  "find-up": {
@@ -1628,16 +2130,23 @@
1628
  }
1629
  },
1630
  "find-versions": {
1631
- "version": "1.2.1",
1632
- "resolved": "https://registry.npmjs.org/find-versions/-/find-versions-1.2.1.tgz",
1633
- "integrity": "sha1-y96fEuOFdaCvG+G5osXV/Y8Ya2I=",
1634
  "dev": true,
1635
  "optional": true,
1636
  "requires": {
1637
- "array-uniq": "1.0.3",
1638
- "get-stdin": "4.0.1",
1639
- "meow": "3.7.0",
1640
- "semver-regex": "1.0.0"
 
 
 
 
 
 
 
1641
  }
1642
  },
1643
  "findup-sync": {
@@ -1664,27 +2173,12 @@
1664
  }
1665
  }
1666
  },
1667
- "first-chunk-stream": {
1668
- "version": "1.0.0",
1669
- "resolved": "https://registry.npmjs.org/first-chunk-stream/-/first-chunk-stream-1.0.0.tgz",
1670
- "integrity": "sha1-Wb+1DNkF9g18OUzT2ayqtOatk04=",
1671
- "dev": true
1672
- },
1673
  "for-in": {
1674
  "version": "1.0.2",
1675
  "resolved": "https://registry.npmjs.org/for-in/-/for-in-1.0.2.tgz",
1676
  "integrity": "sha1-gQaNKVqBQuwKxybG4iAMMPttXoA=",
1677
  "dev": true
1678
  },
1679
- "for-own": {
1680
- "version": "0.1.5",
1681
- "resolved": "https://registry.npmjs.org/for-own/-/for-own-0.1.5.tgz",
1682
- "integrity": "sha1-UmXGgaTylNq78XyVCbZ2OqhFEM4=",
1683
- "dev": true,
1684
- "requires": {
1685
- "for-in": "1.0.2"
1686
- }
1687
- },
1688
  "forever-agent": {
1689
  "version": "0.6.1",
1690
  "resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz",
@@ -1698,8 +2192,28 @@
1698
  "dev": true,
1699
  "requires": {
1700
  "asynckit": "0.4.0",
1701
- "combined-stream": "1.0.7",
1702
- "mime-types": "2.1.21"
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1703
  }
1704
  },
1705
  "fs-constants": {
@@ -1708,6 +2222,17 @@
1708
  "integrity": "sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow==",
1709
  "dev": true
1710
  },
 
 
 
 
 
 
 
 
 
 
 
1711
  "fs.realpath": {
1712
  "version": "1.0.0",
1713
  "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz",
@@ -1715,9 +2240,9 @@
1715
  "dev": true
1716
  },
1717
  "fstream": {
1718
- "version": "1.0.11",
1719
- "resolved": "https://registry.npmjs.org/fstream/-/fstream-1.0.11.tgz",
1720
- "integrity": "sha1-XB+x8RdHcRTwYyoOtLcbPLD9MXE=",
1721
  "dev": true,
1722
  "requires": {
1723
  "graceful-fs": "4.1.15",
@@ -1726,6 +2251,12 @@
1726
  "rimraf": "2.6.3"
1727
  }
1728
  },
 
 
 
 
 
 
1729
  "gauge": {
1730
  "version": "2.7.4",
1731
  "resolved": "https://registry.npmjs.org/gauge/-/gauge-2.7.4.tgz",
@@ -1752,12 +2283,12 @@
1752
  }
1753
  },
1754
  "get-proxy": {
1755
- "version": "1.1.0",
1756
- "resolved": "https://registry.npmjs.org/get-proxy/-/get-proxy-1.1.0.tgz",
1757
- "integrity": "sha1-iUhUSRvFkbDxR9euVw9cZ4tyVus=",
1758
  "dev": true,
1759
  "requires": {
1760
- "rc": "1.2.8"
1761
  }
1762
  },
1763
  "get-stdin": {
@@ -1766,6 +2297,18 @@
1766
  "integrity": "sha1-uWjGsKBDhDJJAui/Gl3zJXmkUP4=",
1767
  "dev": true
1768
  },
 
 
 
 
 
 
 
 
 
 
 
 
1769
  "getobject": {
1770
  "version": "0.1.0",
1771
  "resolved": "https://registry.npmjs.org/getobject/-/getobject-0.1.0.tgz",
@@ -1782,24 +2325,93 @@
1782
  }
1783
  },
1784
  "gettext-parser": {
1785
- "version": "1.1.2",
1786
- "resolved": "https://registry.npmjs.org/gettext-parser/-/gettext-parser-1.1.2.tgz",
1787
- "integrity": "sha1-zw8MnJCJrtsO5RSZKRg+ncQ1hKc=",
1788
  "dev": true,
1789
  "requires": {
1790
- "encoding": "0.1.12"
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1791
  }
1792
  },
1793
  "gifsicle": {
1794
- "version": "3.0.4",
1795
- "resolved": "https://registry.npmjs.org/gifsicle/-/gifsicle-3.0.4.tgz",
1796
- "integrity": "sha1-9Fy17RAWW2ZdySng6TKLbIId+js=",
1797
  "dev": true,
1798
  "optional": true,
1799
  "requires": {
1800
- "bin-build": "2.2.0",
1801
- "bin-wrapper": "3.0.2",
 
1802
  "logalot": "2.1.0"
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1803
  }
1804
  },
1805
  "github-from-package": {
@@ -1823,80 +2435,73 @@
1823
  "path-is-absolute": "1.0.1"
1824
  }
1825
  },
1826
- "glob-base": {
1827
- "version": "0.3.0",
1828
- "resolved": "https://registry.npmjs.org/glob-base/-/glob-base-0.3.0.tgz",
1829
- "integrity": "sha1-27Fk9iIbHAscz4Kuoyi0l98Oo8Q=",
1830
  "dev": true,
1831
  "requires": {
1832
- "glob-parent": "2.0.0",
1833
- "is-glob": "2.0.1"
1834
  },
1835
  "dependencies": {
1836
- "glob-parent": {
1837
- "version": "2.0.0",
1838
- "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-2.0.0.tgz",
1839
- "integrity": "sha1-gTg9ctsFT8zPUzbaqQLxgvbtuyg=",
1840
- "dev": true,
1841
- "requires": {
1842
- "is-glob": "2.0.1"
1843
- }
1844
- },
1845
- "is-extglob": {
1846
- "version": "1.0.0",
1847
- "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-1.0.0.tgz",
1848
- "integrity": "sha1-rEaBd8SUNAWgkvyPKXYMb/xiBsA=",
1849
- "dev": true
1850
- },
1851
  "is-glob": {
1852
- "version": "2.0.1",
1853
- "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-2.0.1.tgz",
1854
- "integrity": "sha1-0Jb5JqPe1WAPP9/ZEZjLCIjC2GM=",
1855
  "dev": true,
1856
  "requires": {
1857
- "is-extglob": "1.0.0"
1858
  }
1859
  }
1860
  }
1861
  },
1862
- "glob-parent": {
1863
- "version": "3.1.0",
1864
- "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-3.1.0.tgz",
1865
- "integrity": "sha1-nmr2KZ2NO9K9QEMIMr0RPfkGxa4=",
1866
- "dev": true,
1867
- "requires": {
1868
- "is-glob": "3.1.0",
1869
- "path-dirname": "1.0.2"
1870
- }
1871
  },
1872
- "glob-stream": {
1873
- "version": "5.3.5",
1874
- "resolved": "https://registry.npmjs.org/glob-stream/-/glob-stream-5.3.5.tgz",
1875
- "integrity": "sha1-pVZlqajM3EGRWofHAeMtTgFvrSI=",
1876
  "dev": true,
1877
  "requires": {
1878
- "extend": "3.0.2",
1879
- "glob": "5.0.15",
1880
- "glob-parent": "3.1.0",
1881
- "micromatch": "2.3.11",
1882
- "ordered-read-streams": "0.3.0",
1883
- "through2": "0.6.5",
1884
- "to-absolute-glob": "0.1.1",
1885
- "unique-stream": "2.3.1"
1886
  },
1887
  "dependencies": {
1888
  "glob": {
1889
- "version": "5.0.15",
1890
- "resolved": "https://registry.npmjs.org/glob/-/glob-5.0.15.tgz",
1891
- "integrity": "sha1-G8k2ueAvSmA/zCIuz3Yz0wuLk7E=",
1892
  "dev": true,
1893
  "requires": {
 
1894
  "inflight": "1.0.6",
1895
  "inherits": "2.0.3",
1896
  "minimatch": "3.0.4",
1897
  "once": "1.4.0",
1898
  "path-is-absolute": "1.0.1"
1899
  }
 
 
 
 
 
 
 
 
 
 
 
 
1900
  }
1901
  }
1902
  },
@@ -1906,15 +2511,15 @@
1906
  "integrity": "sha512-g7QtgWF4uYSL5/dn71WxubOrS7JVGCnFPEnoeChJmBnyR9Mw8nGoEwOgJL/RC2Te0WhbsEUCejfH8SZNJ+adYQ==",
1907
  "dev": true,
1908
  "requires": {
1909
- "glob": "7.1.3",
1910
  "lodash": "4.17.11",
1911
  "minimatch": "3.0.4"
1912
  },
1913
  "dependencies": {
1914
  "glob": {
1915
- "version": "7.1.3",
1916
- "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.3.tgz",
1917
- "integrity": "sha512-vcfuiIxogLV4DlGBHIUOwI0IbrJ8HWPc4MU7HzviGeNho/UJDfi6B5p3sHeWIQ0KGIU0Jpxi5ZHxemQfLkkAwQ==",
1918
  "dev": true,
1919
  "requires": {
1920
  "fs.realpath": "1.0.0",
@@ -1927,15 +2532,6 @@
1927
  }
1928
  }
1929
  },
1930
- "glogg": {
1931
- "version": "1.0.2",
1932
- "resolved": "https://registry.npmjs.org/glogg/-/glogg-1.0.2.tgz",
1933
- "integrity": "sha512-5mwUoSuBk44Y4EshyiqcH95ZntbDdTQqA3QYSrxmzj28Ai0vXBGMH1ApSANH14j2sIRtqCEyg6PfsuP7ElOEDA==",
1934
- "dev": true,
1935
- "requires": {
1936
- "sparkles": "1.0.1"
1937
- }
1938
- },
1939
  "gonzales-pe": {
1940
  "version": "3.0.0-28",
1941
  "resolved": "https://registry.npmjs.org/gonzales-pe/-/gonzales-pe-3.0.0-28.tgz",
@@ -1943,26 +2539,26 @@
1943
  "dev": true
1944
  },
1945
  "got": {
1946
- "version": "5.7.1",
1947
- "resolved": "https://registry.npmjs.org/got/-/got-5.7.1.tgz",
1948
- "integrity": "sha1-X4FjWmHkplifGAVp6k44FoClHzU=",
1949
  "dev": true,
 
1950
  "requires": {
1951
- "create-error-class": "3.0.2",
1952
- "duplexer2": "0.1.4",
1953
- "is-redirect": "1.0.0",
 
1954
  "is-retry-allowed": "1.1.0",
1955
  "is-stream": "1.1.0",
 
1956
  "lowercase-keys": "1.0.1",
1957
- "node-status-codes": "1.0.0",
1958
- "object-assign": "4.1.1",
1959
- "parse-json": "2.2.0",
1960
- "pinkie-promise": "2.0.1",
1961
- "read-all-stream": "3.1.0",
1962
- "readable-stream": "2.3.6",
1963
- "timed-out": "3.1.3",
1964
- "unzip-response": "1.0.2",
1965
- "url-parse-lax": "1.0.0"
1966
  }
1967
  },
1968
  "graceful-fs": {
@@ -1978,9 +2574,9 @@
1978
  "dev": true
1979
  },
1980
  "grunt": {
1981
- "version": "1.0.3",
1982
- "resolved": "https://registry.npmjs.org/grunt/-/grunt-1.0.3.tgz",
1983
- "integrity": "sha512-/JzmZNPfKorlCrrmxWqQO4JVodO+DVd5XX4DkocL/1WlLlKVLE9+SdEIempOAxDhWPysLle6afvn/hg7Ck2k9g==",
1984
  "dev": true,
1985
  "requires": {
1986
  "coffeescript": "1.10.0",
@@ -1994,7 +2590,7 @@
1994
  "grunt-legacy-log": "2.0.0",
1995
  "grunt-legacy-util": "1.1.1",
1996
  "iconv-lite": "0.4.24",
1997
- "js-yaml": "3.5.5",
1998
  "minimatch": "3.0.4",
1999
  "mkdirp": "0.5.1",
2000
  "nopt": "3.0.6",
@@ -2057,9 +2653,9 @@
2057
  }
2058
  },
2059
  "grunt-contrib-compress": {
2060
- "version": "1.4.3",
2061
- "resolved": "https://registry.npmjs.org/grunt-contrib-compress/-/grunt-contrib-compress-1.4.3.tgz",
2062
- "integrity": "sha1-Ac7/ucY39S5wgfRjdQmD0KOw+nM=",
2063
  "dev": true,
2064
  "requires": {
2065
  "archiver": "1.3.0",
@@ -2135,90 +2731,39 @@
2135
  }
2136
  },
2137
  "grunt-contrib-imagemin": {
2138
- "version": "1.0.1",
2139
- "resolved": "https://registry.npmjs.org/grunt-contrib-imagemin/-/grunt-contrib-imagemin-1.0.1.tgz",
2140
- "integrity": "sha1-5Ho1YTN29MqpwfkERlA8rhyUTXk=",
2141
  "dev": true,
2142
  "requires": {
2143
- "async": "1.5.2",
2144
- "chalk": "1.1.3",
2145
- "gulp-rename": "1.4.0",
2146
- "imagemin": "4.0.0",
2147
- "pretty-bytes": "3.0.1"
 
 
 
 
2148
  },
2149
  "dependencies": {
2150
- "ansi-styles": {
2151
- "version": "2.2.1",
2152
- "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz",
2153
- "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=",
2154
- "dev": true
2155
- },
2156
- "chalk": {
2157
- "version": "1.1.3",
2158
- "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz",
2159
- "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=",
2160
- "dev": true,
2161
- "requires": {
2162
- "ansi-styles": "2.2.1",
2163
- "escape-string-regexp": "1.0.5",
2164
- "has-ansi": "2.0.0",
2165
- "strip-ansi": "3.0.1",
2166
- "supports-color": "2.0.0"
2167
- }
2168
- },
2169
- "pretty-bytes": {
2170
- "version": "3.0.1",
2171
- "resolved": "https://registry.npmjs.org/pretty-bytes/-/pretty-bytes-3.0.1.tgz",
2172
- "integrity": "sha1-J9AAjXeAY6C0gRuzXHnxvV1fvM8=",
2173
- "dev": true,
2174
- "requires": {
2175
- "number-is-nan": "1.0.1"
2176
- }
2177
- },
2178
- "supports-color": {
2179
- "version": "2.0.0",
2180
- "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz",
2181
- "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=",
2182
  "dev": true
2183
  }
2184
  }
2185
  },
2186
  "grunt-contrib-jshint": {
2187
- "version": "1.1.0",
2188
- "resolved": "https://registry.npmjs.org/grunt-contrib-jshint/-/grunt-contrib-jshint-1.1.0.tgz",
2189
- "integrity": "sha1-Np2QmyWTxA6L55lAshNAhQx5Oaw=",
2190
  "dev": true,
2191
  "requires": {
2192
- "chalk": "1.1.3",
2193
  "hooker": "0.2.3",
2194
- "jshint": "2.9.7"
2195
- },
2196
- "dependencies": {
2197
- "ansi-styles": {
2198
- "version": "2.2.1",
2199
- "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz",
2200
- "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=",
2201
- "dev": true
2202
- },
2203
- "chalk": {
2204
- "version": "1.1.3",
2205
- "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz",
2206
- "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=",
2207
- "dev": true,
2208
- "requires": {
2209
- "ansi-styles": "2.2.1",
2210
- "escape-string-regexp": "1.0.5",
2211
- "has-ansi": "2.0.0",
2212
- "strip-ansi": "3.0.1",
2213
- "supports-color": "2.0.0"
2214
- }
2215
- },
2216
- "supports-color": {
2217
- "version": "2.0.0",
2218
- "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz",
2219
- "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=",
2220
- "dev": true
2221
- }
2222
  }
2223
  },
2224
  "grunt-contrib-watch": {
@@ -2227,16 +2772,16 @@
2227
  "integrity": "sha512-yGweN+0DW5yM+oo58fRu/XIRrPcn3r4tQx+nL7eMRwjpvk+rQY6R8o94BPK0i2UhTg9FN21hS+m8vR8v9vXfeg==",
2228
  "dev": true,
2229
  "requires": {
2230
- "async": "2.6.1",
2231
  "gaze": "1.1.3",
2232
  "lodash": "4.17.11",
2233
  "tiny-lr": "1.1.1"
2234
  },
2235
  "dependencies": {
2236
  "async": {
2237
- "version": "2.6.1",
2238
- "resolved": "https://registry.npmjs.org/async/-/async-2.6.1.tgz",
2239
- "integrity": "sha512-fNEiL2+AZt6AlAw/29Cr0UDe4sRAHCpEHh54WMz+Bb7QfNcFw4h3loofyJpLeQs4Yx7yuqu/2dLgM5hKOs6HlQ==",
2240
  "dev": true,
2241
  "requires": {
2242
  "lodash": "4.17.11"
@@ -2559,6 +3104,12 @@
2559
  "integrity": "sha1-jzSZxSRdNG1oLlsNO0B2fgnxqSw=",
2560
  "dev": true
2561
  },
 
 
 
 
 
 
2562
  "minimatch": {
2563
  "version": "0.2.14",
2564
  "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-0.2.14.tgz",
@@ -2605,17 +3156,17 @@
2605
  "dev": true
2606
  },
2607
  "grunt-plugin-fleet": {
2608
- "version": "github:codeinwp/grunt-plugin-fleet#2d97d75d7c9f3d5cf7ae0c6038fcdeafe1642b98",
2609
  "dev": true,
2610
  "requires": {
2611
- "autoprefixer": "6.7.7",
2612
- "grunt": "0.4.5",
2613
  "grunt-cachebuster": "0.1.7",
2614
  "grunt-checktextdomain": "1.0.1",
2615
- "grunt-contrib-compress": "1.4.3",
2616
  "grunt-contrib-copy": "1.0.0",
2617
- "grunt-contrib-imagemin": "1.0.1",
2618
- "grunt-contrib-jshint": "1.1.0",
2619
  "grunt-contrib-watch": "1.1.0",
2620
  "grunt-mkdir": "1.0.0",
2621
  "grunt-newer": "1.3.0",
@@ -2624,826 +3175,127 @@
2624
  "grunt-phplint": "0.1.0",
2625
  "grunt-phpunit": "0.3.6",
2626
  "grunt-postcss": "0.9.0",
2627
- "grunt-rsync": "2.0.1",
2628
- "grunt-sync": "0.6.2",
2629
  "grunt-text-replace": "0.4.0",
2630
  "grunt-version": "1.3.0",
2631
  "grunt-wp-css": "0.2.1",
2632
- "grunt-wp-i18n": "0.5.4",
2633
  "grunt-wp-readme-to-markdown": "2.0.1",
 
2634
  "time-grunt": "1.4.0"
 
 
 
 
 
 
 
 
 
 
 
2635
  },
2636
  "dependencies": {
2637
- "argparse": {
2638
- "version": "0.1.16",
2639
- "resolved": "https://registry.npmjs.org/argparse/-/argparse-0.1.16.tgz",
2640
- "integrity": "sha1-z9AeD7uj1srtBJ+9dY1A9lGW9Xw=",
2641
- "dev": true,
2642
- "requires": {
2643
- "underscore": "1.7.0",
2644
- "underscore.string": "2.4.0"
2645
- },
2646
- "dependencies": {
2647
- "underscore.string": {
2648
- "version": "2.4.0",
2649
- "resolved": "https://registry.npmjs.org/underscore.string/-/underscore.string-2.4.0.tgz",
2650
- "integrity": "sha1-jN2PusTi0uoefi6Al8QvRCKA+Fs=",
2651
- "dev": true
2652
- }
2653
- }
2654
- },
2655
- "async": {
2656
- "version": "0.1.22",
2657
- "resolved": "https://registry.npmjs.org/async/-/async-0.1.22.tgz",
2658
- "integrity": "sha1-D8GqoIig4+8Ovi2IMbqw3PiEUGE=",
2659
- "dev": true
2660
- },
2661
- "colors": {
2662
- "version": "0.6.2",
2663
- "resolved": "https://registry.npmjs.org/colors/-/colors-0.6.2.tgz",
2664
- "integrity": "sha1-JCP+ZnisDF2uiFLl0OW+CMmXq8w=",
2665
- "dev": true
2666
- },
2667
- "dateformat": {
2668
- "version": "1.0.2-1.2.3",
2669
- "resolved": "https://registry.npmjs.org/dateformat/-/dateformat-1.0.2-1.2.3.tgz",
2670
- "integrity": "sha1-sCIMAt6YYXQztyhRz0fePfLNvuk=",
2671
- "dev": true
2672
- },
2673
- "esprima": {
2674
- "version": "1.0.4",
2675
- "resolved": "https://registry.npmjs.org/esprima/-/esprima-1.0.4.tgz",
2676
- "integrity": "sha1-n1V+CPw7TSbs6d00+Pv0drYlha0=",
2677
- "dev": true
2678
- },
2679
- "findup-sync": {
2680
- "version": "0.1.3",
2681
- "resolved": "https://registry.npmjs.org/findup-sync/-/findup-sync-0.1.3.tgz",
2682
- "integrity": "sha1-fz56l7gjksZTvwZYm9hRkOk8NoM=",
2683
  "dev": true,
2684
  "requires": {
2685
- "glob": "3.2.11",
2686
- "lodash": "2.4.2"
2687
- },
2688
- "dependencies": {
2689
- "glob": {
2690
- "version": "3.2.11",
2691
- "resolved": "https://registry.npmjs.org/glob/-/glob-3.2.11.tgz",
2692
- "integrity": "sha1-Spc/Y1uRkPcV0QmH1cAP0oFevj0=",
2693
- "dev": true,
2694
- "requires": {
2695
- "inherits": "2.0.3",
2696
- "minimatch": "0.3.0"
2697
- }
2698
- },
2699
- "lodash": {
2700
- "version": "2.4.2",
2701
- "resolved": "https://registry.npmjs.org/lodash/-/lodash-2.4.2.tgz",
2702
- "integrity": "sha1-+t2DS5aDBz2hebPq5tnA0VBT9z4=",
2703
- "dev": true
2704
- },
2705
- "minimatch": {
2706
- "version": "0.3.0",
2707
- "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-0.3.0.tgz",
2708
- "integrity": "sha1-J12O2qxPG7MyZHIInnlJyDlGmd0=",
2709
- "dev": true,
2710
- "requires": {
2711
- "lru-cache": "2.7.3",
2712
- "sigmund": "1.0.1"
2713
- }
2714
- }
2715
  }
2716
- },
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
2717
  "glob": {
2718
- "version": "3.1.21",
2719
- "resolved": "https://registry.npmjs.org/glob/-/glob-3.1.21.tgz",
2720
- "integrity": "sha1-0p4KBV3qUTj00H7UDomC6DwgZs0=",
2721
  "dev": true,
2722
  "requires": {
2723
- "graceful-fs": "1.2.3",
2724
- "inherits": "1.0.2",
2725
- "minimatch": "0.2.14"
2726
- },
2727
- "dependencies": {
2728
- "inherits": {
2729
- "version": "1.0.2",
2730
- "resolved": "https://registry.npmjs.org/inherits/-/inherits-1.0.2.tgz",
2731
- "integrity": "sha1-ykMJ2t7mtUzAuNJH6NfHoJdb3Js=",
2732
- "dev": true
2733
- }
2734
  }
2735
- },
2736
- "graceful-fs": {
2737
- "version": "1.2.3",
2738
- "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-1.2.3.tgz",
2739
- "integrity": "sha1-FaSAaldUfLLS2/J/QuiajDRRs2Q=",
2740
- "dev": true
2741
- },
2742
- "grunt": {
2743
- "version": "0.4.5",
2744
- "resolved": "https://registry.npmjs.org/grunt/-/grunt-0.4.5.tgz",
2745
- "integrity": "sha1-VpN81RlDJK3/bSB2MYMqnWuk5/A=",
2746
- "dev": true,
2747
- "requires": {
2748
- "async": "0.1.22",
2749
- "coffee-script": "1.3.3",
2750
- "colors": "0.6.2",
2751
- "dateformat": "1.0.2-1.2.3",
2752
- "eventemitter2": "0.4.14",
2753
- "exit": "0.1.2",
2754
- "findup-sync": "0.1.3",
2755
- "getobject": "0.1.0",
2756
- "glob": "3.1.21",
2757
- "grunt-legacy-log": "0.1.3",
2758
- "grunt-legacy-util": "0.2.0",
2759
- "hooker": "0.2.3",
2760
- "iconv-lite": "0.2.11",
2761
- "js-yaml": "2.0.5",
2762
- "lodash": "0.9.2",
2763
- "minimatch": "0.2.14",
2764
- "nopt": "1.0.10",
2765
- "rimraf": "2.2.8",
2766
- "underscore.string": "2.2.1",
2767
- "which": "1.0.9"
2768
- }
2769
- },
2770
- "grunt-legacy-log": {
2771
- "version": "0.1.3",
2772
- "resolved": "https://registry.npmjs.org/grunt-legacy-log/-/grunt-legacy-log-0.1.3.tgz",
2773
- "integrity": "sha1-7ClCboAwIa9ZAp+H0vnNczWgVTE=",
2774
- "dev": true,
2775
- "requires": {
2776
- "colors": "0.6.2",
2777
- "grunt-legacy-log-utils": "0.1.1",
2778
- "hooker": "0.2.3",
2779
- "lodash": "2.4.2",
2780
- "underscore.string": "2.3.3"
2781
- },
2782
- "dependencies": {
2783
- "lodash": {
2784
- "version": "2.4.2",
2785
- "resolved": "https://registry.npmjs.org/lodash/-/lodash-2.4.2.tgz",
2786
- "integrity": "sha1-+t2DS5aDBz2hebPq5tnA0VBT9z4=",
2787
- "dev": true
2788
- },
2789
- "underscore.string": {
2790
- "version": "2.3.3",
2791
- "resolved": "https://registry.npmjs.org/underscore.string/-/underscore.string-2.3.3.tgz",
2792
- "integrity": "sha1-ccCL9rQosRM/N+ePo6Icgvcymw0=",
2793
- "dev": true
2794
- }
2795
- }
2796
- },
2797
- "grunt-legacy-log-utils": {
2798
- "version": "0.1.1",
2799
- "resolved": "https://registry.npmjs.org/grunt-legacy-log-utils/-/grunt-legacy-log-utils-0.1.1.tgz",
2800
- "integrity": "sha1-wHBrndkGThFvNvI/5OawSGcsD34=",
2801
- "dev": true,
2802
- "requires": {
2803
- "colors": "0.6.2",
2804
- "lodash": "2.4.2",
2805
- "underscore.string": "2.3.3"
2806
- },
2807
- "dependencies": {
2808
- "lodash": {
2809
- "version": "2.4.2",
2810
- "resolved": "https://registry.npmjs.org/lodash/-/lodash-2.4.2.tgz",
2811
- "integrity": "sha1-+t2DS5aDBz2hebPq5tnA0VBT9z4=",
2812
- "dev": true
2813
- },
2814
- "underscore.string": {
2815
- "version": "2.3.3",
2816
- "resolved": "https://registry.npmjs.org/underscore.string/-/underscore.string-2.3.3.tgz",
2817
- "integrity": "sha1-ccCL9rQosRM/N+ePo6Icgvcymw0=",
2818
- "dev": true
2819
- }
2820
- }
2821
- },
2822
- "grunt-legacy-util": {
2823
- "version": "0.2.0",
2824
- "resolved": "https://registry.npmjs.org/grunt-legacy-util/-/grunt-legacy-util-0.2.0.tgz",
2825
- "integrity": "sha1-kzJIhNv343qf98Am3/RR2UqeVUs=",
2826
- "dev": true,
2827
- "requires": {
2828
- "async": "0.1.22",
2829
- "exit": "0.1.2",
2830
- "getobject": "0.1.0",
2831
- "hooker": "0.2.3",
2832
- "lodash": "0.9.2",
2833
- "underscore.string": "2.2.1",
2834
- "which": "1.0.9"
2835
- }
2836
- },
2837
- "iconv-lite": {
2838
- "version": "0.2.11",
2839
- "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.2.11.tgz",
2840
- "integrity": "sha1-HOYKOleGSiktEyH/RgnKS7llrcg=",
2841
- "dev": true
2842
- },
2843
- "js-yaml": {
2844
- "version": "2.0.5",
2845
- "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-2.0.5.tgz",
2846
- "integrity": "sha1-olrmUJmZ6X3yeMZxnaEb0Gh3Q6g=",
2847
- "dev": true,
2848
- "requires": {
2849
- "argparse": "0.1.16",
2850
- "esprima": "1.0.4"
2851
- }
2852
- },
2853
- "lodash": {
2854
- "version": "0.9.2",
2855
- "resolved": "https://registry.npmjs.org/lodash/-/lodash-0.9.2.tgz",
2856
- "integrity": "sha1-jzSZxSRdNG1oLlsNO0B2fgnxqSw=",
2857
- "dev": true
2858
- },
2859
- "minimatch": {
2860
- "version": "0.2.14",
2861
- "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-0.2.14.tgz",
2862
- "integrity": "sha1-x054BXT2PG+aCQ6Q775u9TpqdWo=",
2863
- "dev": true,
2864
- "requires": {
2865
- "lru-cache": "2.7.3",
2866
- "sigmund": "1.0.1"
2867
- }
2868
- },
2869
- "nopt": {
2870
- "version": "1.0.10",
2871
- "resolved": "https://registry.npmjs.org/nopt/-/nopt-1.0.10.tgz",
2872
- "integrity": "sha1-bd0hvSoxQXuScn3Vhfim83YI6+4=",
2873
- "dev": true,
2874
- "requires": {
2875
- "abbrev": "1.1.1"
2876
- }
2877
- },
2878
- "rimraf": {
2879
- "version": "2.2.8",
2880
- "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.2.8.tgz",
2881
- "integrity": "sha1-5Dm+Kq7jJzIZUnMPmaiSnk/FBYI=",
2882
- "dev": true
2883
- },
2884
- "underscore.string": {
2885
- "version": "2.2.1",
2886
- "resolved": "https://registry.npmjs.org/underscore.string/-/underscore.string-2.2.1.tgz",
2887
- "integrity": "sha1-18D6KvXVoaZ/QlPa7pgTLnM/Dxk=",
2888
- "dev": true
2889
- },
2890
- "which": {
2891
- "version": "1.0.9",
2892
- "resolved": "https://registry.npmjs.org/which/-/which-1.0.9.tgz",
2893
- "integrity": "sha1-RgwdoPgQED0DIam2M6+eV15kSG8=",
2894
- "dev": true
2895
- }
2896
- }
2897
- },
2898
- "grunt-postcss": {
2899
- "version": "0.9.0",
2900
- "resolved": "https://registry.npmjs.org/grunt-postcss/-/grunt-postcss-0.9.0.tgz",
2901
- "integrity": "sha512-lglLcVaoOIqH0sFv7RqwUKkEFGQwnlqyAKbatxZderwZGV1nDyKHN7gZS9LUiTx1t5GOvRBx0BEalHMyVwFAIA==",
2902
- "dev": true,
2903
- "requires": {
2904
- "chalk": "2.4.2",
2905
- "diff": "3.5.0",
2906
- "postcss": "6.0.23"
2907
- },
2908
- "dependencies": {
2909
- "postcss": {
2910
- "version": "6.0.23",
2911
- "resolved": "https://registry.npmjs.org/postcss/-/postcss-6.0.23.tgz",
2912
- "integrity": "sha512-soOk1h6J3VMTZtVeVpv15/Hpdl2cBLX3CAw4TAbkpTJiNPk9YP/zWcD1ND+xEtvyuuvKzbxliTOIyvkSeSJ6ag==",
2913
- "dev": true,
2914
- "requires": {
2915
- "chalk": "2.4.2",
2916
- "source-map": "0.6.1",
2917
- "supports-color": "5.5.0"
2918
- }
2919
- },
2920
- "source-map": {
2921
- "version": "0.6.1",
2922
- "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
2923
- "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
2924
- "dev": true
2925
- }
2926
- }
2927
- },
2928
- "grunt-rsync": {
2929
- "version": "2.0.1",
2930
- "resolved": "https://registry.npmjs.org/grunt-rsync/-/grunt-rsync-2.0.1.tgz",
2931
- "integrity": "sha1-uX3RVCFqzItJJFYFPuuzUlym+R8=",
2932
- "dev": true,
2933
- "requires": {
2934
- "rsyncwrapper": "2.0.1"
2935
- }
2936
- },
2937
- "grunt-sync": {
2938
- "version": "0.6.2",
2939
- "resolved": "https://registry.npmjs.org/grunt-sync/-/grunt-sync-0.6.2.tgz",
2940
- "integrity": "sha1-2ay2W0IF0Be9ZGLkn+wtkHGs5Hs=",
2941
- "dev": true,
2942
- "requires": {
2943
- "glob": "7.0.6",
2944
- "lodash": "4.17.11",
2945
- "md5-file": "2.0.7",
2946
- "promised-io": "0.3.5"
2947
- }
2948
- },
2949
- "grunt-text-replace": {
2950
- "version": "0.4.0",
2951
- "resolved": "https://registry.npmjs.org/grunt-text-replace/-/grunt-text-replace-0.4.0.tgz",
2952
- "integrity": "sha1-252c5Z4v5J2id+nbwZXD4Rz7FsI=",
2953
- "dev": true
2954
- },
2955
- "grunt-version": {
2956
- "version": "1.3.0",
2957
- "resolved": "https://registry.npmjs.org/grunt-version/-/grunt-version-1.3.0.tgz",
2958
- "integrity": "sha512-sHXaI20enfemESU2r/mrJd8eEFr8qSJSwzzIyau2IaxKwez0ojr5wg93x74K7PqSBKmVxumJ6TTscvGIfygRbA==",
2959
- "dev": true,
2960
- "requires": {
2961
- "grunt": "1.0.3",
2962
- "semver": "4.3.6"
2963
- },
2964
- "dependencies": {
2965
- "semver": {
2966
- "version": "4.3.6",
2967
- "resolved": "https://registry.npmjs.org/semver/-/semver-4.3.6.tgz",
2968
- "integrity": "sha1-MAvG4OhjdPe6YQaLWx7NV/xlMto=",
2969
- "dev": true
2970
- }
2971
- }
2972
- },
2973
- "grunt-wp-css": {
2974
- "version": "0.2.1",
2975
- "resolved": "https://registry.npmjs.org/grunt-wp-css/-/grunt-wp-css-0.2.1.tgz",
2976
- "integrity": "sha1-cC7ZaZzXyQCjQGwgQaHSg1WIf2s=",
2977
- "dev": true,
2978
- "requires": {
2979
- "cssbeautify": "0.3.1",
2980
- "csscomb": "3.1.8",
2981
- "lodash": "4.17.11"
2982
- }
2983
- },
2984
- "grunt-wp-i18n": {
2985
- "version": "0.5.4",
2986
- "resolved": "https://registry.npmjs.org/grunt-wp-i18n/-/grunt-wp-i18n-0.5.4.tgz",
2987
- "integrity": "sha1-hynlrU9LIxJpch8xcWVNLGKVVJI=",
2988
- "dev": true,
2989
- "requires": {
2990
- "async": "0.9.2",
2991
- "gettext-parser": "1.1.2",
2992
- "grunt": "0.4.5",
2993
- "underscore": "1.8.3",
2994
- "underscore.string": "3.0.3"
2995
- },
2996
- "dependencies": {
2997
- "argparse": {
2998
- "version": "0.1.16",
2999
- "resolved": "https://registry.npmjs.org/argparse/-/argparse-0.1.16.tgz",
3000
- "integrity": "sha1-z9AeD7uj1srtBJ+9dY1A9lGW9Xw=",
3001
- "dev": true,
3002
- "requires": {
3003
- "underscore": "1.7.0",
3004
- "underscore.string": "2.4.0"
3005
- },
3006
- "dependencies": {
3007
- "underscore": {
3008
- "version": "1.7.0",
3009
- "resolved": "https://registry.npmjs.org/underscore/-/underscore-1.7.0.tgz",
3010
- "integrity": "sha1-a7rwh3UA02vjTsqlhODbn+8DUgk=",
3011
- "dev": true
3012
- },
3013
- "underscore.string": {
3014
- "version": "2.4.0",
3015
- "resolved": "https://registry.npmjs.org/underscore.string/-/underscore.string-2.4.0.tgz",
3016
- "integrity": "sha1-jN2PusTi0uoefi6Al8QvRCKA+Fs=",
3017
- "dev": true
3018
- }
3019
- }
3020
- },
3021
- "async": {
3022
- "version": "0.9.2",
3023
- "resolved": "https://registry.npmjs.org/async/-/async-0.9.2.tgz",
3024
- "integrity": "sha1-rqdNXmHB+JlhO/ZL2mbUx48v0X0=",
3025
- "dev": true
3026
- },
3027
- "coffee-script": {
3028
- "version": "1.3.3",
3029
- "resolved": "https://registry.npmjs.org/coffee-script/-/coffee-script-1.3.3.tgz",
3030
- "integrity": "sha1-FQ1rTLUiiUNp7+1qIQHCC8f0pPQ=",
3031
- "dev": true
3032
- },
3033
- "colors": {
3034
- "version": "0.6.2",
3035
- "resolved": "https://registry.npmjs.org/colors/-/colors-0.6.2.tgz",
3036
- "integrity": "sha1-JCP+ZnisDF2uiFLl0OW+CMmXq8w=",
3037
- "dev": true
3038
- },
3039
- "dateformat": {
3040
- "version": "1.0.2-1.2.3",
3041
- "resolved": "https://registry.npmjs.org/dateformat/-/dateformat-1.0.2-1.2.3.tgz",
3042
- "integrity": "sha1-sCIMAt6YYXQztyhRz0fePfLNvuk=",
3043
- "dev": true
3044
- },
3045
- "esprima": {
3046
- "version": "1.0.4",
3047
- "resolved": "https://registry.npmjs.org/esprima/-/esprima-1.0.4.tgz",
3048
- "integrity": "sha1-n1V+CPw7TSbs6d00+Pv0drYlha0=",
3049
- "dev": true
3050
- },
3051
- "findup-sync": {
3052
- "version": "0.1.3",
3053
- "resolved": "https://registry.npmjs.org/findup-sync/-/findup-sync-0.1.3.tgz",
3054
- "integrity": "sha1-fz56l7gjksZTvwZYm9hRkOk8NoM=",
3055
- "dev": true,
3056
- "requires": {
3057
- "glob": "3.2.11",
3058
- "lodash": "2.4.2"
3059
- },
3060
- "dependencies": {
3061
- "glob": {
3062
- "version": "3.2.11",
3063
- "resolved": "https://registry.npmjs.org/glob/-/glob-3.2.11.tgz",
3064
- "integrity": "sha1-Spc/Y1uRkPcV0QmH1cAP0oFevj0=",
3065
- "dev": true,
3066
- "requires": {
3067
- "inherits": "2.0.3",
3068
- "minimatch": "0.3.0"
3069
- }
3070
- },
3071
- "lodash": {
3072
- "version": "2.4.2",
3073
- "resolved": "https://registry.npmjs.org/lodash/-/lodash-2.4.2.tgz",
3074
- "integrity": "sha1-+t2DS5aDBz2hebPq5tnA0VBT9z4=",
3075
- "dev": true
3076
- },
3077
- "minimatch": {
3078
- "version": "0.3.0",
3079
- "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-0.3.0.tgz",
3080
- "integrity": "sha1-J12O2qxPG7MyZHIInnlJyDlGmd0=",
3081
- "dev": true,
3082
- "requires": {
3083
- "lru-cache": "2.7.3",
3084
- "sigmund": "1.0.1"
3085
- }
3086
- }
3087
- }
3088
- },
3089
- "glob": {
3090
- "version": "3.1.21",
3091
- "resolved": "https://registry.npmjs.org/glob/-/glob-3.1.21.tgz",
3092
- "integrity": "sha1-0p4KBV3qUTj00H7UDomC6DwgZs0=",
3093
- "dev": true,
3094
- "requires": {
3095
- "graceful-fs": "1.2.3",
3096
- "inherits": "1.0.2",
3097
- "minimatch": "0.2.14"
3098
- },
3099
- "dependencies": {
3100
- "inherits": {
3101
- "version": "1.0.2",
3102
- "resolved": "https://registry.npmjs.org/inherits/-/inherits-1.0.2.tgz",
3103
- "integrity": "sha1-ykMJ2t7mtUzAuNJH6NfHoJdb3Js=",
3104
- "dev": true
3105
- }
3106
- }
3107
- },
3108
- "graceful-fs": {
3109
- "version": "1.2.3",
3110
- "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-1.2.3.tgz",
3111
- "integrity": "sha1-FaSAaldUfLLS2/J/QuiajDRRs2Q=",
3112
- "dev": true
3113
- },
3114
- "grunt": {
3115
- "version": "0.4.5",
3116
- "resolved": "https://registry.npmjs.org/grunt/-/grunt-0.4.5.tgz",
3117
- "integrity": "sha1-VpN81RlDJK3/bSB2MYMqnWuk5/A=",
3118
- "dev": true,
3119
- "requires": {
3120
- "async": "0.1.22",
3121
- "coffee-script": "1.3.3",
3122
- "colors": "0.6.2",
3123
- "dateformat": "1.0.2-1.2.3",
3124
- "eventemitter2": "0.4.14",
3125
- "exit": "0.1.2",
3126
- "findup-sync": "0.1.3",
3127
- "getobject": "0.1.0",
3128
- "glob": "3.1.21",
3129
- "grunt-legacy-log": "0.1.3",
3130
- "grunt-legacy-util": "0.2.0",
3131
- "hooker": "0.2.3",
3132
- "iconv-lite": "0.2.11",
3133
- "js-yaml": "2.0.5",
3134
- "lodash": "0.9.2",
3135
- "minimatch": "0.2.14",
3136
- "nopt": "1.0.10",
3137
- "rimraf": "2.2.8",
3138
- "underscore.string": "2.2.1",
3139
- "which": "1.0.9"
3140
- },
3141
- "dependencies": {
3142
- "async": {
3143
- "version": "0.1.22",
3144
- "resolved": "https://registry.npmjs.org/async/-/async-0.1.22.tgz",
3145
- "integrity": "sha1-D8GqoIig4+8Ovi2IMbqw3PiEUGE=",
3146
- "dev": true
3147
- },
3148
- "underscore.string": {
3149
- "version": "2.2.1",
3150
- "resolved": "https://registry.npmjs.org/underscore.string/-/underscore.string-2.2.1.tgz",
3151
- "integrity": "sha1-18D6KvXVoaZ/QlPa7pgTLnM/Dxk=",
3152
- "dev": true
3153
- }
3154
- }
3155
- },
3156
- "grunt-legacy-log": {
3157
- "version": "0.1.3",
3158
- "resolved": "https://registry.npmjs.org/grunt-legacy-log/-/grunt-legacy-log-0.1.3.tgz",
3159
- "integrity": "sha1-7ClCboAwIa9ZAp+H0vnNczWgVTE=",
3160
- "dev": true,
3161
- "requires": {
3162
- "colors": "0.6.2",
3163
- "grunt-legacy-log-utils": "0.1.1",
3164
- "hooker": "0.2.3",
3165
- "lodash": "2.4.2",
3166
- "underscore.string": "2.3.3"
3167
- },
3168
- "dependencies": {
3169
- "lodash": {
3170
- "version": "2.4.2",
3171
- "resolved": "https://registry.npmjs.org/lodash/-/lodash-2.4.2.tgz",
3172
- "integrity": "sha1-+t2DS5aDBz2hebPq5tnA0VBT9z4=",
3173
- "dev": true
3174
- },
3175
- "underscore.string": {
3176
- "version": "2.3.3",
3177
- "resolved": "https://registry.npmjs.org/underscore.string/-/underscore.string-2.3.3.tgz",
3178
- "integrity": "sha1-ccCL9rQosRM/N+ePo6Icgvcymw0=",
3179
- "dev": true
3180
- }
3181
- }
3182
- },
3183
- "grunt-legacy-log-utils": {
3184
- "version": "0.1.1",
3185
- "resolved": "https://registry.npmjs.org/grunt-legacy-log-utils/-/grunt-legacy-log-utils-0.1.1.tgz",
3186
- "integrity": "sha1-wHBrndkGThFvNvI/5OawSGcsD34=",
3187
- "dev": true,
3188
- "requires": {
3189
- "colors": "0.6.2",
3190
- "lodash": "2.4.2",
3191
- "underscore.string": "2.3.3"
3192
- },
3193
- "dependencies": {
3194
- "lodash": {
3195
- "version": "2.4.2",
3196
- "resolved": "https://registry.npmjs.org/lodash/-/lodash-2.4.2.tgz",
3197
- "integrity": "sha1-+t2DS5aDBz2hebPq5tnA0VBT9z4=",
3198
- "dev": true
3199
- },
3200
- "underscore.string": {
3201
- "version": "2.3.3",
3202
- "resolved": "https://registry.npmjs.org/underscore.string/-/underscore.string-2.3.3.tgz",
3203
- "integrity": "sha1-ccCL9rQosRM/N+ePo6Icgvcymw0=",
3204
- "dev": true
3205
- }
3206
- }
3207
- },
3208
- "grunt-legacy-util": {
3209
- "version": "0.2.0",
3210
- "resolved": "https://registry.npmjs.org/grunt-legacy-util/-/grunt-legacy-util-0.2.0.tgz",
3211
- "integrity": "sha1-kzJIhNv343qf98Am3/RR2UqeVUs=",
3212
- "dev": true,
3213
- "requires": {
3214
- "async": "0.1.22",
3215
- "exit": "0.1.2",
3216
- "getobject": "0.1.0",
3217
- "hooker": "0.2.3",
3218
- "lodash": "0.9.2",
3219
- "underscore.string": "2.2.1",
3220
- "which": "1.0.9"
3221
- },
3222
- "dependencies": {
3223
- "async": {
3224
- "version": "0.1.22",
3225
- "resolved": "https://registry.npmjs.org/async/-/async-0.1.22.tgz",
3226
- "integrity": "sha1-D8GqoIig4+8Ovi2IMbqw3PiEUGE=",
3227
- "dev": true
3228
- },
3229
- "underscore.string": {
3230
- "version": "2.2.1",
3231
- "resolved": "https://registry.npmjs.org/underscore.string/-/underscore.string-2.2.1.tgz",
3232
- "integrity": "sha1-18D6KvXVoaZ/QlPa7pgTLnM/Dxk=",
3233
- "dev": true
3234
- }
3235
- }
3236
- },
3237
- "iconv-lite": {
3238
- "version": "0.2.11",
3239
- "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.2.11.tgz",
3240
- "integrity": "sha1-HOYKOleGSiktEyH/RgnKS7llrcg=",
3241
- "dev": true
3242
- },
3243
- "js-yaml": {
3244
- "version": "2.0.5",
3245
- "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-2.0.5.tgz",
3246
- "integrity": "sha1-olrmUJmZ6X3yeMZxnaEb0Gh3Q6g=",
3247
- "dev": true,
3248
- "requires": {
3249
- "argparse": "0.1.16",
3250
- "esprima": "1.0.4"
3251
- }
3252
- },
3253
- "lodash": {
3254
- "version": "0.9.2",
3255
- "resolved": "https://registry.npmjs.org/lodash/-/lodash-0.9.2.tgz",
3256
- "integrity": "sha1-jzSZxSRdNG1oLlsNO0B2fgnxqSw=",
3257
- "dev": true
3258
- },
3259
- "minimatch": {
3260
- "version": "0.2.14",
3261
- "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-0.2.14.tgz",
3262
- "integrity": "sha1-x054BXT2PG+aCQ6Q775u9TpqdWo=",
3263
- "dev": true,
3264
- "requires": {
3265
- "lru-cache": "2.7.3",
3266
- "sigmund": "1.0.1"
3267
- }
3268
- },
3269
- "nopt": {
3270
- "version": "1.0.10",
3271
- "resolved": "https://registry.npmjs.org/nopt/-/nopt-1.0.10.tgz",
3272
- "integrity": "sha1-bd0hvSoxQXuScn3Vhfim83YI6+4=",
3273
- "dev": true,
3274
- "requires": {
3275
- "abbrev": "1.1.1"
3276
- }
3277
- },
3278
- "rimraf": {
3279
- "version": "2.2.8",
3280
- "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.2.8.tgz",
3281
- "integrity": "sha1-5Dm+Kq7jJzIZUnMPmaiSnk/FBYI=",
3282
- "dev": true
3283
- },
3284
- "underscore": {
3285
- "version": "1.8.3",
3286
- "resolved": "https://registry.npmjs.org/underscore/-/underscore-1.8.3.tgz",
3287
- "integrity": "sha1-Tz+1OxBuYJf8+ctBCfKl6b36UCI=",
3288
- "dev": true
3289
- },
3290
- "underscore.string": {
3291
- "version": "3.0.3",
3292
- "resolved": "https://registry.npmjs.org/underscore.string/-/underscore.string-3.0.3.tgz",
3293
- "integrity": "sha1-Rhe4waJQz25QZPu7Nj0PqWzxRVI=",
3294
- "dev": true
3295
- },
3296
- "which": {
3297
- "version": "1.0.9",
3298
- "resolved": "https://registry.npmjs.org/which/-/which-1.0.9.tgz",
3299
- "integrity": "sha1-RgwdoPgQED0DIam2M6+eV15kSG8=",
3300
  "dev": true
3301
  }
3302
  }
3303
  },
3304
- "grunt-wp-readme-to-markdown": {
3305
- "version": "2.0.1",
3306
- "resolved": "https://registry.npmjs.org/grunt-wp-readme-to-markdown/-/grunt-wp-readme-to-markdown-2.0.1.tgz",
3307
- "integrity": "sha1-QGzV6YmIWA3B0W6AXE4uYJJWhVI=",
3308
- "dev": true
3309
- },
3310
- "gulp-decompress": {
3311
- "version": "1.2.0",
3312
- "resolved": "https://registry.npmjs.org/gulp-decompress/-/gulp-decompress-1.2.0.tgz",
3313
- "integrity": "sha1-jutlpeAV+O2FMsr+KEVJYGJvDcc=",
3314
- "dev": true,
3315
- "requires": {
3316
- "archive-type": "3.2.0",
3317
- "decompress": "3.0.0",
3318
- "gulp-util": "3.0.8",
3319
- "readable-stream": "2.3.6"
3320
- }
3321
- },
3322
- "gulp-rename": {
3323
- "version": "1.4.0",
3324
- "resolved": "https://registry.npmjs.org/gulp-rename/-/gulp-rename-1.4.0.tgz",
3325
- "integrity": "sha512-swzbIGb/arEoFK89tPY58vg3Ok1bw+d35PfUNwWqdo7KM4jkmuGA78JiDNqR+JeZFaeeHnRg9N7aihX3YPmsyg==",
3326
- "dev": true
3327
- },
3328
- "gulp-sourcemaps": {
3329
- "version": "1.6.0",
3330
- "resolved": "https://registry.npmjs.org/gulp-sourcemaps/-/gulp-sourcemaps-1.6.0.tgz",
3331
- "integrity": "sha1-uG/zSdgBzrVuHZ59x7vLS33uYAw=",
3332
  "dev": true,
3333
  "requires": {
3334
- "convert-source-map": "1.6.0",
3335
- "graceful-fs": "4.1.15",
3336
- "strip-bom": "2.0.0",
3337
- "through2": "2.0.5",
3338
- "vinyl": "1.2.0"
3339
- },
3340
- "dependencies": {
3341
- "through2": {
3342
- "version": "2.0.5",
3343
- "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.5.tgz",
3344
- "integrity": "sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==",
3345
- "dev": true,
3346
- "requires": {
3347
- "readable-stream": "2.3.6",
3348
- "xtend": "4.0.1"
3349
- }
3350
- }
3351
  }
3352
  },
3353
- "gulp-util": {
3354
- "version": "3.0.8",
3355
- "resolved": "https://registry.npmjs.org/gulp-util/-/gulp-util-3.0.8.tgz",
3356
- "integrity": "sha1-AFTh50RQLifATBh8PsxQXdVLu08=",
3357
  "dev": true,
3358
  "requires": {
3359
- "array-differ": "1.0.0",
3360
- "array-uniq": "1.0.3",
3361
- "beeper": "1.1.1",
3362
- "chalk": "1.1.3",
3363
- "dateformat": "2.2.0",
3364
- "fancy-log": "1.3.3",
3365
- "gulplog": "1.0.0",
3366
- "has-gulplog": "0.1.0",
3367
- "lodash._reescape": "3.0.0",
3368
- "lodash._reevaluate": "3.0.0",
3369
- "lodash._reinterpolate": "3.0.0",
3370
- "lodash.template": "3.6.2",
3371
- "minimist": "1.2.0",
3372
- "multipipe": "0.1.2",
3373
- "object-assign": "3.0.0",
3374
- "replace-ext": "0.0.1",
3375
- "through2": "2.0.5",
3376
- "vinyl": "0.5.3"
3377
- },
3378
- "dependencies": {
3379
- "ansi-styles": {
3380
- "version": "2.2.1",
3381
- "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz",
3382
- "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=",
3383
- "dev": true
3384
- },
3385
- "chalk": {
3386
- "version": "1.1.3",
3387
- "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz",
3388
- "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=",
3389
- "dev": true,
3390
- "requires": {
3391
- "ansi-styles": "2.2.1",
3392
- "escape-string-regexp": "1.0.5",
3393
- "has-ansi": "2.0.0",
3394
- "strip-ansi": "3.0.1",
3395
- "supports-color": "2.0.0"
3396
- }
3397
- },
3398
- "dateformat": {
3399
- "version": "2.2.0",
3400
- "resolved": "https://registry.npmjs.org/dateformat/-/dateformat-2.2.0.tgz",
3401
- "integrity": "sha1-QGXiATz5+5Ft39gu+1Bq1MZ2kGI=",
3402
- "dev": true
3403
- },
3404
- "object-assign": {
3405
- "version": "3.0.0",
3406
- "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-3.0.0.tgz",
3407
- "integrity": "sha1-m+3VygiXlJvKR+f/QIBi1Un1h/I=",
3408
- "dev": true
3409
- },
3410
- "supports-color": {
3411
- "version": "2.0.0",
3412
- "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz",
3413
- "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=",
3414
- "dev": true
3415
- },
3416
- "through2": {
3417
- "version": "2.0.5",
3418
- "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.5.tgz",
3419
- "integrity": "sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==",
3420
- "dev": true,
3421
- "requires": {
3422
- "readable-stream": "2.3.6",
3423
- "xtend": "4.0.1"
3424
- }
3425
- },
3426
- "vinyl": {
3427
- "version": "0.5.3",
3428
- "resolved": "https://registry.npmjs.org/vinyl/-/vinyl-0.5.3.tgz",
3429
- "integrity": "sha1-sEVbOPxeDPMNQyUTLkYZcMIJHN4=",
3430
- "dev": true,
3431
- "requires": {
3432
- "clone": "1.0.4",
3433
- "clone-stats": "0.0.1",
3434
- "replace-ext": "0.0.1"
3435
- }
3436
- }
3437
  }
3438
  },
3439
- "gulplog": {
3440
- "version": "1.0.0",
3441
- "resolved": "https://registry.npmjs.org/gulplog/-/gulplog-1.0.0.tgz",
3442
- "integrity": "sha1-4oxNRdBey77YGDY86PnFkmIp/+U=",
3443
- "dev": true,
3444
- "requires": {
3445
- "glogg": "1.0.2"
3446
- }
3447
  },
3448
  "har-schema": {
3449
  "version": "2.0.0",
@@ -3457,10 +3309,19 @@
3457
  "integrity": "sha512-sNvOCzEQNr/qrvJgc3UG/kD4QtlHycrzwS+6mfTrrSq97BvaYcPZZI1ZSqGSPR73Cxn4LKTD4PttRwfU7jWq5g==",
3458
  "dev": true,
3459
  "requires": {
3460
- "ajv": "6.9.1",
3461
  "har-schema": "2.0.0"
3462
  }
3463
  },
 
 
 
 
 
 
 
 
 
3464
  "has-ansi": {
3465
  "version": "2.0.0",
3466
  "resolved": "https://registry.npmjs.org/has-ansi/-/has-ansi-2.0.0.tgz",
@@ -3482,13 +3343,25 @@
3482
  "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=",
3483
  "dev": true
3484
  },
3485
- "has-gulplog": {
3486
- "version": "0.1.0",
3487
- "resolved": "https://registry.npmjs.org/has-gulplog/-/has-gulplog-0.1.0.tgz",
3488
- "integrity": "sha1-ZBTIKRNpfaUVkDl9r7EvIpZ4Ec4=",
 
 
 
 
 
 
 
 
 
 
 
 
3489
  "dev": true,
3490
  "requires": {
3491
- "sparkles": "1.0.1"
3492
  }
3493
  },
3494
  "has-unicode": {
@@ -3497,6 +3370,38 @@
3497
  "integrity": "sha1-4Ob+aijPUROIVeCG0Wkedx3iqLk=",
3498
  "dev": true
3499
  },
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
3500
  "hooker": {
3501
  "version": "0.2.3",
3502
  "resolved": "https://registry.npmjs.org/hooker/-/hooker-0.2.3.tgz",
@@ -3509,6 +3414,13 @@
3509
  "integrity": "sha512-7T/BxH19zbcCTa8XkMlbK5lTo1WtgkFi3GvdWEyNuc4Vex7/9Dqbnpsf4JMydcfj9HCg4zUWFTL3Za6lapg5/w==",
3510
  "dev": true
3511
  },
 
 
 
 
 
 
 
3512
  "htmlparser2": {
3513
  "version": "3.8.3",
3514
  "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-3.8.3.tgz",
@@ -3522,6 +3434,22 @@
3522
  "readable-stream": "1.1.14"
3523
  },
3524
  "dependencies": {
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
3525
  "isarray": {
3526
  "version": "0.0.1",
3527
  "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz",
@@ -3548,6 +3476,13 @@
3548
  }
3549
  }
3550
  },
 
 
 
 
 
 
 
3551
  "http-parser-js": {
3552
  "version": "0.5.0",
3553
  "resolved": "https://registry.npmjs.org/http-parser-js/-/http-parser-js-0.5.0.tgz",
@@ -3575,9 +3510,15 @@
3575
  }
3576
  },
3577
  "ieee754": {
3578
- "version": "1.1.12",
3579
- "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.1.12.tgz",
3580
- "integrity": "sha512-GguP+DRY+pJ3soyIiGPTvdiVXjZ+DbXOxGpXn3eMvNW4x4irjqXm4wHKscC+TfxSJ0yw/S1F24tqdMNsMZTiLA==",
 
 
 
 
 
 
3581
  "dev": true
3582
  },
3583
  "iltorb": {
@@ -3588,104 +3529,87 @@
3588
  "optional": true,
3589
  "requires": {
3590
  "detect-libc": "0.2.0",
3591
- "nan": "2.12.1",
3592
  "node-gyp": "3.8.0",
3593
  "prebuild-install": "2.5.3"
3594
  }
3595
  },
3596
  "imagemin": {
3597
- "version": "4.0.0",
3598
- "resolved": "https://registry.npmjs.org/imagemin/-/imagemin-4.0.0.tgz",
3599
- "integrity": "sha1-6Q5/CTaDZZXxj6Ff6Qb0+iWeqEc=",
3600
  "dev": true,
3601
  "requires": {
3602
- "buffer-to-vinyl": "1.1.0",
3603
- "concat-stream": "1.6.2",
3604
- "imagemin-gifsicle": "4.2.0",
3605
- "imagemin-jpegtran": "4.3.2",
3606
- "imagemin-optipng": "4.3.0",
3607
- "imagemin-svgo": "4.2.1",
3608
- "optional": "0.1.4",
3609
- "readable-stream": "2.3.6",
3610
- "stream-combiner2": "1.1.1",
3611
- "vinyl-fs": "2.4.4"
 
 
 
 
3612
  }
3613
  },
3614
  "imagemin-gifsicle": {
3615
- "version": "4.2.0",
3616
- "resolved": "https://registry.npmjs.org/imagemin-gifsicle/-/imagemin-gifsicle-4.2.0.tgz",
3617
- "integrity": "sha1-D++butNHbmt2iFc2zFsLh6CHV8o=",
3618
  "dev": true,
3619
  "optional": true,
3620
  "requires": {
3621
- "gifsicle": "3.0.4",
3622
- "is-gif": "1.0.0",
3623
- "through2": "0.6.5"
3624
  }
3625
  },
3626
  "imagemin-jpegtran": {
3627
- "version": "4.3.2",
3628
- "resolved": "https://registry.npmjs.org/imagemin-jpegtran/-/imagemin-jpegtran-4.3.2.tgz",
3629
- "integrity": "sha1-G8bR4r0T/bZNJFUm1jWn5d/rEvw=",
3630
  "dev": true,
3631
  "optional": true,
3632
- "requires": {
3633
- "is-jpg": "1.0.1",
3634
- "jpegtran-bin": "3.2.0",
3635
- "through2": "2.0.5"
3636
- },
3637
- "dependencies": {
3638
- "through2": {
3639
- "version": "2.0.5",
3640
- "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.5.tgz",
3641
- "integrity": "sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==",
3642
- "dev": true,
3643
- "optional": true,
3644
- "requires": {
3645
- "readable-stream": "2.3.6",
3646
- "xtend": "4.0.1"
3647
- }
3648
- }
3649
  }
3650
  },
3651
  "imagemin-optipng": {
3652
- "version": "4.3.0",
3653
- "resolved": "https://registry.npmjs.org/imagemin-optipng/-/imagemin-optipng-4.3.0.tgz",
3654
- "integrity": "sha1-dgRmOrLuMVczJ0cm/Rw3TStErbY=",
3655
  "dev": true,
3656
  "optional": true,
3657
  "requires": {
3658
- "exec-buffer": "2.0.1",
3659
  "is-png": "1.1.0",
3660
- "optipng-bin": "3.1.4",
3661
- "through2": "0.6.5"
3662
  }
3663
  },
3664
  "imagemin-svgo": {
3665
- "version": "4.2.1",
3666
- "resolved": "https://registry.npmjs.org/imagemin-svgo/-/imagemin-svgo-4.2.1.tgz",
3667
- "integrity": "sha1-VPB9xW9HJgRi32phxUvvtEtXvlU=",
3668
  "dev": true,
3669
  "optional": true,
3670
  "requires": {
3671
- "is-svg": "1.1.1",
3672
- "svgo": "0.6.6",
3673
- "through2": "2.0.5"
3674
- },
3675
- "dependencies": {
3676
- "through2": {
3677
- "version": "2.0.5",
3678
- "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.5.tgz",
3679
- "integrity": "sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==",
3680
- "dev": true,
3681
- "optional": true,
3682
- "requires": {
3683
- "readable-stream": "2.3.6",
3684
- "xtend": "4.0.1"
3685
- }
3686
- }
3687
  }
3688
  },
 
 
 
 
 
 
 
3689
  "indent-string": {
3690
  "version": "2.1.0",
3691
  "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-2.1.0.tgz",
@@ -3723,20 +3647,41 @@
3723
  "integrity": "sha512-RZY5huIKCMRWDUqZlEi72f/lmXKMvuszcMBduliQ3nnWbx9X/ZBQO7DijMEYS9EhHBb2qacRUMtC7svLwe0lcw==",
3724
  "dev": true
3725
  },
3726
- "ip-regex": {
3727
- "version": "1.0.3",
3728
- "resolved": "https://registry.npmjs.org/ip-regex/-/ip-regex-1.0.3.tgz",
3729
- "integrity": "sha1-3FiQdvZZ9BnCIgOaMzFvHHOH7/0=",
3730
  "dev": true,
3731
- "optional": true
 
 
 
 
3732
  },
3733
- "is-absolute": {
3734
- "version": "0.1.7",
3735
- "resolved": "https://registry.npmjs.org/is-absolute/-/is-absolute-0.1.7.tgz",
3736
- "integrity": "sha1-hHSREZ/MtftDYhfMc39/qtUPYD8=",
 
 
 
 
 
 
3737
  "dev": true,
3738
  "requires": {
3739
- "is-relative": "0.1.3"
 
 
 
 
 
 
 
 
 
 
 
3740
  }
3741
  },
3742
  "is-arrayish": {
@@ -3751,25 +3696,55 @@
3751
  "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==",
3752
  "dev": true
3753
  },
3754
- "is-bzip2": {
3755
- "version": "1.0.0",
3756
- "resolved": "https://registry.npmjs.org/is-bzip2/-/is-bzip2-1.0.0.tgz",
3757
- "integrity": "sha1-XuWOqlounIDiFAe+3yOuWsCRs/w=",
3758
  "dev": true
3759
  },
3760
- "is-dotfile": {
3761
- "version": "1.0.3",
3762
- "resolved": "https://registry.npmjs.org/is-dotfile/-/is-dotfile-1.0.3.tgz",
3763
- "integrity": "sha1-pqLzL/0t+wT1yiXs0Pa4PPeYoeE=",
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
3764
  "dev": true
3765
  },
3766
- "is-equal-shallow": {
3767
- "version": "0.1.3",
3768
- "resolved": "https://registry.npmjs.org/is-equal-shallow/-/is-equal-shallow-0.1.3.tgz",
3769
- "integrity": "sha1-IjgJj8Ih3gvPpdnqxMRdY4qhxTQ=",
3770
  "dev": true,
3771
  "requires": {
3772
- "is-primitive": "2.0.0"
 
 
 
 
 
 
 
 
 
 
3773
  }
3774
  },
3775
  "is-extendable": {
@@ -3803,55 +3778,78 @@
3803
  }
3804
  },
3805
  "is-gif": {
3806
- "version": "1.0.0",
3807
- "resolved": "https://registry.npmjs.org/is-gif/-/is-gif-1.0.0.tgz",
3808
- "integrity": "sha1-ptKumIkwB7/6l6HYwB1jIFgyCX4=",
3809
  "dev": true,
3810
- "optional": true
 
 
 
3811
  },
3812
  "is-glob": {
3813
- "version": "3.1.0",
3814
- "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-3.1.0.tgz",
3815
- "integrity": "sha1-e6WuJCF4BKxwcHuWkiVnSGzD6Eo=",
3816
  "dev": true,
3817
  "requires": {
3818
  "is-extglob": "2.1.1"
3819
  }
3820
  },
3821
- "is-gzip": {
3822
- "version": "1.0.0",
3823
- "resolved": "https://registry.npmjs.org/is-gzip/-/is-gzip-1.0.0.tgz",
3824
- "integrity": "sha1-bKiwe5nHeZgCWQDlVc7Y7YCHmoM=",
3825
- "dev": true
3826
- },
3827
  "is-jpg": {
3828
- "version": "1.0.1",
3829
- "resolved": "https://registry.npmjs.org/is-jpg/-/is-jpg-1.0.1.tgz",
3830
- "integrity": "sha1-KW1X/dmc4BBDSnKD40armhA16XU=",
3831
  "dev": true,
3832
  "optional": true
3833
  },
3834
  "is-natural-number": {
3835
- "version": "2.1.1",
3836
- "resolved": "https://registry.npmjs.org/is-natural-number/-/is-natural-number-2.1.1.tgz",
3837
- "integrity": "sha1-fUxXKDd+84bD4ZSpkRv1fG3DNec=",
3838
  "dev": true
3839
  },
3840
  "is-number": {
3841
- "version": "2.1.0",
3842
- "resolved": "https://registry.npmjs.org/is-number/-/is-number-2.1.0.tgz",
3843
- "integrity": "sha1-Afy7s5NGOlSPL0ZszhbezknbkI8=",
3844
  "dev": true,
3845
  "requires": {
3846
  "kind-of": "3.2.2"
 
 
 
 
 
 
 
 
 
 
 
3847
  }
3848
  },
3849
- "is-obj": {
3850
  "version": "1.0.1",
3851
- "resolved": "https://registry.npmjs.org/is-obj/-/is-obj-1.0.1.tgz",
3852
- "integrity": "sha1-PkcprB9f3gJc19g6iW2rn09n2w8=",
 
 
 
 
 
 
3853
  "dev": true
3854
  },
 
 
 
 
 
 
 
 
 
3855
  "is-png": {
3856
  "version": "1.1.0",
3857
  "resolved": "https://registry.npmjs.org/is-png/-/is-png-1.1.0.tgz",
@@ -3859,29 +3857,14 @@
3859
  "dev": true,
3860
  "optional": true
3861
  },
3862
- "is-posix-bracket": {
3863
- "version": "0.1.1",
3864
- "resolved": "https://registry.npmjs.org/is-posix-bracket/-/is-posix-bracket-0.1.1.tgz",
3865
- "integrity": "sha1-MzTceXdDaOkvAW5vvAqI9c1ua8Q=",
3866
- "dev": true
3867
- },
3868
- "is-primitive": {
3869
- "version": "2.0.0",
3870
- "resolved": "https://registry.npmjs.org/is-primitive/-/is-primitive-2.0.0.tgz",
3871
- "integrity": "sha1-IHurkWOEmcB7Kt8kCkGochADRXU=",
3872
- "dev": true
3873
- },
3874
- "is-redirect": {
3875
- "version": "1.0.0",
3876
- "resolved": "https://registry.npmjs.org/is-redirect/-/is-redirect-1.0.0.tgz",
3877
- "integrity": "sha1-HQPd7VO9jbDzDCbk+V02/HyH3CQ=",
3878
- "dev": true
3879
- },
3880
- "is-relative": {
3881
- "version": "0.1.3",
3882
- "resolved": "https://registry.npmjs.org/is-relative/-/is-relative-0.1.3.tgz",
3883
- "integrity": "sha1-kF/uiuhvRbPsYUvDwVyGnfCHboI=",
3884
- "dev": true
3885
  },
3886
  "is-retry-allowed": {
3887
  "version": "1.1.0",
@@ -3896,17 +3879,23 @@
3896
  "dev": true
3897
  },
3898
  "is-svg": {
3899
- "version": "1.1.1",
3900
- "resolved": "https://registry.npmjs.org/is-svg/-/is-svg-1.1.1.tgz",
3901
- "integrity": "sha1-rA76r7ZTrFhHNwix+HNjbKEQ4xs=",
3902
  "dev": true,
3903
- "optional": true
 
 
 
3904
  },
3905
- "is-tar": {
3906
- "version": "1.0.0",
3907
- "resolved": "https://registry.npmjs.org/is-tar/-/is-tar-1.0.0.tgz",
3908
- "integrity": "sha1-L2suF5LB9bs2UZrKqdZcDSb+hT0=",
3909
- "dev": true
 
 
 
3910
  },
3911
  "is-typedarray": {
3912
  "version": "1.0.0",
@@ -3914,28 +3903,16 @@
3914
  "integrity": "sha1-5HnICFjfDBsR3dppQPlgEfzaSpo=",
3915
  "dev": true
3916
  },
3917
- "is-url": {
3918
- "version": "1.2.4",
3919
- "resolved": "https://registry.npmjs.org/is-url/-/is-url-1.2.4.tgz",
3920
- "integrity": "sha512-ITvGim8FhRiYe4IQ5uHSkj7pVaPDrCTkNd3yq3cV7iZAcJdHTUMPMEHcqSOy9xZ9qFenQCvi+2wjH9a1nXqHww==",
3921
- "dev": true
3922
- },
3923
  "is-utf8": {
3924
  "version": "0.2.1",
3925
  "resolved": "https://registry.npmjs.org/is-utf8/-/is-utf8-0.2.1.tgz",
3926
  "integrity": "sha1-Sw2hRCEE0bM2NA6AeX6GXPOffXI=",
3927
  "dev": true
3928
  },
3929
- "is-valid-glob": {
3930
- "version": "0.3.0",
3931
- "resolved": "https://registry.npmjs.org/is-valid-glob/-/is-valid-glob-0.3.0.tgz",
3932
- "integrity": "sha1-1LVcafUYhvm2XHDWwmItN+KfSP4=",
3933
- "dev": true
3934
- },
3935
- "is-zip": {
3936
- "version": "1.0.0",
3937
- "resolved": "https://registry.npmjs.org/is-zip/-/is-zip-1.0.0.tgz",
3938
- "integrity": "sha1-R7Co/004p2QxzP2ZqOFaTIa6IyU=",
3939
  "dev": true
3940
  },
3941
  "isarray": {
@@ -3951,13 +3928,10 @@
3951
  "dev": true
3952
  },
3953
  "isobject": {
3954
- "version": "2.1.0",
3955
- "resolved": "https://registry.npmjs.org/isobject/-/isobject-2.1.0.tgz",
3956
- "integrity": "sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk=",
3957
- "dev": true,
3958
- "requires": {
3959
- "isarray": "1.0.0"
3960
- }
3961
  },
3962
  "isstream": {
3963
  "version": "0.1.2",
@@ -3965,6 +3939,16 @@
3965
  "integrity": "sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo=",
3966
  "dev": true
3967
  },
 
 
 
 
 
 
 
 
 
 
3968
  "jit-grunt": {
3969
  "version": "0.10.0",
3970
  "resolved": "https://registry.npmjs.org/jit-grunt/-/jit-grunt-0.10.0.tgz",
@@ -3972,31 +3956,25 @@
3972
  "dev": true
3973
  },
3974
  "jpegtran-bin": {
3975
- "version": "3.2.0",
3976
- "resolved": "https://registry.npmjs.org/jpegtran-bin/-/jpegtran-bin-3.2.0.tgz",
3977
- "integrity": "sha1-9g7PSumZwL2tLp+83ytvCYHnops=",
3978
  "dev": true,
3979
  "optional": true,
3980
  "requires": {
3981
- "bin-build": "2.2.0",
3982
- "bin-wrapper": "3.0.2",
3983
  "logalot": "2.1.0"
3984
  }
3985
  },
3986
- "js-base64": {
3987
- "version": "2.5.1",
3988
- "resolved": "https://registry.npmjs.org/js-base64/-/js-base64-2.5.1.tgz",
3989
- "integrity": "sha512-M7kLczedRMYX4L8Mdh4MzyAMM9O5osx+4FcOQuTvr3A9F2D9S5JXheN0ewNbrvK2UatkTRhL5ejGmGSjNMiZuw==",
3990
- "dev": true
3991
- },
3992
  "js-yaml": {
3993
- "version": "3.5.5",
3994
- "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.5.5.tgz",
3995
- "integrity": "sha1-A3fDgBfKvHMisNH7zSWkkWQfL74=",
3996
  "dev": true,
3997
  "requires": {
3998
  "argparse": "1.0.10",
3999
- "esprima": "2.7.3"
4000
  }
4001
  },
4002
  "jsbn": {
@@ -4006,9 +3984,9 @@
4006
  "dev": true
4007
  },
4008
  "jshint": {
4009
- "version": "2.9.7",
4010
- "resolved": "https://registry.npmjs.org/jshint/-/jshint-2.9.7.tgz",
4011
- "integrity": "sha512-Q8XN38hGsVQhdlM+4gd1Xl7OB1VieSuCJf+fEJjpo59JH99bVJhXRXAh26qQ15wfdd1VPMuDWNeSWoNl53T4YA==",
4012
  "dev": true,
4013
  "requires": {
4014
  "cli": "1.0.1",
@@ -4029,6 +4007,13 @@
4029
  }
4030
  }
4031
  },
 
 
 
 
 
 
 
4032
  "json-schema": {
4033
  "version": "0.2.3",
4034
  "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.2.3.tgz",
@@ -4041,18 +4026,21 @@
4041
  "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==",
4042
  "dev": true
4043
  },
4044
- "json-stable-stringify-without-jsonify": {
4045
- "version": "1.0.1",
4046
- "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz",
4047
- "integrity": "sha1-nbe1lJatPzz+8wp1FC0tkwrXJlE=",
4048
- "dev": true
4049
- },
4050
  "json-stringify-safe": {
4051
  "version": "5.0.1",
4052
  "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz",
4053
  "integrity": "sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus=",
4054
  "dev": true
4055
  },
 
 
 
 
 
 
 
 
 
4056
  "jsprim": {
4057
  "version": "1.4.1",
4058
  "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-1.4.1.tgz",
@@ -4065,21 +4053,21 @@
4065
  "verror": "1.10.0"
4066
  }
4067
  },
4068
- "kind-of": {
4069
- "version": "3.2.2",
4070
- "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
4071
- "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
4072
  "dev": true,
 
4073
  "requires": {
4074
- "is-buffer": "1.1.6"
4075
  }
4076
  },
4077
- "lazy-req": {
4078
- "version": "1.1.0",
4079
- "resolved": "https://registry.npmjs.org/lazy-req/-/lazy-req-1.1.0.tgz",
4080
- "integrity": "sha1-va6+rTD42CQDnODOFJ1Nqge6H6w=",
4081
- "dev": true,
4082
- "optional": true
4083
  },
4084
  "lazystream": {
4085
  "version": "1.0.0",
@@ -4110,6 +4098,12 @@
4110
  "lodash": "3.10.1"
4111
  },
4112
  "dependencies": {
 
 
 
 
 
 
4113
  "glob": {
4114
  "version": "5.0.15",
4115
  "resolved": "https://registry.npmjs.org/glob/-/glob-5.0.15.tgz",
@@ -4191,131 +4185,6 @@
4191
  "integrity": "sha512-cQKh8igo5QUhZ7lg38DYWAxMvjSAKG0A8wGSVimP07SIUEK2UO+arSRKbRZWtelMtN5V0Hkwh5ryOto/SshYIg==",
4192
  "dev": true
4193
  },
4194
- "lodash._basecopy": {
4195
- "version": "3.0.1",
4196
- "resolved": "https://registry.npmjs.org/lodash._basecopy/-/lodash._basecopy-3.0.1.tgz",
4197
- "integrity": "sha1-jaDmqHbPNEwK2KVIghEd08XHyjY=",
4198
- "dev": true
4199
- },
4200
- "lodash._basetostring": {
4201
- "version": "3.0.1",
4202
- "resolved": "https://registry.npmjs.org/lodash._basetostring/-/lodash._basetostring-3.0.1.tgz",
4203
- "integrity": "sha1-0YYdh3+CSlL2aYMtyvPuFVZqB9U=",
4204
- "dev": true
4205
- },
4206
- "lodash._basevalues": {
4207
- "version": "3.0.0",
4208
- "resolved": "https://registry.npmjs.org/lodash._basevalues/-/lodash._basevalues-3.0.0.tgz",
4209
- "integrity": "sha1-W3dXYoAr3j0yl1A+JjAIIP32Ybc=",
4210
- "dev": true
4211
- },
4212
- "lodash._getnative": {
4213
- "version": "3.9.1",
4214
- "resolved": "https://registry.npmjs.org/lodash._getnative/-/lodash._getnative-3.9.1.tgz",
4215
- "integrity": "sha1-VwvH3t5G1hzc3mh9ZdPuy6o6r/U=",
4216
- "dev": true
4217
- },
4218
- "lodash._isiterateecall": {
4219
- "version": "3.0.9",
4220
- "resolved": "https://registry.npmjs.org/lodash._isiterateecall/-/lodash._isiterateecall-3.0.9.tgz",
4221
- "integrity": "sha1-UgOte6Ql+uhCRg5pbbnPPmqsBXw=",
4222
- "dev": true
4223
- },
4224
- "lodash._reescape": {
4225
- "version": "3.0.0",
4226
- "resolved": "https://registry.npmjs.org/lodash._reescape/-/lodash._reescape-3.0.0.tgz",
4227
- "integrity": "sha1-Kx1vXf4HyKNVdT5fJ/rH8c3hYWo=",
4228
- "dev": true
4229
- },
4230
- "lodash._reevaluate": {
4231
- "version": "3.0.0",
4232
- "resolved": "https://registry.npmjs.org/lodash._reevaluate/-/lodash._reevaluate-3.0.0.tgz",
4233
- "integrity": "sha1-WLx0xAZklTrgsSTYBpltrKQx4u0=",
4234
- "dev": true
4235
- },
4236
- "lodash._reinterpolate": {
4237
- "version": "3.0.0",
4238
- "resolved": "https://registry.npmjs.org/lodash._reinterpolate/-/lodash._reinterpolate-3.0.0.tgz",
4239
- "integrity": "sha1-DM8tiRZq8Ds2Y8eWU4t1rG4RTZ0=",
4240
- "dev": true
4241
- },
4242
- "lodash._root": {
4243
- "version": "3.0.1",
4244
- "resolved": "https://registry.npmjs.org/lodash._root/-/lodash._root-3.0.1.tgz",
4245
- "integrity": "sha1-+6HEUkwZ7ppfgTa0YJ8BfPTe1pI=",
4246
- "dev": true
4247
- },
4248
- "lodash.escape": {
4249
- "version": "3.2.0",
4250
- "resolved": "https://registry.npmjs.org/lodash.escape/-/lodash.escape-3.2.0.tgz",
4251
- "integrity": "sha1-mV7g3BjBtIzJLv+ucaEKq1tIdpg=",
4252
- "dev": true,
4253
- "requires": {
4254
- "lodash._root": "3.0.1"
4255
- }
4256
- },
4257
- "lodash.isarguments": {
4258
- "version": "3.1.0",
4259
- "resolved": "https://registry.npmjs.org/lodash.isarguments/-/lodash.isarguments-3.1.0.tgz",
4260
- "integrity": "sha1-L1c9hcaiQon/AGY7SRwdM4/zRYo=",
4261
- "dev": true
4262
- },
4263
- "lodash.isarray": {
4264
- "version": "3.0.4",
4265
- "resolved": "https://registry.npmjs.org/lodash.isarray/-/lodash.isarray-3.0.4.tgz",
4266
- "integrity": "sha1-eeTriMNqgSKvhvhEqpvNhRtfu1U=",
4267
- "dev": true
4268
- },
4269
- "lodash.isequal": {
4270
- "version": "4.5.0",
4271
- "resolved": "https://registry.npmjs.org/lodash.isequal/-/lodash.isequal-4.5.0.tgz",
4272
- "integrity": "sha1-QVxEePK8wwEgwizhDtMib30+GOA=",
4273
- "dev": true
4274
- },
4275
- "lodash.keys": {
4276
- "version": "3.1.2",
4277
- "resolved": "https://registry.npmjs.org/lodash.keys/-/lodash.keys-3.1.2.tgz",
4278
- "integrity": "sha1-TbwEcrFWvlCgsoaFXRvQsMZWCYo=",
4279
- "dev": true,
4280
- "requires": {
4281
- "lodash._getnative": "3.9.1",
4282
- "lodash.isarguments": "3.1.0",
4283
- "lodash.isarray": "3.0.4"
4284
- }
4285
- },
4286
- "lodash.restparam": {
4287
- "version": "3.6.1",
4288
- "resolved": "https://registry.npmjs.org/lodash.restparam/-/lodash.restparam-3.6.1.tgz",
4289
- "integrity": "sha1-k2pOMJ7zMKdkXtQUWYbIWuWyCAU=",
4290
- "dev": true
4291
- },
4292
- "lodash.template": {
4293
- "version": "3.6.2",
4294
- "resolved": "https://registry.npmjs.org/lodash.template/-/lodash.template-3.6.2.tgz",
4295
- "integrity": "sha1-+M3sxhaaJVvpCYrosMU9N4kx0U8=",
4296
- "dev": true,
4297
- "requires": {
4298
- "lodash._basecopy": "3.0.1",
4299
- "lodash._basetostring": "3.0.1",
4300
- "lodash._basevalues": "3.0.0",
4301
- "lodash._isiterateecall": "3.0.9",
4302
- "lodash._reinterpolate": "3.0.0",
4303
- "lodash.escape": "3.2.0",
4304
- "lodash.keys": "3.1.2",
4305
- "lodash.restparam": "3.6.1",
4306
- "lodash.templatesettings": "3.1.1"
4307
- }
4308
- },
4309
- "lodash.templatesettings": {
4310
- "version": "3.1.1",
4311
- "resolved": "https://registry.npmjs.org/lodash.templatesettings/-/lodash.templatesettings-3.1.1.tgz",
4312
- "integrity": "sha1-+zB4RHU7Zrnxr6VOJix0UwfbqOU=",
4313
- "dev": true,
4314
- "requires": {
4315
- "lodash._reinterpolate": "3.0.0",
4316
- "lodash.escape": "3.2.0"
4317
- }
4318
- },
4319
  "logalot": {
4320
  "version": "2.1.0",
4321
  "resolved": "https://registry.npmjs.org/logalot/-/logalot-2.1.0.tgz",
@@ -4364,9 +4233,36 @@
4364
  }
4365
  },
4366
  "lru-cache": {
4367
- "version": "2.7.3",
4368
- "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-2.7.3.tgz",
4369
- "integrity": "sha1-bUUk6LlV+V1PW1iFHOId1y+06VI=",
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
4370
  "dev": true
4371
  },
4372
  "map-obj": {
@@ -4375,16 +4271,25 @@
4375
  "integrity": "sha1-2TPOuSBdgr3PSIb2dCvcK03qFG0=",
4376
  "dev": true
4377
  },
4378
- "math-random": {
4379
- "version": "1.0.4",
4380
- "resolved": "https://registry.npmjs.org/math-random/-/math-random-1.0.4.tgz",
4381
- "integrity": "sha512-rUxjysqif/BZQH2yhd5Aaq7vXMSx9NdEsQcyA07uEzIvxgI7zIr33gGsh+RU0/XjmQpCW7RsVof1vlkvQVCK5A==",
4382
- "dev": true
 
 
 
4383
  },
4384
  "md5-file": {
4385
- "version": "2.0.7",
4386
- "resolved": "https://registry.npmjs.org/md5-file/-/md5-file-2.0.7.tgz",
4387
- "integrity": "sha1-MH94vQTMsFTkZ+xmHPpamv3J8hA=",
 
 
 
 
 
 
4388
  "dev": true
4389
  },
4390
  "meow": {
@@ -4405,74 +4310,53 @@
4405
  "trim-newlines": "1.0.0"
4406
  }
4407
  },
4408
- "merge-stream": {
4409
- "version": "1.0.1",
4410
- "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-1.0.1.tgz",
4411
- "integrity": "sha1-QEEgLVCKNCugAXQAjfDCUbjBNeE=",
4412
- "dev": true,
4413
- "requires": {
4414
- "readable-stream": "2.3.6"
4415
- }
4416
  },
4417
- "micromatch": {
4418
- "version": "2.3.11",
4419
- "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-2.3.11.tgz",
4420
- "integrity": "sha1-hmd8l9FyCzY0MdBNDRUpO9OMFWU=",
4421
- "dev": true,
4422
- "requires": {
4423
- "arr-diff": "2.0.0",
4424
- "array-unique": "0.2.1",
4425
- "braces": "1.8.5",
4426
- "expand-brackets": "0.1.5",
4427
- "extglob": "0.3.2",
4428
- "filename-regex": "2.0.1",
4429
- "is-extglob": "1.0.0",
4430
- "is-glob": "2.0.1",
4431
- "kind-of": "3.2.2",
4432
- "normalize-path": "2.1.1",
4433
- "object.omit": "2.0.1",
4434
- "parse-glob": "3.0.4",
4435
- "regex-cache": "0.4.4"
4436
- },
4437
- "dependencies": {
4438
- "is-extglob": {
4439
- "version": "1.0.0",
4440
- "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-1.0.0.tgz",
4441
- "integrity": "sha1-rEaBd8SUNAWgkvyPKXYMb/xiBsA=",
4442
- "dev": true
4443
- },
4444
- "is-glob": {
4445
- "version": "2.0.1",
4446
- "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-2.0.1.tgz",
4447
- "integrity": "sha1-0Jb5JqPe1WAPP9/ZEZjLCIjC2GM=",
4448
- "dev": true,
4449
- "requires": {
4450
- "is-extglob": "1.0.0"
4451
- }
4452
- }
4453
  }
4454
  },
4455
  "mime-db": {
4456
- "version": "1.37.0",
4457
- "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.37.0.tgz",
4458
- "integrity": "sha512-R3C4db6bgQhlIhPU48fUtdVmKnflq+hRdad7IyKhtFj06VPNVdk2RhiYL3UjQIlso8L+YxAtFkobT0VK+S/ybg==",
4459
  "dev": true
4460
  },
4461
  "mime-types": {
4462
- "version": "2.1.21",
4463
- "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.21.tgz",
4464
- "integrity": "sha512-3iL6DbwpyLzjR3xHSFNFeb9Nz/M8WDkX33t1GFQnFOllWk8pOrh/LSrB5OXlnlW5P9LH73X6loW/eogc+F5lJg==",
4465
  "dev": true,
4466
  "requires": {
4467
- "mime-db": "1.37.0"
4468
  }
4469
  },
4470
  "mimic-response": {
4471
  "version": "1.0.1",
4472
  "resolved": "https://registry.npmjs.org/mimic-response/-/mimic-response-1.0.1.tgz",
4473
  "integrity": "sha512-j5EctnkH7amfV/q5Hgmoal1g2QHFJRraOtmx0JpIqkxhBhI/lJSl1nMpQ45hVarwNETOoWEimndZ4QK0RHxuxQ==",
4474
- "dev": true,
4475
- "optional": true
4476
  },
4477
  "minimatch": {
4478
  "version": "3.0.4",
@@ -4489,6 +4373,27 @@
4489
  "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=",
4490
  "dev": true
4491
  },
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
4492
  "mkdirp": {
4493
  "version": "0.5.1",
4494
  "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz",
@@ -4507,9 +4412,9 @@
4507
  }
4508
  },
4509
  "ms": {
4510
- "version": "2.1.1",
4511
- "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.1.tgz",
4512
- "integrity": "sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg==",
4513
  "dev": true
4514
  },
4515
  "multimatch": {
@@ -4524,65 +4429,46 @@
4524
  "minimatch": "3.0.4"
4525
  }
4526
  },
4527
- "multipipe": {
4528
- "version": "0.1.2",
4529
- "resolved": "https://registry.npmjs.org/multipipe/-/multipipe-0.1.2.tgz",
4530
- "integrity": "sha1-Ko8t33Du1WTf8tV/HhoTfZ8FB4s=",
 
 
 
 
 
 
 
4531
  "dev": true,
4532
  "requires": {
4533
- "duplexer2": "0.0.2"
4534
- },
4535
- "dependencies": {
4536
- "duplexer2": {
4537
- "version": "0.0.2",
4538
- "resolved": "https://registry.npmjs.org/duplexer2/-/duplexer2-0.0.2.tgz",
4539
- "integrity": "sha1-xhTc9n4vsUmVqRcR5aYX6KYKMds=",
4540
- "dev": true,
4541
- "requires": {
4542
- "readable-stream": "1.1.14"
4543
- }
4544
- },
4545
- "isarray": {
4546
- "version": "0.0.1",
4547
- "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz",
4548
- "integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8=",
4549
- "dev": true
4550
- },
4551
- "readable-stream": {
4552
- "version": "1.1.14",
4553
- "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.1.14.tgz",
4554
- "integrity": "sha1-fPTFTvZI44EwhMY23SB54WbAgdk=",
4555
- "dev": true,
4556
- "requires": {
4557
- "core-util-is": "1.0.2",
4558
- "inherits": "2.0.3",
4559
- "isarray": "0.0.1",
4560
- "string_decoder": "0.10.31"
4561
- }
4562
- },
4563
- "string_decoder": {
4564
- "version": "0.10.31",
4565
- "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz",
4566
- "integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=",
4567
- "dev": true
4568
- }
4569
  }
4570
  },
4571
- "nan": {
4572
- "version": "2.12.1",
4573
- "resolved": "https://registry.npmjs.org/nan/-/nan-2.12.1.tgz",
4574
- "integrity": "sha512-JY7V6lRkStKcKTvHO5NVSQRv+RV+FIL5pvDoLiAtSL9pKlC5x9PKQcZDsq7m4FO4d57mkhC6Z+QhAh3Jdk5JFw==",
4575
- "dev": true,
4576
- "optional": true
4577
  },
4578
  "node-abi": {
4579
- "version": "2.7.0",
4580
- "resolved": "https://registry.npmjs.org/node-abi/-/node-abi-2.7.0.tgz",
4581
- "integrity": "sha512-egTtvNoZLMjwxkL/5iiJKYKZgn2im0zP+G+PncMxICYGiD3aZtXUvEsDmu0pF8gpASvLZyD8v53qi1/ELaRZpg==",
4582
  "dev": true,
4583
  "optional": true,
4584
  "requires": {
4585
- "semver": "5.6.0"
4586
  }
4587
  },
4588
  "node-gyp": {
@@ -4592,7 +4478,7 @@
4592
  "dev": true,
4593
  "optional": true,
4594
  "requires": {
4595
- "fstream": "1.0.11",
4596
  "glob": "7.0.6",
4597
  "graceful-fs": "4.1.15",
4598
  "mkdirp": "0.5.1",
@@ -4602,7 +4488,7 @@
4602
  "request": "2.88.0",
4603
  "rimraf": "2.6.3",
4604
  "semver": "5.3.0",
4605
- "tar": "2.2.1",
4606
  "which": "1.3.1"
4607
  },
4608
  "dependencies": {
@@ -4615,11 +4501,14 @@
4615
  }
4616
  }
4617
  },
4618
- "node-status-codes": {
4619
- "version": "1.0.0",
4620
- "resolved": "https://registry.npmjs.org/node-status-codes/-/node-status-codes-1.0.0.tgz",
4621
- "integrity": "sha1-WuVUHQJGRdMqWPzdyc7s6nrjrC8=",
4622
- "dev": true
 
 
 
4623
  },
4624
  "node-uuid": {
4625
  "version": "1.4.0",
@@ -4627,6 +4516,21 @@
4627
  "integrity": "sha1-B/myM3Vy/2J1x3Xh1IUT86RdemU=",
4628
  "dev": true
4629
  },
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
4630
  "noop-logger": {
4631
  "version": "0.1.1",
4632
  "resolved": "https://registry.npmjs.org/noop-logger/-/noop-logger-0.1.1.tgz",
@@ -4650,8 +4554,8 @@
4650
  "dev": true,
4651
  "requires": {
4652
  "hosted-git-info": "2.7.1",
4653
- "resolve": "1.10.0",
4654
- "semver": "5.6.0",
4655
  "validate-npm-package-license": "3.0.4"
4656
  }
4657
  },
@@ -4670,6 +4574,64 @@
4670
  "integrity": "sha1-LRDAa9/TEuqXd2laTShDlFa3WUI=",
4671
  "dev": true
4672
  },
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
4673
  "npmlog": {
4674
  "version": "4.1.2",
4675
  "resolved": "https://registry.npmjs.org/npmlog/-/npmlog-4.1.2.tgz",
@@ -4682,6 +4644,16 @@
4682
  "set-blocking": "2.0.0"
4683
  }
4684
  },
 
 
 
 
 
 
 
 
 
 
4685
  "num2fraction": {
4686
  "version": "1.2.2",
4687
  "resolved": "https://registry.npmjs.org/num2fraction/-/num2fraction-1.2.2.tgz",
@@ -4706,14 +4678,83 @@
4706
  "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=",
4707
  "dev": true
4708
  },
4709
- "object.omit": {
4710
- "version": "2.0.1",
4711
- "resolved": "https://registry.npmjs.org/object.omit/-/object.omit-2.0.1.tgz",
4712
- "integrity": "sha1-Gpx0SCnznbuFjHbKNXmuKlTr0fo=",
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
4713
  "dev": true,
4714
  "requires": {
4715
- "for-own": "0.1.5",
4716
- "is-extendable": "0.1.1"
 
 
 
 
 
 
 
 
 
 
 
 
4717
  }
4718
  },
4719
  "once": {
@@ -4725,47 +4766,28 @@
4725
  "wrappy": "1.0.2"
4726
  }
4727
  },
4728
- "onetime": {
4729
- "version": "1.1.0",
4730
- "resolved": "https://registry.npmjs.org/onetime/-/onetime-1.1.0.tgz",
4731
- "integrity": "sha1-ofeDj4MUxRbwXs78vEzP4EtO14k=",
4732
- "dev": true
4733
- },
4734
- "optional": {
4735
- "version": "0.1.4",
4736
- "resolved": "https://registry.npmjs.org/optional/-/optional-0.1.4.tgz",
4737
- "integrity": "sha512-gtvrrCfkE08wKcgXaVwQVgwEQ8vel2dc5DDBn9RLQZ3YtmtkBss6A2HY6BnJH4N/4Ku97Ri/SF8sNWE2225WJw==",
4738
- "dev": true
4739
- },
4740
  "optipng-bin": {
4741
- "version": "3.1.4",
4742
- "resolved": "https://registry.npmjs.org/optipng-bin/-/optipng-bin-3.1.4.tgz",
4743
- "integrity": "sha1-ldNPLEiHBPb9cGBr/qDGWfHZXYQ=",
4744
  "dev": true,
4745
  "optional": true,
4746
  "requires": {
4747
- "bin-build": "2.2.0",
4748
- "bin-wrapper": "3.0.2",
4749
  "logalot": "2.1.0"
4750
  }
4751
  },
4752
- "ordered-read-streams": {
4753
- "version": "0.3.0",
4754
- "resolved": "https://registry.npmjs.org/ordered-read-streams/-/ordered-read-streams-0.3.0.tgz",
4755
- "integrity": "sha1-cTfmmzKYuzQiR6G77jiByA4v14s=",
4756
  "dev": true,
 
4757
  "requires": {
4758
- "is-stream": "1.1.0",
4759
- "readable-stream": "2.3.6"
4760
  }
4761
  },
4762
- "os-filter-obj": {
4763
- "version": "1.0.3",
4764
- "resolved": "https://registry.npmjs.org/os-filter-obj/-/os-filter-obj-1.0.3.tgz",
4765
- "integrity": "sha1-WRUzDZDs7VV9LZOKMcbdIU2cY60=",
4766
- "dev": true,
4767
- "optional": true
4768
- },
4769
  "os-homedir": {
4770
  "version": "1.0.2",
4771
  "resolved": "https://registry.npmjs.org/os-homedir/-/os-homedir-1.0.2.tgz",
@@ -4789,33 +4811,72 @@
4789
  "os-tmpdir": "1.0.2"
4790
  }
4791
  },
4792
- "parse-glob": {
4793
- "version": "3.0.4",
4794
- "resolved": "https://registry.npmjs.org/parse-glob/-/parse-glob-3.0.4.tgz",
4795
- "integrity": "sha1-ssN2z7EfNVE7rdFz7wu246OIORw=",
 
 
 
 
 
 
 
4796
  "dev": true,
 
4797
  "requires": {
4798
- "glob-base": "0.3.0",
4799
- "is-dotfile": "1.0.3",
4800
- "is-extglob": "1.0.0",
4801
- "is-glob": "2.0.1"
4802
- },
4803
- "dependencies": {
4804
- "is-extglob": {
4805
- "version": "1.0.0",
4806
- "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-1.0.0.tgz",
4807
- "integrity": "sha1-rEaBd8SUNAWgkvyPKXYMb/xiBsA=",
4808
- "dev": true
4809
- },
4810
- "is-glob": {
4811
- "version": "2.0.1",
4812
- "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-2.0.1.tgz",
4813
- "integrity": "sha1-0Jb5JqPe1WAPP9/ZEZjLCIjC2GM=",
4814
- "dev": true,
4815
- "requires": {
4816
- "is-extglob": "1.0.0"
4817
- }
4818
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
4819
  }
4820
  },
4821
  "parse-json": {
@@ -4833,10 +4894,10 @@
4833
  "integrity": "sha1-VjRtR0nXjyNDDKDHE4UK75GqNh0=",
4834
  "dev": true
4835
  },
4836
- "parse-node-version": {
4837
- "version": "1.0.1",
4838
- "resolved": "https://registry.npmjs.org/parse-node-version/-/parse-node-version-1.0.1.tgz",
4839
- "integrity": "sha512-3YHlOa/JgH6Mnpr05jP9eDG254US9ek25LyIxZlDItp2iJtwyaXQb57lBYLdT3MowkUFYEV2XXNAYIPlESvJlA==",
4840
  "dev": true
4841
  },
4842
  "path-dirname": {
@@ -4860,6 +4921,12 @@
4860
  "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=",
4861
  "dev": true
4862
  },
 
 
 
 
 
 
4863
  "path-parse": {
4864
  "version": "1.0.6",
4865
  "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.6.tgz",
@@ -4920,63 +4987,38 @@
4920
  }
4921
  },
4922
  "plur": {
4923
- "version": "1.0.0",
4924
- "resolved": "https://registry.npmjs.org/plur/-/plur-1.0.0.tgz",
4925
- "integrity": "sha1-24XGgU9eXlo7Se/CjWBP7GKXUVY=",
4926
- "dev": true
4927
- },
4928
- "postcss": {
4929
- "version": "5.2.18",
4930
- "resolved": "https://registry.npmjs.org/postcss/-/postcss-5.2.18.tgz",
4931
- "integrity": "sha512-zrUjRRe1bpXKsX1qAJNJjqZViErVuyEkMTRrwu4ud4sbTtIBRmtaYDrHmcGgmrbsW3MHfmtIf+vJumgQn+PrXg==",
4932
- "dev": true,
4933
- "requires": {
4934
- "chalk": "1.1.3",
4935
- "js-base64": "2.5.1",
4936
- "source-map": "0.5.7",
4937
- "supports-color": "3.2.3"
4938
- },
4939
- "dependencies": {
4940
- "ansi-styles": {
4941
- "version": "2.2.1",
4942
- "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz",
4943
- "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=",
4944
- "dev": true
4945
- },
4946
- "chalk": {
4947
- "version": "1.1.3",
4948
- "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz",
4949
- "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=",
4950
- "dev": true,
4951
- "requires": {
4952
- "ansi-styles": "2.2.1",
4953
- "escape-string-regexp": "1.0.5",
4954
- "has-ansi": "2.0.0",
4955
- "strip-ansi": "3.0.1",
4956
- "supports-color": "2.0.0"
4957
- },
4958
- "dependencies": {
4959
- "supports-color": {
4960
- "version": "2.0.0",
4961
- "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz",
4962
- "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=",
4963
- "dev": true
4964
- }
4965
- }
4966
- },
4967
- "has-flag": {
4968
- "version": "1.0.0",
4969
- "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-1.0.0.tgz",
4970
- "integrity": "sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo=",
4971
- "dev": true
4972
- },
4973
  "supports-color": {
4974
- "version": "3.2.3",
4975
- "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz",
4976
- "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=",
4977
  "dev": true,
4978
  "requires": {
4979
- "has-flag": "1.0.0"
4980
  }
4981
  }
4982
  }
@@ -4999,7 +5041,7 @@
4999
  "github-from-package": "0.0.0",
5000
  "minimist": "1.2.0",
5001
  "mkdirp": "0.5.1",
5002
- "node-abi": "2.7.0",
5003
  "noop-logger": "0.1.1",
5004
  "npmlog": "4.1.2",
5005
  "os-homedir": "1.0.2",
@@ -5024,13 +5066,8 @@
5024
  "version": "1.0.4",
5025
  "resolved": "https://registry.npmjs.org/prepend-http/-/prepend-http-1.0.4.tgz",
5026
  "integrity": "sha1-1PRWKwzjaW5BrFLQ4ALlemNdxtw=",
5027
- "dev": true
5028
- },
5029
- "preserve": {
5030
- "version": "0.2.0",
5031
- "resolved": "https://registry.npmjs.org/preserve/-/preserve-0.2.0.tgz",
5032
- "integrity": "sha1-gV7R9uvGWSb4ZbMQwHE7yzMVzks=",
5033
- "dev": true
5034
  },
5035
  "pretty-bytes": {
5036
  "version": "4.0.2",
@@ -5047,6 +5084,14 @@
5047
  "is-finite": "1.0.2",
5048
  "parse-ms": "1.0.1",
5049
  "plur": "1.0.0"
 
 
 
 
 
 
 
 
5050
  }
5051
  },
5052
  "process-nextick-args": {
@@ -5055,10 +5100,16 @@
5055
  "integrity": "sha512-MtEC1TqN0EU5nephaJ4rAtThHtC86dNN9qCuEhtshvpVBkAW5ZO7BASN9REnF9eoXGcRub+pFuKEpOHE+HbEMw==",
5056
  "dev": true
5057
  },
5058
- "promised-io": {
5059
- "version": "0.3.5",
5060
- "resolved": "https://registry.npmjs.org/promised-io/-/promised-io-0.3.5.tgz",
5061
- "integrity": "sha1-StIXuzZYvKrplGsXqGaOzYUeE1Y=",
 
 
 
 
 
 
5062
  "dev": true
5063
  },
5064
  "psl": {
@@ -5097,29 +5148,16 @@
5097
  "integrity": "sha512-N5ZAX4/LxJmF+7wN74pUD6qAh9/wnvdQcjq9TZjevvXzSUo7bfmw91saqMjzGS2xq91/odN2dW/WOl7qQHNDGA==",
5098
  "dev": true
5099
  },
5100
- "randomatic": {
5101
- "version": "3.1.1",
5102
- "resolved": "https://registry.npmjs.org/randomatic/-/randomatic-3.1.1.tgz",
5103
- "integrity": "sha512-TuDE5KxZ0J461RVjrJZCJc+J+zCkTb1MbH9AQUq68sMhOMcy9jLcb3BrZKgp9q9Ncltdg4QVqWrH02W2EFFVYw==",
5104
  "dev": true,
 
5105
  "requires": {
5106
- "is-number": "4.0.0",
5107
- "kind-of": "6.0.2",
5108
- "math-random": "1.0.4"
5109
- },
5110
- "dependencies": {
5111
- "is-number": {
5112
- "version": "4.0.0",
5113
- "resolved": "https://registry.npmjs.org/is-number/-/is-number-4.0.0.tgz",
5114
- "integrity": "sha512-rSklcAIlf1OmFdyAqbnWTLVelsQ58uvZ66S/ZyawjWqIviTWCjg2PzVGw8WUA+nNuPTqb4wgA+NszrJ+08LlgQ==",
5115
- "dev": true
5116
- },
5117
- "kind-of": {
5118
- "version": "6.0.2",
5119
- "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.2.tgz",
5120
- "integrity": "sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA==",
5121
- "dev": true
5122
- }
5123
  }
5124
  },
5125
  "raw-body": {
@@ -5145,6 +5183,7 @@
5145
  "resolved": "https://registry.npmjs.org/rc/-/rc-1.2.8.tgz",
5146
  "integrity": "sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==",
5147
  "dev": true,
 
5148
  "requires": {
5149
  "deep-extend": "0.6.0",
5150
  "ini": "1.3.5",
@@ -5152,16 +5191,6 @@
5152
  "strip-json-comments": "2.0.1"
5153
  }
5154
  },
5155
- "read-all-stream": {
5156
- "version": "3.1.0",
5157
- "resolved": "https://registry.npmjs.org/read-all-stream/-/read-all-stream-3.1.0.tgz",
5158
- "integrity": "sha1-NcPhd/IHjveJ7kv6+kNzB06u9Po=",
5159
- "dev": true,
5160
- "requires": {
5161
- "pinkie-promise": "2.0.1",
5162
- "readable-stream": "2.3.6"
5163
- }
5164
- },
5165
  "read-pkg": {
5166
  "version": "1.1.0",
5167
  "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-1.1.0.tgz",
@@ -5208,13 +5237,14 @@
5208
  "strip-indent": "1.0.1"
5209
  }
5210
  },
5211
- "regex-cache": {
5212
- "version": "0.4.4",
5213
- "resolved": "https://registry.npmjs.org/regex-cache/-/regex-cache-0.4.4.tgz",
5214
- "integrity": "sha512-nVIZwtCjkC9YgvWkpM55B5rBhBYRZhAaJbgcFYXXsHnbZ9UZI9nnVWYZpBlCqv9ho2eZryPnWrZGsOdPwVWXWQ==",
5215
  "dev": true,
5216
  "requires": {
5217
- "is-equal-shallow": "0.1.3"
 
5218
  }
5219
  },
5220
  "remove-trailing-separator": {
@@ -5245,9 +5275,9 @@
5245
  }
5246
  },
5247
  "replace-ext": {
5248
- "version": "0.0.1",
5249
- "resolved": "https://registry.npmjs.org/replace-ext/-/replace-ext-0.0.1.tgz",
5250
- "integrity": "sha1-KbvZIHinOfC8zitO5B6DeVNSKSQ=",
5251
  "dev": true
5252
  },
5253
  "request": {
@@ -5259,7 +5289,7 @@
5259
  "aws-sign2": "0.7.0",
5260
  "aws4": "1.8.0",
5261
  "caseless": "0.12.0",
5262
- "combined-stream": "1.0.7",
5263
  "extend": "3.0.2",
5264
  "forever-agent": "0.6.1",
5265
  "form-data": "2.3.3",
@@ -5268,7 +5298,7 @@
5268
  "is-typedarray": "1.0.0",
5269
  "isstream": "0.1.2",
5270
  "json-stringify-safe": "5.0.1",
5271
- "mime-types": "2.1.21",
5272
  "oauth-sign": "0.9.0",
5273
  "performance-now": "2.1.0",
5274
  "qs": "6.5.2",
@@ -5294,33 +5324,55 @@
5294
  "dev": true,
5295
  "requires": {
5296
  "errlop": "1.1.1",
5297
- "semver": "5.6.0"
5298
  }
5299
  }
5300
  }
5301
  },
5302
  "resolve": {
5303
- "version": "1.10.0",
5304
- "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.10.0.tgz",
5305
- "integrity": "sha512-3sUr9aq5OfSg2S9pNtPA9hL1FVEAjvfOC4leW0SNf/mpnaakz2a9femSd6LqAww2RaFctwyf1lCqnTHuF1rxDg==",
5306
  "dev": true,
5307
  "requires": {
5308
  "path-parse": "1.0.6"
5309
  }
5310
  },
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
5311
  "rimraf": {
5312
  "version": "2.6.3",
5313
  "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.3.tgz",
5314
  "integrity": "sha512-mwqeW5XsA2qAejG46gYdENaxXjx9onRNCfn7L0duuP4hCuTIi/QO7PDK07KJfp1d+izWPrzEJDcSqBa0OZQriA==",
5315
  "dev": true,
5316
  "requires": {
5317
- "glob": "7.1.3"
5318
  },
5319
  "dependencies": {
5320
  "glob": {
5321
- "version": "7.1.3",
5322
- "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.3.tgz",
5323
- "integrity": "sha512-vcfuiIxogLV4DlGBHIUOwI0IbrJ8HWPc4MU7HzviGeNho/UJDfi6B5p3sHeWIQ0KGIU0Jpxi5ZHxemQfLkkAwQ==",
5324
  "dev": true,
5325
  "requires": {
5326
  "fs.realpath": "1.0.0",
@@ -5334,21 +5386,10 @@
5334
  }
5335
  },
5336
  "rsyncwrapper": {
5337
- "version": "2.0.1",
5338
- "resolved": "https://registry.npmjs.org/rsyncwrapper/-/rsyncwrapper-2.0.1.tgz",
5339
- "integrity": "sha1-itRMAz4W1IFvMBgMWy17ssIlk5A=",
5340
- "dev": true,
5341
- "requires": {
5342
- "lodash": "4.15.0"
5343
- },
5344
- "dependencies": {
5345
- "lodash": {
5346
- "version": "4.15.0",
5347
- "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.15.0.tgz",
5348
- "integrity": "sha1-MWI5HY8BQKoiz49rPDTWt/Y9Oqk=",
5349
- "dev": true
5350
- }
5351
- }
5352
  },
5353
  "safe-buffer": {
5354
  "version": "5.1.2",
@@ -5362,6 +5403,15 @@
5362
  "integrity": "sha1-PnZyPjjf3aE8mx0poeB//uSzC1c=",
5363
  "dev": true
5364
  },
 
 
 
 
 
 
 
 
 
5365
  "safefs": {
5366
  "version": "4.1.0",
5367
  "resolved": "https://registry.npmjs.org/safefs/-/safefs-4.1.0.tgz",
@@ -5395,15 +5445,15 @@
5395
  }
5396
  },
5397
  "semver": {
5398
- "version": "5.6.0",
5399
- "resolved": "https://registry.npmjs.org/semver/-/semver-5.6.0.tgz",
5400
- "integrity": "sha512-RS9R6R35NYgQn++fkDWaOmqGoj4Ek9gGs+DPxNUZKuwE183xjJroKvyo1IzVFeXvUrvmALy6FWD5xrdJT25gMg==",
5401
  "dev": true
5402
  },
5403
  "semver-regex": {
5404
- "version": "1.0.0",
5405
- "resolved": "https://registry.npmjs.org/semver-regex/-/semver-regex-1.0.0.tgz",
5406
- "integrity": "sha1-kqSWkGX5xwxpR1PVUkj8aPj2Usk=",
5407
  "dev": true,
5408
  "optional": true
5409
  },
@@ -5414,7 +5464,7 @@
5414
  "dev": true,
5415
  "optional": true,
5416
  "requires": {
5417
- "semver": "5.6.0"
5418
  }
5419
  },
5420
  "set-blocking": {
@@ -5423,10 +5473,42 @@
5423
  "integrity": "sha1-BF+XgtARrppoA93TgrJDkrPYkPc=",
5424
  "dev": true
5425
  },
5426
- "set-immediate-shim": {
5427
- "version": "1.0.1",
5428
- "resolved": "https://registry.npmjs.org/set-immediate-shim/-/set-immediate-shim-1.0.1.tgz",
5429
- "integrity": "sha1-SysbJ+uAip+NzEgaWOXlb1mfP2E=",
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
5430
  "dev": true
5431
  },
5432
  "shelljs": {
@@ -5466,16 +5548,166 @@
5466
  "simple-concat": "1.0.0"
5467
  }
5468
  },
5469
- "source-map": {
5470
- "version": "0.5.7",
5471
- "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz",
5472
- "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=",
5473
  "dev": true
5474
  },
5475
- "sparkles": {
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
5476
  "version": "1.0.1",
5477
- "resolved": "https://registry.npmjs.org/sparkles/-/sparkles-1.0.1.tgz",
5478
- "integrity": "sha512-dSO0DDYUahUt/0/pD/Is3VIm5TGJjludZ0HVymmhYF6eNA53PVLhnUk0znSYbH8IYBuJdCE+1luR22jNLMaQdw==",
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
5479
  "dev": true
5480
  },
5481
  "spdx-correct": {
@@ -5485,7 +5717,7 @@
5485
  "dev": true,
5486
  "requires": {
5487
  "spdx-expression-parse": "3.0.0",
5488
- "spdx-license-ids": "3.0.3"
5489
  }
5490
  },
5491
  "spdx-exceptions": {
@@ -5501,15 +5733,24 @@
5501
  "dev": true,
5502
  "requires": {
5503
  "spdx-exceptions": "2.2.0",
5504
- "spdx-license-ids": "3.0.3"
5505
  }
5506
  },
5507
  "spdx-license-ids": {
5508
- "version": "3.0.3",
5509
- "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.3.tgz",
5510
- "integrity": "sha512-uBIcIl3Ih6Phe3XHK1NqboJLdGfwr1UN3k6wSD1dZpmPsIkb8AGNbZYJ1fOBk834+Gxy8rpfDxrS6XLEMZMY2g==",
5511
  "dev": true
5512
  },
 
 
 
 
 
 
 
 
 
5513
  "sprintf-js": {
5514
  "version": "1.1.2",
5515
  "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.1.2.tgz",
@@ -5575,11 +5816,33 @@
5575
  "tweetnacl": "0.14.5"
5576
  }
5577
  },
5578
- "stat-mode": {
5579
- "version": "0.2.2",
5580
- "resolved": "https://registry.npmjs.org/stat-mode/-/stat-mode-0.2.2.tgz",
5581
- "integrity": "sha1-5sgLYjEj19gM8TLOU480YokHJQI=",
5582
- "dev": true
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
5583
  },
5584
  "stream-buffers": {
5585
  "version": "2.2.0",
@@ -5587,21 +5850,12 @@
5587
  "integrity": "sha1-kdX1Ew0c75bc+n9yaUUYh0HQnuQ=",
5588
  "dev": true
5589
  },
5590
- "stream-combiner2": {
5591
- "version": "1.1.1",
5592
- "resolved": "https://registry.npmjs.org/stream-combiner2/-/stream-combiner2-1.1.1.tgz",
5593
- "integrity": "sha1-+02KFCDqNidk4hrUeAOXvry0HL4=",
5594
  "dev": true,
5595
- "requires": {
5596
- "duplexer2": "0.1.4",
5597
- "readable-stream": "2.3.6"
5598
- }
5599
- },
5600
- "stream-shift": {
5601
- "version": "1.0.0",
5602
- "resolved": "https://registry.npmjs.org/stream-shift/-/stream-shift-1.0.0.tgz",
5603
- "integrity": "sha1-1cdSgl5TZ+eG944Y5EXqIjoVWVI=",
5604
- "dev": true
5605
  },
5606
  "string-template": {
5607
  "version": "0.2.1",
@@ -5640,64 +5894,28 @@
5640
  },
5641
  "strip-bom": {
5642
  "version": "2.0.0",
5643
- "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-2.0.0.tgz",
5644
- "integrity": "sha1-YhmoVhZSBJHzV4i9vxRHqZx+aw4=",
5645
- "dev": true,
5646
- "requires": {
5647
- "is-utf8": "0.2.1"
5648
- }
5649
- },
5650
- "strip-bom-stream": {
5651
- "version": "1.0.0",
5652
- "resolved": "https://registry.npmjs.org/strip-bom-stream/-/strip-bom-stream-1.0.0.tgz",
5653
- "integrity": "sha1-5xRDmFd9Uaa+0PoZlPoF9D/ZiO4=",
5654
- "dev": true,
5655
- "requires": {
5656
- "first-chunk-stream": "1.0.0",
5657
- "strip-bom": "2.0.0"
5658
- }
5659
- },
5660
- "strip-dirs": {
5661
- "version": "1.1.1",
5662
- "resolved": "https://registry.npmjs.org/strip-dirs/-/strip-dirs-1.1.1.tgz",
5663
- "integrity": "sha1-lgu9EoeETzl1pFWKoQOoJV4kVqA=",
5664
- "dev": true,
5665
- "requires": {
5666
- "chalk": "1.1.3",
5667
- "get-stdin": "4.0.1",
5668
- "is-absolute": "0.1.7",
5669
- "is-natural-number": "2.1.1",
5670
- "minimist": "1.2.0",
5671
- "sum-up": "1.0.3"
5672
- },
5673
- "dependencies": {
5674
- "ansi-styles": {
5675
- "version": "2.2.1",
5676
- "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz",
5677
- "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=",
5678
- "dev": true
5679
- },
5680
- "chalk": {
5681
- "version": "1.1.3",
5682
- "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz",
5683
- "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=",
5684
- "dev": true,
5685
- "requires": {
5686
- "ansi-styles": "2.2.1",
5687
- "escape-string-regexp": "1.0.5",
5688
- "has-ansi": "2.0.0",
5689
- "strip-ansi": "3.0.1",
5690
- "supports-color": "2.0.0"
5691
- }
5692
- },
5693
- "supports-color": {
5694
- "version": "2.0.0",
5695
- "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz",
5696
- "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=",
5697
- "dev": true
5698
- }
5699
  }
5700
  },
 
 
 
 
 
 
5701
  "strip-indent": {
5702
  "version": "1.0.1",
5703
  "resolved": "https://registry.npmjs.org/strip-indent/-/strip-indent-1.0.1.tgz",
@@ -5711,7 +5929,8 @@
5711
  "version": "2.0.1",
5712
  "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz",
5713
  "integrity": "sha1-PFMZQukIwml8DsNEhYwobHygpgo=",
5714
- "dev": true
 
5715
  },
5716
  "strip-outer": {
5717
  "version": "1.0.1",
@@ -5722,42 +5941,6 @@
5722
  "escape-string-regexp": "1.0.5"
5723
  }
5724
  },
5725
- "sum-up": {
5726
- "version": "1.0.3",
5727
- "resolved": "https://registry.npmjs.org/sum-up/-/sum-up-1.0.3.tgz",
5728
- "integrity": "sha1-HGYfZnBX9jvLeHWqFDi8FiUlFW4=",
5729
- "dev": true,
5730
- "requires": {
5731
- "chalk": "1.1.3"
5732
- },
5733
- "dependencies": {
5734
- "ansi-styles": {
5735
- "version": "2.2.1",
5736
- "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz",
5737
- "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=",
5738
- "dev": true
5739
- },
5740
- "chalk": {
5741
- "version": "1.1.3",
5742
- "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz",
5743
- "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=",
5744
- "dev": true,
5745
- "requires": {
5746
- "ansi-styles": "2.2.1",
5747
- "escape-string-regexp": "1.0.5",
5748
- "has-ansi": "2.0.0",
5749
- "strip-ansi": "3.0.1",
5750
- "supports-color": "2.0.0"
5751
- }
5752
- },
5753
- "supports-color": {
5754
- "version": "2.0.0",
5755
- "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz",
5756
- "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=",
5757
- "dev": true
5758
- }
5759
- }
5760
- },
5761
  "supports-color": {
5762
  "version": "5.5.0",
5763
  "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz",
@@ -5768,43 +5951,37 @@
5768
  }
5769
  },
5770
  "svgo": {
5771
- "version": "0.6.6",
5772
- "resolved": "https://registry.npmjs.org/svgo/-/svgo-0.6.6.tgz",
5773
- "integrity": "sha1-s0CIkDbyD5tEdUMHfQ9Vc+0ETAg=",
5774
  "dev": true,
5775
  "optional": true,
5776
  "requires": {
5777
- "coa": "1.0.4",
5778
- "colors": "1.1.2",
5779
- "csso": "2.0.0",
5780
- "js-yaml": "3.6.1",
 
 
 
 
5781
  "mkdirp": "0.5.1",
 
5782
  "sax": "1.2.4",
5783
- "whet.extend": "0.9.9"
5784
- },
5785
- "dependencies": {
5786
- "js-yaml": {
5787
- "version": "3.6.1",
5788
- "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.6.1.tgz",
5789
- "integrity": "sha1-bl/mfYsgXOTSL60Ft3geja3MSzA=",
5790
- "dev": true,
5791
- "optional": true,
5792
- "requires": {
5793
- "argparse": "1.0.10",
5794
- "esprima": "2.7.3"
5795
- }
5796
- }
5797
  }
5798
  },
5799
  "tar": {
5800
- "version": "2.2.1",
5801
- "resolved": "https://registry.npmjs.org/tar/-/tar-2.2.1.tgz",
5802
- "integrity": "sha1-jk0qJWwOIYXGsYrWlK7JaLg8sdE=",
5803
  "dev": true,
5804
  "optional": true,
5805
  "requires": {
5806
  "block-stream": "0.0.9",
5807
- "fstream": "1.0.11",
5808
  "inherits": "2.0.3"
5809
  }
5810
  },
@@ -5849,22 +6026,20 @@
5849
  "xtend": "4.0.1"
5850
  }
5851
  },
 
 
 
 
 
 
5852
  "tempfile": {
5853
- "version": "1.1.1",
5854
- "resolved": "https://registry.npmjs.org/tempfile/-/tempfile-1.1.1.tgz",
5855
- "integrity": "sha1-W8xOrsxKsscH2LwR2ZzMmiyyh/I=",
5856
  "dev": true,
5857
  "requires": {
5858
- "os-tmpdir": "1.0.2",
5859
- "uuid": "2.0.3"
5860
- },
5861
- "dependencies": {
5862
- "uuid": {
5863
- "version": "2.0.3",
5864
- "resolved": "https://registry.npmjs.org/uuid/-/uuid-2.0.3.tgz",
5865
- "integrity": "sha1-Z+LoY3lyFVMN/zGOW/nc6/1Hsho=",
5866
- "dev": true
5867
- }
5868
  }
5869
  },
5870
  "text-table": {
@@ -5873,63 +6048,11 @@
5873
  "integrity": "sha1-f17oI66AUgfACvLfSoTsP8+lcLQ=",
5874
  "dev": true
5875
  },
5876
- "through2": {
5877
- "version": "0.6.5",
5878
- "resolved": "https://registry.npmjs.org/through2/-/through2-0.6.5.tgz",
5879
- "integrity": "sha1-QaucZ7KdVyCQcUEOHXp6lozTrUg=",
5880
- "dev": true,
5881
- "requires": {
5882
- "readable-stream": "1.0.34",
5883
- "xtend": "4.0.1"
5884
- },
5885
- "dependencies": {
5886
- "isarray": {
5887
- "version": "0.0.1",
5888
- "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz",
5889
- "integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8=",
5890
- "dev": true
5891
- },
5892
- "readable-stream": {
5893
- "version": "1.0.34",
5894
- "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.0.34.tgz",
5895
- "integrity": "sha1-Elgg40vIQtLyqq+v5MKRbuMsFXw=",
5896
- "dev": true,
5897
- "requires": {
5898
- "core-util-is": "1.0.2",
5899
- "inherits": "2.0.3",
5900
- "isarray": "0.0.1",
5901
- "string_decoder": "0.10.31"
5902
- }
5903
- },
5904
- "string_decoder": {
5905
- "version": "0.10.31",
5906
- "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz",
5907
- "integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=",
5908
- "dev": true
5909
- }
5910
- }
5911
- },
5912
- "through2-filter": {
5913
- "version": "2.0.0",
5914
- "resolved": "https://registry.npmjs.org/through2-filter/-/through2-filter-2.0.0.tgz",
5915
- "integrity": "sha1-YLxVoNrLdghdsfna6Zq0P4PWIuw=",
5916
- "dev": true,
5917
- "requires": {
5918
- "through2": "2.0.5",
5919
- "xtend": "4.0.1"
5920
- },
5921
- "dependencies": {
5922
- "through2": {
5923
- "version": "2.0.5",
5924
- "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.5.tgz",
5925
- "integrity": "sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==",
5926
- "dev": true,
5927
- "requires": {
5928
- "readable-stream": "2.3.6",
5929
- "xtend": "4.0.1"
5930
- }
5931
- }
5932
- }
5933
  },
5934
  "time-grunt": {
5935
  "version": "1.4.0",
@@ -5973,12 +6096,6 @@
5973
  }
5974
  }
5975
  },
5976
- "time-stamp": {
5977
- "version": "1.1.0",
5978
- "resolved": "https://registry.npmjs.org/time-stamp/-/time-stamp-1.1.0.tgz",
5979
- "integrity": "sha1-dkpaEa9QVhkhsTPztE5hhofg9cM=",
5980
- "dev": true
5981
- },
5982
  "time-zone": {
5983
  "version": "0.1.0",
5984
  "resolved": "https://registry.npmjs.org/time-zone/-/time-zone-0.1.0.tgz",
@@ -5986,9 +6103,9 @@
5986
  "dev": true
5987
  },
5988
  "timed-out": {
5989
- "version": "3.1.3",
5990
- "resolved": "https://registry.npmjs.org/timed-out/-/timed-out-3.1.3.tgz",
5991
- "integrity": "sha1-lYYL/MXHbCd/j4Mm/Q9bLiDrohc=",
5992
  "dev": true
5993
  },
5994
  "tiny-lr": {
@@ -6003,15 +6120,32 @@
6003
  "livereload-js": "2.4.0",
6004
  "object-assign": "4.1.1",
6005
  "qs": "6.5.2"
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
6006
  }
6007
  },
6008
- "to-absolute-glob": {
6009
- "version": "0.1.1",
6010
- "resolved": "https://registry.npmjs.org/to-absolute-glob/-/to-absolute-glob-0.1.1.tgz",
6011
- "integrity": "sha1-HN+kcqnvUMI57maZm2YsoOs5k38=",
6012
  "dev": true,
6013
  "requires": {
6014
- "extend-shallow": "2.0.1"
6015
  }
6016
  },
6017
  "to-buffer": {
@@ -6020,6 +6154,48 @@
6020
  "integrity": "sha512-lx9B5iv7msuFYE3dytT+KE5tap+rNYw+K4jVkb9R/asAb+pbBSM17jtunHplhBe6RRJdZx3Pn2Jph24O32mOVg==",
6021
  "dev": true
6022
  },
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
6023
  "tough-cookie": {
6024
  "version": "2.4.3",
6025
  "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.4.3.tgz",
@@ -6084,16 +6260,20 @@
6084
  "dev": true,
6085
  "requires": {
6086
  "errlop": "1.1.1",
6087
- "semver": "5.6.0"
6088
  }
6089
  }
6090
  }
6091
  },
6092
- "typedarray": {
6093
- "version": "0.0.6",
6094
- "resolved": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz",
6095
- "integrity": "sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c=",
6096
- "dev": true
 
 
 
 
6097
  },
6098
  "underscore": {
6099
  "version": "1.7.0",
@@ -6111,44 +6291,94 @@
6111
  "util-deprecate": "1.0.2"
6112
  }
6113
  },
6114
- "unique-stream": {
6115
- "version": "2.3.1",
6116
- "resolved": "https://registry.npmjs.org/unique-stream/-/unique-stream-2.3.1.tgz",
6117
- "integrity": "sha512-2nY4TnBE70yoxHkDli7DMazpWiP7xMdCYqU2nBRO0UB+ZpEkGsSija7MvmvnZFUeC+mrgiUfcHSr3LmRFIg4+A==",
6118
  "dev": true,
6119
  "requires": {
6120
- "json-stable-stringify-without-jsonify": "1.0.1",
6121
- "through2-filter": "3.0.0"
 
 
6122
  },
6123
  "dependencies": {
6124
- "through2": {
6125
- "version": "2.0.5",
6126
- "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.5.tgz",
6127
- "integrity": "sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==",
6128
  "dev": true,
6129
  "requires": {
6130
- "readable-stream": "2.3.6",
6131
- "xtend": "4.0.1"
6132
  }
6133
  },
6134
- "through2-filter": {
6135
- "version": "3.0.0",
6136
- "resolved": "https://registry.npmjs.org/through2-filter/-/through2-filter-3.0.0.tgz",
6137
- "integrity": "sha512-jaRjI2WxN3W1V8/FMZ9HKIBXixtiqs3SQSX4/YGIiP3gL6djW48VoZq9tDqeCWs3MT8YY5wb/zli8VW8snY1CA==",
6138
  "dev": true,
6139
  "requires": {
6140
- "through2": "2.0.5",
6141
- "xtend": "4.0.1"
 
 
6142
  }
6143
  }
6144
  }
6145
  },
6146
- "unzip-response": {
6147
- "version": "1.0.2",
6148
- "resolved": "https://registry.npmjs.org/unzip-response/-/unzip-response-1.0.2.tgz",
6149
- "integrity": "sha1-uYTwh3/AqJwsdzzB73tbIytbBv4=",
6150
  "dev": true
6151
  },
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
6152
  "uri-js": {
6153
  "version": "4.2.2",
6154
  "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.2.2.tgz",
@@ -6158,24 +6388,33 @@
6158
  "punycode": "2.1.1"
6159
  }
6160
  },
 
 
 
 
 
 
6161
  "url-parse-lax": {
6162
  "version": "1.0.0",
6163
  "resolved": "https://registry.npmjs.org/url-parse-lax/-/url-parse-lax-1.0.0.tgz",
6164
  "integrity": "sha1-evjzA2Rem9eaJy56FKxovAYJ2nM=",
6165
  "dev": true,
 
6166
  "requires": {
6167
  "prepend-http": "1.0.4"
6168
  }
6169
  },
6170
- "url-regex": {
6171
- "version": "3.2.0",
6172
- "resolved": "https://registry.npmjs.org/url-regex/-/url-regex-3.2.0.tgz",
6173
- "integrity": "sha1-260eDJ4p4QXdCx8J9oYvf9tIJyQ=",
6174
- "dev": true,
6175
- "optional": true,
6176
- "requires": {
6177
- "ip-regex": "1.0.3"
6178
- }
 
 
6179
  },
6180
  "util-deprecate": {
6181
  "version": "1.0.2",
@@ -6183,18 +6422,23 @@
6183
  "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=",
6184
  "dev": true
6185
  },
 
 
 
 
 
 
 
 
 
 
 
6186
  "uuid": {
6187
  "version": "3.3.2",
6188
  "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.3.2.tgz",
6189
  "integrity": "sha512-yXJmeNaw3DnnKAOKJE51sL/ZaYfWJRl1pK9dr19YFCu0ObS231AB1/LbqTKRAQ5kw8A90rA6fr4riOUpTZvQZA==",
6190
  "dev": true
6191
  },
6192
- "vali-date": {
6193
- "version": "1.0.0",
6194
- "resolved": "https://registry.npmjs.org/vali-date/-/vali-date-1.0.0.tgz",
6195
- "integrity": "sha1-G5BKWWCfsyjvB4E4Qgk09rhnCaY=",
6196
- "dev": true
6197
- },
6198
  "validate-npm-package-license": {
6199
  "version": "3.0.4",
6200
  "resolved": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz",
@@ -6216,64 +6460,6 @@
6216
  "extsprintf": "1.3.0"
6217
  }
6218
  },
6219
- "vinyl": {
6220
- "version": "1.2.0",
6221
- "resolved": "https://registry.npmjs.org/vinyl/-/vinyl-1.2.0.tgz",
6222
- "integrity": "sha1-XIgDbPVl5d8FVYv8kR+GVt8hiIQ=",
6223
- "dev": true,
6224
- "requires": {
6225
- "clone": "1.0.4",
6226
- "clone-stats": "0.0.1",
6227
- "replace-ext": "0.0.1"
6228
- }
6229
- },
6230
- "vinyl-assign": {
6231
- "version": "1.2.1",
6232
- "resolved": "https://registry.npmjs.org/vinyl-assign/-/vinyl-assign-1.2.1.tgz",
6233
- "integrity": "sha1-TRmIkbVRWRHXcajNnFSApGoHSkU=",
6234
- "dev": true,
6235
- "requires": {
6236
- "object-assign": "4.1.1",
6237
- "readable-stream": "2.3.6"
6238
- }
6239
- },
6240
- "vinyl-fs": {
6241
- "version": "2.4.4",
6242
- "resolved": "https://registry.npmjs.org/vinyl-fs/-/vinyl-fs-2.4.4.tgz",
6243
- "integrity": "sha1-vm/zJwy1Xf19MGNkDegfJddTIjk=",
6244
- "dev": true,
6245
- "requires": {
6246
- "duplexify": "3.7.1",
6247
- "glob-stream": "5.3.5",
6248
- "graceful-fs": "4.1.15",
6249
- "gulp-sourcemaps": "1.6.0",
6250
- "is-valid-glob": "0.3.0",
6251
- "lazystream": "1.0.0",
6252
- "lodash.isequal": "4.5.0",
6253
- "merge-stream": "1.0.1",
6254
- "mkdirp": "0.5.1",
6255
- "object-assign": "4.1.1",
6256
- "readable-stream": "2.3.6",
6257
- "strip-bom": "2.0.0",
6258
- "strip-bom-stream": "1.0.0",
6259
- "through2": "2.0.5",
6260
- "through2-filter": "2.0.0",
6261
- "vali-date": "1.0.0",
6262
- "vinyl": "1.2.0"
6263
- },
6264
- "dependencies": {
6265
- "through2": {
6266
- "version": "2.0.5",
6267
- "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.5.tgz",
6268
- "integrity": "sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==",
6269
- "dev": true,
6270
- "requires": {
6271
- "readable-stream": "2.3.6",
6272
- "xtend": "4.0.1"
6273
- }
6274
- }
6275
- }
6276
- },
6277
  "vow": {
6278
  "version": "0.4.4",
6279
  "resolved": "https://registry.npmjs.org/vow/-/vow-0.4.4.tgz",
@@ -6302,6 +6488,12 @@
6302
  "minimatch": "0.2.14"
6303
  }
6304
  },
 
 
 
 
 
 
6305
  "minimatch": {
6306
  "version": "0.2.14",
6307
  "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-0.2.14.tgz",
@@ -6329,15 +6521,6 @@
6329
  "integrity": "sha1-oW0CXrkxvQO1LzCMrtD0D86+lTI=",
6330
  "dev": true
6331
  },
6332
- "ware": {
6333
- "version": "1.3.0",
6334
- "resolved": "https://registry.npmjs.org/ware/-/ware-1.3.0.tgz",
6335
- "integrity": "sha1-0bFPOdLiy0q4xAmPdW/ksWTkc9Q=",
6336
- "dev": true,
6337
- "requires": {
6338
- "wrap-fn": "0.1.5"
6339
- }
6340
- },
6341
  "websocket-driver": {
6342
  "version": "0.7.0",
6343
  "resolved": "https://registry.npmjs.org/websocket-driver/-/websocket-driver-0.7.0.tgz",
@@ -6354,13 +6537,6 @@
6354
  "integrity": "sha512-nqHUnMXmBzT0w570r2JpJxfiSD1IzoI+HGVdd3aZ0yNi3ngvQ4jv1dtHt5VGxfI2yj5yqImPhOK4vmIh2xMbGg==",
6355
  "dev": true
6356
  },
6357
- "whet.extend": {
6358
- "version": "0.9.9",
6359
- "resolved": "https://registry.npmjs.org/whet.extend/-/whet.extend-0.9.9.tgz",
6360
- "integrity": "sha1-+HfVv2SMl+WqVC+twW1qJZucEaE=",
6361
- "dev": true,
6362
- "optional": true
6363
- },
6364
  "which": {
6365
  "version": "1.3.1",
6366
  "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz",
@@ -6386,15 +6562,6 @@
6386
  "string-width": "1.0.2"
6387
  }
6388
  },
6389
- "wrap-fn": {
6390
- "version": "0.1.5",
6391
- "resolved": "https://registry.npmjs.org/wrap-fn/-/wrap-fn-0.1.5.tgz",
6392
- "integrity": "sha1-8htuQQFv9KfjFyDbxjoJAWvfmEU=",
6393
- "dev": true,
6394
- "requires": {
6395
- "co": "3.1.0"
6396
- }
6397
- },
6398
  "wrappy": {
6399
  "version": "1.0.2",
6400
  "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz",
@@ -6407,6 +6574,12 @@
6407
  "integrity": "sha1-pcbVMr5lbiPbgg77lDofBJmNY68=",
6408
  "dev": true
6409
  },
 
 
 
 
 
 
6410
  "yauzl": {
6411
  "version": "2.10.0",
6412
  "resolved": "https://registry.npmjs.org/yauzl/-/yauzl-2.10.0.tgz",
1
  {
2
  "name": "wp-product-review",
3
+ "version": "3.6.0",
4
  "lockfileVersion": 1,
5
  "requires": true,
6
  "dependencies": {
7
+ "@mrmlnc/readdir-enhanced": {
8
+ "version": "2.2.1",
9
+ "resolved": "https://registry.npmjs.org/@mrmlnc/readdir-enhanced/-/readdir-enhanced-2.2.1.tgz",
10
+ "integrity": "sha512-bPHp6Ji8b41szTOcaP63VlnbbO5Ny6dwAATtY6JTjh5N2OLrb5Qk/Th5cRkRQhkWCt+EJsYrNB0MiL+Gpn6e3g==",
11
+ "dev": true,
12
+ "requires": {
13
+ "call-me-maybe": "1.0.1",
14
+ "glob-to-regexp": "0.3.0"
15
+ }
16
+ },
17
+ "@nodelib/fs.stat": {
18
+ "version": "1.1.3",
19
+ "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-1.1.3.tgz",
20
+ "integrity": "sha512-shAmDyaQC4H92APFoIaVDHCx5bStIocgvbwQyxPRrbUY20V1EYTbSDchWbuwlMG3V17cprZhA6+78JfB+3DTPw==",
21
+ "dev": true
22
+ },
23
+ "@sindresorhus/is": {
24
+ "version": "0.7.0",
25
+ "resolved": "https://registry.npmjs.org/@sindresorhus/is/-/is-0.7.0.tgz",
26
+ "integrity": "sha512-ONhaKPIufzzrlNbqtWFFd+jlnemX6lJAgq9ZeiZtS7I1PIf/la7CW4m83rTXRnVnsMbW2k56pGYu7AUFJD9Pow==",
27
+ "dev": true,
28
+ "optional": true
29
+ },
30
+ "@types/q": {
31
+ "version": "1.5.2",
32
+ "resolved": "https://registry.npmjs.org/@types/q/-/q-1.5.2.tgz",
33
+ "integrity": "sha512-ce5d3q03Ex0sy4R14722Rmt6MT07Ua+k4FwDfdcToYJcMKNtRVQvJ6JCAPdAmAnbRb6CsX6aYb9m96NGod9uTw==",
34
+ "dev": true,
35
+ "optional": true
36
+ },
37
  "abbrev": {
38
  "version": "1.1.1",
39
  "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.1.1.tgz",
41
  "dev": true
42
  },
43
  "ajv": {
44
+ "version": "6.10.0",
45
+ "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.10.0.tgz",
46
+ "integrity": "sha512-nffhOpkymDECQyR0mnsUtoCE8RlX38G0rYP+wgLWFyZuUyuuojSSvi/+euOiQBIn63whYwYVIIH1TvE3tu4OEg==",
47
  "dev": true,
48
  "requires": {
49
  "fast-deep-equal": "2.0.1",
52
  "uri-js": "4.2.2"
53
  }
54
  },
 
 
 
 
 
 
 
 
 
55
  "ansi-regex": {
56
  "version": "2.1.1",
57
  "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz",
67
  "color-convert": "1.9.3"
68
  }
69
  },
 
 
 
 
 
 
70
  "aproba": {
71
  "version": "1.2.0",
72
  "resolved": "https://registry.npmjs.org/aproba/-/aproba-1.2.0.tgz",
73
  "integrity": "sha512-Y9J6ZjXtoYh8RnXVCMOU/ttDmk1aBjunq9vO0ta5x85WDQiQfUF9sIPBITdbiiIVcBo03Hi3jMxigBtsddlXRw==",
74
  "dev": true
75
  },
76
+ "arch": {
77
+ "version": "2.1.1",
78
+ "resolved": "https://registry.npmjs.org/arch/-/arch-2.1.1.tgz",
79
+ "integrity": "sha512-BLM56aPo9vLLFVa8+/+pJLnrZ7QGGTVHWsCwieAWT9o9K8UeGaQbzZbGoabWLOo2ksBCztoXdqBZBplqLDDCSg==",
80
+ "dev": true,
81
+ "optional": true
82
+ },
83
  "archive-type": {
84
+ "version": "4.0.0",
85
+ "resolved": "https://registry.npmjs.org/archive-type/-/archive-type-4.0.0.tgz",
86
+ "integrity": "sha1-+S5yIzBW38aWlHJ0nCZ72wRrHXA=",
87
  "dev": true,
88
+ "optional": true,
89
  "requires": {
90
+ "file-type": "4.4.0"
91
+ },
92
+ "dependencies": {
93
+ "file-type": {
94
+ "version": "4.4.0",
95
+ "resolved": "https://registry.npmjs.org/file-type/-/file-type-4.4.0.tgz",
96
+ "integrity": "sha1-G2AOX8ofvcboDApwxxyNul95BsU=",
97
+ "dev": true,
98
+ "optional": true
99
+ }
100
  }
101
  },
102
  "archiver": {
106
  "dev": true,
107
  "requires": {
108
  "archiver-utils": "1.3.0",
109
+ "async": "2.6.2",
110
  "buffer-crc32": "0.2.13",
111
  "glob": "7.0.6",
112
  "lodash": "4.17.11",
117
  },
118
  "dependencies": {
119
  "async": {
120
+ "version": "2.6.2",
121
+ "resolved": "https://registry.npmjs.org/async/-/async-2.6.2.tgz",
122
+ "integrity": "sha512-H1qVYh1MYhEEFLsP97cVKqCGo7KfCyTt6uEWqsTBr9SO84oK9Uwbyd/yCW+6rKJLHksBNUVWZDAjfS+Ccx0Bbg==",
123
  "dev": true,
124
  "requires": {
125
  "lodash": "4.17.11"
169
  }
170
  },
171
  "arr-diff": {
172
+ "version": "4.0.0",
173
+ "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-4.0.0.tgz",
174
+ "integrity": "sha1-1kYQdP6/7HHn4VI1dhoyml3HxSA=",
175
+ "dev": true
 
 
 
176
  },
177
  "arr-flatten": {
178
  "version": "1.1.0",
180
  "integrity": "sha512-L3hKV5R/p5o81R7O02IGnwpDmkp6E982XhtbuwSe3O4qOtMMMtodicASA1Cny2U+aCXcNpml+m4dPsvsJ3jatg==",
181
  "dev": true
182
  },
183
+ "arr-union": {
184
+ "version": "3.1.0",
185
+ "resolved": "https://registry.npmjs.org/arr-union/-/arr-union-3.1.0.tgz",
186
+ "integrity": "sha1-45sJrqne+Gao8gbiiK9jkZuuOcQ=",
187
+ "dev": true
188
+ },
189
  "array-differ": {
190
  "version": "1.0.0",
191
  "resolved": "https://registry.npmjs.org/array-differ/-/array-differ-1.0.0.tgz",
214
  "dev": true
215
  },
216
  "array-unique": {
217
+ "version": "0.3.2",
218
+ "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.3.2.tgz",
219
+ "integrity": "sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg=",
220
  "dev": true
221
  },
222
  "arrify": {
240
  "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=",
241
  "dev": true
242
  },
243
+ "assign-symbols": {
244
+ "version": "1.0.0",
245
+ "resolved": "https://registry.npmjs.org/assign-symbols/-/assign-symbols-1.0.0.tgz",
246
+ "integrity": "sha1-WWZ/QfrdTyDMvCu5a41Pf3jsA2c=",
247
+ "dev": true
248
+ },
249
  "async": {
250
  "version": "1.5.2",
251
  "resolved": "https://registry.npmjs.org/async/-/async-1.5.2.tgz",
252
  "integrity": "sha1-7GphrlZIDAw8skHJVhjiCJL5Zyo=",
253
  "dev": true
254
  },
 
 
 
 
 
 
 
255
  "asynckit": {
256
  "version": "0.4.0",
257
  "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz",
258
  "integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k=",
259
  "dev": true
260
  },
261
+ "atob": {
262
+ "version": "2.1.2",
263
+ "resolved": "https://registry.npmjs.org/atob/-/atob-2.1.2.tgz",
264
+ "integrity": "sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg==",
265
+ "dev": true
266
+ },
267
  "autoprefixer": {
268
+ "version": "9.5.1",
269
+ "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-9.5.1.tgz",
270
+ "integrity": "sha512-KJSzkStUl3wP0D5sdMlP82Q52JLy5+atf2MHAre48+ckWkXgixmfHyWmA77wFDy6jTHU6mIgXv6hAQ2mf1PjJQ==",
271
  "dev": true,
272
  "requires": {
273
+ "browserslist": "4.6.0",
274
+ "caniuse-lite": "1.0.30000971",
275
  "normalize-range": "0.1.2",
276
  "num2fraction": "1.2.2",
277
+ "postcss": "7.0.16",
278
  "postcss-value-parser": "3.3.1"
279
  }
280
  },
296
  "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=",
297
  "dev": true
298
  },
299
+ "base": {
300
+ "version": "0.11.2",
301
+ "resolved": "https://registry.npmjs.org/base/-/base-0.11.2.tgz",
302
+ "integrity": "sha512-5T6P4xPgpp0YDFvSWwEZ4NoE3aM4QBQXDzmVbraCkFj8zHM+mba8SyqB5DbZWyR7mYHo6Y7BdQo3MoA4m0TeQg==",
303
+ "dev": true,
304
+ "requires": {
305
+ "cache-base": "1.0.1",
306
+ "class-utils": "0.3.6",
307
+ "component-emitter": "1.3.0",
308
+ "define-property": "1.0.0",
309
+ "isobject": "3.0.1",
310
+ "mixin-deep": "1.3.1",
311
+ "pascalcase": "0.1.1"
312
+ },
313
+ "dependencies": {
314
+ "define-property": {
315
+ "version": "1.0.0",
316
+ "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz",
317
+ "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=",
318
+ "dev": true,
319
+ "requires": {
320
+ "is-descriptor": "1.0.2"
321
+ }
322
+ },
323
+ "is-accessor-descriptor": {
324
+ "version": "1.0.0",
325
+ "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz",
326
+ "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==",
327
+ "dev": true,
328
+ "requires": {
329
+ "kind-of": "6.0.2"
330
+ }
331
+ },
332
+ "is-data-descriptor": {
333
+ "version": "1.0.0",
334
+ "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz",
335
+ "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==",
336
+ "dev": true,
337
+ "requires": {
338
+ "kind-of": "6.0.2"
339
+ }
340
+ },
341
+ "is-descriptor": {
342
+ "version": "1.0.2",
343
+ "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz",
344
+ "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==",
345
+ "dev": true,
346
+ "requires": {
347
+ "is-accessor-descriptor": "1.0.0",
348
+ "is-data-descriptor": "1.0.0",
349
+ "kind-of": "6.0.2"
350
+ }
351
+ }
352
+ }
353
+ },
354
  "base64-js": {
355
  "version": "1.3.0",
356
  "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.3.0.tgz",
366
  "tweetnacl": "0.14.5"
367
  }
368
  },
 
 
 
 
 
 
369
  "bin-build": {
370
+ "version": "3.0.0",
371
+ "resolved": "https://registry.npmjs.org/bin-build/-/bin-build-3.0.0.tgz",
372
+ "integrity": "sha512-jcUOof71/TNAI2uM5uoUaDq2ePcVBQ3R/qhxAz1rX7UfvduAL/RXD3jXzvn8cVcDJdGVkiR1shal3OH0ImpuhA==",
373
  "dev": true,
374
  "optional": true,
375
  "requires": {
376
+ "decompress": "4.2.0",
377
+ "download": "6.2.5",
378
+ "execa": "0.7.0",
379
+ "p-map-series": "1.0.0",
380
+ "tempfile": "2.0.0"
 
 
381
  }
382
  },
383
  "bin-check": {
384
+ "version": "4.1.0",
385
+ "resolved": "https://registry.npmjs.org/bin-check/-/bin-check-4.1.0.tgz",
386
+ "integrity": "sha512-b6weQyEUKsDGFlACWSIOfveEnImkJyK/FGW6FAG42loyoquvjdtOIqO6yBFzHyqyVVhNgNkQxxx09SFLK28YnA==",
387
  "dev": true,
388
  "optional": true,
389
  "requires": {
390
+ "execa": "0.7.0",
391
+ "executable": "4.1.1"
392
  }
393
  },
394
  "bin-version": {
395
+ "version": "3.1.0",
396
+ "resolved": "https://registry.npmjs.org/bin-version/-/bin-version-3.1.0.tgz",
397
+ "integrity": "sha512-Mkfm4iE1VFt4xd4vH+gx+0/71esbfus2LsnCGe8Pi4mndSPyT+NGES/Eg99jx8/lUGWfu3z2yuB/bt5UB+iVbQ==",
398
  "dev": true,
399
  "optional": true,
400
  "requires": {
401
+ "execa": "1.0.0",
402
+ "find-versions": "3.1.0"
403
+ },
404
+ "dependencies": {
405
+ "cross-spawn": {
406
+ "version": "6.0.5",
407
+ "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.5.tgz",
408
+ "integrity": "sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==",
409
+ "dev": true,
410
+ "optional": true,
411
+ "requires": {
412
+ "nice-try": "1.0.5",
413
+ "path-key": "2.0.1",
414
+ "semver": "5.7.0",
415
+ "shebang-command": "1.2.0",
416
+ "which": "1.3.1"
417
+ }
418
+ },
419
+ "execa": {
420
+ "version": "1.0.0",
421
+ "resolved": "https://registry.npmjs.org/execa/-/execa-1.0.0.tgz",
422
+ "integrity": "sha512-adbxcyWV46qiHyvSp50TKt05tB4tK3HcmF7/nxfAdhnox83seTDbwnaqKO4sXRy7roHAIFqJP/Rw/AuEbX61LA==",
423
+ "dev": true,
424
+ "optional": true,
425
+ "requires": {
426
+ "cross-spawn": "6.0.5",
427
+ "get-stream": "4.1.0",
428
+ "is-stream": "1.1.0",
429
+ "npm-run-path": "2.0.2",
430
+ "p-finally": "1.0.0",
431
+ "signal-exit": "3.0.2",
432
+ "strip-eof": "1.0.0"
433
+ }
434
+ },
435
+ "get-stream": {
436
+ "version": "4.1.0",
437
+ "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-4.1.0.tgz",
438
+ "integrity": "sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w==",
439
+ "dev": true,
440
+ "optional": true,
441
+ "requires": {
442
+ "pump": "3.0.0"
443
+ }
444
+ },
445
+ "pump": {
446
+ "version": "3.0.0",
447
+ "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz",
448
+ "integrity": "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==",
449
+ "dev": true,
450
+ "optional": true,
451
+ "requires": {
452
+ "end-of-stream": "1.4.1",
453
+ "once": "1.4.0"
454
+ }
455
+ }
456
  }
457
  },
458
  "bin-version-check": {
459
+ "version": "4.0.0",
460
+ "resolved": "https://registry.npmjs.org/bin-version-check/-/bin-version-check-4.0.0.tgz",
461
+ "integrity": "sha512-sR631OrhC+1f8Cvs8WyVWOA33Y8tgwjETNPyyD/myRBXLkfS/vl74FmH/lFcRl9KY3zwGh7jFhvyk9vV3/3ilQ==",
462
  "dev": true,
463
  "optional": true,
464
  "requires": {
465
+ "bin-version": "3.1.0",
466
+ "semver": "5.7.0",
 
467
  "semver-truncate": "1.1.2"
 
 
 
 
 
 
 
 
 
468
  }
469
  },
470
  "bin-wrapper": {
471
+ "version": "4.1.0",
472
+ "resolved": "https://registry.npmjs.org/bin-wrapper/-/bin-wrapper-4.1.0.tgz",
473
+ "integrity": "sha512-hfRmo7hWIXPkbpi0ZltboCMVrU+0ClXR/JgbCKKjlDjQf6igXa7OwdqNcFWQZPZTgiY7ZpzE3+LjjkLiTN2T7Q==",
474
  "dev": true,
475
  "optional": true,
476
  "requires": {
477
+ "bin-check": "4.1.0",
478
+ "bin-version-check": "4.0.0",
479
+ "download": "7.1.0",
480
+ "import-lazy": "3.1.0",
481
+ "os-filter-obj": "2.0.0",
482
+ "pify": "4.0.1"
483
+ },
484
+ "dependencies": {
485
+ "download": {
486
+ "version": "7.1.0",
487
+ "resolved": "https://registry.npmjs.org/download/-/download-7.1.0.tgz",
488
+ "integrity": "sha512-xqnBTVd/E+GxJVrX5/eUJiLYjCGPwMpdL+jGhGU57BvtcA7wwhtHVbXBeUk51kOpW3S7Jn3BQbN9Q1R1Km2qDQ==",
489
+ "dev": true,
490
+ "optional": true,
491
+ "requires": {
492
+ "archive-type": "4.0.0",
493
+ "caw": "2.0.1",
494
+ "content-disposition": "0.5.3",
495
+ "decompress": "4.2.0",
496
+ "ext-name": "5.0.0",
497
+ "file-type": "8.1.0",
498
+ "filenamify": "2.1.0",
499
+ "get-stream": "3.0.0",
500
+ "got": "8.3.2",
501
+ "make-dir": "1.3.0",
502
+ "p-event": "2.3.1",
503
+ "pify": "3.0.0"
504
+ },
505
+ "dependencies": {
506
+ "pify": {
507
+ "version": "3.0.0",
508
+ "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz",
509
+ "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=",
510
+ "dev": true,
511
+ "optional": true
512
+ }
513
+ }
514
+ },
515
+ "file-type": {
516
+ "version": "8.1.0",
517
+ "resolved": "https://registry.npmjs.org/file-type/-/file-type-8.1.0.tgz",
518
+ "integrity": "sha512-qyQ0pzAy78gVoJsmYeNgl8uH8yKhr1lVhW7JbzJmnlRi0I4R2eEDEJZVKG8agpDnLpacwNbDhLNG/LMdxHD2YQ==",
519
+ "dev": true,
520
+ "optional": true
521
+ },
522
+ "got": {
523
+ "version": "8.3.2",
524
+ "resolved": "https://registry.npmjs.org/got/-/got-8.3.2.tgz",
525
+ "integrity": "sha512-qjUJ5U/hawxosMryILofZCkm3C84PLJS/0grRIpjAwu+Lkxxj5cxeCU25BG0/3mDSpXKTyZr8oh8wIgLaH0QCw==",
526
+ "dev": true,
527
+ "optional": true,
528
+ "requires": {
529
+ "@sindresorhus/is": "0.7.0",
530
+ "cacheable-request": "2.1.4",
531
+ "decompress-response": "3.3.0",
532
+ "duplexer3": "0.1.4",
533
+ "get-stream": "3.0.0",
534
+ "into-stream": "3.1.0",
535
+ "is-retry-allowed": "1.1.0",
536
+ "isurl": "1.0.0",
537
+ "lowercase-keys": "1.0.1",
538
+ "mimic-response": "1.0.1",
539
+ "p-cancelable": "0.4.1",
540
+ "p-timeout": "2.0.1",
541
+ "pify": "3.0.0",
542
+ "safe-buffer": "5.1.2",
543
+ "timed-out": "4.0.1",
544
+ "url-parse-lax": "3.0.0",
545
+ "url-to-options": "1.0.1"
546
+ },
547
+ "dependencies": {
548
+ "pify": {
549
+ "version": "3.0.0",
550
+ "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz",
551
+ "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=",
552
+ "dev": true,
553
+ "optional": true
554
+ }
555
+ }
556
+ },
557
+ "p-cancelable": {
558
+ "version": "0.4.1",
559
+ "resolved": "https://registry.npmjs.org/p-cancelable/-/p-cancelable-0.4.1.tgz",
560
+ "integrity": "sha512-HNa1A8LvB1kie7cERyy21VNeHb2CWJJYqyyC2o3klWFfMGlFmWv2Z7sFgZH8ZiaYL95ydToKTFVXgMV/Os0bBQ==",
561
+ "dev": true,
562
+ "optional": true
563
+ },
564
+ "p-event": {
565
+ "version": "2.3.1",
566
+ "resolved": "https://registry.npmjs.org/p-event/-/p-event-2.3.1.tgz",
567
+ "integrity": "sha512-NQCqOFhbpVTMX4qMe8PF8lbGtzZ+LCiN7pcNrb/413Na7+TRoe1xkKUzuWa/YEJdGQ0FvKtj35EEbDoVPO2kbA==",
568
+ "dev": true,
569
+ "optional": true,
570
+ "requires": {
571
+ "p-timeout": "2.0.1"
572
+ }
573
+ },
574
+ "p-timeout": {
575
+ "version": "2.0.1",
576
+ "resolved": "https://registry.npmjs.org/p-timeout/-/p-timeout-2.0.1.tgz",
577
+ "integrity": "sha512-88em58dDVB/KzPEx1X0N3LwFfYZPyDc4B6eF38M1rk9VTZMbxXXgjugz8mmwpS9Ox4BDZ+t6t3QP5+/gazweIA==",
578
+ "dev": true,
579
+ "requires": {
580
+ "p-finally": "1.0.0"
581
+ }
582
+ },
583
+ "pify": {
584
+ "version": "4.0.1",
585
+ "resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz",
586
+ "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==",
587
+ "dev": true,
588
+ "optional": true
589
+ },
590
+ "prepend-http": {
591
+ "version": "2.0.0",
592
+ "resolved": "https://registry.npmjs.org/prepend-http/-/prepend-http-2.0.0.tgz",
593
+ "integrity": "sha1-6SQ0v6XqjBn0HN/UAddBo8gZ2Jc=",
594
+ "dev": true,
595
+ "optional": true
596
+ },
597
+ "url-parse-lax": {
598
+ "version": "3.0.0",
599
+ "resolved": "https://registry.npmjs.org/url-parse-lax/-/url-parse-lax-3.0.0.tgz",
600
+ "integrity": "sha1-FrXK/Afb42dsGxmZF3gj1lA6yww=",
601
+ "dev": true,
602
+ "optional": true,
603
+ "requires": {
604
+ "prepend-http": "2.0.0"
605
+ }
606
+ }
607
  }
608
  },
609
  "bl": {
626
  "inherits": "2.0.3"
627
  }
628
  },
629
+ "bluebird": {
630
+ "version": "3.5.4",
631
+ "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.5.4.tgz",
632
+ "integrity": "sha512-FG+nFEZChJrbQ9tIccIfZJBz3J7mLrAhxakAbnrJWn8d7aKOC+LWifa0G+p4ZqKp4y13T7juYvdhq9NzKdsrjw==",
633
+ "dev": true
634
+ },
635
  "body": {
636
  "version": "5.1.0",
637
  "resolved": "https://registry.npmjs.org/body/-/body-5.1.0.tgz",
644
  "safe-json-parse": "1.0.1"
645
  }
646
  },
647
+ "boolbase": {
648
+ "version": "1.0.0",
649
+ "resolved": "https://registry.npmjs.org/boolbase/-/boolbase-1.0.0.tgz",
650
+ "integrity": "sha1-aN/1++YMUes3cl6p4+0xDcwed24=",
651
+ "dev": true
652
+ },
653
  "brace-expansion": {
654
  "version": "1.1.11",
655
  "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz",
661
  }
662
  },
663
  "braces": {
664
+ "version": "2.3.2",
665
+ "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz",
666
+ "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==",
667
  "dev": true,
668
  "requires": {
669
+ "arr-flatten": "1.1.0",
670
+ "array-unique": "0.3.2",
671
+ "extend-shallow": "2.0.1",
672
+ "fill-range": "4.0.0",
673
+ "isobject": "3.0.1",
674
+ "repeat-element": "1.1.3",
675
+ "snapdragon": "0.8.2",
676
+ "snapdragon-node": "2.1.1",
677
+ "split-string": "3.1.0",
678
+ "to-regex": "3.0.2"
679
+ },
680
+ "dependencies": {
681
+ "extend-shallow": {
682
+ "version": "2.0.1",
683
+ "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
684
+ "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
685
+ "dev": true,
686
+ "requires": {
687
+ "is-extendable": "0.1.1"
688
+ }
689
+ }
690
  }
691
  },
692
  "browserslist": {
693
+ "version": "4.6.0",
694
+ "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.6.0.tgz",
695
+ "integrity": "sha512-Jk0YFwXBuMOOol8n6FhgkDzn3mY9PYLYGk29zybF05SbRTsMgPqmTNeQQhOghCxq5oFqAXE3u4sYddr4C0uRhg==",
696
  "dev": true,
697
  "requires": {
698
+ "caniuse-lite": "1.0.30000971",
699
+ "electron-to-chromium": "1.3.136",
700
+ "node-releases": "1.1.20"
701
  }
702
  },
703
  "buffer": {
707
  "dev": true,
708
  "requires": {
709
  "base64-js": "1.3.0",
710
+ "ieee754": "1.1.13"
711
  }
712
  },
713
  "buffer-alloc": {
738
  "integrity": "sha1-+PeLdniYiO858gXNY39o5wISKyw=",
739
  "dev": true
740
  },
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
741
  "bytes": {
742
  "version": "1.0.0",
743
  "resolved": "https://registry.npmjs.org/bytes/-/bytes-1.0.0.tgz",
744
  "integrity": "sha1-NWnt6Lo0MV+rmcPpLLBMciDeH6g=",
745
  "dev": true
746
  },
747
+ "cache-base": {
748
+ "version": "1.0.1",
749
+ "resolved": "https://registry.npmjs.org/cache-base/-/cache-base-1.0.1.tgz",
750
+ "integrity": "sha512-AKcdTnFSWATd5/GCPRxr2ChwIJ85CeyrEyjRHlKxQ56d4XJMGym0uAiKn0xbLOGOl3+yRpOTi484dVCEc5AUzQ==",
751
+ "dev": true,
752
+ "requires": {
753
+ "collection-visit": "1.0.0",
754
+ "component-emitter": "1.3.0",
755
+ "get-value": "2.0.6",
756
+ "has-value": "1.0.0",
757
+ "isobject": "3.0.1",
758
+ "set-value": "2.0.0",
759
+ "to-object-path": "0.3.0",
760
+ "union-value": "1.0.0",
761
+ "unset-value": "1.0.0"
762
+ }
763
+ },
764
  "cache-swap": {
765
  "version": "0.3.0",
766
  "resolved": "https://registry.npmjs.org/cache-swap/-/cache-swap-0.3.0.tgz",
773
  "rimraf": "2.6.3"
774
  }
775
  },
776
+ "cacheable-request": {
777
+ "version": "2.1.4",
778
+ "resolved": "https://registry.npmjs.org/cacheable-request/-/cacheable-request-2.1.4.tgz",
779
+ "integrity": "sha1-DYCIAbY0KtM8kd+dC0TcCbkeXD0=",
780
+ "dev": true,
781
+ "optional": true,
782
+ "requires": {
783
+ "clone-response": "1.0.2",
784
+ "get-stream": "3.0.0",
785
+ "http-cache-semantics": "3.8.1",
786
+ "keyv": "3.0.0",
787
+ "lowercase-keys": "1.0.0",
788
+ "normalize-url": "2.0.1",
789
+ "responselike": "1.0.2"
790
+ },
791
+ "dependencies": {
792
+ "lowercase-keys": {
793
+ "version": "1.0.0",
794
+ "resolved": "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-1.0.0.tgz",
795
+ "integrity": "sha1-TjNms55/VFfjXxMkvfb4jQv8cwY=",
796
+ "dev": true,
797
+ "optional": true
798
+ }
799
+ }
800
+ },
801
+ "call-me-maybe": {
802
+ "version": "1.0.1",
803
+ "resolved": "https://registry.npmjs.org/call-me-maybe/-/call-me-maybe-1.0.1.tgz",
804
+ "integrity": "sha1-JtII6onje1y95gJQoV8DHBak1ms=",
805
+ "dev": true
806
+ },
807
  "camelcase": {
808
  "version": "2.1.1",
809
  "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-2.1.1.tgz",
820
  "map-obj": "1.0.1"
821
  }
822
  },
823
+ "caniuse-lite": {
824
+ "version": "1.0.30000971",
825
+ "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30000971.tgz",
826
+ "integrity": "sha512-TQFYFhRS0O5rdsmSbF1Wn+16latXYsQJat66f7S7lizXW1PVpWJeZw9wqqVLIjuxDRz7s7xRUj13QCfd8hKn6g==",
 
 
 
 
 
 
827
  "dev": true
828
  },
829
  "caseless": {
833
  "dev": true
834
  },
835
  "caw": {
836
+ "version": "2.0.1",
837
+ "resolved": "https://registry.npmjs.org/caw/-/caw-2.0.1.tgz",
838
+ "integrity": "sha512-Cg8/ZSBEa8ZVY9HspcGUYaK63d/bN7rqS3CYCzEGUxuYv6UlmcjzDUz2fCFFHyTvUW5Pk0I+3hkA3iXlIj6guA==",
839
  "dev": true,
840
  "requires": {
841
+ "get-proxy": "2.1.0",
842
+ "isurl": "1.0.0",
843
+ "tunnel-agent": "0.6.0",
844
+ "url-to-options": "1.0.1"
 
 
 
 
 
 
 
 
 
 
 
 
 
 
845
  }
846
  },
847
  "chalk": {
862
  "dev": true,
863
  "optional": true
864
  },
865
+ "class-utils": {
866
+ "version": "0.3.6",
867
+ "resolved": "https://registry.npmjs.org/class-utils/-/class-utils-0.3.6.tgz",
868
+ "integrity": "sha512-qOhPa/Fj7s6TY8H8esGu5QNpMMQxz79h+urzrNYN6mn+9BnxlDGf5QZ+XeCDsxSjPqsSR56XOZOJmpeurnLMeg==",
869
  "dev": true,
 
870
  "requires": {
871
+ "arr-union": "3.1.0",
872
+ "define-property": "0.2.5",
873
+ "isobject": "3.0.1",
874
+ "static-extend": "0.1.2"
875
  },
876
  "dependencies": {
877
+ "define-property": {
878
+ "version": "0.2.5",
879
+ "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz",
880
+ "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=",
 
 
 
 
 
 
 
881
  "dev": true,
 
882
  "requires": {
883
+ "is-descriptor": "0.1.6"
 
 
 
 
884
  }
 
 
 
 
 
 
 
885
  }
886
  }
887
  },
892
  "dev": true,
893
  "requires": {
894
  "exit": "0.1.2",
895
+ "glob": "7.1.4"
896
  },
897
  "dependencies": {
898
  "glob": {
899
+ "version": "7.1.4",
900
+ "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.4.tgz",
901
+ "integrity": "sha512-hkLPepehmnKk41pUGm3sYxoFs/umurYfYJCerbXEyFIWcAzvpipAgVkBqqT9RBKMGjnq6kMuyYwha6csxbiM1A==",
902
  "dev": true,
903
  "requires": {
904
  "fs.realpath": "1.0.0",
911
  }
912
  }
913
  },
914
+ "clone-response": {
915
+ "version": "1.0.2",
916
+ "resolved": "https://registry.npmjs.org/clone-response/-/clone-response-1.0.2.tgz",
917
+ "integrity": "sha1-0dyXOSAxTfZ/vrlCI7TuNQI56Ws=",
918
+ "dev": true,
919
+ "optional": true,
920
+ "requires": {
921
+ "mimic-response": "1.0.1"
922
+ }
 
 
 
 
 
 
 
 
923
  },
924
  "coa": {
925
+ "version": "2.0.2",
926
+ "resolved": "https://registry.npmjs.org/coa/-/coa-2.0.2.tgz",
927
+ "integrity": "sha512-q5/jG+YQnSy4nRTV4F7lPepBJZ8qBNJJDBuJdoejDyLXgmL7IEo+Le2JDZudFTFt7mrCqIRaSjws4ygRCTCAXA==",
928
  "dev": true,
929
  "optional": true,
930
  "requires": {
931
+ "@types/q": "1.5.2",
932
+ "chalk": "2.4.2",
933
  "q": "1.5.1"
934
  }
935
  },
939
  "integrity": "sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c=",
940
  "dev": true
941
  },
 
 
 
 
 
 
942
  "coffeescript": {
943
  "version": "1.10.0",
944
  "resolved": "https://registry.npmjs.org/coffeescript/-/coffeescript-1.10.0.tgz",
945
  "integrity": "sha1-56qDAZF+9iGzXYo580jc3R234z4=",
946
  "dev": true
947
  },
948
+ "collection-visit": {
949
+ "version": "1.0.0",
950
+ "resolved": "https://registry.npmjs.org/collection-visit/-/collection-visit-1.0.0.tgz",
951
+ "integrity": "sha1-S8A3PBZLwykbTTaMgpzxqApZ3KA=",
952
+ "dev": true,
953
+ "requires": {
954
+ "map-visit": "1.0.0",
955
+ "object-visit": "1.0.1"
956
+ }
957
+ },
958
  "color-convert": {
959
  "version": "1.9.3",
960
  "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz",
970
  "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=",
971
  "dev": true
972
  },
 
 
 
 
 
 
973
  "colors": {
974
  "version": "1.1.2",
975
  "resolved": "https://registry.npmjs.org/colors/-/colors-1.1.2.tgz",
977
  "dev": true
978
  },
979
  "combined-stream": {
980
+ "version": "1.0.8",
981
+ "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz",
982
+ "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==",
983
  "dev": true,
984
  "requires": {
985
  "delayed-stream": "1.0.0"
994
  "graceful-readlink": "1.0.1"
995
  }
996
  },
997
+ "component-emitter": {
998
+ "version": "1.3.0",
999
+ "resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.3.0.tgz",
1000
+ "integrity": "sha512-Rd3se6QB+sO1TwqZjscQrurpEPIfO0/yYnSin6Q/rD3mOutHvUrCAhJub3r90uNb+SESBuE0QYoB90YdfatsRg==",
1001
+ "dev": true
1002
+ },
1003
  "compress-commons": {
1004
  "version": "1.2.2",
1005
  "resolved": "https://registry.npmjs.org/compress-commons/-/compress-commons-1.2.2.tgz",
1018
  "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=",
1019
  "dev": true
1020
  },
1021
+ "config-chain": {
1022
+ "version": "1.1.12",
1023
+ "resolved": "https://registry.npmjs.org/config-chain/-/config-chain-1.1.12.tgz",
1024
+ "integrity": "sha512-a1eOIcu8+7lUInge4Rpf/n4Krkf3Dd9lqhljRzII1/Zno/kRtUWnznPO3jOKBmTEktkt3fkxisUcivoj0ebzoA==",
1025
  "dev": true,
1026
  "requires": {
1027
+ "ini": "1.3.5",
1028
+ "proto-list": "1.2.4"
 
 
1029
  }
1030
  },
1031
  "console-browserify": {
1050
  "dev": true,
1051
  "optional": true
1052
  },
1053
+ "content-disposition": {
1054
+ "version": "0.5.3",
1055
+ "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.3.tgz",
1056
+ "integrity": "sha512-ExO0774ikEObIAEV9kDo50o+79VCUdEB6n6lzKgGwupcVeRlhrj3qGAfwq8G6uBJjkqLrhT0qEYFcWng8z1z0g==",
1057
+ "dev": true,
1058
+ "requires": {
1059
+ "safe-buffer": "5.1.2"
1060
+ }
1061
+ },
1062
  "continuable-cache": {
1063
  "version": "0.3.1",
1064
  "resolved": "https://registry.npmjs.org/continuable-cache/-/continuable-cache-0.3.1.tgz",
1065
  "integrity": "sha1-vXJ6f67XfnH/OYWskzUakSczrQ8=",
1066
  "dev": true
1067
  },
1068
+ "copy-descriptor": {
1069
+ "version": "0.1.1",
1070
+ "resolved": "https://registry.npmjs.org/copy-descriptor/-/copy-descriptor-0.1.1.tgz",
1071
+ "integrity": "sha1-Z29us8OZl8LuGsOpJP1hJHSPV40=",
1072
+ "dev": true
 
 
 
1073
  },
1074
  "core-util-is": {
1075
  "version": "1.0.2",
1096
  "readable-stream": "2.3.6"
1097
  }
1098
  },
1099
+ "cross-spawn": {
1100
+ "version": "5.1.0",
1101
+ "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-5.1.0.tgz",
1102
+ "integrity": "sha1-6L0O/uWPz/b4+UUQoKVUu/ojVEk=",
1103
  "dev": true,
1104
  "requires": {
1105
+ "lru-cache": "4.1.5",
1106
+ "shebang-command": "1.2.0",
1107
+ "which": "1.3.1"
1108
  }
1109
  },
1110
  "cson": {
1145
  }
1146
  }
1147
  },
1148
+ "css-select": {
1149
+ "version": "2.0.2",
1150
+ "resolved": "https://registry.npmjs.org/css-select/-/css-select-2.0.2.tgz",
1151
+ "integrity": "sha512-dSpYaDVoWaELjvZ3mS6IKZM/y2PMPa/XYoEfYNZePL4U/XgyxZNroHEHReDx/d+VgXh9VbCTtFqLkFbmeqeaRQ==",
1152
+ "dev": true,
1153
+ "optional": true,
1154
+ "requires": {
1155
+ "boolbase": "1.0.0",
1156
+ "css-what": "2.1.3",
1157
+ "domutils": "1.7.0",
1158
+ "nth-check": "1.0.2"
1159
+ }
1160
+ },
1161
+ "css-select-base-adapter": {
1162
+ "version": "0.1.1",
1163
+ "resolved": "https://registry.npmjs.org/css-select-base-adapter/-/css-select-base-adapter-0.1.1.tgz",
1164
+ "integrity": "sha512-jQVeeRG70QI08vSTwf1jHxp74JoZsr2XSgETae8/xC8ovSnL2WF87GTLO86Sbwdt2lK4Umg4HnnwMO4YF3Ce7w==",
1165
+ "dev": true,
1166
+ "optional": true
1167
+ },
1168
+ "css-tree": {
1169
+ "version": "1.0.0-alpha.28",
1170
+ "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-1.0.0-alpha.28.tgz",
1171
+ "integrity": "sha512-joNNW1gCp3qFFzj4St6zk+Wh/NBv0vM5YbEreZk0SD4S23S+1xBKb6cLDg2uj4P4k/GUMlIm6cKIDqIG+vdt0w==",
1172
+ "dev": true,
1173
+ "optional": true,
1174
+ "requires": {
1175
+ "mdn-data": "1.1.4",
1176
+ "source-map": "0.5.7"
1177
+ },
1178
+ "dependencies": {
1179
+ "source-map": {
1180
+ "version": "0.5.7",
1181
+ "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz",
1182
+ "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=",
1183
+ "dev": true,
1184
+ "optional": true
1185
+ }
1186
+ }
1187
+ },
1188
+ "css-url-regex": {
1189
+ "version": "1.1.0",
1190
+ "resolved": "https://registry.npmjs.org/css-url-regex/-/css-url-regex-1.1.0.tgz",
1191
+ "integrity": "sha1-g4NCMMyfdMRX3lnuvRVD/uuDt+w=",
1192
+ "dev": true,
1193
+ "optional": true
1194
+ },
1195
+ "css-what": {
1196
+ "version": "2.1.3",
1197
+ "resolved": "https://registry.npmjs.org/css-what/-/css-what-2.1.3.tgz",
1198
+ "integrity": "sha512-a+EPoD+uZiNfh+5fxw2nO9QwFa6nJe2Or35fGY6Ipw1R3R4AGz1d1TEZrCegvw2YTmZ0jXirGYlzxxpYSHwpEg==",
1199
+ "dev": true,
1200
+ "optional": true
1201
+ },
1202
  "cssbeautify": {
1203
  "version": "0.3.1",
1204
  "resolved": "https://registry.npmjs.org/cssbeautify/-/cssbeautify-0.3.1.tgz",
1237
  "vow-fs": "0.3.2"
1238
  },
1239
  "dependencies": {
1240
+ "lru-cache": {
1241
+ "version": "2.7.3",
1242
+ "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-2.7.3.tgz",
1243
+ "integrity": "sha1-bUUk6LlV+V1PW1iFHOId1y+06VI=",
1244
+ "dev": true
1245
+ },
1246
  "minimatch": {
1247
  "version": "0.2.12",
1248
  "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-0.2.12.tgz",
1256
  }
1257
  },
1258
  "csso": {
1259
+ "version": "3.5.1",
1260
+ "resolved": "https://registry.npmjs.org/csso/-/csso-3.5.1.tgz",
1261
+ "integrity": "sha512-vrqULLffYU1Q2tLdJvaCYbONStnfkfimRxXNaGjxMldI0C7JPBC4rB1RyjhfdZ4m1frm8pM9uRPKH3d2knZ8gg==",
1262
  "dev": true,
1263
  "optional": true,
1264
  "requires": {
1265
+ "css-tree": "1.0.0-alpha.29"
1266
+ },
1267
+ "dependencies": {
1268
+ "css-tree": {
1269
+ "version": "1.0.0-alpha.29",
1270
+ "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-1.0.0-alpha.29.tgz",
1271
+ "integrity": "sha512-sRNb1XydwkW9IOci6iB2xmy8IGCj6r/fr+JWitvJ2JxQRPzN3T4AGGVWCMlVmVwM1gtgALJRmGIlWv5ppnGGkg==",
1272
+ "dev": true,
1273
+ "optional": true,
1274
+ "requires": {
1275
+ "mdn-data": "1.1.4",
1276
+ "source-map": "0.5.7"
1277
+ }
1278
+ },
1279
+ "source-map": {
1280
+ "version": "0.5.7",
1281
+ "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz",
1282
+ "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=",
1283
+ "dev": true,
1284
+ "optional": true
1285
+ }
1286
  }
1287
  },
1288
  "currently-unhandled": {
1329
  }
1330
  },
1331
  "debug": {
1332
+ "version": "2.6.9",
1333
+ "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
1334
+ "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
1335
  "dev": true,
1336
  "requires": {
1337
+ "ms": "2.0.0"
1338
  }
1339
  },
1340
  "decamelize": {
1343
  "integrity": "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=",
1344
  "dev": true
1345
  },
1346
+ "decode-uri-component": {
1347
+ "version": "0.2.0",
1348
+ "resolved": "https://registry.npmjs.org/decode-uri-component/-/decode-uri-component-0.2.0.tgz",
1349
+ "integrity": "sha1-6zkTMzRYd1y4TNGh+uBiEGu4dUU=",
1350
+ "dev": true
1351
+ },
1352
  "decompress": {
1353
+ "version": "4.2.0",
1354
+ "resolved": "https://registry.npmjs.org/decompress/-/decompress-4.2.0.tgz",
1355
+ "integrity": "sha1-eu3YVCflqS2s/lVnSnxQXpbQH50=",
1356
  "dev": true,
1357
  "requires": {
1358
+ "decompress-tar": "4.1.1",
1359
+ "decompress-tarbz2": "4.1.1",
1360
+ "decompress-targz": "4.1.1",
1361
+ "decompress-unzip": "4.0.1",
1362
+ "graceful-fs": "4.1.15",
1363
+ "make-dir": "1.3.0",
1364
+ "pify": "2.3.0",
1365
+ "strip-dirs": "2.1.0"
 
1366
  }
1367
  },
1368
  "decompress-response": {
1370
  "resolved": "https://registry.npmjs.org/decompress-response/-/decompress-response-3.3.0.tgz",
1371
  "integrity": "sha1-gKTdMjdIOEv6JICDYirt7Jgq3/M=",
1372
  "dev": true,
 
1373
  "requires": {
1374
  "mimic-response": "1.0.1"
1375
  }
1376
  },
1377
  "decompress-tar": {
1378
+ "version": "4.1.1",
1379
+ "resolved": "https://registry.npmjs.org/decompress-tar/-/decompress-tar-4.1.1.tgz",
1380
+ "integrity": "sha512-JdJMaCrGpB5fESVyxwpCx4Jdj2AagLmv3y58Qy4GE6HMVjWz1FeVQk1Ct4Kye7PftcdOo/7U7UKzYBJgqnGeUQ==",
1381
  "dev": true,
1382
  "requires": {
1383
+ "file-type": "5.2.0",
1384
+ "is-stream": "1.1.0",
1385
+ "tar-stream": "1.6.2"
 
 
 
1386
  },
1387
  "dependencies": {
1388
+ "file-type": {
1389
+ "version": "5.2.0",
1390
+ "resolved": "https://registry.npmjs.org/file-type/-/file-type-5.2.0.tgz",
1391
+ "integrity": "sha1-LdvqfHP/42No365J3DOMBYwritY=",
1392
  "dev": true
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1393
  }
1394
  }
1395
  },
1396
  "decompress-tarbz2": {
1397
+ "version": "4.1.1",
1398
+ "resolved": "https://registry.npmjs.org/decompress-tarbz2/-/decompress-tarbz2-4.1.1.tgz",
1399
+ "integrity": "sha512-s88xLzf1r81ICXLAVQVzaN6ZmX4A6U4z2nMbOwobxkLoIIfjVMBg7TeguTUXkKeXni795B6y5rnvDw7rxhAq9A==",
1400
  "dev": true,
1401
  "requires": {
1402
+ "decompress-tar": "4.1.1",
1403
+ "file-type": "6.2.0",
1404
+ "is-stream": "1.1.0",
1405
  "seek-bzip": "1.0.5",
1406
+ "unbzip2-stream": "1.3.3"
 
 
 
1407
  },
1408
  "dependencies": {
1409
+ "file-type": {
1410
+ "version": "6.2.0",
1411
+ "resolved": "https://registry.npmjs.org/file-type/-/file-type-6.2.0.tgz",
1412
+ "integrity": "sha512-YPcTBDV+2Tm0VqjybVd32MHdlEGAtuxS3VAYsumFokDSMG+ROT5wawGlnHDoz7bfMcMDt9hxuXvXwoKUx2fkOg==",
1413
  "dev": true
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1414
  }
1415
  }
1416
  },
1417
  "decompress-targz": {
1418
+ "version": "4.1.1",
1419
+ "resolved": "https://registry.npmjs.org/decompress-targz/-/decompress-targz-4.1.1.tgz",
1420
+ "integrity": "sha512-4z81Znfr6chWnRDNfFNqLwPvm4db3WuZkqV+UgXQzSngG3CEKdBkw5jrv3axjjL96glyiiKjsxJG3X6WBZwX3w==",
1421
  "dev": true,
1422
  "requires": {
1423
+ "decompress-tar": "4.1.1",
1424
+ "file-type": "5.2.0",
1425
+ "is-stream": "1.1.0"
 
 
 
1426
  },
1427
  "dependencies": {
1428
+ "file-type": {
1429
+ "version": "5.2.0",
1430
+ "resolved": "https://registry.npmjs.org/file-type/-/file-type-5.2.0.tgz",
1431
+ "integrity": "sha1-LdvqfHP/42No365J3DOMBYwritY=",
 
 
 
 
 
 
1432
  "dev": true
 
 
 
 
 
 
 
 
 
 
1433
  }
1434
  }
1435
  },
1436
  "decompress-unzip": {
1437
+ "version": "4.0.1",
1438
+ "resolved": "https://registry.npmjs.org/decompress-unzip/-/decompress-unzip-4.0.1.tgz",
1439
+ "integrity": "sha1-3qrM39FK6vhVePczroIQ+bSEj2k=",
1440
  "dev": true,
1441
  "requires": {
1442
+ "file-type": "3.9.0",
1443
+ "get-stream": "2.3.1",
1444
+ "pify": "2.3.0",
 
 
 
1445
  "yauzl": "2.10.0"
1446
  },
1447
  "dependencies": {
1448
+ "file-type": {
1449
+ "version": "3.9.0",
1450
+ "resolved": "https://registry.npmjs.org/file-type/-/file-type-3.9.0.tgz",
1451
+ "integrity": "sha1-JXoHg4TR24CHvESdEH1SpSZyuek=",
1452
+ "dev": true
1453
+ },
1454
+ "get-stream": {
1455
+ "version": "2.3.1",
1456
+ "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-2.3.1.tgz",
1457
+ "integrity": "sha1-Xzj5PzRgCWZu4BUKBUFn+Rvdld4=",
1458
  "dev": true,
1459
  "requires": {
1460
+ "object-assign": "4.1.1",
1461
+ "pinkie-promise": "2.0.1"
1462
  }
1463
  }
1464
  }
1467
  "version": "0.6.0",
1468
  "resolved": "https://registry.npmjs.org/deep-extend/-/deep-extend-0.6.0.tgz",
1469
  "integrity": "sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==",
1470
+ "dev": true,
1471
+ "optional": true
1472
+ },
1473
+ "define-properties": {
1474
+ "version": "1.1.3",
1475
+ "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.1.3.tgz",
1476
+ "integrity": "sha512-3MqfYKj2lLzdMSf8ZIZE/V+Zuy+BgD6f164e8K2w7dgnpKArBDerGYpM46IYYcjnkdPNMjPk9A6VFB8+3SKlXQ==",
1477
+ "dev": true,
1478
+ "requires": {
1479
+ "object-keys": "1.1.1"
1480
+ }
1481
+ },
1482
+ "define-property": {
1483
+ "version": "2.0.2",
1484
+ "resolved": "https://registry.npmjs.org/define-property/-/define-property-2.0.2.tgz",
1485
+ "integrity": "sha512-jwK2UV4cnPpbcG7+VRARKTZPUWowwXA8bzH5NP6ud0oeAxyYPuGZUAC7hMugpCdz4BeSZl2Dl9k66CHJ/46ZYQ==",
1486
+ "dev": true,
1487
+ "requires": {
1488
+ "is-descriptor": "1.0.2",
1489
+ "isobject": "3.0.1"
1490
+ },
1491
+ "dependencies": {
1492
+ "is-accessor-descriptor": {
1493
+ "version": "1.0.0",
1494
+ "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz",
1495
+ "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==",
1496
+ "dev": true,
1497
+ "requires": {
1498
+ "kind-of": "6.0.2"
1499
+ }
1500
+ },
1501
+ "is-data-descriptor": {
1502
+ "version": "1.0.0",
1503
+ "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz",
1504
+ "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==",
1505
+ "dev": true,
1506
+ "requires": {
1507
+ "kind-of": "6.0.2"
1508
+ }
1509
+ },
1510
+ "is-descriptor": {
1511
+ "version": "1.0.2",
1512
+ "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz",
1513
+ "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==",
1514
+ "dev": true,
1515
+ "requires": {
1516
+ "is-accessor-descriptor": "1.0.0",
1517
+ "is-data-descriptor": "1.0.0",
1518
+ "kind-of": "6.0.2"
1519
+ }
1520
+ }
1521
+ }
1522
  },
1523
  "delayed-stream": {
1524
  "version": "1.0.0",
1545
  "integrity": "sha512-A46qtFgd+g7pDZinpnwiRJtxbC1hpgf0uzP3iG89scHk0AUC7A1TGxf5OiiOUv/JMZR8GOt8hL900hV0bOy5xA==",
1546
  "dev": true
1547
  },
1548
+ "dir-glob": {
1549
+ "version": "2.0.0",
1550
+ "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-2.0.0.tgz",
1551
+ "integrity": "sha512-37qirFDz8cA5fimp9feo43fSuRo2gHwaIn6dXL8Ber1dGwUosDrGZeCCXq57WnIqE4aQ+u3eQZzsk1yOzhdwag==",
1552
  "dev": true,
1553
  "requires": {
1554
+ "arrify": "1.0.1",
1555
+ "path-type": "3.0.0"
1556
  },
1557
  "dependencies": {
1558
+ "path-type": {
1559
+ "version": "3.0.0",
1560
+ "resolved": "https://registry.npmjs.org/path-type/-/path-type-3.0.0.tgz",
1561
+ "integrity": "sha512-T2ZUsdZFHgA3u4e5PfPbjd7HDDpxPnQb5jN0SrDsjNSuVXHJqtwTnWqG0B1jZrgmJ/7lj1EmVIByWt1gxGkWvg==",
1562
+ "dev": true,
1563
+ "requires": {
1564
+ "pify": "3.0.0"
1565
+ }
1566
  },
1567
+ "pify": {
1568
+ "version": "3.0.0",
1569
+ "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz",
1570
+ "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=",
1571
  "dev": true
1572
  }
1573
  }
1574
  },
1575
+ "dom-serializer": {
1576
+ "version": "0.1.1",
1577
+ "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-0.1.1.tgz",
1578
+ "integrity": "sha512-l0IU0pPzLWSHBcieZbpOKgkIn3ts3vAh7ZuFyXNwJxJXk/c4Gwj9xaTJwIDVQCXawWD0qb3IzMGH5rglQaO0XA==",
1579
+ "dev": true,
1580
+ "requires": {
1581
+ "domelementtype": "1.3.1",
1582
+ "entities": "1.1.2"
1583
+ }
1584
+ },
1585
  "domelementtype": {
1586
  "version": "1.3.1",
1587
  "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-1.3.1.tgz",
1598
  }
1599
  },
1600
  "domutils": {
1601
+ "version": "1.7.0",
1602
+ "resolved": "https://registry.npmjs.org/domutils/-/domutils-1.7.0.tgz",
1603
+ "integrity": "sha512-Lgd2XcJ/NjEw+7tFvfKxOzCYKZsdct5lczQ2ZaQY8Djz7pfAD3Gbp8ySJWtreII/vDlMVmxwa6pHmdxIYgttDg==",
1604
  "dev": true,
1605
+ "optional": true,
1606
  "requires": {
1607
+ "dom-serializer": "0.1.1",
1608
  "domelementtype": "1.3.1"
1609
  }
1610
  },
1611
  "download": {
1612
+ "version": "6.2.5",
1613
+ "resolved": "https://registry.npmjs.org/download/-/download-6.2.5.tgz",
1614
+ "integrity": "sha512-DpO9K1sXAST8Cpzb7kmEhogJxymyVUd5qz/vCOSyvwtp2Klj2XcDt5YUuasgxka44SxF0q5RriKIwJmQHG2AuA==",
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1615
  "dev": true,
1616
+ "optional": true,
1617
  "requires": {
1618
+ "caw": "2.0.1",
1619
+ "content-disposition": "0.5.3",
1620
+ "decompress": "4.2.0",
1621
+ "ext-name": "5.0.0",
1622
+ "file-type": "5.2.0",
1623
+ "filenamify": "2.1.0",
1624
+ "get-stream": "3.0.0",
1625
+ "got": "7.1.0",
1626
+ "make-dir": "1.3.0",
1627
+ "p-event": "1.3.0",
1628
+ "pify": "3.0.0"
1629
+ },
1630
+ "dependencies": {
1631
+ "file-type": {
1632
+ "version": "5.2.0",
1633
+ "resolved": "https://registry.npmjs.org/file-type/-/file-type-5.2.0.tgz",
1634
+ "integrity": "sha1-LdvqfHP/42No365J3DOMBYwritY=",
1635
+ "dev": true,
1636
+ "optional": true
1637
+ },
1638
+ "pify": {
1639
+ "version": "3.0.0",
1640
+ "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz",
1641
+ "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=",
1642
+ "dev": true,
1643
+ "optional": true
1644
+ }
1645
  }
1646
  },
1647
+ "duplexer3": {
1648
+ "version": "0.1.4",
1649
+ "resolved": "https://registry.npmjs.org/duplexer3/-/duplexer3-0.1.4.tgz",
1650
+ "integrity": "sha1-7gHdHKwO08vH/b6jfcCo8c4ALOI=",
1651
+ "dev": true
 
 
 
 
1652
  },
1653
  "eachr": {
1654
  "version": "3.2.0",
1677
  "dev": true
1678
  },
1679
  "electron-to-chromium": {
1680
+ "version": "1.3.136",
1681
+ "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.136.tgz",
1682
+ "integrity": "sha512-xHkYkbEi4kI+2w5v6yBGCQTRXL7N0PWscygTFZu/1bArnPSo2WR9xjdw4m06RR4J5PncrWJcuOVv+MAG2mK5JQ==",
1683
  "dev": true
1684
  },
1685
  "encoding": {
1701
  }
1702
  },
1703
  "entities": {
1704
+ "version": "1.1.2",
1705
+ "resolved": "https://registry.npmjs.org/entities/-/entities-1.1.2.tgz",
1706
+ "integrity": "sha512-f2LZMYl1Fzu7YSBKg+RoROelpOaNrcGmE9AZubeDfrCEia483oW4MI4VyFd5VNHIgQ/7qm1I0wUHK1eJnn2y2w==",
1707
  "dev": true
1708
  },
1709
  "errlop": {
1722
  "dev": true,
1723
  "requires": {
1724
  "errlop": "1.1.1",
1725
+ "semver": "5.7.0"
1726
  }
1727
  }
1728
  }
1746
  "is-arrayish": "0.2.1"
1747
  }
1748
  },
1749
+ "es-abstract": {
1750
+ "version": "1.13.0",
1751
+ "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.13.0.tgz",
1752
+ "integrity": "sha512-vDZfg/ykNxQVwup/8E1BZhVzFfBxs9NqMzGcvIJrqg5k2/5Za2bWo40dK2J1pgLngZ7c+Shh8lwYtLGyrwPutg==",
1753
+ "dev": true,
1754
+ "requires": {
1755
+ "es-to-primitive": "1.2.0",
1756
+ "function-bind": "1.1.1",
1757
+ "has": "1.0.3",
1758
+ "is-callable": "1.1.4",
1759
+ "is-regex": "1.0.4",
1760
+ "object-keys": "1.1.1"
1761
+ }
1762
+ },
1763
+ "es-to-primitive": {
1764
+ "version": "1.2.0",
1765
+ "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.0.tgz",
1766
+ "integrity": "sha512-qZryBOJjV//LaxLTV6UC//WewneB3LcXOL9NP++ozKVXsIIIpm/2c13UDiD9Jp2eThsecw9m3jPqDwTyobcdbg==",
1767
+ "dev": true,
1768
+ "requires": {
1769
+ "is-callable": "1.1.4",
1770
+ "is-date-object": "1.0.1",
1771
+ "is-symbol": "1.0.2"
1772
+ }
1773
+ },
1774
  "escape-string-regexp": {
1775
  "version": "1.0.5",
1776
  "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz",
1778
  "dev": true
1779
  },
1780
  "esprima": {
1781
+ "version": "4.0.1",
1782
+ "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz",
1783
+ "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==",
1784
  "dev": true
1785
  },
1786
  "eventemitter2": {
1790
  "dev": true
1791
  },
1792
  "exec-buffer": {
1793
+ "version": "3.2.0",
1794
+ "resolved": "https://registry.npmjs.org/exec-buffer/-/exec-buffer-3.2.0.tgz",
1795
+ "integrity": "sha512-wsiD+2Tp6BWHoVv3B+5Dcx6E7u5zky+hUwOHjuH2hKSLR3dvRmX8fk8UD8uqQixHs4Wk6eDmiegVrMPjKj7wpA==",
1796
  "dev": true,
1797
  "optional": true,
1798
  "requires": {
1799
+ "execa": "0.7.0",
1800
+ "p-finally": "1.0.0",
1801
+ "pify": "3.0.0",
1802
  "rimraf": "2.6.3",
1803
+ "tempfile": "2.0.0"
1804
+ },
1805
+ "dependencies": {
1806
+ "pify": {
1807
+ "version": "3.0.0",
1808
+ "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz",
1809
+ "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=",
1810
+ "dev": true,
1811
+ "optional": true
1812
+ }
1813
+ }
1814
+ },
1815
+ "execa": {
1816
+ "version": "0.7.0",
1817
+ "resolved": "https://registry.npmjs.org/execa/-/execa-0.7.0.tgz",
1818
+ "integrity": "sha1-lEvs00zEHuMqY6n68nrVpl/Fl3c=",
1819
+ "dev": true,
1820
  "requires": {
1821
+ "cross-spawn": "5.1.0",
1822
+ "get-stream": "3.0.0",
1823
+ "is-stream": "1.1.0",
1824
+ "npm-run-path": "2.0.2",
1825
+ "p-finally": "1.0.0",
1826
+ "signal-exit": "3.0.2",
1827
+ "strip-eof": "1.0.0"
1828
  }
1829
  },
1830
  "executable": {
1831
+ "version": "4.1.1",
1832
+ "resolved": "https://registry.npmjs.org/executable/-/executable-4.1.1.tgz",
1833
+ "integrity": "sha512-8iA79xD3uAch729dUG8xaaBBFGaEa0wdD2VkYLFHwlqosEj/jT66AzcreRDSgV7ehnNLBW2WR5jIXwGKjVdTLg==",
1834
  "dev": true,
1835
  "optional": true,
1836
  "requires": {
1837
+ "pify": "2.3.0"
1838
  }
1839
  },
1840
  "exit": {
1844
  "dev": true
1845
  },
1846
  "expand-brackets": {
1847
+ "version": "2.1.4",
1848
+ "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-2.1.4.tgz",
1849
+ "integrity": "sha1-t3c14xXOMPa27/D4OwQVGiJEliI=",
1850
+ "dev": true,
1851
+ "requires": {
1852
+ "debug": "2.6.9",
1853
+ "define-property": "0.2.5",
1854
+ "extend-shallow": "2.0.1",
1855
+ "posix-character-classes": "0.1.1",
1856
+ "regex-not": "1.0.2",
1857
+ "snapdragon": "0.8.2",
1858
+ "to-regex": "3.0.2"
1859
+ },
1860
+ "dependencies": {
1861
+ "define-property": {
1862
+ "version": "0.2.5",
1863
+ "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz",
1864
+ "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=",
1865
+ "dev": true,
1866
+ "requires": {
1867
+ "is-descriptor": "0.1.6"
1868
+ }
1869
+ },
1870
+ "extend-shallow": {
1871
+ "version": "2.0.1",
1872
+ "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
1873
+ "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
1874
+ "dev": true,
1875
+ "requires": {
1876
+ "is-extendable": "0.1.1"
1877
+ }
1878
+ }
1879
  }
1880
  },
1881
  "expand-template": {
1885
  "dev": true,
1886
  "optional": true
1887
  },
1888
+ "ext-list": {
1889
+ "version": "2.2.2",
1890
+ "resolved": "https://registry.npmjs.org/ext-list/-/ext-list-2.2.2.tgz",
1891
+ "integrity": "sha512-u+SQgsubraE6zItfVA0tBuCBhfU9ogSRnsvygI7wht9TS510oLkBRXBsqopeUG/GBOIQyKZO9wjTqIu/sf5zFA==",
1892
+ "dev": true,
1893
+ "requires": {
1894
+ "mime-db": "1.40.0"
1895
+ }
1896
+ },
1897
+ "ext-name": {
1898
+ "version": "5.0.0",
1899
+ "resolved": "https://registry.npmjs.org/ext-name/-/ext-name-5.0.0.tgz",
1900
+ "integrity": "sha512-yblEwXAbGv1VQDmow7s38W77hzAgJAO50ztBLMcUyUBfxv1HC+LGwtiEN+Co6LtlqT/5uwVOxsD4TNIilWhwdQ==",
1901
+ "dev": true,
1902
+ "requires": {
1903
+ "ext-list": "2.2.2",
1904
+ "sort-keys-length": "1.0.1"
1905
+ }
1906
+ },
1907
  "extend": {
1908
  "version": "3.0.2",
1909
  "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz",
1911
  "dev": true
1912
  },
1913
  "extend-shallow": {
1914
+ "version": "3.0.2",
1915
+ "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz",
1916
+ "integrity": "sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg=",
1917
  "dev": true,
1918
  "requires": {
1919
+ "assign-symbols": "1.0.0",
1920
+ "is-extendable": "1.0.1"
1921
+ },
1922
+ "dependencies": {
1923
+ "is-extendable": {
1924
+ "version": "1.0.1",
1925
+ "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz",
1926
+ "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==",
1927
+ "dev": true,
1928
+ "requires": {
1929
+ "is-plain-object": "2.0.4"
1930
+ }
1931
+ }
1932
  }
1933
  },
1934
  "extglob": {
1935
+ "version": "2.0.4",
1936
+ "resolved": "https://registry.npmjs.org/extglob/-/extglob-2.0.4.tgz",
1937
+ "integrity": "sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw==",
1938
+ "dev": true,
1939
+ "requires": {
1940
+ "array-unique": "0.3.2",
1941
+ "define-property": "1.0.0",
1942
+ "expand-brackets": "2.1.4",
1943
+ "extend-shallow": "2.0.1",
1944
+ "fragment-cache": "0.2.1",
1945
+ "regex-not": "1.0.2",
1946
+ "snapdragon": "0.8.2",
1947
+ "to-regex": "3.0.2"
1948
  },
1949
  "dependencies": {
1950
+ "define-property": {
1951
  "version": "1.0.0",
1952
+ "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz",
1953
+ "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=",
1954
+ "dev": true,
1955
+ "requires": {
1956
+ "is-descriptor": "1.0.2"
1957
+ }
1958
+ },
1959
+ "extend-shallow": {
1960
+ "version": "2.0.1",
1961
+ "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
1962
+ "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
1963
+ "dev": true,
1964
+ "requires": {
1965
+ "is-extendable": "0.1.1"
1966
+ }
1967
+ },
1968
+ "is-accessor-descriptor": {
1969
+ "version": "1.0.0",
1970
+ "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz",
1971
+ "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==",
1972
+ "dev": true,
1973
+ "requires": {
1974
+ "kind-of": "6.0.2"
1975
+ }
1976
+ },
1977
+ "is-data-descriptor": {
1978
+ "version": "1.0.0",
1979
+ "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz",
1980
+ "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==",
1981
+ "dev": true,
1982
+ "requires": {
1983
+ "kind-of": "6.0.2"
1984
+ }
1985
+ },
1986
+ "is-descriptor": {
1987
+ "version": "1.0.2",
1988
+ "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz",
1989
+ "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==",
1990
+ "dev": true,
1991
+ "requires": {
1992
+ "is-accessor-descriptor": "1.0.0",
1993
+ "is-data-descriptor": "1.0.0",
1994
+ "kind-of": "6.0.2"
1995
+ }
1996
  }
1997
  }
1998
  },
2013
  "integrity": "sha1-lpGEQOMEGnpBT4xS48V06zw+HgU=",
2014
  "dev": true
2015
  },
 
 
 
 
 
 
 
 
 
 
 
 
2016
  "fast-deep-equal": {
2017
  "version": "2.0.1",
2018
  "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-2.0.1.tgz",
2019
  "integrity": "sha1-ewUhjd+WZ79/Nwv3/bLLFf3Qqkk=",
2020
  "dev": true
2021
  },
2022
+ "fast-glob": {
2023
+ "version": "2.2.7",
2024
+ "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-2.2.7.tgz",
2025
+ "integrity": "sha512-g1KuQwHOZAmOZMuBtHdxDtju+T2RT8jgCC9aANsbpdiDDTSnjgfuVsIBNKbUeJI3oKMRExcfNDtJl4OhbffMsw==",
2026
+ "dev": true,
2027
+ "requires": {
2028
+ "@mrmlnc/readdir-enhanced": "2.2.1",
2029
+ "@nodelib/fs.stat": "1.1.3",
2030
+ "glob-parent": "3.1.0",
2031
+ "is-glob": "4.0.1",
2032
+ "merge2": "1.2.3",
2033
+ "micromatch": "3.1.10"
2034
+ }
2035
+ },
2036
  "fast-json-stable-stringify": {
2037
  "version": "2.0.0",
2038
  "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.0.0.tgz",
2074
  "dev": true
2075
  },
2076
  "file-type": {
2077
+ "version": "10.11.0",
2078
+ "resolved": "https://registry.npmjs.org/file-type/-/file-type-10.11.0.tgz",
2079
+ "integrity": "sha512-uzk64HRpUZyTGZtVuvrjP0FYxzQrBf4rojot6J65YMEbwBLB0CWm0CLojVpwpmFmxcE/lkvYICgfcGozbBq6rw==",
 
 
 
 
 
 
2080
  "dev": true
2081
  },
2082
  "filename-reserved-regex": {
2083
+ "version": "2.0.0",
2084
+ "resolved": "https://registry.npmjs.org/filename-reserved-regex/-/filename-reserved-regex-2.0.0.tgz",
2085
+ "integrity": "sha1-q/c9+rc10EVECr/qLZHzieu/oik=",
2086
  "dev": true
2087
  },
2088
  "filenamify": {
2089
+ "version": "2.1.0",
2090
+ "resolved": "https://registry.npmjs.org/filenamify/-/filenamify-2.1.0.tgz",
2091
+ "integrity": "sha512-ICw7NTT6RsDp2rnYKVd8Fu4cr6ITzGy3+u4vUujPkabyaz+03F24NWEX7fs5fp+kBonlaqPH8fAO2NM+SXt/JA==",
2092
  "dev": true,
2093
  "requires": {
2094
+ "filename-reserved-regex": "2.0.0",
2095
  "strip-outer": "1.0.1",
2096
  "trim-repeated": "1.0.0"
2097
  }
2098
  },
2099
  "fill-range": {
2100
+ "version": "4.0.0",
2101
+ "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz",
2102
+ "integrity": "sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=",
2103
  "dev": true,
2104
  "requires": {
2105
+ "extend-shallow": "2.0.1",
2106
+ "is-number": "3.0.0",
2107
+ "repeat-string": "1.6.1",
2108
+ "to-regex-range": "2.1.1"
2109
+ },
2110
+ "dependencies": {
2111
+ "extend-shallow": {
2112
+ "version": "2.0.1",
2113
+ "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
2114
+ "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
2115
+ "dev": true,
2116
+ "requires": {
2117
+ "is-extendable": "0.1.1"
2118
+ }
2119
+ }
2120
  }
2121
  },
2122
  "find-up": {
2130
  }
2131
  },
2132
  "find-versions": {
2133
+ "version": "3.1.0",
2134
+ "resolved": "https://registry.npmjs.org/find-versions/-/find-versions-3.1.0.tgz",
2135
+ "integrity": "sha512-NCTfNiVzeE/xL+roNDffGuRbrWI6atI18lTJ22vKp7rs2OhYzMK3W1dIdO2TUndH/QMcacM4d1uWwgcZcHK69Q==",
2136
  "dev": true,
2137
  "optional": true,
2138
  "requires": {
2139
+ "array-uniq": "2.1.0",
2140
+ "semver-regex": "2.0.0"
2141
+ },
2142
+ "dependencies": {
2143
+ "array-uniq": {
2144
+ "version": "2.1.0",
2145
+ "resolved": "https://registry.npmjs.org/array-uniq/-/array-uniq-2.1.0.tgz",
2146
+ "integrity": "sha512-bdHxtev7FN6+MXI1YFW0Q8mQ8dTJc2S8AMfju+ZR77pbg2yAdVyDlwkaUI7Har0LyOMRFPHrJ9lYdyjZZswdlQ==",
2147
+ "dev": true,
2148
+ "optional": true
2149
+ }
2150
  }
2151
  },
2152
  "findup-sync": {
2173
  }
2174
  }
2175
  },
 
 
 
 
 
 
2176
  "for-in": {
2177
  "version": "1.0.2",
2178
  "resolved": "https://registry.npmjs.org/for-in/-/for-in-1.0.2.tgz",
2179
  "integrity": "sha1-gQaNKVqBQuwKxybG4iAMMPttXoA=",
2180
  "dev": true
2181
  },
 
 
 
 
 
 
 
 
 
2182
  "forever-agent": {
2183
  "version": "0.6.1",
2184
  "resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz",
2192
  "dev": true,
2193
  "requires": {
2194
  "asynckit": "0.4.0",
2195
+ "combined-stream": "1.0.8",
2196
+ "mime-types": "2.1.24"
2197
+ }
2198
+ },
2199
+ "fragment-cache": {
2200
+ "version": "0.2.1",
2201
+ "resolved": "https://registry.npmjs.org/fragment-cache/-/fragment-cache-0.2.1.tgz",
2202
+ "integrity": "sha1-QpD60n8T6Jvn8zeZxrxaCr//DRk=",
2203
+ "dev": true,
2204
+ "requires": {
2205
+ "map-cache": "0.2.2"
2206
+ }
2207
+ },
2208
+ "from2": {
2209
+ "version": "2.3.0",
2210
+ "resolved": "https://registry.npmjs.org/from2/-/from2-2.3.0.tgz",
2211
+ "integrity": "sha1-i/tVAr3kpNNs/e6gB/zKIdfjgq8=",
2212
+ "dev": true,
2213
+ "optional": true,
2214
+ "requires": {
2215
+ "inherits": "2.0.3",
2216
+ "readable-stream": "2.3.6"
2217
  }
2218
  },
2219
  "fs-constants": {
2222
  "integrity": "sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow==",
2223
  "dev": true
2224
  },
2225
+ "fs-extra": {
2226
+ "version": "6.0.1",
2227
+ "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-6.0.1.tgz",
2228
+ "integrity": "sha512-GnyIkKhhzXZUWFCaJzvyDLEEgDkPfb4/TPvJCJVuS8MWZgoSsErf++QpiAlDnKFcqhRlm+tIOcencCjyJE6ZCA==",
2229
+ "dev": true,
2230
+ "requires": {
2231
+ "graceful-fs": "4.1.15",
2232
+ "jsonfile": "4.0.0",
2233
+ "universalify": "0.1.2"
2234
+ }
2235
+ },
2236
  "fs.realpath": {
2237
  "version": "1.0.0",
2238
  "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz",
2240
  "dev": true
2241
  },
2242
  "fstream": {
2243
+ "version": "1.0.12",
2244
+ "resolved": "https://registry.npmjs.org/fstream/-/fstream-1.0.12.tgz",
2245
+ "integrity": "sha512-WvJ193OHa0GHPEL+AycEJgxvBEwyfRkN1vhjca23OaPVMCaLCXTd5qAu82AjTcgP1UJmytkOKb63Ypde7raDIg==",
2246
  "dev": true,
2247
  "requires": {
2248
  "graceful-fs": "4.1.15",
2251
  "rimraf": "2.6.3"
2252
  }
2253
  },
2254
+ "function-bind": {
2255
+ "version": "1.1.1",
2256
+ "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz",
2257
+ "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==",
2258
+ "dev": true
2259
+ },
2260
  "gauge": {
2261
  "version": "2.7.4",
2262
  "resolved": "https://registry.npmjs.org/gauge/-/gauge-2.7.4.tgz",
2283
  }
2284
  },
2285
  "get-proxy": {
2286
+ "version": "2.1.0",
2287
+ "resolved": "https://registry.npmjs.org/get-proxy/-/get-proxy-2.1.0.tgz",
2288
+ "integrity": "sha512-zmZIaQTWnNQb4R4fJUEp/FC51eZsc6EkErspy3xtIYStaq8EB/hDIWipxsal+E8rz0qD7f2sL/NA9Xee4RInJw==",
2289
  "dev": true,
2290
  "requires": {
2291
+ "npm-conf": "1.1.3"
2292
  }
2293
  },
2294
  "get-stdin": {
2297
  "integrity": "sha1-uWjGsKBDhDJJAui/Gl3zJXmkUP4=",
2298
  "dev": true
2299
  },
2300
+ "get-stream": {
2301
+ "version": "3.0.0",
2302
+ "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-3.0.0.tgz",
2303
+ "integrity": "sha1-jpQ9E1jcN1VQVOy+LtsFqhdO3hQ=",
2304
+ "dev": true
2305
+ },
2306
+ "get-value": {
2307
+ "version": "2.0.6",
2308
+ "resolved": "https://registry.npmjs.org/get-value/-/get-value-2.0.6.tgz",
2309
+ "integrity": "sha1-3BXKHGcjh8p2vTesCjlbogQqLCg=",
2310
+ "dev": true
2311
+ },
2312
  "getobject": {
2313
  "version": "0.1.0",
2314
  "resolved": "https://registry.npmjs.org/getobject/-/getobject-0.1.0.tgz",
2325
  }
2326
  },
2327
  "gettext-parser": {
2328
+ "version": "3.1.1",
2329
+ "resolved": "https://registry.npmjs.org/gettext-parser/-/gettext-parser-3.1.1.tgz",
2330
+ "integrity": "sha512-vNhWcqXEtZPs5Ft1ReA34g7ByWotpcOIeJvXVy2jF3/G2U9v6W0wG4Z4hXzcU8R//jArqkgHcVCGgGqa4vxVlQ==",
2331
  "dev": true,
2332
  "requires": {
2333
+ "encoding": "0.1.12",
2334
+ "readable-stream": "3.3.0",
2335
+ "safe-buffer": "5.1.2"
2336
+ },
2337
+ "dependencies": {
2338
+ "readable-stream": {
2339
+ "version": "3.3.0",
2340
+ "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.3.0.tgz",
2341
+ "integrity": "sha512-EsI+s3k3XsW+fU8fQACLN59ky34AZ14LoeVZpYwmZvldCFo0r0gnelwF2TcMjLor/BTL5aDJVBMkss0dthToPw==",
2342
+ "dev": true,
2343
+ "requires": {
2344
+ "inherits": "2.0.3",
2345
+ "string_decoder": "1.1.1",
2346
+ "util-deprecate": "1.0.2"
2347
+ }
2348
+ }
2349
  }
2350
  },
2351
  "gifsicle": {
2352
+ "version": "4.0.1",
2353
+ "resolved": "https://registry.npmjs.org/gifsicle/-/gifsicle-4.0.1.tgz",
2354
+ "integrity": "sha512-A/kiCLfDdV+ERV/UB+2O41mifd+RxH8jlRG8DMxZO84Bma/Fw0htqZ+hY2iaalLRNyUu7tYZQslqUBJxBggxbg==",
2355
  "dev": true,
2356
  "optional": true,
2357
  "requires": {
2358
+ "bin-build": "3.0.0",
2359
+ "bin-wrapper": "4.1.0",
2360
+ "execa": "1.0.0",
2361
  "logalot": "2.1.0"
2362
+ },
2363
+ "dependencies": {
2364
+ "cross-spawn": {
2365
+ "version": "6.0.5",
2366
+ "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.5.tgz",
2367
+ "integrity": "sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==",
2368
+ "dev": true,
2369
+ "optional": true,
2370
+ "requires": {
2371
+ "nice-try": "1.0.5",
2372
+ "path-key": "2.0.1",
2373
+ "semver": "5.7.0",
2374
+ "shebang-command": "1.2.0",
2375
+ "which": "1.3.1"
2376
+ }
2377
+ },
2378
+ "execa": {
2379
+ "version": "1.0.0",
2380
+ "resolved": "https://registry.npmjs.org/execa/-/execa-1.0.0.tgz",
2381
+ "integrity": "sha512-adbxcyWV46qiHyvSp50TKt05tB4tK3HcmF7/nxfAdhnox83seTDbwnaqKO4sXRy7roHAIFqJP/Rw/AuEbX61LA==",
2382
+ "dev": true,
2383
+ "optional": true,
2384
+ "requires": {
2385
+ "cross-spawn": "6.0.5",
2386
+ "get-stream": "4.1.0",
2387
+ "is-stream": "1.1.0",
2388
+ "npm-run-path": "2.0.2",
2389
+ "p-finally": "1.0.0",
2390
+ "signal-exit": "3.0.2",
2391
+ "strip-eof": "1.0.0"
2392
+ }
2393
+ },
2394
+ "get-stream": {
2395
+ "version": "4.1.0",
2396
+ "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-4.1.0.tgz",
2397
+ "integrity": "sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w==",
2398
+ "dev": true,
2399
+ "optional": true,
2400
+ "requires": {
2401
+ "pump": "3.0.0"
2402
+ }
2403
+ },
2404
+ "pump": {
2405
+ "version": "3.0.0",
2406
+ "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz",
2407
+ "integrity": "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==",
2408
+ "dev": true,
2409
+ "optional": true,
2410
+ "requires": {
2411
+ "end-of-stream": "1.4.1",
2412
+ "once": "1.4.0"
2413
+ }
2414
+ }
2415
  }
2416
  },
2417
  "github-from-package": {
2435
  "path-is-absolute": "1.0.1"
2436
  }
2437
  },
2438
+ "glob-parent": {
2439
+ "version": "3.1.0",
2440
+ "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-3.1.0.tgz",
2441
+ "integrity": "sha1-nmr2KZ2NO9K9QEMIMr0RPfkGxa4=",
2442
  "dev": true,
2443
  "requires": {
2444
+ "is-glob": "3.1.0",
2445
+ "path-dirname": "1.0.2"
2446
  },
2447
  "dependencies": {
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
2448
  "is-glob": {
2449
+ "version": "3.1.0",
2450
+ "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-3.1.0.tgz",
2451
+ "integrity": "sha1-e6WuJCF4BKxwcHuWkiVnSGzD6Eo=",
2452
  "dev": true,
2453
  "requires": {
2454
+ "is-extglob": "2.1.1"
2455
  }
2456
  }
2457
  }
2458
  },
2459
+ "glob-to-regexp": {
2460
+ "version": "0.3.0",
2461
+ "resolved": "https://registry.npmjs.org/glob-to-regexp/-/glob-to-regexp-0.3.0.tgz",
2462
+ "integrity": "sha1-jFoUlNIGbFcMw7/kSWF1rMTVAqs=",
2463
+ "dev": true
 
 
 
 
2464
  },
2465
+ "globby": {
2466
+ "version": "8.0.2",
2467
+ "resolved": "https://registry.npmjs.org/globby/-/globby-8.0.2.tgz",
2468
+ "integrity": "sha512-yTzMmKygLp8RUpG1Ymu2VXPSJQZjNAZPD4ywgYEaG7e4tBJeUQBO8OpXrf1RCNcEs5alsoJYPAMiIHP0cmeC7w==",
2469
  "dev": true,
2470
  "requires": {
2471
+ "array-union": "1.0.2",
2472
+ "dir-glob": "2.0.0",
2473
+ "fast-glob": "2.2.7",
2474
+ "glob": "7.1.4",
2475
+ "ignore": "3.3.10",
2476
+ "pify": "3.0.0",
2477
+ "slash": "1.0.0"
 
2478
  },
2479
  "dependencies": {
2480
  "glob": {
2481
+ "version": "7.1.4",
2482
+ "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.4.tgz",
2483
+ "integrity": "sha512-hkLPepehmnKk41pUGm3sYxoFs/umurYfYJCerbXEyFIWcAzvpipAgVkBqqT9RBKMGjnq6kMuyYwha6csxbiM1A==",
2484
  "dev": true,
2485
  "requires": {
2486
+ "fs.realpath": "1.0.0",
2487
  "inflight": "1.0.6",
2488
  "inherits": "2.0.3",
2489
  "minimatch": "3.0.4",
2490
  "once": "1.4.0",
2491
  "path-is-absolute": "1.0.1"
2492
  }
2493
+ },
2494
+ "ignore": {
2495
+ "version": "3.3.10",
2496
+ "resolved": "https://registry.npmjs.org/ignore/-/ignore-3.3.10.tgz",
2497
+ "integrity": "sha512-Pgs951kaMm5GXP7MOvxERINe3gsaVjUWFm+UZPSq9xYriQAksyhg0csnS0KXSNRD5NmNdapXEpjxG49+AKh/ug==",
2498
+ "dev": true
2499
+ },
2500
+ "pify": {
2501
+ "version": "3.0.0",
2502
+ "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz",
2503
+ "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=",
2504
+ "dev": true
2505
  }
2506
  }
2507
  },
2511
  "integrity": "sha512-g7QtgWF4uYSL5/dn71WxubOrS7JVGCnFPEnoeChJmBnyR9Mw8nGoEwOgJL/RC2Te0WhbsEUCejfH8SZNJ+adYQ==",
2512
  "dev": true,
2513
  "requires": {
2514
+ "glob": "7.1.4",
2515
  "lodash": "4.17.11",
2516
  "minimatch": "3.0.4"
2517
  },
2518
  "dependencies": {
2519
  "glob": {
2520
+ "version": "7.1.4",
2521
+ "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.4.tgz",
2522
+ "integrity": "sha512-hkLPepehmnKk41pUGm3sYxoFs/umurYfYJCerbXEyFIWcAzvpipAgVkBqqT9RBKMGjnq6kMuyYwha6csxbiM1A==",
2523
  "dev": true,
2524
  "requires": {
2525
  "fs.realpath": "1.0.0",
2532
  }
2533
  }
2534
  },
 
 
 
 
 
 
 
 
 
2535
  "gonzales-pe": {
2536
  "version": "3.0.0-28",
2537
  "resolved": "https://registry.npmjs.org/gonzales-pe/-/gonzales-pe-3.0.0-28.tgz",
2539
  "dev": true
2540
  },
2541
  "got": {
2542
+ "version": "7.1.0",
2543
+ "resolved": "https://registry.npmjs.org/got/-/got-7.1.0.tgz",
2544
+ "integrity": "sha512-Y5WMo7xKKq1muPsxD+KmrR8DH5auG7fBdDVueZwETwV6VytKyU9OX/ddpq2/1hp1vIPvVb4T81dKQz3BivkNLw==",
2545
  "dev": true,
2546
+ "optional": true,
2547
  "requires": {
2548
+ "decompress-response": "3.3.0",
2549
+ "duplexer3": "0.1.4",
2550
+ "get-stream": "3.0.0",
2551
+ "is-plain-obj": "1.1.0",
2552
  "is-retry-allowed": "1.1.0",
2553
  "is-stream": "1.1.0",
2554
+ "isurl": "1.0.0",
2555
  "lowercase-keys": "1.0.1",
2556
+ "p-cancelable": "0.3.0",
2557
+ "p-timeout": "1.2.1",
2558
+ "safe-buffer": "5.1.2",
2559
+ "timed-out": "4.0.1",
2560
+ "url-parse-lax": "1.0.0",
2561
+ "url-to-options": "1.0.1"
 
 
 
2562
  }
2563
  },
2564
  "graceful-fs": {
2574
  "dev": true
2575
  },
2576
  "grunt": {
2577
+ "version": "1.0.4",
2578
+ "resolved": "https://registry.npmjs.org/grunt/-/grunt-1.0.4.tgz",
2579
+ "integrity": "sha512-PYsMOrOC+MsdGEkFVwMaMyc6Ob7pKmq+deg1Sjr+vvMWp35sztfwKE7qoN51V+UEtHsyNuMcGdgMLFkBHvMxHQ==",
2580
  "dev": true,
2581
  "requires": {
2582
  "coffeescript": "1.10.0",
2590
  "grunt-legacy-log": "2.0.0",
2591
  "grunt-legacy-util": "1.1.1",
2592
  "iconv-lite": "0.4.24",
2593
+ "js-yaml": "3.13.1",
2594
  "minimatch": "3.0.4",
2595
  "mkdirp": "0.5.1",
2596
  "nopt": "3.0.6",
2653
  }
2654
  },
2655
  "grunt-contrib-compress": {
2656
+ "version": "1.5.0",
2657
+ "resolved": "https://registry.npmjs.org/grunt-contrib-compress/-/grunt-contrib-compress-1.5.0.tgz",
2658
+ "integrity": "sha512-RcCyetnvTJ7jvnDCSm05wOndAd00HWZTHeVGDVVmCM+K/PEivL0yx8vKyi8uzy0492l2dJgtzR0Ucid7roKg6A==",
2659
  "dev": true,
2660
  "requires": {
2661
  "archiver": "1.3.0",
2731
  }
2732
  },
2733
  "grunt-contrib-imagemin": {
2734
+ "version": "3.1.0",
2735
+ "resolved": "https://registry.npmjs.org/grunt-contrib-imagemin/-/grunt-contrib-imagemin-3.1.0.tgz",
2736
+ "integrity": "sha512-c0duAb018eowVVfqNMN0S5Esx8mRZ1OP/hkEoKnJkOCaD9/DywKGvLuhschF+DByPSs4k1u1y38w9Bt+ihJG8A==",
2737
  "dev": true,
2738
  "requires": {
2739
+ "chalk": "2.4.2",
2740
+ "imagemin": "6.1.0",
2741
+ "imagemin-gifsicle": "6.0.1",
2742
+ "imagemin-jpegtran": "6.0.0",
2743
+ "imagemin-optipng": "6.0.0",
2744
+ "imagemin-svgo": "7.0.0",
2745
+ "p-map": "1.2.0",
2746
+ "plur": "3.1.1",
2747
+ "pretty-bytes": "5.2.0"
2748
  },
2749
  "dependencies": {
2750
+ "pretty-bytes": {
2751
+ "version": "5.2.0",
2752
+ "resolved": "https://registry.npmjs.org/pretty-bytes/-/pretty-bytes-5.2.0.tgz",
2753
+ "integrity": "sha512-ujANBhiUsl9AhREUDUEY1GPOharMGm8x8juS7qOHybcLi7XsKfrYQ88hSly1l2i0klXHTDYrlL8ihMCG55Dc3w==",
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
2754
  "dev": true
2755
  }
2756
  }
2757
  },
2758
  "grunt-contrib-jshint": {
2759
+ "version": "2.1.0",
2760
+ "resolved": "https://registry.npmjs.org/grunt-contrib-jshint/-/grunt-contrib-jshint-2.1.0.tgz",
2761
+ "integrity": "sha512-65S2/C/6RfjY/umTxfwXXn+wVvaYmykHkHSsW6Q6rhkbv3oudTEgqnFFZvWzWCoHUb+3GMZLbP3oSrNyvshmIQ==",
2762
  "dev": true,
2763
  "requires": {
2764
+ "chalk": "2.4.2",
2765
  "hooker": "0.2.3",
2766
+ "jshint": "2.10.2"
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
2767
  }
2768
  },
2769
  "grunt-contrib-watch": {
2772
  "integrity": "sha512-yGweN+0DW5yM+oo58fRu/XIRrPcn3r4tQx+nL7eMRwjpvk+rQY6R8o94BPK0i2UhTg9FN21hS+m8vR8v9vXfeg==",
2773
  "dev": true,
2774
  "requires": {
2775
+ "async": "2.6.2",
2776
  "gaze": "1.1.3",
2777
  "lodash": "4.17.11",
2778
  "tiny-lr": "1.1.1"
2779
  },
2780
  "dependencies": {
2781
  "async": {
2782
+ "version": "2.6.2",
2783
+ "resolved": "https://registry.npmjs.org/async/-/async-2.6.2.tgz",
2784
+ "integrity": "sha512-H1qVYh1MYhEEFLsP97cVKqCGo7KfCyTt6uEWqsTBr9SO84oK9Uwbyd/yCW+6rKJLHksBNUVWZDAjfS+Ccx0Bbg==",
2785
  "dev": true,
2786
  "requires": {
2787
  "lodash": "4.17.11"
3104
  "integrity": "sha1-jzSZxSRdNG1oLlsNO0B2fgnxqSw=",
3105
  "dev": true
3106
  },
3107
+ "lru-cache": {
3108
+ "version": "2.7.3",
3109
+ "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-2.7.3.tgz",
3110
+ "integrity": "sha1-bUUk6LlV+V1PW1iFHOId1y+06VI=",
3111
+ "dev": true
3112
+ },
3113
  "minimatch": {
3114
  "version": "0.2.14",
3115
  "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-0.2.14.tgz",
3156
  "dev": true
3157
  },
3158
  "grunt-plugin-fleet": {
3159
+ "version": "github:codeinwp/grunt-plugin-fleet#922540b800fafe8a89d60e82699afb8073c1b7c2",
3160
  "dev": true,
3161
  "requires": {
3162
+ "autoprefixer": "9.5.1",
3163
+ "grunt": "1.0.4",
3164
  "grunt-cachebuster": "0.1.7",
3165
  "grunt-checktextdomain": "1.0.1",
3166
+ "grunt-contrib-compress": "1.5.0",
3167
  "grunt-contrib-copy": "1.0.0",
3168
+ "grunt-contrib-imagemin": "3.1.0",
3169
+ "grunt-contrib-jshint": "2.1.0",
3170
  "grunt-contrib-watch": "1.1.0",
3171
  "grunt-mkdir": "1.0.0",
3172
  "grunt-newer": "1.3.0",
3175
  "grunt-phplint": "0.1.0",
3176
  "grunt-phpunit": "0.3.6",
3177
  "grunt-postcss": "0.9.0",
3178
+ "grunt-rsync": "3.0.0",
3179
+ "grunt-sync": "0.8.1",
3180
  "grunt-text-replace": "0.4.0",
3181
  "grunt-version": "1.3.0",
3182
  "grunt-wp-css": "0.2.1",
3183
+ "grunt-wp-i18n": "1.0.3",
3184
  "grunt-wp-readme-to-markdown": "2.0.1",
3185
+ "ignore": "5.1.1",
3186
  "time-grunt": "1.4.0"
3187
+ }
3188
+ },
3189
+ "grunt-postcss": {
3190
+ "version": "0.9.0",
3191
+ "resolved": "https://registry.npmjs.org/grunt-postcss/-/grunt-postcss-0.9.0.tgz",
3192
+ "integrity": "sha512-lglLcVaoOIqH0sFv7RqwUKkEFGQwnlqyAKbatxZderwZGV1nDyKHN7gZS9LUiTx1t5GOvRBx0BEalHMyVwFAIA==",
3193
+ "dev": true,
3194
+ "requires": {
3195
+ "chalk": "2.4.2",
3196
+ "diff": "3.5.0",
3197
+ "postcss": "6.0.23"
3198
  },
3199
  "dependencies": {
3200
+ "postcss": {
3201
+ "version": "6.0.23",
3202
+ "resolved": "https://registry.npmjs.org/postcss/-/postcss-6.0.23.tgz",
3203
+ "integrity": "sha512-soOk1h6J3VMTZtVeVpv15/Hpdl2cBLX3CAw4TAbkpTJiNPk9YP/zWcD1ND+xEtvyuuvKzbxliTOIyvkSeSJ6ag==",
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
3204
  "dev": true,
3205
  "requires": {
3206
+ "chalk": "2.4.2",
3207
+ "source-map": "0.6.1",
3208
+ "supports-color": "5.5.0"
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
3209
  }
3210
+ }
3211
+ }
3212
+ },
3213
+ "grunt-rsync": {
3214
+ "version": "3.0.0",
3215
+ "resolved": "https://registry.npmjs.org/grunt-rsync/-/grunt-rsync-3.0.0.tgz",
3216
+ "integrity": "sha512-jnrdfhc4YfVJGLMI6OCTDBkFZ8wAXb0w57phnhjSTLGLlL6pXYs9W5A6z8E89mvVnxwxn13D8D1IPQc1RekiVg==",
3217
+ "dev": true,
3218
+ "requires": {
3219
+ "rsyncwrapper": "3.0.1"
3220
+ }
3221
+ },
3222
+ "grunt-sync": {
3223
+ "version": "0.8.1",
3224
+ "resolved": "https://registry.npmjs.org/grunt-sync/-/grunt-sync-0.8.1.tgz",
3225
+ "integrity": "sha512-xoOOgip7LcrwSUbyu27IbWZefjL7M0UNN5V7b0U90REZf1IpDytPWVLNh5dbb/IJUQng3UFyHCUCWPwPDMzipw==",
3226
+ "dev": true,
3227
+ "requires": {
3228
+ "fs-extra": "6.0.1",
3229
+ "glob": "7.0.5",
3230
+ "md5-file": "2.0.3"
3231
+ },
3232
+ "dependencies": {
3233
  "glob": {
3234
+ "version": "7.0.5",
3235
+ "resolved": "https://registry.npmjs.org/glob/-/glob-7.0.5.tgz",
3236
+ "integrity": "sha1-tCAqaQmbu00pKnwblbZoK2fr3JU=",
3237
  "dev": true,
3238
  "requires": {
3239
+ "fs.realpath": "1.0.0",
3240
+ "inflight": "1.0.6",
3241
+ "inherits": "2.0.3",
3242
+ "minimatch": "3.0.4",
3243
+ "once": "1.4.0",
3244
+ "path-is-absolute": "1.0.1"
 
 
 
 
 
3245
  }
3246
+ }
3247
+ }
3248
+ },
3249
+ "grunt-text-replace": {
3250
+ "version": "0.4.0",
3251
+ "resolved": "https://registry.npmjs.org/grunt-text-replace/-/grunt-text-replace-0.4.0.tgz",
3252
+ "integrity": "sha1-252c5Z4v5J2id+nbwZXD4Rz7FsI=",
3253
+ "dev": true
3254
+ },
3255
+ "grunt-version": {
3256
+ "version": "1.3.0",
3257
+ "resolved": "https://registry.npmjs.org/grunt-version/-/grunt-version-1.3.0.tgz",
3258
+ "integrity": "sha512-sHXaI20enfemESU2r/mrJd8eEFr8qSJSwzzIyau2IaxKwez0ojr5wg93x74K7PqSBKmVxumJ6TTscvGIfygRbA==",
3259
+ "dev": true,
3260
+ "requires": {
3261
+ "grunt": "1.0.4",
3262
+ "semver": "4.3.6"
3263
+ },
3264
+ "dependencies": {
3265
+ "semver": {
3266
+ "version": "4.3.6",
3267
+ "resolved": "https://registry.npmjs.org/semver/-/semver-4.3.6.tgz",
3268
+ "integrity": "sha1-MAvG4OhjdPe6YQaLWx7NV/xlMto=",
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
3269
  "dev": true
3270
  }
3271
  }
3272
  },
3273
+ "grunt-wp-css": {
3274
+ "version": "0.2.1",
3275
+ "resolved": "https://registry.npmjs.org/grunt-wp-css/-/grunt-wp-css-0.2.1.tgz",
3276
+ "integrity": "sha1-cC7ZaZzXyQCjQGwgQaHSg1WIf2s=",
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
3277
  "dev": true,
3278
  "requires": {
3279
+ "cssbeautify": "0.3.1",
3280
+ "csscomb": "3.1.8",
3281
+ "lodash": "4.17.11"
 
 
 
 
 
 
 
 
 
 
 
 
 
 
3282
  }
3283
  },
3284
+ "grunt-wp-i18n": {
3285
+ "version": "1.0.3",
3286
+ "resolved": "https://registry.npmjs.org/grunt-wp-i18n/-/grunt-wp-i18n-1.0.3.tgz",
3287
+ "integrity": "sha512-CJNbEKeBeOSAPeaJ9B8iCgSwtaG63UR9/uT46a4OsIqnFhOJpeAi138JTlvjfIbnDVoBrzvdrKJe1svveLjUtA==",
3288
  "dev": true,
3289
  "requires": {
3290
+ "grunt": "1.0.4",
3291
+ "node-wp-i18n": "1.2.3"
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
3292
  }
3293
  },
3294
+ "grunt-wp-readme-to-markdown": {
3295
+ "version": "2.0.1",
3296
+ "resolved": "https://registry.npmjs.org/grunt-wp-readme-to-markdown/-/grunt-wp-readme-to-markdown-2.0.1.tgz",
3297
+ "integrity": "sha1-QGzV6YmIWA3B0W6AXE4uYJJWhVI=",
3298
+ "dev": true
 
 
 
3299
  },
3300
  "har-schema": {
3301
  "version": "2.0.0",
3309
  "integrity": "sha512-sNvOCzEQNr/qrvJgc3UG/kD4QtlHycrzwS+6mfTrrSq97BvaYcPZZI1ZSqGSPR73Cxn4LKTD4PttRwfU7jWq5g==",
3310
  "dev": true,
3311
  "requires": {
3312
+ "ajv": "6.10.0",
3313
  "har-schema": "2.0.0"
3314
  }
3315
  },
3316
+ "has": {
3317
+ "version": "1.0.3",
3318
+ "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz",
3319
+ "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==",
3320
+ "dev": true,
3321
+ "requires": {
3322
+ "function-bind": "1.1.1"
3323
+ }
3324
+ },
3325
  "has-ansi": {
3326
  "version": "2.0.0",
3327
  "resolved": "https://registry.npmjs.org/has-ansi/-/has-ansi-2.0.0.tgz",
3343
  "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=",
3344
  "dev": true
3345
  },
3346
+ "has-symbol-support-x": {
3347
+ "version": "1.4.2",
3348
+ "resolved": "https://registry.npmjs.org/has-symbol-support-x/-/has-symbol-support-x-1.4.2.tgz",
3349
+ "integrity": "sha512-3ToOva++HaW+eCpgqZrCfN51IPB+7bJNVT6CUATzueB5Heb8o6Nam0V3HG5dlDvZU1Gn5QLcbahiKw/XVk5JJw==",
3350
+ "dev": true
3351
+ },
3352
+ "has-symbols": {
3353
+ "version": "1.0.0",
3354
+ "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.0.tgz",
3355
+ "integrity": "sha1-uhqPGvKg/DllD1yFA2dwQSIGO0Q=",
3356
+ "dev": true
3357
+ },
3358
+ "has-to-string-tag-x": {
3359
+ "version": "1.4.1",
3360
+ "resolved": "https://registry.npmjs.org/has-to-string-tag-x/-/has-to-string-tag-x-1.4.1.tgz",
3361
+ "integrity": "sha512-vdbKfmw+3LoOYVr+mtxHaX5a96+0f3DljYd8JOqvOLsf5mw2Otda2qCDT9qRqLAhrjyQ0h7ual5nOiASpsGNFw==",
3362
  "dev": true,
3363
  "requires": {
3364
+ "has-symbol-support-x": "1.4.2"
3365
  }
3366
  },
3367
  "has-unicode": {
3370
  "integrity": "sha1-4Ob+aijPUROIVeCG0Wkedx3iqLk=",
3371
  "dev": true
3372
  },
3373
+ "has-value": {
3374
+ "version": "1.0.0",
3375
+ "resolved": "https://registry.npmjs.org/has-value/-/has-value-1.0.0.tgz",
3376
+ "integrity": "sha1-GLKB2lhbHFxR3vJMkw7SmgvmsXc=",
3377
+ "dev": true,
3378
+ "requires": {
3379
+ "get-value": "2.0.6",
3380
+ "has-values": "1.0.0",
3381
+ "isobject": "3.0.1"
3382
+ }
3383
+ },
3384
+ "has-values": {
3385
+ "version": "1.0.0",
3386
+ "resolved": "https://registry.npmjs.org/has-values/-/has-values-1.0.0.tgz",
3387
+ "integrity": "sha1-lbC2P+whRmGab+V/51Yo1aOe/k8=",
3388
+ "dev": true,
3389
+ "requires": {
3390
+ "is-number": "3.0.0",
3391
+ "kind-of": "4.0.0"
3392
+ },
3393
+ "dependencies": {
3394
+ "kind-of": {
3395
+ "version": "4.0.0",
3396
+ "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-4.0.0.tgz",
3397
+ "integrity": "sha1-IIE989cSkosgc3hpGkUGb65y3Vc=",
3398
+ "dev": true,
3399
+ "requires": {
3400
+ "is-buffer": "1.1.6"
3401
+ }
3402
+ }
3403
+ }
3404
+ },
3405
  "hooker": {
3406
  "version": "0.2.3",
3407
  "resolved": "https://registry.npmjs.org/hooker/-/hooker-0.2.3.tgz",
3414
  "integrity": "sha512-7T/BxH19zbcCTa8XkMlbK5lTo1WtgkFi3GvdWEyNuc4Vex7/9Dqbnpsf4JMydcfj9HCg4zUWFTL3Za6lapg5/w==",
3415
  "dev": true
3416
  },
3417
+ "html-comment-regex": {
3418
+ "version": "1.1.2",
3419
+ "resolved": "https://registry.npmjs.org/html-comment-regex/-/html-comment-regex-1.1.2.tgz",
3420
+ "integrity": "sha512-P+M65QY2JQ5Y0G9KKdlDpo0zK+/OHptU5AaBwUfAIDJZk1MYf32Frm84EcOytfJE0t5JvkAnKlmjsXDnWzCJmQ==",
3421
+ "dev": true,
3422
+ "optional": true
3423
+ },
3424
  "htmlparser2": {
3425
  "version": "3.8.3",
3426
  "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-3.8.3.tgz",
3434
  "readable-stream": "1.1.14"
3435
  },
3436
  "dependencies": {
3437
+ "domutils": {
3438
+ "version": "1.5.1",
3439
+ "resolved": "https://registry.npmjs.org/domutils/-/domutils-1.5.1.tgz",
3440
+ "integrity": "sha1-3NhIiib1Y9YQeeSMn3t+Mjc2gs8=",
3441
+ "dev": true,
3442
+ "requires": {
3443
+ "dom-serializer": "0.1.1",
3444
+ "domelementtype": "1.3.1"
3445
+ }
3446
+ },
3447
+ "entities": {
3448
+ "version": "1.0.0",
3449
+ "resolved": "https://registry.npmjs.org/entities/-/entities-1.0.0.tgz",
3450
+ "integrity": "sha1-sph6o4ITR/zeZCsk/fyeT7cSvyY=",
3451
+ "dev": true
3452
+ },
3453
  "isarray": {
3454
  "version": "0.0.1",
3455
  "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz",
3476
  }
3477
  }
3478
  },
3479
+ "http-cache-semantics": {
3480
+ "version": "3.8.1",
3481
+ "resolved": "https://registry.npmjs.org/http-cache-semantics/-/http-cache-semantics-3.8.1.tgz",
3482
+ "integrity": "sha512-5ai2iksyV8ZXmnZhHH4rWPoxxistEexSi5936zIQ1bnNTW5VnA85B6P/VpXiRM017IgRvb2kKo1a//y+0wSp3w==",
3483
+ "dev": true,
3484
+ "optional": true
3485
+ },
3486
  "http-parser-js": {
3487
  "version": "0.5.0",
3488
  "resolved": "https://registry.npmjs.org/http-parser-js/-/http-parser-js-0.5.0.tgz",
3510
  }
3511
  },
3512
  "ieee754": {
3513
+ "version": "1.1.13",
3514
+ "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.1.13.tgz",
3515
+ "integrity": "sha512-4vf7I2LYV/HaWerSo3XmlMkp5eZ83i+/CDluXi/IGTs/O1sejBNhTtnxzmRZfvOUqj7lZjqHkeTvpgSFDlWZTg==",
3516
+ "dev": true
3517
+ },
3518
+ "ignore": {
3519
+ "version": "5.1.1",
3520
+ "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.1.1.tgz",
3521
+ "integrity": "sha512-DWjnQIFLenVrwyRCKZT+7a7/U4Cqgar4WG8V++K3hw+lrW1hc/SIwdiGmtxKCVACmHULTuGeBbHJmbwW7/sAvA==",
3522
  "dev": true
3523
  },
3524
  "iltorb": {
3529
  "optional": true,
3530
  "requires": {
3531
  "detect-libc": "0.2.0",
3532
+ "nan": "2.14.0",
3533
  "node-gyp": "3.8.0",
3534
  "prebuild-install": "2.5.3"
3535
  }
3536
  },
3537
  "imagemin": {
3538
+ "version": "6.1.0",
3539
+ "resolved": "https://registry.npmjs.org/imagemin/-/imagemin-6.1.0.tgz",
3540
+ "integrity": "sha512-8ryJBL1CN5uSHpiBMX0rJw79C9F9aJqMnjGnrd/1CafegpNuA81RBAAru/jQQEOWlOJJlpRnlcVFF6wq+Ist0A==",
3541
  "dev": true,
3542
  "requires": {
3543
+ "file-type": "10.11.0",
3544
+ "globby": "8.0.2",
3545
+ "make-dir": "1.3.0",
3546
+ "p-pipe": "1.2.0",
3547
+ "pify": "4.0.1",
3548
+ "replace-ext": "1.0.0"
3549
+ },
3550
+ "dependencies": {
3551
+ "pify": {
3552
+ "version": "4.0.1",
3553
+ "resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz",
3554
+ "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==",
3555
+ "dev": true
3556
+ }
3557
  }
3558
  },
3559
  "imagemin-gifsicle": {
3560
+ "version": "6.0.1",
3561
+ "resolved": "https://registry.npmjs.org/imagemin-gifsicle/-/imagemin-gifsicle-6.0.1.tgz",
3562
+ "integrity": "sha512-kuu47c6iKDQ6R9J10xCwL0lgs0+sMz3LRHqRcJ2CRBWdcNmo3T5hUaM8hSZfksptZXJLGKk8heSAvwtSdB1Fng==",
3563
  "dev": true,
3564
  "optional": true,
3565
  "requires": {
3566
+ "exec-buffer": "3.2.0",
3567
+ "gifsicle": "4.0.1",
3568
+ "is-gif": "3.0.0"
3569
  }
3570
  },
3571
  "imagemin-jpegtran": {
3572
+ "version": "6.0.0",
3573
+ "resolved": "https://registry.npmjs.org/imagemin-jpegtran/-/imagemin-jpegtran-6.0.0.tgz",
3574
+ "integrity": "sha512-Ih+NgThzqYfEWv9t58EItncaaXIHR0u9RuhKa8CtVBlMBvY0dCIxgQJQCfwImA4AV1PMfmUKlkyIHJjb7V4z1g==",
3575
  "dev": true,
3576
  "optional": true,
3577
+ "requires": {
3578
+ "exec-buffer": "3.2.0",
3579
+ "is-jpg": "2.0.0",
3580
+ "jpegtran-bin": "4.0.0"
 
 
 
 
 
 
 
 
 
 
 
 
 
3581
  }
3582
  },
3583
  "imagemin-optipng": {
3584
+ "version": "6.0.0",
3585
+ "resolved": "https://registry.npmjs.org/imagemin-optipng/-/imagemin-optipng-6.0.0.tgz",
3586
+ "integrity": "sha512-FoD2sMXvmoNm/zKPOWdhKpWdFdF9qiJmKC17MxZJPH42VMAp17/QENI/lIuP7LCUnLVAloO3AUoTSNzfhpyd8A==",
3587
  "dev": true,
3588
  "optional": true,
3589
  "requires": {
3590
+ "exec-buffer": "3.2.0",
3591
  "is-png": "1.1.0",
3592
+ "optipng-bin": "5.1.0"
 
3593
  }
3594
  },
3595
  "imagemin-svgo": {
3596
+ "version": "7.0.0",
3597
+ "resolved": "https://registry.npmjs.org/imagemin-svgo/-/imagemin-svgo-7.0.0.tgz",
3598
+ "integrity": "sha512-+iGJFaPIMx8TjFW6zN+EkOhlqcemdL7F3N3Y0wODvV2kCUBuUtZK7DRZc1+Zfu4U2W/lTMUyx2G8YMOrZntIWg==",
3599
  "dev": true,
3600
  "optional": true,
3601
  "requires": {
3602
+ "is-svg": "3.0.0",
3603
+ "svgo": "1.2.2"
 
 
 
 
 
 
 
 
 
 
 
 
 
 
3604
  }
3605
  },
3606
+ "import-lazy": {
3607
+ "version": "3.1.0",
3608
+ "resolved": "https://registry.npmjs.org/import-lazy/-/import-lazy-3.1.0.tgz",
3609
+ "integrity": "sha512-8/gvXvX2JMn0F+CDlSC4l6kOmVaLOO3XLkksI7CI3Ud95KDYJuYur2b9P/PUt/i/pDAMd/DulQsNbbbmRRsDIQ==",
3610
+ "dev": true,
3611
+ "optional": true
3612
+ },
3613
  "indent-string": {
3614
  "version": "2.1.0",
3615
  "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-2.1.0.tgz",
3647
  "integrity": "sha512-RZY5huIKCMRWDUqZlEi72f/lmXKMvuszcMBduliQ3nnWbx9X/ZBQO7DijMEYS9EhHBb2qacRUMtC7svLwe0lcw==",
3648
  "dev": true
3649
  },
3650
+ "into-stream": {
3651
+ "version": "3.1.0",
3652
+ "resolved": "https://registry.npmjs.org/into-stream/-/into-stream-3.1.0.tgz",
3653
+ "integrity": "sha1-lvsKk2wSur1v8XUqF9BWFqvQlMY=",
3654
  "dev": true,
3655
+ "optional": true,
3656
+ "requires": {
3657
+ "from2": "2.3.0",
3658
+ "p-is-promise": "1.1.0"
3659
+ }
3660
  },
3661
+ "irregular-plurals": {
3662
+ "version": "2.0.0",
3663
+ "resolved": "https://registry.npmjs.org/irregular-plurals/-/irregular-plurals-2.0.0.tgz",
3664
+ "integrity": "sha512-Y75zBYLkh0lJ9qxeHlMjQ7bSbyiSqNW/UOPWDmzC7cXskL1hekSITh1Oc6JV0XCWWZ9DE8VYSB71xocLk3gmGw==",
3665
+ "dev": true
3666
+ },
3667
+ "is-accessor-descriptor": {
3668
+ "version": "0.1.6",
3669
+ "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz",
3670
+ "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=",
3671
  "dev": true,
3672
  "requires": {
3673
+ "kind-of": "3.2.2"
3674
+ },
3675
+ "dependencies": {
3676
+ "kind-of": {
3677
+ "version": "3.2.2",
3678
+ "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
3679
+ "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
3680
+ "dev": true,
3681
+ "requires": {
3682
+ "is-buffer": "1.1.6"
3683
+ }
3684
+ }
3685
  }
3686
  },
3687
  "is-arrayish": {
3696
  "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==",
3697
  "dev": true
3698
  },
3699
+ "is-callable": {
3700
+ "version": "1.1.4",
3701
+ "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.1.4.tgz",
3702
+ "integrity": "sha512-r5p9sxJjYnArLjObpjA4xu5EKI3CuKHkJXMhT7kwbpUyIFD1n5PMAsoPvWnvtZiNz7LjkYDRZhd7FlI0eMijEA==",
3703
  "dev": true
3704
  },
3705
+ "is-data-descriptor": {
3706
+ "version": "0.1.4",
3707
+ "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz",
3708
+ "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=",
3709
+ "dev": true,
3710
+ "requires": {
3711
+ "kind-of": "3.2.2"
3712
+ },
3713
+ "dependencies": {
3714
+ "kind-of": {
3715
+ "version": "3.2.2",
3716
+ "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
3717
+ "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
3718
+ "dev": true,
3719
+ "requires": {
3720
+ "is-buffer": "1.1.6"
3721
+ }
3722
+ }
3723
+ }
3724
+ },
3725
+ "is-date-object": {
3726
+ "version": "1.0.1",
3727
+ "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.1.tgz",
3728
+ "integrity": "sha1-mqIOtq7rv/d/vTPnTKAbM1gdOhY=",
3729
  "dev": true
3730
  },
3731
+ "is-descriptor": {
3732
+ "version": "0.1.6",
3733
+ "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz",
3734
+ "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==",
3735
  "dev": true,
3736
  "requires": {
3737
+ "is-accessor-descriptor": "0.1.6",
3738
+ "is-data-descriptor": "0.1.4",
3739
+ "kind-of": "5.1.0"
3740
+ },
3741
+ "dependencies": {
3742
+ "kind-of": {
3743
+ "version": "5.1.0",
3744
+ "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz",
3745
+ "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==",
3746
+ "dev": true
3747
+ }
3748
  }
3749
  },
3750
  "is-extendable": {
3778
  }
3779
  },
3780
  "is-gif": {
3781
+ "version": "3.0.0",
3782
+ "resolved": "https://registry.npmjs.org/is-gif/-/is-gif-3.0.0.tgz",
3783
+ "integrity": "sha512-IqJ/jlbw5WJSNfwQ/lHEDXF8rxhRgF6ythk2oiEvhpG29F704eX9NO6TvPfMiq9DrbwgcEDnETYNcZDPewQoVw==",
3784
  "dev": true,
3785
+ "optional": true,
3786
+ "requires": {
3787
+ "file-type": "10.11.0"
3788
+ }
3789
  },
3790
  "is-glob": {
3791
+ "version": "4.0.1",
3792
+ "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.1.tgz",
3793
+ "integrity": "sha512-5G0tKtBTFImOqDnLB2hG6Bp2qcKEFduo4tZu9MT/H6NQv/ghhy30o55ufafxJ/LdH79LLs2Kfrn85TLKyA7BUg==",
3794
  "dev": true,
3795
  "requires": {
3796
  "is-extglob": "2.1.1"
3797
  }
3798
  },
 
 
 
 
 
 
3799
  "is-jpg": {
3800
+ "version": "2.0.0",
3801
+ "resolved": "https://registry.npmjs.org/is-jpg/-/is-jpg-2.0.0.tgz",
3802
+ "integrity": "sha1-LhmX+m6RZuqsAkLarkQ0A+TvHZc=",
3803
  "dev": true,
3804
  "optional": true
3805
  },
3806
  "is-natural-number": {
3807
+ "version": "4.0.1",
3808
+ "resolved": "https://registry.npmjs.org/is-natural-number/-/is-natural-number-4.0.1.tgz",
3809
+ "integrity": "sha1-q5124dtM7VHjXeDHLr7PCfc0zeg=",
3810
  "dev": true
3811
  },
3812
  "is-number": {
3813
+ "version": "3.0.0",
3814
+ "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz",
3815
+ "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=",
3816
  "dev": true,
3817
  "requires": {
3818
  "kind-of": "3.2.2"
3819
+ },
3820
+ "dependencies": {
3821
+ "kind-of": {
3822
+ "version": "3.2.2",
3823
+ "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
3824
+ "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
3825
+ "dev": true,
3826
+ "requires": {
3827
+ "is-buffer": "1.1.6"
3828
+ }
3829
+ }
3830
  }
3831
  },
3832
+ "is-object": {
3833
  "version": "1.0.1",
3834
+ "resolved": "https://registry.npmjs.org/is-object/-/is-object-1.0.1.tgz",
3835
+ "integrity": "sha1-iVJojF7C/9awPsyF52ngKQMINHA=",
3836
+ "dev": true
3837
+ },
3838
+ "is-plain-obj": {
3839
+ "version": "1.1.0",
3840
+ "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-1.1.0.tgz",
3841
+ "integrity": "sha1-caUMhCnfync8kqOQpKA7OfzVHT4=",
3842
  "dev": true
3843
  },
3844
+ "is-plain-object": {
3845
+ "version": "2.0.4",
3846
+ "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz",
3847
+ "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==",
3848
+ "dev": true,
3849
+ "requires": {
3850
+ "isobject": "3.0.1"
3851
+ }
3852
+ },
3853
  "is-png": {
3854
  "version": "1.1.0",
3855
  "resolved": "https://registry.npmjs.org/is-png/-/is-png-1.1.0.tgz",
3857
  "dev": true,
3858
  "optional": true
3859
  },
3860
+ "is-regex": {
3861
+ "version": "1.0.4",
3862
+ "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.0.4.tgz",
3863
+ "integrity": "sha1-VRdIm1RwkbCTDglWVM7SXul+lJE=",
3864
+ "dev": true,
3865
+ "requires": {
3866
+ "has": "1.0.3"
3867
+ }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
3868
  },
3869
  "is-retry-allowed": {
3870
  "version": "1.1.0",
3879
  "dev": true
3880
  },
3881
  "is-svg": {
3882
+ "version": "3.0.0",
3883
+ "resolved": "https://registry.npmjs.org/is-svg/-/is-svg-3.0.0.tgz",
3884
+ "integrity": "sha512-gi4iHK53LR2ujhLVVj+37Ykh9GLqYHX6JOVXbLAucaG/Cqw9xwdFOjDM2qeifLs1sF1npXXFvDu0r5HNgCMrzQ==",
3885
  "dev": true,
3886
+ "optional": true,
3887
+ "requires": {
3888
+ "html-comment-regex": "1.1.2"
3889
+ }
3890
  },
3891
+ "is-symbol": {
3892
+ "version": "1.0.2",
3893
+ "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.2.tgz",
3894
+ "integrity": "sha512-HS8bZ9ox60yCJLH9snBpIwv9pYUAkcuLhSA1oero1UB5y9aiQpRA8y2ex945AOtCZL1lJDeIk3G5LthswI46Lw==",
3895
+ "dev": true,
3896
+ "requires": {
3897
+ "has-symbols": "1.0.0"
3898
+ }
3899
  },
3900
  "is-typedarray": {
3901
  "version": "1.0.0",
3903
  "integrity": "sha1-5HnICFjfDBsR3dppQPlgEfzaSpo=",
3904
  "dev": true
3905
  },
 
 
 
 
 
 
3906
  "is-utf8": {
3907
  "version": "0.2.1",
3908
  "resolved": "https://registry.npmjs.org/is-utf8/-/is-utf8-0.2.1.tgz",
3909
  "integrity": "sha1-Sw2hRCEE0bM2NA6AeX6GXPOffXI=",
3910
  "dev": true
3911
  },
3912
+ "is-windows": {
3913
+ "version": "1.0.2",
3914
+ "resolved": "https://registry.npmjs.org/is-windows/-/is-windows-1.0.2.tgz",
3915
+ "integrity": "sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA==",
 
 
 
 
 
 
3916
  "dev": true
3917
  },
3918
  "isarray": {
3928
  "dev": true
3929
  },
3930
  "isobject": {
3931
+ "version": "3.0.1",
3932
+ "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz",
3933
+ "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=",
3934
+ "dev": true
 
 
 
3935
  },
3936
  "isstream": {
3937
  "version": "0.1.2",
3939
  "integrity": "sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo=",
3940
  "dev": true
3941
  },
3942
+ "isurl": {
3943
+ "version": "1.0.0",
3944
+ "resolved": "https://registry.npmjs.org/isurl/-/isurl-1.0.0.tgz",
3945
+ "integrity": "sha512-1P/yWsxPlDtn7QeRD+ULKQPaIaN6yF368GZ2vDfv0AL0NwpStafjWCDDdn0k8wgFMWpVAqG7oJhxHnlud42i9w==",
3946
+ "dev": true,
3947
+ "requires": {
3948
+ "has-to-string-tag-x": "1.4.1",
3949
+ "is-object": "1.0.1"
3950
+ }
3951
+ },
3952
  "jit-grunt": {
3953
  "version": "0.10.0",
3954
  "resolved": "https://registry.npmjs.org/jit-grunt/-/jit-grunt-0.10.0.tgz",
3956
  "dev": true
3957
  },
3958
  "jpegtran-bin": {
3959
+ "version": "4.0.0",
3960
+ "resolved": "https://registry.npmjs.org/jpegtran-bin/-/jpegtran-bin-4.0.0.tgz",
3961
+ "integrity": "sha512-2cRl1ism+wJUoYAYFt6O/rLBfpXNWG2dUWbgcEkTt5WGMnqI46eEro8T4C5zGROxKRqyKpCBSdHPvt5UYCtxaQ==",
3962
  "dev": true,
3963
  "optional": true,
3964
  "requires": {
3965
+ "bin-build": "3.0.0",
3966
+ "bin-wrapper": "4.1.0",
3967
  "logalot": "2.1.0"
3968
  }
3969
  },
 
 
 
 
 
 
3970
  "js-yaml": {
3971
+ "version": "3.13.1",
3972
+ "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.13.1.tgz",
3973
+ "integrity": "sha512-YfbcO7jXDdyj0DGxYVSlSeQNHbD7XPWvrVWeVUujrQEoZzWJIRrCPoyk6kL6IAjAG2IolMK4T0hNUe0HOUs5Jw==",
3974
  "dev": true,
3975
  "requires": {
3976
  "argparse": "1.0.10",
3977
+ "esprima": "4.0.1"
3978
  }
3979
  },
3980
  "jsbn": {
3984
  "dev": true
3985
  },
3986
  "jshint": {
3987
+ "version": "2.10.2",
3988
+ "resolved": "https://registry.npmjs.org/jshint/-/jshint-2.10.2.tgz",
3989
+ "integrity": "sha512-e7KZgCSXMJxznE/4WULzybCMNXNAd/bf5TSrvVEq78Q/K8ZwFpmBqQeDtNiHc3l49nV4E/+YeHU/JZjSUIrLAA==",
3990
  "dev": true,
3991
  "requires": {
3992
  "cli": "1.0.1",
4007
  }
4008
  }
4009
  },
4010
+ "json-buffer": {
4011
+ "version": "3.0.0",
4012
+ "resolved": "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.0.tgz",
4013
+ "integrity": "sha1-Wx85evx11ne96Lz8Dkfh+aPZqJg=",
4014
+ "dev": true,
4015
+ "optional": true
4016
+ },
4017
  "json-schema": {
4018
  "version": "0.2.3",
4019
  "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.2.3.tgz",
4026
  "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==",
4027
  "dev": true
4028
  },
 
 
 
 
 
 
4029
  "json-stringify-safe": {
4030
  "version": "5.0.1",
4031
  "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz",
4032
  "integrity": "sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus=",
4033
  "dev": true
4034
  },
4035
+ "jsonfile": {
4036
+ "version": "4.0.0",
4037
+ "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz",
4038
+ "integrity": "sha1-h3Gq4HmbZAdrdmQPygWPnBDjPss=",
4039
+ "dev": true,
4040
+ "requires": {
4041
+ "graceful-fs": "4.1.15"
4042
+ }
4043
+ },
4044
  "jsprim": {
4045
  "version": "1.4.1",
4046
  "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-1.4.1.tgz",
4053
  "verror": "1.10.0"
4054
  }
4055
  },
4056
+ "keyv": {
4057
+ "version": "3.0.0",
4058
+ "resolved": "https://registry.npmjs.org/keyv/-/keyv-3.0.0.tgz",
4059
+ "integrity": "sha512-eguHnq22OE3uVoSYG0LVWNP+4ppamWr9+zWBe1bsNcovIMy6huUJFPgy4mGwCd/rnl3vOLGW1MTlu4c57CT1xA==",
4060
  "dev": true,
4061
+ "optional": true,
4062
  "requires": {
4063
+ "json-buffer": "3.0.0"
4064
  }
4065
  },
4066
+ "kind-of": {
4067
+ "version": "6.0.2",
4068
+ "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.2.tgz",
4069
+ "integrity": "sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA==",
4070
+ "dev": true
 
4071
  },
4072
  "lazystream": {
4073
  "version": "1.0.0",
4098
  "lodash": "3.10.1"
4099
  },
4100
  "dependencies": {
4101
+ "esprima": {
4102
+ "version": "2.7.3",
4103
+ "resolved": "https://registry.npmjs.org/esprima/-/esprima-2.7.3.tgz",
4104
+ "integrity": "sha1-luO3DVd59q1JzQMmc9HDEnZ7pYE=",
4105
+ "dev": true
4106
+ },
4107
  "glob": {
4108
  "version": "5.0.15",
4109
  "resolved": "https://registry.npmjs.org/glob/-/glob-5.0.15.tgz",
4185
  "integrity": "sha512-cQKh8igo5QUhZ7lg38DYWAxMvjSAKG0A8wGSVimP07SIUEK2UO+arSRKbRZWtelMtN5V0Hkwh5ryOto/SshYIg==",
4186
  "dev": true
4187
  },
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
4188
  "logalot": {
4189
  "version": "2.1.0",
4190
  "resolved": "https://registry.npmjs.org/logalot/-/logalot-2.1.0.tgz",
4233
  }
4234
  },
4235
  "lru-cache": {
4236
+ "version": "4.1.5",
4237
+ "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-4.1.5.tgz",
4238
+ "integrity": "sha512-sWZlbEP2OsHNkXrMl5GYk/jKk70MBng6UU4YI/qGDYbgf6YbP4EvmqISbXCoJiRKs+1bSpFHVgQxvJ17F2li5g==",
4239
+ "dev": true,
4240
+ "requires": {
4241
+ "pseudomap": "1.0.2",
4242
+ "yallist": "2.1.2"
4243
+ }
4244
+ },
4245
+ "make-dir": {
4246
+ "version": "1.3.0",
4247
+ "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-1.3.0.tgz",
4248
+ "integrity": "sha512-2w31R7SJtieJJnQtGc7RVL2StM2vGYVfqUOvUDxH6bC6aJTxPxTF0GnIgCyu7tjockiUWAYQRbxa7vKn34s5sQ==",
4249
+ "dev": true,
4250
+ "requires": {
4251
+ "pify": "3.0.0"
4252
+ },
4253
+ "dependencies": {
4254
+ "pify": {
4255
+ "version": "3.0.0",
4256
+ "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz",
4257
+ "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=",
4258
+ "dev": true
4259
+ }
4260
+ }
4261
+ },
4262
+ "map-cache": {
4263
+ "version": "0.2.2",
4264
+ "resolved": "https://registry.npmjs.org/map-cache/-/map-cache-0.2.2.tgz",
4265
+ "integrity": "sha1-wyq9C9ZSXZsFFkW7TyasXcmKDb8=",
4266
  "dev": true
4267
  },
4268
  "map-obj": {
4271
  "integrity": "sha1-2TPOuSBdgr3PSIb2dCvcK03qFG0=",
4272
  "dev": true
4273
  },
4274
+ "map-visit": {
4275
+ "version": "1.0.0",
4276
+ "resolved": "https://registry.npmjs.org/map-visit/-/map-visit-1.0.0.tgz",
4277
+ "integrity": "sha1-7Nyo8TFE5mDxtb1B8S80edmN+48=",
4278
+ "dev": true,
4279
+ "requires": {
4280
+ "object-visit": "1.0.1"
4281
+ }
4282
  },
4283
  "md5-file": {
4284
+ "version": "2.0.3",
4285
+ "resolved": "https://registry.npmjs.org/md5-file/-/md5-file-2.0.3.tgz",
4286
+ "integrity": "sha1-SgULUuQLVHfQmUO/n9fx/4oonNE=",
4287
+ "dev": true
4288
+ },
4289
+ "mdn-data": {
4290
+ "version": "1.1.4",
4291
+ "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-1.1.4.tgz",
4292
+ "integrity": "sha512-FSYbp3lyKjyj3E7fMl6rYvUdX0FBXaluGqlFoYESWQlyUTq8R+wp0rkFxoYFqZlHCvsUXGjyJmLQSnXToYhOSA==",
4293
  "dev": true
4294
  },
4295
  "meow": {
4310
  "trim-newlines": "1.0.0"
4311
  }
4312
  },
4313
+ "merge2": {
4314
+ "version": "1.2.3",
4315
+ "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.2.3.tgz",
4316
+ "integrity": "sha512-gdUU1Fwj5ep4kplwcmftruWofEFt6lfpkkr3h860CXbAB9c3hGb55EOL2ali0Td5oebvW0E1+3Sr+Ur7XfKpRA==",
4317
+ "dev": true
 
 
 
4318
  },
4319
+ "micromatch": {
4320
+ "version": "3.1.10",
4321
+ "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz",
4322
+ "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==",
4323
+ "dev": true,
4324
+ "requires": {
4325
+ "arr-diff": "4.0.0",
4326
+ "array-unique": "0.3.2",
4327
+ "braces": "2.3.2",
4328
+ "define-property": "2.0.2",
4329
+ "extend-shallow": "3.0.2",
4330
+ "extglob": "2.0.4",
4331
+ "fragment-cache": "0.2.1",
4332
+ "kind-of": "6.0.2",
4333
+ "nanomatch": "1.2.13",
4334
+ "object.pick": "1.3.0",
4335
+ "regex-not": "1.0.2",
4336
+ "snapdragon": "0.8.2",
4337
+ "to-regex": "3.0.2"
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
4338
  }
4339
  },
4340
  "mime-db": {
4341
+ "version": "1.40.0",
4342
+ "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.40.0.tgz",
4343
+ "integrity": "sha512-jYdeOMPy9vnxEqFRRo6ZvTZ8d9oPb+k18PKoYNYUe2stVEBPPwsln/qWzdbmaIvnhZ9v2P+CuecK+fpUfsV2mA==",
4344
  "dev": true
4345
  },
4346
  "mime-types": {
4347
+ "version": "2.1.24",
4348
+ "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.24.tgz",
4349
+ "integrity": "sha512-WaFHS3MCl5fapm3oLxU4eYDw77IQM2ACcxQ9RIxfaC3ooc6PFuBMGZZsYpvoXS5D5QTWPieo1jjLdAm3TBP3cQ==",
4350
  "dev": true,
4351
  "requires": {
4352
+ "mime-db": "1.40.0"
4353
  }
4354
  },
4355
  "mimic-response": {
4356
  "version": "1.0.1",
4357
  "resolved": "https://registry.npmjs.org/mimic-response/-/mimic-response-1.0.1.tgz",
4358
  "integrity": "sha512-j5EctnkH7amfV/q5Hgmoal1g2QHFJRraOtmx0JpIqkxhBhI/lJSl1nMpQ45hVarwNETOoWEimndZ4QK0RHxuxQ==",
4359
+ "dev": true
 
4360
  },
4361
  "minimatch": {
4362
  "version": "3.0.4",
4373
  "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=",
4374
  "dev": true
4375
  },
4376
+ "mixin-deep": {
4377
+ "version": "1.3.1",
4378
+ "resolved": "https://registry.npmjs.org/mixin-deep/-/mixin-deep-1.3.1.tgz",
4379
+ "integrity": "sha512-8ZItLHeEgaqEvd5lYBXfm4EZSFCX29Jb9K+lAHhDKzReKBQKj3R+7NOF6tjqYi9t4oI8VUfaWITJQm86wnXGNQ==",
4380
+ "dev": true,
4381
+ "requires": {
4382
+ "for-in": "1.0.2",
4383
+ "is-extendable": "1.0.1"
4384
+ },
4385
+ "dependencies": {
4386
+ "is-extendable": {
4387
+ "version": "1.0.1",
4388
+ "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz",
4389
+ "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==",
4390
+ "dev": true,
4391
+ "requires": {
4392
+ "is-plain-object": "2.0.4"
4393
+ }
4394
+ }
4395
+ }
4396
+ },
4397
  "mkdirp": {
4398
  "version": "0.5.1",
4399
  "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz",
4412
  }
4413
  },
4414
  "ms": {
4415
+ "version": "2.0.0",
4416
+ "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
4417
+ "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=",
4418
  "dev": true
4419
  },
4420
  "multimatch": {
4429
  "minimatch": "3.0.4"
4430
  }
4431
  },
4432
+ "nan": {
4433
+ "version": "2.14.0",
4434
+ "resolved": "https://registry.npmjs.org/nan/-/nan-2.14.0.tgz",
4435
+ "integrity": "sha512-INOFj37C7k3AfaNTtX8RhsTw7qRy7eLET14cROi9+5HAVbbHuIWUHEauBv5qT4Av2tWasiTY1Jw6puUNqRJXQg==",
4436
+ "dev": true,
4437
+ "optional": true
4438
+ },
4439
+ "nanomatch": {
4440
+ "version": "1.2.13",
4441
+ "resolved": "https://registry.npmjs.org/nanomatch/-/nanomatch-1.2.13.tgz",
4442
+ "integrity": "sha512-fpoe2T0RbHwBTBUOftAfBPaDEi06ufaUai0mE6Yn1kacc3SnTErfb/h+X94VXzI64rKFHYImXSvdwGGCmwOqCA==",
4443
  "dev": true,
4444
  "requires": {
4445
+ "arr-diff": "4.0.0",
4446
+ "array-unique": "0.3.2",
4447
+ "define-property": "2.0.2",
4448
+ "extend-shallow": "3.0.2",
4449
+ "fragment-cache": "0.2.1",
4450
+ "is-windows": "1.0.2",
4451
+ "kind-of": "6.0.2",
4452
+ "object.pick": "1.3.0",
4453
+ "regex-not": "1.0.2",
4454
+ "snapdragon": "0.8.2",
4455
+ "to-regex": "3.0.2"
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
4456
  }
4457
  },
4458
+ "nice-try": {
4459
+ "version": "1.0.5",
4460
+ "resolved": "https://registry.npmjs.org/nice-try/-/nice-try-1.0.5.tgz",
4461
+ "integrity": "sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ==",
4462
+ "dev": true
 
4463
  },
4464
  "node-abi": {
4465
+ "version": "2.8.0",
4466
+ "resolved": "https://registry.npmjs.org/node-abi/-/node-abi-2.8.0.tgz",
4467
+ "integrity": "sha512-1/aa2clS0pue0HjckL62CsbhWWU35HARvBDXcJtYKbYR7LnIutmpxmXbuDMV9kEviD2lP/wACOgWmmwljghHyQ==",
4468
  "dev": true,
4469
  "optional": true,
4470
  "requires": {
4471
+ "semver": "5.7.0"
4472
  }
4473
  },
4474
  "node-gyp": {
4478
  "dev": true,
4479
  "optional": true,
4480
  "requires": {
4481
+ "fstream": "1.0.12",
4482
  "glob": "7.0.6",
4483
  "graceful-fs": "4.1.15",
4484
  "mkdirp": "0.5.1",
4488
  "request": "2.88.0",
4489
  "rimraf": "2.6.3",
4490
  "semver": "5.3.0",
4491
+ "tar": "2.2.2",
4492
  "which": "1.3.1"
4493
  },
4494
  "dependencies": {
4501
  }
4502
  }
4503
  },
4504
+ "node-releases": {
4505
+ "version": "1.1.20",
4506
+ "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-1.1.20.tgz",
4507
+ "integrity": "sha512-YnC3NemTLgzOkQTmR4+0yl/7pIsXZcfWXoquNp0Dql03GQ+CYURhnjUDFsSJxpX/Q9nw8lAjLFdnACQoKs6h5w==",
4508
+ "dev": true,
4509
+ "requires": {
4510
+ "semver": "5.7.0"
4511
+ }
4512
  },
4513
  "node-uuid": {
4514
  "version": "1.4.0",
4516
  "integrity": "sha1-B/myM3Vy/2J1x3Xh1IUT86RdemU=",
4517
  "dev": true
4518
  },
4519
+ "node-wp-i18n": {
4520
+ "version": "1.2.3",
4521
+ "resolved": "https://registry.npmjs.org/node-wp-i18n/-/node-wp-i18n-1.2.3.tgz",
4522
+ "integrity": "sha512-YMzMcsjXbGYDB9vHyb289CYXAGmXhcNLbeTlOnWgPNkZd9xrovcbRd7cQyKd9BQHOjS7Nw8WCbJ7nvtR7rc0rg==",
4523
+ "dev": true,
4524
+ "requires": {
4525
+ "bluebird": "3.5.4",
4526
+ "gettext-parser": "3.1.1",
4527
+ "glob": "7.0.6",
4528
+ "lodash": "4.17.11",
4529
+ "minimist": "1.2.0",
4530
+ "mkdirp": "0.5.1",
4531
+ "tmp": "0.0.33"
4532
+ }
4533
+ },
4534
  "noop-logger": {
4535
  "version": "0.1.1",
4536
  "resolved": "https://registry.npmjs.org/noop-logger/-/noop-logger-0.1.1.tgz",
4554
  "dev": true,
4555
  "requires": {
4556
  "hosted-git-info": "2.7.1",
4557
+ "resolve": "1.11.0",
4558
+ "semver": "5.7.0",
4559
  "validate-npm-package-license": "3.0.4"
4560
  }
4561
  },
4574
  "integrity": "sha1-LRDAa9/TEuqXd2laTShDlFa3WUI=",
4575
  "dev": true
4576
  },
4577
+ "normalize-url": {
4578
+ "version": "2.0.1",
4579
+ "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-2.0.1.tgz",
4580
+ "integrity": "sha512-D6MUW4K/VzoJ4rJ01JFKxDrtY1v9wrgzCX5f2qj/lzH1m/lW6MhUZFKerVsnyjOhOsYzI9Kqqak+10l4LvLpMw==",
4581
+ "dev": true,
4582
+ "optional": true,
4583
+ "requires": {
4584
+ "prepend-http": "2.0.0",
4585
+ "query-string": "5.1.1",
4586
+ "sort-keys": "2.0.0"
4587
+ },
4588
+ "dependencies": {
4589
+ "prepend-http": {
4590
+ "version": "2.0.0",
4591
+ "resolved": "https://registry.npmjs.org/prepend-http/-/prepend-http-2.0.0.tgz",
4592
+ "integrity": "sha1-6SQ0v6XqjBn0HN/UAddBo8gZ2Jc=",
4593
+ "dev": true,
4594
+ "optional": true
4595
+ },
4596
+ "sort-keys": {
4597
+ "version": "2.0.0",
4598
+ "resolved": "https://registry.npmjs.org/sort-keys/-/sort-keys-2.0.0.tgz",
4599
+ "integrity": "sha1-ZYU1WEhh7JfXMNbPQYIuH1ZoQSg=",
4600
+ "dev": true,
4601
+ "optional": true,
4602
+ "requires": {
4603
+ "is-plain-obj": "1.1.0"
4604
+ }
4605
+ }
4606
+ }
4607
+ },
4608
+ "npm-conf": {
4609
+ "version": "1.1.3",
4610
+ "resolved": "https://registry.npmjs.org/npm-conf/-/npm-conf-1.1.3.tgz",
4611
+ "integrity": "sha512-Yic4bZHJOt9RCFbRP3GgpqhScOY4HH3V2P8yBj6CeYq118Qr+BLXqT2JvpJ00mryLESpgOxf5XlFv4ZjXxLScw==",
4612
+ "dev": true,
4613
+ "requires": {
4614
+ "config-chain": "1.1.12",
4615
+ "pify": "3.0.0"
4616
+ },
4617
+ "dependencies": {
4618
+ "pify": {
4619
+ "version": "3.0.0",
4620
+ "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz",
4621
+ "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=",
4622
+ "dev": true
4623
+ }
4624
+ }
4625
+ },
4626
+ "npm-run-path": {
4627
+ "version": "2.0.2",
4628
+ "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-2.0.2.tgz",
4629
+ "integrity": "sha1-NakjLfo11wZ7TLLd8jV7GHFTbF8=",
4630
+ "dev": true,
4631
+ "requires": {
4632
+ "path-key": "2.0.1"
4633
+ }
4634
+ },
4635
  "npmlog": {
4636
  "version": "4.1.2",
4637
  "resolved": "https://registry.npmjs.org/npmlog/-/npmlog-4.1.2.tgz",
4644
  "set-blocking": "2.0.0"
4645
  }
4646
  },
4647
+ "nth-check": {
4648
+ "version": "1.0.2",
4649
+ "resolved": "https://registry.npmjs.org/nth-check/-/nth-check-1.0.2.tgz",
4650
+ "integrity": "sha512-WeBOdju8SnzPN5vTUJYxYUxLeXpCaVP5i5e0LF8fg7WORF2Wd7wFX/pk0tYZk7s8T+J7VLy0Da6J1+wCT0AtHg==",
4651
+ "dev": true,
4652
+ "optional": true,
4653
+ "requires": {
4654
+ "boolbase": "1.0.0"
4655
+ }
4656
+ },
4657
  "num2fraction": {
4658
  "version": "1.2.2",
4659
  "resolved": "https://registry.npmjs.org/num2fraction/-/num2fraction-1.2.2.tgz",
4678
  "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=",
4679
  "dev": true
4680
  },
4681
+ "object-copy": {
4682
+ "version": "0.1.0",
4683
+ "resolved": "https://registry.npmjs.org/object-copy/-/object-copy-0.1.0.tgz",
4684
+ "integrity": "sha1-fn2Fi3gb18mRpBupde04EnVOmYw=",
4685
+ "dev": true,
4686
+ "requires": {
4687
+ "copy-descriptor": "0.1.1",
4688
+ "define-property": "0.2.5",
4689
+ "kind-of": "3.2.2"
4690
+ },
4691
+ "dependencies": {
4692
+ "define-property": {
4693
+ "version": "0.2.5",
4694
+ "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz",
4695
+ "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=",
4696
+ "dev": true,
4697
+ "requires": {
4698
+ "is-descriptor": "0.1.6"
4699
+ }
4700
+ },
4701
+ "kind-of": {
4702
+ "version": "3.2.2",
4703
+ "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
4704
+ "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
4705
+ "dev": true,
4706
+ "requires": {
4707
+ "is-buffer": "1.1.6"
4708
+ }
4709
+ }
4710
+ }
4711
+ },
4712
+ "object-keys": {
4713
+ "version": "1.1.1",
4714
+ "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz",
4715
+ "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==",
4716
+ "dev": true
4717
+ },
4718
+ "object-visit": {
4719
+ "version": "1.0.1",
4720
+ "resolved": "https://registry.npmjs.org/object-visit/-/object-visit-1.0.1.tgz",
4721
+ "integrity": "sha1-95xEk68MU3e1n+OdOV5BBC3QRbs=",
4722
+ "dev": true,
4723
+ "requires": {
4724
+ "isobject": "3.0.1"
4725
+ }
4726
+ },
4727
+ "object.getownpropertydescriptors": {
4728
+ "version": "2.0.3",
4729
+ "resolved": "https://registry.npmjs.org/object.getownpropertydescriptors/-/object.getownpropertydescriptors-2.0.3.tgz",
4730
+ "integrity": "sha1-h1jIRvW0B62rDyNuCYbxSwUcqhY=",
4731
+ "dev": true,
4732
+ "optional": true,
4733
+ "requires": {
4734
+ "define-properties": "1.1.3",
4735
+ "es-abstract": "1.13.0"
4736
+ }
4737
+ },
4738
+ "object.pick": {
4739
+ "version": "1.3.0",
4740
+ "resolved": "https://registry.npmjs.org/object.pick/-/object.pick-1.3.0.tgz",
4741
+ "integrity": "sha1-h6EKxMFpS9Lhy/U1kaZhQftd10c=",
4742
  "dev": true,
4743
  "requires": {
4744
+ "isobject": "3.0.1"
4745
+ }
4746
+ },
4747
+ "object.values": {
4748
+ "version": "1.1.0",
4749
+ "resolved": "https://registry.npmjs.org/object.values/-/object.values-1.1.0.tgz",
4750
+ "integrity": "sha512-8mf0nKLAoFX6VlNVdhGj31SVYpaNFtUnuoOXWyFEstsWRgU837AK+JYM0iAxwkSzGRbwn8cbFmgbyxj1j4VbXg==",
4751
+ "dev": true,
4752
+ "optional": true,
4753
+ "requires": {
4754
+ "define-properties": "1.1.3",
4755
+ "es-abstract": "1.13.0",
4756
+ "function-bind": "1.1.1",
4757
+ "has": "1.0.3"
4758
  }
4759
  },
4760
  "once": {
4766
  "wrappy": "1.0.2"
4767
  }
4768
  },
 
 
 
 
 
 
 
 
 
 
 
 
4769
  "optipng-bin": {
4770
+ "version": "5.1.0",
4771
+ "resolved": "https://registry.npmjs.org/optipng-bin/-/optipng-bin-5.1.0.tgz",
4772
+ "integrity": "sha512-9baoqZTNNmXQjq/PQTWEXbVV3AMO2sI/GaaqZJZ8SExfAzjijeAP7FEeT+TtyumSw7gr0PZtSUYB/Ke7iHQVKA==",
4773
  "dev": true,
4774
  "optional": true,
4775
  "requires": {
4776
+ "bin-build": "3.0.0",
4777
+ "bin-wrapper": "4.1.0",
4778
  "logalot": "2.1.0"
4779
  }
4780
  },
4781
+ "os-filter-obj": {
4782
+ "version": "2.0.0",
4783
+ "resolved": "https://registry.npmjs.org/os-filter-obj/-/os-filter-obj-2.0.0.tgz",
4784
+ "integrity": "sha512-uksVLsqG3pVdzzPvmAHpBK0wKxYItuzZr7SziusRPoz67tGV8rL1szZ6IdeUrbqLjGDwApBtN29eEE3IqGHOjg==",
4785
  "dev": true,
4786
+ "optional": true,
4787
  "requires": {
4788
+ "arch": "2.1.1"
 
4789
  }
4790
  },
 
 
 
 
 
 
 
4791
  "os-homedir": {
4792
  "version": "1.0.2",
4793
  "resolved": "https://registry.npmjs.org/os-homedir/-/os-homedir-1.0.2.tgz",
4811
  "os-tmpdir": "1.0.2"
4812
  }
4813
  },
4814
+ "p-cancelable": {
4815
+ "version": "0.3.0",
4816
+ "resolved": "https://registry.npmjs.org/p-cancelable/-/p-cancelable-0.3.0.tgz",
4817
+ "integrity": "sha512-RVbZPLso8+jFeq1MfNvgXtCRED2raz/dKpacfTNxsx6pLEpEomM7gah6VeHSYV3+vo0OAi4MkArtQcWWXuQoyw==",
4818
+ "dev": true,
4819
+ "optional": true
4820
+ },
4821
+ "p-event": {
4822
+ "version": "1.3.0",
4823
+ "resolved": "https://registry.npmjs.org/p-event/-/p-event-1.3.0.tgz",
4824
+ "integrity": "sha1-jmtPT2XHK8W2/ii3XtqHT5akoIU=",
4825
  "dev": true,
4826
+ "optional": true,
4827
  "requires": {
4828
+ "p-timeout": "1.2.1"
4829
+ }
4830
+ },
4831
+ "p-finally": {
4832
+ "version": "1.0.0",
4833
+ "resolved": "https://registry.npmjs.org/p-finally/-/p-finally-1.0.0.tgz",
4834
+ "integrity": "sha1-P7z7FbiZpEEjs0ttzBi3JDNqLK4=",
4835
+ "dev": true
4836
+ },
4837
+ "p-is-promise": {
4838
+ "version": "1.1.0",
4839
+ "resolved": "https://registry.npmjs.org/p-is-promise/-/p-is-promise-1.1.0.tgz",
4840
+ "integrity": "sha1-nJRWmJ6fZYgBewQ01WCXZ1w9oF4=",
4841
+ "dev": true,
4842
+ "optional": true
4843
+ },
4844
+ "p-map": {
4845
+ "version": "1.2.0",
4846
+ "resolved": "https://registry.npmjs.org/p-map/-/p-map-1.2.0.tgz",
4847
+ "integrity": "sha512-r6zKACMNhjPJMTl8KcFH4li//gkrXWfbD6feV8l6doRHlzljFWGJ2AP6iKaCJXyZmAUMOPtvbW7EXkbWO/pLEA==",
4848
+ "dev": true
4849
+ },
4850
+ "p-map-series": {
4851
+ "version": "1.0.0",
4852
+ "resolved": "https://registry.npmjs.org/p-map-series/-/p-map-series-1.0.0.tgz",
4853
+ "integrity": "sha1-v5j+V1cFZYqeE1G++4WuTB8Hvco=",
4854
+ "dev": true,
4855
+ "optional": true,
4856
+ "requires": {
4857
+ "p-reduce": "1.0.0"
4858
+ }
4859
+ },
4860
+ "p-pipe": {
4861
+ "version": "1.2.0",
4862
+ "resolved": "https://registry.npmjs.org/p-pipe/-/p-pipe-1.2.0.tgz",
4863
+ "integrity": "sha1-SxoROZoRUgpneQ7loMHViB1r7+k=",
4864
+ "dev": true
4865
+ },
4866
+ "p-reduce": {
4867
+ "version": "1.0.0",
4868
+ "resolved": "https://registry.npmjs.org/p-reduce/-/p-reduce-1.0.0.tgz",
4869
+ "integrity": "sha1-GMKw3ZNqRpClKfgjH1ig/bakffo=",
4870
+ "dev": true,
4871
+ "optional": true
4872
+ },
4873
+ "p-timeout": {
4874
+ "version": "1.2.1",
4875
+ "resolved": "https://registry.npmjs.org/p-timeout/-/p-timeout-1.2.1.tgz",
4876
+ "integrity": "sha1-XrOzU7f86Z8QGhA4iAuwVOu+o4Y=",
4877
+ "dev": true,
4878
+ "requires": {
4879
+ "p-finally": "1.0.0"
4880
  }
4881
  },
4882
  "parse-json": {
4894
  "integrity": "sha1-VjRtR0nXjyNDDKDHE4UK75GqNh0=",
4895
  "dev": true
4896
  },
4897
+ "pascalcase": {
4898
+ "version": "0.1.1",
4899
+ "resolved": "https://registry.npmjs.org/pascalcase/-/pascalcase-0.1.1.tgz",
4900
+ "integrity": "sha1-s2PlXoAGym/iF4TS2yK9FdeRfxQ=",
4901
  "dev": true
4902
  },
4903
  "path-dirname": {
4921
  "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=",
4922
  "dev": true
4923
  },
4924
+ "path-key": {
4925
+ "version": "2.0.1",
4926
+ "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz",
4927
+ "integrity": "sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A=",
4928
+ "dev": true
4929
+ },
4930
  "path-parse": {
4931
  "version": "1.0.6",
4932
  "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.6.tgz",
4987
  }
4988
  },
4989
  "plur": {
4990
+ "version": "3.1.1",
4991
+ "resolved": "https://registry.npmjs.org/plur/-/plur-3.1.1.tgz",
4992
+ "integrity": "sha512-t1Ax8KUvV3FFII8ltczPn2tJdjqbd1sIzu6t4JL7nQ3EyeL/lTrj5PWKb06ic5/6XYDr65rQ4uzQEGN70/6X5w==",
4993
+ "dev": true,
4994
+ "requires": {
4995
+ "irregular-plurals": "2.0.0"
4996
+ }
4997
+ },
4998
+ "posix-character-classes": {
4999
+ "version": "0.1.1",
5000
+ "resolved": "https://registry.npmjs.org/posix-character-classes/-/posix-character-classes-0.1.1.tgz",
5001
+ "integrity": "sha1-AerA/jta9xoqbAL+q7jB/vfgDqs=",
5002
+ "dev": true
5003
+ },
5004
+ "postcss": {
5005
+ "version": "7.0.16",
5006
+ "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.16.tgz",
5007
+ "integrity": "sha512-MOo8zNSlIqh22Uaa3drkdIAgUGEL+AD1ESiSdmElLUmE2uVDo1QloiT/IfW9qRw8Gw+Y/w69UVMGwbufMSftxA==",
5008
+ "dev": true,
5009
+ "requires": {
5010
+ "chalk": "2.4.2",
5011
+ "source-map": "0.6.1",
5012
+ "supports-color": "6.1.0"
5013
+ },
5014
+ "dependencies": {
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
5015
  "supports-color": {
5016
+ "version": "6.1.0",
5017
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz",
5018
+ "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==",
5019
  "dev": true,
5020
  "requires": {
5021
+ "has-flag": "3.0.0"
5022
  }
5023
  }
5024
  }
5041
  "github-from-package": "0.0.0",
5042
  "minimist": "1.2.0",
5043
  "mkdirp": "0.5.1",
5044
+ "node-abi": "2.8.0",
5045
  "noop-logger": "0.1.1",
5046
  "npmlog": "4.1.2",
5047
  "os-homedir": "1.0.2",
5066
  "version": "1.0.4",
5067
  "resolved": "https://registry.npmjs.org/prepend-http/-/prepend-http-1.0.4.tgz",
5068
  "integrity": "sha1-1PRWKwzjaW5BrFLQ4ALlemNdxtw=",
5069
+ "dev": true,
5070
+ "optional": true
 
 
 
 
 
5071
  },
5072
  "pretty-bytes": {
5073
  "version": "4.0.2",
5084
  "is-finite": "1.0.2",
5085
  "parse-ms": "1.0.1",
5086
  "plur": "1.0.0"
5087
+ },
5088
+ "dependencies": {
5089
+ "plur": {
5090
+ "version": "1.0.0",
5091
+ "resolved": "https://registry.npmjs.org/plur/-/plur-1.0.0.tgz",
5092
+ "integrity": "sha1-24XGgU9eXlo7Se/CjWBP7GKXUVY=",
5093
+ "dev": true
5094
+ }
5095
  }
5096
  },
5097
  "process-nextick-args": {
5100
  "integrity": "sha512-MtEC1TqN0EU5nephaJ4rAtThHtC86dNN9qCuEhtshvpVBkAW5ZO7BASN9REnF9eoXGcRub+pFuKEpOHE+HbEMw==",
5101
  "dev": true
5102
  },
5103
+ "proto-list": {
5104
+ "version": "1.2.4",
5105
+ "resolved": "https://registry.npmjs.org/proto-list/-/proto-list-1.2.4.tgz",
5106
+ "integrity": "sha1-IS1b/hMYMGpCD2QCuOJv85ZHqEk=",
5107
+ "dev": true
5108
+ },
5109
+ "pseudomap": {
5110
+ "version": "1.0.2",
5111
+ "resolved": "https://registry.npmjs.org/pseudomap/-/pseudomap-1.0.2.tgz",
5112
+ "integrity": "sha1-8FKijacOYYkX7wqKw0wa5aaChrM=",
5113
  "dev": true
5114
  },
5115
  "psl": {
5148
  "integrity": "sha512-N5ZAX4/LxJmF+7wN74pUD6qAh9/wnvdQcjq9TZjevvXzSUo7bfmw91saqMjzGS2xq91/odN2dW/WOl7qQHNDGA==",
5149
  "dev": true
5150
  },
5151
+ "query-string": {
5152
+ "version": "5.1.1",
5153
+ "resolved": "https://registry.npmjs.org/query-string/-/query-string-5.1.1.tgz",
5154
+ "integrity": "sha512-gjWOsm2SoGlgLEdAGt7a6slVOk9mGiXmPFMqrEhLQ68rhQuBnpfs3+EmlvqKyxnCo9/PPlF+9MtY02S1aFg+Jw==",
5155
  "dev": true,
5156
+ "optional": true,
5157
  "requires": {
5158
+ "decode-uri-component": "0.2.0",
5159
+ "object-assign": "4.1.1",
5160
+ "strict-uri-encode": "1.1.0"
 
 
 
 
 
 
 
 
 
 
 
 
 
 
5161
  }
5162
  },
5163
  "raw-body": {
5183
  "resolved": "https://registry.npmjs.org/rc/-/rc-1.2.8.tgz",
5184
  "integrity": "sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==",
5185
  "dev": true,
5186
+ "optional": true,
5187
  "requires": {
5188
  "deep-extend": "0.6.0",
5189
  "ini": "1.3.5",
5191
  "strip-json-comments": "2.0.1"
5192
  }
5193
  },
 
 
 
 
 
 
 
 
 
 
5194
  "read-pkg": {
5195
  "version": "1.1.0",
5196
  "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-1.1.0.tgz",
5237
  "strip-indent": "1.0.1"
5238
  }
5239
  },
5240
+ "regex-not": {
5241
+ "version": "1.0.2",
5242
+ "resolved": "https://registry.npmjs.org/regex-not/-/regex-not-1.0.2.tgz",
5243
+ "integrity": "sha512-J6SDjUgDxQj5NusnOtdFxDwN/+HWykR8GELwctJ7mdqhcyy1xEc4SRFHUXvxTp661YaVKAjfRLZ9cCqS6tn32A==",
5244
  "dev": true,
5245
  "requires": {
5246
+ "extend-shallow": "3.0.2",
5247
+ "safe-regex": "1.1.0"
5248
  }
5249
  },
5250
  "remove-trailing-separator": {
5275
  }
5276
  },
5277
  "replace-ext": {
5278
+ "version": "1.0.0",
5279
+ "resolved": "https://registry.npmjs.org/replace-ext/-/replace-ext-1.0.0.tgz",
5280
+ "integrity": "sha1-3mMSg3P8v3w8z6TeWkgMRaZ5WOs=",
5281
  "dev": true
5282
  },
5283
  "request": {
5289
  "aws-sign2": "0.7.0",
5290
  "aws4": "1.8.0",
5291
  "caseless": "0.12.0",
5292
+ "combined-stream": "1.0.8",
5293
  "extend": "3.0.2",
5294
  "forever-agent": "0.6.1",
5295
  "form-data": "2.3.3",
5298
  "is-typedarray": "1.0.0",
5299
  "isstream": "0.1.2",
5300
  "json-stringify-safe": "5.0.1",
5301
+ "mime-types": "2.1.24",
5302
  "oauth-sign": "0.9.0",
5303
  "performance-now": "2.1.0",
5304
  "qs": "6.5.2",
5324
  "dev": true,
5325
  "requires": {
5326
  "errlop": "1.1.1",
5327
+ "semver": "5.7.0"
5328
  }
5329
  }
5330
  }
5331
  },
5332
  "resolve": {
5333
+ "version": "1.11.0",
5334
+ "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.11.0.tgz",
5335
+ "integrity": "sha512-WL2pBDjqT6pGUNSUzMw00o4T7If+z4H2x3Gz893WoUQ5KW8Vr9txp00ykiP16VBaZF5+j/OcXJHZ9+PCvdiDKw==",
5336
  "dev": true,
5337
  "requires": {
5338
  "path-parse": "1.0.6"
5339
  }
5340
  },
5341
+ "resolve-url": {
5342
+ "version": "0.2.1",
5343
+ "resolved": "https://registry.npmjs.org/resolve-url/-/resolve-url-0.2.1.tgz",
5344
+ "integrity": "sha1-LGN/53yJOv0qZj/iGqkIAGjiBSo=",
5345
+ "dev": true
5346
+ },
5347
+ "responselike": {
5348
+ "version": "1.0.2",
5349
+ "resolved": "https://registry.npmjs.org/responselike/-/responselike-1.0.2.tgz",
5350
+ "integrity": "sha1-kYcg7ztjHFZCvgaPFa3lpG9Loec=",
5351
+ "dev": true,
5352
+ "optional": true,
5353
+ "requires": {
5354
+ "lowercase-keys": "1.0.1"
5355
+ }
5356
+ },
5357
+ "ret": {
5358
+ "version": "0.1.15",
5359
+ "resolved": "https://registry.npmjs.org/ret/-/ret-0.1.15.tgz",
5360
+ "integrity": "sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg==",
5361
+ "dev": true
5362
+ },
5363
  "rimraf": {
5364
  "version": "2.6.3",
5365
  "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.3.tgz",
5366
  "integrity": "sha512-mwqeW5XsA2qAejG46gYdENaxXjx9onRNCfn7L0duuP4hCuTIi/QO7PDK07KJfp1d+izWPrzEJDcSqBa0OZQriA==",
5367
  "dev": true,
5368
  "requires": {
5369
+ "glob": "7.1.4"
5370
  },
5371
  "dependencies": {
5372
  "glob": {
5373
+ "version": "7.1.4",
5374
+ "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.4.tgz",
5375
+ "integrity": "sha512-hkLPepehmnKk41pUGm3sYxoFs/umurYfYJCerbXEyFIWcAzvpipAgVkBqqT9RBKMGjnq6kMuyYwha6csxbiM1A==",
5376
  "dev": true,
5377
  "requires": {
5378
  "fs.realpath": "1.0.0",
5386
  }
5387
  },
5388
  "rsyncwrapper": {
5389
+ "version": "3.0.1",
5390
+ "resolved": "https://registry.npmjs.org/rsyncwrapper/-/rsyncwrapper-3.0.1.tgz",
5391
+ "integrity": "sha512-fkGmeEJRbKveT/6bBqTVzzHS1wtbGQwL6qnwT/+1AtMAsEV5dX1fSAiOJVZrDOnVsOr2lFl8ga1MZLoHekV3yg==",
5392
+ "dev": true
 
 
 
 
 
 
 
 
 
 
 
5393
  },
5394
  "safe-buffer": {
5395
  "version": "5.1.2",
5403
  "integrity": "sha1-PnZyPjjf3aE8mx0poeB//uSzC1c=",
5404
  "dev": true
5405
  },
5406
+ "safe-regex": {
5407
+ "version": "1.1.0",
5408
+ "resolved": "https://registry.npmjs.org/safe-regex/-/safe-regex-1.1.0.tgz",
5409
+ "integrity": "sha1-QKNmnzsHfR6UPURinhV91IAjvy4=",
5410
+ "dev": true,
5411
+ "requires": {
5412
+ "ret": "0.1.15"
5413
+ }
5414
+ },
5415
  "safefs": {
5416
  "version": "4.1.0",
5417
  "resolved": "https://registry.npmjs.org/safefs/-/safefs-4.1.0.tgz",
5445
  }
5446
  },
5447
  "semver": {
5448
+ "version": "5.7.0",
5449
+ "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.0.tgz",
5450
+ "integrity": "sha512-Ya52jSX2u7QKghxeoFGpLwCtGlt7j0oY9DYb5apt9nPlJ42ID+ulTXESnt/qAQcoSERyZ5sl3LDIOw0nAn/5DA==",
5451
  "dev": true
5452
  },
5453
  "semver-regex": {
5454
+ "version": "2.0.0",
5455
+ "resolved": "https://registry.npmjs.org/semver-regex/-/semver-regex-2.0.0.tgz",
5456
+ "integrity": "sha512-mUdIBBvdn0PLOeP3TEkMH7HHeUP3GjsXCwKarjv/kGmUFOYg1VqEemKhoQpWMu6X2I8kHeuVdGibLGkVK+/5Qw==",
5457
  "dev": true,
5458
  "optional": true
5459
  },
5464
  "dev": true,
5465
  "optional": true,
5466
  "requires": {
5467
+ "semver": "5.7.0"
5468
  }
5469
  },
5470
  "set-blocking": {
5473
  "integrity": "sha1-BF+XgtARrppoA93TgrJDkrPYkPc=",
5474
  "dev": true
5475
  },
5476
+ "set-value": {
5477
+ "version": "2.0.0",
5478
+ "resolved": "https://registry.npmjs.org/set-value/-/set-value-2.0.0.tgz",
5479
+ "integrity": "sha512-hw0yxk9GT/Hr5yJEYnHNKYXkIA8mVJgd9ditYZCe16ZczcaELYYcfvaXesNACk2O8O0nTiPQcQhGUQj8JLzeeg==",
5480
+ "dev": true,
5481
+ "requires": {
5482
+ "extend-shallow": "2.0.1",
5483
+ "is-extendable": "0.1.1",
5484
+ "is-plain-object": "2.0.4",
5485
+ "split-string": "3.1.0"
5486
+ },
5487
+ "dependencies": {
5488
+ "extend-shallow": {
5489
+ "version": "2.0.1",
5490
+ "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
5491
+ "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
5492
+ "dev": true,
5493
+ "requires": {
5494
+ "is-extendable": "0.1.1"
5495
+ }
5496
+ }
5497
+ }
5498
+ },
5499
+ "shebang-command": {
5500
+ "version": "1.2.0",
5501
+ "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz",
5502
+ "integrity": "sha1-RKrGW2lbAzmJaMOfNj/uXer98eo=",
5503
+ "dev": true,
5504
+ "requires": {
5505
+ "shebang-regex": "1.0.0"
5506
+ }
5507
+ },
5508
+ "shebang-regex": {
5509
+ "version": "1.0.0",
5510
+ "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz",
5511
+ "integrity": "sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM=",
5512
  "dev": true
5513
  },
5514
  "shelljs": {
5548
  "simple-concat": "1.0.0"
5549
  }
5550
  },
5551
+ "slash": {
5552
+ "version": "1.0.0",
5553
+ "resolved": "https://registry.npmjs.org/slash/-/slash-1.0.0.tgz",
5554
+ "integrity": "sha1-xB8vbDn8FtHNF61LXYlhFK5HDVU=",
5555
  "dev": true
5556
  },
5557
+ "snapdragon": {
5558
+ "version": "0.8.2",
5559
+ "resolved": "https://registry.npmjs.org/snapdragon/-/snapdragon-0.8.2.tgz",
5560
+ "integrity": "sha512-FtyOnWN/wCHTVXOMwvSv26d+ko5vWlIDD6zoUJ7LW8vh+ZBC8QdljveRP+crNrtBwioEUWy/4dMtbBjA4ioNlg==",
5561
+ "dev": true,
5562
+ "requires": {
5563
+ "base": "0.11.2",
5564
+ "debug": "2.6.9",
5565
+ "define-property": "0.2.5",
5566
+ "extend-shallow": "2.0.1",
5567
+ "map-cache": "0.2.2",
5568
+ "source-map": "0.5.7",
5569
+ "source-map-resolve": "0.5.2",
5570
+ "use": "3.1.1"
5571
+ },
5572
+ "dependencies": {
5573
+ "define-property": {
5574
+ "version": "0.2.5",
5575
+ "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz",
5576
+ "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=",
5577
+ "dev": true,
5578
+ "requires": {
5579
+ "is-descriptor": "0.1.6"
5580
+ }
5581
+ },
5582
+ "extend-shallow": {
5583
+ "version": "2.0.1",
5584
+ "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
5585
+ "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
5586
+ "dev": true,
5587
+ "requires": {
5588
+ "is-extendable": "0.1.1"
5589
+ }
5590
+ },
5591
+ "source-map": {
5592
+ "version": "0.5.7",
5593
+ "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz",
5594
+ "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=",
5595
+ "dev": true
5596
+ }
5597
+ }
5598
+ },
5599
+ "snapdragon-node": {
5600
+ "version": "2.1.1",
5601
+ "resolved": "https://registry.npmjs.org/snapdragon-node/-/snapdragon-node-2.1.1.tgz",
5602
+ "integrity": "sha512-O27l4xaMYt/RSQ5TR3vpWCAB5Kb/czIcqUFOM/C4fYcLnbZUc1PkjTAMjof2pBWaSTwOUd6qUHcFGVGj7aIwnw==",
5603
+ "dev": true,
5604
+ "requires": {
5605
+ "define-property": "1.0.0",
5606
+ "isobject": "3.0.1",
5607
+ "snapdragon-util": "3.0.1"
5608
+ },
5609
+ "dependencies": {
5610
+ "define-property": {
5611
+ "version": "1.0.0",
5612
+ "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz",
5613
+ "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=",
5614
+ "dev": true,
5615
+ "requires": {
5616
+ "is-descriptor": "1.0.2"
5617
+ }
5618
+ },
5619
+ "is-accessor-descriptor": {
5620
+ "version": "1.0.0",
5621
+ "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz",
5622
+ "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==",
5623
+ "dev": true,
5624
+ "requires": {
5625
+ "kind-of": "6.0.2"
5626
+ }
5627
+ },
5628
+ "is-data-descriptor": {
5629
+ "version": "1.0.0",
5630
+ "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz",
5631
+ "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==",
5632
+ "dev": true,
5633
+ "requires": {
5634
+ "kind-of": "6.0.2"
5635
+ }
5636
+ },
5637
+ "is-descriptor": {
5638
+ "version": "1.0.2",
5639
+ "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz",
5640
+ "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==",
5641
+ "dev": true,
5642
+ "requires": {
5643
+ "is-accessor-descriptor": "1.0.0",
5644
+ "is-data-descriptor": "1.0.0",
5645
+ "kind-of": "6.0.2"
5646
+ }
5647
+ }
5648
+ }
5649
+ },
5650
+ "snapdragon-util": {
5651
+ "version": "3.0.1",
5652
+ "resolved": "https://registry.npmjs.org/snapdragon-util/-/snapdragon-util-3.0.1.tgz",
5653
+ "integrity": "sha512-mbKkMdQKsjX4BAL4bRYTj21edOf8cN7XHdYUJEe+Zn99hVEYcMvKPct1IqNe7+AZPirn8BCDOQBHQZknqmKlZQ==",
5654
+ "dev": true,
5655
+ "requires": {
5656
+ "kind-of": "3.2.2"
5657
+ },
5658
+ "dependencies": {
5659
+ "kind-of": {
5660
+ "version": "3.2.2",
5661
+ "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
5662
+ "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
5663
+ "dev": true,
5664
+ "requires": {
5665
+ "is-buffer": "1.1.6"
5666
+ }
5667
+ }
5668
+ }
5669
+ },
5670
+ "sort-keys": {
5671
+ "version": "1.1.2",
5672
+ "resolved": "https://registry.npmjs.org/sort-keys/-/sort-keys-1.1.2.tgz",
5673
+ "integrity": "sha1-RBttTTRnmPG05J6JIK37oOVD+a0=",
5674
+ "dev": true,
5675
+ "requires": {
5676
+ "is-plain-obj": "1.1.0"
5677
+ }
5678
+ },
5679
+ "sort-keys-length": {
5680
  "version": "1.0.1",
5681
+ "resolved": "https://registry.npmjs.org/sort-keys-length/-/sort-keys-length-1.0.1.tgz",
5682
+ "integrity": "sha1-nLb09OnkgVWmqgZx7dM2/xR5oYg=",
5683
+ "dev": true,
5684
+ "requires": {
5685
+ "sort-keys": "1.1.2"
5686
+ }
5687
+ },
5688
+ "source-map": {
5689
+ "version": "0.6.1",
5690
+ "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
5691
+ "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
5692
+ "dev": true
5693
+ },
5694
+ "source-map-resolve": {
5695
+ "version": "0.5.2",
5696
+ "resolved": "https://registry.npmjs.org/source-map-resolve/-/source-map-resolve-0.5.2.tgz",
5697
+ "integrity": "sha512-MjqsvNwyz1s0k81Goz/9vRBe9SZdB09Bdw+/zYyO+3CuPk6fouTaxscHkgtE8jKvf01kVfl8riHzERQ/kefaSA==",
5698
+ "dev": true,
5699
+ "requires": {
5700
+ "atob": "2.1.2",
5701
+ "decode-uri-component": "0.2.0",
5702
+ "resolve-url": "0.2.1",
5703
+ "source-map-url": "0.4.0",
5704
+ "urix": "0.1.0"
5705
+ }
5706
+ },
5707
+ "source-map-url": {
5708
+ "version": "0.4.0",
5709
+ "resolved": "https://registry.npmjs.org/source-map-url/-/source-map-url-0.4.0.tgz",
5710
+ "integrity": "sha1-PpNdfd1zYxuXZZlW1VEo6HtQhKM=",
5711
  "dev": true
5712
  },
5713
  "spdx-correct": {
5717
  "dev": true,
5718
  "requires": {
5719
  "spdx-expression-parse": "3.0.0",
5720
+ "spdx-license-ids": "3.0.4"
5721
  }
5722
  },
5723
  "spdx-exceptions": {
5733
  "dev": true,
5734
  "requires": {
5735
  "spdx-exceptions": "2.2.0",
5736
+ "spdx-license-ids": "3.0.4"
5737
  }
5738
  },
5739
  "spdx-license-ids": {
5740
+ "version": "3.0.4",
5741
+ "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.4.tgz",
5742
+ "integrity": "sha512-7j8LYJLeY/Yb6ACbQ7F76qy5jHkp0U6jgBfJsk97bwWlVUnUWsAgpyaCvo17h0/RQGnQ036tVDomiwoI4pDkQA==",
5743
  "dev": true
5744
  },
5745
+ "split-string": {
5746
+ "version": "3.1.0",
5747
+ "resolved": "https://registry.npmjs.org/split-string/-/split-string-3.1.0.tgz",
5748
+ "integrity": "sha512-NzNVhJDYpwceVVii8/Hu6DKfD2G+NrQHlS/V/qgv763EYudVwEcMQNxd2lh+0VrUByXN/oJkl5grOhYWvQUYiw==",
5749
+ "dev": true,
5750
+ "requires": {
5751
+ "extend-shallow": "3.0.2"
5752
+ }
5753
+ },
5754
  "sprintf-js": {
5755
  "version": "1.1.2",
5756
  "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.1.2.tgz",
5816
  "tweetnacl": "0.14.5"
5817
  }
5818
  },
5819
+ "stable": {
5820
+ "version": "0.1.8",
5821
+ "resolved": "https://registry.npmjs.org/stable/-/stable-0.1.8.tgz",
5822
+ "integrity": "sha512-ji9qxRnOVfcuLDySj9qzhGSEFVobyt1kIOSkj1qZzYLzq7Tos/oUUWvotUPQLlrsidqsK6tBH89Bc9kL5zHA6w==",
5823
+ "dev": true,
5824
+ "optional": true
5825
+ },
5826
+ "static-extend": {
5827
+ "version": "0.1.2",
5828
+ "resolved": "https://registry.npmjs.org/static-extend/-/static-extend-0.1.2.tgz",
5829
+ "integrity": "sha1-YICcOcv/VTNyJv1eC1IPNB8ftcY=",
5830
+ "dev": true,
5831
+ "requires": {
5832
+ "define-property": "0.2.5",
5833
+ "object-copy": "0.1.0"
5834
+ },
5835
+ "dependencies": {
5836
+ "define-property": {
5837
+ "version": "0.2.5",
5838
+ "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz",
5839
+ "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=",
5840
+ "dev": true,
5841
+ "requires": {
5842
+ "is-descriptor": "0.1.6"
5843
+ }
5844
+ }
5845
+ }
5846
  },
5847
  "stream-buffers": {
5848
  "version": "2.2.0",
5850
  "integrity": "sha1-kdX1Ew0c75bc+n9yaUUYh0HQnuQ=",
5851
  "dev": true
5852
  },
5853
+ "strict-uri-encode": {
5854
+ "version": "1.1.0",
5855
+ "resolved": "https://registry.npmjs.org/strict-uri-encode/-/strict-uri-encode-1.1.0.tgz",
5856
+ "integrity": "sha1-J5siXfHVgrH1TmWt3UNS4Y+qBxM=",
5857
  "dev": true,
5858
+ "optional": true
 
 
 
 
 
 
 
 
 
5859
  },
5860
  "string-template": {
5861
  "version": "0.2.1",
5894
  },
5895
  "strip-bom": {
5896
  "version": "2.0.0",
5897
+ "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-2.0.0.tgz",
5898
+ "integrity": "sha1-YhmoVhZSBJHzV4i9vxRHqZx+aw4=",
5899
+ "dev": true,
5900
+ "requires": {
5901
+ "is-utf8": "0.2.1"
5902
+ }
5903
+ },
5904
+ "strip-dirs": {
5905
+ "version": "2.1.0",
5906
+ "resolved": "https://registry.npmjs.org/strip-dirs/-/strip-dirs-2.1.0.tgz",
5907
+ "integrity": "sha512-JOCxOeKLm2CAS73y/U4ZeZPTkE+gNVCzKt7Eox84Iej1LT/2pTWYpZKJuxwQpvX1LiZb1xokNR7RLfuBAa7T3g==",
5908
+ "dev": true,
5909
+ "requires": {
5910
+ "is-natural-number": "4.0.1"
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
5911
  }
5912
  },
5913
+ "strip-eof": {
5914
+ "version": "1.0.0",
5915
+ "resolved": "https://registry.npmjs.org/strip-eof/-/strip-eof-1.0.0.tgz",
5916
+ "integrity": "sha1-u0P/VZim6wXYm1n80SnJgzE2Br8=",
5917
+ "dev": true
5918
+ },
5919
  "strip-indent": {
5920
  "version": "1.0.1",
5921
  "resolved": "https://registry.npmjs.org/strip-indent/-/strip-indent-1.0.1.tgz",
5929
  "version": "2.0.1",
5930
  "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz",
5931
  "integrity": "sha1-PFMZQukIwml8DsNEhYwobHygpgo=",
5932
+ "dev": true,
5933
+ "optional": true
5934
  },
5935
  "strip-outer": {
5936
  "version": "1.0.1",
5941
  "escape-string-regexp": "1.0.5"
5942
  }
5943
  },
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
5944
  "supports-color": {
5945
  "version": "5.5.0",
5946
  "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz",
5951
  }
5952
  },
5953
  "svgo": {
5954
+ "version": "1.2.2",
5955
+ "resolved": "https://registry.npmjs.org/svgo/-/svgo-1.2.2.tgz",
5956
+ "integrity": "sha512-rAfulcwp2D9jjdGu+0CuqlrAUin6bBWrpoqXWwKDZZZJfXcUXQSxLJOFJCQCSA0x0pP2U0TxSlJu2ROq5Bq6qA==",
5957
  "dev": true,
5958
  "optional": true,
5959
  "requires": {
5960
+ "chalk": "2.4.2",
5961
+ "coa": "2.0.2",
5962
+ "css-select": "2.0.2",
5963
+ "css-select-base-adapter": "0.1.1",
5964
+ "css-tree": "1.0.0-alpha.28",
5965
+ "css-url-regex": "1.1.0",
5966
+ "csso": "3.5.1",
5967
+ "js-yaml": "3.13.1",
5968
  "mkdirp": "0.5.1",
5969
+ "object.values": "1.1.0",
5970
  "sax": "1.2.4",
5971
+ "stable": "0.1.8",
5972
+ "unquote": "1.1.1",
5973
+ "util.promisify": "1.0.0"
 
 
 
 
 
 
 
 
 
 
 
5974
  }
5975
  },
5976
  "tar": {
5977
+ "version": "2.2.2",
5978
+ "resolved": "https://registry.npmjs.org/tar/-/tar-2.2.2.tgz",
5979
+ "integrity": "sha512-FCEhQ/4rE1zYv9rYXJw/msRqsnmlje5jHP6huWeBZ704jUTy02c5AZyWujpMR1ax6mVw9NyJMfuK2CMDWVIfgA==",
5980
  "dev": true,
5981
  "optional": true,
5982
  "requires": {
5983
  "block-stream": "0.0.9",
5984
+ "fstream": "1.0.12",
5985
  "inherits": "2.0.3"
5986
  }
5987
  },
6026
  "xtend": "4.0.1"
6027
  }
6028
  },
6029
+ "temp-dir": {
6030
+ "version": "1.0.0",
6031
+ "resolved": "https://registry.npmjs.org/temp-dir/-/temp-dir-1.0.0.tgz",
6032
+ "integrity": "sha1-CnwOom06Oa+n4OvqnB/AvE2qAR0=",
6033
+ "dev": true
6034
+ },
6035
  "tempfile": {
6036
+ "version": "2.0.0",
6037
+ "resolved": "https://registry.npmjs.org/tempfile/-/tempfile-2.0.0.tgz",
6038
+ "integrity": "sha1-awRGhWqbERTRhW/8vlCczLCXcmU=",
6039
  "dev": true,
6040
  "requires": {
6041
+ "temp-dir": "1.0.0",
6042
+ "uuid": "3.3.2"
 
 
 
 
 
 
 
 
6043
  }
6044
  },
6045
  "text-table": {
6048
  "integrity": "sha1-f17oI66AUgfACvLfSoTsP8+lcLQ=",
6049
  "dev": true
6050
  },
6051
+ "through": {
6052
+ "version": "2.3.8",
6053
+ "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz",
6054
+ "integrity": "sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU=",
6055
+ "dev": true
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
6056
  },
6057
  "time-grunt": {
6058
  "version": "1.4.0",
6096
  }
6097
  }
6098
  },
 
 
 
 
 
 
6099
  "time-zone": {
6100
  "version": "0.1.0",
6101
  "resolved": "https://registry.npmjs.org/time-zone/-/time-zone-0.1.0.tgz",
6103
  "dev": true
6104
  },
6105
  "timed-out": {
6106
+ "version": "4.0.1",
6107
+ "resolved": "https://registry.npmjs.org/timed-out/-/timed-out-4.0.1.tgz",
6108
+ "integrity": "sha1-8y6srFoXW+ol1/q1Zas+2HQe9W8=",
6109
  "dev": true
6110
  },
6111
  "tiny-lr": {
6120
  "livereload-js": "2.4.0",
6121
  "object-assign": "4.1.1",
6122
  "qs": "6.5.2"
6123
+ },
6124
+ "dependencies": {
6125
+ "debug": {
6126
+ "version": "3.2.6",
6127
+ "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.6.tgz",
6128
+ "integrity": "sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ==",
6129
+ "dev": true,
6130
+ "requires": {
6131
+ "ms": "2.1.1"
6132
+ }
6133
+ },
6134
+ "ms": {
6135
+ "version": "2.1.1",
6136
+ "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.1.tgz",
6137
+ "integrity": "sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg==",
6138
+ "dev": true
6139
+ }
6140
  }
6141
  },
6142
+ "tmp": {
6143
+ "version": "0.0.33",
6144
+ "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.0.33.tgz",
6145
+ "integrity": "sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==",
6146
  "dev": true,
6147
  "requires": {
6148
+ "os-tmpdir": "1.0.2"
6149
  }
6150
  },
6151
  "to-buffer": {
6154
  "integrity": "sha512-lx9B5iv7msuFYE3dytT+KE5tap+rNYw+K4jVkb9R/asAb+pbBSM17jtunHplhBe6RRJdZx3Pn2Jph24O32mOVg==",
6155
  "dev": true
6156
  },
6157
+ "to-object-path": {
6158
+ "version": "0.3.0",
6159
+ "resolved": "https://registry.npmjs.org/to-object-path/-/to-object-path-0.3.0.tgz",
6160
+ "integrity": "sha1-KXWIt7Dn4KwI4E5nL4XB9JmeF68=",
6161
+ "dev": true,
6162
+ "requires": {
6163
+ "kind-of": "3.2.2"
6164
+ },
6165
+ "dependencies": {
6166
+ "kind-of": {
6167
+ "version": "3.2.2",
6168
+ "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
6169
+ "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
6170
+ "dev": true,
6171
+ "requires": {
6172
+ "is-buffer": "1.1.6"
6173
+ }
6174
+ }
6175
+ }
6176
+ },
6177
+ "to-regex": {
6178
+ "version": "3.0.2",
6179
+ "resolved": "https://registry.npmjs.org/to-regex/-/to-regex-3.0.2.tgz",
6180
+ "integrity": "sha512-FWtleNAtZ/Ki2qtqej2CXTOayOH9bHDQF+Q48VpWyDXjbYxA4Yz8iDB31zXOBUlOHHKidDbqGVrTUvQMPmBGBw==",
6181
+ "dev": true,
6182
+ "requires": {
6183
+ "define-property": "2.0.2",
6184
+ "extend-shallow": "3.0.2",
6185
+ "regex-not": "1.0.2",
6186
+ "safe-regex": "1.1.0"
6187
+ }
6188
+ },
6189
+ "to-regex-range": {
6190
+ "version": "2.1.1",
6191
+ "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz",
6192
+ "integrity": "sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg=",
6193
+ "dev": true,
6194
+ "requires": {
6195
+ "is-number": "3.0.0",
6196
+ "repeat-string": "1.6.1"
6197
+ }
6198
+ },
6199
  "tough-cookie": {
6200
  "version": "2.4.3",
6201
  "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.4.3.tgz",
6260
  "dev": true,
6261
  "requires": {
6262
  "errlop": "1.1.1",
6263
+ "semver": "5.7.0"
6264
  }
6265
  }
6266
  }
6267
  },
6268
+ "unbzip2-stream": {
6269
+ "version": "1.3.3",
6270
+ "resolved": "https://registry.npmjs.org/unbzip2-stream/-/unbzip2-stream-1.3.3.tgz",
6271
+ "integrity": "sha512-fUlAF7U9Ah1Q6EieQ4x4zLNejrRvDWUYmxXUpN3uziFYCHapjWFaCAnreY9bGgxzaMCFAPPpYNng57CypwJVhg==",
6272
+ "dev": true,
6273
+ "requires": {
6274
+ "buffer": "5.2.1",
6275
+ "through": "2.3.8"
6276
+ }
6277
  },
6278
  "underscore": {
6279
  "version": "1.7.0",
6291
  "util-deprecate": "1.0.2"
6292
  }
6293
  },
6294
+ "union-value": {
6295
+ "version": "1.0.0",
6296
+ "resolved": "https://registry.npmjs.org/union-value/-/union-value-1.0.0.tgz",
6297
+ "integrity": "sha1-XHHDTLW61dzr4+oM0IIHulqhrqQ=",
6298
  "dev": true,
6299
  "requires": {
6300
+ "arr-union": "3.1.0",
6301
+ "get-value": "2.0.6",
6302
+ "is-extendable": "0.1.1",
6303
+ "set-value": "0.4.3"
6304
  },
6305
  "dependencies": {
6306
+ "extend-shallow": {
6307
+ "version": "2.0.1",
6308
+ "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
6309
+ "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
6310
  "dev": true,
6311
  "requires": {
6312
+ "is-extendable": "0.1.1"
 
6313
  }
6314
  },
6315
+ "set-value": {
6316
+ "version": "0.4.3",
6317
+ "resolved": "https://registry.npmjs.org/set-value/-/set-value-0.4.3.tgz",
6318
+ "integrity": "sha1-fbCPnT0i3H945Trzw79GZuzfzPE=",
6319
  "dev": true,
6320
  "requires": {
6321
+ "extend-shallow": "2.0.1",
6322
+ "is-extendable": "0.1.1",
6323
+ "is-plain-object": "2.0.4",
6324
+ "to-object-path": "0.3.0"
6325
  }
6326
  }
6327
  }
6328
  },
6329
+ "universalify": {
6330
+ "version": "0.1.2",
6331
+ "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz",
6332
+ "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==",
6333
  "dev": true
6334
  },
6335
+ "unquote": {
6336
+ "version": "1.1.1",
6337
+ "resolved": "https://registry.npmjs.org/unquote/-/unquote-1.1.1.tgz",
6338
+ "integrity": "sha1-j97XMk7G6IoP+LkF58CYzcCG1UQ=",
6339
+ "dev": true,
6340
+ "optional": true
6341
+ },
6342
+ "unset-value": {
6343
+ "version": "1.0.0",
6344
+ "resolved": "https://registry.npmjs.org/unset-value/-/unset-value-1.0.0.tgz",
6345
+ "integrity": "sha1-g3aHP30jNRef+x5vw6jtDfyKtVk=",
6346
+ "dev": true,
6347
+ "requires": {
6348
+ "has-value": "0.3.1",
6349
+ "isobject": "3.0.1"
6350
+ },
6351
+ "dependencies": {
6352
+ "has-value": {
6353
+ "version": "0.3.1",
6354
+ "resolved": "https://registry.npmjs.org/has-value/-/has-value-0.3.1.tgz",
6355
+ "integrity": "sha1-ex9YutpiyoJ+wKIHgCVlSEWZXh8=",
6356
+ "dev": true,
6357
+ "requires": {
6358
+ "get-value": "2.0.6",
6359
+ "has-values": "0.1.4",
6360
+ "isobject": "2.1.0"
6361
+ },
6362
+ "dependencies": {
6363
+ "isobject": {
6364
+ "version": "2.1.0",
6365
+ "resolved": "https://registry.npmjs.org/isobject/-/isobject-2.1.0.tgz",
6366
+ "integrity": "sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk=",
6367
+ "dev": true,
6368
+ "requires": {
6369
+ "isarray": "1.0.0"
6370
+ }
6371
+ }
6372
+ }
6373
+ },
6374
+ "has-values": {
6375
+ "version": "0.1.4",
6376
+ "resolved": "https://registry.npmjs.org/has-values/-/has-values-0.1.4.tgz",
6377
+ "integrity": "sha1-bWHeldkd/Km5oCCJrThL/49it3E=",
6378
+ "dev": true
6379
+ }
6380
+ }
6381
+ },
6382
  "uri-js": {
6383
  "version": "4.2.2",
6384
  "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.2.2.tgz",
6388
  "punycode": "2.1.1"
6389
  }
6390
  },
6391
+ "urix": {
6392
+ "version": "0.1.0",
6393
+ "resolved": "https://registry.npmjs.org/urix/-/urix-0.1.0.tgz",
6394
+ "integrity": "sha1-2pN/emLiH+wf0Y1Js1wpNQZ6bHI=",
6395
+ "dev": true
6396
+ },
6397
  "url-parse-lax": {
6398
  "version": "1.0.0",
6399
  "resolved": "https://registry.npmjs.org/url-parse-lax/-/url-parse-lax-1.0.0.tgz",
6400
  "integrity": "sha1-evjzA2Rem9eaJy56FKxovAYJ2nM=",
6401
  "dev": true,
6402
+ "optional": true,
6403
  "requires": {
6404
  "prepend-http": "1.0.4"
6405
  }
6406
  },
6407
+ "url-to-options": {
6408
+ "version": "1.0.1",
6409
+ "resolved": "https://registry.npmjs.org/url-to-options/-/url-to-options-1.0.1.tgz",
6410
+ "integrity": "sha1-FQWgOiiaSMvXpDTvuu7FBV9WM6k=",
6411
+ "dev": true
6412
+ },
6413
+ "use": {
6414
+ "version": "3.1.1",
6415
+ "resolved": "https://registry.npmjs.org/use/-/use-3.1.1.tgz",
6416
+ "integrity": "sha512-cwESVXlO3url9YWlFW/TA9cshCEhtu7IKJ/p5soJ/gGpj7vbvFrAY/eIioQ6Dw23KjZhYgiIo8HOs1nQ2vr/oQ==",
6417
+ "dev": true
6418
  },
6419
  "util-deprecate": {
6420
  "version": "1.0.2",
6422
  "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=",
6423
  "dev": true
6424
  },
6425
+ "util.promisify": {
6426
+ "version": "1.0.0",
6427
+ "resolved": "https://registry.npmjs.org/util.promisify/-/util.promisify-1.0.0.tgz",
6428
+ "integrity": "sha512-i+6qA2MPhvoKLuxnJNpXAGhg7HphQOSUq2LKMZD0m15EiskXUkMvKdF4Uui0WYeCUGea+o2cw/ZuwehtfsrNkA==",
6429
+ "dev": true,
6430
+ "optional": true,
6431
+ "requires": {
6432
+ "define-properties": "1.1.3",
6433
+ "object.getownpropertydescriptors": "2.0.3"
6434
+ }
6435
+ },
6436
  "uuid": {
6437
  "version": "3.3.2",
6438
  "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.3.2.tgz",
6439
  "integrity": "sha512-yXJmeNaw3DnnKAOKJE51sL/ZaYfWJRl1pK9dr19YFCu0ObS231AB1/LbqTKRAQ5kw8A90rA6fr4riOUpTZvQZA==",
6440
  "dev": true
6441
  },
 
 
 
 
 
 
6442
  "validate-npm-package-license": {
6443
  "version": "3.0.4",
6444
  "resolved": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz",
6460
  "extsprintf": "1.3.0"
6461
  }
6462
  },
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
6463
  "vow": {
6464
  "version": "0.4.4",
6465
  "resolved": "https://registry.npmjs.org/vow/-/vow-0.4.4.tgz",
6488
  "minimatch": "0.2.14"
6489
  }
6490
  },
6491
+ "lru-cache": {
6492
+ "version": "2.7.3",
6493
+ "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-2.7.3.tgz",
6494
+ "integrity": "sha1-bUUk6LlV+V1PW1iFHOId1y+06VI=",
6495
+ "dev": true
6496
+ },
6497
  "minimatch": {
6498
  "version": "0.2.14",
6499
  "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-0.2.14.tgz",
6521
  "integrity": "sha1-oW0CXrkxvQO1LzCMrtD0D86+lTI=",
6522
  "dev": true
6523
  },
 
 
 
 
 
 
 
 
 
6524
  "websocket-driver": {
6525
  "version": "0.7.0",
6526
  "resolved": "https://registry.npmjs.org/websocket-driver/-/websocket-driver-0.7.0.tgz",
6537
  "integrity": "sha512-nqHUnMXmBzT0w570r2JpJxfiSD1IzoI+HGVdd3aZ0yNi3ngvQ4jv1dtHt5VGxfI2yj5yqImPhOK4vmIh2xMbGg==",
6538
  "dev": true
6539
  },
 
 
 
 
 
 
 
6540
  "which": {
6541
  "version": "1.3.1",
6542
  "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz",
6562
  "string-width": "1.0.2"
6563
  }
6564
  },
 
 
 
 
 
 
 
 
 
6565
  "wrappy": {
6566
  "version": "1.0.2",
6567
  "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz",
6574
  "integrity": "sha1-pcbVMr5lbiPbgg77lDofBJmNY68=",
6575
  "dev": true
6576
  },
6577
+ "yallist": {
6578
+ "version": "2.1.2",
6579
+ "resolved": "https://registry.npmjs.org/yallist/-/yallist-2.1.2.tgz",
6580
+ "integrity": "sha1-HBH5IY8HYImkfdUS+TxmmaaoHVI=",
6581
+ "dev": true
6582
+ },
6583
  "yauzl": {
6584
  "version": "2.10.0",
6585
  "resolved": "https://registry.npmjs.org/yauzl/-/yauzl-2.10.0.tgz",
readme.md CHANGED
@@ -3,7 +3,7 @@
3
  **Tags:** review, rating, posts, widget, review blogger, review blogging, affiliate, product reviews,plugin, google rating, product review, rating, review, star rating, user rating, wp rating, wp review, google, hreview,rich snippets,seo,snippet
4
  **Author URI:** http://themeisle.com
5
  **Requires at least:** 3.5
6
- **Tested up to:** 5.1
7
  **Stable tag:** trunk
8
  **License:** GPLv2 or later
9
  **License URI:** http://www.gnu.org/licenses/gpl-2.0.html
@@ -67,6 +67,14 @@ If you wanna learn more about the <a href="http://www.codeinwp.com/blog/fastest-
67
  * fr_FR translation by Jacques Soule of http://wordpress-pour-vous.com/
68
 
69
  ## Changelog ##
 
 
 
 
 
 
 
 
70
  ### 3.5.2 - 2019-02-28 ###
71
 
72
  * Fix issues with Gutenberg
@@ -547,6 +555,7 @@ Alternatively you can also follow the following steps to install the WP Product
547
 
548
 
549
 
 
550
  ### How to activate user reviews ###
551
 
552
  By default user reviews are disabled since not all the themes are compatible with this option due to different designs for the comment box. You can easily activate them from General Settings
@@ -725,6 +734,21 @@ https://themeisle.com/contact
725
  = How to display product title and image both in review comparison table =
726
  [https://docs.themeisle.com/article/981-how-to-display-product-title-and-image-both-in-review-comparison-table](https://docs.themeisle.com/article/981-how-to-display-product-title-and-image-both-in-review-comparison-table)
727
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
728
  == Upgrade Notice ==
729
 
730
  ### 3.0 ###
3
  **Tags:** review, rating, posts, widget, review blogger, review blogging, affiliate, product reviews,plugin, google rating, product review, rating, review, star rating, user rating, wp rating, wp review, google, hreview,rich snippets,seo,snippet
4
  **Author URI:** http://themeisle.com
5
  **Requires at least:** 3.5
6
+ **Tested up to:** 5.2
7
  **Stable tag:** trunk
8
  **License:** GPLv2 or later
9
  **License URI:** http://www.gnu.org/licenses/gpl-2.0.html
67
  * fr_FR translation by Jacques Soule of http://wordpress-pour-vous.com/
68
 
69
  ## Changelog ##
70
+ ### 3.6.0 - 2019-05-14 ###
71
+
72
+ * Add support for more schema types
73
+ * Use Dashicons instead of FontAwesome
74
+ * Fix issue with buy button in listing table
75
+ * Tested up to WP 5.2
76
+
77
+
78
  ### 3.5.2 - 2019-02-28 ###
79
 
80
  * Fix issues with Gutenberg
555
 
556
 
557
 
558
+
559
  ### How to activate user reviews ###
560
 
561
  By default user reviews are disabled since not all the themes are compatible with this option due to different designs for the comment box. You can easily activate them from General Settings
734
  = How to display product title and image both in review comparison table =
735
  [https://docs.themeisle.com/article/981-how-to-display-product-title-and-image-both-in-review-comparison-table](https://docs.themeisle.com/article/981-how-to-display-product-title-and-image-both-in-review-comparison-table)
736
 
737
+ = How To Use WP Product Review Shortcodes =
738
+ [https://docs.themeisle.com/article/449-how-to-use-wp-product-review-shortcodes](https://docs.themeisle.com/article/449-how-to-use-wp-product-review-shortcodes)
739
+
740
+ = How to install the PRO version of WP Product Review =
741
+ [https://docs.themeisle.com/article/785-how-to-install-the-pro-version-of-wp-product-review](https://docs.themeisle.com/article/785-how-to-install-the-pro-version-of-wp-product-review)
742
+
743
+ = How the before/after/manual review box placement option works =
744
+ [https://docs.themeisle.com/article/865-how-the-beforeaftermanual-review-box-placement-option-works](https://docs.themeisle.com/article/865-how-the-beforeaftermanual-review-box-placement-option-works)
745
+
746
+ = How to display both the product title and image in the review comparison table =
747
+ [https://docs.themeisle.com/article/981-how-to-display-both-the-product-title-and-image-in-the-review-comparison-table](https://docs.themeisle.com/article/981-how-to-display-both-the-product-title-and-image-in-the-review-comparison-table)
748
+
749
+ = How to change the widget image size in WP Product Review =
750
+ [https://docs.themeisle.com/article/1056-how-to-change-the-widget-image-size-in-wp-product-review](https://docs.themeisle.com/article/1056-how-to-change-the-widget-image-size-in-wp-product-review)
751
+
752
  == Upgrade Notice ==
753
 
754
  ### 3.0 ###
readme.txt CHANGED
@@ -3,7 +3,7 @@ Contributors: codeinwp,marius2012,marius_codeinwp,hardeepasrani,themeisle,Madali
3
  Tags: review, rating, posts, widget, review blogger, review blogging, affiliate, product reviews,plugin, google rating, product review, rating, review, star rating, user rating, wp rating, wp review, google, hreview,rich snippets,seo,snippet
4
  Author URI: http://themeisle.com
5
  Requires at least: 3.5
6
- Tested up to: 5.1
7
  Stable tag: trunk
8
  License: GPLv2 or later
9
  License URI: http://www.gnu.org/licenses/gpl-2.0.html
@@ -67,6 +67,14 @@ If you wanna learn more about the <a href="http://www.codeinwp.com/blog/fastest-
67
  * fr_FR translation by Jacques Soule of http://wordpress-pour-vous.com/
68
 
69
  == Changelog ==
 
 
 
 
 
 
 
 
70
  = 3.5.2 - 2019-02-28 =
71
 
72
  * Fix issues with Gutenberg
@@ -547,6 +555,7 @@ Alternatively you can also follow the following steps to install the WP Product
547
 
548
 
549
 
 
550
  = How to activate user reviews =
551
 
552
  By default user reviews are disabled since not all the themes are compatible with this option due to different designs for the comment box. You can easily activate them from General Settings
@@ -725,6 +734,21 @@ https://themeisle.com/contact
725
  = How to display product title and image both in review comparison table =
726
  [https://docs.themeisle.com/article/981-how-to-display-product-title-and-image-both-in-review-comparison-table](https://docs.themeisle.com/article/981-how-to-display-product-title-and-image-both-in-review-comparison-table)
727
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
728
  == Upgrade Notice ==
729
 
730
  = 3.0 =
3
  Tags: review, rating, posts, widget, review blogger, review blogging, affiliate, product reviews,plugin, google rating, product review, rating, review, star rating, user rating, wp rating, wp review, google, hreview,rich snippets,seo,snippet
4
  Author URI: http://themeisle.com
5
  Requires at least: 3.5
6
+ Tested up to: 5.2
7
  Stable tag: trunk
8
  License: GPLv2 or later
9
  License URI: http://www.gnu.org/licenses/gpl-2.0.html
67
  * fr_FR translation by Jacques Soule of http://wordpress-pour-vous.com/
68
 
69
  == Changelog ==
70
+ = 3.6.0 - 2019-05-14 =
71
+
72
+ * Add support for more schema types
73
+ * Use Dashicons instead of FontAwesome
74
+ * Fix issue with buy button in listing table
75
+ * Tested up to WP 5.2
76
+
77
+
78
  = 3.5.2 - 2019-02-28 =
79
 
80
  * Fix issues with Gutenberg
555
 
556
 
557
 
558
+
559
  = How to activate user reviews =
560
 
561
  By default user reviews are disabled since not all the themes are compatible with this option due to different designs for the comment box. You can easily activate them from General Settings
734
  = How to display product title and image both in review comparison table =
735
  [https://docs.themeisle.com/article/981-how-to-display-product-title-and-image-both-in-review-comparison-table](https://docs.themeisle.com/article/981-how-to-display-product-title-and-image-both-in-review-comparison-table)
736
 
737
+ = How To Use WP Product Review Shortcodes =
738
+ [https://docs.themeisle.com/article/449-how-to-use-wp-product-review-shortcodes](https://docs.themeisle.com/article/449-how-to-use-wp-product-review-shortcodes)
739
+
740
+ = How to install the PRO version of WP Product Review =
741
+ [https://docs.themeisle.com/article/785-how-to-install-the-pro-version-of-wp-product-review](https://docs.themeisle.com/article/785-how-to-install-the-pro-version-of-wp-product-review)
742
+
743
+ = How the before/after/manual review box placement option works =
744
+ [https://docs.themeisle.com/article/865-how-the-beforeaftermanual-review-box-placement-option-works](https://docs.themeisle.com/article/865-how-the-beforeaftermanual-review-box-placement-option-works)
745
+
746
+ = How to display both the product title and image in the review comparison table =
747
+ [https://docs.themeisle.com/article/981-how-to-display-both-the-product-title-and-image-in-the-review-comparison-table](https://docs.themeisle.com/article/981-how-to-display-both-the-product-title-and-image-in-the-review-comparison-table)
748
+
749
+ = How to change the widget image size in WP Product Review =
750
+ [https://docs.themeisle.com/article/1056-how-to-change-the-widget-image-size-in-wp-product-review](https://docs.themeisle.com/article/1056-how-to-change-the-widget-image-size-in-wp-product-review)
751
+
752
  == Upgrade Notice ==
753
 
754
  = 3.0 =
themeisle-hash.json CHANGED
@@ -1 +1 @@
1
- {"class-wppr-autoloader.php":"87f19e0b5e3819c2edbd7e3e49b489f9","class-wppr-recursive-filter.php":"6c74b0e7c04529d797ae9689d9a44c8d","index.php":"c76772901fa1b2b14aa3ba32d7773c8a","uninstall.php":"7c6d36652e8dcf013f2c246f4a289acf","wp-product-review.php":"2dbdd04fa3987214a3cbe070c16cc94f"}
1
+ {"class-wppr-autoloader.php":"c7f7f3dd52445edb5f7367ba7b31281f","class-wppr-recursive-filter.php":"6c74b0e7c04529d797ae9689d9a44c8d","index.php":"c76772901fa1b2b14aa3ba32d7773c8a","uninstall.php":"7c6d36652e8dcf013f2c246f4a289acf","wp-product-review.php":"8f2009b313c0e6d35610d851fdf75323"}
vendor/autoload.php CHANGED
@@ -4,4 +4,4 @@
4
 
5
  require_once __DIR__ . '/composer' . '/autoload_real.php';
6
 
7
- return ComposerAutoloaderInit1636a62bf6c8ae4c0cd77a3ffb8fd21d::getLoader();
4
 
5
  require_once __DIR__ . '/composer' . '/autoload_real.php';
6
 
7
+ return ComposerAutoloaderInit7816229a7a9d945653db68b437449112::getLoader();
vendor/autoload_52.php CHANGED
@@ -4,4 +4,4 @@
4
 
5
  require_once dirname(__FILE__) . '/composer'.'/autoload_real_52.php';
6
 
7
- return ComposerAutoloaderInited9f2f96d4217a29e4e6d6c2ffb11c9a::getLoader();
4
 
5
  require_once dirname(__FILE__) . '/composer'.'/autoload_real_52.php';
6
 
7
+ return ComposerAutoloaderInit9680c817c9a67a4b84a0d502a1115095::getLoader();
vendor/codeinwp/themeisle-sdk/CHANGELOG.md CHANGED
@@ -1,3 +1,18 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
  ## [3.0.4](https://github.com/Codeinwp/themeisle-sdk/compare/v3.0.3...v3.0.4) (2019-01-28)
2
 
3
 
1
+ ## [3.0.6](https://github.com/Codeinwp/themeisle-sdk/compare/v3.0.5...v3.0.6) (2019-05-21)
2
+
3
+
4
+ ### Bug Fixes
5
+
6
+ * build php version for deployment stage ([a785699](https://github.com/Codeinwp/themeisle-sdk/commit/a785699))
7
+ * uninstall feedback should load only on the proper pages ([259e78f](https://github.com/Codeinwp/themeisle-sdk/commit/259e78f))
8
+
9
+ ## [3.0.5](https://github.com/Codeinwp/themeisle-sdk/compare/v3.0.4...v3.0.5) (2019-03-07)
10
+
11
+
12
+ ### Bug Fixes
13
+
14
+ * dashboard widget issues and recommended module inconsistency fix [#50](https://github.com/Codeinwp/themeisle-sdk/issues/50), [#49](https://github.com/Codeinwp/themeisle-sdk/issues/49), [#47](https://github.com/Codeinwp/themeisle-sdk/issues/47) ([757eb02](https://github.com/Codeinwp/themeisle-sdk/commit/757eb02))
15
+
16
  ## [3.0.4](https://github.com/Codeinwp/themeisle-sdk/compare/v3.0.3...v3.0.4) (2019-01-28)
17
 
18
 
vendor/codeinwp/themeisle-sdk/Gruntfile.js DELETED
@@ -1,27 +0,0 @@
1
- module.exports = function (grunt) {
2
- grunt.initConfig(
3
- {
4
- version: {
5
- project: {
6
- src: [
7
- 'package.json'
8
- ]
9
- },
10
- composer: {
11
- src: [
12
- 'composer.json'
13
- ]
14
- },
15
- load_php: {
16
- options: {
17
- prefix: '\\.*\\$themeisle_sdk_version\.*\\s=\.*\\s\''
18
- },
19
- src: [
20
- 'load.php'
21
- ]
22
- },
23
- },
24
- }
25
- );
26
- grunt.loadNpmTasks( 'grunt-version' );
27
- };
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
vendor/codeinwp/themeisle-sdk/README.md DELETED
@@ -1,32 +0,0 @@
1
- # Themeisle SDK
2
-
3
- ThemeIsle SDK used to register common features for products in the portfolio.
4
-
5
- Can be installed using composer:
6
- `composer require codeinwp/themeisle-sdk`
7
- and manually autoloading the load.php file in the composer.json file of your project:
8
-
9
- ```
10
-
11
- "autoload": {
12
- "files": [
13
- "vendor/codeinwp/themeisle-sdk/load.php"
14
- ]
15
- }
16
-
17
- ```
18
-
19
-
20
- ### Features
21
-
22
- * Loads the most recent version of the library across all the products on the same wordpress instance. For instance if there is a theme which bundles v2.0.0 of the SDK and one plugin which bundles the v1.9.1, it will load on the most recent one, v2.0.0 for both products.
23
- * If there are two products using the same version, it will load the first one that register the SDK, unless it's explicitly overwritten.
24
- * Each functionality is bundled into modules, which are loaded based on the product type. Free/Pro, is available on wordpress or not.
25
-
26
- ### How to register product
27
-
28
- * The library works out of the box by simply loading the autoloader into the plugin/theme files.
29
- * Some modules are loaded only if the product is not available on WordPress.org ( licenser/review ). You can define if the product is available on wordpress.org by adding this file header `WordPress Available: <yes|no>` where `<yes|no>` will be replaced with the proper status.
30
- * If the product requires is a premium one and requires a licesing mechanism, we can use `Requires License: <yes|no>` to specifically tell that the product requires license.
31
-
32
-
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
vendor/codeinwp/themeisle-sdk/bin/install-wp-tests.sh DELETED
@@ -1,130 +0,0 @@
1
- #!/usr/bin/env bash
2
-
3
- if [ $# -lt 3 ]; then
4
- echo "usage: $0 <db-name> <db-user> <db-pass> [db-host] [wp-version] [skip-database-creation]"
5
- exit 1
6
- fi
7
-
8
- DB_NAME=$1
9
- DB_USER=$2
10
- DB_PASS=$3
11
- DB_HOST=${4-localhost}
12
- WP_VERSION=${5-latest}
13
- SKIP_DB_CREATE=${6-false}
14
-
15
- WP_TESTS_DIR=${WP_TESTS_DIR-/tmp/wordpress-tests-lib}
16
- WP_CORE_DIR=${WP_CORE_DIR-/tmp/wordpress/}
17
-
18
- command_exists() {
19
- type -t "$1" >/dev/null 2>&1
20
- }
21
- download() {
22
- if command_exists "curl"; then
23
- curl -s -o "${2:--}" "$1"
24
- elif command_exists "wget"; then
25
- wget -nv -O "${2:--}" "$1"
26
- fi
27
- }
28
- if [[ $WP_VERSION =~ [0-9]+\.[0-9]+(\.[0-9]+)? ]]; then
29
- WP_TESTS_TAG="tags/$WP_VERSION"
30
- elif [[ $WP_VERSION == 'nightly' || $WP_VERSION == 'trunk' ]]; then
31
- WP_TESTS_TAG="trunk"
32
- else
33
- # http serves a single offer, whereas https serves multiple. we only want one
34
- download http://api.wordpress.org/core/version-check/1.7/ /tmp/wp-latest.json
35
- grep '[0-9]+\.[0-9]+(\.[0-9]+)?' /tmp/wp-latest.json
36
- LATEST_VERSION=$(grep -o '"version":"[^"]*' /tmp/wp-latest.json | sed 's/"version":"//')
37
- if [[ -z "$LATEST_VERSION" ]]; then
38
- echo "Latest WordPress version could not be found"
39
- exit 1
40
- fi
41
- WP_TESTS_TAG="tags/$LATEST_VERSION"
42
- fi
43
-
44
- set -ex
45
-
46
-
47
- install_wp() {
48
-
49
- if [ -d $WP_CORE_DIR ]; then
50
- return;
51
- fi
52
-
53
- mkdir -p $WP_CORE_DIR
54
-
55
- if [[ $WP_VERSION == 'nightly' || $WP_VERSION == 'trunk' ]]; then
56
- mkdir -p /tmp/wordpress-nightly
57
- download https://wordpress.org/nightly-builds/wordpress-latest.zip /tmp/wordpress-nightly/wordpress-nightly.zip
58
- unzip -q /tmp/wordpress-nightly/wordpress-nightly.zip -d /tmp/wordpress-nightly/
59
- mv /tmp/wordpress-nightly/wordpress/* $WP_CORE_DIR
60
- else
61
- if [ $WP_VERSION == 'latest' ]; then
62
- local ARCHIVE_NAME='latest'
63
- else
64
- local ARCHIVE_NAME="wordpress-$WP_VERSION"
65
- fi
66
- download https://wordpress.org/${ARCHIVE_NAME}.tar.gz /tmp/wordpress.tar.gz
67
- tar --strip-components=1 -zxmf /tmp/wordpress.tar.gz -C $WP_CORE_DIR
68
- fi
69
-
70
- download https://raw.github.com/markoheijnen/wp-mysqli/master/db.php $WP_CORE_DIR/wp-content/db.php
71
- }
72
-
73
- install_test_suite() {
74
- # portable in-place argument for both GNU sed and Mac OSX sed
75
- if [[ $(uname -s) == 'Darwin' ]]; then
76
- local ioption='-i .bak'
77
- else
78
- local ioption='-i'
79
- fi
80
-
81
- # set up testing suite if it doesn't yet exist
82
- if [ ! -d $WP_TESTS_DIR ]; then
83
- # set up testing suite
84
- mkdir -p $WP_TESTS_DIR
85
- svn co --quiet https://develop.svn.wordpress.org/${WP_TESTS_TAG}/tests/phpunit/includes/ $WP_TESTS_DIR/includes
86
- svn co --quiet https://develop.svn.wordpress.org/${WP_TESTS_TAG}/tests/phpunit/data/ $WP_TESTS_DIR/data
87
- fi
88
-
89
- if [ ! -f wp-tests-config.php ]; then
90
- download https://develop.svn.wordpress.org/${WP_TESTS_TAG}/wp-tests-config-sample.php "$WP_TESTS_DIR"/wp-tests-config.php
91
- # remove all forward slashes in the end
92
- WP_CORE_DIR=$(echo $WP_CORE_DIR | sed "s:/\+$::")
93
- sed $ioption "s:dirname( __FILE__ ) . '/src/':'$WP_CORE_DIR/':" "$WP_TESTS_DIR"/wp-tests-config.php
94
- sed $ioption "s/youremptytestdbnamehere/$DB_NAME/" "$WP_TESTS_DIR"/wp-tests-config.php
95
- sed $ioption "s/yourusernamehere/$DB_USER/" "$WP_TESTS_DIR"/wp-tests-config.php
96
- sed $ioption "s/yourpasswordhere/$DB_PASS/" "$WP_TESTS_DIR"/wp-tests-config.php
97
- sed $ioption "s|localhost|${DB_HOST}|" "$WP_TESTS_DIR"/wp-tests-config.php
98
- fi
99
-
100
- }
101
-
102
- install_db() {
103
-
104
- if [ ${SKIP_DB_CREATE} = "true" ]; then
105
- return 0
106
- fi
107
-
108
- # parse DB_HOST for port or socket references
109
- local PARTS=(${DB_HOST//\:/ })
110
- local DB_HOSTNAME=${PARTS[0]};
111
- local DB_SOCK_OR_PORT=${PARTS[1]};
112
- local EXTRA=""
113
-
114
- if ! [ -z $DB_HOSTNAME ] ; then
115
- if [ $(echo $DB_SOCK_OR_PORT | grep -e '^[0-9]\{1,\}$') ]; then
116
- EXTRA=" --host=$DB_HOSTNAME --port=$DB_SOCK_OR_PORT --protocol=tcp"
117
- elif ! [ -z $DB_SOCK_OR_PORT ] ; then
118
- EXTRA=" --socket=$DB_SOCK_OR_PORT"
119
- elif ! [ -z $DB_HOSTNAME ] ; then
120
- EXTRA=" --host=$DB_HOSTNAME --protocol=tcp"
121
- fi
122
- fi
123
-
124
- # create database
125
- mysql --user="$DB_USER" --password="$DB_PASS"$EXTRA --execute "CREATE DATABASE IF NOT EXISTS $DB_NAME;"
126
- }
127
-
128
- install_wp
129
- install_test_suite
130
- install_db
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
vendor/codeinwp/themeisle-sdk/bin/run-unit-tests.sh DELETED
@@ -1,7 +0,0 @@
1
- #!/usr/bin/env bash
2
- composer global require "phpunit/phpunit=4.8.*|5.7.*"
3
- bash bin/install-wp-tests.sh wordpress_test root '' localhost $WP_VERSION
4
- phpunit --version
5
- php -v
6
- phpunit || exit 1
7
- WP_MULTISITE=1 phpunit || exit 1
 
 
 
 
 
 
 
vendor/codeinwp/themeisle-sdk/composer.json DELETED
@@ -1,30 +0,0 @@
1
- {
2
- "name": "codeinwp/themeisle-sdk",
3
- "description": "ThemeIsle SDK.",
4
- "type": "library",
5
- "keywords": [
6
- "wordpress"
7
- ],
8
- "homepage": "https://github.com/Codeinwp/themeisle-sdk",
9
- "license": "GPL-2.0+",
10
- "authors": [
11
- {
12
- "name": "ThemeIsle team",
13
- "email": "friends@themeisle.com",
14
- "homepage": "https://themeisle.com"
15
- }
16
- ],
17
- "version": "3.0.4",
18
- "require-dev": {
19
- "dealerdirect/phpcodesniffer-composer-installer": "^0.4.4",
20
- "squizlabs/php_codesniffer": "^3.1",
21
- "wp-coding-standards/wpcs": "^1.0.0"
22
- },
23
- "scripts": {
24
- "format": "phpcbf --standard=phpcs.xml --report-summary --report-source",
25
- "lint": "phpcs --standard=phpcs.xml"
26
- },
27
- "support": {
28
- "issues": "https://github.com/Codeinwp/themeisle-sdk/issues"
29
- }
30
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
vendor/codeinwp/themeisle-sdk/composer.lock DELETED
@@ -1,180 +0,0 @@
1
- {
2
- "_readme": [
3
- "This file locks the dependencies of your project to a known state",
4
- "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies",
5
- "This file is @generated automatically"
6
- ],
7
- "content-hash": "836b37c9484505643ee34c575a736209",
8
- "packages": [],
9
- "packages-dev": [
10
- {
11
- "name": "dealerdirect/phpcodesniffer-composer-installer",
12
- "version": "v0.4.4",
13
- "source": {
14
- "type": "git",
15
- "url": "https://github.com/Dealerdirect/phpcodesniffer-composer-installer.git",
16
- "reference": "2e41850d5f7797cbb1af7b030d245b3b24e63a08"
17
- },
18
- "dist": {
19
- "type": "zip",
20
- "url": "https://api.github.com/repos/Dealerdirect/phpcodesniffer-composer-installer/zipball/2e41850d5f7797cbb1af7b030d245b3b24e63a08",
21
- "reference": "2e41850d5f7797cbb1af7b030d245b3b24e63a08",
22
- "shasum": ""
23
- },
24
- "require": {
25
- "composer-plugin-api": "^1.0",
26
- "php": "^5.3|^7",
27
- "squizlabs/php_codesniffer": "*"
28
- },
29
- "require-dev": {
30
- "composer/composer": "*",
31
- "wimg/php-compatibility": "^8.0"
32
- },
33
- "suggest": {
34
- "dealerdirect/qa-tools": "All the PHP QA tools you'll need"
35
- },
36
- "type": "composer-plugin",
37
- "extra": {
38
- "class": "Dealerdirect\\Composer\\Plugin\\Installers\\PHPCodeSniffer\\Plugin"
39
- },
40
- "autoload": {
41
- "psr-4": {
42
- "Dealerdirect\\Composer\\Plugin\\Installers\\PHPCodeSniffer\\": "src/"
43
- }
44
- },
45
- "notification-url": "https://packagist.org/downloads/",
46
- "license": [
47
- "MIT"
48
- ],
49
- "authors": [
50
- {
51
- "name": "Franck Nijhof",
52
- "email": "f.nijhof@dealerdirect.nl",
53
- "homepage": "http://workingatdealerdirect.eu",
54
- "role": "Developer"
55
- }
56
- ],
57
- "description": "PHP_CodeSniffer Standards Composer Installer Plugin",
58
- "homepage": "http://workingatdealerdirect.eu",
59
- "keywords": [
60
- "PHPCodeSniffer",
61
- "PHP_CodeSniffer",
62
- "code quality",
63
- "codesniffer",
64
- "composer",
65
- "installer",
66
- "phpcs",
67
- "plugin",
68
- "qa",
69
- "quality",
70
- "standard",
71
- "standards",
72
- "style guide",
73
- "stylecheck",
74
- "tests"
75
- ],
76
- "time": "2017-12-06T16:27:17+00:00"
77
- },
78
- {
79
- "name": "squizlabs/php_codesniffer",
80
- "version": "3.4.0",
81
- "source": {
82
- "type": "git",
83
- "url": "https://github.com/squizlabs/PHP_CodeSniffer.git",
84
- "reference": "379deb987e26c7cd103a7b387aea178baec96e48"
85
- },
86
- "dist": {
87
- "type": "zip",
88
- "url": "https://api.github.com/repos/squizlabs/PHP_CodeSniffer/zipball/379deb987e26c7cd103a7b387aea178baec96e48",
89
- "reference": "379deb987e26c7cd103a7b387aea178baec96e48",
90
- "shasum": ""
91
- },
92
- "require": {
93
- "ext-simplexml": "*",
94
- "ext-tokenizer": "*",
95
- "ext-xmlwriter": "*",
96
- "php": ">=5.4.0"
97
- },
98
- "require-dev": {
99
- "phpunit/phpunit": "^4.0 || ^5.0 || ^6.0 || ^7.0"
100
- },
101
- "bin": [
102
- "bin/phpcs",
103
- "bin/phpcbf"
104
- ],
105
- "type": "library",
106
- "extra": {
107
- "branch-alias": {
108
- "dev-master": "3.x-dev"
109
- }
110
- },
111
- "notification-url": "https://packagist.org/downloads/",
112
- "license": [
113
- "BSD-3-Clause"
114
- ],
115
- "authors": [
116
- {
117
- "name": "Greg Sherwood",
118
- "role": "lead"
119
- }
120
- ],
121
- "description": "PHP_CodeSniffer tokenizes PHP, JavaScript and CSS files and detects violations of a defined set of coding standards.",
122
- "homepage": "http://www.squizlabs.com/php-codesniffer",
123
- "keywords": [
124
- "phpcs",
125
- "standards"
126
- ],
127
- "time": "2018-12-19T23:57:18+00:00"
128
- },
129
- {
130
- "name": "wp-coding-standards/wpcs",
131
- "version": "1.2.1",
132
- "source": {
133
- "type": "git",
134
- "url": "https://github.com/WordPress-Coding-Standards/WordPress-Coding-Standards.git",
135
- "reference": "f328bcafd97377e8e5e5d7b244d5ddbf301a3a5c"
136
- },
137
- "dist": {
138
- "type": "zip",
139
- "url": "https://api.github.com/repos/WordPress-Coding-Standards/WordPress-Coding-Standards/zipball/f328bcafd97377e8e5e5d7b244d5ddbf301a3a5c",
140
- "reference": "f328bcafd97377e8e5e5d7b244d5ddbf301a3a5c",
141
- "shasum": ""
142
- },
143
- "require": {
144
- "php": ">=5.3",
145
- "squizlabs/php_codesniffer": "^2.9.0 || ^3.0.2"
146
- },
147
- "require-dev": {
148
- "phpcompatibility/php-compatibility": "^9.0"
149
- },
150
- "suggest": {
151
- "dealerdirect/phpcodesniffer-composer-installer": "^0.4.3 || This Composer plugin will sort out the PHPCS 'installed_paths' automatically."
152
- },
153
- "type": "phpcodesniffer-standard",
154
- "notification-url": "https://packagist.org/downloads/",
155
- "license": [
156
- "MIT"
157
- ],
158
- "authors": [
159
- {
160
- "name": "Contributors",
161
- "homepage": "https://github.com/WordPress-Coding-Standards/WordPress-Coding-Standards/graphs/contributors"
162
- }
163
- ],
164
- "description": "PHP_CodeSniffer rules (sniffs) to enforce WordPress coding conventions",
165
- "keywords": [
166
- "phpcs",
167
- "standards",
168
- "wordpress"
169
- ],
170
- "time": "2018-12-18T09:43:51+00:00"
171
- }
172
- ],
173
- "aliases": [],
174
- "minimum-stability": "stable",
175
- "stability-flags": [],
176
- "prefer-stable": false,
177
- "prefer-lowest": false,
178
- "platform": [],
179
- "platform-dev": []
180
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
vendor/codeinwp/themeisle-sdk/docker-compose.local.yml DELETED
@@ -1,27 +0,0 @@
1
- version: '3.1'
2
-
3
- services:
4
- wordpress:
5
- depends_on:
6
- - mysql
7
- image: hardeepasrani/pirate-brewery
8
- ports:
9
- - 999:80
10
- volumes:
11
- - ./:/var/www/html/wp-content/plugins/themeisle-sdk-sample
12
- restart: always
13
- environment:
14
- WORDPRESS_DB_NAME: wordpress
15
- WORDPRESS_DB_USER: wordpress
16
- WORDPRESS_DB_PASSWORD: wordpress
17
- WORDPRESS_DB_ROOT_PASSWORD: wordpress
18
- mysql:
19
- image: mysql:5.7
20
- volumes:
21
- - ~/db_data:/var/lib/mysql
22
- restart: always
23
- environment:
24
- MYSQL_ROOT_PASSWORD: wordpress
25
- MYSQL_DATABASE: wordpress
26
- MYSQL_USER: wordpress
27
- MYSQL_PASSWORD: wordpress
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
vendor/codeinwp/themeisle-sdk/load.php CHANGED
@@ -14,7 +14,7 @@ if ( ! defined( 'ABSPATH' ) ) {
14
  return;
15
  }
16
  // Current SDK version and path.
17
- $themeisle_sdk_version = '3.0.4';
18
  $themeisle_sdk_path = dirname( __FILE__ );
19
 
20
  global $themeisle_sdk_max_version;
14
  return;
15
  }
16
  // Current SDK version and path.
17
+ $themeisle_sdk_version = '3.0.6';
18
  $themeisle_sdk_path = dirname( __FILE__ );
19
 
20
  global $themeisle_sdk_max_version;
vendor/codeinwp/themeisle-sdk/package-lock.json DELETED
@@ -1,7312 +0,0 @@
1
- {
2
- "name": "themeisle-sdk",
3
- "version": "3.0.3",
4
- "lockfileVersion": 1,
5
- "requires": true,
6
- "dependencies": {
7
- "@mrmlnc/readdir-enhanced": {
8
- "version": "2.2.1",
9
- "resolved": "https://registry.npmjs.org/@mrmlnc/readdir-enhanced/-/readdir-enhanced-2.2.1.tgz",
10
- "integrity": "sha512-bPHp6Ji8b41szTOcaP63VlnbbO5Ny6dwAATtY6JTjh5N2OLrb5Qk/Th5cRkRQhkWCt+EJsYrNB0MiL+Gpn6e3g==",
11
- "dev": true,
12
- "requires": {
13
- "call-me-maybe": "^1.0.1",
14
- "glob-to-regexp": "^0.3.0"
15
- }
16
- },
17
- "@nodelib/fs.stat": {
18
- "version": "1.1.3",
19
- "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-1.1.3.tgz",
20
- "integrity": "sha512-shAmDyaQC4H92APFoIaVDHCx5bStIocgvbwQyxPRrbUY20V1EYTbSDchWbuwlMG3V17cprZhA6+78JfB+3DTPw==",
21
- "dev": true
22
- },
23
- "@octokit/endpoint": {
24
- "version": "3.1.1",
25
- "resolved": "https://registry.npmjs.org/@octokit/endpoint/-/endpoint-3.1.1.tgz",
26
- "integrity": "sha512-KPkoTvKwCTetu/UqonLs1pfwFO5HAqTv/Ksp9y4NAg//ZgUCpvJsT4Hrst85uEzJvkB8+LxKyR4Bfv2X8O4cmQ==",
27
- "dev": true,
28
- "requires": {
29
- "deepmerge": "3.0.0",
30
- "is-plain-object": "^2.0.4",
31
- "universal-user-agent": "^2.0.1",
32
- "url-template": "^2.0.8"
33
- }
34
- },
35
- "@octokit/request": {
36
- "version": "2.2.0",
37
- "resolved": "https://registry.npmjs.org/@octokit/request/-/request-2.2.0.tgz",
38
- "integrity": "sha512-4P9EbwKZ4xfyupVMb3KVuHmM+aO2fye3nufjGKz/qDssvdJj9Rlx44O0FdFvUp4kIzToy3AHLTOulEIDAL+dpg==",
39
- "dev": true,
40
- "requires": {
41
- "@octokit/endpoint": "^3.0.0",
42
- "is-plain-object": "^2.0.4",
43
- "node-fetch": "^2.3.0",
44
- "universal-user-agent": "^2.0.1"
45
- }
46
- },
47
- "@octokit/rest": {
48
- "version": "16.3.0",
49
- "resolved": "https://registry.npmjs.org/@octokit/rest/-/rest-16.3.0.tgz",
50
- "integrity": "sha512-u0HkROLB0nOSfJhkF5FKMg6I12m6cN5S3S73Lwtfgrs9u4LhgUCZN2hC2KDyIaT7nhvNe9Kx0PgxhhD6li6QsA==",
51
- "dev": true,
52
- "requires": {
53
- "@octokit/request": "2.2.0",
54
- "before-after-hook": "^1.2.0",
55
- "btoa-lite": "^1.0.0",
56
- "lodash.get": "^4.4.2",
57
- "lodash.pick": "^4.4.0",
58
- "lodash.set": "^4.3.2",
59
- "lodash.uniq": "^4.5.0",
60
- "octokit-pagination-methods": "^1.1.0",
61
- "universal-user-agent": "^2.0.0",
62
- "url-template": "^2.0.8"
63
- }
64
- },
65
- "@semantic-release/changelog": {
66
- "version": "3.0.1",
67
- "resolved": "https://registry.npmjs.org/@semantic-release/changelog/-/changelog-3.0.1.tgz",
68
- "integrity": "sha512-N3lWwS3SUQmjBI/IoxwfQwPHAeQgYkvM63nzBpYkp2DXQ9zdLs5ZYpD1oln//wWCKVSIY2tPDs7KD4LVVh6u5Q==",
69
- "dev": true,
70
- "requires": {
71
- "@semantic-release/error": "^2.1.0",
72
- "aggregate-error": "^1.0.0",
73
- "fs-extra": "^7.0.0",
74
- "lodash": "^4.17.4"
75
- }
76
- },
77
- "@semantic-release/commit-analyzer": {
78
- "version": "6.1.0",
79
- "resolved": "https://registry.npmjs.org/@semantic-release/commit-analyzer/-/commit-analyzer-6.1.0.tgz",
80
- "integrity": "sha512-2lb+t6muGenI86mYGpZYOgITx9L3oZYF697tJoqXeQEk0uw0fm+OkkOuDTBA3Oax9ftoNIrCKv9bwgYvxrbM6w==",
81
- "dev": true,
82
- "requires": {
83
- "conventional-changelog-angular": "^5.0.0",
84
- "conventional-commits-filter": "^2.0.0",
85
- "conventional-commits-parser": "^3.0.0",
86
- "debug": "^4.0.0",
87
- "import-from": "^2.1.0",
88
- "lodash": "^4.17.4"
89
- }
90
- },
91
- "@semantic-release/error": {
92
- "version": "2.2.0",
93
- "resolved": "https://registry.npmjs.org/@semantic-release/error/-/error-2.2.0.tgz",
94
- "integrity": "sha512-9Tj/qn+y2j+sjCI3Jd+qseGtHjOAeg7dU2/lVcqIQ9TV3QDaDXDYXcoOHU+7o2Hwh8L8ymL4gfuO7KxDs3q2zg==",
95
- "dev": true
96
- },
97
- "@semantic-release/exec": {
98
- "version": "3.3.1",
99
- "resolved": "https://registry.npmjs.org/@semantic-release/exec/-/exec-3.3.1.tgz",
100
- "integrity": "sha512-dyktNa5cpV9TqQjxBIfCJKpDlKyYJ5OzL/04uBr9qUDXcDgaczGip3M/In/Ff/KGZSzkvrx+m96LVpng9+g5Tw==",
101
- "dev": true,
102
- "requires": {
103
- "@semantic-release/error": "^2.1.0",
104
- "aggregate-error": "^1.0.0",
105
- "debug": "^4.0.0",
106
- "execa": "^1.0.0",
107
- "lodash": "^4.17.4",
108
- "parse-json": "^4.0.0"
109
- }
110
- },
111
- "@semantic-release/git": {
112
- "version": "7.0.6",
113
- "resolved": "https://registry.npmjs.org/@semantic-release/git/-/git-7.0.6.tgz",
114
- "integrity": "sha512-Uyi/RFBYv8jecMo7vJfjsr9rweJkOPuY6CJOITbOzhHmJjZssVOf7sS+zuqEQQsVzU+PPYIjx86HkIzbve/Evg==",
115
- "dev": true,
116
- "requires": {
117
- "@semantic-release/error": "^2.1.0",
118
- "aggregate-error": "^1.0.0",
119
- "debug": "^4.0.0",
120
- "dir-glob": "^2.0.0",
121
- "execa": "^1.0.0",
122
- "fs-extra": "^7.0.0",
123
- "globby": "^8.0.1",
124
- "lodash": "^4.17.4",
125
- "micromatch": "^3.1.4",
126
- "p-reduce": "^1.0.0"
127
- }
128
- },
129
- "@semantic-release/github": {
130
- "version": "5.2.7",
131
- "resolved": "https://registry.npmjs.org/@semantic-release/github/-/github-5.2.7.tgz",
132
- "integrity": "sha512-cWQhM9bdBv8KAwClmwM64Mo3vsOHVM2aJAGI6K3qbJfJ3GsLJLh1hTi+rMd5EkZ2DA8zUUHCiAJZ3ujMvUB0yg==",
133
- "dev": true,
134
- "requires": {
135
- "@octokit/rest": "^16.0.1",
136
- "@semantic-release/error": "^2.2.0",
137
- "aggregate-error": "^1.0.0",
138
- "bottleneck": "^2.0.1",
139
- "debug": "^4.0.0",
140
- "dir-glob": "^2.0.0",
141
- "fs-extra": "^7.0.0",
142
- "globby": "^8.0.0",
143
- "http-proxy-agent": "^2.1.0",
144
- "https-proxy-agent": "^2.2.1",
145
- "issue-parser": "^3.0.0",
146
- "lodash": "^4.17.4",
147
- "mime": "^2.0.3",
148
- "p-filter": "^1.0.0",
149
- "p-retry": "^3.0.0",
150
- "parse-github-url": "^1.0.1",
151
- "url-join": "^4.0.0"
152
- }
153
- },
154
- "@semantic-release/npm": {
155
- "version": "5.1.2",
156
- "resolved": "https://registry.npmjs.org/@semantic-release/npm/-/npm-5.1.2.tgz",
157
- "integrity": "sha512-hAt8Q86jjp0AiykihhZ7vuCFKYz0j8v3W6Jae8b+RCLi8IUofrPF1ZImx3oY0rRu8ZZSb4aU9uxtFmeOYZebjg==",
158
- "dev": true,
159
- "requires": {
160
- "@semantic-release/error": "^2.2.0",
161
- "aggregate-error": "^1.0.0",
162
- "execa": "^1.0.0",
163
- "fs-extra": "^7.0.0",
164
- "lodash": "^4.17.4",
165
- "nerf-dart": "^1.0.0",
166
- "normalize-url": "^4.0.0",
167
- "npm": "^6.3.0",
168
- "rc": "^1.2.8",
169
- "read-pkg": "^4.0.0",
170
- "registry-auth-token": "^3.3.1"
171
- },
172
- "dependencies": {
173
- "read-pkg": {
174
- "version": "4.0.1",
175
- "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-4.0.1.tgz",
176
- "integrity": "sha1-ljYlN48+HE1IyFhytabsfV0JMjc=",
177
- "dev": true,
178
- "requires": {
179
- "normalize-package-data": "^2.3.2",
180
- "parse-json": "^4.0.0",
181
- "pify": "^3.0.0"
182
- }
183
- }
184
- }
185
- },
186
- "@semantic-release/release-notes-generator": {
187
- "version": "7.1.4",
188
- "resolved": "https://registry.npmjs.org/@semantic-release/release-notes-generator/-/release-notes-generator-7.1.4.tgz",
189
- "integrity": "sha512-pWPouZujddgb6t61t9iA9G3yIfp3TeQ7bPbV1ixYSeP6L7gI1+Du82fY/OHfEwyifpymLUQW0XnIKgKct5IMMw==",
190
- "dev": true,
191
- "requires": {
192
- "conventional-changelog-angular": "^5.0.0",
193
- "conventional-changelog-writer": "^4.0.0",
194
- "conventional-commits-filter": "^2.0.0",
195
- "conventional-commits-parser": "^3.0.0",
196
- "debug": "^4.0.0",
197
- "get-stream": "^4.0.0",
198
- "import-from": "^2.1.0",
199
- "into-stream": "^4.0.0",
200
- "lodash": "^4.17.4"
201
- }
202
- },
203
- "JSONStream": {
204
- "version": "1.3.5",
205
- "resolved": "https://registry.npmjs.org/JSONStream/-/JSONStream-1.3.5.tgz",
206
- "integrity": "sha512-E+iruNOY8VV9s4JEbe1aNEm6MiszPRr/UfcHMz0TQh1BXSxHK+ASV1R6W4HpjBhSeS+54PIsAMCBmwD06LLsqQ==",
207
- "dev": true,
208
- "requires": {
209
- "jsonparse": "^1.2.0",
210
- "through": ">=2.2.7 <3"
211
- }
212
- },
213
- "abbrev": {
214
- "version": "1.1.1",
215
- "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.1.1.tgz",
216
- "integrity": "sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==",
217
- "dev": true
218
- },
219
- "agent-base": {
220
- "version": "4.2.1",
221
- "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-4.2.1.tgz",
222
- "integrity": "sha512-JVwXMr9nHYTUXsBFKUqhJwvlcYU/blreOEUkhNR2eXZIvwd+c+o5V4MgDPKWnMS/56awN3TRzIP+KoPn+roQtg==",
223
- "dev": true,
224
- "requires": {
225
- "es6-promisify": "^5.0.0"
226
- }
227
- },
228
- "aggregate-error": {
229
- "version": "1.0.0",
230
- "resolved": "https://registry.npmjs.org/aggregate-error/-/aggregate-error-1.0.0.tgz",
231
- "integrity": "sha1-iINE2tAiCnLjr1CQYRf0h3GSX6w=",
232
- "dev": true,
233
- "requires": {
234
- "clean-stack": "^1.0.0",
235
- "indent-string": "^3.0.0"
236
- }
237
- },
238
- "ansi-regex": {
239
- "version": "3.0.0",
240
- "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz",
241
- "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=",
242
- "dev": true
243
- },
244
- "ansi-styles": {
245
- "version": "3.2.1",
246
- "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz",
247
- "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==",
248
- "dev": true,
249
- "requires": {
250
- "color-convert": "^1.9.0"
251
- }
252
- },
253
- "ansicolors": {
254
- "version": "0.3.2",
255
- "resolved": "https://registry.npmjs.org/ansicolors/-/ansicolors-0.3.2.tgz",
256
- "integrity": "sha1-ZlWX3oap/+Oqm/vmyuXG6kJrSXk=",
257
- "dev": true
258
- },
259
- "argparse": {
260
- "version": "1.0.10",
261
- "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz",
262
- "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==",
263
- "dev": true,
264
- "requires": {
265
- "sprintf-js": "~1.0.2"
266
- },
267
- "dependencies": {
268
- "sprintf-js": {
269
- "version": "1.0.3",
270
- "resolved": "http://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz",
271
- "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=",
272
- "dev": true
273
- }
274
- }
275
- },
276
- "argv-formatter": {
277
- "version": "1.0.0",
278
- "resolved": "https://registry.npmjs.org/argv-formatter/-/argv-formatter-1.0.0.tgz",
279
- "integrity": "sha1-oMoMvCmltz6Dbuvhy/bF4OTrgvk=",
280
- "dev": true
281
- },
282
- "arr-diff": {
283
- "version": "4.0.0",
284
- "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-4.0.0.tgz",
285
- "integrity": "sha1-1kYQdP6/7HHn4VI1dhoyml3HxSA=",
286
- "dev": true
287
- },
288
- "arr-flatten": {
289
- "version": "1.1.0",
290
- "resolved": "https://registry.npmjs.org/arr-flatten/-/arr-flatten-1.1.0.tgz",
291
- "integrity": "sha512-L3hKV5R/p5o81R7O02IGnwpDmkp6E982XhtbuwSe3O4qOtMMMtodicASA1Cny2U+aCXcNpml+m4dPsvsJ3jatg==",
292
- "dev": true
293
- },
294
- "arr-union": {
295
- "version": "3.1.0",
296
- "resolved": "https://registry.npmjs.org/arr-union/-/arr-union-3.1.0.tgz",
297
- "integrity": "sha1-45sJrqne+Gao8gbiiK9jkZuuOcQ=",
298
- "dev": true
299
- },
300
- "array-find-index": {
301
- "version": "1.0.2",
302
- "resolved": "https://registry.npmjs.org/array-find-index/-/array-find-index-1.0.2.tgz",
303
- "integrity": "sha1-3wEKoSh+Fku9pvlyOwqWoexBh6E=",
304
- "dev": true
305
- },
306
- "array-ify": {
307
- "version": "1.0.0",
308
- "resolved": "https://registry.npmjs.org/array-ify/-/array-ify-1.0.0.tgz",
309
- "integrity": "sha1-nlKHYrSpBmrRY6aWKjZEGOlibs4=",
310
- "dev": true
311
- },
312
- "array-union": {
313
- "version": "1.0.2",
314
- "resolved": "https://registry.npmjs.org/array-union/-/array-union-1.0.2.tgz",
315
- "integrity": "sha1-mjRBDk9OPaI96jdb5b5w8kd47Dk=",
316
- "dev": true,
317
- "requires": {
318
- "array-uniq": "^1.0.1"
319
- }
320
- },
321
- "array-uniq": {
322
- "version": "1.0.3",
323
- "resolved": "https://registry.npmjs.org/array-uniq/-/array-uniq-1.0.3.tgz",
324
- "integrity": "sha1-r2rId6Jcx/dOBYiUdThY39sk/bY=",
325
- "dev": true
326
- },
327
- "array-unique": {
328
- "version": "0.3.2",
329
- "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.3.2.tgz",
330
- "integrity": "sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg=",
331
- "dev": true
332
- },
333
- "arrify": {
334
- "version": "1.0.1",
335
- "resolved": "https://registry.npmjs.org/arrify/-/arrify-1.0.1.tgz",
336
- "integrity": "sha1-iYUI2iIm84DfkEcoRWhJwVAaSw0=",
337
- "dev": true
338
- },
339
- "assign-symbols": {
340
- "version": "1.0.0",
341
- "resolved": "https://registry.npmjs.org/assign-symbols/-/assign-symbols-1.0.0.tgz",
342
- "integrity": "sha1-WWZ/QfrdTyDMvCu5a41Pf3jsA2c=",
343
- "dev": true
344
- },
345
- "async": {
346
- "version": "1.5.2",
347
- "resolved": "http://registry.npmjs.org/async/-/async-1.5.2.tgz",
348
- "integrity": "sha1-7GphrlZIDAw8skHJVhjiCJL5Zyo=",
349
- "dev": true
350
- },
351
- "atob": {
352
- "version": "2.1.2",
353
- "resolved": "https://registry.npmjs.org/atob/-/atob-2.1.2.tgz",
354
- "integrity": "sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg==",
355
- "dev": true
356
- },
357
- "balanced-match": {
358
- "version": "1.0.0",
359
- "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz",
360
- "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=",
361
- "dev": true
362
- },
363
- "base": {
364
- "version": "0.11.2",
365
- "resolved": "https://registry.npmjs.org/base/-/base-0.11.2.tgz",
366
- "integrity": "sha512-5T6P4xPgpp0YDFvSWwEZ4NoE3aM4QBQXDzmVbraCkFj8zHM+mba8SyqB5DbZWyR7mYHo6Y7BdQo3MoA4m0TeQg==",
367
- "dev": true,
368
- "requires": {
369
- "cache-base": "^1.0.1",
370
- "class-utils": "^0.3.5",
371
- "component-emitter": "^1.2.1",
372
- "define-property": "^1.0.0",
373
- "isobject": "^3.0.1",
374
- "mixin-deep": "^1.2.0",
375
- "pascalcase": "^0.1.1"
376
- },
377
- "dependencies": {
378
- "define-property": {
379
- "version": "1.0.0",
380
- "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz",
381
- "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=",
382
- "dev": true,
383
- "requires": {
384
- "is-descriptor": "^1.0.0"
385
- }
386
- },
387
- "is-accessor-descriptor": {
388
- "version": "1.0.0",
389
- "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz",
390
- "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==",
391
- "dev": true,
392
- "requires": {
393
- "kind-of": "^6.0.0"
394
- }
395
- },
396
- "is-data-descriptor": {
397
- "version": "1.0.0",
398
- "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz",
399
- "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==",
400
- "dev": true,
401
- "requires": {
402
- "kind-of": "^6.0.0"
403
- }
404
- },
405
- "is-descriptor": {
406
- "version": "1.0.2",
407
- "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz",
408
- "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==",
409
- "dev": true,
410
- "requires": {
411
- "is-accessor-descriptor": "^1.0.0",
412
- "is-data-descriptor": "^1.0.0",
413
- "kind-of": "^6.0.2"
414
- }
415
- }
416
- }
417
- },
418
- "before-after-hook": {
419
- "version": "1.2.0",
420
- "resolved": "https://registry.npmjs.org/before-after-hook/-/before-after-hook-1.2.0.tgz",
421
- "integrity": "sha512-wI3QtdLppHNkmM1VgRVLCrlWCKk/YexlPicYbXPs4eYdd1InrUCTFsx5bX1iUQzzMsoRXXPpM1r+p7JEJJydag==",
422
- "dev": true
423
- },
424
- "bottleneck": {
425
- "version": "2.14.0",
426
- "resolved": "https://registry.npmjs.org/bottleneck/-/bottleneck-2.14.0.tgz",
427
- "integrity": "sha512-hM5zQPPpIe2/pn8rornETr2x7/HOBGJ5u1RW1js6zvE5453bRMMbtbZl0ojB8yNj7w2xNWddpNukrhOikHb7BQ==",
428
- "dev": true
429
- },
430
- "brace-expansion": {
431
- "version": "1.1.11",
432
- "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz",
433
- "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==",
434
- "dev": true,
435
- "requires": {
436
- "balanced-match": "^1.0.0",
437
- "concat-map": "0.0.1"
438
- }
439
- },
440
- "braces": {
441
- "version": "2.3.2",
442
- "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz",
443
- "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==",
444
- "dev": true,
445
- "requires": {
446
- "arr-flatten": "^1.1.0",
447
- "array-unique": "^0.3.2",
448
- "extend-shallow": "^2.0.1",
449
- "fill-range": "^4.0.0",
450
- "isobject": "^3.0.1",
451
- "repeat-element": "^1.1.2",
452
- "snapdragon": "^0.8.1",
453
- "snapdragon-node": "^2.0.1",
454
- "split-string": "^3.0.2",
455
- "to-regex": "^3.0.1"
456
- },
457
- "dependencies": {
458
- "extend-shallow": {
459
- "version": "2.0.1",
460
- "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
461
- "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
462
- "dev": true,
463
- "requires": {
464
- "is-extendable": "^0.1.0"
465
- }
466
- }
467
- }
468
- },
469
- "btoa-lite": {
470
- "version": "1.0.0",
471
- "resolved": "https://registry.npmjs.org/btoa-lite/-/btoa-lite-1.0.0.tgz",
472
- "integrity": "sha1-M3dm2hWAEhD92VbCLpxokaudAzc=",
473
- "dev": true
474
- },
475
- "builtin-modules": {
476
- "version": "1.1.1",
477
- "resolved": "https://registry.npmjs.org/builtin-modules/-/builtin-modules-1.1.1.tgz",
478
- "integrity": "sha1-Jw8HbFpywC9bZaR9+Uxf46J4iS8=",
479
- "dev": true
480
- },
481
- "cache-base": {
482
- "version": "1.0.1",
483
- "resolved": "https://registry.npmjs.org/cache-base/-/cache-base-1.0.1.tgz",
484
- "integrity": "sha512-AKcdTnFSWATd5/GCPRxr2ChwIJ85CeyrEyjRHlKxQ56d4XJMGym0uAiKn0xbLOGOl3+yRpOTi484dVCEc5AUzQ==",
485
- "dev": true,
486
- "requires": {
487
- "collection-visit": "^1.0.0",
488
- "component-emitter": "^1.2.1",
489
- "get-value": "^2.0.6",
490
- "has-value": "^1.0.0",
491
- "isobject": "^3.0.1",
492
- "set-value": "^2.0.0",
493
- "to-object-path": "^0.3.0",
494
- "union-value": "^1.0.0",
495
- "unset-value": "^1.0.0"
496
- }
497
- },
498
- "call-me-maybe": {
499
- "version": "1.0.1",
500
- "resolved": "https://registry.npmjs.org/call-me-maybe/-/call-me-maybe-1.0.1.tgz",
501
- "integrity": "sha1-JtII6onje1y95gJQoV8DHBak1ms=",
502
- "dev": true
503
- },
504
- "caller-callsite": {
505
- "version": "2.0.0",
506
- "resolved": "https://registry.npmjs.org/caller-callsite/-/caller-callsite-2.0.0.tgz",
507
- "integrity": "sha1-hH4PzgoiN1CpoCfFSzNzGtMVQTQ=",
508
- "dev": true,
509
- "requires": {
510
- "callsites": "^2.0.0"
511
- }
512
- },
513
- "caller-path": {
514
- "version": "2.0.0",
515
- "resolved": "https://registry.npmjs.org/caller-path/-/caller-path-2.0.0.tgz",
516
- "integrity": "sha1-Ro+DBE42mrIBD6xfBs7uFbsssfQ=",
517
- "dev": true,
518
- "requires": {
519
- "caller-callsite": "^2.0.0"
520
- }
521
- },
522
- "callsites": {
523
- "version": "2.0.0",
524
- "resolved": "http://registry.npmjs.org/callsites/-/callsites-2.0.0.tgz",
525
- "integrity": "sha1-BuuE8A7qQT2oav/vrL/7Ngk7PFA=",
526
- "dev": true
527
- },
528
- "camelcase": {
529
- "version": "2.1.1",
530
- "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-2.1.1.tgz",
531
- "integrity": "sha1-fB0W1nmhu+WcoCys7PsBHiAfWh8=",
532
- "dev": true
533
- },
534
- "camelcase-keys": {
535
- "version": "2.1.0",
536
- "resolved": "http://registry.npmjs.org/camelcase-keys/-/camelcase-keys-2.1.0.tgz",
537
- "integrity": "sha1-MIvur/3ygRkFHvodkyITyRuPkuc=",
538
- "dev": true,
539
- "requires": {
540
- "camelcase": "^2.0.0",
541
- "map-obj": "^1.0.0"
542
- }
543
- },
544
- "cardinal": {
545
- "version": "2.1.1",
546
- "resolved": "https://registry.npmjs.org/cardinal/-/cardinal-2.1.1.tgz",
547
- "integrity": "sha1-fMEFXYItISlU0HsIXeolHMe8VQU=",
548
- "dev": true,
549
- "requires": {
550
- "ansicolors": "~0.3.2",
551
- "redeyed": "~2.1.0"
552
- }
553
- },
554
- "chalk": {
555
- "version": "2.4.1",
556
- "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.1.tgz",
557
- "integrity": "sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ==",
558
- "dev": true,
559
- "requires": {
560
- "ansi-styles": "^3.2.1",
561
- "escape-string-regexp": "^1.0.5",
562
- "supports-color": "^5.3.0"
563
- }
564
- },
565
- "class-utils": {
566
- "version": "0.3.6",
567
- "resolved": "https://registry.npmjs.org/class-utils/-/class-utils-0.3.6.tgz",
568
- "integrity": "sha512-qOhPa/Fj7s6TY8H8esGu5QNpMMQxz79h+urzrNYN6mn+9BnxlDGf5QZ+XeCDsxSjPqsSR56XOZOJmpeurnLMeg==",
569
- "dev": true,
570
- "requires": {
571
- "arr-union": "^3.1.0",
572
- "define-property": "^0.2.5",
573
- "isobject": "^3.0.0",
574
- "static-extend": "^0.1.1"
575
- },
576
- "dependencies": {
577
- "define-property": {
578
- "version": "0.2.5",
579
- "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz",
580
- "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=",
581
- "dev": true,
582
- "requires": {
583
- "is-descriptor": "^0.1.0"
584
- }
585
- }
586
- }
587
- },
588
- "clean-stack": {
589
- "version": "1.3.0",
590
- "resolved": "https://registry.npmjs.org/clean-stack/-/clean-stack-1.3.0.tgz",
591
- "integrity": "sha1-noIVAa6XmYbEax1m0tQy2y/UrjE=",
592
- "dev": true
593
- },
594
- "cli-table": {
595
- "version": "0.3.1",
596
- "resolved": "https://registry.npmjs.org/cli-table/-/cli-table-0.3.1.tgz",
597
- "integrity": "sha1-9TsFJmqLGguTSz0IIebi3FkUriM=",
598
- "dev": true,
599
- "requires": {
600
- "colors": "1.0.3"
601
- },
602
- "dependencies": {
603
- "colors": {
604
- "version": "1.0.3",
605
- "resolved": "http://registry.npmjs.org/colors/-/colors-1.0.3.tgz",
606
- "integrity": "sha1-BDP0TYCWgP3rYO0mDxsMJi6CpAs=",
607
- "dev": true
608
- }
609
- }
610
- },
611
- "cliui": {
612
- "version": "4.1.0",
613
- "resolved": "https://registry.npmjs.org/cliui/-/cliui-4.1.0.tgz",
614
- "integrity": "sha512-4FG+RSG9DL7uEwRUZXZn3SS34DiDPfzP0VOiEwtUWlE+AR2EIg+hSyvrIgUUfhdgR/UkAeW2QHgeP+hWrXs7jQ==",
615
- "dev": true,
616
- "requires": {
617
- "string-width": "^2.1.1",
618
- "strip-ansi": "^4.0.0",
619
- "wrap-ansi": "^2.0.0"
620
- }
621
- },
622
- "code-point-at": {
623
- "version": "1.1.0",
624
- "resolved": "https://registry.npmjs.org/code-point-at/-/code-point-at-1.1.0.tgz",
625
- "integrity": "sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c=",
626
- "dev": true
627
- },
628
- "coffeescript": {
629
- "version": "1.10.0",
630
- "resolved": "https://registry.npmjs.org/coffeescript/-/coffeescript-1.10.0.tgz",
631
- "integrity": "sha1-56qDAZF+9iGzXYo580jc3R234z4=",
632
- "dev": true
633
- },
634
- "collection-visit": {
635
- "version": "1.0.0",
636
- "resolved": "https://registry.npmjs.org/collection-visit/-/collection-visit-1.0.0.tgz",
637
- "integrity": "sha1-S8A3PBZLwykbTTaMgpzxqApZ3KA=",
638
- "dev": true,
639
- "requires": {
640
- "map-visit": "^1.0.0",
641
- "object-visit": "^1.0.0"
642
- }
643
- },
644
- "color-convert": {
645
- "version": "1.9.3",
646
- "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz",
647
- "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==",
648
- "dev": true,
649
- "requires": {
650
- "color-name": "1.1.3"
651
- }
652
- },
653
- "color-name": {
654
- "version": "1.1.3",
655
- "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz",
656
- "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=",
657
- "dev": true
658
- },
659
- "colors": {
660
- "version": "1.1.2",
661
- "resolved": "http://registry.npmjs.org/colors/-/colors-1.1.2.tgz",
662
- "integrity": "sha1-FopHAXVran9RoSzgyXv6KMCE7WM=",
663
- "dev": true
664
- },
665
- "commander": {
666
- "version": "2.17.1",
667
- "resolved": "https://registry.npmjs.org/commander/-/commander-2.17.1.tgz",
668
- "integrity": "sha512-wPMUt6FnH2yzG95SA6mzjQOEKUU3aLaDEmzs1ti+1E9h+CsrZghRlqEM/EJ4KscsQVG8uNN4uVreUeT8+drlgg==",
669
- "dev": true,
670
- "optional": true
671
- },
672
- "compare-func": {
673
- "version": "1.3.2",
674
- "resolved": "https://registry.npmjs.org/compare-func/-/compare-func-1.3.2.tgz",
675
- "integrity": "sha1-md0LpFfh+bxyKxLAjsM+6rMfpkg=",
676
- "dev": true,
677
- "requires": {
678
- "array-ify": "^1.0.0",
679
- "dot-prop": "^3.0.0"
680
- }
681
- },
682
- "component-emitter": {
683
- "version": "1.2.1",
684
- "resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.2.1.tgz",
685
- "integrity": "sha1-E3kY1teCg/ffemt8WmPhQOaUJeY=",
686
- "dev": true
687
- },
688
- "concat-map": {
689
- "version": "0.0.1",
690
- "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz",
691
- "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=",
692
- "dev": true
693
- },
694
- "conventional-changelog-angular": {
695
- "version": "5.0.2",
696
- "resolved": "https://registry.npmjs.org/conventional-changelog-angular/-/conventional-changelog-angular-5.0.2.tgz",
697
- "integrity": "sha512-yx7m7lVrXmt4nKWQgWZqxSALEiAKZhOAcbxdUaU9575mB0CzXVbgrgpfSnSP7OqWDUTYGD0YVJ0MSRdyOPgAwA==",
698
- "dev": true,
699
- "requires": {
700
- "compare-func": "^1.3.1",
701
- "q": "^1.5.1"
702
- }
703
- },
704
- "conventional-changelog-writer": {
705
- "version": "4.0.2",
706
- "resolved": "https://registry.npmjs.org/conventional-changelog-writer/-/conventional-changelog-writer-4.0.2.tgz",
707
- "integrity": "sha512-d8/FQY/fix2xXEBUhOo8u3DCbyEw3UOQgYHxLsPDw+wHUDma/GQGAGsGtoH876WyNs32fViHmTOUrgRKVLvBug==",
708
- "dev": true,
709
- "requires": {
710
- "compare-func": "^1.3.1",
711
- "conventional-commits-filter": "^2.0.1",
712
- "dateformat": "^3.0.0",
713
- "handlebars": "^4.0.2",
714
- "json-stringify-safe": "^5.0.1",
715
- "lodash": "^4.2.1",
716
- "meow": "^4.0.0",
717
- "semver": "^5.5.0",
718
- "split": "^1.0.0",
719
- "through2": "^2.0.0"
720
- },
721
- "dependencies": {
722
- "camelcase": {
723
- "version": "4.1.0",
724
- "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-4.1.0.tgz",
725
- "integrity": "sha1-1UVjW+HjPFQmScaRc+Xeas+uNN0=",
726
- "dev": true
727
- },
728
- "camelcase-keys": {
729
- "version": "4.2.0",
730
- "resolved": "https://registry.npmjs.org/camelcase-keys/-/camelcase-keys-4.2.0.tgz",
731
- "integrity": "sha1-oqpfsa9oh1glnDLBQUJteJI7m3c=",
732
- "dev": true,
733
- "requires": {
734
- "camelcase": "^4.1.0",
735
- "map-obj": "^2.0.0",
736
- "quick-lru": "^1.0.0"
737
- }
738
- },
739
- "dateformat": {
740
- "version": "3.0.3",
741
- "resolved": "https://registry.npmjs.org/dateformat/-/dateformat-3.0.3.tgz",
742
- "integrity": "sha512-jyCETtSl3VMZMWeRo7iY1FL19ges1t55hMo5yaam4Jrsm5EPL89UQkoQRyiI+Yf4k8r2ZpdngkV8hr1lIdjb3Q==",
743
- "dev": true
744
- },
745
- "find-up": {
746
- "version": "2.1.0",
747
- "resolved": "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz",
748
- "integrity": "sha1-RdG35QbHF93UgndaK3eSCjwMV6c=",
749
- "dev": true,
750
- "requires": {
751
- "locate-path": "^2.0.0"
752
- }
753
- },
754
- "load-json-file": {
755
- "version": "4.0.0",
756
- "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-4.0.0.tgz",
757
- "integrity": "sha1-L19Fq5HjMhYjT9U62rZo607AmTs=",
758
- "dev": true,
759
- "requires": {
760
- "graceful-fs": "^4.1.2",
761
- "parse-json": "^4.0.0",
762
- "pify": "^3.0.0",
763
- "strip-bom": "^3.0.0"
764
- }
765
- },
766
- "map-obj": {
767
- "version": "2.0.0",
768
- "resolved": "https://registry.npmjs.org/map-obj/-/map-obj-2.0.0.tgz",
769
- "integrity": "sha1-plzSkIepJZi4eRJXpSPgISIqwfk=",
770
- "dev": true
771
- },
772
- "meow": {
773
- "version": "4.0.1",
774
- "resolved": "https://registry.npmjs.org/meow/-/meow-4.0.1.tgz",
775
- "integrity": "sha512-xcSBHD5Z86zaOc+781KrupuHAzeGXSLtiAOmBsiLDiPSaYSB6hdew2ng9EBAnZ62jagG9MHAOdxpDi/lWBFJ/A==",
776
- "dev": true,
777
- "requires": {
778
- "camelcase-keys": "^4.0.0",
779
- "decamelize-keys": "^1.0.0",
780
- "loud-rejection": "^1.0.0",
781
- "minimist": "^1.1.3",
782
- "minimist-options": "^3.0.1",
783
- "normalize-package-data": "^2.3.4",
784
- "read-pkg-up": "^3.0.0",
785
- "redent": "^2.0.0",
786
- "trim-newlines": "^2.0.0"
787
- }
788
- },
789
- "read-pkg": {
790
- "version": "3.0.0",
791
- "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-3.0.0.tgz",
792
- "integrity": "sha1-nLxoaXj+5l0WwA4rGcI3/Pbjg4k=",
793
- "dev": true,
794
- "requires": {
795
- "load-json-file": "^4.0.0",
796
- "normalize-package-data": "^2.3.2",
797
- "path-type": "^3.0.0"
798
- }
799
- },
800
- "read-pkg-up": {
801
- "version": "3.0.0",
802
- "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-3.0.0.tgz",
803
- "integrity": "sha1-PtSWaF26D4/hGNBpHcUfSh/5bwc=",
804
- "dev": true,
805
- "requires": {
806
- "find-up": "^2.0.0",
807
- "read-pkg": "^3.0.0"
808
- }
809
- },
810
- "redent": {
811
- "version": "2.0.0",
812
- "resolved": "https://registry.npmjs.org/redent/-/redent-2.0.0.tgz",
813
- "integrity": "sha1-wbIAe0LVfrE4kHmzyDM2OdXhzKo=",
814
- "dev": true,
815
- "requires": {
816
- "indent-string": "^3.0.0",
817
- "strip-indent": "^2.0.0"
818
- }
819
- },
820
- "strip-bom": {
821
- "version": "3.0.0",
822
- "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz",
823
- "integrity": "sha1-IzTBjpx1n3vdVv3vfprj1YjmjtM=",
824
- "dev": true
825
- },
826
- "strip-indent": {
827
- "version": "2.0.0",
828
- "resolved": "https://registry.npmjs.org/strip-indent/-/strip-indent-2.0.0.tgz",
829
- "integrity": "sha1-XvjbKV0B5u1sv3qrlpmNeCJSe2g=",
830
- "dev": true
831
- },
832
- "trim-newlines": {
833
- "version": "2.0.0",
834
- "resolved": "https://registry.npmjs.org/trim-newlines/-/trim-newlines-2.0.0.tgz",
835
- "integrity": "sha1-tAPQuRvlDDMd/EuC7s6yLD3hbSA=",
836
- "dev": true
837
- }
838
- }
839
- },
840
- "conventional-commits-filter": {
841
- "version": "2.0.1",
842
- "resolved": "https://registry.npmjs.org/conventional-commits-filter/-/conventional-commits-filter-2.0.1.tgz",
843
- "integrity": "sha512-92OU8pz/977udhBjgPEbg3sbYzIxMDFTlQT97w7KdhR9igNqdJvy8smmedAAgn4tPiqseFloKkrVfbXCVd+E7A==",
844
- "dev": true,
845
- "requires": {
846
- "is-subset": "^0.1.1",
847
- "modify-values": "^1.0.0"
848
- }
849
- },
850
- "conventional-commits-parser": {
851
- "version": "3.0.1",
852
- "resolved": "https://registry.npmjs.org/conventional-commits-parser/-/conventional-commits-parser-3.0.1.tgz",
853
- "integrity": "sha512-P6U5UOvDeidUJ8ebHVDIoXzI7gMlQ1OF/id6oUvp8cnZvOXMt1n8nYl74Ey9YMn0uVQtxmCtjPQawpsssBWtGg==",
854
- "dev": true,
855
- "requires": {
856
- "JSONStream": "^1.0.4",
857
- "is-text-path": "^1.0.0",
858
- "lodash": "^4.2.1",
859
- "meow": "^4.0.0",
860
- "split2": "^2.0.0",
861
- "through2": "^2.0.0",
862
- "trim-off-newlines": "^1.0.0"
863
- },
864
- "dependencies": {
865
- "camelcase": {
866
- "version": "4.1.0",
867
- "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-4.1.0.tgz",
868
- "integrity": "sha1-1UVjW+HjPFQmScaRc+Xeas+uNN0=",
869
- "dev": true
870
- },
871
- "camelcase-keys": {
872
- "version": "4.2.0",
873
- "resolved": "https://registry.npmjs.org/camelcase-keys/-/camelcase-keys-4.2.0.tgz",
874
- "integrity": "sha1-oqpfsa9oh1glnDLBQUJteJI7m3c=",
875
- "dev": true,
876
- "requires": {
877
- "camelcase": "^4.1.0",
878
- "map-obj": "^2.0.0",
879
- "quick-lru": "^1.0.0"
880
- }
881
- },
882
- "find-up": {
883
- "version": "2.1.0",
884
- "resolved": "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz",
885
- "integrity": "sha1-RdG35QbHF93UgndaK3eSCjwMV6c=",
886
- "dev": true,
887
- "requires": {
888
- "locate-path": "^2.0.0"
889
- }
890
- },
891
- "load-json-file": {
892
- "version": "4.0.0",
893
- "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-4.0.0.tgz",
894
- "integrity": "sha1-L19Fq5HjMhYjT9U62rZo607AmTs=",
895
- "dev": true,
896
- "requires": {
897
- "graceful-fs": "^4.1.2",
898
- "parse-json": "^4.0.0",
899
- "pify": "^3.0.0",
900
- "strip-bom": "^3.0.0"
901
- }
902
- },
903
- "map-obj": {
904
- "version": "2.0.0",
905
- "resolved": "https://registry.npmjs.org/map-obj/-/map-obj-2.0.0.tgz",
906
- "integrity": "sha1-plzSkIepJZi4eRJXpSPgISIqwfk=",
907
- "dev": true
908
- },
909
- "meow": {
910
- "version": "4.0.1",
911
- "resolved": "https://registry.npmjs.org/meow/-/meow-4.0.1.tgz",
912
- "integrity": "sha512-xcSBHD5Z86zaOc+781KrupuHAzeGXSLtiAOmBsiLDiPSaYSB6hdew2ng9EBAnZ62jagG9MHAOdxpDi/lWBFJ/A==",
913
- "dev": true,
914
- "requires": {
915
- "camelcase-keys": "^4.0.0",
916
- "decamelize-keys": "^1.0.0",
917
- "loud-rejection": "^1.0.0",
918
- "minimist": "^1.1.3",
919
- "minimist-options": "^3.0.1",
920
- "normalize-package-data": "^2.3.4",
921
- "read-pkg-up": "^3.0.0",
922
- "redent": "^2.0.0",
923
- "trim-newlines": "^2.0.0"
924
- }
925
- },
926
- "read-pkg": {
927
- "version": "3.0.0",
928
- "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-3.0.0.tgz",
929
- "integrity": "sha1-nLxoaXj+5l0WwA4rGcI3/Pbjg4k=",
930
- "dev": true,
931
- "requires": {
932
- "load-json-file": "^4.0.0",
933
- "normalize-package-data": "^2.3.2",
934
- "path-type": "^3.0.0"
935
- }
936
- },
937
- "read-pkg-up": {
938
- "version": "3.0.0",
939
- "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-3.0.0.tgz",
940
- "integrity": "sha1-PtSWaF26D4/hGNBpHcUfSh/5bwc=",
941
- "dev": true,
942
- "requires": {
943
- "find-up": "^2.0.0",
944
- "read-pkg": "^3.0.0"
945
- }
946
- },
947
- "redent": {
948
- "version": "2.0.0",
949
- "resolved": "https://registry.npmjs.org/redent/-/redent-2.0.0.tgz",
950
- "integrity": "sha1-wbIAe0LVfrE4kHmzyDM2OdXhzKo=",
951
- "dev": true,
952
- "requires": {
953
- "indent-string": "^3.0.0",
954
- "strip-indent": "^2.0.0"
955
- }
956
- },
957
- "strip-bom": {
958
- "version": "3.0.0",
959
- "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz",
960
- "integrity": "sha1-IzTBjpx1n3vdVv3vfprj1YjmjtM=",
961
- "dev": true
962
- },
963
- "strip-indent": {
964
- "version": "2.0.0",
965
- "resolved": "https://registry.npmjs.org/strip-indent/-/strip-indent-2.0.0.tgz",
966
- "integrity": "sha1-XvjbKV0B5u1sv3qrlpmNeCJSe2g=",
967
- "dev": true
968
- },
969
- "trim-newlines": {
970
- "version": "2.0.0",
971
- "resolved": "https://registry.npmjs.org/trim-newlines/-/trim-newlines-2.0.0.tgz",
972
- "integrity": "sha1-tAPQuRvlDDMd/EuC7s6yLD3hbSA=",
973
- "dev": true
974
- }
975
- }
976
- },
977
- "copy-descriptor": {
978
- "version": "0.1.1",
979
- "resolved": "https://registry.npmjs.org/copy-descriptor/-/copy-descriptor-0.1.1.tgz",
980
- "integrity": "sha1-Z29us8OZl8LuGsOpJP1hJHSPV40=",
981
- "dev": true
982
- },
983
- "core-util-is": {
984
- "version": "1.0.2",
985
- "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz",
986
- "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=",
987
- "dev": true
988
- },
989
- "cosmiconfig": {
990
- "version": "5.0.7",
991
- "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-5.0.7.tgz",
992
- "integrity": "sha512-PcLqxTKiDmNT6pSpy4N6KtuPwb53W+2tzNvwOZw0WH9N6O0vLIBq0x8aj8Oj75ere4YcGi48bDFCL+3fRJdlNA==",
993
- "dev": true,
994
- "requires": {
995
- "import-fresh": "^2.0.0",
996
- "is-directory": "^0.3.1",
997
- "js-yaml": "^3.9.0",
998
- "parse-json": "^4.0.0"
999
- },
1000
- "dependencies": {
1001
- "esprima": {
1002
- "version": "4.0.1",
1003
- "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz",
1004
- "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==",
1005
- "dev": true
1006
- },
1007
- "js-yaml": {
1008
- "version": "3.12.0",
1009
- "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.12.0.tgz",
1010
- "integrity": "sha512-PIt2cnwmPfL4hKNwqeiuz4bKfnzHTBv6HyVgjahA6mPLwPDzjDWrplJBMjHUFxku/N3FlmrbyPclad+I+4mJ3A==",
1011
- "dev": true,
1012
- "requires": {
1013
- "argparse": "^1.0.7",
1014
- "esprima": "^4.0.0"
1015
- }
1016
- }
1017
- }
1018
- },
1019
- "cross-spawn": {
1020
- "version": "6.0.5",
1021
- "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.5.tgz",
1022
- "integrity": "sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==",
1023
- "dev": true,
1024
- "requires": {
1025
- "nice-try": "^1.0.4",
1026
- "path-key": "^2.0.1",
1027
- "semver": "^5.5.0",
1028
- "shebang-command": "^1.2.0",
1029
- "which": "^1.2.9"
1030
- }
1031
- },
1032
- "currently-unhandled": {
1033
- "version": "0.4.1",
1034
- "resolved": "https://registry.npmjs.org/currently-unhandled/-/currently-unhandled-0.4.1.tgz",
1035
- "integrity": "sha1-mI3zP+qxke95mmE2nddsF635V+o=",
1036
- "dev": true,
1037
- "requires": {
1038
- "array-find-index": "^1.0.1"
1039
- }
1040
- },
1041
- "dateformat": {
1042
- "version": "1.0.12",
1043
- "resolved": "https://registry.npmjs.org/dateformat/-/dateformat-1.0.12.tgz",
1044
- "integrity": "sha1-nxJLZ1lMk3/3BpMuSmQsyo27/uk=",
1045
- "dev": true,
1046
- "requires": {
1047
- "get-stdin": "^4.0.1",
1048
- "meow": "^3.3.0"
1049
- }
1050
- },
1051
- "debug": {
1052
- "version": "4.1.0",
1053
- "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.0.tgz",
1054
- "integrity": "sha512-heNPJUJIqC+xB6ayLAMHaIrmN9HKa7aQO8MGqKpvCA+uJYVcvR6l5kgdrhRuwPFHU7P5/A1w0BjByPHwpfTDKg==",
1055
- "dev": true,
1056
- "requires": {
1057
- "ms": "^2.1.1"
1058
- }
1059
- },
1060
- "decamelize": {
1061
- "version": "1.2.0",
1062
- "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz",
1063
- "integrity": "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=",
1064
- "dev": true
1065
- },
1066
- "decamelize-keys": {
1067
- "version": "1.1.0",
1068
- "resolved": "https://registry.npmjs.org/decamelize-keys/-/decamelize-keys-1.1.0.tgz",
1069
- "integrity": "sha1-0XGoeTMlKAfrPLYdwcFEXQeN8tk=",
1070
- "dev": true,
1071
- "requires": {
1072
- "decamelize": "^1.1.0",
1073
- "map-obj": "^1.0.0"
1074
- }
1075
- },
1076
- "decode-uri-component": {
1077
- "version": "0.2.0",
1078
- "resolved": "https://registry.npmjs.org/decode-uri-component/-/decode-uri-component-0.2.0.tgz",
1079
- "integrity": "sha1-6zkTMzRYd1y4TNGh+uBiEGu4dUU=",
1080
- "dev": true
1081
- },
1082
- "deep-extend": {
1083
- "version": "0.6.0",
1084
- "resolved": "https://registry.npmjs.org/deep-extend/-/deep-extend-0.6.0.tgz",
1085
- "integrity": "sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==",
1086
- "dev": true
1087
- },
1088
- "deepmerge": {
1089
- "version": "3.0.0",
1090
- "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-3.0.0.tgz",
1091
- "integrity": "sha512-a8z8bkgHsAML+uHLqmMS83HHlpy3PvZOOuiTQqaa3wu8ZVg3h0hqHk6aCsGdOnZV2XMM/FRimNGjUh0KCcmHBw==",
1092
- "dev": true
1093
- },
1094
- "define-property": {
1095
- "version": "2.0.2",
1096
- "resolved": "https://registry.npmjs.org/define-property/-/define-property-2.0.2.tgz",
1097
- "integrity": "sha512-jwK2UV4cnPpbcG7+VRARKTZPUWowwXA8bzH5NP6ud0oeAxyYPuGZUAC7hMugpCdz4BeSZl2Dl9k66CHJ/46ZYQ==",
1098
- "dev": true,
1099
- "requires": {
1100
- "is-descriptor": "^1.0.2",
1101
- "isobject": "^3.0.1"
1102
- },
1103
- "dependencies": {
1104
- "is-accessor-descriptor": {
1105
- "version": "1.0.0",
1106
- "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz",
1107
- "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==",
1108
- "dev": true,
1109
- "requires": {
1110
- "kind-of": "^6.0.0"
1111
- }
1112
- },
1113
- "is-data-descriptor": {
1114
- "version": "1.0.0",
1115
- "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz",
1116
- "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==",
1117
- "dev": true,
1118
- "requires": {
1119
- "kind-of": "^6.0.0"
1120
- }
1121
- },
1122
- "is-descriptor": {
1123
- "version": "1.0.2",
1124
- "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz",
1125
- "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==",
1126
- "dev": true,
1127
- "requires": {
1128
- "is-accessor-descriptor": "^1.0.0",
1129
- "is-data-descriptor": "^1.0.0",
1130
- "kind-of": "^6.0.2"
1131
- }
1132
- }
1133
- }
1134
- },
1135
- "dir-glob": {
1136
- "version": "2.0.0",
1137
- "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-2.0.0.tgz",
1138
- "integrity": "sha512-37qirFDz8cA5fimp9feo43fSuRo2gHwaIn6dXL8Ber1dGwUosDrGZeCCXq57WnIqE4aQ+u3eQZzsk1yOzhdwag==",
1139
- "dev": true,
1140
- "requires": {
1141
- "arrify": "^1.0.1",
1142
- "path-type": "^3.0.0"
1143
- }
1144
- },
1145
- "dot-prop": {
1146
- "version": "3.0.0",
1147
- "resolved": "https://registry.npmjs.org/dot-prop/-/dot-prop-3.0.0.tgz",
1148
- "integrity": "sha1-G3CK8JSknJoOfbyteQq6U52sEXc=",
1149
- "dev": true,
1150
- "requires": {
1151
- "is-obj": "^1.0.0"
1152
- }
1153
- },
1154
- "duplexer2": {
1155
- "version": "0.1.4",
1156
- "resolved": "https://registry.npmjs.org/duplexer2/-/duplexer2-0.1.4.tgz",
1157
- "integrity": "sha1-ixLauHjA1p4+eJEFFmKjL8a93ME=",
1158
- "dev": true,
1159
- "requires": {
1160
- "readable-stream": "^2.0.2"
1161
- }
1162
- },
1163
- "end-of-stream": {
1164
- "version": "1.4.1",
1165
- "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.1.tgz",
1166
- "integrity": "sha512-1MkrZNvWTKCaigbn+W15elq2BB/L22nqrSY5DKlo3X6+vclJm8Bb5djXJBmEX6fS3+zCh/F4VBK5Z2KxJt4s2Q==",
1167
- "dev": true,
1168
- "requires": {
1169
- "once": "^1.4.0"
1170
- }
1171
- },
1172
- "env-ci": {
1173
- "version": "3.1.3",
1174
- "resolved": "https://registry.npmjs.org/env-ci/-/env-ci-3.1.3.tgz",
1175
- "integrity": "sha512-4NudFu3oUCNprsGkt/LmvqAwJlzX9QT8289AavXiDH1pBJuEd4n0ty98yUOWN3uFtjOhOGrmt1/FDKFxCewejw==",
1176
- "dev": true,
1177
- "requires": {
1178
- "execa": "^1.0.0",
1179
- "java-properties": "^0.2.9"
1180
- }
1181
- },
1182
- "error-ex": {
1183
- "version": "1.3.2",
1184
- "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz",
1185
- "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==",
1186
- "dev": true,
1187
- "requires": {
1188
- "is-arrayish": "^0.2.1"
1189
- }
1190
- },
1191
- "es6-promise": {
1192
- "version": "4.2.5",
1193
- "resolved": "https://registry.npmjs.org/es6-promise/-/es6-promise-4.2.5.tgz",
1194
- "integrity": "sha512-n6wvpdE43VFtJq+lUDYDBFUwV8TZbuGXLV4D6wKafg13ldznKsyEvatubnmUe31zcvelSzOHF+XbaT+Bl9ObDg==",
1195
- "dev": true
1196
- },
1197
- "es6-promisify": {
1198
- "version": "5.0.0",
1199
- "resolved": "http://registry.npmjs.org/es6-promisify/-/es6-promisify-5.0.0.tgz",
1200
- "integrity": "sha1-UQnWLz5W6pZ8S2NQWu8IKRyKUgM=",
1201
- "dev": true,
1202
- "requires": {
1203
- "es6-promise": "^4.0.3"
1204
- }
1205
- },
1206
- "escape-string-regexp": {
1207
- "version": "1.0.5",
1208
- "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz",
1209
- "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=",
1210
- "dev": true
1211
- },
1212
- "esprima": {
1213
- "version": "2.7.3",
1214
- "resolved": "https://registry.npmjs.org/esprima/-/esprima-2.7.3.tgz",
1215
- "integrity": "sha1-luO3DVd59q1JzQMmc9HDEnZ7pYE=",
1216
- "dev": true
1217
- },
1218
- "eventemitter2": {
1219
- "version": "0.4.14",
1220
- "resolved": "http://registry.npmjs.org/eventemitter2/-/eventemitter2-0.4.14.tgz",
1221
- "integrity": "sha1-j2G3XN4BKy6esoTUVFWDtWQ7Yas=",
1222
- "dev": true
1223
- },
1224
- "execa": {
1225
- "version": "1.0.0",
1226
- "resolved": "https://registry.npmjs.org/execa/-/execa-1.0.0.tgz",
1227
- "integrity": "sha512-adbxcyWV46qiHyvSp50TKt05tB4tK3HcmF7/nxfAdhnox83seTDbwnaqKO4sXRy7roHAIFqJP/Rw/AuEbX61LA==",
1228
- "dev": true,
1229
- "requires": {
1230
- "cross-spawn": "^6.0.0",
1231
- "get-stream": "^4.0.0",
1232
- "is-stream": "^1.1.0",
1233
- "npm-run-path": "^2.0.0",
1234
- "p-finally": "^1.0.0",
1235
- "signal-exit": "^3.0.0",
1236
- "strip-eof": "^1.0.0"
1237
- }
1238
- },
1239
- "exit": {
1240
- "version": "0.1.2",
1241
- "resolved": "https://registry.npmjs.org/exit/-/exit-0.1.2.tgz",
1242
- "integrity": "sha1-BjJjj42HfMghB9MKD/8aF8uhzQw=",
1243
- "dev": true
1244
- },
1245
- "expand-brackets": {
1246
- "version": "2.1.4",
1247
- "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-2.1.4.tgz",
1248
- "integrity": "sha1-t3c14xXOMPa27/D4OwQVGiJEliI=",
1249
- "dev": true,
1250
- "requires": {
1251
- "debug": "^2.3.3",
1252
- "define-property": "^0.2.5",
1253
- "extend-shallow": "^2.0.1",
1254
- "posix-character-classes": "^0.1.0",
1255
- "regex-not": "^1.0.0",
1256
- "snapdragon": "^0.8.1",
1257
- "to-regex": "^3.0.1"
1258
- },
1259
- "dependencies": {
1260
- "debug": {
1261
- "version": "2.6.9",
1262
- "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
1263
- "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
1264
- "dev": true,
1265
- "requires": {
1266
- "ms": "2.0.0"
1267
- }
1268
- },
1269
- "define-property": {
1270
- "version": "0.2.5",
1271
- "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz",
1272
- "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=",
1273
- "dev": true,
1274
- "requires": {
1275
- "is-descriptor": "^0.1.0"
1276
- }
1277
- },
1278
- "extend-shallow": {
1279
- "version": "2.0.1",
1280
- "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
1281
- "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
1282
- "dev": true,
1283
- "requires": {
1284
- "is-extendable": "^0.1.0"
1285
- }
1286
- },
1287
- "ms": {
1288
- "version": "2.0.0",
1289
- "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
1290
- "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=",
1291
- "dev": true
1292
- }
1293
- }
1294
- },
1295
- "extend-shallow": {
1296
- "version": "3.0.2",
1297
- "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz",
1298
- "integrity": "sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg=",
1299
- "dev": true,
1300
- "requires": {
1301
- "assign-symbols": "^1.0.0",
1302
- "is-extendable": "^1.0.1"
1303
- },
1304
- "dependencies": {
1305
- "is-extendable": {
1306
- "version": "1.0.1",
1307
- "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz",
1308
- "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==",
1309
- "dev": true,
1310
- "requires": {
1311
- "is-plain-object": "^2.0.4"
1312
- }
1313
- }
1314
- }
1315
- },
1316
- "extglob": {
1317
- "version": "2.0.4",
1318
- "resolved": "https://registry.npmjs.org/extglob/-/extglob-2.0.4.tgz",
1319
- "integrity": "sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw==",
1320
- "dev": true,
1321
- "requires": {
1322
- "array-unique": "^0.3.2",
1323
- "define-property": "^1.0.0",
1324
- "expand-brackets": "^2.1.4",
1325
- "extend-shallow": "^2.0.1",
1326
- "fragment-cache": "^0.2.1",
1327
- "regex-not": "^1.0.0",
1328
- "snapdragon": "^0.8.1",
1329
- "to-regex": "^3.0.1"
1330
- },
1331
- "dependencies": {
1332
- "define-property": {
1333
- "version": "1.0.0",
1334
- "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz",
1335
- "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=",
1336
- "dev": true,
1337
- "requires": {
1338
- "is-descriptor": "^1.0.0"
1339
- }
1340
- },
1341
- "extend-shallow": {
1342
- "version": "2.0.1",
1343
- "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
1344
- "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
1345
- "dev": true,
1346
- "requires": {
1347
- "is-extendable": "^0.1.0"
1348
- }
1349
- },
1350
- "is-accessor-descriptor": {
1351
- "version": "1.0.0",
1352
- "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz",
1353
- "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==",
1354
- "dev": true,
1355
- "requires": {
1356
- "kind-of": "^6.0.0"
1357
- }
1358
- },
1359
- "is-data-descriptor": {
1360
- "version": "1.0.0",
1361
- "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz",
1362
- "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==",
1363
- "dev": true,
1364
- "requires": {
1365
- "kind-of": "^6.0.0"
1366
- }
1367
- },
1368
- "is-descriptor": {
1369
- "version": "1.0.2",
1370
- "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz",
1371
- "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==",
1372
- "dev": true,
1373
- "requires": {
1374
- "is-accessor-descriptor": "^1.0.0",
1375
- "is-data-descriptor": "^1.0.0",
1376
- "kind-of": "^6.0.2"
1377
- }
1378
- }
1379
- }
1380
- },
1381
- "fast-glob": {
1382
- "version": "2.2.4",
1383
- "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-2.2.4.tgz",
1384
- "integrity": "sha512-FjK2nCGI/McyzgNtTESqaWP3trPvHyRyoyY70hxjc3oKPNmDe8taohLZpoVKoUjW85tbU5txaYUZCNtVzygl1g==",
1385
- "dev": true,
1386
- "requires": {
1387
- "@mrmlnc/readdir-enhanced": "^2.2.1",
1388
- "@nodelib/fs.stat": "^1.1.2",
1389
- "glob-parent": "^3.1.0",
1390
- "is-glob": "^4.0.0",
1391
- "merge2": "^1.2.3",
1392
- "micromatch": "^3.1.10"
1393
- }
1394
- },
1395
- "figures": {
1396
- "version": "2.0.0",
1397
- "resolved": "https://registry.npmjs.org/figures/-/figures-2.0.0.tgz",
1398
- "integrity": "sha1-OrGi0qYsi/tDGgyUy3l6L84nyWI=",
1399
- "dev": true,
1400
- "requires": {
1401
- "escape-string-regexp": "^1.0.5"
1402
- }
1403
- },
1404
- "fill-range": {
1405
- "version": "4.0.0",
1406
- "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz",
1407
- "integrity": "sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=",
1408
- "dev": true,
1409
- "requires": {
1410
- "extend-shallow": "^2.0.1",
1411
- "is-number": "^3.0.0",
1412
- "repeat-string": "^1.6.1",
1413
- "to-regex-range": "^2.1.0"
1414
- },
1415
- "dependencies": {
1416
- "extend-shallow": {
1417
- "version": "2.0.1",
1418
- "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
1419
- "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
1420
- "dev": true,
1421
- "requires": {
1422
- "is-extendable": "^0.1.0"
1423
- }
1424
- }
1425
- }
1426
- },
1427
- "find-up": {
1428
- "version": "1.1.2",
1429
- "resolved": "https://registry.npmjs.org/find-up/-/find-up-1.1.2.tgz",
1430
- "integrity": "sha1-ay6YIrGizgpgq2TWEOzK1TyyTQ8=",
1431
- "dev": true,
1432
- "requires": {
1433
- "path-exists": "^2.0.0",
1434
- "pinkie-promise": "^2.0.0"
1435
- }
1436
- },
1437
- "find-versions": {
1438
- "version": "3.0.0",
1439
- "resolved": "https://registry.npmjs.org/find-versions/-/find-versions-3.0.0.tgz",
1440
- "integrity": "sha512-IUvtItVFNmTtKoB0PRfbkR0zR9XMG5rWNO3qI1S8L0zdv+v2gqzM0pAunloxqbqAfT8w7bg8n/5gHzTXte8H5A==",
1441
- "dev": true,
1442
- "requires": {
1443
- "array-uniq": "^2.0.0",
1444
- "semver-regex": "^2.0.0"
1445
- },
1446
- "dependencies": {
1447
- "array-uniq": {
1448
- "version": "2.0.0",
1449
- "resolved": "https://registry.npmjs.org/array-uniq/-/array-uniq-2.0.0.tgz",
1450
- "integrity": "sha512-O3QZEr+3wDj7otzF7PjNGs6CA3qmYMLvt5xGkjY/V0VxS+ovvqVo/5wKM/OVOAyuX4DTh9H31zE/yKtO66hTkg==",
1451
- "dev": true
1452
- }
1453
- }
1454
- },
1455
- "findup-sync": {
1456
- "version": "0.3.0",
1457
- "resolved": "https://registry.npmjs.org/findup-sync/-/findup-sync-0.3.0.tgz",
1458
- "integrity": "sha1-N5MKpdgWt3fANEXhlmzGeQpMCxY=",
1459
- "dev": true,
1460
- "requires": {
1461
- "glob": "~5.0.0"
1462
- },
1463
- "dependencies": {
1464
- "glob": {
1465
- "version": "5.0.15",
1466
- "resolved": "https://registry.npmjs.org/glob/-/glob-5.0.15.tgz",
1467
- "integrity": "sha1-G8k2ueAvSmA/zCIuz3Yz0wuLk7E=",
1468
- "dev": true,
1469
- "requires": {
1470
- "inflight": "^1.0.4",
1471
- "inherits": "2",
1472
- "minimatch": "2 || 3",
1473
- "once": "^1.3.0",
1474
- "path-is-absolute": "^1.0.0"
1475
- }
1476
- }
1477
- }
1478
- },
1479
- "for-in": {
1480
- "version": "1.0.2",
1481
- "resolved": "https://registry.npmjs.org/for-in/-/for-in-1.0.2.tgz",
1482
- "integrity": "sha1-gQaNKVqBQuwKxybG4iAMMPttXoA=",
1483
- "dev": true
1484
- },
1485
- "fragment-cache": {
1486
- "version": "0.2.1",
1487
- "resolved": "https://registry.npmjs.org/fragment-cache/-/fragment-cache-0.2.1.tgz",
1488
- "integrity": "sha1-QpD60n8T6Jvn8zeZxrxaCr//DRk=",
1489
- "dev": true,
1490
- "requires": {
1491
- "map-cache": "^0.2.2"
1492
- }
1493
- },
1494
- "from2": {
1495
- "version": "2.3.0",
1496
- "resolved": "https://registry.npmjs.org/from2/-/from2-2.3.0.tgz",
1497
- "integrity": "sha1-i/tVAr3kpNNs/e6gB/zKIdfjgq8=",
1498
- "dev": true,
1499
- "requires": {
1500
- "inherits": "^2.0.1",
1501
- "readable-stream": "^2.0.0"
1502
- }
1503
- },
1504
- "fs-extra": {
1505
- "version": "7.0.1",
1506
- "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-7.0.1.tgz",
1507
- "integrity": "sha512-YJDaCJZEnBmcbw13fvdAM9AwNOJwOzrE4pqMqBq5nFiEqXUqHwlK4B+3pUw6JNvfSPtX05xFHtYy/1ni01eGCw==",
1508
- "dev": true,
1509
- "requires": {
1510
- "graceful-fs": "^4.1.2",
1511
- "jsonfile": "^4.0.0",
1512
- "universalify": "^0.1.0"
1513
- }
1514
- },
1515
- "fs.realpath": {
1516
- "version": "1.0.0",
1517
- "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz",
1518
- "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=",
1519
- "dev": true
1520
- },
1521
- "get-caller-file": {
1522
- "version": "1.0.3",
1523
- "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-1.0.3.tgz",
1524
- "integrity": "sha512-3t6rVToeoZfYSGd8YoLFR2DJkiQrIiUrGcjvFX2mDw3bn6k2OtwHN0TNCLbBO+w8qTvimhDkv+LSscbJY1vE6w==",
1525
- "dev": true
1526
- },
1527
- "get-stdin": {
1528
- "version": "4.0.1",
1529
- "resolved": "https://registry.npmjs.org/get-stdin/-/get-stdin-4.0.1.tgz",
1530
- "integrity": "sha1-uWjGsKBDhDJJAui/Gl3zJXmkUP4=",
1531
- "dev": true
1532
- },
1533
- "get-stream": {
1534
- "version": "4.1.0",
1535
- "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-4.1.0.tgz",
1536
- "integrity": "sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w==",
1537
- "dev": true,
1538
- "requires": {
1539
- "pump": "^3.0.0"
1540
- }
1541
- },
1542
- "get-value": {
1543
- "version": "2.0.6",
1544
- "resolved": "https://registry.npmjs.org/get-value/-/get-value-2.0.6.tgz",
1545
- "integrity": "sha1-3BXKHGcjh8p2vTesCjlbogQqLCg=",
1546
- "dev": true
1547
- },
1548
- "getobject": {
1549
- "version": "0.1.0",
1550
- "resolved": "https://registry.npmjs.org/getobject/-/getobject-0.1.0.tgz",
1551
- "integrity": "sha1-BHpEl4n6Fg0Bj1SG7ZEyC27HiFw=",
1552
- "dev": true
1553
- },
1554
- "git-log-parser": {
1555
- "version": "1.2.0",
1556
- "resolved": "https://registry.npmjs.org/git-log-parser/-/git-log-parser-1.2.0.tgz",
1557
- "integrity": "sha1-LmpMGxP8AAKCB7p5WnrDFme5/Uo=",
1558
- "dev": true,
1559
- "requires": {
1560
- "argv-formatter": "~1.0.0",
1561
- "spawn-error-forwarder": "~1.0.0",
1562
- "split2": "~1.0.0",
1563
- "stream-combiner2": "~1.1.1",
1564
- "through2": "~2.0.0",
1565
- "traverse": "~0.6.6"
1566
- },
1567
- "dependencies": {
1568
- "split2": {
1569
- "version": "1.0.0",
1570
- "resolved": "http://registry.npmjs.org/split2/-/split2-1.0.0.tgz",
1571
- "integrity": "sha1-UuLiIdiMdfmnP5BVbiY/+WdysxQ=",
1572
- "dev": true,
1573
- "requires": {
1574
- "through2": "~2.0.0"
1575
- }
1576
- }
1577
- }
1578
- },
1579
- "glob": {
1580
- "version": "7.1.3",
1581
- "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.3.tgz",
1582
- "integrity": "sha512-vcfuiIxogLV4DlGBHIUOwI0IbrJ8HWPc4MU7HzviGeNho/UJDfi6B5p3sHeWIQ0KGIU0Jpxi5ZHxemQfLkkAwQ==",
1583
- "dev": true,
1584
- "requires": {
1585
- "fs.realpath": "^1.0.0",
1586
- "inflight": "^1.0.4",
1587
- "inherits": "2",
1588
- "minimatch": "^3.0.4",
1589
- "once": "^1.3.0",
1590
- "path-is-absolute": "^1.0.0"
1591
- }
1592
- },
1593
- "glob-parent": {
1594
- "version": "3.1.0",
1595
- "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-3.1.0.tgz",
1596
- "integrity": "sha1-nmr2KZ2NO9K9QEMIMr0RPfkGxa4=",
1597
- "dev": true,
1598
- "requires": {
1599
- "is-glob": "^3.1.0",
1600
- "path-dirname": "^1.0.0"
1601
- },
1602
- "dependencies": {
1603
- "is-glob": {
1604
- "version": "3.1.0",
1605
- "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-3.1.0.tgz",
1606
- "integrity": "sha1-e6WuJCF4BKxwcHuWkiVnSGzD6Eo=",
1607
- "dev": true,
1608
- "requires": {
1609
- "is-extglob": "^2.1.0"
1610
- }
1611
- }
1612
- }
1613
- },
1614
- "glob-to-regexp": {
1615
- "version": "0.3.0",
1616
- "resolved": "https://registry.npmjs.org/glob-to-regexp/-/glob-to-regexp-0.3.0.tgz",
1617
- "integrity": "sha1-jFoUlNIGbFcMw7/kSWF1rMTVAqs=",
1618
- "dev": true
1619
- },
1620
- "globby": {
1621
- "version": "8.0.1",
1622
- "resolved": "http://registry.npmjs.org/globby/-/globby-8.0.1.tgz",
1623
- "integrity": "sha512-oMrYrJERnKBLXNLVTqhm3vPEdJ/b2ZE28xN4YARiix1NOIOBPEpOUnm844K1iu/BkphCaf2WNFwMszv8Soi1pw==",
1624
- "dev": true,
1625
- "requires": {
1626
- "array-union": "^1.0.1",
1627
- "dir-glob": "^2.0.0",
1628
- "fast-glob": "^2.0.2",
1629
- "glob": "^7.1.2",
1630
- "ignore": "^3.3.5",
1631
- "pify": "^3.0.0",
1632
- "slash": "^1.0.0"
1633
- }
1634
- },
1635
- "graceful-fs": {
1636
- "version": "4.1.15",
1637
- "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.15.tgz",
1638
- "integrity": "sha512-6uHUhOPEBgQ24HM+r6b/QwWfZq+yiFcipKFrOFiBEnWdy5sdzYoi+pJeQaPI5qOLRFqWmAXUPQNsielzdLoecA==",
1639
- "dev": true
1640
- },
1641
- "grunt": {
1642
- "version": "1.0.3",
1643
- "resolved": "https://registry.npmjs.org/grunt/-/grunt-1.0.3.tgz",
1644
- "integrity": "sha512-/JzmZNPfKorlCrrmxWqQO4JVodO+DVd5XX4DkocL/1WlLlKVLE9+SdEIempOAxDhWPysLle6afvn/hg7Ck2k9g==",
1645
- "dev": true,
1646
- "requires": {
1647
- "coffeescript": "~1.10.0",
1648
- "dateformat": "~1.0.12",
1649
- "eventemitter2": "~0.4.13",
1650
- "exit": "~0.1.1",
1651
- "findup-sync": "~0.3.0",
1652
- "glob": "~7.0.0",
1653
- "grunt-cli": "~1.2.0",
1654
- "grunt-known-options": "~1.1.0",
1655
- "grunt-legacy-log": "~2.0.0",
1656
- "grunt-legacy-util": "~1.1.1",
1657
- "iconv-lite": "~0.4.13",
1658
- "js-yaml": "~3.5.2",
1659
- "minimatch": "~3.0.2",
1660
- "mkdirp": "~0.5.1",
1661
- "nopt": "~3.0.6",
1662
- "path-is-absolute": "~1.0.0",
1663
- "rimraf": "~2.6.2"
1664
- },
1665
- "dependencies": {
1666
- "glob": {
1667
- "version": "7.0.6",
1668
- "resolved": "https://registry.npmjs.org/glob/-/glob-7.0.6.tgz",
1669
- "integrity": "sha1-IRuvr0nlJbjNkyYNFKsTYVKz9Xo=",
1670
- "dev": true,
1671
- "requires": {
1672
- "fs.realpath": "^1.0.0",
1673
- "inflight": "^1.0.4",
1674
- "inherits": "2",
1675
- "minimatch": "^3.0.2",
1676
- "once": "^1.3.0",
1677
- "path-is-absolute": "^1.0.0"
1678
- }
1679
- },
1680
- "grunt-cli": {
1681
- "version": "1.2.0",
1682
- "resolved": "http://registry.npmjs.org/grunt-cli/-/grunt-cli-1.2.0.tgz",
1683
- "integrity": "sha1-VisRnrsGndtGSs4oRVAb6Xs1tqg=",
1684
- "dev": true,
1685
- "requires": {
1686
- "findup-sync": "~0.3.0",
1687
- "grunt-known-options": "~1.1.0",
1688
- "nopt": "~3.0.6",
1689
- "resolve": "~1.1.0"
1690
- }
1691
- }
1692
- }
1693
- },
1694
- "grunt-known-options": {
1695
- "version": "1.1.1",
1696
- "resolved": "https://registry.npmjs.org/grunt-known-options/-/grunt-known-options-1.1.1.tgz",
1697
- "integrity": "sha512-cHwsLqoighpu7TuYj5RonnEuxGVFnztcUqTqp5rXFGYL4OuPFofwC4Ycg7n9fYwvK6F5WbYgeVOwph9Crs2fsQ==",
1698
- "dev": true
1699
- },
1700
- "grunt-legacy-log": {
1701
- "version": "2.0.0",
1702
- "resolved": "https://registry.npmjs.org/grunt-legacy-log/-/grunt-legacy-log-2.0.0.tgz",
1703
- "integrity": "sha512-1m3+5QvDYfR1ltr8hjiaiNjddxGdQWcH0rw1iKKiQnF0+xtgTazirSTGu68RchPyh1OBng1bBUjLmX8q9NpoCw==",
1704
- "dev": true,
1705
- "requires": {
1706
- "colors": "~1.1.2",
1707
- "grunt-legacy-log-utils": "~2.0.0",
1708
- "hooker": "~0.2.3",
1709
- "lodash": "~4.17.5"
1710
- }
1711
- },
1712
- "grunt-legacy-log-utils": {
1713
- "version": "2.0.1",
1714
- "resolved": "https://registry.npmjs.org/grunt-legacy-log-utils/-/grunt-legacy-log-utils-2.0.1.tgz",
1715
- "integrity": "sha512-o7uHyO/J+i2tXG8r2bZNlVk20vlIFJ9IEYyHMCQGfWYru8Jv3wTqKZzvV30YW9rWEjq0eP3cflQ1qWojIe9VFA==",
1716
- "dev": true,
1717
- "requires": {
1718
- "chalk": "~2.4.1",
1719
- "lodash": "~4.17.10"
1720
- }
1721
- },
1722
- "grunt-legacy-util": {
1723
- "version": "1.1.1",
1724
- "resolved": "https://registry.npmjs.org/grunt-legacy-util/-/grunt-legacy-util-1.1.1.tgz",
1725
- "integrity": "sha512-9zyA29w/fBe6BIfjGENndwoe1Uy31BIXxTH3s8mga0Z5Bz2Sp4UCjkeyv2tI449ymkx3x26B+46FV4fXEddl5A==",
1726
- "dev": true,
1727
- "requires": {
1728
- "async": "~1.5.2",
1729
- "exit": "~0.1.1",
1730
- "getobject": "~0.1.0",
1731
- "hooker": "~0.2.3",
1732
- "lodash": "~4.17.10",
1733
- "underscore.string": "~3.3.4",
1734
- "which": "~1.3.0"
1735
- }
1736
- },
1737
- "grunt-version": {
1738
- "version": "1.3.0",
1739
- "resolved": "https://registry.npmjs.org/grunt-version/-/grunt-version-1.3.0.tgz",
1740
- "integrity": "sha512-sHXaI20enfemESU2r/mrJd8eEFr8qSJSwzzIyau2IaxKwez0ojr5wg93x74K7PqSBKmVxumJ6TTscvGIfygRbA==",
1741
- "dev": true,
1742
- "requires": {
1743
- "grunt": "0.4.5 - 1",
1744
- "semver": "^4.0.0"
1745
- },
1746
- "dependencies": {
1747
- "semver": {
1748
- "version": "4.3.6",
1749
- "resolved": "http://registry.npmjs.org/semver/-/semver-4.3.6.tgz",
1750
- "integrity": "sha1-MAvG4OhjdPe6YQaLWx7NV/xlMto=",
1751
- "dev": true
1752
- }
1753
- }
1754
- },
1755
- "handlebars": {
1756
- "version": "4.0.12",
1757
- "resolved": "https://registry.npmjs.org/handlebars/-/handlebars-4.0.12.tgz",
1758
- "integrity": "sha512-RhmTekP+FZL+XNhwS1Wf+bTTZpdLougwt5pcgA1tuz6Jcx0fpH/7z0qd71RKnZHBCxIRBHfBOnio4gViPemNzA==",
1759
- "dev": true,
1760
- "requires": {
1761
- "async": "^2.5.0",
1762
- "optimist": "^0.6.1",
1763
- "source-map": "^0.6.1",
1764
- "uglify-js": "^3.1.4"
1765
- },
1766
- "dependencies": {
1767
- "async": {
1768
- "version": "2.6.1",
1769
- "resolved": "https://registry.npmjs.org/async/-/async-2.6.1.tgz",
1770
- "integrity": "sha512-fNEiL2+AZt6AlAw/29Cr0UDe4sRAHCpEHh54WMz+Bb7QfNcFw4h3loofyJpLeQs4Yx7yuqu/2dLgM5hKOs6HlQ==",
1771
- "dev": true,
1772
- "requires": {
1773
- "lodash": "^4.17.10"
1774
- }
1775
- },
1776
- "source-map": {
1777
- "version": "0.6.1",
1778
- "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
1779
- "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
1780
- "dev": true
1781
- }
1782
- }
1783
- },
1784
- "has-flag": {
1785
- "version": "3.0.0",
1786
- "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz",
1787
- "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=",
1788
- "dev": true
1789
- },
1790
- "has-value": {
1791
- "version": "1.0.0",
1792
- "resolved": "https://registry.npmjs.org/has-value/-/has-value-1.0.0.tgz",
1793
- "integrity": "sha1-GLKB2lhbHFxR3vJMkw7SmgvmsXc=",
1794
- "dev": true,
1795
- "requires": {
1796
- "get-value": "^2.0.6",
1797
- "has-values": "^1.0.0",
1798
- "isobject": "^3.0.0"
1799
- }
1800
- },
1801
- "has-values": {
1802
- "version": "1.0.0",
1803
- "resolved": "https://registry.npmjs.org/has-values/-/has-values-1.0.0.tgz",
1804
- "integrity": "sha1-lbC2P+whRmGab+V/51Yo1aOe/k8=",
1805
- "dev": true,
1806
- "requires": {
1807
- "is-number": "^3.0.0",
1808
- "kind-of": "^4.0.0"
1809
- },
1810
- "dependencies": {
1811
- "kind-of": {
1812
- "version": "4.0.0",
1813
- "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-4.0.0.tgz",
1814
- "integrity": "sha1-IIE989cSkosgc3hpGkUGb65y3Vc=",
1815
- "dev": true,
1816
- "requires": {
1817
- "is-buffer": "^1.1.5"
1818
- }
1819
- }
1820
- }
1821
- },
1822
- "hook-std": {
1823
- "version": "1.2.0",
1824
- "resolved": "https://registry.npmjs.org/hook-std/-/hook-std-1.2.0.tgz",
1825
- "integrity": "sha512-yntre2dbOAjgQ5yoRykyON0D9T96BfshR8IuiL/r3celeHD8I/76w4qo8m3z99houR4Z678jakV3uXrQdSvW/w==",
1826
- "dev": true
1827
- },
1828
- "hooker": {
1829
- "version": "0.2.3",
1830
- "resolved": "https://registry.npmjs.org/hooker/-/hooker-0.2.3.tgz",
1831
- "integrity": "sha1-uDT3I8xKJCqmWWNFnfbZhMXT2Vk=",
1832
- "dev": true
1833
- },
1834
- "hosted-git-info": {
1835
- "version": "2.7.1",
1836
- "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.7.1.tgz",
1837
- "integrity": "sha512-7T/BxH19zbcCTa8XkMlbK5lTo1WtgkFi3GvdWEyNuc4Vex7/9Dqbnpsf4JMydcfj9HCg4zUWFTL3Za6lapg5/w==",
1838
- "dev": true
1839
- },
1840
- "http-proxy-agent": {
1841
- "version": "2.1.0",
1842
- "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-2.1.0.tgz",
1843
- "integrity": "sha512-qwHbBLV7WviBl0rQsOzH6o5lwyOIvwp/BdFnvVxXORldu5TmjFfjzBcWUWS5kWAZhmv+JtiDhSuQCp4sBfbIgg==",
1844
- "dev": true,
1845
- "requires": {
1846
- "agent-base": "4",
1847
- "debug": "3.1.0"
1848
- },
1849
- "dependencies": {
1850
- "debug": {
1851
- "version": "3.1.0",
1852
- "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz",
1853
- "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==",
1854
- "dev": true,
1855
- "requires": {
1856
- "ms": "2.0.0"
1857
- }
1858
- },
1859
- "ms": {
1860
- "version": "2.0.0",
1861
- "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
1862
- "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=",
1863
- "dev": true
1864
- }
1865
- }
1866
- },
1867
- "https-proxy-agent": {
1868
- "version": "2.2.1",
1869
- "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-2.2.1.tgz",
1870
- "integrity": "sha512-HPCTS1LW51bcyMYbxUIOO4HEOlQ1/1qRaFWcyxvwaqUS9TY88aoEuHUY33kuAh1YhVVaDQhLZsnPd+XNARWZlQ==",
1871
- "dev": true,
1872
- "requires": {
1873
- "agent-base": "^4.1.0",
1874
- "debug": "^3.1.0"
1875
- },
1876
- "dependencies": {
1877
- "debug": {
1878
- "version": "3.2.6",
1879
- "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.6.tgz",
1880
- "integrity": "sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ==",
1881
- "dev": true,
1882
- "requires": {
1883
- "ms": "^2.1.1"
1884
- }
1885
- }
1886
- }
1887
- },
1888
- "iconv-lite": {
1889
- "version": "0.4.24",
1890
- "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz",
1891
- "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==",
1892
- "dev": true,
1893
- "requires": {
1894
- "safer-buffer": ">= 2.1.2 < 3"
1895
- }
1896
- },
1897
- "ignore": {
1898
- "version": "3.3.10",
1899
- "resolved": "https://registry.npmjs.org/ignore/-/ignore-3.3.10.tgz",
1900
- "integrity": "sha512-Pgs951kaMm5GXP7MOvxERINe3gsaVjUWFm+UZPSq9xYriQAksyhg0csnS0KXSNRD5NmNdapXEpjxG49+AKh/ug==",
1901
- "dev": true
1902
- },
1903
- "import-fresh": {
1904
- "version": "2.0.0",
1905
- "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-2.0.0.tgz",
1906
- "integrity": "sha1-2BNVwVYS04bGH53dOSLUMEgipUY=",
1907
- "dev": true,
1908
- "requires": {
1909
- "caller-path": "^2.0.0",
1910
- "resolve-from": "^3.0.0"
1911
- },
1912
- "dependencies": {
1913
- "resolve-from": {
1914
- "version": "3.0.0",
1915
- "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-3.0.0.tgz",
1916
- "integrity": "sha1-six699nWiBvItuZTM17rywoYh0g=",
1917
- "dev": true
1918
- }
1919
- }
1920
- },
1921
- "import-from": {
1922
- "version": "2.1.0",
1923
- "resolved": "https://registry.npmjs.org/import-from/-/import-from-2.1.0.tgz",
1924
- "integrity": "sha1-M1238qev/VOqpHHUuAId7ja387E=",
1925
- "dev": true,
1926
- "requires": {
1927
- "resolve-from": "^3.0.0"
1928
- },
1929
- "dependencies": {
1930
- "resolve-from": {
1931
- "version": "3.0.0",
1932
- "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-3.0.0.tgz",
1933
- "integrity": "sha1-six699nWiBvItuZTM17rywoYh0g=",
1934
- "dev": true
1935
- }
1936
- }
1937
- },
1938
- "indent-string": {
1939
- "version": "3.2.0",
1940
- "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-3.2.0.tgz",
1941
- "integrity": "sha1-Sl/W0nzDMvN+VBmlBNu4NxBckok=",
1942
- "dev": true
1943
- },
1944
- "inflight": {
1945
- "version": "1.0.6",
1946
- "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz",
1947
- "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=",
1948
- "dev": true,
1949
- "requires": {
1950
- "once": "^1.3.0",
1951
- "wrappy": "1"
1952
- }
1953
- },
1954
- "inherits": {
1955
- "version": "2.0.3",
1956
- "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz",
1957
- "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=",
1958
- "dev": true
1959
- },
1960
- "ini": {
1961
- "version": "1.3.5",
1962
- "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.5.tgz",
1963
- "integrity": "sha512-RZY5huIKCMRWDUqZlEi72f/lmXKMvuszcMBduliQ3nnWbx9X/ZBQO7DijMEYS9EhHBb2qacRUMtC7svLwe0lcw==",
1964
- "dev": true
1965
- },
1966
- "into-stream": {
1967
- "version": "4.0.0",
1968
- "resolved": "https://registry.npmjs.org/into-stream/-/into-stream-4.0.0.tgz",
1969
- "integrity": "sha512-i29KNyE5r0Y/UQzcQ0IbZO1MYJ53Jn0EcFRZPj5FzWKYH17kDFEOwuA+3jroymOI06SW1dEDnly9A1CAreC5dg==",
1970
- "dev": true,
1971
- "requires": {
1972
- "from2": "^2.1.1",
1973
- "p-is-promise": "^2.0.0"
1974
- }
1975
- },
1976
- "invert-kv": {
1977
- "version": "2.0.0",
1978
- "resolved": "https://registry.npmjs.org/invert-kv/-/invert-kv-2.0.0.tgz",
1979
- "integrity": "sha512-wPVv/y/QQ/Uiirj/vh3oP+1Ww+AWehmi1g5fFWGPF6IpCBCDVrhgHRMvrLfdYcwDh3QJbGXDW4JAuzxElLSqKA==",
1980
- "dev": true
1981
- },
1982
- "is-accessor-descriptor": {
1983
- "version": "0.1.6",
1984
- "resolved": "http://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz",
1985
- "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=",
1986
- "dev": true,
1987
- "requires": {
1988
- "kind-of": "^3.0.2"
1989
- },
1990
- "dependencies": {
1991
- "kind-of": {
1992
- "version": "3.2.2",
1993
- "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
1994
- "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
1995
- "dev": true,
1996
- "requires": {
1997
- "is-buffer": "^1.1.5"
1998
- }
1999
- }
2000
- }
2001
- },
2002
- "is-arrayish": {
2003
- "version": "0.2.1",
2004
- "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz",
2005
- "integrity": "sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0=",
2006
- "dev": true
2007
- },
2008
- "is-buffer": {
2009
- "version": "1.1.6",
2010
- "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz",
2011
- "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==",
2012
- "dev": true
2013
- },
2014
- "is-builtin-module": {
2015
- "version": "1.0.0",
2016
- "resolved": "http://registry.npmjs.org/is-builtin-module/-/is-builtin-module-1.0.0.tgz",
2017
- "integrity": "sha1-VAVy0096wxGfj3bDDLwbHgN6/74=",
2018
- "dev": true,
2019
- "requires": {
2020
- "builtin-modules": "^1.0.0"
2021
- }
2022
- },
2023
- "is-data-descriptor": {
2024
- "version": "0.1.4",
2025
- "resolved": "http://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz",
2026
- "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=",
2027
- "dev": true,
2028
- "requires": {
2029
- "kind-of": "^3.0.2"
2030
- },
2031
- "dependencies": {
2032
- "kind-of": {
2033
- "version": "3.2.2",
2034
- "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
2035
- "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
2036
- "dev": true,
2037
- "requires": {
2038
- "is-buffer": "^1.1.5"
2039
- }
2040
- }
2041
- }
2042
- },
2043
- "is-descriptor": {
2044
- "version": "0.1.6",
2045
- "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz",
2046
- "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==",
2047
- "dev": true,
2048
- "requires": {
2049
- "is-accessor-descriptor": "^0.1.6",
2050
- "is-data-descriptor": "^0.1.4",
2051
- "kind-of": "^5.0.0"
2052
- },
2053
- "dependencies": {
2054
- "kind-of": {
2055
- "version": "5.1.0",
2056
- "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz",
2057
- "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==",
2058
- "dev": true
2059
- }
2060
- }
2061
- },
2062
- "is-directory": {
2063
- "version": "0.3.1",
2064
- "resolved": "https://registry.npmjs.org/is-directory/-/is-directory-0.3.1.tgz",
2065
- "integrity": "sha1-YTObbyR1/Hcv2cnYP1yFddwVSuE=",
2066
- "dev": true
2067
- },
2068
- "is-extendable": {
2069
- "version": "0.1.1",
2070
- "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz",
2071
- "integrity": "sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik=",
2072
- "dev": true
2073
- },
2074
- "is-extglob": {
2075
- "version": "2.1.1",
2076
- "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz",
2077
- "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=",
2078
- "dev": true
2079
- },
2080
- "is-finite": {
2081
- "version": "1.0.2",
2082
- "resolved": "https://registry.npmjs.org/is-finite/-/is-finite-1.0.2.tgz",
2083
- "integrity": "sha1-zGZ3aVYCvlUO8R6LSqYwU0K20Ko=",
2084
- "dev": true,
2085
- "requires": {
2086
- "number-is-nan": "^1.0.0"
2087
- }
2088
- },
2089
- "is-fullwidth-code-point": {
2090
- "version": "2.0.0",
2091
- "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz",
2092
- "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=",
2093
- "dev": true
2094
- },
2095
- "is-glob": {
2096
- "version": "4.0.0",
2097
- "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.0.tgz",
2098
- "integrity": "sha1-lSHHaEXMJhCoUgPd8ICpWML/q8A=",
2099
- "dev": true,
2100
- "requires": {
2101
- "is-extglob": "^2.1.1"
2102
- }
2103
- },
2104
- "is-number": {
2105
- "version": "3.0.0",
2106
- "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz",
2107
- "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=",
2108
- "dev": true,
2109
- "requires": {
2110
- "kind-of": "^3.0.2"
2111
- },
2112
- "dependencies": {
2113
- "kind-of": {
2114
- "version": "3.2.2",
2115
- "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
2116
- "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
2117
- "dev": true,
2118
- "requires": {
2119
- "is-buffer": "^1.1.5"
2120
- }
2121
- }
2122
- }
2123
- },
2124
- "is-obj": {
2125
- "version": "1.0.1",
2126
- "resolved": "http://registry.npmjs.org/is-obj/-/is-obj-1.0.1.tgz",
2127
- "integrity": "sha1-PkcprB9f3gJc19g6iW2rn09n2w8=",
2128
- "dev": true
2129
- },
2130
- "is-plain-obj": {
2131
- "version": "1.1.0",
2132
- "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-1.1.0.tgz",
2133
- "integrity": "sha1-caUMhCnfync8kqOQpKA7OfzVHT4=",
2134
- "dev": true
2135
- },
2136
- "is-plain-object": {
2137
- "version": "2.0.4",
2138
- "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz",
2139
- "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==",
2140
- "dev": true,
2141
- "requires": {
2142
- "isobject": "^3.0.1"
2143
- }
2144
- },
2145
- "is-stream": {
2146
- "version": "1.1.0",
2147
- "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz",
2148
- "integrity": "sha1-EtSj3U5o4Lec6428hBc66A2RykQ=",
2149
- "dev": true
2150
- },
2151
- "is-subset": {
2152
- "version": "0.1.1",
2153
- "resolved": "https://registry.npmjs.org/is-subset/-/is-subset-0.1.1.tgz",
2154
- "integrity": "sha1-ilkRfZMt4d4A8kX83TnOQ/HpOaY=",
2155
- "dev": true
2156
- },
2157
- "is-text-path": {
2158
- "version": "1.0.1",
2159
- "resolved": "https://registry.npmjs.org/is-text-path/-/is-text-path-1.0.1.tgz",
2160
- "integrity": "sha1-Thqg+1G/vLPpJogAE5cgLBd1tm4=",
2161
- "dev": true,
2162
- "requires": {
2163
- "text-extensions": "^1.0.0"
2164
- }
2165
- },
2166
- "is-utf8": {
2167
- "version": "0.2.1",
2168
- "resolved": "https://registry.npmjs.org/is-utf8/-/is-utf8-0.2.1.tgz",
2169
- "integrity": "sha1-Sw2hRCEE0bM2NA6AeX6GXPOffXI=",
2170
- "dev": true
2171
- },
2172
- "is-windows": {
2173
- "version": "1.0.2",
2174
- "resolved": "https://registry.npmjs.org/is-windows/-/is-windows-1.0.2.tgz",
2175
- "integrity": "sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA==",
2176
- "dev": true
2177
- },
2178
- "isarray": {
2179
- "version": "1.0.0",
2180
- "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz",
2181
- "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=",
2182
- "dev": true
2183
- },
2184
- "isexe": {
2185
- "version": "2.0.0",
2186
- "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz",
2187
- "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=",
2188
- "dev": true
2189
- },
2190
- "isobject": {
2191
- "version": "3.0.1",
2192
- "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz",
2193
- "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=",
2194
- "dev": true
2195
- },
2196
- "issue-parser": {
2197
- "version": "3.0.1",
2198
- "resolved": "https://registry.npmjs.org/issue-parser/-/issue-parser-3.0.1.tgz",
2199
- "integrity": "sha512-5wdT3EE8Kq38x/hJD8QZCJ9scGoOZ5QnzwXyClkviSWTS+xOCE6hJ0qco3H5n5jCsFqpbofZCcMWqlXJzF72VQ==",
2200
- "dev": true,
2201
- "requires": {
2202
- "lodash.capitalize": "^4.2.1",
2203
- "lodash.escaperegexp": "^4.1.2",
2204
- "lodash.isplainobject": "^4.0.6",
2205
- "lodash.isstring": "^4.0.1",
2206
- "lodash.uniqby": "^4.7.0"
2207
- }
2208
- },
2209
- "java-properties": {
2210
- "version": "0.2.10",
2211
- "resolved": "https://registry.npmjs.org/java-properties/-/java-properties-0.2.10.tgz",
2212
- "integrity": "sha512-CpKJh9VRNhS+XqZtg1UMejETGEiqwCGDC/uwPEEQwc2nfdbSm73SIE29TplG2gLYuBOOTNDqxzG6A9NtEPLt0w==",
2213
- "dev": true
2214
- },
2215
- "js-yaml": {
2216
- "version": "3.5.5",
2217
- "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.5.5.tgz",
2218
- "integrity": "sha1-A3fDgBfKvHMisNH7zSWkkWQfL74=",
2219
- "dev": true,
2220
- "requires": {
2221
- "argparse": "^1.0.2",
2222
- "esprima": "^2.6.0"
2223
- }
2224
- },
2225
- "json-parse-better-errors": {
2226
- "version": "1.0.2",
2227
- "resolved": "https://registry.npmjs.org/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz",
2228
- "integrity": "sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw==",
2229
- "dev": true
2230
- },
2231
- "json-stringify-safe": {
2232
- "version": "5.0.1",
2233
- "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz",
2234
- "integrity": "sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus=",
2235
- "dev": true
2236
- },
2237
- "jsonfile": {
2238
- "version": "4.0.0",
2239
- "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz",
2240
- "integrity": "sha1-h3Gq4HmbZAdrdmQPygWPnBDjPss=",
2241
- "dev": true,
2242
- "requires": {
2243
- "graceful-fs": "^4.1.6"
2244
- }
2245
- },
2246
- "jsonparse": {
2247
- "version": "1.3.1",
2248
- "resolved": "https://registry.npmjs.org/jsonparse/-/jsonparse-1.3.1.tgz",
2249
- "integrity": "sha1-P02uSpH6wxX3EGL4UhzCOfE2YoA=",
2250
- "dev": true
2251
- },
2252
- "kind-of": {
2253
- "version": "6.0.2",
2254
- "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.2.tgz",
2255
- "integrity": "sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA==",
2256
- "dev": true
2257
- },
2258
- "lcid": {
2259
- "version": "2.0.0",
2260
- "resolved": "https://registry.npmjs.org/lcid/-/lcid-2.0.0.tgz",
2261
- "integrity": "sha512-avPEb8P8EGnwXKClwsNUgryVjllcRqtMYa49NTsbQagYuT1DcXnl1915oxWjoyGrXR6zH/Y0Zc96xWsPcoDKeA==",
2262
- "dev": true,
2263
- "requires": {
2264
- "invert-kv": "^2.0.0"
2265
- }
2266
- },
2267
- "load-json-file": {
2268
- "version": "1.1.0",
2269
- "resolved": "http://registry.npmjs.org/load-json-file/-/load-json-file-1.1.0.tgz",
2270
- "integrity": "sha1-lWkFcI1YtLq0wiYbBPWfMcmTdMA=",
2271
- "dev": true,
2272
- "requires": {
2273
- "graceful-fs": "^4.1.2",
2274
- "parse-json": "^2.2.0",
2275
- "pify": "^2.0.0",
2276
- "pinkie-promise": "^2.0.0",
2277
- "strip-bom": "^2.0.0"
2278
- },
2279
- "dependencies": {
2280
- "parse-json": {
2281
- "version": "2.2.0",
2282
- "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-2.2.0.tgz",
2283
- "integrity": "sha1-9ID0BDTvgHQfhGkJn43qGPVaTck=",
2284
- "dev": true,
2285
- "requires": {
2286
- "error-ex": "^1.2.0"
2287
- }
2288
- },
2289
- "pify": {
2290
- "version": "2.3.0",
2291
- "resolved": "http://registry.npmjs.org/pify/-/pify-2.3.0.tgz",
2292
- "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=",
2293
- "dev": true
2294
- }
2295
- }
2296
- },
2297
- "locate-path": {
2298
- "version": "2.0.0",
2299
- "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-2.0.0.tgz",
2300
- "integrity": "sha1-K1aLJl7slExtnA3pw9u7ygNUzY4=",
2301
- "dev": true,
2302
- "requires": {
2303
- "p-locate": "^2.0.0",
2304
- "path-exists": "^3.0.0"
2305
- },
2306
- "dependencies": {
2307
- "p-locate": {
2308
- "version": "2.0.0",
2309
- "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-2.0.0.tgz",
2310
- "integrity": "sha1-IKAQOyIqcMj9OcwuWAaA893l7EM=",
2311
- "dev": true,
2312
- "requires": {
2313
- "p-limit": "^1.1.0"
2314
- }
2315
- },
2316
- "path-exists": {
2317
- "version": "3.0.0",
2318
- "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz",
2319
- "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=",
2320
- "dev": true
2321
- }
2322
- }
2323
- },
2324
- "lodash": {
2325
- "version": "4.17.11",
2326
- "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.11.tgz",
2327
- "integrity": "sha512-cQKh8igo5QUhZ7lg38DYWAxMvjSAKG0A8wGSVimP07SIUEK2UO+arSRKbRZWtelMtN5V0Hkwh5ryOto/SshYIg==",
2328
- "dev": true
2329
- },
2330
- "lodash.assign": {
2331
- "version": "4.2.0",
2332
- "resolved": "https://registry.npmjs.org/lodash.assign/-/lodash.assign-4.2.0.tgz",
2333
- "integrity": "sha1-DZnzzNem0mHRm9rrkkUAXShYCOc=",
2334
- "dev": true
2335
- },
2336
- "lodash.capitalize": {
2337
- "version": "4.2.1",
2338
- "resolved": "https://registry.npmjs.org/lodash.capitalize/-/lodash.capitalize-4.2.1.tgz",
2339
- "integrity": "sha1-+CbJtOKoUR2E46yinbBeGk87cqk=",
2340
- "dev": true
2341
- },
2342
- "lodash.escaperegexp": {
2343
- "version": "4.1.2",
2344
- "resolved": "https://registry.npmjs.org/lodash.escaperegexp/-/lodash.escaperegexp-4.1.2.tgz",
2345
- "integrity": "sha1-ZHYsSGGAglGKw99Mz11YhtriA0c=",
2346
- "dev": true
2347
- },
2348
- "lodash.get": {
2349
- "version": "4.4.2",
2350
- "resolved": "https://registry.npmjs.org/lodash.get/-/lodash.get-4.4.2.tgz",
2351
- "integrity": "sha1-LRd/ZS+jHpObRDjVNBSZ36OCXpk=",
2352
- "dev": true
2353
- },
2354
- "lodash.isplainobject": {
2355
- "version": "4.0.6",
2356
- "resolved": "https://registry.npmjs.org/lodash.isplainobject/-/lodash.isplainobject-4.0.6.tgz",
2357
- "integrity": "sha1-fFJqUtibRcRcxpC4gWO+BJf1UMs=",
2358
- "dev": true
2359
- },
2360
- "lodash.isstring": {
2361
- "version": "4.0.1",
2362
- "resolved": "https://registry.npmjs.org/lodash.isstring/-/lodash.isstring-4.0.1.tgz",
2363
- "integrity": "sha1-1SfftUVuynzJu5XV2ur4i6VKVFE=",
2364
- "dev": true
2365
- },
2366
- "lodash.pick": {
2367
- "version": "4.4.0",
2368
- "resolved": "https://registry.npmjs.org/lodash.pick/-/lodash.pick-4.4.0.tgz",
2369
- "integrity": "sha1-UvBWEP/53tQiYRRB7R/BI6AwAbM=",
2370
- "dev": true
2371
- },
2372
- "lodash.set": {
2373
- "version": "4.3.2",
2374
- "resolved": "https://registry.npmjs.org/lodash.set/-/lodash.set-4.3.2.tgz",
2375
- "integrity": "sha1-2HV7HagH3eJIFrDWqEvqGnYjCyM=",
2376
- "dev": true
2377
- },
2378
- "lodash.toarray": {
2379
- "version": "4.4.0",
2380
- "resolved": "https://registry.npmjs.org/lodash.toarray/-/lodash.toarray-4.4.0.tgz",
2381
- "integrity": "sha1-JMS/zWsvuji/0FlNsRedjptlZWE=",
2382
- "dev": true
2383
- },
2384
- "lodash.uniq": {
2385
- "version": "4.5.0",
2386
- "resolved": "https://registry.npmjs.org/lodash.uniq/-/lodash.uniq-4.5.0.tgz",
2387
- "integrity": "sha1-0CJTc662Uq3BvILklFM5qEJ1R3M=",
2388
- "dev": true
2389
- },
2390
- "lodash.uniqby": {
2391
- "version": "4.7.0",
2392
- "resolved": "https://registry.npmjs.org/lodash.uniqby/-/lodash.uniqby-4.7.0.tgz",
2393
- "integrity": "sha1-2ZwHpmnp5tJOE2Lf4mbGdhavEwI=",
2394
- "dev": true
2395
- },
2396
- "loud-rejection": {
2397
- "version": "1.6.0",
2398
- "resolved": "https://registry.npmjs.org/loud-rejection/-/loud-rejection-1.6.0.tgz",
2399
- "integrity": "sha1-W0b4AUft7leIcPCG0Eghz5mOVR8=",
2400
- "dev": true,
2401
- "requires": {
2402
- "currently-unhandled": "^0.4.1",
2403
- "signal-exit": "^3.0.0"
2404
- }
2405
- },
2406
- "macos-release": {
2407
- "version": "2.0.0",
2408
- "resolved": "https://registry.npmjs.org/macos-release/-/macos-release-2.0.0.tgz",
2409
- "integrity": "sha512-iCM3ZGeqIzlrH7KxYK+fphlJpCCczyHXc+HhRVbEu9uNTCrzYJjvvtefzeKTCVHd5AP/aD/fzC80JZ4ZP+dQ/A==",
2410
- "dev": true
2411
- },
2412
- "map-age-cleaner": {
2413
- "version": "0.1.3",
2414
- "resolved": "https://registry.npmjs.org/map-age-cleaner/-/map-age-cleaner-0.1.3.tgz",
2415
- "integrity": "sha512-bJzx6nMoP6PDLPBFmg7+xRKeFZvFboMrGlxmNj9ClvX53KrmvM5bXFXEWjbz4cz1AFn+jWJ9z/DJSz7hrs0w3w==",
2416
- "dev": true,
2417
- "requires": {
2418
- "p-defer": "^1.0.0"
2419
- }
2420
- },
2421
- "map-cache": {
2422
- "version": "0.2.2",
2423
- "resolved": "https://registry.npmjs.org/map-cache/-/map-cache-0.2.2.tgz",
2424
- "integrity": "sha1-wyq9C9ZSXZsFFkW7TyasXcmKDb8=",
2425
- "dev": true
2426
- },
2427
- "map-obj": {
2428
- "version": "1.0.1",
2429
- "resolved": "https://registry.npmjs.org/map-obj/-/map-obj-1.0.1.tgz",
2430
- "integrity": "sha1-2TPOuSBdgr3PSIb2dCvcK03qFG0=",
2431
- "dev": true
2432
- },
2433
- "map-visit": {
2434
- "version": "1.0.0",
2435
- "resolved": "https://registry.npmjs.org/map-visit/-/map-visit-1.0.0.tgz",
2436
- "integrity": "sha1-7Nyo8TFE5mDxtb1B8S80edmN+48=",
2437
- "dev": true,
2438
- "requires": {
2439
- "object-visit": "^1.0.0"
2440
- }
2441
- },
2442
- "marked": {
2443
- "version": "0.5.2",
2444
- "resolved": "https://registry.npmjs.org/marked/-/marked-0.5.2.tgz",
2445
- "integrity": "sha512-fdZvBa7/vSQIZCi4uuwo2N3q+7jJURpMVCcbaX0S1Mg65WZ5ilXvC67MviJAsdjqqgD+CEq4RKo5AYGgINkVAA==",
2446
- "dev": true
2447
- },
2448
- "marked-terminal": {
2449
- "version": "3.1.1",
2450
- "resolved": "https://registry.npmjs.org/marked-terminal/-/marked-terminal-3.1.1.tgz",
2451
- "integrity": "sha512-7UBFww1rdx0w9HehLMCVYa8/AxXaiDigDfMsJcj82/wgLQG9cj+oiMAVlJpeWD57VFJY2OYY+bKeEVIjIlxi+w==",
2452
- "dev": true,
2453
- "requires": {
2454
- "cardinal": "^2.1.1",
2455
- "chalk": "^2.4.1",
2456
- "cli-table": "^0.3.1",
2457
- "lodash.assign": "^4.2.0",
2458
- "node-emoji": "^1.4.1"
2459
- }
2460
- },
2461
- "mem": {
2462
- "version": "4.0.0",
2463
- "resolved": "https://registry.npmjs.org/mem/-/mem-4.0.0.tgz",
2464
- "integrity": "sha512-WQxG/5xYc3tMbYLXoXPm81ET2WDULiU5FxbuIoNbJqLOOI8zehXFdZuiUEgfdrU2mVB1pxBZUGlYORSrpuJreA==",
2465
- "dev": true,
2466
- "requires": {
2467
- "map-age-cleaner": "^0.1.1",
2468
- "mimic-fn": "^1.0.0",
2469
- "p-is-promise": "^1.1.0"
2470
- },
2471
- "dependencies": {
2472
- "p-is-promise": {
2473
- "version": "1.1.0",
2474
- "resolved": "http://registry.npmjs.org/p-is-promise/-/p-is-promise-1.1.0.tgz",
2475
- "integrity": "sha1-nJRWmJ6fZYgBewQ01WCXZ1w9oF4=",
2476
- "dev": true
2477
- }
2478
- }
2479
- },
2480
- "meow": {
2481
- "version": "3.7.0",
2482
- "resolved": "http://registry.npmjs.org/meow/-/meow-3.7.0.tgz",
2483
- "integrity": "sha1-cstmi0JSKCkKu/qFaJJYcwioAfs=",
2484
- "dev": true,
2485
- "requires": {
2486
- "camelcase-keys": "^2.0.0",
2487
- "decamelize": "^1.1.2",
2488
- "loud-rejection": "^1.0.0",
2489
- "map-obj": "^1.0.1",
2490
- "minimist": "^1.1.3",
2491
- "normalize-package-data": "^2.3.4",
2492
- "object-assign": "^4.0.1",
2493
- "read-pkg-up": "^1.0.1",
2494
- "redent": "^1.0.0",
2495
- "trim-newlines": "^1.0.0"
2496
- }
2497
- },
2498
- "merge2": {
2499
- "version": "1.2.3",
2500
- "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.2.3.tgz",
2501
- "integrity": "sha512-gdUU1Fwj5ep4kplwcmftruWofEFt6lfpkkr3h860CXbAB9c3hGb55EOL2ali0Td5oebvW0E1+3Sr+Ur7XfKpRA==",
2502
- "dev": true
2503
- },
2504
- "micromatch": {
2505
- "version": "3.1.10",
2506
- "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz",
2507
- "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==",
2508
- "dev": true,
2509
- "requires": {
2510
- "arr-diff": "^4.0.0",
2511
- "array-unique": "^0.3.2",
2512
- "braces": "^2.3.1",
2513
- "define-property": "^2.0.2",
2514
- "extend-shallow": "^3.0.2",
2515
- "extglob": "^2.0.4",
2516
- "fragment-cache": "^0.2.1",
2517
- "kind-of": "^6.0.2",
2518
- "nanomatch": "^1.2.9",
2519
- "object.pick": "^1.3.0",
2520
- "regex-not": "^1.0.0",
2521
- "snapdragon": "^0.8.1",
2522
- "to-regex": "^3.0.2"
2523
- }
2524
- },
2525
- "mime": {
2526
- "version": "2.4.0",
2527
- "resolved": "https://registry.npmjs.org/mime/-/mime-2.4.0.tgz",
2528
- "integrity": "sha512-ikBcWwyqXQSHKtciCcctu9YfPbFYZ4+gbHEmE0Q8jzcTYQg5dHCr3g2wwAZjPoJfQVXZq6KXAjpXOTf5/cjT7w==",
2529
- "dev": true
2530
- },
2531
- "mimic-fn": {
2532
- "version": "1.2.0",
2533
- "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-1.2.0.tgz",
2534
- "integrity": "sha512-jf84uxzwiuiIVKiOLpfYk7N46TSy8ubTonmneY9vrpHNAnp0QBt2BxWV9dO3/j+BoVAb+a5G6YDPW3M5HOdMWQ==",
2535
- "dev": true
2536
- },
2537
- "minimatch": {
2538
- "version": "3.0.4",
2539
- "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz",
2540
- "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==",
2541
- "dev": true,
2542
- "requires": {
2543
- "brace-expansion": "^1.1.7"
2544
- }
2545
- },
2546
- "minimist": {
2547
- "version": "1.2.0",
2548
- "resolved": "http://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz",
2549
- "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=",
2550
- "dev": true
2551
- },
2552
- "minimist-options": {
2553
- "version": "3.0.2",
2554
- "resolved": "https://registry.npmjs.org/minimist-options/-/minimist-options-3.0.2.tgz",
2555
- "integrity": "sha512-FyBrT/d0d4+uiZRbqznPXqw3IpZZG3gl3wKWiX784FycUKVwBt0uLBFkQrtE4tZOrgo78nZp2jnKz3L65T5LdQ==",
2556
- "dev": true,
2557
- "requires": {
2558
- "arrify": "^1.0.1",
2559
- "is-plain-obj": "^1.1.0"
2560
- }
2561
- },
2562
- "mixin-deep": {
2563
- "version": "1.3.1",
2564
- "resolved": "https://registry.npmjs.org/mixin-deep/-/mixin-deep-1.3.1.tgz",
2565
- "integrity": "sha512-8ZItLHeEgaqEvd5lYBXfm4EZSFCX29Jb9K+lAHhDKzReKBQKj3R+7NOF6tjqYi9t4oI8VUfaWITJQm86wnXGNQ==",
2566
- "dev": true,
2567
- "requires": {
2568
- "for-in": "^1.0.2",
2569
- "is-extendable": "^1.0.1"
2570
- },
2571
- "dependencies": {
2572
- "is-extendable": {
2573
- "version": "1.0.1",
2574
- "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz",
2575
- "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==",
2576
- "dev": true,
2577
- "requires": {
2578
- "is-plain-object": "^2.0.4"
2579
- }
2580
- }
2581
- }
2582
- },
2583
- "mkdirp": {
2584
- "version": "0.5.1",
2585
- "resolved": "http://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz",
2586
- "integrity": "sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM=",
2587
- "dev": true,
2588
- "requires": {
2589
- "minimist": "0.0.8"
2590
- },
2591
- "dependencies": {
2592
- "minimist": {
2593
- "version": "0.0.8",
2594
- "resolved": "http://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz",
2595
- "integrity": "sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0=",
2596
- "dev": true
2597
- }
2598
- }
2599
- },
2600
- "modify-values": {
2601
- "version": "1.0.1",
2602
- "resolved": "https://registry.npmjs.org/modify-values/-/modify-values-1.0.1.tgz",
2603
- "integrity": "sha512-xV2bxeN6F7oYjZWTe/YPAy6MN2M+sL4u/Rlm2AHCIVGfo2p1yGmBHQ6vHehl4bRTZBdHu3TSkWdYgkwpYzAGSw==",
2604
- "dev": true
2605
- },
2606
- "ms": {
2607
- "version": "2.1.1",
2608
- "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.1.tgz",
2609
- "integrity": "sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg==",
2610
- "dev": true
2611
- },
2612
- "nanomatch": {
2613
- "version": "1.2.13",
2614
- "resolved": "https://registry.npmjs.org/nanomatch/-/nanomatch-1.2.13.tgz",
2615
- "integrity": "sha512-fpoe2T0RbHwBTBUOftAfBPaDEi06ufaUai0mE6Yn1kacc3SnTErfb/h+X94VXzI64rKFHYImXSvdwGGCmwOqCA==",
2616
- "dev": true,
2617
- "requires": {
2618
- "arr-diff": "^4.0.0",
2619
- "array-unique": "^0.3.2",
2620
- "define-property": "^2.0.2",
2621
- "extend-shallow": "^3.0.2",
2622
- "fragment-cache": "^0.2.1",
2623
- "is-windows": "^1.0.2",
2624
- "kind-of": "^6.0.2",
2625
- "object.pick": "^1.3.0",
2626
- "regex-not": "^1.0.0",
2627
- "snapdragon": "^0.8.1",
2628
- "to-regex": "^3.0.1"
2629
- }
2630
- },
2631
- "nerf-dart": {
2632
- "version": "1.0.0",
2633
- "resolved": "https://registry.npmjs.org/nerf-dart/-/nerf-dart-1.0.0.tgz",
2634
- "integrity": "sha1-5tq3/r9a2Bbqgc9cYpxaDr3nLBo=",
2635
- "dev": true
2636
- },
2637
- "nice-try": {
2638
- "version": "1.0.5",
2639
- "resolved": "https://registry.npmjs.org/nice-try/-/nice-try-1.0.5.tgz",
2640
- "integrity": "sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ==",
2641
- "dev": true
2642
- },
2643
- "node-emoji": {
2644
- "version": "1.8.1",
2645
- "resolved": "https://registry.npmjs.org/node-emoji/-/node-emoji-1.8.1.tgz",
2646
- "integrity": "sha512-+ktMAh1Jwas+TnGodfCfjUbJKoANqPaJFN0z0iqh41eqD8dvguNzcitVSBSVK1pidz0AqGbLKcoVuVLRVZ/aVg==",
2647
- "dev": true,
2648
- "requires": {
2649
- "lodash.toarray": "^4.4.0"
2650
- }
2651
- },
2652
- "node-fetch": {
2653
- "version": "2.3.0",
2654
- "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.3.0.tgz",
2655
- "integrity": "sha512-MOd8pV3fxENbryESLgVIeaGKrdl+uaYhCSSVkjeOb/31/njTpcis5aWfdqgNlHIrKOLRbMnfPINPOML2CIFeXA==",
2656
- "dev": true
2657
- },
2658
- "nopt": {
2659
- "version": "3.0.6",
2660
- "resolved": "https://registry.npmjs.org/nopt/-/nopt-3.0.6.tgz",
2661
- "integrity": "sha1-xkZdvwirzU2zWTF/eaxopkayj/k=",
2662
- "dev": true,
2663
- "requires": {
2664
- "abbrev": "1"
2665
- }
2666
- },
2667
- "normalize-package-data": {
2668
- "version": "2.4.0",
2669
- "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.4.0.tgz",
2670
- "integrity": "sha512-9jjUFbTPfEy3R/ad/2oNbKtW9Hgovl5O1FvFWKkKblNXoN/Oou6+9+KKohPK13Yc3/TyunyWhJp6gvRNR/PPAw==",
2671
- "dev": true,
2672
- "requires": {
2673
- "hosted-git-info": "^2.1.4",
2674
- "is-builtin-module": "^1.0.0",
2675
- "semver": "2 || 3 || 4 || 5",
2676
- "validate-npm-package-license": "^3.0.1"
2677
- }
2678
- },
2679
- "normalize-url": {
2680
- "version": "4.1.0",
2681
- "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-4.1.0.tgz",
2682
- "integrity": "sha512-X781mkWeK6PDMAZJfGn/wnwil4dV6pIdF9euiNqtA89uJvZuNDJO2YyJxiwpPhTQcF5pYUU1v+kcOxzYV6rZlA==",
2683
- "dev": true
2684
- },
2685
- "npm": {
2686
- "version": "6.5.0",
2687
- "resolved": "https://registry.npmjs.org/npm/-/npm-6.5.0.tgz",
2688
- "integrity": "sha512-SPq8zG2Kto+Xrq55E97O14Jla13PmQT5kSnvwBj88BmJZ5Nvw++OmlWfhjkB67pcgP5UEXljEtnGFKZtOgt6MQ==",
2689
- "dev": true,
2690
- "requires": {
2691
- "JSONStream": "^1.3.4",
2692
- "abbrev": "~1.1.1",
2693
- "ansicolors": "~0.3.2",
2694
- "ansistyles": "~0.1.3",
2695
- "aproba": "~1.2.0",
2696
- "archy": "~1.0.0",
2697
- "bin-links": "^1.1.2",
2698
- "bluebird": "^3.5.3",
2699
- "byte-size": "^4.0.3",
2700
- "cacache": "^11.2.0",
2701
- "call-limit": "~1.1.0",
2702
- "chownr": "~1.0.1",
2703
- "ci-info": "^1.6.0",
2704
- "cli-columns": "^3.1.2",
2705
- "cli-table3": "^0.5.0",
2706
- "cmd-shim": "~2.0.2",
2707
- "columnify": "~1.5.4",
2708
- "config-chain": "^1.1.12",
2709
- "debuglog": "*",
2710
- "detect-indent": "~5.0.0",
2711
- "detect-newline": "^2.1.0",
2712
- "dezalgo": "~1.0.3",
2713
- "editor": "~1.0.0",
2714
- "figgy-pudding": "^3.5.1",
2715
- "find-npm-prefix": "^1.0.2",
2716
- "fs-vacuum": "~1.2.10",
2717
- "fs-write-stream-atomic": "~1.0.10",
2718
- "gentle-fs": "^2.0.1",
2719
- "glob": "^7.1.3",
2720
- "graceful-fs": "^4.1.15",
2721
- "has-unicode": "~2.0.1",
2722
- "hosted-git-info": "^2.7.1",
2723
- "iferr": "^1.0.2",
2724
- "imurmurhash": "*",
2725
- "inflight": "~1.0.6",
2726
- "inherits": "~2.0.3",
2727
- "ini": "^1.3.5",
2728
- "init-package-json": "^1.10.3",
2729
- "is-cidr": "^2.0.6",
2730
- "json-parse-better-errors": "^1.0.2",
2731
- "lazy-property": "~1.0.0",
2732
- "libcipm": "^2.0.2",
2733
- "libnpmhook": "^4.0.1",
2734
- "libnpx": "^10.2.0",
2735
- "lock-verify": "^2.0.2",
2736
- "lockfile": "^1.0.4",
2737
- "lodash._baseindexof": "*",
2738
- "lodash._baseuniq": "~4.6.0",
2739
- "lodash._bindcallback": "*",
2740
- "lodash._cacheindexof": "*",
2741
- "lodash._createcache": "*",
2742
- "lodash._getnative": "*",
2743
- "lodash.clonedeep": "~4.5.0",
2744
- "lodash.restparam": "*",
2745
- "lodash.union": "~4.6.0",
2746
- "lodash.uniq": "~4.5.0",
2747
- "lodash.without": "~4.4.0",
2748
- "lru-cache": "^4.1.3",
2749
- "meant": "~1.0.1",
2750
- "mississippi": "^3.0.0",
2751
- "mkdirp": "~0.5.1",
2752
- "move-concurrently": "^1.0.1",
2753
- "node-gyp": "^3.8.0",
2754
- "nopt": "~4.0.1",
2755
- "normalize-package-data": "~2.4.0",
2756
- "npm-audit-report": "^1.3.1",
2757
- "npm-cache-filename": "~1.0.2",
2758
- "npm-install-checks": "~3.0.0",
2759
- "npm-lifecycle": "^2.1.0",
2760
- "npm-package-arg": "^6.1.0",
2761
- "npm-packlist": "^1.1.12",
2762
- "npm-pick-manifest": "^2.1.0",
2763
- "npm-profile": "^3.0.2",
2764
- "npm-registry-client": "^8.6.0",
2765
- "npm-registry-fetch": "^1.1.0",
2766
- "npm-user-validate": "~1.0.0",
2767
- "npmlog": "~4.1.2",
2768
- "once": "~1.4.0",
2769
- "opener": "^1.5.1",
2770
- "osenv": "^0.1.5",
2771
- "pacote": "^8.1.6",
2772
- "path-is-inside": "~1.0.2",
2773
- "promise-inflight": "~1.0.1",
2774
- "qrcode-terminal": "^0.12.0",
2775
- "query-string": "^6.1.0",
2776
- "qw": "~1.0.1",
2777
- "read": "~1.0.7",
2778
- "read-cmd-shim": "~1.0.1",
2779
- "read-installed": "~4.0.3",
2780
- "read-package-json": "^2.0.13",
2781
- "read-package-tree": "^5.2.1",
2782
- "readable-stream": "^2.3.6",
2783
- "readdir-scoped-modules": "*",
2784
- "request": "^2.88.0",
2785
- "retry": "^0.12.0",
2786
- "rimraf": "~2.6.2",
2787
- "safe-buffer": "^5.1.2",
2788
- "semver": "^5.5.1",
2789
- "sha": "~2.0.1",
2790
- "slide": "~1.1.6",
2791
- "sorted-object": "~2.0.1",
2792
- "sorted-union-stream": "~2.1.3",
2793
- "ssri": "^6.0.1",
2794
- "stringify-package": "^1.0.0",
2795
- "tar": "^4.4.8",
2796
- "text-table": "~0.2.0",
2797
- "tiny-relative-date": "^1.3.0",
2798
- "uid-number": "0.0.6",
2799
- "umask": "~1.1.0",
2800
- "unique-filename": "~1.1.0",
2801
- "unpipe": "~1.0.0",
2802
- "update-notifier": "^2.5.0",
2803
- "uuid": "^3.3.2",
2804
- "validate-npm-package-license": "^3.0.4",
2805
- "validate-npm-package-name": "~3.0.0",
2806
- "which": "^1.3.1",
2807
- "worker-farm": "^1.6.0",
2808
- "write-file-atomic": "^2.3.0"
2809
- },
2810
- "dependencies": {
2811
- "JSONStream": {
2812
- "version": "1.3.4",
2813
- "bundled": true,
2814
- "dev": true,
2815
- "requires": {
2816
- "jsonparse": "^1.2.0",
2817
- "through": ">=2.2.7 <3"
2818
- }
2819
- },
2820
- "abbrev": {
2821
- "version": "1.1.1",
2822
- "bundled": true,
2823
- "dev": true
2824
- },
2825
- "agent-base": {
2826
- "version": "4.2.0",
2827
- "bundled": true,
2828
- "dev": true,
2829
- "requires": {
2830
- "es6-promisify": "^5.0.0"
2831
- }
2832
- },
2833
- "agentkeepalive": {
2834
- "version": "3.4.1",
2835
- "bundled": true,
2836
- "dev": true,
2837
- "requires": {
2838
- "humanize-ms": "^1.2.1"
2839
- }
2840
- },
2841
- "ajv": {
2842
- "version": "5.5.2",
2843
- "bundled": true,
2844
- "dev": true,
2845
- "requires": {
2846
- "co": "^4.6.0",
2847
- "fast-deep-equal": "^1.0.0",
2848
- "fast-json-stable-stringify": "^2.0.0",
2849
- "json-schema-traverse": "^0.3.0"
2850
- }
2851
- },
2852
- "ansi-align": {
2853
- "version": "2.0.0",
2854
- "bundled": true,
2855
- "dev": true,
2856
- "requires": {
2857
- "string-width": "^2.0.0"
2858
- }
2859
- },
2860
- "ansi-regex": {
2861
- "version": "2.1.1",
2862
- "bundled": true,
2863
- "dev": true
2864
- },
2865
- "ansi-styles": {
2866
- "version": "3.2.1",
2867
- "bundled": true,
2868
- "dev": true,
2869
- "requires": {
2870
- "color-convert": "^1.9.0"
2871
- }
2872
- },
2873
- "ansicolors": {
2874
- "version": "0.3.2",
2875
- "bundled": true,
2876
- "dev": true
2877
- },
2878
- "ansistyles": {
2879
- "version": "0.1.3",
2880
- "bundled": true,
2881
- "dev": true
2882
- },
2883
- "aproba": {
2884
- "version": "1.2.0",
2885
- "bundled": true,
2886
- "dev": true
2887
- },
2888
- "archy": {
2889
- "version": "1.0.0",
2890
- "bundled": true,
2891
- "dev": true
2892
- },
2893
- "are-we-there-yet": {
2894
- "version": "1.1.4",
2895
- "bundled": true,
2896
- "dev": true,
2897
- "requires": {
2898
- "delegates": "^1.0.0",
2899
- "readable-stream": "^2.0.6"
2900
- }
2901
- },
2902
- "asap": {
2903
- "version": "2.0.6",
2904
- "bundled": true,
2905
- "dev": true
2906
- },
2907
- "asn1": {
2908
- "version": "0.2.4",
2909
- "bundled": true,
2910
- "dev": true,
2911
- "requires": {
2912
- "safer-buffer": "~2.1.0"
2913
- }
2914
- },
2915
- "assert-plus": {
2916
- "version": "1.0.0",
2917
- "bundled": true,
2918
- "dev": true
2919
- },
2920
- "asynckit": {
2921
- "version": "0.4.0",
2922
- "bundled": true,
2923
- "dev": true
2924
- },
2925
- "aws-sign2": {
2926
- "version": "0.7.0",
2927
- "bundled": true,
2928
- "dev": true
2929
- },
2930
- "aws4": {
2931
- "version": "1.8.0",
2932
- "bundled": true,
2933
- "dev": true
2934
- },
2935
- "balanced-match": {
2936
- "version": "1.0.0",
2937
- "bundled": true,
2938
- "dev": true
2939
- },
2940
- "bcrypt-pbkdf": {
2941
- "version": "1.0.2",
2942
- "bundled": true,
2943
- "dev": true,
2944
- "optional": true,
2945
- "requires": {
2946
- "tweetnacl": "^0.14.3"
2947
- }
2948
- },
2949
- "bin-links": {
2950
- "version": "1.1.2",
2951
- "bundled": true,
2952
- "dev": true,
2953
- "requires": {
2954
- "bluebird": "^3.5.0",
2955
- "cmd-shim": "^2.0.2",
2956
- "gentle-fs": "^2.0.0",
2957
- "graceful-fs": "^4.1.11",
2958
- "write-file-atomic": "^2.3.0"
2959
- }
2960
- },
2961
- "block-stream": {
2962
- "version": "0.0.9",
2963
- "bundled": true,
2964
- "dev": true,
2965
- "requires": {
2966
- "inherits": "~2.0.0"
2967
- }
2968
- },
2969
- "bluebird": {
2970
- "version": "3.5.3",
2971
- "bundled": true,
2972
- "dev": true
2973
- },
2974
- "boxen": {
2975
- "version": "1.3.0",
2976
- "bundled": true,
2977
- "dev": true,
2978
- "requires": {
2979
- "ansi-align": "^2.0.0",
2980
- "camelcase": "^4.0.0",
2981
- "chalk": "^2.0.1",
2982
- "cli-boxes": "^1.0.0",
2983
- "string-width": "^2.0.0",
2984
- "term-size": "^1.2.0",
2985
- "widest-line": "^2.0.0"
2986
- }
2987
- },
2988
- "brace-expansion": {
2989
- "version": "1.1.11",
2990
- "bundled": true,
2991
- "dev": true,
2992
- "requires": {
2993
- "balanced-match": "^1.0.0",
2994
- "concat-map": "0.0.1"
2995
- }
2996
- },
2997
- "buffer-from": {
2998
- "version": "1.0.0",
2999
- "bundled": true,
3000
- "dev": true
3001
- },
3002
- "builtin-modules": {
3003
- "version": "1.1.1",
3004
- "bundled": true,
3005
- "dev": true
3006
- },
3007
- "builtins": {
3008
- "version": "1.0.3",
3009
- "bundled": true,
3010
- "dev": true
3011
- },
3012
- "byline": {
3013
- "version": "5.0.0",
3014
- "bundled": true,
3015
- "dev": true
3016
- },
3017
- "byte-size": {
3018
- "version": "4.0.3",
3019
- "bundled": true,
3020
- "dev": true
3021
- },
3022
- "cacache": {
3023
- "version": "11.2.0",
3024
- "bundled": true,
3025
- "dev": true,
3026
- "requires": {
3027
- "bluebird": "^3.5.1",
3028
- "chownr": "^1.0.1",
3029
- "figgy-pudding": "^3.1.0",
3030
- "glob": "^7.1.2",
3031
- "graceful-fs": "^4.1.11",
3032
- "lru-cache": "^4.1.3",
3033
- "mississippi": "^3.0.0",
3034
- "mkdirp": "^0.5.1",
3035
- "move-concurrently": "^1.0.1",
3036
- "promise-inflight": "^1.0.1",
3037
- "rimraf": "^2.6.2",
3038
- "ssri": "^6.0.0",
3039
- "unique-filename": "^1.1.0",
3040
- "y18n": "^4.0.0"
3041
- }
3042
- },
3043
- "call-limit": {
3044
- "version": "1.1.0",
3045
- "bundled": true,
3046
- "dev": true
3047
- },
3048
- "camelcase": {
3049
- "version": "4.1.0",
3050
- "bundled": true,
3051
- "dev": true
3052
- },
3053
- "capture-stack-trace": {
3054
- "version": "1.0.0",
3055
- "bundled": true,
3056
- "dev": true
3057
- },
3058
- "caseless": {
3059
- "version": "0.12.0",
3060
- "bundled": true,
3061
- "dev": true
3062
- },
3063
- "chalk": {
3064
- "version": "2.4.1",
3065
- "bundled": true,
3066
- "dev": true,
3067
- "requires": {
3068
- "ansi-styles": "^3.2.1",
3069
- "escape-string-regexp": "^1.0.5",
3070
- "supports-color": "^5.3.0"
3071
- }
3072
- },
3073
- "chownr": {
3074
- "version": "1.0.1",
3075
- "bundled": true,
3076
- "dev": true
3077
- },
3078
- "ci-info": {
3079
- "version": "1.6.0",
3080
- "bundled": true,
3081
- "dev": true
3082
- },
3083
- "cidr-regex": {
3084
- "version": "2.0.9",
3085
- "bundled": true,
3086
- "dev": true,
3087
- "requires": {
3088
- "ip-regex": "^2.1.0"
3089
- }
3090
- },
3091
- "cli-boxes": {
3092
- "version": "1.0.0",
3093
- "bundled": true,
3094
- "dev": true
3095
- },
3096
- "cli-columns": {
3097
- "version": "3.1.2",
3098
- "bundled": true,
3099
- "dev": true,
3100
- "requires": {
3101
- "string-width": "^2.0.0",
3102
- "strip-ansi": "^3.0.1"
3103
- }
3104
- },
3105
- "cli-table3": {
3106
- "version": "0.5.0",
3107
- "bundled": true,
3108
- "dev": true,
3109
- "requires": {
3110
- "colors": "^1.1.2",
3111
- "object-assign": "^4.1.0",
3112
- "string-width": "^2.1.1"
3113
- }
3114
- },
3115
- "cliui": {
3116
- "version": "4.1.0",
3117
- "bundled": true,
3118
- "dev": true,
3119
- "requires": {
3120
- "string-width": "^2.1.1",
3121
- "strip-ansi": "^4.0.0",
3122
- "wrap-ansi": "^2.0.0"
3123
- },
3124
- "dependencies": {
3125
- "ansi-regex": {
3126
- "version": "3.0.0",
3127
- "bundled": true,
3128
- "dev": true
3129
- },
3130
- "strip-ansi": {
3131
- "version": "4.0.0",
3132
- "bundled": true,
3133
- "dev": true,
3134
- "requires": {
3135
- "ansi-regex": "^3.0.0"
3136
- }
3137
- }
3138
- }
3139
- },
3140
- "clone": {
3141
- "version": "1.0.4",
3142
- "bundled": true,
3143
- "dev": true
3144
- },
3145
- "cmd-shim": {
3146
- "version": "2.0.2",
3147
- "bundled": true,
3148
- "dev": true,
3149
- "requires": {
3150
- "graceful-fs": "^4.1.2",
3151
- "mkdirp": "~0.5.0"
3152
- }
3153
- },
3154
- "co": {
3155
- "version": "4.6.0",
3156
- "bundled": true,
3157
- "dev": true
3158
- },
3159
- "code-point-at": {
3160
- "version": "1.1.0",
3161
- "bundled": true,
3162
- "dev": true
3163
- },
3164
- "color-convert": {
3165
- "version": "1.9.1",
3166
- "bundled": true,
3167
- "dev": true,
3168
- "requires": {
3169
- "color-name": "^1.1.1"
3170
- }
3171
- },
3172
- "color-name": {
3173
- "version": "1.1.3",
3174
- "bundled": true,
3175
- "dev": true
3176
- },
3177
- "colors": {
3178
- "version": "1.1.2",
3179
- "bundled": true,
3180
- "dev": true,
3181
- "optional": true
3182
- },
3183
- "columnify": {
3184
- "version": "1.5.4",
3185
- "bundled": true,
3186
- "dev": true,
3187
- "requires": {
3188
- "strip-ansi": "^3.0.0",
3189
- "wcwidth": "^1.0.0"
3190
- }
3191
- },
3192
- "combined-stream": {
3193
- "version": "1.0.6",
3194
- "bundled": true,
3195
- "dev": true,
3196
- "requires": {
3197
- "delayed-stream": "~1.0.0"
3198
- }
3199
- },
3200
- "concat-map": {
3201
- "version": "0.0.1",
3202
- "bundled": true,
3203
- "dev": true
3204
- },
3205
- "concat-stream": {
3206
- "version": "1.6.2",
3207
- "bundled": true,
3208
- "dev": true,
3209
- "requires": {
3210
- "buffer-from": "^1.0.0",
3211
- "inherits": "^2.0.3",
3212
- "readable-stream": "^2.2.2",
3213
- "typedarray": "^0.0.6"
3214
- }
3215
- },
3216
- "config-chain": {
3217
- "version": "1.1.12",
3218
- "bundled": true,
3219
- "dev": true,
3220
- "requires": {
3221
- "ini": "^1.3.4",
3222
- "proto-list": "~1.2.1"
3223
- }
3224
- },
3225
- "configstore": {
3226
- "version": "3.1.2",
3227
- "bundled": true,
3228
- "dev": true,
3229
- "requires": {
3230
- "dot-prop": "^4.1.0",
3231
- "graceful-fs": "^4.1.2",
3232
- "make-dir": "^1.0.0",
3233
- "unique-string": "^1.0.0",
3234
- "write-file-atomic": "^2.0.0",
3235
- "xdg-basedir": "^3.0.0"
3236
- }
3237
- },
3238
- "console-control-strings": {
3239
- "version": "1.1.0",
3240
- "bundled": true,
3241
- "dev": true
3242
- },
3243
- "copy-concurrently": {
3244
- "version": "1.0.5",
3245
- "bundled": true,
3246
- "dev": true,
3247
- "requires": {
3248
- "aproba": "^1.1.1",
3249
- "fs-write-stream-atomic": "^1.0.8",
3250
- "iferr": "^0.1.5",
3251
- "mkdirp": "^0.5.1",
3252
- "rimraf": "^2.5.4",
3253
- "run-queue": "^1.0.0"
3254
- },
3255
- "dependencies": {
3256
- "iferr": {
3257
- "version": "0.1.5",
3258
- "bundled": true,
3259
- "dev": true
3260
- }
3261
- }
3262
- },
3263
- "core-util-is": {
3264
- "version": "1.0.2",
3265
- "bundled": true,
3266
- "dev": true
3267
- },
3268
- "create-error-class": {
3269
- "version": "3.0.2",
3270
- "bundled": true,
3271
- "dev": true,
3272
- "requires": {
3273
- "capture-stack-trace": "^1.0.0"
3274
- }
3275
- },
3276
- "cross-spawn": {
3277
- "version": "5.1.0",
3278
- "bundled": true,
3279
- "dev": true,
3280
- "requires": {
3281
- "lru-cache": "^4.0.1",
3282
- "shebang-command": "^1.2.0",
3283
- "which": "^1.2.9"
3284
- }
3285
- },
3286
- "crypto-random-string": {
3287
- "version": "1.0.0",
3288
- "bundled": true,
3289
- "dev": true
3290
- },
3291
- "cyclist": {
3292
- "version": "0.2.2",
3293
- "bundled": true,
3294
- "dev": true
3295
- },
3296
- "dashdash": {
3297
- "version": "1.14.1",
3298
- "bundled": true,
3299
- "dev": true,
3300
- "requires": {
3301
- "assert-plus": "^1.0.0"
3302
- }
3303
- },
3304
- "debug": {
3305
- "version": "3.1.0",
3306
- "bundled": true,
3307
- "dev": true,
3308
- "requires": {
3309
- "ms": "2.0.0"
3310
- },
3311
- "dependencies": {
3312
- "ms": {
3313
- "version": "2.0.0",
3314
- "bundled": true,
3315
- "dev": true
3316
- }
3317
- }
3318
- },
3319
- "debuglog": {
3320
- "version": "1.0.1",
3321
- "bundled": true,
3322
- "dev": true
3323
- },
3324
- "decamelize": {
3325
- "version": "1.2.0",
3326
- "bundled": true,
3327
- "dev": true
3328
- },
3329
- "decode-uri-component": {
3330
- "version": "0.2.0",
3331
- "bundled": true,
3332
- "dev": true
3333
- },
3334
- "deep-extend": {
3335
- "version": "0.5.1",
3336
- "bundled": true,
3337
- "dev": true
3338
- },
3339
- "defaults": {
3340
- "version": "1.0.3",
3341
- "bundled": true,
3342
- "dev": true,
3343
- "requires": {
3344
- "clone": "^1.0.2"
3345
- }
3346
- },
3347
- "delayed-stream": {
3348
- "version": "1.0.0",
3349
- "bundled": true,
3350
- "dev": true
3351
- },
3352
- "delegates": {
3353
- "version": "1.0.0",
3354
- "bundled": true,
3355
- "dev": true
3356
- },
3357
- "detect-indent": {
3358
- "version": "5.0.0",
3359
- "bundled": true,
3360
- "dev": true
3361
- },
3362
- "detect-newline": {
3363
- "version": "2.1.0",
3364
- "bundled": true,
3365
- "dev": true
3366
- },
3367
- "dezalgo": {
3368
- "version": "1.0.3",
3369
- "bundled": true,
3370
- "dev": true,
3371
- "requires": {
3372
- "asap": "^2.0.0",
3373
- "wrappy": "1"
3374
- }
3375
- },
3376
- "dot-prop": {
3377
- "version": "4.2.0",
3378
- "bundled": true,
3379
- "dev": true,
3380
- "requires": {
3381
- "is-obj": "^1.0.0"
3382
- }
3383
- },
3384
- "dotenv": {
3385
- "version": "5.0.1",
3386
- "bundled": true,
3387
- "dev": true
3388
- },
3389
- "duplexer3": {
3390
- "version": "0.1.4",
3391
- "bundled": true,
3392
- "dev": true
3393
- },
3394
- "duplexify": {
3395
- "version": "3.6.0",
3396
- "bundled": true,
3397
- "dev": true,
3398
- "requires": {
3399
- "end-of-stream": "^1.0.0",
3400
- "inherits": "^2.0.1",
3401
- "readable-stream": "^2.0.0",
3402
- "stream-shift": "^1.0.0"
3403
- }
3404
- },
3405
- "ecc-jsbn": {
3406
- "version": "0.1.2",
3407
- "bundled": true,
3408
- "dev": true,
3409
- "optional": true,
3410
- "requires": {
3411
- "jsbn": "~0.1.0",
3412
- "safer-buffer": "^2.1.0"
3413
- }
3414
- },
3415
- "editor": {
3416
- "version": "1.0.0",
3417
- "bundled": true,
3418
- "dev": true
3419
- },
3420
- "encoding": {
3421
- "version": "0.1.12",
3422
- "bundled": true,
3423
- "dev": true,
3424
- "requires": {
3425
- "iconv-lite": "~0.4.13"
3426
- }
3427
- },
3428
- "end-of-stream": {
3429
- "version": "1.4.1",
3430
- "bundled": true,
3431
- "dev": true,
3432
- "requires": {
3433
- "once": "^1.4.0"
3434
- }
3435
- },
3436
- "err-code": {
3437
- "version": "1.1.2",
3438
- "bundled": true,
3439
- "dev": true
3440
- },
3441
- "errno": {
3442
- "version": "0.1.7",
3443
- "bundled": true,
3444
- "dev": true,
3445
- "requires": {
3446
- "prr": "~1.0.1"
3447
- }
3448
- },
3449
- "es6-promise": {
3450
- "version": "4.2.4",
3451
- "bundled": true,
3452
- "dev": true
3453
- },
3454
- "es6-promisify": {
3455
- "version": "5.0.0",
3456
- "bundled": true,
3457
- "dev": true,
3458
- "requires": {
3459
- "es6-promise": "^4.0.3"
3460
- }
3461
- },
3462
- "escape-string-regexp": {
3463
- "version": "1.0.5",
3464
- "bundled": true,
3465
- "dev": true
3466
- },
3467
- "execa": {
3468
- "version": "0.7.0",
3469
- "bundled": true,
3470
- "dev": true,
3471
- "requires": {
3472
- "cross-spawn": "^5.0.1",
3473
- "get-stream": "^3.0.0",
3474
- "is-stream": "^1.1.0",
3475
- "npm-run-path": "^2.0.0",
3476
- "p-finally": "^1.0.0",
3477
- "signal-exit": "^3.0.0",
3478
- "strip-eof": "^1.0.0"
3479
- }
3480
- },
3481
- "extend": {
3482
- "version": "3.0.2",
3483
- "bundled": true,
3484
- "dev": true
3485
- },
3486
- "extsprintf": {
3487
- "version": "1.3.0",
3488
- "bundled": true,
3489
- "dev": true
3490
- },
3491
- "fast-deep-equal": {
3492
- "version": "1.1.0",
3493
- "bundled": true,
3494
- "dev": true
3495
- },
3496
- "fast-json-stable-stringify": {
3497
- "version": "2.0.0",
3498
- "bundled": true,
3499
- "dev": true
3500
- },
3501
- "figgy-pudding": {
3502
- "version": "3.5.1",
3503
- "bundled": true,
3504
- "dev": true
3505
- },
3506
- "find-npm-prefix": {
3507
- "version": "1.0.2",
3508
- "bundled": true,
3509
- "dev": true
3510
- },
3511
- "find-up": {
3512
- "version": "2.1.0",
3513
- "bundled": true,
3514
- "dev": true,
3515
- "requires": {
3516
- "locate-path": "^2.0.0"
3517
- }
3518
- },
3519
- "flush-write-stream": {
3520
- "version": "1.0.3",
3521
- "bundled": true,
3522
- "dev": true,
3523
- "requires": {
3524
- "inherits": "^2.0.1",
3525
- "readable-stream": "^2.0.4"
3526
- }
3527
- },
3528
- "forever-agent": {
3529
- "version": "0.6.1",
3530
- "bundled": true,
3531
- "dev": true
3532
- },
3533
- "form-data": {
3534
- "version": "2.3.2",
3535
- "bundled": true,
3536
- "dev": true,
3537
- "requires": {
3538
- "asynckit": "^0.4.0",
3539
- "combined-stream": "1.0.6",
3540
- "mime-types": "^2.1.12"
3541
- }
3542
- },
3543
- "from2": {
3544
- "version": "2.3.0",
3545
- "bundled": true,
3546
- "dev": true,
3547
- "requires": {
3548
- "inherits": "^2.0.1",
3549
- "readable-stream": "^2.0.0"
3550
- }
3551
- },
3552
- "fs-minipass": {
3553
- "version": "1.2.5",
3554
- "bundled": true,
3555
- "dev": true,
3556
- "requires": {
3557
- "minipass": "^2.2.1"
3558
- }
3559
- },
3560
- "fs-vacuum": {
3561
- "version": "1.2.10",
3562
- "bundled": true,
3563
- "dev": true,
3564
- "requires": {
3565
- "graceful-fs": "^4.1.2",
3566
- "path-is-inside": "^1.0.1",
3567
- "rimraf": "^2.5.2"
3568
- }
3569
- },
3570
- "fs-write-stream-atomic": {
3571
- "version": "1.0.10",
3572
- "bundled": true,
3573
- "dev": true,
3574
- "requires": {
3575
- "graceful-fs": "^4.1.2",
3576
- "iferr": "^0.1.5",
3577
- "imurmurhash": "^0.1.4",
3578
- "readable-stream": "1 || 2"
3579
- },
3580
- "dependencies": {
3581
- "iferr": {
3582
- "version": "0.1.5",
3583
- "bundled": true,
3584
- "dev": true
3585
- }
3586
- }
3587
- },
3588
- "fs.realpath": {
3589
- "version": "1.0.0",
3590
- "bundled": true,
3591
- "dev": true
3592
- },
3593
- "fstream": {
3594
- "version": "1.0.11",
3595
- "bundled": true,
3596
- "dev": true,
3597
- "requires": {
3598
- "graceful-fs": "^4.1.2",
3599
- "inherits": "~2.0.0",
3600
- "mkdirp": ">=0.5 0",
3601
- "rimraf": "2"
3602
- }
3603
- },
3604
- "gauge": {
3605
- "version": "2.7.4",
3606
- "bundled": true,
3607
- "dev": true,
3608
- "requires": {
3609
- "aproba": "^1.0.3",
3610
- "console-control-strings": "^1.0.0",
3611
- "has-unicode": "^2.0.0",
3612
- "object-assign": "^4.1.0",
3613
- "signal-exit": "^3.0.0",
3614
- "string-width": "^1.0.1",
3615
- "strip-ansi": "^3.0.1",
3616
- "wide-align": "^1.1.0"
3617
- },
3618
- "dependencies": {
3619
- "string-width": {
3620
- "version": "1.0.2",
3621
- "bundled": true,
3622
- "dev": true,
3623
- "requires": {
3624
- "code-point-at": "^1.0.0",
3625
- "is-fullwidth-code-point": "^1.0.0",
3626
- "strip-ansi": "^3.0.0"
3627
- }
3628
- }
3629
- }
3630
- },
3631
- "genfun": {
3632
- "version": "4.0.1",
3633
- "bundled": true,
3634
- "dev": true
3635
- },
3636
- "gentle-fs": {
3637
- "version": "2.0.1",
3638
- "bundled": true,
3639
- "dev": true,
3640
- "requires": {
3641
- "aproba": "^1.1.2",
3642
- "fs-vacuum": "^1.2.10",
3643
- "graceful-fs": "^4.1.11",
3644
- "iferr": "^0.1.5",
3645
- "mkdirp": "^0.5.1",
3646
- "path-is-inside": "^1.0.2",
3647
- "read-cmd-shim": "^1.0.1",
3648
- "slide": "^1.1.6"
3649
- },
3650
- "dependencies": {
3651
- "iferr": {
3652
- "version": "0.1.5",
3653
- "bundled": true,
3654
- "dev": true
3655
- }
3656
- }
3657
- },
3658
- "get-caller-file": {
3659
- "version": "1.0.2",
3660
- "bundled": true,
3661
- "dev": true
3662
- },
3663
- "get-stream": {
3664
- "version": "3.0.0",
3665
- "bundled": true,
3666
- "dev": true
3667
- },
3668
- "getpass": {
3669
- "version": "0.1.7",
3670
- "bundled": true,
3671
- "dev": true,
3672
- "requires": {
3673
- "assert-plus": "^1.0.0"
3674
- }
3675
- },
3676
- "glob": {
3677
- "version": "7.1.3",
3678
- "bundled": true,
3679
- "dev": true,
3680
- "requires": {
3681
- "fs.realpath": "^1.0.0",
3682
- "inflight": "^1.0.4",
3683
- "inherits": "2",
3684
- "minimatch": "^3.0.4",
3685
- "once": "^1.3.0",
3686
- "path-is-absolute": "^1.0.0"
3687
- }
3688
- },
3689
- "global-dirs": {
3690
- "version": "0.1.1",
3691
- "bundled": true,
3692
- "dev": true,
3693
- "requires": {
3694
- "ini": "^1.3.4"
3695
- }
3696
- },
3697
- "got": {
3698
- "version": "6.7.1",
3699
- "bundled": true,
3700
- "dev": true,
3701
- "requires": {
3702
- "create-error-class": "^3.0.0",
3703
- "duplexer3": "^0.1.4",
3704
- "get-stream": "^3.0.0",
3705
- "is-redirect": "^1.0.0",
3706
- "is-retry-allowed": "^1.0.0",
3707
- "is-stream": "^1.0.0",
3708
- "lowercase-keys": "^1.0.0",
3709
- "safe-buffer": "^5.0.1",
3710
- "timed-out": "^4.0.0",
3711
- "unzip-response": "^2.0.1",
3712
- "url-parse-lax": "^1.0.0"
3713
- }
3714
- },
3715
- "graceful-fs": {
3716
- "version": "4.1.15",
3717
- "bundled": true,
3718
- "dev": true
3719
- },
3720
- "har-schema": {
3721
- "version": "2.0.0",
3722
- "bundled": true,
3723
- "dev": true
3724
- },
3725
- "har-validator": {
3726
- "version": "5.1.0",
3727
- "bundled": true,
3728
- "dev": true,
3729
- "requires": {
3730
- "ajv": "^5.3.0",
3731
- "har-schema": "^2.0.0"
3732
- }
3733
- },
3734
- "has-flag": {
3735
- "version": "3.0.0",
3736
- "bundled": true,
3737
- "dev": true
3738
- },
3739
- "has-unicode": {
3740
- "version": "2.0.1",
3741
- "bundled": true,
3742
- "dev": true
3743
- },
3744
- "hosted-git-info": {
3745
- "version": "2.7.1",
3746
- "bundled": true,
3747
- "dev": true
3748
- },
3749
- "http-cache-semantics": {
3750
- "version": "3.8.1",
3751
- "bundled": true,
3752
- "dev": true
3753
- },
3754
- "http-proxy-agent": {
3755
- "version": "2.1.0",
3756
- "bundled": true,
3757
- "dev": true,
3758
- "requires": {
3759
- "agent-base": "4",
3760
- "debug": "3.1.0"
3761
- }
3762
- },
3763
- "http-signature": {
3764
- "version": "1.2.0",
3765
- "bundled": true,
3766
- "dev": true,
3767
- "requires": {
3768
- "assert-plus": "^1.0.0",
3769
- "jsprim": "^1.2.2",
3770
- "sshpk": "^1.7.0"
3771
- }
3772
- },
3773
- "https-proxy-agent": {
3774
- "version": "2.2.1",
3775
- "bundled": true,
3776
- "dev": true,
3777
- "requires": {
3778
- "agent-base": "^4.1.0",
3779
- "debug": "^3.1.0"
3780
- }
3781
- },
3782
- "humanize-ms": {
3783
- "version": "1.2.1",
3784
- "bundled": true,
3785
- "dev": true,
3786
- "requires": {
3787
- "ms": "^2.0.0"
3788
- }
3789
- },
3790
- "iconv-lite": {
3791
- "version": "0.4.23",
3792
- "bundled": true,
3793
- "dev": true,
3794
- "requires": {
3795
- "safer-buffer": ">= 2.1.2 < 3"
3796
- }
3797
- },
3798
- "iferr": {
3799
- "version": "1.0.2",
3800
- "bundled": true,
3801
- "dev": true
3802
- },
3803
- "ignore-walk": {
3804
- "version": "3.0.1",
3805
- "bundled": true,
3806
- "dev": true,
3807
- "requires": {
3808
- "minimatch": "^3.0.4"
3809
- }
3810
- },
3811
- "import-lazy": {
3812
- "version": "2.1.0",
3813
- "bundled": true,
3814
- "dev": true
3815
- },
3816
- "imurmurhash": {
3817
- "version": "0.1.4",
3818
- "bundled": true,
3819
- "dev": true
3820
- },
3821
- "inflight": {
3822
- "version": "1.0.6",
3823
- "bundled": true,
3824
- "dev": true,
3825
- "requires": {
3826
- "once": "^1.3.0",
3827
- "wrappy": "1"
3828
- }
3829
- },
3830
- "inherits": {
3831
- "version": "2.0.3",
3832
- "bundled": true,
3833
- "dev": true
3834
- },
3835
- "ini": {
3836
- "version": "1.3.5",
3837
- "bundled": true,
3838
- "dev": true
3839
- },
3840
- "init-package-json": {
3841
- "version": "1.10.3",
3842
- "bundled": true,
3843
- "dev": true,
3844
- "requires": {
3845
- "glob": "^7.1.1",
3846
- "npm-package-arg": "^4.0.0 || ^5.0.0 || ^6.0.0",
3847
- "promzard": "^0.3.0",
3848
- "read": "~1.0.1",
3849
- "read-package-json": "1 || 2",
3850
- "semver": "2.x || 3.x || 4 || 5",
3851
- "validate-npm-package-license": "^3.0.1",
3852
- "validate-npm-package-name": "^3.0.0"
3853
- }
3854
- },
3855
- "invert-kv": {
3856
- "version": "1.0.0",
3857
- "bundled": true,
3858
- "dev": true
3859
- },
3860
- "ip": {
3861
- "version": "1.1.5",
3862
- "bundled": true,
3863
- "dev": true
3864
- },
3865
- "ip-regex": {
3866
- "version": "2.1.0",
3867
- "bundled": true,
3868
- "dev": true
3869
- },
3870
- "is-builtin-module": {
3871
- "version": "1.0.0",
3872
- "bundled": true,
3873
- "dev": true,
3874
- "requires": {
3875
- "builtin-modules": "^1.0.0"
3876
- }
3877
- },
3878
- "is-ci": {
3879
- "version": "1.1.0",
3880
- "bundled": true,
3881
- "dev": true,
3882
- "requires": {
3883
- "ci-info": "^1.0.0"
3884
- }
3885
- },
3886
- "is-cidr": {
3887
- "version": "2.0.6",
3888
- "bundled": true,
3889
- "dev": true,
3890
- "requires": {
3891
- "cidr-regex": "^2.0.8"
3892
- }
3893
- },
3894
- "is-fullwidth-code-point": {
3895
- "version": "1.0.0",
3896
- "bundled": true,
3897
- "dev": true,
3898
- "requires": {
3899
- "number-is-nan": "^1.0.0"
3900
- }
3901
- },
3902
- "is-installed-globally": {
3903
- "version": "0.1.0",
3904
- "bundled": true,
3905
- "dev": true,
3906
- "requires": {
3907
- "global-dirs": "^0.1.0",
3908
- "is-path-inside": "^1.0.0"
3909
- }
3910
- },
3911
- "is-npm": {
3912
- "version": "1.0.0",
3913
- "bundled": true,
3914
- "dev": true
3915
- },
3916
- "is-obj": {
3917
- "version": "1.0.1",
3918
- "bundled": true,
3919
- "dev": true
3920
- },
3921
- "is-path-inside": {
3922
- "version": "1.0.1",
3923
- "bundled": true,
3924
- "dev": true,
3925
- "requires": {
3926
- "path-is-inside": "^1.0.1"
3927
- }
3928
- },
3929
- "is-redirect": {
3930
- "version": "1.0.0",
3931
- "bundled": true,
3932
- "dev": true
3933
- },
3934
- "is-retry-allowed": {
3935
- "version": "1.1.0",
3936
- "bundled": true,
3937
- "dev": true
3938
- },
3939
- "is-stream": {
3940
- "version": "1.1.0",
3941
- "bundled": true,
3942
- "dev": true
3943
- },
3944
- "is-typedarray": {
3945
- "version": "1.0.0",
3946
- "bundled": true,
3947
- "dev": true
3948
- },
3949
- "isarray": {
3950
- "version": "1.0.0",
3951
- "bundled": true,
3952
- "dev": true
3953
- },
3954
- "isexe": {
3955
- "version": "2.0.0",
3956
- "bundled": true,
3957
- "dev": true
3958
- },
3959
- "isstream": {
3960
- "version": "0.1.2",
3961
- "bundled": true,
3962
- "dev": true
3963
- },
3964
- "jsbn": {
3965
- "version": "0.1.1",
3966
- "bundled": true,
3967
- "dev": true,
3968
- "optional": true
3969
- },
3970
- "json-parse-better-errors": {
3971
- "version": "1.0.2",
3972
- "bundled": true,
3973
- "dev": true
3974
- },
3975
- "json-schema": {
3976
- "version": "0.2.3",
3977
- "bundled": true,
3978
- "dev": true
3979
- },
3980
- "json-schema-traverse": {
3981
- "version": "0.3.1",
3982
- "bundled": true,
3983
- "dev": true
3984
- },
3985
- "json-stringify-safe": {
3986
- "version": "5.0.1",
3987
- "bundled": true,
3988
- "dev": true
3989
- },
3990
- "jsonparse": {
3991
- "version": "1.3.1",
3992
- "bundled": true,
3993
- "dev": true
3994
- },
3995
- "jsprim": {
3996
- "version": "1.4.1",
3997
- "bundled": true,
3998
- "dev": true,
3999
- "requires": {
4000
- "assert-plus": "1.0.0",
4001
- "extsprintf": "1.3.0",
4002
- "json-schema": "0.2.3",
4003
- "verror": "1.10.0"
4004
- }
4005
- },
4006
- "latest-version": {
4007
- "version": "3.1.0",
4008
- "bundled": true,
4009
- "dev": true,
4010
- "requires": {
4011
- "package-json": "^4.0.0"
4012
- }
4013
- },
4014
- "lazy-property": {
4015
- "version": "1.0.0",
4016
- "bundled": true,
4017
- "dev": true
4018
- },
4019
- "lcid": {
4020
- "version": "1.0.0",
4021
- "bundled": true,
4022
- "dev": true,
4023
- "requires": {
4024
- "invert-kv": "^1.0.0"
4025
- }
4026
- },
4027
- "libcipm": {
4028
- "version": "2.0.2",
4029
- "bundled": true,
4030
- "dev": true,
4031
- "requires": {
4032
- "bin-links": "^1.1.2",
4033
- "bluebird": "^3.5.1",
4034
- "find-npm-prefix": "^1.0.2",
4035
- "graceful-fs": "^4.1.11",
4036
- "lock-verify": "^2.0.2",
4037
- "mkdirp": "^0.5.1",
4038
- "npm-lifecycle": "^2.0.3",
4039
- "npm-logical-tree": "^1.2.1",
4040
- "npm-package-arg": "^6.1.0",
4041
- "pacote": "^8.1.6",
4042
- "protoduck": "^5.0.0",
4043
- "read-package-json": "^2.0.13",
4044
- "rimraf": "^2.6.2",
4045
- "worker-farm": "^1.6.0"
4046
- }
4047
- },
4048
- "libnpmhook": {
4049
- "version": "4.0.1",
4050
- "bundled": true,
4051
- "dev": true,
4052
- "requires": {
4053
- "figgy-pudding": "^3.1.0",
4054
- "npm-registry-fetch": "^3.0.0"
4055
- },
4056
- "dependencies": {
4057
- "npm-registry-fetch": {
4058
- "version": "3.1.1",
4059
- "bundled": true,
4060
- "dev": true,
4061
- "requires": {
4062
- "bluebird": "^3.5.1",
4063
- "figgy-pudding": "^3.1.0",
4064
- "lru-cache": "^4.1.2",
4065
- "make-fetch-happen": "^4.0.0",
4066
- "npm-package-arg": "^6.0.0"
4067
- }
4068
- }
4069
- }
4070
- },
4071
- "libnpx": {
4072
- "version": "10.2.0",
4073
- "bundled": true,
4074
- "dev": true,
4075
- "requires": {
4076
- "dotenv": "^5.0.1",
4077
- "npm-package-arg": "^6.0.0",
4078
- "rimraf": "^2.6.2",
4079
- "safe-buffer": "^5.1.0",
4080
- "update-notifier": "^2.3.0",
4081
- "which": "^1.3.0",
4082
- "y18n": "^4.0.0",
4083
- "yargs": "^11.0.0"
4084
- }
4085
- },
4086
- "locate-path": {
4087
- "version": "2.0.0",
4088
- "bundled": true,
4089
- "dev": true,
4090
- "requires": {
4091
- "p-locate": "^2.0.0",
4092
- "path-exists": "^3.0.0"
4093
- }
4094
- },
4095
- "lock-verify": {
4096
- "version": "2.0.2",
4097
- "bundled": true,
4098
- "dev": true,
4099
- "requires": {
4100
- "npm-package-arg": "^5.1.2 || 6",
4101
- "semver": "^5.4.1"
4102
- }
4103
- },
4104
- "lockfile": {
4105
- "version": "1.0.4",
4106
- "bundled": true,
4107
- "dev": true,
4108
- "requires": {
4109
- "signal-exit": "^3.0.2"
4110
- }
4111
- },
4112
- "lodash._baseindexof": {
4113
- "version": "3.1.0",
4114
- "bundled": true,
4115
- "dev": true
4116
- },
4117
- "lodash._baseuniq": {
4118
- "version": "4.6.0",
4119
- "bundled": true,
4120
- "dev": true,
4121
- "requires": {
4122
- "lodash._createset": "~4.0.0",
4123
- "lodash._root": "~3.0.0"
4124
- }
4125
- },
4126
- "lodash._bindcallback": {
4127
- "version": "3.0.1",
4128
- "bundled": true,
4129
- "dev": true
4130
- },
4131
- "lodash._cacheindexof": {
4132
- "version": "3.0.2",
4133
- "bundled": true,
4134
- "dev": true
4135
- },
4136
- "lodash._createcache": {
4137
- "version": "3.1.2",
4138
- "bundled": true,
4139
- "dev": true,
4140
- "requires": {
4141
- "lodash._getnative": "^3.0.0"
4142
- }
4143
- },
4144
- "lodash._createset": {
4145
- "version": "4.0.3",
4146
- "bundled": true,
4147
- "dev": true
4148
- },
4149
- "lodash._getnative": {
4150
- "version": "3.9.1",
4151
- "bundled": true,
4152
- "dev": true
4153
- },
4154
- "lodash._root": {
4155
- "version": "3.0.1",
4156
- "bundled": true,
4157
- "dev": true
4158
- },
4159
- "lodash.clonedeep": {
4160
- "version": "4.5.0",
4161
- "bundled": true,
4162
- "dev": true
4163
- },
4164
- "lodash.restparam": {
4165
- "version": "3.6.1",
4166
- "bundled": true,
4167
- "dev": true
4168
- },
4169
- "lodash.union": {
4170
- "version": "4.6.0",
4171
- "bundled": true,
4172
- "dev": true
4173
- },
4174
- "lodash.uniq": {
4175
- "version": "4.5.0",
4176
- "bundled": true,
4177
- "dev": true
4178
- },
4179
- "lodash.without": {
4180
- "version": "4.4.0",
4181
- "bundled": true,
4182
- "dev": true
4183
- },
4184
- "lowercase-keys": {
4185
- "version": "1.0.1",
4186
- "bundled": true,
4187
- "dev": true
4188
- },
4189
- "lru-cache": {
4190
- "version": "4.1.3",
4191
- "bundled": true,
4192
- "dev": true,
4193
- "requires": {
4194
- "pseudomap": "^1.0.2",
4195
- "yallist": "^2.1.2"
4196
- }
4197
- },
4198
- "make-dir": {
4199
- "version": "1.3.0",
4200
- "bundled": true,
4201
- "dev": true,
4202
- "requires": {
4203
- "pify": "^3.0.0"
4204
- }
4205
- },
4206
- "make-fetch-happen": {
4207
- "version": "4.0.1",
4208
- "bundled": true,
4209
- "dev": true,
4210
- "requires": {
4211
- "agentkeepalive": "^3.4.1",
4212
- "cacache": "^11.0.1",
4213
- "http-cache-semantics": "^3.8.1",
4214
- "http-proxy-agent": "^2.1.0",
4215
- "https-proxy-agent": "^2.2.1",
4216
- "lru-cache": "^4.1.2",
4217
- "mississippi": "^3.0.0",
4218
- "node-fetch-npm": "^2.0.2",
4219
- "promise-retry": "^1.1.1",
4220
- "socks-proxy-agent": "^4.0.0",
4221
- "ssri": "^6.0.0"
4222
- }
4223
- },
4224
- "meant": {
4225
- "version": "1.0.1",
4226
- "bundled": true,
4227
- "dev": true
4228
- },
4229
- "mem": {
4230
- "version": "1.1.0",
4231
- "bundled": true,
4232
- "dev": true,
4233
- "requires": {
4234
- "mimic-fn": "^1.0.0"
4235
- }
4236
- },
4237
- "mime-db": {
4238
- "version": "1.35.0",
4239
- "bundled": true,
4240
- "dev": true
4241
- },
4242
- "mime-types": {
4243
- "version": "2.1.19",
4244
- "bundled": true,
4245
- "dev": true,
4246
- "requires": {
4247
- "mime-db": "~1.35.0"
4248
- }
4249
- },
4250
- "mimic-fn": {
4251
- "version": "1.2.0",
4252
- "bundled": true,
4253
- "dev": true
4254
- },
4255
- "minimatch": {
4256
- "version": "3.0.4",
4257
- "bundled": true,
4258
- "dev": true,
4259
- "requires": {
4260
- "brace-expansion": "^1.1.7"
4261
- }
4262
- },
4263
- "minimist": {
4264
- "version": "0.0.8",
4265
- "bundled": true,
4266
- "dev": true
4267
- },
4268
- "minipass": {
4269
- "version": "2.3.3",
4270
- "bundled": true,
4271
- "dev": true,
4272
- "requires": {
4273
- "safe-buffer": "^5.1.2",
4274
- "yallist": "^3.0.0"
4275
- },
4276
- "dependencies": {
4277
- "yallist": {
4278
- "version": "3.0.2",
4279
- "bundled": true,
4280
- "dev": true
4281
- }
4282
- }
4283
- },
4284
- "minizlib": {
4285
- "version": "1.1.1",
4286
- "bundled": true,
4287
- "dev": true,
4288
- "requires": {
4289
- "minipass": "^2.2.1"
4290
- }
4291
- },
4292
- "mississippi": {
4293
- "version": "3.0.0",
4294
- "bundled": true,
4295
- "dev": true,
4296
- "requires": {
4297
- "concat-stream": "^1.5.0",
4298
- "duplexify": "^3.4.2",
4299
- "end-of-stream": "^1.1.0",
4300
- "flush-write-stream": "^1.0.0",
4301
- "from2": "^2.1.0",
4302
- "parallel-transform": "^1.1.0",
4303
- "pump": "^3.0.0",
4304
- "pumpify": "^1.3.3",
4305
- "stream-each": "^1.1.0",
4306
- "through2": "^2.0.0"
4307
- }
4308
- },
4309
- "mkdirp": {
4310
- "version": "0.5.1",
4311
- "bundled": true,
4312
- "dev": true,
4313
- "requires": {
4314
- "minimist": "0.0.8"
4315
- }
4316
- },
4317
- "move-concurrently": {
4318
- "version": "1.0.1",
4319
- "bundled": true,
4320
- "dev": true,
4321
- "requires": {
4322
- "aproba": "^1.1.1",
4323
- "copy-concurrently": "^1.0.0",
4324
- "fs-write-stream-atomic": "^1.0.8",
4325
- "mkdirp": "^0.5.1",
4326
- "rimraf": "^2.5.4",
4327
- "run-queue": "^1.0.3"
4328
- }
4329
- },
4330
- "ms": {
4331
- "version": "2.1.1",
4332
- "bundled": true,
4333
- "dev": true
4334
- },
4335
- "mute-stream": {
4336
- "version": "0.0.7",
4337
- "bundled": true,
4338
- "dev": true
4339
- },
4340
- "node-fetch-npm": {
4341
- "version": "2.0.2",
4342
- "bundled": true,
4343
- "dev": true,
4344
- "requires": {
4345
- "encoding": "^0.1.11",
4346
- "json-parse-better-errors": "^1.0.0",
4347
- "safe-buffer": "^5.1.1"
4348
- }
4349
- },
4350
- "node-gyp": {
4351
- "version": "3.8.0",
4352
- "bundled": true,
4353
- "dev": true,
4354
- "requires": {
4355
- "fstream": "^1.0.0",
4356
- "glob": "^7.0.3",
4357
- "graceful-fs": "^4.1.2",
4358
- "mkdirp": "^0.5.0",
4359
- "nopt": "2 || 3",
4360
- "npmlog": "0 || 1 || 2 || 3 || 4",
4361
- "osenv": "0",
4362
- "request": "^2.87.0",
4363
- "rimraf": "2",
4364
- "semver": "~5.3.0",
4365
- "tar": "^2.0.0",
4366
- "which": "1"
4367
- },
4368
- "dependencies": {
4369
- "nopt": {
4370
- "version": "3.0.6",
4371
- "bundled": true,
4372
- "dev": true,
4373
- "requires": {
4374
- "abbrev": "1"
4375
- }
4376
- },
4377
- "semver": {
4378
- "version": "5.3.0",
4379
- "bundled": true,
4380
- "dev": true
4381
- },
4382
- "tar": {
4383
- "version": "2.2.1",
4384
- "bundled": true,
4385
- "dev": true,
4386
- "requires": {
4387
- "block-stream": "*",
4388
- "fstream": "^1.0.2",
4389
- "inherits": "2"
4390
- }
4391
- }
4392
- }
4393
- },
4394
- "nopt": {
4395
- "version": "4.0.1",
4396
- "bundled": true,
4397
- "dev": true,
4398
- "requires": {
4399
- "abbrev": "1",
4400
- "osenv": "^0.1.4"
4401
- }
4402
- },
4403
- "normalize-package-data": {
4404
- "version": "2.4.0",
4405
- "bundled": true,
4406
- "dev": true,
4407
- "requires": {
4408
- "hosted-git-info": "^2.1.4",
4409
- "is-builtin-module": "^1.0.0",
4410
- "semver": "2 || 3 || 4 || 5",
4411
- "validate-npm-package-license": "^3.0.1"
4412
- }
4413
- },
4414
- "npm-audit-report": {
4415
- "version": "1.3.1",
4416
- "bundled": true,
4417
- "dev": true,
4418
- "requires": {
4419
- "cli-table3": "^0.5.0",
4420
- "console-control-strings": "^1.1.0"
4421
- }
4422
- },
4423
- "npm-bundled": {
4424
- "version": "1.0.5",
4425
- "bundled": true,
4426
- "dev": true
4427
- },
4428
- "npm-cache-filename": {
4429
- "version": "1.0.2",
4430
- "bundled": true,
4431
- "dev": true
4432
- },
4433
- "npm-install-checks": {
4434
- "version": "3.0.0",
4435
- "bundled": true,
4436
- "dev": true,
4437
- "requires": {
4438
- "semver": "^2.3.0 || 3.x || 4 || 5"
4439
- }
4440
- },
4441
- "npm-lifecycle": {
4442
- "version": "2.1.0",
4443
- "bundled": true,
4444
- "dev": true,
4445
- "requires": {
4446
- "byline": "^5.0.0",
4447
- "graceful-fs": "^4.1.11",
4448
- "node-gyp": "^3.8.0",
4449
- "resolve-from": "^4.0.0",
4450
- "slide": "^1.1.6",
4451
- "uid-number": "0.0.6",
4452
- "umask": "^1.1.0",
4453
- "which": "^1.3.1"
4454
- }
4455
- },
4456
- "npm-logical-tree": {
4457
- "version": "1.2.1",
4458
- "bundled": true,
4459
- "dev": true
4460
- },
4461
- "npm-package-arg": {
4462
- "version": "6.1.0",
4463
- "bundled": true,
4464
- "dev": true,
4465
- "requires": {
4466
- "hosted-git-info": "^2.6.0",
4467
- "osenv": "^0.1.5",
4468
- "semver": "^5.5.0",
4469
- "validate-npm-package-name": "^3.0.0"
4470
- }
4471
- },
4472
- "npm-packlist": {
4473
- "version": "1.1.12",
4474
- "bundled": true,
4475
- "dev": true,
4476
- "requires": {
4477
- "ignore-walk": "^3.0.1",
4478
- "npm-bundled": "^1.0.1"
4479
- }
4480
- },
4481
- "npm-pick-manifest": {
4482
- "version": "2.1.0",
4483
- "bundled": true,
4484
- "dev": true,
4485
- "requires": {
4486
- "npm-package-arg": "^6.0.0",
4487
- "semver": "^5.4.1"
4488
- }
4489
- },
4490
- "npm-profile": {
4491
- "version": "3.0.2",
4492
- "bundled": true,
4493
- "dev": true,
4494
- "requires": {
4495
- "aproba": "^1.1.2 || 2",
4496
- "make-fetch-happen": "^2.5.0 || 3 || 4"
4497
- }
4498
- },
4499
- "npm-registry-client": {
4500
- "version": "8.6.0",
4501
- "bundled": true,
4502
- "dev": true,
4503
- "requires": {
4504
- "concat-stream": "^1.5.2",
4505
- "graceful-fs": "^4.1.6",
4506
- "normalize-package-data": "~1.0.1 || ^2.0.0",
4507
- "npm-package-arg": "^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0",
4508
- "npmlog": "2 || ^3.1.0 || ^4.0.0",
4509
- "once": "^1.3.3",
4510
- "request": "^2.74.0",
4511
- "retry": "^0.10.0",
4512
- "safe-buffer": "^5.1.1",
4513
- "semver": "2 >=2.2.1 || 3.x || 4 || 5",
4514
- "slide": "^1.1.3",
4515
- "ssri": "^5.2.4"
4516
- },
4517
- "dependencies": {
4518
- "retry": {
4519
- "version": "0.10.1",
4520
- "bundled": true,
4521
- "dev": true
4522
- },
4523
- "ssri": {
4524
- "version": "5.3.0",
4525
- "bundled": true,
4526
- "dev": true,
4527
- "requires": {
4528
- "safe-buffer": "^5.1.1"
4529
- }
4530
- }
4531
- }
4532
- },
4533
- "npm-registry-fetch": {
4534
- "version": "1.1.0",
4535
- "bundled": true,
4536
- "dev": true,
4537
- "requires": {
4538
- "bluebird": "^3.5.1",
4539
- "figgy-pudding": "^2.0.1",
4540
- "lru-cache": "^4.1.2",
4541
- "make-fetch-happen": "^3.0.0",
4542
- "npm-package-arg": "^6.0.0",
4543
- "safe-buffer": "^5.1.1"
4544
- },
4545
- "dependencies": {
4546
- "cacache": {
4547
- "version": "10.0.4",
4548
- "bundled": true,
4549
- "dev": true,
4550
- "requires": {
4551
- "bluebird": "^3.5.1",
4552
- "chownr": "^1.0.1",
4553
- "glob": "^7.1.2",
4554
- "graceful-fs": "^4.1.11",
4555
- "lru-cache": "^4.1.1",
4556
- "mississippi": "^2.0.0",
4557
- "mkdirp": "^0.5.1",
4558
- "move-concurrently": "^1.0.1",
4559
- "promise-inflight": "^1.0.1",
4560
- "rimraf": "^2.6.2",
4561
- "ssri": "^5.2.4",
4562
- "unique-filename": "^1.1.0",
4563
- "y18n": "^4.0.0"
4564
- },
4565
- "dependencies": {
4566
- "mississippi": {
4567
- "version": "2.0.0",
4568
- "bundled": true,
4569
- "dev": true,
4570
- "requires": {
4571
- "concat-stream": "^1.5.0",
4572
- "duplexify": "^3.4.2",
4573
- "end-of-stream": "^1.1.0",
4574
- "flush-write-stream": "^1.0.0",
4575
- "from2": "^2.1.0",
4576
- "parallel-transform": "^1.1.0",
4577
- "pump": "^2.0.1",
4578
- "pumpify": "^1.3.3",
4579
- "stream-each": "^1.1.0",
4580
- "through2": "^2.0.0"
4581
- }
4582
- }
4583
- }
4584
- },
4585
- "figgy-pudding": {
4586
- "version": "2.0.1",
4587
- "bundled": true,
4588
- "dev": true
4589
- },
4590
- "make-fetch-happen": {
4591
- "version": "3.0.0",
4592
- "bundled": true,
4593
- "dev": true,
4594
- "requires": {
4595
- "agentkeepalive": "^3.4.1",
4596
- "cacache": "^10.0.4",
4597
- "http-cache-semantics": "^3.8.1",
4598
- "http-proxy-agent": "^2.1.0",
4599
- "https-proxy-agent": "^2.2.0",
4600
- "lru-cache": "^4.1.2",
4601
- "mississippi": "^3.0.0",
4602
- "node-fetch-npm": "^2.0.2",
4603
- "promise-retry": "^1.1.1",
4604
- "socks-proxy-agent": "^3.0.1",
4605
- "ssri": "^5.2.4"
4606
- }
4607
- },
4608
- "pump": {
4609
- "version": "2.0.1",
4610
- "bundled": true,
4611
- "dev": true,
4612
- "requires": {
4613
- "end-of-stream": "^1.1.0",
4614
- "once": "^1.3.1"
4615
- }
4616
- },
4617
- "smart-buffer": {
4618
- "version": "1.1.15",
4619
- "bundled": true,
4620
- "dev": true
4621
- },
4622
- "socks": {
4623
- "version": "1.1.10",
4624
- "bundled": true,
4625
- "dev": true,
4626
- "requires": {
4627
- "ip": "^1.1.4",
4628
- "smart-buffer": "^1.0.13"
4629
- }
4630
- },
4631
- "socks-proxy-agent": {
4632
- "version": "3.0.1",
4633
- "bundled": true,
4634
- "dev": true,
4635
- "requires": {
4636
- "agent-base": "^4.1.0",
4637
- "socks": "^1.1.10"
4638
- }
4639
- },
4640
- "ssri": {
4641
- "version": "5.3.0",
4642
- "bundled": true,
4643
- "dev": true,
4644
- "requires": {
4645
- "safe-buffer": "^5.1.1"
4646
- }
4647
- }
4648
- }
4649
- },
4650
- "npm-run-path": {
4651
- "version": "2.0.2",
4652
- "bundled": true,
4653
- "dev": true,
4654
- "requires": {
4655
- "path-key": "^2.0.0"
4656
- }
4657
- },
4658
- "npm-user-validate": {
4659
- "version": "1.0.0",
4660
- "bundled": true,
4661
- "dev": true
4662
- },
4663
- "npmlog": {
4664
- "version": "4.1.2",
4665
- "bundled": true,
4666
- "dev": true,
4667
- "requires": {
4668
- "are-we-there-yet": "~1.1.2",
4669
- "console-control-strings": "~1.1.0",
4670
- "gauge": "~2.7.3",
4671
- "set-blocking": "~2.0.0"
4672
- }
4673
- },
4674
- "number-is-nan": {
4675
- "version": "1.0.1",
4676
- "bundled": true,
4677
- "dev": true
4678
- },
4679
- "oauth-sign": {
4680
- "version": "0.9.0",
4681
- "bundled": true,
4682
- "dev": true
4683
- },
4684
- "object-assign": {
4685
- "version": "4.1.1",
4686
- "bundled": true,
4687
- "dev": true
4688
- },
4689
- "once": {
4690
- "version": "1.4.0",
4691
- "bundled": true,
4692
- "dev": true,
4693
- "requires": {
4694
- "wrappy": "1"
4695
- }
4696
- },
4697
- "opener": {
4698
- "version": "1.5.1",
4699
- "bundled": true,
4700
- "dev": true
4701
- },
4702
- "os-homedir": {
4703
- "version": "1.0.2",
4704
- "bundled": true,
4705
- "dev": true
4706
- },
4707
- "os-locale": {
4708
- "version": "2.1.0",
4709
- "bundled": true,
4710
- "dev": true,
4711
- "requires": {
4712
- "execa": "^0.7.0",
4713
- "lcid": "^1.0.0",
4714
- "mem": "^1.1.0"
4715
- }
4716
- },
4717
- "os-tmpdir": {
4718
- "version": "1.0.2",
4719
- "bundled": true,
4720
- "dev": true
4721
- },
4722
- "osenv": {
4723
- "version": "0.1.5",
4724
- "bundled": true,
4725
- "dev": true,
4726
- "requires": {
4727
- "os-homedir": "^1.0.0",
4728
- "os-tmpdir": "^1.0.0"
4729
- }
4730
- },
4731
- "p-finally": {
4732
- "version": "1.0.0",
4733
- "bundled": true,
4734
- "dev": true
4735
- },
4736
- "p-limit": {
4737
- "version": "1.2.0",
4738
- "bundled": true,
4739
- "dev": true,
4740
- "requires": {
4741
- "p-try": "^1.0.0"
4742
- }
4743
- },
4744
- "p-locate": {
4745
- "version": "2.0.0",
4746
- "bundled": true,
4747
- "dev": true,
4748
- "requires": {
4749
- "p-limit": "^1.1.0"
4750
- }
4751
- },
4752
- "p-try": {
4753
- "version": "1.0.0",
4754
- "bundled": true,
4755
- "dev": true
4756
- },
4757
- "package-json": {
4758
- "version": "4.0.1",
4759
- "bundled": true,
4760
- "dev": true,
4761
- "requires": {
4762
- "got": "^6.7.1",
4763
- "registry-auth-token": "^3.0.1",
4764
- "registry-url": "^3.0.3",
4765
- "semver": "^5.1.0"
4766
- }
4767
- },
4768
- "pacote": {
4769
- "version": "8.1.6",
4770
- "bundled": true,
4771
- "dev": true,
4772
- "requires": {
4773
- "bluebird": "^3.5.1",
4774
- "cacache": "^11.0.2",
4775
- "get-stream": "^3.0.0",
4776
- "glob": "^7.1.2",
4777
- "lru-cache": "^4.1.3",
4778
- "make-fetch-happen": "^4.0.1",
4779
- "minimatch": "^3.0.4",
4780
- "minipass": "^2.3.3",
4781
- "mississippi": "^3.0.0",
4782
- "mkdirp": "^0.5.1",
4783
- "normalize-package-data": "^2.4.0",
4784
- "npm-package-arg": "^6.1.0",
4785
- "npm-packlist": "^1.1.10",
4786
- "npm-pick-manifest": "^2.1.0",
4787
- "osenv": "^0.1.5",
4788
- "promise-inflight": "^1.0.1",
4789
- "promise-retry": "^1.1.1",
4790
- "protoduck": "^5.0.0",
4791
- "rimraf": "^2.6.2",
4792
- "safe-buffer": "^5.1.2",
4793
- "semver": "^5.5.0",
4794
- "ssri": "^6.0.0",
4795
- "tar": "^4.4.3",
4796
- "unique-filename": "^1.1.0",
4797
- "which": "^1.3.0"
4798
- }
4799
- },
4800
- "parallel-transform": {
4801
- "version": "1.1.0",
4802
- "bundled": true,
4803
- "dev": true,
4804
- "requires": {
4805
- "cyclist": "~0.2.2",
4806
- "inherits": "^2.0.3",
4807
- "readable-stream": "^2.1.5"
4808
- }
4809
- },
4810
- "path-exists": {
4811
- "version": "3.0.0",
4812
- "bundled": true,
4813
- "dev": true
4814
- },
4815
- "path-is-absolute": {
4816
- "version": "1.0.1",
4817
- "bundled": true,
4818
- "dev": true
4819
- },
4820
- "path-is-inside": {
4821
- "version": "1.0.2",
4822
- "bundled": true,
4823
- "dev": true
4824
- },
4825
- "path-key": {
4826
- "version": "2.0.1",
4827
- "bundled": true,
4828
- "dev": true
4829
- },
4830
- "performance-now": {
4831
- "version": "2.1.0",
4832
- "bundled": true,
4833
- "dev": true
4834
- },
4835
- "pify": {
4836
- "version": "3.0.0",
4837
- "bundled": true,
4838
- "dev": true
4839
- },
4840
- "prepend-http": {
4841
- "version": "1.0.4",
4842
- "bundled": true,
4843
- "dev": true
4844
- },
4845
- "process-nextick-args": {
4846
- "version": "2.0.0",
4847
- "bundled": true,
4848
- "dev": true
4849
- },
4850
- "promise-inflight": {
4851
- "version": "1.0.1",
4852
- "bundled": true,
4853
- "dev": true
4854
- },
4855
- "promise-retry": {
4856
- "version": "1.1.1",
4857
- "bundled": true,
4858
- "dev": true,
4859
- "requires": {
4860
- "err-code": "^1.0.0",
4861
- "retry": "^0.10.0"
4862
- },
4863
- "dependencies": {
4864
- "retry": {
4865
- "version": "0.10.1",
4866
- "bundled": true,
4867
- "dev": true
4868
- }
4869
- }
4870
- },
4871
- "promzard": {
4872
- "version": "0.3.0",
4873
- "bundled": true,
4874
- "dev": true,
4875
- "requires": {
4876
- "read": "1"
4877
- }
4878
- },
4879
- "proto-list": {
4880
- "version": "1.2.4",
4881
- "bundled": true,
4882
- "dev": true
4883
- },
4884
- "protoduck": {
4885
- "version": "5.0.0",
4886
- "bundled": true,
4887
- "dev": true,
4888
- "requires": {
4889
- "genfun": "^4.0.1"
4890
- }
4891
- },
4892
- "prr": {
4893
- "version": "1.0.1",
4894
- "bundled": true,
4895
- "dev": true
4896
- },
4897
- "pseudomap": {
4898
- "version": "1.0.2",
4899
- "bundled": true,
4900
- "dev": true
4901
- },
4902
- "psl": {
4903
- "version": "1.1.29",
4904
- "bundled": true,
4905
- "dev": true
4906
- },
4907
- "pump": {
4908
- "version": "3.0.0",
4909
- "bundled": true,
4910
- "dev": true,
4911
- "requires": {
4912
- "end-of-stream": "^1.1.0",
4913
- "once": "^1.3.1"
4914
- }
4915
- },
4916
- "pumpify": {
4917
- "version": "1.5.1",
4918
- "bundled": true,
4919
- "dev": true,
4920
- "requires": {
4921
- "duplexify": "^3.6.0",
4922
- "inherits": "^2.0.3",
4923
- "pump": "^2.0.0"
4924
- },
4925
- "dependencies": {
4926
- "pump": {
4927
- "version": "2.0.1",
4928
- "bundled": true,
4929
- "dev": true,
4930
- "requires": {
4931
- "end-of-stream": "^1.1.0",
4932
- "once": "^1.3.1"
4933
- }
4934
- }
4935
- }
4936
- },
4937
- "punycode": {
4938
- "version": "1.4.1",
4939
- "bundled": true,
4940
- "dev": true
4941
- },
4942
- "qrcode-terminal": {
4943
- "version": "0.12.0",
4944
- "bundled": true,
4945
- "dev": true
4946
- },
4947
- "qs": {
4948
- "version": "6.5.2",
4949
- "bundled": true,
4950
- "dev": true
4951
- },
4952
- "query-string": {
4953
- "version": "6.1.0",
4954
- "bundled": true,
4955
- "dev": true,
4956
- "requires": {
4957
- "decode-uri-component": "^0.2.0",
4958
- "strict-uri-encode": "^2.0.0"
4959
- }
4960
- },
4961
- "qw": {
4962
- "version": "1.0.1",
4963
- "bundled": true,
4964
- "dev": true
4965
- },
4966
- "rc": {
4967
- "version": "1.2.7",
4968
- "bundled": true,
4969
- "dev": true,
4970
- "requires": {
4971
- "deep-extend": "^0.5.1",
4972
- "ini": "~1.3.0",
4973
- "minimist": "^1.2.0",
4974
- "strip-json-comments": "~2.0.1"
4975
- },
4976
- "dependencies": {
4977
- "minimist": {
4978
- "version": "1.2.0",
4979
- "bundled": true,
4980
- "dev": true
4981
- }
4982
- }
4983
- },
4984
- "read": {
4985
- "version": "1.0.7",
4986
- "bundled": true,
4987
- "dev": true,
4988
- "requires": {
4989
- "mute-stream": "~0.0.4"
4990
- }
4991
- },
4992
- "read-cmd-shim": {
4993
- "version": "1.0.1",
4994
- "bundled": true,
4995
- "dev": true,
4996
- "requires": {
4997
- "graceful-fs": "^4.1.2"
4998
- }
4999
- },
5000
- "read-installed": {
5001
- "version": "4.0.3",
5002
- "bundled": true,
5003
- "dev": true,
5004
- "requires": {
5005
- "debuglog": "^1.0.1",
5006
- "graceful-fs": "^4.1.2",
5007
- "read-package-json": "^2.0.0",
5008
- "readdir-scoped-modules": "^1.0.0",
5009
- "semver": "2 || 3 || 4 || 5",
5010
- "slide": "~1.1.3",
5011
- "util-extend": "^1.0.1"
5012
- }
5013
- },
5014
- "read-package-json": {
5015
- "version": "2.0.13",
5016
- "bundled": true,
5017
- "dev": true,
5018
- "requires": {
5019
- "glob": "^7.1.1",
5020
- "graceful-fs": "^4.1.2",
5021
- "json-parse-better-errors": "^1.0.1",
5022
- "normalize-package-data": "^2.0.0",
5023
- "slash": "^1.0.0"
5024
- }
5025
- },
5026
- "read-package-tree": {
5027
- "version": "5.2.1",
5028
- "bundled": true,
5029
- "dev": true,
5030
- "requires": {
5031
- "debuglog": "^1.0.1",
5032
- "dezalgo": "^1.0.0",
5033
- "once": "^1.3.0",
5034
- "read-package-json": "^2.0.0",
5035
- "readdir-scoped-modules": "^1.0.0"
5036
- }
5037
- },
5038
- "readable-stream": {
5039
- "version": "2.3.6",
5040
- "bundled": true,
5041
- "dev": true,
5042
- "requires": {
5043
- "core-util-is": "~1.0.0",
5044
- "inherits": "~2.0.3",
5045
- "isarray": "~1.0.0",
5046
- "process-nextick-args": "~2.0.0",
5047
- "safe-buffer": "~5.1.1",
5048
- "string_decoder": "~1.1.1",
5049
- "util-deprecate": "~1.0.1"
5050
- }
5051
- },
5052
- "readdir-scoped-modules": {
5053
- "version": "1.0.2",
5054
- "bundled": true,
5055
- "dev": true,
5056
- "requires": {
5057
- "debuglog": "^1.0.1",
5058
- "dezalgo": "^1.0.0",
5059
- "graceful-fs": "^4.1.2",
5060
- "once": "^1.3.0"
5061
- }
5062
- },
5063
- "registry-auth-token": {
5064
- "version": "3.3.2",
5065
- "bundled": true,
5066
- "dev": true,
5067
- "requires": {
5068
- "rc": "^1.1.6",
5069
- "safe-buffer": "^5.0.1"
5070
- }
5071
- },
5072
- "registry-url": {
5073
- "version": "3.1.0",
5074
- "bundled": true,
5075
- "dev": true,
5076
- "requires": {
5077
- "rc": "^1.0.1"
5078
- }
5079
- },
5080
- "request": {
5081
- "version": "2.88.0",
5082
- "bundled": true,
5083
- "dev": true,
5084
- "requires": {
5085
- "aws-sign2": "~0.7.0",
5086
- "aws4": "^1.8.0",
5087
- "caseless": "~0.12.0",
5088
- "combined-stream": "~1.0.6",
5089
- "extend": "~3.0.2",
5090
- "forever-agent": "~0.6.1",
5091
- "form-data": "~2.3.2",
5092
- "har-validator": "~5.1.0",
5093
- "http-signature": "~1.2.0",
5094
- "is-typedarray": "~1.0.0",
5095
- "isstream": "~0.1.2",
5096
- "json-stringify-safe": "~5.0.1",
5097
- "mime-types": "~2.1.19",
5098
- "oauth-sign": "~0.9.0",
5099
- "performance-now": "^2.1.0",
5100
- "qs": "~6.5.2",
5101
- "safe-buffer": "^5.1.2",
5102
- "tough-cookie": "~2.4.3",
5103
- "tunnel-agent": "^0.6.0",
5104
- "uuid": "^3.3.2"
5105
- }
5106
- },
5107
- "require-directory": {
5108
- "version": "2.1.1",
5109
- "bundled": true,
5110
- "dev": true
5111
- },
5112
- "require-main-filename": {
5113
- "version": "1.0.1",
5114
- "bundled": true,
5115
- "dev": true
5116
- },
5117
- "resolve-from": {
5118
- "version": "4.0.0",
5119
- "bundled": true,
5120
- "dev": true
5121
- },
5122
- "retry": {
5123
- "version": "0.12.0",
5124
- "bundled": true,
5125
- "dev": true
5126
- },
5127
- "rimraf": {
5128
- "version": "2.6.2",
5129
- "bundled": true,
5130
- "dev": true,
5131
- "requires": {
5132
- "glob": "^7.0.5"
5133
- }
5134
- },
5135
- "run-queue": {
5136
- "version": "1.0.3",
5137
- "bundled": true,
5138
- "dev": true,
5139
- "requires": {
5140
- "aproba": "^1.1.1"
5141
- }
5142
- },
5143
- "safe-buffer": {
5144
- "version": "5.1.2",
5145
- "bundled": true,
5146
- "dev": true
5147
- },
5148
- "safer-buffer": {
5149
- "version": "2.1.2",
5150
- "bundled": true,
5151
- "dev": true
5152
- },
5153
- "semver": {
5154
- "version": "5.5.1",
5155
- "bundled": true,
5156
- "dev": true
5157
- },
5158
- "semver-diff": {
5159
- "version": "2.1.0",
5160
- "bundled": true,
5161
- "dev": true,
5162
- "requires": {
5163
- "semver": "^5.0.3"
5164
- }
5165
- },
5166
- "set-blocking": {
5167
- "version": "2.0.0",
5168
- "bundled": true,
5169
- "dev": true
5170
- },
5171
- "sha": {
5172
- "version": "2.0.1",
5173
- "bundled": true,
5174
- "dev": true,
5175
- "requires": {
5176
- "graceful-fs": "^4.1.2",
5177
- "readable-stream": "^2.0.2"
5178
- }
5179
- },
5180
- "shebang-command": {
5181
- "version": "1.2.0",
5182
- "bundled": true,
5183
- "dev": true,
5184
- "requires": {
5185
- "shebang-regex": "^1.0.0"
5186
- }
5187
- },
5188
- "shebang-regex": {
5189
- "version": "1.0.0",
5190
- "bundled": true,
5191
- "dev": true
5192
- },
5193
- "signal-exit": {
5194
- "version": "3.0.2",
5195
- "bundled": true,
5196
- "dev": true
5197
- },
5198
- "slash": {
5199
- "version": "1.0.0",
5200
- "bundled": true,
5201
- "dev": true
5202
- },
5203
- "slide": {
5204
- "version": "1.1.6",
5205
- "bundled": true,
5206
- "dev": true
5207
- },
5208
- "smart-buffer": {
5209
- "version": "4.0.1",
5210
- "bundled": true,
5211
- "dev": true
5212
- },
5213
- "socks": {
5214
- "version": "2.2.0",
5215
- "bundled": true,
5216
- "dev": true,
5217
- "requires": {
5218
- "ip": "^1.1.5",
5219
- "smart-buffer": "^4.0.1"
5220
- }
5221
- },
5222
- "socks-proxy-agent": {
5223
- "version": "4.0.1",
5224
- "bundled": true,
5225
- "dev": true,
5226
- "requires": {
5227
- "agent-base": "~4.2.0",
5228
- "socks": "~2.2.0"
5229
- }
5230
- },
5231
- "sorted-object": {
5232
- "version": "2.0.1",
5233
- "bundled": true,
5234
- "dev": true
5235
- },
5236
- "sorted-union-stream": {
5237
- "version": "2.1.3",
5238
- "bundled": true,
5239
- "dev": true,
5240
- "requires": {
5241
- "from2": "^1.3.0",
5242
- "stream-iterate": "^1.1.0"
5243
- },
5244
- "dependencies": {
5245
- "from2": {
5246
- "version": "1.3.0",
5247
- "bundled": true,
5248
- "dev": true,
5249
- "requires": {
5250
- "inherits": "~2.0.1",
5251
- "readable-stream": "~1.1.10"
5252
- }
5253
- },
5254
- "isarray": {
5255
- "version": "0.0.1",
5256
- "bundled": true,
5257
- "dev": true
5258
- },
5259
- "readable-stream": {
5260
- "version": "1.1.14",
5261
- "bundled": true,
5262
- "dev": true,
5263
- "requires": {
5264
- "core-util-is": "~1.0.0",
5265
- "inherits": "~2.0.1",
5266
- "isarray": "0.0.1",
5267
- "string_decoder": "~0.10.x"
5268
- }
5269
- },
5270
- "string_decoder": {
5271
- "version": "0.10.31",
5272
- "bundled": true,
5273
- "dev": true
5274
- }
5275
- }
5276
- },
5277
- "spdx-correct": {
5278
- "version": "3.0.0",
5279
- "bundled": true,
5280
- "dev": true,
5281
- "requires": {
5282
- "spdx-expression-parse": "^3.0.0",
5283
- "spdx-license-ids": "^3.0.0"
5284
- }
5285
- },
5286
- "spdx-exceptions": {
5287
- "version": "2.1.0",
5288
- "bundled": true,
5289
- "dev": true
5290
- },
5291
- "spdx-expression-parse": {
5292
- "version": "3.0.0",
5293
- "bundled": true,
5294
- "dev": true,
5295
- "requires": {
5296
- "spdx-exceptions": "^2.1.0",
5297
- "spdx-license-ids": "^3.0.0"
5298
- }
5299
- },
5300
- "spdx-license-ids": {
5301
- "version": "3.0.0",
5302
- "bundled": true,
5303
- "dev": true
5304
- },
5305
- "sshpk": {
5306
- "version": "1.14.2",
5307
- "bundled": true,
5308
- "dev": true,
5309
- "requires": {
5310
- "asn1": "~0.2.3",
5311
- "assert-plus": "^1.0.0",
5312
- "bcrypt-pbkdf": "^1.0.0",
5313
- "dashdash": "^1.12.0",
5314
- "ecc-jsbn": "~0.1.1",
5315
- "getpass": "^0.1.1",
5316
- "jsbn": "~0.1.0",
5317
- "safer-buffer": "^2.0.2",
5318
- "tweetnacl": "~0.14.0"
5319
- }
5320
- },
5321
- "ssri": {
5322
- "version": "6.0.1",
5323
- "bundled": true,
5324
- "dev": true,
5325
- "requires": {
5326
- "figgy-pudding": "^3.5.1"
5327
- }
5328
- },
5329
- "stream-each": {
5330
- "version": "1.2.2",
5331
- "bundled": true,
5332
- "dev": true,
5333
- "requires": {
5334
- "end-of-stream": "^1.1.0",
5335
- "stream-shift": "^1.0.0"
5336
- }
5337
- },
5338
- "stream-iterate": {
5339
- "version": "1.2.0",
5340
- "bundled": true,
5341
- "dev": true,
5342
- "requires": {
5343
- "readable-stream": "^2.1.5",
5344
- "stream-shift": "^1.0.0"
5345
- }
5346
- },
5347
- "stream-shift": {
5348
- "version": "1.0.0",
5349
- "bundled": true,
5350
- "dev": true
5351
- },
5352
- "strict-uri-encode": {
5353
- "version": "2.0.0",
5354
- "bundled": true,
5355
- "dev": true
5356
- },
5357
- "string-width": {
5358
- "version": "2.1.1",
5359
- "bundled": true,
5360
- "dev": true,
5361
- "requires": {
5362
- "is-fullwidth-code-point": "^2.0.0",
5363
- "strip-ansi": "^4.0.0"
5364
- },
5365
- "dependencies": {
5366
- "ansi-regex": {
5367
- "version": "3.0.0",
5368
- "bundled": true,
5369
- "dev": true
5370
- },
5371
- "is-fullwidth-code-point": {
5372
- "version": "2.0.0",
5373
- "bundled": true,
5374
- "dev": true
5375
- },
5376
- "strip-ansi": {
5377
- "version": "4.0.0",
5378
- "bundled": true,
5379
- "dev": true,
5380
- "requires": {
5381
- "ansi-regex": "^3.0.0"
5382
- }
5383
- }
5384
- }
5385
- },
5386
- "string_decoder": {
5387
- "version": "1.1.1",
5388
- "bundled": true,
5389
- "dev": true,
5390
- "requires": {
5391
- "safe-buffer": "~5.1.0"
5392
- }
5393
- },
5394
- "stringify-package": {
5395
- "version": "1.0.0",
5396
- "bundled": true,
5397
- "dev": true
5398
- },
5399
- "strip-ansi": {
5400
- "version": "3.0.1",
5401
- "bundled": true,
5402
- "dev": true,
5403
- "requires": {
5404
- "ansi-regex": "^2.0.0"
5405
- }
5406
- },
5407
- "strip-eof": {
5408
- "version": "1.0.0",
5409
- "bundled": true,
5410
- "dev": true
5411
- },
5412
- "strip-json-comments": {
5413
- "version": "2.0.1",
5414
- "bundled": true,
5415
- "dev": true
5416
- },
5417
- "supports-color": {
5418
- "version": "5.4.0",
5419
- "bundled": true,
5420
- "dev": true,
5421
- "requires": {
5422
- "has-flag": "^3.0.0"
5423
- }
5424
- },
5425
- "tar": {
5426
- "version": "4.4.8",
5427
- "bundled": true,
5428
- "dev": true,
5429
- "requires": {
5430
- "chownr": "^1.1.1",
5431
- "fs-minipass": "^1.2.5",
5432
- "minipass": "^2.3.4",
5433
- "minizlib": "^1.1.1",
5434
- "mkdirp": "^0.5.0",
5435
- "safe-buffer": "^5.1.2",
5436
- "yallist": "^3.0.2"
5437
- },
5438
- "dependencies": {
5439
- "chownr": {
5440
- "version": "1.1.1",
5441
- "bundled": true,
5442
- "dev": true
5443
- },
5444
- "minipass": {
5445
- "version": "2.3.5",
5446
- "bundled": true,
5447
- "dev": true,
5448
- "requires": {
5449
- "safe-buffer": "^5.1.2",
5450
- "yallist": "^3.0.0"
5451
- }
5452
- },
5453
- "yallist": {
5454
- "version": "3.0.3",
5455
- "bundled": true,
5456
- "dev": true
5457
- }
5458
- }
5459
- },
5460
- "term-size": {
5461
- "version": "1.2.0",
5462
- "bundled": true,
5463
- "dev": true,
5464
- "requires": {
5465
- "execa": "^0.7.0"
5466
- }
5467
- },
5468
- "text-table": {
5469
- "version": "0.2.0",
5470
- "bundled": true,
5471
- "dev": true
5472
- },
5473
- "through": {
5474
- "version": "2.3.8",
5475
- "bundled": true,
5476
- "dev": true
5477
- },
5478
- "through2": {
5479
- "version": "2.0.3",
5480
- "bundled": true,
5481
- "dev": true,
5482
- "requires": {
5483
- "readable-stream": "^2.1.5",
5484
- "xtend": "~4.0.1"
5485
- }
5486
- },
5487
- "timed-out": {
5488
- "version": "4.0.1",
5489
- "bundled": true,
5490
- "dev": true
5491
- },
5492
- "tiny-relative-date": {
5493
- "version": "1.3.0",
5494
- "bundled": true,
5495
- "dev": true
5496
- },
5497
- "tough-cookie": {
5498
- "version": "2.4.3",
5499
- "bundled": true,
5500
- "dev": true,
5501
- "requires": {
5502
- "psl": "^1.1.24",
5503
- "punycode": "^1.4.1"
5504
- }
5505
- },
5506
- "tunnel-agent": {
5507
- "version": "0.6.0",
5508
- "bundled": true,
5509
- "dev": true,
5510
- "requires": {
5511
- "safe-buffer": "^5.0.1"
5512
- }
5513
- },
5514
- "tweetnacl": {
5515
- "version": "0.14.5",
5516
- "bundled": true,
5517
- "dev": true,
5518
- "optional": true
5519
- },
5520
- "typedarray": {
5521
- "version": "0.0.6",
5522
- "bundled": true,
5523
- "dev": true
5524
- },
5525
- "uid-number": {
5526
- "version": "0.0.6",
5527
- "bundled": true,
5528
- "dev": true
5529
- },
5530
- "umask": {
5531
- "version": "1.1.0",
5532
- "bundled": true,
5533
- "dev": true
5534
- },
5535
- "unique-filename": {
5536
- "version": "1.1.0",
5537
- "bundled": true,
5538
- "dev": true,
5539
- "requires": {
5540
- "unique-slug": "^2.0.0"
5541
- }
5542
- },
5543
- "unique-slug": {
5544
- "version": "2.0.0",
5545
- "bundled": true,
5546
- "dev": true,
5547
- "requires": {
5548
- "imurmurhash": "^0.1.4"
5549
- }
5550
- },
5551
- "unique-string": {
5552
- "version": "1.0.0",
5553
- "bundled": true,
5554
- "dev": true,
5555
- "requires": {
5556
- "crypto-random-string": "^1.0.0"
5557
- }
5558
- },
5559
- "unpipe": {
5560
- "version": "1.0.0",
5561
- "bundled": true,
5562
- "dev": true
5563
- },
5564
- "unzip-response": {
5565
- "version": "2.0.1",
5566
- "bundled": true,
5567
- "dev": true
5568
- },
5569
- "update-notifier": {
5570
- "version": "2.5.0",
5571
- "bundled": true,
5572
- "dev": true,
5573
- "requires": {
5574
- "boxen": "^1.2.1",
5575
- "chalk": "^2.0.1",
5576
- "configstore": "^3.0.0",
5577
- "import-lazy": "^2.1.0",
5578
- "is-ci": "^1.0.10",
5579
- "is-installed-globally": "^0.1.0",
5580
- "is-npm": "^1.0.0",
5581
- "latest-version": "^3.0.0",
5582
- "semver-diff": "^2.0.0",
5583
- "xdg-basedir": "^3.0.0"
5584
- }
5585
- },
5586
- "url-parse-lax": {
5587
- "version": "1.0.0",
5588
- "bundled": true,
5589
- "dev": true,
5590
- "requires": {
5591
- "prepend-http": "^1.0.1"
5592
- }
5593
- },
5594
- "util-deprecate": {
5595
- "version": "1.0.2",
5596
- "bundled": true,
5597
- "dev": true
5598
- },
5599
- "util-extend": {
5600
- "version": "1.0.3",
5601
- "bundled": true,
5602
- "dev": true
5603
- },
5604
- "uuid": {
5605
- "version": "3.3.2",
5606
- "bundled": true,
5607
- "dev": true
5608
- },
5609
- "validate-npm-package-license": {
5610
- "version": "3.0.4",
5611
- "bundled": true,
5612
- "dev": true,
5613
- "requires": {
5614
- "spdx-correct": "^3.0.0",
5615
- "spdx-expression-parse": "^3.0.0"
5616
- }
5617
- },
5618
- "validate-npm-package-name": {
5619
- "version": "3.0.0",
5620
- "bundled": true,
5621
- "dev": true,
5622
- "requires": {
5623
- "builtins": "^1.0.3"
5624
- }
5625
- },
5626
- "verror": {
5627
- "version": "1.10.0",
5628
- "bundled": true,
5629
- "dev": true,
5630
- "requires": {
5631
- "assert-plus": "^1.0.0",
5632
- "core-util-is": "1.0.2",
5633
- "extsprintf": "^1.2.0"
5634
- }
5635
- },
5636
- "wcwidth": {
5637
- "version": "1.0.1",
5638
- "bundled": true,
5639
- "dev": true,
5640
- "requires": {
5641
- "defaults": "^1.0.3"
5642
- }
5643
- },
5644
- "which": {
5645
- "version": "1.3.1",
5646
- "bundled": true,
5647
- "dev": true,
5648
- "requires": {
5649
- "isexe": "^2.0.0"
5650
- }
5651
- },
5652
- "which-module": {
5653
- "version": "2.0.0",
5654
- "bundled": true,
5655
- "dev": true
5656
- },
5657
- "wide-align": {
5658
- "version": "1.1.2",
5659
- "bundled": true,
5660
- "dev": true,
5661
- "requires": {
5662
- "string-width": "^1.0.2"
5663
- },
5664
- "dependencies": {
5665
- "string-width": {
5666
- "version": "1.0.2",
5667
- "bundled": true,
5668
- "dev": true,
5669
- "requires": {
5670
- "code-point-at": "^1.0.0",
5671
- "is-fullwidth-code-point": "^1.0.0",
5672
- "strip-ansi": "^3.0.0"
5673
- }
5674
- }
5675
- }
5676
- },
5677
- "widest-line": {
5678
- "version": "2.0.0",
5679
- "bundled": true,
5680
- "dev": true,
5681
- "requires": {
5682
- "string-width": "^2.1.1"
5683
- }
5684
- },
5685
- "worker-farm": {
5686
- "version": "1.6.0",
5687
- "bundled": true,
5688
- "dev": true,
5689
- "requires": {
5690
- "errno": "~0.1.7"
5691
- }
5692
- },
5693
- "wrap-ansi": {
5694
- "version": "2.1.0",
5695
- "bundled": true,
5696
- "dev": true,
5697
- "requires": {
5698
- "string-width": "^1.0.1",
5699
- "strip-ansi": "^3.0.1"
5700
- },
5701
- "dependencies": {
5702
- "string-width": {
5703
- "version": "1.0.2",
5704
- "bundled": true,
5705
- "dev": true,
5706
- "requires": {
5707
- "code-point-at": "^1.0.0",
5708
- "is-fullwidth-code-point": "^1.0.0",
5709
- "strip-ansi": "^3.0.0"
5710
- }
5711
- }
5712
- }
5713
- },
5714
- "wrappy": {
5715
- "version": "1.0.2",
5716
- "bundled": true,
5717
- "dev": true
5718
- },
5719
- "write-file-atomic": {
5720
- "version": "2.3.0",
5721
- "bundled": true,
5722
- "dev": true,
5723
- "requires": {
5724
- "graceful-fs": "^4.1.11",
5725
- "imurmurhash": "^0.1.4",
5726
- "signal-exit": "^3.0.2"
5727
- }
5728
- },
5729
- "xdg-basedir": {
5730
- "version": "3.0.0",
5731
- "bundled": true,
5732
- "dev": true
5733
- },
5734
- "xtend": {
5735
- "version": "4.0.1",
5736
- "bundled": true,
5737
- "dev": true
5738
- },
5739
- "y18n": {
5740
- "version": "4.0.0",
5741
- "bundled": true,
5742
- "dev": true
5743
- },
5744
- "yallist": {
5745
- "version": "2.1.2",
5746
- "bundled": true,
5747
- "dev": true
5748
- },
5749
- "yargs": {
5750
- "version": "11.0.0",
5751
- "bundled": true,
5752
- "dev": true,
5753
- "requires": {
5754
- "cliui": "^4.0.0",
5755
- "decamelize": "^1.1.1",
5756
- "find-up": "^2.1.0",
5757
- "get-caller-file": "^1.0.1",
5758
- "os-locale": "^2.0.0",
5759
- "require-directory": "^2.1.1",
5760
- "require-main-filename": "^1.0.1",
5761
- "set-blocking": "^2.0.0",
5762
- "string-width": "^2.0.0",
5763
- "which-module": "^2.0.0",
5764
- "y18n": "^3.2.1",
5765
- "yargs-parser": "^9.0.2"
5766
- },
5767
- "dependencies": {
5768
- "y18n": {
5769
- "version": "3.2.1",
5770
- "bundled": true,
5771
- "dev": true
5772
- }
5773
- }
5774
- },
5775
- "yargs-parser": {
5776
- "version": "9.0.2",
5777
- "bundled": true,
5778
- "dev": true,
5779
- "requires": {
5780
- "camelcase": "^4.1.0"
5781
- }
5782
- }
5783
- }
5784
- },
5785
- "npm-run-path": {
5786
- "version": "2.0.2",
5787
- "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-2.0.2.tgz",
5788
- "integrity": "sha1-NakjLfo11wZ7TLLd8jV7GHFTbF8=",
5789
- "dev": true,
5790
- "requires": {
5791
- "path-key": "^2.0.0"
5792
- }
5793
- },
5794
- "number-is-nan": {
5795
- "version": "1.0.1",
5796
- "resolved": "https://registry.npmjs.org/number-is-nan/-/number-is-nan-1.0.1.tgz",
5797
- "integrity": "sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0=",
5798
- "dev": true
5799
- },
5800
- "object-assign": {
5801
- "version": "4.1.1",
5802
- "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz",
5803
- "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=",
5804
- "dev": true
5805
- },
5806
- "object-copy": {
5807
- "version": "0.1.0",
5808
- "resolved": "https://registry.npmjs.org/object-copy/-/object-copy-0.1.0.tgz",
5809
- "integrity": "sha1-fn2Fi3gb18mRpBupde04EnVOmYw=",
5810
- "dev": true,
5811
- "requires": {
5812
- "copy-descriptor": "^0.1.0",
5813
- "define-property": "^0.2.5",
5814
- "kind-of": "^3.0.3"
5815
- },
5816
- "dependencies": {
5817
- "define-property": {
5818
- "version": "0.2.5",
5819
- "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz",
5820
- "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=",
5821
- "dev": true,
5822
- "requires": {
5823
- "is-descriptor": "^0.1.0"
5824
- }
5825
- },
5826
- "kind-of": {
5827
- "version": "3.2.2",
5828
- "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
5829
- "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
5830
- "dev": true,
5831
- "requires": {
5832
- "is-buffer": "^1.1.5"
5833
- }
5834
- }
5835
- }
5836
- },
5837
- "object-visit": {
5838
- "version": "1.0.1",
5839
- "resolved": "https://registry.npmjs.org/object-visit/-/object-visit-1.0.1.tgz",
5840
- "integrity": "sha1-95xEk68MU3e1n+OdOV5BBC3QRbs=",
5841
- "dev": true,
5842
- "requires": {
5843
- "isobject": "^3.0.0"
5844
- }
5845
- },
5846
- "object.pick": {
5847
- "version": "1.3.0",
5848
- "resolved": "https://registry.npmjs.org/object.pick/-/object.pick-1.3.0.tgz",
5849
- "integrity": "sha1-h6EKxMFpS9Lhy/U1kaZhQftd10c=",
5850
- "dev": true,
5851
- "requires": {
5852
- "isobject": "^3.0.1"
5853
- }
5854
- },
5855
- "octokit-pagination-methods": {
5856
- "version": "1.1.0",
5857
- "resolved": "https://registry.npmjs.org/octokit-pagination-methods/-/octokit-pagination-methods-1.1.0.tgz",
5858
- "integrity": "sha512-fZ4qZdQ2nxJvtcasX7Ghl+WlWS/d9IgnBIwFZXVNNZUmzpno91SX5bc5vuxiuKoCtK78XxGGNuSCrDC7xYB3OQ==",
5859
- "dev": true
5860
- },
5861
- "once": {
5862
- "version": "1.4.0",
5863
- "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz",
5864
- "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=",
5865
- "dev": true,
5866
- "requires": {
5867
- "wrappy": "1"
5868
- }
5869
- },
5870
- "optimist": {
5871
- "version": "0.6.1",
5872
- "resolved": "https://registry.npmjs.org/optimist/-/optimist-0.6.1.tgz",
5873
- "integrity": "sha1-2j6nRob6IaGaERwybpDrFaAZZoY=",
5874
- "dev": true,
5875
- "requires": {
5876
- "minimist": "~0.0.1",
5877
- "wordwrap": "~0.0.2"
5878
- },
5879
- "dependencies": {
5880
- "minimist": {
5881
- "version": "0.0.10",
5882
- "resolved": "http://registry.npmjs.org/minimist/-/minimist-0.0.10.tgz",
5883
- "integrity": "sha1-3j+YVD2/lggr5IrRoMfNqDYwHc8=",
5884
- "dev": true
5885
- }
5886
- }
5887
- },
5888
- "os-locale": {
5889
- "version": "3.0.1",
5890
- "resolved": "https://registry.npmjs.org/os-locale/-/os-locale-3.0.1.tgz",
5891
- "integrity": "sha512-7g5e7dmXPtzcP4bgsZ8ixDVqA7oWYuEz4lOSujeWyliPai4gfVDiFIcwBg3aGCPnmSGfzOKTK3ccPn0CKv3DBw==",
5892
- "dev": true,
5893
- "requires": {
5894
- "execa": "^0.10.0",
5895
- "lcid": "^2.0.0",
5896
- "mem": "^4.0.0"
5897
- },
5898
- "dependencies": {
5899
- "execa": {
5900
- "version": "0.10.0",
5901
- "resolved": "https://registry.npmjs.org/execa/-/execa-0.10.0.tgz",
5902
- "integrity": "sha512-7XOMnz8Ynx1gGo/3hyV9loYNPWM94jG3+3T3Y8tsfSstFmETmENCMU/A/zj8Lyaj1lkgEepKepvd6240tBRvlw==",
5903
- "dev": true,
5904
- "requires": {
5905
- "cross-spawn": "^6.0.0",
5906
- "get-stream": "^3.0.0",
5907
- "is-stream": "^1.1.0",
5908
- "npm-run-path": "^2.0.0",
5909
- "p-finally": "^1.0.0",
5910
- "signal-exit": "^3.0.0",
5911
- "strip-eof": "^1.0.0"
5912
- }
5913
- },
5914
- "get-stream": {
5915
- "version": "3.0.0",
5916
- "resolved": "http://registry.npmjs.org/get-stream/-/get-stream-3.0.0.tgz",
5917
- "integrity": "sha1-jpQ9E1jcN1VQVOy+LtsFqhdO3hQ=",
5918
- "dev": true
5919
- }
5920
- }
5921
- },
5922
- "os-name": {
5923
- "version": "3.0.0",
5924
- "resolved": "https://registry.npmjs.org/os-name/-/os-name-3.0.0.tgz",
5925
- "integrity": "sha512-7c74tib2FsdFbQ3W+qj8Tyd1R3Z6tuVRNNxXjJcZ4NgjIEQU9N/prVMqcW29XZPXGACqaXN3jq58/6hoaoXH6g==",
5926
- "dev": true,
5927
- "requires": {
5928
- "macos-release": "^2.0.0",
5929
- "windows-release": "^3.1.0"
5930
- }
5931
- },
5932
- "p-defer": {
5933
- "version": "1.0.0",
5934
- "resolved": "https://registry.npmjs.org/p-defer/-/p-defer-1.0.0.tgz",
5935
- "integrity": "sha1-n26xgvbJqozXQwBKfU+WsZaw+ww=",
5936
- "dev": true
5937
- },
5938
- "p-filter": {
5939
- "version": "1.0.0",
5940
- "resolved": "https://registry.npmjs.org/p-filter/-/p-filter-1.0.0.tgz",
5941
- "integrity": "sha1-Yp0xcVAgnI/VCLoTdxPvS7kg6ds=",
5942
- "dev": true,
5943
- "requires": {
5944
- "p-map": "^1.0.0"
5945
- }
5946
- },
5947
- "p-finally": {
5948
- "version": "1.0.0",
5949
- "resolved": "https://registry.npmjs.org/p-finally/-/p-finally-1.0.0.tgz",
5950
- "integrity": "sha1-P7z7FbiZpEEjs0ttzBi3JDNqLK4=",
5951
- "dev": true
5952
- },
5953
- "p-is-promise": {
5954
- "version": "2.0.0",
5955
- "resolved": "https://registry.npmjs.org/p-is-promise/-/p-is-promise-2.0.0.tgz",
5956
- "integrity": "sha512-pzQPhYMCAgLAKPWD2jC3Se9fEfrD9npNos0y150EeqZll7akhEgGhTW/slB6lHku8AvYGiJ+YJ5hfHKePPgFWg==",
5957
- "dev": true
5958
- },
5959
- "p-limit": {
5960
- "version": "1.3.0",
5961
- "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-1.3.0.tgz",
5962
- "integrity": "sha512-vvcXsLAJ9Dr5rQOPk7toZQZJApBl2K4J6dANSsEuh6QI41JYcsS/qhTGa9ErIUUgK3WNQoJYvylxvjqmiqEA9Q==",
5963
- "dev": true,
5964
- "requires": {
5965
- "p-try": "^1.0.0"
5966
- }
5967
- },
5968
- "p-locate": {
5969
- "version": "3.0.0",
5970
- "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz",
5971
- "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==",
5972
- "dev": true,
5973
- "requires": {
5974
- "p-limit": "^2.0.0"
5975
- },
5976
- "dependencies": {
5977
- "p-limit": {
5978
- "version": "2.0.0",
5979
- "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.0.0.tgz",
5980
- "integrity": "sha512-fl5s52lI5ahKCernzzIyAP0QAZbGIovtVHGwpcu1Jr/EpzLVDI2myISHwGqK7m8uQFugVWSrbxH7XnhGtvEc+A==",
5981
- "dev": true,
5982
- "requires": {
5983
- "p-try": "^2.0.0"
5984
- }
5985
- },
5986
- "p-try": {
5987
- "version": "2.0.0",
5988
- "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.0.0.tgz",
5989
- "integrity": "sha512-hMp0onDKIajHfIkdRk3P4CdCmErkYAxxDtP3Wx/4nZ3aGlau2VKh3mZpcuFkH27WQkL/3WBCPOktzA9ZOAnMQQ==",
5990
- "dev": true
5991
- }
5992
- }
5993
- },
5994
- "p-map": {
5995
- "version": "1.2.0",
5996
- "resolved": "https://registry.npmjs.org/p-map/-/p-map-1.2.0.tgz",
5997
- "integrity": "sha512-r6zKACMNhjPJMTl8KcFH4li//gkrXWfbD6feV8l6doRHlzljFWGJ2AP6iKaCJXyZmAUMOPtvbW7EXkbWO/pLEA==",
5998
- "dev": true
5999
- },
6000
- "p-reduce": {
6001
- "version": "1.0.0",
6002
- "resolved": "https://registry.npmjs.org/p-reduce/-/p-reduce-1.0.0.tgz",
6003
- "integrity": "sha1-GMKw3ZNqRpClKfgjH1ig/bakffo=",
6004
- "dev": true
6005
- },
6006
- "p-retry": {
6007
- "version": "3.0.0",
6008
- "resolved": "https://registry.npmjs.org/p-retry/-/p-retry-3.0.0.tgz",
6009
- "integrity": "sha512-fAB7bebxaj8nylNAsxPNkwPZ/48bXFdFnWrz0v2sV+H5BsGfVL7Ap7KgONqy7rOK4ZI1I+SU+lmettO3hM+2HQ==",
6010
- "dev": true,
6011
- "requires": {
6012
- "retry": "^0.12.0"
6013
- }
6014
- },
6015
- "p-try": {
6016
- "version": "1.0.0",
6017
- "resolved": "https://registry.npmjs.org/p-try/-/p-try-1.0.0.tgz",
6018
- "integrity": "sha1-y8ec26+P1CKOE/Yh8rGiN8GyB7M=",
6019
- "dev": true
6020
- },
6021
- "parse-github-url": {
6022
- "version": "1.0.2",
6023
- "resolved": "https://registry.npmjs.org/parse-github-url/-/parse-github-url-1.0.2.tgz",
6024
- "integrity": "sha512-kgBf6avCbO3Cn6+RnzRGLkUsv4ZVqv/VfAYkRsyBcgkshNvVBkRn1FEZcW0Jb+npXQWm2vHPnnOqFteZxRRGNw==",
6025
- "dev": true
6026
- },
6027
- "parse-json": {
6028
- "version": "4.0.0",
6029
- "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-4.0.0.tgz",
6030
- "integrity": "sha1-vjX1Qlvh9/bHRxhPmKeIy5lHfuA=",
6031
- "dev": true,
6032
- "requires": {
6033
- "error-ex": "^1.3.1",
6034
- "json-parse-better-errors": "^1.0.1"
6035
- }
6036
- },
6037
- "pascalcase": {
6038
- "version": "0.1.1",
6039
- "resolved": "https://registry.npmjs.org/pascalcase/-/pascalcase-0.1.1.tgz",
6040
- "integrity": "sha1-s2PlXoAGym/iF4TS2yK9FdeRfxQ=",
6041
- "dev": true
6042
- },
6043
- "path-dirname": {
6044
- "version": "1.0.2",
6045
- "resolved": "https://registry.npmjs.org/path-dirname/-/path-dirname-1.0.2.tgz",
6046
- "integrity": "sha1-zDPSTVJeCZpTiMAzbG4yuRYGCeA=",
6047
- "dev": true
6048
- },
6049
- "path-exists": {
6050
- "version": "2.1.0",
6051
- "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-2.1.0.tgz",
6052
- "integrity": "sha1-D+tsZPD8UY2adU3V77YscCJ2H0s=",
6053
- "dev": true,
6054
- "requires": {
6055
- "pinkie-promise": "^2.0.0"
6056
- }
6057
- },
6058
- "path-is-absolute": {
6059
- "version": "1.0.1",
6060
- "resolved": "http://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz",
6061
- "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=",
6062
- "dev": true
6063
- },
6064
- "path-key": {
6065
- "version": "2.0.1",
6066
- "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz",
6067
- "integrity": "sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A=",
6068
- "dev": true
6069
- },
6070
- "path-type": {
6071
- "version": "3.0.0",
6072
- "resolved": "https://registry.npmjs.org/path-type/-/path-type-3.0.0.tgz",
6073
- "integrity": "sha512-T2ZUsdZFHgA3u4e5PfPbjd7HDDpxPnQb5jN0SrDsjNSuVXHJqtwTnWqG0B1jZrgmJ/7lj1EmVIByWt1gxGkWvg==",
6074
- "dev": true,
6075
- "requires": {
6076
- "pify": "^3.0.0"
6077
- }
6078
- },
6079
- "pify": {
6080
- "version": "3.0.0",
6081
- "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz",
6082
- "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=",
6083
- "dev": true
6084
- },
6085
- "pinkie": {
6086
- "version": "2.0.4",
6087
- "resolved": "https://registry.npmjs.org/pinkie/-/pinkie-2.0.4.tgz",
6088
- "integrity": "sha1-clVrgM+g1IqXToDnckjoDtT3+HA=",
6089
- "dev": true
6090
- },
6091
- "pinkie-promise": {
6092
- "version": "2.0.1",
6093
- "resolved": "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz",
6094
- "integrity": "sha1-ITXW36ejWMBprJsXh3YogihFD/o=",
6095
- "dev": true,
6096
- "requires": {
6097
- "pinkie": "^2.0.0"
6098
- }
6099
- },
6100
- "pkg-conf": {
6101
- "version": "2.1.0",
6102
- "resolved": "https://registry.npmjs.org/pkg-conf/-/pkg-conf-2.1.0.tgz",
6103
- "integrity": "sha1-ISZRTKbyq/69FoWW3xi6V4Z/AFg=",
6104
- "dev": true,
6105
- "requires": {
6106
- "find-up": "^2.0.0",
6107
- "load-json-file": "^4.0.0"
6108
- },
6109
- "dependencies": {
6110
- "find-up": {
6111
- "version": "2.1.0",
6112
- "resolved": "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz",
6113
- "integrity": "sha1-RdG35QbHF93UgndaK3eSCjwMV6c=",
6114
- "dev": true,
6115
- "requires": {
6116
- "locate-path": "^2.0.0"
6117
- }
6118
- },
6119
- "load-json-file": {
6120
- "version": "4.0.0",
6121
- "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-4.0.0.tgz",
6122
- "integrity": "sha1-L19Fq5HjMhYjT9U62rZo607AmTs=",
6123
- "dev": true,
6124
- "requires": {
6125
- "graceful-fs": "^4.1.2",
6126
- "parse-json": "^4.0.0",
6127
- "pify": "^3.0.0",
6128
- "strip-bom": "^3.0.0"
6129
- }
6130
- },
6131
- "strip-bom": {
6132
- "version": "3.0.0",
6133
- "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz",
6134
- "integrity": "sha1-IzTBjpx1n3vdVv3vfprj1YjmjtM=",
6135
- "dev": true
6136
- }
6137
- }
6138
- },
6139
- "posix-character-classes": {
6140
- "version": "0.1.1",
6141
- "resolved": "https://registry.npmjs.org/posix-character-classes/-/posix-character-classes-0.1.1.tgz",
6142
- "integrity": "sha1-AerA/jta9xoqbAL+q7jB/vfgDqs=",
6143
- "dev": true
6144
- },
6145
- "process-nextick-args": {
6146
- "version": "2.0.0",
6147
- "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.0.tgz",
6148
- "integrity": "sha512-MtEC1TqN0EU5nephaJ4rAtThHtC86dNN9qCuEhtshvpVBkAW5ZO7BASN9REnF9eoXGcRub+pFuKEpOHE+HbEMw==",
6149
- "dev": true
6150
- },
6151
- "pump": {
6152
- "version": "3.0.0",
6153
- "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz",
6154
- "integrity": "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==",
6155
- "dev": true,
6156
- "requires": {
6157
- "end-of-stream": "^1.1.0",
6158
- "once": "^1.3.1"
6159
- }
6160
- },
6161
- "q": {
6162
- "version": "1.5.1",
6163
- "resolved": "https://registry.npmjs.org/q/-/q-1.5.1.tgz",
6164
- "integrity": "sha1-fjL3W0E4EpHQRhHxvxQQmsAGUdc=",
6165
- "dev": true
6166
- },
6167
- "quick-lru": {
6168
- "version": "1.1.0",
6169
- "resolved": "https://registry.npmjs.org/quick-lru/-/quick-lru-1.1.0.tgz",
6170
- "integrity": "sha1-Q2CxfGETatOAeDl/8RQW4Ybc+7g=",
6171
- "dev": true
6172
- },
6173
- "rc": {
6174
- "version": "1.2.8",
6175
- "resolved": "https://registry.npmjs.org/rc/-/rc-1.2.8.tgz",
6176
- "integrity": "sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==",
6177
- "dev": true,
6178
- "requires": {
6179
- "deep-extend": "^0.6.0",
6180
- "ini": "~1.3.0",
6181
- "minimist": "^1.2.0",
6182
- "strip-json-comments": "~2.0.1"
6183
- }
6184
- },
6185
- "read-pkg": {
6186
- "version": "1.1.0",
6187
- "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-1.1.0.tgz",
6188
- "integrity": "sha1-9f+qXs0pyzHAR0vKfXVra7KePyg=",
6189
- "dev": true,
6190
- "requires": {
6191
- "load-json-file": "^1.0.0",
6192
- "normalize-package-data": "^2.3.2",
6193
- "path-type": "^1.0.0"
6194
- },
6195
- "dependencies": {
6196
- "path-type": {
6197
- "version": "1.1.0",
6198
- "resolved": "https://registry.npmjs.org/path-type/-/path-type-1.1.0.tgz",
6199
- "integrity": "sha1-WcRPfuSR2nBNpBXaWkBwuk+P5EE=",
6200
- "dev": true,
6201
- "requires": {
6202
- "graceful-fs": "^4.1.2",
6203
- "pify": "^2.0.0",
6204
- "pinkie-promise": "^2.0.0"
6205
- }
6206
- },
6207
- "pify": {
6208
- "version": "2.3.0",
6209
- "resolved": "http://registry.npmjs.org/pify/-/pify-2.3.0.tgz",
6210
- "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=",
6211
- "dev": true
6212
- }
6213
- }
6214
- },
6215
- "read-pkg-up": {
6216
- "version": "1.0.1",
6217
- "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-1.0.1.tgz",
6218
- "integrity": "sha1-nWPBMnbAZZGNV/ACpX9AobZD+wI=",
6219
- "dev": true,
6220
- "requires": {
6221
- "find-up": "^1.0.0",
6222
- "read-pkg": "^1.0.0"
6223
- }
6224
- },
6225
- "readable-stream": {
6226
- "version": "2.3.6",
6227
- "resolved": "http://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz",
6228
- "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==",
6229
- "dev": true,
6230
- "requires": {
6231
- "core-util-is": "~1.0.0",
6232
- "inherits": "~2.0.3",
6233
- "isarray": "~1.0.0",
6234
- "process-nextick-args": "~2.0.0",
6235
- "safe-buffer": "~5.1.1",
6236
- "string_decoder": "~1.1.1",
6237
- "util-deprecate": "~1.0.1"
6238
- }
6239
- },
6240
- "redent": {
6241
- "version": "1.0.0",
6242
- "resolved": "https://registry.npmjs.org/redent/-/redent-1.0.0.tgz",
6243
- "integrity": "sha1-z5Fqsf1fHxbfsggi3W7H9zDCr94=",
6244
- "dev": true,
6245
- "requires": {
6246
- "indent-string": "^2.1.0",
6247
- "strip-indent": "^1.0.1"
6248
- },
6249
- "dependencies": {
6250
- "indent-string": {
6251
- "version": "2.1.0",
6252
- "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-2.1.0.tgz",
6253
- "integrity": "sha1-ji1INIdCEhtKghi3oTfppSBJ3IA=",
6254
- "dev": true,
6255
- "requires": {
6256
- "repeating": "^2.0.0"
6257
- }
6258
- }
6259
- }
6260
- },
6261
- "redeyed": {
6262
- "version": "2.1.1",
6263
- "resolved": "https://registry.npmjs.org/redeyed/-/redeyed-2.1.1.tgz",
6264
- "integrity": "sha1-iYS1gV2ZyyIEacme7v/jiRPmzAs=",
6265
- "dev": true,
6266
- "requires": {
6267
- "esprima": "~4.0.0"
6268
- },
6269
- "dependencies": {
6270
- "esprima": {
6271
- "version": "4.0.1",
6272
- "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz",
6273
- "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==",
6274
- "dev": true
6275
- }
6276
- }
6277
- },
6278
- "regex-not": {
6279
- "version": "1.0.2",
6280
- "resolved": "https://registry.npmjs.org/regex-not/-/regex-not-1.0.2.tgz",
6281
- "integrity": "sha512-J6SDjUgDxQj5NusnOtdFxDwN/+HWykR8GELwctJ7mdqhcyy1xEc4SRFHUXvxTp661YaVKAjfRLZ9cCqS6tn32A==",
6282
- "dev": true,
6283
- "requires": {
6284
- "extend-shallow": "^3.0.2",
6285
- "safe-regex": "^1.1.0"
6286
- }
6287
- },
6288
- "registry-auth-token": {
6289
- "version": "3.3.2",
6290
- "resolved": "https://registry.npmjs.org/registry-auth-token/-/registry-auth-token-3.3.2.tgz",
6291
- "integrity": "sha512-JL39c60XlzCVgNrO+qq68FoNb56w/m7JYvGR2jT5iR1xBrUA3Mfx5Twk5rqTThPmQKMWydGmq8oFtDlxfrmxnQ==",
6292
- "dev": true,
6293
- "requires": {
6294
- "rc": "^1.1.6",
6295
- "safe-buffer": "^5.0.1"
6296
- }
6297
- },
6298
- "repeat-element": {
6299
- "version": "1.1.3",
6300
- "resolved": "https://registry.npmjs.org/repeat-element/-/repeat-element-1.1.3.tgz",
6301
- "integrity": "sha512-ahGq0ZnV5m5XtZLMb+vP76kcAM5nkLqk0lpqAuojSKGgQtn4eRi4ZZGm2olo2zKFH+sMsWaqOCW1dqAnOru72g==",
6302
- "dev": true
6303
- },
6304
- "repeat-string": {
6305
- "version": "1.6.1",
6306
- "resolved": "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz",
6307
- "integrity": "sha1-jcrkcOHIirwtYA//Sndihtp15jc=",
6308
- "dev": true
6309
- },
6310
- "repeating": {
6311
- "version": "2.0.1",
6312
- "resolved": "https://registry.npmjs.org/repeating/-/repeating-2.0.1.tgz",
6313
- "integrity": "sha1-UhTFOpJtNVJwdSf7q0FdvAjQbdo=",
6314
- "dev": true,
6315
- "requires": {
6316
- "is-finite": "^1.0.0"
6317
- }
6318
- },
6319
- "require-directory": {
6320
- "version": "2.1.1",
6321
- "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz",
6322
- "integrity": "sha1-jGStX9MNqxyXbiNE/+f3kqam30I=",
6323
- "dev": true
6324
- },
6325
- "require-main-filename": {
6326
- "version": "1.0.1",
6327
- "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-1.0.1.tgz",
6328
- "integrity": "sha1-l/cXtp1IeE9fUmpsWqj/3aBVpNE=",
6329
- "dev": true
6330
- },
6331
- "resolve": {
6332
- "version": "1.1.7",
6333
- "resolved": "http://registry.npmjs.org/resolve/-/resolve-1.1.7.tgz",
6334
- "integrity": "sha1-IDEU2CrSxe2ejgQRs5ModeiJ6Xs=",
6335
- "dev": true
6336
- },
6337
- "resolve-from": {
6338
- "version": "4.0.0",
6339
- "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz",
6340
- "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==",
6341
- "dev": true
6342
- },
6343
- "resolve-url": {
6344
- "version": "0.2.1",
6345
- "resolved": "https://registry.npmjs.org/resolve-url/-/resolve-url-0.2.1.tgz",
6346
- "integrity": "sha1-LGN/53yJOv0qZj/iGqkIAGjiBSo=",
6347
- "dev": true
6348
- },
6349
- "ret": {
6350
- "version": "0.1.15",
6351
- "resolved": "https://registry.npmjs.org/ret/-/ret-0.1.15.tgz",
6352
- "integrity": "sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg==",
6353
- "dev": true
6354
- },
6355
- "retry": {
6356
- "version": "0.12.0",
6357
- "resolved": "https://registry.npmjs.org/retry/-/retry-0.12.0.tgz",
6358
- "integrity": "sha1-G0KmJmoh8HQh0bC1S33BZ7AcATs=",
6359
- "dev": true
6360
- },
6361
- "rimraf": {
6362
- "version": "2.6.2",
6363
- "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.2.tgz",
6364
- "integrity": "sha512-lreewLK/BlghmxtfH36YYVg1i8IAce4TI7oao75I1g245+6BctqTVQiBP3YUJ9C6DQOXJmkYR9X9fCLtCOJc5w==",
6365
- "dev": true,
6366
- "requires": {
6367
- "glob": "^7.0.5"
6368
- }
6369
- },
6370
- "safe-buffer": {
6371
- "version": "5.1.2",
6372
- "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz",
6373
- "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==",
6374
- "dev": true
6375
- },
6376
- "safe-regex": {
6377
- "version": "1.1.0",
6378
- "resolved": "http://registry.npmjs.org/safe-regex/-/safe-regex-1.1.0.tgz",
6379
- "integrity": "sha1-QKNmnzsHfR6UPURinhV91IAjvy4=",
6380
- "dev": true,
6381
- "requires": {
6382
- "ret": "~0.1.10"
6383
- }
6384
- },
6385
- "safer-buffer": {
6386
- "version": "2.1.2",
6387
- "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz",
6388
- "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==",
6389
- "dev": true
6390
- },
6391
- "semantic-release": {
6392
- "version": "15.13.1",
6393
- "resolved": "https://registry.npmjs.org/semantic-release/-/semantic-release-15.13.1.tgz",
6394
- "integrity": "sha512-bkrfQ10BhbJRMeq/Ih9DZ9FO4ffDwFYsRR134JP9JvQSf8GVX4sg3SnFFd7Q10C6pKwjKqMZ4+ZNB5uQYMLPEg==",
6395
- "dev": true,
6396
- "requires": {
6397
- "@semantic-release/commit-analyzer": "^6.1.0",
6398
- "@semantic-release/error": "^2.2.0",
6399
- "@semantic-release/github": "^5.1.0",
6400
- "@semantic-release/npm": "^5.0.5",
6401
- "@semantic-release/release-notes-generator": "^7.1.2",
6402
- "aggregate-error": "^1.0.0",
6403
- "cosmiconfig": "^5.0.1",
6404
- "debug": "^4.0.0",
6405
- "env-ci": "^3.0.0",
6406
- "execa": "^1.0.0",
6407
- "figures": "^2.0.0",
6408
- "find-versions": "^3.0.0",
6409
- "get-stream": "^4.0.0",
6410
- "git-log-parser": "^1.2.0",
6411
- "hook-std": "^1.1.0",
6412
- "hosted-git-info": "^2.7.1",
6413
- "lodash": "^4.17.4",
6414
- "marked": "^0.5.0",
6415
- "marked-terminal": "^3.0.0",
6416
- "p-locate": "^3.0.0",
6417
- "p-reduce": "^1.0.0",
6418
- "read-pkg-up": "^4.0.0",
6419
- "resolve-from": "^4.0.0",
6420
- "semver": "^5.4.1",
6421
- "signale": "^1.2.1",
6422
- "yargs": "^12.0.0"
6423
- },
6424
- "dependencies": {
6425
- "find-up": {
6426
- "version": "3.0.0",
6427
- "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz",
6428
- "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==",
6429
- "dev": true,
6430
- "requires": {
6431
- "locate-path": "^3.0.0"
6432
- }
6433
- },
6434
- "load-json-file": {
6435
- "version": "4.0.0",
6436
- "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-4.0.0.tgz",
6437
- "integrity": "sha1-L19Fq5HjMhYjT9U62rZo607AmTs=",
6438
- "dev": true,
6439
- "requires": {
6440
- "graceful-fs": "^4.1.2",
6441
- "parse-json": "^4.0.0",
6442
- "pify": "^3.0.0",
6443
- "strip-bom": "^3.0.0"
6444
- }
6445
- },
6446
- "locate-path": {
6447
- "version": "3.0.0",
6448
- "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz",
6449
- "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==",
6450
- "dev": true,
6451
- "requires": {
6452
- "p-locate": "^3.0.0",
6453
- "path-exists": "^3.0.0"
6454
- }
6455
- },
6456
- "path-exists": {
6457
- "version": "3.0.0",
6458
- "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz",
6459
- "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=",
6460
- "dev": true
6461
- },
6462
- "read-pkg": {
6463
- "version": "3.0.0",
6464
- "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-3.0.0.tgz",
6465
- "integrity": "sha1-nLxoaXj+5l0WwA4rGcI3/Pbjg4k=",
6466
- "dev": true,
6467
- "requires": {
6468
- "load-json-file": "^4.0.0",
6469
- "normalize-package-data": "^2.3.2",
6470
- "path-type": "^3.0.0"
6471
- }
6472
- },
6473
- "read-pkg-up": {
6474
- "version": "4.0.0",
6475
- "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-4.0.0.tgz",
6476
- "integrity": "sha512-6etQSH7nJGsK0RbG/2TeDzZFa8shjQ1um+SwQQ5cwKy0dhSXdOncEhb1CPpvQG4h7FyOV6EB6YlV0yJvZQNAkA==",
6477
- "dev": true,
6478
- "requires": {
6479
- "find-up": "^3.0.0",
6480
- "read-pkg": "^3.0.0"
6481
- }
6482
- },
6483
- "strip-bom": {
6484
- "version": "3.0.0",
6485
- "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz",
6486
- "integrity": "sha1-IzTBjpx1n3vdVv3vfprj1YjmjtM=",
6487
- "dev": true
6488
- }
6489
- }
6490
- },
6491
- "semver": {
6492
- "version": "5.6.0",
6493
- "resolved": "https://registry.npmjs.org/semver/-/semver-5.6.0.tgz",
6494
- "integrity": "sha512-RS9R6R35NYgQn++fkDWaOmqGoj4Ek9gGs+DPxNUZKuwE183xjJroKvyo1IzVFeXvUrvmALy6FWD5xrdJT25gMg==",
6495
- "dev": true
6496
- },
6497
- "semver-regex": {
6498
- "version": "2.0.0",
6499
- "resolved": "https://registry.npmjs.org/semver-regex/-/semver-regex-2.0.0.tgz",
6500
- "integrity": "sha512-mUdIBBvdn0PLOeP3TEkMH7HHeUP3GjsXCwKarjv/kGmUFOYg1VqEemKhoQpWMu6X2I8kHeuVdGibLGkVK+/5Qw==",
6501
- "dev": true
6502
- },
6503
- "set-blocking": {
6504
- "version": "2.0.0",
6505
- "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz",
6506
- "integrity": "sha1-BF+XgtARrppoA93TgrJDkrPYkPc=",
6507
- "dev": true
6508
- },
6509
- "set-value": {
6510
- "version": "2.0.0",
6511
- "resolved": "https://registry.npmjs.org/set-value/-/set-value-2.0.0.tgz",
6512
- "integrity": "sha512-hw0yxk9GT/Hr5yJEYnHNKYXkIA8mVJgd9ditYZCe16ZczcaELYYcfvaXesNACk2O8O0nTiPQcQhGUQj8JLzeeg==",
6513
- "dev": true,
6514
- "requires": {
6515
- "extend-shallow": "^2.0.1",
6516
- "is-extendable": "^0.1.1",
6517
- "is-plain-object": "^2.0.3",
6518
- "split-string": "^3.0.1"
6519
- },
6520
- "dependencies": {
6521
- "extend-shallow": {
6522
- "version": "2.0.1",
6523
- "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
6524
- "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
6525
- "dev": true,
6526
- "requires": {
6527
- "is-extendable": "^0.1.0"
6528
- }
6529
- }
6530
- }
6531
- },
6532
- "shebang-command": {
6533
- "version": "1.2.0",
6534
- "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz",
6535
- "integrity": "sha1-RKrGW2lbAzmJaMOfNj/uXer98eo=",
6536
- "dev": true,
6537
- "requires": {
6538
- "shebang-regex": "^1.0.0"
6539
- }
6540
- },
6541
- "shebang-regex": {
6542
- "version": "1.0.0",
6543
- "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz",
6544
- "integrity": "sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM=",
6545
- "dev": true
6546
- },
6547
- "signal-exit": {
6548
- "version": "3.0.2",
6549
- "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.2.tgz",
6550
- "integrity": "sha1-tf3AjxKH6hF4Yo5BXiUTK3NkbG0=",
6551
- "dev": true
6552
- },
6553
- "signale": {
6554
- "version": "1.3.0",
6555
- "resolved": "https://registry.npmjs.org/signale/-/signale-1.3.0.tgz",
6556
- "integrity": "sha512-TyFhsQ9wZDYDfsPqWMyjCxsDoMwfpsT0130Mce7wDiVCSDdtWSg83dOqoj8aGpGCs3n1YPcam6sT1OFPuGT/OQ==",
6557
- "dev": true,
6558
- "requires": {
6559
- "chalk": "^2.3.2",
6560
- "figures": "^2.0.0",
6561
- "pkg-conf": "^2.1.0"
6562
- }
6563
- },
6564
- "slash": {
6565
- "version": "1.0.0",
6566
- "resolved": "https://registry.npmjs.org/slash/-/slash-1.0.0.tgz",
6567
- "integrity": "sha1-xB8vbDn8FtHNF61LXYlhFK5HDVU=",
6568
- "dev": true
6569
- },
6570
- "snapdragon": {
6571
- "version": "0.8.2",
6572
- "resolved": "https://registry.npmjs.org/snapdragon/-/snapdragon-0.8.2.tgz",
6573
- "integrity": "sha512-FtyOnWN/wCHTVXOMwvSv26d+ko5vWlIDD6zoUJ7LW8vh+ZBC8QdljveRP+crNrtBwioEUWy/4dMtbBjA4ioNlg==",
6574
- "dev": true,
6575
- "requires": {
6576
- "base": "^0.11.1",
6577
- "debug": "^2.2.0",
6578
- "define-property": "^0.2.5",
6579
- "extend-shallow": "^2.0.1",
6580
- "map-cache": "^0.2.2",
6581
- "source-map": "^0.5.6",
6582
- "source-map-resolve": "^0.5.0",
6583
- "use": "^3.1.0"
6584
- },
6585
- "dependencies": {
6586
- "debug": {
6587
- "version": "2.6.9",
6588
- "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
6589
- "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
6590
- "dev": true,
6591
- "requires": {
6592
- "ms": "2.0.0"
6593
- }
6594
- },
6595
- "define-property": {
6596
- "version": "0.2.5",
6597
- "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz",
6598
- "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=",
6599
- "dev": true,
6600
- "requires": {
6601
- "is-descriptor": "^0.1.0"
6602
- }
6603
- },
6604
- "extend-shallow": {
6605
- "version": "2.0.1",
6606
- "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
6607
- "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
6608
- "dev": true,
6609
- "requires": {
6610
- "is-extendable": "^0.1.0"
6611
- }
6612
- },
6613
- "ms": {
6614
- "version": "2.0.0",
6615
- "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
6616
- "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=",
6617
- "dev": true
6618
- }
6619
- }
6620
- },
6621
- "snapdragon-node": {
6622
- "version": "2.1.1",
6623
- "resolved": "https://registry.npmjs.org/snapdragon-node/-/snapdragon-node-2.1.1.tgz",
6624
- "integrity": "sha512-O27l4xaMYt/RSQ5TR3vpWCAB5Kb/czIcqUFOM/C4fYcLnbZUc1PkjTAMjof2pBWaSTwOUd6qUHcFGVGj7aIwnw==",
6625
- "dev": true,
6626
- "requires": {
6627
- "define-property": "^1.0.0",
6628
- "isobject": "^3.0.0",
6629
- "snapdragon-util": "^3.0.1"
6630
- },
6631
- "dependencies": {
6632
- "define-property": {
6633
- "version": "1.0.0",
6634
- "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz",
6635
- "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=",
6636
- "dev": true,
6637
- "requires": {
6638
- "is-descriptor": "^1.0.0"
6639
- }
6640
- },
6641
- "is-accessor-descriptor": {
6642
- "version": "1.0.0",
6643
- "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz",
6644
- "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==",
6645
- "dev": true,
6646
- "requires": {
6647
- "kind-of": "^6.0.0"
6648
- }
6649
- },
6650
- "is-data-descriptor": {
6651
- "version": "1.0.0",
6652
- "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz",
6653
- "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==",
6654
- "dev": true,
6655
- "requires": {
6656
- "kind-of": "^6.0.0"
6657
- }
6658
- },
6659
- "is-descriptor": {
6660
- "version": "1.0.2",
6661
- "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz",
6662
- "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==",
6663
- "dev": true,
6664
- "requires": {
6665
- "is-accessor-descriptor": "^1.0.0",
6666
- "is-data-descriptor": "^1.0.0",
6667
- "kind-of": "^6.0.2"
6668
- }
6669
- }
6670
- }
6671
- },
6672
- "snapdragon-util": {
6673
- "version": "3.0.1",
6674
- "resolved": "https://registry.npmjs.org/snapdragon-util/-/snapdragon-util-3.0.1.tgz",
6675
- "integrity": "sha512-mbKkMdQKsjX4BAL4bRYTj21edOf8cN7XHdYUJEe+Zn99hVEYcMvKPct1IqNe7+AZPirn8BCDOQBHQZknqmKlZQ==",
6676
- "dev": true,
6677
- "requires": {
6678
- "kind-of": "^3.2.0"
6679
- },
6680
- "dependencies": {
6681
- "kind-of": {
6682
- "version": "3.2.2",
6683
- "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
6684
- "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
6685
- "dev": true,
6686
- "requires": {
6687
- "is-buffer": "^1.1.5"
6688
- }
6689
- }
6690
- }
6691
- },
6692
- "source-map": {
6693
- "version": "0.5.7",
6694
- "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz",
6695
- "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=",
6696
- "dev": true
6697
- },
6698
- "source-map-resolve": {
6699
- "version": "0.5.2",
6700
- "resolved": "https://registry.npmjs.org/source-map-resolve/-/source-map-resolve-0.5.2.tgz",
6701
- "integrity": "sha512-MjqsvNwyz1s0k81Goz/9vRBe9SZdB09Bdw+/zYyO+3CuPk6fouTaxscHkgtE8jKvf01kVfl8riHzERQ/kefaSA==",
6702
- "dev": true,
6703
- "requires": {
6704
- "atob": "^2.1.1",
6705
- "decode-uri-component": "^0.2.0",
6706
- "resolve-url": "^0.2.1",
6707
- "source-map-url": "^0.4.0",
6708
- "urix": "^0.1.0"
6709
- }
6710
- },
6711
- "source-map-url": {
6712
- "version": "0.4.0",
6713
- "resolved": "https://registry.npmjs.org/source-map-url/-/source-map-url-0.4.0.tgz",
6714
- "integrity": "sha1-PpNdfd1zYxuXZZlW1VEo6HtQhKM=",
6715
- "dev": true
6716
- },
6717
- "spawn-error-forwarder": {
6718
- "version": "1.0.0",
6719
- "resolved": "https://registry.npmjs.org/spawn-error-forwarder/-/spawn-error-forwarder-1.0.0.tgz",
6720
- "integrity": "sha1-Gv2Uc46ZmwNG17n8NzvlXgdXcCk=",
6721
- "dev": true
6722
- },
6723
- "spdx-correct": {
6724
- "version": "3.1.0",
6725
- "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.1.0.tgz",
6726
- "integrity": "sha512-lr2EZCctC2BNR7j7WzJ2FpDznxky1sjfxvvYEyzxNyb6lZXHODmEoJeFu4JupYlkfha1KZpJyoqiJ7pgA1qq8Q==",
6727
- "dev": true,
6728
- "requires": {
6729
- "spdx-expression-parse": "^3.0.0",
6730
- "spdx-license-ids": "^3.0.0"
6731
- }
6732
- },
6733
- "spdx-exceptions": {
6734
- "version": "2.2.0",
6735
- "resolved": "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.2.0.tgz",
6736
- "integrity": "sha512-2XQACfElKi9SlVb1CYadKDXvoajPgBVPn/gOQLrTvHdElaVhr7ZEbqJaRnJLVNeaI4cMEAgVCeBMKF6MWRDCRA==",
6737
- "dev": true
6738
- },
6739
- "spdx-expression-parse": {
6740
- "version": "3.0.0",
6741
- "resolved": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-3.0.0.tgz",
6742
- "integrity": "sha512-Yg6D3XpRD4kkOmTpdgbUiEJFKghJH03fiC1OPll5h/0sO6neh2jqRDVHOQ4o/LMea0tgCkbMgea5ip/e+MkWyg==",
6743
- "dev": true,
6744
- "requires": {
6745
- "spdx-exceptions": "^2.1.0",
6746
- "spdx-license-ids": "^3.0.0"
6747
- }
6748
- },
6749
- "spdx-license-ids": {
6750
- "version": "3.0.2",
6751
- "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.2.tgz",
6752
- "integrity": "sha512-qky9CVt0lVIECkEsYbNILVnPvycuEBkXoMFLRWsREkomQLevYhtRKC+R91a5TOAQ3bCMjikRwhyaRqj1VYatYg==",
6753
- "dev": true
6754
- },
6755
- "split": {
6756
- "version": "1.0.1",
6757
- "resolved": "https://registry.npmjs.org/split/-/split-1.0.1.tgz",
6758
- "integrity": "sha512-mTyOoPbrivtXnwnIxZRFYRrPNtEFKlpB2fvjSnCQUiAA6qAZzqwna5envK4uk6OIeP17CsdF3rSBGYVBsU0Tkg==",
6759
- "dev": true,
6760
- "requires": {
6761
- "through": "2"
6762
- }
6763
- },
6764
- "split-string": {
6765
- "version": "3.1.0",
6766
- "resolved": "https://registry.npmjs.org/split-string/-/split-string-3.1.0.tgz",
6767
- "integrity": "sha512-NzNVhJDYpwceVVii8/Hu6DKfD2G+NrQHlS/V/qgv763EYudVwEcMQNxd2lh+0VrUByXN/oJkl5grOhYWvQUYiw==",
6768
- "dev": true,
6769
- "requires": {
6770
- "extend-shallow": "^3.0.0"
6771
- }
6772
- },
6773
- "split2": {
6774
- "version": "2.2.0",
6775
- "resolved": "https://registry.npmjs.org/split2/-/split2-2.2.0.tgz",
6776
- "integrity": "sha512-RAb22TG39LhI31MbreBgIuKiIKhVsawfTgEGqKHTK87aG+ul/PB8Sqoi3I7kVdRWiCfrKxK3uo4/YUkpNvhPbw==",
6777
- "dev": true,
6778
- "requires": {
6779
- "through2": "^2.0.2"
6780
- }
6781
- },
6782
- "sprintf-js": {
6783
- "version": "1.1.2",
6784
- "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.1.2.tgz",
6785
- "integrity": "sha512-VE0SOVEHCk7Qc8ulkWw3ntAzXuqf7S2lvwQaDLRnUeIEaKNQJzV6BwmLKhOqT61aGhfUMrXeaBk+oDGCzvhcug==",
6786
- "dev": true
6787
- },
6788
- "static-extend": {
6789
- "version": "0.1.2",
6790
- "resolved": "https://registry.npmjs.org/static-extend/-/static-extend-0.1.2.tgz",
6791
- "integrity": "sha1-YICcOcv/VTNyJv1eC1IPNB8ftcY=",
6792
- "dev": true,
6793
- "requires": {
6794
- "define-property": "^0.2.5",
6795
- "object-copy": "^0.1.0"
6796
- },
6797
- "dependencies": {
6798
- "define-property": {
6799
- "version": "0.2.5",
6800
- "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz",
6801
- "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=",
6802
- "dev": true,
6803
- "requires": {
6804
- "is-descriptor": "^0.1.0"
6805
- }
6806
- }
6807
- }
6808
- },
6809
- "stream-combiner2": {
6810
- "version": "1.1.1",
6811
- "resolved": "https://registry.npmjs.org/stream-combiner2/-/stream-combiner2-1.1.1.tgz",
6812
- "integrity": "sha1-+02KFCDqNidk4hrUeAOXvry0HL4=",
6813
- "dev": true,
6814
- "requires": {
6815
- "duplexer2": "~0.1.0",
6816
- "readable-stream": "^2.0.2"
6817
- }
6818
- },
6819
- "string-width": {
6820
- "version": "2.1.1",
6821
- "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz",
6822
- "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==",
6823
- "dev": true,
6824
- "requires": {
6825
- "is-fullwidth-code-point": "^2.0.0",
6826
- "strip-ansi": "^4.0.0"
6827
- }
6828
- },
6829
- "string_decoder": {
6830
- "version": "1.1.1",
6831
- "resolved": "http://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz",
6832
- "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==",
6833
- "dev": true,
6834
- "requires": {
6835
- "safe-buffer": "~5.1.0"
6836
- }
6837
- },
6838
- "strip-ansi": {
6839
- "version": "4.0.0",
6840
- "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz",
6841
- "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=",
6842
- "dev": true,
6843
- "requires": {
6844
- "ansi-regex": "^3.0.0"
6845
- }
6846
- },
6847
- "strip-bom": {
6848
- "version": "2.0.0",
6849
- "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-2.0.0.tgz",
6850
- "integrity": "sha1-YhmoVhZSBJHzV4i9vxRHqZx+aw4=",
6851
- "dev": true,
6852
- "requires": {
6853
- "is-utf8": "^0.2.0"
6854
- }
6855
- },
6856
- "strip-eof": {
6857
- "version": "1.0.0",
6858
- "resolved": "http://registry.npmjs.org/strip-eof/-/strip-eof-1.0.0.tgz",
6859
- "integrity": "sha1-u0P/VZim6wXYm1n80SnJgzE2Br8=",
6860
- "dev": true
6861
- },
6862
- "strip-indent": {
6863
- "version": "1.0.1",
6864
- "resolved": "https://registry.npmjs.org/strip-indent/-/strip-indent-1.0.1.tgz",
6865
- "integrity": "sha1-DHlipq3vp7vUrDZkYKY4VSrhoKI=",
6866
- "dev": true,
6867
- "requires": {
6868
- "get-stdin": "^4.0.1"
6869
- }
6870
- },
6871
- "strip-json-comments": {
6872
- "version": "2.0.1",
6873
- "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz",
6874
- "integrity": "sha1-PFMZQukIwml8DsNEhYwobHygpgo=",
6875
- "dev": true
6876
- },
6877
- "supports-color": {
6878
- "version": "5.5.0",
6879
- "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz",
6880
- "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==",
6881
- "dev": true,
6882
- "requires": {
6883
- "has-flag": "^3.0.0"
6884
- }
6885
- },
6886
- "text-extensions": {
6887
- "version": "1.9.0",
6888
- "resolved": "https://registry.npmjs.org/text-extensions/-/text-extensions-1.9.0.tgz",
6889
- "integrity": "sha512-wiBrwC1EhBelW12Zy26JeOUkQ5mRu+5o8rpsJk5+2t+Y5vE7e842qtZDQ2g1NpX/29HdyFeJ4nSIhI47ENSxlQ==",
6890
- "dev": true
6891
- },
6892
- "through": {
6893
- "version": "2.3.8",
6894
- "resolved": "http://registry.npmjs.org/through/-/through-2.3.8.tgz",
6895
- "integrity": "sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU=",
6896
- "dev": true
6897
- },
6898
- "through2": {
6899
- "version": "2.0.5",
6900
- "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.5.tgz",
6901
- "integrity": "sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==",
6902
- "dev": true,
6903
- "requires": {
6904
- "readable-stream": "~2.3.6",
6905
- "xtend": "~4.0.1"
6906
- }
6907
- },
6908
- "to-object-path": {
6909
- "version": "0.3.0",
6910
- "resolved": "https://registry.npmjs.org/to-object-path/-/to-object-path-0.3.0.tgz",
6911
- "integrity": "sha1-KXWIt7Dn4KwI4E5nL4XB9JmeF68=",
6912
- "dev": true,
6913
- "requires": {
6914
- "kind-of": "^3.0.2"
6915
- },
6916
- "dependencies": {
6917
- "kind-of": {
6918
- "version": "3.2.2",
6919
- "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
6920
- "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
6921
- "dev": true,
6922
- "requires": {
6923
- "is-buffer": "^1.1.5"
6924
- }
6925
- }
6926
- }
6927
- },
6928
- "to-regex": {
6929
- "version": "3.0.2",
6930
- "resolved": "https://registry.npmjs.org/to-regex/-/to-regex-3.0.2.tgz",
6931
- "integrity": "sha512-FWtleNAtZ/Ki2qtqej2CXTOayOH9bHDQF+Q48VpWyDXjbYxA4Yz8iDB31zXOBUlOHHKidDbqGVrTUvQMPmBGBw==",
6932
- "dev": true,
6933
- "requires": {
6934
- "define-property": "^2.0.2",
6935
- "extend-shallow": "^3.0.2",
6936
- "regex-not": "^1.0.2",
6937
- "safe-regex": "^1.1.0"
6938
- }
6939
- },
6940
- "to-regex-range": {
6941
- "version": "2.1.1",
6942
- "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz",
6943
- "integrity": "sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg=",
6944
- "dev": true,
6945
- "requires": {
6946
- "is-number": "^3.0.0",
6947
- "repeat-string": "^1.6.1"
6948
- }
6949
- },
6950
- "traverse": {
6951
- "version": "0.6.6",
6952
- "resolved": "https://registry.npmjs.org/traverse/-/traverse-0.6.6.tgz",
6953
- "integrity": "sha1-y99WD9e5r2MlAv7UD5GMFX6pcTc=",
6954
- "dev": true
6955
- },
6956
- "trim-newlines": {
6957
- "version": "1.0.0",
6958
- "resolved": "https://registry.npmjs.org/trim-newlines/-/trim-newlines-1.0.0.tgz",
6959
- "integrity": "sha1-WIeWa7WCpFA6QetST301ARgVphM=",
6960
- "dev": true
6961
- },
6962
- "trim-off-newlines": {
6963
- "version": "1.0.1",
6964
- "resolved": "https://registry.npmjs.org/trim-off-newlines/-/trim-off-newlines-1.0.1.tgz",
6965
- "integrity": "sha1-n5up2e+odkw4dpi8v+sshI8RrbM=",
6966
- "dev": true
6967
- },
6968
- "uglify-js": {
6969
- "version": "3.4.9",
6970
- "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-3.4.9.tgz",
6971
- "integrity": "sha512-8CJsbKOtEbnJsTyv6LE6m6ZKniqMiFWmm9sRbopbkGs3gMPPfd3Fh8iIA4Ykv5MgaTbqHr4BaoGLJLZNhsrW1Q==",
6972
- "dev": true,
6973
- "optional": true,
6974
- "requires": {
6975
- "commander": "~2.17.1",
6976
- "source-map": "~0.6.1"
6977
- },
6978
- "dependencies": {
6979
- "source-map": {
6980
- "version": "0.6.1",
6981
- "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
6982
- "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
6983
- "dev": true,
6984
- "optional": true
6985
- }
6986
- }
6987
- },
6988
- "underscore.string": {
6989
- "version": "3.3.5",
6990
- "resolved": "https://registry.npmjs.org/underscore.string/-/underscore.string-3.3.5.tgz",
6991
- "integrity": "sha512-g+dpmgn+XBneLmXXo+sGlW5xQEt4ErkS3mgeN2GFbremYeMBSJKr9Wf2KJplQVaiPY/f7FN6atosWYNm9ovrYg==",
6992
- "dev": true,
6993
- "requires": {
6994
- "sprintf-js": "^1.0.3",
6995
- "util-deprecate": "^1.0.2"
6996
- }
6997
- },
6998
- "union-value": {
6999
- "version": "1.0.0",
7000
- "resolved": "https://registry.npmjs.org/union-value/-/union-value-1.0.0.tgz",
7001
- "integrity": "sha1-XHHDTLW61dzr4+oM0IIHulqhrqQ=",
7002
- "dev": true,
7003
- "requires": {
7004
- "arr-union": "^3.1.0",
7005
- "get-value": "^2.0.6",
7006
- "is-extendable": "^0.1.1",
7007
- "set-value": "^0.4.3"
7008
- },
7009
- "dependencies": {
7010
- "extend-shallow": {
7011
- "version": "2.0.1",
7012
- "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
7013
- "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
7014
- "dev": true,
7015
- "requires": {
7016
- "is-extendable": "^0.1.0"
7017
- }
7018
- },
7019
- "set-value": {
7020
- "version": "0.4.3",
7021
- "resolved": "https://registry.npmjs.org/set-value/-/set-value-0.4.3.tgz",
7022
- "integrity": "sha1-fbCPnT0i3H945Trzw79GZuzfzPE=",
7023
- "dev": true,
7024
- "requires": {
7025
- "extend-shallow": "^2.0.1",
7026
- "is-extendable": "^0.1.1",
7027
- "is-plain-object": "^2.0.1",
7028
- "to-object-path": "^0.3.0"
7029
- }
7030
- }
7031
- }
7032
- },
7033
- "universal-user-agent": {
7034
- "version": "2.0.2",
7035
- "resolved": "https://registry.npmjs.org/universal-user-agent/-/universal-user-agent-2.0.2.tgz",
7036
- "integrity": "sha512-nOwvHWLH3dBazyuzbECPA5uVFNd7AlgviXRHgR4yf48QqitIvpdncRrxMbZNMpPPEfgz30I9ubd1XmiJiqsTrg==",
7037
- "dev": true,
7038
- "requires": {
7039
- "os-name": "^3.0.0"
7040
- }
7041
- },
7042
- "universalify": {
7043
- "version": "0.1.2",
7044
- "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz",
7045
- "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==",
7046
- "dev": true
7047
- },
7048
- "unset-value": {
7049
- "version": "1.0.0",
7050
- "resolved": "https://registry.npmjs.org/unset-value/-/unset-value-1.0.0.tgz",
7051
- "integrity": "sha1-g3aHP30jNRef+x5vw6jtDfyKtVk=",
7052
- "dev": true,
7053
- "requires": {
7054
- "has-value": "^0.3.1",
7055
- "isobject": "^3.0.0"
7056
- },
7057
- "dependencies": {
7058
- "has-value": {
7059
- "version": "0.3.1",
7060
- "resolved": "https://registry.npmjs.org/has-value/-/has-value-0.3.1.tgz",
7061
- "integrity": "sha1-ex9YutpiyoJ+wKIHgCVlSEWZXh8=",
7062
- "dev": true,
7063
- "requires": {
7064
- "get-value": "^2.0.3",
7065
- "has-values": "^0.1.4",
7066
- "isobject": "^2.0.0"
7067
- },
7068
- "dependencies": {
7069
- "isobject": {
7070
- "version": "2.1.0",
7071
- "resolved": "https://registry.npmjs.org/isobject/-/isobject-2.1.0.tgz",
7072
- "integrity": "sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk=",
7073
- "dev": true,
7074
- "requires": {
7075
- "isarray": "1.0.0"
7076
- }
7077
- }
7078
- }
7079
- },
7080
- "has-values": {
7081
- "version": "0.1.4",
7082
- "resolved": "https://registry.npmjs.org/has-values/-/has-values-0.1.4.tgz",
7083
- "integrity": "sha1-bWHeldkd/Km5oCCJrThL/49it3E=",
7084
- "dev": true
7085
- }
7086
- }
7087
- },
7088
- "urix": {
7089
- "version": "0.1.0",
7090
- "resolved": "https://registry.npmjs.org/urix/-/urix-0.1.0.tgz",
7091
- "integrity": "sha1-2pN/emLiH+wf0Y1Js1wpNQZ6bHI=",
7092
- "dev": true
7093
- },
7094
- "url-join": {
7095
- "version": "4.0.0",
7096
- "resolved": "https://registry.npmjs.org/url-join/-/url-join-4.0.0.tgz",
7097
- "integrity": "sha1-TTNA6AfTdzvamZH4MFrNzCpmXSo=",
7098
- "dev": true
7099
- },
7100
- "url-template": {
7101
- "version": "2.0.8",
7102
- "resolved": "https://registry.npmjs.org/url-template/-/url-template-2.0.8.tgz",
7103
- "integrity": "sha1-/FZaPMy/93MMd19WQflVV5FDnyE=",
7104
- "dev": true
7105
- },
7106
- "use": {
7107
- "version": "3.1.1",
7108
- "resolved": "https://registry.npmjs.org/use/-/use-3.1.1.tgz",
7109
- "integrity": "sha512-cwESVXlO3url9YWlFW/TA9cshCEhtu7IKJ/p5soJ/gGpj7vbvFrAY/eIioQ6Dw23KjZhYgiIo8HOs1nQ2vr/oQ==",
7110
- "dev": true
7111
- },
7112
- "util-deprecate": {
7113
- "version": "1.0.2",
7114
- "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz",
7115
- "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=",
7116
- "dev": true
7117
- },
7118
- "validate-npm-package-license": {
7119
- "version": "3.0.4",
7120
- "resolved": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz",
7121
- "integrity": "sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==",
7122
- "dev": true,
7123
- "requires": {
7124
- "spdx-correct": "^3.0.0",
7125
- "spdx-expression-parse": "^3.0.0"
7126
- }
7127
- },
7128
- "which": {
7129
- "version": "1.3.1",
7130
- "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz",
7131
- "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==",
7132
- "dev": true,
7133
- "requires": {
7134
- "isexe": "^2.0.0"
7135
- }
7136
- },
7137
- "which-module": {
7138
- "version": "2.0.0",
7139
- "resolved": "https://registry.npmjs.org/which-module/-/which-module-2.0.0.tgz",
7140
- "integrity": "sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho=",
7141
- "dev": true
7142
- },
7143
- "windows-release": {
7144
- "version": "3.1.0",
7145
- "resolved": "https://registry.npmjs.org/windows-release/-/windows-release-3.1.0.tgz",
7146
- "integrity": "sha512-hBb7m7acFgQPQc222uEQTmdcGLeBmQLNLFIh0rDk3CwFOBrfjefLzEfEfmpMq8Af/n/GnFf3eYf203FY1PmudA==",
7147
- "dev": true,
7148
- "requires": {
7149
- "execa": "^0.10.0"
7150
- },
7151
- "dependencies": {
7152
- "execa": {
7153
- "version": "0.10.0",
7154
- "resolved": "https://registry.npmjs.org/execa/-/execa-0.10.0.tgz",
7155
- "integrity": "sha512-7XOMnz8Ynx1gGo/3hyV9loYNPWM94jG3+3T3Y8tsfSstFmETmENCMU/A/zj8Lyaj1lkgEepKepvd6240tBRvlw==",
7156
- "dev": true,
7157
- "requires": {
7158
- "cross-spawn": "^6.0.0",
7159
- "get-stream": "^3.0.0",
7160
- "is-stream": "^1.1.0",
7161
- "npm-run-path": "^2.0.0",
7162
- "p-finally": "^1.0.0",
7163
- "signal-exit": "^3.0.0",
7164
- "strip-eof": "^1.0.0"
7165
- }
7166
- },
7167
- "get-stream": {
7168
- "version": "3.0.0",
7169
- "resolved": "http://registry.npmjs.org/get-stream/-/get-stream-3.0.0.tgz",
7170
- "integrity": "sha1-jpQ9E1jcN1VQVOy+LtsFqhdO3hQ=",
7171
- "dev": true
7172
- }
7173
- }
7174
- },
7175
- "wordwrap": {
7176
- "version": "0.0.3",
7177
- "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-0.0.3.tgz",
7178
- "integrity": "sha1-o9XabNXAvAAI03I0u68b7WMFkQc=",
7179
- "dev": true
7180
- },
7181
- "wrap-ansi": {
7182
- "version": "2.1.0",
7183
- "resolved": "http://registry.npmjs.org/wrap-ansi/-/wrap-ansi-2.1.0.tgz",
7184
- "integrity": "sha1-2Pw9KE3QV5T+hJc8rs3Rz4JP3YU=",
7185
- "dev": true,
7186
- "requires": {
7187
- "string-width": "^1.0.1",
7188
- "strip-ansi": "^3.0.1"
7189
- },
7190
- "dependencies": {
7191
- "ansi-regex": {
7192
- "version": "2.1.1",
7193
- "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz",
7194
- "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=",
7195
- "dev": true
7196
- },
7197
- "is-fullwidth-code-point": {
7198
- "version": "1.0.0",
7199
- "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz",
7200
- "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=",
7201
- "dev": true,
7202
- "requires": {
7203
- "number-is-nan": "^1.0.0"
7204
- }
7205
- },
7206
- "string-width": {
7207
- "version": "1.0.2",
7208
- "resolved": "http://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz",
7209
- "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=",
7210
- "dev": true,
7211
- "requires": {
7212
- "code-point-at": "^1.0.0",
7213
- "is-fullwidth-code-point": "^1.0.0",
7214
- "strip-ansi": "^3.0.0"
7215
- }
7216
- },
7217
- "strip-ansi": {
7218
- "version": "3.0.1",
7219
- "resolved": "http://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz",
7220
- "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=",
7221
- "dev": true,
7222
- "requires": {
7223
- "ansi-regex": "^2.0.0"
7224
- }
7225
- }
7226
- }
7227
- },
7228
- "wrappy": {
7229
- "version": "1.0.2",
7230
- "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz",
7231
- "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=",
7232
- "dev": true
7233
- },
7234
- "xtend": {
7235
- "version": "4.0.1",
7236
- "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.1.tgz",
7237
- "integrity": "sha1-pcbVMr5lbiPbgg77lDofBJmNY68=",
7238
- "dev": true
7239
- },
7240
- "y18n": {
7241
- "version": "4.0.0",
7242
- "resolved": "https://registry.npmjs.org/y18n/-/y18n-4.0.0.tgz",
7243
- "integrity": "sha512-r9S/ZyXu/Xu9q1tYlpsLIsa3EeLXXk0VwlxqTcFRfg9EhMW+17kbt9G0NrgCmhGb5vT2hyhJZLfDGx+7+5Uj/w==",
7244
- "dev": true
7245
- },
7246
- "yargs": {
7247
- "version": "12.0.5",
7248
- "resolved": "https://registry.npmjs.org/yargs/-/yargs-12.0.5.tgz",
7249
- "integrity": "sha512-Lhz8TLaYnxq/2ObqHDql8dX8CJi97oHxrjUcYtzKbbykPtVW9WB+poxI+NM2UIzsMgNCZTIf0AQwsjK5yMAqZw==",
7250
- "dev": true,
7251
- "requires": {
7252
- "cliui": "^4.0.0",
7253
- "decamelize": "^1.2.0",
7254
- "find-up": "^3.0.0",
7255
- "get-caller-file": "^1.0.1",
7256
- "os-locale": "^3.0.0",
7257
- "require-directory": "^2.1.1",
7258
- "require-main-filename": "^1.0.1",
7259
- "set-blocking": "^2.0.0",
7260
- "string-width": "^2.0.0",
7261
- "which-module": "^2.0.0",
7262
- "y18n": "^3.2.1 || ^4.0.0",
7263
- "yargs-parser": "^11.1.1"
7264
- },
7265
- "dependencies": {
7266
- "find-up": {
7267
- "version": "3.0.0",
7268
- "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz",
7269
- "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==",
7270
- "dev": true,
7271
- "requires": {
7272
- "locate-path": "^3.0.0"
7273
- }
7274
- },
7275
- "locate-path": {
7276
- "version": "3.0.0",
7277
- "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz",
7278
- "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==",
7279
- "dev": true,
7280
- "requires": {
7281
- "p-locate": "^3.0.0",
7282
- "path-exists": "^3.0.0"
7283
- }
7284
- },
7285
- "path-exists": {
7286
- "version": "3.0.0",
7287
- "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz",
7288
- "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=",
7289
- "dev": true
7290
- }
7291
- }
7292
- },
7293
- "yargs-parser": {
7294
- "version": "11.1.1",
7295
- "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-11.1.1.tgz",
7296
- "integrity": "sha512-C6kB/WJDiaxONLJQnF8ccx9SEeoTTLek8RVbaOIsrAUS8VrBEXfmeSnCZxygc+XC2sNMBIwOOnfcxiynjHsVSQ==",
7297
- "dev": true,
7298
- "requires": {
7299
- "camelcase": "^5.0.0",
7300
- "decamelize": "^1.2.0"
7301
- },
7302
- "dependencies": {
7303
- "camelcase": {
7304
- "version": "5.0.0",
7305
- "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.0.0.tgz",
7306
- "integrity": "sha512-faqwZqnWxbxn+F1d399ygeamQNy3lPp/H9H6rNrqYh4FSVCtcY+3cub1MxA8o9mDd55mM8Aghuu/kuyYA6VTsA==",
7307
- "dev": true
7308
- }
7309
- }
7310
- }
7311
- }
7312
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
vendor/codeinwp/themeisle-sdk/package.json DELETED
@@ -1,15 +0,0 @@
1
- {
2
- "name": "themeisle-sdk",
3
- "version": "3.0.4",
4
- "scripts": {
5
- "semantic-release": "semantic-release --debug"
6
- },
7
- "author": "Themeisle",
8
- "devDependencies": {
9
- "@semantic-release/changelog": "^3.0.1",
10
- "@semantic-release/exec": "^3.3.1",
11
- "@semantic-release/git": "^7.0.6",
12
- "grunt-version": "^1.3.0",
13
- "semantic-release": "^15.13.1"
14
- }
15
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
vendor/codeinwp/themeisle-sdk/phpcs.xml DELETED
@@ -1,50 +0,0 @@
1
- <?xml version="1.0"?>
2
- <ruleset name="Themeisle">
3
- <description>Themeisle rules for PHP_CodeSnifferr</description>
4
-
5
- <file>./</file>
6
-
7
- <arg value="ps"/>
8
- <arg name="extensions" value="php"/>
9
-
10
- <exclude-pattern>./vendor</exclude-pattern>
11
- <exclude-pattern>./old</exclude-pattern>
12
- <exclude-pattern>./tests/sample_products</exclude-pattern>
13
-
14
-
15
- <rule ref="WordPress-Core">
16
-
17
- <exclude name="WordPress.Files.FileName.NotHyphenatedLowercase"/>
18
- <exclude name="WordPress.Files.FileName.InvalidClassFileName"/>
19
- <exclude name="Squiz.PHP.DisallowMultipleAssignments.Found"/>
20
- </rule>
21
- <rule ref="WordPress-Docs"/>
22
- <rule ref="WordPress.WP.I18n"/>
23
- <rule ref="Squiz.Commenting.FunctionComment.Missing">
24
- <exclude-pattern>tests/*</exclude-pattern>
25
- </rule>
26
- <rule ref="Squiz.Commenting.FileComment.Missing">
27
- <exclude-pattern>tests/*</exclude-pattern>
28
- </rule>
29
- <rule ref="Squiz.Commenting.ClassComment.Missing">
30
- <exclude-pattern>tests/*</exclude-pattern>
31
- </rule>
32
- <rule ref="Squiz.Commenting.ClassComment.SpacingAfter">
33
- <exclude-pattern>tests/*</exclude-pattern>
34
- </rule>
35
- <rule ref="Squiz.Commenting.FunctionComment.MissingParamTag">
36
- <exclude-pattern>tests/*</exclude-pattern>
37
- </rule>
38
- <rule ref="Generic.Commenting.DocComment.MissingShort">
39
- <exclude-pattern>tests/*</exclude-pattern>
40
- </rule>
41
- <rule ref="Squiz.Commenting.VariableComment.Missing">
42
- <exclude-pattern>tests/*</exclude-pattern>
43
- </rule>
44
- <rule ref="Squiz.Commenting.FunctionCommentThrowTag.Missing">
45
- <exclude-pattern>tests/*</exclude-pattern>
46
- </rule>
47
- <rule ref="WordPress.NamingConventions.ValidFunctionName.MethodNameInvalid">
48
- <exclude-pattern>tests/*</exclude-pattern>
49
- </rule>
50
- </ruleset>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
vendor/codeinwp/themeisle-sdk/phpunit.xml DELETED
@@ -1,20 +0,0 @@
1
- <phpunit
2
- bootstrap="tests/bootstrap.php"
3
- backupGlobals="false"
4
- colors="true"
5
- convertErrorsToExceptions="true"
6
- convertNoticesToExceptions="true"
7
- convertWarningsToExceptions="true"
8
- >
9
- <testsuites name="General Unit tests ( Requires PHP 5.4) ">
10
- <testsuite>
11
- <directory phpVersion="5.4.0" phpVersionOperator=">=" suffix="-test.php">./tests/</directory>
12
- <exclude>./tests/old/</exclude>
13
- </testsuite>
14
- </testsuites>
15
- <testsuites name="Bail lower php versions( For PHP lower than 5.4) ">
16
- <testsuite>
17
- <directory phpVersion="5.4.0" phpVersionOperator="lt" suffix="-test.php">./tests/old/</directory>
18
- </testsuite>
19
- </testsuites>
20
- </phpunit>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
vendor/codeinwp/themeisle-sdk/src/Loader.php CHANGED
@@ -55,6 +55,7 @@ final class Loader {
55
  'logger',
56
  'translate',
57
  'review',
 
58
 
59
  ];
60
 
@@ -113,5 +114,13 @@ final class Loader {
113
  return self::$products;
114
  }
115
 
 
 
 
 
 
 
 
 
116
 
117
  }
55
  'logger',
56
  'translate',
57
  'review',
58
+ 'recommendation',
59
 
60
  ];
61
 
114
  return self::$products;
115
  }
116
 
117
+ /**
118
+ * Get the version of the SDK.
119
+ *
120
+ * @return string The version.
121
+ */
122
+ public static function get_version() {
123
+ return self::$version;
124
+ }
125
 
126
  }
vendor/codeinwp/themeisle-sdk/src/Modules/Dashboard_widget.php CHANGED
@@ -103,7 +103,7 @@ class Dashboard_Widget extends Abstract_Module {
103
  'themeisle',
104
  $this->dashboard_name,
105
  [
106
- &$this,
107
  'render_dashboard_widget',
108
  ]
109
  );
@@ -281,6 +281,8 @@ class Dashboard_Widget extends Abstract_Module {
281
  array(
282
  'lite',
283
  'Lite',
 
 
284
  ),
285
  '',
286
  $recommend['name']
@@ -372,18 +374,25 @@ class Dashboard_Widget extends Abstract_Module {
372
  */
373
  function get_product_from_api() {
374
  if ( false === ( $products = get_transient( 'themeisle_sdk_products' ) ) ) {
375
- $products = array();
376
- $themeisle_themes = $this->get_themes_from_wporg( 'themeisle' );
377
- $codeinwp_themes = $this->get_themes_from_wporg( 'codeinwp' );
378
-
379
- $themeisle_plugins = $this->get_plugins_from_wporg( 'themeisle' );
380
- $codeinwp_plugins = $this->get_plugins_from_wporg( 'codeinwp' );
381
-
382
- $all_themes = array_merge( $themeisle_themes, $codeinwp_themes );
 
 
 
 
383
  foreach ( $all_themes as $theme ) {
384
  if ( $theme->active_installs < 4999 ) {
385
  continue;
386
  }
 
 
 
387
  $products[] = array(
388
  'name' => $theme->name,
389
  'type' => 'theme',
@@ -391,11 +400,13 @@ class Dashboard_Widget extends Abstract_Module {
391
  'installs' => $theme->active_installs,
392
  );
393
  }
394
- $all_plugins = array_merge( $themeisle_plugins, $codeinwp_plugins );
395
  foreach ( $all_plugins as $plugin ) {
396
  if ( $plugin->active_installs < 4999 ) {
397
  continue;
398
  }
 
 
 
399
  $products[] = array(
400
  'name' => $plugin->name,
401
  'type' => 'plugin',
@@ -439,7 +450,7 @@ class Dashboard_Widget extends Abstract_Module {
439
  */
440
  function get_plugins_from_wporg( $author ) {
441
  $products = wp_remote_get(
442
- 'https://api.wordpress.org/plugins/info/1.1/?action=query_plugins&request[author]=' . $author . '&request[per_page]=20&request[fields][active_installs]=true'
443
  );
444
  $products = json_decode( wp_remote_retrieve_body( $products ) );
445
  if ( is_object( $products ) ) {
103
  'themeisle',
104
  $this->dashboard_name,
105
  [
106
+ $this,
107
  'render_dashboard_widget',
108
  ]
109
  );
281
  array(
282
  'lite',
283
  'Lite',
284
+ '(Lite)',
285
+ '(lite)',
286
  ),
287
  '',
288
  $recommend['name']
374
  */
375
  function get_product_from_api() {
376
  if ( false === ( $products = get_transient( 'themeisle_sdk_products' ) ) ) {
377
+ $products = array();
378
+ $all_themes = $this->get_themes_from_wporg( 'themeisle' );
379
+ $all_plugins = $this->get_plugins_from_wporg( 'themeisle' );
380
+ static $allowed_products = [
381
+ 'hestia' => true,
382
+ 'neve' => true,
383
+ 'visualizer' => true,
384
+ 'feedzy-rss-feeds' => true,
385
+ 'wp-product-review' => true,
386
+ 'otter-blocks' => true,
387
+ 'themeisle-companion' => true,
388
+ ];
389
  foreach ( $all_themes as $theme ) {
390
  if ( $theme->active_installs < 4999 ) {
391
  continue;
392
  }
393
+ if ( ! isset( $allowed_products[ $theme->slug ] ) ) {
394
+ continue;
395
+ }
396
  $products[] = array(
397
  'name' => $theme->name,
398
  'type' => 'theme',
400
  'installs' => $theme->active_installs,
401
  );
402
  }
 
403
  foreach ( $all_plugins as $plugin ) {
404
  if ( $plugin->active_installs < 4999 ) {
405
  continue;
406
  }
407
+ if ( ! isset( $allowed_products[ $plugin->slug ] ) ) {
408
+ continue;
409
+ }
410
  $products[] = array(
411
  'name' => $plugin->name,
412
  'type' => 'plugin',
450
  */
451
  function get_plugins_from_wporg( $author ) {
452
  $products = wp_remote_get(
453
+ 'https://api.wordpress.org/plugins/info/1.1/?action=query_plugins&request[author]=' . $author . '&request[per_page]=40&request[fields][active_installs]=true'
454
  );
455
  $products = json_decode( wp_remote_retrieve_body( $products ) );
456
  if ( is_object( $products ) ) {
vendor/codeinwp/themeisle-sdk/src/Modules/Logger.php CHANGED
@@ -152,7 +152,7 @@ class Logger extends Abstract_Module {
152
  $environment['theme']['name'] = $theme->get( 'Name' );
153
  $environment['theme']['author'] = $theme->get( 'Author' );
154
  $environment['plugins'] = get_option( 'active_plugins' );
155
-
156
  wp_remote_post(
157
  self::TRACKING_ENDPOINT,
158
  array(
@@ -166,6 +166,7 @@ class Logger extends Abstract_Module {
166
  'site' => get_site_url(),
167
  'slug' => $this->product->get_slug(),
168
  'version' => $this->product->get_version(),
 
169
  'data' => apply_filters( $this->product->get_key() . '_logger_data', array() ),
170
  'environment' => $environment,
171
  'license' => apply_filters( $this->product->get_key() . '_license_status', '' ),
152
  $environment['theme']['name'] = $theme->get( 'Name' );
153
  $environment['theme']['author'] = $theme->get( 'Author' );
154
  $environment['plugins'] = get_option( 'active_plugins' );
155
+ global $wp_version;
156
  wp_remote_post(
157
  self::TRACKING_ENDPOINT,
158
  array(
166
  'site' => get_site_url(),
167
  'slug' => $this->product->get_slug(),
168
  'version' => $this->product->get_version(),
169
+ 'wp_version' => $wp_version,
170
  'data' => apply_filters( $this->product->get_key() . '_logger_data', array() ),
171
  'environment' => $environment,
172
  'license' => apply_filters( $this->product->get_key() . '_license_status', '' ),
vendor/codeinwp/themeisle-sdk/src/Modules/Recommendation.php ADDED
@@ -0,0 +1,374 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * The class that exposes hooks for recommend.
4
+ *
5
+ * @package ThemeIsleSDK
6
+ * @subpackage Rollback
7
+ * @copyright Copyright (c) 2017, Marius Cristea
8
+ * @license http://opensource.org/licenses/gpl-3.0.php GNU Public License
9
+ * @since 1.0.0
10
+ */
11
+
12
+ namespace ThemeisleSDK\Modules;
13
+
14
+ // Exit if accessed directly.
15
+ use ThemeisleSDK\Common\Abstract_Module;
16
+ use ThemeisleSDK\Product;
17
+
18
+ if ( ! defined( 'ABSPATH' ) ) {
19
+ exit;
20
+ }
21
+
22
+ /**
23
+ * Expose endpoints for ThemeIsle SDK.
24
+ */
25
+ class Recommendation extends Abstract_Module {
26
+
27
+
28
+ /**
29
+ * Load module logic.
30
+ *
31
+ * @param Product $product Product to load.
32
+ */
33
+ public function load( $product ) {
34
+ $this->product = $product;
35
+ $this->setup_hooks();
36
+
37
+ return $this;
38
+ }
39
+
40
+ /**
41
+ * Setup endpoints.
42
+ */
43
+ private function setup_hooks() {
44
+ add_action( $this->product->get_key() . '_recommend_products', array( $this, 'render_products_box' ), 10, 4 );
45
+ add_action( 'admin_head', array( $this, 'enqueue' ) );
46
+ }
47
+
48
+ /**
49
+ * Check if we should load the module for this product.
50
+ *
51
+ * @param Product $product Product data.
52
+ *
53
+ * @return bool Should we load the module?
54
+ */
55
+ public function can_load( $product ) {
56
+ return true;
57
+ }
58
+
59
+ /**
60
+ * Render products box content.
61
+ *
62
+ * @param array $plugins_list - list of useful plugins (in slug => nicename format).
63
+ * @param array $themes_list - list of useful themes (in slug => nicename format).
64
+ * @param array $strings - list of translated strings.
65
+ * @param array $preferences - list of preferences.
66
+ */
67
+ function render_products_box( $plugins_list, $themes_list, $strings, $preferences = array() ) {
68
+
69
+ if ( empty( $plugins_list ) && empty( $themes_list ) ) {
70
+ return;
71
+ }
72
+
73
+ if ( ! empty( $plugins_list ) && ! current_user_can( 'install_plugins' ) ) {
74
+ return;
75
+ }
76
+
77
+ if ( ! empty( $themes_list ) && ! current_user_can( 'install_themes' ) ) {
78
+ return;
79
+ }
80
+
81
+ add_thickbox();
82
+
83
+ if ( ! empty( $themes_list ) ) {
84
+ $list = $this->get_themes( $themes_list, $preferences );
85
+
86
+ if ( has_action( $this->product->get_key() . '_recommend_products_theme_template' ) ) {
87
+ do_action( $this->product->get_key() . '_recommend_products_theme_template', $list, $strings, $preferences );
88
+ } else {
89
+ echo '<div class="recommend-product">';
90
+
91
+ foreach ( $list as $theme ) {
92
+ echo '<div class="plugin_box">';
93
+ echo ' <img class="theme-banner" src="' . $theme->screenshot_url . '">';
94
+ echo ' <div class="title-action-wrapper">';
95
+ echo ' <span class="plugin-name">' . esc_html( $theme->custom_name ) . '</span>';
96
+ if ( ! isset( $preferences['description'] ) || ( isset( $preferences['description'] ) && $preferences['description'] ) ) {
97
+ echo '<span class="plugin-desc">' . esc_html( substr( $theme->description, 0, strpos( $theme->description, '.' ) ) ) . '.</span>';
98
+ }
99
+ echo ' </div>';
100
+ echo '<div class="plugin-box-footer">';
101
+ echo ' <div class="button-wrap">';
102
+ echo ' <a class="button button-primary " href="' . esc_url( $theme->custom_url ) . '"><span class="dashicons dashicons-external"></span>' . esc_html( $strings['install'] ) . '</a>';
103
+ echo ' </div>';
104
+ echo ' </div>';
105
+ echo '</div>';
106
+ }
107
+
108
+ echo '</div>';
109
+ }
110
+ }
111
+ if ( ! empty( $plugins_list ) ) {
112
+ $list = $this->get_plugins( $plugins_list, $preferences );
113
+
114
+ if ( has_action( $this->product->get_key() . '_recommend_products_plugin_template' ) ) {
115
+ do_action( $this->product->get_key() . '_recommend_products_plugin_template', $list, $strings, $preferences );
116
+ } else {
117
+ echo '<div class="recommend-product">';
118
+
119
+ foreach ( $list as $current_plugin ) {
120
+ echo '<div class="plugin_box">';
121
+ echo ' <img class="plugin-banner" src="' . $current_plugin->custom_image . '">';
122
+ echo ' <div class="title-action-wrapper">';
123
+ echo ' <span class="plugin-name">' . esc_html( $current_plugin->custom_name ) . '</span>';
124
+ if ( ! isset( $preferences['description'] ) || ( isset( $preferences['description'] ) && $preferences['description'] ) ) {
125
+ echo '<span class="plugin-desc">' . esc_html( substr( $current_plugin->short_description, 0, strpos( $current_plugin->short_description, '.' ) ) ) . '. </span>';
126
+ }
127
+ echo ' </div>';
128
+ echo ' <div class="plugin-box-footer">';
129
+ echo ' <a class="button button-primary thickbox open-plugin-details-modal" href="' . esc_url( $current_plugin->custom_url ) . '"><span class="dashicons dashicons-external"></span>' . esc_html( $strings['install'] ) . '</a>';
130
+ echo ' </div>';
131
+ echo '</div>';
132
+ }
133
+
134
+ echo '</div>';
135
+ }
136
+ }
137
+
138
+ }
139
+
140
+ /**
141
+ * Collect all the information for the themes list.
142
+ *
143
+ * @param array $themes_list - list of useful themes (in slug => nicename format).
144
+ * @param array $preferences - list of preferences.
145
+ *
146
+ * @return array
147
+ */
148
+ private function get_themes( $themes_list, $preferences ) {
149
+ $list = array();
150
+ foreach ( $themes_list as $slug => $nicename ) {
151
+ $theme = $this->call_theme_api( $slug );
152
+ if ( ! $theme ) {
153
+ continue;
154
+ }
155
+
156
+ $url = add_query_arg(
157
+ array(
158
+ 'theme' => $theme->slug,
159
+ ),
160
+ network_admin_url( 'theme-install.php' )
161
+ );
162
+
163
+ $name = empty( $nicename ) ? $theme->name : $nicename;
164
+
165
+ $theme->custom_url = $url;
166
+ $theme->custom_name = $name;
167
+
168
+ $list[] = $theme;
169
+ }
170
+
171
+ return $list;
172
+ }
173
+
174
+ /**
175
+ * Call theme api
176
+ *
177
+ * @param string $slug theme slug.
178
+ *
179
+ * @return array|mixed|object
180
+ */
181
+ private function call_theme_api( $slug ) {
182
+ $theme = get_transient( 'ti_theme_info_' . $slug );
183
+
184
+ if ( false !== $theme ) {
185
+ return $theme;
186
+ }
187
+
188
+ $products = wp_remote_get(
189
+ 'https://api.wordpress.org/themes/info/1.1/?action=query_themes&request[theme]=' . $slug . '&request[per_page]=1'
190
+ );
191
+ $products = json_decode( wp_remote_retrieve_body( $products ) );
192
+ if ( is_object( $products ) ) {
193
+ $theme = $products->themes[0];
194
+ set_transient( 'ti_theme_info_' . $slug, $theme, 6 * HOUR_IN_SECONDS );
195
+ }
196
+
197
+ return $theme;
198
+ }
199
+
200
+ /**
201
+ * Collect all the information for the plugins list.
202
+ *
203
+ * @param array $plugins_list - list of useful plugins (in slug => nicename format).
204
+ * @param array $preferences - list of preferences.
205
+ *
206
+ * @return array
207
+ */
208
+ private function get_plugins( $plugins_list, $preferences ) {
209
+ $list = array();
210
+ foreach ( $plugins_list as $plugin => $nicename ) {
211
+ $current_plugin = $this->call_plugin_api( $plugin );
212
+
213
+ $name = empty( $nicename ) ? $current_plugin->name : $nicename;
214
+
215
+ $image = $current_plugin->banners['low'];
216
+ if ( isset( $preferences['image'] ) && 'icon' === $preferences['image'] ) {
217
+ $image = $current_plugin->icons['1x'];
218
+ }
219
+
220
+ $url = add_query_arg(
221
+ array(
222
+ 'tab' => 'plugin-information',
223
+ 'plugin' => $current_plugin->slug,
224
+ 'TB_iframe' => true,
225
+ 'width' => 800,
226
+ 'height' => 800,
227
+ ),
228
+ network_admin_url( 'plugin-install.php' )
229
+ );
230
+
231
+ $current_plugin->custom_url = $url;
232
+ $current_plugin->custom_name = $name;
233
+ $current_plugin->custom_image = $image;
234
+
235
+ $list[] = $current_plugin;
236
+ }
237
+
238
+ return $list;
239
+ }
240
+
241
+ /**
242
+ * Call plugin api
243
+ *
244
+ * @param string $slug plugin slug.
245
+ *
246
+ * @return array|mixed|object
247
+ */
248
+ private function call_plugin_api( $slug ) {
249
+ include_once( ABSPATH . 'wp-admin/includes/plugin-install.php' );
250
+
251
+ $call_api = get_transient( 'ti_plugin_info_' . $slug );
252
+
253
+ if ( false === $call_api ) {
254
+ $call_api = plugins_api(
255
+ 'plugin_information',
256
+ array(
257
+ 'slug' => $slug,
258
+ 'fields' => array(
259
+ 'downloaded' => false,
260
+ 'rating' => false,
261
+ 'description' => false,
262
+ 'short_description' => true,
263
+ 'donate_link' => false,
264
+ 'tags' => false,
265
+ 'sections' => true,
266
+ 'homepage' => true,
267
+ 'added' => false,
268
+ 'last_updated' => false,
269
+ 'compatibility' => false,
270
+ 'tested' => false,
271
+ 'requires' => false,
272
+ 'downloadlink' => false,
273
+ 'icons' => true,
274
+ 'banners' => true,
275
+ ),
276
+ )
277
+ );
278
+ set_transient( 'ti_plugin_info_' . $slug, $call_api, 30 * MINUTE_IN_SECONDS );
279
+ }
280
+
281
+ return $call_api;
282
+ }
283
+
284
+ /**
285
+ * Load css and scripts for the plugin recommend page.
286
+ */
287
+ public function enqueue() {
288
+ $screen = get_current_screen();
289
+
290
+ if ( ! isset( $screen->id ) ) {
291
+ return;
292
+ }
293
+ if ( false === apply_filters( $this->product->get_key() . '_enqueue_recommend', false, $screen->id ) ) {
294
+ return;
295
+ }
296
+
297
+ ?>
298
+ <style type="text/css">
299
+ .recommend-product {
300
+ display: flex;
301
+ justify-content: space-between;
302
+ flex-wrap: wrap;
303
+ }
304
+
305
+ .recommend-product .theme-banner {
306
+ width:200px;
307
+ margin: auto;
308
+ }
309
+ .recommend-product .plugin-banner {
310
+ width: 100px;
311
+ margin: auto;
312
+ }
313
+
314
+ .recommend-product .plugin_box .button span{
315
+
316
+ margin-top: 2px;
317
+ margin-right: 7px;
318
+ }
319
+ .recommend-product .plugin_box .button{
320
+ margin-bottom:10px;
321
+ }
322
+ .recommend-product .plugin_box {
323
+ margin-bottom: 20px;
324
+ padding-top: 5px;
325
+ display: flex;
326
+ box-shadow: 0px 0px 10px -5px rgba(0,0,0,0.55);
327
+ background: #fff;
328
+ border-radius: 5px;
329
+ flex-direction: column;
330
+ justify-content: flex-start;
331
+ width: 95%;
332
+ }
333
+
334
+ .recommend-product .title-action-wrapper {
335
+ padding: 15px 20px 5px 20px;
336
+ }
337
+
338
+ .recommend-product .plugin-name {
339
+ font-size: 18px;
340
+ display: block;
341
+ white-space: nowrap;
342
+ text-overflow: ellipsis;
343
+ margin-bottom: 10px;
344
+ overflow: hidden;
345
+ line-height: normal;
346
+ }
347
+
348
+
349
+ .recommend-product .plugin-desc {
350
+ display: block;
351
+ margin-bottom: 10px;
352
+ font-size: 13px;
353
+ color: #777;
354
+ line-height: 1.6;
355
+ }
356
+
357
+ .recommend-product .button-wrap > div {
358
+ padding: 0;
359
+ margin: 0;
360
+ }
361
+
362
+ .plugin-box-footer {
363
+ display: flex;
364
+ justify-content: space-around;
365
+ vertical-align: middle;
366
+ align-items: center;
367
+ padding: 0px 10px 5px;
368
+ flex: 1;
369
+ margin-top: auto;
370
+ }
371
+ </style>
372
+ <?php
373
+ }
374
+ }
vendor/codeinwp/themeisle-sdk/src/Modules/Uninstall_feedback.php CHANGED
@@ -127,6 +127,12 @@ class Uninstall_Feedback extends Abstract_Module {
127
  * Loads the additional resources
128
  */
129
  function load_resources() {
 
 
 
 
 
 
130
  add_thickbox();
131
 
132
  $id = $this->product->get_key() . '_deactivate';
127
  * Loads the additional resources
128
  */
129
  function load_resources() {
130
+ $screen = get_current_screen();
131
+
132
+ if ( ! $screen || ! in_array( $screen->id, array( 'theme-install', 'plugins' ) ) ) {
133
+ return;
134
+ }
135
+
136
  add_thickbox();
137
 
138
  $id = $this->product->get_key() . '_deactivate';
vendor/codeinwp/themeisle-sdk/src/Product.php CHANGED
@@ -380,4 +380,17 @@ class Product {
380
  return $this->install;
381
  }
382
 
 
 
 
 
 
 
 
 
 
 
 
 
 
383
  }
380
  return $this->install;
381
  }
382
 
383
+ /**
384
+ * Returns the URL of the product base file.
385
+ *
386
+ * @param string $path The path to the file.
387
+ *
388
+ * @return string The URL of the product base file.
389
+ */
390
+ public function get_base_url( $path = '/' ) {
391
+ if ( $this->type ) {
392
+ return plugins_url( $path, $this->basefile );
393
+ }
394
+ }
395
+
396
  }
vendor/codeinwp/themeisle-sdk/start.php CHANGED
@@ -31,6 +31,7 @@ $files_to_load = [
31
  $path . '/src/' . 'Modules/Logger.php',
32
  $path . '/src/' . 'Modules/Translate.php',
33
  $path . '/src/' . 'Modules/Review.php',
 
34
  ];
35
 
36
  $files_to_load = array_merge( $files_to_load, apply_filters( 'themeisle_sdk_required_files', [] ) );
31
  $path . '/src/' . 'Modules/Logger.php',
32
  $path . '/src/' . 'Modules/Translate.php',
33
  $path . '/src/' . 'Modules/Review.php',
34
+ $path . '/src/' . 'Modules/Recommendation.php',
35
  ];
36
 
37
  $files_to_load = array_merge( $files_to_load, apply_filters( 'themeisle_sdk_required_files', [] ) );
vendor/codeinwp/themeisle-sdk/tests/bootstrap.php DELETED
@@ -1,33 +0,0 @@
1
- <?php
2
- /**
3
- * PHPUnit bootstrap file
4
- *
5
- * @package ThemeIsleSDK
6
- */
7
-
8
- // Determine the tests directory (from a WP dev checkout).
9
- // Try the WP_TESTS_DIR environment variable first.
10
- $_tests_dir = getenv( 'WP_TESTS_DIR' );
11
- // See if we're installed inside an existing WP dev instance.
12
- if ( ! $_tests_dir ) {
13
- $_try_tests_dir = dirname( __FILE__ ) . '/../../../../../tests/phpunit';
14
- if ( file_exists( $_try_tests_dir . '/includes/functions.php' ) ) {
15
- $_tests_dir = $_try_tests_dir;
16
- }
17
- }
18
- // Fallback.
19
- if ( ! $_tests_dir ) {
20
- $_tests_dir = '/tmp/wordpress-tests-lib';
21
- }
22
- // Give access to tests_add_filter() function.
23
- require_once $_tests_dir . '/includes/functions.php';
24
- /**
25
- * Manually load the plugin being tested.
26
- */
27
- function _manually_load_plugin() {
28
- require dirname( dirname( __FILE__ ) ) . '/load.php';
29
- }
30
-
31
- tests_add_filter( 'muplugins_loaded', '_manually_load_plugin' );
32
- // Start up the WP testing environment.
33
- require $_tests_dir . '/includes/bootstrap.php';
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
vendor/codeinwp/themeisle-sdk/tests/dashboard-widget-test.php DELETED
@@ -1,59 +0,0 @@
1
- <?php
2
- /**
3
- * Dashboard widget related tests.
4
- *
5
- * @package ThemeIsleSDK
6
- */
7
-
8
- /**
9
- * Test Dashboard widget class.
10
- */
11
- class Dashboard_Widget_Test extends WP_UnitTestCase {
12
-
13
- /**
14
- * Test product from partner loading.
15
- */
16
- public function test_product_partner_module_loading() {
17
-
18
- $file = dirname( __FILE__ ) . '/sample_products/sample_theme_external/style.css';
19
-
20
- \ThemeisleSDK\Loader::add_product( $file );
21
-
22
- $modules = \ThemeisleSDK\Common\Module_Factory::get_modules_map();
23
- $this->assertArrayHasKey( 'sample_theme_external', $modules );
24
- $modules['sample_theme_external'] = array_filter(
25
- $modules['sample_theme_external'],
26
- function ( $value ) {
27
- return ( get_class( $value ) === 'ThemeisleSDK\\Modules\\Dashboard_widget' );
28
- }
29
- );
30
- $this->assertEquals( count( $modules['sample_theme_external'] ), 0 );
31
-
32
- }
33
-
34
- /**
35
- * Test if dashboard widget is disabled on partners.
36
- */
37
- public function test_dashboard_widget_can_load_partner() {
38
-
39
- $file = dirname( __FILE__ ) . '/sample_products/sample_theme_external/style.css';
40
- $product = new \ThemeisleSDK\Product( $file );
41
-
42
- $this->assertFalse( ( new \ThemeisleSDK\Modules\Dashboard_Widget() )->can_load( $product ) );
43
-
44
- }
45
-
46
- /**
47
- * Test if dashboard widget is disabled on partners.
48
- */
49
- public function test_dashboard_widget_can_load_regular() {
50
-
51
- $file = dirname( __FILE__ ) . '/sample_products/sample_theme/style.css';
52
- $product = new \ThemeisleSDK\Product( $file );
53
-
54
- $this->assertTrue( ( new \ThemeisleSDK\Modules\Dashboard_Widget() )->can_load( $product ) );
55
- $this->assertInstanceOf( 'ThemeisleSDK\\Modules\\Dashboard_Widget', ( new \ThemeisleSDK\Modules\Dashboard_Widget() )->load( $product ) );
56
-
57
- }
58
-
59
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
vendor/codeinwp/themeisle-sdk/tests/endpoint-test.php DELETED
@@ -1,79 +0,0 @@
1
- <?php
2
- /**
3
- * Endpoint feature test.
4
- *
5
- * @package ThemeIsleSDK
6
- */
7
-
8
- /**
9
- * Test endpoint feature.
10
- */
11
- class Endpoint_Test extends WP_UnitTestCase {
12
-
13
-
14
- /**
15
- * Test product from partner loading.
16
- */
17
- public function test_product_partner_module_loading() {
18
-
19
- $file = dirname( __FILE__ ) . '/sample_products/sample_theme_external/style.css';
20
-
21
- \ThemeisleSDK\Loader::add_product( $file );
22
-
23
- $modules = \ThemeisleSDK\Common\Module_Factory::get_modules_map();
24
-
25
- $this->assertArrayHasKey( 'sample_theme_external', $modules );
26
- $modules['sample_theme_external'] = array_filter(
27
- $modules['sample_theme_external'],
28
- function ( $value ) {
29
- return ( get_class( $value ) === 'ThemeisleSDK\\Modules\\Endpoint' );
30
- }
31
- );
32
- $this->assertCount( 1, $modules['sample_theme_external'] );
33
-
34
- }
35
-
36
- /**
37
- * Test product from partner loading.
38
- */
39
- public function test_endpoint_product_loading() {
40
-
41
- $file = dirname( __FILE__ ) . '/sample_products/sample_theme/style.css';
42
-
43
- \ThemeisleSDK\Loader::add_product( $file );
44
-
45
- $modules = \ThemeisleSDK\Common\Module_Factory::get_modules_map();
46
-
47
- $this->assertArrayHasKey( 'sample_theme', $modules );
48
- $this->assertGreaterThan( 0, count( $modules['sample_theme'] ) );
49
-
50
- }
51
-
52
- /**
53
- * Test if endpoint is disabled on partners.
54
- */
55
- public function test_endpoint_can_load_partner() {
56
-
57
- $file = dirname( __FILE__ ) . '/sample_products/sample_theme_external/style.css';
58
- $product = new \ThemeisleSDK\Product( $file );
59
-
60
- $this->assertTrue( ( new \ThemeisleSDK\Modules\Endpoint() )->can_load( $product ) );
61
-
62
- }
63
-
64
-
65
- /**
66
- * Test if endpoint should load for admins.
67
- */
68
- public function test_endpoint_can_load() {
69
-
70
- $file = dirname( __FILE__ ) . '/sample_products/sample_plugin/plugin_file.php';
71
- $product = new \ThemeisleSDK\Product( $file );
72
-
73
- $this->assertTrue( ( new \ThemeisleSDK\Modules\Endpoint() )->can_load( $product ) );
74
- $this->assertInstanceOf( 'ThemeisleSDK\\Modules\\Endpoint', ( new \ThemeisleSDK\Modules\Endpoint() )->load( $product ) );
75
-
76
- }
77
-
78
-
79
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
vendor/codeinwp/themeisle-sdk/tests/licenser-test.php DELETED
@@ -1,79 +0,0 @@
1
- <?php
2
- /**
3
- * Licenser feature test.
4
- *
5
- * @package ThemeIsleSDK
6
- */
7
-
8
- /**
9
- * Test licenser feature.
10
- */
11
- class Licenser_Test extends WP_UnitTestCase {
12
-
13
-
14
- /**
15
- * Test product from partner loading.
16
- */
17
- public function test_product_partner_module_loading() {
18
-
19
- $file = dirname( __FILE__ ) . '/sample_products/sample_theme_external/style.css';
20
-
21
- \ThemeisleSDK\Loader::add_product( $file );
22
-
23
- $modules = \ThemeisleSDK\Common\Module_Factory::get_modules_map();
24
-
25
- $this->assertArrayHasKey( 'sample_theme_external', $modules );
26
- $modules['sample_theme_external'] = array_filter(
27
- $modules['sample_theme_external'],
28
- function ( $value ) {
29
- return ( get_class( $value ) === 'ThemeisleSDK\\Modules\\Licenser' );
30
- }
31
- );
32
- $this->assertCount( 1, $modules['sample_theme_external'] );
33
-
34
- }
35
-
36
- /**
37
- * Test product from partner loading.
38
- */
39
- public function test_licenser_product_loading() {
40
-
41
- $file = dirname( __FILE__ ) . '/sample_products/sample_theme/style.css';
42
-
43
- \ThemeisleSDK\Loader::add_product( $file );
44
-
45
- $modules = \ThemeisleSDK\Common\Module_Factory::get_modules_map();
46
-
47
- $this->assertArrayHasKey( 'sample_theme', $modules );
48
- $this->assertGreaterThan( 0, count( $modules['sample_theme'] ) );
49
-
50
- }
51
-
52
- /**
53
- * Test if licenser is disabled on partners.
54
- */
55
- public function test_licenser_can_load_partner() {
56
-
57
- $file = dirname( __FILE__ ) . '/sample_products/sample_theme_external/style.css';
58
- $product = new \ThemeisleSDK\Product( $file );
59
-
60
- $this->assertTrue( ( new \ThemeisleSDK\Modules\Licenser() )->can_load( $product ) );
61
-
62
- }
63
-
64
-
65
- /**
66
- * Test if licenser should load for admins.
67
- */
68
- public function test_licenser_can_load() {
69
-
70
- $file = dirname( __FILE__ ) . '/sample_products/sample_plugin/plugin_file.php';
71
- $product = new \ThemeisleSDK\Product( $file );
72
-
73
- $this->assertTrue( ( new \ThemeisleSDK\Modules\Licenser() )->can_load( $product ) );
74
- $this->assertInstanceOf( 'ThemeisleSDK\\Modules\\Licenser', ( new \ThemeisleSDK\Modules\Licenser() )->load( $product ) );
75
-
76
- }
77
-
78
-
79
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
vendor/codeinwp/themeisle-sdk/tests/loader-test.php DELETED
@@ -1,47 +0,0 @@
1
- <?php
2
- /**
3
- * Loader manager test.
4
- *
5
- * @package ThemeIsleSDK
6
- */
7
-
8
- /**
9
- * Test loader manager.
10
- *
11
- * @runTestsInSeparateProcesses
12
- */
13
- class Loader_Test extends WP_UnitTestCase {
14
-
15
- /**
16
- * Test loading of invalid file.
17
- */
18
- public function test_products_invalid_subscribe() {
19
- $file = dirname( __FILE__ ) . '/invalid/sample_products/sample_plugin/plugin-file.php';
20
- \ThemeisleSDK\Loader::add_product( $file );
21
- $this->assertEmpty( ThemeisleSDK\Loader::get_products() );
22
- }
23
-
24
- /**
25
- * Test loading of plugin file.
26
- */
27
- public function test_products_valid_subscribe_plugin() {
28
- $file = dirname( __FILE__ ) . '/sample_products/sample_plugin/plugin_file.php';
29
-
30
- \ThemeisleSDK\Loader::add_product( $file );
31
-
32
- $this->assertEquals( count( ThemeisleSDK\Loader::get_products() ), 1 );
33
- }
34
-
35
- /**
36
- * Test loading of theme file.
37
- */
38
- public function test_products_valid_subscribe_theme() {
39
- $file = dirname( __FILE__ ) . '/sample_products/sample_theme/style.css';
40
-
41
- \ThemeisleSDK\Loader::add_product( $file );
42
-
43
- $this->assertEquals( count( ThemeisleSDK\Loader::get_products() ), 1 );
44
- }
45
-
46
-
47
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
vendor/codeinwp/themeisle-sdk/tests/loading-test.php DELETED
@@ -1,52 +0,0 @@
1
- <?php
2
- /**
3
- * `loading` test.
4
- *
5
- * @package ThemeIsleSDK
6
- */
7
-
8
- /**
9
- * Test sdk loading.
10
- *
11
- * @runTestsInSeparateProcesses
12
- */
13
- class Sdk_Loading_Test extends WP_UnitTestCase {
14
- /**
15
- * Test if the SDK is loading properly and version is exported.
16
- */
17
- public function test_version_exists() {
18
- global $themeisle_sdk_max_version;
19
- $this->assertTrue( isset( $themeisle_sdk_max_version ) );
20
- $this->assertTrue( version_compare( '0.0.1', $themeisle_sdk_max_version, '<' ) );
21
- }
22
-
23
- /**
24
- * Test that classes are properly loaded.
25
- */
26
- public function test_class_loading() {
27
- $this->assertTrue( class_exists( 'ThemeisleSDK\\Loader' ) );
28
- $this->assertTrue( class_exists( 'ThemeisleSDK\\Product' ) );
29
- $this->assertTrue( class_exists( 'ThemeisleSDK\\Modules\\Dashboard_Widget' ) );
30
- $this->assertTrue( class_exists( 'ThemeisleSDK\\Modules\\Rollback' ) );
31
- $this->assertTrue( class_exists( 'ThemeisleSDK\\Modules\\Uninstall_Feedback' ) );
32
- $this->assertTrue( class_exists( 'ThemeisleSDK\\Modules\\Licenser' ) );
33
- $this->assertTrue( class_exists( 'ThemeisleSDK\\Modules\\Endpoint' ) );
34
- $this->assertTrue( class_exists( 'ThemeisleSDK\\Modules\\Notification' ) );
35
- $this->assertTrue( class_exists( 'ThemeisleSDK\\Modules\\Logger' ) );
36
- $this->assertTrue( class_exists( 'ThemeisleSDK\\Modules\\Translate' ) );
37
- $this->assertTrue( class_exists( 'ThemeisleSDK\\Modules\\Review' ) );
38
- $this->assertTrue( class_exists( 'ThemeisleSDK\\Common\\Abstract_Module' ) );
39
- $this->assertTrue( class_exists( 'ThemeisleSDK\\Common\\Module_factory' ) );
40
- }
41
-
42
- /**
43
- * Test the loaded products.
44
- */
45
- public function test_loaded_defaults() {
46
- $this->assertEquals( count( \ThemeisleSDK\Loader::get_products() ), 0 );
47
- $this->assertGreaterThan( 0, count( \ThemeisleSDK\Loader::get_modules() ) );
48
-
49
- }
50
-
51
-
52
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
vendor/codeinwp/themeisle-sdk/tests/logger-test.php DELETED
@@ -1,67 +0,0 @@
1
- <?php
2
- /**
3
- * Logger feature test.
4
- *
5
- * @package ThemeIsleSDK
6
- */
7
-
8
- /**
9
- * Test logger feature.
10
- */
11
- class Logger_Test extends WP_UnitTestCase {
12
-
13
-
14
- public function test_product_partner_module_loading() {
15
-
16
- $file = dirname( __FILE__ ) . '/sample_products/sample_theme_external/style.css';
17
-
18
- \ThemeisleSDK\Loader::add_product( $file );
19
-
20
- $modules = \ThemeisleSDK\Common\Module_Factory::get_modules_map();
21
-
22
- $this->assertArrayHasKey( 'sample_theme_external', $modules );
23
- $modules['sample_theme_external'] = array_filter(
24
- $modules['sample_theme_external'],
25
- function ( $value ) {
26
- return ( get_class( $value ) === 'ThemeisleSDK\\Modules\\Logger' );
27
- }
28
- );
29
- $this->assertEquals( count( $modules['sample_theme_external'] ), 1 );
30
-
31
- }
32
-
33
- public function test_product_loading() {
34
-
35
- $file = dirname( __FILE__ ) . '/sample_products/sample_theme/style.css';
36
-
37
- \ThemeisleSDK\Loader::add_product( $file );
38
-
39
- $modules = \ThemeisleSDK\Common\Module_Factory::get_modules_map();
40
-
41
- $this->assertArrayHasKey( 'sample_theme', $modules );
42
- $this->assertGreaterThan( 0, count( $modules['sample_theme'] ) );
43
-
44
- }
45
-
46
- public function test_can_load_partner() {
47
-
48
- $file = dirname( __FILE__ ) . '/sample_products/sample_theme_external/style.css';
49
- $product = new \ThemeisleSDK\Product( $file );
50
-
51
- $this->assertTrue( ( new \ThemeisleSDK\Modules\Logger() )->can_load( $product ) );
52
-
53
- }
54
-
55
- public function test_load_normal() {
56
-
57
- $file = dirname( __FILE__ ) . '/sample_products/sample_theme/style.css';
58
-
59
- $product = new \ThemeisleSDK\Product( $file );
60
-
61
- $this->assertTrue( ( new \ThemeisleSDK\Modules\Logger() )->can_load( $product ) );
62
- $this->assertInstanceOf( 'ThemeisleSDK\\Modules\\Logger', ( new \ThemeisleSDK\Modules\Logger() )->load( $product ) );
63
-
64
- }
65
-
66
-
67
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
vendor/codeinwp/themeisle-sdk/tests/notification-test.php DELETED
@@ -1,111 +0,0 @@
1
- <?php
2
- /**
3
- * Notification feature test.
4
- *
5
- * @package ThemeIsleSDK
6
- */
7
-
8
- /**
9
- * Test notification feature.
10
- */
11
- class Notification_Test extends WP_UnitTestCase {
12
-
13
- protected static $editor_id;
14
- protected static $admin_id;
15
-
16
- public static function wpSetUpBeforeClass( $factory ) {
17
- self::$editor_id = $factory->user->create(
18
- array(
19
- 'role' => 'editor',
20
- )
21
- );
22
- self::$admin_id = $factory->user->create(
23
- array(
24
- 'role' => 'administrator',
25
- )
26
- );
27
-
28
- wp_set_current_user( self::$editor_id );
29
- }
30
-
31
- public static function wpTearDownAfterClass() {
32
- self::delete_user( self::$editor_id );
33
- self::delete_user( self::$admin_id );
34
- }
35
-
36
- public function test_product_partner_module_loading() {
37
-
38
- $file = dirname( __FILE__ ) . '/sample_products/sample_theme_external/style.css';
39
-
40
- \ThemeisleSDK\Loader::add_product( $file );
41
-
42
- $modules = \ThemeisleSDK\Common\Module_Factory::get_modules_map();
43
-
44
- $this->assertArrayHasKey( 'sample_theme_external', $modules );
45
- $modules['sample_theme_external'] = array_filter(
46
- $modules['sample_theme_external'],
47
- function ( $value ) {
48
- return ( get_class( $value ) === 'ThemeisleSDK\\Modules\\Notification' );
49
- }
50
- );
51
- $this->assertEquals( count( $modules['sample_theme_external'] ), 0 );
52
-
53
- }
54
-
55
- public function test_notification_product_loading() {
56
-
57
- $file = dirname( __FILE__ ) . '/sample_products/sample_theme/style.css';
58
-
59
- \ThemeisleSDK\Loader::add_product( $file );
60
-
61
- $modules = \ThemeisleSDK\Common\Module_Factory::get_modules_map();
62
-
63
- $this->assertArrayHasKey( 'sample_theme', $modules );
64
- $this->assertGreaterThan( 0, count( $modules['sample_theme'] ) );
65
-
66
- }
67
-
68
- public function test_notification_can_load_partner() {
69
-
70
- $file = dirname( __FILE__ ) . '/sample_products/sample_theme_external/style.css';
71
- $product = new \ThemeisleSDK\Product( $file );
72
-
73
- $this->assertFalse( ( new \ThemeisleSDK\Modules\Notification() )->can_load( $product ) );
74
-
75
- }
76
-
77
- public function test_notification_load_non_admins() {
78
- wp_set_current_user( self::$editor_id );
79
- $file = dirname( __FILE__ ) . '/sample_products/sample_theme/style.css';
80
- $product = new \ThemeisleSDK\Product( $file );
81
-
82
- $this->assertFalse( ( new \ThemeisleSDK\Modules\Notification() )->can_load( $product ) );
83
-
84
- }
85
-
86
- public function test_notification_not_load_for_new() {
87
- wp_set_current_user( self::$admin_id );
88
- $file = dirname( __FILE__ ) . '/sample_products/sample_theme/style.css';
89
-
90
- $product = new \ThemeisleSDK\Product( $file );
91
-
92
- $this->assertFalse( ( new \ThemeisleSDK\Modules\Notification() )->can_load( $product ) );
93
-
94
- }
95
-
96
- public function test_notification_load_old() {
97
- wp_set_current_user( self::$admin_id );
98
-
99
- update_option( 'sample_theme_install', ( time() - MONTH_IN_SECONDS ) );
100
-
101
- $file = dirname( __FILE__ ) . '/sample_products/sample_theme/style.css';
102
-
103
- $product = new \ThemeisleSDK\Product( $file );
104
-
105
- $this->assertTrue( ( new \ThemeisleSDK\Modules\Notification() )->can_load( $product ) );
106
- $this->assertInstanceOf( 'ThemeisleSDK\\Modules\\Notification', ( new \ThemeisleSDK\Modules\Notification() )->load( $product ) );
107
-
108
- }
109
-
110
-
111
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
vendor/codeinwp/themeisle-sdk/tests/old/loading-test.php DELETED
@@ -1,19 +0,0 @@
1
- <?php
2
- /**
3
- * Loading test for lower PHP versions.
4
- *
5
- * @package ThemeIsleSDK
6
- */
7
-
8
- /**
9
- * Test sdk loading.
10
- */
11
- class Sdk_Loading_Old_Test extends WP_UnitTestCase {
12
- /**
13
- * Test if the SDK is not loading on lower php versions.
14
- */
15
- public function test_sdk_not_loaded() {
16
- $this->assertFalse( class_exists( 'ThemeisleSDK\\Loader' ) );
17
- }
18
-
19
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
vendor/codeinwp/themeisle-sdk/tests/product-test.php DELETED
@@ -1,49 +0,0 @@
1
- <?php
2
- /**
3
- * Product data tests.
4
- *
5
- * @package ThemeIsleSDK
6
- */
7
-
8
- /**
9
- * Test product class.
10
- */
11
- class Product_Test extends WP_UnitTestCase {
12
- /**
13
- * Test product from plugin
14
- */
15
- public function test_product_from_plugin() {
16
-
17
- $file = dirname( __FILE__ ) . '/sample_products/sample_plugin/plugin_file.php';
18
-
19
- $product = new \ThemeisleSDK\Product( $file );
20
-
21
- $this->assertEquals( $product->get_type(), 'plugin' );
22
- $this->assertEquals( $product->get_slug(), 'sample_plugin' );
23
- $this->assertEquals( $product->get_store_name(), 'ThemeIsle' );
24
- $this->assertEquals( $product->get_version(), '1.1.1' );
25
- $this->assertGreaterThanOrEqual( $product->get_install_time(), time() );
26
- $this->assertEquals( $product->get_store_url(), 'https://themeisle.com' );
27
- $this->assertFalse( $product->requires_license() );
28
- $this->assertFalse( $product->is_wordpress_available() );
29
- }
30
-
31
- /**
32
- * Test product from theme.
33
- */
34
- public function test_product_from_theme() {
35
-
36
- $file = dirname( __FILE__ ) . '/sample_products/sample_theme/style.css';
37
-
38
- $product = new \ThemeisleSDK\Product( $file );
39
-
40
- $this->assertEquals( $product->get_type(), 'theme' );
41
- $this->assertEquals( $product->get_slug(), 'sample_theme' );
42
- $this->assertEquals( $product->get_store_name(), 'ThemeIsle' );
43
- $this->assertEquals( $product->get_version(), '2.0.18' );
44
- $this->assertGreaterThanOrEqual( $product->get_install_time(), time() );
45
- $this->assertEquals( $product->get_store_url(), 'https://themeisle.com' );
46
- $this->assertTrue( $product->requires_license() );
47
- $this->assertTrue( $product->is_wordpress_available() );
48
- }
49
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
vendor/codeinwp/themeisle-sdk/tests/review-test.php DELETED
@@ -1,67 +0,0 @@
1
- <?php
2
- /**
3
- * Review feature test.
4
- *
5
- * @package ThemeIsleSDK
6
- */
7
-
8
- /**
9
- * Test review feature.
10
- */
11
- class Review_Test extends WP_UnitTestCase {
12
-
13
-
14
- public function test_product_partner_module_loading() {
15
-
16
- $file = dirname( __FILE__ ) . '/sample_products/sample_theme_external/style.css';
17
-
18
- \ThemeisleSDK\Loader::add_product( $file );
19
-
20
- $modules = \ThemeisleSDK\Common\Module_Factory::get_modules_map();
21
-
22
- $this->assertArrayHasKey( 'sample_theme_external', $modules );
23
- $modules['sample_theme_external'] = array_filter(
24
- $modules['sample_theme_external'],
25
- function ( $value ) {
26
- return ( get_class( $value ) === 'ThemeisleSDK\\Modules\\Review' );
27
- }
28
- );
29
- $this->assertEquals( count( $modules['sample_theme_external'] ), 0 );
30
-
31
- }
32
-
33
- public function test_product_loading() {
34
-
35
- $file = dirname( __FILE__ ) . '/sample_products/sample_theme/style.css';
36
-
37
- \ThemeisleSDK\Loader::add_product( $file );
38
-
39
- $modules = \ThemeisleSDK\Common\Module_Factory::get_modules_map();
40
-
41
- $this->assertArrayHasKey( 'sample_theme', $modules );
42
- $this->assertGreaterThan( 0, count( $modules['sample_theme'] ) );
43
-
44
- }
45
-
46
- public function test_can_load_partner() {
47
-
48
- $file = dirname( __FILE__ ) . '/sample_products/sample_theme_external/style.css';
49
- $product = new \ThemeisleSDK\Product( $file );
50
-
51
- $this->assertFalse( ( new \ThemeisleSDK\Modules\Review() )->can_load( $product ) );
52
-
53
- }
54
-
55
- public function test_load_normal() {
56
-
57
- $file = dirname( __FILE__ ) . '/sample_products/sample_theme/style.css';
58
-
59
- $product = new \ThemeisleSDK\Product( $file );
60
-
61
- $this->assertTrue( ( new \ThemeisleSDK\Modules\Review() )->can_load( $product ) );
62
- $this->assertInstanceOf( 'ThemeisleSDK\\Modules\\Review', ( new \ThemeisleSDK\Modules\Review() )->load( $product ) );
63
-
64
- }
65
-
66
-
67
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
vendor/codeinwp/themeisle-sdk/tests/rollback-test.php DELETED
@@ -1,114 +0,0 @@
1
- <?php
2
- /**
3
- * Rollback feature test.
4
- *
5
- * @package ThemeIsleSDK
6
- */
7
-
8
- /**
9
- * Test Rollback feature.
10
- */
11
- class Rollback_Test extends WP_UnitTestCase {
12
-
13
- protected static $editor_id;
14
- protected static $admin_id;
15
-
16
- public static function wpSetUpBeforeClass( $factory ) {
17
- self::$editor_id = $factory->user->create(
18
- array(
19
- 'role' => 'editor',
20
- )
21
- );
22
- self::$admin_id = $factory->user->create(
23
- array(
24
- 'role' => 'administrator',
25
- )
26
- );
27
-
28
- wp_set_current_user( self::$editor_id );
29
- }
30
-
31
- public static function wpTearDownAfterClass() {
32
- self::delete_user( self::$editor_id );
33
- self::delete_user( self::$admin_id );
34
- }
35
-
36
- /**
37
- * Test product from partner loading.
38
- */
39
- public function test_product_partner_module_loading() {
40
-
41
- $file = dirname( __FILE__ ) . '/sample_products/sample_theme_external/style.css';
42
-
43
- \ThemeisleSDK\Loader::add_product( $file );
44
-
45
- $modules = \ThemeisleSDK\Common\Module_Factory::get_modules_map();
46
-
47
- $this->assertArrayHasKey( 'sample_theme_external', $modules );
48
- $modules['sample_theme_external'] = array_filter(
49
- $modules['sample_theme_external'],
50
- function ( $value ) {
51
- return ( get_class( $value ) === 'ThemeisleSDK\\Modules\\Rollback' );
52
- }
53
- );
54
- $this->assertEquals( count( $modules['sample_theme_external'] ), 0 );
55
-
56
- }
57
-
58
- /**
59
- * Test product from partner loading.
60
- */
61
- public function test_rollback_product_loading() {
62
-
63
- $file = dirname( __FILE__ ) . '/sample_products/sample_theme/style.css';
64
-
65
- \ThemeisleSDK\Loader::add_product( $file );
66
-
67
- $modules = \ThemeisleSDK\Common\Module_Factory::get_modules_map();
68
-
69
- $this->assertArrayHasKey( 'sample_theme', $modules );
70
- $this->assertGreaterThan( 0, count( $modules['sample_theme'] ) );
71
-
72
- }
73
-
74
- /**
75
- * Test if rollback is disabled on partners.
76
- */
77
- public function test_rollback_can_load_partner() {
78
-
79
- $file = dirname( __FILE__ ) . '/sample_products/sample_theme_external/style.css';
80
- $product = new \ThemeisleSDK\Product( $file );
81
-
82
- $this->assertFalse( ( new \ThemeisleSDK\Modules\Rollback() )->can_load( $product ) );
83
-
84
- }
85
-
86
- /**
87
- * Test if rollback should not load for non admins.
88
- */
89
- public function test_rollback_not_load_non_admins() {
90
-
91
- wp_set_current_user( self::$editor_id );
92
- $file = dirname( __FILE__ ) . '/sample_products/sample_theme/style.css';
93
- $product = new \ThemeisleSDK\Product( $file );
94
-
95
- $this->assertFalse( ( new \ThemeisleSDK\Modules\Rollback() )->can_load( $product ) );
96
-
97
- }
98
-
99
- /**
100
- * Test if rollback should load for admins.
101
- */
102
- public function test_rollback_not_load_admins() {
103
-
104
- wp_set_current_user( self::$admin_id );
105
- $file = dirname( __FILE__ ) . '/sample_products/sample_theme/style.css';
106
- $product = new \ThemeisleSDK\Product( $file );
107
-
108
- $this->assertTrue( ( new \ThemeisleSDK\Modules\Rollback() )->can_load( $product ) );
109
- $this->assertInstanceOf( 'ThemeisleSDK\\Modules\\Rollback', ( new \ThemeisleSDK\Modules\Rollback() )->load( $product ) );
110
-
111
- }
112
-
113
-
114
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
vendor/codeinwp/themeisle-sdk/tests/sample_products/sample_plugin/plugin_file.php DELETED
@@ -1,13 +0,0 @@
1
- <?php
2
- /**
3
- * Plugin Name: Sample plugin.
4
- * Description: Sample description
5
- * Version: 1.1.1
6
- * Author: ThemeIsle
7
- * Author URI: https://themeisle.com
8
- * License: GPL-2.0+
9
- * License URI: http://www.gnu.org/licenses/gpl-2.0.txt
10
- * Text Domain: sample-plugin
11
- * WordPress Available: no
12
- * Requires License: no
13
- */
 
 
 
 
 
 
 
 
 
 
 
 
 
vendor/codeinwp/themeisle-sdk/tests/sample_products/sample_theme/style.css DELETED
@@ -1,10 +0,0 @@
1
- /*
2
- Theme Name: Test theme
3
- Author: ThemeIsle
4
- Author URI: https://themeisle.com
5
- Version: 2.0.18
6
- License: GNU General Public License v2 or later
7
- License URI: http://www.gnu.org/licenses/gpl-2.0.html s
8
- WordPress Available: yes
9
- Requires License: yes
10
- */
 
 
 
 
 
 
 
 
 
 
vendor/codeinwp/themeisle-sdk/tests/sample_products/sample_theme_external/style.css DELETED
@@ -1,10 +0,0 @@
1
- /*
2
- Theme Name: Test theme
3
- Author: ThemeIsle
4
- Author URI: https://prothemedesign.com
5
- Version: 2.0.18
6
- License: GNU General Public License v2 or later
7
- License URI: http://www.gnu.org/licenses/gpl-2.0.html s
8
- WordPress Available: no
9
- Requires License: yes
10
- */
 
 
 
 
 
 
 
 
 
 
vendor/codeinwp/themeisle-sdk/tests/translate-test.php DELETED
@@ -1,83 +0,0 @@
1
- <?php
2
- /**
3
- * Translate feature test.
4
- *
5
- * @package ThemeIsleSDK
6
- */
7
-
8
- /**
9
- * Test translate feature.
10
- */
11
- class Translate_Test extends WP_UnitTestCase {
12
-
13
-
14
- public function test_product_partner_module_loading() {
15
-
16
- $file = dirname( __FILE__ ) . '/sample_products/sample_theme_external/style.css';
17
-
18
- \ThemeisleSDK\Loader::add_product( $file );
19
-
20
- $modules = \ThemeisleSDK\Common\Module_Factory::get_modules_map();
21
-
22
- $this->assertArrayHasKey( 'sample_theme_external', $modules );
23
- $modules['sample_theme_external'] = array_filter(
24
- $modules['sample_theme_external'],
25
- function ( $value ) {
26
- return ( get_class( $value ) === 'ThemeisleSDK\\Modules\\Translate' );
27
- }
28
- );
29
- $this->assertEquals( count( $modules['sample_theme_external'] ), 0 );
30
-
31
- }
32
-
33
- public function test_product_loading() {
34
-
35
- $file = dirname( __FILE__ ) . '/sample_products/sample_theme/style.css';
36
-
37
- \ThemeisleSDK\Loader::add_product( $file );
38
-
39
- $modules = \ThemeisleSDK\Common\Module_Factory::get_modules_map();
40
-
41
- $this->assertArrayHasKey( 'sample_theme', $modules );
42
- $this->assertGreaterThan( 0, count( $modules['sample_theme'] ) );
43
-
44
- }
45
-
46
- public function test_can_load_partner() {
47
-
48
- $file = dirname( __FILE__ ) . '/sample_products/sample_theme_external/style.css';
49
- $product = new \ThemeisleSDK\Product( $file );
50
-
51
- $this->assertFalse( ( new \ThemeisleSDK\Modules\Translate() )->can_load( $product ) );
52
-
53
- }
54
-
55
- public function test_load_normal_english() {
56
-
57
- $file = dirname( __FILE__ ) . '/sample_products/sample_theme/style.css';
58
-
59
- $product = new \ThemeisleSDK\Product( $file );
60
-
61
- $this->assertFalse( ( new \ThemeisleSDK\Modules\Translate() )->can_load( $product ) );
62
-
63
- }
64
-
65
- public function test_load_non_english() {
66
- add_filter(
67
- 'locale',
68
- function () {
69
- return 'fy';
70
- }
71
- );
72
- $file = dirname( __FILE__ ) . '/sample_products/sample_theme/style.css';
73
-
74
- $product = new \ThemeisleSDK\Product( $file );
75
-
76
- $this->assertTrue( ( new \ThemeisleSDK\Modules\Translate() )->can_load( $product ) );
77
-
78
- $this->assertInstanceOf( 'ThemeisleSDK\\Modules\\Translate', ( new \ThemeisleSDK\Modules\Translate() )->load( $product ) );
79
-
80
- }
81
-
82
-
83
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
vendor/codeinwp/themeisle-sdk/tests/uninstall-feedback-test.php DELETED
@@ -1,130 +0,0 @@
1
- <?php
2
- /**
3
- * Uninstall feature test.
4
- *
5
- * @package ThemeIsleSDK
6
- */
7
-
8
- /**
9
- * Test Uninstall feedback feature.
10
- */
11
- class Uninstall_Feedback_Test extends WP_UnitTestCase {
12
-
13
-
14
- /**
15
- * Test product from partner loading.
16
- */
17
- public function test_product_partner_module_loading() {
18
-
19
- $file = dirname( __FILE__ ) . '/sample_products/sample_theme_external/style.css';
20
-
21
- \ThemeisleSDK\Loader::add_product( $file );
22
-
23
- $modules = \ThemeisleSDK\Common\Module_Factory::get_modules_map();
24
-
25
- $this->assertArrayHasKey( 'sample_theme_external', $modules );
26
- $modules['sample_theme_external'] = array_filter(
27
- $modules['sample_theme_external'],
28
- function ( $value ) {
29
- return ( get_class( $value ) === 'ThemeisleSDK\\Modules\\Uninstall_Feedback' );
30
- }
31
- );
32
- $this->assertCount( 0, $modules['sample_theme_external'] );
33
-
34
- }
35
-
36
- /**
37
- * Test product from partner loading.
38
- */
39
- public function test_un_feedback_product_loading() {
40
-
41
- $file = dirname( __FILE__ ) . '/sample_products/sample_theme/style.css';
42
- global $pagenow;
43
- $pagenow = 'theme-install.php';
44
- \ThemeisleSDK\Loader::add_product( $file );
45
-
46
- $modules = \ThemeisleSDK\Common\Module_Factory::get_modules_map();
47
-
48
- $this->assertArrayHasKey( 'sample_theme', $modules );
49
- $modules['sample_theme'] = array_filter(
50
- $modules['sample_theme'],
51
- function ( $value ) {
52
- return ( get_class( $value ) === 'ThemeisleSDK\\Modules\\Uninstall_Feedback' );
53
- }
54
- );
55
- $this->assertCount( 1, $modules['sample_theme'] );
56
- }
57
-
58
- /**
59
- * Test if uninstall feedback is disabled on partners.
60
- */
61
- public function test_un_feedback_can_load_partner() {
62
-
63
- $file = dirname( __FILE__ ) . '/sample_products/sample_theme_external/style.css';
64
- $product = new \ThemeisleSDK\Product( $file );
65
-
66
- $this->assertFalse( ( new \ThemeisleSDK\Modules\Uninstall_Feedback() )->can_load( $product ) );
67
-
68
- }
69
-
70
-
71
- /**
72
- * Test if uninstall feedback should load for non whitelisted pages.
73
- */
74
- public function test_un_feedback_load_non_pages() {
75
-
76
- $file = dirname( __FILE__ ) . '/sample_products/sample_theme/style.css';
77
- $product = new \ThemeisleSDK\Product( $file );
78
- global $pagenow;
79
- $pagenow = 'index.php';
80
- $this->assertFalse( ( new \ThemeisleSDK\Modules\Uninstall_Feedback() )->can_load( $product ) );
81
-
82
- }
83
-
84
- /**
85
- * Test if uninstall feedback should load for plugins listing.
86
- */
87
- public function test_un_feedback_load_plugins_pages() {
88
-
89
- $file = dirname( __FILE__ ) . '/sample_products/sample_plugin/plugin-file.php';
90
- $product = new \ThemeisleSDK\Product( $file );
91
- global $pagenow;
92
- $pagenow = 'plugins.php';
93
-
94
- $this->assertTrue( ( new \ThemeisleSDK\Modules\Uninstall_Feedback() )->can_load( $product ) );
95
- $this->assertInstanceOf( 'ThemeisleSDK\\Modules\\Uninstall_Feedback', ( new \ThemeisleSDK\Modules\Uninstall_Feedback() )->load( $product ) );
96
-
97
- }
98
-
99
- /**
100
- * Test if uninstall feedback should load for themes install.
101
- */
102
- public function test_un_feedback_load_themes_pages() {
103
-
104
- $file = dirname( __FILE__ ) . '/sample_products/sample_theme/style.css';
105
- $product = new \ThemeisleSDK\Product( $file );
106
- global $pagenow;
107
- $pagenow = 'theme-install.php';
108
-
109
- $this->assertTrue( ( new \ThemeisleSDK\Modules\Uninstall_Feedback() )->can_load( $product ) );
110
- $this->assertInstanceOf( 'ThemeisleSDK\\Modules\\Uninstall_Feedback', ( new \ThemeisleSDK\Modules\Uninstall_Feedback() )->load( $product ) );
111
-
112
- }
113
-
114
- /**
115
- * Test if uninstall feedback loads on ajax requests.
116
- */
117
- public function test_un_feedback_load_ajax() {
118
-
119
- $file = dirname( __FILE__ ) . '/sample_products/sample_theme/style.css';
120
- $product = new \ThemeisleSDK\Product( $file );
121
-
122
- define( 'DOING_AJAX', true );
123
-
124
- $this->assertTrue( ( new \ThemeisleSDK\Modules\Uninstall_Feedback() )->can_load( $product ) );
125
- $this->assertInstanceOf( 'ThemeisleSDK\\Modules\\Uninstall_Feedback', ( new \ThemeisleSDK\Modules\Uninstall_Feedback() )->load( $product ) );
126
-
127
- }
128
-
129
-
130
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
vendor/composer/autoload_real.php CHANGED
@@ -2,7 +2,7 @@
2
 
3
  // autoload_real.php @generated by Composer
4
 
5
- class ComposerAutoloaderInit1636a62bf6c8ae4c0cd77a3ffb8fd21d
6
  {
7
  private static $loader;
8
 
@@ -19,9 +19,9 @@ class ComposerAutoloaderInit1636a62bf6c8ae4c0cd77a3ffb8fd21d
19
  return self::$loader;
20
  }
21
 
22
- spl_autoload_register(array('ComposerAutoloaderInit1636a62bf6c8ae4c0cd77a3ffb8fd21d', 'loadClassLoader'), true, true);
23
  self::$loader = $loader = new \Composer\Autoload\ClassLoader();
24
- spl_autoload_unregister(array('ComposerAutoloaderInit1636a62bf6c8ae4c0cd77a3ffb8fd21d', 'loadClassLoader'));
25
 
26
  $map = require __DIR__ . '/autoload_namespaces.php';
27
  foreach ($map as $namespace => $path) {
@@ -42,14 +42,14 @@ class ComposerAutoloaderInit1636a62bf6c8ae4c0cd77a3ffb8fd21d
42
 
43
  $includeFiles = require __DIR__ . '/autoload_files.php';
44
  foreach ($includeFiles as $fileIdentifier => $file) {
45
- composerRequire1636a62bf6c8ae4c0cd77a3ffb8fd21d($fileIdentifier, $file);
46
  }
47
 
48
  return $loader;
49
  }
50
  }
51
 
52
- function composerRequire1636a62bf6c8ae4c0cd77a3ffb8fd21d($fileIdentifier, $file)
53
  {
54
  if (empty($GLOBALS['__composer_autoload_files'][$fileIdentifier])) {
55
  require $file;
2
 
3
  // autoload_real.php @generated by Composer
4
 
5
+ class ComposerAutoloaderInit7816229a7a9d945653db68b437449112
6
  {
7
  private static $loader;
8
 
19
  return self::$loader;
20
  }
21
 
22
+ spl_autoload_register(array('ComposerAutoloaderInit7816229a7a9d945653db68b437449112', 'loadClassLoader'), true, true);
23
  self::$loader = $loader = new \Composer\Autoload\ClassLoader();
24
+ spl_autoload_unregister(array('ComposerAutoloaderInit7816229a7a9d945653db68b437449112', 'loadClassLoader'));
25
 
26
  $map = require __DIR__ . '/autoload_namespaces.php';
27
  foreach ($map as $namespace => $path) {
42
 
43
  $includeFiles = require __DIR__ . '/autoload_files.php';
44
  foreach ($includeFiles as $fileIdentifier => $file) {
45
+ composerRequire7816229a7a9d945653db68b437449112($fileIdentifier, $file);
46
  }
47
 
48
  return $loader;
49
  }
50
  }
51
 
52
+ function composerRequire7816229a7a9d945653db68b437449112($fileIdentifier, $file)
53
  {
54
  if (empty($GLOBALS['__composer_autoload_files'][$fileIdentifier])) {
55
  require $file;
vendor/composer/autoload_real_52.php CHANGED
@@ -2,7 +2,7 @@
2
 
3
  // autoload_real_52.php generated by xrstf/composer-php52
4
 
5
- class ComposerAutoloaderInited9f2f96d4217a29e4e6d6c2ffb11c9a {
6
  private static $loader;
7
 
8
  public static function loadClassLoader($class) {
@@ -19,9 +19,9 @@ class ComposerAutoloaderInited9f2f96d4217a29e4e6d6c2ffb11c9a {
19
  return self::$loader;
20
  }
21
 
22
- spl_autoload_register(array('ComposerAutoloaderInited9f2f96d4217a29e4e6d6c2ffb11c9a', 'loadClassLoader'), true /*, true */);
23
  self::$loader = $loader = new xrstf_Composer52_ClassLoader();
24
- spl_autoload_unregister(array('ComposerAutoloaderInited9f2f96d4217a29e4e6d6c2ffb11c9a', 'loadClassLoader'));
25
 
26
  $vendorDir = dirname(dirname(__FILE__));
27
  $baseDir = dirname($vendorDir);
2
 
3
  // autoload_real_52.php generated by xrstf/composer-php52
4
 
5
+ class ComposerAutoloaderInit9680c817c9a67a4b84a0d502a1115095 {
6
  private static $loader;
7
 
8
  public static function loadClassLoader($class) {
19
  return self::$loader;
20
  }
21
 
22
+ spl_autoload_register(array('ComposerAutoloaderInit9680c817c9a67a4b84a0d502a1115095', 'loadClassLoader'), true /*, true */);
23
  self::$loader = $loader = new xrstf_Composer52_ClassLoader();
24
+ spl_autoload_unregister(array('ComposerAutoloaderInit9680c817c9a67a4b84a0d502a1115095', 'loadClassLoader'));
25
 
26
  $vendorDir = dirname(dirname(__FILE__));
27
  $baseDir = dirname($vendorDir);
vendor/composer/installed.json CHANGED
@@ -1,44 +1,4 @@
1
  [
2
- {
3
- "name": "codeinwp/themeisle-sdk",
4
- "version": "dev-master",
5
- "version_normalized": "9999999-dev",
6
- "source": {
7
- "type": "git",
8
- "url": "https://github.com/Codeinwp/themeisle-sdk.git",
9
- "reference": "cf03ee5b93c6ca66f0c1a4916309f1270fe12319"
10
- },
11
- "dist": {
12
- "type": "zip",
13
- "url": "https://api.github.com/repos/Codeinwp/themeisle-sdk/zipball/cf03ee5b93c6ca66f0c1a4916309f1270fe12319",
14
- "reference": "cf03ee5b93c6ca66f0c1a4916309f1270fe12319",
15
- "shasum": ""
16
- },
17
- "require-dev": {
18
- "dealerdirect/phpcodesniffer-composer-installer": "^0.4.4",
19
- "squizlabs/php_codesniffer": "^3.1",
20
- "wp-coding-standards/wpcs": "^1.0.0"
21
- },
22
- "time": "2019-01-28 12:17:14",
23
- "type": "library",
24
- "installation-source": "source",
25
- "notification-url": "https://packagist.org/downloads/",
26
- "license": [
27
- "GPL-2.0+"
28
- ],
29
- "authors": [
30
- {
31
- "name": "ThemeIsle team",
32
- "email": "friends@themeisle.com",
33
- "homepage": "https://themeisle.com"
34
- }
35
- ],
36
- "description": "ThemeIsle SDK.",
37
- "homepage": "https://github.com/Codeinwp/themeisle-sdk",
38
- "keywords": [
39
- "wordpress"
40
- ]
41
- },
42
  {
43
  "name": "xrstf/composer-php52",
44
  "version": "v1.0.20",
@@ -71,5 +31,45 @@
71
  "license": [
72
  "MIT"
73
  ]
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
74
  }
75
  ]
1
  [
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
2
  {
3
  "name": "xrstf/composer-php52",
4
  "version": "v1.0.20",
31
  "license": [
32
  "MIT"
33
  ]
34
+ },
35
+ {
36
+ "name": "codeinwp/themeisle-sdk",
37
+ "version": "3.0.6",
38
+ "version_normalized": "3.0.6.0",
39
+ "source": {
40
+ "type": "git",
41
+ "url": "https://github.com/Codeinwp/themeisle-sdk.git",
42
+ "reference": "cde61ab54f93495f0c5b7901cc5072f320f969ff"
43
+ },
44
+ "dist": {
45
+ "type": "zip",
46
+ "url": "https://api.github.com/repos/Codeinwp/themeisle-sdk/zipball/cde61ab54f93495f0c5b7901cc5072f320f969ff",
47
+ "reference": "cde61ab54f93495f0c5b7901cc5072f320f969ff",
48
+ "shasum": ""
49
+ },
50
+ "require-dev": {
51
+ "dealerdirect/phpcodesniffer-composer-installer": "^0.4.4",
52
+ "squizlabs/php_codesniffer": "^3.1",
53
+ "wp-coding-standards/wpcs": "^1.0.0"
54
+ },
55
+ "time": "2019-05-21 11:49:48",
56
+ "type": "library",
57
+ "installation-source": "dist",
58
+ "notification-url": "https://packagist.org/downloads/",
59
+ "license": [
60
+ "GPL-2.0+"
61
+ ],
62
+ "authors": [
63
+ {
64
+ "name": "ThemeIsle team",
65
+ "email": "friends@themeisle.com",
66
+ "homepage": "https://themeisle.com"
67
+ }
68
+ ],
69
+ "description": "ThemeIsle SDK.",
70
+ "homepage": "https://github.com/Codeinwp/themeisle-sdk",
71
+ "keywords": [
72
+ "wordpress"
73
+ ]
74
  }
75
  ]
vendor/xrstf/composer-php52/composer.json DELETED
@@ -1,26 +0,0 @@
1
- {
2
- "name": "xrstf/composer-php52",
3
- "license": "MIT",
4
- "support": {
5
- "source": "https://github.com/composer-php52/composer-php52",
6
- "issues": "https://github.com/composer-php52/composer-php52/issues"
7
- },
8
- "autoload": {
9
- "psr-0": {
10
- "xrstf\\Composer52": "lib/"
11
- }
12
- },
13
- "scripts": {
14
- "post-install-cmd": [
15
- "xrstf\\Composer52\\Generator::onPostInstallCmd"
16
- ],
17
- "post-update-cmd": [
18
- "xrstf\\Composer52\\Generator::onPostInstallCmd"
19
- ]
20
- },
21
- "extra": {
22
- "branch-alias": {
23
- "dev-default": "1.x-dev"
24
- }
25
- }
26
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
wp-product-review.php CHANGED
@@ -15,7 +15,7 @@
15
  * Plugin Name: WP Product Review Lite
16
  * Plugin URI: https://themeisle.com/plugins/wp-product-review/
17
  * Description: The highest rated and most complete review plugin, now with rich snippets support. Easily turn your basic posts into in-depth reviews.
18
- * Version: 3.5.2
19
  * Author: ThemeIsle
20
  * Author URI: https://themeisle.com/
21
  * Requires at least: 3.5
@@ -67,7 +67,7 @@ register_deactivation_hook( __FILE__, 'deactivate_wppr' );
67
  */
68
  function run_wppr() {
69
 
70
- define( 'WPPR_LITE_VERSION', '3.5.2' );
71
  define( 'WPPR_PATH', dirname( __FILE__ ) );
72
  define( 'WPPR_SLUG', 'wppr' );
73
  define( 'WPPR_UPSELL_LINK', 'https://themeisle.com/plugins/wp-product-review/' );
15
  * Plugin Name: WP Product Review Lite
16
  * Plugin URI: https://themeisle.com/plugins/wp-product-review/
17
  * Description: The highest rated and most complete review plugin, now with rich snippets support. Easily turn your basic posts into in-depth reviews.
18
+ * Version: 3.6.0
19
  * Author: ThemeIsle
20
  * Author URI: https://themeisle.com/
21
  * Requires at least: 3.5
67
  */
68
  function run_wppr() {
69
 
70
+ define( 'WPPR_LITE_VERSION', '3.6.0' );
71
  define( 'WPPR_PATH', dirname( __FILE__ ) );
72
  define( 'WPPR_SLUG', 'wppr' );
73
  define( 'WPPR_UPSELL_LINK', 'https://themeisle.com/plugins/wp-product-review/' );