diff --git a/Splunk_TA_paloalto/README/inputs.conf.spec b/Splunk_TA_paloalto/README/inputs.conf.spec index 0b0b1253..57a6490e 100644 --- a/Splunk_TA_paloalto/README/inputs.conf.spec +++ b/Splunk_TA_paloalto/README/inputs.conf.spec @@ -1,15 +1,18 @@ [autofocus_export://] label = interval = +python.version = python3 [aperture://] global_account = region = +python.version = python3 [minemeld_feed://] feed_url = indicator_timeout = credentials = +python.version = python3 [iot_security://] customer_id = @@ -18,6 +21,7 @@ secret_access_key = python.version = python3 [cortex_xdr://] +python.version = python3 xdr_tenant = Value can be found in Cortex XDR URL: https://.xdr..paloaltonetworks.com/ xdr_region = Value can be found in Cortex XDR URL: https://.xdr..paloaltonetworks.com/ xdr_key_id = API key should have "Advanced" security level with a role of "Viewer" diff --git a/Splunk_TA_paloalto/appserver/static/js/build/1.js b/Splunk_TA_paloalto/appserver/static/js/build/1.js index dbd67901..a42ca5eb 100644 --- a/Splunk_TA_paloalto/appserver/static/js/build/1.js +++ b/Splunk_TA_paloalto/appserver/static/js/build/1.js @@ -1,2 +1,2 @@ -(window.webpackJsonp=window.webpackJsonp||[]).push([[1],{255:function(e,t,n){"use strict";n.d(t,"a",(function(){return u}));var r=n(63),a=n.n(r),o=n(0),i=n.n(o),l=n(3),c=n.n(l),s=Object(o.createContext)({rowData:{},setRowData:function(){}}),u=function(e){var t=e.children,n=Object(o.useState)({}),r=a()(n,2),l=r[0],c=r[1],u=Object(o.useState)(""),d=a()(u,2),p=d[0],f=d[1],h=Object(o.useState)("all"),m=a()(h,2),v=m[0],b=m[1],g=Object(o.useState)(10),y=a()(g,2),O=y[0],E=y[1],j=Object(o.useState)(0),k=a()(j,2),w=k[0],C=k[1];return i.a.createElement(s.Provider,{value:{rowData:l,setRowData:c,searchText:p,setSearchText:f,searchType:v,setSearchType:b,pageSize:O,setPageSize:E,currentPage:w,setCurrentPage:C}},t)};u.propTypes={children:c.a.oneOfType([c.a.arrayOf(c.a.node),c.a.node]).isRequired},t.b=s},256:function(e,t,n){"use strict";n.d(t,"a",(function(){return r})),n.d(t,"c",(function(){return a})),n.d(t,"d",(function(){return o})),n.d(t,"b",(function(){return i}));var r="clone",a="create",o="edit",i="config"},257:function(e,t,n){"use strict";n.d(t,"a",(function(){return p}));var r=n(251),a=n.n(r),o=n(74),i=n.n(o),l=n(131),c=n(130),s=n(40);function u(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function d(e){for(var t=1;t0&&T)):S.a.createElement(S.a.Fragment,null,S.a.createElement(Ee,{className:"dropdownBox","data-test-loading":N,value:e.value,name:t,error:o,placeholder:V,disabled:D,onChange:E,filter:!b,inline:!0},T&&T.length>0&&T),q?S.a.createElement(de.a,{"data-test":"clear",appearance:"secondary",icon:S.a.createElement(fe.a,null),onClick:function(){return c.handleChange(t,"")}}):null))}ke.propTypes={disabled:N.a.bool,value:N.a.string,error:N.a.bool,handleChange:N.a.func.isRequired,field:N.a.string,dependencyValues:N.a.object,controlOptions:N.a.shape({autoCompleteFields:N.a.array,endpointUrl:N.a.string,denyList:N.a.string,allowList:N.a.string,placeholder:N.a.string,dependencies:N.a.array,createSearchChoice:N.a.bool,referenceName:N.a.string,disableSearch:N.a.bool,labelField:N.a.string,hideClearBtn:N.a.bool})};var we,Ce=ke,Re=n(446),Se=n.n(Re),xe=n(7);function Ne(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function Pe(e){for(var t=1;t0&&P)}_e.propTypes={disabled:N.a.bool,value:N.a.string,error:N.a.bool,handleChange:N.a.func.isRequired,field:N.a.string,dependencyValues:N.a.object,controlOptions:N.a.shape({delimiter:N.a.string,placeholder:N.a.string,createSearchChoice:N.a.bool,referenceName:N.a.string,dependencies:N.a.array,endpointUrl:N.a.string,denyList:N.a.string,allowList:N.a.string,labelField:N.a.string,items:N.a.arrayOf(N.a.shape({label:N.a.string.isRequired,value:N.a.string.isRequired}))})};var Te=_e,Fe=n(263),De=n.n(Fe);function Ve(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 Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,r=y()(e);if(t){var a=y()(this).constructor;n=Reflect.construct(r,arguments,a)}else n=r.apply(this,arguments);return b()(this,n)}}var qe=function(e){m()(n,e);var t=Ve(n);function n(){var e;s()(this,n);for(var r=arguments.length,a=new Array(r),o=0;o * {\n &:first-child {\n width: 240px !important;\n }\n &:nth-child(3) {\n margin-left: 270px !important;\n width: 320px;\n }\n }\n"]))),lt=function(e){m()(n,e);var t=at(n);function n(e){var r,a;return s()(this,n),a=t.call(this,e),E()(f()(a),"isString",(function(e){return!!("string"==typeof e||e instanceof String)})),a.controlType=a.isString(e.entity.type)?tt[e.entity.type]:null,a.options=a.props.entity.options,a.props.entity.required||Object.prototype.hasOwnProperty.call(a.props.entity,"oauth_field")||null!==(r=a.options)&&void 0!==r&&r.placeholder||(a.options=rt(rt({},a.options),{},{placeholder:"optional"})),a}return d()(n,[{key:"render",value:function(){var e,t=this.props.entity,n=t.field,r=t.type,a=t.label,o=t.tooltip,i=t.help,l=t.encrypted,c=void 0!==l&&l,s=this.props.utilityFuncts,u=s.handleChange,d=s.addCustomValidator,p=s.utilCustomFunctions,f=this.props.markdownMessage||{},h=f.text,m=f.link,v=f.color,b=f.markdownType,g=f.token,y=f.linkText;if("custom"===this.props.entity.type){var O={value:this.props.value,mode:this.props.mode,serviceName:this.props.serviceName};e=this.controlType?S.a.createElement(this.controlType,{data:O,field:n,handleChange:u,addCustomValidator:d,utilCustomFunctions:p,controlOptions:this.options}):"No View Found for ".concat(r," type")}else e=this.controlType?S.a.createElement(this.controlType,{handleChange:u,value:this.props.value,field:n,controlOptions:this.options,error:this.props.error,disabled:this.props.disabled,encrypted:c,dependencyValues:this.props.dependencyValues}):"No View Found for ".concat(r," type");var E=S.a.createElement(S.a.Fragment,null,S.a.createElement(U,{text:h||"",link:m||"",color:v||"",markdownType:b||"",token:g||"",linkText:y||""}),i);return this.props.display&&S.a.createElement(it,{label:a,help:E,tooltip:o,error:this.props.error,dataName:n},S.a.createElement(ot,null,e))}}]),n}(S.a.PureComponent);lt.propTypes={mode:N.a.string,utilityFuncts:N.a.object,value:N.a.any,display:N.a.bool,error:N.a.bool,entity:N.a.object,disabled:N.a.bool,markdownMessage:N.a.object,serviceName:N.a.string,dependencyValues:N.a.object};var ct=lt,st={url:{regex:/^(?:(?:https?|ftp|opc\.tcp):\/\/)?(?:\S+(?::\S*)?@)?(?:(?:[1-9]\d?|1\d\d|2[01]\d|22[0-3])(?:\.(?:1?\d{1,2}|2[0-4]\d|25[0-5])){2}(?:\.(?:[1-9]\d?|1\d\d|2[0-4]\d|25[0-4]))|(?:(?:[a-z\u00a1-\uffff0-9]+-?_?)*[a-z\u00a1-\uffff0-9]+)(?:\.(?:[a-z\u00a1-\uffff0-9]+-?)*[a-z\u00a1-\uffff0-9]+)*(?:\.(?:[a-z\u00a1-\uffff]{2,}))?)(?::\d{2,5})?(?:\/[^\s]*)?$/,inputValueType:Object(xe.a)(111)},email:{regex:/^[a-zA-Z0-9.!#$%&'*+\/=?^_`{|}~-]+@[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)*$/,inputValueType:Object(xe.a)(112)},ipv4:{regex:/^(?:(?:[0-1]?\d{1,2}|2[0-4]\d|25[0-5])(?:\.|$)){4}$/,inputValueType:Object(xe.a)(113)},date:{regex:/^\s*((?:[+-]\d{6}|\d{4})-(?:\d\d-\d\d|W\d\d-\d|W\d\d|\d\d\d|\d\d))(?:(T| )(\d\d(?::\d\d(?::\d\d(?:[.,]\d+)?)?)?)([\+\-]\d\d(?::?\d\d)?|\s*Z)?)?$/,inputValueType:Object(xe.a)(114)}},ut=n(101);var dt,pt,ft=function(){function e(t){s()(this,e),E()(this,"checkIsFieldHasInput",(function(e){return void 0!==e&&""!==e&&null!==e})),this.entities=t,this.isName=t.find((function(e){return"name"===e.field}))}return d()(e,[{key:"RequiredValidator",value:function(e,t,n){return!this.checkIsFieldHasInput(n)&&{errorField:e,errorMsg:Object(xe.a)(6,[t])}}},{key:"StringValidator",value:function(e,t,n,r){var a=Object(ut.d)(n.minLength,n.maxLength).error;return a?{errorField:e,errorMsg:a}:this.checkIsFieldHasInput(r)&&r.length>n.maxLength?{errorField:e,errorMsg:n.errorMsg?n.errorMsg:Object(xe.a)(18,[t,n.maxLength])}:!!(this.checkIsFieldHasInput(r)&&r.lengthn.range[1]||o-1})))return{errorField:"name",errorMsg:Object(xe.a)(3,[r])};if(n.length>=1024)return{errorField:"name",errorMsg:Object(xe.a)(22,[r])}}var a,o,i;for(o=0;o1?n-1:0),o=1;o1){a.isAuthVal=!0;var l={};l.value=void 0!==a.currentInput.auth_type?a.currentInput.auth_type:i[0],l.display=!0,l.error=!1,l.disabled=!1,c.auth_type=l;var s={field:"auth_type",type:"singleSelect",label:"Auth Type"},d={basic:"Basic Authentication",oauth:"OAuth 2.0 Authentication"};s.options={},s.options.hideClearBtn=!0,s.options.autoCompleteFields=i.map((function(e){return{label:d[e],value:e}})),u.push(s)}else a.isSingleOauth=i.includes("oauth");if(i.forEach((function(n){var r=[],o=null==t?void 0:t.options[n];o&&(o.forEach((function(t){var o={};if(e.mode===ht.c)o.value=void 0!==(null==t?void 0:t.defaultValue)?t.defaultValue:null;else{var i=void 0!==(null==t?void 0:t.encrypted)&&(null==t?void 0:t.encrypted);o.value=i?"":a.currentInput[t.field]}o.display=void 0===c.auth_type||n===c.auth_type.value,o.error=!1,o.disabled=!1,c[t.field]=o,t.type=void 0!==(null==t?void 0:t.type)?t.type:"text","redirect_url"===t.field&&(o.value=window.location.href.split("?")[0].replace("configuration","".concat(a.appName.toLowerCase(),"_redirect")),o.disabled=!0),u.push(t),r.push(t.field)})),a.authMap[n]=r)})),i.includes("oauth")){var p={};p.popupWidth=t.options.oauth_popup_width?t.options.oauth_popup_width:600,p.popupHeight=t.options.oauth_popup_height?t.options.oauth_popup_height:600,p.authTimeout=t.options.oauth_timeout?t.options.oauth_timeout:180,p.authCodeEndpoint=t.options.auth_code_endpoint?t.options.auth_code_endpoint:null,p.accessTokenEndpoint=t.options.access_token_endpoint?t.options.access_token_endpoint:null,a.oauthConf=p}}}else{var f,h,m={};if(t.encrypted=void 0!==t.encrypted&&t.encrypted,e.mode===ht.c)m.value=void 0!==t.defaultValue?t.defaultValue:null,m.display=void 0===(null==t||null===(h=t.options)||void 0===h?void 0:h.display)||t.options.display,m.error=!1,m.disabled=!1,c[t.field]=m;else if(e.mode===ht.d){var v,b;m.value=void 0!==a.currentInput[t.field]?a.currentInput[t.field]:null,m.value=t.encrypted?"":m.value,m.display=void 0===(null==t||null===(v=t.options)||void 0===v?void 0:v.display)||t.options.display,m.error=!1,m.disabled=!1,"name"===t.field?m.disabled=!0:void 0!==(null==t||null===(b=t.options)||void 0===b?void 0:b.disableonEdit)&&(m.disabled=t.options.disableonEdit),c[t.field]=m}else if(e.mode===ht.a){var g;m.value="name"===t.field||t.encrypted?"":a.currentInput[t.field],m.display=void 0===(null==t||null===(g=t.options)||void 0===g?void 0:g.display)||t.options.display,m.error=!1,m.disabled=!1,c[t.field]=m}else{if(e.mode!==ht.b)throw new Error("Invalid mode :",e.mode);var y,O;t.defaultValue=void 0!==t.defaultValue?t.defaultValue:null,m.value=void 0!==a.currentInput[t.field]?a.currentInput[t.field]:t.defaultValue,m.value=t.encrypted?"":m.value,m.display=void 0===(null==t||null===(y=t.options)||void 0===y?void 0:y.display)||t.options.display,m.error=!1,m.disabled=!1,"name"===t.field?m.disabled=!0:void 0!==(null==t||null===(O=t.options)||void 0===O?void 0:O.disableonEdit)&&(m.disabled=t.options.disableonEdit),c[t.field]=m}var j=null===(f=t.options)||void 0===f?void 0:f.dependencies;j&&j.forEach((function(e){var n=a.dependencyMap.get(e);n?n[t.field]=j:a.dependencyMap.set(e,E()({},t.field,j))})),u.push(t)}})),a.entities=u;var d={};a.dependencyMap.forEach((function(e){d=gt(gt({},d),e)}));var p={};return Object.keys(d).forEach((function(e){var t=d[e],n={},r=!0;t.forEach((function(e){var t=!!a.entities.find((function(t){return t.field===e})).required,o=c[e].value;t&&!o?(r=!1,n[e]=null):n[e]=o})),r&&(p[e]={dependencyValues:{$set:n}})})),c=M()(c,p),a.state={data:c,errorMsg:"",warningMsg:""},a.hookDeferred&&a.hookDeferred.then((function(){if("function"==typeof a.hook.onCreate)try{a.hook.onCreate()}catch(e){console.error(e)}})),a}return d()(n,[{key:"render",value:function(){var e=this;return this.flag&&(this.hookDeferred&&this.hookDeferred.then((function(){if("function"==typeof e.hook.onRender)try{e.hook.onRender()}catch(e){console.error(e)}})),this.props.mode===ht.d&&this.hookDeferred&&this.hookDeferred.then((function(){if("function"==typeof e.hook.onEditLoad)try{e.hook.onEditLoad()}catch(e){console.error(e)}})),this.flag=!1),S.a.createElement("div",null,S.a.createElement("form",{style:this.props.mode===ht.b?{marginTop:"25px"}:{}},this.generateWarningMessage(),this.generateErrorMessage(),this.renderGroupElements(),this.entities.map((function(t){if(t.isGrouping)return null;var n=e.state.data[t.field];return n.placeholder&&(t=gt(gt({},t),{},{options:gt(gt({},t.options),{},{placeholder:n.placeholder})})),S.a.createElement(ct,{key:t.field,utilityFuncts:e.utilControlWrapper,value:n.value,display:n.display,error:n.error,entity:t,serviceName:e.props.serviceName,mode:e.props.mode,disabled:n.disabled,markdownMessage:n.markdownMessage,dependencyValues:n.dependencyValues||null})}))))}}]),n}(R.PureComponent);E()(jt,"contextType",vt.b),jt.propTypes={page:N.a.string,serviceName:N.a.string,stanzaName:N.a.string,currentServiceState:N.a.object,mode:N.a.string,handleFormSubmit:N.a.func};t.a=jt},316:function(e,t,n){"use strict";n.d(t,"b",(function(){return r})),n.d(t,"a",(function(){return a}));var r="page",a="modal"},323:function(e,t,n){"use strict";var r=n(251),a=n.n(r),o=n(63),i=n.n(o),l=n(0),c=n.n(l),s=n(281),u=n.n(s),d=n(74),p=n.n(d),f=n(3),h=n.n(f),m=n(68),v=n(257),b=n(40),g=n(317),y=n.n(g),O=n(282),E=n.n(O),j=n(6),k=n(284),w=n(256),C=n(43),R=n(13),S=n.n(R),x=n(412),N=n.n(x),P=n(1),M=n(28),_=n.n(M),T=n(29),F=n.n(T),D=n(119),V=n.n(D),q=n(31),A=n.n(q),z=n(32),I=n.n(z),B=n(20),L=n.n(B),H=n(34);function U(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 Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,r=L()(e);if(t){var a=L()(this).constructor;n=Reflect.construct(r,arguments,a)}else n=r.apply(this,arguments);return I()(this,n)}}var $=function(e){A()(n,e);var t=U(n);function n(e){var r;return _()(this,n),r=t.call(this,e),a()(V()(r),"loadCustomControl",(function(){return new Promise((function(e){if("external"===r.props.type)import("".concat(Object(H.a)(),"/custom/").concat(r.props.fileName,".js")).then((function(t){var n=t.default;e(n)}));else{var t=Object(b.d)().meta.name;require(["app/".concat(t,"/js/build/custom/").concat(r.props.fileName)],(function(t){return e(t)}))}}))})),r.state={loading:!0},r.shouldRender=!0,r}return F()(n,[{key:"componentDidMount",value:function(){var e=this,t=Object(b.d)();this.setState({loading:!0}),this.loadCustomControl().then((function(n){e.customControl=new n(t,e.props.serviceName,e.el,e.props.row,e.props.field),e.setState({loading:!1})}))}},{key:"shouldComponentUpdate",value:function(e,t){return this.props.row!==e.row||!(t.loading||!this.shouldRender)&&(this.shouldRender=!1,!0)}},{key:"render",value:function(){var e=this;if(!this.state.loading)try{this.customControl.render(this.props.row,this.props.field)}catch(e){console.error(e)}return c.a.createElement(c.a.Fragment,null,this.state.loading&&Object(j._)("Loading..."),c.a.createElement("span",{ref:function(t){e.el=t},style:{visibility:this.state.loading?"hidden":"visible"}}))}}]),n}(l.Component);$.propTypes={serviceName:h.a.string.isRequired,row:h.a.object.isRequired,field:h.a.string,fileName:h.a.string.isRequired,type:h.a.string};var W,K=$,Z=Object(P.default)(E.a.Cell)(W||(W=S()(["\n border-top: none;\n"])));function G(e,t,n){var r=Object(b.d)().pages.inputs.table.customRow;return c.a.createElement(E.a.Row,{key:"".concat(t.id,"-expansion")},c.a.createElement(Z,{colSpan:e},r&&r.src?c.a.createElement(c.a.Fragment,null,c.a.createElement(K,{serviceName:t.serviceName,row:t,fileName:r.src})):c.a.createElement(N.a,{termWidth:250},function(e,t){var n=[];return null!=t&&t.length&&t.forEach((function(t){var r=Object(j._)(t.label);t.field in e&&null!==e[t.field]&&""!==e[t.field]&&(n.push(c.a.createElement(N.a.Term,{key:t.field},r)),n.push(c.a.createElement(N.a.Description,{key:"".concat(t.field,"_decr")},t.mapping&&t.mapping[e[t.field]]?t.mapping[e[t.field]]:String(e[t.field]))))})),n}(t,n))))}var X,J,Q=n(316),Y=n(67),ee=n.n(Y),te=n(263),ne=n.n(te),re=n(319),ae=n.n(re),oe=n(283),ie=n.n(oe),le=n(413),ce=n.n(le),se=n(414),ue=n.n(se),de=n(415),pe=n.n(de),fe=Object(P.default)(E.a.Cell)(X||(X=S()(["\n padding: 2px;\n"]))),he=P.default.div(J||(J=S()(["\n display: flex;\n\n .toggle_switch {\n padding: 0;\n margin-right: 10px;\n }\n"])));function me(e){var t=e.row,n=e.columns,r=e.headerMapping,a=e.handleToggleActionClick,o=e.handleEditActionClick,i=e.handleCloneActionClick,s=e.handleDeleteActionClick,u=Object(l.useCallback)((function(e){return c.a.createElement(fe,{"data-column":"actions",key:e.id},c.a.createElement(ae.a,null,c.a.createElement(ie.a,{content:Object(j._)("Edit")},c.a.createElement(m.a,{appearance:"flat",icon:c.a.createElement(ce.a,{screenReaderText:null,size:1}),onClick:function(){return o(e)},className:"editBtn"})),c.a.createElement(ie.a,{content:Object(j._)("Clone")},c.a.createElement(m.a,{appearance:"flat",icon:c.a.createElement(ue.a,{screenReaderText:null,size:1}),onClick:function(){return i(e)},className:"cloneBtn"})),c.a.createElement(ie.a,{content:Object(j._)("Delete")},c.a.createElement(m.a,{appearance:"destructive",icon:c.a.createElement(pe.a,{screenReaderText:null,size:1}),onClick:function(){return s(e)},className:"deleteBtn"}))))}),[o,i,s]),d="Enabled";return t.__toggleShowSpinner?d=c.a.createElement(ee.a,null):t.disabled&&(d=null!=r&&r.disabled&&r.disabled[t.disabled]?r.disabled[t.disabled]:"Disabled"),c.a.createElement(c.a.Fragment,null,c.a.createElement(E.a.Row,y()({key:t.id},e),n&&n.length&&n.map((function(e){var n="";if(e.customCell&&e.customCell.src)n=c.a.createElement(E.a.Cell,{"data-column":e.field,key:e.field},function(e,n){return c.a.createElement(K,{serviceName:t.serviceName,field:n.field,row:e,fileName:n.customCell.src,type:n.customCell.type})}(t,e));else if("disabled"===e.field){var o,i;n=c.a.createElement(E.a.Cell,{"data-column":e.field,key:e.field},c.a.createElement(he,null,c.a.createElement(ne.a,{key:t.name,value:t.disabled,onClick:function(){return a(t)},selected:!t.disabled,disabled:t.__toggleShowSpinner,appearance:"toggle",className:"toggle_switch",selectedLabel:Object(j._)(null!=r&&null!==(o=r.disabled)&&void 0!==o&&o.false?r.disabled.false:"Enabled"),unselectedLabel:Object(j._)(null!=r&&null!==(i=r.disabled)&&void 0!==i&&i.true?r.disabled.true:"Disabled")}),c.a.createElement("span",{"data-test":"status"},d)))}else n="actions"===e.field?u(t):c.a.createElement(E.a.Cell,{"data-column":e.field,key:e.field},r[e.field]&&Object.prototype.hasOwnProperty.call(r[e.field],t[e.field])?r[e.field][t[e.field]]:t[e.field]);return n}))))}me.propTypes={row:h.a.any,columns:h.a.array,headerMapping:h.a.object,handleToggleActionClick:h.a.func,handleEditActionClick:h.a.func,handleCloneActionClick:h.a.func,handleDeleteActionClick:h.a.func};var ve,be=c.a.memo(me),ge=n(285),ye=n(30),Oe=n.n(ye),Ee=n(25),je=n.n(Ee),ke=n(83),we=n.n(ke),Ce=n(255),Re=n(7);function Se(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function xe(e){for(var t=1;t1?Object(j._)(" ".concat(v,"s")):Object(j._)(" ".concat(v))),t===C.b?c.a.createElement(m.c,null,c.a.createElement(Ae.a,{value:i,className:"dropdownPage",onChange:function(e,t){var n=t.value;u(0),d(n)}},c.a.createElement(Ae.a.Option,{key:"10",label:Object(j._)("10 Per Page"),value:10}),c.a.createElement(Ae.a.Option,{key:"25",label:Object(j._)("25 Per Page"),value:25}),c.a.createElement(Ae.a.Option,{key:"50",label:Object(j._)("50 Per Page"),value:50})),function(){if(n.length<2)return null;var e=[];return(e=n.map((function(e){return c.a.createElement(Ae.a.Option,{key:e.name,label:e.title,value:e.name})}))).unshift(c.a.createElement(Ae.a.Option,{key:"all",label:Object(j._)("All"),value:"all"})),c.a.createElement(Ae.a,{value:p,className:"dropdownInput",onChange:function(e,t){var n=t.value;u(0),f(n)}},e)}()):null),c.a.createElement(Ze,null,c.a.createElement(We,{handleChange:function(e,t){var n=t.value;u(0),h(n)}})),c.a.createElement("div",null,c.a.createElement(Ie.a,{onChange:function(e,t){var n=t.page;return u(n-1)},current:s+1,alwaysShowLastPageLink:!0,totalPages:Math.ceil(r/i)}),t===C.b?null:c.a.createElement(Oe.a,{label:Object(j._)("Add"),appearance:"primary",onClick:a})))}Ge.propTypes={page:h.a.string,services:h.a.array,totalElement:h.a.number,handleRequestModalOpen:h.a.func};var Xe=Ge;function Je(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function Qe(e){for(var t=1;tt[f]?1:-1:"desc"===O?t[f]>e[f]?1:-1:0})),n=t.slice(D*F,(D+1)*F);return D>0&&!n.length&&(n=t.slice((D-1)*F,F)),[n,e.length]}(),W=i()($,2),K=W[0],Z=W[1];return c.a.createElement(c.a.Fragment,null,c.a.createElement(Xe,{page:t,services:L,totalElement:Z,handleRequestModalOpen:r}),c.a.createElement(Ve,{page:t,serviceName:n,data:K,handleToggleActionClick:function(e){return function(e){T((function(t){return u()(t,a()({},e.serviceName,a()({},e.name,{__toggleShowSpinner:{$set:!0}})))}));var t=new URLSearchParams;t.append("disabled",!e.disabled),Object(v.a)({serviceName:"".concat(e.serviceName,"/").concat(e.name),body:t,customHeaders:{"Content-Type":"application/x-www-form-urlencoded"},method:"post",handleError:!0,callbackOnError:function(){T((function(t){return u()(t,a()({},e.serviceName,a()({},e.name,{__toggleShowSpinner:{$set:!1}})))}))}}).then((function(t){T((function(n){return u()(n,a()({},e.serviceName,a()({},e.name,{disabled:{$set:t.data.entry[0].content.disabled},__toggleShowSpinner:{$set:!1}})))}))}))}(e)},handleSort:function(e,t){var n=f===t.sortKey?O:"none";E("asc"===n?"desc":"asc"),h(t.sortKey)},sortDir:O,sortKey:f,handleOpenPageStyleDialog:o}))}Ye.propTypes={page:h.a.string,serviceName:h.a.string,handleRequestModalOpen:h.a.func,handleOpenPageStyleDialog:h.a.func};t.a=Object(l.memo)(Ye)},324:function(e,t,n){"use strict";var r=n(28),a=n.n(r),o=n(29),i=n.n(o),l=n(31),c=n.n(l),s=n(32),u=n.n(s),d=n(20),p=n.n(d),f=n(0),h=n.n(f),m=n(3),v=n.n(m),b=n(307),g=n.n(b),y=n(6),O=n(457),E=n.n(O),j=n(129),k=n.n(j),w=n(120),C=n.n(w),R={ERR0001:h.a.createElement(h.a.Fragment,null,"This is normal on Splunk search heads as they do not require an Input page. Check your installation or return to the ",h.a.createElement(C.a,{to:"configuration"},"configuration page"),"."),ERR0002:"Configuration page failed to load, the server reported internal errors which may indicate you do not have access to this page.",ERR0003:"Failed to load content due to no response from server!",ERR0004:"Failed to load content due to failed request processing!",ERR0005:"Failed to load current state for selected entity in form!"};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 Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,r=p()(e);if(t){var a=p()(this).constructor;n=Reflect.construct(r,arguments,a)}else n=r.apply(this,arguments);return u()(this,n)}}var x=function(e){c()(n,e);var t=S(n);function n(e){var r;return a()(this,n),(r=t.call(this,e)).state={errorCode:null,error:null,errorInfo:null},r}return i()(n,[{key:"componentDidCatch",value:function(e,t){this.setState({error:e,errorInfo:t})}},{key:"render",value:function(){var e;return this.state.error?h.a.createElement("div",{align:"center",style:{marginTop:"10%"}},h.a.createElement(E.a,{style:{boxShadow:"10px 10px 5px #aaaaaa"}},h.a.createElement(E.a.Header,null,h.a.createElement(g.a,{style:{textAlign:"center"},level:2},h.a.createElement(k.a,{style:{fontSize:"120px",color:"#ff9900"}}),h.a.createElement("br",null),h.a.createElement("br",null),"ERR0001"===this.state.errorCode?Object(y._)("Failed to load Inputs Page"):Object(y._)("Something went wrong!"))),h.a.createElement(E.a.Body,null,this.state.errorCode?h.a.createElement(h.a.Fragment,null,Object(y._)(R[this.state.errorCode]),h.a.createElement("br",null),h.a.createElement("br",null)):null,h.a.createElement("details",{style:{whiteSpace:"pre-wrap"}},null===(e=this.state.error)||void 0===e?void 0:e.toString())),h.a.createElement(E.a.Footer,{showBorder:!1},this.state.errorCode?this.state.errorCode:null))):this.props.children}}],[{key:"getDerivedStateFromError",value:function(e){return{errorCode:e.uccErrorCode}}}]),n}(h.a.Component);x.propTypes={children:v.a.oneOfType([v.a.arrayOf(v.a.node),v.a.node]).isRequired};t.a=x}}]); -//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9zcmMvbWFpbi93ZWJhcHAvY29udGV4dC9UYWJsZUNvbnRleHQuanN4Iiwid2VicGFjazovLy8uL3NyYy9tYWluL3dlYmFwcC9jb25zdGFudHMvbW9kZXMuanMiLCJ3ZWJwYWNrOi8vLy4vc3JjL21haW4vd2ViYXBwL3V0aWwvYXhpb3NDYWxsV3JhcHBlci5qcyIsIndlYnBhY2s6Ly8vLi9zcmMvbWFpbi93ZWJhcHAvcGFnZXMvSW5wdXQvSW5wdXRQYWdlU3R5bGUuanN4Iiwid2VicGFjazovLy8uL3NyYy9tYWluL3dlYmFwcC9ob29rcy91c2VRdWVyeS5qcyIsIndlYnBhY2s6Ly8vLi9zcmMvbWFpbi93ZWJhcHAvY29tcG9uZW50cy9FbnRpdHlNb2RhbC5qc3giLCJ3ZWJwYWNrOi8vLy4vc3JjL21haW4vd2ViYXBwL2NvbXBvbmVudHMvTWFya2Rvd25NZXNzYWdlLmpzeCIsIndlYnBhY2s6Ly8vLi9zcmMvbWFpbi93ZWJhcHAvY29tcG9uZW50cy9IZWxwTGlua0NvbXBvbmVudC5qc3giLCJ3ZWJwYWNrOi8vLy4vc3JjL21haW4vd2ViYXBwL2NvbXBvbmVudHMvVGV4dENvbXBvbmVudC5qc3giLCJ3ZWJwYWNrOi8vLy4vc3JjL21haW4vd2ViYXBwL2NvbXBvbmVudHMvU2luZ2xlSW5wdXRDb21wb25lbnQuanN4Iiwid2VicGFjazovLy8uL3NyYy9tYWluL3dlYmFwcC9jb21wb25lbnRzL011bHRpSW5wdXRDb21wb25lbnQuanN4Iiwid2VicGFjazovLy8uL3NyYy9tYWluL3dlYmFwcC9jb21wb25lbnRzL0NoZWNrQm94Q29tcG9uZW50LmpzeCIsIndlYnBhY2s6Ly8vLi9zcmMvbWFpbi93ZWJhcHAvY29tcG9uZW50cy9SYWRpb0NvbXBvbmVudC5qc3giLCJ3ZWJwYWNrOi8vLy4vc3JjL21haW4vd2ViYXBwL2NvbXBvbmVudHMvUGxhY2Vob2xkZXJDb21wb25lbnQuanN4Iiwid2VicGFjazovLy8uL3NyYy9tYWluL3dlYmFwcC9jb21wb25lbnRzL0N1c3RvbUNvbnRyb2wuanN4Iiwid2VicGFjazovLy8uL3NyYy9tYWluL3dlYmFwcC9jb25zdGFudHMvQ29udHJvbFR5cGVNYXAuanMiLCJ3ZWJwYWNrOi8vLy4vc3JjL21haW4vd2ViYXBwL2NvbXBvbmVudHMvQ29udHJvbFdyYXBwZXIuanN4Iiwid2VicGFjazovLy8uL3NyYy9tYWluL3dlYmFwcC9jb25zdGFudHMvcHJlRGVmaW5lZFJlZ2V4LmpzIiwid2VicGFjazovLy8uL3NyYy9tYWluL3dlYmFwcC91dGlsL1ZhbGlkYXRvci5qcyIsIndlYnBhY2s6Ly8vLi9zcmMvbWFpbi93ZWJhcHAvY29tcG9uZW50cy9CYXNlRm9ybVZpZXcuanN4Iiwid2VicGFjazovLy8uL3NyYy9tYWluL3dlYmFwcC9jb25zdGFudHMvb0F1dGhFcnJvck1lc3NhZ2UuanMiLCJ3ZWJwYWNrOi8vLy4vc3JjL21haW4vd2ViYXBwL2NvbnN0YW50cy9kaWFsb2dTdHlsZXMuanMiLCJ3ZWJwYWNrOi8vLy4vc3JjL21haW4vd2ViYXBwL2NvbXBvbmVudHMvdGFibGUvQ3VzdG9tVGFibGVDb250cm9sLmpzeCIsIndlYnBhY2s6Ly8vLi9zcmMvbWFpbi93ZWJhcHAvY29tcG9uZW50cy90YWJsZS9UYWJsZUV4cGFuc2lvblJvdy5qc3giLCJ3ZWJwYWNrOi8vLy4vc3JjL21haW4vd2ViYXBwL2NvbXBvbmVudHMvdGFibGUvQ3VzdG9tVGFibGVSb3cuanN4Iiwid2VicGFjazovLy8uL3NyYy9tYWluL3dlYmFwcC9jb21wb25lbnRzL0RlbGV0ZU1vZGFsLmpzeCIsIndlYnBhY2s6Ly8vLi9zcmMvbWFpbi93ZWJhcHAvY29tcG9uZW50cy90YWJsZS9DdXN0b21UYWJsZS5qc3giLCJ3ZWJwYWNrOi8vLy4vc3JjL21haW4vd2ViYXBwL2NvbXBvbmVudHMvdGFibGUvVGFibGVGaWx0ZXIuanN4Iiwid2VicGFjazovLy8uL3NyYy9tYWluL3dlYmFwcC9jb21wb25lbnRzL3RhYmxlL1RhYmxlSGVhZGVyLmpzeCIsIndlYnBhY2s6Ly8vLi9zcmMvbWFpbi93ZWJhcHAvY29tcG9uZW50cy90YWJsZS9UYWJsZVdyYXBwZXIuanN4Iiwid2VicGFjazovLy8uL3NyYy9tYWluL3dlYmFwcC9jb25zdGFudHMvZXJyb3JDb2Rlcy5qc3giLCJ3ZWJwYWNrOi8vLy4vc3JjL21haW4vd2ViYXBwL2NvbXBvbmVudHMvRXJyb3JCb3VuZGFyeS5qc3giXSwibmFtZXMiOlsiVGFibGVDb250ZXh0IiwiY3JlYXRlQ29udGV4dCIsInJvd0RhdGEiLCJzZXRSb3dEYXRhIiwiVGFibGVDb250ZXh0UHJvdmlkZXIiLCJjaGlsZHJlbiIsInVzZVN0YXRlIiwic2VhcmNoVGV4dCIsInNldFNlYXJjaFRleHQiLCJzZWFyY2hUeXBlIiwic2V0U2VhcmNoVHlwZSIsInBhZ2VTaXplIiwic2V0UGFnZVNpemUiLCJjdXJyZW50UGFnZSIsInNldEN1cnJlbnRQYWdlIiwiUHJvdmlkZXIiLCJ2YWx1ZSIsInByb3BUeXBlcyIsIlByb3BUeXBlcyIsIm9uZU9mVHlwZSIsImFycmF5T2YiLCJub2RlIiwiaXNSZXF1aXJlZCIsIk1PREVfQ0xPTkUiLCJNT0RFX0NSRUFURSIsIk1PREVfRURJVCIsIk1PREVfQ09ORklHIiwiYXhpb3NDYWxsV3JhcHBlciIsInNlcnZpY2VOYW1lIiwiZW5kcG9pbnRVcmwiLCJwYXJhbXMiLCJib2R5IiwiY2FuY2VsVG9rZW4iLCJjdXN0b21IZWFkZXJzIiwibWV0aG9kIiwiaGFuZGxlRXJyb3IiLCJjYWxsYmFja09uRXJyb3IiLCJlbmRwb2ludCIsImdlbmVyYXRlRW5kUG9pbnRVcmwiLCJhcHBEYXRhIiwiYXBwIiwib3duZXIiLCJiYXNlSGVhZGVycyIsIkNTUkZUb2tlbiIsImhlYWRlcnMiLCJPYmplY3QiLCJhc3NpZ24iLCJ1cmwiLCJjcmVhdGVSRVNUVVJMIiwibmV3UGFyYW1zIiwib3V0cHV0X21vZGUiLCJvcHRpb25zIiwiY3JlZGVudGlhbHMiLCJkYXRhIiwiYXhpb3MiLCJlcnJvciIsIm1lc3NhZ2UiLCJpc0NhbmNlbCIsInJlc3BvbnNlIiwibWVzc2FnZXMiLCJ0ZXh0IiwicmVxdWVzdCIsImdlbmVyYXRlVG9hc3QiLCJQcm9taXNlIiwicmVqZWN0IiwiVGl0bGVDb21wb25lbnQiLCJzdHlsZWQiLCJkaXYiLCJhdHRycyIsImNsYXNzTmFtZSIsInZhcmlhYmxlcyIsImZvbnRTaXplWFhMYXJnZSIsIlN1YlRpdGxlQ29tcG9uZW50IiwiZm9udFNpemUiLCJ1c2VRdWVyeSIsIlVSTFNlYXJjaFBhcmFtcyIsInVzZUxvY2F0aW9uIiwic2VhcmNoIiwiTW9kYWxXcmFwcGVyIiwiTW9kYWwiLCJFbnRpdHlNb2RhbCIsInByb3BzIiwiaGFuZGxlUmVxdWVzdENsb3NlIiwiZm9ybSIsImN1cnJlbnQiLCJoYW5kbGVTdWJtaXQiLCJzZXQiLCJjbG9zZSIsInNldFN0YXRlIiwiaXNTdWJtaXRpdG5nIiwiUmVhY3QiLCJjcmVhdGVSZWYiLCJzdGF0ZSIsIm1vZGUiLCJidXR0b25UZXh0IiwiXyIsIm9wZW4iLCJ0aGlzIiwiSGVhZGVyIiwidGl0bGUiLCJmb3JtTGFiZWwiLCJvblJlcXVlc3RDbG9zZSIsIkJvZHkiLCJyZWYiLCJwYWdlIiwic3RhbnphTmFtZSIsImhhbmRsZUZvcm1TdWJtaXQiLCJGb290ZXIiLCJhcHBlYXJhbmNlIiwib25DbGljayIsImxhYmVsIiwiZGlzYWJsZWQiLCJDb21wb25lbnQiLCJzdHJpbmciLCJib29sIiwiZnVuYyIsIk1hcmtkb3duV3JhcHBlciIsInNwYW4iLCJjb2xvciIsIk1hcmtkb3duTWVzc2FnZSIsImRhdGEtdGVzdCIsIm1hcmtkb3duVGV4dCIsIm1hcmtkb3duVHlwZSIsInRvIiwibGluayIsImFycmF5IiwiZm4iLCJpIiwibGVuZ3RoIiwibWFwcGluZyIsImNvbmNhdCIsImZsYXRNYXAiLCJzcGxpdCIsInRva2VuIiwicGFydCIsImtleSIsImxpbmtUZXh0IiwicG9wIiwibWVtbyIsIkhlbHBMaW5rQ29tcG9uZW50IiwiY29udHJvbE9wdGlvbnMiLCJvcGVuSW5OZXdDb250ZXh0Iiwib2JqZWN0IiwiVGV4dFdyYXBwZXIiLCJUZXh0IiwiVGV4dENvbXBvbmVudCIsImUiLCJoYW5kbGVDaGFuZ2UiLCJmaWVsZCIsImlubGluZSIsInBsYWNlaG9sZGVyIiwidG9TdHJpbmciLCJvbkNoYW5nZSIsInR5cGUiLCJlbmNyeXB0ZWQiLCJudW1iZXIiLCJTZWxlY3RXcmFwcGVyIiwiU2VsZWN0IiwiU3R5bGVkRGl2IiwiU2luZ2xlSW5wdXRDb21wb25lbnQiLCJkZXBlbmRlbmN5VmFsdWVzIiwicmVzdFByb3BzIiwiZGVueUxpc3QiLCJhbGxvd0xpc3QiLCJkZXBlbmRlbmNpZXMiLCJjcmVhdGVTZWFyY2hDaG9pY2UiLCJyZWZlcmVuY2VOYW1lIiwiZGlzYWJsZVNlYXJjaCIsImxhYmVsRmllbGQiLCJhdXRvQ29tcGxldGVGaWVsZHMiLCJoaWRlQ2xlYXJCdG4iLCJvYmoiLCJPcHRpb24iLCJDb21ib0JveCIsIkhlYWRpbmciLCJnZW5lcmF0ZU9wdGlvbnMiLCJpdGVtcyIsImZvckVhY2giLCJpdGVtIiwicHVzaCIsImNoaWxkIiwibG9hZGluZyIsInNldExvYWRpbmciLCJzZXRPcHRpb25zIiwidXNlRWZmZWN0Iiwic291cmNlIiwiQ2FuY2VsVG9rZW4iLCJjb3VudCIsInRoZW4iLCJmaWx0ZXJSZXNwb25zZSIsImVudHJ5IiwiY2FuY2VsIiwiZWZmZWN0aXZlRGlzYWJsZWQiLCJlZmZlY3RpdmVQbGFjZWhvbGRlciIsImVmZmVjdGl2ZUlzQ2xlYXJhYmxlIiwibmFtZSIsImRhdGEtdGVzdC1sb2FkaW5nIiwiZmlsdGVyIiwiaWNvbiIsInNoYXBlIiwiTXVsdGlTZWxlY3RXcmFwcGVyIiwiTXVsdGlzZWxlY3QiLCJNdWx0aUlucHV0Q29tcG9uZW50IiwiZGVsaW1pdGVyIiwiaXRlbUxpc3QiLCJtYXAiLCJnZXRGb3JtYXR0ZWRNZXNzYWdlIiwidmFsdWVMaXN0IiwidmFsdWVzIiwiYWxsb3dOZXdWYWx1ZXMiLCJqb2luIiwiQ2hlY2tCb3hDb21wb25lbnQiLCJpc0ZhbHNlIiwic2VsZWN0ZWQiLCJSYWRpb0JhcldyYXBwZXIiLCJSYWRpb0JhciIsIlJhZGlvQ29tcG9uZW50IiwiUGxhY2Vob2xkZXJDb21wb25lbnQiLCJkZWZhdWx0VmFsdWUiLCJDdXN0b21Db250cm9sIiwibW9kdWxlIiwiYXBwTmFtZSIsInJlc29sdmUiLCJpbXBvcnQiLCJnZXRCdWlsZERpclBhdGgiLCJleHRlcm5hbCIsIkNvbnRyb2wiLCJfX25vbl93ZWJwYWNrX3JlcXVpcmVfXyIsIm5ld1ZhbHVlIiwic2hvdWxkUmVuZGVyIiwiZ2xvYmFsQ29uZmlnIiwiZ2V0VW5pZmllZENvbmZpZ3MiLCJtZXRhIiwibG9hZEN1c3RvbUNvbnRyb2wiLCJzcmMiLCJjdXN0b21Db250cm9sIiwiZWwiLCJzZXRWYWx1ZSIsInV0aWxDdXN0b21GdW5jdGlvbnMiLCJyZW5kZXIiLCJ2YWxpZGF0aW9uIiwiYWRkQ3VzdG9tVmFsaWRhdG9yIiwibmV4dFByb3BzIiwibmV4dFN0YXRlIiwic3R5bGUiLCJ2aXNpYmlsaXR5Iiwic2luZ2xlU2VsZWN0IiwiaGVscExpbmsiLCJtdWx0aXBsZVNlbGVjdCIsImNoZWNrYm94IiwicmFkaW8iLCJjdXN0b20iLCJDdXN0b21FbGVtZW50IiwiQ29udHJvbEdyb3VwV3JhcHBlciIsIkNvbnRyb2xHcm91cCIsImRhdGFOYW1lIiwiQ29udHJvbFdyYXBwZXIiLCJzdHIiLCJTdHJpbmciLCJjb250cm9sVHlwZSIsImlzU3RyaW5nIiwiZW50aXR5IiwiQ09OVFJPTF9UWVBFX01BUCIsInJlcXVpcmVkIiwicHJvdG90eXBlIiwiaGFzT3duUHJvcGVydHkiLCJjYWxsIiwicm93VmlldyIsInRvb2x0aXAiLCJoZWxwIiwidXRpbGl0eUZ1bmN0cyIsIm1hcmtkb3duTWVzc2FnZSIsImNyZWF0ZUVsZW1lbnQiLCJoZWxwVGV4dCIsImRpc3BsYXkiLCJQdXJlQ29tcG9uZW50IiwiYW55IiwiUFJFREVGSU5FRF9WQUxJREFUT1JTX0RJQ1QiLCJyZWdleCIsImlucHV0VmFsdWVUeXBlIiwiZW1haWwiLCJpcHY0IiwiZGF0ZSIsIlZhbGlkYXRvciIsImVudGl0aWVzIiwiYXR0clZhbHVlIiwidW5kZWZpbmVkIiwiaXNOYW1lIiwiZmluZCIsImNoZWNrSXNGaWVsZEhhc0lucHV0IiwiZXJyb3JGaWVsZCIsImVycm9yTXNnIiwidmFsaWRhdG9yIiwicGFyc2VTdHJpbmdWYWxpZGF0b3IiLCJtaW5MZW5ndGgiLCJtYXhMZW5ndGgiLCJwYXJzZVJlZ2V4UmF3U3RyIiwicGF0dGVybiIsInJlc3VsdCIsInRlc3QiLCJwYXJzZU51bWJlclZhbGlkYXRvciIsInJhbmdlIiwidmFsIiwiTnVtYmVyIiwiaXNOYU4iLCJ0YXJnZXRWYWx1ZSIsIm5hbWVGaWVsZExhYmVsIiwic3RhcnRzV2l0aCIsInRvTG93ZXJDYXNlIiwic29tZSIsImQiLCJpbmRleE9mIiwicmV0IiwiaiIsIlJlcXVpcmVkVmFsaWRhdG9yIiwidmFsaWRhdG9ycyIsIlN0cmluZ1ZhbGlkYXRvciIsIlJlZ2V4VmFsaWRhdG9yIiwiTnVtYmVyVmFsaWRhdG9yIiwiUHJlRGVmaW5lZFJlZ2V4VmFsaWRhdG9yIiwiQ3VzdG9tVmFsaWRhdG9yIiwidmFsaWRhdG9yRnVuYyIsIkNvbGxhcHNpYmxlUGFuZWxXcmFwcGVyIiwiQ29sbGFwc2libGVQYW5lbCIsIkN1c3RvbUdyb3VwTGFiZWwiLCJCYXNlRm9ybVZpZXciLCJjb250ZXh0Iiwic2VydmljZSIsImdyb3VwcyIsImdyb3VwIiwiZmllbGRzIiwiZmllbGROYW1lIiwiaW5kZXgiLCJmaW5kSW5kZXgiLCJ1cGRhdGVkT2JqIiwiSlNPTiIsInBhcnNlIiwic3RyaW5naWZ5IiwiaXNHcm91cGluZyIsInNwbGljZSIsImNsZWFyRXJyb3JNc2ciLCJkYXRhZGljdCIsImtleXMiLCJob29rIiwib25TYXZlIiwiZXhlY3V0ZVZhbGlkYXRpb25TdWJtaXQiLCJ0ZW1FbnRpdGllcyIsImluY2x1ZGVzIiwiQm9vbGVhbiIsInNldEVycm9yRmllbGRNc2ciLCJpc09BdXRoIiwicmVxRmllbGRzIiwiYXV0aE1hcCIsImF1dGhfdHlwZSIsImlzQXV0aFZhbCIsImRvVmFsaWRhdGlvbiIsInNhdmVWYWxpZGF0b3IiLCJmb3JtRGF0YSIsInBhcnNlRnVuY3Rpb25SYXdTdHIiLCJTYXZlVmFsaWRhdG9yIiwic2V0RXJyb3JNc2ciLCJpc1NpbmdsZU9hdXRoIiwicGFyYW1ldGVycyIsImNsaWVudF9pZCIsInJlZGlyZWN0X3VybCIsInN0YXRlRW5hYmxlZCIsImlzb2F1dGhTdGF0ZSIsInN0YXRlX2VuYWJsZWQiLCJvYXV0aF9zdGF0ZSIsInV1aWR2NCIsInJlcGxhY2UiLCJob3N0Iiwib2F1dGhDb25mIiwiYXV0aENvZGVFbmRwb2ludCIsImEiLCJpc0NhbGxlZCIsImlzRXJyb3IiLCJpc1Jlc3BvbnNlIiwiY2hpbGRXaW4iLCJ3aW5kb3ciLCJwb3B1cFdpZHRoIiwicG9wdXBIZWlnaHQiLCJnZXRNZXNzYWdlIiwiaGFuZGxlT2F1dGhUb2tlbiIsIndhaXRGb3JBdXRoZW50aWNhdGlvbiIsImF1dGhUaW1lb3V0IiwiY2xvc2VkIiwid2FpdEZvckJhY2tlbmRSZXNwb25zZSIsInNhdmVEYXRhIiwib25TYXZlUHJvbWlzZSIsImFwcGVuZCIsInRtcE9iaiIsImNvbnRlbnQiLCJpZCIsInVwZGF0ZSIsIiRtZXJnZSIsIm9uU2F2ZVN1Y2Nlc3MiLCJtb2RlX2NvbmZpZ190aXRsZSIsImVyciIsImVycm9yU3VibWl0TXNnIiwicGFyc2VFcnJvck1zZyIsIm9uU2F2ZUZhaWwiLCJjaGFuZ2VzIiwiJHNldCIsImRlcGVuZGVuY3lNYXAiLCJoYXMiLCJnZXQiLCJsb2FkRmllbGQiLCJsb2FkIiwiZGVwZW5kZW5jeSIsImN1cnJlbnRWYWx1ZSIsIm5ld0ZpZWxkcyIsInRlbXBTdGF0ZSIsImNsZWFyQWxsRXJyb3JNc2ciLCJob29rRGVmZXJyZWQiLCJ4IiwibXNnIiwicHJldmlvdXNTdGF0ZSIsIlN0YXRlIiwid2FybmluZ01zZyIsIm5ld0RhdGEiLCJ0ZW1EYXRhIiwiSG9vayIsInV0aWwiLCJjb2RlIiwic3RhdGVSZXNwb25zZSIsImRlY29kZVVSSUNvbXBvbmVudCIsImFjY2Vzc1Rva2VuRW5kcG9pbnQiLCJncmFudF90eXBlIiwiY2xpZW50X3NlY3JldCIsInJlZGlyZWN0X3VyaSIsIk9BdXRoRW5kcG9pbnQiLCJhY2Nlc3NUb2tlbiIsImFjY2Vzc190b2tlbiIsImluc3RhbmNlVXJsIiwiaW5zdGFuY2VfdXJsIiwicmVmcmVzaFRva2VuIiwicmVmcmVzaF90b2tlbiIsInNsZWVwIiwidGltZW91dCIsImFyZ3MiLCJtcyIsInNldFRpbWVvdXQiLCJjb2xscHNpYmxlRWxlbWVudCIsInRlbVN0YXRlIiwidXRpbENvbnRyb2xXcmFwcGVyIiwiaXNFeHBhbmRhYmxlIiwiZmxhZyIsImN1cnJlbnRJbnB1dCIsImVuY29kZVVSSUNvbXBvbmVudCIsImNhbGxiYWNrIiwiUEFHRV9JTlBVVCIsInBhZ2VzIiwiaW5wdXRzIiwic2VydmljZXMiLCJ1cGRhdGVFbnRpdGllc0Zvckdyb3VwIiwibG9hZEhvb2siLCJjb25maWd1cmF0aW9uIiwidGFicyIsInRhYiIsInRhYmxlIiwiY3VycmVudFNlcnZpY2VTdGF0ZSIsIk1hcCIsIlBBR0VfQ09ORiIsImF1dGhUeXBlIiwib2F1dGhfc3RhdGVfZW5hYmxlZCIsInRlbXBFbnRpdHkiLCJiYXNpYyIsIm9hdXRoIiwiYXV0aGZpZWxkcyIsImlzRW5jcnlwdGVkIiwibG9jYXRpb24iLCJocmVmIiwib2F1dGhDb25mRGF0YSIsIm9hdXRoX3BvcHVwX3dpZHRoIiwib2F1dGhfcG9wdXBfaGVpZ2h0Iiwib2F1dGhfdGltZW91dCIsImF1dGhfY29kZV9lbmRwb2ludCIsImFjY2Vzc190b2tlbl9lbmRwb2ludCIsImRpc2FibGVvbkVkaXQiLCJFcnJvciIsImNoYW5nZUZpZWxkcyIsImZsYXR0ZW5lZE1hcCIsIm9uQ3JlYXRlIiwiY29uc29sZSIsIm9uUmVuZGVyIiwib25FZGl0TG9hZCIsIm1hcmdpblRvcCIsImdlbmVyYXRlV2FybmluZ01lc3NhZ2UiLCJnZW5lcmF0ZUVycm9yTWVzc2FnZSIsInJlbmRlckdyb3VwRWxlbWVudHMiLCJTVFlMRV9QQUdFIiwiU1RZTEVfTU9EQUwiLCJDdXN0b21UYWJsZUNvbnRyb2wiLCJmaWxlTmFtZSIsInJvdyIsIlRhYmxlQ2VsbFdyYXBwZXIiLCJUYWJsZSIsIkNlbGwiLCJnZXRFeHBhbnNpb25Sb3ciLCJjb2xTcGFuIiwibW9yZUluZm8iLCJjdXN0b21Sb3ciLCJSb3ciLCJ0ZXJtV2lkdGgiLCJEZWZpbml0aW9uTGlzdHMiLCJUZXJtIiwiRGVzY3JpcHRpb24iLCJnZXRFeHBhbnNpb25Sb3dEYXRhIiwiU3dpdGNoV3JhcHBlciIsIkN1c3RvbVRhYmxlUm93IiwiY29sdW1ucyIsImhlYWRlck1hcHBpbmciLCJoYW5kbGVUb2dnbGVBY3Rpb25DbGljayIsImhhbmRsZUVkaXRBY3Rpb25DbGljayIsImhhbmRsZUNsb25lQWN0aW9uQ2xpY2siLCJoYW5kbGVEZWxldGVBY3Rpb25DbGljayIsInJvd0FjdGlvbnNQcmltYXJ5QnV0dG9uIiwidXNlQ2FsbGJhY2siLCJzZWxlY3RlZFJvdyIsImRhdGEtY29sdW1uIiwic2NyZWVuUmVhZGVyVGV4dCIsInNpemUiLCJzdGF0dXNDb250ZW50IiwiX190b2dnbGVTaG93U3Bpbm5lciIsImhlYWRlciIsImNlbGxIVE1MIiwiY3VzdG9tQ2VsbCIsImdldEN1c3RvbUNlbGwiLCJzZWxlY3RlZExhYmVsIiwidW5zZWxlY3RlZExhYmVsIiwiRGVsZXRlTW9kYWwiLCJFcnJvck1zZyIsInByZXZTdGF0ZSIsImlzRGVsZXRpbmciLCIkdW5zZXQiLCJkZWxldGVNc2ciLCJoYW5kbGVEZWxldGUiLCJDdXN0b21UYWJsZSIsImhhbmRsZU9wZW5QYWdlU3R5bGVEaWFsb2ciLCJoYW5kbGVTb3J0Iiwic29ydERpciIsInNvcnRLZXkiLCJ1bmlmaWVkQ29uZmlncyIsImVudGl0eU1vZGFsIiwic2V0RW50aXR5TW9kYWwiLCJkZWxldGVNb2RhbCIsInNldERlbGV0ZU1vZGFsIiwidXNlQ29udGV4dCIsInRhYmxlQ29uZmlnIiwic2VydmljZVRvU3R5bGVNYXAiLCJxdWVyeSIsInNlcnZpY2VLZXkiLCJjb2x1bW4iLCJoYW5kbGVFbnRpdHlDbG9zZSIsImhhbmRsZURlbGV0ZUNsb3NlIiwiZ2V0VGFibGVIZWFkZXJDZWxsIiwiSGVhZCIsImhlYWREYXRhIiwiSGVhZENlbGwiLCJvblNvcnQiLCJzdHJpcGVSb3dzIiwicm93RXhwYW5zaW9uIiwiZXhwYW5zaW9uUm93IiwiZ2VuZXJhdGVNb2RhbERpYWxvZyIsIlRhYmxlRmlsdGVyIiwid2FpdCIsImxhdGVyIiwiY2xlYXJUaW1lb3V0IiwiVGFibGVIZWFkZXJXcmFwcGVyIiwiVGFibGVGaWx0ZXJXcmFwcGVyIiwiVGFibGVIZWFkZXIiLCJ0b3RhbEVsZW1lbnQiLCJoYW5kbGVSZXF1ZXN0TW9kYWxPcGVuIiwiaXRlbUxhYmVsIiwiYXJyIiwidW5zaGlmdCIsImdldFNlYXJjaFR5cGVEcm9wZG93biIsInBhZ2VOdW1iZXIiLCJhbHdheXNTaG93TGFzdFBhZ2VMaW5rIiwidG90YWxQYWdlcyIsIk1hdGgiLCJjZWlsIiwiVGFibGVXcmFwcGVyIiwic2V0U29ydEtleSIsInNldFNvcnREaXIiLCJzZXRFcnJvciIsImZldGNoSW5wdXRzIiwicmVxdWVzdHMiLCJhbGwiLCJlcnJvckNvZGUiLCJ1Y2NFcnJvckNvZGUiLCJyZXMiLCJmaW5kQnlNYXRjaGluZ1ZhbHVlIiwidGFibGVGaWVsZHMiLCJtb3JlSW5mb0RhdGEiLCJ2IiwiZm91bmQiLCJ2diIsInRyaW0iLCJuZXdBcnIiLCJzb3J0ZWRBcnIiLCJzb3J0Iiwicm93QSIsInJvd0IiLCJ1cGRhdGVkQXJyIiwic2xpY2UiLCJnZXRSb3dEYXRhIiwiZmlsdGVyZWREYXRhIiwiY3VycmVudFJvd0RhdGEiLCJjaGFuZ2VUb2dnbGVTdGF0dXMiLCJwcmV2U29ydERpciIsIkVSUjAwMDEiLCJFUlIwMDAyIiwiRVJSMDAwMyIsIkVSUjAwMDQiLCJFUlIwMDA1IiwiRXJyb3JCb3VuZGFyeSIsImVycm9ySW5mbyIsImFsaWduIiwiYm94U2hhZG93IiwidGV4dEFsaWduIiwibGV2ZWwiLCJlcnJvckNvZGVz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a0JBQUMsSUFBSzVDLE9BQU4sQ0FBYXNnQixZQUFZLEdBQ3BCaGhCLEtBQUtMLE1BQU1rZixVQUFZN2UsS0FBS0wsTUFBTWtmLFVBQVksUUFPeEQ3ZSxLQUFLaEIsTUFBTTVFLFksdUNBN0N0QixTQUFnQ2tELEdBRTVCLE1BQU8sQ0FBRXVoQixVQUFXdmhCLEVBQU13aEIsa0IsR0FSTnJmLElBQU1zQixXQXVEbEN5ZixFQUFjeGxCLFVBQVksQ0FDdEJaLFNBQVVhLElBQVVDLFVBQVUsQ0FBQ0QsSUFBVUUsUUFBUUYsSUFBVUcsTUFBT0gsSUFBVUcsT0FBT0MsWUFHeEVtbEIiLCJmaWxlIjoiMS5qcyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBSZWFjdCwgeyBjcmVhdGVDb250ZXh0LCB1c2VTdGF0ZSB9IGZyb20gJ3JlYWN0JztcbmltcG9ydCBQcm9wVHlwZXMgZnJvbSAncHJvcC10eXBlcyc7XG5cbmNvbnN0IFRhYmxlQ29udGV4dCA9IGNyZWF0ZUNvbnRleHQoe1xuICAgIHJvd0RhdGE6IHt9LFxuICAgIHNldFJvd0RhdGE6ICgpID0+IHt9LFxufSk7XG5cbmV4cG9ydCBjb25zdCBUYWJsZUNvbnRleHRQcm92aWRlciA9ICh7IGNoaWxkcmVuIH0pID0+IHtcbiAgICBjb25zdCBbcm93RGF0YSwgc2V0Um93RGF0YV0gPSB1c2VTdGF0ZSh7fSk7XG4gICAgY29uc3QgW3NlYXJjaFRleHQsIHNldFNlYXJjaFRleHRdID0gdXNlU3RhdGUoJycpO1xuICAgIGNvbnN0IFtzZWFyY2hUeXBlLCBzZXRTZWFyY2hUeXBlXSA9IHVzZVN0YXRlKCdhbGwnKTtcbiAgICBjb25zdCBbcGFnZVNpemUsIHNldFBhZ2VTaXplXSA9IHVzZVN0YXRlKDEwKTtcbiAgICBjb25zdCBbY3VycmVudFBhZ2UsIHNldEN1cnJlbnRQYWdlXSA9IHVzZVN0YXRlKDApO1xuXG4gICAgcmV0dXJuIChcbiAgICAgICAgPFRhYmxlQ29udGV4dC5Qcm92aWRlclxuICAgICAgICAgICAgdmFsdWU9e3tcbiAgICAgICAgICAgICAgICByb3dEYXRhLFxuICAgICAgICAgICAgICAgIHNldFJvd0RhdGEsXG4gICAgICAgICAgICAgICAgc2VhcmNoVGV4dCxcbiAgICAgICAgICAgICAgICBzZXRTZWFyY2hUZXh0LFxuICAgICAgICAgICAgICAgIHNlYXJjaFR5cGUsXG4gICAgICAgICAgICAgICAgc2V0U2VhcmNoVHlwZSxcbiAgICAgICAgICAgICAgICBwYWdlU2l6ZSxcbiAgICAgICAgICAgICAgICBzZXRQYWdlU2l6ZSxcbiAgICAgICAgICAgICAgICBjdXJyZW50UGFnZSxcbiAgICAgICAgICAgICAgICBzZXRDdXJyZW50UGFnZSxcbiAgICAgICAgICAgIH19XG4gICAgICAgID5cbiAgICAgICAgICAgIHtjaGlsZHJlbn1cbiAgICAgICAgPC9UYWJsZUNvbnRleHQuUHJvdmlkZXI+XG4gICAgKTtcbn07XG5cblRhYmxlQ29udGV4dFByb3ZpZGVyLnByb3BUeXBlcyA9IHtcbiAgICBjaGlsZHJlbjogUHJvcFR5cGVzLm9uZU9mVHlwZShbUHJvcFR5cGVzLmFycmF5T2YoUHJvcFR5cGVzLm5vZGUpLCBQcm9wVHlwZXMubm9kZV0pLmlzUmVxdWlyZWQsXG59O1xuXG5leHBvcnQgZGVmYXVsdCBUYWJsZUNvbnRleHQ7XG4iLCJleHBvcnQgY29uc3QgTU9ERV9DTE9ORSA9ICdjbG9uZSc7XG5leHBvcnQgY29uc3QgTU9ERV9DUkVBVEUgPSAnY3JlYXRlJztcbmV4cG9ydCBjb25zdCBNT0RFX0RFTEVURSA9ICdkZWxldGUnO1xuZXhwb3J0IGNvbnN0IE1PREVfRURJVCA9ICdlZGl0JztcbmV4cG9ydCBjb25zdCBNT0RFX0NPTkZJRyA9ICdjb25maWcnO1xuIiwiaW1wb3J0IGF4aW9zIGZyb20gJ2F4aW9zJztcbmltcG9ydCB7IENTUkZUb2tlbiwgYXBwIH0gZnJvbSAnQHNwbHVuay9zcGx1bmstdXRpbHMvY29uZmlnJztcbmltcG9ydCB7IGNyZWF0ZVJFU1RVUkwgfSBmcm9tICdAc3BsdW5rL3NwbHVuay11dGlscy91cmwnO1xuaW1wb3J0IHsgZ2VuZXJhdGVFbmRQb2ludFVybCwgZ2VuZXJhdGVUb2FzdCB9IGZyb20gJy4vdXRpbCc7XG5cbi8qKlxuICpcbiAqIEBwYXJhbSB7T2JqZWN0fSBkYXRhIFRoZSBvYmplY3QgY29udGFpbmluZyByZXF1aXJlZCBwYXJhbXMgZm9yIHJlcXVlc3RcbiAqIEBwYXJhbSB7c3RyaW5nfSBkYXRhLnNlcnZpY2VOYW1lIHNlcnZpY2UgbmFtZSB3aGljaCBpcyBpbnB1dCBuYW1lIG9yIHRhYiBuYW1lIGJhc2VkIG9uIHRoZSBwYWdlXG4gKiBAcGFyYW0ge3N0cmluZ30gZGF0YS5lbmRwb2ludFVybCByZXN0IGVuZHBvaW50IHBhdGhcbiAqIEBwYXJhbSB7b2JqZWN0fSBkYXRhLnBhcmFtcyBvYmplY3Qgd2l0aCBwYXJhbXMgYXMga2V5IHZhbHVlIHBhaXJzXG4gKiBAcGFyYW0ge29iamVjdH0gZGF0YS5ib2R5IG9iamVjdCB3aXRoIGJvZHkgYXMga2V5IHZhbHVlIHBhaXJzIGZvciBwb3N0IHJlcXVlc3RcbiAqIEBwYXJhbSB7b2JqZWN0fSBkYXRhLmN1c3RvbUhlYWRlcnMgZXh0cmEgaGVhZGVycyBhcyBrZXkgdmFsdWUgcGFpclxuICogQHBhcmFtIHtzdHJpbmd9IGRhdGEubWV0aG9kIHJlc3QgbWV0aG9kIHR5cGVcbiAqIEBwYXJhbSB7c3RyaW5nfSBkYXRhLmhhbmRsZUVycm9yIHdoZXRoZXIgb3Igbm90IHNob3cgdG9hc3Qgbm90aWZpY2F0aW9ucyBvbiBmYWlsdXJlXG4gKiBAcGFyYW0ge3N0cmluZ30gZGF0YS5jYWxsYmFja09uRXJyb3IgY2FsbGJhY2sgZnVuY3Rpb24gdG8gZXhlY3V0ZSBhZnRlciBoYW5kbGluZyBlcnJvci4gT25seSBleGVjdXRlZCB3aGVuIGhhbmRsZUVycm9yIGlzIHNldCB0byB0cnVlXG4gKiBAcmV0dXJuc1xuICovXG5jb25zdCBheGlvc0NhbGxXcmFwcGVyID0gKHtcbiAgICBzZXJ2aWNlTmFtZSxcbiAgICBlbmRwb2ludFVybCxcbiAgICBwYXJhbXMsXG4gICAgYm9keSxcbiAgICBjYW5jZWxUb2tlbixcbiAgICBjdXN0b21IZWFkZXJzID0ge30sXG4gICAgbWV0aG9kID0gJ2dldCcsXG4gICAgaGFuZGxlRXJyb3IgPSBmYWxzZSxcbiAgICBjYWxsYmFja09uRXJyb3IgPSAoKSA9PiB7fSxcbn0pID0+IHtcbiAgICBjb25zdCBlbmRwb2ludCA9IHNlcnZpY2VOYW1lID8gZ2VuZXJhdGVFbmRQb2ludFVybChzZXJ2aWNlTmFtZSkgOiBlbmRwb2ludFVybDtcbiAgICBjb25zdCBhcHBEYXRhID0ge1xuICAgICAgICBhcHAsXG4gICAgICAgIG93bmVyOiAnbm9ib2R5JyxcbiAgICB9O1xuICAgIGNvbnN0IGJhc2VIZWFkZXJzID0ge1xuICAgICAgICAnWC1TcGx1bmstRm9ybS1LZXknOiBDU1JGVG9rZW4sXG4gICAgICAgICdYLVJlcXVlc3RlZC1XaXRoJzogJ1hNTEh0dHBSZXF1ZXN0JyxcbiAgICAgICAgJ0NvbnRlbnQtVHlwZSc6ICdhcHBsaWNhdGlvbi9qc29uJyxcbiAgICB9O1xuICAgIGNvbnN0IGhlYWRlcnMgPSBPYmplY3QuYXNzaWduKGJhc2VIZWFkZXJzLCBjdXN0b21IZWFkZXJzKTtcbiAgICBjb25zdCB1cmwgPSBjcmVhdGVSRVNUVVJMKGVuZHBvaW50LCBhcHBEYXRhKTtcblxuICAgIGxldCBuZXdQYXJhbXMgPSB7IG91dHB1dF9tb2RlOiAnanNvbicgfTtcbiAgICBpZiAocGFyYW1zKSB7XG4gICAgICAgIG5ld1BhcmFtcyA9IHsgLi4ubmV3UGFyYW1zLCAuLi5wYXJhbXMgfTtcbiAgICB9XG5cbiAgICBjb25zdCBvcHRpb25zID0ge1xuICAgICAgICBwYXJhbXM6IG5ld1BhcmFtcyxcbiAgICAgICAgbWV0aG9kLFxuICAgICAgICB1cmwsXG4gICAgICAgIGNyZWRlbnRpYWxzOiAnaW5jbHVkZScsXG4gICAgICAgIGhlYWRlcnMsXG4gICAgICAgIGNhbmNlbFRva2VuLFxuICAgIH07XG5cbiAgICBpZiAobWV0aG9kID09PSAncG9zdCcpIHtcbiAgICAgICAgb3B0aW9ucy5kYXRhID0gYm9keTtcbiAgICB9XG5cbiAgICByZXR1cm4gaGFuZGxlRXJyb3JcbiAgICAgICAgPyBheGlvcyhvcHRpb25zKS5jYXRjaCgoZXJyb3IpID0+IHtcbiAgICAgICAgICAgICAgbGV0IG1lc3NhZ2UgPSAnJztcbiAgICAgICAgICAgICAgaWYgKGF4aW9zLmlzQ2FuY2VsKGVycm9yKSkge1xuICAgICAgICAgICAgICAgICAgcmV0dXJuIFByb21pc2UucmVqZWN0KGVycm9yKTtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICBpZiAoZXJyb3IucmVzcG9uc2UpIHtcbiAgICAgICAgICAgICAgICAgIC8vIFRoZSByZXF1ZXN0IHdhcyBtYWRlIGFuZCB0aGUgc2VydmVyIHJlc3BvbmRlZCB3aXRoIGEgc3RhdHVzIGNvZGVcbiAgICAgICAgICAgICAgICAgIG1lc3NhZ2UgPSBgRXJyb3IgcmVzcG9uc2UgcmVjZWl2ZWQgZnJvbSBzZXJ2ZXI6ICR7ZXJyb3IucmVzcG9uc2UuZGF0YS5tZXNzYWdlc1swXS50ZXh0fWA7XG4gICAgICAgICAgICAgIH0gZWxzZSBpZiAoZXJyb3IucmVxdWVzdCkge1xuICAgICAgICAgICAgICAgICAgLy8gVGhlIHJlcXVlc3Qgd2FzIG1hZGUgYnV0IG5vIHJlc3BvbnNlIHdhcyByZWNlaXZlZFxuICAgICAgICAgICAgICAgICAgbWVzc2FnZSA9IGBObyByZXNwb25zZSByZWNlaXZlZCB3aGlsZSBtYWtpbmcgcmVxdWVzdCB0byAke2VuZHBvaW50fWA7XG4gICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAvLyBTb21ldGhpbmcgaGFwcGVuZWQgaW4gc2V0dGluZyB1cCB0aGUgcmVxdWVzdCB0aGF0IHRyaWdnZXJlZCBhbiBFcnJvclxuICAgICAgICAgICAgICAgICAgbWVzc2FnZSA9IGBFcnJvciBtYWtpbmcgJHttZXRob2R9IHJlcXVlc3QgdG8gJHtlbmRwb2ludH1gO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIGdlbmVyYXRlVG9hc3QobWVzc2FnZSwgJ2Vycm9yJyk7XG4gICAgICAgICAgICAgIGNhbGxiYWNrT25FcnJvcihlcnJvcik7XG4gICAgICAgICAgICAgIHJldHVybiBQcm9taXNlLnJlamVjdChlcnJvcik7XG4gICAgICAgICAgfSlcbiAgICAgICAgOiBheGlvcyhvcHRpb25zKTtcbn07XG5cbmV4cG9ydCB7IGF4aW9zQ2FsbFdyYXBwZXIgfTtcbiIsImltcG9ydCBzdHlsZWQgZnJvbSAnc3R5bGVkLWNvbXBvbmVudHMnO1xuaW1wb3J0IHsgdmFyaWFibGVzIH0gZnJvbSAnQHNwbHVuay90aGVtZXMnO1xuXG5leHBvcnQgY29uc3QgVGl0bGVDb21wb25lbnQgPSBzdHlsZWQuZGl2LmF0dHJzKHtcbiAgICBjbGFzc05hbWU6ICdwYWdlVGl0bGUnLFxufSlgXG4gICAgJi5wYWdlVGl0bGUge1xuICAgICAgICBmb250LXNpemU6ICR7dmFyaWFibGVzLmZvbnRTaXplWFhMYXJnZX07XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XG4gICAgfVxuYDtcblxuZXhwb3J0IGNvbnN0IFN1YlRpdGxlQ29tcG9uZW50ID0gc3R5bGVkLmRpdi5hdHRycyh7XG4gICAgY2xhc3NOYW1lOiAncGFnZVN1YnRpdGxlJyxcbn0pYFxuICAgICYucGFnZVN1YnRpdGxlIHtcbiAgICAgICAgZm9udC1zaXplOiAke3ZhcmlhYmxlcy5mb250U2l6ZX07XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XG4gICAgfVxuYDtcblxuZXhwb3J0IGNvbnN0IFRhYmxlQ2FwdGlvbkNvbXBvbmVudCA9IHN0eWxlZC5kaXZgXG4gICAgLnRhYmxlLWNhcHRpb24taW5uZXIge1xuICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgIH1cbmA7XG4iLCJpbXBvcnQgeyB1c2VMb2NhdGlvbiB9IGZyb20gJ3JlYWN0LXJvdXRlci1kb20nO1xuXG4vLyBBIGN1c3RvbSBob29rIHRoYXQgYnVpbGRzIG9uIHVzZUxvY2F0aW9uIHRvIHBhcnNlIHRoZSBxdWVyeSBzdHJpbmcgZm9yIHlvdS5cbmZ1bmN0aW9uIHVzZVF1ZXJ5KCkge1xuICAgIHJldHVybiBuZXcgVVJMU2VhcmNoUGFyYW1zKHVzZUxvY2F0aW9uKCkuc2VhcmNoKTtcbn1cblxuZXhwb3J0IGRlZmF1bHQgdXNlUXVlcnk7XG4iLCJpbXBvcnQgUmVhY3QsIHsgQ29tcG9uZW50IH0gZnJvbSAncmVhY3QnO1xuaW1wb3J0IFByb3BUeXBlcyBmcm9tICdwcm9wLXR5cGVzJztcbmltcG9ydCBCdXR0b24gZnJvbSAnQHNwbHVuay9yZWFjdC11aS9CdXR0b24nO1xuaW1wb3J0IE1vZGFsIGZyb20gJ0BzcGx1bmsvcmVhY3QtdWkvTW9kYWwnO1xuaW1wb3J0IHN0eWxlZCBmcm9tICdzdHlsZWQtY29tcG9uZW50cyc7XG5pbXBvcnQgV2FpdFNwaW5uZXIgZnJvbSAnQHNwbHVuay9yZWFjdC11aS9XYWl0U3Bpbm5lcic7XG5pbXBvcnQgeyBfIH0gZnJvbSAnQHNwbHVuay91aS11dGlscy9pMThuJztcblxuaW1wb3J0IHsgTU9ERV9DTE9ORSwgTU9ERV9DUkVBVEUsIE1PREVfRURJVCB9IGZyb20gJy4uL2NvbnN0YW50cy9tb2Rlcyc7XG5pbXBvcnQgQmFzZUZvcm1WaWV3IGZyb20gJy4vQmFzZUZvcm1WaWV3JztcblxuY29uc3QgTW9kYWxXcmFwcGVyID0gc3R5bGVkKE1vZGFsKWBcbiAgICB3aWR0aDogODAwcHg7XG5gO1xuXG5jbGFzcyBFbnRpdHlNb2RhbCBleHRlbmRzIENvbXBvbmVudCB7XG4gICAgY29uc3RydWN0b3IocHJvcHMpIHtcbiAgICAgICAgc3VwZXIocHJvcHMpO1xuICAgICAgICAvLyBSZWYgaXMgdXNlZCBoZXJlIHRvIGNhbGwgc3VibWl0IG1ldGhvZCBvZiBmb3JtIG9ubHlcbiAgICAgICAgdGhpcy5mb3JtID0gUmVhY3QuY3JlYXRlUmVmKCk7IC8vIG5vc2VtZ3JlcDogdHlwZXNjcmlwdC5yZWFjdC5zZWN1cml0eS5hdWRpdC5yZWFjdC1uby1yZWZzLnJlYWN0LW5vLXJlZnNcbiAgICAgICAgdGhpcy5zdGF0ZSA9IHsgaXNTdWJtaXRpdG5nOiBmYWxzZSB9O1xuXG4gICAgICAgIGlmIChwcm9wcy5tb2RlID09PSBNT0RFX0NSRUFURSkge1xuICAgICAgICAgICAgdGhpcy5idXR0b25UZXh0ID0gXygnQWRkJyk7XG4gICAgICAgIH0gZWxzZSBpZiAocHJvcHMubW9kZSA9PT0gTU9ERV9DTE9ORSkge1xuICAgICAgICAgICAgdGhpcy5idXR0b25UZXh0ID0gXygnU2F2ZScpO1xuICAgICAgICB9IGVsc2UgaWYgKHByb3BzLm1vZGUgPT09IE1PREVfRURJVCkge1xuICAgICAgICAgICAgdGhpcy5idXR0b25UZXh0ID0gXygnVXBkYXRlJyk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLmJ1dHRvblRleHQgPSBfKCdTdWJtaXQnKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGhhbmRsZVJlcXVlc3RDbG9zZSA9ICgpID0+IHtcbiAgICAgICAgdGhpcy5wcm9wcy5oYW5kbGVSZXF1ZXN0Q2xvc2UoKTtcbiAgICB9O1xuXG4gICAgaGFuZGxlU3VibWl0ID0gKCkgPT4ge1xuICAgICAgICBjb25zdCByZXN1bHQgPSB0aGlzLmZvcm0uY3VycmVudC5oYW5kbGVTdWJtaXQoKTtcbiAgICAgICAgaWYgKHJlc3VsdCkge1xuICAgICAgICAgICAgdGhpcy5oYW5kbGVSZXF1ZXN0Q2xvc2UoKTtcbiAgICAgICAgfVxuICAgIH07XG5cbiAgICAvKlxuICAgICAqIEBwYXJhbSB7Ym9vbGVhbn0gc2V0OiB3aGV0aGVyIGZvcm0gaXMgc3VibWl0dGluZ1xuICAgICAqIEBwYXJhbSB7Ym9vbGVhbn0gY2xvc2UgOiBjbG9zZSB0aGUgRW50aXR5IG1vZGFsXG4gICAgICovXG4gICAgaGFuZGxlRm9ybVN1Ym1pdCA9IChzZXQsIGNsb3NlKSA9PiB7XG4gICAgICAgIHRoaXMuc2V0U3RhdGUoeyBpc1N1Ym1pdGl0bmc6IHNldCB9KTtcbiAgICAgICAgaWYgKGNsb3NlKSB7XG4gICAgICAgICAgICB0aGlzLmhhbmRsZVJlcXVlc3RDbG9zZSgpO1xuICAgICAgICB9XG4gICAgfTtcblxuICAgIHJlbmRlcigpIHtcbiAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgIDxNb2RhbFdyYXBwZXIgb3Blbj17dGhpcy5wcm9wcy5vcGVufT5cbiAgICAgICAgICAgICAgICA8TW9kYWwuSGVhZGVyXG4gICAgICAgICAgICAgICAgICAgIHRpdGxlPXt0aGlzLnByb3BzLmZvcm1MYWJlbH1cbiAgICAgICAgICAgICAgICAgICAgb25SZXF1ZXN0Q2xvc2U9e3RoaXMuaGFuZGxlUmVxdWVzdENsb3NlfVxuICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgPE1vZGFsLkJvZHk+XG4gICAgICAgICAgICAgICAgICAgIDxCYXNlRm9ybVZpZXcgLy8gbm9zZW1ncmVwOiB0eXBlc2NyaXB0LnJlYWN0LnNlY3VyaXR5LmF1ZGl0LnJlYWN0LW5vLXJlZnMucmVhY3Qtbm8tcmVmc1xuICAgICAgICAgICAgICAgICAgICAgICAgcmVmPXt0aGlzLmZvcm19XG4gICAgICAgICAgICAgICAgICAgICAgICBwYWdlPXt0aGlzLnByb3BzLnBhZ2V9XG4gICAgICAgICAgICAgICAgICAgICAgICBzZXJ2aWNlTmFtZT17dGhpcy5wcm9wcy5zZXJ2aWNlTmFtZX1cbiAgICAgICAgICAgICAgICAgICAgICAgIG1vZGU9e3RoaXMucHJvcHMubW9kZX1cbiAgICAgICAgICAgICAgICAgICAgICAgIHN0YW56YU5hbWU9e3RoaXMucHJvcHMuc3RhbnphTmFtZX1cbiAgICAgICAgICAgICAgICAgICAgICAgIGhhbmRsZUZvcm1TdWJtaXQ9e3RoaXMuaGFuZGxlRm9ybVN1Ym1pdH1cbiAgICAgICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICA8L01vZGFsLkJvZHk+XG4gICAgICAgICAgICAgICAgPE1vZGFsLkZvb3Rlcj5cbiAgICAgICAgICAgICAgICAgICAgPEJ1dHRvblxuICAgICAgICAgICAgICAgICAgICAgICAgYXBwZWFyYW5jZT1cInNlY29uZGFyeVwiXG4gICAgICAgICAgICAgICAgICAgICAgICBvbkNsaWNrPXt0aGlzLmhhbmRsZVJlcXVlc3RDbG9zZX1cbiAgICAgICAgICAgICAgICAgICAgICAgIGxhYmVsPXtfKCdDYW5jZWwnKX1cbiAgICAgICAgICAgICAgICAgICAgICAgIGRpc2FibGVkPXt0aGlzLnN0YXRlLmlzU3VibWl0aXRuZ31cbiAgICAgICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICAgICAgPEJ1dHRvblxuICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3NOYW1lPVwic2F2ZUJ0blwiXG4gICAgICAgICAgICAgICAgICAgICAgICBhcHBlYXJhbmNlPVwicHJpbWFyeVwiXG4gICAgICAgICAgICAgICAgICAgICAgICBsYWJlbD17dGhpcy5zdGF0ZS5pc1N1Ym1pdGl0bmcgPyA8V2FpdFNwaW5uZXIgLz4gOiB0aGlzLmJ1dHRvblRleHR9XG4gICAgICAgICAgICAgICAgICAgICAgICBvbkNsaWNrPXt0aGlzLmhhbmRsZVN1Ym1pdH1cbiAgICAgICAgICAgICAgICAgICAgICAgIGRpc2FibGVkPXt0aGlzLnN0YXRlLmlzU3VibWl0aXRuZ31cbiAgICAgICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICA8L01vZGFsLkZvb3Rlcj5cbiAgICAgICAgICAgIDwvTW9kYWxXcmFwcGVyPlxuICAgICAgICApO1xuICAgIH1cbn1cblxuRW50aXR5TW9kYWwucHJvcFR5cGVzID0ge1xuICAgIHBhZ2U6IFByb3BUeXBlcy5zdHJpbmcsXG4gICAgb3BlbjogUHJvcFR5cGVzLmJvb2wsXG4gICAgaGFuZGxlUmVxdWVzdENsb3NlOiBQcm9wVHlwZXMuZnVuYyxcbiAgICBzZXJ2aWNlTmFtZTogUHJvcFR5cGVzLnN0cmluZyxcbiAgICBtb2RlOiBQcm9wVHlwZXMuc3RyaW5nLFxuICAgIHN0YW56YU5hbWU6IFByb3BUeXBlcy5zdHJpbmcsXG4gICAgZm9ybUxhYmVsOiBQcm9wVHlwZXMuc3RyaW5nLFxufTtcblxuZXhwb3J0IGRlZmF1bHQgRW50aXR5TW9kYWw7XG4iLCJpbXBvcnQgUmVhY3QgZnJvbSAncmVhY3QnO1xuaW1wb3J0IFByb3BUeXBlcyBmcm9tICdwcm9wLXR5cGVzJztcbmltcG9ydCBzdHlsZWQgZnJvbSAnc3R5bGVkLWNvbXBvbmVudHMnO1xuaW1wb3J0IExpbmsgZnJvbSAnQHNwbHVuay9yZWFjdC11aS9MaW5rJztcblxuY29uc3QgTWFya2Rvd25XcmFwcGVyID0gc3R5bGVkLnNwYW5gXG4gICAgY29sb3I6ICR7KHByb3BzKSA9PiBwcm9wcy5jb2xvcn07XG5gO1xuXG5mdW5jdGlvbiBNYXJrZG93bk1lc3NhZ2UocHJvcHMpIHtcbiAgICAvLyBmbGF0TWFwIGFkZHMgdGhlIGxpbmsgdG8gdGhlIHBhcnQgb2YgdGV4dCB0aGF0IGhhcyBiZWVuIHNwbGl0IGZyb20gdGV4dFxuICAgIC8vIGFuZCByZXR1cm5zIGEgbmV3IGFycmF5IGZvcm1lZCBieSBhcHBseWluZyBhIGdpdmVuIGZ1bmN0aW9uIHRvIGVhY2ggZWxlbWVudCBvZiB0aGUgYXJyYXksXG4gICAgLy8gYW5kIHRoZW4gZmxhdHRlbmluZyB0aGUgcmVzdWx0IGJ5IG9uZSBsZXZlbFxuICAgIGZ1bmN0aW9uIGZsYXRNYXAoYXJyYXksIGZuKSB7XG4gICAgICAgIGxldCBtYXJrZG93blRleHQgPSBbXTtcbiAgICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCBhcnJheS5sZW5ndGg7IGkgKz0gMSkge1xuICAgICAgICAgICAgY29uc3QgbWFwcGluZyA9IGZuKGFycmF5W2ldKTtcbiAgICAgICAgICAgIG1hcmtkb3duVGV4dCA9IG1hcmtkb3duVGV4dC5jb25jYXQobWFwcGluZyk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIG1hcmtkb3duVGV4dDtcbiAgICB9XG5cbiAgICBmdW5jdGlvbiBnZXRNYXJrZG93blRleHQoKSB7XG4gICAgICAgIGxldCBtYXJrZG93blRleHQgPSBwcm9wcy50ZXh0O1xuICAgICAgICBpZiAocHJvcHMubWFya2Rvd25UeXBlID09PSAnbGluaycpIHtcbiAgICAgICAgICAgIG1hcmtkb3duVGV4dCA9IDxMaW5rIHRvPXtwcm9wcy5saW5rfT57cHJvcHMudGV4dH08L0xpbms+O1xuICAgICAgICB9IGVsc2UgaWYgKHByb3BzLm1hcmtkb3duVHlwZSA9PT0gJ2h5YnJpZCcpIHtcbiAgICAgICAgICAgIC8vIG1hcmtkb3duVHlwZSBoeWJyaWQgaXMgZm9yIHN1cHBvcnQgb2YgYm90aCB0ZXh0IGFuZCBsaW5rXG4gICAgICAgICAgICBtYXJrZG93blRleHQgPSBmbGF0TWFwKG1hcmtkb3duVGV4dC5zcGxpdChwcm9wcy50b2tlbiksIChwYXJ0KSA9PiB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIFtcbiAgICAgICAgICAgICAgICAgICAgcGFydCxcbiAgICAgICAgICAgICAgICAgICAgPExpbmsga2V5PXtwYXJ0fSB0bz17cHJvcHMubGlua30+XG4gICAgICAgICAgICAgICAgICAgICAgICB7cHJvcHMubGlua1RleHR9XG4gICAgICAgICAgICAgICAgICAgIDwvTGluaz4sXG4gICAgICAgICAgICAgICAgXTtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgbWFya2Rvd25UZXh0LnBvcCgpO1xuICAgICAgICB9IGVsc2UgaWYgKHByb3BzLm1hcmtkb3duVHlwZSA9PT0gJ3RleHQnKSB7XG4gICAgICAgICAgICBtYXJrZG93blRleHQgPSA8TWFya2Rvd25XcmFwcGVyIGNvbG9yPXtwcm9wcy5jb2xvcn0+e3Byb3BzLnRleHR9PC9NYXJrZG93bldyYXBwZXI+O1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIG1hcmtkb3duVGV4dDtcbiAgICB9XG5cbiAgICByZXR1cm4gPGRpdiBkYXRhLXRlc3Q9XCJtc2ctbWFya2Rvd25cIj57Z2V0TWFya2Rvd25UZXh0KCl9PC9kaXY+O1xufVxuXG5NYXJrZG93bk1lc3NhZ2UucHJvcFR5cGVzID0ge1xuICAgIHRleHQ6IFByb3BUeXBlcy5zdHJpbmcsXG4gICAgbGluazogUHJvcFR5cGVzLnN0cmluZyxcbiAgICBjb2xvcjogUHJvcFR5cGVzLnN0cmluZyxcbiAgICBtYXJrZG93blR5cGU6IFByb3BUeXBlcy5zdHJpbmcsXG4gICAgdG9rZW46IFByb3BUeXBlcy5zdHJpbmcsXG4gICAgbGlua1RleHQ6IFByb3BUeXBlcy5zdHJpbmcsXG59O1xuXG5leHBvcnQgZGVmYXVsdCBSZWFjdC5tZW1vKE1hcmtkb3duTWVzc2FnZSk7XG4iLCJpbXBvcnQgUmVhY3QgZnJvbSAncmVhY3QnO1xuaW1wb3J0IFByb3BUeXBlcyBmcm9tICdwcm9wLXR5cGVzJztcbmltcG9ydCBMaW5rIGZyb20gJ0BzcGx1bmsvcmVhY3QtdWkvTGluayc7XG5cbmZ1bmN0aW9uIEhlbHBMaW5rQ29tcG9uZW50KHByb3BzKSB7XG4gICAgY29uc3QgeyB0ZXh0LCBsaW5rIH0gPSBwcm9wcy5jb250cm9sT3B0aW9ucztcblxuICAgIHJldHVybiAoXG4gICAgICAgIDxMaW5rIHRvPXtsaW5rfSBvcGVuSW5OZXdDb250ZXh0PlxuICAgICAgICAgICAge3RleHR9XG4gICAgICAgIDwvTGluaz5cbiAgICApO1xufVxuXG5IZWxwTGlua0NvbXBvbmVudC5wcm9wVHlwZXMgPSB7XG4gICAgY29udHJvbE9wdGlvbnM6IFByb3BUeXBlcy5vYmplY3Rcbn07XG5cbmV4cG9ydCBkZWZhdWx0IEhlbHBMaW5rQ29tcG9uZW50O1xuIiwiaW1wb3J0IFJlYWN0LCB7IENvbXBvbmVudCB9IGZyb20gJ3JlYWN0JztcbmltcG9ydCBQcm9wVHlwZXMgZnJvbSAncHJvcC10eXBlcyc7XG5pbXBvcnQgVGV4dCBmcm9tICdAc3BsdW5rL3JlYWN0LXVpL1RleHQnO1xuaW1wb3J0IHN0eWxlZCBmcm9tICdzdHlsZWQtY29tcG9uZW50cyc7XG5cbmNvbnN0IFRleHRXcmFwcGVyID0gc3R5bGVkKFRleHQpYFxuICAgIHdpZHRoOiAzMjBweCAhaW1wb3J0YW50O1xuYDtcblxuY2xhc3MgVGV4dENvbXBvbmVudCBleHRlbmRzIENvbXBvbmVudCB7XG4gICAgaGFuZGxlQ2hhbmdlID0gKGUsIHsgdmFsdWUgfSkgPT4ge1xuICAgICAgICB0aGlzLnByb3BzLmhhbmRsZUNoYW5nZSh0aGlzLnByb3BzLmZpZWxkLCB2YWx1ZSk7XG4gICAgfTtcblxuICAgIHJlbmRlcigpIHtcbiAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgIDxUZXh0V3JhcHBlclxuICAgICAgICAgICAgICAgIGlubGluZVxuICAgICAgICAgICAgICAgIGVycm9yPXt0aGlzLnByb3BzLmVycm9yfVxuICAgICAgICAgICAgICAgIHBsYWNlaG9sZGVyPXt0aGlzLnByb3BzPy5jb250cm9sT3B0aW9ucz8ucGxhY2Vob2xkZXJ9XG4gICAgICAgICAgICAgICAgY2xhc3NOYW1lPXt0aGlzLnByb3BzLmZpZWxkfVxuICAgICAgICAgICAgICAgIGRpc2FibGVkPXt0aGlzLnByb3BzLmRpc2FibGVkfVxuICAgICAgICAgICAgICAgIHZhbHVlPXtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5wcm9wcy52YWx1ZSA9PT0gbnVsbCB8fCB0eXBlb2YgdGhpcy5wcm9wcy52YWx1ZSA9PT0gJ3VuZGVmaW5lZCdcbiAgICAgICAgICAgICAgICAgICAgICAgID8gJydcbiAgICAgICAgICAgICAgICAgICAgICAgIDogdGhpcy5wcm9wcy52YWx1ZS50b1N0cmluZygpXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIG9uQ2hhbmdlPXt0aGlzLmhhbmRsZUNoYW5nZX1cbiAgICAgICAgICAgICAgICB0eXBlPXt0aGlzLnByb3BzLmVuY3J5cHRlZCA/ICdwYXNzd29yZCcgOiAndGV4dCd9XG4gICAgICAgICAgICAvPlxuICAgICAgICApO1xuICAgIH1cbn1cblxuVGV4dENvbXBvbmVudC5wcm9wVHlwZXMgPSB7XG4gICAgLy8gTnVtYmVyIGlzIGV4cGVjdGVkIGlmIHByb3ZpZGVkIG51bWJlciBpbiBnbG9iYWxDb25maWcuanNvbiBpbnN0ZWFkIG9mIGEgc3RyaW5nLlxuICAgIHZhbHVlOiBQcm9wVHlwZXMub25lT2ZUeXBlKFtQcm9wVHlwZXMuc3RyaW5nLCBQcm9wVHlwZXMubnVtYmVyXSksXG4gICAgaGFuZGxlQ2hhbmdlOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIGZpZWxkOiBQcm9wVHlwZXMuc3RyaW5nLFxuICAgIGVycm9yOiBQcm9wVHlwZXMuYm9vbCxcbiAgICBjb250cm9sT3B0aW9uczogUHJvcFR5cGVzLm9iamVjdCxcbiAgICBlbmNyeXB0ZWQ6IFByb3BUeXBlcy5ib29sLFxuICAgIGRpc2FibGVkOiBQcm9wVHlwZXMuYm9vbCxcbn07XG5cbmV4cG9ydCBkZWZhdWx0IFRleHRDb21wb25lbnQ7XG4iLCJpbXBvcnQgUmVhY3QsIHsgdXNlU3RhdGUsIHVzZUVmZmVjdCB9IGZyb20gJ3JlYWN0JztcbmltcG9ydCBQcm9wVHlwZXMgZnJvbSAncHJvcC10eXBlcyc7XG5pbXBvcnQgU2VsZWN0IGZyb20gJ0BzcGx1bmsvcmVhY3QtdWkvU2VsZWN0JztcbmltcG9ydCBDb21ib0JveCBmcm9tICdAc3BsdW5rL3JlYWN0LXVpL0NvbWJvQm94JztcbmltcG9ydCBCdXR0b24gZnJvbSAnQHNwbHVuay9yZWFjdC11aS9CdXR0b24nO1xuaW1wb3J0IENsZWFyIGZyb20gJ0BzcGx1bmsvcmVhY3QtaWNvbnMvQ2xlYXInO1xuaW1wb3J0IHsgXyB9IGZyb20gJ0BzcGx1bmsvdWktdXRpbHMvaTE4bic7XG5pbXBvcnQgYXhpb3MgZnJvbSAnYXhpb3MnO1xuaW1wb3J0IHN0eWxlZCBmcm9tICdzdHlsZWQtY29tcG9uZW50cyc7XG5cbmltcG9ydCB7IGF4aW9zQ2FsbFdyYXBwZXIgfSBmcm9tICcuLi91dGlsL2F4aW9zQ2FsbFdyYXBwZXInO1xuaW1wb3J0IHsgZmlsdGVyUmVzcG9uc2UgfSBmcm9tICcuLi91dGlsL3V0aWwnO1xuXG5jb25zdCBTZWxlY3RXcmFwcGVyID0gc3R5bGVkKFNlbGVjdClgXG4gICAgd2lkdGg6IDMyMHB4ICFpbXBvcnRhbnQ7XG5gO1xuXG5jb25zdCBTdHlsZWREaXYgPSBzdHlsZWQuZGl2YFxuICAgIGRpdjpmaXJzdC1jaGlsZCB7XG4gICAgICAgIHdpZHRoOiAzMjBweCAhaW1wb3J0YW50O1xuICAgIH1cbmA7XG5cbmZ1bmN0aW9uIFNpbmdsZUlucHV0Q29tcG9uZW50KHByb3BzKSB7XG4gICAgY29uc3Qge1xuICAgICAgICBmaWVsZCxcbiAgICAgICAgZGlzYWJsZWQgPSBmYWxzZSxcbiAgICAgICAgZXJyb3IgPSBmYWxzZSxcbiAgICAgICAgY29udHJvbE9wdGlvbnMsXG4gICAgICAgIGRlcGVuZGVuY3lWYWx1ZXMsXG4gICAgICAgIC4uLnJlc3RQcm9wc1xuICAgIH0gPSBwcm9wcztcbiAgICBjb25zdCB7XG4gICAgICAgIGVuZHBvaW50VXJsLFxuICAgICAgICBkZW55TGlzdCxcbiAgICAgICAgYWxsb3dMaXN0LFxuICAgICAgICBwbGFjZWhvbGRlciA9IF8oJ1NlbGVjdCBhIHZhbHVlJyksXG4gICAgICAgIGRlcGVuZGVuY2llcyxcbiAgICAgICAgY3JlYXRlU2VhcmNoQ2hvaWNlLFxuICAgICAgICByZWZlcmVuY2VOYW1lLFxuICAgICAgICBkaXNhYmxlU2VhcmNoLFxuICAgICAgICBsYWJlbEZpZWxkLFxuICAgICAgICBhdXRvQ29tcGxldGVGaWVsZHMsXG4gICAgICAgIGhpZGVDbGVhckJ0bixcbiAgICB9ID0gY29udHJvbE9wdGlvbnM7XG5cbiAgICBmdW5jdGlvbiBoYW5kbGVDaGFuZ2UoZSwgb2JqKSB7XG4gICAgICAgIHJlc3RQcm9wcy5oYW5kbGVDaGFuZ2UoZmllbGQsIG9iai52YWx1ZSk7XG4gICAgfVxuICAgIGNvbnN0IE9wdGlvbiA9IGNyZWF0ZVNlYXJjaENob2ljZSA/IENvbWJvQm94Lk9wdGlvbiA6IFNlbGVjdC5PcHRpb247XG4gICAgY29uc3QgSGVhZGluZyA9IGNyZWF0ZVNlYXJjaENob2ljZSA/IENvbWJvQm94LkhlYWRpbmcgOiBTZWxlY3QuSGVhZGluZztcblxuICAgIGZ1bmN0aW9uIGdlbmVyYXRlT3B0aW9ucyhpdGVtcykge1xuICAgICAgICBjb25zdCBkYXRhID0gW107XG4gICAgICAgIGl0ZW1zLmZvckVhY2goKGl0ZW0pID0+IHtcbiAgICAgICAgICAgIGlmIChpdGVtLnZhbHVlICYmIGl0ZW0ubGFiZWwpIHtcbiAgICAgICAgICAgICAgICBkYXRhLnB1c2goPE9wdGlvbiBsYWJlbD17aXRlbS5sYWJlbH0gdmFsdWU9e2l0ZW0udmFsdWV9IGtleT17aXRlbS52YWx1ZX0gLz4pO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaWYgKGl0ZW0uY2hpbGRyZW4gJiYgaXRlbS5sYWJlbCkge1xuICAgICAgICAgICAgICAgIGRhdGEucHVzaCg8SGVhZGluZyBrZXk9e2l0ZW0ubGFiZWx9PntpdGVtLmxhYmVsfTwvSGVhZGluZz4pO1xuICAgICAgICAgICAgICAgIGl0ZW0uY2hpbGRyZW4uZm9yRWFjaCgoY2hpbGQpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgZGF0YS5wdXNoKDxPcHRpb24gbGFiZWw9e2NoaWxkLmxhYmVsfSB2YWx1ZT17Y2hpbGQudmFsdWV9IGtleT17Y2hpbGQudmFsdWV9IC8+KTtcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgICAgIHJldHVybiBkYXRhO1xuICAgIH1cblxuICAgIGNvbnN0IFtsb2FkaW5nLCBzZXRMb2FkaW5nXSA9IHVzZVN0YXRlKGZhbHNlKTtcbiAgICBjb25zdCBbb3B0aW9ucywgc2V0T3B0aW9uc10gPSB1c2VTdGF0ZShudWxsKTtcblxuICAgIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgICAgIGlmICghZW5kcG9pbnRVcmwgJiYgIXJlZmVyZW5jZU5hbWUgJiYgYXV0b0NvbXBsZXRlRmllbGRzKSB7XG4gICAgICAgICAgICBzZXRPcHRpb25zKGdlbmVyYXRlT3B0aW9ucyhhdXRvQ29tcGxldGVGaWVsZHMpKTtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIGxldCBjdXJyZW50ID0gdHJ1ZTtcbiAgICAgICAgY29uc3Qgc291cmNlID0gYXhpb3MuQ2FuY2VsVG9rZW4uc291cmNlKCk7XG5cbiAgICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLXNoYWRvd1xuICAgICAgICBjb25zdCBvcHRpb25zID0geyBjYW5jZWxUb2tlbjogc291cmNlLnRva2VuLCBoYW5kbGVFcnJvcjogdHJ1ZSwgcGFyYW1zOiB7IGNvdW50OiAtMSB9IH07XG4gICAgICAgIGlmIChyZWZlcmVuY2VOYW1lKSB7XG4gICAgICAgICAgICBvcHRpb25zLnNlcnZpY2VOYW1lID0gcmVmZXJlbmNlTmFtZTtcbiAgICAgICAgfSBlbHNlIGlmIChlbmRwb2ludFVybCkge1xuICAgICAgICAgICAgb3B0aW9ucy5lbmRwb2ludFVybCA9IGVuZHBvaW50VXJsO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKGRlcGVuZGVuY3lWYWx1ZXMpIHtcbiAgICAgICAgICAgIG9wdGlvbnMucGFyYW1zID0geyAuLi5vcHRpb25zLnBhcmFtcywgLi4uZGVwZW5kZW5jeVZhbHVlcyB9O1xuICAgICAgICB9XG4gICAgICAgIGlmICghZGVwZW5kZW5jaWVzIHx8IGRlcGVuZGVuY3lWYWx1ZXMpIHtcbiAgICAgICAgICAgIHNldExvYWRpbmcodHJ1ZSk7XG4gICAgICAgICAgICBheGlvc0NhbGxXcmFwcGVyKG9wdGlvbnMpXG4gICAgICAgICAgICAgICAgLnRoZW4oKHJlc3BvbnNlKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGlmIChjdXJyZW50KSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBzZXRPcHRpb25zKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdlbmVyYXRlT3B0aW9ucyhcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmlsdGVyUmVzcG9uc2UocmVzcG9uc2UuZGF0YS5lbnRyeSwgbGFiZWxGaWVsZCwgYWxsb3dMaXN0LCBkZW55TGlzdClcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICApXG4gICAgICAgICAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICAgICAgICAgICAgc2V0TG9hZGluZyhmYWxzZSk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgICAgIC5jYXRjaCgoKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGlmIChjdXJyZW50KSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBzZXRMb2FkaW5nKGZhbHNlKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBjb25zaXN0ZW50LXJldHVyblxuICAgICAgICByZXR1cm4gKCkgPT4ge1xuICAgICAgICAgICAgc291cmNlLmNhbmNlbCgnT3BlcmF0aW9uIGNhbmNlbGVkLicpO1xuICAgICAgICAgICAgY3VycmVudCA9IGZhbHNlO1xuICAgICAgICB9O1xuICAgICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgcmVhY3QtaG9va3MvZXhoYXVzdGl2ZS1kZXBzXG4gICAgfSwgW2RlcGVuZGVuY3lWYWx1ZXNdKTtcblxuICAgIGNvbnN0IGVmZmVjdGl2ZURpc2FibGVkID0gbG9hZGluZyA/IHRydWUgOiBkaXNhYmxlZDtcbiAgICBjb25zdCBlZmZlY3RpdmVQbGFjZWhvbGRlciA9IGxvYWRpbmcgPyBfKCdMb2FkaW5nJykgOiBwbGFjZWhvbGRlcjtcbiAgICAvLyBoaWRlQ2xlYXJCdG49dHJ1ZSBvbmx5IHBhc3NlZCBmb3IgT0F1dGggZWxzZSBpdHMgdW5kZWZpbmVkXG4gICAgY29uc3QgZWZmZWN0aXZlSXNDbGVhcmFibGUgPSBlZmZlY3RpdmVEaXNhYmxlZCA/IGZhbHNlIDogIWhpZGVDbGVhckJ0bjtcblxuICAgIHJldHVybiAoXG4gICAgICAgIDw+XG4gICAgICAgICAgICB7Y3JlYXRlU2VhcmNoQ2hvaWNlID8gKFxuICAgICAgICAgICAgICAgIDxTdHlsZWREaXYgY2xhc3NOYW1lPVwiZHJvcGRvd25Cb3hcIj5cbiAgICAgICAgICAgICAgICAgICAgPENvbWJvQm94XG4gICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZT17cHJvcHMudmFsdWUgPT09IG51bGwgPyAnJyA6IHByb3BzLnZhbHVlfVxuICAgICAgICAgICAgICAgICAgICAgICAgbmFtZT17ZmllbGR9XG4gICAgICAgICAgICAgICAgICAgICAgICBlcnJvcj17ZXJyb3J9XG4gICAgICAgICAgICAgICAgICAgICAgICBwbGFjZWhvbGRlcj17ZWZmZWN0aXZlUGxhY2Vob2xkZXJ9XG4gICAgICAgICAgICAgICAgICAgICAgICBkaXNhYmxlZD17ZWZmZWN0aXZlRGlzYWJsZWR9XG4gICAgICAgICAgICAgICAgICAgICAgICBvbkNoYW5nZT17aGFuZGxlQ2hhbmdlfVxuICAgICAgICAgICAgICAgICAgICAgICAgaW5saW5lXG4gICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgIHtvcHRpb25zICYmIG9wdGlvbnMubGVuZ3RoID4gMCAmJiBvcHRpb25zfVxuICAgICAgICAgICAgICAgICAgICA8L0NvbWJvQm94PlxuICAgICAgICAgICAgICAgIDwvU3R5bGVkRGl2PlxuICAgICAgICAgICAgKSA6IChcbiAgICAgICAgICAgICAgICA8PlxuICAgICAgICAgICAgICAgICAgICA8U2VsZWN0V3JhcHBlclxuICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3NOYW1lPVwiZHJvcGRvd25Cb3hcIlxuICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS10ZXN0LWxvYWRpbmc9e2xvYWRpbmd9XG4gICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZT17cHJvcHMudmFsdWV9XG4gICAgICAgICAgICAgICAgICAgICAgICBuYW1lPXtmaWVsZH1cbiAgICAgICAgICAgICAgICAgICAgICAgIGVycm9yPXtlcnJvcn1cbiAgICAgICAgICAgICAgICAgICAgICAgIHBsYWNlaG9sZGVyPXtlZmZlY3RpdmVQbGFjZWhvbGRlcn1cbiAgICAgICAgICAgICAgICAgICAgICAgIGRpc2FibGVkPXtlZmZlY3RpdmVEaXNhYmxlZH1cbiAgICAgICAgICAgICAgICAgICAgICAgIG9uQ2hhbmdlPXtoYW5kbGVDaGFuZ2V9XG4gICAgICAgICAgICAgICAgICAgICAgICBmaWx0ZXI9eyFkaXNhYmxlU2VhcmNofVxuICAgICAgICAgICAgICAgICAgICAgICAgaW5saW5lXG4gICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgIHtvcHRpb25zICYmIG9wdGlvbnMubGVuZ3RoID4gMCAmJiBvcHRpb25zfVxuICAgICAgICAgICAgICAgICAgICA8L1NlbGVjdFdyYXBwZXI+XG4gICAgICAgICAgICAgICAgICAgIHtlZmZlY3RpdmVJc0NsZWFyYWJsZSA/IChcbiAgICAgICAgICAgICAgICAgICAgICAgIDxCdXR0b25cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLXRlc3Q9XCJjbGVhclwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYXBwZWFyYW5jZT1cInNlY29uZGFyeVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaWNvbj17PENsZWFyIC8+fVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9uQ2xpY2s9eygpID0+IHJlc3RQcm9wcy5oYW5kbGVDaGFuZ2UoZmllbGQsICcnKX1cbiAgICAgICAgICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgICAgICkgOiBudWxsfVxuICAgICAgICAgICAgICAgIDwvPlxuICAgICAgICAgICAgKX1cbiAgICAgICAgPC8+XG4gICAgKTtcbn1cblxuU2luZ2xlSW5wdXRDb21wb25lbnQucHJvcFR5cGVzID0ge1xuICAgIGRpc2FibGVkOiBQcm9wVHlwZXMuYm9vbCxcbiAgICB2YWx1ZTogUHJvcFR5cGVzLnN0cmluZyxcbiAgICBlcnJvcjogUHJvcFR5cGVzLmJvb2wsXG4gICAgaGFuZGxlQ2hhbmdlOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIGZpZWxkOiBQcm9wVHlwZXMuc3RyaW5nLFxuICAgIGRlcGVuZGVuY3lWYWx1ZXM6IFByb3BUeXBlcy5vYmplY3QsXG4gICAgY29udHJvbE9wdGlvbnM6IFByb3BUeXBlcy5zaGFwZSh7XG4gICAgICAgIGF1dG9Db21wbGV0ZUZpZWxkczogUHJvcFR5cGVzLmFycmF5LFxuICAgICAgICBlbmRwb2ludFVybDogUHJvcFR5cGVzLnN0cmluZyxcbiAgICAgICAgZGVueUxpc3Q6IFByb3BUeXBlcy5zdHJpbmcsXG4gICAgICAgIGFsbG93TGlzdDogUHJvcFR5cGVzLnN0cmluZyxcbiAgICAgICAgcGxhY2Vob2xkZXI6IFByb3BUeXBlcy5zdHJpbmcsXG4gICAgICAgIGRlcGVuZGVuY2llczogUHJvcFR5cGVzLmFycmF5LFxuICAgICAgICBjcmVhdGVTZWFyY2hDaG9pY2U6IFByb3BUeXBlcy5ib29sLFxuICAgICAgICByZWZlcmVuY2VOYW1lOiBQcm9wVHlwZXMuc3RyaW5nLFxuICAgICAgICBkaXNhYmxlU2VhcmNoOiBQcm9wVHlwZXMuYm9vbCxcbiAgICAgICAgbGFiZWxGaWVsZDogUHJvcFR5cGVzLnN0cmluZyxcbiAgICAgICAgaGlkZUNsZWFyQnRuOiBQcm9wVHlwZXMuYm9vbCxcbiAgICB9KSxcbn07XG5cbmV4cG9ydCBkZWZhdWx0IFNpbmdsZUlucHV0Q29tcG9uZW50O1xuIiwiaW1wb3J0IFJlYWN0LCB7IHVzZVN0YXRlLCB1c2VFZmZlY3QgfSBmcm9tICdyZWFjdCc7XG5pbXBvcnQgUHJvcFR5cGVzIGZyb20gJ3Byb3AtdHlwZXMnO1xuaW1wb3J0IE11bHRpc2VsZWN0IGZyb20gJ0BzcGx1bmsvcmVhY3QtdWkvTXVsdGlzZWxlY3QnO1xuaW1wb3J0IHN0eWxlZCBmcm9tICdzdHlsZWQtY29tcG9uZW50cyc7XG5pbXBvcnQgYXhpb3MgZnJvbSAnYXhpb3MnO1xuXG5pbXBvcnQgeyBheGlvc0NhbGxXcmFwcGVyIH0gZnJvbSAnLi4vdXRpbC9heGlvc0NhbGxXcmFwcGVyJztcbmltcG9ydCB7IGZpbHRlclJlc3BvbnNlIH0gZnJvbSAnLi4vdXRpbC91dGlsJztcbmltcG9ydCB7IGdldEZvcm1hdHRlZE1lc3NhZ2UgfSBmcm9tICcuLi91dGlsL21lc3NhZ2VVdGlsJztcblxuY29uc3QgTXVsdGlTZWxlY3RXcmFwcGVyID0gc3R5bGVkKE11bHRpc2VsZWN0KWBcbiAgICB3aWR0aDogMzIwcHggIWltcG9ydGFudDtcbmA7XG5cbmZ1bmN0aW9uIE11bHRpSW5wdXRDb21wb25lbnQocHJvcHMpIHtcbiAgICBjb25zdCB7XG4gICAgICAgIGZpZWxkLFxuICAgICAgICBkaXNhYmxlZCA9IGZhbHNlLFxuICAgICAgICBlcnJvciA9IGZhbHNlLFxuICAgICAgICB2YWx1ZSxcbiAgICAgICAgY29udHJvbE9wdGlvbnMsXG4gICAgICAgIGRlcGVuZGVuY3lWYWx1ZXMsXG4gICAgICAgIC4uLnJlc3RQcm9wc1xuICAgIH0gPSBwcm9wcztcbiAgICBjb25zdCB7XG4gICAgICAgIGVuZHBvaW50VXJsLFxuICAgICAgICBkZW55TGlzdCxcbiAgICAgICAgYWxsb3dMaXN0LFxuICAgICAgICBpdGVtcyxcbiAgICAgICAgZGVwZW5kZW5jaWVzLFxuICAgICAgICByZWZlcmVuY2VOYW1lLFxuICAgICAgICBwbGFjZWhvbGRlcixcbiAgICAgICAgY3JlYXRlU2VhcmNoQ2hvaWNlLFxuICAgICAgICBsYWJlbEZpZWxkLFxuICAgICAgICBkZWxpbWl0ZXIgPSAnLCcsXG4gICAgfSA9IGNvbnRyb2xPcHRpb25zO1xuXG4gICAgZnVuY3Rpb24gaGFuZGxlQ2hhbmdlKGUsIHsgdmFsdWVzIH0pIHtcbiAgICAgICAgcmVzdFByb3BzLmhhbmRsZUNoYW5nZShmaWVsZCwgdmFsdWVzLmpvaW4oZGVsaW1pdGVyKSk7XG4gICAgfVxuXG4gICAgZnVuY3Rpb24gZ2VuZXJhdGVPcHRpb25zKGl0ZW1MaXN0KSB7XG4gICAgICAgIHJldHVybiBpdGVtTGlzdC5tYXAoKGl0ZW0pID0+IChcbiAgICAgICAgICAgIDxNdWx0aXNlbGVjdC5PcHRpb24gbGFiZWw9e2l0ZW0ubGFiZWx9IHZhbHVlPXtpdGVtLnZhbHVlfSBrZXk9e2l0ZW0udmFsdWV9IC8+XG4gICAgICAgICkpO1xuICAgIH1cblxuICAgIGNvbnN0IFtsb2FkaW5nLCBzZXRMb2FkaW5nXSA9IHVzZVN0YXRlKGZhbHNlKTtcbiAgICBjb25zdCBbb3B0aW9ucywgc2V0T3B0aW9uc10gPSB1c2VTdGF0ZShudWxsKTtcblxuICAgIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgICAgIGlmICghZW5kcG9pbnRVcmwgJiYgaXRlbXMpIHtcbiAgICAgICAgICAgIHNldE9wdGlvbnMoZ2VuZXJhdGVPcHRpb25zKGl0ZW1zKSk7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICBsZXQgY3VycmVudCA9IHRydWU7XG4gICAgICAgIGNvbnN0IHNvdXJjZSA9IGF4aW9zLkNhbmNlbFRva2VuLnNvdXJjZSgpO1xuXG4gICAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby1zaGFkb3dcbiAgICAgICAgY29uc3Qgb3B0aW9ucyA9IHsgY2FuY2VsVG9rZW46IHNvdXJjZS50b2tlbiwgaGFuZGxlRXJyb3I6IHRydWUsIHBhcmFtczogeyBjb3VudDogLTEgfSB9O1xuICAgICAgICBpZiAocmVmZXJlbmNlTmFtZSkge1xuICAgICAgICAgICAgb3B0aW9ucy5zZXJ2aWNlTmFtZSA9IHJlZmVyZW5jZU5hbWU7XG4gICAgICAgIH0gZWxzZSBpZiAoZW5kcG9pbnRVcmwpIHtcbiAgICAgICAgICAgIG9wdGlvbnMuZW5kcG9pbnRVcmwgPSBlbmRwb2ludFVybDtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChkZXBlbmRlbmN5VmFsdWVzKSB7XG4gICAgICAgICAgICBvcHRpb25zLnBhcmFtcyA9IHsgLi4ub3B0aW9ucy5wYXJhbXMsIC4uLmRlcGVuZGVuY3lWYWx1ZXMgfTtcbiAgICAgICAgfVxuICAgICAgICBpZiAoIWRlcGVuZGVuY2llcyB8fCBkZXBlbmRlbmN5VmFsdWVzKSB7XG4gICAgICAgICAgICBzZXRMb2FkaW5nKHRydWUpO1xuICAgICAgICAgICAgYXhpb3NDYWxsV3JhcHBlcihvcHRpb25zKVxuICAgICAgICAgICAgICAgIC50aGVuKChyZXNwb25zZSkgPT4ge1xuICAgICAgICAgICAgICAgICAgICBpZiAoY3VycmVudCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgc2V0T3B0aW9ucyhcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBnZW5lcmF0ZU9wdGlvbnMoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZpbHRlclJlc3BvbnNlKHJlc3BvbnNlLmRhdGEuZW50cnksIGxhYmVsRmllbGQsIGFsbG93TGlzdCwgZGVueUxpc3QpXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHNldExvYWRpbmcoZmFsc2UpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgICAgICAuY2F0Y2goKCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICBpZiAoY3VycmVudCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgc2V0TG9hZGluZyhmYWxzZSk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgY29uc2lzdGVudC1yZXR1cm5cbiAgICAgICAgcmV0dXJuICgpID0+IHtcbiAgICAgICAgICAgIHNvdXJjZS5jYW5jZWwoJ09wZXJhdGlvbiBjYW5jZWxlZC4nKTtcbiAgICAgICAgICAgIGN1cnJlbnQgPSBmYWxzZTtcbiAgICAgICAgfTtcbiAgICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIHJlYWN0LWhvb2tzL2V4aGF1c3RpdmUtZGVwc1xuICAgIH0sIFtkZXBlbmRlbmN5VmFsdWVzXSk7XG5cbiAgICBjb25zdCBlZmZlY3RpdmVEaXNhYmxlZCA9IGxvYWRpbmcgPyB0cnVlIDogZGlzYWJsZWQ7XG4gICAgY29uc3QgZWZmZWN0aXZlUGxhY2Vob2xkZXIgPSBsb2FkaW5nID8gZ2V0Rm9ybWF0dGVkTWVzc2FnZSgxMTUpIDogcGxhY2Vob2xkZXI7XG5cbiAgICBjb25zdCB2YWx1ZUxpc3QgPSB2YWx1ZSA/IHZhbHVlLnNwbGl0KGRlbGltaXRlcikgOiBbXTtcblxuICAgIHJldHVybiAoXG4gICAgICAgIDxNdWx0aVNlbGVjdFdyYXBwZXJcbiAgICAgICAgICAgIHZhbHVlcz17dmFsdWVMaXN0fVxuICAgICAgICAgICAgZXJyb3I9e2Vycm9yfVxuICAgICAgICAgICAgbmFtZT17ZmllbGR9XG4gICAgICAgICAgICBwbGFjZWhvbGRlcj17ZWZmZWN0aXZlUGxhY2Vob2xkZXJ9XG4gICAgICAgICAgICBkaXNhYmxlZD17ZWZmZWN0aXZlRGlzYWJsZWR9XG4gICAgICAgICAgICBhbGxvd05ld1ZhbHVlcz17Y3JlYXRlU2VhcmNoQ2hvaWNlfVxuICAgICAgICAgICAgb25DaGFuZ2U9e2hhbmRsZUNoYW5nZX1cbiAgICAgICAgICAgIGlubGluZVxuICAgICAgICA+XG4gICAgICAgICAgICB7b3B0aW9ucyAmJiBvcHRpb25zLmxlbmd0aCA+IDAgJiYgb3B0aW9uc31cbiAgICAgICAgPC9NdWx0aVNlbGVjdFdyYXBwZXI+XG4gICAgKTtcbn1cblxuTXVsdGlJbnB1dENvbXBvbmVudC5wcm9wVHlwZXMgPSB7XG4gICAgZGlzYWJsZWQ6IFByb3BUeXBlcy5ib29sLFxuICAgIHZhbHVlOiBQcm9wVHlwZXMuc3RyaW5nLFxuICAgIGVycm9yOiBQcm9wVHlwZXMuYm9vbCxcbiAgICBoYW5kbGVDaGFuZ2U6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgZmllbGQ6IFByb3BUeXBlcy5zdHJpbmcsXG4gICAgZGVwZW5kZW5jeVZhbHVlczogUHJvcFR5cGVzLm9iamVjdCxcbiAgICBjb250cm9sT3B0aW9uczogUHJvcFR5cGVzLnNoYXBlKHtcbiAgICAgICAgZGVsaW1pdGVyOiBQcm9wVHlwZXMuc3RyaW5nLFxuICAgICAgICBwbGFjZWhvbGRlcjogUHJvcFR5cGVzLnN0cmluZyxcbiAgICAgICAgY3JlYXRlU2VhcmNoQ2hvaWNlOiBQcm9wVHlwZXMuYm9vbCxcbiAgICAgICAgcmVmZXJlbmNlTmFtZTogUHJvcFR5cGVzLnN0cmluZyxcbiAgICAgICAgZGVwZW5kZW5jaWVzOiBQcm9wVHlwZXMuYXJyYXksXG4gICAgICAgIGVuZHBvaW50VXJsOiBQcm9wVHlwZXMuc3RyaW5nLFxuICAgICAgICBkZW55TGlzdDogUHJvcFR5cGVzLnN0cmluZyxcbiAgICAgICAgYWxsb3dMaXN0OiBQcm9wVHlwZXMuc3RyaW5nLFxuICAgICAgICBsYWJlbEZpZWxkOiBQcm9wVHlwZXMuc3RyaW5nLFxuICAgICAgICBpdGVtczogUHJvcFR5cGVzLmFycmF5T2YoXG4gICAgICAgICAgICBQcm9wVHlwZXMuc2hhcGUoe1xuICAgICAgICAgICAgICAgIGxhYmVsOiBQcm9wVHlwZXMuc3RyaW5nLmlzUmVxdWlyZWQsXG4gICAgICAgICAgICAgICAgdmFsdWU6IFByb3BUeXBlcy5zdHJpbmcuaXNSZXF1aXJlZCxcbiAgICAgICAgICAgIH0pXG4gICAgICAgICksXG4gICAgfSksXG59O1xuXG5leHBvcnQgZGVmYXVsdCBNdWx0aUlucHV0Q29tcG9uZW50O1xuIiwiaW1wb3J0IFJlYWN0LCB7IENvbXBvbmVudCB9IGZyb20gJ3JlYWN0JztcbmltcG9ydCBQcm9wVHlwZXMgZnJvbSAncHJvcC10eXBlcyc7XG5pbXBvcnQgU3dpdGNoIGZyb20gJ0BzcGx1bmsvcmVhY3QtdWkvU3dpdGNoJztcbmltcG9ydCB7IGlzRmFsc2UgfSBmcm9tICcuLi91dGlsL3V0aWwnO1xuXG5jbGFzcyBDaGVja0JveENvbXBvbmVudCBleHRlbmRzIENvbXBvbmVudCB7XG4gICAgaGFuZGxlQ2hhbmdlID0gKCkgPT4ge1xuICAgICAgICBpZiAodGhpcy5wcm9wcy52YWx1ZSAmJiAhaXNGYWxzZSh0aGlzLnByb3BzLnZhbHVlKSkge1xuICAgICAgICAgICAgdGhpcy5wcm9wcy5oYW5kbGVDaGFuZ2UodGhpcy5wcm9wcy5maWVsZCwgMCk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLnByb3BzLmhhbmRsZUNoYW5nZSh0aGlzLnByb3BzLmZpZWxkLCAxKTtcbiAgICAgICAgfVxuICAgIH07XG5cbiAgICByZW5kZXIoKSB7XG4gICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICA8U3dpdGNoXG4gICAgICAgICAgICAgICAga2V5PXt0aGlzLnByb3BzLmZpZWxkfVxuICAgICAgICAgICAgICAgIHZhbHVlPXt0aGlzLnByb3BzLmZpZWxkfVxuICAgICAgICAgICAgICAgIG9uQ2xpY2s9e3RoaXMuaGFuZGxlQ2hhbmdlfVxuICAgICAgICAgICAgICAgIGRpc2FibGVkPXt0aGlzLnByb3BzLmRpc2FibGVkfVxuICAgICAgICAgICAgICAgIHNlbGVjdGVkPXshKHRoaXMucHJvcHMudmFsdWUgPyBpc0ZhbHNlKHRoaXMucHJvcHMudmFsdWUpIDogdHJ1ZSl9XG4gICAgICAgICAgICAgICAgYXBwZWFyYW5jZT1cImNoZWNrYm94XCJcbiAgICAgICAgICAgIC8+XG4gICAgICAgICk7XG4gICAgfVxufVxuXG5DaGVja0JveENvbXBvbmVudC5wcm9wVHlwZXMgPSB7XG4gICAgdmFsdWU6IFByb3BUeXBlcy5vbmVPZlR5cGUoW1Byb3BUeXBlcy5ib29sLCBQcm9wVHlwZXMubnVtYmVyLCBQcm9wVHlwZXMuc3RyaW5nXSksXG4gICAgaGFuZGxlQ2hhbmdlOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIGZpZWxkOiBQcm9wVHlwZXMuc3RyaW5nLFxuICAgIGRpc2FibGVkOiBQcm9wVHlwZXMuYm9vbCxcbn07XG5cbmV4cG9ydCBkZWZhdWx0IENoZWNrQm94Q29tcG9uZW50O1xuIiwiaW1wb3J0IFJlYWN0LCB7IENvbXBvbmVudCB9IGZyb20gJ3JlYWN0JztcbmltcG9ydCBQcm9wVHlwZXMgZnJvbSAncHJvcC10eXBlcyc7XG5pbXBvcnQgUmFkaW9CYXIgZnJvbSAnQHNwbHVuay9yZWFjdC11aS9SYWRpb0Jhcic7XG5pbXBvcnQgc3R5bGVkIGZyb20gJ3N0eWxlZC1jb21wb25lbnRzJztcblxuY29uc3QgUmFkaW9CYXJXcmFwcGVyID0gc3R5bGVkKFJhZGlvQmFyKWBcbiAgICB3aWR0aDogMzIwcHg7XG5gO1xuXG5jbGFzcyBSYWRpb0NvbXBvbmVudCBleHRlbmRzIENvbXBvbmVudCB7XG4gICAgaGFuZGxlQ2hhbmdlID0gKGUsIHsgdmFsdWUgfSkgPT4ge1xuICAgICAgICB0aGlzLnByb3BzLmhhbmRsZUNoYW5nZSh0aGlzLnByb3BzLmZpZWxkLCB2YWx1ZSk7XG4gICAgfTtcblxuICAgIHJlbmRlcigpIHtcbiAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgIDxSYWRpb0JhcldyYXBwZXJcbiAgICAgICAgICAgICAgICBpbmxpbmVcbiAgICAgICAgICAgICAgICBvbkNoYW5nZT17dGhpcy5oYW5kbGVDaGFuZ2V9XG4gICAgICAgICAgICAgICAgdmFsdWU9e3RoaXMucHJvcHMudmFsdWV9XG4gICAgICAgICAgICAgICAga2V5PXt0aGlzLnByb3BzLmZpZWxkfVxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIHt0aGlzLnByb3BzLmNvbnRyb2xPcHRpb25zLml0ZW1zLm1hcCgoaXRlbSkgPT4gKFxuICAgICAgICAgICAgICAgICAgICA8UmFkaW9CYXIuT3B0aW9uIGtleT17aXRlbS52YWx1ZX0gdmFsdWU9e2l0ZW0udmFsdWV9IGxhYmVsPXtpdGVtLmxhYmVsfSAvPlxuICAgICAgICAgICAgICAgICkpfVxuICAgICAgICAgICAgPC9SYWRpb0JhcldyYXBwZXI+XG4gICAgICAgICk7XG4gICAgfVxufVxuXG5SYWRpb0NvbXBvbmVudC5wcm9wVHlwZXMgPSB7XG4gICAgdmFsdWU6IFByb3BUeXBlcy5zdHJpbmcsXG4gICAgaGFuZGxlQ2hhbmdlOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIGZpZWxkOiBQcm9wVHlwZXMuc3RyaW5nLFxuICAgIGNvbnRyb2xPcHRpb25zOiBQcm9wVHlwZXMub2JqZWN0LFxufTtcblxuZXhwb3J0IGRlZmF1bHQgUmFkaW9Db21wb25lbnQ7XG4iLCJpbXBvcnQgUmVhY3QgZnJvbSAncmVhY3QnO1xuaW1wb3J0IFByb3BUeXBlcyBmcm9tICdwcm9wLXR5cGVzJztcbmltcG9ydCBTdGF0aWNDb250ZW50IGZyb20gJ0BzcGx1bmsvcmVhY3QtdWkvU3RhdGljQ29udGVudCc7XG5cbmZ1bmN0aW9uIFBsYWNlaG9sZGVyQ29tcG9uZW50KHByb3BzKSB7XG4gICAgY29uc3QgeyBkZWZhdWx0VmFsdWUgfSA9IHByb3BzLmNvbnRyb2xPcHRpb25zO1xuXG4gICAgcmV0dXJuIDxTdGF0aWNDb250ZW50PntkZWZhdWx0VmFsdWV9PC9TdGF0aWNDb250ZW50Pjtcbn1cblxuUGxhY2Vob2xkZXJDb21wb25lbnQucHJvcFR5cGVzID0ge1xuICAgIGNvbnRyb2xPcHRpb25zOiBQcm9wVHlwZXMub2JqZWN0LFxufTtcblxuZXhwb3J0IGRlZmF1bHQgUGxhY2Vob2xkZXJDb21wb25lbnQ7XG4iLCJpbXBvcnQgUmVhY3QsIHsgQ29tcG9uZW50IH0gZnJvbSAncmVhY3QnO1xuaW1wb3J0IFByb3BUeXBlcyBmcm9tICdwcm9wLXR5cGVzJztcbmltcG9ydCB7IF8gfSBmcm9tICdAc3BsdW5rL3VpLXV0aWxzL2kxOG4nO1xuXG5pbXBvcnQgeyBnZXRVbmlmaWVkQ29uZmlncyB9IGZyb20gJy4uL3V0aWwvdXRpbCc7XG5pbXBvcnQgeyBnZXRCdWlsZERpclBhdGggfSBmcm9tICcuLi91dGlsL3NjcmlwdCc7XG5cbmNsYXNzIEN1c3RvbUNvbnRyb2wgZXh0ZW5kcyBDb21wb25lbnQge1xuICAgIGNvbnN0cnVjdG9yKHByb3BzKSB7XG4gICAgICAgIHN1cGVyKHByb3BzKTtcbiAgICAgICAgdGhpcy5zdGF0ZSA9IHtcbiAgICAgICAgICAgIGxvYWRpbmc6IHRydWUsXG4gICAgICAgIH07XG4gICAgICAgIHRoaXMuc2hvdWxkUmVuZGVyID0gdHJ1ZTtcbiAgICB9XG5cbiAgICBjb21wb25lbnREaWRNb3VudCgpIHtcbiAgICAgICAgY29uc3QgZ2xvYmFsQ29uZmlnID0gZ2V0VW5pZmllZENvbmZpZ3MoKTtcbiAgICAgICAgY29uc3QgYXBwTmFtZSA9IGdsb2JhbENvbmZpZy5tZXRhLm5hbWU7XG5cbiAgICAgICAgdGhpcy5sb2FkQ3VzdG9tQ29udHJvbChcbiAgICAgICAgICAgIHRoaXMucHJvcHMuY29udHJvbE9wdGlvbnMuc3JjLFxuICAgICAgICAgICAgdGhpcy5wcm9wcy5jb250cm9sT3B0aW9ucy50eXBlLFxuICAgICAgICAgICAgYXBwTmFtZVxuICAgICAgICApLnRoZW4oKENvbnRyb2wpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IGN1c3RvbUNvbnRyb2wgPSBuZXcgQ29udHJvbChcbiAgICAgICAgICAgICAgICBnbG9iYWxDb25maWcsXG4gICAgICAgICAgICAgICAgdGhpcy5lbCxcbiAgICAgICAgICAgICAgICB0aGlzLnByb3BzLmRhdGEsXG4gICAgICAgICAgICAgICAgdGhpcy5zZXRWYWx1ZSxcbiAgICAgICAgICAgICAgICB0aGlzLnByb3BzLnV0aWxDdXN0b21GdW5jdGlvbnNcbiAgICAgICAgICAgICk7XG4gICAgICAgICAgICBjdXN0b21Db250cm9sLnJlbmRlcigpO1xuXG4gICAgICAgICAgICBpZiAodHlwZW9mIGN1c3RvbUNvbnRyb2wudmFsaWRhdGlvbiA9PT0gJ2Z1bmN0aW9uJykge1xuICAgICAgICAgICAgICAgIHRoaXMucHJvcHMuYWRkQ3VzdG9tVmFsaWRhdG9yKHRoaXMucHJvcHMuZmllbGQsIGN1c3RvbUNvbnRyb2wudmFsaWRhdGlvbik7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICB0aGlzLnNldFN0YXRlKHsgbG9hZGluZzogZmFsc2UgfSk7XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIHNob3VsZENvbXBvbmVudFVwZGF0ZShuZXh0UHJvcHMsIG5leHRTdGF0ZSkge1xuICAgICAgICBpZiAoIW5leHRTdGF0ZS5sb2FkaW5nICYmIHRoaXMuc2hvdWxkUmVuZGVyKSB7XG4gICAgICAgICAgICB0aGlzLnNob3VsZFJlbmRlciA9IGZhbHNlO1xuICAgICAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cblxuICAgIGxvYWRDdXN0b21Db250cm9sID0gKG1vZHVsZSwgdHlwZSwgYXBwTmFtZSkgPT4ge1xuICAgICAgICByZXR1cm4gbmV3IFByb21pc2UoKHJlc29sdmUpID0+IHtcbiAgICAgICAgICAgIGlmICh0eXBlID09PSAnZXh0ZXJuYWwnKSB7XG4gICAgICAgICAgICAgICAgaW1wb3J0KC8qIHdlYnBhY2tJZ25vcmU6IHRydWUgKi8gYCR7Z2V0QnVpbGREaXJQYXRoKCl9L2N1c3RvbS8ke21vZHVsZX0uanNgKS50aGVuKFxuICAgICAgICAgICAgICAgICAgICAoZXh0ZXJuYWwpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IENvbnRyb2wgPSBleHRlcm5hbC5kZWZhdWx0O1xuICAgICAgICAgICAgICAgICAgICAgICAgcmVzb2x2ZShDb250cm9sKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIF9fbm9uX3dlYnBhY2tfcmVxdWlyZV9fKFtgYXBwLyR7YXBwTmFtZX0vanMvYnVpbGQvY3VzdG9tLyR7bW9kdWxlfWBdLCAoQ29udHJvbCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICByZXNvbHZlKENvbnRyb2wpO1xuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICB9O1xuXG4gICAgc2V0VmFsdWUgPSAobmV3VmFsdWUpID0+IHtcbiAgICAgICAgdGhpcy5wcm9wcy5oYW5kbGVDaGFuZ2UodGhpcy5wcm9wcy5maWVsZCwgbmV3VmFsdWUpO1xuICAgIH07XG5cbiAgICByZW5kZXIoKSB7XG4gICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICA8PlxuICAgICAgICAgICAgICAgIHt0aGlzLnN0YXRlLmxvYWRpbmcgJiYgXygnTG9hZGluZy4uLicpfVxuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgPHNwYW4gLy8gbm9zZW1ncmVwOiB0eXBlc2NyaXB0LnJlYWN0LnNlY3VyaXR5LmF1ZGl0LnJlYWN0LW5vLXJlZnMucmVhY3Qtbm8tcmVmc1xuICAgICAgICAgICAgICAgICAgICAgICAgcmVmPXsoZWwpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmVsID0gZWw7XG4gICAgICAgICAgICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9e3sgdmlzaWJpbGl0eTogdGhpcy5zdGF0ZS5sb2FkaW5nID8gJ2hpZGRlbicgOiAndmlzaWJsZScgfX1cbiAgICAgICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICA8Lz5cbiAgICAgICAgKTtcbiAgICB9XG59XG5cbkN1c3RvbUNvbnRyb2wucHJvcFR5cGVzID0ge1xuICAgIGRhdGE6IFByb3BUeXBlcy5vYmplY3QsXG4gICAgZmllbGQ6IFByb3BUeXBlcy5zdHJpbmcsXG4gICAgaGFuZGxlQ2hhbmdlOiBQcm9wVHlwZXMuZnVuYyxcbiAgICBjb250cm9sT3B0aW9uczogUHJvcFR5cGVzLm9iamVjdCxcbiAgICBhZGRDdXN0b21WYWxpZGF0b3I6IFByb3BUeXBlcy5mdW5jLFxuICAgIHV0aWxDdXN0b21GdW5jdGlvbnM6IFByb3BUeXBlcy5vYmplY3QsXG59O1xuXG5leHBvcnQgZGVmYXVsdCBDdXN0b21Db250cm9sO1xuIiwiaW1wb3J0IEhlbHBMaW5rQ29tcG9uZW50IGZyb20gJy4uL2NvbXBvbmVudHMvSGVscExpbmtDb21wb25lbnQnO1xuaW1wb3J0IFRleHRDb21wb25lbnQgZnJvbSAnLi4vY29tcG9uZW50cy9UZXh0Q29tcG9uZW50JztcbmltcG9ydCBTaW5nbGVJbnB1dENvbXBvbmVudCBmcm9tICcuLi9jb21wb25lbnRzL1NpbmdsZUlucHV0Q29tcG9uZW50JztcbmltcG9ydCBNdWx0aUlucHV0Q29tcG9uZW50IGZyb20gJy4uL2NvbXBvbmVudHMvTXVsdGlJbnB1dENvbXBvbmVudCc7XG5pbXBvcnQgQ2hlY2tCb3hDb21wb25lbnQgZnJvbSAnLi4vY29tcG9uZW50cy9DaGVja0JveENvbXBvbmVudCc7XG5pbXBvcnQgUmFkaW9Db21wb25lbnQgZnJvbSAnLi4vY29tcG9uZW50cy9SYWRpb0NvbXBvbmVudCc7XG5pbXBvcnQgUGxhY2Vob2xkZXJDb21wb25lbnQgZnJvbSAnLi4vY29tcG9uZW50cy9QbGFjZWhvbGRlckNvbXBvbmVudCc7XG5pbXBvcnQgQ3VzdG9tQ29udHJvbCBmcm9tICcuLi9jb21wb25lbnRzL0N1c3RvbUNvbnRyb2wnO1xuXG5leHBvcnQgZGVmYXVsdCB7XG4gICAgdGV4dDogVGV4dENvbXBvbmVudCxcbiAgICBzaW5nbGVTZWxlY3Q6IFNpbmdsZUlucHV0Q29tcG9uZW50LFxuICAgIGhlbHBMaW5rOiBIZWxwTGlua0NvbXBvbmVudCxcbiAgICBtdWx0aXBsZVNlbGVjdDogTXVsdGlJbnB1dENvbXBvbmVudCxcbiAgICBjaGVja2JveDogQ2hlY2tCb3hDb21wb25lbnQsXG4gICAgcmFkaW86IFJhZGlvQ29tcG9uZW50LFxuICAgIHBsYWNlaG9sZGVyOiBQbGFjZWhvbGRlckNvbXBvbmVudCxcbiAgICBjdXN0b206IEN1c3RvbUNvbnRyb2wsXG59O1xuIiwiaW1wb3J0IFJlYWN0IGZyb20gJ3JlYWN0JztcbmltcG9ydCBQcm9wVHlwZXMgZnJvbSAncHJvcC10eXBlcyc7XG5pbXBvcnQgQ29udHJvbEdyb3VwIGZyb20gJ0BzcGx1bmsvcmVhY3QtdWkvQ29udHJvbEdyb3VwJztcbmltcG9ydCBzdHlsZWQgZnJvbSAnc3R5bGVkLWNvbXBvbmVudHMnO1xuXG5pbXBvcnQgTWFya2Rvd25NZXNzYWdlIGZyb20gJy4vTWFya2Rvd25NZXNzYWdlJztcbmltcG9ydCBDT05UUk9MX1RZUEVfTUFQIGZyb20gJy4uL2NvbnN0YW50cy9Db250cm9sVHlwZU1hcCc7XG5cbmNvbnN0IEN1c3RvbUVsZW1lbnQgPSBzdHlsZWQuZGl2YFxuICAgIG1hcmdpbi1sZWZ0OiAzMHB4O1xuYDtcblxuY29uc3QgQ29udHJvbEdyb3VwV3JhcHBlciA9IHN0eWxlZChDb250cm9sR3JvdXApLmF0dHJzKChwcm9wcykgPT4gKHtcbiAgICAnZGF0YS1uYW1lJzogcHJvcHMuZGF0YU5hbWUsXG59KSlgXG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuXG4gICAgPiAqIHtcbiAgICAgICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICAgICAgICB3aWR0aDogMjQwcHggIWltcG9ydGFudDtcbiAgICAgICAgfVxuICAgICAgICAmOm50aC1jaGlsZCgzKSB7XG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogMjcwcHggIWltcG9ydGFudDtcbiAgICAgICAgICAgIHdpZHRoOiAzMjBweDtcbiAgICAgICAgfVxuICAgIH1cbmA7XG5cbmNsYXNzIENvbnRyb2xXcmFwcGVyIGV4dGVuZHMgUmVhY3QuUHVyZUNvbXBvbmVudCB7XG4gICAgY29uc3RydWN0b3IocHJvcHMpIHtcbiAgICAgICAgc3VwZXIocHJvcHMpO1xuICAgICAgICB0aGlzLmNvbnRyb2xUeXBlID0gdGhpcy5pc1N0cmluZyhwcm9wcy5lbnRpdHkudHlwZSlcbiAgICAgICAgICAgID8gQ09OVFJPTF9UWVBFX01BUFtwcm9wcy5lbnRpdHkudHlwZV1cbiAgICAgICAgICAgIDogbnVsbDtcbiAgICAgICAgLy8gQWRkICdvcHRpb25hbCcgcGxhY2Vob2xkZXIgZm9yIG9wdGlvbmFsIGZpZWxkXG4gICAgICAgIC8vIE5vdGU6IGZvciBvYXV0aCBmaWVsZCBpdCBpcyBwb3NzaWJsZSByZXF1aXJlZCBpcyBmYWxzZSBidXQgdGhlIGZpZWxkIGlzIGFjdHVhbGx5IHJlcXVpcmVkXG4gICAgICAgIC8vIGJhc2VkIG9uIHdoYXQgdHlwZSBvZiBhdXRoZW50aWNhdGlvbiBpcyBzZWxlY3RlZFxuICAgICAgICB0aGlzLm9wdGlvbnMgPSB0aGlzLnByb3BzLmVudGl0eS5vcHRpb25zO1xuICAgICAgICBpZiAoXG4gICAgICAgICAgICAhdGhpcy5wcm9wcy5lbnRpdHkucmVxdWlyZWQgJiZcbiAgICAgICAgICAgICFPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwodGhpcy5wcm9wcy5lbnRpdHksICdvYXV0aF9maWVsZCcpICYmXG4gICAgICAgICAgICAhdGhpcy5vcHRpb25zPy5wbGFjZWhvbGRlclxuICAgICAgICApIHtcbiAgICAgICAgICAgIHRoaXMub3B0aW9ucyA9IHtcbiAgICAgICAgICAgICAgICAuLi50aGlzLm9wdGlvbnMsXG4gICAgICAgICAgICAgICAgcGxhY2Vob2xkZXI6ICdvcHRpb25hbCcsXG4gICAgICAgICAgICB9O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgaXNTdHJpbmcgPSAoc3RyKSA9PiB7XG4gICAgICAgIHJldHVybiAhISh0eXBlb2Ygc3RyID09PSAnc3RyaW5nJyB8fCBzdHIgaW5zdGFuY2VvZiBTdHJpbmcpO1xuICAgIH07XG5cbiAgICByZW5kZXIoKSB7XG4gICAgICAgIGNvbnN0IHsgZmllbGQsIHR5cGUsIGxhYmVsLCB0b29sdGlwLCBoZWxwLCBlbmNyeXB0ZWQgPSBmYWxzZSB9ID0gdGhpcy5wcm9wcy5lbnRpdHk7XG4gICAgICAgIGNvbnN0IHsgaGFuZGxlQ2hhbmdlLCBhZGRDdXN0b21WYWxpZGF0b3IsIHV0aWxDdXN0b21GdW5jdGlvbnMgfSA9IHRoaXMucHJvcHMudXRpbGl0eUZ1bmN0cztcbiAgICAgICAgLy8gV2UgaGF2ZSB0byBwdXQgZW1wdHkgb2JqZWN0IGJlY2F1c2UgbWFya0Rvd25NZXNzYWdlIHByb3AgY2FuIGJlIHVuZGVmaW5lZFxuICAgICAgICAvLyBiZWNhdXNlIHdlIGFyZSBub3QgZXhwbGljaXRseSBzZXR0aW5nIGl0IGJ1dCBleHBlY3RpbmcgaXQgZnJvbSBjdXN0b20gaG9va3Mgb25seS5cbiAgICAgICAgY29uc3QgeyB0ZXh0LCBsaW5rLCBjb2xvciwgbWFya2Rvd25UeXBlLCB0b2tlbiwgbGlua1RleHQgfSA9XG4gICAgICAgICAgICB0aGlzLnByb3BzLm1hcmtkb3duTWVzc2FnZSB8fCB7fTtcbiAgICAgICAgbGV0IHJvd1ZpZXc7XG4gICAgICAgIGlmICh0aGlzLnByb3BzLmVudGl0eS50eXBlID09PSAnY3VzdG9tJykge1xuICAgICAgICAgICAgY29uc3QgZGF0YSA9IHtcbiAgICAgICAgICAgICAgICB2YWx1ZTogdGhpcy5wcm9wcy52YWx1ZSxcbiAgICAgICAgICAgICAgICBtb2RlOiB0aGlzLnByb3BzLm1vZGUsXG4gICAgICAgICAgICAgICAgc2VydmljZU5hbWU6IHRoaXMucHJvcHMuc2VydmljZU5hbWUsXG4gICAgICAgICAgICB9O1xuXG4gICAgICAgICAgICByb3dWaWV3ID0gdGhpcy5jb250cm9sVHlwZVxuICAgICAgICAgICAgICAgID8gUmVhY3QuY3JlYXRlRWxlbWVudCh0aGlzLmNvbnRyb2xUeXBlLCB7XG4gICAgICAgICAgICAgICAgICAgICAgZGF0YSxcbiAgICAgICAgICAgICAgICAgICAgICBmaWVsZCxcbiAgICAgICAgICAgICAgICAgICAgICBoYW5kbGVDaGFuZ2UsXG4gICAgICAgICAgICAgICAgICAgICAgYWRkQ3VzdG9tVmFsaWRhdG9yLFxuICAgICAgICAgICAgICAgICAgICAgIHV0aWxDdXN0b21GdW5jdGlvbnMsXG4gICAgICAgICAgICAgICAgICAgICAgY29udHJvbE9wdGlvbnM6IHRoaXMub3B0aW9ucyxcbiAgICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAgICAgOiBgTm8gVmlldyBGb3VuZCBmb3IgJHt0eXBlfSB0eXBlYDtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHJvd1ZpZXcgPSB0aGlzLmNvbnRyb2xUeXBlXG4gICAgICAgICAgICAgICAgPyBSZWFjdC5jcmVhdGVFbGVtZW50KHRoaXMuY29udHJvbFR5cGUsIHtcbiAgICAgICAgICAgICAgICAgICAgICBoYW5kbGVDaGFuZ2UsXG4gICAgICAgICAgICAgICAgICAgICAgdmFsdWU6IHRoaXMucHJvcHMudmFsdWUsXG4gICAgICAgICAgICAgICAgICAgICAgZmllbGQsXG4gICAgICAgICAgICAgICAgICAgICAgY29udHJvbE9wdGlvbnM6IHRoaXMub3B0aW9ucyxcbiAgICAgICAgICAgICAgICAgICAgICBlcnJvcjogdGhpcy5wcm9wcy5lcnJvcixcbiAgICAgICAgICAgICAgICAgICAgICBkaXNhYmxlZDogdGhpcy5wcm9wcy5kaXNhYmxlZCxcbiAgICAgICAgICAgICAgICAgICAgICBlbmNyeXB0ZWQsXG4gICAgICAgICAgICAgICAgICAgICAgZGVwZW5kZW5jeVZhbHVlczogdGhpcy5wcm9wcy5kZXBlbmRlbmN5VmFsdWVzLFxuICAgICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgICAgICA6IGBObyBWaWV3IEZvdW5kIGZvciAke3R5cGV9IHR5cGVgO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgaGVscFRleHQgPSAoXG4gICAgICAgICAgICA8PlxuICAgICAgICAgICAgICAgIDxNYXJrZG93bk1lc3NhZ2VcbiAgICAgICAgICAgICAgICAgICAgdGV4dD17dGV4dCB8fCAnJ31cbiAgICAgICAgICAgICAgICAgICAgbGluaz17bGluayB8fCAnJ31cbiAgICAgICAgICAgICAgICAgICAgY29sb3I9e2NvbG9yIHx8ICcnfVxuICAgICAgICAgICAgICAgICAgICBtYXJrZG93blR5cGU9e21hcmtkb3duVHlwZSB8fCAnJ31cbiAgICAgICAgICAgICAgICAgICAgdG9rZW49e3Rva2VuIHx8ICcnfVxuICAgICAgICAgICAgICAgICAgICBsaW5rVGV4dD17bGlua1RleHQgfHwgJyd9XG4gICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICB7aGVscH1cbiAgICAgICAgICAgIDwvPlxuICAgICAgICApO1xuXG4gICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICB0aGlzLnByb3BzLmRpc3BsYXkgJiYgKFxuICAgICAgICAgICAgICAgIDxDb250cm9sR3JvdXBXcmFwcGVyXG4gICAgICAgICAgICAgICAgICAgIGxhYmVsPXtsYWJlbH1cbiAgICAgICAgICAgICAgICAgICAgaGVscD17aGVscFRleHR9XG4gICAgICAgICAgICAgICAgICAgIHRvb2x0aXA9e3Rvb2x0aXB9XG4gICAgICAgICAgICAgICAgICAgIGVycm9yPXt0aGlzLnByb3BzLmVycm9yfVxuICAgICAgICAgICAgICAgICAgICBkYXRhTmFtZT17ZmllbGR9XG4gICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICA8Q3VzdG9tRWxlbWVudD57cm93Vmlld308L0N1c3RvbUVsZW1lbnQ+XG4gICAgICAgICAgICAgICAgPC9Db250cm9sR3JvdXBXcmFwcGVyPlxuICAgICAgICAgICAgKVxuICAgICAgICApO1xuICAgIH1cbn1cblxuQ29udHJvbFdyYXBwZXIucHJvcFR5cGVzID0ge1xuICAgIG1vZGU6IFByb3BUeXBlcy5zdHJpbmcsXG4gICAgdXRpbGl0eUZ1bmN0czogUHJvcFR5cGVzLm9iamVjdCxcbiAgICB2YWx1ZTogUHJvcFR5cGVzLmFueSxcbiAgICBkaXNwbGF5OiBQcm9wVHlwZXMuYm9vbCxcbiAgICBlcnJvcjogUHJvcFR5cGVzLmJvb2wsXG4gICAgZW50aXR5OiBQcm9wVHlwZXMub2JqZWN0LFxuICAgIGRpc2FibGVkOiBQcm9wVHlwZXMuYm9vbCxcbiAgICBtYXJrZG93bk1lc3NhZ2U6IFByb3BUeXBlcy5vYmplY3QsXG4gICAgc2VydmljZU5hbWU6IFByb3BUeXBlcy5zdHJpbmcsXG4gICAgZGVwZW5kZW5jeVZhbHVlczogUHJvcFR5cGVzLm9iamVjdCxcbn07XG5cbmV4cG9ydCBkZWZhdWx0IENvbnRyb2xXcmFwcGVyO1xuIiwiaW1wb3J0IHsgZ2V0Rm9ybWF0dGVkTWVzc2FnZSB9IGZyb20gJy4uL3V0aWwvbWVzc2FnZVV0aWwnO1xuXG4vLyBSZWdleCBvZiBpcHY0LCBlbWFpbCBhbmQgZGF0ZSBjb21lIGZyb21cbi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGRlZWQvbWV0ZW9yLXNpbXBsZS1zY2hlbWEvYmxvYi80YzFlMjU3MGIxMDU1YWQ2MGUxZTY1NDA1ODJiODgyZjc2NWZkZTEzL3NpbXBsZS1zY2hlbWEuanMjTDUyNVxuZXhwb3J0IGNvbnN0IFJFR0VYX0lQVjQgPSAvXig/Oig/OlswLTFdP1xcZHsxLDJ9fDJbMC00XVxcZHwyNVswLTVdKSg/OlxcLnwkKSl7NH0kLztcblxuLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLXVzZWxlc3MtZXNjYXBlXG5leHBvcnQgY29uc3QgUkVHRVhfRU1BSUwgPSAvXlthLXpBLVowLTkuISMkJSYnKitcXC89P15fYHt8fX4tXStAW2EtekEtWjAtOV0oPzpbYS16QS1aMC05LV17MCw2MX1bYS16QS1aMC05XSk/KD86XFwuW2EtekEtWjAtOV0oPzpbYS16QS1aMC05LV17MCw2MX1bYS16QS1aMC05XSk/KSokLztcblxuLy8gQ29kZVFMOiBUaGlzIFJlZ2V4IHdpbGwgYmUgZXhlY3V0ZWQgYXQgY2xpZW50IHNpZGUgYW5kIHRvIGF2b2lkIHJlZ3Jlc3Npb24gd2Ugd29uJ3QgZml4LlxuZXhwb3J0IGNvbnN0IFJFR0VYX1VSTCA9IC9eKD86KD86aHR0cHM/fGZ0cHxvcGNcXC50Y3ApOlxcL1xcLyk/KD86XFxTKyg/OjpcXFMqKT9AKT8oPzooPzpbMS05XVxcZD98MVxcZFxcZHwyWzAxXVxcZHwyMlswLTNdKSg/OlxcLig/OjE/XFxkezEsMn18MlswLTRdXFxkfDI1WzAtNV0pKXsyfSg/OlxcLig/OlsxLTldXFxkP3wxXFxkXFxkfDJbMC00XVxcZHwyNVswLTRdKSl8KD86KD86W2EtelxcdTAwYTEtXFx1ZmZmZjAtOV0rLT9fPykqW2EtelxcdTAwYTEtXFx1ZmZmZjAtOV0rKSg/OlxcLig/OlthLXpcXHUwMGExLVxcdWZmZmYwLTldKy0/KSpbYS16XFx1MDBhMS1cXHVmZmZmMC05XSspKig/OlxcLig/OlthLXpcXHUwMGExLVxcdWZmZmZdezIsfSkpPykoPzo6XFxkezIsNX0pPyg/OlxcL1teXFxzXSopPyQvO1xuXG4vLyBGcm9tIGh0dHBzOi8vZ2l0aHViLmNvbS9tb21lbnQvbW9tZW50L2Jsb2IvMi4xNy4xL21vbWVudC5qcyNMMTk4MCBtb21lbnQuanMgaXMgdXNpbmcgcmVnZXggYmVsb3cgZm9yIGNoZWNraW5nIElTTzg2MDEgZGF0ZSBzdHJpbmdcbi8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby11c2VsZXNzLWVzY2FwZVxuZXhwb3J0IGNvbnN0IFJFR0VYX0RBVEUgPSAvXlxccyooKD86WystXVxcZHs2fXxcXGR7NH0pLSg/OlxcZFxcZC1cXGRcXGR8V1xcZFxcZC1cXGR8V1xcZFxcZHxcXGRcXGRcXGR8XFxkXFxkKSkoPzooVHwgKShcXGRcXGQoPzo6XFxkXFxkKD86OlxcZFxcZCg/OlsuLF1cXGQrKT8pPyk/KShbXFwrXFwtXVxcZFxcZCg/Ojo/XFxkXFxkKT98XFxzKlopPyk/JC87XG5cbmV4cG9ydCBjb25zdCBQUkVERUZJTkVEX1ZBTElEQVRPUlNfRElDVCA9IHtcbiAgICB1cmw6IHsgcmVnZXg6IFJFR0VYX1VSTCwgaW5wdXRWYWx1ZVR5cGU6IGdldEZvcm1hdHRlZE1lc3NhZ2UoMTExKSB9LFxuICAgIGVtYWlsOiB7IHJlZ2V4OiBSRUdFWF9FTUFJTCwgaW5wdXRWYWx1ZVR5cGU6IGdldEZvcm1hdHRlZE1lc3NhZ2UoMTEyKSB9LFxuICAgIGlwdjQ6IHsgcmVnZXg6IFJFR0VYX0lQVjQsIGlucHV0VmFsdWVUeXBlOiBnZXRGb3JtYXR0ZWRNZXNzYWdlKDExMykgfSxcbiAgICBkYXRlOiB7IHJlZ2V4OiBSRUdFWF9EQVRFLCBpbnB1dFZhbHVlVHlwZTogZ2V0Rm9ybWF0dGVkTWVzc2FnZSgxMTQpIH0sXG59O1xuIiwiaW1wb3J0IHsgUFJFREVGSU5FRF9WQUxJREFUT1JTX0RJQ1QgfSBmcm9tICcuLi9jb25zdGFudHMvcHJlRGVmaW5lZFJlZ2V4JztcbmltcG9ydCB7IGdldEZvcm1hdHRlZE1lc3NhZ2UgfSBmcm9tICcuL21lc3NhZ2VVdGlsJztcbmltcG9ydCB7XG4gICAgcGFyc2VOdW1iZXJWYWxpZGF0b3IsXG4gICAgcGFyc2VSZWdleFJhd1N0cixcbiAgICBwYXJzZVN0cmluZ1ZhbGlkYXRvcixcbiAgICBwYXJzZUZ1bmN0aW9uUmF3U3RyLFxufSBmcm9tICcuL3VjY0NvbmZpZ3VyYXRpb25WYWxpZGF0b3JzJztcblxuLy8gVmFsaWRhdGUgcHJvdmlkZWQgc2F2ZVZhbGlkYXRvciBmdW5jdGlvblxuZXhwb3J0IGZ1bmN0aW9uIFNhdmVWYWxpZGF0b3IodmFsaWRhdG9yRnVuYywgZm9ybURhdGEpIHtcbiAgICBjb25zdCB7IGVycm9yLCByZXN1bHQgfSA9IHBhcnNlRnVuY3Rpb25SYXdTdHIodmFsaWRhdG9yRnVuYyk7XG4gICAgaWYgKGVycm9yKSB7XG4gICAgICAgIHJldHVybiB7IGVycm9yTXNnOiBlcnJvciB9O1xuICAgIH1cbiAgICBjb25zdCByZXQgPSByZXN1bHQoZm9ybURhdGEpO1xuICAgIGlmICh0eXBlb2YgcmV0ID09PSAnc3RyaW5nJykge1xuICAgICAgICByZXR1cm4geyBlcnJvck1zZzogcmV0IH07XG4gICAgfVxufVxuXG5jbGFzcyBWYWxpZGF0b3Ige1xuICAgIGNvbnN0cnVjdG9yKGVudGl0aWVzKSB7XG4gICAgICAgIHRoaXMuZW50aXRpZXMgPSBlbnRpdGllcztcbiAgICAgICAgdGhpcy5pc05hbWUgPSBlbnRpdGllcy5maW5kKChlKSA9PiBlLmZpZWxkID09PSAnbmFtZScpO1xuICAgIH1cblxuICAgIGNoZWNrSXNGaWVsZEhhc0lucHV0ID0gKGF0dHJWYWx1ZSkgPT4ge1xuICAgICAgICByZXR1cm4gYXR0clZhbHVlICE9PSB1bmRlZmluZWQgJiYgYXR0clZhbHVlICE9PSAnJyAmJiBhdHRyVmFsdWUgIT09IG51bGw7XG4gICAgfTtcblxuICAgIC8vIFZhbGlkYXRlIHRoZSByZXF1aXJlZCBmaWVsZCBoYXMgdmFsdWVcbiAgICBSZXF1aXJlZFZhbGlkYXRvcihmaWVsZCwgbGFiZWwsIGRhdGEpIHtcbiAgICAgICAgaWYgKCF0aGlzLmNoZWNrSXNGaWVsZEhhc0lucHV0KGRhdGEpKSB7XG4gICAgICAgICAgICByZXR1cm4geyBlcnJvckZpZWxkOiBmaWVsZCwgZXJyb3JNc2c6IGdldEZvcm1hdHRlZE1lc3NhZ2UoNiwgW2xhYmVsXSkgfTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuXG4gICAgLy8gVmFsaWRhdGUgdGhlIHN0cmluZyBsZW5ndGggb2YgZmllbGRcbiAgICBTdHJpbmdWYWxpZGF0b3IoZmllbGQsIGxhYmVsLCB2YWxpZGF0b3IsIGRhdGEpIHtcbiAgICAgICAgY29uc3QgeyBlcnJvciB9ID0gcGFyc2VTdHJpbmdWYWxpZGF0b3IodmFsaWRhdG9yLm1pbkxlbmd0aCwgdmFsaWRhdG9yLm1heExlbmd0aCk7XG4gICAgICAgIGlmIChlcnJvcikge1xuICAgICAgICAgICAgcmV0dXJuIHsgZXJyb3JGaWVsZDogZmllbGQsIGVycm9yTXNnOiBlcnJvciB9O1xuICAgICAgICB9XG4gICAgICAgIGlmICh0aGlzLmNoZWNrSXNGaWVsZEhhc0lucHV0KGRhdGEpICYmIGRhdGEubGVuZ3RoID4gdmFsaWRhdG9yLm1heExlbmd0aCkge1xuICAgICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgICAgICBlcnJvckZpZWxkOiBmaWVsZCxcbiAgICAgICAgICAgICAgICBlcnJvck1zZzogdmFsaWRhdG9yLmVycm9yTXNnXG4gICAgICAgICAgICAgICAgICAgID8gdmFsaWRhdG9yLmVycm9yTXNnXG4gICAgICAgICAgICAgICAgICAgIDogZ2V0Rm9ybWF0dGVkTWVzc2FnZSgxOCwgW2xhYmVsLCB2YWxpZGF0b3IubWF4TGVuZ3RoXSksXG4gICAgICAgICAgICB9O1xuICAgICAgICB9XG4gICAgICAgIGlmICh0aGlzLmNoZWNrSXNGaWVsZEhhc0lucHV0KGRhdGEpICYmIGRhdGEubGVuZ3RoIDwgdmFsaWRhdG9yLm1pbkxlbmd0aCkge1xuICAgICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgICAgICBlcnJvckZpZWxkOiBmaWVsZCxcbiAgICAgICAgICAgICAgICBlcnJvck1zZzogdmFsaWRhdG9yLmVycm9yTXNnXG4gICAgICAgICAgICAgICAgICAgID8gdmFsaWRhdG9yLmVycm9yTXNnXG4gICAgICAgICAgICAgICAgICAgIDogZ2V0Rm9ybWF0dGVkTWVzc2FnZSgxNywgW2xhYmVsLCB2YWxpZGF0b3IubWluTGVuZ3RoXSksXG4gICAgICAgICAgICB9O1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG5cbiAgICAvLyBWYWxpZGF0ZSB0aGUgZmllbGQgc2hvdWxkIG1hdGNoIHRoZSBwcm92aWRlZCBSZWdleFxuICAgIFJlZ2V4VmFsaWRhdG9yKGZpZWxkLCBsYWJlbCwgdmFsaWRhdG9yLCBkYXRhKSB7XG4gICAgICAgIGNvbnN0IHsgZXJyb3IsIHJlc3VsdDogcmVnZXggfSA9IHBhcnNlUmVnZXhSYXdTdHIodmFsaWRhdG9yLnBhdHRlcm4pO1xuICAgICAgICBpZiAoZXJyb3IpIHtcbiAgICAgICAgICAgIHJldHVybiB7IGVycm9yRmllbGQ6IGZpZWxkLCBlcnJvck1zZzogZXJyb3IgfTtcbiAgICAgICAgfVxuICAgICAgICBpZiAodGhpcy5jaGVja0lzRmllbGRIYXNJbnB1dChkYXRhKSAmJiAhcmVnZXgudGVzdChkYXRhKSkge1xuICAgICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgICAgICBlcnJvckZpZWxkOiBmaWVsZCxcbiAgICAgICAgICAgICAgICBlcnJvck1zZzogdmFsaWRhdG9yLmVycm9yTXNnXG4gICAgICAgICAgICAgICAgICAgID8gdmFsaWRhdG9yLmVycm9yTXNnXG4gICAgICAgICAgICAgICAgICAgIDogZ2V0Rm9ybWF0dGVkTWVzc2FnZSgxNSwgW2xhYmVsLCB2YWxpZGF0b3IucGF0dGVybl0pLFxuICAgICAgICAgICAgfTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuXG4gICAgLy8gVmFsaWRhdGUgdGhlIGN1c3RvbSBjb21wb25lbnRcbiAgICBzdGF0aWMgQ3VzdG9tVmFsaWRhdG9yKHZhbGlkYXRvckZ1bmMsIGZpZWxkLCBkYXRhKSB7XG4gICAgICAgIGNvbnN0IHJldCA9IHZhbGlkYXRvckZ1bmMoZmllbGQsIGRhdGEpO1xuICAgICAgICBpZiAodHlwZW9mIHJldCA9PT0gJ3N0cmluZycpIHtcbiAgICAgICAgICAgIHJldHVybiB7IGVycm9yRmllbGQ6IGZpZWxkLCBlcnJvck1zZzogcmV0IH07XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cblxuICAgIC8vIFZhbGlkYXRlIHRoZSBmaWVsZCBzaG91bGQgbWF0Y2ggcHJlZGVmaW5lZCBSZWdleGVzXG4gICAgUHJlRGVmaW5lZFJlZ2V4VmFsaWRhdG9yKGZpZWxkLCBsYWJlbCwgdmFsaWRhdG9yLCBkYXRhLCBwYXR0ZXJuLCBpbnB1dFZhbHVlVHlwZSkge1xuICAgICAgICBjb25zdCB7IGVycm9yLCByZXN1bHQ6IHJlZ2V4IH0gPSBwYXJzZVJlZ2V4UmF3U3RyKHBhdHRlcm4pO1xuICAgICAgICBpZiAoZXJyb3IpIHtcbiAgICAgICAgICAgIHJldHVybiB7IGVycm9yRmllbGQ6IGZpZWxkLCBlcnJvck1zZzogZXJyb3IgfTtcbiAgICAgICAgfVxuICAgICAgICBpZiAodGhpcy5jaGVja0lzRmllbGRIYXNJbnB1dChkYXRhKSAmJiAhcmVnZXgudGVzdChkYXRhKSkge1xuICAgICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgICAgICBlcnJvckZpZWxkOiBmaWVsZCxcbiAgICAgICAgICAgICAgICBlcnJvck1zZzogdmFsaWRhdG9yLmVycm9yTXNnXG4gICAgICAgICAgICAgICAgICAgID8gdmFsaWRhdG9yLmVycm9yTXNnXG4gICAgICAgICAgICAgICAgICAgIDogZ2V0Rm9ybWF0dGVkTWVzc2FnZSgxOSwgW2xhYmVsLCBpbnB1dFZhbHVlVHlwZV0pLFxuICAgICAgICAgICAgfTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuXG4gICAgLy8gVmFsaWRhdGUgdGhlIHJhbmdlIG9mIG51bWVyaWMgZmllbGRcbiAgICBOdW1iZXJWYWxpZGF0b3IoZmllbGQsIGxhYmVsLCB2YWxpZGF0b3IsIGRhdGEpIHtcbiAgICAgICAgY29uc3QgeyBlcnJvciB9ID0gcGFyc2VOdW1iZXJWYWxpZGF0b3IodmFsaWRhdG9yLnJhbmdlKTtcbiAgICAgICAgaWYgKGVycm9yKSB7XG4gICAgICAgICAgICByZXR1cm4geyBlcnJvckZpZWxkOiBmaWVsZCwgZXJyb3JNc2c6IGVycm9yIH07XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCB2YWwgPSBOdW1iZXIoZGF0YSk7XG4gICAgICAgIGlmIChOdW1iZXIuaXNOYU4odmFsKSkge1xuICAgICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgICAgICBlcnJvckZpZWxkOiBmaWVsZCxcbiAgICAgICAgICAgICAgICBlcnJvck1zZzogdmFsaWRhdG9yLmVycm9yTXNnXG4gICAgICAgICAgICAgICAgICAgID8gdmFsaWRhdG9yLmVycm9yTXNnXG4gICAgICAgICAgICAgICAgICAgIDogZ2V0Rm9ybWF0dGVkTWVzc2FnZSgxNiwgW2xhYmVsXSksXG4gICAgICAgICAgICB9O1xuICAgICAgICB9XG4gICAgICAgIGlmIChcbiAgICAgICAgICAgICh0aGlzLmNoZWNrSXNGaWVsZEhhc0lucHV0KGRhdGEpICYmIHZhbCA+IHZhbGlkYXRvci5yYW5nZVsxXSkgfHxcbiAgICAgICAgICAgIHZhbCA8IHZhbGlkYXRvci5yYW5nZVswXVxuICAgICAgICApIHtcbiAgICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAgICAgZXJyb3JGaWVsZDogZmllbGQsXG4gICAgICAgICAgICAgICAgZXJyb3JNc2c6IHZhbGlkYXRvci5lcnJvck1zZ1xuICAgICAgICAgICAgICAgICAgICA/IHZhbGlkYXRvci5lcnJvck1zZ1xuICAgICAgICAgICAgICAgICAgICA6IGdldEZvcm1hdHRlZE1lc3NhZ2UoOCwgW2xhYmVsLCB2YWxpZGF0b3IucmFuZ2VbMF0sIHZhbGlkYXRvci5yYW5nZVsxXV0pLFxuICAgICAgICAgICAgfTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuXG4gICAgZG9WYWxpZGF0aW9uKGRhdGEpIHtcbiAgICAgICAgaWYgKHRoaXMuaXNOYW1lKSB7XG4gICAgICAgICAgICBjb25zdCB0YXJnZXRWYWx1ZSA9IGRhdGEubmFtZTtcbiAgICAgICAgICAgIGNvbnN0IG5hbWVGaWVsZExhYmVsID0gdGhpcy5pc05hbWUubGFiZWw7XG5cbiAgICAgICAgICAgIGlmICh0eXBlb2YgdGFyZ2V0VmFsdWUgPT09ICd1bmRlZmluZWQnIHx8IHRhcmdldFZhbHVlID09PSAnJyB8fCB0YXJnZXRWYWx1ZSA9PSBudWxsKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHsgZXJyb3JGaWVsZDogJ25hbWUnLCBlcnJvck1zZzogZ2V0Rm9ybWF0dGVkTWVzc2FnZSgwLCBbbmFtZUZpZWxkTGFiZWxdKSB9O1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaWYgKCEodHlwZW9mIHRhcmdldFZhbHVlID09PSAnc3RyaW5nJyB8fCB0YXJnZXRWYWx1ZSBpbnN0YW5jZW9mIFN0cmluZykpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4geyBlcnJvckZpZWxkOiAnbmFtZScsIGVycm9yTXNnOiBnZXRGb3JtYXR0ZWRNZXNzYWdlKDEsIFtuYW1lRmllbGRMYWJlbF0pIH07XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpZiAoXG4gICAgICAgICAgICAgICAgdGFyZ2V0VmFsdWUuc3RhcnRzV2l0aCgnXycpIHx8XG4gICAgICAgICAgICAgICAgdGFyZ2V0VmFsdWUgPT09ICcuJyB8fFxuICAgICAgICAgICAgICAgIHRhcmdldFZhbHVlID09PSAnLi4nIHx8XG4gICAgICAgICAgICAgICAgdGFyZ2V0VmFsdWUudG9Mb3dlckNhc2UoKSA9PT0gJ2RlZmF1bHQnXG4gICAgICAgICAgICApIHtcbiAgICAgICAgICAgICAgICByZXR1cm4geyBlcnJvckZpZWxkOiAnbmFtZScsIGVycm9yTXNnOiBnZXRGb3JtYXR0ZWRNZXNzYWdlKDMsIFtuYW1lRmllbGRMYWJlbF0pIH07XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBjb25zdCByZWdleE1ldGFDaGFyYWN0ZXJzID0gWycqJywgJ1xcXFwnLCAnWycsICddJywgJygnLCAnKScsICc/JywgJzonXTtcbiAgICAgICAgICAgIGlmIChyZWdleE1ldGFDaGFyYWN0ZXJzLnNvbWUoKGQpID0+IHRhcmdldFZhbHVlLmluZGV4T2YoZCkgPiAtMSkpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4geyBlcnJvckZpZWxkOiAnbmFtZScsIGVycm9yTXNnOiBnZXRGb3JtYXR0ZWRNZXNzYWdlKDMsIFtuYW1lRmllbGRMYWJlbF0pIH07XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGlmICh0YXJnZXRWYWx1ZS5sZW5ndGggPj0gMTAyNCkge1xuICAgICAgICAgICAgICAgIHJldHVybiB7IGVycm9yRmllbGQ6ICduYW1lJywgZXJyb3JNc2c6IGdldEZvcm1hdHRlZE1lc3NhZ2UoMjIsIFtuYW1lRmllbGRMYWJlbF0pIH07XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBsZXQgcmV0O1xuICAgICAgICBsZXQgaTtcbiAgICAgICAgbGV0IGo7XG5cbiAgICAgICAgZm9yIChpID0gMDsgaSA8IHRoaXMuZW50aXRpZXMubGVuZ3RoOyBpICs9IDEpIHtcbiAgICAgICAgICAgIGlmICh0aGlzLmVudGl0aWVzW2ldLnJlcXVpcmVkID09PSB0cnVlKSB7XG4gICAgICAgICAgICAgICAgcmV0ID0gdGhpcy5SZXF1aXJlZFZhbGlkYXRvcihcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5lbnRpdGllc1tpXS5maWVsZCxcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5lbnRpdGllc1tpXS5sYWJlbCxcbiAgICAgICAgICAgICAgICAgICAgZGF0YVt0aGlzLmVudGl0aWVzW2ldLmZpZWxkXVxuICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgICAgaWYgKHJldCkge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gcmV0O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGlmIChkYXRhW3RoaXMuZW50aXRpZXNbaV0uZmllbGRdID09PSAnJyB8fCBkYXRhW3RoaXMuZW50aXRpZXNbaV0uZmllbGRdID09PSBudWxsKSB7XG4gICAgICAgICAgICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLWNvbnRpbnVlXG4gICAgICAgICAgICAgICAgY29udGludWU7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpZiAodGhpcy5lbnRpdGllc1tpXS52YWxpZGF0b3JzKSB7XG4gICAgICAgICAgICAgICAgZm9yIChqID0gMDsgaiA8IHRoaXMuZW50aXRpZXNbaV0udmFsaWRhdG9ycy5sZW5ndGg7IGogKz0gMSkge1xuICAgICAgICAgICAgICAgICAgICBzd2l0Y2ggKHRoaXMuZW50aXRpZXNbaV0udmFsaWRhdG9yc1tqXS50eXBlKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBjYXNlICdzdHJpbmcnOlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldCA9IHRoaXMuU3RyaW5nVmFsaWRhdG9yKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmVudGl0aWVzW2ldLmZpZWxkLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmVudGl0aWVzW2ldLmxhYmVsLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmVudGl0aWVzW2ldLnZhbGlkYXRvcnNbal0sXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGFbdGhpcy5lbnRpdGllc1tpXS5maWVsZF1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChyZXQpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHJldDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgICAgICAgICBjYXNlICdyZWdleCc6XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0ID0gdGhpcy5SZWdleFZhbGlkYXRvcihcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5lbnRpdGllc1tpXS5maWVsZCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5lbnRpdGllc1tpXS5sYWJlbCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5lbnRpdGllc1tpXS52YWxpZGF0b3JzW2pdLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhW3RoaXMuZW50aXRpZXNbaV0uZmllbGRdXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAocmV0KSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiByZXQ7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgICAgICAgICAgY2FzZSAnbnVtYmVyJzpcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXQgPSB0aGlzLk51bWJlclZhbGlkYXRvcihcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5lbnRpdGllc1tpXS5maWVsZCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5lbnRpdGllc1tpXS5sYWJlbCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5lbnRpdGllc1tpXS52YWxpZGF0b3JzW2pdLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhW3RoaXMuZW50aXRpZXNbaV0uZmllbGRdXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAocmV0KSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiByZXQ7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgICAgICAgICAgY2FzZSAndXJsJzpcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXQgPSB0aGlzLlByZURlZmluZWRSZWdleFZhbGlkYXRvcihcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5lbnRpdGllc1tpXS5maWVsZCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5lbnRpdGllc1tpXS5sYWJlbCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5lbnRpdGllc1tpXS52YWxpZGF0b3JzW2pdLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhW3RoaXMuZW50aXRpZXNbaV0uZmllbGRdLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBQUkVERUZJTkVEX1ZBTElEQVRPUlNfRElDVC51cmwucmVnZXgsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFBSRURFRklORURfVkFMSURBVE9SU19ESUNULnVybC5pbnB1dFZhbHVlVHlwZVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHJldCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gcmV0O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICAgICAgICAgIGNhc2UgJ2RhdGUnOlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldCA9IHRoaXMuUHJlRGVmaW5lZFJlZ2V4VmFsaWRhdG9yKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmVudGl0aWVzW2ldLmZpZWxkLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmVudGl0aWVzW2ldLmxhYmVsLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmVudGl0aWVzW2ldLnZhbGlkYXRvcnNbal0sXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGFbdGhpcy5lbnRpdGllc1tpXS5maWVsZF0sXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFBSRURFRklORURfVkFMSURBVE9SU19ESUNULmRhdGUucmVnZXgsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFBSRURFRklORURfVkFMSURBVE9SU19ESUNULmRhdGUuaW5wdXRWYWx1ZVR5cGVcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChyZXQpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHJldDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgICAgICAgICBjYXNlICdlbWFpbCc6XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0ID0gdGhpcy5QcmVEZWZpbmVkUmVnZXhWYWxpZGF0b3IoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuZW50aXRpZXNbaV0uZmllbGQsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuZW50aXRpZXNbaV0ubGFiZWwsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuZW50aXRpZXNbaV0udmFsaWRhdG9yc1tqXSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YVt0aGlzLmVudGl0aWVzW2ldLmZpZWxkXSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUFJFREVGSU5FRF9WQUxJREFUT1JTX0RJQ1QuZW1haWwucmVnZXgsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFBSRURFRklORURfVkFMSURBVE9SU19ESUNULmVtYWlsLmlucHV0VmFsdWVUeXBlXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAocmV0KSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiByZXQ7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgICAgICAgICAgY2FzZSAnaXB2NCc6XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0ID0gdGhpcy5QcmVEZWZpbmVkUmVnZXhWYWxpZGF0b3IoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuZW50aXRpZXNbaV0uZmllbGQsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuZW50aXRpZXNbaV0ubGFiZWwsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuZW50aXRpZXNbaV0udmFsaWRhdG9yc1tqXSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YVt0aGlzLmVudGl0aWVzW2ldLmZpZWxkXSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUFJFREVGSU5FRF9WQUxJREFUT1JTX0RJQ1QuaXB2NC5yZWdleCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUFJFREVGSU5FRF9WQUxJREFUT1JTX0RJQ1QuaXB2NC5pbnB1dFZhbHVlVHlwZVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHJldCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gcmV0O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICAgICAgICAgIGNhc2UgJ2N1c3RvbSc6XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0ID0gVmFsaWRhdG9yLkN1c3RvbVZhbGlkYXRvcihcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5lbnRpdGllc1tpXS52YWxpZGF0b3JzW2pdLnZhbGlkYXRvckZ1bmMsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuZW50aXRpZXNbaV0uZmllbGQsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGFbdGhpcy5lbnRpdGllc1tpXS5maWVsZF1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChyZXQpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHJldDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG59XG5cbmV4cG9ydCBkZWZhdWx0IFZhbGlkYXRvcjtcbiIsImltcG9ydCBSZWFjdCwgeyBQdXJlQ29tcG9uZW50IH0gZnJvbSAncmVhY3QnO1xuaW1wb3J0IFByb3BUeXBlcyBmcm9tICdwcm9wLXR5cGVzJztcbmltcG9ydCB1cGRhdGUgZnJvbSAnaW1tdXRhYmlsaXR5LWhlbHBlcic7XG5pbXBvcnQgeyB2NCBhcyB1dWlkdjQgfSBmcm9tICd1dWlkJztcblxuaW1wb3J0IENvbGxhcHNpYmxlUGFuZWwgZnJvbSAnQHNwbHVuay9yZWFjdC11aS9Db2xsYXBzaWJsZVBhbmVsJztcbmltcG9ydCBNZXNzYWdlIGZyb20gJ0BzcGx1bmsvcmVhY3QtdWkvTWVzc2FnZSc7XG5pbXBvcnQgc3R5bGVkIGZyb20gJ3N0eWxlZC1jb21wb25lbnRzJztcblxuaW1wb3J0IENvbnRyb2xXcmFwcGVyIGZyb20gJy4vQ29udHJvbFdyYXBwZXInO1xuaW1wb3J0IFZhbGlkYXRvciwgeyBTYXZlVmFsaWRhdG9yIH0gZnJvbSAnLi4vdXRpbC9WYWxpZGF0b3InO1xuaW1wb3J0IHsgZ2V0VW5pZmllZENvbmZpZ3MsIGdlbmVyYXRlVG9hc3QgfSBmcm9tICcuLi91dGlsL3V0aWwnO1xuaW1wb3J0IHsgTU9ERV9DTE9ORSwgTU9ERV9DUkVBVEUsIE1PREVfRURJVCwgTU9ERV9DT05GSUcgfSBmcm9tICcuLi9jb25zdGFudHMvbW9kZXMnO1xuaW1wb3J0IHsgUEFHRV9JTlBVVCwgUEFHRV9DT05GIH0gZnJvbSAnLi4vY29uc3RhbnRzL3BhZ2VzJztcbmltcG9ydCB7IGF4aW9zQ2FsbFdyYXBwZXIgfSBmcm9tICcuLi91dGlsL2F4aW9zQ2FsbFdyYXBwZXInO1xuaW1wb3J0IHsgcGFyc2VFcnJvck1zZywgZ2V0Rm9ybWF0dGVkTWVzc2FnZSB9IGZyb20gJy4uL3V0aWwvbWVzc2FnZVV0aWwnO1xuaW1wb3J0IHsgZ2V0QnVpbGREaXJQYXRoIH0gZnJvbSAnLi4vdXRpbC9zY3JpcHQnO1xuXG5pbXBvcnQge1xuICAgIEVSUk9SX1JFUVVFU1RfVElNRU9VVF9UUllfQUdBSU4sXG4gICAgRVJST1JfUkVRVUVTVF9USU1FT1VUX0FDQ0VTU19UT0tFTl9UUllfQUdBSU4sXG4gICAgRVJST1JfT0NDVVJSRURfVFJZX0FHQUlOLFxuICAgIEVSUk9SX0FVVEhfUFJPQ0VTU19URVJNSU5BVEVEX1RSWV9BR0FJTixcbiAgICBFUlJPUl9TVEFURV9NSVNTSU5HX1RSWV9BR0FJTixcbn0gZnJvbSAnLi4vY29uc3RhbnRzL29BdXRoRXJyb3JNZXNzYWdlJztcbmltcG9ydCBUYWJsZUNvbnRleHQgZnJvbSAnLi4vY29udGV4dC9UYWJsZUNvbnRleHQnO1xuXG5jb25zdCBDb2xsYXBzaWJsZVBhbmVsV3JhcHBlciA9IHN0eWxlZChDb2xsYXBzaWJsZVBhbmVsKWBcbiAgICBzcGFuIHtcbiAgICAgICAgYnV0dG9uIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICAgICAgZm9udC1zaXplOiAxNnB4O1xuICAgICAgICAgICAgbWFyZ2luOiAxMHB4IDA7XG5cbiAgICAgICAgICAgICY6aG92ZXI6bm90KFtkaXNhYmxlZF0pLFxuICAgICAgICAgICAgJjpmb2N1czpub3QoW2Rpc2FibGVkXSksXG4gICAgICAgICAgICAmOmFjdGl2ZTpub3QoW2Rpc2FibGVkXSkge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICAgICAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuY29sbGFwc2libGUtZWxlbWVudCB7XG4gICAgICAgIHBhZGRpbmctdG9wOiAxNXB4O1xuICAgIH1cbmA7XG5cbmNvbnN0IEN1c3RvbUdyb3VwTGFiZWwgPSBzdHlsZWQuZGl2YFxuICAgIHBhZGRpbmc6IDZweCAxMHB4O1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmMmY0ZjU7XG5gO1xuXG5jbGFzcyBCYXNlRm9ybVZpZXcgZXh0ZW5kcyBQdXJlQ29tcG9uZW50IHtcbiAgICBzdGF0aWMgY29udGV4dFR5cGUgPSBUYWJsZUNvbnRleHQ7XG5cbiAgICBjb25zdHJ1Y3Rvcihwcm9wcywgY29udGV4dCkge1xuICAgICAgICBzdXBlcihwcm9wcyk7XG4gICAgICAgIC8vIGZsYWcgZm9yIHRvIHJlbmRlciBob29rIG1ldGhvZCBmb3Igb25jZVxuICAgICAgICB0aGlzLmZsYWcgPSB0cnVlO1xuICAgICAgICB0aGlzLnN0YXRlID0ge307XG4gICAgICAgIHRoaXMuY3VycmVudElucHV0ID0ge307XG4gICAgICAgIGNvbnN0IGdsb2JhbENvbmZpZyA9IGdldFVuaWZpZWRDb25maWdzKCk7XG4gICAgICAgIHRoaXMuYXBwTmFtZSA9IGdsb2JhbENvbmZpZy5tZXRhLm5hbWU7XG4gICAgICAgIHRoaXMuZW5kcG9pbnQgPVxuICAgICAgICAgICAgcHJvcHMubW9kZSA9PT0gTU9ERV9FRElUIHx8IHByb3BzLm1vZGUgPT09IE1PREVfQ09ORklHXG4gICAgICAgICAgICAgICAgPyBgJHt0aGlzLnByb3BzLnNlcnZpY2VOYW1lfS8ke2VuY29kZVVSSUNvbXBvbmVudCh0aGlzLnByb3BzLnN0YW56YU5hbWUpfWBcbiAgICAgICAgICAgICAgICA6IGAke3RoaXMucHJvcHMuc2VydmljZU5hbWV9YDtcblxuICAgICAgICB0aGlzLnV0aWwgPSB7XG4gICAgICAgICAgICBzZXRTdGF0ZTogKGNhbGxiYWNrKSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5vblNhdmVQcm9taXNlID0gbmV3IFByb21pc2UoKHJlc29sdmUpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5zZXRTdGF0ZSgocHJldmlvdXNTdGF0ZSkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGNhbGxiYWNrKHByZXZpb3VzU3RhdGUpO1xuICAgICAgICAgICAgICAgICAgICB9LCByZXNvbHZlKTtcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBzZXRFcnJvckZpZWxkTXNnOiB0aGlzLnNldEVycm9yRmllbGRNc2csXG4gICAgICAgICAgICBjbGVhckFsbEVycm9yTXNnOiB0aGlzLmNsZWFyQWxsRXJyb3JNc2csXG4gICAgICAgICAgICBzZXRFcnJvck1zZzogdGhpcy5zZXRFcnJvck1zZyxcbiAgICAgICAgfTtcblxuICAgICAgICB0aGlzLnV0aWxDb250cm9sV3JhcHBlciA9IHtcbiAgICAgICAgICAgIGhhbmRsZUNoYW5nZTogdGhpcy5oYW5kbGVDaGFuZ2UsXG4gICAgICAgICAgICBhZGRDdXN0b21WYWxpZGF0b3I6IHRoaXMuYWRkQ3VzdG9tVmFsaWRhdG9yLFxuICAgICAgICAgICAgdXRpbEN1c3RvbUZ1bmN0aW9uczogdGhpcy51dGlsLFxuICAgICAgICB9O1xuXG4gICAgICAgIGlmIChwcm9wcy5wYWdlID09PSBQQUdFX0lOUFVUKSB7XG4gICAgICAgICAgICBnbG9iYWxDb25maWcucGFnZXMuaW5wdXRzLnNlcnZpY2VzLmZvckVhY2goKHNlcnZpY2UpID0+IHtcbiAgICAgICAgICAgICAgICBpZiAoc2VydmljZS5uYW1lID09PSBwcm9wcy5zZXJ2aWNlTmFtZSkge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmdyb3VwcyA9IHNlcnZpY2UuZ3JvdXBzO1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmVudGl0aWVzID0gc2VydmljZS5lbnRpdHk7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMudXBkYXRlRW50aXRpZXNGb3JHcm91cChzZXJ2aWNlKTtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5vcHRpb25zID0gc2VydmljZS5vcHRpb25zO1xuICAgICAgICAgICAgICAgICAgICBpZiAoc2VydmljZS5ob29rKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmhvb2tEZWZlcnJlZCA9IHRoaXMubG9hZEhvb2soXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgc2VydmljZS5ob29rLnNyYyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZXJ2aWNlLmhvb2sudHlwZSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBnbG9iYWxDb25maWdcbiAgICAgICAgICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgaWYgKHByb3BzLm1vZGUgPT09IE1PREVfRURJVCB8fCBwcm9wcy5tb2RlID09PSBNT0RFX0NMT05FKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmN1cnJlbnRJbnB1dCA9IGNvbnRleHQucm93RGF0YVtwcm9wcy5zZXJ2aWNlTmFtZV1bcHJvcHMuc3RhbnphTmFtZV07XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGdsb2JhbENvbmZpZy5wYWdlcy5jb25maWd1cmF0aW9uLnRhYnMuZm9yRWFjaCgodGFiKSA9PiB7XG4gICAgICAgICAgICAgICAgY29uc3QgZmxhZyA9IHRhYi50YWJsZVxuICAgICAgICAgICAgICAgICAgICA/IHRhYi5uYW1lID09PSBwcm9wcy5zZXJ2aWNlTmFtZVxuICAgICAgICAgICAgICAgICAgICA6IHRhYi5uYW1lID09PSBwcm9wcy5zdGFuemFOYW1lO1xuICAgICAgICAgICAgICAgIGlmIChmbGFnKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuZW50aXRpZXMgPSB0YWIuZW50aXR5O1xuICAgICAgICAgICAgICAgICAgICB0aGlzLm9wdGlvbnMgPSB0YWIub3B0aW9ucztcbiAgICAgICAgICAgICAgICAgICAgaWYgKHRhYi5ob29rKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmhvb2tEZWZlcnJlZCA9IHRoaXMubG9hZEhvb2soXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGFiLmhvb2suc3JjLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRhYi5ob29rLnR5cGUsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZ2xvYmFsQ29uZmlnXG4gICAgICAgICAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIGlmICh0YWIudGFibGUgJiYgKHByb3BzLm1vZGUgPT09IE1PREVfRURJVCB8fCBwcm9wcy5tb2RlID09PSBNT0RFX0NMT05FKSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5jdXJyZW50SW5wdXQgPSBjb250ZXh0LnJvd0RhdGFbcHJvcHMuc2VydmljZU5hbWVdW3Byb3BzLnN0YW56YU5hbWVdO1xuICAgICAgICAgICAgICAgICAgICB9IGVsc2UgaWYgKHByb3BzLm1vZGUgPT09IE1PREVfQ09ORklHKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmN1cnJlbnRJbnB1dCA9IHByb3BzLmN1cnJlbnRTZXJ2aWNlU3RhdGU7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLm1vZGVfY29uZmlnX3RpdGxlID0gdGFiLnRpdGxlO1xuICAgICAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5jdXJyZW50SW5wdXQgPSBjb250ZXh0LnJvd0RhdGFbcHJvcHMuc2VydmljZU5hbWVdO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5kZXBlbmRlbmN5TWFwID0gbmV3IE1hcCgpO1xuICAgICAgICB0aGlzLmlzT0F1dGggPSBmYWxzZTtcbiAgICAgICAgdGhpcy5pc0F1dGhWYWwgPSBmYWxzZTtcbiAgICAgICAgdGhpcy5hdXRoTWFwID0ge307XG4gICAgICAgIGxldCB0ZW1TdGF0ZSA9IHt9O1xuICAgICAgICBjb25zdCB0ZW1FbnRpdGllcyA9IFtdO1xuXG4gICAgICAgIHRoaXMuZW50aXRpZXMuZm9yRWFjaCgoZSkgPT4ge1xuICAgICAgICAgICAgaWYgKGUudHlwZSA9PT0gJ29hdXRoJykge1xuICAgICAgICAgICAgICAgIHRoaXMuaXNPQXV0aCA9IHRydWU7XG4gICAgICAgICAgICAgICAgaWYgKHByb3BzLnBhZ2UgPT09IFBBR0VfQ09ORiAmJiBwcm9wcy5zZXJ2aWNlTmFtZSA9PT0gJ2FjY291bnQnKSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IGF1dGhUeXBlID0gZT8ub3B0aW9ucz8uYXV0aF90eXBlO1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmlzb2F1dGhTdGF0ZSA9XG4gICAgICAgICAgICAgICAgICAgICAgICB0eXBlb2YgZT8ub3B0aW9ucz8ub2F1dGhfc3RhdGVfZW5hYmxlZCAhPT0gJ3VuZGVmaW5lZCdcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA/IGU/Lm9wdGlvbnM/Lm9hdXRoX3N0YXRlX2VuYWJsZWRcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IG51bGw7XG5cbiAgICAgICAgICAgICAgICAgICAgaWYgKGF1dGhUeXBlLmxlbmd0aCA+IDEpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuaXNBdXRoVmFsID0gdHJ1ZTtcbiAgICAgICAgICAgICAgICAgICAgICAgIC8vIERlZmluaW5nIHN0YXRlIGZvciBhdXRoX3R5cGUgaW4gY2FzZSBvZiBtdWx0aXBsZSBBdXRoZW50aWNhdGlvblxuICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdGVtcEVudGl0eSA9IHt9O1xuICAgICAgICAgICAgICAgICAgICAgICAgdGVtcEVudGl0eS52YWx1ZSA9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZW9mIHRoaXMuY3VycmVudElucHV0LmF1dGhfdHlwZSAhPT0gJ3VuZGVmaW5lZCdcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPyB0aGlzLmN1cnJlbnRJbnB1dC5hdXRoX3R5cGVcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiBhdXRoVHlwZVswXTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRlbXBFbnRpdHkuZGlzcGxheSA9IHRydWU7XG4gICAgICAgICAgICAgICAgICAgICAgICB0ZW1wRW50aXR5LmVycm9yID0gZmFsc2U7XG4gICAgICAgICAgICAgICAgICAgICAgICB0ZW1wRW50aXR5LmRpc2FibGVkID0gZmFsc2U7XG4gICAgICAgICAgICAgICAgICAgICAgICB0ZW1TdGF0ZS5hdXRoX3R5cGUgPSB0ZW1wRW50aXR5O1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAvLyBEZWZpbmluZyBFbnRpdHkgZm9yIGF1dGhfdHlwZSBpbiBlbnRpdHlsaXN0IG9mIGdsb2JhbENvbmZpZ1xuICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgZW50aXR5ID0ge307XG4gICAgICAgICAgICAgICAgICAgICAgICBlbnRpdHkuZmllbGQgPSAnYXV0aF90eXBlJztcbiAgICAgICAgICAgICAgICAgICAgICAgIGVudGl0eS50eXBlID0gJ3NpbmdsZVNlbGVjdCc7XG4gICAgICAgICAgICAgICAgICAgICAgICBlbnRpdHkubGFiZWwgPSAnQXV0aCBUeXBlJztcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGNvbnRlbnQgPSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYmFzaWM6ICdCYXNpYyBBdXRoZW50aWNhdGlvbicsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgb2F1dGg6ICdPQXV0aCAyLjAgQXV0aGVudGljYXRpb24nLFxuICAgICAgICAgICAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGVudGl0eS5vcHRpb25zID0ge307XG4gICAgICAgICAgICAgICAgICAgICAgICBlbnRpdHkub3B0aW9ucy5oaWRlQ2xlYXJCdG4gPSB0cnVlO1xuICAgICAgICAgICAgICAgICAgICAgICAgZW50aXR5Lm9wdGlvbnMuYXV0b0NvbXBsZXRlRmllbGRzID0gYXV0aFR5cGUubWFwKCh0eXBlKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHsgbGFiZWw6IGNvbnRlbnRbdHlwZV0sIHZhbHVlOiB0eXBlIH07XG4gICAgICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRlbUVudGl0aWVzLnB1c2goZW50aXR5KTtcbiAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuaXNTaW5nbGVPYXV0aCA9IGF1dGhUeXBlLmluY2x1ZGVzKCdvYXV0aCcpO1xuICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgLy8gQWRkaW5nIFN0YXRlIGFuZCBFbnRpdHkoaW4gZW50aXR5bGlzdCkgZm9yIGV2ZXJ5IEZpZWxkcyBvZiBcIm9hdXRoXCIgdHlwZVxuICAgICAgICAgICAgICAgICAgICAvLyBJdGVyYXRpbmcgb3ZlciBldmVyeXR5cGUgb2YgQXV0aGVudGljYXRpb24gdW5kZXIgXCJvYXV0aFwiIHR5cGVcbiAgICAgICAgICAgICAgICAgICAgYXV0aFR5cGUuZm9yRWFjaCgodHlwZSkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgYXV0aGZpZWxkcyA9IFtdO1xuICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgZmllbGRzID0gZT8ub3B0aW9uc1t0eXBlXTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChmaWVsZHMpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBGb3IgUGFydGljYXVsYXIgdHlwZSBpdGVyYXRpbmcgb3ZlciBmaWVsZHNcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBmaWVsZHMuZm9yRWFjaCgoZmllbGQpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gZXZlcnkgZmllbGQgZm9yIGF1dGggdHlwZVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB0ZW1wRW50aXR5ID0ge307XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHByb3BzLm1vZGUgPT09IE1PREVfQ1JFQVRFKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0ZW1wRW50aXR5LnZhbHVlID1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlb2YgZmllbGQ/LmRlZmF1bHRWYWx1ZSAhPT0gJ3VuZGVmaW5lZCdcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPyBmaWVsZC5kZWZhdWx0VmFsdWVcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiBudWxsO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgaXNFbmNyeXB0ZWQgPVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGVvZiBmaWVsZD8uZW5jcnlwdGVkICE9PSAndW5kZWZpbmVkJ1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA/IGZpZWxkPy5lbmNyeXB0ZWRcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiBmYWxzZTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRlbXBFbnRpdHkudmFsdWUgPSBpc0VuY3J5cHRlZFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID8gJydcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IHRoaXMuY3VycmVudElucHV0W2ZpZWxkLmZpZWxkXTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0ZW1wRW50aXR5LmRpc3BsYXkgPVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZW9mIHRlbVN0YXRlLmF1dGhfdHlwZSAhPT0gJ3VuZGVmaW5lZCdcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA/IHR5cGUgPT09IHRlbVN0YXRlLmF1dGhfdHlwZS52YWx1ZVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogdHJ1ZTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGVtcEVudGl0eS5lcnJvciA9IGZhbHNlO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0ZW1wRW50aXR5LmRpc2FibGVkID0gZmFsc2U7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRlbVN0YXRlW2ZpZWxkLmZpZWxkXSA9IHRlbXBFbnRpdHk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby1wYXJhbS1yZWFzc2lnblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmaWVsZC50eXBlID1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGVvZiBmaWVsZD8udHlwZSAhPT0gJ3VuZGVmaW5lZCcgPyBmaWVsZC50eXBlIDogJ3RleHQnO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIEhhbmRsZWQgc3BlY2lhbCBjYXNlIGZvciByZWRpcmVjdF91cmxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGZpZWxkLmZpZWxkID09PSAncmVkaXJlY3RfdXJsJykge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGVtcEVudGl0eS52YWx1ZSA9IHdpbmRvdy5sb2NhdGlvbi5ocmVmXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLnNwbGl0KCc/JylbMF1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAucmVwbGFjZShcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2NvbmZpZ3VyYXRpb24nLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBgJHt0aGlzLmFwcE5hbWUudG9Mb3dlckNhc2UoKX1fcmVkaXJlY3RgXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRlbXBFbnRpdHkuZGlzYWJsZWQgPSB0cnVlO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRlbUVudGl0aWVzLnB1c2goZmllbGQpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhdXRoZmllbGRzLnB1c2goZmllbGQuZmllbGQpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuYXV0aE1hcFt0eXBlXSA9IGF1dGhmaWVsZHM7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgICAgICBpZiAoYXV0aFR5cGUuaW5jbHVkZXMoJ29hdXRoJykpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IG9hdXRoQ29uZkRhdGEgPSB7fTtcbiAgICAgICAgICAgICAgICAgICAgICAgIC8vIFN0b3JpbmcgTy1BdXRoIENvbmZpZ3VyYXRpb24gZGF0YSB0byBjbGFzcyB2YXJpYWJsZSB0byB1c2UgbGF0ZXJcbiAgICAgICAgICAgICAgICAgICAgICAgIG9hdXRoQ29uZkRhdGEucG9wdXBXaWR0aCA9IGUub3B0aW9ucy5vYXV0aF9wb3B1cF93aWR0aFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgID8gZS5vcHRpb25zLm9hdXRoX3BvcHVwX3dpZHRoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgOiA2MDA7XG4gICAgICAgICAgICAgICAgICAgICAgICBvYXV0aENvbmZEYXRhLnBvcHVwSGVpZ2h0ID0gZS5vcHRpb25zLm9hdXRoX3BvcHVwX2hlaWdodFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgID8gZS5vcHRpb25zLm9hdXRoX3BvcHVwX2hlaWdodFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogNjAwO1xuICAgICAgICAgICAgICAgICAgICAgICAgb2F1dGhDb25mRGF0YS5hdXRoVGltZW91dCA9IGUub3B0aW9ucy5vYXV0aF90aW1lb3V0XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPyBlLm9wdGlvbnMub2F1dGhfdGltZW91dFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogMTgwO1xuICAgICAgICAgICAgICAgICAgICAgICAgb2F1dGhDb25mRGF0YS5hdXRoQ29kZUVuZHBvaW50ID0gZS5vcHRpb25zLmF1dGhfY29kZV9lbmRwb2ludFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgID8gZS5vcHRpb25zLmF1dGhfY29kZV9lbmRwb2ludFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogbnVsbDtcbiAgICAgICAgICAgICAgICAgICAgICAgIG9hdXRoQ29uZkRhdGEuYWNjZXNzVG9rZW5FbmRwb2ludCA9IGUub3B0aW9ucy5hY2Nlc3NfdG9rZW5fZW5kcG9pbnRcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA/IGUub3B0aW9ucy5hY2Nlc3NfdG9rZW5fZW5kcG9pbnRcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IG51bGw7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMub2F1dGhDb25mID0gb2F1dGhDb25mRGF0YTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgY29uc3QgdGVtcEVudGl0eSA9IHt9O1xuICAgICAgICAgICAgICAgIGUuZW5jcnlwdGVkID0gdHlwZW9mIGUuZW5jcnlwdGVkICE9PSAndW5kZWZpbmVkJyA/IGUuZW5jcnlwdGVkIDogZmFsc2U7XG5cbiAgICAgICAgICAgICAgICBpZiAocHJvcHMubW9kZSA9PT0gTU9ERV9DUkVBVEUpIHtcbiAgICAgICAgICAgICAgICAgICAgdGVtcEVudGl0eS52YWx1ZSA9XG4gICAgICAgICAgICAgICAgICAgICAgICB0eXBlb2YgZS5kZWZhdWx0VmFsdWUgIT09ICd1bmRlZmluZWQnID8gZS5kZWZhdWx0VmFsdWUgOiBudWxsO1xuICAgICAgICAgICAgICAgICAgICB0ZW1wRW50aXR5LmRpc3BsYXkgPVxuICAgICAgICAgICAgICAgICAgICAgICAgdHlwZW9mIGU/Lm9wdGlvbnM/LmRpc3BsYXkgIT09ICd1bmRlZmluZWQnID8gZS5vcHRpb25zLmRpc3BsYXkgOiB0cnVlO1xuICAgICAgICAgICAgICAgICAgICB0ZW1wRW50aXR5LmVycm9yID0gZmFsc2U7XG4gICAgICAgICAgICAgICAgICAgIHRlbXBFbnRpdHkuZGlzYWJsZWQgPSBmYWxzZTtcbiAgICAgICAgICAgICAgICAgICAgdGVtU3RhdGVbZS5maWVsZF0gPSB0ZW1wRW50aXR5O1xuICAgICAgICAgICAgICAgIH0gZWxzZSBpZiAocHJvcHMubW9kZSA9PT0gTU9ERV9FRElUKSB7XG4gICAgICAgICAgICAgICAgICAgIHRlbXBFbnRpdHkudmFsdWUgPVxuICAgICAgICAgICAgICAgICAgICAgICAgdHlwZW9mIHRoaXMuY3VycmVudElucHV0W2UuZmllbGRdICE9PSAndW5kZWZpbmVkJ1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgID8gdGhpcy5jdXJyZW50SW5wdXRbZS5maWVsZF1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IG51bGw7XG4gICAgICAgICAgICAgICAgICAgIHRlbXBFbnRpdHkudmFsdWUgPSBlLmVuY3J5cHRlZCA/ICcnIDogdGVtcEVudGl0eS52YWx1ZTtcblxuICAgICAgICAgICAgICAgICAgICB0ZW1wRW50aXR5LmRpc3BsYXkgPVxuICAgICAgICAgICAgICAgICAgICAgICAgdHlwZW9mIGU/Lm9wdGlvbnM/LmRpc3BsYXkgIT09ICd1bmRlZmluZWQnID8gZS5vcHRpb25zLmRpc3BsYXkgOiB0cnVlO1xuICAgICAgICAgICAgICAgICAgICB0ZW1wRW50aXR5LmVycm9yID0gZmFsc2U7XG4gICAgICAgICAgICAgICAgICAgIHRlbXBFbnRpdHkuZGlzYWJsZWQgPSBmYWxzZTtcbiAgICAgICAgICAgICAgICAgICAgaWYgKGUuZmllbGQgPT09ICduYW1lJykge1xuICAgICAgICAgICAgICAgICAgICAgICAgdGVtcEVudGl0eS5kaXNhYmxlZCA9IHRydWU7XG4gICAgICAgICAgICAgICAgICAgIH0gZWxzZSBpZiAodHlwZW9mIGU/Lm9wdGlvbnM/LmRpc2FibGVvbkVkaXQgIT09ICd1bmRlZmluZWQnKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0ZW1wRW50aXR5LmRpc2FibGVkID0gZS5vcHRpb25zLmRpc2FibGVvbkVkaXQ7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgdGVtU3RhdGVbZS5maWVsZF0gPSB0ZW1wRW50aXR5O1xuICAgICAgICAgICAgICAgIH0gZWxzZSBpZiAocHJvcHMubW9kZSA9PT0gTU9ERV9DTE9ORSkge1xuICAgICAgICAgICAgICAgICAgICB0ZW1wRW50aXR5LnZhbHVlID1cbiAgICAgICAgICAgICAgICAgICAgICAgIGUuZmllbGQgPT09ICduYW1lJyB8fCBlLmVuY3J5cHRlZCA/ICcnIDogdGhpcy5jdXJyZW50SW5wdXRbZS5maWVsZF07XG4gICAgICAgICAgICAgICAgICAgIHRlbXBFbnRpdHkuZGlzcGxheSA9XG4gICAgICAgICAgICAgICAgICAgICAgICB0eXBlb2YgZT8ub3B0aW9ucz8uZGlzcGxheSAhPT0gJ3VuZGVmaW5lZCcgPyBlLm9wdGlvbnMuZGlzcGxheSA6IHRydWU7XG4gICAgICAgICAgICAgICAgICAgIHRlbXBFbnRpdHkuZXJyb3IgPSBmYWxzZTtcbiAgICAgICAgICAgICAgICAgICAgdGVtcEVudGl0eS5kaXNhYmxlZCA9IGZhbHNlO1xuICAgICAgICAgICAgICAgICAgICB0ZW1TdGF0ZVtlLmZpZWxkXSA9IHRlbXBFbnRpdHk7XG4gICAgICAgICAgICAgICAgfSBlbHNlIGlmIChwcm9wcy5tb2RlID09PSBNT0RFX0NPTkZJRykge1xuICAgICAgICAgICAgICAgICAgICBlLmRlZmF1bHRWYWx1ZSA9IHR5cGVvZiBlLmRlZmF1bHRWYWx1ZSAhPT0gJ3VuZGVmaW5lZCcgPyBlLmRlZmF1bHRWYWx1ZSA6IG51bGw7XG4gICAgICAgICAgICAgICAgICAgIHRlbXBFbnRpdHkudmFsdWUgPVxuICAgICAgICAgICAgICAgICAgICAgICAgdHlwZW9mIHRoaXMuY3VycmVudElucHV0W2UuZmllbGRdICE9PSAndW5kZWZpbmVkJ1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgID8gdGhpcy5jdXJyZW50SW5wdXRbZS5maWVsZF1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IGUuZGVmYXVsdFZhbHVlO1xuICAgICAgICAgICAgICAgICAgICB0ZW1wRW50aXR5LnZhbHVlID0gZS5lbmNyeXB0ZWQgPyAnJyA6IHRlbXBFbnRpdHkudmFsdWU7XG4gICAgICAgICAgICAgICAgICAgIHRlbXBFbnRpdHkuZGlzcGxheSA9XG4gICAgICAgICAgICAgICAgICAgICAgICB0eXBlb2YgZT8ub3B0aW9ucz8uZGlzcGxheSAhPT0gJ3VuZGVmaW5lZCcgPyBlLm9wdGlvbnMuZGlzcGxheSA6IHRydWU7XG4gICAgICAgICAgICAgICAgICAgIHRlbXBFbnRpdHkuZXJyb3IgPSBmYWxzZTtcbiAgICAgICAgICAgICAgICAgICAgdGVtcEVudGl0eS5kaXNhYmxlZCA9IGZhbHNlO1xuICAgICAgICAgICAgICAgICAgICBpZiAoZS5maWVsZCA9PT0gJ25hbWUnKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0ZW1wRW50aXR5LmRpc2FibGVkID0gdHJ1ZTtcbiAgICAgICAgICAgICAgICAgICAgfSBlbHNlIGlmICh0eXBlb2YgZT8ub3B0aW9ucz8uZGlzYWJsZW9uRWRpdCAhPT0gJ3VuZGVmaW5lZCcpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRlbXBFbnRpdHkuZGlzYWJsZWQgPSBlLm9wdGlvbnMuZGlzYWJsZW9uRWRpdDtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB0ZW1TdGF0ZVtlLmZpZWxkXSA9IHRlbXBFbnRpdHk7XG4gICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdJbnZhbGlkIG1vZGUgOicsIHByb3BzLm1vZGUpO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIC8vIGhhbmRsZSBkZXBlbmRlbnQgZmllbGRzXG4gICAgICAgICAgICAgICAgY29uc3QgZmllbGRzID0gZS5vcHRpb25zPy5kZXBlbmRlbmNpZXM7XG4gICAgICAgICAgICAgICAgaWYgKGZpZWxkcykge1xuICAgICAgICAgICAgICAgICAgICBmaWVsZHMuZm9yRWFjaCgoZmllbGQpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGNoYW5nZUZpZWxkcyA9IHRoaXMuZGVwZW5kZW5jeU1hcC5nZXQoZmllbGQpO1xuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGNoYW5nZUZpZWxkcykge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNoYW5nZUZpZWxkc1tlLmZpZWxkXSA9IGZpZWxkcztcbiAgICAgICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5kZXBlbmRlbmN5TWFwLnNldChmaWVsZCwge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbZS5maWVsZF06IGZpZWxkcyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIHRlbUVudGl0aWVzLnB1c2goZSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuXG4gICAgICAgIHRoaXMuZW50aXRpZXMgPSB0ZW1FbnRpdGllcztcblxuICAgICAgICAvLyBmbGF0dGVuIHRoZSBkZXBlbmRlbmN5TWFwIHRvIHJlbW92ZSByZWR1bmRhbnQgaXRlcmF0aW9ucyBmb3IgcmVzb2x2aW5nIHRoZW1cbiAgICAgICAgLy8gb25lLWJ5LW9uZSBpbiBmb2xsb3dpbmcgbG9vcFxuICAgICAgICBsZXQgZmxhdHRlbmVkTWFwID0ge307XG4gICAgICAgIHRoaXMuZGVwZW5kZW5jeU1hcC5mb3JFYWNoKCh2YWx1ZSkgPT4ge1xuICAgICAgICAgICAgZmxhdHRlbmVkTWFwID0geyAuLi5mbGF0dGVuZWRNYXAsIC4uLnZhbHVlIH07XG4gICAgICAgIH0pO1xuXG4gICAgICAgIGNvbnN0IGNoYW5nZXMgPSB7fTtcbiAgICAgICAgT2JqZWN0LmtleXMoZmxhdHRlbmVkTWFwKS5mb3JFYWNoKChmaWVsZCkgPT4ge1xuICAgICAgICAgICAgY29uc3QgdmFsdWVzID0gZmxhdHRlbmVkTWFwW2ZpZWxkXTtcbiAgICAgICAgICAgIGNvbnN0IGRhdGEgPSB7fTtcbiAgICAgICAgICAgIGxldCBsb2FkID0gdHJ1ZTtcblxuICAgICAgICAgICAgdmFsdWVzLmZvckVhY2goKGRlcGVuZGVuY3kpID0+IHtcbiAgICAgICAgICAgICAgICBjb25zdCByZXF1aXJlZCA9ICEhdGhpcy5lbnRpdGllcy5maW5kKChlKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBlLmZpZWxkID09PSBkZXBlbmRlbmN5O1xuICAgICAgICAgICAgICAgIH0pLnJlcXVpcmVkO1xuXG4gICAgICAgICAgICAgICAgY29uc3QgY3VycmVudFZhbHVlID0gdGVtU3RhdGVbZGVwZW5kZW5jeV0udmFsdWU7XG4gICAgICAgICAgICAgICAgaWYgKHJlcXVpcmVkICYmICFjdXJyZW50VmFsdWUpIHtcbiAgICAgICAgICAgICAgICAgICAgbG9hZCA9IGZhbHNlO1xuICAgICAgICAgICAgICAgICAgICBkYXRhW2RlcGVuZGVuY3ldID0gbnVsbDtcbiAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICBkYXRhW2RlcGVuZGVuY3ldID0gY3VycmVudFZhbHVlO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0pO1xuXG4gICAgICAgICAgICBpZiAobG9hZCkge1xuICAgICAgICAgICAgICAgIGNoYW5nZXNbZmllbGRdID0ge1xuICAgICAgICAgICAgICAgICAgICBkZXBlbmRlbmN5VmFsdWVzOiB7ICRzZXQ6IGRhdGEgfSxcbiAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcblxuICAgICAgICAvLyBhcHBseSBkZXBlbmRlbmN5IGZpZWxkIGNoYW5nZXMgaW4gc3RhdGVcbiAgICAgICAgdGVtU3RhdGUgPSB1cGRhdGUodGVtU3RhdGUsIGNoYW5nZXMpO1xuICAgICAgICB0aGlzLnN0YXRlID0ge1xuICAgICAgICAgICAgZGF0YTogdGVtU3RhdGUsXG4gICAgICAgICAgICBlcnJvck1zZzogJycsXG4gICAgICAgICAgICB3YXJuaW5nTXNnOiAnJyxcbiAgICAgICAgfTtcblxuICAgICAgICAvLyBIb29rIG9uIGNyZWF0ZSBtZXRob2QgY2FsbFxuICAgICAgICBpZiAodGhpcy5ob29rRGVmZXJyZWQpIHtcbiAgICAgICAgICAgIHRoaXMuaG9va0RlZmVycmVkLnRoZW4oKCkgPT4ge1xuICAgICAgICAgICAgICAgIGlmICh0eXBlb2YgdGhpcy5ob29rLm9uQ3JlYXRlID09PSAnZnVuY3Rpb24nKSB7XG4gICAgICAgICAgICAgICAgICAgIHRyeSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmhvb2sub25DcmVhdGUoKTtcbiAgICAgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXJyKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tY29uc29sZVxuICAgICAgICAgICAgICAgICAgICAgICAgY29uc29sZS5lcnJvcihlcnIpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICB1cGRhdGVFbnRpdGllc0Zvckdyb3VwID0gKHNlcnZpY2UpID0+IHtcbiAgICAgICAgaWYgKHRoaXMuZ3JvdXBzICYmIHRoaXMuZ3JvdXBzLmxlbmd0aCkge1xuICAgICAgICAgICAgdGhpcy5ncm91cHMuZm9yRWFjaCgoZ3JvdXApID0+IHtcbiAgICAgICAgICAgICAgICBpZiAoZ3JvdXAgJiYgZ3JvdXAuZmllbGRzPy5sZW5ndGgpIHtcbiAgICAgICAgICAgICAgICAgICAgZ3JvdXAuZmllbGRzLmZvckVhY2goKGZpZWxkTmFtZSkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgaW5kZXggPSBzZXJ2aWNlLmVudGl0eS5maW5kSW5kZXgoKGUpID0+IGUuZmllbGQgPT09IGZpZWxkTmFtZSk7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChpbmRleCAhPT0gLTEpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1cGRhdGVkT2JqID0gSlNPTi5wYXJzZShKU09OLnN0cmluZ2lmeShzZXJ2aWNlLmVudGl0eVtpbmRleF0pKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB1cGRhdGVkT2JqLmlzR3JvdXBpbmcgPSB0cnVlO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuZW50aXRpZXMuc3BsaWNlKGluZGV4LCAxLCB1cGRhdGVkT2JqKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICB9O1xuXG4gICAgaGFuZGxlU3VibWl0ID0gKCkgPT4ge1xuICAgICAgICB0aGlzLmNsZWFyRXJyb3JNc2coKTtcbiAgICAgICAgdGhpcy5wcm9wcy5oYW5kbGVGb3JtU3VibWl0KC8qIGlzU3VibWl0dGluZyAqLyB0cnVlLCAvKiBjbG9zZUVudGl0eSAqLyBmYWxzZSk7XG5cbiAgICAgICAgdGhpcy5kYXRhZGljdCA9IHt9O1xuXG4gICAgICAgIE9iamVjdC5rZXlzKHRoaXMuc3RhdGUuZGF0YSkuZm9yRWFjaCgoZmllbGQpID0+IHtcbiAgICAgICAgICAgIHRoaXMuZGF0YWRpY3RbZmllbGRdID0gdGhpcy5zdGF0ZS5kYXRhW2ZpZWxkXS52YWx1ZTtcbiAgICAgICAgfSk7XG5cbiAgICAgICAgaWYgKHRoaXMuaG9vayAmJiB0eXBlb2YgdGhpcy5ob29rLm9uU2F2ZSA9PT0gJ2Z1bmN0aW9uJykge1xuICAgICAgICAgICAgY29uc3QgdmFsaWRhdGlvblBhc3MgPSB0aGlzLmhvb2sub25TYXZlKHRoaXMuZGF0YWRpY3QpO1xuICAgICAgICAgICAgaWYgKCF2YWxpZGF0aW9uUGFzcykge1xuICAgICAgICAgICAgICAgIHRoaXMucHJvcHMuaGFuZGxlRm9ybVN1Ym1pdCgvKiBpc1N1Ym1pdHRpbmcgKi8gZmFsc2UsIC8qIGNsb3NlRW50aXR5ICovIGZhbHNlKTtcbiAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgY29uc3QgZXhlY3V0ZVZhbGlkYXRpb25TdWJtaXQgPSAoKSA9PiB7XG4gICAgICAgICAgICBPYmplY3Qua2V5cyh0aGlzLnN0YXRlLmRhdGEpLmZvckVhY2goKGZpZWxkKSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5kYXRhZGljdFtmaWVsZF0gPSB0aGlzLnN0YXRlLmRhdGFbZmllbGRdLnZhbHVlO1xuICAgICAgICAgICAgfSk7XG5cbiAgICAgICAgICAgIC8vIHZhbGlkYXRpb24gZm9yIHVuaXF1ZSBuYW1lXG4gICAgICAgICAgICBpZiAoW01PREVfQ1JFQVRFLCBNT0RFX0NMT05FXS5pbmNsdWRlcyh0aGlzLnByb3BzLm1vZGUpKSB7XG4gICAgICAgICAgICAgICAgY29uc3QgaXNFeGlzdGluZ05hbWUgPSBCb29sZWFuKFxuICAgICAgICAgICAgICAgICAgICBPYmplY3QudmFsdWVzKHRoaXMuY29udGV4dC5yb3dEYXRhKS5maW5kKCh2YWwpID0+XG4gICAgICAgICAgICAgICAgICAgICAgICBPYmplY3Qua2V5cyh2YWwpLmZpbmQoKG5hbWUpID0+IG5hbWUgPT09IHRoaXMuZGF0YWRpY3QubmFtZSlcbiAgICAgICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgICAgICk7XG5cbiAgICAgICAgICAgICAgICBpZiAoaXNFeGlzdGluZ05hbWUpIHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgaW5kZXggPSB0aGlzLmVudGl0aWVzLmZpbmRJbmRleCgoZSkgPT4gZS5maWVsZCA9PT0gJ25hbWUnKTtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5zZXRFcnJvckZpZWxkTXNnKFxuICAgICAgICAgICAgICAgICAgICAgICAgJ25hbWUnLFxuICAgICAgICAgICAgICAgICAgICAgICAgZ2V0Rm9ybWF0dGVkTWVzc2FnZSgyLCBbdGhpcy5lbnRpdGllc1tpbmRleF0ubGFiZWwsIHRoaXMuZGF0YWRpY3QubmFtZV0pXG4gICAgICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMucHJvcHMuaGFuZGxlRm9ybVN1Ym1pdCgvKiBpc1N1Ym1pdHRpbmcgKi8gZmFsc2UsIC8qIGNsb3NlRW50aXR5ICovIGZhbHNlKTtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLy8gdmFsaWRhdGlvbiBjb25kaXRpb24gb2YgcmVxdWlyZWQgZmllbGRzIGluIE8tQXV0aFxuICAgICAgICAgICAgbGV0IHRlbUVudGl0aWVzO1xuICAgICAgICAgICAgaWYgKHRoaXMuaXNPQXV0aCkge1xuICAgICAgICAgICAgICAgIGxldCByZXFGaWVsZHMgPSBbXTtcbiAgICAgICAgICAgICAgICBPYmplY3Qua2V5cyh0aGlzLmF1dGhNYXApLmZvckVhY2goKHR5cGUpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgLy8gYGlzQXV0aFZhbGAgaXMgcmVxdWlyZWQgaW4gYSBjYXNlIHdoZXJlIG9ubHkgc2luZ2xlIGF1dGggdHlwZSBpcyBwcm92aWRlZFxuICAgICAgICAgICAgICAgICAgICBpZiAodHlwZSA9PT0gdGhpcy5kYXRhZGljdC5hdXRoX3R5cGUgfHwgIXRoaXMuaXNBdXRoVmFsKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICByZXFGaWVsZHMgPSBbLi4ucmVxRmllbGRzLCAuLi50aGlzLmF1dGhNYXBbdHlwZV1dO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgdGVtRW50aXRpZXMgPSB0aGlzLmVudGl0aWVzLm1hcCgoZSkgPT4ge1xuICAgICAgICAgICAgICAgICAgICBpZiAocmVxRmllbGRzLmluY2x1ZGVzKGUuZmllbGQpKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAvLyBBbGwgb2F1dGggZmllbGRzIGFyZSByZXF1aXJlZCBleGNlcHQgaWYgZXhwbGljaXRlbHkgYHJlcXVpcmVkYCBpcyBzZXQgdG8gYGZhbHNlYFxuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHsgcmVxdWlyZWQ6IHRydWUsIC4uLmUgfTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICByZXR1cm4gZTtcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgdGVtRW50aXRpZXMgPSB0aGlzLmVudGl0aWVzO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAvLyBWYWxpZGF0aW9uIG9mIGZvcm0gZmllbGRzIG9uIFN1Ym1pdFxuICAgICAgICAgICAgY29uc3QgdmFsaWRhdG9yID0gbmV3IFZhbGlkYXRvcih0ZW1FbnRpdGllcyk7XG4gICAgICAgICAgICBsZXQgZXJyb3IgPSB2YWxpZGF0b3IuZG9WYWxpZGF0aW9uKHRoaXMuZGF0YWRpY3QpO1xuICAgICAgICAgICAgaWYgKGVycm9yKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5zZXRFcnJvckZpZWxkTXNnKGVycm9yLmVycm9yRmllbGQsIGVycm9yLmVycm9yTXNnKTtcbiAgICAgICAgICAgIH0gZWxzZSBpZiAodGhpcy5vcHRpb25zICYmIHRoaXMub3B0aW9ucy5zYXZlVmFsaWRhdG9yKSB7XG4gICAgICAgICAgICAgICAgZXJyb3IgPSBTYXZlVmFsaWRhdG9yKHRoaXMub3B0aW9ucy5zYXZlVmFsaWRhdG9yLCB0aGlzLmRhdGFkaWN0KTtcbiAgICAgICAgICAgICAgICBpZiAoZXJyb3IpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5zZXRFcnJvck1zZyhlcnJvci5lcnJvck1zZyk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBpZiAoZXJyb3IpIHtcbiAgICAgICAgICAgICAgICB0aGlzLnByb3BzLmhhbmRsZUZvcm1TdWJtaXQoLyogaXNTdWJtaXR0aW5nICovIGZhbHNlLCAvKiBjbG9zZUVudGl0eSAqLyBmYWxzZSk7XG4gICAgICAgICAgICB9IGVsc2UgaWYgKFxuICAgICAgICAgICAgICAgIHRoaXMuaXNPQXV0aCAmJlxuICAgICAgICAgICAgICAgICh0aGlzLmlzU2luZ2xlT2F1dGggfHwgKHRoaXMuaXNBdXRoVmFsICYmIHRoaXMuZGF0YWRpY3QuYXV0aF90eXBlID09PSAnb2F1dGgnKSlcbiAgICAgICAgICAgICkge1xuICAgICAgICAgICAgICAgIC8vIGhhbmRsZSBvYXV0aCBBdXRoZW50aWNhdGlvblxuICAgICAgICAgICAgICAgIC8vIFBvcHVsYXRlIHRoZSBwYXJhbWV0ZXIgc3RyaW5nIHdpdGggY2xpZW50X2lkLCByZWRpcmVjdF91cmwgYW5kIHJlc3BvbnNlX3R5cGVcbiAgICAgICAgICAgICAgICBsZXQgcGFyYW1ldGVycyA9IGA/cmVzcG9uc2VfdHlwZT1jb2RlJmNsaWVudF9pZD0ke3RoaXMuZGF0YWRpY3QuY2xpZW50X2lkfSZyZWRpcmVjdF91cmk9JHt0aGlzLmRhdGFkaWN0LnJlZGlyZWN0X3VybH1gO1xuICAgICAgICAgICAgICAgIC8vIEdldCB0aGUgdmFsdWUgZm9yIHN0YXRlX2VuYWJsZWRcbiAgICAgICAgICAgICAgICBjb25zdCBzdGF0ZUVuYWJsZWQgPSB0aGlzLmlzb2F1dGhTdGF0ZSAhPSBudWxsID8gdGhpcy5pc29hdXRoU3RhdGUgOiBmYWxzZTtcbiAgICAgICAgICAgICAgICBpZiAoc3RhdGVFbmFibGVkID09PSAndHJ1ZScgfHwgc3RhdGVFbmFibGVkID09PSB0cnVlKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuc3RhdGVfZW5hYmxlZCA9IHRydWU7XG4gICAgICAgICAgICAgICAgICAgIC8vIEdlbmVyYXRpbmcgYSBjcnlwdG9ncmFwaGljYWxseSBzdHJvbmcgc3RhdGUgcGFyYW1ldGVyLCB3aGljaCB3aWxsIGJlIHVzZWQgT05MWSBkdXJpbmcgY29uZmlndXJhdGlvblxuICAgICAgICAgICAgICAgICAgICB0aGlzLm9hdXRoX3N0YXRlID0gdXVpZHY0KCkucmVwbGFjZSgvLS9nLCAnJyk7XG5cbiAgICAgICAgICAgICAgICAgICAgLy8gQXBwZW5kaW5nIHRoZSBzdGF0ZSBpbiB0aGUgaGVhZGVyc1xuICAgICAgICAgICAgICAgICAgICBwYXJhbWV0ZXJzID0gYCR7cGFyYW1ldGVyc30mc3RhdGU9JHt0aGlzLm9hdXRoX3N0YXRlfWA7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgY29uc3QgaG9zdCA9IGBodHRwczovLyR7dGhpcy5kYXRhZGljdC5lbmRwb2ludH0ke3RoaXMub2F1dGhDb25mLmF1dGhDb2RlRW5kcG9pbnR9JHtwYXJhbWV0ZXJzfWA7XG4gICAgICAgICAgICAgICAgKGFzeW5jICgpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5pc0NhbGxlZCA9IGZhbHNlO1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmlzRXJyb3IgPSBmYWxzZTtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5pc1Jlc3BvbnNlID0gZmFsc2U7XG4gICAgICAgICAgICAgICAgICAgIC8vIEdldCBhdXRoX3R5cGUgZWxlbWVudCBmcm9tIGdsb2JhbCBjb25maWcganNvblxuXG4gICAgICAgICAgICAgICAgICAgIC8vIE9wZW4gYSBwb3B1cCB0byBtYWtlIGF1dGggcmVxdWVzdFxuICAgICAgICAgICAgICAgICAgICB0aGlzLmNoaWxkV2luID0gd2luZG93Lm9wZW4oXG4gICAgICAgICAgICAgICAgICAgICAgICBob3N0LFxuICAgICAgICAgICAgICAgICAgICAgICAgYCR7dGhpcy5hcHBOYW1lfSBPQXV0aGAsXG4gICAgICAgICAgICAgICAgICAgICAgICBgd2lkdGg9JHt0aGlzLm9hdXRoQ29uZi5wb3B1cFdpZHRofSwgaGVpZ2h0PSR7dGhpcy5vYXV0aENvbmYucG9wdXBIZWlnaHR9YFxuICAgICAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICAgICAgICAvLyBDYWxsYmFjayB0byByZWNlaXZlIGRhdGEgZnJvbSByZWRpcmVjdCB1cmxcbiAgICAgICAgICAgICAgICAgICAgd2luZG93LmdldE1lc3NhZ2UgPSAobWVzc2FnZSkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5pc0NhbGxlZCA9IHRydWU7XG4gICAgICAgICAgICAgICAgICAgICAgICAvLyBPbiBDYWxsIGJhY2sgd2l0aCBBdXRoIGNvZGUgdGhpcyBtZXRob2Qgd2lsbCBiZSBjYWxsZWQuXG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmhhbmRsZU9hdXRoVG9rZW4obWVzc2FnZSk7XG4gICAgICAgICAgICAgICAgICAgIH07XG4gICAgICAgICAgICAgICAgICAgIC8vIFdhaXQgdGlsbCB3ZSBnZXQgYXV0aF9jb2RlIGZyb20gY2FsbGluZyBzaXRlIHRocm91Z2ggcmVkaXJlY3QgdXJsLCB3ZSB3aWxsIHdhaXQgZm9yIDMgbWluc1xuICAgICAgICAgICAgICAgICAgICBhd2FpdCB0aGlzLndhaXRGb3JBdXRoZW50aWNhdGlvbih0aGlzLm9hdXRoQ29uZi5hdXRoVGltZW91dCk7XG5cbiAgICAgICAgICAgICAgICAgICAgaWYgKCF0aGlzLmlzQ2FsbGVkICYmIHRoaXMuY2hpbGRXaW4uY2xvc2VkKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAvLyBBZGQgZXJyb3IgbWVzc2FnZSBpZiB0aGUgdXNlciBoYXMgY2xvc2UgdGhlIGF1dGhlbnRpY2F0aW9uIHdpbmRvdyB3aXRob3V0IHRha2luZyBhbnkgYWN0aW9uXG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnNldEVycm9yTXNnKEVSUk9SX0FVVEhfUFJPQ0VTU19URVJNSU5BVEVEX1RSWV9BR0FJTik7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnByb3BzLmhhbmRsZUZvcm1TdWJtaXQoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLyogaXNTdWJtaXR0aW5nICovIGZhbHNlLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qIGNsb3NlRW50aXR5ICovIGZhbHNlXG4gICAgICAgICAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgaWYgKCF0aGlzLmlzQ2FsbGVkKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAvLyBBZGQgdGltZW91dCBlcnJvciBtZXNzYWdlXG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnNldEVycm9yTXNnKEVSUk9SX1JFUVVFU1RfVElNRU9VVF9UUllfQUdBSU4pO1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5wcm9wcy5oYW5kbGVGb3JtU3VibWl0KFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qIGlzU3VibWl0dGluZyAqLyBmYWxzZSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiBjbG9zZUVudGl0eSAqLyBmYWxzZVxuICAgICAgICAgICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgIC8vIFJlc2V0IGNhbGxlZCBmbGFnIGFzIHdlIGhhdmUgdG8gd2FpdCB0aWxsIHdlIGdldCB0aGUgYWNjZXNzX3Rva2VuLCByZWZyZXNoX3Rva2VuIGFuZCBpbnN0YW5jZV91cmxcbiAgICAgICAgICAgICAgICAgICAgLy8gV2FpdCB0aWxsIHdlIGdldCB0aGUgcmVzcG9uc2UsIGhlcmUgd2UgaGF2ZSBhZGRlZCB3YWl0IGZvciAzMCBzZWNzXG4gICAgICAgICAgICAgICAgICAgIGF3YWl0IHRoaXMud2FpdEZvckJhY2tlbmRSZXNwb25zZSgzMCk7XG5cbiAgICAgICAgICAgICAgICAgICAgaWYgKCF0aGlzLmlzUmVzcG9uc2UgJiYgIXRoaXMuaXNFcnJvcikge1xuICAgICAgICAgICAgICAgICAgICAgICAgLy8gU2V0IGVycm9yIG1lc3NhZ2UgdG8gcHJldmVudCBzYXZpbmcuXG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmlzRXJyb3IgPSB0cnVlO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAvLyBBZGQgdGltZW91dCBlcnJvciBtZXNzYWdlXG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnNldEVycm9yTXNnKEVSUk9SX1JFUVVFU1RfVElNRU9VVF9BQ0NFU1NfVE9LRU5fVFJZX0FHQUlOKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMucHJvcHMuaGFuZGxlRm9ybVN1Ym1pdChcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiBpc1N1Ym1pdHRpbmcgKi8gZmFsc2UsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLyogY2xvc2VFbnRpdHkgKi8gZmFsc2VcbiAgICAgICAgICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICAgICAgICAgICAgfSkoKS50aGVuKCgpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgaWYgKCF0aGlzLmlzRXJyb3IpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuc2F2ZURhdGEoKTtcbiAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMucHJvcHMuaGFuZGxlRm9ybVN1Ym1pdChcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiBpc1N1Ym1pdHRpbmcgKi8gZmFsc2UsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLyogY2xvc2VFbnRpdHkgKi8gZmFsc2VcbiAgICAgICAgICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgdGhpcy5zYXZlRGF0YSgpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9O1xuICAgICAgICBpZiAoXG4gICAgICAgICAgICB0aGlzLmhvb2sgJiZcbiAgICAgICAgICAgIHR5cGVvZiB0aGlzLmhvb2sub25TYXZlID09PSAnZnVuY3Rpb24nICYmXG4gICAgICAgICAgICB0eXBlb2YgdGhpcy5vblNhdmVQcm9taXNlICE9PSAndW5kZWZpbmVkJ1xuICAgICAgICApIHtcbiAgICAgICAgICAgIHRoaXMub25TYXZlUHJvbWlzZS50aGVuKCgpID0+IHtcbiAgICAgICAgICAgICAgICBleGVjdXRlVmFsaWRhdGlvblN1Ym1pdCgpO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBleGVjdXRlVmFsaWRhdGlvblN1Ym1pdCgpO1xuICAgICAgICB9XG4gICAgfTtcblxuICAgIHNhdmVEYXRhID0gKCkgPT4ge1xuICAgICAgICBjb25zdCBib2R5ID0gbmV3IFVSTFNlYXJjaFBhcmFtcygpO1xuICAgICAgICBPYmplY3Qua2V5cyh0aGlzLmRhdGFkaWN0KS5mb3JFYWNoKChrZXkpID0+IHtcbiAgICAgICAgICAgIGlmICh0aGlzLmRhdGFkaWN0W2tleV0gIT0gbnVsbCkge1xuICAgICAgICAgICAgICAgIGJvZHkuYXBwZW5kKGtleSwgdGhpcy5kYXRhZGljdFtrZXldKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG5cbiAgICAgICAgLy8gY2xlYXIgb3V0IGZpZWxkcyBvZiBvdGhlciBhdXRoZW50aWNhdGlvbiBtZXRob2RzIHdoZW4gdXNpbmcgb25lXG4gICAgICAgIGlmICh0aGlzLmlzQXV0aFZhbCkge1xuICAgICAgICAgICAgT2JqZWN0LmtleXModGhpcy5hdXRoTWFwKS5mb3JFYWNoKCh0eXBlKSA9PiB7XG4gICAgICAgICAgICAgICAgaWYgKHRoaXMuZGF0YWRpY3QuYXV0aF90eXBlICE9PSB0eXBlKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuYXV0aE1hcFt0eXBlXS5mb3JFYWNoKChlKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICBib2R5LnNldChlLCAnJyk7XG4gICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHRoaXMuaXNPQXV0aCkge1xuICAgICAgICAgICAgLy8gUHJldmVudCBwYXNzaW5nIHJlZGlyZWN0X3VybCBmaWVsZCB1c2VkIGluIE9BdXRoIHRvIGJhY2tlbmQgY29uZiBmaWxlXG4gICAgICAgICAgICBib2R5LmRlbGV0ZSgncmVkaXJlY3RfdXJsJyk7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHRoaXMucHJvcHMubW9kZSA9PT0gTU9ERV9FRElUKSB7XG4gICAgICAgICAgICBib2R5LmRlbGV0ZSgnbmFtZScpO1xuICAgICAgICB9XG5cbiAgICAgICAgYXhpb3NDYWxsV3JhcHBlcih7XG4gICAgICAgICAgICBzZXJ2aWNlTmFtZTogdGhpcy5lbmRwb2ludCxcbiAgICAgICAgICAgIGJvZHksXG4gICAgICAgICAgICBjdXN0b21IZWFkZXJzOiB7ICdDb250ZW50LVR5cGUnOiAnYXBwbGljYXRpb24veC13d3ctZm9ybS11cmxlbmNvZGVkJyB9LFxuICAgICAgICAgICAgbWV0aG9kOiAncG9zdCcsXG4gICAgICAgICAgICBoYW5kbGVFcnJvcjogZmFsc2UsXG4gICAgICAgIH0pXG4gICAgICAgICAgICAudGhlbigocmVzcG9uc2UpID0+IHtcbiAgICAgICAgICAgICAgICBjb25zdCB2YWwgPSByZXNwb25zZT8uZGF0YT8uZW50cnlbMF07XG4gICAgICAgICAgICAgICAgaWYgKHRoaXMucHJvcHMubW9kZSAhPT0gTU9ERV9DT05GSUcpIHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgdG1wT2JqID0ge307XG5cbiAgICAgICAgICAgICAgICAgICAgdG1wT2JqW3ZhbC5uYW1lXSA9IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIC8vIEFERE9OLTM4NTgxOiBgZGF0YWRpY3RgIHByb3ZpZGVzIGZhbGxiYWNrIHZhbHVlcyBpZiByaCBza2lwc1xuICAgICAgICAgICAgICAgICAgICAgICAgLi4udGhpcy5kYXRhZGljdCxcbiAgICAgICAgICAgICAgICAgICAgICAgIC4uLnZhbC5jb250ZW50LFxuICAgICAgICAgICAgICAgICAgICAgICAgaWQ6IHZhbC5pZCxcbiAgICAgICAgICAgICAgICAgICAgICAgIG5hbWU6IHZhbC5uYW1lLFxuICAgICAgICAgICAgICAgICAgICAgICAgc2VydmljZU5hbWU6IHRoaXMucHJvcHMuc2VydmljZU5hbWUsXG4gICAgICAgICAgICAgICAgICAgIH07XG5cbiAgICAgICAgICAgICAgICAgICAgdGhpcy5jb250ZXh0LnNldFJvd0RhdGEoXG4gICAgICAgICAgICAgICAgICAgICAgICB1cGRhdGUodGhpcy5jb250ZXh0LnJvd0RhdGEsIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBbdGhpcy5wcm9wcy5zZXJ2aWNlTmFtZV06IHsgJG1lcmdlOiB0bXBPYmogfSxcbiAgICAgICAgICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGlmICh0aGlzLmhvb2sgJiYgdHlwZW9mIHRoaXMuaG9vay5vblNhdmVTdWNjZXNzID09PSAnZnVuY3Rpb24nKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuaG9vay5vblNhdmVTdWNjZXNzKCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGlmICh0aGlzLnByb3BzLm1vZGUgPT09IE1PREVfRURJVCkge1xuICAgICAgICAgICAgICAgICAgICBnZW5lcmF0ZVRvYXN0KGBVcGRhdGVkIFwiJHt2YWwubmFtZX1cImAsICdzdWNjZXNzJyk7XG4gICAgICAgICAgICAgICAgfSBlbHNlIGlmICh0aGlzLnByb3BzLm1vZGUgPT09IE1PREVfQ09ORklHKSB7XG4gICAgICAgICAgICAgICAgICAgIGdlbmVyYXRlVG9hc3QoXG4gICAgICAgICAgICAgICAgICAgICAgICBgVXBkYXRlZCBcIiR7dGhpcy5tb2RlX2NvbmZpZ190aXRsZSA/IHRoaXMubW9kZV9jb25maWdfdGl0bGUgOiB2YWwubmFtZX1cImAsXG4gICAgICAgICAgICAgICAgICAgICAgICAnc3VjY2VzcydcbiAgICAgICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICBnZW5lcmF0ZVRvYXN0KGBDcmVhdGVkIFwiJHt2YWwubmFtZX1cImAsICdzdWNjZXNzJyk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIHRoaXMucHJvcHMuaGFuZGxlRm9ybVN1Ym1pdCgvKiBpc1N1Ym1pdHRpbmcgKi8gZmFsc2UsIC8qIGNsb3NlRW50aXR5ICovIHRydWUpO1xuICAgICAgICAgICAgfSlcbiAgICAgICAgICAgIC5jYXRjaCgoZXJyKSA9PiB7XG4gICAgICAgICAgICAgICAgY29uc3QgZXJyb3JTdWJtaXRNc2cgPSBwYXJzZUVycm9yTXNnKGVycik7XG4gICAgICAgICAgICAgICAgdGhpcy5zZXRTdGF0ZSh7IGVycm9yTXNnOiBlcnJvclN1Ym1pdE1zZyB9KTtcbiAgICAgICAgICAgICAgICBpZiAodGhpcy5ob29rICYmIHR5cGVvZiB0aGlzLmhvb2sub25TYXZlRmFpbCA9PT0gJ2Z1bmN0aW9uJykge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmhvb2sub25TYXZlRmFpbCgpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB0aGlzLnByb3BzLmhhbmRsZUZvcm1TdWJtaXQoLyogaXNTdWJtaXR0aW5nICovIGZhbHNlLCAvKiBjbG9zZUVudGl0eSAqLyBmYWxzZSk7XG4gICAgICAgICAgICB9KTtcbiAgICB9O1xuXG4gICAgaGFuZGxlQ2hhbmdlID0gKGZpZWxkLCB0YXJnZXRWYWx1ZSkgPT4ge1xuICAgICAgICBjb25zdCBjaGFuZ2VzID0ge307XG4gICAgICAgIGlmIChmaWVsZCA9PT0gJ2F1dGhfdHlwZScpIHtcbiAgICAgICAgICAgIE9iamVjdC5rZXlzKHRoaXMuYXV0aE1hcCkuZm9yRWFjaCgodHlwZSkgPT4ge1xuICAgICAgICAgICAgICAgIGlmICh0eXBlID09PSB0YXJnZXRWYWx1ZSkge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmF1dGhNYXBbdHlwZV0uZm9yRWFjaCgoZSkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgY2hhbmdlc1tlXSA9IHsgZGlzcGxheTogeyAkc2V0OiB0cnVlIH0gfTtcbiAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5hdXRoTWFwW3R5cGVdLmZvckVhY2goKGUpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNoYW5nZXNbZV0gPSB7IGRpc3BsYXk6IHsgJHNldDogZmFsc2UgfSB9O1xuICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICh0aGlzLmRlcGVuZGVuY3lNYXAuaGFzKGZpZWxkKSkge1xuICAgICAgICAgICAgY29uc3QgdmFsdWUgPSB0aGlzLmRlcGVuZGVuY3lNYXAuZ2V0KGZpZWxkKTtcbiAgICAgICAgICAgIE9iamVjdC5rZXlzKHZhbHVlKS5mb3JFYWNoKChsb2FkRmllbGQpID0+IHtcbiAgICAgICAgICAgICAgICBjb25zdCBkYXRhID0ge307XG4gICAgICAgICAgICAgICAgbGV0IGxvYWQgPSB0cnVlO1xuXG4gICAgICAgICAgICAgICAgdmFsdWVbbG9hZEZpZWxkXS5mb3JFYWNoKChkZXBlbmRlbmN5KSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IHJlcXVpcmVkID0gISF0aGlzLmVudGl0aWVzLmZpbmQoKGUpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBlLmZpZWxkID09PSBkZXBlbmRlbmN5O1xuICAgICAgICAgICAgICAgICAgICB9KS5yZXF1aXJlZDtcblxuICAgICAgICAgICAgICAgICAgICBjb25zdCBjdXJyZW50VmFsdWUgPVxuICAgICAgICAgICAgICAgICAgICAgICAgZGVwZW5kZW5jeSA9PT0gZmllbGQgPyB0YXJnZXRWYWx1ZSA6IHRoaXMuc3RhdGUuZGF0YVtkZXBlbmRlbmN5XS52YWx1ZTtcbiAgICAgICAgICAgICAgICAgICAgaWYgKHJlcXVpcmVkICYmICFjdXJyZW50VmFsdWUpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGxvYWQgPSBmYWxzZTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGRhdGFbZGVwZW5kZW5jeV0gPSBudWxsO1xuICAgICAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICAgICAgZGF0YVtkZXBlbmRlbmN5XSA9IGN1cnJlbnRWYWx1ZTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH0pO1xuXG4gICAgICAgICAgICAgICAgaWYgKGxvYWQpIHtcbiAgICAgICAgICAgICAgICAgICAgY2hhbmdlc1tsb2FkRmllbGRdID0ge1xuICAgICAgICAgICAgICAgICAgICAgICAgZGVwZW5kZW5jeVZhbHVlczogeyAkc2V0OiBkYXRhIH0sXG4gICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZTogeyAkc2V0OiBudWxsIH0sXG4gICAgICAgICAgICAgICAgICAgIH07XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICAgICAgY2hhbmdlc1tmaWVsZF0gPSB7IHZhbHVlOiB7ICRzZXQ6IHRhcmdldFZhbHVlIH0gfTtcblxuICAgICAgICBjb25zdCBuZXdGaWVsZHMgPSB1cGRhdGUodGhpcy5zdGF0ZSwgeyBkYXRhOiBjaGFuZ2VzIH0pO1xuICAgICAgICBjb25zdCB0ZW1wU3RhdGUgPSB0aGlzLmNsZWFyQWxsRXJyb3JNc2cobmV3RmllbGRzKTtcbiAgICAgICAgdGhpcy5zZXRTdGF0ZSh0ZW1wU3RhdGUpO1xuXG4gICAgICAgIGlmICh0aGlzLmhvb2tEZWZlcnJlZCkge1xuICAgICAgICAgICAgdGhpcy5ob29rRGVmZXJyZWQudGhlbigoKSA9PiB7XG4gICAgICAgICAgICAgICAgaWYgKHR5cGVvZiB0aGlzLmhvb2sub25DaGFuZ2UgPT09ICdmdW5jdGlvbicpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5ob29rLm9uQ2hhbmdlKGZpZWxkLCB0YXJnZXRWYWx1ZSwgdGVtcFN0YXRlKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgIH07XG5cbiAgICBhZGRDdXN0b21WYWxpZGF0b3IgPSAoZmllbGQsIHZhbGlkYXRvckZ1bmMpID0+IHtcbiAgICAgICAgY29uc3QgaW5kZXggPSB0aGlzLmVudGl0aWVzLmZpbmRJbmRleCgoeCkgPT4geC5maWVsZCA9PT0gZmllbGQpO1xuICAgICAgICBjb25zdCB2YWxpZGF0b3IgPSBbeyB0eXBlOiAnY3VzdG9tJywgdmFsaWRhdG9yRnVuYyB9XTtcbiAgICAgICAgdGhpcy5lbnRpdGllc1tpbmRleF0udmFsaWRhdG9ycyA9IHZhbGlkYXRvcjtcbiAgICB9O1xuXG4gICAgLy8gU2V0IGVycm9yIG1lc3NhZ2UgdG8gZGlzcGxheSBhbmQgc2V0IGVycm9yIGluIHBlcnRpY3VsYXIgZmllbGRcbiAgICBzZXRFcnJvckZpZWxkTXNnID0gKGZpZWxkLCBtc2cpID0+IHtcbiAgICAgICAgdGhpcy5zZXRTdGF0ZSgocHJldmlvdXNTdGF0ZSkgPT4ge1xuICAgICAgICAgICAgY29uc3QgbmV3RmllbGRzID0gdXBkYXRlKHByZXZpb3VzU3RhdGUsIHtcbiAgICAgICAgICAgICAgICBkYXRhOiB7IFtmaWVsZF06IHsgZXJyb3I6IHsgJHNldDogdHJ1ZSB9IH0gfSxcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgbmV3RmllbGRzLmVycm9yTXNnID0gbXNnO1xuICAgICAgICAgICAgcmV0dXJuIG5ld0ZpZWxkcztcbiAgICAgICAgfSk7XG4gICAgfTtcblxuICAgIC8vIFNldCBlcnJvciBpbiBwZXJ0aWN1bGFyIGZpZWxkXG4gICAgc2V0RXJyb3JGaWVsZCA9IChmaWVsZCkgPT4ge1xuICAgICAgICB0aGlzLnNldFN0YXRlKChwcmV2aW91c1N0YXRlKSA9PiB7XG4gICAgICAgICAgICByZXR1cm4gdXBkYXRlKHByZXZpb3VzU3RhdGUsIHsgZGF0YTogeyBbZmllbGRdOiB7IGVycm9yOiB7ICRzZXQ6IHRydWUgfSB9IH0gfSk7XG4gICAgICAgIH0pO1xuICAgIH07XG5cbiAgICAvLyBDbGVhciBlcnJvciBtZXNzYWdlXG4gICAgY2xlYXJFcnJvck1zZyA9ICgpID0+IHtcbiAgICAgICAgaWYgKHRoaXMuc3RhdGUuZXJyb3JNc2cpIHtcbiAgICAgICAgICAgIHRoaXMuc2V0U3RhdGUoKHByZXZpb3VzU3RhdGUpID0+IHtcbiAgICAgICAgICAgICAgICByZXR1cm4geyAuLi5wcmV2aW91c1N0YXRlLCBlcnJvck1zZzogJycgfTtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgfTtcblxuICAgIC8vIFNldCBlcnJvciBtZXNzYWdlXG4gICAgc2V0RXJyb3JNc2cgPSAobXNnKSA9PiB7XG4gICAgICAgIHRoaXMuc2V0U3RhdGUoKHByZXZpb3VzU3RhdGUpID0+IHtcbiAgICAgICAgICAgIHJldHVybiB7IC4uLnByZXZpb3VzU3RhdGUsIGVycm9yTXNnOiBtc2cgfTtcbiAgICAgICAgfSk7XG4gICAgfTtcblxuICAgIC8vIENsZWFyIGVycm9yL3dhcm5pbmcgbWVzc2FnZSBhbmQgZXJyb3JzIGZyb20gZmllbGRzXG4gICAgY2xlYXJBbGxFcnJvck1zZyA9IChTdGF0ZSkgPT4ge1xuICAgICAgICBjb25zdCBuZXdGaWVsZHMgPSBTdGF0ZSA/IHsgLi4uU3RhdGUgfSA6IHsgLi4udGhpcy5zdGF0ZSB9O1xuICAgICAgICBuZXdGaWVsZHMuZXJyb3JNc2cgPSAnJztcbiAgICAgICAgbmV3RmllbGRzLndhcm5pbmdNc2cgPSAnJztcbiAgICAgICAgY29uc3QgbmV3RGF0YSA9IFN0YXRlID8geyAuLi5TdGF0ZS5kYXRhIH0gOiB7IC4uLnRoaXMuc3RhdGUuZGF0YSB9O1xuICAgICAgICBjb25zdCB0ZW1EYXRhID0ge307XG4gICAgICAgIE9iamVjdC5rZXlzKG5ld0RhdGEpLmZvckVhY2goKGtleSkgPT4ge1xuICAgICAgICAgICAgaWYgKG5ld0RhdGFba2V5XS5lcnJvcikge1xuICAgICAgICAgICAgICAgIHRlbURhdGFba2V5XSA9IHsgLi4ubmV3RGF0YVtrZXldLCBlcnJvcjogZmFsc2UgfTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgdGVtRGF0YVtrZXldID0gbmV3RGF0YVtrZXldO1xuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICAgICAgbmV3RmllbGRzLmRhdGEgPSB0ZW1EYXRhO1xuICAgICAgICByZXR1cm4gU3RhdGUgPyBuZXdGaWVsZHMgOiBudWxsO1xuICAgIH07XG5cbiAgICAvLyBEaXNwbGF5IGVycm9yIG1lc3NhZ2VcbiAgICBnZW5lcmF0ZUVycm9yTWVzc2FnZSA9ICgpID0+IHtcbiAgICAgICAgaWYgKHRoaXMuc3RhdGUuZXJyb3JNc2cpIHtcbiAgICAgICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICAgICAgPE1lc3NhZ2UgYXBwZWFyYW5jZT1cImZpbGxcIiB0eXBlPVwiZXJyb3JcIj5cbiAgICAgICAgICAgICAgICAgICAge3RoaXMuc3RhdGUuZXJyb3JNc2d9XG4gICAgICAgICAgICAgICAgPC9NZXNzYWdlPlxuICAgICAgICAgICAgKTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gbnVsbDtcbiAgICB9O1xuXG4gICAgZ2VuZXJhdGVXYXJuaW5nTWVzc2FnZSA9ICgpID0+IHtcbiAgICAgICAgaWYgKHRoaXMuc3RhdGUud2FybmluZ01zZykge1xuICAgICAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgICAgICA8TWVzc2FnZSBhcHBlYXJhbmNlPVwiZmlsbFwiIHR5cGU9XCJ3YXJuaW5nXCI+XG4gICAgICAgICAgICAgICAgICAgIHt0aGlzLnN0YXRlLndhcm5pbmdNc2d9XG4gICAgICAgICAgICAgICAgPC9NZXNzYWdlPlxuICAgICAgICAgICAgKTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gbnVsbDtcbiAgICB9O1xuXG4gICAgLy8gZ2VuZXJhdGVzdWJtaXRNZXNzYWdlXG4gICAgbG9hZEhvb2sgPSAobW9kdWxlLCB0eXBlLCBnbG9iYWxDb25maWcpID0+IHtcbiAgICAgICAgY29uc3QgbXlQcm9taXNlID0gbmV3IFByb21pc2UoKHJlc29sdmUpID0+IHtcbiAgICAgICAgICAgIGlmICh0eXBlID09PSAnZXh0ZXJuYWwnKSB7XG4gICAgICAgICAgICAgICAgaW1wb3J0KC8qIHdlYnBhY2tJZ25vcmU6IHRydWUgKi8gYCR7Z2V0QnVpbGREaXJQYXRoKCl9L2N1c3RvbS8ke21vZHVsZX0uanNgKS50aGVuKFxuICAgICAgICAgICAgICAgICAgICAoZXh0ZXJuYWwpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IEhvb2sgPSBleHRlcm5hbC5kZWZhdWx0O1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5ob29rID0gbmV3IEhvb2soXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZ2xvYmFsQ29uZmlnLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMucHJvcHMuc2VydmljZU5hbWUsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5zdGF0ZSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnByb3BzLm1vZGUsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy51dGlsXG4gICAgICAgICAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICAgICAgICAgICAgcmVzb2x2ZShIb29rKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIF9fbm9uX3dlYnBhY2tfcmVxdWlyZV9fKFxuICAgICAgICAgICAgICAgICAgICBbYGFwcC8ke3RoaXMuYXBwTmFtZX0vanMvYnVpbGQvY3VzdG9tLyR7bW9kdWxlfWBdLFxuICAgICAgICAgICAgICAgICAgICAoSG9vaykgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5ob29rID0gbmV3IEhvb2soXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZ2xvYmFsQ29uZmlnLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMucHJvcHMuc2VydmljZU5hbWUsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5zdGF0ZSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnByb3BzLm1vZGUsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy51dGlsXG4gICAgICAgICAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICAgICAgICAgICAgcmVzb2x2ZShIb29rKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgICAgICByZXR1cm4gbXlQcm9taXNlO1xuICAgIH07XG5cbiAgICAvKlxuICAgICAqIEZ1bmN0aW9uIHRvIGdldCBhY2Nlc3MgdG9rZW4sIHJlZnJlc2ggdG9rZW4gYW5kIGluc3RhbmNlIHVybFxuICAgICAqIHVzaW5nIHJlc3QgY2FsbCBvbmNlIG9hdXRoIGNvZGUgcmVjZWl2ZWQgZnJvbSBjaGlsZCB3aW5kb3dcbiAgICAgKi9cbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgY29uc2lzdGVudC1yZXR1cm5cbiAgICBoYW5kbGVPYXV0aFRva2VuID0gKG1lc3NhZ2UpID0+IHtcbiAgICAgICAgLy8gQ2hlY2sgbWVzc2FnZSBmb3IgZXJyb3IuIElmIGVycm9yIHNob3cgZXJyb3IgbWVzc2FnZS5cbiAgICAgICAgaWYgKCFtZXNzYWdlIHx8IChtZXNzYWdlICYmIG1lc3NhZ2UuZXJyb3IpIHx8IG1lc3NhZ2UuY29kZSA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICB0aGlzLnNldEVycm9yTXNnKEVSUk9SX09DQ1VSUkVEX1RSWV9BR0FJTik7XG4gICAgICAgICAgICB0aGlzLmlzRXJyb3IgPSB0cnVlO1xuICAgICAgICAgICAgdGhpcy5pc1Jlc3BvbnNlID0gdHJ1ZTtcbiAgICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgfVxuICAgICAgICBjb25zdCBzdGF0ZVJlc3BvbnNlID0gbWVzc2FnZS5zdGF0ZTtcblxuICAgICAgICBpZiAodGhpcy5zdGF0ZV9lbmFibGVkID09PSB0cnVlICYmIHRoaXMub2F1dGhfc3RhdGUgIT09IHN0YXRlUmVzcG9uc2UpIHtcbiAgICAgICAgICAgIHRoaXMuc2V0RXJyb3JNc2coRVJST1JfU1RBVEVfTUlTU0lOR19UUllfQUdBSU4pO1xuICAgICAgICAgICAgdGhpcy5pc0Vycm9yID0gdHJ1ZTtcbiAgICAgICAgICAgIHRoaXMuaXNSZXNwb25zZSA9IHRydWU7XG4gICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBjb2RlID0gZGVjb2RlVVJJQ29tcG9uZW50KG1lc3NhZ2UuY29kZSk7XG4gICAgICAgIGNvbnN0IGRhdGEgPSB7XG4gICAgICAgICAgICBtZXRob2Q6ICdQT1NUJyxcbiAgICAgICAgICAgIHVybDogYGh0dHBzOi8vJHt0aGlzLmRhdGFkaWN0LmVuZHBvaW50fSR7dGhpcy5vYXV0aENvbmYuYWNjZXNzVG9rZW5FbmRwb2ludH1gLFxuICAgICAgICAgICAgZ3JhbnRfdHlwZTogJ2F1dGhvcml6YXRpb25fY29kZScsXG4gICAgICAgICAgICBjbGllbnRfaWQ6IHRoaXMuZGF0YWRpY3QuY2xpZW50X2lkLFxuICAgICAgICAgICAgY2xpZW50X3NlY3JldDogdGhpcy5kYXRhZGljdC5jbGllbnRfc2VjcmV0LFxuICAgICAgICAgICAgY29kZSxcbiAgICAgICAgICAgIHJlZGlyZWN0X3VyaTogdGhpcy5kYXRhZGljdC5yZWRpcmVjdF91cmwsXG4gICAgICAgIH07XG5cbiAgICAgICAgY29uc3QgYm9keSA9IG5ldyBVUkxTZWFyY2hQYXJhbXMoKTtcbiAgICAgICAgT2JqZWN0LmtleXMoZGF0YSkuZm9yRWFjaCgoa2V5KSA9PiB7XG4gICAgICAgICAgICBib2R5LmFwcGVuZChrZXksIGRhdGFba2V5XSk7XG4gICAgICAgIH0pO1xuXG4gICAgICAgIGNvbnN0IE9BdXRoRW5kcG9pbnQgPSBgJHt0aGlzLmFwcE5hbWV9X29hdXRoL29hdXRoYDtcbiAgICAgICAgLy8gSW50ZXJuYWwgaGFuZGxlciBjYWxsIHRvIGdldCB0aGUgYWNjZXNzIHRva2VuIGFuZCBvdGhlciB2YWx1ZXNcbiAgICAgICAgYXhpb3NDYWxsV3JhcHBlcih7XG4gICAgICAgICAgICBlbmRwb2ludFVybDogT0F1dGhFbmRwb2ludCxcbiAgICAgICAgICAgIGJvZHksXG4gICAgICAgICAgICBjdXN0b21IZWFkZXJzOiB7ICdDb250ZW50LVR5cGUnOiAnYXBwbGljYXRpb24veC13d3ctZm9ybS11cmxlbmNvZGVkJyB9LFxuICAgICAgICAgICAgbWV0aG9kOiAncG9zdCcsXG4gICAgICAgICAgICBoYW5kbGVFcnJvcjogZmFsc2UsXG4gICAgICAgIH0pXG4gICAgICAgICAgICAudGhlbigocmVzcG9uc2UpID0+IHtcbiAgICAgICAgICAgICAgICBpZiAocmVzcG9uc2UuZGF0YS5lbnRyeVswXS5jb250ZW50LmVycm9yID09PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgYWNjZXNzVG9rZW4gPSByZXNwb25zZS5kYXRhLmVudHJ5WzBdLmNvbnRlbnQuYWNjZXNzX3Rva2VuO1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBpbnN0YW5jZVVybCA9IHJlc3BvbnNlLmRhdGEuZW50cnlbMF0uY29udGVudC5pbnN0YW5jZV91cmw7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IHJlZnJlc2hUb2tlbiA9IHJlc3BvbnNlLmRhdGEuZW50cnlbMF0uY29udGVudC5yZWZyZXNoX3Rva2VuO1xuXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuZGF0YWRpY3QuaW5zdGFuY2VfdXJsID0gaW5zdGFuY2VVcmw7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuZGF0YWRpY3QucmVmcmVzaF90b2tlbiA9IHJlZnJlc2hUb2tlbjtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5kYXRhZGljdC5hY2Nlc3NfdG9rZW4gPSBhY2Nlc3NUb2tlbjtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5pc1Jlc3BvbnNlID0gdHJ1ZTtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIHRoaXMuc2V0RXJyb3JNc2cocmVzcG9uc2UuZGF0YS5lbnRyeVswXS5jb250ZW50LmVycm9yKTtcbiAgICAgICAgICAgICAgICB0aGlzLmlzRXJyb3IgPSB0cnVlO1xuICAgICAgICAgICAgICAgIHRoaXMuaXNSZXNwb25zZSA9IHRydWU7XG4gICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICAgICAgfSlcbiAgICAgICAgICAgIC5jYXRjaCgoKSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5zZXRFcnJvck1zZyhFUlJPUl9PQ0NVUlJFRF9UUllfQUdBSU4pO1xuICAgICAgICAgICAgICAgIHRoaXMuaXNFcnJvciA9IHRydWU7XG4gICAgICAgICAgICAgICAgdGhpcy5pc1Jlc3BvbnNlID0gdHJ1ZTtcbiAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgICAgICB9KTtcbiAgICB9O1xuXG4gICAgLy8gRnVuY3Rpb24gdG8gd2FpdCBmb3IgYXV0aGVudGljYXRpb24gY2FsbCBiYWNrIGluIGNoaWxkIHdpbmRvdy5cbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgY29uc2lzdGVudC1yZXR1cm5cbiAgICB3YWl0Rm9yQXV0aGVudGljYXRpb24gPSBhc3luYyAoY291bnQpID0+IHtcbiAgICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLXBhcmFtLXJlYXNzaWduXG4gICAgICAgIGNvdW50IC09IDE7XG4gICAgICAgIC8vIENoZWNrIGlmIGNhbGxiYWNrIGZ1bmN0aW9uIGNhbGxlZCBpZiBjYWxsZWQgdGhlbiBleGl0IGZyb20gd2FpdFxuICAgICAgICBpZiAodGhpcy5pc0NhbGxlZCA9PT0gdHJ1ZSkge1xuICAgICAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICAgIH1cbiAgICAgICAgLy8gSWYgY2FsbGJhY2sgZnVuY3Rpb24gaXMgbm90IGNhbGxlZCBhbmQgY291bnQgaXMgbm90IHJlYWNoZWQgdG8gMTgwIHRoZW4gcmV0dXJuIGVycm9yIGZvciB0aW1lb3V0XG4gICAgICAgIGlmIChjb3VudCA9PT0gMCB8fCB0aGlzLmNoaWxkV2luLmNsb3NlZCkge1xuICAgICAgICAgICAgdGhpcy5pc0Vycm9yID0gdHJ1ZTtcbiAgICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgfVxuICAgICAgICAvLyBlbHNlIGNhbGwgc2xlZXAgYW5kIHJlY2FsbCB0aGUgc2FtZSBmdW5jdGlvblxuICAgICAgICBhd2FpdCB0aGlzLnNsZWVwKHRoaXMud2FpdEZvckF1dGhlbnRpY2F0aW9uLCBjb3VudCk7XG4gICAgfTtcblxuICAgIC8vIEZ1bmN0aW9uIHRvIHdhaXQgZm9yIGJhY2tlbmQgY2FsbCBnZXQgcmVzcG9uc2UgZnJvbSBiYWNrZW5kXG5cbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgY29uc2lzdGVudC1yZXR1cm5cbiAgICB3YWl0Rm9yQmFja2VuZFJlc3BvbnNlID0gYXN5bmMgKGNvdW50KSA9PiB7XG4gICAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby1wYXJhbS1yZWFzc2lnblxuICAgICAgICBjb3VudCArPSAxO1xuICAgICAgICAvLyBDaGVjayBpZiBjYWxsYmFjayBmdW5jdGlvbiBjYWxsZWQgaWYgY2FsbGVkIHRoZW4gZXhpdCBmcm9tIHdhaXRcbiAgICAgICAgaWYgKHRoaXMuaXNSZXNwb25zZSA9PT0gdHJ1ZSkge1xuICAgICAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICAgIH1cbiAgICAgICAgLy8gSWYgY2FsbGJhY2sgZnVuY3Rpb24gaXMgbm90IGNhbGxlZCBhbmQgY291bnQgaXMgbm90IHJlYWNoZWQgdG8gNjAgdGhlbiByZXR1cm4gZXJyb3IgZm9yIHRpbWVvdXRcbiAgICAgICAgaWYgKGNvdW50ID09PSA2MCkge1xuICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICB9XG4gICAgICAgIC8vIGVsc2UgY2FsbCBzbGVlcCBhbmQgcmVjYWxsIHRoZSBzYW1lIGZ1bmN0aW9uXG4gICAgICAgIGF3YWl0IHRoaXMuc2xlZXAodGhpcy53YWl0Rm9yQmFja2VuZFJlc3BvbnNlLCBjb3VudCk7XG4gICAgfTtcblxuICAgIC8qXG4gICAgICogVGhpcyBmdW5jdGlvbiBmaXJzdCBhZGQgc2xlZXAgZm9yIDEgc2VjcyBhbmQgdGhlIGNhbGwgdGhlIGZ1bmN0aW9uIHBhc3NlZCBpbiBhcmd1bWVudFxuICAgICAqL1xuICAgIHNsZWVwID0gYXN5bmMgKGZuLCAuLi5hcmdzKSA9PiB7XG4gICAgICAgIGF3YWl0IHRoaXMudGltZW91dCgxMDAwKTtcbiAgICAgICAgcmV0dXJuIGZuKC4uLmFyZ3MpO1xuICAgIH07XG5cbiAgICAvKlxuICAgICAqIFRoaXMgZnVuY3Rpb24gd2lsbCByZXNvbHZlIHRoZSBwcm9taXNlIG9uY2UgdGhlIHByb3ZpZGVkIHRpbWVvdXQgb2NjdXJzXG4gICAgICovXG4gICAgdGltZW91dCA9IChtcykgPT4ge1xuICAgICAgICByZXR1cm4gbmV3IFByb21pc2UoKHJlc29sdmUpID0+IHNldFRpbWVvdXQocmVzb2x2ZSwgbXMpKTtcbiAgICB9O1xuXG4gICAgcmVuZGVyR3JvdXBFbGVtZW50cyA9ICgpID0+IHtcbiAgICAgICAgbGV0IGVsID0gbnVsbDtcbiAgICAgICAgaWYgKHRoaXMuZ3JvdXBzICYmIHRoaXMuZ3JvdXBzLmxlbmd0aCkge1xuICAgICAgICAgICAgZWwgPSB0aGlzLmdyb3Vwcy5tYXAoKGdyb3VwKSA9PiB7XG4gICAgICAgICAgICAgICAgY29uc3QgY29sbHBzaWJsZUVsZW1lbnQgPVxuICAgICAgICAgICAgICAgICAgICBncm91cC5maWVsZHM/Lmxlbmd0aCAmJlxuICAgICAgICAgICAgICAgICAgICBncm91cC5maWVsZHMubWFwKChmaWVsZE5hbWUpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLmVudGl0aWVzLm1hcCgoZSkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChlLmZpZWxkID09PSBmaWVsZE5hbWUpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdGVtU3RhdGUgPSB0aGlzLnN0YXRlLmRhdGFbZS5maWVsZF07XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Q29udHJvbFdyYXBwZXJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBrZXk9e2UuZmllbGR9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdXRpbGl0eUZ1bmN0cz17dGhpcy51dGlsQ29udHJvbFdyYXBwZXJ9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWU9e3RlbVN0YXRlLnZhbHVlfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk9e3RlbVN0YXRlLmRpc3BsYXl9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZXJyb3I9e3RlbVN0YXRlLmVycm9yfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVudGl0eT17ZX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZXJ2aWNlTmFtZT17dGhpcy5wcm9wcy5zZXJ2aWNlTmFtZX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtb2RlPXt0aGlzLnByb3BzLm1vZGV9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGlzYWJsZWQ9e3RlbVN0YXRlLmRpc2FibGVkfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmtkb3duTWVzc2FnZT17dGVtU3RhdGUubWFya2Rvd25NZXNzYWdlfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRlcGVuZGVuY3lWYWx1ZXM9e3RlbVN0YXRlLmRlcGVuZGVuY3lWYWx1ZXMgfHwgbnVsbH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBudWxsO1xuICAgICAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgICAgIH0pO1xuXG4gICAgICAgICAgICAgICAgcmV0dXJuIGdyb3VwLm9wdGlvbnMuaXNFeHBhbmRhYmxlID8gKFxuICAgICAgICAgICAgICAgICAgICA8Q29sbGFwc2libGVQYW5lbFdyYXBwZXIgdGl0bGU9e2dyb3VwLmxhYmVsfT5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiY29sbGFwc2libGUtZWxlbWVudFwiPntjb2xscHNpYmxlRWxlbWVudH08L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgPC9Db2xsYXBzaWJsZVBhbmVsV3JhcHBlcj5cbiAgICAgICAgICAgICAgICApIDogKFxuICAgICAgICAgICAgICAgICAgICA8PlxuICAgICAgICAgICAgICAgICAgICAgICAgPEN1c3RvbUdyb3VwTGFiZWw+e2dyb3VwLmxhYmVsfTwvQ3VzdG9tR3JvdXBMYWJlbD5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXY+e2NvbGxwc2libGVFbGVtZW50fTwvZGl2PlxuICAgICAgICAgICAgICAgICAgICA8Lz5cbiAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIGVsO1xuICAgIH07XG5cbiAgICByZW5kZXIoKSB7XG4gICAgICAgIC8vIG9uUmVuZGVyIG1ldGhvZCBvZiBIb29rXG4gICAgICAgIGlmICh0aGlzLmZsYWcpIHtcbiAgICAgICAgICAgIGlmICh0aGlzLmhvb2tEZWZlcnJlZCkge1xuICAgICAgICAgICAgICAgIHRoaXMuaG9va0RlZmVycmVkLnRoZW4oKCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICBpZiAodHlwZW9mIHRoaXMuaG9vay5vblJlbmRlciA9PT0gJ2Z1bmN0aW9uJykge1xuICAgICAgICAgICAgICAgICAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmhvb2sub25SZW5kZXIoKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGVycikge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby1jb25zb2xlXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc29sZS5lcnJvcihlcnIpO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGlmICh0aGlzLnByb3BzLm1vZGUgPT09IE1PREVfRURJVCkge1xuICAgICAgICAgICAgICAgIGlmICh0aGlzLmhvb2tEZWZlcnJlZCkge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmhvb2tEZWZlcnJlZC50aGVuKCgpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmICh0eXBlb2YgdGhpcy5ob29rLm9uRWRpdExvYWQgPT09ICdmdW5jdGlvbicpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0cnkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmhvb2sub25FZGl0TG9hZCgpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGVycikge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tY29uc29sZVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zb2xlLmVycm9yKGVycik7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICB0aGlzLmZsYWcgPSBmYWxzZTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gKFxuICAgICAgICAgICAgPGRpdj5cbiAgICAgICAgICAgICAgICA8Zm9ybSBzdHlsZT17dGhpcy5wcm9wcy5tb2RlID09PSBNT0RFX0NPTkZJRyA/IHsgbWFyZ2luVG9wOiAnMjVweCcgfSA6IHt9fT5cbiAgICAgICAgICAgICAgICAgICAge3RoaXMuZ2VuZXJhdGVXYXJuaW5nTWVzc2FnZSgpfVxuICAgICAgICAgICAgICAgICAgICB7dGhpcy5nZW5lcmF0ZUVycm9yTWVzc2FnZSgpfVxuICAgICAgICAgICAgICAgICAgICB7dGhpcy5yZW5kZXJHcm91cEVsZW1lbnRzKCl9XG4gICAgICAgICAgICAgICAgICAgIHt0aGlzLmVudGl0aWVzLm1hcCgoZSkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgLy8gUmV0dXJuIG51bGwgaWYgd2UgbmVlZCB0byBzaG93IGVsZW1lbnQgaW4gYSBncm91cFxuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGUuaXNHcm91cGluZykge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBudWxsO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdGVtU3RhdGUgPSB0aGlzLnN0YXRlLmRhdGFbZS5maWVsZF07XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIGlmICh0ZW1TdGF0ZS5wbGFjZWhvbGRlcikge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby1wYXJhbS1yZWFzc2lnblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGUgPSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC4uLmUsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9wdGlvbnM6IHsgLi4uZS5vcHRpb25zLCBwbGFjZWhvbGRlcjogdGVtU3RhdGUucGxhY2Vob2xkZXIgfSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxDb250cm9sV3JhcHBlclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBrZXk9e2UuZmllbGR9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHV0aWxpdHlGdW5jdHM9e3RoaXMudXRpbENvbnRyb2xXcmFwcGVyfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZT17dGVtU3RhdGUudmFsdWV9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk9e3RlbVN0YXRlLmRpc3BsYXl9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVycm9yPXt0ZW1TdGF0ZS5lcnJvcn1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZW50aXR5PXtlfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZXJ2aWNlTmFtZT17dGhpcy5wcm9wcy5zZXJ2aWNlTmFtZX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbW9kZT17dGhpcy5wcm9wcy5tb2RlfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkaXNhYmxlZD17dGVtU3RhdGUuZGlzYWJsZWR9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmtkb3duTWVzc2FnZT17dGVtU3RhdGUubWFya2Rvd25NZXNzYWdlfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkZXBlbmRlbmN5VmFsdWVzPXt0ZW1TdGF0ZS5kZXBlbmRlbmN5VmFsdWVzIHx8IG51bGx9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgICAgICAgIH0pfVxuICAgICAgICAgICAgICAgIDwvZm9ybT5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICApO1xuICAgIH1cbn1cblxuQmFzZUZvcm1WaWV3LnByb3BUeXBlcyA9IHtcbiAgICBwYWdlOiBQcm9wVHlwZXMuc3RyaW5nLFxuICAgIHNlcnZpY2VOYW1lOiBQcm9wVHlwZXMuc3RyaW5nLFxuICAgIHN0YW56YU5hbWU6IFByb3BUeXBlcy5zdHJpbmcsXG4gICAgY3VycmVudFNlcnZpY2VTdGF0ZTogUHJvcFR5cGVzLm9iamVjdCxcbiAgICBtb2RlOiBQcm9wVHlwZXMuc3RyaW5nLFxuICAgIGhhbmRsZUZvcm1TdWJtaXQ6IFByb3BUeXBlcy5mdW5jLFxufTtcblxuZXhwb3J0IGRlZmF1bHQgQmFzZUZvcm1WaWV3O1xuIiwiZXhwb3J0IGNvbnN0IEVSUk9SX1JFUVVFU1RfVElNRU9VVF9UUllfQUdBSU4gPSAnUmVxdWVzdCB0aW1lIG91dCB3aGlsZSBhdXRoZW50aWNhdGluZy4gUGxlYXNlIHRyeSBhZ2Fpbi4nO1xuZXhwb3J0IGNvbnN0IEVSUk9SX1JFUVVFU1RfVElNRU9VVF9BQ0NFU1NfVE9LRU5fVFJZX0FHQUlOID0gJ1JlcXVlc3QgdGltZSBvdXQgd2hpbGUgZ2V0dGluZyBhY2Nlc3N0b2tlbi4gUGxlYXNlIHRyeSBhZ2Fpbi4nO1xuZXhwb3J0IGNvbnN0IEVSUk9SX09DQ1VSUkVEX1RSWV9BR0FJTiA9IFwiRXJyb3Igb2NjdXJyZWQgd2hpbGUgdHJ5aW5nIHRvIGF1dGhlbnRpY2F0ZS4gUGxlYXNlIHRyeSBBZ2Fpbi5cIjtcbmV4cG9ydCBjb25zdCBFUlJPUl9BVVRIX1BST0NFU1NfVEVSTUlOQVRFRF9UUllfQUdBSU4gPSBcIkF1dGhlbnRpY2F0aW9uIHByb2Nlc3MgaW50ZXJydXB0ZWQuIFBsZWFzZSB0cnkgYWdhaW4uXCI7XG5leHBvcnQgY29uc3QgRVJST1JfU1RBVEVfTUlTU0lOR19UUllfQUdBSU4gPSBcIlJlc3BvbnNlIG5vdCByZWNlaXZlZCBmcm9tIHRoZSBleHBlY3RlZCBzZW5kZXIuIFBsZWFzZSB0cnkgYWdhaW4uXCI7IiwiZXhwb3J0IGNvbnN0IFNUWUxFX1BBR0UgPSAncGFnZSc7XG5leHBvcnQgY29uc3QgU1RZTEVfTU9EQUwgPSAnbW9kYWwnO1xuIiwiaW1wb3J0IFJlYWN0LCB7IENvbXBvbmVudCB9IGZyb20gJ3JlYWN0JztcbmltcG9ydCBQcm9wVHlwZXMgZnJvbSAncHJvcC10eXBlcyc7XG5pbXBvcnQgeyBfIH0gZnJvbSAnQHNwbHVuay91aS11dGlscy9pMThuJztcblxuaW1wb3J0IHsgZ2V0VW5pZmllZENvbmZpZ3MgfSBmcm9tICcuLi8uLi91dGlsL3V0aWwnO1xuaW1wb3J0IHsgZ2V0QnVpbGREaXJQYXRoIH0gZnJvbSAnLi4vLi4vdXRpbC9zY3JpcHQnO1xuXG5jbGFzcyBDdXN0b21UYWJsZUNvbnRyb2wgZXh0ZW5kcyBDb21wb25lbnQge1xuICAgIGNvbnN0cnVjdG9yKHByb3BzKSB7XG4gICAgICAgIHN1cGVyKHByb3BzKTtcbiAgICAgICAgdGhpcy5zdGF0ZSA9IHtcbiAgICAgICAgICAgIGxvYWRpbmc6IHRydWUsXG4gICAgICAgIH07XG4gICAgICAgIHRoaXMuc2hvdWxkUmVuZGVyID0gdHJ1ZTtcbiAgICB9XG5cbiAgICBjb21wb25lbnREaWRNb3VudCgpIHtcbiAgICAgICAgY29uc3QgZ2xvYmFsQ29uZmlnID0gZ2V0VW5pZmllZENvbmZpZ3MoKTtcbiAgICAgICAgdGhpcy5zZXRTdGF0ZSh7IGxvYWRpbmc6IHRydWUgfSk7XG4gICAgICAgIHRoaXMubG9hZEN1c3RvbUNvbnRyb2woKS50aGVuKChDb250cm9sKSA9PiB7XG4gICAgICAgICAgICB0aGlzLmN1c3RvbUNvbnRyb2wgPSBuZXcgQ29udHJvbChcbiAgICAgICAgICAgICAgICBnbG9iYWxDb25maWcsXG4gICAgICAgICAgICAgICAgdGhpcy5wcm9wcy5zZXJ2aWNlTmFtZSxcbiAgICAgICAgICAgICAgICB0aGlzLmVsLFxuICAgICAgICAgICAgICAgIHRoaXMucHJvcHMucm93LFxuICAgICAgICAgICAgICAgIHRoaXMucHJvcHMuZmllbGRcbiAgICAgICAgICAgICk7XG4gICAgICAgICAgICB0aGlzLnNldFN0YXRlKHsgbG9hZGluZzogZmFsc2UgfSk7XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIHNob3VsZENvbXBvbmVudFVwZGF0ZShuZXh0UHJvcHMsIG5leHRTdGF0ZSkge1xuICAgICAgICBpZiAodGhpcy5wcm9wcy5yb3cgIT09IG5leHRQcm9wcy5yb3cpIHtcbiAgICAgICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgICB9XG4gICAgICAgIGlmICghbmV4dFN0YXRlLmxvYWRpbmcgJiYgdGhpcy5zaG91bGRSZW5kZXIpIHtcbiAgICAgICAgICAgIHRoaXMuc2hvdWxkUmVuZGVyID0gZmFsc2U7XG4gICAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuXG4gICAgbG9hZEN1c3RvbUNvbnRyb2wgPSAoKSA9PiB7XG4gICAgICAgIHJldHVybiBuZXcgUHJvbWlzZSgocmVzb2x2ZSkgPT4ge1xuICAgICAgICAgICAgaWYgKHRoaXMucHJvcHMudHlwZSA9PT0gJ2V4dGVybmFsJykge1xuICAgICAgICAgICAgICAgIGltcG9ydChcbiAgICAgICAgICAgICAgICAgICAgLyogd2VicGFja0lnbm9yZTogdHJ1ZSAqLyBgJHtnZXRCdWlsZERpclBhdGgoKX0vY3VzdG9tLyR7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnByb3BzLmZpbGVOYW1lXG4gICAgICAgICAgICAgICAgICAgIH0uanNgXG4gICAgICAgICAgICAgICAgKS50aGVuKChleHRlcm5hbCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBDb250cm9sID0gZXh0ZXJuYWwuZGVmYXVsdDtcbiAgICAgICAgICAgICAgICAgICAgcmVzb2x2ZShDb250cm9sKTtcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgY29uc3QgZ2xvYmFsQ29uZmlnID0gZ2V0VW5pZmllZENvbmZpZ3MoKTtcbiAgICAgICAgICAgICAgICBjb25zdCBhcHBOYW1lID0gZ2xvYmFsQ29uZmlnLm1ldGEubmFtZTtcbiAgICAgICAgICAgICAgICBfX25vbl93ZWJwYWNrX3JlcXVpcmVfXyhcbiAgICAgICAgICAgICAgICAgICAgW2BhcHAvJHthcHBOYW1lfS9qcy9idWlsZC9jdXN0b20vJHt0aGlzLnByb3BzLmZpbGVOYW1lfWBdLFxuICAgICAgICAgICAgICAgICAgICAoQ29udHJvbCkgPT4gcmVzb2x2ZShDb250cm9sKVxuICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgIH07XG5cbiAgICByZW5kZXIoKSB7XG4gICAgICAgIGlmICghdGhpcy5zdGF0ZS5sb2FkaW5nKSB7XG4gICAgICAgICAgICB0cnkge1xuICAgICAgICAgICAgICAgIHRoaXMuY3VzdG9tQ29udHJvbC5yZW5kZXIodGhpcy5wcm9wcy5yb3csIHRoaXMucHJvcHMuZmllbGQpO1xuICAgICAgICAgICAgfSBjYXRjaCAoZXJyKSB7XG4gICAgICAgICAgICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLWNvbnNvbGVcbiAgICAgICAgICAgICAgICBjb25zb2xlLmVycm9yKGVycik7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgIDw+XG4gICAgICAgICAgICAgICAge3RoaXMuc3RhdGUubG9hZGluZyAmJiBfKCdMb2FkaW5nLi4uJyl9XG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICA8c3BhbiAvLyBub3NlbWdyZXA6IHR5cGVzY3JpcHQucmVhY3Quc2VjdXJpdHkuYXVkaXQucmVhY3Qtbm8tcmVmcy5yZWFjdC1uby1yZWZzXG4gICAgICAgICAgICAgICAgICAgICAgICByZWY9eyhlbCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuZWwgPSBlbDtcbiAgICAgICAgICAgICAgICAgICAgICAgIH19XG4gICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT17eyB2aXNpYmlsaXR5OiB0aGlzLnN0YXRlLmxvYWRpbmcgPyAnaGlkZGVuJyA6ICd2aXNpYmxlJyB9fVxuICAgICAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIDwvPlxuICAgICAgICApO1xuICAgIH1cbn1cblxuQ3VzdG9tVGFibGVDb250cm9sLnByb3BUeXBlcyA9IHtcbiAgICBzZXJ2aWNlTmFtZTogUHJvcFR5cGVzLnN0cmluZy5pc1JlcXVpcmVkLFxuICAgIHJvdzogUHJvcFR5cGVzLm9iamVjdC5pc1JlcXVpcmVkLFxuICAgIGZpZWxkOiBQcm9wVHlwZXMuc3RyaW5nLFxuICAgIGZpbGVOYW1lOiBQcm9wVHlwZXMuc3RyaW5nLmlzUmVxdWlyZWQsXG4gICAgdHlwZTogUHJvcFR5cGVzLnN0cmluZyxcbn07XG5cbmV4cG9ydCBkZWZhdWx0IEN1c3RvbVRhYmxlQ29udHJvbDtcbiIsImltcG9ydCBSZWFjdCBmcm9tICdyZWFjdCc7XG5pbXBvcnQgREwgZnJvbSAnQHNwbHVuay9yZWFjdC11aS9EZWZpbml0aW9uTGlzdCc7XG5pbXBvcnQgVGFibGUgZnJvbSAnQHNwbHVuay9yZWFjdC11aS9UYWJsZSc7XG5pbXBvcnQgc3R5bGVkIGZyb20gJ3N0eWxlZC1jb21wb25lbnRzJztcbmltcG9ydCB7IF8gfSBmcm9tICdAc3BsdW5rL3VpLXV0aWxzL2kxOG4nO1xuXG5pbXBvcnQgQ3VzdG9tVGFibGVDb250cm9sIGZyb20gJy4vQ3VzdG9tVGFibGVDb250cm9sJztcbmltcG9ydCB7IGdldFVuaWZpZWRDb25maWdzIH0gZnJvbSAnLi4vLi4vdXRpbC91dGlsJztcblxuY29uc3QgVGFibGVDZWxsV3JhcHBlciA9IHN0eWxlZChUYWJsZS5DZWxsKWBcbiAgICBib3JkZXItdG9wOiBub25lO1xuYDtcblxuZnVuY3Rpb24gZ2V0RXhwYW5zaW9uUm93RGF0YShyb3csIG1vcmVJbmZvKSB7XG4gICAgY29uc3QgRGVmaW5pdGlvbkxpc3RzID0gW107XG5cbiAgICBpZiAobW9yZUluZm8/Lmxlbmd0aCkge1xuICAgICAgICBtb3JlSW5mby5mb3JFYWNoKCh2YWwpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IGxhYmVsID0gXyh2YWwubGFiZWwpO1xuICAgICAgICAgICAgLy8gcmVtb3ZlIGV4dHJhIHJvd3Mgd2hpY2ggYXJlIGVtcHR5IGluIG1vcmVJbmZvXG4gICAgICAgICAgICBpZiAodmFsLmZpZWxkIGluIHJvdyAmJiByb3dbdmFsLmZpZWxkXSAhPT0gbnVsbCAmJiByb3dbdmFsLmZpZWxkXSAhPT0gJycpIHtcbiAgICAgICAgICAgICAgICBEZWZpbml0aW9uTGlzdHMucHVzaCg8REwuVGVybSBrZXk9e3ZhbC5maWVsZH0+e2xhYmVsfTwvREwuVGVybT4pO1xuICAgICAgICAgICAgICAgIERlZmluaXRpb25MaXN0cy5wdXNoKFxuICAgICAgICAgICAgICAgICAgICA8REwuRGVzY3JpcHRpb24ga2V5PXtgJHt2YWwuZmllbGR9X2RlY3JgfT5cbiAgICAgICAgICAgICAgICAgICAgICAgIHt2YWwubWFwcGluZyAmJiB2YWwubWFwcGluZ1tyb3dbdmFsLmZpZWxkXV1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA/IHZhbC5tYXBwaW5nW3Jvd1t2YWwuZmllbGRdXVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogU3RyaW5nKHJvd1t2YWwuZmllbGRdKX1cbiAgICAgICAgICAgICAgICAgICAgPC9ETC5EZXNjcmlwdGlvbj5cbiAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICB9XG4gICAgcmV0dXJuIERlZmluaXRpb25MaXN0cztcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGdldEV4cGFuc2lvblJvdyhjb2xTcGFuLCByb3csIG1vcmVJbmZvKSB7XG4gICAgY29uc3QgeyBjdXN0b21Sb3cgfSA9IGdldFVuaWZpZWRDb25maWdzKCkucGFnZXMuaW5wdXRzLnRhYmxlO1xuXG4gICAgcmV0dXJuIChcbiAgICAgICAgPFRhYmxlLlJvdyBrZXk9e2Ake3Jvdy5pZH0tZXhwYW5zaW9uYH0+XG4gICAgICAgICAgICA8VGFibGVDZWxsV3JhcHBlciBjb2xTcGFuPXtjb2xTcGFufT5cbiAgICAgICAgICAgICAgICB7Y3VzdG9tUm93ICYmIGN1c3RvbVJvdy5zcmMgPyAoXG4gICAgICAgICAgICAgICAgICAgIDw+XG4gICAgICAgICAgICAgICAgICAgICAgICB7UmVhY3QuY3JlYXRlRWxlbWVudChDdXN0b21UYWJsZUNvbnRyb2wsIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZXJ2aWNlTmFtZTogcm93LnNlcnZpY2VOYW1lLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJvdyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBmaWxlTmFtZTogY3VzdG9tUm93LnNyYyxcbiAgICAgICAgICAgICAgICAgICAgICAgIH0pfVxuICAgICAgICAgICAgICAgICAgICA8Lz5cbiAgICAgICAgICAgICAgICApIDogKFxuICAgICAgICAgICAgICAgICAgICA8REwgdGVybVdpZHRoPXsyNTB9PntnZXRFeHBhbnNpb25Sb3dEYXRhKHJvdywgbW9yZUluZm8pfTwvREw+XG4gICAgICAgICAgICAgICAgKX1cbiAgICAgICAgICAgIDwvVGFibGVDZWxsV3JhcHBlcj5cbiAgICAgICAgPC9UYWJsZS5Sb3c+XG4gICAgKTtcbn1cbiIsImltcG9ydCBSZWFjdCwgeyB1c2VDYWxsYmFjayB9IGZyb20gJ3JlYWN0JztcbmltcG9ydCBQcm9wVHlwZXMgZnJvbSAncHJvcC10eXBlcyc7XG5cbmltcG9ydCBXYWl0U3Bpbm5lciBmcm9tICdAc3BsdW5rL3JlYWN0LXVpL1dhaXRTcGlubmVyJztcbmltcG9ydCBTd2l0Y2ggZnJvbSAnQHNwbHVuay9yZWFjdC11aS9Td2l0Y2gnO1xuaW1wb3J0IFRhYmxlIGZyb20gJ0BzcGx1bmsvcmVhY3QtdWkvVGFibGUnO1xuaW1wb3J0IEJ1dHRvbkdyb3VwIGZyb20gJ0BzcGx1bmsvcmVhY3QtdWkvQnV0dG9uR3JvdXAnO1xuaW1wb3J0IFRvb2x0aXAgZnJvbSAnQHNwbHVuay9yZWFjdC11aS9Ub29sdGlwJztcbmltcG9ydCBQZW5jaWwgZnJvbSAnQHNwbHVuay9yZWFjdC1pY29ucy9QZW5jaWwnO1xuaW1wb3J0IENsb25lIGZyb20gJ0BzcGx1bmsvcmVhY3QtaWNvbnMvQ2xvbmUnO1xuaW1wb3J0IFRyYXNoIGZyb20gJ0BzcGx1bmsvcmVhY3QtaWNvbnMvVHJhc2gnO1xuaW1wb3J0IHN0eWxlZCBmcm9tICdzdHlsZWQtY29tcG9uZW50cyc7XG5pbXBvcnQgeyBfIH0gZnJvbSAnQHNwbHVuay91aS11dGlscy9pMThuJztcblxuaW1wb3J0IEN1c3RvbVRhYmxlQ29udHJvbCBmcm9tICcuL0N1c3RvbVRhYmxlQ29udHJvbCc7XG5pbXBvcnQgeyBBY3Rpb25CdXR0b25Db21wb25lbnQgfSBmcm9tICcuL0N1c3RvbVRhYmxlU3R5bGUnO1xuXG5jb25zdCBUYWJsZUNlbGxXcmFwcGVyID0gc3R5bGVkKFRhYmxlLkNlbGwpYFxuICAgIHBhZGRpbmc6IDJweDtcbmA7XG5cbmNvbnN0IFN3aXRjaFdyYXBwZXIgPSBzdHlsZWQuZGl2YFxuICAgIGRpc3BsYXk6IGZsZXg7XG5cbiAgICAudG9nZ2xlX3N3aXRjaCB7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMTBweDtcbiAgICB9XG5gO1xuXG5mdW5jdGlvbiBDdXN0b21UYWJsZVJvdyhwcm9wcykge1xuICAgIGNvbnN0IHtcbiAgICAgICAgcm93LFxuICAgICAgICBjb2x1bW5zLFxuICAgICAgICBoZWFkZXJNYXBwaW5nLFxuICAgICAgICBoYW5kbGVUb2dnbGVBY3Rpb25DbGljayxcbiAgICAgICAgaGFuZGxlRWRpdEFjdGlvbkNsaWNrLFxuICAgICAgICBoYW5kbGVDbG9uZUFjdGlvbkNsaWNrLFxuICAgICAgICBoYW5kbGVEZWxldGVBY3Rpb25DbGljayxcbiAgICB9ID0gcHJvcHM7XG5cbiAgICBjb25zdCBnZXRDdXN0b21DZWxsID0gKGN1c3RvbVJvdywgaGVhZGVyKSA9PiB7XG4gICAgICAgIHJldHVybiBSZWFjdC5jcmVhdGVFbGVtZW50KEN1c3RvbVRhYmxlQ29udHJvbCwge1xuICAgICAgICAgICAgc2VydmljZU5hbWU6IHJvdy5zZXJ2aWNlTmFtZSxcbiAgICAgICAgICAgIGZpZWxkOiBoZWFkZXIuZmllbGQsXG4gICAgICAgICAgICByb3c6IGN1c3RvbVJvdyxcbiAgICAgICAgICAgIGZpbGVOYW1lOiBoZWFkZXIuY3VzdG9tQ2VsbC5zcmMsXG4gICAgICAgICAgICB0eXBlOiBoZWFkZXIuY3VzdG9tQ2VsbC50eXBlLFxuICAgICAgICB9KTtcbiAgICB9O1xuXG4gICAgY29uc3Qgcm93QWN0aW9uc1ByaW1hcnlCdXR0b24gPSB1c2VDYWxsYmFjayhcbiAgICAgICAgKHNlbGVjdGVkUm93KSA9PiB7XG4gICAgICAgICAgICByZXR1cm4gKFxuICAgICAgICAgICAgICAgIDxUYWJsZUNlbGxXcmFwcGVyIGRhdGEtY29sdW1uPVwiYWN0aW9uc1wiIGtleT17c2VsZWN0ZWRSb3cuaWR9PlxuICAgICAgICAgICAgICAgICAgICA8QnV0dG9uR3JvdXA+XG4gICAgICAgICAgICAgICAgICAgICAgICA8VG9vbHRpcCBjb250ZW50PXtfKCdFZGl0Jyl9PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxBY3Rpb25CdXR0b25Db21wb25lbnRcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYXBwZWFyYW5jZT1cImZsYXRcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpY29uPXs8UGVuY2lsIHNjcmVlblJlYWRlclRleHQ9e251bGx9IHNpemU9ezF9IC8+fVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvbkNsaWNrPXsoKSA9PiBoYW5kbGVFZGl0QWN0aW9uQ2xpY2soc2VsZWN0ZWRSb3cpfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzc05hbWU9XCJlZGl0QnRuXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9Ub29sdGlwPlxuICAgICAgICAgICAgICAgICAgICAgICAgPFRvb2x0aXAgY29udGVudD17XygnQ2xvbmUnKX0+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPEFjdGlvbkJ1dHRvbkNvbXBvbmVudFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhcHBlYXJhbmNlPVwiZmxhdFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGljb249ezxDbG9uZSBzY3JlZW5SZWFkZXJUZXh0PXtudWxsfSBzaXplPXsxfSAvPn1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb25DbGljaz17KCkgPT4gaGFuZGxlQ2xvbmVBY3Rpb25DbGljayhzZWxlY3RlZFJvdyl9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzTmFtZT1cImNsb25lQnRuXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9Ub29sdGlwPlxuICAgICAgICAgICAgICAgICAgICAgICAgPFRvb2x0aXAgY29udGVudD17XygnRGVsZXRlJyl9PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxBY3Rpb25CdXR0b25Db21wb25lbnRcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYXBwZWFyYW5jZT1cImRlc3RydWN0aXZlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWNvbj17PFRyYXNoIHNjcmVlblJlYWRlclRleHQ9e251bGx9IHNpemU9ezF9IC8+fVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvbkNsaWNrPXsoKSA9PiBoYW5kbGVEZWxldGVBY3Rpb25DbGljayhzZWxlY3RlZFJvdyl9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzTmFtZT1cImRlbGV0ZUJ0blwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvVG9vbHRpcD5cbiAgICAgICAgICAgICAgICAgICAgPC9CdXR0b25Hcm91cD5cbiAgICAgICAgICAgICAgICA8L1RhYmxlQ2VsbFdyYXBwZXI+XG4gICAgICAgICAgICApO1xuICAgICAgICB9LFxuICAgICAgICBbaGFuZGxlRWRpdEFjdGlvbkNsaWNrLCBoYW5kbGVDbG9uZUFjdGlvbkNsaWNrLCBoYW5kbGVEZWxldGVBY3Rpb25DbGlja11cbiAgICApO1xuXG4gICAgbGV0IHN0YXR1c0NvbnRlbnQgPSAnRW5hYmxlZCc7XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLXVuZGVyc2NvcmUtZGFuZ2xlXG4gICAgaWYgKHJvdy5fX3RvZ2dsZVNob3dTcGlubmVyKSB7XG4gICAgICAgIHN0YXR1c0NvbnRlbnQgPSA8V2FpdFNwaW5uZXIgLz47XG4gICAgfSBlbHNlIGlmIChyb3cuZGlzYWJsZWQpIHtcbiAgICAgICAgc3RhdHVzQ29udGVudCA9XG4gICAgICAgICAgICBoZWFkZXJNYXBwaW5nPy5kaXNhYmxlZCAmJiBoZWFkZXJNYXBwaW5nLmRpc2FibGVkW3Jvdy5kaXNhYmxlZF1cbiAgICAgICAgICAgICAgICA/IGhlYWRlck1hcHBpbmcuZGlzYWJsZWRbcm93LmRpc2FibGVkXVxuICAgICAgICAgICAgICAgIDogJ0Rpc2FibGVkJztcbiAgICB9XG5cbiAgICAvLyBGaXggc2V0IG9mIHByb3BzIGFyZSBwYXNzZWQgdG8gVGFibGUuUm93IGVsZW1lbnRcbiAgICByZXR1cm4gKFxuICAgICAgICA8PlxuICAgICAgICAgICAgPFRhYmxlLlJvdyAvLyBub3NlbWdyZXA6IHR5cGVzY3JpcHQucmVhY3Quc2VjdXJpdHkuYXVkaXQucmVhY3QtcHJvcHMtaW5qZWN0aW9uLnJlYWN0LXByb3BzLWluamVjdGlvbiwgdHlwZXNjcmlwdC5yZWFjdC5iZXN0LXByYWN0aWNlLnJlYWN0LXByb3BzLXNwcmVhZGluZy5yZWFjdC1wcm9wcy1zcHJlYWRpbmdcbiAgICAgICAgICAgICAgICBrZXk9e3Jvdy5pZH1cbiAgICAgICAgICAgICAgICB7Li4ucHJvcHN9XG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAge2NvbHVtbnMgJiZcbiAgICAgICAgICAgICAgICAgICAgY29sdW1ucy5sZW5ndGggJiZcbiAgICAgICAgICAgICAgICAgICAgY29sdW1ucy5tYXAoKGhlYWRlcikgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgbGV0IGNlbGxIVE1MID0gJyc7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChoZWFkZXIuY3VzdG9tQ2VsbCAmJiBoZWFkZXIuY3VzdG9tQ2VsbC5zcmMpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjZWxsSFRNTCA9IChcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPFRhYmxlLkNlbGwgZGF0YS1jb2x1bW49e2hlYWRlci5maWVsZH0ga2V5PXtoZWFkZXIuZmllbGR9PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge2dldEN1c3RvbUNlbGwocm93LCBoZWFkZXIpfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L1RhYmxlLkNlbGw+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH0gZWxzZSBpZiAoaGVhZGVyLmZpZWxkID09PSAnZGlzYWJsZWQnKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY2VsbEhUTUwgPSAoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxUYWJsZS5DZWxsIGRhdGEtY29sdW1uPXtoZWFkZXIuZmllbGR9IGtleT17aGVhZGVyLmZpZWxkfT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxTd2l0Y2hXcmFwcGVyPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxTd2l0Y2hcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAga2V5PXtyb3cubmFtZX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWU9e3Jvdy5kaXNhYmxlZH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb25DbGljaz17KCkgPT4gaGFuZGxlVG9nZ2xlQWN0aW9uQ2xpY2socm93KX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2VsZWN0ZWQ9eyFyb3cuZGlzYWJsZWR9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby11bmRlcnNjb3JlLWRhbmdsZVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkaXNhYmxlZD17cm93Ll9fdG9nZ2xlU2hvd1NwaW5uZXJ9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFwcGVhcmFuY2U9XCJ0b2dnbGVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzc05hbWU9XCJ0b2dnbGVfc3dpdGNoXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2VsZWN0ZWRMYWJlbD17XyhcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhlYWRlck1hcHBpbmc/LmRpc2FibGVkPy5mYWxzZVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID8gaGVhZGVyTWFwcGluZy5kaXNhYmxlZC5mYWxzZVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogJ0VuYWJsZWQnXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICl9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVuc2VsZWN0ZWRMYWJlbD17XyhcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhlYWRlck1hcHBpbmc/LmRpc2FibGVkPy50cnVlXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPyBoZWFkZXJNYXBwaW5nLmRpc2FibGVkLnRydWVcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6ICdEaXNhYmxlZCdcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGRhdGEtdGVzdD1cInN0YXR1c1wiPntzdGF0dXNDb250ZW50fTwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvU3dpdGNoV3JhcHBlcj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9UYWJsZS5DZWxsPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgICAgICAgICAgICB9IGVsc2UgaWYgKGhlYWRlci5maWVsZCA9PT0gJ2FjdGlvbnMnKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY2VsbEhUTUwgPSByb3dBY3Rpb25zUHJpbWFyeUJ1dHRvbihyb3cpO1xuICAgICAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjZWxsSFRNTCA9IChcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPFRhYmxlLkNlbGwgZGF0YS1jb2x1bW49e2hlYWRlci5maWVsZH0ga2V5PXtoZWFkZXIuZmllbGR9PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge2hlYWRlck1hcHBpbmdbaGVhZGVyLmZpZWxkXSAmJlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhlYWRlck1hcHBpbmdbaGVhZGVyLmZpZWxkXSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByb3dbaGVhZGVyLmZpZWxkXVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID8gaGVhZGVyTWFwcGluZ1toZWFkZXIuZmllbGRdW3Jvd1toZWFkZXIuZmllbGRdXVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogcm93W2hlYWRlci5maWVsZF19XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvVGFibGUuQ2VsbD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGNlbGxIVE1MO1xuICAgICAgICAgICAgICAgICAgICB9KX1cbiAgICAgICAgICAgIDwvVGFibGUuUm93PlxuICAgICAgICA8Lz5cbiAgICApO1xufVxuXG5DdXN0b21UYWJsZVJvdy5wcm9wVHlwZXMgPSB7XG4gICAgcm93OiBQcm9wVHlwZXMuYW55LFxuICAgIGNvbHVtbnM6IFByb3BUeXBlcy5hcnJheSxcbiAgICBoZWFkZXJNYXBwaW5nOiBQcm9wVHlwZXMub2JqZWN0LFxuICAgIGhhbmRsZVRvZ2dsZUFjdGlvbkNsaWNrOiBQcm9wVHlwZXMuZnVuYyxcbiAgICBoYW5kbGVFZGl0QWN0aW9uQ2xpY2s6IFByb3BUeXBlcy5mdW5jLFxuICAgIGhhbmRsZUNsb25lQWN0aW9uQ2xpY2s6IFByb3BUeXBlcy5mdW5jLFxuICAgIGhhbmRsZURlbGV0ZUFjdGlvbkNsaWNrOiBQcm9wVHlwZXMuZnVuYyxcbn07XG5cbmV4cG9ydCBkZWZhdWx0IFJlYWN0Lm1lbW8oQ3VzdG9tVGFibGVSb3cpO1xuIiwiaW1wb3J0IFJlYWN0LCB7IENvbXBvbmVudCB9IGZyb20gJ3JlYWN0JztcbmltcG9ydCBQcm9wVHlwZXMgZnJvbSAncHJvcC10eXBlcyc7XG5pbXBvcnQgQnV0dG9uIGZyb20gJ0BzcGx1bmsvcmVhY3QtdWkvQnV0dG9uJztcbmltcG9ydCBNb2RhbCBmcm9tICdAc3BsdW5rL3JlYWN0LXVpL01vZGFsJztcbmltcG9ydCBNZXNzYWdlIGZyb20gJ0BzcGx1bmsvcmVhY3QtdWkvTWVzc2FnZSc7XG5pbXBvcnQgc3R5bGVkIGZyb20gJ3N0eWxlZC1jb21wb25lbnRzJztcbmltcG9ydCBXYWl0U3Bpbm5lciBmcm9tICdAc3BsdW5rL3JlYWN0LXVpL1dhaXRTcGlubmVyJztcbmltcG9ydCB1cGRhdGUgZnJvbSAnaW1tdXRhYmlsaXR5LWhlbHBlcic7XG5pbXBvcnQgeyBfIH0gZnJvbSAnQHNwbHVuay91aS11dGlscy9pMThuJztcbmltcG9ydCB7IGdlbmVyYXRlVG9hc3QgfSBmcm9tICcuLi91dGlsL3V0aWwnO1xuXG5pbXBvcnQgeyBheGlvc0NhbGxXcmFwcGVyIH0gZnJvbSAnLi4vdXRpbC9heGlvc0NhbGxXcmFwcGVyJztcbmltcG9ydCBUYWJsZUNvbnRleHQgZnJvbSAnLi4vY29udGV4dC9UYWJsZUNvbnRleHQnO1xuaW1wb3J0IHsgcGFyc2VFcnJvck1zZywgZ2V0Rm9ybWF0dGVkTWVzc2FnZSB9IGZyb20gJy4uL3V0aWwvbWVzc2FnZVV0aWwnO1xuaW1wb3J0IHsgUEFHRV9JTlBVVCB9IGZyb20gJy4uL2NvbnN0YW50cy9wYWdlcyc7XG5cbmNvbnN0IE1vZGFsV3JhcHBlciA9IHN0eWxlZChNb2RhbClgXG4gICAgd2lkdGg6IDgwMHB4O1xuYDtcblxuY2xhc3MgRGVsZXRlTW9kYWwgZXh0ZW5kcyBDb21wb25lbnQge1xuICAgIHN0YXRpYyBjb250ZXh0VHlwZSA9IFRhYmxlQ29udGV4dDtcblxuICAgIGNvbnN0cnVjdG9yKHByb3BzKSB7XG4gICAgICAgIHN1cGVyKHByb3BzKTtcbiAgICAgICAgdGhpcy5zdGF0ZSA9IHsgaXNEZWxldGluZzogZmFsc2UsIEVycm9yTXNnOiAnJyB9O1xuICAgIH1cblxuICAgIGhhbmRsZVJlcXVlc3RDbG9zZSA9ICgpID0+IHtcbiAgICAgICAgLy8gc2V0IEVycm9yTXNnIHRvIGVtcHR5IHN0cmluZyBvbiBjbG9zZSBvciBjYW5jZWxcbiAgICAgICAgLy8gc28gdGhhdCBvbiBhZ2FpbiBvcGVuIG9mIG1vZGFsIGl0IGRvZXMgbm90IHNob3cgdGhlIHNhbWUgRXJyb3JNc2dcbiAgICAgICAgdGhpcy5zdGF0ZS5FcnJvck1zZyA9ICcnO1xuICAgICAgICB0aGlzLnByb3BzLmhhbmRsZVJlcXVlc3RDbG9zZSgpO1xuICAgIH07XG5cbiAgICBoYW5kbGVEZWxldGUgPSAoKSA9PiB7XG4gICAgICAgIHRoaXMuc2V0U3RhdGUoXG4gICAgICAgICAgICAocHJldlN0YXRlKSA9PiB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHsgLi4ucHJldlN0YXRlLCBpc0RlbGV0aW5nOiB0cnVlLCBFcnJvck1zZzogJycgfTtcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAoKSA9PiB7XG4gICAgICAgICAgICAgICAgYXhpb3NDYWxsV3JhcHBlcih7XG4gICAgICAgICAgICAgICAgICAgIHNlcnZpY2VOYW1lOiBgJHt0aGlzLnByb3BzLnNlcnZpY2VOYW1lfS8ke2VuY29kZVVSSUNvbXBvbmVudChcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMucHJvcHMuc3RhbnphTmFtZVxuICAgICAgICAgICAgICAgICAgICApfWAsXG4gICAgICAgICAgICAgICAgICAgIGN1c3RvbUhlYWRlcnM6IHsgJ0NvbnRlbnQtVHlwZSc6ICdhcHBsaWNhdGlvbi94LXd3dy1mb3JtLXVybGVuY29kZWQnIH0sXG4gICAgICAgICAgICAgICAgICAgIG1ldGhvZDogJ2RlbGV0ZScsXG4gICAgICAgICAgICAgICAgICAgIGhhbmRsZUVycm9yOiBmYWxzZSxcbiAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgICAgICAgICAuY2F0Y2goKGVycikgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgZXJyb3JTdWJtaXRNc2cgPSBwYXJzZUVycm9yTXNnKGVycik7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnNldFN0YXRlKHsgRXJyb3JNc2c6IGVycm9yU3VibWl0TXNnLCBpc0RlbGV0aW5nOiBmYWxzZSB9KTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBQcm9taXNlLnJlamVjdChlcnIpO1xuICAgICAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgICAgICAgICAudGhlbigoKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmNvbnRleHQuc2V0Um93RGF0YShcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB1cGRhdGUodGhpcy5jb250ZXh0LnJvd0RhdGEsIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3RoaXMucHJvcHMuc2VydmljZU5hbWVdOiB7ICR1bnNldDogW3RoaXMucHJvcHMuc3RhbnphTmFtZV0gfSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuc2V0U3RhdGUoeyBpc0RlbGV0aW5nOiBmYWxzZSB9KTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuaGFuZGxlUmVxdWVzdENsb3NlKCk7XG4gICAgICAgICAgICAgICAgICAgICAgICBnZW5lcmF0ZVRvYXN0KGBEZWxldGVkIFwiJHt0aGlzLnByb3BzLnN0YW56YU5hbWV9XCJgLCAnc3VjY2VzcycpO1xuICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgKTtcbiAgICB9O1xuXG4gICAgLy8gRGlzcGxheSBlcnJvciBtZXNzYWdlXG4gICAgZ2VuZXJhdGVFcnJvck1lc3NhZ2UgPSAoKSA9PiB7XG4gICAgICAgIGlmICh0aGlzLnN0YXRlLkVycm9yTXNnKSB7XG4gICAgICAgICAgICByZXR1cm4gKFxuICAgICAgICAgICAgICAgIDxkaXY+XG4gICAgICAgICAgICAgICAgICAgIDxNZXNzYWdlIGFwcGVhcmFuY2U9XCJmaWxsXCIgdHlwZT1cImVycm9yXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICB7dGhpcy5zdGF0ZS5FcnJvck1zZ31cbiAgICAgICAgICAgICAgICAgICAgPC9NZXNzYWdlPlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgKTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gbnVsbDtcbiAgICB9O1xuXG4gICAgcmVuZGVyKCkge1xuICAgICAgICBsZXQgZGVsZXRlTXNnO1xuICAgICAgICBpZiAodGhpcy5wcm9wcy5wYWdlID09PSBQQUdFX0lOUFVUKSB7XG4gICAgICAgICAgICBkZWxldGVNc2cgPSBnZXRGb3JtYXR0ZWRNZXNzYWdlKDEwMywgW3RoaXMucHJvcHMuc3RhbnphTmFtZV0pO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgZGVsZXRlTXNnID0gZ2V0Rm9ybWF0dGVkTWVzc2FnZSgxMDIsIFt0aGlzLnByb3BzLnN0YW56YU5hbWVdKTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gKFxuICAgICAgICAgICAgPE1vZGFsV3JhcHBlciBvcGVuPXt0aGlzLnByb3BzLm9wZW59PlxuICAgICAgICAgICAgICAgIDxNb2RhbC5IZWFkZXJcbiAgICAgICAgICAgICAgICAgICAgdGl0bGU9e2dldEZvcm1hdHRlZE1lc3NhZ2UoMTAxKX1cbiAgICAgICAgICAgICAgICAgICAgb25SZXF1ZXN0Q2xvc2U9e3RoaXMuaGFuZGxlUmVxdWVzdENsb3NlfVxuICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgPE1vZGFsLkJvZHkgY2xhc3NOYW1lPVwiZGVsZXRlUHJvbXB0XCI+XG4gICAgICAgICAgICAgICAgICAgIHt0aGlzLmdlbmVyYXRlRXJyb3JNZXNzYWdlKCl9XG4gICAgICAgICAgICAgICAgICAgIDxwPntkZWxldGVNc2d9PC9wPlxuICAgICAgICAgICAgICAgIDwvTW9kYWwuQm9keT5cbiAgICAgICAgICAgICAgICA8TW9kYWwuRm9vdGVyPlxuICAgICAgICAgICAgICAgICAgICA8QnV0dG9uXG4gICAgICAgICAgICAgICAgICAgICAgICBhcHBlYXJhbmNlPVwic2Vjb25kYXJ5XCJcbiAgICAgICAgICAgICAgICAgICAgICAgIG9uQ2xpY2s9e3RoaXMuaGFuZGxlUmVxdWVzdENsb3NlfVxuICAgICAgICAgICAgICAgICAgICAgICAgbGFiZWw9e18oJ0NhbmNlbCcpfVxuICAgICAgICAgICAgICAgICAgICAgICAgZGlzYWJsZWQ9e3RoaXMuc3RhdGUuaXNEZWxldGluZ31cbiAgICAgICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICAgICAgPEJ1dHRvblxuICAgICAgICAgICAgICAgICAgICAgICAgYXBwZWFyYW5jZT1cInByaW1hcnlcIlxuICAgICAgICAgICAgICAgICAgICAgICAgbGFiZWw9e3RoaXMuc3RhdGUuaXNEZWxldGluZyA/IDxXYWl0U3Bpbm5lciAvPiA6IF8oJ0RlbGV0ZScpfVxuICAgICAgICAgICAgICAgICAgICAgICAgb25DbGljaz17dGhpcy5oYW5kbGVEZWxldGV9XG4gICAgICAgICAgICAgICAgICAgICAgICBkaXNhYmxlZD17dGhpcy5zdGF0ZS5pc0RlbGV0aW5nfVxuICAgICAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgIDwvTW9kYWwuRm9vdGVyPlxuICAgICAgICAgICAgPC9Nb2RhbFdyYXBwZXI+XG4gICAgICAgICk7XG4gICAgfVxufVxuXG5EZWxldGVNb2RhbC5wcm9wVHlwZXMgPSB7XG4gICAgcGFnZTogUHJvcFR5cGVzLnN0cmluZy5pc1JlcXVpcmVkLFxuICAgIG9wZW46IFByb3BUeXBlcy5ib29sLFxuICAgIGhhbmRsZVJlcXVlc3RDbG9zZTogUHJvcFR5cGVzLmZ1bmMsXG4gICAgc2VydmljZU5hbWU6IFByb3BUeXBlcy5zdHJpbmcsXG4gICAgc3RhbnphTmFtZTogUHJvcFR5cGVzLnN0cmluZyxcbn07XG5cbmV4cG9ydCBkZWZhdWx0IERlbGV0ZU1vZGFsO1xuIiwiaW1wb3J0IFJlYWN0LCB7IHVzZUNhbGxiYWNrLCB1c2VFZmZlY3QsIG1lbW8sIHVzZVN0YXRlLCB1c2VDb250ZXh0IH0gZnJvbSAncmVhY3QnO1xuaW1wb3J0IFByb3BUeXBlcyBmcm9tICdwcm9wLXR5cGVzJztcblxuaW1wb3J0IFRhYmxlIGZyb20gJ0BzcGx1bmsvcmVhY3QtdWkvVGFibGUnO1xuaW1wb3J0IHsgXyB9IGZyb20gJ0BzcGx1bmsvdWktdXRpbHMvaTE4bic7XG5cbmltcG9ydCB1c2VRdWVyeSBmcm9tICcuLi8uLi9ob29rcy91c2VRdWVyeSc7XG5pbXBvcnQgeyBNT0RFX0NMT05FLCBNT0RFX0VESVQgfSBmcm9tICcuLi8uLi9jb25zdGFudHMvbW9kZXMnO1xuaW1wb3J0IHsgUEFHRV9JTlBVVCB9IGZyb20gJy4uLy4uL2NvbnN0YW50cy9wYWdlcyc7XG5pbXBvcnQgeyBnZXRVbmlmaWVkQ29uZmlncyB9IGZyb20gJy4uLy4uL3V0aWwvdXRpbCc7XG5pbXBvcnQgeyBnZXRFeHBhbnNpb25Sb3cgfSBmcm9tICcuL1RhYmxlRXhwYW5zaW9uUm93JztcbmltcG9ydCB7IFNUWUxFX01PREFMLCBTVFlMRV9QQUdFIH0gZnJvbSAnLi4vLi4vY29uc3RhbnRzL2RpYWxvZ1N0eWxlcyc7XG5pbXBvcnQgQ3VzdG9tVGFibGVSb3cgZnJvbSAnLi9DdXN0b21UYWJsZVJvdyc7XG5pbXBvcnQgRW50aXR5TW9kYWwgZnJvbSAnLi4vRW50aXR5TW9kYWwnO1xuaW1wb3J0IERlbGV0ZU1vZGFsIGZyb20gJy4uL0RlbGV0ZU1vZGFsJztcbmltcG9ydCBUYWJsZUNvbnRleHQgZnJvbSAnLi4vLi4vY29udGV4dC9UYWJsZUNvbnRleHQnO1xuaW1wb3J0IHsgTm9SZWNvcmRzRGl2IH0gZnJvbSAnLi9DdXN0b21UYWJsZVN0eWxlJztcblxuZnVuY3Rpb24gQ3VzdG9tVGFibGUoe1xuICAgIHBhZ2UsXG4gICAgc2VydmljZU5hbWUsXG4gICAgZGF0YSxcbiAgICBoYW5kbGVUb2dnbGVBY3Rpb25DbGljayxcbiAgICBoYW5kbGVPcGVuUGFnZVN0eWxlRGlhbG9nLFxuICAgIGhhbmRsZVNvcnQsXG4gICAgc29ydERpcixcbiAgICBzb3J0S2V5LFxufSkge1xuICAgIGNvbnN0IHVuaWZpZWRDb25maWdzID0gZ2V0VW5pZmllZENvbmZpZ3MoKTtcbiAgICBjb25zdCBbZW50aXR5TW9kYWwsIHNldEVudGl0eU1vZGFsXSA9IHVzZVN0YXRlKHsgb3BlbjogZmFsc2UgfSk7XG4gICAgY29uc3QgW2RlbGV0ZU1vZGFsLCBzZXREZWxldGVNb2RhbF0gPSB1c2VTdGF0ZSh7IG9wZW46IGZhbHNlIH0pO1xuXG4gICAgY29uc3QgeyByb3dEYXRhIH0gPSB1c2VDb250ZXh0KFRhYmxlQ29udGV4dCk7XG5cbiAgICBjb25zdCB0YWJsZUNvbmZpZyA9XG4gICAgICAgIHBhZ2UgPT09IFBBR0VfSU5QVVRcbiAgICAgICAgICAgID8gdW5pZmllZENvbmZpZ3MucGFnZXMuaW5wdXRzLnRhYmxlXG4gICAgICAgICAgICA6IHVuaWZpZWRDb25maWdzLnBhZ2VzLmNvbmZpZ3VyYXRpb24udGFicy5maWx0ZXIoKHgpID0+IHgubmFtZSA9PT0gc2VydmljZU5hbWUpWzBdXG4gICAgICAgICAgICAgICAgICAudGFibGU7XG4gICAgY29uc3QgeyBtb3JlSW5mbywgaGVhZGVyIH0gPSB0YWJsZUNvbmZpZztcbiAgICBjb25zdCBoZWFkZXJzID0gdGFibGVDb25maWcuaGVhZGVyO1xuXG4gICAgY29uc3QgaGVhZGVyTWFwcGluZyA9IHt9O1xuICAgIGhlYWRlci5mb3JFYWNoKCh4KSA9PiB7XG4gICAgICAgIGhlYWRlck1hcHBpbmdbeC5maWVsZF0gPSB4Lm1hcHBpbmc7XG4gICAgfSk7XG5cbiAgICBjb25zdCBzZXJ2aWNlVG9TdHlsZU1hcCA9IHt9O1xuICAgIGlmIChwYWdlID09PSBQQUdFX0lOUFVUKSB7XG4gICAgICAgIHVuaWZpZWRDb25maWdzLnBhZ2VzLmlucHV0cy5zZXJ2aWNlcy5mb3JFYWNoKCh4KSA9PiB7XG4gICAgICAgICAgICBzZXJ2aWNlVG9TdHlsZU1hcFt4Lm5hbWVdID0geC5zdHlsZSA9PT0gU1RZTEVfUEFHRSA/IFNUWUxFX1BBR0UgOiBTVFlMRV9NT0RBTDtcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgY29uc3QgcXVlcnkgPSB1c2VRdWVyeSgpO1xuXG4gICAgLy8gUnVuIG9ubHkgb25jZSB3aGVuIGNvbXBvbmVudCBpcyBtb3VudGVkIHRvIGxvYWQgY29tcG9uZW50IGJhc2VkIG9uIGluaXRpYWwgcXVlcnkgcGFyYW1zXG4gICAgLy8gYW5kIHdoZW4gcXVlcnkgcGFyYW1zIGFyZSB1cGRhdGVkXG4gICAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICAgICAgLy8gT25seSBydW4gd2hlbiB0YWIgbWF0Y2hlcyBzZXJ2aWNlTmFtZSBvciBpZiBpbiBpbnB1dCBwYWdlIHdoZXJlIHNlcnZpY2VOYW1lIGlzIHVuZGVmaW5lZFxuICAgICAgICBpZiAocXVlcnkgJiYgKHF1ZXJ5LmdldCgndGFiJykgPT09IHNlcnZpY2VOYW1lIHx8IHR5cGVvZiBzZXJ2aWNlTmFtZSA9PT0gJ3VuZGVmaW5lZCcpKSB7XG4gICAgICAgICAgICAvLyBPcGVuIG1vZGFsIHdoZW4gcmVjb3JkIGlzIGF2YWlsYWJsZSBpbiBxdWVyeSBwYXJhbXMgYW5kIG1vZGFsIGlzIG5vdCBvcGVuXG4gICAgICAgICAgICBpZiAocXVlcnkuZ2V0KCdyZWNvcmQnKSAmJiAhZW50aXR5TW9kYWwub3Blbikge1xuICAgICAgICAgICAgICAgIGNvbnN0IHNlcnZpY2VLZXkgPSBPYmplY3Qua2V5cyhyb3dEYXRhKS5maW5kKFxuICAgICAgICAgICAgICAgICAgICAoeCkgPT4gdHlwZW9mIHJvd0RhdGFbeF1bcXVlcnkuZ2V0KCdyZWNvcmQnKV0gIT09ICd1bmRlZmluZWQnXG4gICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICBpZiAoc2VydmljZUtleSkge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCByb3cgPSByb3dEYXRhW3NlcnZpY2VLZXldW3F1ZXJ5LmdldCgncmVjb3JkJyldO1xuICAgICAgICAgICAgICAgICAgICBzZXRFbnRpdHlNb2RhbCh7XG4gICAgICAgICAgICAgICAgICAgICAgICAuLi5lbnRpdHlNb2RhbCxcbiAgICAgICAgICAgICAgICAgICAgICAgIG9wZW46IHRydWUsXG4gICAgICAgICAgICAgICAgICAgICAgICBzZXJ2aWNlTmFtZTogcm93LnNlcnZpY2VOYW1lLFxuICAgICAgICAgICAgICAgICAgICAgICAgc3RhbnphTmFtZTogcm93Lm5hbWUsXG4gICAgICAgICAgICAgICAgICAgICAgICBtb2RlOiBNT0RFX0VESVQsXG4gICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0gZWxzZSBpZiAoIXF1ZXJ5LmdldCgncmVjb3JkJykgJiYgZW50aXR5TW9kYWwub3Blbikge1xuICAgICAgICAgICAgICAgIC8vIENsb3NlIG1vZGFsIGlmIHJlY29yZCBxdWVyeSBwYXJhbSBpcyBub3QgYXZhaWxhYmxlIGFuZCBtb2RhbCBpcyBvcGVuXG4gICAgICAgICAgICAgICAgLy8gTk9URTogVGhpcyBzaG91bGQgb25seSBiZSBleGVjdXRlZCBpbiBjYXNlIG9mIE1PREVfRURJVCB3aGljaCBpcyBoYW5kbGVkIGJ5XG4gICAgICAgICAgICAgICAgLy8gdXNlRWZmZWN0IGRlcGVuZGVuY3kgd2hpY2ggd2lsbCBvbmx5IGJlIGNoYW5nZWQgaW4gY2FzZSBvZiBlZGl0aW5nIGVudGl0eVxuICAgICAgICAgICAgICAgIHNldEVudGl0eU1vZGFsKHsgLi4uZW50aXR5TW9kYWwsIG9wZW46IGZhbHNlIH0pO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSByZWFjdC1ob29rcy9leGhhdXN0aXZlLWRlcHNcbiAgICB9LCBbXSk7XG5cbiAgICBjb25zdCBoYW5kbGVFbnRpdHlDbG9zZSA9ICgpID0+IHtcbiAgICAgICAgc2V0RW50aXR5TW9kYWwoeyAuLi5lbnRpdHlNb2RhbCwgb3BlbjogZmFsc2UgfSk7XG4gICAgfTtcblxuICAgIGNvbnN0IGhhbmRsZUVkaXRBY3Rpb25DbGljayA9IHVzZUNhbGxiYWNrKFxuICAgICAgICAoc2VsZWN0ZWRSb3cpID0+IHtcbiAgICAgICAgICAgIGlmIChzZXJ2aWNlVG9TdHlsZU1hcFtzZWxlY3RlZFJvdy5zZXJ2aWNlTmFtZV0gPT09ICdwYWdlJykge1xuICAgICAgICAgICAgICAgIGhhbmRsZU9wZW5QYWdlU3R5bGVEaWFsb2coc2VsZWN0ZWRSb3csIE1PREVfRURJVCk7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIHNldEVudGl0eU1vZGFsKHtcbiAgICAgICAgICAgICAgICAgICAgLi4uZW50aXR5TW9kYWwsXG4gICAgICAgICAgICAgICAgICAgIG9wZW46IHRydWUsXG4gICAgICAgICAgICAgICAgICAgIHNlcnZpY2VOYW1lOiBzZWxlY3RlZFJvdy5zZXJ2aWNlTmFtZSxcbiAgICAgICAgICAgICAgICAgICAgc3RhbnphTmFtZTogc2VsZWN0ZWRSb3cubmFtZSxcbiAgICAgICAgICAgICAgICAgICAgbW9kZTogTU9ERV9FRElULFxuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgfVxuICAgICAgICB9LFxuICAgICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgcmVhY3QtaG9va3MvZXhoYXVzdGl2ZS1kZXBzXG4gICAgICAgIFtlbnRpdHlNb2RhbF1cbiAgICApO1xuXG4gICAgY29uc3QgaGFuZGxlRGVsZXRlQ2xvc2UgPSAoKSA9PiB7XG4gICAgICAgIHNldERlbGV0ZU1vZGFsKHsgLi4uZGVsZXRlTW9kYWwsIG9wZW46IGZhbHNlIH0pO1xuICAgIH07XG5cbiAgICBjb25zdCBoYW5kbGVDbG9uZUFjdGlvbkNsaWNrID0gdXNlQ2FsbGJhY2soXG4gICAgICAgIChzZWxlY3RlZFJvdykgPT4ge1xuICAgICAgICAgICAgaWYgKHNlcnZpY2VUb1N0eWxlTWFwW3NlbGVjdGVkUm93LnNlcnZpY2VOYW1lXSA9PT0gJ3BhZ2UnKSB7XG4gICAgICAgICAgICAgICAgaGFuZGxlT3BlblBhZ2VTdHlsZURpYWxvZyhzZWxlY3RlZFJvdywgTU9ERV9DTE9ORSk7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIHNldEVudGl0eU1vZGFsKHtcbiAgICAgICAgICAgICAgICAgICAgLi4uZW50aXR5TW9kYWwsXG4gICAgICAgICAgICAgICAgICAgIG9wZW46IHRydWUsXG4gICAgICAgICAgICAgICAgICAgIHNlcnZpY2VOYW1lOiBzZWxlY3RlZFJvdy5zZXJ2aWNlTmFtZSxcbiAgICAgICAgICAgICAgICAgICAgc3RhbnphTmFtZTogc2VsZWN0ZWRSb3cubmFtZSxcbiAgICAgICAgICAgICAgICAgICAgbW9kZTogTU9ERV9DTE9ORSxcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSxcbiAgICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIHJlYWN0LWhvb2tzL2V4aGF1c3RpdmUtZGVwc1xuICAgICAgICBbZW50aXR5TW9kYWxdXG4gICAgKTtcblxuICAgIGNvbnN0IGhhbmRsZURlbGV0ZUFjdGlvbkNsaWNrID0gdXNlQ2FsbGJhY2soXG4gICAgICAgIChzZWxlY3RlZFJvdykgPT4ge1xuICAgICAgICAgICAgc2V0RGVsZXRlTW9kYWwoe1xuICAgICAgICAgICAgICAgIC4uLmRlbGV0ZU1vZGFsLFxuICAgICAgICAgICAgICAgIG9wZW46IHRydWUsXG4gICAgICAgICAgICAgICAgc3RhbnphTmFtZTogc2VsZWN0ZWRSb3cubmFtZSxcbiAgICAgICAgICAgICAgICBzZXJ2aWNlTmFtZTogc2VsZWN0ZWRSb3cuc2VydmljZU5hbWUsXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfSxcbiAgICAgICAgW2RlbGV0ZU1vZGFsXVxuICAgICk7XG5cbiAgICBjb25zdCBnZW5lcmF0ZU1vZGFsRGlhbG9nID0gKCkgPT4ge1xuICAgICAgICBpZiAoZW50aXR5TW9kYWwub3Blbikge1xuICAgICAgICAgICAgbGV0IGxhYmVsO1xuICAgICAgICAgICAgaWYgKHBhZ2UgPT09ICdpbnB1dHMnKSB7XG4gICAgICAgICAgICAgICAgY29uc3QgeyBzZXJ2aWNlcyB9ID0gdW5pZmllZENvbmZpZ3MucGFnZXM/LmlucHV0cztcbiAgICAgICAgICAgICAgICBsYWJlbCA9IHNlcnZpY2VzLmZpbmQoKHgpID0+IHgubmFtZSA9PT0gZW50aXR5TW9kYWwuc2VydmljZU5hbWUpPy50aXRsZTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgY29uc3QgeyB0YWJzIH0gPSB1bmlmaWVkQ29uZmlncy5wYWdlcz8uY29uZmlndXJhdGlvbjtcbiAgICAgICAgICAgICAgICBsYWJlbCA9IHRhYnMuZmluZCgoeCkgPT4geC5uYW1lID09PSBlbnRpdHlNb2RhbC5zZXJ2aWNlTmFtZSk/LnRpdGxlO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgICAgICA8RW50aXR5TW9kYWxcbiAgICAgICAgICAgICAgICAgICAgcGFnZT17cGFnZX1cbiAgICAgICAgICAgICAgICAgICAgb3Blbj17ZW50aXR5TW9kYWwub3Blbn1cbiAgICAgICAgICAgICAgICAgICAgaGFuZGxlUmVxdWVzdENsb3NlPXtoYW5kbGVFbnRpdHlDbG9zZX1cbiAgICAgICAgICAgICAgICAgICAgc2VydmljZU5hbWU9e2VudGl0eU1vZGFsLnNlcnZpY2VOYW1lfVxuICAgICAgICAgICAgICAgICAgICBzdGFuemFOYW1lPXtlbnRpdHlNb2RhbC5zdGFuemFOYW1lfVxuICAgICAgICAgICAgICAgICAgICBtb2RlPXtlbnRpdHlNb2RhbC5tb2RlfVxuICAgICAgICAgICAgICAgICAgICBmb3JtTGFiZWw9e1xuICAgICAgICAgICAgICAgICAgICAgICAgZW50aXR5TW9kYWwubW9kZSA9PT0gTU9ERV9DTE9ORSA/IF8oYENsb25lIGApICsgbGFiZWwgOiBfKGBVcGRhdGUgYCkgKyBsYWJlbFxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgfTtcblxuICAgIGNvbnN0IGdlbmVyYXRlRGVsZXRlRGlhbG9nID0gKCkgPT4ge1xuICAgICAgICByZXR1cm4gKFxuICAgICAgICAgICAgPERlbGV0ZU1vZGFsXG4gICAgICAgICAgICAgICAgcGFnZT17cGFnZX1cbiAgICAgICAgICAgICAgICBvcGVuPXtkZWxldGVNb2RhbC5vcGVufVxuICAgICAgICAgICAgICAgIGhhbmRsZVJlcXVlc3RDbG9zZT17aGFuZGxlRGVsZXRlQ2xvc2V9XG4gICAgICAgICAgICAgICAgc2VydmljZU5hbWU9e2RlbGV0ZU1vZGFsLnNlcnZpY2VOYW1lfVxuICAgICAgICAgICAgICAgIHN0YW56YU5hbWU9e2RlbGV0ZU1vZGFsLnN0YW56YU5hbWV9XG4gICAgICAgICAgICAvPlxuICAgICAgICApO1xuICAgIH07XG5cbiAgICBjb25zdCBnZW5lcmF0ZUNvbHVtbnMgPSAoKSA9PiB7XG4gICAgICAgIGNvbnN0IGNvbHVtbiA9IFtdO1xuICAgICAgICBpZiAoaGVhZGVycyAmJiBoZWFkZXJzLmxlbmd0aCkge1xuICAgICAgICAgICAgaGVhZGVycy5mb3JFYWNoKChpdGVtKSA9PiB7XG4gICAgICAgICAgICAgICAgY29sdW1uLnB1c2goe1xuICAgICAgICAgICAgICAgICAgICAuLi5pdGVtLFxuICAgICAgICAgICAgICAgICAgICBzb3J0S2V5OiBpdGVtLmZpZWxkIHx8IG51bGwsXG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgICAgICBjb2x1bW4ucHVzaCh7IGxhYmVsOiAnQWN0aW9ucycsIGZpZWxkOiAnYWN0aW9ucycsIHNvcnRLZXk6ICcnIH0pO1xuICAgICAgICByZXR1cm4gY29sdW1uO1xuICAgIH07XG5cbiAgICBjb25zdCBjb2x1bW5zID0gZ2VuZXJhdGVDb2x1bW5zKCk7XG5cbiAgICBjb25zdCBnZXRUYWJsZUhlYWRlckNlbGwgPSB1c2VDYWxsYmFjaygoKSA9PiB7XG4gICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICA8VGFibGUuSGVhZD5cbiAgICAgICAgICAgICAgICB7Y29sdW1ucyAmJlxuICAgICAgICAgICAgICAgICAgICBjb2x1bW5zLmxlbmd0aCAmJlxuICAgICAgICAgICAgICAgICAgICBjb2x1bW5zLm1hcCgoaGVhZERhdGEpID0+IChcbiAgICAgICAgICAgICAgICAgICAgICAgIDxUYWJsZS5IZWFkQ2VsbFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGtleT17aGVhZERhdGEuZmllbGR9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgb25Tb3J0PXtoZWFkRGF0YS5zb3J0S2V5ID8gaGFuZGxlU29ydCA6IG51bGx9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgc29ydEtleT17aGVhZERhdGEuc29ydEtleSA/IGhlYWREYXRhLnNvcnRLZXkgOiBudWxsfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNvcnREaXI9e1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBoZWFkRGF0YS5zb3J0S2V5ICYmIGhlYWREYXRhLnNvcnRLZXkgPT09IHNvcnRLZXkgPyBzb3J0RGlyIDogJ25vbmUnXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHtoZWFkRGF0YS5sYWJlbH1cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvVGFibGUuSGVhZENlbGw+XG4gICAgICAgICAgICAgICAgICAgICkpfVxuICAgICAgICAgICAgPC9UYWJsZS5IZWFkPlxuICAgICAgICApO1xuICAgIH0sIFtjb2x1bW5zLCBoYW5kbGVTb3J0LCBzb3J0RGlyLCBzb3J0S2V5XSk7XG5cbiAgICBjb25zdCBnZXRUYWJsZUJvZHkgPSAoKSA9PiB7XG4gICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICA8VGFibGUuQm9keT5cbiAgICAgICAgICAgICAgICB7ZGF0YSAmJlxuICAgICAgICAgICAgICAgICAgICBkYXRhLmxlbmd0aCAmJlxuICAgICAgICAgICAgICAgICAgICBkYXRhLm1hcCgocm93KSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxDdXN0b21UYWJsZVJvdyAvLyBub3NlbWdyZXA6IHR5cGVzY3JpcHQucmVhY3QuYmVzdC1wcmFjdGljZS5yZWFjdC1wcm9wcy1zcHJlYWRpbmcucmVhY3QtcHJvcHMtc3ByZWFkaW5nXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGtleT17cm93LmlkfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByb3c9e3Jvd31cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29sdW1ucz17Y29sdW1uc31cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaGVhZGVyTWFwcGluZz17aGVhZGVyTWFwcGluZ31cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgey4uLntcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhhbmRsZUVkaXRBY3Rpb25DbGljayxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhhbmRsZUNsb25lQWN0aW9uQ2xpY2ssXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBoYW5kbGVEZWxldGVBY3Rpb25DbGljayxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaGFuZGxlVG9nZ2xlQWN0aW9uQ2xpY2s9e2hhbmRsZVRvZ2dsZUFjdGlvbkNsaWNrfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7Li4uKG1vcmVJbmZvXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA/IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGV4cGFuc2lvblJvdzogZ2V0RXhwYW5zaW9uUm93KFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbHVtbnMubGVuZ3RoLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJvdyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtb3JlSW5mb1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiB7fSl9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgICAgICAgIH0pfVxuICAgICAgICAgICAgPC9UYWJsZS5Cb2R5PlxuICAgICAgICApO1xuICAgIH07XG5cbiAgICByZXR1cm4gKFxuICAgICAgICA8PlxuICAgICAgICAgICAge2NvbHVtbnMgJiYgY29sdW1ucy5sZW5ndGggJiYgKFxuICAgICAgICAgICAgICAgIDxUYWJsZSAvLyBub3NlbWdyZXA6IHR5cGVzY3JpcHQucmVhY3QuYmVzdC1wcmFjdGljZS5yZWFjdC1wcm9wcy1zcHJlYWRpbmcucmVhY3QtcHJvcHMtc3ByZWFkaW5nXG4gICAgICAgICAgICAgICAgICAgIHN0cmlwZVJvd3NcbiAgICAgICAgICAgICAgICAgICAgey4uLihtb3JlSW5mbyA/IHsgcm93RXhwYW5zaW9uOiAnc2luZ2xlJyB9IDoge30pfVxuICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAge2dldFRhYmxlSGVhZGVyQ2VsbCgpfVxuICAgICAgICAgICAgICAgICAgICB7Z2V0VGFibGVCb2R5KCl9XG4gICAgICAgICAgICAgICAgPC9UYWJsZT5cbiAgICAgICAgICAgICl9XG4gICAgICAgICAgICB7IWRhdGEubGVuZ3RoID8gPE5vUmVjb3Jkc0Rpdj5ObyByZWNvcmRzIGZvdW5kPC9Ob1JlY29yZHNEaXY+IDogbnVsbH1cbiAgICAgICAgICAgIHtnZW5lcmF0ZU1vZGFsRGlhbG9nKCl9XG4gICAgICAgICAgICB7Z2VuZXJhdGVEZWxldGVEaWFsb2coKX1cbiAgICAgICAgPC8+XG4gICAgKTtcbn1cblxuQ3VzdG9tVGFibGUucHJvcFR5cGVzID0ge1xuICAgIHBhZ2U6IFByb3BUeXBlcy5zdHJpbmcuaXNSZXF1aXJlZCxcbiAgICBzZXJ2aWNlTmFtZTogUHJvcFR5cGVzLnN0cmluZyxcbiAgICBkYXRhOiBQcm9wVHlwZXMuYXJyYXkuaXNSZXF1aXJlZCxcbiAgICBoYW5kbGVUb2dnbGVBY3Rpb25DbGljazogUHJvcFR5cGVzLmZ1bmMsXG4gICAgaGFuZGxlT3BlblBhZ2VTdHlsZURpYWxvZzogUHJvcFR5cGVzLmZ1bmMsXG4gICAgaGFuZGxlU29ydDogUHJvcFR5cGVzLmZ1bmMsXG4gICAgc29ydERpcjogUHJvcFR5cGVzLnN0cmluZyxcbiAgICBzb3J0S2V5OiBQcm9wVHlwZXMuc3RyaW5nLFxufTtcblxuZXhwb3J0IGRlZmF1bHQgbWVtbyhDdXN0b21UYWJsZSk7XG4iLCJpbXBvcnQgUmVhY3QgZnJvbSAncmVhY3QnO1xuaW1wb3J0IFRleHQgZnJvbSAnQHNwbHVuay9yZWFjdC11aS9UZXh0JztcbmltcG9ydCBQcm9wVHlwZXMgZnJvbSAncHJvcC10eXBlcyc7XG5cbmZ1bmN0aW9uIFRhYmxlRmlsdGVyKHByb3BzKSB7XG4gICAgY29uc3QgZGVib3VuY2UgPSAoZnVuYywgd2FpdCkgPT4ge1xuICAgICAgICBsZXQgdGltZW91dDtcblxuICAgICAgICAvLyBUaGlzIGlzIHRoZSBmdW5jdGlvbiB0aGF0IGlzIHJldHVybmVkIGFuZCB3aWxsIGJlIGV4ZWN1dGVkIG1hbnkgdGltZXNcbiAgICAgICAgLy8gV2Ugc3ByZWFkICguLi5hcmdzKSB0byBjYXB0dXJlIGFueSBudW1iZXIgb2YgcGFyYW1ldGVycyB3ZSB3YW50IHRvIHBhc3NcbiAgICAgICAgcmV0dXJuIGZ1bmN0aW9uIGV4ZWN1dGVkRnVuY3Rpb24oLi4uYXJncykge1xuICAgICAgICAgICAgLy8gVGhlIGNhbGxiYWNrIGZ1bmN0aW9uIHRvIGJlIGV4ZWN1dGVkIGFmdGVyXG4gICAgICAgICAgICAvLyB0aGUgZGVib3VuY2UgdGltZSBoYXMgZWxhcHNlZFxuICAgICAgICAgICAgY29uc3QgbGF0ZXIgPSAoKSA9PiB7XG4gICAgICAgICAgICAgICAgLy8gbnVsbCB0aW1lb3V0IHRvIGluZGljYXRlIHRoZSBkZWJvdW5jZSBlbmRlZFxuICAgICAgICAgICAgICAgIHRpbWVvdXQgPSBudWxsO1xuXG4gICAgICAgICAgICAgICAgLy8gRXhlY3V0ZSB0aGUgY2FsbGJhY2tcbiAgICAgICAgICAgICAgICBmdW5jKC4uLmFyZ3MpO1xuICAgICAgICAgICAgfTtcbiAgICAgICAgICAgIC8vIFRoaXMgd2lsbCByZXNldCB0aGUgd2FpdGluZyBldmVyeSBmdW5jdGlvbiBleGVjdXRpb24uXG4gICAgICAgICAgICAvLyBUaGlzIGlzIHRoZSBzdGVwIHRoYXQgcHJldmVudHMgdGhlIGZ1bmN0aW9uIGZyb21cbiAgICAgICAgICAgIC8vIGJlaW5nIGV4ZWN1dGVkIGJlY2F1c2UgaXQgd2lsbCBuZXZlciByZWFjaCB0aGVcbiAgICAgICAgICAgIC8vIGluc2lkZSBvZiB0aGUgcHJldmlvdXMgc2V0VGltZW91dFxuICAgICAgICAgICAgY2xlYXJUaW1lb3V0KHRpbWVvdXQpO1xuXG4gICAgICAgICAgICAvLyBSZXN0YXJ0IHRoZSBkZWJvdW5jZSB3YWl0aW5nIHBlcmlvZC5cbiAgICAgICAgICAgIC8vIHNldFRpbWVvdXQgcmV0dXJucyBhIHRydXRoeSB2YWx1ZVxuICAgICAgICAgICAgdGltZW91dCA9IHNldFRpbWVvdXQobGF0ZXIsIHdhaXQpO1xuICAgICAgICB9O1xuICAgIH07XG5cbiAgICByZXR1cm4gKFxuICAgICAgICA8VGV4dFxuICAgICAgICAgICAgYXBwZWFyYW5jZT1cInNlYXJjaFwiXG4gICAgICAgICAgICBwbGFjZWhvbGRlcj1cImZpbHRlclwiXG4gICAgICAgICAgICBvbkNoYW5nZT17ZGVib3VuY2UocHJvcHMuaGFuZGxlQ2hhbmdlLCAyMDApfVxuICAgICAgICAvPlxuICAgICk7XG59XG5cblRhYmxlRmlsdGVyLnByb3BUeXBlcyA9IHtcbiAgICBoYW5kbGVDaGFuZ2U6IFByb3BUeXBlcy5mdW5jLFxufTtcblxuZXhwb3J0IGRlZmF1bHQgVGFibGVGaWx0ZXI7XG4iLCJpbXBvcnQgUmVhY3QsIHsgdXNlQ29udGV4dCB9IGZyb20gJ3JlYWN0JztcbmltcG9ydCBQcm9wVHlwZXMgZnJvbSAncHJvcC10eXBlcyc7XG5pbXBvcnQgU2VsZWN0IGZyb20gJ0BzcGx1bmsvcmVhY3QtdWkvU2VsZWN0JztcbmltcG9ydCBCdXR0b24gZnJvbSAnQHNwbHVuay9yZWFjdC11aS9CdXR0b24nO1xuaW1wb3J0IFBhZ2luYXRvciBmcm9tICdAc3BsdW5rL3JlYWN0LXVpL1BhZ2luYXRvcic7XG5pbXBvcnQgc3R5bGVkIGZyb20gJ3N0eWxlZC1jb21wb25lbnRzJztcbmltcG9ydCB7IF8gfSBmcm9tICdAc3BsdW5rL3VpLXV0aWxzL2kxOG4nO1xuXG5pbXBvcnQgVGFibGVGaWx0ZXIgZnJvbSAnLi9UYWJsZUZpbHRlcic7XG5pbXBvcnQgVGFibGVDb250ZXh0IGZyb20gJy4uLy4uL2NvbnRleHQvVGFibGVDb250ZXh0JztcbmltcG9ydCB7IFRhYmxlU2VsZWN0Qm94V3JhcHBlciB9IGZyb20gJy4vQ3VzdG9tVGFibGVTdHlsZSc7XG5pbXBvcnQgeyBQQUdFX0lOUFVUIH0gZnJvbSAnLi4vLi4vY29uc3RhbnRzL3BhZ2VzJztcblxuY29uc3QgVGFibGVIZWFkZXJXcmFwcGVyID0gc3R5bGVkLmRpdmBcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICBib3JkZXItdG9wOiAxcHggc29saWQgI2NjYztcbiAgICBwYWRkaW5nLXRvcDogNXB4O1xuICAgIG1hcmdpbi1ib3R0b206IDVweDtcbmA7XG5cbmNvbnN0IFRhYmxlRmlsdGVyV3JhcHBlciA9IHN0eWxlZC5kaXZgXG4gICAgbWF4LXdpZHRoOiAzMDBweDtcbiAgICB3aWR0aDogMTAwJTtcbmA7XG5cbmZ1bmN0aW9uIFRhYmxlSGVhZGVyKHsgcGFnZSwgc2VydmljZXMsIHRvdGFsRWxlbWVudCwgaGFuZGxlUmVxdWVzdE1vZGFsT3BlbiB9KSB7XG4gICAgY29uc3Qge1xuICAgICAgICBwYWdlU2l6ZSxcbiAgICAgICAgY3VycmVudFBhZ2UsXG4gICAgICAgIHNldEN1cnJlbnRQYWdlLFxuICAgICAgICBzZXRQYWdlU2l6ZSxcbiAgICAgICAgc2VhcmNoVHlwZSxcbiAgICAgICAgc2V0U2VhcmNoVHlwZSxcbiAgICAgICAgc2V0U2VhcmNoVGV4dCxcbiAgICB9ID0gdXNlQ29udGV4dChUYWJsZUNvbnRleHQpO1xuXG4gICAgY29uc3QgaXRlbUxhYmVsID0gcGFnZSA9PT0gUEFHRV9JTlBVVCA/ICdJbnB1dCcgOiAnSXRlbSc7XG5cbiAgICBjb25zdCBnZXRTZWFyY2hUeXBlRHJvcGRvd24gPSAoKSA9PiB7XG4gICAgICAgIGlmIChzZXJ2aWNlcy5sZW5ndGggPCAyKSB7XG4gICAgICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgICAgfVxuICAgICAgICBsZXQgYXJyID0gW107XG4gICAgICAgIGFyciA9IHNlcnZpY2VzLm1hcCgoc2VydmljZSkgPT4ge1xuICAgICAgICAgICAgcmV0dXJuIDxTZWxlY3QuT3B0aW9uIGtleT17c2VydmljZS5uYW1lfSBsYWJlbD17c2VydmljZS50aXRsZX0gdmFsdWU9e3NlcnZpY2UubmFtZX0gLz47XG4gICAgICAgIH0pO1xuXG4gICAgICAgIGFyci51bnNoaWZ0KDxTZWxlY3QuT3B0aW9uIGtleT1cImFsbFwiIGxhYmVsPXtfKCdBbGwnKX0gdmFsdWU9XCJhbGxcIiAvPik7XG4gICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICA8U2VsZWN0XG4gICAgICAgICAgICAgICAgdmFsdWU9e3NlYXJjaFR5cGV9XG4gICAgICAgICAgICAgICAgY2xhc3NOYW1lPVwiZHJvcGRvd25JbnB1dFwiXG4gICAgICAgICAgICAgICAgb25DaGFuZ2U9eyhlLCB7IHZhbHVlIH0pID0+IHtcbiAgICAgICAgICAgICAgICAgICAgc2V0Q3VycmVudFBhZ2UoMCk7XG4gICAgICAgICAgICAgICAgICAgIHNldFNlYXJjaFR5cGUodmFsdWUpO1xuICAgICAgICAgICAgICAgIH19XG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAge2Fycn1cbiAgICAgICAgICAgIDwvU2VsZWN0PlxuICAgICAgICApO1xuICAgIH07XG5cbiAgICByZXR1cm4gKFxuICAgICAgICA8VGFibGVIZWFkZXJXcmFwcGVyPlxuICAgICAgICAgICAgPGRpdj5cbiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzc05hbWU9XCJpbnB1dE51bWJlclwiPlxuICAgICAgICAgICAgICAgICAgICB7dG90YWxFbGVtZW50fVxuICAgICAgICAgICAgICAgICAgICB7dG90YWxFbGVtZW50ID4gMSA/IF8oYCAke2l0ZW1MYWJlbH1zYCkgOiBfKGAgJHtpdGVtTGFiZWx9YCl9XG4gICAgICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgICAgICAgIHtwYWdlID09PSBQQUdFX0lOUFVUID8gKFxuICAgICAgICAgICAgICAgICAgICA8VGFibGVTZWxlY3RCb3hXcmFwcGVyPlxuICAgICAgICAgICAgICAgICAgICAgICAgPFNlbGVjdFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlPXtwYWdlU2l6ZX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzc05hbWU9XCJkcm9wZG93blBhZ2VcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9uQ2hhbmdlPXsoZSwgeyB2YWx1ZSB9KSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNldEN1cnJlbnRQYWdlKDApO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZXRQYWdlU2l6ZSh2YWx1ZSk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8U2VsZWN0Lk9wdGlvbiBrZXk9XCIxMFwiIGxhYmVsPXtfKCcxMCBQZXIgUGFnZScpfSB2YWx1ZT17MTB9IC8+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPFNlbGVjdC5PcHRpb24ga2V5PVwiMjVcIiBsYWJlbD17XygnMjUgUGVyIFBhZ2UnKX0gdmFsdWU9ezI1fSAvPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxTZWxlY3QuT3B0aW9uIGtleT1cIjUwXCIgbGFiZWw9e18oJzUwIFBlciBQYWdlJyl9IHZhbHVlPXs1MH0gLz5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvU2VsZWN0PlxuICAgICAgICAgICAgICAgICAgICAgICAge2dldFNlYXJjaFR5cGVEcm9wZG93bigpfVxuICAgICAgICAgICAgICAgICAgICA8L1RhYmxlU2VsZWN0Qm94V3JhcHBlcj5cbiAgICAgICAgICAgICAgICApIDogbnVsbH1cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPFRhYmxlRmlsdGVyV3JhcHBlcj5cbiAgICAgICAgICAgICAgICA8VGFibGVGaWx0ZXJcbiAgICAgICAgICAgICAgICAgICAgaGFuZGxlQ2hhbmdlPXsoZSwgeyB2YWx1ZSB9KSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICBzZXRDdXJyZW50UGFnZSgwKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHNldFNlYXJjaFRleHQodmFsdWUpO1xuICAgICAgICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICA8L1RhYmxlRmlsdGVyV3JhcHBlcj5cbiAgICAgICAgICAgIDxkaXY+XG4gICAgICAgICAgICAgICAgPFBhZ2luYXRvclxuICAgICAgICAgICAgICAgICAgICBvbkNoYW5nZT17KGUsIHsgcGFnZTogcGFnZU51bWJlciB9KSA9PiBzZXRDdXJyZW50UGFnZShwYWdlTnVtYmVyIC0gMSl9XG4gICAgICAgICAgICAgICAgICAgIGN1cnJlbnQ9e2N1cnJlbnRQYWdlICsgMX1cbiAgICAgICAgICAgICAgICAgICAgYWx3YXlzU2hvd0xhc3RQYWdlTGlua1xuICAgICAgICAgICAgICAgICAgICB0b3RhbFBhZ2VzPXtNYXRoLmNlaWwodG90YWxFbGVtZW50IC8gcGFnZVNpemUpfVxuICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAge3BhZ2UgPT09IFBBR0VfSU5QVVQgPyBudWxsIDogKFxuICAgICAgICAgICAgICAgICAgICA8QnV0dG9uXG4gICAgICAgICAgICAgICAgICAgICAgICBsYWJlbD17XygnQWRkJyl9XG4gICAgICAgICAgICAgICAgICAgICAgICBhcHBlYXJhbmNlPVwicHJpbWFyeVwiXG4gICAgICAgICAgICAgICAgICAgICAgICBvbkNsaWNrPXtoYW5kbGVSZXF1ZXN0TW9kYWxPcGVufVxuICAgICAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgICl9XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9UYWJsZUhlYWRlcldyYXBwZXI+XG4gICAgKTtcbn1cblxuVGFibGVIZWFkZXIucHJvcFR5cGVzID0ge1xuICAgIHBhZ2U6IFByb3BUeXBlcy5zdHJpbmcsXG4gICAgc2VydmljZXM6IFByb3BUeXBlcy5hcnJheSxcbiAgICB0b3RhbEVsZW1lbnQ6IFByb3BUeXBlcy5udW1iZXIsXG4gICAgaGFuZGxlUmVxdWVzdE1vZGFsT3BlbjogUHJvcFR5cGVzLmZ1bmMsXG59O1xuXG5leHBvcnQgZGVmYXVsdCBUYWJsZUhlYWRlcjtcbiIsImltcG9ydCBSZWFjdCwgeyB1c2VTdGF0ZSwgdXNlQ29udGV4dCwgdXNlRWZmZWN0LCBtZW1vIH0gZnJvbSAncmVhY3QnO1xuaW1wb3J0IHVwZGF0ZSBmcm9tICdpbW11dGFiaWxpdHktaGVscGVyJztcbmltcG9ydCBheGlvcyBmcm9tICdheGlvcyc7XG5pbXBvcnQgUHJvcFR5cGVzIGZyb20gJ3Byb3AtdHlwZXMnO1xuXG5pbXBvcnQgeyBXYWl0U3Bpbm5lcldyYXBwZXIgfSBmcm9tICcuL0N1c3RvbVRhYmxlU3R5bGUnO1xuaW1wb3J0IHsgYXhpb3NDYWxsV3JhcHBlciB9IGZyb20gJy4uLy4uL3V0aWwvYXhpb3NDYWxsV3JhcHBlcic7XG5pbXBvcnQgeyBnZXRVbmlmaWVkQ29uZmlncywgZ2VuZXJhdGVUb2FzdCB9IGZyb20gJy4uLy4uL3V0aWwvdXRpbCc7XG5pbXBvcnQgQ3VzdG9tVGFibGUgZnJvbSAnLi9DdXN0b21UYWJsZSc7XG5pbXBvcnQgVGFibGVIZWFkZXIgZnJvbSAnLi9UYWJsZUhlYWRlcic7XG5pbXBvcnQgVGFibGVDb250ZXh0IGZyb20gJy4uLy4uL2NvbnRleHQvVGFibGVDb250ZXh0JztcbmltcG9ydCB7IFBBR0VfSU5QVVQgfSBmcm9tICcuLi8uLi9jb25zdGFudHMvcGFnZXMnO1xuXG5mdW5jdGlvbiBUYWJsZVdyYXBwZXIoeyBwYWdlLCBzZXJ2aWNlTmFtZSwgaGFuZGxlUmVxdWVzdE1vZGFsT3BlbiwgaGFuZGxlT3BlblBhZ2VTdHlsZURpYWxvZyB9KSB7XG4gICAgY29uc3QgW3NvcnRLZXksIHNldFNvcnRLZXldID0gdXNlU3RhdGUoJ25hbWUnKTtcbiAgICBjb25zdCBbc29ydERpciwgc2V0U29ydERpcl0gPSB1c2VTdGF0ZSgnYXNjJyk7XG4gICAgY29uc3QgW2xvYWRpbmcsIHNldExvYWRpbmddID0gdXNlU3RhdGUodHJ1ZSk7XG4gICAgY29uc3QgW2Vycm9yLCBzZXRFcnJvcl0gPSB1c2VTdGF0ZShudWxsKTtcblxuICAgIGNvbnN0IHsgcm93RGF0YSwgc2V0Um93RGF0YSwgcGFnZVNpemUsIGN1cnJlbnRQYWdlLCBzZWFyY2hUZXh0LCBzZWFyY2hUeXBlIH0gPSB1c2VDb250ZXh0KFxuICAgICAgICBUYWJsZUNvbnRleHRcbiAgICApO1xuXG4gICAgY29uc3QgdW5pZmllZENvbmZpZ3MgPSBnZXRVbmlmaWVkQ29uZmlncygpO1xuICAgIGNvbnN0IHRhYmxlQ29uZmlnID1cbiAgICAgICAgcGFnZSA9PT0gUEFHRV9JTlBVVFxuICAgICAgICAgICAgPyB1bmlmaWVkQ29uZmlncy5wYWdlcy5pbnB1dHMudGFibGVcbiAgICAgICAgICAgIDogdW5pZmllZENvbmZpZ3MucGFnZXMuY29uZmlndXJhdGlvbi50YWJzLmZpbHRlcigoeCkgPT4geC5uYW1lID09PSBzZXJ2aWNlTmFtZSlbMF1cbiAgICAgICAgICAgICAgICAgIC50YWJsZTtcbiAgICBjb25zdCBoZWFkZXJzID0gdGFibGVDb25maWcuaGVhZGVyO1xuICAgIGNvbnN0IHsgbW9yZUluZm8gfSA9IHRhYmxlQ29uZmlnO1xuICAgIGNvbnN0IHNlcnZpY2VzID1cbiAgICAgICAgcGFnZSA9PT0gUEFHRV9JTlBVVFxuICAgICAgICAgICAgPyB1bmlmaWVkQ29uZmlncy5wYWdlcy5pbnB1dHMuc2VydmljZXNcbiAgICAgICAgICAgIDogdW5pZmllZENvbmZpZ3MucGFnZXMuY29uZmlndXJhdGlvbi50YWJzLmZpbHRlcigoeCkgPT4geC5uYW1lID09PSBzZXJ2aWNlTmFtZSk7XG5cbiAgICBjb25zdCBtb2RpZnlBUElSZXNwb25zZSA9IChkYXRhKSA9PiB7XG4gICAgICAgIGNvbnN0IG9iaiA9IHt9O1xuICAgICAgICBzZXJ2aWNlcy5mb3JFYWNoKChzZXJ2aWNlLCBpbmRleCkgPT4ge1xuICAgICAgICAgICAgaWYgKHNlcnZpY2UgJiYgc2VydmljZS5uYW1lICYmIGRhdGEpIHtcbiAgICAgICAgICAgICAgICBjb25zdCB0bXBPYmogPSB7fTtcbiAgICAgICAgICAgICAgICBkYXRhW2luZGV4XS5mb3JFYWNoKCh2YWwpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgdG1wT2JqW3ZhbC5uYW1lXSA9IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIC4uLnZhbC5jb250ZW50LFxuICAgICAgICAgICAgICAgICAgICAgICAgaWQ6IHZhbC5pZCxcbiAgICAgICAgICAgICAgICAgICAgICAgIG5hbWU6IHZhbC5uYW1lLFxuICAgICAgICAgICAgICAgICAgICAgICAgc2VydmljZU5hbWU6IHNlcnZpY2UubmFtZSxcbiAgICAgICAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICBvYmpbc2VydmljZS5uYW1lXSA9IHRtcE9iajtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgICAgIHNldFJvd0RhdGEob2JqKTtcbiAgICAgICAgc2V0TG9hZGluZyhmYWxzZSk7XG4gICAgfTtcblxuICAgIGNvbnN0IGZldGNoSW5wdXRzID0gKCkgPT4ge1xuICAgICAgICBjb25zdCByZXF1ZXN0cyA9IFtdO1xuICAgICAgICBzZXJ2aWNlcy5mb3JFYWNoKChzZXJ2aWNlKSA9PiB7XG4gICAgICAgICAgICByZXF1ZXN0cy5wdXNoKFxuICAgICAgICAgICAgICAgIGF4aW9zQ2FsbFdyYXBwZXIoe1xuICAgICAgICAgICAgICAgICAgICBzZXJ2aWNlTmFtZTogc2VydmljZS5uYW1lLFxuICAgICAgICAgICAgICAgICAgICBwYXJhbXM6IHsgY291bnQ6IC0xIH0sXG4gICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgICk7XG4gICAgICAgIH0pO1xuICAgICAgICBheGlvc1xuICAgICAgICAgICAgLmFsbChyZXF1ZXN0cylcbiAgICAgICAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby1zaGFkb3dcbiAgICAgICAgICAgIC5jYXRjaCgoZXJyb3IpID0+IHtcbiAgICAgICAgICAgICAgICBsZXQgbWVzc2FnZSA9ICcnO1xuICAgICAgICAgICAgICAgIGxldCBlcnJvckNvZGUgPSAnJztcbiAgICAgICAgICAgICAgICBpZiAoZXJyb3IucmVzcG9uc2UpIHtcbiAgICAgICAgICAgICAgICAgICAgLy8gVGhlIHJlcXVlc3Qgd2FzIG1hZGUgYW5kIHRoZSBzZXJ2ZXIgcmVzcG9uZGVkIHdpdGggYSBzdGF0dXMgY29kZVxuICAgICAgICAgICAgICAgICAgICBtZXNzYWdlID0gYEVycm9yIHJlY2VpdmVkIGZyb20gc2VydmVyOiAke2Vycm9yLnJlc3BvbnNlLmRhdGEubWVzc2FnZXNbMF0udGV4dH1gO1xuICAgICAgICAgICAgICAgICAgICBlcnJvckNvZGUgPSBwYWdlID09PSBQQUdFX0lOUFVUID8gJ0VSUjAwMDEnIDogJ0VSUjAwMDInO1xuICAgICAgICAgICAgICAgIH0gZWxzZSBpZiAoZXJyb3IucmVxdWVzdCkge1xuICAgICAgICAgICAgICAgICAgICAvLyBUaGUgcmVxdWVzdCB3YXMgbWFkZSBidXQgbm8gcmVzcG9uc2Ugd2FzIHJlY2VpdmVkXG4gICAgICAgICAgICAgICAgICAgIG1lc3NhZ2UgPSBgTm8gcmVzcG9uc2UgcmVjZWl2ZWQgd2hpbGUgbWFraW5nIHJlcXVlc3QgdG8gJHtwYWdlfSBzZXJ2aWNlc2A7XG4gICAgICAgICAgICAgICAgICAgIGVycm9yQ29kZSA9ICdFUlIwMDAzJztcbiAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICAvLyBTb21ldGhpbmcgaGFwcGVuZWQgaW4gc2V0dGluZyB1cCB0aGUgcmVxdWVzdCB0aGF0IHRyaWdnZXJlZCBhbiBFcnJvclxuICAgICAgICAgICAgICAgICAgICBtZXNzYWdlID0gYEVycm9yIG1ha2luZyByZXF1ZXN0IHRvICR7cGFnZX0gc2VydmljZXNgO1xuICAgICAgICAgICAgICAgICAgICBlcnJvckNvZGUgPSAnRVJSMDAwNCc7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby1wYXJhbS1yZWFzc2lnblxuICAgICAgICAgICAgICAgIGVycm9yLnVjY0Vycm9yQ29kZSA9IGVycm9yQ29kZTtcbiAgICAgICAgICAgICAgICBnZW5lcmF0ZVRvYXN0KG1lc3NhZ2UpO1xuICAgICAgICAgICAgICAgIHNldExvYWRpbmcoZmFsc2UpO1xuICAgICAgICAgICAgICAgIHNldEVycm9yKGVycm9yKTtcbiAgICAgICAgICAgICAgICByZXR1cm4gUHJvbWlzZS5yZWplY3QoZXJyb3IpO1xuICAgICAgICAgICAgfSlcbiAgICAgICAgICAgIC50aGVuKChyZXNwb25zZSkgPT4ge1xuICAgICAgICAgICAgICAgIG1vZGlmeUFQSVJlc3BvbnNlKHJlc3BvbnNlLm1hcCgocmVzKSA9PiByZXMuZGF0YS5lbnRyeSkpO1xuICAgICAgICAgICAgfSk7XG4gICAgfTtcblxuICAgIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgICAgIGZldGNoSW5wdXRzKCk7XG4gICAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSByZWFjdC1ob29rcy9leGhhdXN0aXZlLWRlcHNcbiAgICB9LCBbXSk7XG5cbiAgICAvKipcbiAgICAgKlxuICAgICAqIEBwYXJhbSByb3cge09iamVjdH0gcm93XG4gICAgICovXG4gICAgY29uc3QgY2hhbmdlVG9nZ2xlU3RhdHVzID0gKHJvdykgPT4ge1xuICAgICAgICBzZXRSb3dEYXRhKChjdXJyZW50Um93RGF0YSkgPT4ge1xuICAgICAgICAgICAgcmV0dXJuIHVwZGF0ZShjdXJyZW50Um93RGF0YSwge1xuICAgICAgICAgICAgICAgIFtyb3cuc2VydmljZU5hbWVdOiB7XG4gICAgICAgICAgICAgICAgICAgIFtyb3cubmFtZV06IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIF9fdG9nZ2xlU2hvd1NwaW5uZXI6IHsgJHNldDogdHJ1ZSB9LFxuICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfSk7XG4gICAgICAgIGNvbnN0IGJvZHkgPSBuZXcgVVJMU2VhcmNoUGFyYW1zKCk7XG4gICAgICAgIGJvZHkuYXBwZW5kKCdkaXNhYmxlZCcsICFyb3cuZGlzYWJsZWQpO1xuICAgICAgICBheGlvc0NhbGxXcmFwcGVyKHtcbiAgICAgICAgICAgIHNlcnZpY2VOYW1lOiBgJHtyb3cuc2VydmljZU5hbWV9LyR7cm93Lm5hbWV9YCxcbiAgICAgICAgICAgIGJvZHksXG4gICAgICAgICAgICBjdXN0b21IZWFkZXJzOiB7ICdDb250ZW50LVR5cGUnOiAnYXBwbGljYXRpb24veC13d3ctZm9ybS11cmxlbmNvZGVkJyB9LFxuICAgICAgICAgICAgbWV0aG9kOiAncG9zdCcsXG4gICAgICAgICAgICBoYW5kbGVFcnJvcjogdHJ1ZSxcbiAgICAgICAgICAgIGNhbGxiYWNrT25FcnJvcjogKCkgPT4ge1xuICAgICAgICAgICAgICAgIHNldFJvd0RhdGEoKGN1cnJlbnRSb3dEYXRhKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiB1cGRhdGUoY3VycmVudFJvd0RhdGEsIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIFtyb3cuc2VydmljZU5hbWVdOiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgW3Jvdy5uYW1lXToge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBfX3RvZ2dsZVNob3dTcGlubmVyOiB7ICRzZXQ6IGZhbHNlIH0sXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgfSxcbiAgICAgICAgfSkudGhlbigocmVzcG9uc2UpID0+IHtcbiAgICAgICAgICAgIHNldFJvd0RhdGEoKGN1cnJlbnRSb3dEYXRhKSA9PiB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHVwZGF0ZShjdXJyZW50Um93RGF0YSwge1xuICAgICAgICAgICAgICAgICAgICBbcm93LnNlcnZpY2VOYW1lXToge1xuICAgICAgICAgICAgICAgICAgICAgICAgW3Jvdy5uYW1lXToge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRpc2FibGVkOiB7ICRzZXQ6IHJlc3BvbnNlLmRhdGEuZW50cnlbMF0uY29udGVudC5kaXNhYmxlZCB9LFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIF9fdG9nZ2xlU2hvd1NwaW5uZXI6IHsgJHNldDogZmFsc2UgfSxcbiAgICAgICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfSk7XG4gICAgfTtcblxuICAgIGNvbnN0IGhhbmRsZVNvcnQgPSAoZSwgdmFsKSA9PiB7XG4gICAgICAgIGNvbnN0IHByZXZTb3J0S2V5ID0gc29ydEtleTtcbiAgICAgICAgY29uc3QgcHJldlNvcnREaXIgPSBwcmV2U29ydEtleSA9PT0gdmFsLnNvcnRLZXkgPyBzb3J0RGlyIDogJ25vbmUnO1xuICAgICAgICBjb25zdCBuZXh0U29ydERpciA9IHByZXZTb3J0RGlyID09PSAnYXNjJyA/ICdkZXNjJyA6ICdhc2MnO1xuICAgICAgICBzZXRTb3J0RGlyKG5leHRTb3J0RGlyKTtcbiAgICAgICAgc2V0U29ydEtleSh2YWwuc29ydEtleSk7XG4gICAgfTtcblxuICAgIC8qKlxuICAgICAqXG4gICAgICogQHBhcmFtIHtBcnJheX0gZGF0YVxuICAgICAqIFRoaXMgZnVuY3Rpb24gd2lsbCBpdGVyYXRlIGFuIGFycnJheSBhbmQgbWF0Y2ggZWFjaCBrZXktdmFsdWUgd2l0aCB0aGUgc2VhcmNoVGV4dFxuICAgICAqIEl0IHdpbGwgcmV0dXJuIGEgbmV3IGFycmF5IHdoaWNoIHdpbGwgbWF0Y2ggd2l0aCBzZWFyY2hUZXh0XG4gICAgICovXG4gICAgY29uc3QgZmluZEJ5TWF0Y2hpbmdWYWx1ZSA9IChkYXRhKSA9PiB7XG4gICAgICAgIGNvbnN0IGFyciA9IFtdO1xuICAgICAgICBjb25zdCB0YWJsZUZpZWxkcyA9IFtdO1xuXG4gICAgICAgIGhlYWRlcnMuZm9yRWFjaCgoaGVhZERhdGEpID0+IHtcbiAgICAgICAgICAgIHRhYmxlRmllbGRzLnB1c2goaGVhZERhdGEuZmllbGQpO1xuICAgICAgICB9KTtcbiAgICAgICAgbW9yZUluZm8/LmZvckVhY2goKG1vcmVJbmZvRGF0YSkgPT4ge1xuICAgICAgICAgICAgdGFibGVGaWVsZHMucHVzaChtb3JlSW5mb0RhdGEuZmllbGQpO1xuICAgICAgICB9KTtcblxuICAgICAgICBPYmplY3Qua2V5cyhkYXRhKS5mb3JFYWNoKCh2KSA9PiB7XG4gICAgICAgICAgICBsZXQgZm91bmQgPSBmYWxzZTtcbiAgICAgICAgICAgIE9iamVjdC5rZXlzKGRhdGFbdl0pLmZvckVhY2goKHZ2KSA9PiB7XG4gICAgICAgICAgICAgICAgaWYgKFxuICAgICAgICAgICAgICAgICAgICB0YWJsZUZpZWxkcy5pbmNsdWRlcyh2dikgJiZcbiAgICAgICAgICAgICAgICAgICAgdHlwZW9mIGRhdGFbdl1bdnZdID09PSAnc3RyaW5nJyAmJlxuICAgICAgICAgICAgICAgICAgICBkYXRhW3ZdW3Z2XS50b0xvd2VyQ2FzZSgpLmluY2x1ZGVzKHNlYXJjaFRleHQudG9Mb3dlckNhc2UoKS50cmltKCkpICYmXG4gICAgICAgICAgICAgICAgICAgICFmb3VuZFxuICAgICAgICAgICAgICAgICkge1xuICAgICAgICAgICAgICAgICAgICBhcnIucHVzaChkYXRhW3ZdKTtcbiAgICAgICAgICAgICAgICAgICAgZm91bmQgPSB0cnVlO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9KTtcbiAgICAgICAgcmV0dXJuIGFycjtcbiAgICB9O1xuXG4gICAgY29uc3QgZ2V0Um93RGF0YSA9ICgpID0+IHtcbiAgICAgICAgbGV0IGFyciA9IFtdO1xuICAgICAgICBpZiAoc2VhcmNoVHlwZSA9PT0gJ2FsbCcpIHtcbiAgICAgICAgICAgIE9iamVjdC5rZXlzKHJvd0RhdGEpLmZvckVhY2goKGtleSkgPT4ge1xuICAgICAgICAgICAgICAgIGxldCBuZXdBcnIgPSBbXTtcbiAgICAgICAgICAgICAgICBpZiAoc2VhcmNoVGV4dCAmJiBzZWFyY2hUZXh0Lmxlbmd0aCkge1xuICAgICAgICAgICAgICAgICAgICBuZXdBcnIgPSBmaW5kQnlNYXRjaGluZ1ZhbHVlKHJvd0RhdGFba2V5XSk7XG4gICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgbmV3QXJyID0gT2JqZWN0LmtleXMocm93RGF0YVtrZXldKS5tYXAoKHZhbCkgPT4gcm93RGF0YVtrZXldW3ZhbF0pO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBhcnIgPSBhcnIuY29uY2F0KG5ld0Fycik7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGFyciA9IGZpbmRCeU1hdGNoaW5nVmFsdWUocm93RGF0YVtzZWFyY2hUeXBlXSk7XG4gICAgICAgIH1cblxuICAgICAgICAvLyBTb3J0IHRoZSBhcnJheSBiYXNlZCBvbiB0aGUgc29ydCB2YWx1ZVxuICAgICAgICBjb25zdCBzb3J0ZWRBcnIgPSBhcnIuc29ydCgocm93QSwgcm93QikgPT4ge1xuICAgICAgICAgICAgaWYgKHNvcnREaXIgPT09ICdhc2MnKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHJvd0Fbc29ydEtleV0gPiByb3dCW3NvcnRLZXldID8gMSA6IC0xO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaWYgKHNvcnREaXIgPT09ICdkZXNjJykge1xuICAgICAgICAgICAgICAgIHJldHVybiByb3dCW3NvcnRLZXldID4gcm93QVtzb3J0S2V5XSA/IDEgOiAtMTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHJldHVybiAwO1xuICAgICAgICB9KTtcblxuICAgICAgICBsZXQgdXBkYXRlZEFyciA9IHNvcnRlZEFyci5zbGljZShjdXJyZW50UGFnZSAqIHBhZ2VTaXplLCAoY3VycmVudFBhZ2UgKyAxKSAqIHBhZ2VTaXplKTtcblxuICAgICAgICBpZiAoY3VycmVudFBhZ2UgPiAwICYmICF1cGRhdGVkQXJyLmxlbmd0aCkge1xuICAgICAgICAgICAgdXBkYXRlZEFyciA9IHNvcnRlZEFyci5zbGljZSgoY3VycmVudFBhZ2UgLSAxKSAqIHBhZ2VTaXplLCBwYWdlU2l6ZSk7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gW3VwZGF0ZWRBcnIsIGFyci5sZW5ndGhdO1xuICAgIH07XG5cbiAgICBpZiAoZXJyb3I/LnVjY0Vycm9yQ29kZSkge1xuICAgICAgICB0aHJvdyBlcnJvcjtcbiAgICB9XG5cbiAgICBpZiAobG9hZGluZykge1xuICAgICAgICByZXR1cm4gPFdhaXRTcGlubmVyV3JhcHBlciAvPjtcbiAgICB9XG5cbiAgICBjb25zdCBbZmlsdGVyZWREYXRhLCB0b3RhbEVsZW1lbnRdID0gZ2V0Um93RGF0YSgpO1xuXG4gICAgcmV0dXJuIChcbiAgICAgICAgPD5cbiAgICAgICAgICAgIDxUYWJsZUhlYWRlclxuICAgICAgICAgICAgICAgIHBhZ2U9e3BhZ2V9XG4gICAgICAgICAgICAgICAgc2VydmljZXM9e3NlcnZpY2VzfVxuICAgICAgICAgICAgICAgIHRvdGFsRWxlbWVudD17dG90YWxFbGVtZW50fVxuICAgICAgICAgICAgICAgIGhhbmRsZVJlcXVlc3RNb2RhbE9wZW49e2hhbmRsZVJlcXVlc3RNb2RhbE9wZW59XG4gICAgICAgICAgICAvPlxuICAgICAgICAgICAgPEN1c3RvbVRhYmxlXG4gICAgICAgICAgICAgICAgcGFnZT17cGFnZX1cbiAgICAgICAgICAgICAgICBzZXJ2aWNlTmFtZT17c2VydmljZU5hbWV9XG4gICAgICAgICAgICAgICAgZGF0YT17ZmlsdGVyZWREYXRhfVxuICAgICAgICAgICAgICAgIGhhbmRsZVRvZ2dsZUFjdGlvbkNsaWNrPXsocm93KSA9PiBjaGFuZ2VUb2dnbGVTdGF0dXMocm93KX1cbiAgICAgICAgICAgICAgICBoYW5kbGVTb3J0PXtoYW5kbGVTb3J0fVxuICAgICAgICAgICAgICAgIHNvcnREaXI9e3NvcnREaXJ9XG4gICAgICAgICAgICAgICAgc29ydEtleT17c29ydEtleX1cbiAgICAgICAgICAgICAgICBoYW5kbGVPcGVuUGFnZVN0eWxlRGlhbG9nPXtoYW5kbGVPcGVuUGFnZVN0eWxlRGlhbG9nfVxuICAgICAgICAgICAgLz5cbiAgICAgICAgPC8+XG4gICAgKTtcbn1cblxuVGFibGVXcmFwcGVyLnByb3BUeXBlcyA9IHtcbiAgICBwYWdlOiBQcm9wVHlwZXMuc3RyaW5nLFxuICAgIHNlcnZpY2VOYW1lOiBQcm9wVHlwZXMuc3RyaW5nLFxuICAgIGhhbmRsZVJlcXVlc3RNb2RhbE9wZW46IFByb3BUeXBlcy5mdW5jLFxuICAgIGhhbmRsZU9wZW5QYWdlU3R5bGVEaWFsb2c6IFByb3BUeXBlcy5mdW5jLFxufTtcblxuZXhwb3J0IGRlZmF1bHQgbWVtbyhUYWJsZVdyYXBwZXIpO1xuIiwiaW1wb3J0IFJlYWN0IGZyb20gJ3JlYWN0JztcbmltcG9ydCBMaW5rIGZyb20gJ0BzcGx1bmsvcmVhY3QtdWkvTGluayc7XG5cbmV4cG9ydCBkZWZhdWx0IHtcbiAgICBFUlIwMDAxOiAoXG4gICAgICAgIDw+XG4gICAgICAgICAgICBUaGlzIGlzIG5vcm1hbCBvbiBTcGx1bmsgc2VhcmNoIGhlYWRzIGFzIHRoZXkgZG8gbm90IHJlcXVpcmUgYW4gSW5wdXQgcGFnZS4gQ2hlY2sgeW91ciBpbnN0YWxsYXRpb24gb3IgcmV0dXJuIHRvIHRoZSA8TGluayB0bz1cImNvbmZpZ3VyYXRpb25cIj5jb25maWd1cmF0aW9uIHBhZ2U8L0xpbms+LlxuICAgICAgICA8Lz5cbiAgICApLFxuICAgIEVSUjAwMDI6ICdDb25maWd1cmF0aW9uIHBhZ2UgZmFpbGVkIHRvIGxvYWQsIHRoZSBzZXJ2ZXIgcmVwb3J0ZWQgaW50ZXJuYWwgZXJyb3JzIHdoaWNoIG1heSBpbmRpY2F0ZSB5b3UgZG8gbm90IGhhdmUgYWNjZXNzIHRvIHRoaXMgcGFnZS4nLFxuICAgIEVSUjAwMDM6ICdGYWlsZWQgdG8gbG9hZCBjb250ZW50IGR1ZSB0byBubyByZXNwb25zZSBmcm9tIHNlcnZlciEnLFxuICAgIEVSUjAwMDQ6ICdGYWlsZWQgdG8gbG9hZCBjb250ZW50IGR1ZSB0byBmYWlsZWQgcmVxdWVzdCBwcm9jZXNzaW5nIScsXG4gICAgRVJSMDAwNTogJ0ZhaWxlZCB0byBsb2FkIGN1cnJlbnQgc3RhdGUgZm9yIHNlbGVjdGVkIGVudGl0eSBpbiBmb3JtIScsXG59O1xuIiwiaW1wb3J0IFJlYWN0IGZyb20gJ3JlYWN0JztcbmltcG9ydCBQcm9wVHlwZXMgZnJvbSAncHJvcC10eXBlcyc7XG5cbmltcG9ydCBIZWFkaW5nIGZyb20gJ0BzcGx1bmsvcmVhY3QtdWkvSGVhZGluZyc7XG5pbXBvcnQgeyBfIH0gZnJvbSAnQHNwbHVuay91aS11dGlscy9pMThuJztcbmltcG9ydCBDYXJkIGZyb20gJ0BzcGx1bmsvcmVhY3QtdWkvQ2FyZCc7XG5pbXBvcnQgV2FybmluZ0ljb24gZnJvbSAnQHNwbHVuay9yZWFjdC1pY29ucy9XYXJuaW5nJ1xuaW1wb3J0IGVycm9yQ29kZXMgZnJvbSAnLi4vY29uc3RhbnRzL2Vycm9yQ29kZXMnO1xuXG5jbGFzcyBFcnJvckJvdW5kYXJ5IGV4dGVuZHMgUmVhY3QuQ29tcG9uZW50IHtcbiAgICBjb25zdHJ1Y3Rvcihwcm9wcykge1xuICAgICAgICBzdXBlcihwcm9wcyk7XG4gICAgICAgIHRoaXMuc3RhdGUgPSB7IGVycm9yQ29kZTogbnVsbCwgZXJyb3I6IG51bGwsIGVycm9ySW5mbzogbnVsbCB9O1xuICAgIH1cblxuICAgIHN0YXRpYyBnZXREZXJpdmVkU3RhdGVGcm9tRXJyb3IoZXJyb3IpIHtcbiAgICAgICAgLy8gVXBkYXRlIHN0YXRlIHNvIHRoZSBuZXh0IHJlbmRlciB3aWxsIHNob3cgdGhlIGZhbGxiYWNrIFVJLlxuICAgICAgICByZXR1cm4geyBlcnJvckNvZGU6IGVycm9yLnVjY0Vycm9yQ29kZSB9O1xuICAgIH1cblxuICAgIGNvbXBvbmVudERpZENhdGNoKGVycm9yLCBlcnJvckluZm8pIHtcbiAgICAgICAgLy8gQ2F0Y2ggZXJyb3JzIGluIGFueSBjb21wb25lbnRzIGJlbG93IGFuZCByZS1yZW5kZXIgd2l0aCBlcnJvciBtZXNzYWdlXG4gICAgICAgIHRoaXMuc2V0U3RhdGUoe1xuICAgICAgICAgICAgZXJyb3IsXG4gICAgICAgICAgICBlcnJvckluZm8sXG4gICAgICAgIH0pO1xuICAgICAgICAvLyBZb3UgY2FuIGFsc28gbG9nIGVycm9yIG1lc3NhZ2VzIHRvIGFuIGVycm9yIHJlcG9ydGluZyBzZXJ2aWNlIGhlcmVcbiAgICB9XG5cbiAgICByZW5kZXIoKSB7XG4gICAgICAgIGlmICh0aGlzLnN0YXRlLmVycm9yKSB7XG4gICAgICAgICAgICAvLyBFcnJvciBwYXRoXG4gICAgICAgICAgICByZXR1cm4gKFxuICAgICAgICAgICAgICAgIDxkaXYgYWxpZ249XCJjZW50ZXJcIiBzdHlsZT17eyBtYXJnaW5Ub3AgOiBcIjEwJVwiIH19PlxuICAgICAgICAgICAgICAgIDxDYXJkIHN0eWxlPXt7IGJveFNoYWRvdyA6IFwiMTBweCAxMHB4IDVweCAjYWFhYWFhXCIgfX0gPlxuICAgICAgICAgICAgICAgICAgICA8Q2FyZC5IZWFkZXI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8SGVhZGluZyBzdHlsZT17eyB0ZXh0QWxpZ246XCJjZW50ZXJcIiB9fSBsZXZlbD17Mn0+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPFdhcm5pbmdJY29uIHN0eWxlPXt7IGZvbnRTaXplOiBcIjEyMHB4XCIsIGNvbG9yOiBcIiNmZjk5MDBcIiB9fSAvPjxici8+PGJyLz5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7dGhpcy5zdGF0ZS5lcnJvckNvZGUgPT09ICdFUlIwMDAxJyA/IF8oJ0ZhaWxlZCB0byBsb2FkIElucHV0cyBQYWdlJykgOiBfKCdTb21ldGhpbmcgd2VudCB3cm9uZyEnKX1cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvSGVhZGluZz5cbiAgICAgICAgICAgICAgICAgICAgPC9DYXJkLkhlYWRlcj5cbiAgICAgICAgICAgICAgICAgICAgPENhcmQuQm9keT5cbiAgICAgICAgICAgICAgICAgICAgICAgIHt0aGlzLnN0YXRlLmVycm9yQ29kZSA/IChcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7XyhlcnJvckNvZGVzW3RoaXMuc3RhdGUuZXJyb3JDb2RlXSl9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxici8+PGJyLz5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Lz5cbiAgICAgICAgICAgICAgICAgICAgICAgICkgOiBudWxsfVxuICAgICAgICAgICAgICAgICAgICAgICAgPGRldGFpbHMgc3R5bGU9e3sgd2hpdGVTcGFjZTogJ3ByZS13cmFwJyB9fT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7dGhpcy5zdGF0ZS5lcnJvcj8udG9TdHJpbmcoKX1cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGV0YWlscz5cbiAgICAgICAgICAgICAgICAgICAgPC9DYXJkLkJvZHk+XG4gICAgICAgICAgICAgICAgICAgIDxDYXJkLkZvb3RlciBzaG93Qm9yZGVyPXtmYWxzZX0+XG4gICAgICAgICAgICAgICAgICAgICAgICB7dGhpcy5zdGF0ZS5lcnJvckNvZGUgPyB0aGlzLnN0YXRlLmVycm9yQ29kZSA6IG51bGx9XG4gICAgICAgICAgICAgICAgICAgIDwvQ2FyZC5Gb290ZXI+XG4gICAgICAgICAgICAgICAgPC9DYXJkPlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgKTtcbiAgICAgICAgfVxuICAgICAgICAvLyBOb3JtYWxseSwganVzdCByZW5kZXIgY2hpbGRyZW5cbiAgICAgICAgcmV0dXJuIHRoaXMucHJvcHMuY2hpbGRyZW47XG4gICAgfVxufVxuXG5FcnJvckJvdW5kYXJ5LnByb3BUeXBlcyA9IHtcbiAgICBjaGlsZHJlbjogUHJvcFR5cGVzLm9uZU9mVHlwZShbUHJvcFR5cGVzLmFycmF5T2YoUHJvcFR5cGVzLm5vZGUpLCBQcm9wVHlwZXMubm9kZV0pLmlzUmVxdWlyZWQsXG59O1xuXG5leHBvcnQgZGVmYXVsdCBFcnJvckJvdW5kYXJ5O1xuIl0sInNvdXJjZVJvb3QiOiIifQ== \ No newline at end of file +(window.webpackJsonp=window.webpackJsonp||[]).push([[1],{255:function(e,t,n){"use strict";n.d(t,"a",(function(){return u}));var r=n(63),a=n.n(r),o=n(0),i=n.n(o),l=n(3),c=n.n(l),s=Object(o.createContext)({rowData:{},setRowData:function(){}}),u=function(e){var t=e.children,n=Object(o.useState)({}),r=a()(n,2),l=r[0],c=r[1],u=Object(o.useState)(""),d=a()(u,2),p=d[0],f=d[1],h=Object(o.useState)("all"),m=a()(h,2),v=m[0],b=m[1],g=Object(o.useState)(10),y=a()(g,2),O=y[0],E=y[1],j=Object(o.useState)(0),k=a()(j,2),w=k[0],C=k[1];return i.a.createElement(s.Provider,{value:{rowData:l,setRowData:c,searchText:p,setSearchText:f,searchType:v,setSearchType:b,pageSize:O,setPageSize:E,currentPage:w,setCurrentPage:C}},t)};u.propTypes={children:c.a.oneOfType([c.a.arrayOf(c.a.node),c.a.node]).isRequired},t.b=s},256:function(e,t,n){"use strict";n.d(t,"a",(function(){return r})),n.d(t,"c",(function(){return a})),n.d(t,"d",(function(){return o})),n.d(t,"b",(function(){return i}));var r="clone",a="create",o="edit",i="config"},257:function(e,t,n){"use strict";n.d(t,"a",(function(){return p}));var r=n(251),a=n.n(r),o=n(74),i=n.n(o),l=n(131),c=n(130),s=n(40);function u(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function d(e){for(var t=1;t0&&T)):S.a.createElement(S.a.Fragment,null,S.a.createElement(Ee,{className:"dropdownBox","data-test-loading":N,value:e.value,name:t,error:o,placeholder:V,disabled:D,onChange:E,filter:!b,inline:!0},T&&T.length>0&&T),q?S.a.createElement(de.a,{"data-test":"clear",appearance:"secondary",icon:S.a.createElement(fe.a,null),onClick:function(){return c.handleChange(t,"")}}):null))}ke.propTypes={disabled:N.a.bool,value:N.a.string,error:N.a.bool,handleChange:N.a.func.isRequired,field:N.a.string,dependencyValues:N.a.object,controlOptions:N.a.shape({autoCompleteFields:N.a.array,endpointUrl:N.a.string,denyList:N.a.string,allowList:N.a.string,placeholder:N.a.string,dependencies:N.a.array,createSearchChoice:N.a.bool,referenceName:N.a.string,disableSearch:N.a.bool,labelField:N.a.string,hideClearBtn:N.a.bool})};var we,Ce=ke,Re=n(446),Se=n.n(Re),xe=n(7);function Ne(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function Pe(e){for(var t=1;t0&&P)}_e.propTypes={disabled:N.a.bool,value:N.a.string,error:N.a.bool,handleChange:N.a.func.isRequired,field:N.a.string,dependencyValues:N.a.object,controlOptions:N.a.shape({delimiter:N.a.string,placeholder:N.a.string,createSearchChoice:N.a.bool,referenceName:N.a.string,dependencies:N.a.array,endpointUrl:N.a.string,denyList:N.a.string,allowList:N.a.string,labelField:N.a.string,items:N.a.arrayOf(N.a.shape({label:N.a.string.isRequired,value:N.a.string.isRequired}))})};var Te=_e,Fe=n(263),De=n.n(Fe);function Ve(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 Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,r=y()(e);if(t){var a=y()(this).constructor;n=Reflect.construct(r,arguments,a)}else n=r.apply(this,arguments);return b()(this,n)}}var qe=function(e){m()(n,e);var t=Ve(n);function n(){var e;s()(this,n);for(var r=arguments.length,a=new Array(r),o=0;o * {\n &:first-child {\n width: 240px !important;\n }\n &:nth-child(3) {\n margin-left: 270px !important;\n width: 320px;\n }\n }\n"]))),lt=function(e){m()(n,e);var t=at(n);function n(e){var r,a;return s()(this,n),a=t.call(this,e),E()(f()(a),"isString",(function(e){return!!("string"==typeof e||e instanceof String)})),a.controlType=a.isString(e.entity.type)?tt[e.entity.type]:null,a.options=a.props.entity.options,a.props.entity.required||Object.prototype.hasOwnProperty.call(a.props.entity,"oauth_field")||null!==(r=a.options)&&void 0!==r&&r.placeholder||(a.options=rt(rt({},a.options),{},{placeholder:"optional"})),a}return d()(n,[{key:"render",value:function(){var e,t=this.props.entity,n=t.field,r=t.type,a=t.label,o=t.tooltip,i=t.help,l=t.encrypted,c=void 0!==l&&l,s=this.props.utilityFuncts,u=s.handleChange,d=s.addCustomValidator,p=s.utilCustomFunctions,f=this.props.markdownMessage||{},h=f.text,m=f.link,v=f.color,b=f.markdownType,g=f.token,y=f.linkText;if("custom"===this.props.entity.type){var O={value:this.props.value,mode:this.props.mode,serviceName:this.props.serviceName};e=this.controlType?S.a.createElement(this.controlType,{data:O,field:n,handleChange:u,addCustomValidator:d,utilCustomFunctions:p,controlOptions:this.options}):"No View Found for ".concat(r," type")}else e=this.controlType?S.a.createElement(this.controlType,{handleChange:u,value:this.props.value,field:n,controlOptions:this.options,error:this.props.error,disabled:this.props.disabled,encrypted:c,dependencyValues:this.props.dependencyValues}):"No View Found for ".concat(r," type");var E=S.a.createElement(S.a.Fragment,null,S.a.createElement(U,{text:h||"",link:m||"",color:v||"",markdownType:b||"",token:g||"",linkText:y||""}),i);return this.props.display&&S.a.createElement(it,{label:a,help:E,tooltip:o,error:this.props.error,dataName:n},S.a.createElement(ot,null,e))}}]),n}(S.a.PureComponent);lt.propTypes={mode:N.a.string,utilityFuncts:N.a.object,value:N.a.any,display:N.a.bool,error:N.a.bool,entity:N.a.object,disabled:N.a.bool,markdownMessage:N.a.object,serviceName:N.a.string,dependencyValues:N.a.object};var ct=lt,st={url:{regex:/^(?:(?:https?|ftp|opc\.tcp):\/\/)?(?:\S+(?::\S*)?@)?(?:(?:[1-9]\d?|1\d\d|2[01]\d|22[0-3])(?:\.(?:1?\d{1,2}|2[0-4]\d|25[0-5])){2}(?:\.(?:[1-9]\d?|1\d\d|2[0-4]\d|25[0-4]))|(?:(?:[a-z\u00a1-\uffff0-9]+-?_?)*[a-z\u00a1-\uffff0-9]+)(?:\.(?:[a-z\u00a1-\uffff0-9]+-?)*[a-z\u00a1-\uffff0-9]+)*(?:\.(?:[a-z\u00a1-\uffff]{2,}))?)(?::\d{2,5})?(?:\/[^\s]*)?$/,inputValueType:Object(xe.a)(111)},email:{regex:/^[a-zA-Z0-9.!#$%&'*+\/=?^_`{|}~-]+@[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)*$/,inputValueType:Object(xe.a)(112)},ipv4:{regex:/^(?:(?:[0-1]?\d{1,2}|2[0-4]\d|25[0-5])(?:\.|$)){4}$/,inputValueType:Object(xe.a)(113)},date:{regex:/^\s*((?:[+-]\d{6}|\d{4})-(?:\d\d-\d\d|W\d\d-\d|W\d\d|\d\d\d|\d\d))(?:(T| )(\d\d(?::\d\d(?::\d\d(?:[.,]\d+)?)?)?)([\+\-]\d\d(?::?\d\d)?|\s*Z)?)?$/,inputValueType:Object(xe.a)(114)}},ut=n(101);var dt,pt,ft=function(){function e(t){s()(this,e),E()(this,"checkIsFieldHasInput",(function(e){return void 0!==e&&""!==e&&null!==e})),this.entities=t,this.isName=t.find((function(e){return"name"===e.field}))}return d()(e,[{key:"RequiredValidator",value:function(e,t,n){return!this.checkIsFieldHasInput(n)&&{errorField:e,errorMsg:Object(xe.a)(6,[t])}}},{key:"StringValidator",value:function(e,t,n,r){var a=Object(ut.d)(n.minLength,n.maxLength).error;return a?{errorField:e,errorMsg:a}:this.checkIsFieldHasInput(r)&&r.length>n.maxLength?{errorField:e,errorMsg:n.errorMsg?n.errorMsg:Object(xe.a)(18,[t,n.maxLength])}:!!(this.checkIsFieldHasInput(r)&&r.lengthn.range[1]||o-1})))return{errorField:"name",errorMsg:Object(xe.a)(3,[r])};if(n.length>=1024)return{errorField:"name",errorMsg:Object(xe.a)(22,[r])}}var a,o,i;for(o=0;o1?n-1:0),o=1;o1){a.isAuthVal=!0;var l={};l.value=void 0!==a.currentInput.auth_type?a.currentInput.auth_type:i[0],l.display=!0,l.error=!1,l.disabled=!1,c.auth_type=l;var s={field:"auth_type",type:"singleSelect",label:"Auth Type"},d={basic:"Basic Authentication",oauth:"OAuth 2.0 Authentication"};s.options={},s.options.hideClearBtn=!0,s.options.autoCompleteFields=i.map((function(e){return{label:d[e],value:e}})),u.push(s)}else a.isSingleOauth=i.includes("oauth");if(i.forEach((function(n){var r=[],o=null==t?void 0:t.options[n];o&&(o.forEach((function(t){var o={};if(e.mode===ht.c)o.value=void 0!==(null==t?void 0:t.defaultValue)?t.defaultValue:null;else{var i=void 0!==(null==t?void 0:t.encrypted)&&(null==t?void 0:t.encrypted);o.value=i?"":a.currentInput[t.field]}o.display=void 0===c.auth_type||n===c.auth_type.value,o.error=!1,o.disabled=!1,c[t.field]=o,t.type=void 0!==(null==t?void 0:t.type)?t.type:"text","redirect_url"===t.field&&(o.value=window.location.href.split("?")[0].replace("configuration","".concat(a.appName.toLowerCase(),"_redirect")),o.disabled=!0),u.push(t),r.push(t.field)})),a.authMap[n]=r)})),i.includes("oauth")){var p={};p.popupWidth=t.options.oauth_popup_width?t.options.oauth_popup_width:600,p.popupHeight=t.options.oauth_popup_height?t.options.oauth_popup_height:600,p.authTimeout=t.options.oauth_timeout?t.options.oauth_timeout:180,p.authCodeEndpoint=t.options.auth_code_endpoint?t.options.auth_code_endpoint:null,p.accessTokenEndpoint=t.options.access_token_endpoint?t.options.access_token_endpoint:null,a.oauthConf=p}}}else{var f,h,m={};if(t.encrypted=void 0!==t.encrypted&&t.encrypted,e.mode===ht.c)m.value=void 0!==t.defaultValue?t.defaultValue:null,m.display=void 0===(null==t||null===(h=t.options)||void 0===h?void 0:h.display)||t.options.display,m.error=!1,m.disabled=!1,c[t.field]=m;else if(e.mode===ht.d){var v,b;m.value=void 0!==a.currentInput[t.field]?a.currentInput[t.field]:null,m.value=t.encrypted?"":m.value,m.display=void 0===(null==t||null===(v=t.options)||void 0===v?void 0:v.display)||t.options.display,m.error=!1,m.disabled=!1,"name"===t.field?m.disabled=!0:void 0!==(null==t||null===(b=t.options)||void 0===b?void 0:b.disableonEdit)&&(m.disabled=t.options.disableonEdit),c[t.field]=m}else if(e.mode===ht.a){var g;m.value="name"===t.field||t.encrypted?"":a.currentInput[t.field],m.display=void 0===(null==t||null===(g=t.options)||void 0===g?void 0:g.display)||t.options.display,m.error=!1,m.disabled=!1,c[t.field]=m}else{if(e.mode!==ht.b)throw new Error("Invalid mode :",e.mode);var y,O;t.defaultValue=void 0!==t.defaultValue?t.defaultValue:null,m.value=void 0!==a.currentInput[t.field]?a.currentInput[t.field]:t.defaultValue,m.value=t.encrypted?"":m.value,m.display=void 0===(null==t||null===(y=t.options)||void 0===y?void 0:y.display)||t.options.display,m.error=!1,m.disabled=!1,"name"===t.field?m.disabled=!0:void 0!==(null==t||null===(O=t.options)||void 0===O?void 0:O.disableonEdit)&&(m.disabled=t.options.disableonEdit),c[t.field]=m}var j=null===(f=t.options)||void 0===f?void 0:f.dependencies;j&&j.forEach((function(e){var n=a.dependencyMap.get(e);n?n[t.field]=j:a.dependencyMap.set(e,E()({},t.field,j))})),u.push(t)}})),a.entities=u;var d={};a.dependencyMap.forEach((function(e){d=gt(gt({},d),e)}));var p={};return Object.keys(d).forEach((function(e){var t=d[e],n={},r=!0;t.forEach((function(e){var t=!!a.entities.find((function(t){return t.field===e})).required,o=c[e].value;t&&!o?(r=!1,n[e]=null):n[e]=o})),r&&(p[e]={dependencyValues:{$set:n}})})),c=M()(c,p),a.state={data:c,errorMsg:"",warningMsg:""},a.hookDeferred&&a.hookDeferred.then((function(){if("function"==typeof a.hook.onCreate)try{a.hook.onCreate()}catch(e){console.error(e)}})),a}return d()(n,[{key:"render",value:function(){var e=this;return this.flag&&(this.hookDeferred&&this.hookDeferred.then((function(){if("function"==typeof e.hook.onRender)try{e.hook.onRender()}catch(e){console.error(e)}})),this.props.mode===ht.d&&this.hookDeferred&&this.hookDeferred.then((function(){if("function"==typeof e.hook.onEditLoad)try{e.hook.onEditLoad()}catch(e){console.error(e)}})),this.flag=!1),S.a.createElement("div",null,S.a.createElement("form",{style:this.props.mode===ht.b?{marginTop:"25px"}:{}},this.generateWarningMessage(),this.generateErrorMessage(),this.renderGroupElements(),this.entities.map((function(t){if(t.isGrouping)return null;var n=e.state.data[t.field];return n.placeholder&&(t=gt(gt({},t),{},{options:gt(gt({},t.options),{},{placeholder:n.placeholder})})),S.a.createElement(ct,{key:t.field,utilityFuncts:e.utilControlWrapper,value:n.value,display:n.display,error:n.error,entity:t,serviceName:e.props.serviceName,mode:e.props.mode,disabled:n.disabled,markdownMessage:n.markdownMessage,dependencyValues:n.dependencyValues||null})}))))}}]),n}(R.PureComponent);E()(jt,"contextType",vt.b),jt.propTypes={page:N.a.string,serviceName:N.a.string,stanzaName:N.a.string,currentServiceState:N.a.object,mode:N.a.string,handleFormSubmit:N.a.func};t.a=jt},316:function(e,t,n){"use strict";n.d(t,"b",(function(){return r})),n.d(t,"a",(function(){return a}));var r="page",a="modal"},323:function(e,t,n){"use strict";var r=n(251),a=n.n(r),o=n(63),i=n.n(o),l=n(0),c=n.n(l),s=n(281),u=n.n(s),d=n(74),p=n.n(d),f=n(3),h=n.n(f),m=n(68),v=n(257),b=n(40),g=n(317),y=n.n(g),O=n(282),E=n.n(O),j=n(6),k=n(284),w=n(256),C=n(43),R=n(13),S=n.n(R),x=n(412),N=n.n(x),P=n(1),M=n(28),_=n.n(M),T=n(29),F=n.n(T),D=n(119),V=n.n(D),q=n(31),A=n.n(q),z=n(32),I=n.n(z),B=n(20),L=n.n(B),H=n(34);function U(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 Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,r=L()(e);if(t){var a=L()(this).constructor;n=Reflect.construct(r,arguments,a)}else n=r.apply(this,arguments);return I()(this,n)}}var $=function(e){A()(n,e);var t=U(n);function n(e){var r;return _()(this,n),r=t.call(this,e),a()(V()(r),"loadCustomControl",(function(){return new Promise((function(e){if("external"===r.props.type)import("".concat(Object(H.a)(),"/custom/").concat(r.props.fileName,".js")).then((function(t){var n=t.default;e(n)}));else{var t=Object(b.d)().meta.name;require(["app/".concat(t,"/js/build/custom/").concat(r.props.fileName)],(function(t){return e(t)}))}}))})),r.state={loading:!0},r.shouldRender=!0,r}return F()(n,[{key:"componentDidMount",value:function(){var e=this,t=Object(b.d)();this.setState({loading:!0}),this.loadCustomControl().then((function(n){e.customControl=new n(t,e.props.serviceName,e.el,e.props.row,e.props.field),e.setState({loading:!1})}))}},{key:"shouldComponentUpdate",value:function(e,t){return this.props.row!==e.row||!(t.loading||!this.shouldRender)&&(this.shouldRender=!1,!0)}},{key:"render",value:function(){var e=this;if(!this.state.loading)try{this.customControl.render(this.props.row,this.props.field)}catch(e){console.error(e)}return c.a.createElement(c.a.Fragment,null,this.state.loading&&Object(j._)("Loading..."),c.a.createElement("span",{ref:function(t){e.el=t},style:{visibility:this.state.loading?"hidden":"visible"}}))}}]),n}(l.Component);$.propTypes={serviceName:h.a.string.isRequired,row:h.a.object.isRequired,field:h.a.string,fileName:h.a.string.isRequired,type:h.a.string};var W,K=$,Z=Object(P.default)(E.a.Cell)(W||(W=S()(["\n border-top: none;\n"])));function G(e,t,n){var r=Object(b.d)().pages.inputs.table.customRow;return c.a.createElement(E.a.Row,{key:"".concat(t.id,"-expansion")},c.a.createElement(Z,{colSpan:e},r&&r.src?c.a.createElement(c.a.Fragment,null,c.a.createElement(K,{serviceName:t.serviceName,row:t,fileName:r.src})):c.a.createElement(N.a,{termWidth:250},function(e,t){var n=[];return null!=t&&t.length&&t.forEach((function(t){var r=Object(j._)(t.label);t.field in e&&null!==e[t.field]&&""!==e[t.field]&&(n.push(c.a.createElement(N.a.Term,{key:t.field},r)),n.push(c.a.createElement(N.a.Description,{key:"".concat(t.field,"_decr")},t.mapping&&t.mapping[e[t.field]]?t.mapping[e[t.field]]:String(e[t.field]))))})),n}(t,n))))}var X,J,Q=n(316),Y=n(67),ee=n.n(Y),te=n(263),ne=n.n(te),re=n(319),ae=n.n(re),oe=n(283),ie=n.n(oe),le=n(413),ce=n.n(le),se=n(414),ue=n.n(se),de=n(415),pe=n.n(de),fe=Object(P.default)(E.a.Cell)(X||(X=S()(["\n padding: 2px;\n"]))),he=P.default.div(J||(J=S()(["\n display: flex;\n\n .toggle_switch {\n padding: 0;\n margin-right: 10px;\n }\n"])));function me(e){var t=e.row,n=e.columns,r=e.headerMapping,a=e.handleToggleActionClick,o=e.handleEditActionClick,i=e.handleCloneActionClick,s=e.handleDeleteActionClick,u=Object(l.useCallback)((function(e){return c.a.createElement(fe,{"data-column":"actions",key:e.id},c.a.createElement(ae.a,null,c.a.createElement(ie.a,{content:Object(j._)("Edit")},c.a.createElement(m.a,{appearance:"flat",icon:c.a.createElement(ce.a,{screenReaderText:null,size:1}),onClick:function(){return o(e)},className:"editBtn"})),c.a.createElement(ie.a,{content:Object(j._)("Clone")},c.a.createElement(m.a,{appearance:"flat",icon:c.a.createElement(ue.a,{screenReaderText:null,size:1}),onClick:function(){return i(e)},className:"cloneBtn"})),c.a.createElement(ie.a,{content:Object(j._)("Delete")},c.a.createElement(m.a,{appearance:"destructive",icon:c.a.createElement(pe.a,{screenReaderText:null,size:1}),onClick:function(){return s(e)},className:"deleteBtn"}))))}),[o,i,s]),d="Enabled";return t.__toggleShowSpinner?d=c.a.createElement(ee.a,null):t.disabled&&(d=null!=r&&r.disabled&&r.disabled[t.disabled]?r.disabled[t.disabled]:"Disabled"),c.a.createElement(c.a.Fragment,null,c.a.createElement(E.a.Row,y()({key:t.id},e),n&&n.length&&n.map((function(e){var n="";if(e.customCell&&e.customCell.src)n=c.a.createElement(E.a.Cell,{"data-column":e.field,key:e.field},function(e,n){return c.a.createElement(K,{serviceName:t.serviceName,field:n.field,row:e,fileName:n.customCell.src,type:n.customCell.type})}(t,e));else if("disabled"===e.field){var o,i;n=c.a.createElement(E.a.Cell,{"data-column":e.field,key:e.field},c.a.createElement(he,null,c.a.createElement(ne.a,{key:t.name,value:t.disabled,onClick:function(){return a(t)},selected:!t.disabled,disabled:t.__toggleShowSpinner,appearance:"toggle",className:"toggle_switch",selectedLabel:Object(j._)(null!=r&&null!==(o=r.disabled)&&void 0!==o&&o.false?r.disabled.false:"Enabled"),unselectedLabel:Object(j._)(null!=r&&null!==(i=r.disabled)&&void 0!==i&&i.true?r.disabled.true:"Disabled")}),c.a.createElement("span",{"data-test":"status"},d)))}else n="actions"===e.field?u(t):c.a.createElement(E.a.Cell,{"data-column":e.field,key:e.field},r[e.field]&&Object.prototype.hasOwnProperty.call(r[e.field],t[e.field])?r[e.field][t[e.field]]:t[e.field]);return n}))))}me.propTypes={row:h.a.any,columns:h.a.array,headerMapping:h.a.object,handleToggleActionClick:h.a.func,handleEditActionClick:h.a.func,handleCloneActionClick:h.a.func,handleDeleteActionClick:h.a.func};var ve,be=c.a.memo(me),ge=n(285),ye=n(30),Oe=n.n(ye),Ee=n(25),je=n.n(Ee),ke=n(83),we=n.n(ke),Ce=n(255),Re=n(7);function Se(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function xe(e){for(var t=1;t1?Object(j._)(" ".concat(v,"s")):Object(j._)(" ".concat(v))),t===C.b?c.a.createElement(m.c,null,c.a.createElement(Ae.a,{value:i,className:"dropdownPage",onChange:function(e,t){var n=t.value;u(0),d(n)}},c.a.createElement(Ae.a.Option,{key:"10",label:Object(j._)("10 Per Page"),value:10}),c.a.createElement(Ae.a.Option,{key:"25",label:Object(j._)("25 Per Page"),value:25}),c.a.createElement(Ae.a.Option,{key:"50",label:Object(j._)("50 Per Page"),value:50})),function(){if(n.length<2)return null;var e=[];return(e=n.map((function(e){return c.a.createElement(Ae.a.Option,{key:e.name,label:e.title,value:e.name})}))).unshift(c.a.createElement(Ae.a.Option,{key:"all",label:Object(j._)("All"),value:"all"})),c.a.createElement(Ae.a,{value:p,className:"dropdownInput",onChange:function(e,t){var n=t.value;u(0),f(n)}},e)}()):null),c.a.createElement(Ze,null,c.a.createElement(We,{handleChange:function(e,t){var n=t.value;u(0),h(n)}})),c.a.createElement("div",null,c.a.createElement(Ie.a,{onChange:function(e,t){var n=t.page;return u(n-1)},current:s+1,alwaysShowLastPageLink:!0,totalPages:Math.ceil(r/i)}),t===C.b?null:c.a.createElement(Oe.a,{label:Object(j._)("Add"),appearance:"primary",onClick:a})))}Ge.propTypes={page:h.a.string,services:h.a.array,totalElement:h.a.number,handleRequestModalOpen:h.a.func};var Xe=Ge;function Je(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function Qe(e){for(var t=1;t(void 0===t[f]?"":t[f])?1:-1;if("desc"===O){var n=void 0===e[f]?"":e[f];return(void 0===t[f]?"":t[f])>n?1:-1}return 0})),n=t.slice(D*F,(D+1)*F);return D>0&&!n.length&&(n=t.slice((D-1)*F,F)),[n,e.length]}(),W=i()($,2),K=W[0],Z=W[1];return c.a.createElement(c.a.Fragment,null,c.a.createElement(Xe,{page:t,services:L,totalElement:Z,handleRequestModalOpen:r}),c.a.createElement(Ve,{page:t,serviceName:n,data:K,handleToggleActionClick:function(e){return function(e){T((function(t){return u()(t,a()({},e.serviceName,a()({},e.name,{__toggleShowSpinner:{$set:!0}})))}));var t=new URLSearchParams;t.append("disabled",!e.disabled),Object(v.a)({serviceName:"".concat(e.serviceName,"/").concat(e.name),body:t,customHeaders:{"Content-Type":"application/x-www-form-urlencoded"},method:"post",handleError:!0,callbackOnError:function(){T((function(t){return u()(t,a()({},e.serviceName,a()({},e.name,{__toggleShowSpinner:{$set:!1}})))}))}}).then((function(t){T((function(n){return u()(n,a()({},e.serviceName,a()({},e.name,{disabled:{$set:Object(b.f)(t.data.entry[0].content.disabled)},__toggleShowSpinner:{$set:!1}})))}))}))}(e)},handleSort:function(e,t){var n=f===t.sortKey?O:"none";E("asc"===n?"desc":"asc"),h(t.sortKey)},sortDir:O,sortKey:f,handleOpenPageStyleDialog:o}))}Ye.propTypes={page:h.a.string,serviceName:h.a.string,handleRequestModalOpen:h.a.func,handleOpenPageStyleDialog:h.a.func};t.a=Object(l.memo)(Ye)},324:function(e,t,n){"use strict";var r=n(28),a=n.n(r),o=n(29),i=n.n(o),l=n(31),c=n.n(l),s=n(32),u=n.n(s),d=n(20),p=n.n(d),f=n(0),h=n.n(f),m=n(3),v=n.n(m),b=n(307),g=n.n(b),y=n(6),O=n(457),E=n.n(O),j=n(129),k=n.n(j),w=n(120),C=n.n(w),R={ERR0001:h.a.createElement(h.a.Fragment,null,"This is normal on Splunk search heads as they do not require an Input page. Check your installation or return to the ",h.a.createElement(C.a,{to:"configuration"},"configuration page"),"."),ERR0002:"Configuration page failed to load, the server reported internal errors which may indicate you do not have access to this page.",ERR0003:"Failed to load content due to no response from server!",ERR0004:"Failed to load content due to failed request processing!",ERR0005:"Failed to load current state for selected entity in form!"};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 Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,r=p()(e);if(t){var a=p()(this).constructor;n=Reflect.construct(r,arguments,a)}else n=r.apply(this,arguments);return u()(this,n)}}var x=function(e){c()(n,e);var t=S(n);function n(e){var r;return a()(this,n),(r=t.call(this,e)).state={errorCode:null,error:null,errorInfo:null},r}return i()(n,[{key:"componentDidCatch",value:function(e,t){this.setState({error:e,errorInfo:t})}},{key:"render",value:function(){var e;return this.state.error?h.a.createElement("div",{align:"center",style:{marginTop:"10%"}},h.a.createElement(E.a,{style:{boxShadow:"10px 10px 5px #aaaaaa"}},h.a.createElement(E.a.Header,null,h.a.createElement(g.a,{style:{textAlign:"center"},level:2},h.a.createElement(k.a,{style:{fontSize:"120px",color:"#ff9900"}}),h.a.createElement("br",null),h.a.createElement("br",null),"ERR0001"===this.state.errorCode?Object(y._)("Failed to load Inputs Page"):Object(y._)("Something went wrong!"))),h.a.createElement(E.a.Body,null,this.state.errorCode?h.a.createElement(h.a.Fragment,null,Object(y._)(R[this.state.errorCode]),h.a.createElement("br",null),h.a.createElement("br",null)):null,h.a.createElement("details",{style:{whiteSpace:"pre-wrap"}},null===(e=this.state.error)||void 0===e?void 0:e.toString())),h.a.createElement(E.a.Footer,{showBorder:!1},this.state.errorCode?this.state.errorCode:null))):this.props.children}}],[{key:"getDerivedStateFromError",value:function(e){return{errorCode:e.uccErrorCode}}}]),n}(h.a.Component);x.propTypes={children:v.a.oneOfType([v.a.arrayOf(v.a.node),v.a.node]).isRequired};t.a=x}}]); +//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9zcmMvbWFpbi93ZWJhcHAvY29udGV4dC9UYWJsZUNvbnRleHQuanN4Iiwid2VicGFjazovLy8uL3NyYy9tYWluL3dlYmFwcC9jb25zdGFudHMvbW9kZXMuanMiLCJ3ZWJwYWNrOi8vLy4vc3JjL21haW4vd2ViYXBwL3V0aWwvYXhpb3NDYWxsV3JhcHBlci5qcyIsIndlYnBhY2s6Ly8vLi9zcmMvbWFpbi93ZWJhcHAvcGFnZXMvSW5wdXQvSW5wdXRQYWdlU3R5bGUuanN4Iiwid2VicGFjazovLy8uL3NyYy9tYWluL3dlYmFwcC9ob29rcy91c2VRdWVyeS5qcyIsIndlYnBhY2s6Ly8vLi9zcmMvbWFpbi93ZWJhcHAvY29tcG9uZW50cy9FbnRpdHlNb2RhbC5qc3giLCJ3ZWJwYWNrOi8vLy4vc3JjL21haW4vd2ViYXBwL2NvbXBvbmVudHMvTWFya2Rvd25NZXNzYWdlLmpzeCIsIndlYnBhY2s6Ly8vLi9zcmMvbWFpbi93ZWJhcHAvY29tcG9uZW50cy9IZWxwTGlua0NvbXBvbmVudC5qc3giLCJ3ZWJwYWNrOi8vLy4vc3JjL21haW4vd2ViYXBwL2NvbXBvbmVudHMvVGV4dENvbXBvbmVudC5qc3giLCJ3ZWJwYWNrOi8vLy4vc3JjL21haW4vd2ViYXBwL2NvbXBvbmVudHMvU2luZ2xlSW5wdXRDb21wb25lbnQuanN4Iiwid2VicGFjazovLy8uL3NyYy9tYWluL3dlYmFwcC9jb21wb25lbnRzL011bHRpSW5wdXRDb21wb25lbnQuanN4Iiwid2VicGFjazovLy8uL3NyYy9tYWluL3dlYmFwcC9jb21wb25lbnRzL0NoZWNrQm94Q29tcG9uZW50LmpzeCIsIndlYnBhY2s6Ly8vLi9zcmMvbWFpbi93ZWJhcHAvY29tcG9uZW50cy9SYWRpb0NvbXBvbmVudC5qc3giLCJ3ZWJwYWNrOi8vLy4vc3JjL21haW4vd2ViYXBwL2NvbXBvbmVudHMvUGxhY2Vob2xkZXJDb21wb25lbnQuanN4Iiwid2VicGFjazovLy8uL3NyYy9tYWluL3dlYmFwcC9jb21wb25lbnRzL0N1c3RvbUNvbnRyb2wuanN4Iiwid2VicGFjazovLy8uL3NyYy9tYWluL3dlYmFwcC9jb25zdGFudHMvQ29udHJvbFR5cGVNYXAuanMiLCJ3ZWJwYWNrOi8vLy4vc3JjL21haW4vd2ViYXBwL2NvbXBvbmVudHMvQ29udHJvbFdyYXBwZXIuanN4Iiwid2VicGFjazovLy8uL3NyYy9tYWluL3dlYmFwcC9jb25zdGFudHMvcHJlRGVmaW5lZFJlZ2V4LmpzIiwid2VicGFjazovLy8uL3NyYy9tYWluL3dlYmFwcC91dGlsL1ZhbGlkYXRvci5qcyIsIndlYnBhY2s6Ly8vLi9zcmMvbWFpbi93ZWJhcHAvY29tcG9uZW50cy9CYXNlRm9ybVZpZXcuanN4Iiwid2VicGFjazovLy8uL3NyYy9tYWluL3dlYmFwcC9jb25zdGFudHMvb0F1dGhFcnJvck1lc3NhZ2UuanMiLCJ3ZWJwYWNrOi8vLy4vc3JjL21haW4vd2ViYXBwL2NvbnN0YW50cy9kaWFsb2dTdHlsZXMuanMiLCJ3ZWJwYWNrOi8vLy4vc3JjL21haW4vd2ViYXBwL2NvbXBvbmVudHMvdGFibGUvQ3VzdG9tVGFibGVDb250cm9sLmpzeCIsIndlYnBhY2s6Ly8vLi9zcmMvbWFpbi93ZWJhcHAvY29tcG9uZW50cy90YWJsZS9UYWJsZUV4cGFuc2lvblJvdy5qc3giLCJ3ZWJwYWNrOi8vLy4vc3JjL21haW4vd2ViYXBwL2NvbXBvbmVudHMvdGFibGUvQ3VzdG9tVGFibGVSb3cuanN4Iiwid2VicGFjazovLy8uL3NyYy9tYWluL3dlYmFwcC9jb21wb25lbnRzL0RlbGV0ZU1vZGFsLmpzeCIsIndlYnBhY2s6Ly8vLi9zcmMvbWFpbi93ZWJhcHAvY29tcG9uZW50cy90YWJsZS9DdXN0b21UYWJsZS5qc3giLCJ3ZWJwYWNrOi8vLy4vc3JjL21haW4vd2ViYXBwL2NvbXBvbmVudHMvdGFibGUvVGFibGVGaWx0ZXIuanN4Iiwid2VicGFjazovLy8uL3NyYy9tYWluL3dlYmFwcC9jb21wb25lbnRzL3RhYmxlL1RhYmxlSGVhZGVyLmpzeCIsIndlYnBhY2s6Ly8vLi9zcmMvbWFpbi93ZWJhcHAvY29tcG9uZW50cy90YWJsZS9UYWJsZVdyYXBwZXIuanN4Iiwid2VicGFjazovLy8uL3NyYy9tYWluL3dlYmFwcC9jb25zdGFudHMvZXJyb3JDb2Rlcy5qc3giLCJ3ZWJwYWNrOi8vLy4vc3JjL21haW4vd2ViYXBwL2NvbXBvbmVudHMvRXJyb3JCb3VuZGFyeS5qc3giXSwibmFtZXMiOlsiVGFibGVDb250ZXh0IiwiY3JlYXRlQ29udGV4dCIsInJvd0RhdGEiLCJzZXRSb3dEYXRhIiwiVGFibGVDb250ZXh0UHJvdmlkZXIiLCJjaGlsZHJlbiIsInVzZVN0YXRlIiwic2VhcmNoVGV4dCIsInNldFNlYXJjaFRleHQiLCJzZWFyY2hUeXBlIiwic2V0U2VhcmNoVHlwZSIsInBhZ2VTaXplIiwic2V0UGFnZVNpemUiLCJjdXJyZW50UGFnZSIsInNldEN1cnJlbnRQYWdlIiwiUHJvdmlkZXIiLCJ2YWx1ZSIsInByb3BUeXBlcyIsIlByb3BUeXBlcyIsIm9uZU9mVHlwZSIsImFycmF5T2YiLCJub2RlIiwiaXNSZXF1aXJlZCIsIk1PREVfQ0xPTkUiLCJNT0RFX0NSRUFURSIsIk1PREVfRURJVCIsIk1PREVfQ09ORklHIiwiYXhpb3NDYWxsV3JhcHBlciIsInNlcnZpY2VOYW1lIiwiZW5kcG9pbnRVcmwiLCJwYXJhbXMiLCJib2R5IiwiY2FuY2VsVG9rZW4iLCJjdXN0b21IZWFkZXJzIiwibWV0aG9kIiwiaGFuZGxlRXJyb3IiLCJjYWxsYmFja09uRXJyb3IiLCJlbmRwb2ludCIsImdlbmVyYXRlRW5kUG9pbnRVcmwiLCJhcHBEYXRhIiwiYXBwIiwib3duZXIiLCJiYXNlSGVhZGVycyIsIkNTUkZUb2tlbiIsImhlYWRlcnMiLCJPYmplY3QiLCJhc3NpZ24iLCJ1cmwiLCJjcmVhdGVSRVNUVVJMIiwibmV3UGFyYW1zIiwib3V0cHV0X21vZGUiLCJvcHRpb25zIiwiY3JlZGVudGlhbHMiLCJkYXRhIiwiYXhpb3MiLCJlcnJvciIsIm1lc3NhZ2UiLCJpc0NhbmNlbCIsInJlc3BvbnNlIiwibWVzc2FnZXMiLCJ0ZXh0IiwicmVxdWVzdCIsImdlbmVyYXRlVG9hc3QiLCJQcm9taXNlIiwicmVqZWN0IiwiVGl0bGVDb21wb25lbnQiLCJzdHlsZWQiLCJkaXYiLCJhdHRycyIsImNsYXNzTmFtZSIsInZhcmlhYmxlcyIsImZvbnRTaXplWFhMYXJnZSIsIlN1YlRpdGxlQ29tcG9uZW50IiwiZm9udFNpemUiLCJ1c2VRdWVyeSIsIlVSTFNlYXJjaFBhcmFtcyIsInVzZUxvY2F0aW9uIiwic2VhcmNoIiwiTW9kYWxXcmFwcGVyIiwiTW9kYWwiLCJFbnRpdHlNb2RhbCIsInByb3BzIiwiaGFuZGxlUmVxdWVzdENsb3NlIiwiZm9ybSIsImN1cnJlbnQiLCJoYW5kbGVTdWJtaXQiLCJzZXQiLCJjbG9zZSIsInNldFN0YXRlIiwiaXNTdWJtaXRpdG5nIiwiUmVhY3QiLCJjcmVhdGVSZWYiLCJzdGF0ZSIsIm1vZGUiLCJidXR0b25UZXh0IiwiXyIsIm9wZW4iLCJ0aGlzIiwiSGVhZGVyIiwidGl0bGUiLCJmb3JtTGFiZWwiLCJvblJlcXVlc3RDbG9zZSIsIkJvZHkiLCJyZWYiLCJwYWdlIiwic3RhbnphTmFtZSIsImhhbmRsZUZvcm1TdWJtaXQiLCJGb290ZXIiLCJhcHBlYXJhbmNlIiwib25DbGljayIsImxhYmVsIiwiZGlzYWJsZWQiLCJDb21wb25lbnQiLCJzdHJpbmciLCJib29sIiwiZnVuYyIsIk1hcmtkb3duV3JhcHBlciIsInNwYW4iLCJjb2xvciIsIk1hcmtkb3duTWVzc2FnZSIsImRhdGEtdGVzdCIsIm1hcmtkb3duVGV4dCIsIm1hcmtkb3duVHlwZSIsInRvIiwibGluayIsImFycmF5IiwiZm4iLCJpIiwibGVuZ3RoIiwibWFwcGluZyIsImNvbmNhdCIsImZsYXRNYXAiLCJzcGxpdCIsInRva2VuIiwicGFydCIsImtleSIsImxpbmtUZXh0IiwicG9wIiwibWVtbyIsIkhlbHBMaW5rQ29tcG9uZW50IiwiY29udHJvbE9wdGlvbnMiLCJvcGVuSW5OZXdDb250ZXh0Iiwib2JqZWN0IiwiVGV4dFdyYXBwZXIiLCJUZXh0IiwiVGV4dENvbXBvbmVudCIsImUiLCJoYW5kbGVDaGFuZ2UiLCJmaWVsZCIsImlubGluZSIsInBsYWNlaG9sZGVyIiwidG9TdHJpbmciLCJvbkNoYW5nZSIsInR5cGUiLCJlbmNyeXB0ZWQiLCJudW1iZXIiLCJTZWxlY3RXcmFwcGVyIiwiU2VsZWN0IiwiU3R5bGVkRGl2IiwiU2luZ2xlSW5wdXRDb21wb25lbnQiLCJkZXBlbmRlbmN5VmFsdWVzIiwicmVzdFByb3BzIiwiZGVueUxpc3QiLCJhbGxvd0xpc3QiLCJkZXBlbmRlbmNpZXMiLCJjcmVhdGVTZWFyY2hDaG9pY2UiLCJyZWZlcmVuY2VOYW1lIiwiZGlzYWJsZVNlYXJjaCIsImxhYmVsRmllbGQiLCJhdXRvQ29tcGxldGVGaWVsZHMiLCJoaWRlQ2xlYXJCdG4iLCJvYmoiLCJPcHRpb24iLCJDb21ib0JveCIsIkhlYWRpbmciLCJnZW5lcmF0ZU9wdGlvbnMiLCJpdGVtcyIsImZvckVhY2giLCJpdGVtIiwicHVzaCIsImNoaWxkIiwibG9hZGluZyIsInNldExvYWRpbmciLCJzZXRPcHRpb25zIiwidXNlRWZmZWN0Iiwic291cmNlIiwiQ2FuY2VsVG9rZW4iLCJjb3VudCIsInRoZW4iLCJmaWx0ZXJSZXNwb25zZSIsImVudHJ5IiwiY2FuY2VsIiwiZWZmZWN0aXZlRGlzYWJsZWQiLCJlZmZlY3RpdmVQbGFjZWhvbGRlciIsImVmZmVjdGl2ZUlzQ2xlYXJhYmxlIiwibmFtZSIsImRhdGEtdGVzdC1sb2FkaW5nIiwiZmlsdGVyIiwiaWNvbiIsInNoYXBlIiwiTXVsdGlTZWxlY3RXcmFwcGVyIiwiTXVsdGlzZWxlY3QiLCJNdWx0aUlucHV0Q29tcG9uZW50IiwiZGVsaW1pdGVyIiwiaXRlbUxpc3QiLCJtYXAiLCJnZXRGb3JtYXR0ZWRNZXNzYWdlIiwidmFsdWVMaXN0IiwidmFsdWVzIiwiYWxsb3dOZXdWYWx1ZXMiLCJqb2luIiwiQ2hlY2tCb3hDb21wb25lbnQiLCJpc0ZhbHNlIiwic2VsZWN0ZWQiLCJSYWRpb0JhcldyYXBwZXIiLCJSYWRpb0JhciIsIlJhZGlvQ29tcG9uZW50IiwiUGxhY2Vob2xkZXJDb21wb25lbnQiLCJkZWZhdWx0VmFsdWUiLCJDdXN0b21Db250cm9sIiwibW9kdWxlIiwiYXBwTmFtZSIsInJlc29sdmUiLCJpbXBvcnQiLCJnZXRCdWlsZERpclBhdGgiLCJleHRlcm5hbCIsIkNvbnRyb2wiLCJfX25vbl93ZWJwYWNrX3JlcXVpcmVfXyIsIm5ld1ZhbHVlIiwic2hvdWxkUmVuZGVyIiwiZ2xvYmFsQ29uZmlnIiwiZ2V0VW5pZmllZENvbmZpZ3MiLCJtZXRhIiwibG9hZEN1c3RvbUNvbnRyb2wiLCJzcmMiLCJjdXN0b21Db250cm9sIiwiZWwiLCJzZXRWYWx1ZSIsInV0aWxDdXN0b21GdW5jdGlvbnMiLCJyZW5kZXIiLCJ2YWxpZGF0aW9uIiwiYWRkQ3VzdG9tVmFsaWRhdG9yIiwibmV4dFByb3BzIiwibmV4dFN0YXRlIiwic3R5bGUiLCJ2aXNpYmlsaXR5Iiwic2luZ2xlU2VsZWN0IiwiaGVscExpbmsiLCJtdWx0aXBsZVNlbGVjdCIsImNoZWNrYm94IiwicmFkaW8iLCJjdXN0b20iLCJDdXN0b21FbGVtZW50IiwiQ29udHJvbEdyb3VwV3JhcHBlciIsIkNvbnRyb2xHcm91cCIsImRhdGFOYW1lIiwiQ29udHJvbFdyYXBwZXIiLCJzdHIiLCJTdHJpbmciLCJjb250cm9sVHlwZSIsImlzU3RyaW5nIiwiZW50aXR5IiwiQ09OVFJPTF9UWVBFX01BUCIsInJlcXVpcmVkIiwicHJvdG90eXBlIiwiaGFzT3duUHJvcGVydHkiLCJjYWxsIiwicm93VmlldyIsInRvb2x0aXAiLCJoZWxwIiwidXRpbGl0eUZ1bmN0cyIsIm1hcmtkb3duTWVzc2FnZSIsImNyZWF0ZUVsZW1lbnQiLCJoZWxwVGV4dCIsImRpc3BsYXkiLCJQdXJlQ29tcG9uZW50IiwiYW55IiwiUFJFREVGSU5FRF9WQUxJREFUT1JTX0RJQ1QiLCJyZWdleCIsImlucHV0VmFsdWVUeXBlIiwiZW1haWwiLCJpcHY0IiwiZGF0ZSIsIlZhbGlkYXRvciIsImVudGl0aWVzIiwiYXR0clZhbHVlIiwidW5kZWZpbmVkIiwiaXNOYW1lIiwiZmluZCIsImNoZWNrSXNGaWVsZEhhc0lucHV0IiwiZXJyb3JGaWVsZCIsImVycm9yTXNnIiwidmFsaWRhdG9yIiwicGFyc2VTdHJpbmdWYWxpZGF0b3IiLCJtaW5MZW5ndGgiLCJtYXhMZW5ndGgiLCJwYXJzZVJlZ2V4UmF3U3RyIiwicGF0dGVybiIsInJlc3VsdCIsInRlc3QiLCJwYXJzZU51bWJlclZhbGlkYXRvciIsInJhbmdlIiwidmFsIiwiTnVtYmVyIiwiaXNOYU4iLCJ0YXJnZXRWYWx1ZSIsIm5hbWVGaWVsZExhYmVsIiwic3RhcnRzV2l0aCIsInRvTG93ZXJDYXNlIiwic29tZSIsImQiLCJpbmRleE9mIiwicmV0IiwiaiIsIlJlcXVpcmVkVmFsaWRhdG9yIiwidmFsaWRhdG9ycyIsIlN0cmluZ1ZhbGlkYXRvciIsIlJlZ2V4VmFsaWRhdG9yIiwiTnVtYmVyVmFsaWRhdG9yIiwiUHJlRGVmaW5lZFJlZ2V4VmFsaWRhdG9yIiwiQ3VzdG9tVmFsaWRhdG9yIiwidmFsaWRhdG9yRnVuYyIsIkNvbGxhcHNpYmxlUGFuZWxXcmFwcGVyIiwiQ29sbGFwc2libGVQYW5lbCIsIkN1c3RvbUdyb3VwTGFiZWwiLCJCYXNlRm9ybVZpZXciLCJjb250ZXh0Iiwic2VydmljZSIsImdyb3VwcyIsImdyb3VwIiwiZmllbGRzIiwiZmllbGROYW1lIiwiaW5kZXgiLCJmaW5kSW5kZXgiLCJ1cGRhdGVkT2JqIiwiSlNPTiIsInBhcnNlIiwic3RyaW5naWZ5IiwiaXNHcm91cGluZyIsInNwbGljZSIsImNsZWFyRXJyb3JNc2ciLCJkYXRhZGljdCIsImtleXMiLCJob29rIiwib25TYXZlIiwiZXhlY3V0ZVZhbGlkYXRpb25TdWJtaXQiLCJ0ZW1FbnRpdGllcyIsImluY2x1ZGVzIiwiQm9vbGVhbiIsInNldEVycm9yRmllbGRNc2ciLCJpc09BdXRoIiwicmVxRmllbGRzIiwiYXV0aE1hcCIsImF1dGhfdHlwZSIsImlzQXV0aFZhbCIsImRvVmFsaWRhdGlvbiIsInNhdmVWYWxpZGF0b3IiLCJmb3JtRGF0YSIsInBhcnNlRnVuY3Rpb25SYXdTdHIiLCJTYXZlVmFsaWRhdG9yIiwic2V0RXJyb3JNc2ciLCJpc1NpbmdsZU9hdXRoIiwicGFyYW1ldGVycyIsImNsaWVudF9pZCIsInJlZGlyZWN0X3VybCIsInN0YXRlRW5hYmxlZCIsImlzb2F1dGhTdGF0ZSIsInN0YXRlX2VuYWJsZWQiLCJvYXV0aF9zdGF0ZSIsInV1aWR2NCIsInJlcGxhY2UiLCJob3N0Iiwib2F1dGhDb25mIiwiYXV0aENvZGVFbmRwb2ludCIsImEiLCJpc0NhbGxlZCIsImlzRXJyb3IiLCJpc1Jlc3BvbnNlIiwiY2hpbGRXaW4iLCJ3aW5kb3ciLCJwb3B1cFdpZHRoIiwicG9wdXBIZWlnaHQiLCJnZXRNZXNzYWdlIiwiaGFuZGxlT2F1dGhUb2tlbiIsIndhaXRGb3JBdXRoZW50aWNhdGlvbiIsImF1dGhUaW1lb3V0IiwiY2xvc2VkIiwid2FpdEZvckJhY2tlbmRSZXNwb25zZSIsInNhdmVEYXRhIiwib25TYXZlUHJvbWlzZSIsImFwcGVuZCIsInRtcE9iaiIsImNvbnRlbnQiLCJpZCIsInVwZGF0ZSIsIiRtZXJnZSIsIm9uU2F2ZVN1Y2Nlc3MiLCJtb2RlX2NvbmZpZ190aXRsZSIsImVyciIsImVycm9yU3VibWl0TXNnIiwicGFyc2VFcnJvck1zZyIsIm9uU2F2ZUZhaWwiLCJjaGFuZ2VzIiwiJHNldCIsImRlcGVuZGVuY3lNYXAiLCJoYXMiLCJnZXQiLCJsb2FkRmllbGQiLCJsb2FkIiwiZGVwZW5kZW5jeSIsImN1cnJlbnRWYWx1ZSIsIm5ld0ZpZWxkcyIsInRlbXBTdGF0ZSIsImNsZWFyQWxsRXJyb3JNc2ciLCJob29rRGVmZXJyZWQiLCJ4IiwibXNnIiwicHJldmlvdXNTdGF0ZSIsIlN0YXRlIiwid2FybmluZ01zZyIsIm5ld0RhdGEiLCJ0ZW1EYXRhIiwiSG9vayIsInV0aWwiLCJjb2RlIiwic3RhdGVSZXNwb25zZSIsImRlY29kZVVSSUNvbXBvbmVudCIsImFjY2Vzc1Rva2VuRW5kcG9pbnQiLCJncmFudF90eXBlIiwiY2xpZW50X3NlY3JldCIsInJlZGlyZWN0X3VyaSIsIk9BdXRoRW5kcG9pbnQiLCJhY2Nlc3NUb2tlbiIsImFjY2Vzc190b2tlbiIsImluc3RhbmNlVXJsIiwiaW5zdGFuY2VfdXJsIiwicmVmcmVzaFRva2VuIiwicmVmcmVzaF90b2tlbiIsInNsZWVwIiwidGltZW91dCIsImFyZ3MiLCJtcyIsInNldFRpbWVvdXQiLCJjb2xscHNpYmxlRWxlbWVudCIsInRlbVN0YXRlIiwidXRpbENvbnRyb2xXcmFwcGVyIiwiaXNFeHBhbmRhYmxlIiwiZmxhZyIsImN1cnJlbnRJbnB1dCIsImVuY29kZVVSSUNvbXBvbmVudCIsImNhbGxiYWNrIiwiUEFHRV9JTlBVVCIsInBhZ2VzIiwiaW5wdXRzIiwic2VydmljZXMiLCJ1cGRhdGVFbnRpdGllc0Zvckdyb3VwIiwibG9hZEhvb2siLCJjb25maWd1cmF0aW9uIiwidGFicyIsInRhYiIsInRhYmxlIiwiY3VycmVudFNlcnZpY2VTdGF0ZSIsIk1hcCIsIlBBR0VfQ09ORiIsImF1dGhUeXBlIiwib2F1dGhfc3RhdGVfZW5hYmxlZCIsInRlbXBFbnRpdHkiLCJiYXNpYyIsIm9hdXRoIiwiYXV0aGZpZWxkcyIsImlzRW5jcnlwdGVkIiwibG9jYXRpb24iLCJocmVmIiwib2F1dGhDb25mRGF0YSIsIm9hdXRoX3BvcHVwX3dpZHRoIiwib2F1dGhfcG9wdXBfaGVpZ2h0Iiwib2F1dGhfdGltZW91dCIsImF1dGhfY29kZV9lbmRwb2ludCIsImFjY2Vzc190b2tlbl9lbmRwb2ludCIsImRpc2FibGVvbkVkaXQiLCJFcnJvciIsImNoYW5nZUZpZWxkcyIsImZsYXR0ZW5lZE1hcCIsIm9uQ3JlYXRlIiwiY29uc29sZSIsIm9uUmVuZGVyIiwib25FZGl0TG9hZCIsIm1hcmdpblRvcCIsImdlbmVyYXRlV2FybmluZ01lc3NhZ2UiLCJnZW5lcmF0ZUVycm9yTWVzc2FnZSIsInJlbmRlckdyb3VwRWxlbWVudHMiLCJTVFlMRV9QQUdFIiwiU1RZTEVfTU9EQUwiLCJDdXN0b21UYWJsZUNvbnRyb2wiLCJmaWxlTmFtZSIsInJvdyIsIlRhYmxlQ2VsbFdyYXBwZXIiLCJUYWJsZSIsIkNlbGwiLCJnZXRFeHBhbnNpb25Sb3ciLCJjb2xTcGFuIiwibW9yZUluZm8iLCJjdXN0b21Sb3ciLCJSb3ciLCJ0ZXJtV2lkdGgiLCJEZWZpbml0aW9uTGlzdHMiLCJUZXJtIiwiRGVzY3JpcHRpb24iLCJnZXRFeHBhbnNpb25Sb3dEYXRhIiwiU3dpdGNoV3JhcHBlciIsIkN1c3RvbVRhYmxlUm93IiwiY29sdW1ucyIsImhlYWRlck1hcHBpbmciLCJoYW5kbGVUb2dnbGVBY3Rpb25DbGljayIsImhhbmRsZUVkaXRBY3Rpb25DbGljayIsImhhbmRsZUNsb25lQWN0aW9uQ2xpY2siLCJoYW5kbGVEZWxldGVBY3Rpb25DbGljayIsInJvd0FjdGlvbnNQcmltYXJ5QnV0dG9uIiwidXNlQ2FsbGJhY2siLCJzZWxlY3RlZFJvdyIsImRhdGEtY29sdW1uIiwic2NyZWVuUmVhZGVyVGV4dCIsInNpemUiLCJzdGF0dXNDb250ZW50IiwiX190b2dnbGVTaG93U3Bpbm5lciIsImhlYWRlciIsImNlbGxIVE1MIiwiY3VzdG9tQ2VsbCIsImdldEN1c3RvbUNlbGwiLCJzZWxlY3RlZExhYmVsIiwidW5zZWxlY3RlZExhYmVsIiwiRGVsZXRlTW9kYWwiLCJFcnJvck1zZyIsInByZXZTdGF0ZSIsImlzRGVsZXRpbmciLCIkdW5zZXQiLCJkZWxldGVNc2ciLCJoYW5kbGVEZWxldGUiLCJDdXN0b21UYWJsZSIsImhhbmRsZU9wZW5QYWdlU3R5bGVEaWFsb2ciLCJoYW5kbGVTb3J0Iiwic29ydERpciIsInNvcnRLZXkiLCJ1bmlmaWVkQ29uZmlncyIsImVudGl0eU1vZGFsIiwic2V0RW50aXR5TW9kYWwiLCJkZWxldGVNb2RhbCIsInNldERlbGV0ZU1vZGFsIiwidXNlQ29udGV4dCIsInRhYmxlQ29uZmlnIiwic2VydmljZVRvU3R5bGVNYXAiLCJxdWVyeSIsInNlcnZpY2VLZXkiLCJjb2x1bW4iLCJoYW5kbGVFbnRpdHlDbG9zZSIsImhhbmRsZURlbGV0ZUNsb3NlIiwiZ2V0VGFibGVIZWFkZXJDZWxsIiwiSGVhZCIsImhlYWREYXRhIiwiSGVhZENlbGwiLCJvblNvcnQiLCJzdHJpcGVSb3dzIiwicm93RXhwYW5zaW9uIiwiZXhwYW5zaW9uUm93IiwiZ2VuZXJhdGVNb2RhbERpYWxvZyIsIlRhYmxlRmlsdGVyIiwid2FpdCIsImxhdGVyIiwiY2xlYXJUaW1lb3V0IiwiVGFibGVIZWFkZXJXcmFwcGVyIiwiVGFibGVGaWx0ZXJXcmFwcGVyIiwiVGFibGVIZWFkZXIiLCJ0b3RhbEVsZW1lbnQiLCJoYW5kbGVSZXF1ZXN0TW9kYWxPcGVuIiwiaXRlbUxhYmVsIiwiYXJyIiwidW5zaGlmdCIsImdldFNlYXJjaFR5cGVEcm9wZG93biIsInBhZ2VOdW1iZXIiLCJhbHdheXNTaG93TGFzdFBhZ2VMaW5rIiwidG90YWxQYWdlcyIsIk1hdGgiLCJjZWlsIiwiVGFibGVXcmFwcGVyIiwic2V0U29ydEtleSIsInNldFNvcnREaXIiLCJzZXRFcnJvciIsImZldGNoSW5wdXRzIiwicmVxdWVzdHMiLCJhbGwiLCJlcnJvckNvZGUiLCJ1Y2NFcnJvckNvZGUiLCJyZXMiLCJmaW5kQnlNYXRjaGluZ1ZhbHVlIiwidGFibGVGaWVsZHMiLCJtb3JlSW5mb0RhdGEiLCJ2IiwiZm91bmQiLCJ2diIsInRyaW0iLCJuZXdBcnIiLCJzb3J0ZWRBcnIiLCJzb3J0Iiwicm93QSIsInJvd0IiLCJyb3dBVmFsdWUiLCJ1cGRhdGVkQXJyIiwic2xpY2UiLCJnZXRSb3dEYXRhIiwiZmlsdGVyZWREYXRhIiwiY3VycmVudFJvd0RhdGEiLCJpc1RydWUiLCJjaGFuZ2VUb2dnbGVTdGF0dXMiLCJwcmV2U29ydERpciIsIkVSUjAwMDEiLCJFUlIwMDAyIiwiRVJSMDAwMyIsIkVSUjAwMDQiLCJFUlIwMDA1IiwiRXJyb3JCb3VuZGFyeSIsImVycm9ySW5mbyIsImFsaWduIiwiYm94U2hhZG93IiwidGV4dEFsaWdu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Z0NBLFlBQUUsMkJBR2xGLGtCQUFDLElBQUtPLEtBQU4sS0FDS0wsS0FBS0wsTUFBTWtmLFVBQ1Isb0NBQ0svZSxZQUFFa2hCLEVBQVdoaEIsS0FBS0wsTUFBTWtmLFlBQ3pCLDZCQUFLLDhCQUVULEtBQ0osNkJBQVMxVixNQUFPLENBQUU4WCxXQUFZLGFBQTlCLFVBQ0tqaEIsS0FBS0wsTUFBTXJDLGFBRGhCLGFBQ0ssRUFBa0JnRyxhQUczQixrQkFBQyxJQUFLNUMsT0FBTixDQUFhd2dCLFlBQVksR0FDcEJsaEIsS0FBS0wsTUFBTWtmLFVBQVk3ZSxLQUFLTCxNQUFNa2YsVUFBWSxRQU94RDdlLEtBQUtoQixNQUFNNUUsWSx1Q0E3Q3RCLFNBQWdDa0QsR0FFNUIsTUFBTyxDQUFFdWhCLFVBQVd2aEIsRUFBTXdoQixrQixHQVJOcmYsSUFBTXNCLFdBdURsQzJmLEVBQWMxbEIsVUFBWSxDQUN0QlosU0FBVWEsSUFBVUMsVUFBVSxDQUFDRCxJQUFVRSxRQUFRRixJQUFVRyxNQUFPSCxJQUFVRyxPQUFPQyxZQUd4RXFsQiIsImZpbGUiOiIxLmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0LCB7IGNyZWF0ZUNvbnRleHQsIHVzZVN0YXRlIH0gZnJvbSAncmVhY3QnO1xuaW1wb3J0IFByb3BUeXBlcyBmcm9tICdwcm9wLXR5cGVzJztcblxuY29uc3QgVGFibGVDb250ZXh0ID0gY3JlYXRlQ29udGV4dCh7XG4gICAgcm93RGF0YToge30sXG4gICAgc2V0Um93RGF0YTogKCkgPT4ge30sXG59KTtcblxuZXhwb3J0IGNvbnN0IFRhYmxlQ29udGV4dFByb3ZpZGVyID0gKHsgY2hpbGRyZW4gfSkgPT4ge1xuICAgIGNvbnN0IFtyb3dEYXRhLCBzZXRSb3dEYXRhXSA9IHVzZVN0YXRlKHt9KTtcbiAgICBjb25zdCBbc2VhcmNoVGV4dCwgc2V0U2VhcmNoVGV4dF0gPSB1c2VTdGF0ZSgnJyk7XG4gICAgY29uc3QgW3NlYXJjaFR5cGUsIHNldFNlYXJjaFR5cGVdID0gdXNlU3RhdGUoJ2FsbCcpO1xuICAgIGNvbnN0IFtwYWdlU2l6ZSwgc2V0UGFnZVNpemVdID0gdXNlU3RhdGUoMTApO1xuICAgIGNvbnN0IFtjdXJyZW50UGFnZSwgc2V0Q3VycmVudFBhZ2VdID0gdXNlU3RhdGUoMCk7XG5cbiAgICByZXR1cm4gKFxuICAgICAgICA8VGFibGVDb250ZXh0LlByb3ZpZGVyXG4gICAgICAgICAgICB2YWx1ZT17e1xuICAgICAgICAgICAgICAgIHJvd0RhdGEsXG4gICAgICAgICAgICAgICAgc2V0Um93RGF0YSxcbiAgICAgICAgICAgICAgICBzZWFyY2hUZXh0LFxuICAgICAgICAgICAgICAgIHNldFNlYXJjaFRleHQsXG4gICAgICAgICAgICAgICAgc2VhcmNoVHlwZSxcbiAgICAgICAgICAgICAgICBzZXRTZWFyY2hUeXBlLFxuICAgICAgICAgICAgICAgIHBhZ2VTaXplLFxuICAgICAgICAgICAgICAgIHNldFBhZ2VTaXplLFxuICAgICAgICAgICAgICAgIGN1cnJlbnRQYWdlLFxuICAgICAgICAgICAgICAgIHNldEN1cnJlbnRQYWdlLFxuICAgICAgICAgICAgfX1cbiAgICAgICAgPlxuICAgICAgICAgICAge2NoaWxkcmVufVxuICAgICAgICA8L1RhYmxlQ29udGV4dC5Qcm92aWRlcj5cbiAgICApO1xufTtcblxuVGFibGVDb250ZXh0UHJvdmlkZXIucHJvcFR5cGVzID0ge1xuICAgIGNoaWxkcmVuOiBQcm9wVHlwZXMub25lT2ZUeXBlKFtQcm9wVHlwZXMuYXJyYXlPZihQcm9wVHlwZXMubm9kZSksIFByb3BUeXBlcy5ub2RlXSkuaXNSZXF1aXJlZCxcbn07XG5cbmV4cG9ydCBkZWZhdWx0IFRhYmxlQ29udGV4dDtcbiIsImV4cG9ydCBjb25zdCBNT0RFX0NMT05FID0gJ2Nsb25lJztcbmV4cG9ydCBjb25zdCBNT0RFX0NSRUFURSA9ICdjcmVhdGUnO1xuZXhwb3J0IGNvbnN0IE1PREVfREVMRVRFID0gJ2RlbGV0ZSc7XG5leHBvcnQgY29uc3QgTU9ERV9FRElUID0gJ2VkaXQnO1xuZXhwb3J0IGNvbnN0IE1PREVfQ09ORklHID0gJ2NvbmZpZyc7XG4iLCJpbXBvcnQgYXhpb3MgZnJvbSAnYXhpb3MnO1xuaW1wb3J0IHsgQ1NSRlRva2VuLCBhcHAgfSBmcm9tICdAc3BsdW5rL3NwbHVuay11dGlscy9jb25maWcnO1xuaW1wb3J0IHsgY3JlYXRlUkVTVFVSTCB9IGZyb20gJ0BzcGx1bmsvc3BsdW5rLXV0aWxzL3VybCc7XG5pbXBvcnQgeyBnZW5lcmF0ZUVuZFBvaW50VXJsLCBnZW5lcmF0ZVRvYXN0IH0gZnJvbSAnLi91dGlsJztcblxuLyoqXG4gKlxuICogQHBhcmFtIHtPYmplY3R9IGRhdGEgVGhlIG9iamVjdCBjb250YWluaW5nIHJlcXVpcmVkIHBhcmFtcyBmb3IgcmVxdWVzdFxuICogQHBhcmFtIHtzdHJpbmd9IGRhdGEuc2VydmljZU5hbWUgc2VydmljZSBuYW1lIHdoaWNoIGlzIGlucHV0IG5hbWUgb3IgdGFiIG5hbWUgYmFzZWQgb24gdGhlIHBhZ2VcbiAqIEBwYXJhbSB7c3RyaW5nfSBkYXRhLmVuZHBvaW50VXJsIHJlc3QgZW5kcG9pbnQgcGF0aFxuICogQHBhcmFtIHtvYmplY3R9IGRhdGEucGFyYW1zIG9iamVjdCB3aXRoIHBhcmFtcyBhcyBrZXkgdmFsdWUgcGFpcnNcbiAqIEBwYXJhbSB7b2JqZWN0fSBkYXRhLmJvZHkgb2JqZWN0IHdpdGggYm9keSBhcyBrZXkgdmFsdWUgcGFpcnMgZm9yIHBvc3QgcmVxdWVzdFxuICogQHBhcmFtIHtvYmplY3R9IGRhdGEuY3VzdG9tSGVhZGVycyBleHRyYSBoZWFkZXJzIGFzIGtleSB2YWx1ZSBwYWlyXG4gKiBAcGFyYW0ge3N0cmluZ30gZGF0YS5tZXRob2QgcmVzdCBtZXRob2QgdHlwZVxuICogQHBhcmFtIHtzdHJpbmd9IGRhdGEuaGFuZGxlRXJyb3Igd2hldGhlciBvciBub3Qgc2hvdyB0b2FzdCBub3RpZmljYXRpb25zIG9uIGZhaWx1cmVcbiAqIEBwYXJhbSB7c3RyaW5nfSBkYXRhLmNhbGxiYWNrT25FcnJvciBjYWxsYmFjayBmdW5jdGlvbiB0byBleGVjdXRlIGFmdGVyIGhhbmRsaW5nIGVycm9yLiBPbmx5IGV4ZWN1dGVkIHdoZW4gaGFuZGxlRXJyb3IgaXMgc2V0IHRvIHRydWVcbiAqIEByZXR1cm5zXG4gKi9cbmNvbnN0IGF4aW9zQ2FsbFdyYXBwZXIgPSAoe1xuICAgIHNlcnZpY2VOYW1lLFxuICAgIGVuZHBvaW50VXJsLFxuICAgIHBhcmFtcyxcbiAgICBib2R5LFxuICAgIGNhbmNlbFRva2VuLFxuICAgIGN1c3RvbUhlYWRlcnMgPSB7fSxcbiAgICBtZXRob2QgPSAnZ2V0JyxcbiAgICBoYW5kbGVFcnJvciA9IGZhbHNlLFxuICAgIGNhbGxiYWNrT25FcnJvciA9ICgpID0+IHt9LFxufSkgPT4ge1xuICAgIGNvbnN0IGVuZHBvaW50ID0gc2VydmljZU5hbWUgPyBnZW5lcmF0ZUVuZFBvaW50VXJsKHNlcnZpY2VOYW1lKSA6IGVuZHBvaW50VXJsO1xuICAgIGNvbnN0IGFwcERhdGEgPSB7XG4gICAgICAgIGFwcCxcbiAgICAgICAgb3duZXI6ICdub2JvZHknLFxuICAgIH07XG4gICAgY29uc3QgYmFzZUhlYWRlcnMgPSB7XG4gICAgICAgICdYLVNwbHVuay1Gb3JtLUtleSc6IENTUkZUb2tlbixcbiAgICAgICAgJ1gtUmVxdWVzdGVkLVdpdGgnOiAnWE1MSHR0cFJlcXVlc3QnLFxuICAgICAgICAnQ29udGVudC1UeXBlJzogJ2FwcGxpY2F0aW9uL2pzb24nLFxuICAgIH07XG4gICAgY29uc3QgaGVhZGVycyA9IE9iamVjdC5hc3NpZ24oYmFzZUhlYWRlcnMsIGN1c3RvbUhlYWRlcnMpO1xuICAgIGNvbnN0IHVybCA9IGNyZWF0ZVJFU1RVUkwoZW5kcG9pbnQsIGFwcERhdGEpO1xuXG4gICAgbGV0IG5ld1BhcmFtcyA9IHsgb3V0cHV0X21vZGU6ICdqc29uJyB9O1xuICAgIGlmIChwYXJhbXMpIHtcbiAgICAgICAgbmV3UGFyYW1zID0geyAuLi5uZXdQYXJhbXMsIC4uLnBhcmFtcyB9O1xuICAgIH1cblxuICAgIGNvbnN0IG9wdGlvbnMgPSB7XG4gICAgICAgIHBhcmFtczogbmV3UGFyYW1zLFxuICAgICAgICBtZXRob2QsXG4gICAgICAgIHVybCxcbiAgICAgICAgY3JlZGVudGlhbHM6ICdpbmNsdWRlJyxcbiAgICAgICAgaGVhZGVycyxcbiAgICAgICAgY2FuY2VsVG9rZW4sXG4gICAgfTtcblxuICAgIGlmIChtZXRob2QgPT09ICdwb3N0Jykge1xuICAgICAgICBvcHRpb25zLmRhdGEgPSBib2R5O1xuICAgIH1cblxuICAgIHJldHVybiBoYW5kbGVFcnJvclxuICAgICAgICA/IGF4aW9zKG9wdGlvbnMpLmNhdGNoKChlcnJvcikgPT4ge1xuICAgICAgICAgICAgICBsZXQgbWVzc2FnZSA9ICcnO1xuICAgICAgICAgICAgICBpZiAoYXhpb3MuaXNDYW5jZWwoZXJyb3IpKSB7XG4gICAgICAgICAgICAgICAgICByZXR1cm4gUHJvbWlzZS5yZWplY3QoZXJyb3IpO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIGlmIChlcnJvci5yZXNwb25zZSkge1xuICAgICAgICAgICAgICAgICAgLy8gVGhlIHJlcXVlc3Qgd2FzIG1hZGUgYW5kIHRoZSBzZXJ2ZXIgcmVzcG9uZGVkIHdpdGggYSBzdGF0dXMgY29kZVxuICAgICAgICAgICAgICAgICAgbWVzc2FnZSA9IGBFcnJvciByZXNwb25zZSByZWNlaXZlZCBmcm9tIHNlcnZlcjogJHtlcnJvci5yZXNwb25zZS5kYXRhLm1lc3NhZ2VzWzBdLnRleHR9YDtcbiAgICAgICAgICAgICAgfSBlbHNlIGlmIChlcnJvci5yZXF1ZXN0KSB7XG4gICAgICAgICAgICAgICAgICAvLyBUaGUgcmVxdWVzdCB3YXMgbWFkZSBidXQgbm8gcmVzcG9uc2Ugd2FzIHJlY2VpdmVkXG4gICAgICAgICAgICAgICAgICBtZXNzYWdlID0gYE5vIHJlc3BvbnNlIHJlY2VpdmVkIHdoaWxlIG1ha2luZyByZXF1ZXN0IHRvICR7ZW5kcG9pbnR9YDtcbiAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgIC8vIFNvbWV0aGluZyBoYXBwZW5lZCBpbiBzZXR0aW5nIHVwIHRoZSByZXF1ZXN0IHRoYXQgdHJpZ2dlcmVkIGFuIEVycm9yXG4gICAgICAgICAgICAgICAgICBtZXNzYWdlID0gYEVycm9yIG1ha2luZyAke21ldGhvZH0gcmVxdWVzdCB0byAke2VuZHBvaW50fWA7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgZ2VuZXJhdGVUb2FzdChtZXNzYWdlLCAnZXJyb3InKTtcbiAgICAgICAgICAgICAgY2FsbGJhY2tPbkVycm9yKGVycm9yKTtcbiAgICAgICAgICAgICAgcmV0dXJuIFByb21pc2UucmVqZWN0KGVycm9yKTtcbiAgICAgICAgICB9KVxuICAgICAgICA6IGF4aW9zKG9wdGlvbnMpO1xufTtcblxuZXhwb3J0IHsgYXhpb3NDYWxsV3JhcHBlciB9O1xuIiwiaW1wb3J0IHN0eWxlZCBmcm9tICdzdHlsZWQtY29tcG9uZW50cyc7XG5pbXBvcnQgeyB2YXJpYWJsZXMgfSBmcm9tICdAc3BsdW5rL3RoZW1lcyc7XG5cbmV4cG9ydCBjb25zdCBUaXRsZUNvbXBvbmVudCA9IHN0eWxlZC5kaXYuYXR0cnMoe1xuICAgIGNsYXNzTmFtZTogJ3BhZ2VUaXRsZScsXG59KWBcbiAgICAmLnBhZ2VUaXRsZSB7XG4gICAgICAgIGZvbnQtc2l6ZTogJHt2YXJpYWJsZXMuZm9udFNpemVYWExhcmdlfTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgICB9XG5gO1xuXG5leHBvcnQgY29uc3QgU3ViVGl0bGVDb21wb25lbnQgPSBzdHlsZWQuZGl2LmF0dHJzKHtcbiAgICBjbGFzc05hbWU6ICdwYWdlU3VidGl0bGUnLFxufSlgXG4gICAgJi5wYWdlU3VidGl0bGUge1xuICAgICAgICBmb250LXNpemU6ICR7dmFyaWFibGVzLmZvbnRTaXplfTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgICB9XG5gO1xuXG5leHBvcnQgY29uc3QgVGFibGVDYXB0aW9uQ29tcG9uZW50ID0gc3R5bGVkLmRpdmBcbiAgICAudGFibGUtY2FwdGlvbi1pbm5lciB7XG4gICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgfVxuYDtcbiIsImltcG9ydCB7IHVzZUxvY2F0aW9uIH0gZnJvbSAncmVhY3Qtcm91dGVyLWRvbSc7XG5cbi8vIEEgY3VzdG9tIGhvb2sgdGhhdCBidWlsZHMgb24gdXNlTG9jYXRpb24gdG8gcGFyc2UgdGhlIHF1ZXJ5IHN0cmluZyBmb3IgeW91LlxuZnVuY3Rpb24gdXNlUXVlcnkoKSB7XG4gICAgcmV0dXJuIG5ldyBVUkxTZWFyY2hQYXJhbXModXNlTG9jYXRpb24oKS5zZWFyY2gpO1xufVxuXG5leHBvcnQgZGVmYXVsdCB1c2VRdWVyeTtcbiIsImltcG9ydCBSZWFjdCwgeyBDb21wb25lbnQgfSBmcm9tICdyZWFjdCc7XG5pbXBvcnQgUHJvcFR5cGVzIGZyb20gJ3Byb3AtdHlwZXMnO1xuaW1wb3J0IEJ1dHRvbiBmcm9tICdAc3BsdW5rL3JlYWN0LXVpL0J1dHRvbic7XG5pbXBvcnQgTW9kYWwgZnJvbSAnQHNwbHVuay9yZWFjdC11aS9Nb2RhbCc7XG5pbXBvcnQgc3R5bGVkIGZyb20gJ3N0eWxlZC1jb21wb25lbnRzJztcbmltcG9ydCBXYWl0U3Bpbm5lciBmcm9tICdAc3BsdW5rL3JlYWN0LXVpL1dhaXRTcGlubmVyJztcbmltcG9ydCB7IF8gfSBmcm9tICdAc3BsdW5rL3VpLXV0aWxzL2kxOG4nO1xuXG5pbXBvcnQgeyBNT0RFX0NMT05FLCBNT0RFX0NSRUFURSwgTU9ERV9FRElUIH0gZnJvbSAnLi4vY29uc3RhbnRzL21vZGVzJztcbmltcG9ydCBCYXNlRm9ybVZpZXcgZnJvbSAnLi9CYXNlRm9ybVZpZXcnO1xuXG5jb25zdCBNb2RhbFdyYXBwZXIgPSBzdHlsZWQoTW9kYWwpYFxuICAgIHdpZHRoOiA4MDBweDtcbmA7XG5cbmNsYXNzIEVudGl0eU1vZGFsIGV4dGVuZHMgQ29tcG9uZW50IHtcbiAgICBjb25zdHJ1Y3Rvcihwcm9wcykge1xuICAgICAgICBzdXBlcihwcm9wcyk7XG4gICAgICAgIC8vIFJlZiBpcyB1c2VkIGhlcmUgdG8gY2FsbCBzdWJtaXQgbWV0aG9kIG9mIGZvcm0gb25seVxuICAgICAgICB0aGlzLmZvcm0gPSBSZWFjdC5jcmVhdGVSZWYoKTsgLy8gbm9zZW1ncmVwOiB0eXBlc2NyaXB0LnJlYWN0LnNlY3VyaXR5LmF1ZGl0LnJlYWN0LW5vLXJlZnMucmVhY3Qtbm8tcmVmc1xuICAgICAgICB0aGlzLnN0YXRlID0geyBpc1N1Ym1pdGl0bmc6IGZhbHNlIH07XG5cbiAgICAgICAgaWYgKHByb3BzLm1vZGUgPT09IE1PREVfQ1JFQVRFKSB7XG4gICAgICAgICAgICB0aGlzLmJ1dHRvblRleHQgPSBfKCdBZGQnKTtcbiAgICAgICAgfSBlbHNlIGlmIChwcm9wcy5tb2RlID09PSBNT0RFX0NMT05FKSB7XG4gICAgICAgICAgICB0aGlzLmJ1dHRvblRleHQgPSBfKCdTYXZlJyk7XG4gICAgICAgIH0gZWxzZSBpZiAocHJvcHMubW9kZSA9PT0gTU9ERV9FRElUKSB7XG4gICAgICAgICAgICB0aGlzLmJ1dHRvblRleHQgPSBfKCdVcGRhdGUnKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMuYnV0dG9uVGV4dCA9IF8oJ1N1Ym1pdCcpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgaGFuZGxlUmVxdWVzdENsb3NlID0gKCkgPT4ge1xuICAgICAgICB0aGlzLnByb3BzLmhhbmRsZVJlcXVlc3RDbG9zZSgpO1xuICAgIH07XG5cbiAgICBoYW5kbGVTdWJtaXQgPSAoKSA9PiB7XG4gICAgICAgIGNvbnN0IHJlc3VsdCA9IHRoaXMuZm9ybS5jdXJyZW50LmhhbmRsZVN1Ym1pdCgpO1xuICAgICAgICBpZiAocmVzdWx0KSB7XG4gICAgICAgICAgICB0aGlzLmhhbmRsZVJlcXVlc3RDbG9zZSgpO1xuICAgICAgICB9XG4gICAgfTtcblxuICAgIC8qXG4gICAgICogQHBhcmFtIHtib29sZWFufSBzZXQ6IHdoZXRoZXIgZm9ybSBpcyBzdWJtaXR0aW5nXG4gICAgICogQHBhcmFtIHtib29sZWFufSBjbG9zZSA6IGNsb3NlIHRoZSBFbnRpdHkgbW9kYWxcbiAgICAgKi9cbiAgICBoYW5kbGVGb3JtU3VibWl0ID0gKHNldCwgY2xvc2UpID0+IHtcbiAgICAgICAgdGhpcy5zZXRTdGF0ZSh7IGlzU3VibWl0aXRuZzogc2V0IH0pO1xuICAgICAgICBpZiAoY2xvc2UpIHtcbiAgICAgICAgICAgIHRoaXMuaGFuZGxlUmVxdWVzdENsb3NlKCk7XG4gICAgICAgIH1cbiAgICB9O1xuXG4gICAgcmVuZGVyKCkge1xuICAgICAgICByZXR1cm4gKFxuICAgICAgICAgICAgPE1vZGFsV3JhcHBlciBvcGVuPXt0aGlzLnByb3BzLm9wZW59PlxuICAgICAgICAgICAgICAgIDxNb2RhbC5IZWFkZXJcbiAgICAgICAgICAgICAgICAgICAgdGl0bGU9e3RoaXMucHJvcHMuZm9ybUxhYmVsfVxuICAgICAgICAgICAgICAgICAgICBvblJlcXVlc3RDbG9zZT17dGhpcy5oYW5kbGVSZXF1ZXN0Q2xvc2V9XG4gICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICA8TW9kYWwuQm9keT5cbiAgICAgICAgICAgICAgICAgICAgPEJhc2VGb3JtVmlldyAvLyBub3NlbWdyZXA6IHR5cGVzY3JpcHQucmVhY3Quc2VjdXJpdHkuYXVkaXQucmVhY3Qtbm8tcmVmcy5yZWFjdC1uby1yZWZzXG4gICAgICAgICAgICAgICAgICAgICAgICByZWY9e3RoaXMuZm9ybX1cbiAgICAgICAgICAgICAgICAgICAgICAgIHBhZ2U9e3RoaXMucHJvcHMucGFnZX1cbiAgICAgICAgICAgICAgICAgICAgICAgIHNlcnZpY2VOYW1lPXt0aGlzLnByb3BzLnNlcnZpY2VOYW1lfVxuICAgICAgICAgICAgICAgICAgICAgICAgbW9kZT17dGhpcy5wcm9wcy5tb2RlfVxuICAgICAgICAgICAgICAgICAgICAgICAgc3RhbnphTmFtZT17dGhpcy5wcm9wcy5zdGFuemFOYW1lfVxuICAgICAgICAgICAgICAgICAgICAgICAgaGFuZGxlRm9ybVN1Ym1pdD17dGhpcy5oYW5kbGVGb3JtU3VibWl0fVxuICAgICAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgIDwvTW9kYWwuQm9keT5cbiAgICAgICAgICAgICAgICA8TW9kYWwuRm9vdGVyPlxuICAgICAgICAgICAgICAgICAgICA8QnV0dG9uXG4gICAgICAgICAgICAgICAgICAgICAgICBhcHBlYXJhbmNlPVwic2Vjb25kYXJ5XCJcbiAgICAgICAgICAgICAgICAgICAgICAgIG9uQ2xpY2s9e3RoaXMuaGFuZGxlUmVxdWVzdENsb3NlfVxuICAgICAgICAgICAgICAgICAgICAgICAgbGFiZWw9e18oJ0NhbmNlbCcpfVxuICAgICAgICAgICAgICAgICAgICAgICAgZGlzYWJsZWQ9e3RoaXMuc3RhdGUuaXNTdWJtaXRpdG5nfVxuICAgICAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgICAgICA8QnV0dG9uXG4gICAgICAgICAgICAgICAgICAgICAgICBjbGFzc05hbWU9XCJzYXZlQnRuXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIGFwcGVhcmFuY2U9XCJwcmltYXJ5XCJcbiAgICAgICAgICAgICAgICAgICAgICAgIGxhYmVsPXt0aGlzLnN0YXRlLmlzU3VibWl0aXRuZyA/IDxXYWl0U3Bpbm5lciAvPiA6IHRoaXMuYnV0dG9uVGV4dH1cbiAgICAgICAgICAgICAgICAgICAgICAgIG9uQ2xpY2s9e3RoaXMuaGFuZGxlU3VibWl0fVxuICAgICAgICAgICAgICAgICAgICAgICAgZGlzYWJsZWQ9e3RoaXMuc3RhdGUuaXNTdWJtaXRpdG5nfVxuICAgICAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgIDwvTW9kYWwuRm9vdGVyPlxuICAgICAgICAgICAgPC9Nb2RhbFdyYXBwZXI+XG4gICAgICAgICk7XG4gICAgfVxufVxuXG5FbnRpdHlNb2RhbC5wcm9wVHlwZXMgPSB7XG4gICAgcGFnZTogUHJvcFR5cGVzLnN0cmluZyxcbiAgICBvcGVuOiBQcm9wVHlwZXMuYm9vbCxcbiAgICBoYW5kbGVSZXF1ZXN0Q2xvc2U6IFByb3BUeXBlcy5mdW5jLFxuICAgIHNlcnZpY2VOYW1lOiBQcm9wVHlwZXMuc3RyaW5nLFxuICAgIG1vZGU6IFByb3BUeXBlcy5zdHJpbmcsXG4gICAgc3RhbnphTmFtZTogUHJvcFR5cGVzLnN0cmluZyxcbiAgICBmb3JtTGFiZWw6IFByb3BUeXBlcy5zdHJpbmcsXG59O1xuXG5leHBvcnQgZGVmYXVsdCBFbnRpdHlNb2RhbDtcbiIsImltcG9ydCBSZWFjdCBmcm9tICdyZWFjdCc7XG5pbXBvcnQgUHJvcFR5cGVzIGZyb20gJ3Byb3AtdHlwZXMnO1xuaW1wb3J0IHN0eWxlZCBmcm9tICdzdHlsZWQtY29tcG9uZW50cyc7XG5pbXBvcnQgTGluayBmcm9tICdAc3BsdW5rL3JlYWN0LXVpL0xpbmsnO1xuXG5jb25zdCBNYXJrZG93bldyYXBwZXIgPSBzdHlsZWQuc3BhbmBcbiAgICBjb2xvcjogJHsocHJvcHMpID0+IHByb3BzLmNvbG9yfTtcbmA7XG5cbmZ1bmN0aW9uIE1hcmtkb3duTWVzc2FnZShwcm9wcykge1xuICAgIC8vIGZsYXRNYXAgYWRkcyB0aGUgbGluayB0byB0aGUgcGFydCBvZiB0ZXh0IHRoYXQgaGFzIGJlZW4gc3BsaXQgZnJvbSB0ZXh0XG4gICAgLy8gYW5kIHJldHVybnMgYSBuZXcgYXJyYXkgZm9ybWVkIGJ5IGFwcGx5aW5nIGEgZ2l2ZW4gZnVuY3Rpb24gdG8gZWFjaCBlbGVtZW50IG9mIHRoZSBhcnJheSxcbiAgICAvLyBhbmQgdGhlbiBmbGF0dGVuaW5nIHRoZSByZXN1bHQgYnkgb25lIGxldmVsXG4gICAgZnVuY3Rpb24gZmxhdE1hcChhcnJheSwgZm4pIHtcbiAgICAgICAgbGV0IG1hcmtkb3duVGV4dCA9IFtdO1xuICAgICAgICBmb3IgKGxldCBpID0gMDsgaSA8IGFycmF5Lmxlbmd0aDsgaSArPSAxKSB7XG4gICAgICAgICAgICBjb25zdCBtYXBwaW5nID0gZm4oYXJyYXlbaV0pO1xuICAgICAgICAgICAgbWFya2Rvd25UZXh0ID0gbWFya2Rvd25UZXh0LmNvbmNhdChtYXBwaW5nKTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gbWFya2Rvd25UZXh0O1xuICAgIH1cblxuICAgIGZ1bmN0aW9uIGdldE1hcmtkb3duVGV4dCgpIHtcbiAgICAgICAgbGV0IG1hcmtkb3duVGV4dCA9IHByb3BzLnRleHQ7XG4gICAgICAgIGlmIChwcm9wcy5tYXJrZG93blR5cGUgPT09ICdsaW5rJykge1xuICAgICAgICAgICAgbWFya2Rvd25UZXh0ID0gPExpbmsgdG89e3Byb3BzLmxpbmt9Pntwcm9wcy50ZXh0fTwvTGluaz47XG4gICAgICAgIH0gZWxzZSBpZiAocHJvcHMubWFya2Rvd25UeXBlID09PSAnaHlicmlkJykge1xuICAgICAgICAgICAgLy8gbWFya2Rvd25UeXBlIGh5YnJpZCBpcyBmb3Igc3VwcG9ydCBvZiBib3RoIHRleHQgYW5kIGxpbmtcbiAgICAgICAgICAgIG1hcmtkb3duVGV4dCA9IGZsYXRNYXAobWFya2Rvd25UZXh0LnNwbGl0KHByb3BzLnRva2VuKSwgKHBhcnQpID0+IHtcbiAgICAgICAgICAgICAgICByZXR1cm4gW1xuICAgICAgICAgICAgICAgICAgICBwYXJ0LFxuICAgICAgICAgICAgICAgICAgICA8TGluayBrZXk9e3BhcnR9IHRvPXtwcm9wcy5saW5rfT5cbiAgICAgICAgICAgICAgICAgICAgICAgIHtwcm9wcy5saW5rVGV4dH1cbiAgICAgICAgICAgICAgICAgICAgPC9MaW5rPixcbiAgICAgICAgICAgICAgICBdO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICBtYXJrZG93blRleHQucG9wKCk7XG4gICAgICAgIH0gZWxzZSBpZiAocHJvcHMubWFya2Rvd25UeXBlID09PSAndGV4dCcpIHtcbiAgICAgICAgICAgIG1hcmtkb3duVGV4dCA9IDxNYXJrZG93bldyYXBwZXIgY29sb3I9e3Byb3BzLmNvbG9yfT57cHJvcHMudGV4dH08L01hcmtkb3duV3JhcHBlcj47XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gbWFya2Rvd25UZXh0O1xuICAgIH1cblxuICAgIHJldHVybiA8ZGl2IGRhdGEtdGVzdD1cIm1zZy1tYXJrZG93blwiPntnZXRNYXJrZG93blRleHQoKX08L2Rpdj47XG59XG5cbk1hcmtkb3duTWVzc2FnZS5wcm9wVHlwZXMgPSB7XG4gICAgdGV4dDogUHJvcFR5cGVzLnN0cmluZyxcbiAgICBsaW5rOiBQcm9wVHlwZXMuc3RyaW5nLFxuICAgIGNvbG9yOiBQcm9wVHlwZXMuc3RyaW5nLFxuICAgIG1hcmtkb3duVHlwZTogUHJvcFR5cGVzLnN0cmluZyxcbiAgICB0b2tlbjogUHJvcFR5cGVzLnN0cmluZyxcbiAgICBsaW5rVGV4dDogUHJvcFR5cGVzLnN0cmluZyxcbn07XG5cbmV4cG9ydCBkZWZhdWx0IFJlYWN0Lm1lbW8oTWFya2Rvd25NZXNzYWdlKTtcbiIsImltcG9ydCBSZWFjdCBmcm9tICdyZWFjdCc7XG5pbXBvcnQgUHJvcFR5cGVzIGZyb20gJ3Byb3AtdHlwZXMnO1xuaW1wb3J0IExpbmsgZnJvbSAnQHNwbHVuay9yZWFjdC11aS9MaW5rJztcblxuZnVuY3Rpb24gSGVscExpbmtDb21wb25lbnQocHJvcHMpIHtcbiAgICBjb25zdCB7IHRleHQsIGxpbmsgfSA9IHByb3BzLmNvbnRyb2xPcHRpb25zO1xuXG4gICAgcmV0dXJuIChcbiAgICAgICAgPExpbmsgdG89e2xpbmt9IG9wZW5Jbk5ld0NvbnRleHQ+XG4gICAgICAgICAgICB7dGV4dH1cbiAgICAgICAgPC9MaW5rPlxuICAgICk7XG59XG5cbkhlbHBMaW5rQ29tcG9uZW50LnByb3BUeXBlcyA9IHtcbiAgICBjb250cm9sT3B0aW9uczogUHJvcFR5cGVzLm9iamVjdFxufTtcblxuZXhwb3J0IGRlZmF1bHQgSGVscExpbmtDb21wb25lbnQ7XG4iLCJpbXBvcnQgUmVhY3QsIHsgQ29tcG9uZW50IH0gZnJvbSAncmVhY3QnO1xuaW1wb3J0IFByb3BUeXBlcyBmcm9tICdwcm9wLXR5cGVzJztcbmltcG9ydCBUZXh0IGZyb20gJ0BzcGx1bmsvcmVhY3QtdWkvVGV4dCc7XG5pbXBvcnQgc3R5bGVkIGZyb20gJ3N0eWxlZC1jb21wb25lbnRzJztcblxuY29uc3QgVGV4dFdyYXBwZXIgPSBzdHlsZWQoVGV4dClgXG4gICAgd2lkdGg6IDMyMHB4ICFpbXBvcnRhbnQ7XG5gO1xuXG5jbGFzcyBUZXh0Q29tcG9uZW50IGV4dGVuZHMgQ29tcG9uZW50IHtcbiAgICBoYW5kbGVDaGFuZ2UgPSAoZSwgeyB2YWx1ZSB9KSA9PiB7XG4gICAgICAgIHRoaXMucHJvcHMuaGFuZGxlQ2hhbmdlKHRoaXMucHJvcHMuZmllbGQsIHZhbHVlKTtcbiAgICB9O1xuXG4gICAgcmVuZGVyKCkge1xuICAgICAgICByZXR1cm4gKFxuICAgICAgICAgICAgPFRleHRXcmFwcGVyXG4gICAgICAgICAgICAgICAgaW5saW5lXG4gICAgICAgICAgICAgICAgZXJyb3I9e3RoaXMucHJvcHMuZXJyb3J9XG4gICAgICAgICAgICAgICAgcGxhY2Vob2xkZXI9e3RoaXMucHJvcHM/LmNvbnRyb2xPcHRpb25zPy5wbGFjZWhvbGRlcn1cbiAgICAgICAgICAgICAgICBjbGFzc05hbWU9e3RoaXMucHJvcHMuZmllbGR9XG4gICAgICAgICAgICAgICAgZGlzYWJsZWQ9e3RoaXMucHJvcHMuZGlzYWJsZWR9XG4gICAgICAgICAgICAgICAgdmFsdWU9e1xuICAgICAgICAgICAgICAgICAgICB0aGlzLnByb3BzLnZhbHVlID09PSBudWxsIHx8IHR5cGVvZiB0aGlzLnByb3BzLnZhbHVlID09PSAndW5kZWZpbmVkJ1xuICAgICAgICAgICAgICAgICAgICAgICAgPyAnJ1xuICAgICAgICAgICAgICAgICAgICAgICAgOiB0aGlzLnByb3BzLnZhbHVlLnRvU3RyaW5nKClcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgb25DaGFuZ2U9e3RoaXMuaGFuZGxlQ2hhbmdlfVxuICAgICAgICAgICAgICAgIHR5cGU9e3RoaXMucHJvcHMuZW5jcnlwdGVkID8gJ3Bhc3N3b3JkJyA6ICd0ZXh0J31cbiAgICAgICAgICAgIC8+XG4gICAgICAgICk7XG4gICAgfVxufVxuXG5UZXh0Q29tcG9uZW50LnByb3BUeXBlcyA9IHtcbiAgICAvLyBOdW1iZXIgaXMgZXhwZWN0ZWQgaWYgcHJvdmlkZWQgbnVtYmVyIGluIGdsb2JhbENvbmZpZy5qc29uIGluc3RlYWQgb2YgYSBzdHJpbmcuXG4gICAgdmFsdWU6IFByb3BUeXBlcy5vbmVPZlR5cGUoW1Byb3BUeXBlcy5zdHJpbmcsIFByb3BUeXBlcy5udW1iZXJdKSxcbiAgICBoYW5kbGVDaGFuZ2U6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgZmllbGQ6IFByb3BUeXBlcy5zdHJpbmcsXG4gICAgZXJyb3I6IFByb3BUeXBlcy5ib29sLFxuICAgIGNvbnRyb2xPcHRpb25zOiBQcm9wVHlwZXMub2JqZWN0LFxuICAgIGVuY3J5cHRlZDogUHJvcFR5cGVzLmJvb2wsXG4gICAgZGlzYWJsZWQ6IFByb3BUeXBlcy5ib29sLFxufTtcblxuZXhwb3J0IGRlZmF1bHQgVGV4dENvbXBvbmVudDtcbiIsImltcG9ydCBSZWFjdCwgeyB1c2VTdGF0ZSwgdXNlRWZmZWN0IH0gZnJvbSAncmVhY3QnO1xuaW1wb3J0IFByb3BUeXBlcyBmcm9tICdwcm9wLXR5cGVzJztcbmltcG9ydCBTZWxlY3QgZnJvbSAnQHNwbHVuay9yZWFjdC11aS9TZWxlY3QnO1xuaW1wb3J0IENvbWJvQm94IGZyb20gJ0BzcGx1bmsvcmVhY3QtdWkvQ29tYm9Cb3gnO1xuaW1wb3J0IEJ1dHRvbiBmcm9tICdAc3BsdW5rL3JlYWN0LXVpL0J1dHRvbic7XG5pbXBvcnQgQ2xlYXIgZnJvbSAnQHNwbHVuay9yZWFjdC1pY29ucy9DbGVhcic7XG5pbXBvcnQgeyBfIH0gZnJvbSAnQHNwbHVuay91aS11dGlscy9pMThuJztcbmltcG9ydCBheGlvcyBmcm9tICdheGlvcyc7XG5pbXBvcnQgc3R5bGVkIGZyb20gJ3N0eWxlZC1jb21wb25lbnRzJztcblxuaW1wb3J0IHsgYXhpb3NDYWxsV3JhcHBlciB9IGZyb20gJy4uL3V0aWwvYXhpb3NDYWxsV3JhcHBlcic7XG5pbXBvcnQgeyBmaWx0ZXJSZXNwb25zZSB9IGZyb20gJy4uL3V0aWwvdXRpbCc7XG5cbmNvbnN0IFNlbGVjdFdyYXBwZXIgPSBzdHlsZWQoU2VsZWN0KWBcbiAgICB3aWR0aDogMzIwcHggIWltcG9ydGFudDtcbmA7XG5cbmNvbnN0IFN0eWxlZERpdiA9IHN0eWxlZC5kaXZgXG4gICAgZGl2OmZpcnN0LWNoaWxkIHtcbiAgICAgICAgd2lkdGg6IDMyMHB4ICFpbXBvcnRhbnQ7XG4gICAgfVxuYDtcblxuZnVuY3Rpb24gU2luZ2xlSW5wdXRDb21wb25lbnQocHJvcHMpIHtcbiAgICBjb25zdCB7XG4gICAgICAgIGZpZWxkLFxuICAgICAgICBkaXNhYmxlZCA9IGZhbHNlLFxuICAgICAgICBlcnJvciA9IGZhbHNlLFxuICAgICAgICBjb250cm9sT3B0aW9ucyxcbiAgICAgICAgZGVwZW5kZW5jeVZhbHVlcyxcbiAgICAgICAgLi4ucmVzdFByb3BzXG4gICAgfSA9IHByb3BzO1xuICAgIGNvbnN0IHtcbiAgICAgICAgZW5kcG9pbnRVcmwsXG4gICAgICAgIGRlbnlMaXN0LFxuICAgICAgICBhbGxvd0xpc3QsXG4gICAgICAgIHBsYWNlaG9sZGVyID0gXygnU2VsZWN0IGEgdmFsdWUnKSxcbiAgICAgICAgZGVwZW5kZW5jaWVzLFxuICAgICAgICBjcmVhdGVTZWFyY2hDaG9pY2UsXG4gICAgICAgIHJlZmVyZW5jZU5hbWUsXG4gICAgICAgIGRpc2FibGVTZWFyY2gsXG4gICAgICAgIGxhYmVsRmllbGQsXG4gICAgICAgIGF1dG9Db21wbGV0ZUZpZWxkcyxcbiAgICAgICAgaGlkZUNsZWFyQnRuLFxuICAgIH0gPSBjb250cm9sT3B0aW9ucztcblxuICAgIGZ1bmN0aW9uIGhhbmRsZUNoYW5nZShlLCBvYmopIHtcbiAgICAgICAgcmVzdFByb3BzLmhhbmRsZUNoYW5nZShmaWVsZCwgb2JqLnZhbHVlKTtcbiAgICB9XG4gICAgY29uc3QgT3B0aW9uID0gY3JlYXRlU2VhcmNoQ2hvaWNlID8gQ29tYm9Cb3guT3B0aW9uIDogU2VsZWN0Lk9wdGlvbjtcbiAgICBjb25zdCBIZWFkaW5nID0gY3JlYXRlU2VhcmNoQ2hvaWNlID8gQ29tYm9Cb3guSGVhZGluZyA6IFNlbGVjdC5IZWFkaW5nO1xuXG4gICAgZnVuY3Rpb24gZ2VuZXJhdGVPcHRpb25zKGl0ZW1zKSB7XG4gICAgICAgIGNvbnN0IGRhdGEgPSBbXTtcbiAgICAgICAgaXRlbXMuZm9yRWFjaCgoaXRlbSkgPT4ge1xuICAgICAgICAgICAgaWYgKGl0ZW0udmFsdWUgJiYgaXRlbS5sYWJlbCkge1xuICAgICAgICAgICAgICAgIGRhdGEucHVzaCg8T3B0aW9uIGxhYmVsPXtpdGVtLmxhYmVsfSB2YWx1ZT17aXRlbS52YWx1ZX0ga2V5PXtpdGVtLnZhbHVlfSAvPik7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpZiAoaXRlbS5jaGlsZHJlbiAmJiBpdGVtLmxhYmVsKSB7XG4gICAgICAgICAgICAgICAgZGF0YS5wdXNoKDxIZWFkaW5nIGtleT17aXRlbS5sYWJlbH0+e2l0ZW0ubGFiZWx9PC9IZWFkaW5nPik7XG4gICAgICAgICAgICAgICAgaXRlbS5jaGlsZHJlbi5mb3JFYWNoKChjaGlsZCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICBkYXRhLnB1c2goPE9wdGlvbiBsYWJlbD17Y2hpbGQubGFiZWx9IHZhbHVlPXtjaGlsZC52YWx1ZX0ga2V5PXtjaGlsZC52YWx1ZX0gLz4pO1xuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICAgICAgcmV0dXJuIGRhdGE7XG4gICAgfVxuXG4gICAgY29uc3QgW2xvYWRpbmcsIHNldExvYWRpbmddID0gdXNlU3RhdGUoZmFsc2UpO1xuICAgIGNvbnN0IFtvcHRpb25zLCBzZXRPcHRpb25zXSA9IHVzZVN0YXRlKG51bGwpO1xuXG4gICAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICAgICAgaWYgKCFlbmRwb2ludFVybCAmJiAhcmVmZXJlbmNlTmFtZSAmJiBhdXRvQ29tcGxldGVGaWVsZHMpIHtcbiAgICAgICAgICAgIHNldE9wdGlvbnMoZ2VuZXJhdGVPcHRpb25zKGF1dG9Db21wbGV0ZUZpZWxkcykpO1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgbGV0IGN1cnJlbnQgPSB0cnVlO1xuICAgICAgICBjb25zdCBzb3VyY2UgPSBheGlvcy5DYW5jZWxUb2tlbi5zb3VyY2UoKTtcblxuICAgICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tc2hhZG93XG4gICAgICAgIGNvbnN0IG9wdGlvbnMgPSB7IGNhbmNlbFRva2VuOiBzb3VyY2UudG9rZW4sIGhhbmRsZUVycm9yOiB0cnVlLCBwYXJhbXM6IHsgY291bnQ6IC0xIH0gfTtcbiAgICAgICAgaWYgKHJlZmVyZW5jZU5hbWUpIHtcbiAgICAgICAgICAgIG9wdGlvbnMuc2VydmljZU5hbWUgPSByZWZlcmVuY2VOYW1lO1xuICAgICAgICB9IGVsc2UgaWYgKGVuZHBvaW50VXJsKSB7XG4gICAgICAgICAgICBvcHRpb25zLmVuZHBvaW50VXJsID0gZW5kcG9pbnRVcmw7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoZGVwZW5kZW5jeVZhbHVlcykge1xuICAgICAgICAgICAgb3B0aW9ucy5wYXJhbXMgPSB7IC4uLm9wdGlvbnMucGFyYW1zLCAuLi5kZXBlbmRlbmN5VmFsdWVzIH07XG4gICAgICAgIH1cbiAgICAgICAgaWYgKCFkZXBlbmRlbmNpZXMgfHwgZGVwZW5kZW5jeVZhbHVlcykge1xuICAgICAgICAgICAgc2V0TG9hZGluZyh0cnVlKTtcbiAgICAgICAgICAgIGF4aW9zQ2FsbFdyYXBwZXIob3B0aW9ucylcbiAgICAgICAgICAgICAgICAudGhlbigocmVzcG9uc2UpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgaWYgKGN1cnJlbnQpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHNldE9wdGlvbnMoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZ2VuZXJhdGVPcHRpb25zKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmaWx0ZXJSZXNwb25zZShyZXNwb25zZS5kYXRhLmVudHJ5LCBsYWJlbEZpZWxkLCBhbGxvd0xpc3QsIGRlbnlMaXN0KVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgICAgICAgICAgICBzZXRMb2FkaW5nKGZhbHNlKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAgICAgLmNhdGNoKCgpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgaWYgKGN1cnJlbnQpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHNldExvYWRpbmcoZmFsc2UpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIGNvbnNpc3RlbnQtcmV0dXJuXG4gICAgICAgIHJldHVybiAoKSA9PiB7XG4gICAgICAgICAgICBzb3VyY2UuY2FuY2VsKCdPcGVyYXRpb24gY2FuY2VsZWQuJyk7XG4gICAgICAgICAgICBjdXJyZW50ID0gZmFsc2U7XG4gICAgICAgIH07XG4gICAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSByZWFjdC1ob29rcy9leGhhdXN0aXZlLWRlcHNcbiAgICB9LCBbZGVwZW5kZW5jeVZhbHVlc10pO1xuXG4gICAgY29uc3QgZWZmZWN0aXZlRGlzYWJsZWQgPSBsb2FkaW5nID8gdHJ1ZSA6IGRpc2FibGVkO1xuICAgIGNvbnN0IGVmZmVjdGl2ZVBsYWNlaG9sZGVyID0gbG9hZGluZyA/IF8oJ0xvYWRpbmcnKSA6IHBsYWNlaG9sZGVyO1xuICAgIC8vIGhpZGVDbGVhckJ0bj10cnVlIG9ubHkgcGFzc2VkIGZvciBPQXV0aCBlbHNlIGl0cyB1bmRlZmluZWRcbiAgICBjb25zdCBlZmZlY3RpdmVJc0NsZWFyYWJsZSA9IGVmZmVjdGl2ZURpc2FibGVkID8gZmFsc2UgOiAhaGlkZUNsZWFyQnRuO1xuXG4gICAgcmV0dXJuIChcbiAgICAgICAgPD5cbiAgICAgICAgICAgIHtjcmVhdGVTZWFyY2hDaG9pY2UgPyAoXG4gICAgICAgICAgICAgICAgPFN0eWxlZERpdiBjbGFzc05hbWU9XCJkcm9wZG93bkJveFwiPlxuICAgICAgICAgICAgICAgICAgICA8Q29tYm9Cb3hcbiAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlPXtwcm9wcy52YWx1ZSA9PT0gbnVsbCA/ICcnIDogcHJvcHMudmFsdWV9XG4gICAgICAgICAgICAgICAgICAgICAgICBuYW1lPXtmaWVsZH1cbiAgICAgICAgICAgICAgICAgICAgICAgIGVycm9yPXtlcnJvcn1cbiAgICAgICAgICAgICAgICAgICAgICAgIHBsYWNlaG9sZGVyPXtlZmZlY3RpdmVQbGFjZWhvbGRlcn1cbiAgICAgICAgICAgICAgICAgICAgICAgIGRpc2FibGVkPXtlZmZlY3RpdmVEaXNhYmxlZH1cbiAgICAgICAgICAgICAgICAgICAgICAgIG9uQ2hhbmdlPXtoYW5kbGVDaGFuZ2V9XG4gICAgICAgICAgICAgICAgICAgICAgICBpbmxpbmVcbiAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAge29wdGlvbnMgJiYgb3B0aW9ucy5sZW5ndGggPiAwICYmIG9wdGlvbnN9XG4gICAgICAgICAgICAgICAgICAgIDwvQ29tYm9Cb3g+XG4gICAgICAgICAgICAgICAgPC9TdHlsZWREaXY+XG4gICAgICAgICAgICApIDogKFxuICAgICAgICAgICAgICAgIDw+XG4gICAgICAgICAgICAgICAgICAgIDxTZWxlY3RXcmFwcGVyXG4gICAgICAgICAgICAgICAgICAgICAgICBjbGFzc05hbWU9XCJkcm9wZG93bkJveFwiXG4gICAgICAgICAgICAgICAgICAgICAgICBkYXRhLXRlc3QtbG9hZGluZz17bG9hZGluZ31cbiAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlPXtwcm9wcy52YWx1ZX1cbiAgICAgICAgICAgICAgICAgICAgICAgIG5hbWU9e2ZpZWxkfVxuICAgICAgICAgICAgICAgICAgICAgICAgZXJyb3I9e2Vycm9yfVxuICAgICAgICAgICAgICAgICAgICAgICAgcGxhY2Vob2xkZXI9e2VmZmVjdGl2ZVBsYWNlaG9sZGVyfVxuICAgICAgICAgICAgICAgICAgICAgICAgZGlzYWJsZWQ9e2VmZmVjdGl2ZURpc2FibGVkfVxuICAgICAgICAgICAgICAgICAgICAgICAgb25DaGFuZ2U9e2hhbmRsZUNoYW5nZX1cbiAgICAgICAgICAgICAgICAgICAgICAgIGZpbHRlcj17IWRpc2FibGVTZWFyY2h9XG4gICAgICAgICAgICAgICAgICAgICAgICBpbmxpbmVcbiAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAge29wdGlvbnMgJiYgb3B0aW9ucy5sZW5ndGggPiAwICYmIG9wdGlvbnN9XG4gICAgICAgICAgICAgICAgICAgIDwvU2VsZWN0V3JhcHBlcj5cbiAgICAgICAgICAgICAgICAgICAge2VmZmVjdGl2ZUlzQ2xlYXJhYmxlID8gKFxuICAgICAgICAgICAgICAgICAgICAgICAgPEJ1dHRvblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtdGVzdD1cImNsZWFyXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBhcHBlYXJhbmNlPVwic2Vjb25kYXJ5XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpY29uPXs8Q2xlYXIgLz59XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgb25DbGljaz17KCkgPT4gcmVzdFByb3BzLmhhbmRsZUNoYW5nZShmaWVsZCwgJycpfVxuICAgICAgICAgICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICAgICAgKSA6IG51bGx9XG4gICAgICAgICAgICAgICAgPC8+XG4gICAgICAgICAgICApfVxuICAgICAgICA8Lz5cbiAgICApO1xufVxuXG5TaW5nbGVJbnB1dENvbXBvbmVudC5wcm9wVHlwZXMgPSB7XG4gICAgZGlzYWJsZWQ6IFByb3BUeXBlcy5ib29sLFxuICAgIHZhbHVlOiBQcm9wVHlwZXMuc3RyaW5nLFxuICAgIGVycm9yOiBQcm9wVHlwZXMuYm9vbCxcbiAgICBoYW5kbGVDaGFuZ2U6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgZmllbGQ6IFByb3BUeXBlcy5zdHJpbmcsXG4gICAgZGVwZW5kZW5jeVZhbHVlczogUHJvcFR5cGVzLm9iamVjdCxcbiAgICBjb250cm9sT3B0aW9uczogUHJvcFR5cGVzLnNoYXBlKHtcbiAgICAgICAgYXV0b0NvbXBsZXRlRmllbGRzOiBQcm9wVHlwZXMuYXJyYXksXG4gICAgICAgIGVuZHBvaW50VXJsOiBQcm9wVHlwZXMuc3RyaW5nLFxuICAgICAgICBkZW55TGlzdDogUHJvcFR5cGVzLnN0cmluZyxcbiAgICAgICAgYWxsb3dMaXN0OiBQcm9wVHlwZXMuc3RyaW5nLFxuICAgICAgICBwbGFjZWhvbGRlcjogUHJvcFR5cGVzLnN0cmluZyxcbiAgICAgICAgZGVwZW5kZW5jaWVzOiBQcm9wVHlwZXMuYXJyYXksXG4gICAgICAgIGNyZWF0ZVNlYXJjaENob2ljZTogUHJvcFR5cGVzLmJvb2wsXG4gICAgICAgIHJlZmVyZW5jZU5hbWU6IFByb3BUeXBlcy5zdHJpbmcsXG4gICAgICAgIGRpc2FibGVTZWFyY2g6IFByb3BUeXBlcy5ib29sLFxuICAgICAgICBsYWJlbEZpZWxkOiBQcm9wVHlwZXMuc3RyaW5nLFxuICAgICAgICBoaWRlQ2xlYXJCdG46IFByb3BUeXBlcy5ib29sLFxuICAgIH0pLFxufTtcblxuZXhwb3J0IGRlZmF1bHQgU2luZ2xlSW5wdXRDb21wb25lbnQ7XG4iLCJpbXBvcnQgUmVhY3QsIHsgdXNlU3RhdGUsIHVzZUVmZmVjdCB9IGZyb20gJ3JlYWN0JztcbmltcG9ydCBQcm9wVHlwZXMgZnJvbSAncHJvcC10eXBlcyc7XG5pbXBvcnQgTXVsdGlzZWxlY3QgZnJvbSAnQHNwbHVuay9yZWFjdC11aS9NdWx0aXNlbGVjdCc7XG5pbXBvcnQgc3R5bGVkIGZyb20gJ3N0eWxlZC1jb21wb25lbnRzJztcbmltcG9ydCBheGlvcyBmcm9tICdheGlvcyc7XG5cbmltcG9ydCB7IGF4aW9zQ2FsbFdyYXBwZXIgfSBmcm9tICcuLi91dGlsL2F4aW9zQ2FsbFdyYXBwZXInO1xuaW1wb3J0IHsgZmlsdGVyUmVzcG9uc2UgfSBmcm9tICcuLi91dGlsL3V0aWwnO1xuaW1wb3J0IHsgZ2V0Rm9ybWF0dGVkTWVzc2FnZSB9IGZyb20gJy4uL3V0aWwvbWVzc2FnZVV0aWwnO1xuXG5jb25zdCBNdWx0aVNlbGVjdFdyYXBwZXIgPSBzdHlsZWQoTXVsdGlzZWxlY3QpYFxuICAgIHdpZHRoOiAzMjBweCAhaW1wb3J0YW50O1xuYDtcblxuZnVuY3Rpb24gTXVsdGlJbnB1dENvbXBvbmVudChwcm9wcykge1xuICAgIGNvbnN0IHtcbiAgICAgICAgZmllbGQsXG4gICAgICAgIGRpc2FibGVkID0gZmFsc2UsXG4gICAgICAgIGVycm9yID0gZmFsc2UsXG4gICAgICAgIHZhbHVlLFxuICAgICAgICBjb250cm9sT3B0aW9ucyxcbiAgICAgICAgZGVwZW5kZW5jeVZhbHVlcyxcbiAgICAgICAgLi4ucmVzdFByb3BzXG4gICAgfSA9IHByb3BzO1xuICAgIGNvbnN0IHtcbiAgICAgICAgZW5kcG9pbnRVcmwsXG4gICAgICAgIGRlbnlMaXN0LFxuICAgICAgICBhbGxvd0xpc3QsXG4gICAgICAgIGl0ZW1zLFxuICAgICAgICBkZXBlbmRlbmNpZXMsXG4gICAgICAgIHJlZmVyZW5jZU5hbWUsXG4gICAgICAgIHBsYWNlaG9sZGVyLFxuICAgICAgICBjcmVhdGVTZWFyY2hDaG9pY2UsXG4gICAgICAgIGxhYmVsRmllbGQsXG4gICAgICAgIGRlbGltaXRlciA9ICcsJyxcbiAgICB9ID0gY29udHJvbE9wdGlvbnM7XG5cbiAgICBmdW5jdGlvbiBoYW5kbGVDaGFuZ2UoZSwgeyB2YWx1ZXMgfSkge1xuICAgICAgICByZXN0UHJvcHMuaGFuZGxlQ2hhbmdlKGZpZWxkLCB2YWx1ZXMuam9pbihkZWxpbWl0ZXIpKTtcbiAgICB9XG5cbiAgICBmdW5jdGlvbiBnZW5lcmF0ZU9wdGlvbnMoaXRlbUxpc3QpIHtcbiAgICAgICAgcmV0dXJuIGl0ZW1MaXN0Lm1hcCgoaXRlbSkgPT4gKFxuICAgICAgICAgICAgPE11bHRpc2VsZWN0Lk9wdGlvbiBsYWJlbD17aXRlbS5sYWJlbH0gdmFsdWU9e2l0ZW0udmFsdWV9IGtleT17aXRlbS52YWx1ZX0gLz5cbiAgICAgICAgKSk7XG4gICAgfVxuXG4gICAgY29uc3QgW2xvYWRpbmcsIHNldExvYWRpbmddID0gdXNlU3RhdGUoZmFsc2UpO1xuICAgIGNvbnN0IFtvcHRpb25zLCBzZXRPcHRpb25zXSA9IHVzZVN0YXRlKG51bGwpO1xuXG4gICAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICAgICAgaWYgKCFlbmRwb2ludFVybCAmJiBpdGVtcykge1xuICAgICAgICAgICAgc2V0T3B0aW9ucyhnZW5lcmF0ZU9wdGlvbnMoaXRlbXMpKTtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIGxldCBjdXJyZW50ID0gdHJ1ZTtcbiAgICAgICAgY29uc3Qgc291cmNlID0gYXhpb3MuQ2FuY2VsVG9rZW4uc291cmNlKCk7XG5cbiAgICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLXNoYWRvd1xuICAgICAgICBjb25zdCBvcHRpb25zID0geyBjYW5jZWxUb2tlbjogc291cmNlLnRva2VuLCBoYW5kbGVFcnJvcjogdHJ1ZSwgcGFyYW1zOiB7IGNvdW50OiAtMSB9IH07XG4gICAgICAgIGlmIChyZWZlcmVuY2VOYW1lKSB7XG4gICAgICAgICAgICBvcHRpb25zLnNlcnZpY2VOYW1lID0gcmVmZXJlbmNlTmFtZTtcbiAgICAgICAgfSBlbHNlIGlmIChlbmRwb2ludFVybCkge1xuICAgICAgICAgICAgb3B0aW9ucy5lbmRwb2ludFVybCA9IGVuZHBvaW50VXJsO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKGRlcGVuZGVuY3lWYWx1ZXMpIHtcbiAgICAgICAgICAgIG9wdGlvbnMucGFyYW1zID0geyAuLi5vcHRpb25zLnBhcmFtcywgLi4uZGVwZW5kZW5jeVZhbHVlcyB9O1xuICAgICAgICB9XG4gICAgICAgIGlmICghZGVwZW5kZW5jaWVzIHx8IGRlcGVuZGVuY3lWYWx1ZXMpIHtcbiAgICAgICAgICAgIHNldExvYWRpbmcodHJ1ZSk7XG4gICAgICAgICAgICBheGlvc0NhbGxXcmFwcGVyKG9wdGlvbnMpXG4gICAgICAgICAgICAgICAgLnRoZW4oKHJlc3BvbnNlKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGlmIChjdXJyZW50KSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBzZXRPcHRpb25zKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdlbmVyYXRlT3B0aW9ucyhcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmlsdGVyUmVzcG9uc2UocmVzcG9uc2UuZGF0YS5lbnRyeSwgbGFiZWxGaWVsZCwgYWxsb3dMaXN0LCBkZW55TGlzdClcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICApXG4gICAgICAgICAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICAgICAgICAgICAgc2V0TG9hZGluZyhmYWxzZSk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgICAgIC5jYXRjaCgoKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGlmIChjdXJyZW50KSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBzZXRMb2FkaW5nKGZhbHNlKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBjb25zaXN0ZW50LXJldHVyblxuICAgICAgICByZXR1cm4gKCkgPT4ge1xuICAgICAgICAgICAgc291cmNlLmNhbmNlbCgnT3BlcmF0aW9uIGNhbmNlbGVkLicpO1xuICAgICAgICAgICAgY3VycmVudCA9IGZhbHNlO1xuICAgICAgICB9O1xuICAgICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgcmVhY3QtaG9va3MvZXhoYXVzdGl2ZS1kZXBzXG4gICAgfSwgW2RlcGVuZGVuY3lWYWx1ZXNdKTtcblxuICAgIGNvbnN0IGVmZmVjdGl2ZURpc2FibGVkID0gbG9hZGluZyA/IHRydWUgOiBkaXNhYmxlZDtcbiAgICBjb25zdCBlZmZlY3RpdmVQbGFjZWhvbGRlciA9IGxvYWRpbmcgPyBnZXRGb3JtYXR0ZWRNZXNzYWdlKDExNSkgOiBwbGFjZWhvbGRlcjtcblxuICAgIGNvbnN0IHZhbHVlTGlzdCA9IHZhbHVlID8gdmFsdWUuc3BsaXQoZGVsaW1pdGVyKSA6IFtdO1xuXG4gICAgcmV0dXJuIChcbiAgICAgICAgPE11bHRpU2VsZWN0V3JhcHBlclxuICAgICAgICAgICAgdmFsdWVzPXt2YWx1ZUxpc3R9XG4gICAgICAgICAgICBlcnJvcj17ZXJyb3J9XG4gICAgICAgICAgICBuYW1lPXtmaWVsZH1cbiAgICAgICAgICAgIHBsYWNlaG9sZGVyPXtlZmZlY3RpdmVQbGFjZWhvbGRlcn1cbiAgICAgICAgICAgIGRpc2FibGVkPXtlZmZlY3RpdmVEaXNhYmxlZH1cbiAgICAgICAgICAgIGFsbG93TmV3VmFsdWVzPXtjcmVhdGVTZWFyY2hDaG9pY2V9XG4gICAgICAgICAgICBvbkNoYW5nZT17aGFuZGxlQ2hhbmdlfVxuICAgICAgICAgICAgaW5saW5lXG4gICAgICAgID5cbiAgICAgICAgICAgIHtvcHRpb25zICYmIG9wdGlvbnMubGVuZ3RoID4gMCAmJiBvcHRpb25zfVxuICAgICAgICA8L011bHRpU2VsZWN0V3JhcHBlcj5cbiAgICApO1xufVxuXG5NdWx0aUlucHV0Q29tcG9uZW50LnByb3BUeXBlcyA9IHtcbiAgICBkaXNhYmxlZDogUHJvcFR5cGVzLmJvb2wsXG4gICAgdmFsdWU6IFByb3BUeXBlcy5zdHJpbmcsXG4gICAgZXJyb3I6IFByb3BUeXBlcy5ib29sLFxuICAgIGhhbmRsZUNoYW5nZTogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBmaWVsZDogUHJvcFR5cGVzLnN0cmluZyxcbiAgICBkZXBlbmRlbmN5VmFsdWVzOiBQcm9wVHlwZXMub2JqZWN0LFxuICAgIGNvbnRyb2xPcHRpb25zOiBQcm9wVHlwZXMuc2hhcGUoe1xuICAgICAgICBkZWxpbWl0ZXI6IFByb3BUeXBlcy5zdHJpbmcsXG4gICAgICAgIHBsYWNlaG9sZGVyOiBQcm9wVHlwZXMuc3RyaW5nLFxuICAgICAgICBjcmVhdGVTZWFyY2hDaG9pY2U6IFByb3BUeXBlcy5ib29sLFxuICAgICAgICByZWZlcmVuY2VOYW1lOiBQcm9wVHlwZXMuc3RyaW5nLFxuICAgICAgICBkZXBlbmRlbmNpZXM6IFByb3BUeXBlcy5hcnJheSxcbiAgICAgICAgZW5kcG9pbnRVcmw6IFByb3BUeXBlcy5zdHJpbmcsXG4gICAgICAgIGRlbnlMaXN0OiBQcm9wVHlwZXMuc3RyaW5nLFxuICAgICAgICBhbGxvd0xpc3Q6IFByb3BUeXBlcy5zdHJpbmcsXG4gICAgICAgIGxhYmVsRmllbGQ6IFByb3BUeXBlcy5zdHJpbmcsXG4gICAgICAgIGl0ZW1zOiBQcm9wVHlwZXMuYXJyYXlPZihcbiAgICAgICAgICAgIFByb3BUeXBlcy5zaGFwZSh7XG4gICAgICAgICAgICAgICAgbGFiZWw6IFByb3BUeXBlcy5zdHJpbmcuaXNSZXF1aXJlZCxcbiAgICAgICAgICAgICAgICB2YWx1ZTogUHJvcFR5cGVzLnN0cmluZy5pc1JlcXVpcmVkLFxuICAgICAgICAgICAgfSlcbiAgICAgICAgKSxcbiAgICB9KSxcbn07XG5cbmV4cG9ydCBkZWZhdWx0IE11bHRpSW5wdXRDb21wb25lbnQ7XG4iLCJpbXBvcnQgUmVhY3QsIHsgQ29tcG9uZW50IH0gZnJvbSAncmVhY3QnO1xuaW1wb3J0IFByb3BUeXBlcyBmcm9tICdwcm9wLXR5cGVzJztcbmltcG9ydCBTd2l0Y2ggZnJvbSAnQHNwbHVuay9yZWFjdC11aS9Td2l0Y2gnO1xuaW1wb3J0IHsgaXNGYWxzZSB9IGZyb20gJy4uL3V0aWwvdXRpbCc7XG5cbmNsYXNzIENoZWNrQm94Q29tcG9uZW50IGV4dGVuZHMgQ29tcG9uZW50IHtcbiAgICBoYW5kbGVDaGFuZ2UgPSAoKSA9PiB7XG4gICAgICAgIGlmICh0aGlzLnByb3BzLnZhbHVlICYmICFpc0ZhbHNlKHRoaXMucHJvcHMudmFsdWUpKSB7XG4gICAgICAgICAgICB0aGlzLnByb3BzLmhhbmRsZUNoYW5nZSh0aGlzLnByb3BzLmZpZWxkLCAwKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMucHJvcHMuaGFuZGxlQ2hhbmdlKHRoaXMucHJvcHMuZmllbGQsIDEpO1xuICAgICAgICB9XG4gICAgfTtcblxuICAgIHJlbmRlcigpIHtcbiAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgIDxTd2l0Y2hcbiAgICAgICAgICAgICAgICBrZXk9e3RoaXMucHJvcHMuZmllbGR9XG4gICAgICAgICAgICAgICAgdmFsdWU9e3RoaXMucHJvcHMuZmllbGR9XG4gICAgICAgICAgICAgICAgb25DbGljaz17dGhpcy5oYW5kbGVDaGFuZ2V9XG4gICAgICAgICAgICAgICAgZGlzYWJsZWQ9e3RoaXMucHJvcHMuZGlzYWJsZWR9XG4gICAgICAgICAgICAgICAgc2VsZWN0ZWQ9eyEodGhpcy5wcm9wcy52YWx1ZSA/IGlzRmFsc2UodGhpcy5wcm9wcy52YWx1ZSkgOiB0cnVlKX1cbiAgICAgICAgICAgICAgICBhcHBlYXJhbmNlPVwiY2hlY2tib3hcIlxuICAgICAgICAgICAgLz5cbiAgICAgICAgKTtcbiAgICB9XG59XG5cbkNoZWNrQm94Q29tcG9uZW50LnByb3BUeXBlcyA9IHtcbiAgICB2YWx1ZTogUHJvcFR5cGVzLm9uZU9mVHlwZShbUHJvcFR5cGVzLmJvb2wsIFByb3BUeXBlcy5udW1iZXIsIFByb3BUeXBlcy5zdHJpbmddKSxcbiAgICBoYW5kbGVDaGFuZ2U6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgZmllbGQ6IFByb3BUeXBlcy5zdHJpbmcsXG4gICAgZGlzYWJsZWQ6IFByb3BUeXBlcy5ib29sLFxufTtcblxuZXhwb3J0IGRlZmF1bHQgQ2hlY2tCb3hDb21wb25lbnQ7XG4iLCJpbXBvcnQgUmVhY3QsIHsgQ29tcG9uZW50IH0gZnJvbSAncmVhY3QnO1xuaW1wb3J0IFByb3BUeXBlcyBmcm9tICdwcm9wLXR5cGVzJztcbmltcG9ydCBSYWRpb0JhciBmcm9tICdAc3BsdW5rL3JlYWN0LXVpL1JhZGlvQmFyJztcbmltcG9ydCBzdHlsZWQgZnJvbSAnc3R5bGVkLWNvbXBvbmVudHMnO1xuXG5jb25zdCBSYWRpb0JhcldyYXBwZXIgPSBzdHlsZWQoUmFkaW9CYXIpYFxuICAgIHdpZHRoOiAzMjBweDtcbmA7XG5cbmNsYXNzIFJhZGlvQ29tcG9uZW50IGV4dGVuZHMgQ29tcG9uZW50IHtcbiAgICBoYW5kbGVDaGFuZ2UgPSAoZSwgeyB2YWx1ZSB9KSA9PiB7XG4gICAgICAgIHRoaXMucHJvcHMuaGFuZGxlQ2hhbmdlKHRoaXMucHJvcHMuZmllbGQsIHZhbHVlKTtcbiAgICB9O1xuXG4gICAgcmVuZGVyKCkge1xuICAgICAgICByZXR1cm4gKFxuICAgICAgICAgICAgPFJhZGlvQmFyV3JhcHBlclxuICAgICAgICAgICAgICAgIGlubGluZVxuICAgICAgICAgICAgICAgIG9uQ2hhbmdlPXt0aGlzLmhhbmRsZUNoYW5nZX1cbiAgICAgICAgICAgICAgICB2YWx1ZT17dGhpcy5wcm9wcy52YWx1ZX1cbiAgICAgICAgICAgICAgICBrZXk9e3RoaXMucHJvcHMuZmllbGR9XG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAge3RoaXMucHJvcHMuY29udHJvbE9wdGlvbnMuaXRlbXMubWFwKChpdGVtKSA9PiAoXG4gICAgICAgICAgICAgICAgICAgIDxSYWRpb0Jhci5PcHRpb24ga2V5PXtpdGVtLnZhbHVlfSB2YWx1ZT17aXRlbS52YWx1ZX0gbGFiZWw9e2l0ZW0ubGFiZWx9IC8+XG4gICAgICAgICAgICAgICAgKSl9XG4gICAgICAgICAgICA8L1JhZGlvQmFyV3JhcHBlcj5cbiAgICAgICAgKTtcbiAgICB9XG59XG5cblJhZGlvQ29tcG9uZW50LnByb3BUeXBlcyA9IHtcbiAgICB2YWx1ZTogUHJvcFR5cGVzLnN0cmluZyxcbiAgICBoYW5kbGVDaGFuZ2U6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgZmllbGQ6IFByb3BUeXBlcy5zdHJpbmcsXG4gICAgY29udHJvbE9wdGlvbnM6IFByb3BUeXBlcy5vYmplY3QsXG59O1xuXG5leHBvcnQgZGVmYXVsdCBSYWRpb0NvbXBvbmVudDtcbiIsImltcG9ydCBSZWFjdCBmcm9tICdyZWFjdCc7XG5pbXBvcnQgUHJvcFR5cGVzIGZyb20gJ3Byb3AtdHlwZXMnO1xuaW1wb3J0IFN0YXRpY0NvbnRlbnQgZnJvbSAnQHNwbHVuay9yZWFjdC11aS9TdGF0aWNDb250ZW50JztcblxuZnVuY3Rpb24gUGxhY2Vob2xkZXJDb21wb25lbnQocHJvcHMpIHtcbiAgICBjb25zdCB7IGRlZmF1bHRWYWx1ZSB9ID0gcHJvcHMuY29udHJvbE9wdGlvbnM7XG5cbiAgICByZXR1cm4gPFN0YXRpY0NvbnRlbnQ+e2RlZmF1bHRWYWx1ZX08L1N0YXRpY0NvbnRlbnQ+O1xufVxuXG5QbGFjZWhvbGRlckNvbXBvbmVudC5wcm9wVHlwZXMgPSB7XG4gICAgY29udHJvbE9wdGlvbnM6IFByb3BUeXBlcy5vYmplY3QsXG59O1xuXG5leHBvcnQgZGVmYXVsdCBQbGFjZWhvbGRlckNvbXBvbmVudDtcbiIsImltcG9ydCBSZWFjdCwgeyBDb21wb25lbnQgfSBmcm9tICdyZWFjdCc7XG5pbXBvcnQgUHJvcFR5cGVzIGZyb20gJ3Byb3AtdHlwZXMnO1xuaW1wb3J0IHsgXyB9IGZyb20gJ0BzcGx1bmsvdWktdXRpbHMvaTE4bic7XG5cbmltcG9ydCB7IGdldFVuaWZpZWRDb25maWdzIH0gZnJvbSAnLi4vdXRpbC91dGlsJztcbmltcG9ydCB7IGdldEJ1aWxkRGlyUGF0aCB9IGZyb20gJy4uL3V0aWwvc2NyaXB0JztcblxuY2xhc3MgQ3VzdG9tQ29udHJvbCBleHRlbmRzIENvbXBvbmVudCB7XG4gICAgY29uc3RydWN0b3IocHJvcHMpIHtcbiAgICAgICAgc3VwZXIocHJvcHMpO1xuICAgICAgICB0aGlzLnN0YXRlID0ge1xuICAgICAgICAgICAgbG9hZGluZzogdHJ1ZSxcbiAgICAgICAgfTtcbiAgICAgICAgdGhpcy5zaG91bGRSZW5kZXIgPSB0cnVlO1xuICAgIH1cblxuICAgIGNvbXBvbmVudERpZE1vdW50KCkge1xuICAgICAgICBjb25zdCBnbG9iYWxDb25maWcgPSBnZXRVbmlmaWVkQ29uZmlncygpO1xuICAgICAgICBjb25zdCBhcHBOYW1lID0gZ2xvYmFsQ29uZmlnLm1ldGEubmFtZTtcblxuICAgICAgICB0aGlzLmxvYWRDdXN0b21Db250cm9sKFxuICAgICAgICAgICAgdGhpcy5wcm9wcy5jb250cm9sT3B0aW9ucy5zcmMsXG4gICAgICAgICAgICB0aGlzLnByb3BzLmNvbnRyb2xPcHRpb25zLnR5cGUsXG4gICAgICAgICAgICBhcHBOYW1lXG4gICAgICAgICkudGhlbigoQ29udHJvbCkgPT4ge1xuICAgICAgICAgICAgY29uc3QgY3VzdG9tQ29udHJvbCA9IG5ldyBDb250cm9sKFxuICAgICAgICAgICAgICAgIGdsb2JhbENvbmZpZyxcbiAgICAgICAgICAgICAgICB0aGlzLmVsLFxuICAgICAgICAgICAgICAgIHRoaXMucHJvcHMuZGF0YSxcbiAgICAgICAgICAgICAgICB0aGlzLnNldFZhbHVlLFxuICAgICAgICAgICAgICAgIHRoaXMucHJvcHMudXRpbEN1c3RvbUZ1bmN0aW9uc1xuICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIGN1c3RvbUNvbnRyb2wucmVuZGVyKCk7XG5cbiAgICAgICAgICAgIGlmICh0eXBlb2YgY3VzdG9tQ29udHJvbC52YWxpZGF0aW9uID09PSAnZnVuY3Rpb24nKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5wcm9wcy5hZGRDdXN0b21WYWxpZGF0b3IodGhpcy5wcm9wcy5maWVsZCwgY3VzdG9tQ29udHJvbC52YWxpZGF0aW9uKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHRoaXMuc2V0U3RhdGUoeyBsb2FkaW5nOiBmYWxzZSB9KTtcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgc2hvdWxkQ29tcG9uZW50VXBkYXRlKG5leHRQcm9wcywgbmV4dFN0YXRlKSB7XG4gICAgICAgIGlmICghbmV4dFN0YXRlLmxvYWRpbmcgJiYgdGhpcy5zaG91bGRSZW5kZXIpIHtcbiAgICAgICAgICAgIHRoaXMuc2hvdWxkUmVuZGVyID0gZmFsc2U7XG4gICAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuXG4gICAgbG9hZEN1c3RvbUNvbnRyb2wgPSAobW9kdWxlLCB0eXBlLCBhcHBOYW1lKSA9PiB7XG4gICAgICAgIHJldHVybiBuZXcgUHJvbWlzZSgocmVzb2x2ZSkgPT4ge1xuICAgICAgICAgICAgaWYgKHR5cGUgPT09ICdleHRlcm5hbCcpIHtcbiAgICAgICAgICAgICAgICBpbXBvcnQoLyogd2VicGFja0lnbm9yZTogdHJ1ZSAqLyBgJHtnZXRCdWlsZERpclBhdGgoKX0vY3VzdG9tLyR7bW9kdWxlfS5qc2ApLnRoZW4oXG4gICAgICAgICAgICAgICAgICAgIChleHRlcm5hbCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgQ29udHJvbCA9IGV4dGVybmFsLmRlZmF1bHQ7XG4gICAgICAgICAgICAgICAgICAgICAgICByZXNvbHZlKENvbnRyb2wpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgX19ub25fd2VicGFja19yZXF1aXJlX18oW2BhcHAvJHthcHBOYW1lfS9qcy9idWlsZC9jdXN0b20vJHttb2R1bGV9YF0sIChDb250cm9sKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIHJlc29sdmUoQ29udHJvbCk7XG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgIH07XG5cbiAgICBzZXRWYWx1ZSA9IChuZXdWYWx1ZSkgPT4ge1xuICAgICAgICB0aGlzLnByb3BzLmhhbmRsZUNoYW5nZSh0aGlzLnByb3BzLmZpZWxkLCBuZXdWYWx1ZSk7XG4gICAgfTtcblxuICAgIHJlbmRlcigpIHtcbiAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgIDw+XG4gICAgICAgICAgICAgICAge3RoaXMuc3RhdGUubG9hZGluZyAmJiBfKCdMb2FkaW5nLi4uJyl9XG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICA8c3BhbiAvLyBub3NlbWdyZXA6IHR5cGVzY3JpcHQucmVhY3Quc2VjdXJpdHkuYXVkaXQucmVhY3Qtbm8tcmVmcy5yZWFjdC1uby1yZWZzXG4gICAgICAgICAgICAgICAgICAgICAgICByZWY9eyhlbCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuZWwgPSBlbDtcbiAgICAgICAgICAgICAgICAgICAgICAgIH19XG4gICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT17eyB2aXNpYmlsaXR5OiB0aGlzLnN0YXRlLmxvYWRpbmcgPyAnaGlkZGVuJyA6ICd2aXNpYmxlJyB9fVxuICAgICAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIDwvPlxuICAgICAgICApO1xuICAgIH1cbn1cblxuQ3VzdG9tQ29udHJvbC5wcm9wVHlwZXMgPSB7XG4gICAgZGF0YTogUHJvcFR5cGVzLm9iamVjdCxcbiAgICBmaWVsZDogUHJvcFR5cGVzLnN0cmluZyxcbiAgICBoYW5kbGVDaGFuZ2U6IFByb3BUeXBlcy5mdW5jLFxuICAgIGNvbnRyb2xPcHRpb25zOiBQcm9wVHlwZXMub2JqZWN0LFxuICAgIGFkZEN1c3RvbVZhbGlkYXRvcjogUHJvcFR5cGVzLmZ1bmMsXG4gICAgdXRpbEN1c3RvbUZ1bmN0aW9uczogUHJvcFR5cGVzLm9iamVjdCxcbn07XG5cbmV4cG9ydCBkZWZhdWx0IEN1c3RvbUNvbnRyb2w7XG4iLCJpbXBvcnQgSGVscExpbmtDb21wb25lbnQgZnJvbSAnLi4vY29tcG9uZW50cy9IZWxwTGlua0NvbXBvbmVudCc7XG5pbXBvcnQgVGV4dENvbXBvbmVudCBmcm9tICcuLi9jb21wb25lbnRzL1RleHRDb21wb25lbnQnO1xuaW1wb3J0IFNpbmdsZUlucHV0Q29tcG9uZW50IGZyb20gJy4uL2NvbXBvbmVudHMvU2luZ2xlSW5wdXRDb21wb25lbnQnO1xuaW1wb3J0IE11bHRpSW5wdXRDb21wb25lbnQgZnJvbSAnLi4vY29tcG9uZW50cy9NdWx0aUlucHV0Q29tcG9uZW50JztcbmltcG9ydCBDaGVja0JveENvbXBvbmVudCBmcm9tICcuLi9jb21wb25lbnRzL0NoZWNrQm94Q29tcG9uZW50JztcbmltcG9ydCBSYWRpb0NvbXBvbmVudCBmcm9tICcuLi9jb21wb25lbnRzL1JhZGlvQ29tcG9uZW50JztcbmltcG9ydCBQbGFjZWhvbGRlckNvbXBvbmVudCBmcm9tICcuLi9jb21wb25lbnRzL1BsYWNlaG9sZGVyQ29tcG9uZW50JztcbmltcG9ydCBDdXN0b21Db250cm9sIGZyb20gJy4uL2NvbXBvbmVudHMvQ3VzdG9tQ29udHJvbCc7XG5cbmV4cG9ydCBkZWZhdWx0IHtcbiAgICB0ZXh0OiBUZXh0Q29tcG9uZW50LFxuICAgIHNpbmdsZVNlbGVjdDogU2luZ2xlSW5wdXRDb21wb25lbnQsXG4gICAgaGVscExpbms6IEhlbHBMaW5rQ29tcG9uZW50LFxuICAgIG11bHRpcGxlU2VsZWN0OiBNdWx0aUlucHV0Q29tcG9uZW50LFxuICAgIGNoZWNrYm94OiBDaGVja0JveENvbXBvbmVudCxcbiAgICByYWRpbzogUmFkaW9Db21wb25lbnQsXG4gICAgcGxhY2Vob2xkZXI6IFBsYWNlaG9sZGVyQ29tcG9uZW50LFxuICAgIGN1c3RvbTogQ3VzdG9tQ29udHJvbCxcbn07XG4iLCJpbXBvcnQgUmVhY3QgZnJvbSAncmVhY3QnO1xuaW1wb3J0IFByb3BUeXBlcyBmcm9tICdwcm9wLXR5cGVzJztcbmltcG9ydCBDb250cm9sR3JvdXAgZnJvbSAnQHNwbHVuay9yZWFjdC11aS9Db250cm9sR3JvdXAnO1xuaW1wb3J0IHN0eWxlZCBmcm9tICdzdHlsZWQtY29tcG9uZW50cyc7XG5cbmltcG9ydCBNYXJrZG93bk1lc3NhZ2UgZnJvbSAnLi9NYXJrZG93bk1lc3NhZ2UnO1xuaW1wb3J0IENPTlRST0xfVFlQRV9NQVAgZnJvbSAnLi4vY29uc3RhbnRzL0NvbnRyb2xUeXBlTWFwJztcblxuY29uc3QgQ3VzdG9tRWxlbWVudCA9IHN0eWxlZC5kaXZgXG4gICAgbWFyZ2luLWxlZnQ6IDMwcHg7XG5gO1xuXG5jb25zdCBDb250cm9sR3JvdXBXcmFwcGVyID0gc3R5bGVkKENvbnRyb2xHcm91cCkuYXR0cnMoKHByb3BzKSA9PiAoe1xuICAgICdkYXRhLW5hbWUnOiBwcm9wcy5kYXRhTmFtZSxcbn0pKWBcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG5cbiAgICA+ICoge1xuICAgICAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgICAgIHdpZHRoOiAyNDBweCAhaW1wb3J0YW50O1xuICAgICAgICB9XG4gICAgICAgICY6bnRoLWNoaWxkKDMpIHtcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAyNzBweCAhaW1wb3J0YW50O1xuICAgICAgICAgICAgd2lkdGg6IDMyMHB4O1xuICAgICAgICB9XG4gICAgfVxuYDtcblxuY2xhc3MgQ29udHJvbFdyYXBwZXIgZXh0ZW5kcyBSZWFjdC5QdXJlQ29tcG9uZW50IHtcbiAgICBjb25zdHJ1Y3Rvcihwcm9wcykge1xuICAgICAgICBzdXBlcihwcm9wcyk7XG4gICAgICAgIHRoaXMuY29udHJvbFR5cGUgPSB0aGlzLmlzU3RyaW5nKHByb3BzLmVudGl0eS50eXBlKVxuICAgICAgICAgICAgPyBDT05UUk9MX1RZUEVfTUFQW3Byb3BzLmVudGl0eS50eXBlXVxuICAgICAgICAgICAgOiBudWxsO1xuICAgICAgICAvLyBBZGQgJ29wdGlvbmFsJyBwbGFjZWhvbGRlciBmb3Igb3B0aW9uYWwgZmllbGRcbiAgICAgICAgLy8gTm90ZTogZm9yIG9hdXRoIGZpZWxkIGl0IGlzIHBvc3NpYmxlIHJlcXVpcmVkIGlzIGZhbHNlIGJ1dCB0aGUgZmllbGQgaXMgYWN0dWFsbHkgcmVxdWlyZWRcbiAgICAgICAgLy8gYmFzZWQgb24gd2hhdCB0eXBlIG9mIGF1dGhlbnRpY2F0aW9uIGlzIHNlbGVjdGVkXG4gICAgICAgIHRoaXMub3B0aW9ucyA9IHRoaXMucHJvcHMuZW50aXR5Lm9wdGlvbnM7XG4gICAgICAgIGlmIChcbiAgICAgICAgICAgICF0aGlzLnByb3BzLmVudGl0eS5yZXF1aXJlZCAmJlxuICAgICAgICAgICAgIU9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbCh0aGlzLnByb3BzLmVudGl0eSwgJ29hdXRoX2ZpZWxkJykgJiZcbiAgICAgICAgICAgICF0aGlzLm9wdGlvbnM/LnBsYWNlaG9sZGVyXG4gICAgICAgICkge1xuICAgICAgICAgICAgdGhpcy5vcHRpb25zID0ge1xuICAgICAgICAgICAgICAgIC4uLnRoaXMub3B0aW9ucyxcbiAgICAgICAgICAgICAgICBwbGFjZWhvbGRlcjogJ29wdGlvbmFsJyxcbiAgICAgICAgICAgIH07XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBpc1N0cmluZyA9IChzdHIpID0+IHtcbiAgICAgICAgcmV0dXJuICEhKHR5cGVvZiBzdHIgPT09ICdzdHJpbmcnIHx8IHN0ciBpbnN0YW5jZW9mIFN0cmluZyk7XG4gICAgfTtcblxuICAgIHJlbmRlcigpIHtcbiAgICAgICAgY29uc3QgeyBmaWVsZCwgdHlwZSwgbGFiZWwsIHRvb2x0aXAsIGhlbHAsIGVuY3J5cHRlZCA9IGZhbHNlIH0gPSB0aGlzLnByb3BzLmVudGl0eTtcbiAgICAgICAgY29uc3QgeyBoYW5kbGVDaGFuZ2UsIGFkZEN1c3RvbVZhbGlkYXRvciwgdXRpbEN1c3RvbUZ1bmN0aW9ucyB9ID0gdGhpcy5wcm9wcy51dGlsaXR5RnVuY3RzO1xuICAgICAgICAvLyBXZSBoYXZlIHRvIHB1dCBlbXB0eSBvYmplY3QgYmVjYXVzZSBtYXJrRG93bk1lc3NhZ2UgcHJvcCBjYW4gYmUgdW5kZWZpbmVkXG4gICAgICAgIC8vIGJlY2F1c2Ugd2UgYXJlIG5vdCBleHBsaWNpdGx5IHNldHRpbmcgaXQgYnV0IGV4cGVjdGluZyBpdCBmcm9tIGN1c3RvbSBob29rcyBvbmx5LlxuICAgICAgICBjb25zdCB7IHRleHQsIGxpbmssIGNvbG9yLCBtYXJrZG93blR5cGUsIHRva2VuLCBsaW5rVGV4dCB9ID1cbiAgICAgICAgICAgIHRoaXMucHJvcHMubWFya2Rvd25NZXNzYWdlIHx8IHt9O1xuICAgICAgICBsZXQgcm93VmlldztcbiAgICAgICAgaWYgKHRoaXMucHJvcHMuZW50aXR5LnR5cGUgPT09ICdjdXN0b20nKSB7XG4gICAgICAgICAgICBjb25zdCBkYXRhID0ge1xuICAgICAgICAgICAgICAgIHZhbHVlOiB0aGlzLnByb3BzLnZhbHVlLFxuICAgICAgICAgICAgICAgIG1vZGU6IHRoaXMucHJvcHMubW9kZSxcbiAgICAgICAgICAgICAgICBzZXJ2aWNlTmFtZTogdGhpcy5wcm9wcy5zZXJ2aWNlTmFtZSxcbiAgICAgICAgICAgIH07XG5cbiAgICAgICAgICAgIHJvd1ZpZXcgPSB0aGlzLmNvbnRyb2xUeXBlXG4gICAgICAgICAgICAgICAgPyBSZWFjdC5jcmVhdGVFbGVtZW50KHRoaXMuY29udHJvbFR5cGUsIHtcbiAgICAgICAgICAgICAgICAgICAgICBkYXRhLFxuICAgICAgICAgICAgICAgICAgICAgIGZpZWxkLFxuICAgICAgICAgICAgICAgICAgICAgIGhhbmRsZUNoYW5nZSxcbiAgICAgICAgICAgICAgICAgICAgICBhZGRDdXN0b21WYWxpZGF0b3IsXG4gICAgICAgICAgICAgICAgICAgICAgdXRpbEN1c3RvbUZ1bmN0aW9ucyxcbiAgICAgICAgICAgICAgICAgICAgICBjb250cm9sT3B0aW9uczogdGhpcy5vcHRpb25zLFxuICAgICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgICAgICA6IGBObyBWaWV3IEZvdW5kIGZvciAke3R5cGV9IHR5cGVgO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgcm93VmlldyA9IHRoaXMuY29udHJvbFR5cGVcbiAgICAgICAgICAgICAgICA/IFJlYWN0LmNyZWF0ZUVsZW1lbnQodGhpcy5jb250cm9sVHlwZSwge1xuICAgICAgICAgICAgICAgICAgICAgIGhhbmRsZUNoYW5nZSxcbiAgICAgICAgICAgICAgICAgICAgICB2YWx1ZTogdGhpcy5wcm9wcy52YWx1ZSxcbiAgICAgICAgICAgICAgICAgICAgICBmaWVsZCxcbiAgICAgICAgICAgICAgICAgICAgICBjb250cm9sT3B0aW9uczogdGhpcy5vcHRpb25zLFxuICAgICAgICAgICAgICAgICAgICAgIGVycm9yOiB0aGlzLnByb3BzLmVycm9yLFxuICAgICAgICAgICAgICAgICAgICAgIGRpc2FibGVkOiB0aGlzLnByb3BzLmRpc2FibGVkLFxuICAgICAgICAgICAgICAgICAgICAgIGVuY3J5cHRlZCxcbiAgICAgICAgICAgICAgICAgICAgICBkZXBlbmRlbmN5VmFsdWVzOiB0aGlzLnByb3BzLmRlcGVuZGVuY3lWYWx1ZXMsXG4gICAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgICAgIDogYE5vIFZpZXcgRm91bmQgZm9yICR7dHlwZX0gdHlwZWA7XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBoZWxwVGV4dCA9IChcbiAgICAgICAgICAgIDw+XG4gICAgICAgICAgICAgICAgPE1hcmtkb3duTWVzc2FnZVxuICAgICAgICAgICAgICAgICAgICB0ZXh0PXt0ZXh0IHx8ICcnfVxuICAgICAgICAgICAgICAgICAgICBsaW5rPXtsaW5rIHx8ICcnfVxuICAgICAgICAgICAgICAgICAgICBjb2xvcj17Y29sb3IgfHwgJyd9XG4gICAgICAgICAgICAgICAgICAgIG1hcmtkb3duVHlwZT17bWFya2Rvd25UeXBlIHx8ICcnfVxuICAgICAgICAgICAgICAgICAgICB0b2tlbj17dG9rZW4gfHwgJyd9XG4gICAgICAgICAgICAgICAgICAgIGxpbmtUZXh0PXtsaW5rVGV4dCB8fCAnJ31cbiAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgIHtoZWxwfVxuICAgICAgICAgICAgPC8+XG4gICAgICAgICk7XG5cbiAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgIHRoaXMucHJvcHMuZGlzcGxheSAmJiAoXG4gICAgICAgICAgICAgICAgPENvbnRyb2xHcm91cFdyYXBwZXJcbiAgICAgICAgICAgICAgICAgICAgbGFiZWw9e2xhYmVsfVxuICAgICAgICAgICAgICAgICAgICBoZWxwPXtoZWxwVGV4dH1cbiAgICAgICAgICAgICAgICAgICAgdG9vbHRpcD17dG9vbHRpcH1cbiAgICAgICAgICAgICAgICAgICAgZXJyb3I9e3RoaXMucHJvcHMuZXJyb3J9XG4gICAgICAgICAgICAgICAgICAgIGRhdGFOYW1lPXtmaWVsZH1cbiAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgIDxDdXN0b21FbGVtZW50Pntyb3dWaWV3fTwvQ3VzdG9tRWxlbWVudD5cbiAgICAgICAgICAgICAgICA8L0NvbnRyb2xHcm91cFdyYXBwZXI+XG4gICAgICAgICAgICApXG4gICAgICAgICk7XG4gICAgfVxufVxuXG5Db250cm9sV3JhcHBlci5wcm9wVHlwZXMgPSB7XG4gICAgbW9kZTogUHJvcFR5cGVzLnN0cmluZyxcbiAgICB1dGlsaXR5RnVuY3RzOiBQcm9wVHlwZXMub2JqZWN0LFxuICAgIHZhbHVlOiBQcm9wVHlwZXMuYW55LFxuICAgIGRpc3BsYXk6IFByb3BUeXBlcy5ib29sLFxuICAgIGVycm9yOiBQcm9wVHlwZXMuYm9vbCxcbiAgICBlbnRpdHk6IFByb3BUeXBlcy5vYmplY3QsXG4gICAgZGlzYWJsZWQ6IFByb3BUeXBlcy5ib29sLFxuICAgIG1hcmtkb3duTWVzc2FnZTogUHJvcFR5cGVzLm9iamVjdCxcbiAgICBzZXJ2aWNlTmFtZTogUHJvcFR5cGVzLnN0cmluZyxcbiAgICBkZXBlbmRlbmN5VmFsdWVzOiBQcm9wVHlwZXMub2JqZWN0LFxufTtcblxuZXhwb3J0IGRlZmF1bHQgQ29udHJvbFdyYXBwZXI7XG4iLCJpbXBvcnQgeyBnZXRGb3JtYXR0ZWRNZXNzYWdlIH0gZnJvbSAnLi4vdXRpbC9tZXNzYWdlVXRpbCc7XG5cbi8vIFJlZ2V4IG9mIGlwdjQsIGVtYWlsIGFuZCBkYXRlIGNvbWUgZnJvbVxuLy8gaHR0cHM6Ly9naXRodWIuY29tL2FsZGVlZC9tZXRlb3Itc2ltcGxlLXNjaGVtYS9ibG9iLzRjMWUyNTcwYjEwNTVhZDYwZTFlNjU0MDU4MmI4ODJmNzY1ZmRlMTMvc2ltcGxlLXNjaGVtYS5qcyNMNTI1XG5leHBvcnQgY29uc3QgUkVHRVhfSVBWNCA9IC9eKD86KD86WzAtMV0/XFxkezEsMn18MlswLTRdXFxkfDI1WzAtNV0pKD86XFwufCQpKXs0fSQvO1xuXG4vLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tdXNlbGVzcy1lc2NhcGVcbmV4cG9ydCBjb25zdCBSRUdFWF9FTUFJTCA9IC9eW2EtekEtWjAtOS4hIyQlJicqK1xcLz0/Xl9ge3x9fi1dK0BbYS16QS1aMC05XSg/OlthLXpBLVowLTktXXswLDYxfVthLXpBLVowLTldKT8oPzpcXC5bYS16QS1aMC05XSg/OlthLXpBLVowLTktXXswLDYxfVthLXpBLVowLTldKT8pKiQvO1xuXG4vLyBDb2RlUUw6IFRoaXMgUmVnZXggd2lsbCBiZSBleGVjdXRlZCBhdCBjbGllbnQgc2lkZSBhbmQgdG8gYXZvaWQgcmVncmVzc2lvbiB3ZSB3b24ndCBmaXguXG5leHBvcnQgY29uc3QgUkVHRVhfVVJMID0gL14oPzooPzpodHRwcz98ZnRwfG9wY1xcLnRjcCk6XFwvXFwvKT8oPzpcXFMrKD86OlxcUyopP0ApPyg/Oig/OlsxLTldXFxkP3wxXFxkXFxkfDJbMDFdXFxkfDIyWzAtM10pKD86XFwuKD86MT9cXGR7MSwyfXwyWzAtNF1cXGR8MjVbMC01XSkpezJ9KD86XFwuKD86WzEtOV1cXGQ/fDFcXGRcXGR8MlswLTRdXFxkfDI1WzAtNF0pKXwoPzooPzpbYS16XFx1MDBhMS1cXHVmZmZmMC05XSstP18/KSpbYS16XFx1MDBhMS1cXHVmZmZmMC05XSspKD86XFwuKD86W2EtelxcdTAwYTEtXFx1ZmZmZjAtOV0rLT8pKlthLXpcXHUwMGExLVxcdWZmZmYwLTldKykqKD86XFwuKD86W2EtelxcdTAwYTEtXFx1ZmZmZl17Mix9KSk/KSg/OjpcXGR7Miw1fSk/KD86XFwvW15cXHNdKik/JC87XG5cbi8vIEZyb20gaHR0cHM6Ly9naXRodWIuY29tL21vbWVudC9tb21lbnQvYmxvYi8yLjE3LjEvbW9tZW50LmpzI0wxOTgwIG1vbWVudC5qcyBpcyB1c2luZyByZWdleCBiZWxvdyBmb3IgY2hlY2tpbmcgSVNPODYwMSBkYXRlIHN0cmluZ1xuLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLXVzZWxlc3MtZXNjYXBlXG5leHBvcnQgY29uc3QgUkVHRVhfREFURSA9IC9eXFxzKigoPzpbKy1dXFxkezZ9fFxcZHs0fSktKD86XFxkXFxkLVxcZFxcZHxXXFxkXFxkLVxcZHxXXFxkXFxkfFxcZFxcZFxcZHxcXGRcXGQpKSg/OihUfCApKFxcZFxcZCg/OjpcXGRcXGQoPzo6XFxkXFxkKD86Wy4sXVxcZCspPyk/KT8pKFtcXCtcXC1dXFxkXFxkKD86Oj9cXGRcXGQpP3xcXHMqWik/KT8kLztcblxuZXhwb3J0IGNvbnN0IFBSRURFRklORURfVkFMSURBVE9SU19ESUNUID0ge1xuICAgIHVybDogeyByZWdleDogUkVHRVhfVVJMLCBpbnB1dFZhbHVlVHlwZTogZ2V0Rm9ybWF0dGVkTWVzc2FnZSgxMTEpIH0sXG4gICAgZW1haWw6IHsgcmVnZXg6IFJFR0VYX0VNQUlMLCBpbnB1dFZhbHVlVHlwZTogZ2V0Rm9ybWF0dGVkTWVzc2FnZSgxMTIpIH0sXG4gICAgaXB2NDogeyByZWdleDogUkVHRVhfSVBWNCwgaW5wdXRWYWx1ZVR5cGU6IGdldEZvcm1hdHRlZE1lc3NhZ2UoMTEzKSB9LFxuICAgIGRhdGU6IHsgcmVnZXg6IFJFR0VYX0RBVEUsIGlucHV0VmFsdWVUeXBlOiBnZXRGb3JtYXR0ZWRNZXNzYWdlKDExNCkgfSxcbn07XG4iLCJpbXBvcnQgeyBQUkVERUZJTkVEX1ZBTElEQVRPUlNfRElDVCB9IGZyb20gJy4uL2NvbnN0YW50cy9wcmVEZWZpbmVkUmVnZXgnO1xuaW1wb3J0IHsgZ2V0Rm9ybWF0dGVkTWVzc2FnZSB9IGZyb20gJy4vbWVzc2FnZVV0aWwnO1xuaW1wb3J0IHtcbiAgICBwYXJzZU51bWJlclZhbGlkYXRvcixcbiAgICBwYXJzZVJlZ2V4UmF3U3RyLFxuICAgIHBhcnNlU3RyaW5nVmFsaWRhdG9yLFxuICAgIHBhcnNlRnVuY3Rpb25SYXdTdHIsXG59IGZyb20gJy4vdWNjQ29uZmlndXJhdGlvblZhbGlkYXRvcnMnO1xuXG4vLyBWYWxpZGF0ZSBwcm92aWRlZCBzYXZlVmFsaWRhdG9yIGZ1bmN0aW9uXG5leHBvcnQgZnVuY3Rpb24gU2F2ZVZhbGlkYXRvcih2YWxpZGF0b3JGdW5jLCBmb3JtRGF0YSkge1xuICAgIGNvbnN0IHsgZXJyb3IsIHJlc3VsdCB9ID0gcGFyc2VGdW5jdGlvblJhd1N0cih2YWxpZGF0b3JGdW5jKTtcbiAgICBpZiAoZXJyb3IpIHtcbiAgICAgICAgcmV0dXJuIHsgZXJyb3JNc2c6IGVycm9yIH07XG4gICAgfVxuICAgIGNvbnN0IHJldCA9IHJlc3VsdChmb3JtRGF0YSk7XG4gICAgaWYgKHR5cGVvZiByZXQgPT09ICdzdHJpbmcnKSB7XG4gICAgICAgIHJldHVybiB7IGVycm9yTXNnOiByZXQgfTtcbiAgICB9XG59XG5cbmNsYXNzIFZhbGlkYXRvciB7XG4gICAgY29uc3RydWN0b3IoZW50aXRpZXMpIHtcbiAgICAgICAgdGhpcy5lbnRpdGllcyA9IGVudGl0aWVzO1xuICAgICAgICB0aGlzLmlzTmFtZSA9IGVudGl0aWVzLmZpbmQoKGUpID0+IGUuZmllbGQgPT09ICduYW1lJyk7XG4gICAgfVxuXG4gICAgY2hlY2tJc0ZpZWxkSGFzSW5wdXQgPSAoYXR0clZhbHVlKSA9PiB7XG4gICAgICAgIHJldHVybiBhdHRyVmFsdWUgIT09IHVuZGVmaW5lZCAmJiBhdHRyVmFsdWUgIT09ICcnICYmIGF0dHJWYWx1ZSAhPT0gbnVsbDtcbiAgICB9O1xuXG4gICAgLy8gVmFsaWRhdGUgdGhlIHJlcXVpcmVkIGZpZWxkIGhhcyB2YWx1ZVxuICAgIFJlcXVpcmVkVmFsaWRhdG9yKGZpZWxkLCBsYWJlbCwgZGF0YSkge1xuICAgICAgICBpZiAoIXRoaXMuY2hlY2tJc0ZpZWxkSGFzSW5wdXQoZGF0YSkpIHtcbiAgICAgICAgICAgIHJldHVybiB7IGVycm9yRmllbGQ6IGZpZWxkLCBlcnJvck1zZzogZ2V0Rm9ybWF0dGVkTWVzc2FnZSg2LCBbbGFiZWxdKSB9O1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG5cbiAgICAvLyBWYWxpZGF0ZSB0aGUgc3RyaW5nIGxlbmd0aCBvZiBmaWVsZFxuICAgIFN0cmluZ1ZhbGlkYXRvcihmaWVsZCwgbGFiZWwsIHZhbGlkYXRvciwgZGF0YSkge1xuICAgICAgICBjb25zdCB7IGVycm9yIH0gPSBwYXJzZVN0cmluZ1ZhbGlkYXRvcih2YWxpZGF0b3IubWluTGVuZ3RoLCB2YWxpZGF0b3IubWF4TGVuZ3RoKTtcbiAgICAgICAgaWYgKGVycm9yKSB7XG4gICAgICAgICAgICByZXR1cm4geyBlcnJvckZpZWxkOiBmaWVsZCwgZXJyb3JNc2c6IGVycm9yIH07XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHRoaXMuY2hlY2tJc0ZpZWxkSGFzSW5wdXQoZGF0YSkgJiYgZGF0YS5sZW5ndGggPiB2YWxpZGF0b3IubWF4TGVuZ3RoKSB7XG4gICAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgICAgIGVycm9yRmllbGQ6IGZpZWxkLFxuICAgICAgICAgICAgICAgIGVycm9yTXNnOiB2YWxpZGF0b3IuZXJyb3JNc2dcbiAgICAgICAgICAgICAgICAgICAgPyB2YWxpZGF0b3IuZXJyb3JNc2dcbiAgICAgICAgICAgICAgICAgICAgOiBnZXRGb3JtYXR0ZWRNZXNzYWdlKDE4LCBbbGFiZWwsIHZhbGlkYXRvci5tYXhMZW5ndGhdKSxcbiAgICAgICAgICAgIH07XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHRoaXMuY2hlY2tJc0ZpZWxkSGFzSW5wdXQoZGF0YSkgJiYgZGF0YS5sZW5ndGggPCB2YWxpZGF0b3IubWluTGVuZ3RoKSB7XG4gICAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgICAgIGVycm9yRmllbGQ6IGZpZWxkLFxuICAgICAgICAgICAgICAgIGVycm9yTXNnOiB2YWxpZGF0b3IuZXJyb3JNc2dcbiAgICAgICAgICAgICAgICAgICAgPyB2YWxpZGF0b3IuZXJyb3JNc2dcbiAgICAgICAgICAgICAgICAgICAgOiBnZXRGb3JtYXR0ZWRNZXNzYWdlKDE3LCBbbGFiZWwsIHZhbGlkYXRvci5taW5MZW5ndGhdKSxcbiAgICAgICAgICAgIH07XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cblxuICAgIC8vIFZhbGlkYXRlIHRoZSBmaWVsZCBzaG91bGQgbWF0Y2ggdGhlIHByb3ZpZGVkIFJlZ2V4XG4gICAgUmVnZXhWYWxpZGF0b3IoZmllbGQsIGxhYmVsLCB2YWxpZGF0b3IsIGRhdGEpIHtcbiAgICAgICAgY29uc3QgeyBlcnJvciwgcmVzdWx0OiByZWdleCB9ID0gcGFyc2VSZWdleFJhd1N0cih2YWxpZGF0b3IucGF0dGVybik7XG4gICAgICAgIGlmIChlcnJvcikge1xuICAgICAgICAgICAgcmV0dXJuIHsgZXJyb3JGaWVsZDogZmllbGQsIGVycm9yTXNnOiBlcnJvciB9O1xuICAgICAgICB9XG4gICAgICAgIGlmICh0aGlzLmNoZWNrSXNGaWVsZEhhc0lucHV0KGRhdGEpICYmICFyZWdleC50ZXN0KGRhdGEpKSB7XG4gICAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgICAgIGVycm9yRmllbGQ6IGZpZWxkLFxuICAgICAgICAgICAgICAgIGVycm9yTXNnOiB2YWxpZGF0b3IuZXJyb3JNc2dcbiAgICAgICAgICAgICAgICAgICAgPyB2YWxpZGF0b3IuZXJyb3JNc2dcbiAgICAgICAgICAgICAgICAgICAgOiBnZXRGb3JtYXR0ZWRNZXNzYWdlKDE1LCBbbGFiZWwsIHZhbGlkYXRvci5wYXR0ZXJuXSksXG4gICAgICAgICAgICB9O1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG5cbiAgICAvLyBWYWxpZGF0ZSB0aGUgY3VzdG9tIGNvbXBvbmVudFxuICAgIHN0YXRpYyBDdXN0b21WYWxpZGF0b3IodmFsaWRhdG9yRnVuYywgZmllbGQsIGRhdGEpIHtcbiAgICAgICAgY29uc3QgcmV0ID0gdmFsaWRhdG9yRnVuYyhmaWVsZCwgZGF0YSk7XG4gICAgICAgIGlmICh0eXBlb2YgcmV0ID09PSAnc3RyaW5nJykge1xuICAgICAgICAgICAgcmV0dXJuIHsgZXJyb3JGaWVsZDogZmllbGQsIGVycm9yTXNnOiByZXQgfTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuXG4gICAgLy8gVmFsaWRhdGUgdGhlIGZpZWxkIHNob3VsZCBtYXRjaCBwcmVkZWZpbmVkIFJlZ2V4ZXNcbiAgICBQcmVEZWZpbmVkUmVnZXhWYWxpZGF0b3IoZmllbGQsIGxhYmVsLCB2YWxpZGF0b3IsIGRhdGEsIHBhdHRlcm4sIGlucHV0VmFsdWVUeXBlKSB7XG4gICAgICAgIGNvbnN0IHsgZXJyb3IsIHJlc3VsdDogcmVnZXggfSA9IHBhcnNlUmVnZXhSYXdTdHIocGF0dGVybik7XG4gICAgICAgIGlmIChlcnJvcikge1xuICAgICAgICAgICAgcmV0dXJuIHsgZXJyb3JGaWVsZDogZmllbGQsIGVycm9yTXNnOiBlcnJvciB9O1xuICAgICAgICB9XG4gICAgICAgIGlmICh0aGlzLmNoZWNrSXNGaWVsZEhhc0lucHV0KGRhdGEpICYmICFyZWdleC50ZXN0KGRhdGEpKSB7XG4gICAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgICAgIGVycm9yRmllbGQ6IGZpZWxkLFxuICAgICAgICAgICAgICAgIGVycm9yTXNnOiB2YWxpZGF0b3IuZXJyb3JNc2dcbiAgICAgICAgICAgICAgICAgICAgPyB2YWxpZGF0b3IuZXJyb3JNc2dcbiAgICAgICAgICAgICAgICAgICAgOiBnZXRGb3JtYXR0ZWRNZXNzYWdlKDE5LCBbbGFiZWwsIGlucHV0VmFsdWVUeXBlXSksXG4gICAgICAgICAgICB9O1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG5cbiAgICAvLyBWYWxpZGF0ZSB0aGUgcmFuZ2Ugb2YgbnVtZXJpYyBmaWVsZFxuICAgIE51bWJlclZhbGlkYXRvcihmaWVsZCwgbGFiZWwsIHZhbGlkYXRvciwgZGF0YSkge1xuICAgICAgICBjb25zdCB7IGVycm9yIH0gPSBwYXJzZU51bWJlclZhbGlkYXRvcih2YWxpZGF0b3IucmFuZ2UpO1xuICAgICAgICBpZiAoZXJyb3IpIHtcbiAgICAgICAgICAgIHJldHVybiB7IGVycm9yRmllbGQ6IGZpZWxkLCBlcnJvck1zZzogZXJyb3IgfTtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IHZhbCA9IE51bWJlcihkYXRhKTtcbiAgICAgICAgaWYgKE51bWJlci5pc05hTih2YWwpKSB7XG4gICAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgICAgIGVycm9yRmllbGQ6IGZpZWxkLFxuICAgICAgICAgICAgICAgIGVycm9yTXNnOiB2YWxpZGF0b3IuZXJyb3JNc2dcbiAgICAgICAgICAgICAgICAgICAgPyB2YWxpZGF0b3IuZXJyb3JNc2dcbiAgICAgICAgICAgICAgICAgICAgOiBnZXRGb3JtYXR0ZWRNZXNzYWdlKDE2LCBbbGFiZWxdKSxcbiAgICAgICAgICAgIH07XG4gICAgICAgIH1cbiAgICAgICAgaWYgKFxuICAgICAgICAgICAgKHRoaXMuY2hlY2tJc0ZpZWxkSGFzSW5wdXQoZGF0YSkgJiYgdmFsID4gdmFsaWRhdG9yLnJhbmdlWzFdKSB8fFxuICAgICAgICAgICAgdmFsIDwgdmFsaWRhdG9yLnJhbmdlWzBdXG4gICAgICAgICkge1xuICAgICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgICAgICBlcnJvckZpZWxkOiBmaWVsZCxcbiAgICAgICAgICAgICAgICBlcnJvck1zZzogdmFsaWRhdG9yLmVycm9yTXNnXG4gICAgICAgICAgICAgICAgICAgID8gdmFsaWRhdG9yLmVycm9yTXNnXG4gICAgICAgICAgICAgICAgICAgIDogZ2V0Rm9ybWF0dGVkTWVzc2FnZSg4LCBbbGFiZWwsIHZhbGlkYXRvci5yYW5nZVswXSwgdmFsaWRhdG9yLnJhbmdlWzFdXSksXG4gICAgICAgICAgICB9O1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG5cbiAgICBkb1ZhbGlkYXRpb24oZGF0YSkge1xuICAgICAgICBpZiAodGhpcy5pc05hbWUpIHtcbiAgICAgICAgICAgIGNvbnN0IHRhcmdldFZhbHVlID0gZGF0YS5uYW1lO1xuICAgICAgICAgICAgY29uc3QgbmFtZUZpZWxkTGFiZWwgPSB0aGlzLmlzTmFtZS5sYWJlbDtcblxuICAgICAgICAgICAgaWYgKHR5cGVvZiB0YXJnZXRWYWx1ZSA9PT0gJ3VuZGVmaW5lZCcgfHwgdGFyZ2V0VmFsdWUgPT09ICcnIHx8IHRhcmdldFZhbHVlID09IG51bGwpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4geyBlcnJvckZpZWxkOiAnbmFtZScsIGVycm9yTXNnOiBnZXRGb3JtYXR0ZWRNZXNzYWdlKDAsIFtuYW1lRmllbGRMYWJlbF0pIH07XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpZiAoISh0eXBlb2YgdGFyZ2V0VmFsdWUgPT09ICdzdHJpbmcnIHx8IHRhcmdldFZhbHVlIGluc3RhbmNlb2YgU3RyaW5nKSkge1xuICAgICAgICAgICAgICAgIHJldHVybiB7IGVycm9yRmllbGQ6ICduYW1lJywgZXJyb3JNc2c6IGdldEZvcm1hdHRlZE1lc3NhZ2UoMSwgW25hbWVGaWVsZExhYmVsXSkgfTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGlmIChcbiAgICAgICAgICAgICAgICB0YXJnZXRWYWx1ZS5zdGFydHNXaXRoKCdfJykgfHxcbiAgICAgICAgICAgICAgICB0YXJnZXRWYWx1ZSA9PT0gJy4nIHx8XG4gICAgICAgICAgICAgICAgdGFyZ2V0VmFsdWUgPT09ICcuLicgfHxcbiAgICAgICAgICAgICAgICB0YXJnZXRWYWx1ZS50b0xvd2VyQ2FzZSgpID09PSAnZGVmYXVsdCdcbiAgICAgICAgICAgICkge1xuICAgICAgICAgICAgICAgIHJldHVybiB7IGVycm9yRmllbGQ6ICduYW1lJywgZXJyb3JNc2c6IGdldEZvcm1hdHRlZE1lc3NhZ2UoMywgW25hbWVGaWVsZExhYmVsXSkgfTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGNvbnN0IHJlZ2V4TWV0YUNoYXJhY3RlcnMgPSBbJyonLCAnXFxcXCcsICdbJywgJ10nLCAnKCcsICcpJywgJz8nLCAnOiddO1xuICAgICAgICAgICAgaWYgKHJlZ2V4TWV0YUNoYXJhY3RlcnMuc29tZSgoZCkgPT4gdGFyZ2V0VmFsdWUuaW5kZXhPZihkKSA+IC0xKSkge1xuICAgICAgICAgICAgICAgIHJldHVybiB7IGVycm9yRmllbGQ6ICduYW1lJywgZXJyb3JNc2c6IGdldEZvcm1hdHRlZE1lc3NhZ2UoMywgW25hbWVGaWVsZExhYmVsXSkgfTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgaWYgKHRhcmdldFZhbHVlLmxlbmd0aCA+PSAxMDI0KSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHsgZXJyb3JGaWVsZDogJ25hbWUnLCBlcnJvck1zZzogZ2V0Rm9ybWF0dGVkTWVzc2FnZSgyMiwgW25hbWVGaWVsZExhYmVsXSkgfTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIGxldCByZXQ7XG4gICAgICAgIGxldCBpO1xuICAgICAgICBsZXQgajtcblxuICAgICAgICBmb3IgKGkgPSAwOyBpIDwgdGhpcy5lbnRpdGllcy5sZW5ndGg7IGkgKz0gMSkge1xuICAgICAgICAgICAgaWYgKHRoaXMuZW50aXRpZXNbaV0ucmVxdWlyZWQgPT09IHRydWUpIHtcbiAgICAgICAgICAgICAgICByZXQgPSB0aGlzLlJlcXVpcmVkVmFsaWRhdG9yKFxuICAgICAgICAgICAgICAgICAgICB0aGlzLmVudGl0aWVzW2ldLmZpZWxkLFxuICAgICAgICAgICAgICAgICAgICB0aGlzLmVudGl0aWVzW2ldLmxhYmVsLFxuICAgICAgICAgICAgICAgICAgICBkYXRhW3RoaXMuZW50aXRpZXNbaV0uZmllbGRdXG4gICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICBpZiAocmV0KSB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiByZXQ7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaWYgKGRhdGFbdGhpcy5lbnRpdGllc1tpXS5maWVsZF0gPT09ICcnIHx8IGRhdGFbdGhpcy5lbnRpdGllc1tpXS5maWVsZF0gPT09IG51bGwpIHtcbiAgICAgICAgICAgICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tY29udGludWVcbiAgICAgICAgICAgICAgICBjb250aW51ZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGlmICh0aGlzLmVudGl0aWVzW2ldLnZhbGlkYXRvcnMpIHtcbiAgICAgICAgICAgICAgICBmb3IgKGogPSAwOyBqIDwgdGhpcy5lbnRpdGllc1tpXS52YWxpZGF0b3JzLmxlbmd0aDsgaiArPSAxKSB7XG4gICAgICAgICAgICAgICAgICAgIHN3aXRjaCAodGhpcy5lbnRpdGllc1tpXS52YWxpZGF0b3JzW2pdLnR5cGUpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNhc2UgJ3N0cmluZyc6XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0ID0gdGhpcy5TdHJpbmdWYWxpZGF0b3IoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuZW50aXRpZXNbaV0uZmllbGQsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuZW50aXRpZXNbaV0ubGFiZWwsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuZW50aXRpZXNbaV0udmFsaWRhdG9yc1tqXSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YVt0aGlzLmVudGl0aWVzW2ldLmZpZWxkXVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHJldCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gcmV0O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICAgICAgICAgIGNhc2UgJ3JlZ2V4JzpcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXQgPSB0aGlzLlJlZ2V4VmFsaWRhdG9yKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmVudGl0aWVzW2ldLmZpZWxkLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmVudGl0aWVzW2ldLmxhYmVsLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmVudGl0aWVzW2ldLnZhbGlkYXRvcnNbal0sXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGFbdGhpcy5lbnRpdGllc1tpXS5maWVsZF1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChyZXQpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHJldDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgICAgICAgICBjYXNlICdudW1iZXInOlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldCA9IHRoaXMuTnVtYmVyVmFsaWRhdG9yKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmVudGl0aWVzW2ldLmZpZWxkLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmVudGl0aWVzW2ldLmxhYmVsLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmVudGl0aWVzW2ldLnZhbGlkYXRvcnNbal0sXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGFbdGhpcy5lbnRpdGllc1tpXS5maWVsZF1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChyZXQpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHJldDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgICAgICAgICBjYXNlICd1cmwnOlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldCA9IHRoaXMuUHJlRGVmaW5lZFJlZ2V4VmFsaWRhdG9yKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmVudGl0aWVzW2ldLmZpZWxkLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmVudGl0aWVzW2ldLmxhYmVsLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmVudGl0aWVzW2ldLnZhbGlkYXRvcnNbal0sXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGFbdGhpcy5lbnRpdGllc1tpXS5maWVsZF0sXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFBSRURFRklORURfVkFMSURBVE9SU19ESUNULnVybC5yZWdleCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUFJFREVGSU5FRF9WQUxJREFUT1JTX0RJQ1QudXJsLmlucHV0VmFsdWVUeXBlXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAocmV0KSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiByZXQ7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgICAgICAgICAgY2FzZSAnZGF0ZSc6XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0ID0gdGhpcy5QcmVEZWZpbmVkUmVnZXhWYWxpZGF0b3IoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuZW50aXRpZXNbaV0uZmllbGQsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuZW50aXRpZXNbaV0ubGFiZWwsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuZW50aXRpZXNbaV0udmFsaWRhdG9yc1tqXSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YVt0aGlzLmVudGl0aWVzW2ldLmZpZWxkXSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUFJFREVGSU5FRF9WQUxJREFUT1JTX0RJQ1QuZGF0ZS5yZWdleCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUFJFREVGSU5FRF9WQUxJREFUT1JTX0RJQ1QuZGF0ZS5pbnB1dFZhbHVlVHlwZVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHJldCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gcmV0O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICAgICAgICAgIGNhc2UgJ2VtYWlsJzpcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXQgPSB0aGlzLlByZURlZmluZWRSZWdleFZhbGlkYXRvcihcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5lbnRpdGllc1tpXS5maWVsZCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5lbnRpdGllc1tpXS5sYWJlbCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5lbnRpdGllc1tpXS52YWxpZGF0b3JzW2pdLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhW3RoaXMuZW50aXRpZXNbaV0uZmllbGRdLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBQUkVERUZJTkVEX1ZBTElEQVRPUlNfRElDVC5lbWFpbC5yZWdleCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUFJFREVGSU5FRF9WQUxJREFUT1JTX0RJQ1QuZW1haWwuaW5wdXRWYWx1ZVR5cGVcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChyZXQpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHJldDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgICAgICAgICBjYXNlICdpcHY0JzpcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXQgPSB0aGlzLlByZURlZmluZWRSZWdleFZhbGlkYXRvcihcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5lbnRpdGllc1tpXS5maWVsZCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5lbnRpdGllc1tpXS5sYWJlbCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5lbnRpdGllc1tpXS52YWxpZGF0b3JzW2pdLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhW3RoaXMuZW50aXRpZXNbaV0uZmllbGRdLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBQUkVERUZJTkVEX1ZBTElEQVRPUlNfRElDVC5pcHY0LnJlZ2V4LFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBQUkVERUZJTkVEX1ZBTElEQVRPUlNfRElDVC5pcHY0LmlucHV0VmFsdWVUeXBlXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAocmV0KSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiByZXQ7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgICAgICAgICAgY2FzZSAnY3VzdG9tJzpcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXQgPSBWYWxpZGF0b3IuQ3VzdG9tVmFsaWRhdG9yKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmVudGl0aWVzW2ldLnZhbGlkYXRvcnNbal0udmFsaWRhdG9yRnVuYyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5lbnRpdGllc1tpXS5maWVsZCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YVt0aGlzLmVudGl0aWVzW2ldLmZpZWxkXVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHJldCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gcmV0O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICAgICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cbn1cblxuZXhwb3J0IGRlZmF1bHQgVmFsaWRhdG9yO1xuIiwiaW1wb3J0IFJlYWN0LCB7IFB1cmVDb21wb25lbnQgfSBmcm9tICdyZWFjdCc7XG5pbXBvcnQgUHJvcFR5cGVzIGZyb20gJ3Byb3AtdHlwZXMnO1xuaW1wb3J0IHVwZGF0ZSBmcm9tICdpbW11dGFiaWxpdHktaGVscGVyJztcbmltcG9ydCB7IHY0IGFzIHV1aWR2NCB9IGZyb20gJ3V1aWQnO1xuXG5pbXBvcnQgQ29sbGFwc2libGVQYW5lbCBmcm9tICdAc3BsdW5rL3JlYWN0LXVpL0NvbGxhcHNpYmxlUGFuZWwnO1xuaW1wb3J0IE1lc3NhZ2UgZnJvbSAnQHNwbHVuay9yZWFjdC11aS9NZXNzYWdlJztcbmltcG9ydCBzdHlsZWQgZnJvbSAnc3R5bGVkLWNvbXBvbmVudHMnO1xuXG5pbXBvcnQgQ29udHJvbFdyYXBwZXIgZnJvbSAnLi9Db250cm9sV3JhcHBlcic7XG5pbXBvcnQgVmFsaWRhdG9yLCB7IFNhdmVWYWxpZGF0b3IgfSBmcm9tICcuLi91dGlsL1ZhbGlkYXRvcic7XG5pbXBvcnQgeyBnZXRVbmlmaWVkQ29uZmlncywgZ2VuZXJhdGVUb2FzdCB9IGZyb20gJy4uL3V0aWwvdXRpbCc7XG5pbXBvcnQgeyBNT0RFX0NMT05FLCBNT0RFX0NSRUFURSwgTU9ERV9FRElULCBNT0RFX0NPTkZJRyB9IGZyb20gJy4uL2NvbnN0YW50cy9tb2Rlcyc7XG5pbXBvcnQgeyBQQUdFX0lOUFVULCBQQUdFX0NPTkYgfSBmcm9tICcuLi9jb25zdGFudHMvcGFnZXMnO1xuaW1wb3J0IHsgYXhpb3NDYWxsV3JhcHBlciB9IGZyb20gJy4uL3V0aWwvYXhpb3NDYWxsV3JhcHBlcic7XG5pbXBvcnQgeyBwYXJzZUVycm9yTXNnLCBnZXRGb3JtYXR0ZWRNZXNzYWdlIH0gZnJvbSAnLi4vdXRpbC9tZXNzYWdlVXRpbCc7XG5pbXBvcnQgeyBnZXRCdWlsZERpclBhdGggfSBmcm9tICcuLi91dGlsL3NjcmlwdCc7XG5cbmltcG9ydCB7XG4gICAgRVJST1JfUkVRVUVTVF9USU1FT1VUX1RSWV9BR0FJTixcbiAgICBFUlJPUl9SRVFVRVNUX1RJTUVPVVRfQUNDRVNTX1RPS0VOX1RSWV9BR0FJTixcbiAgICBFUlJPUl9PQ0NVUlJFRF9UUllfQUdBSU4sXG4gICAgRVJST1JfQVVUSF9QUk9DRVNTX1RFUk1JTkFURURfVFJZX0FHQUlOLFxuICAgIEVSUk9SX1NUQVRFX01JU1NJTkdfVFJZX0FHQUlOLFxufSBmcm9tICcuLi9jb25zdGFudHMvb0F1dGhFcnJvck1lc3NhZ2UnO1xuaW1wb3J0IFRhYmxlQ29udGV4dCBmcm9tICcuLi9jb250ZXh0L1RhYmxlQ29udGV4dCc7XG5cbmNvbnN0IENvbGxhcHNpYmxlUGFuZWxXcmFwcGVyID0gc3R5bGVkKENvbGxhcHNpYmxlUGFuZWwpYFxuICAgIHNwYW4ge1xuICAgICAgICBidXR0b24ge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgICBmb250LXNpemU6IDE2cHg7XG4gICAgICAgICAgICBtYXJnaW46IDEwcHggMDtcblxuICAgICAgICAgICAgJjpob3Zlcjpub3QoW2Rpc2FibGVkXSksXG4gICAgICAgICAgICAmOmZvY3VzOm5vdChbZGlzYWJsZWRdKSxcbiAgICAgICAgICAgICY6YWN0aXZlOm5vdChbZGlzYWJsZWRdKSB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgICAgICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5jb2xsYXBzaWJsZS1lbGVtZW50IHtcbiAgICAgICAgcGFkZGluZy10b3A6IDE1cHg7XG4gICAgfVxuYDtcblxuY29uc3QgQ3VzdG9tR3JvdXBMYWJlbCA9IHN0eWxlZC5kaXZgXG4gICAgcGFkZGluZzogNnB4IDEwcHg7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2YyZjRmNTtcbmA7XG5cbmNsYXNzIEJhc2VGb3JtVmlldyBleHRlbmRzIFB1cmVDb21wb25lbnQge1xuICAgIHN0YXRpYyBjb250ZXh0VHlwZSA9IFRhYmxlQ29udGV4dDtcblxuICAgIGNvbnN0cnVjdG9yKHByb3BzLCBjb250ZXh0KSB7XG4gICAgICAgIHN1cGVyKHByb3BzKTtcbiAgICAgICAgLy8gZmxhZyBmb3IgdG8gcmVuZGVyIGhvb2sgbWV0aG9kIGZvciBvbmNlXG4gICAgICAgIHRoaXMuZmxhZyA9IHRydWU7XG4gICAgICAgIHRoaXMuc3RhdGUgPSB7fTtcbiAgICAgICAgdGhpcy5jdXJyZW50SW5wdXQgPSB7fTtcbiAgICAgICAgY29uc3QgZ2xvYmFsQ29uZmlnID0gZ2V0VW5pZmllZENvbmZpZ3MoKTtcbiAgICAgICAgdGhpcy5hcHBOYW1lID0gZ2xvYmFsQ29uZmlnLm1ldGEubmFtZTtcbiAgICAgICAgdGhpcy5lbmRwb2ludCA9XG4gICAgICAgICAgICBwcm9wcy5tb2RlID09PSBNT0RFX0VESVQgfHwgcHJvcHMubW9kZSA9PT0gTU9ERV9DT05GSUdcbiAgICAgICAgICAgICAgICA/IGAke3RoaXMucHJvcHMuc2VydmljZU5hbWV9LyR7ZW5jb2RlVVJJQ29tcG9uZW50KHRoaXMucHJvcHMuc3RhbnphTmFtZSl9YFxuICAgICAgICAgICAgICAgIDogYCR7dGhpcy5wcm9wcy5zZXJ2aWNlTmFtZX1gO1xuXG4gICAgICAgIHRoaXMudXRpbCA9IHtcbiAgICAgICAgICAgIHNldFN0YXRlOiAoY2FsbGJhY2spID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLm9uU2F2ZVByb21pc2UgPSBuZXcgUHJvbWlzZSgocmVzb2x2ZSkgPT4ge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLnNldFN0YXRlKChwcmV2aW91c1N0YXRlKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gY2FsbGJhY2socHJldmlvdXNTdGF0ZSk7XG4gICAgICAgICAgICAgICAgICAgIH0sIHJlc29sdmUpO1xuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIHNldEVycm9yRmllbGRNc2c6IHRoaXMuc2V0RXJyb3JGaWVsZE1zZyxcbiAgICAgICAgICAgIGNsZWFyQWxsRXJyb3JNc2c6IHRoaXMuY2xlYXJBbGxFcnJvck1zZyxcbiAgICAgICAgICAgIHNldEVycm9yTXNnOiB0aGlzLnNldEVycm9yTXNnLFxuICAgICAgICB9O1xuXG4gICAgICAgIHRoaXMudXRpbENvbnRyb2xXcmFwcGVyID0ge1xuICAgICAgICAgICAgaGFuZGxlQ2hhbmdlOiB0aGlzLmhhbmRsZUNoYW5nZSxcbiAgICAgICAgICAgIGFkZEN1c3RvbVZhbGlkYXRvcjogdGhpcy5hZGRDdXN0b21WYWxpZGF0b3IsXG4gICAgICAgICAgICB1dGlsQ3VzdG9tRnVuY3Rpb25zOiB0aGlzLnV0aWwsXG4gICAgICAgIH07XG5cbiAgICAgICAgaWYgKHByb3BzLnBhZ2UgPT09IFBBR0VfSU5QVVQpIHtcbiAgICAgICAgICAgIGdsb2JhbENvbmZpZy5wYWdlcy5pbnB1dHMuc2VydmljZXMuZm9yRWFjaCgoc2VydmljZSkgPT4ge1xuICAgICAgICAgICAgICAgIGlmIChzZXJ2aWNlLm5hbWUgPT09IHByb3BzLnNlcnZpY2VOYW1lKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuZ3JvdXBzID0gc2VydmljZS5ncm91cHM7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuZW50aXRpZXMgPSBzZXJ2aWNlLmVudGl0eTtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy51cGRhdGVFbnRpdGllc0Zvckdyb3VwKHNlcnZpY2UpO1xuICAgICAgICAgICAgICAgICAgICB0aGlzLm9wdGlvbnMgPSBzZXJ2aWNlLm9wdGlvbnM7XG4gICAgICAgICAgICAgICAgICAgIGlmIChzZXJ2aWNlLmhvb2spIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuaG9va0RlZmVycmVkID0gdGhpcy5sb2FkSG9vayhcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZXJ2aWNlLmhvb2suc3JjLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNlcnZpY2UuaG9vay50eXBlLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdsb2JhbENvbmZpZ1xuICAgICAgICAgICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICBpZiAocHJvcHMubW9kZSA9PT0gTU9ERV9FRElUIHx8IHByb3BzLm1vZGUgPT09IE1PREVfQ0xPTkUpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuY3VycmVudElucHV0ID0gY29udGV4dC5yb3dEYXRhW3Byb3BzLnNlcnZpY2VOYW1lXVtwcm9wcy5zdGFuemFOYW1lXTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgZ2xvYmFsQ29uZmlnLnBhZ2VzLmNvbmZpZ3VyYXRpb24udGFicy5mb3JFYWNoKCh0YWIpID0+IHtcbiAgICAgICAgICAgICAgICBjb25zdCBmbGFnID0gdGFiLnRhYmxlXG4gICAgICAgICAgICAgICAgICAgID8gdGFiLm5hbWUgPT09IHByb3BzLnNlcnZpY2VOYW1lXG4gICAgICAgICAgICAgICAgICAgIDogdGFiLm5hbWUgPT09IHByb3BzLnN0YW56YU5hbWU7XG4gICAgICAgICAgICAgICAgaWYgKGZsYWcpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5lbnRpdGllcyA9IHRhYi5lbnRpdHk7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMub3B0aW9ucyA9IHRhYi5vcHRpb25zO1xuICAgICAgICAgICAgICAgICAgICBpZiAodGFiLmhvb2spIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuaG9va0RlZmVycmVkID0gdGhpcy5sb2FkSG9vayhcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0YWIuaG9vay5zcmMsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGFiLmhvb2sudHlwZSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBnbG9iYWxDb25maWdcbiAgICAgICAgICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgaWYgKHRhYi50YWJsZSAmJiAocHJvcHMubW9kZSA9PT0gTU9ERV9FRElUIHx8IHByb3BzLm1vZGUgPT09IE1PREVfQ0xPTkUpKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmN1cnJlbnRJbnB1dCA9IGNvbnRleHQucm93RGF0YVtwcm9wcy5zZXJ2aWNlTmFtZV1bcHJvcHMuc3RhbnphTmFtZV07XG4gICAgICAgICAgICAgICAgICAgIH0gZWxzZSBpZiAocHJvcHMubW9kZSA9PT0gTU9ERV9DT05GSUcpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuY3VycmVudElucHV0ID0gcHJvcHMuY3VycmVudFNlcnZpY2VTdGF0ZTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMubW9kZV9jb25maWdfdGl0bGUgPSB0YWIudGl0bGU7XG4gICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmN1cnJlbnRJbnB1dCA9IGNvbnRleHQucm93RGF0YVtwcm9wcy5zZXJ2aWNlTmFtZV07XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLmRlcGVuZGVuY3lNYXAgPSBuZXcgTWFwKCk7XG4gICAgICAgIHRoaXMuaXNPQXV0aCA9IGZhbHNlO1xuICAgICAgICB0aGlzLmlzQXV0aFZhbCA9IGZhbHNlO1xuICAgICAgICB0aGlzLmF1dGhNYXAgPSB7fTtcbiAgICAgICAgbGV0IHRlbVN0YXRlID0ge307XG4gICAgICAgIGNvbnN0IHRlbUVudGl0aWVzID0gW107XG5cbiAgICAgICAgdGhpcy5lbnRpdGllcy5mb3JFYWNoKChlKSA9PiB7XG4gICAgICAgICAgICBpZiAoZS50eXBlID09PSAnb2F1dGgnKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5pc09BdXRoID0gdHJ1ZTtcbiAgICAgICAgICAgICAgICBpZiAocHJvcHMucGFnZSA9PT0gUEFHRV9DT05GICYmIHByb3BzLnNlcnZpY2VOYW1lID09PSAnYWNjb3VudCcpIHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgYXV0aFR5cGUgPSBlPy5vcHRpb25zPy5hdXRoX3R5cGU7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuaXNvYXV0aFN0YXRlID1cbiAgICAgICAgICAgICAgICAgICAgICAgIHR5cGVvZiBlPy5vcHRpb25zPy5vYXV0aF9zdGF0ZV9lbmFibGVkICE9PSAndW5kZWZpbmVkJ1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgID8gZT8ub3B0aW9ucz8ub2F1dGhfc3RhdGVfZW5hYmxlZFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogbnVsbDtcblxuICAgICAgICAgICAgICAgICAgICBpZiAoYXV0aFR5cGUubGVuZ3RoID4gMSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5pc0F1dGhWYWwgPSB0cnVlO1xuICAgICAgICAgICAgICAgICAgICAgICAgLy8gRGVmaW5pbmcgc3RhdGUgZm9yIGF1dGhfdHlwZSBpbiBjYXNlIG9mIG11bHRpcGxlIEF1dGhlbnRpY2F0aW9uXG4gICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB0ZW1wRW50aXR5ID0ge307XG4gICAgICAgICAgICAgICAgICAgICAgICB0ZW1wRW50aXR5LnZhbHVlID1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlb2YgdGhpcy5jdXJyZW50SW5wdXQuYXV0aF90eXBlICE9PSAndW5kZWZpbmVkJ1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA/IHRoaXMuY3VycmVudElucHV0LmF1dGhfdHlwZVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IGF1dGhUeXBlWzBdO1xuICAgICAgICAgICAgICAgICAgICAgICAgdGVtcEVudGl0eS5kaXNwbGF5ID0gdHJ1ZTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRlbXBFbnRpdHkuZXJyb3IgPSBmYWxzZTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRlbXBFbnRpdHkuZGlzYWJsZWQgPSBmYWxzZTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRlbVN0YXRlLmF1dGhfdHlwZSA9IHRlbXBFbnRpdHk7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIC8vIERlZmluaW5nIEVudGl0eSBmb3IgYXV0aF90eXBlIGluIGVudGl0eWxpc3Qgb2YgZ2xvYmFsQ29uZmlnXG4gICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBlbnRpdHkgPSB7fTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGVudGl0eS5maWVsZCA9ICdhdXRoX3R5cGUnO1xuICAgICAgICAgICAgICAgICAgICAgICAgZW50aXR5LnR5cGUgPSAnc2luZ2xlU2VsZWN0JztcbiAgICAgICAgICAgICAgICAgICAgICAgIGVudGl0eS5sYWJlbCA9ICdBdXRoIFR5cGUnO1xuICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgY29udGVudCA9IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBiYXNpYzogJ0Jhc2ljIEF1dGhlbnRpY2F0aW9uJyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBvYXV0aDogJ09BdXRoIDIuMCBBdXRoZW50aWNhdGlvbicsXG4gICAgICAgICAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgICAgICAgICAgICAgZW50aXR5Lm9wdGlvbnMgPSB7fTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGVudGl0eS5vcHRpb25zLmhpZGVDbGVhckJ0biA9IHRydWU7XG4gICAgICAgICAgICAgICAgICAgICAgICBlbnRpdHkub3B0aW9ucy5hdXRvQ29tcGxldGVGaWVsZHMgPSBhdXRoVHlwZS5tYXAoKHR5cGUpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4geyBsYWJlbDogY29udGVudFt0eXBlXSwgdmFsdWU6IHR5cGUgfTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgICAgICAgICAgdGVtRW50aXRpZXMucHVzaChlbnRpdHkpO1xuICAgICAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5pc1NpbmdsZU9hdXRoID0gYXV0aFR5cGUuaW5jbHVkZXMoJ29hdXRoJyk7XG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAvLyBBZGRpbmcgU3RhdGUgYW5kIEVudGl0eShpbiBlbnRpdHlsaXN0KSBmb3IgZXZlcnkgRmllbGRzIG9mIFwib2F1dGhcIiB0eXBlXG4gICAgICAgICAgICAgICAgICAgIC8vIEl0ZXJhdGluZyBvdmVyIGV2ZXJ5dHlwZSBvZiBBdXRoZW50aWNhdGlvbiB1bmRlciBcIm9hdXRoXCIgdHlwZVxuICAgICAgICAgICAgICAgICAgICBhdXRoVHlwZS5mb3JFYWNoKCh0eXBlKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBhdXRoZmllbGRzID0gW107XG4gICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBmaWVsZHMgPSBlPy5vcHRpb25zW3R5cGVdO1xuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGZpZWxkcykge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIEZvciBQYXJ0aWNhdWxhciB0eXBlIGl0ZXJhdGluZyBvdmVyIGZpZWxkc1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZpZWxkcy5mb3JFYWNoKChmaWVsZCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBldmVyeSBmaWVsZCBmb3IgYXV0aCB0eXBlXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHRlbXBFbnRpdHkgPSB7fTtcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAocHJvcHMubW9kZSA9PT0gTU9ERV9DUkVBVEUpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRlbXBFbnRpdHkudmFsdWUgPVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGVvZiBmaWVsZD8uZGVmYXVsdFZhbHVlICE9PSAndW5kZWZpbmVkJ1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA/IGZpZWxkLmRlZmF1bHRWYWx1ZVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IG51bGw7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBpc0VuY3J5cHRlZCA9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZW9mIGZpZWxkPy5lbmNyeXB0ZWQgIT09ICd1bmRlZmluZWQnXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID8gZmllbGQ/LmVuY3J5cHRlZFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IGZhbHNlO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGVtcEVudGl0eS52YWx1ZSA9IGlzRW5jcnlwdGVkXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPyAnJ1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogdGhpcy5jdXJyZW50SW5wdXRbZmllbGQuZmllbGRdO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRlbXBFbnRpdHkuZGlzcGxheSA9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlb2YgdGVtU3RhdGUuYXV0aF90eXBlICE9PSAndW5kZWZpbmVkJ1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID8gdHlwZSA9PT0gdGVtU3RhdGUuYXV0aF90eXBlLnZhbHVlXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiB0cnVlO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0ZW1wRW50aXR5LmVycm9yID0gZmFsc2U7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRlbXBFbnRpdHkuZGlzYWJsZWQgPSBmYWxzZTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGVtU3RhdGVbZmllbGQuZmllbGRdID0gdGVtcEVudGl0eTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLXBhcmFtLXJlYXNzaWduXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZpZWxkLnR5cGUgPVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZW9mIGZpZWxkPy50eXBlICE9PSAndW5kZWZpbmVkJyA/IGZpZWxkLnR5cGUgOiAndGV4dCc7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gSGFuZGxlZCBzcGVjaWFsIGNhc2UgZm9yIHJlZGlyZWN0X3VybFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoZmllbGQuZmllbGQgPT09ICdyZWRpcmVjdF91cmwnKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0ZW1wRW50aXR5LnZhbHVlID0gd2luZG93LmxvY2F0aW9uLmhyZWZcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAuc3BsaXQoJz8nKVswXVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC5yZXBsYWNlKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnY29uZmlndXJhdGlvbicsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGAke3RoaXMuYXBwTmFtZS50b0xvd2VyQ2FzZSgpfV9yZWRpcmVjdGBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGVtcEVudGl0eS5kaXNhYmxlZCA9IHRydWU7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGVtRW50aXRpZXMucHVzaChmaWVsZCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGF1dGhmaWVsZHMucHVzaChmaWVsZC5maWVsZCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5hdXRoTWFwW3R5cGVdID0gYXV0aGZpZWxkcztcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgICAgIGlmIChhdXRoVHlwZS5pbmNsdWRlcygnb2F1dGgnKSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qgb2F1dGhDb25mRGF0YSA9IHt9O1xuICAgICAgICAgICAgICAgICAgICAgICAgLy8gU3RvcmluZyBPLUF1dGggQ29uZmlndXJhdGlvbiBkYXRhIHRvIGNsYXNzIHZhcmlhYmxlIHRvIHVzZSBsYXRlclxuICAgICAgICAgICAgICAgICAgICAgICAgb2F1dGhDb25mRGF0YS5wb3B1cFdpZHRoID0gZS5vcHRpb25zLm9hdXRoX3BvcHVwX3dpZHRoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPyBlLm9wdGlvbnMub2F1dGhfcG9wdXBfd2lkdGhcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IDYwMDtcbiAgICAgICAgICAgICAgICAgICAgICAgIG9hdXRoQ29uZkRhdGEucG9wdXBIZWlnaHQgPSBlLm9wdGlvbnMub2F1dGhfcG9wdXBfaGVpZ2h0XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPyBlLm9wdGlvbnMub2F1dGhfcG9wdXBfaGVpZ2h0XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgOiA2MDA7XG4gICAgICAgICAgICAgICAgICAgICAgICBvYXV0aENvbmZEYXRhLmF1dGhUaW1lb3V0ID0gZS5vcHRpb25zLm9hdXRoX3RpbWVvdXRcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA/IGUub3B0aW9ucy5vYXV0aF90aW1lb3V0XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgOiAxODA7XG4gICAgICAgICAgICAgICAgICAgICAgICBvYXV0aENvbmZEYXRhLmF1dGhDb2RlRW5kcG9pbnQgPSBlLm9wdGlvbnMuYXV0aF9jb2RlX2VuZHBvaW50XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPyBlLm9wdGlvbnMuYXV0aF9jb2RlX2VuZHBvaW50XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgOiBudWxsO1xuICAgICAgICAgICAgICAgICAgICAgICAgb2F1dGhDb25mRGF0YS5hY2Nlc3NUb2tlbkVuZHBvaW50ID0gZS5vcHRpb25zLmFjY2Vzc190b2tlbl9lbmRwb2ludFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgID8gZS5vcHRpb25zLmFjY2Vzc190b2tlbl9lbmRwb2ludFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogbnVsbDtcblxuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5vYXV0aENvbmYgPSBvYXV0aENvbmZEYXRhO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICBjb25zdCB0ZW1wRW50aXR5ID0ge307XG4gICAgICAgICAgICAgICAgZS5lbmNyeXB0ZWQgPSB0eXBlb2YgZS5lbmNyeXB0ZWQgIT09ICd1bmRlZmluZWQnID8gZS5lbmNyeXB0ZWQgOiBmYWxzZTtcblxuICAgICAgICAgICAgICAgIGlmIChwcm9wcy5tb2RlID09PSBNT0RFX0NSRUFURSkge1xuICAgICAgICAgICAgICAgICAgICB0ZW1wRW50aXR5LnZhbHVlID1cbiAgICAgICAgICAgICAgICAgICAgICAgIHR5cGVvZiBlLmRlZmF1bHRWYWx1ZSAhPT0gJ3VuZGVmaW5lZCcgPyBlLmRlZmF1bHRWYWx1ZSA6IG51bGw7XG4gICAgICAgICAgICAgICAgICAgIHRlbXBFbnRpdHkuZGlzcGxheSA9XG4gICAgICAgICAgICAgICAgICAgICAgICB0eXBlb2YgZT8ub3B0aW9ucz8uZGlzcGxheSAhPT0gJ3VuZGVmaW5lZCcgPyBlLm9wdGlvbnMuZGlzcGxheSA6IHRydWU7XG4gICAgICAgICAgICAgICAgICAgIHRlbXBFbnRpdHkuZXJyb3IgPSBmYWxzZTtcbiAgICAgICAgICAgICAgICAgICAgdGVtcEVudGl0eS5kaXNhYmxlZCA9IGZhbHNlO1xuICAgICAgICAgICAgICAgICAgICB0ZW1TdGF0ZVtlLmZpZWxkXSA9IHRlbXBFbnRpdHk7XG4gICAgICAgICAgICAgICAgfSBlbHNlIGlmIChwcm9wcy5tb2RlID09PSBNT0RFX0VESVQpIHtcbiAgICAgICAgICAgICAgICAgICAgdGVtcEVudGl0eS52YWx1ZSA9XG4gICAgICAgICAgICAgICAgICAgICAgICB0eXBlb2YgdGhpcy5jdXJyZW50SW5wdXRbZS5maWVsZF0gIT09ICd1bmRlZmluZWQnXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPyB0aGlzLmN1cnJlbnRJbnB1dFtlLmZpZWxkXVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogbnVsbDtcbiAgICAgICAgICAgICAgICAgICAgdGVtcEVudGl0eS52YWx1ZSA9IGUuZW5jcnlwdGVkID8gJycgOiB0ZW1wRW50aXR5LnZhbHVlO1xuXG4gICAgICAgICAgICAgICAgICAgIHRlbXBFbnRpdHkuZGlzcGxheSA9XG4gICAgICAgICAgICAgICAgICAgICAgICB0eXBlb2YgZT8ub3B0aW9ucz8uZGlzcGxheSAhPT0gJ3VuZGVmaW5lZCcgPyBlLm9wdGlvbnMuZGlzcGxheSA6IHRydWU7XG4gICAgICAgICAgICAgICAgICAgIHRlbXBFbnRpdHkuZXJyb3IgPSBmYWxzZTtcbiAgICAgICAgICAgICAgICAgICAgdGVtcEVudGl0eS5kaXNhYmxlZCA9IGZhbHNlO1xuICAgICAgICAgICAgICAgICAgICBpZiAoZS5maWVsZCA9PT0gJ25hbWUnKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0ZW1wRW50aXR5LmRpc2FibGVkID0gdHJ1ZTtcbiAgICAgICAgICAgICAgICAgICAgfSBlbHNlIGlmICh0eXBlb2YgZT8ub3B0aW9ucz8uZGlzYWJsZW9uRWRpdCAhPT0gJ3VuZGVmaW5lZCcpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRlbXBFbnRpdHkuZGlzYWJsZWQgPSBlLm9wdGlvbnMuZGlzYWJsZW9uRWRpdDtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB0ZW1TdGF0ZVtlLmZpZWxkXSA9IHRlbXBFbnRpdHk7XG4gICAgICAgICAgICAgICAgfSBlbHNlIGlmIChwcm9wcy5tb2RlID09PSBNT0RFX0NMT05FKSB7XG4gICAgICAgICAgICAgICAgICAgIHRlbXBFbnRpdHkudmFsdWUgPVxuICAgICAgICAgICAgICAgICAgICAgICAgZS5maWVsZCA9PT0gJ25hbWUnIHx8IGUuZW5jcnlwdGVkID8gJycgOiB0aGlzLmN1cnJlbnRJbnB1dFtlLmZpZWxkXTtcbiAgICAgICAgICAgICAgICAgICAgdGVtcEVudGl0eS5kaXNwbGF5ID1cbiAgICAgICAgICAgICAgICAgICAgICAgIHR5cGVvZiBlPy5vcHRpb25zPy5kaXNwbGF5ICE9PSAndW5kZWZpbmVkJyA/IGUub3B0aW9ucy5kaXNwbGF5IDogdHJ1ZTtcbiAgICAgICAgICAgICAgICAgICAgdGVtcEVudGl0eS5lcnJvciA9IGZhbHNlO1xuICAgICAgICAgICAgICAgICAgICB0ZW1wRW50aXR5LmRpc2FibGVkID0gZmFsc2U7XG4gICAgICAgICAgICAgICAgICAgIHRlbVN0YXRlW2UuZmllbGRdID0gdGVtcEVudGl0eTtcbiAgICAgICAgICAgICAgICB9IGVsc2UgaWYgKHByb3BzLm1vZGUgPT09IE1PREVfQ09ORklHKSB7XG4gICAgICAgICAgICAgICAgICAgIGUuZGVmYXVsdFZhbHVlID0gdHlwZW9mIGUuZGVmYXVsdFZhbHVlICE9PSAndW5kZWZpbmVkJyA/IGUuZGVmYXVsdFZhbHVlIDogbnVsbDtcbiAgICAgICAgICAgICAgICAgICAgdGVtcEVudGl0eS52YWx1ZSA9XG4gICAgICAgICAgICAgICAgICAgICAgICB0eXBlb2YgdGhpcy5jdXJyZW50SW5wdXRbZS5maWVsZF0gIT09ICd1bmRlZmluZWQnXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPyB0aGlzLmN1cnJlbnRJbnB1dFtlLmZpZWxkXVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogZS5kZWZhdWx0VmFsdWU7XG4gICAgICAgICAgICAgICAgICAgIHRlbXBFbnRpdHkudmFsdWUgPSBlLmVuY3J5cHRlZCA/ICcnIDogdGVtcEVudGl0eS52YWx1ZTtcbiAgICAgICAgICAgICAgICAgICAgdGVtcEVudGl0eS5kaXNwbGF5ID1cbiAgICAgICAgICAgICAgICAgICAgICAgIHR5cGVvZiBlPy5vcHRpb25zPy5kaXNwbGF5ICE9PSAndW5kZWZpbmVkJyA/IGUub3B0aW9ucy5kaXNwbGF5IDogdHJ1ZTtcbiAgICAgICAgICAgICAgICAgICAgdGVtcEVudGl0eS5lcnJvciA9IGZhbHNlO1xuICAgICAgICAgICAgICAgICAgICB0ZW1wRW50aXR5LmRpc2FibGVkID0gZmFsc2U7XG4gICAgICAgICAgICAgICAgICAgIGlmIChlLmZpZWxkID09PSAnbmFtZScpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRlbXBFbnRpdHkuZGlzYWJsZWQgPSB0cnVlO1xuICAgICAgICAgICAgICAgICAgICB9IGVsc2UgaWYgKHR5cGVvZiBlPy5vcHRpb25zPy5kaXNhYmxlb25FZGl0ICE9PSAndW5kZWZpbmVkJykge1xuICAgICAgICAgICAgICAgICAgICAgICAgdGVtcEVudGl0eS5kaXNhYmxlZCA9IGUub3B0aW9ucy5kaXNhYmxlb25FZGl0O1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIHRlbVN0YXRlW2UuZmllbGRdID0gdGVtcEVudGl0eTtcbiAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ0ludmFsaWQgbW9kZSA6JywgcHJvcHMubW9kZSk7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgLy8gaGFuZGxlIGRlcGVuZGVudCBmaWVsZHNcbiAgICAgICAgICAgICAgICBjb25zdCBmaWVsZHMgPSBlLm9wdGlvbnM/LmRlcGVuZGVuY2llcztcbiAgICAgICAgICAgICAgICBpZiAoZmllbGRzKSB7XG4gICAgICAgICAgICAgICAgICAgIGZpZWxkcy5mb3JFYWNoKChmaWVsZCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgY2hhbmdlRmllbGRzID0gdGhpcy5kZXBlbmRlbmN5TWFwLmdldChmaWVsZCk7XG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAoY2hhbmdlRmllbGRzKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY2hhbmdlRmllbGRzW2UuZmllbGRdID0gZmllbGRzO1xuICAgICAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmRlcGVuZGVuY3lNYXAuc2V0KGZpZWxkLCB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtlLmZpZWxkXTogZmllbGRzLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgdGVtRW50aXRpZXMucHVzaChlKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG5cbiAgICAgICAgdGhpcy5lbnRpdGllcyA9IHRlbUVudGl0aWVzO1xuXG4gICAgICAgIC8vIGZsYXR0ZW4gdGhlIGRlcGVuZGVuY3lNYXAgdG8gcmVtb3ZlIHJlZHVuZGFudCBpdGVyYXRpb25zIGZvciByZXNvbHZpbmcgdGhlbVxuICAgICAgICAvLyBvbmUtYnktb25lIGluIGZvbGxvd2luZyBsb29wXG4gICAgICAgIGxldCBmbGF0dGVuZWRNYXAgPSB7fTtcbiAgICAgICAgdGhpcy5kZXBlbmRlbmN5TWFwLmZvckVhY2goKHZhbHVlKSA9PiB7XG4gICAgICAgICAgICBmbGF0dGVuZWRNYXAgPSB7IC4uLmZsYXR0ZW5lZE1hcCwgLi4udmFsdWUgfTtcbiAgICAgICAgfSk7XG5cbiAgICAgICAgY29uc3QgY2hhbmdlcyA9IHt9O1xuICAgICAgICBPYmplY3Qua2V5cyhmbGF0dGVuZWRNYXApLmZvckVhY2goKGZpZWxkKSA9PiB7XG4gICAgICAgICAgICBjb25zdCB2YWx1ZXMgPSBmbGF0dGVuZWRNYXBbZmllbGRdO1xuICAgICAgICAgICAgY29uc3QgZGF0YSA9IHt9O1xuICAgICAgICAgICAgbGV0IGxvYWQgPSB0cnVlO1xuXG4gICAgICAgICAgICB2YWx1ZXMuZm9yRWFjaCgoZGVwZW5kZW5jeSkgPT4ge1xuICAgICAgICAgICAgICAgIGNvbnN0IHJlcXVpcmVkID0gISF0aGlzLmVudGl0aWVzLmZpbmQoKGUpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGUuZmllbGQgPT09IGRlcGVuZGVuY3k7XG4gICAgICAgICAgICAgICAgfSkucmVxdWlyZWQ7XG5cbiAgICAgICAgICAgICAgICBjb25zdCBjdXJyZW50VmFsdWUgPSB0ZW1TdGF0ZVtkZXBlbmRlbmN5XS52YWx1ZTtcbiAgICAgICAgICAgICAgICBpZiAocmVxdWlyZWQgJiYgIWN1cnJlbnRWYWx1ZSkge1xuICAgICAgICAgICAgICAgICAgICBsb2FkID0gZmFsc2U7XG4gICAgICAgICAgICAgICAgICAgIGRhdGFbZGVwZW5kZW5jeV0gPSBudWxsO1xuICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgIGRhdGFbZGVwZW5kZW5jeV0gPSBjdXJyZW50VmFsdWU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSk7XG5cbiAgICAgICAgICAgIGlmIChsb2FkKSB7XG4gICAgICAgICAgICAgICAgY2hhbmdlc1tmaWVsZF0gPSB7XG4gICAgICAgICAgICAgICAgICAgIGRlcGVuZGVuY3lWYWx1ZXM6IHsgJHNldDogZGF0YSB9LFxuICAgICAgICAgICAgICAgIH07XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuXG4gICAgICAgIC8vIGFwcGx5IGRlcGVuZGVuY3kgZmllbGQgY2hhbmdlcyBpbiBzdGF0ZVxuICAgICAgICB0ZW1TdGF0ZSA9IHVwZGF0ZSh0ZW1TdGF0ZSwgY2hhbmdlcyk7XG4gICAgICAgIHRoaXMuc3RhdGUgPSB7XG4gICAgICAgICAgICBkYXRhOiB0ZW1TdGF0ZSxcbiAgICAgICAgICAgIGVycm9yTXNnOiAnJyxcbiAgICAgICAgICAgIHdhcm5pbmdNc2c6ICcnLFxuICAgICAgICB9O1xuXG4gICAgICAgIC8vIEhvb2sgb24gY3JlYXRlIG1ldGhvZCBjYWxsXG4gICAgICAgIGlmICh0aGlzLmhvb2tEZWZlcnJlZCkge1xuICAgICAgICAgICAgdGhpcy5ob29rRGVmZXJyZWQudGhlbigoKSA9PiB7XG4gICAgICAgICAgICAgICAgaWYgKHR5cGVvZiB0aGlzLmhvb2sub25DcmVhdGUgPT09ICdmdW5jdGlvbicpIHtcbiAgICAgICAgICAgICAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuaG9vay5vbkNyZWF0ZSgpO1xuICAgICAgICAgICAgICAgICAgICB9IGNhdGNoIChlcnIpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby1jb25zb2xlXG4gICAgICAgICAgICAgICAgICAgICAgICBjb25zb2xlLmVycm9yKGVycik7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHVwZGF0ZUVudGl0aWVzRm9yR3JvdXAgPSAoc2VydmljZSkgPT4ge1xuICAgICAgICBpZiAodGhpcy5ncm91cHMgJiYgdGhpcy5ncm91cHMubGVuZ3RoKSB7XG4gICAgICAgICAgICB0aGlzLmdyb3Vwcy5mb3JFYWNoKChncm91cCkgPT4ge1xuICAgICAgICAgICAgICAgIGlmIChncm91cCAmJiBncm91cC5maWVsZHM/Lmxlbmd0aCkge1xuICAgICAgICAgICAgICAgICAgICBncm91cC5maWVsZHMuZm9yRWFjaCgoZmllbGROYW1lKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBpbmRleCA9IHNlcnZpY2UuZW50aXR5LmZpbmRJbmRleCgoZSkgPT4gZS5maWVsZCA9PT0gZmllbGROYW1lKTtcblxuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGluZGV4ICE9PSAtMSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVwZGF0ZWRPYmogPSBKU09OLnBhcnNlKEpTT04uc3RyaW5naWZ5KHNlcnZpY2UuZW50aXR5W2luZGV4XSkpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVwZGF0ZWRPYmouaXNHcm91cGluZyA9IHRydWU7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5lbnRpdGllcy5zcGxpY2UoaW5kZXgsIDEsIHVwZGF0ZWRPYmopO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgIH07XG5cbiAgICBoYW5kbGVTdWJtaXQgPSAoKSA9PiB7XG4gICAgICAgIHRoaXMuY2xlYXJFcnJvck1zZygpO1xuICAgICAgICB0aGlzLnByb3BzLmhhbmRsZUZvcm1TdWJtaXQoLyogaXNTdWJtaXR0aW5nICovIHRydWUsIC8qIGNsb3NlRW50aXR5ICovIGZhbHNlKTtcblxuICAgICAgICB0aGlzLmRhdGFkaWN0ID0ge307XG5cbiAgICAgICAgT2JqZWN0LmtleXModGhpcy5zdGF0ZS5kYXRhKS5mb3JFYWNoKChmaWVsZCkgPT4ge1xuICAgICAgICAgICAgdGhpcy5kYXRhZGljdFtmaWVsZF0gPSB0aGlzLnN0YXRlLmRhdGFbZmllbGRdLnZhbHVlO1xuICAgICAgICB9KTtcblxuICAgICAgICBpZiAodGhpcy5ob29rICYmIHR5cGVvZiB0aGlzLmhvb2sub25TYXZlID09PSAnZnVuY3Rpb24nKSB7XG4gICAgICAgICAgICBjb25zdCB2YWxpZGF0aW9uUGFzcyA9IHRoaXMuaG9vay5vblNhdmUodGhpcy5kYXRhZGljdCk7XG4gICAgICAgICAgICBpZiAoIXZhbGlkYXRpb25QYXNzKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5wcm9wcy5oYW5kbGVGb3JtU3VibWl0KC8qIGlzU3VibWl0dGluZyAqLyBmYWxzZSwgLyogY2xvc2VFbnRpdHkgKi8gZmFsc2UpO1xuICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBjb25zdCBleGVjdXRlVmFsaWRhdGlvblN1Ym1pdCA9ICgpID0+IHtcbiAgICAgICAgICAgIE9iamVjdC5rZXlzKHRoaXMuc3RhdGUuZGF0YSkuZm9yRWFjaCgoZmllbGQpID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLmRhdGFkaWN0W2ZpZWxkXSA9IHRoaXMuc3RhdGUuZGF0YVtmaWVsZF0udmFsdWU7XG4gICAgICAgICAgICB9KTtcblxuICAgICAgICAgICAgLy8gdmFsaWRhdGlvbiBmb3IgdW5pcXVlIG5hbWVcbiAgICAgICAgICAgIGlmIChbTU9ERV9DUkVBVEUsIE1PREVfQ0xPTkVdLmluY2x1ZGVzKHRoaXMucHJvcHMubW9kZSkpIHtcbiAgICAgICAgICAgICAgICBjb25zdCBpc0V4aXN0aW5nTmFtZSA9IEJvb2xlYW4oXG4gICAgICAgICAgICAgICAgICAgIE9iamVjdC52YWx1ZXModGhpcy5jb250ZXh0LnJvd0RhdGEpLmZpbmQoKHZhbCkgPT5cbiAgICAgICAgICAgICAgICAgICAgICAgIE9iamVjdC5rZXlzKHZhbCkuZmluZCgobmFtZSkgPT4gbmFtZSA9PT0gdGhpcy5kYXRhZGljdC5uYW1lKVxuICAgICAgICAgICAgICAgICAgICApXG4gICAgICAgICAgICAgICAgKTtcblxuICAgICAgICAgICAgICAgIGlmIChpc0V4aXN0aW5nTmFtZSkge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBpbmRleCA9IHRoaXMuZW50aXRpZXMuZmluZEluZGV4KChlKSA9PiBlLmZpZWxkID09PSAnbmFtZScpO1xuICAgICAgICAgICAgICAgICAgICB0aGlzLnNldEVycm9yRmllbGRNc2coXG4gICAgICAgICAgICAgICAgICAgICAgICAnbmFtZScsXG4gICAgICAgICAgICAgICAgICAgICAgICBnZXRGb3JtYXR0ZWRNZXNzYWdlKDIsIFt0aGlzLmVudGl0aWVzW2luZGV4XS5sYWJlbCwgdGhpcy5kYXRhZGljdC5uYW1lXSlcbiAgICAgICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5wcm9wcy5oYW5kbGVGb3JtU3VibWl0KC8qIGlzU3VibWl0dGluZyAqLyBmYWxzZSwgLyogY2xvc2VFbnRpdHkgKi8gZmFsc2UpO1xuICAgICAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAvLyB2YWxpZGF0aW9uIGNvbmRpdGlvbiBvZiByZXF1aXJlZCBmaWVsZHMgaW4gTy1BdXRoXG4gICAgICAgICAgICBsZXQgdGVtRW50aXRpZXM7XG4gICAgICAgICAgICBpZiAodGhpcy5pc09BdXRoKSB7XG4gICAgICAgICAgICAgICAgbGV0IHJlcUZpZWxkcyA9IFtdO1xuICAgICAgICAgICAgICAgIE9iamVjdC5rZXlzKHRoaXMuYXV0aE1hcCkuZm9yRWFjaCgodHlwZSkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAvLyBgaXNBdXRoVmFsYCBpcyByZXF1aXJlZCBpbiBhIGNhc2Ugd2hlcmUgb25seSBzaW5nbGUgYXV0aCB0eXBlIGlzIHByb3ZpZGVkXG4gICAgICAgICAgICAgICAgICAgIGlmICh0eXBlID09PSB0aGlzLmRhdGFkaWN0LmF1dGhfdHlwZSB8fCAhdGhpcy5pc0F1dGhWYWwpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHJlcUZpZWxkcyA9IFsuLi5yZXFGaWVsZHMsIC4uLnRoaXMuYXV0aE1hcFt0eXBlXV07XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICB0ZW1FbnRpdGllcyA9IHRoaXMuZW50aXRpZXMubWFwKChlKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGlmIChyZXFGaWVsZHMuaW5jbHVkZXMoZS5maWVsZCkpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIC8vIEFsbCBvYXV0aCBmaWVsZHMgYXJlIHJlcXVpcmVkIGV4Y2VwdCBpZiBleHBsaWNpdGVseSBgcmVxdWlyZWRgIGlzIHNldCB0byBgZmFsc2VgXG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4geyByZXF1aXJlZDogdHJ1ZSwgLi4uZSB9O1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBlO1xuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICB0ZW1FbnRpdGllcyA9IHRoaXMuZW50aXRpZXM7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC8vIFZhbGlkYXRpb24gb2YgZm9ybSBmaWVsZHMgb24gU3VibWl0XG4gICAgICAgICAgICBjb25zdCB2YWxpZGF0b3IgPSBuZXcgVmFsaWRhdG9yKHRlbUVudGl0aWVzKTtcbiAgICAgICAgICAgIGxldCBlcnJvciA9IHZhbGlkYXRvci5kb1ZhbGlkYXRpb24odGhpcy5kYXRhZGljdCk7XG4gICAgICAgICAgICBpZiAoZXJyb3IpIHtcbiAgICAgICAgICAgICAgICB0aGlzLnNldEVycm9yRmllbGRNc2coZXJyb3IuZXJyb3JGaWVsZCwgZXJyb3IuZXJyb3JNc2cpO1xuICAgICAgICAgICAgfSBlbHNlIGlmICh0aGlzLm9wdGlvbnMgJiYgdGhpcy5vcHRpb25zLnNhdmVWYWxpZGF0b3IpIHtcbiAgICAgICAgICAgICAgICBlcnJvciA9IFNhdmVWYWxpZGF0b3IodGhpcy5vcHRpb25zLnNhdmVWYWxpZGF0b3IsIHRoaXMuZGF0YWRpY3QpO1xuICAgICAgICAgICAgICAgIGlmIChlcnJvcikge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLnNldEVycm9yTXNnKGVycm9yLmVycm9yTXNnKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGlmIChlcnJvcikge1xuICAgICAgICAgICAgICAgIHRoaXMucHJvcHMuaGFuZGxlRm9ybVN1Ym1pdCgvKiBpc1N1Ym1pdHRpbmcgKi8gZmFsc2UsIC8qIGNsb3NlRW50aXR5ICovIGZhbHNlKTtcbiAgICAgICAgICAgIH0gZWxzZSBpZiAoXG4gICAgICAgICAgICAgICAgdGhpcy5pc09BdXRoICYmXG4gICAgICAgICAgICAgICAgKHRoaXMuaXNTaW5nbGVPYXV0aCB8fCAodGhpcy5pc0F1dGhWYWwgJiYgdGhpcy5kYXRhZGljdC5hdXRoX3R5cGUgPT09ICdvYXV0aCcpKVxuICAgICAgICAgICAgKSB7XG4gICAgICAgICAgICAgICAgLy8gaGFuZGxlIG9hdXRoIEF1dGhlbnRpY2F0aW9uXG4gICAgICAgICAgICAgICAgLy8gUG9wdWxhdGUgdGhlIHBhcmFtZXRlciBzdHJpbmcgd2l0aCBjbGllbnRfaWQsIHJlZGlyZWN0X3VybCBhbmQgcmVzcG9uc2VfdHlwZVxuICAgICAgICAgICAgICAgIGxldCBwYXJhbWV0ZXJzID0gYD9yZXNwb25zZV90eXBlPWNvZGUmY2xpZW50X2lkPSR7dGhpcy5kYXRhZGljdC5jbGllbnRfaWR9JnJlZGlyZWN0X3VyaT0ke3RoaXMuZGF0YWRpY3QucmVkaXJlY3RfdXJsfWA7XG4gICAgICAgICAgICAgICAgLy8gR2V0IHRoZSB2YWx1ZSBmb3Igc3RhdGVfZW5hYmxlZFxuICAgICAgICAgICAgICAgIGNvbnN0IHN0YXRlRW5hYmxlZCA9IHRoaXMuaXNvYXV0aFN0YXRlICE9IG51bGwgPyB0aGlzLmlzb2F1dGhTdGF0ZSA6IGZhbHNlO1xuICAgICAgICAgICAgICAgIGlmIChzdGF0ZUVuYWJsZWQgPT09ICd0cnVlJyB8fCBzdGF0ZUVuYWJsZWQgPT09IHRydWUpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5zdGF0ZV9lbmFibGVkID0gdHJ1ZTtcbiAgICAgICAgICAgICAgICAgICAgLy8gR2VuZXJhdGluZyBhIGNyeXB0b2dyYXBoaWNhbGx5IHN0cm9uZyBzdGF0ZSBwYXJhbWV0ZXIsIHdoaWNoIHdpbGwgYmUgdXNlZCBPTkxZIGR1cmluZyBjb25maWd1cmF0aW9uXG4gICAgICAgICAgICAgICAgICAgIHRoaXMub2F1dGhfc3RhdGUgPSB1dWlkdjQoKS5yZXBsYWNlKC8tL2csICcnKTtcblxuICAgICAgICAgICAgICAgICAgICAvLyBBcHBlbmRpbmcgdGhlIHN0YXRlIGluIHRoZSBoZWFkZXJzXG4gICAgICAgICAgICAgICAgICAgIHBhcmFtZXRlcnMgPSBgJHtwYXJhbWV0ZXJzfSZzdGF0ZT0ke3RoaXMub2F1dGhfc3RhdGV9YDtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICBjb25zdCBob3N0ID0gYGh0dHBzOi8vJHt0aGlzLmRhdGFkaWN0LmVuZHBvaW50fSR7dGhpcy5vYXV0aENvbmYuYXV0aENvZGVFbmRwb2ludH0ke3BhcmFtZXRlcnN9YDtcbiAgICAgICAgICAgICAgICAoYXN5bmMgKCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmlzQ2FsbGVkID0gZmFsc2U7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuaXNFcnJvciA9IGZhbHNlO1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmlzUmVzcG9uc2UgPSBmYWxzZTtcbiAgICAgICAgICAgICAgICAgICAgLy8gR2V0IGF1dGhfdHlwZSBlbGVtZW50IGZyb20gZ2xvYmFsIGNvbmZpZyBqc29uXG5cbiAgICAgICAgICAgICAgICAgICAgLy8gT3BlbiBhIHBvcHVwIHRvIG1ha2UgYXV0aCByZXF1ZXN0XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuY2hpbGRXaW4gPSB3aW5kb3cub3BlbihcbiAgICAgICAgICAgICAgICAgICAgICAgIGhvc3QsXG4gICAgICAgICAgICAgICAgICAgICAgICBgJHt0aGlzLmFwcE5hbWV9IE9BdXRoYCxcbiAgICAgICAgICAgICAgICAgICAgICAgIGB3aWR0aD0ke3RoaXMub2F1dGhDb25mLnBvcHVwV2lkdGh9LCBoZWlnaHQ9JHt0aGlzLm9hdXRoQ29uZi5wb3B1cEhlaWdodH1gXG4gICAgICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgICAgICAgIC8vIENhbGxiYWNrIHRvIHJlY2VpdmUgZGF0YSBmcm9tIHJlZGlyZWN0IHVybFxuICAgICAgICAgICAgICAgICAgICB3aW5kb3cuZ2V0TWVzc2FnZSA9IChtZXNzYWdlKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmlzQ2FsbGVkID0gdHJ1ZTtcbiAgICAgICAgICAgICAgICAgICAgICAgIC8vIE9uIENhbGwgYmFjayB3aXRoIEF1dGggY29kZSB0aGlzIG1ldGhvZCB3aWxsIGJlIGNhbGxlZC5cbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuaGFuZGxlT2F1dGhUb2tlbihtZXNzYWdlKTtcbiAgICAgICAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgICAgICAgICAgLy8gV2FpdCB0aWxsIHdlIGdldCBhdXRoX2NvZGUgZnJvbSBjYWxsaW5nIHNpdGUgdGhyb3VnaCByZWRpcmVjdCB1cmwsIHdlIHdpbGwgd2FpdCBmb3IgMyBtaW5zXG4gICAgICAgICAgICAgICAgICAgIGF3YWl0IHRoaXMud2FpdEZvckF1dGhlbnRpY2F0aW9uKHRoaXMub2F1dGhDb25mLmF1dGhUaW1lb3V0KTtcblxuICAgICAgICAgICAgICAgICAgICBpZiAoIXRoaXMuaXNDYWxsZWQgJiYgdGhpcy5jaGlsZFdpbi5jbG9zZWQpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIC8vIEFkZCBlcnJvciBtZXNzYWdlIGlmIHRoZSB1c2VyIGhhcyBjbG9zZSB0aGUgYXV0aGVudGljYXRpb24gd2luZG93IHdpdGhvdXQgdGFraW5nIGFueSBhY3Rpb25cbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuc2V0RXJyb3JNc2coRVJST1JfQVVUSF9QUk9DRVNTX1RFUk1JTkFURURfVFJZX0FHQUlOKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMucHJvcHMuaGFuZGxlRm9ybVN1Ym1pdChcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiBpc1N1Ym1pdHRpbmcgKi8gZmFsc2UsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLyogY2xvc2VFbnRpdHkgKi8gZmFsc2VcbiAgICAgICAgICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICBpZiAoIXRoaXMuaXNDYWxsZWQpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIC8vIEFkZCB0aW1lb3V0IGVycm9yIG1lc3NhZ2VcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuc2V0RXJyb3JNc2coRVJST1JfUkVRVUVTVF9USU1FT1VUX1RSWV9BR0FJTik7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnByb3BzLmhhbmRsZUZvcm1TdWJtaXQoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLyogaXNTdWJtaXR0aW5nICovIGZhbHNlLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qIGNsb3NlRW50aXR5ICovIGZhbHNlXG4gICAgICAgICAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgLy8gUmVzZXQgY2FsbGVkIGZsYWcgYXMgd2UgaGF2ZSB0byB3YWl0IHRpbGwgd2UgZ2V0IHRoZSBhY2Nlc3NfdG9rZW4sIHJlZnJlc2hfdG9rZW4gYW5kIGluc3RhbmNlX3VybFxuICAgICAgICAgICAgICAgICAgICAvLyBXYWl0IHRpbGwgd2UgZ2V0IHRoZSByZXNwb25zZSwgaGVyZSB3ZSBoYXZlIGFkZGVkIHdhaXQgZm9yIDMwIHNlY3NcbiAgICAgICAgICAgICAgICAgICAgYXdhaXQgdGhpcy53YWl0Rm9yQmFja2VuZFJlc3BvbnNlKDMwKTtcblxuICAgICAgICAgICAgICAgICAgICBpZiAoIXRoaXMuaXNSZXNwb25zZSAmJiAhdGhpcy5pc0Vycm9yKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAvLyBTZXQgZXJyb3IgbWVzc2FnZSB0byBwcmV2ZW50IHNhdmluZy5cbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuaXNFcnJvciA9IHRydWU7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIC8vIEFkZCB0aW1lb3V0IGVycm9yIG1lc3NhZ2VcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuc2V0RXJyb3JNc2coRVJST1JfUkVRVUVTVF9USU1FT1VUX0FDQ0VTU19UT0tFTl9UUllfQUdBSU4pO1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5wcm9wcy5oYW5kbGVGb3JtU3VibWl0KFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qIGlzU3VibWl0dGluZyAqLyBmYWxzZSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiBjbG9zZUVudGl0eSAqLyBmYWxzZVxuICAgICAgICAgICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgICAgICAgICB9KSgpLnRoZW4oKCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICBpZiAoIXRoaXMuaXNFcnJvcikge1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5zYXZlRGF0YSgpO1xuICAgICAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5wcm9wcy5oYW5kbGVGb3JtU3VibWl0KFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qIGlzU3VibWl0dGluZyAqLyBmYWxzZSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiBjbG9zZUVudGl0eSAqLyBmYWxzZVxuICAgICAgICAgICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICB0aGlzLnNhdmVEYXRhKCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH07XG4gICAgICAgIGlmIChcbiAgICAgICAgICAgIHRoaXMuaG9vayAmJlxuICAgICAgICAgICAgdHlwZW9mIHRoaXMuaG9vay5vblNhdmUgPT09ICdmdW5jdGlvbicgJiZcbiAgICAgICAgICAgIHR5cGVvZiB0aGlzLm9uU2F2ZVByb21pc2UgIT09ICd1bmRlZmluZWQnXG4gICAgICAgICkge1xuICAgICAgICAgICAgdGhpcy5vblNhdmVQcm9taXNlLnRoZW4oKCkgPT4ge1xuICAgICAgICAgICAgICAgIGV4ZWN1dGVWYWxpZGF0aW9uU3VibWl0KCk7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGV4ZWN1dGVWYWxpZGF0aW9uU3VibWl0KCk7XG4gICAgICAgIH1cbiAgICB9O1xuXG4gICAgc2F2ZURhdGEgPSAoKSA9PiB7XG4gICAgICAgIGNvbnN0IGJvZHkgPSBuZXcgVVJMU2VhcmNoUGFyYW1zKCk7XG4gICAgICAgIE9iamVjdC5rZXlzKHRoaXMuZGF0YWRpY3QpLmZvckVhY2goKGtleSkgPT4ge1xuICAgICAgICAgICAgaWYgKHRoaXMuZGF0YWRpY3Rba2V5XSAhPSBudWxsKSB7XG4gICAgICAgICAgICAgICAgYm9keS5hcHBlbmQoa2V5LCB0aGlzLmRhdGFkaWN0W2tleV0pO1xuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcblxuICAgICAgICAvLyBjbGVhciBvdXQgZmllbGRzIG9mIG90aGVyIGF1dGhlbnRpY2F0aW9uIG1ldGhvZHMgd2hlbiB1c2luZyBvbmVcbiAgICAgICAgaWYgKHRoaXMuaXNBdXRoVmFsKSB7XG4gICAgICAgICAgICBPYmplY3Qua2V5cyh0aGlzLmF1dGhNYXApLmZvckVhY2goKHR5cGUpID0+IHtcbiAgICAgICAgICAgICAgICBpZiAodGhpcy5kYXRhZGljdC5hdXRoX3R5cGUgIT09IHR5cGUpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5hdXRoTWFwW3R5cGVdLmZvckVhY2goKGUpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGJvZHkuc2V0KGUsICcnKTtcbiAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSk7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAodGhpcy5pc09BdXRoKSB7XG4gICAgICAgICAgICAvLyBQcmV2ZW50IHBhc3NpbmcgcmVkaXJlY3RfdXJsIGZpZWxkIHVzZWQgaW4gT0F1dGggdG8gYmFja2VuZCBjb25mIGZpbGVcbiAgICAgICAgICAgIGJvZHkuZGVsZXRlKCdyZWRpcmVjdF91cmwnKTtcbiAgICAgICAgfVxuICAgICAgICBpZiAodGhpcy5wcm9wcy5tb2RlID09PSBNT0RFX0VESVQpIHtcbiAgICAgICAgICAgIGJvZHkuZGVsZXRlKCduYW1lJyk7XG4gICAgICAgIH1cblxuICAgICAgICBheGlvc0NhbGxXcmFwcGVyKHtcbiAgICAgICAgICAgIHNlcnZpY2VOYW1lOiB0aGlzLmVuZHBvaW50LFxuICAgICAgICAgICAgYm9keSxcbiAgICAgICAgICAgIGN1c3RvbUhlYWRlcnM6IHsgJ0NvbnRlbnQtVHlwZSc6ICdhcHBsaWNhdGlvbi94LXd3dy1mb3JtLXVybGVuY29kZWQnIH0sXG4gICAgICAgICAgICBtZXRob2Q6ICdwb3N0JyxcbiAgICAgICAgICAgIGhhbmRsZUVycm9yOiBmYWxzZSxcbiAgICAgICAgfSlcbiAgICAgICAgICAgIC50aGVuKChyZXNwb25zZSkgPT4ge1xuICAgICAgICAgICAgICAgIGNvbnN0IHZhbCA9IHJlc3BvbnNlPy5kYXRhPy5lbnRyeVswXTtcbiAgICAgICAgICAgICAgICBpZiAodGhpcy5wcm9wcy5tb2RlICE9PSBNT0RFX0NPTkZJRykge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCB0bXBPYmogPSB7fTtcblxuICAgICAgICAgICAgICAgICAgICB0bXBPYmpbdmFsLm5hbWVdID0ge1xuICAgICAgICAgICAgICAgICAgICAgICAgLy8gQURET04tMzg1ODE6IGBkYXRhZGljdGAgcHJvdmlkZXMgZmFsbGJhY2sgdmFsdWVzIGlmIHJoIHNraXBzXG4gICAgICAgICAgICAgICAgICAgICAgICAuLi50aGlzLmRhdGFkaWN0LFxuICAgICAgICAgICAgICAgICAgICAgICAgLi4udmFsLmNvbnRlbnQsXG4gICAgICAgICAgICAgICAgICAgICAgICBpZDogdmFsLmlkLFxuICAgICAgICAgICAgICAgICAgICAgICAgbmFtZTogdmFsLm5hbWUsXG4gICAgICAgICAgICAgICAgICAgICAgICBzZXJ2aWNlTmFtZTogdGhpcy5wcm9wcy5zZXJ2aWNlTmFtZSxcbiAgICAgICAgICAgICAgICAgICAgfTtcblxuICAgICAgICAgICAgICAgICAgICB0aGlzLmNvbnRleHQuc2V0Um93RGF0YShcbiAgICAgICAgICAgICAgICAgICAgICAgIHVwZGF0ZSh0aGlzLmNvbnRleHQucm93RGF0YSwge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFt0aGlzLnByb3BzLnNlcnZpY2VOYW1lXTogeyAkbWVyZ2U6IHRtcE9iaiB9LFxuICAgICAgICAgICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgaWYgKHRoaXMuaG9vayAmJiB0eXBlb2YgdGhpcy5ob29rLm9uU2F2ZVN1Y2Nlc3MgPT09ICdmdW5jdGlvbicpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5ob29rLm9uU2F2ZVN1Y2Nlc3MoKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgaWYgKHRoaXMucHJvcHMubW9kZSA9PT0gTU9ERV9FRElUKSB7XG4gICAgICAgICAgICAgICAgICAgIGdlbmVyYXRlVG9hc3QoYFVwZGF0ZWQgXCIke3ZhbC5uYW1lfVwiYCwgJ3N1Y2Nlc3MnKTtcbiAgICAgICAgICAgICAgICB9IGVsc2UgaWYgKHRoaXMucHJvcHMubW9kZSA9PT0gTU9ERV9DT05GSUcpIHtcbiAgICAgICAgICAgICAgICAgICAgZ2VuZXJhdGVUb2FzdChcbiAgICAgICAgICAgICAgICAgICAgICAgIGBVcGRhdGVkIFwiJHt0aGlzLm1vZGVfY29uZmlnX3RpdGxlID8gdGhpcy5tb2RlX2NvbmZpZ190aXRsZSA6IHZhbC5uYW1lfVwiYCxcbiAgICAgICAgICAgICAgICAgICAgICAgICdzdWNjZXNzJ1xuICAgICAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgIGdlbmVyYXRlVG9hc3QoYENyZWF0ZWQgXCIke3ZhbC5uYW1lfVwiYCwgJ3N1Y2Nlc3MnKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgdGhpcy5wcm9wcy5oYW5kbGVGb3JtU3VibWl0KC8qIGlzU3VibWl0dGluZyAqLyBmYWxzZSwgLyogY2xvc2VFbnRpdHkgKi8gdHJ1ZSk7XG4gICAgICAgICAgICB9KVxuICAgICAgICAgICAgLmNhdGNoKChlcnIpID0+IHtcbiAgICAgICAgICAgICAgICBjb25zdCBlcnJvclN1Ym1pdE1zZyA9IHBhcnNlRXJyb3JNc2coZXJyKTtcbiAgICAgICAgICAgICAgICB0aGlzLnNldFN0YXRlKHsgZXJyb3JNc2c6IGVycm9yU3VibWl0TXNnIH0pO1xuICAgICAgICAgICAgICAgIGlmICh0aGlzLmhvb2sgJiYgdHlwZW9mIHRoaXMuaG9vay5vblNhdmVGYWlsID09PSAnZnVuY3Rpb24nKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuaG9vay5vblNhdmVGYWlsKCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIHRoaXMucHJvcHMuaGFuZGxlRm9ybVN1Ym1pdCgvKiBpc1N1Ym1pdHRpbmcgKi8gZmFsc2UsIC8qIGNsb3NlRW50aXR5ICovIGZhbHNlKTtcbiAgICAgICAgICAgIH0pO1xuICAgIH07XG5cbiAgICBoYW5kbGVDaGFuZ2UgPSAoZmllbGQsIHRhcmdldFZhbHVlKSA9PiB7XG4gICAgICAgIGNvbnN0IGNoYW5nZXMgPSB7fTtcbiAgICAgICAgaWYgKGZpZWxkID09PSAnYXV0aF90eXBlJykge1xuICAgICAgICAgICAgT2JqZWN0LmtleXModGhpcy5hdXRoTWFwKS5mb3JFYWNoKCh0eXBlKSA9PiB7XG4gICAgICAgICAgICAgICAgaWYgKHR5cGUgPT09IHRhcmdldFZhbHVlKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuYXV0aE1hcFt0eXBlXS5mb3JFYWNoKChlKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICBjaGFuZ2VzW2VdID0geyBkaXNwbGF5OiB7ICRzZXQ6IHRydWUgfSB9O1xuICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmF1dGhNYXBbdHlwZV0uZm9yRWFjaCgoZSkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgY2hhbmdlc1tlXSA9IHsgZGlzcGxheTogeyAkc2V0OiBmYWxzZSB9IH07XG4gICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHRoaXMuZGVwZW5kZW5jeU1hcC5oYXMoZmllbGQpKSB7XG4gICAgICAgICAgICBjb25zdCB2YWx1ZSA9IHRoaXMuZGVwZW5kZW5jeU1hcC5nZXQoZmllbGQpO1xuICAgICAgICAgICAgT2JqZWN0LmtleXModmFsdWUpLmZvckVhY2goKGxvYWRGaWVsZCkgPT4ge1xuICAgICAgICAgICAgICAgIGNvbnN0IGRhdGEgPSB7fTtcbiAgICAgICAgICAgICAgICBsZXQgbG9hZCA9IHRydWU7XG5cbiAgICAgICAgICAgICAgICB2YWx1ZVtsb2FkRmllbGRdLmZvckVhY2goKGRlcGVuZGVuY3kpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgcmVxdWlyZWQgPSAhIXRoaXMuZW50aXRpZXMuZmluZCgoZSkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGUuZmllbGQgPT09IGRlcGVuZGVuY3k7XG4gICAgICAgICAgICAgICAgICAgIH0pLnJlcXVpcmVkO1xuXG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IGN1cnJlbnRWYWx1ZSA9XG4gICAgICAgICAgICAgICAgICAgICAgICBkZXBlbmRlbmN5ID09PSBmaWVsZCA/IHRhcmdldFZhbHVlIDogdGhpcy5zdGF0ZS5kYXRhW2RlcGVuZGVuY3ldLnZhbHVlO1xuICAgICAgICAgICAgICAgICAgICBpZiAocmVxdWlyZWQgJiYgIWN1cnJlbnRWYWx1ZSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgbG9hZCA9IGZhbHNlO1xuICAgICAgICAgICAgICAgICAgICAgICAgZGF0YVtkZXBlbmRlbmN5XSA9IG51bGw7XG4gICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBkYXRhW2RlcGVuZGVuY3ldID0gY3VycmVudFZhbHVlO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfSk7XG5cbiAgICAgICAgICAgICAgICBpZiAobG9hZCkge1xuICAgICAgICAgICAgICAgICAgICBjaGFuZ2VzW2xvYWRGaWVsZF0gPSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBkZXBlbmRlbmN5VmFsdWVzOiB7ICRzZXQ6IGRhdGEgfSxcbiAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlOiB7ICRzZXQ6IG51bGwgfSxcbiAgICAgICAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgICAgICBjaGFuZ2VzW2ZpZWxkXSA9IHsgdmFsdWU6IHsgJHNldDogdGFyZ2V0VmFsdWUgfSB9O1xuXG4gICAgICAgIGNvbnN0IG5ld0ZpZWxkcyA9IHVwZGF0ZSh0aGlzLnN0YXRlLCB7IGRhdGE6IGNoYW5nZXMgfSk7XG4gICAgICAgIGNvbnN0IHRlbXBTdGF0ZSA9IHRoaXMuY2xlYXJBbGxFcnJvck1zZyhuZXdGaWVsZHMpO1xuICAgICAgICB0aGlzLnNldFN0YXRlKHRlbXBTdGF0ZSk7XG5cbiAgICAgICAgaWYgKHRoaXMuaG9va0RlZmVycmVkKSB7XG4gICAgICAgICAgICB0aGlzLmhvb2tEZWZlcnJlZC50aGVuKCgpID0+IHtcbiAgICAgICAgICAgICAgICBpZiAodHlwZW9mIHRoaXMuaG9vay5vbkNoYW5nZSA9PT0gJ2Z1bmN0aW9uJykge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmhvb2sub25DaGFuZ2UoZmllbGQsIHRhcmdldFZhbHVlLCB0ZW1wU3RhdGUpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgfTtcblxuICAgIGFkZEN1c3RvbVZhbGlkYXRvciA9IChmaWVsZCwgdmFsaWRhdG9yRnVuYykgPT4ge1xuICAgICAgICBjb25zdCBpbmRleCA9IHRoaXMuZW50aXRpZXMuZmluZEluZGV4KCh4KSA9PiB4LmZpZWxkID09PSBmaWVsZCk7XG4gICAgICAgIGNvbnN0IHZhbGlkYXRvciA9IFt7IHR5cGU6ICdjdXN0b20nLCB2YWxpZGF0b3JGdW5jIH1dO1xuICAgICAgICB0aGlzLmVudGl0aWVzW2luZGV4XS52YWxpZGF0b3JzID0gdmFsaWRhdG9yO1xuICAgIH07XG5cbiAgICAvLyBTZXQgZXJyb3IgbWVzc2FnZSB0byBkaXNwbGF5IGFuZCBzZXQgZXJyb3IgaW4gcGVydGljdWxhciBmaWVsZFxuICAgIHNldEVycm9yRmllbGRNc2cgPSAoZmllbGQsIG1zZykgPT4ge1xuICAgICAgICB0aGlzLnNldFN0YXRlKChwcmV2aW91c1N0YXRlKSA9PiB7XG4gICAgICAgICAgICBjb25zdCBuZXdGaWVsZHMgPSB1cGRhdGUocHJldmlvdXNTdGF0ZSwge1xuICAgICAgICAgICAgICAgIGRhdGE6IHsgW2ZpZWxkXTogeyBlcnJvcjogeyAkc2V0OiB0cnVlIH0gfSB9LFxuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICBuZXdGaWVsZHMuZXJyb3JNc2cgPSBtc2c7XG4gICAgICAgICAgICByZXR1cm4gbmV3RmllbGRzO1xuICAgICAgICB9KTtcbiAgICB9O1xuXG4gICAgLy8gU2V0IGVycm9yIGluIHBlcnRpY3VsYXIgZmllbGRcbiAgICBzZXRFcnJvckZpZWxkID0gKGZpZWxkKSA9PiB7XG4gICAgICAgIHRoaXMuc2V0U3RhdGUoKHByZXZpb3VzU3RhdGUpID0+IHtcbiAgICAgICAgICAgIHJldHVybiB1cGRhdGUocHJldmlvdXNTdGF0ZSwgeyBkYXRhOiB7IFtmaWVsZF06IHsgZXJyb3I6IHsgJHNldDogdHJ1ZSB9IH0gfSB9KTtcbiAgICAgICAgfSk7XG4gICAgfTtcblxuICAgIC8vIENsZWFyIGVycm9yIG1lc3NhZ2VcbiAgICBjbGVhckVycm9yTXNnID0gKCkgPT4ge1xuICAgICAgICBpZiAodGhpcy5zdGF0ZS5lcnJvck1zZykge1xuICAgICAgICAgICAgdGhpcy5zZXRTdGF0ZSgocHJldmlvdXNTdGF0ZSkgPT4ge1xuICAgICAgICAgICAgICAgIHJldHVybiB7IC4uLnByZXZpb3VzU3RhdGUsIGVycm9yTXNnOiAnJyB9O1xuICAgICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICB9O1xuXG4gICAgLy8gU2V0IGVycm9yIG1lc3NhZ2VcbiAgICBzZXRFcnJvck1zZyA9IChtc2cpID0+IHtcbiAgICAgICAgdGhpcy5zZXRTdGF0ZSgocHJldmlvdXNTdGF0ZSkgPT4ge1xuICAgICAgICAgICAgcmV0dXJuIHsgLi4ucHJldmlvdXNTdGF0ZSwgZXJyb3JNc2c6IG1zZyB9O1xuICAgICAgICB9KTtcbiAgICB9O1xuXG4gICAgLy8gQ2xlYXIgZXJyb3Ivd2FybmluZyBtZXNzYWdlIGFuZCBlcnJvcnMgZnJvbSBmaWVsZHNcbiAgICBjbGVhckFsbEVycm9yTXNnID0gKFN0YXRlKSA9PiB7XG4gICAgICAgIGNvbnN0IG5ld0ZpZWxkcyA9IFN0YXRlID8geyAuLi5TdGF0ZSB9IDogeyAuLi50aGlzLnN0YXRlIH07XG4gICAgICAgIG5ld0ZpZWxkcy5lcnJvck1zZyA9ICcnO1xuICAgICAgICBuZXdGaWVsZHMud2FybmluZ01zZyA9ICcnO1xuICAgICAgICBjb25zdCBuZXdEYXRhID0gU3RhdGUgPyB7IC4uLlN0YXRlLmRhdGEgfSA6IHsgLi4udGhpcy5zdGF0ZS5kYXRhIH07XG4gICAgICAgIGNvbnN0IHRlbURhdGEgPSB7fTtcbiAgICAgICAgT2JqZWN0LmtleXMobmV3RGF0YSkuZm9yRWFjaCgoa2V5KSA9PiB7XG4gICAgICAgICAgICBpZiAobmV3RGF0YVtrZXldLmVycm9yKSB7XG4gICAgICAgICAgICAgICAgdGVtRGF0YVtrZXldID0geyAuLi5uZXdEYXRhW2tleV0sIGVycm9yOiBmYWxzZSB9O1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICB0ZW1EYXRhW2tleV0gPSBuZXdEYXRhW2tleV07XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgICAgICBuZXdGaWVsZHMuZGF0YSA9IHRlbURhdGE7XG4gICAgICAgIHJldHVybiBTdGF0ZSA/IG5ld0ZpZWxkcyA6IG51bGw7XG4gICAgfTtcblxuICAgIC8vIERpc3BsYXkgZXJyb3IgbWVzc2FnZVxuICAgIGdlbmVyYXRlRXJyb3JNZXNzYWdlID0gKCkgPT4ge1xuICAgICAgICBpZiAodGhpcy5zdGF0ZS5lcnJvck1zZykge1xuICAgICAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgICAgICA8TWVzc2FnZSBhcHBlYXJhbmNlPVwiZmlsbFwiIHR5cGU9XCJlcnJvclwiPlxuICAgICAgICAgICAgICAgICAgICB7dGhpcy5zdGF0ZS5lcnJvck1zZ31cbiAgICAgICAgICAgICAgICA8L01lc3NhZ2U+XG4gICAgICAgICAgICApO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBudWxsO1xuICAgIH07XG5cbiAgICBnZW5lcmF0ZVdhcm5pbmdNZXNzYWdlID0gKCkgPT4ge1xuICAgICAgICBpZiAodGhpcy5zdGF0ZS53YXJuaW5nTXNnKSB7XG4gICAgICAgICAgICByZXR1cm4gKFxuICAgICAgICAgICAgICAgIDxNZXNzYWdlIGFwcGVhcmFuY2U9XCJmaWxsXCIgdHlwZT1cIndhcm5pbmdcIj5cbiAgICAgICAgICAgICAgICAgICAge3RoaXMuc3RhdGUud2FybmluZ01zZ31cbiAgICAgICAgICAgICAgICA8L01lc3NhZ2U+XG4gICAgICAgICAgICApO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBudWxsO1xuICAgIH07XG5cbiAgICAvLyBnZW5lcmF0ZXN1Ym1pdE1lc3NhZ2VcbiAgICBsb2FkSG9vayA9IChtb2R1bGUsIHR5cGUsIGdsb2JhbENvbmZpZykgPT4ge1xuICAgICAgICBjb25zdCBteVByb21pc2UgPSBuZXcgUHJvbWlzZSgocmVzb2x2ZSkgPT4ge1xuICAgICAgICAgICAgaWYgKHR5cGUgPT09ICdleHRlcm5hbCcpIHtcbiAgICAgICAgICAgICAgICBpbXBvcnQoLyogd2VicGFja0lnbm9yZTogdHJ1ZSAqLyBgJHtnZXRCdWlsZERpclBhdGgoKX0vY3VzdG9tLyR7bW9kdWxlfS5qc2ApLnRoZW4oXG4gICAgICAgICAgICAgICAgICAgIChleHRlcm5hbCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgSG9vayA9IGV4dGVybmFsLmRlZmF1bHQ7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmhvb2sgPSBuZXcgSG9vayhcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBnbG9iYWxDb25maWcsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5wcm9wcy5zZXJ2aWNlTmFtZSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnN0YXRlLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMucHJvcHMubW9kZSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnV0aWxcbiAgICAgICAgICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgICAgICAgICAgICByZXNvbHZlKEhvb2spO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgX19ub25fd2VicGFja19yZXF1aXJlX18oXG4gICAgICAgICAgICAgICAgICAgIFtgYXBwLyR7dGhpcy5hcHBOYW1lfS9qcy9idWlsZC9jdXN0b20vJHttb2R1bGV9YF0sXG4gICAgICAgICAgICAgICAgICAgIChIb29rKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmhvb2sgPSBuZXcgSG9vayhcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBnbG9iYWxDb25maWcsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5wcm9wcy5zZXJ2aWNlTmFtZSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnN0YXRlLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMucHJvcHMubW9kZSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnV0aWxcbiAgICAgICAgICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgICAgICAgICAgICByZXNvbHZlKEhvb2spO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgICAgIHJldHVybiBteVByb21pc2U7XG4gICAgfTtcblxuICAgIC8qXG4gICAgICogRnVuY3Rpb24gdG8gZ2V0IGFjY2VzcyB0b2tlbiwgcmVmcmVzaCB0b2tlbiBhbmQgaW5zdGFuY2UgdXJsXG4gICAgICogdXNpbmcgcmVzdCBjYWxsIG9uY2Ugb2F1dGggY29kZSByZWNlaXZlZCBmcm9tIGNoaWxkIHdpbmRvd1xuICAgICAqL1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBjb25zaXN0ZW50LXJldHVyblxuICAgIGhhbmRsZU9hdXRoVG9rZW4gPSAobWVzc2FnZSkgPT4ge1xuICAgICAgICAvLyBDaGVjayBtZXNzYWdlIGZvciBlcnJvci4gSWYgZXJyb3Igc2hvdyBlcnJvciBtZXNzYWdlLlxuICAgICAgICBpZiAoIW1lc3NhZ2UgfHwgKG1lc3NhZ2UgJiYgbWVzc2FnZS5lcnJvcikgfHwgbWVzc2FnZS5jb2RlID09PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgIHRoaXMuc2V0RXJyb3JNc2coRVJST1JfT0NDVVJSRURfVFJZX0FHQUlOKTtcbiAgICAgICAgICAgIHRoaXMuaXNFcnJvciA9IHRydWU7XG4gICAgICAgICAgICB0aGlzLmlzUmVzcG9uc2UgPSB0cnVlO1xuICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IHN0YXRlUmVzcG9uc2UgPSBtZXNzYWdlLnN0YXRlO1xuXG4gICAgICAgIGlmICh0aGlzLnN0YXRlX2VuYWJsZWQgPT09IHRydWUgJiYgdGhpcy5vYXV0aF9zdGF0ZSAhPT0gc3RhdGVSZXNwb25zZSkge1xuICAgICAgICAgICAgdGhpcy5zZXRFcnJvck1zZyhFUlJPUl9TVEFURV9NSVNTSU5HX1RSWV9BR0FJTik7XG4gICAgICAgICAgICB0aGlzLmlzRXJyb3IgPSB0cnVlO1xuICAgICAgICAgICAgdGhpcy5pc1Jlc3BvbnNlID0gdHJ1ZTtcbiAgICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IGNvZGUgPSBkZWNvZGVVUklDb21wb25lbnQobWVzc2FnZS5jb2RlKTtcbiAgICAgICAgY29uc3QgZGF0YSA9IHtcbiAgICAgICAgICAgIG1ldGhvZDogJ1BPU1QnLFxuICAgICAgICAgICAgdXJsOiBgaHR0cHM6Ly8ke3RoaXMuZGF0YWRpY3QuZW5kcG9pbnR9JHt0aGlzLm9hdXRoQ29uZi5hY2Nlc3NUb2tlbkVuZHBvaW50fWAsXG4gICAgICAgICAgICBncmFudF90eXBlOiAnYXV0aG9yaXphdGlvbl9jb2RlJyxcbiAgICAgICAgICAgIGNsaWVudF9pZDogdGhpcy5kYXRhZGljdC5jbGllbnRfaWQsXG4gICAgICAgICAgICBjbGllbnRfc2VjcmV0OiB0aGlzLmRhdGFkaWN0LmNsaWVudF9zZWNyZXQsXG4gICAgICAgICAgICBjb2RlLFxuICAgICAgICAgICAgcmVkaXJlY3RfdXJpOiB0aGlzLmRhdGFkaWN0LnJlZGlyZWN0X3VybCxcbiAgICAgICAgfTtcblxuICAgICAgICBjb25zdCBib2R5ID0gbmV3IFVSTFNlYXJjaFBhcmFtcygpO1xuICAgICAgICBPYmplY3Qua2V5cyhkYXRhKS5mb3JFYWNoKChrZXkpID0+IHtcbiAgICAgICAgICAgIGJvZHkuYXBwZW5kKGtleSwgZGF0YVtrZXldKTtcbiAgICAgICAgfSk7XG5cbiAgICAgICAgY29uc3QgT0F1dGhFbmRwb2ludCA9IGAke3RoaXMuYXBwTmFtZX1fb2F1dGgvb2F1dGhgO1xuICAgICAgICAvLyBJbnRlcm5hbCBoYW5kbGVyIGNhbGwgdG8gZ2V0IHRoZSBhY2Nlc3MgdG9rZW4gYW5kIG90aGVyIHZhbHVlc1xuICAgICAgICBheGlvc0NhbGxXcmFwcGVyKHtcbiAgICAgICAgICAgIGVuZHBvaW50VXJsOiBPQXV0aEVuZHBvaW50LFxuICAgICAgICAgICAgYm9keSxcbiAgICAgICAgICAgIGN1c3RvbUhlYWRlcnM6IHsgJ0NvbnRlbnQtVHlwZSc6ICdhcHBsaWNhdGlvbi94LXd3dy1mb3JtLXVybGVuY29kZWQnIH0sXG4gICAgICAgICAgICBtZXRob2Q6ICdwb3N0JyxcbiAgICAgICAgICAgIGhhbmRsZUVycm9yOiBmYWxzZSxcbiAgICAgICAgfSlcbiAgICAgICAgICAgIC50aGVuKChyZXNwb25zZSkgPT4ge1xuICAgICAgICAgICAgICAgIGlmIChyZXNwb25zZS5kYXRhLmVudHJ5WzBdLmNvbnRlbnQuZXJyb3IgPT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBhY2Nlc3NUb2tlbiA9IHJlc3BvbnNlLmRhdGEuZW50cnlbMF0uY29udGVudC5hY2Nlc3NfdG9rZW47XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IGluc3RhbmNlVXJsID0gcmVzcG9uc2UuZGF0YS5lbnRyeVswXS5jb250ZW50Lmluc3RhbmNlX3VybDtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgcmVmcmVzaFRva2VuID0gcmVzcG9uc2UuZGF0YS5lbnRyeVswXS5jb250ZW50LnJlZnJlc2hfdG9rZW47XG5cbiAgICAgICAgICAgICAgICAgICAgdGhpcy5kYXRhZGljdC5pbnN0YW5jZV91cmwgPSBpbnN0YW5jZVVybDtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5kYXRhZGljdC5yZWZyZXNoX3Rva2VuID0gcmVmcmVzaFRva2VuO1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmRhdGFkaWN0LmFjY2Vzc190b2tlbiA9IGFjY2Vzc1Rva2VuO1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmlzUmVzcG9uc2UgPSB0cnVlO1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgdGhpcy5zZXRFcnJvck1zZyhyZXNwb25zZS5kYXRhLmVudHJ5WzBdLmNvbnRlbnQuZXJyb3IpO1xuICAgICAgICAgICAgICAgIHRoaXMuaXNFcnJvciA9IHRydWU7XG4gICAgICAgICAgICAgICAgdGhpcy5pc1Jlc3BvbnNlID0gdHJ1ZTtcbiAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgICAgICB9KVxuICAgICAgICAgICAgLmNhdGNoKCgpID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLnNldEVycm9yTXNnKEVSUk9SX09DQ1VSUkVEX1RSWV9BR0FJTik7XG4gICAgICAgICAgICAgICAgdGhpcy5pc0Vycm9yID0gdHJ1ZTtcbiAgICAgICAgICAgICAgICB0aGlzLmlzUmVzcG9uc2UgPSB0cnVlO1xuICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgICAgIH0pO1xuICAgIH07XG5cbiAgICAvLyBGdW5jdGlvbiB0byB3YWl0IGZvciBhdXRoZW50aWNhdGlvbiBjYWxsIGJhY2sgaW4gY2hpbGQgd2luZG93LlxuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBjb25zaXN0ZW50LXJldHVyblxuICAgIHdhaXRGb3JBdXRoZW50aWNhdGlvbiA9IGFzeW5jIChjb3VudCkgPT4ge1xuICAgICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tcGFyYW0tcmVhc3NpZ25cbiAgICAgICAgY291bnQgLT0gMTtcbiAgICAgICAgLy8gQ2hlY2sgaWYgY2FsbGJhY2sgZnVuY3Rpb24gY2FsbGVkIGlmIGNhbGxlZCB0aGVuIGV4aXQgZnJvbSB3YWl0XG4gICAgICAgIGlmICh0aGlzLmlzQ2FsbGVkID09PSB0cnVlKSB7XG4gICAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgfVxuICAgICAgICAvLyBJZiBjYWxsYmFjayBmdW5jdGlvbiBpcyBub3QgY2FsbGVkIGFuZCBjb3VudCBpcyBub3QgcmVhY2hlZCB0byAxODAgdGhlbiByZXR1cm4gZXJyb3IgZm9yIHRpbWVvdXRcbiAgICAgICAgaWYgKGNvdW50ID09PSAwIHx8IHRoaXMuY2hpbGRXaW4uY2xvc2VkKSB7XG4gICAgICAgICAgICB0aGlzLmlzRXJyb3IgPSB0cnVlO1xuICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICB9XG4gICAgICAgIC8vIGVsc2UgY2FsbCBzbGVlcCBhbmQgcmVjYWxsIHRoZSBzYW1lIGZ1bmN0aW9uXG4gICAgICAgIGF3YWl0IHRoaXMuc2xlZXAodGhpcy53YWl0Rm9yQXV0aGVudGljYXRpb24sIGNvdW50KTtcbiAgICB9O1xuXG4gICAgLy8gRnVuY3Rpb24gdG8gd2FpdCBmb3IgYmFja2VuZCBjYWxsIGdldCByZXNwb25zZSBmcm9tIGJhY2tlbmRcblxuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBjb25zaXN0ZW50LXJldHVyblxuICAgIHdhaXRGb3JCYWNrZW5kUmVzcG9uc2UgPSBhc3luYyAoY291bnQpID0+IHtcbiAgICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLXBhcmFtLXJlYXNzaWduXG4gICAgICAgIGNvdW50ICs9IDE7XG4gICAgICAgIC8vIENoZWNrIGlmIGNhbGxiYWNrIGZ1bmN0aW9uIGNhbGxlZCBpZiBjYWxsZWQgdGhlbiBleGl0IGZyb20gd2FpdFxuICAgICAgICBpZiAodGhpcy5pc1Jlc3BvbnNlID09PSB0cnVlKSB7XG4gICAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgfVxuICAgICAgICAvLyBJZiBjYWxsYmFjayBmdW5jdGlvbiBpcyBub3QgY2FsbGVkIGFuZCBjb3VudCBpcyBub3QgcmVhY2hlZCB0byA2MCB0aGVuIHJldHVybiBlcnJvciBmb3IgdGltZW91dFxuICAgICAgICBpZiAoY291bnQgPT09IDYwKSB7XG4gICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgIH1cbiAgICAgICAgLy8gZWxzZSBjYWxsIHNsZWVwIGFuZCByZWNhbGwgdGhlIHNhbWUgZnVuY3Rpb25cbiAgICAgICAgYXdhaXQgdGhpcy5zbGVlcCh0aGlzLndhaXRGb3JCYWNrZW5kUmVzcG9uc2UsIGNvdW50KTtcbiAgICB9O1xuXG4gICAgLypcbiAgICAgKiBUaGlzIGZ1bmN0aW9uIGZpcnN0IGFkZCBzbGVlcCBmb3IgMSBzZWNzIGFuZCB0aGUgY2FsbCB0aGUgZnVuY3Rpb24gcGFzc2VkIGluIGFyZ3VtZW50XG4gICAgICovXG4gICAgc2xlZXAgPSBhc3luYyAoZm4sIC4uLmFyZ3MpID0+IHtcbiAgICAgICAgYXdhaXQgdGhpcy50aW1lb3V0KDEwMDApO1xuICAgICAgICByZXR1cm4gZm4oLi4uYXJncyk7XG4gICAgfTtcblxuICAgIC8qXG4gICAgICogVGhpcyBmdW5jdGlvbiB3aWxsIHJlc29sdmUgdGhlIHByb21pc2Ugb25jZSB0aGUgcHJvdmlkZWQgdGltZW91dCBvY2N1cnNcbiAgICAgKi9cbiAgICB0aW1lb3V0ID0gKG1zKSA9PiB7XG4gICAgICAgIHJldHVybiBuZXcgUHJvbWlzZSgocmVzb2x2ZSkgPT4gc2V0VGltZW91dChyZXNvbHZlLCBtcykpO1xuICAgIH07XG5cbiAgICByZW5kZXJHcm91cEVsZW1lbnRzID0gKCkgPT4ge1xuICAgICAgICBsZXQgZWwgPSBudWxsO1xuICAgICAgICBpZiAodGhpcy5ncm91cHMgJiYgdGhpcy5ncm91cHMubGVuZ3RoKSB7XG4gICAgICAgICAgICBlbCA9IHRoaXMuZ3JvdXBzLm1hcCgoZ3JvdXApID0+IHtcbiAgICAgICAgICAgICAgICBjb25zdCBjb2xscHNpYmxlRWxlbWVudCA9XG4gICAgICAgICAgICAgICAgICAgIGdyb3VwLmZpZWxkcz8ubGVuZ3RoICYmXG4gICAgICAgICAgICAgICAgICAgIGdyb3VwLmZpZWxkcy5tYXAoKGZpZWxkTmFtZSkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMuZW50aXRpZXMubWFwKChlKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGUuZmllbGQgPT09IGZpZWxkTmFtZSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB0ZW1TdGF0ZSA9IHRoaXMuc3RhdGUuZGF0YVtlLmZpZWxkXTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxDb250cm9sV3JhcHBlclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGtleT17ZS5maWVsZH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1dGlsaXR5RnVuY3RzPXt0aGlzLnV0aWxDb250cm9sV3JhcHBlcn1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZT17dGVtU3RhdGUudmFsdWV9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheT17dGVtU3RhdGUuZGlzcGxheX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBlcnJvcj17dGVtU3RhdGUuZXJyb3J9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZW50aXR5PXtlfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNlcnZpY2VOYW1lPXt0aGlzLnByb3BzLnNlcnZpY2VOYW1lfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1vZGU9e3RoaXMucHJvcHMubW9kZX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkaXNhYmxlZD17dGVtU3RhdGUuZGlzYWJsZWR9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFya2Rvd25NZXNzYWdlPXt0ZW1TdGF0ZS5tYXJrZG93bk1lc3NhZ2V9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGVwZW5kZW5jeVZhbHVlcz17dGVtU3RhdGUuZGVwZW5kZW5jeVZhbHVlcyB8fCBudWxsfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICAgICAgfSk7XG5cbiAgICAgICAgICAgICAgICByZXR1cm4gZ3JvdXAub3B0aW9ucy5pc0V4cGFuZGFibGUgPyAoXG4gICAgICAgICAgICAgICAgICAgIDxDb2xsYXBzaWJsZVBhbmVsV3JhcHBlciB0aXRsZT17Z3JvdXAubGFiZWx9PlxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJjb2xsYXBzaWJsZS1lbGVtZW50XCI+e2NvbGxwc2libGVFbGVtZW50fTwvZGl2PlxuICAgICAgICAgICAgICAgICAgICA8L0NvbGxhcHNpYmxlUGFuZWxXcmFwcGVyPlxuICAgICAgICAgICAgICAgICkgOiAoXG4gICAgICAgICAgICAgICAgICAgIDw+XG4gICAgICAgICAgICAgICAgICAgICAgICA8Q3VzdG9tR3JvdXBMYWJlbD57Z3JvdXAubGFiZWx9PC9DdXN0b21Hcm91cExhYmVsPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdj57Y29sbHBzaWJsZUVsZW1lbnR9PC9kaXY+XG4gICAgICAgICAgICAgICAgICAgIDwvPlxuICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gZWw7XG4gICAgfTtcblxuICAgIHJlbmRlcigpIHtcbiAgICAgICAgLy8gb25SZW5kZXIgbWV0aG9kIG9mIEhvb2tcbiAgICAgICAgaWYgKHRoaXMuZmxhZykge1xuICAgICAgICAgICAgaWYgKHRoaXMuaG9va0RlZmVycmVkKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5ob29rRGVmZXJyZWQudGhlbigoKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGlmICh0eXBlb2YgdGhpcy5ob29rLm9uUmVuZGVyID09PSAnZnVuY3Rpb24nKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0cnkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuaG9vay5vblJlbmRlcigpO1xuICAgICAgICAgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXJyKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLWNvbnNvbGVcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zb2xlLmVycm9yKGVycik7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgaWYgKHRoaXMucHJvcHMubW9kZSA9PT0gTU9ERV9FRElUKSB7XG4gICAgICAgICAgICAgICAgaWYgKHRoaXMuaG9va0RlZmVycmVkKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuaG9va0RlZmVycmVkLnRoZW4oKCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHR5cGVvZiB0aGlzLmhvb2sub25FZGl0TG9hZCA9PT0gJ2Z1bmN0aW9uJykge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRyeSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuaG9vay5vbkVkaXRMb2FkKCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXJyKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby1jb25zb2xlXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnNvbGUuZXJyb3IoZXJyKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHRoaXMuZmxhZyA9IGZhbHNlO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICA8ZGl2PlxuICAgICAgICAgICAgICAgIDxmb3JtIHN0eWxlPXt0aGlzLnByb3BzLm1vZGUgPT09IE1PREVfQ09ORklHID8geyBtYXJnaW5Ub3A6ICcyNXB4JyB9IDoge319PlxuICAgICAgICAgICAgICAgICAgICB7dGhpcy5nZW5lcmF0ZVdhcm5pbmdNZXNzYWdlKCl9XG4gICAgICAgICAgICAgICAgICAgIHt0aGlzLmdlbmVyYXRlRXJyb3JNZXNzYWdlKCl9XG4gICAgICAgICAgICAgICAgICAgIHt0aGlzLnJlbmRlckdyb3VwRWxlbWVudHMoKX1cbiAgICAgICAgICAgICAgICAgICAge3RoaXMuZW50aXRpZXMubWFwKChlKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAvLyBSZXR1cm4gbnVsbCBpZiB3ZSBuZWVkIHRvIHNob3cgZWxlbWVudCBpbiBhIGdyb3VwXG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAoZS5pc0dyb3VwaW5nKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB0ZW1TdGF0ZSA9IHRoaXMuc3RhdGUuZGF0YVtlLmZpZWxkXTtcblxuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHRlbVN0YXRlLnBsYWNlaG9sZGVyKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLXBhcmFtLXJlYXNzaWduXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZSA9IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLi4uZSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb3B0aW9uczogeyAuLi5lLm9wdGlvbnMsIHBsYWNlaG9sZGVyOiB0ZW1TdGF0ZS5wbGFjZWhvbGRlciB9LFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH07XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPENvbnRyb2xXcmFwcGVyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGtleT17ZS5maWVsZH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdXRpbGl0eUZ1bmN0cz17dGhpcy51dGlsQ29udHJvbFdyYXBwZXJ9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlPXt0ZW1TdGF0ZS52YWx1ZX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheT17dGVtU3RhdGUuZGlzcGxheX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZXJyb3I9e3RlbVN0YXRlLmVycm9yfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBlbnRpdHk9e2V9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNlcnZpY2VOYW1lPXt0aGlzLnByb3BzLnNlcnZpY2VOYW1lfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtb2RlPXt0aGlzLnByb3BzLm1vZGV9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRpc2FibGVkPXt0ZW1TdGF0ZS5kaXNhYmxlZH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFya2Rvd25NZXNzYWdlPXt0ZW1TdGF0ZS5tYXJrZG93bk1lc3NhZ2V9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRlcGVuZGVuY3lWYWx1ZXM9e3RlbVN0YXRlLmRlcGVuZGVuY3lWYWx1ZXMgfHwgbnVsbH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICAgICAgfSl9XG4gICAgICAgICAgICAgICAgPC9mb3JtPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICk7XG4gICAgfVxufVxuXG5CYXNlRm9ybVZpZXcucHJvcFR5cGVzID0ge1xuICAgIHBhZ2U6IFByb3BUeXBlcy5zdHJpbmcsXG4gICAgc2VydmljZU5hbWU6IFByb3BUeXBlcy5zdHJpbmcsXG4gICAgc3RhbnphTmFtZTogUHJvcFR5cGVzLnN0cmluZyxcbiAgICBjdXJyZW50U2VydmljZVN0YXRlOiBQcm9wVHlwZXMub2JqZWN0LFxuICAgIG1vZGU6IFByb3BUeXBlcy5zdHJpbmcsXG4gICAgaGFuZGxlRm9ybVN1Ym1pdDogUHJvcFR5cGVzLmZ1bmMsXG59O1xuXG5leHBvcnQgZGVmYXVsdCBCYXNlRm9ybVZpZXc7XG4iLCJleHBvcnQgY29uc3QgRVJST1JfUkVRVUVTVF9USU1FT1VUX1RSWV9BR0FJTiA9ICdSZXF1ZXN0IHRpbWUgb3V0IHdoaWxlIGF1dGhlbnRpY2F0aW5nLiBQbGVhc2UgdHJ5IGFnYWluLic7XG5leHBvcnQgY29uc3QgRVJST1JfUkVRVUVTVF9USU1FT1VUX0FDQ0VTU19UT0tFTl9UUllfQUdBSU4gPSAnUmVxdWVzdCB0aW1lIG91dCB3aGlsZSBnZXR0aW5nIGFjY2Vzc3Rva2VuLiBQbGVhc2UgdHJ5IGFnYWluLic7XG5leHBvcnQgY29uc3QgRVJST1JfT0NDVVJSRURfVFJZX0FHQUlOID0gXCJFcnJvciBvY2N1cnJlZCB3aGlsZSB0cnlpbmcgdG8gYXV0aGVudGljYXRlLiBQbGVhc2UgdHJ5IEFnYWluLlwiO1xuZXhwb3J0IGNvbnN0IEVSUk9SX0FVVEhfUFJPQ0VTU19URVJNSU5BVEVEX1RSWV9BR0FJTiA9IFwiQXV0aGVudGljYXRpb24gcHJvY2VzcyBpbnRlcnJ1cHRlZC4gUGxlYXNlIHRyeSBhZ2Fpbi5cIjtcbmV4cG9ydCBjb25zdCBFUlJPUl9TVEFURV9NSVNTSU5HX1RSWV9BR0FJTiA9IFwiUmVzcG9uc2Ugbm90IHJlY2VpdmVkIGZyb20gdGhlIGV4cGVjdGVkIHNlbmRlci4gUGxlYXNlIHRyeSBhZ2Fpbi5cIjsiLCJleHBvcnQgY29uc3QgU1RZTEVfUEFHRSA9ICdwYWdlJztcbmV4cG9ydCBjb25zdCBTVFlMRV9NT0RBTCA9ICdtb2RhbCc7XG4iLCJpbXBvcnQgUmVhY3QsIHsgQ29tcG9uZW50IH0gZnJvbSAncmVhY3QnO1xuaW1wb3J0IFByb3BUeXBlcyBmcm9tICdwcm9wLXR5cGVzJztcbmltcG9ydCB7IF8gfSBmcm9tICdAc3BsdW5rL3VpLXV0aWxzL2kxOG4nO1xuXG5pbXBvcnQgeyBnZXRVbmlmaWVkQ29uZmlncyB9IGZyb20gJy4uLy4uL3V0aWwvdXRpbCc7XG5pbXBvcnQgeyBnZXRCdWlsZERpclBhdGggfSBmcm9tICcuLi8uLi91dGlsL3NjcmlwdCc7XG5cbmNsYXNzIEN1c3RvbVRhYmxlQ29udHJvbCBleHRlbmRzIENvbXBvbmVudCB7XG4gICAgY29uc3RydWN0b3IocHJvcHMpIHtcbiAgICAgICAgc3VwZXIocHJvcHMpO1xuICAgICAgICB0aGlzLnN0YXRlID0ge1xuICAgICAgICAgICAgbG9hZGluZzogdHJ1ZSxcbiAgICAgICAgfTtcbiAgICAgICAgdGhpcy5zaG91bGRSZW5kZXIgPSB0cnVlO1xuICAgIH1cblxuICAgIGNvbXBvbmVudERpZE1vdW50KCkge1xuICAgICAgICBjb25zdCBnbG9iYWxDb25maWcgPSBnZXRVbmlmaWVkQ29uZmlncygpO1xuICAgICAgICB0aGlzLnNldFN0YXRlKHsgbG9hZGluZzogdHJ1ZSB9KTtcbiAgICAgICAgdGhpcy5sb2FkQ3VzdG9tQ29udHJvbCgpLnRoZW4oKENvbnRyb2wpID0+IHtcbiAgICAgICAgICAgIHRoaXMuY3VzdG9tQ29udHJvbCA9IG5ldyBDb250cm9sKFxuICAgICAgICAgICAgICAgIGdsb2JhbENvbmZpZyxcbiAgICAgICAgICAgICAgICB0aGlzLnByb3BzLnNlcnZpY2VOYW1lLFxuICAgICAgICAgICAgICAgIHRoaXMuZWwsXG4gICAgICAgICAgICAgICAgdGhpcy5wcm9wcy5yb3csXG4gICAgICAgICAgICAgICAgdGhpcy5wcm9wcy5maWVsZFxuICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIHRoaXMuc2V0U3RhdGUoeyBsb2FkaW5nOiBmYWxzZSB9KTtcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgc2hvdWxkQ29tcG9uZW50VXBkYXRlKG5leHRQcm9wcywgbmV4dFN0YXRlKSB7XG4gICAgICAgIGlmICh0aGlzLnByb3BzLnJvdyAhPT0gbmV4dFByb3BzLnJvdykge1xuICAgICAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKCFuZXh0U3RhdGUubG9hZGluZyAmJiB0aGlzLnNob3VsZFJlbmRlcikge1xuICAgICAgICAgICAgdGhpcy5zaG91bGRSZW5kZXIgPSBmYWxzZTtcbiAgICAgICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG5cbiAgICBsb2FkQ3VzdG9tQ29udHJvbCA9ICgpID0+IHtcbiAgICAgICAgcmV0dXJuIG5ldyBQcm9taXNlKChyZXNvbHZlKSA9PiB7XG4gICAgICAgICAgICBpZiAodGhpcy5wcm9wcy50eXBlID09PSAnZXh0ZXJuYWwnKSB7XG4gICAgICAgICAgICAgICAgaW1wb3J0KFxuICAgICAgICAgICAgICAgICAgICAvKiB3ZWJwYWNrSWdub3JlOiB0cnVlICovIGAke2dldEJ1aWxkRGlyUGF0aCgpfS9jdXN0b20vJHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMucHJvcHMuZmlsZU5hbWVcbiAgICAgICAgICAgICAgICAgICAgfS5qc2BcbiAgICAgICAgICAgICAgICApLnRoZW4oKGV4dGVybmFsKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IENvbnRyb2wgPSBleHRlcm5hbC5kZWZhdWx0O1xuICAgICAgICAgICAgICAgICAgICByZXNvbHZlKENvbnRyb2wpO1xuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICBjb25zdCBnbG9iYWxDb25maWcgPSBnZXRVbmlmaWVkQ29uZmlncygpO1xuICAgICAgICAgICAgICAgIGNvbnN0IGFwcE5hbWUgPSBnbG9iYWxDb25maWcubWV0YS5uYW1lO1xuICAgICAgICAgICAgICAgIF9fbm9uX3dlYnBhY2tfcmVxdWlyZV9fKFxuICAgICAgICAgICAgICAgICAgICBbYGFwcC8ke2FwcE5hbWV9L2pzL2J1aWxkL2N1c3RvbS8ke3RoaXMucHJvcHMuZmlsZU5hbWV9YF0sXG4gICAgICAgICAgICAgICAgICAgIChDb250cm9sKSA9PiByZXNvbHZlKENvbnRyb2wpXG4gICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgfTtcblxuICAgIHJlbmRlcigpIHtcbiAgICAgICAgaWYgKCF0aGlzLnN0YXRlLmxvYWRpbmcpIHtcbiAgICAgICAgICAgIHRyeSB7XG4gICAgICAgICAgICAgICAgdGhpcy5jdXN0b21Db250cm9sLnJlbmRlcih0aGlzLnByb3BzLnJvdywgdGhpcy5wcm9wcy5maWVsZCk7XG4gICAgICAgICAgICB9IGNhdGNoIChlcnIpIHtcbiAgICAgICAgICAgICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tY29uc29sZVxuICAgICAgICAgICAgICAgIGNvbnNvbGUuZXJyb3IoZXJyKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gKFxuICAgICAgICAgICAgPD5cbiAgICAgICAgICAgICAgICB7dGhpcy5zdGF0ZS5sb2FkaW5nICYmIF8oJ0xvYWRpbmcuLi4nKX1cbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIDxzcGFuIC8vIG5vc2VtZ3JlcDogdHlwZXNjcmlwdC5yZWFjdC5zZWN1cml0eS5hdWRpdC5yZWFjdC1uby1yZWZzLnJlYWN0LW5vLXJlZnNcbiAgICAgICAgICAgICAgICAgICAgICAgIHJlZj17KGVsKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5lbCA9IGVsO1xuICAgICAgICAgICAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPXt7IHZpc2liaWxpdHk6IHRoaXMuc3RhdGUubG9hZGluZyA/ICdoaWRkZW4nIDogJ3Zpc2libGUnIH19XG4gICAgICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgPC8+XG4gICAgICAgICk7XG4gICAgfVxufVxuXG5DdXN0b21UYWJsZUNvbnRyb2wucHJvcFR5cGVzID0ge1xuICAgIHNlcnZpY2VOYW1lOiBQcm9wVHlwZXMuc3RyaW5nLmlzUmVxdWlyZWQsXG4gICAgcm93OiBQcm9wVHlwZXMub2JqZWN0LmlzUmVxdWlyZWQsXG4gICAgZmllbGQ6IFByb3BUeXBlcy5zdHJpbmcsXG4gICAgZmlsZU5hbWU6IFByb3BUeXBlcy5zdHJpbmcuaXNSZXF1aXJlZCxcbiAgICB0eXBlOiBQcm9wVHlwZXMuc3RyaW5nLFxufTtcblxuZXhwb3J0IGRlZmF1bHQgQ3VzdG9tVGFibGVDb250cm9sO1xuIiwiaW1wb3J0IFJlYWN0IGZyb20gJ3JlYWN0JztcbmltcG9ydCBETCBmcm9tICdAc3BsdW5rL3JlYWN0LXVpL0RlZmluaXRpb25MaXN0JztcbmltcG9ydCBUYWJsZSBmcm9tICdAc3BsdW5rL3JlYWN0LXVpL1RhYmxlJztcbmltcG9ydCBzdHlsZWQgZnJvbSAnc3R5bGVkLWNvbXBvbmVudHMnO1xuaW1wb3J0IHsgXyB9IGZyb20gJ0BzcGx1bmsvdWktdXRpbHMvaTE4bic7XG5cbmltcG9ydCBDdXN0b21UYWJsZUNvbnRyb2wgZnJvbSAnLi9DdXN0b21UYWJsZUNvbnRyb2wnO1xuaW1wb3J0IHsgZ2V0VW5pZmllZENvbmZpZ3MgfSBmcm9tICcuLi8uLi91dGlsL3V0aWwnO1xuXG5jb25zdCBUYWJsZUNlbGxXcmFwcGVyID0gc3R5bGVkKFRhYmxlLkNlbGwpYFxuICAgIGJvcmRlci10b3A6IG5vbmU7XG5gO1xuXG5mdW5jdGlvbiBnZXRFeHBhbnNpb25Sb3dEYXRhKHJvdywgbW9yZUluZm8pIHtcbiAgICBjb25zdCBEZWZpbml0aW9uTGlzdHMgPSBbXTtcblxuICAgIGlmIChtb3JlSW5mbz8ubGVuZ3RoKSB7XG4gICAgICAgIG1vcmVJbmZvLmZvckVhY2goKHZhbCkgPT4ge1xuICAgICAgICAgICAgY29uc3QgbGFiZWwgPSBfKHZhbC5sYWJlbCk7XG4gICAgICAgICAgICAvLyByZW1vdmUgZXh0cmEgcm93cyB3aGljaCBhcmUgZW1wdHkgaW4gbW9yZUluZm9cbiAgICAgICAgICAgIGlmICh2YWwuZmllbGQgaW4gcm93ICYmIHJvd1t2YWwuZmllbGRdICE9PSBudWxsICYmIHJvd1t2YWwuZmllbGRdICE9PSAnJykge1xuICAgICAgICAgICAgICAgIERlZmluaXRpb25MaXN0cy5wdXNoKDxETC5UZXJtIGtleT17dmFsLmZpZWxkfT57bGFiZWx9PC9ETC5UZXJtPik7XG4gICAgICAgICAgICAgICAgRGVmaW5pdGlvbkxpc3RzLnB1c2goXG4gICAgICAgICAgICAgICAgICAgIDxETC5EZXNjcmlwdGlvbiBrZXk9e2Ake3ZhbC5maWVsZH1fZGVjcmB9PlxuICAgICAgICAgICAgICAgICAgICAgICAge3ZhbC5tYXBwaW5nICYmIHZhbC5tYXBwaW5nW3Jvd1t2YWwuZmllbGRdXVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgID8gdmFsLm1hcHBpbmdbcm93W3ZhbC5maWVsZF1dXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgOiBTdHJpbmcocm93W3ZhbC5maWVsZF0pfVxuICAgICAgICAgICAgICAgICAgICA8L0RMLkRlc2NyaXB0aW9uPlxuICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgIH1cbiAgICByZXR1cm4gRGVmaW5pdGlvbkxpc3RzO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZ2V0RXhwYW5zaW9uUm93KGNvbFNwYW4sIHJvdywgbW9yZUluZm8pIHtcbiAgICBjb25zdCB7IGN1c3RvbVJvdyB9ID0gZ2V0VW5pZmllZENvbmZpZ3MoKS5wYWdlcy5pbnB1dHMudGFibGU7XG5cbiAgICByZXR1cm4gKFxuICAgICAgICA8VGFibGUuUm93IGtleT17YCR7cm93LmlkfS1leHBhbnNpb25gfT5cbiAgICAgICAgICAgIDxUYWJsZUNlbGxXcmFwcGVyIGNvbFNwYW49e2NvbFNwYW59PlxuICAgICAgICAgICAgICAgIHtjdXN0b21Sb3cgJiYgY3VzdG9tUm93LnNyYyA/IChcbiAgICAgICAgICAgICAgICAgICAgPD5cbiAgICAgICAgICAgICAgICAgICAgICAgIHtSZWFjdC5jcmVhdGVFbGVtZW50KEN1c3RvbVRhYmxlQ29udHJvbCwge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNlcnZpY2VOYW1lOiByb3cuc2VydmljZU5hbWUsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcm93LFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZpbGVOYW1lOiBjdXN0b21Sb3cuc3JjLFxuICAgICAgICAgICAgICAgICAgICAgICAgfSl9XG4gICAgICAgICAgICAgICAgICAgIDwvPlxuICAgICAgICAgICAgICAgICkgOiAoXG4gICAgICAgICAgICAgICAgICAgIDxETCB0ZXJtV2lkdGg9ezI1MH0+e2dldEV4cGFuc2lvblJvd0RhdGEocm93LCBtb3JlSW5mbyl9PC9ETD5cbiAgICAgICAgICAgICAgICApfVxuICAgICAgICAgICAgPC9UYWJsZUNlbGxXcmFwcGVyPlxuICAgICAgICA8L1RhYmxlLlJvdz5cbiAgICApO1xufVxuIiwiaW1wb3J0IFJlYWN0LCB7IHVzZUNhbGxiYWNrIH0gZnJvbSAncmVhY3QnO1xuaW1wb3J0IFByb3BUeXBlcyBmcm9tICdwcm9wLXR5cGVzJztcblxuaW1wb3J0IFdhaXRTcGlubmVyIGZyb20gJ0BzcGx1bmsvcmVhY3QtdWkvV2FpdFNwaW5uZXInO1xuaW1wb3J0IFN3aXRjaCBmcm9tICdAc3BsdW5rL3JlYWN0LXVpL1N3aXRjaCc7XG5pbXBvcnQgVGFibGUgZnJvbSAnQHNwbHVuay9yZWFjdC11aS9UYWJsZSc7XG5pbXBvcnQgQnV0dG9uR3JvdXAgZnJvbSAnQHNwbHVuay9yZWFjdC11aS9CdXR0b25Hcm91cCc7XG5pbXBvcnQgVG9vbHRpcCBmcm9tICdAc3BsdW5rL3JlYWN0LXVpL1Rvb2x0aXAnO1xuaW1wb3J0IFBlbmNpbCBmcm9tICdAc3BsdW5rL3JlYWN0LWljb25zL1BlbmNpbCc7XG5pbXBvcnQgQ2xvbmUgZnJvbSAnQHNwbHVuay9yZWFjdC1pY29ucy9DbG9uZSc7XG5pbXBvcnQgVHJhc2ggZnJvbSAnQHNwbHVuay9yZWFjdC1pY29ucy9UcmFzaCc7XG5pbXBvcnQgc3R5bGVkIGZyb20gJ3N0eWxlZC1jb21wb25lbnRzJztcbmltcG9ydCB7IF8gfSBmcm9tICdAc3BsdW5rL3VpLXV0aWxzL2kxOG4nO1xuXG5pbXBvcnQgQ3VzdG9tVGFibGVDb250cm9sIGZyb20gJy4vQ3VzdG9tVGFibGVDb250cm9sJztcbmltcG9ydCB7IEFjdGlvbkJ1dHRvbkNvbXBvbmVudCB9IGZyb20gJy4vQ3VzdG9tVGFibGVTdHlsZSc7XG5cbmNvbnN0IFRhYmxlQ2VsbFdyYXBwZXIgPSBzdHlsZWQoVGFibGUuQ2VsbClgXG4gICAgcGFkZGluZzogMnB4O1xuYDtcblxuY29uc3QgU3dpdGNoV3JhcHBlciA9IHN0eWxlZC5kaXZgXG4gICAgZGlzcGxheTogZmxleDtcblxuICAgIC50b2dnbGVfc3dpdGNoIHtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAxMHB4O1xuICAgIH1cbmA7XG5cbmZ1bmN0aW9uIEN1c3RvbVRhYmxlUm93KHByb3BzKSB7XG4gICAgY29uc3Qge1xuICAgICAgICByb3csXG4gICAgICAgIGNvbHVtbnMsXG4gICAgICAgIGhlYWRlck1hcHBpbmcsXG4gICAgICAgIGhhbmRsZVRvZ2dsZUFjdGlvbkNsaWNrLFxuICAgICAgICBoYW5kbGVFZGl0QWN0aW9uQ2xpY2ssXG4gICAgICAgIGhhbmRsZUNsb25lQWN0aW9uQ2xpY2ssXG4gICAgICAgIGhhbmRsZURlbGV0ZUFjdGlvbkNsaWNrLFxuICAgIH0gPSBwcm9wcztcblxuICAgIGNvbnN0IGdldEN1c3RvbUNlbGwgPSAoY3VzdG9tUm93LCBoZWFkZXIpID0+IHtcbiAgICAgICAgcmV0dXJuIFJlYWN0LmNyZWF0ZUVsZW1lbnQoQ3VzdG9tVGFibGVDb250cm9sLCB7XG4gICAgICAgICAgICBzZXJ2aWNlTmFtZTogcm93LnNlcnZpY2VOYW1lLFxuICAgICAgICAgICAgZmllbGQ6IGhlYWRlci5maWVsZCxcbiAgICAgICAgICAgIHJvdzogY3VzdG9tUm93LFxuICAgICAgICAgICAgZmlsZU5hbWU6IGhlYWRlci5jdXN0b21DZWxsLnNyYyxcbiAgICAgICAgICAgIHR5cGU6IGhlYWRlci5jdXN0b21DZWxsLnR5cGUsXG4gICAgICAgIH0pO1xuICAgIH07XG5cbiAgICBjb25zdCByb3dBY3Rpb25zUHJpbWFyeUJ1dHRvbiA9IHVzZUNhbGxiYWNrKFxuICAgICAgICAoc2VsZWN0ZWRSb3cpID0+IHtcbiAgICAgICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICAgICAgPFRhYmxlQ2VsbFdyYXBwZXIgZGF0YS1jb2x1bW49XCJhY3Rpb25zXCIga2V5PXtzZWxlY3RlZFJvdy5pZH0+XG4gICAgICAgICAgICAgICAgICAgIDxCdXR0b25Hcm91cD5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxUb29sdGlwIGNvbnRlbnQ9e18oJ0VkaXQnKX0+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPEFjdGlvbkJ1dHRvbkNvbXBvbmVudFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhcHBlYXJhbmNlPVwiZmxhdFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGljb249ezxQZW5jaWwgc2NyZWVuUmVhZGVyVGV4dD17bnVsbH0gc2l6ZT17MX0gLz59XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9uQ2xpY2s9eygpID0+IGhhbmRsZUVkaXRBY3Rpb25DbGljayhzZWxlY3RlZFJvdyl9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzTmFtZT1cImVkaXRCdG5cIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L1Rvb2x0aXA+XG4gICAgICAgICAgICAgICAgICAgICAgICA8VG9vbHRpcCBjb250ZW50PXtfKCdDbG9uZScpfT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8QWN0aW9uQnV0dG9uQ29tcG9uZW50XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFwcGVhcmFuY2U9XCJmbGF0XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWNvbj17PENsb25lIHNjcmVlblJlYWRlclRleHQ9e251bGx9IHNpemU9ezF9IC8+fVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvbkNsaWNrPXsoKSA9PiBoYW5kbGVDbG9uZUFjdGlvbkNsaWNrKHNlbGVjdGVkUm93KX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3NOYW1lPVwiY2xvbmVCdG5cIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L1Rvb2x0aXA+XG4gICAgICAgICAgICAgICAgICAgICAgICA8VG9vbHRpcCBjb250ZW50PXtfKCdEZWxldGUnKX0+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPEFjdGlvbkJ1dHRvbkNvbXBvbmVudFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhcHBlYXJhbmNlPVwiZGVzdHJ1Y3RpdmVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpY29uPXs8VHJhc2ggc2NyZWVuUmVhZGVyVGV4dD17bnVsbH0gc2l6ZT17MX0gLz59XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9uQ2xpY2s9eygpID0+IGhhbmRsZURlbGV0ZUFjdGlvbkNsaWNrKHNlbGVjdGVkUm93KX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3NOYW1lPVwiZGVsZXRlQnRuXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9Ub29sdGlwPlxuICAgICAgICAgICAgICAgICAgICA8L0J1dHRvbkdyb3VwPlxuICAgICAgICAgICAgICAgIDwvVGFibGVDZWxsV3JhcHBlcj5cbiAgICAgICAgICAgICk7XG4gICAgICAgIH0sXG4gICAgICAgIFtoYW5kbGVFZGl0QWN0aW9uQ2xpY2ssIGhhbmRsZUNsb25lQWN0aW9uQ2xpY2ssIGhhbmRsZURlbGV0ZUFjdGlvbkNsaWNrXVxuICAgICk7XG5cbiAgICBsZXQgc3RhdHVzQ29udGVudCA9ICdFbmFibGVkJztcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tdW5kZXJzY29yZS1kYW5nbGVcbiAgICBpZiAocm93Ll9fdG9nZ2xlU2hvd1NwaW5uZXIpIHtcbiAgICAgICAgc3RhdHVzQ29udGVudCA9IDxXYWl0U3Bpbm5lciAvPjtcbiAgICB9IGVsc2UgaWYgKHJvdy5kaXNhYmxlZCkge1xuICAgICAgICBzdGF0dXNDb250ZW50ID1cbiAgICAgICAgICAgIGhlYWRlck1hcHBpbmc/LmRpc2FibGVkICYmIGhlYWRlck1hcHBpbmcuZGlzYWJsZWRbcm93LmRpc2FibGVkXVxuICAgICAgICAgICAgICAgID8gaGVhZGVyTWFwcGluZy5kaXNhYmxlZFtyb3cuZGlzYWJsZWRdXG4gICAgICAgICAgICAgICAgOiAnRGlzYWJsZWQnO1xuICAgIH1cblxuICAgIC8vIEZpeCBzZXQgb2YgcHJvcHMgYXJlIHBhc3NlZCB0byBUYWJsZS5Sb3cgZWxlbWVudFxuICAgIHJldHVybiAoXG4gICAgICAgIDw+XG4gICAgICAgICAgICA8VGFibGUuUm93IC8vIG5vc2VtZ3JlcDogdHlwZXNjcmlwdC5yZWFjdC5zZWN1cml0eS5hdWRpdC5yZWFjdC1wcm9wcy1pbmplY3Rpb24ucmVhY3QtcHJvcHMtaW5qZWN0aW9uLCB0eXBlc2NyaXB0LnJlYWN0LmJlc3QtcHJhY3RpY2UucmVhY3QtcHJvcHMtc3ByZWFkaW5nLnJlYWN0LXByb3BzLXNwcmVhZGluZ1xuICAgICAgICAgICAgICAgIGtleT17cm93LmlkfVxuICAgICAgICAgICAgICAgIHsuLi5wcm9wc31cbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICB7Y29sdW1ucyAmJlxuICAgICAgICAgICAgICAgICAgICBjb2x1bW5zLmxlbmd0aCAmJlxuICAgICAgICAgICAgICAgICAgICBjb2x1bW5zLm1hcCgoaGVhZGVyKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICBsZXQgY2VsbEhUTUwgPSAnJztcblxuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGhlYWRlci5jdXN0b21DZWxsICYmIGhlYWRlci5jdXN0b21DZWxsLnNyYykge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNlbGxIVE1MID0gKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8VGFibGUuQ2VsbCBkYXRhLWNvbHVtbj17aGVhZGVyLmZpZWxkfSBrZXk9e2hlYWRlci5maWVsZH0+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7Z2V0Q3VzdG9tQ2VsbChyb3csIGhlYWRlcil9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvVGFibGUuQ2VsbD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICAgICAgICAgICAgfSBlbHNlIGlmIChoZWFkZXIuZmllbGQgPT09ICdkaXNhYmxlZCcpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjZWxsSFRNTCA9IChcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPFRhYmxlLkNlbGwgZGF0YS1jb2x1bW49e2hlYWRlci5maWVsZH0ga2V5PXtoZWFkZXIuZmllbGR9PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPFN3aXRjaFdyYXBwZXI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPFN3aXRjaFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBrZXk9e3Jvdy5uYW1lfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZT17cm93LmRpc2FibGVkfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvbkNsaWNrPXsoKSA9PiBoYW5kbGVUb2dnbGVBY3Rpb25DbGljayhyb3cpfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZWxlY3RlZD17IXJvdy5kaXNhYmxlZH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLXVuZGVyc2NvcmUtZGFuZ2xlXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRpc2FibGVkPXtyb3cuX190b2dnbGVTaG93U3Bpbm5lcn1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYXBwZWFyYW5jZT1cInRvZ2dsZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzTmFtZT1cInRvZ2dsZV9zd2l0Y2hcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZWxlY3RlZExhYmVsPXtfKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaGVhZGVyTWFwcGluZz8uZGlzYWJsZWQ/LmZhbHNlXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPyBoZWFkZXJNYXBwaW5nLmRpc2FibGVkLmZhbHNlXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiAnRW5hYmxlZCdcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdW5zZWxlY3RlZExhYmVsPXtfKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaGVhZGVyTWFwcGluZz8uZGlzYWJsZWQ/LnRydWVcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA/IGhlYWRlck1hcHBpbmcuZGlzYWJsZWQudHJ1ZVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogJ0Rpc2FibGVkJ1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gZGF0YS10ZXN0PVwic3RhdHVzXCI+e3N0YXR1c0NvbnRlbnR9PC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9Td2l0Y2hXcmFwcGVyPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L1RhYmxlLkNlbGw+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH0gZWxzZSBpZiAoaGVhZGVyLmZpZWxkID09PSAnYWN0aW9ucycpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjZWxsSFRNTCA9IHJvd0FjdGlvbnNQcmltYXJ5QnV0dG9uKHJvdyk7XG4gICAgICAgICAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNlbGxIVE1MID0gKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8VGFibGUuQ2VsbCBkYXRhLWNvbHVtbj17aGVhZGVyLmZpZWxkfSBrZXk9e2hlYWRlci5maWVsZH0+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7aGVhZGVyTWFwcGluZ1toZWFkZXIuZmllbGRdICYmXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaGVhZGVyTWFwcGluZ1toZWFkZXIuZmllbGRdLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJvd1toZWFkZXIuZmllbGRdXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPyBoZWFkZXJNYXBwaW5nW2hlYWRlci5maWVsZF1bcm93W2hlYWRlci5maWVsZF1dXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiByb3dbaGVhZGVyLmZpZWxkXX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9UYWJsZS5DZWxsPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gY2VsbEhUTUw7XG4gICAgICAgICAgICAgICAgICAgIH0pfVxuICAgICAgICAgICAgPC9UYWJsZS5Sb3c+XG4gICAgICAgIDwvPlxuICAgICk7XG59XG5cbkN1c3RvbVRhYmxlUm93LnByb3BUeXBlcyA9IHtcbiAgICByb3c6IFByb3BUeXBlcy5hbnksXG4gICAgY29sdW1uczogUHJvcFR5cGVzLmFycmF5LFxuICAgIGhlYWRlck1hcHBpbmc6IFByb3BUeXBlcy5vYmplY3QsXG4gICAgaGFuZGxlVG9nZ2xlQWN0aW9uQ2xpY2s6IFByb3BUeXBlcy5mdW5jLFxuICAgIGhhbmRsZUVkaXRBY3Rpb25DbGljazogUHJvcFR5cGVzLmZ1bmMsXG4gICAgaGFuZGxlQ2xvbmVBY3Rpb25DbGljazogUHJvcFR5cGVzLmZ1bmMsXG4gICAgaGFuZGxlRGVsZXRlQWN0aW9uQ2xpY2s6IFByb3BUeXBlcy5mdW5jLFxufTtcblxuZXhwb3J0IGRlZmF1bHQgUmVhY3QubWVtbyhDdXN0b21UYWJsZVJvdyk7XG4iLCJpbXBvcnQgUmVhY3QsIHsgQ29tcG9uZW50IH0gZnJvbSAncmVhY3QnO1xuaW1wb3J0IFByb3BUeXBlcyBmcm9tICdwcm9wLXR5cGVzJztcbmltcG9ydCBCdXR0b24gZnJvbSAnQHNwbHVuay9yZWFjdC11aS9CdXR0b24nO1xuaW1wb3J0IE1vZGFsIGZyb20gJ0BzcGx1bmsvcmVhY3QtdWkvTW9kYWwnO1xuaW1wb3J0IE1lc3NhZ2UgZnJvbSAnQHNwbHVuay9yZWFjdC11aS9NZXNzYWdlJztcbmltcG9ydCBzdHlsZWQgZnJvbSAnc3R5bGVkLWNvbXBvbmVudHMnO1xuaW1wb3J0IFdhaXRTcGlubmVyIGZyb20gJ0BzcGx1bmsvcmVhY3QtdWkvV2FpdFNwaW5uZXInO1xuaW1wb3J0IHVwZGF0ZSBmcm9tICdpbW11dGFiaWxpdHktaGVscGVyJztcbmltcG9ydCB7IF8gfSBmcm9tICdAc3BsdW5rL3VpLXV0aWxzL2kxOG4nO1xuaW1wb3J0IHsgZ2VuZXJhdGVUb2FzdCB9IGZyb20gJy4uL3V0aWwvdXRpbCc7XG5cbmltcG9ydCB7IGF4aW9zQ2FsbFdyYXBwZXIgfSBmcm9tICcuLi91dGlsL2F4aW9zQ2FsbFdyYXBwZXInO1xuaW1wb3J0IFRhYmxlQ29udGV4dCBmcm9tICcuLi9jb250ZXh0L1RhYmxlQ29udGV4dCc7XG5pbXBvcnQgeyBwYXJzZUVycm9yTXNnLCBnZXRGb3JtYXR0ZWRNZXNzYWdlIH0gZnJvbSAnLi4vdXRpbC9tZXNzYWdlVXRpbCc7XG5pbXBvcnQgeyBQQUdFX0lOUFVUIH0gZnJvbSAnLi4vY29uc3RhbnRzL3BhZ2VzJztcblxuY29uc3QgTW9kYWxXcmFwcGVyID0gc3R5bGVkKE1vZGFsKWBcbiAgICB3aWR0aDogODAwcHg7XG5gO1xuXG5jbGFzcyBEZWxldGVNb2RhbCBleHRlbmRzIENvbXBvbmVudCB7XG4gICAgc3RhdGljIGNvbnRleHRUeXBlID0gVGFibGVDb250ZXh0O1xuXG4gICAgY29uc3RydWN0b3IocHJvcHMpIHtcbiAgICAgICAgc3VwZXIocHJvcHMpO1xuICAgICAgICB0aGlzLnN0YXRlID0geyBpc0RlbGV0aW5nOiBmYWxzZSwgRXJyb3JNc2c6ICcnIH07XG4gICAgfVxuXG4gICAgaGFuZGxlUmVxdWVzdENsb3NlID0gKCkgPT4ge1xuICAgICAgICAvLyBzZXQgRXJyb3JNc2cgdG8gZW1wdHkgc3RyaW5nIG9uIGNsb3NlIG9yIGNhbmNlbFxuICAgICAgICAvLyBzbyB0aGF0IG9uIGFnYWluIG9wZW4gb2YgbW9kYWwgaXQgZG9lcyBub3Qgc2hvdyB0aGUgc2FtZSBFcnJvck1zZ1xuICAgICAgICB0aGlzLnN0YXRlLkVycm9yTXNnID0gJyc7XG4gICAgICAgIHRoaXMucHJvcHMuaGFuZGxlUmVxdWVzdENsb3NlKCk7XG4gICAgfTtcblxuICAgIGhhbmRsZURlbGV0ZSA9ICgpID0+IHtcbiAgICAgICAgdGhpcy5zZXRTdGF0ZShcbiAgICAgICAgICAgIChwcmV2U3RhdGUpID0+IHtcbiAgICAgICAgICAgICAgICByZXR1cm4geyAuLi5wcmV2U3RhdGUsIGlzRGVsZXRpbmc6IHRydWUsIEVycm9yTXNnOiAnJyB9O1xuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICgpID0+IHtcbiAgICAgICAgICAgICAgICBheGlvc0NhbGxXcmFwcGVyKHtcbiAgICAgICAgICAgICAgICAgICAgc2VydmljZU5hbWU6IGAke3RoaXMucHJvcHMuc2VydmljZU5hbWV9LyR7ZW5jb2RlVVJJQ29tcG9uZW50KFxuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5wcm9wcy5zdGFuemFOYW1lXG4gICAgICAgICAgICAgICAgICAgICl9YCxcbiAgICAgICAgICAgICAgICAgICAgY3VzdG9tSGVhZGVyczogeyAnQ29udGVudC1UeXBlJzogJ2FwcGxpY2F0aW9uL3gtd3d3LWZvcm0tdXJsZW5jb2RlZCcgfSxcbiAgICAgICAgICAgICAgICAgICAgbWV0aG9kOiAnZGVsZXRlJyxcbiAgICAgICAgICAgICAgICAgICAgaGFuZGxlRXJyb3I6IGZhbHNlLFxuICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAgICAgICAgIC5jYXRjaCgoZXJyKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBlcnJvclN1Ym1pdE1zZyA9IHBhcnNlRXJyb3JNc2coZXJyKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuc2V0U3RhdGUoeyBFcnJvck1zZzogZXJyb3JTdWJtaXRNc2csIGlzRGVsZXRpbmc6IGZhbHNlIH0pO1xuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIFByb21pc2UucmVqZWN0KGVycik7XG4gICAgICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAgICAgICAgIC50aGVuKCgpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuY29udGV4dC5zZXRSb3dEYXRhKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVwZGF0ZSh0aGlzLmNvbnRleHQucm93RGF0YSwge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbdGhpcy5wcm9wcy5zZXJ2aWNlTmFtZV06IHsgJHVuc2V0OiBbdGhpcy5wcm9wcy5zdGFuemFOYW1lXSB9LFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5zZXRTdGF0ZSh7IGlzRGVsZXRpbmc6IGZhbHNlIH0pO1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5oYW5kbGVSZXF1ZXN0Q2xvc2UoKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGdlbmVyYXRlVG9hc3QoYERlbGV0ZWQgXCIke3RoaXMucHJvcHMuc3RhbnphTmFtZX1cImAsICdzdWNjZXNzJyk7XG4gICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgfVxuICAgICAgICApO1xuICAgIH07XG5cbiAgICAvLyBEaXNwbGF5IGVycm9yIG1lc3NhZ2VcbiAgICBnZW5lcmF0ZUVycm9yTWVzc2FnZSA9ICgpID0+IHtcbiAgICAgICAgaWYgKHRoaXMuc3RhdGUuRXJyb3JNc2cpIHtcbiAgICAgICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICAgICAgPGRpdj5cbiAgICAgICAgICAgICAgICAgICAgPE1lc3NhZ2UgYXBwZWFyYW5jZT1cImZpbGxcIiB0eXBlPVwiZXJyb3JcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIHt0aGlzLnN0YXRlLkVycm9yTXNnfVxuICAgICAgICAgICAgICAgICAgICA8L01lc3NhZ2U+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICApO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBudWxsO1xuICAgIH07XG5cbiAgICByZW5kZXIoKSB7XG4gICAgICAgIGxldCBkZWxldGVNc2c7XG4gICAgICAgIGlmICh0aGlzLnByb3BzLnBhZ2UgPT09IFBBR0VfSU5QVVQpIHtcbiAgICAgICAgICAgIGRlbGV0ZU1zZyA9IGdldEZvcm1hdHRlZE1lc3NhZ2UoMTAzLCBbdGhpcy5wcm9wcy5zdGFuemFOYW1lXSk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBkZWxldGVNc2cgPSBnZXRGb3JtYXR0ZWRNZXNzYWdlKDEwMiwgW3RoaXMucHJvcHMuc3RhbnphTmFtZV0pO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICA8TW9kYWxXcmFwcGVyIG9wZW49e3RoaXMucHJvcHMub3Blbn0+XG4gICAgICAgICAgICAgICAgPE1vZGFsLkhlYWRlclxuICAgICAgICAgICAgICAgICAgICB0aXRsZT17Z2V0Rm9ybWF0dGVkTWVzc2FnZSgxMDEpfVxuICAgICAgICAgICAgICAgICAgICBvblJlcXVlc3RDbG9zZT17dGhpcy5oYW5kbGVSZXF1ZXN0Q2xvc2V9XG4gICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICA8TW9kYWwuQm9keSBjbGFzc05hbWU9XCJkZWxldGVQcm9tcHRcIj5cbiAgICAgICAgICAgICAgICAgICAge3RoaXMuZ2VuZXJhdGVFcnJvck1lc3NhZ2UoKX1cbiAgICAgICAgICAgICAgICAgICAgPHA+e2RlbGV0ZU1zZ308L3A+XG4gICAgICAgICAgICAgICAgPC9Nb2RhbC5Cb2R5PlxuICAgICAgICAgICAgICAgIDxNb2RhbC5Gb290ZXI+XG4gICAgICAgICAgICAgICAgICAgIDxCdXR0b25cbiAgICAgICAgICAgICAgICAgICAgICAgIGFwcGVhcmFuY2U9XCJzZWNvbmRhcnlcIlxuICAgICAgICAgICAgICAgICAgICAgICAgb25DbGljaz17dGhpcy5oYW5kbGVSZXF1ZXN0Q2xvc2V9XG4gICAgICAgICAgICAgICAgICAgICAgICBsYWJlbD17XygnQ2FuY2VsJyl9XG4gICAgICAgICAgICAgICAgICAgICAgICBkaXNhYmxlZD17dGhpcy5zdGF0ZS5pc0RlbGV0aW5nfVxuICAgICAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgICAgICA8QnV0dG9uXG4gICAgICAgICAgICAgICAgICAgICAgICBhcHBlYXJhbmNlPVwicHJpbWFyeVwiXG4gICAgICAgICAgICAgICAgICAgICAgICBsYWJlbD17dGhpcy5zdGF0ZS5pc0RlbGV0aW5nID8gPFdhaXRTcGlubmVyIC8+IDogXygnRGVsZXRlJyl9XG4gICAgICAgICAgICAgICAgICAgICAgICBvbkNsaWNrPXt0aGlzLmhhbmRsZURlbGV0ZX1cbiAgICAgICAgICAgICAgICAgICAgICAgIGRpc2FibGVkPXt0aGlzLnN0YXRlLmlzRGVsZXRpbmd9XG4gICAgICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgPC9Nb2RhbC5Gb290ZXI+XG4gICAgICAgICAgICA8L01vZGFsV3JhcHBlcj5cbiAgICAgICAgKTtcbiAgICB9XG59XG5cbkRlbGV0ZU1vZGFsLnByb3BUeXBlcyA9IHtcbiAgICBwYWdlOiBQcm9wVHlwZXMuc3RyaW5nLmlzUmVxdWlyZWQsXG4gICAgb3BlbjogUHJvcFR5cGVzLmJvb2wsXG4gICAgaGFuZGxlUmVxdWVzdENsb3NlOiBQcm9wVHlwZXMuZnVuYyxcbiAgICBzZXJ2aWNlTmFtZTogUHJvcFR5cGVzLnN0cmluZyxcbiAgICBzdGFuemFOYW1lOiBQcm9wVHlwZXMuc3RyaW5nLFxufTtcblxuZXhwb3J0IGRlZmF1bHQgRGVsZXRlTW9kYWw7XG4iLCJpbXBvcnQgUmVhY3QsIHsgdXNlQ2FsbGJhY2ssIHVzZUVmZmVjdCwgbWVtbywgdXNlU3RhdGUsIHVzZUNvbnRleHQgfSBmcm9tICdyZWFjdCc7XG5pbXBvcnQgUHJvcFR5cGVzIGZyb20gJ3Byb3AtdHlwZXMnO1xuXG5pbXBvcnQgVGFibGUgZnJvbSAnQHNwbHVuay9yZWFjdC11aS9UYWJsZSc7XG5pbXBvcnQgeyBfIH0gZnJvbSAnQHNwbHVuay91aS11dGlscy9pMThuJztcblxuaW1wb3J0IHVzZVF1ZXJ5IGZyb20gJy4uLy4uL2hvb2tzL3VzZVF1ZXJ5JztcbmltcG9ydCB7IE1PREVfQ0xPTkUsIE1PREVfRURJVCB9IGZyb20gJy4uLy4uL2NvbnN0YW50cy9tb2Rlcyc7XG5pbXBvcnQgeyBQQUdFX0lOUFVUIH0gZnJvbSAnLi4vLi4vY29uc3RhbnRzL3BhZ2VzJztcbmltcG9ydCB7IGdldFVuaWZpZWRDb25maWdzIH0gZnJvbSAnLi4vLi4vdXRpbC91dGlsJztcbmltcG9ydCB7IGdldEV4cGFuc2lvblJvdyB9IGZyb20gJy4vVGFibGVFeHBhbnNpb25Sb3cnO1xuaW1wb3J0IHsgU1RZTEVfTU9EQUwsIFNUWUxFX1BBR0UgfSBmcm9tICcuLi8uLi9jb25zdGFudHMvZGlhbG9nU3R5bGVzJztcbmltcG9ydCBDdXN0b21UYWJsZVJvdyBmcm9tICcuL0N1c3RvbVRhYmxlUm93JztcbmltcG9ydCBFbnRpdHlNb2RhbCBmcm9tICcuLi9FbnRpdHlNb2RhbCc7XG5pbXBvcnQgRGVsZXRlTW9kYWwgZnJvbSAnLi4vRGVsZXRlTW9kYWwnO1xuaW1wb3J0IFRhYmxlQ29udGV4dCBmcm9tICcuLi8uLi9jb250ZXh0L1RhYmxlQ29udGV4dCc7XG5pbXBvcnQgeyBOb1JlY29yZHNEaXYgfSBmcm9tICcuL0N1c3RvbVRhYmxlU3R5bGUnO1xuXG5mdW5jdGlvbiBDdXN0b21UYWJsZSh7XG4gICAgcGFnZSxcbiAgICBzZXJ2aWNlTmFtZSxcbiAgICBkYXRhLFxuICAgIGhhbmRsZVRvZ2dsZUFjdGlvbkNsaWNrLFxuICAgIGhhbmRsZU9wZW5QYWdlU3R5bGVEaWFsb2csXG4gICAgaGFuZGxlU29ydCxcbiAgICBzb3J0RGlyLFxuICAgIHNvcnRLZXksXG59KSB7XG4gICAgY29uc3QgdW5pZmllZENvbmZpZ3MgPSBnZXRVbmlmaWVkQ29uZmlncygpO1xuICAgIGNvbnN0IFtlbnRpdHlNb2RhbCwgc2V0RW50aXR5TW9kYWxdID0gdXNlU3RhdGUoeyBvcGVuOiBmYWxzZSB9KTtcbiAgICBjb25zdCBbZGVsZXRlTW9kYWwsIHNldERlbGV0ZU1vZGFsXSA9IHVzZVN0YXRlKHsgb3BlbjogZmFsc2UgfSk7XG5cbiAgICBjb25zdCB7IHJvd0RhdGEgfSA9IHVzZUNvbnRleHQoVGFibGVDb250ZXh0KTtcblxuICAgIGNvbnN0IHRhYmxlQ29uZmlnID1cbiAgICAgICAgcGFnZSA9PT0gUEFHRV9JTlBVVFxuICAgICAgICAgICAgPyB1bmlmaWVkQ29uZmlncy5wYWdlcy5pbnB1dHMudGFibGVcbiAgICAgICAgICAgIDogdW5pZmllZENvbmZpZ3MucGFnZXMuY29uZmlndXJhdGlvbi50YWJzLmZpbHRlcigoeCkgPT4geC5uYW1lID09PSBzZXJ2aWNlTmFtZSlbMF1cbiAgICAgICAgICAgICAgICAgIC50YWJsZTtcbiAgICBjb25zdCB7IG1vcmVJbmZvLCBoZWFkZXIgfSA9IHRhYmxlQ29uZmlnO1xuICAgIGNvbnN0IGhlYWRlcnMgPSB0YWJsZUNvbmZpZy5oZWFkZXI7XG5cbiAgICBjb25zdCBoZWFkZXJNYXBwaW5nID0ge307XG4gICAgaGVhZGVyLmZvckVhY2goKHgpID0+IHtcbiAgICAgICAgaGVhZGVyTWFwcGluZ1t4LmZpZWxkXSA9IHgubWFwcGluZztcbiAgICB9KTtcblxuICAgIGNvbnN0IHNlcnZpY2VUb1N0eWxlTWFwID0ge307XG4gICAgaWYgKHBhZ2UgPT09IFBBR0VfSU5QVVQpIHtcbiAgICAgICAgdW5pZmllZENvbmZpZ3MucGFnZXMuaW5wdXRzLnNlcnZpY2VzLmZvckVhY2goKHgpID0+IHtcbiAgICAgICAgICAgIHNlcnZpY2VUb1N0eWxlTWFwW3gubmFtZV0gPSB4LnN0eWxlID09PSBTVFlMRV9QQUdFID8gU1RZTEVfUEFHRSA6IFNUWUxFX01PREFMO1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBjb25zdCBxdWVyeSA9IHVzZVF1ZXJ5KCk7XG5cbiAgICAvLyBSdW4gb25seSBvbmNlIHdoZW4gY29tcG9uZW50IGlzIG1vdW50ZWQgdG8gbG9hZCBjb21wb25lbnQgYmFzZWQgb24gaW5pdGlhbCBxdWVyeSBwYXJhbXNcbiAgICAvLyBhbmQgd2hlbiBxdWVyeSBwYXJhbXMgYXJlIHVwZGF0ZWRcbiAgICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgICAgICAvLyBPbmx5IHJ1biB3aGVuIHRhYiBtYXRjaGVzIHNlcnZpY2VOYW1lIG9yIGlmIGluIGlucHV0IHBhZ2Ugd2hlcmUgc2VydmljZU5hbWUgaXMgdW5kZWZpbmVkXG4gICAgICAgIGlmIChxdWVyeSAmJiAocXVlcnkuZ2V0KCd0YWInKSA9PT0gc2VydmljZU5hbWUgfHwgdHlwZW9mIHNlcnZpY2VOYW1lID09PSAndW5kZWZpbmVkJykpIHtcbiAgICAgICAgICAgIC8vIE9wZW4gbW9kYWwgd2hlbiByZWNvcmQgaXMgYXZhaWxhYmxlIGluIHF1ZXJ5IHBhcmFtcyBhbmQgbW9kYWwgaXMgbm90IG9wZW5cbiAgICAgICAgICAgIGlmIChxdWVyeS5nZXQoJ3JlY29yZCcpICYmICFlbnRpdHlNb2RhbC5vcGVuKSB7XG4gICAgICAgICAgICAgICAgY29uc3Qgc2VydmljZUtleSA9IE9iamVjdC5rZXlzKHJvd0RhdGEpLmZpbmQoXG4gICAgICAgICAgICAgICAgICAgICh4KSA9PiB0eXBlb2Ygcm93RGF0YVt4XVtxdWVyeS5nZXQoJ3JlY29yZCcpXSAhPT0gJ3VuZGVmaW5lZCdcbiAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICAgIGlmIChzZXJ2aWNlS2V5KSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IHJvdyA9IHJvd0RhdGFbc2VydmljZUtleV1bcXVlcnkuZ2V0KCdyZWNvcmQnKV07XG4gICAgICAgICAgICAgICAgICAgIHNldEVudGl0eU1vZGFsKHtcbiAgICAgICAgICAgICAgICAgICAgICAgIC4uLmVudGl0eU1vZGFsLFxuICAgICAgICAgICAgICAgICAgICAgICAgb3BlbjogdHJ1ZSxcbiAgICAgICAgICAgICAgICAgICAgICAgIHNlcnZpY2VOYW1lOiByb3cuc2VydmljZU5hbWUsXG4gICAgICAgICAgICAgICAgICAgICAgICBzdGFuemFOYW1lOiByb3cubmFtZSxcbiAgICAgICAgICAgICAgICAgICAgICAgIG1vZGU6IE1PREVfRURJVCxcbiAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSBlbHNlIGlmICghcXVlcnkuZ2V0KCdyZWNvcmQnKSAmJiBlbnRpdHlNb2RhbC5vcGVuKSB7XG4gICAgICAgICAgICAgICAgLy8gQ2xvc2UgbW9kYWwgaWYgcmVjb3JkIHF1ZXJ5IHBhcmFtIGlzIG5vdCBhdmFpbGFibGUgYW5kIG1vZGFsIGlzIG9wZW5cbiAgICAgICAgICAgICAgICAvLyBOT1RFOiBUaGlzIHNob3VsZCBvbmx5IGJlIGV4ZWN1dGVkIGluIGNhc2Ugb2YgTU9ERV9FRElUIHdoaWNoIGlzIGhhbmRsZWQgYnlcbiAgICAgICAgICAgICAgICAvLyB1c2VFZmZlY3QgZGVwZW5kZW5jeSB3aGljaCB3aWxsIG9ubHkgYmUgY2hhbmdlZCBpbiBjYXNlIG9mIGVkaXRpbmcgZW50aXR5XG4gICAgICAgICAgICAgICAgc2V0RW50aXR5TW9kYWwoeyAuLi5lbnRpdHlNb2RhbCwgb3BlbjogZmFsc2UgfSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIHJlYWN0LWhvb2tzL2V4aGF1c3RpdmUtZGVwc1xuICAgIH0sIFtdKTtcblxuICAgIGNvbnN0IGhhbmRsZUVudGl0eUNsb3NlID0gKCkgPT4ge1xuICAgICAgICBzZXRFbnRpdHlNb2RhbCh7IC4uLmVudGl0eU1vZGFsLCBvcGVuOiBmYWxzZSB9KTtcbiAgICB9O1xuXG4gICAgY29uc3QgaGFuZGxlRWRpdEFjdGlvbkNsaWNrID0gdXNlQ2FsbGJhY2soXG4gICAgICAgIChzZWxlY3RlZFJvdykgPT4ge1xuICAgICAgICAgICAgaWYgKHNlcnZpY2VUb1N0eWxlTWFwW3NlbGVjdGVkUm93LnNlcnZpY2VOYW1lXSA9PT0gJ3BhZ2UnKSB7XG4gICAgICAgICAgICAgICAgaGFuZGxlT3BlblBhZ2VTdHlsZURpYWxvZyhzZWxlY3RlZFJvdywgTU9ERV9FRElUKTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgc2V0RW50aXR5TW9kYWwoe1xuICAgICAgICAgICAgICAgICAgICAuLi5lbnRpdHlNb2RhbCxcbiAgICAgICAgICAgICAgICAgICAgb3BlbjogdHJ1ZSxcbiAgICAgICAgICAgICAgICAgICAgc2VydmljZU5hbWU6IHNlbGVjdGVkUm93LnNlcnZpY2VOYW1lLFxuICAgICAgICAgICAgICAgICAgICBzdGFuemFOYW1lOiBzZWxlY3RlZFJvdy5uYW1lLFxuICAgICAgICAgICAgICAgICAgICBtb2RlOiBNT0RFX0VESVQsXG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0sXG4gICAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSByZWFjdC1ob29rcy9leGhhdXN0aXZlLWRlcHNcbiAgICAgICAgW2VudGl0eU1vZGFsXVxuICAgICk7XG5cbiAgICBjb25zdCBoYW5kbGVEZWxldGVDbG9zZSA9ICgpID0+IHtcbiAgICAgICAgc2V0RGVsZXRlTW9kYWwoeyAuLi5kZWxldGVNb2RhbCwgb3BlbjogZmFsc2UgfSk7XG4gICAgfTtcblxuICAgIGNvbnN0IGhhbmRsZUNsb25lQWN0aW9uQ2xpY2sgPSB1c2VDYWxsYmFjayhcbiAgICAgICAgKHNlbGVjdGVkUm93KSA9PiB7XG4gICAgICAgICAgICBpZiAoc2VydmljZVRvU3R5bGVNYXBbc2VsZWN0ZWRSb3cuc2VydmljZU5hbWVdID09PSAncGFnZScpIHtcbiAgICAgICAgICAgICAgICBoYW5kbGVPcGVuUGFnZVN0eWxlRGlhbG9nKHNlbGVjdGVkUm93LCBNT0RFX0NMT05FKTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgc2V0RW50aXR5TW9kYWwoe1xuICAgICAgICAgICAgICAgICAgICAuLi5lbnRpdHlNb2RhbCxcbiAgICAgICAgICAgICAgICAgICAgb3BlbjogdHJ1ZSxcbiAgICAgICAgICAgICAgICAgICAgc2VydmljZU5hbWU6IHNlbGVjdGVkUm93LnNlcnZpY2VOYW1lLFxuICAgICAgICAgICAgICAgICAgICBzdGFuemFOYW1lOiBzZWxlY3RlZFJvdy5uYW1lLFxuICAgICAgICAgICAgICAgICAgICBtb2RlOiBNT0RFX0NMT05FLFxuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgfVxuICAgICAgICB9LFxuICAgICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgcmVhY3QtaG9va3MvZXhoYXVzdGl2ZS1kZXBzXG4gICAgICAgIFtlbnRpdHlNb2RhbF1cbiAgICApO1xuXG4gICAgY29uc3QgaGFuZGxlRGVsZXRlQWN0aW9uQ2xpY2sgPSB1c2VDYWxsYmFjayhcbiAgICAgICAgKHNlbGVjdGVkUm93KSA9PiB7XG4gICAgICAgICAgICBzZXREZWxldGVNb2RhbCh7XG4gICAgICAgICAgICAgICAgLi4uZGVsZXRlTW9kYWwsXG4gICAgICAgICAgICAgICAgb3BlbjogdHJ1ZSxcbiAgICAgICAgICAgICAgICBzdGFuemFOYW1lOiBzZWxlY3RlZFJvdy5uYW1lLFxuICAgICAgICAgICAgICAgIHNlcnZpY2VOYW1lOiBzZWxlY3RlZFJvdy5zZXJ2aWNlTmFtZSxcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9LFxuICAgICAgICBbZGVsZXRlTW9kYWxdXG4gICAgKTtcblxuICAgIGNvbnN0IGdlbmVyYXRlTW9kYWxEaWFsb2cgPSAoKSA9PiB7XG4gICAgICAgIGlmIChlbnRpdHlNb2RhbC5vcGVuKSB7XG4gICAgICAgICAgICBsZXQgbGFiZWw7XG4gICAgICAgICAgICBpZiAocGFnZSA9PT0gJ2lucHV0cycpIHtcbiAgICAgICAgICAgICAgICBjb25zdCB7IHNlcnZpY2VzIH0gPSB1bmlmaWVkQ29uZmlncy5wYWdlcz8uaW5wdXRzO1xuICAgICAgICAgICAgICAgIGxhYmVsID0gc2VydmljZXMuZmluZCgoeCkgPT4geC5uYW1lID09PSBlbnRpdHlNb2RhbC5zZXJ2aWNlTmFtZSk/LnRpdGxlO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICBjb25zdCB7IHRhYnMgfSA9IHVuaWZpZWRDb25maWdzLnBhZ2VzPy5jb25maWd1cmF0aW9uO1xuICAgICAgICAgICAgICAgIGxhYmVsID0gdGFicy5maW5kKCh4KSA9PiB4Lm5hbWUgPT09IGVudGl0eU1vZGFsLnNlcnZpY2VOYW1lKT8udGl0bGU7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICByZXR1cm4gKFxuICAgICAgICAgICAgICAgIDxFbnRpdHlNb2RhbFxuICAgICAgICAgICAgICAgICAgICBwYWdlPXtwYWdlfVxuICAgICAgICAgICAgICAgICAgICBvcGVuPXtlbnRpdHlNb2RhbC5vcGVufVxuICAgICAgICAgICAgICAgICAgICBoYW5kbGVSZXF1ZXN0Q2xvc2U9e2hhbmRsZUVudGl0eUNsb3NlfVxuICAgICAgICAgICAgICAgICAgICBzZXJ2aWNlTmFtZT17ZW50aXR5TW9kYWwuc2VydmljZU5hbWV9XG4gICAgICAgICAgICAgICAgICAgIHN0YW56YU5hbWU9e2VudGl0eU1vZGFsLnN0YW56YU5hbWV9XG4gICAgICAgICAgICAgICAgICAgIG1vZGU9e2VudGl0eU1vZGFsLm1vZGV9XG4gICAgICAgICAgICAgICAgICAgIGZvcm1MYWJlbD17XG4gICAgICAgICAgICAgICAgICAgICAgICBlbnRpdHlNb2RhbC5tb2RlID09PSBNT0RFX0NMT05FID8gXyhgQ2xvbmUgYCkgKyBsYWJlbCA6IF8oYFVwZGF0ZSBgKSArIGxhYmVsXG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgKTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gbnVsbDtcbiAgICB9O1xuXG4gICAgY29uc3QgZ2VuZXJhdGVEZWxldGVEaWFsb2cgPSAoKSA9PiB7XG4gICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICA8RGVsZXRlTW9kYWxcbiAgICAgICAgICAgICAgICBwYWdlPXtwYWdlfVxuICAgICAgICAgICAgICAgIG9wZW49e2RlbGV0ZU1vZGFsLm9wZW59XG4gICAgICAgICAgICAgICAgaGFuZGxlUmVxdWVzdENsb3NlPXtoYW5kbGVEZWxldGVDbG9zZX1cbiAgICAgICAgICAgICAgICBzZXJ2aWNlTmFtZT17ZGVsZXRlTW9kYWwuc2VydmljZU5hbWV9XG4gICAgICAgICAgICAgICAgc3RhbnphTmFtZT17ZGVsZXRlTW9kYWwuc3RhbnphTmFtZX1cbiAgICAgICAgICAgIC8+XG4gICAgICAgICk7XG4gICAgfTtcblxuICAgIGNvbnN0IGdlbmVyYXRlQ29sdW1ucyA9ICgpID0+IHtcbiAgICAgICAgY29uc3QgY29sdW1uID0gW107XG4gICAgICAgIGlmIChoZWFkZXJzICYmIGhlYWRlcnMubGVuZ3RoKSB7XG4gICAgICAgICAgICBoZWFkZXJzLmZvckVhY2goKGl0ZW0pID0+IHtcbiAgICAgICAgICAgICAgICBjb2x1bW4ucHVzaCh7XG4gICAgICAgICAgICAgICAgICAgIC4uLml0ZW0sXG4gICAgICAgICAgICAgICAgICAgIHNvcnRLZXk6IGl0ZW0uZmllbGQgfHwgbnVsbCxcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgICAgIGNvbHVtbi5wdXNoKHsgbGFiZWw6ICdBY3Rpb25zJywgZmllbGQ6ICdhY3Rpb25zJywgc29ydEtleTogJycgfSk7XG4gICAgICAgIHJldHVybiBjb2x1bW47XG4gICAgfTtcblxuICAgIGNvbnN0IGNvbHVtbnMgPSBnZW5lcmF0ZUNvbHVtbnMoKTtcblxuICAgIGNvbnN0IGdldFRhYmxlSGVhZGVyQ2VsbCA9IHVzZUNhbGxiYWNrKCgpID0+IHtcbiAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgIDxUYWJsZS5IZWFkPlxuICAgICAgICAgICAgICAgIHtjb2x1bW5zICYmXG4gICAgICAgICAgICAgICAgICAgIGNvbHVtbnMubGVuZ3RoICYmXG4gICAgICAgICAgICAgICAgICAgIGNvbHVtbnMubWFwKChoZWFkRGF0YSkgPT4gKFxuICAgICAgICAgICAgICAgICAgICAgICAgPFRhYmxlLkhlYWRDZWxsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAga2V5PXtoZWFkRGF0YS5maWVsZH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBvblNvcnQ9e2hlYWREYXRhLnNvcnRLZXkgPyBoYW5kbGVTb3J0IDogbnVsbH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBzb3J0S2V5PXtoZWFkRGF0YS5zb3J0S2V5ID8gaGVhZERhdGEuc29ydEtleSA6IG51bGx9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgc29ydERpcj17XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhlYWREYXRhLnNvcnRLZXkgJiYgaGVhZERhdGEuc29ydEtleSA9PT0gc29ydEtleSA/IHNvcnREaXIgOiAnbm9uZSdcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAge2hlYWREYXRhLmxhYmVsfVxuICAgICAgICAgICAgICAgICAgICAgICAgPC9UYWJsZS5IZWFkQ2VsbD5cbiAgICAgICAgICAgICAgICAgICAgKSl9XG4gICAgICAgICAgICA8L1RhYmxlLkhlYWQ+XG4gICAgICAgICk7XG4gICAgfSwgW2NvbHVtbnMsIGhhbmRsZVNvcnQsIHNvcnREaXIsIHNvcnRLZXldKTtcblxuICAgIGNvbnN0IGdldFRhYmxlQm9keSA9ICgpID0+IHtcbiAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgIDxUYWJsZS5Cb2R5PlxuICAgICAgICAgICAgICAgIHtkYXRhICYmXG4gICAgICAgICAgICAgICAgICAgIGRhdGEubGVuZ3RoICYmXG4gICAgICAgICAgICAgICAgICAgIGRhdGEubWFwKChyb3cpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPEN1c3RvbVRhYmxlUm93IC8vIG5vc2VtZ3JlcDogdHlwZXNjcmlwdC5yZWFjdC5iZXN0LXByYWN0aWNlLnJlYWN0LXByb3BzLXNwcmVhZGluZy5yZWFjdC1wcm9wcy1zcHJlYWRpbmdcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAga2V5PXtyb3cuaWR9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJvdz17cm93fVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb2x1bW5zPXtjb2x1bW5zfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBoZWFkZXJNYXBwaW5nPXtoZWFkZXJNYXBwaW5nfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7Li4ue1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaGFuZGxlRWRpdEFjdGlvbkNsaWNrLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaGFuZGxlQ2xvbmVBY3Rpb25DbGljayxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhhbmRsZURlbGV0ZUFjdGlvbkNsaWNrLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBoYW5kbGVUb2dnbGVBY3Rpb25DbGljaz17aGFuZGxlVG9nZ2xlQWN0aW9uQ2xpY2t9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsuLi4obW9yZUluZm9cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID8ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZXhwYW5zaW9uUm93OiBnZXRFeHBhbnNpb25Sb3coXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29sdW1ucy5sZW5ndGgsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcm93LFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1vcmVJbmZvXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IHt9KX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICAgICAgfSl9XG4gICAgICAgICAgICA8L1RhYmxlLkJvZHk+XG4gICAgICAgICk7XG4gICAgfTtcblxuICAgIHJldHVybiAoXG4gICAgICAgIDw+XG4gICAgICAgICAgICB7Y29sdW1ucyAmJiBjb2x1bW5zLmxlbmd0aCAmJiAoXG4gICAgICAgICAgICAgICAgPFRhYmxlIC8vIG5vc2VtZ3JlcDogdHlwZXNjcmlwdC5yZWFjdC5iZXN0LXByYWN0aWNlLnJlYWN0LXByb3BzLXNwcmVhZGluZy5yZWFjdC1wcm9wcy1zcHJlYWRpbmdcbiAgICAgICAgICAgICAgICAgICAgc3RyaXBlUm93c1xuICAgICAgICAgICAgICAgICAgICB7Li4uKG1vcmVJbmZvID8geyByb3dFeHBhbnNpb246ICdzaW5nbGUnIH0gOiB7fSl9XG4gICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICB7Z2V0VGFibGVIZWFkZXJDZWxsKCl9XG4gICAgICAgICAgICAgICAgICAgIHtnZXRUYWJsZUJvZHkoKX1cbiAgICAgICAgICAgICAgICA8L1RhYmxlPlxuICAgICAgICAgICAgKX1cbiAgICAgICAgICAgIHshZGF0YS5sZW5ndGggPyA8Tm9SZWNvcmRzRGl2Pk5vIHJlY29yZHMgZm91bmQ8L05vUmVjb3Jkc0Rpdj4gOiBudWxsfVxuICAgICAgICAgICAge2dlbmVyYXRlTW9kYWxEaWFsb2coKX1cbiAgICAgICAgICAgIHtnZW5lcmF0ZURlbGV0ZURpYWxvZygpfVxuICAgICAgICA8Lz5cbiAgICApO1xufVxuXG5DdXN0b21UYWJsZS5wcm9wVHlwZXMgPSB7XG4gICAgcGFnZTogUHJvcFR5cGVzLnN0cmluZy5pc1JlcXVpcmVkLFxuICAgIHNlcnZpY2VOYW1lOiBQcm9wVHlwZXMuc3RyaW5nLFxuICAgIGRhdGE6IFByb3BUeXBlcy5hcnJheS5pc1JlcXVpcmVkLFxuICAgIGhhbmRsZVRvZ2dsZUFjdGlvbkNsaWNrOiBQcm9wVHlwZXMuZnVuYyxcbiAgICBoYW5kbGVPcGVuUGFnZVN0eWxlRGlhbG9nOiBQcm9wVHlwZXMuZnVuYyxcbiAgICBoYW5kbGVTb3J0OiBQcm9wVHlwZXMuZnVuYyxcbiAgICBzb3J0RGlyOiBQcm9wVHlwZXMuc3RyaW5nLFxuICAgIHNvcnRLZXk6IFByb3BUeXBlcy5zdHJpbmcsXG59O1xuXG5leHBvcnQgZGVmYXVsdCBtZW1vKEN1c3RvbVRhYmxlKTtcbiIsImltcG9ydCBSZWFjdCBmcm9tICdyZWFjdCc7XG5pbXBvcnQgVGV4dCBmcm9tICdAc3BsdW5rL3JlYWN0LXVpL1RleHQnO1xuaW1wb3J0IFByb3BUeXBlcyBmcm9tICdwcm9wLXR5cGVzJztcblxuZnVuY3Rpb24gVGFibGVGaWx0ZXIocHJvcHMpIHtcbiAgICBjb25zdCBkZWJvdW5jZSA9IChmdW5jLCB3YWl0KSA9PiB7XG4gICAgICAgIGxldCB0aW1lb3V0O1xuXG4gICAgICAgIC8vIFRoaXMgaXMgdGhlIGZ1bmN0aW9uIHRoYXQgaXMgcmV0dXJuZWQgYW5kIHdpbGwgYmUgZXhlY3V0ZWQgbWFueSB0aW1lc1xuICAgICAgICAvLyBXZSBzcHJlYWQgKC4uLmFyZ3MpIHRvIGNhcHR1cmUgYW55IG51bWJlciBvZiBwYXJhbWV0ZXJzIHdlIHdhbnQgdG8gcGFzc1xuICAgICAgICByZXR1cm4gZnVuY3Rpb24gZXhlY3V0ZWRGdW5jdGlvbiguLi5hcmdzKSB7XG4gICAgICAgICAgICAvLyBUaGUgY2FsbGJhY2sgZnVuY3Rpb24gdG8gYmUgZXhlY3V0ZWQgYWZ0ZXJcbiAgICAgICAgICAgIC8vIHRoZSBkZWJvdW5jZSB0aW1lIGhhcyBlbGFwc2VkXG4gICAgICAgICAgICBjb25zdCBsYXRlciA9ICgpID0+IHtcbiAgICAgICAgICAgICAgICAvLyBudWxsIHRpbWVvdXQgdG8gaW5kaWNhdGUgdGhlIGRlYm91bmNlIGVuZGVkXG4gICAgICAgICAgICAgICAgdGltZW91dCA9IG51bGw7XG5cbiAgICAgICAgICAgICAgICAvLyBFeGVjdXRlIHRoZSBjYWxsYmFja1xuICAgICAgICAgICAgICAgIGZ1bmMoLi4uYXJncyk7XG4gICAgICAgICAgICB9O1xuICAgICAgICAgICAgLy8gVGhpcyB3aWxsIHJlc2V0IHRoZSB3YWl0aW5nIGV2ZXJ5IGZ1bmN0aW9uIGV4ZWN1dGlvbi5cbiAgICAgICAgICAgIC8vIFRoaXMgaXMgdGhlIHN0ZXAgdGhhdCBwcmV2ZW50cyB0aGUgZnVuY3Rpb24gZnJvbVxuICAgICAgICAgICAgLy8gYmVpbmcgZXhlY3V0ZWQgYmVjYXVzZSBpdCB3aWxsIG5ldmVyIHJlYWNoIHRoZVxuICAgICAgICAgICAgLy8gaW5zaWRlIG9mIHRoZSBwcmV2aW91cyBzZXRUaW1lb3V0XG4gICAgICAgICAgICBjbGVhclRpbWVvdXQodGltZW91dCk7XG5cbiAgICAgICAgICAgIC8vIFJlc3RhcnQgdGhlIGRlYm91bmNlIHdhaXRpbmcgcGVyaW9kLlxuICAgICAgICAgICAgLy8gc2V0VGltZW91dCByZXR1cm5zIGEgdHJ1dGh5IHZhbHVlXG4gICAgICAgICAgICB0aW1lb3V0ID0gc2V0VGltZW91dChsYXRlciwgd2FpdCk7XG4gICAgICAgIH07XG4gICAgfTtcblxuICAgIHJldHVybiAoXG4gICAgICAgIDxUZXh0XG4gICAgICAgICAgICBhcHBlYXJhbmNlPVwic2VhcmNoXCJcbiAgICAgICAgICAgIHBsYWNlaG9sZGVyPVwiZmlsdGVyXCJcbiAgICAgICAgICAgIG9uQ2hhbmdlPXtkZWJvdW5jZShwcm9wcy5oYW5kbGVDaGFuZ2UsIDIwMCl9XG4gICAgICAgIC8+XG4gICAgKTtcbn1cblxuVGFibGVGaWx0ZXIucHJvcFR5cGVzID0ge1xuICAgIGhhbmRsZUNoYW5nZTogUHJvcFR5cGVzLmZ1bmMsXG59O1xuXG5leHBvcnQgZGVmYXVsdCBUYWJsZUZpbHRlcjtcbiIsImltcG9ydCBSZWFjdCwgeyB1c2VDb250ZXh0IH0gZnJvbSAncmVhY3QnO1xuaW1wb3J0IFByb3BUeXBlcyBmcm9tICdwcm9wLXR5cGVzJztcbmltcG9ydCBTZWxlY3QgZnJvbSAnQHNwbHVuay9yZWFjdC11aS9TZWxlY3QnO1xuaW1wb3J0IEJ1dHRvbiBmcm9tICdAc3BsdW5rL3JlYWN0LXVpL0J1dHRvbic7XG5pbXBvcnQgUGFnaW5hdG9yIGZyb20gJ0BzcGx1bmsvcmVhY3QtdWkvUGFnaW5hdG9yJztcbmltcG9ydCBzdHlsZWQgZnJvbSAnc3R5bGVkLWNvbXBvbmVudHMnO1xuaW1wb3J0IHsgXyB9IGZyb20gJ0BzcGx1bmsvdWktdXRpbHMvaTE4bic7XG5cbmltcG9ydCBUYWJsZUZpbHRlciBmcm9tICcuL1RhYmxlRmlsdGVyJztcbmltcG9ydCBUYWJsZUNvbnRleHQgZnJvbSAnLi4vLi4vY29udGV4dC9UYWJsZUNvbnRleHQnO1xuaW1wb3J0IHsgVGFibGVTZWxlY3RCb3hXcmFwcGVyIH0gZnJvbSAnLi9DdXN0b21UYWJsZVN0eWxlJztcbmltcG9ydCB7IFBBR0VfSU5QVVQgfSBmcm9tICcuLi8uLi9jb25zdGFudHMvcGFnZXMnO1xuXG5jb25zdCBUYWJsZUhlYWRlcldyYXBwZXIgPSBzdHlsZWQuZGl2YFxuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAjY2NjO1xuICAgIHBhZGRpbmctdG9wOiA1cHg7XG4gICAgbWFyZ2luLWJvdHRvbTogNXB4O1xuYDtcblxuY29uc3QgVGFibGVGaWx0ZXJXcmFwcGVyID0gc3R5bGVkLmRpdmBcbiAgICBtYXgtd2lkdGg6IDMwMHB4O1xuICAgIHdpZHRoOiAxMDAlO1xuYDtcblxuZnVuY3Rpb24gVGFibGVIZWFkZXIoeyBwYWdlLCBzZXJ2aWNlcywgdG90YWxFbGVtZW50LCBoYW5kbGVSZXF1ZXN0TW9kYWxPcGVuIH0pIHtcbiAgICBjb25zdCB7XG4gICAgICAgIHBhZ2VTaXplLFxuICAgICAgICBjdXJyZW50UGFnZSxcbiAgICAgICAgc2V0Q3VycmVudFBhZ2UsXG4gICAgICAgIHNldFBhZ2VTaXplLFxuICAgICAgICBzZWFyY2hUeXBlLFxuICAgICAgICBzZXRTZWFyY2hUeXBlLFxuICAgICAgICBzZXRTZWFyY2hUZXh0LFxuICAgIH0gPSB1c2VDb250ZXh0KFRhYmxlQ29udGV4dCk7XG5cbiAgICBjb25zdCBpdGVtTGFiZWwgPSBwYWdlID09PSBQQUdFX0lOUFVUID8gJ0lucHV0JyA6ICdJdGVtJztcblxuICAgIGNvbnN0IGdldFNlYXJjaFR5cGVEcm9wZG93biA9ICgpID0+IHtcbiAgICAgICAgaWYgKHNlcnZpY2VzLmxlbmd0aCA8IDIpIHtcbiAgICAgICAgICAgIHJldHVybiBudWxsO1xuICAgICAgICB9XG4gICAgICAgIGxldCBhcnIgPSBbXTtcbiAgICAgICAgYXJyID0gc2VydmljZXMubWFwKChzZXJ2aWNlKSA9PiB7XG4gICAgICAgICAgICByZXR1cm4gPFNlbGVjdC5PcHRpb24ga2V5PXtzZXJ2aWNlLm5hbWV9IGxhYmVsPXtzZXJ2aWNlLnRpdGxlfSB2YWx1ZT17c2VydmljZS5uYW1lfSAvPjtcbiAgICAgICAgfSk7XG5cbiAgICAgICAgYXJyLnVuc2hpZnQoPFNlbGVjdC5PcHRpb24ga2V5PVwiYWxsXCIgbGFiZWw9e18oJ0FsbCcpfSB2YWx1ZT1cImFsbFwiIC8+KTtcbiAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgIDxTZWxlY3RcbiAgICAgICAgICAgICAgICB2YWx1ZT17c2VhcmNoVHlwZX1cbiAgICAgICAgICAgICAgICBjbGFzc05hbWU9XCJkcm9wZG93bklucHV0XCJcbiAgICAgICAgICAgICAgICBvbkNoYW5nZT17KGUsIHsgdmFsdWUgfSkgPT4ge1xuICAgICAgICAgICAgICAgICAgICBzZXRDdXJyZW50UGFnZSgwKTtcbiAgICAgICAgICAgICAgICAgICAgc2V0U2VhcmNoVHlwZSh2YWx1ZSk7XG4gICAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICB7YXJyfVxuICAgICAgICAgICAgPC9TZWxlY3Q+XG4gICAgICAgICk7XG4gICAgfTtcblxuICAgIHJldHVybiAoXG4gICAgICAgIDxUYWJsZUhlYWRlcldyYXBwZXI+XG4gICAgICAgICAgICA8ZGl2PlxuICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzTmFtZT1cImlucHV0TnVtYmVyXCI+XG4gICAgICAgICAgICAgICAgICAgIHt0b3RhbEVsZW1lbnR9XG4gICAgICAgICAgICAgICAgICAgIHt0b3RhbEVsZW1lbnQgPiAxID8gXyhgICR7aXRlbUxhYmVsfXNgKSA6IF8oYCAke2l0ZW1MYWJlbH1gKX1cbiAgICAgICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgICAgICAge3BhZ2UgPT09IFBBR0VfSU5QVVQgPyAoXG4gICAgICAgICAgICAgICAgICAgIDxUYWJsZVNlbGVjdEJveFdyYXBwZXI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8U2VsZWN0XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWU9e3BhZ2VTaXplfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzTmFtZT1cImRyb3Bkb3duUGFnZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgb25DaGFuZ2U9eyhlLCB7IHZhbHVlIH0pID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2V0Q3VycmVudFBhZ2UoMCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNldFBhZ2VTaXplKHZhbHVlKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxTZWxlY3QuT3B0aW9uIGtleT1cIjEwXCIgbGFiZWw9e18oJzEwIFBlciBQYWdlJyl9IHZhbHVlPXsxMH0gLz5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8U2VsZWN0Lk9wdGlvbiBrZXk9XCIyNVwiIGxhYmVsPXtfKCcyNSBQZXIgUGFnZScpfSB2YWx1ZT17MjV9IC8+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPFNlbGVjdC5PcHRpb24ga2V5PVwiNTBcIiBsYWJlbD17XygnNTAgUGVyIFBhZ2UnKX0gdmFsdWU9ezUwfSAvPlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9TZWxlY3Q+XG4gICAgICAgICAgICAgICAgICAgICAgICB7Z2V0U2VhcmNoVHlwZURyb3Bkb3duKCl9XG4gICAgICAgICAgICAgICAgICAgIDwvVGFibGVTZWxlY3RCb3hXcmFwcGVyPlxuICAgICAgICAgICAgICAgICkgOiBudWxsfVxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8VGFibGVGaWx0ZXJXcmFwcGVyPlxuICAgICAgICAgICAgICAgIDxUYWJsZUZpbHRlclxuICAgICAgICAgICAgICAgICAgICBoYW5kbGVDaGFuZ2U9eyhlLCB7IHZhbHVlIH0pID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHNldEN1cnJlbnRQYWdlKDApO1xuICAgICAgICAgICAgICAgICAgICAgICAgc2V0U2VhcmNoVGV4dCh2YWx1ZSk7XG4gICAgICAgICAgICAgICAgICAgIH19XG4gICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgIDwvVGFibGVGaWx0ZXJXcmFwcGVyPlxuICAgICAgICAgICAgPGRpdj5cbiAgICAgICAgICAgICAgICA8UGFnaW5hdG9yXG4gICAgICAgICAgICAgICAgICAgIG9uQ2hhbmdlPXsoZSwgeyBwYWdlOiBwYWdlTnVtYmVyIH0pID0+IHNldEN1cnJlbnRQYWdlKHBhZ2VOdW1iZXIgLSAxKX1cbiAgICAgICAgICAgICAgICAgICAgY3VycmVudD17Y3VycmVudFBhZ2UgKyAxfVxuICAgICAgICAgICAgICAgICAgICBhbHdheXNTaG93TGFzdFBhZ2VMaW5rXG4gICAgICAgICAgICAgICAgICAgIHRvdGFsUGFnZXM9e01hdGguY2VpbCh0b3RhbEVsZW1lbnQgLyBwYWdlU2l6ZSl9XG4gICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICB7cGFnZSA9PT0gUEFHRV9JTlBVVCA/IG51bGwgOiAoXG4gICAgICAgICAgICAgICAgICAgIDxCdXR0b25cbiAgICAgICAgICAgICAgICAgICAgICAgIGxhYmVsPXtfKCdBZGQnKX1cbiAgICAgICAgICAgICAgICAgICAgICAgIGFwcGVhcmFuY2U9XCJwcmltYXJ5XCJcbiAgICAgICAgICAgICAgICAgICAgICAgIG9uQ2xpY2s9e2hhbmRsZVJlcXVlc3RNb2RhbE9wZW59XG4gICAgICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgKX1cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L1RhYmxlSGVhZGVyV3JhcHBlcj5cbiAgICApO1xufVxuXG5UYWJsZUhlYWRlci5wcm9wVHlwZXMgPSB7XG4gICAgcGFnZTogUHJvcFR5cGVzLnN0cmluZyxcbiAgICBzZXJ2aWNlczogUHJvcFR5cGVzLmFycmF5LFxuICAgIHRvdGFsRWxlbWVudDogUHJvcFR5cGVzLm51bWJlcixcbiAgICBoYW5kbGVSZXF1ZXN0TW9kYWxPcGVuOiBQcm9wVHlwZXMuZnVuYyxcbn07XG5cbmV4cG9ydCBkZWZhdWx0IFRhYmxlSGVhZGVyO1xuIiwiaW1wb3J0IFJlYWN0LCB7IHVzZVN0YXRlLCB1c2VDb250ZXh0LCB1c2VFZmZlY3QsIG1lbW8gfSBmcm9tICdyZWFjdCc7XG5pbXBvcnQgdXBkYXRlIGZyb20gJ2ltbXV0YWJpbGl0eS1oZWxwZXInO1xuaW1wb3J0IGF4aW9zIGZyb20gJ2F4aW9zJztcbmltcG9ydCBQcm9wVHlwZXMgZnJvbSAncHJvcC10eXBlcyc7XG5cbmltcG9ydCB7IFdhaXRTcGlubmVyV3JhcHBlciB9IGZyb20gJy4vQ3VzdG9tVGFibGVTdHlsZSc7XG5pbXBvcnQgeyBheGlvc0NhbGxXcmFwcGVyIH0gZnJvbSAnLi4vLi4vdXRpbC9heGlvc0NhbGxXcmFwcGVyJztcbmltcG9ydCB7IGdldFVuaWZpZWRDb25maWdzLCBnZW5lcmF0ZVRvYXN0LCBpc1RydWUgfSBmcm9tICcuLi8uLi91dGlsL3V0aWwnO1xuaW1wb3J0IEN1c3RvbVRhYmxlIGZyb20gJy4vQ3VzdG9tVGFibGUnO1xuaW1wb3J0IFRhYmxlSGVhZGVyIGZyb20gJy4vVGFibGVIZWFkZXInO1xuaW1wb3J0IFRhYmxlQ29udGV4dCBmcm9tICcuLi8uLi9jb250ZXh0L1RhYmxlQ29udGV4dCc7XG5pbXBvcnQgeyBQQUdFX0lOUFVUIH0gZnJvbSAnLi4vLi4vY29uc3RhbnRzL3BhZ2VzJztcblxuZnVuY3Rpb24gVGFibGVXcmFwcGVyKHsgcGFnZSwgc2VydmljZU5hbWUsIGhhbmRsZVJlcXVlc3RNb2RhbE9wZW4sIGhhbmRsZU9wZW5QYWdlU3R5bGVEaWFsb2cgfSkge1xuICAgIGNvbnN0IFtzb3J0S2V5LCBzZXRTb3J0S2V5XSA9IHVzZVN0YXRlKCduYW1lJyk7XG4gICAgY29uc3QgW3NvcnREaXIsIHNldFNvcnREaXJdID0gdXNlU3RhdGUoJ2FzYycpO1xuICAgIGNvbnN0IFtsb2FkaW5nLCBzZXRMb2FkaW5nXSA9IHVzZVN0YXRlKHRydWUpO1xuICAgIGNvbnN0IFtlcnJvciwgc2V0RXJyb3JdID0gdXNlU3RhdGUobnVsbCk7XG5cbiAgICBjb25zdCB7IHJvd0RhdGEsIHNldFJvd0RhdGEsIHBhZ2VTaXplLCBjdXJyZW50UGFnZSwgc2VhcmNoVGV4dCwgc2VhcmNoVHlwZSB9ID0gdXNlQ29udGV4dChcbiAgICAgICAgVGFibGVDb250ZXh0XG4gICAgKTtcblxuICAgIGNvbnN0IHVuaWZpZWRDb25maWdzID0gZ2V0VW5pZmllZENvbmZpZ3MoKTtcbiAgICBjb25zdCB0YWJsZUNvbmZpZyA9XG4gICAgICAgIHBhZ2UgPT09IFBBR0VfSU5QVVRcbiAgICAgICAgICAgID8gdW5pZmllZENvbmZpZ3MucGFnZXMuaW5wdXRzLnRhYmxlXG4gICAgICAgICAgICA6IHVuaWZpZWRDb25maWdzLnBhZ2VzLmNvbmZpZ3VyYXRpb24udGFicy5maWx0ZXIoKHgpID0+IHgubmFtZSA9PT0gc2VydmljZU5hbWUpWzBdXG4gICAgICAgICAgICAgICAgICAudGFibGU7XG4gICAgY29uc3QgaGVhZGVycyA9IHRhYmxlQ29uZmlnLmhlYWRlcjtcbiAgICBjb25zdCB7IG1vcmVJbmZvIH0gPSB0YWJsZUNvbmZpZztcbiAgICBjb25zdCBzZXJ2aWNlcyA9XG4gICAgICAgIHBhZ2UgPT09IFBBR0VfSU5QVVRcbiAgICAgICAgICAgID8gdW5pZmllZENvbmZpZ3MucGFnZXMuaW5wdXRzLnNlcnZpY2VzXG4gICAgICAgICAgICA6IHVuaWZpZWRDb25maWdzLnBhZ2VzLmNvbmZpZ3VyYXRpb24udGFicy5maWx0ZXIoKHgpID0+IHgubmFtZSA9PT0gc2VydmljZU5hbWUpO1xuXG4gICAgY29uc3QgbW9kaWZ5QVBJUmVzcG9uc2UgPSAoZGF0YSkgPT4ge1xuICAgICAgICBjb25zdCBvYmogPSB7fTtcbiAgICAgICAgc2VydmljZXMuZm9yRWFjaCgoc2VydmljZSwgaW5kZXgpID0+IHtcbiAgICAgICAgICAgIGlmIChzZXJ2aWNlICYmIHNlcnZpY2UubmFtZSAmJiBkYXRhKSB7XG4gICAgICAgICAgICAgICAgY29uc3QgdG1wT2JqID0ge307XG4gICAgICAgICAgICAgICAgZGF0YVtpbmRleF0uZm9yRWFjaCgodmFsKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIHRtcE9ialt2YWwubmFtZV0gPSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAuLi52YWwuY29udGVudCxcbiAgICAgICAgICAgICAgICAgICAgICAgIGlkOiB2YWwuaWQsXG4gICAgICAgICAgICAgICAgICAgICAgICBuYW1lOiB2YWwubmFtZSxcbiAgICAgICAgICAgICAgICAgICAgICAgIHNlcnZpY2VOYW1lOiBzZXJ2aWNlLm5hbWUsXG4gICAgICAgICAgICAgICAgICAgIH07XG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgb2JqW3NlcnZpY2UubmFtZV0gPSB0bXBPYmo7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgICAgICBzZXRSb3dEYXRhKG9iaik7XG4gICAgICAgIHNldExvYWRpbmcoZmFsc2UpO1xuICAgIH07XG5cbiAgICBjb25zdCBmZXRjaElucHV0cyA9ICgpID0+IHtcbiAgICAgICAgY29uc3QgcmVxdWVzdHMgPSBbXTtcbiAgICAgICAgc2VydmljZXMuZm9yRWFjaCgoc2VydmljZSkgPT4ge1xuICAgICAgICAgICAgcmVxdWVzdHMucHVzaChcbiAgICAgICAgICAgICAgICBheGlvc0NhbGxXcmFwcGVyKHtcbiAgICAgICAgICAgICAgICAgICAgc2VydmljZU5hbWU6IHNlcnZpY2UubmFtZSxcbiAgICAgICAgICAgICAgICAgICAgcGFyYW1zOiB7IGNvdW50OiAtMSB9LFxuICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICApO1xuICAgICAgICB9KTtcbiAgICAgICAgYXhpb3NcbiAgICAgICAgICAgIC5hbGwocmVxdWVzdHMpXG4gICAgICAgICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tc2hhZG93XG4gICAgICAgICAgICAuY2F0Y2goKGVycm9yKSA9PiB7XG4gICAgICAgICAgICAgICAgbGV0IG1lc3NhZ2UgPSAnJztcbiAgICAgICAgICAgICAgICBsZXQgZXJyb3JDb2RlID0gJyc7XG4gICAgICAgICAgICAgICAgaWYgKGVycm9yLnJlc3BvbnNlKSB7XG4gICAgICAgICAgICAgICAgICAgIC8vIFRoZSByZXF1ZXN0IHdhcyBtYWRlIGFuZCB0aGUgc2VydmVyIHJlc3BvbmRlZCB3aXRoIGEgc3RhdHVzIGNvZGVcbiAgICAgICAgICAgICAgICAgICAgbWVzc2FnZSA9IGBFcnJvciByZWNlaXZlZCBmcm9tIHNlcnZlcjogJHtlcnJvci5yZXNwb25zZS5kYXRhLm1lc3NhZ2VzWzBdLnRleHR9YDtcbiAgICAgICAgICAgICAgICAgICAgZXJyb3JDb2RlID0gcGFnZSA9PT0gUEFHRV9JTlBVVCA/ICdFUlIwMDAxJyA6ICdFUlIwMDAyJztcbiAgICAgICAgICAgICAgICB9IGVsc2UgaWYgKGVycm9yLnJlcXVlc3QpIHtcbiAgICAgICAgICAgICAgICAgICAgLy8gVGhlIHJlcXVlc3Qgd2FzIG1hZGUgYnV0IG5vIHJlc3BvbnNlIHdhcyByZWNlaXZlZFxuICAgICAgICAgICAgICAgICAgICBtZXNzYWdlID0gYE5vIHJlc3BvbnNlIHJlY2VpdmVkIHdoaWxlIG1ha2luZyByZXF1ZXN0IHRvICR7cGFnZX0gc2VydmljZXNgO1xuICAgICAgICAgICAgICAgICAgICBlcnJvckNvZGUgPSAnRVJSMDAwMyc7XG4gICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgLy8gU29tZXRoaW5nIGhhcHBlbmVkIGluIHNldHRpbmcgdXAgdGhlIHJlcXVlc3QgdGhhdCB0cmlnZ2VyZWQgYW4gRXJyb3JcbiAgICAgICAgICAgICAgICAgICAgbWVzc2FnZSA9IGBFcnJvciBtYWtpbmcgcmVxdWVzdCB0byAke3BhZ2V9IHNlcnZpY2VzYDtcbiAgICAgICAgICAgICAgICAgICAgZXJyb3JDb2RlID0gJ0VSUjAwMDQnO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tcGFyYW0tcmVhc3NpZ25cbiAgICAgICAgICAgICAgICBlcnJvci51Y2NFcnJvckNvZGUgPSBlcnJvckNvZGU7XG4gICAgICAgICAgICAgICAgZ2VuZXJhdGVUb2FzdChtZXNzYWdlKTtcbiAgICAgICAgICAgICAgICBzZXRMb2FkaW5nKGZhbHNlKTtcbiAgICAgICAgICAgICAgICBzZXRFcnJvcihlcnJvcik7XG4gICAgICAgICAgICAgICAgcmV0dXJuIFByb21pc2UucmVqZWN0KGVycm9yKTtcbiAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAudGhlbigocmVzcG9uc2UpID0+IHtcbiAgICAgICAgICAgICAgICBtb2RpZnlBUElSZXNwb25zZShyZXNwb25zZS5tYXAoKHJlcykgPT4gcmVzLmRhdGEuZW50cnkpKTtcbiAgICAgICAgICAgIH0pO1xuICAgIH07XG5cbiAgICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgICAgICBmZXRjaElucHV0cygpO1xuICAgICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgcmVhY3QtaG9va3MvZXhoYXVzdGl2ZS1kZXBzXG4gICAgfSwgW10pO1xuXG4gICAgLyoqXG4gICAgICpcbiAgICAgKiBAcGFyYW0gcm93IHtPYmplY3R9IHJvd1xuICAgICAqL1xuICAgIGNvbnN0IGNoYW5nZVRvZ2dsZVN0YXR1cyA9IChyb3cpID0+IHtcbiAgICAgICAgc2V0Um93RGF0YSgoY3VycmVudFJvd0RhdGEpID0+IHtcbiAgICAgICAgICAgIHJldHVybiB1cGRhdGUoY3VycmVudFJvd0RhdGEsIHtcbiAgICAgICAgICAgICAgICBbcm93LnNlcnZpY2VOYW1lXToge1xuICAgICAgICAgICAgICAgICAgICBbcm93Lm5hbWVdOiB7XG4gICAgICAgICAgICAgICAgICAgICAgICBfX3RvZ2dsZVNob3dTcGlubmVyOiB7ICRzZXQ6IHRydWUgfSxcbiAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgfSk7XG4gICAgICAgIH0pO1xuICAgICAgICBjb25zdCBib2R5ID0gbmV3IFVSTFNlYXJjaFBhcmFtcygpO1xuICAgICAgICBib2R5LmFwcGVuZCgnZGlzYWJsZWQnLCAhcm93LmRpc2FibGVkKTtcbiAgICAgICAgYXhpb3NDYWxsV3JhcHBlcih7XG4gICAgICAgICAgICBzZXJ2aWNlTmFtZTogYCR7cm93LnNlcnZpY2VOYW1lfS8ke3Jvdy5uYW1lfWAsXG4gICAgICAgICAgICBib2R5LFxuICAgICAgICAgICAgY3VzdG9tSGVhZGVyczogeyAnQ29udGVudC1UeXBlJzogJ2FwcGxpY2F0aW9uL3gtd3d3LWZvcm0tdXJsZW5jb2RlZCcgfSxcbiAgICAgICAgICAgIG1ldGhvZDogJ3Bvc3QnLFxuICAgICAgICAgICAgaGFuZGxlRXJyb3I6IHRydWUsXG4gICAgICAgICAgICBjYWxsYmFja09uRXJyb3I6ICgpID0+IHtcbiAgICAgICAgICAgICAgICBzZXRSb3dEYXRhKChjdXJyZW50Um93RGF0YSkgPT4ge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gdXBkYXRlKGN1cnJlbnRSb3dEYXRhLCB7XG4gICAgICAgICAgICAgICAgICAgICAgICBbcm93LnNlcnZpY2VOYW1lXToge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtyb3cubmFtZV06IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgX190b2dnbGVTaG93U3Bpbm5lcjogeyAkc2V0OiBmYWxzZSB9LFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIH0sXG4gICAgICAgIH0pLnRoZW4oKHJlc3BvbnNlKSA9PiB7XG4gICAgICAgICAgICBzZXRSb3dEYXRhKChjdXJyZW50Um93RGF0YSkgPT4ge1xuICAgICAgICAgICAgICAgIHJldHVybiB1cGRhdGUoY3VycmVudFJvd0RhdGEsIHtcbiAgICAgICAgICAgICAgICAgICAgW3Jvdy5zZXJ2aWNlTmFtZV06IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIFtyb3cubmFtZV06IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBBRERPTi0zOTEyNTogaXNUcnVlIHJlcXVpcmVkIGlmIHNwbHVua3RhdWNjbGliIHJlc3RoYW5kbGVycycgc3VwZXIoKSBpcyBub3QgaW52b2tlZFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRpc2FibGVkOiB7ICRzZXQ6IGlzVHJ1ZShyZXNwb25zZS5kYXRhLmVudHJ5WzBdLmNvbnRlbnQuZGlzYWJsZWQpIH0sXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgX190b2dnbGVTaG93U3Bpbm5lcjogeyAkc2V0OiBmYWxzZSB9LFxuICAgICAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9KTtcbiAgICB9O1xuXG4gICAgY29uc3QgaGFuZGxlU29ydCA9IChlLCB2YWwpID0+IHtcbiAgICAgICAgY29uc3QgcHJldlNvcnRLZXkgPSBzb3J0S2V5O1xuICAgICAgICBjb25zdCBwcmV2U29ydERpciA9IHByZXZTb3J0S2V5ID09PSB2YWwuc29ydEtleSA/IHNvcnREaXIgOiAnbm9uZSc7XG4gICAgICAgIGNvbnN0IG5leHRTb3J0RGlyID0gcHJldlNvcnREaXIgPT09ICdhc2MnID8gJ2Rlc2MnIDogJ2FzYyc7XG4gICAgICAgIHNldFNvcnREaXIobmV4dFNvcnREaXIpO1xuICAgICAgICBzZXRTb3J0S2V5KHZhbC5zb3J0S2V5KTtcbiAgICB9O1xuXG4gICAgLyoqXG4gICAgICpcbiAgICAgKiBAcGFyYW0ge0FycmF5fSBkYXRhXG4gICAgICogVGhpcyBmdW5jdGlvbiB3aWxsIGl0ZXJhdGUgYW4gYXJycmF5IGFuZCBtYXRjaCBlYWNoIGtleS12YWx1ZSB3aXRoIHRoZSBzZWFyY2hUZXh0XG4gICAgICogSXQgd2lsbCByZXR1cm4gYSBuZXcgYXJyYXkgd2hpY2ggd2lsbCBtYXRjaCB3aXRoIHNlYXJjaFRleHRcbiAgICAgKi9cbiAgICBjb25zdCBmaW5kQnlNYXRjaGluZ1ZhbHVlID0gKGRhdGEpID0+IHtcbiAgICAgICAgY29uc3QgYXJyID0gW107XG4gICAgICAgIGNvbnN0IHRhYmxlRmllbGRzID0gW107XG5cbiAgICAgICAgaGVhZGVycy5mb3JFYWNoKChoZWFkRGF0YSkgPT4ge1xuICAgICAgICAgICAgdGFibGVGaWVsZHMucHVzaChoZWFkRGF0YS5maWVsZCk7XG4gICAgICAgIH0pO1xuICAgICAgICBtb3JlSW5mbz8uZm9yRWFjaCgobW9yZUluZm9EYXRhKSA9PiB7XG4gICAgICAgICAgICB0YWJsZUZpZWxkcy5wdXNoKG1vcmVJbmZvRGF0YS5maWVsZCk7XG4gICAgICAgIH0pO1xuXG4gICAgICAgIE9iamVjdC5rZXlzKGRhdGEpLmZvckVhY2goKHYpID0+IHtcbiAgICAgICAgICAgIGxldCBmb3VuZCA9IGZhbHNlO1xuICAgICAgICAgICAgT2JqZWN0LmtleXMoZGF0YVt2XSkuZm9yRWFjaCgodnYpID0+IHtcbiAgICAgICAgICAgICAgICBpZiAoXG4gICAgICAgICAgICAgICAgICAgIHRhYmxlRmllbGRzLmluY2x1ZGVzKHZ2KSAmJlxuICAgICAgICAgICAgICAgICAgICB0eXBlb2YgZGF0YVt2XVt2dl0gPT09ICdzdHJpbmcnICYmXG4gICAgICAgICAgICAgICAgICAgIGRhdGFbdl1bdnZdLnRvTG93ZXJDYXNlKCkuaW5jbHVkZXMoc2VhcmNoVGV4dC50b0xvd2VyQ2FzZSgpLnRyaW0oKSkgJiZcbiAgICAgICAgICAgICAgICAgICAgIWZvdW5kXG4gICAgICAgICAgICAgICAgKSB7XG4gICAgICAgICAgICAgICAgICAgIGFyci5wdXNoKGRhdGFbdl0pO1xuICAgICAgICAgICAgICAgICAgICBmb3VuZCA9IHRydWU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSk7XG4gICAgICAgIH0pO1xuICAgICAgICByZXR1cm4gYXJyO1xuICAgIH07XG5cbiAgICBjb25zdCBnZXRSb3dEYXRhID0gKCkgPT4ge1xuICAgICAgICBsZXQgYXJyID0gW107XG4gICAgICAgIGlmIChzZWFyY2hUeXBlID09PSAnYWxsJykge1xuICAgICAgICAgICAgT2JqZWN0LmtleXMocm93RGF0YSkuZm9yRWFjaCgoa2V5KSA9PiB7XG4gICAgICAgICAgICAgICAgbGV0IG5ld0FyciA9IFtdO1xuICAgICAgICAgICAgICAgIGlmIChzZWFyY2hUZXh0ICYmIHNlYXJjaFRleHQubGVuZ3RoKSB7XG4gICAgICAgICAgICAgICAgICAgIG5ld0FyciA9IGZpbmRCeU1hdGNoaW5nVmFsdWUocm93RGF0YVtrZXldKTtcbiAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICBuZXdBcnIgPSBPYmplY3Qua2V5cyhyb3dEYXRhW2tleV0pLm1hcCgodmFsKSA9PiByb3dEYXRhW2tleV1bdmFsXSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGFyciA9IGFyci5jb25jYXQobmV3QXJyKTtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgYXJyID0gZmluZEJ5TWF0Y2hpbmdWYWx1ZShyb3dEYXRhW3NlYXJjaFR5cGVdKTtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIFNvcnQgdGhlIGFycmF5IGJhc2VkIG9uIHRoZSBzb3J0IHZhbHVlXG4gICAgICAgIGNvbnN0IHNvcnRlZEFyciA9IGFyci5zb3J0KChyb3dBLCByb3dCKSA9PiB7XG4gICAgICAgICAgICBpZiAoc29ydERpciA9PT0gJ2FzYycpIHtcbiAgICAgICAgICAgICAgICBjb25zdCByb3dBVmFsdWUgPSByb3dBW3NvcnRLZXldID09PSB1bmRlZmluZWQgPyAnJyA6IHJvd0Fbc29ydEtleV07XG4gICAgICAgICAgICAgICAgY29uc3Qgcm93QlZhbHVlID0gcm93Qltzb3J0S2V5XSA9PT0gdW5kZWZpbmVkID8gJycgOiByb3dCW3NvcnRLZXldO1xuICAgICAgICAgICAgICAgIHJldHVybiByb3dBVmFsdWUgPiByb3dCVmFsdWUgPyAxIDogLTE7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpZiAoc29ydERpciA9PT0gJ2Rlc2MnKSB7XG4gICAgICAgICAgICAgICAgY29uc3Qgcm93QVZhbHVlID0gcm93QVtzb3J0S2V5XSA9PT0gdW5kZWZpbmVkID8gJycgOiByb3dBW3NvcnRLZXldO1xuICAgICAgICAgICAgICAgIGNvbnN0IHJvd0JWYWx1ZSA9IHJvd0Jbc29ydEtleV0gPT09IHVuZGVmaW5lZCA/ICcnIDogcm93Qltzb3J0S2V5XTtcbiAgICAgICAgICAgICAgICByZXR1cm4gcm93QlZhbHVlID4gcm93QVZhbHVlID8gMSA6IC0xO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgcmV0dXJuIDA7XG4gICAgICAgIH0pO1xuXG4gICAgICAgIGxldCB1cGRhdGVkQXJyID0gc29ydGVkQXJyLnNsaWNlKGN1cnJlbnRQYWdlICogcGFnZVNpemUsIChjdXJyZW50UGFnZSArIDEpICogcGFnZVNpemUpO1xuXG4gICAgICAgIGlmIChjdXJyZW50UGFnZSA+IDAgJiYgIXVwZGF0ZWRBcnIubGVuZ3RoKSB7XG4gICAgICAgICAgICB1cGRhdGVkQXJyID0gc29ydGVkQXJyLnNsaWNlKChjdXJyZW50UGFnZSAtIDEpICogcGFnZVNpemUsIHBhZ2VTaXplKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBbdXBkYXRlZEFyciwgYXJyLmxlbmd0aF07XG4gICAgfTtcblxuICAgIGlmIChlcnJvcj8udWNjRXJyb3JDb2RlKSB7XG4gICAgICAgIHRocm93IGVycm9yO1xuICAgIH1cblxuICAgIGlmIChsb2FkaW5nKSB7XG4gICAgICAgIHJldHVybiA8V2FpdFNwaW5uZXJXcmFwcGVyIC8+O1xuICAgIH1cblxuICAgIGNvbnN0IFtmaWx0ZXJlZERhdGEsIHRvdGFsRWxlbWVudF0gPSBnZXRSb3dEYXRhKCk7XG5cbiAgICByZXR1cm4gKFxuICAgICAgICA8PlxuICAgICAgICAgICAgPFRhYmxlSGVhZGVyXG4gICAgICAgICAgICAgICAgcGFnZT17cGFnZX1cbiAgICAgICAgICAgICAgICBzZXJ2aWNlcz17c2VydmljZXN9XG4gICAgICAgICAgICAgICAgdG90YWxFbGVtZW50PXt0b3RhbEVsZW1lbnR9XG4gICAgICAgICAgICAgICAgaGFuZGxlUmVxdWVzdE1vZGFsT3Blbj17aGFuZGxlUmVxdWVzdE1vZGFsT3Blbn1cbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgICA8Q3VzdG9tVGFibGVcbiAgICAgICAgICAgICAgICBwYWdlPXtwYWdlfVxuICAgICAgICAgICAgICAgIHNlcnZpY2VOYW1lPXtzZXJ2aWNlTmFtZX1cbiAgICAgICAgICAgICAgICBkYXRhPXtmaWx0ZXJlZERhdGF9XG4gICAgICAgICAgICAgICAgaGFuZGxlVG9nZ2xlQWN0aW9uQ2xpY2s9eyhyb3cpID0+IGNoYW5nZVRvZ2dsZVN0YXR1cyhyb3cpfVxuICAgICAgICAgICAgICAgIGhhbmRsZVNvcnQ9e2hhbmRsZVNvcnR9XG4gICAgICAgICAgICAgICAgc29ydERpcj17c29ydERpcn1cbiAgICAgICAgICAgICAgICBzb3J0S2V5PXtzb3J0S2V5fVxuICAgICAgICAgICAgICAgIGhhbmRsZU9wZW5QYWdlU3R5bGVEaWFsb2c9e2hhbmRsZU9wZW5QYWdlU3R5bGVEaWFsb2d9XG4gICAgICAgICAgICAvPlxuICAgICAgICA8Lz5cbiAgICApO1xufVxuXG5UYWJsZVdyYXBwZXIucHJvcFR5cGVzID0ge1xuICAgIHBhZ2U6IFByb3BUeXBlcy5zdHJpbmcsXG4gICAgc2VydmljZU5hbWU6IFByb3BUeXBlcy5zdHJpbmcsXG4gICAgaGFuZGxlUmVxdWVzdE1vZGFsT3BlbjogUHJvcFR5cGVzLmZ1bmMsXG4gICAgaGFuZGxlT3BlblBhZ2VTdHlsZURpYWxvZzogUHJvcFR5cGVzLmZ1bmMsXG59O1xuXG5leHBvcnQgZGVmYXVsdCBtZW1vKFRhYmxlV3JhcHBlcik7XG4iLCJpbXBvcnQgUmVhY3QgZnJvbSAncmVhY3QnO1xuaW1wb3J0IExpbmsgZnJvbSAnQHNwbHVuay9yZWFjdC11aS9MaW5rJztcblxuZXhwb3J0IGRlZmF1bHQge1xuICAgIEVSUjAwMDE6IChcbiAgICAgICAgPD5cbiAgICAgICAgICAgIFRoaXMgaXMgbm9ybWFsIG9uIFNwbHVuayBzZWFyY2ggaGVhZHMgYXMgdGhleSBkbyBub3QgcmVxdWlyZSBhbiBJbnB1dCBwYWdlLiBDaGVjayB5b3VyIGluc3RhbGxhdGlvbiBvciByZXR1cm4gdG8gdGhlIDxMaW5rIHRvPVwiY29uZmlndXJhdGlvblwiPmNvbmZpZ3VyYXRpb24gcGFnZTwvTGluaz4uXG4gICAgICAgIDwvPlxuICAgICksXG4gICAgRVJSMDAwMjogJ0NvbmZpZ3VyYXRpb24gcGFnZSBmYWlsZWQgdG8gbG9hZCwgdGhlIHNlcnZlciByZXBvcnRlZCBpbnRlcm5hbCBlcnJvcnMgd2hpY2ggbWF5IGluZGljYXRlIHlvdSBkbyBub3QgaGF2ZSBhY2Nlc3MgdG8gdGhpcyBwYWdlLicsXG4gICAgRVJSMDAwMzogJ0ZhaWxlZCB0byBsb2FkIGNvbnRlbnQgZHVlIHRvIG5vIHJlc3BvbnNlIGZyb20gc2VydmVyIScsXG4gICAgRVJSMDAwNDogJ0ZhaWxlZCB0byBsb2FkIGNvbnRlbnQgZHVlIHRvIGZhaWxlZCByZXF1ZXN0IHByb2Nlc3NpbmchJyxcbiAgICBFUlIwMDA1OiAnRmFpbGVkIHRvIGxvYWQgY3VycmVudCBzdGF0ZSBmb3Igc2VsZWN0ZWQgZW50aXR5IGluIGZvcm0hJyxcbn07XG4iLCJpbXBvcnQgUmVhY3QgZnJvbSAncmVhY3QnO1xuaW1wb3J0IFByb3BUeXBlcyBmcm9tICdwcm9wLXR5cGVzJztcblxuaW1wb3J0IEhlYWRpbmcgZnJvbSAnQHNwbHVuay9yZWFjdC11aS9IZWFkaW5nJztcbmltcG9ydCB7IF8gfSBmcm9tICdAc3BsdW5rL3VpLXV0aWxzL2kxOG4nO1xuaW1wb3J0IENhcmQgZnJvbSAnQHNwbHVuay9yZWFjdC11aS9DYXJkJztcbmltcG9ydCBXYXJuaW5nSWNvbiBmcm9tICdAc3BsdW5rL3JlYWN0LWljb25zL1dhcm5pbmcnXG5pbXBvcnQgZXJyb3JDb2RlcyBmcm9tICcuLi9jb25zdGFudHMvZXJyb3JDb2Rlcyc7XG5cbmNsYXNzIEVycm9yQm91bmRhcnkgZXh0ZW5kcyBSZWFjdC5Db21wb25lbnQge1xuICAgIGNvbnN0cnVjdG9yKHByb3BzKSB7XG4gICAgICAgIHN1cGVyKHByb3BzKTtcbiAgICAgICAgdGhpcy5zdGF0ZSA9IHsgZXJyb3JDb2RlOiBudWxsLCBlcnJvcjogbnVsbCwgZXJyb3JJbmZvOiBudWxsIH07XG4gICAgfVxuXG4gICAgc3RhdGljIGdldERlcml2ZWRTdGF0ZUZyb21FcnJvcihlcnJvcikge1xuICAgICAgICAvLyBVcGRhdGUgc3RhdGUgc28gdGhlIG5leHQgcmVuZGVyIHdpbGwgc2hvdyB0aGUgZmFsbGJhY2sgVUkuXG4gICAgICAgIHJldHVybiB7IGVycm9yQ29kZTogZXJyb3IudWNjRXJyb3JDb2RlIH07XG4gICAgfVxuXG4gICAgY29tcG9uZW50RGlkQ2F0Y2goZXJyb3IsIGVycm9ySW5mbykge1xuICAgICAgICAvLyBDYXRjaCBlcnJvcnMgaW4gYW55IGNvbXBvbmVudHMgYmVsb3cgYW5kIHJlLXJlbmRlciB3aXRoIGVycm9yIG1lc3NhZ2VcbiAgICAgICAgdGhpcy5zZXRTdGF0ZSh7XG4gICAgICAgICAgICBlcnJvcixcbiAgICAgICAgICAgIGVycm9ySW5mbyxcbiAgICAgICAgfSk7XG4gICAgICAgIC8vIFlvdSBjYW4gYWxzbyBsb2cgZXJyb3IgbWVzc2FnZXMgdG8gYW4gZXJyb3IgcmVwb3J0aW5nIHNlcnZpY2UgaGVyZVxuICAgIH1cblxuICAgIHJlbmRlcigpIHtcbiAgICAgICAgaWYgKHRoaXMuc3RhdGUuZXJyb3IpIHtcbiAgICAgICAgICAgIC8vIEVycm9yIHBhdGhcbiAgICAgICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICAgICAgPGRpdiBhbGlnbj1cImNlbnRlclwiIHN0eWxlPXt7IG1hcmdpblRvcCA6IFwiMTAlXCIgfX0+XG4gICAgICAgICAgICAgICAgPENhcmQgc3R5bGU9e3sgYm94U2hhZG93IDogXCIxMHB4IDEwcHggNXB4ICNhYWFhYWFcIiB9fSA+XG4gICAgICAgICAgICAgICAgICAgIDxDYXJkLkhlYWRlcj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxIZWFkaW5nIHN0eWxlPXt7IHRleHRBbGlnbjpcImNlbnRlclwiIH19IGxldmVsPXsyfT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8V2FybmluZ0ljb24gc3R5bGU9e3sgZm9udFNpemU6IFwiMTIwcHhcIiwgY29sb3I6IFwiI2ZmOTkwMFwiIH19IC8+PGJyLz48YnIvPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHt0aGlzLnN0YXRlLmVycm9yQ29kZSA9PT0gJ0VSUjAwMDEnID8gXygnRmFpbGVkIHRvIGxvYWQgSW5wdXRzIFBhZ2UnKSA6IF8oJ1NvbWV0aGluZyB3ZW50IHdyb25nIScpfVxuICAgICAgICAgICAgICAgICAgICAgICAgPC9IZWFkaW5nPlxuICAgICAgICAgICAgICAgICAgICA8L0NhcmQuSGVhZGVyPlxuICAgICAgICAgICAgICAgICAgICA8Q2FyZC5Cb2R5PlxuICAgICAgICAgICAgICAgICAgICAgICAge3RoaXMuc3RhdGUuZXJyb3JDb2RlID8gKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDw+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHtfKGVycm9yQ29kZXNbdGhpcy5zdGF0ZS5lcnJvckNvZGVdKX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGJyLz48YnIvPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvPlxuICAgICAgICAgICAgICAgICAgICAgICAgKSA6IG51bGx9XG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGV0YWlscyBzdHlsZT17eyB3aGl0ZVNwYWNlOiAncHJlLXdyYXAnIH19PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHt0aGlzLnN0YXRlLmVycm9yPy50b1N0cmluZygpfVxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kZXRhaWxzPlxuICAgICAgICAgICAgICAgICAgICA8L0NhcmQuQm9keT5cbiAgICAgICAgICAgICAgICAgICAgPENhcmQuRm9vdGVyIHNob3dCb3JkZXI9e2ZhbHNlfT5cbiAgICAgICAgICAgICAgICAgICAgICAgIHt0aGlzLnN0YXRlLmVycm9yQ29kZSA/IHRoaXMuc3RhdGUuZXJyb3JDb2RlIDogbnVsbH1cbiAgICAgICAgICAgICAgICAgICAgPC9DYXJkLkZvb3Rlcj5cbiAgICAgICAgICAgICAgICA8L0NhcmQ+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICApO1xuICAgICAgICB9XG4gICAgICAgIC8vIE5vcm1hbGx5LCBqdXN0IHJlbmRlciBjaGlsZHJlblxuICAgICAgICByZXR1cm4gdGhpcy5wcm9wcy5jaGlsZHJlbjtcbiAgICB9XG59XG5cbkVycm9yQm91bmRhcnkucHJvcFR5cGVzID0ge1xuICAgIGNoaWxkcmVuOiBQcm9wVHlwZXMub25lT2ZUeXBlKFtQcm9wVHlwZXMuYXJyYXlPZihQcm9wVHlwZXMubm9kZSksIFByb3BUeXBlcy5ub2RlXSkuaXNSZXF1aXJlZCxcbn07XG5cbmV4cG9ydCBkZWZhdWx0IEVycm9yQm91bmRhcnk7XG4iXSwic291cmNlUm9vdCI6IiJ9 \ No newline at end of file diff --git a/Splunk_TA_paloalto/appserver/static/js/build/4.js b/Splunk_TA_paloalto/appserver/static/js/build/4.js index 8b09e2ff..7268cbcf 100644 --- a/Splunk_TA_paloalto/appserver/static/js/build/4.js +++ b/Splunk_TA_paloalto/appserver/static/js/build/4.js @@ -1,2 +1,2 @@ -(window.webpackJsonp=window.webpackJsonp||[]).push([[4],{464:function(e,a,t){"use strict";t.r(a);var n,c=t(63),r=t.n(c),l=t(13),i=t.n(l),u=t(0),m=t.n(u),s=t(6),o=t(459),d=t.n(o),b=t(264),p=t.n(b),v=t(1),f=t(284),E=t(40),g=t(280),O=t(324),j=t(3),h=t.n(j),y=t(30),k=t.n(y),N=t(67),w=t.n(N),S=t(288),T=t(257),R=t(256),x=t(68),C=t(43),_=v.default.div(n||(n=i()(["\n margin-left: 270px !important;\n width: 150px;\n\n .save_btn {\n width: 100%;\n }\n"])));function q(e){var a=e.serviceName,t=Object(u.useRef)(),n=Object(u.useState)(null),c=r()(n,2),l=c[0],i=c[1],o=Object(u.useState)(!1),d=r()(o,2),b=d[0],p=d[1],v=Object(u.useState)({}),f=r()(v,2),E=f[0],g=f[1];Object(u.useEffect)((function(){Object(T.a)({serviceName:"settings/".concat(a),handleError:!0,callbackOnError:function(e){e.uccErrorCode="ERR0005",i(e)}}).then((function(e){g(e.data.entry[0].content)}))}),[a]);if(null!=l&&l.uccErrorCode)throw l;return Object.keys(E).length?m.a.createElement(m.a.Fragment,null,m.a.createElement(S.a,{ref:t,page:C.a,stanzaName:a,serviceName:"settings",mode:R.b,currentServiceState:E,handleFormSubmit:function(e){p(e)}}),m.a.createElement(_,null,m.a.createElement(k.a,{className:"saveBtn",appearance:"primary",label:b?m.a.createElement(w.a,null):Object(s._)("Save"),onClick:function(){t.current.handleSubmit()},disabled:b}))):m.a.createElement(x.d,null)}q.propTypes={serviceName:h.a.string.isRequired};var F=q,I=t(308),J=t.n(I),z=t(255),A=t(323),B=t(285);function D(e){var a=e.serviceName,t=e.serviceTitle,n=Object(u.useState)(!1),c=r()(n,2),l=c[0],i=c[1],s="Add ".concat(t),o=function(){i(!1)};return m.a.createElement(m.a.Fragment,null,m.a.createElement(z.a,{value:null},m.a.createElement(A.a,{page:C.a,serviceName:a,handleRequestModalOpen:function(){i(!0)}}),m.a.createElement(J.a,{position:"top-right"}),l?m.a.createElement(B.a,{page:C.a,open:l,handleRequestClose:o,handleSaveData:function(){},serviceName:a,mode:R.c,formLabel:s}):null))}D.propTypes={serviceName:h.a.string.isRequired,serviceTitle:h.a.string.isRequired};var L,M=Object(u.memo)(D),G=Object(v.default)(p.a.Row)(L||(L=i()(["\n padding: 5px 0px;\n\n .dropdown {\n text-align: right;\n }\n\n .input_button {\n text-align: right;\n margin-right: 0px;\n }\n"])));a.default=function(){var e=Object(E.d)().pages.configuration,a=e.title,t=e.description,n=e.tabs,c=n.map((function(e){return e.name})),l=Object(u.useState)(n[0].name),i=r()(l,2),o=i[0],b=i[1],v=Object(f.a)();Object(u.useEffect)((function(){v&&c.includes(v.get("tab"))&&v.get("tab")!==o&&b(v.get("tab"))}),[]);var j=Object(u.useCallback)((function(e,a){var t=a.selectedTabId;b(t)}),[o]);return m.a.createElement(O.a,null,m.a.createElement(p.a,{gutter:8},m.a.createElement(G,null,m.a.createElement(p.a.Column,{span:9},m.a.createElement(g.b,null,Object(s._)(a)),m.a.createElement(g.a,null,Object(s._)(t||""))))),m.a.createElement(d.a,{activeTabId:o,onChange:j},n.map((function(e){return m.a.createElement(d.a.Tab,{key:e.name,label:Object(s._)(e.title),tabId:e.name})}))),n.map((function(e){return e.table?m.a.createElement("div",{key:e.name,style:e.name!==o?{display:"none"}:{display:"block"},id:"".concat(e.name,"Tab")},m.a.createElement(M,{key:e.name,serviceName:e.name,serviceTitle:e.title})):m.a.createElement("div",{key:e.name,style:e.name!==o?{display:"none"}:{display:"block"},id:"".concat(e.name,"Tab")},m.a.createElement(F,{key:e.name,serviceName:e.name}))})))}}}]); -//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9zcmMvbWFpbi93ZWJhcHAvY29tcG9uZW50cy9Db25maWd1cmF0aW9uRm9ybVZpZXcuanN4Iiwid2VicGFjazovLy8uL3NyYy9tYWluL3dlYmFwcC9jb21wb25lbnRzL0NvbmZpZ3VyYXRpb25UYWJsZS5qc3giLCJ3ZWJwYWNrOi8vLy4vc3JjL21haW4vd2ViYXBwL3BhZ2VzL0NvbmZpZ3VyYXRpb24vQ29uZmlndXJhdGlvblBhZ2UuanN4Il0sIm5hbWVzIjpbIkJ1dHRvbldyYXBwZXIiLCJzdHlsZWQiLCJkaXYiLCJDb25maWd1cmF0aW9uRm9ybVZpZXciLCJzZXJ2aWNlTmFtZSIsImZvcm0iLCJ1c2VSZWYiLCJ1c2VTdGF0ZSIsImVycm9yIiwic2V0RXJyb3IiLCJpc1N1Ym1pdHRpbmciLCJzZXRJc1N1Ym1pdHRpbmciLCJjdXJyZW50U2VydmljZVN0YXRlIiwic2V0Q3VycmVudFNlcnZpY2VTdGF0ZSIsInVzZUVmZmVjdCIsImF4aW9zQ2FsbFdyYXBwZXIiLCJoYW5kbGVFcnJvciIsImNhbGxiYWNrT25FcnJvciIsImVyciIsInVjY0Vycm9yQ29kZSIsInRoZW4iLCJyZXNwb25zZSIsImRhdGEiLCJlbnRyeSIsImNvbnRlbnQiLCJPYmplY3QiLCJrZXlzIiwibGVuZ3RoIiwiQmFzZUZvcm1WaWV3IiwicmVmIiwicGFnZSIsIlBBR0VfQ09ORiIsInN0YW56YU5hbWUiLCJtb2RlIiwiTU9ERV9DT05GSUciLCJoYW5kbGVGb3JtU3VibWl0Iiwic2V0IiwiY2xhc3NOYW1lIiwiYXBwZWFyYW5jZSIsImxhYmVsIiwiXyIsIm9uQ2xpY2siLCJjdXJyZW50IiwiaGFuZGxlU3VibWl0IiwiZGlzYWJsZWQiLCJwcm9wVHlwZXMiLCJQcm9wVHlwZXMiLCJzdHJpbmciLCJpc1JlcXVpcmVkIiwiQ29uZmlndXJhdGlvblRhYmxlIiwic2VydmljZVRpdGxlIiwib3BlbiIsInNldE9wZW4iLCJzZXJ2aWNlTGFiZWwiLCJoYW5kbGVSZXF1ZXN0Q2xvc2UiLCJUYWJsZUNvbnRleHQiLCJ2YWx1ZSIsIlRhYmxlV3JhcHBlciIsImhhbmRsZVJlcXVlc3RNb2RhbE9wZW4iLCJwb3NpdGlvbiIsIkVudGl0eU1vZGFsIiwiaGFuZGxlU2F2ZURhdGEiLCJNT0RFX0NSRUFURSIsImZvcm1MYWJlbCIsIm1lbW8iLCJSb3ciLCJDb2x1bW5MYXlvdXQiLCJDb25maWd1cmF0aW9uUGFnZSIsImdldFVuaWZpZWRDb25maWdzIiwicGFnZXMiLCJjb25maWd1cmF0aW9uIiwidGl0bGUiLCJkZXNjcmlwdGlvbiIsInRhYnMiLCJwZXJtaXR0ZWRUYWJOYW1lcyIsIm1hcCIsInRhYiIsIm5hbWUiLCJhY3RpdmVUYWJJZCIsInNldEFjdGl2ZVRhYklkIiwicXVlcnkiLCJ1c2VRdWVyeSIsImluY2x1ZGVzIiwiZ2V0IiwiaGFuZGxlQ2hhbmdlIiwidXNlQ2FsbGJhY2siLCJlIiwic2VsZWN0ZWRUYWJJZCIsIkVycm9yQm91bmRhcnkiLCJndXR0ZXIiLCJDb2x1bW4iLCJzcGFuIiwib25DaGFuZ2UiLCJUYWIiLCJrZXkiLCJ0YWJJZCIsInRhYmxlIiwic3R5bGUiLCJkaXNwbGF5IiwiaWQiXSwibWFwcGluZ3MiOiIyVUFjTUEsRUFBZ0JDLFVBQU9DLElBQVYsMkhBU25CLFNBQVNDLEVBQVQsR0FBZ0QsSUFBZkMsRUFBZSxFQUFmQSxZQUN2QkMsRUFBT0MsbUJBRCtCLEVBRWxCQyxtQkFBUyxNQUZTLFdBRXJDQyxFQUZxQyxLQUU5QkMsRUFGOEIsT0FHSkYsb0JBQVMsR0FITCxXQUdyQ0csRUFIcUMsS0FHdkJDLEVBSHVCLE9BSVVKLG1CQUFTLElBSm5CLFdBSXJDSyxFQUpxQyxLQUloQkMsRUFKZ0IsS0FNNUNDLHFCQUFVLFdBQ05DLFlBQWlCLENBQ2JYLFlBQWEsWUFBRixPQUFjQSxHQUN6QlksYUFBYSxFQUNiQyxnQkFBaUIsU0FBQ0MsR0FFZEEsRUFBSUMsYUFBZSxVQUNuQlYsRUFBU1MsTUFFZEUsTUFBSyxTQUFDQyxHQUNMUixFQUF1QlEsRUFBU0MsS0FBS0MsTUFBTSxH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T0FBT0EsRUFBSW9CLE1BQ1AseUJBQ0lGLElBQUtsQixFQUFJQyxLQUNUb0IsTUFDSXJCLEVBQUlDLE9BQVNDLEVBQWMsQ0FBRW9CLFFBQVMsUUFBVyxDQUFFQSxRQUFTLFNBRWhFQyxHQUFFLFVBQUt2QixFQUFJQyxLQUFULFFBRUYsa0JBQUMsRUFBRCxDQUNJaUIsSUFBS2xCLEVBQUlDLEtBQ1R6RSxZQUFhd0UsRUFBSUMsS0FDakIzQixhQUFjMEIsRUFBSUwsU0FJMUIseUJBQ0l1QixJQUFLbEIsRUFBSUMsS0FDVG9CLE1BQ0lyQixFQUFJQyxPQUFTQyxFQUFjLENBQUVvQixRQUFTLFFBQVcsQ0FBRUEsUUFBUyxTQUVoRUMsR0FBRSxVQUFLdkIsRUFBSUMsS0FBVCxRQUVGLGtCQUFDLEVBQUQsQ0FBdUJpQixJQUFLbEIsRUFBSUMsS0FBTXpFLFlBQWF3RSxFQUFJQyIsImZpbGUiOiI0LmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0LCB7IHVzZVJlZiwgdXNlRWZmZWN0LCB1c2VTdGF0ZSB9IGZyb20gJ3JlYWN0JztcbmltcG9ydCBQcm9wVHlwZXMgZnJvbSAncHJvcC10eXBlcyc7XG5cbmltcG9ydCB7IF8gfSBmcm9tICdAc3BsdW5rL3VpLXV0aWxzL2kxOG4nO1xuaW1wb3J0IEJ1dHRvbiBmcm9tICdAc3BsdW5rL3JlYWN0LXVpL0J1dHRvbic7XG5pbXBvcnQgc3R5bGVkIGZyb20gJ3N0eWxlZC1jb21wb25lbnRzJztcbmltcG9ydCBXYWl0U3Bpbm5lciBmcm9tICdAc3BsdW5rL3JlYWN0LXVpL1dhaXRTcGlubmVyJztcblxuaW1wb3J0IEJhc2VGb3JtVmlldyBmcm9tICcuL0Jhc2VGb3JtVmlldyc7XG5pbXBvcnQgeyBheGlvc0NhbGxXcmFwcGVyIH0gZnJvbSAnLi4vdXRpbC9heGlvc0NhbGxXcmFwcGVyJztcbmltcG9ydCB7IE1PREVfQ09ORklHIH0gZnJvbSAnLi4vY29uc3RhbnRzL21vZGVzJztcbmltcG9ydCB7IFdhaXRTcGlubmVyV3JhcHBlciB9IGZyb20gJy4vdGFibGUvQ3VzdG9tVGFibGVTdHlsZSc7XG5pbXBvcnQgeyBQQUdFX0NPTkYgfSBmcm9tICcuLi9jb25zdGFudHMvcGFnZXMnO1xuXG5jb25zdCBCdXR0b25XcmFwcGVyID0gc3R5bGVkLmRpdmBcbiAgICBtYXJnaW4tbGVmdDogMjcwcHggIWltcG9ydGFudDtcbiAgICB3aWR0aDogMTUwcHg7XG5cbiAgICAuc2F2ZV9idG4ge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICB9XG5gO1xuXG5mdW5jdGlvbiBDb25maWd1cmF0aW9uRm9ybVZpZXcoeyBzZXJ2aWNlTmFtZSB9KSB7XG4gICAgY29uc3QgZm9ybSA9IHVzZVJlZigpOyAvLyBub3NlbWdyZXA6IHR5cGVzY3JpcHQucmVhY3Quc2VjdXJpdHkuYXVkaXQucmVhY3Qtbm8tcmVmcy5yZWFjdC1uby1yZWZzXG4gICAgY29uc3QgW2Vycm9yLCBzZXRFcnJvcl0gPSB1c2VTdGF0ZShudWxsKTtcbiAgICBjb25zdCBbaXNTdWJtaXR0aW5nLCBzZXRJc1N1Ym1pdHRpbmddID0gdXNlU3RhdGUoZmFsc2UpO1xuICAgIGNvbnN0IFtjdXJyZW50U2VydmljZVN0YXRlLCBzZXRDdXJyZW50U2VydmljZVN0YXRlXSA9IHVzZVN0YXRlKHt9KTtcblxuICAgIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgICAgIGF4aW9zQ2FsbFdyYXBwZXIoe1xuICAgICAgICAgICAgc2VydmljZU5hbWU6IGBzZXR0aW5ncy8ke3NlcnZpY2VOYW1lfWAsXG4gICAgICAgICAgICBoYW5kbGVFcnJvcjogdHJ1ZSxcbiAgICAgICAgICAgIGNhbGxiYWNrT25FcnJvcjogKGVycikgPT4ge1xuICAgICAgICAgICAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby1wYXJhbS1yZWFzc2lnblxuICAgICAgICAgICAgICAgIGVyci51Y2NFcnJvckNvZGUgPSAnRVJSMDAwNSc7XG4gICAgICAgICAgICAgICAgc2V0RXJyb3IoZXJyKTtcbiAgICAgICAgICAgIH0sXG4gICAgICAgIH0pLnRoZW4oKHJlc3BvbnNlKSA9PiB7XG4gICAgICAgICAgICBzZXRDdXJyZW50U2VydmljZVN0YXRlKHJlc3BvbnNlLmRhdGEuZW50cnlbMF0uY29udGVudCk7XG4gICAgICAgIH0pO1xuICAgIH0sIFtzZXJ2aWNlTmFtZV0pO1xuXG4gICAgY29uc3QgaGFuZGxlU3VibWl0ID0gKCkgPT4ge1xuICAgICAgICBmb3JtLmN1cnJlbnQuaGFuZGxlU3VibWl0KCk7XG4gICAgfTtcblxuICAgIGNvbnN0IGhhbmRsZUZvcm1TdWJtaXQgPSAoc2V0KSA9PiB7XG4gICAgICAgIHNldElzU3VibWl0dGluZyhzZXQpO1xuICAgIH07XG5cbiAgICBpZiAoZXJyb3I/LnVjY0Vycm9yQ29kZSkge1xuICAgICAgICB0aHJvdyBlcnJvcjtcbiAgICB9XG5cbiAgICAvLyBSZWYgaXMgdXNlZCBoZXJlIHRvIGNhbGwgc3VibWl0IG1ldGhvZCBvZiBmb3JtIG9ubHlcbiAgICByZXR1cm4gT2JqZWN0LmtleXMoY3VycmVudFNlcnZpY2VTdGF0ZSkubGVuZ3RoID8gKFxuICAgICAgICA8PlxuICAgICAgICAgICAgPEJhc2VGb3JtVmlldyAvLyBub3NlbWdyZXA6IHR5cGVzY3JpcHQucmVhY3Quc2VjdXJpdHkuYXVkaXQucmVhY3Qtbm8tcmVmcy5yZWFjdC1uby1yZWZzXG4gICAgICAgICAgICAgICAgcmVmPXtmb3JtfVxuICAgICAgICAgICAgICAgIHBhZ2U9e1BBR0VfQ09ORn1cbiAgICAgICAgICAgICAgICBzdGFuemFOYW1lPXtzZXJ2aWNlTmFtZX1cbiAgICAgICAgICAgICAgICBzZXJ2aWNlTmFtZT1cInNldHRpbmdzXCJcbiAgICAgICAgICAgICAgICBtb2RlPXtNT0RFX0NPTkZJR31cbiAgICAgICAgICAgICAgICBjdXJyZW50U2VydmljZVN0YXRlPXtjdXJyZW50U2VydmljZVN0YXRlfVxuICAgICAgICAgICAgICAgIGhhbmRsZUZvcm1TdWJtaXQ9e2hhbmRsZUZvcm1TdWJtaXR9XG4gICAgICAgICAgICAvPlxuICAgICAgICAgICAgPEJ1dHRvbldyYXBwZXI+XG4gICAgICAgICAgICAgICAgPEJ1dHRvblxuICAgICAgICAgICAgICAgICAgICBjbGFzc05hbWU9XCJzYXZlQnRuXCJcbiAgICAgICAgICAgICAgICAgICAgYXBwZWFyYW5jZT1cInByaW1hcnlcIlxuICAgICAgICAgICAgICAgICAgICBsYWJlbD17aXNTdWJtaXR0aW5nID8gPFdhaXRTcGlubmVyIC8+IDogXygnU2F2ZScpfVxuICAgICAgICAgICAgICAgICAgICBvbkNsaWNrPXtoYW5kbGVTdWJtaXR9XG4gICAgICAgICAgICAgICAgICAgIGRpc2FibGVkPXtpc1N1Ym1pdHRpbmd9XG4gICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgIDwvQnV0dG9uV3JhcHBlcj5cbiAgICAgICAgPC8+XG4gICAgKSA6IChcbiAgICAgICAgPFdhaXRTcGlubmVyV3JhcHBlciAvPlxuICAgICk7XG59XG5cbkNvbmZpZ3VyYXRpb25Gb3JtVmlldy5wcm9wVHlwZXMgPSB7XG4gICAgc2VydmljZU5hbWU6IFByb3BUeXBlcy5zdHJpbmcuaXNSZXF1aXJlZCxcbn07XG5cbmV4cG9ydCBkZWZhdWx0IENvbmZpZ3VyYXRpb25Gb3JtVmlldztcbiIsImltcG9ydCBSZWFjdCwgeyB1c2VTdGF0ZSwgbWVtbyB9IGZyb20gJ3JlYWN0JztcbmltcG9ydCBQcm9wVHlwZXMgZnJvbSAncHJvcC10eXBlcyc7XG5cbmltcG9ydCBUb2FzdE1lc3NhZ2VzIGZyb20gJ0BzcGx1bmsvcmVhY3QtdG9hc3Qtbm90aWZpY2F0aW9ucy9Ub2FzdE1lc3NhZ2VzJztcblxuaW1wb3J0IHsgVGFibGVDb250ZXh0UHJvdmlkZXIgfSBmcm9tICcuLi9jb250ZXh0L1RhYmxlQ29udGV4dCc7XG5pbXBvcnQgVGFibGVXcmFwcGVyIGZyb20gJy4vdGFibGUvVGFibGVXcmFwcGVyJztcbmltcG9ydCBFbnRpdHlNb2RhbCBmcm9tICcuL0VudGl0eU1vZGFsJztcbmltcG9ydCB7IE1PREVfQ1JFQVRFIH0gZnJvbSAnLi4vY29uc3RhbnRzL21vZGVzJztcbmltcG9ydCB7IFBBR0VfQ09ORiB9IGZyb20gJy4uL2NvbnN0YW50cy9wYWdlcyc7XG5cbmZ1bmN0aW9uIENvbmZpZ3VyYXRpb25UYWJsZSh7IHNlcnZpY2VOYW1lLCBzZXJ2aWNlVGl0bGUgfSkge1xuICAgIGNvbnN0IFtvcGVuLCBzZXRPcGVuXSA9IHVzZVN0YXRlKGZhbHNlKTtcbiAgICBjb25zdCBzZXJ2aWNlTGFiZWwgPSBgQWRkICR7c2VydmljZVRpdGxlfWA7XG5cbiAgICBjb25zdCBoYW5kbGVSZXF1ZXN0T3BlbiA9ICgpID0+IHtcbiAgICAgICAgc2V0T3Blbih0cnVlKTtcbiAgICB9O1xuXG4gICAgY29uc3QgaGFuZGxlUmVxdWVzdENsb3NlID0gKCkgPT4ge1xuICAgICAgICBzZXRPcGVuKGZhbHNlKTtcbiAgICB9O1xuICAgIGNvbnN0IGdlbmVyYXRlTW9kYWxEaWFsb2cgPSAoKSA9PiB7XG4gICAgICAgIGlmIChvcGVuKSB7XG4gICAgICAgICAgICByZXR1cm4gKFxuICAgICAgICAgICAgICAgIDxFbnRpdHlNb2RhbFxuICAgICAgICAgICAgICAgICAgICBwYWdlPXtQQUdFX0NPTkZ9XG4gICAgICAgICAgICAgICAgICAgIG9wZW49e29wZW59XG4gICAgICAgICAgICAgICAgICAgIGhhbmRsZVJlcXVlc3RDbG9zZT17aGFuZGxlUmVxdWVzdENsb3NlfVxuICAgICAgICAgICAgICAgICAgICBoYW5kbGVTYXZlRGF0YT17KCkgPT4ge319XG4gICAgICAgICAgICAgICAgICAgIHNlcnZpY2VOYW1lPXtzZXJ2aWNlTmFtZX1cbiAgICAgICAgICAgICAgICAgICAgbW9kZT17TU9ERV9DUkVBVEV9XG4gICAgICAgICAgICAgICAgICAgIGZvcm1MYWJlbD17c2VydmljZUxhYmVsfVxuICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICApO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBudWxsO1xuICAgIH07XG4gICAgcmV0dXJuIChcbiAgICAgICAgPD5cbiAgICAgICAgICAgIDxUYWJsZUNvbnRleHRQcm92aWRlciB2YWx1ZT17bnVsbH0+XG4gICAgICAgICAgICAgICAgPFRhYmxlV3JhcHBlclxuICAgICAgICAgICAgICAgICAgICBwYWdlPXtQQUdFX0NPTkZ9XG4gICAgICAgICAgICAgICAgICAgIHNlcnZpY2VOYW1lPXtzZXJ2aWNlTmFtZX1cbiAgICAgICAgICAgICAgICAgICAgaGFuZGxlUmVxdWVzdE1vZGFsT3Blbj17KCkgPT4gaGFuZGxlUmVxdWVzdE9wZW4oKX1cbiAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgIDxUb2FzdE1lc3NhZ2VzIHBvc2l0aW9uPVwidG9wLXJpZ2h0XCIgLz5cbiAgICAgICAgICAgICAgICB7Z2VuZXJhdGVNb2RhbERpYWxvZygpfVxuICAgICAgICAgICAgPC9UYWJsZUNvbnRleHRQcm92aWRlcj5cbiAgICAgICAgPC8+XG4gICAgKTtcbn1cblxuQ29uZmlndXJhdGlvblRhYmxlLnByb3BUeXBlcyA9IHtcbiAgICBzZXJ2aWNlTmFtZTogUHJvcFR5cGVzLnN0cmluZy5pc1JlcXVpcmVkLFxuICAgIHNlcnZpY2VUaXRsZTogUHJvcFR5cGVzLnN0cmluZy5pc1JlcXVpcmVkLFxufTtcblxuZXhwb3J0IGRlZmF1bHQgbWVtbyhDb25maWd1cmF0aW9uVGFibGUpO1xuIiwiaW1wb3J0IFJlYWN0LCB7IHVzZVN0YXRlLCB1c2VDYWxsYmFjaywgdXNlRWZmZWN0IH0gZnJvbSAncmVhY3QnO1xuXG5pbXBvcnQgeyBfIH0gZnJvbSAnQHNwbHVuay91aS11dGlscy9pMThuJztcbmltcG9ydCBUYWJCYXIgZnJvbSAnQHNwbHVuay9yZWFjdC11aS9UYWJCYXInO1xuaW1wb3J0IENvbHVtbkxheW91dCBmcm9tICdAc3BsdW5rL3JlYWN0LXVpL0NvbHVtbkxheW91dCc7XG5pbXBvcnQgc3R5bGVkIGZyb20gJ3N0eWxlZC1jb21wb25lbnRzJztcblxuaW1wb3J0IHVzZVF1ZXJ5IGZyb20gJy4uLy4uL2hvb2tzL3VzZVF1ZXJ5JztcbmltcG9ydCB7IGdldFVuaWZpZWRDb25maWdzIH0gZnJvbSAnLi4vLi4vdXRpbC91dGlsJztcbmltcG9ydCB7IFRpdGxlQ29tcG9uZW50LCBTdWJUaXRsZUNvbXBvbmVudCB9IGZyb20gJy4uL0lucHV0L0lucHV0UGFnZVN0eWxlJztcbmltcG9ydCBFcnJvckJvdW5kYXJ5IGZyb20gJy4uLy4uL2NvbXBvbmVudHMvRXJyb3JCb3VuZGFyeSc7XG5pbXBvcnQgQ29uZmlndXJhdGlvbkZvcm1WaWV3IGZyb20gJy4uLy4uL2NvbXBvbmVudHMvQ29uZmlndXJhdGlvbkZvcm1WaWV3JztcbmltcG9ydCBDb25maWd1cmF0aW9uVGFibGUgZnJvbSAnLi4vLi4vY29tcG9uZW50cy9Db25maWd1cmF0aW9uVGFibGUnO1xuXG5jb25zdCBSb3cgPSBzdHlsZWQoQ29sdW1uTGF5b3V0LlJvdylgXG4gICAgcGFkZGluZzogNXB4IDBweDtcblxuICAgIC5kcm9wZG93biB7XG4gICAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgIH1cblxuICAgIC5pbnB1dF9idXR0b24ge1xuICAgICAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAwcHg7XG4gICAgfVxuYDtcblxuZnVuY3Rpb24gQ29uZmlndXJhdGlvblBhZ2UoKSB7XG4gICAgY29uc3QgdW5pZmllZENvbmZpZ3MgPSBnZXRVbmlmaWVkQ29uZmlncygpO1xuICAgIGNvbnN0IHsgdGl0bGUsIGRlc2NyaXB0aW9uLCB0YWJzIH0gPSB1bmlmaWVkQ29uZmlncy5wYWdlcy5jb25maWd1cmF0aW9uO1xuICAgIGNvbnN0IHBlcm1pdHRlZFRhYk5hbWVzID0gdGFicy5tYXAoKHRhYikgPT4ge1xuICAgICAgICByZXR1cm4gdGFiLm5hbWU7XG4gICAgfSk7XG5cbiAgICBjb25zdCBbYWN0aXZlVGFiSWQsIHNldEFjdGl2ZVRhYklkXSA9IHVzZVN0YXRlKHRhYnNbMF0ubmFtZSk7XG5cbiAgICBjb25zdCBxdWVyeSA9IHVzZVF1ZXJ5KCk7XG5cbiAgICAvLyBSdW4gaW5pdGlhbGx5IGFuZCB3aGVuIHF1ZXJ5IGlzIHVwZGF0ZWQgdG8gc2V0IGFjdGl2ZSB0YWIgYmFzZWQgb24gaW5pdGlhbCBVUkxcbiAgICAvLyBvciB3aGlsZSBuYXZpZ2F0aW5nIGJyb3dzZXIgaGlzdG9yeVxuICAgIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgICAgIC8vIE9ubHkgY2hhbmdlIGFjdGl2ZSB0YWIgd2hlbiBwcm92aWRlZCB0YWIgaW4gcXVlcnkgaXMgc3BlY2lmaWVkIGluIGdsb2JhbENvbmZpZ1xuICAgICAgICAvLyBhbmQgaWYgdGhlIGN1cnJlbnQgYWN0aXZlIHRhYiBpcyBub3Qgc2FtZSBhcyBwcm92aWRlZCBpbiBxdWVyeVxuICAgICAgICBpZiAoXG4gICAgICAgICAgICBxdWVyeSAmJlxuICAgICAgICAgICAgcGVybWl0dGVkVGFiTmFtZXMuaW5jbHVkZXMocXVlcnkuZ2V0KCd0YWInKSkgJiZcbiAgICAgICAgICAgIHF1ZXJ5LmdldCgndGFiJykgIT09IGFjdGl2ZVRhYklkXG4gICAgICAgICkge1xuICAgICAgICAgICAgc2V0QWN0aXZlVGFiSWQocXVlcnkuZ2V0KCd0YWInKSk7XG4gICAgICAgIH1cbiAgICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIHJlYWN0LWhvb2tzL2V4aGF1c3RpdmUtZGVwc1xuICAgIH0sIFtdKTtcblxuICAgIGNvbnN0IGhhbmRsZUNoYW5nZSA9IHVzZUNhbGxiYWNrKFxuICAgICAgICAoZSwgeyBzZWxlY3RlZFRhYklkIH0pID0+IHtcbiAgICAgICAgICAgIHNldEFjdGl2ZVRhYklkKHNlbGVjdGVkVGFiSWQpO1xuICAgICAgICB9LFxuICAgICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgcmVhY3QtaG9va3MvZXhoYXVzdGl2ZS1kZXBzXG4gICAgICAgIFthY3RpdmVUYWJJZF1cbiAgICApO1xuXG4gICAgcmV0dXJuIChcbiAgICAgICAgPEVycm9yQm91bmRhcnk+XG4gICAgICAgICAgICA8Q29sdW1uTGF5b3V0IGd1dHRlcj17OH0+XG4gICAgICAgICAgICAgICAgPFJvdz5cbiAgICAgICAgICAgICAgICAgICAgPENvbHVtbkxheW91dC5Db2x1bW4gc3Bhbj17OX0+XG4gICAgICAgICAgICAgICAgICAgICAgICA8VGl0bGVDb21wb25lbnQ+e18odGl0bGUpfTwvVGl0bGVDb21wb25lbnQ+XG4gICAgICAgICAgICAgICAgICAgICAgICA8U3ViVGl0bGVDb21wb25lbnQ+e18oZGVzY3JpcHRpb24gfHwgJycpfTwvU3ViVGl0bGVDb21wb25lbnQ+XG4gICAgICAgICAgICAgICAgICAgIDwvQ29sdW1uTGF5b3V0LkNvbHVtbj5cbiAgICAgICAgICAgICAgICA8L1Jvdz5cbiAgICAgICAgICAgIDwvQ29sdW1uTGF5b3V0PlxuICAgICAgICAgICAgPFRhYkJhciBhY3RpdmVUYWJJZD17YWN0aXZlVGFiSWR9IG9uQ2hhbmdlPXtoYW5kbGVDaGFuZ2V9PlxuICAgICAgICAgICAgICAgIHt0YWJzLm1hcCgodGFiKSA9PiAoXG4gICAgICAgICAgICAgICAgICAgIDxUYWJCYXIuVGFiIGtleT17dGFiLm5hbWV9IGxhYmVsPXtfKHRhYi50aXRsZSl9IHRhYklkPXt0YWIubmFtZX0gLz5cbiAgICAgICAgICAgICAgICApKX1cbiAgICAgICAgICAgIDwvVGFiQmFyPlxuICAgICAgICAgICAge3RhYnMubWFwKCh0YWIpID0+IHtcbiAgICAgICAgICAgICAgICByZXR1cm4gdGFiLnRhYmxlID8gKFxuICAgICAgICAgICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgICAgICAgICAgICBrZXk9e3RhYi5uYW1lfVxuICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9e1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRhYi5uYW1lICE9PSBhY3RpdmVUYWJJZCA/IHsgZGlzcGxheTogJ25vbmUnIH0gOiB7IGRpc3BsYXk6ICdibG9jaycgfVxuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgaWQ9e2Ake3RhYi5uYW1lfVRhYmB9XG4gICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxDb25maWd1cmF0aW9uVGFibGVcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBrZXk9e3RhYi5uYW1lfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNlcnZpY2VOYW1lPXt0YWIubmFtZX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZXJ2aWNlVGl0bGU9e3RhYi50aXRsZX1cbiAgICAgICAgICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICkgOiAoXG4gICAgICAgICAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgICAgICAgICAgIGtleT17dGFiLm5hbWV9XG4gICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT17XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGFiLm5hbWUgIT09IGFjdGl2ZVRhYklkID8geyBkaXNwbGF5OiAnbm9uZScgfSA6IHsgZGlzcGxheTogJ2Jsb2NrJyB9XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICBpZD17YCR7dGFiLm5hbWV9VGFiYH1cbiAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAgPENvbmZpZ3VyYXRpb25Gb3JtVmlldyBrZXk9e3RhYi5uYW1lfSBzZXJ2aWNlTmFtZT17dGFiLm5hbWV9IC8+XG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICB9KX1cbiAgICAgICAgPC9FcnJvckJvdW5kYXJ5PlxuICAgICk7XG59XG5cbmV4cG9ydCBkZWZhdWx0IENvbmZpZ3VyYXRpb25QYWdlO1xuIl0sInNvdXJjZVJvb3QiOiIifQ== \ No newline at end of file +(window.webpackJsonp=window.webpackJsonp||[]).push([[4],{464:function(e,a,t){"use strict";t.r(a);var n,c=t(63),r=t.n(c),l=t(13),i=t.n(l),u=t(0),m=t.n(u),s=t(6),o=t(459),d=t.n(o),b=t(308),p=t.n(b),v=t(264),f=t.n(v),E=t(1),g=t(284),O=t(40),j=t(280),h=t(324),y=t(3),k=t.n(y),N=t(30),w=t.n(N),S=t(67),T=t.n(S),R=t(288),x=t(257),C=t(256),_=t(68),q=t(43),F=E.default.div(n||(n=i()(["\n margin-left: 270px !important;\n width: 150px;\n\n .save_btn {\n width: 100%;\n }\n"])));function I(e){var a=e.serviceName,t=Object(u.useRef)(),n=Object(u.useState)(null),c=r()(n,2),l=c[0],i=c[1],o=Object(u.useState)(!1),d=r()(o,2),b=d[0],p=d[1],v=Object(u.useState)({}),f=r()(v,2),E=f[0],g=f[1];Object(u.useEffect)((function(){Object(x.a)({serviceName:"settings/".concat(a),handleError:!0,callbackOnError:function(e){e.uccErrorCode="ERR0005",i(e)}}).then((function(e){g(e.data.entry[0].content)}))}),[a]);if(null!=l&&l.uccErrorCode)throw l;return Object.keys(E).length?m.a.createElement(m.a.Fragment,null,m.a.createElement(R.a,{ref:t,page:q.a,stanzaName:a,serviceName:"settings",mode:C.b,currentServiceState:E,handleFormSubmit:function(e){p(e)}}),m.a.createElement(F,null,m.a.createElement(w.a,{className:"saveBtn",appearance:"primary",label:b?m.a.createElement(T.a,null):Object(s._)("Save"),onClick:function(){t.current.handleSubmit()},disabled:b}))):m.a.createElement(_.d,null)}I.propTypes={serviceName:k.a.string.isRequired};var J=I,z=t(255),A=t(323),B=t(285);function D(e){var a=e.serviceName,t=e.serviceTitle,n=Object(u.useState)(!1),c=r()(n,2),l=c[0],i=c[1],s="Add ".concat(t),o=function(){i(!1)};return m.a.createElement(m.a.Fragment,null,m.a.createElement(z.a,{value:null},m.a.createElement(A.a,{page:q.a,serviceName:a,handleRequestModalOpen:function(){i(!0)}}),l?m.a.createElement(B.a,{page:q.a,open:l,handleRequestClose:o,handleSaveData:function(){},serviceName:a,mode:C.c,formLabel:s}):null))}D.propTypes={serviceName:k.a.string.isRequired,serviceTitle:k.a.string.isRequired};var L,M=Object(u.memo)(D),G=Object(E.default)(f.a.Row)(L||(L=i()(["\n padding: 5px 0px;\n\n .dropdown {\n text-align: right;\n }\n\n .input_button {\n text-align: right;\n margin-right: 0px;\n }\n"])));a.default=function(){var e=Object(O.d)().pages.configuration,a=e.title,t=e.description,n=e.tabs,c=n.map((function(e){return e.name})),l=Object(u.useState)(n[0].name),i=r()(l,2),o=i[0],b=i[1],v=Object(g.a)();Object(u.useEffect)((function(){v&&c.includes(v.get("tab"))&&v.get("tab")!==o&&b(v.get("tab"))}),[]);var E=Object(u.useCallback)((function(e,a){var t=a.selectedTabId;b(t)}),[o]);return m.a.createElement(h.a,null,m.a.createElement(f.a,{gutter:8},m.a.createElement(G,null,m.a.createElement(f.a.Column,{span:9},m.a.createElement(j.b,null,Object(s._)(a)),m.a.createElement(j.a,null,Object(s._)(t||""))))),m.a.createElement(d.a,{activeTabId:o,onChange:E},n.map((function(e){return m.a.createElement(d.a.Tab,{key:e.name,label:Object(s._)(e.title),tabId:e.name})}))),n.map((function(e){return e.table?m.a.createElement("div",{key:e.name,style:e.name!==o?{display:"none"}:{display:"block"},id:"".concat(e.name,"Tab")},m.a.createElement(M,{key:e.name,serviceName:e.name,serviceTitle:e.title})):m.a.createElement("div",{key:e.name,style:e.name!==o?{display:"none"}:{display:"block"},id:"".concat(e.name,"Tab")},m.a.createElement(J,{key:e.name,serviceName:e.name}))})),m.a.createElement(p.a,{position:"top-right"}))}}}]); +//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9zcmMvbWFpbi93ZWJhcHAvY29tcG9uZW50cy9Db25maWd1cmF0aW9uRm9ybVZpZXcuanN4Iiwid2VicGFjazovLy8uL3NyYy9tYWluL3dlYmFwcC9jb21wb25lbnRzL0NvbmZpZ3VyYXRpb25UYWJsZS5qc3giLCJ3ZWJwYWNrOi8vLy4vc3JjL21haW4vd2ViYXBwL3BhZ2VzL0NvbmZpZ3VyYXRpb24vQ29uZmlndXJhdGlvblBhZ2UuanN4Il0sIm5hbWVzIjpbIkJ1dHRvbldyYXBwZXIiLCJzdHlsZWQiLCJkaXYiLCJDb25maWd1cmF0aW9uRm9ybVZpZXciLCJzZXJ2aWNlTmFtZSIsImZvcm0iLCJ1c2VSZWYiLCJ1c2VTdGF0ZSIsImVycm9yIiwic2V0RXJyb3IiLCJpc1N1Ym1pdHRpbmciLCJzZXRJc1N1Ym1pdHRpbmciLCJjdXJyZW50U2VydmljZVN0YXRlIiwic2V0Q3VycmVudFNlcnZpY2VTdGF0ZSIsInVzZUVmZmVjdCIsImF4aW9zQ2FsbFdyYXBwZXIiLCJoYW5kbGVFcnJvciIsImNhbGxiYWNrT25FcnJvciIsImVyciIsInVjY0Vycm9yQ29kZSIsInRoZW4iLCJyZXNwb25zZSIsImRhdGEiLCJlbnRyeSIsImNvbnRlbnQiLCJPYmplY3QiLCJrZXlzIiwibGVuZ3RoIiwiQmFzZUZvcm1WaWV3IiwicmVmIiwicGFnZSIsIlBBR0VfQ09ORiIsInN0YW56YU5hbWUiLCJtb2RlIiwiTU9ERV9DT05GSUciLCJoYW5kbGVGb3JtU3VibWl0Iiwic2V0IiwiY2xhc3NOYW1lIiwiYXBwZWFyYW5jZSIsImxhYmVsIiwiXyIsIm9uQ2xpY2siLCJjdXJyZW50IiwiaGFuZGxlU3VibWl0IiwiZGlzYWJsZWQiLCJwcm9wVHlwZXMiLCJQcm9wVHlwZXMiLCJzdHJpbmciLCJpc1JlcXVpcmVkIiwiQ29uZmlndXJhdGlvblRhYmxlIiwic2VydmljZVRpdGxlIiwib3BlbiIsInNldE9wZW4iLCJzZXJ2aWNlTGFiZWwiLCJoYW5kbGVSZXF1ZXN0Q2xvc2UiLCJUYWJsZUNvbnRleHQiLCJ2YWx1ZSIsIlRhYmxlV3JhcHBlciIsImhhbmRsZVJlcXVlc3RNb2RhbE9wZW4iLCJFbnRpdHlNb2RhbCIsImhhbmRsZVNhdmVEYXRhIiwiTU9ERV9DUkVBVEUiLCJmb3JtTGFiZWwiLCJtZW1vIiwiUm93IiwiQ29sdW1uTGF5b3V0IiwiQ29uZmlndXJhdGlvblBhZ2UiLCJnZXRVbmlmaWVkQ29uZmlncyIsInBhZ2VzIiwiY29uZmlndXJhdGlvbiIsInRpdGxlIiwiZGVzY3JpcHRpb24iLCJ0YWJzIiwicGVybWl0dGVkVGFiTmFtZXMiLCJtYXAiLCJ0YWIiLCJuYW1lIiwiYWN0aXZlVGFiSWQiLCJzZXRBY3RpdmVUYWJJZCIsInF1ZXJ5IiwidXNlUXVlcnkiLCJpbmNsdWRlcyIsImdldCIsImhhbmRsZUNoYW5nZSIsInVzZUNhbGxiYWNrIiwiZSIsInNlbGVjdGVkVGFiSWQiLCJFcnJvckJvdW5kYXJ5IiwiZ3V0dGVyIiwiQ29sdW1uIiwic3BhbiIsIm9uQ2hhbmdlIiwiVGFiIiwia2V5IiwidGFiSWQiLCJ0YWJsZSIsInN0eWxlIiwiZGlzcGxheSIsImlkIiwicG9zaXRpb24iXSwibWFwcGluZ3MiOiI2VkFjTUEsRUFBZ0JDLFVBQU9DLElBQVYsMkhBU25CLFNBQVNDLEVBQVQsR0FBZ0QsSUFBZkMsRUFBZSxFQUFmQSxZQUN2QkMsRUFBT0MsbUJBRCtCLEVBRWxCQyxtQkFBUyxNQUZTLFdBRXJDQyxFQUZxQyxLQUU5QkMsRUFGOEIsT0FHSkYsb0JBQVMsR0FITCxXQUdyQ0csRUFIcUMsS0FHdkJDLEVBSHVCLE9BSVVKLG1CQUFTLElBSm5CLFdBSXJDSyxFQUpxQyxLQUloQkMsRUFKZ0IsS0FNNUNDLHFCQUFVLFdBQ05DLFlBQWlCLENBQ2JYLFlBQWEsWUFBRixPQUFjQSxHQUN6QlksYUFBYSxFQUNiQyxnQkFBaUIsU0FBQ0MsR0FFZEEsRUFBSUMsYUFBZSxVQUNuQlYsRUFBU1MsTUFFZEUsTUFBSyxTQUFDQyxHQUNMUixFQUF1QlEsRUFBU0MsS0FBS0MsTUFBTSxH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RUFBSUMsS0FDVG9CLE1BQ0lyQixFQUFJQyxPQUFTQyxFQUFjLENBQUVvQixRQUFTLFFBQVcsQ0FBRUEsUUFBUyxTQUVoRUMsR0FBRSxVQUFLdkIsRUFBSUMsS0FBVCxRQUVGLGtCQUFDLEVBQUQsQ0FDSWlCLElBQUtsQixFQUFJQyxLQUNUeEUsWUFBYXVFLEVBQUlDLEtBQ2pCMUIsYUFBY3lCLEVBQUlMLFNBSTFCLHlCQUNJdUIsSUFBS2xCLEVBQUlDLEtBQ1RvQixNQUNJckIsRUFBSUMsT0FBU0MsRUFBYyxDQUFFb0IsUUFBUyxRQUFXLENBQUVBLFFBQVMsU0FFaEVDLEdBQUUsVUFBS3ZCLEVBQUlDLEtBQVQsUUFFRixrQkFBQyxFQUFELENBQXVCaUIsSUFBS2xCLEVBQUlDLEtBQU14RSxZQUFhdUUsRUFBSUMsV0FJbkUsa0JBQUMsSUFBRCxDQUFldUIsU0FBUyIsImZpbGUiOiI0LmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0LCB7IHVzZVJlZiwgdXNlRWZmZWN0LCB1c2VTdGF0ZSB9IGZyb20gJ3JlYWN0JztcbmltcG9ydCBQcm9wVHlwZXMgZnJvbSAncHJvcC10eXBlcyc7XG5cbmltcG9ydCB7IF8gfSBmcm9tICdAc3BsdW5rL3VpLXV0aWxzL2kxOG4nO1xuaW1wb3J0IEJ1dHRvbiBmcm9tICdAc3BsdW5rL3JlYWN0LXVpL0J1dHRvbic7XG5pbXBvcnQgc3R5bGVkIGZyb20gJ3N0eWxlZC1jb21wb25lbnRzJztcbmltcG9ydCBXYWl0U3Bpbm5lciBmcm9tICdAc3BsdW5rL3JlYWN0LXVpL1dhaXRTcGlubmVyJztcblxuaW1wb3J0IEJhc2VGb3JtVmlldyBmcm9tICcuL0Jhc2VGb3JtVmlldyc7XG5pbXBvcnQgeyBheGlvc0NhbGxXcmFwcGVyIH0gZnJvbSAnLi4vdXRpbC9heGlvc0NhbGxXcmFwcGVyJztcbmltcG9ydCB7IE1PREVfQ09ORklHIH0gZnJvbSAnLi4vY29uc3RhbnRzL21vZGVzJztcbmltcG9ydCB7IFdhaXRTcGlubmVyV3JhcHBlciB9IGZyb20gJy4vdGFibGUvQ3VzdG9tVGFibGVTdHlsZSc7XG5pbXBvcnQgeyBQQUdFX0NPTkYgfSBmcm9tICcuLi9jb25zdGFudHMvcGFnZXMnO1xuXG5jb25zdCBCdXR0b25XcmFwcGVyID0gc3R5bGVkLmRpdmBcbiAgICBtYXJnaW4tbGVmdDogMjcwcHggIWltcG9ydGFudDtcbiAgICB3aWR0aDogMTUwcHg7XG5cbiAgICAuc2F2ZV9idG4ge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICB9XG5gO1xuXG5mdW5jdGlvbiBDb25maWd1cmF0aW9uRm9ybVZpZXcoeyBzZXJ2aWNlTmFtZSB9KSB7XG4gICAgY29uc3QgZm9ybSA9IHVzZVJlZigpOyAvLyBub3NlbWdyZXA6IHR5cGVzY3JpcHQucmVhY3Quc2VjdXJpdHkuYXVkaXQucmVhY3Qtbm8tcmVmcy5yZWFjdC1uby1yZWZzXG4gICAgY29uc3QgW2Vycm9yLCBzZXRFcnJvcl0gPSB1c2VTdGF0ZShudWxsKTtcbiAgICBjb25zdCBbaXNTdWJtaXR0aW5nLCBzZXRJc1N1Ym1pdHRpbmddID0gdXNlU3RhdGUoZmFsc2UpO1xuICAgIGNvbnN0IFtjdXJyZW50U2VydmljZVN0YXRlLCBzZXRDdXJyZW50U2VydmljZVN0YXRlXSA9IHVzZVN0YXRlKHt9KTtcblxuICAgIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgICAgIGF4aW9zQ2FsbFdyYXBwZXIoe1xuICAgICAgICAgICAgc2VydmljZU5hbWU6IGBzZXR0aW5ncy8ke3NlcnZpY2VOYW1lfWAsXG4gICAgICAgICAgICBoYW5kbGVFcnJvcjogdHJ1ZSxcbiAgICAgICAgICAgIGNhbGxiYWNrT25FcnJvcjogKGVycikgPT4ge1xuICAgICAgICAgICAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby1wYXJhbS1yZWFzc2lnblxuICAgICAgICAgICAgICAgIGVyci51Y2NFcnJvckNvZGUgPSAnRVJSMDAwNSc7XG4gICAgICAgICAgICAgICAgc2V0RXJyb3IoZXJyKTtcbiAgICAgICAgICAgIH0sXG4gICAgICAgIH0pLnRoZW4oKHJlc3BvbnNlKSA9PiB7XG4gICAgICAgICAgICBzZXRDdXJyZW50U2VydmljZVN0YXRlKHJlc3BvbnNlLmRhdGEuZW50cnlbMF0uY29udGVudCk7XG4gICAgICAgIH0pO1xuICAgIH0sIFtzZXJ2aWNlTmFtZV0pO1xuXG4gICAgY29uc3QgaGFuZGxlU3VibWl0ID0gKCkgPT4ge1xuICAgICAgICBmb3JtLmN1cnJlbnQuaGFuZGxlU3VibWl0KCk7XG4gICAgfTtcblxuICAgIGNvbnN0IGhhbmRsZUZvcm1TdWJtaXQgPSAoc2V0KSA9PiB7XG4gICAgICAgIHNldElzU3VibWl0dGluZyhzZXQpO1xuICAgIH07XG5cbiAgICBpZiAoZXJyb3I/LnVjY0Vycm9yQ29kZSkge1xuICAgICAgICB0aHJvdyBlcnJvcjtcbiAgICB9XG5cbiAgICAvLyBSZWYgaXMgdXNlZCBoZXJlIHRvIGNhbGwgc3VibWl0IG1ldGhvZCBvZiBmb3JtIG9ubHlcbiAgICByZXR1cm4gT2JqZWN0LmtleXMoY3VycmVudFNlcnZpY2VTdGF0ZSkubGVuZ3RoID8gKFxuICAgICAgICA8PlxuICAgICAgICAgICAgPEJhc2VGb3JtVmlldyAvLyBub3NlbWdyZXA6IHR5cGVzY3JpcHQucmVhY3Quc2VjdXJpdHkuYXVkaXQucmVhY3Qtbm8tcmVmcy5yZWFjdC1uby1yZWZzXG4gICAgICAgICAgICAgICAgcmVmPXtmb3JtfVxuICAgICAgICAgICAgICAgIHBhZ2U9e1BBR0VfQ09ORn1cbiAgICAgICAgICAgICAgICBzdGFuemFOYW1lPXtzZXJ2aWNlTmFtZX1cbiAgICAgICAgICAgICAgICBzZXJ2aWNlTmFtZT1cInNldHRpbmdzXCJcbiAgICAgICAgICAgICAgICBtb2RlPXtNT0RFX0NPTkZJR31cbiAgICAgICAgICAgICAgICBjdXJyZW50U2VydmljZVN0YXRlPXtjdXJyZW50U2VydmljZVN0YXRlfVxuICAgICAgICAgICAgICAgIGhhbmRsZUZvcm1TdWJtaXQ9e2hhbmRsZUZvcm1TdWJtaXR9XG4gICAgICAgICAgICAvPlxuICAgICAgICAgICAgPEJ1dHRvbldyYXBwZXI+XG4gICAgICAgICAgICAgICAgPEJ1dHRvblxuICAgICAgICAgICAgICAgICAgICBjbGFzc05hbWU9XCJzYXZlQnRuXCJcbiAgICAgICAgICAgICAgICAgICAgYXBwZWFyYW5jZT1cInByaW1hcnlcIlxuICAgICAgICAgICAgICAgICAgICBsYWJlbD17aXNTdWJtaXR0aW5nID8gPFdhaXRTcGlubmVyIC8+IDogXygnU2F2ZScpfVxuICAgICAgICAgICAgICAgICAgICBvbkNsaWNrPXtoYW5kbGVTdWJtaXR9XG4gICAgICAgICAgICAgICAgICAgIGRpc2FibGVkPXtpc1N1Ym1pdHRpbmd9XG4gICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgIDwvQnV0dG9uV3JhcHBlcj5cbiAgICAgICAgPC8+XG4gICAgKSA6IChcbiAgICAgICAgPFdhaXRTcGlubmVyV3JhcHBlciAvPlxuICAgICk7XG59XG5cbkNvbmZpZ3VyYXRpb25Gb3JtVmlldy5wcm9wVHlwZXMgPSB7XG4gICAgc2VydmljZU5hbWU6IFByb3BUeXBlcy5zdHJpbmcuaXNSZXF1aXJlZCxcbn07XG5cbmV4cG9ydCBkZWZhdWx0IENvbmZpZ3VyYXRpb25Gb3JtVmlldztcbiIsImltcG9ydCBSZWFjdCwgeyB1c2VTdGF0ZSwgbWVtbyB9IGZyb20gJ3JlYWN0JztcbmltcG9ydCBQcm9wVHlwZXMgZnJvbSAncHJvcC10eXBlcyc7XG5cbmltcG9ydCB7IFRhYmxlQ29udGV4dFByb3ZpZGVyIH0gZnJvbSAnLi4vY29udGV4dC9UYWJsZUNvbnRleHQnO1xuaW1wb3J0IFRhYmxlV3JhcHBlciBmcm9tICcuL3RhYmxlL1RhYmxlV3JhcHBlcic7XG5pbXBvcnQgRW50aXR5TW9kYWwgZnJvbSAnLi9FbnRpdHlNb2RhbCc7XG5pbXBvcnQgeyBNT0RFX0NSRUFURSB9IGZyb20gJy4uL2NvbnN0YW50cy9tb2Rlcyc7XG5pbXBvcnQgeyBQQUdFX0NPTkYgfSBmcm9tICcuLi9jb25zdGFudHMvcGFnZXMnO1xuXG5mdW5jdGlvbiBDb25maWd1cmF0aW9uVGFibGUoeyBzZXJ2aWNlTmFtZSwgc2VydmljZVRpdGxlIH0pIHtcbiAgICBjb25zdCBbb3Blbiwgc2V0T3Blbl0gPSB1c2VTdGF0ZShmYWxzZSk7XG4gICAgY29uc3Qgc2VydmljZUxhYmVsID0gYEFkZCAke3NlcnZpY2VUaXRsZX1gO1xuXG4gICAgY29uc3QgaGFuZGxlUmVxdWVzdE9wZW4gPSAoKSA9PiB7XG4gICAgICAgIHNldE9wZW4odHJ1ZSk7XG4gICAgfTtcblxuICAgIGNvbnN0IGhhbmRsZVJlcXVlc3RDbG9zZSA9ICgpID0+IHtcbiAgICAgICAgc2V0T3BlbihmYWxzZSk7XG4gICAgfTtcbiAgICBjb25zdCBnZW5lcmF0ZU1vZGFsRGlhbG9nID0gKCkgPT4ge1xuICAgICAgICBpZiAob3Blbikge1xuICAgICAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgICAgICA8RW50aXR5TW9kYWxcbiAgICAgICAgICAgICAgICAgICAgcGFnZT17UEFHRV9DT05GfVxuICAgICAgICAgICAgICAgICAgICBvcGVuPXtvcGVufVxuICAgICAgICAgICAgICAgICAgICBoYW5kbGVSZXF1ZXN0Q2xvc2U9e2hhbmRsZVJlcXVlc3RDbG9zZX1cbiAgICAgICAgICAgICAgICAgICAgaGFuZGxlU2F2ZURhdGE9eygpID0+IHt9fVxuICAgICAgICAgICAgICAgICAgICBzZXJ2aWNlTmFtZT17c2VydmljZU5hbWV9XG4gICAgICAgICAgICAgICAgICAgIG1vZGU9e01PREVfQ1JFQVRFfVxuICAgICAgICAgICAgICAgICAgICBmb3JtTGFiZWw9e3NlcnZpY2VMYWJlbH1cbiAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgKTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gbnVsbDtcbiAgICB9O1xuICAgIHJldHVybiAoXG4gICAgICAgIDw+XG4gICAgICAgICAgICA8VGFibGVDb250ZXh0UHJvdmlkZXIgdmFsdWU9e251bGx9PlxuICAgICAgICAgICAgICAgIDxUYWJsZVdyYXBwZXJcbiAgICAgICAgICAgICAgICAgICAgcGFnZT17UEFHRV9DT05GfVxuICAgICAgICAgICAgICAgICAgICBzZXJ2aWNlTmFtZT17c2VydmljZU5hbWV9XG4gICAgICAgICAgICAgICAgICAgIGhhbmRsZVJlcXVlc3RNb2RhbE9wZW49eygpID0+IGhhbmRsZVJlcXVlc3RPcGVuKCl9XG4gICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICB7Z2VuZXJhdGVNb2RhbERpYWxvZygpfVxuICAgICAgICAgICAgPC9UYWJsZUNvbnRleHRQcm92aWRlcj5cbiAgICAgICAgPC8+XG4gICAgKTtcbn1cblxuQ29uZmlndXJhdGlvblRhYmxlLnByb3BUeXBlcyA9IHtcbiAgICBzZXJ2aWNlTmFtZTogUHJvcFR5cGVzLnN0cmluZy5pc1JlcXVpcmVkLFxuICAgIHNlcnZpY2VUaXRsZTogUHJvcFR5cGVzLnN0cmluZy5pc1JlcXVpcmVkLFxufTtcblxuZXhwb3J0IGRlZmF1bHQgbWVtbyhDb25maWd1cmF0aW9uVGFibGUpO1xuIiwiaW1wb3J0IFJlYWN0LCB7IHVzZVN0YXRlLCB1c2VDYWxsYmFjaywgdXNlRWZmZWN0IH0gZnJvbSAncmVhY3QnO1xuXG5pbXBvcnQgeyBfIH0gZnJvbSAnQHNwbHVuay91aS11dGlscy9pMThuJztcbmltcG9ydCBUYWJCYXIgZnJvbSAnQHNwbHVuay9yZWFjdC11aS9UYWJCYXInO1xuaW1wb3J0IFRvYXN0TWVzc2FnZXMgZnJvbSAnQHNwbHVuay9yZWFjdC10b2FzdC1ub3RpZmljYXRpb25zL1RvYXN0TWVzc2FnZXMnO1xuaW1wb3J0IENvbHVtbkxheW91dCBmcm9tICdAc3BsdW5rL3JlYWN0LXVpL0NvbHVtbkxheW91dCc7XG5pbXBvcnQgc3R5bGVkIGZyb20gJ3N0eWxlZC1jb21wb25lbnRzJztcblxuaW1wb3J0IHVzZVF1ZXJ5IGZyb20gJy4uLy4uL2hvb2tzL3VzZVF1ZXJ5JztcbmltcG9ydCB7IGdldFVuaWZpZWRDb25maWdzIH0gZnJvbSAnLi4vLi4vdXRpbC91dGlsJztcbmltcG9ydCB7IFRpdGxlQ29tcG9uZW50LCBTdWJUaXRsZUNvbXBvbmVudCB9IGZyb20gJy4uL0lucHV0L0lucHV0UGFnZVN0eWxlJztcbmltcG9ydCBFcnJvckJvdW5kYXJ5IGZyb20gJy4uLy4uL2NvbXBvbmVudHMvRXJyb3JCb3VuZGFyeSc7XG5pbXBvcnQgQ29uZmlndXJhdGlvbkZvcm1WaWV3IGZyb20gJy4uLy4uL2NvbXBvbmVudHMvQ29uZmlndXJhdGlvbkZvcm1WaWV3JztcbmltcG9ydCBDb25maWd1cmF0aW9uVGFibGUgZnJvbSAnLi4vLi4vY29tcG9uZW50cy9Db25maWd1cmF0aW9uVGFibGUnO1xuXG5jb25zdCBSb3cgPSBzdHlsZWQoQ29sdW1uTGF5b3V0LlJvdylgXG4gICAgcGFkZGluZzogNXB4IDBweDtcblxuICAgIC5kcm9wZG93biB7XG4gICAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgIH1cblxuICAgIC5pbnB1dF9idXR0b24ge1xuICAgICAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAwcHg7XG4gICAgfVxuYDtcblxuZnVuY3Rpb24gQ29uZmlndXJhdGlvblBhZ2UoKSB7XG4gICAgY29uc3QgdW5pZmllZENvbmZpZ3MgPSBnZXRVbmlmaWVkQ29uZmlncygpO1xuICAgIGNvbnN0IHsgdGl0bGUsIGRlc2NyaXB0aW9uLCB0YWJzIH0gPSB1bmlmaWVkQ29uZmlncy5wYWdlcy5jb25maWd1cmF0aW9uO1xuICAgIGNvbnN0IHBlcm1pdHRlZFRhYk5hbWVzID0gdGFicy5tYXAoKHRhYikgPT4ge1xuICAgICAgICByZXR1cm4gdGFiLm5hbWU7XG4gICAgfSk7XG5cbiAgICBjb25zdCBbYWN0aXZlVGFiSWQsIHNldEFjdGl2ZVRhYklkXSA9IHVzZVN0YXRlKHRhYnNbMF0ubmFtZSk7XG5cbiAgICBjb25zdCBxdWVyeSA9IHVzZVF1ZXJ5KCk7XG5cbiAgICAvLyBSdW4gaW5pdGlhbGx5IGFuZCB3aGVuIHF1ZXJ5IGlzIHVwZGF0ZWQgdG8gc2V0IGFjdGl2ZSB0YWIgYmFzZWQgb24gaW5pdGlhbCBVUkxcbiAgICAvLyBvciB3aGlsZSBuYXZpZ2F0aW5nIGJyb3dzZXIgaGlzdG9yeVxuICAgIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgICAgIC8vIE9ubHkgY2hhbmdlIGFjdGl2ZSB0YWIgd2hlbiBwcm92aWRlZCB0YWIgaW4gcXVlcnkgaXMgc3BlY2lmaWVkIGluIGdsb2JhbENvbmZpZ1xuICAgICAgICAvLyBhbmQgaWYgdGhlIGN1cnJlbnQgYWN0aXZlIHRhYiBpcyBub3Qgc2FtZSBhcyBwcm92aWRlZCBpbiBxdWVyeVxuICAgICAgICBpZiAoXG4gICAgICAgICAgICBxdWVyeSAmJlxuICAgICAgICAgICAgcGVybWl0dGVkVGFiTmFtZXMuaW5jbHVkZXMocXVlcnkuZ2V0KCd0YWInKSkgJiZcbiAgICAgICAgICAgIHF1ZXJ5LmdldCgndGFiJykgIT09IGFjdGl2ZVRhYklkXG4gICAgICAgICkge1xuICAgICAgICAgICAgc2V0QWN0aXZlVGFiSWQocXVlcnkuZ2V0KCd0YWInKSk7XG4gICAgICAgIH1cbiAgICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIHJlYWN0LWhvb2tzL2V4aGF1c3RpdmUtZGVwc1xuICAgIH0sIFtdKTtcblxuICAgIGNvbnN0IGhhbmRsZUNoYW5nZSA9IHVzZUNhbGxiYWNrKFxuICAgICAgICAoZSwgeyBzZWxlY3RlZFRhYklkIH0pID0+IHtcbiAgICAgICAgICAgIHNldEFjdGl2ZVRhYklkKHNlbGVjdGVkVGFiSWQpO1xuICAgICAgICB9LFxuICAgICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgcmVhY3QtaG9va3MvZXhoYXVzdGl2ZS1kZXBzXG4gICAgICAgIFthY3RpdmVUYWJJZF1cbiAgICApO1xuXG4gICAgcmV0dXJuIChcbiAgICAgICAgPEVycm9yQm91bmRhcnk+XG4gICAgICAgICAgICA8Q29sdW1uTGF5b3V0IGd1dHRlcj17OH0+XG4gICAgICAgICAgICAgICAgPFJvdz5cbiAgICAgICAgICAgICAgICAgICAgPENvbHVtbkxheW91dC5Db2x1bW4gc3Bhbj17OX0+XG4gICAgICAgICAgICAgICAgICAgICAgICA8VGl0bGVDb21wb25lbnQ+e18odGl0bGUpfTwvVGl0bGVDb21wb25lbnQ+XG4gICAgICAgICAgICAgICAgICAgICAgICA8U3ViVGl0bGVDb21wb25lbnQ+e18oZGVzY3JpcHRpb24gfHwgJycpfTwvU3ViVGl0bGVDb21wb25lbnQ+XG4gICAgICAgICAgICAgICAgICAgIDwvQ29sdW1uTGF5b3V0LkNvbHVtbj5cbiAgICAgICAgICAgICAgICA8L1Jvdz5cbiAgICAgICAgICAgIDwvQ29sdW1uTGF5b3V0PlxuICAgICAgICAgICAgPFRhYkJhciBhY3RpdmVUYWJJZD17YWN0aXZlVGFiSWR9IG9uQ2hhbmdlPXtoYW5kbGVDaGFuZ2V9PlxuICAgICAgICAgICAgICAgIHt0YWJzLm1hcCgodGFiKSA9PiAoXG4gICAgICAgICAgICAgICAgICAgIDxUYWJCYXIuVGFiIGtleT17dGFiLm5hbWV9IGxhYmVsPXtfKHRhYi50aXRsZSl9IHRhYklkPXt0YWIubmFtZX0gLz5cbiAgICAgICAgICAgICAgICApKX1cbiAgICAgICAgICAgIDwvVGFiQmFyPlxuICAgICAgICAgICAge3RhYnMubWFwKCh0YWIpID0+IHtcbiAgICAgICAgICAgICAgICByZXR1cm4gdGFiLnRhYmxlID8gKFxuICAgICAgICAgICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgICAgICAgICAgICBrZXk9e3RhYi5uYW1lfVxuICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9e1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRhYi5uYW1lICE9PSBhY3RpdmVUYWJJZCA/IHsgZGlzcGxheTogJ25vbmUnIH0gOiB7IGRpc3BsYXk6ICdibG9jaycgfVxuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgaWQ9e2Ake3RhYi5uYW1lfVRhYmB9XG4gICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxDb25maWd1cmF0aW9uVGFibGVcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBrZXk9e3RhYi5uYW1lfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNlcnZpY2VOYW1lPXt0YWIubmFtZX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZXJ2aWNlVGl0bGU9e3RhYi50aXRsZX1cbiAgICAgICAgICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICkgOiAoXG4gICAgICAgICAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgICAgICAgICAgIGtleT17dGFiLm5hbWV9XG4gICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT17XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGFiLm5hbWUgIT09IGFjdGl2ZVRhYklkID8geyBkaXNwbGF5OiAnbm9uZScgfSA6IHsgZGlzcGxheTogJ2Jsb2NrJyB9XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICBpZD17YCR7dGFiLm5hbWV9VGFiYH1cbiAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAgPENvbmZpZ3VyYXRpb25Gb3JtVmlldyBrZXk9e3RhYi5uYW1lfSBzZXJ2aWNlTmFtZT17dGFiLm5hbWV9IC8+XG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICB9KX1cbiAgICAgICAgICAgIDxUb2FzdE1lc3NhZ2VzIHBvc2l0aW9uPVwidG9wLXJpZ2h0XCIgLz5cbiAgICAgICAgPC9FcnJvckJvdW5kYXJ5PlxuICAgICk7XG59XG5cbmV4cG9ydCBkZWZhdWx0IENvbmZpZ3VyYXRpb25QYWdlO1xuIl0sInNvdXJjZVJvb3QiOiIifQ== \ No newline at end of file diff --git a/Splunk_TA_paloalto/appserver/static/js/build/entry_page.js b/Splunk_TA_paloalto/appserver/static/js/build/entry_page.js index 4bffe362..a4e0de18 100644 --- a/Splunk_TA_paloalto/appserver/static/js/build/entry_page.js +++ b/Splunk_TA_paloalto/appserver/static/js/build/entry_page.js @@ -1,9 +1,9 @@ -!function(e){function t(t){for(var r,a,u=t[0],l=t[1],s=t[3]||[],f=0,p=[];f1?t-1:0),n=1;n0?" Args: "+r.join(", "):""))}var k=function(){function e(e){this.groupSizes=new Uint32Array(512),this.length=512,this.tag=e}var t=e.prototype;return t.indexOfGroup=function(e){for(var t=0,r=0;r=this.groupSizes.length){for(var r=this.groupSizes,n=r.length,o=n;e>=o;)(o<<=1)<0&&S(16,""+e);this.groupSizes=new Uint32Array(o),this.groupSizes.set(r),this.length=o;for(var i=n;i=this.length||0===this.groupSizes[e])return t;for(var r=this.groupSizes[e],n=this.indexOfGroup(e),o=n+r,i=n;i=0;r--){var n=t[r];if(n&&1===n.nodeType&&n.hasAttribute(O))return n}}(r),i=void 0!==o?o.nextSibling:null;n.setAttribute(O,"active"),n.setAttribute("data-styled-version","5.2.1");var a=z();return a&&n.setAttribute("nonce",a),r.insertBefore(n,i),n},B=function(){function e(e){var t=this.element=F(e);t.appendChild(document.createTextNode("")),this.sheet=function(e){if(e.sheet)return e.sheet;for(var t=document.styleSheets,r=0,n=t.length;r=0){var r=document.createTextNode(t),n=this.nodes[e];return this.element.insertBefore(r,n||null),this.length++,!0}return!1},t.deleteRule=function(e){this.element.removeChild(this.nodes[e]),this.length--},t.getRule=function(e){return e0&&(c+=e+",")})),n+=""+u+l+'{content:"'+c+'"}/*!sc*/\n'}}}return n}(this)},e}(),q=/(a)(d)/gi,K=function(e){return String.fromCharCode(e+(e>25?39:97))};function Z(e){var t,r="";for(t=Math.abs(e);t>52;t=t/52|0)r=K(t%52)+r;return(K(t%52)+r).replace(q,"$1-$2")}var X=function(e,t){for(var r=t.length;r;)e=33*e^t.charCodeAt(--r);return e},G=function(e){return X(5381,e)};function Q(e){for(var t=0;t>>0);if(!t.hasNameForId(n,a)){var u=r(i,"."+a,void 0,n);t.insertRules(n,a,u)}o.push(a),this.staticRulesId=a}else{for(var l=this.rules.length,c=X(this.baseHash,r.hash),s="",f=0;f>>0);if(!t.hasNameForId(n,b)){var y=r(s,"."+b,void 0,n);t.insertRules(n,b,y)}o.push(b)}}return o.join(" ")},e}(),ee=/^\s*\/\/.*$/gm,te=[":","[",".","#"];function re(e){var t,r,n,o,i=void 0===e?v:e,a=i.options,u=void 0===a?v:a,c=i.plugins,s=void 0===c?y:c,f=new l.a(u),p=[],d=function(e){function t(t){if(t)try{e(t+"}")}catch(e){}}return function(r,n,o,i,a,u,l,c,s,f){switch(r){case 1:if(0===s&&64===n.charCodeAt(0))return e(n+";"),"";break;case 2:if(0===c)return n+"/*|*/";break;case 3:switch(c){case 102:case 112:return e(o[0]+n),"";default:return n+(0===f?"/*|*/":"")}case-2:n.split("/*|*/}").forEach(t)}}}((function(e){p.push(e)})),h=function(e,n,i){return 0===n&&te.includes(i[r.length])||i.match(o)?e:"."+t};function b(e,i,a,u){void 0===u&&(u="&");var l=e.replace(ee,""),c=i&&a?a+" "+i+" { "+l+" }":l;return t=u,r=i,n=new RegExp("\\"+r+"\\b","g"),o=new RegExp("(\\"+r+"\\b){2,}"),f(a||!i?"":i,c)}return f.use([].concat(s,[function(e,t,o){2===e&&o.length&&o[0].lastIndexOf(r)>0&&(o[0]=o[0].replace(n,h))},d,function(e){if(-2===e){var t=p;return p=[],t}}])),b.hash=s.length?s.reduce((function(e,t){return t.name||S(15),X(e,t.name)}),5381).toString():"",b}var ne=i.a.createContext(),oe=ne.Consumer,ie=i.a.createContext(),ae=(ie.Consumer,new H),ue=re();function le(){return Object(o.useContext)(ne)||ae}function ce(){return Object(o.useContext)(ie)||ue}function se(e){var t=Object(o.useState)(e.stylisPlugins),r=t[0],n=t[1],a=le(),l=Object(o.useMemo)((function(){var t=a;return e.sheet?t=e.sheet:e.target&&(t=t.reconstructWithOptions({target:e.target},!1)),e.disableCSSOMInjection&&(t=t.reconstructWithOptions({useCSSOMInjection:!1})),t}),[e.disableCSSOMInjection,e.sheet,e.target]),c=Object(o.useMemo)((function(){return re({options:{prefix:!e.disableVendorPrefixes},plugins:r})}),[e.disableVendorPrefixes,r]);return Object(o.useEffect)((function(){u()(r,e.stylisPlugins)||n(e.stylisPlugins)}),[e.stylisPlugins]),i.a.createElement(ne.Provider,{value:l},i.a.createElement(ie.Provider,{value:c},e.children))}var fe=function(){function e(e,t){var r=this;this.inject=function(e,t){void 0===t&&(t=ue);var n=r.name+t.hash;e.hasNameForId(r.id,n)||e.insertRules(r.id,n,t(r.rules,n,"@keyframes"))},this.toString=function(){return S(12,String(r.name))},this.name=e,this.id="sc-keyframes-"+e,this.rules=t}return e.prototype.getName=function(e){return void 0===e&&(e=ue),this.name+e.hash},e}(),pe=/([A-Z])/,de=/([A-Z])/g,he=/^ms-/,be=function(e){return"-"+e.toLowerCase()};function ye(e){return pe.test(e)?e.replace(de,be).replace(he,"-ms-"):e}var ve=function(e){return null==e||!1===e||""===e};function me(e,t,r,n){if(Array.isArray(e)){for(var o,i=[],a=0,u=e.length;a1?t-1:0),n=1;n?@[\\\]^`{|}~-]+/g,we=/(^-|-$)/g;function _e(e){return e.replace(Oe,"-").replace(we,"")}var Ce=function(e){return Z(G(e)>>>0)};function je(e){return"string"==typeof e&&!0}var Se=function(e){return"function"==typeof e||"object"==typeof e&&null!==e&&!Array.isArray(e)},ke=function(e){return"__proto__"!==e&&"constructor"!==e&&"prototype"!==e};function Pe(e,t,r){var n=e[r];Se(t)&&Se(n)?Ee(n,t):e[r]=t}function Ee(e){for(var t=arguments.length,r=new Array(t>1?t-1:0),n=1;n=0||(o[r]=e[r]);return o}(t,["componentId"]),i=n&&n+"-"+(je(e)?e:_e(g(e)));return Le(e,d({},o,{attrs:w,componentId:i}),r)},Object.defineProperty(C,"defaultProps",{get:function(){return this._foldedDefaultProps},set:function(t){this._foldedDefaultProps=n?Ee({},e.defaultProps,t):t}}),C.toString=function(){return"."+C.styledComponentId},a&&p()(C,e,{attrs:!0,componentStyle:!0,displayName:!0,foldedComponentIds:!0,shouldForwardProp:!0,styledComponentId:!0,target:!0,withComponent:!0}),C}var De=function(e){return function e(t,r,o){if(void 0===o&&(o=v),!Object(n.isValidElementType)(r))return S(1,String(r));var i=function(){return t(r,o,ge.apply(void 0,arguments))};return i.withConfig=function(n){return e(t,r,d({},o,{},n))},i.attrs=function(n){return e(t,r,d({},o,{attrs:Array.prototype.concat(o.attrs,n).filter(Boolean)}))},i}(Le,e)};["a","abbr","address","area","article","aside","audio","b","base","bdi","bdo","big","blockquote","body","br","button","canvas","caption","cite","code","col","colgroup","data","datalist","dd","del","details","dfn","dialog","div","dl","dt","em","embed","fieldset","figcaption","figure","footer","form","h1","h2","h3","h4","h5","h6","head","header","hgroup","hr","html","i","iframe","img","input","ins","kbd","keygen","label","legend","li","link","main","map","mark","marquee","menu","menuitem","meta","meter","nav","noscript","object","ol","optgroup","option","output","p","param","picture","pre","progress","q","rp","rt","ruby","s","samp","script","section","select","small","source","span","strong","style","sub","summary","sup","table","tbody","td","textarea","tfoot","th","thead","time","title","tr","track","u","ul","var","video","wbr","circle","clipPath","defs","ellipse","foreignObject","g","image","line","linearGradient","marker","mask","path","pattern","polygon","polyline","radialGradient","rect","stop","svg","text","tspan"].forEach((function(e){De[e]=De(e)}));var Ie=function(){function e(e,t){this.rules=e,this.componentId=t,this.isStatic=Q(e),H.registerId(this.componentId+1)}var t=e.prototype;return t.createStyles=function(e,t,r,n){var o=n(me(this.rules,t,r,n).join(""),""),i=this.componentId+e;r.insertRules(i,i,o)},t.removeStyles=function(e,t){t.clearRules(this.componentId+e)},t.renderStyles=function(e,t,r,n){e>2&&H.registerId(this.componentId+e),this.removeStyles(e,r),this.createStyles(e,t,r,n)},e}();function Ne(e){for(var t=arguments.length,r=new Array(t>1?t-1:0),n=1;n1?t-1:0),n=1;n"+t+""},this.getStyleTags=function(){return e.sealed?S(2):e._emitSheetCSS()},this.getStyleElement=function(){var t;if(e.sealed)return S(2);var r=((t={})[O]="",t["data-styled-version"]="5.2.1",t.dangerouslySetInnerHTML={__html:e.instance.toString()},t),n=z();return n&&(r.nonce=n),[i.a.createElement("style",d({},r,{key:"sc-0-0"}))]},this.seal=function(){e.sealed=!0},this.instance=new H({isServer:!0}),this.sealed=!1}var t=e.prototype;return t.collectStyles=function(e){return this.sealed?S(2):i.a.createElement(se,{sheet:this.instance},e)},t.interleaveWithNodeStream=function(e){return S(3)},e}(),Be=function(e){var t=i.a.forwardRef((function(t,r){var n=Object(o.useContext)(Ae),a=e.defaultProps,u=xe(t,n,a);return i.a.createElement(e,d({},t,{theme:u,ref:r}))}));return p()(t,e),t.displayName="WithTheme("+g(e)+")",t},$e=function(){return Object(o.useContext)(Ae)},Ue={StyleSheet:H,masterSheet:ae};t.default=De}.call(this,r(78))},function(e,t,r){(function(e,r){(function(){var n="Expected a function",o="__lodash_placeholder__",i=[["ary",128],["bind",1],["bindKey",2],["curry",8],["curryRight",16],["flip",512],["partial",32],["partialRight",64],["rearg",256]],a="[object Arguments]",u="[object Array]",l="[object Boolean]",c="[object Date]",s="[object Error]",f="[object Function]",p="[object GeneratorFunction]",d="[object Map]",h="[object Number]",b="[object Object]",y="[object RegExp]",v="[object Set]",m="[object String]",g="[object Symbol]",x="[object WeakMap]",O="[object ArrayBuffer]",w="[object DataView]",_="[object Float32Array]",C="[object Float64Array]",j="[object Int8Array]",S="[object Int16Array]",k="[object Int32Array]",P="[object Uint8Array]",E="[object Uint16Array]",A="[object Uint32Array]",T=/\b__p \+= '';/g,R=/\b(__p \+=) '' \+/g,M=/(__e\(.*?\)|\b__t\)) \+\n'';/g,L=/&(?:amp|lt|gt|quot|#39);/g,D=/[&<>"']/g,I=RegExp(L.source),N=RegExp(D.source),z=/<%-([\s\S]+?)%>/g,F=/<%([\s\S]+?)%>/g,B=/<%=([\s\S]+?)%>/g,$=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,U=/^\w*$/,V=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,W=/[\\^$.*+?()[\]{}|]/g,H=RegExp(W.source),q=/^\s+/,K=/\s/,Z=/\{(?:\n\/\* \[wrapped with .+\] \*\/)?\n?/,X=/\{\n\/\* \[wrapped with (.+)\] \*/,G=/,? & /,Q=/[^\x00-\x2f\x3a-\x40\x5b-\x60\x7b-\x7f]+/g,Y=/[()=,{}\[\]\/\s]/,J=/\\(\\)?/g,ee=/\$\{([^\\}]*(?:\\.[^\\}]*)*)\}/g,te=/\w*$/,re=/^[-+]0x[0-9a-f]+$/i,ne=/^0b[01]+$/i,oe=/^\[object .+?Constructor\]$/,ie=/^0o[0-7]+$/i,ae=/^(?:0|[1-9]\d*)$/,ue=/[\xc0-\xd6\xd8-\xf6\xf8-\xff\u0100-\u017f]/g,le=/($^)/,ce=/['\n\r\u2028\u2029\\]/g,se="\\u0300-\\u036f\\ufe20-\\ufe2f\\u20d0-\\u20ff",fe="\\xac\\xb1\\xd7\\xf7\\x00-\\x2f\\x3a-\\x40\\x5b-\\x60\\x7b-\\xbf\\u2000-\\u206f \\t\\x0b\\f\\xa0\\ufeff\\n\\r\\u2028\\u2029\\u1680\\u180e\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200a\\u202f\\u205f\\u3000",pe="[\\ud800-\\udfff]",de="["+fe+"]",he="["+se+"]",be="\\d+",ye="[\\u2700-\\u27bf]",ve="[a-z\\xdf-\\xf6\\xf8-\\xff]",me="[^\\ud800-\\udfff"+fe+be+"\\u2700-\\u27bfa-z\\xdf-\\xf6\\xf8-\\xffA-Z\\xc0-\\xd6\\xd8-\\xde]",ge="\\ud83c[\\udffb-\\udfff]",xe="[^\\ud800-\\udfff]",Oe="(?:\\ud83c[\\udde6-\\uddff]){2}",we="[\\ud800-\\udbff][\\udc00-\\udfff]",_e="[A-Z\\xc0-\\xd6\\xd8-\\xde]",Ce="(?:"+ve+"|"+me+")",je="(?:"+_e+"|"+me+")",Se="(?:"+he+"|"+ge+")"+"?",ke="[\\ufe0e\\ufe0f]?"+Se+("(?:\\u200d(?:"+[xe,Oe,we].join("|")+")[\\ufe0e\\ufe0f]?"+Se+")*"),Pe="(?:"+[ye,Oe,we].join("|")+")"+ke,Ee="(?:"+[xe+he+"?",he,Oe,we,pe].join("|")+")",Ae=RegExp("['’]","g"),Te=RegExp(he,"g"),Re=RegExp(ge+"(?="+ge+")|"+Ee+ke,"g"),Me=RegExp([_e+"?"+ve+"+(?:['’](?:d|ll|m|re|s|t|ve))?(?="+[de,_e,"$"].join("|")+")",je+"+(?:['’](?:D|LL|M|RE|S|T|VE))?(?="+[de,_e+Ce,"$"].join("|")+")",_e+"?"+Ce+"+(?:['’](?:d|ll|m|re|s|t|ve))?",_e+"+(?:['’](?:D|LL|M|RE|S|T|VE))?","\\d*(?:1ST|2ND|3RD|(?![123])\\dTH)(?=\\b|[a-z_])","\\d*(?:1st|2nd|3rd|(?![123])\\dth)(?=\\b|[A-Z_])",be,Pe].join("|"),"g"),Le=RegExp("[\\u200d\\ud800-\\udfff"+se+"\\ufe0e\\ufe0f]"),De=/[a-z][A-Z]|[A-Z]{2}[a-z]|[0-9][a-zA-Z]|[a-zA-Z][0-9]|[^a-zA-Z0-9 ]/,Ie=["Array","Buffer","DataView","Date","Error","Float32Array","Float64Array","Function","Int8Array","Int16Array","Int32Array","Map","Math","Object","Promise","RegExp","Set","String","Symbol","TypeError","Uint8Array","Uint8ClampedArray","Uint16Array","Uint32Array","WeakMap","_","clearTimeout","isFinite","parseInt","setTimeout"],Ne=-1,ze={};ze[_]=ze[C]=ze[j]=ze[S]=ze[k]=ze[P]=ze["[object Uint8ClampedArray]"]=ze[E]=ze[A]=!0,ze[a]=ze[u]=ze[O]=ze[l]=ze[w]=ze[c]=ze[s]=ze[f]=ze[d]=ze[h]=ze[b]=ze[y]=ze[v]=ze[m]=ze[x]=!1;var Fe={};Fe[a]=Fe[u]=Fe[O]=Fe[w]=Fe[l]=Fe[c]=Fe[_]=Fe[C]=Fe[j]=Fe[S]=Fe[k]=Fe[d]=Fe[h]=Fe[b]=Fe[y]=Fe[v]=Fe[m]=Fe[g]=Fe[P]=Fe["[object Uint8ClampedArray]"]=Fe[E]=Fe[A]=!0,Fe[s]=Fe[f]=Fe[x]=!1;var Be={"\\":"\\","'":"'","\n":"n","\r":"r","\u2028":"u2028","\u2029":"u2029"},$e=parseFloat,Ue=parseInt,Ve="object"==typeof e&&e&&e.Object===Object&&e,We="object"==typeof self&&self&&self.Object===Object&&self,He=Ve||We||Function("return this")(),qe=t&&!t.nodeType&&t,Ke=qe&&"object"==typeof r&&r&&!r.nodeType&&r,Ze=Ke&&Ke.exports===qe,Xe=Ze&&Ve.process,Ge=function(){try{var e=Ke&&Ke.require&&Ke.require("util").types;return e||Xe&&Xe.binding&&Xe.binding("util")}catch(e){}}(),Qe=Ge&&Ge.isArrayBuffer,Ye=Ge&&Ge.isDate,Je=Ge&&Ge.isMap,et=Ge&&Ge.isRegExp,tt=Ge&&Ge.isSet,rt=Ge&&Ge.isTypedArray;function nt(e,t,r){switch(r.length){case 0:return e.call(t);case 1:return e.call(t,r[0]);case 2:return e.call(t,r[0],r[1]);case 3:return e.call(t,r[0],r[1],r[2])}return e.apply(t,r)}function ot(e,t,r,n){for(var o=-1,i=null==e?0:e.length;++o-1}function st(e,t,r){for(var n=-1,o=null==e?0:e.length;++n-1;);return r}function Mt(e,t){for(var r=e.length;r--&>(t,e[r],0)>-1;);return r}function Lt(e,t){for(var r=e.length,n=0;r--;)e[r]===t&&++n;return n}var Dt=Ct({"À":"A","Á":"A","Â":"A","Ã":"A","Ä":"A","Å":"A","à":"a","á":"a","â":"a","ã":"a","ä":"a","å":"a","Ç":"C","ç":"c","Ð":"D","ð":"d","È":"E","É":"E","Ê":"E","Ë":"E","è":"e","é":"e","ê":"e","ë":"e","Ì":"I","Í":"I","Î":"I","Ï":"I","ì":"i","í":"i","î":"i","ï":"i","Ñ":"N","ñ":"n","Ò":"O","Ó":"O","Ô":"O","Õ":"O","Ö":"O","Ø":"O","ò":"o","ó":"o","ô":"o","õ":"o","ö":"o","ø":"o","Ù":"U","Ú":"U","Û":"U","Ü":"U","ù":"u","ú":"u","û":"u","ü":"u","Ý":"Y","ý":"y","ÿ":"y","Æ":"Ae","æ":"ae","Þ":"Th","þ":"th","ß":"ss","Ā":"A","Ă":"A","Ą":"A","ā":"a","ă":"a","ą":"a","Ć":"C","Ĉ":"C","Ċ":"C","Č":"C","ć":"c","ĉ":"c","ċ":"c","č":"c","Ď":"D","Đ":"D","ď":"d","đ":"d","Ē":"E","Ĕ":"E","Ė":"E","Ę":"E","Ě":"E","ē":"e","ĕ":"e","ė":"e","ę":"e","ě":"e","Ĝ":"G","Ğ":"G","Ġ":"G","Ģ":"G","ĝ":"g","ğ":"g","ġ":"g","ģ":"g","Ĥ":"H","Ħ":"H","ĥ":"h","ħ":"h","Ĩ":"I","Ī":"I","Ĭ":"I","Į":"I","İ":"I","ĩ":"i","ī":"i","ĭ":"i","į":"i","ı":"i","Ĵ":"J","ĵ":"j","Ķ":"K","ķ":"k","ĸ":"k","Ĺ":"L","Ļ":"L","Ľ":"L","Ŀ":"L","Ł":"L","ĺ":"l","ļ":"l","ľ":"l","ŀ":"l","ł":"l","Ń":"N","Ņ":"N","Ň":"N","Ŋ":"N","ń":"n","ņ":"n","ň":"n","ŋ":"n","Ō":"O","Ŏ":"O","Ő":"O","ō":"o","ŏ":"o","ő":"o","Ŕ":"R","Ŗ":"R","Ř":"R","ŕ":"r","ŗ":"r","ř":"r","Ś":"S","Ŝ":"S","Ş":"S","Š":"S","ś":"s","ŝ":"s","ş":"s","š":"s","Ţ":"T","Ť":"T","Ŧ":"T","ţ":"t","ť":"t","ŧ":"t","Ũ":"U","Ū":"U","Ŭ":"U","Ů":"U","Ű":"U","Ų":"U","ũ":"u","ū":"u","ŭ":"u","ů":"u","ű":"u","ų":"u","Ŵ":"W","ŵ":"w","Ŷ":"Y","ŷ":"y","Ÿ":"Y","Ź":"Z","Ż":"Z","Ž":"Z","ź":"z","ż":"z","ž":"z","IJ":"IJ","ij":"ij","Œ":"Oe","œ":"oe","ʼn":"'n","ſ":"s"}),It=Ct({"&":"&","<":"<",">":">",'"':""","'":"'"});function Nt(e){return"\\"+Be[e]}function zt(e){return Le.test(e)}function Ft(e){var t=-1,r=Array(e.size);return e.forEach((function(e,n){r[++t]=[n,e]})),r}function Bt(e,t){return function(r){return e(t(r))}}function $t(e,t){for(var r=-1,n=e.length,i=0,a=[];++r",""":'"',"'":"'"});var Zt=function e(t){var r,K=(t=null==t?He:Zt.defaults(He.Object(),t,Zt.pick(He,Ie))).Array,se=t.Date,fe=t.Error,pe=t.Function,de=t.Math,he=t.Object,be=t.RegExp,ye=t.String,ve=t.TypeError,me=K.prototype,ge=pe.prototype,xe=he.prototype,Oe=t["__core-js_shared__"],we=ge.toString,_e=xe.hasOwnProperty,Ce=0,je=(r=/[^.]+$/.exec(Oe&&Oe.keys&&Oe.keys.IE_PROTO||""))?"Symbol(src)_1."+r:"",Se=xe.toString,ke=we.call(he),Pe=He._,Ee=be("^"+we.call(_e).replace(W,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$"),Re=Ze?t.Buffer:void 0,Le=t.Symbol,Be=t.Uint8Array,Ve=Re?Re.allocUnsafe:void 0,We=Bt(he.getPrototypeOf,he),qe=he.create,Ke=xe.propertyIsEnumerable,Xe=me.splice,Ge=Le?Le.isConcatSpreadable:void 0,yt=Le?Le.iterator:void 0,Ct=Le?Le.toStringTag:void 0,Xt=function(){try{var e=ti(he,"defineProperty");return e({},"",{}),e}catch(e){}}(),Gt=t.clearTimeout!==He.clearTimeout&&t.clearTimeout,Qt=se&&se.now!==He.Date.now&&se.now,Yt=t.setTimeout!==He.setTimeout&&t.setTimeout,Jt=de.ceil,er=de.floor,tr=he.getOwnPropertySymbols,rr=Re?Re.isBuffer:void 0,nr=t.isFinite,or=me.join,ir=Bt(he.keys,he),ar=de.max,ur=de.min,lr=se.now,cr=t.parseInt,sr=de.random,fr=me.reverse,pr=ti(t,"DataView"),dr=ti(t,"Map"),hr=ti(t,"Promise"),br=ti(t,"Set"),yr=ti(t,"WeakMap"),vr=ti(he,"create"),mr=yr&&new yr,gr={},xr=Pi(pr),Or=Pi(dr),wr=Pi(hr),_r=Pi(br),Cr=Pi(yr),jr=Le?Le.prototype:void 0,Sr=jr?jr.valueOf:void 0,kr=jr?jr.toString:void 0;function Pr(e){if(Ha(e)&&!La(e)&&!(e instanceof Rr)){if(e instanceof Tr)return e;if(_e.call(e,"__wrapped__"))return Ei(e)}return new Tr(e)}var Er=function(){function e(){}return function(t){if(!Wa(t))return{};if(qe)return qe(t);e.prototype=t;var r=new e;return e.prototype=void 0,r}}();function Ar(){}function Tr(e,t){this.__wrapped__=e,this.__actions__=[],this.__chain__=!!t,this.__index__=0,this.__values__=void 0}function Rr(e){this.__wrapped__=e,this.__actions__=[],this.__dir__=1,this.__filtered__=!1,this.__iteratees__=[],this.__takeCount__=4294967295,this.__views__=[]}function Mr(e){var t=-1,r=null==e?0:e.length;for(this.clear();++t=t?e:t)),e}function Gr(e,t,r,n,o,i){var u,s=1&t,x=2&t,T=4&t;if(r&&(u=o?r(e,n,o,i):r(e)),void 0!==u)return u;if(!Wa(e))return e;var R=La(e);if(R){if(u=function(e){var t=e.length,r=new e.constructor(t);t&&"string"==typeof e[0]&&_e.call(e,"index")&&(r.index=e.index,r.input=e.input);return r}(e),!s)return go(e,u)}else{var M=oi(e),L=M==f||M==p;if(za(e))return po(e,s);if(M==b||M==a||L&&!o){if(u=x||L?{}:ai(e),!s)return x?function(e,t){return xo(e,ni(e),t)}(e,function(e,t){return e&&xo(t,wu(t),e)}(u,e)):function(e,t){return xo(e,ri(e),t)}(e,qr(u,e))}else{if(!Fe[M])return o?e:{};u=function(e,t,r){var n=e.constructor;switch(t){case O:return ho(e);case l:case c:return new n(+e);case w:return function(e,t){var r=t?ho(e.buffer):e.buffer;return new e.constructor(r,e.byteOffset,e.byteLength)}(e,r);case _:case C:case j:case S:case k:case P:case"[object Uint8ClampedArray]":case E:case A:return bo(e,r);case d:return new n;case h:case m:return new n(e);case y:return function(e){var t=new e.constructor(e.source,te.exec(e));return t.lastIndex=e.lastIndex,t}(e);case v:return new n;case g:return o=e,Sr?he(Sr.call(o)):{}}var o}(e,M,s)}}i||(i=new Nr);var D=i.get(e);if(D)return D;i.set(e,u),Ga(e)?e.forEach((function(n){u.add(Gr(n,t,r,n,e,i))})):qa(e)&&e.forEach((function(n,o){u.set(o,Gr(n,t,r,o,e,i))}));var I=R?void 0:(T?x?Zo:Ko:x?wu:Ou)(e);return it(I||e,(function(n,o){I&&(n=e[o=n]),Vr(u,o,Gr(n,t,r,o,e,i))})),u}function Qr(e,t,r){var n=r.length;if(null==e)return!n;for(e=he(e);n--;){var o=r[n],i=t[o],a=e[o];if(void 0===a&&!(o in e)||!i(a))return!1}return!0}function Yr(e,t,r){if("function"!=typeof e)throw new ve(n);return Oi((function(){e.apply(void 0,r)}),t)}function Jr(e,t,r,n){var o=-1,i=ct,a=!0,u=e.length,l=[],c=t.length;if(!u)return l;r&&(t=ft(t,Et(r))),n?(i=st,a=!1):t.length>=200&&(i=Tt,a=!1,t=new Ir(t));e:for(;++o-1},Lr.prototype.set=function(e,t){var r=this.__data__,n=Wr(r,e);return n<0?(++this.size,r.push([e,t])):r[n][1]=t,this},Dr.prototype.clear=function(){this.size=0,this.__data__={hash:new Mr,map:new(dr||Lr),string:new Mr}},Dr.prototype.delete=function(e){var t=Jo(this,e).delete(e);return this.size-=t?1:0,t},Dr.prototype.get=function(e){return Jo(this,e).get(e)},Dr.prototype.has=function(e){return Jo(this,e).has(e)},Dr.prototype.set=function(e,t){var r=Jo(this,e),n=r.size;return r.set(e,t),this.size+=r.size==n?0:1,this},Ir.prototype.add=Ir.prototype.push=function(e){return this.__data__.set(e,"__lodash_hash_undefined__"),this},Ir.prototype.has=function(e){return this.__data__.has(e)},Nr.prototype.clear=function(){this.__data__=new Lr,this.size=0},Nr.prototype.delete=function(e){var t=this.__data__,r=t.delete(e);return this.size=t.size,r},Nr.prototype.get=function(e){return this.__data__.get(e)},Nr.prototype.has=function(e){return this.__data__.has(e)},Nr.prototype.set=function(e,t){var r=this.__data__;if(r instanceof Lr){var n=r.__data__;if(!dr||n.length<199)return n.push([e,t]),this.size=++r.size,this;r=this.__data__=new Dr(n)}return r.set(e,t),this.size=r.size,this};var en=_o(cn),tn=_o(sn,!0);function rn(e,t){var r=!0;return en(e,(function(e,n,o){return r=!!t(e,n,o)})),r}function nn(e,t,r){for(var n=-1,o=e.length;++n0&&r(u)?t>1?an(u,t-1,r,n,o):pt(o,u):n||(o[o.length]=u)}return o}var un=Co(),ln=Co(!0);function cn(e,t){return e&&un(e,t,Ou)}function sn(e,t){return e&&ln(e,t,Ou)}function fn(e,t){return lt(t,(function(t){return $a(e[t])}))}function pn(e,t){for(var r=0,n=(t=lo(t,e)).length;null!=e&&rt}function yn(e,t){return null!=e&&_e.call(e,t)}function vn(e,t){return null!=e&&t in he(e)}function mn(e,t,r){for(var n=r?st:ct,o=e[0].length,i=e.length,a=i,u=K(i),l=1/0,c=[];a--;){var s=e[a];a&&t&&(s=ft(s,Et(t))),l=ur(s.length,l),u[a]=!r&&(t||o>=120&&s.length>=120)?new Ir(a&&s):void 0}s=e[0];var f=-1,p=u[0];e:for(;++f=u)return l;var c=r[n];return l*("desc"==c?-1:1)}}return e.index-t.index}(e,t,r)}))}function Ln(e,t,r){for(var n=-1,o=t.length,i={};++n-1;)u!==e&&Xe.call(u,l,1),Xe.call(e,l,1);return e}function In(e,t){for(var r=e?t.length:0,n=r-1;r--;){var o=t[r];if(r==n||o!==i){var i=o;li(o)?Xe.call(e,o,1):eo(e,o)}}return e}function Nn(e,t){return e+er(sr()*(t-e+1))}function zn(e,t){var r="";if(!e||t<1||t>9007199254740991)return r;do{t%2&&(r+=e),(t=er(t/2))&&(e+=e)}while(t);return r}function Fn(e,t){return wi(yi(e,t,Ku),e+"")}function Bn(e){return Fr(Au(e))}function $n(e,t){var r=Au(e);return ji(r,Xr(t,0,r.length))}function Un(e,t,r,n){if(!Wa(e))return e;for(var o=-1,i=(t=lo(t,e)).length,a=i-1,u=e;null!=u&&++oo?0:o+t),(r=r>o?o:r)<0&&(r+=o),o=t>r?0:r-t>>>0,t>>>=0;for(var i=K(o);++n>>1,a=e[i];null!==a&&!Ya(a)&&(r?a<=t:a=200){var c=t?null:Fo(e);if(c)return Ut(c);a=!1,o=Tt,l=new Ir}else l=t?[]:u;e:for(;++n=n?e:qn(e,t,r)}var fo=Gt||function(e){return He.clearTimeout(e)};function po(e,t){if(t)return e.slice();var r=e.length,n=Ve?Ve(r):new e.constructor(r);return e.copy(n),n}function ho(e){var t=new e.constructor(e.byteLength);return new Be(t).set(new Be(e)),t}function bo(e,t){var r=t?ho(e.buffer):e.buffer;return new e.constructor(r,e.byteOffset,e.length)}function yo(e,t){if(e!==t){var r=void 0!==e,n=null===e,o=e==e,i=Ya(e),a=void 0!==t,u=null===t,l=t==t,c=Ya(t);if(!u&&!c&&!i&&e>t||i&&a&&l&&!u&&!c||n&&a&&l||!r&&l||!o)return 1;if(!n&&!i&&!c&&e1?r[o-1]:void 0,a=o>2?r[2]:void 0;for(i=e.length>3&&"function"==typeof i?(o--,i):void 0,a&&ci(r[0],r[1],a)&&(i=o<3?void 0:i,o=1),t=he(t);++n-1?o[i?t[a]:a]:void 0}}function Eo(e){return qo((function(t){var r=t.length,o=r,i=Tr.prototype.thru;for(e&&t.reverse();o--;){var a=t[o];if("function"!=typeof a)throw new ve(n);if(i&&!u&&"wrapper"==Go(a))var u=new Tr([],!0)}for(o=u?o:r;++o1&&m.reverse(),s&&lu))return!1;var c=i.get(e),s=i.get(t);if(c&&s)return c==t&&s==e;var f=-1,p=!0,d=2&r?new Ir:void 0;for(i.set(e,t),i.set(t,e);++f-1&&e%1==0&&e1?"& ":"")+t[n],t=t.join(r>2?", ":" "),e.replace(Z,"{\n/* [wrapped with "+t+"] */\n")}(n,function(e,t){return it(i,(function(r){var n="_."+r[0];t&r[1]&&!ct(e,n)&&e.push(n)})),e.sort()}(function(e){var t=e.match(X);return t?t[1].split(G):[]}(n),r)))}function Ci(e){var t=0,r=0;return function(){var n=lr(),o=16-(n-r);if(r=n,o>0){if(++t>=800)return arguments[0]}else t=0;return e.apply(void 0,arguments)}}function ji(e,t){var r=-1,n=e.length,o=n-1;for(t=void 0===t?n:t;++r1?e[t-1]:void 0;return r="function"==typeof r?(e.pop(),r):void 0,Xi(e,r)}));function ra(e){var t=Pr(e);return t.__chain__=!0,t}function na(e,t){return t(e)}var oa=qo((function(e){var t=e.length,r=t?e[0]:0,n=this.__wrapped__,o=function(t){return Zr(t,e)};return!(t>1||this.__actions__.length)&&n instanceof Rr&&li(r)?((n=n.slice(r,+r+(t?1:0))).__actions__.push({func:na,args:[o],thisArg:void 0}),new Tr(n,this.__chain__).thru((function(e){return t&&!e.length&&e.push(void 0),e}))):this.thru(o)}));var ia=Oo((function(e,t,r){_e.call(e,r)?++e[r]:Kr(e,r,1)}));var aa=Po(Mi),ua=Po(Li);function la(e,t){return(La(e)?it:en)(e,Yo(t,3))}function ca(e,t){return(La(e)?at:tn)(e,Yo(t,3))}var sa=Oo((function(e,t,r){_e.call(e,r)?e[r].push(t):Kr(e,r,[t])}));var fa=Fn((function(e,t,r){var n=-1,o="function"==typeof t,i=Ia(e)?K(e.length):[];return en(e,(function(e){i[++n]=o?nt(t,e,r):gn(e,t,r)})),i})),pa=Oo((function(e,t,r){Kr(e,r,t)}));function da(e,t){return(La(e)?ft:Pn)(e,Yo(t,3))}var ha=Oo((function(e,t,r){e[r?0:1].push(t)}),(function(){return[[],[]]}));var ba=Fn((function(e,t){if(null==e)return[];var r=t.length;return r>1&&ci(e,t[0],t[1])?t=[]:r>2&&ci(t[0],t[1],t[2])&&(t=[t[0]]),Mn(e,an(t,1),[])})),ya=Qt||function(){return He.Date.now()};function va(e,t,r){return t=r?void 0:t,$o(e,128,void 0,void 0,void 0,void 0,t=e&&null==t?e.length:t)}function ma(e,t){var r;if("function"!=typeof t)throw new ve(n);return e=ou(e),function(){return--e>0&&(r=t.apply(this,arguments)),e<=1&&(t=void 0),r}}var ga=Fn((function(e,t,r){var n=1;if(r.length){var o=$t(r,Qo(ga));n|=32}return $o(e,n,t,r,o)})),xa=Fn((function(e,t,r){var n=3;if(r.length){var o=$t(r,Qo(xa));n|=32}return $o(t,n,e,r,o)}));function Oa(e,t,r){var o,i,a,u,l,c,s=0,f=!1,p=!1,d=!0;if("function"!=typeof e)throw new ve(n);function h(t){var r=o,n=i;return o=i=void 0,s=t,u=e.apply(n,r)}function b(e){return s=e,l=Oi(v,t),f?h(e):u}function y(e){var r=e-c;return void 0===c||r>=t||r<0||p&&e-s>=a}function v(){var e=ya();if(y(e))return m(e);l=Oi(v,function(e){var r=t-(e-c);return p?ur(r,a-(e-s)):r}(e))}function m(e){return l=void 0,d&&o?h(e):(o=i=void 0,u)}function g(){var e=ya(),r=y(e);if(o=arguments,i=this,c=e,r){if(void 0===l)return b(c);if(p)return fo(l),l=Oi(v,t),h(c)}return void 0===l&&(l=Oi(v,t)),u}return t=au(t)||0,Wa(r)&&(f=!!r.leading,a=(p="maxWait"in r)?ar(au(r.maxWait)||0,t):a,d="trailing"in r?!!r.trailing:d),g.cancel=function(){void 0!==l&&fo(l),s=0,o=c=i=l=void 0},g.flush=function(){return void 0===l?u:m(ya())},g}var wa=Fn((function(e,t){return Yr(e,1,t)})),_a=Fn((function(e,t,r){return Yr(e,au(t)||0,r)}));function Ca(e,t){if("function"!=typeof e||null!=t&&"function"!=typeof t)throw new ve(n);var r=function(){var n=arguments,o=t?t.apply(this,n):n[0],i=r.cache;if(i.has(o))return i.get(o);var a=e.apply(this,n);return r.cache=i.set(o,a)||i,a};return r.cache=new(Ca.Cache||Dr),r}function ja(e){if("function"!=typeof e)throw new ve(n);return function(){var t=arguments;switch(t.length){case 0:return!e.call(this);case 1:return!e.call(this,t[0]);case 2:return!e.call(this,t[0],t[1]);case 3:return!e.call(this,t[0],t[1],t[2])}return!e.apply(this,t)}}Ca.Cache=Dr;var Sa=co((function(e,t){var r=(t=1==t.length&&La(t[0])?ft(t[0],Et(Yo())):ft(an(t,1),Et(Yo()))).length;return Fn((function(n){for(var o=-1,i=ur(n.length,r);++o=t})),Ma=xn(function(){return arguments}())?xn:function(e){return Ha(e)&&_e.call(e,"callee")&&!Ke.call(e,"callee")},La=K.isArray,Da=Qe?Et(Qe):function(e){return Ha(e)&&hn(e)==O};function Ia(e){return null!=e&&Va(e.length)&&!$a(e)}function Na(e){return Ha(e)&&Ia(e)}var za=rr||al,Fa=Ye?Et(Ye):function(e){return Ha(e)&&hn(e)==c};function Ba(e){if(!Ha(e))return!1;var t=hn(e);return t==s||"[object DOMException]"==t||"string"==typeof e.message&&"string"==typeof e.name&&!Za(e)}function $a(e){if(!Wa(e))return!1;var t=hn(e);return t==f||t==p||"[object AsyncFunction]"==t||"[object Proxy]"==t}function Ua(e){return"number"==typeof e&&e==ou(e)}function Va(e){return"number"==typeof e&&e>-1&&e%1==0&&e<=9007199254740991}function Wa(e){var t=typeof e;return null!=e&&("object"==t||"function"==t)}function Ha(e){return null!=e&&"object"==typeof e}var qa=Je?Et(Je):function(e){return Ha(e)&&oi(e)==d};function Ka(e){return"number"==typeof e||Ha(e)&&hn(e)==h}function Za(e){if(!Ha(e)||hn(e)!=b)return!1;var t=We(e);if(null===t)return!0;var r=_e.call(t,"constructor")&&t.constructor;return"function"==typeof r&&r instanceof r&&we.call(r)==ke}var Xa=et?Et(et):function(e){return Ha(e)&&hn(e)==y};var Ga=tt?Et(tt):function(e){return Ha(e)&&oi(e)==v};function Qa(e){return"string"==typeof e||!La(e)&&Ha(e)&&hn(e)==m}function Ya(e){return"symbol"==typeof e||Ha(e)&&hn(e)==g}var Ja=rt?Et(rt):function(e){return Ha(e)&&Va(e.length)&&!!ze[hn(e)]};var eu=Io(kn),tu=Io((function(e,t){return e<=t}));function ru(e){if(!e)return[];if(Ia(e))return Qa(e)?Ht(e):go(e);if(yt&&e[yt])return function(e){for(var t,r=[];!(t=e.next()).done;)r.push(t.value);return r}(e[yt]());var t=oi(e);return(t==d?Ft:t==v?Ut:Au)(e)}function nu(e){return e?(e=au(e))===1/0||e===-1/0?17976931348623157e292*(e<0?-1:1):e==e?e:0:0===e?e:0}function ou(e){var t=nu(e),r=t%1;return t==t?r?t-r:t:0}function iu(e){return e?Xr(ou(e),0,4294967295):0}function au(e){if("number"==typeof e)return e;if(Ya(e))return NaN;if(Wa(e)){var t="function"==typeof e.valueOf?e.valueOf():e;e=Wa(t)?t+"":t}if("string"!=typeof e)return 0===e?e:+e;e=Pt(e);var r=ne.test(e);return r||ie.test(e)?Ue(e.slice(2),r?2:8):re.test(e)?NaN:+e}function uu(e){return xo(e,wu(e))}function lu(e){return null==e?"":Yn(e)}var cu=wo((function(e,t){if(di(t)||Ia(t))xo(t,Ou(t),e);else for(var r in t)_e.call(t,r)&&Vr(e,r,t[r])})),su=wo((function(e,t){xo(t,wu(t),e)})),fu=wo((function(e,t,r,n){xo(t,wu(t),e,n)})),pu=wo((function(e,t,r,n){xo(t,Ou(t),e,n)})),du=qo(Zr);var hu=Fn((function(e,t){e=he(e);var r=-1,n=t.length,o=n>2?t[2]:void 0;for(o&&ci(t[0],t[1],o)&&(n=1);++r1),t})),xo(e,Zo(e),r),n&&(r=Gr(r,7,Wo));for(var o=t.length;o--;)eo(r,t[o]);return r}));var Su=qo((function(e,t){return null==e?{}:function(e,t){return Ln(e,t,(function(t,r){return vu(e,r)}))}(e,t)}));function ku(e,t){if(null==e)return{};var r=ft(Zo(e),(function(e){return[e]}));return t=Yo(t),Ln(e,r,(function(e,r){return t(e,r[0])}))}var Pu=Bo(Ou),Eu=Bo(wu);function Au(e){return null==e?[]:At(e,Ou(e))}var Tu=So((function(e,t,r){return t=t.toLowerCase(),e+(r?Ru(t):t)}));function Ru(e){return Bu(lu(e).toLowerCase())}function Mu(e){return(e=lu(e))&&e.replace(ue,Dt).replace(Te,"")}var Lu=So((function(e,t,r){return e+(r?"-":"")+t.toLowerCase()})),Du=So((function(e,t,r){return e+(r?" ":"")+t.toLowerCase()})),Iu=jo("toLowerCase");var Nu=So((function(e,t,r){return e+(r?"_":"")+t.toLowerCase()}));var zu=So((function(e,t,r){return e+(r?" ":"")+Bu(t)}));var Fu=So((function(e,t,r){return e+(r?" ":"")+t.toUpperCase()})),Bu=jo("toUpperCase");function $u(e,t,r){return e=lu(e),void 0===(t=r?void 0:t)?function(e){return De.test(e)}(e)?function(e){return e.match(Me)||[]}(e):function(e){return e.match(Q)||[]}(e):e.match(t)||[]}var Uu=Fn((function(e,t){try{return nt(e,void 0,t)}catch(e){return Ba(e)?e:new fe(e)}})),Vu=qo((function(e,t){return it(t,(function(t){t=ki(t),Kr(e,t,ga(e[t],e))})),e}));function Wu(e){return function(){return e}}var Hu=Eo(),qu=Eo(!0);function Ku(e){return e}function Zu(e){return Cn("function"==typeof e?e:Gr(e,1))}var Xu=Fn((function(e,t){return function(r){return gn(r,e,t)}})),Gu=Fn((function(e,t){return function(r){return gn(e,r,t)}}));function Qu(e,t,r){var n=Ou(t),o=fn(t,n);null!=r||Wa(t)&&(o.length||!n.length)||(r=t,t=e,e=this,o=fn(t,Ou(t)));var i=!(Wa(r)&&"chain"in r&&!r.chain),a=$a(e);return it(o,(function(r){var n=t[r];e[r]=n,a&&(e.prototype[r]=function(){var t=this.__chain__;if(i||t){var r=e(this.__wrapped__),o=r.__actions__=go(this.__actions__);return o.push({func:n,args:arguments,thisArg:e}),r.__chain__=t,r}return n.apply(e,pt([this.value()],arguments))})})),e}function Yu(){}var Ju=Mo(ft),el=Mo(ut),tl=Mo(bt);function rl(e){return si(e)?_t(ki(e)):function(e){return function(t){return pn(t,e)}}(e)}var nl=Do(),ol=Do(!0);function il(){return[]}function al(){return!1}var ul=Ro((function(e,t){return e+t}),0),ll=zo("ceil"),cl=Ro((function(e,t){return e/t}),1),sl=zo("floor");var fl,pl=Ro((function(e,t){return e*t}),1),dl=zo("round"),hl=Ro((function(e,t){return e-t}),0);return Pr.after=function(e,t){if("function"!=typeof t)throw new ve(n);return e=ou(e),function(){if(--e<1)return t.apply(this,arguments)}},Pr.ary=va,Pr.assign=cu,Pr.assignIn=su,Pr.assignInWith=fu,Pr.assignWith=pu,Pr.at=du,Pr.before=ma,Pr.bind=ga,Pr.bindAll=Vu,Pr.bindKey=xa,Pr.castArray=function(){if(!arguments.length)return[];var e=arguments[0];return La(e)?e:[e]},Pr.chain=ra,Pr.chunk=function(e,t,r){t=(r?ci(e,t,r):void 0===t)?1:ar(ou(t),0);var n=null==e?0:e.length;if(!n||t<1)return[];for(var o=0,i=0,a=K(Jt(n/t));oo?0:o+r),(n=void 0===n||n>o?o:ou(n))<0&&(n+=o),n=r>n?0:iu(n);r>>0)?(e=lu(e))&&("string"==typeof t||null!=t&&!Xa(t))&&!(t=Yn(t))&&zt(e)?so(Ht(e),0,r):e.split(t,r):[]},Pr.spread=function(e,t){if("function"!=typeof e)throw new ve(n);return t=null==t?0:ar(ou(t),0),Fn((function(r){var n=r[t],o=so(r,0,t);return n&&pt(o,n),nt(e,this,o)}))},Pr.tail=function(e){var t=null==e?0:e.length;return t?qn(e,1,t):[]},Pr.take=function(e,t,r){return e&&e.length?qn(e,0,(t=r||void 0===t?1:ou(t))<0?0:t):[]},Pr.takeRight=function(e,t,r){var n=null==e?0:e.length;return n?qn(e,(t=n-(t=r||void 0===t?1:ou(t)))<0?0:t,n):[]},Pr.takeRightWhile=function(e,t){return e&&e.length?ro(e,Yo(t,3),!1,!0):[]},Pr.takeWhile=function(e,t){return e&&e.length?ro(e,Yo(t,3)):[]},Pr.tap=function(e,t){return t(e),e},Pr.throttle=function(e,t,r){var o=!0,i=!0;if("function"!=typeof e)throw new ve(n);return Wa(r)&&(o="leading"in r?!!r.leading:o,i="trailing"in r?!!r.trailing:i),Oa(e,t,{leading:o,maxWait:t,trailing:i})},Pr.thru=na,Pr.toArray=ru,Pr.toPairs=Pu,Pr.toPairsIn=Eu,Pr.toPath=function(e){return La(e)?ft(e,ki):Ya(e)?[e]:go(Si(lu(e)))},Pr.toPlainObject=uu,Pr.transform=function(e,t,r){var n=La(e),o=n||za(e)||Ja(e);if(t=Yo(t,4),null==r){var i=e&&e.constructor;r=o?n?new i:[]:Wa(e)&&$a(i)?Er(We(e)):{}}return(o?it:cn)(e,(function(e,n,o){return t(r,e,n,o)})),r},Pr.unary=function(e){return va(e,1)},Pr.union=Hi,Pr.unionBy=qi,Pr.unionWith=Ki,Pr.uniq=function(e){return e&&e.length?Jn(e):[]},Pr.uniqBy=function(e,t){return e&&e.length?Jn(e,Yo(t,2)):[]},Pr.uniqWith=function(e,t){return t="function"==typeof t?t:void 0,e&&e.length?Jn(e,void 0,t):[]},Pr.unset=function(e,t){return null==e||eo(e,t)},Pr.unzip=Zi,Pr.unzipWith=Xi,Pr.update=function(e,t,r){return null==e?e:to(e,t,uo(r))},Pr.updateWith=function(e,t,r,n){return n="function"==typeof n?n:void 0,null==e?e:to(e,t,uo(r),n)},Pr.values=Au,Pr.valuesIn=function(e){return null==e?[]:At(e,wu(e))},Pr.without=Gi,Pr.words=$u,Pr.wrap=function(e,t){return ka(uo(t),e)},Pr.xor=Qi,Pr.xorBy=Yi,Pr.xorWith=Ji,Pr.zip=ea,Pr.zipObject=function(e,t){return io(e||[],t||[],Vr)},Pr.zipObjectDeep=function(e,t){return io(e||[],t||[],Un)},Pr.zipWith=ta,Pr.entries=Pu,Pr.entriesIn=Eu,Pr.extend=su,Pr.extendWith=fu,Qu(Pr,Pr),Pr.add=ul,Pr.attempt=Uu,Pr.camelCase=Tu,Pr.capitalize=Ru,Pr.ceil=ll,Pr.clamp=function(e,t,r){return void 0===r&&(r=t,t=void 0),void 0!==r&&(r=(r=au(r))==r?r:0),void 0!==t&&(t=(t=au(t))==t?t:0),Xr(au(e),t,r)},Pr.clone=function(e){return Gr(e,4)},Pr.cloneDeep=function(e){return Gr(e,5)},Pr.cloneDeepWith=function(e,t){return Gr(e,5,t="function"==typeof t?t:void 0)},Pr.cloneWith=function(e,t){return Gr(e,4,t="function"==typeof t?t:void 0)},Pr.conformsTo=function(e,t){return null==t||Qr(e,t,Ou(t))},Pr.deburr=Mu,Pr.defaultTo=function(e,t){return null==e||e!=e?t:e},Pr.divide=cl,Pr.endsWith=function(e,t,r){e=lu(e),t=Yn(t);var n=e.length,o=r=void 0===r?n:Xr(ou(r),0,n);return(r-=t.length)>=0&&e.slice(r,o)==t},Pr.eq=Aa,Pr.escape=function(e){return(e=lu(e))&&N.test(e)?e.replace(D,It):e},Pr.escapeRegExp=function(e){return(e=lu(e))&&H.test(e)?e.replace(W,"\\$&"):e},Pr.every=function(e,t,r){var n=La(e)?ut:rn;return r&&ci(e,t,r)&&(t=void 0),n(e,Yo(t,3))},Pr.find=aa,Pr.findIndex=Mi,Pr.findKey=function(e,t){return vt(e,Yo(t,3),cn)},Pr.findLast=ua,Pr.findLastIndex=Li,Pr.findLastKey=function(e,t){return vt(e,Yo(t,3),sn)},Pr.floor=sl,Pr.forEach=la,Pr.forEachRight=ca,Pr.forIn=function(e,t){return null==e?e:un(e,Yo(t,3),wu)},Pr.forInRight=function(e,t){return null==e?e:ln(e,Yo(t,3),wu)},Pr.forOwn=function(e,t){return e&&cn(e,Yo(t,3))},Pr.forOwnRight=function(e,t){return e&&sn(e,Yo(t,3))},Pr.get=yu,Pr.gt=Ta,Pr.gte=Ra,Pr.has=function(e,t){return null!=e&&ii(e,t,yn)},Pr.hasIn=vu,Pr.head=Ii,Pr.identity=Ku,Pr.includes=function(e,t,r,n){e=Ia(e)?e:Au(e),r=r&&!n?ou(r):0;var o=e.length;return r<0&&(r=ar(o+r,0)),Qa(e)?r<=o&&e.indexOf(t,r)>-1:!!o&>(e,t,r)>-1},Pr.indexOf=function(e,t,r){var n=null==e?0:e.length;if(!n)return-1;var o=null==r?0:ou(r);return o<0&&(o=ar(n+o,0)),gt(e,t,o)},Pr.inRange=function(e,t,r){return t=nu(t),void 0===r?(r=t,t=0):r=nu(r),function(e,t,r){return e>=ur(t,r)&&e=-9007199254740991&&e<=9007199254740991},Pr.isSet=Ga,Pr.isString=Qa,Pr.isSymbol=Ya,Pr.isTypedArray=Ja,Pr.isUndefined=function(e){return void 0===e},Pr.isWeakMap=function(e){return Ha(e)&&oi(e)==x},Pr.isWeakSet=function(e){return Ha(e)&&"[object WeakSet]"==hn(e)},Pr.join=function(e,t){return null==e?"":or.call(e,t)},Pr.kebabCase=Lu,Pr.last=Bi,Pr.lastIndexOf=function(e,t,r){var n=null==e?0:e.length;if(!n)return-1;var o=n;return void 0!==r&&(o=(o=ou(r))<0?ar(n+o,0):ur(o,n-1)),t==t?function(e,t,r){for(var n=r+1;n--;)if(e[n]===t)return n;return n}(e,t,o):mt(e,Ot,o,!0)},Pr.lowerCase=Du,Pr.lowerFirst=Iu,Pr.lt=eu,Pr.lte=tu,Pr.max=function(e){return e&&e.length?nn(e,Ku,bn):void 0},Pr.maxBy=function(e,t){return e&&e.length?nn(e,Yo(t,2),bn):void 0},Pr.mean=function(e){return wt(e,Ku)},Pr.meanBy=function(e,t){return wt(e,Yo(t,2))},Pr.min=function(e){return e&&e.length?nn(e,Ku,kn):void 0},Pr.minBy=function(e,t){return e&&e.length?nn(e,Yo(t,2),kn):void 0},Pr.stubArray=il,Pr.stubFalse=al,Pr.stubObject=function(){return{}},Pr.stubString=function(){return""},Pr.stubTrue=function(){return!0},Pr.multiply=pl,Pr.nth=function(e,t){return e&&e.length?Rn(e,ou(t)):void 0},Pr.noConflict=function(){return He._===this&&(He._=Pe),this},Pr.noop=Yu,Pr.now=ya,Pr.pad=function(e,t,r){e=lu(e);var n=(t=ou(t))?Wt(e):0;if(!t||n>=t)return e;var o=(t-n)/2;return Lo(er(o),r)+e+Lo(Jt(o),r)},Pr.padEnd=function(e,t,r){e=lu(e);var n=(t=ou(t))?Wt(e):0;return t&&nt){var n=e;e=t,t=n}if(r||e%1||t%1){var o=sr();return ur(e+o*(t-e+$e("1e-"+((o+"").length-1))),t)}return Nn(e,t)},Pr.reduce=function(e,t,r){var n=La(e)?dt:jt,o=arguments.length<3;return n(e,Yo(t,4),r,o,en)},Pr.reduceRight=function(e,t,r){var n=La(e)?ht:jt,o=arguments.length<3;return n(e,Yo(t,4),r,o,tn)},Pr.repeat=function(e,t,r){return t=(r?ci(e,t,r):void 0===t)?1:ou(t),zn(lu(e),t)},Pr.replace=function(){var e=arguments,t=lu(e[0]);return e.length<3?t:t.replace(e[1],e[2])},Pr.result=function(e,t,r){var n=-1,o=(t=lo(t,e)).length;for(o||(o=1,e=void 0);++n9007199254740991)return[];var r=4294967295,n=ur(e,4294967295);e-=4294967295;for(var o=kt(n,t=Yo(t));++r=i)return e;var u=r-Wt(n);if(u<1)return n;var l=a?so(a,0,u).join(""):e.slice(0,u);if(void 0===o)return l+n;if(a&&(u+=l.length-u),Xa(o)){if(e.slice(u).search(o)){var c,s=l;for(o.global||(o=be(o.source,lu(te.exec(o))+"g")),o.lastIndex=0;c=o.exec(s);)var f=c.index;l=l.slice(0,void 0===f?u:f)}}else if(e.indexOf(Yn(o),u)!=u){var p=l.lastIndexOf(o);p>-1&&(l=l.slice(0,p))}return l+n},Pr.unescape=function(e){return(e=lu(e))&&I.test(e)?e.replace(L,Kt):e},Pr.uniqueId=function(e){var t=++Ce;return lu(e)+t},Pr.upperCase=Fu,Pr.upperFirst=Bu,Pr.each=la,Pr.eachRight=ca,Pr.first=Ii,Qu(Pr,(fl={},cn(Pr,(function(e,t){_e.call(Pr.prototype,t)||(fl[t]=e)})),fl),{chain:!1}),Pr.VERSION="4.17.21",it(["bind","bindKey","curry","curryRight","partial","partialRight"],(function(e){Pr[e].placeholder=Pr})),it(["drop","take"],(function(e,t){Rr.prototype[e]=function(r){r=void 0===r?1:ar(ou(r),0);var n=this.__filtered__&&!t?new Rr(this):this.clone();return n.__filtered__?n.__takeCount__=ur(r,n.__takeCount__):n.__views__.push({size:ur(r,4294967295),type:e+(n.__dir__<0?"Right":"")}),n},Rr.prototype[e+"Right"]=function(t){return this.reverse()[e](t).reverse()}})),it(["filter","map","takeWhile"],(function(e,t){var r=t+1,n=1==r||3==r;Rr.prototype[e]=function(e){var t=this.clone();return t.__iteratees__.push({iteratee:Yo(e,3),type:r}),t.__filtered__=t.__filtered__||n,t}})),it(["head","last"],(function(e,t){var r="take"+(t?"Right":"");Rr.prototype[e]=function(){return this[r](1).value()[0]}})),it(["initial","tail"],(function(e,t){var r="drop"+(t?"":"Right");Rr.prototype[e]=function(){return this.__filtered__?new Rr(this):this[r](1)}})),Rr.prototype.compact=function(){return this.filter(Ku)},Rr.prototype.find=function(e){return this.filter(e).head()},Rr.prototype.findLast=function(e){return this.reverse().find(e)},Rr.prototype.invokeMap=Fn((function(e,t){return"function"==typeof e?new Rr(this):this.map((function(r){return gn(r,e,t)}))})),Rr.prototype.reject=function(e){return this.filter(ja(Yo(e)))},Rr.prototype.slice=function(e,t){e=ou(e);var r=this;return r.__filtered__&&(e>0||t<0)?new Rr(r):(e<0?r=r.takeRight(-e):e&&(r=r.drop(e)),void 0!==t&&(r=(t=ou(t))<0?r.dropRight(-t):r.take(t-e)),r)},Rr.prototype.takeRightWhile=function(e){return this.reverse().takeWhile(e).reverse()},Rr.prototype.toArray=function(){return this.take(4294967295)},cn(Rr.prototype,(function(e,t){var r=/^(?:filter|find|map|reject)|While$/.test(t),n=/^(?:head|last)$/.test(t),o=Pr[n?"take"+("last"==t?"Right":""):t],i=n||/^find/.test(t);o&&(Pr.prototype[t]=function(){var t=this.__wrapped__,a=n?[1]:arguments,u=t instanceof Rr,l=a[0],c=u||La(t),s=function(e){var t=o.apply(Pr,pt([e],a));return n&&f?t[0]:t};c&&r&&"function"==typeof l&&1!=l.length&&(u=c=!1);var f=this.__chain__,p=!!this.__actions__.length,d=i&&!f,h=u&&!p;if(!i&&c){t=h?t:new Rr(this);var b=e.apply(t,a);return b.__actions__.push({func:na,args:[s],thisArg:void 0}),new Tr(b,f)}return d&&h?e.apply(this,a):(b=this.thru(s),d?n?b.value()[0]:b.value():b)})})),it(["pop","push","shift","sort","splice","unshift"],(function(e){var t=me[e],r=/^(?:push|sort|unshift)$/.test(e)?"tap":"thru",n=/^(?:pop|shift)$/.test(e);Pr.prototype[e]=function(){var e=arguments;if(n&&!this.__chain__){var o=this.value();return t.apply(La(o)?o:[],e)}return this[r]((function(r){return t.apply(La(r)?r:[],e)}))}})),cn(Rr.prototype,(function(e,t){var r=Pr[t];if(r){var n=r.name+"";_e.call(gr,n)||(gr[n]=[]),gr[n].push({name:t,func:r})}})),gr[Ao(void 0,2).name]=[{name:"wrapper",func:void 0}],Rr.prototype.clone=function(){var e=new Rr(this.__wrapped__);return e.__actions__=go(this.__actions__),e.__dir__=this.__dir__,e.__filtered__=this.__filtered__,e.__iteratees__=go(this.__iteratees__),e.__takeCount__=this.__takeCount__,e.__views__=go(this.__views__),e},Rr.prototype.reverse=function(){if(this.__filtered__){var e=new Rr(this);e.__dir__=-1,e.__filtered__=!0}else(e=this.clone()).__dir__*=-1;return e},Rr.prototype.value=function(){var e=this.__wrapped__.value(),t=this.__dir__,r=La(e),n=t<0,o=r?e.length:0,i=function(e,t,r){var n=-1,o=r.length;for(;++n=this.__values__.length;return{done:e,value:e?void 0:this.__values__[this.__index__++]}},Pr.prototype.plant=function(e){for(var t,r=this;r instanceof Ar;){var n=Ei(r);n.__index__=0,n.__values__=void 0,t?o.__wrapped__=n:t=n;var o=n;r=r.__wrapped__}return o.__wrapped__=e,t},Pr.prototype.reverse=function(){var e=this.__wrapped__;if(e instanceof Rr){var t=e;return this.__actions__.length&&(t=new Rr(this)),(t=t.reverse()).__actions__.push({func:na,args:[Wi],thisArg:void 0}),new Tr(t,this.__chain__)}return this.thru(Wi)},Pr.prototype.toJSON=Pr.prototype.valueOf=Pr.prototype.value=function(){return no(this.__wrapped__,this.__actions__)},Pr.prototype.first=Pr.prototype.head,yt&&(Pr.prototype[yt]=function(){return this}),Pr}();Ke?((Ke.exports=Zt)._=Zt,qe._=Zt):He._=Zt}).call(this)}).call(this,r(23),r(70)(e))},function(e,t,r){e.exports=r(149)()},function(e,t,r){"use strict";r.d(t,"a",(function(){return b})),r.d(t,"b",(function(){return h})),r.d(t,"c",(function(){return m})),r.d(t,"d",(function(){return j})),r.d(t,"e",(function(){return S}));var n=r(10),o=r(0),i=r.n(o),a=(r(3),r(12)),u=r(58),l=r(9),c=r(5),s=r(59),f=r.n(s),p=(r(24),r(19)),d=(r(26),function(e){var t=Object(u.a)();return t.displayName=e,t}("Router-History")),h=function(e){var t=Object(u.a)();return t.displayName=e,t}("Router"),b=function(e){function t(t){var r;return(r=e.call(this,t)||this).state={location:t.history.location},r._isMounted=!1,r._pendingLocation=null,t.staticContext||(r.unlisten=t.history.listen((function(e){r._isMounted?r.setState({location:e}):r._pendingLocation=e}))),r}Object(n.a)(t,e),t.computeRootMatch=function(e){return{path:"/",url:"/",params:{},isExact:"/"===e}};var r=t.prototype;return r.componentDidMount=function(){this._isMounted=!0,this._pendingLocation&&this.setState({location:this._pendingLocation})},r.componentWillUnmount=function(){this.unlisten&&this.unlisten()},r.render=function(){return i.a.createElement(h.Provider,{value:{history:this.props.history,location:this.state.location,match:t.computeRootMatch(this.state.location.pathname),staticContext:this.props.staticContext}},i.a.createElement(d.Provider,{children:this.props.children||null,value:this.props.history}))},t}(i.a.Component);i.a.Component;i.a.Component;var y={},v=0;function m(e,t){void 0===t&&(t={}),("string"==typeof t||Array.isArray(t))&&(t={path:t});var r=t,n=r.path,o=r.exact,i=void 0!==o&&o,a=r.strict,u=void 0!==a&&a,l=r.sensitive,c=void 0!==l&&l;return[].concat(n).reduce((function(t,r){if(!r&&""!==r)return null;if(t)return t;var n=function(e,t){var r=""+t.end+t.strict+t.sensitive,n=y[r]||(y[r]={});if(n[e])return n[e];var o=[],i={regexp:f()(e,o,t),keys:o};return v<1e4&&(n[e]=i,v++),i}(r,{end:i,strict:u,sensitive:c}),o=n.regexp,a=n.keys,l=o.exec(e);if(!l)return null;var s=l[0],p=l.slice(1),d=e===s;return i&&!d?null:{path:r,url:"/"===r&&""===s?"/":s,isExact:d,params:a.reduce((function(e,t,r){return e[t.name]=p[r],e}),{})}}),null)}i.a.Component;function g(e){return"/"===e.charAt(0)?e:"/"+e}function x(e,t){if(!e)return t;var r=g(e);return 0!==t.pathname.indexOf(r)?t:Object(c.a)({},t,{pathname:t.pathname.substr(r.length)})}function O(e){return"string"==typeof e?e:Object(a.e)(e)}function w(e){return function(){Object(l.a)(!1)}}function _(){}i.a.Component;i.a.Component;var C=i.a.useContext;function j(){return C(d)}function S(){return C(h).location}},function(e,t,r){"use strict";function n(){return(n=Object.assign||function(e){for(var t=1;t=0;p--){var d=a[p];"."===d?i(a,p):".."===d?(i(a,p),f++):f&&(i(a,p),f--)}if(!c)for(;f--;f)a.unshift("..");!c||""===a[0]||a[0]&&o(a[0])||a.unshift("");var h=a.join("/");return r&&"/"!==h.substr(-1)&&(h+="/"),h};function u(e){return e.valueOf?e.valueOf():Object.prototype.valueOf.call(e)}var l=function e(t,r){if(t===r)return!0;if(null==t||null==r)return!1;if(Array.isArray(t))return Array.isArray(r)&&t.length===r.length&&t.every((function(t,n){return e(t,r[n])}));if("object"==typeof t||"object"==typeof r){var n=u(t),o=u(r);return n!==t||o!==r?e(n,o):Object.keys(Object.assign({},t,r)).every((function(n){return e(t[n],r[n])}))}return!1},c=r(9);function s(e){return"/"===e.charAt(0)?e:"/"+e}function f(e){return"/"===e.charAt(0)?e.substr(1):e}function p(e,t){return function(e,t){return 0===e.toLowerCase().indexOf(t.toLowerCase())&&-1!=="/?#".indexOf(e.charAt(t.length))}(e,t)?e.substr(t.length):e}function d(e){return"/"===e.charAt(e.length-1)?e.slice(0,-1):e}function h(e){var t=e.pathname,r=e.search,n=e.hash,o=t||"/";return r&&"?"!==r&&(o+="?"===r.charAt(0)?r:"?"+r),n&&"#"!==n&&(o+="#"===n.charAt(0)?n:"#"+n),o}function b(e,t,r,o){var i;"string"==typeof e?(i=function(e){var t=e||"/",r="",n="",o=t.indexOf("#");-1!==o&&(n=t.substr(o),t=t.substr(0,o));var i=t.indexOf("?");return-1!==i&&(r=t.substr(i),t=t.substr(0,i)),{pathname:t,search:"?"===r?"":r,hash:"#"===n?"":n}}(e)).state=t:(void 0===(i=Object(n.a)({},e)).pathname&&(i.pathname=""),i.search?"?"!==i.search.charAt(0)&&(i.search="?"+i.search):i.search="",i.hash?"#"!==i.hash.charAt(0)&&(i.hash="#"+i.hash):i.hash="",void 0!==t&&void 0===i.state&&(i.state=t));try{i.pathname=decodeURI(i.pathname)}catch(e){throw e instanceof URIError?new URIError('Pathname "'+i.pathname+'" could not be decoded. This is likely caused by an invalid percent-encoding.'):e}return r&&(i.key=r),o?i.pathname?"/"!==i.pathname.charAt(0)&&(i.pathname=a(i.pathname,o.pathname)):i.pathname=o.pathname:i.pathname||(i.pathname="/"),i}function y(e,t){return e.pathname===t.pathname&&e.search===t.search&&e.hash===t.hash&&e.key===t.key&&l(e.state,t.state)}function v(){var e=null;var t=[];return{setPrompt:function(t){return e=t,function(){e===t&&(e=null)}},confirmTransitionTo:function(t,r,n,o){if(null!=e){var i="function"==typeof e?e(t,r):e;"string"==typeof i?"function"==typeof n?n(i,o):o(!0):o(!1!==i)}else o(!0)},appendListener:function(e){var r=!0;function n(){r&&e.apply(void 0,arguments)}return t.push(n),function(){r=!1,t=t.filter((function(e){return e!==n}))}},notifyListeners:function(){for(var e=arguments.length,r=new Array(e),n=0;nt?r.splice(t,r.length-t,n):r.push(n),f({action:"PUSH",location:n,index:t,entries:r})}}))},replace:function(e,t){var n=b(e,t,p(),x.location);s.confirmTransitionTo(n,"REPLACE",r,(function(e){e&&(x.entries[x.index]=n,f({action:"REPLACE",location:n}))}))},go:g,goBack:function(){g(-1)},goForward:function(){g(1)},canGo:function(e){var t=x.index+e;return t>=0&&t=0||(o[r]=e[r]);return o}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(n=0;n=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(o[r]=e[r])}return o}var d=l()(s.a).withConfig({displayName:"SVGInternal__StyledSVG",componentId:"ksy9g7-0"})(["circle,ellipse,path,polygon,rect{fill:currentColor;}"]),h={viewBox:a.a.string};function b(e){var t=e.viewBox,r=void 0===t?"0 0 1500 1500":t,n=p(e,["viewBox"]);return o.a.createElement(d,f({viewBox:r},n))}b.propTypes=h,t.default=b},3:function(e,t){e.exports=r(3)},5:function(e,t){e.exports=r(1)}})},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.getCustomizedTheme=t.addThemeDefaults=void 0;var n,o=r(2),i=(n=r(47))&&n.__esModule?n:{default:n};t.addThemeDefaults=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=e.family,r=void 0===t?"prisma":t,n=e.colorScheme,o=void 0===n?"dark":n,i=e.density,a=void 0===i?"comfortable":i;return{family:r,colorScheme:o,density:a}};var a=(0,o.memoize)((function(e,t){var r=(0,i.default)(e);return t?t(r):r}),(function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=e.family,r=e.colorScheme,n=e.density,o=arguments.length>1?arguments[1]:void 0;return"".concat(t,"-").concat(r,"-").concat(n,"-").concat(!!o)}));t.getCustomizedTheme=a},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.getCustomizedTheme=t.addThemeDefaults=void 0;var n,o=r(2),i=(n=r(39))&&n.__esModule?n:{default:n};t.addThemeDefaults=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=e.family,r=void 0===t?"prisma":t,n=e.colorScheme,o=void 0===n?"dark":n,i=e.density,a=void 0===i?"comfortable":i;return{family:r,colorScheme:o,density:a}};var a=(0,o.memoize)((function(e,t){var r=(0,i.default)(e);return t?t(r):r}),(function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=e.family,r=e.colorScheme,n=e.density,o=arguments.length>1?arguments[1]:void 0;return"".concat(t,"-").concat(r,"-").concat(n,"-").concat(!!o)}));t.getCustomizedTheme=a},function(e,t,r){"use strict";var n=r(52),o=t.ValidationError=function(e,t,r,n,o,i){if(Array.isArray(n)?(this.path=n,this.property=n.reduce((function(e,t){return e+f(t)}),"instance")):void 0!==n&&(this.property=n),e&&(this.message=e),r){var a=r.$id||r.id;this.schema=a||r}void 0!==t&&(this.instance=t),this.name=o,this.argument=i,this.stack=this.toString()};o.prototype.toString=function(){return this.property+" "+this.message};var i=t.ValidatorResult=function(e,t,r,n){this.instance=e,this.schema=t,this.options=r,this.path=n.path,this.propertyPath=n.propertyPath,this.errors=[],this.throwError=r&&r.throwError,this.throwFirst=r&&r.throwFirst,this.throwAll=r&&r.throwAll,this.disableFormat=r&&!0===r.disableFormat};function a(e,t){return t+": "+e.toString()+"\n"}function u(e){Error.captureStackTrace&&Error.captureStackTrace(this,u),this.instance=e.instance,this.schema=e.schema,this.options=e.options,this.errors=e.errors}i.prototype.addError=function(e){var t;if("string"==typeof e)t=new o(e,this.instance,this.schema,this.path);else{if(!e)throw new Error("Missing error detail");if(!e.message)throw new Error("Missing error message");if(!e.name)throw new Error("Missing validator type");t=new o(e.message,this.instance,this.schema,this.path,e.name,e.argument)}if(this.errors.push(t),this.throwFirst)throw new u(this);if(this.throwError)throw t;return t},i.prototype.importErrors=function(e){"string"==typeof e||e&&e.validatorType?this.addError(e):e&&e.errors&&Array.prototype.push.apply(this.errors,e.errors)},i.prototype.toString=function(e){return this.errors.map(a).join("")},Object.defineProperty(i.prototype,"valid",{get:function(){return!this.errors.length}}),e.exports.ValidatorResultError=u,u.prototype=new Error,u.prototype.constructor=u,u.prototype.name="Validation Error";var l=t.SchemaError=function e(t,r){this.message=t,this.schema=r,Error.call(this,t),Error.captureStackTrace(this,e)};l.prototype=Object.create(Error.prototype,{constructor:{value:l,enumerable:!1},name:{value:"SchemaError",enumerable:!1}});var c=t.SchemaContext=function(e,t,r,n,o){this.schema=e,this.options=t,Array.isArray(r)?(this.path=r,this.propertyPath=r.reduce((function(e,t){return e+f(t)}),"instance")):this.propertyPath=r,this.base=n,this.schemas=o};c.prototype.resolve=function(e){return n.resolve(this.base,e)},c.prototype.makeChild=function(e,t){var r=void 0===t?this.path:this.path.concat([t]),o=e.$id||e.id,i=n.resolve(this.base,o||""),a=new c(e,this.options,r,i,Object.create(this.schemas));return o&&!a.schemas[i]&&(a.schemas[i]=e),a};var s=t.FORMAT_REGEXPS={"date-time":/^\d{4}-(?:0[0-9]{1}|1[0-2]{1})-(3[01]|0[1-9]|[12][0-9])[tT ](2[0-4]|[01][0-9]):([0-5][0-9]):(60|[0-5][0-9])(\.\d+)?([zZ]|[+-]([0-5][0-9]):(60|[0-5][0-9]))$/,date:/^\d{4}-(?:0[0-9]{1}|1[0-2]{1})-(3[01]|0[1-9]|[12][0-9])$/,time:/^(2[0-4]|[01][0-9]):([0-5][0-9]):(60|[0-5][0-9])$/,email:/^(?:[\w\!\#\$\%\&\'\*\+\-\/\=\?\^\`\{\|\}\~]+\.)*[\w\!\#\$\%\&\'\*\+\-\/\=\?\^\`\{\|\}\~]+@(?:(?:(?:[a-zA-Z0-9](?:[a-zA-Z0-9\-](?!\.)){0,61}[a-zA-Z0-9]?\.)+[a-zA-Z0-9](?:[a-zA-Z0-9\-](?!$)){0,61}[a-zA-Z0-9]?)|(?:\[(?:(?:[01]?\d{1,2}|2[0-4]\d|25[0-5])\.){3}(?:[01]?\d{1,2}|2[0-4]\d|25[0-5])\]))$/,"ip-address":/^(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$/,ipv6:/^\s*((([0-9A-Fa-f]{1,4}:){7}([0-9A-Fa-f]{1,4}|:))|(([0-9A-Fa-f]{1,4}:){6}(:[0-9A-Fa-f]{1,4}|((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3})|:))|(([0-9A-Fa-f]{1,4}:){5}(((:[0-9A-Fa-f]{1,4}){1,2})|:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3})|:))|(([0-9A-Fa-f]{1,4}:){4}(((:[0-9A-Fa-f]{1,4}){1,3})|((:[0-9A-Fa-f]{1,4})?:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(([0-9A-Fa-f]{1,4}:){3}(((:[0-9A-Fa-f]{1,4}){1,4})|((:[0-9A-Fa-f]{1,4}){0,2}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(([0-9A-Fa-f]{1,4}:){2}(((:[0-9A-Fa-f]{1,4}){1,5})|((:[0-9A-Fa-f]{1,4}){0,3}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(([0-9A-Fa-f]{1,4}:){1}(((:[0-9A-Fa-f]{1,4}){1,6})|((:[0-9A-Fa-f]{1,4}){0,4}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(:(((:[0-9A-Fa-f]{1,4}){1,7})|((:[0-9A-Fa-f]{1,4}){0,5}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:)))(%.+)?\s*$/,uri:/^[a-zA-Z][a-zA-Z0-9+-.]*:[^\s]*$/,"uri-reference":/^(((([A-Za-z][+\-.0-9A-Za-z]*(:%[0-9A-Fa-f]{2}|:[!$&-.0-;=?-Z_a-z~]|[/?])|\?)(%[0-9A-Fa-f]{2}|[!$&-;=?-Z_a-z~])*|([A-Za-z][+\-.0-9A-Za-z]*:?)?)|([A-Za-z][+\-.0-9A-Za-z]*:)?\/((%[0-9A-Fa-f]{2}|\/((%[0-9A-Fa-f]{2}|[!$&-.0-9;=A-Z_a-z~])+|(\[(([Vv][0-9A-Fa-f]+\.[!$&-.0-;=A-Z_a-z~]+)?|[.0-:A-Fa-f]+)\])?)(:\d*)?[/?]|[!$&-.0-;=?-Z_a-z~])(%[0-9A-Fa-f]{2}|[!$&-;=?-Z_a-z~])*|(\/((%[0-9A-Fa-f]{2}|[!$&-.0-9;=A-Z_a-z~])+|(\[(([Vv][0-9A-Fa-f]+\.[!$&-.0-;=A-Z_a-z~]+)?|[.0-:A-Fa-f]+)\])?)(:\d*)?)?))#(%[0-9A-Fa-f]{2}|[!$&-;=?-Z_a-z~])*|(([A-Za-z][+\-.0-9A-Za-z]*)?%[0-9A-Fa-f]{2}|[!$&-.0-9;=@_~]|[A-Za-z][+\-.0-9A-Za-z]*[!$&-*,;=@_~])(%[0-9A-Fa-f]{2}|[!$&-.0-9;=@-Z_a-z~])*((([/?](%[0-9A-Fa-f]{2}|[!$&-;=?-Z_a-z~])*)?#|[/?])(%[0-9A-Fa-f]{2}|[!$&-;=?-Z_a-z~])*)?|([A-Za-z][+\-.0-9A-Za-z]*(:%[0-9A-Fa-f]{2}|:[!$&-.0-;=?-Z_a-z~]|[/?])|\?)(%[0-9A-Fa-f]{2}|[!$&-;=?-Z_a-z~])*|([A-Za-z][+\-.0-9A-Za-z]*:)?\/((%[0-9A-Fa-f]{2}|\/((%[0-9A-Fa-f]{2}|[!$&-.0-9;=A-Z_a-z~])+|(\[(([Vv][0-9A-Fa-f]+\.[!$&-.0-;=A-Z_a-z~]+)?|[.0-:A-Fa-f]+)\])?)(:\d*)?[/?]|[!$&-.0-;=?-Z_a-z~])(%[0-9A-Fa-f]{2}|[!$&-;=?-Z_a-z~])*|\/((%[0-9A-Fa-f]{2}|[!$&-.0-9;=A-Z_a-z~])+(:\d*)?|(\[(([Vv][0-9A-Fa-f]+\.[!$&-.0-;=A-Z_a-z~]+)?|[.0-:A-Fa-f]+)\])?:\d*|\[(([Vv][0-9A-Fa-f]+\.[!$&-.0-;=A-Z_a-z~]+)?|[.0-:A-Fa-f]+)\])?)?|[A-Za-z][+\-.0-9A-Za-z]*:?)?$/,color:/^(#?([0-9A-Fa-f]{3}){1,2}\b|aqua|black|blue|fuchsia|gray|green|lime|maroon|navy|olive|orange|purple|red|silver|teal|white|yellow|(rgb\(\s*\b([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])\b\s*,\s*\b([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])\b\s*,\s*\b([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])\b\s*\))|(rgb\(\s*(\d?\d%|100%)+\s*,\s*(\d?\d%|100%)+\s*,\s*(\d?\d%|100%)+\s*\)))$/,hostname:/^(?=.{1,255}$)[0-9A-Za-z](?:(?:[0-9A-Za-z]|-){0,61}[0-9A-Za-z])?(?:\.[0-9A-Za-z](?:(?:[0-9A-Za-z]|-){0,61}[0-9A-Za-z])?)*\.?$/,"host-name":/^(?=.{1,255}$)[0-9A-Za-z](?:(?:[0-9A-Za-z]|-){0,61}[0-9A-Za-z])?(?:\.[0-9A-Za-z](?:(?:[0-9A-Za-z]|-){0,61}[0-9A-Za-z])?)*\.?$/,alpha:/^[a-zA-Z]+$/,alphanumeric:/^[a-zA-Z0-9]+$/,"utc-millisec":function(e){return"string"==typeof e&&parseFloat(e)===parseInt(e,10)&&!isNaN(e)},regex:function(e){var t=!0;try{new RegExp(e)}catch(e){t=!1}return t},style:/\s*(.+?):\s*([^;]+);?/,phone:/^\+(?:[0-9] ?){6,14}[0-9]$/};s.regexp=s.regex,s.pattern=s.regex,s.ipv4=s["ip-address"],t.isFormat=function(e,t,r){if("string"==typeof e&&void 0!==s[t]){if(s[t]instanceof RegExp)return s[t].test(e);if("function"==typeof s[t])return s[t](e)}else if(r&&r.customFormats&&"function"==typeof r.customFormats[t])return r.customFormats[t](e);return!0};var f=t.makeSuffix=function(e){return(e=e.toString()).match(/[.\s\[\]]/)||e.match(/^[\d]/)?e.match(/^\d+$/)?"["+e+"]":"["+JSON.stringify(e)+"]":"."+e};function p(e,t,r,n){"object"==typeof r?t[n]=b(e[n],r):-1===e.indexOf(r)&&t.push(r)}function d(e,t,r){t[r]=e[r]}function h(e,t,r,n){"object"==typeof t[n]&&t[n]&&e[n]?r[n]=b(e[n],t[n]):r[n]=t[n]}function b(e,t){var r=Array.isArray(t),n=r&&[]||{};return r?(e=e||[],n=n.concat(e),t.forEach(p.bind(null,e,n))):(e&&"object"==typeof e&&Object.keys(e).forEach(d.bind(null,e,n)),Object.keys(t).forEach(h.bind(null,e,t,n))),n}function y(e){return"/"+encodeURIComponent(e).replace(/~/g,"%7E")}t.deepCompareStrict=function e(t,r){if(typeof t!=typeof r)return!1;if(Array.isArray(t))return!!Array.isArray(r)&&(t.length===r.length&&t.every((function(n,o){return e(t[o],r[o])})));if("object"==typeof t){if(!t||!r)return t===r;var n=Object.keys(t),o=Object.keys(r);return n.length===o.length&&n.every((function(n){return e(t[n],r[n])}))}return t===r},e.exports.deepMerge=b,t.objectGetPath=function(e,t){for(var r,n=t.split("/").slice(1);"string"==typeof(r=n.shift());){var o=decodeURIComponent(r.replace(/~0/,"~").replace(/~1/g,"/"));if(!(o in e))return;e=e[o]}return e},t.encodePath=function(e){return e.map(y).join("")},t.getDecimalPlaces=function(e){var t=0;if(isNaN(e))return t;"number"!=typeof e&&(e=Number(e));var r=e.toString().split("e");if(2===r.length){if("-"!==r[1][0])return t;t=Number(r[1].slice(1))}var n=r[0].split(".");return 2===n.length&&(t+=n[1].length),t},t.isSchema=function(e){return"object"==typeof e&&e||"boolean"==typeof e}},function(e,t,r){"use strict";function n(e,t){if(null==e)return{};var r,n,o={},i=Object.keys(e);for(n=0;n=0||(o[r]=e[r]);return o}r.d(t,"a",(function(){return n}))},function(e,t){function r(t){return e.exports=r=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)},e.exports.default=e.exports,e.exports.__esModule=!0,r(t)}e.exports=r,e.exports.default=e.exports,e.exports.__esModule=!0},function(e,t,r){var n;!function(o){var i=/^\s+/,a=/\s+$/,u=0,l=o.round,c=o.min,s=o.max,f=o.random;function p(e,t){if(t=t||{},(e=e||"")instanceof p)return e;if(!(this instanceof p))return new p(e,t);var r=function(e){var t={r:0,g:0,b:0},r=1,n=null,u=null,l=null,f=!1,p=!1;"string"==typeof e&&(e=function(e){e=e.replace(i,"").replace(a,"").toLowerCase();var t,r=!1;if(A[e])e=A[e],r=!0;else if("transparent"==e)return{r:0,g:0,b:0,a:0,format:"name"};if(t=V.rgb.exec(e))return{r:t[1],g:t[2],b:t[3]};if(t=V.rgba.exec(e))return{r:t[1],g:t[2],b:t[3],a:t[4]};if(t=V.hsl.exec(e))return{h:t[1],s:t[2],l:t[3]};if(t=V.hsla.exec(e))return{h:t[1],s:t[2],l:t[3],a:t[4]};if(t=V.hsv.exec(e))return{h:t[1],s:t[2],v:t[3]};if(t=V.hsva.exec(e))return{h:t[1],s:t[2],v:t[3],a:t[4]};if(t=V.hex8.exec(e))return{r:D(t[1]),g:D(t[2]),b:D(t[3]),a:F(t[4]),format:r?"name":"hex8"};if(t=V.hex6.exec(e))return{r:D(t[1]),g:D(t[2]),b:D(t[3]),format:r?"name":"hex"};if(t=V.hex4.exec(e))return{r:D(t[1]+""+t[1]),g:D(t[2]+""+t[2]),b:D(t[3]+""+t[3]),a:F(t[4]+""+t[4]),format:r?"name":"hex8"};if(t=V.hex3.exec(e))return{r:D(t[1]+""+t[1]),g:D(t[2]+""+t[2]),b:D(t[3]+""+t[3]),format:r?"name":"hex"};return!1}(e));"object"==typeof e&&(W(e.r)&&W(e.g)&&W(e.b)?(d=e.r,h=e.g,b=e.b,t={r:255*M(d,255),g:255*M(h,255),b:255*M(b,255)},f=!0,p="%"===String(e.r).substr(-1)?"prgb":"rgb"):W(e.h)&&W(e.s)&&W(e.v)?(n=N(e.s),u=N(e.v),t=function(e,t,r){e=6*M(e,360),t=M(t,100),r=M(r,100);var n=o.floor(e),i=e-n,a=r*(1-t),u=r*(1-i*t),l=r*(1-(1-i)*t),c=n%6;return{r:255*[r,u,a,a,l,r][c],g:255*[l,r,r,u,a,a][c],b:255*[a,a,l,r,r,u][c]}}(e.h,n,u),f=!0,p="hsv"):W(e.h)&&W(e.s)&&W(e.l)&&(n=N(e.s),l=N(e.l),t=function(e,t,r){var n,o,i;function a(e,t,r){return r<0&&(r+=1),r>1&&(r-=1),r<1/6?e+6*(t-e)*r:r<.5?t:r<2/3?e+(t-e)*(2/3-r)*6:e}if(e=M(e,360),t=M(t,100),r=M(r,100),0===t)n=o=i=r;else{var u=r<.5?r*(1+t):r+t-r*t,l=2*r-u;n=a(l,u,e+1/3),o=a(l,u,e),i=a(l,u,e-1/3)}return{r:255*n,g:255*o,b:255*i}}(e.h,n,l),f=!0,p="hsl"),e.hasOwnProperty("a")&&(r=e.a));var d,h,b;return r=R(r),{ok:f,format:e.format||p,r:c(255,s(t.r,0)),g:c(255,s(t.g,0)),b:c(255,s(t.b,0)),a:r}}(e);this._originalInput=e,this._r=r.r,this._g=r.g,this._b=r.b,this._a=r.a,this._roundA=l(100*this._a)/100,this._format=t.format||r.format,this._gradientType=t.gradientType,this._r<1&&(this._r=l(this._r)),this._g<1&&(this._g=l(this._g)),this._b<1&&(this._b=l(this._b)),this._ok=r.ok,this._tc_id=u++}function d(e,t,r){e=M(e,255),t=M(t,255),r=M(r,255);var n,o,i=s(e,t,r),a=c(e,t,r),u=(i+a)/2;if(i==a)n=o=0;else{var l=i-a;switch(o=u>.5?l/(2-i-a):l/(i+a),i){case e:n=(t-r)/l+(t>1)+720)%360;--t;)n.h=(n.h+o)%360,i.push(p(n));return i}function E(e,t){t=t||6;for(var r=p(e).toHsv(),n=r.h,o=r.s,i=r.v,a=[],u=1/t;t--;)a.push(p({h:n,s:o,v:i})),i=(i+u)%1;return a}p.prototype={isDark:function(){return this.getBrightness()<128},isLight:function(){return!this.isDark()},isValid:function(){return this._ok},getOriginalInput:function(){return this._originalInput},getFormat:function(){return this._format},getAlpha:function(){return this._a},getBrightness:function(){var e=this.toRgb();return(299*e.r+587*e.g+114*e.b)/1e3},getLuminance:function(){var e,t,r,n=this.toRgb();return e=n.r/255,t=n.g/255,r=n.b/255,.2126*(e<=.03928?e/12.92:o.pow((e+.055)/1.055,2.4))+.7152*(t<=.03928?t/12.92:o.pow((t+.055)/1.055,2.4))+.0722*(r<=.03928?r/12.92:o.pow((r+.055)/1.055,2.4))},setAlpha:function(e){return this._a=R(e),this._roundA=l(100*this._a)/100,this},toHsv:function(){var e=h(this._r,this._g,this._b);return{h:360*e.h,s:e.s,v:e.v,a:this._a}},toHsvString:function(){var e=h(this._r,this._g,this._b),t=l(360*e.h),r=l(100*e.s),n=l(100*e.v);return 1==this._a?"hsv("+t+", "+r+"%, "+n+"%)":"hsva("+t+", "+r+"%, "+n+"%, "+this._roundA+")"},toHsl:function(){var e=d(this._r,this._g,this._b);return{h:360*e.h,s:e.s,l:e.l,a:this._a}},toHslString:function(){var e=d(this._r,this._g,this._b),t=l(360*e.h),r=l(100*e.s),n=l(100*e.l);return 1==this._a?"hsl("+t+", "+r+"%, "+n+"%)":"hsla("+t+", "+r+"%, "+n+"%, "+this._roundA+")"},toHex:function(e){return b(this._r,this._g,this._b,e)},toHexString:function(e){return"#"+this.toHex(e)},toHex8:function(e){return function(e,t,r,n,o){var i=[I(l(e).toString(16)),I(l(t).toString(16)),I(l(r).toString(16)),I(z(n))];if(o&&i[0].charAt(0)==i[0].charAt(1)&&i[1].charAt(0)==i[1].charAt(1)&&i[2].charAt(0)==i[2].charAt(1)&&i[3].charAt(0)==i[3].charAt(1))return i[0].charAt(0)+i[1].charAt(0)+i[2].charAt(0)+i[3].charAt(0);return i.join("")}(this._r,this._g,this._b,this._a,e)},toHex8String:function(e){return"#"+this.toHex8(e)},toRgb:function(){return{r:l(this._r),g:l(this._g),b:l(this._b),a:this._a}},toRgbString:function(){return 1==this._a?"rgb("+l(this._r)+", "+l(this._g)+", "+l(this._b)+")":"rgba("+l(this._r)+", "+l(this._g)+", "+l(this._b)+", "+this._roundA+")"},toPercentageRgb:function(){return{r:l(100*M(this._r,255))+"%",g:l(100*M(this._g,255))+"%",b:l(100*M(this._b,255))+"%",a:this._a}},toPercentageRgbString:function(){return 1==this._a?"rgb("+l(100*M(this._r,255))+"%, "+l(100*M(this._g,255))+"%, "+l(100*M(this._b,255))+"%)":"rgba("+l(100*M(this._r,255))+"%, "+l(100*M(this._g,255))+"%, "+l(100*M(this._b,255))+"%, "+this._roundA+")"},toName:function(){return 0===this._a?"transparent":!(this._a<1)&&(T[b(this._r,this._g,this._b,!0)]||!1)},toFilter:function(e){var t="#"+y(this._r,this._g,this._b,this._a),r=t,n=this._gradientType?"GradientType = 1, ":"";if(e){var o=p(e);r="#"+y(o._r,o._g,o._b,o._a)}return"progid:DXImageTransform.Microsoft.gradient("+n+"startColorstr="+t+",endColorstr="+r+")"},toString:function(e){var t=!!e;e=e||this._format;var r=!1,n=this._a<1&&this._a>=0;return t||!n||"hex"!==e&&"hex6"!==e&&"hex3"!==e&&"hex4"!==e&&"hex8"!==e&&"name"!==e?("rgb"===e&&(r=this.toRgbString()),"prgb"===e&&(r=this.toPercentageRgbString()),"hex"!==e&&"hex6"!==e||(r=this.toHexString()),"hex3"===e&&(r=this.toHexString(!0)),"hex4"===e&&(r=this.toHex8String(!0)),"hex8"===e&&(r=this.toHex8String()),"name"===e&&(r=this.toName()),"hsl"===e&&(r=this.toHslString()),"hsv"===e&&(r=this.toHsvString()),r||this.toHexString()):"name"===e&&0===this._a?this.toName():this.toRgbString()},clone:function(){return p(this.toString())},_applyModification:function(e,t){var r=e.apply(null,[this].concat([].slice.call(t)));return this._r=r._r,this._g=r._g,this._b=r._b,this.setAlpha(r._a),this},lighten:function(){return this._applyModification(x,arguments)},brighten:function(){return this._applyModification(O,arguments)},darken:function(){return this._applyModification(w,arguments)},desaturate:function(){return this._applyModification(v,arguments)},saturate:function(){return this._applyModification(m,arguments)},greyscale:function(){return this._applyModification(g,arguments)},spin:function(){return this._applyModification(_,arguments)},_applyCombination:function(e,t){return e.apply(null,[this].concat([].slice.call(t)))},analogous:function(){return this._applyCombination(P,arguments)},complement:function(){return this._applyCombination(C,arguments)},monochromatic:function(){return this._applyCombination(E,arguments)},splitcomplement:function(){return this._applyCombination(k,arguments)},triad:function(){return this._applyCombination(j,arguments)},tetrad:function(){return this._applyCombination(S,arguments)}},p.fromRatio=function(e,t){if("object"==typeof e){var r={};for(var n in e)e.hasOwnProperty(n)&&(r[n]="a"===n?e[n]:N(e[n]));e=r}return p(e,t)},p.equals=function(e,t){return!(!e||!t)&&p(e).toRgbString()==p(t).toRgbString()},p.random=function(){return p.fromRatio({r:f(),g:f(),b:f()})},p.mix=function(e,t,r){r=0===r?0:r||50;var n=p(e).toRgb(),o=p(t).toRgb(),i=r/100;return p({r:(o.r-n.r)*i+n.r,g:(o.g-n.g)*i+n.g,b:(o.b-n.b)*i+n.b,a:(o.a-n.a)*i+n.a})},p.readability=function(e,t){var r=p(e),n=p(t);return(o.max(r.getLuminance(),n.getLuminance())+.05)/(o.min(r.getLuminance(),n.getLuminance())+.05)},p.isReadable=function(e,t,r){var n,o,i=p.readability(e,t);switch(o=!1,(n=function(e){var t,r;t=((e=e||{level:"AA",size:"small"}).level||"AA").toUpperCase(),r=(e.size||"small").toLowerCase(),"AA"!==t&&"AAA"!==t&&(t="AA");"small"!==r&&"large"!==r&&(r="small");return{level:t,size:r}}(r)).level+n.size){case"AAsmall":case"AAAlarge":o=i>=4.5;break;case"AAlarge":o=i>=3;break;case"AAAsmall":o=i>=7}return o},p.mostReadable=function(e,t,r){var n,o,i,a,u=null,l=0;o=(r=r||{}).includeFallbackColors,i=r.level,a=r.size;for(var c=0;cl&&(l=n,u=p(t[c]));return p.isReadable(e,u,{level:i,size:a})||!o?u:(r.includeFallbackColors=!1,p.mostReadable(e,["#fff","#000"],r))};var A=p.names={aliceblue:"f0f8ff",antiquewhite:"faebd7",aqua:"0ff",aquamarine:"7fffd4",azure:"f0ffff",beige:"f5f5dc",bisque:"ffe4c4",black:"000",blanchedalmond:"ffebcd",blue:"00f",blueviolet:"8a2be2",brown:"a52a2a",burlywood:"deb887",burntsienna:"ea7e5d",cadetblue:"5f9ea0",chartreuse:"7fff00",chocolate:"d2691e",coral:"ff7f50",cornflowerblue:"6495ed",cornsilk:"fff8dc",crimson:"dc143c",cyan:"0ff",darkblue:"00008b",darkcyan:"008b8b",darkgoldenrod:"b8860b",darkgray:"a9a9a9",darkgreen:"006400",darkgrey:"a9a9a9",darkkhaki:"bdb76b",darkmagenta:"8b008b",darkolivegreen:"556b2f",darkorange:"ff8c00",darkorchid:"9932cc",darkred:"8b0000",darksalmon:"e9967a",darkseagreen:"8fbc8f",darkslateblue:"483d8b",darkslategray:"2f4f4f",darkslategrey:"2f4f4f",darkturquoise:"00ced1",darkviolet:"9400d3",deeppink:"ff1493",deepskyblue:"00bfff",dimgray:"696969",dimgrey:"696969",dodgerblue:"1e90ff",firebrick:"b22222",floralwhite:"fffaf0",forestgreen:"228b22",fuchsia:"f0f",gainsboro:"dcdcdc",ghostwhite:"f8f8ff",gold:"ffd700",goldenrod:"daa520",gray:"808080",green:"008000",greenyellow:"adff2f",grey:"808080",honeydew:"f0fff0",hotpink:"ff69b4",indianred:"cd5c5c",indigo:"4b0082",ivory:"fffff0",khaki:"f0e68c",lavender:"e6e6fa",lavenderblush:"fff0f5",lawngreen:"7cfc00",lemonchiffon:"fffacd",lightblue:"add8e6",lightcoral:"f08080",lightcyan:"e0ffff",lightgoldenrodyellow:"fafad2",lightgray:"d3d3d3",lightgreen:"90ee90",lightgrey:"d3d3d3",lightpink:"ffb6c1",lightsalmon:"ffa07a",lightseagreen:"20b2aa",lightskyblue:"87cefa",lightslategray:"789",lightslategrey:"789",lightsteelblue:"b0c4de",lightyellow:"ffffe0",lime:"0f0",limegreen:"32cd32",linen:"faf0e6",magenta:"f0f",maroon:"800000",mediumaquamarine:"66cdaa",mediumblue:"0000cd",mediumorchid:"ba55d3",mediumpurple:"9370db",mediumseagreen:"3cb371",mediumslateblue:"7b68ee",mediumspringgreen:"00fa9a",mediumturquoise:"48d1cc",mediumvioletred:"c71585",midnightblue:"191970",mintcream:"f5fffa",mistyrose:"ffe4e1",moccasin:"ffe4b5",navajowhite:"ffdead",navy:"000080",oldlace:"fdf5e6",olive:"808000",olivedrab:"6b8e23",orange:"ffa500",orangered:"ff4500",orchid:"da70d6",palegoldenrod:"eee8aa",palegreen:"98fb98",paleturquoise:"afeeee",palevioletred:"db7093",papayawhip:"ffefd5",peachpuff:"ffdab9",peru:"cd853f",pink:"ffc0cb",plum:"dda0dd",powderblue:"b0e0e6",purple:"800080",rebeccapurple:"663399",red:"f00",rosybrown:"bc8f8f",royalblue:"4169e1",saddlebrown:"8b4513",salmon:"fa8072",sandybrown:"f4a460",seagreen:"2e8b57",seashell:"fff5ee",sienna:"a0522d",silver:"c0c0c0",skyblue:"87ceeb",slateblue:"6a5acd",slategray:"708090",slategrey:"708090",snow:"fffafa",springgreen:"00ff7f",steelblue:"4682b4",tan:"d2b48c",teal:"008080",thistle:"d8bfd8",tomato:"ff6347",turquoise:"40e0d0",violet:"ee82ee",wheat:"f5deb3",white:"fff",whitesmoke:"f5f5f5",yellow:"ff0",yellowgreen:"9acd32"},T=p.hexNames=function(e){var t={};for(var r in e)e.hasOwnProperty(r)&&(t[e[r]]=r);return t}(A);function R(e){return e=parseFloat(e),(isNaN(e)||e<0||e>1)&&(e=1),e}function M(e,t){(function(e){return"string"==typeof e&&-1!=e.indexOf(".")&&1===parseFloat(e)})(e)&&(e="100%");var r=function(e){return"string"==typeof e&&-1!=e.indexOf("%")}(e);return e=c(t,s(0,parseFloat(e))),r&&(e=parseInt(e*t,10)/100),o.abs(e-t)<1e-6?1:e%t/parseFloat(t)}function L(e){return c(1,s(0,e))}function D(e){return parseInt(e,16)}function I(e){return 1==e.length?"0"+e:""+e}function N(e){return e<=1&&(e=100*e+"%"),e}function z(e){return o.round(255*parseFloat(e)).toString(16)}function F(e){return D(e)/255}var B,$,U,V=($="[\\s|\\(]+("+(B="(?:[-\\+]?\\d*\\.\\d+%?)|(?:[-\\+]?\\d+%?)")+")[,|\\s]+("+B+")[,|\\s]+("+B+")\\s*\\)?",U="[\\s|\\(]+("+B+")[,|\\s]+("+B+")[,|\\s]+("+B+")[,|\\s]+("+B+")\\s*\\)?",{CSS_UNIT:new RegExp(B),rgb:new RegExp("rgb"+$),rgba:new RegExp("rgba"+U),hsl:new RegExp("hsl"+$),hsla:new RegExp("hsla"+U),hsv:new RegExp("hsv"+$),hsva:new RegExp("hsva"+U),hex3:/^#?([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})$/,hex6:/^#?([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})$/,hex4:/^#?([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})$/,hex8:/^#?([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})$/});function W(e){return!!V.CSS_UNIT.exec(e)}e.exports?e.exports=p:void 0===(n=function(){return p}.call(t,r,t,e))||(e.exports=n)}(Math)},function(e,t,r){"use strict";t.a={0:"Field {{args[0]}} is required",1:"Field {{args[0]}} must be a string",2:"{{args[0]}} {{args[1]}} is already in use",3:'"default", ".", "..", string started with "_" and string including any one of ["*", "\\", "[", "]", "(", ")", "?", ":"] are reserved value which cannot be used for field {{args[0]}}',5:"Field {{args[0]}} should be a positive number",6:"Field {{args[0]}} is required",7:"Field {{args[0]}} is not a valid regular expression",8:"Field {{args[0]}} should be within the range of [{{args[1]}} and {{args[2]}}]",9:"Field {{args[0]}} should be greater than or equal to {{args[1]}}",10:"Field {{args[0]}} should be less than or equal to {{args[1]}}",11:"{{args[0]}} is not a function",12:"{{args[0]}} is not a valid regular expression",13:"{{args[0]}} is not a valid number range",14:"minLength cannot be greater than maxLength",15:"Field {{args[0]}} does not match regular expression {{args[1]}}",16:"Field {{args[0]}} is not a number",17:"Length of {{args[0]}} should be greater than or equal to {{args[1]}}",18:"Length of {{args[0]}} should be less than or equal to {{args[1]}}",19:"Field {{args[0]}} is not a valid {{args[1]}}",20:"configuration file should be pure JSON",21:"duplicate {{args[0]}} keys is not allowed",22:"Field {{args[0]}} must be less than 1024 characters",23:'"name" feild must be provided for {{args[0]}} \'s entity in configuration file',100:"Create New Input",101:"Delete Confirmation",102:'Are you sure you want to delete "{{args[0]}}" {{args[1]}}? Ensure that no input is configured with "{{args[0]}}" as this will stop data collection for that input.',103:'Are you sure you want to delete "{{args[0]}}" {{args[1]}}?',104:"Error Message",105:"Warning",106:"Input Type",107:"Items",108:"Saving",109:"Failed to load index",110:"Internal configuration file error. Something wrong within the package or installation step. Contact your administrator for support. Detail: {{args[0]}}",111:"URL",112:"email address",113:"IPV4 address",114:"date in ISO 8601 format",115:"Loading",116:"Inputs",117:"Configuration",118:"configuration file not found",unknown:"An unknown error occurred"}},function(e,t){var r;r=function(){return this}();try{r=r||new Function("return this")()}catch(e){"object"==typeof window&&(r=window)}e.exports=r},function(e,t,r){"use strict";e.exports=r(145)},function(e,t,r){e.exports=function(e){var t={};function r(n){if(t[n])return t[n].exports;var o=t[n]={i:n,l:!1,exports:{}};return e[n].call(o.exports,o,o.exports,r),o.l=!0,o.exports}return r.m=e,r.c=t,r.d=function(e,t,n){r.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:n})},r.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},r.t=function(e,t){if(1&t&&(e=r(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var n=Object.create(null);if(r.r(n),Object.defineProperty(n,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var o in e)r.d(n,o,function(t){return e[t]}.bind(null,o));return n},r.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return r.d(t,"a",t),t},r.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},r.p="",r(r.s=106)}({0:function(e,t){e.exports=r(11)},1:function(e,t){e.exports=r(3)},106:function(e,t,r){"use strict";r.r(t),r.d(t,"default",(function(){return le})),r.d(t,"Body",(function(){return C})),r.d(t,"Header",(function(){return W})),r.d(t,"Footer",(function(){return A}));var n=r(2),o=r.n(n),i=r(1),a=r.n(i),u=r(4),l=r(63),c=r.n(l),s=r(26),f=r(33),p=r(3),d=r.n(p),h=r(8),b=r.n(h),y=r(0),v=d()(b.a).withConfig({displayName:"BodyStyles__StyledBox",componentId:"lv54z7-0"})(["background-color:",";"," "," flex:0 1 auto;overflow:auto;@media all and (-ms-high-contrast:none){*::-ms-backdrop,&{max-height:calc(100vh - 180px);}}"],Object(y.pick)({enterprise:y.variables.backgroundColor,prisma:y.variables.backgroundColorDialog}),Object(y.pick)({enterprise:{comfortable:Object(p.css)(["padding:28px;"]),compact:Object(p.css)(["padding:24px;"])},prisma:{comfortable:Object(p.css)(["padding:12px 24px;&:first-child{padding-top:36px;}&:last-child{padding-bottom:36px;}"]),compact:Object(p.css)(["padding:8px 24px;&:first-child{padding-top:26px;}&:last-child{padding-bottom:26px;}"])}}),Object(y.pick)({prisma:Object(p.css)(["color:",";"],y.variables.contentColorActive)}));function m(){return(m=Object.assign||function(e){for(var t=1;te.length)&&(t=e.length);for(var r=0,n=new Array(t);r=0||(o[r]=e[r]);return o}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(n=0;n=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(o[r]=e[r])}return o}var w={children:a.a.node};function _(e){var t=e.children,r=O(e,["children"]),i=g(Object(n.useState)(),2),a=i[0],u=i[1],l=Object(n.useCallback)((function(e){u(e)}),[]);return o.a.createElement(v,m({"data-test":"body"},r,{elementRef:l}),o.a.createElement(f.ScrollContainerProvider,{value:a},t))}_.propTypes=w;var C=_,j=d()(b.a).withConfig({displayName:"FooterStyles__StyledBox",componentId:"yszcmv-0"})(["flex:0 0 auto;text-align:right;padding:",";"," & > button{min-width:80px;}"],Object(y.pick)({enterprise:y.variables.spacing,prisma:{comfortable:"24px",compact:"18px 24px"}}),Object(y.pick)({enterprise:Object(p.css)(["background-color:",";border-top:1px solid ",";"],y.variables.backgroundColor,y.variables.borderColor),prisma:Object(p.css)(["background-color:",";"],y.variables.backgroundColorDialog)}));function S(){return(S=Object.assign||function(e){for(var t=1;t=0||(o[r]=e[r]);return o}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(n=0;n=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(o[r]=e[r])}return o}var P={children:a.a.node};function E(e){var t=e.children,r=k(e,["children"]);return o.a.createElement(j,S({"data-test":"footer"},r),t)}E.propTypes=P;var A=E,T=r(57),R=r.n(T),M=d()(b.a).withConfig({displayName:"HeaderStyles__StyledBox",componentId:"sc-1y722ut-0"})(["flex:0 0 auto;display:flex;"," position:relative;min-height:",";background-color:",";padding:",";align-items:center;padding-right:",";"],Object(y.pick)({enterprise:Object(p.css)(["border-bottom:1px solid ",";"],y.variables.borderColor)}),Object(y.pick)({enterprise:"30px",prisma:{comfortable:"60px",compact:"52px"}}),Object(y.pick)({enterprise:y.variables.backgroundColor,prisma:y.variables.backgroundColorDialog}),Object(y.pick)({enterprise:"25px 28px",prisma:{comfortable:"18px 24px",compact:"14px 24px"}}),(function(e){return e.$close&&Object(y.pick)({enterprise:"54px",prisma:{comfortable:"64px",compact:"56px"}})})),L=d.a.div.withConfig({displayName:"HeaderStyles__StyledTitleWrapper",componentId:"sc-1y722ut-1"})(["",";flex-direction:column;"],y.mixins.reset("flex")),D=d.a.svg.withConfig({displayName:"HeaderStyles__StyledIcon",componentId:"sc-1y722ut-2"})(["margin-right:16px;"," width:",";height:",";padding:2px;border-radius:4px;flex-shrink:0;"],Object(y.pick)({prisma:Object(p.css)(["background-color:",";"],y.variables.transparent)}),Object(y.pick)({comfortable:"40px",compact:"32px"}),Object(y.pick)({comfortable:"40px",compact:"32px"})),I=d.a.div.withConfig({displayName:"HeaderStyles__StyledTitle",componentId:"sc-1y722ut-3"})(["",";font-size:20px;margin:0;overflow-wrap:break-word;font-weight:",";",""],y.mixins.reset("block"),y.variables.fontWeightSemiBold,Object(y.pick)({enterprise:Object(p.css)(["line-height:22px;"]),prisma:Object(p.css)(["color:",";line-height:24px;"],y.variables.contentColorActive)})),N=d.a.div.withConfig({displayName:"HeaderStyles__StyledSubtitle",componentId:"sc-1y722ut-4"})(["",";font-size:14px;overflow-wrap:break-word;line-height:",";"],y.mixins.reset("block"),Object(y.pick)({enterprise:y.variables.lineHeight,prisma:"20px"})),z=d.a.div.withConfig({displayName:"HeaderStyles__StyledButtonsWrapper",componentId:"sc-1y722ut-5"})(["",";position:absolute;top:",";right:",";bottom:50%;"," max-height:35px;transform-origin:bottom right;transform:rotate(-90deg) translateX(100%);"],y.mixins.reset("block"),Object(y.pick)({enterprise:0,prisma:{comfortable:"-2px",compact:"-6px"}}),Object(y.pick)({enterprise:0,prisma:{comfortable:"-2px",compact:"-6px"}}),Object(y.pick)({prisma:{comfortable:Object(p.css)(["min-height:35px;"]),compact:Object(p.css)(["min-height:30px;"])}})),F=d.a.div.withConfig({displayName:"HeaderStyles__StyledClose",componentId:"sc-1y722ut-6"})(["",";position:absolute;right:0;top:0;transform:rotate(90deg) translate(-50%,-50%);"],y.mixins.reset("block"));function B(){return(B=Object.assign||function(e){for(var t=1;t=0||(o[r]=e[r]);return o}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(n=0;n=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(o[r]=e[r])}return o}var U={children:a.a.node,icon:a.a.node,onRequestClose:a.a.func,subtitle:a.a.node,title:a.a.string};function V(e){var t=e.children,r=e.icon,n=e.onRequestClose,i=e.subtitle,a=e.title,u=$(e,["children","icon","onRequestClose","subtitle","title"]);return o.a.createElement(M,B({$close:!!n,"data-test":"header"},u),r&&o.a.createElement(D,null,r),a?o.a.createElement(L,null,a&&o.a.createElement(I,{"data-test":"title"},a),i&&o.a.createElement(N,{"data-test":"subtitle"},i)):t,n&&o.a.createElement(z,null,n&&o.a.createElement(F,null,o.a.createElement(R.a,{onClick:n,"data-test":"close"}))))}V.propTypes=U;var W=V,H=d.a.div.withConfig({displayName:"ModalStyles__Styled",componentId:"sc-5fn8ds-0"})(["",";flex-direction:column;position:fixed;left:50%;transform:translateX(-50%);z-index:",";",""],y.mixins.reset("flex"),y.variables.zindexModal,Object(y.pick)({enterprise:Object(p.css)(["box-shadow:0 1px 5px ",";max-height:calc(100vh - "," * 4);max-width:calc(100vw - "," * 4);"],y.variables.black,y.variables.spacing,y.variables.spacing),prisma:Object(p.css)(["box-shadow:",";max-height:calc(100vh - "," * 4);max-width:calc(100vw - "," * 4);"],y.variables.modalShadow,y.variables.spacingXLarge,y.variables.spacingXLarge)}));function q(e){return(q="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 K(){return(K=Object.assign||function(e){for(var t=1;te.length)&&(t=e.length);for(var r=0,n=new Array(t);r * > &,",":active > * > &,{color:",";}"],_.variables.contentColorDefault,j,j,_.variables.contentColorDefault)})}}));function E(e){return(E="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 A(){return(A=Object.assign||function(e){for(var t=1;t=0||(o[r]=e[r]);return o}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(n=0;n=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(o[r]=e[r])}return o}var p={display:"inline-block",flex:"0 0 auto",overflow:"visible",verticalAlign:"middle"},d={display:"block",flex:"0 0 auto",margin:"0 auto",overflow:"visible"},h={Enterprise:a.a.func,enterpriseSize:a.a.oneOfType([a.a.number,a.a.string]),enterpriseWidth:a.a.oneOfType([a.a.number,a.a.string]),enterpriseHeight:a.a.oneOfType([a.a.number,a.a.string]),Prisma24:a.a.func.isRequired,Prisma20:a.a.func,Prisma16:a.a.func,prismaSize:a.a.oneOf(["medium","small"]),inline:a.a.bool,screenReaderText:a.a.string};function b(e){var t=e.Enterprise,r=e.Prisma24,n=e.Prisma20,i=e.Prisma16,a=e.prismaSize,h=e.inline,b=e.enterpriseSize,y=e.enterpriseWidth,v=e.enterpriseHeight,m=e.screenReaderText,g=f(e,["Enterprise","Prisma24","Prisma20","Prisma16","prismaSize","inline","enterpriseSize","enterpriseWidth","enterpriseHeight","screenReaderText"]),x=Object(u.useSplunkTheme)(),O=x.family,w=x.density;if("enterprise"===O)return o.a.createElement(t,s({size:b,width:y,height:v,screenReaderText:m||null,hideDefaultTooltip:!0,inline:h},g));var _=function(e){for(var t=1;t0&&void 0!==arguments[0]?arguments[0]:{},t=(0,a.addThemeDefaults)(e),r=t.family,n=t.colorScheme,u=t.density;return Object.freeze(c({colorScheme:n,density:u,family:r},"enterprise"===r?(0,o.default)({colorScheme:n,density:u}):(0,i.default)({colorScheme:n,density:u})))}),(function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=e.family,r=e.colorScheme,n=e.density;return"".concat(t).concat(r).concat(n)}));t.clearGetThemeCache=function(){var e,t;return null===(e=(t=f.cache).clear)||void 0===e?void 0:e.call(t)};var p=f;t.default=p},function(e,t,r){"use strict";r.d(t,"f",(function(){return u})),r.d(t,"e",(function(){return l})),r.d(t,"b",(function(){return c})),r.d(t,"g",(function(){return s})),r.d(t,"d",(function(){return f})),r.d(t,"c",(function(){return d})),r.d(t,"a",(function(){return h}));var n=r(27),o=r(55),i=r.n(o),a=null;function u(e){e}function l(e){return["0","FALSE","F","N","NO","NONE",""].includes(e.toString().toUpperCase())}function c(e){return"".concat(a.meta.restRoot,"_").concat(e)}function s(e){a=e}function f(){return a}var p=Object(o.makeCreateToast)(i.a),d=function(e,t){var r,o=arguments.length>2&&void 0!==arguments[2]?arguments[2]:void 0;switch(t){case"success":r=n.TOAST_TYPES.SUCCESS;break;case"error":case"warning":r=n.TOAST_TYPES.ERROR;break;default:r=n.TOAST_TYPES.INFO}p({type:r,message:e,autoDismiss:!0,dismissOnActionClick:!0,showAction:Boolean(o),action:o||void 0})};function h(e,t,r,n){var o=e.map((function(e){var r;return{label:t?null===(r=e.content)||void 0===r?void 0:r[t]:e.name,value:e.name}}));return r&&(o=function(e,t){var r=new RegExp(t);return e.filter((function(e){return r.test(e.value)}))}(o,r)),n&&(o=function(e,t){var r=new RegExp(t);return e.filter((function(e){return!r.test(e.value)}))}(o,n)),o}},function(e,t,r){e.exports=function(e){var t={};function r(n){if(t[n])return t[n].exports;var o=t[n]={i:n,l:!1,exports:{}};return e[n].call(o.exports,o,o.exports,r),o.l=!0,o.exports}return r.m=e,r.c=t,r.d=function(e,t,n){r.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:n})},r.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},r.t=function(e,t){if(1&t&&(e=r(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var n=Object.create(null);if(r.r(n),Object.defineProperty(n,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var o in e)r.d(n,o,function(t){return e[t]}.bind(null,o));return n},r.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return r.d(t,"a",t),t},r.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},r.p="",r(r.s=129)}({0:function(e,t){e.exports=r(11)},1:function(e,t){e.exports=r(3)},12:function(e,t,r){"use strict";function n(e,t){e&&("function"==typeof e?e(t):e.current=t)}r.d(t,"a",(function(){return n}))},129:function(e,t,r){"use strict";r.r(t),r.d(t,"default",(function(){return M})),r.d(t,"isInternalLink",(function(){return E})),r.d(t,"NavigationContext",(function(){return h})),r.d(t,"NavigationProvider",(function(){return b}));var n=r(2),o=r.n(n),i=r(1),a=r.n(i),u=r(4),l=r(16),c=r(3),s=r.n(c),f=r(0),p=s.a.a.withConfig({displayName:"ClickableStyles__StyledA",componentId:"sc-7al1vw-0"})([""," cursor:pointer;&[disabled]{cursor:not-allowed;color:",";}&::-moz-focus-inner{border:0;padding:0;}"],f.mixins.reset("inline"),f.variables.contentColorDisabled),d={children:a.a.node,onClick:a.a.func},h=o.a.createContext(void 0);function b(e){var t=e.children,r=e.onClick;return o.a.createElement(h.Provider,{value:r},t)}b.propTypes=d;var y=r(12);function v(e){return(v="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 m(){return(m=Object.assign||function(e){for(var t=1;t=0||(o[r]=e[r]);return o}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(n=0;n=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(o[r]=e[r])}return o}function x(e,t){for(var r=0;r0&&void 0!==arguments[0]?arguments[0]:{},t=(0,a.addThemeDefaults)(e),r=t.family,n=t.colorScheme,u=t.density;return Object.freeze(c({colorScheme:n,density:u,family:r},"enterprise"===r?(0,o.default)({colorScheme:n,density:u}):(0,i.default)({colorScheme:n,density:u})))}),(function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=e.family,r=e.colorScheme,n=e.density;return"".concat(t).concat(r).concat(n)}));t.clearGetThemeCache=function(){var e,t;return null===(e=(t=f.cache).clear)||void 0===e?void 0:e.call(t)};var p=f;t.default=p},function(e,t,r){"use strict";function n(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function o(e){for(var t=1;t",'"',"`"," ","\r","\n","\t"]),s=["'"].concat(c),f=["%","/","?",";","#"].concat(s),p=["/","?","#"],d=/^[+a-z0-9A-Z_-]{0,63}$/,h=/^([+a-z0-9A-Z_-]{0,63})(.*)$/,b={javascript:!0,"javascript:":!0},y={javascript:!0,"javascript:":!0},v={http:!0,https:!0,ftp:!0,gopher:!0,file:!0,"http:":!0,"https:":!0,"ftp:":!0,"gopher:":!0,"file:":!0},m=r(87);function g(e,t,r){if(e&&o.isObject(e)&&e instanceof i)return e;var n=new i;return n.parse(e,t,r),n}i.prototype.parse=function(e,t,r){if(!o.isString(e))throw new TypeError("Parameter 'url' must be a string, not "+typeof e);var i=e.indexOf("?"),u=-1!==i&&i127?M+="x":M+=R[L];if(!M.match(d)){var I=A.slice(0,k),N=A.slice(k+1),z=R.match(h);z&&(I.push(z[1]),N.unshift(z[2])),N.length&&(g="/"+N.join(".")+g),this.hostname=I.join(".");break}}}this.hostname.length>255?this.hostname="":this.hostname=this.hostname.toLowerCase(),E||(this.hostname=n.toASCII(this.hostname));var F=this.port?":"+this.port:"",B=this.hostname||"";this.host=B+F,this.href+=this.host,E&&(this.hostname=this.hostname.substr(1,this.hostname.length-2),"/"!==g[0]&&(g="/"+g))}if(!b[w])for(k=0,T=s.length;k0)&&r.host.split("@"))&&(r.auth=E.shift(),r.host=r.hostname=E.shift());return r.search=e.search,r.query=e.query,o.isNull(r.pathname)&&o.isNull(r.search)||(r.path=(r.pathname?r.pathname:"")+(r.search?r.search:"")),r.href=r.format(),r}if(!_.length)return r.pathname=null,r.search?r.path="/"+r.search:r.path=null,r.href=r.format(),r;for(var j=_.slice(-1)[0],S=(r.host||e.host||_.length>1)&&("."===j||".."===j)||""===j,k=0,P=_.length;P>=0;P--)"."===(j=_[P])?_.splice(P,1):".."===j?(_.splice(P,1),k++):k&&(_.splice(P,1),k--);if(!O&&!w)for(;k--;k)_.unshift("..");!O||""===_[0]||_[0]&&"/"===_[0].charAt(0)||_.unshift(""),S&&"/"!==_.join("/").substr(-1)&&_.push("");var E,A=""===_[0]||_[0]&&"/"===_[0].charAt(0);C&&(r.hostname=r.host=A?"":_.length?_.shift():"",(E=!!(r.host&&r.host.indexOf("@")>0)&&r.host.split("@"))&&(r.auth=E.shift(),r.host=r.hostname=E.shift()));return(O=O||r.host&&_.length)&&!A&&_.unshift(""),_.length?r.pathname=_.join("/"):(r.pathname=null,r.path=null),o.isNull(r.pathname)&&o.isNull(r.search)||(r.path=(r.pathname?r.pathname:"")+(r.search?r.search:"")),r.auth=e.auth||r.auth,r.slashes=r.slashes||e.slashes,r.href=r.format(),r},i.prototype.parseHost=function(){var e=this.host,t=u.exec(e);t&&(":"!==(t=t[0])&&(this.port=t.substr(1)),e=e.substr(0,e.length-t.length)),e&&(this.hostname=e)}},function(e,t,r){"use strict";var n=r(52),o=r(18);function i(e,t){this.id=e,this.ref=t}e.exports.SchemaScanResult=i,e.exports.scan=function(e,t){function r(e,t){if(t&&"object"==typeof t)if(t.$ref){var i=n.resolve(e,t.$ref);c[i]=c[i]?c[i]+1:0}else{var s=t.$id||t.id,f=s?n.resolve(e,s):e;if(f){if(f.indexOf("#")<0&&(f+="#"),l[f]){if(!o.deepCompareStrict(l[f],t))throw new Error("Schema <"+f+"> already exists with different definition");return l[f]}l[f]=t,"#"==f[f.length-1]&&(l[f.substring(0,f.length-1)]=t)}a(f+"/items",Array.isArray(t.items)?t.items:[t.items]),a(f+"/extends",Array.isArray(t.extends)?t.extends:[t.extends]),r(f+"/additionalItems",t.additionalItems),u(f+"/properties",t.properties),r(f+"/additionalProperties",t.additionalProperties),u(f+"/definitions",t.definitions),u(f+"/patternProperties",t.patternProperties),u(f+"/dependencies",t.dependencies),a(f+"/disallow",t.disallow),a(f+"/allOf",t.allOf),a(f+"/anyOf",t.anyOf),a(f+"/oneOf",t.oneOf),r(f+"/not",t.not)}}function a(e,t){if(Array.isArray(t))for(var n=0;n=0||(o[r]=e[r]);return o}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(n=0;n=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(o[r]=e[r])}return o}function I(e){var t=Object(c.createStaticURL)("build/api/layout.js");window.requirejs?window.requirejs([t],e):u()(t,(function(){e(window.__splunk_layout__)}))}t.default=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},r=t.useGlobalLayerStack,n=void 0===r||r,a=t.pageTitle,u=D(t,["useGlobalLayerStack","pageTitle"]),c=document.createElement("div");a&&(document.title=a),document.body.appendChild(c),Object(i.render)(o.a.createElement(L,u),c),I((function(t){var r;t?(r=t.create(u).getContainerElement(),"fixed"===u.layout&&(r.style.flex&&"1 0 0px"!==r.style.flex||(r.style.flex="1 0 0%"),r.style.overflow||(r.style.overflow="hidden"),r.style.width||(r.style.width="100vw"))):(console.error("Unable to load layout."),r=document.createElement("div"),document.body.appendChild(r)),setTimeout((function(){Object(i.unmountComponentAtNode)(c),c.parentNode.removeChild(c);var t=n?o.a.createElement(l.LayerStackGlobalProvider,null,e):e;Object(i.render)(t,r)}),30)}))}}])},function(e,t,r){"use strict";var n=r(117),o=r.n(n),i=r(118),a=r.n(i)()(o.a);a.push([e.i,'/*\n * Copyright 2021 Splunk Inc.\n *\n * Licensed under the Apache License, Version 2.0 (the "License");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an "AS IS" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n *\n */\nbody {\n min-width: 960px;\n}\n',"",{version:3,sources:["webpack://./src/main/webapp/pages/style.css"],names:[],mappings:"AAAA;;;;;;;;;;;;;;;EAeE;AACF;IACI,gBAAgB;AACpB",sourcesContent:['/*\n * Copyright 2021 Splunk Inc.\n *\n * Licensed under the Apache License, Version 2.0 (the "License");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an "AS IS" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n *\n */\nbody {\n min-width: 960px;\n}\n'],sourceRoot:""}]),t.a=a},function(e,t,r){"use strict";(function(e){var n=r(0),o=r.n(n),i=r(10),a=r(3),u=r.n(a),l="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:void 0!==e?e:{};function c(e){var t=[];return{on:function(e){t.push(e)},off:function(e){t=t.filter((function(t){return t!==e}))},get:function(){return e},set:function(r,n){e=r,t.forEach((function(t){return t(e,n)}))}}}var s=o.a.createContext||function(e,t){var r,o,a,s="__create-react-context-"+((l[a="__global_unique_id__"]=(l[a]||0)+1)+"__"),f=function(e){function r(){var t;return(t=e.apply(this,arguments)||this).emitter=c(t.props.value),t}Object(i.a)(r,e);var n=r.prototype;return n.getChildContext=function(){var e;return(e={})[s]=this.emitter,e},n.componentWillReceiveProps=function(e){if(this.props.value!==e.value){var r,n=this.props.value,o=e.value;((i=n)===(a=o)?0!==i||1/i==1/a:i!=i&&a!=a)?r=0:(r="function"==typeof t?t(n,o):1073741823,0!==(r|=0)&&this.emitter.set(e.value,r))}var i,a},n.render=function(){return this.props.children},r}(n.Component);f.childContextTypes=((r={})[s]=u.a.object.isRequired,r);var p=function(t){function r(){var e;return(e=t.apply(this,arguments)||this).state={value:e.getValue()},e.onUpdate=function(t,r){0!=((0|e.observedBits)&r)&&e.setState({value:e.getValue()})},e}Object(i.a)(r,t);var n=r.prototype;return n.componentWillReceiveProps=function(e){var t=e.observedBits;this.observedBits=null==t?1073741823:t},n.componentDidMount=function(){this.context[s]&&this.context[s].on(this.onUpdate);var e=this.props.observedBits;this.observedBits=null==e?1073741823:e},n.componentWillUnmount=function(){this.context[s]&&this.context[s].off(this.onUpdate)},n.getValue=function(){return this.context[s]?this.context[s].get():e},n.render=function(){return(e=this.props.children,Array.isArray(e)?e[0]:e)(this.state.value);var e},r}(n.Component);return p.contextTypes=((o={})[s]=u.a.object,o),{Provider:f,Consumer:p}};t.a=s}).call(this,r(23))},function(e,t,r){var n=r(249);e.exports=d,e.exports.parse=i,e.exports.compile=function(e,t){return u(i(e,t),t)},e.exports.tokensToFunction=u,e.exports.tokensToRegExp=p;var o=new RegExp(["(\\\\.)","([\\/.])?(?:(?:\\:(\\w+)(?:\\(((?:\\\\.|[^\\\\()])+)\\))?|\\(((?:\\\\.|[^\\\\()])+)\\))([+*?])?|(\\*))"].join("|"),"g");function i(e,t){for(var r,n=[],i=0,a=0,u="",s=t&&t.delimiter||"/";null!=(r=o.exec(e));){var f=r[0],p=r[1],d=r.index;if(u+=e.slice(a,d),a=d+f.length,p)u+=p[1];else{var h=e[a],b=r[2],y=r[3],v=r[4],m=r[5],g=r[6],x=r[7];u&&(n.push(u),u="");var O=null!=b&&null!=h&&h!==b,w="+"===g||"*"===g,_="?"===g||"*"===g,C=r[2]||s,j=v||m;n.push({name:y||i++,prefix:b||"",delimiter:C,optional:_,repeat:w,partial:O,asterisk:!!x,pattern:j?c(j):x?".*":"[^"+l(C)+"]+?"})}}return a=0||(o[r]=e[r]);return o}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(n=0;n=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(o[r]=e[r])}return o}var d={children:a.a.node,elementRef:a.a.oneOfType([a.a.func,a.a.object]),flex:a.a.bool,inline:a.a.bool};function h(e){var t=e.children,r=e.elementRef,n=e.flex,i=void 0!==n&&n,a=e.inline,u=void 0!==a&&a,l=p(e,["children","elementRef","flex","inline"]);return o.a.createElement(s,f({ref:r},l,{"data-inline":u||void 0,"data-flex":i||void 0}),t)}h.propTypes=d;var b=h},2:function(e,t){e.exports=r(0)},3:function(e,t){e.exports=r(1)}})},function(e,t,r){"use strict";function n(){return"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,(function(e){var t=Math.floor(16*Math.random());return("x"===e?t:t%4+8).toString(16)}))}Object.defineProperty(t,"__esModule",{value:!0}),t.createGUID=n,t.createDOMID=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"id";if(e.match(/^[a-zA-Z][\w-]*$/))return"".concat(e,"-").concat(n());throw new Error("createDOMID: Prefix must start with a letter and may only contain letters, digits, hyphens and underscores")}},function(e,t,r){var n=r(244),o=r(245),i=r(137),a=r(246);e.exports=function(e,t){return n(e)||o(e,t)||i(e,t)||a()},e.exports.default=e.exports,e.exports.__esModule=!0},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.isNumber=l,t.isDecimal=c,t.isMinus=s,t.isNumeric=function(e,t){return l(e)||c(e,t)||s(e)},t.addsCharacter=function(e){var t=e.key;if(u(t)){return 1===t.length||["Add","Decimal","Divide","Multiply","Spacebar","Subtract"].indexOf(t)>=0}return},t.keycode=void 0;var n,o=(n=r(163))&&n.__esModule?n:{default:n},i=r(2);var a=o.default;function u(e){return!(0,i.isUndefined)(e)&&"Unidentified"!==e}function l(e){var t=e.key,r=e.keyCode;if(u(t)){return["1","2","3","4","5","6","7","8","9","0"].indexOf(t)>=0}return r>=48&&r<=57||r>=96&&r<=105}function c(e){var t=e.key,r=e.keyCode,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},o=n.locale,i=void 0===o?"en-US":o,l=new Intl.NumberFormat(i.replace("_","-")).format(1.2),c=l.indexOf(",")>-1?",":".";return u(t)?t===c||"Decimal"===t:"."===c&&r===a("numpad .")||r===a(c)}function s(e){var t=e.key,r=e.keyCode;return u(t)?"-"===t||"Subtract"===t:r===a("numpad -")||r===a("-")}t.keycode=a},function(e,t,r){e.exports=function(e){var t={};function r(n){if(t[n])return t[n].exports;var o=t[n]={i:n,l:!1,exports:{}};return e[n].call(o.exports,o,o.exports,r),o.l=!0,o.exports}return r.m=e,r.c=t,r.d=function(e,t,n){r.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:n})},r.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},r.t=function(e,t){if(1&t&&(e=r(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var n=Object.create(null);if(r.r(n),Object.defineProperty(n,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var o in e)r.d(n,o,function(t){return e[t]}.bind(null,o));return n},r.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return r.d(t,"a",t),t},r.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},r.p="",r(r.s=159)}({0:function(e,t){e.exports=r(11)},1:function(e,t){e.exports=r(3)},159:function(e,t,r){"use strict";r.r(t),r.d(t,"default",(function(){return b}));var n=r(2),o=r.n(n),i=r(1),a=r.n(i),u=r(3),l=r.n(u),c=r(0),s=l.a.span.withConfig({displayName:"ScreenReaderContentStyles__Styled",componentId:"sc-1lnohwp-0"})(["",";"],c.mixins.screenReaderContent());function f(){return(f=Object.assign||function(e){for(var t=1;t=0||(o[r]=e[r]);return o}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(n=0;n=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(o[r]=e[r])}return o}var d={children:a.a.node.isRequired,elementRef:a.a.oneOfType([a.a.func,a.a.object])};function h(e){var t=e.children,r=e.elementRef,n=p(e,["children","elementRef"]);return o.a.createElement(s,f({"data-test":"screen-reader-content",ref:r},n),t)}h.propTypes=d;var b=h},2:function(e,t){e.exports=r(0)},3:function(e,t){e.exports=r(1)}})},function(e,t,r){var n=r(171),o=r(176);e.exports=function(e,t){var r=o(e,t);return n(r)?r:void 0}},function(e,t,r){e.exports=function(e){var t={};function r(n){if(t[n])return t[n].exports;var o=t[n]={i:n,l:!1,exports:{}};return e[n].call(o.exports,o,o.exports,r),o.l=!0,o.exports}return r.m=e,r.c=t,r.d=function(e,t,n){r.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:n})},r.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},r.t=function(e,t){if(1&t&&(e=r(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var n=Object.create(null);if(r.r(n),Object.defineProperty(n,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var o in e)r.d(n,o,function(t){return e[t]}.bind(null,o));return n},r.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return r.d(t,"a",t),t},r.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},r.p="",r(r.s=150)}({0:function(e,t){e.exports=r(11)},1:function(e,t){e.exports=r(3)},150:function(e,t,r){"use strict";r.r(t),r.d(t,"default",(function(){return j}));var n=r(2),o=r.n(n),i=r(1),a=r.n(i),u=r(31),l=r(0),c=r(5),s=r(3),f=r.n(s),p=f.a.div.withConfig({displayName:"WaitSpinnerStyles__Styled",componentId:"sc-1nu971z-0"})(["",";"],l.mixins.reset("inline")),d=Object(s.keyframes)(["100%{transform:rotate(360deg);}"]),h=Object(s.keyframes)(["0%{transform:scale(0);opacity:0;}100%{transform:scale(1);opacity:1;}"]),b=f.a.svg.withConfig({displayName:"WaitSpinnerStyles__StyledSvg",componentId:"sc-1nu971z-1"})([""," ",""],Object(l.pickVariant)("$size",{small:{enterprise:Object(s.css)(["width:14px;height:14px;"]),prisma:Object(s.css)(["width:16px;height:16px;"])},medium:{enterprise:Object(s.css)(["width:19px;height:19px;"]),prisma:Object(s.css)(["width:24px;height:24px;"])},large:{enterprise:Object(s.css)(["width:19px;height:19px;"]),prisma:Object(s.css)(["width:40px;height:40px;"])}}),(function(e){return e.$animated&&Object(l.pick)({enterprise:Object(s.css)(["transform-origin:center;animation:"," 1.2s steps(64) infinite;"],d),prisma:Object(s.css)(["animation:"," "," infinite linear,"," 500ms cubic-bezier(0.01,0,0,1);"],d,"2.07s",h)})})),y=Object(s.keyframes)(["0%{stroke-dasharray:110 10;stroke-dashoffset:-5.5;animation-timing-function:cubic-bezier(0.8,0,0.83,1);}50%{stroke-dasharray:26 94;stroke-dashoffset:-152;}100%{stroke-dasharray:110 10;stroke-dashoffset:-246.5;animation-timing-function:cubic-bezier(0.33,0,0.67,1);}"]),v=Object(s.keyframes)(["0%{stroke-dasharray:7 113;stroke-dashoffset:3;animation-timing-function:cubic-bezier(0.8,0,0.83,1);}50%{stroke-dasharray:90 30;stroke-dashoffset:-60;}100%{stroke-dasharray:7 113;stroke-dashoffset:-238;animation-timing-function:cubic-bezier(0.33,0,0.67,1);}"]),m=f.a.circle.withConfig({displayName:"WaitSpinnerStyles__StyledPrismaBasePath",componentId:"sc-1nu971z-2"})(["stroke:",";stroke-width:2;fill:transparent;"," stroke-dasharray:110 10;stroke-dashoffset:-5.5;"],l.variables.contentColorDisabled,(function(e){return e.$animated&&Object(s.css)(["animation:"," "," infinite;animation-fill-mode:backwards;"],y,"2.07s")})),g=f.a.circle.withConfig({displayName:"WaitSpinnerStyles__StyledPrismaFillPath",componentId:"sc-1nu971z-3"})(["fill:transparent;stroke-width:2;stroke:",";stroke-dasharray:7 113;stroke-dashoffset:3;",""],Object(l.pickVariant)("$size",{small:l.variables.contentColorDefault,medium:l.variables.contentColorDefault,large:l.variables.interactiveColorPrimary}),(function(e){return e.$animated&&Object(s.css)(["animation:"," "," infinite;"],v,"2.07s")})),x=f.a.circle.withConfig({displayName:"WaitSpinnerStyles__StyledEnterpriseCircle",componentId:"sc-1nu971z-4"})(["fill:transparent;stroke:",";stroke-width:2px;",""],Object(l.pick)({enterprise:{dark:l.variables.white,light:l.variables.gray60},prisma:l.variables.contentColorMuted}),Object(l.pick)({enterprise:Object(s.css)(["stroke-dasharray:34 19;"])}));function O(){return(O=Object.assign||function(e){for(var t=1;t=0||(o[r]=e[r]);return o}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(n=0;n=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(o[r]=e[r])}return o}var _={elementRef:a.a.oneOfType([a.a.func,a.a.object]),screenReaderText:a.a.string,size:a.a.oneOf(["small","medium","large"])};function C(e){var t=e.elementRef,r=e.screenReaderText,n=void 0===r?Object(c._)("Waiting"):r,i=e.size,a=void 0===i?"small":i,s=w(e,["elementRef","screenReaderText","size"]),f="on"===Object(u.useAnimationToggle)(),d="prisma"===Object(l.useSplunkTheme)().family,h=d?"0 0 40 40":"0 0 19 19";return o.a.createElement(p,O({"data-test":"wait-spinner"},s),o.a.createElement(b,{viewBox:h,version:"1.1",xmlns:"http://www.w3.org/2000/svg",ref:t,$animated:f,$size:a},n&&o.a.createElement("title",null,n),o.a.createElement("g",null,d?o.a.createElement(o.a.Fragment,null,o.a.createElement(m,{r:"19",cx:"20",cy:"20",$animated:f,$size:a}),o.a.createElement(g,{r:"19",cx:"20",cy:"20",$animated:f,$size:a})):o.a.createElement(x,{cx:"9.5",cy:"9.5",r:"8.5"}))))}C.propTypes=_;var j=C},2:function(e,t){e.exports=r(0)},3:function(e,t){e.exports=r(1)},31:function(e,t){e.exports=r(80)},5:function(e,t){e.exports=r(6)}})},function(e,t,r){"use strict";r.d(t,"a",(function(){return y})),r.d(t,"d",(function(){return v})),r.d(t,"c",(function(){return m})),r.d(t,"b",(function(){return g}));var n,o,i,a,u,l=r(13),c=r.n(l),s=r(1),f=r(30),p=r.n(f),d=r(14),h=r(67),b=r.n(h),y=Object(s.default)(p.a)(n||(n=c()(["\n margin: 0px 1px;\n border: none;\n"]))),v=Object(s.default)(b.a)(o||(o=c()(["\n position: fixed;\n top: 50%;\n left: 50%;\n"]))),m=(s.default.div(i||(i=c()(["\n text-align: left;\n"]))),s.default.span(a||(a=c()(["\n button {\n margin-left: 80px;\n min-width: 100px;\n }\n"])))),g=s.default.div(u||(u=c()(["\n font-size: ",";\n text-align: center;\n"])),d.variables.fontSize)},function(e,t,r){"use strict";function n(e){return e&&"object"==typeof e&&"default"in e?e.default:e}Object.defineProperty(t,"__esModule",{value:!0});var o=n(r(152)),i=n(r(153)),a=n(r(154)),u=n(r(156)),l=n(r(157)),c=n(r(86)),s=n(r(159)),f=n(r(161)),p=n(r(0));n(r(3)),n(r(162));var d,h=(d=null,function(){if(null!==d)return d;var e,t,r,n=!1;try{window.addEventListener("test",null,(e={},t="passive",r={get:function(){n=!0}},Object.defineProperty(e,t,r)))}catch(e){}return d=n,n}()),b={capture:!1,passive:!1};function y(e){return f({},b,e)}function v(e,t,r){var n=[e,t];return n.push(h?r:r.capture),n}function m(e,t,r,n){e.addEventListener.apply(e,v(t,r,n))}function g(e,t,r,n){e.removeEventListener.apply(e,v(t,r,n))}function x(e,t){e.children,e.target;var r=s(e,["children","target"]);Object.keys(r).forEach((function(e){if("on"===e.substring(0,2)){var n=r[e],o=c(n),i="object"===o;if(i||"function"===o){var a="capture"===e.substr(-7).toLowerCase(),u=e.substring(2).toLowerCase();u=a?u.substring(0,u.length-7):u,i?t(u,n.handler,n.options):t(u,n,y({capture:a}))}}}))}var O=function(e){function t(){return o(this,t),a(this,u(t).apply(this,arguments))}return l(t,e),i(t,[{key:"componentDidMount",value:function(){this.applyListeners(m)}},{key:"componentDidUpdate",value:function(e){this.applyListeners(g,e),this.applyListeners(m)}},{key:"componentWillUnmount",value:function(){this.applyListeners(g)}},{key:"applyListeners",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:this.props,r=t.target;if(r){var n=r;"string"==typeof r&&(n=window[r]),x(t,e.bind(null,n))}}},{key:"render",value:function(){return this.props.children||null}}]),t}(p.PureComponent);O.propTypes={},t.withOptions=function(e,t){return{handler:e,options:y(t)}},t.default=O},function(e,t){e.exports=function(e){return e.webpackPolyfill||(e.deprecate=function(){},e.paths=[],e.children||(e.children=[]),Object.defineProperty(e,"loaded",{enumerable:!0,get:function(){return e.l}}),Object.defineProperty(e,"id",{enumerable:!0,get:function(){return e.i}}),e.webpackPolyfill=1),e}},function(e,t,r){var n=r(42).Symbol;e.exports=n},function(e,t){e.exports=function(e){var t=typeof e;return null!=e&&("object"==t||"function"==t)}},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.getSortedTabbableElements=i,t.handleTab=function(e,t){if(!e.contains(document.activeElement))return null;if("tab"!==(0,n.keycode)(t)||t.metaKey||t.altKey||t.controlKey)return null;var r=i(e);if(0===r.length)return document.activeElement===e?(t.preventDefault(),e):null;var o=t&&t.target||e.querySelector(":focus"),a=r.indexOf(o);-1===a&&(a=t.shiftKey?0:r.length-1);t.shiftKey?r.unshift(r.pop()):r.push(r.shift());return t.preventDefault(),r[a].focus(),r[a]},t.takeFocus=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"first",r=e.querySelector(":focus");if(r)return r;if("first"===t){var n=i(e)[0];if(n)return(0,o.defer)((function(){return n.focus()})),n}if(e.hasAttribute("tabIndex"))return(0,o.defer)((function(){return e.focus()})),e;return null};var n=r(64),o=r(2);function i(e){var t=e.querySelectorAll("a[href], input:not([disabled]), select:not([disabled]),\n textarea:not([disabled]), button:not([disabled]), [tabindex], [contenteditable]"),r=(0,o.filter)(t,(function(e){return!(!((t=e).offsetWidth||t.offsetHeight||t.getClientRects().length>0)||"hidden"===getComputedStyle(t).visibility)&&e.tabIndex>=0||e===document.activeElement;var t})).reduce((function(e,t){var r=e[e.length-1],n="radio"===(null==r?void 0:r.getAttribute("type")),o="radio"===t.getAttribute("type"),i=t.getAttribute("name")===(null==r?void 0:r.getAttribute("name"));return n&&o&&i?t.checked&&(e.pop(),e.push(t)):e.push(t),e}),[]);return(0,o.sortBy)(r,(function(e){return e.tabIndex>0?-1/e.tabIndex:0}))}},function(e,t,r){e.exports=r(227)},function(e,t,r){e.exports=function(e){var t={};function r(n){if(t[n])return t[n].exports;var o=t[n]={i:n,l:!1,exports:{}};return e[n].call(o.exports,o,o.exports,r),o.l=!0,o.exports}return r.m=e,r.c=t,r.d=function(e,t,n){r.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:n})},r.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},r.t=function(e,t){if(1&t&&(e=r(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var n=Object.create(null);if(r.r(n),Object.defineProperty(n,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var o in e)r.d(n,o,function(t){return e[t]}.bind(null,o));return n},r.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return r.d(t,"a",t),t},r.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},r.p="",r(r.s=54)}({0:function(e,t){e.exports=r(0)},1:function(e,t){e.exports=r(6)},4:function(e,t){e.exports=r(139)},54:function(e,t,r){"use strict";r.r(t),r.d(t,"default",(function(){return c}));var n=r(0),o=r.n(n),i=r(1),a=r(4),u=r.n(a);function l(){return(l=Object.assign||function(e){for(var t=1;t=0||(o[r]=e[r]);return o}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(n=0;n=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(o[r]=e[r])}return o}function c(e){var t=e.immediate,r=l(e,["immediate"]),n=Object(a.useAnimationToggle)();return o.a.createElement(i.Spring,u({},r,{immediate:t||"on"!==n}))}function s(e){var t=e.immediate,r=l(e,["immediate"]),n=Object(a.useAnimationToggle)();return o.a.createElement(i.Transition,u({},r,{immediate:t||"on"!==n}))}},2:function(e,t){e.exports=r(0)},31:function(e,t){e.exports=r(80)},38:function(e,t){e.exports=r(81)}})},function(e,t,r){e.exports=function(e){var t={};function r(n){if(t[n])return t[n].exports;var o=t[n]={i:n,l:!1,exports:{}};return e[n].call(o.exports,o,o.exports,r),o.l=!0,o.exports}return r.m=e,r.c=t,r.d=function(e,t,n){r.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:n})},r.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},r.t=function(e,t){if(1&t&&(e=r(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var n=Object.create(null);if(r.r(n),Object.defineProperty(n,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var o in e)r.d(n,o,function(t){return e[t]}.bind(null,o));return n},r.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return r.d(t,"a",t),t},r.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},r.p="",r(r.s=163)}({163:function(e,t,r){"use strict";r.r(t),r.d(t,"default",(function(){return a})),r.d(t,"ScrollContainerContext",(function(){return o})),r.d(t,"ScrollContainerProvider",(function(){return i}));var n=r(2),o=r.n(n).a.createContext("window"),i=o.Provider,a=o},2:function(e,t){e.exports=r(0)}})},function(e,t){var r,n,o=e.exports={};function i(){throw new Error("setTimeout has not been defined")}function a(){throw new Error("clearTimeout has not been defined")}function u(e){if(r===setTimeout)return setTimeout(e,0);if((r===i||!r)&&setTimeout)return r=setTimeout,setTimeout(e,0);try{return r(e,0)}catch(t){try{return r.call(null,e,0)}catch(t){return r.call(this,e,0)}}}!function(){try{r="function"==typeof setTimeout?setTimeout:i}catch(e){r=i}try{n="function"==typeof clearTimeout?clearTimeout:a}catch(e){n=a}}();var l,c=[],s=!1,f=-1;function p(){s&&l&&(s=!1,l.length?c=l.concat(c):f=-1,c.length&&d())}function d(){if(!s){var e=u(p);s=!0;for(var t=c.length;t;){for(l=c,c=[];++f1)for(var r=1;r1&&(r=l(r),n=l(n),o=l(o)),{r:r,g:n,b:o}}({r:e.r+r,g:e.g+r,b:e.b+r})}function S(e){return Math.max(e.r,e.g,e.b)-Math.min(e.r,e.g,e.b)}function k(e,t){var r=["r","g","b"].sort((function(t,r){return e[t]-e[r]})),n=r[0],o=r[1],i=r[2],a={r:e.r,g:e.g,b:e.b};return a[i]>a[n]?(a[o]=(a[o]-a[n])*t/(a[i]-a[n]),a[i]=t):a[o]=a[i]=0,a[n]=0,a}function P(e,t){return j(k(t,S(e)),C(e))}function E(e,t){return j(k(e,S(t)),C(e))}function A(e,t){return j(t,C(e))}function T(e,t){return j(e,C(t))}function R(e,t){return w(e,t,n,o)}function M(e,t){return w(e,t,n,i)}function L(e,t){return w(e,t,n,a)}function D(e,t){return w(e,t,n,u)}function I(e,t){return w(e,t,n,l)}function N(e,t){return w(e,t,n,c)}function z(e,t){return w(e,t,n,s)}function F(e,t){return w(e,t,n,f)}function B(e,t){return w(e,t,n,p)}function $(e,t){return w(e,t,n,d)}function U(e,t){return w(e,t,n,h)}function V(e,t){return w(e,t,n,b)}function W(e,t){return w(e,t,_,P)}function H(e,t){return w(e,t,_,E)}function q(e,t){return w(e,t,_,A)}function K(e,t){return w(e,t,_,T)}r.r(t),r.d(t,"normal",(function(){return R})),r.d(t,"multiply",(function(){return M})),r.d(t,"screen",(function(){return L})),r.d(t,"overlay",(function(){return D})),r.d(t,"darken",(function(){return I})),r.d(t,"lighten",(function(){return N})),r.d(t,"colorDodge",(function(){return z})),r.d(t,"colorBurn",(function(){return F})),r.d(t,"hardLight",(function(){return B})),r.d(t,"softLight",(function(){return $})),r.d(t,"difference",(function(){return U})),r.d(t,"exclusion",(function(){return V})),r.d(t,"hue",(function(){return W})),r.d(t,"saturation",(function(){return H})),r.d(t,"color",(function(){return q})),r.d(t,"luminosity",(function(){return K}))},function(e,t,r){e.exports=function(e){var t={};function r(n){if(t[n])return t[n].exports;var o=t[n]={i:n,l:!1,exports:{}};return e[n].call(o.exports,o,o.exports,r),o.l=!0,o.exports}return r.m=e,r.c=t,r.d=function(e,t,n){r.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:n})},r.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},r.t=function(e,t){if(1&t&&(e=r(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var n=Object.create(null);if(r.r(n),Object.defineProperty(n,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var o in e)r.d(n,o,function(t){return e[t]}.bind(null,o));return n},r.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return r.d(t,"a",t),t},r.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},r.p="",r(r.s=123)}({1:function(e,t){e.exports=r(3)},123:function(e,t,r){"use strict";r.r(t),r.d(t,"default",(function(){return h})),r.d(t,"AnimationToggleContext",(function(){return u})),r.d(t,"AnimationToggleProvider",(function(){return y})),r.d(t,"useAnimationToggle",(function(){return s}));var n=r(2),o=r.n(n),i=r(1),a=r.n(i),u=o.a.createContext(!0);function l(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){if("undefined"==typeof Symbol||!(Symbol.iterator in Object(e)))return;var r=[],n=!0,o=!1,i=void 0;try{for(var a,u=e[Symbol.iterator]();!(n=(a=u.next()).done)&&(r.push(a.value),!t||r.length!==t);n=!0);}catch(e){o=!0,i=e}finally{try{n||null==u.return||u.return()}finally{if(o)throw i}}return r}(e,t)||function(e,t){if(!e)return;if("string"==typeof e)return c(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);"Object"===r&&e.constructor&&(r=e.constructor.name);if("Map"===r||"Set"===r)return Array.from(e);if("Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return c(e,t)}(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function c(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=new Array(t);r=e);++r);return r-1}(e,i);return function(e,t,r,n,o,i,a,u,l){var c=l?l(e):e;if(cr){if("identity"===u)return c;"clamp"===u&&(c=r)}if(n===o)return n;if(t===r)return e<=t?n:o;t===-1/0?c=-c:r===1/0?c-=t:c=(c-t)/(r-t);c=i(c),n===-1/0?c=-c:o===1/0?c+=n:c=c*(o-n)+n;return c}(e,i[t],i[t+1],o[t],o[t+1],a,u,c,l)}},e}();var L="[-+]?\\d*\\.?\\d+";function D(){return"\\(\\s*("+Array.prototype.slice.call(arguments).join(")\\s*,\\s*(")+")\\s*\\)"}var I=new RegExp("rgb"+D(L,L,L)),N=new RegExp("rgba"+D(L,L,L,L)),z=new RegExp("hsl"+D(L,"[-+]?\\d*\\.?\\d+%","[-+]?\\d*\\.?\\d+%")),F=new RegExp("hsla"+D(L,"[-+]?\\d*\\.?\\d+%","[-+]?\\d*\\.?\\d+%",L)),B=/^#([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})$/,$=/^#([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})$/,U=/^#([0-9a-fA-F]{6})$/,V=/^#([0-9a-fA-F]{8})$/;function W(e,t,r){return r<0&&(r+=1),r>1&&(r-=1),r<1/6?e+6*(t-e)*r:r<.5?t:r<2/3?e+(t-e)*(2/3-r)*6:e}function H(e,t,r){var n=r<.5?r*(1+t):r+t-r*t,o=2*r-n,i=W(o,n,e+1/3),a=W(o,n,e),u=W(o,n,e-1/3);return Math.round(255*i)<<24|Math.round(255*a)<<16|Math.round(255*u)<<8}function q(e){var t=parseInt(e,10);return t<0?0:t>255?255:t}function K(e){return(parseFloat(e)%360+360)%360/360}function Z(e){var t=parseFloat(e);return t<0?0:t>1?255:Math.round(255*t)}function X(e){var t=parseFloat(e);return t<0?0:t>100?1:t/100}function G(e){var t,r,n="number"==typeof(t=e)?t>>>0===t&&t>=0&&t<=4294967295?t:null:(r=U.exec(t))?parseInt(r[1]+"ff",16)>>>0:R.hasOwnProperty(t)?R[t]:(r=I.exec(t))?(q(r[1])<<24|q(r[2])<<16|q(r[3])<<8|255)>>>0:(r=N.exec(t))?(q(r[1])<<24|q(r[2])<<16|q(r[3])<<8|Z(r[4]))>>>0:(r=B.exec(t))?parseInt(r[1]+r[1]+r[2]+r[2]+r[3]+r[3]+"ff",16)>>>0:(r=V.exec(t))?parseInt(r[1],16)>>>0:(r=$.exec(t))?parseInt(r[1]+r[1]+r[2]+r[2]+r[3]+r[3]+r[4]+r[4],16)>>>0:(r=z.exec(t))?(255|H(K(r[1]),X(r[2]),X(r[3])))>>>0:(r=F.exec(t))?(H(K(r[1]),X(r[2]),X(r[3]))|Z(r[4]))>>>0:null;return null===n?e:"rgba("+((4278190080&(n=n||0))>>>24)+", "+((16711680&n)>>>16)+", "+((65280&n)>>>8)+", "+(255&n)/255+")"}var Q=/[+\-]?(?:0|[1-9]\d*)(?:\.\d*)?(?:[eE][+\-]?\d+)?/g,Y=/(#(?:[0-9a-f]{2}){2,4}|(#[0-9a-f]{3})|(rgb|hsl)a?\((-?\d+%?[,\s]+){2,3}\s*[\d\.]+%?\))/gi,J=new RegExp("("+Object.keys(R).join("|")+")","g");var ee=function(e){function t(r,n,o){var i;return(i=e.call(this)||this).getValue=function(){var e;return(e=i).calc.apply(e,i.payload.map((function(e){return e.getValue()})))},i.updateConfig=function(e,t){return i.calc=M.create(e,t)},i.interpolate=function(e,r){return new t(a(i),e,r)},i.payload=r instanceof E&&!r.updateConfig?r.payload:Array.isArray(r)?r:[r],i.calc=M.create(n,o),i}return i(t,e),t}(E);var te=function(e){function t(t){var r;return(r=e.call(this)||this).setValue=function(e,t){void 0===t&&(t=!0),r.value=e,t&&r.flush()},r.getValue=function(){return r.value},r.updateStyles=function(){return function e(t,r){"function"==typeof t.update?r.add(t):t.getChildren().forEach((function(t){return e(t,r)}))}(a(r),r.animatedStyles)},r.updateValue=function(e){return r.flush(r.value=e)},r.interpolate=function(e,t){return new ee(a(r),e,t)},r.value=t,r.animatedStyles=new Set,r.done=!1,r.startPosition=t,r.lastPosition=t,r.lastVelocity=void 0,r.lastTime=void 0,r.controller=void 0,r}i(t,e);var r=t.prototype;return r.flush=function(){0===this.animatedStyles.size&&this.updateStyles(),this.animatedStyles.forEach((function(e){return e.update()}))},r.prepare=function(e){void 0===this.controller&&(this.controller=e),this.controller===e&&(this.startPosition=this.value,this.lastPosition=this.value,this.lastVelocity=e.isActive?this.lastVelocity:void 0,this.lastTime=e.isActive?this.lastTime:void 0,this.done=!1,this.animatedStyles.clear())},t}(P),re=function(e){function t(t){var r;return(r=e.call(this)||this).setValue=function(e,t){void 0===t&&(t=!0),Array.isArray(e)?e.length===r.payload.length&&e.forEach((function(e,n){return r.payload[n].setValue(e,t)})):r.payload.forEach((function(n,o){return r.payload[o].setValue(e,t)}))},r.getValue=function(){return r.payload.map((function(e){return e.getValue()}))},r.interpolate=function(e,t){return new ee(a(r),e,t)},r.payload=t.map((function(e){return new te(e)})),r}return i(t,e),t}(E);function ne(e,t){return null==e?t:e}function oe(e){return void 0!==e?Array.isArray(e)?e:[e]:[]}function ie(e,t){if(typeof e!=typeof t)return!1;if("string"==typeof e||"number"==typeof e)return e===t;var r;for(r in e)if(!(r in t))return!1;for(r in t)if(e[r]!==t[r])return!1;return void 0!==r||e===t}function ae(e){for(var t=arguments.length,r=new Array(t>1?t-1:0),n=1;n=r.length)break;i=r[o++]}else{if((o=r.next()).done)break;i=o.value}for(var a=i,u=!0,l=!0,c=0;c=a.startTime+s.delay+s.duration;else if(s.decay)g=v+O/(1-.998)*(1-Math.exp(-(1-.998)*(t-a.startTime))),(f=Math.abs(b.lastPosition-g)<.1)&&(m=g);else{p=void 0!==b.lastTime?b.lastTime:t,O=void 0!==b.lastVelocity?b.lastVelocity:s.initialVelocity,t>p+64&&(p=t);for(var w=Math.floor(t-p),_=0;_m:g1?_-1:0),j=1;j<_;j++)C[j-1]=arguments[j];m||!v&&!C.length||this.start.apply(this,C);var S=C[0],k=C[1];return this.onEnd="function"==typeof S&&S,this.onUpdate=k,this.getValues()},t.start=function(e,t){var r,n=this;return this.startTime=y(),this.isActive&&this.stop(),this.isActive=!0,this.onEnd="function"==typeof e&&e,this.onUpdate=t,this.props.onStart&&this.props.onStart(),r=this,me.has(r)||(me.add(r),ve||d(ge),ve=!0),new Promise((function(e){return n.resolve=e}))},t.stop=function(e){void 0===e&&(e=!1),e&&ue(this.animations).forEach((function(e){return e.changes=void 0})),this.debouncedOnEnd({finished:e})},t.destroy=function(){xe(this),this.props={},this.merged={},this.animations={},this.interpolations={},this.animatedProps={},this.configs=[]},t.debouncedOnEnd=function(e){xe(this),this.isActive=!1;var t=this.onEnd;this.onEnd=null,t&&t(e),this.resolve&&this.resolve(),this.resolve=null},e}(),we=function(e){function t(t,r){var n;return n=e.call(this)||this,t.style&&(t=u({},t,{style:m(t.style)})),n.payload=t,n.update=r,n.attach(),n}return i(t,e),t}(A);function _e(e){var t=function(t){function r(e){var r;return(r=t.call(this)||this).callback=function(){r.node&&(!1===f.fn(r.node,r.propsAnimated.getAnimatedValue(),a(r))&&r.forceUpdate())},r.attachProps(e),r}i(r,t);var n=r.prototype;return n.componentWillUnmount=function(){this.propsAnimated&&this.propsAnimated.detach()},n.setNativeProps=function(e){!1===f.fn(this.node,e,this)&&this.forceUpdate()},n.attachProps=function(e){e.forwardRef;var t=o(e,["forwardRef"]),r=this.propsAnimated;this.propsAnimated=new we(t,this.callback),r&&r.detach()},n.shouldComponentUpdate=function(e){var t=e.style,r=o(e,["style"]),n=this.props,i=n.style;return(!ie(o(n,["style"]),r)||!ie(i,t))&&(this.attachProps(e),!0)},n.render=function(){var t=this,r=this.propsAnimated.getValue(),n=(r.scrollTop,r.scrollLeft,o(r,["scrollTop","scrollLeft"]));return l.createElement(e,u({},n,{ref:function(e){return t.node=fe(e,t.props.forwardRef)}}))},r}(l.Component);return l.forwardRef((function(e,r){return l.createElement(t,u({},e,{forwardRef:r}))}))}var Ce={default:{tension:170,friction:26},gentle:{tension:120,friction:14},wobbly:{tension:180,friction:12},stiff:{tension:210,friction:20},slow:{tension:280,friction:60},molasses:{tension:280,friction:120}},je=function(e){function t(){for(var t,r=arguments.length,n=new Array(r),o=0;o=0||(o[r]=e[r]);return o}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(n=0;n=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(o[r]=e[r])}return o}function M(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function L(e,t){for(var r=0;r=0||(o[r]=e[r]);return o}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(n=0;n=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(o[r]=e[r])}return o}var x=function(e){var t=e.children,r=e.type,n=e.onRequestRemove,i=g(e,["children","type","onRequestRemove"]);return o.a.createElement(v,m({$type:r,"data-test-type":r,"data-test":"message"},i),o.a.createElement(b,{"data-test":"content"},t),o.a.createElement(y,{"data-test":"remove",onClick:n},o.a.createElement(u.a,{prismaSize:"small",enterpriseSize:"12px"})))},O=r(32),w=r.n(O),_=c()(w.a).withConfig({displayName:"LinkStyles__StyledLink",componentId:"w06zjv-0"})(["margin:0 3px;text-decoration:underline;color:inherit;&:not([disabled]){cursor:pointer;&:focus{"," text-decoration:underline;&:active{box-shadow:none;text-decoration:underline;}}}"],Object(h.pick)({prisma:Object(l.css)(["box-shadow:",";"],h.variables.focusShadow)}));function C(e,t){if(null==e)return{};var r,n,o=function(e,t){if(null==e)return{};var r,n,o={},i=Object.keys(e);for(n=0;n=0||(o[r]=e[r]);return o}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(n=0;n=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(o[r]=e[r])}return o}var j={children:a.a.node,elementRef:a.a.oneOfType([a.a.func,a.a.object]),openInNewContext:a.a.bool,to:a.a.string};function S(e){var t=e.children,r=C(e,["children"]);return o.a.createElement(_,r,t)}S.propTypes=j;var k=S,P=c.a.p.withConfig({displayName:"TitleStyles__StyledTitle",componentId:"sc-6gbjha-0"})([""," ",""],h.mixins.reset("block"),Object(h.pick)({prisma:Object(l.css)(["font-size:14px;line-height:20px;"])}));function E(e,t){if(null==e)return{};var r,n,o=function(e,t){if(null==e)return{};var r,n,o={},i=Object.keys(e);for(n=0;n=0||(o[r]=e[r]);return o}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(n=0;n=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(o[r]=e[r])}return o}var A={children:a.a.node};function T(e){var t=e.children,r=E(e,["children"]);return o.a.createElement(P,r,t)}T.propTypes=A;var R=T,M=c.a.div.withConfig({displayName:"MessageStyles__StyledContent",componentId:"eg66af-0"})(["",";",""],h.mixins.reset("inline"),Object(h.pick)({prisma:Object(l.css)(["color:",";"],h.variables.contentColorActive)})),L=c()(d.a).withConfig({displayName:"MessageStyles__StyledRemove",componentId:"eg66af-1"})(["",";border:1px solid transparent;border-radius:",";color:",";",";cursor:pointer;position:absolute;"," padding:",";&:hover,&:focus{background:",";border:",";color:",";}&:active{",";}",""],h.mixins.reset("flex"),Object(h.pick)({prisma:"50%",enterprise:h.variables.borderRadius}),Object(h.pick)({prisma:h.variables.contentColorMuted,enterprise:{dark:h.variables.gray96,light:h.variables.gray45}}),(function(e){return"banner"===e.$appearance&&Object(h.pick)({prisma:Object(l.css)(["color:",";"],h.variables.contentColorInverted)})}),Object(h.pick)({prisma:Object(l.css)(["top:1px;right:2px;"]),enterprise:Object(l.css)(["top:6px;right:8px;"])}),Object(h.pick)({prisma:"10px",enterprise:"8px"}),Object(h.pick)({prisma:h.variables.interactiveColorOverlayHover,enterprise:{dark:h.variables.gray30,light:h.variables.gray92}}),Object(h.pick)({prisma:Object(l.css)(["1px solid inherit"]),enterprise:Object(l.css)(["1px solid ",""],h.variables.gray80)}),Object(h.pick)({enterprise:{dark:h.variables.gray96,light:h.variables.linkColor},prisma:h.variables.contentColorActive}),Object(h.pick)({prisma:Object(l.css)(["background:",";"],h.variables.interactiveColorOverlayActive),enterprise:Object(l.css)(["box-shadow:",";"],h.variables.focusShadow)}),Object(h.pick)({prisma:Object(l.css)(["&:focus{box-shadow:0 0 0 3px ",";}"],h.variables.focusColor)})),D=c.a.span.withConfig({displayName:"MessageStyles__StyledIconWrapper",componentId:"eg66af-2"})(["position:absolute;top:",";left:0;width:",";height:calc(100% - 8px);text-align:center;color:",";"," border-top-left-radius:inherit;border-bottom-left-radius:inherit;"," ",";"],Object(h.pick)({prisma:"0px",enterprise:"7px"}),Object(h.pick)({prisma:"24px",enterprise:"25px"}),h.variables.white,Object(h.pick)({prisma:Object(l.css)(["padding-top:8px;"])}),Object(h.pickVariant)("$type",{info:Object(l.css)(["color:",";"],Object(h.pick)({prisma:h.variables.contentColorMuted,enterprise:h.variables.infoColor})),success:Object(l.css)(["color:",";"],h.variables.accentColorPositive),warning:Object(l.css)(["color:",";"],h.variables.accentColorWarning),error:Object(l.css)(["color:",";"],h.variables.accentColorNegative)}),(function(e){return e.$fillStyle&&Object(h.pick)({prisma:Object(l.css)(["background-color:",";"],Object(h.pickVariant)("$type",{info:h.variables.contentColorActive,success:h.variables.accentColorPositive,warning:h.variables.accentColorWarning,error:h.variables.accentColorNegative}))})})),I=c()(f.a).withConfig({displayName:"MessageStyles__StyledBox",componentId:"eg66af-3"})(["",";position:relative;border-radius:",";margin-bottom:",";padding:",";word-wrap:break-word;"," ",""],h.mixins.reset("block"),Object(h.pick)({prisma:h.variables.borderRadius,enterprise:"5px"}),h.variables.spacingSmall,Object(h.pickVariant)("$hasRemoveIcon",{true:{prisma:"10px 40px 10px 36px",enterprise:"10px 40px 10px 40px"},false:{prisma:"10px 8px 10px 36px",enterprise:"10px 0 10px 40px"}}),(function(e){return e.$fillStyle&&Object(h.pick)({enterprise:Object(l.css)(["& > ","{left:",";}",""],D,h.variables.spacingXSmall,Object(h.pickVariant)("$type",{info:Object(l.css)(["",""],Object(h.pick)({light:Object(l.css)(["background-color:",";border:1px solid ",";"],h.variables.infoColorL50,h.variables.infoColor),dark:Object(l.css)(["background-color:",";"],h.mixins.colorWithAlpha(h.variables.infoColor,.5))})),success:Object(l.css)(["",""],Object(h.pick)({light:Object(l.css)(["background-color:",";border:1px solid ",";"],h.variables.successColorL50,h.variables.successColor),dark:Object(l.css)(["background-color:",";"],h.mixins.colorWithAlpha(h.variables.successColor,.5))})),warning:Object(l.css)(["",""],Object(h.pick)({light:Object(l.css)(["background-color:",";border:1px solid ",";"],h.variables.warningColorL50,h.variables.warningColor),dark:Object(l.css)(["background-color:",";"],h.mixins.colorWithAlpha(h.variables.warningColor,.5))})),error:Object(l.css)(["",""],Object(h.pick)({light:Object(l.css)(["background-color:",";border:1px solid ",";"],h.variables.errorColorL50,h.variables.errorColor),dark:Object(l.css)(["background-color:",";"],h.mixins.colorWithAlpha(h.variables.errorColor,.5))}))})),prisma:Object(l.css)(["border:1px solid transparent;background-color:",";box-shadow:",";& > ","{color:",";}"],h.variables.backgroundColorPopup,h.variables.embossShadow,D,h.variables.backgroundColorPopup)})}),Object(h.pick)({prisma:Object(l.css)(["& ","{color:",";}"],P,Object(h.pickVariant)("$type",{info:h.variables.contentColorActive,warning:h.variables.accentColorWarning,error:h.variables.accentColorNegative,success:h.variables.accentColorPositive}))})),N=r(61),z=r.n(N),F=r(7),B=r(6);function $(){return($=Object.assign||function(e){for(var t=1;t=0||(o[r]=e[r]);return o}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(n=0;n=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(o[r]=e[r])}return o}var ue={appearance:a.a.oneOf(["default","fill","banner"]),children:a.a.node,elementRef:a.a.oneOfType([a.a.func,a.a.object]),onRequestRemove:a.a.func,type:a.a.oneOf(["info","success","warning","error"])};function le(e){var t=e.appearance,r=void 0===t?"default":t,i=e.children,a=e.type,l=void 0===a?"warning":a,c=e.onRequestRemove,s=ae(e,["appearance","children","type","onRequestRemove"]),f=Object(n.useCallback)((function(e){null==c||c(e)}),[c]);if("banner"===r)return o.a.createElement(x,ie({type:l,onRequestRemove:f},s),i);var p={info:Z,success:J,warning:oe,error:V}[l],d="fill"===r,h="default"===r||"fill"===r;return o.a.createElement(I,ie({$appearance:r,$fillStyle:d,$hasRemoveIcon:!!c,$type:l,"data-test-type":l,"data-test":"message"},s),h&&o.a.createElement(D,{$fillStyle:d,$type:l},o.a.createElement(p,{prismaSize:"small",enterpriseWidth:"24px",enterpriseHeight:"24px"})),o.a.createElement(M,{"data-test":"content",$fillStyle:d},i),c&&o.a.createElement(L,{"data-test":"remove",onClick:f,$appearance:r},o.a.createElement(u.a,{prismaSize:"small",enterpriseHeight:"12px",enterpriseWidth:"12px"})))}le.propTypes=ue,le.Title=R,le.Link=k;var ce=le},11:function(e,t){e.exports=r(41)},2:function(e,t){e.exports=r(0)},20:function(e,t,r){"use strict";r.d(t,"a",(function(){return p}));var n=r(2),o=r.n(n),i=r(23),a=r.n(i),u=r(7),l=r(6);function c(){return(c=Object.assign||function(e){for(var t=1;t=0||(o[r]=e[r]);return o}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(n=0;n=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(o[r]=e[r])}return o}var p={display:"inline-block",flex:"0 0 auto",overflow:"visible",verticalAlign:"middle"},d={display:"block",flex:"0 0 auto",margin:"0 auto",overflow:"visible"},h={Enterprise:a.a.func,enterpriseSize:a.a.oneOfType([a.a.number,a.a.string]),enterpriseWidth:a.a.oneOfType([a.a.number,a.a.string]),enterpriseHeight:a.a.oneOfType([a.a.number,a.a.string]),Prisma24:a.a.func.isRequired,Prisma20:a.a.func,Prisma16:a.a.func,prismaSize:a.a.oneOf(["medium","small"]),inline:a.a.bool,screenReaderText:a.a.string};function b(e){var t=e.Enterprise,r=e.Prisma24,n=e.Prisma20,i=e.Prisma16,a=e.prismaSize,h=e.inline,b=e.enterpriseSize,y=e.enterpriseWidth,v=e.enterpriseHeight,m=e.screenReaderText,g=f(e,["Enterprise","Prisma24","Prisma20","Prisma16","prismaSize","inline","enterpriseSize","enterpriseWidth","enterpriseHeight","screenReaderText"]),x=Object(u.useSplunkTheme)(),O=x.family,w=x.density;if("enterprise"===O)return o.a.createElement(t,s({size:b,width:y,height:v,screenReaderText:m||null,hideDefaultTooltip:!0,inline:h},g));var _=function(e){for(var t=1;t1?t-1:0),n=1;n0?" Args: "+r.join(", "):""))}var k=function(){function e(e){this.groupSizes=new Uint32Array(512),this.length=512,this.tag=e}var t=e.prototype;return t.indexOfGroup=function(e){for(var t=0,r=0;r=this.groupSizes.length){for(var r=this.groupSizes,n=r.length,o=n;e>=o;)(o<<=1)<0&&S(16,""+e);this.groupSizes=new Uint32Array(o),this.groupSizes.set(r),this.length=o;for(var i=n;i=this.length||0===this.groupSizes[e])return t;for(var r=this.groupSizes[e],n=this.indexOfGroup(e),o=n+r,i=n;i=0;r--){var n=t[r];if(n&&1===n.nodeType&&n.hasAttribute(O))return n}}(r),i=void 0!==o?o.nextSibling:null;n.setAttribute(O,"active"),n.setAttribute("data-styled-version","5.2.1");var a=z();return a&&n.setAttribute("nonce",a),r.insertBefore(n,i),n},B=function(){function e(e){var t=this.element=F(e);t.appendChild(document.createTextNode("")),this.sheet=function(e){if(e.sheet)return e.sheet;for(var t=document.styleSheets,r=0,n=t.length;r=0){var r=document.createTextNode(t),n=this.nodes[e];return this.element.insertBefore(r,n||null),this.length++,!0}return!1},t.deleteRule=function(e){this.element.removeChild(this.nodes[e]),this.length--},t.getRule=function(e){return e0&&(c+=e+",")})),n+=""+u+l+'{content:"'+c+'"}/*!sc*/\n'}}}return n}(this)},e}(),q=/(a)(d)/gi,K=function(e){return String.fromCharCode(e+(e>25?39:97))};function Z(e){var t,r="";for(t=Math.abs(e);t>52;t=t/52|0)r=K(t%52)+r;return(K(t%52)+r).replace(q,"$1-$2")}var X=function(e,t){for(var r=t.length;r;)e=33*e^t.charCodeAt(--r);return e},G=function(e){return X(5381,e)};function Q(e){for(var t=0;t>>0);if(!t.hasNameForId(n,a)){var u=r(i,"."+a,void 0,n);t.insertRules(n,a,u)}o.push(a),this.staticRulesId=a}else{for(var l=this.rules.length,c=X(this.baseHash,r.hash),s="",f=0;f>>0);if(!t.hasNameForId(n,b)){var y=r(s,"."+b,void 0,n);t.insertRules(n,b,y)}o.push(b)}}return o.join(" ")},e}(),ee=/^\s*\/\/.*$/gm,te=[":","[",".","#"];function re(e){var t,r,n,o,i=void 0===e?v:e,a=i.options,u=void 0===a?v:a,c=i.plugins,s=void 0===c?y:c,f=new l.a(u),p=[],d=function(e){function t(t){if(t)try{e(t+"}")}catch(e){}}return function(r,n,o,i,a,u,l,c,s,f){switch(r){case 1:if(0===s&&64===n.charCodeAt(0))return e(n+";"),"";break;case 2:if(0===c)return n+"/*|*/";break;case 3:switch(c){case 102:case 112:return e(o[0]+n),"";default:return n+(0===f?"/*|*/":"")}case-2:n.split("/*|*/}").forEach(t)}}}((function(e){p.push(e)})),h=function(e,n,i){return 0===n&&te.includes(i[r.length])||i.match(o)?e:"."+t};function b(e,i,a,u){void 0===u&&(u="&");var l=e.replace(ee,""),c=i&&a?a+" "+i+" { "+l+" }":l;return t=u,r=i,n=new RegExp("\\"+r+"\\b","g"),o=new RegExp("(\\"+r+"\\b){2,}"),f(a||!i?"":i,c)}return f.use([].concat(s,[function(e,t,o){2===e&&o.length&&o[0].lastIndexOf(r)>0&&(o[0]=o[0].replace(n,h))},d,function(e){if(-2===e){var t=p;return p=[],t}}])),b.hash=s.length?s.reduce((function(e,t){return t.name||S(15),X(e,t.name)}),5381).toString():"",b}var ne=i.a.createContext(),oe=ne.Consumer,ie=i.a.createContext(),ae=(ie.Consumer,new H),ue=re();function le(){return Object(o.useContext)(ne)||ae}function ce(){return Object(o.useContext)(ie)||ue}function se(e){var t=Object(o.useState)(e.stylisPlugins),r=t[0],n=t[1],a=le(),l=Object(o.useMemo)((function(){var t=a;return e.sheet?t=e.sheet:e.target&&(t=t.reconstructWithOptions({target:e.target},!1)),e.disableCSSOMInjection&&(t=t.reconstructWithOptions({useCSSOMInjection:!1})),t}),[e.disableCSSOMInjection,e.sheet,e.target]),c=Object(o.useMemo)((function(){return re({options:{prefix:!e.disableVendorPrefixes},plugins:r})}),[e.disableVendorPrefixes,r]);return Object(o.useEffect)((function(){u()(r,e.stylisPlugins)||n(e.stylisPlugins)}),[e.stylisPlugins]),i.a.createElement(ne.Provider,{value:l},i.a.createElement(ie.Provider,{value:c},e.children))}var fe=function(){function e(e,t){var r=this;this.inject=function(e,t){void 0===t&&(t=ue);var n=r.name+t.hash;e.hasNameForId(r.id,n)||e.insertRules(r.id,n,t(r.rules,n,"@keyframes"))},this.toString=function(){return S(12,String(r.name))},this.name=e,this.id="sc-keyframes-"+e,this.rules=t}return e.prototype.getName=function(e){return void 0===e&&(e=ue),this.name+e.hash},e}(),pe=/([A-Z])/,de=/([A-Z])/g,he=/^ms-/,be=function(e){return"-"+e.toLowerCase()};function ye(e){return pe.test(e)?e.replace(de,be).replace(he,"-ms-"):e}var ve=function(e){return null==e||!1===e||""===e};function me(e,t,r,n){if(Array.isArray(e)){for(var o,i=[],a=0,u=e.length;a1?t-1:0),n=1;n?@[\\\]^`{|}~-]+/g,we=/(^-|-$)/g;function _e(e){return e.replace(Oe,"-").replace(we,"")}var Ce=function(e){return Z(G(e)>>>0)};function je(e){return"string"==typeof e&&!0}var Se=function(e){return"function"==typeof e||"object"==typeof e&&null!==e&&!Array.isArray(e)},ke=function(e){return"__proto__"!==e&&"constructor"!==e&&"prototype"!==e};function Pe(e,t,r){var n=e[r];Se(t)&&Se(n)?Ee(n,t):e[r]=t}function Ee(e){for(var t=arguments.length,r=new Array(t>1?t-1:0),n=1;n=0||(o[r]=e[r]);return o}(t,["componentId"]),i=n&&n+"-"+(je(e)?e:_e(g(e)));return Le(e,d({},o,{attrs:w,componentId:i}),r)},Object.defineProperty(C,"defaultProps",{get:function(){return this._foldedDefaultProps},set:function(t){this._foldedDefaultProps=n?Ee({},e.defaultProps,t):t}}),C.toString=function(){return"."+C.styledComponentId},a&&p()(C,e,{attrs:!0,componentStyle:!0,displayName:!0,foldedComponentIds:!0,shouldForwardProp:!0,styledComponentId:!0,target:!0,withComponent:!0}),C}var De=function(e){return function e(t,r,o){if(void 0===o&&(o=v),!Object(n.isValidElementType)(r))return S(1,String(r));var i=function(){return t(r,o,ge.apply(void 0,arguments))};return i.withConfig=function(n){return e(t,r,d({},o,{},n))},i.attrs=function(n){return e(t,r,d({},o,{attrs:Array.prototype.concat(o.attrs,n).filter(Boolean)}))},i}(Le,e)};["a","abbr","address","area","article","aside","audio","b","base","bdi","bdo","big","blockquote","body","br","button","canvas","caption","cite","code","col","colgroup","data","datalist","dd","del","details","dfn","dialog","div","dl","dt","em","embed","fieldset","figcaption","figure","footer","form","h1","h2","h3","h4","h5","h6","head","header","hgroup","hr","html","i","iframe","img","input","ins","kbd","keygen","label","legend","li","link","main","map","mark","marquee","menu","menuitem","meta","meter","nav","noscript","object","ol","optgroup","option","output","p","param","picture","pre","progress","q","rp","rt","ruby","s","samp","script","section","select","small","source","span","strong","style","sub","summary","sup","table","tbody","td","textarea","tfoot","th","thead","time","title","tr","track","u","ul","var","video","wbr","circle","clipPath","defs","ellipse","foreignObject","g","image","line","linearGradient","marker","mask","path","pattern","polygon","polyline","radialGradient","rect","stop","svg","text","tspan"].forEach((function(e){De[e]=De(e)}));var Ie=function(){function e(e,t){this.rules=e,this.componentId=t,this.isStatic=Q(e),H.registerId(this.componentId+1)}var t=e.prototype;return t.createStyles=function(e,t,r,n){var o=n(me(this.rules,t,r,n).join(""),""),i=this.componentId+e;r.insertRules(i,i,o)},t.removeStyles=function(e,t){t.clearRules(this.componentId+e)},t.renderStyles=function(e,t,r,n){e>2&&H.registerId(this.componentId+e),this.removeStyles(e,r),this.createStyles(e,t,r,n)},e}();function Ne(e){for(var t=arguments.length,r=new Array(t>1?t-1:0),n=1;n1?t-1:0),n=1;n"+t+""},this.getStyleTags=function(){return e.sealed?S(2):e._emitSheetCSS()},this.getStyleElement=function(){var t;if(e.sealed)return S(2);var r=((t={})[O]="",t["data-styled-version"]="5.2.1",t.dangerouslySetInnerHTML={__html:e.instance.toString()},t),n=z();return n&&(r.nonce=n),[i.a.createElement("style",d({},r,{key:"sc-0-0"}))]},this.seal=function(){e.sealed=!0},this.instance=new H({isServer:!0}),this.sealed=!1}var t=e.prototype;return t.collectStyles=function(e){return this.sealed?S(2):i.a.createElement(se,{sheet:this.instance},e)},t.interleaveWithNodeStream=function(e){return S(3)},e}(),Be=function(e){var t=i.a.forwardRef((function(t,r){var n=Object(o.useContext)(Ae),a=e.defaultProps,u=xe(t,n,a);return i.a.createElement(e,d({},t,{theme:u,ref:r}))}));return p()(t,e),t.displayName="WithTheme("+g(e)+")",t},$e=function(){return Object(o.useContext)(Ae)},Ue={StyleSheet:H,masterSheet:ae};t.default=De}.call(this,r(78))},function(e,t,r){(function(e,r){(function(){var n="Expected a function",o="__lodash_placeholder__",i=[["ary",128],["bind",1],["bindKey",2],["curry",8],["curryRight",16],["flip",512],["partial",32],["partialRight",64],["rearg",256]],a="[object Arguments]",u="[object Array]",l="[object Boolean]",c="[object Date]",s="[object Error]",f="[object Function]",p="[object GeneratorFunction]",d="[object Map]",h="[object Number]",b="[object Object]",y="[object RegExp]",v="[object Set]",m="[object String]",g="[object Symbol]",x="[object WeakMap]",O="[object ArrayBuffer]",w="[object DataView]",_="[object Float32Array]",C="[object Float64Array]",j="[object Int8Array]",S="[object Int16Array]",k="[object Int32Array]",P="[object Uint8Array]",E="[object Uint16Array]",A="[object Uint32Array]",T=/\b__p \+= '';/g,R=/\b(__p \+=) '' \+/g,M=/(__e\(.*?\)|\b__t\)) \+\n'';/g,L=/&(?:amp|lt|gt|quot|#39);/g,D=/[&<>"']/g,I=RegExp(L.source),N=RegExp(D.source),z=/<%-([\s\S]+?)%>/g,F=/<%([\s\S]+?)%>/g,B=/<%=([\s\S]+?)%>/g,$=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,U=/^\w*$/,V=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,W=/[\\^$.*+?()[\]{}|]/g,H=RegExp(W.source),q=/^\s+/,K=/\s/,Z=/\{(?:\n\/\* \[wrapped with .+\] \*\/)?\n?/,X=/\{\n\/\* \[wrapped with (.+)\] \*/,G=/,? & /,Q=/[^\x00-\x2f\x3a-\x40\x5b-\x60\x7b-\x7f]+/g,Y=/[()=,{}\[\]\/\s]/,J=/\\(\\)?/g,ee=/\$\{([^\\}]*(?:\\.[^\\}]*)*)\}/g,te=/\w*$/,re=/^[-+]0x[0-9a-f]+$/i,ne=/^0b[01]+$/i,oe=/^\[object .+?Constructor\]$/,ie=/^0o[0-7]+$/i,ae=/^(?:0|[1-9]\d*)$/,ue=/[\xc0-\xd6\xd8-\xf6\xf8-\xff\u0100-\u017f]/g,le=/($^)/,ce=/['\n\r\u2028\u2029\\]/g,se="\\u0300-\\u036f\\ufe20-\\ufe2f\\u20d0-\\u20ff",fe="\\xac\\xb1\\xd7\\xf7\\x00-\\x2f\\x3a-\\x40\\x5b-\\x60\\x7b-\\xbf\\u2000-\\u206f \\t\\x0b\\f\\xa0\\ufeff\\n\\r\\u2028\\u2029\\u1680\\u180e\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200a\\u202f\\u205f\\u3000",pe="[\\ud800-\\udfff]",de="["+fe+"]",he="["+se+"]",be="\\d+",ye="[\\u2700-\\u27bf]",ve="[a-z\\xdf-\\xf6\\xf8-\\xff]",me="[^\\ud800-\\udfff"+fe+be+"\\u2700-\\u27bfa-z\\xdf-\\xf6\\xf8-\\xffA-Z\\xc0-\\xd6\\xd8-\\xde]",ge="\\ud83c[\\udffb-\\udfff]",xe="[^\\ud800-\\udfff]",Oe="(?:\\ud83c[\\udde6-\\uddff]){2}",we="[\\ud800-\\udbff][\\udc00-\\udfff]",_e="[A-Z\\xc0-\\xd6\\xd8-\\xde]",Ce="(?:"+ve+"|"+me+")",je="(?:"+_e+"|"+me+")",Se="(?:"+he+"|"+ge+")"+"?",ke="[\\ufe0e\\ufe0f]?"+Se+("(?:\\u200d(?:"+[xe,Oe,we].join("|")+")[\\ufe0e\\ufe0f]?"+Se+")*"),Pe="(?:"+[ye,Oe,we].join("|")+")"+ke,Ee="(?:"+[xe+he+"?",he,Oe,we,pe].join("|")+")",Ae=RegExp("['’]","g"),Te=RegExp(he,"g"),Re=RegExp(ge+"(?="+ge+")|"+Ee+ke,"g"),Me=RegExp([_e+"?"+ve+"+(?:['’](?:d|ll|m|re|s|t|ve))?(?="+[de,_e,"$"].join("|")+")",je+"+(?:['’](?:D|LL|M|RE|S|T|VE))?(?="+[de,_e+Ce,"$"].join("|")+")",_e+"?"+Ce+"+(?:['’](?:d|ll|m|re|s|t|ve))?",_e+"+(?:['’](?:D|LL|M|RE|S|T|VE))?","\\d*(?:1ST|2ND|3RD|(?![123])\\dTH)(?=\\b|[a-z_])","\\d*(?:1st|2nd|3rd|(?![123])\\dth)(?=\\b|[A-Z_])",be,Pe].join("|"),"g"),Le=RegExp("[\\u200d\\ud800-\\udfff"+se+"\\ufe0e\\ufe0f]"),De=/[a-z][A-Z]|[A-Z]{2}[a-z]|[0-9][a-zA-Z]|[a-zA-Z][0-9]|[^a-zA-Z0-9 ]/,Ie=["Array","Buffer","DataView","Date","Error","Float32Array","Float64Array","Function","Int8Array","Int16Array","Int32Array","Map","Math","Object","Promise","RegExp","Set","String","Symbol","TypeError","Uint8Array","Uint8ClampedArray","Uint16Array","Uint32Array","WeakMap","_","clearTimeout","isFinite","parseInt","setTimeout"],Ne=-1,ze={};ze[_]=ze[C]=ze[j]=ze[S]=ze[k]=ze[P]=ze["[object Uint8ClampedArray]"]=ze[E]=ze[A]=!0,ze[a]=ze[u]=ze[O]=ze[l]=ze[w]=ze[c]=ze[s]=ze[f]=ze[d]=ze[h]=ze[b]=ze[y]=ze[v]=ze[m]=ze[x]=!1;var Fe={};Fe[a]=Fe[u]=Fe[O]=Fe[w]=Fe[l]=Fe[c]=Fe[_]=Fe[C]=Fe[j]=Fe[S]=Fe[k]=Fe[d]=Fe[h]=Fe[b]=Fe[y]=Fe[v]=Fe[m]=Fe[g]=Fe[P]=Fe["[object Uint8ClampedArray]"]=Fe[E]=Fe[A]=!0,Fe[s]=Fe[f]=Fe[x]=!1;var Be={"\\":"\\","'":"'","\n":"n","\r":"r","\u2028":"u2028","\u2029":"u2029"},$e=parseFloat,Ue=parseInt,Ve="object"==typeof e&&e&&e.Object===Object&&e,We="object"==typeof self&&self&&self.Object===Object&&self,He=Ve||We||Function("return this")(),qe=t&&!t.nodeType&&t,Ke=qe&&"object"==typeof r&&r&&!r.nodeType&&r,Ze=Ke&&Ke.exports===qe,Xe=Ze&&Ve.process,Ge=function(){try{var e=Ke&&Ke.require&&Ke.require("util").types;return e||Xe&&Xe.binding&&Xe.binding("util")}catch(e){}}(),Qe=Ge&&Ge.isArrayBuffer,Ye=Ge&&Ge.isDate,Je=Ge&&Ge.isMap,et=Ge&&Ge.isRegExp,tt=Ge&&Ge.isSet,rt=Ge&&Ge.isTypedArray;function nt(e,t,r){switch(r.length){case 0:return e.call(t);case 1:return e.call(t,r[0]);case 2:return e.call(t,r[0],r[1]);case 3:return e.call(t,r[0],r[1],r[2])}return e.apply(t,r)}function ot(e,t,r,n){for(var o=-1,i=null==e?0:e.length;++o-1}function st(e,t,r){for(var n=-1,o=null==e?0:e.length;++n-1;);return r}function Mt(e,t){for(var r=e.length;r--&>(t,e[r],0)>-1;);return r}function Lt(e,t){for(var r=e.length,n=0;r--;)e[r]===t&&++n;return n}var Dt=Ct({"À":"A","Á":"A","Â":"A","Ã":"A","Ä":"A","Å":"A","à":"a","á":"a","â":"a","ã":"a","ä":"a","å":"a","Ç":"C","ç":"c","Ð":"D","ð":"d","È":"E","É":"E","Ê":"E","Ë":"E","è":"e","é":"e","ê":"e","ë":"e","Ì":"I","Í":"I","Î":"I","Ï":"I","ì":"i","í":"i","î":"i","ï":"i","Ñ":"N","ñ":"n","Ò":"O","Ó":"O","Ô":"O","Õ":"O","Ö":"O","Ø":"O","ò":"o","ó":"o","ô":"o","õ":"o","ö":"o","ø":"o","Ù":"U","Ú":"U","Û":"U","Ü":"U","ù":"u","ú":"u","û":"u","ü":"u","Ý":"Y","ý":"y","ÿ":"y","Æ":"Ae","æ":"ae","Þ":"Th","þ":"th","ß":"ss","Ā":"A","Ă":"A","Ą":"A","ā":"a","ă":"a","ą":"a","Ć":"C","Ĉ":"C","Ċ":"C","Č":"C","ć":"c","ĉ":"c","ċ":"c","č":"c","Ď":"D","Đ":"D","ď":"d","đ":"d","Ē":"E","Ĕ":"E","Ė":"E","Ę":"E","Ě":"E","ē":"e","ĕ":"e","ė":"e","ę":"e","ě":"e","Ĝ":"G","Ğ":"G","Ġ":"G","Ģ":"G","ĝ":"g","ğ":"g","ġ":"g","ģ":"g","Ĥ":"H","Ħ":"H","ĥ":"h","ħ":"h","Ĩ":"I","Ī":"I","Ĭ":"I","Į":"I","İ":"I","ĩ":"i","ī":"i","ĭ":"i","į":"i","ı":"i","Ĵ":"J","ĵ":"j","Ķ":"K","ķ":"k","ĸ":"k","Ĺ":"L","Ļ":"L","Ľ":"L","Ŀ":"L","Ł":"L","ĺ":"l","ļ":"l","ľ":"l","ŀ":"l","ł":"l","Ń":"N","Ņ":"N","Ň":"N","Ŋ":"N","ń":"n","ņ":"n","ň":"n","ŋ":"n","Ō":"O","Ŏ":"O","Ő":"O","ō":"o","ŏ":"o","ő":"o","Ŕ":"R","Ŗ":"R","Ř":"R","ŕ":"r","ŗ":"r","ř":"r","Ś":"S","Ŝ":"S","Ş":"S","Š":"S","ś":"s","ŝ":"s","ş":"s","š":"s","Ţ":"T","Ť":"T","Ŧ":"T","ţ":"t","ť":"t","ŧ":"t","Ũ":"U","Ū":"U","Ŭ":"U","Ů":"U","Ű":"U","Ų":"U","ũ":"u","ū":"u","ŭ":"u","ů":"u","ű":"u","ų":"u","Ŵ":"W","ŵ":"w","Ŷ":"Y","ŷ":"y","Ÿ":"Y","Ź":"Z","Ż":"Z","Ž":"Z","ź":"z","ż":"z","ž":"z","IJ":"IJ","ij":"ij","Œ":"Oe","œ":"oe","ʼn":"'n","ſ":"s"}),It=Ct({"&":"&","<":"<",">":">",'"':""","'":"'"});function Nt(e){return"\\"+Be[e]}function zt(e){return Le.test(e)}function Ft(e){var t=-1,r=Array(e.size);return e.forEach((function(e,n){r[++t]=[n,e]})),r}function Bt(e,t){return function(r){return e(t(r))}}function $t(e,t){for(var r=-1,n=e.length,i=0,a=[];++r",""":'"',"'":"'"});var Zt=function e(t){var r,K=(t=null==t?He:Zt.defaults(He.Object(),t,Zt.pick(He,Ie))).Array,se=t.Date,fe=t.Error,pe=t.Function,de=t.Math,he=t.Object,be=t.RegExp,ye=t.String,ve=t.TypeError,me=K.prototype,ge=pe.prototype,xe=he.prototype,Oe=t["__core-js_shared__"],we=ge.toString,_e=xe.hasOwnProperty,Ce=0,je=(r=/[^.]+$/.exec(Oe&&Oe.keys&&Oe.keys.IE_PROTO||""))?"Symbol(src)_1."+r:"",Se=xe.toString,ke=we.call(he),Pe=He._,Ee=be("^"+we.call(_e).replace(W,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$"),Re=Ze?t.Buffer:void 0,Le=t.Symbol,Be=t.Uint8Array,Ve=Re?Re.allocUnsafe:void 0,We=Bt(he.getPrototypeOf,he),qe=he.create,Ke=xe.propertyIsEnumerable,Xe=me.splice,Ge=Le?Le.isConcatSpreadable:void 0,yt=Le?Le.iterator:void 0,Ct=Le?Le.toStringTag:void 0,Xt=function(){try{var e=ti(he,"defineProperty");return e({},"",{}),e}catch(e){}}(),Gt=t.clearTimeout!==He.clearTimeout&&t.clearTimeout,Qt=se&&se.now!==He.Date.now&&se.now,Yt=t.setTimeout!==He.setTimeout&&t.setTimeout,Jt=de.ceil,er=de.floor,tr=he.getOwnPropertySymbols,rr=Re?Re.isBuffer:void 0,nr=t.isFinite,or=me.join,ir=Bt(he.keys,he),ar=de.max,ur=de.min,lr=se.now,cr=t.parseInt,sr=de.random,fr=me.reverse,pr=ti(t,"DataView"),dr=ti(t,"Map"),hr=ti(t,"Promise"),br=ti(t,"Set"),yr=ti(t,"WeakMap"),vr=ti(he,"create"),mr=yr&&new yr,gr={},xr=Pi(pr),Or=Pi(dr),wr=Pi(hr),_r=Pi(br),Cr=Pi(yr),jr=Le?Le.prototype:void 0,Sr=jr?jr.valueOf:void 0,kr=jr?jr.toString:void 0;function Pr(e){if(Ha(e)&&!La(e)&&!(e instanceof Rr)){if(e instanceof Tr)return e;if(_e.call(e,"__wrapped__"))return Ei(e)}return new Tr(e)}var Er=function(){function e(){}return function(t){if(!Wa(t))return{};if(qe)return qe(t);e.prototype=t;var r=new e;return e.prototype=void 0,r}}();function Ar(){}function Tr(e,t){this.__wrapped__=e,this.__actions__=[],this.__chain__=!!t,this.__index__=0,this.__values__=void 0}function Rr(e){this.__wrapped__=e,this.__actions__=[],this.__dir__=1,this.__filtered__=!1,this.__iteratees__=[],this.__takeCount__=4294967295,this.__views__=[]}function Mr(e){var t=-1,r=null==e?0:e.length;for(this.clear();++t=t?e:t)),e}function Gr(e,t,r,n,o,i){var u,s=1&t,x=2&t,T=4&t;if(r&&(u=o?r(e,n,o,i):r(e)),void 0!==u)return u;if(!Wa(e))return e;var R=La(e);if(R){if(u=function(e){var t=e.length,r=new e.constructor(t);t&&"string"==typeof e[0]&&_e.call(e,"index")&&(r.index=e.index,r.input=e.input);return r}(e),!s)return go(e,u)}else{var M=oi(e),L=M==f||M==p;if(za(e))return po(e,s);if(M==b||M==a||L&&!o){if(u=x||L?{}:ai(e),!s)return x?function(e,t){return xo(e,ni(e),t)}(e,function(e,t){return e&&xo(t,wu(t),e)}(u,e)):function(e,t){return xo(e,ri(e),t)}(e,qr(u,e))}else{if(!Fe[M])return o?e:{};u=function(e,t,r){var n=e.constructor;switch(t){case O:return ho(e);case l:case c:return new n(+e);case w:return function(e,t){var r=t?ho(e.buffer):e.buffer;return new e.constructor(r,e.byteOffset,e.byteLength)}(e,r);case _:case C:case j:case S:case k:case P:case"[object Uint8ClampedArray]":case E:case A:return bo(e,r);case d:return new n;case h:case m:return new n(e);case y:return function(e){var t=new e.constructor(e.source,te.exec(e));return t.lastIndex=e.lastIndex,t}(e);case v:return new n;case g:return o=e,Sr?he(Sr.call(o)):{}}var o}(e,M,s)}}i||(i=new Nr);var D=i.get(e);if(D)return D;i.set(e,u),Ga(e)?e.forEach((function(n){u.add(Gr(n,t,r,n,e,i))})):qa(e)&&e.forEach((function(n,o){u.set(o,Gr(n,t,r,o,e,i))}));var I=R?void 0:(T?x?Zo:Ko:x?wu:Ou)(e);return it(I||e,(function(n,o){I&&(n=e[o=n]),Vr(u,o,Gr(n,t,r,o,e,i))})),u}function Qr(e,t,r){var n=r.length;if(null==e)return!n;for(e=he(e);n--;){var o=r[n],i=t[o],a=e[o];if(void 0===a&&!(o in e)||!i(a))return!1}return!0}function Yr(e,t,r){if("function"!=typeof e)throw new ve(n);return Oi((function(){e.apply(void 0,r)}),t)}function Jr(e,t,r,n){var o=-1,i=ct,a=!0,u=e.length,l=[],c=t.length;if(!u)return l;r&&(t=ft(t,Et(r))),n?(i=st,a=!1):t.length>=200&&(i=Tt,a=!1,t=new Ir(t));e:for(;++o-1},Lr.prototype.set=function(e,t){var r=this.__data__,n=Wr(r,e);return n<0?(++this.size,r.push([e,t])):r[n][1]=t,this},Dr.prototype.clear=function(){this.size=0,this.__data__={hash:new Mr,map:new(dr||Lr),string:new Mr}},Dr.prototype.delete=function(e){var t=Jo(this,e).delete(e);return this.size-=t?1:0,t},Dr.prototype.get=function(e){return Jo(this,e).get(e)},Dr.prototype.has=function(e){return Jo(this,e).has(e)},Dr.prototype.set=function(e,t){var r=Jo(this,e),n=r.size;return r.set(e,t),this.size+=r.size==n?0:1,this},Ir.prototype.add=Ir.prototype.push=function(e){return this.__data__.set(e,"__lodash_hash_undefined__"),this},Ir.prototype.has=function(e){return this.__data__.has(e)},Nr.prototype.clear=function(){this.__data__=new Lr,this.size=0},Nr.prototype.delete=function(e){var t=this.__data__,r=t.delete(e);return this.size=t.size,r},Nr.prototype.get=function(e){return this.__data__.get(e)},Nr.prototype.has=function(e){return this.__data__.has(e)},Nr.prototype.set=function(e,t){var r=this.__data__;if(r instanceof Lr){var n=r.__data__;if(!dr||n.length<199)return n.push([e,t]),this.size=++r.size,this;r=this.__data__=new Dr(n)}return r.set(e,t),this.size=r.size,this};var en=_o(cn),tn=_o(sn,!0);function rn(e,t){var r=!0;return en(e,(function(e,n,o){return r=!!t(e,n,o)})),r}function nn(e,t,r){for(var n=-1,o=e.length;++n0&&r(u)?t>1?an(u,t-1,r,n,o):pt(o,u):n||(o[o.length]=u)}return o}var un=Co(),ln=Co(!0);function cn(e,t){return e&&un(e,t,Ou)}function sn(e,t){return e&&ln(e,t,Ou)}function fn(e,t){return lt(t,(function(t){return $a(e[t])}))}function pn(e,t){for(var r=0,n=(t=lo(t,e)).length;null!=e&&rt}function yn(e,t){return null!=e&&_e.call(e,t)}function vn(e,t){return null!=e&&t in he(e)}function mn(e,t,r){for(var n=r?st:ct,o=e[0].length,i=e.length,a=i,u=K(i),l=1/0,c=[];a--;){var s=e[a];a&&t&&(s=ft(s,Et(t))),l=ur(s.length,l),u[a]=!r&&(t||o>=120&&s.length>=120)?new Ir(a&&s):void 0}s=e[0];var f=-1,p=u[0];e:for(;++f=u)return l;var c=r[n];return l*("desc"==c?-1:1)}}return e.index-t.index}(e,t,r)}))}function Ln(e,t,r){for(var n=-1,o=t.length,i={};++n-1;)u!==e&&Xe.call(u,l,1),Xe.call(e,l,1);return e}function In(e,t){for(var r=e?t.length:0,n=r-1;r--;){var o=t[r];if(r==n||o!==i){var i=o;li(o)?Xe.call(e,o,1):eo(e,o)}}return e}function Nn(e,t){return e+er(sr()*(t-e+1))}function zn(e,t){var r="";if(!e||t<1||t>9007199254740991)return r;do{t%2&&(r+=e),(t=er(t/2))&&(e+=e)}while(t);return r}function Fn(e,t){return wi(yi(e,t,Ku),e+"")}function Bn(e){return Fr(Au(e))}function $n(e,t){var r=Au(e);return ji(r,Xr(t,0,r.length))}function Un(e,t,r,n){if(!Wa(e))return e;for(var o=-1,i=(t=lo(t,e)).length,a=i-1,u=e;null!=u&&++oo?0:o+t),(r=r>o?o:r)<0&&(r+=o),o=t>r?0:r-t>>>0,t>>>=0;for(var i=K(o);++n>>1,a=e[i];null!==a&&!Ya(a)&&(r?a<=t:a=200){var c=t?null:Fo(e);if(c)return Ut(c);a=!1,o=Tt,l=new Ir}else l=t?[]:u;e:for(;++n=n?e:qn(e,t,r)}var fo=Gt||function(e){return He.clearTimeout(e)};function po(e,t){if(t)return e.slice();var r=e.length,n=Ve?Ve(r):new e.constructor(r);return e.copy(n),n}function ho(e){var t=new e.constructor(e.byteLength);return new Be(t).set(new Be(e)),t}function bo(e,t){var r=t?ho(e.buffer):e.buffer;return new e.constructor(r,e.byteOffset,e.length)}function yo(e,t){if(e!==t){var r=void 0!==e,n=null===e,o=e==e,i=Ya(e),a=void 0!==t,u=null===t,l=t==t,c=Ya(t);if(!u&&!c&&!i&&e>t||i&&a&&l&&!u&&!c||n&&a&&l||!r&&l||!o)return 1;if(!n&&!i&&!c&&e1?r[o-1]:void 0,a=o>2?r[2]:void 0;for(i=e.length>3&&"function"==typeof i?(o--,i):void 0,a&&ci(r[0],r[1],a)&&(i=o<3?void 0:i,o=1),t=he(t);++n-1?o[i?t[a]:a]:void 0}}function Eo(e){return qo((function(t){var r=t.length,o=r,i=Tr.prototype.thru;for(e&&t.reverse();o--;){var a=t[o];if("function"!=typeof a)throw new ve(n);if(i&&!u&&"wrapper"==Go(a))var u=new Tr([],!0)}for(o=u?o:r;++o1&&m.reverse(),s&&lu))return!1;var c=i.get(e),s=i.get(t);if(c&&s)return c==t&&s==e;var f=-1,p=!0,d=2&r?new Ir:void 0;for(i.set(e,t),i.set(t,e);++f-1&&e%1==0&&e1?"& ":"")+t[n],t=t.join(r>2?", ":" "),e.replace(Z,"{\n/* [wrapped with "+t+"] */\n")}(n,function(e,t){return it(i,(function(r){var n="_."+r[0];t&r[1]&&!ct(e,n)&&e.push(n)})),e.sort()}(function(e){var t=e.match(X);return t?t[1].split(G):[]}(n),r)))}function Ci(e){var t=0,r=0;return function(){var n=lr(),o=16-(n-r);if(r=n,o>0){if(++t>=800)return arguments[0]}else t=0;return e.apply(void 0,arguments)}}function ji(e,t){var r=-1,n=e.length,o=n-1;for(t=void 0===t?n:t;++r1?e[t-1]:void 0;return r="function"==typeof r?(e.pop(),r):void 0,Xi(e,r)}));function ra(e){var t=Pr(e);return t.__chain__=!0,t}function na(e,t){return t(e)}var oa=qo((function(e){var t=e.length,r=t?e[0]:0,n=this.__wrapped__,o=function(t){return Zr(t,e)};return!(t>1||this.__actions__.length)&&n instanceof Rr&&li(r)?((n=n.slice(r,+r+(t?1:0))).__actions__.push({func:na,args:[o],thisArg:void 0}),new Tr(n,this.__chain__).thru((function(e){return t&&!e.length&&e.push(void 0),e}))):this.thru(o)}));var ia=Oo((function(e,t,r){_e.call(e,r)?++e[r]:Kr(e,r,1)}));var aa=Po(Mi),ua=Po(Li);function la(e,t){return(La(e)?it:en)(e,Yo(t,3))}function ca(e,t){return(La(e)?at:tn)(e,Yo(t,3))}var sa=Oo((function(e,t,r){_e.call(e,r)?e[r].push(t):Kr(e,r,[t])}));var fa=Fn((function(e,t,r){var n=-1,o="function"==typeof t,i=Ia(e)?K(e.length):[];return en(e,(function(e){i[++n]=o?nt(t,e,r):gn(e,t,r)})),i})),pa=Oo((function(e,t,r){Kr(e,r,t)}));function da(e,t){return(La(e)?ft:Pn)(e,Yo(t,3))}var ha=Oo((function(e,t,r){e[r?0:1].push(t)}),(function(){return[[],[]]}));var ba=Fn((function(e,t){if(null==e)return[];var r=t.length;return r>1&&ci(e,t[0],t[1])?t=[]:r>2&&ci(t[0],t[1],t[2])&&(t=[t[0]]),Mn(e,an(t,1),[])})),ya=Qt||function(){return He.Date.now()};function va(e,t,r){return t=r?void 0:t,$o(e,128,void 0,void 0,void 0,void 0,t=e&&null==t?e.length:t)}function ma(e,t){var r;if("function"!=typeof t)throw new ve(n);return e=ou(e),function(){return--e>0&&(r=t.apply(this,arguments)),e<=1&&(t=void 0),r}}var ga=Fn((function(e,t,r){var n=1;if(r.length){var o=$t(r,Qo(ga));n|=32}return $o(e,n,t,r,o)})),xa=Fn((function(e,t,r){var n=3;if(r.length){var o=$t(r,Qo(xa));n|=32}return $o(t,n,e,r,o)}));function Oa(e,t,r){var o,i,a,u,l,c,s=0,f=!1,p=!1,d=!0;if("function"!=typeof e)throw new ve(n);function h(t){var r=o,n=i;return o=i=void 0,s=t,u=e.apply(n,r)}function b(e){return s=e,l=Oi(v,t),f?h(e):u}function y(e){var r=e-c;return void 0===c||r>=t||r<0||p&&e-s>=a}function v(){var e=ya();if(y(e))return m(e);l=Oi(v,function(e){var r=t-(e-c);return p?ur(r,a-(e-s)):r}(e))}function m(e){return l=void 0,d&&o?h(e):(o=i=void 0,u)}function g(){var e=ya(),r=y(e);if(o=arguments,i=this,c=e,r){if(void 0===l)return b(c);if(p)return fo(l),l=Oi(v,t),h(c)}return void 0===l&&(l=Oi(v,t)),u}return t=au(t)||0,Wa(r)&&(f=!!r.leading,a=(p="maxWait"in r)?ar(au(r.maxWait)||0,t):a,d="trailing"in r?!!r.trailing:d),g.cancel=function(){void 0!==l&&fo(l),s=0,o=c=i=l=void 0},g.flush=function(){return void 0===l?u:m(ya())},g}var wa=Fn((function(e,t){return Yr(e,1,t)})),_a=Fn((function(e,t,r){return Yr(e,au(t)||0,r)}));function Ca(e,t){if("function"!=typeof e||null!=t&&"function"!=typeof t)throw new ve(n);var r=function(){var n=arguments,o=t?t.apply(this,n):n[0],i=r.cache;if(i.has(o))return i.get(o);var a=e.apply(this,n);return r.cache=i.set(o,a)||i,a};return r.cache=new(Ca.Cache||Dr),r}function ja(e){if("function"!=typeof e)throw new ve(n);return function(){var t=arguments;switch(t.length){case 0:return!e.call(this);case 1:return!e.call(this,t[0]);case 2:return!e.call(this,t[0],t[1]);case 3:return!e.call(this,t[0],t[1],t[2])}return!e.apply(this,t)}}Ca.Cache=Dr;var Sa=co((function(e,t){var r=(t=1==t.length&&La(t[0])?ft(t[0],Et(Yo())):ft(an(t,1),Et(Yo()))).length;return Fn((function(n){for(var o=-1,i=ur(n.length,r);++o=t})),Ma=xn(function(){return arguments}())?xn:function(e){return Ha(e)&&_e.call(e,"callee")&&!Ke.call(e,"callee")},La=K.isArray,Da=Qe?Et(Qe):function(e){return Ha(e)&&hn(e)==O};function Ia(e){return null!=e&&Va(e.length)&&!$a(e)}function Na(e){return Ha(e)&&Ia(e)}var za=rr||al,Fa=Ye?Et(Ye):function(e){return Ha(e)&&hn(e)==c};function Ba(e){if(!Ha(e))return!1;var t=hn(e);return t==s||"[object DOMException]"==t||"string"==typeof e.message&&"string"==typeof e.name&&!Za(e)}function $a(e){if(!Wa(e))return!1;var t=hn(e);return t==f||t==p||"[object AsyncFunction]"==t||"[object Proxy]"==t}function Ua(e){return"number"==typeof e&&e==ou(e)}function Va(e){return"number"==typeof e&&e>-1&&e%1==0&&e<=9007199254740991}function Wa(e){var t=typeof e;return null!=e&&("object"==t||"function"==t)}function Ha(e){return null!=e&&"object"==typeof e}var qa=Je?Et(Je):function(e){return Ha(e)&&oi(e)==d};function Ka(e){return"number"==typeof e||Ha(e)&&hn(e)==h}function Za(e){if(!Ha(e)||hn(e)!=b)return!1;var t=We(e);if(null===t)return!0;var r=_e.call(t,"constructor")&&t.constructor;return"function"==typeof r&&r instanceof r&&we.call(r)==ke}var Xa=et?Et(et):function(e){return Ha(e)&&hn(e)==y};var Ga=tt?Et(tt):function(e){return Ha(e)&&oi(e)==v};function Qa(e){return"string"==typeof e||!La(e)&&Ha(e)&&hn(e)==m}function Ya(e){return"symbol"==typeof e||Ha(e)&&hn(e)==g}var Ja=rt?Et(rt):function(e){return Ha(e)&&Va(e.length)&&!!ze[hn(e)]};var eu=Io(kn),tu=Io((function(e,t){return e<=t}));function ru(e){if(!e)return[];if(Ia(e))return Qa(e)?Ht(e):go(e);if(yt&&e[yt])return function(e){for(var t,r=[];!(t=e.next()).done;)r.push(t.value);return r}(e[yt]());var t=oi(e);return(t==d?Ft:t==v?Ut:Au)(e)}function nu(e){return e?(e=au(e))===1/0||e===-1/0?17976931348623157e292*(e<0?-1:1):e==e?e:0:0===e?e:0}function ou(e){var t=nu(e),r=t%1;return t==t?r?t-r:t:0}function iu(e){return e?Xr(ou(e),0,4294967295):0}function au(e){if("number"==typeof e)return e;if(Ya(e))return NaN;if(Wa(e)){var t="function"==typeof e.valueOf?e.valueOf():e;e=Wa(t)?t+"":t}if("string"!=typeof e)return 0===e?e:+e;e=Pt(e);var r=ne.test(e);return r||ie.test(e)?Ue(e.slice(2),r?2:8):re.test(e)?NaN:+e}function uu(e){return xo(e,wu(e))}function lu(e){return null==e?"":Yn(e)}var cu=wo((function(e,t){if(di(t)||Ia(t))xo(t,Ou(t),e);else for(var r in t)_e.call(t,r)&&Vr(e,r,t[r])})),su=wo((function(e,t){xo(t,wu(t),e)})),fu=wo((function(e,t,r,n){xo(t,wu(t),e,n)})),pu=wo((function(e,t,r,n){xo(t,Ou(t),e,n)})),du=qo(Zr);var hu=Fn((function(e,t){e=he(e);var r=-1,n=t.length,o=n>2?t[2]:void 0;for(o&&ci(t[0],t[1],o)&&(n=1);++r1),t})),xo(e,Zo(e),r),n&&(r=Gr(r,7,Wo));for(var o=t.length;o--;)eo(r,t[o]);return r}));var Su=qo((function(e,t){return null==e?{}:function(e,t){return Ln(e,t,(function(t,r){return vu(e,r)}))}(e,t)}));function ku(e,t){if(null==e)return{};var r=ft(Zo(e),(function(e){return[e]}));return t=Yo(t),Ln(e,r,(function(e,r){return t(e,r[0])}))}var Pu=Bo(Ou),Eu=Bo(wu);function Au(e){return null==e?[]:At(e,Ou(e))}var Tu=So((function(e,t,r){return t=t.toLowerCase(),e+(r?Ru(t):t)}));function Ru(e){return Bu(lu(e).toLowerCase())}function Mu(e){return(e=lu(e))&&e.replace(ue,Dt).replace(Te,"")}var Lu=So((function(e,t,r){return e+(r?"-":"")+t.toLowerCase()})),Du=So((function(e,t,r){return e+(r?" ":"")+t.toLowerCase()})),Iu=jo("toLowerCase");var Nu=So((function(e,t,r){return e+(r?"_":"")+t.toLowerCase()}));var zu=So((function(e,t,r){return e+(r?" ":"")+Bu(t)}));var Fu=So((function(e,t,r){return e+(r?" ":"")+t.toUpperCase()})),Bu=jo("toUpperCase");function $u(e,t,r){return e=lu(e),void 0===(t=r?void 0:t)?function(e){return De.test(e)}(e)?function(e){return e.match(Me)||[]}(e):function(e){return e.match(Q)||[]}(e):e.match(t)||[]}var Uu=Fn((function(e,t){try{return nt(e,void 0,t)}catch(e){return Ba(e)?e:new fe(e)}})),Vu=qo((function(e,t){return it(t,(function(t){t=ki(t),Kr(e,t,ga(e[t],e))})),e}));function Wu(e){return function(){return e}}var Hu=Eo(),qu=Eo(!0);function Ku(e){return e}function Zu(e){return Cn("function"==typeof e?e:Gr(e,1))}var Xu=Fn((function(e,t){return function(r){return gn(r,e,t)}})),Gu=Fn((function(e,t){return function(r){return gn(e,r,t)}}));function Qu(e,t,r){var n=Ou(t),o=fn(t,n);null!=r||Wa(t)&&(o.length||!n.length)||(r=t,t=e,e=this,o=fn(t,Ou(t)));var i=!(Wa(r)&&"chain"in r&&!r.chain),a=$a(e);return it(o,(function(r){var n=t[r];e[r]=n,a&&(e.prototype[r]=function(){var t=this.__chain__;if(i||t){var r=e(this.__wrapped__),o=r.__actions__=go(this.__actions__);return o.push({func:n,args:arguments,thisArg:e}),r.__chain__=t,r}return n.apply(e,pt([this.value()],arguments))})})),e}function Yu(){}var Ju=Mo(ft),el=Mo(ut),tl=Mo(bt);function rl(e){return si(e)?_t(ki(e)):function(e){return function(t){return pn(t,e)}}(e)}var nl=Do(),ol=Do(!0);function il(){return[]}function al(){return!1}var ul=Ro((function(e,t){return e+t}),0),ll=zo("ceil"),cl=Ro((function(e,t){return e/t}),1),sl=zo("floor");var fl,pl=Ro((function(e,t){return e*t}),1),dl=zo("round"),hl=Ro((function(e,t){return e-t}),0);return Pr.after=function(e,t){if("function"!=typeof t)throw new ve(n);return e=ou(e),function(){if(--e<1)return t.apply(this,arguments)}},Pr.ary=va,Pr.assign=cu,Pr.assignIn=su,Pr.assignInWith=fu,Pr.assignWith=pu,Pr.at=du,Pr.before=ma,Pr.bind=ga,Pr.bindAll=Vu,Pr.bindKey=xa,Pr.castArray=function(){if(!arguments.length)return[];var e=arguments[0];return La(e)?e:[e]},Pr.chain=ra,Pr.chunk=function(e,t,r){t=(r?ci(e,t,r):void 0===t)?1:ar(ou(t),0);var n=null==e?0:e.length;if(!n||t<1)return[];for(var o=0,i=0,a=K(Jt(n/t));oo?0:o+r),(n=void 0===n||n>o?o:ou(n))<0&&(n+=o),n=r>n?0:iu(n);r>>0)?(e=lu(e))&&("string"==typeof t||null!=t&&!Xa(t))&&!(t=Yn(t))&&zt(e)?so(Ht(e),0,r):e.split(t,r):[]},Pr.spread=function(e,t){if("function"!=typeof e)throw new ve(n);return t=null==t?0:ar(ou(t),0),Fn((function(r){var n=r[t],o=so(r,0,t);return n&&pt(o,n),nt(e,this,o)}))},Pr.tail=function(e){var t=null==e?0:e.length;return t?qn(e,1,t):[]},Pr.take=function(e,t,r){return e&&e.length?qn(e,0,(t=r||void 0===t?1:ou(t))<0?0:t):[]},Pr.takeRight=function(e,t,r){var n=null==e?0:e.length;return n?qn(e,(t=n-(t=r||void 0===t?1:ou(t)))<0?0:t,n):[]},Pr.takeRightWhile=function(e,t){return e&&e.length?ro(e,Yo(t,3),!1,!0):[]},Pr.takeWhile=function(e,t){return e&&e.length?ro(e,Yo(t,3)):[]},Pr.tap=function(e,t){return t(e),e},Pr.throttle=function(e,t,r){var o=!0,i=!0;if("function"!=typeof e)throw new ve(n);return Wa(r)&&(o="leading"in r?!!r.leading:o,i="trailing"in r?!!r.trailing:i),Oa(e,t,{leading:o,maxWait:t,trailing:i})},Pr.thru=na,Pr.toArray=ru,Pr.toPairs=Pu,Pr.toPairsIn=Eu,Pr.toPath=function(e){return La(e)?ft(e,ki):Ya(e)?[e]:go(Si(lu(e)))},Pr.toPlainObject=uu,Pr.transform=function(e,t,r){var n=La(e),o=n||za(e)||Ja(e);if(t=Yo(t,4),null==r){var i=e&&e.constructor;r=o?n?new i:[]:Wa(e)&&$a(i)?Er(We(e)):{}}return(o?it:cn)(e,(function(e,n,o){return t(r,e,n,o)})),r},Pr.unary=function(e){return va(e,1)},Pr.union=Hi,Pr.unionBy=qi,Pr.unionWith=Ki,Pr.uniq=function(e){return e&&e.length?Jn(e):[]},Pr.uniqBy=function(e,t){return e&&e.length?Jn(e,Yo(t,2)):[]},Pr.uniqWith=function(e,t){return t="function"==typeof t?t:void 0,e&&e.length?Jn(e,void 0,t):[]},Pr.unset=function(e,t){return null==e||eo(e,t)},Pr.unzip=Zi,Pr.unzipWith=Xi,Pr.update=function(e,t,r){return null==e?e:to(e,t,uo(r))},Pr.updateWith=function(e,t,r,n){return n="function"==typeof n?n:void 0,null==e?e:to(e,t,uo(r),n)},Pr.values=Au,Pr.valuesIn=function(e){return null==e?[]:At(e,wu(e))},Pr.without=Gi,Pr.words=$u,Pr.wrap=function(e,t){return ka(uo(t),e)},Pr.xor=Qi,Pr.xorBy=Yi,Pr.xorWith=Ji,Pr.zip=ea,Pr.zipObject=function(e,t){return io(e||[],t||[],Vr)},Pr.zipObjectDeep=function(e,t){return io(e||[],t||[],Un)},Pr.zipWith=ta,Pr.entries=Pu,Pr.entriesIn=Eu,Pr.extend=su,Pr.extendWith=fu,Qu(Pr,Pr),Pr.add=ul,Pr.attempt=Uu,Pr.camelCase=Tu,Pr.capitalize=Ru,Pr.ceil=ll,Pr.clamp=function(e,t,r){return void 0===r&&(r=t,t=void 0),void 0!==r&&(r=(r=au(r))==r?r:0),void 0!==t&&(t=(t=au(t))==t?t:0),Xr(au(e),t,r)},Pr.clone=function(e){return Gr(e,4)},Pr.cloneDeep=function(e){return Gr(e,5)},Pr.cloneDeepWith=function(e,t){return Gr(e,5,t="function"==typeof t?t:void 0)},Pr.cloneWith=function(e,t){return Gr(e,4,t="function"==typeof t?t:void 0)},Pr.conformsTo=function(e,t){return null==t||Qr(e,t,Ou(t))},Pr.deburr=Mu,Pr.defaultTo=function(e,t){return null==e||e!=e?t:e},Pr.divide=cl,Pr.endsWith=function(e,t,r){e=lu(e),t=Yn(t);var n=e.length,o=r=void 0===r?n:Xr(ou(r),0,n);return(r-=t.length)>=0&&e.slice(r,o)==t},Pr.eq=Aa,Pr.escape=function(e){return(e=lu(e))&&N.test(e)?e.replace(D,It):e},Pr.escapeRegExp=function(e){return(e=lu(e))&&H.test(e)?e.replace(W,"\\$&"):e},Pr.every=function(e,t,r){var n=La(e)?ut:rn;return r&&ci(e,t,r)&&(t=void 0),n(e,Yo(t,3))},Pr.find=aa,Pr.findIndex=Mi,Pr.findKey=function(e,t){return vt(e,Yo(t,3),cn)},Pr.findLast=ua,Pr.findLastIndex=Li,Pr.findLastKey=function(e,t){return vt(e,Yo(t,3),sn)},Pr.floor=sl,Pr.forEach=la,Pr.forEachRight=ca,Pr.forIn=function(e,t){return null==e?e:un(e,Yo(t,3),wu)},Pr.forInRight=function(e,t){return null==e?e:ln(e,Yo(t,3),wu)},Pr.forOwn=function(e,t){return e&&cn(e,Yo(t,3))},Pr.forOwnRight=function(e,t){return e&&sn(e,Yo(t,3))},Pr.get=yu,Pr.gt=Ta,Pr.gte=Ra,Pr.has=function(e,t){return null!=e&&ii(e,t,yn)},Pr.hasIn=vu,Pr.head=Ii,Pr.identity=Ku,Pr.includes=function(e,t,r,n){e=Ia(e)?e:Au(e),r=r&&!n?ou(r):0;var o=e.length;return r<0&&(r=ar(o+r,0)),Qa(e)?r<=o&&e.indexOf(t,r)>-1:!!o&>(e,t,r)>-1},Pr.indexOf=function(e,t,r){var n=null==e?0:e.length;if(!n)return-1;var o=null==r?0:ou(r);return o<0&&(o=ar(n+o,0)),gt(e,t,o)},Pr.inRange=function(e,t,r){return t=nu(t),void 0===r?(r=t,t=0):r=nu(r),function(e,t,r){return e>=ur(t,r)&&e=-9007199254740991&&e<=9007199254740991},Pr.isSet=Ga,Pr.isString=Qa,Pr.isSymbol=Ya,Pr.isTypedArray=Ja,Pr.isUndefined=function(e){return void 0===e},Pr.isWeakMap=function(e){return Ha(e)&&oi(e)==x},Pr.isWeakSet=function(e){return Ha(e)&&"[object WeakSet]"==hn(e)},Pr.join=function(e,t){return null==e?"":or.call(e,t)},Pr.kebabCase=Lu,Pr.last=Bi,Pr.lastIndexOf=function(e,t,r){var n=null==e?0:e.length;if(!n)return-1;var o=n;return void 0!==r&&(o=(o=ou(r))<0?ar(n+o,0):ur(o,n-1)),t==t?function(e,t,r){for(var n=r+1;n--;)if(e[n]===t)return n;return n}(e,t,o):mt(e,Ot,o,!0)},Pr.lowerCase=Du,Pr.lowerFirst=Iu,Pr.lt=eu,Pr.lte=tu,Pr.max=function(e){return e&&e.length?nn(e,Ku,bn):void 0},Pr.maxBy=function(e,t){return e&&e.length?nn(e,Yo(t,2),bn):void 0},Pr.mean=function(e){return wt(e,Ku)},Pr.meanBy=function(e,t){return wt(e,Yo(t,2))},Pr.min=function(e){return e&&e.length?nn(e,Ku,kn):void 0},Pr.minBy=function(e,t){return e&&e.length?nn(e,Yo(t,2),kn):void 0},Pr.stubArray=il,Pr.stubFalse=al,Pr.stubObject=function(){return{}},Pr.stubString=function(){return""},Pr.stubTrue=function(){return!0},Pr.multiply=pl,Pr.nth=function(e,t){return e&&e.length?Rn(e,ou(t)):void 0},Pr.noConflict=function(){return He._===this&&(He._=Pe),this},Pr.noop=Yu,Pr.now=ya,Pr.pad=function(e,t,r){e=lu(e);var n=(t=ou(t))?Wt(e):0;if(!t||n>=t)return e;var o=(t-n)/2;return Lo(er(o),r)+e+Lo(Jt(o),r)},Pr.padEnd=function(e,t,r){e=lu(e);var n=(t=ou(t))?Wt(e):0;return t&&nt){var n=e;e=t,t=n}if(r||e%1||t%1){var o=sr();return ur(e+o*(t-e+$e("1e-"+((o+"").length-1))),t)}return Nn(e,t)},Pr.reduce=function(e,t,r){var n=La(e)?dt:jt,o=arguments.length<3;return n(e,Yo(t,4),r,o,en)},Pr.reduceRight=function(e,t,r){var n=La(e)?ht:jt,o=arguments.length<3;return n(e,Yo(t,4),r,o,tn)},Pr.repeat=function(e,t,r){return t=(r?ci(e,t,r):void 0===t)?1:ou(t),zn(lu(e),t)},Pr.replace=function(){var e=arguments,t=lu(e[0]);return e.length<3?t:t.replace(e[1],e[2])},Pr.result=function(e,t,r){var n=-1,o=(t=lo(t,e)).length;for(o||(o=1,e=void 0);++n9007199254740991)return[];var r=4294967295,n=ur(e,4294967295);e-=4294967295;for(var o=kt(n,t=Yo(t));++r=i)return e;var u=r-Wt(n);if(u<1)return n;var l=a?so(a,0,u).join(""):e.slice(0,u);if(void 0===o)return l+n;if(a&&(u+=l.length-u),Xa(o)){if(e.slice(u).search(o)){var c,s=l;for(o.global||(o=be(o.source,lu(te.exec(o))+"g")),o.lastIndex=0;c=o.exec(s);)var f=c.index;l=l.slice(0,void 0===f?u:f)}}else if(e.indexOf(Yn(o),u)!=u){var p=l.lastIndexOf(o);p>-1&&(l=l.slice(0,p))}return l+n},Pr.unescape=function(e){return(e=lu(e))&&I.test(e)?e.replace(L,Kt):e},Pr.uniqueId=function(e){var t=++Ce;return lu(e)+t},Pr.upperCase=Fu,Pr.upperFirst=Bu,Pr.each=la,Pr.eachRight=ca,Pr.first=Ii,Qu(Pr,(fl={},cn(Pr,(function(e,t){_e.call(Pr.prototype,t)||(fl[t]=e)})),fl),{chain:!1}),Pr.VERSION="4.17.21",it(["bind","bindKey","curry","curryRight","partial","partialRight"],(function(e){Pr[e].placeholder=Pr})),it(["drop","take"],(function(e,t){Rr.prototype[e]=function(r){r=void 0===r?1:ar(ou(r),0);var n=this.__filtered__&&!t?new Rr(this):this.clone();return n.__filtered__?n.__takeCount__=ur(r,n.__takeCount__):n.__views__.push({size:ur(r,4294967295),type:e+(n.__dir__<0?"Right":"")}),n},Rr.prototype[e+"Right"]=function(t){return this.reverse()[e](t).reverse()}})),it(["filter","map","takeWhile"],(function(e,t){var r=t+1,n=1==r||3==r;Rr.prototype[e]=function(e){var t=this.clone();return t.__iteratees__.push({iteratee:Yo(e,3),type:r}),t.__filtered__=t.__filtered__||n,t}})),it(["head","last"],(function(e,t){var r="take"+(t?"Right":"");Rr.prototype[e]=function(){return this[r](1).value()[0]}})),it(["initial","tail"],(function(e,t){var r="drop"+(t?"":"Right");Rr.prototype[e]=function(){return this.__filtered__?new Rr(this):this[r](1)}})),Rr.prototype.compact=function(){return this.filter(Ku)},Rr.prototype.find=function(e){return this.filter(e).head()},Rr.prototype.findLast=function(e){return this.reverse().find(e)},Rr.prototype.invokeMap=Fn((function(e,t){return"function"==typeof e?new Rr(this):this.map((function(r){return gn(r,e,t)}))})),Rr.prototype.reject=function(e){return this.filter(ja(Yo(e)))},Rr.prototype.slice=function(e,t){e=ou(e);var r=this;return r.__filtered__&&(e>0||t<0)?new Rr(r):(e<0?r=r.takeRight(-e):e&&(r=r.drop(e)),void 0!==t&&(r=(t=ou(t))<0?r.dropRight(-t):r.take(t-e)),r)},Rr.prototype.takeRightWhile=function(e){return this.reverse().takeWhile(e).reverse()},Rr.prototype.toArray=function(){return this.take(4294967295)},cn(Rr.prototype,(function(e,t){var r=/^(?:filter|find|map|reject)|While$/.test(t),n=/^(?:head|last)$/.test(t),o=Pr[n?"take"+("last"==t?"Right":""):t],i=n||/^find/.test(t);o&&(Pr.prototype[t]=function(){var t=this.__wrapped__,a=n?[1]:arguments,u=t instanceof Rr,l=a[0],c=u||La(t),s=function(e){var t=o.apply(Pr,pt([e],a));return n&&f?t[0]:t};c&&r&&"function"==typeof l&&1!=l.length&&(u=c=!1);var f=this.__chain__,p=!!this.__actions__.length,d=i&&!f,h=u&&!p;if(!i&&c){t=h?t:new Rr(this);var b=e.apply(t,a);return b.__actions__.push({func:na,args:[s],thisArg:void 0}),new Tr(b,f)}return d&&h?e.apply(this,a):(b=this.thru(s),d?n?b.value()[0]:b.value():b)})})),it(["pop","push","shift","sort","splice","unshift"],(function(e){var t=me[e],r=/^(?:push|sort|unshift)$/.test(e)?"tap":"thru",n=/^(?:pop|shift)$/.test(e);Pr.prototype[e]=function(){var e=arguments;if(n&&!this.__chain__){var o=this.value();return t.apply(La(o)?o:[],e)}return this[r]((function(r){return t.apply(La(r)?r:[],e)}))}})),cn(Rr.prototype,(function(e,t){var r=Pr[t];if(r){var n=r.name+"";_e.call(gr,n)||(gr[n]=[]),gr[n].push({name:t,func:r})}})),gr[Ao(void 0,2).name]=[{name:"wrapper",func:void 0}],Rr.prototype.clone=function(){var e=new Rr(this.__wrapped__);return e.__actions__=go(this.__actions__),e.__dir__=this.__dir__,e.__filtered__=this.__filtered__,e.__iteratees__=go(this.__iteratees__),e.__takeCount__=this.__takeCount__,e.__views__=go(this.__views__),e},Rr.prototype.reverse=function(){if(this.__filtered__){var e=new Rr(this);e.__dir__=-1,e.__filtered__=!0}else(e=this.clone()).__dir__*=-1;return e},Rr.prototype.value=function(){var e=this.__wrapped__.value(),t=this.__dir__,r=La(e),n=t<0,o=r?e.length:0,i=function(e,t,r){var n=-1,o=r.length;for(;++n=this.__values__.length;return{done:e,value:e?void 0:this.__values__[this.__index__++]}},Pr.prototype.plant=function(e){for(var t,r=this;r instanceof Ar;){var n=Ei(r);n.__index__=0,n.__values__=void 0,t?o.__wrapped__=n:t=n;var o=n;r=r.__wrapped__}return o.__wrapped__=e,t},Pr.prototype.reverse=function(){var e=this.__wrapped__;if(e instanceof Rr){var t=e;return this.__actions__.length&&(t=new Rr(this)),(t=t.reverse()).__actions__.push({func:na,args:[Wi],thisArg:void 0}),new Tr(t,this.__chain__)}return this.thru(Wi)},Pr.prototype.toJSON=Pr.prototype.valueOf=Pr.prototype.value=function(){return no(this.__wrapped__,this.__actions__)},Pr.prototype.first=Pr.prototype.head,yt&&(Pr.prototype[yt]=function(){return this}),Pr}();Ke?((Ke.exports=Zt)._=Zt,qe._=Zt):He._=Zt}).call(this)}).call(this,r(23),r(70)(e))},function(e,t,r){e.exports=r(149)()},function(e,t,r){"use strict";r.d(t,"a",(function(){return b})),r.d(t,"b",(function(){return h})),r.d(t,"c",(function(){return m})),r.d(t,"d",(function(){return j})),r.d(t,"e",(function(){return S}));var n=r(10),o=r(0),i=r.n(o),a=(r(3),r(12)),u=r(58),l=r(9),c=r(5),s=r(59),f=r.n(s),p=(r(24),r(19)),d=(r(26),function(e){var t=Object(u.a)();return t.displayName=e,t}("Router-History")),h=function(e){var t=Object(u.a)();return t.displayName=e,t}("Router"),b=function(e){function t(t){var r;return(r=e.call(this,t)||this).state={location:t.history.location},r._isMounted=!1,r._pendingLocation=null,t.staticContext||(r.unlisten=t.history.listen((function(e){r._isMounted?r.setState({location:e}):r._pendingLocation=e}))),r}Object(n.a)(t,e),t.computeRootMatch=function(e){return{path:"/",url:"/",params:{},isExact:"/"===e}};var r=t.prototype;return r.componentDidMount=function(){this._isMounted=!0,this._pendingLocation&&this.setState({location:this._pendingLocation})},r.componentWillUnmount=function(){this.unlisten&&this.unlisten()},r.render=function(){return i.a.createElement(h.Provider,{value:{history:this.props.history,location:this.state.location,match:t.computeRootMatch(this.state.location.pathname),staticContext:this.props.staticContext}},i.a.createElement(d.Provider,{children:this.props.children||null,value:this.props.history}))},t}(i.a.Component);i.a.Component;i.a.Component;var y={},v=0;function m(e,t){void 0===t&&(t={}),("string"==typeof t||Array.isArray(t))&&(t={path:t});var r=t,n=r.path,o=r.exact,i=void 0!==o&&o,a=r.strict,u=void 0!==a&&a,l=r.sensitive,c=void 0!==l&&l;return[].concat(n).reduce((function(t,r){if(!r&&""!==r)return null;if(t)return t;var n=function(e,t){var r=""+t.end+t.strict+t.sensitive,n=y[r]||(y[r]={});if(n[e])return n[e];var o=[],i={regexp:f()(e,o,t),keys:o};return v<1e4&&(n[e]=i,v++),i}(r,{end:i,strict:u,sensitive:c}),o=n.regexp,a=n.keys,l=o.exec(e);if(!l)return null;var s=l[0],p=l.slice(1),d=e===s;return i&&!d?null:{path:r,url:"/"===r&&""===s?"/":s,isExact:d,params:a.reduce((function(e,t,r){return e[t.name]=p[r],e}),{})}}),null)}i.a.Component;function g(e){return"/"===e.charAt(0)?e:"/"+e}function x(e,t){if(!e)return t;var r=g(e);return 0!==t.pathname.indexOf(r)?t:Object(c.a)({},t,{pathname:t.pathname.substr(r.length)})}function O(e){return"string"==typeof e?e:Object(a.e)(e)}function w(e){return function(){Object(l.a)(!1)}}function _(){}i.a.Component;i.a.Component;var C=i.a.useContext;function j(){return C(d)}function S(){return C(h).location}},function(e,t,r){"use strict";function n(){return(n=Object.assign||function(e){for(var t=1;t=0;p--){var d=a[p];"."===d?i(a,p):".."===d?(i(a,p),f++):f&&(i(a,p),f--)}if(!c)for(;f--;f)a.unshift("..");!c||""===a[0]||a[0]&&o(a[0])||a.unshift("");var h=a.join("/");return r&&"/"!==h.substr(-1)&&(h+="/"),h};function u(e){return e.valueOf?e.valueOf():Object.prototype.valueOf.call(e)}var l=function e(t,r){if(t===r)return!0;if(null==t||null==r)return!1;if(Array.isArray(t))return Array.isArray(r)&&t.length===r.length&&t.every((function(t,n){return e(t,r[n])}));if("object"==typeof t||"object"==typeof r){var n=u(t),o=u(r);return n!==t||o!==r?e(n,o):Object.keys(Object.assign({},t,r)).every((function(n){return e(t[n],r[n])}))}return!1},c=r(9);function s(e){return"/"===e.charAt(0)?e:"/"+e}function f(e){return"/"===e.charAt(0)?e.substr(1):e}function p(e,t){return function(e,t){return 0===e.toLowerCase().indexOf(t.toLowerCase())&&-1!=="/?#".indexOf(e.charAt(t.length))}(e,t)?e.substr(t.length):e}function d(e){return"/"===e.charAt(e.length-1)?e.slice(0,-1):e}function h(e){var t=e.pathname,r=e.search,n=e.hash,o=t||"/";return r&&"?"!==r&&(o+="?"===r.charAt(0)?r:"?"+r),n&&"#"!==n&&(o+="#"===n.charAt(0)?n:"#"+n),o}function b(e,t,r,o){var i;"string"==typeof e?(i=function(e){var t=e||"/",r="",n="",o=t.indexOf("#");-1!==o&&(n=t.substr(o),t=t.substr(0,o));var i=t.indexOf("?");return-1!==i&&(r=t.substr(i),t=t.substr(0,i)),{pathname:t,search:"?"===r?"":r,hash:"#"===n?"":n}}(e)).state=t:(void 0===(i=Object(n.a)({},e)).pathname&&(i.pathname=""),i.search?"?"!==i.search.charAt(0)&&(i.search="?"+i.search):i.search="",i.hash?"#"!==i.hash.charAt(0)&&(i.hash="#"+i.hash):i.hash="",void 0!==t&&void 0===i.state&&(i.state=t));try{i.pathname=decodeURI(i.pathname)}catch(e){throw e instanceof URIError?new URIError('Pathname "'+i.pathname+'" could not be decoded. This is likely caused by an invalid percent-encoding.'):e}return r&&(i.key=r),o?i.pathname?"/"!==i.pathname.charAt(0)&&(i.pathname=a(i.pathname,o.pathname)):i.pathname=o.pathname:i.pathname||(i.pathname="/"),i}function y(e,t){return e.pathname===t.pathname&&e.search===t.search&&e.hash===t.hash&&e.key===t.key&&l(e.state,t.state)}function v(){var e=null;var t=[];return{setPrompt:function(t){return e=t,function(){e===t&&(e=null)}},confirmTransitionTo:function(t,r,n,o){if(null!=e){var i="function"==typeof e?e(t,r):e;"string"==typeof i?"function"==typeof n?n(i,o):o(!0):o(!1!==i)}else o(!0)},appendListener:function(e){var r=!0;function n(){r&&e.apply(void 0,arguments)}return t.push(n),function(){r=!1,t=t.filter((function(e){return e!==n}))}},notifyListeners:function(){for(var e=arguments.length,r=new Array(e),n=0;nt?r.splice(t,r.length-t,n):r.push(n),f({action:"PUSH",location:n,index:t,entries:r})}}))},replace:function(e,t){var n=b(e,t,p(),x.location);s.confirmTransitionTo(n,"REPLACE",r,(function(e){e&&(x.entries[x.index]=n,f({action:"REPLACE",location:n}))}))},go:g,goBack:function(){g(-1)},goForward:function(){g(1)},canGo:function(e){var t=x.index+e;return t>=0&&t=0||(o[r]=e[r]);return o}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(n=0;n=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(o[r]=e[r])}return o}var d=l()(s.a).withConfig({displayName:"SVGInternal__StyledSVG",componentId:"ksy9g7-0"})(["circle,ellipse,path,polygon,rect{fill:currentColor;}"]),h={viewBox:a.a.string};function b(e){var t=e.viewBox,r=void 0===t?"0 0 1500 1500":t,n=p(e,["viewBox"]);return o.a.createElement(d,f({viewBox:r},n))}b.propTypes=h,t.default=b},3:function(e,t){e.exports=r(3)},5:function(e,t){e.exports=r(1)}})},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.getCustomizedTheme=t.addThemeDefaults=void 0;var n,o=r(2),i=(n=r(47))&&n.__esModule?n:{default:n};t.addThemeDefaults=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=e.family,r=void 0===t?"prisma":t,n=e.colorScheme,o=void 0===n?"dark":n,i=e.density,a=void 0===i?"comfortable":i;return{family:r,colorScheme:o,density:a}};var a=(0,o.memoize)((function(e,t){var r=(0,i.default)(e);return t?t(r):r}),(function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=e.family,r=e.colorScheme,n=e.density,o=arguments.length>1?arguments[1]:void 0;return"".concat(t,"-").concat(r,"-").concat(n,"-").concat(!!o)}));t.getCustomizedTheme=a},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.getCustomizedTheme=t.addThemeDefaults=void 0;var n,o=r(2),i=(n=r(39))&&n.__esModule?n:{default:n};t.addThemeDefaults=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=e.family,r=void 0===t?"prisma":t,n=e.colorScheme,o=void 0===n?"dark":n,i=e.density,a=void 0===i?"comfortable":i;return{family:r,colorScheme:o,density:a}};var a=(0,o.memoize)((function(e,t){var r=(0,i.default)(e);return t?t(r):r}),(function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=e.family,r=e.colorScheme,n=e.density,o=arguments.length>1?arguments[1]:void 0;return"".concat(t,"-").concat(r,"-").concat(n,"-").concat(!!o)}));t.getCustomizedTheme=a},function(e,t,r){"use strict";var n=r(52),o=t.ValidationError=function(e,t,r,n,o,i){if(Array.isArray(n)?(this.path=n,this.property=n.reduce((function(e,t){return e+f(t)}),"instance")):void 0!==n&&(this.property=n),e&&(this.message=e),r){var a=r.$id||r.id;this.schema=a||r}void 0!==t&&(this.instance=t),this.name=o,this.argument=i,this.stack=this.toString()};o.prototype.toString=function(){return this.property+" "+this.message};var i=t.ValidatorResult=function(e,t,r,n){this.instance=e,this.schema=t,this.options=r,this.path=n.path,this.propertyPath=n.propertyPath,this.errors=[],this.throwError=r&&r.throwError,this.throwFirst=r&&r.throwFirst,this.throwAll=r&&r.throwAll,this.disableFormat=r&&!0===r.disableFormat};function a(e,t){return t+": "+e.toString()+"\n"}function u(e){Error.captureStackTrace&&Error.captureStackTrace(this,u),this.instance=e.instance,this.schema=e.schema,this.options=e.options,this.errors=e.errors}i.prototype.addError=function(e){var t;if("string"==typeof e)t=new o(e,this.instance,this.schema,this.path);else{if(!e)throw new Error("Missing error detail");if(!e.message)throw new Error("Missing error message");if(!e.name)throw new Error("Missing validator type");t=new o(e.message,this.instance,this.schema,this.path,e.name,e.argument)}if(this.errors.push(t),this.throwFirst)throw new u(this);if(this.throwError)throw t;return t},i.prototype.importErrors=function(e){"string"==typeof e||e&&e.validatorType?this.addError(e):e&&e.errors&&Array.prototype.push.apply(this.errors,e.errors)},i.prototype.toString=function(e){return this.errors.map(a).join("")},Object.defineProperty(i.prototype,"valid",{get:function(){return!this.errors.length}}),e.exports.ValidatorResultError=u,u.prototype=new Error,u.prototype.constructor=u,u.prototype.name="Validation Error";var l=t.SchemaError=function e(t,r){this.message=t,this.schema=r,Error.call(this,t),Error.captureStackTrace(this,e)};l.prototype=Object.create(Error.prototype,{constructor:{value:l,enumerable:!1},name:{value:"SchemaError",enumerable:!1}});var c=t.SchemaContext=function(e,t,r,n,o){this.schema=e,this.options=t,Array.isArray(r)?(this.path=r,this.propertyPath=r.reduce((function(e,t){return e+f(t)}),"instance")):this.propertyPath=r,this.base=n,this.schemas=o};c.prototype.resolve=function(e){return n.resolve(this.base,e)},c.prototype.makeChild=function(e,t){var r=void 0===t?this.path:this.path.concat([t]),o=e.$id||e.id,i=n.resolve(this.base,o||""),a=new c(e,this.options,r,i,Object.create(this.schemas));return o&&!a.schemas[i]&&(a.schemas[i]=e),a};var s=t.FORMAT_REGEXPS={"date-time":/^\d{4}-(?:0[0-9]{1}|1[0-2]{1})-(3[01]|0[1-9]|[12][0-9])[tT ](2[0-4]|[01][0-9]):([0-5][0-9]):(60|[0-5][0-9])(\.\d+)?([zZ]|[+-]([0-5][0-9]):(60|[0-5][0-9]))$/,date:/^\d{4}-(?:0[0-9]{1}|1[0-2]{1})-(3[01]|0[1-9]|[12][0-9])$/,time:/^(2[0-4]|[01][0-9]):([0-5][0-9]):(60|[0-5][0-9])$/,email:/^(?:[\w\!\#\$\%\&\'\*\+\-\/\=\?\^\`\{\|\}\~]+\.)*[\w\!\#\$\%\&\'\*\+\-\/\=\?\^\`\{\|\}\~]+@(?:(?:(?:[a-zA-Z0-9](?:[a-zA-Z0-9\-](?!\.)){0,61}[a-zA-Z0-9]?\.)+[a-zA-Z0-9](?:[a-zA-Z0-9\-](?!$)){0,61}[a-zA-Z0-9]?)|(?:\[(?:(?:[01]?\d{1,2}|2[0-4]\d|25[0-5])\.){3}(?:[01]?\d{1,2}|2[0-4]\d|25[0-5])\]))$/,"ip-address":/^(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$/,ipv6:/^\s*((([0-9A-Fa-f]{1,4}:){7}([0-9A-Fa-f]{1,4}|:))|(([0-9A-Fa-f]{1,4}:){6}(:[0-9A-Fa-f]{1,4}|((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3})|:))|(([0-9A-Fa-f]{1,4}:){5}(((:[0-9A-Fa-f]{1,4}){1,2})|:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3})|:))|(([0-9A-Fa-f]{1,4}:){4}(((:[0-9A-Fa-f]{1,4}){1,3})|((:[0-9A-Fa-f]{1,4})?:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(([0-9A-Fa-f]{1,4}:){3}(((:[0-9A-Fa-f]{1,4}){1,4})|((:[0-9A-Fa-f]{1,4}){0,2}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(([0-9A-Fa-f]{1,4}:){2}(((:[0-9A-Fa-f]{1,4}){1,5})|((:[0-9A-Fa-f]{1,4}){0,3}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(([0-9A-Fa-f]{1,4}:){1}(((:[0-9A-Fa-f]{1,4}){1,6})|((:[0-9A-Fa-f]{1,4}){0,4}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(:(((:[0-9A-Fa-f]{1,4}){1,7})|((:[0-9A-Fa-f]{1,4}){0,5}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:)))(%.+)?\s*$/,uri:/^[a-zA-Z][a-zA-Z0-9+-.]*:[^\s]*$/,"uri-reference":/^(((([A-Za-z][+\-.0-9A-Za-z]*(:%[0-9A-Fa-f]{2}|:[!$&-.0-;=?-Z_a-z~]|[/?])|\?)(%[0-9A-Fa-f]{2}|[!$&-;=?-Z_a-z~])*|([A-Za-z][+\-.0-9A-Za-z]*:?)?)|([A-Za-z][+\-.0-9A-Za-z]*:)?\/((%[0-9A-Fa-f]{2}|\/((%[0-9A-Fa-f]{2}|[!$&-.0-9;=A-Z_a-z~])+|(\[(([Vv][0-9A-Fa-f]+\.[!$&-.0-;=A-Z_a-z~]+)?|[.0-:A-Fa-f]+)\])?)(:\d*)?[/?]|[!$&-.0-;=?-Z_a-z~])(%[0-9A-Fa-f]{2}|[!$&-;=?-Z_a-z~])*|(\/((%[0-9A-Fa-f]{2}|[!$&-.0-9;=A-Z_a-z~])+|(\[(([Vv][0-9A-Fa-f]+\.[!$&-.0-;=A-Z_a-z~]+)?|[.0-:A-Fa-f]+)\])?)(:\d*)?)?))#(%[0-9A-Fa-f]{2}|[!$&-;=?-Z_a-z~])*|(([A-Za-z][+\-.0-9A-Za-z]*)?%[0-9A-Fa-f]{2}|[!$&-.0-9;=@_~]|[A-Za-z][+\-.0-9A-Za-z]*[!$&-*,;=@_~])(%[0-9A-Fa-f]{2}|[!$&-.0-9;=@-Z_a-z~])*((([/?](%[0-9A-Fa-f]{2}|[!$&-;=?-Z_a-z~])*)?#|[/?])(%[0-9A-Fa-f]{2}|[!$&-;=?-Z_a-z~])*)?|([A-Za-z][+\-.0-9A-Za-z]*(:%[0-9A-Fa-f]{2}|:[!$&-.0-;=?-Z_a-z~]|[/?])|\?)(%[0-9A-Fa-f]{2}|[!$&-;=?-Z_a-z~])*|([A-Za-z][+\-.0-9A-Za-z]*:)?\/((%[0-9A-Fa-f]{2}|\/((%[0-9A-Fa-f]{2}|[!$&-.0-9;=A-Z_a-z~])+|(\[(([Vv][0-9A-Fa-f]+\.[!$&-.0-;=A-Z_a-z~]+)?|[.0-:A-Fa-f]+)\])?)(:\d*)?[/?]|[!$&-.0-;=?-Z_a-z~])(%[0-9A-Fa-f]{2}|[!$&-;=?-Z_a-z~])*|\/((%[0-9A-Fa-f]{2}|[!$&-.0-9;=A-Z_a-z~])+(:\d*)?|(\[(([Vv][0-9A-Fa-f]+\.[!$&-.0-;=A-Z_a-z~]+)?|[.0-:A-Fa-f]+)\])?:\d*|\[(([Vv][0-9A-Fa-f]+\.[!$&-.0-;=A-Z_a-z~]+)?|[.0-:A-Fa-f]+)\])?)?|[A-Za-z][+\-.0-9A-Za-z]*:?)?$/,color:/^(#?([0-9A-Fa-f]{3}){1,2}\b|aqua|black|blue|fuchsia|gray|green|lime|maroon|navy|olive|orange|purple|red|silver|teal|white|yellow|(rgb\(\s*\b([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])\b\s*,\s*\b([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])\b\s*,\s*\b([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])\b\s*\))|(rgb\(\s*(\d?\d%|100%)+\s*,\s*(\d?\d%|100%)+\s*,\s*(\d?\d%|100%)+\s*\)))$/,hostname:/^(?=.{1,255}$)[0-9A-Za-z](?:(?:[0-9A-Za-z]|-){0,61}[0-9A-Za-z])?(?:\.[0-9A-Za-z](?:(?:[0-9A-Za-z]|-){0,61}[0-9A-Za-z])?)*\.?$/,"host-name":/^(?=.{1,255}$)[0-9A-Za-z](?:(?:[0-9A-Za-z]|-){0,61}[0-9A-Za-z])?(?:\.[0-9A-Za-z](?:(?:[0-9A-Za-z]|-){0,61}[0-9A-Za-z])?)*\.?$/,alpha:/^[a-zA-Z]+$/,alphanumeric:/^[a-zA-Z0-9]+$/,"utc-millisec":function(e){return"string"==typeof e&&parseFloat(e)===parseInt(e,10)&&!isNaN(e)},regex:function(e){var t=!0;try{new RegExp(e)}catch(e){t=!1}return t},style:/\s*(.+?):\s*([^;]+);?/,phone:/^\+(?:[0-9] ?){6,14}[0-9]$/};s.regexp=s.regex,s.pattern=s.regex,s.ipv4=s["ip-address"],t.isFormat=function(e,t,r){if("string"==typeof e&&void 0!==s[t]){if(s[t]instanceof RegExp)return s[t].test(e);if("function"==typeof s[t])return s[t](e)}else if(r&&r.customFormats&&"function"==typeof r.customFormats[t])return r.customFormats[t](e);return!0};var f=t.makeSuffix=function(e){return(e=e.toString()).match(/[.\s\[\]]/)||e.match(/^[\d]/)?e.match(/^\d+$/)?"["+e+"]":"["+JSON.stringify(e)+"]":"."+e};function p(e,t,r,n){"object"==typeof r?t[n]=b(e[n],r):-1===e.indexOf(r)&&t.push(r)}function d(e,t,r){t[r]=e[r]}function h(e,t,r,n){"object"==typeof t[n]&&t[n]&&e[n]?r[n]=b(e[n],t[n]):r[n]=t[n]}function b(e,t){var r=Array.isArray(t),n=r&&[]||{};return r?(e=e||[],n=n.concat(e),t.forEach(p.bind(null,e,n))):(e&&"object"==typeof e&&Object.keys(e).forEach(d.bind(null,e,n)),Object.keys(t).forEach(h.bind(null,e,t,n))),n}function y(e){return"/"+encodeURIComponent(e).replace(/~/g,"%7E")}t.deepCompareStrict=function e(t,r){if(typeof t!=typeof r)return!1;if(Array.isArray(t))return!!Array.isArray(r)&&(t.length===r.length&&t.every((function(n,o){return e(t[o],r[o])})));if("object"==typeof t){if(!t||!r)return t===r;var n=Object.keys(t),o=Object.keys(r);return n.length===o.length&&n.every((function(n){return e(t[n],r[n])}))}return t===r},e.exports.deepMerge=b,t.objectGetPath=function(e,t){for(var r,n=t.split("/").slice(1);"string"==typeof(r=n.shift());){var o=decodeURIComponent(r.replace(/~0/,"~").replace(/~1/g,"/"));if(!(o in e))return;e=e[o]}return e},t.encodePath=function(e){return e.map(y).join("")},t.getDecimalPlaces=function(e){var t=0;if(isNaN(e))return t;"number"!=typeof e&&(e=Number(e));var r=e.toString().split("e");if(2===r.length){if("-"!==r[1][0])return t;t=Number(r[1].slice(1))}var n=r[0].split(".");return 2===n.length&&(t+=n[1].length),t},t.isSchema=function(e){return"object"==typeof e&&e||"boolean"==typeof e}},function(e,t,r){"use strict";function n(e,t){if(null==e)return{};var r,n,o={},i=Object.keys(e);for(n=0;n=0||(o[r]=e[r]);return o}r.d(t,"a",(function(){return n}))},function(e,t){function r(t){return e.exports=r=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)},e.exports.default=e.exports,e.exports.__esModule=!0,r(t)}e.exports=r,e.exports.default=e.exports,e.exports.__esModule=!0},function(e,t,r){var n;!function(o){var i=/^\s+/,a=/\s+$/,u=0,l=o.round,c=o.min,s=o.max,f=o.random;function p(e,t){if(t=t||{},(e=e||"")instanceof p)return e;if(!(this instanceof p))return new p(e,t);var r=function(e){var t={r:0,g:0,b:0},r=1,n=null,u=null,l=null,f=!1,p=!1;"string"==typeof e&&(e=function(e){e=e.replace(i,"").replace(a,"").toLowerCase();var t,r=!1;if(A[e])e=A[e],r=!0;else if("transparent"==e)return{r:0,g:0,b:0,a:0,format:"name"};if(t=V.rgb.exec(e))return{r:t[1],g:t[2],b:t[3]};if(t=V.rgba.exec(e))return{r:t[1],g:t[2],b:t[3],a:t[4]};if(t=V.hsl.exec(e))return{h:t[1],s:t[2],l:t[3]};if(t=V.hsla.exec(e))return{h:t[1],s:t[2],l:t[3],a:t[4]};if(t=V.hsv.exec(e))return{h:t[1],s:t[2],v:t[3]};if(t=V.hsva.exec(e))return{h:t[1],s:t[2],v:t[3],a:t[4]};if(t=V.hex8.exec(e))return{r:D(t[1]),g:D(t[2]),b:D(t[3]),a:F(t[4]),format:r?"name":"hex8"};if(t=V.hex6.exec(e))return{r:D(t[1]),g:D(t[2]),b:D(t[3]),format:r?"name":"hex"};if(t=V.hex4.exec(e))return{r:D(t[1]+""+t[1]),g:D(t[2]+""+t[2]),b:D(t[3]+""+t[3]),a:F(t[4]+""+t[4]),format:r?"name":"hex8"};if(t=V.hex3.exec(e))return{r:D(t[1]+""+t[1]),g:D(t[2]+""+t[2]),b:D(t[3]+""+t[3]),format:r?"name":"hex"};return!1}(e));"object"==typeof e&&(W(e.r)&&W(e.g)&&W(e.b)?(d=e.r,h=e.g,b=e.b,t={r:255*M(d,255),g:255*M(h,255),b:255*M(b,255)},f=!0,p="%"===String(e.r).substr(-1)?"prgb":"rgb"):W(e.h)&&W(e.s)&&W(e.v)?(n=N(e.s),u=N(e.v),t=function(e,t,r){e=6*M(e,360),t=M(t,100),r=M(r,100);var n=o.floor(e),i=e-n,a=r*(1-t),u=r*(1-i*t),l=r*(1-(1-i)*t),c=n%6;return{r:255*[r,u,a,a,l,r][c],g:255*[l,r,r,u,a,a][c],b:255*[a,a,l,r,r,u][c]}}(e.h,n,u),f=!0,p="hsv"):W(e.h)&&W(e.s)&&W(e.l)&&(n=N(e.s),l=N(e.l),t=function(e,t,r){var n,o,i;function a(e,t,r){return r<0&&(r+=1),r>1&&(r-=1),r<1/6?e+6*(t-e)*r:r<.5?t:r<2/3?e+(t-e)*(2/3-r)*6:e}if(e=M(e,360),t=M(t,100),r=M(r,100),0===t)n=o=i=r;else{var u=r<.5?r*(1+t):r+t-r*t,l=2*r-u;n=a(l,u,e+1/3),o=a(l,u,e),i=a(l,u,e-1/3)}return{r:255*n,g:255*o,b:255*i}}(e.h,n,l),f=!0,p="hsl"),e.hasOwnProperty("a")&&(r=e.a));var d,h,b;return r=R(r),{ok:f,format:e.format||p,r:c(255,s(t.r,0)),g:c(255,s(t.g,0)),b:c(255,s(t.b,0)),a:r}}(e);this._originalInput=e,this._r=r.r,this._g=r.g,this._b=r.b,this._a=r.a,this._roundA=l(100*this._a)/100,this._format=t.format||r.format,this._gradientType=t.gradientType,this._r<1&&(this._r=l(this._r)),this._g<1&&(this._g=l(this._g)),this._b<1&&(this._b=l(this._b)),this._ok=r.ok,this._tc_id=u++}function d(e,t,r){e=M(e,255),t=M(t,255),r=M(r,255);var n,o,i=s(e,t,r),a=c(e,t,r),u=(i+a)/2;if(i==a)n=o=0;else{var l=i-a;switch(o=u>.5?l/(2-i-a):l/(i+a),i){case e:n=(t-r)/l+(t>1)+720)%360;--t;)n.h=(n.h+o)%360,i.push(p(n));return i}function E(e,t){t=t||6;for(var r=p(e).toHsv(),n=r.h,o=r.s,i=r.v,a=[],u=1/t;t--;)a.push(p({h:n,s:o,v:i})),i=(i+u)%1;return a}p.prototype={isDark:function(){return this.getBrightness()<128},isLight:function(){return!this.isDark()},isValid:function(){return this._ok},getOriginalInput:function(){return this._originalInput},getFormat:function(){return this._format},getAlpha:function(){return this._a},getBrightness:function(){var e=this.toRgb();return(299*e.r+587*e.g+114*e.b)/1e3},getLuminance:function(){var e,t,r,n=this.toRgb();return e=n.r/255,t=n.g/255,r=n.b/255,.2126*(e<=.03928?e/12.92:o.pow((e+.055)/1.055,2.4))+.7152*(t<=.03928?t/12.92:o.pow((t+.055)/1.055,2.4))+.0722*(r<=.03928?r/12.92:o.pow((r+.055)/1.055,2.4))},setAlpha:function(e){return this._a=R(e),this._roundA=l(100*this._a)/100,this},toHsv:function(){var e=h(this._r,this._g,this._b);return{h:360*e.h,s:e.s,v:e.v,a:this._a}},toHsvString:function(){var e=h(this._r,this._g,this._b),t=l(360*e.h),r=l(100*e.s),n=l(100*e.v);return 1==this._a?"hsv("+t+", "+r+"%, "+n+"%)":"hsva("+t+", "+r+"%, "+n+"%, "+this._roundA+")"},toHsl:function(){var e=d(this._r,this._g,this._b);return{h:360*e.h,s:e.s,l:e.l,a:this._a}},toHslString:function(){var e=d(this._r,this._g,this._b),t=l(360*e.h),r=l(100*e.s),n=l(100*e.l);return 1==this._a?"hsl("+t+", "+r+"%, "+n+"%)":"hsla("+t+", "+r+"%, "+n+"%, "+this._roundA+")"},toHex:function(e){return b(this._r,this._g,this._b,e)},toHexString:function(e){return"#"+this.toHex(e)},toHex8:function(e){return function(e,t,r,n,o){var i=[I(l(e).toString(16)),I(l(t).toString(16)),I(l(r).toString(16)),I(z(n))];if(o&&i[0].charAt(0)==i[0].charAt(1)&&i[1].charAt(0)==i[1].charAt(1)&&i[2].charAt(0)==i[2].charAt(1)&&i[3].charAt(0)==i[3].charAt(1))return i[0].charAt(0)+i[1].charAt(0)+i[2].charAt(0)+i[3].charAt(0);return i.join("")}(this._r,this._g,this._b,this._a,e)},toHex8String:function(e){return"#"+this.toHex8(e)},toRgb:function(){return{r:l(this._r),g:l(this._g),b:l(this._b),a:this._a}},toRgbString:function(){return 1==this._a?"rgb("+l(this._r)+", "+l(this._g)+", "+l(this._b)+")":"rgba("+l(this._r)+", "+l(this._g)+", "+l(this._b)+", "+this._roundA+")"},toPercentageRgb:function(){return{r:l(100*M(this._r,255))+"%",g:l(100*M(this._g,255))+"%",b:l(100*M(this._b,255))+"%",a:this._a}},toPercentageRgbString:function(){return 1==this._a?"rgb("+l(100*M(this._r,255))+"%, "+l(100*M(this._g,255))+"%, "+l(100*M(this._b,255))+"%)":"rgba("+l(100*M(this._r,255))+"%, "+l(100*M(this._g,255))+"%, "+l(100*M(this._b,255))+"%, "+this._roundA+")"},toName:function(){return 0===this._a?"transparent":!(this._a<1)&&(T[b(this._r,this._g,this._b,!0)]||!1)},toFilter:function(e){var t="#"+y(this._r,this._g,this._b,this._a),r=t,n=this._gradientType?"GradientType = 1, ":"";if(e){var o=p(e);r="#"+y(o._r,o._g,o._b,o._a)}return"progid:DXImageTransform.Microsoft.gradient("+n+"startColorstr="+t+",endColorstr="+r+")"},toString:function(e){var t=!!e;e=e||this._format;var r=!1,n=this._a<1&&this._a>=0;return t||!n||"hex"!==e&&"hex6"!==e&&"hex3"!==e&&"hex4"!==e&&"hex8"!==e&&"name"!==e?("rgb"===e&&(r=this.toRgbString()),"prgb"===e&&(r=this.toPercentageRgbString()),"hex"!==e&&"hex6"!==e||(r=this.toHexString()),"hex3"===e&&(r=this.toHexString(!0)),"hex4"===e&&(r=this.toHex8String(!0)),"hex8"===e&&(r=this.toHex8String()),"name"===e&&(r=this.toName()),"hsl"===e&&(r=this.toHslString()),"hsv"===e&&(r=this.toHsvString()),r||this.toHexString()):"name"===e&&0===this._a?this.toName():this.toRgbString()},clone:function(){return p(this.toString())},_applyModification:function(e,t){var r=e.apply(null,[this].concat([].slice.call(t)));return this._r=r._r,this._g=r._g,this._b=r._b,this.setAlpha(r._a),this},lighten:function(){return this._applyModification(x,arguments)},brighten:function(){return this._applyModification(O,arguments)},darken:function(){return this._applyModification(w,arguments)},desaturate:function(){return this._applyModification(v,arguments)},saturate:function(){return this._applyModification(m,arguments)},greyscale:function(){return this._applyModification(g,arguments)},spin:function(){return this._applyModification(_,arguments)},_applyCombination:function(e,t){return e.apply(null,[this].concat([].slice.call(t)))},analogous:function(){return this._applyCombination(P,arguments)},complement:function(){return this._applyCombination(C,arguments)},monochromatic:function(){return this._applyCombination(E,arguments)},splitcomplement:function(){return this._applyCombination(k,arguments)},triad:function(){return this._applyCombination(j,arguments)},tetrad:function(){return this._applyCombination(S,arguments)}},p.fromRatio=function(e,t){if("object"==typeof e){var r={};for(var n in e)e.hasOwnProperty(n)&&(r[n]="a"===n?e[n]:N(e[n]));e=r}return p(e,t)},p.equals=function(e,t){return!(!e||!t)&&p(e).toRgbString()==p(t).toRgbString()},p.random=function(){return p.fromRatio({r:f(),g:f(),b:f()})},p.mix=function(e,t,r){r=0===r?0:r||50;var n=p(e).toRgb(),o=p(t).toRgb(),i=r/100;return p({r:(o.r-n.r)*i+n.r,g:(o.g-n.g)*i+n.g,b:(o.b-n.b)*i+n.b,a:(o.a-n.a)*i+n.a})},p.readability=function(e,t){var r=p(e),n=p(t);return(o.max(r.getLuminance(),n.getLuminance())+.05)/(o.min(r.getLuminance(),n.getLuminance())+.05)},p.isReadable=function(e,t,r){var n,o,i=p.readability(e,t);switch(o=!1,(n=function(e){var t,r;t=((e=e||{level:"AA",size:"small"}).level||"AA").toUpperCase(),r=(e.size||"small").toLowerCase(),"AA"!==t&&"AAA"!==t&&(t="AA");"small"!==r&&"large"!==r&&(r="small");return{level:t,size:r}}(r)).level+n.size){case"AAsmall":case"AAAlarge":o=i>=4.5;break;case"AAlarge":o=i>=3;break;case"AAAsmall":o=i>=7}return o},p.mostReadable=function(e,t,r){var n,o,i,a,u=null,l=0;o=(r=r||{}).includeFallbackColors,i=r.level,a=r.size;for(var c=0;cl&&(l=n,u=p(t[c]));return p.isReadable(e,u,{level:i,size:a})||!o?u:(r.includeFallbackColors=!1,p.mostReadable(e,["#fff","#000"],r))};var A=p.names={aliceblue:"f0f8ff",antiquewhite:"faebd7",aqua:"0ff",aquamarine:"7fffd4",azure:"f0ffff",beige:"f5f5dc",bisque:"ffe4c4",black:"000",blanchedalmond:"ffebcd",blue:"00f",blueviolet:"8a2be2",brown:"a52a2a",burlywood:"deb887",burntsienna:"ea7e5d",cadetblue:"5f9ea0",chartreuse:"7fff00",chocolate:"d2691e",coral:"ff7f50",cornflowerblue:"6495ed",cornsilk:"fff8dc",crimson:"dc143c",cyan:"0ff",darkblue:"00008b",darkcyan:"008b8b",darkgoldenrod:"b8860b",darkgray:"a9a9a9",darkgreen:"006400",darkgrey:"a9a9a9",darkkhaki:"bdb76b",darkmagenta:"8b008b",darkolivegreen:"556b2f",darkorange:"ff8c00",darkorchid:"9932cc",darkred:"8b0000",darksalmon:"e9967a",darkseagreen:"8fbc8f",darkslateblue:"483d8b",darkslategray:"2f4f4f",darkslategrey:"2f4f4f",darkturquoise:"00ced1",darkviolet:"9400d3",deeppink:"ff1493",deepskyblue:"00bfff",dimgray:"696969",dimgrey:"696969",dodgerblue:"1e90ff",firebrick:"b22222",floralwhite:"fffaf0",forestgreen:"228b22",fuchsia:"f0f",gainsboro:"dcdcdc",ghostwhite:"f8f8ff",gold:"ffd700",goldenrod:"daa520",gray:"808080",green:"008000",greenyellow:"adff2f",grey:"808080",honeydew:"f0fff0",hotpink:"ff69b4",indianred:"cd5c5c",indigo:"4b0082",ivory:"fffff0",khaki:"f0e68c",lavender:"e6e6fa",lavenderblush:"fff0f5",lawngreen:"7cfc00",lemonchiffon:"fffacd",lightblue:"add8e6",lightcoral:"f08080",lightcyan:"e0ffff",lightgoldenrodyellow:"fafad2",lightgray:"d3d3d3",lightgreen:"90ee90",lightgrey:"d3d3d3",lightpink:"ffb6c1",lightsalmon:"ffa07a",lightseagreen:"20b2aa",lightskyblue:"87cefa",lightslategray:"789",lightslategrey:"789",lightsteelblue:"b0c4de",lightyellow:"ffffe0",lime:"0f0",limegreen:"32cd32",linen:"faf0e6",magenta:"f0f",maroon:"800000",mediumaquamarine:"66cdaa",mediumblue:"0000cd",mediumorchid:"ba55d3",mediumpurple:"9370db",mediumseagreen:"3cb371",mediumslateblue:"7b68ee",mediumspringgreen:"00fa9a",mediumturquoise:"48d1cc",mediumvioletred:"c71585",midnightblue:"191970",mintcream:"f5fffa",mistyrose:"ffe4e1",moccasin:"ffe4b5",navajowhite:"ffdead",navy:"000080",oldlace:"fdf5e6",olive:"808000",olivedrab:"6b8e23",orange:"ffa500",orangered:"ff4500",orchid:"da70d6",palegoldenrod:"eee8aa",palegreen:"98fb98",paleturquoise:"afeeee",palevioletred:"db7093",papayawhip:"ffefd5",peachpuff:"ffdab9",peru:"cd853f",pink:"ffc0cb",plum:"dda0dd",powderblue:"b0e0e6",purple:"800080",rebeccapurple:"663399",red:"f00",rosybrown:"bc8f8f",royalblue:"4169e1",saddlebrown:"8b4513",salmon:"fa8072",sandybrown:"f4a460",seagreen:"2e8b57",seashell:"fff5ee",sienna:"a0522d",silver:"c0c0c0",skyblue:"87ceeb",slateblue:"6a5acd",slategray:"708090",slategrey:"708090",snow:"fffafa",springgreen:"00ff7f",steelblue:"4682b4",tan:"d2b48c",teal:"008080",thistle:"d8bfd8",tomato:"ff6347",turquoise:"40e0d0",violet:"ee82ee",wheat:"f5deb3",white:"fff",whitesmoke:"f5f5f5",yellow:"ff0",yellowgreen:"9acd32"},T=p.hexNames=function(e){var t={};for(var r in e)e.hasOwnProperty(r)&&(t[e[r]]=r);return t}(A);function R(e){return e=parseFloat(e),(isNaN(e)||e<0||e>1)&&(e=1),e}function M(e,t){(function(e){return"string"==typeof e&&-1!=e.indexOf(".")&&1===parseFloat(e)})(e)&&(e="100%");var r=function(e){return"string"==typeof e&&-1!=e.indexOf("%")}(e);return e=c(t,s(0,parseFloat(e))),r&&(e=parseInt(e*t,10)/100),o.abs(e-t)<1e-6?1:e%t/parseFloat(t)}function L(e){return c(1,s(0,e))}function D(e){return parseInt(e,16)}function I(e){return 1==e.length?"0"+e:""+e}function N(e){return e<=1&&(e=100*e+"%"),e}function z(e){return o.round(255*parseFloat(e)).toString(16)}function F(e){return D(e)/255}var B,$,U,V=($="[\\s|\\(]+("+(B="(?:[-\\+]?\\d*\\.\\d+%?)|(?:[-\\+]?\\d+%?)")+")[,|\\s]+("+B+")[,|\\s]+("+B+")\\s*\\)?",U="[\\s|\\(]+("+B+")[,|\\s]+("+B+")[,|\\s]+("+B+")[,|\\s]+("+B+")\\s*\\)?",{CSS_UNIT:new RegExp(B),rgb:new RegExp("rgb"+$),rgba:new RegExp("rgba"+U),hsl:new RegExp("hsl"+$),hsla:new RegExp("hsla"+U),hsv:new RegExp("hsv"+$),hsva:new RegExp("hsva"+U),hex3:/^#?([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})$/,hex6:/^#?([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})$/,hex4:/^#?([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})$/,hex8:/^#?([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})$/});function W(e){return!!V.CSS_UNIT.exec(e)}e.exports?e.exports=p:void 0===(n=function(){return p}.call(t,r,t,e))||(e.exports=n)}(Math)},function(e,t,r){"use strict";t.a={0:"Field {{args[0]}} is required",1:"Field {{args[0]}} must be a string",2:"{{args[0]}} {{args[1]}} is already in use",3:'"default", ".", "..", string started with "_" and string including any one of ["*", "\\", "[", "]", "(", ")", "?", ":"] are reserved value which cannot be used for field {{args[0]}}',5:"Field {{args[0]}} should be a positive number",6:"Field {{args[0]}} is required",7:"Field {{args[0]}} is not a valid regular expression",8:"Field {{args[0]}} should be within the range of [{{args[1]}} and {{args[2]}}]",9:"Field {{args[0]}} should be greater than or equal to {{args[1]}}",10:"Field {{args[0]}} should be less than or equal to {{args[1]}}",11:"{{args[0]}} is not a function",12:"{{args[0]}} is not a valid regular expression",13:"{{args[0]}} is not a valid number range",14:"minLength cannot be greater than maxLength",15:"Field {{args[0]}} does not match regular expression {{args[1]}}",16:"Field {{args[0]}} is not a number",17:"Length of {{args[0]}} should be greater than or equal to {{args[1]}}",18:"Length of {{args[0]}} should be less than or equal to {{args[1]}}",19:"Field {{args[0]}} is not a valid {{args[1]}}",20:"configuration file should be pure JSON",21:"duplicate {{args[0]}} keys is not allowed",22:"Field {{args[0]}} must be less than 1024 characters",23:'"name" feild must be provided for {{args[0]}} \'s entity in configuration file',100:"Create New Input",101:"Delete Confirmation",102:'Are you sure you want to delete "{{args[0]}}" {{args[1]}}? Ensure that no input is configured with "{{args[0]}}" as this will stop data collection for that input.',103:'Are you sure you want to delete "{{args[0]}}" {{args[1]}}?',104:"Error Message",105:"Warning",106:"Input Type",107:"Items",108:"Saving",109:"Failed to load index",110:"Internal configuration file error. Something wrong within the package or installation step. Contact your administrator for support. Detail: {{args[0]}}",111:"URL",112:"email address",113:"IPV4 address",114:"date in ISO 8601 format",115:"Loading",116:"Inputs",117:"Configuration",118:"configuration file not found",unknown:"An unknown error occurred"}},function(e,t){var r;r=function(){return this}();try{r=r||new Function("return this")()}catch(e){"object"==typeof window&&(r=window)}e.exports=r},function(e,t,r){"use strict";e.exports=r(145)},function(e,t,r){e.exports=function(e){var t={};function r(n){if(t[n])return t[n].exports;var o=t[n]={i:n,l:!1,exports:{}};return e[n].call(o.exports,o,o.exports,r),o.l=!0,o.exports}return r.m=e,r.c=t,r.d=function(e,t,n){r.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:n})},r.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},r.t=function(e,t){if(1&t&&(e=r(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var n=Object.create(null);if(r.r(n),Object.defineProperty(n,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var o in e)r.d(n,o,function(t){return e[t]}.bind(null,o));return n},r.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return r.d(t,"a",t),t},r.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},r.p="",r(r.s=106)}({0:function(e,t){e.exports=r(11)},1:function(e,t){e.exports=r(3)},106:function(e,t,r){"use strict";r.r(t),r.d(t,"default",(function(){return le})),r.d(t,"Body",(function(){return C})),r.d(t,"Header",(function(){return W})),r.d(t,"Footer",(function(){return A}));var n=r(2),o=r.n(n),i=r(1),a=r.n(i),u=r(4),l=r(63),c=r.n(l),s=r(26),f=r(33),p=r(3),d=r.n(p),h=r(8),b=r.n(h),y=r(0),v=d()(b.a).withConfig({displayName:"BodyStyles__StyledBox",componentId:"lv54z7-0"})(["background-color:",";"," "," flex:0 1 auto;overflow:auto;@media all and (-ms-high-contrast:none){*::-ms-backdrop,&{max-height:calc(100vh - 180px);}}"],Object(y.pick)({enterprise:y.variables.backgroundColor,prisma:y.variables.backgroundColorDialog}),Object(y.pick)({enterprise:{comfortable:Object(p.css)(["padding:28px;"]),compact:Object(p.css)(["padding:24px;"])},prisma:{comfortable:Object(p.css)(["padding:12px 24px;&:first-child{padding-top:36px;}&:last-child{padding-bottom:36px;}"]),compact:Object(p.css)(["padding:8px 24px;&:first-child{padding-top:26px;}&:last-child{padding-bottom:26px;}"])}}),Object(y.pick)({prisma:Object(p.css)(["color:",";"],y.variables.contentColorActive)}));function m(){return(m=Object.assign||function(e){for(var t=1;te.length)&&(t=e.length);for(var r=0,n=new Array(t);r=0||(o[r]=e[r]);return o}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(n=0;n=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(o[r]=e[r])}return o}var w={children:a.a.node};function _(e){var t=e.children,r=O(e,["children"]),i=g(Object(n.useState)(),2),a=i[0],u=i[1],l=Object(n.useCallback)((function(e){u(e)}),[]);return o.a.createElement(v,m({"data-test":"body"},r,{elementRef:l}),o.a.createElement(f.ScrollContainerProvider,{value:a},t))}_.propTypes=w;var C=_,j=d()(b.a).withConfig({displayName:"FooterStyles__StyledBox",componentId:"yszcmv-0"})(["flex:0 0 auto;text-align:right;padding:",";"," & > button{min-width:80px;}"],Object(y.pick)({enterprise:y.variables.spacing,prisma:{comfortable:"24px",compact:"18px 24px"}}),Object(y.pick)({enterprise:Object(p.css)(["background-color:",";border-top:1px solid ",";"],y.variables.backgroundColor,y.variables.borderColor),prisma:Object(p.css)(["background-color:",";"],y.variables.backgroundColorDialog)}));function S(){return(S=Object.assign||function(e){for(var t=1;t=0||(o[r]=e[r]);return o}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(n=0;n=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(o[r]=e[r])}return o}var P={children:a.a.node};function E(e){var t=e.children,r=k(e,["children"]);return o.a.createElement(j,S({"data-test":"footer"},r),t)}E.propTypes=P;var A=E,T=r(57),R=r.n(T),M=d()(b.a).withConfig({displayName:"HeaderStyles__StyledBox",componentId:"sc-1y722ut-0"})(["flex:0 0 auto;display:flex;"," position:relative;min-height:",";background-color:",";padding:",";align-items:center;padding-right:",";"],Object(y.pick)({enterprise:Object(p.css)(["border-bottom:1px solid ",";"],y.variables.borderColor)}),Object(y.pick)({enterprise:"30px",prisma:{comfortable:"60px",compact:"52px"}}),Object(y.pick)({enterprise:y.variables.backgroundColor,prisma:y.variables.backgroundColorDialog}),Object(y.pick)({enterprise:"25px 28px",prisma:{comfortable:"18px 24px",compact:"14px 24px"}}),(function(e){return e.$close&&Object(y.pick)({enterprise:"54px",prisma:{comfortable:"64px",compact:"56px"}})})),L=d.a.div.withConfig({displayName:"HeaderStyles__StyledTitleWrapper",componentId:"sc-1y722ut-1"})(["",";flex-direction:column;"],y.mixins.reset("flex")),D=d.a.svg.withConfig({displayName:"HeaderStyles__StyledIcon",componentId:"sc-1y722ut-2"})(["margin-right:16px;"," width:",";height:",";padding:2px;border-radius:4px;flex-shrink:0;"],Object(y.pick)({prisma:Object(p.css)(["background-color:",";"],y.variables.transparent)}),Object(y.pick)({comfortable:"40px",compact:"32px"}),Object(y.pick)({comfortable:"40px",compact:"32px"})),I=d.a.div.withConfig({displayName:"HeaderStyles__StyledTitle",componentId:"sc-1y722ut-3"})(["",";font-size:20px;margin:0;overflow-wrap:break-word;font-weight:",";",""],y.mixins.reset("block"),y.variables.fontWeightSemiBold,Object(y.pick)({enterprise:Object(p.css)(["line-height:22px;"]),prisma:Object(p.css)(["color:",";line-height:24px;"],y.variables.contentColorActive)})),N=d.a.div.withConfig({displayName:"HeaderStyles__StyledSubtitle",componentId:"sc-1y722ut-4"})(["",";font-size:14px;overflow-wrap:break-word;line-height:",";"],y.mixins.reset("block"),Object(y.pick)({enterprise:y.variables.lineHeight,prisma:"20px"})),z=d.a.div.withConfig({displayName:"HeaderStyles__StyledButtonsWrapper",componentId:"sc-1y722ut-5"})(["",";position:absolute;top:",";right:",";bottom:50%;"," max-height:35px;transform-origin:bottom right;transform:rotate(-90deg) translateX(100%);"],y.mixins.reset("block"),Object(y.pick)({enterprise:0,prisma:{comfortable:"-2px",compact:"-6px"}}),Object(y.pick)({enterprise:0,prisma:{comfortable:"-2px",compact:"-6px"}}),Object(y.pick)({prisma:{comfortable:Object(p.css)(["min-height:35px;"]),compact:Object(p.css)(["min-height:30px;"])}})),F=d.a.div.withConfig({displayName:"HeaderStyles__StyledClose",componentId:"sc-1y722ut-6"})(["",";position:absolute;right:0;top:0;transform:rotate(90deg) translate(-50%,-50%);"],y.mixins.reset("block"));function B(){return(B=Object.assign||function(e){for(var t=1;t=0||(o[r]=e[r]);return o}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(n=0;n=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(o[r]=e[r])}return o}var U={children:a.a.node,icon:a.a.node,onRequestClose:a.a.func,subtitle:a.a.node,title:a.a.string};function V(e){var t=e.children,r=e.icon,n=e.onRequestClose,i=e.subtitle,a=e.title,u=$(e,["children","icon","onRequestClose","subtitle","title"]);return o.a.createElement(M,B({$close:!!n,"data-test":"header"},u),r&&o.a.createElement(D,null,r),a?o.a.createElement(L,null,a&&o.a.createElement(I,{"data-test":"title"},a),i&&o.a.createElement(N,{"data-test":"subtitle"},i)):t,n&&o.a.createElement(z,null,n&&o.a.createElement(F,null,o.a.createElement(R.a,{onClick:n,"data-test":"close"}))))}V.propTypes=U;var W=V,H=d.a.div.withConfig({displayName:"ModalStyles__Styled",componentId:"sc-5fn8ds-0"})(["",";flex-direction:column;position:fixed;left:50%;transform:translateX(-50%);z-index:",";",""],y.mixins.reset("flex"),y.variables.zindexModal,Object(y.pick)({enterprise:Object(p.css)(["box-shadow:0 1px 5px ",";max-height:calc(100vh - "," * 4);max-width:calc(100vw - "," * 4);"],y.variables.black,y.variables.spacing,y.variables.spacing),prisma:Object(p.css)(["box-shadow:",";max-height:calc(100vh - "," * 4);max-width:calc(100vw - "," * 4);"],y.variables.modalShadow,y.variables.spacingXLarge,y.variables.spacingXLarge)}));function q(e){return(q="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 K(){return(K=Object.assign||function(e){for(var t=1;te.length)&&(t=e.length);for(var r=0,n=new Array(t);r * > &,",":active > * > &,{color:",";}"],_.variables.contentColorDefault,j,j,_.variables.contentColorDefault)})}}));function E(e){return(E="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 A(){return(A=Object.assign||function(e){for(var t=1;t=0||(o[r]=e[r]);return o}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(n=0;n=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(o[r]=e[r])}return o}var p={display:"inline-block",flex:"0 0 auto",overflow:"visible",verticalAlign:"middle"},d={display:"block",flex:"0 0 auto",margin:"0 auto",overflow:"visible"},h={Enterprise:a.a.func,enterpriseSize:a.a.oneOfType([a.a.number,a.a.string]),enterpriseWidth:a.a.oneOfType([a.a.number,a.a.string]),enterpriseHeight:a.a.oneOfType([a.a.number,a.a.string]),Prisma24:a.a.func.isRequired,Prisma20:a.a.func,Prisma16:a.a.func,prismaSize:a.a.oneOf(["medium","small"]),inline:a.a.bool,screenReaderText:a.a.string};function b(e){var t=e.Enterprise,r=e.Prisma24,n=e.Prisma20,i=e.Prisma16,a=e.prismaSize,h=e.inline,b=e.enterpriseSize,y=e.enterpriseWidth,v=e.enterpriseHeight,m=e.screenReaderText,g=f(e,["Enterprise","Prisma24","Prisma20","Prisma16","prismaSize","inline","enterpriseSize","enterpriseWidth","enterpriseHeight","screenReaderText"]),x=Object(u.useSplunkTheme)(),O=x.family,w=x.density;if("enterprise"===O)return o.a.createElement(t,s({size:b,width:y,height:v,screenReaderText:m||null,hideDefaultTooltip:!0,inline:h},g));var _=function(e){for(var t=1;t0&&void 0!==arguments[0]?arguments[0]:{},t=(0,a.addThemeDefaults)(e),r=t.family,n=t.colorScheme,u=t.density;return Object.freeze(c({colorScheme:n,density:u,family:r},"enterprise"===r?(0,o.default)({colorScheme:n,density:u}):(0,i.default)({colorScheme:n,density:u})))}),(function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=e.family,r=e.colorScheme,n=e.density;return"".concat(t).concat(r).concat(n)}));t.clearGetThemeCache=function(){var e,t;return null===(e=(t=f.cache).clear)||void 0===e?void 0:e.call(t)};var p=f;t.default=p},function(e,t,r){"use strict";r.d(t,"g",(function(){return u})),r.d(t,"e",(function(){return l})),r.d(t,"f",(function(){return c})),r.d(t,"b",(function(){return s})),r.d(t,"h",(function(){return f})),r.d(t,"d",(function(){return p})),r.d(t,"c",(function(){return h})),r.d(t,"a",(function(){return b}));var n=r(27),o=r(55),i=r.n(o),a=null;function u(e){e}function l(e){return["0","FALSE","F","N","NO","NONE",""].includes(e.toString().toUpperCase())}function c(e){return["1","TRUE","T","Y","YES"].includes(e.toString().toUpperCase())}function s(e){return"".concat(a.meta.restRoot,"_").concat(e)}function f(e){a=e}function p(){return a}var d=Object(o.makeCreateToast)(i.a),h=function(e,t){var r,o=arguments.length>2&&void 0!==arguments[2]?arguments[2]:void 0;switch(t){case"success":r=n.TOAST_TYPES.SUCCESS;break;case"error":case"warning":r=n.TOAST_TYPES.ERROR;break;default:r=n.TOAST_TYPES.INFO}d({type:r,message:e,autoDismiss:!0,dismissOnActionClick:!0,showAction:Boolean(o),action:o||void 0})};function b(e,t,r,n){var o=e.map((function(e){var r;return{label:t?null===(r=e.content)||void 0===r?void 0:r[t]:e.name,value:e.name}}));return r&&(o=function(e,t){var r=new RegExp(t);return e.filter((function(e){return r.test(e.value)}))}(o,r)),n&&(o=function(e,t){var r=new RegExp(t);return e.filter((function(e){return!r.test(e.value)}))}(o,n)),o}},function(e,t,r){e.exports=function(e){var t={};function r(n){if(t[n])return t[n].exports;var o=t[n]={i:n,l:!1,exports:{}};return e[n].call(o.exports,o,o.exports,r),o.l=!0,o.exports}return r.m=e,r.c=t,r.d=function(e,t,n){r.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:n})},r.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},r.t=function(e,t){if(1&t&&(e=r(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var n=Object.create(null);if(r.r(n),Object.defineProperty(n,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var o in e)r.d(n,o,function(t){return e[t]}.bind(null,o));return n},r.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return r.d(t,"a",t),t},r.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},r.p="",r(r.s=129)}({0:function(e,t){e.exports=r(11)},1:function(e,t){e.exports=r(3)},12:function(e,t,r){"use strict";function n(e,t){e&&("function"==typeof e?e(t):e.current=t)}r.d(t,"a",(function(){return n}))},129:function(e,t,r){"use strict";r.r(t),r.d(t,"default",(function(){return M})),r.d(t,"isInternalLink",(function(){return E})),r.d(t,"NavigationContext",(function(){return h})),r.d(t,"NavigationProvider",(function(){return b}));var n=r(2),o=r.n(n),i=r(1),a=r.n(i),u=r(4),l=r(16),c=r(3),s=r.n(c),f=r(0),p=s.a.a.withConfig({displayName:"ClickableStyles__StyledA",componentId:"sc-7al1vw-0"})([""," cursor:pointer;&[disabled]{cursor:not-allowed;color:",";}&::-moz-focus-inner{border:0;padding:0;}"],f.mixins.reset("inline"),f.variables.contentColorDisabled),d={children:a.a.node,onClick:a.a.func},h=o.a.createContext(void 0);function b(e){var t=e.children,r=e.onClick;return o.a.createElement(h.Provider,{value:r},t)}b.propTypes=d;var y=r(12);function v(e){return(v="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 m(){return(m=Object.assign||function(e){for(var t=1;t=0||(o[r]=e[r]);return o}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(n=0;n=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(o[r]=e[r])}return o}function x(e,t){for(var r=0;r0&&void 0!==arguments[0]?arguments[0]:{},t=(0,a.addThemeDefaults)(e),r=t.family,n=t.colorScheme,u=t.density;return Object.freeze(c({colorScheme:n,density:u,family:r},"enterprise"===r?(0,o.default)({colorScheme:n,density:u}):(0,i.default)({colorScheme:n,density:u})))}),(function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=e.family,r=e.colorScheme,n=e.density;return"".concat(t).concat(r).concat(n)}));t.clearGetThemeCache=function(){var e,t;return null===(e=(t=f.cache).clear)||void 0===e?void 0:e.call(t)};var p=f;t.default=p},function(e,t,r){"use strict";function n(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function o(e){for(var t=1;t",'"',"`"," ","\r","\n","\t"]),s=["'"].concat(c),f=["%","/","?",";","#"].concat(s),p=["/","?","#"],d=/^[+a-z0-9A-Z_-]{0,63}$/,h=/^([+a-z0-9A-Z_-]{0,63})(.*)$/,b={javascript:!0,"javascript:":!0},y={javascript:!0,"javascript:":!0},v={http:!0,https:!0,ftp:!0,gopher:!0,file:!0,"http:":!0,"https:":!0,"ftp:":!0,"gopher:":!0,"file:":!0},m=r(87);function g(e,t,r){if(e&&o.isObject(e)&&e instanceof i)return e;var n=new i;return n.parse(e,t,r),n}i.prototype.parse=function(e,t,r){if(!o.isString(e))throw new TypeError("Parameter 'url' must be a string, not "+typeof e);var i=e.indexOf("?"),u=-1!==i&&i127?M+="x":M+=R[L];if(!M.match(d)){var I=A.slice(0,k),N=A.slice(k+1),z=R.match(h);z&&(I.push(z[1]),N.unshift(z[2])),N.length&&(g="/"+N.join(".")+g),this.hostname=I.join(".");break}}}this.hostname.length>255?this.hostname="":this.hostname=this.hostname.toLowerCase(),E||(this.hostname=n.toASCII(this.hostname));var F=this.port?":"+this.port:"",B=this.hostname||"";this.host=B+F,this.href+=this.host,E&&(this.hostname=this.hostname.substr(1,this.hostname.length-2),"/"!==g[0]&&(g="/"+g))}if(!b[w])for(k=0,T=s.length;k0)&&r.host.split("@"))&&(r.auth=E.shift(),r.host=r.hostname=E.shift());return r.search=e.search,r.query=e.query,o.isNull(r.pathname)&&o.isNull(r.search)||(r.path=(r.pathname?r.pathname:"")+(r.search?r.search:"")),r.href=r.format(),r}if(!_.length)return r.pathname=null,r.search?r.path="/"+r.search:r.path=null,r.href=r.format(),r;for(var j=_.slice(-1)[0],S=(r.host||e.host||_.length>1)&&("."===j||".."===j)||""===j,k=0,P=_.length;P>=0;P--)"."===(j=_[P])?_.splice(P,1):".."===j?(_.splice(P,1),k++):k&&(_.splice(P,1),k--);if(!O&&!w)for(;k--;k)_.unshift("..");!O||""===_[0]||_[0]&&"/"===_[0].charAt(0)||_.unshift(""),S&&"/"!==_.join("/").substr(-1)&&_.push("");var E,A=""===_[0]||_[0]&&"/"===_[0].charAt(0);C&&(r.hostname=r.host=A?"":_.length?_.shift():"",(E=!!(r.host&&r.host.indexOf("@")>0)&&r.host.split("@"))&&(r.auth=E.shift(),r.host=r.hostname=E.shift()));return(O=O||r.host&&_.length)&&!A&&_.unshift(""),_.length?r.pathname=_.join("/"):(r.pathname=null,r.path=null),o.isNull(r.pathname)&&o.isNull(r.search)||(r.path=(r.pathname?r.pathname:"")+(r.search?r.search:"")),r.auth=e.auth||r.auth,r.slashes=r.slashes||e.slashes,r.href=r.format(),r},i.prototype.parseHost=function(){var e=this.host,t=u.exec(e);t&&(":"!==(t=t[0])&&(this.port=t.substr(1)),e=e.substr(0,e.length-t.length)),e&&(this.hostname=e)}},function(e,t,r){"use strict";var n=r(52),o=r(18);function i(e,t){this.id=e,this.ref=t}e.exports.SchemaScanResult=i,e.exports.scan=function(e,t){function r(e,t){if(t&&"object"==typeof t)if(t.$ref){var i=n.resolve(e,t.$ref);c[i]=c[i]?c[i]+1:0}else{var s=t.$id||t.id,f=s?n.resolve(e,s):e;if(f){if(f.indexOf("#")<0&&(f+="#"),l[f]){if(!o.deepCompareStrict(l[f],t))throw new Error("Schema <"+f+"> already exists with different definition");return l[f]}l[f]=t,"#"==f[f.length-1]&&(l[f.substring(0,f.length-1)]=t)}a(f+"/items",Array.isArray(t.items)?t.items:[t.items]),a(f+"/extends",Array.isArray(t.extends)?t.extends:[t.extends]),r(f+"/additionalItems",t.additionalItems),u(f+"/properties",t.properties),r(f+"/additionalProperties",t.additionalProperties),u(f+"/definitions",t.definitions),u(f+"/patternProperties",t.patternProperties),u(f+"/dependencies",t.dependencies),a(f+"/disallow",t.disallow),a(f+"/allOf",t.allOf),a(f+"/anyOf",t.anyOf),a(f+"/oneOf",t.oneOf),r(f+"/not",t.not)}}function a(e,t){if(Array.isArray(t))for(var n=0;n=0||(o[r]=e[r]);return o}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(n=0;n=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(o[r]=e[r])}return o}function I(e){var t=Object(c.createStaticURL)("build/api/layout.js");window.requirejs?window.requirejs([t],e):u()(t,(function(){e(window.__splunk_layout__)}))}t.default=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},r=t.useGlobalLayerStack,n=void 0===r||r,a=t.pageTitle,u=D(t,["useGlobalLayerStack","pageTitle"]),c=document.createElement("div");a&&(document.title=a),document.body.appendChild(c),Object(i.render)(o.a.createElement(L,u),c),I((function(t){var r;t?(r=t.create(u).getContainerElement(),"fixed"===u.layout&&(r.style.flex&&"1 0 0px"!==r.style.flex||(r.style.flex="1 0 0%"),r.style.overflow||(r.style.overflow="hidden"),r.style.width||(r.style.width="100vw"))):(console.error("Unable to load layout."),r=document.createElement("div"),document.body.appendChild(r)),setTimeout((function(){Object(i.unmountComponentAtNode)(c),c.parentNode.removeChild(c);var t=n?o.a.createElement(l.LayerStackGlobalProvider,null,e):e;Object(i.render)(t,r)}),30)}))}}])},function(e,t,r){"use strict";var n=r(117),o=r.n(n),i=r(118),a=r.n(i)()(o.a);a.push([e.i,'/*\n * Copyright 2021 Splunk Inc.\n *\n * Licensed under the Apache License, Version 2.0 (the "License");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an "AS IS" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n *\n */\nbody {\n min-width: 960px;\n}\n',"",{version:3,sources:["webpack://./src/main/webapp/pages/style.css"],names:[],mappings:"AAAA;;;;;;;;;;;;;;;EAeE;AACF;IACI,gBAAgB;AACpB",sourcesContent:['/*\n * Copyright 2021 Splunk Inc.\n *\n * Licensed under the Apache License, Version 2.0 (the "License");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an "AS IS" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n *\n */\nbody {\n min-width: 960px;\n}\n'],sourceRoot:""}]),t.a=a},function(e,t,r){"use strict";(function(e){var n=r(0),o=r.n(n),i=r(10),a=r(3),u=r.n(a),l="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:void 0!==e?e:{};function c(e){var t=[];return{on:function(e){t.push(e)},off:function(e){t=t.filter((function(t){return t!==e}))},get:function(){return e},set:function(r,n){e=r,t.forEach((function(t){return t(e,n)}))}}}var s=o.a.createContext||function(e,t){var r,o,a,s="__create-react-context-"+((l[a="__global_unique_id__"]=(l[a]||0)+1)+"__"),f=function(e){function r(){var t;return(t=e.apply(this,arguments)||this).emitter=c(t.props.value),t}Object(i.a)(r,e);var n=r.prototype;return n.getChildContext=function(){var e;return(e={})[s]=this.emitter,e},n.componentWillReceiveProps=function(e){if(this.props.value!==e.value){var r,n=this.props.value,o=e.value;((i=n)===(a=o)?0!==i||1/i==1/a:i!=i&&a!=a)?r=0:(r="function"==typeof t?t(n,o):1073741823,0!==(r|=0)&&this.emitter.set(e.value,r))}var i,a},n.render=function(){return this.props.children},r}(n.Component);f.childContextTypes=((r={})[s]=u.a.object.isRequired,r);var p=function(t){function r(){var e;return(e=t.apply(this,arguments)||this).state={value:e.getValue()},e.onUpdate=function(t,r){0!=((0|e.observedBits)&r)&&e.setState({value:e.getValue()})},e}Object(i.a)(r,t);var n=r.prototype;return n.componentWillReceiveProps=function(e){var t=e.observedBits;this.observedBits=null==t?1073741823:t},n.componentDidMount=function(){this.context[s]&&this.context[s].on(this.onUpdate);var e=this.props.observedBits;this.observedBits=null==e?1073741823:e},n.componentWillUnmount=function(){this.context[s]&&this.context[s].off(this.onUpdate)},n.getValue=function(){return this.context[s]?this.context[s].get():e},n.render=function(){return(e=this.props.children,Array.isArray(e)?e[0]:e)(this.state.value);var e},r}(n.Component);return p.contextTypes=((o={})[s]=u.a.object,o),{Provider:f,Consumer:p}};t.a=s}).call(this,r(23))},function(e,t,r){var n=r(249);e.exports=d,e.exports.parse=i,e.exports.compile=function(e,t){return u(i(e,t),t)},e.exports.tokensToFunction=u,e.exports.tokensToRegExp=p;var o=new RegExp(["(\\\\.)","([\\/.])?(?:(?:\\:(\\w+)(?:\\(((?:\\\\.|[^\\\\()])+)\\))?|\\(((?:\\\\.|[^\\\\()])+)\\))([+*?])?|(\\*))"].join("|"),"g");function i(e,t){for(var r,n=[],i=0,a=0,u="",s=t&&t.delimiter||"/";null!=(r=o.exec(e));){var f=r[0],p=r[1],d=r.index;if(u+=e.slice(a,d),a=d+f.length,p)u+=p[1];else{var h=e[a],b=r[2],y=r[3],v=r[4],m=r[5],g=r[6],x=r[7];u&&(n.push(u),u="");var O=null!=b&&null!=h&&h!==b,w="+"===g||"*"===g,_="?"===g||"*"===g,C=r[2]||s,j=v||m;n.push({name:y||i++,prefix:b||"",delimiter:C,optional:_,repeat:w,partial:O,asterisk:!!x,pattern:j?c(j):x?".*":"[^"+l(C)+"]+?"})}}return a=0||(o[r]=e[r]);return o}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(n=0;n=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(o[r]=e[r])}return o}var d={children:a.a.node,elementRef:a.a.oneOfType([a.a.func,a.a.object]),flex:a.a.bool,inline:a.a.bool};function h(e){var t=e.children,r=e.elementRef,n=e.flex,i=void 0!==n&&n,a=e.inline,u=void 0!==a&&a,l=p(e,["children","elementRef","flex","inline"]);return o.a.createElement(s,f({ref:r},l,{"data-inline":u||void 0,"data-flex":i||void 0}),t)}h.propTypes=d;var b=h},2:function(e,t){e.exports=r(0)},3:function(e,t){e.exports=r(1)}})},function(e,t,r){"use strict";function n(){return"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,(function(e){var t=Math.floor(16*Math.random());return("x"===e?t:t%4+8).toString(16)}))}Object.defineProperty(t,"__esModule",{value:!0}),t.createGUID=n,t.createDOMID=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"id";if(e.match(/^[a-zA-Z][\w-]*$/))return"".concat(e,"-").concat(n());throw new Error("createDOMID: Prefix must start with a letter and may only contain letters, digits, hyphens and underscores")}},function(e,t,r){var n=r(244),o=r(245),i=r(137),a=r(246);e.exports=function(e,t){return n(e)||o(e,t)||i(e,t)||a()},e.exports.default=e.exports,e.exports.__esModule=!0},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.isNumber=l,t.isDecimal=c,t.isMinus=s,t.isNumeric=function(e,t){return l(e)||c(e,t)||s(e)},t.addsCharacter=function(e){var t=e.key;if(u(t)){return 1===t.length||["Add","Decimal","Divide","Multiply","Spacebar","Subtract"].indexOf(t)>=0}return},t.keycode=void 0;var n,o=(n=r(163))&&n.__esModule?n:{default:n},i=r(2);var a=o.default;function u(e){return!(0,i.isUndefined)(e)&&"Unidentified"!==e}function l(e){var t=e.key,r=e.keyCode;if(u(t)){return["1","2","3","4","5","6","7","8","9","0"].indexOf(t)>=0}return r>=48&&r<=57||r>=96&&r<=105}function c(e){var t=e.key,r=e.keyCode,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},o=n.locale,i=void 0===o?"en-US":o,l=new Intl.NumberFormat(i.replace("_","-")).format(1.2),c=l.indexOf(",")>-1?",":".";return u(t)?t===c||"Decimal"===t:"."===c&&r===a("numpad .")||r===a(c)}function s(e){var t=e.key,r=e.keyCode;return u(t)?"-"===t||"Subtract"===t:r===a("numpad -")||r===a("-")}t.keycode=a},function(e,t,r){e.exports=function(e){var t={};function r(n){if(t[n])return t[n].exports;var o=t[n]={i:n,l:!1,exports:{}};return e[n].call(o.exports,o,o.exports,r),o.l=!0,o.exports}return r.m=e,r.c=t,r.d=function(e,t,n){r.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:n})},r.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},r.t=function(e,t){if(1&t&&(e=r(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var n=Object.create(null);if(r.r(n),Object.defineProperty(n,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var o in e)r.d(n,o,function(t){return e[t]}.bind(null,o));return n},r.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return r.d(t,"a",t),t},r.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},r.p="",r(r.s=159)}({0:function(e,t){e.exports=r(11)},1:function(e,t){e.exports=r(3)},159:function(e,t,r){"use strict";r.r(t),r.d(t,"default",(function(){return b}));var n=r(2),o=r.n(n),i=r(1),a=r.n(i),u=r(3),l=r.n(u),c=r(0),s=l.a.span.withConfig({displayName:"ScreenReaderContentStyles__Styled",componentId:"sc-1lnohwp-0"})(["",";"],c.mixins.screenReaderContent());function f(){return(f=Object.assign||function(e){for(var t=1;t=0||(o[r]=e[r]);return o}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(n=0;n=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(o[r]=e[r])}return o}var d={children:a.a.node.isRequired,elementRef:a.a.oneOfType([a.a.func,a.a.object])};function h(e){var t=e.children,r=e.elementRef,n=p(e,["children","elementRef"]);return o.a.createElement(s,f({"data-test":"screen-reader-content",ref:r},n),t)}h.propTypes=d;var b=h},2:function(e,t){e.exports=r(0)},3:function(e,t){e.exports=r(1)}})},function(e,t,r){var n=r(171),o=r(176);e.exports=function(e,t){var r=o(e,t);return n(r)?r:void 0}},function(e,t,r){e.exports=function(e){var t={};function r(n){if(t[n])return t[n].exports;var o=t[n]={i:n,l:!1,exports:{}};return e[n].call(o.exports,o,o.exports,r),o.l=!0,o.exports}return r.m=e,r.c=t,r.d=function(e,t,n){r.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:n})},r.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},r.t=function(e,t){if(1&t&&(e=r(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var n=Object.create(null);if(r.r(n),Object.defineProperty(n,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var o in e)r.d(n,o,function(t){return e[t]}.bind(null,o));return n},r.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return r.d(t,"a",t),t},r.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},r.p="",r(r.s=150)}({0:function(e,t){e.exports=r(11)},1:function(e,t){e.exports=r(3)},150:function(e,t,r){"use strict";r.r(t),r.d(t,"default",(function(){return j}));var n=r(2),o=r.n(n),i=r(1),a=r.n(i),u=r(31),l=r(0),c=r(5),s=r(3),f=r.n(s),p=f.a.div.withConfig({displayName:"WaitSpinnerStyles__Styled",componentId:"sc-1nu971z-0"})(["",";"],l.mixins.reset("inline")),d=Object(s.keyframes)(["100%{transform:rotate(360deg);}"]),h=Object(s.keyframes)(["0%{transform:scale(0);opacity:0;}100%{transform:scale(1);opacity:1;}"]),b=f.a.svg.withConfig({displayName:"WaitSpinnerStyles__StyledSvg",componentId:"sc-1nu971z-1"})([""," ",""],Object(l.pickVariant)("$size",{small:{enterprise:Object(s.css)(["width:14px;height:14px;"]),prisma:Object(s.css)(["width:16px;height:16px;"])},medium:{enterprise:Object(s.css)(["width:19px;height:19px;"]),prisma:Object(s.css)(["width:24px;height:24px;"])},large:{enterprise:Object(s.css)(["width:19px;height:19px;"]),prisma:Object(s.css)(["width:40px;height:40px;"])}}),(function(e){return e.$animated&&Object(l.pick)({enterprise:Object(s.css)(["transform-origin:center;animation:"," 1.2s steps(64) infinite;"],d),prisma:Object(s.css)(["animation:"," "," infinite linear,"," 500ms cubic-bezier(0.01,0,0,1);"],d,"2.07s",h)})})),y=Object(s.keyframes)(["0%{stroke-dasharray:110 10;stroke-dashoffset:-5.5;animation-timing-function:cubic-bezier(0.8,0,0.83,1);}50%{stroke-dasharray:26 94;stroke-dashoffset:-152;}100%{stroke-dasharray:110 10;stroke-dashoffset:-246.5;animation-timing-function:cubic-bezier(0.33,0,0.67,1);}"]),v=Object(s.keyframes)(["0%{stroke-dasharray:7 113;stroke-dashoffset:3;animation-timing-function:cubic-bezier(0.8,0,0.83,1);}50%{stroke-dasharray:90 30;stroke-dashoffset:-60;}100%{stroke-dasharray:7 113;stroke-dashoffset:-238;animation-timing-function:cubic-bezier(0.33,0,0.67,1);}"]),m=f.a.circle.withConfig({displayName:"WaitSpinnerStyles__StyledPrismaBasePath",componentId:"sc-1nu971z-2"})(["stroke:",";stroke-width:2;fill:transparent;"," stroke-dasharray:110 10;stroke-dashoffset:-5.5;"],l.variables.contentColorDisabled,(function(e){return e.$animated&&Object(s.css)(["animation:"," "," infinite;animation-fill-mode:backwards;"],y,"2.07s")})),g=f.a.circle.withConfig({displayName:"WaitSpinnerStyles__StyledPrismaFillPath",componentId:"sc-1nu971z-3"})(["fill:transparent;stroke-width:2;stroke:",";stroke-dasharray:7 113;stroke-dashoffset:3;",""],Object(l.pickVariant)("$size",{small:l.variables.contentColorDefault,medium:l.variables.contentColorDefault,large:l.variables.interactiveColorPrimary}),(function(e){return e.$animated&&Object(s.css)(["animation:"," "," infinite;"],v,"2.07s")})),x=f.a.circle.withConfig({displayName:"WaitSpinnerStyles__StyledEnterpriseCircle",componentId:"sc-1nu971z-4"})(["fill:transparent;stroke:",";stroke-width:2px;",""],Object(l.pick)({enterprise:{dark:l.variables.white,light:l.variables.gray60},prisma:l.variables.contentColorMuted}),Object(l.pick)({enterprise:Object(s.css)(["stroke-dasharray:34 19;"])}));function O(){return(O=Object.assign||function(e){for(var t=1;t=0||(o[r]=e[r]);return o}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(n=0;n=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(o[r]=e[r])}return o}var _={elementRef:a.a.oneOfType([a.a.func,a.a.object]),screenReaderText:a.a.string,size:a.a.oneOf(["small","medium","large"])};function C(e){var t=e.elementRef,r=e.screenReaderText,n=void 0===r?Object(c._)("Waiting"):r,i=e.size,a=void 0===i?"small":i,s=w(e,["elementRef","screenReaderText","size"]),f="on"===Object(u.useAnimationToggle)(),d="prisma"===Object(l.useSplunkTheme)().family,h=d?"0 0 40 40":"0 0 19 19";return o.a.createElement(p,O({"data-test":"wait-spinner"},s),o.a.createElement(b,{viewBox:h,version:"1.1",xmlns:"http://www.w3.org/2000/svg",ref:t,$animated:f,$size:a},n&&o.a.createElement("title",null,n),o.a.createElement("g",null,d?o.a.createElement(o.a.Fragment,null,o.a.createElement(m,{r:"19",cx:"20",cy:"20",$animated:f,$size:a}),o.a.createElement(g,{r:"19",cx:"20",cy:"20",$animated:f,$size:a})):o.a.createElement(x,{cx:"9.5",cy:"9.5",r:"8.5"}))))}C.propTypes=_;var j=C},2:function(e,t){e.exports=r(0)},3:function(e,t){e.exports=r(1)},31:function(e,t){e.exports=r(80)},5:function(e,t){e.exports=r(6)}})},function(e,t,r){"use strict";r.d(t,"a",(function(){return y})),r.d(t,"d",(function(){return v})),r.d(t,"c",(function(){return m})),r.d(t,"b",(function(){return g}));var n,o,i,a,u,l=r(13),c=r.n(l),s=r(1),f=r(30),p=r.n(f),d=r(14),h=r(67),b=r.n(h),y=Object(s.default)(p.a)(n||(n=c()(["\n margin: 0px 1px;\n border: none;\n"]))),v=Object(s.default)(b.a)(o||(o=c()(["\n position: fixed;\n top: 50%;\n left: 50%;\n"]))),m=(s.default.div(i||(i=c()(["\n text-align: left;\n"]))),s.default.span(a||(a=c()(["\n button {\n margin-left: 80px;\n min-width: 100px;\n }\n"])))),g=s.default.div(u||(u=c()(["\n font-size: ",";\n text-align: center;\n"])),d.variables.fontSize)},function(e,t,r){"use strict";function n(e){return e&&"object"==typeof e&&"default"in e?e.default:e}Object.defineProperty(t,"__esModule",{value:!0});var o=n(r(152)),i=n(r(153)),a=n(r(154)),u=n(r(156)),l=n(r(157)),c=n(r(86)),s=n(r(159)),f=n(r(161)),p=n(r(0));n(r(3)),n(r(162));var d,h=(d=null,function(){if(null!==d)return d;var e,t,r,n=!1;try{window.addEventListener("test",null,(e={},t="passive",r={get:function(){n=!0}},Object.defineProperty(e,t,r)))}catch(e){}return d=n,n}()),b={capture:!1,passive:!1};function y(e){return f({},b,e)}function v(e,t,r){var n=[e,t];return n.push(h?r:r.capture),n}function m(e,t,r,n){e.addEventListener.apply(e,v(t,r,n))}function g(e,t,r,n){e.removeEventListener.apply(e,v(t,r,n))}function x(e,t){e.children,e.target;var r=s(e,["children","target"]);Object.keys(r).forEach((function(e){if("on"===e.substring(0,2)){var n=r[e],o=c(n),i="object"===o;if(i||"function"===o){var a="capture"===e.substr(-7).toLowerCase(),u=e.substring(2).toLowerCase();u=a?u.substring(0,u.length-7):u,i?t(u,n.handler,n.options):t(u,n,y({capture:a}))}}}))}var O=function(e){function t(){return o(this,t),a(this,u(t).apply(this,arguments))}return l(t,e),i(t,[{key:"componentDidMount",value:function(){this.applyListeners(m)}},{key:"componentDidUpdate",value:function(e){this.applyListeners(g,e),this.applyListeners(m)}},{key:"componentWillUnmount",value:function(){this.applyListeners(g)}},{key:"applyListeners",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:this.props,r=t.target;if(r){var n=r;"string"==typeof r&&(n=window[r]),x(t,e.bind(null,n))}}},{key:"render",value:function(){return this.props.children||null}}]),t}(p.PureComponent);O.propTypes={},t.withOptions=function(e,t){return{handler:e,options:y(t)}},t.default=O},function(e,t){e.exports=function(e){return e.webpackPolyfill||(e.deprecate=function(){},e.paths=[],e.children||(e.children=[]),Object.defineProperty(e,"loaded",{enumerable:!0,get:function(){return e.l}}),Object.defineProperty(e,"id",{enumerable:!0,get:function(){return e.i}}),e.webpackPolyfill=1),e}},function(e,t,r){var n=r(42).Symbol;e.exports=n},function(e,t){e.exports=function(e){var t=typeof e;return null!=e&&("object"==t||"function"==t)}},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.getSortedTabbableElements=i,t.handleTab=function(e,t){if(!e.contains(document.activeElement))return null;if("tab"!==(0,n.keycode)(t)||t.metaKey||t.altKey||t.controlKey)return null;var r=i(e);if(0===r.length)return document.activeElement===e?(t.preventDefault(),e):null;var o=t&&t.target||e.querySelector(":focus"),a=r.indexOf(o);-1===a&&(a=t.shiftKey?0:r.length-1);t.shiftKey?r.unshift(r.pop()):r.push(r.shift());return t.preventDefault(),r[a].focus(),r[a]},t.takeFocus=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"first",r=e.querySelector(":focus");if(r)return r;if("first"===t){var n=i(e)[0];if(n)return(0,o.defer)((function(){return n.focus()})),n}if(e.hasAttribute("tabIndex"))return(0,o.defer)((function(){return e.focus()})),e;return null};var n=r(64),o=r(2);function i(e){var t=e.querySelectorAll("a[href], input:not([disabled]), select:not([disabled]),\n textarea:not([disabled]), button:not([disabled]), [tabindex], [contenteditable]"),r=(0,o.filter)(t,(function(e){return!(!((t=e).offsetWidth||t.offsetHeight||t.getClientRects().length>0)||"hidden"===getComputedStyle(t).visibility)&&e.tabIndex>=0||e===document.activeElement;var t})).reduce((function(e,t){var r=e[e.length-1],n="radio"===(null==r?void 0:r.getAttribute("type")),o="radio"===t.getAttribute("type"),i=t.getAttribute("name")===(null==r?void 0:r.getAttribute("name"));return n&&o&&i?t.checked&&(e.pop(),e.push(t)):e.push(t),e}),[]);return(0,o.sortBy)(r,(function(e){return e.tabIndex>0?-1/e.tabIndex:0}))}},function(e,t,r){e.exports=r(227)},function(e,t,r){e.exports=function(e){var t={};function r(n){if(t[n])return t[n].exports;var o=t[n]={i:n,l:!1,exports:{}};return e[n].call(o.exports,o,o.exports,r),o.l=!0,o.exports}return r.m=e,r.c=t,r.d=function(e,t,n){r.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:n})},r.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},r.t=function(e,t){if(1&t&&(e=r(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var n=Object.create(null);if(r.r(n),Object.defineProperty(n,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var o in e)r.d(n,o,function(t){return e[t]}.bind(null,o));return n},r.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return r.d(t,"a",t),t},r.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},r.p="",r(r.s=54)}({0:function(e,t){e.exports=r(0)},1:function(e,t){e.exports=r(6)},4:function(e,t){e.exports=r(139)},54:function(e,t,r){"use strict";r.r(t),r.d(t,"default",(function(){return c}));var n=r(0),o=r.n(n),i=r(1),a=r(4),u=r.n(a);function l(){return(l=Object.assign||function(e){for(var t=1;t=0||(o[r]=e[r]);return o}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(n=0;n=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(o[r]=e[r])}return o}function c(e){var t=e.immediate,r=l(e,["immediate"]),n=Object(a.useAnimationToggle)();return o.a.createElement(i.Spring,u({},r,{immediate:t||"on"!==n}))}function s(e){var t=e.immediate,r=l(e,["immediate"]),n=Object(a.useAnimationToggle)();return o.a.createElement(i.Transition,u({},r,{immediate:t||"on"!==n}))}},2:function(e,t){e.exports=r(0)},31:function(e,t){e.exports=r(80)},38:function(e,t){e.exports=r(81)}})},function(e,t,r){e.exports=function(e){var t={};function r(n){if(t[n])return t[n].exports;var o=t[n]={i:n,l:!1,exports:{}};return e[n].call(o.exports,o,o.exports,r),o.l=!0,o.exports}return r.m=e,r.c=t,r.d=function(e,t,n){r.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:n})},r.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},r.t=function(e,t){if(1&t&&(e=r(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var n=Object.create(null);if(r.r(n),Object.defineProperty(n,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var o in e)r.d(n,o,function(t){return e[t]}.bind(null,o));return n},r.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return r.d(t,"a",t),t},r.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},r.p="",r(r.s=163)}({163:function(e,t,r){"use strict";r.r(t),r.d(t,"default",(function(){return a})),r.d(t,"ScrollContainerContext",(function(){return o})),r.d(t,"ScrollContainerProvider",(function(){return i}));var n=r(2),o=r.n(n).a.createContext("window"),i=o.Provider,a=o},2:function(e,t){e.exports=r(0)}})},function(e,t){var r,n,o=e.exports={};function i(){throw new Error("setTimeout has not been defined")}function a(){throw new Error("clearTimeout has not been defined")}function u(e){if(r===setTimeout)return setTimeout(e,0);if((r===i||!r)&&setTimeout)return r=setTimeout,setTimeout(e,0);try{return r(e,0)}catch(t){try{return r.call(null,e,0)}catch(t){return r.call(this,e,0)}}}!function(){try{r="function"==typeof setTimeout?setTimeout:i}catch(e){r=i}try{n="function"==typeof clearTimeout?clearTimeout:a}catch(e){n=a}}();var l,c=[],s=!1,f=-1;function p(){s&&l&&(s=!1,l.length?c=l.concat(c):f=-1,c.length&&d())}function d(){if(!s){var e=u(p);s=!0;for(var t=c.length;t;){for(l=c,c=[];++f1)for(var r=1;r1&&(r=l(r),n=l(n),o=l(o)),{r:r,g:n,b:o}}({r:e.r+r,g:e.g+r,b:e.b+r})}function S(e){return Math.max(e.r,e.g,e.b)-Math.min(e.r,e.g,e.b)}function k(e,t){var r=["r","g","b"].sort((function(t,r){return e[t]-e[r]})),n=r[0],o=r[1],i=r[2],a={r:e.r,g:e.g,b:e.b};return a[i]>a[n]?(a[o]=(a[o]-a[n])*t/(a[i]-a[n]),a[i]=t):a[o]=a[i]=0,a[n]=0,a}function P(e,t){return j(k(t,S(e)),C(e))}function E(e,t){return j(k(e,S(t)),C(e))}function A(e,t){return j(t,C(e))}function T(e,t){return j(e,C(t))}function R(e,t){return w(e,t,n,o)}function M(e,t){return w(e,t,n,i)}function L(e,t){return w(e,t,n,a)}function D(e,t){return w(e,t,n,u)}function I(e,t){return w(e,t,n,l)}function N(e,t){return w(e,t,n,c)}function z(e,t){return w(e,t,n,s)}function F(e,t){return w(e,t,n,f)}function B(e,t){return w(e,t,n,p)}function $(e,t){return w(e,t,n,d)}function U(e,t){return w(e,t,n,h)}function V(e,t){return w(e,t,n,b)}function W(e,t){return w(e,t,_,P)}function H(e,t){return w(e,t,_,E)}function q(e,t){return w(e,t,_,A)}function K(e,t){return w(e,t,_,T)}r.r(t),r.d(t,"normal",(function(){return R})),r.d(t,"multiply",(function(){return M})),r.d(t,"screen",(function(){return L})),r.d(t,"overlay",(function(){return D})),r.d(t,"darken",(function(){return I})),r.d(t,"lighten",(function(){return N})),r.d(t,"colorDodge",(function(){return z})),r.d(t,"colorBurn",(function(){return F})),r.d(t,"hardLight",(function(){return B})),r.d(t,"softLight",(function(){return $})),r.d(t,"difference",(function(){return U})),r.d(t,"exclusion",(function(){return V})),r.d(t,"hue",(function(){return W})),r.d(t,"saturation",(function(){return H})),r.d(t,"color",(function(){return q})),r.d(t,"luminosity",(function(){return K}))},function(e,t,r){e.exports=function(e){var t={};function r(n){if(t[n])return t[n].exports;var o=t[n]={i:n,l:!1,exports:{}};return e[n].call(o.exports,o,o.exports,r),o.l=!0,o.exports}return r.m=e,r.c=t,r.d=function(e,t,n){r.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:n})},r.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},r.t=function(e,t){if(1&t&&(e=r(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var n=Object.create(null);if(r.r(n),Object.defineProperty(n,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var o in e)r.d(n,o,function(t){return e[t]}.bind(null,o));return n},r.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return r.d(t,"a",t),t},r.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},r.p="",r(r.s=123)}({1:function(e,t){e.exports=r(3)},123:function(e,t,r){"use strict";r.r(t),r.d(t,"default",(function(){return h})),r.d(t,"AnimationToggleContext",(function(){return u})),r.d(t,"AnimationToggleProvider",(function(){return y})),r.d(t,"useAnimationToggle",(function(){return s}));var n=r(2),o=r.n(n),i=r(1),a=r.n(i),u=o.a.createContext(!0);function l(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){if("undefined"==typeof Symbol||!(Symbol.iterator in Object(e)))return;var r=[],n=!0,o=!1,i=void 0;try{for(var a,u=e[Symbol.iterator]();!(n=(a=u.next()).done)&&(r.push(a.value),!t||r.length!==t);n=!0);}catch(e){o=!0,i=e}finally{try{n||null==u.return||u.return()}finally{if(o)throw i}}return r}(e,t)||function(e,t){if(!e)return;if("string"==typeof e)return c(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);"Object"===r&&e.constructor&&(r=e.constructor.name);if("Map"===r||"Set"===r)return Array.from(e);if("Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return c(e,t)}(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function c(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=new Array(t);r=e);++r);return r-1}(e,i);return function(e,t,r,n,o,i,a,u,l){var c=l?l(e):e;if(cr){if("identity"===u)return c;"clamp"===u&&(c=r)}if(n===o)return n;if(t===r)return e<=t?n:o;t===-1/0?c=-c:r===1/0?c-=t:c=(c-t)/(r-t);c=i(c),n===-1/0?c=-c:o===1/0?c+=n:c=c*(o-n)+n;return c}(e,i[t],i[t+1],o[t],o[t+1],a,u,c,l)}},e}();var L="[-+]?\\d*\\.?\\d+";function D(){return"\\(\\s*("+Array.prototype.slice.call(arguments).join(")\\s*,\\s*(")+")\\s*\\)"}var I=new RegExp("rgb"+D(L,L,L)),N=new RegExp("rgba"+D(L,L,L,L)),z=new RegExp("hsl"+D(L,"[-+]?\\d*\\.?\\d+%","[-+]?\\d*\\.?\\d+%")),F=new RegExp("hsla"+D(L,"[-+]?\\d*\\.?\\d+%","[-+]?\\d*\\.?\\d+%",L)),B=/^#([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})$/,$=/^#([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})$/,U=/^#([0-9a-fA-F]{6})$/,V=/^#([0-9a-fA-F]{8})$/;function W(e,t,r){return r<0&&(r+=1),r>1&&(r-=1),r<1/6?e+6*(t-e)*r:r<.5?t:r<2/3?e+(t-e)*(2/3-r)*6:e}function H(e,t,r){var n=r<.5?r*(1+t):r+t-r*t,o=2*r-n,i=W(o,n,e+1/3),a=W(o,n,e),u=W(o,n,e-1/3);return Math.round(255*i)<<24|Math.round(255*a)<<16|Math.round(255*u)<<8}function q(e){var t=parseInt(e,10);return t<0?0:t>255?255:t}function K(e){return(parseFloat(e)%360+360)%360/360}function Z(e){var t=parseFloat(e);return t<0?0:t>1?255:Math.round(255*t)}function X(e){var t=parseFloat(e);return t<0?0:t>100?1:t/100}function G(e){var t,r,n="number"==typeof(t=e)?t>>>0===t&&t>=0&&t<=4294967295?t:null:(r=U.exec(t))?parseInt(r[1]+"ff",16)>>>0:R.hasOwnProperty(t)?R[t]:(r=I.exec(t))?(q(r[1])<<24|q(r[2])<<16|q(r[3])<<8|255)>>>0:(r=N.exec(t))?(q(r[1])<<24|q(r[2])<<16|q(r[3])<<8|Z(r[4]))>>>0:(r=B.exec(t))?parseInt(r[1]+r[1]+r[2]+r[2]+r[3]+r[3]+"ff",16)>>>0:(r=V.exec(t))?parseInt(r[1],16)>>>0:(r=$.exec(t))?parseInt(r[1]+r[1]+r[2]+r[2]+r[3]+r[3]+r[4]+r[4],16)>>>0:(r=z.exec(t))?(255|H(K(r[1]),X(r[2]),X(r[3])))>>>0:(r=F.exec(t))?(H(K(r[1]),X(r[2]),X(r[3]))|Z(r[4]))>>>0:null;return null===n?e:"rgba("+((4278190080&(n=n||0))>>>24)+", "+((16711680&n)>>>16)+", "+((65280&n)>>>8)+", "+(255&n)/255+")"}var Q=/[+\-]?(?:0|[1-9]\d*)(?:\.\d*)?(?:[eE][+\-]?\d+)?/g,Y=/(#(?:[0-9a-f]{2}){2,4}|(#[0-9a-f]{3})|(rgb|hsl)a?\((-?\d+%?[,\s]+){2,3}\s*[\d\.]+%?\))/gi,J=new RegExp("("+Object.keys(R).join("|")+")","g");var ee=function(e){function t(r,n,o){var i;return(i=e.call(this)||this).getValue=function(){var e;return(e=i).calc.apply(e,i.payload.map((function(e){return e.getValue()})))},i.updateConfig=function(e,t){return i.calc=M.create(e,t)},i.interpolate=function(e,r){return new t(a(i),e,r)},i.payload=r instanceof E&&!r.updateConfig?r.payload:Array.isArray(r)?r:[r],i.calc=M.create(n,o),i}return i(t,e),t}(E);var te=function(e){function t(t){var r;return(r=e.call(this)||this).setValue=function(e,t){void 0===t&&(t=!0),r.value=e,t&&r.flush()},r.getValue=function(){return r.value},r.updateStyles=function(){return function e(t,r){"function"==typeof t.update?r.add(t):t.getChildren().forEach((function(t){return e(t,r)}))}(a(r),r.animatedStyles)},r.updateValue=function(e){return r.flush(r.value=e)},r.interpolate=function(e,t){return new ee(a(r),e,t)},r.value=t,r.animatedStyles=new Set,r.done=!1,r.startPosition=t,r.lastPosition=t,r.lastVelocity=void 0,r.lastTime=void 0,r.controller=void 0,r}i(t,e);var r=t.prototype;return r.flush=function(){0===this.animatedStyles.size&&this.updateStyles(),this.animatedStyles.forEach((function(e){return e.update()}))},r.prepare=function(e){void 0===this.controller&&(this.controller=e),this.controller===e&&(this.startPosition=this.value,this.lastPosition=this.value,this.lastVelocity=e.isActive?this.lastVelocity:void 0,this.lastTime=e.isActive?this.lastTime:void 0,this.done=!1,this.animatedStyles.clear())},t}(P),re=function(e){function t(t){var r;return(r=e.call(this)||this).setValue=function(e,t){void 0===t&&(t=!0),Array.isArray(e)?e.length===r.payload.length&&e.forEach((function(e,n){return r.payload[n].setValue(e,t)})):r.payload.forEach((function(n,o){return r.payload[o].setValue(e,t)}))},r.getValue=function(){return r.payload.map((function(e){return e.getValue()}))},r.interpolate=function(e,t){return new ee(a(r),e,t)},r.payload=t.map((function(e){return new te(e)})),r}return i(t,e),t}(E);function ne(e,t){return null==e?t:e}function oe(e){return void 0!==e?Array.isArray(e)?e:[e]:[]}function ie(e,t){if(typeof e!=typeof t)return!1;if("string"==typeof e||"number"==typeof e)return e===t;var r;for(r in e)if(!(r in t))return!1;for(r in t)if(e[r]!==t[r])return!1;return void 0!==r||e===t}function ae(e){for(var t=arguments.length,r=new Array(t>1?t-1:0),n=1;n=r.length)break;i=r[o++]}else{if((o=r.next()).done)break;i=o.value}for(var a=i,u=!0,l=!0,c=0;c=a.startTime+s.delay+s.duration;else if(s.decay)g=v+O/(1-.998)*(1-Math.exp(-(1-.998)*(t-a.startTime))),(f=Math.abs(b.lastPosition-g)<.1)&&(m=g);else{p=void 0!==b.lastTime?b.lastTime:t,O=void 0!==b.lastVelocity?b.lastVelocity:s.initialVelocity,t>p+64&&(p=t);for(var w=Math.floor(t-p),_=0;_m:g1?_-1:0),j=1;j<_;j++)C[j-1]=arguments[j];m||!v&&!C.length||this.start.apply(this,C);var S=C[0],k=C[1];return this.onEnd="function"==typeof S&&S,this.onUpdate=k,this.getValues()},t.start=function(e,t){var r,n=this;return this.startTime=y(),this.isActive&&this.stop(),this.isActive=!0,this.onEnd="function"==typeof e&&e,this.onUpdate=t,this.props.onStart&&this.props.onStart(),r=this,me.has(r)||(me.add(r),ve||d(ge),ve=!0),new Promise((function(e){return n.resolve=e}))},t.stop=function(e){void 0===e&&(e=!1),e&&ue(this.animations).forEach((function(e){return e.changes=void 0})),this.debouncedOnEnd({finished:e})},t.destroy=function(){xe(this),this.props={},this.merged={},this.animations={},this.interpolations={},this.animatedProps={},this.configs=[]},t.debouncedOnEnd=function(e){xe(this),this.isActive=!1;var t=this.onEnd;this.onEnd=null,t&&t(e),this.resolve&&this.resolve(),this.resolve=null},e}(),we=function(e){function t(t,r){var n;return n=e.call(this)||this,t.style&&(t=u({},t,{style:m(t.style)})),n.payload=t,n.update=r,n.attach(),n}return i(t,e),t}(A);function _e(e){var t=function(t){function r(e){var r;return(r=t.call(this)||this).callback=function(){r.node&&(!1===f.fn(r.node,r.propsAnimated.getAnimatedValue(),a(r))&&r.forceUpdate())},r.attachProps(e),r}i(r,t);var n=r.prototype;return n.componentWillUnmount=function(){this.propsAnimated&&this.propsAnimated.detach()},n.setNativeProps=function(e){!1===f.fn(this.node,e,this)&&this.forceUpdate()},n.attachProps=function(e){e.forwardRef;var t=o(e,["forwardRef"]),r=this.propsAnimated;this.propsAnimated=new we(t,this.callback),r&&r.detach()},n.shouldComponentUpdate=function(e){var t=e.style,r=o(e,["style"]),n=this.props,i=n.style;return(!ie(o(n,["style"]),r)||!ie(i,t))&&(this.attachProps(e),!0)},n.render=function(){var t=this,r=this.propsAnimated.getValue(),n=(r.scrollTop,r.scrollLeft,o(r,["scrollTop","scrollLeft"]));return l.createElement(e,u({},n,{ref:function(e){return t.node=fe(e,t.props.forwardRef)}}))},r}(l.Component);return l.forwardRef((function(e,r){return l.createElement(t,u({},e,{forwardRef:r}))}))}var Ce={default:{tension:170,friction:26},gentle:{tension:120,friction:14},wobbly:{tension:180,friction:12},stiff:{tension:210,friction:20},slow:{tension:280,friction:60},molasses:{tension:280,friction:120}},je=function(e){function t(){for(var t,r=arguments.length,n=new Array(r),o=0;o=0||(o[r]=e[r]);return o}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(n=0;n=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(o[r]=e[r])}return o}function M(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function L(e,t){for(var r=0;r=0||(o[r]=e[r]);return o}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(n=0;n=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(o[r]=e[r])}return o}var x=function(e){var t=e.children,r=e.type,n=e.onRequestRemove,i=g(e,["children","type","onRequestRemove"]);return o.a.createElement(v,m({$type:r,"data-test-type":r,"data-test":"message"},i),o.a.createElement(b,{"data-test":"content"},t),o.a.createElement(y,{"data-test":"remove",onClick:n},o.a.createElement(u.a,{prismaSize:"small",enterpriseSize:"12px"})))},O=r(32),w=r.n(O),_=c()(w.a).withConfig({displayName:"LinkStyles__StyledLink",componentId:"w06zjv-0"})(["margin:0 3px;text-decoration:underline;color:inherit;&:not([disabled]){cursor:pointer;&:focus{"," text-decoration:underline;&:active{box-shadow:none;text-decoration:underline;}}}"],Object(h.pick)({prisma:Object(l.css)(["box-shadow:",";"],h.variables.focusShadow)}));function C(e,t){if(null==e)return{};var r,n,o=function(e,t){if(null==e)return{};var r,n,o={},i=Object.keys(e);for(n=0;n=0||(o[r]=e[r]);return o}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(n=0;n=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(o[r]=e[r])}return o}var j={children:a.a.node,elementRef:a.a.oneOfType([a.a.func,a.a.object]),openInNewContext:a.a.bool,to:a.a.string};function S(e){var t=e.children,r=C(e,["children"]);return o.a.createElement(_,r,t)}S.propTypes=j;var k=S,P=c.a.p.withConfig({displayName:"TitleStyles__StyledTitle",componentId:"sc-6gbjha-0"})([""," ",""],h.mixins.reset("block"),Object(h.pick)({prisma:Object(l.css)(["font-size:14px;line-height:20px;"])}));function E(e,t){if(null==e)return{};var r,n,o=function(e,t){if(null==e)return{};var r,n,o={},i=Object.keys(e);for(n=0;n=0||(o[r]=e[r]);return o}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(n=0;n=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(o[r]=e[r])}return o}var A={children:a.a.node};function T(e){var t=e.children,r=E(e,["children"]);return o.a.createElement(P,r,t)}T.propTypes=A;var R=T,M=c.a.div.withConfig({displayName:"MessageStyles__StyledContent",componentId:"eg66af-0"})(["",";",""],h.mixins.reset("inline"),Object(h.pick)({prisma:Object(l.css)(["color:",";"],h.variables.contentColorActive)})),L=c()(d.a).withConfig({displayName:"MessageStyles__StyledRemove",componentId:"eg66af-1"})(["",";border:1px solid transparent;border-radius:",";color:",";",";cursor:pointer;position:absolute;"," padding:",";&:hover,&:focus{background:",";border:",";color:",";}&:active{",";}",""],h.mixins.reset("flex"),Object(h.pick)({prisma:"50%",enterprise:h.variables.borderRadius}),Object(h.pick)({prisma:h.variables.contentColorMuted,enterprise:{dark:h.variables.gray96,light:h.variables.gray45}}),(function(e){return"banner"===e.$appearance&&Object(h.pick)({prisma:Object(l.css)(["color:",";"],h.variables.contentColorInverted)})}),Object(h.pick)({prisma:Object(l.css)(["top:1px;right:2px;"]),enterprise:Object(l.css)(["top:6px;right:8px;"])}),Object(h.pick)({prisma:"10px",enterprise:"8px"}),Object(h.pick)({prisma:h.variables.interactiveColorOverlayHover,enterprise:{dark:h.variables.gray30,light:h.variables.gray92}}),Object(h.pick)({prisma:Object(l.css)(["1px solid inherit"]),enterprise:Object(l.css)(["1px solid ",""],h.variables.gray80)}),Object(h.pick)({enterprise:{dark:h.variables.gray96,light:h.variables.linkColor},prisma:h.variables.contentColorActive}),Object(h.pick)({prisma:Object(l.css)(["background:",";"],h.variables.interactiveColorOverlayActive),enterprise:Object(l.css)(["box-shadow:",";"],h.variables.focusShadow)}),Object(h.pick)({prisma:Object(l.css)(["&:focus{box-shadow:0 0 0 3px ",";}"],h.variables.focusColor)})),D=c.a.span.withConfig({displayName:"MessageStyles__StyledIconWrapper",componentId:"eg66af-2"})(["position:absolute;top:",";left:0;width:",";height:calc(100% - 8px);text-align:center;color:",";"," border-top-left-radius:inherit;border-bottom-left-radius:inherit;"," ",";"],Object(h.pick)({prisma:"0px",enterprise:"7px"}),Object(h.pick)({prisma:"24px",enterprise:"25px"}),h.variables.white,Object(h.pick)({prisma:Object(l.css)(["padding-top:8px;"])}),Object(h.pickVariant)("$type",{info:Object(l.css)(["color:",";"],Object(h.pick)({prisma:h.variables.contentColorMuted,enterprise:h.variables.infoColor})),success:Object(l.css)(["color:",";"],h.variables.accentColorPositive),warning:Object(l.css)(["color:",";"],h.variables.accentColorWarning),error:Object(l.css)(["color:",";"],h.variables.accentColorNegative)}),(function(e){return e.$fillStyle&&Object(h.pick)({prisma:Object(l.css)(["background-color:",";"],Object(h.pickVariant)("$type",{info:h.variables.contentColorActive,success:h.variables.accentColorPositive,warning:h.variables.accentColorWarning,error:h.variables.accentColorNegative}))})})),I=c()(f.a).withConfig({displayName:"MessageStyles__StyledBox",componentId:"eg66af-3"})(["",";position:relative;border-radius:",";margin-bottom:",";padding:",";word-wrap:break-word;"," ",""],h.mixins.reset("block"),Object(h.pick)({prisma:h.variables.borderRadius,enterprise:"5px"}),h.variables.spacingSmall,Object(h.pickVariant)("$hasRemoveIcon",{true:{prisma:"10px 40px 10px 36px",enterprise:"10px 40px 10px 40px"},false:{prisma:"10px 8px 10px 36px",enterprise:"10px 0 10px 40px"}}),(function(e){return e.$fillStyle&&Object(h.pick)({enterprise:Object(l.css)(["& > ","{left:",";}",""],D,h.variables.spacingXSmall,Object(h.pickVariant)("$type",{info:Object(l.css)(["",""],Object(h.pick)({light:Object(l.css)(["background-color:",";border:1px solid ",";"],h.variables.infoColorL50,h.variables.infoColor),dark:Object(l.css)(["background-color:",";"],h.mixins.colorWithAlpha(h.variables.infoColor,.5))})),success:Object(l.css)(["",""],Object(h.pick)({light:Object(l.css)(["background-color:",";border:1px solid ",";"],h.variables.successColorL50,h.variables.successColor),dark:Object(l.css)(["background-color:",";"],h.mixins.colorWithAlpha(h.variables.successColor,.5))})),warning:Object(l.css)(["",""],Object(h.pick)({light:Object(l.css)(["background-color:",";border:1px solid ",";"],h.variables.warningColorL50,h.variables.warningColor),dark:Object(l.css)(["background-color:",";"],h.mixins.colorWithAlpha(h.variables.warningColor,.5))})),error:Object(l.css)(["",""],Object(h.pick)({light:Object(l.css)(["background-color:",";border:1px solid ",";"],h.variables.errorColorL50,h.variables.errorColor),dark:Object(l.css)(["background-color:",";"],h.mixins.colorWithAlpha(h.variables.errorColor,.5))}))})),prisma:Object(l.css)(["border:1px solid transparent;background-color:",";box-shadow:",";& > ","{color:",";}"],h.variables.backgroundColorPopup,h.variables.embossShadow,D,h.variables.backgroundColorPopup)})}),Object(h.pick)({prisma:Object(l.css)(["& ","{color:",";}"],P,Object(h.pickVariant)("$type",{info:h.variables.contentColorActive,warning:h.variables.accentColorWarning,error:h.variables.accentColorNegative,success:h.variables.accentColorPositive}))})),N=r(61),z=r.n(N),F=r(7),B=r(6);function $(){return($=Object.assign||function(e){for(var t=1;t=0||(o[r]=e[r]);return o}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(n=0;n=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(o[r]=e[r])}return o}var ue={appearance:a.a.oneOf(["default","fill","banner"]),children:a.a.node,elementRef:a.a.oneOfType([a.a.func,a.a.object]),onRequestRemove:a.a.func,type:a.a.oneOf(["info","success","warning","error"])};function le(e){var t=e.appearance,r=void 0===t?"default":t,i=e.children,a=e.type,l=void 0===a?"warning":a,c=e.onRequestRemove,s=ae(e,["appearance","children","type","onRequestRemove"]),f=Object(n.useCallback)((function(e){null==c||c(e)}),[c]);if("banner"===r)return o.a.createElement(x,ie({type:l,onRequestRemove:f},s),i);var p={info:Z,success:J,warning:oe,error:V}[l],d="fill"===r,h="default"===r||"fill"===r;return o.a.createElement(I,ie({$appearance:r,$fillStyle:d,$hasRemoveIcon:!!c,$type:l,"data-test-type":l,"data-test":"message"},s),h&&o.a.createElement(D,{$fillStyle:d,$type:l},o.a.createElement(p,{prismaSize:"small",enterpriseWidth:"24px",enterpriseHeight:"24px"})),o.a.createElement(M,{"data-test":"content",$fillStyle:d},i),c&&o.a.createElement(L,{"data-test":"remove",onClick:f,$appearance:r},o.a.createElement(u.a,{prismaSize:"small",enterpriseHeight:"12px",enterpriseWidth:"12px"})))}le.propTypes=ue,le.Title=R,le.Link=k;var ce=le},11:function(e,t){e.exports=r(41)},2:function(e,t){e.exports=r(0)},20:function(e,t,r){"use strict";r.d(t,"a",(function(){return p}));var n=r(2),o=r.n(n),i=r(23),a=r.n(i),u=r(7),l=r(6);function c(){return(c=Object.assign||function(e){for(var t=1;t=0||(o[r]=e[r]);return o}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(n=0;n=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(o[r]=e[r])}return o}var p={display:"inline-block",flex:"0 0 auto",overflow:"visible",verticalAlign:"middle"},d={display:"block",flex:"0 0 auto",margin:"0 auto",overflow:"visible"},h={Enterprise:a.a.func,enterpriseSize:a.a.oneOfType([a.a.number,a.a.string]),enterpriseWidth:a.a.oneOfType([a.a.number,a.a.string]),enterpriseHeight:a.a.oneOfType([a.a.number,a.a.string]),Prisma24:a.a.func.isRequired,Prisma20:a.a.func,Prisma16:a.a.func,prismaSize:a.a.oneOf(["medium","small"]),inline:a.a.bool,screenReaderText:a.a.string};function b(e){var t=e.Enterprise,r=e.Prisma24,n=e.Prisma20,i=e.Prisma16,a=e.prismaSize,h=e.inline,b=e.enterpriseSize,y=e.enterpriseWidth,v=e.enterpriseHeight,m=e.screenReaderText,g=f(e,["Enterprise","Prisma24","Prisma20","Prisma16","prismaSize","inline","enterpriseSize","enterpriseWidth","enterpriseHeight","screenReaderText"]),x=Object(u.useSplunkTheme)(),O=x.family,w=x.density;if("enterprise"===O)return o.a.createElement(t,s({size:b,width:y,height:v,screenReaderText:m||null,hideDefaultTooltip:!0,inline:h},g));var _=function(e){for(var t=1;t=e?void 0:Object(_messageUtil__WEBPACK_IMPORTED_MODULE_2__.a)(14)}},parseFunctionRawStr=function parseFunctionRawStr(rawStr){var error,result;try{result=eval("(".concat(rawStr,")"))}catch(e){error=Object(_messageUtil__WEBPACK_IMPORTED_MODULE_2__.a)(11,rawStr)}return{error:error,result:result}},checkDupKeyValues=function(e,t,r){var n,o,i=lodash__WEBPACK_IMPORTED_MODULE_0__.get(e,t?"services":"tabs"),a=[];if(i){o="".concat(r,".").concat(t?"services":"tabs"),["name","title"].forEach((function(e){n=parseArrForDupKeys(i,e),appendError(a,n,o)}));i.forEach((function(e,t){var r="".concat(o,"[").concat(t,"].entity");e.entity&&(["field","label"].forEach((function(t,o){n=parseArrForDupKeys(e.entity,t),appendError(a,n,"".concat(r,"[").concat(o,"]"))})),e.entity.forEach((function(e,t){!function(e,t){var r=e.options;if(r){var o=r.items,i=r.autoCompleteFields;if(o&&["label","value"].forEach((function(e){n=parseArrForDupKeys(o,e),appendError(a,n,"".concat(t,".options.items"))})),i){var u=!!i[0].children;(u?i.map((function(e){return e.children})):[i]).forEach((function(e){n=parseArrForDupKeys(e,"label"),appendError(a,n,"".concat(t,".options.autoCompleteFields"))})),u&&(i=lodash__WEBPACK_IMPORTED_MODULE_0__.flatten(lodash__WEBPACK_IMPORTED_MODULE_0__.union(i.map((function(e){return e.children}))))),n=parseArrForDupKeys(i,"value"),appendError(a,n,"".concat(t,".options.autoCompleteFields"))}}}(e,"".concat(r,"[").concat(t,"]"))})))}))}return a},checkConfigDetails=function(e){var t,r=e.pages,n=r.configuration,o=r.inputs,i=[],a="instantce.pages",u=function(e,t){lodash__WEBPACK_IMPORTED_MODULE_0__.values(e).forEach((function(e,r){var n=parseFunctionRawStr(e).err;appendError(i,n,"".concat(t,"[").concat(r,"]"))}))},l=function(e,r,n){var o=!(arguments.length>3&&void 0!==arguments[3])||arguments[3];lodash__WEBPACK_IMPORTED_MODULE_0__.values(e).forEach((function(e,r){var o=e.validators,a=e.options;lodash__WEBPACK_IMPORTED_MODULE_0__.values(o).forEach((function(e,o){switch(e.type){case"string":t=parseStringValidator(e.minLength,e.maxLength).error;break;case"number":t=parseNumberValidator(e.range).error;break;case"regex":t=parseRegexRawStr(e.pattern).error}appendError(i,t,"".concat(n,"[").concat(r,"].validators[").concat(o,"]"))})),lodash__WEBPACK_IMPORTED_MODULE_0__.forEach(["denyList","allowList"],(function(e){a&&a[e]&&(t=parseRegexRawStr(a[e]).error,appendError(i,t,"".concat(n,"[").concat(r,"].options.").concat(e)))}))})),o&&lodash__WEBPACK_IMPORTED_MODULE_0__.every(lodash__WEBPACK_IMPORTED_MODULE_0__.values(e),(function(e){return"name"!==e.field}))&&appendError(i,Object(_messageUtil__WEBPACK_IMPORTED_MODULE_2__.a)(23,r))};o&&(o.services.forEach((function(e,t){var r=e.entity,n=e.options,o=e.name;u(n,"".concat(a,".inputs.services[").concat(t,"].options")),l(r,o,"".concat(a,".inputs.services[").concat(t,"].entity"))})),i=i.concat(checkDupKeyValues(o,!0,"".concat(a,".inputs"))));return n&&(n.tabs.forEach((function(e,t){var r=e.entity,n=e.options,o=e.name;u(n,"".concat(a,".configuration.tabs[").concat(t,"].options")),l(r,o,"".concat(a,".configuration.tabs[").concat(t,"].entity"),!1)})),i=i.concat(checkDupKeyValues(n,!1,"".concat(a,".configuration")))),i},validateSchema=function(e){var t=(new jsonschema__WEBPACK_IMPORTED_MODULE_1__.Validator).validate(e,_schema_schema_json__WEBPACK_IMPORTED_MODULE_3__);return t.errors.length||(t.errors=checkConfigDetails(e)),{failed:!!t.errors.length,errors:t.errors}}},function(e,t,r){"use strict";e.exports=function(e,t){return function(){for(var r=new Array(arguments.length),n=0;n=200&&e<300}};l.headers={common:{Accept:"application/json, text/plain, */*"}},n.forEach(["delete","get","head"],(function(e){l.headers[e]={}})),n.forEach(["post","put","patch"],(function(e){l.headers[e]=n.merge(i)})),e.exports=l}).call(this,r(78))},function(e,t,r){"use strict";var n=r(8),o=r(233),i=r(235),a=r(103),u=r(236),l=r(239),c=r(240),s=r(107);e.exports=function(e){return new Promise((function(t,r){var f=e.data,p=e.headers;n.isFormData(f)&&delete p["Content-Type"];var d=new XMLHttpRequest;if(e.auth){var h=e.auth.username||"",b=e.auth.password?unescape(encodeURIComponent(e.auth.password)):"";p.Authorization="Basic "+btoa(h+":"+b)}var y=u(e.baseURL,e.url);if(d.open(e.method.toUpperCase(),a(y,e.params,e.paramsSerializer),!0),d.timeout=e.timeout,d.onreadystatechange=function(){if(d&&4===d.readyState&&(0!==d.status||d.responseURL&&0===d.responseURL.indexOf("file:"))){var n="getAllResponseHeaders"in d?l(d.getAllResponseHeaders()):null,i={data:e.responseType&&"text"!==e.responseType?d.response:d.responseText,status:d.status,statusText:d.statusText,headers:n,config:e,request:d};o(t,r,i),d=null}},d.onabort=function(){d&&(r(s("Request aborted",e,"ECONNABORTED",d)),d=null)},d.onerror=function(){r(s("Network Error",e,null,d)),d=null},d.ontimeout=function(){var t="timeout of "+e.timeout+"ms exceeded";e.timeoutErrorMessage&&(t=e.timeoutErrorMessage),r(s(t,e,"ECONNABORTED",d)),d=null},n.isStandardBrowserEnv()){var v=(e.withCredentials||c(y))&&e.xsrfCookieName?i.read(e.xsrfCookieName):void 0;v&&(p[e.xsrfHeaderName]=v)}if("setRequestHeader"in d&&n.forEach(p,(function(e,t){void 0===f&&"content-type"===t.toLowerCase()?delete p[t]:d.setRequestHeader(t,e)})),n.isUndefined(e.withCredentials)||(d.withCredentials=!!e.withCredentials),e.responseType)try{d.responseType=e.responseType}catch(t){if("json"!==e.responseType)throw t}"function"==typeof e.onDownloadProgress&&d.addEventListener("progress",e.onDownloadProgress),"function"==typeof e.onUploadProgress&&d.upload&&d.upload.addEventListener("progress",e.onUploadProgress),e.cancelToken&&e.cancelToken.promise.then((function(e){d&&(d.abort(),r(e),d=null)})),f||(f=null),d.send(f)}))}},function(e,t,r){"use strict";var n=r(234);e.exports=function(e,t,r,o,i){var a=new Error(e);return n(a,t,r,o,i)}},function(e,t,r){"use strict";var n=r(8);e.exports=function(e,t){t=t||{};var r={},o=["url","method","data"],i=["headers","auth","proxy","params"],a=["baseURL","transformRequest","transformResponse","paramsSerializer","timeout","timeoutMessage","withCredentials","adapter","responseType","xsrfCookieName","xsrfHeaderName","onUploadProgress","onDownloadProgress","decompress","maxContentLength","maxBodyLength","maxRedirects","transport","httpAgent","httpsAgent","cancelToken","socketPath","responseEncoding"],u=["validateStatus"];function l(e,t){return n.isPlainObject(e)&&n.isPlainObject(t)?n.merge(e,t):n.isPlainObject(t)?n.merge({},t):n.isArray(t)?t.slice():t}function c(o){n.isUndefined(t[o])?n.isUndefined(e[o])||(r[o]=l(void 0,e[o])):r[o]=l(e[o],t[o])}n.forEach(o,(function(e){n.isUndefined(t[e])||(r[e]=l(void 0,t[e]))})),n.forEach(i,c),n.forEach(a,(function(o){n.isUndefined(t[o])?n.isUndefined(e[o])||(r[o]=l(void 0,e[o])):r[o]=l(void 0,t[o])})),n.forEach(u,(function(n){n in t?r[n]=l(e[n],t[n]):n in e&&(r[n]=l(void 0,e[n]))}));var s=o.concat(i).concat(a).concat(u),f=Object.keys(e).concat(Object.keys(t)).filter((function(e){return-1===s.indexOf(e)}));return n.forEach(f,c),r}},function(e,t,r){"use strict";function n(e){this.message=e}n.prototype.toString=function(){return"Cancel"+(this.message?": "+this.message:"")},n.prototype.__CANCEL__=!0,e.exports=n},function(e,t){e.exports=function(e,t,r,n){var o=r?r.call(n,e,t):void 0;if(void 0!==o)return!!o;if(e===t)return!0;if("object"!=typeof e||!e||"object"!=typeof t||!t)return!1;var i=Object.keys(e),a=Object.keys(t);if(i.length!==a.length)return!1;for(var u=Object.prototype.hasOwnProperty.bind(t),l=0;ln&&(n=(t=t.trim()).charCodeAt(0)),n){case 38:return t.replace(b,"$1"+e.trim());case 58:return e.trim()+t.replace(b,"$1"+e.trim());default:if(0<1*r&&0l.charCodeAt(8))break;case 115:a=a.replace(l,"-webkit-"+l)+";"+a;break;case 207:case 102:a=a.replace(l,"-webkit-"+(102u.charCodeAt(0)&&(u=u.trim()),u=[u],0d)&&(F=(U=U.replace(" ",":")).length),00&&void 0!==arguments[0]?arguments[0]:"undefined"!=typeof window?window:null;if(!e)return"enterprise";var t=e.__splunkd_partials__&&e.__splunkd_partials__["/services/server/info"]&&e.__splunkd_partials__["/services/server/info"].entry[0].content.product_type,r=e.__splunk_ui_theme__,n=e.$C&&e.$C.SPLUNK_UI_THEME;return r||n||t||"enterprise"}},function(e,t,r){"use strict";var n=e.exports.Validator=r(222);e.exports.ValidatorResult=r(18).ValidatorResult,e.exports.ValidatorResultError=r(18).ValidatorResultError,e.exports.ValidationError=r(18).ValidationError,e.exports.SchemaError=r(18).SchemaError,e.exports.SchemaScanResult=r(53).SchemaScanResult,e.exports.scan=r(53).scan,e.exports.validate=function(e,t,r){return(new n).validate(e,t,r)}},function(e){e.exports=JSON.parse('{"$schema":"http://json-schema.org/draft-04/schema#","definitions":{"AlertEntity":{"type":"object","properties":{"field":{"type":"string","pattern":"^\\\\w+$"},"label":{"type":"string","maxLength":30},"type":{"type":"string","enum":["text","singleSelect","checkbox","radio","singleSelectSplunkSearch"]},"help":{"type":"string","maxLength":200},"defaultValue":{"oneOf":[{"type":"number"},{"type":"string","maxLength":250},{"type":"boolean"}]},"required":{"type":"boolean"},"search":{"type":"string","maxLength":200},"valueField":{"type":"string","maxLength":200},"labelField":{"type":"string","maxLength":200},"options":{"type":"object","properties":{"items":{"type":"array","items":{"$ref":"#/definitions/ValueLabelPair"}}}}},"required":["field","label","type"],"additionalProperties":false},"Alerts":{"type":"object","properties":{"name":{"type":"string","pattern":"^[a-zA-Z0-9_]+$","maxLength":100},"label":{"type":"string","maxLength":100},"description":{"type":"string"},"activeResponse":{"type":"object","properties":{"task":{"type":"array","items":{"type":"string"},"minItems":1},"supportsAdhoc":{"type":"boolean"},"subject":{"type":"array","items":{"type":"string"},"minItems":1},"category":{"type":"array","items":{"type":"string"},"minItems":1},"technology":{"type":"array","items":{"$ref":"#/definitions/Technology"},"minItems":1},"drilldownUri":{"type":"string"},"sourcetype":{"type":"string","pattern":"^[a-zA-Z0-9:-_]+$","maxLength":50}},"required":["task","supportsAdhoc","subject","category","technology"]},"entity":{"type":"array","items":{"$ref":"#/definitions/AlertEntity"}}},"required":["name","label","description"],"additionalProperties":false},"ConfigurationEntity":{"type":"object","properties":{"field":{"type":"string","pattern":"(?!^(?:output_mode|output_field|owner|app|sharing)$)(?:^\\\\w+$)"},"label":{"type":"string","maxLength":30},"type":{"type":"string","enum":["custom","text","singleSelect","checkbox","multipleSelect","radio","placeholder","oauth","helpLink"]},"help":{"type":"string","maxLength":200},"tooltip":{"type":"string","maxLength":250},"defaultValue":{"oneOf":[{"type":"number"},{"type":"string","maxLength":250},{"type":"boolean"}]},"options":{"type":"object","properties":{"disableSearch":{"type":"boolean"},"autoCompleteFields":{"oneOf":[{"type":"array","items":{"type":"object","properties":{"label":{"type":"string","maxLength":150},"children":{"type":"array","items":{"$ref":"#/definitions/ValueLabelPair"}}},"required":["label","children"]}},{"type":"array","items":{"$ref":"#/definitions/ValueLabelPair"}}]},"endpointUrl":{"type":"string","maxLength":350},"denyList":{"type":"string","maxLength":350},"allowList":{"type":"string","maxLength":350},"delimiter":{"type":"string","maxLength":1},"items":{"type":"array","items":{"$ref":"#/definitions/ValueLabelPair"}},"referenceName":{"type":"string","maxLength":250},"enable":{"type":"boolean"},"placeholder":{"type":"string","maxLength":250},"display":{"type":"boolean"},"labelField":{"type":"string","maxLength":250},"src":{"type":"string","maxLength":250},"defaultValue":{"type":"string","maxLength":250},"disableonEdit":{"type":"boolean"},"basic":{"type":"array","items":{"$ref":"#/definitions/OAuthFields"}},"oauth":{"type":"array","items":{"$ref":"#/definitions/OAuthFields"}},"auth_type":{"type":"array","items":{"type":"string","maxLength":100}},"auth_label":{"type":"string","maxLength":250},"oauth_popup_width":{"type":"number"},"oauth_popup_height":{"type":"number"},"oauth_timeout":{"type":"number"},"auth_code_endpoint":{"type":"string","maxLength":350},"access_token_endpoint":{"type":"string","maxLength":350},"oauth_state_enabled":{"type":"boolean"},"text":{"type":"string","maxLength":50},"link":{"type":"string"}}},"required":{"type":"boolean"},"encrypted":{"type":"boolean"},"validators":{"type":"array","items":{"anyOf":[{"$ref":"#/definitions/StringValidator"},{"$ref":"#/definitions/NumberValidator"},{"$ref":"#/definitions/RegexValidator"},{"$ref":"#/definitions/EmailValidator"},{"$ref":"#/definitions/Ipv4Validator"},{"$ref":"#/definitions/UrlValidator"},{"$ref":"#/definitions/DateValidator"}]}}},"required":["field","label","type"],"additionalProperties":false},"ConfigurationPage":{"type":"object","properties":{"title":{"type":"string","maxLength":60},"description":{"type":"string","maxLength":200},"tabs":{"type":"array","items":{"$ref":"#/definitions/TabContent"},"minItems":1}},"required":["title","tabs"],"additionalProperties":false},"ConfigurationTable":{"type":"object","properties":{"moreInfo":{"type":"array","items":{"type":"object","properties":{"field":{"type":"string","pattern":"^\\\\w+$"},"label":{"type":"string","maxLength":30},"mapping":{"type":"object"}},"required":["field","label"]}},"header":{"type":"array","items":{"type":"object","properties":{"field":{"type":"string","pattern":"^\\\\w+$"},"label":{"type":"string","maxLength":30},"mapping":{"type":"object"},"customCell":{"type":"object"}},"required":["field","label"]}},"customRow":{"type":"object"},"actions":{"type":"array","items":{"type":"string","enum":["edit","delete","clone"]}}},"required":["header","actions"],"additionalProperties":false},"DateValidator":{"type":"object","properties":{"errorMsg":{"type":"string","maxLength":400},"type":{"type":"string","enum":["date"]}},"required":["type"],"additionalProperties":false},"EmailValidator":{"type":"object","properties":{"errorMsg":{"type":"string","maxLength":400},"type":{"type":"string","enum":["email"]}},"required":["type"],"additionalProperties":false},"Hooks":{"type":"object","properties":{"saveValidator":{"type":"string","maxLength":3000}},"additionalProperties":false},"InputsEntity":{"type":"object","properties":{"field":{"type":"string","pattern":"(?!^(?:persistentQueueSize|queueSize|start_by_shell|output_mode|output_field|owner|app|sharing)$)(?:^\\\\w+$)"},"label":{"type":"string","maxLength":30},"type":{"type":"string","enum":["custom","text","singleSelect","checkbox","multipleSelect","radio","placeholder","oauth","helpLink"]},"help":{"type":"string","maxLength":200},"tooltip":{"type":"string","maxLength":250},"defaultValue":{"oneOf":[{"type":"number"},{"type":"string","maxLength":250},{"type":"boolean"}]},"options":{"type":"object","properties":{"disableSearch":{"type":"boolean"},"autoCompleteFields":{"oneOf":[{"type":"array","items":{"type":"object","properties":{"label":{"type":"string","maxLength":150},"children":{"type":"array","items":{"$ref":"#/definitions/ValueLabelPair"}}},"required":["label","children"]}},{"type":"array","items":{"$ref":"#/definitions/ValueLabelPair"}}]},"endpointUrl":{"type":"string","maxLength":350},"denyList":{"type":"string","maxLength":350},"allowList":{"type":"string","maxLength":350},"delimiter":{"type":"string","maxLength":1},"items":{"type":"array","items":{"$ref":"#/definitions/ValueLabelPair"}},"referenceName":{"type":"string","maxLength":250},"enable":{"type":"boolean"},"placeholder":{"type":"string","maxLength":250},"display":{"type":"boolean"},"labelField":{"type":"string","maxLength":250},"src":{"type":"string","maxLength":250},"defaultValue":{"type":"string","maxLength":250},"disableonEdit":{"type":"boolean"},"basic":{"type":"array","items":{"$ref":"#/definitions/OAuthFields"}},"oauth":{"type":"array","items":{"$ref":"#/definitions/OAuthFields"}},"auth_type":{"type":"array","items":{"type":"string","maxLength":100}},"auth_label":{"type":"string","maxLength":250},"oauth_popup_width":{"type":"number"},"oauth_popup_height":{"type":"number"},"oauth_timeout":{"type":"number"},"auth_code_endpoint":{"type":"string","maxLength":350},"access_token_endpoint":{"type":"string","maxLength":350},"text":{"type":"string","maxLength":50},"link":{"type":"string"}}},"required":{"type":"boolean"},"encrypted":{"type":"boolean"},"validators":{"type":"array","items":{"anyOf":[{"$ref":"#/definitions/StringValidator"},{"$ref":"#/definitions/NumberValidator"},{"$ref":"#/definitions/RegexValidator"},{"$ref":"#/definitions/EmailValidator"},{"$ref":"#/definitions/Ipv4Validator"},{"$ref":"#/definitions/UrlValidator"},{"$ref":"#/definitions/DateValidator"}]}}},"required":["field","label","type"],"additionalProperties":false},"InputsPage":{"type":"object","properties":{"title":{"type":"string","maxLength":60},"description":{"type":"string","maxLength":200},"table":{"$ref":"#/definitions/InputsTable"},"services":{"type":"array","items":{"type":"object","properties":{"name":{"type":"string","pattern":"^[0-9a-zA-Z][0-9a-zA-Z_-]*$","maxLength":50},"title":{"type":"string","maxLength":100},"entity":{"type":"array","items":{"$ref":"#/definitions/InputsEntity"}},"options":{"$ref":"#/definitions/Hooks"},"groups":{"type":"array","items":{"type":"object","properties":{"options":{"type":"object","properties":{"isExpandable":{"type":"boolean"},"expand":{"type":"boolean"}}},"label":{"type":"string","maxLength":100},"field":{"type":"array","items":{"type":"string","pattern":"^\\\\w+$"}}},"required":["label"]}},"style":{"type":"string","enum":["page","dialog"]},"hook":{"type":"object"},"conf":{"type":"string","maxLength":100},"restHandlerName":{"type":"string","maxLength":100}},"required":["name","title","entity"]}},"menu":{"type":"object"}},"required":["title","table","services"],"additionalProperties":false},"InputsTable":{"type":"object","properties":{"moreInfo":{"type":"array","items":{"type":"object","properties":{"field":{"type":"string","pattern":"^\\\\w+$"},"label":{"type":"string","maxLength":30},"mapping":{"type":"object"}},"required":["field","label"]}},"header":{"type":"array","items":{"type":"object","properties":{"field":{"type":"string","pattern":"^\\\\w+$"},"label":{"type":"string","maxLength":30},"mapping":{"type":"object"},"customCell":{"type":"object"}},"required":["field","label"]}},"customRow":{"type":"object"},"actions":{"type":"array","items":{"type":"string","enum":["edit","delete","clone","enable"]}}},"required":["header","actions"],"additionalProperties":false},"Ipv4Validator":{"type":"object","properties":{"errorMsg":{"type":"string","maxLength":400},"type":{"type":"string","enum":["ipv4"]}},"required":["type"],"additionalProperties":false},"Meta":{"type":"object","properties":{"displayName":{"type":"string","maxLength":200},"name":{"type":"string","pattern":"^[^<>\\\\:\\"\\\\/\\\\\\\\|\\\\?\\\\*]+$"},"restRoot":{"type":"string","pattern":"^\\\\w+$"},"apiVersion":{"type":"string","pattern":"^(?:\\\\d{1,3}\\\\.){2}\\\\d{1,3}$"},"version":{"type":"string"},"schemaVersion":{"type":"string","pattern":"^(?:\\\\d{1,3}\\\\.){2}\\\\d{1,3}$"}},"required":["displayName","name","restRoot","apiVersion","version"],"additionalProperties":false},"NumberValidator":{"type":"object","properties":{"errorMsg":{"type":"string","maxLength":400},"type":{"type":"string","enum":["number"]},"range":{"type":"array","items":{"type":"number"}}},"required":["type","range"],"additionalProperties":false},"OAuthFields":{"type":"object","properties":{"oauth_field":{"type":"string","maxLength":100},"label":{"type":"string","maxLength":100},"field":{"type":"string","maxLength":100},"help":{"type":"string","maxLength":200},"encrypted":{"type":"boolean"},"required":{"type":"boolean"},"options":{"type":"object","properties":{"placeholder":{"type":"string","maxLength":250}},"additionalProperties":false}},"additionalProperties":false},"Pages":{"type":"object","properties":{"configuration":{"$ref":"#/definitions/ConfigurationPage"},"inputs":{"$ref":"#/definitions/InputsPage"}},"additionalProperties":false},"RegexValidator":{"type":"object","properties":{"errorMsg":{"type":"string","maxLength":400},"type":{"type":"string","enum":["regex"]},"pattern":{"type":"string"}},"required":["type","pattern"],"additionalProperties":false},"StringValidator":{"type":"object","properties":{"errorMsg":{"type":"string","maxLength":400},"type":{"type":"string","enum":["string"]},"minLength":{"type":"number","minimum":0},"maxLength":{"type":"number","minimum":0}},"required":["type","minLength","maxLength"],"additionalProperties":false},"TabContent":{"type":"object","properties":{"entity":{"type":"array","items":{"$ref":"#/definitions/ConfigurationEntity"}},"name":{"type":"string","pattern":"^[\\\\/\\\\w]+$","maxLength":250},"title":{"type":"string","maxLength":50},"options":{"$ref":"#/definitions/Hooks"},"table":{"$ref":"#/definitions/ConfigurationTable"},"conf":{"type":"string","maxLength":100},"restHandlerName":{"type":"string","maxLength":100},"hook":{"type":"object"}},"required":["entity","name","title"],"additionalProperties":false},"Technology":{"type":"object","properties":{"version":{"type":"array","items":{"type":"string","pattern":"^\\\\d+(?:\\\\.\\\\d+)*$"},"minItems":1},"product":{"type":"string","maxLength":100},"vendor":{"type":"string","maxLength":100}},"required":["version","product","vendor"],"additionalProperties":false},"UrlValidator":{"type":"object","properties":{"errorMsg":{"type":"string","maxLength":400},"type":{"type":"string","enum":["url"]}},"required":["type"],"additionalProperties":false},"ValueLabelPair":{"type":"object","properties":{"value":{"oneOf":[{"type":"number"},{"type":"string","maxLength":250},{"type":"boolean"}]},"label":{"type":"string","maxLength":100}},"required":["label"],"additionalProperties":false}},"type":"object","properties":{"meta":{"$ref":"#/definitions/Meta"},"pages":{"$ref":"#/definitions/Pages"},"alerts":{"type":"array","items":{"$ref":"#/definitions/Alerts"},"minItems":1}},"required":["meta","pages"],"additionalProperties":false}')},function(e,t,r){"use strict";var n,o=function(){return void 0===n&&(n=Boolean(window&&document&&document.all&&!window.atob)),n},i=function(){var e={};return function(t){if(void 0===e[t]){var r=document.querySelector(t);if(window.HTMLIFrameElement&&r instanceof window.HTMLIFrameElement)try{r=r.contentDocument.head}catch(e){r=null}e[t]=r}return e[t]}}(),a=[];function u(e){for(var t=-1,r=0;re.length)&&(t=e.length);for(var r=0,n=new Array(t);r=0||(o[r]=e[r]);return o}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(n=0;n=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(o[r]=e[r])}return o}function O(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function w(e,t){for(var r=0;rc-r.bottom?"above":"below":"horizontal"===i&&(d=r.left>s-r.right?"left":"right");var h=d,b=function(e){var t=e.align,r=e.anchorPos,n=e.outerContainerEl,o=e.padding,i=e.placement;switch(i){case"above":return{top:r.top-n.offsetHeight,left:"edge"===t?r.left-o:r.middle-n.offsetWidth/2};case"below":return{top:r.bottom,left:"edge"===t?r.left-o:r.middle-n.offsetWidth/2};case"left":return{top:"edge"===t?r.top-o:r.center-n.offsetHeight/2,left:r.left-n.offsetWidth};case"right":return{top:"edge"===t?r.top-o:r.center-n.offsetHeight/2,left:r.right};default:throw new Error("".concat(i," is not a valid placement value. Valid options are: 'above', 'below', 'left', or 'right'"))}}({align:t,anchorPos:r,outerContainerEl:a,padding:u,placement:h}),y=b.top,v=b.left,m="auto",x=s,w=c,_=h,C=r.top-a.offsetHeight>0,j=r.bottom+a.offsetHeight0,k=r.right+a.offsetWidthc-r.bottom,E=("edge"===t?r.left+a.offsetWidth-u:r.middle+a.offsetWidth/2)>s,A=("edge"===t?r.left-u:r.middle-a.offsetWidth/2)<0,T=("edge"===t?r.top-u:r.top-a.offsetHeight/2)<0,R=("edge"===t?r.top+a.offsetHeight-u:r.bottom+a.offsetHeight/2)>c;if("above"===_){if(!C&&p){if(j)return O(g(g({},e),{},{placement:"below"}));if(f&&k)return O(g(g({},e),{},{placement:"right"}));if(f&&S)return O(g(g({},e),{},{placement:"left"}));o&&(_="misaligned",y=0)}"misaligned"!==_&&(m=c-y-a.offsetHeight,n&&(m=Math.min(m,c-n.top)),y="auto"),E?v=Math.max(s-a.offsetWidth,0):A&&(v=0),o||(w=r.top)}if("below"===_){if(!j&&p){if(C&&P)return O(g(g({},e),{},{placement:"above"}));if(f&&k)return O(g(g({},e),{},{placement:"right"}));if(f&&S)return O(g(g({},e),{},{placement:"left"}));o&&(_="misaligned",y=0)}n&&(y=Math.min(y,n.bottom)),E?v=Math.max(s-a.offsetWidth,0):A&&(v=0),o||(w=c-r.bottom)}if("left"===_){if(!S&&p){if(k)return O(g(g({},e),{},{placement:"right"}));if(f&&j)return O(g(g({},e),{},{placement:"below"}));if(f&&C)return O(g(g({},e),{},{placement:"above"}));o&&(_="misaligned",y=0)}T?y=0:R&&(y=Math.max(c-a.offsetHeight,0)),o||(x=r.left)}if("right"===_){if(!k&&p){if(S)return O(g(g({},e),{},{placement:"left"}));if(f&&j)return O(g(g({},e),{},{placement:"below"}));if(f&&C)return O(g(g({},e),{},{placement:"above"}));o&&(_="misaligned",y=0)}T?y=0:R&&(y=Math.max(c-a.offsetHeight,0)),o||(x=s-r.left)}return{placement:_,maxHeight:w,maxWidth:x,outerContainerStyle:{top:y,left:v,bottom:m}}}var w=r(38),_=r(3),C=r.n(_),j=Object(f.pick)({enterprise:"8px",prisma:0}),S=C()(w.animated.div).withConfig({displayName:"PopoverStyles__Styled",componentId:"sc-1nahsvw-0"})(["position:fixed;z-index:",";left:-300%;top:-300%;"],f.variables.zindexPopover),k=C.a.div.withConfig({displayName:"PopoverStyles__StyledBox",componentId:"sc-1nahsvw-1"})(["",";",";"],f.mixins.reset("block"),(function(e){return"none"!==e.$appearance&&Object(_.css)(["padding:8px;"])})),P=C.a.div.withConfig({displayName:"PopoverStyles__StyledContent",componentId:"sc-1nahsvw-2"})(["",""],Object(f.pickVariant)("$appearance",{normal:Object(_.css)(["background-color:",";color:",";border:",";box-shadow:",";border-radius:",";"],f.variables.backgroundColorPopup,f.variables.contentColorDefault,Object(f.pick)({enterprise:{light:f.variables.border,dark:f.variables.border},prisma:"none"}),Object(f.pick)({enterprise:{light:Object(_.css)(["0 2px 2px ",""],f.mixins.colorWithAlpha(f.variables.gray20,.1)),dark:"0 1px 2px #000"},prisma:f.variables.overlayShadow}),f.variables.borderRadius),inverted:Object(_.css)(["background-color:",";color:",";"],Object(f.pick)({light:f.variables.gray20,dark:f.variables.white}),Object(f.pick)({light:f.variables.white,dark:f.variables.gray30}))})),E=C.a.div.withConfig({displayName:"PopoverStyles__StyledArrow",componentId:"sc-1nahsvw-3"})(["width:0;height:0;border-left:"," solid transparent;border-right:"," solid transparent;position:absolute;border-bottom-width:",";border-bottom-style:solid;",""],j,j,j,Object(f.pickVariant)("$appearance",{normal:Object(_.css)(["border-bottom-color:",";&::before{content:'';display:block;width:0;height:0;border-left:"," solid transparent;border-right:"," solid transparent;border-bottom:"," solid ",";position:absolute;top:1px;left:0;margin-left:-",";}"],Object(f.pick)({light:f.variables.borderColor,dark:f.variables.black}),j,j,j,f.variables.backgroundColor,j),inverted:Object(_.css)(["border-bottom-color:",";"],Object(f.pick)({light:f.variables.gray20,dark:f.variables.white}))})),A=C.a.div.withConfig({displayName:"PopoverStyles__StyledLowerRightCorner",componentId:"sc-1nahsvw-4"})(["position:fixed;right:0;bottom:0;"]),T=r(12);function R(e){return(R="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 M(){return(M=Object.assign||function(e){for(var t=1;te.length)&&(t=e.length);for(var r=0,n=new Array(t);r2&&void 0!==arguments[2]?arguments[2]:1;return!!e&&!!t&&Object(s.every)(e,(function(e,n){return Object(s.isFinite)(e)?Math.abs(t[n]-e)<=r:t[n]===e}))}var Y=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)}(r,e);var t=V(r);function r(e){var n;return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,r),K(H(n=t.call(this,e)),"outerContainerEl",null),K(H(n),"innerContainerEl",null),K(H(n),"arrow",null),K(H(n),"windowSizeMeasurementEl",null),K(H(n),"handleScroll",void 0),K(H(n),"handleWindowScroll",void 0),K(H(n),"getElPosition",(function(e){var t=e.getBoundingClientRect(),r={top:t.top,left:t.left,width:e.offsetWidth,height:e.offsetHeight},o=n.props.pointTo;return r.right=t.right||r.left+r.width,r.bottom=t.bottom||r.top+r.height,r.middle=o&&Object(s.has)(o,"x")?r.left+(o.x||0):r.left+(r.right-r.left)/2,r.center=o&&Object(s.has)(o,"y")?r.top+(o.y||0):r.top+(r.bottom-r.top)/2,r})),K(H(n),"setPlacement",(function(e){n.setState((function(t){var o,i=n.props,a=i.align,u=i.anchor,l=i.autoCloseWhenOffScreen,c=i.canCoverAnchor,f=i.defaultPlacement,p=i.open,d=i.repositionMode,h=i.splunkTheme,b=n.context||"window",y="prisma"===h.family;if(!(p&&n.outerContainerEl&&u&&t.anchorEl&&n.windowSizeMeasurementEl))return null;var v=n.getElPosition(t.anchorEl),m="window"!==b?n.getElPosition(b):void 0;if(e&&l&&n.autoCloseWhenOffScreen(v,m))return null;var g=y?0:8,x=O({align:"theme"===a?y?"edge":"center":a,anchorPos:v,scrollContainerPos:m,canCoverAnchor:c,defaultPlacement:f,repositionMode:d,outerContainerEl:n.outerContainerEl,padding:8,windowWidth:n.windowSizeMeasurementEl.offsetLeft,windowHeight:n.windowSizeMeasurementEl.offsetTop}),w=x.placement,_=x.outerContainerStyle,C=x.maxHeight,j=x.maxWidth,S=N(n.arrow?r.getArrowStyle({anchorPos:v,arrowHeight:g,outerContainerStyle:_,placement:w,outerContainerEl:n.outerContainerEl}):[],2),k=S[0],P=S[1],E="none"!==n.props.appearance&&!y,A=Q(v,t.anchorPos)&&Q(_,t.outerContainerStyle)&&w===t.placement&&C===t.maxHeight&&j===t.maxWidth,T=Q(Object(s.omit)(k,"transform"),Object(s.omit)(t.arrowStyle,"transform"))&&Q(null!=P?P:{},null!==(o=t.arrowStyleTransformMeta)&&void 0!==o?o:{});return A&&(!E||E&&T)?null:{anchorPos:v,arrowStyle:k,arrowStyleTransformMeta:P,outerContainerStyle:_,placement:w,maxHeight:C,maxWidth:j}}))})),K(H(n),"handleNewAnchor",(function(e){var t,r=(t=!e||e instanceof HTMLElement?null!=e?e:void 0:Object(u.findDOMNode)(e))?n.getElPosition(t):void 0;n.setState({anchorEl:t,anchorPos:r})})),K(H(n),"handleInnerContainerMount",(function(e){n.innerContainerEl=e,e&&n.props.takeFocus&&Object(s.defer)(v.takeFocus,e),Object(T.a)(n.props.elementRef,e)})),K(H(n),"handleTab",(function(e){n.innerContainerEl&&Object(v.handleTab)(n.innerContainerEl,e)})),K(H(n),"handleRequestClose",(function(e){n.props.open&&n.requestClose(e)})),K(H(n),"handleAnimationEnd",(function(){n.setState({animating:!1})})),K(H(n),"renderLayer",(function(){var e=n.props,t=e.animation,i=e.appearance,a=e.children,u=e.id,l=e.open,c=e.splunkTheme,f=n.state,d=f.anchorPos,h=f.arrowStyle,b=f.outerContainerStyle,y=f.placement,v="prisma"===c.family,m=v&&"inverted"===i?"normal":i,g=n.state,x=g.maxHeight,O=g.maxWidth;"none"!==i&&(Object(s.isFinite)(x)&&(x-=20),Object(s.isFinite)(O)&&(O-=20));var w={anchorHeight:d?d.height:null,anchorWidth:d?d.width:null,placement:y||null,maxHeight:x||null,maxWidth:O||null},_=t?{opacity:l?1:0}:{opacity:1};return o.a.createElement(p.Spring,{native:!0,from:{opacity:t?0:1},to:_,config:{tension:300,friction:40},onRest:n.handleAnimationEnd},(function(e){var t=e.opacity;return o.a.createElement(S,{style:I(I({},b),{},{opacity:t}),ref:function(e){n.outerContainerEl=e}},(l||n.state.animating)&&o.a.createElement(k,M({$appearance:m,"data-test":"popover",ref:n.handleInnerContainerMount,tabIndex:-1,id:u,onKeyDown:n.props.retainFocus?n.handleTab:void 0},Object(s.omit)(n.props,["anchor"].concat(L(Object(s.keys)(r.propTypes))))),"none"===i&&a,"none"!==i&&!v&&o.a.createElement(E,{$appearance:m,ref:function(e){n.arrow=e},style:h}),"none"!==i&&o.a.createElement(P,{$appearance:m},Object(s.isFunction)(a)?a(w):a)),o.a.createElement(A,{ref:function(e){n.windowSizeMeasurementEl=e}}))}))})),n.handleScroll=Object(s.throttle)(n.setPlacement.bind(H(n),!0),0),n.handleWindowScroll=Object(s.throttle)(n.setPlacement.bind(H(n),!0),0),n.setPlacement=Object(s.throttle)(n.setPlacement,0,{leading:!1}),n.state={animating:!1,prevOpen:e.open},n}return $(r,null,[{key:"getArrowStyle",value:function(e){var t=e.anchorPos,r=e.arrowHeight,n=e.placement,o=e.outerContainerStyle,i=e.outerContainerEl;if("misaligned"===n)return[{display:"none"}];var a={display:"block"},u=i.offsetHeight/2-22,l=-(i.offsetHeight/2-15),c=t.center-(o.top+i.offsetHeight/2)-r/2,f=Object(s.clamp)(c,l,u),p=t.middle-(o.left+i.offsetWidth/2)-r,d={left:{translateX:r/2,translateY:f,rotate:90},right:{translateX:-r/2,translateY:f,rotate:-90},above:{translateX:p,translateY:0,rotate:180},below:{translateX:p,translateY:0,rotate:0}}[n];a.transform="translate(".concat(d.translateX,"px, ").concat(d.translateY,"px) rotate(").concat(d.rotate,"deg)");a[{left:"right",right:"left",above:"bottom",below:"top"}[n]]="1px";return a[{left:"top",right:"top",above:"left",below:"left"}[n]]="50%",[a,d]}}]),$(r,[{key:"componentDidMount",value:function(){this.handleNewAnchor(this.props.anchor)}},{key:"componentDidUpdate",value:function(e){e.anchor!==this.props.anchor&&this.handleNewAnchor(this.props.anchor),this.innerContainerEl&&(this.props.open||this.state.animating)&&(this.setPlacement(),!e.open&&this.props.takeFocus&&Object(v.takeFocus)(this.innerContainerEl))}},{key:"componentWillUnmount",value:function(){this.setPlacement.cancel(),this.handleScroll.cancel()}},{key:"autoCloseWhenOffScreen",value:function(e,t){return(e.top<0||e.top>window.innerHeight||e.left<0||e.left>window.innerWidth||!(!t||!(e.height+e.topt.bottom||e.width+e.leftt.right)))&&(this.requestClose({reason:"offScreen"}),!0)}},{key:"requestClose",value:function(e){var t,r;Object(s.includes)(this.props.closeReasons,e.reason)&&(null===(t=(r=this.props).onRequestClose)||void 0===t||t.call(r,e))}},{key:"render",value:function(){var e=this.props.open||this.state.animating,t=this.context||"window";return["window"!==t&&o.a.createElement(c.a,{target:t,onScroll:this.handleScroll,key:"eventListener"}),o.a.createElement(c.a,{target:"window",onResize:this.setPlacement,onScroll:this.handleWindowScroll,key:"eventListenerOnWindow"}),o.a.createElement(h.a,{closeReasons:Object(s.intersection)(this.props.closeReasons.filter((function(e){return"offScreen"!==e})),h.a.possibleCloseReasons),open:e,onRequestClose:this.handleRequestClose,key:"Layer"},e&&this.renderLayer())]}}]),r}(n.Component);K(Y,"contextType",y.a),K(Y,"defaultProps",G),K(Y,"propTypes",X),K(Y,"getDerivedStateFromProps",(function(e,t){return e.open!==t.prevOpen?{animating:e.animation,prevOpen:e.open}:null}));var J=Object(f.withSplunkTheme)(Y);J.propTypes=Y.propTypes;var ee=J},15:function(e,t){e.exports=r(69)},2:function(e,t){e.exports=r(0)},26:function(e,t){e.exports=r(73)},27:function(e,t){e.exports=r(76)},3:function(e,t){e.exports=r(1)},33:function(e,t){e.exports=r(77)},38:function(e,t){e.exports=r(81)},4:function(e,t){e.exports=r(2)},47:function(e,t){e.exports=r(45)},58:function(e,t){e.exports=r(35)}})},function(e,t,r){var n=r(181),o=r(182),i=r(183),a=r(184),u=r(185);function l(e){var t=-1,r=null==e?0:e.length;for(this.clear();++t=0||(o[r]=e[r]);return o}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(n=0;n=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(o[r]=e[r])}return o}var s=function(){var e=(0,n.useContext)(o.ThemeContext)||{},t=e.splunkThemeV1,r=void 0===t?{}:t,a=c(e,["splunkThemeV1"]),l=r.family,s=r.colorScheme,f=r.density,p=r.customizer;return u(u({},a),(0,i.getCustomizedTheme)({family:l,colorScheme:s,density:f},p))};t.default=s},function(e,t,r){var n=r(66)(r(42),"Map");e.exports=n},function(e,t,r){"use strict";function n(e){return function(e){if(Array.isArray(e))return o(e)}(e)||function(e){if("undefined"!=typeof Symbol&&Symbol.iterator in Object(e))return Array.from(e)}(e)||function(e,t){if(!e)return;if("string"==typeof e)return o(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);"Object"===r&&e.constructor&&(r=e.constructor.name);if("Map"===r||"Set"===r)return Array.from(e);if("Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return o(e,t)}(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function o(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=new Array(t);r=0||(o[r]=e[r]);return o}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(n=0;n=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(o[r]=e[r])}return o}var p=c.a.svg.withConfig({displayName:"SVG__InlineSVG",componentId:"sc-13m0oii-0"})(["display:inline-block;flex:0 0 auto;overflow:visible;vertical-align:middle;"]),d=c.a.svg.withConfig({displayName:"SVG__BlockSVG",componentId:"sc-13m0oii-1"})(["display:block;flex:0 0 auto;margin:0 auto;overflow:visible;"]),h={children:a.a.node,height:a.a.oneOfType([a.a.number,a.a.string]),hideDefaultTooltip:a.a.bool,inline:a.a.bool,screenReaderText:a.a.oneOfType([a.a.string,a.a.oneOf(["null"])]),size:a.a.oneOfType([a.a.number,a.a.string]),width:a.a.oneOfType([a.a.number,a.a.string]),viewBox:a.a.string.isRequired,preserveAspectRatio:a.a.oneOf(["none","xMinYMin","xMidYMin","xMaxYMin","xMinYMid","xMidYMid","xMaxYMid","xMinYMax","xMidYMax","xMaxYMax"])};function b(e){var t=e.children,r=e.height,n=e.hideDefaultTooltip,i=void 0!==n&&n,a=e.inline,l=void 0===a||a,c=e.preserveAspectRatio,h=void 0===c?"xMidYMid":c,b=e.screenReaderText,y=e.size,v=void 0===y?.75:y,m=e.viewBox,g=e.width,x=f(e,["children","height","hideDefaultTooltip","inline","preserveAspectRatio","screenReaderText","size","viewBox","width"]);var O="number"!=typeof v?parseFloat(v):v,w=Object(u.isString)(v)?v.match(/[^\d]+/):"em",_=parseFloat(m.split(" ")[3]),C=parseFloat(m.split(" ")[2]),j=Math.max(C,_),S=Object(u.isUndefined)(r)?_/j*O:r,k=Object(u.isUndefined)(g)?C/j*O:g,P=l?p:d,E=b&&!i;return o.a.createElement(P,s({focusable:"false",height:Object(u.isString)(S)?S:"".concat(S.toFixed(4)).concat(w),width:Object(u.isString)(k)?k:"".concat(k.toFixed(4)).concat(w),viewBox:m,"aria-label":i&&null!=b?b:void 0,"aria-hidden":!b,preserveAspectRatio:h,xmlns:"http://www.w3.org/2000/svg"},x),E&&o.a.createElement("title",null,b),t)}b.propTypes=h,t.default=b},3:function(e,t){e.exports=r(3)},5:function(e,t){e.exports=r(1)},6:function(e,t){e.exports=r(2)}})},function(e,t,r){e.exports=function(e){var t={};function r(n){if(t[n])return t[n].exports;var o=t[n]={i:n,l:!1,exports:{}};return e[n].call(o.exports,o,o.exports,r),o.l=!0,o.exports}return r.m=e,r.c=t,r.d=function(e,t,n){r.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:n})},r.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},r.t=function(e,t){if(1&t&&(e=r(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var n=Object.create(null);if(r.r(n),Object.defineProperty(n,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var o in e)r.d(n,o,function(t){return e[t]}.bind(null,o));return n},r.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return r.d(t,"a",t),t},r.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},r.p="",r(r.s=172)}({0:function(e,t){e.exports=r(0)},1:function(e,t){e.exports=r(6)},172:function(e,t,r){"use strict";r.r(t),r.d(t,"default",(function(){return c}));var n=r(0),o=r.n(n),i=r(1),a=r(2),u=r.n(a);function l(){return(l=Object.assign||function(e){for(var t=1;t1&&void 0!==arguments[1]?arguments[1]:{},i=u({appBuild:t,buildPushNumber:n,buildNumber:r},o),a=e.match(/(^|\w\w-\w\w\/)static\//);if(!a)return e;var l=a.index+a[0].length-1,c=e.match(/(^|\w\w-\w\w|)static\/app/),s=c?":".concat(i.appBuild||0):"",f=i.buildPushNumber?".".concat(i.buildPushNumber):"",p="/@".concat(i.buildNumber).concat(f).concat(s),d=e.substr(0,l),h=e.substr(l);return"".concat(d).concat(p).concat(h)}function s(e,l){var s=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},f=u({appBuild:t,buildPushNumber:n,buildNumber:r,rootPath:a,locale:i},s),p=e||"/",d=l?"?".concat((0,o.stringify)(l)):"";return"/"!==p.charAt(0)&&(p="/".concat(p)),c(p="".concat(f.rootPath||"","/").concat(f.locale).concat(p).concat(d),f)}function f(e,t){return s("/help",e,t)}return{createAppDocsURL:function(e,t,r){var n=t.appName,o=t.appVersion;return f({location:"[".concat(n,":").concat(o,"]").concat(e)},r)},createDocsURL:function(e,t){return f({location:e},t)},createRESTURL:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};if(/^http[s]?:\/\//.test(e))return e;var n,o,i=r.splunkdPath||l||"";return/^\/.*/.test(e)?/^\/services/.test(e)?"".concat(i).concat(e):e:t.app||t.owner?(n=t.sharing?"nobody":t.owner?encodeURIComponent(t.owner):"-",o="system"===t.sharing?"system":t.app?encodeURIComponent(t.app):"-","".concat(i,"/servicesNS/").concat(n,"/").concat(o,"/").concat(e)):"".concat(i,"/services/").concat(e)},createStaticURL:function(e){for(var t=arguments.length,r=new Array(t>1?t-1:0),n=1;n0&&void 0!==arguments[0]?arguments[0]:(0,n.get)(i,["document","location","pathname"],""),t=e.match(/\w\w.\w\w\/(app|manager)\/([^/]+)/);return t?t[2]:void 0}t.isAvailable=l;var s=c();t.app=s;var f=a("APP_BUILD");t.appBuild=f;var p=a("BUILD_NUMBER");t.buildNumber=p;var d=a("BUILD_PUSH_NUMBER");t.buildPushNumber=d;var h=(0,n.get)(i,"$C");t.config=h;var b=a("LOCALE");t.locale=b;var y=a("MRSPARKLE_PORT_NUMBER");t.portNumber=y;var v=a("MRSPARKLE_ROOT_PATH");t.rootPath=v;var m=a("SERVER_ZONEINFO");t.serverTimezoneInfo=m;var g=a("SPLUNKD_PATH");t.splunkdPath=g;var x=a("USERNAME");t.username=x;var O=a("VERSION_LABEL");t.versionLabel=O}).call(this,r(23))},function(e,t,r){var n=r(168),o=r(186),i=r(188),a=r(189),u=r(190);function l(e){var t=-1,r=null==e?0:e.length;for(this.clear();++te.length)&&(t=e.length);for(var r=0,n=new Array(t);r=e?void 0:Object(_messageUtil__WEBPACK_IMPORTED_MODULE_2__.a)(14)}},parseFunctionRawStr=function parseFunctionRawStr(rawStr){var error,result;try{result=eval("(".concat(rawStr,")"))}catch(e){error=Object(_messageUtil__WEBPACK_IMPORTED_MODULE_2__.a)(11,rawStr)}return{error:error,result:result}},checkDupKeyValues=function(e,t,r){var n,o,i=lodash__WEBPACK_IMPORTED_MODULE_0__.get(e,t?"services":"tabs"),a=[];if(i){o="".concat(r,".").concat(t?"services":"tabs"),["name","title"].forEach((function(e){n=parseArrForDupKeys(i,e),appendError(a,n,o)}));i.forEach((function(e,t){var r="".concat(o,"[").concat(t,"].entity");e.entity&&(["field","label"].forEach((function(t,o){n=parseArrForDupKeys(e.entity,t),appendError(a,n,"".concat(r,"[").concat(o,"]"))})),e.entity.forEach((function(e,t){!function(e,t){var r=e.options;if(r){var o=r.items,i=r.autoCompleteFields;if(o&&["label","value"].forEach((function(e){n=parseArrForDupKeys(o,e),appendError(a,n,"".concat(t,".options.items"))})),i){var u=!!i[0].children;(u?i.map((function(e){return e.children})):[i]).forEach((function(e){n=parseArrForDupKeys(e,"label"),appendError(a,n,"".concat(t,".options.autoCompleteFields"))})),u&&(i=lodash__WEBPACK_IMPORTED_MODULE_0__.flatten(lodash__WEBPACK_IMPORTED_MODULE_0__.union(i.map((function(e){return e.children}))))),n=parseArrForDupKeys(i,"value"),appendError(a,n,"".concat(t,".options.autoCompleteFields"))}}}(e,"".concat(r,"[").concat(t,"]"))})))}))}return a},checkConfigDetails=function(e){var t,r=e.pages,n=r.configuration,o=r.inputs,i=[],a="instantce.pages",u=function(e,t){lodash__WEBPACK_IMPORTED_MODULE_0__.values(e).forEach((function(e,r){var n=parseFunctionRawStr(e).err;appendError(i,n,"".concat(t,"[").concat(r,"]"))}))},l=function(e,r,n){var o=!(arguments.length>3&&void 0!==arguments[3])||arguments[3];lodash__WEBPACK_IMPORTED_MODULE_0__.values(e).forEach((function(e,r){var o=e.validators,a=e.options;lodash__WEBPACK_IMPORTED_MODULE_0__.values(o).forEach((function(e,o){switch(e.type){case"string":t=parseStringValidator(e.minLength,e.maxLength).error;break;case"number":t=parseNumberValidator(e.range).error;break;case"regex":t=parseRegexRawStr(e.pattern).error}appendError(i,t,"".concat(n,"[").concat(r,"].validators[").concat(o,"]"))})),lodash__WEBPACK_IMPORTED_MODULE_0__.forEach(["denyList","allowList"],(function(e){a&&a[e]&&(t=parseRegexRawStr(a[e]).error,appendError(i,t,"".concat(n,"[").concat(r,"].options.").concat(e)))}))})),o&&lodash__WEBPACK_IMPORTED_MODULE_0__.every(lodash__WEBPACK_IMPORTED_MODULE_0__.values(e),(function(e){return"name"!==e.field}))&&appendError(i,Object(_messageUtil__WEBPACK_IMPORTED_MODULE_2__.a)(23,r))};o&&(o.services.forEach((function(e,t){var r=e.entity,n=e.options,o=e.name;u(n,"".concat(a,".inputs.services[").concat(t,"].options")),l(r,o,"".concat(a,".inputs.services[").concat(t,"].entity"))})),i=i.concat(checkDupKeyValues(o,!0,"".concat(a,".inputs"))));return n&&(n.tabs.forEach((function(e,t){var r=e.entity,n=e.options,o=e.name;u(n,"".concat(a,".configuration.tabs[").concat(t,"].options")),l(r,o,"".concat(a,".configuration.tabs[").concat(t,"].entity"),!1)})),i=i.concat(checkDupKeyValues(n,!1,"".concat(a,".configuration")))),i},validateSchema=function(e){var t=(new jsonschema__WEBPACK_IMPORTED_MODULE_1__.Validator).validate(e,_schema_schema_json__WEBPACK_IMPORTED_MODULE_3__);return t.errors.length||(t.errors=checkConfigDetails(e)),{failed:!!t.errors.length,errors:t.errors}}},function(e,t,r){"use strict";e.exports=function(e,t){return function(){for(var r=new Array(arguments.length),n=0;n=200&&e<300}};l.headers={common:{Accept:"application/json, text/plain, */*"}},n.forEach(["delete","get","head"],(function(e){l.headers[e]={}})),n.forEach(["post","put","patch"],(function(e){l.headers[e]=n.merge(i)})),e.exports=l}).call(this,r(78))},function(e,t,r){"use strict";var n=r(8),o=r(233),i=r(235),a=r(103),u=r(236),l=r(239),c=r(240),s=r(107);e.exports=function(e){return new Promise((function(t,r){var f=e.data,p=e.headers;n.isFormData(f)&&delete p["Content-Type"];var d=new XMLHttpRequest;if(e.auth){var h=e.auth.username||"",b=e.auth.password?unescape(encodeURIComponent(e.auth.password)):"";p.Authorization="Basic "+btoa(h+":"+b)}var y=u(e.baseURL,e.url);if(d.open(e.method.toUpperCase(),a(y,e.params,e.paramsSerializer),!0),d.timeout=e.timeout,d.onreadystatechange=function(){if(d&&4===d.readyState&&(0!==d.status||d.responseURL&&0===d.responseURL.indexOf("file:"))){var n="getAllResponseHeaders"in d?l(d.getAllResponseHeaders()):null,i={data:e.responseType&&"text"!==e.responseType?d.response:d.responseText,status:d.status,statusText:d.statusText,headers:n,config:e,request:d};o(t,r,i),d=null}},d.onabort=function(){d&&(r(s("Request aborted",e,"ECONNABORTED",d)),d=null)},d.onerror=function(){r(s("Network Error",e,null,d)),d=null},d.ontimeout=function(){var t="timeout of "+e.timeout+"ms exceeded";e.timeoutErrorMessage&&(t=e.timeoutErrorMessage),r(s(t,e,"ECONNABORTED",d)),d=null},n.isStandardBrowserEnv()){var v=(e.withCredentials||c(y))&&e.xsrfCookieName?i.read(e.xsrfCookieName):void 0;v&&(p[e.xsrfHeaderName]=v)}if("setRequestHeader"in d&&n.forEach(p,(function(e,t){void 0===f&&"content-type"===t.toLowerCase()?delete p[t]:d.setRequestHeader(t,e)})),n.isUndefined(e.withCredentials)||(d.withCredentials=!!e.withCredentials),e.responseType)try{d.responseType=e.responseType}catch(t){if("json"!==e.responseType)throw t}"function"==typeof e.onDownloadProgress&&d.addEventListener("progress",e.onDownloadProgress),"function"==typeof e.onUploadProgress&&d.upload&&d.upload.addEventListener("progress",e.onUploadProgress),e.cancelToken&&e.cancelToken.promise.then((function(e){d&&(d.abort(),r(e),d=null)})),f||(f=null),d.send(f)}))}},function(e,t,r){"use strict";var n=r(234);e.exports=function(e,t,r,o,i){var a=new Error(e);return n(a,t,r,o,i)}},function(e,t,r){"use strict";var n=r(8);e.exports=function(e,t){t=t||{};var r={},o=["url","method","data"],i=["headers","auth","proxy","params"],a=["baseURL","transformRequest","transformResponse","paramsSerializer","timeout","timeoutMessage","withCredentials","adapter","responseType","xsrfCookieName","xsrfHeaderName","onUploadProgress","onDownloadProgress","decompress","maxContentLength","maxBodyLength","maxRedirects","transport","httpAgent","httpsAgent","cancelToken","socketPath","responseEncoding"],u=["validateStatus"];function l(e,t){return n.isPlainObject(e)&&n.isPlainObject(t)?n.merge(e,t):n.isPlainObject(t)?n.merge({},t):n.isArray(t)?t.slice():t}function c(o){n.isUndefined(t[o])?n.isUndefined(e[o])||(r[o]=l(void 0,e[o])):r[o]=l(e[o],t[o])}n.forEach(o,(function(e){n.isUndefined(t[e])||(r[e]=l(void 0,t[e]))})),n.forEach(i,c),n.forEach(a,(function(o){n.isUndefined(t[o])?n.isUndefined(e[o])||(r[o]=l(void 0,e[o])):r[o]=l(void 0,t[o])})),n.forEach(u,(function(n){n in t?r[n]=l(e[n],t[n]):n in e&&(r[n]=l(void 0,e[n]))}));var s=o.concat(i).concat(a).concat(u),f=Object.keys(e).concat(Object.keys(t)).filter((function(e){return-1===s.indexOf(e)}));return n.forEach(f,c),r}},function(e,t,r){"use strict";function n(e){this.message=e}n.prototype.toString=function(){return"Cancel"+(this.message?": "+this.message:"")},n.prototype.__CANCEL__=!0,e.exports=n},function(e,t){e.exports=function(e,t,r,n){var o=r?r.call(n,e,t):void 0;if(void 0!==o)return!!o;if(e===t)return!0;if("object"!=typeof e||!e||"object"!=typeof t||!t)return!1;var i=Object.keys(e),a=Object.keys(t);if(i.length!==a.length)return!1;for(var u=Object.prototype.hasOwnProperty.bind(t),l=0;ln&&(n=(t=t.trim()).charCodeAt(0)),n){case 38:return t.replace(b,"$1"+e.trim());case 58:return e.trim()+t.replace(b,"$1"+e.trim());default:if(0<1*r&&0l.charCodeAt(8))break;case 115:a=a.replace(l,"-webkit-"+l)+";"+a;break;case 207:case 102:a=a.replace(l,"-webkit-"+(102u.charCodeAt(0)&&(u=u.trim()),u=[u],0d)&&(F=(U=U.replace(" ",":")).length),00&&void 0!==arguments[0]?arguments[0]:"undefined"!=typeof window?window:null;if(!e)return"enterprise";var t=e.__splunkd_partials__&&e.__splunkd_partials__["/services/server/info"]&&e.__splunkd_partials__["/services/server/info"].entry[0].content.product_type,r=e.__splunk_ui_theme__,n=e.$C&&e.$C.SPLUNK_UI_THEME;return r||n||t||"enterprise"}},function(e,t,r){"use strict";var n=e.exports.Validator=r(222);e.exports.ValidatorResult=r(18).ValidatorResult,e.exports.ValidatorResultError=r(18).ValidatorResultError,e.exports.ValidationError=r(18).ValidationError,e.exports.SchemaError=r(18).SchemaError,e.exports.SchemaScanResult=r(53).SchemaScanResult,e.exports.scan=r(53).scan,e.exports.validate=function(e,t,r){return(new n).validate(e,t,r)}},function(e){e.exports=JSON.parse('{"$schema":"http://json-schema.org/draft-04/schema#","definitions":{"AlertEntity":{"type":"object","properties":{"field":{"type":"string","pattern":"^\\\\w+$"},"label":{"type":"string","maxLength":30},"type":{"type":"string","enum":["text","singleSelect","checkbox","radio","singleSelectSplunkSearch"]},"help":{"type":"string","maxLength":200},"defaultValue":{"oneOf":[{"type":"number"},{"type":"string","maxLength":250},{"type":"boolean"}]},"required":{"type":"boolean"},"search":{"type":"string","maxLength":200},"valueField":{"type":"string","maxLength":200},"labelField":{"type":"string","maxLength":200},"options":{"type":"object","properties":{"items":{"type":"array","items":{"$ref":"#/definitions/ValueLabelPair"}}}}},"required":["field","label","type"],"additionalProperties":false},"Alerts":{"type":"object","properties":{"name":{"type":"string","pattern":"^[a-zA-Z0-9_]+$","maxLength":100},"label":{"type":"string","maxLength":100},"description":{"type":"string"},"activeResponse":{"type":"object","properties":{"task":{"type":"array","items":{"type":"string"},"minItems":1},"supportsAdhoc":{"type":"boolean"},"subject":{"type":"array","items":{"type":"string"},"minItems":1},"category":{"type":"array","items":{"type":"string"},"minItems":1},"technology":{"type":"array","items":{"$ref":"#/definitions/Technology"},"minItems":1},"drilldownUri":{"type":"string"},"sourcetype":{"type":"string","pattern":"^[a-zA-Z0-9:-_]+$","maxLength":50}},"required":["task","supportsAdhoc","subject","category","technology"]},"entity":{"type":"array","items":{"$ref":"#/definitions/AlertEntity"}}},"required":["name","label","description"],"additionalProperties":false},"ConfigurationEntity":{"type":"object","properties":{"field":{"type":"string","pattern":"(?!^(?:output_mode|output_field|owner|app|sharing)$)(?:^\\\\w+$)"},"label":{"type":"string","maxLength":30},"type":{"type":"string","enum":["custom","text","singleSelect","checkbox","multipleSelect","radio","placeholder","oauth","helpLink"]},"help":{"type":"string","maxLength":200},"tooltip":{"type":"string","maxLength":250},"defaultValue":{"oneOf":[{"type":"number"},{"type":"string","maxLength":250},{"type":"boolean"}]},"options":{"type":"object","properties":{"disableSearch":{"type":"boolean"},"autoCompleteFields":{"oneOf":[{"type":"array","items":{"type":"object","properties":{"label":{"type":"string","maxLength":150},"children":{"type":"array","items":{"$ref":"#/definitions/ValueLabelPair"}}},"required":["label","children"]}},{"type":"array","items":{"$ref":"#/definitions/ValueLabelPair"}}]},"endpointUrl":{"type":"string","maxLength":350},"denyList":{"type":"string","maxLength":350},"allowList":{"type":"string","maxLength":350},"delimiter":{"type":"string","maxLength":1},"items":{"type":"array","items":{"$ref":"#/definitions/ValueLabelPair"}},"referenceName":{"type":"string","maxLength":250},"enable":{"type":"boolean"},"placeholder":{"type":"string","maxLength":250},"display":{"type":"boolean"},"labelField":{"type":"string","maxLength":250},"src":{"type":"string","maxLength":250},"defaultValue":{"type":"string","maxLength":250},"disableonEdit":{"type":"boolean"},"basic":{"type":"array","items":{"$ref":"#/definitions/OAuthFields"}},"oauth":{"type":"array","items":{"$ref":"#/definitions/OAuthFields"}},"auth_type":{"type":"array","items":{"type":"string","maxLength":100}},"auth_label":{"type":"string","maxLength":250},"oauth_popup_width":{"type":"number"},"oauth_popup_height":{"type":"number"},"oauth_timeout":{"type":"number"},"auth_code_endpoint":{"type":"string","maxLength":350},"access_token_endpoint":{"type":"string","maxLength":350},"oauth_state_enabled":{"type":"boolean"},"text":{"type":"string","maxLength":50},"link":{"type":"string"}}},"required":{"type":"boolean"},"encrypted":{"type":"boolean"},"validators":{"type":"array","items":{"anyOf":[{"$ref":"#/definitions/StringValidator"},{"$ref":"#/definitions/NumberValidator"},{"$ref":"#/definitions/RegexValidator"},{"$ref":"#/definitions/EmailValidator"},{"$ref":"#/definitions/Ipv4Validator"},{"$ref":"#/definitions/UrlValidator"},{"$ref":"#/definitions/DateValidator"}]}}},"required":["field","label","type"],"additionalProperties":false},"ConfigurationPage":{"type":"object","properties":{"title":{"type":"string","maxLength":60},"description":{"type":"string","maxLength":200},"tabs":{"type":"array","items":{"$ref":"#/definitions/TabContent"},"minItems":1}},"required":["title","tabs"],"additionalProperties":false},"ConfigurationTable":{"type":"object","properties":{"moreInfo":{"type":"array","items":{"type":"object","properties":{"field":{"type":"string","pattern":"^\\\\w+$"},"label":{"type":"string","maxLength":30},"mapping":{"type":"object"}},"required":["field","label"]}},"header":{"type":"array","items":{"type":"object","properties":{"field":{"type":"string","pattern":"^\\\\w+$"},"label":{"type":"string","maxLength":30},"mapping":{"type":"object"},"customCell":{"type":"object"}},"required":["field","label"]}},"customRow":{"type":"object"},"actions":{"type":"array","items":{"type":"string","enum":["edit","delete","clone"]}}},"required":["header","actions"],"additionalProperties":false},"DateValidator":{"type":"object","properties":{"errorMsg":{"type":"string","maxLength":400},"type":{"type":"string","enum":["date"]}},"required":["type"],"additionalProperties":false},"EmailValidator":{"type":"object","properties":{"errorMsg":{"type":"string","maxLength":400},"type":{"type":"string","enum":["email"]}},"required":["type"],"additionalProperties":false},"Hooks":{"type":"object","properties":{"saveValidator":{"type":"string","maxLength":3000}},"additionalProperties":false},"InputsEntity":{"type":"object","properties":{"field":{"type":"string","pattern":"(?!^(?:persistentQueueSize|queueSize|start_by_shell|output_mode|output_field|owner|app|sharing)$)(?:^\\\\w+$)"},"label":{"type":"string","maxLength":30},"type":{"type":"string","enum":["custom","text","singleSelect","checkbox","multipleSelect","radio","placeholder","oauth","helpLink"]},"help":{"type":"string","maxLength":200},"tooltip":{"type":"string","maxLength":250},"defaultValue":{"oneOf":[{"type":"number"},{"type":"string","maxLength":250},{"type":"boolean"}]},"options":{"type":"object","properties":{"disableSearch":{"type":"boolean"},"autoCompleteFields":{"oneOf":[{"type":"array","items":{"type":"object","properties":{"label":{"type":"string","maxLength":150},"children":{"type":"array","items":{"$ref":"#/definitions/ValueLabelPair"}}},"required":["label","children"]}},{"type":"array","items":{"$ref":"#/definitions/ValueLabelPair"}}]},"endpointUrl":{"type":"string","maxLength":350},"denyList":{"type":"string","maxLength":350},"allowList":{"type":"string","maxLength":350},"delimiter":{"type":"string","maxLength":1},"items":{"type":"array","items":{"$ref":"#/definitions/ValueLabelPair"}},"referenceName":{"type":"string","maxLength":250},"enable":{"type":"boolean"},"placeholder":{"type":"string","maxLength":250},"display":{"type":"boolean"},"labelField":{"type":"string","maxLength":250},"src":{"type":"string","maxLength":250},"defaultValue":{"type":"string","maxLength":250},"disableonEdit":{"type":"boolean"},"basic":{"type":"array","items":{"$ref":"#/definitions/OAuthFields"}},"oauth":{"type":"array","items":{"$ref":"#/definitions/OAuthFields"}},"auth_type":{"type":"array","items":{"type":"string","maxLength":100}},"auth_label":{"type":"string","maxLength":250},"oauth_popup_width":{"type":"number"},"oauth_popup_height":{"type":"number"},"oauth_timeout":{"type":"number"},"auth_code_endpoint":{"type":"string","maxLength":350},"access_token_endpoint":{"type":"string","maxLength":350},"text":{"type":"string","maxLength":50},"link":{"type":"string"}}},"required":{"type":"boolean"},"encrypted":{"type":"boolean"},"validators":{"type":"array","items":{"anyOf":[{"$ref":"#/definitions/StringValidator"},{"$ref":"#/definitions/NumberValidator"},{"$ref":"#/definitions/RegexValidator"},{"$ref":"#/definitions/EmailValidator"},{"$ref":"#/definitions/Ipv4Validator"},{"$ref":"#/definitions/UrlValidator"},{"$ref":"#/definitions/DateValidator"}]}}},"required":["field","label","type"],"additionalProperties":false},"InputsPage":{"type":"object","properties":{"title":{"type":"string","maxLength":60},"description":{"type":"string","maxLength":200},"table":{"$ref":"#/definitions/InputsTable"},"services":{"type":"array","items":{"type":"object","properties":{"name":{"type":"string","pattern":"^[0-9a-zA-Z][0-9a-zA-Z_-]*$","maxLength":50},"title":{"type":"string","maxLength":100},"entity":{"type":"array","items":{"$ref":"#/definitions/InputsEntity"}},"options":{"$ref":"#/definitions/Hooks"},"groups":{"type":"array","items":{"type":"object","properties":{"options":{"type":"object","properties":{"isExpandable":{"type":"boolean"},"expand":{"type":"boolean"}}},"label":{"type":"string","maxLength":100},"field":{"type":"array","items":{"type":"string","pattern":"^\\\\w+$"}}},"required":["label"]}},"style":{"type":"string","enum":["page","dialog"]},"hook":{"type":"object"},"conf":{"type":"string","maxLength":100},"restHandlerName":{"type":"string","maxLength":100}},"required":["name","title","entity"]}},"menu":{"type":"object"}},"required":["title","table","services"],"additionalProperties":false},"InputsTable":{"type":"object","properties":{"moreInfo":{"type":"array","items":{"type":"object","properties":{"field":{"type":"string","pattern":"^\\\\w+$"},"label":{"type":"string","maxLength":30},"mapping":{"type":"object"}},"required":["field","label"]}},"header":{"type":"array","items":{"type":"object","properties":{"field":{"type":"string","pattern":"^\\\\w+$"},"label":{"type":"string","maxLength":30},"mapping":{"type":"object"},"customCell":{"type":"object"}},"required":["field","label"]}},"customRow":{"type":"object"},"actions":{"type":"array","items":{"type":"string","enum":["edit","delete","clone","enable"]}}},"required":["header","actions"],"additionalProperties":false},"Ipv4Validator":{"type":"object","properties":{"errorMsg":{"type":"string","maxLength":400},"type":{"type":"string","enum":["ipv4"]}},"required":["type"],"additionalProperties":false},"Meta":{"type":"object","properties":{"displayName":{"type":"string","maxLength":200},"name":{"type":"string","pattern":"^[^<>\\\\:\\"\\\\/\\\\\\\\|\\\\?\\\\*]+$"},"restRoot":{"type":"string","pattern":"^\\\\w+$"},"apiVersion":{"type":"string","pattern":"^(?:\\\\d{1,3}\\\\.){2}\\\\d{1,3}$"},"version":{"type":"string"},"schemaVersion":{"type":"string","pattern":"^(?:\\\\d{1,3}\\\\.){2}\\\\d{1,3}$"}},"required":["displayName","name","restRoot","version"],"additionalProperties":false},"NumberValidator":{"type":"object","properties":{"errorMsg":{"type":"string","maxLength":400},"type":{"type":"string","enum":["number"]},"range":{"type":"array","items":{"type":"number"}}},"required":["type","range"],"additionalProperties":false},"OAuthFields":{"type":"object","properties":{"oauth_field":{"type":"string","maxLength":100},"label":{"type":"string","maxLength":100},"field":{"type":"string","maxLength":100},"help":{"type":"string","maxLength":200},"encrypted":{"type":"boolean"},"required":{"type":"boolean"},"options":{"type":"object","properties":{"placeholder":{"type":"string","maxLength":250}},"additionalProperties":false}},"additionalProperties":false},"Pages":{"type":"object","properties":{"configuration":{"$ref":"#/definitions/ConfigurationPage"},"inputs":{"$ref":"#/definitions/InputsPage"}},"additionalProperties":false},"RegexValidator":{"type":"object","properties":{"errorMsg":{"type":"string","maxLength":400},"type":{"type":"string","enum":["regex"]},"pattern":{"type":"string"}},"required":["type","pattern"],"additionalProperties":false},"StringValidator":{"type":"object","properties":{"errorMsg":{"type":"string","maxLength":400},"type":{"type":"string","enum":["string"]},"minLength":{"type":"number","minimum":0},"maxLength":{"type":"number","minimum":0}},"required":["type","minLength","maxLength"],"additionalProperties":false},"TabContent":{"type":"object","properties":{"entity":{"type":"array","items":{"$ref":"#/definitions/ConfigurationEntity"}},"name":{"type":"string","pattern":"^[\\\\/\\\\w]+$","maxLength":250},"title":{"type":"string","maxLength":50},"options":{"$ref":"#/definitions/Hooks"},"table":{"$ref":"#/definitions/ConfigurationTable"},"conf":{"type":"string","maxLength":100},"restHandlerName":{"type":"string","maxLength":100},"hook":{"type":"object"}},"required":["entity","name","title"],"additionalProperties":false},"Technology":{"type":"object","properties":{"version":{"type":"array","items":{"type":"string","pattern":"^\\\\d+(?:\\\\.\\\\d+)*$"},"minItems":1},"product":{"type":"string","maxLength":100},"vendor":{"type":"string","maxLength":100}},"required":["version","product","vendor"],"additionalProperties":false},"UrlValidator":{"type":"object","properties":{"errorMsg":{"type":"string","maxLength":400},"type":{"type":"string","enum":["url"]}},"required":["type"],"additionalProperties":false},"ValueLabelPair":{"type":"object","properties":{"value":{"oneOf":[{"type":"number"},{"type":"string","maxLength":250},{"type":"boolean"}]},"label":{"type":"string","maxLength":100}},"required":["label"],"additionalProperties":false}},"type":"object","properties":{"meta":{"$ref":"#/definitions/Meta"},"pages":{"$ref":"#/definitions/Pages"},"alerts":{"type":"array","items":{"$ref":"#/definitions/Alerts"},"minItems":1}},"required":["meta","pages"],"additionalProperties":false}')},function(e,t,r){"use strict";var n,o=function(){return void 0===n&&(n=Boolean(window&&document&&document.all&&!window.atob)),n},i=function(){var e={};return function(t){if(void 0===e[t]){var r=document.querySelector(t);if(window.HTMLIFrameElement&&r instanceof window.HTMLIFrameElement)try{r=r.contentDocument.head}catch(e){r=null}e[t]=r}return e[t]}}(),a=[];function u(e){for(var t=-1,r=0;re.length)&&(t=e.length);for(var r=0,n=new Array(t);r=0||(o[r]=e[r]);return o}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(n=0;n=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(o[r]=e[r])}return o}function O(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function w(e,t){for(var r=0;rc-r.bottom?"above":"below":"horizontal"===i&&(d=r.left>s-r.right?"left":"right");var h=d,b=function(e){var t=e.align,r=e.anchorPos,n=e.outerContainerEl,o=e.padding,i=e.placement;switch(i){case"above":return{top:r.top-n.offsetHeight,left:"edge"===t?r.left-o:r.middle-n.offsetWidth/2};case"below":return{top:r.bottom,left:"edge"===t?r.left-o:r.middle-n.offsetWidth/2};case"left":return{top:"edge"===t?r.top-o:r.center-n.offsetHeight/2,left:r.left-n.offsetWidth};case"right":return{top:"edge"===t?r.top-o:r.center-n.offsetHeight/2,left:r.right};default:throw new Error("".concat(i," is not a valid placement value. Valid options are: 'above', 'below', 'left', or 'right'"))}}({align:t,anchorPos:r,outerContainerEl:a,padding:u,placement:h}),y=b.top,v=b.left,m="auto",x=s,w=c,_=h,C=r.top-a.offsetHeight>0,j=r.bottom+a.offsetHeight0,k=r.right+a.offsetWidthc-r.bottom,E=("edge"===t?r.left+a.offsetWidth-u:r.middle+a.offsetWidth/2)>s,A=("edge"===t?r.left-u:r.middle-a.offsetWidth/2)<0,T=("edge"===t?r.top-u:r.top-a.offsetHeight/2)<0,R=("edge"===t?r.top+a.offsetHeight-u:r.bottom+a.offsetHeight/2)>c;if("above"===_){if(!C&&p){if(j)return O(g(g({},e),{},{placement:"below"}));if(f&&k)return O(g(g({},e),{},{placement:"right"}));if(f&&S)return O(g(g({},e),{},{placement:"left"}));o&&(_="misaligned",y=0)}"misaligned"!==_&&(m=c-y-a.offsetHeight,n&&(m=Math.min(m,c-n.top)),y="auto"),E?v=Math.max(s-a.offsetWidth,0):A&&(v=0),o||(w=r.top)}if("below"===_){if(!j&&p){if(C&&P)return O(g(g({},e),{},{placement:"above"}));if(f&&k)return O(g(g({},e),{},{placement:"right"}));if(f&&S)return O(g(g({},e),{},{placement:"left"}));o&&(_="misaligned",y=0)}n&&(y=Math.min(y,n.bottom)),E?v=Math.max(s-a.offsetWidth,0):A&&(v=0),o||(w=c-r.bottom)}if("left"===_){if(!S&&p){if(k)return O(g(g({},e),{},{placement:"right"}));if(f&&j)return O(g(g({},e),{},{placement:"below"}));if(f&&C)return O(g(g({},e),{},{placement:"above"}));o&&(_="misaligned",y=0)}T?y=0:R&&(y=Math.max(c-a.offsetHeight,0)),o||(x=r.left)}if("right"===_){if(!k&&p){if(S)return O(g(g({},e),{},{placement:"left"}));if(f&&j)return O(g(g({},e),{},{placement:"below"}));if(f&&C)return O(g(g({},e),{},{placement:"above"}));o&&(_="misaligned",y=0)}T?y=0:R&&(y=Math.max(c-a.offsetHeight,0)),o||(x=s-r.left)}return{placement:_,maxHeight:w,maxWidth:x,outerContainerStyle:{top:y,left:v,bottom:m}}}var w=r(38),_=r(3),C=r.n(_),j=Object(f.pick)({enterprise:"8px",prisma:0}),S=C()(w.animated.div).withConfig({displayName:"PopoverStyles__Styled",componentId:"sc-1nahsvw-0"})(["position:fixed;z-index:",";left:-300%;top:-300%;"],f.variables.zindexPopover),k=C.a.div.withConfig({displayName:"PopoverStyles__StyledBox",componentId:"sc-1nahsvw-1"})(["",";",";"],f.mixins.reset("block"),(function(e){return"none"!==e.$appearance&&Object(_.css)(["padding:8px;"])})),P=C.a.div.withConfig({displayName:"PopoverStyles__StyledContent",componentId:"sc-1nahsvw-2"})(["",""],Object(f.pickVariant)("$appearance",{normal:Object(_.css)(["background-color:",";color:",";border:",";box-shadow:",";border-radius:",";"],f.variables.backgroundColorPopup,f.variables.contentColorDefault,Object(f.pick)({enterprise:{light:f.variables.border,dark:f.variables.border},prisma:"none"}),Object(f.pick)({enterprise:{light:Object(_.css)(["0 2px 2px ",""],f.mixins.colorWithAlpha(f.variables.gray20,.1)),dark:"0 1px 2px #000"},prisma:f.variables.overlayShadow}),f.variables.borderRadius),inverted:Object(_.css)(["background-color:",";color:",";"],Object(f.pick)({light:f.variables.gray20,dark:f.variables.white}),Object(f.pick)({light:f.variables.white,dark:f.variables.gray30}))})),E=C.a.div.withConfig({displayName:"PopoverStyles__StyledArrow",componentId:"sc-1nahsvw-3"})(["width:0;height:0;border-left:"," solid transparent;border-right:"," solid transparent;position:absolute;border-bottom-width:",";border-bottom-style:solid;",""],j,j,j,Object(f.pickVariant)("$appearance",{normal:Object(_.css)(["border-bottom-color:",";&::before{content:'';display:block;width:0;height:0;border-left:"," solid transparent;border-right:"," solid transparent;border-bottom:"," solid ",";position:absolute;top:1px;left:0;margin-left:-",";}"],Object(f.pick)({light:f.variables.borderColor,dark:f.variables.black}),j,j,j,f.variables.backgroundColor,j),inverted:Object(_.css)(["border-bottom-color:",";"],Object(f.pick)({light:f.variables.gray20,dark:f.variables.white}))})),A=C.a.div.withConfig({displayName:"PopoverStyles__StyledLowerRightCorner",componentId:"sc-1nahsvw-4"})(["position:fixed;right:0;bottom:0;"]),T=r(12);function R(e){return(R="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 M(){return(M=Object.assign||function(e){for(var t=1;te.length)&&(t=e.length);for(var r=0,n=new Array(t);r2&&void 0!==arguments[2]?arguments[2]:1;return!!e&&!!t&&Object(s.every)(e,(function(e,n){return Object(s.isFinite)(e)?Math.abs(t[n]-e)<=r:t[n]===e}))}var Y=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)}(r,e);var t=V(r);function r(e){var n;return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,r),K(H(n=t.call(this,e)),"outerContainerEl",null),K(H(n),"innerContainerEl",null),K(H(n),"arrow",null),K(H(n),"windowSizeMeasurementEl",null),K(H(n),"handleScroll",void 0),K(H(n),"handleWindowScroll",void 0),K(H(n),"getElPosition",(function(e){var t=e.getBoundingClientRect(),r={top:t.top,left:t.left,width:e.offsetWidth,height:e.offsetHeight},o=n.props.pointTo;return r.right=t.right||r.left+r.width,r.bottom=t.bottom||r.top+r.height,r.middle=o&&Object(s.has)(o,"x")?r.left+(o.x||0):r.left+(r.right-r.left)/2,r.center=o&&Object(s.has)(o,"y")?r.top+(o.y||0):r.top+(r.bottom-r.top)/2,r})),K(H(n),"setPlacement",(function(e){n.setState((function(t){var o,i=n.props,a=i.align,u=i.anchor,l=i.autoCloseWhenOffScreen,c=i.canCoverAnchor,f=i.defaultPlacement,p=i.open,d=i.repositionMode,h=i.splunkTheme,b=n.context||"window",y="prisma"===h.family;if(!(p&&n.outerContainerEl&&u&&t.anchorEl&&n.windowSizeMeasurementEl))return null;var v=n.getElPosition(t.anchorEl),m="window"!==b?n.getElPosition(b):void 0;if(e&&l&&n.autoCloseWhenOffScreen(v,m))return null;var g=y?0:8,x=O({align:"theme"===a?y?"edge":"center":a,anchorPos:v,scrollContainerPos:m,canCoverAnchor:c,defaultPlacement:f,repositionMode:d,outerContainerEl:n.outerContainerEl,padding:8,windowWidth:n.windowSizeMeasurementEl.offsetLeft,windowHeight:n.windowSizeMeasurementEl.offsetTop}),w=x.placement,_=x.outerContainerStyle,C=x.maxHeight,j=x.maxWidth,S=N(n.arrow?r.getArrowStyle({anchorPos:v,arrowHeight:g,outerContainerStyle:_,placement:w,outerContainerEl:n.outerContainerEl}):[],2),k=S[0],P=S[1],E="none"!==n.props.appearance&&!y,A=Q(v,t.anchorPos)&&Q(_,t.outerContainerStyle)&&w===t.placement&&C===t.maxHeight&&j===t.maxWidth,T=Q(Object(s.omit)(k,"transform"),Object(s.omit)(t.arrowStyle,"transform"))&&Q(null!=P?P:{},null!==(o=t.arrowStyleTransformMeta)&&void 0!==o?o:{});return A&&(!E||E&&T)?null:{anchorPos:v,arrowStyle:k,arrowStyleTransformMeta:P,outerContainerStyle:_,placement:w,maxHeight:C,maxWidth:j}}))})),K(H(n),"handleNewAnchor",(function(e){var t,r=(t=!e||e instanceof HTMLElement?null!=e?e:void 0:Object(u.findDOMNode)(e))?n.getElPosition(t):void 0;n.setState({anchorEl:t,anchorPos:r})})),K(H(n),"handleInnerContainerMount",(function(e){n.innerContainerEl=e,e&&n.props.takeFocus&&Object(s.defer)(v.takeFocus,e),Object(T.a)(n.props.elementRef,e)})),K(H(n),"handleTab",(function(e){n.innerContainerEl&&Object(v.handleTab)(n.innerContainerEl,e)})),K(H(n),"handleRequestClose",(function(e){n.props.open&&n.requestClose(e)})),K(H(n),"handleAnimationEnd",(function(){n.setState({animating:!1})})),K(H(n),"renderLayer",(function(){var e=n.props,t=e.animation,i=e.appearance,a=e.children,u=e.id,l=e.open,c=e.splunkTheme,f=n.state,d=f.anchorPos,h=f.arrowStyle,b=f.outerContainerStyle,y=f.placement,v="prisma"===c.family,m=v&&"inverted"===i?"normal":i,g=n.state,x=g.maxHeight,O=g.maxWidth;"none"!==i&&(Object(s.isFinite)(x)&&(x-=20),Object(s.isFinite)(O)&&(O-=20));var w={anchorHeight:d?d.height:null,anchorWidth:d?d.width:null,placement:y||null,maxHeight:x||null,maxWidth:O||null},_=t?{opacity:l?1:0}:{opacity:1};return o.a.createElement(p.Spring,{native:!0,from:{opacity:t?0:1},to:_,config:{tension:300,friction:40},onRest:n.handleAnimationEnd},(function(e){var t=e.opacity;return o.a.createElement(S,{style:I(I({},b),{},{opacity:t}),ref:function(e){n.outerContainerEl=e}},(l||n.state.animating)&&o.a.createElement(k,M({$appearance:m,"data-test":"popover",ref:n.handleInnerContainerMount,tabIndex:-1,id:u,onKeyDown:n.props.retainFocus?n.handleTab:void 0},Object(s.omit)(n.props,["anchor"].concat(L(Object(s.keys)(r.propTypes))))),"none"===i&&a,"none"!==i&&!v&&o.a.createElement(E,{$appearance:m,ref:function(e){n.arrow=e},style:h}),"none"!==i&&o.a.createElement(P,{$appearance:m},Object(s.isFunction)(a)?a(w):a)),o.a.createElement(A,{ref:function(e){n.windowSizeMeasurementEl=e}}))}))})),n.handleScroll=Object(s.throttle)(n.setPlacement.bind(H(n),!0),0),n.handleWindowScroll=Object(s.throttle)(n.setPlacement.bind(H(n),!0),0),n.setPlacement=Object(s.throttle)(n.setPlacement,0,{leading:!1}),n.state={animating:!1,prevOpen:e.open},n}return $(r,null,[{key:"getArrowStyle",value:function(e){var t=e.anchorPos,r=e.arrowHeight,n=e.placement,o=e.outerContainerStyle,i=e.outerContainerEl;if("misaligned"===n)return[{display:"none"}];var a={display:"block"},u=i.offsetHeight/2-22,l=-(i.offsetHeight/2-15),c=t.center-(o.top+i.offsetHeight/2)-r/2,f=Object(s.clamp)(c,l,u),p=t.middle-(o.left+i.offsetWidth/2)-r,d={left:{translateX:r/2,translateY:f,rotate:90},right:{translateX:-r/2,translateY:f,rotate:-90},above:{translateX:p,translateY:0,rotate:180},below:{translateX:p,translateY:0,rotate:0}}[n];a.transform="translate(".concat(d.translateX,"px, ").concat(d.translateY,"px) rotate(").concat(d.rotate,"deg)");a[{left:"right",right:"left",above:"bottom",below:"top"}[n]]="1px";return a[{left:"top",right:"top",above:"left",below:"left"}[n]]="50%",[a,d]}}]),$(r,[{key:"componentDidMount",value:function(){this.handleNewAnchor(this.props.anchor)}},{key:"componentDidUpdate",value:function(e){e.anchor!==this.props.anchor&&this.handleNewAnchor(this.props.anchor),this.innerContainerEl&&(this.props.open||this.state.animating)&&(this.setPlacement(),!e.open&&this.props.takeFocus&&Object(v.takeFocus)(this.innerContainerEl))}},{key:"componentWillUnmount",value:function(){this.setPlacement.cancel(),this.handleScroll.cancel()}},{key:"autoCloseWhenOffScreen",value:function(e,t){return(e.top<0||e.top>window.innerHeight||e.left<0||e.left>window.innerWidth||!(!t||!(e.height+e.topt.bottom||e.width+e.leftt.right)))&&(this.requestClose({reason:"offScreen"}),!0)}},{key:"requestClose",value:function(e){var t,r;Object(s.includes)(this.props.closeReasons,e.reason)&&(null===(t=(r=this.props).onRequestClose)||void 0===t||t.call(r,e))}},{key:"render",value:function(){var e=this.props.open||this.state.animating,t=this.context||"window";return["window"!==t&&o.a.createElement(c.a,{target:t,onScroll:this.handleScroll,key:"eventListener"}),o.a.createElement(c.a,{target:"window",onResize:this.setPlacement,onScroll:this.handleWindowScroll,key:"eventListenerOnWindow"}),o.a.createElement(h.a,{closeReasons:Object(s.intersection)(this.props.closeReasons.filter((function(e){return"offScreen"!==e})),h.a.possibleCloseReasons),open:e,onRequestClose:this.handleRequestClose,key:"Layer"},e&&this.renderLayer())]}}]),r}(n.Component);K(Y,"contextType",y.a),K(Y,"defaultProps",G),K(Y,"propTypes",X),K(Y,"getDerivedStateFromProps",(function(e,t){return e.open!==t.prevOpen?{animating:e.animation,prevOpen:e.open}:null}));var J=Object(f.withSplunkTheme)(Y);J.propTypes=Y.propTypes;var ee=J},15:function(e,t){e.exports=r(69)},2:function(e,t){e.exports=r(0)},26:function(e,t){e.exports=r(73)},27:function(e,t){e.exports=r(76)},3:function(e,t){e.exports=r(1)},33:function(e,t){e.exports=r(77)},38:function(e,t){e.exports=r(81)},4:function(e,t){e.exports=r(2)},47:function(e,t){e.exports=r(45)},58:function(e,t){e.exports=r(35)}})},function(e,t,r){var n=r(181),o=r(182),i=r(183),a=r(184),u=r(185);function l(e){var t=-1,r=null==e?0:e.length;for(this.clear();++t=0||(o[r]=e[r]);return o}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(n=0;n=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(o[r]=e[r])}return o}var s=function(){var e=(0,n.useContext)(o.ThemeContext)||{},t=e.splunkThemeV1,r=void 0===t?{}:t,a=c(e,["splunkThemeV1"]),l=r.family,s=r.colorScheme,f=r.density,p=r.customizer;return u(u({},a),(0,i.getCustomizedTheme)({family:l,colorScheme:s,density:f},p))};t.default=s},function(e,t,r){var n=r(66)(r(42),"Map");e.exports=n},function(e,t,r){"use strict";function n(e){return function(e){if(Array.isArray(e))return o(e)}(e)||function(e){if("undefined"!=typeof Symbol&&Symbol.iterator in Object(e))return Array.from(e)}(e)||function(e,t){if(!e)return;if("string"==typeof e)return o(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);"Object"===r&&e.constructor&&(r=e.constructor.name);if("Map"===r||"Set"===r)return Array.from(e);if("Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return o(e,t)}(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function o(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=new Array(t);r=0||(o[r]=e[r]);return o}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(n=0;n=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(o[r]=e[r])}return o}var p=c.a.svg.withConfig({displayName:"SVG__InlineSVG",componentId:"sc-13m0oii-0"})(["display:inline-block;flex:0 0 auto;overflow:visible;vertical-align:middle;"]),d=c.a.svg.withConfig({displayName:"SVG__BlockSVG",componentId:"sc-13m0oii-1"})(["display:block;flex:0 0 auto;margin:0 auto;overflow:visible;"]),h={children:a.a.node,height:a.a.oneOfType([a.a.number,a.a.string]),hideDefaultTooltip:a.a.bool,inline:a.a.bool,screenReaderText:a.a.oneOfType([a.a.string,a.a.oneOf(["null"])]),size:a.a.oneOfType([a.a.number,a.a.string]),width:a.a.oneOfType([a.a.number,a.a.string]),viewBox:a.a.string.isRequired,preserveAspectRatio:a.a.oneOf(["none","xMinYMin","xMidYMin","xMaxYMin","xMinYMid","xMidYMid","xMaxYMid","xMinYMax","xMidYMax","xMaxYMax"])};function b(e){var t=e.children,r=e.height,n=e.hideDefaultTooltip,i=void 0!==n&&n,a=e.inline,l=void 0===a||a,c=e.preserveAspectRatio,h=void 0===c?"xMidYMid":c,b=e.screenReaderText,y=e.size,v=void 0===y?.75:y,m=e.viewBox,g=e.width,x=f(e,["children","height","hideDefaultTooltip","inline","preserveAspectRatio","screenReaderText","size","viewBox","width"]);var O="number"!=typeof v?parseFloat(v):v,w=Object(u.isString)(v)?v.match(/[^\d]+/):"em",_=parseFloat(m.split(" ")[3]),C=parseFloat(m.split(" ")[2]),j=Math.max(C,_),S=Object(u.isUndefined)(r)?_/j*O:r,k=Object(u.isUndefined)(g)?C/j*O:g,P=l?p:d,E=b&&!i;return o.a.createElement(P,s({focusable:"false",height:Object(u.isString)(S)?S:"".concat(S.toFixed(4)).concat(w),width:Object(u.isString)(k)?k:"".concat(k.toFixed(4)).concat(w),viewBox:m,"aria-label":i&&null!=b?b:void 0,"aria-hidden":!b,preserveAspectRatio:h,xmlns:"http://www.w3.org/2000/svg"},x),E&&o.a.createElement("title",null,b),t)}b.propTypes=h,t.default=b},3:function(e,t){e.exports=r(3)},5:function(e,t){e.exports=r(1)},6:function(e,t){e.exports=r(2)}})},function(e,t,r){e.exports=function(e){var t={};function r(n){if(t[n])return t[n].exports;var o=t[n]={i:n,l:!1,exports:{}};return e[n].call(o.exports,o,o.exports,r),o.l=!0,o.exports}return r.m=e,r.c=t,r.d=function(e,t,n){r.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:n})},r.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},r.t=function(e,t){if(1&t&&(e=r(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var n=Object.create(null);if(r.r(n),Object.defineProperty(n,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var o in e)r.d(n,o,function(t){return e[t]}.bind(null,o));return n},r.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return r.d(t,"a",t),t},r.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},r.p="",r(r.s=172)}({0:function(e,t){e.exports=r(0)},1:function(e,t){e.exports=r(6)},172:function(e,t,r){"use strict";r.r(t),r.d(t,"default",(function(){return c}));var n=r(0),o=r.n(n),i=r(1),a=r(2),u=r.n(a);function l(){return(l=Object.assign||function(e){for(var t=1;t1&&void 0!==arguments[1]?arguments[1]:{},i=u({appBuild:t,buildPushNumber:n,buildNumber:r},o),a=e.match(/(^|\w\w-\w\w\/)static\//);if(!a)return e;var l=a.index+a[0].length-1,c=e.match(/(^|\w\w-\w\w|)static\/app/),s=c?":".concat(i.appBuild||0):"",f=i.buildPushNumber?".".concat(i.buildPushNumber):"",p="/@".concat(i.buildNumber).concat(f).concat(s),d=e.substr(0,l),h=e.substr(l);return"".concat(d).concat(p).concat(h)}function s(e,l){var s=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},f=u({appBuild:t,buildPushNumber:n,buildNumber:r,rootPath:a,locale:i},s),p=e||"/",d=l?"?".concat((0,o.stringify)(l)):"";return"/"!==p.charAt(0)&&(p="/".concat(p)),c(p="".concat(f.rootPath||"","/").concat(f.locale).concat(p).concat(d),f)}function f(e,t){return s("/help",e,t)}return{createAppDocsURL:function(e,t,r){var n=t.appName,o=t.appVersion;return f({location:"[".concat(n,":").concat(o,"]").concat(e)},r)},createDocsURL:function(e,t){return f({location:e},t)},createRESTURL:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};if(/^http[s]?:\/\//.test(e))return e;var n,o,i=r.splunkdPath||l||"";return/^\/.*/.test(e)?/^\/services/.test(e)?"".concat(i).concat(e):e:t.app||t.owner?(n=t.sharing?"nobody":t.owner?encodeURIComponent(t.owner):"-",o="system"===t.sharing?"system":t.app?encodeURIComponent(t.app):"-","".concat(i,"/servicesNS/").concat(n,"/").concat(o,"/").concat(e)):"".concat(i,"/services/").concat(e)},createStaticURL:function(e){for(var t=arguments.length,r=new Array(t>1?t-1:0),n=1;n0&&void 0!==arguments[0]?arguments[0]:(0,n.get)(i,["document","location","pathname"],""),t=e.match(/\w\w.\w\w\/(app|manager)\/([^/]+)/);return t?t[2]:void 0}t.isAvailable=l;var s=c();t.app=s;var f=a("APP_BUILD");t.appBuild=f;var p=a("BUILD_NUMBER");t.buildNumber=p;var d=a("BUILD_PUSH_NUMBER");t.buildPushNumber=d;var h=(0,n.get)(i,"$C");t.config=h;var b=a("LOCALE");t.locale=b;var y=a("MRSPARKLE_PORT_NUMBER");t.portNumber=y;var v=a("MRSPARKLE_ROOT_PATH");t.rootPath=v;var m=a("SERVER_ZONEINFO");t.serverTimezoneInfo=m;var g=a("SPLUNKD_PATH");t.splunkdPath=g;var x=a("USERNAME");t.username=x;var O=a("VERSION_LABEL");t.versionLabel=O}).call(this,r(23))},function(e,t,r){var n=r(168),o=r(186),i=r(188),a=r(189),u=r(190);function l(e){var t=-1,r=null==e?0:e.length;for(this.clear();++te.length)&&(t=e.length);for(var r=0,n=new Array(t);r0&&c>l&&(c=l);for(var s=0;s=0?(f=b.substr(0,y),p=b.substr(y+1)):(f=b,p=""),d=decodeURIComponent(f),h=decodeURIComponent(p),n(a,d)?o(a[d])?a[d].push(h):a[d]=[a[d],h]:a[d]=h}return a};var o=Array.isArray||function(e){return"[object Array]"===Object.prototype.toString.call(e)}},function(e,t,r){"use strict";var n=function(e){switch(typeof e){case"string":return e;case"boolean":return e?"true":"false";case"number":return isFinite(e)?e:"";default:return""}};e.exports=function(e,t,r,u){return t=t||"&",r=r||"=",null===e&&(e=void 0),"object"==typeof e?i(a(e),(function(a){var u=encodeURIComponent(n(a))+r;return o(e[a])?i(e[a],(function(e){return u+encodeURIComponent(n(e))})).join(t):u+encodeURIComponent(n(e[a]))})).join(t):u?encodeURIComponent(n(u))+r+encodeURIComponent(n(e)):""};var o=Array.isArray||function(e){return"[object Array]"===Object.prototype.toString.call(e)};function i(e,t){if(e.map)return e.map(t);for(var r=[],n=0;n-1}},function(e,t,r){var n=r(37);e.exports=function(e,t){var r=this.__data__,o=n(r,e);return o<0?(++this.size,r.push([e,t])):r[o][1]=t,this}},function(e,t,r){var n=r(38);e.exports=function(e){var t=n(this,e).delete(e);return this.size-=t?1:0,t}},function(e,t){e.exports=function(e){var t=typeof e;return"string"==t||"number"==t||"symbol"==t||"boolean"==t?"__proto__"!==e:null===e}},function(e,t,r){var n=r(38);e.exports=function(e){return n(this,e).get(e)}},function(e,t,r){var n=r(38);e.exports=function(e){return n(this,e).has(e)}},function(e,t,r){var n=r(38);e.exports=function(e,t){var r=n(this,e),o=r.size;return r.set(e,t),this.size+=r.size==o?0:1,this}},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var n=l(r(48)),o=l(r(88)),i=l(r(89)),a=l(r(90)),u=l(r(192));function l(e){return e&&e.__esModule?e:{default:e}}function c(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function s(e){for(var t=1;t0&&void 0!==arguments[0]?arguments[0]:"inline";return function(){return(0,o.css)(c(),(0,u.default)({enterprise:a.default.textColor,prisma:a.default.contentColorDefault}),e,a.default.fontFamily,a.default.fontSize,a.default.lineHeight,a.default.focusColor)}};function f(){return{"&::after":{display:"table",content:'""',clear:"both"}}}function p(){return{overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"}}function d(){return{maxWidth:"100% !important",width:"100% !important",overflow:"hidden !important"}}function h(){return{display:"none !important"}}function b(){return{background:"none !important"}}function y(){return{wordBreak:"break-all !important",wordWrap:"break-word !important",overflowWrap:"break-word !important",whiteSpace:"normal !important"}}function v(){return{position:"absolute",overflow:"hidden",clip:"rect(0 0 0 0)",height:"1px",width:"1px",margin:"-1px",padding:0,border:0}}function m(e,t){return function(r){var o="function"==typeof e?e(r):e,a="function"==typeof t?t(r):t,u=(0,i.normal)((0,n.default)(o).toRgb(),(0,n.default)(a).toRgb());return(0,n.default)(u).toRgbString()}}function g(e,t){return function(r){var o="function"==typeof e?e(r):e;return(0,n.default)(o).setAlpha(t).toRgbString()}}t.reset=s;var x={reset:s,clearfix:f,ellipsis:p,printWidth100Percent:d,printHide:h,printNoBackground:b,printWrapAll:y,screenReaderContent:v,colorWithAlpha:g,overlayColors:m};t.default=x},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var n=r(49),o=r(16),i=function(e,t){return function(r){var i,a=r[e],u=t[a];if((0,n.isInterpolationResult)(u))return u;var l=(0,o.addThemeDefaults)(null===(i=r.theme)||void 0===i?void 0:i.splunkThemeV1);return(0,n.getThemeVariant)(u,l)}};t.default=i},function(e,t,r){"use strict";function n(e){return(n="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)}Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e){var t=e.family,r=e.colorScheme,n=e.density,a=e.additionalThemeProperties,l=e.customizeTheme,s=function(e,t){if(null==e)return{};var r,n,o=function(e,t){if(null==e)return{};var r,n,o={},i=Object.keys(e);for(n=0;n=0||(o[r]=e[r]);return o}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(n=0;n=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(o[r]=e[r])}return o}(e,["family","colorScheme","density","additionalThemeProperties","customizeTheme"]),f=((0,o.useContext)(i.ThemeContext)||{}).splunkThemeV1,p=void 0===f?{}:f,d=c(c({},a),{},{splunkThemeV1:{family:t||p.family||"prisma",colorScheme:r||p.colorScheme||"dark",density:n||p.density||"comfortable",customizer:l||p.customizer}});return o.default.createElement(i.ThemeProvider,u({theme:d},s))};var o=function(e){if(e&&e.__esModule)return e;if(null===e||"object"!==n(e)&&"function"!=typeof e)return{default:e};var t=a();if(t&&t.has(e))return t.get(e);var r={},o=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var i in e)if(Object.prototype.hasOwnProperty.call(e,i)){var u=o?Object.getOwnPropertyDescriptor(e,i):null;u&&(u.get||u.set)?Object.defineProperty(r,i,u):r[i]=e[i]}r.default=e,t&&t.set(e,r);return r}(r(0)),i=r(1);function a(){if("function"!=typeof WeakMap)return null;var e=new WeakMap;return a=function(){return e},e}function u(){return(u=Object.assign||function(e){for(var t=1;t=0||(o[r]=e[r]);return o}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(n=0;n=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(o[r]=e[r])}return o}var d=function(e){var t=o.default.forwardRef((function(t,r){var n=(0,o.useContext)(i.ThemeContext)||{},u=n.splunkThemeV1,c=p(n,["splunkThemeV1"]),f=u||{},d=f.family,h=f.colorScheme,b=f.density,y=f.customizer,v=(0,a.addThemeDefaults)({family:d,colorScheme:h,density:b}),m=s(s({},c),(0,a.getCustomizedTheme)(v,y));return o.default.createElement(e,l({},t,{ref:r,splunkTheme:m}))})),r=e.displayName||e.name||"Component";return t.displayName="withSplunkTheme(".concat(r,")"),t};t.default=d},function(e,t,r){},function(e,t,r){"use strict";var n;function o(e){n=e}function i(){o("undefined"!=typeof window&&window.gettext||function(e){return e})}Object.defineProperty(t,"__esModule",{value:!0}),t.gettext=function(){return n.apply(void 0,arguments)},t._=function(){return n.apply(void 0,arguments)},t.setSharedTranslator=o,t.resetSharedTranslator=i,i()},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var n=l(r(50)),o=l(r(94)),i=l(r(95)),a=l(r(96)),u=l(r(204));function l(e){return e&&e.__esModule?e:{default:e}}function c(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function s(e){for(var t=1;t0&&void 0!==arguments[0]?arguments[0]:"inline";return function(){return(0,o.css)(c(),(0,u.default)({enterprise:a.default.textColor,prisma:a.default.contentColorDefault}),e,a.default.fontFamily,a.default.fontSize,a.default.lineHeight,a.default.focusColor)}};function f(){return{"&::after":{display:"table",content:'""',clear:"both"}}}function p(){return{overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"}}function d(){return{maxWidth:"100% !important",width:"100% !important",overflow:"hidden !important"}}function h(){return{display:"none !important"}}function b(){return{background:"none !important"}}function y(){return{wordBreak:"break-all !important",wordWrap:"break-word !important",overflowWrap:"break-word !important",whiteSpace:"normal !important"}}function v(){return{position:"absolute",overflow:"hidden",clip:"rect(0 0 0 0)",height:"1px",width:"1px",margin:"-1px",padding:0,border:0}}function m(e,t){return function(r){var o="function"==typeof e?e(r):e,a="function"==typeof t?t(r):t,u=(0,i.normal)((0,n.default)(o).toRgb(),(0,n.default)(a).toRgb());return(0,n.default)(u).toRgbString()}}function g(e,t){return function(r){var o="function"==typeof e?e(r):e;return(0,n.default)(o).setAlpha(t).toRgbString()}}t.reset=s;var x={reset:s,clearfix:f,ellipsis:p,printWidth100Percent:d,printHide:h,printNoBackground:b,printWrapAll:y,screenReaderContent:v,colorWithAlpha:g,overlayColors:m};t.default=x},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var n=r(51),o=r(17),i=function(e,t){return function(r){var i,a=r[e],u=t[a];if((0,n.isInterpolationResult)(u))return u;var l=(0,o.addThemeDefaults)(null===(i=r.theme)||void 0===i?void 0:i.splunkThemeV1);return(0,n.getThemeVariant)(u,l)}};t.default=i},function(e,t,r){"use strict";function n(e){return(n="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)}Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e){var t=e.family,r=e.colorScheme,n=e.density,a=e.additionalThemeProperties,l=e.customizeTheme,s=function(e,t){if(null==e)return{};var r,n,o=function(e,t){if(null==e)return{};var r,n,o={},i=Object.keys(e);for(n=0;n=0||(o[r]=e[r]);return o}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(n=0;n=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(o[r]=e[r])}return o}(e,["family","colorScheme","density","additionalThemeProperties","customizeTheme"]),f=((0,o.useContext)(i.ThemeContext)||{}).splunkThemeV1,p=void 0===f?{}:f,d=c(c({},a),{},{splunkThemeV1:{family:t||p.family||"prisma",colorScheme:r||p.colorScheme||"dark",density:n||p.density||"comfortable",customizer:l||p.customizer}});return o.default.createElement(i.ThemeProvider,u({theme:d},s))};var o=function(e){if(e&&e.__esModule)return e;if(null===e||"object"!==n(e)&&"function"!=typeof e)return{default:e};var t=a();if(t&&t.has(e))return t.get(e);var r={},o=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var i in e)if(Object.prototype.hasOwnProperty.call(e,i)){var u=o?Object.getOwnPropertyDescriptor(e,i):null;u&&(u.get||u.set)?Object.defineProperty(r,i,u):r[i]=e[i]}r.default=e,t&&t.set(e,r);return r}(r(0)),i=r(1);function a(){if("function"!=typeof WeakMap)return null;var e=new WeakMap;return a=function(){return e},e}function u(){return(u=Object.assign||function(e){for(var t=1;t=0||(o[r]=e[r]);return o}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(n=0;n=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(o[r]=e[r])}return o}var s=function(){var e=(0,n.useContext)(o.ThemeContext)||{},t=e.splunkThemeV1,r=void 0===t?{}:t,a=c(e,["splunkThemeV1"]),l=r.family,s=r.colorScheme,f=r.density,p=r.customizer;return u(u({},a),(0,i.getCustomizedTheme)({family:l,colorScheme:s,density:f},p))};t.default=s},function(e,t,r){"use strict";function n(e){return(n="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)}Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var o=function(e){if(e&&e.__esModule)return e;if(null===e||"object"!==n(e)&&"function"!=typeof e)return{default:e};var t=u();if(t&&t.has(e))return t.get(e);var r={},o=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var i in e)if(Object.prototype.hasOwnProperty.call(e,i)){var a=o?Object.getOwnPropertyDescriptor(e,i):null;a&&(a.get||a.set)?Object.defineProperty(r,i,a):r[i]=e[i]}r.default=e,t&&t.set(e,r);return r}(r(0)),i=r(1),a=r(17);function u(){if("function"!=typeof WeakMap)return null;var e=new WeakMap;return u=function(){return e},e}function l(){return(l=Object.assign||function(e){for(var t=1;t=0||(o[r]=e[r]);return o}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(n=0;n=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(o[r]=e[r])}return o}var d=function(e){var t=o.default.forwardRef((function(t,r){var n=(0,o.useContext)(i.ThemeContext)||{},u=n.splunkThemeV1,c=p(n,["splunkThemeV1"]),f=u||{},d=f.family,h=f.colorScheme,b=f.density,y=f.customizer,v=(0,a.addThemeDefaults)({family:d,colorScheme:h,density:b}),m=s(s({},c),(0,a.getCustomizedTheme)(v,y));return o.default.createElement(e,l({},t,{ref:r,splunkTheme:m}))})),r=e.displayName||e.name||"Component";return t.displayName="withSplunkTheme(".concat(r,")"),t};t.default=d},function(e,t,r){},function(e,t){e.exports=function(e,t){if(null==e)return{};var r,n,o={},i=Object.keys(e);for(n=0;n=0||(o[r]=e[r]);return o},e.exports.default=e.exports,e.exports.__esModule=!0},function(e,t,r){var n=r(218);e.exports=function(e,t){e.prototype=Object.create(t.prototype),e.prototype.constructor=e,n(e,t)},e.exports.default=e.exports,e.exports.__esModule=!0},function(e,t){function r(t,n){return e.exports=r=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e},e.exports.default=e.exports,e.exports.__esModule=!0,r(t,n)}e.exports=r,e.exports.default=e.exports,e.exports.__esModule=!0},function(e,t){e.exports=function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e},e.exports.default=e.exports,e.exports.__esModule=!0},function(e,t){function r(){return e.exports=r=Object.assign||function(e){for(var t=1;t",e);var l=i.objectGetPath(r.schemas[u],a.substr(1));if(void 0===l)throw new c("no such schema "+a+" located in <"+u+">",e);return{subschema:l,switchSchema:t}},f.prototype.testType=function(e,t,r,n,o){if(void 0!==o){if(null===o)throw new c('Unexpected null in "type" keyword');if("function"==typeof this.types[o])return this.types[o].call(this,e);if(o&&"object"==typeof o){var i=this.validateSchema(e,o,r,n);return void 0===i||!(i&&i.errors.length)}return!0}};var d=f.prototype.types={};d.string=function(e){return"string"==typeof e},d.number=function(e){return"number"==typeof e&&isFinite(e)},d.integer=function(e){return"number"==typeof e&&e%1==0},d.boolean=function(e){return"boolean"==typeof e},d.array=function(e){return Array.isArray(e)},d.null=function(e){return null===e},d.date=function(e){return e instanceof Date},d.any=function(e){return!0},d.object=function(e){return e&&"object"==typeof e&&!Array.isArray(e)&&!(e instanceof Date)},e.exports=f},function(e,t,r){(function(e,n){var o;/*! https://mths.be/punycode v1.4.1 by @mathias */!function(i){t&&t.nodeType,e&&e.nodeType;var a="object"==typeof n&&n;a.global!==a&&a.window!==a&&a.self;var u,l=2147483647,c=/^xn--/,s=/[^\x20-\x7E]/,f=/[\x2E\u3002\uFF0E\uFF61]/g,p={overflow:"Overflow: input needs wider integers to process","not-basic":"Illegal input >= 0x80 (not a basic code point)","invalid-input":"Invalid input"},d=Math.floor,h=String.fromCharCode;function b(e){throw new RangeError(p[e])}function y(e,t){for(var r=e.length,n=[];r--;)n[r]=t(e[r]);return n}function v(e,t){var r=e.split("@"),n="";return r.length>1&&(n=r[0]+"@",e=r[1]),n+y((e=e.replace(f,".")).split("."),t).join(".")}function m(e){for(var t,r,n=[],o=0,i=e.length;o=55296&&t<=56319&&o65535&&(t+=h((e-=65536)>>>10&1023|55296),e=56320|1023&e),t+=h(e)})).join("")}function x(e,t){return e+22+75*(e<26)-((0!=t)<<5)}function O(e,t,r){var n=0;for(e=r?d(e/700):e>>1,e+=d(e/t);e>455;n+=36)e=d(e/35);return d(n+36*e/(e+38))}function w(e){var t,r,n,o,i,a,u,c,s,f,p,h=[],y=e.length,v=0,m=128,x=72;for((r=e.lastIndexOf("-"))<0&&(r=0),n=0;n=128&&b("not-basic"),h.push(e.charCodeAt(n));for(o=r>0?r+1:0;o=y&&b("invalid-input"),((c=(p=e.charCodeAt(o++))-48<10?p-22:p-65<26?p-65:p-97<26?p-97:36)>=36||c>d((l-v)/a))&&b("overflow"),v+=c*a,!(c<(s=u<=x?1:u>=x+26?26:u-x));u+=36)a>d(l/(f=36-s))&&b("overflow"),a*=f;x=O(v-i,t=h.length+1,0==i),d(v/t)>l-m&&b("overflow"),m+=d(v/t),v%=t,h.splice(v++,0,m)}return g(h)}function _(e){var t,r,n,o,i,a,u,c,s,f,p,y,v,g,w,_=[];for(y=(e=m(e)).length,t=128,r=0,i=72,a=0;a=t&&pd((l-r)/(v=n+1))&&b("overflow"),r+=(u-t)*v,t=u,a=0;al&&b("overflow"),p==t){for(c=r,s=36;!(c<(f=s<=i?1:s>=i+26?26:s-i));s+=36)w=c-f,g=36-f,_.push(h(x(f+w%g,0))),c=d(w/g);_.push(h(x(c,0))),i=O(r,v,n==o),r=0,++n}++r,++t}return _.join("")}u={version:"1.4.1",ucs2:{decode:m,encode:g},decode:w,encode:_,toASCII:function(e){return v(e,(function(e){return s.test(e)?"xn--"+_(e):e}))},toUnicode:function(e){return v(e,(function(e){return c.test(e)?w(e.slice(4).toLowerCase()):e}))}},void 0===(o=function(){return u}.call(t,r,t,e))||(e.exports=o)}()}).call(this,r(70)(e),r(23))},function(e,t,r){"use strict";e.exports={isString:function(e){return"string"==typeof e},isObject:function(e){return"object"==typeof e&&null!==e},isNull:function(e){return null===e},isNullOrUndefined:function(e){return null==e}}},function(e,t,r){"use strict";var n=r(18),o=n.ValidatorResult,i=n.SchemaError,a={ignoreProperties:{id:!0,default:!0,description:!0,title:!0,additionalItems:!0,then:!0,else:!0,$schema:!0,$ref:!0,extends:!0}},u=a.validators={};function l(e,t,r,n,o){var i=t.throwError,a=t.throwAll;t.throwError=!1,t.throwAll=!1;var u=this.validateSchema(e,o,t,r);return t.throwError=i,t.throwAll=a,!u.valid&&n instanceof Function&&n(u),u.valid}function c(e,t){if(Object.hasOwnProperty.call(e,t))return e[t];if(t in e)for(;e=Object.getPrototypeOf(e);)if(Object.propertyIsEnumerable.call(e,t))return e[t]}function s(e,t,r,n,o,i){if(this.types.object(e)&&(!t.properties||void 0===t.properties[o]))if(!1===t.additionalProperties)i.addError({name:"additionalProperties",argument:o,message:"is not allowed to have the additional property "+JSON.stringify(o)});else{var a=t.additionalProperties||{};"function"==typeof r.preValidateProperty&&r.preValidateProperty(e,o,a,r,n);var u=this.validateSchema(e[o],a,r,n.makeChild(a,o));u.instance!==i.instance[o]&&(i.instance[o]=u.instance),i.importErrors(u)}}u.type=function(e,t,r,n){if(void 0===e)return null;var i=new o(e,t,r,n),a=Array.isArray(t.type)?t.type:[t.type];if(!a.some(this.testType.bind(this,e,t,r,n))){var u=a.map((function(e){if(e){var t=e.$id||e.id;return t?"<"+t+">":e+""}}));i.addError({name:"type",argument:u,message:"is not of a type(s) "+u})}return i},u.anyOf=function(e,t,r,n){if(void 0===e)return null;var a=new o(e,t,r,n),u=new o(e,t,r,n);if(!Array.isArray(t.anyOf))throw new i("anyOf must be an array");if(!t.anyOf.some(l.bind(this,e,r,n,(function(e){u.importErrors(e)})))){var c=t.anyOf.map((function(e,t){var r=e.$id||e.id;return r?"<"+r+">":e.title&&JSON.stringify(e.title)||e.$ref&&"<"+e.$ref+">"||"[subschema "+t+"]"}));r.nestedErrors&&a.importErrors(u),a.addError({name:"anyOf",argument:c,message:"is not any of "+c.join(",")})}return a},u.allOf=function(e,t,r,n){if(void 0===e)return null;if(!Array.isArray(t.allOf))throw new i("allOf must be an array");var a=new o(e,t,r,n),u=this;return t.allOf.forEach((function(t,o){var i=u.validateSchema(e,t,r,n);if(!i.valid){var l=t.$id||t.id||t.title&&JSON.stringify(t.title)||t.$ref&&"<"+t.$ref+">"||"[subschema "+o+"]";a.addError({name:"allOf",argument:{id:l,length:i.errors.length,valid:i},message:"does not match allOf schema "+l+" with "+i.errors.length+" error[s]:"}),a.importErrors(i)}})),a},u.oneOf=function(e,t,r,n){if(void 0===e)return null;if(!Array.isArray(t.oneOf))throw new i("oneOf must be an array");var a=new o(e,t,r,n),u=new o(e,t,r,n),c=t.oneOf.filter(l.bind(this,e,r,n,(function(e){u.importErrors(e)}))).length,s=t.oneOf.map((function(e,t){return e.$id||e.id||e.title&&JSON.stringify(e.title)||e.$ref&&"<"+e.$ref+">"||"[subschema "+t+"]"}));return 1!==c&&(r.nestedErrors&&a.importErrors(u),a.addError({name:"oneOf",argument:s,message:"is not exactly one from "+s.join(",")})),a},u.if=function(e,t,r,i){if(void 0===e)return null;if(!n.isSchema(t.if))throw new Error('Expected "if" keyword to be a schema');var a,u=l.call(this,e,r,i,null,t.if),c=new o(e,t,r,i);if(u){if(void 0===t.then)return;if(!n.isSchema(t.then))throw new Error('Expected "then" keyword to be a schema');a=this.validateSchema(e,t.then,r,i.makeChild(t.then)),c.importErrors(a)}else{if(void 0===t.else)return;if(!n.isSchema(t.else))throw new Error('Expected "else" keyword to be a schema');a=this.validateSchema(e,t.else,r,i.makeChild(t.else)),c.importErrors(a)}return c},u.propertyNames=function(e,t,r,a){if(this.types.object(e)){var u=new o(e,t,r,a),l=void 0!==t.propertyNames?t.propertyNames:{};if(!n.isSchema(l))throw new i('Expected "propertyNames" to be a schema (object or boolean)');for(var s in e)if(void 0!==c(e,s)){var f=this.validateSchema(s,l,r,a.makeChild(l));u.importErrors(f)}return u}},u.properties=function(e,t,r,n){if(this.types.object(e)){var a=new o(e,t,r,n),u=t.properties||{};for(var l in u){var s=u[l];if(void 0!==s){if(null===s)throw new i('Unexpected null, expected schema in "properties"');"function"==typeof r.preValidateProperty&&r.preValidateProperty(e,l,s,r,n);var f=c(e,l),p=this.validateSchema(f,s,r,n.makeChild(s,l));p.instance!==a.instance[l]&&(a.instance[l]=p.instance),a.importErrors(p)}}return a}},u.patternProperties=function(e,t,r,n){if(this.types.object(e)){var a=new o(e,t,r,n),u=t.patternProperties||{};for(var l in e){var c=!0;for(var f in u){var p=u[f];if(void 0!==p){if(null===p)throw new i('Unexpected null, expected schema in "patternProperties"');try{var d=new RegExp(f,"u")}catch(e){d=new RegExp(f)}if(d.test(l)){c=!1,"function"==typeof r.preValidateProperty&&r.preValidateProperty(e,l,p,r,n);var h=this.validateSchema(e[l],p,r,n.makeChild(p,l));h.instance!==a.instance[l]&&(a.instance[l]=h.instance),a.importErrors(h)}}}c&&s.call(this,e,t,r,n,l,a)}return a}},u.additionalProperties=function(e,t,r,n){if(this.types.object(e)){if(t.patternProperties)return null;var i=new o(e,t,r,n);for(var a in e)s.call(this,e,t,r,n,a,i);return i}},u.minProperties=function(e,t,r,n){if(this.types.object(e)){var i=new o(e,t,r,n);return Object.keys(e).length>=t.minProperties||i.addError({name:"minProperties",argument:t.minProperties,message:"does not meet minimum property length of "+t.minProperties}),i}},u.maxProperties=function(e,t,r,n){if(this.types.object(e)){var i=new o(e,t,r,n);return Object.keys(e).length<=t.maxProperties||i.addError({name:"maxProperties",argument:t.maxProperties,message:"does not meet maximum property length of "+t.maxProperties}),i}},u.items=function(e,t,r,n){var i=this;if(this.types.array(e)&&t.items){var a=new o(e,t,r,n);return e.every((function(e,o){var u=Array.isArray(t.items)?t.items[o]||t.additionalItems:t.items;if(void 0===u)return!0;if(!1===u)return a.addError({name:"items",message:"additionalItems not permitted"}),!1;var l=i.validateSchema(e,u,r,n.makeChild(u,o));return l.instance!==a.instance[o]&&(a.instance[o]=l.instance),a.importErrors(l),!0})),a}},u.minimum=function(e,t,r,n){if(this.types.number(e)){var i=new o(e,t,r,n);return t.exclusiveMinimum&&!0===t.exclusiveMinimum?e>t.minimum||i.addError({name:"minimum",argument:t.minimum,message:"must be greater than "+t.minimum}):e>=t.minimum||i.addError({name:"minimum",argument:t.minimum,message:"must be greater than or equal to "+t.minimum}),i}},u.maximum=function(e,t,r,n){if(this.types.number(e)){var i=new o(e,t,r,n);return t.exclusiveMaximum&&!0===t.exclusiveMaximum?et.exclusiveMinimum||i.addError({name:"exclusiveMinimum",argument:t.exclusiveMinimum,message:"must be strictly greater than "+t.exclusiveMinimum}),i}},u.exclusiveMaximum=function(e,t,r,n){if("boolean"!=typeof t.exclusiveMaximum&&this.types.number(e)){var i=new o(e,t,r,n);return e=t.minLength||i.addError({name:"minLength",argument:t.minLength,message:"does not meet minimum length of "+t.minLength}),i}},u.maxLength=function(e,t,r,n){if(this.types.string(e)){var i=new o(e,t,r,n),a=e.match(/[\uDC00-\uDFFF]/g);return e.length-(a?a.length:0)<=t.maxLength||i.addError({name:"maxLength",argument:t.maxLength,message:"does not meet maximum length of "+t.maxLength}),i}},u.minItems=function(e,t,r,n){if(this.types.array(e)){var i=new o(e,t,r,n);return e.length>=t.minItems||i.addError({name:"minItems",argument:t.minItems,message:"does not meet minimum length of "+t.minItems}),i}},u.maxItems=function(e,t,r,n){if(this.types.array(e)){var i=new o(e,t,r,n);return e.length<=t.maxItems||i.addError({name:"maxItems",argument:t.maxItems,message:"does not meet maximum length of "+t.maxItems}),i}},u.uniqueItems=function(e,t,r,n){if(!0===t.uniqueItems&&this.types.array(e)){var i=new o(e,t,r,n);return e.every(p)||i.addError({name:"uniqueItems",message:"contains duplicate item"}),i}},u.dependencies=function(e,t,r,n){if(this.types.object(e)){var i=new o(e,t,r,n);for(var a in t.dependencies)if(void 0!==e[a]){var u=t.dependencies[a],l=n.makeChild(u,a);if("string"==typeof u&&(u=[u]),Array.isArray(u))u.forEach((function(t){void 0===e[t]&&i.addError({name:"dependencies",argument:l.propertyPath,message:"property "+t+" not found, required by "+l.propertyPath})}));else{var c=this.validateSchema(e,u,r,l);i.instance!==c.instance&&(i.instance=c.instance),c&&c.errors.length&&(i.addError({name:"dependencies",argument:l.propertyPath,message:"does not meet dependency required by "+l.propertyPath}),i.importErrors(c))}}return i}},u.enum=function(e,t,r,a){if(void 0===e)return null;if(!Array.isArray(t.enum))throw new i("enum expects an array",t);var u=new o(e,t,r,a);return t.enum.some(n.deepCompareStrict.bind(null,e))||u.addError({name:"enum",argument:t.enum,message:"is not one of enum values: "+t.enum.map(String).join(",")}),u},u.const=function(e,t,r,i){if(void 0===e)return null;var a=new o(e,t,r,i);return n.deepCompareStrict(t.const,e)||a.addError({name:"const",argument:t.const,message:"does not exactly match expected constant: "+t.const}),a},u.not=u.disallow=function(e,t,r,n){var i=this;if(void 0===e)return null;var a=new o(e,t,r,n),u=t.not||t.disallow;return u?(Array.isArray(u)||(u=[u]),u.forEach((function(o){if(i.testType(e,t,r,n,o)){var u=o&&(o.$id||o.id)||o;a.addError({name:"not",argument:u,message:"is of prohibited type "+u})}})),a):null},e.exports=a},function(e,t,r){"use strict";var n,o="object"==typeof Reflect?Reflect:null,i=o&&"function"==typeof o.apply?o.apply:function(e,t,r){return Function.prototype.apply.call(e,t,r)};n=o&&"function"==typeof o.ownKeys?o.ownKeys:Object.getOwnPropertySymbols?function(e){return Object.getOwnPropertyNames(e).concat(Object.getOwnPropertySymbols(e))}:function(e){return Object.getOwnPropertyNames(e)};var a=Number.isNaN||function(e){return e!=e};function u(){u.init.call(this)}e.exports=u,e.exports.once=function(e,t){return new Promise((function(r,n){function o(){void 0!==i&&e.removeListener("error",i),r([].slice.call(arguments))}var i;"error"!==t&&(i=function(r){e.removeListener(t,o),n(r)},e.once("error",i)),e.once(t,o)}))},u.EventEmitter=u,u.prototype._events=void 0,u.prototype._eventsCount=0,u.prototype._maxListeners=void 0;var l=10;function c(e){if("function"!=typeof e)throw new TypeError('The "listener" argument must be of type Function. Received type '+typeof e)}function s(e){return void 0===e._maxListeners?u.defaultMaxListeners:e._maxListeners}function f(e,t,r,n){var o,i,a,u;if(c(r),void 0===(i=e._events)?(i=e._events=Object.create(null),e._eventsCount=0):(void 0!==i.newListener&&(e.emit("newListener",t,r.listener?r.listener:r),i=e._events),a=i[t]),void 0===a)a=i[t]=r,++e._eventsCount;else if("function"==typeof a?a=i[t]=n?[r,a]:[a,r]:n?a.unshift(r):a.push(r),(o=s(e))>0&&a.length>o&&!a.warned){a.warned=!0;var l=new Error("Possible EventEmitter memory leak detected. "+a.length+" "+String(t)+" listeners added. Use emitter.setMaxListeners() to increase limit");l.name="MaxListenersExceededWarning",l.emitter=e,l.type=t,l.count=a.length,u=l,console&&console.warn&&console.warn(u)}return e}function p(){if(!this.fired)return this.target.removeListener(this.type,this.wrapFn),this.fired=!0,0===arguments.length?this.listener.call(this.target):this.listener.apply(this.target,arguments)}function d(e,t,r){var n={fired:!1,wrapFn:void 0,target:e,type:t,listener:r},o=p.bind(n);return o.listener=r,n.wrapFn=o,o}function h(e,t,r){var n=e._events;if(void 0===n)return[];var o=n[t];return void 0===o?[]:"function"==typeof o?r?[o.listener||o]:[o]:r?function(e){for(var t=new Array(e.length),r=0;r0&&(a=t[0]),a instanceof Error)throw a;var u=new Error("Unhandled error."+(a?" ("+a.message+")":""));throw u.context=a,u}var l=o[e];if(void 0===l)return!1;if("function"==typeof l)i(l,this,t);else{var c=l.length,s=y(l,c);for(r=0;r=0;i--)if(r[i]===t||r[i].listener===t){a=r[i].listener,o=i;break}if(o<0)return this;0===o?r.shift():function(e,t){for(;t+1=0;n--)this.removeListener(e,t[n]);return this},u.prototype.listeners=function(e){return h(this,e,!0)},u.prototype.rawListeners=function(e){return h(this,e,!1)},u.listenerCount=function(e,t){return"function"==typeof e.listenerCount?e.listenerCount(t):b.call(e,t)},u.prototype.listenerCount=b,u.prototype.eventNames=function(){return this._eventsCount>0?n(this._events):[]}},function(e,t,r){"use strict";var n=r(8),o=r(102),i=r(228),a=r(108);function u(e){var t=new i(e),r=o(i.prototype.request,t);return n.extend(r,i.prototype,t),n.extend(r,t),r}var l=u(r(105));l.Axios=i,l.create=function(e){return u(a(l.defaults,e))},l.Cancel=r(109),l.CancelToken=r(241),l.isCancel=r(104),l.all=function(e){return Promise.all(e)},l.spread=r(242),l.isAxiosError=r(243),e.exports=l,e.exports.default=l},function(e,t,r){"use strict";var n=r(8),o=r(103),i=r(229),a=r(230),u=r(108);function l(e){this.defaults=e,this.interceptors={request:new i,response:new i}}l.prototype.request=function(e){"string"==typeof e?(e=arguments[1]||{}).url=arguments[0]:e=e||{},(e=u(this.defaults,e)).method?e.method=e.method.toLowerCase():this.defaults.method?e.method=this.defaults.method.toLowerCase():e.method="get";var t=[a,void 0],r=Promise.resolve(e);for(this.interceptors.request.forEach((function(e){t.unshift(e.fulfilled,e.rejected)})),this.interceptors.response.forEach((function(e){t.push(e.fulfilled,e.rejected)}));t.length;)r=r.then(t.shift(),t.shift());return r},l.prototype.getUri=function(e){return e=u(this.defaults,e),o(e.url,e.params,e.paramsSerializer).replace(/^\?/,"")},n.forEach(["delete","get","head","options"],(function(e){l.prototype[e]=function(t,r){return this.request(u(r||{},{method:e,url:t,data:(r||{}).data}))}})),n.forEach(["post","put","patch"],(function(e){l.prototype[e]=function(t,r,n){return this.request(u(n||{},{method:e,url:t,data:r}))}})),e.exports=l},function(e,t,r){"use strict";var n=r(8);function o(){this.handlers=[]}o.prototype.use=function(e,t){return this.handlers.push({fulfilled:e,rejected:t}),this.handlers.length-1},o.prototype.eject=function(e){this.handlers[e]&&(this.handlers[e]=null)},o.prototype.forEach=function(e){n.forEach(this.handlers,(function(t){null!==t&&e(t)}))},e.exports=o},function(e,t,r){"use strict";var n=r(8),o=r(231),i=r(104),a=r(105);function u(e){e.cancelToken&&e.cancelToken.throwIfRequested()}e.exports=function(e){return u(e),e.headers=e.headers||{},e.data=o(e.data,e.headers,e.transformRequest),e.headers=n.merge(e.headers.common||{},e.headers[e.method]||{},e.headers),n.forEach(["delete","get","head","post","put","patch","common"],(function(t){delete e.headers[t]})),(e.adapter||a.adapter)(e).then((function(t){return u(e),t.data=o(t.data,t.headers,e.transformResponse),t}),(function(t){return i(t)||(u(e),t&&t.response&&(t.response.data=o(t.response.data,t.response.headers,e.transformResponse))),Promise.reject(t)}))}},function(e,t,r){"use strict";var n=r(8);e.exports=function(e,t,r){return n.forEach(r,(function(r){e=r(e,t)})),e}},function(e,t,r){"use strict";var n=r(8);e.exports=function(e,t){n.forEach(e,(function(r,n){n!==t&&n.toUpperCase()===t.toUpperCase()&&(e[t]=r,delete e[n])}))}},function(e,t,r){"use strict";var n=r(107);e.exports=function(e,t,r){var o=r.config.validateStatus;r.status&&o&&!o(r.status)?t(n("Request failed with status code "+r.status,r.config,null,r.request,r)):e(r)}},function(e,t,r){"use strict";e.exports=function(e,t,r,n,o){return e.config=t,r&&(e.code=r),e.request=n,e.response=o,e.isAxiosError=!0,e.toJSON=function(){return{message:this.message,name:this.name,description:this.description,number:this.number,fileName:this.fileName,lineNumber:this.lineNumber,columnNumber:this.columnNumber,stack:this.stack,config:this.config,code:this.code}},e}},function(e,t,r){"use strict";var n=r(8);e.exports=n.isStandardBrowserEnv()?{write:function(e,t,r,o,i,a){var u=[];u.push(e+"="+encodeURIComponent(t)),n.isNumber(r)&&u.push("expires="+new Date(r).toGMTString()),n.isString(o)&&u.push("path="+o),n.isString(i)&&u.push("domain="+i),!0===a&&u.push("secure"),document.cookie=u.join("; ")},read:function(e){var t=document.cookie.match(new RegExp("(^|;\\s*)("+e+")=([^;]*)"));return t?decodeURIComponent(t[3]):null},remove:function(e){this.write(e,"",Date.now()-864e5)}}:{write:function(){},read:function(){return null},remove:function(){}}},function(e,t,r){"use strict";var n=r(237),o=r(238);e.exports=function(e,t){return e&&!n(t)?o(e,t):t}},function(e,t,r){"use strict";e.exports=function(e){return/^([a-z][a-z\d\+\-\.]*:)?\/\//i.test(e)}},function(e,t,r){"use strict";e.exports=function(e,t){return t?e.replace(/\/+$/,"")+"/"+t.replace(/^\/+/,""):e}},function(e,t,r){"use strict";var n=r(8),o=["age","authorization","content-length","content-type","etag","expires","from","host","if-modified-since","if-unmodified-since","last-modified","location","max-forwards","proxy-authorization","referer","retry-after","user-agent"];e.exports=function(e){var t,r,i,a={};return e?(n.forEach(e.split("\n"),(function(e){if(i=e.indexOf(":"),t=n.trim(e.substr(0,i)).toLowerCase(),r=n.trim(e.substr(i+1)),t){if(a[t]&&o.indexOf(t)>=0)return;a[t]="set-cookie"===t?(a[t]?a[t]:[]).concat([r]):a[t]?a[t]+", "+r:r}})),a):a}},function(e,t,r){"use strict";var n=r(8);e.exports=n.isStandardBrowserEnv()?function(){var e,t=/(msie|trident)/i.test(navigator.userAgent),r=document.createElement("a");function o(e){var n=e;return t&&(r.setAttribute("href",n),n=r.href),r.setAttribute("href",n),{href:r.href,protocol:r.protocol?r.protocol.replace(/:$/,""):"",host:r.host,search:r.search?r.search.replace(/^\?/,""):"",hash:r.hash?r.hash.replace(/^#/,""):"",hostname:r.hostname,port:r.port,pathname:"/"===r.pathname.charAt(0)?r.pathname:"/"+r.pathname}}return e=o(window.location.href),function(t){var r=n.isString(t)?o(t):t;return r.protocol===e.protocol&&r.host===e.host}}():function(){return!0}},function(e,t,r){"use strict";var n=r(109);function o(e){if("function"!=typeof e)throw new TypeError("executor must be a function.");var t;this.promise=new Promise((function(e){t=e}));var r=this;e((function(e){r.reason||(r.reason=new n(e),t(r.reason))}))}o.prototype.throwIfRequested=function(){if(this.reason)throw this.reason},o.source=function(){var e;return{token:new o((function(t){e=t})),cancel:e}},e.exports=o},function(e,t,r){"use strict";e.exports=function(e){return function(t){return e.apply(null,t)}}},function(e,t,r){"use strict";e.exports=function(e){return"object"==typeof e&&!0===e.isAxiosError}},function(e,t){e.exports=function(e){if(Array.isArray(e))return e},e.exports.default=e.exports,e.exports.__esModule=!0},function(e,t){e.exports=function(e,t){if("undefined"!=typeof Symbol&&Symbol.iterator in Object(e)){var r=[],n=!0,o=!1,i=void 0;try{for(var a,u=e[Symbol.iterator]();!(n=(a=u.next()).done)&&(r.push(a.value),!t||r.length!==t);n=!0);}catch(e){o=!0,i=e}finally{try{n||null==u.return||u.return()}finally{if(o)throw i}}return r}},e.exports.default=e.exports,e.exports.__esModule=!0},function(e,t){e.exports=function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")},e.exports.default=e.exports,e.exports.__esModule=!0},function(e,t,r){e.exports=function(e){var t={};function r(n){if(t[n])return t[n].exports;var o=t[n]={i:n,l:!1,exports:{}};return e[n].call(o.exports,o,o.exports,r),o.l=!0,o.exports}return r.m=e,r.c=t,r.d=function(e,t,n){r.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:n})},r.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},r.t=function(e,t){if(1&t&&(e=r(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var n=Object.create(null);if(r.r(n),Object.defineProperty(n,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var o in e)r.d(n,o,function(t){return e[t]}.bind(null,o));return n},r.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return r.d(t,"a",t),t},r.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},r.p="",r(r.s=144)}({0:function(e,t){e.exports=r(11)},1:function(e,t){e.exports=r(3)},144:function(e,t,r){"use strict";r.r(t),r.d(t,"default",(function(){return g}));var n=r(2),o=r.n(n),i=r(1),a=r.n(i),u=r(5),l=r(20),c=r(3),s=r.n(c),f=r(41),p=r.n(f),d=r(0),h=s()(p.a).withConfig({displayName:"CloseButtonStyles__StyledButtonSimple",componentId:"b3h40f-0"})(["float:right;width:",";height:",";text-align:center;"],d.variables.inputHeight,d.variables.inputHeight);function b(){return(b=Object.assign||function(e){for(var t=1;t=0||(o[r]=e[r]);return o}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(n=0;n=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(o[r]=e[r])}return o}var v={disabled:a.a.bool,elementRef:a.a.oneOfType([a.a.func,a.a.object]),screenReaderText:a.a.string};function m(e){var t=e.disabled,r=void 0!==t&&t,n=e.screenReaderText,i=void 0===n?Object(u._)("Close"):n,a=y(e,["disabled","screenReaderText"]);return o.a.createElement(h,b({appearance:"pill",disabled:r},a),o.a.createElement(l.a,{enterpriseSize:"13px",screenReaderText:i,inline:!1}))}m.propTypes=v;var g=m},2:function(e,t){e.exports=r(0)},20:function(e,t,r){"use strict";r.d(t,"a",(function(){return p}));var n=r(2),o=r.n(n),i=r(23),a=r.n(i),u=r(7),l=r(6);function c(){return(c=Object.assign||function(e){for(var t=1;t=0||(o[r]=e[r]);return o}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(n=0;n=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(o[r]=e[r])}return o}var p={display:"inline-block",flex:"0 0 auto",overflow:"visible",verticalAlign:"middle"},d={display:"block",flex:"0 0 auto",margin:"0 auto",overflow:"visible"},h={Enterprise:a.a.func,enterpriseSize:a.a.oneOfType([a.a.number,a.a.string]),enterpriseWidth:a.a.oneOfType([a.a.number,a.a.string]),enterpriseHeight:a.a.oneOfType([a.a.number,a.a.string]),Prisma24:a.a.func.isRequired,Prisma20:a.a.func,Prisma16:a.a.func,prismaSize:a.a.oneOf(["medium","small"]),inline:a.a.bool,screenReaderText:a.a.string};function b(e){var t=e.Enterprise,r=e.Prisma24,n=e.Prisma20,i=e.Prisma16,a=e.prismaSize,h=e.inline,b=e.enterpriseSize,y=e.enterpriseWidth,v=e.enterpriseHeight,m=e.screenReaderText,g=f(e,["Enterprise","Prisma24","Prisma20","Prisma16","prismaSize","inline","enterpriseSize","enterpriseWidth","enterpriseHeight","screenReaderText"]),x=Object(u.useSplunkTheme)(),O=x.family,w=x.density;if("enterprise"===O)return o.a.createElement(t,s({size:b,width:y,height:v,screenReaderText:m||null,hideDefaultTooltip:!0,inline:h},g));var _=function(e){for(var t=1;t0&&c>l&&(c=l);for(var s=0;s=0?(f=b.substr(0,y),p=b.substr(y+1)):(f=b,p=""),d=decodeURIComponent(f),h=decodeURIComponent(p),n(a,d)?o(a[d])?a[d].push(h):a[d]=[a[d],h]:a[d]=h}return a};var o=Array.isArray||function(e){return"[object Array]"===Object.prototype.toString.call(e)}},function(e,t,r){"use strict";var n=function(e){switch(typeof e){case"string":return e;case"boolean":return e?"true":"false";case"number":return isFinite(e)?e:"";default:return""}};e.exports=function(e,t,r,u){return t=t||"&",r=r||"=",null===e&&(e=void 0),"object"==typeof e?i(a(e),(function(a){var u=encodeURIComponent(n(a))+r;return o(e[a])?i(e[a],(function(e){return u+encodeURIComponent(n(e))})).join(t):u+encodeURIComponent(n(e[a]))})).join(t):u?encodeURIComponent(n(u))+r+encodeURIComponent(n(e)):""};var o=Array.isArray||function(e){return"[object Array]"===Object.prototype.toString.call(e)};function i(e,t){if(e.map)return e.map(t);for(var r=[],n=0;n-1}},function(e,t,r){var n=r(37);e.exports=function(e,t){var r=this.__data__,o=n(r,e);return o<0?(++this.size,r.push([e,t])):r[o][1]=t,this}},function(e,t,r){var n=r(38);e.exports=function(e){var t=n(this,e).delete(e);return this.size-=t?1:0,t}},function(e,t){e.exports=function(e){var t=typeof e;return"string"==t||"number"==t||"symbol"==t||"boolean"==t?"__proto__"!==e:null===e}},function(e,t,r){var n=r(38);e.exports=function(e){return n(this,e).get(e)}},function(e,t,r){var n=r(38);e.exports=function(e){return n(this,e).has(e)}},function(e,t,r){var n=r(38);e.exports=function(e,t){var r=n(this,e),o=r.size;return r.set(e,t),this.size+=r.size==o?0:1,this}},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var n=l(r(48)),o=l(r(88)),i=l(r(89)),a=l(r(90)),u=l(r(192));function l(e){return e&&e.__esModule?e:{default:e}}function c(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function s(e){for(var t=1;t0&&void 0!==arguments[0]?arguments[0]:"inline";return function(){return(0,o.css)(c(),(0,u.default)({enterprise:a.default.textColor,prisma:a.default.contentColorDefault}),e,a.default.fontFamily,a.default.fontSize,a.default.lineHeight,a.default.focusColor)}};function f(){return{"&::after":{display:"table",content:'""',clear:"both"}}}function p(){return{overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"}}function d(){return{maxWidth:"100% !important",width:"100% !important",overflow:"hidden !important"}}function h(){return{display:"none !important"}}function b(){return{background:"none !important"}}function y(){return{wordBreak:"break-all !important",wordWrap:"break-word !important",overflowWrap:"break-word !important",whiteSpace:"normal !important"}}function v(){return{position:"absolute",overflow:"hidden",clip:"rect(0 0 0 0)",height:"1px",width:"1px",margin:"-1px",padding:0,border:0}}function m(e,t){return function(r){var o="function"==typeof e?e(r):e,a="function"==typeof t?t(r):t,u=(0,i.normal)((0,n.default)(o).toRgb(),(0,n.default)(a).toRgb());return(0,n.default)(u).toRgbString()}}function g(e,t){return function(r){var o="function"==typeof e?e(r):e;return(0,n.default)(o).setAlpha(t).toRgbString()}}t.reset=s;var x={reset:s,clearfix:f,ellipsis:p,printWidth100Percent:d,printHide:h,printNoBackground:b,printWrapAll:y,screenReaderContent:v,colorWithAlpha:g,overlayColors:m};t.default=x},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var n=r(49),o=r(16),i=function(e,t){return function(r){var i,a=r[e],u=t[a];if((0,n.isInterpolationResult)(u))return u;var l=(0,o.addThemeDefaults)(null===(i=r.theme)||void 0===i?void 0:i.splunkThemeV1);return(0,n.getThemeVariant)(u,l)}};t.default=i},function(e,t,r){"use strict";function n(e){return(n="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)}Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e){var t=e.family,r=e.colorScheme,n=e.density,a=e.additionalThemeProperties,l=e.customizeTheme,s=function(e,t){if(null==e)return{};var r,n,o=function(e,t){if(null==e)return{};var r,n,o={},i=Object.keys(e);for(n=0;n=0||(o[r]=e[r]);return o}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(n=0;n=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(o[r]=e[r])}return o}(e,["family","colorScheme","density","additionalThemeProperties","customizeTheme"]),f=((0,o.useContext)(i.ThemeContext)||{}).splunkThemeV1,p=void 0===f?{}:f,d=c(c({},a),{},{splunkThemeV1:{family:t||p.family||"prisma",colorScheme:r||p.colorScheme||"dark",density:n||p.density||"comfortable",customizer:l||p.customizer}});return o.default.createElement(i.ThemeProvider,u({theme:d},s))};var o=function(e){if(e&&e.__esModule)return e;if(null===e||"object"!==n(e)&&"function"!=typeof e)return{default:e};var t=a();if(t&&t.has(e))return t.get(e);var r={},o=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var i in e)if(Object.prototype.hasOwnProperty.call(e,i)){var u=o?Object.getOwnPropertyDescriptor(e,i):null;u&&(u.get||u.set)?Object.defineProperty(r,i,u):r[i]=e[i]}r.default=e,t&&t.set(e,r);return r}(r(0)),i=r(1);function a(){if("function"!=typeof WeakMap)return null;var e=new WeakMap;return a=function(){return e},e}function u(){return(u=Object.assign||function(e){for(var t=1;t=0||(o[r]=e[r]);return o}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(n=0;n=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(o[r]=e[r])}return o}var d=function(e){var t=o.default.forwardRef((function(t,r){var n=(0,o.useContext)(i.ThemeContext)||{},u=n.splunkThemeV1,c=p(n,["splunkThemeV1"]),f=u||{},d=f.family,h=f.colorScheme,b=f.density,y=f.customizer,v=(0,a.addThemeDefaults)({family:d,colorScheme:h,density:b}),m=s(s({},c),(0,a.getCustomizedTheme)(v,y));return o.default.createElement(e,l({},t,{ref:r,splunkTheme:m}))})),r=e.displayName||e.name||"Component";return t.displayName="withSplunkTheme(".concat(r,")"),t};t.default=d},function(e,t,r){},function(e,t,r){"use strict";var n;function o(e){n=e}function i(){o("undefined"!=typeof window&&window.gettext||function(e){return e})}Object.defineProperty(t,"__esModule",{value:!0}),t.gettext=function(){return n.apply(void 0,arguments)},t._=function(){return n.apply(void 0,arguments)},t.setSharedTranslator=o,t.resetSharedTranslator=i,i()},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var n=l(r(50)),o=l(r(94)),i=l(r(95)),a=l(r(96)),u=l(r(204));function l(e){return e&&e.__esModule?e:{default:e}}function c(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function s(e){for(var t=1;t0&&void 0!==arguments[0]?arguments[0]:"inline";return function(){return(0,o.css)(c(),(0,u.default)({enterprise:a.default.textColor,prisma:a.default.contentColorDefault}),e,a.default.fontFamily,a.default.fontSize,a.default.lineHeight,a.default.focusColor)}};function f(){return{"&::after":{display:"table",content:'""',clear:"both"}}}function p(){return{overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"}}function d(){return{maxWidth:"100% !important",width:"100% !important",overflow:"hidden !important"}}function h(){return{display:"none !important"}}function b(){return{background:"none !important"}}function y(){return{wordBreak:"break-all !important",wordWrap:"break-word !important",overflowWrap:"break-word !important",whiteSpace:"normal !important"}}function v(){return{position:"absolute",overflow:"hidden",clip:"rect(0 0 0 0)",height:"1px",width:"1px",margin:"-1px",padding:0,border:0}}function m(e,t){return function(r){var o="function"==typeof e?e(r):e,a="function"==typeof t?t(r):t,u=(0,i.normal)((0,n.default)(o).toRgb(),(0,n.default)(a).toRgb());return(0,n.default)(u).toRgbString()}}function g(e,t){return function(r){var o="function"==typeof e?e(r):e;return(0,n.default)(o).setAlpha(t).toRgbString()}}t.reset=s;var x={reset:s,clearfix:f,ellipsis:p,printWidth100Percent:d,printHide:h,printNoBackground:b,printWrapAll:y,screenReaderContent:v,colorWithAlpha:g,overlayColors:m};t.default=x},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var n=r(51),o=r(17),i=function(e,t){return function(r){var i,a=r[e],u=t[a];if((0,n.isInterpolationResult)(u))return u;var l=(0,o.addThemeDefaults)(null===(i=r.theme)||void 0===i?void 0:i.splunkThemeV1);return(0,n.getThemeVariant)(u,l)}};t.default=i},function(e,t,r){"use strict";function n(e){return(n="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)}Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e){var t=e.family,r=e.colorScheme,n=e.density,a=e.additionalThemeProperties,l=e.customizeTheme,s=function(e,t){if(null==e)return{};var r,n,o=function(e,t){if(null==e)return{};var r,n,o={},i=Object.keys(e);for(n=0;n=0||(o[r]=e[r]);return o}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(n=0;n=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(o[r]=e[r])}return o}(e,["family","colorScheme","density","additionalThemeProperties","customizeTheme"]),f=((0,o.useContext)(i.ThemeContext)||{}).splunkThemeV1,p=void 0===f?{}:f,d=c(c({},a),{},{splunkThemeV1:{family:t||p.family||"prisma",colorScheme:r||p.colorScheme||"dark",density:n||p.density||"comfortable",customizer:l||p.customizer}});return o.default.createElement(i.ThemeProvider,u({theme:d},s))};var o=function(e){if(e&&e.__esModule)return e;if(null===e||"object"!==n(e)&&"function"!=typeof e)return{default:e};var t=a();if(t&&t.has(e))return t.get(e);var r={},o=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var i in e)if(Object.prototype.hasOwnProperty.call(e,i)){var u=o?Object.getOwnPropertyDescriptor(e,i):null;u&&(u.get||u.set)?Object.defineProperty(r,i,u):r[i]=e[i]}r.default=e,t&&t.set(e,r);return r}(r(0)),i=r(1);function a(){if("function"!=typeof WeakMap)return null;var e=new WeakMap;return a=function(){return e},e}function u(){return(u=Object.assign||function(e){for(var t=1;t=0||(o[r]=e[r]);return o}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(n=0;n=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(o[r]=e[r])}return o}var s=function(){var e=(0,n.useContext)(o.ThemeContext)||{},t=e.splunkThemeV1,r=void 0===t?{}:t,a=c(e,["splunkThemeV1"]),l=r.family,s=r.colorScheme,f=r.density,p=r.customizer;return u(u({},a),(0,i.getCustomizedTheme)({family:l,colorScheme:s,density:f},p))};t.default=s},function(e,t,r){"use strict";function n(e){return(n="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)}Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var o=function(e){if(e&&e.__esModule)return e;if(null===e||"object"!==n(e)&&"function"!=typeof e)return{default:e};var t=u();if(t&&t.has(e))return t.get(e);var r={},o=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var i in e)if(Object.prototype.hasOwnProperty.call(e,i)){var a=o?Object.getOwnPropertyDescriptor(e,i):null;a&&(a.get||a.set)?Object.defineProperty(r,i,a):r[i]=e[i]}r.default=e,t&&t.set(e,r);return r}(r(0)),i=r(1),a=r(17);function u(){if("function"!=typeof WeakMap)return null;var e=new WeakMap;return u=function(){return e},e}function l(){return(l=Object.assign||function(e){for(var t=1;t=0||(o[r]=e[r]);return o}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(n=0;n=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(o[r]=e[r])}return o}var d=function(e){var t=o.default.forwardRef((function(t,r){var n=(0,o.useContext)(i.ThemeContext)||{},u=n.splunkThemeV1,c=p(n,["splunkThemeV1"]),f=u||{},d=f.family,h=f.colorScheme,b=f.density,y=f.customizer,v=(0,a.addThemeDefaults)({family:d,colorScheme:h,density:b}),m=s(s({},c),(0,a.getCustomizedTheme)(v,y));return o.default.createElement(e,l({},t,{ref:r,splunkTheme:m}))})),r=e.displayName||e.name||"Component";return t.displayName="withSplunkTheme(".concat(r,")"),t};t.default=d},function(e,t,r){},function(e,t){e.exports=function(e,t){if(null==e)return{};var r,n,o={},i=Object.keys(e);for(n=0;n=0||(o[r]=e[r]);return o},e.exports.default=e.exports,e.exports.__esModule=!0},function(e,t,r){var n=r(218);e.exports=function(e,t){e.prototype=Object.create(t.prototype),e.prototype.constructor=e,n(e,t)},e.exports.default=e.exports,e.exports.__esModule=!0},function(e,t){function r(t,n){return e.exports=r=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e},e.exports.default=e.exports,e.exports.__esModule=!0,r(t,n)}e.exports=r,e.exports.default=e.exports,e.exports.__esModule=!0},function(e,t){e.exports=function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e},e.exports.default=e.exports,e.exports.__esModule=!0},function(e,t){function r(){return e.exports=r=Object.assign||function(e){for(var t=1;t",e);var l=i.objectGetPath(r.schemas[u],a.substr(1));if(void 0===l)throw new c("no such schema "+a+" located in <"+u+">",e);return{subschema:l,switchSchema:t}},f.prototype.testType=function(e,t,r,n,o){if(void 0!==o){if(null===o)throw new c('Unexpected null in "type" keyword');if("function"==typeof this.types[o])return this.types[o].call(this,e);if(o&&"object"==typeof o){var i=this.validateSchema(e,o,r,n);return void 0===i||!(i&&i.errors.length)}return!0}};var d=f.prototype.types={};d.string=function(e){return"string"==typeof e},d.number=function(e){return"number"==typeof e&&isFinite(e)},d.integer=function(e){return"number"==typeof e&&e%1==0},d.boolean=function(e){return"boolean"==typeof e},d.array=function(e){return Array.isArray(e)},d.null=function(e){return null===e},d.date=function(e){return e instanceof Date},d.any=function(e){return!0},d.object=function(e){return e&&"object"==typeof e&&!Array.isArray(e)&&!(e instanceof Date)},e.exports=f},function(e,t,r){(function(e,n){var o;/*! https://mths.be/punycode v1.4.1 by @mathias */!function(i){t&&t.nodeType,e&&e.nodeType;var a="object"==typeof n&&n;a.global!==a&&a.window!==a&&a.self;var u,l=2147483647,c=/^xn--/,s=/[^\x20-\x7E]/,f=/[\x2E\u3002\uFF0E\uFF61]/g,p={overflow:"Overflow: input needs wider integers to process","not-basic":"Illegal input >= 0x80 (not a basic code point)","invalid-input":"Invalid input"},d=Math.floor,h=String.fromCharCode;function b(e){throw new RangeError(p[e])}function y(e,t){for(var r=e.length,n=[];r--;)n[r]=t(e[r]);return n}function v(e,t){var r=e.split("@"),n="";return r.length>1&&(n=r[0]+"@",e=r[1]),n+y((e=e.replace(f,".")).split("."),t).join(".")}function m(e){for(var t,r,n=[],o=0,i=e.length;o=55296&&t<=56319&&o65535&&(t+=h((e-=65536)>>>10&1023|55296),e=56320|1023&e),t+=h(e)})).join("")}function x(e,t){return e+22+75*(e<26)-((0!=t)<<5)}function O(e,t,r){var n=0;for(e=r?d(e/700):e>>1,e+=d(e/t);e>455;n+=36)e=d(e/35);return d(n+36*e/(e+38))}function w(e){var t,r,n,o,i,a,u,c,s,f,p,h=[],y=e.length,v=0,m=128,x=72;for((r=e.lastIndexOf("-"))<0&&(r=0),n=0;n=128&&b("not-basic"),h.push(e.charCodeAt(n));for(o=r>0?r+1:0;o=y&&b("invalid-input"),((c=(p=e.charCodeAt(o++))-48<10?p-22:p-65<26?p-65:p-97<26?p-97:36)>=36||c>d((l-v)/a))&&b("overflow"),v+=c*a,!(c<(s=u<=x?1:u>=x+26?26:u-x));u+=36)a>d(l/(f=36-s))&&b("overflow"),a*=f;x=O(v-i,t=h.length+1,0==i),d(v/t)>l-m&&b("overflow"),m+=d(v/t),v%=t,h.splice(v++,0,m)}return g(h)}function _(e){var t,r,n,o,i,a,u,c,s,f,p,y,v,g,w,_=[];for(y=(e=m(e)).length,t=128,r=0,i=72,a=0;a=t&&pd((l-r)/(v=n+1))&&b("overflow"),r+=(u-t)*v,t=u,a=0;al&&b("overflow"),p==t){for(c=r,s=36;!(c<(f=s<=i?1:s>=i+26?26:s-i));s+=36)w=c-f,g=36-f,_.push(h(x(f+w%g,0))),c=d(w/g);_.push(h(x(c,0))),i=O(r,v,n==o),r=0,++n}++r,++t}return _.join("")}u={version:"1.4.1",ucs2:{decode:m,encode:g},decode:w,encode:_,toASCII:function(e){return v(e,(function(e){return s.test(e)?"xn--"+_(e):e}))},toUnicode:function(e){return v(e,(function(e){return c.test(e)?w(e.slice(4).toLowerCase()):e}))}},void 0===(o=function(){return u}.call(t,r,t,e))||(e.exports=o)}()}).call(this,r(70)(e),r(23))},function(e,t,r){"use strict";e.exports={isString:function(e){return"string"==typeof e},isObject:function(e){return"object"==typeof e&&null!==e},isNull:function(e){return null===e},isNullOrUndefined:function(e){return null==e}}},function(e,t,r){"use strict";var n=r(18),o=n.ValidatorResult,i=n.SchemaError,a={ignoreProperties:{id:!0,default:!0,description:!0,title:!0,additionalItems:!0,then:!0,else:!0,$schema:!0,$ref:!0,extends:!0}},u=a.validators={};function l(e,t,r,n,o){var i=t.throwError,a=t.throwAll;t.throwError=!1,t.throwAll=!1;var u=this.validateSchema(e,o,t,r);return t.throwError=i,t.throwAll=a,!u.valid&&n instanceof Function&&n(u),u.valid}function c(e,t){if(Object.hasOwnProperty.call(e,t))return e[t];if(t in e)for(;e=Object.getPrototypeOf(e);)if(Object.propertyIsEnumerable.call(e,t))return e[t]}function s(e,t,r,n,o,i){if(this.types.object(e)&&(!t.properties||void 0===t.properties[o]))if(!1===t.additionalProperties)i.addError({name:"additionalProperties",argument:o,message:"is not allowed to have the additional property "+JSON.stringify(o)});else{var a=t.additionalProperties||{};"function"==typeof r.preValidateProperty&&r.preValidateProperty(e,o,a,r,n);var u=this.validateSchema(e[o],a,r,n.makeChild(a,o));u.instance!==i.instance[o]&&(i.instance[o]=u.instance),i.importErrors(u)}}u.type=function(e,t,r,n){if(void 0===e)return null;var i=new o(e,t,r,n),a=Array.isArray(t.type)?t.type:[t.type];if(!a.some(this.testType.bind(this,e,t,r,n))){var u=a.map((function(e){if(e){var t=e.$id||e.id;return t?"<"+t+">":e+""}}));i.addError({name:"type",argument:u,message:"is not of a type(s) "+u})}return i},u.anyOf=function(e,t,r,n){if(void 0===e)return null;var a=new o(e,t,r,n),u=new o(e,t,r,n);if(!Array.isArray(t.anyOf))throw new i("anyOf must be an array");if(!t.anyOf.some(l.bind(this,e,r,n,(function(e){u.importErrors(e)})))){var c=t.anyOf.map((function(e,t){var r=e.$id||e.id;return r?"<"+r+">":e.title&&JSON.stringify(e.title)||e.$ref&&"<"+e.$ref+">"||"[subschema "+t+"]"}));r.nestedErrors&&a.importErrors(u),a.addError({name:"anyOf",argument:c,message:"is not any of "+c.join(",")})}return a},u.allOf=function(e,t,r,n){if(void 0===e)return null;if(!Array.isArray(t.allOf))throw new i("allOf must be an array");var a=new o(e,t,r,n),u=this;return t.allOf.forEach((function(t,o){var i=u.validateSchema(e,t,r,n);if(!i.valid){var l=t.$id||t.id||t.title&&JSON.stringify(t.title)||t.$ref&&"<"+t.$ref+">"||"[subschema "+o+"]";a.addError({name:"allOf",argument:{id:l,length:i.errors.length,valid:i},message:"does not match allOf schema "+l+" with "+i.errors.length+" error[s]:"}),a.importErrors(i)}})),a},u.oneOf=function(e,t,r,n){if(void 0===e)return null;if(!Array.isArray(t.oneOf))throw new i("oneOf must be an array");var a=new o(e,t,r,n),u=new o(e,t,r,n),c=t.oneOf.filter(l.bind(this,e,r,n,(function(e){u.importErrors(e)}))).length,s=t.oneOf.map((function(e,t){return e.$id||e.id||e.title&&JSON.stringify(e.title)||e.$ref&&"<"+e.$ref+">"||"[subschema "+t+"]"}));return 1!==c&&(r.nestedErrors&&a.importErrors(u),a.addError({name:"oneOf",argument:s,message:"is not exactly one from "+s.join(",")})),a},u.if=function(e,t,r,i){if(void 0===e)return null;if(!n.isSchema(t.if))throw new Error('Expected "if" keyword to be a schema');var a,u=l.call(this,e,r,i,null,t.if),c=new o(e,t,r,i);if(u){if(void 0===t.then)return;if(!n.isSchema(t.then))throw new Error('Expected "then" keyword to be a schema');a=this.validateSchema(e,t.then,r,i.makeChild(t.then)),c.importErrors(a)}else{if(void 0===t.else)return;if(!n.isSchema(t.else))throw new Error('Expected "else" keyword to be a schema');a=this.validateSchema(e,t.else,r,i.makeChild(t.else)),c.importErrors(a)}return c},u.propertyNames=function(e,t,r,a){if(this.types.object(e)){var u=new o(e,t,r,a),l=void 0!==t.propertyNames?t.propertyNames:{};if(!n.isSchema(l))throw new i('Expected "propertyNames" to be a schema (object or boolean)');for(var s in e)if(void 0!==c(e,s)){var f=this.validateSchema(s,l,r,a.makeChild(l));u.importErrors(f)}return u}},u.properties=function(e,t,r,n){if(this.types.object(e)){var a=new o(e,t,r,n),u=t.properties||{};for(var l in u){var s=u[l];if(void 0!==s){if(null===s)throw new i('Unexpected null, expected schema in "properties"');"function"==typeof r.preValidateProperty&&r.preValidateProperty(e,l,s,r,n);var f=c(e,l),p=this.validateSchema(f,s,r,n.makeChild(s,l));p.instance!==a.instance[l]&&(a.instance[l]=p.instance),a.importErrors(p)}}return a}},u.patternProperties=function(e,t,r,n){if(this.types.object(e)){var a=new o(e,t,r,n),u=t.patternProperties||{};for(var l in e){var c=!0;for(var f in u){var p=u[f];if(void 0!==p){if(null===p)throw new i('Unexpected null, expected schema in "patternProperties"');try{var d=new RegExp(f,"u")}catch(e){d=new RegExp(f)}if(d.test(l)){c=!1,"function"==typeof r.preValidateProperty&&r.preValidateProperty(e,l,p,r,n);var h=this.validateSchema(e[l],p,r,n.makeChild(p,l));h.instance!==a.instance[l]&&(a.instance[l]=h.instance),a.importErrors(h)}}}c&&s.call(this,e,t,r,n,l,a)}return a}},u.additionalProperties=function(e,t,r,n){if(this.types.object(e)){if(t.patternProperties)return null;var i=new o(e,t,r,n);for(var a in e)s.call(this,e,t,r,n,a,i);return i}},u.minProperties=function(e,t,r,n){if(this.types.object(e)){var i=new o(e,t,r,n);return Object.keys(e).length>=t.minProperties||i.addError({name:"minProperties",argument:t.minProperties,message:"does not meet minimum property length of "+t.minProperties}),i}},u.maxProperties=function(e,t,r,n){if(this.types.object(e)){var i=new o(e,t,r,n);return Object.keys(e).length<=t.maxProperties||i.addError({name:"maxProperties",argument:t.maxProperties,message:"does not meet maximum property length of "+t.maxProperties}),i}},u.items=function(e,t,r,n){var i=this;if(this.types.array(e)&&t.items){var a=new o(e,t,r,n);return e.every((function(e,o){var u=Array.isArray(t.items)?t.items[o]||t.additionalItems:t.items;if(void 0===u)return!0;if(!1===u)return a.addError({name:"items",message:"additionalItems not permitted"}),!1;var l=i.validateSchema(e,u,r,n.makeChild(u,o));return l.instance!==a.instance[o]&&(a.instance[o]=l.instance),a.importErrors(l),!0})),a}},u.minimum=function(e,t,r,n){if(this.types.number(e)){var i=new o(e,t,r,n);return t.exclusiveMinimum&&!0===t.exclusiveMinimum?e>t.minimum||i.addError({name:"minimum",argument:t.minimum,message:"must be greater than "+t.minimum}):e>=t.minimum||i.addError({name:"minimum",argument:t.minimum,message:"must be greater than or equal to "+t.minimum}),i}},u.maximum=function(e,t,r,n){if(this.types.number(e)){var i=new o(e,t,r,n);return t.exclusiveMaximum&&!0===t.exclusiveMaximum?et.exclusiveMinimum||i.addError({name:"exclusiveMinimum",argument:t.exclusiveMinimum,message:"must be strictly greater than "+t.exclusiveMinimum}),i}},u.exclusiveMaximum=function(e,t,r,n){if("boolean"!=typeof t.exclusiveMaximum&&this.types.number(e)){var i=new o(e,t,r,n);return e=t.minLength||i.addError({name:"minLength",argument:t.minLength,message:"does not meet minimum length of "+t.minLength}),i}},u.maxLength=function(e,t,r,n){if(this.types.string(e)){var i=new o(e,t,r,n),a=e.match(/[\uDC00-\uDFFF]/g);return e.length-(a?a.length:0)<=t.maxLength||i.addError({name:"maxLength",argument:t.maxLength,message:"does not meet maximum length of "+t.maxLength}),i}},u.minItems=function(e,t,r,n){if(this.types.array(e)){var i=new o(e,t,r,n);return e.length>=t.minItems||i.addError({name:"minItems",argument:t.minItems,message:"does not meet minimum length of "+t.minItems}),i}},u.maxItems=function(e,t,r,n){if(this.types.array(e)){var i=new o(e,t,r,n);return e.length<=t.maxItems||i.addError({name:"maxItems",argument:t.maxItems,message:"does not meet maximum length of "+t.maxItems}),i}},u.uniqueItems=function(e,t,r,n){if(!0===t.uniqueItems&&this.types.array(e)){var i=new o(e,t,r,n);return e.every(p)||i.addError({name:"uniqueItems",message:"contains duplicate item"}),i}},u.dependencies=function(e,t,r,n){if(this.types.object(e)){var i=new o(e,t,r,n);for(var a in t.dependencies)if(void 0!==e[a]){var u=t.dependencies[a],l=n.makeChild(u,a);if("string"==typeof u&&(u=[u]),Array.isArray(u))u.forEach((function(t){void 0===e[t]&&i.addError({name:"dependencies",argument:l.propertyPath,message:"property "+t+" not found, required by "+l.propertyPath})}));else{var c=this.validateSchema(e,u,r,l);i.instance!==c.instance&&(i.instance=c.instance),c&&c.errors.length&&(i.addError({name:"dependencies",argument:l.propertyPath,message:"does not meet dependency required by "+l.propertyPath}),i.importErrors(c))}}return i}},u.enum=function(e,t,r,a){if(void 0===e)return null;if(!Array.isArray(t.enum))throw new i("enum expects an array",t);var u=new o(e,t,r,a);return t.enum.some(n.deepCompareStrict.bind(null,e))||u.addError({name:"enum",argument:t.enum,message:"is not one of enum values: "+t.enum.map(String).join(",")}),u},u.const=function(e,t,r,i){if(void 0===e)return null;var a=new o(e,t,r,i);return n.deepCompareStrict(t.const,e)||a.addError({name:"const",argument:t.const,message:"does not exactly match expected constant: "+t.const}),a},u.not=u.disallow=function(e,t,r,n){var i=this;if(void 0===e)return null;var a=new o(e,t,r,n),u=t.not||t.disallow;return u?(Array.isArray(u)||(u=[u]),u.forEach((function(o){if(i.testType(e,t,r,n,o)){var u=o&&(o.$id||o.id)||o;a.addError({name:"not",argument:u,message:"is of prohibited type "+u})}})),a):null},e.exports=a},function(e,t,r){"use strict";var n,o="object"==typeof Reflect?Reflect:null,i=o&&"function"==typeof o.apply?o.apply:function(e,t,r){return Function.prototype.apply.call(e,t,r)};n=o&&"function"==typeof o.ownKeys?o.ownKeys:Object.getOwnPropertySymbols?function(e){return Object.getOwnPropertyNames(e).concat(Object.getOwnPropertySymbols(e))}:function(e){return Object.getOwnPropertyNames(e)};var a=Number.isNaN||function(e){return e!=e};function u(){u.init.call(this)}e.exports=u,e.exports.once=function(e,t){return new Promise((function(r,n){function o(){void 0!==i&&e.removeListener("error",i),r([].slice.call(arguments))}var i;"error"!==t&&(i=function(r){e.removeListener(t,o),n(r)},e.once("error",i)),e.once(t,o)}))},u.EventEmitter=u,u.prototype._events=void 0,u.prototype._eventsCount=0,u.prototype._maxListeners=void 0;var l=10;function c(e){if("function"!=typeof e)throw new TypeError('The "listener" argument must be of type Function. Received type '+typeof e)}function s(e){return void 0===e._maxListeners?u.defaultMaxListeners:e._maxListeners}function f(e,t,r,n){var o,i,a,u;if(c(r),void 0===(i=e._events)?(i=e._events=Object.create(null),e._eventsCount=0):(void 0!==i.newListener&&(e.emit("newListener",t,r.listener?r.listener:r),i=e._events),a=i[t]),void 0===a)a=i[t]=r,++e._eventsCount;else if("function"==typeof a?a=i[t]=n?[r,a]:[a,r]:n?a.unshift(r):a.push(r),(o=s(e))>0&&a.length>o&&!a.warned){a.warned=!0;var l=new Error("Possible EventEmitter memory leak detected. "+a.length+" "+String(t)+" listeners added. Use emitter.setMaxListeners() to increase limit");l.name="MaxListenersExceededWarning",l.emitter=e,l.type=t,l.count=a.length,u=l,console&&console.warn&&console.warn(u)}return e}function p(){if(!this.fired)return this.target.removeListener(this.type,this.wrapFn),this.fired=!0,0===arguments.length?this.listener.call(this.target):this.listener.apply(this.target,arguments)}function d(e,t,r){var n={fired:!1,wrapFn:void 0,target:e,type:t,listener:r},o=p.bind(n);return o.listener=r,n.wrapFn=o,o}function h(e,t,r){var n=e._events;if(void 0===n)return[];var o=n[t];return void 0===o?[]:"function"==typeof o?r?[o.listener||o]:[o]:r?function(e){for(var t=new Array(e.length),r=0;r0&&(a=t[0]),a instanceof Error)throw a;var u=new Error("Unhandled error."+(a?" ("+a.message+")":""));throw u.context=a,u}var l=o[e];if(void 0===l)return!1;if("function"==typeof l)i(l,this,t);else{var c=l.length,s=y(l,c);for(r=0;r=0;i--)if(r[i]===t||r[i].listener===t){a=r[i].listener,o=i;break}if(o<0)return this;0===o?r.shift():function(e,t){for(;t+1=0;n--)this.removeListener(e,t[n]);return this},u.prototype.listeners=function(e){return h(this,e,!0)},u.prototype.rawListeners=function(e){return h(this,e,!1)},u.listenerCount=function(e,t){return"function"==typeof e.listenerCount?e.listenerCount(t):b.call(e,t)},u.prototype.listenerCount=b,u.prototype.eventNames=function(){return this._eventsCount>0?n(this._events):[]}},function(e,t,r){"use strict";var n=r(8),o=r(102),i=r(228),a=r(108);function u(e){var t=new i(e),r=o(i.prototype.request,t);return n.extend(r,i.prototype,t),n.extend(r,t),r}var l=u(r(105));l.Axios=i,l.create=function(e){return u(a(l.defaults,e))},l.Cancel=r(109),l.CancelToken=r(241),l.isCancel=r(104),l.all=function(e){return Promise.all(e)},l.spread=r(242),l.isAxiosError=r(243),e.exports=l,e.exports.default=l},function(e,t,r){"use strict";var n=r(8),o=r(103),i=r(229),a=r(230),u=r(108);function l(e){this.defaults=e,this.interceptors={request:new i,response:new i}}l.prototype.request=function(e){"string"==typeof e?(e=arguments[1]||{}).url=arguments[0]:e=e||{},(e=u(this.defaults,e)).method?e.method=e.method.toLowerCase():this.defaults.method?e.method=this.defaults.method.toLowerCase():e.method="get";var t=[a,void 0],r=Promise.resolve(e);for(this.interceptors.request.forEach((function(e){t.unshift(e.fulfilled,e.rejected)})),this.interceptors.response.forEach((function(e){t.push(e.fulfilled,e.rejected)}));t.length;)r=r.then(t.shift(),t.shift());return r},l.prototype.getUri=function(e){return e=u(this.defaults,e),o(e.url,e.params,e.paramsSerializer).replace(/^\?/,"")},n.forEach(["delete","get","head","options"],(function(e){l.prototype[e]=function(t,r){return this.request(u(r||{},{method:e,url:t,data:(r||{}).data}))}})),n.forEach(["post","put","patch"],(function(e){l.prototype[e]=function(t,r,n){return this.request(u(n||{},{method:e,url:t,data:r}))}})),e.exports=l},function(e,t,r){"use strict";var n=r(8);function o(){this.handlers=[]}o.prototype.use=function(e,t){return this.handlers.push({fulfilled:e,rejected:t}),this.handlers.length-1},o.prototype.eject=function(e){this.handlers[e]&&(this.handlers[e]=null)},o.prototype.forEach=function(e){n.forEach(this.handlers,(function(t){null!==t&&e(t)}))},e.exports=o},function(e,t,r){"use strict";var n=r(8),o=r(231),i=r(104),a=r(105);function u(e){e.cancelToken&&e.cancelToken.throwIfRequested()}e.exports=function(e){return u(e),e.headers=e.headers||{},e.data=o(e.data,e.headers,e.transformRequest),e.headers=n.merge(e.headers.common||{},e.headers[e.method]||{},e.headers),n.forEach(["delete","get","head","post","put","patch","common"],(function(t){delete e.headers[t]})),(e.adapter||a.adapter)(e).then((function(t){return u(e),t.data=o(t.data,t.headers,e.transformResponse),t}),(function(t){return i(t)||(u(e),t&&t.response&&(t.response.data=o(t.response.data,t.response.headers,e.transformResponse))),Promise.reject(t)}))}},function(e,t,r){"use strict";var n=r(8);e.exports=function(e,t,r){return n.forEach(r,(function(r){e=r(e,t)})),e}},function(e,t,r){"use strict";var n=r(8);e.exports=function(e,t){n.forEach(e,(function(r,n){n!==t&&n.toUpperCase()===t.toUpperCase()&&(e[t]=r,delete e[n])}))}},function(e,t,r){"use strict";var n=r(107);e.exports=function(e,t,r){var o=r.config.validateStatus;r.status&&o&&!o(r.status)?t(n("Request failed with status code "+r.status,r.config,null,r.request,r)):e(r)}},function(e,t,r){"use strict";e.exports=function(e,t,r,n,o){return e.config=t,r&&(e.code=r),e.request=n,e.response=o,e.isAxiosError=!0,e.toJSON=function(){return{message:this.message,name:this.name,description:this.description,number:this.number,fileName:this.fileName,lineNumber:this.lineNumber,columnNumber:this.columnNumber,stack:this.stack,config:this.config,code:this.code}},e}},function(e,t,r){"use strict";var n=r(8);e.exports=n.isStandardBrowserEnv()?{write:function(e,t,r,o,i,a){var u=[];u.push(e+"="+encodeURIComponent(t)),n.isNumber(r)&&u.push("expires="+new Date(r).toGMTString()),n.isString(o)&&u.push("path="+o),n.isString(i)&&u.push("domain="+i),!0===a&&u.push("secure"),document.cookie=u.join("; ")},read:function(e){var t=document.cookie.match(new RegExp("(^|;\\s*)("+e+")=([^;]*)"));return t?decodeURIComponent(t[3]):null},remove:function(e){this.write(e,"",Date.now()-864e5)}}:{write:function(){},read:function(){return null},remove:function(){}}},function(e,t,r){"use strict";var n=r(237),o=r(238);e.exports=function(e,t){return e&&!n(t)?o(e,t):t}},function(e,t,r){"use strict";e.exports=function(e){return/^([a-z][a-z\d\+\-\.]*:)?\/\//i.test(e)}},function(e,t,r){"use strict";e.exports=function(e,t){return t?e.replace(/\/+$/,"")+"/"+t.replace(/^\/+/,""):e}},function(e,t,r){"use strict";var n=r(8),o=["age","authorization","content-length","content-type","etag","expires","from","host","if-modified-since","if-unmodified-since","last-modified","location","max-forwards","proxy-authorization","referer","retry-after","user-agent"];e.exports=function(e){var t,r,i,a={};return e?(n.forEach(e.split("\n"),(function(e){if(i=e.indexOf(":"),t=n.trim(e.substr(0,i)).toLowerCase(),r=n.trim(e.substr(i+1)),t){if(a[t]&&o.indexOf(t)>=0)return;a[t]="set-cookie"===t?(a[t]?a[t]:[]).concat([r]):a[t]?a[t]+", "+r:r}})),a):a}},function(e,t,r){"use strict";var n=r(8);e.exports=n.isStandardBrowserEnv()?function(){var e,t=/(msie|trident)/i.test(navigator.userAgent),r=document.createElement("a");function o(e){var n=e;return t&&(r.setAttribute("href",n),n=r.href),r.setAttribute("href",n),{href:r.href,protocol:r.protocol?r.protocol.replace(/:$/,""):"",host:r.host,search:r.search?r.search.replace(/^\?/,""):"",hash:r.hash?r.hash.replace(/^#/,""):"",hostname:r.hostname,port:r.port,pathname:"/"===r.pathname.charAt(0)?r.pathname:"/"+r.pathname}}return e=o(window.location.href),function(t){var r=n.isString(t)?o(t):t;return r.protocol===e.protocol&&r.host===e.host}}():function(){return!0}},function(e,t,r){"use strict";var n=r(109);function o(e){if("function"!=typeof e)throw new TypeError("executor must be a function.");var t;this.promise=new Promise((function(e){t=e}));var r=this;e((function(e){r.reason||(r.reason=new n(e),t(r.reason))}))}o.prototype.throwIfRequested=function(){if(this.reason)throw this.reason},o.source=function(){var e;return{token:new o((function(t){e=t})),cancel:e}},e.exports=o},function(e,t,r){"use strict";e.exports=function(e){return function(t){return e.apply(null,t)}}},function(e,t,r){"use strict";e.exports=function(e){return"object"==typeof e&&!0===e.isAxiosError}},function(e,t){e.exports=function(e){if(Array.isArray(e))return e},e.exports.default=e.exports,e.exports.__esModule=!0},function(e,t){e.exports=function(e,t){if("undefined"!=typeof Symbol&&Symbol.iterator in Object(e)){var r=[],n=!0,o=!1,i=void 0;try{for(var a,u=e[Symbol.iterator]();!(n=(a=u.next()).done)&&(r.push(a.value),!t||r.length!==t);n=!0);}catch(e){o=!0,i=e}finally{try{n||null==u.return||u.return()}finally{if(o)throw i}}return r}},e.exports.default=e.exports,e.exports.__esModule=!0},function(e,t){e.exports=function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")},e.exports.default=e.exports,e.exports.__esModule=!0},function(e,t,r){e.exports=function(e){var t={};function r(n){if(t[n])return t[n].exports;var o=t[n]={i:n,l:!1,exports:{}};return e[n].call(o.exports,o,o.exports,r),o.l=!0,o.exports}return r.m=e,r.c=t,r.d=function(e,t,n){r.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:n})},r.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},r.t=function(e,t){if(1&t&&(e=r(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var n=Object.create(null);if(r.r(n),Object.defineProperty(n,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var o in e)r.d(n,o,function(t){return e[t]}.bind(null,o));return n},r.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return r.d(t,"a",t),t},r.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},r.p="",r(r.s=144)}({0:function(e,t){e.exports=r(11)},1:function(e,t){e.exports=r(3)},144:function(e,t,r){"use strict";r.r(t),r.d(t,"default",(function(){return g}));var n=r(2),o=r.n(n),i=r(1),a=r.n(i),u=r(5),l=r(20),c=r(3),s=r.n(c),f=r(41),p=r.n(f),d=r(0),h=s()(p.a).withConfig({displayName:"CloseButtonStyles__StyledButtonSimple",componentId:"b3h40f-0"})(["float:right;width:",";height:",";text-align:center;"],d.variables.inputHeight,d.variables.inputHeight);function b(){return(b=Object.assign||function(e){for(var t=1;t=0||(o[r]=e[r]);return o}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(n=0;n=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(o[r]=e[r])}return o}var v={disabled:a.a.bool,elementRef:a.a.oneOfType([a.a.func,a.a.object]),screenReaderText:a.a.string};function m(e){var t=e.disabled,r=void 0!==t&&t,n=e.screenReaderText,i=void 0===n?Object(u._)("Close"):n,a=y(e,["disabled","screenReaderText"]);return o.a.createElement(h,b({appearance:"pill",disabled:r},a),o.a.createElement(l.a,{enterpriseSize:"13px",screenReaderText:i,inline:!1}))}m.propTypes=v;var g=m},2:function(e,t){e.exports=r(0)},20:function(e,t,r){"use strict";r.d(t,"a",(function(){return p}));var n=r(2),o=r.n(n),i=r(23),a=r.n(i),u=r(7),l=r(6);function c(){return(c=Object.assign||function(e){for(var t=1;t=0||(o[r]=e[r]);return o}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(n=0;n=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(o[r]=e[r])}return o}var p={display:"inline-block",flex:"0 0 auto",overflow:"visible",verticalAlign:"middle"},d={display:"block",flex:"0 0 auto",margin:"0 auto",overflow:"visible"},h={Enterprise:a.a.func,enterpriseSize:a.a.oneOfType([a.a.number,a.a.string]),enterpriseWidth:a.a.oneOfType([a.a.number,a.a.string]),enterpriseHeight:a.a.oneOfType([a.a.number,a.a.string]),Prisma24:a.a.func.isRequired,Prisma20:a.a.func,Prisma16:a.a.func,prismaSize:a.a.oneOf(["medium","small"]),inline:a.a.bool,screenReaderText:a.a.string};function b(e){var t=e.Enterprise,r=e.Prisma24,n=e.Prisma20,i=e.Prisma16,a=e.prismaSize,h=e.inline,b=e.enterpriseSize,y=e.enterpriseWidth,v=e.enterpriseHeight,m=e.screenReaderText,g=f(e,["Enterprise","Prisma24","Prisma20","Prisma16","prismaSize","inline","enterpriseSize","enterpriseWidth","enterpriseHeight","screenReaderText"]),x=Object(u.useSplunkTheme)(),O=x.family,w=x.density;if("enterprise"===O)return o.a.createElement(t,s({size:b,width:y,height:v,screenReaderText:m||null,hideDefaultTooltip:!0,inline:h},g));var _=function(e){for(var t=1;t, converters=): - Create the parser. When `defaults' is given, it is initialized into the - dictionary or intrinsic defaults. The keys must be strings, the values - must be appropriate for %()s string interpolation. - - When `dict_type' is given, it will be used to create the dictionary - objects for the list of sections, for the options within a section, and - for the default values. - - When `delimiters' is given, it will be used as the set of substrings - that divide keys from values. - - When `comment_prefixes' is given, it will be used as the set of - substrings that prefix comments in empty lines. Comments can be - indented. - - When `inline_comment_prefixes' is given, it will be used as the set of - substrings that prefix comments in non-empty lines. - - When `strict` is True, the parser won't allow for any section or option - duplicates while reading from a single source (file, string or - dictionary). Default is True. - - When `empty_lines_in_values' is False (default: True), each empty line - marks the end of an option. Otherwise, internal empty lines of - a multiline option are kept as part of the value. - - When `allow_no_value' is True (default: False), options without - values are accepted; the value presented for these is None. - - sections() - Return all the configuration section names, sans DEFAULT. - - has_section(section) - Return whether the given section exists. - - has_option(section, option) - Return whether the given option exists in the given section. - - options(section) - Return list of configuration options for the named section. - - read(filenames, encoding=None) - Read and parse the iterable of named configuration files, given by - name. A single filename is also allowed. Non-existing files - are ignored. Return list of successfully read files. - - read_file(f, filename=None) - Read and parse one configuration file, given as a file object. - The filename defaults to f.name; it is only used in error - messages (if f has no `name' attribute, the string `' is used). - - read_string(string) - Read configuration from a given string. - - read_dict(dictionary) - Read configuration from a dictionary. Keys are section names, - values are dictionaries with keys and values that should be present - in the section. If the used dictionary type preserves order, sections - and their keys will be added in order. Values are automatically - converted to strings. - - get(section, option, raw=False, vars=None, fallback=_UNSET) - Return a string value for the named option. All % interpolations are - expanded in the return values, based on the defaults passed into the - constructor and the DEFAULT section. Additional substitutions may be - provided using the `vars' argument, which must be a dictionary whose - contents override any pre-existing defaults. If `option' is a key in - `vars', the value from `vars' is used. - - getint(section, options, raw=False, vars=None, fallback=_UNSET) - Like get(), but convert value to an integer. - - getfloat(section, options, raw=False, vars=None, fallback=_UNSET) - Like get(), but convert value to a float. - - getboolean(section, options, raw=False, vars=None, fallback=_UNSET) - Like get(), but convert value to a boolean (currently case - insensitively defined as 0, false, no, off for False, and 1, true, - yes, on for True). Returns False or True. - - items(section=_UNSET, raw=False, vars=None) - If section is given, return a list of tuples with (name, value) for - each option in the section. Otherwise, return a list of tuples with - (section_name, section_proxy) for each section, including DEFAULTSECT. - - remove_section(section) - Remove the given file section and all its options. - - remove_option(section, option) - Remove the given option from the given section. - - set(section, option, value) - Set the given option. - - write(fp, space_around_delimiters=True) - Write the configuration state in .ini format. If - `space_around_delimiters' is True (the default), delimiters - between keys and values are surrounded by spaces. -""" - -from __future__ import absolute_import -from __future__ import division -from __future__ import print_function -from __future__ import unicode_literals - -import functools -import io -import itertools -import os -import re -import sys -import warnings - -from backports.configparser.helpers import OrderedDict as _default_dict -from backports.configparser.helpers import ChainMap as _ChainMap -from backports.configparser.helpers import from_none, open, str, PY2 -from backports.configparser.helpers import PathLike, fspath -from backports.configparser.helpers import MutableMapping - -__all__ = ["NoSectionError", "DuplicateOptionError", "DuplicateSectionError", - "NoOptionError", "InterpolationError", "InterpolationDepthError", - "InterpolationMissingOptionError", "InterpolationSyntaxError", - "ParsingError", "MissingSectionHeaderError", - "ConfigParser", "SafeConfigParser", "RawConfigParser", - "Interpolation", "BasicInterpolation", "ExtendedInterpolation", - "LegacyInterpolation", "SectionProxy", "ConverterMapping", - "DEFAULTSECT", "MAX_INTERPOLATION_DEPTH"] - -DEFAULTSECT = "DEFAULT" - -MAX_INTERPOLATION_DEPTH = 10 - - -# exception classes -class Error(Exception): - """Base class for ConfigParser exceptions.""" - - def __init__(self, msg=''): - self.message = msg - Exception.__init__(self, msg) - - def __repr__(self): - return self.message - - __str__ = __repr__ - - -class NoSectionError(Error): - """Raised when no section matches a requested option.""" - - def __init__(self, section): - Error.__init__(self, 'No section: %r' % (section,)) - self.section = section - self.args = (section, ) - - -class DuplicateSectionError(Error): - """Raised when a section is repeated in an input source. - - Possible repetitions that raise this exception are: multiple creation - using the API or in strict parsers when a section is found more than once - in a single input file, string or dictionary. - """ - - def __init__(self, section, source=None, lineno=None): - msg = [repr(section), " already exists"] - if source is not None: - message = ["While reading from ", repr(source)] - if lineno is not None: - message.append(" [line {0:2d}]".format(lineno)) - message.append(": section ") - message.extend(msg) - msg = message - else: - msg.insert(0, "Section ") - Error.__init__(self, "".join(msg)) - self.section = section - self.source = source - self.lineno = lineno - self.args = (section, source, lineno) - - -class DuplicateOptionError(Error): - """Raised by strict parsers when an option is repeated in an input source. - - Current implementation raises this exception only when an option is found - more than once in a single file, string or dictionary. - """ - - def __init__(self, section, option, source=None, lineno=None): - msg = [repr(option), " in section ", repr(section), - " already exists"] - if source is not None: - message = ["While reading from ", repr(source)] - if lineno is not None: - message.append(" [line {0:2d}]".format(lineno)) - message.append(": option ") - message.extend(msg) - msg = message - else: - msg.insert(0, "Option ") - Error.__init__(self, "".join(msg)) - self.section = section - self.option = option - self.source = source - self.lineno = lineno - self.args = (section, option, source, lineno) - - -class NoOptionError(Error): - """A requested option was not found.""" - - def __init__(self, option, section): - Error.__init__(self, "No option %r in section: %r" % - (option, section)) - self.option = option - self.section = section - self.args = (option, section) - - -class InterpolationError(Error): - """Base class for interpolation-related exceptions.""" - - def __init__(self, option, section, msg): - Error.__init__(self, msg) - self.option = option - self.section = section - self.args = (option, section, msg) - - -class InterpolationMissingOptionError(InterpolationError): - """A string substitution required a setting which was not available.""" - - def __init__(self, option, section, rawval, reference): - msg = ("Bad value substitution: option {0!r} in section {1!r} contains " - "an interpolation key {2!r} which is not a valid option name. " - "Raw value: {3!r}".format(option, section, reference, rawval)) - InterpolationError.__init__(self, option, section, msg) - self.reference = reference - self.args = (option, section, rawval, reference) - - -class InterpolationSyntaxError(InterpolationError): - """Raised when the source text contains invalid syntax. - - Current implementation raises this exception when the source text into - which substitutions are made does not conform to the required syntax. - """ - - -class InterpolationDepthError(InterpolationError): - """Raised when substitutions are nested too deeply.""" - - def __init__(self, option, section, rawval): - msg = ("Recursion limit exceeded in value substitution: option {0!r} " - "in section {1!r} contains an interpolation key which " - "cannot be substituted in {2} steps. Raw value: {3!r}" - "".format(option, section, MAX_INTERPOLATION_DEPTH, - rawval)) - InterpolationError.__init__(self, option, section, msg) - self.args = (option, section, rawval) - - -class ParsingError(Error): - """Raised when a configuration file does not follow legal syntax.""" - - def __init__(self, source=None, filename=None): - # Exactly one of `source'/`filename' arguments has to be given. - # `filename' kept for compatibility. - if filename and source: - raise ValueError("Cannot specify both `filename' and `source'. " - "Use `source'.") - elif not filename and not source: - raise ValueError("Required argument `source' not given.") - elif filename: - source = filename - Error.__init__(self, 'Source contains parsing errors: %r' % source) - self.source = source - self.errors = [] - self.args = (source, ) - - @property - def filename(self): - """Deprecated, use `source'.""" - warnings.warn( - "The 'filename' attribute will be removed in future versions. " - "Use 'source' instead.", - DeprecationWarning, stacklevel=2 - ) - return self.source - - @filename.setter - def filename(self, value): - """Deprecated, user `source'.""" - warnings.warn( - "The 'filename' attribute will be removed in future versions. " - "Use 'source' instead.", - DeprecationWarning, stacklevel=2 - ) - self.source = value - - def append(self, lineno, line): - self.errors.append((lineno, line)) - self.message += '\n\t[line %2d]: %s' % (lineno, line) - - -class MissingSectionHeaderError(ParsingError): - """Raised when a key-value pair is found before any section header.""" - - def __init__(self, filename, lineno, line): - Error.__init__( - self, - 'File contains no section headers.\nfile: %r, line: %d\n%r' % - (filename, lineno, line)) - self.source = filename - self.lineno = lineno - self.line = line - self.args = (filename, lineno, line) - - -# Used in parser getters to indicate the default behaviour when a specific -# option is not found it to raise an exception. Created to enable `None' as -# a valid fallback value. -_UNSET = object() - - -class Interpolation(object): - """Dummy interpolation that passes the value through with no changes.""" - - def before_get(self, parser, section, option, value, defaults): - return value - - def before_set(self, parser, section, option, value): - return value - - def before_read(self, parser, section, option, value): - return value - - def before_write(self, parser, section, option, value): - return value - - -class BasicInterpolation(Interpolation): - """Interpolation as implemented in the classic ConfigParser. - - The option values can contain format strings which refer to other values in - the same section, or values in the special default section. - - For example: - - something: %(dir)s/whatever - - would resolve the "%(dir)s" to the value of dir. All reference - expansions are done late, on demand. If a user needs to use a bare % in - a configuration file, she can escape it by writing %%. Other % usage - is considered a user error and raises `InterpolationSyntaxError'.""" - - _KEYCRE = re.compile(r"%\(([^)]+)\)s") - - def before_get(self, parser, section, option, value, defaults): - L = [] - self._interpolate_some(parser, option, L, value, section, defaults, 1) - return ''.join(L) - - def before_set(self, parser, section, option, value): - tmp_value = value.replace('%%', '') # escaped percent signs - tmp_value = self._KEYCRE.sub('', tmp_value) # valid syntax - if '%' in tmp_value: - raise ValueError("invalid interpolation syntax in %r at " - "position %d" % (value, tmp_value.find('%'))) - return value - - def _interpolate_some(self, parser, option, accum, rest, section, map, - depth): - rawval = parser.get(section, option, raw=True, fallback=rest) - if depth > MAX_INTERPOLATION_DEPTH: - raise InterpolationDepthError(option, section, rawval) - while rest: - p = rest.find("%") - if p < 0: - accum.append(rest) - return - if p > 0: - accum.append(rest[:p]) - rest = rest[p:] - # p is no longer used - c = rest[1:2] - if c == "%": - accum.append("%") - rest = rest[2:] - elif c == "(": - m = self._KEYCRE.match(rest) - if m is None: - raise InterpolationSyntaxError(option, section, - "bad interpolation variable reference %r" % rest) - var = parser.optionxform(m.group(1)) - rest = rest[m.end():] - try: - v = map[var] - except KeyError: - raise from_none(InterpolationMissingOptionError( - option, section, rawval, var)) - if "%" in v: - self._interpolate_some(parser, option, accum, v, - section, map, depth + 1) - else: - accum.append(v) - else: - raise InterpolationSyntaxError( - option, section, - "'%%' must be followed by '%%' or '(', " - "found: %r" % (rest,)) - - -class ExtendedInterpolation(Interpolation): - """Advanced variant of interpolation, supports the syntax used by - `zc.buildout'. Enables interpolation between sections.""" - - _KEYCRE = re.compile(r"\$\{([^}]+)\}") - - def before_get(self, parser, section, option, value, defaults): - L = [] - self._interpolate_some(parser, option, L, value, section, defaults, 1) - return ''.join(L) - - def before_set(self, parser, section, option, value): - tmp_value = value.replace('$$', '') # escaped dollar signs - tmp_value = self._KEYCRE.sub('', tmp_value) # valid syntax - if '$' in tmp_value: - raise ValueError("invalid interpolation syntax in %r at " - "position %d" % (value, tmp_value.find('$'))) - return value - - def _interpolate_some(self, parser, option, accum, rest, section, map, - depth): - rawval = parser.get(section, option, raw=True, fallback=rest) - if depth > MAX_INTERPOLATION_DEPTH: - raise InterpolationDepthError(option, section, rawval) - while rest: - p = rest.find("$") - if p < 0: - accum.append(rest) - return - if p > 0: - accum.append(rest[:p]) - rest = rest[p:] - # p is no longer used - c = rest[1:2] - if c == "$": - accum.append("$") - rest = rest[2:] - elif c == "{": - m = self._KEYCRE.match(rest) - if m is None: - raise InterpolationSyntaxError(option, section, - "bad interpolation variable reference %r" % rest) - path = m.group(1).split(':') - rest = rest[m.end():] - sect = section - opt = option - try: - if len(path) == 1: - opt = parser.optionxform(path[0]) - v = map[opt] - elif len(path) == 2: - sect = path[0] - opt = parser.optionxform(path[1]) - v = parser.get(sect, opt, raw=True) - else: - raise InterpolationSyntaxError( - option, section, - "More than one ':' found: %r" % (rest,)) - except (KeyError, NoSectionError, NoOptionError): - raise from_none(InterpolationMissingOptionError( - option, section, rawval, ":".join(path))) - if "$" in v: - self._interpolate_some(parser, opt, accum, v, sect, - dict(parser.items(sect, raw=True)), - depth + 1) - else: - accum.append(v) - else: - raise InterpolationSyntaxError( - option, section, - "'$' must be followed by '$' or '{', " - "found: %r" % (rest,)) - - -class LegacyInterpolation(Interpolation): - """Deprecated interpolation used in old versions of ConfigParser. - Use BasicInterpolation or ExtendedInterpolation instead.""" - - _KEYCRE = re.compile(r"%\(([^)]*)\)s|.") - - def before_get(self, parser, section, option, value, vars): - rawval = value - depth = MAX_INTERPOLATION_DEPTH - while depth: # Loop through this until it's done - depth -= 1 - if value and "%(" in value: - replace = functools.partial(self._interpolation_replace, - parser=parser) - value = self._KEYCRE.sub(replace, value) - try: - value = value % vars - except KeyError as e: - raise from_none(InterpolationMissingOptionError( - option, section, rawval, e.args[0])) - else: - break - if value and "%(" in value: - raise InterpolationDepthError(option, section, rawval) - return value - - def before_set(self, parser, section, option, value): - return value - - @staticmethod - def _interpolation_replace(match, parser): - s = match.group(1) - if s is None: - return match.group() - else: - return "%%(%s)s" % parser.optionxform(s) - - -class RawConfigParser(MutableMapping): - """ConfigParser that does not do interpolation.""" - - # Regular expressions for parsing section headers and options - _SECT_TMPL = r""" - \[ # [ - (?P
[^]]+) # very permissive! - \] # ] - """ - _OPT_TMPL = r""" - (?P