UNPKG

mindstream-react-gravity-form

Version:

A component for including Gravity Forms on React apps via the Wordpress API

2 lines 19.7 kB
"use strict";function _typeof(a){"@babel/helpers - typeof";return _typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(a){return typeof a}:function(a){return a&&"function"==typeof Symbol&&a.constructor===Symbol&&a!==Symbol.prototype?"symbol":typeof a},_typeof(a)}Object.defineProperty(exports,"__esModule",{value:!0}),exports["default"]=void 0;var _react=_interopRequireWildcard(require("react")),_RenderField=_interopRequireDefault(require("./RenderField"));function _interopRequireDefault(a){return a&&a.__esModule?a:{default:a}}function _getRequireWildcardCache(){if("function"!=typeof WeakMap)return null;var a=new WeakMap;return _getRequireWildcardCache=function(){return a},a}function _interopRequireWildcard(a){if(a&&a.__esModule)return a;if(null===a||"object"!==_typeof(a)&&"function"!=typeof a)return{default:a};var b=_getRequireWildcardCache();if(b&&b.has(a))return b.get(a);var c={},d=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var e in a)if(Object.prototype.hasOwnProperty.call(a,e)){var f=d?Object.getOwnPropertyDescriptor(a,e):null;f&&(f.get||f.set)?Object.defineProperty(c,e,f):c[e]=a[e]}return c["default"]=a,b&&b.set(a,c),c}function _slicedToArray(a,b){return _arrayWithHoles(a)||_iterableToArrayLimit(a,b)||_unsupportedIterableToArray(a,b)||_nonIterableRest()}function _nonIterableRest(){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 _unsupportedIterableToArray(a,b){if(a){if("string"==typeof a)return _arrayLikeToArray(a,b);var c=Object.prototype.toString.call(a).slice(8,-1);return"Object"===c&&a.constructor&&(c=a.constructor.name),"Map"===c||"Set"===c?Array.from(a):"Arguments"===c||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(c)?_arrayLikeToArray(a,b):void 0}}function _arrayLikeToArray(a,b){(null==b||b>a.length)&&(b=a.length);for(var c=0,d=Array(b);c<b;c++)d[c]=a[c];return d}function _iterableToArrayLimit(a,b){if("undefined"!=typeof Symbol&&Symbol.iterator in Object(a)){var c=[],d=!0,e=!1,f=void 0;try{for(var g,h=a[Symbol.iterator]();!(d=(g=h.next()).done)&&(c.push(g.value),!(b&&c.length===b));d=!0);}catch(a){e=!0,f=a}finally{try{d||null==h["return"]||h["return"]()}finally{if(e)throw f}}return c}}function _arrayWithHoles(a){if(Array.isArray(a))return a}var divideFieldsIntoPages=function(a,b){for(var c,d=b.map(function(){return[]}),e=0;e<a.length;e++)c=d[a[e].pageNumber],d[a[e].pageNumber-1]&&("page"===a[e].type?d[a[e].pageNumber-2].push(a[e]):d[a[e].pageNumber-1].push(a[e]));return d},getMaxFieldId=function(a){for(var b=0,c=0;c<a.length;c++)parseInt(a[c].id)>b&&(b=parseInt(a[c].id));return b+1},fieldTypes=["checkbox","email","hidden","html","number","phone","radio","select","multiselect","text","textarea","website","page","date","fileupload","consent","password","section","scustom","name","address","buckarooideal","postcode"],honeyPotLables=["Name","Email","Phone","Comments"],honeypotLabel=honeyPotLables[Math.floor(Math.random()*Math.floor(4))],_default=function(a){function b(a){return _react["default"].createElement(_RenderField["default"],{key:"".concat(a.formId,"-").concat(a.id),field:a,formValues:d,submitFailed:f,setTouched:i,setErrorMessages:j,submitSuccess:g,updateForm:e,touched:h,pages:k&&k.pages.length,prevStep:m,nextStep:n,isNextDisabled:o,checkConditionalLogic:p,saveStateToHtmlField:q,styledComponents:s,customComponents:t,error:!!(v&&v[a.id])&&v[a.id],unsetError:u,dropzoneText:w,language:y,apiKeys:z})}var c=a.fields,d=a.formValues,e=a.updateForm,f=a.submitFailed,g=a.submitSuccess,h=a.touched,i=a.setTouched,j=a.setErrorMessages,k=a.pagination,l=a.activePage,m=a.prevStep,n=a.nextStep,o=a.isNextDisabled,p=a.checkConditionalLogic,q=a.saveStateToHtmlField,r=a.enableHoneypot,s=a.styledComponents,t=a.customComponents,u=a.unsetError,v=a.errors,w=a.dropzoneText,x=a.pageClicked,y=a.language,z=a.apiKeys,A=k?divideFieldsIntoPages(c,k.pages):void 0,B=getMaxFieldId(c),C=(0,_react.useState)(""),D=_slicedToArray(C,2),E=D[0],F=D[1],G=(0,_react.useRef)();(0,_react.useEffect)(function(){G.current=l});var H=G.current;return _react["default"].createElement("div",{className:"form-fields".concat(k&&1<k.pages.length?" hasPages ".concat(x?"":" noPageClicked"):"")},k&&1<k.pages.length?k.pages.map(function(a,c){return _react["default"].createElement("div",{className:"page".concat(l===c+1?" active":"").concat(H&&c===H&&l!==c+1&&H!==l?" prevStep":""),key:"page-".concat(c)},a&&_react["default"].createElement("div",{className:"gf_step"},_react["default"].createElement("span",null,a)),A[c].map(function(a){return fieldTypes.includes(a.type)&&b(a)}))}):c.map(function(a){return fieldTypes.includes(a.type)&&b(a)}),r&&_react["default"].createElement("div",{className:"form-field gform_validation_container"},_react["default"].createElement("label",{htmlFor:"input_".concat(B),className:"gf-label "},honeypotLabel),_react["default"].createElement("input",{type:"text",name:"input_".concat(B),id:"input_".concat(B),value:E,onChange:function onChange(a){return F(a.target.value)},autoComplete:"off"})))};exports["default"]=_default; //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9Gb3JtRWxlbWVudHMvUmVuZGVyRmllbGRzLmpzeCJdLCJuYW1lcyI6WyJkaXZpZGVGaWVsZHNJbnRvUGFnZXMiLCJmaWVsZHMiLCJwYWdlcyIsImFyciIsInRtcEZpZWxkcyIsIm1hcCIsImkiLCJsZW5ndGgiLCJwYWdlTnVtYmVyIiwidHlwZSIsInB1c2giLCJnZXRNYXhGaWVsZElkIiwibWF4IiwicGFyc2VJbnQiLCJpZCIsImZpZWxkVHlwZXMiLCJob25leVBvdExhYmxlcyIsImhvbmV5cG90TGFiZWwiLCJNYXRoIiwiZmxvb3IiLCJyYW5kb20iLCJwcm9wcyIsInJlbmRlckZpbGVkIiwiZmllbGQiLCJmb3JtSWQiLCJmb3JtVmFsdWVzIiwic3VibWl0RmFpbGVkIiwic2V0VG91Y2hlZCIsInNldEVycm9yTWVzc2FnZXMiLCJzdWJtaXRTdWNjZXNzIiwidXBkYXRlRm9ybSIsInRvdWNoZWQiLCJwYWdpbmF0aW9uIiwicHJldlN0ZXAiLCJuZXh0U3RlcCIsImlzTmV4dERpc2FibGVkIiwiY2hlY2tDb25kaXRpb25hbExvZ2ljIiwic2F2ZVN0YXRlVG9IdG1sRmllbGQiLCJzdHlsZWRDb21wb25lbnRzIiwiY3VzdG9tQ29tcG9uZW50cyIsImVycm9ycyIsInVuc2V0RXJyb3IiLCJkcm9wem9uZVRleHQiLCJsYW5ndWFnZSIsImFwaUtleXMiLCJhY3RpdmVQYWdlIiwiZW5hYmxlSG9uZXlwb3QiLCJwYWdlQ2xpY2tlZCIsImRpdmlkZWRGaWVsZHMiLCJtYXhJRCIsImhvbmV5cG90VmFsdWUiLCJzZXRIb25leXBvdFZhbHVlIiwicHJldlN0ZXB0UmVmIiwiY3VycmVudCIsInByZXZDb3VudCIsInBhZ2UiLCJpbmRleCIsImluY2x1ZGVzIiwiZSIsInRhcmdldCIsInZhbHVlIl0sIm1hcHBpbmdzIjoicXpFQUdNQSxDQUFBQSxxQkFBcUIsQ0FBRyxTQUFDQyxDQUFELENBQVNDLENBQVQsQ0FBbUIsQ0FHL0MsT0FDUUMsQ0FBQUEsQ0FEUixD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WCxDQUZOLENBR0UsRUFBRSxpQkFBV0EsQ0FBWCxDQUhKLENBSUUsS0FBSyxDQUFFQyxDQUpULENBS0UsUUFBUSxDQUFFLGtCQUFDUSxDQUFELFFBQU9QLENBQUFBLENBQWdCLENBQUNPLENBQUMsQ0FBQ0MsTUFBRixDQUFTQyxLQUFWLENBQXZCLENBTFosQ0FNRSxZQUFZLENBQUMsS0FOZixFQUpGLENBbENKLENBa0RILEMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QsIHsgdXNlU3RhdGUsIHVzZVJlZiwgdXNlRWZmZWN0IH0gZnJvbSBcInJlYWN0XCI7XHJcbmltcG9ydCBSZW5kZXJGaWVsZCBmcm9tIFwiLi9SZW5kZXJGaWVsZFwiO1xyXG5cclxuY29uc3QgZGl2aWRlRmllbGRzSW50b1BhZ2VzID0gKGZpZWxkcywgcGFnZXMpID0+IHtcclxuICBjb25zdCB0bXBGaWVsZHMgPSBwYWdlcy5tYXAoKGl0ZW0pID0+IFtdKTtcclxuXHJcbiAgZm9yIChsZXQgaSA9IDA7IGkgPCBmaWVsZHMubGVuZ3RoOyBpKyspIHtcclxuICAgIGNvbnN0IGFyciA9IHRtcEZpZWxkc1tmaWVsZHNbaV0ucGFnZU51bWJlcl07XHJcbiAgICBpZiAodG1wRmllbGRzW2ZpZWxkc1tpXS5wYWdlTnVtYmVyIC0gMV0pIHtcclxuICAgICAgLy8gbW92ZSBwYWdlIGZpZWxkIHRvIHRoZSBmaXJzdCBncm91cFxyXG4gICAgICBpZiAoZmllbGRzW2ldLnR5cGUgPT09IFwicGFnZVwiKSB7XHJcbiAgICAgICAgdG1wRmllbGRzW2ZpZWxkc1tpXS5wYWdlTnVtYmVyIC0gMl0ucHVzaChmaWVsZHNbaV0pO1xyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIHRtcEZpZWxkc1tmaWVsZHNbaV0ucGFnZU51bWJlciAtIDFdLnB1c2goZmllbGRzW2ldKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuICByZXR1cm4gdG1wRmllbGRzO1xyXG59O1xyXG5cclxuY29uc3QgZ2V0TWF4RmllbGRJZCA9IChmaWVsZHMpID0+IHtcclxuICBsZXQgbWF4ID0gMDtcclxuICBmb3IgKGxldCBpID0gMDsgaSA8IGZpZWxkcy5sZW5ndGg7IGkrKykge1xyXG4gICAgaWYgKHBhcnNlSW50KGZpZWxkc1tpXS5pZCkgPiBtYXgpIHtcclxuICAgICAgbWF4ID0gcGFyc2VJbnQoZmllbGRzW2ldLmlkKTtcclxuICAgIH1cclxuICB9XHJcbiAgcmV0dXJuIG1heCArIDE7XHJcbn07XHJcblxyXG5jb25zdCBmaWVsZFR5cGVzID0gW1xyXG4gIFwiY2hlY2tib3hcIixcclxuICBcImVtYWlsXCIsXHJcbiAgXCJoaWRkZW5cIixcclxuICBcImh0bWxcIixcclxuICBcIm51bWJlclwiLFxyXG4gIFwicGhvbmVcIixcclxuICBcInJhZGlvXCIsXHJcbiAgXCJzZWxlY3RcIixcclxuICBcIm11bHRpc2VsZWN0XCIsXHJcbiAgXCJ0ZXh0XCIsXHJcbiAgXCJ0ZXh0YXJlYVwiLFxyXG4gIFwid2Vic2l0ZVwiLFxyXG4gIFwicGFnZVwiLFxyXG4gIFwiZGF0ZVwiLFxyXG4gIFwiZmlsZXVwbG9hZFwiLFxyXG4gIFwiY29uc2VudFwiLFxyXG4gIFwicGFzc3dvcmRcIixcclxuICBcInNlY3Rpb25cIixcclxuICBcInNjdXN0b21cIixcclxuICBcIm5hbWVcIixcclxuICBcImFkZHJlc3NcIixcclxuICBcImJ1Y2thcm9vaWRlYWxcIixcclxuICBcInBvc3Rjb2RlXCIsXHJcbl07XHJcblxyXG5jb25zdCBob25leVBvdExhYmxlcyA9IFtcIk5hbWVcIiwgXCJFbWFpbFwiLCBcIlBob25lXCIsIFwiQ29tbWVudHNcIl07XHJcbmNvbnN0IGhvbmV5cG90TGFiZWwgPSBob25leVBvdExhYmxlc1tNYXRoLmZsb29yKE1hdGgucmFuZG9tKCkgKiBNYXRoLmZsb29yKDQpKV07XHJcblxyXG5leHBvcnQgZGVmYXVsdCAocHJvcHMpID0+IHtcclxuICBjb25zdCB7XHJcbiAgICBmaWVsZHMsXHJcbiAgICBmb3JtVmFsdWVzLFxyXG4gICAgdXBkYXRlRm9ybSxcclxuICAgIHN1Ym1pdEZhaWxlZCxcclxuICAgIHN1Ym1pdFN1Y2Nlc3MsXHJcbiAgICB0b3VjaGVkLFxyXG4gICAgc2V0VG91Y2hlZCxcclxuICAgIHNldEVycm9yTWVzc2FnZXMsXHJcbiAgICBwYWdpbmF0aW9uLFxyXG4gICAgYWN0aXZlUGFnZSxcclxuICAgIHByZXZTdGVwLFxyXG4gICAgbmV4dFN0ZXAsXHJcbiAgICBpc05leHREaXNhYmxlZCxcclxuICAgIGNoZWNrQ29uZGl0aW9uYWxMb2dpYyxcclxuICAgIHNhdmVTdGF0ZVRvSHRtbEZpZWxkLFxyXG4gICAgZW5hYmxlSG9uZXlwb3QsXHJcbiAgICBzdHlsZWRDb21wb25lbnRzLFxyXG4gICAgY3VzdG9tQ29tcG9uZW50cyxcclxuICAgIHVuc2V0RXJyb3IsXHJcbiAgICBlcnJvcnMsXHJcbiAgICBkcm9wem9uZVRleHQsXHJcbiAgICBwYWdlQ2xpY2tlZCxcclxuICAgIGxhbmd1YWdlLFxyXG4gICAgYXBpS2V5cyxcclxuICB9ID0gcHJvcHM7XHJcblxyXG4gIC8vIGdldCBwYWdlIGluZGV4ZXNcclxuICBjb25zdCBkaXZpZGVkRmllbGRzID0gcGFnaW5hdGlvblxyXG4gICAgPyBkaXZpZGVGaWVsZHNJbnRvUGFnZXMoZmllbGRzLCBwYWdpbmF0aW9uLnBhZ2VzKVxyXG4gICAgOiB1bmRlZmluZWQ7XHJcbiAgY29uc3QgbWF4SUQgPSBnZXRNYXhGaWVsZElkKGZpZWxkcyk7XHJcbiAgY29uc3QgW2hvbmV5cG90VmFsdWUsIHNldEhvbmV5cG90VmFsdWVdID0gdXNlU3RhdGUoXCJcIik7XHJcblxyXG4gIGNvbnN0IHByZXZTdGVwdFJlZiA9IHVzZVJlZigpO1xyXG4gIHVzZUVmZmVjdCgoKSA9PiB7XHJcbiAgICBwcmV2U3RlcHRSZWYuY3VycmVudCA9IGFjdGl2ZVBhZ2U7XHJcbiAgfSk7XHJcbiAgY29uc3QgcHJldkNvdW50ID0gcHJldlN0ZXB0UmVmLmN1cnJlbnQ7XHJcblxyXG4gIGZ1bmN0aW9uIHJlbmRlckZpbGVkKGZpZWxkKSB7XHJcbiAgICByZXR1cm4gKFxyXG4gICAgICA8UmVuZGVyRmllbGRcclxuICAgICAgICBrZXk9e2Ake2ZpZWxkLmZvcm1JZH0tJHtmaWVsZC5pZH1gfVxyXG4gICAgICAgIGZpZWxkPXtmaWVsZH1cclxuICAgICAgICBmb3JtVmFsdWVzPXtmb3JtVmFsdWVzfVxyXG4gICAgICAgIHN1Ym1pdEZhaWxlZD17c3VibWl0RmFpbGVkfVxyXG4gICAgICAgIHNldFRvdWNoZWQ9e3NldFRvdWNoZWR9XHJcbiAgICAgICAgc2V0RXJyb3JNZXNzYWdlcz17c2V0RXJyb3JNZXNzYWdlc31cclxuICAgICAgICBzdWJtaXRTdWNjZXNzPXtzdWJtaXRTdWNjZXNzfVxyXG4gICAgICAgIHVwZGF0ZUZvcm09e3VwZGF0ZUZvcm19XHJcbiAgICAgICAgdG91Y2hlZD17dG91Y2hlZH1cclxuICAgICAgICBwYWdlcz17cGFnaW5hdGlvbiAmJiBwYWdpbmF0aW9uLnBhZ2VzLmxlbmd0aH1cclxuICAgICAgICBwcmV2U3RlcD17cHJldlN0ZXB9XHJcbiAgICAgICAgbmV4dFN0ZXA9e25leHRTdGVwfVxyXG4gICAgICAgIGlzTmV4dERpc2FibGVkPXtpc05leHREaXNhYmxlZH1cclxuICAgICAgICBjaGVja0NvbmRpdGlvbmFsTG9naWM9e2NoZWNrQ29uZGl0aW9uYWxMb2dpY31cclxuICAgICAgICBzYXZlU3RhdGVUb0h0bWxGaWVsZD17c2F2ZVN0YXRlVG9IdG1sRmllbGR9XHJcbiAgICAgICAgc3R5bGVkQ29tcG9uZW50cz17c3R5bGVkQ29tcG9uZW50c31cclxuICAgICAgICBjdXN0b21Db21wb25lbnRzPXtjdXN0b21Db21wb25lbnRzfVxyXG4gICAgICAgIGVycm9yPXtlcnJvcnMgJiYgZXJyb3JzW2ZpZWxkLmlkXSA/IGVycm9yc1tmaWVsZC5pZF0gOiBmYWxzZX1cclxuICAgICAgICB1bnNldEVycm9yPXt1bnNldEVycm9yfVxyXG4gICAgICAgIGRyb3B6b25lVGV4dD17ZHJvcHpvbmVUZXh0fVxyXG4gICAgICAgIGxhbmd1YWdlPXtsYW5ndWFnZX1cclxuICAgICAgICBhcGlLZXlzPXthcGlLZXlzfVxyXG4gICAgICAvPlxyXG4gICAgKTtcclxuICB9XHJcblxyXG4gIHJldHVybiAoXHJcbiAgICA8ZGl2XHJcbiAgICAgIGNsYXNzTmFtZT17YGZvcm0tZmllbGRzJHtcclxuICAgICAgICBwYWdpbmF0aW9uICYmIHBhZ2luYXRpb24ucGFnZXMubGVuZ3RoID4gMVxyXG4gICAgICAgICAgPyBgIGhhc1BhZ2VzICR7IXBhZ2VDbGlja2VkID8gXCIgbm9QYWdlQ2xpY2tlZFwiIDogXCJcIn1gXHJcbiAgICAgICAgICA6IFwiXCJcclxuICAgICAgfWB9XHJcbiAgICA+XHJcbiAgICAgIHtwYWdpbmF0aW9uICYmIHBhZ2luYXRpb24ucGFnZXMubGVuZ3RoID4gMVxyXG4gICAgICAgID8gcGFnaW5hdGlvbi5wYWdlcy5tYXAoKHBhZ2UsIGluZGV4KSA9PiAoXHJcbiAgICAgICAgICAgIDxkaXZcclxuICAgICAgICAgICAgICBjbGFzc05hbWU9e2BwYWdlJHthY3RpdmVQYWdlID09PSBpbmRleCArIDEgPyBcIiBhY3RpdmVcIiA6IFwiXCJ9JHtcclxuICAgICAgICAgICAgICAgIHByZXZDb3VudCAmJlxyXG4gICAgICAgICAgICAgICAgaW5kZXggPT09IHByZXZDb3VudCAmJlxyXG4gICAgICAgICAgICAgICAgYWN0aXZlUGFnZSAhPT0gaW5kZXggKyAxICYmXHJcbiAgICAgICAgICAgICAgICBwcmV2Q291bnQgIT09IGFjdGl2ZVBhZ2VcclxuICAgICAgICAgICAgICAgICAgPyBcIiBwcmV2U3RlcFwiXHJcbiAgICAgICAgICAgICAgICAgIDogXCJcIlxyXG4gICAgICAgICAgICAgIH1gfVxyXG4gICAgICAgICAgICAgIGtleT17YHBhZ2UtJHtpbmRleH1gfVxyXG4gICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAge3BhZ2UgJiYgKFxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJnZl9zdGVwXCI+XHJcbiAgICAgICAgICAgICAgICAgIDxzcGFuPntwYWdlfTwvc3Bhbj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICl9XHJcbiAgICAgICAgICAgICAge2RpdmlkZWRGaWVsZHNbaW5kZXhdLm1hcChcclxuICAgICAgICAgICAgICAgIChmaWVsZCkgPT4gZmllbGRUeXBlcy5pbmNsdWRlcyhmaWVsZC50eXBlKSAmJiByZW5kZXJGaWxlZChmaWVsZClcclxuICAgICAgICAgICAgICApfVxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICkpXHJcbiAgICAgICAgOiBmaWVsZHMubWFwKFxyXG4gICAgICAgICAgICAoZmllbGQpID0+IGZpZWxkVHlwZXMuaW5jbHVkZXMoZmllbGQudHlwZSkgJiYgcmVuZGVyRmlsZWQoZmllbGQpXHJcbiAgICAgICAgICApfVxyXG4gICAgICB7ZW5hYmxlSG9uZXlwb3QgJiYgKFxyXG4gICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiZm9ybS1maWVsZCBnZm9ybV92YWxpZGF0aW9uX2NvbnRhaW5lclwiPlxyXG4gICAgICAgICAgPGxhYmVsIGh0bWxGb3I9e2BpbnB1dF8ke21heElEfWB9IGNsYXNzTmFtZT1cImdmLWxhYmVsIFwiPlxyXG4gICAgICAgICAgICB7aG9uZXlwb3RMYWJlbH1cclxuICAgICAgICAgIDwvbGFiZWw+XHJcbiAgICAgICAgICA8aW5wdXRcclxuICAgICAgICAgICAgdHlwZT1cInRleHRcIlxyXG4gICAgICAgICAgICBuYW1lPXtgaW5wdXRfJHttYXhJRH1gfVxyXG4gICAgICAgICAgICBpZD17YGlucHV0XyR7bWF4SUR9YH1cclxuICAgICAgICAgICAgdmFsdWU9e2hvbmV5cG90VmFsdWV9XHJcbiAgICAgICAgICAgIG9uQ2hhbmdlPXsoZSkgPT4gc2V0SG9uZXlwb3RWYWx1ZShlLnRhcmdldC52YWx1ZSl9XHJcbiAgICAgICAgICAgIGF1dG9Db21wbGV0ZT1cIm9mZlwiXHJcbiAgICAgICAgICAvPlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICApfVxyXG4gICAgPC9kaXY+XHJcbiAgKTtcclxufTtcclxuIl19