@adobe/aem-core-components-react-spa
Advanced tools
Comparing version 1.0.1 to 1.0.3
@@ -1,6 +0,19 @@ | ||
export class AbstractCoreContainerComponent { | ||
constructor(props: any, baseCssCls: any); | ||
baseCssCls: any; | ||
get placeholderComponent(): any; | ||
import * as React from 'react'; | ||
import { ContainerState, AllowedComponentsProperties } from '@adobe/aem-react-editable-components'; | ||
import { ComponentType } from "react"; | ||
import { Model } from '@adobe/aem-spa-page-model-manager'; | ||
export interface CoreContainerProperties extends AllowedComponentsProperties { | ||
baseCssClass?: string; | ||
activeIndexFromAuthorPanel?: number; | ||
} | ||
export interface CoreContainerItem extends Model { | ||
'cq:panelTitle': string; | ||
} | ||
export interface CoreContainerState extends ContainerState { | ||
} | ||
export interface AuthorPanelSwitchState { | ||
activeIndexFromAuthorPanel?: number; | ||
} | ||
export declare const withStandardBaseCssClass: <M extends CoreContainerProperties>(Component: React.ComponentType<M>, defaultBaseCssClass: string) => React.ComponentType<M>; | ||
export declare const withAuthorPanelSwitch: <M extends CoreContainerProperties>(Component: React.ComponentType<M>) => React.ComponentType<M>; | ||
//# sourceMappingURL=AbstractCoreContainerComponent.d.ts.map |
@@ -1,17 +0,13 @@ | ||
export function AccordionV1IsEmptyFn(props: any): boolean; | ||
export class AccordionV1 extends AbstractCoreContainerComponent { | ||
constructor(props: any); | ||
state: { | ||
componentMapping: any; | ||
expandedItems: any; | ||
}; | ||
handleAccordionNavClick(itemKey: any): void; | ||
isItemExpanded(key: any): boolean; | ||
get accordionContainerProps(): void; | ||
displayItem(key: any, isExpanded: any): JSX.Element | null; | ||
renderHeadingButton(key: any, item: any, buttonCssClass: any): JSX.Element; | ||
get accordionContent(): any; | ||
render(): JSX.Element; | ||
import * as React from 'react'; | ||
import { CoreContainerProperties, CoreContainerState } from "../../../AbstractCoreContainerComponent"; | ||
export interface AccordionV1Properties extends CoreContainerProperties { | ||
singleExpansion: boolean; | ||
headingElement: string; | ||
expandedItems: string[]; | ||
} | ||
import { AbstractCoreContainerComponent } from "../../../AbstractCoreContainerComponent"; | ||
export interface AccordionV1State extends CoreContainerState { | ||
expandedItems: string[]; | ||
} | ||
declare const _default: React.ComponentType<AccordionV1Properties>; | ||
export default _default; | ||
//# sourceMappingURL=AccordionV1.d.ts.map |
@@ -1,2 +0,362 @@ | ||
!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define([],t):"object"==typeof exports?exports.cqSpaCoreComponents=t():e.cqSpaCoreComponents=t()}("undefined"!=typeof self?self:this,(function(){return function(e){var t={};function n(r){if(t[r])return t[r].exports;var o=t[r]={i:r,l:!1,exports:{}};return e[r].call(o.exports,o,o.exports,n),o.l=!0,o.exports}return n.m=e,n.c=t,n.d=function(e,t,r){n.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:r})},n.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},n.t=function(e,t){if(1&t&&(e=n(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var r=Object.create(null);if(n.r(r),Object.defineProperty(r,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var o in e)n.d(r,o,function(t){return e[t]}.bind(null,o));return r},n.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return n.d(t,"a",t),t},n.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},n.p="",n(n.s=9)}([function(e,t){e.exports=require("react")},function(e,t){e.exports=require("@adobe/cq-react-editable-components")},function(e,t,n){"use strict";n.d(t,"a",(function(){return p}));n(0);var r=n(1);function o(e){return(o="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function c(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}function i(e,t,n){return(i="undefined"!=typeof Reflect&&Reflect.get?Reflect.get:function(e,t,n){var r=function(e,t){for(;!Object.prototype.hasOwnProperty.call(e,t)&&null!==(e=l(e)););return e}(e,t);if(r){var o=Object.getOwnPropertyDescriptor(r,t);return o.get?o.get.call(n):o.value}})(e,t,n||e)}function a(e,t){return(a=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function s(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,r=l(e);if(t){var o=l(this).constructor;n=Reflect.construct(r,arguments,o)}else n=r.apply(this,arguments);return u(this,n)}}function u(e,t){return!t||"object"!==o(t)&&"function"!=typeof t?f(e):t}function f(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function l(e){return(l=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}var p=function(e){!function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&a(e,t)}(u,e);var t,n,r,o=s(u);function u(e,t){var n,r,c,i;return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,u),n=o.call(this,e),r=f(n),i=void 0,(c="baseCssCls")in r?Object.defineProperty(r,c,{value:i,enumerable:!0,configurable:!0,writable:!0}):r[c]=i,n.baseCssCls=t,n}return t=u,(n=[{key:"placeholderComponent",get:function(){return this.props.cqItemsOrder&&0!==this.props.cqItemsOrder.length?null:i(l(u.prototype),"placeholderComponent",this)}}])&&c(t.prototype,n),r&&c(t,r),u}(r.Container)},,function(e,t,n){"use strict";n.r(t),n.d(t,"AccordionV1IsEmptyFn",(function(){return y})),n.d(t,"AccordionV1",(function(){return b}));var r=n(0),o=n.n(r),c=n(2),i=n(1);function a(e){return(a="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function s(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}function u(e,t){return(u=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function f(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,r=d(e);if(t){var o=d(this).constructor;n=Reflect.construct(r,arguments,o)}else n=r.apply(this,arguments);return l(this,n)}}function l(e,t){return!t||"object"!==a(t)&&"function"!=typeof t?p(e):t}function p(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function d(e){return(d=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function y(e){return null==e.cqItems||0===e.cqItems.length}var b=function(e){!function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&u(e,t)}(a,e);var t,n,r,c=f(a);function a(e){var t;return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,a),(t=c.call(this,e,"cmp-accordion")).state={componentMapping:t.props.componentMapping||i.ComponentMapping,expandedItems:t.props.expandedItems},t.handleAccordionNavClick=t.handleAccordionNavClick.bind(p(t)),t}return t=a,(n=[{key:"handleAccordionNavClick",value:function(e){var t=this.state.expandedItems.indexOf(e)>-1,n=this.props.singleExpansion,r=this.state.expandedItems;if(n)r=t?[]:[e];else if(t){var o=this.state.expandedItems.indexOf(e);r.splice(o)}else r.push(e);this.setState({expandedItems:r})}},{key:"isItemExpanded",value:function(e){return this.state.expandedItems.indexOf(e)>-1}},{key:"displayItem",value:function(e,t){var n=this.props.cqItemsOrder.indexOf(e);if(!0===this.props.isInEditor||t){var r=t?"".concat(this.baseCssCls,"__panel ").concat(this.baseCssCls,"__panel--expanded"):"".concat(this.baseCssCls,"__panel ").concat(this.baseCssCls,"__panel--hidden");return o.a.createElement("div",{className:r,role:"region"},this.childComponents[n])}return null}},{key:"renderHeadingButton",value:function(e,t,n){var r=this;return o.a.createElement("button",{className:n,onClick:function(){r.handleAccordionNavClick(e)}},o.a.createElement("span",{className:this.baseCssCls+"__title"},t["cq:panelTitle"]),o.a.createElement("span",{className:this.baseCssCls+"__icon"}))}},{key:"render",value:function(){var e=y(this.props);return o.a.createElement("div",this.accordionContainerProps,!e&&this.accordionContent,this.placeholderComponent)}},{key:"accordionContainerProps",get:function(){var e=this.containerProps;e.className=e.className+" "+this.baseCssCls,e["data-cmp-is"]="accordion"}},{key:"accordionContent",get:function(){var e=this;return this.props.cqItemsOrder.map((function(t,n){var r=e.props.cqItems[t],c=e.isItemExpanded(t),i=c?"".concat(e.baseCssCls,"__button ").concat(e.baseCssCls,"__button--expanded"):"".concat(e.baseCssCls,"__button");return o.a.createElement("div",{className:e.baseCssCls+"__item","data-cmp-index":n,"data-cmp-expanded":c},o.a.createElement("".concat(e.props.headingElement||"h3"),{className:e.baseCssCls+"__header"},e.renderHeadingButton(t,r,i)),e.displayItem(t,c))}))}}])&&s(t.prototype,n),r&&s(t,r),a}(c.a)},,,,,function(e,t,n){e.exports=n(4)}])})); | ||
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9jcVNwYUNvcmVDb21wb25lbnRzL3dlYnBhY2svdW5pdmVyc2FsTW9kdWxlRGVmaW5pdGlvbiIsIndlYnBhY2s6Ly9jcVNwYUNvcmVDb21wb25lbnRzL3dlYnBhY2svYm9vdHN0cmFwIiwid2VicGFjazovL2NxU3BhQ29yZUNvbXBvbmVudHMvZXh0ZXJuYWwgXCJyZWFjdFwiIiwid2VicGFjazovL2NxU3BhQ29yZUNvbXBvbmVudHMvZXh0ZXJuYWwgXCJAYWRvYmUvY3EtcmVhY3QtZWRpdGFibGUtY29tcG9uZW50c1wiIiwid2VicGFjazovL2NxU3BhQ29yZUNvbXBvbmVudHMvLi9zcmMvQWJzdHJhY3RDb3JlQ29udGFpbmVyQ29tcG9uZW50LmpzeCIsIndlYnBhY2s6Ly9jcVNwYUNvcmVDb21wb25lbnRzLy4vc3JjL2NvbnRhaW5lci9hY2NvcmRpb24vdjEvQWNjb3JkaW9uVjEuanN4Il0sIm5hbWVzIjpbInJvb3QiLCJmYWN0b3J5IiwiZXhwb3J0cyIsIm1vZHVsZSIsImRlZmluZSIsImFtZCIsInNlbGYiLCJ0aGlzIiwiaW5zdGFsbGVkTW9kdWxlcyIsIl9fd2VicGFja19yZXF1aXJlX18iLCJtb2R1bGVJZCIsImkiLCJsIiwibW9kdWxlcyIsImNhbGwiLCJtIiwiYyIsImQiLCJuYW1lIiwiZ2V0dGVyIiwibyIsIk9iamVjdCIsImRlZmluZVByb3BlcnR5IiwiZW51bWVyYWJsZSIsImdldCIsInIiLCJTeW1ib2wiLCJ0b1N0cmluZ1RhZyIsInZhbHVlIiwidCIsIm1vZGUiLCJfX2VzTW9kdWxlIiwibnMiLCJjcmVhdGUiLCJrZXkiLCJiaW5kIiwibiIsIm9iamVjdCIsInByb3BlcnR5IiwicHJvdG90eXBlIiwiaGFzT3duUHJvcGVydHkiLCJwIiwicyIsInJlcXVpcmUiLCJBYnN0cmFjdENvcmVDb250YWluZXJDb21wb25lbnQiLCJwcm9wcyIsImJhc2VDc3NDbHMiLCJjcUl0ZW1zT3JkZXIiLCJsZW5ndGgiLCJDb250YWluZXIiLCJBY2NvcmRpb25WMUlzRW1wdHlGbiIsImNxSXRlbXMiLCJBY2NvcmRpb25WMSIsInN0YXRlIiwiY29tcG9uZW50TWFwcGluZyIsIkNvbXBvbmVudE1hcHBpbmciLCJleHBhbmRlZEl0ZW1zIiwiaGFuZGxlQWNjb3JkaW9uTmF2Q2xpY2siLCJpdGVtS2V5IiwiaXNBY3RpdmUiLCJpbmRleE9mIiwiaXNTaW5nbGVFeHBhbnNpb24iLCJzaW5nbGVFeHBhbnNpb24iLCJpbmRleCIsInNwbGljZSIsInB1c2giLCJzZXRTdGF0ZSIsImlzRXhwYW5kZWQiLCJpbmRleFRvU2hvdyIsImlzSW5FZGl0b3IiLCJjc3NDbGFzcyIsImNsYXNzTmFtZSIsInJvbGUiLCJjaGlsZENvbXBvbmVudHMiLCJpdGVtIiwiYnV0dG9uQ3NzQ2xhc3MiLCJvbkNsaWNrIiwiaXNFbXB0eSIsImFjY29yZGlvbkNvbnRhaW5lclByb3BzIiwiYWNjb3JkaW9uQ29udGVudCIsInBsYWNlaG9sZGVyQ29tcG9uZW50IiwiYXR0cnMiLCJjb250YWluZXJQcm9wcyIsIm1hcCIsImlzSXRlbUV4cGFuZGVkIiwiZGF0YS1jbXAtaW5kZXgiLCJkYXRhLWNtcC1leHBhbmRlZCIsIlJlYWN0IiwiY3JlYXRlRWxlbWVudCIsImhlYWRpbmdFbGVtZW50IiwicmVuZGVySGVhZGluZ0J1dHRvbiIsImRpc3BsYXlJdGVtIl0sIm1hcHBpbmdzIjoiQ0FBQSxTQUEyQ0EsRUFBTUMsR0FDMUIsaUJBQVpDLFNBQTBDLGlCQUFYQyxPQUN4Q0EsT0FBT0QsUUFBVUQsSUFDUSxtQkFBWEcsUUFBeUJBLE9BQU9DLElBQzlDRCxPQUFPLEdBQUlILEdBQ2UsaUJBQVpDLFFBQ2RBLFFBQTZCLG9CQUFJRCxJQUVqQ0QsRUFBMEIsb0JBQUlDLElBUmhDLENBU21CLG9CQUFUSyxLQUF1QkEsS0FBT0MsTUFBTSxXQUM5QyxPLFlDVEUsSUFBSUMsRUFBbUIsR0FHdkIsU0FBU0MsRUFBb0JDLEdBRzVCLEdBQUdGLEVBQWlCRSxHQUNuQixPQUFPRixFQUFpQkUsR0FBVVIsUUFHbkMs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LFdBQ2xEbUMsRUFBTSxlQUFpQixjQXhDL0IsdUNBdUUwQixXQUNsQixPQUVJMUUsS0FBS3NDLE1BQU1FLGFBQWFvQyxLQUFJLFNBQUNqRCxFQUFLNkIsR0FDOUIsSUFBTVcsRUFBTyxFQUFLN0IsTUFBTU0sUUFBUWpCLEdBQzFCaUMsRUFBYSxFQUFLaUIsZUFBZWxELEdBQ2pDeUMsRUFBa0JSLEVBQUQsVUFBa0IsRUFBS3JCLFdBQXZCLG9CQUE2QyxFQUFLQSxXQUFsRCxnQ0FBc0YsRUFBS0EsV0FBM0YsWUFDdkIsT0FDSSx5QkFDSXlCLFVBQVcsRUFBS3pCLFdBQWEsU0FDN0J1QyxpQkFBZ0J0QixFQUNoQnVCLG9CQUFtQm5CLEdBRWZvQixJQUFNQyxjQUFOLFVBQ08sRUFBSzNDLE1BQU00QyxnQkFBa0IsTUFDaEMsQ0FDSWxCLFVBQVcsRUFBS3pCLFdBQWEsWUFFakMsRUFBSzRDLG9CQUFvQnhELEVBQUl3QyxFQUFLQyxJQUd6QyxFQUFLZ0IsWUFBWXpELEVBQUtpQyxZLDJCQTVGL0MsR0FBaUN2QixNIiwiZmlsZSI6ImNvbnRhaW5lci9hY2NvcmRpb24vdjEvQWNjb3JkaW9uVjEuanMiLCJzb3VyY2VzQ29udGVudCI6WyIoZnVuY3Rpb24gd2VicGFja1VuaXZlcnNhbE1vZHVsZURlZmluaXRpb24ocm9vdCwgZmFjdG9yeSkge1xuXHRpZih0eXBlb2YgZXhwb3J0cyA9PT0gJ29iamVjdCcgJiYgdHlwZW9mIG1vZHVsZSA9PT0gJ29iamVjdCcpXG5cdFx0bW9kdWxlLmV4cG9ydHMgPSBmYWN0b3J5KCk7XG5cdGVsc2UgaWYodHlwZW9mIGRlZmluZSA9PT0gJ2Z1bmN0aW9uJyAmJiBkZWZpbmUuYW1kKVxuXHRcdGRlZmluZShbXSwgZmFjdG9yeSk7XG5cdGVsc2UgaWYodHlwZW9mIGV4cG9ydHMgPT09ICdvYmplY3QnKVxuXHRcdGV4cG9ydHNbXCJjcVNwYUNvcmVDb21wb25lbnRzXCJdID0gZmFjdG9yeSgpO1xuXHRlbHNlXG5cdFx0cm9vdFtcImNxU3BhQ29yZUNvbXBvbmVudHNcIl0gPSBmYWN0b3J5KCk7XG59KSh0eXBlb2Ygc2VsZiAhPT0gJ3VuZGVmaW5lZCcgPyBzZWxmIDogdGhpcywgZnVuY3Rpb24oKSB7XG5yZXR1cm4gIiwiIFx0Ly8gVGhlIG1vZHVsZSBjYWNoZVxuIFx0dmFyIGluc3RhbGxlZE1vZHVsZXMgPSB7fTtcblxuIFx0Ly8gVGhlIHJlcXVpcmUgZnVuY3Rpb25cbiBcdGZ1bmN0aW9uIF9fd2VicGFja19yZXF1aXJlX18obW9kdWxlSWQpIHtcblxuIFx0XHQvLyBDaGVjayBpZiBtb2R1bGUgaXMgaW4gY2FjaGVcbiBcdFx0aWYoaW5zdGFsbGVkTW9kdWxlc1ttb2R1bGVJZF0pIHtcbiBcdFx0XHRyZXR1cm4gaW5zdGFsbGVkTW9kdWxlc1ttb2R1bGVJZF0uZXhwb3J0cztcbiBcdFx0fVxuIFx0XHQvLyBDcmVhdGUgYSBuZXcgbW9kdWxlIChhbmQgcHV0IGl0IGludG8gdGhlIGNhY2hlKVxuIFx0XHR2YXIgbW9kdWxlID0gaW5zdGFsbGVkTW9kdWxlc1ttb2R1bGVJZF0gPSB7XG4gXHRcdFx0aTogbW9kdWxlSWQsXG4gXHRcdFx0bDogZmFsc2UsXG4gXHRcdFx0ZXhwb3J0czoge31cbiBcdFx0fTtcblxuIFx0XHQvLyBFeGVjdXRlIHRoZSBtb2R1bGUgZnVuY3Rpb25cbiBcdFx0bW9kdWxlc1ttb2R1bGVJZF0uY2FsbChtb2R1bGUuZXhwb3J0cywgbW9kdWxlLCBtb2R1bGUuZXhwb3J0cywgX193ZWJwYWNrX3JlcXVpcmVfXyk7XG5cbiBcdFx0Ly8gRmxhZyB0aGUgbW9kdWxlIGFzIGxvYWRlZFxuIFx0XHRtb2R1bGUubCA9IHRydWU7XG5cbiBcdFx0Ly8gUmV0dXJuIHRoZSBleHBvcnRzIG9mIHRoZSBtb2R1bGVcbiBcdFx0cmV0dXJuIG1vZHVsZS5leHBvcnRzO1xuIFx0fVxuXG5cbiBcdC8vIGV4cG9zZSB0aGUgbW9kdWxlcyBvYmplY3QgKF9fd2VicGFja19tb2R1bGVzX18pXG4gXHRfX3dlYnBhY2tfcmVxdWlyZV9fLm0gPSBtb2R1bGVzO1xuXG4gXHQvLyBleHBvc2UgdGhlIG1vZHVsZSBjYWNoZVxuIFx0X193ZWJwYWNrX3JlcXVpcmVfXy5jID0gaW5zdGFsbGVkTW9kdWxlcztcblxuIFx0Ly8gZGVmaW5lIGdldHRlciBmdW5jdGlvbiBmb3IgaGFybW9ueSBleHBvcnRzXG4gXHRfX3dlYnBhY2tfcmVxdWlyZV9fLmQgPSBmdW5jdGlvbihleHBvcnRzLCBuYW1lLCBnZXR0ZXIpIHtcbiBcdFx0aWYoIV9fd2VicGFja19yZXF1aXJlX18ubyhleHBvcnRzLCBuYW1lKSkge1xuIFx0XHRcdE9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBuYW1lLCB7IGVudW1lcmFibGU6IHRydWUsIGdldDogZ2V0dGVyIH0pO1xuIFx0XHR9XG4gXHR9O1xuXG4gXHQvLyBkZWZpbmUgX19lc01vZHVsZSBvbiBleHBvcnRzXG4gXHRfX3dlYnBhY2tfcmVxdWlyZV9fLnIgPSBmdW5jdGlvbihleHBvcnRzKSB7XG4gXHRcdGlmKHR5cGVvZiBTeW1ib2wgIT09ICd1bmRlZmluZWQnICYmIFN5bWJvbC50b1N0cmluZ1RhZykge1xuIFx0XHRcdE9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBTeW1ib2wudG9TdHJpbmdUYWcsIHsgdmFsdWU6ICdNb2R1bGUnIH0pO1xuIFx0XHR9XG4gXHRcdE9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCAnX19lc01vZHVsZScsIHsgdmFsdWU6IHRydWUgfSk7XG4gXHR9O1xuXG4gXHQvLyBjcmVhdGUgYSBmYWtlIG5hbWVzcGFjZSBvYmplY3RcbiBcdC8vIG1vZGUgJiAxOiB2YWx1ZSBpcyBhIG1vZHVsZSBpZCwgcmVxdWlyZSBpdFxuIFx0Ly8gbW9kZSAmIDI6IG1lcmdlIGFsbCBwcm9wZXJ0aWVzIG9mIHZhbHVlIGludG8gdGhlIG5zXG4gXHQvLyBtb2RlICYgNDogcmV0dXJuIHZhbHVlIHdoZW4gYWxyZWFkeSBucyBvYmplY3RcbiBcdC8vIG1vZGUgJiA4fDE6IGJlaGF2ZSBsaWtlIHJlcXVpcmVcbiBcdF9fd2VicGFja19yZXF1aXJlX18udCA9IGZ1bmN0aW9uKHZhbHVlLCBtb2RlKSB7XG4gXHRcdGlmKG1vZGUgJiAxKSB2YWx1ZSA9IF9fd2VicGFja19yZXF1aXJlX18odmFsdWUpO1xuIFx0XHRpZihtb2RlICYgOCkgcmV0dXJuIHZhbHVlO1xuIFx0XHRpZigobW9kZSAmIDQpICYmIHR5cGVvZiB2YWx1ZSA9PT0gJ29iamVjdCcgJiYgdmFsdWUgJiYgdmFsdWUuX19lc01vZHVsZSkgcmV0dXJuIHZhbHVlO1xuIFx0XHR2YXIgbnMgPSBPYmplY3QuY3JlYXRlKG51bGwpO1xuIFx0XHRfX3dlYnBhY2tfcmVxdWlyZV9fLnIobnMpO1xuIFx0XHRPYmplY3QuZGVmaW5lUHJvcGVydHkobnMsICdkZWZhdWx0JywgeyBlbnVtZXJhYmxlOiB0cnVlLCB2YWx1ZTogdmFsdWUgfSk7XG4gXHRcdGlmKG1vZGUgJiAyICYmIHR5cGVvZiB2YWx1ZSAhPSAnc3RyaW5nJykgZm9yKHZhciBrZXkgaW4gdmFsdWUpIF9fd2VicGFja19yZXF1aXJlX18uZChucywga2V5LCBmdW5jdGlvbihrZXkpIHsgcmV0dXJuIHZhbHVlW2tleV07IH0uYmluZChudWxsLCBrZXkpKTtcbiBcdFx0cmV0dXJuIG5zO1xuIFx0fTtcblxuIFx0Ly8gZ2V0RGVmYXVsdEV4cG9ydCBmdW5jdGlvbiBmb3IgY29tcGF0aWJpbGl0eSB3aXRoIG5vbi1oYXJtb255IG1vZHVsZXNcbiBcdF9fd2VicGFja19yZXF1aXJlX18ubiA9IGZ1bmN0aW9uKG1vZHVsZSkge1xuIFx0XHR2YXIgZ2V0dGVyID0gbW9kdWxlICYmIG1vZHVsZS5fX2VzTW9kdWxlID9cbiBcdFx0XHRmdW5jdGlvbiBnZXREZWZhdWx0KCkgeyByZXR1cm4gbW9kdWxlWydkZWZhdWx0J107IH0gOlxuIFx0XHRcdGZ1bmN0aW9uIGdldE1vZHVsZUV4cG9ydHMoKSB7IHJldHVybiBtb2R1bGU7IH07XG4gXHRcdF9fd2VicGFja19yZXF1aXJlX18uZChnZXR0ZXIsICdhJywgZ2V0dGVyKTtcbiBcdFx0cmV0dXJuIGdldHRlcjtcbiBcdH07XG5cbiBcdC8vIE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbFxuIFx0X193ZWJwYWNrX3JlcXVpcmVfXy5vID0gZnVuY3Rpb24ob2JqZWN0LCBwcm9wZXJ0eSkgeyByZXR1cm4gT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKG9iamVjdCwgcHJvcGVydHkpOyB9O1xuXG4gXHQvLyBfX3dlYnBhY2tfcHVibGljX3BhdGhfX1xuIFx0X193ZWJwYWNrX3JlcXVpcmVfXy5wID0gXCJcIjtcblxuXG4gXHQvLyBMb2FkIGVudHJ5IG1vZHVsZSBhbmQgcmV0dXJuIGV4cG9ydHNcbiBcdHJldHVybiBfX3dlYnBhY2tfcmVxdWlyZV9fKF9fd2VicGFja19yZXF1aXJlX18ucyA9IDkpO1xuIiwibW9kdWxlLmV4cG9ydHMgPSByZXF1aXJlKFwicmVhY3RcIik7IiwibW9kdWxlLmV4cG9ydHMgPSByZXF1aXJlKFwiQGFkb2JlL2NxLXJlYWN0LWVkaXRhYmxlLWNvbXBvbmVudHNcIik7IiwiLypcbiAqICBDb3B5cmlnaHQgMjAyMCBBZG9iZVxuICpcbiAqICBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgXCJMaWNlbnNlXCIpO1xuICogIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAqICBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcbiAqXG4gKiAgICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuICpcbiAqICBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gKiAgZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIEJBU0lTLFxuICogIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICogIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAqICBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAqL1xuXG5pbXBvcnQgUmVhY3QgZnJvbSBcInJlYWN0XCI7XG5pbXBvcnQge0NvbnRhaW5lcn0gZnJvbSAnQGFkb2JlL2NxLXJlYWN0LWVkaXRhYmxlLWNvbXBvbmVudHMnO1xuXG5leHBvcnQgY2xhc3MgQWJzdHJhY3RDb3JlQ29udGFpbmVyQ29tcG9uZW50IGV4dGVuZHMgQ29udGFpbmVyIHtcblxuICAgIGJhc2VDc3NDbHM7XG5cbiAgICBjb25zdHJ1Y3Rvcihwcm9wcywgYmFzZUNzc0Nscykge1xuICAgICAgICBzdXBlcihwcm9wcyk7XG4gICAgICAgIHRoaXMuYmFzZUNzc0NscyA9IGJhc2VDc3NDbHM7XG4gICAgfVxuXG4gICAgZ2V0IHBsYWNlaG9sZGVyQ29tcG9uZW50KCkge1xuXG4gICAgICAgIGlmKCF0aGlzLnByb3BzLmNxSXRlbXNPcmRlciB8fCB0aGlzLnByb3BzLmNxSXRlbXNPcmRlci5sZW5ndGggPT09IDApe1xuICAgICAgICAgICAgcmV0dXJuIHN1cGVyLnBsYWNlaG9sZGVyQ29tcG9uZW50O1xuICAgICAgICB9ZWxzZXtcbiAgICAgICAgICAgIHJldHVybiBudWxsO1xuICAgICAgICB9XG4gICAgfVxufSIsIi8qXG4gKiAgQ29weXJpZ2h0IDIwMjAgQWRvYmVcbiAqXG4gKiAgTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlIFwiTGljZW5zZVwiKTtcbiAqICB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gKiAgWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4gKlxuICogICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcbiAqXG4gKiAgVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICogIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBCQVNJUyxcbiAqICBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAqICBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gKiAgbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gKi9cblxuaW1wb3J0IFJlYWN0IGZyb20gXCJyZWFjdFwiO1xuXG5pbXBvcnQge0Fic3RyYWN0Q29yZUNvbnRhaW5lckNvbXBvbmVudH0gZnJvbSBcIi4uLy4uLy4uL0Fic3RyYWN0Q29yZUNvbnRhaW5lckNvbXBvbmVudFwiO1xuaW1wb3J0IHtDb21wb25lbnRNYXBwaW5nfSBmcm9tICdAYWRvYmUvY3EtcmVhY3QtZWRpdGFibGUtY29tcG9uZW50cyc7XG5cblxuZXhwb3J0IGZ1bmN0aW9uIEFjY29yZGlvblYxSXNFbXB0eUZuKHByb3BzKXtcbiAgICByZXR1cm4gcHJvcHMuY3FJdGVtcyA9PSBudWxsIHx8IHByb3BzLmNxSXRlbXMubGVuZ3RoID09PSAwO1xufVxuXG5leHBvcnQgY2xhc3MgQWNjb3JkaW9uVjEgZXh0ZW5kcyBBYnN0cmFjdENvcmVDb250YWluZXJDb21wb25lbnQge1xuXG4gICAgY29uc3RydWN0b3IocHJvcHMpIHtcbiAgICAgICAgc3VwZXIocHJvcHMsIFwiY21wLWFjY29yZGlvblwiKTtcbiAgICAgICAgdGhpcy5zdGF0ZSA9IHtcbiAgICAgICAgICAgIGNvbXBvbmVudE1hcHBpbmc6IHRoaXMucHJvcHMuY29tcG9uZW50TWFwcGluZyB8fCBDb21wb25lbnRNYXBwaW5nLFxuICAgICAgICAgICAgZXhwYW5kZWRJdGVtczogdGhpcy5wcm9wcy5leHBhbmRlZEl0ZW1zXG4gICAgICAgIH07XG5cbiAgICAgICAgdGhpcy5oYW5kbGVBY2NvcmRpb25OYXZDbGljayA9IHRoaXMuaGFuZGxlQWNjb3JkaW9uTmF2Q2xpY2suYmluZCh0aGlzKTtcbiAgICB9XG5cbiAgICBoYW5kbGVBY2NvcmRpb25OYXZDbGljayhpdGVtS2V5KXtcblxuICAgICAgICBjb25zdCBpc0FjdGl2ZSA9IHRoaXMuc3RhdGUuZXhwYW5kZWRJdGVtcy5pbmRleE9mKGl0ZW1LZXkpID4gLTE7XG4gICAgICAgIGNvbnN0IGlzU2luZ2xlRXhwYW5zaW9uID0gdGhpcy5wcm9wcy5zaW5nbGVFeHBhbnNpb247XG5cbiAgICAgICAgbGV0IGV4cGFuZGVkSXRlbXMgPSB0aGlzLnN0YXRlLmV4cGFuZGVkSXRlbXM7XG4gICAgICAgIGlmKGlzU2luZ2xlRXhwYW5zaW9uKXtcbiAgICAgICAgICAgIGV4cGFuZGVkSXRlbXMgPSAoaXNBY3RpdmUpID8gW10gOiBbaXRlbUtleV07XG4gICAgICAgIH1lbHNle1xuICAgICAgICAgICAgaWYoaXNBY3RpdmUpe1xuICAgICAgICAgICAgICAgIGNvbnN0IGluZGV4ID0gIHRoaXMuc3RhdGUuZXhwYW5kZWRJdGVtcy5pbmRleE9mKGl0ZW1LZXkpO1xuICAgICAgICAgICAgICAgIGV4cGFuZGVkSXRlbXMuc3BsaWNlKCBpbmRleCApO1xuICAgICAgICAgICAgfWVsc2V7XG4gICAgICAgICAgICAgICAgZXhwYW5kZWRJdGVtcy5wdXNoKGl0ZW1LZXkpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIHRoaXMuc2V0U3RhdGUoe1xuICAgICAgICAgICAgZXhwYW5kZWRJdGVtczogZXhwYW5kZWRJdGVtc1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBpc0l0ZW1FeHBhbmRlZChrZXkpe1xuICAgICAgICByZXR1cm4gdGhpcy5zdGF0ZS5leHBhbmRlZEl0ZW1zLmluZGV4T2Yoa2V5KSA+IC0xO1xuICAgIH1cblxuICAgIGdldCBhY2NvcmRpb25Db250YWluZXJQcm9wcygpe1xuICAgICAgICBsZXQgYXR0cnMgPSB0aGlzLmNvbnRhaW5lclByb3BzO1xuICAgICAgICBhdHRyc1snY2xhc3NOYW1lJ10gPSBhdHRycy5jbGFzc05hbWUgKyAnICcgKyB0aGlzLmJhc2VDc3NDbHM7XG4gICAgICAgIGF0dHJzWydkYXRhLWNtcC1pcyddID0gJ2FjY29yZGlvbic7XG4gICAgfVxuXG5cbiAgICBkaXNwbGF5SXRlbShrZXksaXNFeHBhbmRlZCkge1xuXG4gICAgICAgIGNvbnN0IGluZGV4VG9TaG93ID0gdGhpcy5wcm9wcy5jcUl0ZW1zT3JkZXIuaW5kZXhPZihrZXkpO1xuXG4gICAgICAgIGlmKHRoaXMucHJvcHMuaXNJbkVkaXRvciA9PT0gdHJ1ZSB8fCBpc0V4cGFuZGVkKXtcbiAgICAgICAgICAgIGNvbnN0IGNzc0NsYXNzID0gaXNFeHBhbmRlZCA/IGAke3RoaXMuYmFzZUNzc0Nsc31fX3BhbmVsICR7dGhpcy5iYXNlQ3NzQ2xzfV9fcGFuZWwtLWV4cGFuZGVkYDogYCR7dGhpcy5iYXNlQ3NzQ2xzfV9fcGFuZWwgJHt0aGlzLmJhc2VDc3NDbHN9X19wYW5lbC0taGlkZGVuYDtcblxuICAgICAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT17Y3NzQ2xhc3N9XG4gICAgICAgICAgICAgICAgICAgICByb2xlPVwicmVnaW9uXCI+XG4gICAgICAgICAgICAgICAgICAgIHt0aGlzLmNoaWxkQ29tcG9uZW50c1tpbmRleFRvU2hvd119XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICApXG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG5cbiAgICByZW5kZXJIZWFkaW5nQnV0dG9uKGtleSwgaXRlbSxidXR0b25Dc3NDbGFzcyl7XG4gICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICA8YnV0dG9uIGNsYXNzTmFtZT17YnV0dG9uQ3NzQ2xhc3N9IG9uQ2xpY2s9eygpID0+IHsgdGhpcy5oYW5kbGVBY2NvcmRpb25OYXZDbGljayhrZXkpIH19PlxuICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzTmFtZT17dGhpcy5iYXNlQ3NzQ2xzICsgJ19fdGl0bGUnfT57aXRlbVtcImNxOnBhbmVsVGl0bGVcIl19PC9zcGFuPlxuICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzTmFtZT17dGhpcy5iYXNlQ3NzQ2xzICsgJ19faWNvbid9Pjwvc3Bhbj5cbiAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICApXG4gICAgfVxuXG4gICAgZ2V0IGFjY29yZGlvbkNvbnRlbnQoKXtcbiAgICAgICAgcmV0dXJuIChcblxuICAgICAgICAgICAgdGhpcy5wcm9wcy5jcUl0ZW1zT3JkZXIubWFwKChrZXksIGluZGV4KSA9PiB7XG4gICAgICAgICAgICAgICAgY29uc3QgaXRlbSA9IHRoaXMucHJvcHMuY3FJdGVtc1trZXldO1xuICAgICAgICAgICAgICAgIGNvbnN0IGlzRXhwYW5kZWQgPSB0aGlzLmlzSXRlbUV4cGFuZGVkKGtleSk7XG4gICAgICAgICAgICAgICAgY29uc3QgYnV0dG9uQ3NzQ2xhc3MgPSAoaXNFeHBhbmRlZCkgPyBgJHt0aGlzLmJhc2VDc3NDbHN9X19idXR0b24gJHt0aGlzLmJhc2VDc3NDbHN9X19idXR0b24tLWV4cGFuZGVkYCA6IGAke3RoaXMuYmFzZUNzc0Nsc31fX2J1dHRvbmA7XG4gICAgICAgICAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3NOYW1lPXt0aGlzLmJhc2VDc3NDbHMgKyAnX19pdGVtJ31cbiAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtY21wLWluZGV4PXtpbmRleH1cbiAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtY21wLWV4cGFuZGVkPXtpc0V4cGFuZGVkfT5cbiAgICAgICAgICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBSZWFjdC5jcmVhdGVFbGVtZW50KFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBgJHt0aGlzLnByb3BzLmhlYWRpbmdFbGVtZW50IHx8ICdoMyd9YCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3NOYW1lOiB0aGlzLmJhc2VDc3NDbHMgKyAnX19oZWFkZXInLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnJlbmRlckhlYWRpbmdCdXR0b24oa2V5LGl0ZW0sYnV0dG9uQ3NzQ2xhc3MpXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAge3RoaXMuZGlzcGxheUl0ZW0oa2V5LCBpc0V4cGFuZGVkKX1cblxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICApXG4gICAgICAgICAgICB9KVxuICAgICAgICApO1xuICAgIH1cblxuICAgIHJlbmRlcigpIHtcblxuICAgICAgICBjb25zdCBpc0VtcHR5ID0gQWNjb3JkaW9uVjFJc0VtcHR5Rm4odGhpcy5wcm9wcyk7XG5cbiAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgIDxkaXYgey4uLnRoaXMuYWNjb3JkaW9uQ29udGFpbmVyUHJvcHN9PlxuICAgICAgICAgICAgICAgIHsgIWlzRW1wdHkgJiYgdGhpcy5hY2NvcmRpb25Db250ZW50IH1cbiAgICAgICAgICAgICAgICB7IHRoaXMucGxhY2Vob2xkZXJDb21wb25lbnQgfVxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgIClcbiAgICB9XG5cbn0iXSwic291cmNlUm9vdCI6IiJ9 | ||
(function webpackUniversalModuleDefinition(root, factory) { | ||
if(typeof exports === 'object' && typeof module === 'object') | ||
module.exports = factory(); | ||
else if(typeof define === 'function' && define.amd) | ||
define([], factory); | ||
else if(typeof exports === 'object') | ||
exports["cqSpaCoreComponents"] = factory(); | ||
else | ||
root["cqSpaCoreComponents"] = factory(); | ||
})(typeof self !== 'undefined' ? self : this, function() { | ||
return /******/ (function(modules) { // webpackBootstrap | ||
/******/ // The module cache | ||
/******/ var installedModules = {}; | ||
/******/ | ||
/******/ // The require function | ||
/******/ function __webpack_require__(moduleId) { | ||
/******/ | ||
/******/ // Check if module is in cache | ||
/******/ if(installedModules[moduleId]) { | ||
/******/ return installedModules[moduleId].exports; | ||
/******/ } | ||
/******/ // Create a new module (and put it into the cache) | ||
/******/ var module = installedModules[moduleId] = { | ||
/******/ i: moduleId, | ||
/******/ l: false, | ||
/******/ exports: {} | ||
/******/ }; | ||
/******/ | ||
/******/ // Execute the module function | ||
/******/ modules[moduleId].call(module.exports, module, module.exports, __webpack_require__); | ||
/******/ | ||
/******/ // Flag the module as loaded | ||
/******/ module.l = true; | ||
/******/ | ||
/******/ // Return the exports of the module | ||
/******/ return module.exports; | ||
/******/ } | ||
/******/ | ||
/******/ | ||
/******/ // expose the modules object (__webpack_modules__) | ||
/******/ __webpack_require__.m = modules; | ||
/******/ | ||
/******/ // expose the module cache | ||
/******/ __webpack_require__.c = installedModules; | ||
/******/ | ||
/******/ // define getter function for harmony exports | ||
/******/ __webpack_require__.d = function(exports, name, getter) { | ||
/******/ if(!__webpack_require__.o(exports, name)) { | ||
/******/ Object.defineProperty(exports, name, { enumerable: true, get: getter }); | ||
/******/ } | ||
/******/ }; | ||
/******/ | ||
/******/ // define __esModule on exports | ||
/******/ __webpack_require__.r = function(exports) { | ||
/******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) { | ||
/******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' }); | ||
/******/ } | ||
/******/ Object.defineProperty(exports, '__esModule', { value: true }); | ||
/******/ }; | ||
/******/ | ||
/******/ // create a fake namespace object | ||
/******/ // mode & 1: value is a module id, require it | ||
/******/ // mode & 2: merge all properties of value into the ns | ||
/******/ // mode & 4: return value when already ns object | ||
/******/ // mode & 8|1: behave like require | ||
/******/ __webpack_require__.t = function(value, mode) { | ||
/******/ if(mode & 1) value = __webpack_require__(value); | ||
/******/ if(mode & 8) return value; | ||
/******/ if((mode & 4) && typeof value === 'object' && value && value.__esModule) return value; | ||
/******/ var ns = Object.create(null); | ||
/******/ __webpack_require__.r(ns); | ||
/******/ Object.defineProperty(ns, 'default', { enumerable: true, value: value }); | ||
/******/ if(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key)); | ||
/******/ return ns; | ||
/******/ }; | ||
/******/ | ||
/******/ // getDefaultExport function for compatibility with non-harmony modules | ||
/******/ __webpack_require__.n = function(module) { | ||
/******/ var getter = module && module.__esModule ? | ||
/******/ function getDefault() { return module['default']; } : | ||
/******/ function getModuleExports() { return module; }; | ||
/******/ __webpack_require__.d(getter, 'a', getter); | ||
/******/ return getter; | ||
/******/ }; | ||
/******/ | ||
/******/ // Object.prototype.hasOwnProperty.call | ||
/******/ __webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); }; | ||
/******/ | ||
/******/ // __webpack_public_path__ | ||
/******/ __webpack_require__.p = ""; | ||
/******/ | ||
/******/ | ||
/******/ // Load entry module and return exports | ||
/******/ return __webpack_require__(__webpack_require__.s = 2); | ||
/******/ }) | ||
/************************************************************************/ | ||
/******/ ({ | ||
/***/ "./src/AbstractCoreContainerComponent.tsx": | ||
/*!************************************************!*\ | ||
!*** ./src/AbstractCoreContainerComponent.tsx ***! | ||
\************************************************/ | ||
/*! exports provided: withStandardBaseCssClass, withAuthorPanelSwitch */ | ||
/***/ (function(module, __webpack_exports__, __webpack_require__) { | ||
"use strict"; | ||
__webpack_require__.r(__webpack_exports__); | ||
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "withStandardBaseCssClass", function() { return withStandardBaseCssClass; }); | ||
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "withAuthorPanelSwitch", function() { return withAuthorPanelSwitch; }); | ||
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "react"); | ||
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__); | ||
/* | ||
* Copyright 2020 Adobe | ||
* | ||
* Licensed under the Apache License, Version 2.0 (the "License"); | ||
* you may not use this file except in compliance with the License. | ||
* You may obtain a copy of the License at | ||
* | ||
* http://www.apache.org/licenses/LICENSE-2.0 | ||
* | ||
* Unless required by applicable law or agreed to in writing, software | ||
* distributed under the License is distributed on an "AS IS" BASIS, | ||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | ||
* See the License for the specific language governing permissions and | ||
* limitations under the License. | ||
*/ | ||
const withStandardBaseCssClass = (Component, defaultBaseCssClass) => { | ||
return (props) => { | ||
const baseCssClass = props.baseCssClass; | ||
const toBeUsedCssClass = baseCssClass && baseCssClass.trim().length > 0 ? baseCssClass : defaultBaseCssClass; | ||
const mergedProps = { | ||
...props, | ||
baseCssClass: toBeUsedCssClass | ||
}; | ||
return react__WEBPACK_IMPORTED_MODULE_0__["createElement"](Component, Object.assign({}, mergedProps)); | ||
}; | ||
}; | ||
const withAuthorPanelSwitch = (Component) => { | ||
return class extends react__WEBPACK_IMPORTED_MODULE_0__["Component"] { | ||
constructor(props) { | ||
super(props); | ||
this.state = {}; | ||
//@ts-ignore | ||
if (window && window.Granite && window.Granite.author && window.Granite.author.MessageChannel) { | ||
//@ts-ignore | ||
this.messageChannel = new window.Granite.author.MessageChannel("cqauthor", window); | ||
this.callback = this.callback.bind(this); | ||
} | ||
} | ||
callback(message) { | ||
if (message.data && message.data.id === this.props.cqPath) { | ||
if (message.data.operation === "navigate") { | ||
const index = message.data.index; | ||
this.setState({ | ||
activeIndexFromAuthorPanel: index | ||
}); | ||
} | ||
} | ||
} | ||
componentDidMount() { | ||
if (this.messageChannel) { | ||
this.messageChannel.subscribeRequestMessage("cmp.panelcontainer", this.callback); | ||
} | ||
} | ||
componentWillUnmount() { | ||
if (this.messageChannel) { | ||
this.messageChannel.unsubscribeRequestMessage("cmp.panelcontainer", this.callback); | ||
} | ||
} | ||
render() { | ||
return react__WEBPACK_IMPORTED_MODULE_0__["createElement"](Component, Object.assign({}, this.props, { activeIndexFromAuthorPanel: this.state.activeIndexFromAuthorPanel })); | ||
} | ||
}; | ||
}; | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQWJzdHJhY3RDb3JlQ29udGFpbmVyQ29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiQWJzdHJhY3RDb3JlQ29udGFpbmVyQ29tcG9uZW50LnRzeCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7Ozs7R0FjRztBQUVILE9BQU8sS0FBSyxLQUFLLE1BQU0sT0FBTyxDQUFDO0FBd0IvQixNQUFNLENBQUMsTUFBTSx3QkFBd0IsR0FBRyxDQUVwQyxTQUEwQixFQUMxQixtQkFBMEIsRUFDSixFQUFFO0lBQ3hCLE9BQU8sQ0FBQyxLQUFPLEVBQUUsRUFBRTtRQUVmLE1BQU0sWUFBWSxHQUFHLEtBQUssQ0FBQyxZQUFZLENBQUM7UUFDeEMsTUFBTSxnQkFBZ0IsR0FBRyxZQUFZLElBQUksWUFBWSxDQUFDLElBQUksRUFBRSxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsbUJBQW1CLENBQUM7UUFFN0csTUFBTSxXQUFXLEdBQUs7WUFDbEIsR0FBRyxLQUFLO1lBQ1IsWUFBWSxFQUFFLGdCQUFnQjtTQUNqQyxDQUFDO1FBRUYsT0FBTyxvQkFBQyxTQUFTLG9CQUFLLFdBQVcsRUFBSSxDQUFDO0lBQzFDLENBQUMsQ0FBQTtBQUNMLENBQUMsQ0FBQztBQUlGLE1BQU0sQ0FBQyxNQUFNLHFCQUFxQixHQUFHLENBQ2pDLFNBQTBCLEVBQ0wsRUFBRTtJQUV2QixPQUFPLEtBQU0sU0FBUSxLQUFLLENBQUMsU0FBb0M7UUFLM0QsWUFBWSxLQUFPO1lBQ2YsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDO1lBQ2IsSUFBSSxDQUFDLEtBQUssR0FBRyxFQUFFLENBQUE7WUFFZixZQUFZO1lBQ1osSUFBSSxNQUFNLElBQUksTUFBTSxDQUFDLE9BQU8sSUFBSSxNQUFNLENBQUMsT0FBTyxDQUFDLE1BQU0sSUFBSSxNQUFNLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxjQUFjLEVBQUU7Z0JBQzNGLFlBQVk7Z0JBQ1osSUFBSSxDQUFDLGNBQWMsR0FBRyxJQUFJLE1BQU0sQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLGNBQWMsQ0FBQyxVQUFVLEVBQUUsTUFBTSxDQUFDLENBQUM7Z0JBQ25GLElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7YUFDNUM7UUFDTCxDQUFDO1FBRUQsUUFBUSxDQUFDLE9BQVc7WUFDaEIsSUFBSSxPQUFPLENBQUMsSUFBSSxJQUFJLE9BQU8sQ0FBQyxJQUFJLENBQUMsRUFBRSxLQUFLLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxFQUFFO2dCQUN2RCxJQUFJLE9BQU8sQ0FBQyxJQUFJLENBQUMsU0FBUyxLQUFLLFVBQVUsRUFBRTtvQkFDdkMsTUFBTSxLQUFLLEdBQUcsT0FBTyxDQUFDLElBQUksQ0FBQyxLQUFlLENBQUM7b0JBQzNDLElBQUksQ0FBQyxRQUFRLENBQUM7d0JBQ1YsMEJBQTBCLEVBQUUsS0FBSztxQkFDcEMsQ0FBQyxDQUFBO2lCQUNMO2FBQ0o7UUFDTCxDQUFDO1FBRUQsaUJBQWlCO1lBQ2IsSUFBRyxJQUFJLENBQUMsY0FBYyxFQUFDO2dCQUNuQixJQUFJLENBQUMsY0FBYyxDQUFDLHVCQUF1QixDQUFDLG9CQUFvQixFQUFFLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQzthQUNwRjtRQUNMLENBQUM7UUFFRCxvQkFBb0I7WUFDaEIsSUFBRyxJQUFJLENBQUMsY0FBYyxFQUFDO2dCQUNuQixJQUFJLENBQUMsY0FBYyxDQUFDLHlCQUF5QixDQUFDLG9CQUFvQixFQUFFLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQzthQUN0RjtRQUNMLENBQUM7UUFHRCxNQUFNO1lBQ0YsT0FBTyxvQkFBQyxTQUFTLG9CQUFLLElBQUksQ0FBQyxLQUFLLElBQUUsMEJBQTBCLEVBQUUsSUFBSSxDQUFDLEtBQUssQ0FBQywwQkFBMEIsSUFBSSxDQUFDO1FBQzVHLENBQUM7S0FDSixDQUFBO0FBRUwsQ0FBQyxDQUFDIn0= | ||
/***/ }), | ||
/***/ "./src/container/accordion/v1/AccordionV1.tsx": | ||
/*!****************************************************!*\ | ||
!*** ./src/container/accordion/v1/AccordionV1.tsx ***! | ||
\****************************************************/ | ||
/*! exports provided: default */ | ||
/***/ (function(module, __webpack_exports__, __webpack_require__) { | ||
"use strict"; | ||
__webpack_require__.r(__webpack_exports__); | ||
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "react"); | ||
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__); | ||
/* harmony import */ var _AbstractCoreContainerComponent__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../../AbstractCoreContainerComponent */ "./src/AbstractCoreContainerComponent.tsx"); | ||
/* harmony import */ var _adobe_aem_react_editable_components__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @adobe/aem-react-editable-components */ "@adobe/aem-react-editable-components"); | ||
/* harmony import */ var _adobe_aem_react_editable_components__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_adobe_aem_react_editable_components__WEBPACK_IMPORTED_MODULE_2__); | ||
/* harmony import */ var _AccordionV1IsEmptyFn__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./AccordionV1IsEmptyFn */ "./src/container/accordion/v1/AccordionV1IsEmptyFn.ts"); | ||
/* | ||
* Copyright 2020 Adobe | ||
* | ||
* Licensed under the Apache License, Version 2.0 (the "License"); | ||
* you may not use this file except in compliance with the License. | ||
* You may obtain a copy of the License at | ||
* | ||
* http://www.apache.org/licenses/LICENSE-2.0 | ||
* | ||
* Unless required by applicable law or agreed to in writing, software | ||
* distributed under the License is distributed on an "AS IS" BASIS, | ||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | ||
* See the License for the specific language governing permissions and | ||
* limitations under the License. | ||
*/ | ||
class AccordionV1Impl extends _adobe_aem_react_editable_components__WEBPACK_IMPORTED_MODULE_2__["Container"] { | ||
constructor(props) { | ||
super(props); | ||
this.state = { | ||
componentMapping: this.props.componentMapping || _adobe_aem_react_editable_components__WEBPACK_IMPORTED_MODULE_2__["ComponentMapping"], | ||
expandedItems: this.props.expandedItems | ||
}; | ||
this.handleAccordionNavClick = this.handleAccordionNavClick.bind(this); | ||
} | ||
componentDidUpdate(prevProps, prevState) { | ||
if (this.props.activeIndexFromAuthorPanel !== undefined && prevProps.activeIndexFromAuthorPanel != this.props.activeIndexFromAuthorPanel) { | ||
this.setState({ expandedItems: [this.props.cqItemsOrder[this.props.activeIndexFromAuthorPanel]] }); | ||
} | ||
} | ||
handleAccordionNavClick(itemKey) { | ||
const isActive = this.state.expandedItems.indexOf(itemKey) > -1; | ||
const isSingleExpansion = this.props.singleExpansion; | ||
let expandedItems = this.state.expandedItems; | ||
if (isSingleExpansion) { | ||
expandedItems = (isActive) ? [] : [itemKey]; | ||
} | ||
else { | ||
if (isActive) { | ||
const index = this.state.expandedItems.indexOf(itemKey); | ||
expandedItems.splice(index); | ||
} | ||
else { | ||
expandedItems.push(itemKey); | ||
} | ||
} | ||
this.setState({ | ||
expandedItems: expandedItems | ||
}); | ||
} | ||
isItemExpanded(key) { | ||
return this.state.expandedItems.indexOf(key) > -1; | ||
} | ||
get accordionContainerProps() { | ||
const attrs = this.containerProps; | ||
attrs['className'] = attrs.className + ' ' + this.props.baseCssClass; | ||
attrs['data-cmp-is'] = 'accordion'; | ||
return attrs; | ||
} | ||
displayItem(key, isExpanded) { | ||
const indexToShow = this.props.cqItemsOrder.indexOf(key); | ||
if (this.props.isInEditor === true || isExpanded) { | ||
const cssClass = isExpanded ? `${this.props.baseCssClass}__panel ${this.props.baseCssClass}__panel--expanded` : `${this.props.baseCssClass}__panel ${this.props.baseCssClass}__panel--hidden`; | ||
return (react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("div", { className: cssClass, role: "region" }, this.childComponents[indexToShow])); | ||
} | ||
return null; | ||
} | ||
renderHeadingButton(key, item, buttonCssClass) { | ||
return (react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("button", { className: buttonCssClass, onClick: () => { this.handleAccordionNavClick(key); } }, | ||
react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("span", { className: this.props.baseCssClass + '__title' }, item["cq:panelTitle"]), | ||
react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("span", { className: this.props.baseCssClass + '__icon' }))); | ||
} | ||
get accordionContent() { | ||
return (this.props.cqItemsOrder.map((key, index) => { | ||
const item = this.props.cqItems[key]; | ||
const isExpanded = this.isItemExpanded(key); | ||
const buttonCssClass = (isExpanded) ? `${this.props.baseCssClass}__button ${this.props.baseCssClass}__button--expanded` : `${this.props.baseCssClass}__button`; | ||
return (react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("div", { key: "accordion-index" + index, className: this.props.baseCssClass + '__item', "data-cmp-index": index, "data-cmp-expanded": isExpanded }, | ||
react__WEBPACK_IMPORTED_MODULE_0__["createElement"](`${this.props.headingElement || 'h3'}`, { | ||
className: this.props.baseCssClass + '__header', | ||
}, this.renderHeadingButton(key, item, buttonCssClass)), | ||
this.displayItem(key, isExpanded))); | ||
})); | ||
} | ||
render() { | ||
const isEmpty = Object(_AccordionV1IsEmptyFn__WEBPACK_IMPORTED_MODULE_3__["AccordionV1IsEmptyFn"])(this.props); | ||
return (react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("div", Object.assign({}, this.accordionContainerProps), | ||
!isEmpty && this.accordionContent, | ||
this.placeholderComponent)); | ||
} | ||
} | ||
/* harmony default export */ __webpack_exports__["default"] = (Object(_AbstractCoreContainerComponent__WEBPACK_IMPORTED_MODULE_1__["withStandardBaseCssClass"])(Object(_AbstractCoreContainerComponent__WEBPACK_IMPORTED_MODULE_1__["withAuthorPanelSwitch"])(AccordionV1Impl), "cmp-accordion")); | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQWNjb3JkaW9uVjEuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJBY2NvcmRpb25WMS50c3giXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7Ozs7O0dBY0c7QUFFSCxPQUFPLEtBQUssS0FBSyxNQUFNLE9BQU8sQ0FBQztBQUcvQixPQUFPLEVBQThDLHFCQUFxQixFQUFFLHdCQUF3QixFQUFDLE1BQU0seUNBQXlDLENBQUM7QUFDckosT0FBTyxFQUFDLGdCQUFnQixFQUFFLFNBQVMsRUFBQyxNQUFNLHNDQUFzQyxDQUFDO0FBQ2pGLE9BQU8sRUFBQyxvQkFBb0IsRUFBQyxNQUFNLHdCQUF3QixDQUFDO0FBWTVELE1BQU0sZUFBZ0IsU0FBUSxTQUFpRDtJQUUzRSxZQUFZLEtBQTJCO1FBQ25DLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUViLElBQUksQ0FBQyxLQUFLLEdBQUc7WUFDVCxnQkFBZ0IsRUFBRSxJQUFJLENBQUMsS0FBSyxDQUFDLGdCQUFnQixJQUFJLGdCQUFnQjtZQUNqRSxhQUFhLEVBQUUsSUFBSSxDQUFDLEtBQUssQ0FBQyxhQUFhO1NBQzFDLENBQUM7UUFFRixJQUFJLENBQUMsdUJBQXVCLEdBQUcsSUFBSSxDQUFDLHVCQUF1QixDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUMzRSxDQUFDO0lBRUQsa0JBQWtCLENBQUMsU0FBMEMsRUFBRSxTQUFxQztRQUNoRyxJQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsMEJBQTBCLEtBQUssU0FBUyxJQUFJLFNBQVMsQ0FBQywwQkFBMEIsSUFBSSxJQUFJLENBQUMsS0FBSyxDQUFDLDBCQUEwQixFQUFDO1lBQ3BJLElBQUksQ0FBQyxRQUFRLENBQUMsRUFBRSxhQUFhLEVBQUUsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLDBCQUEwQixDQUFDLENBQUMsRUFBRSxDQUFFLENBQUM7U0FDdkc7SUFDTCxDQUFD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 | ||
/***/ }), | ||
/***/ "./src/container/accordion/v1/AccordionV1IsEmptyFn.ts": | ||
/*!************************************************************!*\ | ||
!*** ./src/container/accordion/v1/AccordionV1IsEmptyFn.ts ***! | ||
\************************************************************/ | ||
/*! exports provided: AccordionV1IsEmptyFn */ | ||
/***/ (function(module, __webpack_exports__, __webpack_require__) { | ||
"use strict"; | ||
__webpack_require__.r(__webpack_exports__); | ||
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "AccordionV1IsEmptyFn", function() { return AccordionV1IsEmptyFn; }); | ||
/* | ||
* Copyright 2020 Adobe | ||
* | ||
* Licensed under the Apache License, Version 2.0 (the "License"); | ||
* you may not use this file except in compliance with the License. | ||
* You may obtain a copy of the License at | ||
* | ||
* http://www.apache.org/licenses/LICENSE-2.0 | ||
* | ||
* Unless required by applicable law or agreed to in writing, software | ||
* distributed under the License is distributed on an "AS IS" BASIS, | ||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | ||
* See the License for the specific language governing permissions and | ||
* limitations under the License. | ||
*/ | ||
function AccordionV1IsEmptyFn(props) { | ||
return props.cqItemsOrder == null || props.cqItemsOrder.length == 0; | ||
} | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQWNjb3JkaW9uVjFJc0VtcHR5Rm4uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJBY2NvcmRpb25WMUlzRW1wdHlGbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7Ozs7R0FjRztBQUlILE1BQU0sVUFBVSxvQkFBb0IsQ0FBQyxLQUEyQjtJQUM1RCxPQUFPLEtBQUssQ0FBQyxZQUFZLElBQUksSUFBSSxJQUFJLEtBQUssQ0FBQyxZQUFZLENBQUMsTUFBTSxJQUFJLENBQUMsQ0FBQztBQUN4RSxDQUFDIn0= | ||
/***/ }), | ||
/***/ 2: | ||
/*!**********************************************************!*\ | ||
!*** multi ./src/container/accordion/v1/AccordionV1.tsx ***! | ||
\**********************************************************/ | ||
/*! no static exports found */ | ||
/***/ (function(module, exports, __webpack_require__) { | ||
module.exports = __webpack_require__(/*! ./src/container/accordion/v1/AccordionV1.tsx */"./src/container/accordion/v1/AccordionV1.tsx"); | ||
/***/ }), | ||
/***/ "@adobe/aem-react-editable-components": | ||
/*!*******************************************************!*\ | ||
!*** external "@adobe/aem-react-editable-components" ***! | ||
\*******************************************************/ | ||
/*! no static exports found */ | ||
/***/ (function(module, exports) { | ||
module.exports = require("@adobe/aem-react-editable-components"); | ||
/***/ }), | ||
/***/ "react": | ||
/*!************************!*\ | ||
!*** external "react" ***! | ||
\************************/ | ||
/*! no static exports found */ | ||
/***/ (function(module, exports) { | ||
module.exports = require("react"); | ||
/***/ }) | ||
/******/ }); | ||
}); | ||
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9jcVNwYUNvcmVDb21wb25lbnRzL3dlYnBhY2svdW5pdmVyc2FsTW9kdWxlRGVmaW5pdGlvbiIsIndlYnBhY2s6Ly9jcVNwYUNvcmVDb21wb25lbnRzL3dlYnBhY2svYm9vdHN0cmFwIiwid2VicGFjazovL2NxU3BhQ29yZUNvbXBvbmVudHMvLi9zcmMvQWJzdHJhY3RDb3JlQ29udGFpbmVyQ29tcG9uZW50LnRzeCIsIndlYnBhY2s6Ly9jcVNwYUNvcmVDb21wb25lbnRzLy4vc3JjL2NvbnRhaW5lci9hY2NvcmRpb24vdjEvQWNjb3JkaW9uVjEudHN4Iiwid2VicGFjazovL2NxU3BhQ29yZUNvbXBvbmVudHMvLi9zcmMvY29udGFpbmVyL2FjY29yZGlvbi92MS9BY2NvcmRpb25WMUlzRW1wdHlGbi50cyIsIndlYnBhY2s6Ly9jcVNwYUNvcmVDb21wb25lbnRzL2V4dGVybmFsIFwiQGFkb2JlL2FlbS1yZWFjdC1lZGl0YWJsZS1jb21wb25lbnRzXCIiLCJ3ZWJwYWNrOi8vY3FTcGFDb3JlQ29tcG9uZW50cy9leHRlcm5hbCBcInJlYWN0XCIiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsQ0FBQztBQUNELE87UUNWQTtRQUNBOztRQUVBO1FBQ0E7O1FBRUE7UUFDQTtRQUNBO1FBQ0E7UUFDQTtRQUNBO1FBQ0E7UUFDQTtRQUNBO1FBQ0E7O1FBRUE7UUFDQTs7UUFFQTtRQUNBOztRQUVBO1FBQ0E7UUFDQTs7O1FBR0E7UUFDQTs7UUFFQTtRQUNBOztRQUVBO1FBQ0E7UUFDQTtRQUNBLDBDQUEwQyxnQ0FBZ0M7UUFDMUU7UUFDQTs7UUFFQTtRQUNBO1FBQ0E7UUFDQSx3REFBd0Qsa0JBQWtCO1FBQzFFO1FBQ0EsaURBQWlELGNBQWM7UUFDL0Q7O1FBRUE7UUFDQTtRQUNBO1FBQ0E7UUFDQTtRQUNBO1FBQ0E7UUFDQTtRQUNBO1FBQ0E7UUFDQTtRQUNBLHlD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c0NvbnRlbnQiOlsiKGZ1bmN0aW9uIHdlYnBhY2tVbml2ZXJzYWxNb2R1bGVEZWZpbml0aW9uKHJvb3QsIGZhY3RvcnkpIHtcblx0aWYodHlwZW9mIGV4cG9ydHMgPT09ICdvYmplY3QnICYmIHR5cGVvZiBtb2R1bGUgPT09ICdvYmplY3QnKVxuXHRcdG1vZHVsZS5leHBvcnRzID0gZmFjdG9yeSgpO1xuXHRlbHNlIGlmKHR5cGVvZiBkZWZpbmUgPT09ICdmdW5jdGlvbicgJiYgZGVmaW5lLmFtZClcblx0XHRkZWZpbmUoW10sIGZhY3RvcnkpO1xuXHRlbHNlIGlmKHR5cGVvZiBleHBvcnRzID09PSAnb2JqZWN0Jylcblx0XHRleHBvcnRzW1wiY3FTcGFDb3JlQ29tcG9uZW50c1wiXSA9IGZhY3RvcnkoKTtcblx0ZWxzZVxuXHRcdHJvb3RbXCJjcVNwYUNvcmVDb21wb25lbnRzXCJdID0gZmFjdG9yeSgpO1xufSkodHlwZW9mIHNlbGYgIT09ICd1bmRlZmluZWQnID8gc2VsZiA6IHRoaXMsIGZ1bmN0aW9uKCkge1xucmV0dXJuICIsIiBcdC8vIFRoZSBtb2R1bGUgY2FjaGVcbiBcdHZhciBpbnN0YWxsZWRNb2R1bGVzID0ge307XG5cbiBcdC8vIFRoZSByZXF1aXJlIGZ1bmN0aW9uXG4gXHRmdW5jdGlvbiBfX3dlYnBhY2tfcmVxdWlyZV9fKG1vZHVsZUlkKSB7XG5cbiBcdFx0Ly8gQ2hlY2sgaWYgbW9kdWxlIGlzIGluIGNhY2hlXG4gXHRcdGlmKGluc3RhbGxlZE1vZHVsZXNbbW9kdWxlSWRdKSB7XG4gXHRcdFx0cmV0dXJuIGluc3RhbGxlZE1vZHVsZXNbbW9kdWxlSWRdLmV4cG9ydHM7XG4gXHRcdH1cbiBcdFx0Ly8gQ3JlYXRlIGEgbmV3IG1vZHVsZSAoYW5kIHB1dCBpdCBpbnRvIHRoZSBjYWNoZSlcbiBcdFx0dmFyIG1vZHVsZSA9IGluc3RhbGxlZE1vZHVsZXNbbW9kdWxlSWRdID0ge1xuIFx0XHRcdGk6IG1vZHVsZUlkLFxuIFx0XHRcdGw6IGZhbHNlLFxuIFx0XHRcdGV4cG9ydHM6IHt9XG4gXHRcdH07XG5cbiBcdFx0Ly8gRXhlY3V0ZSB0aGUgbW9kdWxlIGZ1bmN0aW9uXG4gXHRcdG1vZHVsZXNbbW9kdWxlSWRdLmNhbGwobW9kdWxlLmV4cG9ydHMsIG1vZHVsZSwgbW9kdWxlLmV4cG9ydHMsIF9fd2VicGFja19yZXF1aXJlX18pO1xuXG4gXHRcdC8vIEZsYWcgdGhlIG1vZHVsZSBhcyBsb2FkZWRcbiBcdFx0bW9kdWxlLmwgPSB0cnVlO1xuXG4gXHRcdC8vIFJldHVybiB0aGUgZXhwb3J0cyBvZiB0aGUgbW9kdWxlXG4gXHRcdHJldHVybiBtb2R1bGUuZXhwb3J0cztcbiBcdH1cblxuXG4gXHQvLyBleHBvc2UgdGhlIG1vZHVsZXMgb2JqZWN0IChfX3dlYnBhY2tfbW9kdWxlc19fKVxuIFx0X193ZWJwYWNrX3JlcXVpcmVfXy5tID0gbW9kdWxlcztcblxuIFx0Ly8gZXhwb3NlIHRoZSBtb2R1bGUgY2FjaGVcbiBcdF9fd2VicGFja19yZXF1aXJlX18uYyA9IGluc3RhbGxlZE1vZHVsZXM7XG5cbiBcdC8vIGRlZmluZSBnZXR0ZXIgZnVuY3Rpb24gZm9yIGhhcm1vbnkgZXhwb3J0c1xuIFx0X193ZWJwYWNrX3JlcXVpcmVfXy5kID0gZnVuY3Rpb24oZXhwb3J0cywgbmFtZSwgZ2V0dGVyKSB7XG4gXHRcdGlmKCFfX3dlYnBhY2tfcmVxdWlyZV9fLm8oZXhwb3J0cywgbmFtZSkpIHtcbiBcdFx0XHRPYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgbmFtZSwgeyBlbnVtZXJhYmxlOiB0cnVlLCBnZXQ6IGdldHRlciB9KTtcbiBcdFx0fVxuIFx0fTtcblxuIFx0Ly8gZGVmaW5lIF9fZXNNb2R1bGUgb24gZXhwb3J0c1xuIFx0X193ZWJwYWNrX3JlcXVpcmVfXy5yID0gZnVuY3Rpb24oZXhwb3J0cykge1xuIFx0XHRpZih0eXBlb2YgU3ltYm9sICE9PSAndW5kZWZpbmVkJyAmJiBTeW1ib2wudG9TdHJpbmdUYWcpIHtcbiBcdFx0XHRPYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgU3ltYm9sLnRvU3RyaW5nVGFnLCB7IHZhbHVlOiAnTW9kdWxlJyB9KTtcbiBcdFx0fVxuIFx0XHRPYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgJ19fZXNNb2R1bGUnLCB7IHZhbHVlOiB0cnVlIH0pO1xuIFx0fTtcblxuIFx0Ly8gY3JlYXRlIGEgZmFrZSBuYW1lc3BhY2Ugb2JqZWN0XG4gXHQvLyBtb2RlICYgMTogdmFsdWUgaXMgYSBtb2R1bGUgaWQsIHJlcXVpcmUgaXRcbiBcdC8vIG1vZGUgJiAyOiBtZXJnZSBhbGwgcHJvcGVydGllcyBvZiB2YWx1ZSBpbnRvIHRoZSBuc1xuIFx0Ly8gbW9kZSAmIDQ6IHJldHVybiB2YWx1ZSB3aGVuIGFscmVhZHkgbnMgb2JqZWN0XG4gXHQvLyBtb2RlICYgOHwxOiBiZWhhdmUgbGlrZSByZXF1aXJlXG4gXHRfX3dlYnBhY2tfcmVxdWlyZV9fLnQgPSBmdW5jdGlvbih2YWx1ZSwgbW9kZSkge1xuIFx0XHRpZihtb2RlICYgMSkgdmFsdWUgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKHZhbHVlKTtcbiBcdFx0aWYobW9kZSAmIDgpIHJldHVybiB2YWx1ZTtcbiBcdFx0aWYoKG1vZGUgJiA0KSAmJiB0eXBlb2YgdmFsdWUgPT09ICdvYmplY3QnICYmIHZhbHVlICYmIHZhbHVlLl9fZXNNb2R1bGUpIHJldHVybiB2YWx1ZTtcbiBcdFx0dmFyIG5zID0gT2JqZWN0LmNyZWF0ZShudWxsKTtcbiBcdFx0X193ZWJwYWNrX3JlcXVpcmVfXy5yKG5zKTtcbiBcdFx0T2JqZWN0LmRlZmluZVByb3BlcnR5KG5zLCAnZGVmYXVsdCcsIHsgZW51bWVyYWJsZTogdHJ1ZSwgdmFsdWU6IHZhbHVlIH0pO1xuIFx0XHRpZihtb2RlICYgMiAmJiB0eXBlb2YgdmFsdWUgIT0gJ3N0cmluZycpIGZvcih2YXIga2V5IGluIHZhbHVlKSBfX3dlYnBhY2tfcmVxdWlyZV9fLmQobnMsIGtleSwgZnVuY3Rpb24oa2V5KSB7IHJldHVybiB2YWx1ZVtrZXldOyB9LmJpbmQobnVsbCwga2V5KSk7XG4gXHRcdHJldHVybiBucztcbiBcdH07XG5cbiBcdC8vIGdldERlZmF1bHRFeHBvcnQgZnVuY3Rpb24gZm9yIGNvbXBhdGliaWxpdHkgd2l0aCBub24taGFybW9ueSBtb2R1bGVzXG4gXHRfX3dlYnBhY2tfcmVxdWlyZV9fLm4gPSBmdW5jdGlvbihtb2R1bGUpIHtcbiBcdFx0dmFyIGdldHRlciA9IG1vZHVsZSAmJiBtb2R1bGUuX19lc01vZHVsZSA/XG4gXHRcdFx0ZnVuY3Rpb24gZ2V0RGVmYXVsdCgpIHsgcmV0dXJuIG1vZHVsZVsnZGVmYXVsdCddOyB9IDpcbiBcdFx0XHRmdW5jdGlvbiBnZXRNb2R1bGVFeHBvcnRzKCkgeyByZXR1cm4gbW9kdWxlOyB9O1xuIFx0XHRfX3dlYnBhY2tfcmVxdWlyZV9fLmQoZ2V0dGVyLCAnYScsIGdldHRlcik7XG4gXHRcdHJldHVybiBnZXR0ZXI7XG4gXHR9O1xuXG4gXHQvLyBPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGxcbiBcdF9fd2VicGFja19yZXF1aXJlX18ubyA9IGZ1bmN0aW9uKG9iamVjdCwgcHJvcGVydHkpIHsgcmV0dXJuIE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChvYmplY3QsIHByb3BlcnR5KTsgfTtcblxuIFx0Ly8gX193ZWJwYWNrX3B1YmxpY19wYXRoX19cbiBcdF9fd2VicGFja19yZXF1aXJlX18ucCA9IFwiXCI7XG5cblxuIFx0Ly8gTG9hZCBlbnRyeSBtb2R1bGUgYW5kIHJldHVybiBleHBvcnRzXG4gXHRyZXR1cm4gX193ZWJwYWNrX3JlcXVpcmVfXyhfX3dlYnBhY2tfcmVxdWlyZV9fLnMgPSAyKTtcbiIsIi8qXG4gKiAgQ29weXJpZ2h0IDIwMjAgQWRvYmVcbiAqXG4gKiAgTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlIFwiTGljZW5zZVwiKTtcbiAqICB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gKiAgWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4gKlxuICogICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcbiAqXG4gKiAgVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICogIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBCQVNJUyxcbiAqICBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAqICBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gKiAgbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gKi9cbmltcG9ydCAqIGFzIFJlYWN0IGZyb20gJ3JlYWN0JztcbmV4cG9ydCBjb25zdCB3aXRoU3RhbmRhcmRCYXNlQ3NzQ2xhc3MgPSAoQ29tcG9uZW50LCBkZWZhdWx0QmFzZUNzc0NsYXNzKSA9PiB7XG4gICAgcmV0dXJuIChwcm9wcykgPT4ge1xuICAgICAgICBjb25zdCBiYXNlQ3NzQ2xhc3MgPSBwcm9wcy5iYXNlQ3NzQ2xhc3M7XG4gICAgICAgIGNvbnN0IHRvQmVVc2VkQ3NzQ2xhc3MgPSBiYXNlQ3NzQ2xhc3MgJiYgYmFzZUNzc0NsYXNzLnRyaW0oKS5sZW5ndGggPiAwID8gYmFzZUNzc0NsYXNzIDogZGVmYXVsdEJhc2VDc3NDbGFzcztcbiAgICAgICAgY29uc3QgbWVyZ2VkUHJvcHMgPSB7XG4gICAgICAgICAgICAuLi5wcm9wcyxcbiAgICAgICAgICAgIGJhc2VDc3NDbGFzczogdG9CZVVzZWRDc3NDbGFzc1xuICAgICAgICB9O1xuICAgICAgICByZXR1cm4gUmVhY3QuY3JlYXRlRWxlbWVudChDb21wb25lbnQsIE9iamVjdC5hc3NpZ24oe30sIG1lcmdlZFByb3BzKSk7XG4gICAgfTtcbn07XG5leHBvcnQgY29uc3Qgd2l0aEF1dGhvclBhbmVsU3dpdGNoID0gKENvbXBvbmVudCkgPT4ge1xuICAgIHJldHVybiBjbGFzcyBleHRlbmRzIFJlYWN0LkNvbXBvbmVudCB7XG4gICAgICAgIGNvbnN0cnVjdG9yKHByb3BzKSB7XG4gICAgICAgICAgICBzdXBlcihwcm9wcyk7XG4gICAgICAgICAgICB0aGlzLnN0YXRlID0ge307XG4gICAgICAgICAgICAvL0B0cy1pZ25vcmVcbiAgICAgICAgICAgIGlmICh3aW5kb3cgJiYgd2luZG93LkdyYW5pdGUgJiYgd2luZG93LkdyYW5pdGUuYXV0aG9yICYmIHdpbmRvdy5HcmFuaXRlLmF1dGhvci5NZXNzYWdlQ2hhbm5lbCkge1xuICAgICAgICAgICAgICAgIC8vQHRzLWlnbm9yZVxuICAgICAgICAgICAgICAgIHRoaXMubWVzc2FnZUNoYW5uZWwgPSBuZXcgd2luZG93LkdyYW5pdGUuYXV0aG9yLk1lc3NhZ2VDaGFubmVsKFwiY3FhdXRob3JcIiwgd2luZG93KTtcbiAgICAgICAgICAgICAgICB0aGlzLmNhbGxiYWNrID0gdGhpcy5jYWxsYmFjay5iaW5kKHRoaXMpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIGNhbGxiYWNrKG1lc3NhZ2UpIHtcbiAgICAgICAgICAgIGlmIChtZXNzYWdlLmRhdGEgJiYgbWVzc2FnZS5kYXRhLmlkID09PSB0aGlzLnByb3BzLmNxUGF0aCkge1xuICAgICAgICAgICAgICAgIGlmIChtZXNzYWdlLmRhdGEub3BlcmF0aW9uID09PSBcIm5hdmlnYXRlXCIpIHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgaW5kZXggPSBtZXNzYWdlLmRhdGEuaW5kZXg7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuc2V0U3RhdGUoe1xuICAgICAgICAgICAgICAgICAgICAgICAgYWN0aXZlSW5kZXhGcm9tQXV0aG9yUGFuZWw6IGluZGV4XG4gICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBjb21wb25lbnREaWRNb3VudCgpIHtcbiAgICAgICAgICAgIGlmICh0aGlzLm1lc3NhZ2VDaGFubmVsKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5tZXNzYWdlQ2hhbm5lbC5zdWJzY3JpYmVSZXF1ZXN0TWVzc2FnZShcImNtcC5wYW5lbGNvbnRhaW5lclwiLCB0aGlzLmNhbGxiYWNrKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBjb21wb25lbnRXaWxsVW5tb3VudCgpIHtcbiAgICAgICAgICAgIGlmICh0aGlzLm1lc3NhZ2VDaGFubmVsKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5tZXNzYWdlQ2hhbm5lbC51bnN1YnNjcmliZVJlcXVlc3RNZXNzYWdlKFwiY21wLnBhbmVsY29udGFpbmVyXCIsIHRoaXMuY2FsbGJhY2spO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIHJlbmRlcigpIHtcbiAgICAgICAgICAgIHJldHVybiBSZWFjdC5jcmVhdGVFbGVtZW50KENvbXBvbmVudCwgT2JqZWN0LmFzc2lnbih7fSwgdGhpcy5wcm9wcywgeyBhY3RpdmVJbmRleEZyb21BdXRob3JQYW5lbDogdGhpcy5zdGF0ZS5hY3RpdmVJbmRleEZyb21BdXRob3JQYW5lbCB9KSk7XG4gICAgICAgIH1cbiAgICB9O1xufTtcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtiYXNlNjQsZXlKMlpYSnphVzl1SWpvekxDSm1hV3hsSWpvaVFXSnpkSEpoWTNSRGIzSmxRMjl1ZEdGcGJtVnlRMjl0Y0c5dVpXNTBMbXB6SWl3aWMyOTFjbU5sVW05dmRDSTZJaUlzSW5OdmRYSmpaWE1pT2xzaVFXSnpkSEpoWTNSRGIzSmxRMjl1ZEdGcGJtVnlRMjl0Y0c5dVpXNTBMblJ6ZUNKZExDSnVZVzFsY3lJNlcxMHNJbTFoY0hCcGJtZHpJam9pUVVGQlFUczdPenM3T3pzN096czdPenM3UjBGalJ6dEJRVVZJTEU5QlFVOHNTMEZCU3l4TFFVRkxMRTFCUVUwc1QwRkJUeXhEUVVGRE8wRkJkMEl2UWl4TlFVRk5MRU5CUVVNc1RVRkJUU3gzUWtGQmQwSXNSMEZCUnl4RFFVVndReXhUUVVFd1FpeEZRVU14UWl4dFFrRkJNRUlzUlVGRFNpeEZRVUZGTzBsQlEzaENMRTlCUVU4c1EwRkJReXhMUVVGUExFVkJRVVVzUlVGQlJUdFJRVVZtTEUxQlFVMHNXVUZCV1N4SFFVRkhMRXRCUVVzc1EwRkJReXhaUVVGWkxFTkJRVU03VVVGRGVFTXNUVUZCVFN4blFrRkJaMElzUjBGQlJ5eFpRVUZaTEVsQlFVa3NXVUZCV1N4RFFVRkRMRWxCUVVrc1JVRkJSU3hEUVVGRExFMUJRVTBzUjBGQlJ5eERRVUZETEVOQlFVTXNRMEZCUXl4RFFVRkRMRmxCUVZrc1EwRkJReXhEUVVGRExFTkJRVU1zYlVKQlFXMUNMRU5CUVVNN1VVRkZOMGNzVFVGQlRTeFhRVUZYTEVkQlFVczdXVUZEYkVJc1IwRkJSeXhMUVVGTE8xbEJRMUlzV1VGQldTeEZRVUZGTEdkQ1FVRm5RanRUUVVOcVF5eERRVUZETzFGQlJVWXNUMEZCVHl4dlFrRkJReXhUUVVGVExHOUNRVUZMTEZkQlFWY3NSVUZCU1N4RFFVRkRPMGxCUXpGRExFTkJRVU1zUTBGQlFUdEJRVU5NTEVOQlFVTXNRMEZCUXp0QlFVbEdMRTFCUVUwc1EwRkJReXhOUVVGTkxIRkNRVUZ4UWl4SFFVRkhMRU5CUTJwRExGTkJRVEJDTEVWQlEwd3NSVUZCUlR0SlFVVjJRaXhQUVVGUExFdEJRVTBzVTBGQlVTeExRVUZMTEVOQlFVTXNVMEZCYjBNN1VVRkxNMFFzV1VGQldTeExRVUZQTzFsQlEyWXNTMEZCU3l4RFFVRkRMRXRCUVVzc1EwRkJReXhEUVVGRE8xbEJRMklzU1VGQlNTeERRVUZETEV0QlFVc3NSMEZCUnl4RlFVRkZMRU5CUVVFN1dVRkZaaXhaUVVGWk8xbEJRMW9zU1VGQlNTeE5RVUZOTEVsQlFVa3NUVUZCVFN4RFFVRkRMRTlCUVU4c1NVRkJTU3hOUVVGTkxFTkJRVU1zVDBGQlR5eERRVUZETEUxQlFVMHNTVUZCU1N4TlFVRk5MRU5CUVVNc1QwRkJUeXhEUVVGRExFMUJRVTBzUTBGQlF5eGpRVUZqTEVWQlFVVTdaMEpCUXpOR0xGbEJRVms3WjBKQlExb3NTVUZCU1N4RFFVRkRMR05CUVdNc1IwRkJSeXhKUVVGSkxFMUJRVTBzUTBGQlF5eFBRVUZQTEVOQlFVTXNUVUZCVFN4RFFVRkRMR05CUVdNc1EwRkJReXhWUVVGVkxFVkJRVVVzVFVGQlRTeERRVUZETEVOQlFVTTdaMEpCUTI1R0xFbEJRVWtzUTBGQlF5eFJRVUZSTEVkQlFVY3NTVUZCU1N4RFFVRkRMRkZCUVZFc1EwRkJReXhKUVVGSkxFTkJRVU1zU1VGQlNTeERRVUZETEVOQlFVTTdZVUZETlVNN1VVRkRUQ3hEUVVGRE8xRkJSVVFzVVVGQlVTeERRVUZETEU5QlFWYzdXVUZEYUVJc1NVRkJTU3hQUVVGUExFTkJRVU1zU1VGQlNTeEpRVUZKTEU5QlFVOHNRMEZCUXl4SlFVRkpMRU5CUVVNc1JVRkJSU3hMUVVGTExFbEJRVWtzUTBGQlF5eExRVUZMTEVOQlFVTXNUVUZCVFN4RlFVRkZPMmRDUVVOMlJDeEpRVUZKTEU5QlFVOHNRMEZCUXl4SlFVRkpMRU5CUVVNc1UwRkJVeXhMUVVGTExGVkJRVlVzUlVGQlJUdHZRa0ZEZGtNc1RVRkJUU3hMUVVGTExFZEJRVWNzVDBGQlR5eERRVUZETEVsQlFVa3NRMEZCUXl4TFFVRmxMRU5CUVVNN2IwSkJRek5ETEVsQlFVa3NRMEZCUXl4UlFVRlJMRU5CUVVNN2QwSkJRMVlzTUVKQlFUQkNMRVZCUVVVc1MwRkJTenR4UWtGRGNFTXNRMEZCUXl4RFFVRkJPMmxDUVVOTU8yRkJRMG83VVVGRFRDeERRVUZETzFGQlJVUXNhVUpCUVdsQ08xbEJRMklzU1VGQlJ5eEpRVUZKTEVOQlFVTXNZMEZCWXl4RlFVRkRPMmRDUVVOdVFpeEpRVUZKTEVOQlFVTXNZMEZCWXl4RFFVRkRMSFZDUVVGMVFpeERRVUZETEc5Q1FVRnZRaXhGUVVGRkxFbEJRVWtzUTBGQlF5eFJRVUZSTEVOQlFVTXNRMEZCUXp0aFFVTndSanRSUVVOTUxFTkJRVU03VVVGRlJDeHZRa0ZCYjBJN1dVRkRhRUlzU1VGQlJ5eEpRVUZKTEVOQlFVTXNZMEZCWXl4RlFVRkRPMmRDUVVOdVFpeEpRVUZKTEVOQlFVTXNZMEZCWXl4RFFVRkRMSGxDUVVGNVFpeERRVUZETEc5Q1FVRnZRaXhGUVVGRkxFbEJRVWtzUTBGQlF5eFJRVUZSTEVOQlFVTXNRMEZCUXp0aFFVTjBSanRSUVVOTUxFTkJRVU03VVVGSFJDeE5RVUZOTzFsQlEwWXNUMEZCVHl4dlFrRkJReXhUUVVGVExHOUNRVUZMTEVsQlFVa3NRMEZCUXl4TFFVRkxMRWxCUVVVc01FSkJRVEJDTEVWQlFVVXNTVUZCU1N4RFFVRkRMRXRCUVVzc1EwRkJReXd3UWtGQk1FSXNTVUZCU1N4RFFVRkRPMUZCUXpWSExFTkJRVU03UzBGRFNpeERRVUZCTzBGQlJVd3NRMEZCUXl4RFFVRkRJbjA9IiwiLypcbiAqICBDb3B5cmlnaHQgMjAyMCBBZG9iZVxuICpcbiAqICBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgXCJMaWNlbnNlXCIpO1xuICogIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAqICBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcbiAqXG4gKiAgICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuICpcbiAqICBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gKiAgZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIEJBU0lTLFxuICogIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICogIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAqICBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAqL1xuaW1wb3J0ICogYXMgUmVhY3QgZnJvbSAncmVhY3QnO1xuaW1wb3J0IHsgd2l0aEF1dGhvclBhbmVsU3dpdGNoLCB3aXRoU3RhbmRhcmRCYXNlQ3NzQ2xhc3MgfSBmcm9tIFwiLi4vLi4vLi4vQWJzdHJhY3RDb3JlQ29udGFpbmVyQ29tcG9uZW50XCI7XG5pbXBvcnQgeyBDb21wb25lbnRNYXBwaW5nLCBDb250YWluZXIgfSBmcm9tICdAYWRvYmUvYWVtLXJlYWN0LWVkaXRhYmxlLWNvbXBvbmVudHMnO1xuaW1wb3J0IHsgQWNjb3JkaW9uVjFJc0VtcHR5Rm4gfSBmcm9tIFwiLi9BY2NvcmRpb25WMUlzRW1wdHlGblwiO1xuY2xhc3MgQWNjb3JkaW9uVjFJbXBsIGV4dGVuZHMgQ29udGFpbmVyIHtcbiAgICBjb25zdHJ1Y3Rvcihwcm9wcykge1xuICAgICAgICBzdXBlcihwcm9wcyk7XG4gICAgICAgIHRoaXMuc3RhdGUgPSB7XG4gICAgICAgICAgICBjb21wb25lbnRNYXBwaW5nOiB0aGlzLnByb3BzLmNvbXBvbmVudE1hcHBpbmcgfHwgQ29tcG9uZW50TWFwcGluZyxcbiAgICAgICAgICAgIGV4cGFuZGVkSXRlbXM6IHRoaXMucHJvcHMuZXhwYW5kZWRJdGVtc1xuICAgICAgICB9O1xuICAgICAgICB0aGlzLmhhbmRsZUFjY29yZGlvbk5hdkNsaWNrID0gdGhpcy5oYW5kbGVBY2NvcmRpb25OYXZDbGljay5iaW5kKHRoaXMpO1xuICAgIH1cbiAgICBjb21wb25lbnREaWRVcGRhdGUocHJldlByb3BzLCBwcmV2U3RhdGUpIHtcbiAgICAgICAgaWYgKHRoaXMucHJvcHMuYWN0aXZlSW5kZXhGcm9tQXV0aG9yUGFuZWwgIT09IHVuZGVmaW5lZCAmJiBwcmV2UHJvcHMuYWN0aXZlSW5kZXhGcm9tQXV0aG9yUGFuZWwgIT0gdGhpcy5wcm9wcy5hY3RpdmVJbmRleEZyb21BdXRob3JQYW5lbCkge1xuICAgICAgICAgICAgdGhpcy5zZXRTdGF0ZSh7IGV4cGFuZGVkSXRlbXM6IFt0aGlzLnByb3BzLmNxSXRlbXNPcmRlclt0aGlzLnByb3BzLmFjdGl2ZUluZGV4RnJvbUF1dGhvclBhbmVsXV0gfSk7XG4gICAgICAgIH1cbiAgICB9XG4gICAgaGFuZGxlQWNjb3JkaW9uTmF2Q2xpY2soaXRlbUtleSkge1xuICAgICAgICBjb25zdCBpc0FjdGl2ZSA9IHRoaXMuc3RhdGUuZXhwYW5kZWRJdGVtcy5pbmRleE9mKGl0ZW1LZXkpID4gLTE7XG4gICAgICAgIGNvbnN0IGlzU2luZ2xlRXhwYW5zaW9uID0gdGhpcy5wcm9wcy5zaW5nbGVFeHBhbnNpb247XG4gICAgICAgIGxldCBleHBhbmRlZEl0ZW1zID0gdGhpcy5zdGF0ZS5leHBhbmRlZEl0ZW1zO1xuICAgICAgICBpZiAoaXNTaW5nbGVFeHBhbnNpb24pIHtcbiAgICAgICAgICAgIGV4cGFuZGVkSXRlbXMgPSAoaXNBY3RpdmUpID8gW10gOiBbaXRlbUtleV07XG4gICAgICAgIH1cbiAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICBpZiAoaXNBY3RpdmUpIHtcbiAgICAgICAgICAgICAgICBjb25zdCBpbmRleCA9IHRoaXMuc3RhdGUuZXhwYW5kZWRJdGVtcy5pbmRleE9mKGl0ZW1LZXkpO1xuICAgICAgICAgICAgICAgIGV4cGFuZGVkSXRlbXMuc3BsaWNlKGluZGV4KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgICAgIGV4cGFuZGVkSXRlbXMucHVzaChpdGVtS2V5KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICB0aGlzLnNldFN0YXRlKHtcbiAgICAgICAgICAgIGV4cGFuZGVkSXRlbXM6IGV4cGFuZGVkSXRlbXNcbiAgICAgICAgfSk7XG4gICAgfVxuICAgIGlzSXRlbUV4cGFuZGVkKGtleSkge1xuICAgICAgICByZXR1cm4gdGhpcy5zdGF0ZS5leHBhbmRlZEl0ZW1zLmluZGV4T2Yoa2V5KSA+IC0xO1xuICAgIH1cbiAgICBnZXQgYWNjb3JkaW9uQ29udGFpbmVyUHJvcHMoKSB7XG4gICAgICAgIGNvbnN0IGF0dHJzID0gdGhpcy5jb250YWluZXJQcm9wcztcbiAgICAgICAgYXR0cnNbJ2NsYXNzTmFtZSddID0gYXR0cnMuY2xhc3NOYW1lICsgJyAnICsgdGhpcy5wcm9wcy5iYXNlQ3NzQ2xhc3M7XG4gICAgICAgIGF0dHJzWydkYXRhLWNtcC1pcyddID0gJ2FjY29yZGlvbic7XG4gICAgICAgIHJldHVybiBhdHRycztcbiAgICB9XG4gICAgZGlzcGxheUl0ZW0oa2V5LCBpc0V4cGFuZGVkKSB7XG4gICAgICAgIGNvbnN0IGluZGV4VG9TaG93ID0gdGhpcy5wcm9wcy5jcUl0ZW1zT3JkZXIuaW5kZXhPZihrZXkpO1xuICAgICAgICBpZiAodGhpcy5wcm9wcy5pc0luRWRpdG9yID09PSB0cnVlIHx8IGlzRXhwYW5kZWQpIHtcbiAgICAgICAgICAgIGNvbnN0IGNzc0NsYXNzID0gaXNFeHBhbmRlZCA/IGAke3RoaXMucHJvcHMuYmFzZUNzc0NsYXNzfV9fcGFuZWwgJHt0aGlzLnByb3BzLmJhc2VDc3NDbGFzc31fX3BhbmVsLS1leHBhbmRlZGAgOiBgJHt0aGlzLnByb3BzLmJhc2VDc3NDbGFzc31fX3BhbmVsICR7dGhpcy5wcm9wcy5iYXNlQ3NzQ2xhc3N9X19wYW5lbC0taGlkZGVuYDtcbiAgICAgICAgICAgIHJldHVybiAoUmVhY3QuY3JlYXRlRWxlbWVudChcImRpdlwiLCB7IGNsYXNzTmFtZTogY3NzQ2xhc3MsIHJvbGU6IFwicmVnaW9uXCIgfSwgdGhpcy5jaGlsZENvbXBvbmVudHNbaW5kZXhUb1Nob3ddKSk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuICAgIHJlbmRlckhlYWRpbmdCdXR0b24oa2V5LCBpdGVtLCBidXR0b25Dc3NDbGFzcykge1xuICAgICAgICByZXR1cm4gKFJlYWN0LmNyZWF0ZUVsZW1lbnQoXCJidXR0b25cIiwgeyBjbGFzc05hbWU6IGJ1dHRvbkNzc0NsYXNzLCBvbkNsaWNrOiAoKSA9PiB7IHRoaXMuaGFuZGxlQWNjb3JkaW9uTmF2Q2xpY2soa2V5KTsgfSB9LFxuICAgICAgICAgICAgUmVhY3QuY3JlYXRlRWxlbWVudChcInNwYW5cIiwgeyBjbGFzc05hbWU6IHRoaXMucHJvcHMuYmFzZUNzc0NsYXNzICsgJ19fdGl0bGUnIH0sIGl0ZW1bXCJjcTpwYW5lbFRpdGxlXCJdKSxcbiAgICAgICAgICAgIFJlYWN0LmNyZWF0ZUVsZW1lbnQoXCJzcGFuXCIsIHsgY2xhc3NOYW1lOiB0aGlzLnByb3BzLmJhc2VDc3NDbGFzcyArICdfX2ljb24nIH0pKSk7XG4gICAgfVxuICAgIGdldCBhY2NvcmRpb25Db250ZW50KCkge1xuICAgICAgICByZXR1cm4gKHRoaXMucHJvcHMuY3FJdGVtc09yZGVyLm1hcCgoa2V5LCBpbmRleCkgPT4ge1xuICAgICAgICAgICAgY29uc3QgaXRlbSA9IHRoaXMucHJvcHMuY3FJdGVtc1trZXldO1xuICAgICAgICAgICAgY29uc3QgaXNFeHBhbmRlZCA9IHRoaXMuaXNJdGVtRXhwYW5kZWQoa2V5KTtcbiAgICAgICAgICAgIGNvbnN0IGJ1dHRvbkNzc0NsYXNzID0gKGlzRXhwYW5kZWQpID8gYCR7dGhpcy5wcm9wcy5iYXNlQ3NzQ2xhc3N9X19idXR0b24gJHt0aGlzLnByb3BzLmJhc2VDc3NDbGFzc31fX2J1dHRvbi0tZXhwYW5kZWRgIDogYCR7dGhpcy5wcm9wcy5iYXNlQ3NzQ2xhc3N9X19idXR0b25gO1xuICAgICAgICAgICAgcmV0dXJuIChSZWFjdC5jcmVhdGVFbGVtZW50KFwiZGl2XCIsIHsga2V5OiBcImFjY29yZGlvbi1pbmRleFwiICsgaW5kZXgsIGNsYXNzTmFtZTogdGhpcy5wcm9wcy5iYXNlQ3NzQ2xhc3MgKyAnX19pdGVtJywgXCJkYXRhLWNtcC1pbmRleFwiOiBpbmRleCwgXCJkYXRhLWNtcC1leHBhbmRlZFwiOiBpc0V4cGFuZGVkIH0sXG4gICAgICAgICAgICAgICAgUmVhY3QuY3JlYXRlRWxlbWVudChgJHt0aGlzLnByb3BzLmhlYWRpbmdFbGVtZW50IHx8ICdoMyd9YCwge1xuICAgICAgICAgICAgICAgICAgICBjbGFzc05hbWU6IHRoaXMucHJvcHMuYmFzZUNzc0NsYXNzICsgJ19faGVhZGVyJyxcbiAgICAgICAgICAgICAgICB9LCB0aGlzLnJlbmRlckhlYWRpbmdCdXR0b24oa2V5LCBpdGVtLCBidXR0b25Dc3NDbGFzcykpLFxuICAgICAgICAgICAgICAgIHRoaXMuZGlzcGxheUl0ZW0oa2V5LCBpc0V4cGFuZGVkKSkpO1xuICAgICAgICB9KSk7XG4gICAgfVxuICAgIHJlbmRlcigpIHtcbiAgICAgICAgY29uc3QgaXNFbXB0eSA9IEFjY29yZGlvblYxSXNFbXB0eUZuKHRoaXMucHJvcHMpO1xuICAgICAgICByZXR1cm4gKFJlYWN0LmNyZWF0ZUVsZW1lbnQoXCJkaXZcIiwgT2JqZWN0LmFzc2lnbih7fSwgdGhpcy5hY2NvcmRpb25Db250YWluZXJQcm9wcyksXG4gICAgICAgICAgICAhaXNFbXB0eSAmJiB0aGlzLmFjY29yZGlvbkNvbnRlbnQsXG4gICAgICAgICAgICB0aGlzLnBsYWNlaG9sZGVyQ29tcG9uZW50KSk7XG4gICAgfVxufVxuZXhwb3J0IGRlZmF1bHQgd2l0aFN0YW5kYXJkQmFzZUNzc0NsYXNzKHdpdGhBdXRob3JQYW5lbFN3aXRjaChBY2NvcmRpb25WMUltcGwpLCBcImNtcC1hY2NvcmRpb25cIik7XG4vLyMgc291cmNlTWFwcGluZ1VSTD1kYXRhOmFwcGxpY2F0aW9uL2pzb247YmFzZTY0LGV5SjJaWEp6YVc5dUlqb3pMQ0ptYVd4bElqb2lRV05qYjNKa2FXOXVWakV1YW5NaUxDSnpiM1Z5WTJWU2IyOTBJam9pSWl3aWMyOTFjbU5sY3lJNld5SkJZMk52Y21ScGIyNVdNUzUwYzNnaVhTd2libUZ0WlhNaU9sdGRMQ0p0WVhCd2FXNW5jeUk2SWtGQlFVRTdPenM3T3pzN096czdPenM3TzBkQlkwYzdRVUZGU0N4UFFVRlBMRXRCUVVzc1MwRkJTeXhOUVVGTkxFOUJRVThzUTBGQlF6dEJRVWN2UWl4UFFVRlBMRVZCUVRoRExIRkNRVUZ4UWl4RlFVRkZMSGRDUVVGM1FpeEZRVUZETEUxQlFVMHNlVU5CUVhsRExFTkJRVU03UVVGRGNrb3NUMEZCVHl4RlFVRkRMR2RDUVVGblFpeEZRVUZGTEZOQlFWTXNSVUZCUXl4TlFVRk5MSE5EUVVGelF5eERRVUZETzBGQlEycEdMRTlCUVU4c1JVRkJReXh2UWtGQmIwSXNSVUZCUXl4TlFVRk5MSGRDUVVGM1FpeERRVUZETzBGQldUVkVMRTFCUVUwc1pVRkJaMElzVTBGQlVTeFRRVUZwUkR0SlFVVXpSU3haUVVGWkxFdEJRVEpDTzFGQlEyNURMRXRCUVVzc1EwRkJReXhMUVVGTExFTkJRVU1zUTBGQlF6dFJRVVZpTEVsQlFVa3NRMEZCUXl4TFFVRkxMRWRCUVVjN1dVRkRWQ3huUWtGQlowSXNSVUZCUlN4SlFVRkpMRU5CUVVNc1MwRkJTeXhEUVVGRExHZENRVUZuUWl4SlFVRkpMR2RDUVVGblFqdFpRVU5xUlN4aFFVRmhMRVZCUVVVc1NVRkJTU3hEUVVGRExFdEJRVXNzUTBGQlF5eGhRVUZoTzFOQlF6RkRMRU5CUVVNN1VVRkZSaXhKUVVGSkxFTkJRVU1zZFVKQlFYVkNMRWRCUVVjc1NVRkJTU3hEUVVGRExIVkNRVUYxUWl4RFFVRkRMRWxCUVVrc1EwRkJReXhKUVVGSkxFTkJRVU1zUTBGQlF6dEpRVU16UlN4RFFVRkRPMGxCUlVRc2EwSkJRV3RDTEVOQlFVTXNVMEZCTUVNc1JVRkJSU3hUUVVGeFF6dFJRVU5vUnl4SlFVRkhMRWxCUVVrc1EwRkJReXhMUVVGTExFTkJRVU1zTUVKQlFUQkNMRXRCUVVzc1UwRkJVeXhKUVVGSkxGTkJRVk1zUTBGQlF5d3dRa0ZCTUVJc1NVRkJTU3hKUVVGSkxFTkJRVU1zUzBGQlN5eERRVUZETERCQ1FVRXdRaXhGUVVGRE8xbEJRM0JKTEVsQlFVa3NRMEZCUXl4UlFVRlJMRU5CUVVNc1JVRkJSU3hoUVVGaExFVkJRVVVzUTBGQlF5eEpRVUZKTEVOQlFVTXNTMEZCU3l4RFFVRkRMRmxCUVZrc1EwRkJReXhKUVVGSkxFTkJRVU1zUzBGQlN5eERRVUZETERCQ1FVRXdRaXhEUVVGRExFTkJRVU1zUlVGQlJTeERRVUZGTEVOQlFVTTdVMEZEZGtjN1NVRkRUQ3hEUVVGRE8wbEJSVVFzZFVKQlFYVkNMRU5CUVVNc1QwRkJZenRSUVVWc1F5eE5RVUZOTEZGQlFWRXNSMEZCUnl4SlFVRkpMRU5CUVVNc1MwRkJTeXhEUVVGRExHRkJRV0VzUTBGQlF5eFBRVUZQTEVOQlFVTXNUMEZCVHl4RFFVRkRMRWRCUVVjc1EwRkJReXhEUVVGRExFTkJRVU03VVVGRGFFVXNUVUZCVFN4cFFrRkJhVUlzUjBGQlJ5eEpRVUZKTEVOQlFVTXNTMEZCU3l4RFFVRkRMR1ZCUVdVc1EwRkJRenRSUVVWeVJDeEpRVUZKTEdGQlFXRXNSMEZCUnl4SlFVRkpMRU5CUVVNc1MwRkJTeXhEUVVGRExHRkJRV0VzUTBGQlF6dFJRVU0zUXl4SlFVRkhMR2xDUVVGcFFpeEZRVUZETzFsQlEycENMR0ZCUVdFc1IwRkJSeXhEUVVGRExGRkJRVkVzUTBGQlF5eERRVUZETEVOQlFVTXNRMEZCUXl4RlFVRkZMRU5CUVVNc1EwRkJReXhEUVVGRExFTkJRVU1zVDBGQlR5eERRVUZETEVOQlFVTTdVMEZETDBNN1lVRkJTVHRaUVVORUxFbEJRVWNzVVVGQlVTeEZRVUZETzJkQ1FVTlNMRTFCUVUwc1MwRkJTeXhIUVVGSkxFbEJRVWtzUTBGQlF5eExRVUZMTEVOQlFVTXNZVUZCWVN4RFFVRkRMRTlCUVU4c1EwRkJReXhQUVVGUExFTkJRVU1zUTBGQlF6dG5Ra0ZEZWtRc1lVRkJZU3hEUVVGRExFMUJRVTBzUTBGQlJTeExRVUZMTEVOQlFVVXNRMEZCUXp0aFFVTnFRenRwUWtGQlNUdG5Ra0ZEUkN4aFFVRmhMRU5CUVVNc1NVRkJTU3hEUVVGRExFOUJRVThzUTBGQlF5eERRVUZETzJGQlF5OUNPMU5CUTBvN1VVRkRSQ3hKUVVGSkxFTkJRVU1zVVVGQlVTeERRVUZETzFsQlExWXNZVUZCWVN4RlFVRkZMR0ZCUVdFN1UwRkRMMElzUTBGQlF5eERRVUZETzBsQlExQXNRMEZCUXp0SlFVVkVMR05CUVdNc1EwRkJReXhIUVVGVk8xRkJRM0pDTEU5QlFVOHNTVUZCU1N4RFFVRkRMRXRCUVVzc1EwRkJReXhoUVVGaExFTkJRVU1zVDBGQlR5eERRVUZETEVkQlFVY3NRMEZCUXl4SFFVRkhMRU5CUVVNc1EwRkJReXhEUVVGRE8wbEJRM1JFTEVOQlFVTTdTVUZGUkN4SlFVRkpMSFZDUVVGMVFqdFJRVU4yUWl4TlFVRk5MRXRCUVVzc1IwRkJSeXhKUVVGSkxFTkJRVU1zWTBGQll5eERRVUZETzFGQlEyeERMRXRCUVVzc1EwRkJReXhYUVVGWExFTkJRVU1zUjBGQlJ5eExRVUZMTEVOQlFVTXNVMEZCVXl4SFFVRkhMRWRCUVVjc1IwRkJSeXhKUVVGSkxFTkJRVU1zUzBGQlN5eERRVUZETEZsQlFWa3NRMEZCUXp0UlFVTnlSU3hMUVVGTExFTkJRVU1zWVVGQllTeERRVUZETEVkQlFVY3NWMEZCVnl4RFFVRkRPMUZCUTI1RExFOUJRVThzUzBGQlN5eERRVUZETzBsQlEycENMRU5CUVVNN1NVRkhSQ3hYUVVGWExFTkJRVU1zUjBGQlZTeEZRVUZETEZWQlFXdENPMUZCUlhKRExFMUJRVTBzVjBGQlZ5eEhRVUZITEVsQlFVa3NRMEZCUXl4TFFVRkxMRU5CUVVNc1dVRkJXU3hEUVVGRExFOUJRVThzUTBGQlF5eEhRVUZITEVOQlFVTXNRMEZCUXp0UlFVVjZSQ3hKUVVGSExFbEJRVWtzUTBGQlF5eExRVUZMTEVOQlFVTXNWVUZCVlN4TFFVRkxMRWxCUVVrc1NVRkJTU3hWUVVGVkxFVkJRVU03V1VGRE5VTXNUVUZCVFN4UlFVRlJMRWRCUVVjc1ZVRkJWU3hEUVVGRExFTkJRVU1zUTBGQlF5eEhRVUZITEVsQlFVa3NRMEZCUXl4TFFVRkxMRU5CUVVNc1dVRkJXU3hYUVVGWExFbEJRVWtzUTBGQlF5eExRVUZMTEVOQlFVTXNXVUZCV1N4dFFrRkJiVUlzUTBGQlFTeERRVUZETEVOQlFVTXNSMEZCUnl4SlFVRkpMRU5CUVVNc1MwRkJTeXhEUVVGRExGbEJRVmtzVjBGQlZ5eEpRVUZKTEVOQlFVTXNTMEZCU3l4RFFVRkRMRmxCUVZrc2FVSkJRV2xDTEVOQlFVTTdXVUZGTjB3c1QwRkJUeXhEUVVOSUxEWkNRVUZMTEZOQlFWTXNSVUZCUlN4UlFVRlJMRVZCUTI1Q0xFbEJRVWtzUlVGQlF5eFJRVUZSTEVsQlEySXNTVUZCU1N4RFFVRkRMR1ZCUVdVc1EwRkJReXhYUVVGWExFTkJRVU1zUTBGRGFFTXNRMEZEVkN4RFFVRkJPMU5CUTBvN1VVRkZSQ3hQUVVGUExFbEJRVWtzUTBGQlF6dEpRVU5vUWl4RFFVRkRPMGxCUlVRc2JVSkJRVzFDTEVOQlFVTXNSMEZCVlN4RlFVRkZMRWxCUVZFc1JVRkJReXhqUVVGeFFqdFJRVU14UkN4UFFVRlBMRU5CUTBnc1owTkJRVkVzVTBGQlV5eEZRVUZGTEdOQlFXTXNSVUZCUlN4UFFVRlBMRVZCUVVVc1IwRkJSeXhGUVVGRkxFZEJRVWNzU1VGQlNTeERRVUZETEhWQ1FVRjFRaXhEUVVGRExFZEJRVWNzUTBGQlF5eERRVUZCTEVOQlFVTXNRMEZCUXp0WlFVTnVSaXc0UWtGQlRTeFRRVUZUTEVWQlFVVXNTVUZCU1N4RFFVRkRMRXRCUVVzc1EwRkJReXhaUVVGWkxFZEJRVWNzVTBGQlV5eEpRVUZITEVsQlFVa3NRMEZCUXl4bFFVRmxMRU5CUVVNc1EwRkJVVHRaUVVOd1JpdzRRa0ZCVFN4VFFVRlRMRVZCUVVVc1NVRkJTU3hEUVVGRExFdEJRVXNzUTBGQlF5eFpRVUZaTEVkQlFVY3NVVUZCVVN4SFFVRlRMRU5CUTNaRUxFTkJRMW9zUTBGQlFUdEpRVU5NTEVOQlFVTTdTVUZGUkN4SlFVRkpMR2RDUVVGblFqdFJRVU5vUWl4UFFVRlBMRU5CUlVnc1NVRkJTU3hEUVVGRExFdEJRVXNzUTBGQlF5eFpRVUZaTEVOQlFVTXNSMEZCUnl4RFFVRkRMRU5CUVVNc1IwRkJSeXhGUVVGRkxFdEJRVXNzUlVGQlJTeEZRVUZGTzFsQlEzWkRMRTFCUVUwc1NVRkJTU3hIUVVGSExFbEJRVWtzUTBGQlF5eExRVUZMTEVOQlFVTXNUMEZCVHl4RFFVRkRMRWRCUVVjc1EwRkJReXhEUVVGRE8xbEJRM0pETEUxQlFVMHNWVUZCVlN4SFFVRkhMRWxCUVVrc1EwRkJReXhqUVVGakxFTkJRVU1zUjBGQlJ5eERRVUZETEVOQlFVTTdXVUZETlVNc1RVRkJUU3hqUVVGakxFZEJRVWNzUTBGQlF5eFZRVUZWTEVOQlFVTXNRMEZCUXl4RFFVRkRMRU5CUVVNc1IwRkJSeXhKUVVGSkxFTkJRVU1zUzBGQlN5eERRVUZETEZsQlFWa3NXVUZCV1N4SlFVRkpMRU5CUVVNc1MwRkJTeXhEUVVGRExGbEJRVmtzYjBKQlFXOUNMRU5CUVVNc1EwRkJReXhEUVVGRExFZEJRVWNzU1VGQlNTeERRVUZETEV0QlFVc3NRMEZCUXl4WlFVRlpMRlZCUVZVc1EwRkJRenRaUVVNdlNpeFBRVUZQTEVOQlEwZ3NOa0pCUVVzc1IwRkJSeXhGUVVGRkxHbENRVUZwUWl4SFFVRkhMRXRCUVVzc1JVRkRMMElzVTBGQlV5eEZRVUZGTEVsQlFVa3NRMEZCUXl4TFFVRkxMRU5CUVVNc1dVRkJXU3hIUVVGSExGRkJRVkVzYjBKQlF6ZENMRXRCUVVzc2RVSkJRMFlzVlVGQlZUdG5Ra0ZGZWtJc1MwRkJTeXhEUVVGRExHRkJRV0VzUTBGRFppeEhRVUZITEVsQlFVa3NRMEZCUXl4TFFVRkxMRU5CUVVNc1kwRkJZeXhKUVVGSkxFbEJRVWtzUlVGQlJTeEZRVU4wUXp0dlFrRkRTU3hUUVVGVExFVkJRVVVzU1VGQlNTeERRVUZETEV0QlFVc3NRMEZCUXl4WlFVRlpMRWRCUVVjc1ZVRkJWVHRwUWtGRGJFUXNSVUZEUkN4SlFVRkpMRU5CUVVNc2JVSkJRVzFDTEVOQlFVTXNSMEZCUnl4RlFVRkRMRWxCUVVrc1JVRkJReXhqUVVGakxFTkJRVU1zUTBGRGNFUTdaMEpCUlVvc1NVRkJTU3hEUVVGRExGZEJRVmNzUTBGQlF5eEhRVUZITEVWQlFVVXNWVUZCVlN4RFFVRkRMRU5CUldoRExFTkJRMVFzUTBGQlFUdFJRVU5NTEVOQlFVTXNRMEZCUXl4RFFVTk1MRU5CUVVNN1NVRkRUaXhEUVVGRE8wbEJSVVFzVFVGQlRUdFJRVVZHTEUxQlFVMHNUMEZCVHl4SFFVRkhMRzlDUVVGdlFpeERRVUZETEVsQlFVa3NRMEZCUXl4TFFVRkxMRU5CUVVNc1EwRkJRenRSUVVWcVJDeFBRVUZQTEVOQlEwZ3NOa05CUVZNc1NVRkJTU3hEUVVGRExIVkNRVUYxUWp0WlFVTXZRaXhEUVVGRExFOUJRVThzU1VGQlNTeEpRVUZKTEVOQlFVTXNaMEpCUVdkQ08xbEJRMnBETEVsQlFVa3NRMEZCUXl4dlFrRkJiMElzUTBGRGVrSXNRMEZEVkN4RFFVRkJPMGxCUTB3c1EwRkJRenREUVVWS08wRkJSVVFzWlVGQlpTeDNRa0ZCZDBJc1EwRkJReXh4UWtGQmNVSXNRMEZCUXl4bFFVRmxMRU5CUVVNc1JVRkJSU3hsUVVGbExFTkJRVU1zUTBGQlF5SjkiLCIvKlxuICogIENvcHlyaWdodCAyMDIwIEFkb2JlXG4gKlxuICogIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSBcIkxpY2Vuc2VcIik7XG4gKiAgeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICogIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuICpcbiAqICAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG4gKlxuICogIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAqICBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgQkFTSVMsXG4gKiAgV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gKiAgU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICogIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuICovXG5leHBvcnQgZnVuY3Rpb24gQWNjb3JkaW9uVjFJc0VtcHR5Rm4ocHJvcHMpIHtcbiAgICByZXR1cm4gcHJvcHMuY3FJdGVtc09yZGVyID09IG51bGwgfHwgcHJvcHMuY3FJdGVtc09yZGVyLmxlbmd0aCA9PSAwO1xufVxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKbWFXeGxJam9pUVdOamIzSmthVzl1VmpGSmMwVnRjSFI1Um00dWFuTWlMQ0p6YjNWeVkyVlNiMjkwSWpvaUlpd2ljMjkxY21ObGN5STZXeUpCWTJOdmNtUnBiMjVXTVVselJXMXdkSGxHYmk1MGN5SmRMQ0p1WVcxbGN5STZXMTBzSW0xaGNIQnBibWR6SWpvaVFVRkJRVHM3T3pzN096czdPenM3T3pzN1IwRmpSenRCUVVsSUxFMUJRVTBzVlVGQlZTeHZRa0ZCYjBJc1EwRkJReXhMUVVFeVFqdEpRVU0xUkN4UFFVRlBMRXRCUVVzc1EwRkJReXhaUVVGWkxFbEJRVWtzU1VGQlNTeEpRVUZKTEV0QlFVc3NRMEZCUXl4WlFVRlpMRU5CUVVNc1RVRkJUU3hKUVVGSkxFTkJRVU1zUTBGQlF6dEJRVU40UlN4RFFVRkRJbjA9IiwibW9kdWxlLmV4cG9ydHMgPSByZXF1aXJlKFwiQGFkb2JlL2FlbS1yZWFjdC1lZGl0YWJsZS1jb21wb25lbnRzXCIpOyIsIm1vZHVsZS5leHBvcnRzID0gcmVxdWlyZShcInJlYWN0XCIpOyJdLCJzb3VyY2VSb290IjoiIn0= |
@@ -1,47 +0,29 @@ | ||
export function CarouselV1IsEmptyFn(props: any): boolean; | ||
export class CarouselV1 extends AbstractCoreContainerComponent { | ||
static defaultProps: { | ||
isInEditor: boolean; | ||
autoplay: boolean; | ||
cqItems: {}; | ||
cqItemsOrder: never[]; | ||
accessibilityLabel: string; | ||
accessibility: { | ||
play: string; | ||
pause: string; | ||
next: string; | ||
previous: string; | ||
slide: string; | ||
indicator: string; | ||
indicators: string; | ||
}; | ||
import React from 'react'; | ||
import { CoreContainerProperties, CoreContainerState, CoreContainerItem } from "../../../AbstractCoreContainerComponent"; | ||
export interface CarouselV1Properties extends CoreContainerProperties { | ||
autoplay: boolean; | ||
autopauseDisabled: boolean; | ||
accessibilityLabel: string; | ||
accessibility: CarouselV1AccessibilityProperties; | ||
delay: number; | ||
cqItems: { | ||
[key: string]: CoreContainerItem; | ||
}; | ||
constructor(props: any); | ||
interval: any; | ||
state: { | ||
activeIndex: number; | ||
isMouseEntered: boolean; | ||
autoPlay: any; | ||
componentMapping: any; | ||
}; | ||
handleIndicatorClick(index: any): void; | ||
handleOnButtonPrev(): void; | ||
handleOnButtonNext(): void; | ||
handleOnMouseEnter(): void; | ||
handleOnMouseLeave(): void; | ||
autoPlay(): void; | ||
autoPlayTick(): void; | ||
clearAutoPlay: () => void; | ||
toggleAutoPlay(toggle: any): void; | ||
nextSlide(): void; | ||
prevSlide(): void; | ||
__getActiveIndex(): number; | ||
__setSlide(index: any): void; | ||
render(): JSX.Element; | ||
displayItem(item: any, index: any): JSX.Element; | ||
renderCarousel(): JSX.Element; | ||
renderCarouselIndicators(): JSX.Element; | ||
renderCarouselActions(): JSX.Element; | ||
} | ||
import { AbstractCoreContainerComponent } from "../../../AbstractCoreContainerComponent"; | ||
export interface CarouselV1AccessibilityProperties { | ||
play: string; | ||
pause: string; | ||
next: string; | ||
previous: string; | ||
slide: string; | ||
indicator: string; | ||
indicators: string; | ||
} | ||
export interface CarouselV1State extends CoreContainerState { | ||
activeIndex: number; | ||
isMouseEntered: boolean; | ||
autoPlay: boolean; | ||
} | ||
declare const _default: React.ComponentType<CarouselV1Properties>; | ||
export default _default; | ||
//# sourceMappingURL=CarouselV1.d.ts.map |
@@ -1,16 +0,11 @@ | ||
export function ContainerV1IsEmptyFn(props: any): boolean; | ||
export class ContainerV1 { | ||
constructor(props: any); | ||
mainDiv: any; | ||
baseCssCls: string; | ||
state: { | ||
componentMapping: any; | ||
}; | ||
componentDidMount(): void; | ||
componentDidUpdate(): void; | ||
get coreContainerProps(): { | ||
className: string; | ||
}; | ||
render(): JSX.Element; | ||
import React from "react"; | ||
import { ResponsiveGridProperties } from '@adobe/aem-react-editable-components'; | ||
import { CoreContainerProperties } from '../../../AbstractCoreContainerComponent'; | ||
export interface ContainerV1Properties extends CoreContainerProperties, ResponsiveGridProperties { | ||
backgroundStyle: string; | ||
id: string; | ||
layout?: 'responsiveGrid' | 'simple'; | ||
} | ||
declare const _default: React.ComponentType<ContainerV1Properties>; | ||
export default _default; | ||
//# sourceMappingURL=ContainerV1.d.ts.map |
@@ -1,2 +0,297 @@ | ||
!function(t,e){"object"==typeof exports&&"object"==typeof module?module.exports=e():"function"==typeof define&&define.amd?define([],e):"object"==typeof exports?exports.cqSpaCoreComponents=e():t.cqSpaCoreComponents=e()}("undefined"!=typeof self?self:this,(function(){return function(t){var e={};function n(r){if(e[r])return e[r].exports;var o=e[r]={i:r,l:!1,exports:{}};return t[r].call(o.exports,o,o.exports,n),o.l=!0,o.exports}return n.m=t,n.c=e,n.d=function(t,e,r){n.o(t,e)||Object.defineProperty(t,e,{enumerable:!0,get:r})},n.r=function(t){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})},n.t=function(t,e){if(1&e&&(t=n(t)),8&e)return t;if(4&e&&"object"==typeof t&&t&&t.__esModule)return t;var r=Object.create(null);if(n.r(r),Object.defineProperty(r,"default",{enumerable:!0,value:t}),2&e&&"string"!=typeof t)for(var o in t)n.d(r,o,function(e){return t[e]}.bind(null,o));return r},n.n=function(t){var e=t&&t.__esModule?function(){return t.default}:function(){return t};return n.d(e,"a",e),e},n.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},n.p="",n(n.s=11)}([function(t,e){t.exports=require("react")},function(t,e){t.exports=require("@adobe/cq-react-editable-components")},,,,,function(t,e,n){"use strict";n.r(e),n.d(e,"ContainerV1IsEmptyFn",(function(){return b})),n.d(e,"ContainerV1",(function(){return m}));var r=n(0),o=n.n(r),i=n(1);function u(t){return(u="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}function c(){return(c=Object.assign||function(t){for(var e=1;e<arguments.length;e++){var n=arguments[e];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(t[r]=n[r])}return t}).apply(this,arguments)}function a(t,e){for(var n=0;n<e.length;n++){var r=e[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(t,r.key,r)}}function p(t,e){return(p=Object.setPrototypeOf||function(t,e){return t.__proto__=e,t})(t,e)}function s(t){var e=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],(function(){}))),!0}catch(t){return!1}}();return function(){var n,r=y(t);if(e){var o=y(this).constructor;n=Reflect.construct(r,arguments,o)}else n=r.apply(this,arguments);return f(this,n)}}function f(t,e){return!e||"object"!==u(e)&&"function"!=typeof e?l(t):e}function l(t){if(void 0===t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return t}function y(t){return(y=Object.setPrototypeOf?Object.getPrototypeOf:function(t){return t.__proto__||Object.getPrototypeOf(t)})(t)}function b(t){return null==t.cqItems||0===t.cqItems.length}var m=function(t){!function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),e&&p(t,e)}(f,t);var e,n,r,u=s(f);function f(t){var e,n,r,c;return function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,f),e=u.call(this,t),n=l(e),c=void 0,(r="mainDiv")in n?Object.defineProperty(n,r,{value:c,enumerable:!0,configurable:!0,writable:!0}):n[r]=c,e.baseCssCls="cmp-container",e.state={componentMapping:e.props.componentMapping||i.ComponentMapping},e.mainDiv=o.a.createRef(),e}return e=f,(n=[{key:"componentDidMount",value:function(){this.mainDiv.current&&this.mainDiv.current.setAttribute("style",this.props.backgroundStyle)}},{key:"componentDidUpdate",value:function(){this.mainDiv.current&&this.mainDiv.current.setAttribute("style",this.props.backgroundStyle)}},{key:"render",value:function(){return o.a.createElement("div",this.coreContainerProps,o.a.createElement("div",{ref:this.mainDiv,id:this.props.id,className:this.baseCssCls},this.props.layout&&"simple"===this.props.layout&&o.a.createElement(i.Container,c({componentMapping:this.state.componentMapping},this.props)),(!this.props.layout||"simple"!==this.props.layout)&&o.a.createElement(i.ResponsiveGrid,c({componentMapping:this.state.componentMapping},this.props))))}},{key:"coreContainerProps",get:function(){return{className:"container responsivegrid"}}}])&&a(e.prototype,n),r&&a(e,r),f}(i.Container)},,,,,function(t,e,n){t.exports=n(6)}])})); | ||
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9jcVNwYUNvcmVDb21wb25lbnRzL3dlYnBhY2svdW5pdmVyc2FsTW9kdWxlRGVmaW5pdGlvbiIsIndlYnBhY2s6Ly9jcVNwYUNvcmVDb21wb25lbnRzL3dlYnBhY2svYm9vdHN0cmFwIiwid2VicGFjazovL2NxU3BhQ29yZUNvbXBvbmVudHMvZXh0ZXJuYWwgXCJyZWFjdFwiIiwid2VicGFjazovL2NxU3BhQ29yZUNvbXBvbmVudHMvZXh0ZXJuYWwgXCJAYWRvYmUvY3EtcmVhY3QtZWRpdGFibGUtY29tcG9uZW50c1wiIiwid2VicGFjazovL2NxU3BhQ29yZUNvbXBvbmVudHMvLi9zcmMvY29udGFpbmVyL2NvbnRhaW5lci92MS9Db250YWluZXJWMS5qc3giXSwibmFtZXMiOlsicm9vdCIsImZhY3RvcnkiLCJleHBvcnRzIiwibW9kdWxlIiwiZGVmaW5lIiwiYW1kIiwic2VsZiIsInRoaXMiLCJpbnN0YWxsZWRNb2R1bGVzIiwiX193ZWJwYWNrX3JlcXVpcmVfXyIsIm1vZHVsZUlkIiwiaSIsImwiLCJtb2R1bGVzIiwiY2FsbCIsIm0iLCJjIiwiZCIsIm5hbWUiLCJnZXR0ZXIiLCJvIiwiT2JqZWN0IiwiZGVmaW5lUHJvcGVydHkiLCJlbnVtZXJhYmxlIiwiZ2V0IiwiciIsIlN5bWJvbCIsInRvU3RyaW5nVGFnIiwidmFsdWUiLCJ0IiwibW9kZSIsIl9fZXNNb2R1bGUiLCJucyIsImNyZWF0ZSIsImtleSIsImJpbmQiLCJuIiwib2JqZWN0IiwicHJvcGVydHkiLCJwcm90b3R5cGUiLCJoYXNPd25Qcm9wZXJ0eSIsInAiLCJzIiwicmVxdWlyZSIsIkNvbnRhaW5lclYxSXNFbXB0eUZuIiwicHJvcHMiLCJjcUl0ZW1zIiwibGVuZ3RoIiwiQ29udGFpbmVyVjEiLCJiYXNlQ3NzQ2xzIiwic3RhdGUiLCJjb21wb25lbnRNYXBwaW5nIiwiQ29tcG9uZW50TWFwcGluZyIsIm1haW5EaXYiLCJSZWFjdCIsImNyZWF0ZVJlZiIsImN1cnJlbnQiLCJzZXRBdHRyaWJ1dGUiLCJiYWNrZ3JvdW5kU3R5bGUiLCJjb3JlQ29udGFpbmVyUHJvcHMiLCJyZWYiLCJpZCIsImNsYXNzTmFtZSIsImxheW91dCIsIkNvbnRhaW5lciJdLCJtYXBwaW5ncyI6IkNBQUEsU0FBMkNBLEVBQU1DLEdBQzFCLGlCQUFaQyxTQUEwQyxpQkFBWEMsT0FDeENBLE9BQU9ELFFBQVVELElBQ1EsbUJBQVhHLFFBQXlCQSxPQUFPQyxJQUM5Q0QsT0FBTyxHQUFJSCxHQUNlLGlCQUFaQyxRQUNkQSxRQUE2QixvQkFBSUQsSUFFakNELEVBQTBCLG9CQUFJQyxJQVJoQyxDQVNtQixvQkFBVEssS0FBdUJBLEtBQU9DLE1BQU0sV0FDOUMsTyxZQ1RFLElBQUlDLEVBQW1CLEdBR3ZCLFNBQVNDLEVBQW9CQyxHQUc1QixHQUFHRixFQUFpQkUsR0FDbkIsT0FBT0YsRUFBaUJFLEdBQVVSLFFBR25DLElBQUlDLEVBQVNLLEVBQWlCRSxHQUFZLENBQ3pDQyxFQUFHRCxFQUNIRSxHQUFHLEVBQ0hWLFFBQVMsSUFVVixPQU5BVyxFQUFRSCxHQUFVSSxLQUFLWCxFQUFPRCxRQUFTQyxFQUFRQSxFQUFPRCxRQUFTTyxHQUcvRE4sRUFBT1MsR0FBSSxFQUdKVCxFQUFPRCxRQTBEZixPQXJEQU8sRUFBb0JNLEVBQUlGLEVBR3hCSixFQUFvQk8sRUFBSVIsRUFHeEJDLEVBQW9CUSxFQUFJLFNBQVNmLEVBQVNnQixFQUFNQyxHQUMzQ1YsRUFBb0JXLEVBQUVsQixFQUFTZ0IsSUFDbENHLE9BQU9DLGVBQWVwQixFQUFTZ0IsRUFBTSxDQUFFSyxZQUFZLEVBQU1DLElBQUtMLEtBS2hFVixFQUFvQmdCLEVBQUksU0FBU3ZCLEdBQ1gsb0JBQVh3QixRQUEwQkEsT0FBT0MsYUFDMUNOLE9BQU9DLGVBQWVwQixFQUFTd0IsT0FBT0MsWUFBYSxDQUFFQyxNQUFPLFdBRTdEUCxPQUFPQyxlQUFlcEIsRUFBUyxhQUFjLENBQUUwQixPQUFPLEtBUXZEbkIsRUFBb0JvQixFQUFJLFNBQVNELEVBQU9FLEdBRXZDLEdBRFUsRUFBUEEsSUFBVUYsRUFBUW5CLEVBQW9CbUIsSUFDL0IsRUFBUEUsRUFBVSxPQUFPRixFQUNwQixHQUFXLEVBQVBFLEdBQThCLGlCQUFWRixHQUFzQkEsR0FBU0EsRUFBTUcsV0FBWSxPQUFPSCxFQUNoRixJQUFJSSxFQUFLWCxPQUFPWSxPQUFPLE1BR3ZCLEdBRkF4QixFQUFvQmdCLEVBQUVPLEdBQ3RCWCxPQUFPQyxlQUFlVSxFQUFJLFVBQVcsQ0FBRVQsWUFBWSxFQUFNSyxNQUFPQSxJQUN0RCxFQUFQRSxHQUE0QixpQkFBVEYsRUFBbUIsSUFBSSxJQUFJTSxLQUFPTixFQUFPbkIsRUFBb0JRLEVBQUVlLEVBQUlFLEVBQUssU0FBU0EsR0FBTyxPQUFPTixFQUFNTSxJQUFRQyxLQUFLLEtBQU1ELElBQzlJLE9BQU9GLEdBSVJ2QixFQUFvQjJCLEVBQUksU0FBU2pDLEdBQ2hDLElBQUlnQixFQUFTaEIsR0FBVUEsRUFBTzRCLFdBQzdCLFdBQXdCLE9BQU81QixFQUFnQixTQUMvQyxXQUE4QixPQUFPQSxHQUV0QyxPQURBTSxFQUFvQlEsRUFBRUUsRUFBUSxJQUFLQSxHQUM1QkEsR0FJUlYsRUFBb0JXLEVBQUksU0FBU2lCLEVBQVFDLEdBQVksT0FBT2pCLE9BQU9rQixVQUFVQyxlQUFlMUIsS0FBS3VCLEVBQVFDLElBR3pHN0IsRUFBb0JnQyxFQUFJLEdBSWpCaEMsRUFBb0JBLEVBQW9CaUMsRUFBSSxJLGdCQ2xGckR2QyxFQUFPRCxRQUFVeUMsUUFBUSxVLGNDQXpCeEMsRUFBT0QsUUFBVXlDLFFBQVEsd0MsK2pEQ21CbEIsU0FBU0MsRUFBcUJDLEdBQ2pDLE9BQXdCLE1BQWpCQSxFQUFNQyxTQUE0QyxJQUF6QkQsRUFBTUMsUUFBUUMsT0FHM0MsSUFBTUMsRUFBYixhLGtPQUFBLFUsTUFBQSxPQUlJLFdBQVlILEdBQU8sTSxNQUFBLE8sNEZBQUEsU0FDZixjQUFNQSxHLEVBRFMsSyxPQUFBLEcsRUFBQSxhLHdGQUVmLEVBQUtJLFdBQWEsZ0JBQ2xCLEVBQUtDLE1BQVEsQ0FDVEMsaUJBQWtCLEVBQUtOLE1BQU1NLGtCQUFvQkMsb0JBRXJELEVBQUtDLFFBQVVDLElBQU1DLFlBTk4sRUFKdkIsTyxFQUFBLEcsRUFBQSwyQ0FjWWhELEtBQUs4QyxRQUFRRyxTQUNiakQsS0FBSzhDLFFBQVFHLFFBQVFDLGFBQWEsUUFBU2xELEtBQUtzQyxNQUFNYSxtQkFmbEUsMkNBcUJZbkQsS0FBSzhDLFFBQVFHLFNBQ2JqRCxLQUFLOEMsUUFBUUcsUUFBUUMsYUFBYSxRQUFTbEQsS0FBS3NDLE1BQU1hLG1CQXRCbEUsK0JBa0NRLE9BQ0ksd0JBQVNuRCxLQUFLb0QsbUJBQ1YseUJBQUtDLElBQUtyRCxLQUFLOEMsUUFDVlEsR0FBSXRELEtBQUtzQyxNQUFNZ0IsR0FDZkMsVUFBV3ZELEtBQUswQyxZQUVmMUMsS0FBS3NDLE1BQU1rQixRQUFnQyxXQUF0QnhELEtBQUtzQyxNQUFNa0IsUUFDeEIsa0JBQUMsWUFBRCxHQUFXWixpQkFBa0I1QyxLQUFLMkMsTUFBTUMsa0JBQXNCNUMsS0FBS3NDLFVBRTFFdEMsS0FBS3NDLE1BQU1rQixRQUFnQyxXQUF0QnhELEtBQUtzQyxNQUFNa0IsU0FDekIsa0JBQUMsaUJBQUQsR0FBZ0JaLGlCQUFrQjVDLEtBQUsyQyxNQUFNQyxrQkFBc0I1QyxLQUFLc0MsWUE1Q3RHLHlDQTJCUSxNQUFPLENBQ0hpQixVQUFXLGlDLDJCQTVCdkIsR0FBaUNFLGMiLCJmaWxlIjoiY29udGFpbmVyL2NvbnRhaW5lci92MS9Db250YWluZXJWMS5qcyIsInNvdXJjZXNDb250ZW50IjpbIihmdW5jdGlvbiB3ZWJwYWNrVW5pdmVyc2FsTW9kdWxlRGVmaW5pdGlvbihyb290LCBmYWN0b3J5KSB7XG5cdGlmKHR5cGVvZiBleHBvcnRzID09PSAnb2JqZWN0JyAmJiB0eXBlb2YgbW9kdWxlID09PSAnb2JqZWN0Jylcblx0XHRtb2R1bGUuZXhwb3J0cyA9IGZhY3RvcnkoKTtcblx0ZWxzZSBpZih0eXBlb2YgZGVmaW5lID09PSAnZnVuY3Rpb24nICYmIGRlZmluZS5hbWQpXG5cdFx0ZGVmaW5lKFtdLCBmYWN0b3J5KTtcblx0ZWxzZSBpZih0eXBlb2YgZXhwb3J0cyA9PT0gJ29iamVjdCcpXG5cdFx0ZXhwb3J0c1tcImNxU3BhQ29yZUNvbXBvbmVudHNcIl0gPSBmYWN0b3J5KCk7XG5cdGVsc2Vcblx0XHRyb290W1wiY3FTcGFDb3JlQ29tcG9uZW50c1wiXSA9IGZhY3RvcnkoKTtcbn0pKHR5cGVvZiBzZWxmICE9PSAndW5kZWZpbmVkJyA/IHNlbGYgOiB0aGlzLCBmdW5jdGlvbigpIHtcbnJldHVybiAiLCIgXHQvLyBUaGUgbW9kdWxlIGNhY2hlXG4gXHR2YXIgaW5zdGFsbGVkTW9kdWxlcyA9IHt9O1xuXG4gXHQvLyBUaGUgcmVxdWlyZSBmdW5jdGlvblxuIFx0ZnVuY3Rpb24gX193ZWJwYWNrX3JlcXVpcmVfXyhtb2R1bGVJZCkge1xuXG4gXHRcdC8vIENoZWNrIGlmIG1vZHVsZSBpcyBpbiBjYWNoZVxuIFx0XHRpZihpbnN0YWxsZWRNb2R1bGVzW21vZHVsZUlkXSkge1xuIFx0XHRcdHJldHVybiBpbnN0YWxsZWRNb2R1bGVzW21vZHVsZUlkXS5leHBvcnRzO1xuIFx0XHR9XG4gXHRcdC8vIENyZWF0ZSBhIG5ldyBtb2R1bGUgKGFuZCBwdXQgaXQgaW50byB0aGUgY2FjaGUpXG4gXHRcdHZhciBtb2R1bGUgPSBpbnN0YWxsZWRNb2R1bGVzW21vZHVsZUlkXSA9IHtcbiBcdFx0XHRpOiBtb2R1bGVJZCxcbiBcdFx0XHRsOiBmYWxzZSxcbiBcdFx0XHRleHBvcnRzOiB7fVxuIFx0XHR9O1xuXG4gXHRcdC8vIEV4ZWN1dGUgdGhlIG1vZHVsZSBmdW5jdGlvblxuIFx0XHRtb2R1bGVzW21vZHVsZUlkXS5jYWxsKG1vZHVsZS5leHBvcnRzLCBtb2R1bGUsIG1vZHVsZS5leHBvcnRzLCBfX3dlYnBhY2tfcmVxdWlyZV9fKTtcblxuIFx0XHQvLyBGbGFnIHRoZSBtb2R1bGUgYXMgbG9hZGVkXG4gXHRcdG1vZHVsZS5sID0gdHJ1ZTtcblxuIFx0XHQvLyBSZXR1cm4gdGhlIGV4cG9ydHMgb2YgdGhlIG1vZHVsZVxuIFx0XHRyZXR1cm4gbW9kdWxlLmV4cG9ydHM7XG4gXHR9XG5cblxuIFx0Ly8gZXhwb3NlIHRoZSBtb2R1bGVzIG9iamVjdCAoX193ZWJwYWNrX21vZHVsZXNfXylcbiBcdF9fd2VicGFja19yZXF1aXJlX18ubSA9IG1vZHVsZXM7XG5cbiBcdC8vIGV4cG9zZSB0aGUgbW9kdWxlIGNhY2hlXG4gXHRfX3dlYnBhY2tfcmVxdWlyZV9fLmMgPSBpbnN0YWxsZWRNb2R1bGVzO1xuXG4gXHQvLyBkZWZpbmUgZ2V0dGVyIGZ1bmN0aW9uIGZvciBoYXJtb255IGV4cG9ydHNcbiBcdF9fd2VicGFja19yZXF1aXJlX18uZCA9IGZ1bmN0aW9uKGV4cG9ydHMsIG5hbWUsIGdldHRlcikge1xuIFx0XHRpZighX193ZWJwYWNrX3JlcXVpcmVfXy5vKGV4cG9ydHMsIG5hbWUpKSB7XG4gXHRcdFx0T2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIG5hbWUsIHsgZW51bWVyYWJsZTogdHJ1ZSwgZ2V0OiBnZXR0ZXIgfSk7XG4gXHRcdH1cbiBcdH07XG5cbiBcdC8vIGRlZmluZSBfX2VzTW9kdWxlIG9uIGV4cG9ydHNcbiBcdF9fd2VicGFja19yZXF1aXJlX18uciA9IGZ1bmN0aW9uKGV4cG9ydHMpIHtcbiBcdFx0aWYodHlwZW9mIFN5bWJvbCAhPT0gJ3VuZGVmaW5lZCcgJiYgU3ltYm9sLnRvU3RyaW5nVGFnKSB7XG4gXHRcdFx0T2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFN5bWJvbC50b1N0cmluZ1RhZywgeyB2YWx1ZTogJ01vZHVsZScgfSk7XG4gXHRcdH1cbiBcdFx0T2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsICdfX2VzTW9kdWxlJywgeyB2YWx1ZTogdHJ1ZSB9KTtcbiBcdH07XG5cbiBcdC8vIGNyZWF0ZSBhIGZha2UgbmFtZXNwYWNlIG9iamVjdFxuIFx0Ly8gbW9kZSAmIDE6IHZhbHVlIGlzIGEgbW9kdWxlIGlkLCByZXF1aXJlIGl0XG4gXHQvLyBtb2RlICYgMjogbWVyZ2UgYWxsIHByb3BlcnRpZXMgb2YgdmFsdWUgaW50byB0aGUgbnNcbiBcdC8vIG1vZGUgJiA0OiByZXR1cm4gdmFsdWUgd2hlbiBhbHJlYWR5IG5zIG9iamVjdFxuIFx0Ly8gbW9kZSAmIDh8MTogYmVoYXZlIGxpa2UgcmVxdWlyZVxuIFx0X193ZWJwYWNrX3JlcXVpcmVfXy50ID0gZnVuY3Rpb24odmFsdWUsIG1vZGUpIHtcbiBcdFx0aWYobW9kZSAmIDEpIHZhbHVlID0gX193ZWJwYWNrX3JlcXVpcmVfXyh2YWx1ZSk7XG4gXHRcdGlmKG1vZGUgJiA4KSByZXR1cm4gdmFsdWU7XG4gXHRcdGlmKChtb2RlICYgNCkgJiYgdHlwZW9mIHZhbHVlID09PSAnb2JqZWN0JyAmJiB2YWx1ZSAmJiB2YWx1ZS5fX2VzTW9kdWxlKSByZXR1cm4gdmFsdWU7XG4gXHRcdHZhciBucyA9IE9iamVjdC5jcmVhdGUobnVsbCk7XG4gXHRcdF9fd2VicGFja19yZXF1aXJlX18ucihucyk7XG4gXHRcdE9iamVjdC5kZWZpbmVQcm9wZXJ0eShucywgJ2RlZmF1bHQnLCB7IGVudW1lcmFibGU6IHRydWUsIHZhbHVlOiB2YWx1ZSB9KTtcbiBcdFx0aWYobW9kZSAmIDIgJiYgdHlwZW9mIHZhbHVlICE9ICdzdHJpbmcnKSBmb3IodmFyIGtleSBpbiB2YWx1ZSkgX193ZWJwYWNrX3JlcXVpcmVfXy5kKG5zLCBrZXksIGZ1bmN0aW9uKGtleSkgeyByZXR1cm4gdmFsdWVba2V5XTsgfS5iaW5kKG51bGwsIGtleSkpO1xuIFx0XHRyZXR1cm4gbnM7XG4gXHR9O1xuXG4gXHQvLyBnZXREZWZhdWx0RXhwb3J0IGZ1bmN0aW9uIGZvciBjb21wYXRpYmlsaXR5IHdpdGggbm9uLWhhcm1vbnkgbW9kdWxlc1xuIFx0X193ZWJwYWNrX3JlcXVpcmVfXy5uID0gZnVuY3Rpb24obW9kdWxlKSB7XG4gXHRcdHZhciBnZXR0ZXIgPSBtb2R1bGUgJiYgbW9kdWxlLl9fZXNNb2R1bGUgP1xuIFx0XHRcdGZ1bmN0aW9uIGdldERlZmF1bHQoKSB7IHJldHVybiBtb2R1bGVbJ2RlZmF1bHQnXTsgfSA6XG4gXHRcdFx0ZnVuY3Rpb24gZ2V0TW9kdWxlRXhwb3J0cygpIHsgcmV0dXJuIG1vZHVsZTsgfTtcbiBcdFx0X193ZWJwYWNrX3JlcXVpcmVfXy5kKGdldHRlciwgJ2EnLCBnZXR0ZXIpO1xuIFx0XHRyZXR1cm4gZ2V0dGVyO1xuIFx0fTtcblxuIFx0Ly8gT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsXG4gXHRfX3dlYnBhY2tfcmVxdWlyZV9fLm8gPSBmdW5jdGlvbihvYmplY3QsIHByb3BlcnR5KSB7IHJldHVybiBPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwob2JqZWN0LCBwcm9wZXJ0eSk7IH07XG5cbiBcdC8vIF9fd2VicGFja19wdWJsaWNfcGF0aF9fXG4gXHRfX3dlYnBhY2tfcmVxdWlyZV9fLnAgPSBcIlwiO1xuXG5cbiBcdC8vIExvYWQgZW50cnkgbW9kdWxlIGFuZCByZXR1cm4gZXhwb3J0c1xuIFx0cmV0dXJuIF9fd2VicGFja19yZXF1aXJlX18oX193ZWJwYWNrX3JlcXVpcmVfXy5zID0gMTEpO1xuIiwibW9kdWxlLmV4cG9ydHMgPSByZXF1aXJlKFwicmVhY3RcIik7IiwibW9kdWxlLmV4cG9ydHMgPSByZXF1aXJlKFwiQGFkb2JlL2NxLXJlYWN0LWVkaXRhYmxlLWNvbXBvbmVudHNcIik7IiwiLypcbiAqICBDb3B5cmlnaHQgMjAyMCBBZG9iZVxuICpcbiAqICBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgXCJMaWNlbnNlXCIpO1xuICogIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAqICBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcbiAqXG4gKiAgICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuICpcbiAqICBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gKiAgZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIEJBU0lTLFxuICogIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICogIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAqICBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAqL1xuXG5pbXBvcnQgUmVhY3QgZnJvbSBcInJlYWN0XCI7XG5pbXBvcnQge0NvbnRhaW5lciwgUmVzcG9uc2l2ZUdyaWQsIENvbXBvbmVudE1hcHBpbmd9IGZyb20gJ0BhZG9iZS9jcS1yZWFjdC1lZGl0YWJsZS1jb21wb25lbnRzJztcblxuZXhwb3J0IGZ1bmN0aW9uIENvbnRhaW5lclYxSXNFbXB0eUZuKHByb3BzKSB7XG4gICAgcmV0dXJuIHByb3BzLmNxSXRlbXMgPT0gbnVsbCB8fCBwcm9wcy5jcUl0ZW1zLmxlbmd0aCA9PT0gMDtcbn1cblxuZXhwb3J0IGNsYXNzIENvbnRhaW5lclYxIGV4dGVuZHMgQ29udGFpbmVyIHtcblxuICAgIG1haW5EaXY7XG5cbiAgICBjb25zdHJ1Y3Rvcihwcm9wcykge1xuICAgICAgICBzdXBlcihwcm9wcyk7XG4gICAgICAgIHRoaXMuYmFzZUNzc0NscyA9ICdjbXAtY29udGFpbmVyJztcbiAgICAgICAgdGhpcy5zdGF0ZSA9IHtcbiAgICAgICAgICAgIGNvbXBvbmVudE1hcHBpbmc6IHRoaXMucHJvcHMuY29tcG9uZW50TWFwcGluZyB8fCBDb21wb25lbnRNYXBwaW5nLFxuICAgICAgICB9O1xuICAgICAgICB0aGlzLm1haW5EaXYgPSBSZWFjdC5jcmVhdGVSZWYoKTtcbiAgICB9XG5cbiAgICBjb21wb25lbnREaWRNb3VudCgpIHtcbiAgICAgICAgaWYgKHRoaXMubWFpbkRpdi5jdXJyZW50KSB7XG4gICAgICAgICAgICB0aGlzLm1haW5EaXYuY3VycmVudC5zZXRBdHRyaWJ1dGUoJ3N0eWxlJywgdGhpcy5wcm9wcy5iYWNrZ3JvdW5kU3R5bGUpO1xuICAgICAgICB9XG5cbiAgICB9XG5cbiAgICBjb21wb25lbnREaWRVcGRhdGUoKSB7XG4gICAgICAgIGlmICh0aGlzLm1haW5EaXYuY3VycmVudCkge1xuICAgICAgICAgICAgdGhpcy5tYWluRGl2LmN1cnJlbnQuc2V0QXR0cmlidXRlKCdzdHlsZScsIHRoaXMucHJvcHMuYmFja2dyb3VuZFN0eWxlKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGdldCBjb3JlQ29udGFpbmVyUHJvcHMoKSB7XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICBjbGFzc05hbWU6ICdjb250YWluZXIgcmVzcG9uc2l2ZWdyaWQnXG4gICAgICAgIH07XG4gICAgfVxuXG5cbiAgICByZW5kZXIoKSB7XG4gICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICA8ZGl2IHsuLi50aGlzLmNvcmVDb250YWluZXJQcm9wc30+XG4gICAgICAgICAgICAgICAgPGRpdiByZWY9e3RoaXMubWFpbkRpdn1cbiAgICAgICAgICAgICAgICAgICAgIGlkPXt0aGlzLnByb3BzLmlkfVxuICAgICAgICAgICAgICAgICAgICAgY2xhc3NOYW1lPXt0aGlzLmJhc2VDc3NDbHN9PlxuXG4gICAgICAgICAgICAgICAgICAgIHsodGhpcy5wcm9wcy5sYXlvdXQgJiYgdGhpcy5wcm9wcy5sYXlvdXQgPT09ICdzaW1wbGUnKSAgJiZcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxDb250YWluZXIgY29tcG9uZW50TWFwcGluZz17dGhpcy5zdGF0ZS5jb21wb25lbnRNYXBwaW5nfSB7Li4udGhpcy5wcm9wc30gLz59XG5cbiAgICAgICAgICAgICAgICAgICAgeyghdGhpcy5wcm9wcy5sYXlvdXQgfHwgdGhpcy5wcm9wcy5sYXlvdXQgIT09ICdzaW1wbGUnKSAmJlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPFJlc3BvbnNpdmVHcmlkIGNvbXBvbmVudE1hcHBpbmc9e3RoaXMuc3RhdGUuY29tcG9uZW50TWFwcGluZ30gey4uLnRoaXMucHJvcHN9IC8+fVxuXG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgKVxuICAgIH1cblxufSJdLCJzb3VyY2VSb290IjoiIn0= | ||
(function webpackUniversalModuleDefinition(root, factory) { | ||
if(typeof exports === 'object' && typeof module === 'object') | ||
module.exports = factory(); | ||
else if(typeof define === 'function' && define.amd) | ||
define([], factory); | ||
else if(typeof exports === 'object') | ||
exports["cqSpaCoreComponents"] = factory(); | ||
else | ||
root["cqSpaCoreComponents"] = factory(); | ||
})(typeof self !== 'undefined' ? self : this, function() { | ||
return /******/ (function(modules) { // webpackBootstrap | ||
/******/ // The module cache | ||
/******/ var installedModules = {}; | ||
/******/ | ||
/******/ // The require function | ||
/******/ function __webpack_require__(moduleId) { | ||
/******/ | ||
/******/ // Check if module is in cache | ||
/******/ if(installedModules[moduleId]) { | ||
/******/ return installedModules[moduleId].exports; | ||
/******/ } | ||
/******/ // Create a new module (and put it into the cache) | ||
/******/ var module = installedModules[moduleId] = { | ||
/******/ i: moduleId, | ||
/******/ l: false, | ||
/******/ exports: {} | ||
/******/ }; | ||
/******/ | ||
/******/ // Execute the module function | ||
/******/ modules[moduleId].call(module.exports, module, module.exports, __webpack_require__); | ||
/******/ | ||
/******/ // Flag the module as loaded | ||
/******/ module.l = true; | ||
/******/ | ||
/******/ // Return the exports of the module | ||
/******/ return module.exports; | ||
/******/ } | ||
/******/ | ||
/******/ | ||
/******/ // expose the modules object (__webpack_modules__) | ||
/******/ __webpack_require__.m = modules; | ||
/******/ | ||
/******/ // expose the module cache | ||
/******/ __webpack_require__.c = installedModules; | ||
/******/ | ||
/******/ // define getter function for harmony exports | ||
/******/ __webpack_require__.d = function(exports, name, getter) { | ||
/******/ if(!__webpack_require__.o(exports, name)) { | ||
/******/ Object.defineProperty(exports, name, { enumerable: true, get: getter }); | ||
/******/ } | ||
/******/ }; | ||
/******/ | ||
/******/ // define __esModule on exports | ||
/******/ __webpack_require__.r = function(exports) { | ||
/******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) { | ||
/******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' }); | ||
/******/ } | ||
/******/ Object.defineProperty(exports, '__esModule', { value: true }); | ||
/******/ }; | ||
/******/ | ||
/******/ // create a fake namespace object | ||
/******/ // mode & 1: value is a module id, require it | ||
/******/ // mode & 2: merge all properties of value into the ns | ||
/******/ // mode & 4: return value when already ns object | ||
/******/ // mode & 8|1: behave like require | ||
/******/ __webpack_require__.t = function(value, mode) { | ||
/******/ if(mode & 1) value = __webpack_require__(value); | ||
/******/ if(mode & 8) return value; | ||
/******/ if((mode & 4) && typeof value === 'object' && value && value.__esModule) return value; | ||
/******/ var ns = Object.create(null); | ||
/******/ __webpack_require__.r(ns); | ||
/******/ Object.defineProperty(ns, 'default', { enumerable: true, value: value }); | ||
/******/ if(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key)); | ||
/******/ return ns; | ||
/******/ }; | ||
/******/ | ||
/******/ // getDefaultExport function for compatibility with non-harmony modules | ||
/******/ __webpack_require__.n = function(module) { | ||
/******/ var getter = module && module.__esModule ? | ||
/******/ function getDefault() { return module['default']; } : | ||
/******/ function getModuleExports() { return module; }; | ||
/******/ __webpack_require__.d(getter, 'a', getter); | ||
/******/ return getter; | ||
/******/ }; | ||
/******/ | ||
/******/ // Object.prototype.hasOwnProperty.call | ||
/******/ __webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); }; | ||
/******/ | ||
/******/ // __webpack_public_path__ | ||
/******/ __webpack_require__.p = ""; | ||
/******/ | ||
/******/ | ||
/******/ // Load entry module and return exports | ||
/******/ return __webpack_require__(__webpack_require__.s = 4); | ||
/******/ }) | ||
/************************************************************************/ | ||
/******/ ({ | ||
/***/ "./src/AbstractCoreContainerComponent.tsx": | ||
/*!************************************************!*\ | ||
!*** ./src/AbstractCoreContainerComponent.tsx ***! | ||
\************************************************/ | ||
/*! exports provided: withStandardBaseCssClass, withAuthorPanelSwitch */ | ||
/***/ (function(module, __webpack_exports__, __webpack_require__) { | ||
"use strict"; | ||
__webpack_require__.r(__webpack_exports__); | ||
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "withStandardBaseCssClass", function() { return withStandardBaseCssClass; }); | ||
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "withAuthorPanelSwitch", function() { return withAuthorPanelSwitch; }); | ||
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "react"); | ||
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__); | ||
/* | ||
* Copyright 2020 Adobe | ||
* | ||
* Licensed under the Apache License, Version 2.0 (the "License"); | ||
* you may not use this file except in compliance with the License. | ||
* You may obtain a copy of the License at | ||
* | ||
* http://www.apache.org/licenses/LICENSE-2.0 | ||
* | ||
* Unless required by applicable law or agreed to in writing, software | ||
* distributed under the License is distributed on an "AS IS" BASIS, | ||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | ||
* See the License for the specific language governing permissions and | ||
* limitations under the License. | ||
*/ | ||
const withStandardBaseCssClass = (Component, defaultBaseCssClass) => { | ||
return (props) => { | ||
const baseCssClass = props.baseCssClass; | ||
const toBeUsedCssClass = baseCssClass && baseCssClass.trim().length > 0 ? baseCssClass : defaultBaseCssClass; | ||
const mergedProps = { | ||
...props, | ||
baseCssClass: toBeUsedCssClass | ||
}; | ||
return react__WEBPACK_IMPORTED_MODULE_0__["createElement"](Component, Object.assign({}, mergedProps)); | ||
}; | ||
}; | ||
const withAuthorPanelSwitch = (Component) => { | ||
return class extends react__WEBPACK_IMPORTED_MODULE_0__["Component"] { | ||
constructor(props) { | ||
super(props); | ||
this.state = {}; | ||
//@ts-ignore | ||
if (window && window.Granite && window.Granite.author && window.Granite.author.MessageChannel) { | ||
//@ts-ignore | ||
this.messageChannel = new window.Granite.author.MessageChannel("cqauthor", window); | ||
this.callback = this.callback.bind(this); | ||
} | ||
} | ||
callback(message) { | ||
if (message.data && message.data.id === this.props.cqPath) { | ||
if (message.data.operation === "navigate") { | ||
const index = message.data.index; | ||
this.setState({ | ||
activeIndexFromAuthorPanel: index | ||
}); | ||
} | ||
} | ||
} | ||
componentDidMount() { | ||
if (this.messageChannel) { | ||
this.messageChannel.subscribeRequestMessage("cmp.panelcontainer", this.callback); | ||
} | ||
} | ||
componentWillUnmount() { | ||
if (this.messageChannel) { | ||
this.messageChannel.unsubscribeRequestMessage("cmp.panelcontainer", this.callback); | ||
} | ||
} | ||
render() { | ||
return react__WEBPACK_IMPORTED_MODULE_0__["createElement"](Component, Object.assign({}, this.props, { activeIndexFromAuthorPanel: this.state.activeIndexFromAuthorPanel })); | ||
} | ||
}; | ||
}; | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQWJzdHJhY3RDb3JlQ29udGFpbmVyQ29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiQWJzdHJhY3RDb3JlQ29udGFpbmVyQ29tcG9uZW50LnRzeCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7Ozs7R0FjRztBQUVILE9BQU8sS0FBSyxLQUFLLE1BQU0sT0FBTyxDQUFDO0FBd0IvQixNQUFNLENBQUMsTUFBTSx3QkFBd0IsR0FBRyxDQUVwQyxTQUEwQixFQUMxQixtQkFBMEIsRUFDSixFQUFFO0lBQ3hCLE9BQU8sQ0FBQyxLQUFPLEVBQUUsRUFBRTtRQUVmLE1BQU0sWUFBWSxHQUFHLEtBQUssQ0FBQyxZQUFZLENBQUM7UUFDeEMsTUFBTSxnQkFBZ0IsR0FBRyxZQUFZLElBQUksWUFBWSxDQUFDLElBQUksRUFBRSxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsbUJBQW1CLENBQUM7UUFFN0csTUFBTSxXQUFXLEdBQUs7WUFDbEIsR0FBRyxLQUFLO1lBQ1IsWUFBWSxFQUFFLGdCQUFnQjtTQUNqQyxDQUFDO1FBRUYsT0FBTyxvQkFBQyxTQUFTLG9CQUFLLFdBQVcsRUFBSSxDQUFDO0lBQzFDLENBQUMsQ0FBQTtBQUNMLENBQUMsQ0FBQztBQUlGLE1BQU0sQ0FBQyxNQUFNLHFCQUFxQixHQUFHLENBQ2pDLFNBQTBCLEVBQ0wsRUFBRTtJQUV2QixPQUFPLEtBQU0sU0FBUSxLQUFLLENBQUMsU0FBb0M7UUFLM0QsWUFBWSxLQUFPO1lBQ2YsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDO1lBQ2IsSUFBSSxDQUFDLEtBQUssR0FBRyxFQUFFLENBQUE7WUFFZixZQUFZO1lBQ1osSUFBSSxNQUFNLElBQUksTUFBTSxDQUFDLE9BQU8sSUFBSSxNQUFNLENBQUMsT0FBTyxDQUFDLE1BQU0sSUFBSSxNQUFNLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxjQUFjLEVBQUU7Z0JBQzNGLFlBQVk7Z0JBQ1osSUFBSSxDQUFDLGNBQWMsR0FBRyxJQUFJLE1BQU0sQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLGNBQWMsQ0FBQyxVQUFVLEVBQUUsTUFBTSxDQUFDLENBQUM7Z0JBQ25GLElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7YUFDNUM7UUFDTCxDQUFDO1FBRUQsUUFBUSxDQUFDLE9BQVc7WUFDaEIsSUFBSSxPQUFPLENBQUMsSUFBSSxJQUFJLE9BQU8sQ0FBQyxJQUFJLENBQUMsRUFBRSxLQUFLLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxFQUFFO2dCQUN2RCxJQUFJLE9BQU8sQ0FBQyxJQUFJLENBQUMsU0FBUyxLQUFLLFVBQVUsRUFBRTtvQkFDdkMsTUFBTSxLQUFLLEdBQUcsT0FBTyxDQUFDLElBQUksQ0FBQyxLQUFlLENBQUM7b0JBQzNDLElBQUksQ0FBQyxRQUFRLENBQUM7d0JBQ1YsMEJBQTBCLEVBQUUsS0FBSztxQkFDcEMsQ0FBQyxDQUFBO2lCQUNMO2FBQ0o7UUFDTCxDQUFDO1FBRUQsaUJBQWlCO1lBQ2IsSUFBRyxJQUFJLENBQUMsY0FBYyxFQUFDO2dCQUNuQixJQUFJLENBQUMsY0FBYyxDQUFDLHVCQUF1QixDQUFDLG9CQUFvQixFQUFFLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQzthQUNwRjtRQUNMLENBQUM7UUFFRCxvQkFBb0I7WUFDaEIsSUFBRyxJQUFJLENBQUMsY0FBYyxFQUFDO2dCQUNuQixJQUFJLENBQUMsY0FBYyxDQUFDLHlCQUF5QixDQUFDLG9CQUFvQixFQUFFLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQzthQUN0RjtRQUNMLENBQUM7UUFHRCxNQUFNO1lBQ0YsT0FBTyxvQkFBQyxTQUFTLG9CQUFLLElBQUksQ0FBQyxLQUFLLElBQUUsMEJBQTBCLEVBQUUsSUFBSSxDQUFDLEtBQUssQ0FBQywwQkFBMEIsSUFBSSxDQUFDO1FBQzVHLENBQUM7S0FDSixDQUFBO0FBRUwsQ0FBQyxDQUFDIn0= | ||
/***/ }), | ||
/***/ "./src/container/container/v1/ContainerV1.tsx": | ||
/*!****************************************************!*\ | ||
!*** ./src/container/container/v1/ContainerV1.tsx ***! | ||
\****************************************************/ | ||
/*! exports provided: default */ | ||
/***/ (function(module, __webpack_exports__, __webpack_require__) { | ||
"use strict"; | ||
__webpack_require__.r(__webpack_exports__); | ||
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "react"); | ||
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__); | ||
/* harmony import */ var _adobe_aem_react_editable_components__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @adobe/aem-react-editable-components */ "@adobe/aem-react-editable-components"); | ||
/* harmony import */ var _adobe_aem_react_editable_components__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_adobe_aem_react_editable_components__WEBPACK_IMPORTED_MODULE_1__); | ||
/* harmony import */ var _AbstractCoreContainerComponent__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../../AbstractCoreContainerComponent */ "./src/AbstractCoreContainerComponent.tsx"); | ||
/* | ||
* Copyright 2020 Adobe | ||
* | ||
* Licensed under the Apache License, Version 2.0 (the "License"); | ||
* you may not use this file except in compliance with the License. | ||
* You may obtain a copy of the License at | ||
* | ||
* http://www.apache.org/licenses/LICENSE-2.0 | ||
* | ||
* Unless required by applicable law or agreed to in writing, software | ||
* distributed under the License is distributed on an "AS IS" BASIS, | ||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | ||
* See the License for the specific language governing permissions and | ||
* limitations under the License. | ||
*/ | ||
class ContainerV1Impl extends _adobe_aem_react_editable_components__WEBPACK_IMPORTED_MODULE_1__["Container"] { | ||
constructor(props) { | ||
super(props); | ||
//@ts-ignore | ||
this.state = { | ||
componentMapping: this.props.componentMapping || _adobe_aem_react_editable_components__WEBPACK_IMPORTED_MODULE_1__["ComponentMapping"], | ||
}; | ||
this.mainDiv = react__WEBPACK_IMPORTED_MODULE_0___default.a.createRef(); | ||
} | ||
componentDidMount() { | ||
if (this.mainDiv.current) { | ||
this.mainDiv.current.setAttribute('style', this.props.backgroundStyle); | ||
} | ||
} | ||
componentDidUpdate() { | ||
if (this.mainDiv.current) { | ||
this.mainDiv.current.setAttribute('style', this.props.backgroundStyle); | ||
} | ||
} | ||
get coreContainerProps() { | ||
return { | ||
className: 'container responsivegrid' | ||
}; | ||
} | ||
render() { | ||
const { componentMapping, allowedComponents, children, cqPath, cqItems, cqItemsOrder, isInEditor, ...otherProps } = this.props; | ||
const gridProps = { | ||
allowedComponents: this.props.allowedComponents, | ||
gridClassNames: this.props.gridClassNames, | ||
columnClassNames: this.props.columnClassNames, | ||
cqItems: this.props.cqItems, | ||
cqItemsOrder: this.props.cqItemsOrder, | ||
title: "", | ||
cqPath: this.props.cqPath, | ||
isInEditor: false | ||
}; | ||
return (react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", Object.assign({}, this.coreContainerProps), | ||
react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { ref: this.mainDiv, id: this.props.id, className: this.props.baseCssClass }, | ||
(this.props.layout && this.props.layout === 'simple') && | ||
react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_adobe_aem_react_editable_components__WEBPACK_IMPORTED_MODULE_1__["Container"], { componentMapping: this.state.componentMapping, cqForceReload: this.props.cqForceReload, cqPath: this.props.cqPath, cqItems: this.props.cqItems, cqItemsOrder: this.props.cqItemsOrder, isInEditor: false }, this.childComponents), | ||
(!this.props.layout || this.props.layout !== 'simple') && | ||
react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_adobe_aem_react_editable_components__WEBPACK_IMPORTED_MODULE_1__["ResponsiveGrid"], Object.assign({}, gridProps))))); | ||
} | ||
} | ||
/* harmony default export */ __webpack_exports__["default"] = (Object(_AbstractCoreContainerComponent__WEBPACK_IMPORTED_MODULE_2__["withStandardBaseCssClass"])(ContainerV1Impl, "cmp-container")); | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQ29udGFpbmVyVjEuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJDb250YWluZXJWMS50c3giXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7Ozs7O0dBY0c7QUFFSCxPQUFPLEtBQWtCLE1BQU0sT0FBTyxDQUFDO0FBRXZDLE9BQU8sRUFBQyxnQkFBZ0IsRUFBRSxTQUFTLEVBQUUsY0FBYyxFQUEyQixNQUFNLHNDQUFzQyxDQUFDO0FBQzNILE9BQU8sRUFBOEMsd0JBQXdCLEVBQUMsTUFBTSx5Q0FBeUMsQ0FBQztBQVM5SCxNQUFNLGVBQWdCLFNBQVEsU0FBbUQ7SUFJN0UsWUFBWSxLQUEyQjtRQUNuQyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUM7UUFFYixZQUFZO1FBQ1osSUFBSSxDQUFDLEtBQUssR0FBRztZQUNULGdCQUFnQixFQUFFLElBQUksQ0FBQyxLQUFLLENBQUMsZ0JBQWdCLElBQUksZ0JBQWdCO1NBQ3BFLENBQUM7UUFDRixJQUFJLENBQUMsT0FBTyxHQUFHLEtBQUssQ0FBQyxTQUFTLEVBQUUsQ0FBQztJQUNyQyxDQUFDO0lBRUQsaUJBQWlCO1FBQ2IsSUFBSSxJQUFJLENBQUMsT0FBTyxDQUFDLE9BQU8sRUFBRTtZQUN0QixJQUFJLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxZQUFZLENBQUMsT0FBTyxFQUFFLElBQUksQ0FBQyxLQUFLLENBQUMsZUFBZSxDQUFDLENBQUM7U0FDMUU7SUFFTCxDQUFDO0lBRUQsa0JBQWtCO1FBQ2QsSUFBSSxJQUFJLENBQUMsT0FBTyxDQUFDLE9BQU8sRUFBRTtZQUN0QixJQUFJLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxZQUFZLENBQUMsT0FBTyxFQUFFLElBQUksQ0FBQyxLQUFLLENBQUMsZUFBZSxDQUFDLENBQUM7U0FDMUU7SUFDTCxDQUFDO0lBRUQsSUFBSSxrQkFBa0I7UUFDbEIsT0FBTztZQUNILFNBQVMsRUFBRSwwQkFBMEI7U0FDeEMsQ0FBQztJQUNOLENBQUM7SUFHRCxNQUFNO1FBQ0QsTUFBTSxFQUFDLGdCQUFnQixFQUFDLGlCQUFpQixFQUFDLFFBQVEsRUFBQyxNQUFNLEVBQUMsT0FBTyxFQUFDLFlBQVksRUFBQyxVQUFVLEVBQUUsR0FBRyxVQUFVLEVBQUMsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDO1FBRXZILE1BQU0sU0FBUyxHQUE0QjtZQUN4QyxpQkFBaUIsRUFBRSxJQUFJLENBQUMsS0FBSyxDQUFDLGlCQUFpQjtZQUMvQyxjQUFjLEVBQUUsSUFBSSxDQUFDLEtBQUssQ0FBQyxjQUFjO1lBQ3pDLGdCQUFnQixFQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsZ0JBQWdCO1lBQzVDLE9BQU8sRUFBQyxJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU87WUFDMUIsWUFBWSxFQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsWUFBWTtZQUNwQyxLQUFLLEVBQUMsRUFBRTtZQUNSLE1BQU0sRUFBRSxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU07WUFDekIsVUFBVSxFQUFDLEtBQUs7U0FDbEIsQ0FBQTtRQUNGLE9BQU8sQ0FDSCw2Q0FBUyxJQUFJLENBQUMsa0JBQWtCO1lBQzVCLDZCQUFLLEdBQUcsRUFBRSxJQUFJLENBQUMsT0FBTyxFQUNqQixFQUFFLEVBQUUsSUFBSSxDQUFDLEtBQUssQ0FBQyxFQUFFLEVBQ2pCLFNBQVMsRUFBRSxJQUFJLENBQUMsS0FBSyxDQUFDLFlBQVk7Z0JBRWxDLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLElBQUksSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLEtBQUssUUFBUSxDQUFDO29CQUM1QyxvQkFBQyxTQUFTLElBQ1IsZ0JBQWdCLEVBQUUsSUFBSSxDQUFDLEtBQUssQ0FBQyxnQkFBZ0IsRUFDN0MsYUFBYSxFQUFFLElBQUksQ0FBQyxLQUFLLENBQUMsYUFBYSxFQUN2QyxNQUFNLEVBQUUsSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLEVBQ3pCLE9BQU8sRUFBRSxJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sRUFDM0IsWUFBWSxFQUFFLElBQUksQ0FBQyxLQUFLLENBQUMsWUFBWSxFQUNyQyxVQUFVLEVBQUUsS0FBSyxJQUNaLElBQUksQ0FBQyxlQUFlLENBQ2I7Z0JBRXZCLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sSUFBSSxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sS0FBSyxRQUFRLENBQUM7b0JBQzNDLG9CQUFDLGNBQWMsb0JBQUssU0FBUyxFQUFtQixDQUkxRCxDQUNKLENBQ1QsQ0FBQTtJQUNMLENBQUM7Q0FFSjtBQUVELGVBQWUsd0JBQXdCLENBQUMsZUFBZSxFQUFFLGVBQWUsQ0FBQyxDQUFDIn0= | ||
/***/ }), | ||
/***/ 4: | ||
/*!**********************************************************!*\ | ||
!*** multi ./src/container/container/v1/ContainerV1.tsx ***! | ||
\**********************************************************/ | ||
/*! no static exports found */ | ||
/***/ (function(module, exports, __webpack_require__) { | ||
module.exports = __webpack_require__(/*! ./src/container/container/v1/ContainerV1.tsx */"./src/container/container/v1/ContainerV1.tsx"); | ||
/***/ }), | ||
/***/ "@adobe/aem-react-editable-components": | ||
/*!*******************************************************!*\ | ||
!*** external "@adobe/aem-react-editable-components" ***! | ||
\*******************************************************/ | ||
/*! no static exports found */ | ||
/***/ (function(module, exports) { | ||
module.exports = require("@adobe/aem-react-editable-components"); | ||
/***/ }), | ||
/***/ "react": | ||
/*!************************!*\ | ||
!*** external "react" ***! | ||
\************************/ | ||
/*! no static exports found */ | ||
/***/ (function(module, exports) { | ||
module.exports = require("react"); | ||
/***/ }) | ||
/******/ }); | ||
}); | ||
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9jcVNwYUNvcmVDb21wb25lbnRzL3dlYnBhY2svdW5pdmVyc2FsTW9kdWxlRGVmaW5pdGlvbiIsIndlYnBhY2s6Ly9jcVNwYUNvcmVDb21wb25lbnRzL3dlYnBhY2svYm9vdHN0cmFwIiwid2VicGFjazovL2NxU3BhQ29yZUNvbXBvbmVudHMvLi9zcmMvQWJzdHJhY3RDb3JlQ29udGFpbmVyQ29tcG9uZW50LnRzeCIsIndlYnBhY2s6Ly9jcVNwYUNvcmVDb21wb25lbnRzLy4vc3JjL2NvbnRhaW5lci9jb250YWluZXIvdjEvQ29udGFpbmVyVjEudHN4Iiwid2VicGFjazovL2NxU3BhQ29yZUNvbXBvbmVudHMvZXh0ZXJuYWwgXCJAYWRvYmUvYWVtLXJlYWN0LWVkaXRhYmxlLWNvbXBvbmVudHNcIiIsIndlYnBhY2s6Ly9jcVNwYUNvcmVDb21wb25lbnRzL2V4dGVybmFsIFwicmVhY3RcIiJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxDQUFDO0FBQ0QsTztRQ1ZBO1FBQ0E7O1FBRUE7UUFDQTs7UUFFQTtRQUNBO1FBQ0E7UUFDQTtRQUNBO1FBQ0E7UUFDQTtRQUNBO1FBQ0E7UUFDQTs7UUFFQTtRQUNBOztRQUVBO1FBQ0E7O1FBRUE7UUFDQTtRQUNBOzs7UUFHQTtRQUNBOztRQUVBO1FBQ0E7O1FBRUE7UUFDQTtRQUNBO1FBQ0EsMENBQTBDLGdDQUFnQztRQUMxRTtRQUNBOztRQUVBO1FBQ0E7UUFDQTtRQUNBLHdEQUF3RCxrQkFBa0I7UUFDMUU7UUFDQSxpREFBaUQsY0FBYztRQUMvRDs7UUFFQTtRQUNBO1FBQ0E7UUFDQTtRQUNBO1FBQ0E7UUFDQTtRQUNBO1FBQ0E7UUFDQTtRQUNBO1FBQ0EseUNBQXlDLGlDQUFpQztRQUMxRSxnSEFBZ0gsbUJBQW1CLEVBQUU7UUFDckk7UUFDQTs7UUFFQTtRQUNBO1FBQ0E7UUFDQSwyQkFBMkIsMEJBQTBCLEVBQUU7UUFDdkQsaUNBQWlDLGVBQWU7UUFDaEQ7UUFDQTtRQUNBOztRQUVBO1FBQ0Esc0RBQXNELCtEQUErRDs7UUFFckg7UUFDQTs7O1FBR0E7UUFDQTs7Ozs7Ozs7Ozs7OztBQ2xGQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQytCO0FBQ3hCO0FBQ1A7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxlQUFlLG1EQUFtQiw0QkFBNEI7QUFDOUQ7QUFDQTtBQUNPO0FBQ1AseUJBQXlCLCtDQUFlO0FBQ3hDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EscUJBQXFCO0FBQ3JCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxtQkFBbUIsbURBQW1CLDRCQUE0QixlQUFlLG9FQUFvRTtBQUNySjtBQUNBO0FBQ0E7QUFDQSwyQ0FBMkMsbTNFOzs7Ozs7Ozs7Ozs7QUNoRTNDO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUMwQjtBQUN5RTtBQUNoQjtBQUNuRiw4QkFBOEIsOEVBQVM7QUFDdkM7QUFDQTtBQUNBO0FBQ0E7QUFDQSw2REFBNkQscUZBQWdCO0FBQzdFO0FBQ0EsdUJBQXVCLDRDQUFLO0FBQzVCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxlQUFlLDBHQUEwRztBQUN6SDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGdCQUFnQiw0Q0FBSyxzQ0FBc0M7QUFDM0QsWUFBWSw0Q0FBSyx1QkFBdUIsMkVBQTJFO0FBQ25IO0FBQ0Esb0JBQW9CLDRDQUFLLGVBQWUsOEVBQVMsR0FBRywyTUFBMk07QUFDL1A7QUFDQSxvQkFBb0IsNENBQUssZUFBZSxtRkFBYyxrQkFBa0I7QUFDeEU7QUFDQTtBQUNlLCtKQUF3QixrQ0FBa0MsRUFBQztBQUMxRSwyQ0FBMkMsbXVGOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQy9EM0MsaUU7Ozs7Ozs7Ozs7O0FDQUEsa0MiLCJmaWxlIjoiY29udGFpbmVyL2NvbnRhaW5lci92MS9Db250YWluZXJWMS5qcyIsInNvdXJjZXNDb250ZW50IjpbIihmdW5jdGlvbiB3ZWJwYWNrVW5pdmVyc2FsTW9kdWxlRGVmaW5pdGlvbihyb290LCBmYWN0b3J5KSB7XG5cdGlmKHR5cGVvZiBleHBvcnRzID09PSAnb2JqZWN0JyAmJiB0eXBlb2YgbW9kdWxlID09PSAnb2JqZWN0Jylcblx0XHRtb2R1bGUuZXhwb3J0cyA9IGZhY3RvcnkoKTtcblx0ZWxzZSBpZih0eXBlb2YgZGVmaW5lID09PSAnZnVuY3Rpb24nICYmIGRlZmluZS5hbWQpXG5cdFx0ZGVmaW5lKFtdLCBmYWN0b3J5KTtcblx0ZWxzZSBpZih0eXBlb2YgZXhwb3J0cyA9PT0gJ29iamVjdCcpXG5cdFx0ZXhwb3J0c1tcImNxU3BhQ29yZUNvbXBvbmVudHNcIl0gPSBmYWN0b3J5KCk7XG5cdGVsc2Vcblx0XHRyb290W1wiY3FTcGFDb3JlQ29tcG9uZW50c1wiXSA9IGZhY3RvcnkoKTtcbn0pKHR5cGVvZiBzZWxmICE9PSAndW5kZWZpbmVkJyA/IHNlbGYgOiB0aGlzLCBmdW5jdGlvbigpIHtcbnJldHVybiAiLCIgXHQvLyBUaGUgbW9kdWxlIGNhY2hlXG4gXHR2YXIgaW5zdGFsbGVkTW9kdWxlcyA9IHt9O1xuXG4gXHQvLyBUaGUgcmVxdWlyZSBmdW5jdGlvblxuIFx0ZnVuY3Rpb24gX193ZWJwYWNrX3JlcXVpcmVfXyhtb2R1bGVJZCkge1xuXG4gXHRcdC8vIENoZWNrIGlmIG1vZHVsZSBpcyBpbiBjYWNoZVxuIFx0XHRpZihpbnN0YWxsZWRNb2R1bGVzW21vZHVsZUlkXSkge1xuIFx0XHRcdHJldHVybiBpbnN0YWxsZWRNb2R1bGVzW21vZHVsZUlkXS5leHBvcnRzO1xuIFx0XHR9XG4gXHRcdC8vIENyZWF0ZSBhIG5ldyBtb2R1bGUgKGFuZCBwdXQgaXQgaW50byB0aGUgY2FjaGUpXG4gXHRcdHZhciBtb2R1bGUgPSBpbnN0YWxsZWRNb2R1bGVzW21vZHVsZUlkXSA9IHtcbiBcdFx0XHRpOiBtb2R1bGVJZCxcbiBcdFx0XHRsOiBmYWxzZSxcbiBcdFx0XHRleHBvcnRzOiB7fVxuIFx0XHR9O1xuXG4gXHRcdC8vIEV4ZWN1dGUgdGhlIG1vZHVsZSBmdW5jdGlvblxuIFx0XHRtb2R1bGVzW21vZHVsZUlkXS5jYWxsKG1vZHVsZS5leHBvcnRzLCBtb2R1bGUsIG1vZHVsZS5leHBvcnRzLCBfX3dlYnBhY2tfcmVxdWlyZV9fKTtcblxuIFx0XHQvLyBGbGFnIHRoZSBtb2R1bGUgYXMgbG9hZGVkXG4gXHRcdG1vZHVsZS5sID0gdHJ1ZTtcblxuIFx0XHQvLyBSZXR1cm4gdGhlIGV4cG9ydHMgb2YgdGhlIG1vZHVsZVxuIFx0XHRyZXR1cm4gbW9kdWxlLmV4cG9ydHM7XG4gXHR9XG5cblxuIFx0Ly8gZXhwb3NlIHRoZSBtb2R1bGVzIG9iamVjdCAoX193ZWJwYWNrX21vZHVsZXNfXylcbiBcdF9fd2VicGFja19yZXF1aXJlX18ubSA9IG1vZHVsZXM7XG5cbiBcdC8vIGV4cG9zZSB0aGUgbW9kdWxlIGNhY2hlXG4gXHRfX3dlYnBhY2tfcmVxdWlyZV9fLmMgPSBpbnN0YWxsZWRNb2R1bGVzO1xuXG4gXHQvLyBkZWZpbmUgZ2V0dGVyIGZ1bmN0aW9uIGZvciBoYXJtb255IGV4cG9ydHNcbiBcdF9fd2VicGFja19yZXF1aXJlX18uZCA9IGZ1bmN0aW9uKGV4cG9ydHMsIG5hbWUsIGdldHRlcikge1xuIFx0XHRpZighX193ZWJwYWNrX3JlcXVpcmVfXy5vKGV4cG9ydHMsIG5hbWUpKSB7XG4gXHRcdFx0T2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIG5hbWUsIHsgZW51bWVyYWJsZTogdHJ1ZSwgZ2V0OiBnZXR0ZXIgfSk7XG4gXHRcdH1cbiBcdH07XG5cbiBcdC8vIGRlZmluZSBfX2VzTW9kdWxlIG9uIGV4cG9ydHNcbiBcdF9fd2VicGFja19yZXF1aXJlX18uciA9IGZ1bmN0aW9uKGV4cG9ydHMpIHtcbiBcdFx0aWYodHlwZW9mIFN5bWJvbCAhPT0gJ3VuZGVmaW5lZCcgJiYgU3ltYm9sLnRvU3RyaW5nVGFnKSB7XG4gXHRcdFx0T2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFN5bWJvbC50b1N0cmluZ1RhZywgeyB2YWx1ZTogJ01vZHVsZScgfSk7XG4gXHRcdH1cbiBcdFx0T2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsICdfX2VzTW9kdWxlJywgeyB2YWx1ZTogdHJ1ZSB9KTtcbiBcdH07XG5cbiBcdC8vIGNyZWF0ZSBhIGZha2UgbmFtZXNwYWNlIG9iamVjdFxuIFx0Ly8gbW9kZSAmIDE6IHZhbHVlIGlzIGEgbW9kdWxlIGlkLCByZXF1aXJlIGl0XG4gXHQvLyBtb2RlICYgMjogbWVyZ2UgYWxsIHByb3BlcnRpZXMgb2YgdmFsdWUgaW50byB0aGUgbnNcbiBcdC8vIG1vZGUgJiA0OiByZXR1cm4gdmFsdWUgd2hlbiBhbHJlYWR5IG5zIG9iamVjdFxuIFx0Ly8gbW9kZSAmIDh8MTogYmVoYXZlIGxpa2UgcmVxdWlyZVxuIFx0X193ZWJwYWNrX3JlcXVpcmVfXy50ID0gZnVuY3Rpb24odmFsdWUsIG1vZGUpIHtcbiBcdFx0aWYobW9kZSAmIDEpIHZhbHVlID0gX193ZWJwYWNrX3JlcXVpcmVfXyh2YWx1ZSk7XG4gXHRcdGlmKG1vZGUgJiA4KSByZXR1cm4gdmFsdWU7XG4gXHRcdGlmKChtb2RlICYgNCkgJiYgdHlwZW9mIHZhbHVlID09PSAnb2JqZWN0JyAmJiB2YWx1ZSAmJiB2YWx1ZS5fX2VzTW9kdWxlKSByZXR1cm4gdmFsdWU7XG4gXHRcdHZhciBucyA9IE9iamVjdC5jcmVhdGUobnVsbCk7XG4gXHRcdF9fd2VicGFja19yZXF1aXJlX18ucihucyk7XG4gXHRcdE9iamVjdC5kZWZpbmVQcm9wZXJ0eShucywgJ2RlZmF1bHQnLCB7IGVudW1lcmFibGU6IHRydWUsIHZhbHVlOiB2YWx1ZSB9KTtcbiBcdFx0aWYobW9kZSAmIDIgJiYgdHlwZW9mIHZhbHVlICE9ICdzdHJpbmcnKSBmb3IodmFyIGtleSBpbiB2YWx1ZSkgX193ZWJwYWNrX3JlcXVpcmVfXy5kKG5zLCBrZXksIGZ1bmN0aW9uKGtleSkgeyByZXR1cm4gdmFsdWVba2V5XTsgfS5iaW5kKG51bGwsIGtleSkpO1xuIFx0XHRyZXR1cm4gbnM7XG4gXHR9O1xuXG4gXHQvLyBnZXREZWZhdWx0RXhwb3J0IGZ1bmN0aW9uIGZvciBjb21wYXRpYmlsaXR5IHdpdGggbm9uLWhhcm1vbnkgbW9kdWxlc1xuIFx0X193ZWJwYWNrX3JlcXVpcmVfXy5uID0gZnVuY3Rpb24obW9kdWxlKSB7XG4gXHRcdHZhciBnZXR0ZXIgPSBtb2R1bGUgJiYgbW9kdWxlLl9fZXNNb2R1bGUgP1xuIFx0XHRcdGZ1bmN0aW9uIGdldERlZmF1bHQoKSB7IHJldHVybiBtb2R1bGVbJ2RlZmF1bHQnXTsgfSA6XG4gXHRcdFx0ZnVuY3Rpb24gZ2V0TW9kdWxlRXhwb3J0cygpIHsgcmV0dXJuIG1vZHVsZTsgfTtcbiBcdFx0X193ZWJwYWNrX3JlcXVpcmVfXy5kKGdldHRlciwgJ2EnLCBnZXR0ZXIpO1xuIFx0XHRyZXR1cm4gZ2V0dGVyO1xuIFx0fTtcblxuIFx0Ly8gT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsXG4gXHRfX3dlYnBhY2tfcmVxdWlyZV9fLm8gPSBmdW5jdGlvbihvYmplY3QsIHByb3BlcnR5KSB7IHJldHVybiBPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwob2JqZWN0LCBwcm9wZXJ0eSk7IH07XG5cbiBcdC8vIF9fd2VicGFja19wdWJsaWNfcGF0aF9fXG4gXHRfX3dlYnBhY2tfcmVxdWlyZV9fLnAgPSBcIlwiO1xuXG5cbiBcdC8vIExvYWQgZW50cnkgbW9kdWxlIGFuZCByZXR1cm4gZXhwb3J0c1xuIFx0cmV0dXJuIF9fd2VicGFja19yZXF1aXJlX18oX193ZWJwYWNrX3JlcXVpcmVfXy5zID0gNCk7XG4iLCIvKlxuICogIENvcHlyaWdodCAyMDIwIEFkb2JlXG4gKlxuICogIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSBcIkxpY2Vuc2VcIik7XG4gKiAgeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICogIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuICpcbiAqICAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG4gKlxuICogIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAqICBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgQkFTSVMsXG4gKiAgV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gKiAgU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICogIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuICovXG5pbXBvcnQgKiBhcyBSZWFjdCBmcm9tICdyZWFjdCc7XG5leHBvcnQgY29uc3Qgd2l0aFN0YW5kYXJkQmFzZUNzc0NsYXNzID0gKENvbXBvbmVudCwgZGVmYXVsdEJhc2VDc3NDbGFzcykgPT4ge1xuICAgIHJldHVybiAocHJvcHMpID0+IHtcbiAgICAgICAgY29uc3QgYmFzZUNzc0NsYXNzID0gcHJvcHMuYmFzZUNzc0NsYXNzO1xuICAgICAgICBjb25zdCB0b0JlVXNlZENzc0NsYXNzID0gYmFzZUNzc0NsYXNzICYmIGJhc2VDc3NDbGFzcy50cmltKCkubGVuZ3RoID4gMCA/IGJhc2VDc3NDbGFzcyA6IGRlZmF1bHRCYXNlQ3NzQ2xhc3M7XG4gICAgICAgIGNvbnN0IG1lcmdlZFByb3BzID0ge1xuICAgICAgICAgICAgLi4ucHJvcHMsXG4gICAgICAgICAgICBiYXNlQ3NzQ2xhc3M6IHRvQmVVc2VkQ3NzQ2xhc3NcbiAgICAgICAgfTtcbiAgICAgICAgcmV0dXJuIFJlYWN0LmNyZWF0ZUVsZW1lbnQoQ29tcG9uZW50LCBPYmplY3QuYXNzaWduKHt9LCBtZXJnZWRQcm9wcykpO1xuICAgIH07XG59O1xuZXhwb3J0IGNvbnN0IHdpdGhBdXRob3JQYW5lbFN3aXRjaCA9IChDb21wb25lbnQpID0+IHtcbiAgICByZXR1cm4gY2xhc3MgZXh0ZW5kcyBSZWFjdC5Db21wb25lbnQge1xuICAgICAgICBjb25zdHJ1Y3Rvcihwcm9wcykge1xuICAgICAgICAgICAgc3VwZXIocHJvcHMpO1xuICAgICAgICAgICAgdGhpcy5zdGF0ZSA9IHt9O1xuICAgICAgICAgICAgLy9AdHMtaWdub3JlXG4gICAgICAgICAgICBpZiAod2luZG93ICYmIHdpbmRvdy5HcmFuaXRlICYmIHdpbmRvdy5HcmFuaXRlLmF1dGhvciAmJiB3aW5kb3cuR3Jhbml0ZS5hdXRob3IuTWVzc2FnZUNoYW5uZWwpIHtcbiAgICAgICAgICAgICAgICAvL0B0cy1pZ25vcmVcbiAgICAgICAgICAgICAgICB0aGlzLm1lc3NhZ2VDaGFubmVsID0gbmV3IHdpbmRvdy5HcmFuaXRlLmF1dGhvci5NZXNzYWdlQ2hhbm5lbChcImNxYXV0aG9yXCIsIHdpbmRvdyk7XG4gICAgICAgICAgICAgICAgdGhpcy5jYWxsYmFjayA9IHRoaXMuY2FsbGJhY2suYmluZCh0aGlzKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBjYWxsYmFjayhtZXNzYWdlKSB7XG4gICAgICAgICAgICBpZiAobWVzc2FnZS5kYXRhICYmIG1lc3NhZ2UuZGF0YS5pZCA9PT0gdGhpcy5wcm9wcy5jcVBhdGgpIHtcbiAgICAgICAgICAgICAgICBpZiAobWVzc2FnZS5kYXRhLm9wZXJhdGlvbiA9PT0gXCJuYXZpZ2F0ZVwiKSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IGluZGV4ID0gbWVzc2FnZS5kYXRhLmluZGV4O1xuICAgICAgICAgICAgICAgICAgICB0aGlzLnNldFN0YXRlKHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGFjdGl2ZUluZGV4RnJvbUF1dGhvclBhbmVsOiBpbmRleFxuICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgY29tcG9uZW50RGlkTW91bnQoKSB7XG4gICAgICAgICAgICBpZiAodGhpcy5tZXNzYWdlQ2hhbm5lbCkge1xuICAgICAgICAgICAgICAgIHRoaXMubWVzc2FnZUNoYW5uZWwuc3Vic2NyaWJlUmVxdWVzdE1lc3NhZ2UoXCJjbXAucGFuZWxjb250YWluZXJcIiwgdGhpcy5jYWxsYmFjayk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgY29tcG9uZW50V2lsbFVubW91bnQoKSB7XG4gICAgICAgICAgICBpZiAodGhpcy5tZXNzYWdlQ2hhbm5lbCkge1xuICAgICAgICAgICAgICAgIHRoaXMubWVzc2FnZUNoYW5uZWwudW5zdWJzY3JpYmVSZXF1ZXN0TWVzc2FnZShcImNtcC5wYW5lbGNvbnRhaW5lclwiLCB0aGlzLmNhbGxiYWNrKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICByZW5kZXIoKSB7XG4gICAgICAgICAgICByZXR1cm4gUmVhY3QuY3JlYXRlRWxlbWVudChDb21wb25lbnQsIE9iamVjdC5hc3NpZ24oe30sIHRoaXMucHJvcHMsIHsgYWN0aXZlSW5kZXhGcm9tQXV0aG9yUGFuZWw6IHRoaXMuc3RhdGUuYWN0aXZlSW5kZXhGcm9tQXV0aG9yUGFuZWwgfSkpO1xuICAgICAgICB9XG4gICAgfTtcbn07XG4vLyMgc291cmNlTWFwcGluZ1VSTD1kYXRhOmFwcGxpY2F0aW9uL2pzb247YmFzZTY0LGV5SjJaWEp6YVc5dUlqb3pMQ0ptYVd4bElqb2lRV0p6ZEhKaFkzUkRiM0psUTI5dWRHRnBibVZ5UTI5dGNHOXVaVzUwTG1weklpd2ljMjkxY21ObFVtOXZkQ0k2SWlJc0luTnZkWEpqWlhNaU9sc2lRV0p6ZEhKaFkzUkRiM0psUTI5dWRHRnBibVZ5UTI5dGNHOXVaVzUwTG5SemVDSmRMQ0p1WVcxbGN5STZXMTBzSW0xaGNIQnBibWR6SWpvaVFVRkJRVHM3T3pzN096czdPenM3T3pzN1IwRmpSenRCUVVWSUxFOUJRVThzUzBGQlN5eExRVUZMTEUxQlFVMHNUMEZCVHl4RFFVRkRPMEZCZDBJdlFpeE5RVUZOTEVOQlFVTXNUVUZCVFN4M1FrRkJkMElzUjBGQlJ5eERRVVZ3UXl4VFFVRXdRaXhGUVVNeFFpeHRRa0ZCTUVJc1JVRkRTaXhGUVVGRk8wbEJRM2hDTEU5QlFVOHNRMEZCUXl4TFFVRlBMRVZCUVVVc1JVRkJSVHRSUVVWbUxFMUJRVTBzV1VGQldTeEhRVUZITEV0QlFVc3NRMEZCUXl4WlFVRlpMRU5CUVVNN1VVRkRlRU1zVFVGQlRTeG5Ra0ZCWjBJc1IwRkJSeXhaUVVGWkxFbEJRVWtzV1VGQldTeERRVUZETEVsQlFVa3NSVUZCUlN4RFFVRkRMRTFCUVUwc1IwRkJSeXhEUVVGRExFTkJRVU1zUTBGQlF5eERRVUZETEZsQlFWa3NRMEZCUXl4RFFVRkRMRU5CUVVNc2JVSkJRVzFDTEVOQlFVTTdVVUZGTjBjc1RVRkJUU3hYUVVGWExFZEJRVXM3V1VGRGJFSXNSMEZCUnl4TFFVRkxPMWxCUTFJc1dVRkJXU3hGUVVGRkxHZENRVUZuUWp0VFFVTnFReXhEUVVGRE8xRkJSVVlzVDBGQlR5eHZRa0ZCUXl4VFFVRlRMRzlDUVVGTExGZEJRVmNzUlVGQlNTeERRVUZETzBsQlF6RkRMRU5CUVVNc1EwRkJRVHRCUVVOTUxFTkJRVU1zUTBGQlF6dEJRVWxHTEUxQlFVMHNRMEZCUXl4TlFVRk5MSEZDUVVGeFFpeEhRVUZITEVOQlEycERMRk5CUVRCQ0xFVkJRMHdzUlVGQlJUdEpRVVYyUWl4UFFVRlBMRXRCUVUwc1UwRkJVU3hMUVVGTExFTkJRVU1zVTBGQmIwTTdVVUZMTTBRc1dVRkJXU3hMUVVGUE8xbEJRMllzUzBGQlN5eERRVUZETEV0QlFVc3NRMEZCUXl4RFFVRkRPMWxCUTJJc1NVRkJTU3hEUVVGRExFdEJRVXNzUjBGQlJ5eEZRVUZGTEVOQlFVRTdXVUZGWml4WlFVRlpPMWxCUTFvc1NVRkJTU3hOUVVGTkxFbEJRVWtzVFVGQlRTeERRVUZETEU5QlFVOHNTVUZCU1N4TlFVRk5MRU5CUVVNc1QwRkJUeXhEUVVGRExFMUJRVTBzU1VGQlNTeE5RVUZOTEVOQlFVTXNUMEZCVHl4RFFVRkRMRTFCUVUwc1EwRkJReXhqUVVGakxFVkJRVVU3WjBKQlF6TkdMRmxCUVZrN1owSkJRMW9zU1VGQlNTeERRVUZETEdOQlFXTXNSMEZCUnl4SlFVRkpMRTFCUVUwc1EwRkJReXhQUVVGUExFTkJRVU1zVFVGQlRTeERRVUZETEdOQlFXTXNRMEZCUXl4VlFVRlZMRVZCUVVVc1RVRkJUU3hEUVVGRExFTkJRVU03WjBKQlEyNUdMRWxCUVVrc1EwRkJReXhSUVVGUkxFZEJRVWNzU1VGQlNTeERRVUZETEZGQlFWRXNRMEZCUXl4SlFVRkpMRU5CUVVNc1NVRkJTU3hEUVVGRExFTkJRVU03WVVGRE5VTTdVVUZEVEN4RFFVRkRPMUZCUlVRc1VVRkJVU3hEUVVGRExFOUJRVmM3V1VGRGFFSXNTVUZCU1N4UFFVRlBMRU5CUVVNc1NVRkJTU3hKUVVGSkxFOUJRVThzUTBGQlF5eEpRVUZKTEVOQlFVTXNSVUZCUlN4TFFVRkxMRWxCUVVrc1EwRkJReXhMUVVGTExFTkJRVU1zVFVGQlRTeEZRVUZGTzJkQ1FVTjJSQ3hKUVVGSkxFOUJRVThzUTBGQlF5eEpRVUZKTEVOQlFVTXNVMEZCVXl4TFFVRkxMRlZCUVZVc1JVRkJSVHR2UWtGRGRrTXNUVUZCVFN4TFFVRkxMRWRCUVVjc1QwRkJUeXhEUVVGRExFbEJRVWtzUTBGQlF5eExRVUZsTEVOQlFVTTdiMEpCUXpORExFbEJRVWtzUTBGQlF5eFJRVUZSTEVOQlFVTTdkMEpCUTFZc01FSkJRVEJDTEVWQlFVVXNTMEZCU3p0eFFrRkRjRU1zUTBGQlF5eERRVUZCTzJsQ1FVTk1PMkZCUTBvN1VVRkRUQ3hEUVVGRE8xRkJSVVFzYVVKQlFXbENPMWxCUTJJc1NVRkJSeXhKUVVGSkxFTkJRVU1zWTBGQll5eEZRVUZETzJkQ1FVTnVRaXhKUVVGSkxFTkJRVU1zWTBGQll5eERRVUZETEhWQ1FVRjFRaXhEUVVGRExHOUNRVUZ2UWl4RlFVRkZMRWxCUVVrc1EwRkJReXhSUVVGUkxFTkJRVU1zUTBGQlF6dGhRVU53Ump0UlFVTk1MRU5CUVVNN1VVRkZSQ3h2UWtGQmIwSTdXVUZEYUVJc1NVRkJSeXhKUVVGSkxFTkJRVU1zWTBGQll5eEZRVUZETzJkQ1FVTnVRaXhKUVVGSkxFTkJRVU1zWTBGQll5eERRVUZETEhsQ1FVRjVRaXhEUVVGRExHOUNRVUZ2UWl4RlFVRkZMRWxCUVVrc1EwRkJReXhSUVVGUkxFTkJRVU1zUTBGQlF6dGhRVU4wUmp0UlFVTk1MRU5CUVVNN1VVRkhSQ3hOUVVGTk8xbEJRMFlzVDBGQlR5eHZRa0ZCUXl4VFFVRlRMRzlDUVVGTExFbEJRVWtzUTBGQlF5eExRVUZMTEVsQlFVVXNNRUpCUVRCQ0xFVkJRVVVzU1VGQlNTeERRVUZETEV0QlFVc3NRMEZCUXl3d1FrRkJNRUlzU1VGQlNTeERRVUZETzFGQlF6VkhMRU5CUVVNN1MwRkRTaXhEUVVGQk8wRkJSVXdzUTBGQlF5eERRVUZESW4wPSIsIi8qXG4gKiAgQ29weXJpZ2h0IDIwMjAgQWRvYmVcbiAqXG4gKiAgTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlIFwiTGljZW5zZVwiKTtcbiAqICB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gKiAgWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4gKlxuICogICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcbiAqXG4gKiAgVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICogIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBCQVNJUyxcbiAqICBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAqICBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gKiAgbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gKi9cbmltcG9ydCBSZWFjdCBmcm9tIFwicmVhY3RcIjtcbmltcG9ydCB7IENvbXBvbmVudE1hcHBpbmcsIENvbnRhaW5lciwgUmVzcG9uc2l2ZUdyaWQgfSBmcm9tICdAYWRvYmUvYWVtLXJlYWN0LWVkaXRhYmxlLWNvbXBvbmVudHMnO1xuaW1wb3J0IHsgd2l0aFN0YW5kYXJkQmFzZUNzc0NsYXNzIH0gZnJvbSAnLi4vLi4vLi4vQWJzdHJhY3RDb3JlQ29udGFpbmVyQ29tcG9uZW50JztcbmNsYXNzIENvbnRhaW5lclYxSW1wbCBleHRlbmRzIENvbnRhaW5lciB7XG4gICAgY29uc3RydWN0b3IocHJvcHMpIHtcbiAgICAgICAgc3VwZXIocHJvcHMpO1xuICAgICAgICAvL0B0cy1pZ25vcmVcbiAgICAgICAgdGhpcy5zdGF0ZSA9IHtcbiAgICAgICAgICAgIGNvbXBvbmVudE1hcHBpbmc6IHRoaXMucHJvcHMuY29tcG9uZW50TWFwcGluZyB8fCBDb21wb25lbnRNYXBwaW5nLFxuICAgICAgICB9O1xuICAgICAgICB0aGlzLm1haW5EaXYgPSBSZWFjdC5jcmVhdGVSZWYoKTtcbiAgICB9XG4gICAgY29tcG9uZW50RGlkTW91bnQoKSB7XG4gICAgICAgIGlmICh0aGlzLm1haW5EaXYuY3VycmVudCkge1xuICAgICAgICAgICAgdGhpcy5tYWluRGl2LmN1cnJlbnQuc2V0QXR0cmlidXRlKCdzdHlsZScsIHRoaXMucHJvcHMuYmFja2dyb3VuZFN0eWxlKTtcbiAgICAgICAgfVxuICAgIH1cbiAgICBjb21wb25lbnREaWRVcGRhdGUoKSB7XG4gICAgICAgIGlmICh0aGlzLm1haW5EaXYuY3VycmVudCkge1xuICAgICAgICAgICAgdGhpcy5tYWluRGl2LmN1cnJlbnQuc2V0QXR0cmlidXRlKCdzdHlsZScsIHRoaXMucHJvcHMuYmFja2dyb3VuZFN0eWxlKTtcbiAgICAgICAgfVxuICAgIH1cbiAgICBnZXQgY29yZUNvbnRhaW5lclByb3BzKCkge1xuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgY2xhc3NOYW1lOiAnY29udGFpbmVyIHJlc3BvbnNpdmVncmlkJ1xuICAgICAgICB9O1xuICAgIH1cbiAgICByZW5kZXIoKSB7XG4gICAgICAgIGNvbnN0IHsgY29tcG9uZW50TWFwcGluZywgYWxsb3dlZENvbXBvbmVudHMsIGNoaWxkcmVuLCBjcVBhdGgsIGNxSXRlbXMsIGNxSXRlbXNPcmRlciwgaXNJbkVkaXRvciwgLi4ub3RoZXJQcm9wcyB9ID0gdGhpcy5wcm9wcztcbiAgICAgICAgY29uc3QgZ3JpZFByb3BzID0ge1xuICAgICAgICAgICAgYWxsb3dlZENvbXBvbmVudHM6IHRoaXMucHJvcHMuYWxsb3dlZENvbXBvbmVudHMsXG4gICAgICAgICAgICBncmlkQ2xhc3NOYW1lczogdGhpcy5wcm9wcy5ncmlkQ2xhc3NOYW1lcyxcbiAgICAgICAgICAgIGNvbHVtbkNsYXNzTmFtZXM6IHRoaXMucHJvcHMuY29sdW1uQ2xhc3NOYW1lcyxcbiAgICAgICAgICAgIGNxSXRlbXM6IHRoaXMucHJvcHMuY3FJdGVtcyxcbiAgICAgICAgICAgIGNxSXRlbXNPcmRlcjogdGhpcy5wcm9wcy5jcUl0ZW1zT3JkZXIsXG4gICAgICAgICAgICB0aXRsZTogXCJcIixcbiAgICAgICAgICAgIGNxUGF0aDogdGhpcy5wcm9wcy5jcVBhdGgsXG4gICAgICAgICAgICBpc0luRWRpdG9yOiBmYWxzZVxuICAgICAgICB9O1xuICAgICAgICByZXR1cm4gKFJlYWN0LmNyZWF0ZUVsZW1lbnQoXCJkaXZcIiwgT2JqZWN0LmFzc2lnbih7fSwgdGhpcy5jb3JlQ29udGFpbmVyUHJvcHMpLFxuICAgICAgICAgICAgUmVhY3QuY3JlYXRlRWxlbWVudChcImRpdlwiLCB7IHJlZjogdGhpcy5tYWluRGl2LCBpZDogdGhpcy5wcm9wcy5pZCwgY2xhc3NOYW1lOiB0aGlzLnByb3BzLmJhc2VDc3NDbGFzcyB9LFxuICAgICAgICAgICAgICAgICh0aGlzLnByb3BzLmxheW91dCAmJiB0aGlzLnByb3BzLmxheW91dCA9PT0gJ3NpbXBsZScpICYmXG4gICAgICAgICAgICAgICAgICAgIFJlYWN0LmNyZWF0ZUVsZW1lbnQoQ29udGFpbmVyLCB7IGNvbXBvbmVudE1hcHBpbmc6IHRoaXMuc3RhdGUuY29tcG9uZW50TWFwcGluZywgY3FGb3JjZVJlbG9hZDogdGhpcy5wcm9wcy5jcUZvcmNlUmVsb2FkLCBjcVBhdGg6IHRoaXMucHJvcHMuY3FQYXRoLCBjcUl0ZW1zOiB0aGlzLnByb3BzLmNxSXRlbXMsIGNxSXRlbXNPcmRlcjogdGhpcy5wcm9wcy5jcUl0ZW1zT3JkZXIsIGlzSW5FZGl0b3I6IGZhbHNlIH0sIHRoaXMuY2hpbGRDb21wb25lbnRzKSxcbiAgICAgICAgICAgICAgICAoIXRoaXMucHJvcHMubGF5b3V0IHx8IHRoaXMucHJvcHMubGF5b3V0ICE9PSAnc2ltcGxlJykgJiZcbiAgICAgICAgICAgICAgICAgICAgUmVhY3QuY3JlYXRlRWxlbWVudChSZXNwb25zaXZlR3JpZCwgT2JqZWN0LmFzc2lnbih7fSwgZ3JpZFByb3BzKSkpKSk7XG4gICAgfVxufVxuZXhwb3J0IGRlZmF1bHQgd2l0aFN0YW5kYXJkQmFzZUNzc0NsYXNzKENvbnRhaW5lclYxSW1wbCwgXCJjbXAtY29udGFpbmVyXCIpO1xuLy8jIHNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKbWFXeGxJam9pUTI5dWRHRnBibVZ5VmpFdWFuTWlMQ0p6YjNWeVkyVlNiMjkwSWpvaUlpd2ljMjkxY21ObGN5STZXeUpEYjI1MFlXbHVaWEpXTVM1MGMzZ2lYU3dpYm1GdFpYTWlPbHRkTENKdFlYQndhVzVuY3lJNklrRkJRVUU3T3pzN096czdPenM3T3pzN08wZEJZMGM3UVVGRlNDeFBRVUZQTEV0QlFXdENMRTFCUVUwc1QwRkJUeXhEUVVGRE8wRkJSWFpETEU5QlFVOHNSVUZCUXl4blFrRkJaMElzUlVGQlJTeFRRVUZUTEVWQlFVVXNZMEZCWXl4RlFVRXlRaXhOUVVGTkxITkRRVUZ6UXl4RFFVRkRPMEZCUXpOSUxFOUJRVThzUlVGQk9FTXNkMEpCUVhkQ0xFVkJRVU1zVFVGQlRTeDVRMEZCZVVNc1EwRkJRenRCUVZNNVNDeE5RVUZOTEdWQlFXZENMRk5CUVZFc1UwRkJiVVE3U1VGSk4wVXNXVUZCV1N4TFFVRXlRanRSUVVOdVF5eExRVUZMTEVOQlFVTXNTMEZCU3l4RFFVRkRMRU5CUVVNN1VVRkZZaXhaUVVGWk8xRkJRMW9zU1VGQlNTeERRVUZETEV0QlFVc3NSMEZCUnp0WlFVTlVMR2RDUVVGblFpeEZRVUZGTEVsQlFVa3NRMEZCUXl4TFFVRkxMRU5CUVVNc1owSkJRV2RDTEVsQlFVa3NaMEpCUVdkQ08xTkJRM0JGTEVOQlFVTTdVVUZEUml4SlFVRkpMRU5CUVVNc1QwRkJUeXhIUVVGSExFdEJRVXNzUTBGQlF5eFRRVUZUTEVWQlFVVXNRMEZCUXp0SlFVTnlReXhEUVVGRE8wbEJSVVFzYVVKQlFXbENPMUZCUTJJc1NVRkJTU3hKUVVGSkxFTkJRVU1zVDBGQlR5eERRVUZETEU5QlFVOHNSVUZCUlR0WlFVTjBRaXhKUVVGSkxFTkJRVU1zVDBGQlR5eERRVUZETEU5QlFVOHNRMEZCUXl4WlFVRlpMRU5CUVVNc1QwRkJUeXhGUVVGRkxFbEJRVWtzUTBGQlF5eExRVUZMTEVOQlFVTXNaVUZCWlN4RFFVRkRMRU5CUVVNN1UwRkRNVVU3U1VGRlRDeERRVUZETzBsQlJVUXNhMEpCUVd0Q08xRkJRMlFzU1VGQlNTeEpRVUZKTEVOQlFVTXNUMEZCVHl4RFFVRkRMRTlCUVU4c1JVRkJSVHRaUVVOMFFpeEpRVUZKTEVOQlFVTXNUMEZCVHl4RFFVRkRMRTlCUVU4c1EwRkJReXhaUVVGWkxFTkJRVU1zVDBGQlR5eEZRVUZGTEVsQlFVa3NRMEZCUXl4TFFVRkxMRU5CUVVNc1pVRkJaU3hEUVVGRExFTkJRVU03VTBGRE1VVTdTVUZEVEN4RFFVRkRPMGxCUlVRc1NVRkJTU3hyUWtGQmEwSTdVVUZEYkVJc1QwRkJUenRaUVVOSUxGTkJRVk1zUlVGQlJTd3dRa0ZCTUVJN1UwRkRlRU1zUTBGQlF6dEpRVU5PTEVOQlFVTTdTVUZIUkN4TlFVRk5PMUZCUTBRc1RVRkJUU3hGUVVGRExHZENRVUZuUWl4RlFVRkRMR2xDUVVGcFFpeEZRVUZETEZGQlFWRXNSVUZCUXl4TlFVRk5MRVZCUVVNc1QwRkJUeXhGUVVGRExGbEJRVmtzUlVGQlF5eFZRVUZWTEVWQlFVVXNSMEZCUnl4VlFVRlZMRVZCUVVNc1IwRkJSeXhKUVVGSkxFTkJRVU1zUzBGQlN5eERRVUZETzFGQlJYWklMRTFCUVUwc1UwRkJVeXhIUVVFMFFqdFpRVU40UXl4cFFrRkJhVUlzUlVGQlJTeEpRVUZKTEVOQlFVTXNTMEZCU3l4RFFVRkRMR2xDUVVGcFFqdFpRVU12UXl4alFVRmpMRVZCUVVVc1NVRkJTU3hEUVVGRExFdEJRVXNzUTBGQlF5eGpRVUZqTzFsQlEzcERMR2RDUVVGblFpeEZRVUZETEVsQlFVa3NRMEZCUXl4TFFVRkxMRU5CUVVNc1owSkJRV2RDTzFsQlF6VkRMRTlCUVU4c1JVRkJReXhKUVVGSkxFTkJRVU1zUzBGQlN5eERRVUZETEU5QlFVODdXVUZETVVJc1dVRkJXU3hGUVVGRExFbEJRVWtzUTBGQlF5eExRVUZMTEVOQlFVTXNXVUZCV1R0WlFVTndReXhMUVVGTExFVkJRVU1zUlVGQlJUdFpRVU5TTEUxQlFVMHNSVUZCUlN4SlFVRkpMRU5CUVVNc1MwRkJTeXhEUVVGRExFMUJRVTA3V1VGRGVrSXNWVUZCVlN4RlFVRkRMRXRCUVVzN1UwRkRiRUlzUTBGQlFUdFJRVU5HTEU5QlFVOHNRMEZEU0N3MlEwRkJVeXhKUVVGSkxFTkJRVU1zYTBKQlFXdENPMWxCUXpWQ0xEWkNRVUZMTEVkQlFVY3NSVUZCUlN4SlFVRkpMRU5CUVVNc1QwRkJUeXhGUVVOcVFpeEZRVUZGTEVWQlFVVXNTVUZCU1N4RFFVRkRMRXRCUVVzc1EwRkJReXhGUVVGRkxFVkJRMnBDTEZOQlFWTXNSVUZCUlN4SlFVRkpMRU5CUVVNc1MwRkJTeXhEUVVGRExGbEJRVms3WjBKQlJXeERMRU5CUVVNc1NVRkJTU3hEUVVGRExFdEJRVXNzUTBGQlF5eE5RVUZOTEVsQlFVa3NTVUZCU1N4RFFVRkRMRXRCUVVzc1EwRkJReXhOUVVGTkxFdEJRVXNzVVVGQlVTeERRVUZETzI5Q1FVTTFReXh2UWtGQlF5eFRRVUZUTEVsQlExSXNaMEpCUVdkQ0xFVkJRVVVzU1VGQlNTeERRVUZETEV0QlFVc3NRMEZCUXl4blFrRkJaMElzUlVGRE4wTXNZVUZCWVN4RlFVRkZMRWxCUVVrc1EwRkJReXhMUVVGTExFTkJRVU1zWVVGQllTeEZRVU4yUXl4TlFVRk5MRVZCUVVVc1NVRkJTU3hEUVVGRExFdEJRVXNzUTBGQlF5eE5RVUZOTEVWQlEzcENMRTlCUVU4c1JVRkJSU3hKUVVGSkxFTkJRVU1zUzBGQlN5eERRVUZETEU5QlFVOHNSVUZETTBJc1dVRkJXU3hGUVVGRkxFbEJRVWtzUTBGQlF5eExRVUZMTEVOQlFVTXNXVUZCV1N4RlFVTnlReXhWUVVGVkxFVkJRVVVzUzBGQlN5eEpRVU5hTEVsQlFVa3NRMEZCUXl4bFFVRmxMRU5CUTJJN1owSkJSWFpDTEVOQlFVTXNRMEZCUXl4SlFVRkpMRU5CUVVNc1MwRkJTeXhEUVVGRExFMUJRVTBzU1VGQlNTeEpRVUZKTEVOQlFVTXNTMEZCU3l4RFFVRkRMRTFCUVUwc1MwRkJTeXhSUVVGUkxFTkJRVU03YjBKQlF6TkRMRzlDUVVGRExHTkJRV01zYjBKQlFVc3NVMEZCVXl4RlFVRnRRaXhEUVVreFJDeERRVU5LTEVOQlExUXNRMEZCUVR0SlFVTk1MRU5CUVVNN1EwRkZTanRCUVVWRUxHVkJRV1VzZDBKQlFYZENMRU5CUVVNc1pVRkJaU3hGUVVGRkxHVkJRV1VzUTBGQlF5eERRVUZESW4wPSIsIm1vZHVsZS5leHBvcnRzID0gcmVxdWlyZShcIkBhZG9iZS9hZW0tcmVhY3QtZWRpdGFibGUtY29tcG9uZW50c1wiKTsiLCJtb2R1bGUuZXhwb3J0cyA9IHJlcXVpcmUoXCJyZWFjdFwiKTsiXSwic291cmNlUm9vdCI6IiJ9 |
@@ -1,19 +0,15 @@ | ||
export function TabsV1IsEmptyFn(props: any): boolean; | ||
export class TabsV1 extends AbstractCoreContainerComponent { | ||
constructor(props: any); | ||
state: { | ||
activeIndex: any; | ||
componentMapping: any; | ||
import React from "react"; | ||
import { CoreContainerProperties, CoreContainerState, CoreContainerItem } from "../../../AbstractCoreContainerComponent"; | ||
export interface TabsV1Properties extends CoreContainerProperties { | ||
accessibilityLabel: string; | ||
activeItem?: string; | ||
cqItems: { | ||
[key: string]: CoreContainerItem; | ||
}; | ||
handleTabNavClick(index: any): void; | ||
/** | ||
* Overload childComponents getter to only return the active tab's items. | ||
* @returns {Object[]} An array with the components instantiated to JSX | ||
*/ | ||
tabbedChildComponents(): Object[]; | ||
tabNavigation(): any[] | JSX.Element; | ||
get tabContainerProps(): void; | ||
render(): JSX.Element; | ||
} | ||
import { AbstractCoreContainerComponent } from "../../../AbstractCoreContainerComponent"; | ||
export interface TabsV1State extends CoreContainerState { | ||
activeIndex: number; | ||
} | ||
declare const _default: React.ComponentType<TabsV1Properties>; | ||
export default _default; | ||
//# sourceMappingURL=TabsV1.d.ts.map |
@@ -1,2 +0,352 @@ | ||
!function(t,e){"object"==typeof exports&&"object"==typeof module?module.exports=e():"function"==typeof define&&define.amd?define([],e):"object"==typeof exports?exports.cqSpaCoreComponents=e():t.cqSpaCoreComponents=e()}("undefined"!=typeof self?self:this,(function(){return function(t){var e={};function n(r){if(e[r])return e[r].exports;var o=e[r]={i:r,l:!1,exports:{}};return t[r].call(o.exports,o,o.exports,n),o.l=!0,o.exports}return n.m=t,n.c=e,n.d=function(t,e,r){n.o(t,e)||Object.defineProperty(t,e,{enumerable:!0,get:r})},n.r=function(t){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})},n.t=function(t,e){if(1&e&&(t=n(t)),8&e)return t;if(4&e&&"object"==typeof t&&t&&t.__esModule)return t;var r=Object.create(null);if(n.r(r),Object.defineProperty(r,"default",{enumerable:!0,value:t}),2&e&&"string"!=typeof t)for(var o in t)n.d(r,o,function(e){return t[e]}.bind(null,o));return r},n.n=function(t){var e=t&&t.__esModule?function(){return t.default}:function(){return t};return n.d(e,"a",e),e},n.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},n.p="",n(n.s=12)}([function(t,e){t.exports=require("react")},function(t,e){t.exports=require("@adobe/cq-react-editable-components")},function(t,e,n){"use strict";n.d(e,"a",(function(){return p}));n(0);var r=n(1);function o(t){return(o="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}function i(t,e){for(var n=0;n<e.length;n++){var r=e[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(t,r.key,r)}}function c(t,e,n){return(c="undefined"!=typeof Reflect&&Reflect.get?Reflect.get:function(t,e,n){var r=function(t,e){for(;!Object.prototype.hasOwnProperty.call(t,e)&&null!==(t=l(t)););return t}(t,e);if(r){var o=Object.getOwnPropertyDescriptor(r,e);return o.get?o.get.call(n):o.value}})(t,e,n||t)}function a(t,e){return(a=Object.setPrototypeOf||function(t,e){return t.__proto__=e,t})(t,e)}function u(t){var e=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],(function(){}))),!0}catch(t){return!1}}();return function(){var n,r=l(t);if(e){var o=l(this).constructor;n=Reflect.construct(r,arguments,o)}else n=r.apply(this,arguments);return s(this,n)}}function s(t,e){return!e||"object"!==o(e)&&"function"!=typeof e?f(t):e}function f(t){if(void 0===t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return t}function l(t){return(l=Object.setPrototypeOf?Object.getPrototypeOf:function(t){return t.__proto__||Object.getPrototypeOf(t)})(t)}var p=function(t){!function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),e&&a(t,e)}(s,t);var e,n,r,o=u(s);function s(t,e){var n,r,i,c;return function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,s),n=o.call(this,t),r=f(n),c=void 0,(i="baseCssCls")in r?Object.defineProperty(r,i,{value:c,enumerable:!0,configurable:!0,writable:!0}):r[i]=c,n.baseCssCls=e,n}return e=s,(n=[{key:"placeholderComponent",get:function(){return this.props.cqItemsOrder&&0!==this.props.cqItemsOrder.length?null:c(l(s.prototype),"placeholderComponent",this)}}])&&i(e.prototype,n),r&&i(e,r),s}(r.Container)},function(t,e,n){"use strict";n.r(e),n.d(e,"TabsV1IsEmptyFn",(function(){return b})),n.d(e,"TabsV1",(function(){return y}));var r=n(0),o=n.n(r),i=n(1);function c(t){return(c="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}function a(t,e){for(var n=0;n<e.length;n++){var r=e[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(t,r.key,r)}}function u(t,e){return(u=Object.setPrototypeOf||function(t,e){return t.__proto__=e,t})(t,e)}function s(t){var e=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],(function(){}))),!0}catch(t){return!1}}();return function(){var n,r=p(t);if(e){var o=p(this).constructor;n=Reflect.construct(r,arguments,o)}else n=r.apply(this,arguments);return f(this,n)}}function f(t,e){return!e||"object"!==c(e)&&"function"!=typeof e?l(t):e}function l(t){if(void 0===t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return t}function p(t){return(p=Object.setPrototypeOf?Object.getPrototypeOf:function(t){return t.__proto__||Object.getPrototypeOf(t)})(t)}function b(t){return null==t.cqItems||0===t.cqItems.length}var y=function(t){!function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),e&&u(t,e)}(f,t);var e,n,r,c=s(f);function f(t){var e;return function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,f),(e=c.call(this,t,"cmp-tabs")).state={activeIndex:t.activeItem&&t.activeItem.length>0?e.props.cqItemsOrder.indexOf(t.activeItem):0,componentMapping:e.props.componentMapping||i.ComponentMapping},e.handleTabNavClick=e.handleTabNavClick.bind(l(e)),e}return e=f,(n=[{key:"tabbedChildComponents",value:function(){var t=this;return!0===this.props.isInEditor?o.a.createElement("div",null,this.childComponents.map((function(e,n){var r={display:t.state.activeIndex===n?"block":"none"};return o.a.createElement("div",{style:r,className:r},t.childComponents[n])}))):this.childComponents[this.state.activeIndex]}},{key:"handleTabNavClick",value:function(t){this.state.activeIndex!==t&&this.setState({activeIndex:t})}},{key:"tabNavigation",value:function(){var t=this;return this.props.cqItems&&this.props.cqItemsOrder?o.a.createElement("ol",{role:"tablist",className:this.baseCssCls+"__tablist","aria-label":this.props.accessibilityLabel,"aria-multiselectable":"false"},this.props.cqItemsOrder.map((function(e,n){var r=t.props.cqItems[e],i=n===t.state.activeIndex;return o.a.createElement("li",{role:"tab",onClick:function(){return t.handleTabNavClick(n)},className:t.baseCssCls+"__tab"+(i?" "+t.baseCssCls+"__tab--active":""),tabIndex:i?"0":"-1","data-cmp-hook-tabs":"tab"},r["cq:panelTitle"])}))):[]}},{key:"render",value:function(){var t=b(this.props);return o.a.createElement("div",this.tabContainerProps,!t&&this.tabNavigation(),!t&&this.tabbedChildComponents(),this.placeholderComponent)}},{key:"tabContainerProps",get:function(){var t=this.containerProps;t.className=t.className+" "+this.baseCssCls,t["data-cmp-is"]="tabs"}}])&&a(e.prototype,n),r&&a(e,r),f}(n(2).a)},,,,,,,,,function(t,e,n){t.exports=n(3)}])})); | ||
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9jcVNwYUNvcmVDb21wb25lbnRzL3dlYnBhY2svdW5pdmVyc2FsTW9kdWxlRGVmaW5pdGlvbiIsIndlYnBhY2s6Ly9jcVNwYUNvcmVDb21wb25lbnRzL3dlYnBhY2svYm9vdHN0cmFwIiwid2VicGFjazovL2NxU3BhQ29yZUNvbXBvbmVudHMvZXh0ZXJuYWwgXCJyZWFjdFwiIiwid2VicGFjazovL2NxU3BhQ29yZUNvbXBvbmVudHMvZXh0ZXJuYWwgXCJAYWRvYmUvY3EtcmVhY3QtZWRpdGFibGUtY29tcG9uZW50c1wiIiwid2VicGFjazovL2NxU3BhQ29yZUNvbXBvbmVudHMvLi9zcmMvQWJzdHJhY3RDb3JlQ29udGFpbmVyQ29tcG9uZW50LmpzeCIsIndlYnBhY2s6Ly9jcVNwYUNvcmVDb21wb25lbnRzLy4vc3JjL2NvbnRhaW5lci90YWJzL3YxL1RhYnNWMS5qc3giXSwibmFtZXMiOlsicm9vdCIsImZhY3RvcnkiLCJleHBvcnRzIiwibW9kdWxlIiwiZGVmaW5lIiwiYW1kIiwic2VsZiIsInRoaXMiLCJpbnN0YWxsZWRNb2R1bGVzIiwiX193ZWJwYWNrX3JlcXVpcmVfXyIsIm1vZHVsZUlkIiwiaSIsImwiLCJtb2R1bGVzIiwiY2FsbCIsIm0iLCJjIiwiZCIsIm5hbWUiLCJnZXR0ZXIiLCJvIiwiT2JqZWN0IiwiZGVmaW5lUHJvcGVydHkiLCJlbnVtZXJhYmxlIiwiZ2V0IiwiciIsIlN5bWJvbCIsInRvU3RyaW5nVGFnIiwidmFsdWUiLCJ0IiwibW9kZSIsIl9fZXNNb2R1bGUiLCJucyIsImNyZWF0ZSIsImtleSIsImJpbmQiLCJuIiwib2JqZWN0IiwicHJvcGVydHkiLCJwcm90b3R5cGUiLCJoYXNPd25Qcm9wZXJ0eSIsInAiLCJzIiwicmVxdWlyZSIsIkFic3RyYWN0Q29yZUNvbnRhaW5lckNvbXBvbmVudCIsInByb3BzIiwiYmFzZUNzc0NscyIsImNxSXRlbXNPcmRlciIsImxlbmd0aCIsIkNvbnRhaW5lciIsIlRhYnNWMUlzRW1wdHlGbiIsImNxSXRlbXMiLCJUYWJzVjEiLCJzdGF0ZSIsImFjdGl2ZUluZGV4IiwiYWN0aXZlSXRlbSIsImluZGV4T2YiLCJjb21wb25lbnRNYXBwaW5nIiwiQ29tcG9uZW50TWFwcGluZyIsImhhbmRsZVRhYk5hdkNsaWNrIiwiaXNJbkVkaXRvciIsImNoaWxkQ29tcG9uZW50cyIsIm1hcCIsIml0ZW0iLCJpbmRleCIsInN0eWxlcyIsImRpc3BsYXkiLCJzdHlsZSIsImNsYXNzTmFtZSIsInNldFN0YXRlIiwicm9sZSIsImFyaWEtbGFiZWwiLCJhY2Nlc3NpYmlsaXR5TGFiZWwiLCJhcmlhLW11bHRpc2VsZWN0YWJsZSIsInRhYiIsImlzQWN0aXZlIiwib25DbGljayIsInRhYkluZGV4IiwiZGF0YS1jbXAtaG9vay10YWJzIiwiaXNFbXB0eSIsInRhYkNvbnRhaW5lclByb3BzIiwidGFiTmF2aWdhdGlvbiIsInRhYmJlZENoaWxkQ29tcG9uZW50cyIsInBsYWNlaG9sZGVyQ29tcG9uZW50IiwiYXR0cnMiLCJjb250YWluZXJQcm9wcyJdLCJtYXBwaW5ncyI6IkNBQUEsU0FBMkNBLEVBQU1DLEdBQzFCLGlCQUFaQyxTQUEwQyxpQkFBWEMsT0FDeENBLE9BQU9ELFFBQVVELElBQ1EsbUJBQVhHLFFBQXlCQSxPQUFPQyxJQUM5Q0QsT0FBTyxHQUFJSCxHQUNlLGlCQUFaQyxRQUNkQSxRQUE2QixvQkFBSUQsSUFFakNELEVBQTBCLG9CQUFJQyxJQVJoQyxDQVNtQixvQkFBVEssS0FBdUJBLEtBQU9DLE1BQU0sV0FDOUMsTyxZQ1RFLElBQUlDLEVBQW1CLEdBR3ZCLFNBQVNDLEVBQW9CQyxHQUc1QixHQUFHRixFQUFpQkUsR0FDbkIsT0FBT0YsRUFBaUJFLEdBQVVSLFFBR25DLElBQUlDLEVBQVNLLEVBQWlCRSxHQUFZLENBQ3pDQyxFQUFHRCxFQUNIRSxHQUFHLEVBQ0hWLFFBQVMsSUFVVixPQU5BVyxFQUFRSCxHQUFVSSxLQUFLWCxFQUFPRCxRQUFTQyxFQUFRQSxFQUFPRCxRQUFTTyxHQUcvRE4sRUFBT1MsR0FBSSxFQUdKVCxFQUFPRCxRQTBEZixPQXJEQU8sRUFBb0JNLEVBQUlGLEVBR3hCSixFQUFvQk8sRUFBSVIsRUFHeEJDLEVBQW9CUSxFQUFJLFNBQVNmLEVBQVNnQixFQUFNQyxHQUMzQ1YsRUFBb0JXLEVBQUVsQixFQUFTZ0IsSUFDbENHLE9BQU9DLGVBQWVwQixFQUFTZ0IsRUFBTSxDQUFFSyxZQUFZLEVBQU1DLElBQUtMLEtBS2hFVixFQUFvQmdCLEVBQUksU0FBU3ZCLEdBQ1gsb0JBQVh3QixRQUEwQkEsT0FBT0MsYUFDMUNOLE9BQU9DLGVBQWVwQixFQUFTd0IsT0FBT0MsWUFBYSxDQUFFQyxNQUFPLFdBRTdEUCxPQUFPQyxlQUFlcEIsRUFBUyxhQUFjLENBQUUwQixPQUFPLEtBUXZEbkIsRUFBb0JvQixFQUFJLFNBQVNELEVBQU9FLEdBRXZDLEdBRFUsRUFBUEEsSUFBVUYsRUFBUW5CLEVBQW9CbUIsSUFDL0IsRUFBUEUsRUFBVSxPQUFPRixFQUNwQixHQUFXLEVBQVBFLEdBQThCLGlCQUFWRixHQUFzQkEsR0FBU0EsRUFBTUcsV0FBWSxPQUFPSCxFQUNoRixJQUFJSSxFQUFLWCxPQUFPWSxPQUFPLE1BR3ZCLEdBRkF4QixFQUFvQmdCLEVBQUVPLEdBQ3RCWCxPQUFPQyxlQUFlVSxFQUFJLFVBQVcsQ0FBRVQsWUFBWSxFQUFNSyxNQUFPQSxJQUN0RCxFQUFQRSxHQUE0QixpQkFBVEYsRUFBbUIsSUFBSSxJQUFJTSxLQUFPTixFQUFPbkIsRUFBb0JRLEVBQUVlLEVBQUlFLEVBQUssU0FBU0EsR0FBTyxPQUFPTixFQUFNTSxJQUFRQyxLQUFLLEtBQU1ELElBQzlJLE9BQU9GLEdBSVJ2QixFQUFvQjJCLEVBQUksU0FBU2pDLEdBQ2hDLElBQUlnQixFQUFTaEIsR0FBVUEsRUFBTzRCLFdBQzdCLFdBQXdCLE9BQU81QixFQUFnQixTQUMvQyxXQUE4QixPQUFPQSxHQUV0QyxPQURBTSxFQUFvQlEsRUFBRUUsRUFBUSxJQUFLQSxHQUM1QkEsR0FJUlYsRUFBb0JXLEVBQUksU0FBU2lCLEVBQVFDLEdBQVksT0FBT2pCLE9BQU9rQixVQUFVQyxlQUFlMUIsS0FBS3VCLEVBQVFDLElBR3pHN0IsRUFBb0JnQyxFQUFJLEdBSWpCaEMsRUFBb0JBLEVBQW9CaUMsRUFBSSxJLGdCQ2xGckR2QyxFQUFPRCxRQUFVeUMsUUFBUSxVLGNDQXpCeEMsRUFBT0QsUUFBVXlDLFFBQVEsd0Msa2tEQ21CbEIsSUFBTUMsRUFBYixhLGtPQUFBLFUsTUFBQSxPQUlJLFdBQVlDLEVBQU9DLEdBQVksTSxNQUFBLE8sNEZBQUEsU0FDM0IsY0FBTUQsRyxFQURxQixLLE9BQUEsRyxFQUFBLGdCLHdGQUUzQixFQUFLQyxXQUFhQSxFQUZTLEVBSm5DLE8sRUFBQSxHLEVBQUEsNENBV1EsT0FBSXZDLEtBQUtzQyxNQUFNRSxjQUFtRCxJQUFuQ3hDLEtBQUtzQyxNQUFNRSxhQUFhQyxPQUc1QyxLQUZQLG1ELDJCQVpaLEdBQW9EQyxjLGsyQ0NDN0MsU0FBU0MsRUFBZ0JMLEdBQzVCLE9BQXdCLE1BQWpCQSxFQUFNTSxTQUE0QyxJQUF6Qk4sRUFBTU0sUUFBUUgsT0FJM0MsSUFBTUksRUFBYixhLGtPQUFBLFUsTUFBQSxPQUVJLFdBQVlQLEdBQU8sYSw0RkFBQSxVQUNmLGNBQU1BLEVBQU8sYUFDUlEsTUFBUSxDQUNUQyxZQUFnQlQsRUFBTVUsWUFBY1YsRUFBTVUsV0FBV1AsT0FBUyxFQUFLLEVBQUtILE1BQU1FLGFBQWFTLFFBQVFYLEVBQU1VLFlBQWMsRUFDdkhFLGlCQUFrQixFQUFLWixNQUFNWSxrQkFBb0JDLG9CQUdyRCxFQUFLQyxrQkFBb0IsRUFBS0Esa0JBQWtCeEIsS0FBdkIsTUFQVixFQUZ2QixPLEVBQUEsRyxFQUFBLCtDQWdCNEIsV0FFcEIsT0FBNkIsSUFBMUI1QixLQUFLc0MsTUFBTWUsV0FJTiw2QkFFUXJELEtBQUtzRCxnQkFBZ0JDLEtBQUksU0FBQ0MsRUFBTUMsR0FDNUIsSUFDTUMsRUFBUyxDQUFFQyxRQURFLEVBQUtiLE1BQU1DLGNBQWdCVSxFQUNJLFFBQVQsUUFDekMsT0FDSSx5QkFBS0csTUFBT0YsRUFBUUcsVUFBV0gsR0FBUyxFQUFLSixnQkFBZ0JHLFFBUTFFekQsS0FBS3NELGdCQUFnQnRELEtBQUs4QyxNQUFNQyxlQXBDbkQsd0NBd0NzQlUsR0FDWHpELEtBQUs4QyxNQUFNQyxjQUFnQlUsR0FDMUJ6RCxLQUFLOEQsU0FBUyxDQUNWZixZQUFhVSxNQTNDN0Isc0NBZ0RtQixXQUlYLE9BQUt6RCxLQUFLc0MsTUFBTU0sU0FBWTVDLEtBQUtzQyxNQUFNRSxhQUtuQyx3QkFBSXVCLEtBQUssVUFDTEYsVUFBVzdELEtBQUt1QyxXQUFhLFlBQzdCeUIsYUFBWWhFLEtBQUtzQyxNQUFNMkIsbUJBQ3ZCQyx1QkFBcUIsU0FFYmxFLEtBQUtzQyxNQUFNRSxhQUFhZSxLQUFJLFNBQUNDLEVBQU1DLEdBQy9CLElBQU1VLEVBQU0sRUFBSzdCLE1BQU1NLFFBQVFZLEdBQ3pCWSxFQUFZWCxJQUFVLEVBQUtYLE1BQU1DLFlBQ3ZDLE9BQ0ksd0JBQUlnQixLQUFLLE1BQ0xNLFFBQVMsa0JBQU0sRUFBS2pCLGtCQUFrQkssSUFDdENJLFVBQVcsRUFBS3RCLFdBQWEsU0FBVzZCLEVBQVcsSUFBTSxFQUFLN0IsV0FBYSxnQkFBa0IsSUFDN0YrQixTQUFVRixFQUFXLElBQU0sS0FDM0JHLHFCQUFtQixPQUNsQkosRUFBSSxzQkFyQlgsS0FsRDlCLCtCQTJGUSxJQUFNSyxFQUFVN0IsRUFBZ0IzQyxLQUFLc0MsT0FFckMsT0FDSSx3QkFBU3RDLEtBQUt5RSxtQkFDUEQsR0FBV3hFLEtBQUswRSxpQkFDaEJGLEdBQVd4RSxLQUFLMkUsd0JBQ2pCM0UsS0FBSzRFLHdCQWpHdkIsd0NBb0ZRLElBQUlDLEVBQVE3RSxLQUFLOEUsZUFDakJELEVBQUssVUFBZ0JBLEVBQU1oQixVQUFZLElBQU03RCxLQUFLdUMsV0FDbERzQyxFQUFNLGVBQWlCLFksMkJBdEYvQixHLEtBQTRCeEMsSSIsImZpbGUiOiJjb250YWluZXIvdGFicy92MS9UYWJzVjEuanMiLCJzb3VyY2VzQ29udGVudCI6WyIoZnVuY3Rpb24gd2VicGFja1VuaXZlcnNhbE1vZHVsZURlZmluaXRpb24ocm9vdCwgZmFjdG9yeSkge1xuXHRpZih0eXBlb2YgZXhwb3J0cyA9PT0gJ29iamVjdCcgJiYgdHlwZW9mIG1vZHVsZSA9PT0gJ29iamVjdCcpXG5cdFx0bW9kdWxlLmV4cG9ydHMgPSBmYWN0b3J5KCk7XG5cdGVsc2UgaWYodHlwZW9mIGRlZmluZSA9PT0gJ2Z1bmN0aW9uJyAmJiBkZWZpbmUuYW1kKVxuXHRcdGRlZmluZShbXSwgZmFjdG9yeSk7XG5cdGVsc2UgaWYodHlwZW9mIGV4cG9ydHMgPT09ICdvYmplY3QnKVxuXHRcdGV4cG9ydHNbXCJjcVNwYUNvcmVDb21wb25lbnRzXCJdID0gZmFjdG9yeSgpO1xuXHRlbHNlXG5cdFx0cm9vdFtcImNxU3BhQ29yZUNvbXBvbmVudHNcIl0gPSBmYWN0b3J5KCk7XG59KSh0eXBlb2Ygc2VsZiAhPT0gJ3VuZGVmaW5lZCcgPyBzZWxmIDogdGhpcywgZnVuY3Rpb24oKSB7XG5yZXR1cm4gIiwiIFx0Ly8gVGhlIG1vZHVsZSBjYWNoZVxuIFx0dmFyIGluc3RhbGxlZE1vZHVsZXMgPSB7fTtcblxuIFx0Ly8gVGhlIHJlcXVpcmUgZnVuY3Rpb25cbiBcdGZ1bmN0aW9uIF9fd2VicGFja19yZXF1aXJlX18obW9kdWxlSWQpIHtcblxuIFx0XHQvLyBDaGVjayBpZiBtb2R1bGUgaXMgaW4gY2FjaGVcbiBcdFx0aWYoaW5zdGFsbGVkTW9kdWxlc1ttb2R1bGVJZF0pIHtcbiBcdFx0XHRyZXR1cm4gaW5zdGFsbGVkTW9kdWxlc1ttb2R1bGVJZF0uZXhwb3J0cztcbiBcdFx0fVxuIFx0XHQvLyBDcmVhdGUgYSBuZXcgbW9kdWxlIChhbmQgcHV0IGl0IGludG8gdGhlIGNhY2hlKVxuIFx0XHR2YXIgbW9kdWxlID0gaW5zdGFsbGVkTW9kdWxlc1ttb2R1bGVJZF0gPSB7XG4gXHRcdFx0aTogbW9kdWxlSWQsXG4gXHRcdFx0bDogZmFsc2UsXG4gXHRcdFx0ZXhwb3J0czoge31cbiBcdFx0fTtcblxuIFx0XHQvLyBFeGVjdXRlIHRoZSBtb2R1bGUgZnVuY3Rpb25cbiBcdFx0bW9kdWxlc1ttb2R1bGVJZF0uY2FsbChtb2R1bGUuZXhwb3J0cywgbW9kdWxlLCBtb2R1bGUuZXhwb3J0cywgX193ZWJwYWNrX3JlcXVpcmVfXyk7XG5cbiBcdFx0Ly8gRmxhZyB0aGUgbW9kdWxlIGFzIGxvYWRlZFxuIFx0XHRtb2R1bGUubCA9IHRydWU7XG5cbiBcdFx0Ly8gUmV0dXJuIHRoZSBleHBvcnRzIG9mIHRoZSBtb2R1bGVcbiBcdFx0cmV0dXJuIG1vZHVsZS5leHBvcnRzO1xuIFx0fVxuXG5cbiBcdC8vIGV4cG9zZSB0aGUgbW9kdWxlcyBvYmplY3QgKF9fd2VicGFja19tb2R1bGVzX18pXG4gXHRfX3dlYnBhY2tfcmVxdWlyZV9fLm0gPSBtb2R1bGVzO1xuXG4gXHQvLyBleHBvc2UgdGhlIG1vZHVsZSBjYWNoZVxuIFx0X193ZWJwYWNrX3JlcXVpcmVfXy5jID0gaW5zdGFsbGVkTW9kdWxlcztcblxuIFx0Ly8gZGVmaW5lIGdldHRlciBmdW5jdGlvbiBmb3IgaGFybW9ueSBleHBvcnRzXG4gXHRfX3dlYnBhY2tfcmVxdWlyZV9fLmQgPSBmdW5jdGlvbihleHBvcnRzLCBuYW1lLCBnZXR0ZXIpIHtcbiBcdFx0aWYoIV9fd2VicGFja19yZXF1aXJlX18ubyhleHBvcnRzLCBuYW1lKSkge1xuIFx0XHRcdE9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBuYW1lLCB7IGVudW1lcmFibGU6IHRydWUsIGdldDogZ2V0dGVyIH0pO1xuIFx0XHR9XG4gXHR9O1xuXG4gXHQvLyBkZWZpbmUgX19lc01vZHVsZSBvbiBleHBvcnRzXG4gXHRfX3dlYnBhY2tfcmVxdWlyZV9fLnIgPSBmdW5jdGlvbihleHBvcnRzKSB7XG4gXHRcdGlmKHR5cGVvZiBTeW1ib2wgIT09ICd1bmRlZmluZWQnICYmIFN5bWJvbC50b1N0cmluZ1RhZykge1xuIFx0XHRcdE9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBTeW1ib2wudG9TdHJpbmdUYWcsIHsgdmFsdWU6ICdNb2R1bGUnIH0pO1xuIFx0XHR9XG4gXHRcdE9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCAnX19lc01vZHVsZScsIHsgdmFsdWU6IHRydWUgfSk7XG4gXHR9O1xuXG4gXHQvLyBjcmVhdGUgYSBmYWtlIG5hbWVzcGFjZSBvYmplY3RcbiBcdC8vIG1vZGUgJiAxOiB2YWx1ZSBpcyBhIG1vZHVsZSBpZCwgcmVxdWlyZSBpdFxuIFx0Ly8gbW9kZSAmIDI6IG1lcmdlIGFsbCBwcm9wZXJ0aWVzIG9mIHZhbHVlIGludG8gdGhlIG5zXG4gXHQvLyBtb2RlICYgNDogcmV0dXJuIHZhbHVlIHdoZW4gYWxyZWFkeSBucyBvYmplY3RcbiBcdC8vIG1vZGUgJiA4fDE6IGJlaGF2ZSBsaWtlIHJlcXVpcmVcbiBcdF9fd2VicGFja19yZXF1aXJlX18udCA9IGZ1bmN0aW9uKHZhbHVlLCBtb2RlKSB7XG4gXHRcdGlmKG1vZGUgJiAxKSB2YWx1ZSA9IF9fd2VicGFja19yZXF1aXJlX18odmFsdWUpO1xuIFx0XHRpZihtb2RlICYgOCkgcmV0dXJuIHZhbHVlO1xuIFx0XHRpZigobW9kZSAmIDQpICYmIHR5cGVvZiB2YWx1ZSA9PT0gJ29iamVjdCcgJiYgdmFsdWUgJiYgdmFsdWUuX19lc01vZHVsZSkgcmV0dXJuIHZhbHVlO1xuIFx0XHR2YXIgbnMgPSBPYmplY3QuY3JlYXRlKG51bGwpO1xuIFx0XHRfX3dlYnBhY2tfcmVxdWlyZV9fLnIobnMpO1xuIFx0XHRPYmplY3QuZGVmaW5lUHJvcGVydHkobnMsICdkZWZhdWx0JywgeyBlbnVtZXJhYmxlOiB0cnVlLCB2YWx1ZTogdmFsdWUgfSk7XG4gXHRcdGlmKG1vZGUgJiAyICYmIHR5cGVvZiB2YWx1ZSAhPSAnc3RyaW5nJykgZm9yKHZhciBrZXkgaW4gdmFsdWUpIF9fd2VicGFja19yZXF1aXJlX18uZChucywga2V5LCBmdW5jdGlvbihrZXkpIHsgcmV0dXJuIHZhbHVlW2tleV07IH0uYmluZChudWxsLCBrZXkpKTtcbiBcdFx0cmV0dXJuIG5zO1xuIFx0fTtcblxuIFx0Ly8gZ2V0RGVmYXVsdEV4cG9ydCBmdW5jdGlvbiBmb3IgY29tcGF0aWJpbGl0eSB3aXRoIG5vbi1oYXJtb255IG1vZHVsZXNcbiBcdF9fd2VicGFja19yZXF1aXJlX18ubiA9IGZ1bmN0aW9uKG1vZHVsZSkge1xuIFx0XHR2YXIgZ2V0dGVyID0gbW9kdWxlICYmIG1vZHVsZS5fX2VzTW9kdWxlID9cbiBcdFx0XHRmdW5jdGlvbiBnZXREZWZhdWx0KCkgeyByZXR1cm4gbW9kdWxlWydkZWZhdWx0J107IH0gOlxuIFx0XHRcdGZ1bmN0aW9uIGdldE1vZHVsZUV4cG9ydHMoKSB7IHJldHVybiBtb2R1bGU7IH07XG4gXHRcdF9fd2VicGFja19yZXF1aXJlX18uZChnZXR0ZXIsICdhJywgZ2V0dGVyKTtcbiBcdFx0cmV0dXJuIGdldHRlcjtcbiBcdH07XG5cbiBcdC8vIE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbFxuIFx0X193ZWJwYWNrX3JlcXVpcmVfXy5vID0gZnVuY3Rpb24ob2JqZWN0LCBwcm9wZXJ0eSkgeyByZXR1cm4gT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKG9iamVjdCwgcHJvcGVydHkpOyB9O1xuXG4gXHQvLyBfX3dlYnBhY2tfcHVibGljX3BhdGhfX1xuIFx0X193ZWJwYWNrX3JlcXVpcmVfXy5wID0gXCJcIjtcblxuXG4gXHQvLyBMb2FkIGVudHJ5IG1vZHVsZSBhbmQgcmV0dXJuIGV4cG9ydHNcbiBcdHJldHVybiBfX3dlYnBhY2tfcmVxdWlyZV9fKF9fd2VicGFja19yZXF1aXJlX18ucyA9IDEyKTtcbiIsIm1vZHVsZS5leHBvcnRzID0gcmVxdWlyZShcInJlYWN0XCIpOyIsIm1vZHVsZS5leHBvcnRzID0gcmVxdWlyZShcIkBhZG9iZS9jcS1yZWFjdC1lZGl0YWJsZS1jb21wb25lbnRzXCIpOyIsIi8qXG4gKiAgQ29weXJpZ2h0IDIwMjAgQWRvYmVcbiAqXG4gKiAgTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlIFwiTGljZW5zZVwiKTtcbiAqICB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gKiAgWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4gKlxuICogICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcbiAqXG4gKiAgVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICogIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBCQVNJUyxcbiAqICBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAqICBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gKiAgbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gKi9cblxuaW1wb3J0IFJlYWN0IGZyb20gXCJyZWFjdFwiO1xuaW1wb3J0IHtDb250YWluZXJ9IGZyb20gJ0BhZG9iZS9jcS1yZWFjdC1lZGl0YWJsZS1jb21wb25lbnRzJztcblxuZXhwb3J0IGNsYXNzIEFic3RyYWN0Q29yZUNvbnRhaW5lckNvbXBvbmVudCBleHRlbmRzIENvbnRhaW5lciB7XG5cbiAgICBiYXNlQ3NzQ2xzO1xuXG4gICAgY29uc3RydWN0b3IocHJvcHMsIGJhc2VDc3NDbHMpIHtcbiAgICAgICAgc3VwZXIocHJvcHMpO1xuICAgICAgICB0aGlzLmJhc2VDc3NDbHMgPSBiYXNlQ3NzQ2xzO1xuICAgIH1cblxuICAgIGdldCBwbGFjZWhvbGRlckNvbXBvbmVudCgpIHtcblxuICAgICAgICBpZighdGhpcy5wcm9wcy5jcUl0ZW1zT3JkZXIgfHwgdGhpcy5wcm9wcy5jcUl0ZW1zT3JkZXIubGVuZ3RoID09PSAwKXtcbiAgICAgICAgICAgIHJldHVybiBzdXBlci5wbGFjZWhvbGRlckNvbXBvbmVudDtcbiAgICAgICAgfWVsc2V7XG4gICAgICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgICAgfVxuICAgIH1cbn0iLCIvKlxuICogIENvcHlyaWdodCAyMDIwIEFkb2JlXG4gKlxuICogIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSBcIkxpY2Vuc2VcIik7XG4gKiAgeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICogIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuICpcbiAqICAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG4gKlxuICogIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAqICBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgQkFTSVMsXG4gKiAgV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gKiAgU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICogIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuICovXG5cbmltcG9ydCBSZWFjdCBmcm9tIFwicmVhY3RcIjtcbmltcG9ydCB7Q29tcG9uZW50TWFwcGluZ30gZnJvbSAnQGFkb2JlL2NxLXJlYWN0LWVkaXRhYmxlLWNvbXBvbmVudHMnO1xuaW1wb3J0IHtBYnN0cmFjdENvcmVDb250YWluZXJDb21wb25lbnR9IGZyb20gXCIuLi8uLi8uLi9BYnN0cmFjdENvcmVDb250YWluZXJDb21wb25lbnRcIjtcblxuZXhwb3J0IGZ1bmN0aW9uIFRhYnNWMUlzRW1wdHlGbihwcm9wcyl7XG4gICAgcmV0dXJuIHByb3BzLmNxSXRlbXMgPT0gbnVsbCB8fCBwcm9wcy5jcUl0ZW1zLmxlbmd0aCA9PT0gMDtcbn1cblxuXG5leHBvcnQgY2xhc3MgVGFic1YxIGV4dGVuZHMgQWJzdHJhY3RDb3JlQ29udGFpbmVyQ29tcG9uZW50IHtcblxuICAgIGNvbnN0cnVjdG9yKHByb3BzKSB7XG4gICAgICAgIHN1cGVyKHByb3BzLCAnY21wLXRhYnMnKTtcbiAgICAgICAgdGhpcy5zdGF0ZSA9IHtcbiAgICAgICAgICAgIGFjdGl2ZUluZGV4OiAoISFwcm9wcy5hY3RpdmVJdGVtICYmIHByb3BzLmFjdGl2ZUl0ZW0ubGVuZ3RoID4gMCkgPyB0aGlzLnByb3BzLmNxSXRlbXNPcmRlci5pbmRleE9mKHByb3BzLmFjdGl2ZUl0ZW0pIDogMCxcbiAgICAgICAgICAgIGNvbXBvbmVudE1hcHBpbmc6IHRoaXMucHJvcHMuY29tcG9uZW50TWFwcGluZyB8fCBDb21wb25lbnRNYXBwaW5nXG4gICAgICAgIH07XG5cbiAgICAgICAgdGhpcy5oYW5kbGVUYWJOYXZDbGljayA9IHRoaXMuaGFuZGxlVGFiTmF2Q2xpY2suYmluZCh0aGlzKTtcbiAgICB9XG5cbiAgICAgIC8qKlxuICAgICAqIE92ZXJsb2FkIGNoaWxkQ29tcG9uZW50cyBnZXR0ZXIgdG8gb25seSByZXR1cm4gdGhlIGFjdGl2ZSB0YWIncyBpdGVtcy5cbiAgICAgKiBAcmV0dXJucyB7T2JqZWN0W119IEFuIGFycmF5IHdpdGggdGhlIGNvbXBvbmVudHMgaW5zdGFudGlhdGVkIHRvIEpTWFxuICAgICAqL1xuICAgIHRhYmJlZENoaWxkQ29tcG9uZW50cygpIHtcblxuICAgICAgICBpZih0aGlzLnByb3BzLmlzSW5FZGl0b3IgPT09IHRydWUpe1xuICAgICAgICAgICAgLy9mb3IgZWRpdGluZyBjYXBhYmlsaXRpZXMgdG8gd29yayBwcm9wZXJseSwgd2UgYWx3YXlzIG5lZWQgdG8gcmVuZGVyIGVhY2ggaXRlbS5cbiAgICAgICAgICAgIC8vd2Ugd2lsbCBoaWRlIHRoZSBkaXNhYmxlZCBpdGVtcyBpbnN0ZWFkLlxuICAgICAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgICAgICA8ZGl2PlxuICAgICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmNoaWxkQ29tcG9uZW50cy5tYXAoKGl0ZW0sIGluZGV4KSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgaXNWaXNpYmxlID0gKHRoaXMuc3RhdGUuYWN0aXZlSW5kZXggPT09IGluZGV4KTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBzdHlsZXMgPSB7IGRpc3BsYXk6ICghaXNWaXNpYmxlKSA/ICdub25lJyA6ICdibG9jayd9O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgc3R5bGU9e3N0eWxlc30gY2xhc3NOYW1lPXtzdHlsZXN9Pnt0aGlzLmNoaWxkQ29tcG9uZW50c1tpbmRleF19PC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgKVxuICAgICAgICB9ZWxzZXtcbiAgICAgICAgICAgIC8vd2hlbiB0aGUgZWRpdG9yIGlzIGRpc2FibGVkLCB3ZSBjYW4ganVzdCBzaG93IHRoZSBhY3RpdmUgaXRlbSBvbmx5LlxuICAgICAgICAgICAgcmV0dXJuIHRoaXMuY2hpbGRDb21wb25lbnRzW3RoaXMuc3RhdGUuYWN0aXZlSW5kZXhdO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgaGFuZGxlVGFiTmF2Q2xpY2soaW5kZXgpe1xuICAgICAgICBpZih0aGlzLnN0YXRlLmFjdGl2ZUluZGV4ICE9PSBpbmRleCl7XG4gICAgICAgICAgICB0aGlzLnNldFN0YXRlKHtcbiAgICAgICAgICAgICAgICBhY3RpdmVJbmRleDogaW5kZXhcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgdGFiTmF2aWdhdGlvbigpe1xuXG4gICAgICAgIGxldCBjaGlsZENvbXBvbmVudHMgPSBbXTtcblxuICAgICAgICBpZiAoIXRoaXMucHJvcHMuY3FJdGVtcyB8fCAhdGhpcy5wcm9wcy5jcUl0ZW1zT3JkZXIpIHtcbiAgICAgICAgICAgIHJldHVybiBjaGlsZENvbXBvbmVudHM7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gKFxuICAgICAgICAgICAgPG9sIHJvbGU9XCJ0YWJsaXN0XCJcbiAgICAgICAgICAgICAgICBjbGFzc05hbWU9e3RoaXMuYmFzZUNzc0NscyArICdfX3RhYmxpc3QnfVxuICAgICAgICAgICAgICAgIGFyaWEtbGFiZWw9e3RoaXMucHJvcHMuYWNjZXNzaWJpbGl0eUxhYmVsfVxuICAgICAgICAgICAgICAgIGFyaWEtbXVsdGlzZWxlY3RhYmxlPVwiZmFsc2VcIj5cbiAgICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5wcm9wcy5jcUl0ZW1zT3JkZXIubWFwKChpdGVtLCBpbmRleCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHRhYiA9IHRoaXMucHJvcHMuY3FJdGVtc1tpdGVtXTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBpc0FjdGl2ZSA9IChpbmRleCA9PT0gdGhpcy5zdGF0ZS5hY3RpdmVJbmRleCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIHJvbGU9XCJ0YWJcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb25DbGljaz17KCkgPT4gdGhpcy5oYW5kbGVUYWJOYXZDbGljayhpbmRleCl9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzc05hbWU9e3RoaXMuYmFzZUNzc0NscyArICdfX3RhYicgKyAoaXNBY3RpdmUgPyAnICcgKyB0aGlzLmJhc2VDc3NDbHMgKyAnX190YWItLWFjdGl2ZScgOiAnJyl9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0YWJJbmRleD17aXNBY3RpdmUgPyAnMCcgOiAnLTEnfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1jbXAtaG9vay10YWJzPVwidGFiXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7dGFiWydjcTpwYW5lbFRpdGxlJ119XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgPC9vbD5cbiAgICAgICAgKVxuXG4gICAgfVxuXG4gICAgZ2V0IHRhYkNvbnRhaW5lclByb3BzKCl7XG4gICAgICAgIGxldCBhdHRycyA9IHRoaXMuY29udGFpbmVyUHJvcHM7XG4gICAgICAgIGF0dHJzWydjbGFzc05hbWUnXSA9IGF0dHJzLmNsYXNzTmFtZSArICcgJyArIHRoaXMuYmFzZUNzc0NscztcbiAgICAgICAgYXR0cnNbJ2RhdGEtY21wLWlzJ10gPSAndGFicyc7XG4gICAgfVxuXG4gICAgcmVuZGVyKCkge1xuXG4gICAgICAgIGNvbnN0IGlzRW1wdHkgPSBUYWJzVjFJc0VtcHR5Rm4odGhpcy5wcm9wcyk7XG5cbiAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgIDxkaXYgey4uLnRoaXMudGFiQ29udGFpbmVyUHJvcHN9PlxuICAgICAgICAgICAgICAgIHsgIWlzRW1wdHkgJiYgdGhpcy50YWJOYXZpZ2F0aW9uKCkgfVxuICAgICAgICAgICAgICAgIHsgIWlzRW1wdHkgJiYgdGhpcy50YWJiZWRDaGlsZENvbXBvbmVudHMoKSB9XG4gICAgICAgICAgICAgICAgeyB0aGlzLnBsYWNlaG9sZGVyQ29tcG9uZW50IH1cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICApXG4gICAgfVxuXG59Il0sInNvdXJjZVJvb3QiOiIifQ== | ||
(function webpackUniversalModuleDefinition(root, factory) { | ||
if(typeof exports === 'object' && typeof module === 'object') | ||
module.exports = factory(); | ||
else if(typeof define === 'function' && define.amd) | ||
define([], factory); | ||
else if(typeof exports === 'object') | ||
exports["cqSpaCoreComponents"] = factory(); | ||
else | ||
root["cqSpaCoreComponents"] = factory(); | ||
})(typeof self !== 'undefined' ? self : this, function() { | ||
return /******/ (function(modules) { // webpackBootstrap | ||
/******/ // The module cache | ||
/******/ var installedModules = {}; | ||
/******/ | ||
/******/ // The require function | ||
/******/ function __webpack_require__(moduleId) { | ||
/******/ | ||
/******/ // Check if module is in cache | ||
/******/ if(installedModules[moduleId]) { | ||
/******/ return installedModules[moduleId].exports; | ||
/******/ } | ||
/******/ // Create a new module (and put it into the cache) | ||
/******/ var module = installedModules[moduleId] = { | ||
/******/ i: moduleId, | ||
/******/ l: false, | ||
/******/ exports: {} | ||
/******/ }; | ||
/******/ | ||
/******/ // Execute the module function | ||
/******/ modules[moduleId].call(module.exports, module, module.exports, __webpack_require__); | ||
/******/ | ||
/******/ // Flag the module as loaded | ||
/******/ module.l = true; | ||
/******/ | ||
/******/ // Return the exports of the module | ||
/******/ return module.exports; | ||
/******/ } | ||
/******/ | ||
/******/ | ||
/******/ // expose the modules object (__webpack_modules__) | ||
/******/ __webpack_require__.m = modules; | ||
/******/ | ||
/******/ // expose the module cache | ||
/******/ __webpack_require__.c = installedModules; | ||
/******/ | ||
/******/ // define getter function for harmony exports | ||
/******/ __webpack_require__.d = function(exports, name, getter) { | ||
/******/ if(!__webpack_require__.o(exports, name)) { | ||
/******/ Object.defineProperty(exports, name, { enumerable: true, get: getter }); | ||
/******/ } | ||
/******/ }; | ||
/******/ | ||
/******/ // define __esModule on exports | ||
/******/ __webpack_require__.r = function(exports) { | ||
/******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) { | ||
/******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' }); | ||
/******/ } | ||
/******/ Object.defineProperty(exports, '__esModule', { value: true }); | ||
/******/ }; | ||
/******/ | ||
/******/ // create a fake namespace object | ||
/******/ // mode & 1: value is a module id, require it | ||
/******/ // mode & 2: merge all properties of value into the ns | ||
/******/ // mode & 4: return value when already ns object | ||
/******/ // mode & 8|1: behave like require | ||
/******/ __webpack_require__.t = function(value, mode) { | ||
/******/ if(mode & 1) value = __webpack_require__(value); | ||
/******/ if(mode & 8) return value; | ||
/******/ if((mode & 4) && typeof value === 'object' && value && value.__esModule) return value; | ||
/******/ var ns = Object.create(null); | ||
/******/ __webpack_require__.r(ns); | ||
/******/ Object.defineProperty(ns, 'default', { enumerable: true, value: value }); | ||
/******/ if(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key)); | ||
/******/ return ns; | ||
/******/ }; | ||
/******/ | ||
/******/ // getDefaultExport function for compatibility with non-harmony modules | ||
/******/ __webpack_require__.n = function(module) { | ||
/******/ var getter = module && module.__esModule ? | ||
/******/ function getDefault() { return module['default']; } : | ||
/******/ function getModuleExports() { return module; }; | ||
/******/ __webpack_require__.d(getter, 'a', getter); | ||
/******/ return getter; | ||
/******/ }; | ||
/******/ | ||
/******/ // Object.prototype.hasOwnProperty.call | ||
/******/ __webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); }; | ||
/******/ | ||
/******/ // __webpack_public_path__ | ||
/******/ __webpack_require__.p = ""; | ||
/******/ | ||
/******/ | ||
/******/ // Load entry module and return exports | ||
/******/ return __webpack_require__(__webpack_require__.s = 5); | ||
/******/ }) | ||
/************************************************************************/ | ||
/******/ ({ | ||
/***/ "./src/AbstractCoreContainerComponent.tsx": | ||
/*!************************************************!*\ | ||
!*** ./src/AbstractCoreContainerComponent.tsx ***! | ||
\************************************************/ | ||
/*! exports provided: withStandardBaseCssClass, withAuthorPanelSwitch */ | ||
/***/ (function(module, __webpack_exports__, __webpack_require__) { | ||
"use strict"; | ||
__webpack_require__.r(__webpack_exports__); | ||
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "withStandardBaseCssClass", function() { return withStandardBaseCssClass; }); | ||
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "withAuthorPanelSwitch", function() { return withAuthorPanelSwitch; }); | ||
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "react"); | ||
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__); | ||
/* | ||
* Copyright 2020 Adobe | ||
* | ||
* Licensed under the Apache License, Version 2.0 (the "License"); | ||
* you may not use this file except in compliance with the License. | ||
* You may obtain a copy of the License at | ||
* | ||
* http://www.apache.org/licenses/LICENSE-2.0 | ||
* | ||
* Unless required by applicable law or agreed to in writing, software | ||
* distributed under the License is distributed on an "AS IS" BASIS, | ||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | ||
* See the License for the specific language governing permissions and | ||
* limitations under the License. | ||
*/ | ||
const withStandardBaseCssClass = (Component, defaultBaseCssClass) => { | ||
return (props) => { | ||
const baseCssClass = props.baseCssClass; | ||
const toBeUsedCssClass = baseCssClass && baseCssClass.trim().length > 0 ? baseCssClass : defaultBaseCssClass; | ||
const mergedProps = { | ||
...props, | ||
baseCssClass: toBeUsedCssClass | ||
}; | ||
return react__WEBPACK_IMPORTED_MODULE_0__["createElement"](Component, Object.assign({}, mergedProps)); | ||
}; | ||
}; | ||
const withAuthorPanelSwitch = (Component) => { | ||
return class extends react__WEBPACK_IMPORTED_MODULE_0__["Component"] { | ||
constructor(props) { | ||
super(props); | ||
this.state = {}; | ||
//@ts-ignore | ||
if (window && window.Granite && window.Granite.author && window.Granite.author.MessageChannel) { | ||
//@ts-ignore | ||
this.messageChannel = new window.Granite.author.MessageChannel("cqauthor", window); | ||
this.callback = this.callback.bind(this); | ||
} | ||
} | ||
callback(message) { | ||
if (message.data && message.data.id === this.props.cqPath) { | ||
if (message.data.operation === "navigate") { | ||
const index = message.data.index; | ||
this.setState({ | ||
activeIndexFromAuthorPanel: index | ||
}); | ||
} | ||
} | ||
} | ||
componentDidMount() { | ||
if (this.messageChannel) { | ||
this.messageChannel.subscribeRequestMessage("cmp.panelcontainer", this.callback); | ||
} | ||
} | ||
componentWillUnmount() { | ||
if (this.messageChannel) { | ||
this.messageChannel.unsubscribeRequestMessage("cmp.panelcontainer", this.callback); | ||
} | ||
} | ||
render() { | ||
return react__WEBPACK_IMPORTED_MODULE_0__["createElement"](Component, Object.assign({}, this.props, { activeIndexFromAuthorPanel: this.state.activeIndexFromAuthorPanel })); | ||
} | ||
}; | ||
}; | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQWJzdHJhY3RDb3JlQ29udGFpbmVyQ29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiQWJzdHJhY3RDb3JlQ29udGFpbmVyQ29tcG9uZW50LnRzeCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7Ozs7R0FjRztBQUVILE9BQU8sS0FBSyxLQUFLLE1BQU0sT0FBTyxDQUFDO0FBd0IvQixNQUFNLENBQUMsTUFBTSx3QkFBd0IsR0FBRyxDQUVwQyxTQUEwQixFQUMxQixtQkFBMEIsRUFDSixFQUFFO0lBQ3hCLE9BQU8sQ0FBQyxLQUFPLEVBQUUsRUFBRTtRQUVmLE1BQU0sWUFBWSxHQUFHLEtBQUssQ0FBQyxZQUFZLENBQUM7UUFDeEMsTUFBTSxnQkFBZ0IsR0FBRyxZQUFZLElBQUksWUFBWSxDQUFDLElBQUksRUFBRSxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsbUJBQW1CLENBQUM7UUFFN0csTUFBTSxXQUFXLEdBQUs7WUFDbEIsR0FBRyxLQUFLO1lBQ1IsWUFBWSxFQUFFLGdCQUFnQjtTQUNqQyxDQUFDO1FBRUYsT0FBTyxvQkFBQyxTQUFTLG9CQUFLLFdBQVcsRUFBSSxDQUFDO0lBQzFDLENBQUMsQ0FBQTtBQUNMLENBQUMsQ0FBQztBQUlGLE1BQU0sQ0FBQyxNQUFNLHFCQUFxQixHQUFHLENBQ2pDLFNBQTBCLEVBQ0wsRUFBRTtJQUV2QixPQUFPLEtBQU0sU0FBUSxLQUFLLENBQUMsU0FBb0M7UUFLM0QsWUFBWSxLQUFPO1lBQ2YsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDO1lBQ2IsSUFBSSxDQUFDLEtBQUssR0FBRyxFQUFFLENBQUE7WUFFZixZQUFZO1lBQ1osSUFBSSxNQUFNLElBQUksTUFBTSxDQUFDLE9BQU8sSUFBSSxNQUFNLENBQUMsT0FBTyxDQUFDLE1BQU0sSUFBSSxNQUFNLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxjQUFjLEVBQUU7Z0JBQzNGLFlBQVk7Z0JBQ1osSUFBSSxDQUFDLGNBQWMsR0FBRyxJQUFJLE1BQU0sQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLGNBQWMsQ0FBQyxVQUFVLEVBQUUsTUFBTSxDQUFDLENBQUM7Z0JBQ25GLElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7YUFDNUM7UUFDTCxDQUFDO1FBRUQsUUFBUSxDQUFDLE9BQVc7WUFDaEIsSUFBSSxPQUFPLENBQUMsSUFBSSxJQUFJLE9BQU8sQ0FBQyxJQUFJLENBQUMsRUFBRSxLQUFLLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxFQUFFO2dCQUN2RCxJQUFJLE9BQU8sQ0FBQyxJQUFJLENBQUMsU0FBUyxLQUFLLFVBQVUsRUFBRTtvQkFDdkMsTUFBTSxLQUFLLEdBQUcsT0FBTyxDQUFDLElBQUksQ0FBQyxLQUFlLENBQUM7b0JBQzNDLElBQUksQ0FBQyxRQUFRLENBQUM7d0JBQ1YsMEJBQTBCLEVBQUUsS0FBSztxQkFDcEMsQ0FBQyxDQUFBO2lCQUNMO2FBQ0o7UUFDTCxDQUFDO1FBRUQsaUJBQWlCO1lBQ2IsSUFBRyxJQUFJLENBQUMsY0FBYyxFQUFDO2dCQUNuQixJQUFJLENBQUMsY0FBYyxDQUFDLHVCQUF1QixDQUFDLG9CQUFvQixFQUFFLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQzthQUNwRjtRQUNMLENBQUM7UUFFRCxvQkFBb0I7WUFDaEIsSUFBRyxJQUFJLENBQUMsY0FBYyxFQUFDO2dCQUNuQixJQUFJLENBQUMsY0FBYyxDQUFDLHlCQUF5QixDQUFDLG9CQUFvQixFQUFFLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQzthQUN0RjtRQUNMLENBQUM7UUFHRCxNQUFNO1lBQ0YsT0FBTyxvQkFBQyxTQUFTLG9CQUFLLElBQUksQ0FBQyxLQUFLLElBQUUsMEJBQTBCLEVBQUUsSUFBSSxDQUFDLEtBQUssQ0FBQywwQkFBMEIsSUFBSSxDQUFDO1FBQzVHLENBQUM7S0FDSixDQUFBO0FBRUwsQ0FBQyxDQUFDIn0= | ||
/***/ }), | ||
/***/ "./src/container/tabs/v1/TabsV1.tsx": | ||
/*!******************************************!*\ | ||
!*** ./src/container/tabs/v1/TabsV1.tsx ***! | ||
\******************************************/ | ||
/*! exports provided: default */ | ||
/***/ (function(module, __webpack_exports__, __webpack_require__) { | ||
"use strict"; | ||
__webpack_require__.r(__webpack_exports__); | ||
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "react"); | ||
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__); | ||
/* harmony import */ var _adobe_aem_react_editable_components__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @adobe/aem-react-editable-components */ "@adobe/aem-react-editable-components"); | ||
/* harmony import */ var _adobe_aem_react_editable_components__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_adobe_aem_react_editable_components__WEBPACK_IMPORTED_MODULE_1__); | ||
/* harmony import */ var _AbstractCoreContainerComponent__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../../AbstractCoreContainerComponent */ "./src/AbstractCoreContainerComponent.tsx"); | ||
/* harmony import */ var _TabsV1IsEmptyFn__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./TabsV1IsEmptyFn */ "./src/container/tabs/v1/TabsV1IsEmptyFn.ts"); | ||
/* | ||
* Copyright 2020 Adobe | ||
* | ||
* Licensed under the Apache License, Version 2.0 (the "License"); | ||
* you may not use this file except in compliance with the License. | ||
* You may obtain a copy of the License at | ||
* | ||
* http://www.apache.org/licenses/LICENSE-2.0 | ||
* | ||
* Unless required by applicable law or agreed to in writing, software | ||
* distributed under the License is distributed on an "AS IS" BASIS, | ||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | ||
* See the License for the specific language governing permissions and | ||
* limitations under the License. | ||
*/ | ||
class TabsV1Impl extends _adobe_aem_react_editable_components__WEBPACK_IMPORTED_MODULE_1__["Container"] { | ||
constructor(props) { | ||
super(props); | ||
this.state = { | ||
activeIndex: (!!props.activeItem && props.activeItem.length > 0) ? this.props.cqItemsOrder.indexOf(props.activeItem) : 0, | ||
componentMapping: this.props.componentMapping || _adobe_aem_react_editable_components__WEBPACK_IMPORTED_MODULE_1__["ComponentMapping"] | ||
}; | ||
this.handleTabNavClick = this.handleTabNavClick.bind(this); | ||
} | ||
componentDidUpdate(prevProps, prevState, snapshot) { | ||
if (this.props.activeIndexFromAuthorPanel !== undefined && prevProps.activeIndexFromAuthorPanel != this.props.activeIndexFromAuthorPanel) { | ||
this.setState({ activeIndex: this.props.activeIndexFromAuthorPanel }); | ||
} | ||
} | ||
/** | ||
* Overload childComponents getter to only return the active tab's items. | ||
* @returns {Object[]} An array with the components instantiated to JSX | ||
*/ | ||
tabbedChildComponents() { | ||
if (this.props.isInEditor === true) { | ||
//for editing capabilities to work properly, we always need to render each item. | ||
//we will hide the disabled items instead. | ||
return (react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(react__WEBPACK_IMPORTED_MODULE_0___default.a.Fragment, null, this.childComponents.map((item, index) => { | ||
const isVisible = (this.state.activeIndex === index); | ||
const styles = { display: (!isVisible) ? 'none' : 'block' }; | ||
return (react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { key: "tab-content-" + index, className: this.props.baseCssClass + '__author-tab-content', style: styles }, this.childComponents[index])); | ||
}))); | ||
} | ||
else { | ||
//when the editor is disabled, we can just show the active item only. | ||
return this.childComponents[this.state.activeIndex]; | ||
} | ||
} | ||
handleTabNavClick(index) { | ||
if (this.state.activeIndex !== index) { | ||
this.setState({ | ||
activeIndex: index | ||
}); | ||
} | ||
} | ||
tabNavigation() { | ||
const childComponents = []; | ||
if (!this.props.cqItems || !this.props.cqItemsOrder) { | ||
return childComponents; | ||
} | ||
return (react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("ol", { role: "tablist", className: this.props.baseCssClass + '__tablist', "aria-label": this.props.accessibilityLabel, "aria-multiselectable": "false" }, this.props.cqItemsOrder.map((item, index) => { | ||
const tab = this.props.cqItems[item]; | ||
const isActive = (index === this.state.activeIndex); | ||
return (react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("li", { role: "tab", key: "tab-" + index, onClick: () => this.handleTabNavClick(index), className: this.props.baseCssClass + '__tab' + (isActive ? ' ' + this.props.baseCssClass + '__tab--active' : ''), tabIndex: isActive ? 0 : -1, "data-cmp-hook-tabs": "tab" }, tab['cq:panelTitle'])); | ||
}))); | ||
} | ||
get tabContainerProps() { | ||
const attrs = this.containerProps; | ||
attrs['className'] = attrs.className + ' ' + this.props.baseCssClass; | ||
attrs['data-cmp-is'] = 'tabs'; | ||
return attrs; | ||
} | ||
render() { | ||
const isEmpty = Object(_TabsV1IsEmptyFn__WEBPACK_IMPORTED_MODULE_3__["TabsV1IsEmptyFn"])(this.props); | ||
return (react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", Object.assign({}, this.tabContainerProps), | ||
!isEmpty && this.tabNavigation(), | ||
!isEmpty && this.tabbedChildComponents(), | ||
this.placeholderComponent)); | ||
} | ||
} | ||
/* harmony default export */ __webpack_exports__["default"] = (Object(_AbstractCoreContainerComponent__WEBPACK_IMPORTED_MODULE_2__["withStandardBaseCssClass"])(Object(_AbstractCoreContainerComponent__WEBPACK_IMPORTED_MODULE_2__["withAuthorPanelSwitch"])(TabsV1Impl), "cmp-tabs")); | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiVGFic1YxLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiVGFic1YxLnRzeCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7Ozs7R0FjRztBQUVILE9BQU8sS0FBSyxNQUFNLE9BQU8sQ0FBQztBQUMxQixPQUFPLEVBQUMsZ0JBQWdCLEVBQUUsU0FBUyxFQUFDLE1BQU0sc0NBQXNDLENBQUM7QUFDakYsT0FBTyxFQUE4QyxxQkFBcUIsRUFBRSx3QkFBd0IsRUFBb0IsTUFBTSx5Q0FBeUMsQ0FBQztBQUN4SyxPQUFPLEVBQUMsZUFBZSxFQUFDLE1BQU0sbUJBQW1CLENBQUM7QUFlbEQsTUFBTSxVQUFXLFNBQVEsU0FBdUM7SUFFNUQsWUFBWSxLQUFzQjtRQUM5QixLQUFLLENBQUMsS0FBSyxDQUFDLENBQUM7UUFFYixJQUFJLENBQUMsS0FBSyxHQUFHO1lBQ1QsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxVQUFVLElBQUksS0FBSyxDQUFDLFVBQVUsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsWUFBWSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDeEgsZ0JBQWdCLEVBQUUsSUFBSSxDQUFDLEtBQUssQ0FBQyxnQkFBZ0IsSUFBSSxnQkFBZ0I7U0FDcEUsQ0FBQztRQUVGLElBQUksQ0FBQyxpQkFBaUIsR0FBRyxJQUFJLENBQUMsaUJBQWlCLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQy9ELENBQUM7SUFFRCxrQkFBa0IsQ0FBQyxTQUFxQyxFQUFFLFNBQWdDLEVBQUUsUUFBYztRQUN0RyxJQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsMEJBQTBCLEtBQUssU0FBUyxJQUFJLFNBQVMsQ0FBQywwQkFBMEIsSUFBSSxJQUFJLENBQUMsS0FBSyxDQUFDLDBCQUEwQixFQUFDO1lBQ3BJ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 | ||
/***/ }), | ||
/***/ "./src/container/tabs/v1/TabsV1IsEmptyFn.ts": | ||
/*!**************************************************!*\ | ||
!*** ./src/container/tabs/v1/TabsV1IsEmptyFn.ts ***! | ||
\**************************************************/ | ||
/*! exports provided: TabsV1IsEmptyFn */ | ||
/***/ (function(module, __webpack_exports__, __webpack_require__) { | ||
"use strict"; | ||
__webpack_require__.r(__webpack_exports__); | ||
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "TabsV1IsEmptyFn", function() { return TabsV1IsEmptyFn; }); | ||
/* | ||
* Copyright 2020 Adobe | ||
* | ||
* Licensed under the Apache License, Version 2.0 (the "License"); | ||
* you may not use this file except in compliance with the License. | ||
* You may obtain a copy of the License at | ||
* | ||
* http://www.apache.org/licenses/LICENSE-2.0 | ||
* | ||
* Unless required by applicable law or agreed to in writing, software | ||
* distributed under the License is distributed on an "AS IS" BASIS, | ||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | ||
* See the License for the specific language governing permissions and | ||
* limitations under the License. | ||
*/ | ||
function TabsV1IsEmptyFn(props) { | ||
return props.cqItemsOrder == null || props.cqItemsOrder.length === 0; | ||
} | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiVGFic1YxSXNFbXB0eUZuLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiVGFic1YxSXNFbXB0eUZuLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7Ozs7OztHQWNHO0FBSUgsTUFBTSxVQUFVLGVBQWUsQ0FBQyxLQUFzQjtJQUNsRCxPQUFPLEtBQUssQ0FBQyxZQUFZLElBQUksSUFBSSxJQUFJLEtBQUssQ0FBQyxZQUFZLENBQUMsTUFBTSxLQUFLLENBQUMsQ0FBQztBQUN6RSxDQUFDIn0= | ||
/***/ }), | ||
/***/ 5: | ||
/*!************************************************!*\ | ||
!*** multi ./src/container/tabs/v1/TabsV1.tsx ***! | ||
\************************************************/ | ||
/*! no static exports found */ | ||
/***/ (function(module, exports, __webpack_require__) { | ||
module.exports = __webpack_require__(/*! ./src/container/tabs/v1/TabsV1.tsx */"./src/container/tabs/v1/TabsV1.tsx"); | ||
/***/ }), | ||
/***/ "@adobe/aem-react-editable-components": | ||
/*!*******************************************************!*\ | ||
!*** external "@adobe/aem-react-editable-components" ***! | ||
\*******************************************************/ | ||
/*! no static exports found */ | ||
/***/ (function(module, exports) { | ||
module.exports = require("@adobe/aem-react-editable-components"); | ||
/***/ }), | ||
/***/ "react": | ||
/*!************************!*\ | ||
!*** external "react" ***! | ||
\************************/ | ||
/*! no static exports found */ | ||
/***/ (function(module, exports) { | ||
module.exports = require("react"); | ||
/***/ }) | ||
/******/ }); | ||
}); | ||
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9jcVNwYUNvcmVDb21wb25lbnRzL3dlYnBhY2svdW5pdmVyc2FsTW9kdWxlRGVmaW5pdGlvbiIsIndlYnBhY2s6Ly9jcVNwYUNvcmVDb21wb25lbnRzL3dlYnBhY2svYm9vdHN0cmFwIiwid2VicGFjazovL2NxU3BhQ29yZUNvbXBvbmVudHMvLi9zcmMvQWJzdHJhY3RDb3JlQ29udGFpbmVyQ29tcG9uZW50LnRzeCIsIndlYnBhY2s6Ly9jcVNwYUNvcmVDb21wb25lbnRzLy4vc3JjL2NvbnRhaW5lci90YWJzL3YxL1RhYnNWMS50c3giLCJ3ZWJwYWNrOi8vY3FTcGFDb3JlQ29tcG9uZW50cy8uL3NyYy9jb250YWluZXIvdGFicy92MS9UYWJzVjFJc0VtcHR5Rm4udHMiLCJ3ZWJwYWNrOi8vY3FTcGFDb3JlQ29tcG9uZW50cy9leHRlcm5hbCBcIkBhZG9iZS9hZW0tcmVhY3QtZWRpdGFibGUtY29tcG9uZW50c1wiIiwid2VicGFjazovL2NxU3BhQ29yZUNvbXBvbmVudHMvZXh0ZXJuYWwgXCJyZWFjdFwiIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLENBQUM7QUFDRCxPO1FDVkE7UUFDQTs7UUFFQTtRQUNBOztRQUVBO1FBQ0E7UUFDQTtRQUNBO1FBQ0E7UUFDQTtRQUNBO1FBQ0E7UUFDQTtRQUNBOztRQUVBO1FBQ0E7O1FBRUE7UUFDQTs7UUFFQTtRQUNBO1FBQ0E7OztRQUdBO1FBQ0E7O1FBRUE7UUFDQTs7UUFFQTtRQUNBO1FBQ0E7UUFDQSwwQ0FBMEMsZ0NBQWdDO1FBQzFFO1FBQ0E7O1FBRUE7UUFDQTtRQUNBO1FBQ0Esd0RBQXdELGtCQUFrQjtRQUMxRTtRQUNBLGlEQUFpRCxjQUFjO1FBQy9EOztRQUVBO1FBQ0E7UUFDQTtRQUNBO1FBQ0E7UUFDQTtRQUNBO1FBQ0E7UUFDQTtRQUNBO1FBQ0E7UUFDQSx5Q0FBeUMsaUNBQWlDO1FBQzFFLGdIQUFnSCxtQkFBbUIsRUFBRTtRQUNySTtRQUNBOztRQUVBO1FBQ0E7UUFDQTtRQUNBLDJCQUEyQiwwQkFBMEIsRUFBRTtRQUN2RCxpQ0FBaUMsZUFBZTtRQUNoRDtRQUNBO1FBQ0E7O1FBRUE7UUFDQSxzREFBc0QsK0RBQStEOztRQUVySDtRQUNBOzs7UUFHQTtRQUNBOzs7Ozs7Ozs7Ozs7O0FDbEZBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDK0I7QUFDeEI7QUFDUDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGVBQWUsbURBQW1CLDRCQUE0QjtBQUM5RDtBQUNBO0FBQ087QUFDUCx5QkFBeUIsK0NBQWU7QUFDeEM7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxxQkFBcUI7QUFDckI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLG1CQUFtQixtREFBbUIsNEJBQTRCLGVBQWUsb0VBQW9FO0FBQ3JKO0FBQ0E7QUFDQTtBQUNBLDJDQUEyQyxtM0U7Ozs7Ozs7Ozs7OztBQ2hFM0M7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDMEI7QUFDeUQ7QUFDdUI7QUFDdEQ7QUFDcEQseUJBQXlCLDhFQUFTO0FBQ2xDO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsNkRBQTZELHFGQUFnQjtBQUM3RTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsMkJBQTJCLHFEQUFxRDtBQUNoRjtBQUNBO0FBQ0E7QUFDQTtBQUNBLGVBQWUsU0FBUztBQUN4QjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0Esb0JBQW9CLDRDQUFLLGVBQWUsNENBQUs7QUFDN0M7QUFDQSxnQ0FBZ0M7QUFDaEMsd0JBQXdCLDRDQUFLLHVCQUF1QiwwR0FBMEc7QUFDOUosYUFBYTtBQUNiO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsYUFBYTtBQUNiO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsZ0JBQWdCLDRDQUFLLHNCQUFzQixrSkFBa0o7QUFDN0w7QUFDQTtBQUNBLG9CQUFvQiw0Q0FBSyxzQkFBc0IsNlBBQTZQO0FBQzVTLFNBQVM7QUFDVDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0Esd0JBQXdCLHdFQUFlO0FBQ3ZDLGdCQUFnQiw0Q0FBSyxzQ0FBc0M7QUFDM0Q7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNlLCtKQUF3QixDQUFDLDZGQUFxQix5QkFBeUIsRUFBQztBQUN2RiwyQ0FBMkMsdXhJOzs7Ozs7Ozs7Ozs7QUNyRjNDO0FBQUE7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDTztBQUNQO0FBQ0E7QUFDQSwyQ0FBMkMsbVc7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FDbEIzQyxpRTs7Ozs7Ozs7Ozs7QUNBQSxrQyIsImZpbGUiOiJjb250YWluZXIvdGFicy92MS9UYWJzVjEuanMiLCJzb3VyY2VzQ29udGVudCI6WyIoZnVuY3Rpb24gd2VicGFja1VuaXZlcnNhbE1vZHVsZURlZmluaXRpb24ocm9vdCwgZmFjdG9yeSkge1xuXHRpZih0eXBlb2YgZXhwb3J0cyA9PT0gJ29iamVjdCcgJiYgdHlwZW9mIG1vZHVsZSA9PT0gJ29iamVjdCcpXG5cdFx0bW9kdWxlLmV4cG9ydHMgPSBmYWN0b3J5KCk7XG5cdGVsc2UgaWYodHlwZW9mIGRlZmluZSA9PT0gJ2Z1bmN0aW9uJyAmJiBkZWZpbmUuYW1kKVxuXHRcdGRlZmluZShbXSwgZmFjdG9yeSk7XG5cdGVsc2UgaWYodHlwZW9mIGV4cG9ydHMgPT09ICdvYmplY3QnKVxuXHRcdGV4cG9ydHNbXCJjcVNwYUNvcmVDb21wb25lbnRzXCJdID0gZmFjdG9yeSgpO1xuXHRlbHNlXG5cdFx0cm9vdFtcImNxU3BhQ29yZUNvbXBvbmVudHNcIl0gPSBmYWN0b3J5KCk7XG59KSh0eXBlb2Ygc2VsZiAhPT0gJ3VuZGVmaW5lZCcgPyBzZWxmIDogdGhpcywgZnVuY3Rpb24oKSB7XG5yZXR1cm4gIiwiIFx0Ly8gVGhlIG1vZHVsZSBjYWNoZVxuIFx0dmFyIGluc3RhbGxlZE1vZHVsZXMgPSB7fTtcblxuIFx0Ly8gVGhlIHJlcXVpcmUgZnVuY3Rpb25cbiBcdGZ1bmN0aW9uIF9fd2VicGFja19yZXF1aXJlX18obW9kdWxlSWQpIHtcblxuIFx0XHQvLyBDaGVjayBpZiBtb2R1bGUgaXMgaW4gY2FjaGVcbiBcdFx0aWYoaW5zdGFsbGVkTW9kdWxlc1ttb2R1bGVJZF0pIHtcbiBcdFx0XHRyZXR1cm4gaW5zdGFsbGVkTW9kdWxlc1ttb2R1bGVJZF0uZXhwb3J0cztcbiBcdFx0fVxuIFx0XHQvLyBDcmVhdGUgYSBuZXcgbW9kdWxlIChhbmQgcHV0IGl0IGludG8gdGhlIGNhY2hlKVxuIFx0XHR2YXIgbW9kdWxlID0gaW5zdGFsbGVkTW9kdWxlc1ttb2R1bGVJZF0gPSB7XG4gXHRcdFx0aTogbW9kdWxlSWQsXG4gXHRcdFx0bDogZmFsc2UsXG4gXHRcdFx0ZXhwb3J0czoge31cbiBcdFx0fTtcblxuIFx0XHQvLyBFeGVjdXRlIHRoZSBtb2R1bGUgZnVuY3Rpb25cbiBcdFx0bW9kdWxlc1ttb2R1bGVJZF0uY2FsbChtb2R1bGUuZXhwb3J0cywgbW9kdWxlLCBtb2R1bGUuZXhwb3J0cywgX193ZWJwYWNrX3JlcXVpcmVfXyk7XG5cbiBcdFx0Ly8gRmxhZyB0aGUgbW9kdWxlIGFzIGxvYWRlZFxuIFx0XHRtb2R1bGUubCA9IHRydWU7XG5cbiBcdFx0Ly8gUmV0dXJuIHRoZSBleHBvcnRzIG9mIHRoZSBtb2R1bGVcbiBcdFx0cmV0dXJuIG1vZHVsZS5leHBvcnRzO1xuIFx0fVxuXG5cbiBcdC8vIGV4cG9zZSB0aGUgbW9kdWxlcyBvYmplY3QgKF9fd2VicGFja19tb2R1bGVzX18pXG4gXHRfX3dlYnBhY2tfcmVxdWlyZV9fLm0gPSBtb2R1bGVzO1xuXG4gXHQvLyBleHBvc2UgdGhlIG1vZHVsZSBjYWNoZVxuIFx0X193ZWJwYWNrX3JlcXVpcmVfXy5jID0gaW5zdGFsbGVkTW9kdWxlcztcblxuIFx0Ly8gZGVmaW5lIGdldHRlciBmdW5jdGlvbiBmb3IgaGFybW9ueSBleHBvcnRzXG4gXHRfX3dlYnBhY2tfcmVxdWlyZV9fLmQgPSBmdW5jdGlvbihleHBvcnRzLCBuYW1lLCBnZXR0ZXIpIHtcbiBcdFx0aWYoIV9fd2VicGFja19yZXF1aXJlX18ubyhleHBvcnRzLCBuYW1lKSkge1xuIFx0XHRcdE9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBuYW1lLCB7IGVudW1lcmFibGU6IHRydWUsIGdldDogZ2V0dGVyIH0pO1xuIFx0XHR9XG4gXHR9O1xuXG4gXHQvLyBkZWZpbmUgX19lc01vZHVsZSBvbiBleHBvcnRzXG4gXHRfX3dlYnBhY2tfcmVxdWlyZV9fLnIgPSBmdW5jdGlvbihleHBvcnRzKSB7XG4gXHRcdGlmKHR5cGVvZiBTeW1ib2wgIT09ICd1bmRlZmluZWQnICYmIFN5bWJvbC50b1N0cmluZ1RhZykge1xuIFx0XHRcdE9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBTeW1ib2wudG9TdHJpbmdUYWcsIHsgdmFsdWU6ICdNb2R1bGUnIH0pO1xuIFx0XHR9XG4gXHRcdE9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCAnX19lc01vZHVsZScsIHsgdmFsdWU6IHRydWUgfSk7XG4gXHR9O1xuXG4gXHQvLyBjcmVhdGUgYSBmYWtlIG5hbWVzcGFjZSBvYmplY3RcbiBcdC8vIG1vZGUgJiAxOiB2YWx1ZSBpcyBhIG1vZHVsZSBpZCwgcmVxdWlyZSBpdFxuIFx0Ly8gbW9kZSAmIDI6IG1lcmdlIGFsbCBwcm9wZXJ0aWVzIG9mIHZhbHVlIGludG8gdGhlIG5zXG4gXHQvLyBtb2RlICYgNDogcmV0dXJuIHZhbHVlIHdoZW4gYWxyZWFkeSBucyBvYmplY3RcbiBcdC8vIG1vZGUgJiA4fDE6IGJlaGF2ZSBsaWtlIHJlcXVpcmVcbiBcdF9fd2VicGFja19yZXF1aXJlX18udCA9IGZ1bmN0aW9uKHZhbHVlLCBtb2RlKSB7XG4gXHRcdGlmKG1vZGUgJiAxKSB2YWx1ZSA9IF9fd2VicGFja19yZXF1aXJlX18odmFsdWUpO1xuIFx0XHRpZihtb2RlICYgOCkgcmV0dXJuIHZhbHVlO1xuIFx0XHRpZigobW9kZSAmIDQpICYmIHR5cGVvZiB2YWx1ZSA9PT0gJ29iamVjdCcgJiYgdmFsdWUgJiYgdmFsdWUuX19lc01vZHVsZSkgcmV0dXJuIHZhbHVlO1xuIFx0XHR2YXIgbnMgPSBPYmplY3QuY3JlYXRlKG51bGwpO1xuIFx0XHRfX3dlYnBhY2tfcmVxdWlyZV9fLnIobnMpO1xuIFx0XHRPYmplY3QuZGVmaW5lUHJvcGVydHkobnMsICdkZWZhdWx0JywgeyBlbnVtZXJhYmxlOiB0cnVlLCB2YWx1ZTogdmFsdWUgfSk7XG4gXHRcdGlmKG1vZGUgJiAyICYmIHR5cGVvZiB2YWx1ZSAhPSAnc3RyaW5nJykgZm9yKHZhciBrZXkgaW4gdmFsdWUpIF9fd2VicGFja19yZXF1aXJlX18uZChucywga2V5LCBmdW5jdGlvbihrZXkpIHsgcmV0dXJuIHZhbHVlW2tleV07IH0uYmluZChudWxsLCBrZXkpKTtcbiBcdFx0cmV0dXJuIG5zO1xuIFx0fTtcblxuIFx0Ly8gZ2V0RGVmYXVsdEV4cG9ydCBmdW5jdGlvbiBmb3IgY29tcGF0aWJpbGl0eSB3aXRoIG5vbi1oYXJtb255IG1vZHVsZXNcbiBcdF9fd2VicGFja19yZXF1aXJlX18ubiA9IGZ1bmN0aW9uKG1vZHVsZSkge1xuIFx0XHR2YXIgZ2V0dGVyID0gbW9kdWxlICYmIG1vZHVsZS5fX2VzTW9kdWxlID9cbiBcdFx0XHRmdW5jdGlvbiBnZXREZWZhdWx0KCkgeyByZXR1cm4gbW9kdWxlWydkZWZhdWx0J107IH0gOlxuIFx0XHRcdGZ1bmN0aW9uIGdldE1vZHVsZUV4cG9ydHMoKSB7IHJldHVybiBtb2R1bGU7IH07XG4gXHRcdF9fd2VicGFja19yZXF1aXJlX18uZChnZXR0ZXIsICdhJywgZ2V0dGVyKTtcbiBcdFx0cmV0dXJuIGdldHRlcjtcbiBcdH07XG5cbiBcdC8vIE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbFxuIFx0X193ZWJwYWNrX3JlcXVpcmVfXy5vID0gZnVuY3Rpb24ob2JqZWN0LCBwcm9wZXJ0eSkgeyByZXR1cm4gT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKG9iamVjdCwgcHJvcGVydHkpOyB9O1xuXG4gXHQvLyBfX3dlYnBhY2tfcHVibGljX3BhdGhfX1xuIFx0X193ZWJwYWNrX3JlcXVpcmVfXy5wID0gXCJcIjtcblxuXG4gXHQvLyBMb2FkIGVudHJ5IG1vZHVsZSBhbmQgcmV0dXJuIGV4cG9ydHNcbiBcdHJldHVybiBfX3dlYnBhY2tfcmVxdWlyZV9fKF9fd2VicGFja19yZXF1aXJlX18ucyA9IDUpO1xuIiwiLypcbiAqICBDb3B5cmlnaHQgMjAyMCBBZG9iZVxuICpcbiAqICBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgXCJMaWNlbnNlXCIpO1xuICogIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAqICBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcbiAqXG4gKiAgICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuICpcbiAqICBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gKiAgZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIEJBU0lTLFxuICogIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICogIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAqICBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAqL1xuaW1wb3J0ICogYXMgUmVhY3QgZnJvbSAncmVhY3QnO1xuZXhwb3J0IGNvbnN0IHdpdGhTdGFuZGFyZEJhc2VDc3NDbGFzcyA9IChDb21wb25lbnQsIGRlZmF1bHRCYXNlQ3NzQ2xhc3MpID0+IHtcbiAgICByZXR1cm4gKHByb3BzKSA9PiB7XG4gICAgICAgIGNvbnN0IGJhc2VDc3NDbGFzcyA9IHByb3BzLmJhc2VDc3NDbGFzcztcbiAgICAgICAgY29uc3QgdG9CZVVzZWRDc3NDbGFzcyA9IGJhc2VDc3NDbGFzcyAmJiBiYXNlQ3NzQ2xhc3MudHJpbSgpLmxlbmd0aCA+IDAgPyBiYXNlQ3NzQ2xhc3MgOiBkZWZhdWx0QmFzZUNzc0NsYXNzO1xuICAgICAgICBjb25zdCBtZXJnZWRQcm9wcyA9IHtcbiAgICAgICAgICAgIC4uLnByb3BzLFxuICAgICAgICAgICAgYmFzZUNzc0NsYXNzOiB0b0JlVXNlZENzc0NsYXNzXG4gICAgICAgIH07XG4gICAgICAgIHJldHVybiBSZWFjdC5jcmVhdGVFbGVtZW50KENvbXBvbmVudCwgT2JqZWN0LmFzc2lnbih7fSwgbWVyZ2VkUHJvcHMpKTtcbiAgICB9O1xufTtcbmV4cG9ydCBjb25zdCB3aXRoQXV0aG9yUGFuZWxTd2l0Y2ggPSAoQ29tcG9uZW50KSA9PiB7XG4gICAgcmV0dXJuIGNsYXNzIGV4dGVuZHMgUmVhY3QuQ29tcG9uZW50IHtcbiAgICAgICAgY29uc3RydWN0b3IocHJvcHMpIHtcbiAgICAgICAgICAgIHN1cGVyKHByb3BzKTtcbiAgICAgICAgICAgIHRoaXMuc3RhdGUgPSB7fTtcbiAgICAgICAgICAgIC8vQHRzLWlnbm9yZVxuICAgICAgICAgICAgaWYgKHdpbmRvdyAmJiB3aW5kb3cuR3Jhbml0ZSAmJiB3aW5kb3cuR3Jhbml0ZS5hdXRob3IgJiYgd2luZG93LkdyYW5pdGUuYXV0aG9yLk1lc3NhZ2VDaGFubmVsKSB7XG4gICAgICAgICAgICAgICAgLy9AdHMtaWdub3JlXG4gICAgICAgICAgICAgICAgdGhpcy5tZXNzYWdlQ2hhbm5lbCA9IG5ldyB3aW5kb3cuR3Jhbml0ZS5hdXRob3IuTWVzc2FnZUNoYW5uZWwoXCJjcWF1dGhvclwiLCB3aW5kb3cpO1xuICAgICAgICAgICAgICAgIHRoaXMuY2FsbGJhY2sgPSB0aGlzLmNhbGxiYWNrLmJpbmQodGhpcyk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgY2FsbGJhY2sobWVzc2FnZSkge1xuICAgICAgICAgICAgaWYgKG1lc3NhZ2UuZGF0YSAmJiBtZXNzYWdlLmRhdGEuaWQgPT09IHRoaXMucHJvcHMuY3FQYXRoKSB7XG4gICAgICAgICAgICAgICAgaWYgKG1lc3NhZ2UuZGF0YS5vcGVyYXRpb24gPT09IFwibmF2aWdhdGVcIikge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBpbmRleCA9IG1lc3NhZ2UuZGF0YS5pbmRleDtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5zZXRTdGF0ZSh7XG4gICAgICAgICAgICAgICAgICAgICAgICBhY3RpdmVJbmRleEZyb21BdXRob3JQYW5lbDogaW5kZXhcbiAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIGNvbXBvbmVudERpZE1vdW50KCkge1xuICAgICAgICAgICAgaWYgKHRoaXMubWVzc2FnZUNoYW5uZWwpIHtcbiAgICAgICAgICAgICAgICB0aGlzLm1lc3NhZ2VDaGFubmVsLnN1YnNjcmliZVJlcXVlc3RNZXNzYWdlKFwiY21wLnBhbmVsY29udGFpbmVyXCIsIHRoaXMuY2FsbGJhY2spO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIGNvbXBvbmVudFdpbGxVbm1vdW50KCkge1xuICAgICAgICAgICAgaWYgKHRoaXMubWVzc2FnZUNoYW5uZWwpIHtcbiAgICAgICAgICAgICAgICB0aGlzLm1lc3NhZ2VDaGFubmVsLnVuc3Vic2NyaWJlUmVxdWVzdE1lc3NhZ2UoXCJjbXAucGFuZWxjb250YWluZXJcIiwgdGhpcy5jYWxsYmFjayk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgcmVuZGVyKCkge1xuICAgICAgICAgICAgcmV0dXJuIFJlYWN0LmNyZWF0ZUVsZW1lbnQoQ29tcG9uZW50LCBPYmplY3QuYXNzaWduKHt9LCB0aGlzLnByb3BzLCB7IGFjdGl2ZUluZGV4RnJvbUF1dGhvclBhbmVsOiB0aGlzLnN0YXRlLmFjdGl2ZUluZGV4RnJvbUF1dGhvclBhbmVsIH0pKTtcbiAgICAgICAgfVxuICAgIH07XG59O1xuLy8jIHNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKbWFXeGxJam9pUVdKemRISmhZM1JEYjNKbFEyOXVkR0ZwYm1WeVEyOXRjRzl1Wlc1MExtcHpJaXdpYzI5MWNtTmxVbTl2ZENJNklpSXNJbk52ZFhKalpYTWlPbHNpUVdKemRISmhZM1JEYjNKbFEyOXVkR0ZwYm1WeVEyOXRjRzl1Wlc1MExuUnplQ0pkTENKdVlXMWxjeUk2VzEwc0ltMWhjSEJwYm1keklqb2lRVUZCUVRzN096czdPenM3T3pzN096czdSMEZqUnp0QlFVVklMRTlCUVU4c1MwRkJTeXhMUVVGTExFMUJRVTBzVDBGQlR5eERRVUZETzBGQmQwSXZRaXhOUVVGTkxFTkJRVU1zVFVGQlRTeDNRa0ZCZDBJc1IwRkJSeXhEUVVWd1F5eFRRVUV3UWl4RlFVTXhRaXh0UWtGQk1FSXNSVUZEU2l4RlFVRkZPMGxCUTNoQ0xFOUJRVThzUTBGQlF5eExRVUZQTEVWQlFVVXNSVUZCUlR0UlFVVm1MRTFCUVUwc1dVRkJXU3hIUVVGSExFdEJRVXNzUTBGQlF5eFpRVUZaTEVOQlFVTTdVVUZEZUVNc1RVRkJUU3huUWtGQlowSXNSMEZCUnl4WlFVRlpMRWxCUVVrc1dVRkJXU3hEUVVGRExFbEJRVWtzUlVGQlJTeERRVUZETEUxQlFVMHNSMEZCUnl4RFFVRkRMRU5CUVVNc1EwRkJReXhEUVVGRExGbEJRVmtzUTBGQlF5eERRVUZETEVOQlFVTXNiVUpCUVcxQ0xFTkJRVU03VVVGRk4wY3NUVUZCVFN4WFFVRlhMRWRCUVVzN1dVRkRiRUlzUjBGQlJ5eExRVUZMTzFsQlExSXNXVUZCV1N4RlFVRkZMR2RDUVVGblFqdFRRVU5xUXl4RFFVRkRPMUZCUlVZc1QwRkJUeXh2UWtGQlF5eFRRVUZUTEc5Q1FVRkxMRmRCUVZjc1JVRkJTU3hEUVVGRE8wbEJRekZETEVOQlFVTXNRMEZCUVR0QlFVTk1MRU5CUVVNc1EwRkJRenRCUVVsR0xFMUJRVTBzUTBGQlF5eE5RVUZOTEhGQ1FVRnhRaXhIUVVGSExFTkJRMnBETEZOQlFUQkNMRVZCUTB3c1JVRkJSVHRKUVVWMlFpeFBRVUZQTEV0QlFVMHNVMEZCVVN4TFFVRkxMRU5CUVVNc1UwRkJiME03VVVGTE0wUXNXVUZCV1N4TFFVRlBPMWxCUTJZc1MwRkJTeXhEUVVGRExFdEJRVXNzUTBGQlF5eERRVUZETzFsQlEySXNTVUZCU1N4RFFVRkRMRXRCUVVzc1IwRkJSeXhGUVVGRkxFTkJRVUU3V1VGRlppeFpRVUZaTzFsQlExb3NTVUZCU1N4TlFVRk5MRWxCUVVrc1RVRkJUU3hEUVVGRExFOUJRVThzU1VGQlNTeE5RVUZOTEVOQlFVTXNUMEZCVHl4RFFVRkRMRTFCUVUwc1NVRkJTU3hOUVVGTkxFTkJRVU1zVDBGQlR5eERRVUZETEUxQlFVMHNRMEZCUXl4alFVRmpMRVZCUVVVN1owSkJRek5HTEZsQlFWazdaMEpCUTFvc1NVRkJTU3hEUVVGRExHTkJRV01zUjBGQlJ5eEpRVUZKTEUxQlFVMHNRMEZCUXl4UFFVRlBMRU5CUVVNc1RVRkJUU3hEUVVGRExHTkJRV01zUTBGQlF5eFZRVUZWTEVWQlFVVXNUVUZCVFN4RFFVRkRMRU5CUVVNN1owSkJRMjVHTEVsQlFVa3NRMEZCUXl4UlFVRlJMRWRCUVVjc1NVRkJTU3hEUVVGRExGRkJRVkVzUTBGQlF5eEpRVUZKTEVOQlFVTXNTVUZCU1N4RFFVRkRMRU5CUVVNN1lVRkROVU03VVVGRFRDeERRVUZETzFGQlJVUXNVVUZCVVN4RFFVRkRMRTlCUVZjN1dVRkRhRUlzU1VGQlNTeFBRVUZQTEVOQlFVTXNTVUZCU1N4SlFVRkpMRTlCUVU4c1EwRkJReXhKUVVGSkxFTkJRVU1zUlVGQlJTeExRVUZMTEVsQlFVa3NRMEZCUXl4TFFVRkxMRU5CUVVNc1RVRkJUU3hGUVVGRk8yZENRVU4yUkN4SlFVRkpMRTlCUVU4c1EwRkJReXhKUVVGSkxFTkJRVU1zVTBGQlV5eExRVUZMTEZWQlFWVXNSVUZCUlR0dlFrRkRka01zVFVGQlRTeExRVUZMTEVkQlFVY3NUMEZCVHl4RFFVRkRMRWxCUVVrc1EwRkJReXhMUVVGbExFTkJRVU03YjBKQlF6TkRMRWxCUVVrc1EwRkJReXhSUVVGUkxFTkJRVU03ZDBKQlExWXNNRUpCUVRCQ0xFVkJRVVVzUzBGQlN6dHhRa0ZEY0VNc1EwRkJReXhEUVVGQk8ybENRVU5NTzJGQlEwbzdVVUZEVEN4RFFVRkRPMUZCUlVRc2FVSkJRV2xDTzFsQlEySXNTVUZCUnl4SlFVRkpMRU5CUVVNc1kwRkJZeXhGUVVGRE8yZENRVU51UWl4SlFVRkpMRU5CUVVNc1kwRkJZeXhEUVVGRExIVkNRVUYxUWl4RFFVRkRMRzlDUVVGdlFpeEZRVUZGTEVsQlFVa3NRMEZCUXl4UlFVRlJMRU5CUVVNc1EwRkJRenRoUVVOd1JqdFJRVU5NTEVOQlFVTTdVVUZGUkN4dlFrRkJiMEk3V1VGRGFFSXNTVUZCUnl4SlFVRkpMRU5CUVVNc1kwRkJZeXhGUVVGRE8yZENRVU51UWl4SlFVRkpMRU5CUVVNc1kwRkJZeXhEUVVGRExIbENRVUY1UWl4RFFVRkRMRzlDUVVGdlFpeEZRVUZGTEVsQlFVa3NRMEZCUXl4UlFVRlJMRU5CUVVNc1EwRkJRenRoUVVOMFJqdFJRVU5NTEVOQlFVTTdVVUZIUkN4TlFVRk5PMWxCUTBZc1QwRkJUeXh2UWtGQlF5eFRRVUZUTEc5Q1FVRkxMRWxCUVVrc1EwRkJReXhMUVVGTExFbEJRVVVzTUVKQlFUQkNMRVZCUVVVc1NVRkJTU3hEUVVGRExFdEJRVXNzUTBGQlF5d3dRa0ZCTUVJc1NVRkJTU3hEUVVGRE8xRkJRelZITEVOQlFVTTdTMEZEU2l4RFFVRkJPMEZCUlV3c1EwRkJReXhEUVVGREluMD0iLCIvKlxuICogIENvcHlyaWdodCAyMDIwIEFkb2JlXG4gKlxuICogIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSBcIkxpY2Vuc2VcIik7XG4gKiAgeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICogIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuICpcbiAqICAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG4gKlxuICogIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAqICBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgQkFTSVMsXG4gKiAgV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gKiAgU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICogIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuICovXG5pbXBvcnQgUmVhY3QgZnJvbSBcInJlYWN0XCI7XG5pbXBvcnQgeyBDb21wb25lbnRNYXBwaW5nLCBDb250YWluZXIgfSBmcm9tICdAYWRvYmUvYWVtLXJlYWN0LWVkaXRhYmxlLWNvbXBvbmVudHMnO1xuaW1wb3J0IHsgd2l0aEF1dGhvclBhbmVsU3dpdGNoLCB3aXRoU3RhbmRhcmRCYXNlQ3NzQ2xhc3MgfSBmcm9tIFwiLi4vLi4vLi4vQWJzdHJhY3RDb3JlQ29udGFpbmVyQ29tcG9uZW50XCI7XG5pbXBvcnQgeyBUYWJzVjFJc0VtcHR5Rm4gfSBmcm9tIFwiLi9UYWJzVjFJc0VtcHR5Rm5cIjtcbmNsYXNzIFRhYnNWMUltcGwgZXh0ZW5kcyBDb250YWluZXIge1xuICAgIGNvbnN0cnVjdG9yKHByb3BzKSB7XG4gICAgICAgIHN1cGVyKHByb3BzKTtcbiAgICAgICAgdGhpcy5zdGF0ZSA9IHtcbiAgICAgICAgICAgIGFjdGl2ZUluZGV4OiAoISFwcm9wcy5hY3RpdmVJdGVtICYmIHByb3BzLmFjdGl2ZUl0ZW0ubGVuZ3RoID4gMCkgPyB0aGlzLnByb3BzLmNxSXRlbXNPcmRlci5pbmRleE9mKHByb3BzLmFjdGl2ZUl0ZW0pIDogMCxcbiAgICAgICAgICAgIGNvbXBvbmVudE1hcHBpbmc6IHRoaXMucHJvcHMuY29tcG9uZW50TWFwcGluZyB8fCBDb21wb25lbnRNYXBwaW5nXG4gICAgICAgIH07XG4gICAgICAgIHRoaXMuaGFuZGxlVGFiTmF2Q2xpY2sgPSB0aGlzLmhhbmRsZVRhYk5hdkNsaWNrLmJpbmQodGhpcyk7XG4gICAgfVxuICAgIGNvbXBvbmVudERpZFVwZGF0ZShwcmV2UHJvcHMsIHByZXZTdGF0ZSwgc25hcHNob3QpIHtcbiAgICAgICAgaWYgKHRoaXMucHJvcHMuYWN0aXZlSW5kZXhGcm9tQXV0aG9yUGFuZWwgIT09IHVuZGVmaW5lZCAmJiBwcmV2UHJvcHMuYWN0aXZlSW5kZXhGcm9tQXV0aG9yUGFuZWwgIT0gdGhpcy5wcm9wcy5hY3RpdmVJbmRleEZyb21BdXRob3JQYW5lbCkge1xuICAgICAgICAgICAgdGhpcy5zZXRTdGF0ZSh7IGFjdGl2ZUluZGV4OiB0aGlzLnByb3BzLmFjdGl2ZUluZGV4RnJvbUF1dGhvclBhbmVsIH0pO1xuICAgICAgICB9XG4gICAgfVxuICAgIC8qKlxuICAgKiBPdmVybG9hZCBjaGlsZENvbXBvbmVudHMgZ2V0dGVyIHRvIG9ubHkgcmV0dXJuIHRoZSBhY3RpdmUgdGFiJ3MgaXRlbXMuXG4gICAqIEByZXR1cm5zIHtPYmplY3RbXX0gQW4gYXJyYXkgd2l0aCB0aGUgY29tcG9uZW50cyBpbnN0YW50aWF0ZWQgdG8gSlNYXG4gICAqL1xuICAgIHRhYmJlZENoaWxkQ29tcG9uZW50cygpIHtcbiAgICAgICAgaWYgKHRoaXMucHJvcHMuaXNJbkVkaXRvciA9PT0gdHJ1ZSkge1xuICAgICAgICAgICAgLy9mb3IgZWRpdGluZyBjYXBhYmlsaXRpZXMgdG8gd29yayBwcm9wZXJseSwgd2UgYWx3YXlzIG5lZWQgdG8gcmVuZGVyIGVhY2ggaXRlbS5cbiAgICAgICAgICAgIC8vd2Ugd2lsbCBoaWRlIHRoZSBkaXNhYmxlZCBpdGVtcyBpbnN0ZWFkLlxuICAgICAgICAgICAgcmV0dXJuIChSZWFjdC5jcmVhdGVFbGVtZW50KFJlYWN0LkZyYWdtZW50LCBudWxsLCB0aGlzLmNoaWxkQ29tcG9uZW50cy5tYXAoKGl0ZW0sIGluZGV4KSA9PiB7XG4gICAgICAgICAgICAgICAgY29uc3QgaXNWaXNpYmxlID0gKHRoaXMuc3RhdGUuYWN0aXZlSW5kZXggPT09IGluZGV4KTtcbiAgICAgICAgICAgICAgICBjb25zdCBzdHlsZXMgPSB7IGRpc3BsYXk6ICghaXNWaXNpYmxlKSA/ICdub25lJyA6ICdibG9jaycgfTtcbiAgICAgICAgICAgICAgICByZXR1cm4gKFJlYWN0LmNyZWF0ZUVsZW1lbnQoXCJkaXZcIiwgeyBrZXk6IFwidGFiLWNvbnRlbnQtXCIgKyBpbmRleCwgY2xhc3NOYW1lOiB0aGlzLnByb3BzLmJhc2VDc3NDbGFzcyArICdfX2F1dGhvci10YWItY29udGVudCcsIHN0eWxlOiBzdHlsZXMgfSwgdGhpcy5jaGlsZENvbXBvbmVudHNbaW5kZXhdKSk7XG4gICAgICAgICAgICB9KSkpO1xuICAgICAgICB9XG4gICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgLy93aGVuIHRoZSBlZGl0b3IgaXMgZGlzYWJsZWQsIHdlIGNhbiBqdXN0IHNob3cgdGhlIGFjdGl2ZSBpdGVtIG9ubHkuXG4gICAgICAgICAgICByZXR1cm4gdGhpcy5jaGlsZENvbXBvbmVudHNbdGhpcy5zdGF0ZS5hY3RpdmVJbmRleF07XG4gICAgICAgIH1cbiAgICB9XG4gICAgaGFuZGxlVGFiTmF2Q2xpY2soaW5kZXgpIHtcbiAgICAgICAgaWYgKHRoaXMuc3RhdGUuYWN0aXZlSW5kZXggIT09IGluZGV4KSB7XG4gICAgICAgICAgICB0aGlzLnNldFN0YXRlKHtcbiAgICAgICAgICAgICAgICBhY3RpdmVJbmRleDogaW5kZXhcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgfVxuICAgIHRhYk5hdmlnYXRpb24oKSB7XG4gICAgICAgIGNvbnN0IGNoaWxkQ29tcG9uZW50cyA9IFtdO1xuICAgICAgICBpZiAoIXRoaXMucHJvcHMuY3FJdGVtcyB8fCAhdGhpcy5wcm9wcy5jcUl0ZW1zT3JkZXIpIHtcbiAgICAgICAgICAgIHJldHVybiBjaGlsZENvbXBvbmVudHM7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIChSZWFjdC5jcmVhdGVFbGVtZW50KFwib2xcIiwgeyByb2xlOiBcInRhYmxpc3RcIiwgY2xhc3NOYW1lOiB0aGlzLnByb3BzLmJhc2VDc3NDbGFzcyArICdfX3RhYmxpc3QnLCBcImFyaWEtbGFiZWxcIjogdGhpcy5wcm9wcy5hY2Nlc3NpYmlsaXR5TGFiZWwsIFwiYXJpYS1tdWx0aXNlbGVjdGFibGVcIjogXCJmYWxzZVwiIH0sIHRoaXMucHJvcHMuY3FJdGVtc09yZGVyLm1hcCgoaXRlbSwgaW5kZXgpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IHRhYiA9IHRoaXMucHJvcHMuY3FJdGVtc1tpdGVtXTtcbiAgICAgICAgICAgIGNvbnN0IGlzQWN0aXZlID0gKGluZGV4ID09PSB0aGlzLnN0YXRlLmFjdGl2ZUluZGV4KTtcbiAgICAgICAgICAgIHJldHVybiAoUmVhY3QuY3JlYXRlRWxlbWVudChcImxpXCIsIHsgcm9sZTogXCJ0YWJcIiwga2V5OiBcInRhYi1cIiArIGluZGV4LCBvbkNsaWNrOiAoKSA9PiB0aGlzLmhhbmRsZVRhYk5hdkNsaWNrKGluZGV4KSwgY2xhc3NOYW1lOiB0aGlzLnByb3BzLmJhc2VDc3NDbGFzcyArICdfX3RhYicgKyAoaXNBY3RpdmUgPyAnICcgKyB0aGlzLnByb3BzLmJhc2VDc3NDbGFzcyArICdfX3RhYi0tYWN0aXZlJyA6ICcnKSwgdGFiSW5kZXg6IGlzQWN0aXZlID8gMCA6IC0xLCBcImRhdGEtY21wLWhvb2stdGFic1wiOiBcInRhYlwiIH0sIHRhYlsnY3E6cGFuZWxUaXRsZSddKSk7XG4gICAgICAgIH0pKSk7XG4gICAgfVxuICAgIGdldCB0YWJDb250YWluZXJQcm9wcygpIHtcbiAgICAgICAgY29uc3QgYXR0cnMgPSB0aGlzLmNvbnRhaW5lclByb3BzO1xuICAgICAgICBhdHRyc1snY2xhc3NOYW1lJ10gPSBhdHRycy5jbGFzc05hbWUgKyAnICcgKyB0aGlzLnByb3BzLmJhc2VDc3NDbGFzcztcbiAgICAgICAgYXR0cnNbJ2RhdGEtY21wLWlzJ10gPSAndGFicyc7XG4gICAgICAgIHJldHVybiBhdHRycztcbiAgICB9XG4gICAgcmVuZGVyKCkge1xuICAgICAgICBjb25zdCBpc0VtcHR5ID0gVGFic1YxSXNFbXB0eUZuKHRoaXMucHJvcHMpO1xuICAgICAgICByZXR1cm4gKFJlYWN0LmNyZWF0ZUVsZW1lbnQoXCJkaXZcIiwgT2JqZWN0LmFzc2lnbih7fSwgdGhpcy50YWJDb250YWluZXJQcm9wcyksXG4gICAgICAgICAgICAhaXNFbXB0eSAmJiB0aGlzLnRhYk5hdmlnYXRpb24oKSxcbiAgICAgICAgICAgICFpc0VtcHR5ICYmIHRoaXMudGFiYmVkQ2hpbGRDb21wb25lbnRzKCksXG4gICAgICAgICAgICB0aGlzLnBsYWNlaG9sZGVyQ29tcG9uZW50KSk7XG4gICAgfVxufVxuZXhwb3J0IGRlZmF1bHQgd2l0aFN0YW5kYXJkQmFzZUNzc0NsYXNzKHdpdGhBdXRob3JQYW5lbFN3aXRjaChUYWJzVjFJbXBsKSwgXCJjbXAtdGFic1wiKTtcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtiYXNlNjQsZXlKMlpYSnphVzl1SWpvekxDSm1hV3hsSWpvaVZHRmljMVl4TG1weklpd2ljMjkxY21ObFVtOXZkQ0k2SWlJc0luTnZkWEpqWlhNaU9sc2lWR0ZpYzFZeExuUnplQ0pkTENKdVlXMWxjeUk2VzEwc0ltMWhjSEJwYm1keklqb2lRVUZCUVRzN096czdPenM3T3pzN096czdSMEZqUnp0QlFVVklMRTlCUVU4c1MwRkJTeXhOUVVGTkxFOUJRVThzUTBGQlF6dEJRVU14UWl4UFFVRlBMRVZCUVVNc1owSkJRV2RDTEVWQlFVVXNVMEZCVXl4RlFVRkRMRTFCUVUwc2MwTkJRWE5ETEVOQlFVTTdRVUZEYWtZc1QwRkJUeXhGUVVFNFF5eHhRa0ZCY1VJc1JVRkJSU3gzUWtGQmQwSXNSVUZCYjBJc1RVRkJUU3g1UTBGQmVVTXNRMEZCUXp0QlFVTjRTeXhQUVVGUExFVkJRVU1zWlVGQlpTeEZRVUZETEUxQlFVMHNiVUpCUVcxQ0xFTkJRVU03UVVGbGJFUXNUVUZCVFN4VlFVRlhMRk5CUVZFc1UwRkJkVU03U1VGRk5VUXNXVUZCV1N4TFFVRnpRanRSUVVNNVFpeExRVUZMTEVOQlFVTXNTMEZCU3l4RFFVRkRMRU5CUVVNN1VVRkZZaXhKUVVGSkxFTkJRVU1zUzBGQlN5eEhRVUZITzFsQlExUXNWMEZCVnl4RlFVRkZMRU5CUVVNc1EwRkJReXhEUVVGRExFdEJRVXNzUTBGQlF5eFZRVUZWTEVsQlFVa3NTMEZCU3l4RFFVRkRMRlZCUVZVc1EwRkJReXhOUVVGTkxFZEJRVWNzUTBGQlF5eERRVUZETEVOQlFVTXNRMEZCUXl4RFFVRkRMRWxCUVVrc1EwRkJReXhMUVVGTExFTkJRVU1zV1VGQldTeERRVUZETEU5QlFVOHNRMEZCUXl4TFFVRkxMRU5CUVVNc1ZVRkJWU3hEUVVGRExFTkJRVU1zUTBGQlF5eERRVUZETEVOQlFVTTdXVUZEZUVnc1owSkJRV2RDTEVWQlFVVXNTVUZCU1N4RFFVRkRMRXRCUVVzc1EwRkJReXhuUWtGQlowSXNTVUZCU1N4blFrRkJaMEk3VTBGRGNFVXNRMEZCUXp0UlFVVkdMRWxCUVVrc1EwRkJReXhwUWtGQmFVSXNSMEZCUnl4SlFVRkpMRU5CUVVNc2FVSkJRV2xDTEVOQlFVTXNTVUZCU1N4RFFVRkRMRWxCUVVrc1EwRkJReXhEUVVGRE8wbEJReTlFTEVOQlFVTTdTVUZGUkN4clFrRkJhMElzUTBGQlF5eFRRVUZ4UXl4RlFVRkZMRk5CUVdkRExFVkJRVVVzVVVGQll6dFJRVU4wUnl4SlFVRkhMRWxCUVVrc1EwRkJReXhMUVVGTExFTkJRVU1zTUVKQlFUQkNMRXRCUVVzc1UwRkJVeXhKUVVGSkxGTkJRVk1zUTBGQlF5d3dRa0ZCTUVJc1NVRkJTU3hKUVVGSkxFTkJRVU1zUzBGQlN5eERRVUZETERCQ1FVRXdRaXhGUVVGRE8xbEJRM0JKTEVsQlFVa3NRMEZCUXl4UlFVRlJMRU5CUVVNc1JVRkJSU3hYUVVGWExFVkJRVVVzU1VGQlNTeERRVUZETEV0QlFVc3NRMEZCUXl3d1FrRkJNRUlzUlVGQlJTeERRVUZGTEVOQlFVTTdVMEZETVVVN1NVRkRUQ3hEUVVGRE8wbEJSVU03T3p0TFFVZERPMGxCUTBnc2NVSkJRWEZDTzFGQlJXcENMRWxCUVVjc1NVRkJTU3hEUVVGRExFdEJRVXNzUTBGQlF5eFZRVUZWTEV0QlFVc3NTVUZCU1N4RlFVRkRPMWxCUXpsQ0xHZEdRVUZuUmp0WlFVTm9SaXd3UTBGQk1FTTdXVUZETVVNc1QwRkJUeXhEUVVOSUxEQkRRVVZSTEVsQlFVa3NRMEZCUXl4bFFVRmxMRU5CUVVNc1IwRkJSeXhEUVVGRExFTkJRVU1zU1VGQlNTeEZRVUZGTEV0QlFVc3NSVUZCUlN4RlFVRkZPMmRDUVVOeVF5eE5RVUZOTEZOQlFWTXNSMEZCUnl4RFFVRkRMRWxCUVVrc1EwRkJReXhMUVVGTExFTkJRVU1zVjBGQlZ5eExRVUZMTEV0QlFVc3NRMEZCUXl4RFFVRkRPMmRDUVVOeVJDeE5RVUZOTEUxQlFVMHNSMEZCUnl4RlFVRkZMRTlCUVU4c1JVRkJSU3hEUVVGRExFTkJRVU1zVTBGQlV5eERRVUZETEVOQlFVTXNRMEZCUXl4RFFVRkRMRTFCUVUwc1EwRkJReXhEUVVGRExFTkJRVU1zVDBGQlR5eEZRVUZETEVOQlFVTTdaMEpCUXpORUxFOUJRVThzUTBGRFNDdzJRa0ZCU3l4SFFVRkhMRVZCUVVVc1kwRkJZeXhIUVVGSExFdEJRVXNzUlVGQlJTeFRRVUZUTEVWQlFVVXNTVUZCU1N4RFFVRkRMRXRCUVVzc1EwRkJReXhaUVVGWkxFZEJRVWNzYzBKQlFYTkNMRVZCUVVVc1MwRkJTeXhGUVVGRkxFMUJRVTBzU1VGQlJ5eEpRVUZKTEVOQlFVTXNaVUZCWlN4RFFVRkRMRXRCUVVzc1EwRkJReXhEUVVGUExFTkJRM0JLTEVOQlFVRTdXVUZEVEN4RFFVRkRMRU5CUVVNc1EwRkZVQ3hEUVVOT0xFTkJRVUU3VTBGRFNqdGhRVUZKTzFsQlEwUXNjVVZCUVhGRk8xbEJRM0pGTEU5QlFVOHNTVUZCU1N4RFFVRkRMR1ZCUVdVc1EwRkJReXhKUVVGSkxFTkJRVU1zUzBGQlN5eERRVUZETEZkQlFWY3NRMEZCUXl4RFFVRkRPMU5CUTNaRU8wbEJRMHdzUTBGQlF6dEpRVVZFTEdsQ1FVRnBRaXhEUVVGRExFdEJRVms3VVVGRE1VSXNTVUZCUnl4SlFVRkpMRU5CUVVNc1MwRkJTeXhEUVVGRExGZEJRVmNzUzBGQlN5eExRVUZMTEVWQlFVTTdXVUZEYUVNc1NVRkJTU3hEUVVGRExGRkJRVkVzUTBGQlF6dG5Ra0ZEVml4WFFVRlhMRVZCUVVVc1MwRkJTenRoUVVOeVFpeERRVUZETEVOQlFVTTdVMEZEVGp0SlFVTk1MRU5CUVVNN1NVRkZSQ3hoUVVGaE8xRkJSVlFzVFVGQlRTeGxRVUZsTEVkQlFXbENMRVZCUVVVc1EwRkJRenRSUVVWNlF5eEpRVUZKTEVOQlFVTXNTVUZCU1N4RFFVRkRMRXRCUVVzc1EwRkJReXhQUVVGUExFbEJRVWtzUTBGQlF5eEpRVUZKTEVOQlFVTXNTMEZCU3l4RFFVRkRMRmxCUVZrc1JVRkJSVHRaUVVOcVJDeFBRVUZQTEdWQlFXVXNRMEZCUXp0VFFVTXhRanRSUVVWRUxFOUJRVThzUTBGRFNDdzBRa0ZCU1N4SlFVRkpMRVZCUVVNc1UwRkJVeXhGUVVOa0xGTkJRVk1zUlVGQlJTeEpRVUZKTEVOQlFVTXNTMEZCU3l4RFFVRkRMRmxCUVZrc1IwRkJSeXhYUVVGWExHZENRVU53UXl4SlFVRkpMRU5CUVVNc1MwRkJTeXhEUVVGRExHdENRVUZyUWl3d1FrRkRjRUlzVDBGQlR5eEpRVVZ3UWl4SlFVRkpMRU5CUVVNc1MwRkJTeXhEUVVGRExGbEJRVmtzUTBGQlF5eEhRVUZITEVOQlFVTXNRMEZCUXl4SlFVRkpMRVZCUVVVc1MwRkJTeXhGUVVGRkxFVkJRVVU3V1VGRGVFTXNUVUZCVFN4SFFVRkhMRWRCUVVjc1NVRkJTU3hEUVVGRExFdEJRVXNzUTBGQlF5eFBRVUZQTEVOQlFVTXNTVUZCU1N4RFFVRkRMRU5CUVVNN1dVRkRja01zVFVGQlRTeFJRVUZSTEVkQlFVY3NRMEZCUXl4TFFVRkxMRXRCUVVzc1NVRkJTU3hEUVVGRExFdEJRVXNzUTBGQlF5eFhRVUZYTEVOQlFVTXNRMEZCUXp0WlFVTndSQ3hQUVVGUExFTkJRMGdzTkVKQlFVa3NTVUZCU1N4RlFVRkRMRXRCUVVzc1JVRkRWaXhIUVVGSExFVkJRVVVzVFVGQlRTeEhRVUZITEV0QlFVc3NSVUZEYmtJc1QwRkJUeXhGUVVGRkxFZEJRVWNzUlVGQlJTeERRVUZETEVsQlFVa3NRMEZCUXl4cFFrRkJhVUlzUTBGQlF5eExRVUZMTEVOQlFVTXNSVUZETlVNc1UwRkJVeXhGUVVGRkxFbEJRVWtzUTBGQlF5eExRVUZMTEVOQlFVTXNXVUZCV1N4SFFVRkhMRTlCUVU4c1IwRkJSeXhEUVVGRExGRkJRVkVzUTBGQlF5eERRVUZETEVOQlFVTXNSMEZCUnl4SFFVRkhMRWxCUVVrc1EwRkJReXhMUVVGTExFTkJRVU1zV1VGQldTeEhRVUZITEdWQlFXVXNRMEZCUXl4RFFVRkRMRU5CUVVNc1JVRkJSU3hEUVVGRExFVkJRMmhJTEZGQlFWRXNSVUZCUlN4UlFVRlJMRU5CUVVNc1EwRkJReXhEUVVGRExFTkJRVU1zUTBGQlF5eERRVUZETEVOQlFVTXNRMEZCUXl4RFFVRkRMSGRDUVVOU0xFdEJRVXNzU1VGRGRrSXNSMEZCUnl4RFFVRkRMR1ZCUVdVc1EwRkJReXhEUVVOd1FpeERRVU5TTEVOQlFVRTdVVUZGVEN4RFFVRkRMRU5CUVVNc1EwRkhWQ3hEUVVOU0xFTkJRVUU3U1VGRlRDeERRVUZETzBsQlJVUXNTVUZCU1N4cFFrRkJhVUk3VVVGRGFrSXNUVUZCVFN4TFFVRkxMRWRCUVVjc1NVRkJTU3hEUVVGRExHTkJRV01zUTBGQlF6dFJRVU5zUXl4TFFVRkxMRU5CUVVNc1YwRkJWeXhEUVVGRExFZEJRVWNzUzBGQlN5eERRVUZETEZOQlFWTXNSMEZCUnl4SFFVRkhMRWRCUVVjc1NVRkJTU3hEUVVGRExFdEJRVXNzUTBGQlF5eFpRVUZaTEVOQlFVTTdVVUZEY2tVc1MwRkJTeXhEUVVGRExHRkJRV0VzUTBGQlF5eEhRVUZITEUxQlFVMHNRMEZCUXp0UlFVTTVRaXhQUVVGUExFdEJRVXNzUTBGQlF6dEpRVU5xUWl4RFFVRkRPMGxCUlVRc1RVRkJUVHRSUVVWR0xFMUJRVTBzVDBGQlR5eEhRVUZITEdWQlFXVXNRMEZCUXl4SlFVRkpMRU5CUVVNc1MwRkJTeXhEUVVGRExFTkJRVU03VVVGRk5VTXNUMEZCVHl4RFFVTklMRFpEUVVGVExFbEJRVWtzUTBGQlF5eHBRa0ZCYVVJN1dVRkRla0lzUTBGQlF5eFBRVUZQTEVsQlFVa3NTVUZCU1N4RFFVRkRMR0ZCUVdFc1JVRkJSVHRaUVVOb1F5eERRVUZETEU5QlFVOHNTVUZCU1N4SlFVRkpMRU5CUVVNc2NVSkJRWEZDTEVWQlFVVTdXVUZEZUVNc1NVRkJTU3hEUVVGRExHOUNRVUZ2UWl4RFFVTjZRaXhEUVVOVUxFTkJRVUU3U1VGRFRDeERRVUZETzBOQlJVbzdRVUZGUkN4bFFVRmxMSGRDUVVGM1FpeERRVUZETEhGQ1FVRnhRaXhEUVVGRExGVkJRVlVzUTBGQlF5eEZRVUZGTEZWQlFWVXNRMEZCUXl4RFFVRkRJbjA9IiwiLypcbiAqICBDb3B5cmlnaHQgMjAyMCBBZG9iZVxuICpcbiAqICBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgXCJMaWNlbnNlXCIpO1xuICogIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAqICBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcbiAqXG4gKiAgICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuICpcbiAqICBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gKiAgZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIEJBU0lTLFxuICogIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICogIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAqICBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIFRhYnNWMUlzRW1wdHlGbihwcm9wcykge1xuICAgIHJldHVybiBwcm9wcy5jcUl0ZW1zT3JkZXIgPT0gbnVsbCB8fCBwcm9wcy5jcUl0ZW1zT3JkZXIubGVuZ3RoID09PSAwO1xufVxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKbWFXeGxJam9pVkdGaWMxWXhTWE5GYlhCMGVVWnVMbXB6SWl3aWMyOTFjbU5sVW05dmRDSTZJaUlzSW5OdmRYSmpaWE1pT2xzaVZHRmljMVl4U1hORmJYQjBlVVp1TG5SeklsMHNJbTVoYldWeklqcGJYU3dpYldGd2NHbHVaM01pT2lKQlFVRkJPenM3T3pzN096czdPenM3T3p0SFFXTkhPMEZCU1Vnc1RVRkJUU3hWUVVGVkxHVkJRV1VzUTBGQlF5eExRVUZ6UWp0SlFVTnNSQ3hQUVVGUExFdEJRVXNzUTBGQlF5eFpRVUZaTEVsQlFVa3NTVUZCU1N4SlFVRkpMRXRCUVVzc1EwRkJReXhaUVVGWkxFTkJRVU1zVFVGQlRTeExRVUZMTEVOQlFVTXNRMEZCUXp0QlFVTjZSU3hEUVVGREluMD0iLCJtb2R1bGUuZXhwb3J0cyA9IHJlcXVpcmUoXCJAYWRvYmUvYWVtLXJlYWN0LWVkaXRhYmxlLWNvbXBvbmVudHNcIik7IiwibW9kdWxlLmV4cG9ydHMgPSByZXF1aXJlKFwicmVhY3RcIik7Il0sInNvdXJjZVJvb3QiOiIifQ== |
@@ -1,5 +0,11 @@ | ||
export * from "./container/tabs/v1/TabsV1"; | ||
export * from "./container/accordion/v1/AccordionV1"; | ||
export * from "./container/carousel/v1/CarouselV1"; | ||
export * from "./container/container/v1/ContainerV1"; | ||
export * from './AbstractCoreContainerComponent'; | ||
export * from './isEmptyFunctions'; | ||
export * from './container/tabs/v1/TabsV1'; | ||
export { default as TabsV1 } from "./container/tabs/v1/TabsV1"; | ||
export * from './container/accordion/v1/AccordionV1'; | ||
export { default as AccordionV1 } from "./container/accordion/v1/AccordionV1"; | ||
export * from './container/carousel/v1/CarouselV1'; | ||
export { default as CarouselV1 } from "./container/carousel/v1/CarouselV1"; | ||
export * from './container/container/v1/ContainerV1'; | ||
export { default as ContainerV1 } from "./container/container/v1/ContainerV1"; | ||
//# sourceMappingURL=index.d.ts.map |
@@ -6,3 +6,4 @@ { | ||
"container/tabs/v1/TabsV1.js": "container/tabs/v1/TabsV1.js", | ||
"index.js": "index.js" | ||
"index.js": "index.js", | ||
"isEmptyFunctions.js": "isEmptyFunctions.js" | ||
} |
{ | ||
"name": "@adobe/aem-core-components-react-spa", | ||
"version": "1.0.1", | ||
"version": "1.0.3", | ||
"license": "Apache-2.0", | ||
"scripts": { | ||
"linter": "eslint --ext .js,.jsx .", | ||
"linter:fix": "eslint --ext .js,.jsx . --fix", | ||
"test": "jest", | ||
"test:coverage": "jest --coverage", | ||
"clean": "rm -rf coverage/ dist/ src/tsconfig.types.tsbuildinfo", | ||
"linter": "eslint --ext .ts,.tsx .", | ||
"linter:fix": "eslint --ext .ts,.tsx . --fix", | ||
"test": "jest --passWithNoTests", | ||
"test-clear": "jest --clearCache", | ||
"test:coverage": "jest --coverage --passWithNoTests", | ||
"test:debug": "jest --coverage --watchAll", | ||
"build": "webpack --config config/webpack.config.core.js && webpack --config config/webpack.config.lib.js", | ||
"build:production": "cross-env NODE_ENV=production webpack --config config/webpack.config.core.js --mode=production && webpack --config config/webpack.config.lib.js --mode=production && tsc -p src/tsconfig.types.json", | ||
"build:types": "tsc -p src/tsconfig.types.json", | ||
"build": "npm run clean && webpack --config config/webpack.config.core.js && webpack --config config/webpack.config.lib.js && tsc -p src/tsconfig.types.json", | ||
"build:production": "cross-env NODE_ENV=production npm run clean && webpack --config config/webpack.config.core.js --mode=production && webpack --config config/webpack.config.lib.js --mode=production && tsc -p src/tsconfig.types.json", | ||
"build:types": "npm run clean && tsc -p src/tsconfig.types.json", | ||
"docs": "jsdoc -c ./jsdoc_conf.json && doxdox \"src/**/*.+(js|jsx)\" --layout templates/DOCUMENTATION.hbs --output DOCUMENTATION.md", | ||
@@ -34,15 +36,22 @@ "readme": "node node_modules/markdown-include/bin/cli.js markdown-include.config.json", | ||
"react": "^16.13.1", | ||
"@adobe/cq-react-editable-components": "^1.2.1", | ||
"@adobe/cq-spa-component-mapping": "^1.0.3", | ||
"@adobe/cq-spa-page-model-manager": "^1.1.3" | ||
"@adobe/aem-react-editable-components": "^1.0.2", | ||
"@adobe/aem-spa-component-mapping": "^1.0.0", | ||
"@adobe/aem-spa-page-model-manager": "^1.0.0" | ||
}, | ||
"devDependencies": { | ||
"@adobe/aem-react-editable-components": "^1.0.2", | ||
"@adobe/aem-spa-component-mapping": "^1.0.0", | ||
"@adobe/aem-spa-page-model-manager": "^1.0.0", | ||
"react": "^16.13.1", | ||
"react-dom": "^16.13.1", | ||
"@babel/cli": "^7.7.7", | ||
"@babel/core": "^7.7.7", | ||
"@babel/preset-env": "^7.7.7", | ||
"@babel/core": "^7.11.1", | ||
"@babel/plugin-proposal-class-properties": "^7.7.4", | ||
"@babel/preset-env": "^7.11.0", | ||
"@babel/preset-react": "^7.7.4", | ||
"@babel/plugin-proposal-class-properties": "^7.7.4", | ||
"@typescript-eslint/eslint-plugin": "^4.0.0-alpha.14", | ||
"@typescript-eslint/parser": "^4.0.0-alpha.14", | ||
"@typescript-eslint/typescript-estree": "^4.0.0-alpha.14", | ||
"babel-loader": "^8.0.6", | ||
"babel-eslint": "^10.1.0", | ||
"babel-plugin-istanbul": "^5.2.0", | ||
@@ -53,4 +62,6 @@ "chai": "^4.2.0", | ||
"doxdox": "^3.0.0", | ||
"eslint": "^6.7.2", | ||
"eslint-plugin-react": "^7.17.0", | ||
"eslint": "^6.8.0", | ||
"eslint-plugin-react": "^7.20.6", | ||
"enzyme": "^3.11.0", | ||
"enzyme-adapter-react-16": "^1.15.2", | ||
"istanbul": "^0.4.5", | ||
@@ -65,3 +76,3 @@ "istanbul-instrumenter-loader": "^3.0.1", | ||
"jest-watch-typeahead": "0.4.2", | ||
"typescript": "^3.8.3", | ||
"typescript": "^4.0.2", | ||
"webpack": "^4.41.4", | ||
@@ -74,3 +85,15 @@ "webpack-cli": "^3.3.10", | ||
"@testing-library/user-event": "^7.2.1", | ||
"@types/jest": "^25.1.3" | ||
"@types/jest": "^25.1.3", | ||
"@types/react": "16.9.44", | ||
"ts-jest": "^26.1.4", | ||
"@types/enzyme": "^3.10.5", | ||
"@types/enzyme-adapter-react-16": "^1.0.6", | ||
"@types/node": "^12.12.31", | ||
"@types/react-dom": "^16.9.5", | ||
"@types/react-router-dom": "^5.1.5", | ||
"tslint": "^6.1.3", | ||
"ts-loader": "^8.0.3", | ||
"tslint-etc": "^1.13.6", | ||
"tslint-no-toplevel-property-access": "^0.0.2", | ||
"tslint-no-unused-expression-chai": "0.0.3" | ||
}, | ||
@@ -80,3 +103,12 @@ "main": "dist/index.js", | ||
"eslintConfig": { | ||
"extends": "react-app" | ||
"extends": "plugin:@typescript-eslint/recommended", | ||
"parser": "@typescript-eslint/parser", | ||
"parserOptions": { | ||
"ecmaVersion": 2020, | ||
"sourceType": "module" | ||
}, | ||
"rules": { | ||
"@typescript-eslint/no-empty-interface": 0, | ||
"@typescript-eslint/ban-ts-comment": 0 | ||
} | ||
}, | ||
@@ -83,0 +115,0 @@ "browserslist": { |
@@ -7,6 +7,10 @@ { | ||
"paths": { | ||
"@adobe/cq-react-editable-components": ["./"], | ||
"@adobe/cq-react-editable-components/*": ["./*"] | ||
"@adobe/aem-react-editable-components": ["node_modules/@adobe/aem-react-editable-components"], | ||
"@adobe/aem-react-editable-components/*": ["node_modules/@adobe/aem-react-editable-components/*"], | ||
"@adobe/aem-spa-component-mapping": ["node_modules/@adobe/aem-spa-component-mapping"], | ||
"@adobe/aem-spa-component-mapping/*": ["node_modules/@adobe/aem-spa-component-mapping/*"], | ||
"@adobe/aem-spa-page-model-manager": ["node_modules/@adobe/aem-spa-page-model-manager"], | ||
"@adobe/aem-spa-page-model-manager/*": ["node_modules/@adobe/aem-spa-page-model-manager/*"] | ||
} | ||
} | ||
} |
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is too big to display
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is too big to display
Sorry, the diff of this file is not supported yet
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
Major refactor
Supply chain riskPackage has recently undergone a major refactor. It may be unstable or indicate significant internal changes. Use caution when updating to versions that include significant changes.
Found 1 instance in 1 package
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
Minified code
QualityThis package contains minified code. This may be harmless in some cases where minified code is included in packaged libraries, however packages on npm should not minify code.
Found 1 instance in 1 package
775988
84
4664
0
54
1