yashwant-component
Version:
A componenet library
3 lines (2 loc) • 33.7 kB
JavaScript
import e,{useState as t,useRef as l,useEffect as n}from'react';import a from'prop-types';function o(){return o=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var l=arguments[t];for(var n in l)({}).hasOwnProperty.call(l,n)&&(e[n]=l[n])}return e},o.apply(null,arguments)}var r={inputWrapper:'Input-module_inputWrapper__lCMQf',inputContainer1:'Input-module_inputContainer1__4WiCj',inputContainer2:'Input-module_inputContainer2__8HstR',inputField:'Input-module_inputField__-1PAN',prefix:'Input-module_prefix__jPomb',suffix:'Input-module_suffix__zI8IG',clearButton:'Input-module_clearButton__5Q-Tn',label:'Input-module_label__0wjiO',helpText:'Input-module_helpText__UDf3M',characterCount:'Input-module_characterCount__FpoqY',validationMessage:'Input-module_validationMessage__wphZP',floating:'Input-module_floating__C2zLs',floatingLabel:'Input-module_floatingLabel__3MYgh',focus:'Input-module_focus__KPeOx',hover:'Input-module_hover__WlB11',disabled:'Input-module_disabled__o82Il',readOnly:'Input-module_readOnly__K5PuH',error:'Input-module_error__EF02-',success:'Input-module_success__WOQYl',loader:'Input-module_loader__n5uvK',spin:'Input-module_spin__BMJkj',countryCode:'Input-module_countryCode__AtKPM',telephoneInputContainer:'Input-module_telephoneInputContainer__7yuRH',icon:'Input-module_icon__s4Rzs',darkMode:'Input-module_darkMode__aF-R2',outlined:'Input-module_outlined__NRK-2',filled:'Input-module_filled__ufTtG',underlined:'Input-module_underlined__4oFEJ',rounded:'Input-module_rounded__J7urE'};const i=({type:a='text',id:i,label:u,placeholder:s,helpText:d,clearable:c,validationMessage:p,validationMessageStatus:m,characterLimit:_,prefix:g,suffix:f,autocomplete:h,variant:b='normal',state:y='default',onChange:v,value:I='',autosize:C=!1,autosizeControlled:x=!1,debounceDelay:E=300,isURL:N=!1,isTelephone:F=!1,countryCode:M='+1',fileTypes:$=[],maxFileSize:O=5242880,multiple:T=!1,icon:k,darkMode:z=!1,...L})=>{const[B,K]=t(!1),[R,w]=t(!1),[D,P]=t(!1),[j,W]=t(null),[H,S]=t(M),[A,J]=t(I.split(' ')[1]||''),[Q,U]=t([]),Y=l(null),[q,G]=t(I.length);n((()=>{G(I.length)}),[I]),n((()=>{C&&'textarea'===a&&Y.current&&(Y.current.style.height='auto',Y.current.style.height=`${Y.current.scrollHeight}px`)}),[I,C,a]);const Z=e=>{let t=e.target.value;var l;if(N&&(t=(l=t).trim().length>0&&!/^https?:\/\//i.test(l)?`https://${l.trim()}`:l),_&&t.length>_&&(t=t.slice(0,_)),G(t.length),v&&v({target:{value:t}}),clearTimeout(j),P(t.length>0),'search'===a&&t.length>0){const e=setTimeout((()=>{P(!0)}),E);W(e)}else P(!1)},V=e=>{'Enter'===e.key&&'search'===a&&(clearTimeout(j),P(!0))},X=`\n ${r.inputContainer2} \n ${r[b]} \n ${r[y]} \n ${B?r.hover:''} \n ${R?r.focus:''}\n ${'floating'===b?r.floating:''}\n ${'filled'===b?r.filled:''}\n ${'underlined'===b?r.underlined:''}\n ${'rounded'===b?r.rounded:''}\n ${z?r.darkMode:''}\n `;return e.createElement('div',{className:`${r.inputWrapper} ${z?r.darkMode:''}`},u&&'floating'!==b&&e.createElement('label',{htmlFor:i,className:r.label},u),e.createElement('div',{className:r.inputContainer1,style:'textarea'===a?{display:'flex',flexDirection:'column',alignItems:'flex-start',gap:'0.5rem'}:{}},e.createElement('div',{className:X,onMouseEnter:()=>K(!0),onMouseLeave:()=>K(!1)},g&&e.createElement('span',{className:r.prefix},g),k&&e.createElement('span',{className:r.icon},k),F?e.createElement(e.Fragment,null,e.createElement('select',{value:H,onChange:e=>{S(e.target.value),v&&v({target:{value:`${e.target.value} ${A}`}})},className:r.countryCode},e.createElement('option',{value:'+1'},'+1'),e.createElement('option',{value:'+44'},'+44'),e.createElement('option',{value:'+91'},'+91')),e.createElement('input',o({type:'tel',id:i,placeholder:'floating'===b?' ':s,autoComplete:h,value:A,onChange:e=>{let t=e.target.value.replace(/\D/g,'');t.length>10&&(t=t.slice(0,10)),J(t),v&&v({target:{value:`${H} ${t}`}})},className:r.inputField,onFocus:()=>w(!0),onBlur:()=>w(!1),readOnly:'readOnly'===y,disabled:'disabled'===y,'aria-invalid':'error'===m,'aria-describedby':p?`${i}-error`:void 0,'aria-busy':'loading'===y,'aria-live':'polite',onKeyDown:V},L))):'file'===a?e.createElement(e.Fragment,null,e.createElement('input',o({type:'file',id:i,multiple:T,onChange:e=>{const t=Array.from(e.target.files).filter((e=>{const t=!$.length||$.includes(e.type),l=e.size<=O;return t&&l}));U(t),v&&v({target:{files:t}})},className:r.inputField,disabled:'disabled'===y},L)),Q.length>0&&e.createElement('div',{className:r.fileList},Q.map(((t,l)=>e.createElement('div',{key:l,className:r.fileItem},t.name,' (',(t.size/1024).toFixed(2),' KB)',e.createElement('button',{type:'button',onClick:()=>(e=>{const t=[...Q];t.splice(e,1),U(t),v&&v({target:{files:t}})})(l)},'Remove')))))):'textarea'===a?e.createElement('textarea',o({ref:Y,id:i,placeholder:'floating'===b?' ':s,autoComplete:h,value:I,onChange:x?e=>{Z(e),C&&'textarea'===a&&Y.current&&(Y.current.style.height='auto',Y.current.style.height=`${Y.current.scrollHeight}px`)}:Z,className:r.inputField,onFocus:()=>w(!0),onBlur:()=>w(!1),readOnly:'readOnly'===y,disabled:'disabled'===y,onKeyDown:V},L)):e.createElement('input',o({type:a,id:i,placeholder:'floating'===b?' ':s,autoComplete:h,value:I,onChange:Z,className:r.inputField,onFocus:()=>w(!0),onBlur:()=>w(!1),readOnly:'readOnly'===y,disabled:'disabled'===y,onKeyDown:V},L)),'floating'===b&&e.createElement('label',{htmlFor:i,className:r.floatingLabel},u),f&&e.createElement('span',{className:r.suffix},f)),c&&(I||Q.length>0)&&e.createElement('button',{type:'button',className:r.clearButton,onClick:()=>{v&&v({target:{value:''}}),P(!1),clearTimeout(j),J(''),U([])},tabIndex:0},'Clear'),('loading'===y||'search'===a&&'floating'!==b&&D)&&e.createElement('span',{className:r.loader,'aria-label':'Loading...'})),d&&e.createElement('p',{className:r.helpText},d),p&&e.createElement('p',{className:r.validationMessage,style:'error'===m?{color:'red'}:'warning'===m?{color:'orange'}:{color:'green'}},p),_&&e.createElement('p',{className:r.characterCount},q,'/',_))};i.propTypes={type:a.string,id:a.string.isRequired,label:a.string,placeholder:a.string,helpText:a.string,clearable:a.bool,validationMessage:a.string,validationMessageStatus:a.oneOf(['error','warning','success']),characterLimit:a.number,prefix:a.node,suffix:a.node,autocomplete:a.string,variant:a.oneOf(['normal','floating','outlined','filled','underlined','rounded']),state:a.oneOf(['default','disabled','readOnly','error','success','loading']),onChange:a.func,value:a.string,autosize:a.bool,autosizeControlled:a.bool,debounceDelay:a.number,isURL:a.bool,isTelephone:a.bool,countryCode:a.string,fileTypes:a.arrayOf(a.string),maxFileSize:a.number,multiple:a.bool,icon:a.node,darkMode:a.bool};export{i as Input};
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VzIjpbIi4uL2NvbXBvbmVudC9JbnB1dC5qc3giXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0IGZyb20gXCJyZWFjdFwiO1xyXG5pbXBvcnQgeyB1c2VSZWYsIHVzZUVmZmVjdCwgdXNlU3RhdGUgfSBmcm9tIFwicmVhY3RcIjtcclxuaW1wb3J0IFByb3BUeXBlcyBmcm9tICdwcm9wLXR5cGVzJztcclxuaW1wb3J0IHN0eWxlcyBmcm9tIFwiLi9JbnB1dC5tb2R1bGUuY3NzXCI7XHJcblxyXG5jb25zdCBJbnB1dCA9ICh7XHJcbiAgdHlwZSA9IFwidGV4dFwiLFxyXG4gIGlkLFxyXG4gIGxhYmVsLFxyXG4gIHBsYWNlaG9sZGVyLFxyXG4gIGhlbHBUZXh0LFxyXG4gIGNsZWFyYWJsZSxcclxuICB2YWxpZGF0aW9uTWVzc2FnZSxcclxuICB2YWxpZGF0aW9uTWVzc2FnZVN0YXR1cyxcclxuICBjaGFyYWN0ZXJMaW1pdCxcclxuICBwcmVmaXgsXHJcbiAgc3VmZml4LFxyXG4gIGF1dG9jb21wbGV0ZSxcclxuICB2YXJpYW50ID0gXCJub3JtYWxcIixcclxuICBzdGF0ZSA9IFwiZGVmYXVsdFwiLFxyXG4gIG9uQ2hhbmdlLFxyXG4gIHZhbHVlID0gXCJcIixcclxuICBhdXRvc2l6ZSA9IGZhbHNlLFxyXG4gIGF1dG9zaXplQ29udHJvbGxlZCA9IGZhbHNlLFxyXG4gIGRlYm91bmNlRGVsYXkgPSAzMDAsXHJcbiAgaXNVUkwgPSBmYWxzZSxcclxuICBpc1RlbGVwaG9uZSA9IGZhbHNlLFxyXG4gIGNvdW50cnlDb2RlID0gXCIrMVwiLFxyXG4gIGZpbGVUeXBlcyA9IFtdLFxyXG4gIG1heEZpbGVTaXplID0gNSAqIDEwMjQgKiAxMDI0LFxyXG4gIG11bHRpcGxlID0gZmFsc2UsXHJcbiAgaWNvbiwgXHJcbiAgZGFya01vZGUgPSBmYWxzZSxcclxuICAuLi5wcm9wc1xyXG59KSA9PiB7XHJcbiAgY29uc3QgW2lzSG92ZXJlZCwgc2V0SXNIb3ZlcmVkXSA9IHVzZVN0YXRlKGZhbHNlKTtcclxuICBjb25zdCBbaXNGb2N1c2VkLCBzZXRJc0ZvY3VzZWRdID0gdXNlU3RhdGUoZmFsc2UpO1xyXG4gIGNvbnN0IFtpc0lucHV0Q2hhbmdlZCwgc2V0SXNJbnB1dENoYW5nZWRdID0gdXNlU3RhdGUoZmFsc2UpO1xyXG4gIGNvbnN0IFtkZWJvdW5jZVRpbWVvdXQsIHNldERlYm91bmNlVGltZW91dF0gPSB1c2VTdGF0ZShudWxsKTtcclxuICBjb25zdCBbY3VycmVudENvdW50cnlDb2RlLCBzZXRDdXJyZW50Q291bnRyeUNvZGVdID0gdXNlU3RhdGUoY291bnRyeUNvZGUpO1xyXG4gIGNvbnN0IFtwaG9uZU51bWJlciwgc2V0UGhvbmVOdW1iZXJdID0gdXNlU3RhdGUodmFsdWUuc3BsaXQoXCIgXCIpWzFdIHx8IFwiXCIpO1xyXG4gIGNvbnN0IFtmaWxlcywgc2V0RmlsZXNdID0gdXNlU3RhdGUoW10pO1xyXG4gIGNvbnN0IHRleHRhcmVhUmVmID0gdXNlUmVmKG51bGwpO1xyXG4gIGNvbnN0IFtjaGFyYWN0ZXJDb3VudCwgc2V0Q2hhcmFjdGVyQ291bnRdID0gdXNlU3RhdGUodmFsdWUubGVuZ3RoKTtcclxuXHJcbiAgdXNlRWZmZWN0KCgpID0+IHtcclxuICAgIHNldENoYXJhY3RlckNvdW50KHZhbHVlLmxlbmd0aCk7XHJcbiAgfSwgW3ZhbHVlXSk7XHJcblxyXG4gIC8vIC4uLiAob3RoZXIgdXNlRWZmZWN0IGhvb2tzIGFuZCBmdW5jdGlvbnMgcmVtYWluIHRoZSBzYW1lKVxyXG4gIHVzZUVmZmVjdCgoKSA9PiB7XHJcbiAgICBpZiAoYXV0b3NpemUgJiYgdHlwZSA9PT0gXCJ0ZXh0YXJlYVwiICYmIHRleHRhcmVhUmVmLmN1cnJlbnQpIHtcclxuICAgICAgdGV4dGFyZWFSZWYuY3VycmVudC5zdHlsZS5oZWlnaHQgPSBcImF1dG9cIjtcclxuICAgICAgdGV4dGFyZWFSZWYuY3VycmVudC5zdHlsZS5oZWlnaHQgPSBgJHt0ZXh0YXJlYVJlZi5jdXJyZW50LnNjcm9sbEhlaWdodH1weGA7XHJcbiAgICB9XHJcbiAgfSwgW3ZhbHVlLCBhdXRvc2l6ZSwgdHlwZV0pO1xyXG5cclxuICBjb25zdCB2YWxpZGF0ZUFuZEZvcm1hdFVSTCA9ICh1cmwpID0+IHtcclxuICAgIGlmICh1cmwudHJpbSgpLmxlbmd0aCA+IDAgJiYgIS9eaHR0cHM/OlxcL1xcLy9pLnRlc3QodXJsKSkge1xyXG4gICAgICByZXR1cm4gYGh0dHBzOi8vJHt1cmwudHJpbSgpfWA7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gdXJsO1xyXG4gIH07XHJcblxyXG4gIGNvbnN0IGhhbmRsZVRlbGVwaG9uZUNoYW5nZSA9IChlKSA9PiB7XHJcbiAgICBsZXQgbmV3UGhvbmVOdW1iZXIgPSBlLnRhcmdldC52YWx1ZS5yZXBsYWNlKC9cXEQvZywgXCJcIik7XHJcbiAgICBpZiAobmV3UGhvbmVOdW1iZXIubGVuZ3RoID4gMTApXHJcbiAgICAgIG5ld1Bob25lTnVtYmVyID0gbmV3UGhvbmVOdW1iZXIuc2xpY2UoMCwgMTApO1xyXG4gICAgc2V0UGhvbmVOdW1iZXIobmV3UGhvbmVOdW1iZXIpO1xyXG4gICAgaWYgKG9uQ2hhbmdlKVxyXG4gICAgICBvbkNoYW5nZSh7XHJcbiAgICAgICAgdGFyZ2V0OiB7IHZhbHVlOiBgJHtjdXJyZW50Q291bnRyeUNvZGV9ICR7bmV3UGhvbmVOdW1iZXJ9YCB9LFxyXG4gICAgICB9KTtcclxuICB9O1xyXG5cclxuICBjb25zdCBoYW5kbGVDbGVhciA9ICgpID0+IHtcclxuICAgIGlmIChvbkNoYW5nZSkgb25DaGFuZ2UoeyB0YXJnZXQ6IHsgdmFsdWU6IFwiXCIgfSB9KTtcclxuICAgIHNldElzSW5wdXRDaGFuZ2VkKGZhbHNlKTtcclxuICAgIGNsZWFyVGltZW91dChkZWJvdW5jZVRpbWVvdXQpO1xyXG4gICAgc2V0UGhvbmVOdW1iZXIoXCJcIik7XHJcbiAgICBzZXRGaWxlcyhbXSk7XHJcbiAgfTtcclxuXHJcblxyXG4gIGNvbnN0IGhhbmRsZUlucHV0Q2hhbmdlID0gKGUpID0+IHtcclxuICAgIGxldCBuZXdWYWx1ZSA9IGUudGFyZ2V0LnZhbHVlO1xyXG5cclxuICAgIGlmIChpc1VSTCkge1xyXG4gICAgICBuZXdWYWx1ZSA9IHZhbGlkYXRlQW5kRm9ybWF0VVJMKG5ld1ZhbHVlKTtcclxuICAgIH1cclxuXHJcbiAgICBpZiAoY2hhcmFjdGVyTGltaXQgJiYgbmV3VmFsdWUubGVuZ3RoID4gY2hhcmFjdGVyTGltaXQpIHtcclxuICAgICAgbmV3VmFsdWUgPSBuZXdWYWx1ZS5zbGljZSgwLCBjaGFyYWN0ZXJMaW1pdCk7XHJcbiAgICB9XHJcblxyXG4gICAgc2V0Q2hhcmFjdGVyQ291bnQobmV3VmFsdWUubGVuZ3RoKTtcclxuXHJcbiAgICBpZiAob25DaGFuZ2UpIG9uQ2hhbmdlKHsgdGFyZ2V0OiB7IHZhbHVlOiBuZXdWYWx1ZSB9IH0pO1xyXG5cclxuICAgIC8vIC4uLiAocmVzdCBvZiB0aGUgZnVuY3Rpb24gcmVtYWlucyB0aGUgc2FtZSlcclxuICAgIGNsZWFyVGltZW91dChkZWJvdW5jZVRpbWVvdXQpO1xyXG4gICAgc2V0SXNJbnB1dENoYW5nZWQobmV3VmFsdWUubGVuZ3RoID4gMCk7XHJcblxyXG4gICAgaWYgKHR5cGUgPT09IFwic2VhcmNoXCIgJiYgbmV3VmFsdWUubGVuZ3RoID4gMCkge1xyXG4gICAgICBjb25zdCB0aW1lb3V0ID0gc2V0VGltZW91dCgoKSA9PiB7XHJcbiAgICAgICAgc2V0SXNJbnB1dENoYW5nZWQodHJ1ZSk7XHJcbiAgICAgIH0sIGRlYm91bmNlRGVsYXkpO1xyXG4gICAgICBzZXREZWJvdW5jZVRpbWVvdXQodGltZW91dCk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICBzZXRJc0lucHV0Q2hhbmdlZChmYWxzZSk7XHJcbiAgICB9XHJcbiAgfTtcclxuICBjb25zdCBoYW5kbGVUZXh0YXJlYUNoYW5nZSA9IChlKSA9PiB7XHJcbiAgICBoYW5kbGVJbnB1dENoYW5nZShlKTtcclxuICAgIGlmIChhdXRvc2l6ZSAmJiB0eXBlID09PSBcInRleHRhcmVhXCIgJiYgdGV4dGFyZWFSZWYuY3VycmVudCkge1xyXG4gICAgICB0ZXh0YXJlYVJlZi5jdXJyZW50LnN0eWxlLmhlaWdodCA9IFwiYXV0b1wiO1xyXG4gICAgICB0ZXh0YXJlYVJlZi5jdXJyZW50LnN0eWxlLmhlaWdodCA9IGAke3RleHRhcmVhUmVmLmN1cnJlbnQuc2Nyb2xsSGVpZ2h0fXB4YDtcclxuICAgIH1cclxuICB9O1xyXG5cclxuICBjb25zdCBoYW5kbGVLZXlEb3duID0gKGUpID0+IHtcclxuICAgIGlmIChlLmtleSA9PT0gXCJFbnRlclwiICYmIHR5cGUgPT09IFwic2VhcmNoXCIpIHtcclxuICAgICAgY2xlYXJUaW1lb3V0KGRlYm91bmNlVGltZW91dCk7XHJcbiAgICAgIHNldElzSW5wdXRDaGFuZ2VkKHRydWUpO1xyXG4gICAgfVxyXG4gIH07XHJcblxyXG4gIGNvbnN0IGhhbmRsZUNvdW50cnlDb2RlQ2hhbmdlID0gKGUpID0+IHtcclxuICAgIHNldEN1cnJlbnRDb3VudHJ5Q29kZShlLnRhcmdldC52YWx1ZSk7XHJcbiAgICBpZiAob25DaGFuZ2UpXHJcbiAgICAgIG9uQ2hhbmdlKHsgdGFyZ2V0OiB7IHZhbHVlOiBgJHtlLnRhcmdldC52YWx1ZX0gJHtwaG9uZU51bWJlcn1gIH0gfSk7XHJcbiAgfTtcclxuXHJcbiAgY29uc3QgaGFuZGxlRmlsZUNoYW5nZSA9IChlKSA9PiB7XHJcbiAgICBjb25zdCBzZWxlY3RlZEZpbGVzID0gQXJyYXkuZnJvbShlLnRhcmdldC5maWxlcyk7XHJcbiAgICBjb25zdCB2YWxpZEZpbGVzID0gc2VsZWN0ZWRGaWxlcy5maWx0ZXIoKGZpbGUpID0+IHtcclxuICAgICAgY29uc3QgaXNWYWxpZFR5cGUgPSBmaWxlVHlwZXMubGVuZ3RoXHJcbiAgICAgICAgPyBmaWxlVHlwZXMuaW5jbHVkZXMoZmlsZS50eXBlKVxyXG4gICAgICAgIDogdHJ1ZTtcclxuICAgICAgY29uc3QgaXNWYWxpZFNpemUgPSBmaWxlLnNpemUgPD0gbWF4RmlsZVNpemU7XHJcbiAgICAgIHJldHVybiBpc1ZhbGlkVHlwZSAmJiBpc1ZhbGlkU2l6ZTtcclxuICAgIH0pO1xyXG5cclxuICAgIHNldEZpbGVzKHZhbGlkRmlsZXMpO1xyXG4gICAgaWYgKG9uQ2hhbmdlKSBvbkNoYW5nZSh7IHRhcmdldDogeyBmaWxlczogdmFsaWRGaWxlcyB9IH0pO1xyXG4gIH07XHJcblxyXG4gIGNvbnN0IGhhbmRsZUZpbGVSZW1vdmUgPSAoaW5kZXgpID0+IHtcclxuICAgIGNvbnN0IHVwZGF0ZWRGaWxlcyA9IFsuLi5maWxlc107XHJcbiAgICB1cGRhdGVkRmlsZXMuc3BsaWNlKGluZGV4LCAxKTtcclxuICAgIHNldEZpbGVzKHVwZGF0ZWRGaWxlcyk7XHJcbiAgICBpZiAob25DaGFuZ2UpIG9uQ2hhbmdlKHsgdGFyZ2V0OiB7IGZpbGVzOiB1cGRhdGVkRmlsZXMgfSB9KTtcclxuICB9O1xyXG4gIGNvbnN0IGlucHV0Q29udGFpbmVyQ2xhc3NlcyA9IGBcclxuICAgICR7c3R5bGVzLmlucHV0Q29udGFpbmVyMn0gXHJcbiAgICAke3N0eWxlc1t2YXJpYW50XX0gXHJcbiAgICAke3N0eWxlc1tzdGF0ZV19IFxyXG4gICAgJHtpc0hvdmVyZWQgPyBzdHlsZXMuaG92ZXIgOiBcIlwifSBcclxuICAgICR7aXNGb2N1c2VkID8gc3R5bGVzLmZvY3VzIDogXCJcIn1cclxuICAgICR7dmFyaWFudCA9PT0gXCJmbG9hdGluZ1wiID8gc3R5bGVzLmZsb2F0aW5nIDogXCJcIn1cclxuICAgICR7dmFyaWFudCA9PT0gXCJmaWxsZWRcIiA/IHN0eWxlcy5maWxsZWQgOiBcIlwifVxyXG4gICAgJHt2YXJpYW50ID09PSBcInVuZGVybGluZWRcIiA/IHN0eWxlcy51bmRlcmxpbmVkIDogXCJcIn1cclxuICAgICR7dmFyaWFudCA9PT0gXCJyb3VuZGVkXCIgPyBzdHlsZXMucm91bmRlZCA6IFwiXCJ9XHJcbiAgICAke2RhcmtNb2RlID8gc3R5bGVzLmRhcmtNb2RlIDogXCJcIn1cclxuICBgO1xyXG5cclxuICByZXR1cm4gKFxyXG4gICAgPGRpdiBjbGFzc05hbWU9e2Ake3N0eWxlcy5pbnB1dFdyYXBwZXJ9ICR7ZGFya01vZGUgPyBzdHlsZXMuZGFya01vZGUgOiBcIlwifWB9PlxyXG4gICAgICB7bGFiZWwgJiYgdmFyaWFudCAhPT0gXCJmbG9hdGluZ1wiICYmIChcclxuICAgICAgICA8bGFiZWwgaHRtbEZvcj17aWR9IGNsYXNzTmFtZT17c3R5bGVzLmxhYmVsfT5cclxuICAgICAgICAgIHtsYWJlbH1cclxuICAgICAgICA8L2xhYmVsPlxyXG4gICAgICApfVxyXG4gICAgICA8ZGl2IGNsYXNzTmFtZT17c3R5bGVzLmlucHV0Q29udGFpbmVyMX1cclxuICAgICAgIHN0eWxlPXtcclxuICAgICAgICB0eXBlID09PSBcInRleHRhcmVhXCJcclxuICAgICAgICAgID8ge1xyXG4gICAgICAgICAgICAgIGRpc3BsYXk6IFwiZmxleFwiLFxyXG4gICAgICAgICAgICAgIGZsZXhEaXJlY3Rpb246IFwiY29sdW1uXCIsXHJcbiAgICAgICAgICAgICAgYWxpZ25JdGVtczogXCJmbGV4LXN0YXJ0XCIsXHJcbiAgICAgICAgICAgICAgZ2FwOiBcIjAuNXJlbVwiLFxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICA6IHt9XHJcbiAgICAgIH0+XHJcbiAgICAgICAgPGRpdiBjbGFzc05hbWU9e2lucHV0Q29udGFpbmVyQ2xhc3Nlc31cclxuICAgICAgICAgb25Nb3VzZUVudGVyPXsoKSA9PiBzZXRJc0hvdmVyZWQodHJ1ZSl9XHJcbiAgICAgICAgIG9uTW91c2VMZWF2ZT17KCkgPT4gc2V0SXNIb3ZlcmVkKGZhbHNlKX0+XHJcbiAgICAgICAgICB7cHJlZml4ICYmIDxzcGFuIGNsYXNzTmFtZT17c3R5bGVzLnByZWZpeH0+e3ByZWZpeH08L3NwYW4+fVxyXG4gICAgICAgICAge2ljb24gJiYgPHNwYW4gY2xhc3NOYW1lPXtzdHlsZXMuaWNvbn0+e2ljb259PC9zcGFuPn1cclxuICAgICAgICAgIHtpc1RlbGVwaG9uZSA/IChcclxuICAgICAgICAgICAgPD5cclxuICAgICAgICAgICAgICA8c2VsZWN0XHJcbiAgICAgICAgICAgICAgICB2YWx1ZT17Y3VycmVudENvdW50cnlDb2RlfVxyXG4gICAgICAgICAgICAgICAgb25DaGFuZ2U9e2hhbmRsZUNvdW50cnlDb2RlQ2hhbmdlfVxyXG4gICAgICAgICAgICAgICAgY2xhc3NOYW1lPXtzdHlsZXMuY291bnRyeUNvZGV9XHJcbiAgICAgICAgICAgICAgPlxyXG4gICAgICAgICAgICAgICAgPG9wdGlvbiB2YWx1ZT1cIisxXCI+KzE8L29wdGlvbj5cclxuICAgICAgICAgICAgICAgIDxvcHRpb24gdmFsdWU9XCIrNDRcIj4rNDQ8L29wdGlvbj5cclxuICAgICAgICAgICAgICAgIDxvcHRpb24gdmFsdWU9XCIrOTFcIj4rOTE8L29wdGlvbj5cclxuICAgICAgICAgICAgICA8L3NlbGVjdD5cclxuICAgICAgICAgICAgICA8aW5wdXRcclxuICAgICAgICAgICAgICAgIHR5cGU9XCJ0ZWxcIlxyXG4gICAgICAgICAgICAgICAgaWQ9e2lkfVxyXG4gICAgICAgICAgICAgICAgcGxhY2Vob2xkZXI9e3ZhcmlhbnQgPT09IFwiZmxvYXRpbmdcIiA/IFwiIFwiIDogcGxhY2Vob2xkZXJ9XHJcbiAgICAgICAgICAgICAgICBhdXRvQ29tcGxldGU9e2F1dG9jb21wbGV0ZX1cclxuICAgICAgICAgICAgICAgIHZhbHVlPXtwaG9uZU51bWJlcn1cclxuICAgICAgICAgICAgICAgIG9uQ2hhbmdlPXtoYW5kbGVUZWxlcGhvbmVDaGFuZ2V9XHJcbiAgICAgICAgICAgICAgICBjbGFzc05hbWU9e3N0eWxlcy5pbnB1dEZpZWxkfVxyXG4gICAgICAgICAgICAgICAgb25Gb2N1cz17KCkgPT4gc2V0SXNGb2N1c2VkKHRydWUpfVxyXG4gICAgICAgICAgICAgICAgb25CbHVyPXsoKSA9PiBzZXRJc0ZvY3VzZWQoZmFsc2UpfVxyXG4gICAgICAgICAgICAgICAgcmVhZE9ubHk9e3N0YXRlID09PSBcInJlYWRPbmx5XCJ9XHJcbiAgICAgICAgICAgICAgICBkaXNhYmxlZD17c3RhdGUgPT09IFwiZGlzYWJsZWRcIn1cclxuICAgICAgICAgICAgICAgIGFyaWEtaW52YWxpZD17dmFsaWRhdGlvbk1lc3NhZ2VTdGF0dXMgPT09IFwiZXJyb3JcIn1cclxuICAgICAgICAgICAgICAgIGFyaWEtZGVzY3JpYmVkYnk9e3ZhbGlkYXRpb25NZXNzYWdlID8gYCR7aWR9LWVycm9yYCA6IHVuZGVmaW5lZH1cclxuICAgICAgICAgICAgICAgIGFyaWEtYnVzeT17c3RhdGUgPT09IFwibG9hZGluZ1wifVxyXG4gICAgICAgICAgICAgICAgYXJpYS1saXZlPVwicG9saXRlXCJcclxuICAgICAgICAgICAgICAgIG9uS2V5RG93bj17aGFuZGxlS2V5RG93bn1cclxuICAgICAgICAgICAgICAgIHsuLi5wcm9wc31cclxuICAgICAgICAgICAgICAvPlxyXG4gICAgICAgICAgICA8Lz5cclxuICAgICAgICAgICkgOiB0eXBlID09PSBcImZpbGVcIiA/IChcclxuICAgICAgICAgICAgPD5cclxuICAgICAgICAgICAgICA8aW5wdXRcclxuICAgICAgICAgICAgICAgIHR5cGU9XCJmaWxlXCJcclxuICAgICAgICAgICAgICAgIGlkPXtpZH1cclxuICAgICAgICAgICAgICAgIG11bHRpcGxlPXttdWx0aXBsZX1cclxuICAgICAgICAgICAgICAgIG9uQ2hhbmdlPXtoYW5kbGVGaWxlQ2hhbmdlfVxyXG4gICAgICAgICAgICAgICAgY2xhc3NOYW1lPXtzdHlsZXMuaW5wdXRGaWVsZH1cclxuICAgICAgICAgICAgICAgIGRpc2FibGVkPXtzdGF0ZSA9PT0gXCJkaXNhYmxlZFwifVxyXG4gICAgICAgICAgICAgICAgey4uLnByb3BzfVxyXG4gICAgICAgICAgICAgIC8+XHJcbiAgICAgICAgICAgICAge2ZpbGVzLmxlbmd0aCA+IDAgJiYgKFxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9e3N0eWxlcy5maWxlTGlzdH0+XHJcbiAgICAgICAgICAgICAgICAgIHtmaWxlcy5tYXAoKGZpbGUsIGluZGV4KSA9PiAoXHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBrZXk9e2luZGV4fSBjbGFzc05hbWU9e3N0eWxlcy5maWxlSXRlbX0+XHJcbiAgICAgICAgICAgICAgICAgICAgICB7ZmlsZS5uYW1lfSAoeyhmaWxlLnNpemUgLyAxMDI0KS50b0ZpeGVkKDIpfSBLQilcclxuICAgICAgICAgICAgICAgICAgICAgIDxidXR0b25cclxuICAgICAgICAgICAgICAgICAgICAgICAgdHlwZT1cImJ1dHRvblwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIG9uQ2xpY2s9eygpID0+IGhhbmRsZUZpbGVSZW1vdmUoaW5kZXgpfVxyXG4gICAgICAgICAgICAgICAgICAgICAgPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICBSZW1vdmVcclxuICAgICAgICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICApKX1cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICl9XHJcbiAgICAgICAgICAgIDwvPlxyXG4gICAgICAgICAgKSA6IHR5cGUgPT09IFwidGV4dGFyZWFcIiA/IChcclxuICAgICAgICAgICAgPHRleHRhcmVhXHJcbiAgICAgICAgICAgICAgcmVmPXt0ZXh0YXJlYVJlZn1cclxuICAgICAgICAgICAgICBpZD17aWR9XHJcbiAgICAgICAgICAgICAgcGxhY2Vob2xkZXI9e3ZhcmlhbnQgPT09IFwiZmxvYXRpbmdcIiA/IFwiIFwiIDogcGxhY2Vob2xkZXJ9XHJcbiAgICAgICAgICAgICAgYXV0b0NvbXBsZXRlPXthdXRvY29tcGxldGV9XHJcbiAgICAgICAgICAgICAgdmFsdWU9e3ZhbHVlfVxyXG4gICAgICAgICAgICAgIG9uQ2hhbmdlPXtcclxuICAgICAgICAgICAgICAgIGF1dG9zaXplQ29udHJvbGxlZCA/IGhhbmRsZVRleHRhcmVhQ2hhbmdlIDogaGFuZGxlSW5wdXRDaGFuZ2VcclxuICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgY2xhc3NOYW1lPXtzdHlsZXMuaW5wdXRGaWVsZH1cclxuICAgICAgICAgICAgICBvbkZvY3VzPXsoKSA9PiBzZXRJc0ZvY3VzZWQodHJ1ZSl9XHJcbiAgICAgICAgICAgICAgb25CbHVyPXsoKSA9PiBzZXRJc0ZvY3VzZWQoZmFsc2UpfVxyXG4gICAgICAgICAgICAgIHJlYWRPbmx5PXtzdGF0ZSA9PT0gXCJyZWFkT25seVwifVxyXG4gICAgICAgICAgICAgIGRpc2FibGVkPXtzdGF0ZSA9PT0gXCJkaXNhYmxlZFwifVxyXG4gICAgICAgICAgICAgIG9uS2V5RG93bj17aGFuZGxlS2V5RG93bn1cclxuICAgICAgICAgICAgICB7Li4ucHJvcHN9XHJcbiAgICAgICAgICAgIC8+XHJcbiAgICAgICAgICApIDogKFxyXG4gICAgICAgICAgICA8aW5wdXRcclxuICAgICAgICAgICAgICB0eXBlPXt0eXBlfVxyXG4gICAgICAgICAgICAgIGlkPXtpZH1cclxuICAgICAgICAgICAgICBwbGFjZWhvbGRlcj17dmFyaWFudCA9PT0gXCJmbG9hdGluZ1wiID8gXCIgXCIgOiBwbGFjZWhvbGRlcn1cclxuICAgICAgICAgICAgICBhdXRvQ29tcGxldGU9e2F1dG9jb21wbGV0ZX1cclxuICAgICAgICAgICAgICB2YWx1ZT17dmFsdWV9XHJcbiAgICAgICAgICAgICAgb25DaGFuZ2U9e2hhbmRsZUlucHV0Q2hhbmdlfVxyXG4gICAgICAgICAgICAgIGNsYXNzTmFtZT17c3R5bGVzLmlucHV0RmllbGR9XHJcbiAgICAgICAgICAgICAgb25Gb2N1cz17KCkgPT4gc2V0SXNGb2N1c2VkKHRydWUpfVxyXG4gICAgICAgICAgICAgIG9uQmx1cj17KCkgPT4gc2V0SXNGb2N1c2VkKGZhbHNlKX1cclxuICAgICAgICAgICAgICByZWFkT25seT17c3RhdGUgPT09IFwicmVhZE9ubHlcIn1cclxuICAgICAgICAgICAgICBkaXNhYmxlZD17c3RhdGUgPT09IFwiZGlzYWJsZWRcIn1cclxuICAgICAgICAgICAgICBvbktleURvd249e2hhbmRsZUtleURvd259XHJcbiAgICAgICAgICAgICAgey4uLnByb3BzfVxyXG4gICAgICAgICAgICAvPlxyXG4gICAgICAgICAgKX1cclxuICAgICAgICAgIHt2YXJpYW50ID09PSBcImZsb2F0aW5nXCIgJiYgKFxyXG4gICAgICAgICAgICA8bGFiZWwgaHRtbEZvcj17aWR9IGNsYXNzTmFtZT17c3R5bGVzLmZsb2F0aW5nTGFiZWx9PlxyXG4gICAgICAgICAgICAgIHtsYWJlbH1cclxuICAgICAgICAgICAgPC9sYWJlbD5cclxuICAgICAgICAgICl9XHJcbiAgICAgICAgICB7c3VmZml4ICYmIDxzcGFuIGNsYXNzTmFtZT17c3R5bGVzLnN1ZmZpeH0+e3N1ZmZpeH08L3NwYW4+fVxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICAgIHtjbGVhcmFibGUgJiYgKHZhbHVlIHx8IGZpbGVzLmxlbmd0aCA+IDApICYmIChcclxuICAgICAgICAgICAgPGJ1dHRvblxyXG4gICAgICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxyXG4gICAgICAgICAgICAgIGNsYXNzTmFtZT17c3R5bGVzLmNsZWFyQnV0dG9ufVxyXG4gICAgICAgICAgICAgIG9uQ2xpY2s9e2hhbmRsZUNsZWFyfVxyXG4gICAgICAgICAgICAgIHRhYkluZGV4PXswfVxyXG4gICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAgQ2xlYXJcclxuICAgICAgICAgICAgPC9idXR0b24+XHJcbiAgICAgICAgICApfVxyXG4gICAgICAgICAgeyhzdGF0ZSA9PT0gXCJsb2FkaW5nXCIgfHxcclxuICAgICAgICAgICAgKHR5cGUgPT09IFwic2VhcmNoXCIgJiZcclxuICAgICAgICAgICAgICB2YXJpYW50ICE9PSBcImZsb2F0aW5nXCIgJiZcclxuICAgICAgICAgICAgICBpc0lucHV0Q2hhbmdlZCkpICYmIChcclxuICAgICAgICAgICAgPHNwYW4gY2xhc3NOYW1lPXtzdHlsZXMubG9hZGVyfSBhcmlhLWxhYmVsPVwiTG9hZGluZy4uLlwiPjwvc3Bhbj5cclxuICAgICAgICAgICl9XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgICB7aGVscFRleHQgJiYgPHAgY2xhc3NOYW1lPXtzdHlsZXMuaGVscFRleHR9PntoZWxwVGV4dH08L3A+fVxyXG4gICAgICB7dmFsaWRhdGlvbk1lc3NhZ2UgJiYgKFxyXG4gICAgICAgIDxwXHJcbiAgICAgICAgICBjbGFzc05hbWU9e3N0eWxlcy52YWxpZGF0aW9uTWVzc2FnZX1cclxuICAgICAgICAgIHN0eWxlPXtcclxuICAgICAgICAgICAgdmFsaWRhdGlvbk1lc3NhZ2VTdGF0dXMgPT09IFwiZXJyb3JcIlxyXG4gICAgICAgICAgICAgID8geyBjb2xvcjogXCJyZWRcIiB9XHJcbiAgICAgICAgICAgICAgOiB2YWxpZGF0aW9uTWVzc2FnZVN0YXR1cyA9PT0gXCJ3YXJuaW5nXCJcclxuICAgICAgICAgICAgICA/IHsgY29sb3I6IFwib3JhbmdlXCIgfVxyXG4gICAgICAgICAgICAgIDogeyBjb2xvcjogXCJncmVlblwiIH1cclxuICAgICAgICAgIH1cclxuICAgICAgICA+XHJcbiAgICAgICAgICB7dmFsaWRhdGlvbk1lc3NhZ2V9XHJcbiAgICAgICAgPC9wPlxyXG4gICAgICApfVxyXG4gICAgICB7Y2hhcmFjdGVyTGltaXQgJiYgKFxyXG4gICAgICAgIDxwIGNsYXNzTmFtZT17c3R5bGVzLmNoYXJhY3RlckNvdW50fT5cclxuICAgICAgICAgIHtjaGFyYWN0ZXJDb3VudH0ve2NoYXJhY3RlckxpbWl0fVxyXG4gICAgICAgIDwvcD5cclxuICAgICAgKX1cclxuICAgIDwvZGl2PlxyXG4gICk7XHJcbn07XHJcblxyXG5JbnB1dC5wcm9wVHlwZXMgPSB7XHJcbiAgdHlwZTogUHJvcFR5cGVzLnN0cmluZyxcclxuICBpZDogUHJvcFR5cGVzLnN0cmluZy5pc1JlcXVpcmVkLFxyXG4gIGxhYmVsOiBQcm9wVHlwZXMuc3RyaW5nLFxyXG4gIHBsYWNlaG9sZGVyOiBQcm9wVHlwZXMuc3RyaW5nLFxyXG4gIGhlbHBUZXh0OiBQcm9wVHlwZXMuc3RyaW5nLFxyXG4gIGNsZWFyYWJsZTogUHJvcFR5cGVzLmJvb2wsXHJcbiAgdmFsaWRhdGlvbk1lc3NhZ2U6IFByb3BUeXBlcy5zdHJpbmcsXHJcbiAgdmFsaWRhdGlvbk1lc3NhZ2VTdGF0dXM6IFByb3BUeXBlcy5vbmVPZihbJ2Vycm9yJywgJ3dhcm5pbmcnLCAnc3VjY2VzcyddKSxcclxuICBjaGFyYWN0ZXJMaW1pdDogUHJvcFR5cGVzLm51bWJlcixcclxuICBwcmVmaXg6IFByb3BUeXBlcy5ub2RlLFxyXG4gIHN1ZmZpeDogUHJvcFR5cGVzLm5vZGUsXHJcbiAgYXV0b2NvbXBsZXRlOiBQcm9wVHlwZXMuc3RyaW5nLFxyXG4gIHZhcmlhbnQ6IFByb3BUeXBlcy5vbmVPZihbJ25vcm1hbCcsICdmbG9hdGluZycsICdvdXRsaW5lZCcsICdmaWxsZWQnLCAndW5kZXJsaW5lZCcsICdyb3VuZGVkJ10pLFxyXG4gIHN0YXRlOiBQcm9wVHlwZXMub25lT2YoWydkZWZhdWx0JywgJ2Rpc2FibGVkJywgJ3JlYWRPbmx5JywgJ2Vycm9yJywgJ3N1Y2Nlc3MnLCAnbG9hZGluZyddKSxcclxuICBvbkNoYW5nZTogUHJvcFR5cGVzLmZ1bmMsXHJcbiAgdmFsdWU6IFByb3BUeXBlcy5zdHJpbmcsXHJcbiAgYXV0b3NpemU6IFByb3BUeXBlcy5ib29sLFxyXG4gIGF1dG9zaXplQ29udHJvbGxlZDogUHJvcFR5cGVzLmJvb2wsXHJcbiAgZGVib3VuY2VEZWxheTogUHJvcFR5cGVzLm51bWJlcixcclxuICBpc1VSTDogUHJvcFR5cGVzLmJvb2wsXHJcbiAgaXNUZWxlcGhvbmU6IFByb3BUeXBlcy5ib29sLFxyXG4gIGNvdW50cnlDb2RlOiBQcm9wVHlwZXMuc3RyaW5nLFxyXG4gIGZpbGVUeXBlczogUHJvcFR5cGVzLmFycmF5T2YoUHJvcFR5cGVzLnN0cmluZyksXHJcbiAgbWF4RmlsZVNpemU6IFByb3BUeXBlcy5udW1iZXIsXHJcbiAgbXVsdGlwbGU6IFByb3BUeXBlcy5ib29sLFxyXG4gIGljb246IFByb3BUeXBlcy5ub2RlLFxyXG4gIGRhcmtNb2RlOiBQcm9wVHlwZXMuYm9vbCxcclxufTtcclxuXHJcbmV4cG9ydCBkZWZhdWx0IElucHV0OyJdLCJuYW1lcyI6WyJJbnB1dCIsInR5cGUiLCJpZCIsImxhYmVsIiwicGxhY2Vob2xkZXIiLCJoZWxwVGV4dCIsImNsZWFyYWJsZSIsInZhbGlkYXRpb25NZXNzYWdlIiwidmFsaWRhdGlvbk1lc3NhZ2VTdGF0dXMiLCJjaGFyYWN0ZXJMaW1pdCIsInByZWZpeCIsInN1ZmZpeCIsImF1dG9jb21wbGV0ZSIsInZhcmlhbnQiLCJzdGF0ZSIsIm9uQ2hhbmdlIiwidmFsdWUiLCJhdXRvc2l6ZSIsImF1dG9zaXplQ29udHJvbGxlZCIsImRlYm91bmNlRGVsYXkiLCJpc1VSTCIsImlzVGVsZXBob25lIiwiY291bnRyeUNvZGUiLCJmaWxlVHlwZXMiLCJtYXhGaWxlU2l6ZSIsIm11bHRpcGxlIiwiaWNvbiIsImRhcmtNb2RlIiwicHJvcHMiLCJpc0hvdmVyZWQiLCJzZXRJc0hvdmVyZWQiLCJ1c2VTdGF0ZSIsImlzRm9jdXNlZCIsInNldElzRm9jdXNlZCIsImlzSW5wdXRDaGFuZ2VkIiwic2V0SXNJbnB1dENoYW5nZWQiLCJkZWJvdW5jZVRpbWVvdXQiLCJzZXREZWJvdW5jZVRpbWVvdXQiLCJjdXJyZW50Q291bnRyeUNvZGUiLCJzZXRDdXJyZW50Q291bnRyeUNvZGUiLCJwaG9uZU51bWJlciIsInNldFBob25lTnVtYmVyIiwic3BsaXQiLCJmaWxlcyIsInNldEZpbGVzIiwidGV4dGFyZWFSZWYiLCJ1c2VSZWYiLCJjaGFyYWN0ZXJDb3VudCIsInNldENoYXJhY3RlckNvdW50IiwibGVuZ3RoIiwidXNlRWZmZWN0IiwiY3VycmVudCIsInN0eWxlIiwiaGVpZ2h0Iiwic2Nyb2xsSGVpZ2h0IiwiaGFuZGxlSW5wdXRDaGFuZ2UiLCJlIiwibmV3VmFsdWUiLCJ0YXJnZXQiLCJ1cmwiLCJ0cmltIiwidGVzdCIsInNsaWNlIiwiY2xlYXJUaW1lb3V0IiwidGltZW91dCIsInNldFRpbWVvdXQiLCJoYW5kbGVLZXlEb3duIiwia2V5IiwiaW5wdXRDb250YWluZXJDbGFzc2VzIiwic3R5bGVzIiwiaW5wdXRDb250YWluZXIyIiwiaG92ZXIiLCJmb2N1cyIsImZsb2F0aW5nIiwiZmlsbGVkIiwidW5kZXJsaW5lZCIsInJvdW5kZWQiLCJSZWFjdCIsImNyZWF0ZUVsZW1lbnQiLCJjbGFzc05hbWUiLCJpbnB1dFdyYXBwZXIiLCJodG1sRm9yIiwiaW5wdXRDb250YWluZXIxIiwiZGlzcGxheSIsImZsZXhEaXJlY3Rpb24iLCJhbGlnbkl0ZW1zIiwiZ2FwIiwib25Nb3VzZUVudGVyIiwib25Nb3VzZUxlYXZlIiwiRnJhZ21lbnQiLCJfZXh0ZW5kcyIsImF1dG9Db21wbGV0ZSIsIm5ld1Bob25lTnVtYmVyIiwicmVwbGFjZSIsImlucHV0RmllbGQiLCJvbkZvY3VzIiwib25CbHVyIiwicmVhZE9ubHkiLCJkaXNhYmxlZCIsInVuZGVmaW5lZCIsIm9uS2V5RG93biIsInZhbGlkRmlsZXMiLCJBcnJheSIsImZyb20iLCJmaWx0ZXIiLCJmaWxlIiwiaXNWYWxpZFR5cGUiLCJpbmNsdWRlcyIsImlzVmFsaWRTaXplIiwic2l6ZSIsImZpbGVMaXN0IiwibWFwIiwiaW5kZXgiLCJmaWxlSXRlbSIsIm5hbWUiLCJ0b0ZpeGVkIiwib25DbGljayIsInVwZGF0ZWRGaWxlcyIsInNwbGljZSIsImhhbmRsZUZpbGVSZW1vdmUiLCJyZWYiLCJmbG9hdGluZ0xhYmVsIiwiY2xlYXJCdXR0b24iLCJoYW5kbGVDbGVhciIsInRhYkluZGV4IiwibG9hZGVyIiwiY29sb3IiLCJwcm9wVHlwZXMiLCJQcm9wVHlwZXMiLCJzdHJpbmciLCJpc1JlcXVpcmVkIiwiYm9vbCIsIm9uZU9mIiwibnVtYmVyIiwi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