Version Description
- 2020-06-24
Download this release
Release Info
Developer | codeinwp |
Plugin | WP Product Review Lite |
Version | 3.7.10 |
Comparing to | |
See all releases |
Code changes from version 3.7.9 to 3.7.10
- CHANGELOG.md +9 -0
- includes/admin/layouts/editor-default-tpl.php +18 -12
- includes/admin/models/class-wppr-review-model.php +16 -6
- includes/admin/models/class-wppr-schema-model.php +18 -1
- includes/class-wppr.php +1 -1
- includes/gutenberg/build/sidebar.js +1 -1
- includes/gutenberg/class-wppr-gutenberg.php +4 -2
- includes/gutenberg/src/sidebar.js +2 -0
- includes/public/class-wppr-public.php +6 -5
- package-lock.json +541 -267
- readme.md +24 -17
- readme.txt +24 -17
- themeisle-hash.json +1 -1
- vendor/autoload.php +1 -1
- vendor/autoload_52.php +1 -1
- vendor/composer/autoload_real.php +5 -5
- vendor/composer/autoload_real_52.php +3 -3
- wp-product-review.php +2 -2
CHANGELOG.md
CHANGED
@@ -1,4 +1,13 @@
|
|
1 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2 |
### v3.7.9 - 2020-06-15
|
3 |
**Changes:**
|
4 |
* [Fix] Schema.org in both the new and classic editor
|
1 |
|
2 |
+
### v3.7.10 - 2020-07-21
|
3 |
+
**Changes:**
|
4 |
+
|
5 |
+
### v3.7.10 - 2020-06-24
|
6 |
+
**Changes:**
|
7 |
+
* [Fix] Load schema.org just for PHP 7.0 and above
|
8 |
+
* [Fix] Take into account the rating scale option for schema.org
|
9 |
+
* [Fix] Dequeue jquery-ui-slider when not used
|
10 |
+
|
11 |
### v3.7.9 - 2020-06-15
|
12 |
**Changes:**
|
13 |
* [Fix] Schema.org in both the new and classic editor
|
includes/admin/layouts/editor-default-tpl.php
CHANGED
@@ -53,11 +53,14 @@ $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 |
<div class="wppr-review-type">
|
57 |
<h5>
|
58 |
<label for="wppr-editor-review-type"><?php _e( 'Review Type', 'wp-product-review' ); ?></label>
|
59 |
<?php
|
60 |
-
$schema_types = WPPR_Schema_Model::get_types();
|
61 |
$schema_type = $review->get_type();
|
62 |
echo $html_helper->select(
|
63 |
array(
|
@@ -72,6 +75,7 @@ $check = $review->is_active() ? 'yes' : 'no';
|
|
72 |
</h5>
|
73 |
<div class="wppr-review-type-fields"></div>
|
74 |
</div>
|
|
|
75 |
|
76 |
<?php
|
77 |
$templates = apply_filters( 'wppr_review_templates', array( 'default', 'style1', 'style2' ) );
|
@@ -411,14 +415,16 @@ $check = $review->is_active() ? 'yes' : 'no';
|
|
411 |
<?php do_action( 'wppr_editor_after', $model->post ); ?>
|
412 |
</div>
|
413 |
|
414 |
-
|
415 |
-
|
416 |
-
|
417 |
-
|
418 |
-
|
419 |
-
|
420 |
-
<
|
421 |
-
|
422 |
-
|
423 |
-
|
424 |
-
</
|
|
|
|
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 |
+
$schema_types = WPPR_Schema_Model::get_types();
|
58 |
+
if ( $schema_types ) {
|
59 |
+
?>
|
60 |
<div class="wppr-review-type">
|
61 |
<h5>
|
62 |
<label for="wppr-editor-review-type"><?php _e( 'Review Type', 'wp-product-review' ); ?></label>
|
63 |
<?php
|
|
|
64 |
$schema_type = $review->get_type();
|
65 |
echo $html_helper->select(
|
66 |
array(
|
75 |
</h5>
|
76 |
<div class="wppr-review-type-fields"></div>
|
77 |
</div>
|
78 |
+
<?php } ?>
|
79 |
|
80 |
<?php
|
81 |
$templates = apply_filters( 'wppr_review_templates', array( 'default', 'style1', 'style2' ) );
|
415 |
<?php do_action( 'wppr_editor_after', $model->post ); ?>
|
416 |
</div>
|
417 |
|
418 |
+
<?php if ( $schema_types ) { ?>
|
419 |
+
<script id="wppr-review-type-fields-template" type="text/template"
|
420 |
+
data-json='<?php echo esc_attr( str_replace( "'", '\"', json_encode( WPPR_Schema_Model::get_fields_for_type( $schema_type ) ) ) ); ?>'
|
421 |
+
data-type='<?php echo esc_attr( $schema_type ); ?>'
|
422 |
+
data-custom-fields='<?php echo json_encode( $review->get_custom_fields() ); ?>'
|
423 |
+
>
|
424 |
+
<li class="wppr-review-type-field">
|
425 |
+
<label for="wppr-editor-review-type-field">#name#</label>
|
426 |
+
<input type="text" name="#name#" value="#value#" class="regular-text">
|
427 |
+
<input type="hidden" name="wppr-editor-review-type-field[]" value="#name#">
|
428 |
+
</li>
|
429 |
+
</script>
|
430 |
+
<?php } ?>
|
includes/admin/models/class-wppr-review-model.php
CHANGED
@@ -1197,13 +1197,23 @@ class WPPR_Review_Model extends WPPR_Model_Abstract {
|
|
1197 |
),
|
1198 |
);
|
1199 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1200 |
$review_default = array(
|
1201 |
'@type' => 'Review',
|
1202 |
'reviewRating' => array(
|
1203 |
'@type' => 'Rating',
|
1204 |
-
'bestRating' =>
|
1205 |
'worstRating' => '0',
|
1206 |
-
'ratingValue' => number_format( ( $this->get_rating() /
|
1207 |
),
|
1208 |
'name' => $this->get_name(),
|
1209 |
'reviewBody' => $this->get_content(),
|
@@ -1227,9 +1237,9 @@ class WPPR_Review_Model extends WPPR_Model_Abstract {
|
|
1227 |
'@type' => 'Review',
|
1228 |
'reviewRating' => array(
|
1229 |
'@type' => 'Rating',
|
1230 |
-
'bestRating' =>
|
1231 |
'worstRating' => '0',
|
1232 |
-
'ratingValue' => number_format( ( $this->rating_by_options( $comment['options'] ) ), 2 ),
|
1233 |
),
|
1234 |
'name' => $comment['title'],
|
1235 |
'reviewBody' => $comment['content'],
|
@@ -1242,9 +1252,9 @@ class WPPR_Review_Model extends WPPR_Model_Abstract {
|
|
1242 |
}
|
1243 |
$ld['aggregateRating'] = array(
|
1244 |
'@type' => 'AggregateRating',
|
1245 |
-
'bestRating' =>
|
1246 |
'worstRating' => '0',
|
1247 |
-
'ratingValue' => number_format( ( $this->get_rating() /
|
1248 |
'reviewCount' => count( $ld['review'] ),
|
1249 |
);
|
1250 |
|
1197 |
),
|
1198 |
);
|
1199 |
|
1200 |
+
$scale = $this->wppr_get_option( 'wppr_use_5_rating_scale' );
|
1201 |
+
if ( empty( $scale ) ) {
|
1202 |
+
$scale = 10;
|
1203 |
+
}
|
1204 |
+
// for determining the overall ratings.
|
1205 |
+
$divide_by_1 = 10 * ( 10 / $scale );
|
1206 |
+
|
1207 |
+
// for determinig the comment ratings.
|
1208 |
+
$divide_by_2 = 10 / $scale;
|
1209 |
+
|
1210 |
$review_default = array(
|
1211 |
'@type' => 'Review',
|
1212 |
'reviewRating' => array(
|
1213 |
'@type' => 'Rating',
|
1214 |
+
'bestRating' => $scale,
|
1215 |
'worstRating' => '0',
|
1216 |
+
'ratingValue' => number_format( ( $this->get_rating() / $divide_by_1 ), 2 ),
|
1217 |
),
|
1218 |
'name' => $this->get_name(),
|
1219 |
'reviewBody' => $this->get_content(),
|
1237 |
'@type' => 'Review',
|
1238 |
'reviewRating' => array(
|
1239 |
'@type' => 'Rating',
|
1240 |
+
'bestRating' => $scale,
|
1241 |
'worstRating' => '0',
|
1242 |
+
'ratingValue' => number_format( ( $this->rating_by_options( $comment['options'] ) / $divide_by_2 ), 2 ),
|
1243 |
),
|
1244 |
'name' => $comment['title'],
|
1245 |
'reviewBody' => $comment['content'],
|
1252 |
}
|
1253 |
$ld['aggregateRating'] = array(
|
1254 |
'@type' => 'AggregateRating',
|
1255 |
+
'bestRating' => $scale,
|
1256 |
'worstRating' => '0',
|
1257 |
+
'ratingValue' => number_format( ( $this->get_rating() / $divide_by_1 ), 2 ),
|
1258 |
'reviewCount' => count( $ld['review'] ),
|
1259 |
);
|
1260 |
|
includes/admin/models/class-wppr-schema-model.php
CHANGED
@@ -37,6 +37,13 @@ class WPPR_Schema_Model extends WPPR_Model_Abstract {
|
|
37 |
parent::__construct();
|
38 |
}
|
39 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
40 |
/**
|
41 |
* Gets all the schema types that support review-type data.
|
42 |
*
|
@@ -44,6 +51,11 @@ class WPPR_Schema_Model extends WPPR_Model_Abstract {
|
|
44 |
*/
|
45 |
public static function get_types() {
|
46 |
$types = null;
|
|
|
|
|
|
|
|
|
|
|
47 |
if ( ! ( WPPR_CACHE_DISABLED || apply_filters( 'wppr_schema_disable_cache', false ) ) ) {
|
48 |
$types = get_transient( 'wppr_schema_types' );
|
49 |
}
|
@@ -69,12 +81,17 @@ class WPPR_Schema_Model extends WPPR_Model_Abstract {
|
|
69 |
* Gets all the fields for the specified schema type.
|
70 |
*/
|
71 |
public static function get_fields_for_type( $type ) {
|
|
|
|
|
|
|
|
|
|
|
|
|
72 |
include WPPR_PATH . '/vendor/autoload.php';
|
73 |
$class = '\Spatie\SchemaOrg\\' . ucwords( $type );
|
74 |
$class = new $class();
|
75 |
$methods = self::get_uninherited_class_methods( $class );
|
76 |
|
77 |
-
$fields = array();
|
78 |
foreach ( $methods as $method ) {
|
79 |
if ( is_callable( array( $class, $method ) ) ) {
|
80 |
$fields[] = $method;
|
37 |
parent::__construct();
|
38 |
}
|
39 |
|
40 |
+
/**
|
41 |
+
* Checks if the PHP version is supported by this package.
|
42 |
+
*/
|
43 |
+
private static function is_version_supported() {
|
44 |
+
return version_compare( phpversion(), '7.0', '>=' );
|
45 |
+
}
|
46 |
+
|
47 |
/**
|
48 |
* Gets all the schema types that support review-type data.
|
49 |
*
|
51 |
*/
|
52 |
public static function get_types() {
|
53 |
$types = null;
|
54 |
+
|
55 |
+
if ( ! self::is_version_supported() ) {
|
56 |
+
return $types;
|
57 |
+
}
|
58 |
+
|
59 |
if ( ! ( WPPR_CACHE_DISABLED || apply_filters( 'wppr_schema_disable_cache', false ) ) ) {
|
60 |
$types = get_transient( 'wppr_schema_types' );
|
61 |
}
|
81 |
* Gets all the fields for the specified schema type.
|
82 |
*/
|
83 |
public static function get_fields_for_type( $type ) {
|
84 |
+
$fields = array();
|
85 |
+
|
86 |
+
if ( ! self::is_version_supported() ) {
|
87 |
+
return $fields;
|
88 |
+
}
|
89 |
+
|
90 |
include WPPR_PATH . '/vendor/autoload.php';
|
91 |
$class = '\Spatie\SchemaOrg\\' . ucwords( $type );
|
92 |
$class = new $class();
|
93 |
$methods = self::get_uninherited_class_methods( $class );
|
94 |
|
|
|
95 |
foreach ( $methods as $method ) {
|
96 |
if ( is_callable( array( $class, $method ) ) ) {
|
97 |
$fields[] = $method;
|
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.7.
|
71 |
|
72 |
$this->load_dependencies();
|
73 |
$this->set_locale();
|
67 |
*/
|
68 |
public function __construct() {
|
69 |
$this->plugin_name = 'wppr';
|
70 |
+
$this->version = '3.7.10';
|
71 |
|
72 |
$this->load_dependencies();
|
73 |
$this->set_locale();
|
includes/gutenberg/build/sidebar.js
CHANGED
@@ -408,7 +408,7 @@ eval("var pIE = __webpack_require__(16);\nvar createDesc = __webpack_require__(2
|
|
408 |
/***/ (function(module, __webpack_exports__, __webpack_require__) {
|
409 |
|
410 |
"use strict";
|
411 |
-
eval("Object.defineProperty(__webpack_exports__, \"__esModule\", { value: true });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_babel_runtime_core_js_object_values__ = __webpack_require__(35);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_babel_runtime_core_js_object_values___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_babel_runtime_core_js_object_values__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_babel_runtime_core_js_object_keys__ = __webpack_require__(62);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_babel_runtime_core_js_object_keys___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1_babel_runtime_core_js_object_keys__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_babel_runtime_regenerator__ = __webpack_require__(65);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_babel_runtime_regenerator___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_2_babel_runtime_regenerator__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_extends__ = __webpack_require__(68);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_extends___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_extends__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4_babel_runtime_helpers_asyncToGenerator__ = __webpack_require__(73);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4_babel_runtime_helpers_asyncToGenerator___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_4_babel_runtime_helpers_asyncToGenerator__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5_babel_runtime_core_js_object_get_prototype_of__ = __webpack_require__(96);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5_babel_runtime_core_js_object_get_prototype_of___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_5_babel_runtime_core_js_object_get_prototype_of__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_6_babel_runtime_helpers_classCallCheck__ = __webpack_require__(99);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_6_babel_runtime_helpers_classCallCheck___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_6_babel_runtime_helpers_classCallCheck__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_7_babel_runtime_helpers_createClass__ = __webpack_require__(100);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_7_babel_runtime_helpers_createClass___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_7_babel_runtime_helpers_createClass__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_8_babel_runtime_helpers_possibleConstructorReturn__ = __webpack_require__(104);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_8_babel_runtime_helpers_possibleConstructorReturn___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_8_babel_runtime_helpers_possibleConstructorReturn__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_9_babel_runtime_helpers_inherits__ = __webpack_require__(116);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_9_babel_runtime_helpers_inherits___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_9_babel_runtime_helpers_inherits__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_10__style_scss__ = __webpack_require__(124);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_10__style_scss___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_10__style_scss__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_11__utils__ = __webpack_require__(125);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_12__radio_image_control___ = __webpack_require__(126);\n\n\n\n\n\n\n\n\n\n\n/**\r\n * Internal dependencies\r\n */\n\n\n\n\n/**\r\n * WordPress dependencies\r\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 ExternalLink = _wp$components.ExternalLink;\n\nvar WP_Product_Review = function (_Component) {\n\t__WEBPACK_IMPORTED_MODULE_9_babel_runtime_helpers_inherits___default()(WP_Product_Review, _Component);\n\n\tfunction WP_Product_Review() {\n\t\t__WEBPACK_IMPORTED_MODULE_6_babel_runtime_helpers_classCallCheck___default()(this, WP_Product_Review);\n\n\t\tvar _this = __WEBPACK_IMPORTED_MODULE_8_babel_runtime_helpers_possibleConstructorReturn___default()(this, (WP_Product_Review.__proto__ || __WEBPACK_IMPORTED_MODULE_5_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.onChangeSchemaType = _this.onChangeSchemaType.bind(_this);\n\t\t_this.onChangeSchemaField = _this.onChangeSchemaField.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\twppr_review_type: 'Product',\n\t\t\twppr_review_custom_fields: {},\n\t\t\tschema_fields: {},\n\t\t\tschema_url: ''\n\t\t};\n\t\treturn _this;\n\t}\n\n\t__WEBPACK_IMPORTED_MODULE_7_babel_runtime_helpers_createClass___default()(WP_Product_Review, [{\n\t\tkey: 'componentDidMount',\n\t\tvalue: function () {\n\t\t\tvar _ref = __WEBPACK_IMPORTED_MODULE_4_babel_runtime_helpers_asyncToGenerator___default()( /*#__PURE__*/__WEBPACK_IMPORTED_MODULE_2_babel_runtime_regenerator___default.a.mark(function _callee() {\n\t\t\t\tvar _select, getCurrentPostId, getCurrentPostType, post, data;\n\n\t\t\t\treturn __WEBPACK_IMPORTED_MODULE_2_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\t\t\t\t\t\t\t\tif (!(undefined !== post && post.wppr_data)) {\n\t\t\t\t\t\t\t\t\t_context.next = 11;\n\t\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t\t\t}\n\n\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\tpost.wppr_data.wppr_links[''] = '';\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tthis.setState(__WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_extends___default()({}, post.wppr_data));\n\n\t\t\t\t\t\t\t\t_context.next = 9;\n\t\t\t\t\t\t\t\treturn wp.apiRequest({ path: '/wppr/v1/schema-fields?type=' + this.state.wppr_review_type });\n\n\t\t\t\t\t\t\tcase 9:\n\t\t\t\t\t\t\t\tdata = _context.sent;\n\n\t\t\t\t\t\t\t\tthis.setState({ schema_fields: data.fields, schema_url: data.url });\n\n\t\t\t\t\t\t\tcase 11:\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_3_babel_runtime_helpers_extends___default()({}, this.state.wppr_links);\n\t\t\tif (__WEBPACK_IMPORTED_MODULE_1_babel_runtime_core_js_object_keys___default()(this.state.wppr_links).length === 2) {\n\t\t\t\tif (e === __WEBPACK_IMPORTED_MODULE_1_babel_runtime_core_js_object_keys___default()(wppr_links)[0] || e === __WEBPACK_IMPORTED_MODULE_1_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_1_babel_runtime_core_js_object_keys___default()(wppr_links)[0] === key) {\n\t\t\t\tObject(__WEBPACK_IMPORTED_MODULE_11__utils__[\"a\" /* renameKey */])(wppr_links, key, e);\n\t\t\t\twppr_links = Object(__WEBPACK_IMPORTED_MODULE_11__utils__[\"b\" /* reverseObject */])(wppr_links);\n\t\t\t} else {\n\t\t\t\tObject(__WEBPACK_IMPORTED_MODULE_11__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_3_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_3_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_3_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_3_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: 'onChangeSchemaType',\n\t\tvalue: function onChangeSchemaType(e, key) {\n\t\t\tvar _this2 = this;\n\n\t\t\tif (e === '') return;\n\n\t\t\t// remove existing fields first.\n\t\t\tthis.setState({ schema_fields: {}, schema_url: '' });\n\n\t\t\twp.apiRequest({ path: '/wppr/v1/schema-fields?type=' + e }).then(function (data) {\n\t\t\t\t_this2.setState({ schema_fields: data.fields, schema_url: data.url, wppr_review_type: e });\n\t\t\t\t_this2.props.editPostStatus({ edited: true });\n\t\t\t}, function (err) {\n\t\t\t\treturn err;\n\t\t\t});\n\t\t}\n\t}, {\n\t\tkey: 'onChangeSchemaField',\n\t\tvalue: function onChangeSchemaField(e, field) {\n\t\t\tvar fields = __WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_extends___default()({}, this.state.wppr_review_custom_fields);\n\t\t\tvar schema_fields = __WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_extends___default()({}, this.state.schema_fields);\n\t\t\tfields[field] = e;\n\t\t\tthis.setState({ wppr_review_custom_fields: fields });\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_1_babel_runtime_core_js_object_keys___default()(this.state.wppr_options).length + 1;\n\t\t\tvar wppr_options = __WEBPACK_IMPORTED_MODULE_3_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_3_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_1_babel_runtime_core_js_object_keys___default()(this.state.wppr_pros).length;\n\t\t\tvar wppr_pros = __WEBPACK_IMPORTED_MODULE_3_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_3_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_1_babel_runtime_core_js_object_keys___default()(this.state.wppr_cons).length;\n\t\t\tvar wppr_cons = __WEBPACK_IMPORTED_MODULE_3_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 _this3 = 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_12__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 [_this3.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: _this3.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 _this3.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: _this3.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_1_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 _this3.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: _this3.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 _this3.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_1_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_1_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: _this3.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 _this3.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: _this3.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 _this3.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_1_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_1_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: _this3.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 _this3.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_1_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_1_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: _this3.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 _this3.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_1_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\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: __('Schema Details'),\n\t\t\t\t\t\t\tclassName: 'wp-product-review-schema',\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-schema' },\n\t\t\t\t\t\t\twp.element.createElement(SelectControl, {\n\t\t\t\t\t\t\t\tlabel: __('Review Type'),\n\t\t\t\t\t\t\t\tvalue: this.state.wppr_review_type,\n\t\t\t\t\t\t\t\toptions: wpprguten.schema_types,\n\t\t\t\t\t\t\t\tonChange: this.onChangeSchemaType\n\t\t\t\t\t\t\t})\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-schema-fields' },\n\t\t\t\t\t\t\t!!this.state.schema_url && wp.element.createElement(\n\t\t\t\t\t\t\t\tExternalLink,\n\t\t\t\t\t\t\t\t{ href: this.state.schema_url, title: __('View Schema Description ') },\n\t\t\t\t\t\t\t\t__('View Schema Description ')\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_values___default()(this.state.schema_fields).map(function (field, 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-schema-field' },\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-schema-field-' + key },\n\t\t\t\t\t\t\t\t\t\tfield\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-schema-field-' + key,\n\t\t\t\t\t\t\t\t\t\tname: 'wppr-schema-field-' + field,\n\t\t\t\t\t\t\t\t\t\tclassName: 'wppr-text',\n\t\t\t\t\t\t\t\t\t\tvalue: _this3.state.wppr_review_custom_fields[field] ? _this3.state.wppr_review_custom_fields[field] : '',\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 _this3.onChangeSchemaField(e, field);\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)\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 _this3.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 _this3.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_1_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: _this3.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_1_babel_runtime_core_js_object_keys___default()(_this3.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_this3.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_1_babel_runtime_core_js_object_keys___default()(_this3.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_this3.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_1_babel_runtime_core_js_object_keys___default()(_this3.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_this3.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 _this3.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: '/wppr/v1/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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiNTYuanMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9zcmMvc2lkZWJhci5qcz8yNWQ1Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBfT2JqZWN0JHZhbHVlcyBmcm9tICdiYWJlbC1ydW50aW1lL2NvcmUtanMvb2JqZWN0L3ZhbHVlcyc7XG5pbXBvcnQgX09iamVjdCRrZXlzIGZyb20gJ2JhYmVsLXJ1bnRpbWUvY29yZS1qcy9vYmplY3Qva2V5cyc7XG5pbXBvcnQgX3JlZ2VuZXJhdG9yUnVudGltZSBmcm9tICdiYWJlbC1ydW50aW1lL3JlZ2VuZXJhdG9yJztcbmltcG9ydCBfZXh0ZW5kcyBmcm9tICdiYWJlbC1ydW50aW1lL2hlbHBlcnMvZXh0ZW5kcyc7XG5pbXBvcnQgX2FzeW5jVG9HZW5lcmF0b3IgZnJvbSAnYmFiZWwtcnVudGltZS9oZWxwZXJzL2FzeW5jVG9HZW5lcmF0b3InO1xuaW1wb3J0IF9PYmplY3QkZ2V0UHJvdG90eXBlT2YgZnJvbSAnYmFiZWwtcnVudGltZS9jb3JlLWpzL29iamVjdC9nZXQtcHJvdG90eXBlLW9mJztcbmltcG9ydCBfY2xhc3NDYWxsQ2hlY2sgZnJvbSAnYmFiZWwtcnVudGltZS9oZWxwZXJzL2NsYXNzQ2FsbENoZWNrJztcbmltcG9ydCBfY3JlYXRlQ2xhc3MgZnJvbSAnYmFiZWwtcnVudGltZS9oZWxwZXJzL2NyZWF0ZUNsYXNzJztcbmltcG9ydCBfcG9zc2libGVDb25zdHJ1Y3RvclJldHVybiBmcm9tICdiYWJlbC1ydW50aW1lL2hlbHBlcnMvcG9zc2libGVDb25zdHJ1Y3RvclJldHVybic7XG5pbXBvcnQgX2luaGVyaXRzIGZyb20gJ2JhYmVsLXJ1bnRpbWUvaGVscGVycy9pbmhlcml0cyc7XG4vKipcclxuICogSW50ZXJuYWwgZGVwZW5kZW5jaWVzXHJcbiAqL1xuaW1wb3J0ICcuL3N0eWxlLnNjc3MnO1xuaW1wb3J0IHsgcmV2ZXJzZU9iamVjdCwgcmVuYW1lS2V5LCBpbkFycmF5IH0gZnJvbSAnLi91dGlscyc7XG5pbXBvcnQgUmFkaW9JbWFnZUNvbnRyb2wgZnJvbSAnLi9yYWRpby1pbWFnZS1jb250cm9sLyc7XG5cbi8qKlxyXG4gKiBXb3JkUHJlc3MgZGVwZW5kZW5jaWVzXHJcbiAqL1xudmFyIF9fID0gd3AuaTE4bi5fXztcbnZhciBfbG9kYXNoID0gbG9kYXNoLFxuICAgIGlzVW5kZWZpbmVkID0gX2xvZGFzaC5pc1VuZGVmaW5lZCxcbiAgICBwaWNrQnkgPSBfbG9kYXNoLnBpY2tCeTtcbnZhciByZWdpc3RlclBsdWdpbiA9IHdwLnBsdWdpbnMucmVnaXN0ZXJQbHVnaW47XG52YXIgTWVkaWFVcGxvYWQgPSB3cC5lZGl0b3IuTWVkaWFVcGxvYWQ7XG52YXIgX3dwJGRhdGEgPSB3cC5kYXRhLFxuICAgIHNlbGVjdCA9IF93cCRkYXRhLnNlbGVjdCxcbiAgICB3aXRoU2VsZWN0ID0gX3dwJGRhdGEud2l0aFNlbGVjdCxcbiAgICB3aXRoRGlzcGF0Y2ggPSBfd3AkZGF0YS53aXRoRGlzcGF0Y2g7XG52YXIgX3dwJGVkaXRQb3N0ID0gd3AuZWRpdFBvc3QsXG4gICAgUGx1Z2luUG9zdFN0YXR1c0luZm8gPSBfd3AkZWRpdFBvc3QuUGx1Z2luUG9zdFN0YXR1c0luZm8sXG4gICAgUGx1Z2luU2lkZWJhck1vcmVNZW51SXRlbSA9IF93cCRlZGl0UG9zdC5QbHVnaW5TaWRlYmFyTW9yZU1lbnVJdGVtLFxuICAgIFBsdWdpblNpZGViYXIgPSBfd3AkZWRpdFBvc3QuUGx1Z2luU2lkZWJhcjtcbnZhciBfd3AkZWxlbWVudCA9IHdwLmVsZW1lbnQsXG4gICAgQ29tcG9uZW50ID0gX3dwJGVsZW1lbnQuQ29tcG9uZW50LFxuICAgIEZyYWdtZW50ID0gX3dwJGVsZW1lbnQuRnJhZ21lbnQ7XG52YXIgX3dwJGNvbXBvc2UgPSB3cC5jb21wb3NlLFxuICAgIHdpdGhTdGF0ZSA9IF93cCRjb21wb3NlLndpdGhTdGF0ZSxcbiAgICBjb21wb3NlID0gX3dwJGNvbXBvc2UuY29tcG9zZTtcbnZhciBfd3AkY29tcG9uZW50cyA9IHdwLmNvbXBvbmVudHMsXG4gICAgQnV0dG9uID0gX3dwJGNvbXBvbmVudHMuQnV0dG9uLFxuICAgIEZvcm1Ub2dnbGUgPSBfd3AkY29tcG9uZW50cy5Gb3JtVG9nZ2xlLFxuICAgIE1vZGFsID0gX3dwJGNvbXBvbmVudHMuTW9kYWwsXG4gICAgUGFuZWxCb2R5ID0gX3dwJGNvbXBvbmVudHMuUGFuZWxCb2R5LFxuICAgIFNlbGVjdENvbnRyb2wgPSBfd3AkY29tcG9uZW50cy5TZWxlY3RDb250cm9sLFxuICAgIFRleHRDb250cm9sID0gX3dwJGNvbXBvbmVudHMuVGV4dENvbnRyb2wsXG4gICAgRXh0ZXJuYWxMaW5rID0gX3dwJGNvbXBvbmVudHMuRXh0ZXJuYWxMaW5rO1xuXG52YXIgV1BfUHJvZHVjdF9SZXZpZXcgPSBmdW5jdGlvbiAoX0NvbXBvbmVudCkge1xuXHRfaW5oZXJpdHMoV1BfUHJvZHVjdF9SZXZpZXcsIF9Db21wb25lbnQpO1xuXG5cdGZ1bmN0aW9uIFdQX1Byb2R1Y3RfUmV2aWV3KCkge1xuXHRcdF9jbGFzc0NhbGxDaGVjayh0aGlzLCBXUF9Qcm9kdWN0X1Jldmlldyk7XG5cblx0XHR2YXIgX3RoaXMgPSBfcG9zc2libGVDb25zdHJ1Y3RvclJldHVybih0aGlzLCAoV1BfUHJvZHVjdF9SZXZpZXcuX19wcm90b19fIHx8IF9PYmplY3QkZ2V0UHJvdG90eXBlT2YoV1BfUHJvZHVjdF9SZXZpZXcpKS5hcHBseSh0aGlzLCBhcmd1bWVudHMpKTtcblxuXHRcdF90aGlzLnRvZ2dsZVJldmlld1N0YXR1cyA9IF90aGlzLnRvZ2dsZVJldmlld1N0YXR1cy5iaW5kKF90aGlzKTtcblx0XHRfdGhpcy5vbkNoYW5nZVRlbXBsYXRlID0gX3RoaXMub25DaGFuZ2VUZW1wbGF0ZS5iaW5kKF90aGlzKTtcblx0XHRfdGhpcy5vbkNoYW5nZVJldmlld1RpdGxlID0gX3RoaXMub25DaGFuZ2VSZXZpZXdUaXRsZS5iaW5kKF90aGlzKTtcblx0XHRfdGhpcy5vbkNoYW5nZVJldmlld0ltYWdlID0gX3RoaXMub25DaGFuZ2VSZXZpZXdJbWFnZS5iaW5kKF90aGlzKTtcblx0XHRfdGhpcy5vbkNoYW5nZUltYWdlTGluayA9IF90aGlzLm9uQ2hhbmdlSW1hZ2VMaW5rLmJpbmQoX3RoaXMpO1xuXHRcdF90aGlzLm9uQ2hhbmdlUmV2aWV3QWZmaWxpYXRlVGl0bGUgPSBfdGhpcy5vbkNoYW5nZVJldmlld0FmZmlsaWF0ZVRpdGxlLmJpbmQoX3RoaXMpO1xuXHRcdF90aGlzLm9uQ2hhbmdlUmV2aWV3QWZmaWxpYXRlTGluayA9IF90aGlzLm9uQ2hhbmdlUmV2aWV3QWZmaWxpYXRlTGluay5iaW5kKF90aGlzKTtcblx0XHRfdGhpcy5hZGRCdXR0b24gPSBfdGhpcy5hZGRCdXR0b24uYmluZChfdGhpcyk7XG5cdFx0X3RoaXMub25DaGFuZ2VSZXZpZXdQcmljZSA9IF90aGlzLm9uQ2hhbmdlUmV2aWV3UHJpY2UuYmluZChfdGhpcyk7XG5cdFx0X3RoaXMub25DaGFuZ2VPcHRpb25UZXh0ID0gX3RoaXMub25DaGFuZ2VPcHRpb25UZXh0LmJpbmQoX3RoaXMpO1xuXHRcdF90aGlzLm9uQ2hhbmdlT3B0aW9uTnVtYmVyID0gX3RoaXMub25DaGFuZ2VPcHRpb25OdW1iZXIuYmluZChfdGhpcyk7XG5cdFx0X3RoaXMub25DaGFuZ2VTY2hlbWFUeXBlID0gX3RoaXMub25DaGFuZ2VTY2hlbWFUeXBlLmJpbmQoX3RoaXMpO1xuXHRcdF90aGlzLm9uQ2hhbmdlU2NoZW1hRmllbGQgPSBfdGhpcy5vbkNoYW5nZVNjaGVtYUZpZWxkLmJpbmQoX3RoaXMpO1xuXHRcdF90aGlzLmFkZE9wdGlvbiA9IF90aGlzLmFkZE9wdGlvbi5iaW5kKF90aGlzKTtcblx0XHRfdGhpcy5vbkNoYW5nZVByb1RleHQgPSBfdGhpcy5vbkNoYW5nZVByb1RleHQuYmluZChfdGhpcyk7XG5cdFx0X3RoaXMuYWRkUHJvID0gX3RoaXMuYWRkUHJvLmJpbmQoX3RoaXMpO1xuXHRcdF90aGlzLm9uQ2hhbmdlQ29uVGV4dCA9IF90aGlzLm9uQ2hhbmdlQ29uVGV4dC5iaW5kKF90aGlzKTtcblx0XHRfdGhpcy5hZGRDb24gPSBfdGhpcy5hZGRDb24uYmluZChfdGhpcyk7XG5cdFx0X3RoaXMuaW1wb3J0UmV2aWV3ID0gX3RoaXMuaW1wb3J0UmV2aWV3LmJpbmQoX3RoaXMpO1xuXG5cdFx0X3RoaXMuc3RhdGUgPSB7XG5cdFx0XHRjd3BfbWV0YV9ib3hfY2hlY2s6ICdObycsXG5cdFx0XHRjd3BfcmV2X3Byb2R1Y3RfbmFtZTogJycsXG5cdFx0XHRfd3Bwcl9yZXZpZXdfdGVtcGxhdGU6ICdkZWZhdWx0Jyxcblx0XHRcdGN3cF9yZXZfcHJvZHVjdF9pbWFnZTogJycsXG5cdFx0XHRjd3BfaW1hZ2VfbGluazogJ2ltYWdlJyxcblx0XHRcdHdwcHJfbGlua3M6IHtcblx0XHRcdFx0Jyc6ICcnXG5cdFx0XHR9LFxuXHRcdFx0Y3dwX3Jldl9wcmljZTogJycsXG5cdFx0XHR3cHByX29wdGlvbnM6IHtcblx0XHRcdFx0MToge1xuXHRcdFx0XHRcdG5hbWU6ICcnLFxuXHRcdFx0XHRcdHZhbHVlOiAwXG5cdFx0XHRcdH1cblx0XHRcdH0sXG5cdFx0XHR3cHByX3Byb3M6IHtcblx0XHRcdFx0MDogJydcblx0XHRcdH0sXG5cdFx0XHR3cHByX2NvbnM6IHtcblx0XHRcdFx0MDogJydcblx0XHRcdH0sXG5cdFx0XHR3cHByX3Jldmlld190eXBlOiAnUHJvZHVjdCcsXG5cdFx0XHR3cHByX3Jldmlld19jdXN0b21fZmllbGRzOiB7fSxcblx0XHRcdHNjaGVtYV9maWVsZHM6IHt9LFxuXHRcdFx0c2NoZW1hX3VybDogJydcblx0XHR9O1xuXHRcdHJldHVybiBfdGhpcztcblx0fVxuXG5cdF9jcmVhdGVDbGFzcyhXUF9Qcm9kdWN0X1JldmlldywgW3tcblx0XHRrZXk6ICdjb21wb25lbnREaWRNb3VudCcsXG5cdFx0dmFsdWU6IGZ1bmN0aW9uICgpIHtcblx0XHRcdHZhciBfcmVmID0gX2FzeW5jVG9HZW5lcmF0b3IoIC8qI19fUFVSRV9fKi9fcmVnZW5lcmF0b3JSdW50aW1lLm1hcmsoZnVuY3Rpb24gX2NhbGxlZSgpIHtcblx0XHRcdFx0dmFyIF9zZWxlY3QsIGdldEN1cnJlbnRQb3N0SWQsIGdldEN1cnJlbnRQb3N0VHlwZSwgcG9zdCwgZGF0YTtcblxuXHRcdFx0XHRyZXR1cm4gX3JlZ2VuZXJhdG9yUnVudGltZS53cmFwKGZ1bmN0aW9uIF9jYWxsZWUkKF9jb250ZXh0KSB7XG5cdFx0XHRcdFx0d2hpbGUgKDEpIHtcblx0XHRcdFx0XHRcdHN3aXRjaCAoX2NvbnRleHQucHJldiA9IF9jb250ZXh0Lm5leHQpIHtcblx0XHRcdFx0XHRcdFx0Y2FzZSAwOlxuXHRcdFx0XHRcdFx0XHRcdF9zZWxlY3QgPSBzZWxlY3QoJ2NvcmUvZWRpdG9yJyksIGdldEN1cnJlbnRQb3N0SWQgPSBfc2VsZWN0LmdldEN1cnJlbnRQb3N0SWQsIGdldEN1cnJlbnRQb3N0VHlwZSA9IF9zZWxlY3QuZ2V0Q3VycmVudFBvc3RUeXBlO1xuXHRcdFx0XHRcdFx0XHRcdF9jb250ZXh0Lm5leHQgPSAzO1xuXHRcdFx0XHRcdFx0XHRcdHJldHVybiBzZWxlY3QoJ2NvcmUnKS5nZXRFbnRpdHlSZWNvcmQoJ3Bvc3RUeXBlJywgZ2V0Q3VycmVudFBvc3RUeXBlKCksIGdldEN1cnJlbnRQb3N0SWQoKSk7XG5cblx0XHRcdFx0XHRcdFx0Y2FzZSAzOlxuXHRcdFx0XHRcdFx0XHRcdHBvc3QgPSBfY29udGV4dC5zZW50O1xuXG5cdFx0XHRcdFx0XHRcdFx0aWYgKCEodW5kZWZpbmVkICE9PSBwb3N0ICYmIHBvc3Qud3Bwcl9kYXRhKSkge1xuXHRcdFx0XHRcdFx0XHRcdFx0X2NvbnRleHQubmV4dCA9IDExO1xuXHRcdFx0XHRcdFx0XHRcdFx0YnJlYWs7XG5cdFx0XHRcdFx0XHRcdFx0fVxuXG5cdFx0XHRcdFx0XHRcdFx0aWYgKHBvc3Qud3Bwcl9kYXRhLndwcHJfbGlua3MgJiYgcG9zdC53cHByX2RhdGEud3Bwcl9saW5rcy5sZW5ndGggPCAxKSB7XG5cdFx0XHRcdFx0XHRcdFx0XHRwb3N0LndwcHJfZGF0YS53cHByX2xpbmtzWycnXSA9ICcnO1xuXHRcdFx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHRcdFx0XHR0aGlzLnNldFN0YXRlKF9leHRlbmRzKHt9LCBwb3N0LndwcHJfZGF0YSkpO1xuXG5cdFx0XHRcdFx0XHRcdFx0X2NvbnRleHQubmV4dCA9IDk7XG5cdFx0XHRcdFx0XHRcdFx0cmV0dXJuIHdwLmFwaVJlcXVlc3QoeyBwYXRoOiAnL3dwcHIvdjEvc2NoZW1hLWZpZWxkcz90eXBlPScgKyB0aGlzLnN0YXRlLndwcHJfcmV2aWV3X3R5cGUgfSk7XG5cblx0XHRcdFx0XHRcdFx0Y2FzZSA5OlxuXHRcdFx0XHRcdFx0XHRcdGRhdGEgPSBfY29udGV4dC5zZW50O1xuXG5cdFx0XHRcdFx0XHRcdFx0dGhpcy5zZXRTdGF0ZSh7IHNjaGVtYV9maWVsZHM6IGRhdGEuZmllbGRzLCBzY2hlbWFfdXJsOiBkYXRhLnVybCB9KTtcblxuXHRcdFx0XHRcdFx0XHRjYXNlIDExOlxuXHRcdFx0XHRcdFx0XHRjYXNlICdlbmQnOlxuXHRcdFx0XHRcdFx0XHRcdHJldHVybiBfY29udGV4dC5zdG9wKCk7XG5cdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9LCBfY2FsbGVlLCB0aGlzKTtcblx0XHRcdH0pKTtcblxuXHRcdFx0ZnVuY3Rpb24gY29tcG9uZW50RGlkTW91bnQoKSB7XG5cdFx0XHRcdHJldHVybiBfcmVmLmFwcGx5KHRoaXMsIGFyZ3VtZW50cyk7XG5cdFx0XHR9XG5cblx0XHRcdHJldHVybiBjb21wb25lbnREaWRNb3VudDtcblx0XHR9KClcblx0fSwge1xuXHRcdGtleTogJ2NvbXBvbmVudERpZFVwZGF0ZScsXG5cdFx0dmFsdWU6IGZ1bmN0aW9uIGNvbXBvbmVudERpZFVwZGF0ZShwcmV2UHJvcHMsIHByZXZTdGF0ZSkge1xuXHRcdFx0aWYgKHRoaXMuc3RhdGUuY3dwX21ldGFfYm94X2NoZWNrICE9PSBwcmV2U3RhdGUuY3dwX21ldGFfYm94X2NoZWNrICYmIHRoaXMuc3RhdGUuY3dwX21ldGFfYm94X2NoZWNrID09PSAnWWVzJykge1xuXHRcdFx0XHR0aGlzLnByb3BzLm9wZW5SZXZpZXdTaWRlYmFyKCk7XG5cdFx0XHR9XG5cdFx0fVxuXHR9LCB7XG5cdFx0a2V5OiAndG9nZ2xlUmV2aWV3U3RhdHVzJyxcblx0XHR2YWx1ZTogZnVuY3Rpb24gdG9nZ2xlUmV2aWV3U3RhdHVzKCkge1xuXHRcdFx0dGhpcy5zZXRTdGF0ZSh7IGN3cF9tZXRhX2JveF9jaGVjazogdGhpcy5zdGF0ZS5jd3BfbWV0YV9ib3hfY2hlY2sgPT09ICdZZXMnID8gJ05vJyA6ICdZZXMnIH0pO1xuXHRcdFx0dGhpcy5wcm9wcy5lZGl0UG9zdFN0YXR1cyh7IGVkaXRlZDogdHJ1ZSB9KTtcblx0XHR9XG5cdH0sIHtcblx0XHRrZXk6ICdvbkNoYW5nZVRlbXBsYXRlJyxcblx0XHR2YWx1ZTogZnVuY3Rpb24gb25DaGFuZ2VUZW1wbGF0ZSh2YWx1ZSkge1xuXHRcdFx0dGhpcy5zZXRTdGF0ZSh7IF93cHByX3Jldmlld190ZW1wbGF0ZTogdmFsdWUgfSk7XG5cdFx0XHR0aGlzLnByb3BzLmVkaXRQb3N0U3RhdHVzKHsgZWRpdGVkOiB0cnVlIH0pO1xuXHRcdH1cblx0fSwge1xuXHRcdGtleTogJ29uQ2hhbmdlUmV2aWV3VGl0bGUnLFxuXHRcdHZhbHVlOiBmdW5jdGlvbiBvbkNoYW5nZVJldmlld1RpdGxlKHZhbHVlKSB7XG5cdFx0XHR0aGlzLnNldFN0YXRlKHsgY3dwX3Jldl9wcm9kdWN0X25hbWU6IHZhbHVlIH0pO1xuXHRcdFx0dGhpcy5wcm9wcy5lZGl0UG9zdFN0YXR1cyh7IGVkaXRlZDogdHJ1ZSB9KTtcblx0XHR9XG5cdH0sIHtcblx0XHRrZXk6ICdvbkNoYW5nZVJldmlld0ltYWdlJyxcblx0XHR2YWx1ZTogZnVuY3Rpb24gb25DaGFuZ2VSZXZpZXdJbWFnZSh2YWx1ZSkge1xuXHRcdFx0aWYgKHZhbHVlLnVybCAhPT0gdW5kZWZpbmVkICYmIHZhbHVlLnVybCAhPT0gJycpIHtcblx0XHRcdFx0dGhpcy5zZXRTdGF0ZSh7IGN3cF9yZXZfcHJvZHVjdF9pbWFnZTogdmFsdWUudXJsIH0pO1xuXHRcdFx0fSBlbHNlIGlmICh2YWx1ZS5pZCAhPT0gdW5kZWZpbmVkKSB7XG5cdFx0XHRcdHRoaXMuc2V0U3RhdGUoeyBjd3BfcmV2X3Byb2R1Y3RfaW1hZ2U6IHZhbHVlLmlkIH0pO1xuXHRcdFx0fVxuXHRcdFx0dGhpcy5wcm9wcy5lZGl0UG9zdFN0YXR1cyh7IGVkaXRlZDogdHJ1ZSB9KTtcblx0XHR9XG5cdH0sIHtcblx0XHRrZXk6ICdvbkNoYW5nZUltYWdlTGluaycsXG5cdFx0dmFsdWU6IGZ1bmN0aW9uIG9uQ2hhbmdlSW1hZ2VMaW5rKHZhbHVlKSB7XG5cdFx0XHR0aGlzLnNldFN0YXRlKHsgY3dwX2ltYWdlX2xpbms6IHZhbHVlIH0pO1xuXHRcdFx0dGhpcy5wcm9wcy5lZGl0UG9zdFN0YXR1cyh7IGVkaXRlZDogdHJ1ZSB9KTtcblx0XHR9XG5cdH0sIHtcblx0XHRrZXk6ICdvbkNoYW5nZVJldmlld0FmZmlsaWF0ZVRpdGxlJyxcblx0XHR2YWx1ZTogZnVuY3Rpb24gb25DaGFuZ2VSZXZpZXdBZmZpbGlhdGVUaXRsZShlLCBrZXkpIHtcblx0XHRcdHZhciB3cHByX2xpbmtzID0gX2V4dGVuZHMoe30sIHRoaXMuc3RhdGUud3Bwcl9saW5rcyk7XG5cdFx0XHRpZiAoX09iamVjdCRrZXlzKHRoaXMuc3RhdGUud3Bwcl9saW5rcykubGVuZ3RoID09PSAyKSB7XG5cdFx0XHRcdGlmIChlID09PSBfT2JqZWN0JGtleXMod3Bwcl9saW5rcylbMF0gfHwgZSA9PT0gX09iamVjdCRrZXlzKHdwcHJfbGlua3MpWzFdKSB7XG5cdFx0XHRcdFx0ZSA9IGUgKyAnICc7XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHRcdGlmIChfT2JqZWN0JGtleXMod3Bwcl9saW5rcylbMF0gPT09IGtleSkge1xuXHRcdFx0XHRyZW5hbWVLZXkod3Bwcl9saW5rcywga2V5LCBlKTtcblx0XHRcdFx0d3Bwcl9saW5rcyA9IHJldmVyc2VPYmplY3Qod3Bwcl9saW5rcyk7XG5cdFx0XHR9IGVsc2Uge1xuXHRcdFx0XHRyZW5hbWVLZXkod3Bwcl9saW5rcywga2V5LCBlKTtcblx0XHRcdH1cblx0XHRcdHRoaXMuc2V0U3RhdGUoeyB3cHByX2xpbmtzOiB3cHByX2xpbmtzIH0pO1xuXHRcdFx0dGhpcy5wcm9wcy5lZGl0UG9zdFN0YXR1cyh7IGVkaXRlZDogdHJ1ZSB9KTtcblx0XHR9XG5cdH0sIHtcblx0XHRrZXk6ICdvbkNoYW5nZVJldmlld0FmZmlsaWF0ZUxpbmsnLFxuXHRcdHZhbHVlOiBmdW5jdGlvbiBvbkNoYW5nZVJldmlld0FmZmlsaWF0ZUxpbmsoZSwga2V5KSB7XG5cdFx0XHR2YXIgd3Bwcl9saW5rcyA9IF9leHRlbmRzKHt9LCB0aGlzLnN0YXRlLndwcHJfbGlua3MpO1xuXHRcdFx0d3Bwcl9saW5rc1trZXldID0gZTtcblx0XHRcdHRoaXMuc2V0U3RhdGUoeyB3cHByX2xpbmtzOiB3cHByX2xpbmtzIH0pO1xuXHRcdFx0dGhpcy5wcm9wcy5lZGl0UG9zdFN0YXR1cyh7IGVkaXRlZDogdHJ1ZSB9KTtcblx0XHR9XG5cdH0sIHtcblx0XHRrZXk6ICdhZGRCdXR0b24nLFxuXHRcdHZhbHVlOiBmdW5jdGlvbiBhZGRCdXR0b24oKSB7XG5cdFx0XHR2YXIgd3Bwcl9saW5rcyA9IF9leHRlbmRzKHt9LCB0aGlzLnN0YXRlLndwcHJfbGlua3MpO1xuXHRcdFx0d3Bwcl9saW5rc1snQnV5IE5vdyddID0gJyc7XG5cdFx0XHR0aGlzLnNldFN0YXRlKHsgd3Bwcl9saW5rczogd3Bwcl9saW5rcyB9KTtcblx0XHR9XG5cdH0sIHtcblx0XHRrZXk6ICdvbkNoYW5nZVJldmlld1ByaWNlJyxcblx0XHR2YWx1ZTogZnVuY3Rpb24gb25DaGFuZ2VSZXZpZXdQcmljZSh2YWx1ZSkge1xuXHRcdFx0dGhpcy5zZXRTdGF0ZSh7IGN3cF9yZXZfcHJpY2U6IHZhbHVlIH0pO1xuXHRcdFx0dGhpcy5wcm9wcy5lZGl0UG9zdFN0YXR1cyh7IGVkaXRlZDogdHJ1ZSB9KTtcblx0XHR9XG5cdH0sIHtcblx0XHRrZXk6ICdvbkNoYW5nZU9wdGlvblRleHQnLFxuXHRcdHZhbHVlOiBmdW5jdGlvbiBvbkNoYW5nZU9wdGlvblRleHQoZSwga2V5KSB7XG5cdFx0XHR2YXIgd3Bwcl9vcHRpb25zID0gX2V4dGVuZHMoe30sIHRoaXMuc3RhdGUud3Bwcl9vcHRpb25zKTtcblx0XHRcdHdwcHJfb3B0aW9uc1trZXldWyduYW1lJ10gPSBlO1xuXHRcdFx0dGhpcy5zZXRTdGF0ZSh7IHdwcHJfb3B0aW9uczogd3Bwcl9vcHRpb25zIH0pO1xuXHRcdFx0dGhpcy5wcm9wcy5lZGl0UG9zdFN0YXR1cyh7IGVkaXRlZDogdHJ1ZSB9KTtcblx0XHR9XG5cdH0sIHtcblx0XHRrZXk6ICdvbkNoYW5nZU9wdGlvbk51bWJlcicsXG5cdFx0dmFsdWU6IGZ1bmN0aW9uIG9uQ2hhbmdlT3B0aW9uTnVtYmVyKGUsIGtleSkge1xuXHRcdFx0dmFyIHdwcHJfb3B0aW9ucyA9IF9leHRlbmRzKHt9LCB0aGlzLnN0YXRlLndwcHJfb3B0aW9ucyk7XG5cdFx0XHRpZiAoZSA9PT0gJycpIGUgPSAwO1xuXHRcdFx0d3Bwcl9vcHRpb25zW2tleV1bJ3ZhbHVlJ10gPSBlO1xuXHRcdFx0dGhpcy5zZXRTdGF0ZSh7IHdwcHJfb3B0aW9uczogd3Bwcl9vcHRpb25zIH0pO1xuXHRcdFx0dGhpcy5wcm9wcy5lZGl0UG9zdFN0YXR1cyh7IGVkaXRlZDogdHJ1ZSB9KTtcblx0XHR9XG5cdH0sIHtcblx0XHRrZXk6ICdvbkNoYW5nZVNjaGVtYVR5cGUnLFxuXHRcdHZhbHVlOiBmdW5jdGlvbiBvbkNoYW5nZVNjaGVtYVR5cGUoZSwga2V5KSB7XG5cdFx0XHR2YXIgX3RoaXMyID0gdGhpcztcblxuXHRcdFx0aWYgKGUgPT09ICcnKSByZXR1cm47XG5cblx0XHRcdC8vIHJlbW92ZSBleGlzdGluZyBmaWVsZHMgZmlyc3QuXG5cdFx0XHR0aGlzLnNldFN0YXRlKHsgc2NoZW1hX2ZpZWxkczoge30sIHNjaGVtYV91cmw6ICcnIH0pO1xuXG5cdFx0XHR3cC5hcGlSZXF1ZXN0KHsgcGF0aDogJy93cHByL3YxL3NjaGVtYS1maWVsZHM/dHlwZT0nICsgZSB9KS50aGVuKGZ1bmN0aW9uIChkYXRhKSB7XG5cdFx0XHRcdF90aGlzMi5zZXRTdGF0ZSh7IHNjaGVtYV9maWVsZHM6IGRhdGEuZmllbGRzLCBzY2hlbWFfdXJsOiBkYXRhLnVybCwgd3Bwcl9yZXZpZXdfdHlwZTogZSB9KTtcblx0XHRcdFx0X3RoaXMyLnByb3BzLmVkaXRQb3N0U3RhdHVzKHsgZWRpdGVkOiB0cnVlIH0pO1xuXHRcdFx0fSwgZnVuY3Rpb24gKGVycikge1xuXHRcdFx0XHRyZXR1cm4gZXJyO1xuXHRcdFx0fSk7XG5cdFx0fVxuXHR9LCB7XG5cdFx0a2V5OiAnb25DaGFuZ2VTY2hlbWFGaWVsZCcsXG5cdFx0dmFsdWU6IGZ1bmN0aW9uIG9uQ2hhbmdlU2NoZW1hRmllbGQoZSwgZmllbGQpIHtcblx0XHRcdHZhciBmaWVsZHMgPSBfZXh0ZW5kcyh7fSwgdGhpcy5zdGF0ZS53cHByX3Jldmlld19jdXN0b21fZmllbGRzKTtcblx0XHRcdHZhciBzY2hlbWFfZmllbGRzID0gX2V4dGVuZHMoe30sIHRoaXMuc3RhdGUuc2NoZW1hX2ZpZWxkcyk7XG5cdFx0XHRmaWVsZHNbZmllbGRdID0gZTtcblx0XHRcdHRoaXMuc2V0U3RhdGUoeyB3cHByX3Jldmlld19jdXN0b21fZmllbGRzOiBmaWVsZHMgfSk7XG5cdFx0XHR0aGlzLnByb3BzLmVkaXRQb3N0U3RhdHVzKHsgZWRpdGVkOiB0cnVlIH0pO1xuXHRcdH1cblx0fSwge1xuXHRcdGtleTogJ2FkZE9wdGlvbicsXG5cdFx0dmFsdWU6IGZ1bmN0aW9uIGFkZE9wdGlvbigpIHtcblx0XHRcdHZhciBrZXkgPSBfT2JqZWN0JGtleXModGhpcy5zdGF0ZS53cHByX29wdGlvbnMpLmxlbmd0aCArIDE7XG5cdFx0XHR2YXIgd3Bwcl9vcHRpb25zID0gX2V4dGVuZHMoe30sIHRoaXMuc3RhdGUud3Bwcl9vcHRpb25zKTtcblx0XHRcdHdwcHJfb3B0aW9uc1trZXldID0ge1xuXHRcdFx0XHRuYW1lOiAnJyxcblx0XHRcdFx0dmFsdWU6IDBcblx0XHRcdH07XG5cdFx0XHR0aGlzLnNldFN0YXRlKHsgd3Bwcl9vcHRpb25zOiB3cHByX29wdGlvbnMgfSk7XG5cdFx0fVxuXHR9LCB7XG5cdFx0a2V5OiAnb25DaGFuZ2VQcm9UZXh0Jyxcblx0XHR2YWx1ZTogZnVuY3Rpb24gb25DaGFuZ2VQcm9UZXh0KGUsIGtleSkge1xuXHRcdFx0dmFyIHdwcHJfcHJvcyA9IF9leHRlbmRzKHt9LCB0aGlzLnN0YXRlLndwcHJfcHJvcyk7XG5cdFx0XHR3cHByX3Byb3Nba2V5XSA9IGU7XG5cdFx0XHR0aGlzLnNldFN0YXRlKHsgd3Bwcl9wcm9zOiB3cHByX3Byb3MgfSk7XG5cdFx0XHR0aGlzLnByb3BzLmVkaXRQb3N0U3RhdHVzKHsgZWRpdGVkOiB0cnVlIH0pO1xuXHRcdH1cblx0fSwge1xuXHRcdGtleTogJ2FkZFBybycsXG5cdFx0dmFsdWU6IGZ1bmN0aW9uIGFkZFBybygpIHtcblx0XHRcdHZhciBrZXkgPSBfT2JqZWN0JGtleXModGhpcy5zdGF0ZS53cHByX3Byb3MpLmxlbmd0aDtcblx0XHRcdHZhciB3cHByX3Byb3MgPSBfZXh0ZW5kcyh7fSwgdGhpcy5zdGF0ZS53cHByX3Byb3MpO1xuXHRcdFx0d3Bwcl9wcm9zW2tleV0gPSAnJztcblx0XHRcdHRoaXMuc2V0U3RhdGUoeyB3cHByX3Byb3M6IHdwcHJfcHJvcyB9KTtcblx0XHR9XG5cdH0sIHtcblx0XHRrZXk6ICdvbkNoYW5nZUNvblRleHQnLFxuXHRcdHZhbHVlOiBmdW5jdGlvbiBvbkNoYW5nZUNvblRleHQoZSwga2V5KSB7XG5cdFx0XHR2YXIgd3Bwcl9jb25zID0gX2V4dGVuZHMoe30sIHRoaXMuc3RhdGUud3Bwcl9jb25zKTtcblx0XHRcdHdwcHJfY29uc1trZXldID0gZTtcblx0XHRcdHRoaXMuc2V0U3RhdGUoeyB3cHByX2NvbnM6IHdwcHJfY29ucyB9KTtcblx0XHRcdHRoaXMucHJvcHMuZWRpdFBvc3RTdGF0dXMoeyBlZGl0ZWQ6IHRydWUgfSk7XG5cdFx0fVxuXHR9LCB7XG5cdFx0a2V5OiAnYWRkQ29uJyxcblx0XHR2YWx1ZTogZnVuY3Rpb24gYWRkQ29uKCkge1xuXHRcdFx0dmFyIGtleSA9IF9PYmplY3Qka2V5cyh0aGlzLnN0YXRlLndwcHJfY29ucykubGVuZ3RoO1xuXHRcdFx0dmFyIHdwcHJfY29ucyA9IF9leHRlbmRzKHt9LCB0aGlzLnN0YXRlLndwcHJfY29ucyk7XG5cdFx0XHR3cHByX2NvbnNba2V5XSA9ICcnO1xuXHRcdFx0dGhpcy5zZXRTdGF0ZSh7IHdwcHJfY29uczogd3Bwcl9jb25zIH0pO1xuXHRcdH1cblx0fSwge1xuXHRcdGtleTogJ2ltcG9ydFJldmlldycsXG5cdFx0dmFsdWU6IGZ1bmN0aW9uIGltcG9ydFJldmlldyhrZXkpIHtcblx0XHRcdHRoaXMuc2V0U3RhdGUoe1xuXHRcdFx0XHR3cHByX29wdGlvbnM6IHRoaXMucHJvcHMucG9zdHNba2V5XS53cHByX2RhdGEud3Bwcl9vcHRpb25zLFxuXHRcdFx0XHR3cHByX3Byb3M6IHRoaXMucHJvcHMucG9zdHNba2V5XS53cHByX2RhdGEud3Bwcl9wcm9zLFxuXHRcdFx0XHR3cHByX2NvbnM6IHRoaXMucHJvcHMucG9zdHNba2V5XS53cHByX2RhdGEud3Bwcl9jb25zXG5cdFx0XHR9KTtcblx0XHRcdHRoaXMucHJvcHMuZWRpdFBvc3RTdGF0dXMoeyBlZGl0ZWQ6IHRydWUgfSk7XG5cdFx0XHR0aGlzLnByb3BzLnNldFN0YXRlKHsgaXNPcGVuOiBmYWxzZSB9KTtcblx0XHR9XG5cdH0sIHtcblx0XHRrZXk6ICdyZW5kZXInLFxuXHRcdHZhbHVlOiBmdW5jdGlvbiByZW5kZXIoKSB7XG5cdFx0XHR2YXIgX3RoaXMzID0gdGhpcztcblxuXHRcdFx0cmV0dXJuIHdwLmVsZW1lbnQuY3JlYXRlRWxlbWVudChcblx0XHRcdFx0RnJhZ21lbnQsXG5cdFx0XHRcdG51bGwsXG5cdFx0XHRcdHdwLmVsZW1lbnQuY3JlYXRlRWxlbWVudChcblx0XHRcdFx0XHRQbHVnaW5Qb3N0U3RhdHVzSW5mbyxcblx0XHRcdFx0XHRudWxsLFxuXHRcdFx0XHRcdHdwLmVsZW1lbnQuY3JlYXRlRWxlbWVudChcblx0XHRcdFx0XHRcdCdsYWJlbCcsXG5cdFx0XHRcdFx0XHR7IGh0bWxGb3I6ICdpcy10aGlzLWEtcmV2aWV3JyB9LFxuXHRcdFx0XHRcdFx0X18oJ0lzIHRoaXMgcG9zdCBhIHJldmlldz8nKVxuXHRcdFx0XHRcdCksXG5cdFx0XHRcdFx0d3AuZWxlbWVudC5jcmVhdGVFbGVtZW50KEZvcm1Ub2dnbGUsIHtcblx0XHRcdFx0XHRcdGNoZWNrZWQ6IHRoaXMuc3RhdGUuY3dwX21ldGFfYm94X2NoZWNrID09PSAnWWVzJyA/IHRydWUgOiBmYWxzZSxcblx0XHRcdFx0XHRcdG9uQ2hhbmdlOiB0aGlzLnRvZ2dsZVJldmlld1N0YXR1cyxcblx0XHRcdFx0XHRcdGlkOiAnaXMtdGhpcy1hLXJldmlldydcblx0XHRcdFx0XHR9KVxuXHRcdFx0XHQpLFxuXHRcdFx0XHR0aGlzLnN0YXRlLmN3cF9tZXRhX2JveF9jaGVjayA9PT0gJ1llcycgJiYgW3dwLmVsZW1lbnQuY3JlYXRlRWxlbWVudChcblx0XHRcdFx0XHRQbHVnaW5TaWRlYmFyTW9yZU1lbnVJdGVtLFxuXHRcdFx0XHRcdHtcblx0XHRcdFx0XHRcdHRhcmdldDogJ3dwLXByb2R1Y3QtcmV2aWV3J1xuXHRcdFx0XHRcdH0sXG5cdFx0XHRcdFx0X18oJ1dQIFByb2R1Y3QgUmV2aWV3Jylcblx0XHRcdFx0KSwgd3AuZWxlbWVudC5jcmVhdGVFbGVtZW50KFxuXHRcdFx0XHRcdFBsdWdpblNpZGViYXIsXG5cdFx0XHRcdFx0e1xuXHRcdFx0XHRcdFx0bmFtZTogJ3dwLXByb2R1Y3QtcmV2aWV3Jyxcblx0XHRcdFx0XHRcdHRpdGxlOiBfXygnV1AgUHJvZHVjdCBSZXZpZXcnKVxuXHRcdFx0XHRcdH0sXG5cdFx0XHRcdFx0d3AuZWxlbWVudC5jcmVhdGVFbGVtZW50KFxuXHRcdFx0XHRcdFx0UGFuZWxCb2R5LFxuXHRcdFx0XHRcdFx0e1xuXHRcdFx0XHRcdFx0XHR0aXRsZTogX18oJ1Byb2R1Y3QgRGV0YWlscycpLFxuXHRcdFx0XHRcdFx0XHRjbGFzc05hbWU6ICd3cC1wcm9kdWN0LXJldmlldy1wcm9kdWN0LWRldGFpbHMnLFxuXHRcdFx0XHRcdFx0XHRpbml0aWFsT3BlbjogdHJ1ZVxuXHRcdFx0XHRcdFx0fSxcblx0XHRcdFx0XHRcdHdwcHJndXRlbi5pc1BybyAmJiB3cC5lbGVtZW50LmNyZWF0ZUVsZW1lbnQoUmFkaW9JbWFnZUNvbnRyb2wsIHtcblx0XHRcdFx0XHRcdFx0bGFiZWw6IF9fKCdSZXZpZXcgVGVtcGxhdGUnKSxcblx0XHRcdFx0XHRcdFx0c2VsZWN0ZWQ6IHRoaXMuc3RhdGUuX3dwcHJfcmV2aWV3X3RlbXBsYXRlLFxuXHRcdFx0XHRcdFx0XHRvcHRpb25zOiBbe1xuXHRcdFx0XHRcdFx0XHRcdGxhYmVsOiBfXygnRGVmYXVsdCcpLFxuXHRcdFx0XHRcdFx0XHRcdHNyYzogd3Bwcmd1dGVuLnBhdGggKyAnL2Fzc2V0cy9pbWcvdGVtcGxhdGVzL2RlZmF1bHQucG5nJyxcblx0XHRcdFx0XHRcdFx0XHR2YWx1ZTogJ2RlZmF1bHQnXG5cdFx0XHRcdFx0XHRcdH0sIHtcblx0XHRcdFx0XHRcdFx0XHRsYWJlbDogX18oJ1N0eWxlIDEnKSxcblx0XHRcdFx0XHRcdFx0XHRzcmM6IHdwcHJndXRlbi5wYXRoICsgJy9hc3NldHMvaW1nL3RlbXBsYXRlcy9zdHlsZTEucG5nJyxcblx0XHRcdFx0XHRcdFx0XHR2YWx1ZTogJ3N0eWxlMSdcblx0XHRcdFx0XHRcdFx0fSwge1xuXHRcdFx0XHRcdFx0XHRcdGxhYmVsOiBfXygnU3R5bGUgMicpLFxuXHRcdFx0XHRcdFx0XHRcdHNyYzogd3Bwcmd1dGVuLnBhdGggKyAnL2Fzc2V0cy9pbWcvdGVtcGxhdGVzL3N0eWxlMi5wbmcnLFxuXHRcdFx0XHRcdFx0XHRcdHZhbHVlOiAnc3R5bGUyJ1xuXHRcdFx0XHRcdFx0XHR9XSxcblx0XHRcdFx0XHRcdFx0b25DaGFuZ2U6IHRoaXMub25DaGFuZ2VUZW1wbGF0ZVxuXHRcdFx0XHRcdFx0fSksXG5cdFx0XHRcdFx0XHR0aGlzLnByb3BzLnBvc3RUeXBlICE9PSAnd3Bwcl9yZXZpZXcnICYmIFt3cC5lbGVtZW50LmNyZWF0ZUVsZW1lbnQoVGV4dENvbnRyb2wsIHtcblx0XHRcdFx0XHRcdFx0bGFiZWw6IF9fKCdQcm9kdWN0IE5hbWUnKSxcblx0XHRcdFx0XHRcdFx0dHlwZTogJ3RleHQnLFxuXHRcdFx0XHRcdFx0XHR2YWx1ZTogdGhpcy5zdGF0ZS5jd3BfcmV2X3Byb2R1Y3RfbmFtZSxcblx0XHRcdFx0XHRcdFx0b25DaGFuZ2U6IHRoaXMub25DaGFuZ2VSZXZpZXdUaXRsZVxuXHRcdFx0XHRcdFx0fSldLFxuXHRcdFx0XHRcdFx0d3AuZWxlbWVudC5jcmVhdGVFbGVtZW50KFxuXHRcdFx0XHRcdFx0XHQnZGl2Jyxcblx0XHRcdFx0XHRcdFx0eyBjbGFzc05hbWU6ICd3cC1wcm9kdWN0LXJldmlldy1zaWRlYmFyLWJhc2UtY29udHJvbCcgfSxcblx0XHRcdFx0XHRcdFx0d3AuZWxlbWVudC5jcmVhdGVFbGVtZW50KFxuXHRcdFx0XHRcdFx0XHRcdCdsYWJlbCcsXG5cdFx0XHRcdFx0XHRcdFx0eyBjbGFzc05hbWU6ICdibG9ja3MtYmFzZS1jb250cm9sX19sYWJlbCcsICdmb3InOiAnaW5zcGVjdG9yLW1lZGlhLXVwbG9hZCcgfSxcblx0XHRcdFx0XHRcdFx0XHRfXygnUHJvZHVjdCBJbWFnZScpXG5cdFx0XHRcdFx0XHRcdCksXG5cdFx0XHRcdFx0XHRcdHdwLmVsZW1lbnQuY3JlYXRlRWxlbWVudChNZWRpYVVwbG9hZCwge1xuXHRcdFx0XHRcdFx0XHRcdHR5cGU6ICdpbWFnZScsXG5cdFx0XHRcdFx0XHRcdFx0aWQ6ICdpbnNwZWN0b3ItbWVkaWEtdXBsb2FkJyxcblx0XHRcdFx0XHRcdFx0XHR2YWx1ZTogdGhpcy5zdGF0ZS5jd3BfcmV2X3Byb2R1Y3RfaW1hZ2UsXG5cdFx0XHRcdFx0XHRcdFx0b25TZWxlY3Q6IHRoaXMub25DaGFuZ2VSZXZpZXdJbWFnZSxcblx0XHRcdFx0XHRcdFx0XHRyZW5kZXI6IGZ1bmN0aW9uIHJlbmRlcihfcmVmMikge1xuXHRcdFx0XHRcdFx0XHRcdFx0dmFyIG9wZW4gPSBfcmVmMi5vcGVuO1xuXHRcdFx0XHRcdFx0XHRcdFx0cmV0dXJuIFtfdGhpczMuc3RhdGUuY3dwX3Jldl9wcm9kdWN0X2ltYWdlICE9PSAnJyAmJiBbd3AuZWxlbWVudC5jcmVhdGVFbGVtZW50KCdpbWcnLCB7XG5cdFx0XHRcdFx0XHRcdFx0XHRcdG9uQ2xpY2s6IG9wZW4sXG5cdFx0XHRcdFx0XHRcdFx0XHRcdHNyYzogX3RoaXMzLnN0YXRlLmN3cF9yZXZfcHJvZHVjdF9pbWFnZSxcblx0XHRcdFx0XHRcdFx0XHRcdFx0YWx0OiBfXygnUmV2aWV3IGltYWdlJylcblx0XHRcdFx0XHRcdFx0XHRcdH0pLCB3cC5lbGVtZW50LmNyZWF0ZUVsZW1lbnQoXG5cdFx0XHRcdFx0XHRcdFx0XHRcdEJ1dHRvbixcblx0XHRcdFx0XHRcdFx0XHRcdFx0e1xuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdGlzTGFyZ2U6IHRydWUsXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0b25DbGljazogZnVuY3Rpb24gb25DbGljaygpIHtcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdHJldHVybiBfdGhpczMuc2V0U3RhdGUoeyBjd3BfcmV2X3Byb2R1Y3RfaW1hZ2U6ICcnIH0pO1xuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdH0sXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0c3R5bGU6IHsgbWFyZ2luVG9wOiAnMTBweCcgfVxuXHRcdFx0XHRcdFx0XHRcdFx0XHR9LFxuXHRcdFx0XHRcdFx0XHRcdFx0XHRfXygnUmVtb3ZlIEltYWdlJylcblx0XHRcdFx0XHRcdFx0XHRcdCldLCB3cC5lbGVtZW50LmNyZWF0ZUVsZW1lbnQoXG5cdFx0XHRcdFx0XHRcdFx0XHRcdEJ1dHRvbixcblx0XHRcdFx0XHRcdFx0XHRcdFx0e1xuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdGlzTGFyZ2U6IHRydWUsXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0b25DbGljazogb3Blbixcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRzdHlsZTogeyBtYXJnaW5Ub3A6ICcxMHB4JyB9LFxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdGNsYXNzTmFtZTogX3RoaXMzLnN0YXRlLmN3cF9yZXZfcHJvZHVjdF9pbWFnZSA9PT0gJycgJiYgJ3dwcHJfaW1hZ2VfdXBsb2FkJ1xuXHRcdFx0XHRcdFx0XHRcdFx0XHR9LFxuXHRcdFx0XHRcdFx0XHRcdFx0XHRfXygnQ2hvb3NlIG9yIFVwbG9hZCBhbiBJbWFnZScpXG5cdFx0XHRcdFx0XHRcdFx0XHQpXTtcblx0XHRcdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0XHRcdH0pXG5cdFx0XHRcdFx0XHQpLFxuXHRcdFx0XHRcdFx0d3AuZWxlbWVudC5jcmVhdGVFbGVtZW50KFNlbGVjdENvbnRyb2wsIHtcblx0XHRcdFx0XHRcdFx0bGFiZWw6IF9fKCdQcm9kdWN0IEltYWdlIENsaWNrJyksXG5cdFx0XHRcdFx0XHRcdHZhbHVlOiB0aGlzLnN0YXRlLmN3cF9pbWFnZV9saW5rLFxuXHRcdFx0XHRcdFx0XHRvcHRpb25zOiBbe1xuXHRcdFx0XHRcdFx0XHRcdGxhYmVsOiBfXygnU2hvdyBXaG9sZSBJbWFnZScpLFxuXHRcdFx0XHRcdFx0XHRcdHZhbHVlOiAnaW1hZ2UnXG5cdFx0XHRcdFx0XHRcdH0sIHtcblx0XHRcdFx0XHRcdFx0XHRsYWJlbDogX18oJ09wZW4gQWZmaWxpYXRlIExpbmsnKSxcblx0XHRcdFx0XHRcdFx0XHR2YWx1ZTogJ2xpbmsnXG5cdFx0XHRcdFx0XHRcdH1dLFxuXHRcdFx0XHRcdFx0XHRvbkNoYW5nZTogdGhpcy5vbkNoYW5nZUltYWdlTGlua1xuXHRcdFx0XHRcdFx0fSksXG5cdFx0XHRcdFx0XHR3cC5lbGVtZW50LmNyZWF0ZUVsZW1lbnQoXG5cdFx0XHRcdFx0XHRcdCdkaXYnLFxuXHRcdFx0XHRcdFx0XHR7IGNsYXNzTmFtZTogJ3dwcHItcmV2aWV3LWxpbmtzLWxpc3QnIH0sXG5cdFx0XHRcdFx0XHRcdF9PYmplY3Qka2V5cyh0aGlzLnN0YXRlLndwcHJfbGlua3MpLm1hcChmdW5jdGlvbiAoa2V5KSB7XG5cdFx0XHRcdFx0XHRcdFx0cmV0dXJuIHdwLmVsZW1lbnQuY3JlYXRlRWxlbWVudChcblx0XHRcdFx0XHRcdFx0XHRcdEZyYWdtZW50LFxuXHRcdFx0XHRcdFx0XHRcdFx0bnVsbCxcblx0XHRcdFx0XHRcdFx0XHRcdHdwLmVsZW1lbnQuY3JlYXRlRWxlbWVudChUZXh0Q29udHJvbCwge1xuXHRcdFx0XHRcdFx0XHRcdFx0XHRsYWJlbDogX18oJ0FmZmlsaWF0ZSBCdXR0b24gVGV4dCcpLFxuXHRcdFx0XHRcdFx0XHRcdFx0XHR0eXBlOiAndGV4dCcsXG5cdFx0XHRcdFx0XHRcdFx0XHRcdHZhbHVlOiBrZXkgIT0gMSA/IGtleSA6ICcnLFxuXHRcdFx0XHRcdFx0XHRcdFx0XHRvbkNoYW5nZTogZnVuY3Rpb24gb25DaGFuZ2UoZSkge1xuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdHJldHVybiBfdGhpczMub25DaGFuZ2VSZXZpZXdBZmZpbGlhdGVUaXRsZShlLCBrZXkpO1xuXHRcdFx0XHRcdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0XHRcdFx0XHR9KSxcblx0XHRcdFx0XHRcdFx0XHRcdHdwLmVsZW1lbnQuY3JlYXRlRWxlbWVudChUZXh0Q29udHJvbCwge1xuXHRcdFx0XHRcdFx0XHRcdFx0XHRsYWJlbDogX18oJ0FmZmlsaWF0ZSBCdXR0b24gTGluaycpLFxuXHRcdFx0XHRcdFx0XHRcdFx0XHR0eXBlOiAndXJsJyxcblx0XHRcdFx0XHRcdFx0XHRcdFx0dmFsdWU6IF90aGlzMy5zdGF0ZS53cHByX2xpbmtzW2tleV0sXG5cdFx0XHRcdFx0XHRcdFx0XHRcdG9uQ2hhbmdlOiBmdW5jdGlvbiBvbkNoYW5nZShlKSB7XG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0cmV0dXJuIF90aGlzMy5vbkNoYW5nZVJldmlld0FmZmlsaWF0ZUxpbmsoZSwga2V5KTtcblx0XHRcdFx0XHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdFx0XHRcdFx0fSlcblx0XHRcdFx0XHRcdFx0XHQpO1xuXHRcdFx0XHRcdFx0XHR9KSxcblx0XHRcdFx0XHRcdFx0X09iamVjdCRrZXlzKHRoaXMuc3RhdGUud3Bwcl9saW5rcykubGVuZ3RoIDwgMiAmJiB3cC5lbGVtZW50LmNyZWF0ZUVsZW1lbnQoXG5cdFx0XHRcdFx0XHRcdFx0QnV0dG9uLFxuXHRcdFx0XHRcdFx0XHRcdHtcblx0XHRcdFx0XHRcdFx0XHRcdGlzTGFyZ2U6IHRydWUsXG5cdFx0XHRcdFx0XHRcdFx0XHRvbkNsaWNrOiB0aGlzLmFkZEJ1dHRvblxuXHRcdFx0XHRcdFx0XHRcdH0sXG5cdFx0XHRcdFx0XHRcdFx0X18oJ0FkZCBhbm90aGVyIGJ1dHRvbicpXG5cdFx0XHRcdFx0XHRcdClcblx0XHRcdFx0XHRcdCksXG5cdFx0XHRcdFx0XHR3cC5lbGVtZW50LmNyZWF0ZUVsZW1lbnQoVGV4dENvbnRyb2wsIHtcblx0XHRcdFx0XHRcdFx0bGFiZWw6IF9fKCdQcm9kdWN0IFByaWNlJyksXG5cdFx0XHRcdFx0XHRcdHR5cGU6ICd0ZXh0Jyxcblx0XHRcdFx0XHRcdFx0dmFsdWU6IHRoaXMuc3RhdGUuY3dwX3Jldl9wcmljZSxcblx0XHRcdFx0XHRcdFx0b25DaGFuZ2U6IHRoaXMub25DaGFuZ2VSZXZpZXdQcmljZVxuXHRcdFx0XHRcdFx0fSlcblx0XHRcdFx0XHQpLFxuXHRcdFx0XHRcdHdwLmVsZW1lbnQuY3JlYXRlRWxlbWVudChcblx0XHRcdFx0XHRcdFBhbmVsQm9keSxcblx0XHRcdFx0XHRcdHtcblx0XHRcdFx0XHRcdFx0dGl0bGU6IF9fKCdQcm9kdWN0IE9wdGlvbnMnKSxcblx0XHRcdFx0XHRcdFx0Y2xhc3NOYW1lOiAnd3AtcHJvZHVjdC1yZXZpZXctcHJvZHVjdC1vcHRpb25zJyxcblx0XHRcdFx0XHRcdFx0aW5pdGlhbE9wZW46IGZhbHNlXG5cdFx0XHRcdFx0XHR9LFxuXHRcdFx0XHRcdFx0d3AuZWxlbWVudC5jcmVhdGVFbGVtZW50KFxuXHRcdFx0XHRcdFx0XHQnZGl2Jyxcblx0XHRcdFx0XHRcdFx0eyBjbGFzc05hbWU6ICd3cHByLXJldmlldy1vcHRpb25zLWxpc3QnIH0sXG5cdFx0XHRcdFx0XHRcdF9PYmplY3Qka2V5cyh0aGlzLnN0YXRlLndwcHJfb3B0aW9ucykubWFwKGZ1bmN0aW9uIChrZXkpIHtcblx0XHRcdFx0XHRcdFx0XHRyZXR1cm4gd3AuZWxlbWVudC5jcmVhdGVFbGVtZW50KFxuXHRcdFx0XHRcdFx0XHRcdFx0J2RpdicsXG5cdFx0XHRcdFx0XHRcdFx0XHR7IGNsYXNzTmFtZTogJ3dwcHItcmV2aWV3LW9wdGlvbnMtaXRlbScgfSxcblx0XHRcdFx0XHRcdFx0XHRcdHdwLmVsZW1lbnQuY3JlYXRlRWxlbWVudChcblx0XHRcdFx0XHRcdFx0XHRcdFx0J2xhYmVsJyxcblx0XHRcdFx0XHRcdFx0XHRcdFx0eyAnZm9yJzogJ3dwcHItb3B0aW9uLWl0ZW0tJyArIGtleSB9LFxuXHRcdFx0XHRcdFx0XHRcdFx0XHRrZXlcblx0XHRcdFx0XHRcdFx0XHRcdCksXG5cdFx0XHRcdFx0XHRcdFx0XHR3cC5lbGVtZW50LmNyZWF0ZUVsZW1lbnQoVGV4dENvbnRyb2wsIHtcblx0XHRcdFx0XHRcdFx0XHRcdFx0dHlwZTogJ3RleHQnLFxuXHRcdFx0XHRcdFx0XHRcdFx0XHRpZDogJ3dwcHItb3B0aW9uLWl0ZW0tJyArIGtleSxcblx0XHRcdFx0XHRcdFx0XHRcdFx0Y2xhc3NOYW1lOiAnd3Bwci10ZXh0Jyxcblx0XHRcdFx0XHRcdFx0XHRcdFx0cGxhY2Vob2xkZXI6IF9fKCdPcHRpb24nKSxcblx0XHRcdFx0XHRcdFx0XHRcdFx0dmFsdWU6IF90aGlzMy5zdGF0ZS53cHByX29wdGlvbnNba2V5XS5uYW1lLFxuXHRcdFx0XHRcdFx0XHRcdFx0XHRvbkNoYW5nZTogZnVuY3Rpb24gb25DaGFuZ2UoZSkge1xuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdHJldHVybiBfdGhpczMub25DaGFuZ2VPcHRpb25UZXh0KGUsIGtleSk7XG5cdFx0XHRcdFx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHRcdFx0XHRcdH0pLFxuXHRcdFx0XHRcdFx0XHRcdFx0d3AuZWxlbWVudC5jcmVhdGVFbGVtZW50KFRleHRDb250cm9sLCB7XG5cdFx0XHRcdFx0XHRcdFx0XHRcdHR5cGU6ICdudW1iZXInLFxuXHRcdFx0XHRcdFx0XHRcdFx0XHRjbGFzc05hbWU6ICd3cHByLXRleHQgd3Bwci1vcHRpb24tbnVtYmVyJyxcblx0XHRcdFx0XHRcdFx0XHRcdFx0cGxhY2Vob2xkZXI6IF9fKCcwJyksXG5cdFx0XHRcdFx0XHRcdFx0XHRcdG1pbjogMCxcblx0XHRcdFx0XHRcdFx0XHRcdFx0bWF4OiAxMDAsXG5cdFx0XHRcdFx0XHRcdFx0XHRcdHZhbHVlOiBfdGhpczMuc3RhdGUud3Bwcl9vcHRpb25zW2tleV0udmFsdWUsXG5cdFx0XHRcdFx0XHRcdFx0XHRcdG9uQ2hhbmdlOiBmdW5jdGlvbiBvbkNoYW5nZShlKSB7XG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0cmV0dXJuIF90aGlzMy5vbkNoYW5nZU9wdGlvbk51bWJlcihlLCBrZXkpO1xuXHRcdFx0XHRcdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0XHRcdFx0XHR9KVxuXHRcdFx0XHRcdFx0XHRcdCk7XG5cdFx0XHRcdFx0XHRcdH0pLFxuXHRcdFx0XHRcdFx0XHRfT2JqZWN0JGtleXModGhpcy5zdGF0ZS53cHByX29wdGlvbnMpLmxlbmd0aCA8IHdwcHJndXRlbi5sZW5ndGggJiYgd3AuZWxlbWVudC5jcmVhdGVFbGVtZW50KFxuXHRcdFx0XHRcdFx0XHRcdEJ1dHRvbixcblx0XHRcdFx0XHRcdFx0XHR7XG5cdFx0XHRcdFx0XHRcdFx0XHRpc0xhcmdlOiB0cnVlLFxuXHRcdFx0XHRcdFx0XHRcdFx0b25DbGljazogdGhpcy5hZGRPcHRpb25cblx0XHRcdFx0XHRcdFx0XHR9LFxuXHRcdFx0XHRcdFx0XHRcdF9fKCdBZGQgYW5vdGhlciBvcHRpb24nKVxuXHRcdFx0XHRcdFx0XHQpXG5cdFx0XHRcdFx0XHQpXG5cdFx0XHRcdFx0KSxcblx0XHRcdFx0XHR3cC5lbGVtZW50LmNyZWF0ZUVsZW1lbnQoXG5cdFx0XHRcdFx0XHRQYW5lbEJvZHksXG5cdFx0XHRcdFx0XHR7XG5cdFx0XHRcdFx0XHRcdHRpdGxlOiBfXygnUHJvIEZlYXR1cmVzJyksXG5cdFx0XHRcdFx0XHRcdGNsYXNzTmFtZTogJ3dwLXByb2R1Y3QtcmV2aWV3LXByb2R1Y3QtcHJvcycsXG5cdFx0XHRcdFx0XHRcdGluaXRpYWxPcGVuOiBmYWxzZVxuXHRcdFx0XHRcdFx0fSxcblx0XHRcdFx0XHRcdHdwLmVsZW1lbnQuY3JlYXRlRWxlbWVudChcblx0XHRcdFx0XHRcdFx0J2RpdicsXG5cdFx0XHRcdFx0XHRcdHsgY2xhc3NOYW1lOiAnd3Bwci1yZXZpZXctcHJvLWxpc3QnIH0sXG5cdFx0XHRcdFx0XHRcdF9PYmplY3Qka2V5cyh0aGlzLnN0YXRlLndwcHJfcHJvcykubWFwKGZ1bmN0aW9uIChrZXkpIHtcblx0XHRcdFx0XHRcdFx0XHRyZXR1cm4gd3AuZWxlbWVudC5jcmVhdGVFbGVtZW50KFxuXHRcdFx0XHRcdFx0XHRcdFx0J2RpdicsXG5cdFx0XHRcdFx0XHRcdFx0XHR7IGNsYXNzTmFtZTogJ3dwcHItcmV2aWV3LXByby1pdGVtJyB9LFxuXHRcdFx0XHRcdFx0XHRcdFx0d3AuZWxlbWVudC5jcmVhdGVFbGVtZW50KFxuXHRcdFx0XHRcdFx0XHRcdFx0XHQnbGFiZWwnLFxuXHRcdFx0XHRcdFx0XHRcdFx0XHR7ICdmb3InOiAnd3Bwci1wcm8taXRlbS0nICsga2V5IH0sXG5cdFx0XHRcdFx0XHRcdFx0XHRcdHBhcnNlSW50KGtleSkgKyAxXG5cdFx0XHRcdFx0XHRcdFx0XHQpLFxuXHRcdFx0XHRcdFx0XHRcdFx0d3AuZWxlbWVudC5jcmVhdGVFbGVtZW50KFRleHRDb250cm9sLCB7XG5cdFx0XHRcdFx0XHRcdFx0XHRcdHR5cGU6ICd0ZXh0Jyxcblx0XHRcdFx0XHRcdFx0XHRcdFx0aWQ6ICd3cHByLXByby1pdGVtLScgKyBrZXksXG5cdFx0XHRcdFx0XHRcdFx0XHRcdGNsYXNzTmFtZTogJ3dwcHItdGV4dCcsXG5cdFx0XHRcdFx0XHRcdFx0XHRcdHBsYWNlaG9sZGVyOiBfXygnT3B0aW9uJyksXG5cdFx0XHRcdFx0XHRcdFx0XHRcdHZhbHVlOiBfdGhpczMuc3RhdGUud3Bwcl9wcm9zW2tleV0sXG5cdFx0XHRcdFx0XHRcdFx0XHRcdG9uQ2hhbmdlOiBmdW5jdGlvbiBvbkNoYW5nZShlKSB7XG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0cmV0dXJuIF90aGlzMy5vbkNoYW5nZVByb1RleHQoZSwga2V5KTtcblx0XHRcdFx0XHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdFx0XHRcdFx0fSlcblx0XHRcdFx0XHRcdFx0XHQpO1xuXHRcdFx0XHRcdFx0XHR9KSxcblx0XHRcdFx0XHRcdFx0X09iamVjdCRrZXlzKHRoaXMuc3RhdGUud3Bwcl9wcm9zKS5sZW5ndGggPCB3cHByZ3V0ZW4ubGVuZ3RoICYmIHdwLmVsZW1lbnQuY3JlYXRlRWxlbWVudChcblx0XHRcdFx0XHRcdFx0XHRCdXR0b24sXG5cdFx0XHRcdFx0XHRcdFx0e1xuXHRcdFx0XHRcdFx0XHRcdFx0aXNMYXJnZTogdHJ1ZSxcblx0XHRcdFx0XHRcdFx0XHRcdG9uQ2xpY2s6IHRoaXMuYWRkUHJvXG5cdFx0XHRcdFx0XHRcdFx0fSxcblx0XHRcdFx0XHRcdFx0XHRfXygnQWRkIGFub3RoZXIgb3B0aW9uJylcblx0XHRcdFx0XHRcdFx0KVxuXHRcdFx0XHRcdFx0KVxuXHRcdFx0XHRcdCksXG5cdFx0XHRcdFx0d3AuZWxlbWVudC5jcmVhdGVFbGVtZW50KFxuXHRcdFx0XHRcdFx0UGFuZWxCb2R5LFxuXHRcdFx0XHRcdFx0e1xuXHRcdFx0XHRcdFx0XHR0aXRsZTogX18oJ0NvbiBGZWF0dXJlcycpLFxuXHRcdFx0XHRcdFx0XHRjbGFzc05hbWU6ICd3cC1wcm9kdWN0LXJldmlldy1wcm9kdWN0LWNvbnMnLFxuXHRcdFx0XHRcdFx0XHRpbml0aWFsT3BlbjogZmFsc2Vcblx0XHRcdFx0XHRcdH0sXG5cdFx0XHRcdFx0XHR3cC5lbGVtZW50LmNyZWF0ZUVsZW1lbnQoXG5cdFx0XHRcdFx0XHRcdCdkaXYnLFxuXHRcdFx0XHRcdFx0XHR7IGNsYXNzTmFtZTogJ3dwcHItcmV2aWV3LWNvbi1saXN0JyB9LFxuXHRcdFx0XHRcdFx0XHRfT2JqZWN0JGtleXModGhpcy5zdGF0ZS53cHByX2NvbnMpLm1hcChmdW5jdGlvbiAoa2V5KSB7XG5cdFx0XHRcdFx0XHRcdFx0cmV0dXJuIHdwLmVsZW1lbnQuY3JlYXRlRWxlbWVudChcblx0XHRcdFx0XHRcdFx0XHRcdCdkaXYnLFxuXHRcdFx0XHRcdFx0XHRcdFx0eyBjbGFzc05hbWU6ICd3cHByLXJldmlldy1jb24taXRlbScgfSxcblx0XHRcdFx0XHRcdFx0XHRcdHdwLmVsZW1lbnQuY3JlYXRlRWxlbWVudChcblx0XHRcdFx0XHRcdFx0XHRcdFx0J2xhYmVsJyxcblx0XHRcdFx0XHRcdFx0XHRcdFx0eyAnZm9yJzogJ3dwcHItY29uLWl0ZW0tJyArIGtleSB9LFxuXHRcdFx0XHRcdFx0XHRcdFx0XHRwYXJzZUludChrZXkpICsgMVxuXHRcdFx0XHRcdFx0XHRcdFx0KSxcblx0XHRcdFx0XHRcdFx0XHRcdHdwLmVsZW1lbnQuY3JlYXRlRWxlbWVudChUZXh0Q29udHJvbCwge1xuXHRcdFx0XHRcdFx0XHRcdFx0XHR0eXBlOiAndGV4dCcsXG5cdFx0XHRcdFx0XHRcdFx0XHRcdGlkOiAnd3Bwci1jb24taXRlbS0nICsga2V5LFxuXHRcdFx0XHRcdFx0XHRcdFx0XHRjbGFzc05hbWU6ICd3cHByLXRleHQnLFxuXHRcdFx0XHRcdFx0XHRcdFx0XHRwbGFjZWhvbGRlcjogX18oJ09wdGlvbicpLFxuXHRcdFx0XHRcdFx0XHRcdFx0XHR2YWx1ZTogX3RoaXMzLnN0YXRlLndwcHJfY29uc1trZXldLFxuXHRcdFx0XHRcdFx0XHRcdFx0XHRvbkNoYW5nZTogZnVuY3Rpb24gb25DaGFuZ2UoZSkge1xuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdHJldHVybiBfdGhpczMub25DaGFuZ2VDb25UZXh0KGUsIGtleSk7XG5cdFx0XHRcdFx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHRcdFx0XHRcdH0pXG5cdFx0XHRcdFx0XHRcdFx0KTtcblx0XHRcdFx0XHRcdFx0fSksXG5cdFx0XHRcdFx0XHRcdF9PYmplY3Qka2V5cyh0aGlzLnN0YXRlLndwcHJfY29ucykubGVuZ3RoIDwgd3Bwcmd1dGVuLmxlbmd0aCAmJiB3cC5lbGVtZW50LmNyZWF0ZUVsZW1lbnQoXG5cdFx0XHRcdFx0XHRcdFx0QnV0dG9uLFxuXHRcdFx0XHRcdFx0XHRcdHtcblx0XHRcdFx0XHRcdFx0XHRcdGlzTGFyZ2U6IHRydWUsXG5cdFx0XHRcdFx0XHRcdFx0XHRvbkNsaWNrOiB0aGlzLmFkZENvblxuXHRcdFx0XHRcdFx0XHRcdH0sXG5cdFx0XHRcdFx0XHRcdFx0X18oJ0FkZCBhbm90aGVyIG9wdGlvbicpXG5cdFx0XHRcdFx0XHRcdClcblx0XHRcdFx0XHRcdClcblx0XHRcdFx0XHQpLFxuXHRcdFx0XHRcdHdwLmVsZW1lbnQuY3JlYXRlRWxlbWVudChcblx0XHRcdFx0XHRcdFBhbmVsQm9keSxcblx0XHRcdFx0XHRcdHtcblx0XHRcdFx0XHRcdFx0dGl0bGU6IF9fKCdTY2hlbWEgRGV0YWlscycpLFxuXHRcdFx0XHRcdFx0XHRjbGFzc05hbWU6ICd3cC1wcm9kdWN0LXJldmlldy1zY2hlbWEnLFxuXHRcdFx0XHRcdFx0XHRpbml0aWFsT3BlbjogZmFsc2Vcblx0XHRcdFx0XHRcdH0sXG5cdFx0XHRcdFx0XHR3cC5lbGVtZW50LmNyZWF0ZUVsZW1lbnQoXG5cdFx0XHRcdFx0XHRcdCdkaXYnLFxuXHRcdFx0XHRcdFx0XHR7IGNsYXNzTmFtZTogJ3dwcHItcmV2aWV3LXNjaGVtYScgfSxcblx0XHRcdFx0XHRcdFx0d3AuZWxlbWVudC5jcmVhdGVFbGVtZW50KFNlbGVjdENvbnRyb2wsIHtcblx0XHRcdFx0XHRcdFx0XHRsYWJlbDogX18oJ1JldmlldyBUeXBlJyksXG5cdFx0XHRcdFx0XHRcdFx0dmFsdWU6IHRoaXMuc3RhdGUud3Bwcl9yZXZpZXdfdHlwZSxcblx0XHRcdFx0XHRcdFx0XHRvcHRpb25zOiB3cHByZ3V0ZW4uc2NoZW1hX3R5cGVzLFxuXHRcdFx0XHRcdFx0XHRcdG9uQ2hhbmdlOiB0aGlzLm9uQ2hhbmdlU2NoZW1hVHlwZVxuXHRcdFx0XHRcdFx0XHR9KVxuXHRcdFx0XHRcdFx0KSxcblx0XHRcdFx0XHRcdHdwLmVsZW1lbnQuY3JlYXRlRWxlbWVudChcblx0XHRcdFx0XHRcdFx0J2RpdicsXG5cdFx0XHRcdFx0XHRcdHsgY2xhc3NOYW1lOiAnd3Bwci1yZXZpZXctc2NoZW1hLWZpZWxkcycgfSxcblx0XHRcdFx0XHRcdFx0ISF0aGlzLnN0YXRlLnNjaGVtYV91cmwgJiYgd3AuZWxlbWVudC5jcmVhdGVFbGVtZW50KFxuXHRcdFx0XHRcdFx0XHRcdEV4dGVybmFsTGluayxcblx0XHRcdFx0XHRcdFx0XHR7IGhyZWY6IHRoaXMuc3RhdGUuc2NoZW1hX3VybCwgdGl0bGU6IF9fKCdWaWV3IFNjaGVtYSBEZXNjcmlwdGlvbiAnKSB9LFxuXHRcdFx0XHRcdFx0XHRcdF9fKCdWaWV3IFNjaGVtYSBEZXNjcmlwdGlvbiAnKVxuXHRcdFx0XHRcdFx0XHQpLFxuXHRcdFx0XHRcdFx0XHRfT2JqZWN0JHZhbHVlcyh0aGlzLnN0YXRlLnNjaGVtYV9maWVsZHMpLm1hcChmdW5jdGlvbiAoZmllbGQsIGtleSkge1xuXHRcdFx0XHRcdFx0XHRcdHJldHVybiB3cC5lbGVtZW50LmNyZWF0ZUVsZW1lbnQoXG5cdFx0XHRcdFx0XHRcdFx0XHQnZGl2Jyxcblx0XHRcdFx0XHRcdFx0XHRcdHsgY2xhc3NOYW1lOiAnd3Bwci1yZXZpZXctc2NoZW1hLWZpZWxkJyB9LFxuXHRcdFx0XHRcdFx0XHRcdFx0d3AuZWxlbWVudC5jcmVhdGVFbGVtZW50KFxuXHRcdFx0XHRcdFx0XHRcdFx0XHQnbGFiZWwnLFxuXHRcdFx0XHRcdFx0XHRcdFx0XHR7ICdmb3InOiAnd3Bwci1zY2hlbWEtZmllbGQtJyArIGtleSB9LFxuXHRcdFx0XHRcdFx0XHRcdFx0XHRmaWVsZFxuXHRcdFx0XHRcdFx0XHRcdFx0KSxcblx0XHRcdFx0XHRcdFx0XHRcdHdwLmVsZW1lbnQuY3JlYXRlRWxlbWVudChUZXh0Q29udHJvbCwge1xuXHRcdFx0XHRcdFx0XHRcdFx0XHR0eXBlOiAndGV4dCcsXG5cdFx0XHRcdFx0XHRcdFx0XHRcdGlkOiAnd3Bwci1zY2hlbWEtZmllbGQtJyArIGtleSxcblx0XHRcdFx0XHRcdFx0XHRcdFx0bmFtZTogJ3dwcHItc2NoZW1hLWZpZWxkLScgKyBmaWVsZCxcblx0XHRcdFx0XHRcdFx0XHRcdFx0Y2xhc3NOYW1lOiAnd3Bwci10ZXh0Jyxcblx0XHRcdFx0XHRcdFx0XHRcdFx0dmFsdWU6IF90aGlzMy5zdGF0ZS53cHByX3Jldmlld19jdXN0b21fZmllbGRzW2ZpZWxkXSA/IF90aGlzMy5zdGF0ZS53cHByX3Jldmlld19jdXN0b21fZmllbGRzW2ZpZWxkXSA6ICcnLFxuXHRcdFx0XHRcdFx0XHRcdFx0XHRvbkNoYW5nZTogZnVuY3Rpb24gb25DaGFuZ2UoZSkge1xuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdHJldHVybiBfdGhpczMub25DaGFuZ2VTY2hlbWFGaWVsZChlLCBmaWVsZCk7XG5cdFx0XHRcdFx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHRcdFx0XHRcdH0pXG5cdFx0XHRcdFx0XHRcdFx0KTtcblx0XHRcdFx0XHRcdFx0fSlcblx0XHRcdFx0XHRcdClcblx0XHRcdFx0XHQpLFxuXHRcdFx0XHRcdHdwcHJndXRlbi5pc1BybyAmJiB3cC5lbGVtZW50LmNyZWF0ZUVsZW1lbnQoXG5cdFx0XHRcdFx0XHQnZGl2Jyxcblx0XHRcdFx0XHRcdHsgY2xhc3NOYW1lOiAnd3Bwci1yZXZpZXctaW1wb3J0LXJldmlldy1idXR0b24nIH0sXG5cdFx0XHRcdFx0XHR3cC5lbGVtZW50LmNyZWF0ZUVsZW1lbnQoXG5cdFx0XHRcdFx0XHRcdEJ1dHRvbixcblx0XHRcdFx0XHRcdFx0e1xuXHRcdFx0XHRcdFx0XHRcdGlzTGFyZ2U6IHRydWUsXG5cdFx0XHRcdFx0XHRcdFx0aXNQcmltYXJ5OiB0cnVlLFxuXHRcdFx0XHRcdFx0XHRcdG9uQ2xpY2s6IGZ1bmN0aW9uIG9uQ2xpY2soKSB7XG5cdFx0XHRcdFx0XHRcdFx0XHRyZXR1cm4gX3RoaXMzLnByb3BzLnNldFN0YXRlKHsgaXNPcGVuOiB0cnVlIH0pO1xuXHRcdFx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHRcdFx0fSxcblx0XHRcdFx0XHRcdFx0X18oJ0ltcG9ydCBSZXZpZXcnKVxuXHRcdFx0XHRcdFx0KSxcblx0XHRcdFx0XHRcdHRoaXMucHJvcHMuaXNPcGVuID8gd3AuZWxlbWVudC5jcmVhdGVFbGVtZW50KFxuXHRcdFx0XHRcdFx0XHRNb2RhbCxcblx0XHRcdFx0XHRcdFx0e1xuXHRcdFx0XHRcdFx0XHRcdHRpdGxlOiBfXygnSW1wb3J0IFJldmlldycpLFxuXHRcdFx0XHRcdFx0XHRcdGNsYXNzTmFtZTogJ3dwcHItcmV2aWV3LWltcG9ydC1tb2RhbCcsXG5cdFx0XHRcdFx0XHRcdFx0b25SZXF1ZXN0Q2xvc2U6IGZ1bmN0aW9uIG9uUmVxdWVzdENsb3NlKCkge1xuXHRcdFx0XHRcdFx0XHRcdFx0cmV0dXJuIF90aGlzMy5wcm9wcy5zZXRTdGF0ZSh7IGlzT3BlbjogZmFsc2UgfSk7XG5cdFx0XHRcdFx0XHRcdFx0fSB9LFxuXHRcdFx0XHRcdFx0XHR0aGlzLnByb3BzLnBvc3RzICYmIF9PYmplY3Qka2V5cyh0aGlzLnByb3BzLnBvc3RzKS5tYXAoZnVuY3Rpb24gKGtleSkge1xuXHRcdFx0XHRcdFx0XHRcdHJldHVybiB3cC5lbGVtZW50LmNyZWF0ZUVsZW1lbnQoXG5cdFx0XHRcdFx0XHRcdFx0XHRQYW5lbEJvZHksXG5cdFx0XHRcdFx0XHRcdFx0XHR7XG5cdFx0XHRcdFx0XHRcdFx0XHRcdHRpdGxlOiBfdGhpczMucHJvcHMucG9zdHNba2V5XS50aXRsZS5yYXcsXG5cdFx0XHRcdFx0XHRcdFx0XHRcdGluaXRpYWxPcGVuOiBmYWxzZVxuXHRcdFx0XHRcdFx0XHRcdFx0fSxcblx0XHRcdFx0XHRcdFx0XHRcdHdwLmVsZW1lbnQuY3JlYXRlRWxlbWVudChcblx0XHRcdFx0XHRcdFx0XHRcdFx0J2RpdicsXG5cdFx0XHRcdFx0XHRcdFx0XHRcdHsgY2xhc3NOYW1lOiAnY3dwX3BpdGVtX2luZm8nIH0sXG5cdFx0XHRcdFx0XHRcdFx0XHRcdHdwLmVsZW1lbnQuY3JlYXRlRWxlbWVudChcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHQndWwnLFxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdHsgJ2NsYXNzJzogJ2N3cF9waXRlbV9vcHRpb25zX2NvbnRlbnQnIH0sXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0d3AuZWxlbWVudC5jcmVhdGVFbGVtZW50KFxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0J2g0Jyxcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdG51bGwsXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRfXygnT3B0aW9ucycpXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0KSxcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRfT2JqZWN0JGtleXMoX3RoaXMzLnByb3BzLnBvc3RzW2tleV0ud3Bwcl9kYXRhLndwcHJfb3B0aW9ucykubWFwKGZ1bmN0aW9uIChpKSB7XG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRyZXR1cm4gd3AuZWxlbWVudC5jcmVhdGVFbGVtZW50KFxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHQnbGknLFxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRudWxsLFxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRfdGhpczMucHJvcHMucG9zdHNba2V5XS53cHByX2RhdGEud3Bwcl9vcHRpb25zW2ldLm5hbWVcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdCk7XG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0fSlcblx0XHRcdFx0XHRcdFx0XHRcdFx0KSxcblx0XHRcdFx0XHRcdFx0XHRcdFx0d3AuZWxlbWVudC5jcmVhdGVFbGVtZW50KFxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdCd1bCcsXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0eyAnY2xhc3MnOiAnY3dwX3BpdGVtX29wdGlvbnNfcHJvcycgfSxcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHR3cC5lbGVtZW50LmNyZWF0ZUVsZW1lbnQoXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHQnaDQnLFxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0bnVsbCxcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdF9fKCdQcm9zJylcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHQpLFxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdF9PYmplY3Qka2V5cyhfdGhpczMucHJvcHMucG9zdHNba2V5XS53cHByX2RhdGEud3Bwcl9wcm9zKS5tYXAoZnVuY3Rpb24gKGkpIHtcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdHJldHVybiB3cC5lbGVtZW50LmNyZWF0ZUVsZW1lbnQoXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdCdsaScsXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdG51bGwsXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdF90aGlzMy5wcm9wcy5wb3N0c1trZXldLndwcHJfZGF0YS53cHByX3Byb3NbaV1cblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdCk7XG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0fSlcblx0XHRcdFx0XHRcdFx0XHRcdFx0KSxcblx0XHRcdFx0XHRcdFx0XHRcdFx0d3AuZWxlbWVudC5jcmVhdGVFbGVtZW50KFxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdCd1bCcsXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0eyAnY2xhc3MnOiAnY3dwX3BpdGVtX29wdGlvbnNfY29ucycgfSxcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHR3cC5lbGVtZW50LmNyZWF0ZUVsZW1lbnQoXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHQnaDQnLFxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0bnVsbCxcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdF9fKCdDb25zJylcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHQpLFxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdF9PYmplY3Qka2V5cyhfdGhpczMucHJvcHMucG9zdHNba2V5XS53cHByX2RhdGEud3Bwcl9jb25zKS5tYXAoZnVuY3Rpb24gKGkpIHtcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdHJldHVybiB3cC5lbGVtZW50LmNyZWF0ZUVsZW1lbnQoXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdCdsaScsXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdG51bGwsXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdF90aGlzMy5wcm9wcy5wb3N0c1trZXldLndwcHJfZGF0YS53cHByX2NvbnNbaV1cblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdCk7XG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0fSlcblx0XHRcdFx0XHRcdFx0XHRcdFx0KSxcblx0XHRcdFx0XHRcdFx0XHRcdFx0d3AuZWxlbWVudC5jcmVhdGVFbGVtZW50KFxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdEJ1dHRvbixcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHR7XG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRpc0xhcmdlOiB0cnVlLFxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0b25DbGljazogZnVuY3Rpb24gb25DbGljaygpIHtcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0cmV0dXJuIF90aGlzMy5pbXBvcnRSZXZpZXcoa2V5KTtcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHRcdFx0XHRcdFx0XHR9LFxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdF9fKCdJbXBvcnQgUmV2aWV3Jylcblx0XHRcdFx0XHRcdFx0XHRcdFx0KVxuXHRcdFx0XHRcdFx0XHRcdFx0KVxuXHRcdFx0XHRcdFx0XHRcdCk7XG5cdFx0XHRcdFx0XHRcdH0pXG5cdFx0XHRcdFx0XHQpIDogbnVsbFxuXHRcdFx0XHRcdClcblx0XHRcdFx0KV1cblx0XHRcdCk7XG5cdFx0fVxuXHR9XSwgW3tcblx0XHRrZXk6ICdnZXREZXJpdmVkU3RhdGVGcm9tUHJvcHMnLFxuXHRcdHZhbHVlOiBmdW5jdGlvbiBnZXREZXJpdmVkU3RhdGVGcm9tUHJvcHMobmV4dFByb3BzLCBzdGF0ZSkge1xuXHRcdFx0aWYgKChuZXh0UHJvcHMuaXNQdWJsaXNoaW5nIHx8IG5leHRQcm9wcy5pc1NhdmluZykgJiYgIW5leHRQcm9wcy5pc0F1dG9TYXZpbmcpIHtcblx0XHRcdFx0d3AuYXBpUmVxdWVzdCh7IHBhdGg6ICcvd3Bwci92MS91cGRhdGUtcmV2aWV3P2lkPScgKyBuZXh0UHJvcHMucG9zdElkICsgJyZwb3N0VHlwZT0nICsgbmV4dFByb3BzLnBvc3RUeXBlLCBtZXRob2Q6ICdQT1NUJywgZGF0YTogc3RhdGUgfSkudGhlbihmdW5jdGlvbiAoZGF0YSkge1xuXHRcdFx0XHRcdHJldHVybiBkYXRhO1xuXHRcdFx0XHR9LCBmdW5jdGlvbiAoZXJyKSB7XG5cdFx0XHRcdFx0cmV0dXJuIGVycjtcblx0XHRcdFx0fSk7XG5cdFx0XHR9XG5cdFx0fVxuXHR9XSk7XG5cblx0cmV0dXJuIFdQX1Byb2R1Y3RfUmV2aWV3O1xufShDb21wb25lbnQpO1xuXG52YXIgV1BQUiA9IGNvbXBvc2UoW3dpdGhTZWxlY3QoZnVuY3Rpb24gKHNlbGVjdCwgX3JlZjMpIHtcblx0dmFyIGZvcmNlSXNTYXZpbmcgPSBfcmVmMy5mb3JjZUlzU2F2aW5nO1xuXG5cdHZhciBfc2VsZWN0MiA9IHNlbGVjdCgnY29yZS9lZGl0b3InKSxcblx0ICAgIGdldEN1cnJlbnRQb3N0SWQgPSBfc2VsZWN0Mi5nZXRDdXJyZW50UG9zdElkLFxuXHQgICAgaXNTYXZpbmdQb3N0ID0gX3NlbGVjdDIuaXNTYXZpbmdQb3N0LFxuXHQgICAgaXNQdWJsaXNoaW5nUG9zdCA9IF9zZWxlY3QyLmlzUHVibGlzaGluZ1Bvc3QsXG5cdCAgICBpc0F1dG9zYXZpbmdQb3N0ID0gX3NlbGVjdDIuaXNBdXRvc2F2aW5nUG9zdCxcblx0ICAgIGdldEN1cnJlbnRQb3N0VHlwZSA9IF9zZWxlY3QyLmdldEN1cnJlbnRQb3N0VHlwZTtcblxuXHR2YXIgbGF0ZXN0UG9zdHNRdWVyeSA9IHBpY2tCeSh7XG5cdFx0cGVyX3BhZ2U6IDEwMCxcblx0XHRtZXRhX2tleTogJ2N3cF9tZXRhX2JveF9jaGVjaycsXG5cdFx0bWV0YV92YWx1ZTogJ1llcydcblx0fSwgZnVuY3Rpb24gKHZhbHVlKSB7XG5cdFx0cmV0dXJuICFpc1VuZGVmaW5lZCh2YWx1ZSk7XG5cdH0pO1xuXHRyZXR1cm4ge1xuXHRcdHBvc3RJZDogZ2V0Q3VycmVudFBvc3RJZCgpLFxuXHRcdHBvc3RUeXBlOiBnZXRDdXJyZW50UG9zdFR5cGUoKSxcblx0XHRwb3N0czogc2VsZWN0KCdjb3JlJykuZ2V0RW50aXR5UmVjb3JkcygncG9zdFR5cGUnLCAncG9zdCcsIGxhdGVzdFBvc3RzUXVlcnkpLFxuXHRcdGlzU2F2aW5nOiBmb3JjZUlzU2F2aW5nIHx8IGlzU2F2aW5nUG9zdCgpLFxuXHRcdGlzQXV0b1NhdmluZzogaXNBdXRvc2F2aW5nUG9zdCgpLFxuXHRcdGlzUHVibGlzaGluZzogaXNQdWJsaXNoaW5nUG9zdCgpXG5cdH07XG59KSwgd2l0aFN0YXRlKHtcblx0aXNPcGVuOiBmYWxzZVxufSksIHdpdGhEaXNwYXRjaChmdW5jdGlvbiAoZGlzcGF0Y2gpIHtcblx0cmV0dXJuIHtcblx0XHRvcGVuUmV2aWV3U2lkZWJhcjogZnVuY3Rpb24gb3BlblJldmlld1NpZGViYXIoKSB7XG5cdFx0XHRyZXR1cm4gZGlzcGF0Y2goJ2NvcmUvZWRpdC1wb3N0Jykub3BlbkdlbmVyYWxTaWRlYmFyKCd3cC1wcm9kdWN0LXJldmlldy93cC1wcm9kdWN0LXJldmlldycpO1xuXHRcdH0sXG5cdFx0ZWRpdFBvc3RTdGF0dXM6IGRpc3BhdGNoKCdjb3JlL2VkaXRvcicpLmVkaXRQb3N0XG5cdH07XG59KV0pKFdQX1Byb2R1Y3RfUmV2aWV3KTtcblxucmVnaXN0ZXJQbHVnaW4oJ3dwLXByb2R1Y3QtcmV2aWV3Jywge1xuXHRpY29uOiAnc3Rhci1lbXB0eScsXG5cdHJlbmRlcjogV1BQUlxufSk7XG5cblxuLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBXRUJQQUNLIEZPT1RFUlxuLy8gLi9zcmMvc2lkZWJhci5qc1xuLy8gbW9kdWxlIGlkID0gNTZcbi8vIG1vZHVsZSBjaHVua3MgPSAwIl0sIm1hcHBpbmdzIjoiQUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBIiwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///56\n");
|
412 |
|
413 |
/***/ }),
|
414 |
/* 57 */
|
408 |
/***/ (function(module, __webpack_exports__, __webpack_require__) {
|
409 |
|
410 |
"use strict";
|
411 |
+
eval("Object.defineProperty(__webpack_exports__, \"__esModule\", { value: true });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_babel_runtime_core_js_object_values__ = __webpack_require__(35);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_babel_runtime_core_js_object_values___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_babel_runtime_core_js_object_values__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_babel_runtime_core_js_object_keys__ = __webpack_require__(62);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_babel_runtime_core_js_object_keys___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1_babel_runtime_core_js_object_keys__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_babel_runtime_regenerator__ = __webpack_require__(65);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_babel_runtime_regenerator___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_2_babel_runtime_regenerator__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_extends__ = __webpack_require__(68);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_extends___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_extends__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4_babel_runtime_helpers_asyncToGenerator__ = __webpack_require__(73);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4_babel_runtime_helpers_asyncToGenerator___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_4_babel_runtime_helpers_asyncToGenerator__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5_babel_runtime_core_js_object_get_prototype_of__ = __webpack_require__(96);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5_babel_runtime_core_js_object_get_prototype_of___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_5_babel_runtime_core_js_object_get_prototype_of__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_6_babel_runtime_helpers_classCallCheck__ = __webpack_require__(99);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_6_babel_runtime_helpers_classCallCheck___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_6_babel_runtime_helpers_classCallCheck__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_7_babel_runtime_helpers_createClass__ = __webpack_require__(100);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_7_babel_runtime_helpers_createClass___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_7_babel_runtime_helpers_createClass__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_8_babel_runtime_helpers_possibleConstructorReturn__ = __webpack_require__(104);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_8_babel_runtime_helpers_possibleConstructorReturn___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_8_babel_runtime_helpers_possibleConstructorReturn__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_9_babel_runtime_helpers_inherits__ = __webpack_require__(116);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_9_babel_runtime_helpers_inherits___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_9_babel_runtime_helpers_inherits__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_10__style_scss__ = __webpack_require__(124);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_10__style_scss___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_10__style_scss__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_11__utils__ = __webpack_require__(125);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_12__radio_image_control___ = __webpack_require__(126);\n\n\n\n\n\n\n\n\n\n\n/**\r\n * Internal dependencies\r\n */\n\n\n\n\n/**\r\n * WordPress dependencies\r\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 ExternalLink = _wp$components.ExternalLink;\n\nvar WP_Product_Review = function (_Component) {\n\t__WEBPACK_IMPORTED_MODULE_9_babel_runtime_helpers_inherits___default()(WP_Product_Review, _Component);\n\n\tfunction WP_Product_Review() {\n\t\t__WEBPACK_IMPORTED_MODULE_6_babel_runtime_helpers_classCallCheck___default()(this, WP_Product_Review);\n\n\t\tvar _this = __WEBPACK_IMPORTED_MODULE_8_babel_runtime_helpers_possibleConstructorReturn___default()(this, (WP_Product_Review.__proto__ || __WEBPACK_IMPORTED_MODULE_5_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.onChangeSchemaType = _this.onChangeSchemaType.bind(_this);\n\t\t_this.onChangeSchemaField = _this.onChangeSchemaField.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\twppr_review_type: 'Product',\n\t\t\twppr_review_custom_fields: {},\n\t\t\tschema_fields: {},\n\t\t\tschema_url: ''\n\t\t};\n\t\treturn _this;\n\t}\n\n\t__WEBPACK_IMPORTED_MODULE_7_babel_runtime_helpers_createClass___default()(WP_Product_Review, [{\n\t\tkey: 'componentDidMount',\n\t\tvalue: function () {\n\t\t\tvar _ref = __WEBPACK_IMPORTED_MODULE_4_babel_runtime_helpers_asyncToGenerator___default()( /*#__PURE__*/__WEBPACK_IMPORTED_MODULE_2_babel_runtime_regenerator___default.a.mark(function _callee() {\n\t\t\t\tvar _select, getCurrentPostId, getCurrentPostType, post, data;\n\n\t\t\t\treturn __WEBPACK_IMPORTED_MODULE_2_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\t\t\t\t\t\t\t\tif (!(undefined !== post && post.wppr_data)) {\n\t\t\t\t\t\t\t\t\t_context.next = 11;\n\t\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t\t\t}\n\n\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\tpost.wppr_data.wppr_links[''] = '';\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tthis.setState(__WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_extends___default()({}, post.wppr_data));\n\n\t\t\t\t\t\t\t\t_context.next = 9;\n\t\t\t\t\t\t\t\treturn wp.apiRequest({ path: '/wppr/v1/schema-fields?type=' + this.state.wppr_review_type });\n\n\t\t\t\t\t\t\tcase 9:\n\t\t\t\t\t\t\t\tdata = _context.sent;\n\n\t\t\t\t\t\t\t\tthis.setState({ schema_fields: data.fields, schema_url: data.url });\n\n\t\t\t\t\t\t\tcase 11:\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_3_babel_runtime_helpers_extends___default()({}, this.state.wppr_links);\n\t\t\tif (__WEBPACK_IMPORTED_MODULE_1_babel_runtime_core_js_object_keys___default()(this.state.wppr_links).length === 2) {\n\t\t\t\tif (e === __WEBPACK_IMPORTED_MODULE_1_babel_runtime_core_js_object_keys___default()(wppr_links)[0] || e === __WEBPACK_IMPORTED_MODULE_1_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_1_babel_runtime_core_js_object_keys___default()(wppr_links)[0] === key) {\n\t\t\t\tObject(__WEBPACK_IMPORTED_MODULE_11__utils__[\"a\" /* renameKey */])(wppr_links, key, e);\n\t\t\t\twppr_links = Object(__WEBPACK_IMPORTED_MODULE_11__utils__[\"b\" /* reverseObject */])(wppr_links);\n\t\t\t} else {\n\t\t\t\tObject(__WEBPACK_IMPORTED_MODULE_11__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_3_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_3_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_3_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_3_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: 'onChangeSchemaType',\n\t\tvalue: function onChangeSchemaType(e, key) {\n\t\t\tvar _this2 = this;\n\n\t\t\tif (e === '') return;\n\n\t\t\t// remove existing fields first.\n\t\t\tthis.setState({ schema_fields: {}, schema_url: '' });\n\n\t\t\twp.apiRequest({ path: '/wppr/v1/schema-fields?type=' + e }).then(function (data) {\n\t\t\t\t_this2.setState({ schema_fields: data.fields, schema_url: data.url, wppr_review_type: e });\n\t\t\t\t_this2.props.editPostStatus({ edited: true });\n\t\t\t}, function (err) {\n\t\t\t\treturn err;\n\t\t\t});\n\t\t}\n\t}, {\n\t\tkey: 'onChangeSchemaField',\n\t\tvalue: function onChangeSchemaField(e, field) {\n\t\t\tvar fields = __WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_extends___default()({}, this.state.wppr_review_custom_fields);\n\t\t\tvar schema_fields = __WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_extends___default()({}, this.state.schema_fields);\n\t\t\tfields[field] = e;\n\t\t\tthis.setState({ wppr_review_custom_fields: fields });\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_1_babel_runtime_core_js_object_keys___default()(this.state.wppr_options).length + 1;\n\t\t\tvar wppr_options = __WEBPACK_IMPORTED_MODULE_3_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_3_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_1_babel_runtime_core_js_object_keys___default()(this.state.wppr_pros).length;\n\t\t\tvar wppr_pros = __WEBPACK_IMPORTED_MODULE_3_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_3_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_1_babel_runtime_core_js_object_keys___default()(this.state.wppr_cons).length;\n\t\t\tvar wppr_cons = __WEBPACK_IMPORTED_MODULE_3_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 _this3 = 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_12__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 [_this3.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: _this3.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 _this3.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: _this3.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_1_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 _this3.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: _this3.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 _this3.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_1_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_1_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: _this3.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 _this3.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: _this3.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 _this3.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_1_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_1_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: _this3.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 _this3.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_1_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_1_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: _this3.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 _this3.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_1_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.schema_types && wpprguten.schema_types.length > 0 && wp.element.createElement(\n\t\t\t\t\t\tPanelBody,\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\ttitle: __('Schema Details'),\n\t\t\t\t\t\t\tclassName: 'wp-product-review-schema',\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-schema' },\n\t\t\t\t\t\t\twp.element.createElement(SelectControl, {\n\t\t\t\t\t\t\t\tlabel: __('Review Type'),\n\t\t\t\t\t\t\t\tvalue: this.state.wppr_review_type,\n\t\t\t\t\t\t\t\toptions: wpprguten.schema_types,\n\t\t\t\t\t\t\t\tonChange: this.onChangeSchemaType\n\t\t\t\t\t\t\t})\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-schema-fields' },\n\t\t\t\t\t\t\t!!this.state.schema_url && wp.element.createElement(\n\t\t\t\t\t\t\t\tExternalLink,\n\t\t\t\t\t\t\t\t{ href: this.state.schema_url, title: __('View Schema Description ') },\n\t\t\t\t\t\t\t\t__('View Schema Description ')\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_values___default()(this.state.schema_fields).map(function (field, 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-schema-field' },\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-schema-field-' + key },\n\t\t\t\t\t\t\t\t\t\tfield\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-schema-field-' + key,\n\t\t\t\t\t\t\t\t\t\tname: 'wppr-schema-field-' + field,\n\t\t\t\t\t\t\t\t\t\tclassName: 'wppr-text',\n\t\t\t\t\t\t\t\t\t\tvalue: _this3.state.wppr_review_custom_fields[field] ? _this3.state.wppr_review_custom_fields[field] : '',\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 _this3.onChangeSchemaField(e, field);\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)\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 _this3.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 _this3.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_1_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: _this3.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_1_babel_runtime_core_js_object_keys___default()(_this3.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_this3.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_1_babel_runtime_core_js_object_keys___default()(_this3.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_this3.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_1_babel_runtime_core_js_object_keys___default()(_this3.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_this3.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 _this3.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: '/wppr/v1/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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiNTYuanMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9zcmMvc2lkZWJhci5qcz8yNWQ1Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBfT2JqZWN0JHZhbHVlcyBmcm9tICdiYWJlbC1ydW50aW1lL2NvcmUtanMvb2JqZWN0L3ZhbHVlcyc7XG5pbXBvcnQgX09iamVjdCRrZXlzIGZyb20gJ2JhYmVsLXJ1bnRpbWUvY29yZS1qcy9vYmplY3Qva2V5cyc7XG5pbXBvcnQgX3JlZ2VuZXJhdG9yUnVudGltZSBmcm9tICdiYWJlbC1ydW50aW1lL3JlZ2VuZXJhdG9yJztcbmltcG9ydCBfZXh0ZW5kcyBmcm9tICdiYWJlbC1ydW50aW1lL2hlbHBlcnMvZXh0ZW5kcyc7XG5pbXBvcnQgX2FzeW5jVG9HZW5lcmF0b3IgZnJvbSAnYmFiZWwtcnVudGltZS9oZWxwZXJzL2FzeW5jVG9HZW5lcmF0b3InO1xuaW1wb3J0IF9PYmplY3QkZ2V0UHJvdG90eXBlT2YgZnJvbSAnYmFiZWwtcnVudGltZS9jb3JlLWpzL29iamVjdC9nZXQtcHJvdG90eXBlLW9mJztcbmltcG9ydCBfY2xhc3NDYWxsQ2hlY2sgZnJvbSAnYmFiZWwtcnVudGltZS9oZWxwZXJzL2NsYXNzQ2FsbENoZWNrJztcbmltcG9ydCBfY3JlYXRlQ2xhc3MgZnJvbSAnYmFiZWwtcnVudGltZS9oZWxwZXJzL2NyZWF0ZUNsYXNzJztcbmltcG9ydCBfcG9zc2libGVDb25zdHJ1Y3RvclJldHVybiBmcm9tICdiYWJlbC1ydW50aW1lL2hlbHBlcnMvcG9zc2libGVDb25zdHJ1Y3RvclJldHVybic7XG5pbXBvcnQgX2luaGVyaXRzIGZyb20gJ2JhYmVsLXJ1bnRpbWUvaGVscGVycy9pbmhlcml0cyc7XG4vKipcclxuICogSW50ZXJuYWwgZGVwZW5kZW5jaWVzXHJcbiAqL1xuaW1wb3J0ICcuL3N0eWxlLnNjc3MnO1xuaW1wb3J0IHsgcmV2ZXJzZU9iamVjdCwgcmVuYW1lS2V5LCBpbkFycmF5IH0gZnJvbSAnLi91dGlscyc7XG5pbXBvcnQgUmFkaW9JbWFnZUNvbnRyb2wgZnJvbSAnLi9yYWRpby1pbWFnZS1jb250cm9sLyc7XG5cbi8qKlxyXG4gKiBXb3JkUHJlc3MgZGVwZW5kZW5jaWVzXHJcbiAqL1xudmFyIF9fID0gd3AuaTE4bi5fXztcbnZhciBfbG9kYXNoID0gbG9kYXNoLFxuICAgIGlzVW5kZWZpbmVkID0gX2xvZGFzaC5pc1VuZGVmaW5lZCxcbiAgICBwaWNrQnkgPSBfbG9kYXNoLnBpY2tCeTtcbnZhciByZWdpc3RlclBsdWdpbiA9IHdwLnBsdWdpbnMucmVnaXN0ZXJQbHVnaW47XG52YXIgTWVkaWFVcGxvYWQgPSB3cC5lZGl0b3IuTWVkaWFVcGxvYWQ7XG52YXIgX3dwJGRhdGEgPSB3cC5kYXRhLFxuICAgIHNlbGVjdCA9IF93cCRkYXRhLnNlbGVjdCxcbiAgICB3aXRoU2VsZWN0ID0gX3dwJGRhdGEud2l0aFNlbGVjdCxcbiAgICB3aXRoRGlzcGF0Y2ggPSBfd3AkZGF0YS53aXRoRGlzcGF0Y2g7XG52YXIgX3dwJGVkaXRQb3N0ID0gd3AuZWRpdFBvc3QsXG4gICAgUGx1Z2luUG9zdFN0YXR1c0luZm8gPSBfd3AkZWRpdFBvc3QuUGx1Z2luUG9zdFN0YXR1c0luZm8sXG4gICAgUGx1Z2luU2lkZWJhck1vcmVNZW51SXRlbSA9IF93cCRlZGl0UG9zdC5QbHVnaW5TaWRlYmFyTW9yZU1lbnVJdGVtLFxuICAgIFBsdWdpblNpZGViYXIgPSBfd3AkZWRpdFBvc3QuUGx1Z2luU2lkZWJhcjtcbnZhciBfd3AkZWxlbWVudCA9IHdwLmVsZW1lbnQsXG4gICAgQ29tcG9uZW50ID0gX3dwJGVsZW1lbnQuQ29tcG9uZW50LFxuICAgIEZyYWdtZW50ID0gX3dwJGVsZW1lbnQuRnJhZ21lbnQ7XG52YXIgX3dwJGNvbXBvc2UgPSB3cC5jb21wb3NlLFxuICAgIHdpdGhTdGF0ZSA9IF93cCRjb21wb3NlLndpdGhTdGF0ZSxcbiAgICBjb21wb3NlID0gX3dwJGNvbXBvc2UuY29tcG9zZTtcbnZhciBfd3AkY29tcG9uZW50cyA9IHdwLmNvbXBvbmVudHMsXG4gICAgQnV0dG9uID0gX3dwJGNvbXBvbmVudHMuQnV0dG9uLFxuICAgIEZvcm1Ub2dnbGUgPSBfd3AkY29tcG9uZW50cy5Gb3JtVG9nZ2xlLFxuICAgIE1vZGFsID0gX3dwJGNvbXBvbmVudHMuTW9kYWwsXG4gICAgUGFuZWxCb2R5ID0gX3dwJGNvbXBvbmVudHMuUGFuZWxCb2R5LFxuICAgIFNlbGVjdENvbnRyb2wgPSBfd3AkY29tcG9uZW50cy5TZWxlY3RDb250cm9sLFxuICAgIFRleHRDb250cm9sID0gX3dwJGNvbXBvbmVudHMuVGV4dENvbnRyb2wsXG4gICAgRXh0ZXJuYWxMaW5rID0gX3dwJGNvbXBvbmVudHMuRXh0ZXJuYWxMaW5rO1xuXG52YXIgV1BfUHJvZHVjdF9SZXZpZXcgPSBmdW5jdGlvbiAoX0NvbXBvbmVudCkge1xuXHRfaW5oZXJpdHMoV1BfUHJvZHVjdF9SZXZpZXcsIF9Db21wb25lbnQpO1xuXG5cdGZ1bmN0aW9uIFdQX1Byb2R1Y3RfUmV2aWV3KCkge1xuXHRcdF9jbGFzc0NhbGxDaGVjayh0aGlzLCBXUF9Qcm9kdWN0X1Jldmlldyk7XG5cblx0XHR2YXIgX3RoaXMgPSBfcG9zc2libGVDb25zdHJ1Y3RvclJldHVybih0aGlzLCAoV1BfUHJvZHVjdF9SZXZpZXcuX19wcm90b19fIHx8IF9PYmplY3QkZ2V0UHJvdG90eXBlT2YoV1BfUHJvZHVjdF9SZXZpZXcpKS5hcHBseSh0aGlzLCBhcmd1bWVudHMpKTtcblxuXHRcdF90aGlzLnRvZ2dsZVJldmlld1N0YXR1cyA9IF90aGlzLnRvZ2dsZVJldmlld1N0YXR1cy5iaW5kKF90aGlzKTtcblx0XHRfdGhpcy5vbkNoYW5nZVRlbXBsYXRlID0gX3RoaXMub25DaGFuZ2VUZW1wbGF0ZS5iaW5kKF90aGlzKTtcblx0XHRfdGhpcy5vbkNoYW5nZVJldmlld1RpdGxlID0gX3RoaXMub25DaGFuZ2VSZXZpZXdUaXRsZS5iaW5kKF90aGlzKTtcblx0XHRfdGhpcy5vbkNoYW5nZVJldmlld0ltYWdlID0gX3RoaXMub25DaGFuZ2VSZXZpZXdJbWFnZS5iaW5kKF90aGlzKTtcblx0XHRfdGhpcy5vbkNoYW5nZUltYWdlTGluayA9IF90aGlzLm9uQ2hhbmdlSW1hZ2VMaW5rLmJpbmQoX3RoaXMpO1xuXHRcdF90aGlzLm9uQ2hhbmdlUmV2aWV3QWZmaWxpYXRlVGl0bGUgPSBfdGhpcy5vbkNoYW5nZVJldmlld0FmZmlsaWF0ZVRpdGxlLmJpbmQoX3RoaXMpO1xuXHRcdF90aGlzLm9uQ2hhbmdlUmV2aWV3QWZmaWxpYXRlTGluayA9IF90aGlzLm9uQ2hhbmdlUmV2aWV3QWZmaWxpYXRlTGluay5iaW5kKF90aGlzKTtcblx0XHRfdGhpcy5hZGRCdXR0b24gPSBfdGhpcy5hZGRCdXR0b24uYmluZChfdGhpcyk7XG5cdFx0X3RoaXMub25DaGFuZ2VSZXZpZXdQcmljZSA9IF90aGlzLm9uQ2hhbmdlUmV2aWV3UHJpY2UuYmluZChfdGhpcyk7XG5cdFx0X3RoaXMub25DaGFuZ2VPcHRpb25UZXh0ID0gX3RoaXMub25DaGFuZ2VPcHRpb25UZXh0LmJpbmQoX3RoaXMpO1xuXHRcdF90aGlzLm9uQ2hhbmdlT3B0aW9uTnVtYmVyID0gX3RoaXMub25DaGFuZ2VPcHRpb25OdW1iZXIuYmluZChfdGhpcyk7XG5cdFx0X3RoaXMub25DaGFuZ2VTY2hlbWFUeXBlID0gX3RoaXMub25DaGFuZ2VTY2hlbWFUeXBlLmJpbmQoX3RoaXMpO1xuXHRcdF90aGlzLm9uQ2hhbmdlU2NoZW1hRmllbGQgPSBfdGhpcy5vbkNoYW5nZVNjaGVtYUZpZWxkLmJpbmQoX3RoaXMpO1xuXHRcdF90aGlzLmFkZE9wdGlvbiA9IF90aGlzLmFkZE9wdGlvbi5iaW5kKF90aGlzKTtcblx0XHRfdGhpcy5vbkNoYW5nZVByb1RleHQgPSBfdGhpcy5vbkNoYW5nZVByb1RleHQuYmluZChfdGhpcyk7XG5cdFx0X3RoaXMuYWRkUHJvID0gX3RoaXMuYWRkUHJvLmJpbmQoX3RoaXMpO1xuXHRcdF90aGlzLm9uQ2hhbmdlQ29uVGV4dCA9IF90aGlzLm9uQ2hhbmdlQ29uVGV4dC5iaW5kKF90aGlzKTtcblx0XHRfdGhpcy5hZGRDb24gPSBfdGhpcy5hZGRDb24uYmluZChfdGhpcyk7XG5cdFx0X3RoaXMuaW1wb3J0UmV2aWV3ID0gX3RoaXMuaW1wb3J0UmV2aWV3LmJpbmQoX3RoaXMpO1xuXG5cdFx0X3RoaXMuc3RhdGUgPSB7XG5cdFx0XHRjd3BfbWV0YV9ib3hfY2hlY2s6ICdObycsXG5cdFx0XHRjd3BfcmV2X3Byb2R1Y3RfbmFtZTogJycsXG5cdFx0XHRfd3Bwcl9yZXZpZXdfdGVtcGxhdGU6ICdkZWZhdWx0Jyxcblx0XHRcdGN3cF9yZXZfcHJvZHVjdF9pbWFnZTogJycsXG5cdFx0XHRjd3BfaW1hZ2VfbGluazogJ2ltYWdlJyxcblx0XHRcdHdwcHJfbGlua3M6IHtcblx0XHRcdFx0Jyc6ICcnXG5cdFx0XHR9LFxuXHRcdFx0Y3dwX3Jldl9wcmljZTogJycsXG5cdFx0XHR3cHByX29wdGlvbnM6IHtcblx0XHRcdFx0MToge1xuXHRcdFx0XHRcdG5hbWU6ICcnLFxuXHRcdFx0XHRcdHZhbHVlOiAwXG5cdFx0XHRcdH1cblx0XHRcdH0sXG5cdFx0XHR3cHByX3Byb3M6IHtcblx0XHRcdFx0MDogJydcblx0XHRcdH0sXG5cdFx0XHR3cHByX2NvbnM6IHtcblx0XHRcdFx0MDogJydcblx0XHRcdH0sXG5cdFx0XHR3cHByX3Jldmlld190eXBlOiAnUHJvZHVjdCcsXG5cdFx0XHR3cHByX3Jldmlld19jdXN0b21fZmllbGRzOiB7fSxcblx0XHRcdHNjaGVtYV9maWVsZHM6IHt9LFxuXHRcdFx0c2NoZW1hX3VybDogJydcblx0XHR9O1xuXHRcdHJldHVybiBfdGhpcztcblx0fVxuXG5cdF9jcmVhdGVDbGFzcyhXUF9Qcm9kdWN0X1JldmlldywgW3tcblx0XHRrZXk6ICdjb21wb25lbnREaWRNb3VudCcsXG5cdFx0dmFsdWU6IGZ1bmN0aW9uICgpIHtcblx0XHRcdHZhciBfcmVmID0gX2FzeW5jVG9HZW5lcmF0b3IoIC8qI19fUFVSRV9fKi9fcmVnZW5lcmF0b3JSdW50aW1lLm1hcmsoZnVuY3Rpb24gX2NhbGxlZSgpIHtcblx0XHRcdFx0dmFyIF9zZWxlY3QsIGdldEN1cnJlbnRQb3N0SWQsIGdldEN1cnJlbnRQb3N0VHlwZSwgcG9zdCwgZGF0YTtcblxuXHRcdFx0XHRyZXR1cm4gX3JlZ2VuZXJhdG9yUnVudGltZS53cmFwKGZ1bmN0aW9uIF9jYWxsZWUkKF9jb250ZXh0KSB7XG5cdFx0XHRcdFx0d2hpbGUgKDEpIHtcblx0XHRcdFx0XHRcdHN3aXRjaCAoX2NvbnRleHQucHJldiA9IF9jb250ZXh0Lm5leHQpIHtcblx0XHRcdFx0XHRcdFx0Y2FzZSAwOlxuXHRcdFx0XHRcdFx0XHRcdF9zZWxlY3QgPSBzZWxlY3QoJ2NvcmUvZWRpdG9yJyksIGdldEN1cnJlbnRQb3N0SWQgPSBfc2VsZWN0LmdldEN1cnJlbnRQb3N0SWQsIGdldEN1cnJlbnRQb3N0VHlwZSA9IF9zZWxlY3QuZ2V0Q3VycmVudFBvc3RUeXBlO1xuXHRcdFx0XHRcdFx0XHRcdF9jb250ZXh0Lm5leHQgPSAzO1xuXHRcdFx0XHRcdFx0XHRcdHJldHVybiBzZWxlY3QoJ2NvcmUnKS5nZXRFbnRpdHlSZWNvcmQoJ3Bvc3RUeXBlJywgZ2V0Q3VycmVudFBvc3RUeXBlKCksIGdldEN1cnJlbnRQb3N0SWQoKSk7XG5cblx0XHRcdFx0XHRcdFx0Y2FzZSAzOlxuXHRcdFx0XHRcdFx0XHRcdHBvc3QgPSBfY29udGV4dC5zZW50O1xuXG5cdFx0XHRcdFx0XHRcdFx0aWYgKCEodW5kZWZpbmVkICE9PSBwb3N0ICYmIHBvc3Qud3Bwcl9kYXRhKSkge1xuXHRcdFx0XHRcdFx0XHRcdFx0X2NvbnRleHQubmV4dCA9IDExO1xuXHRcdFx0XHRcdFx0XHRcdFx0YnJlYWs7XG5cdFx0XHRcdFx0XHRcdFx0fVxuXG5cdFx0XHRcdFx0XHRcdFx0aWYgKHBvc3Qud3Bwcl9kYXRhLndwcHJfbGlua3MgJiYgcG9zdC53cHByX2RhdGEud3Bwcl9saW5rcy5sZW5ndGggPCAxKSB7XG5cdFx0XHRcdFx0XHRcdFx0XHRwb3N0LndwcHJfZGF0YS53cHByX2xpbmtzWycnXSA9ICcnO1xuXHRcdFx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHRcdFx0XHR0aGlzLnNldFN0YXRlKF9leHRlbmRzKHt9LCBwb3N0LndwcHJfZGF0YSkpO1xuXG5cdFx0XHRcdFx0XHRcdFx0X2NvbnRleHQubmV4dCA9IDk7XG5cdFx0XHRcdFx0XHRcdFx0cmV0dXJuIHdwLmFwaVJlcXVlc3QoeyBwYXRoOiAnL3dwcHIvdjEvc2NoZW1hLWZpZWxkcz90eXBlPScgKyB0aGlzLnN0YXRlLndwcHJfcmV2aWV3X3R5cGUgfSk7XG5cblx0XHRcdFx0XHRcdFx0Y2FzZSA5OlxuXHRcdFx0XHRcdFx0XHRcdGRhdGEgPSBfY29udGV4dC5zZW50O1xuXG5cdFx0XHRcdFx0XHRcdFx0dGhpcy5zZXRTdGF0ZSh7IHNjaGVtYV9maWVsZHM6IGRhdGEuZmllbGRzLCBzY2hlbWFfdXJsOiBkYXRhLnVybCB9KTtcblxuXHRcdFx0XHRcdFx0XHRjYXNlIDExOlxuXHRcdFx0XHRcdFx0XHRjYXNlICdlbmQnOlxuXHRcdFx0XHRcdFx0XHRcdHJldHVybiBfY29udGV4dC5zdG9wKCk7XG5cdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9LCBfY2FsbGVlLCB0aGlzKTtcblx0XHRcdH0pKTtcblxuXHRcdFx0ZnVuY3Rpb24gY29tcG9uZW50RGlkTW91bnQoKSB7XG5cdFx0XHRcdHJldHVybiBfcmVmLmFwcGx5KHRoaXMsIGFyZ3VtZW50cyk7XG5cdFx0XHR9XG5cblx0XHRcdHJldHVybiBjb21wb25lbnREaWRNb3VudDtcblx0XHR9KClcblx0fSwge1xuXHRcdGtleTogJ2NvbXBvbmVudERpZFVwZGF0ZScsXG5cdFx0dmFsdWU6IGZ1bmN0aW9uIGNvbXBvbmVudERpZFVwZGF0ZShwcmV2UHJvcHMsIHByZXZTdGF0ZSkge1xuXHRcdFx0aWYgKHRoaXMuc3RhdGUuY3dwX21ldGFfYm94X2NoZWNrICE9PSBwcmV2U3RhdGUuY3dwX21ldGFfYm94X2NoZWNrICYmIHRoaXMuc3RhdGUuY3dwX21ldGFfYm94X2NoZWNrID09PSAnWWVzJykge1xuXHRcdFx0XHR0aGlzLnByb3BzLm9wZW5SZXZpZXdTaWRlYmFyKCk7XG5cdFx0XHR9XG5cdFx0fVxuXHR9LCB7XG5cdFx0a2V5OiAndG9nZ2xlUmV2aWV3U3RhdHVzJyxcblx0XHR2YWx1ZTogZnVuY3Rpb24gdG9nZ2xlUmV2aWV3U3RhdHVzKCkge1xuXHRcdFx0dGhpcy5zZXRTdGF0ZSh7IGN3cF9tZXRhX2JveF9jaGVjazogdGhpcy5zdGF0ZS5jd3BfbWV0YV9ib3hfY2hlY2sgPT09ICdZZXMnID8gJ05vJyA6ICdZZXMnIH0pO1xuXHRcdFx0dGhpcy5wcm9wcy5lZGl0UG9zdFN0YXR1cyh7IGVkaXRlZDogdHJ1ZSB9KTtcblx0XHR9XG5cdH0sIHtcblx0XHRrZXk6ICdvbkNoYW5nZVRlbXBsYXRlJyxcblx0XHR2YWx1ZTogZnVuY3Rpb24gb25DaGFuZ2VUZW1wbGF0ZSh2YWx1ZSkge1xuXHRcdFx0dGhpcy5zZXRTdGF0ZSh7IF93cHByX3Jldmlld190ZW1wbGF0ZTogdmFsdWUgfSk7XG5cdFx0XHR0aGlzLnByb3BzLmVkaXRQb3N0U3RhdHVzKHsgZWRpdGVkOiB0cnVlIH0pO1xuXHRcdH1cblx0fSwge1xuXHRcdGtleTogJ29uQ2hhbmdlUmV2aWV3VGl0bGUnLFxuXHRcdHZhbHVlOiBmdW5jdGlvbiBvbkNoYW5nZVJldmlld1RpdGxlKHZhbHVlKSB7XG5cdFx0XHR0aGlzLnNldFN0YXRlKHsgY3dwX3Jldl9wcm9kdWN0X25hbWU6IHZhbHVlIH0pO1xuXHRcdFx0dGhpcy5wcm9wcy5lZGl0UG9zdFN0YXR1cyh7IGVkaXRlZDogdHJ1ZSB9KTtcblx0XHR9XG5cdH0sIHtcblx0XHRrZXk6ICdvbkNoYW5nZVJldmlld0ltYWdlJyxcblx0XHR2YWx1ZTogZnVuY3Rpb24gb25DaGFuZ2VSZXZpZXdJbWFnZSh2YWx1ZSkge1xuXHRcdFx0aWYgKHZhbHVlLnVybCAhPT0gdW5kZWZpbmVkICYmIHZhbHVlLnVybCAhPT0gJycpIHtcblx0XHRcdFx0dGhpcy5zZXRTdGF0ZSh7IGN3cF9yZXZfcHJvZHVjdF9pbWFnZTogdmFsdWUudXJsIH0pO1xuXHRcdFx0fSBlbHNlIGlmICh2YWx1ZS5pZCAhPT0gdW5kZWZpbmVkKSB7XG5cdFx0XHRcdHRoaXMuc2V0U3RhdGUoeyBjd3BfcmV2X3Byb2R1Y3RfaW1hZ2U6IHZhbHVlLmlkIH0pO1xuXHRcdFx0fVxuXHRcdFx0dGhpcy5wcm9wcy5lZGl0UG9zdFN0YXR1cyh7IGVkaXRlZDogdHJ1ZSB9KTtcblx0XHR9XG5cdH0sIHtcblx0XHRrZXk6ICdvbkNoYW5nZUltYWdlTGluaycsXG5cdFx0dmFsdWU6IGZ1bmN0aW9uIG9uQ2hhbmdlSW1hZ2VMaW5rKHZhbHVlKSB7XG5cdFx0XHR0aGlzLnNldFN0YXRlKHsgY3dwX2ltYWdlX2xpbms6IHZhbHVlIH0pO1xuXHRcdFx0dGhpcy5wcm9wcy5lZGl0UG9zdFN0YXR1cyh7IGVkaXRlZDogdHJ1ZSB9KTtcblx0XHR9XG5cdH0sIHtcblx0XHRrZXk6ICdvbkNoYW5nZVJldmlld0FmZmlsaWF0ZVRpdGxlJyxcblx0XHR2YWx1ZTogZnVuY3Rpb24gb25DaGFuZ2VSZXZpZXdBZmZpbGlhdGVUaXRsZShlLCBrZXkpIHtcblx0XHRcdHZhciB3cHByX2xpbmtzID0gX2V4dGVuZHMoe30sIHRoaXMuc3RhdGUud3Bwcl9saW5rcyk7XG5cdFx0XHRpZiAoX09iamVjdCRrZXlzKHRoaXMuc3RhdGUud3Bwcl9saW5rcykubGVuZ3RoID09PSAyKSB7XG5cdFx0XHRcdGlmIChlID09PSBfT2JqZWN0JGtleXMod3Bwcl9saW5rcylbMF0gfHwgZSA9PT0gX09iamVjdCRrZXlzKHdwcHJfbGlua3MpWzFdKSB7XG5cdFx0XHRcdFx0ZSA9IGUgKyAnICc7XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHRcdGlmIChfT2JqZWN0JGtleXMod3Bwcl9saW5rcylbMF0gPT09IGtleSkge1xuXHRcdFx0XHRyZW5hbWVLZXkod3Bwcl9saW5rcywga2V5LCBlKTtcblx0XHRcdFx0d3Bwcl9saW5rcyA9IHJldmVyc2VPYmplY3Qod3Bwcl9saW5rcyk7XG5cdFx0XHR9IGVsc2Uge1xuXHRcdFx0XHRyZW5hbWVLZXkod3Bwcl9saW5rcywga2V5LCBlKTtcblx0XHRcdH1cblx0XHRcdHRoaXMuc2V0U3RhdGUoeyB3cHByX2xpbmtzOiB3cHByX2xpbmtzIH0pO1xuXHRcdFx0dGhpcy5wcm9wcy5lZGl0UG9zdFN0YXR1cyh7IGVkaXRlZDogdHJ1ZSB9KTtcblx0XHR9XG5cdH0sIHtcblx0XHRrZXk6ICdvbkNoYW5nZVJldmlld0FmZmlsaWF0ZUxpbmsnLFxuXHRcdHZhbHVlOiBmdW5jdGlvbiBvbkNoYW5nZVJldmlld0FmZmlsaWF0ZUxpbmsoZSwga2V5KSB7XG5cdFx0XHR2YXIgd3Bwcl9saW5rcyA9IF9leHRlbmRzKHt9LCB0aGlzLnN0YXRlLndwcHJfbGlua3MpO1xuXHRcdFx0d3Bwcl9saW5rc1trZXldID0gZTtcblx0XHRcdHRoaXMuc2V0U3RhdGUoeyB3cHByX2xpbmtzOiB3cHByX2xpbmtzIH0pO1xuXHRcdFx0dGhpcy5wcm9wcy5lZGl0UG9zdFN0YXR1cyh7IGVkaXRlZDogdHJ1ZSB9KTtcblx0XHR9XG5cdH0sIHtcblx0XHRrZXk6ICdhZGRCdXR0b24nLFxuXHRcdHZhbHVlOiBmdW5jdGlvbiBhZGRCdXR0b24oKSB7XG5cdFx0XHR2YXIgd3Bwcl9saW5rcyA9IF9leHRlbmRzKHt9LCB0aGlzLnN0YXRlLndwcHJfbGlua3MpO1xuXHRcdFx0d3Bwcl9saW5rc1snQnV5IE5vdyddID0gJyc7XG5cdFx0XHR0aGlzLnNldFN0YXRlKHsgd3Bwcl9saW5rczogd3Bwcl9saW5rcyB9KTtcblx0XHR9XG5cdH0sIHtcblx0XHRrZXk6ICdvbkNoYW5nZVJldmlld1ByaWNlJyxcblx0XHR2YWx1ZTogZnVuY3Rpb24gb25DaGFuZ2VSZXZpZXdQcmljZSh2YWx1ZSkge1xuXHRcdFx0dGhpcy5zZXRTdGF0ZSh7IGN3cF9yZXZfcHJpY2U6IHZhbHVlIH0pO1xuXHRcdFx0dGhpcy5wcm9wcy5lZGl0UG9zdFN0YXR1cyh7IGVkaXRlZDogdHJ1ZSB9KTtcblx0XHR9XG5cdH0sIHtcblx0XHRrZXk6ICdvbkNoYW5nZU9wdGlvblRleHQnLFxuXHRcdHZhbHVlOiBmdW5jdGlvbiBvbkNoYW5nZU9wdGlvblRleHQoZSwga2V5KSB7XG5cdFx0XHR2YXIgd3Bwcl9vcHRpb25zID0gX2V4dGVuZHMoe30sIHRoaXMuc3RhdGUud3Bwcl9vcHRpb25zKTtcblx0XHRcdHdwcHJfb3B0aW9uc1trZXldWyduYW1lJ10gPSBlO1xuXHRcdFx0dGhpcy5zZXRTdGF0ZSh7IHdwcHJfb3B0aW9uczogd3Bwcl9vcHRpb25zIH0pO1xuXHRcdFx0dGhpcy5wcm9wcy5lZGl0UG9zdFN0YXR1cyh7IGVkaXRlZDogdHJ1ZSB9KTtcblx0XHR9XG5cdH0sIHtcblx0XHRrZXk6ICdvbkNoYW5nZU9wdGlvbk51bWJlcicsXG5cdFx0dmFsdWU6IGZ1bmN0aW9uIG9uQ2hhbmdlT3B0aW9uTnVtYmVyKGUsIGtleSkge1xuXHRcdFx0dmFyIHdwcHJfb3B0aW9ucyA9IF9leHRlbmRzKHt9LCB0aGlzLnN0YXRlLndwcHJfb3B0aW9ucyk7XG5cdFx0XHRpZiAoZSA9PT0gJycpIGUgPSAwO1xuXHRcdFx0d3Bwcl9vcHRpb25zW2tleV1bJ3ZhbHVlJ10gPSBlO1xuXHRcdFx0dGhpcy5zZXRTdGF0ZSh7IHdwcHJfb3B0aW9uczogd3Bwcl9vcHRpb25zIH0pO1xuXHRcdFx0dGhpcy5wcm9wcy5lZGl0UG9zdFN0YXR1cyh7IGVkaXRlZDogdHJ1ZSB9KTtcblx0XHR9XG5cdH0sIHtcblx0XHRrZXk6ICdvbkNoYW5nZVNjaGVtYVR5cGUnLFxuXHRcdHZhbHVlOiBmdW5jdGlvbiBvbkNoYW5nZVNjaGVtYVR5cGUoZSwga2V5KSB7XG5cdFx0XHR2YXIgX3RoaXMyID0gdGhpcztcblxuXHRcdFx0aWYgKGUgPT09ICcnKSByZXR1cm47XG5cblx0XHRcdC8vIHJlbW92ZSBleGlzdGluZyBmaWVsZHMgZmlyc3QuXG5cdFx0XHR0aGlzLnNldFN0YXRlKHsgc2NoZW1hX2ZpZWxkczoge30sIHNjaGVtYV91cmw6ICcnIH0pO1xuXG5cdFx0XHR3cC5hcGlSZXF1ZXN0KHsgcGF0aDogJy93cHByL3YxL3NjaGVtYS1maWVsZHM/dHlwZT0nICsgZSB9KS50aGVuKGZ1bmN0aW9uIChkYXRhKSB7XG5cdFx0XHRcdF90aGlzMi5zZXRTdGF0ZSh7IHNjaGVtYV9maWVsZHM6IGRhdGEuZmllbGRzLCBzY2hlbWFfdXJsOiBkYXRhLnVybCwgd3Bwcl9yZXZpZXdfdHlwZTogZSB9KTtcblx0XHRcdFx0X3RoaXMyLnByb3BzLmVkaXRQb3N0U3RhdHVzKHsgZWRpdGVkOiB0cnVlIH0pO1xuXHRcdFx0fSwgZnVuY3Rpb24gKGVycikge1xuXHRcdFx0XHRyZXR1cm4gZXJyO1xuXHRcdFx0fSk7XG5cdFx0fVxuXHR9LCB7XG5cdFx0a2V5OiAnb25DaGFuZ2VTY2hlbWFGaWVsZCcsXG5cdFx0dmFsdWU6IGZ1bmN0aW9uIG9uQ2hhbmdlU2NoZW1hRmllbGQoZSwgZmllbGQpIHtcblx0XHRcdHZhciBmaWVsZHMgPSBfZXh0ZW5kcyh7fSwgdGhpcy5zdGF0ZS53cHByX3Jldmlld19jdXN0b21fZmllbGRzKTtcblx0XHRcdHZhciBzY2hlbWFfZmllbGRzID0gX2V4dGVuZHMoe30sIHRoaXMuc3RhdGUuc2NoZW1hX2ZpZWxkcyk7XG5cdFx0XHRmaWVsZHNbZmllbGRdID0gZTtcblx0XHRcdHRoaXMuc2V0U3RhdGUoeyB3cHByX3Jldmlld19jdXN0b21fZmllbGRzOiBmaWVsZHMgfSk7XG5cdFx0XHR0aGlzLnByb3BzLmVkaXRQb3N0U3RhdHVzKHsgZWRpdGVkOiB0cnVlIH0pO1xuXHRcdH1cblx0fSwge1xuXHRcdGtleTogJ2FkZE9wdGlvbicsXG5cdFx0dmFsdWU6IGZ1bmN0aW9uIGFkZE9wdGlvbigpIHtcblx0XHRcdHZhciBrZXkgPSBfT2JqZWN0JGtleXModGhpcy5zdGF0ZS53cHByX29wdGlvbnMpLmxlbmd0aCArIDE7XG5cdFx0XHR2YXIgd3Bwcl9vcHRpb25zID0gX2V4dGVuZHMoe30sIHRoaXMuc3RhdGUud3Bwcl9vcHRpb25zKTtcblx0XHRcdHdwcHJfb3B0aW9uc1trZXldID0ge1xuXHRcdFx0XHRuYW1lOiAnJyxcblx0XHRcdFx0dmFsdWU6IDBcblx0XHRcdH07XG5cdFx0XHR0aGlzLnNldFN0YXRlKHsgd3Bwcl9vcHRpb25zOiB3cHByX29wdGlvbnMgfSk7XG5cdFx0fVxuXHR9LCB7XG5cdFx0a2V5OiAnb25DaGFuZ2VQcm9UZXh0Jyxcblx0XHR2YWx1ZTogZnVuY3Rpb24gb25DaGFuZ2VQcm9UZXh0KGUsIGtleSkge1xuXHRcdFx0dmFyIHdwcHJfcHJvcyA9IF9leHRlbmRzKHt9LCB0aGlzLnN0YXRlLndwcHJfcHJvcyk7XG5cdFx0XHR3cHByX3Byb3Nba2V5XSA9IGU7XG5cdFx0XHR0aGlzLnNldFN0YXRlKHsgd3Bwcl9wcm9zOiB3cHByX3Byb3MgfSk7XG5cdFx0XHR0aGlzLnByb3BzLmVkaXRQb3N0U3RhdHVzKHsgZWRpdGVkOiB0cnVlIH0pO1xuXHRcdH1cblx0fSwge1xuXHRcdGtleTogJ2FkZFBybycsXG5cdFx0dmFsdWU6IGZ1bmN0aW9uIGFkZFBybygpIHtcblx0XHRcdHZhciBrZXkgPSBfT2JqZWN0JGtleXModGhpcy5zdGF0ZS53cHByX3Byb3MpLmxlbmd0aDtcblx0XHRcdHZhciB3cHByX3Byb3MgPSBfZXh0ZW5kcyh7fSwgdGhpcy5zdGF0ZS53cHByX3Byb3MpO1xuXHRcdFx0d3Bwcl9wcm9zW2tleV0gPSAnJztcblx0XHRcdHRoaXMuc2V0U3RhdGUoeyB3cHByX3Byb3M6IHdwcHJfcHJvcyB9KTtcblx0XHR9XG5cdH0sIHtcblx0XHRrZXk6ICdvbkNoYW5nZUNvblRleHQnLFxuXHRcdHZhbHVlOiBmdW5jdGlvbiBvbkNoYW5nZUNvblRleHQoZSwga2V5KSB7XG5cdFx0XHR2YXIgd3Bwcl9jb25zID0gX2V4dGVuZHMoe30sIHRoaXMuc3RhdGUud3Bwcl9jb25zKTtcblx0XHRcdHdwcHJfY29uc1trZXldID0gZTtcblx0XHRcdHRoaXMuc2V0U3RhdGUoeyB3cHByX2NvbnM6IHdwcHJfY29ucyB9KTtcblx0XHRcdHRoaXMucHJvcHMuZWRpdFBvc3RTdGF0dXMoeyBlZGl0ZWQ6IHRydWUgfSk7XG5cdFx0fVxuXHR9LCB7XG5cdFx0a2V5OiAnYWRkQ29uJyxcblx0XHR2YWx1ZTogZnVuY3Rpb24gYWRkQ29uKCkge1xuXHRcdFx0dmFyIGtleSA9IF9PYmplY3Qka2V5cyh0aGlzLnN0YXRlLndwcHJfY29ucykubGVuZ3RoO1xuXHRcdFx0dmFyIHdwcHJfY29ucyA9IF9leHRlbmRzKHt9LCB0aGlzLnN0YXRlLndwcHJfY29ucyk7XG5cdFx0XHR3cHByX2NvbnNba2V5XSA9ICcnO1xuXHRcdFx0dGhpcy5zZXRTdGF0ZSh7IHdwcHJfY29uczogd3Bwcl9jb25zIH0pO1xuXHRcdH1cblx0fSwge1xuXHRcdGtleTogJ2ltcG9ydFJldmlldycsXG5cdFx0dmFsdWU6IGZ1bmN0aW9uIGltcG9ydFJldmlldyhrZXkpIHtcblx0XHRcdHRoaXMuc2V0U3RhdGUoe1xuXHRcdFx0XHR3cHByX29wdGlvbnM6IHRoaXMucHJvcHMucG9zdHNba2V5XS53cHByX2RhdGEud3Bwcl9vcHRpb25zLFxuXHRcdFx0XHR3cHByX3Byb3M6IHRoaXMucHJvcHMucG9zdHNba2V5XS53cHByX2RhdGEud3Bwcl9wcm9zLFxuXHRcdFx0XHR3cHByX2NvbnM6IHRoaXMucHJvcHMucG9zdHNba2V5XS53cHByX2RhdGEud3Bwcl9jb25zXG5cdFx0XHR9KTtcblx0XHRcdHRoaXMucHJvcHMuZWRpdFBvc3RTdGF0dXMoeyBlZGl0ZWQ6IHRydWUgfSk7XG5cdFx0XHR0aGlzLnByb3BzLnNldFN0YXRlKHsgaXNPcGVuOiBmYWxzZSB9KTtcblx0XHR9XG5cdH0sIHtcblx0XHRrZXk6ICdyZW5kZXInLFxuXHRcdHZhbHVlOiBmdW5jdGlvbiByZW5kZXIoKSB7XG5cdFx0XHR2YXIgX3RoaXMzID0gdGhpcztcblxuXHRcdFx0cmV0dXJuIHdwLmVsZW1lbnQuY3JlYXRlRWxlbWVudChcblx0XHRcdFx0RnJhZ21lbnQsXG5cdFx0XHRcdG51bGwsXG5cdFx0XHRcdHdwLmVsZW1lbnQuY3JlYXRlRWxlbWVudChcblx0XHRcdFx0XHRQbHVnaW5Qb3N0U3RhdHVzSW5mbyxcblx0XHRcdFx0XHRudWxsLFxuXHRcdFx0XHRcdHdwLmVsZW1lbnQuY3JlYXRlRWxlbWVudChcblx0XHRcdFx0XHRcdCdsYWJlbCcsXG5cdFx0XHRcdFx0XHR7IGh0bWxGb3I6ICdpcy10aGlzLWEtcmV2aWV3JyB9LFxuXHRcdFx0XHRcdFx0X18oJ0lzIHRoaXMgcG9zdCBhIHJldmlldz8nKVxuXHRcdFx0XHRcdCksXG5cdFx0XHRcdFx0d3AuZWxlbWVudC5jcmVhdGVFbGVtZW50KEZvcm1Ub2dnbGUsIHtcblx0XHRcdFx0XHRcdGNoZWNrZWQ6IHRoaXMuc3RhdGUuY3dwX21ldGFfYm94X2NoZWNrID09PSAnWWVzJyA/IHRydWUgOiBmYWxzZSxcblx0XHRcdFx0XHRcdG9uQ2hhbmdlOiB0aGlzLnRvZ2dsZVJldmlld1N0YXR1cyxcblx0XHRcdFx0XHRcdGlkOiAnaXMtdGhpcy1hLXJldmlldydcblx0XHRcdFx0XHR9KVxuXHRcdFx0XHQpLFxuXHRcdFx0XHR0aGlzLnN0YXRlLmN3cF9tZXRhX2JveF9jaGVjayA9PT0gJ1llcycgJiYgW3dwLmVsZW1lbnQuY3JlYXRlRWxlbWVudChcblx0XHRcdFx0XHRQbHVnaW5TaWRlYmFyTW9yZU1lbnVJdGVtLFxuXHRcdFx0XHRcdHtcblx0XHRcdFx0XHRcdHRhcmdldDogJ3dwLXByb2R1Y3QtcmV2aWV3J1xuXHRcdFx0XHRcdH0sXG5cdFx0XHRcdFx0X18oJ1dQIFByb2R1Y3QgUmV2aWV3Jylcblx0XHRcdFx0KSwgd3AuZWxlbWVudC5jcmVhdGVFbGVtZW50KFxuXHRcdFx0XHRcdFBsdWdpblNpZGViYXIsXG5cdFx0XHRcdFx0e1xuXHRcdFx0XHRcdFx0bmFtZTogJ3dwLXByb2R1Y3QtcmV2aWV3Jyxcblx0XHRcdFx0XHRcdHRpdGxlOiBfXygnV1AgUHJvZHVjdCBSZXZpZXcnKVxuXHRcdFx0XHRcdH0sXG5cdFx0XHRcdFx0d3AuZWxlbWVudC5jcmVhdGVFbGVtZW50KFxuXHRcdFx0XHRcdFx0UGFuZWxCb2R5LFxuXHRcdFx0XHRcdFx0e1xuXHRcdFx0XHRcdFx0XHR0aXRsZTogX18oJ1Byb2R1Y3QgRGV0YWlscycpLFxuXHRcdFx0XHRcdFx0XHRjbGFzc05hbWU6ICd3cC1wcm9kdWN0LXJldmlldy1wcm9kdWN0LWRldGFpbHMnLFxuXHRcdFx0XHRcdFx0XHRpbml0aWFsT3BlbjogdHJ1ZVxuXHRcdFx0XHRcdFx0fSxcblx0XHRcdFx0XHRcdHdwcHJndXRlbi5pc1BybyAmJiB3cC5lbGVtZW50LmNyZWF0ZUVsZW1lbnQoUmFkaW9JbWFnZUNvbnRyb2wsIHtcblx0XHRcdFx0XHRcdFx0bGFiZWw6IF9fKCdSZXZpZXcgVGVtcGxhdGUnKSxcblx0XHRcdFx0XHRcdFx0c2VsZWN0ZWQ6IHRoaXMuc3RhdGUuX3dwcHJfcmV2aWV3X3RlbXBsYXRlLFxuXHRcdFx0XHRcdFx0XHRvcHRpb25zOiBbe1xuXHRcdFx0XHRcdFx0XHRcdGxhYmVsOiBfXygnRGVmYXVsdCcpLFxuXHRcdFx0XHRcdFx0XHRcdHNyYzogd3Bwcmd1dGVuLnBhdGggKyAnL2Fzc2V0cy9pbWcvdGVtcGxhdGVzL2RlZmF1bHQucG5nJyxcblx0XHRcdFx0XHRcdFx0XHR2YWx1ZTogJ2RlZmF1bHQnXG5cdFx0XHRcdFx0XHRcdH0sIHtcblx0XHRcdFx0XHRcdFx0XHRsYWJlbDogX18oJ1N0eWxlIDEnKSxcblx0XHRcdFx0XHRcdFx0XHRzcmM6IHdwcHJndXRlbi5wYXRoICsgJy9hc3NldHMvaW1nL3RlbXBsYXRlcy9zdHlsZTEucG5nJyxcblx0XHRcdFx0XHRcdFx0XHR2YWx1ZTogJ3N0eWxlMSdcblx0XHRcdFx0XHRcdFx0fSwge1xuXHRcdFx0XHRcdFx0XHRcdGxhYmVsOiBfXygnU3R5bGUgMicpLFxuXHRcdFx0XHRcdFx0XHRcdHNyYzogd3Bwcmd1dGVuLnBhdGggKyAnL2Fzc2V0cy9pbWcvdGVtcGxhdGVzL3N0eWxlMi5wbmcnLFxuXHRcdFx0XHRcdFx0XHRcdHZhbHVlOiAnc3R5bGUyJ1xuXHRcdFx0XHRcdFx0XHR9XSxcblx0XHRcdFx0XHRcdFx0b25DaGFuZ2U6IHRoaXMub25DaGFuZ2VUZW1wbGF0ZVxuXHRcdFx0XHRcdFx0fSksXG5cdFx0XHRcdFx0XHR0aGlzLnByb3BzLnBvc3RUeXBlICE9PSAnd3Bwcl9yZXZpZXcnICYmIFt3cC5lbGVtZW50LmNyZWF0ZUVsZW1lbnQoVGV4dENvbnRyb2wsIHtcblx0XHRcdFx0XHRcdFx0bGFiZWw6IF9fKCdQcm9kdWN0IE5hbWUnKSxcblx0XHRcdFx0XHRcdFx0dHlwZTogJ3RleHQnLFxuXHRcdFx0XHRcdFx0XHR2YWx1ZTogdGhpcy5zdGF0ZS5jd3BfcmV2X3Byb2R1Y3RfbmFtZSxcblx0XHRcdFx0XHRcdFx0b25DaGFuZ2U6IHRoaXMub25DaGFuZ2VSZXZpZXdUaXRsZVxuXHRcdFx0XHRcdFx0fSldLFxuXHRcdFx0XHRcdFx0d3AuZWxlbWVudC5jcmVhdGVFbGVtZW50KFxuXHRcdFx0XHRcdFx0XHQnZGl2Jyxcblx0XHRcdFx0XHRcdFx0eyBjbGFzc05hbWU6ICd3cC1wcm9kdWN0LXJldmlldy1zaWRlYmFyLWJhc2UtY29udHJvbCcgfSxcblx0XHRcdFx0XHRcdFx0d3AuZWxlbWVudC5jcmVhdGVFbGVtZW50KFxuXHRcdFx0XHRcdFx0XHRcdCdsYWJlbCcsXG5cdFx0XHRcdFx0XHRcdFx0eyBjbGFzc05hbWU6ICdibG9ja3MtYmFzZS1jb250cm9sX19sYWJlbCcsICdmb3InOiAnaW5zcGVjdG9yLW1lZGlhLXVwbG9hZCcgfSxcblx0XHRcdFx0XHRcdFx0XHRfXygnUHJvZHVjdCBJbWFnZScpXG5cdFx0XHRcdFx0XHRcdCksXG5cdFx0XHRcdFx0XHRcdHdwLmVsZW1lbnQuY3JlYXRlRWxlbWVudChNZWRpYVVwbG9hZCwge1xuXHRcdFx0XHRcdFx0XHRcdHR5cGU6ICdpbWFnZScsXG5cdFx0XHRcdFx0XHRcdFx0aWQ6ICdpbnNwZWN0b3ItbWVkaWEtdXBsb2FkJyxcblx0XHRcdFx0XHRcdFx0XHR2YWx1ZTogdGhpcy5zdGF0ZS5jd3BfcmV2X3Byb2R1Y3RfaW1hZ2UsXG5cdFx0XHRcdFx0XHRcdFx0b25TZWxlY3Q6IHRoaXMub25DaGFuZ2VSZXZpZXdJbWFnZSxcblx0XHRcdFx0XHRcdFx0XHRyZW5kZXI6IGZ1bmN0aW9uIHJlbmRlcihfcmVmMikge1xuXHRcdFx0XHRcdFx0XHRcdFx0dmFyIG9wZW4gPSBfcmVmMi5vcGVuO1xuXHRcdFx0XHRcdFx0XHRcdFx0cmV0dXJuIFtfdGhpczMuc3RhdGUuY3dwX3Jldl9wcm9kdWN0X2ltYWdlICE9PSAnJyAmJiBbd3AuZWxlbWVudC5jcmVhdGVFbGVtZW50KCdpbWcnLCB7XG5cdFx0XHRcdFx0XHRcdFx0XHRcdG9uQ2xpY2s6IG9wZW4sXG5cdFx0XHRcdFx0XHRcdFx0XHRcdHNyYzogX3RoaXMzLnN0YXRlLmN3cF9yZXZfcHJvZHVjdF9pbWFnZSxcblx0XHRcdFx0XHRcdFx0XHRcdFx0YWx0OiBfXygnUmV2aWV3IGltYWdlJylcblx0XHRcdFx0XHRcdFx0XHRcdH0pLCB3cC5lbGVtZW50LmNyZWF0ZUVsZW1lbnQoXG5cdFx0XHRcdFx0XHRcdFx0XHRcdEJ1dHRvbixcblx0XHRcdFx0XHRcdFx0XHRcdFx0e1xuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdGlzTGFyZ2U6IHRydWUsXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0b25DbGljazogZnVuY3Rpb24gb25DbGljaygpIHtcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdHJldHVybiBfdGhpczMuc2V0U3RhdGUoeyBjd3BfcmV2X3Byb2R1Y3RfaW1hZ2U6ICcnIH0pO1xuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdH0sXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0c3R5bGU6IHsgbWFyZ2luVG9wOiAnMTBweCcgfVxuXHRcdFx0XHRcdFx0XHRcdFx0XHR9LFxuXHRcdFx0XHRcdFx0XHRcdFx0XHRfXygnUmVtb3ZlIEltYWdlJylcblx0XHRcdFx0XHRcdFx0XHRcdCldLCB3cC5lbGVtZW50LmNyZWF0ZUVsZW1lbnQoXG5cdFx0XHRcdFx0XHRcdFx0XHRcdEJ1dHRvbixcblx0XHRcdFx0XHRcdFx0XHRcdFx0e1xuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdGlzTGFyZ2U6IHRydWUsXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0b25DbGljazogb3Blbixcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRzdHlsZTogeyBtYXJnaW5Ub3A6ICcxMHB4JyB9LFxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdGNsYXNzTmFtZTogX3RoaXMzLnN0YXRlLmN3cF9yZXZfcHJvZHVjdF9pbWFnZSA9PT0gJycgJiYgJ3dwcHJfaW1hZ2VfdXBsb2FkJ1xuXHRcdFx0XHRcdFx0XHRcdFx0XHR9LFxuXHRcdFx0XHRcdFx0XHRcdFx0XHRfXygnQ2hvb3NlIG9yIFVwbG9hZCBhbiBJbWFnZScpXG5cdFx0XHRcdFx0XHRcdFx0XHQpXTtcblx0XHRcdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0XHRcdH0pXG5cdFx0XHRcdFx0XHQpLFxuXHRcdFx0XHRcdFx0d3AuZWxlbWVudC5jcmVhdGVFbGVtZW50KFNlbGVjdENvbnRyb2wsIHtcblx0XHRcdFx0XHRcdFx0bGFiZWw6IF9fKCdQcm9kdWN0IEltYWdlIENsaWNrJyksXG5cdFx0XHRcdFx0XHRcdHZhbHVlOiB0aGlzLnN0YXRlLmN3cF9pbWFnZV9saW5rLFxuXHRcdFx0XHRcdFx0XHRvcHRpb25zOiBbe1xuXHRcdFx0XHRcdFx0XHRcdGxhYmVsOiBfXygnU2hvdyBXaG9sZSBJbWFnZScpLFxuXHRcdFx0XHRcdFx0XHRcdHZhbHVlOiAnaW1hZ2UnXG5cdFx0XHRcdFx0XHRcdH0sIHtcblx0XHRcdFx0XHRcdFx0XHRsYWJlbDogX18oJ09wZW4gQWZmaWxpYXRlIExpbmsnKSxcblx0XHRcdFx0XHRcdFx0XHR2YWx1ZTogJ2xpbmsnXG5cdFx0XHRcdFx0XHRcdH1dLFxuXHRcdFx0XHRcdFx0XHRvbkNoYW5nZTogdGhpcy5vbkNoYW5nZUltYWdlTGlua1xuXHRcdFx0XHRcdFx0fSksXG5cdFx0XHRcdFx0XHR3cC5lbGVtZW50LmNyZWF0ZUVsZW1lbnQoXG5cdFx0XHRcdFx0XHRcdCdkaXYnLFxuXHRcdFx0XHRcdFx0XHR7IGNsYXNzTmFtZTogJ3dwcHItcmV2aWV3LWxpbmtzLWxpc3QnIH0sXG5cdFx0XHRcdFx0XHRcdF9PYmplY3Qka2V5cyh0aGlzLnN0YXRlLndwcHJfbGlua3MpLm1hcChmdW5jdGlvbiAoa2V5KSB7XG5cdFx0XHRcdFx0XHRcdFx0cmV0dXJuIHdwLmVsZW1lbnQuY3JlYXRlRWxlbWVudChcblx0XHRcdFx0XHRcdFx0XHRcdEZyYWdtZW50LFxuXHRcdFx0XHRcdFx0XHRcdFx0bnVsbCxcblx0XHRcdFx0XHRcdFx0XHRcdHdwLmVsZW1lbnQuY3JlYXRlRWxlbWVudChUZXh0Q29udHJvbCwge1xuXHRcdFx0XHRcdFx0XHRcdFx0XHRsYWJlbDogX18oJ0FmZmlsaWF0ZSBCdXR0b24gVGV4dCcpLFxuXHRcdFx0XHRcdFx0XHRcdFx0XHR0eXBlOiAndGV4dCcsXG5cdFx0XHRcdFx0XHRcdFx0XHRcdHZhbHVlOiBrZXkgIT0gMSA/IGtleSA6ICcnLFxuXHRcdFx0XHRcdFx0XHRcdFx0XHRvbkNoYW5nZTogZnVuY3Rpb24gb25DaGFuZ2UoZSkge1xuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdHJldHVybiBfdGhpczMub25DaGFuZ2VSZXZpZXdBZmZpbGlhdGVUaXRsZShlLCBrZXkpO1xuXHRcdFx0XHRcdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0XHRcdFx0XHR9KSxcblx0XHRcdFx0XHRcdFx0XHRcdHdwLmVsZW1lbnQuY3JlYXRlRWxlbWVudChUZXh0Q29udHJvbCwge1xuXHRcdFx0XHRcdFx0XHRcdFx0XHRsYWJlbDogX18oJ0FmZmlsaWF0ZSBCdXR0b24gTGluaycpLFxuXHRcdFx0XHRcdFx0XHRcdFx0XHR0eXBlOiAndXJsJyxcblx0XHRcdFx0XHRcdFx0XHRcdFx0dmFsdWU6IF90aGlzMy5zdGF0ZS53cHByX2xpbmtzW2tleV0sXG5cdFx0XHRcdFx0XHRcdFx0XHRcdG9uQ2hhbmdlOiBmdW5jdGlvbiBvbkNoYW5nZShlKSB7XG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0cmV0dXJuIF90aGlzMy5vbkNoYW5nZVJldmlld0FmZmlsaWF0ZUxpbmsoZSwga2V5KTtcblx0XHRcdFx0XHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdFx0XHRcdFx0fSlcblx0XHRcdFx0XHRcdFx0XHQpO1xuXHRcdFx0XHRcdFx0XHR9KSxcblx0XHRcdFx0XHRcdFx0X09iamVjdCRrZXlzKHRoaXMuc3RhdGUud3Bwcl9saW5rcykubGVuZ3RoIDwgMiAmJiB3cC5lbGVtZW50LmNyZWF0ZUVsZW1lbnQoXG5cdFx0XHRcdFx0XHRcdFx0QnV0dG9uLFxuXHRcdFx0XHRcdFx0XHRcdHtcblx0XHRcdFx0XHRcdFx0XHRcdGlzTGFyZ2U6IHRydWUsXG5cdFx0XHRcdFx0XHRcdFx0XHRvbkNsaWNrOiB0aGlzLmFkZEJ1dHRvblxuXHRcdFx0XHRcdFx0XHRcdH0sXG5cdFx0XHRcdFx0XHRcdFx0X18oJ0FkZCBhbm90aGVyIGJ1dHRvbicpXG5cdFx0XHRcdFx0XHRcdClcblx0XHRcdFx0XHRcdCksXG5cdFx0XHRcdFx0XHR3cC5lbGVtZW50LmNyZWF0ZUVsZW1lbnQoVGV4dENvbnRyb2wsIHtcblx0XHRcdFx0XHRcdFx0bGFiZWw6IF9fKCdQcm9kdWN0IFByaWNlJyksXG5cdFx0XHRcdFx0XHRcdHR5cGU6ICd0ZXh0Jyxcblx0XHRcdFx0XHRcdFx0dmFsdWU6IHRoaXMuc3RhdGUuY3dwX3Jldl9wcmljZSxcblx0XHRcdFx0XHRcdFx0b25DaGFuZ2U6IHRoaXMub25DaGFuZ2VSZXZpZXdQcmljZVxuXHRcdFx0XHRcdFx0fSlcblx0XHRcdFx0XHQpLFxuXHRcdFx0XHRcdHdwLmVsZW1lbnQuY3JlYXRlRWxlbWVudChcblx0XHRcdFx0XHRcdFBhbmVsQm9keSxcblx0XHRcdFx0XHRcdHtcblx0XHRcdFx0XHRcdFx0dGl0bGU6IF9fKCdQcm9kdWN0IE9wdGlvbnMnKSxcblx0XHRcdFx0XHRcdFx0Y2xhc3NOYW1lOiAnd3AtcHJvZHVjdC1yZXZpZXctcHJvZHVjdC1vcHRpb25zJyxcblx0XHRcdFx0XHRcdFx0aW5pdGlhbE9wZW46IGZhbHNlXG5cdFx0XHRcdFx0XHR9LFxuXHRcdFx0XHRcdFx0d3AuZWxlbWVudC5jcmVhdGVFbGVtZW50KFxuXHRcdFx0XHRcdFx0XHQnZGl2Jyxcblx0XHRcdFx0XHRcdFx0eyBjbGFzc05hbWU6ICd3cHByLXJldmlldy1vcHRpb25zLWxpc3QnIH0sXG5cdFx0XHRcdFx0XHRcdF9PYmplY3Qka2V5cyh0aGlzLnN0YXRlLndwcHJfb3B0aW9ucykubWFwKGZ1bmN0aW9uIChrZXkpIHtcblx0XHRcdFx0XHRcdFx0XHRyZXR1cm4gd3AuZWxlbWVudC5jcmVhdGVFbGVtZW50KFxuXHRcdFx0XHRcdFx0XHRcdFx0J2RpdicsXG5cdFx0XHRcdFx0XHRcdFx0XHR7IGNsYXNzTmFtZTogJ3dwcHItcmV2aWV3LW9wdGlvbnMtaXRlbScgfSxcblx0XHRcdFx0XHRcdFx0XHRcdHdwLmVsZW1lbnQuY3JlYXRlRWxlbWVudChcblx0XHRcdFx0XHRcdFx0XHRcdFx0J2xhYmVsJyxcblx0XHRcdFx0XHRcdFx0XHRcdFx0eyAnZm9yJzogJ3dwcHItb3B0aW9uLWl0ZW0tJyArIGtleSB9LFxuXHRcdFx0XHRcdFx0XHRcdFx0XHRrZXlcblx0XHRcdFx0XHRcdFx0XHRcdCksXG5cdFx0XHRcdFx0XHRcdFx0XHR3cC5lbGVtZW50LmNyZWF0ZUVsZW1lbnQoVGV4dENvbnRyb2wsIHtcblx0XHRcdFx0XHRcdFx0XHRcdFx0dHlwZTogJ3RleHQnLFxuXHRcdFx0XHRcdFx0XHRcdFx0XHRpZDogJ3dwcHItb3B0aW9uLWl0ZW0tJyArIGtleSxcblx0XHRcdFx0XHRcdFx0XHRcdFx0Y2xhc3NOYW1lOiAnd3Bwci10ZXh0Jyxcblx0XHRcdFx0XHRcdFx0XHRcdFx0cGxhY2Vob2xkZXI6IF9fKCdPcHRpb24nKSxcblx0XHRcdFx0XHRcdFx0XHRcdFx0dmFsdWU6IF90aGlzMy5zdGF0ZS53cHByX29wdGlvbnNba2V5XS5uYW1lLFxuXHRcdFx0XHRcdFx0XHRcdFx0XHRvbkNoYW5nZTogZnVuY3Rpb24gb25DaGFuZ2UoZSkge1xuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdHJldHVybiBfdGhpczMub25DaGFuZ2VPcHRpb25UZXh0KGUsIGtleSk7XG5cdFx0XHRcdFx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHRcdFx0XHRcdH0pLFxuXHRcdFx0XHRcdFx0XHRcdFx0d3AuZWxlbWVudC5jcmVhdGVFbGVtZW50KFRleHRDb250cm9sLCB7XG5cdFx0XHRcdFx0XHRcdFx0XHRcdHR5cGU6ICdudW1iZXInLFxuXHRcdFx0XHRcdFx0XHRcdFx0XHRjbGFzc05hbWU6ICd3cHByLXRleHQgd3Bwci1vcHRpb24tbnVtYmVyJyxcblx0XHRcdFx0XHRcdFx0XHRcdFx0cGxhY2Vob2xkZXI6IF9fKCcwJyksXG5cdFx0XHRcdFx0XHRcdFx0XHRcdG1pbjogMCxcblx0XHRcdFx0XHRcdFx0XHRcdFx0bWF4OiAxMDAsXG5cdFx0XHRcdFx0XHRcdFx0XHRcdHZhbHVlOiBfdGhpczMuc3RhdGUud3Bwcl9vcHRpb25zW2tleV0udmFsdWUsXG5cdFx0XHRcdFx0XHRcdFx0XHRcdG9uQ2hhbmdlOiBmdW5jdGlvbiBvbkNoYW5nZShlKSB7XG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0cmV0dXJuIF90aGlzMy5vbkNoYW5nZU9wdGlvbk51bWJlcihlLCBrZXkpO1xuXHRcdFx0XHRcdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0XHRcdFx0XHR9KVxuXHRcdFx0XHRcdFx0XHRcdCk7XG5cdFx0XHRcdFx0XHRcdH0pLFxuXHRcdFx0XHRcdFx0XHRfT2JqZWN0JGtleXModGhpcy5zdGF0ZS53cHByX29wdGlvbnMpLmxlbmd0aCA8IHdwcHJndXRlbi5sZW5ndGggJiYgd3AuZWxlbWVudC5jcmVhdGVFbGVtZW50KFxuXHRcdFx0XHRcdFx0XHRcdEJ1dHRvbixcblx0XHRcdFx0XHRcdFx0XHR7XG5cdFx0XHRcdFx0XHRcdFx0XHRpc0xhcmdlOiB0cnVlLFxuXHRcdFx0XHRcdFx0XHRcdFx0b25DbGljazogdGhpcy5hZGRPcHRpb25cblx0XHRcdFx0XHRcdFx0XHR9LFxuXHRcdFx0XHRcdFx0XHRcdF9fKCdBZGQgYW5vdGhlciBvcHRpb24nKVxuXHRcdFx0XHRcdFx0XHQpXG5cdFx0XHRcdFx0XHQpXG5cdFx0XHRcdFx0KSxcblx0XHRcdFx0XHR3cC5lbGVtZW50LmNyZWF0ZUVsZW1lbnQoXG5cdFx0XHRcdFx0XHRQYW5lbEJvZHksXG5cdFx0XHRcdFx0XHR7XG5cdFx0XHRcdFx0XHRcdHRpdGxlOiBfXygnUHJvIEZlYXR1cmVzJyksXG5cdFx0XHRcdFx0XHRcdGNsYXNzTmFtZTogJ3dwLXByb2R1Y3QtcmV2aWV3LXByb2R1Y3QtcHJvcycsXG5cdFx0XHRcdFx0XHRcdGluaXRpYWxPcGVuOiBmYWxzZVxuXHRcdFx0XHRcdFx0fSxcblx0XHRcdFx0XHRcdHdwLmVsZW1lbnQuY3JlYXRlRWxlbWVudChcblx0XHRcdFx0XHRcdFx0J2RpdicsXG5cdFx0XHRcdFx0XHRcdHsgY2xhc3NOYW1lOiAnd3Bwci1yZXZpZXctcHJvLWxpc3QnIH0sXG5cdFx0XHRcdFx0XHRcdF9PYmplY3Qka2V5cyh0aGlzLnN0YXRlLndwcHJfcHJvcykubWFwKGZ1bmN0aW9uIChrZXkpIHtcblx0XHRcdFx0XHRcdFx0XHRyZXR1cm4gd3AuZWxlbWVudC5jcmVhdGVFbGVtZW50KFxuXHRcdFx0XHRcdFx0XHRcdFx0J2RpdicsXG5cdFx0XHRcdFx0XHRcdFx0XHR7IGNsYXNzTmFtZTogJ3dwcHItcmV2aWV3LXByby1pdGVtJyB9LFxuXHRcdFx0XHRcdFx0XHRcdFx0d3AuZWxlbWVudC5jcmVhdGVFbGVtZW50KFxuXHRcdFx0XHRcdFx0XHRcdFx0XHQnbGFiZWwnLFxuXHRcdFx0XHRcdFx0XHRcdFx0XHR7ICdmb3InOiAnd3Bwci1wcm8taXRlbS0nICsga2V5IH0sXG5cdFx0XHRcdFx0XHRcdFx0XHRcdHBhcnNlSW50KGtleSkgKyAxXG5cdFx0XHRcdFx0XHRcdFx0XHQpLFxuXHRcdFx0XHRcdFx0XHRcdFx0d3AuZWxlbWVudC5jcmVhdGVFbGVtZW50KFRleHRDb250cm9sLCB7XG5cdFx0XHRcdFx0XHRcdFx0XHRcdHR5cGU6ICd0ZXh0Jyxcblx0XHRcdFx0XHRcdFx0XHRcdFx0aWQ6ICd3cHByLXByby1pdGVtLScgKyBrZXksXG5cdFx0XHRcdFx0XHRcdFx0XHRcdGNsYXNzTmFtZTogJ3dwcHItdGV4dCcsXG5cdFx0XHRcdFx0XHRcdFx0XHRcdHBsYWNlaG9sZGVyOiBfXygnT3B0aW9uJyksXG5cdFx0XHRcdFx0XHRcdFx0XHRcdHZhbHVlOiBfdGhpczMuc3RhdGUud3Bwcl9wcm9zW2tleV0sXG5cdFx0XHRcdFx0XHRcdFx0XHRcdG9uQ2hhbmdlOiBmdW5jdGlvbiBvbkNoYW5nZShlKSB7XG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0cmV0dXJuIF90aGlzMy5vbkNoYW5nZVByb1RleHQoZSwga2V5KTtcblx0XHRcdFx0XHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdFx0XHRcdFx0fSlcblx0XHRcdFx0XHRcdFx0XHQpO1xuXHRcdFx0XHRcdFx0XHR9KSxcblx0XHRcdFx0XHRcdFx0X09iamVjdCRrZXlzKHRoaXMuc3RhdGUud3Bwcl9wcm9zKS5sZW5ndGggPCB3cHByZ3V0ZW4ubGVuZ3RoICYmIHdwLmVsZW1lbnQuY3JlYXRlRWxlbWVudChcblx0XHRcdFx0XHRcdFx0XHRCdXR0b24sXG5cdFx0XHRcdFx0XHRcdFx0e1xuXHRcdFx0XHRcdFx0XHRcdFx0aXNMYXJnZTogdHJ1ZSxcblx0XHRcdFx0XHRcdFx0XHRcdG9uQ2xpY2s6IHRoaXMuYWRkUHJvXG5cdFx0XHRcdFx0XHRcdFx0fSxcblx0XHRcdFx0XHRcdFx0XHRfXygnQWRkIGFub3RoZXIgb3B0aW9uJylcblx0XHRcdFx0XHRcdFx0KVxuXHRcdFx0XHRcdFx0KVxuXHRcdFx0XHRcdCksXG5cdFx0XHRcdFx0d3AuZWxlbWVudC5jcmVhdGVFbGVtZW50KFxuXHRcdFx0XHRcdFx0UGFuZWxCb2R5LFxuXHRcdFx0XHRcdFx0e1xuXHRcdFx0XHRcdFx0XHR0aXRsZTogX18oJ0NvbiBGZWF0dXJlcycpLFxuXHRcdFx0XHRcdFx0XHRjbGFzc05hbWU6ICd3cC1wcm9kdWN0LXJldmlldy1wcm9kdWN0LWNvbnMnLFxuXHRcdFx0XHRcdFx0XHRpbml0aWFsT3BlbjogZmFsc2Vcblx0XHRcdFx0XHRcdH0sXG5cdFx0XHRcdFx0XHR3cC5lbGVtZW50LmNyZWF0ZUVsZW1lbnQoXG5cdFx0XHRcdFx0XHRcdCdkaXYnLFxuXHRcdFx0XHRcdFx0XHR7IGNsYXNzTmFtZTogJ3dwcHItcmV2aWV3LWNvbi1saXN0JyB9LFxuXHRcdFx0XHRcdFx0XHRfT2JqZWN0JGtleXModGhpcy5zdGF0ZS53cHByX2NvbnMpLm1hcChmdW5jdGlvbiAoa2V5KSB7XG5cdFx0XHRcdFx0XHRcdFx0cmV0dXJuIHdwLmVsZW1lbnQuY3JlYXRlRWxlbWVudChcblx0XHRcdFx0XHRcdFx0XHRcdCdkaXYnLFxuXHRcdFx0XHRcdFx0XHRcdFx0eyBjbGFzc05hbWU6ICd3cHByLXJldmlldy1jb24taXRlbScgfSxcblx0XHRcdFx0XHRcdFx0XHRcdHdwLmVsZW1lbnQuY3JlYXRlRWxlbWVudChcblx0XHRcdFx0XHRcdFx0XHRcdFx0J2xhYmVsJyxcblx0XHRcdFx0XHRcdFx0XHRcdFx0eyAnZm9yJzogJ3dwcHItY29uLWl0ZW0tJyArIGtleSB9LFxuXHRcdFx0XHRcdFx0XHRcdFx0XHRwYXJzZUludChrZXkpICsgMVxuXHRcdFx0XHRcdFx0XHRcdFx0KSxcblx0XHRcdFx0XHRcdFx0XHRcdHdwLmVsZW1lbnQuY3JlYXRlRWxlbWVudChUZXh0Q29udHJvbCwge1xuXHRcdFx0XHRcdFx0XHRcdFx0XHR0eXBlOiAndGV4dCcsXG5cdFx0XHRcdFx0XHRcdFx0XHRcdGlkOiAnd3Bwci1jb24taXRlbS0nICsga2V5LFxuXHRcdFx0XHRcdFx0XHRcdFx0XHRjbGFzc05hbWU6ICd3cHByLXRleHQnLFxuXHRcdFx0XHRcdFx0XHRcdFx0XHRwbGFjZWhvbGRlcjogX18oJ09wdGlvbicpLFxuXHRcdFx0XHRcdFx0XHRcdFx0XHR2YWx1ZTogX3RoaXMzLnN0YXRlLndwcHJfY29uc1trZXldLFxuXHRcdFx0XHRcdFx0XHRcdFx0XHRvbkNoYW5nZTogZnVuY3Rpb24gb25DaGFuZ2UoZSkge1xuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdHJldHVybiBfdGhpczMub25DaGFuZ2VDb25UZXh0KGUsIGtleSk7XG5cdFx0XHRcdFx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHRcdFx0XHRcdH0pXG5cdFx0XHRcdFx0XHRcdFx0KTtcblx0XHRcdFx0XHRcdFx0fSksXG5cdFx0XHRcdFx0XHRcdF9PYmplY3Qka2V5cyh0aGlzLnN0YXRlLndwcHJfY29ucykubGVuZ3RoIDwgd3Bwcmd1dGVuLmxlbmd0aCAmJiB3cC5lbGVtZW50LmNyZWF0ZUVsZW1lbnQoXG5cdFx0XHRcdFx0XHRcdFx0QnV0dG9uLFxuXHRcdFx0XHRcdFx0XHRcdHtcblx0XHRcdFx0XHRcdFx0XHRcdGlzTGFyZ2U6IHRydWUsXG5cdFx0XHRcdFx0XHRcdFx0XHRvbkNsaWNrOiB0aGlzLmFkZENvblxuXHRcdFx0XHRcdFx0XHRcdH0sXG5cdFx0XHRcdFx0XHRcdFx0X18oJ0FkZCBhbm90aGVyIG9wdGlvbicpXG5cdFx0XHRcdFx0XHRcdClcblx0XHRcdFx0XHRcdClcblx0XHRcdFx0XHQpLFxuXHRcdFx0XHRcdHdwcHJndXRlbi5zY2hlbWFfdHlwZXMgJiYgd3Bwcmd1dGVuLnNjaGVtYV90eXBlcy5sZW5ndGggPiAwICYmIHdwLmVsZW1lbnQuY3JlYXRlRWxlbWVudChcblx0XHRcdFx0XHRcdFBhbmVsQm9keSxcblx0XHRcdFx0XHRcdHtcblx0XHRcdFx0XHRcdFx0dGl0bGU6IF9fKCdTY2hlbWEgRGV0YWlscycpLFxuXHRcdFx0XHRcdFx0XHRjbGFzc05hbWU6ICd3cC1wcm9kdWN0LXJldmlldy1zY2hlbWEnLFxuXHRcdFx0XHRcdFx0XHRpbml0aWFsT3BlbjogZmFsc2Vcblx0XHRcdFx0XHRcdH0sXG5cdFx0XHRcdFx0XHR3cC5lbGVtZW50LmNyZWF0ZUVsZW1lbnQoXG5cdFx0XHRcdFx0XHRcdCdkaXYnLFxuXHRcdFx0XHRcdFx0XHR7IGNsYXNzTmFtZTogJ3dwcHItcmV2aWV3LXNjaGVtYScgfSxcblx0XHRcdFx0XHRcdFx0d3AuZWxlbWVudC5jcmVhdGVFbGVtZW50KFNlbGVjdENvbnRyb2wsIHtcblx0XHRcdFx0XHRcdFx0XHRsYWJlbDogX18oJ1JldmlldyBUeXBlJyksXG5cdFx0XHRcdFx0XHRcdFx0dmFsdWU6IHRoaXMuc3RhdGUud3Bwcl9yZXZpZXdfdHlwZSxcblx0XHRcdFx0XHRcdFx0XHRvcHRpb25zOiB3cHByZ3V0ZW4uc2NoZW1hX3R5cGVzLFxuXHRcdFx0XHRcdFx0XHRcdG9uQ2hhbmdlOiB0aGlzLm9uQ2hhbmdlU2NoZW1hVHlwZVxuXHRcdFx0XHRcdFx0XHR9KVxuXHRcdFx0XHRcdFx0KSxcblx0XHRcdFx0XHRcdHdwLmVsZW1lbnQuY3JlYXRlRWxlbWVudChcblx0XHRcdFx0XHRcdFx0J2RpdicsXG5cdFx0XHRcdFx0XHRcdHsgY2xhc3NOYW1lOiAnd3Bwci1yZXZpZXctc2NoZW1hLWZpZWxkcycgfSxcblx0XHRcdFx0XHRcdFx0ISF0aGlzLnN0YXRlLnNjaGVtYV91cmwgJiYgd3AuZWxlbWVudC5jcmVhdGVFbGVtZW50KFxuXHRcdFx0XHRcdFx0XHRcdEV4dGVybmFsTGluayxcblx0XHRcdFx0XHRcdFx0XHR7IGhyZWY6IHRoaXMuc3RhdGUuc2NoZW1hX3VybCwgdGl0bGU6IF9fKCdWaWV3IFNjaGVtYSBEZXNjcmlwdGlvbiAnKSB9LFxuXHRcdFx0XHRcdFx0XHRcdF9fKCdWaWV3IFNjaGVtYSBEZXNjcmlwdGlvbiAnKVxuXHRcdFx0XHRcdFx0XHQpLFxuXHRcdFx0XHRcdFx0XHRfT2JqZWN0JHZhbHVlcyh0aGlzLnN0YXRlLnNjaGVtYV9maWVsZHMpLm1hcChmdW5jdGlvbiAoZmllbGQsIGtleSkge1xuXHRcdFx0XHRcdFx0XHRcdHJldHVybiB3cC5lbGVtZW50LmNyZWF0ZUVsZW1lbnQoXG5cdFx0XHRcdFx0XHRcdFx0XHQnZGl2Jyxcblx0XHRcdFx0XHRcdFx0XHRcdHsgY2xhc3NOYW1lOiAnd3Bwci1yZXZpZXctc2NoZW1hLWZpZWxkJyB9LFxuXHRcdFx0XHRcdFx0XHRcdFx0d3AuZWxlbWVudC5jcmVhdGVFbGVtZW50KFxuXHRcdFx0XHRcdFx0XHRcdFx0XHQnbGFiZWwnLFxuXHRcdFx0XHRcdFx0XHRcdFx0XHR7ICdmb3InOiAnd3Bwci1zY2hlbWEtZmllbGQtJyArIGtleSB9LFxuXHRcdFx0XHRcdFx0XHRcdFx0XHRmaWVsZFxuXHRcdFx0XHRcdFx0XHRcdFx0KSxcblx0XHRcdFx0XHRcdFx0XHRcdHdwLmVsZW1lbnQuY3JlYXRlRWxlbWVudChUZXh0Q29udHJvbCwge1xuXHRcdFx0XHRcdFx0XHRcdFx0XHR0eXBlOiAndGV4dCcsXG5cdFx0XHRcdFx0XHRcdFx0XHRcdGlkOiAnd3Bwci1zY2hlbWEtZmllbGQtJyArIGtleSxcblx0XHRcdFx0XHRcdFx0XHRcdFx0bmFtZTogJ3dwcHItc2NoZW1hLWZpZWxkLScgKyBmaWVsZCxcblx0XHRcdFx0XHRcdFx0XHRcdFx0Y2xhc3NOYW1lOiAnd3Bwci10ZXh0Jyxcblx0XHRcdFx0XHRcdFx0XHRcdFx0dmFsdWU6IF90aGlzMy5zdGF0ZS53cHByX3Jldmlld19jdXN0b21fZmllbGRzW2ZpZWxkXSA/IF90aGlzMy5zdGF0ZS53cHByX3Jldmlld19jdXN0b21fZmllbGRzW2ZpZWxkXSA6ICcnLFxuXHRcdFx0XHRcdFx0XHRcdFx0XHRvbkNoYW5nZTogZnVuY3Rpb24gb25DaGFuZ2UoZSkge1xuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdHJldHVybiBfdGhpczMub25DaGFuZ2VTY2hlbWFGaWVsZChlLCBmaWVsZCk7XG5cdFx0XHRcdFx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHRcdFx0XHRcdH0pXG5cdFx0XHRcdFx0XHRcdFx0KTtcblx0XHRcdFx0XHRcdFx0fSlcblx0XHRcdFx0XHRcdClcblx0XHRcdFx0XHQpLFxuXHRcdFx0XHRcdHdwcHJndXRlbi5pc1BybyAmJiB3cC5lbGVtZW50LmNyZWF0ZUVsZW1lbnQoXG5cdFx0XHRcdFx0XHQnZGl2Jyxcblx0XHRcdFx0XHRcdHsgY2xhc3NOYW1lOiAnd3Bwci1yZXZpZXctaW1wb3J0LXJldmlldy1idXR0b24nIH0sXG5cdFx0XHRcdFx0XHR3cC5lbGVtZW50LmNyZWF0ZUVsZW1lbnQoXG5cdFx0XHRcdFx0XHRcdEJ1dHRvbixcblx0XHRcdFx0XHRcdFx0e1xuXHRcdFx0XHRcdFx0XHRcdGlzTGFyZ2U6IHRydWUsXG5cdFx0XHRcdFx0XHRcdFx0aXNQcmltYXJ5OiB0cnVlLFxuXHRcdFx0XHRcdFx0XHRcdG9uQ2xpY2s6IGZ1bmN0aW9uIG9uQ2xpY2soKSB7XG5cdFx0XHRcdFx0XHRcdFx0XHRyZXR1cm4gX3RoaXMzLnByb3BzLnNldFN0YXRlKHsgaXNPcGVuOiB0cnVlIH0pO1xuXHRcdFx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHRcdFx0fSxcblx0XHRcdFx0XHRcdFx0X18oJ0ltcG9ydCBSZXZpZXcnKVxuXHRcdFx0XHRcdFx0KSxcblx0XHRcdFx0XHRcdHRoaXMucHJvcHMuaXNPcGVuID8gd3AuZWxlbWVudC5jcmVhdGVFbGVtZW50KFxuXHRcdFx0XHRcdFx0XHRNb2RhbCxcblx0XHRcdFx0XHRcdFx0e1xuXHRcdFx0XHRcdFx0XHRcdHRpdGxlOiBfXygnSW1wb3J0IFJldmlldycpLFxuXHRcdFx0XHRcdFx0XHRcdGNsYXNzTmFtZTogJ3dwcHItcmV2aWV3LWltcG9ydC1tb2RhbCcsXG5cdFx0XHRcdFx0XHRcdFx0b25SZXF1ZXN0Q2xvc2U6IGZ1bmN0aW9uIG9uUmVxdWVzdENsb3NlKCkge1xuXHRcdFx0XHRcdFx0XHRcdFx0cmV0dXJuIF90aGlzMy5wcm9wcy5zZXRTdGF0ZSh7IGlzT3BlbjogZmFsc2UgfSk7XG5cdFx0XHRcdFx0XHRcdFx0fSB9LFxuXHRcdFx0XHRcdFx0XHR0aGlzLnByb3BzLnBvc3RzICYmIF9PYmplY3Qka2V5cyh0aGlzLnByb3BzLnBvc3RzKS5tYXAoZnVuY3Rpb24gKGtleSkge1xuXHRcdFx0XHRcdFx0XHRcdHJldHVybiB3cC5lbGVtZW50LmNyZWF0ZUVsZW1lbnQoXG5cdFx0XHRcdFx0XHRcdFx0XHRQYW5lbEJvZHksXG5cdFx0XHRcdFx0XHRcdFx0XHR7XG5cdFx0XHRcdFx0XHRcdFx0XHRcdHRpdGxlOiBfdGhpczMucHJvcHMucG9zdHNba2V5XS50aXRsZS5yYXcsXG5cdFx0XHRcdFx0XHRcdFx0XHRcdGluaXRpYWxPcGVuOiBmYWxzZVxuXHRcdFx0XHRcdFx0XHRcdFx0fSxcblx0XHRcdFx0XHRcdFx0XHRcdHdwLmVsZW1lbnQuY3JlYXRlRWxlbWVudChcblx0XHRcdFx0XHRcdFx0XHRcdFx0J2RpdicsXG5cdFx0XHRcdFx0XHRcdFx0XHRcdHsgY2xhc3NOYW1lOiAnY3dwX3BpdGVtX2luZm8nIH0sXG5cdFx0XHRcdFx0XHRcdFx0XHRcdHdwLmVsZW1lbnQuY3JlYXRlRWxlbWVudChcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHQndWwnLFxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdHsgJ2NsYXNzJzogJ2N3cF9waXRlbV9vcHRpb25zX2NvbnRlbnQnIH0sXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0d3AuZWxlbWVudC5jcmVhdGVFbGVtZW50KFxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0J2g0Jyxcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdG51bGwsXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRfXygnT3B0aW9ucycpXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0KSxcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRfT2JqZWN0JGtleXMoX3RoaXMzLnByb3BzLnBvc3RzW2tleV0ud3Bwcl9kYXRhLndwcHJfb3B0aW9ucykubWFwKGZ1bmN0aW9uIChpKSB7XG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRyZXR1cm4gd3AuZWxlbWVudC5jcmVhdGVFbGVtZW50KFxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHQnbGknLFxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRudWxsLFxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRfdGhpczMucHJvcHMucG9zdHNba2V5XS53cHByX2RhdGEud3Bwcl9vcHRpb25zW2ldLm5hbWVcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdCk7XG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0fSlcblx0XHRcdFx0XHRcdFx0XHRcdFx0KSxcblx0XHRcdFx0XHRcdFx0XHRcdFx0d3AuZWxlbWVudC5jcmVhdGVFbGVtZW50KFxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdCd1bCcsXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0eyAnY2xhc3MnOiAnY3dwX3BpdGVtX29wdGlvbnNfcHJvcycgfSxcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHR3cC5lbGVtZW50LmNyZWF0ZUVsZW1lbnQoXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHQnaDQnLFxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0bnVsbCxcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdF9fKCdQcm9zJylcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHQpLFxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdF9PYmplY3Qka2V5cyhfdGhpczMucHJvcHMucG9zdHNba2V5XS53cHByX2RhdGEud3Bwcl9wcm9zKS5tYXAoZnVuY3Rpb24gKGkpIHtcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdHJldHVybiB3cC5lbGVtZW50LmNyZWF0ZUVsZW1lbnQoXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdCdsaScsXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdG51bGwsXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdF90aGlzMy5wcm9wcy5wb3N0c1trZXldLndwcHJfZGF0YS53cHByX3Byb3NbaV1cblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdCk7XG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0fSlcblx0XHRcdFx0XHRcdFx0XHRcdFx0KSxcblx0XHRcdFx0XHRcdFx0XHRcdFx0d3AuZWxlbWVudC5jcmVhdGVFbGVtZW50KFxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdCd1bCcsXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0eyAnY2xhc3MnOiAnY3dwX3BpdGVtX29wdGlvbnNfY29ucycgfSxcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHR3cC5lbGVtZW50LmNyZWF0ZUVsZW1lbnQoXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHQnaDQnLFxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0bnVsbCxcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdF9fKCdDb25zJylcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHQpLFxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdF9PYmplY3Qka2V5cyhfdGhpczMucHJvcHMucG9zdHNba2V5XS53cHByX2RhdGEud3Bwcl9jb25zKS5tYXAoZnVuY3Rpb24gKGkpIHtcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdHJldHVybiB3cC5lbGVtZW50LmNyZWF0ZUVsZW1lbnQoXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdCdsaScsXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdG51bGwsXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdF90aGlzMy5wcm9wcy5wb3N0c1trZXldLndwcHJfZGF0YS53cHByX2NvbnNbaV1cblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdCk7XG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0fSlcblx0XHRcdFx0XHRcdFx0XHRcdFx0KSxcblx0XHRcdFx0XHRcdFx0XHRcdFx0d3AuZWxlbWVudC5jcmVhdGVFbGVtZW50KFxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdEJ1dHRvbixcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHR7XG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRpc0xhcmdlOiB0cnVlLFxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0b25DbGljazogZnVuY3Rpb24gb25DbGljaygpIHtcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0cmV0dXJuIF90aGlzMy5pbXBvcnRSZXZpZXcoa2V5KTtcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHRcdFx0XHRcdFx0XHR9LFxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdF9fKCdJbXBvcnQgUmV2aWV3Jylcblx0XHRcdFx0XHRcdFx0XHRcdFx0KVxuXHRcdFx0XHRcdFx0XHRcdFx0KVxuXHRcdFx0XHRcdFx0XHRcdCk7XG5cdFx0XHRcdFx0XHRcdH0pXG5cdFx0XHRcdFx0XHQpIDogbnVsbFxuXHRcdFx0XHRcdClcblx0XHRcdFx0KV1cblx0XHRcdCk7XG5cdFx0fVxuXHR9XSwgW3tcblx0XHRrZXk6ICdnZXREZXJpdmVkU3RhdGVGcm9tUHJvcHMnLFxuXHRcdHZhbHVlOiBmdW5jdGlvbiBnZXREZXJpdmVkU3RhdGVGcm9tUHJvcHMobmV4dFByb3BzLCBzdGF0ZSkge1xuXHRcdFx0aWYgKChuZXh0UHJvcHMuaXNQdWJsaXNoaW5nIHx8IG5leHRQcm9wcy5pc1NhdmluZykgJiYgIW5leHRQcm9wcy5pc0F1dG9TYXZpbmcpIHtcblx0XHRcdFx0d3AuYXBpUmVxdWVzdCh7IHBhdGg6ICcvd3Bwci92MS91cGRhdGUtcmV2aWV3P2lkPScgKyBuZXh0UHJvcHMucG9zdElkICsgJyZwb3N0VHlwZT0nICsgbmV4dFByb3BzLnBvc3RUeXBlLCBtZXRob2Q6ICdQT1NUJywgZGF0YTogc3RhdGUgfSkudGhlbihmdW5jdGlvbiAoZGF0YSkge1xuXHRcdFx0XHRcdHJldHVybiBkYXRhO1xuXHRcdFx0XHR9LCBmdW5jdGlvbiAoZXJyKSB7XG5cdFx0XHRcdFx0cmV0dXJuIGVycjtcblx0XHRcdFx0fSk7XG5cdFx0XHR9XG5cdFx0fVxuXHR9XSk7XG5cblx0cmV0dXJuIFdQX1Byb2R1Y3RfUmV2aWV3O1xufShDb21wb25lbnQpO1xuXG52YXIgV1BQUiA9IGNvbXBvc2UoW3dpdGhTZWxlY3QoZnVuY3Rpb24gKHNlbGVjdCwgX3JlZjMpIHtcblx0dmFyIGZvcmNlSXNTYXZpbmcgPSBfcmVmMy5mb3JjZUlzU2F2aW5nO1xuXG5cdHZhciBfc2VsZWN0MiA9IHNlbGVjdCgnY29yZS9lZGl0b3InKSxcblx0ICAgIGdldEN1cnJlbnRQb3N0SWQgPSBfc2VsZWN0Mi5nZXRDdXJyZW50UG9zdElkLFxuXHQgICAgaXNTYXZpbmdQb3N0ID0gX3NlbGVjdDIuaXNTYXZpbmdQb3N0LFxuXHQgICAgaXNQdWJsaXNoaW5nUG9zdCA9IF9zZWxlY3QyLmlzUHVibGlzaGluZ1Bvc3QsXG5cdCAgICBpc0F1dG9zYXZpbmdQb3N0ID0gX3NlbGVjdDIuaXNBdXRvc2F2aW5nUG9zdCxcblx0ICAgIGdldEN1cnJlbnRQb3N0VHlwZSA9IF9zZWxlY3QyLmdldEN1cnJlbnRQb3N0VHlwZTtcblxuXHR2YXIgbGF0ZXN0UG9zdHNRdWVyeSA9IHBpY2tCeSh7XG5cdFx0cGVyX3BhZ2U6IDEwMCxcblx0XHRtZXRhX2tleTogJ2N3cF9tZXRhX2JveF9jaGVjaycsXG5cdFx0bWV0YV92YWx1ZTogJ1llcydcblx0fSwgZnVuY3Rpb24gKHZhbHVlKSB7XG5cdFx0cmV0dXJuICFpc1VuZGVmaW5lZCh2YWx1ZSk7XG5cdH0pO1xuXHRyZXR1cm4ge1xuXHRcdHBvc3RJZDogZ2V0Q3VycmVudFBvc3RJZCgpLFxuXHRcdHBvc3RUeXBlOiBnZXRDdXJyZW50UG9zdFR5cGUoKSxcblx0XHRwb3N0czogc2VsZWN0KCdjb3JlJykuZ2V0RW50aXR5UmVjb3JkcygncG9zdFR5cGUnLCAncG9zdCcsIGxhdGVzdFBvc3RzUXVlcnkpLFxuXHRcdGlzU2F2aW5nOiBmb3JjZUlzU2F2aW5nIHx8IGlzU2F2aW5nUG9zdCgpLFxuXHRcdGlzQXV0b1NhdmluZzogaXNBdXRvc2F2aW5nUG9zdCgpLFxuXHRcdGlzUHVibGlzaGluZzogaXNQdWJsaXNoaW5nUG9zdCgpXG5cdH07XG59KSwgd2l0aFN0YXRlKHtcblx0aXNPcGVuOiBmYWxzZVxufSksIHdpdGhEaXNwYXRjaChmdW5jdGlvbiAoZGlzcGF0Y2gpIHtcblx0cmV0dXJuIHtcblx0XHRvcGVuUmV2aWV3U2lkZWJhcjogZnVuY3Rpb24gb3BlblJldmlld1NpZGViYXIoKSB7XG5cdFx0XHRyZXR1cm4gZGlzcGF0Y2goJ2NvcmUvZWRpdC1wb3N0Jykub3BlbkdlbmVyYWxTaWRlYmFyKCd3cC1wcm9kdWN0LXJldmlldy93cC1wcm9kdWN0LXJldmlldycpO1xuXHRcdH0sXG5cdFx0ZWRpdFBvc3RTdGF0dXM6IGRpc3BhdGNoKCdjb3JlL2VkaXRvcicpLmVkaXRQb3N0XG5cdH07XG59KV0pKFdQX1Byb2R1Y3RfUmV2aWV3KTtcblxucmVnaXN0ZXJQbHVnaW4oJ3dwLXByb2R1Y3QtcmV2aWV3Jywge1xuXHRpY29uOiAnc3Rhci1lbXB0eScsXG5cdHJlbmRlcjogV1BQUlxufSk7XG5cblxuLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBXRUJQQUNLIEZPT1RFUlxuLy8gLi9zcmMvc2lkZWJhci5qc1xuLy8gbW9kdWxlIGlkID0gNTZcbi8vIG1vZHVsZSBjaHVua3MgPSAwIl0sIm1hcHBpbmdzIjoiQUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBIiwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///56\n");
|
412 |
|
413 |
/***/ }),
|
414 |
/* 57 */
|
includes/gutenberg/class-wppr-gutenberg.php
CHANGED
@@ -93,8 +93,10 @@ class WPPR_Gutenberg {
|
|
93 |
private function get_schema_types() {
|
94 |
$types = WPPR_Schema_Model::get_types();
|
95 |
$array = array();
|
96 |
-
|
97 |
-
|
|
|
|
|
98 |
}
|
99 |
return $array;
|
100 |
}
|
93 |
private function get_schema_types() {
|
94 |
$types = WPPR_Schema_Model::get_types();
|
95 |
$array = array();
|
96 |
+
if ( $types ) {
|
97 |
+
foreach ( $types as $type ) {
|
98 |
+
$array[] = array( 'label' => $type, 'value' => $type );
|
99 |
+
}
|
100 |
}
|
101 |
return $array;
|
102 |
}
|
includes/gutenberg/src/sidebar.js
CHANGED
@@ -528,6 +528,7 @@ class WP_Product_Review extends Component {
|
|
528 |
</div>
|
529 |
</PanelBody>
|
530 |
|
|
|
531 |
<PanelBody
|
532 |
title={ __( 'Schema Details' ) }
|
533 |
className="wp-product-review-schema"
|
@@ -560,6 +561,7 @@ class WP_Product_Review extends Component {
|
|
560 |
) ) }
|
561 |
</div>
|
562 |
</PanelBody>
|
|
|
563 |
|
564 |
{ ( wpprguten.isPro ) && (
|
565 |
<div className="wppr-review-import-review-button">
|
528 |
</div>
|
529 |
</PanelBody>
|
530 |
|
531 |
+
{ ( wpprguten.schema_types && wpprguten.schema_types.length > 0 ) && (
|
532 |
<PanelBody
|
533 |
title={ __( 'Schema Details' ) }
|
534 |
className="wp-product-review-schema"
|
561 |
) ) }
|
562 |
</div>
|
563 |
</PanelBody>
|
564 |
+
) }
|
565 |
|
566 |
{ ( wpprguten.isPro ) && (
|
567 |
<div className="wppr-review-import-review-button">
|
includes/public/class-wppr-public.php
CHANGED
@@ -111,14 +111,15 @@ class Wppr_Public {
|
|
111 |
}
|
112 |
$scale = 10 * ( 10 / $scale );
|
113 |
|
114 |
-
|
115 |
-
|
|
|
|
|
|
|
116 |
wp_enqueue_script(
|
117 |
$this->plugin_name . '-frontpage-js',
|
118 |
WPPR_URL . '/assets/js/main.js',
|
119 |
-
|
120 |
-
'jquery-ui-slider',
|
121 |
-
),
|
122 |
$this->version,
|
123 |
true
|
124 |
);
|
111 |
}
|
112 |
$scale = 10 * ( 10 / $scale );
|
113 |
|
114 |
+
$dependencies = array( 'jquery-touch-punch' );
|
115 |
+
if ( 'slider' === $review->wppr_get_option( 'wppr_comment_rating' ) ) {
|
116 |
+
$dependencies[] = 'jquery-ui-slider';
|
117 |
+
}
|
118 |
+
|
119 |
wp_enqueue_script(
|
120 |
$this->plugin_name . '-frontpage-js',
|
121 |
WPPR_URL . '/assets/js/main.js',
|
122 |
+
$dependencies,
|
|
|
|
|
123 |
$this->version,
|
124 |
true
|
125 |
);
|
package-lock.json
CHANGED
@@ -1,6 +1,6 @@
|
|
1 |
{
|
2 |
"name": "wp-product-review",
|
3 |
-
"version": "3.7.
|
4 |
"lockfileVersion": 1,
|
5 |
"requires": true,
|
6 |
"dependencies": {
|
@@ -41,9 +41,9 @@
|
|
41 |
"dev": true
|
42 |
},
|
43 |
"ajv": {
|
44 |
-
"version": "6.12.
|
45 |
-
"resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.
|
46 |
-
"integrity": "sha512-
|
47 |
"dev": true,
|
48 |
"requires": {
|
49 |
"fast-deep-equal": "3.1.3",
|
@@ -108,8 +108,8 @@
|
|
108 |
"archiver-utils": "1.3.0",
|
109 |
"async": "2.6.3",
|
110 |
"buffer-crc32": "0.2.13",
|
111 |
-
"glob": "7.
|
112 |
-
"lodash": "4.17.
|
113 |
"readable-stream": "2.3.7",
|
114 |
"tar-stream": "1.6.2",
|
115 |
"walkdir": "0.0.11",
|
@@ -122,7 +122,7 @@
|
|
122 |
"integrity": "sha512-zflvls11DCy+dQWzTW2dzuilv8Z5X/pjfmZOWba6TNIVDm+2UDaJmXSOXlasHKfNBs8oo3M0aT50fDEWfKZjXg==",
|
123 |
"dev": true,
|
124 |
"requires": {
|
125 |
-
"lodash": "4.17.
|
126 |
}
|
127 |
}
|
128 |
}
|
@@ -133,10 +133,10 @@
|
|
133 |
"integrity": "sha1-5QtMCccL89aA4y/xt5lOn52JUXQ=",
|
134 |
"dev": true,
|
135 |
"requires": {
|
136 |
-
"glob": "7.
|
137 |
"graceful-fs": "4.2.4",
|
138 |
"lazystream": "1.0.0",
|
139 |
-
"lodash": "4.17.
|
140 |
"normalize-path": "2.1.1",
|
141 |
"readable-stream": "2.3.7"
|
142 |
}
|
@@ -192,12 +192,24 @@
|
|
192 |
"integrity": "sha1-7/UuN1gknTO+QCuLuOVkuytdQDE=",
|
193 |
"dev": true
|
194 |
},
|
|
|
|
|
|
|
|
|
|
|
|
|
195 |
"array-find-index": {
|
196 |
"version": "1.0.2",
|
197 |
"resolved": "https://registry.npmjs.org/array-find-index/-/array-find-index-1.0.2.tgz",
|
198 |
"integrity": "sha1-3wEKoSh+Fku9pvlyOwqWoexBh6E=",
|
199 |
"dev": true
|
200 |
},
|
|
|
|
|
|
|
|
|
|
|
|
|
201 |
"array-union": {
|
202 |
"version": "1.0.2",
|
203 |
"resolved": "https://registry.npmjs.org/array-union/-/array-union-1.0.2.tgz",
|
@@ -265,14 +277,14 @@
|
|
265 |
"dev": true
|
266 |
},
|
267 |
"autoprefixer": {
|
268 |
-
"version": "9.8.
|
269 |
-
"resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-9.8.
|
270 |
-
"integrity": "sha512-
|
271 |
"dev": true,
|
272 |
"requires": {
|
273 |
-
"browserslist": "4.
|
274 |
-
"caniuse-lite": "1.0.
|
275 |
-
"
|
276 |
"normalize-range": "0.1.2",
|
277 |
"num2fraction": "1.2.2",
|
278 |
"postcss": "7.0.32",
|
@@ -686,15 +698,15 @@
|
|
686 |
}
|
687 |
},
|
688 |
"browserslist": {
|
689 |
-
"version": "4.
|
690 |
-
"resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.
|
691 |
-
"integrity": "sha512-
|
692 |
"dev": true,
|
693 |
"requires": {
|
694 |
-
"caniuse-lite": "1.0.
|
695 |
-
"electron-to-chromium": "1.3.
|
696 |
-
"
|
697 |
-
"
|
698 |
}
|
699 |
},
|
700 |
"buffer": {
|
@@ -767,7 +779,7 @@
|
|
767 |
"graceful-fs": "4.2.4",
|
768 |
"mkdirp": "0.5.5",
|
769 |
"object-assign": "4.1.1",
|
770 |
-
"rimraf": "2.
|
771 |
},
|
772 |
"dependencies": {
|
773 |
"mkdirp": {
|
@@ -778,6 +790,15 @@
|
|
778 |
"requires": {
|
779 |
"minimist": "1.2.5"
|
780 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
781 |
}
|
782 |
}
|
783 |
},
|
@@ -829,9 +850,9 @@
|
|
829 |
}
|
830 |
},
|
831 |
"caniuse-lite": {
|
832 |
-
"version": "1.0.
|
833 |
-
"resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.
|
834 |
-
"integrity": "sha512-
|
835 |
"dev": true
|
836 |
},
|
837 |
"caseless": {
|
@@ -901,22 +922,6 @@
|
|
901 |
"requires": {
|
902 |
"exit": "0.1.2",
|
903 |
"glob": "7.1.6"
|
904 |
-
},
|
905 |
-
"dependencies": {
|
906 |
-
"glob": {
|
907 |
-
"version": "7.1.6",
|
908 |
-
"resolved": "https://registry.npmjs.org/glob/-/glob-7.1.6.tgz",
|
909 |
-
"integrity": "sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==",
|
910 |
-
"dev": true,
|
911 |
-
"requires": {
|
912 |
-
"fs.realpath": "1.0.0",
|
913 |
-
"inflight": "1.0.6",
|
914 |
-
"inherits": "2.0.4",
|
915 |
-
"minimatch": "3.0.4",
|
916 |
-
"once": "1.4.0",
|
917 |
-
"path-is-absolute": "1.0.1"
|
918 |
-
}
|
919 |
-
}
|
920 |
}
|
921 |
},
|
922 |
"clone-response": {
|
@@ -987,6 +992,12 @@
|
|
987 |
"integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=",
|
988 |
"dev": true
|
989 |
},
|
|
|
|
|
|
|
|
|
|
|
|
|
990 |
"colors": {
|
991 |
"version": "1.1.2",
|
992 |
"resolved": "https://registry.npmjs.org/colors/-/colors-1.1.2.tgz",
|
@@ -1191,6 +1202,15 @@
|
|
1191 |
"requires": {
|
1192 |
"mdn-data": "2.0.4",
|
1193 |
"source-map": "0.6.1"
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1194 |
}
|
1195 |
},
|
1196 |
"css-what": {
|
@@ -1283,6 +1303,13 @@
|
|
1283 |
"integrity": "sha512-rQvjv71olwNHgiTbfPZFkJtjNMciWgswYeciZhtvWLO8bmX3TnhyA62I6sTWOyZssWHJJjY6/KiWwqQsWWsqOA==",
|
1284 |
"dev": true,
|
1285 |
"optional": true
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1286 |
}
|
1287 |
}
|
1288 |
},
|
@@ -1320,14 +1347,10 @@
|
|
1320 |
}
|
1321 |
},
|
1322 |
"dateformat": {
|
1323 |
-
"version": "
|
1324 |
-
"resolved": "https://registry.npmjs.org/dateformat/-/dateformat-
|
1325 |
-
"integrity": "
|
1326 |
-
"dev": true
|
1327 |
-
"requires": {
|
1328 |
-
"get-stdin": "4.0.1",
|
1329 |
-
"meow": "3.7.0"
|
1330 |
-
}
|
1331 |
},
|
1332 |
"debug": {
|
1333 |
"version": "2.6.9",
|
@@ -1534,6 +1557,12 @@
|
|
1534 |
"integrity": "sha1-hMbhWbgZBP3KWaDvRM2HDTElD5o=",
|
1535 |
"dev": true
|
1536 |
},
|
|
|
|
|
|
|
|
|
|
|
|
|
1537 |
"detect-libc": {
|
1538 |
"version": "1.0.3",
|
1539 |
"resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-1.0.3.tgz",
|
@@ -1698,18 +1727,29 @@
|
|
1698 |
}
|
1699 |
},
|
1700 |
"electron-to-chromium": {
|
1701 |
-
"version": "1.3.
|
1702 |
-
"resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.
|
1703 |
-
"integrity": "sha512-
|
1704 |
"dev": true
|
1705 |
},
|
1706 |
"encoding": {
|
1707 |
-
"version": "0.1.
|
1708 |
-
"resolved": "https://registry.npmjs.org/encoding/-/encoding-0.1.
|
1709 |
-
"integrity": "
|
1710 |
"dev": true,
|
1711 |
"requires": {
|
1712 |
-
"iconv-lite": "0.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1713 |
}
|
1714 |
},
|
1715 |
"end-of-stream": {
|
@@ -1763,7 +1803,7 @@
|
|
1763 |
"has-symbols": "1.0.1",
|
1764 |
"is-callable": "1.2.0",
|
1765 |
"is-regex": "1.1.0",
|
1766 |
-
"object-inspect": "1.
|
1767 |
"object-keys": "1.1.1",
|
1768 |
"object.assign": "4.1.0",
|
1769 |
"string.prototype.trimend": "1.0.1",
|
@@ -1781,6 +1821,12 @@
|
|
1781 |
"is-symbol": "1.0.3"
|
1782 |
}
|
1783 |
},
|
|
|
|
|
|
|
|
|
|
|
|
|
1784 |
"escape-string-regexp": {
|
1785 |
"version": "1.0.5",
|
1786 |
"resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz",
|
@@ -1809,7 +1855,7 @@
|
|
1809 |
"execa": "0.7.0",
|
1810 |
"p-finally": "1.0.0",
|
1811 |
"pify": "3.0.0",
|
1812 |
-
"rimraf": "2.
|
1813 |
"tempfile": "2.0.0"
|
1814 |
},
|
1815 |
"dependencies": {
|
@@ -1819,6 +1865,16 @@
|
|
1819 |
"integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=",
|
1820 |
"dev": true,
|
1821 |
"optional": true
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1822 |
}
|
1823 |
}
|
1824 |
},
|
@@ -1895,6 +1951,15 @@
|
|
1895 |
"dev": true,
|
1896 |
"optional": true
|
1897 |
},
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1898 |
"ext-list": {
|
1899 |
"version": "2.2.2",
|
1900 |
"resolved": "https://registry.npmjs.org/ext-list/-/ext-list-2.2.2.tgz",
|
@@ -2041,6 +2106,17 @@
|
|
2041 |
"is-glob": "4.0.1",
|
2042 |
"merge2": "1.4.1",
|
2043 |
"micromatch": "3.1.10"
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2044 |
}
|
2045 |
},
|
2046 |
"fast-json-stable-stringify": {
|
@@ -2173,12 +2249,40 @@
|
|
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",
|
@@ -2318,7 +2422,7 @@
|
|
2318 |
"integrity": "sha512-vNhWcqXEtZPs5Ft1ReA34g7ByWotpcOIeJvXVy2jF3/G2U9v6W0wG4Z4hXzcU8R//jArqkgHcVCGgGqa4vxVlQ==",
|
2319 |
"dev": true,
|
2320 |
"requires": {
|
2321 |
-
"encoding": "0.1.
|
2322 |
"readable-stream": "3.6.0",
|
2323 |
"safe-buffer": "5.1.2"
|
2324 |
},
|
@@ -2399,9 +2503,9 @@
|
|
2399 |
"optional": true
|
2400 |
},
|
2401 |
"glob": {
|
2402 |
-
"version": "7.
|
2403 |
-
"resolved": "https://registry.npmjs.org/glob/-/glob-7.
|
2404 |
-
"integrity": "
|
2405 |
"dev": true,
|
2406 |
"requires": {
|
2407 |
"fs.realpath": "1.0.0",
|
@@ -2420,17 +2524,6 @@
|
|
2420 |
"requires": {
|
2421 |
"is-glob": "3.1.0",
|
2422 |
"path-dirname": "1.0.2"
|
2423 |
-
},
|
2424 |
-
"dependencies": {
|
2425 |
-
"is-glob": {
|
2426 |
-
"version": "3.1.0",
|
2427 |
-
"resolved": "https://registry.npmjs.org/is-glob/-/is-glob-3.1.0.tgz",
|
2428 |
-
"integrity": "sha1-e6WuJCF4BKxwcHuWkiVnSGzD6Eo=",
|
2429 |
-
"dev": true,
|
2430 |
-
"requires": {
|
2431 |
-
"is-extglob": "2.1.1"
|
2432 |
-
}
|
2433 |
-
}
|
2434 |
}
|
2435 |
},
|
2436 |
"glob-to-regexp": {
|
@@ -2439,6 +2532,30 @@
|
|
2439 |
"integrity": "sha1-jFoUlNIGbFcMw7/kSWF1rMTVAqs=",
|
2440 |
"dev": true
|
2441 |
},
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2442 |
"globby": {
|
2443 |
"version": "8.0.2",
|
2444 |
"resolved": "https://registry.npmjs.org/globby/-/globby-8.0.2.tgz",
|
@@ -2454,20 +2571,6 @@
|
|
2454 |
"slash": "1.0.0"
|
2455 |
},
|
2456 |
"dependencies": {
|
2457 |
-
"glob": {
|
2458 |
-
"version": "7.1.6",
|
2459 |
-
"resolved": "https://registry.npmjs.org/glob/-/glob-7.1.6.tgz",
|
2460 |
-
"integrity": "sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==",
|
2461 |
-
"dev": true,
|
2462 |
-
"requires": {
|
2463 |
-
"fs.realpath": "1.0.0",
|
2464 |
-
"inflight": "1.0.6",
|
2465 |
-
"inherits": "2.0.4",
|
2466 |
-
"minimatch": "3.0.4",
|
2467 |
-
"once": "1.4.0",
|
2468 |
-
"path-is-absolute": "1.0.1"
|
2469 |
-
}
|
2470 |
-
},
|
2471 |
"ignore": {
|
2472 |
"version": "3.3.10",
|
2473 |
"resolved": "https://registry.npmjs.org/ignore/-/ignore-3.3.10.tgz",
|
@@ -2489,24 +2592,8 @@
|
|
2489 |
"dev": true,
|
2490 |
"requires": {
|
2491 |
"glob": "7.1.6",
|
2492 |
-
"lodash": "4.17.
|
2493 |
"minimatch": "3.0.4"
|
2494 |
-
},
|
2495 |
-
"dependencies": {
|
2496 |
-
"glob": {
|
2497 |
-
"version": "7.1.6",
|
2498 |
-
"resolved": "https://registry.npmjs.org/glob/-/glob-7.1.6.tgz",
|
2499 |
-
"integrity": "sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==",
|
2500 |
-
"dev": true,
|
2501 |
-
"requires": {
|
2502 |
-
"fs.realpath": "1.0.0",
|
2503 |
-
"inflight": "1.0.6",
|
2504 |
-
"inherits": "2.0.4",
|
2505 |
-
"minimatch": "3.0.4",
|
2506 |
-
"once": "1.4.0",
|
2507 |
-
"path-is-absolute": "1.0.1"
|
2508 |
-
}
|
2509 |
-
}
|
2510 |
}
|
2511 |
},
|
2512 |
"gonzales-pe": {
|
@@ -2570,47 +2657,52 @@
|
|
2570 |
"dev": true
|
2571 |
},
|
2572 |
"grunt": {
|
2573 |
-
"version": "1.1
|
2574 |
-
"resolved": "https://registry.npmjs.org/grunt/-/grunt-1.1.
|
2575 |
-
"integrity": "sha512
|
2576 |
"dev": true,
|
2577 |
"requires": {
|
2578 |
-
"
|
2579 |
-
"dateformat": "1.0.12",
|
2580 |
"eventemitter2": "0.4.14",
|
2581 |
"exit": "0.1.2",
|
2582 |
"findup-sync": "0.3.0",
|
2583 |
-
"glob": "7.
|
2584 |
-
"grunt-cli": "1.2
|
2585 |
"grunt-known-options": "1.1.1",
|
2586 |
"grunt-legacy-log": "2.0.0",
|
2587 |
"grunt-legacy-util": "1.1.1",
|
2588 |
"iconv-lite": "0.4.24",
|
2589 |
-
"js-yaml": "3.
|
2590 |
"minimatch": "3.0.4",
|
2591 |
"mkdirp": "1.0.4",
|
2592 |
"nopt": "3.0.6",
|
2593 |
-
"
|
2594 |
-
"rimraf": "2.6.3"
|
2595 |
},
|
2596 |
"dependencies": {
|
2597 |
"grunt-cli": {
|
2598 |
-
"version": "1.2
|
2599 |
-
"resolved": "https://registry.npmjs.org/grunt-cli/-/grunt-cli-1.2.
|
2600 |
-
"integrity": "
|
2601 |
"dev": true,
|
2602 |
"requires": {
|
2603 |
-
"findup-sync": "0.3.0",
|
2604 |
"grunt-known-options": "1.1.1",
|
2605 |
-
"
|
2606 |
-
"
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2607 |
}
|
2608 |
-
},
|
2609 |
-
"resolve": {
|
2610 |
-
"version": "1.1.7",
|
2611 |
-
"resolved": "https://registry.npmjs.org/resolve/-/resolve-1.1.7.tgz",
|
2612 |
-
"integrity": "sha1-IDEU2CrSxe2ejgQRs5ModeiJ6Xs=",
|
2613 |
-
"dev": true
|
2614 |
}
|
2615 |
}
|
2616 |
},
|
@@ -2657,7 +2749,7 @@
|
|
2657 |
"archiver": "1.3.0",
|
2658 |
"chalk": "1.1.3",
|
2659 |
"iltorb": "2.4.5",
|
2660 |
-
"lodash": "4.17.
|
2661 |
"pretty-bytes": "4.0.2",
|
2662 |
"stream-buffers": "2.2.0"
|
2663 |
},
|
@@ -2770,7 +2862,7 @@
|
|
2770 |
"requires": {
|
2771 |
"async": "2.6.3",
|
2772 |
"gaze": "1.1.3",
|
2773 |
-
"lodash": "4.17.
|
2774 |
"tiny-lr": "1.1.1"
|
2775 |
},
|
2776 |
"dependencies": {
|
@@ -2780,7 +2872,7 @@
|
|
2780 |
"integrity": "sha512-zflvls11DCy+dQWzTW2dzuilv8Z5X/pjfmZOWba6TNIVDm+2UDaJmXSOXlasHKfNBs8oo3M0aT50fDEWfKZjXg==",
|
2781 |
"dev": true,
|
2782 |
"requires": {
|
2783 |
-
"lodash": "4.17.
|
2784 |
}
|
2785 |
}
|
2786 |
}
|
@@ -2806,7 +2898,7 @@
|
|
2806 |
"colors": "1.1.2",
|
2807 |
"grunt-legacy-log-utils": "2.0.1",
|
2808 |
"hooker": "0.2.3",
|
2809 |
-
"lodash": "4.17.
|
2810 |
}
|
2811 |
},
|
2812 |
"grunt-legacy-log-utils": {
|
@@ -2816,7 +2908,7 @@
|
|
2816 |
"dev": true,
|
2817 |
"requires": {
|
2818 |
"chalk": "2.4.2",
|
2819 |
-
"lodash": "4.17.
|
2820 |
}
|
2821 |
},
|
2822 |
"grunt-legacy-util": {
|
@@ -2829,7 +2921,7 @@
|
|
2829 |
"exit": "0.1.2",
|
2830 |
"getobject": "0.1.0",
|
2831 |
"hooker": "0.2.3",
|
2832 |
-
"lodash": "4.17.
|
2833 |
"underscore.string": "3.3.5",
|
2834 |
"which": "1.3.1"
|
2835 |
}
|
@@ -2847,7 +2939,18 @@
|
|
2847 |
"dev": true,
|
2848 |
"requires": {
|
2849 |
"async": "1.5.2",
|
2850 |
-
"rimraf": "2.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2851 |
}
|
2852 |
},
|
2853 |
"grunt-phpcbf": {
|
@@ -3155,7 +3258,7 @@
|
|
3155 |
"version": "github:codeinwp/grunt-plugin-fleet#922540b800fafe8a89d60e82699afb8073c1b7c2",
|
3156 |
"dev": true,
|
3157 |
"requires": {
|
3158 |
-
"autoprefixer": "9.8.
|
3159 |
"grunt": "1.0.4",
|
3160 |
"grunt-cachebuster": "0.1.7",
|
3161 |
"grunt-checktextdomain": "1.0.1",
|
@@ -3182,6 +3285,30 @@
|
|
3182 |
"time-grunt": "1.4.0"
|
3183 |
},
|
3184 |
"dependencies": {
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
3185 |
"grunt": {
|
3186 |
"version": "1.0.4",
|
3187 |
"resolved": "https://registry.npmjs.org/grunt/-/grunt-1.0.4.tgz",
|
@@ -3221,6 +3348,16 @@
|
|
3221 |
}
|
3222 |
}
|
3223 |
},
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
3224 |
"mkdirp": {
|
3225 |
"version": "0.5.5",
|
3226 |
"resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.5.tgz",
|
@@ -3235,6 +3372,31 @@
|
|
3235 |
"resolved": "https://registry.npmjs.org/resolve/-/resolve-1.1.7.tgz",
|
3236 |
"integrity": "sha1-IDEU2CrSxe2ejgQRs5ModeiJ6Xs=",
|
3237 |
"dev": true
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
3238 |
}
|
3239 |
}
|
3240 |
},
|
@@ -3259,6 +3421,12 @@
|
|
3259 |
"source-map": "0.6.1",
|
3260 |
"supports-color": "5.5.0"
|
3261 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
3262 |
}
|
3263 |
}
|
3264 |
},
|
@@ -3278,7 +3446,7 @@
|
|
3278 |
"dev": true,
|
3279 |
"requires": {
|
3280 |
"fs-extra": "6.0.1",
|
3281 |
-
"glob": "7.
|
3282 |
"md5-file": "2.0.7"
|
3283 |
}
|
3284 |
},
|
@@ -3294,7 +3462,7 @@
|
|
3294 |
"integrity": "sha512-mpcf8tcEtRBeMVkZpysIIDbv6sW3S0R5MO4+ysMNb7i6LNSpvyTePKWE/eOnLdfyXIuqxtP/H2Z4Mgkjl2BUBw==",
|
3295 |
"dev": true,
|
3296 |
"requires": {
|
3297 |
-
"grunt": "1.1
|
3298 |
"semver": "6.3.0"
|
3299 |
},
|
3300 |
"dependencies": {
|
@@ -3314,7 +3482,7 @@
|
|
3314 |
"requires": {
|
3315 |
"cssbeautify": "0.3.1",
|
3316 |
"csscomb": "3.1.8",
|
3317 |
-
"lodash": "4.17.
|
3318 |
}
|
3319 |
},
|
3320 |
"grunt-wp-i18n": {
|
@@ -3323,7 +3491,7 @@
|
|
3323 |
"integrity": "sha512-CJNbEKeBeOSAPeaJ9B8iCgSwtaG63UR9/uT46a4OsIqnFhOJpeAi138JTlvjfIbnDVoBrzvdrKJe1svveLjUtA==",
|
3324 |
"dev": true,
|
3325 |
"requires": {
|
3326 |
-
"grunt": "1.1
|
3327 |
"node-wp-i18n": "1.2.3"
|
3328 |
}
|
3329 |
},
|
@@ -3345,7 +3513,7 @@
|
|
3345 |
"integrity": "sha512-sNvOCzEQNr/qrvJgc3UG/kD4QtlHycrzwS+6mfTrrSq97BvaYcPZZI1ZSqGSPR73Cxn4LKTD4PttRwfU7jWq5g==",
|
3346 |
"dev": true,
|
3347 |
"requires": {
|
3348 |
-
"ajv": "6.12.
|
3349 |
"har-schema": "2.0.0"
|
3350 |
}
|
3351 |
},
|
@@ -3438,6 +3606,15 @@
|
|
3438 |
}
|
3439 |
}
|
3440 |
},
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
3441 |
"hooker": {
|
3442 |
"version": "0.2.3",
|
3443 |
"resolved": "https://registry.npmjs.org/hooker/-/hooker-0.2.3.tgz",
|
@@ -3567,7 +3744,7 @@
|
|
3567 |
"detect-libc": "1.0.3",
|
3568 |
"nan": "2.14.1",
|
3569 |
"npmlog": "4.1.2",
|
3570 |
-
"prebuild-install": "5.3.
|
3571 |
"which-pm-runs": "1.0.0"
|
3572 |
}
|
3573 |
},
|
@@ -3684,6 +3861,12 @@
|
|
3684 |
"integrity": "sha512-RZY5huIKCMRWDUqZlEi72f/lmXKMvuszcMBduliQ3nnWbx9X/ZBQO7DijMEYS9EhHBb2qacRUMtC7svLwe0lcw==",
|
3685 |
"dev": true
|
3686 |
},
|
|
|
|
|
|
|
|
|
|
|
|
|
3687 |
"into-stream": {
|
3688 |
"version": "3.1.0",
|
3689 |
"resolved": "https://registry.npmjs.org/into-stream/-/into-stream-3.1.0.tgz",
|
@@ -3701,6 +3884,16 @@
|
|
3701 |
"integrity": "sha512-Y75zBYLkh0lJ9qxeHlMjQ7bSbyiSqNW/UOPWDmzC7cXskL1hekSITh1Oc6JV0XCWWZ9DE8VYSB71xocLk3gmGw==",
|
3702 |
"dev": true
|
3703 |
},
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
3704 |
"is-accessor-descriptor": {
|
3705 |
"version": "0.1.6",
|
3706 |
"resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz",
|
@@ -3822,9 +4015,9 @@
|
|
3822 |
}
|
3823 |
},
|
3824 |
"is-glob": {
|
3825 |
-
"version": "
|
3826 |
-
"resolved": "https://registry.npmjs.org/is-glob/-/is-glob-
|
3827 |
-
"integrity": "
|
3828 |
"dev": true,
|
3829 |
"requires": {
|
3830 |
"is-extglob": "2.1.1"
|
@@ -3900,6 +4093,15 @@
|
|
3900 |
"has-symbols": "1.0.1"
|
3901 |
}
|
3902 |
},
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
3903 |
"is-retry-allowed": {
|
3904 |
"version": "1.2.0",
|
3905 |
"resolved": "https://registry.npmjs.org/is-retry-allowed/-/is-retry-allowed-1.2.0.tgz",
|
@@ -3937,6 +4139,15 @@
|
|
3937 |
"integrity": "sha1-5HnICFjfDBsR3dppQPlgEfzaSpo=",
|
3938 |
"dev": true
|
3939 |
},
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
3940 |
"is-utf8": {
|
3941 |
"version": "0.2.1",
|
3942 |
"resolved": "https://registry.npmjs.org/is-utf8/-/is-utf8-0.2.1.tgz",
|
@@ -4002,9 +4213,9 @@
|
|
4002 |
}
|
4003 |
},
|
4004 |
"js-yaml": {
|
4005 |
-
"version": "3.
|
4006 |
-
"resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.
|
4007 |
-
"integrity": "sha512
|
4008 |
"dev": true,
|
4009 |
"requires": {
|
4010 |
"argparse": "1.0.10",
|
@@ -4027,7 +4238,7 @@
|
|
4027 |
"console-browserify": "1.1.0",
|
4028 |
"exit": "0.1.2",
|
4029 |
"htmlparser2": "3.8.3",
|
4030 |
-
"lodash": "4.17.
|
4031 |
"minimatch": "3.0.4",
|
4032 |
"shelljs": "0.3.0",
|
4033 |
"strip-json-comments": "1.0.4"
|
@@ -4112,6 +4323,36 @@
|
|
4112 |
"readable-stream": "2.3.7"
|
4113 |
}
|
4114 |
},
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
4115 |
"livereload-js": {
|
4116 |
"version": "2.4.0",
|
4117 |
"resolved": "https://registry.npmjs.org/livereload-js/-/livereload-js-2.4.0.tgz",
|
@@ -4179,17 +4420,6 @@
|
|
4179 |
"arrify": "1.0.1",
|
4180 |
"multimatch": "2.1.0",
|
4181 |
"pkg-up": "1.0.0"
|
4182 |
-
},
|
4183 |
-
"dependencies": {
|
4184 |
-
"pkg-up": {
|
4185 |
-
"version": "1.0.0",
|
4186 |
-
"resolved": "https://registry.npmjs.org/pkg-up/-/pkg-up-1.0.0.tgz",
|
4187 |
-
"integrity": "sha1-Pgj7RhUlxEIWJKM7n35tCvWwWiY=",
|
4188 |
-
"dev": true,
|
4189 |
-
"requires": {
|
4190 |
-
"find-up": "1.1.2"
|
4191 |
-
}
|
4192 |
-
}
|
4193 |
}
|
4194 |
},
|
4195 |
"load-json-file": {
|
@@ -4224,28 +4454,10 @@
|
|
4224 |
}
|
4225 |
}
|
4226 |
},
|
4227 |
-
"locate-path": {
|
4228 |
-
"version": "2.0.0",
|
4229 |
-
"resolved": "https://registry.npmjs.org/locate-path/-/locate-path-2.0.0.tgz",
|
4230 |
-
"integrity": "sha1-K1aLJl7slExtnA3pw9u7ygNUzY4=",
|
4231 |
-
"dev": true,
|
4232 |
-
"requires": {
|
4233 |
-
"p-locate": "2.0.0",
|
4234 |
-
"path-exists": "3.0.0"
|
4235 |
-
},
|
4236 |
-
"dependencies": {
|
4237 |
-
"path-exists": {
|
4238 |
-
"version": "3.0.0",
|
4239 |
-
"resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz",
|
4240 |
-
"integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=",
|
4241 |
-
"dev": true
|
4242 |
-
}
|
4243 |
-
}
|
4244 |
-
},
|
4245 |
"lodash": {
|
4246 |
-
"version": "4.17.
|
4247 |
-
"resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.
|
4248 |
-
"integrity": "sha512-
|
4249 |
"dev": true
|
4250 |
},
|
4251 |
"logalot": {
|
@@ -4322,6 +4534,15 @@
|
|
4322 |
}
|
4323 |
}
|
4324 |
},
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
4325 |
"map-cache": {
|
4326 |
"version": "0.2.2",
|
4327 |
"resolved": "https://registry.npmjs.org/map-cache/-/map-cache-0.2.2.tgz",
|
@@ -4540,9 +4761,9 @@
|
|
4540 |
}
|
4541 |
},
|
4542 |
"node-releases": {
|
4543 |
-
"version": "1.1.
|
4544 |
-
"resolved": "https://registry.npmjs.org/node-releases/-/node-releases-1.1.
|
4545 |
-
"integrity": "sha512-
|
4546 |
"dev": true
|
4547 |
},
|
4548 |
"node-uuid": {
|
@@ -4559,8 +4780,8 @@
|
|
4559 |
"requires": {
|
4560 |
"bluebird": "3.7.2",
|
4561 |
"gettext-parser": "3.1.1",
|
4562 |
-
"glob": "7.
|
4563 |
-
"lodash": "4.17.
|
4564 |
"minimist": "1.2.5",
|
4565 |
"mkdirp": "0.5.5",
|
4566 |
"tmp": "0.0.33"
|
@@ -4756,9 +4977,9 @@
|
|
4756 |
}
|
4757 |
},
|
4758 |
"object-inspect": {
|
4759 |
-
"version": "1.
|
4760 |
-
"resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.
|
4761 |
-
"integrity": "sha512-
|
4762 |
"dev": true
|
4763 |
},
|
4764 |
"object-keys": {
|
@@ -4788,6 +5009,18 @@
|
|
4788 |
"object-keys": "1.1.1"
|
4789 |
}
|
4790 |
},
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
4791 |
"object.getownpropertydescriptors": {
|
4792 |
"version": "2.1.0",
|
4793 |
"resolved": "https://registry.npmjs.org/object.getownpropertydescriptors/-/object.getownpropertydescriptors-2.1.0.tgz",
|
@@ -4799,6 +5032,16 @@
|
|
4799 |
"es-abstract": "1.17.6"
|
4800 |
}
|
4801 |
},
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
4802 |
"object.pick": {
|
4803 |
"version": "1.3.0",
|
4804 |
"resolved": "https://registry.npmjs.org/object.pick/-/object.pick-1.3.0.tgz",
|
@@ -4852,12 +5095,28 @@
|
|
4852 |
"arch": "2.1.2"
|
4853 |
}
|
4854 |
},
|
|
|
|
|
|
|
|
|
|
|
|
|
4855 |
"os-tmpdir": {
|
4856 |
"version": "1.0.2",
|
4857 |
"resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz",
|
4858 |
"integrity": "sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ=",
|
4859 |
"dev": true
|
4860 |
},
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
4861 |
"p-cancelable": {
|
4862 |
"version": "0.3.0",
|
4863 |
"resolved": "https://registry.npmjs.org/p-cancelable/-/p-cancelable-0.3.0.tgz",
|
@@ -4888,24 +5147,6 @@
|
|
4888 |
"dev": true,
|
4889 |
"optional": true
|
4890 |
},
|
4891 |
-
"p-limit": {
|
4892 |
-
"version": "1.3.0",
|
4893 |
-
"resolved": "https://registry.npmjs.org/p-limit/-/p-limit-1.3.0.tgz",
|
4894 |
-
"integrity": "sha512-vvcXsLAJ9Dr5rQOPk7toZQZJApBl2K4J6dANSsEuh6QI41JYcsS/qhTGa9ErIUUgK3WNQoJYvylxvjqmiqEA9Q==",
|
4895 |
-
"dev": true,
|
4896 |
-
"requires": {
|
4897 |
-
"p-try": "1.0.0"
|
4898 |
-
}
|
4899 |
-
},
|
4900 |
-
"p-locate": {
|
4901 |
-
"version": "2.0.0",
|
4902 |
-
"resolved": "https://registry.npmjs.org/p-locate/-/p-locate-2.0.0.tgz",
|
4903 |
-
"integrity": "sha1-IKAQOyIqcMj9OcwuWAaA893l7EM=",
|
4904 |
-
"dev": true,
|
4905 |
-
"requires": {
|
4906 |
-
"p-limit": "1.3.0"
|
4907 |
-
}
|
4908 |
-
},
|
4909 |
"p-map": {
|
4910 |
"version": "1.2.0",
|
4911 |
"resolved": "https://registry.npmjs.org/p-map/-/p-map-1.2.0.tgz",
|
@@ -4944,11 +5185,16 @@
|
|
4944 |
"p-finally": "1.0.0"
|
4945 |
}
|
4946 |
},
|
4947 |
-
"
|
4948 |
-
"version": "1.0.
|
4949 |
-
"resolved": "https://registry.npmjs.org/
|
4950 |
-
"integrity": "sha1-
|
4951 |
-
"dev": true
|
|
|
|
|
|
|
|
|
|
|
4952 |
},
|
4953 |
"parse-json": {
|
4954 |
"version": "2.2.0",
|
@@ -4965,6 +5211,12 @@
|
|
4965 |
"integrity": "sha1-VjRtR0nXjyNDDKDHE4UK75GqNh0=",
|
4966 |
"dev": true
|
4967 |
},
|
|
|
|
|
|
|
|
|
|
|
|
|
4968 |
"pascalcase": {
|
4969 |
"version": "0.1.1",
|
4970 |
"resolved": "https://registry.npmjs.org/pascalcase/-/pascalcase-0.1.1.tgz",
|
@@ -5004,6 +5256,21 @@
|
|
5004 |
"integrity": "sha512-GSmOT2EbHrINBf9SR7CDELwlJ8AENk3Qn7OikK4nFYAu3Ote2+JYNVvkpAEQm3/TLNEJFD/xZJjzyxg3KBWOzw==",
|
5005 |
"dev": true
|
5006 |
},
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
5007 |
"path-type": {
|
5008 |
"version": "1.1.0",
|
5009 |
"resolved": "https://registry.npmjs.org/path-type/-/path-type-1.1.0.tgz",
|
@@ -5049,23 +5316,12 @@
|
|
5049 |
}
|
5050 |
},
|
5051 |
"pkg-up": {
|
5052 |
-
"version": "
|
5053 |
-
"resolved": "https://registry.npmjs.org/pkg-up/-/pkg-up-
|
5054 |
-
"integrity": "sha1-
|
5055 |
"dev": true,
|
5056 |
"requires": {
|
5057 |
-
"find-up": "
|
5058 |
-
},
|
5059 |
-
"dependencies": {
|
5060 |
-
"find-up": {
|
5061 |
-
"version": "2.1.0",
|
5062 |
-
"resolved": "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz",
|
5063 |
-
"integrity": "sha1-RdG35QbHF93UgndaK3eSCjwMV6c=",
|
5064 |
-
"dev": true,
|
5065 |
-
"requires": {
|
5066 |
-
"locate-path": "2.0.0"
|
5067 |
-
}
|
5068 |
-
}
|
5069 |
}
|
5070 |
},
|
5071 |
"plur": {
|
@@ -5094,6 +5350,12 @@
|
|
5094 |
"supports-color": "6.1.0"
|
5095 |
},
|
5096 |
"dependencies": {
|
|
|
|
|
|
|
|
|
|
|
|
|
5097 |
"supports-color": {
|
5098 |
"version": "6.1.0",
|
5099 |
"resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz",
|
@@ -5112,9 +5374,9 @@
|
|
5112 |
"dev": true
|
5113 |
},
|
5114 |
"prebuild-install": {
|
5115 |
-
"version": "5.3.
|
5116 |
-
"resolved": "https://registry.npmjs.org/prebuild-install/-/prebuild-install-5.3.
|
5117 |
-
"integrity": "sha512-
|
5118 |
"dev": true,
|
5119 |
"optional": true,
|
5120 |
"requires": {
|
@@ -5311,6 +5573,15 @@
|
|
5311 |
"util-deprecate": "1.0.2"
|
5312 |
}
|
5313 |
},
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
5314 |
"redent": {
|
5315 |
"version": "1.0.0",
|
5316 |
"resolved": "https://registry.npmjs.org/redent/-/redent-1.0.0.tgz",
|
@@ -5418,6 +5689,16 @@
|
|
5418 |
"path-parse": "1.0.6"
|
5419 |
}
|
5420 |
},
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
5421 |
"resolve-url": {
|
5422 |
"version": "0.2.1",
|
5423 |
"resolved": "https://registry.npmjs.org/resolve-url/-/resolve-url-0.2.1.tgz",
|
@@ -5441,28 +5722,12 @@
|
|
5441 |
"dev": true
|
5442 |
},
|
5443 |
"rimraf": {
|
5444 |
-
"version": "
|
5445 |
-
"resolved": "https://registry.npmjs.org/rimraf/-/rimraf-
|
5446 |
-
"integrity": "sha512-
|
5447 |
"dev": true,
|
5448 |
"requires": {
|
5449 |
"glob": "7.1.6"
|
5450 |
-
},
|
5451 |
-
"dependencies": {
|
5452 |
-
"glob": {
|
5453 |
-
"version": "7.1.6",
|
5454 |
-
"resolved": "https://registry.npmjs.org/glob/-/glob-7.1.6.tgz",
|
5455 |
-
"integrity": "sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==",
|
5456 |
-
"dev": true,
|
5457 |
-
"requires": {
|
5458 |
-
"fs.realpath": "1.0.0",
|
5459 |
-
"inflight": "1.0.6",
|
5460 |
-
"inherits": "2.0.4",
|
5461 |
-
"minimatch": "3.0.4",
|
5462 |
-
"once": "1.4.0",
|
5463 |
-
"path-is-absolute": "1.0.1"
|
5464 |
-
}
|
5465 |
-
}
|
5466 |
}
|
5467 |
},
|
5468 |
"rsyncwrapper": {
|
@@ -5610,9 +5875,9 @@
|
|
5610 |
"dev": true
|
5611 |
},
|
5612 |
"simple-concat": {
|
5613 |
-
"version": "1.0.
|
5614 |
-
"resolved": "https://registry.npmjs.org/simple-concat/-/simple-concat-1.0.
|
5615 |
-
"integrity": "
|
5616 |
"dev": true,
|
5617 |
"optional": true
|
5618 |
},
|
@@ -5625,7 +5890,7 @@
|
|
5625 |
"requires": {
|
5626 |
"decompress-response": "4.2.1",
|
5627 |
"once": "1.4.0",
|
5628 |
-
"simple-concat": "1.0.
|
5629 |
}
|
5630 |
},
|
5631 |
"slash": {
|
@@ -5667,12 +5932,6 @@
|
|
5667 |
"requires": {
|
5668 |
"is-extendable": "0.1.1"
|
5669 |
}
|
5670 |
-
},
|
5671 |
-
"source-map": {
|
5672 |
-
"version": "0.5.7",
|
5673 |
-
"resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz",
|
5674 |
-
"integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=",
|
5675 |
-
"dev": true
|
5676 |
}
|
5677 |
}
|
5678 |
},
|
@@ -5766,9 +6025,9 @@
|
|
5766 |
}
|
5767 |
},
|
5768 |
"source-map": {
|
5769 |
-
"version": "0.
|
5770 |
-
"resolved": "https://registry.npmjs.org/source-map/-/source-map-0.
|
5771 |
-
"integrity": "
|
5772 |
"dev": true
|
5773 |
},
|
5774 |
"source-map-resolve": {
|
@@ -6063,7 +6322,7 @@
|
|
6063 |
"css-select-base-adapter": "0.1.1",
|
6064 |
"css-tree": "1.0.0-alpha.37",
|
6065 |
"csso": "4.0.3",
|
6066 |
-
"js-yaml": "3.
|
6067 |
"mkdirp": "0.5.5",
|
6068 |
"object.values": "1.1.1",
|
6069 |
"sax": "1.2.4",
|
@@ -6094,7 +6353,7 @@
|
|
6094 |
"chownr": "1.1.4",
|
6095 |
"mkdirp-classic": "0.5.3",
|
6096 |
"pump": "3.0.0",
|
6097 |
-
"tar-stream": "2.1.
|
6098 |
},
|
6099 |
"dependencies": {
|
6100 |
"bl": {
|
@@ -6121,9 +6380,9 @@
|
|
6121 |
}
|
6122 |
},
|
6123 |
"tar-stream": {
|
6124 |
-
"version": "2.1.
|
6125 |
-
"resolved": "https://registry.npmjs.org/tar-stream/-/tar-stream-2.1.
|
6126 |
-
"integrity": "sha512-
|
6127 |
"dev": true,
|
6128 |
"optional": true,
|
6129 |
"requires": {
|
@@ -6380,6 +6639,12 @@
|
|
6380 |
"through": "2.3.8"
|
6381 |
}
|
6382 |
},
|
|
|
|
|
|
|
|
|
|
|
|
|
6383 |
"underscore": {
|
6384 |
"version": "1.7.0",
|
6385 |
"resolved": "https://registry.npmjs.org/underscore/-/underscore-1.7.0.tgz",
|
@@ -6523,6 +6788,15 @@
|
|
6523 |
"integrity": "sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==",
|
6524 |
"dev": true
|
6525 |
},
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
6526 |
"validate-npm-package-license": {
|
6527 |
"version": "3.0.4",
|
6528 |
"resolved": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz",
|
@@ -6682,7 +6956,7 @@
|
|
6682 |
"requires": {
|
6683 |
"archiver-utils": "1.3.0",
|
6684 |
"compress-commons": "1.2.2",
|
6685 |
-
"lodash": "4.17.
|
6686 |
"readable-stream": "2.3.7"
|
6687 |
}
|
6688 |
}
|
1 |
{
|
2 |
"name": "wp-product-review",
|
3 |
+
"version": "3.7.10",
|
4 |
"lockfileVersion": 1,
|
5 |
"requires": true,
|
6 |
"dependencies": {
|
41 |
"dev": true
|
42 |
},
|
43 |
"ajv": {
|
44 |
+
"version": "6.12.3",
|
45 |
+
"resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.3.tgz",
|
46 |
+
"integrity": "sha512-4K0cK3L1hsqk9xIb2z9vs/XU+PGJZ9PNpJRDS9YLzmNdX6jmVPfamLvTJr0aDAusnHyCHO6MjzlkAsgtqp9teA==",
|
47 |
"dev": true,
|
48 |
"requires": {
|
49 |
"fast-deep-equal": "3.1.3",
|
108 |
"archiver-utils": "1.3.0",
|
109 |
"async": "2.6.3",
|
110 |
"buffer-crc32": "0.2.13",
|
111 |
+
"glob": "7.1.6",
|
112 |
+
"lodash": "4.17.19",
|
113 |
"readable-stream": "2.3.7",
|
114 |
"tar-stream": "1.6.2",
|
115 |
"walkdir": "0.0.11",
|
122 |
"integrity": "sha512-zflvls11DCy+dQWzTW2dzuilv8Z5X/pjfmZOWba6TNIVDm+2UDaJmXSOXlasHKfNBs8oo3M0aT50fDEWfKZjXg==",
|
123 |
"dev": true,
|
124 |
"requires": {
|
125 |
+
"lodash": "4.17.19"
|
126 |
}
|
127 |
}
|
128 |
}
|
133 |
"integrity": "sha1-5QtMCccL89aA4y/xt5lOn52JUXQ=",
|
134 |
"dev": true,
|
135 |
"requires": {
|
136 |
+
"glob": "7.1.6",
|
137 |
"graceful-fs": "4.2.4",
|
138 |
"lazystream": "1.0.0",
|
139 |
+
"lodash": "4.17.19",
|
140 |
"normalize-path": "2.1.1",
|
141 |
"readable-stream": "2.3.7"
|
142 |
}
|
192 |
"integrity": "sha1-7/UuN1gknTO+QCuLuOVkuytdQDE=",
|
193 |
"dev": true
|
194 |
},
|
195 |
+
"array-each": {
|
196 |
+
"version": "1.0.1",
|
197 |
+
"resolved": "https://registry.npmjs.org/array-each/-/array-each-1.0.1.tgz",
|
198 |
+
"integrity": "sha1-p5SvDAWrF1KEbudTofIRoFugxE8=",
|
199 |
+
"dev": true
|
200 |
+
},
|
201 |
"array-find-index": {
|
202 |
"version": "1.0.2",
|
203 |
"resolved": "https://registry.npmjs.org/array-find-index/-/array-find-index-1.0.2.tgz",
|
204 |
"integrity": "sha1-3wEKoSh+Fku9pvlyOwqWoexBh6E=",
|
205 |
"dev": true
|
206 |
},
|
207 |
+
"array-slice": {
|
208 |
+
"version": "1.1.0",
|
209 |
+
"resolved": "https://registry.npmjs.org/array-slice/-/array-slice-1.1.0.tgz",
|
210 |
+
"integrity": "sha512-B1qMD3RBP7O8o0H2KbrXDyB0IccejMF15+87Lvlor12ONPRHP6gTjXMNkt/d3ZuOGbAe66hFmaCfECI24Ufp6w==",
|
211 |
+
"dev": true
|
212 |
+
},
|
213 |
"array-union": {
|
214 |
"version": "1.0.2",
|
215 |
"resolved": "https://registry.npmjs.org/array-union/-/array-union-1.0.2.tgz",
|
277 |
"dev": true
|
278 |
},
|
279 |
"autoprefixer": {
|
280 |
+
"version": "9.8.5",
|
281 |
+
"resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-9.8.5.tgz",
|
282 |
+
"integrity": "sha512-C2p5KkumJlsTHoNv9w31NrBRgXhf6eCMteJuHZi2xhkgC+5Vm40MEtCKPhc0qdgAOhox0YPy1SQHTAky05UoKg==",
|
283 |
"dev": true,
|
284 |
"requires": {
|
285 |
+
"browserslist": "4.13.0",
|
286 |
+
"caniuse-lite": "1.0.30001104",
|
287 |
+
"colorette": "1.2.1",
|
288 |
"normalize-range": "0.1.2",
|
289 |
"num2fraction": "1.2.2",
|
290 |
"postcss": "7.0.32",
|
698 |
}
|
699 |
},
|
700 |
"browserslist": {
|
701 |
+
"version": "4.13.0",
|
702 |
+
"resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.13.0.tgz",
|
703 |
+
"integrity": "sha512-MINatJ5ZNrLnQ6blGvePd/QOz9Xtu+Ne+x29iQSCHfkU5BugKVJwZKn/iiL8UbpIpa3JhviKjz+XxMo0m2caFQ==",
|
704 |
"dev": true,
|
705 |
"requires": {
|
706 |
+
"caniuse-lite": "1.0.30001104",
|
707 |
+
"electron-to-chromium": "1.3.502",
|
708 |
+
"escalade": "3.0.2",
|
709 |
+
"node-releases": "1.1.59"
|
710 |
}
|
711 |
},
|
712 |
"buffer": {
|
779 |
"graceful-fs": "4.2.4",
|
780 |
"mkdirp": "0.5.5",
|
781 |
"object-assign": "4.1.1",
|
782 |
+
"rimraf": "2.7.1"
|
783 |
},
|
784 |
"dependencies": {
|
785 |
"mkdirp": {
|
790 |
"requires": {
|
791 |
"minimist": "1.2.5"
|
792 |
}
|
793 |
+
},
|
794 |
+
"rimraf": {
|
795 |
+
"version": "2.7.1",
|
796 |
+
"resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz",
|
797 |
+
"integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==",
|
798 |
+
"dev": true,
|
799 |
+
"requires": {
|
800 |
+
"glob": "7.1.6"
|
801 |
+
}
|
802 |
}
|
803 |
}
|
804 |
},
|
850 |
}
|
851 |
},
|
852 |
"caniuse-lite": {
|
853 |
+
"version": "1.0.30001104",
|
854 |
+
"resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001104.tgz",
|
855 |
+
"integrity": "sha512-pkpCg7dmI/a7WcqM2yfdOiT4Xx5tzyoHAXWsX5/HxZ3TemwDZs0QXdqbE0UPLPVy/7BeK7693YfzfRYfu1YVpg==",
|
856 |
"dev": true
|
857 |
},
|
858 |
"caseless": {
|
922 |
"requires": {
|
923 |
"exit": "0.1.2",
|
924 |
"glob": "7.1.6"
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
925 |
}
|
926 |
},
|
927 |
"clone-response": {
|
992 |
"integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=",
|
993 |
"dev": true
|
994 |
},
|
995 |
+
"colorette": {
|
996 |
+
"version": "1.2.1",
|
997 |
+
"resolved": "https://registry.npmjs.org/colorette/-/colorette-1.2.1.tgz",
|
998 |
+
"integrity": "sha512-puCDz0CzydiSYOrnXpz/PKd69zRrribezjtE9yd4zvytoRc8+RY/KJPvtPFKZS3E3wP6neGyMe0vOTlHO5L3Pw==",
|
999 |
+
"dev": true
|
1000 |
+
},
|
1001 |
"colors": {
|
1002 |
"version": "1.1.2",
|
1003 |
"resolved": "https://registry.npmjs.org/colors/-/colors-1.1.2.tgz",
|
1202 |
"requires": {
|
1203 |
"mdn-data": "2.0.4",
|
1204 |
"source-map": "0.6.1"
|
1205 |
+
},
|
1206 |
+
"dependencies": {
|
1207 |
+
"source-map": {
|
1208 |
+
"version": "0.6.1",
|
1209 |
+
"resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
|
1210 |
+
"integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
|
1211 |
+
"dev": true,
|
1212 |
+
"optional": true
|
1213 |
+
}
|
1214 |
}
|
1215 |
},
|
1216 |
"css-what": {
|
1303 |
"integrity": "sha512-rQvjv71olwNHgiTbfPZFkJtjNMciWgswYeciZhtvWLO8bmX3TnhyA62I6sTWOyZssWHJJjY6/KiWwqQsWWsqOA==",
|
1304 |
"dev": true,
|
1305 |
"optional": true
|
1306 |
+
},
|
1307 |
+
"source-map": {
|
1308 |
+
"version": "0.6.1",
|
1309 |
+
"resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
|
1310 |
+
"integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
|
1311 |
+
"dev": true,
|
1312 |
+
"optional": true
|
1313 |
}
|
1314 |
}
|
1315 |
},
|
1347 |
}
|
1348 |
},
|
1349 |
"dateformat": {
|
1350 |
+
"version": "3.0.3",
|
1351 |
+
"resolved": "https://registry.npmjs.org/dateformat/-/dateformat-3.0.3.tgz",
|
1352 |
+
"integrity": "sha512-jyCETtSl3VMZMWeRo7iY1FL19ges1t55hMo5yaam4Jrsm5EPL89UQkoQRyiI+Yf4k8r2ZpdngkV8hr1lIdjb3Q==",
|
1353 |
+
"dev": true
|
|
|
|
|
|
|
|
|
1354 |
},
|
1355 |
"debug": {
|
1356 |
"version": "2.6.9",
|
1557 |
"integrity": "sha1-hMbhWbgZBP3KWaDvRM2HDTElD5o=",
|
1558 |
"dev": true
|
1559 |
},
|
1560 |
+
"detect-file": {
|
1561 |
+
"version": "1.0.0",
|
1562 |
+
"resolved": "https://registry.npmjs.org/detect-file/-/detect-file-1.0.0.tgz",
|
1563 |
+
"integrity": "sha1-8NZtA2cqglyxtzvbP+YjEMjlUrc=",
|
1564 |
+
"dev": true
|
1565 |
+
},
|
1566 |
"detect-libc": {
|
1567 |
"version": "1.0.3",
|
1568 |
"resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-1.0.3.tgz",
|
1727 |
}
|
1728 |
},
|
1729 |
"electron-to-chromium": {
|
1730 |
+
"version": "1.3.502",
|
1731 |
+
"resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.502.tgz",
|
1732 |
+
"integrity": "sha512-TIeXOaHAvfP7FemGUtAJxStmOc1YFGWFNqdey/4Nk41L9b1nMmDVDGNMIWhZJvOfJxix6Cv5FGEnBK+yvw3UTg==",
|
1733 |
"dev": true
|
1734 |
},
|
1735 |
"encoding": {
|
1736 |
+
"version": "0.1.13",
|
1737 |
+
"resolved": "https://registry.npmjs.org/encoding/-/encoding-0.1.13.tgz",
|
1738 |
+
"integrity": "sha512-ETBauow1T35Y/WZMkio9jiM0Z5xjHHmJ4XmjZOq1l/dXz3lr2sRn87nJy20RupqSh1F2m3HHPSp8ShIPQJrJ3A==",
|
1739 |
"dev": true,
|
1740 |
"requires": {
|
1741 |
+
"iconv-lite": "0.6.2"
|
1742 |
+
},
|
1743 |
+
"dependencies": {
|
1744 |
+
"iconv-lite": {
|
1745 |
+
"version": "0.6.2",
|
1746 |
+
"resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.2.tgz",
|
1747 |
+
"integrity": "sha512-2y91h5OpQlolefMPmUlivelittSWy0rP+oYVpn6A7GwVHNE8AWzoYOBNmlwks3LobaJxgHCYZAnyNo2GgpNRNQ==",
|
1748 |
+
"dev": true,
|
1749 |
+
"requires": {
|
1750 |
+
"safer-buffer": "2.1.2"
|
1751 |
+
}
|
1752 |
+
}
|
1753 |
}
|
1754 |
},
|
1755 |
"end-of-stream": {
|
1803 |
"has-symbols": "1.0.1",
|
1804 |
"is-callable": "1.2.0",
|
1805 |
"is-regex": "1.1.0",
|
1806 |
+
"object-inspect": "1.8.0",
|
1807 |
"object-keys": "1.1.1",
|
1808 |
"object.assign": "4.1.0",
|
1809 |
"string.prototype.trimend": "1.0.1",
|
1821 |
"is-symbol": "1.0.3"
|
1822 |
}
|
1823 |
},
|
1824 |
+
"escalade": {
|
1825 |
+
"version": "3.0.2",
|
1826 |
+
"resolved": "https://registry.npmjs.org/escalade/-/escalade-3.0.2.tgz",
|
1827 |
+
"integrity": "sha512-gPYAU37hYCUhW5euPeR+Y74F7BL+IBsV93j5cvGriSaD1aG6MGsqsV1yamRdrWrb2j3aiZvb0X+UBOWpx3JWtQ==",
|
1828 |
+
"dev": true
|
1829 |
+
},
|
1830 |
"escape-string-regexp": {
|
1831 |
"version": "1.0.5",
|
1832 |
"resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz",
|
1855 |
"execa": "0.7.0",
|
1856 |
"p-finally": "1.0.0",
|
1857 |
"pify": "3.0.0",
|
1858 |
+
"rimraf": "2.7.1",
|
1859 |
"tempfile": "2.0.0"
|
1860 |
},
|
1861 |
"dependencies": {
|
1865 |
"integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=",
|
1866 |
"dev": true,
|
1867 |
"optional": true
|
1868 |
+
},
|
1869 |
+
"rimraf": {
|
1870 |
+
"version": "2.7.1",
|
1871 |
+
"resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz",
|
1872 |
+
"integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==",
|
1873 |
+
"dev": true,
|
1874 |
+
"optional": true,
|
1875 |
+
"requires": {
|
1876 |
+
"glob": "7.1.6"
|
1877 |
+
}
|
1878 |
}
|
1879 |
}
|
1880 |
},
|
1951 |
"dev": true,
|
1952 |
"optional": true
|
1953 |
},
|
1954 |
+
"expand-tilde": {
|
1955 |
+
"version": "2.0.2",
|
1956 |
+
"resolved": "https://registry.npmjs.org/expand-tilde/-/expand-tilde-2.0.2.tgz",
|
1957 |
+
"integrity": "sha1-l+gBqgUt8CRU3kawK/YhZCzchQI=",
|
1958 |
+
"dev": true,
|
1959 |
+
"requires": {
|
1960 |
+
"homedir-polyfill": "1.0.3"
|
1961 |
+
}
|
1962 |
+
},
|
1963 |
"ext-list": {
|
1964 |
"version": "2.2.2",
|
1965 |
"resolved": "https://registry.npmjs.org/ext-list/-/ext-list-2.2.2.tgz",
|
2106 |
"is-glob": "4.0.1",
|
2107 |
"merge2": "1.4.1",
|
2108 |
"micromatch": "3.1.10"
|
2109 |
+
},
|
2110 |
+
"dependencies": {
|
2111 |
+
"is-glob": {
|
2112 |
+
"version": "4.0.1",
|
2113 |
+
"resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.1.tgz",
|
2114 |
+
"integrity": "sha512-5G0tKtBTFImOqDnLB2hG6Bp2qcKEFduo4tZu9MT/H6NQv/ghhy30o55ufafxJ/LdH79LLs2Kfrn85TLKyA7BUg==",
|
2115 |
+
"dev": true,
|
2116 |
+
"requires": {
|
2117 |
+
"is-extglob": "2.1.1"
|
2118 |
+
}
|
2119 |
+
}
|
2120 |
}
|
2121 |
},
|
2122 |
"fast-json-stable-stringify": {
|
2249 |
}
|
2250 |
}
|
2251 |
},
|
2252 |
+
"fined": {
|
2253 |
+
"version": "1.2.0",
|
2254 |
+
"resolved": "https://registry.npmjs.org/fined/-/fined-1.2.0.tgz",
|
2255 |
+
"integrity": "sha512-ZYDqPLGxDkDhDZBjZBb+oD1+j0rA4E0pXY50eplAAOPg2N/gUBSSk5IM1/QhPfyVo19lJ+CvXpqfvk+b2p/8Ng==",
|
2256 |
+
"dev": true,
|
2257 |
+
"requires": {
|
2258 |
+
"expand-tilde": "2.0.2",
|
2259 |
+
"is-plain-object": "2.0.4",
|
2260 |
+
"object.defaults": "1.1.0",
|
2261 |
+
"object.pick": "1.3.0",
|
2262 |
+
"parse-filepath": "1.0.2"
|
2263 |
+
}
|
2264 |
+
},
|
2265 |
+
"flagged-respawn": {
|
2266 |
+
"version": "1.0.1",
|
2267 |
+
"resolved": "https://registry.npmjs.org/flagged-respawn/-/flagged-respawn-1.0.1.tgz",
|
2268 |
+
"integrity": "sha512-lNaHNVymajmk0OJMBn8fVUAU1BtDeKIqKoVhk4xAALB57aALg6b4W0MfJ/cUE0g9YBXy5XhSlPIpYIJ7HaY/3Q==",
|
2269 |
+
"dev": true
|
2270 |
+
},
|
2271 |
"for-in": {
|
2272 |
"version": "1.0.2",
|
2273 |
"resolved": "https://registry.npmjs.org/for-in/-/for-in-1.0.2.tgz",
|
2274 |
"integrity": "sha1-gQaNKVqBQuwKxybG4iAMMPttXoA=",
|
2275 |
"dev": true
|
2276 |
},
|
2277 |
+
"for-own": {
|
2278 |
+
"version": "1.0.0",
|
2279 |
+
"resolved": "https://registry.npmjs.org/for-own/-/for-own-1.0.0.tgz",
|
2280 |
+
"integrity": "sha1-xjMy9BXO3EsE2/5wz4NklMU8tEs=",
|
2281 |
+
"dev": true,
|
2282 |
+
"requires": {
|
2283 |
+
"for-in": "1.0.2"
|
2284 |
+
}
|
2285 |
+
},
|
2286 |
"forever-agent": {
|
2287 |
"version": "0.6.1",
|
2288 |
"resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz",
|
2422 |
"integrity": "sha512-vNhWcqXEtZPs5Ft1ReA34g7ByWotpcOIeJvXVy2jF3/G2U9v6W0wG4Z4hXzcU8R//jArqkgHcVCGgGqa4vxVlQ==",
|
2423 |
"dev": true,
|
2424 |
"requires": {
|
2425 |
+
"encoding": "0.1.13",
|
2426 |
"readable-stream": "3.6.0",
|
2427 |
"safe-buffer": "5.1.2"
|
2428 |
},
|
2503 |
"optional": true
|
2504 |
},
|
2505 |
"glob": {
|
2506 |
+
"version": "7.1.6",
|
2507 |
+
"resolved": "https://registry.npmjs.org/glob/-/glob-7.1.6.tgz",
|
2508 |
+
"integrity": "sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==",
|
2509 |
"dev": true,
|
2510 |
"requires": {
|
2511 |
"fs.realpath": "1.0.0",
|
2524 |
"requires": {
|
2525 |
"is-glob": "3.1.0",
|
2526 |
"path-dirname": "1.0.2"
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2527 |
}
|
2528 |
},
|
2529 |
"glob-to-regexp": {
|
2532 |
"integrity": "sha1-jFoUlNIGbFcMw7/kSWF1rMTVAqs=",
|
2533 |
"dev": true
|
2534 |
},
|
2535 |
+
"global-modules": {
|
2536 |
+
"version": "1.0.0",
|
2537 |
+
"resolved": "https://registry.npmjs.org/global-modules/-/global-modules-1.0.0.tgz",
|
2538 |
+
"integrity": "sha512-sKzpEkf11GpOFuw0Zzjzmt4B4UZwjOcG757PPvrfhxcLFbq0wpsgpOqxpxtxFiCG4DtG93M6XRVbF2oGdev7bg==",
|
2539 |
+
"dev": true,
|
2540 |
+
"requires": {
|
2541 |
+
"global-prefix": "1.0.2",
|
2542 |
+
"is-windows": "1.0.2",
|
2543 |
+
"resolve-dir": "1.0.1"
|
2544 |
+
}
|
2545 |
+
},
|
2546 |
+
"global-prefix": {
|
2547 |
+
"version": "1.0.2",
|
2548 |
+
"resolved": "https://registry.npmjs.org/global-prefix/-/global-prefix-1.0.2.tgz",
|
2549 |
+
"integrity": "sha1-2/dDxsFJklk8ZVVoy2btMsASLr4=",
|
2550 |
+
"dev": true,
|
2551 |
+
"requires": {
|
2552 |
+
"expand-tilde": "2.0.2",
|
2553 |
+
"homedir-polyfill": "1.0.3",
|
2554 |
+
"ini": "1.3.5",
|
2555 |
+
"is-windows": "1.0.2",
|
2556 |
+
"which": "1.3.1"
|
2557 |
+
}
|
2558 |
+
},
|
2559 |
"globby": {
|
2560 |
"version": "8.0.2",
|
2561 |
"resolved": "https://registry.npmjs.org/globby/-/globby-8.0.2.tgz",
|
2571 |
"slash": "1.0.0"
|
2572 |
},
|
2573 |
"dependencies": {
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2574 |
"ignore": {
|
2575 |
"version": "3.3.10",
|
2576 |
"resolved": "https://registry.npmjs.org/ignore/-/ignore-3.3.10.tgz",
|
2592 |
"dev": true,
|
2593 |
"requires": {
|
2594 |
"glob": "7.1.6",
|
2595 |
+
"lodash": "4.17.19",
|
2596 |
"minimatch": "3.0.4"
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2597 |
}
|
2598 |
},
|
2599 |
"gonzales-pe": {
|
2657 |
"dev": true
|
2658 |
},
|
2659 |
"grunt": {
|
2660 |
+
"version": "1.2.1",
|
2661 |
+
"resolved": "https://registry.npmjs.org/grunt/-/grunt-1.2.1.tgz",
|
2662 |
+
"integrity": "sha512-zgJjn9N56tScvRt/y0+1QA+zDBnKTrkpyeSBqQPLcZvbqTD/oyGMrdZQXmm6I3828s+FmPvxc3Xv+lgKFtudOw==",
|
2663 |
"dev": true,
|
2664 |
"requires": {
|
2665 |
+
"dateformat": "3.0.3",
|
|
|
2666 |
"eventemitter2": "0.4.14",
|
2667 |
"exit": "0.1.2",
|
2668 |
"findup-sync": "0.3.0",
|
2669 |
+
"glob": "7.1.6",
|
2670 |
+
"grunt-cli": "1.3.2",
|
2671 |
"grunt-known-options": "1.1.1",
|
2672 |
"grunt-legacy-log": "2.0.0",
|
2673 |
"grunt-legacy-util": "1.1.1",
|
2674 |
"iconv-lite": "0.4.24",
|
2675 |
+
"js-yaml": "3.14.0",
|
2676 |
"minimatch": "3.0.4",
|
2677 |
"mkdirp": "1.0.4",
|
2678 |
"nopt": "3.0.6",
|
2679 |
+
"rimraf": "3.0.2"
|
|
|
2680 |
},
|
2681 |
"dependencies": {
|
2682 |
"grunt-cli": {
|
2683 |
+
"version": "1.3.2",
|
2684 |
+
"resolved": "https://registry.npmjs.org/grunt-cli/-/grunt-cli-1.3.2.tgz",
|
2685 |
+
"integrity": "sha512-8OHDiZZkcptxVXtMfDxJvmN7MVJNE8L/yIcPb4HB7TlyFD1kDvjHrb62uhySsU14wJx9ORMnTuhRMQ40lH/orQ==",
|
2686 |
"dev": true,
|
2687 |
"requires": {
|
|
|
2688 |
"grunt-known-options": "1.1.1",
|
2689 |
+
"interpret": "1.1.0",
|
2690 |
+
"liftoff": "2.5.0",
|
2691 |
+
"nopt": "4.0.3",
|
2692 |
+
"v8flags": "3.1.3"
|
2693 |
+
},
|
2694 |
+
"dependencies": {
|
2695 |
+
"nopt": {
|
2696 |
+
"version": "4.0.3",
|
2697 |
+
"resolved": "https://registry.npmjs.org/nopt/-/nopt-4.0.3.tgz",
|
2698 |
+
"integrity": "sha512-CvaGwVMztSMJLOeXPrez7fyfObdZqNUK1cPAEzLHrTybIua9pMdmmPR5YwtfNftIOMv3DPUhFaxsZMNTQO20Kg==",
|
2699 |
+
"dev": true,
|
2700 |
+
"requires": {
|
2701 |
+
"abbrev": "1.1.1",
|
2702 |
+
"osenv": "0.1.5"
|
2703 |
+
}
|
2704 |
+
}
|
2705 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
2706 |
}
|
2707 |
}
|
2708 |
},
|
2749 |
"archiver": "1.3.0",
|
2750 |
"chalk": "1.1.3",
|
2751 |
"iltorb": "2.4.5",
|
2752 |
+
"lodash": "4.17.19",
|
2753 |
"pretty-bytes": "4.0.2",
|
2754 |
"stream-buffers": "2.2.0"
|
2755 |
},
|
2862 |
"requires": {
|
2863 |
"async": "2.6.3",
|
2864 |
"gaze": "1.1.3",
|
2865 |
+
"lodash": "4.17.19",
|
2866 |
"tiny-lr": "1.1.1"
|
2867 |
},
|
2868 |
"dependencies": {
|
2872 |
"integrity": "sha512-zflvls11DCy+dQWzTW2dzuilv8Z5X/pjfmZOWba6TNIVDm+2UDaJmXSOXlasHKfNBs8oo3M0aT50fDEWfKZjXg==",
|
2873 |
"dev": true,
|
2874 |
"requires": {
|
2875 |
+
"lodash": "4.17.19"
|
2876 |
}
|
2877 |
}
|
2878 |
}
|
2898 |
"colors": "1.1.2",
|
2899 |
"grunt-legacy-log-utils": "2.0.1",
|
2900 |
"hooker": "0.2.3",
|
2901 |
+
"lodash": "4.17.19"
|
2902 |
}
|
2903 |
},
|
2904 |
"grunt-legacy-log-utils": {
|
2908 |
"dev": true,
|
2909 |
"requires": {
|
2910 |
"chalk": "2.4.2",
|
2911 |
+
"lodash": "4.17.19"
|
2912 |
}
|
2913 |
},
|
2914 |
"grunt-legacy-util": {
|
2921 |
"exit": "0.1.2",
|
2922 |
"getobject": "0.1.0",
|
2923 |
"hooker": "0.2.3",
|
2924 |
+
"lodash": "4.17.19",
|
2925 |
"underscore.string": "3.3.5",
|
2926 |
"which": "1.3.1"
|
2927 |
}
|
2939 |
"dev": true,
|
2940 |
"requires": {
|
2941 |
"async": "1.5.2",
|
2942 |
+
"rimraf": "2.7.1"
|
2943 |
+
},
|
2944 |
+
"dependencies": {
|
2945 |
+
"rimraf": {
|
2946 |
+
"version": "2.7.1",
|
2947 |
+
"resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz",
|
2948 |
+
"integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==",
|
2949 |
+
"dev": true,
|
2950 |
+
"requires": {
|
2951 |
+
"glob": "7.1.6"
|
2952 |
+
}
|
2953 |
+
}
|
2954 |
}
|
2955 |
},
|
2956 |
"grunt-phpcbf": {
|
3258 |
"version": "github:codeinwp/grunt-plugin-fleet#922540b800fafe8a89d60e82699afb8073c1b7c2",
|
3259 |
"dev": true,
|
3260 |
"requires": {
|
3261 |
+
"autoprefixer": "9.8.5",
|
3262 |
"grunt": "1.0.4",
|
3263 |
"grunt-cachebuster": "0.1.7",
|
3264 |
"grunt-checktextdomain": "1.0.1",
|
3285 |
"time-grunt": "1.4.0"
|
3286 |
},
|
3287 |
"dependencies": {
|
3288 |
+
"dateformat": {
|
3289 |
+
"version": "1.0.12",
|
3290 |
+
"resolved": "https://registry.npmjs.org/dateformat/-/dateformat-1.0.12.tgz",
|
3291 |
+
"integrity": "sha1-nxJLZ1lMk3/3BpMuSmQsyo27/uk=",
|
3292 |
+
"dev": true,
|
3293 |
+
"requires": {
|
3294 |
+
"get-stdin": "4.0.1",
|
3295 |
+
"meow": "3.7.0"
|
3296 |
+
}
|
3297 |
+
},
|
3298 |
+
"glob": {
|
3299 |
+
"version": "7.0.6",
|
3300 |
+
"resolved": "https://registry.npmjs.org/glob/-/glob-7.0.6.tgz",
|
3301 |
+
"integrity": "sha1-IRuvr0nlJbjNkyYNFKsTYVKz9Xo=",
|
3302 |
+
"dev": true,
|
3303 |
+
"requires": {
|
3304 |
+
"fs.realpath": "1.0.0",
|
3305 |
+
"inflight": "1.0.6",
|
3306 |
+
"inherits": "2.0.4",
|
3307 |
+
"minimatch": "3.0.4",
|
3308 |
+
"once": "1.4.0",
|
3309 |
+
"path-is-absolute": "1.0.1"
|
3310 |
+
}
|
3311 |
+
},
|
3312 |
"grunt": {
|
3313 |
"version": "1.0.4",
|
3314 |
"resolved": "https://registry.npmjs.org/grunt/-/grunt-1.0.4.tgz",
|
3348 |
}
|
3349 |
}
|
3350 |
},
|
3351 |
+
"js-yaml": {
|
3352 |
+
"version": "3.13.1",
|
3353 |
+
"resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.13.1.tgz",
|
3354 |
+
"integrity": "sha512-YfbcO7jXDdyj0DGxYVSlSeQNHbD7XPWvrVWeVUujrQEoZzWJIRrCPoyk6kL6IAjAG2IolMK4T0hNUe0HOUs5Jw==",
|
3355 |
+
"dev": true,
|
3356 |
+
"requires": {
|
3357 |
+
"argparse": "1.0.10",
|
3358 |
+
"esprima": "4.0.1"
|
3359 |
+
}
|
3360 |
+
},
|
3361 |
"mkdirp": {
|
3362 |
"version": "0.5.5",
|
3363 |
"resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.5.tgz",
|
3372 |
"resolved": "https://registry.npmjs.org/resolve/-/resolve-1.1.7.tgz",
|
3373 |
"integrity": "sha1-IDEU2CrSxe2ejgQRs5ModeiJ6Xs=",
|
3374 |
"dev": true
|
3375 |
+
},
|
3376 |
+
"rimraf": {
|
3377 |
+
"version": "2.6.3",
|
3378 |
+
"resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.3.tgz",
|
3379 |
+
"integrity": "sha512-mwqeW5XsA2qAejG46gYdENaxXjx9onRNCfn7L0duuP4hCuTIi/QO7PDK07KJfp1d+izWPrzEJDcSqBa0OZQriA==",
|
3380 |
+
"dev": true,
|
3381 |
+
"requires": {
|
3382 |
+
"glob": "7.1.6"
|
3383 |
+
},
|
3384 |
+
"dependencies": {
|
3385 |
+
"glob": {
|
3386 |
+
"version": "7.1.6",
|
3387 |
+
"resolved": "https://registry.npmjs.org/glob/-/glob-7.1.6.tgz",
|
3388 |
+
"integrity": "sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==",
|
3389 |
+
"dev": true,
|
3390 |
+
"requires": {
|
3391 |
+
"fs.realpath": "1.0.0",
|
3392 |
+
"inflight": "1.0.6",
|
3393 |
+
"inherits": "2.0.4",
|
3394 |
+
"minimatch": "3.0.4",
|
3395 |
+
"once": "1.4.0",
|
3396 |
+
"path-is-absolute": "1.0.1"
|
3397 |
+
}
|
3398 |
+
}
|
3399 |
+
}
|
3400 |
}
|
3401 |
}
|
3402 |
},
|
3421 |
"source-map": "0.6.1",
|
3422 |
"supports-color": "5.5.0"
|
3423 |
}
|
3424 |
+
},
|
3425 |
+
"source-map": {
|
3426 |
+
"version": "0.6.1",
|
3427 |
+
"resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
|
3428 |
+
"integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
|
3429 |
+
"dev": true
|
3430 |
}
|
3431 |
}
|
3432 |
},
|
3446 |
"dev": true,
|
3447 |
"requires": {
|
3448 |
"fs-extra": "6.0.1",
|
3449 |
+
"glob": "7.1.6",
|
3450 |
"md5-file": "2.0.7"
|
3451 |
}
|
3452 |
},
|
3462 |
"integrity": "sha512-mpcf8tcEtRBeMVkZpysIIDbv6sW3S0R5MO4+ysMNb7i6LNSpvyTePKWE/eOnLdfyXIuqxtP/H2Z4Mgkjl2BUBw==",
|
3463 |
"dev": true,
|
3464 |
"requires": {
|
3465 |
+
"grunt": "1.2.1",
|
3466 |
"semver": "6.3.0"
|
3467 |
},
|
3468 |
"dependencies": {
|
3482 |
"requires": {
|
3483 |
"cssbeautify": "0.3.1",
|
3484 |
"csscomb": "3.1.8",
|
3485 |
+
"lodash": "4.17.19"
|
3486 |
}
|
3487 |
},
|
3488 |
"grunt-wp-i18n": {
|
3491 |
"integrity": "sha512-CJNbEKeBeOSAPeaJ9B8iCgSwtaG63UR9/uT46a4OsIqnFhOJpeAi138JTlvjfIbnDVoBrzvdrKJe1svveLjUtA==",
|
3492 |
"dev": true,
|
3493 |
"requires": {
|
3494 |
+
"grunt": "1.2.1",
|
3495 |
"node-wp-i18n": "1.2.3"
|
3496 |
}
|
3497 |
},
|
3513 |
"integrity": "sha512-sNvOCzEQNr/qrvJgc3UG/kD4QtlHycrzwS+6mfTrrSq97BvaYcPZZI1ZSqGSPR73Cxn4LKTD4PttRwfU7jWq5g==",
|
3514 |
"dev": true,
|
3515 |
"requires": {
|
3516 |
+
"ajv": "6.12.3",
|
3517 |
"har-schema": "2.0.0"
|
3518 |
}
|
3519 |
},
|
3606 |
}
|
3607 |
}
|
3608 |
},
|
3609 |
+
"homedir-polyfill": {
|
3610 |
+
"version": "1.0.3",
|
3611 |
+
"resolved": "https://registry.npmjs.org/homedir-polyfill/-/homedir-polyfill-1.0.3.tgz",
|
3612 |
+
"integrity": "sha512-eSmmWE5bZTK2Nou4g0AI3zZ9rswp7GRKoKXS1BLUkvPviOqs4YTN1djQIqrXy9k5gEtdLPy86JjRwsNM9tnDcA==",
|
3613 |
+
"dev": true,
|
3614 |
+
"requires": {
|
3615 |
+
"parse-passwd": "1.0.0"
|
3616 |
+
}
|
3617 |
+
},
|
3618 |
"hooker": {
|
3619 |
"version": "0.2.3",
|
3620 |
"resolved": "https://registry.npmjs.org/hooker/-/hooker-0.2.3.tgz",
|
3744 |
"detect-libc": "1.0.3",
|
3745 |
"nan": "2.14.1",
|
3746 |
"npmlog": "4.1.2",
|
3747 |
+
"prebuild-install": "5.3.5",
|
3748 |
"which-pm-runs": "1.0.0"
|
3749 |
}
|
3750 |
},
|
3861 |
"integrity": "sha512-RZY5huIKCMRWDUqZlEi72f/lmXKMvuszcMBduliQ3nnWbx9X/ZBQO7DijMEYS9EhHBb2qacRUMtC7svLwe0lcw==",
|
3862 |
"dev": true
|
3863 |
},
|
3864 |
+
"interpret": {
|
3865 |
+
"version": "1.1.0",
|
3866 |
+
"resolved": "https://registry.npmjs.org/interpret/-/interpret-1.1.0.tgz",
|
3867 |
+
"integrity": "sha1-ftGxQQxqDg94z5XTuEQMY/eLhhQ=",
|
3868 |
+
"dev": true
|
3869 |
+
},
|
3870 |
"into-stream": {
|
3871 |
"version": "3.1.0",
|
3872 |
"resolved": "https://registry.npmjs.org/into-stream/-/into-stream-3.1.0.tgz",
|
3884 |
"integrity": "sha512-Y75zBYLkh0lJ9qxeHlMjQ7bSbyiSqNW/UOPWDmzC7cXskL1hekSITh1Oc6JV0XCWWZ9DE8VYSB71xocLk3gmGw==",
|
3885 |
"dev": true
|
3886 |
},
|
3887 |
+
"is-absolute": {
|
3888 |
+
"version": "1.0.0",
|
3889 |
+
"resolved": "https://registry.npmjs.org/is-absolute/-/is-absolute-1.0.0.tgz",
|
3890 |
+
"integrity": "sha512-dOWoqflvcydARa360Gvv18DZ/gRuHKi2NU/wU5X1ZFzdYfH29nkiNZsF3mp4OJ3H4yo9Mx8A/uAGNzpzPN3yBA==",
|
3891 |
+
"dev": true,
|
3892 |
+
"requires": {
|
3893 |
+
"is-relative": "1.0.0",
|
3894 |
+
"is-windows": "1.0.2"
|
3895 |
+
}
|
3896 |
+
},
|
3897 |
"is-accessor-descriptor": {
|
3898 |
"version": "0.1.6",
|
3899 |
"resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz",
|
4015 |
}
|
4016 |
},
|
4017 |
"is-glob": {
|
4018 |
+
"version": "3.1.0",
|
4019 |
+
"resolved": "https://registry.npmjs.org/is-glob/-/is-glob-3.1.0.tgz",
|
4020 |
+
"integrity": "sha1-e6WuJCF4BKxwcHuWkiVnSGzD6Eo=",
|
4021 |
"dev": true,
|
4022 |
"requires": {
|
4023 |
"is-extglob": "2.1.1"
|
4093 |
"has-symbols": "1.0.1"
|
4094 |
}
|
4095 |
},
|
4096 |
+
"is-relative": {
|
4097 |
+
"version": "1.0.0",
|
4098 |
+
"resolved": "https://registry.npmjs.org/is-relative/-/is-relative-1.0.0.tgz",
|
4099 |
+
"integrity": "sha512-Kw/ReK0iqwKeu0MITLFuj0jbPAmEiOsIwyIXvvbfa6QfmN9pkD1M+8pdk7Rl/dTKbH34/XBFMbgD4iMJhLQbGA==",
|
4100 |
+
"dev": true,
|
4101 |
+
"requires": {
|
4102 |
+
"is-unc-path": "1.0.0"
|
4103 |
+
}
|
4104 |
+
},
|
4105 |
"is-retry-allowed": {
|
4106 |
"version": "1.2.0",
|
4107 |
"resolved": "https://registry.npmjs.org/is-retry-allowed/-/is-retry-allowed-1.2.0.tgz",
|
4139 |
"integrity": "sha1-5HnICFjfDBsR3dppQPlgEfzaSpo=",
|
4140 |
"dev": true
|
4141 |
},
|
4142 |
+
"is-unc-path": {
|
4143 |
+
"version": "1.0.0",
|
4144 |
+
"resolved": "https://registry.npmjs.org/is-unc-path/-/is-unc-path-1.0.0.tgz",
|
4145 |
+
"integrity": "sha512-mrGpVd0fs7WWLfVsStvgF6iEJnbjDFZh9/emhRDcGWTduTfNHd9CHeUwH3gYIjdbwo4On6hunkztwOaAw0yllQ==",
|
4146 |
+
"dev": true,
|
4147 |
+
"requires": {
|
4148 |
+
"unc-path-regex": "0.1.2"
|
4149 |
+
}
|
4150 |
+
},
|
4151 |
"is-utf8": {
|
4152 |
"version": "0.2.1",
|
4153 |
"resolved": "https://registry.npmjs.org/is-utf8/-/is-utf8-0.2.1.tgz",
|
4213 |
}
|
4214 |
},
|
4215 |
"js-yaml": {
|
4216 |
+
"version": "3.14.0",
|
4217 |
+
"resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.0.tgz",
|
4218 |
+
"integrity": "sha512-/4IbIeHcD9VMHFqDR/gQ7EdZdLimOvW2DdcxFjdyyZ9NsbS+ccrXqVWDtab/lRl5AlUqmpBx8EhPaWR+OtY17A==",
|
4219 |
"dev": true,
|
4220 |
"requires": {
|
4221 |
"argparse": "1.0.10",
|
4238 |
"console-browserify": "1.1.0",
|
4239 |
"exit": "0.1.2",
|
4240 |
"htmlparser2": "3.8.3",
|
4241 |
+
"lodash": "4.17.19",
|
4242 |
"minimatch": "3.0.4",
|
4243 |
"shelljs": "0.3.0",
|
4244 |
"strip-json-comments": "1.0.4"
|
4323 |
"readable-stream": "2.3.7"
|
4324 |
}
|
4325 |
},
|
4326 |
+
"liftoff": {
|
4327 |
+
"version": "2.5.0",
|
4328 |
+
"resolved": "https://registry.npmjs.org/liftoff/-/liftoff-2.5.0.tgz",
|
4329 |
+
"integrity": "sha1-IAkpG7Mc6oYbvxCnwVooyvdcMew=",
|
4330 |
+
"dev": true,
|
4331 |
+
"requires": {
|
4332 |
+
"extend": "3.0.2",
|
4333 |
+
"findup-sync": "2.0.0",
|
4334 |
+
"fined": "1.2.0",
|
4335 |
+
"flagged-respawn": "1.0.1",
|
4336 |
+
"is-plain-object": "2.0.4",
|
4337 |
+
"object.map": "1.0.1",
|
4338 |
+
"rechoir": "0.6.2",
|
4339 |
+
"resolve": "1.17.0"
|
4340 |
+
},
|
4341 |
+
"dependencies": {
|
4342 |
+
"findup-sync": {
|
4343 |
+
"version": "2.0.0",
|
4344 |
+
"resolved": "https://registry.npmjs.org/findup-sync/-/findup-sync-2.0.0.tgz",
|
4345 |
+
"integrity": "sha1-kyaxSIwi0aYIhlCoaQGy2akKLLw=",
|
4346 |
+
"dev": true,
|
4347 |
+
"requires": {
|
4348 |
+
"detect-file": "1.0.0",
|
4349 |
+
"is-glob": "3.1.0",
|
4350 |
+
"micromatch": "3.1.10",
|
4351 |
+
"resolve-dir": "1.0.1"
|
4352 |
+
}
|
4353 |
+
}
|
4354 |
+
}
|
4355 |
+
},
|
4356 |
"livereload-js": {
|
4357 |
"version": "2.4.0",
|
4358 |
"resolved": "https://registry.npmjs.org/livereload-js/-/livereload-js-2.4.0.tgz",
|
4420 |
"arrify": "1.0.1",
|
4421 |
"multimatch": "2.1.0",
|
4422 |
"pkg-up": "1.0.0"
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
4423 |
}
|
4424 |
},
|
4425 |
"load-json-file": {
|
4454 |
}
|
4455 |
}
|
4456 |
},
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
4457 |
"lodash": {
|
4458 |
+
"version": "4.17.19",
|
4459 |
+
"resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.19.tgz",
|
4460 |
+
"integrity": "sha512-JNvd8XER9GQX0v2qJgsaN/mzFCNA5BRe/j8JN9d+tWyGLSodKQHKFicdwNYzWwI3wjRnaKPsGj1XkBjx/F96DQ==",
|
4461 |
"dev": true
|
4462 |
},
|
4463 |
"logalot": {
|
4534 |
}
|
4535 |
}
|
4536 |
},
|
4537 |
+
"make-iterator": {
|
4538 |
+
"version": "1.0.1",
|
4539 |
+
"resolved": "https://registry.npmjs.org/make-iterator/-/make-iterator-1.0.1.tgz",
|
4540 |
+
"integrity": "sha512-pxiuXh0iVEq7VM7KMIhs5gxsfxCux2URptUQaXo4iZZJxBAzTPOLE2BumO5dbfVYq/hBJFBR/a1mFDmOx5AGmw==",
|
4541 |
+
"dev": true,
|
4542 |
+
"requires": {
|
4543 |
+
"kind-of": "6.0.3"
|
4544 |
+
}
|
4545 |
+
},
|
4546 |
"map-cache": {
|
4547 |
"version": "0.2.2",
|
4548 |
"resolved": "https://registry.npmjs.org/map-cache/-/map-cache-0.2.2.tgz",
|
4761 |
}
|
4762 |
},
|
4763 |
"node-releases": {
|
4764 |
+
"version": "1.1.59",
|
4765 |
+
"resolved": "https://registry.npmjs.org/node-releases/-/node-releases-1.1.59.tgz",
|
4766 |
+
"integrity": "sha512-H3JrdUczbdiwxN5FuJPyCHnGHIFqQ0wWxo+9j1kAXAzqNMAHlo+4I/sYYxpyK0irQ73HgdiyzD32oqQDcU2Osw==",
|
4767 |
"dev": true
|
4768 |
},
|
4769 |
"node-uuid": {
|
4780 |
"requires": {
|
4781 |
"bluebird": "3.7.2",
|
4782 |
"gettext-parser": "3.1.1",
|
4783 |
+
"glob": "7.1.6",
|
4784 |
+
"lodash": "4.17.19",
|
4785 |
"minimist": "1.2.5",
|
4786 |
"mkdirp": "0.5.5",
|
4787 |
"tmp": "0.0.33"
|
4977 |
}
|
4978 |
},
|
4979 |
"object-inspect": {
|
4980 |
+
"version": "1.8.0",
|
4981 |
+
"resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.8.0.tgz",
|
4982 |
+
"integrity": "sha512-jLdtEOB112fORuypAyl/50VRVIBIdVQOSUUGQHzJ4xBSbit81zRarz7GThkEFZy1RceYrWYcPcBFPQwHyAc1gA==",
|
4983 |
"dev": true
|
4984 |
},
|
4985 |
"object-keys": {
|
5009 |
"object-keys": "1.1.1"
|
5010 |
}
|
5011 |
},
|
5012 |
+
"object.defaults": {
|
5013 |
+
"version": "1.1.0",
|
5014 |
+
"resolved": "https://registry.npmjs.org/object.defaults/-/object.defaults-1.1.0.tgz",
|
5015 |
+
"integrity": "sha1-On+GgzS0B96gbaFtiNXNKeQ1/s8=",
|
5016 |
+
"dev": true,
|
5017 |
+
"requires": {
|
5018 |
+
"array-each": "1.0.1",
|
5019 |
+
"array-slice": "1.1.0",
|
5020 |
+
"for-own": "1.0.0",
|
5021 |
+
"isobject": "3.0.1"
|
5022 |
+
}
|
5023 |
+
},
|
5024 |
"object.getownpropertydescriptors": {
|
5025 |
"version": "2.1.0",
|
5026 |
"resolved": "https://registry.npmjs.org/object.getownpropertydescriptors/-/object.getownpropertydescriptors-2.1.0.tgz",
|
5032 |
"es-abstract": "1.17.6"
|
5033 |
}
|
5034 |
},
|
5035 |
+
"object.map": {
|
5036 |
+
"version": "1.0.1",
|
5037 |
+
"resolved": "https://registry.npmjs.org/object.map/-/object.map-1.0.1.tgz",
|
5038 |
+
"integrity": "sha1-z4Plncj8wK1fQlDh94s7gb2AHTc=",
|
5039 |
+
"dev": true,
|
5040 |
+
"requires": {
|
5041 |
+
"for-own": "1.0.0",
|
5042 |
+
"make-iterator": "1.0.1"
|
5043 |
+
}
|
5044 |
+
},
|
5045 |
"object.pick": {
|
5046 |
"version": "1.3.0",
|
5047 |
"resolved": "https://registry.npmjs.org/object.pick/-/object.pick-1.3.0.tgz",
|
5095 |
"arch": "2.1.2"
|
5096 |
}
|
5097 |
},
|
5098 |
+
"os-homedir": {
|
5099 |
+
"version": "1.0.2",
|
5100 |
+
"resolved": "https://registry.npmjs.org/os-homedir/-/os-homedir-1.0.2.tgz",
|
5101 |
+
"integrity": "sha1-/7xJiDNuDoM94MFox+8VISGqf7M=",
|
5102 |
+
"dev": true
|
5103 |
+
},
|
5104 |
"os-tmpdir": {
|
5105 |
"version": "1.0.2",
|
5106 |
"resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz",
|
5107 |
"integrity": "sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ=",
|
5108 |
"dev": true
|
5109 |
},
|
5110 |
+
"osenv": {
|
5111 |
+
"version": "0.1.5",
|
5112 |
+
"resolved": "https://registry.npmjs.org/osenv/-/osenv-0.1.5.tgz",
|
5113 |
+
"integrity": "sha512-0CWcCECdMVc2Rw3U5w9ZjqX6ga6ubk1xDVKxtBQPK7wis/0F2r9T6k4ydGYhecl7YUBxBVxhL5oisPsNxAPe2g==",
|
5114 |
+
"dev": true,
|
5115 |
+
"requires": {
|
5116 |
+
"os-homedir": "1.0.2",
|
5117 |
+
"os-tmpdir": "1.0.2"
|
5118 |
+
}
|
5119 |
+
},
|
5120 |
"p-cancelable": {
|
5121 |
"version": "0.3.0",
|
5122 |
"resolved": "https://registry.npmjs.org/p-cancelable/-/p-cancelable-0.3.0.tgz",
|
5147 |
"dev": true,
|
5148 |
"optional": true
|
5149 |
},
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
5150 |
"p-map": {
|
5151 |
"version": "1.2.0",
|
5152 |
"resolved": "https://registry.npmjs.org/p-map/-/p-map-1.2.0.tgz",
|
5185 |
"p-finally": "1.0.0"
|
5186 |
}
|
5187 |
},
|
5188 |
+
"parse-filepath": {
|
5189 |
+
"version": "1.0.2",
|
5190 |
+
"resolved": "https://registry.npmjs.org/parse-filepath/-/parse-filepath-1.0.2.tgz",
|
5191 |
+
"integrity": "sha1-pjISf1Oq89FYdvWHLz/6x2PWyJE=",
|
5192 |
+
"dev": true,
|
5193 |
+
"requires": {
|
5194 |
+
"is-absolute": "1.0.0",
|
5195 |
+
"map-cache": "0.2.2",
|
5196 |
+
"path-root": "0.1.1"
|
5197 |
+
}
|
5198 |
},
|
5199 |
"parse-json": {
|
5200 |
"version": "2.2.0",
|
5211 |
"integrity": "sha1-VjRtR0nXjyNDDKDHE4UK75GqNh0=",
|
5212 |
"dev": true
|
5213 |
},
|
5214 |
+
"parse-passwd": {
|
5215 |
+
"version": "1.0.0",
|
5216 |
+
"resolved": "https://registry.npmjs.org/parse-passwd/-/parse-passwd-1.0.0.tgz",
|
5217 |
+
"integrity": "sha1-bVuTSkVpk7I9N/QKOC1vFmao5cY=",
|
5218 |
+
"dev": true
|
5219 |
+
},
|
5220 |
"pascalcase": {
|
5221 |
"version": "0.1.1",
|
5222 |
"resolved": "https://registry.npmjs.org/pascalcase/-/pascalcase-0.1.1.tgz",
|
5256 |
"integrity": "sha512-GSmOT2EbHrINBf9SR7CDELwlJ8AENk3Qn7OikK4nFYAu3Ote2+JYNVvkpAEQm3/TLNEJFD/xZJjzyxg3KBWOzw==",
|
5257 |
"dev": true
|
5258 |
},
|
5259 |
+
"path-root": {
|
5260 |
+
"version": "0.1.1",
|
5261 |
+
"resolved": "https://registry.npmjs.org/path-root/-/path-root-0.1.1.tgz",
|
5262 |
+
"integrity": "sha1-mkpoFMrBwM1zNgqV8yCDyOpHRbc=",
|
5263 |
+
"dev": true,
|
5264 |
+
"requires": {
|
5265 |
+
"path-root-regex": "0.1.2"
|
5266 |
+
}
|
5267 |
+
},
|
5268 |
+
"path-root-regex": {
|
5269 |
+
"version": "0.1.2",
|
5270 |
+
"resolved": "https://registry.npmjs.org/path-root-regex/-/path-root-regex-0.1.2.tgz",
|
5271 |
+
"integrity": "sha1-v8zcjfWxLcUsi0PsONGNcsBLqW0=",
|
5272 |
+
"dev": true
|
5273 |
+
},
|
5274 |
"path-type": {
|
5275 |
"version": "1.1.0",
|
5276 |
"resolved": "https://registry.npmjs.org/path-type/-/path-type-1.1.0.tgz",
|
5316 |
}
|
5317 |
},
|
5318 |
"pkg-up": {
|
5319 |
+
"version": "1.0.0",
|
5320 |
+
"resolved": "https://registry.npmjs.org/pkg-up/-/pkg-up-1.0.0.tgz",
|
5321 |
+
"integrity": "sha1-Pgj7RhUlxEIWJKM7n35tCvWwWiY=",
|
5322 |
"dev": true,
|
5323 |
"requires": {
|
5324 |
+
"find-up": "1.1.2"
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
5325 |
}
|
5326 |
},
|
5327 |
"plur": {
|
5350 |
"supports-color": "6.1.0"
|
5351 |
},
|
5352 |
"dependencies": {
|
5353 |
+
"source-map": {
|
5354 |
+
"version": "0.6.1",
|
5355 |
+
"resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
|
5356 |
+
"integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
|
5357 |
+
"dev": true
|
5358 |
+
},
|
5359 |
"supports-color": {
|
5360 |
"version": "6.1.0",
|
5361 |
"resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz",
|
5374 |
"dev": true
|
5375 |
},
|
5376 |
"prebuild-install": {
|
5377 |
+
"version": "5.3.5",
|
5378 |
+
"resolved": "https://registry.npmjs.org/prebuild-install/-/prebuild-install-5.3.5.tgz",
|
5379 |
+
"integrity": "sha512-YmMO7dph9CYKi5IR/BzjOJlRzpxGGVo1EsLSUZ0mt/Mq0HWZIHOKHHcHdT69yG54C9m6i45GpItwRHpk0Py7Uw==",
|
5380 |
"dev": true,
|
5381 |
"optional": true,
|
5382 |
"requires": {
|
5573 |
"util-deprecate": "1.0.2"
|
5574 |
}
|
5575 |
},
|
5576 |
+
"rechoir": {
|
5577 |
+
"version": "0.6.2",
|
5578 |
+
"resolved": "https://registry.npmjs.org/rechoir/-/rechoir-0.6.2.tgz",
|
5579 |
+
"integrity": "sha1-hSBLVNuoLVdC4oyWdW70OvUOM4Q=",
|
5580 |
+
"dev": true,
|
5581 |
+
"requires": {
|
5582 |
+
"resolve": "1.17.0"
|
5583 |
+
}
|
5584 |
+
},
|
5585 |
"redent": {
|
5586 |
"version": "1.0.0",
|
5587 |
"resolved": "https://registry.npmjs.org/redent/-/redent-1.0.0.tgz",
|
5689 |
"path-parse": "1.0.6"
|
5690 |
}
|
5691 |
},
|
5692 |
+
"resolve-dir": {
|
5693 |
+
"version": "1.0.1",
|
5694 |
+
"resolved": "https://registry.npmjs.org/resolve-dir/-/resolve-dir-1.0.1.tgz",
|
5695 |
+
"integrity": "sha1-eaQGRMNivoLybv/nOcm7U4IEb0M=",
|
5696 |
+
"dev": true,
|
5697 |
+
"requires": {
|
5698 |
+
"expand-tilde": "2.0.2",
|
5699 |
+
"global-modules": "1.0.0"
|
5700 |
+
}
|
5701 |
+
},
|
5702 |
"resolve-url": {
|
5703 |
"version": "0.2.1",
|
5704 |
"resolved": "https://registry.npmjs.org/resolve-url/-/resolve-url-0.2.1.tgz",
|
5722 |
"dev": true
|
5723 |
},
|
5724 |
"rimraf": {
|
5725 |
+
"version": "3.0.2",
|
5726 |
+
"resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz",
|
5727 |
+
"integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==",
|
5728 |
"dev": true,
|
5729 |
"requires": {
|
5730 |
"glob": "7.1.6"
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
5731 |
}
|
5732 |
},
|
5733 |
"rsyncwrapper": {
|
5875 |
"dev": true
|
5876 |
},
|
5877 |
"simple-concat": {
|
5878 |
+
"version": "1.0.1",
|
5879 |
+
"resolved": "https://registry.npmjs.org/simple-concat/-/simple-concat-1.0.1.tgz",
|
5880 |
+
"integrity": "sha512-cSFtAPtRhljv69IK0hTVZQ+OfE9nePi/rtJmw5UjHeVyVroEqJXP1sFztKUy1qU+xvz3u/sfYJLa947b7nAN2Q==",
|
5881 |
"dev": true,
|
5882 |
"optional": true
|
5883 |
},
|
5890 |
"requires": {
|
5891 |
"decompress-response": "4.2.1",
|
5892 |
"once": "1.4.0",
|
5893 |
+
"simple-concat": "1.0.1"
|
5894 |
}
|
5895 |
},
|
5896 |
"slash": {
|
5932 |
"requires": {
|
5933 |
"is-extendable": "0.1.1"
|
5934 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
5935 |
}
|
5936 |
}
|
5937 |
},
|
6025 |
}
|
6026 |
},
|
6027 |
"source-map": {
|
6028 |
+
"version": "0.5.7",
|
6029 |
+
"resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz",
|
6030 |
+
"integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=",
|
6031 |
"dev": true
|
6032 |
},
|
6033 |
"source-map-resolve": {
|
6322 |
"css-select-base-adapter": "0.1.1",
|
6323 |
"css-tree": "1.0.0-alpha.37",
|
6324 |
"csso": "4.0.3",
|
6325 |
+
"js-yaml": "3.14.0",
|
6326 |
"mkdirp": "0.5.5",
|
6327 |
"object.values": "1.1.1",
|
6328 |
"sax": "1.2.4",
|
6353 |
"chownr": "1.1.4",
|
6354 |
"mkdirp-classic": "0.5.3",
|
6355 |
"pump": "3.0.0",
|
6356 |
+
"tar-stream": "2.1.3"
|
6357 |
},
|
6358 |
"dependencies": {
|
6359 |
"bl": {
|
6380 |
}
|
6381 |
},
|
6382 |
"tar-stream": {
|
6383 |
+
"version": "2.1.3",
|
6384 |
+
"resolved": "https://registry.npmjs.org/tar-stream/-/tar-stream-2.1.3.tgz",
|
6385 |
+
"integrity": "sha512-Z9yri56Dih8IaK8gncVPx4Wqt86NDmQTSh49XLZgjWpGZL9GK9HKParS2scqHCC4w6X9Gh2jwaU45V47XTKwVA==",
|
6386 |
"dev": true,
|
6387 |
"optional": true,
|
6388 |
"requires": {
|
6639 |
"through": "2.3.8"
|
6640 |
}
|
6641 |
},
|
6642 |
+
"unc-path-regex": {
|
6643 |
+
"version": "0.1.2",
|
6644 |
+
"resolved": "https://registry.npmjs.org/unc-path-regex/-/unc-path-regex-0.1.2.tgz",
|
6645 |
+
"integrity": "sha1-5z3T17DXxe2G+6xrCufYxqadUPo=",
|
6646 |
+
"dev": true
|
6647 |
+
},
|
6648 |
"underscore": {
|
6649 |
"version": "1.7.0",
|
6650 |
"resolved": "https://registry.npmjs.org/underscore/-/underscore-1.7.0.tgz",
|
6788 |
"integrity": "sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==",
|
6789 |
"dev": true
|
6790 |
},
|
6791 |
+
"v8flags": {
|
6792 |
+
"version": "3.1.3",
|
6793 |
+
"resolved": "https://registry.npmjs.org/v8flags/-/v8flags-3.1.3.tgz",
|
6794 |
+
"integrity": "sha512-amh9CCg3ZxkzQ48Mhcb8iX7xpAfYJgePHxWMQCBWECpOSqJUXgY26ncA61UTV0BkPqfhcy6mzwCIoP4ygxpW8w==",
|
6795 |
+
"dev": true,
|
6796 |
+
"requires": {
|
6797 |
+
"homedir-polyfill": "1.0.3"
|
6798 |
+
}
|
6799 |
+
},
|
6800 |
"validate-npm-package-license": {
|
6801 |
"version": "3.0.4",
|
6802 |
"resolved": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz",
|
6956 |
"requires": {
|
6957 |
"archiver-utils": "1.3.0",
|
6958 |
"compress-commons": "1.2.2",
|
6959 |
+
"lodash": "4.17.19",
|
6960 |
"readable-stream": "2.3.7"
|
6961 |
}
|
6962 |
}
|
readme.md
CHANGED
@@ -22,7 +22,7 @@ Easily turn your basic posts into in-depth reviews with ratings, pros and cons,
|
|
22 |
|
23 |
1. For updates follow https://twitter.com/themeisle.
|
24 |
|
25 |
-
If you wanna learn more about the <a href="
|
26 |
|
27 |
|
28 |
**WP Product Review provides following features**
|
@@ -37,22 +37,29 @@ If you wanna learn more about the <a href="http://www.codeinwp.com/blog/fastest-
|
|
37 |
**Please note that WP Product Review PRO has been retired and is no longer available**
|
38 |
|
39 |
## Changelog ##
|
40 |
-
### 3.7.
|
41 |
-
|
42 |
-
* [Fix]
|
43 |
-
* [Fix]
|
44 |
-
|
45 |
-
|
46 |
-
|
47 |
-
|
48 |
-
|
49 |
-
|
50 |
-
|
51 |
-
|
52 |
-
|
53 |
-
|
54 |
-
|
55 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
56 |
### 3.7.6 - 2020-05-14 ###
|
57 |
|
58 |
* - [Fix] Security vulnerability
|
22 |
|
23 |
1. For updates follow https://twitter.com/themeisle.
|
24 |
|
25 |
+
If you wanna learn more about the <a href="https://www.codeinwp.com/blog/fastest-wordpress-hosting/" rel="nofollow">fastest WordPress hosting</a> or which <a href="https://www.codeinwp.com/blog/best-wordpress-review-themes/" rel="nofollow">review themes</a> are playing nice with WP Product review, checkout our blog.
|
26 |
|
27 |
|
28 |
**WP Product Review provides following features**
|
37 |
**Please note that WP Product Review PRO has been retired and is no longer available**
|
38 |
|
39 |
## Changelog ##
|
40 |
+
### 3.7.10 - 2020-06-24 ###
|
41 |
+
|
42 |
+
* [Fix] Load schema.org just for PHP 7.0 and above
|
43 |
+
* [Fix] Take into account the rating scale option for schema.org
|
44 |
+
* [Fix] Dequeue jquery-ui-slider when not used
|
45 |
+
|
46 |
+
|
47 |
+
### 3.7.9 - 2020-06-15 ###
|
48 |
+
|
49 |
+
* [Fix] Schema.org in both the new and classic editor
|
50 |
+
* [Fix] Do not display reviews in content outside the loop
|
51 |
+
|
52 |
+
|
53 |
+
### 3.7.8 - 2020-05-22 ###
|
54 |
+
|
55 |
+
* [Fix] Sanitize values
|
56 |
+
|
57 |
+
|
58 |
+
### 3.7.7 - 2020-05-21 ###
|
59 |
+
|
60 |
+
* [Fix] Security vulnerability
|
61 |
+
|
62 |
+
|
63 |
### 3.7.6 - 2020-05-14 ###
|
64 |
|
65 |
* - [Fix] Security vulnerability
|
readme.txt
CHANGED
@@ -22,7 +22,7 @@ Easily turn your basic posts into in-depth reviews with ratings, pros and cons,
|
|
22 |
|
23 |
1. For updates follow https://twitter.com/themeisle.
|
24 |
|
25 |
-
If you wanna learn more about the <a href="
|
26 |
|
27 |
|
28 |
**WP Product Review provides following features**
|
@@ -37,22 +37,29 @@ If you wanna learn more about the <a href="http://www.codeinwp.com/blog/fastest-
|
|
37 |
**Please note that WP Product Review PRO has been retired and is no longer available**
|
38 |
|
39 |
== Changelog ==
|
40 |
-
= 3.7.
|
41 |
-
|
42 |
-
* [Fix]
|
43 |
-
* [Fix]
|
44 |
-
|
45 |
-
|
46 |
-
|
47 |
-
|
48 |
-
|
49 |
-
|
50 |
-
|
51 |
-
|
52 |
-
|
53 |
-
|
54 |
-
|
55 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
56 |
= 3.7.6 - 2020-05-14 =
|
57 |
|
58 |
* - [Fix] Security vulnerability
|
22 |
|
23 |
1. For updates follow https://twitter.com/themeisle.
|
24 |
|
25 |
+
If you wanna learn more about the <a href="https://www.codeinwp.com/blog/fastest-wordpress-hosting/" rel="nofollow">fastest WordPress hosting</a> or which <a href="https://www.codeinwp.com/blog/best-wordpress-review-themes/" rel="nofollow">review themes</a> are playing nice with WP Product review, checkout our blog.
|
26 |
|
27 |
|
28 |
**WP Product Review provides following features**
|
37 |
**Please note that WP Product Review PRO has been retired and is no longer available**
|
38 |
|
39 |
== Changelog ==
|
40 |
+
= 3.7.10 - 2020-06-24 =
|
41 |
+
|
42 |
+
* [Fix] Load schema.org just for PHP 7.0 and above
|
43 |
+
* [Fix] Take into account the rating scale option for schema.org
|
44 |
+
* [Fix] Dequeue jquery-ui-slider when not used
|
45 |
+
|
46 |
+
|
47 |
+
= 3.7.9 - 2020-06-15 =
|
48 |
+
|
49 |
+
* [Fix] Schema.org in both the new and classic editor
|
50 |
+
* [Fix] Do not display reviews in content outside the loop
|
51 |
+
|
52 |
+
|
53 |
+
= 3.7.8 - 2020-05-22 =
|
54 |
+
|
55 |
+
* [Fix] Sanitize values
|
56 |
+
|
57 |
+
|
58 |
+
= 3.7.7 - 2020-05-21 =
|
59 |
+
|
60 |
+
* [Fix] Security vulnerability
|
61 |
+
|
62 |
+
|
63 |
= 3.7.6 - 2020-05-14 =
|
64 |
|
65 |
* - [Fix] Security vulnerability
|
themeisle-hash.json
CHANGED
@@ -1 +1 @@
|
|
1 |
-
{"class-wppr-autoloader.php":"c7f7f3dd52445edb5f7367ba7b31281f","class-wppr-recursive-filter.php":"6c74b0e7c04529d797ae9689d9a44c8d","index.php":"c76772901fa1b2b14aa3ba32d7773c8a","uninstall.php":"7c6d36652e8dcf013f2c246f4a289acf","wp-product-review.php":"
|
1 |
+
{"class-wppr-autoloader.php":"c7f7f3dd52445edb5f7367ba7b31281f","class-wppr-recursive-filter.php":"6c74b0e7c04529d797ae9689d9a44c8d","index.php":"c76772901fa1b2b14aa3ba32d7773c8a","uninstall.php":"7c6d36652e8dcf013f2c246f4a289acf","wp-product-review.php":"014e63887b2d6a83f17dfef87ca9ff7b"}
|
vendor/autoload.php
CHANGED
@@ -4,4 +4,4 @@
|
|
4 |
|
5 |
require_once __DIR__ . '/composer' . '/autoload_real.php';
|
6 |
|
7 |
-
return
|
4 |
|
5 |
require_once __DIR__ . '/composer' . '/autoload_real.php';
|
6 |
|
7 |
+
return ComposerAutoloaderInit1db2d309a004db78e14e0be46d1fccc0::getLoader();
|
vendor/autoload_52.php
CHANGED
@@ -4,4 +4,4 @@
|
|
4 |
|
5 |
require_once dirname(__FILE__) . '/composer'.'/autoload_real_52.php';
|
6 |
|
7 |
-
return
|
4 |
|
5 |
require_once dirname(__FILE__) . '/composer'.'/autoload_real_52.php';
|
6 |
|
7 |
+
return ComposerAutoloaderInit6ed738e5975ab224f2715f1f60d3824e::getLoader();
|
vendor/composer/autoload_real.php
CHANGED
@@ -2,7 +2,7 @@
|
|
2 |
|
3 |
// autoload_real.php @generated by Composer
|
4 |
|
5 |
-
class
|
6 |
{
|
7 |
private static $loader;
|
8 |
|
@@ -19,9 +19,9 @@ class ComposerAutoloaderInit0e5107a0dff2124a84d3097301e010e9
|
|
19 |
return self::$loader;
|
20 |
}
|
21 |
|
22 |
-
spl_autoload_register(array('
|
23 |
self::$loader = $loader = new \Composer\Autoload\ClassLoader();
|
24 |
-
spl_autoload_unregister(array('
|
25 |
|
26 |
$map = require __DIR__ . '/autoload_namespaces.php';
|
27 |
foreach ($map as $namespace => $path) {
|
@@ -42,14 +42,14 @@ class ComposerAutoloaderInit0e5107a0dff2124a84d3097301e010e9
|
|
42 |
|
43 |
$includeFiles = require __DIR__ . '/autoload_files.php';
|
44 |
foreach ($includeFiles as $fileIdentifier => $file) {
|
45 |
-
|
46 |
}
|
47 |
|
48 |
return $loader;
|
49 |
}
|
50 |
}
|
51 |
|
52 |
-
function
|
53 |
{
|
54 |
if (empty($GLOBALS['__composer_autoload_files'][$fileIdentifier])) {
|
55 |
require $file;
|
2 |
|
3 |
// autoload_real.php @generated by Composer
|
4 |
|
5 |
+
class ComposerAutoloaderInit1db2d309a004db78e14e0be46d1fccc0
|
6 |
{
|
7 |
private static $loader;
|
8 |
|
19 |
return self::$loader;
|
20 |
}
|
21 |
|
22 |
+
spl_autoload_register(array('ComposerAutoloaderInit1db2d309a004db78e14e0be46d1fccc0', 'loadClassLoader'), true, true);
|
23 |
self::$loader = $loader = new \Composer\Autoload\ClassLoader();
|
24 |
+
spl_autoload_unregister(array('ComposerAutoloaderInit1db2d309a004db78e14e0be46d1fccc0', '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 |
+
composerRequire1db2d309a004db78e14e0be46d1fccc0($fileIdentifier, $file);
|
46 |
}
|
47 |
|
48 |
return $loader;
|
49 |
}
|
50 |
}
|
51 |
|
52 |
+
function composerRequire1db2d309a004db78e14e0be46d1fccc0($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
|
6 |
private static $loader;
|
7 |
|
8 |
public static function loadClassLoader($class) {
|
@@ -19,9 +19,9 @@ class ComposerAutoloaderInitab0fc08899d8816390513a66c8a27950 {
|
|
19 |
return self::$loader;
|
20 |
}
|
21 |
|
22 |
-
spl_autoload_register(array('
|
23 |
self::$loader = $loader = new xrstf_Composer52_ClassLoader();
|
24 |
-
spl_autoload_unregister(array('
|
25 |
|
26 |
$vendorDir = dirname(dirname(__FILE__));
|
27 |
$baseDir = dirname($vendorDir);
|
2 |
|
3 |
// autoload_real_52.php generated by xrstf/composer-php52
|
4 |
|
5 |
+
class ComposerAutoloaderInit6ed738e5975ab224f2715f1f60d3824e {
|
6 |
private static $loader;
|
7 |
|
8 |
public static function loadClassLoader($class) {
|
19 |
return self::$loader;
|
20 |
}
|
21 |
|
22 |
+
spl_autoload_register(array('ComposerAutoloaderInit6ed738e5975ab224f2715f1f60d3824e', 'loadClassLoader'), true /*, true */);
|
23 |
self::$loader = $loader = new xrstf_Composer52_ClassLoader();
|
24 |
+
spl_autoload_unregister(array('ComposerAutoloaderInit6ed738e5975ab224f2715f1f60d3824e', 'loadClassLoader'));
|
25 |
|
26 |
$vendorDir = dirname(dirname(__FILE__));
|
27 |
$baseDir = dirname($vendorDir);
|
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.7.
|
19 |
* Author: ThemeIsle
|
20 |
* Author URI: https://themeisle.com/
|
21 |
* Requires at least: 3.5
|
@@ -66,7 +66,7 @@ register_deactivation_hook( __FILE__, 'deactivate_wppr' );
|
|
66 |
*/
|
67 |
function run_wppr() {
|
68 |
|
69 |
-
define( 'WPPR_LITE_VERSION', '3.7.
|
70 |
define( 'WPPR_PATH', dirname( __FILE__ ) );
|
71 |
define( 'WPPR_SLUG', 'wppr' );
|
72 |
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.7.10
|
19 |
* Author: ThemeIsle
|
20 |
* Author URI: https://themeisle.com/
|
21 |
* Requires at least: 3.5
|
66 |
*/
|
67 |
function run_wppr() {
|
68 |
|
69 |
+
define( 'WPPR_LITE_VERSION', '3.7.10' );
|
70 |
define( 'WPPR_PATH', dirname( __FILE__ ) );
|
71 |
define( 'WPPR_SLUG', 'wppr' );
|
72 |
define( 'WPPR_UPSELL_LINK', 'https://themeisle.com/plugins/wp-product-review/' );
|